Difference between revisions of "Plugin channels"

From wiki.vg
Jump to navigation Jump to search
Line 20: Line 20:
  
 
Remote texture packs.
 
Remote texture packs.
 +
This contains a string representing the url to get the texture pack from, followed by null (\0000) and then '16'.
  
 
===  <code>MC|TrList</code> ===
 
===  <code>MC|TrList</code> ===

Revision as of 17:59, 18 August 2012

Plugin channels are implemented using packet 0xFA, allowing client mods and server plugins to communicate without cluttering up chat. This post by Dinnerbone is a good introduction and basic documentation.

Channels internal to Minecraft

As of 1.3, Minecraft itself started using plugin channels to implement new features. These internal channel names are prefixed by MC|.

MC|BEdit

Client to server

When a player edits an unsigned book.

This payload is simply a set of bytes corresponding to an ItemStack. It is serialized / deserialized exactly the same as itemstacks in packets.

MC|BSign

Client to server

When a player signs a book. This payload is simply a set of bytes corresponding to an ItemStack. It is serialized / deserialized exactly the same as itemstacks in packets.

MC|TPack

Two-Way

Remote texture packs. This contains a string representing the url to get the texture pack from, followed by null (\0000) and then '16'.

MC|TrList

Two-Way

The list of trades a villager NPC is offering.

MC|TrSel

Client to server

When a player selects a specific trade offered by a villager NPC. It contains a single int id corresponding to the selected slot int the players current (trading) inventory.

Notable community plugin channels

Channels listed in this section are not Mojang-sanctioned. This is just a likely-incomplete list of channels used by mods/plugins popular within the Minecraft community.