Plugin channel: Difference between revisions

From wiki.vg
Jump to navigation Jump to search
imported>Benc
(add Forge ModLoader channel)
imported>Pokechu22
(Pokechu22 moved page Plugin channel to Plugin channels over redirect: I really prefer the plural form; it's much easier to use and works better for subpages.)
 
(14 intermediate revisions by 3 users not shown)
Line 1: Line 1:
'''Plugin channels''' are implemented using [[Protocol#0xFA|packet 0xFA]], allowing client mods and server plugins to communicate without cluttering up chat. [http://dinnerbone.com/blog/2012/01/13/minecraft-plugin-channels-messaging/ This post by Dinnerbone] is a good introduction and basic documentation.
#REDIRECT [[Plugin channels]]
{{anchor|Internal}}
== Reserved channels ==
=== <code>REGISTER</code> ===
''Two-way''
 
Allows the client to register for one or more custom channels, indicating that the server should send data on those channels if the appropriate plugin is installed. Payload is a null (\00) separated list of strings.
 
=== <code>UNREGISTER</code> ===
''Two-way''
 
Allows the client to unregister from one or more custom channels, indicating that the server should stop sending data on those channels. Payload is a null-separated list of strings.
 
== 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 <code>MC|</code>. They are not formally registered using the REGISTER channel. The vanilla Minecraft server will send these packets regardless, and the vanilla client will accept them.
 
=== <code>MC|AdvCdm</code> ===
''Two-way''
 
Adventure mode command block. Three integers for the x/y/z block coordinates, followed by a string: the command the block should run.
 
=== <code>MC|Beacon</code> ===
''Client to server''
 
Two integers corresponding to the 2 effects a user wishes to have active.
 
=== <code>MC|BEdit</code> ===
''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.
 
=== <code>MC|BSign</code> ===
''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.
 
=== <code>MC|ItemName</code> ===
''Two-way''
 
When a player uses an anvil to name an item. The payload is just a string: the item's new name.
 
=== <code>MC|TPack</code> ===
''Server to client''
 
Remote texture packs.
This contains a string representing the url to get the texture pack from, followed by null (\00) and then '16', all in ASCII.
 
===  <code>MC|TrList</code> ===
''Server to client''
 
The list of trades a villager NPC is offering.
 
=== <code>MC|TrSel</code> ===
''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.
 
=== <code>FML</code> ===
''Two-way''
 
Used by [http://www.minecraftforge.net/forum/index.php Forge] ModLoader to negotiate required mods, among other things. [https://github.com/cpw/FML/blob/master/common/cpw/mods/fml/common/network/FMLNetworkHandler.java]
 
=== <code>ML|OpenTE</code> ===
''Server to client''
 
Used by [http://www.minecraftforum.net/topic/75440-modloader/ ModLoader] to support custom GUI windows. Does not use the REGISTER channel.
 
=== <code>WECUI</code> ===
''Two-way''
 
Used by the server-side [http://dev.bukkit.org/server-mods/worldedit/ WorldEdit] and the client-side [http://www.minecraftforum.net/topic/885099-131-worldeditcui-gui-visualizer-for-worldedit-v131/ WorldEditCUI] to coordinate selections.

Latest revision as of 20:56, 9 April 2016

Redirect to: