@Override public void run() { ServerCommandEvent event = EventFactory.getInstance() .callEvent(new ServerCommandEvent(sender, command)); if (!event.isCancelled()) { server.dispatchCommand(sender, event.getCommand()); } } }
@EventHandler public void onPluginDisable(PluginDisableEvent event) { String name = event.getPlugin().getDescription().getName(); if (event.getPlugin() instanceof PermissionsProvider || "permissions".equalsIgnoreCase(name) || "permissionsex".equalsIgnoreCase(name) || "bpermissions".equalsIgnoreCase(name) || "groupmanager".equalsIgnoreCase(name) || "vault".equalsIgnoreCase(name)) { load(); } }
@EventHandler public void onPluginEnable(PluginEnableEvent event) { Plugin plugin = event.getPlugin(); String name = plugin.getDescription().getName(); if (plugin instanceof PermissionsProvider) { setPluginPermissionsResolver(plugin); } else if ("permissions".equalsIgnoreCase(name) || "permissionsex".equalsIgnoreCase(name) || "bpermissions".equalsIgnoreCase(name) || "groupmanager".equalsIgnoreCase(name) || "vault".equalsIgnoreCase(name)) { load(); } }
.channel().remoteAddress(); ServerListPingEvent legacyPingEvent = new ServerListPingEvent( inetsocketaddress.getAddress(), server.getMotd(), server.getOnlinePlayers().size(), server.getMaxPlayers()); case 0: sendByteBuf(channelHandlerContext, responseToByteBuf(channelHandlerContext, String.format("%s§%d§%d", legacyPingEvent.getMotd(), legacyPingEvent.getNumPlayers(), legacyPingEvent.getMaxPlayers()))); legacyPingProtocol = true; break; .format("§1\0%d\0%s\0%s\0%d\0%d", GlowServer.PROTOCOL_VERSION, GlowServer.GAME_VERSION, legacyPingEvent.getMotd(), legacyPingEvent.getNumPlayers(), legacyPingEvent.getMaxPlayers()))); legacyPingProtocol = true; .format("§1\0%d\0%s\0%s\0%d\0%d", GlowServer.PROTOCOL_VERSION, GlowServer.GAME_VERSION, legacyPingEvent.getMotd(), legacyPingEvent.getNumPlayers(), legacyPingEvent.getMaxPlayers()))); legacyPingProtocol = true;
@Override public void setMOTD(String motd) { slp.setMotd(motd); }
@Override public int broadcast(String message, String permission) { int count = 0; Set<CommandSender> sent = new HashSet<>(); for (Permissible permissible : getPluginManager().getPermissionSubscriptions(permission)) { if (permissible instanceof CommandSender && permissible.hasPermission(permission)) { CommandSender cs = ((CommandSender) permissible); sent.add(cs); } } BroadcastMessageEvent event = EventFactory.getInstance() .callEvent(new BroadcastMessageEvent(message, sent)); if (event.isCancelled()) { return 0; } sent.forEach(cs -> cs.sendMessage(message)); return sent.size(); }
@Override public String getCommand() { return sce.getCommand(); }
unregisteredEvents.add(new ServiceUnregisterEvent(registered));
private void handleCommand(ChannelHandlerContext ctx, String payload, int requestId) { if (!loggedIn) { sendResponse(ctx, FAILURE, TYPE_COMMAND, ""); return; } try { RemoteServerCommandEvent event = EventFactory.getInstance() .callEvent(new RemoteServerCommandEvent(commandSender, payload)); if (event.isCancelled()) { return; } rconServer.getServer().dispatchCommand(commandSender, event.getCommand()); String message = commandSender.flush(); if (!rconServer.getServer().useRconColors()) { message = ChatColor.stripColor(message); } sendLargeResponse(ctx, requestId, message); } catch (CommandException e) { sendLargeResponse(ctx, requestId, String.format("Error executing: %s (%s)", payload, e.getMessage())); } }
public void enablePlugin(final Plugin plugin) { Validate.isTrue(plugin instanceof JavaPlugin, "Plugin is not associated with this PluginLoader"); if (!plugin.isEnabled()) { plugin.getLogger().info("Enabling " + plugin.getDescription().getFullName()); JavaPlugin jPlugin = (JavaPlugin) plugin; String pluginName = jPlugin.getDescription().getName(); if (!loaders.containsKey(pluginName)) { loaders.put(pluginName, (PluginClassLoader) jPlugin.getClassLoader()); } try { jPlugin.setEnabled(true); } catch (Throwable ex) { server.getLogger().log(Level.SEVERE, "Error occurred while enabling " + plugin.getDescription().getFullName() + " (Is it up to date?)", ex); } // Perhaps abort here, rather than continue going, but as it stands, // an abort is not possible the way it's currently written server.getPluginManager().callEvent(new PluginEnableEvent(plugin)); } }
plugin.getLogger().info(message); server.getPluginManager().callEvent(new PluginDisableEvent(plugin));
@Override public InetAddress getAddress() { return slp.getAddress(); }
@Override public int getNumPlayers() { return slp.getNumPlayers(); }
@Override public String getMOTD() { return slp.getMotd(); }
/** * Register a provider of a service. * * @param <T> Provider * @param service service class * @param provider provider to register * @param plugin plugin with the provider * @param priority priority of the provider */ public <T> void register(Class<T> service, T provider, Plugin plugin, ServicePriority priority) { RegisteredServiceProvider<T> registeredProvider = null; synchronized (providers) { List<RegisteredServiceProvider<?>> registered = providers.get(service); if (registered == null) { registered = new ArrayList<RegisteredServiceProvider<?>>(); providers.put(service, registered); } registeredProvider = new RegisteredServiceProvider<T>(service, provider, priority, plugin); // Insert the provider into the collection, much more efficient big O than sort int position = Collections.binarySearch(registered, registeredProvider); if (position < 0) { registered.add(-(position + 1), registeredProvider); } else { registered.add(position, registeredProvider); } } Bukkit.getServer().getPluginManager().callEvent(new ServiceRegisterEvent(registeredProvider)); }
@Override public void setMaxPlayers(int max) { slp.setMaxPlayers(max); }
@Override public void setMessage(String message) { this.bme.setMessage(message); }
@Override public void setCommand(String command) { sce.setCommand(command); }
unregisteredEvents.add(new ServiceUnregisterEvent(registered));
unregisteredEvents.add(new ServiceUnregisterEvent(registered));