mirror of
https://github.com/PaperMC/Paper.git
synced 2025-08-16 04:33:56 -07:00
Implemented new Plugin Message API - see http://dinnerbone.com/blog/2012/01/13/minecraft-plugin-channels-messaging/
By: Nathan Adams <dinnerbone@dinnerbone.com>
This commit is contained in:
@@ -0,0 +1,288 @@
|
||||
package org.bukkit.plugin.messaging;
|
||||
|
||||
import org.bukkit.plugin.messaging.ReservedChannelException;
|
||||
import java.util.Collection;
|
||||
import org.junit.Test;
|
||||
import static org.junit.Assert.*;
|
||||
import static org.hamcrest.CoreMatchers.*;
|
||||
import static org.junit.matchers.JUnitMatchers.*;
|
||||
|
||||
public class StandardMessengerTest {
|
||||
public StandardMessenger getMessenger() {
|
||||
return new StandardMessenger();
|
||||
}
|
||||
|
||||
public TestPlugin getPlugin() {
|
||||
return new TestPlugin();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testIsReservedChannel() {
|
||||
Messenger messenger = getMessenger();
|
||||
|
||||
assertTrue(messenger.isReservedChannel("REGISTER"));
|
||||
assertFalse(messenger.isReservedChannel("register"));
|
||||
assertTrue(messenger.isReservedChannel("UNREGISTER"));
|
||||
assertFalse(messenger.isReservedChannel("unregister"));
|
||||
assertFalse(messenger.isReservedChannel("notReserved"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRegisterAndUnregisterOutgoingPluginChannel() {
|
||||
Messenger messenger = getMessenger();
|
||||
TestPlugin plugin = getPlugin();
|
||||
|
||||
assertFalse(messenger.isOutgoingChannelRegistered(plugin, "foo"));
|
||||
messenger.registerOutgoingPluginChannel(plugin, "foo");
|
||||
assertTrue(messenger.isOutgoingChannelRegistered(plugin, "foo"));
|
||||
assertFalse(messenger.isOutgoingChannelRegistered(plugin, "bar"));
|
||||
|
||||
messenger.unregisterOutgoingPluginChannel(plugin, "foo");
|
||||
assertFalse(messenger.isOutgoingChannelRegistered(plugin, "foo"));
|
||||
}
|
||||
|
||||
@Test(expected=ReservedChannelException.class)
|
||||
public void testReservedOutgoingRegistration() {
|
||||
Messenger messenger = getMessenger();
|
||||
TestPlugin plugin = getPlugin();
|
||||
|
||||
messenger.registerOutgoingPluginChannel(plugin, "REGISTER");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testUnregisterOutgoingPluginChannel_Plugin() {
|
||||
Messenger messenger = getMessenger();
|
||||
TestPlugin plugin = getPlugin();
|
||||
|
||||
assertFalse(messenger.isOutgoingChannelRegistered(plugin, "foo"));
|
||||
messenger.registerOutgoingPluginChannel(plugin, "foo");
|
||||
messenger.registerOutgoingPluginChannel(plugin, "bar");
|
||||
assertTrue(messenger.isOutgoingChannelRegistered(plugin, "foo"));
|
||||
assertTrue(messenger.isOutgoingChannelRegistered(plugin, "bar"));
|
||||
|
||||
messenger.unregisterOutgoingPluginChannel(plugin);
|
||||
assertFalse(messenger.isOutgoingChannelRegistered(plugin, "foo"));
|
||||
assertFalse(messenger.isOutgoingChannelRegistered(plugin, "bar"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRegisterIncomingPluginChannel() {
|
||||
Messenger messenger = getMessenger();
|
||||
TestPlugin plugin = getPlugin();
|
||||
TestMessageListener listener = new TestMessageListener("foo", "bar".getBytes());
|
||||
TestPlayer player = new TestPlayer();
|
||||
PluginMessageListenerRegistration registration = messenger.registerIncomingPluginChannel(plugin, "foo", listener);
|
||||
|
||||
assertTrue(registration.isValid());
|
||||
assertTrue(messenger.isIncomingChannelRegistered(plugin, "foo"));
|
||||
messenger.dispatchIncomingMessage(player, "foo", "bar".getBytes());
|
||||
assertTrue(listener.hasReceived());
|
||||
|
||||
messenger.unregisterIncomingPluginChannel(plugin, "foo", listener);
|
||||
listener.reset();
|
||||
|
||||
assertFalse(registration.isValid());
|
||||
assertFalse(messenger.isIncomingChannelRegistered(plugin, "foo"));
|
||||
messenger.dispatchIncomingMessage(player, "foo", "bar".getBytes());
|
||||
assertFalse(listener.hasReceived());
|
||||
}
|
||||
|
||||
@Test(expected=ReservedChannelException.class)
|
||||
public void testReservedIncomingRegistration() {
|
||||
Messenger messenger = getMessenger();
|
||||
TestPlugin plugin = getPlugin();
|
||||
|
||||
messenger.registerIncomingPluginChannel(plugin, "REGISTER", new TestMessageListener("foo", "bar".getBytes()));
|
||||
}
|
||||
|
||||
@Test(expected=IllegalArgumentException.class)
|
||||
public void testDuplicateIncomingRegistration() {
|
||||
Messenger messenger = getMessenger();
|
||||
TestPlugin plugin = getPlugin();
|
||||
TestMessageListener listener = new TestMessageListener("foo", "bar".getBytes());
|
||||
|
||||
messenger.registerIncomingPluginChannel(plugin, "baz", listener);
|
||||
messenger.registerIncomingPluginChannel(plugin, "baz", listener);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testUnregisterIncomingPluginChannel_Plugin_String() {
|
||||
Messenger messenger = getMessenger();
|
||||
TestPlugin plugin = getPlugin();
|
||||
TestMessageListener listener1 = new TestMessageListener("foo", "bar".getBytes());
|
||||
TestMessageListener listener2 = new TestMessageListener("baz", "qux".getBytes());
|
||||
TestPlayer player = new TestPlayer();
|
||||
PluginMessageListenerRegistration registration1 = messenger.registerIncomingPluginChannel(plugin, "foo", listener1);
|
||||
PluginMessageListenerRegistration registration2 = messenger.registerIncomingPluginChannel(plugin, "baz", listener2);
|
||||
|
||||
assertTrue(registration1.isValid());
|
||||
assertTrue(registration2.isValid());
|
||||
messenger.dispatchIncomingMessage(player, "foo", "bar".getBytes());
|
||||
messenger.dispatchIncomingMessage(player, "baz", "qux".getBytes());
|
||||
assertTrue(listener1.hasReceived());
|
||||
assertTrue(listener2.hasReceived());
|
||||
|
||||
messenger.unregisterIncomingPluginChannel(plugin, "foo");
|
||||
listener1.reset();
|
||||
listener2.reset();
|
||||
|
||||
assertFalse(registration1.isValid());
|
||||
assertTrue(registration2.isValid());
|
||||
messenger.dispatchIncomingMessage(player, "foo", "bar".getBytes());
|
||||
messenger.dispatchIncomingMessage(player, "baz", "qux".getBytes());
|
||||
assertFalse(listener1.hasReceived());
|
||||
assertTrue(listener2.hasReceived());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testUnregisterIncomingPluginChannel_Plugin() {
|
||||
Messenger messenger = getMessenger();
|
||||
TestPlugin plugin = getPlugin();
|
||||
TestMessageListener listener1 = new TestMessageListener("foo", "bar".getBytes());
|
||||
TestMessageListener listener2 = new TestMessageListener("baz", "qux".getBytes());
|
||||
TestPlayer player = new TestPlayer();
|
||||
PluginMessageListenerRegistration registration1 = messenger.registerIncomingPluginChannel(plugin, "foo", listener1);
|
||||
PluginMessageListenerRegistration registration2 = messenger.registerIncomingPluginChannel(plugin, "baz", listener2);
|
||||
|
||||
assertTrue(registration1.isValid());
|
||||
assertTrue(registration2.isValid());
|
||||
messenger.dispatchIncomingMessage(player, "foo", "bar".getBytes());
|
||||
messenger.dispatchIncomingMessage(player, "baz", "qux".getBytes());
|
||||
assertTrue(listener1.hasReceived());
|
||||
assertTrue(listener2.hasReceived());
|
||||
|
||||
messenger.unregisterIncomingPluginChannel(plugin);
|
||||
listener1.reset();
|
||||
listener2.reset();
|
||||
|
||||
assertFalse(registration1.isValid());
|
||||
assertFalse(registration2.isValid());
|
||||
messenger.dispatchIncomingMessage(player, "foo", "bar".getBytes());
|
||||
messenger.dispatchIncomingMessage(player, "baz", "qux".getBytes());
|
||||
assertFalse(listener1.hasReceived());
|
||||
assertFalse(listener2.hasReceived());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetOutgoingChannels() {
|
||||
Messenger messenger = getMessenger();
|
||||
TestPlugin plugin1 = getPlugin();
|
||||
TestPlugin plugin2 = getPlugin();
|
||||
|
||||
assertEquals(messenger.getOutgoingChannels());
|
||||
|
||||
messenger.registerOutgoingPluginChannel(plugin1, "foo");
|
||||
messenger.registerOutgoingPluginChannel(plugin1, "bar");
|
||||
messenger.registerOutgoingPluginChannel(plugin2, "baz");
|
||||
messenger.registerOutgoingPluginChannel(plugin2, "baz");
|
||||
|
||||
assertEquals(messenger.getOutgoingChannels(), "foo", "bar", "baz");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetOutgoingChannels_Plugin() {
|
||||
Messenger messenger = getMessenger();
|
||||
TestPlugin plugin1 = getPlugin();
|
||||
TestPlugin plugin2 = getPlugin();
|
||||
TestPlugin plugin3 = getPlugin();
|
||||
|
||||
messenger.registerOutgoingPluginChannel(plugin1, "foo");
|
||||
messenger.registerOutgoingPluginChannel(plugin1, "bar");
|
||||
messenger.registerOutgoingPluginChannel(plugin2, "baz");
|
||||
messenger.registerOutgoingPluginChannel(plugin2, "qux");
|
||||
|
||||
assertEquals(messenger.getOutgoingChannels(plugin1), "foo", "bar");
|
||||
assertEquals(messenger.getOutgoingChannels(plugin2), "baz", "qux");
|
||||
assertEquals(messenger.getOutgoingChannels(plugin3));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetIncomingChannels() {
|
||||
Messenger messenger = getMessenger();
|
||||
TestPlugin plugin1 = getPlugin();
|
||||
TestPlugin plugin2 = getPlugin();
|
||||
|
||||
assertEquals(messenger.getIncomingChannels());
|
||||
|
||||
messenger.registerIncomingPluginChannel(plugin1, "foo", new TestMessageListener("foo", "bar".getBytes()));
|
||||
messenger.registerIncomingPluginChannel(plugin1, "bar", new TestMessageListener("foo", "bar".getBytes()));
|
||||
messenger.registerIncomingPluginChannel(plugin2, "baz", new TestMessageListener("foo", "bar".getBytes()));
|
||||
messenger.registerIncomingPluginChannel(plugin2, "baz", new TestMessageListener("foo", "bar".getBytes()));
|
||||
|
||||
assertEquals(messenger.getIncomingChannels(), "foo", "bar", "baz");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetIncomingChannels_Plugin() {
|
||||
Messenger messenger = getMessenger();
|
||||
TestPlugin plugin1 = getPlugin();
|
||||
TestPlugin plugin2 = getPlugin();
|
||||
TestPlugin plugin3 = getPlugin();
|
||||
|
||||
messenger.registerIncomingPluginChannel(plugin1, "foo", new TestMessageListener("foo", "bar".getBytes()));
|
||||
messenger.registerIncomingPluginChannel(plugin1, "bar", new TestMessageListener("foo", "bar".getBytes()));
|
||||
messenger.registerIncomingPluginChannel(plugin2, "baz", new TestMessageListener("foo", "bar".getBytes()));
|
||||
messenger.registerIncomingPluginChannel(plugin2, "qux", new TestMessageListener("foo", "bar".getBytes()));
|
||||
|
||||
assertEquals(messenger.getIncomingChannels(plugin1), "foo", "bar");
|
||||
assertEquals(messenger.getIncomingChannels(plugin2), "baz", "qux");
|
||||
assertEquals(messenger.getIncomingChannels(plugin3));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetIncomingChannelRegistrations_Plugin() {
|
||||
Messenger messenger = getMessenger();
|
||||
TestPlugin plugin1 = getPlugin();
|
||||
TestPlugin plugin2 = getPlugin();
|
||||
TestPlugin plugin3 = getPlugin();
|
||||
PluginMessageListenerRegistration registration1 = messenger.registerIncomingPluginChannel(plugin1, "foo", new TestMessageListener("foo", "bar".getBytes()));
|
||||
PluginMessageListenerRegistration registration2 = messenger.registerIncomingPluginChannel(plugin1, "bar", new TestMessageListener("foo", "bar".getBytes()));
|
||||
PluginMessageListenerRegistration registration3 = messenger.registerIncomingPluginChannel(plugin2, "baz", new TestMessageListener("foo", "bar".getBytes()));
|
||||
PluginMessageListenerRegistration registration4 = messenger.registerIncomingPluginChannel(plugin2, "qux", new TestMessageListener("foo", "bar".getBytes()));
|
||||
|
||||
assertEquals(messenger.getIncomingChannelRegistrations(plugin1), registration1, registration2);
|
||||
assertEquals(messenger.getIncomingChannelRegistrations(plugin2), registration3, registration4);
|
||||
assertEquals(messenger.getIncomingChannels(plugin3));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetIncomingChannelRegistrations_String() {
|
||||
Messenger messenger = getMessenger();
|
||||
TestPlugin plugin1 = getPlugin();
|
||||
TestPlugin plugin2 = getPlugin();
|
||||
PluginMessageListenerRegistration registration1 = messenger.registerIncomingPluginChannel(plugin1, "foo", new TestMessageListener("foo", "bar".getBytes()));
|
||||
PluginMessageListenerRegistration registration2 = messenger.registerIncomingPluginChannel(plugin1, "bar", new TestMessageListener("foo", "bar".getBytes()));
|
||||
PluginMessageListenerRegistration registration3 = messenger.registerIncomingPluginChannel(plugin2, "foo", new TestMessageListener("foo", "bar".getBytes()));
|
||||
PluginMessageListenerRegistration registration4 = messenger.registerIncomingPluginChannel(plugin2, "bar", new TestMessageListener("foo", "bar".getBytes()));
|
||||
|
||||
assertEquals(messenger.getIncomingChannelRegistrations("foo"), registration1, registration3);
|
||||
assertEquals(messenger.getIncomingChannelRegistrations("bar"), registration2, registration4);
|
||||
assertEquals(messenger.getIncomingChannelRegistrations("baz"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetIncomingChannelRegistrations_Plugin_String() {
|
||||
Messenger messenger = getMessenger();
|
||||
TestPlugin plugin1 = getPlugin();
|
||||
TestPlugin plugin2 = getPlugin();
|
||||
TestPlugin plugin3 = getPlugin();
|
||||
PluginMessageListenerRegistration registration1 = messenger.registerIncomingPluginChannel(plugin1, "foo", new TestMessageListener("foo", "bar".getBytes()));
|
||||
PluginMessageListenerRegistration registration2 = messenger.registerIncomingPluginChannel(plugin1, "foo", new TestMessageListener("foo", "bar".getBytes()));
|
||||
PluginMessageListenerRegistration registration3 = messenger.registerIncomingPluginChannel(plugin1, "bar", new TestMessageListener("foo", "bar".getBytes()));
|
||||
PluginMessageListenerRegistration registration4 = messenger.registerIncomingPluginChannel(plugin2, "bar", new TestMessageListener("foo", "bar".getBytes()));
|
||||
PluginMessageListenerRegistration registration5 = messenger.registerIncomingPluginChannel(plugin2, "baz", new TestMessageListener("foo", "bar".getBytes()));
|
||||
PluginMessageListenerRegistration registration6 = messenger.registerIncomingPluginChannel(plugin2, "baz", new TestMessageListener("foo", "bar".getBytes()));
|
||||
|
||||
assertEquals(messenger.getIncomingChannelRegistrations(plugin1, "foo"), registration1, registration2);
|
||||
assertEquals(messenger.getIncomingChannelRegistrations(plugin1, "bar"), registration3);
|
||||
assertEquals(messenger.getIncomingChannelRegistrations(plugin2, "bar"), registration4);
|
||||
assertEquals(messenger.getIncomingChannelRegistrations(plugin2, "baz"), registration5, registration6);
|
||||
assertEquals(messenger.getIncomingChannelRegistrations(plugin1, "baz"));
|
||||
assertEquals(messenger.getIncomingChannelRegistrations(plugin3, "qux"));
|
||||
}
|
||||
|
||||
private static <T> void assertEquals(Collection<T> actual, T... expected) {
|
||||
assertThat("Size of the array", actual.size(), is(expected.length));
|
||||
assertThat(actual, hasItems(expected));
|
||||
}
|
||||
}
|
@@ -0,0 +1,29 @@
|
||||
package org.bukkit.plugin.messaging;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
public class TestMessageListener implements PluginMessageListener {
|
||||
private final String channel;
|
||||
private final byte[] message;
|
||||
private boolean received = false;
|
||||
|
||||
public TestMessageListener(String channel, byte[] message) {
|
||||
this.channel = channel;
|
||||
this.message = message;
|
||||
}
|
||||
|
||||
public void onPluginMessageReceived(String channel, Player player, byte[] message) {
|
||||
assertEquals(this.channel, channel);
|
||||
assertArrayEquals(this.message, message);
|
||||
this.received = true;
|
||||
}
|
||||
|
||||
public boolean hasReceived() {
|
||||
return received;
|
||||
}
|
||||
|
||||
public void reset() {
|
||||
received = false;
|
||||
}
|
||||
}
|
@@ -0,0 +1,605 @@
|
||||
package org.bukkit.plugin.messaging;
|
||||
|
||||
import java.net.InetSocketAddress;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import org.bukkit.Achievement;
|
||||
import org.bukkit.Effect;
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.Instrument;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Note;
|
||||
import org.bukkit.Server;
|
||||
import org.bukkit.Statistic;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.entity.Arrow;
|
||||
import org.bukkit.entity.Egg;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.entity.Snowball;
|
||||
import org.bukkit.entity.Vehicle;
|
||||
import org.bukkit.event.entity.EntityDamageEvent;
|
||||
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.PlayerInventory;
|
||||
import org.bukkit.map.MapView;
|
||||
import org.bukkit.permissions.Permission;
|
||||
import org.bukkit.permissions.PermissionAttachment;
|
||||
import org.bukkit.permissions.PermissionAttachmentInfo;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
import org.bukkit.util.Vector;
|
||||
|
||||
public class TestPlayer implements Player {
|
||||
public String getDisplayName() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void setDisplayName(String name) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public String getPlayerListName() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void setPlayerListName(String name) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void setCompassTarget(Location loc) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public Location getCompassTarget() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public InetSocketAddress getAddress() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void sendRawMessage(String message) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void kickPlayer(String message) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void chat(String msg) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public boolean performCommand(String command) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public boolean isSneaking() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void setSneaking(boolean sneak) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public boolean isSprinting() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void setSprinting(boolean sprinting) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void saveData() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void loadData() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void setSleepingIgnored(boolean isSleeping) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public boolean isSleepingIgnored() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void playNote(Location loc, byte instrument, byte note) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void playNote(Location loc, Instrument instrument, Note note) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void playEffect(Location loc, Effect effect, int data) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void sendBlockChange(Location loc, Material material, byte data) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public boolean sendChunkChange(Location loc, int sx, int sy, int sz, byte[] data) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void sendBlockChange(Location loc, int material, byte data) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void sendMap(MapView map) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void updateInventory() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void awardAchievement(Achievement achievement) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void incrementStatistic(Statistic statistic) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void incrementStatistic(Statistic statistic, int amount) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void incrementStatistic(Statistic statistic, Material material) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void incrementStatistic(Statistic statistic, Material material, int amount) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void setPlayerTime(long time, boolean relative) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public long getPlayerTime() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public long getPlayerTimeOffset() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public boolean isPlayerTimeRelative() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void resetPlayerTime() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void giveExp(int amount) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public float getExp() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void setExp(float exp) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public int getExperience() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void setExperience(int exp) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public int getLevel() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void setLevel(int level) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public int getTotalExperience() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void setTotalExperience(int exp) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public float getExhaustion() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void setExhaustion(float value) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public float getSaturation() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void setSaturation(float value) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public int getFoodLevel() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void setFoodLevel(int value) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public Location getBedSpawnLocation() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public PlayerInventory getInventory() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public ItemStack getItemInHand() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void setItemInHand(ItemStack item) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public boolean isSleeping() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public int getSleepTicks() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public GameMode getGameMode() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void setGameMode(GameMode mode) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public int getHealth() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void setHealth(int health) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public int getMaxHealth() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public double getEyeHeight() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public double getEyeHeight(boolean ignoreSneaking) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public Location getEyeLocation() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public List<Block> getLineOfSight(HashSet<Byte> transparent, int maxDistance) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public Block getTargetBlock(HashSet<Byte> transparent, int maxDistance) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public List<Block> getLastTwoTargetBlocks(HashSet<Byte> transparent, int maxDistance) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public Egg throwEgg() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public Snowball throwSnowball() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public Arrow shootArrow() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public boolean isInsideVehicle() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public boolean leaveVehicle() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public Vehicle getVehicle() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public int getRemainingAir() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void setRemainingAir(int ticks) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public int getMaximumAir() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void setMaximumAir(int ticks) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void damage(int amount) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void damage(int amount, Entity source) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public int getMaximumNoDamageTicks() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void setMaximumNoDamageTicks(int ticks) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public int getLastDamage() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void setLastDamage(int damage) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public int getNoDamageTicks() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void setNoDamageTicks(int ticks) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public Player getKiller() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public Location getLocation() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void setVelocity(Vector velocity) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public Vector getVelocity() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public World getWorld() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public boolean teleport(Location location) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public boolean teleport(Location location, TeleportCause cause) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public boolean teleport(Entity destination) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public boolean teleport(Entity destination, TeleportCause cause) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public List<Entity> getNearbyEntities(double x, double y, double z) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public int getEntityId() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public int getFireTicks() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public int getMaxFireTicks() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void setFireTicks(int ticks) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void remove() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public boolean isDead() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public Server getServer() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public Entity getPassenger() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public boolean setPassenger(Entity passenger) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public boolean isEmpty() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public boolean eject() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public float getFallDistance() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void setFallDistance(float distance) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void setLastDamageCause(EntityDamageEvent event) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public EntityDamageEvent getLastDamageCause() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public UUID getUniqueId() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public int getTicksLived() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void setTicksLived(int value) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public boolean isPermissionSet(String name) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public boolean isPermissionSet(Permission perm) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public boolean hasPermission(String name) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public boolean hasPermission(Permission perm) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public PermissionAttachment addAttachment(Plugin plugin, String name, boolean value) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public PermissionAttachment addAttachment(Plugin plugin) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public PermissionAttachment addAttachment(Plugin plugin, String name, boolean value, int ticks) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public PermissionAttachment addAttachment(Plugin plugin, int ticks) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void removeAttachment(PermissionAttachment attachment) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void recalculatePermissions() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public Set<PermissionAttachmentInfo> getEffectivePermissions() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public boolean isOp() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void setOp(boolean value) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void sendMessage(String message) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public boolean isOnline() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public boolean isBanned() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void setBanned(boolean banned) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public boolean isWhitelisted() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void setWhitelisted(boolean value) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public Player getPlayer() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public long getFirstPlayed() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public long getLastPlayed() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public boolean hasPlayedBefore() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public Map<String, Object> serialize() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public void sendPluginMessage(Plugin source, String channel, byte[] message) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
public Set<String> getListeningPluginChannels() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
}
|
@@ -0,0 +1,116 @@
|
||||
package org.bukkit.plugin.messaging;
|
||||
|
||||
import com.avaje.ebean.EbeanServer;
|
||||
import java.io.File;
|
||||
import java.io.InputStream;
|
||||
import org.bukkit.Server;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.event.Event.Type;
|
||||
import org.bukkit.generator.ChunkGenerator;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
import org.bukkit.plugin.PluginDescriptionFile;
|
||||
import org.bukkit.plugin.PluginLoader;
|
||||
import org.bukkit.util.config.Configuration;
|
||||
|
||||
public class TestPlugin implements Plugin {
|
||||
private boolean enabled = true;
|
||||
|
||||
public void setEnabled(boolean enabled) {
|
||||
this.enabled = enabled;
|
||||
}
|
||||
|
||||
public File getDataFolder() {
|
||||
throw new UnsupportedOperationException("Not supported.");
|
||||
}
|
||||
|
||||
public PluginDescriptionFile getDescription() {
|
||||
throw new UnsupportedOperationException("Not supported.");
|
||||
}
|
||||
|
||||
public Configuration getConfiguration() {
|
||||
throw new UnsupportedOperationException("Not supported.");
|
||||
}
|
||||
|
||||
public FileConfiguration getConfig() {
|
||||
throw new UnsupportedOperationException("Not supported.");
|
||||
}
|
||||
|
||||
public InputStream getResource(String filename) {
|
||||
throw new UnsupportedOperationException("Not supported.");
|
||||
}
|
||||
|
||||
public void saveConfig() {
|
||||
throw new UnsupportedOperationException("Not supported.");
|
||||
}
|
||||
|
||||
public void saveDefaultConfig() {
|
||||
throw new UnsupportedOperationException("Not supported.");
|
||||
}
|
||||
|
||||
public void saveResource(String resourcePath, boolean replace) {
|
||||
throw new UnsupportedOperationException("Not supported.");
|
||||
}
|
||||
|
||||
public void reloadConfig() {
|
||||
throw new UnsupportedOperationException("Not supported.");
|
||||
}
|
||||
|
||||
public PluginLoader getPluginLoader() {
|
||||
throw new UnsupportedOperationException("Not supported.");
|
||||
}
|
||||
|
||||
public Server getServer() {
|
||||
throw new UnsupportedOperationException("Not supported.");
|
||||
}
|
||||
|
||||
public boolean isEnabled() {
|
||||
return enabled;
|
||||
}
|
||||
|
||||
public void onDisable() {
|
||||
throw new UnsupportedOperationException("Not supported.");
|
||||
}
|
||||
|
||||
public void onLoad() {
|
||||
throw new UnsupportedOperationException("Not supported.");
|
||||
}
|
||||
|
||||
public void onEnable() {
|
||||
throw new UnsupportedOperationException("Not supported.");
|
||||
}
|
||||
|
||||
public boolean isNaggable() {
|
||||
throw new UnsupportedOperationException("Not supported.");
|
||||
}
|
||||
|
||||
public void setNaggable(boolean canNag) {
|
||||
throw new UnsupportedOperationException("Not supported.");
|
||||
}
|
||||
|
||||
public EbeanServer getDatabase() {
|
||||
throw new UnsupportedOperationException("Not supported.");
|
||||
}
|
||||
|
||||
public ChunkGenerator getDefaultWorldGenerator(String worldName, String id) {
|
||||
throw new UnsupportedOperationException("Not supported.");
|
||||
}
|
||||
|
||||
public long getTiming(Type type) {
|
||||
throw new UnsupportedOperationException("Not supported.");
|
||||
}
|
||||
|
||||
public void incTiming(Type type, long delta) {
|
||||
throw new UnsupportedOperationException("Not supported.");
|
||||
}
|
||||
|
||||
public void resetTimings() {
|
||||
throw new UnsupportedOperationException("Not supported.");
|
||||
}
|
||||
|
||||
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
||||
throw new UnsupportedOperationException("Not supported.");
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user