@Override public void onPlayerCommandPreprocess(PlayerCommandPreprocessEvent event) { Player player = event.getPlayer(); String[] split = event.getMessage().split(" "); int numParams = split.length - 1; if (!(plugin.optionsMap.containsKey("oncommand|" + split[0]) || plugin.optionsMap.containsKey("oncommand|" + split[0] + "|" + numParams) || plugin.optionsMap.containsKey("oncommand|" + split[0] + "|override") || plugin.optionsMap.containsKey("oncommand|" + split[0] + "|override|" + numParams))) return; List<String> replaceThese = new LinkedList<String>(); List<String> withThese = new LinkedList<String>(); /* Build parameter list */ StringBuilder params = new StringBuilder(); StringBuilder reverseParams = new StringBuilder(); String prefix = ""; int max = split.length; for (int i = 1; i < max; i++) { params.append(prefix + split[i]); reverseParams.insert(0, split[max - i] + prefix); prefix = " "; replaceThese.add("<<param" + Integer.toString(i) + ">>"); withThese.add(split[i]); replaceThese.add("<<param" + Integer.toString(i) + "->>"); withThese.add(params.toString()); replaceThese.add("<<param" + Integer.toString(max - i) + "\\+>>"); withThese.add(reverseParams.toString()); } replaceThese.add("<<params>>"); withThese.add(params.toString()); String[] replaceTheseArray = replaceThese.toArray(new String[replaceThese.size()]); String[] withTheseArray = withThese.toArray(new String[withThese.size()]); plugin.triggerMessages(player, "oncommand|" + split[0], replaceTheseArray, withTheseArray); if (split[0].equalsIgnoreCase("/rTriggers")) { plugin.triggerMessages(player, "onrTriggers", replaceTheseArray, withTheseArray); event.setCancelled(true); } if (plugin.triggerMessages( player, "oncommand|" + split[0] + "|override", replaceTheseArray, withTheseArray) || plugin.triggerMessages( player, "oncommand|" + split[0] + "|override|" + numParams, replaceTheseArray, withTheseArray)) { event.setCancelled(true); } return; }
@Override public void onPlayerJoin(PlayerJoinEvent event) { Player triggerMessage = event.getPlayer(); plugin.triggerMessages(triggerMessage, "onlogin"); if (plugin.triggerMessages(triggerMessage, "onlogin|override")) { event.setJoinMessage(""); } return; }
@Override public void onPlayerQuit(PlayerQuitEvent event) { Player triggerMessage = event.getPlayer(); plugin.triggerMessages(triggerMessage, "ondisconnect"); if (plugin.triggerMessages(triggerMessage, "ondisconnect|override")) { event.setQuitMessage(""); } plugin.deathCause.remove(triggerMessage.getEntityId()); plugin.deathBringer.remove(triggerMessage.getEntityId()); return; }
@Override public void onPlayerKick(PlayerKickEvent event) { Player triggerMessage = event.getPlayer(); String[] replaceThese = {"<<kick-reason>>", "<<kickedplayer>>"}; String[] withThese = {event.getReason(), triggerMessage.getName()}; plugin.triggerMessages(triggerMessage, "onkick", replaceThese, withThese); }
@Override public void onPlayerRespawn(PlayerRespawnEvent event) { plugin.triggerMessages(event.getPlayer(), "onrespawn"); }
@Override public void onPlayerBedEnter(PlayerBedEnterEvent event) { plugin.triggerMessages(event.getPlayer(), "onbedenter"); if (plugin.triggerMessages(event.getPlayer(), "onbedenter|override")) event.setCancelled(true); }