Is there anywhere on the internet where I can find the different packets and what they do? For example, Packet Name: PacketPlayOutSpawnEntity, Description: Spawns an entity (Possibly). I don't want to use another plugin (e.g. ProtocolLib) to create the packets.. I want to be able to create them myself.
Here's a good resource for packet info: http://wiki.vg/Protocol You can also open up ProtocolLib's source code to see what packets it has.
http://wiki.vg/Protocol is most likely the best place you will get info about packets. For tutorials on how to use them, check out the Resources section. I've made a small tutorial on changing the player name tags (http://forums.bukkit.org/threads/tutorial-packet-tutorials.235416/)