mirror of
https://github.com/PaperMC/Paper.git
synced 2025-08-14 11:45:52 -07:00
@@ -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>
|
||||
|
@@ -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
|
||||
*
|
||||
|
@@ -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
|
||||
*
|
||||
|
@@ -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) {
|
||||
|
@@ -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();
|
||||
|
@@ -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>>();
|
||||
|
Reference in New Issue
Block a user