/** * Determine whether or not to pass the given packet event to the packet listeners. * <p> * Uses a default filter failure handler that simply prints the error message and removes the filter. * @param event - the event. * @return TRUE if we should, FALSE otherwise. */ public boolean filterEvent(PacketEvent event) { return filterEvent(event, getDefaultErrorHandler()); }
/** * Initialize the script engine if necessary. */ private void checkScriptStatus() { // Start the engine if (uninitialized) { uninitialized = false; initalizeScript(); } }
@Override protected boolean handleCommand(CommandSender sender, String[] args) { checkScriptStatus(); return true; if (!isInitialized()) { sender.sendMessage(ChatColor.RED + "JavaScript engine was not present. Filter system is disabled."); return true; final SubCommand command = parseCommand(args, 0); final String name = args[1]; case ADD: if (findFilter(name) != null) { sender.sendMessage(ChatColor.RED + "Filter " + name + " already exists. Remove it first."); return true; Deque<String> rangeArguments = toQueue(args, 2); Filter filter = findFilter(name);
private void initalizeScript() { try { initializeEngine(); if (!isInitialized()) { throw new ScriptException("A JavaScript engine could not be found."); } else { printPackageWarning(e1); initializeEngine(); if (!isInitialized()) { reporter.reportWarning(this, Report.newBuilder(REPORT_CANNOT_LOAD_FALLBACK_ENGINE)); printPackageWarning(e2);
@Override public void onPacketReceiving(PacketEvent event) { if (filter.filterEvent(event)) { printInformation(event); } }
break; case FILTER: commandFilter = new CommandFilter(reporter, this, config); break; case PACKET:
@Override public void onPacketSending(PacketEvent event) { if (filter.filterEvent(event)) { printInformation(event); } }