Deprecation cleanup.

By: Erik Broes <erikbroes@grum.nl>
This commit is contained in:
Bukkit/Spigot
2012-01-30 21:32:48 +01:00
parent fe4de0bb01
commit 75fd934339
165 changed files with 409 additions and 4280 deletions

View File

@@ -1,6 +1,5 @@
package org.bukkit.plugin;
import com.avaje.ebean.EbeanServer;
import java.io.File;
import java.io.InputStream;
import java.util.logging.Logger;
@@ -8,9 +7,9 @@ import java.util.logging.Logger;
import org.bukkit.Server;
import org.bukkit.command.CommandExecutor;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.event.Event;
import org.bukkit.generator.ChunkGenerator;
import org.bukkit.util.config.Configuration;
import com.avaje.ebean.EbeanServer;
/**
* Represents a Plugin
@@ -32,13 +31,6 @@ public interface Plugin extends CommandExecutor {
*/
public PluginDescriptionFile getDescription();
/**
* Returns the main configuration file. It should be loaded.
*
* @return The configuration
*/
public Configuration getConfiguration();
/**
* Gets a {@link FileConfiguration} for this plugin, read through "config.yml"
* <p>

View File

@@ -26,21 +26,6 @@ public interface PluginLoader {
*/
public Plugin loadPlugin(File file) throws InvalidPluginException, InvalidDescriptionException, UnknownDependencyException;
/**
* Loads the plugin contained in the specified file
*
* @deprecated SoftDependencies are always ignored
* @param file File to attempt to load
* @param ignoreSoftDependencies Loader will ignore soft dependencies if this flag is set to true
* @return Plugin that was contained in the specified file, or null if
* unsuccessful
* @throws InvalidPluginException Thrown when the specified file is not a plugin
* @throws InvalidDescriptionException If the plugin description file was invalid
* @throws UnknownDependencyException If a required dependency could not be found
*/
@Deprecated
public Plugin loadPlugin(File file, boolean ignoreSoftDependencies) throws InvalidPluginException, InvalidDescriptionException, UnknownDependencyException;
/**
* Loads a PluginDescriptionFile from the specified file
*
@@ -58,17 +43,6 @@ public interface PluginLoader {
*/
public Pattern[] getPluginFileFilters();
/**
* Creates and returns an event executor
*
* @param type Type of the event executor to create
* @param listener the object that will handle the eventual call back
* @return The new executor
* @deprecated see PluginLoader#createRegisteredListeners
*/
@Deprecated
public EventExecutor createExecutor(Event.Type type, Listener listener);
/**
* Creates and returns registered listeners for the event classes used in this listener
*

View File

@@ -2,8 +2,8 @@ package org.bukkit.plugin;
import java.io.File;
import java.util.Set;
import org.bukkit.event.Event;
import org.bukkit.event.Event.Priority;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.permissions.Permissible;
@@ -96,31 +96,6 @@ public interface PluginManager {
*/
public void callEvent(Event event);
/**
* Registers the given event to the specified listener
*
* @param type EventType to register
* @param listener Listener to register
* @param priority Priority of this event
* @param plugin Plugin to register
* @deprecated see PluginManager#registerEvents
*/
@Deprecated
public void registerEvent(Event.Type type, Listener listener, Priority priority, Plugin plugin);
/**
* Registers the given event to the specified executor
*
* @param type EventType to register
* @param listener Listener to register
* @param executor EventExecutor to register
* @param priority Priority of this event
* @param plugin Plugin to register
* @deprecated see PluginManager#registerEvent(Class, Listener, EventPriority, EventExecutor, Plugin)
*/
@Deprecated
public void registerEvent(Event.Type type, Listener listener, EventExecutor executor, Priority priority, Plugin plugin);
/**
* Registers all the events in the given listener class
*

View File

@@ -1,10 +1,19 @@
package org.bukkit.plugin;
import com.google.common.collect.ImmutableSet;
import java.io.File;
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
import java.util.*;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.WeakHashMap;
import java.util.logging.Level;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -14,13 +23,17 @@ import org.bukkit.Server;
import org.bukkit.command.Command;
import org.bukkit.command.PluginCommandYamlParser;
import org.bukkit.command.SimpleCommandMap;
import org.bukkit.event.Event.Priority;
import org.bukkit.event.*;
import org.bukkit.event.Event;
import org.bukkit.event.EventPriority;
import org.bukkit.event.HandlerList;
import org.bukkit.event.Listener;
import org.bukkit.permissions.Permissible;
import org.bukkit.permissions.Permission;
import org.bukkit.permissions.PermissionDefault;
import org.bukkit.util.FileUtil;
import com.google.common.collect.ImmutableSet;
/**
* Handles all plugin management from the Server
*/
@@ -86,6 +99,7 @@ public final class SimplePluginManager implements PluginManager {
* @param directory Directory to check for plugins
* @return A list of all plugins loaded
*/
@SuppressWarnings("unchecked")
public Plugin[] loadPlugins(File directory) {
Validate.notNull(directory, "Directory cannot be null");
Validate.isTrue(directory.isDirectory(), "Directory must be a directory");
@@ -306,24 +320,6 @@ public final class SimplePluginManager implements PluginManager {
}
}
/**
* Loads the plugin in the specified file
* <p />
* File must be valid according to the current enabled Plugin interfaces
*
* @deprecated soft-dependencies are now ignored
* @param file File containing the plugin to load
* @param ignoreSoftDependencies Loader will ignore soft dependencies if this flag is set to true
* @return The Plugin loaded, or null if it was invalid
* @throws InvalidPluginException Thrown when the specified file is not a valid plugin
* @throws InvalidDescriptionException Thrown when the specified file contains an invalid description
* @throws UnknownDependencyException If a required dependency could not be found
*/
@Deprecated
public synchronized Plugin loadPlugin(File file, boolean ignoreSoftDependencies) throws InvalidPluginException, InvalidDescriptionException, UnknownDependencyException {
return loadPlugin(file);
}
/**
* Checks if the given plugin is loaded and returns it when applicable
* <p />
@@ -481,54 +477,6 @@ public final class SimplePluginManager implements PluginManager {
}
}
}
// This is an ugly hack to handle old-style custom events in old plugins without breakage. All in the name of plugin compatibility.
if (event.getType() == Event.Type.CUSTOM_EVENT) {
TransitionalCustomEvent.getHandlerList().bake();
listeners = TransitionalCustomEvent.getHandlerList().getRegisteredListeners();
if (listeners != null) {
for (int i = 0; i < listeners.length; i++) {
for (RegisteredListener registration : listeners[i]) {
try {
registration.callEvent(event);
} catch (Throwable ex) {
server.getLogger().log(Level.SEVERE, "Could not pass event " + event.getEventName() + " to " + registration.getPlugin().getDescription().getName(), ex);
}
}
}
}
}
}
/**
* Registers the given event to the specified listener
*
* @param type EventType to register
* @param listener PlayerListener to register
* @param priority Priority of this event
* @param plugin Plugin to register
* @deprecated See {@link #registerEvent(Class, Listener, EventPriority, EventExecutor, Plugin, boolean)}
*/
@Deprecated
public void registerEvent(Event.Type type, Listener listener, Priority priority, Plugin plugin) {
registerEvent(type.getEventClass(), listener, priority.getNewPriority(), plugin.getPluginLoader().createExecutor(type, listener), plugin);
}
/**
* Registers the given event to the specified listener using a directly passed EventExecutor
*
* @param type EventType to register
* @param listener PlayerListener to register
* @param executor EventExecutor to register
* @param priority Priority of this event
* @param plugin Plugin to register
* @deprecated See {@link #registerEvent(Class, Listener, EventPriority, EventExecutor, Plugin, boolean)}
*/
@Deprecated
public void registerEvent(Event.Type type, Listener listener, EventExecutor executor, Priority priority, Plugin plugin) {
Validate.notNull(type, "Type cannot be null");
Validate.notNull(priority, "Priority cannot be null");
registerEvent(type.getEventClass(), listener, priority.getNewPriority(), executor, plugin);
}
public void registerEvents(Listener listener, Plugin plugin) {

View File

@@ -1,19 +1,17 @@
package org.bukkit.plugin.java;
import com.avaje.ebean.EbeanServer;
import com.avaje.ebean.EbeanServerFactory;
import com.avaje.ebean.config.DataSourceConfig;
import com.avaje.ebean.config.ServerConfig;
import com.avaje.ebeaninternal.api.SpiEbeanServer;
import com.avaje.ebeaninternal.server.ddl.DdlGenerator;
import java.io.*;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URL;
import java.net.URLConnection;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.bukkit.Server;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
@@ -25,7 +23,13 @@ import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.PluginDescriptionFile;
import org.bukkit.plugin.PluginLoader;
import org.bukkit.plugin.PluginLogger;
import org.bukkit.util.config.Configuration;
import com.avaje.ebean.EbeanServer;
import com.avaje.ebean.EbeanServerFactory;
import com.avaje.ebean.config.DataSourceConfig;
import com.avaje.ebean.config.ServerConfig;
import com.avaje.ebeaninternal.api.SpiEbeanServer;
import com.avaje.ebeaninternal.server.ddl.DdlGenerator;
/**
* Represents a Java plugin
@@ -39,7 +43,6 @@ public abstract class JavaPlugin implements Plugin {
private PluginDescriptionFile description = null;
private File dataFolder = null;
private ClassLoader classLoader = null;
private Configuration config = null;
private boolean naggable = true;
private EbeanServer ebean = null;
private FileConfiguration newConfig = null;
@@ -103,24 +106,6 @@ public abstract class JavaPlugin implements Plugin {
return description;
}
/**
* Returns the main configuration located at
* <plugin name>/config.yml and loads the file. If the configuration file
* does not exist and it cannot be loaded, no error will be emitted and
* the configuration file will have no values.
*
* @return The configuration.
* @deprecated See the new {@link JavaPlugin#getConfig()}
*/
@Deprecated
public Configuration getConfiguration() {
if (config == null) {
config = new Configuration(configFile);
config.load();
}
return config;
}
public FileConfiguration getConfig() {
if (newConfig == null) {
reloadConfig();

View File

@@ -7,30 +7,36 @@ import java.io.InputStream;
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
import java.net.URL;
import java.util.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import java.util.jar.JarEntry;
import java.util.jar.JarFile;
import java.util.logging.Level;
import java.util.regex.Pattern;
import org.apache.commons.lang.Validate;
import org.bukkit.Bukkit;
import org.bukkit.Server;
import org.bukkit.configuration.serialization.ConfigurationSerializable;
import org.bukkit.configuration.serialization.ConfigurationSerialization;
import org.bukkit.event.*;
import org.bukkit.event.block.*;
import org.bukkit.event.painting.*;
import org.bukkit.event.entity.*;
import org.bukkit.event.player.*;
import org.bukkit.event.server.*;
import org.bukkit.event.vehicle.*;
import org.bukkit.event.world.*;
import org.bukkit.event.weather.*;
import org.bukkit.event.inventory.*;
import org.bukkit.plugin.*;
import org.bukkit.event.Event;
import org.bukkit.event.EventException;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.server.PluginDisableEvent;
import org.bukkit.event.server.PluginEnableEvent;
import org.bukkit.plugin.EventExecutor;
import org.bukkit.plugin.InvalidDescriptionException;
import org.bukkit.plugin.InvalidPluginException;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.PluginDescriptionFile;
import org.bukkit.plugin.PluginLoader;
import org.bukkit.plugin.RegisteredListener;
import org.bukkit.plugin.TimedRegisteredListener;
import org.bukkit.plugin.UnknownDependencyException;
import org.yaml.snakeyaml.error.YAMLException;
/**
@@ -46,6 +52,7 @@ public class JavaPluginLoader implements PluginLoader {
server = instance;
}
@SuppressWarnings("unchecked")
public Plugin loadPlugin(File file) throws InvalidPluginException, InvalidDescriptionException, UnknownDependencyException {
Validate.notNull(file, "File cannot be null");
@@ -258,737 +265,6 @@ public class JavaPluginLoader implements PluginLoader {
}
}
public EventExecutor createExecutor(Event.Type type, Listener listener) {
// TODONE: remove multiple Listener type and hence casts
switch (type) {
// Player Events
case PLAYER_JOIN:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((PlayerListener) listener).onPlayerJoin((PlayerJoinEvent) event);
}
};
case PLAYER_QUIT:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((PlayerListener) listener).onPlayerQuit((PlayerQuitEvent) event);
}
};
case PLAYER_RESPAWN:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((PlayerListener) listener).onPlayerRespawn((PlayerRespawnEvent) event);
}
};
case PLAYER_KICK:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((PlayerListener) listener).onPlayerKick((PlayerKickEvent) event);
}
};
case PLAYER_COMMAND_PREPROCESS:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((PlayerListener) listener).onPlayerCommandPreprocess((PlayerCommandPreprocessEvent) event);
}
};
case PLAYER_CHAT:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((PlayerListener) listener).onPlayerChat((PlayerChatEvent) event);
}
};
case PLAYER_MOVE:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((PlayerListener) listener).onPlayerMove((PlayerMoveEvent) event);
}
};
case PLAYER_VELOCITY:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((PlayerListener) listener).onPlayerVelocity((PlayerVelocityEvent) event);
}
};
case PLAYER_TELEPORT:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((PlayerListener) listener).onPlayerTeleport((PlayerTeleportEvent) event);
}
};
case PLAYER_PORTAL:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((PlayerListener) listener).onPlayerPortal((PlayerPortalEvent) event);
}
};
case PLAYER_INTERACT:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((PlayerListener) listener).onPlayerInteract((PlayerInteractEvent) event);
}
};
case PLAYER_INTERACT_ENTITY:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((PlayerListener) listener).onPlayerInteractEntity((PlayerInteractEntityEvent) event);
}
};
case PLAYER_LOGIN:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((PlayerListener) listener).onPlayerLogin((PlayerLoginEvent) event);
}
};
case PLAYER_PRELOGIN:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((PlayerListener) listener).onPlayerPreLogin((PlayerPreLoginEvent) event);
}
};
case PLAYER_EGG_THROW:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((PlayerListener) listener).onPlayerEggThrow((PlayerEggThrowEvent) event);
}
};
case PLAYER_ANIMATION:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((PlayerListener) listener).onPlayerAnimation((PlayerAnimationEvent) event);
}
};
case PLAYER_LEVEL_CHANGE:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((PlayerListener) listener).onPlayerLevelChange((PlayerLevelChangeEvent) event);
}
};
case INVENTORY_OPEN:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((PlayerListener) listener).onInventoryOpen((PlayerInventoryEvent) event);
}
};
case PLAYER_ITEM_HELD:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((PlayerListener) listener).onItemHeldChange((PlayerItemHeldEvent) event);
}
};
case PLAYER_DROP_ITEM:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((PlayerListener) listener).onPlayerDropItem((PlayerDropItemEvent) event);
}
};
case PLAYER_PICKUP_ITEM:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((PlayerListener) listener).onPlayerPickupItem((PlayerPickupItemEvent) event);
}
};
case PLAYER_TOGGLE_SNEAK:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((PlayerListener) listener).onPlayerToggleSneak((PlayerToggleSneakEvent) event);
}
};
case PLAYER_TOGGLE_SPRINT:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((PlayerListener) listener).onPlayerToggleSprint((PlayerToggleSprintEvent) event);
}
};
case PLAYER_BUCKET_EMPTY:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((PlayerListener) listener).onPlayerBucketEmpty((PlayerBucketEmptyEvent) event);
}
};
case PLAYER_BUCKET_FILL:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((PlayerListener) listener).onPlayerBucketFill((PlayerBucketFillEvent) event);
}
};
case PLAYER_BED_ENTER:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((PlayerListener) listener).onPlayerBedEnter((PlayerBedEnterEvent) event);
}
};
case PLAYER_BED_LEAVE:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((PlayerListener) listener).onPlayerBedLeave((PlayerBedLeaveEvent) event);
}
};
case PLAYER_FISH:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((PlayerListener) listener).onPlayerFish((PlayerFishEvent) event);
}
};
case PLAYER_GAME_MODE_CHANGE:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((PlayerListener) listener).onPlayerGameModeChange((PlayerGameModeChangeEvent) event);
}
};
case PLAYER_CHANGED_WORLD:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((PlayerListener) listener).onPlayerChangedWorld((PlayerChangedWorldEvent) event);
}
};
case PLAYER_EXP_CHANGE:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((PlayerListener) listener).onPlayerExpChange((PlayerExpChangeEvent) event);
}
};
// Block Events
case BLOCK_PHYSICS:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((BlockListener) listener).onBlockPhysics((BlockPhysicsEvent) event);
}
};
case BLOCK_CANBUILD:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((BlockListener) listener).onBlockCanBuild((BlockCanBuildEvent) event);
}
};
case BLOCK_PLACE:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((BlockListener) listener).onBlockPlace((BlockPlaceEvent) event);
}
};
case BLOCK_DAMAGE:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((BlockListener) listener).onBlockDamage((BlockDamageEvent) event);
}
};
case BLOCK_FROMTO:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((BlockListener) listener).onBlockFromTo((BlockFromToEvent) event);
}
};
case LEAVES_DECAY:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((BlockListener) listener).onLeavesDecay((LeavesDecayEvent) event);
}
};
case SIGN_CHANGE:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((BlockListener) listener).onSignChange((SignChangeEvent) event);
}
};
case BLOCK_IGNITE:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((BlockListener) listener).onBlockIgnite((BlockIgniteEvent) event);
}
};
case REDSTONE_CHANGE:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((BlockListener) listener).onBlockRedstoneChange((BlockRedstoneEvent) event);
}
};
case BLOCK_BURN:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((BlockListener) listener).onBlockBurn((BlockBurnEvent) event);
}
};
case BLOCK_BREAK:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((BlockListener) listener).onBlockBreak((BlockBreakEvent) event);
}
};
case BLOCK_FORM:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((BlockListener) listener).onBlockForm((BlockFormEvent) event);
}
};
case BLOCK_SPREAD:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((BlockListener) listener).onBlockSpread((BlockSpreadEvent) event);
}
};
case BLOCK_FADE:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((BlockListener) listener).onBlockFade((BlockFadeEvent) event);
}
};
case BLOCK_DISPENSE:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((BlockListener) listener).onBlockDispense((BlockDispenseEvent) event);
}
};
case BLOCK_PISTON_RETRACT:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((BlockListener) listener).onBlockPistonRetract((BlockPistonRetractEvent) event);
}
};
case BLOCK_PISTON_EXTEND:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((BlockListener) listener).onBlockPistonExtend((BlockPistonExtendEvent) event);
}
};
// Server Events
case PLUGIN_ENABLE:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((ServerListener) listener).onPluginEnable((PluginEnableEvent) event);
}
};
case PLUGIN_DISABLE:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((ServerListener) listener).onPluginDisable((PluginDisableEvent) event);
}
};
case SERVER_COMMAND:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((ServerListener) listener).onServerCommand((ServerCommandEvent) event);
}
};
case MAP_INITIALIZE:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((ServerListener) listener).onMapInitialize((MapInitializeEvent) event);
}
};
case SERVER_LIST_PING:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((ServerListener) listener).onServerListPing((ServerListPingEvent) event);
}
};
// World Events
case CHUNK_LOAD:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((WorldListener) listener).onChunkLoad((ChunkLoadEvent) event);
}
};
case CHUNK_POPULATED:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((WorldListener) listener).onChunkPopulate((ChunkPopulateEvent) event);
}
};
case CHUNK_UNLOAD:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((WorldListener) listener).onChunkUnload((ChunkUnloadEvent) event);
}
};
case SPAWN_CHANGE:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((WorldListener) listener).onSpawnChange((SpawnChangeEvent) event);
}
};
case WORLD_SAVE:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((WorldListener) listener).onWorldSave((WorldSaveEvent) event);
}
};
case WORLD_INIT:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((WorldListener) listener).onWorldInit((WorldInitEvent) event);
}
};
case WORLD_LOAD:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((WorldListener) listener).onWorldLoad((WorldLoadEvent) event);
}
};
case WORLD_UNLOAD:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((WorldListener) listener).onWorldUnload((WorldUnloadEvent) event);
}
};
case PORTAL_CREATE:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((WorldListener) listener).onPortalCreate((PortalCreateEvent) event);
}
};
case STRUCTURE_GROW:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((WorldListener) listener).onStructureGrow((StructureGrowEvent) event);
}
};
// Painting Events
case PAINTING_PLACE:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((EntityListener) listener).onPaintingPlace((PaintingPlaceEvent) event);
}
};
case PAINTING_BREAK:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((EntityListener) listener).onPaintingBreak((PaintingBreakEvent) event);
}
};
// Entity Events
case ENTITY_DAMAGE:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((EntityListener) listener).onEntityDamage((EntityDamageEvent) event);
}
};
case ENTITY_DEATH:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((EntityListener) listener).onEntityDeath((EntityDeathEvent) event);
}
};
case ENTITY_COMBUST:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((EntityListener) listener).onEntityCombust((EntityCombustEvent) event);
}
};
case ENTITY_EXPLODE:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((EntityListener) listener).onEntityExplode((EntityExplodeEvent) event);
}
};
case EXPLOSION_PRIME:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((EntityListener) listener).onExplosionPrime((ExplosionPrimeEvent) event);
}
};
case ENTITY_TARGET:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((EntityListener) listener).onEntityTarget((EntityTargetEvent) event);
}
};
case ENTITY_INTERACT:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((EntityListener) listener).onEntityInteract((EntityInteractEvent) event);
}
};
case ENTITY_PORTAL_ENTER:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((EntityListener) listener).onEntityPortalEnter((EntityPortalEnterEvent) event);
}
};
case ENTITY_CREATE_PORTAL:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((EntityListener) listener).onEntityCreatePortalEvent((EntityCreatePortalEvent) event);
}
};
case CREATURE_SPAWN:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((EntityListener) listener).onCreatureSpawn((CreatureSpawnEvent) event);
}
};
case ITEM_SPAWN:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((EntityListener) listener).onItemSpawn((ItemSpawnEvent) event);
}
};
case PIG_ZAP:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((EntityListener) listener).onPigZap((PigZapEvent) event);
}
};
case CREEPER_POWER:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((EntityListener) listener).onCreeperPower((CreeperPowerEvent) event);
}
};
case ENTITY_TAME:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((EntityListener) listener).onEntityTame((EntityTameEvent) event);
}
};
case ENTITY_REGAIN_HEALTH:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((EntityListener) listener).onEntityRegainHealth((EntityRegainHealthEvent) event);
}
};
case ENTITY_SHOOT_BOW:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((EntityListener) listener).onEntityShootBow((EntityShootBowEvent) event);
}
};
case PROJECTILE_HIT:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((EntityListener) listener).onProjectileHit((ProjectileHitEvent) event);
}
};
case ENDERMAN_PICKUP:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((EntityListener) listener).onEndermanPickup((EndermanPickupEvent) event);
}
};
case ENDERMAN_PLACE:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((EntityListener) listener).onEndermanPlace((EndermanPlaceEvent) event);
}
};
case FOOD_LEVEL_CHANGE:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((EntityListener) listener).onFoodLevelChange((FoodLevelChangeEvent) event);
}
};
case SLIME_SPLIT:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((EntityListener) listener).onSlimeSplit((SlimeSplitEvent) event);
}
};
case ITEM_DESPAWN:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((EntityListener) listener).onItemDespawn((ItemDespawnEvent) event);
}
};
// Vehicle Events
case VEHICLE_CREATE:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((VehicleListener) listener).onVehicleCreate((VehicleCreateEvent) event);
}
};
case VEHICLE_DAMAGE:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((VehicleListener) listener).onVehicleDamage((VehicleDamageEvent) event);
}
};
case VEHICLE_DESTROY:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((VehicleListener) listener).onVehicleDestroy((VehicleDestroyEvent) event);
}
};
case VEHICLE_COLLISION_BLOCK:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((VehicleListener) listener).onVehicleBlockCollision((VehicleBlockCollisionEvent) event);
}
};
case VEHICLE_COLLISION_ENTITY:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((VehicleListener) listener).onVehicleEntityCollision((VehicleEntityCollisionEvent) event);
}
};
case VEHICLE_ENTER:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((VehicleListener) listener).onVehicleEnter((VehicleEnterEvent) event);
}
};
case VEHICLE_EXIT:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((VehicleListener) listener).onVehicleExit((VehicleExitEvent) event);
}
};
case VEHICLE_MOVE:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((VehicleListener) listener).onVehicleMove((VehicleMoveEvent) event);
}
};
case VEHICLE_UPDATE:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((VehicleListener) listener).onVehicleUpdate((VehicleUpdateEvent) event);
}
};
// Weather Events
case WEATHER_CHANGE:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((WeatherListener) listener).onWeatherChange((WeatherChangeEvent) event);
}
};
case THUNDER_CHANGE:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((WeatherListener) listener).onThunderChange((ThunderChangeEvent) event);
}
};
case LIGHTNING_STRIKE:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((WeatherListener) listener).onLightningStrike((LightningStrikeEvent) event);
}
};
// Inventory Events
case FURNACE_SMELT:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((InventoryListener) listener).onFurnaceSmelt((FurnaceSmeltEvent) event);
}
};
case FURNACE_BURN:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((InventoryListener) listener).onFurnaceBurn((FurnaceBurnEvent) event);
}
};
// Custom Events
case CUSTOM_EVENT:
return new EventExecutor() {
public void execute(Listener listener, Event event) {
((CustomEventListener) listener).onCustomEvent(event);
}
};
}
throw new IllegalArgumentException("Event " + type + " is not supported");
}
public Map<Class<? extends Event>, Set<RegisteredListener>> createRegisteredListeners(Listener listener, final Plugin plugin) {
boolean useTimings = server.getPluginManager().useTimings();
Map<Class<? extends Event>, Set<RegisteredListener>> ret = new HashMap<Class<? extends Event>, Set<RegisteredListener>>();