Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package de.kilobyte22.plugin.bukkit.kibicraft;
- import com.google.common.eventbus.Subscribe;
- import de.kilobyte22.plugin.bukkit.kibicraft.event.MessageEvent;
- import org.bukkit.Bukkit;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.EventPriority;
- import org.bukkit.event.Listener;
- import org.bukkit.event.entity.PlayerDeathEvent;
- import org.bukkit.event.player.*;
- import org.json.JSONObject;
- import java.lang.reflect.InvocationTargetException;
- import java.lang.reflect.Method;
- import java.util.logging.Level;
- /**
- * Created with IntelliJ IDEA.
- * User: Stephan
- * Date: 10.03.13
- * Time: 21:34
- * To change this template use File | Settings | File Templates.
- */
- public class EventListener implements Listener {
- @Subscribe
- public void onKibiMessage(MessageEvent event) {
- String type = event.getJSON().getString("type");
- for(Method m : this.getClass().getMethods()) {
- MethodHandler h = m.getAnnotation(MethodHandler.class);
- if (h != null && h.value().equals(type)) {
- try {
- m.invoke(this, event);
- } catch (IllegalAccessException e) {
- e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
- } catch (InvocationTargetException e) {
- e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
- }
- }
- }
- /*if (h == null)
- KibiCraft.logger.log(Level.WARNING, "Received unknown command of type " + );*/
- }
- @MethodHandler("broadcast")
- public void broadcast(JSONObject obj) {
- KibiCraft.logger.log(Level.INFO, obj.getString("message"));
- KibiCraft.broadcast(obj.getString("message"));
- }
- /**
- * Requires:
- * - sender
- * - command
- * - params
- * @param obj
- */
- @MethodHandler("command")
- public void command(JSONObject obj) {
- //Bukkit.getServer().getPluginCommand(obj.getString("command")).execute(new KibiCommandSender(obj.getString("sender")))
- }
- @EventHandler(priority = EventPriority.MONITOR)
- public void onPlayerCommandPreprocess(PlayerCommandPreprocessEvent event) {
- JSONObject obj = new JSONObject();
- obj.put("type", "precommand");
- obj.put("sender", event.getPlayer().getName());
- obj.put("command", event.getMessage());
- KibiCraft.connection.sendMessage(obj);
- }
- @EventHandler(priority=EventPriority.MONITOR)
- public void onPlayerChat(AsyncPlayerChatEvent event) {
- JSONObject obj = new JSONObject();
- obj.put("type", "message");
- obj.put("sender", event.getPlayer().getName());
- obj.put("message", event.getMessage());
- KibiCraft.connection.sendMessage(obj);
- }
- @EventHandler(priority=EventPriority.MONITOR)
- public void onPlayerJoin(PlayerJoinEvent event) {
- JSONObject obj = new JSONObject();
- obj.put("type", "join");
- obj.put("sender", event.getPlayer().getName());
- KibiCraft.connection.sendMessage(obj);
- }
- @EventHandler(priority=EventPriority.MONITOR)
- public void onPlayerQuit(PlayerQuitEvent event) {
- JSONObject obj = new JSONObject();
- obj.put("type", "quit");
- obj.put("sender", event.getPlayer().getName());
- KibiCraft.connection.sendMessage(obj);
- }
- @EventHandler(priority=EventPriority.MONITOR)
- public void onPlayerKick(PlayerKickEvent event) {
- JSONObject obj = new JSONObject();
- obj.put("type", "kick");
- obj.put("sender", event.getPlayer().getName());
- obj.put("reason", (event.getReason().length() == 0) ? null : event.getReason());
- KibiCraft.connection.sendMessage(obj);
- }
- @EventHandler(priority = EventPriority.MONITOR)
- public void onPlayerDeath(PlayerDeathEvent event) {
- JSONObject obj = new JSONObject();
- obj.put("type", "player_death");
- obj.put("sender", event.getEntity().getName());
- obj.put("message", event.getDeathMessage());
- KibiCraft.connection.sendMessage(obj);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement