Renamed IExecutor -> CommandExecutor and fixed SERVER_COMMAND doc

This commit is contained in:
stevenh 2011-01-29 21:17:36 +00:00
parent a984e73ac1
commit 47af4404bf
10 changed files with 65 additions and 70 deletions

View File

@ -10,10 +10,16 @@ public interface CommandSender {
public void sendMessage(String message); public void sendMessage(String message);
/** /**
* Checks if this player is currently op * Checks if this sender is currently op
* *
* @return true if they are * @return true if they are
*/ */
public boolean isOp(); public boolean isOp();
/**
* Checks if this sender is a player
*
* @return true if they are
*/
public boolean isPlayer();
} }

View File

@ -196,12 +196,12 @@ public final class SimpleCommandMap implements CommandMap {
} }
@Override @Override
public boolean execute(Player player, String currentAlias, String[] args) { public boolean execute(CommandSender sender, String currentAlias, String[] args) {
if (player.isOp()) { if (sender.isOp()) {
server.reload(); server.reload();
player.sendMessage(ChatColor.GREEN + "Reload complete."); sender.sendMessage(ChatColor.GREEN + "Reload complete.");
} else { } else {
player.sendMessage(ChatColor.RED + "You do not have sufficient access" + " to reload this server."); sender.sendMessage(ChatColor.RED + "You do not have sufficient access" + " to reload this server.");
} }
return true; return true;
} }

View File

@ -363,7 +363,7 @@ public abstract class Event {
PLUGIN_DISABLE (Category.SERVER), PLUGIN_DISABLE (Category.SERVER),
/** /**
* Called when a plugin is disabled * Called when a server command is called
* *
* @see org.bukkit.event.server.PluginEvent * @see org.bukkit.event.server.PluginEvent
*/ */

View File

@ -28,6 +28,6 @@ public class ServerListener implements Listener {
* *
* @param event Relevant event details * @param event Relevant event details
*/ */
public void onServerCommand(PluginEvent event) { public void onServerCommand(ServerCommandEvent event) {
} }
} }

View File

@ -1,12 +0,0 @@
package org.bukkit.plugin;
import org.bukkit.event.Event;
import org.bukkit.event.Listener;
/**
* Interface which defines the class for event call backs to plugins
*/
public interface IExecutor {
public void execute( Listener listener, Event event );
}

View File

@ -33,7 +33,7 @@ public interface PluginLoader {
* @param type Type of the event executor to create * @param type Type of the event executor to create
* @param listener the object that will handle the eventual call back * @param listener the object that will handle the eventual call back
*/ */
public IExecutor createExecutor(Event.Type type, Listener listener); public EventExecutor createExecutor(Event.Type type, Listener listener);
/** /**
* Enables the specified plugin * Enables the specified plugin

View File

@ -108,11 +108,11 @@ public interface PluginManager {
* *
* @param type EventType to register * @param type EventType to register
* @param listener Listener to register * @param listener Listener to register
* @param executor IExecutor to register * @param executor EventExecutor to register
* @param priority Priority of this event * @param priority Priority of this event
* @param plugin Plugin to register * @param plugin Plugin to register
*/ */
public void registerEvent(Event.Type type, Listener listener, IExecutor executor, Priority priority, Plugin plugin); public void registerEvent(Event.Type type, Listener listener, EventExecutor executor, Priority priority, Plugin plugin);
/** /**
* Enables the specified plugin * Enables the specified plugin

View File

@ -3,7 +3,7 @@ package org.bukkit.plugin;
import org.bukkit.event.Event; import org.bukkit.event.Event;
import org.bukkit.event.Listener; import org.bukkit.event.Listener;
import org.bukkit.plugin.IExecutor; import org.bukkit.plugin.EventExecutor;
/** /**
* Stores relevant information for plugin listeners * Stores relevant information for plugin listeners
@ -12,9 +12,9 @@ public class RegisteredListener {
private final Listener listener; private final Listener listener;
private final Event.Priority priority; private final Event.Priority priority;
private final Plugin plugin; private final Plugin plugin;
private final IExecutor executor; private final EventExecutor executor;
public RegisteredListener(final Listener pluginListener, final IExecutor eventExecutor, final Event.Priority eventPriority, final Plugin registeredPlugin ) { public RegisteredListener(final Listener pluginListener, final EventExecutor eventExecutor, final Event.Priority eventPriority, final Plugin registeredPlugin ) {
listener = pluginListener; listener = pluginListener;
priority = eventPriority; priority = eventPriority;
plugin = registeredPlugin; plugin = registeredPlugin;

View File

@ -231,14 +231,15 @@ public final class SimplePluginManager implements PluginManager {
} }
/** /**
* Registers the given event to the specified listener * Registers the given event to the specified listener using a directly passed EventExecutor
* *
* @param type EventType to register * @param type EventType to register
* @param listener PlayerListener to register * @param listener PlayerListener to register
* @param executor EventExecutor to register
* @param priority Priority of this event * @param priority Priority of this event
* @param plugin Plugin to register * @param plugin Plugin to register
*/ */
public void registerEvent(Event.Type type, Listener listener, IExecutor executor, Priority priority, Plugin plugin) { public void registerEvent(Event.Type type, Listener listener, EventExecutor executor, Priority priority, Plugin plugin) {
getEventListeners( type ).offer(new RegisteredListener(listener, executor, priority, plugin)); getEventListeners( type ).offer(new RegisteredListener(listener, executor, priority, plugin));
} }

View File

@ -112,232 +112,232 @@ public final class JavaPluginLoader implements PluginLoader {
classes.put(name, clazz); classes.put(name, clazz);
} }
public IExecutor createExecutor( Event.Type type, Listener listener ) { public EventExecutor createExecutor( Event.Type type, Listener listener ) {
// TODO: remove multiple Listener type and hence casts // TODO: remove multiple Listener type and hence casts
switch (type) { switch (type) {
// Player Events // Player Events
case PLAYER_JOIN: case PLAYER_JOIN:
return new IExecutor() { return new EventExecutor() {
public void execute( Listener listener, Event event ) { public void execute( Listener listener, Event event ) {
((PlayerListener)listener).onPlayerJoin( (PlayerEvent)event ); ((PlayerListener)listener).onPlayerJoin( (PlayerEvent)event );
} }
}; };
case PLAYER_QUIT: case PLAYER_QUIT:
return new IExecutor() { public void execute( Listener listener, Event event ) { return new EventExecutor() { public void execute( Listener listener, Event event ) {
((PlayerListener)listener).onPlayerQuit( (PlayerEvent)event ); ((PlayerListener)listener).onPlayerQuit( (PlayerEvent)event );
} }
}; };
case PLAYER_COMMAND: case PLAYER_COMMAND:
return new IExecutor() { public void execute( Listener listener, Event event ) { return new EventExecutor() { public void execute( Listener listener, Event event ) {
((PlayerListener)listener).onPlayerCommand( (PlayerChatEvent)event ); ((PlayerListener)listener).onPlayerCommand( (PlayerChatEvent)event );
} }
}; };
case PLAYER_CHAT: case PLAYER_CHAT:
return new IExecutor() { public void execute( Listener listener, Event event ) { return new EventExecutor() { public void execute( Listener listener, Event event ) {
((PlayerListener)listener).onPlayerChat( (PlayerChatEvent)event ); ((PlayerListener)listener).onPlayerChat( (PlayerChatEvent)event );
} }
}; };
case PLAYER_MOVE: case PLAYER_MOVE:
return new IExecutor() { public void execute( Listener listener, Event event ) { return new EventExecutor() { public void execute( Listener listener, Event event ) {
((PlayerListener)listener).onPlayerMove( (PlayerMoveEvent)event ); ((PlayerListener)listener).onPlayerMove( (PlayerMoveEvent)event );
} }
}; };
case PLAYER_TELEPORT: case PLAYER_TELEPORT:
return new IExecutor() { public void execute( Listener listener, Event event ) { return new EventExecutor() { public void execute( Listener listener, Event event ) {
((PlayerListener)listener).onPlayerTeleport( (PlayerMoveEvent)event ); ((PlayerListener)listener).onPlayerTeleport( (PlayerMoveEvent)event );
} }
}; };
case PLAYER_ITEM: case PLAYER_ITEM:
return new IExecutor() { public void execute( Listener listener, Event event ) { return new EventExecutor() { public void execute( Listener listener, Event event ) {
((PlayerListener)listener).onPlayerItem( (PlayerItemEvent)event ); ((PlayerListener)listener).onPlayerItem( (PlayerItemEvent)event );
} }
}; };
case PLAYER_LOGIN: case PLAYER_LOGIN:
return new IExecutor() { public void execute( Listener listener, Event event ) { return new EventExecutor() { public void execute( Listener listener, Event event ) {
((PlayerListener)listener).onPlayerLogin( (PlayerLoginEvent)event ); ((PlayerListener)listener).onPlayerLogin( (PlayerLoginEvent)event );
} }
}; };
case PLAYER_EGG_THROW: case PLAYER_EGG_THROW:
return new IExecutor() { public void execute( Listener listener, Event event ) { return new EventExecutor() { public void execute( Listener listener, Event event ) {
((PlayerListener)listener).onPlayerEggThrow( (PlayerEggThrowEvent)event ); ((PlayerListener)listener).onPlayerEggThrow( (PlayerEggThrowEvent)event );
} }
}; };
case PLAYER_ANIMATION: case PLAYER_ANIMATION:
return new IExecutor() { public void execute( Listener listener, Event event ) { return new EventExecutor() { public void execute( Listener listener, Event event ) {
((PlayerListener)listener).onPlayerAnimation( (PlayerAnimationEvent)event ); ((PlayerListener)listener).onPlayerAnimation( (PlayerAnimationEvent)event );
} }
}; };
// Block Events // Block Events
case BLOCK_PHYSICS: case BLOCK_PHYSICS:
return new IExecutor() { public void execute( Listener listener, Event event ) { return new EventExecutor() { public void execute( Listener listener, Event event ) {
((BlockListener)listener).onBlockPhysics( (BlockPhysicsEvent)event ); ((BlockListener)listener).onBlockPhysics( (BlockPhysicsEvent)event );
} }
}; };
case BLOCK_CANBUILD: case BLOCK_CANBUILD:
return new IExecutor() { public void execute( Listener listener, Event event ) { return new EventExecutor() { public void execute( Listener listener, Event event ) {
((BlockListener)listener).onBlockCanBuild( (BlockCanBuildEvent)event ); ((BlockListener)listener).onBlockCanBuild( (BlockCanBuildEvent)event );
} }
}; };
case BLOCK_RIGHTCLICKED: case BLOCK_RIGHTCLICKED:
return new IExecutor() { public void execute( Listener listener, Event event ) { return new EventExecutor() { public void execute( Listener listener, Event event ) {
((BlockListener)listener).onBlockRightClick( (BlockRightClickEvent)event ); ((BlockListener)listener).onBlockRightClick( (BlockRightClickEvent)event );
} }
}; };
case BLOCK_PLACED: case BLOCK_PLACED:
return new IExecutor() { public void execute( Listener listener, Event event ) { return new EventExecutor() { public void execute( Listener listener, Event event ) {
((BlockListener)listener).onBlockPlace( (BlockPlaceEvent)event ); ((BlockListener)listener).onBlockPlace( (BlockPlaceEvent)event );
} }
}; };
case BLOCK_DAMAGED: case BLOCK_DAMAGED:
return new IExecutor() { public void execute( Listener listener, Event event ) { return new EventExecutor() { public void execute( Listener listener, Event event ) {
((BlockListener)listener).onBlockDamage( (BlockDamageEvent)event ); ((BlockListener)listener).onBlockDamage( (BlockDamageEvent)event );
} }
}; };
case BLOCK_INTERACT: case BLOCK_INTERACT:
return new IExecutor() { public void execute( Listener listener, Event event ) { return new EventExecutor() { public void execute( Listener listener, Event event ) {
((BlockListener)listener).onBlockInteract( (BlockInteractEvent)event ); ((BlockListener)listener).onBlockInteract( (BlockInteractEvent)event );
} }
}; };
case BLOCK_FLOW: case BLOCK_FLOW:
return new IExecutor() { public void execute( Listener listener, Event event ) { return new EventExecutor() { public void execute( Listener listener, Event event ) {
((BlockListener)listener).onBlockFlow( (BlockFromToEvent)event ); ((BlockListener)listener).onBlockFlow( (BlockFromToEvent)event );
} }
}; };
case LEAVES_DECAY: case LEAVES_DECAY:
return new IExecutor() { public void execute( Listener listener, Event event ) { return new EventExecutor() { public void execute( Listener listener, Event event ) {
((BlockListener)listener).onLeavesDecay( (LeavesDecayEvent)event ); ((BlockListener)listener).onLeavesDecay( (LeavesDecayEvent)event );
} }
}; };
case BLOCK_IGNITE: case BLOCK_IGNITE:
return new IExecutor() { public void execute( Listener listener, Event event ) { return new EventExecutor() { public void execute( Listener listener, Event event ) {
((BlockListener)listener).onBlockIgnite( (BlockIgniteEvent)event ); ((BlockListener)listener).onBlockIgnite( (BlockIgniteEvent)event );
} }
}; };
case REDSTONE_CHANGE: case REDSTONE_CHANGE:
return new IExecutor() { public void execute( Listener listener, Event event ) { return new EventExecutor() { public void execute( Listener listener, Event event ) {
((BlockListener)listener).onBlockRedstoneChange( (BlockFromToEvent)event ); ((BlockListener)listener).onBlockRedstoneChange( (BlockFromToEvent)event );
} }
}; };
case BLOCK_BURN: case BLOCK_BURN:
return new IExecutor() { public void execute( Listener listener, Event event ) { return new EventExecutor() { public void execute( Listener listener, Event event ) {
((BlockListener)listener).onBlockBurn( (BlockBurnEvent)event ); ((BlockListener)listener).onBlockBurn( (BlockBurnEvent)event );
} }
}; };
// Server Events // Server Events
case PLUGIN_ENABLE: case PLUGIN_ENABLE:
return new IExecutor() { public void execute( Listener listener, Event event ) { return new EventExecutor() { public void execute( Listener listener, Event event ) {
((ServerListener)listener).onPluginEnabled( (PluginEvent)event ); ((ServerListener)listener).onPluginEnabled( (PluginEvent)event );
} }
}; };
case PLUGIN_DISABLE: case PLUGIN_DISABLE:
return new IExecutor() { public void execute( Listener listener, Event event ) { return new EventExecutor() { public void execute( Listener listener, Event event ) {
((ServerListener)listener).onPluginDisabled( (PluginEvent)event ); ((ServerListener)listener).onPluginDisabled( (PluginEvent)event );
} }
}; };
case SERVER_COMMAND: case SERVER_COMMAND:
return new IExecutor() { public void execute( Listener listener, Event event ) { return new EventExecutor() { public void execute( Listener listener, Event event ) {
((ServerListener)listener).onServerCommand( (ServerCommandEvent)event ); ((ServerListener)listener).onServerCommand( (ServerCommandEvent)event );
} }
}; };
// World Events // World Events
case CHUNK_LOADED: case CHUNK_LOADED:
return new IExecutor() { public void execute( Listener listener, Event event ) { return new EventExecutor() { public void execute( Listener listener, Event event ) {
((WorldListener)listener).onChunkLoaded( (ChunkLoadEvent)event ); ((WorldListener)listener).onChunkLoaded( (ChunkLoadEvent)event );
} }
}; };
case CHUNK_UNLOADED: case CHUNK_UNLOADED:
return new IExecutor() { public void execute( Listener listener, Event event ) { return new EventExecutor() { public void execute( Listener listener, Event event ) {
((WorldListener)listener).onChunkUnloaded( (ChunkUnloadEvent)event ); ((WorldListener)listener).onChunkUnloaded( (ChunkUnloadEvent)event );
} }
}; };
// Entity Events // Entity Events
case ENTITY_DAMAGEDBY_BLOCK: case ENTITY_DAMAGEDBY_BLOCK:
return new IExecutor() { public void execute( Listener listener, Event event ) { return new EventExecutor() { public void execute( Listener listener, Event event ) {
((EntityListener)listener).onEntityDamageByBlock( (EntityDamageByBlockEvent)event ); ((EntityListener)listener).onEntityDamageByBlock( (EntityDamageByBlockEvent)event );
} }
}; };
case ENTITY_DAMAGEDBY_ENTITY: case ENTITY_DAMAGEDBY_ENTITY:
return new IExecutor() { public void execute( Listener listener, Event event ) { return new EventExecutor() { public void execute( Listener listener, Event event ) {
((EntityListener)listener).onEntityDamageByEntity( (EntityDamageByEntityEvent)event ); ((EntityListener)listener).onEntityDamageByEntity( (EntityDamageByEntityEvent)event );
} }
}; };
case ENTITY_DAMAGEDBY_PROJECTILE: case ENTITY_DAMAGEDBY_PROJECTILE:
return new IExecutor() { public void execute( Listener listener, Event event ) { return new EventExecutor() { public void execute( Listener listener, Event event ) {
((EntityListener)listener).onEntityDamageByProjectile( (EntityDamageByProjectileEvent)event ); ((EntityListener)listener).onEntityDamageByProjectile( (EntityDamageByProjectileEvent)event );
} }
}; };
case ENTITY_DAMAGED: case ENTITY_DAMAGED:
return new IExecutor() { public void execute( Listener listener, Event event ) { return new EventExecutor() { public void execute( Listener listener, Event event ) {
((EntityListener)listener).onEntityDamage( (EntityDamageEvent)event ); ((EntityListener)listener).onEntityDamage( (EntityDamageEvent)event );
} }
}; };
case ENTITY_DEATH: case ENTITY_DEATH:
return new IExecutor() { public void execute( Listener listener, Event event ) { return new EventExecutor() { public void execute( Listener listener, Event event ) {
((EntityListener)listener).onEntityDeath( (EntityDeathEvent)event ); ((EntityListener)listener).onEntityDeath( (EntityDeathEvent)event );
} }
}; };
case ENTITY_COMBUST: case ENTITY_COMBUST:
return new IExecutor() { public void execute( Listener listener, Event event ) { return new EventExecutor() { public void execute( Listener listener, Event event ) {
((EntityListener)listener).onEntityCombust( (EntityCombustEvent)event ); ((EntityListener)listener).onEntityCombust( (EntityCombustEvent)event );
} }
}; };
case ENTITY_EXPLODE: case ENTITY_EXPLODE:
return new IExecutor() { public void execute( Listener listener, Event event ) { return new EventExecutor() { public void execute( Listener listener, Event event ) {
((EntityListener)listener).onEntityExplode( (EntityExplodeEvent)event ); ((EntityListener)listener).onEntityExplode( (EntityExplodeEvent)event );
} }
}; };
case ENTITY_TARGET: case ENTITY_TARGET:
return new IExecutor() { public void execute( Listener listener, Event event ) { return new EventExecutor() { public void execute( Listener listener, Event event ) {
((EntityListener)listener).onEntityTarget( (EntityTargetEvent)event ); ((EntityListener)listener).onEntityTarget( (EntityTargetEvent)event );
} }
}; };
// Vehicle Events // Vehicle Events
case VEHICLE_CREATE: case VEHICLE_CREATE:
return new IExecutor() { public void execute( Listener listener, Event event ) { return new EventExecutor() { public void execute( Listener listener, Event event ) {
((VehicleListener)listener).onVehicleCreate( (VehicleCreateEvent)event ); ((VehicleListener)listener).onVehicleCreate( (VehicleCreateEvent)event );
} }
}; };
case VEHICLE_DAMAGE: case VEHICLE_DAMAGE:
return new IExecutor() { public void execute( Listener listener, Event event ) { return new EventExecutor() { public void execute( Listener listener, Event event ) {
((VehicleListener)listener).onVehicleDamage( (VehicleDamageEvent)event ); ((VehicleListener)listener).onVehicleDamage( (VehicleDamageEvent)event );
} }
}; };
case VEHICLE_COLLISION_BLOCK: case VEHICLE_COLLISION_BLOCK:
return new IExecutor() { public void execute( Listener listener, Event event ) { return new EventExecutor() { public void execute( Listener listener, Event event ) {
((VehicleListener)listener).onVehicleBlockCollision( (VehicleBlockCollisionEvent)event ); ((VehicleListener)listener).onVehicleBlockCollision( (VehicleBlockCollisionEvent)event );
} }
}; };
case VEHICLE_COLLISION_ENTITY: case VEHICLE_COLLISION_ENTITY:
return new IExecutor() { public void execute( Listener listener, Event event ) { return new EventExecutor() { public void execute( Listener listener, Event event ) {
((VehicleListener)listener).onVehicleEntityCollision( (VehicleEntityCollisionEvent)event ); ((VehicleListener)listener).onVehicleEntityCollision( (VehicleEntityCollisionEvent)event );
} }
}; };
case VEHICLE_ENTER: case VEHICLE_ENTER:
return new IExecutor() { public void execute( Listener listener, Event event ) { return new EventExecutor() { public void execute( Listener listener, Event event ) {
((VehicleListener)listener).onVehicleEnter( (VehicleEnterEvent)event ); ((VehicleListener)listener).onVehicleEnter( (VehicleEnterEvent)event );
} }
}; };
case VEHICLE_EXIT: case VEHICLE_EXIT:
return new IExecutor() { public void execute( Listener listener, Event event ) { return new EventExecutor() { public void execute( Listener listener, Event event ) {
((VehicleListener)listener).onVehicleExit( (VehicleExitEvent)event ); ((VehicleListener)listener).onVehicleExit( (VehicleExitEvent)event );
} }
}; };
case VEHICLE_MOVE: case VEHICLE_MOVE:
return new IExecutor() { public void execute( Listener listener, Event event ) { return new EventExecutor() { public void execute( Listener listener, Event event ) {
((VehicleListener)listener).onVehicleMove( (VehicleMoveEvent)event ); ((VehicleListener)listener).onVehicleMove( (VehicleMoveEvent)event );
} }
}; };
// Custom Events // Custom Events
case CUSTOM_EVENT: case CUSTOM_EVENT:
return new IExecutor() { public void execute( Listener listener, Event event ) { return new EventExecutor() { public void execute( Listener listener, Event event ) {
((CustomEventListener)listener).onCustomEvent( event ); ((CustomEventListener)listener).onCustomEvent( event );
} }
}; };