Implement plugin channel events. Addresses BUKKIT-1844

This commit is contained in:
Wesley Wolfe 2012-06-20 23:15:31 -05:00
parent 9f37f70527
commit 57763845d0

View File

@ -39,7 +39,9 @@ import org.bukkit.craftbukkit.map.RenderData;
import org.bukkit.entity.EntityType; import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.event.player.PlayerGameModeChangeEvent; import org.bukkit.event.player.PlayerGameModeChangeEvent;
import org.bukkit.event.player.PlayerRegisterChannelEvent;
import org.bukkit.event.player.PlayerTeleportEvent; import org.bukkit.event.player.PlayerTeleportEvent;
import org.bukkit.event.player.PlayerUnregisterChannelEvent;
import org.bukkit.inventory.InventoryView.Property; import org.bukkit.inventory.InventoryView.Property;
import org.bukkit.map.MapView; import org.bukkit.map.MapView;
import org.bukkit.metadata.MetadataValue; import org.bukkit.metadata.MetadataValue;
@ -744,11 +746,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
} }
public void addChannel(String channel) { public void addChannel(String channel) {
channels.add(channel); if (channels.add(channel)) {
server.getPluginManager().callEvent(new PlayerRegisterChannelEvent(this, channel));
}
} }
public void removeChannel(String channel) { public void removeChannel(String channel) {
channels.remove(channel); if (channels.remove(channel)) {
server.getPluginManager().callEvent(new PlayerUnregisterChannelEvent(this, channel));
}
} }
public Set<String> getListeningPluginChannels() { public Set<String> getListeningPluginChannels() {