类org.bukkit.event.server.ServerCommandEvent源码实例Demo

下面列出了怎么用org.bukkit.event.server.ServerCommandEvent的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: Carbon   文件: CommandListener.java
@EventHandler
public void onServerCommand(ServerCommandEvent event) {
  FileConfiguration spigot = YamlConfiguration.loadConfiguration(new File(Bukkit.getServer().getWorldContainer(), "spigot.yml"));

  if (event.getCommand().equalsIgnoreCase("reload")) {
    // Restarts server if server is set up for it.
    if (spigot.getBoolean("settings.restart-on-crash")) {
      Bukkit.getLogger().severe("Restarting server due to reload command!");
      event.setCommand("restart");
    } else {
      // Call to server shutdown on disable.
      // Won't hurt if server already disables itself, but will prevent plugin unload/reload.
      Bukkit.getLogger().severe("Stopping server due to reload command!");
      Bukkit.shutdown();
    }
  }
}
 
源代码2 项目: mcspring-boot   文件: EventUtil.java
public static CommandSender getSender(Event event) {
    if (event instanceof PlayerEvent) {
        return ((PlayerEvent) event).getPlayer();
    } else if (event instanceof ServerCommandEvent) {
        return ((ServerCommandEvent) event).getSender();
    } else if (event instanceof EntityEvent) {
        val entityEvent = (EntityEvent) event;
        return entityEvent.getEntity() instanceof Player ? entityEvent.getEntity() : null;
    }
    return getInferredSender(event);
}
 
源代码3 项目: mcspring-boot   文件: CommandInterceptor.java
@EventHandler
void onServerCommand(ServerCommandEvent event) {
    if (event.isCancelled() || commandService.isRegistered()) return;
    val sender = context.getSender();
    val result = commandExecutor.execute(event.getCommand().split(" "));
    event.setCancelled(result.isExists());
    result.getOutput().forEach(sender::sendMessage);
}
 
源代码4 项目: mcspring-boot   文件: CommandInterceptorTest.java
@Test
public void shouldDelegateServerCommandToExecutorWithContext() {
    ServerCommandEvent event = new ServerCommandEvent(player, "say hello");
    commandInterceptor.onServerCommand(event);

    assertTrue(event.isCancelled());
    verify(commandExecutor).execute("say", "hello");
    verify(player).sendMessage("message1");
    verify(player).sendMessage("message2");
}
 
源代码5 项目: mcspring-boot   文件: CommandInterceptorTest.java
@Test
public void shouldNotDelegateServerCommandIfAlreadyRegistered() {
    when(commandService.isRegistered()).thenReturn(true);

    ServerCommandEvent event = new ServerCommandEvent(player, "say hello");
    commandInterceptor.onServerCommand(event);

    verify(commandExecutor, never()).execute(any());
}
 
源代码6 项目: TrMenu   文件: ListenerTabooLibUpdateCommand.java
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
private void onCommand(ServerCommandEvent e) {
    if ("tlibupdate".equalsIgnoreCase(e.getCommand())) {
        e.setCancelled(true);
        e.getSender().sendMessage("§8[§fTabooLib§8] §cWARNING §7| §4Update TabooLib will force to restart your server. Please confirm this action by type §c/tlibupdateConfirm");
    } else if ("tlibupdateConfirm".equalsIgnoreCase(e.getCommand()) || "tlibupdate confirm".equalsIgnoreCase(e.getCommand())) {
        e.setCommand("tlibupdatebbb");
        update(e.getSender());
    }
}
 
源代码7 项目: TabooLib   文件: ListenerCommand.java
@EventHandler(priority = EventPriority.LOWEST)
public void cmd(ServerCommandEvent e) {
    if (e.getCommand().equalsIgnoreCase("saveFiles")) {
        Local.saveFiles();
        LocalPlayer.saveFiles();
        TLogger.getGlobalLogger().info("Successfully.");
    } else if (e.getCommand().equalsIgnoreCase("tDebug")) {
        if (TabooLibAPI.isDebug()) {
            TabooLibAPI.debug(false);
            TLogger.getGlobalLogger().info("&cDisabled.");
        } else {
            TabooLibAPI.debug(true);
            TLogger.getGlobalLogger().info("&aEnabled.");
        }
    } else if (e.getCommand().equalsIgnoreCase("libUpdate")) {
        e.setCancelled(true);
        e.getSender().sendMessage("§8[§fTabooLib§8] §cWARNING §7| §4Update TabooLib will force to restart your server. Please confirm this action by type §c/libupdateconfirm");
    } else if (e.getCommand().equalsIgnoreCase("libUpdateConfirm") || e.getCommand().equalsIgnoreCase("libUpdate confirm")) {
        e.getSender().sendMessage("§8[§fTabooLib§8] §7Downloading TabooLib file...");
        Files.downloadFile("https://skymc.oss-cn-shanghai.aliyuncs.com/plugins/TabooLib.jar", new File("libs/TabooLib.jar"));
        e.getSender().sendMessage("§8[§fTabooLib§8] §2Download completed, the server will restart in 3 secs");
        try {
            Thread.sleep(3000L);
        } catch (InterruptedException e1) {
            e1.printStackTrace();
        }
        Bukkit.shutdown();
    }
}
 
源代码8 项目: Skript   文件: ExprCommand.java
@Override
public boolean init(final Expression<?>[] exprs, final int matchedPattern, final Kleenean isDelayed, final ParseResult parseResult) {
	what = matchedPattern;
	if (!ScriptLoader.isCurrentEvent(PlayerCommandPreprocessEvent.class, ServerCommandEvent.class)) {
		if (what != ARGS) // ExprArgument has the same syntax
			Skript.error("The 'command' expression can only be used in a command event");
		return false;
	}
	return true;
}
 
源代码9 项目: Skript   文件: EvtCommand.java
@SuppressWarnings("null")
@Override
public boolean check(final Event e) {
	if (command == null)
		return true;
	final String message;
	if (e instanceof PlayerCommandPreprocessEvent) {
		assert ((PlayerCommandPreprocessEvent) e).getMessage().startsWith("/");
		message = ((PlayerCommandPreprocessEvent) e).getMessage().substring(1);
	} else {
		message = ((ServerCommandEvent) e).getCommand();
	}
	return StringUtils.startsWithIgnoreCase(message, command)
			&& (command.contains(" ") || message.length() == command.length() || Character.isWhitespace(message.charAt(command.length()))); // if only the command is given, match that command only
}
 
源代码10 项目: Skript   文件: Commands.java
@SuppressWarnings("null")
@EventHandler(priority = EventPriority.HIGHEST)
public void onServerCommand(final ServerCommandEvent e) {
	if (e.getCommand() == null || e.getCommand().isEmpty())
		return;
	if (SkriptConfig.enableEffectCommands.value() && e.getCommand().startsWith(SkriptConfig.effectCommandToken.value())) {
		if (handleEffectCommand(e.getSender(), e.getCommand())) {
			e.setCancelled(true);
		}
		return;
	}
}
 
源代码11 项目: UltimateChat   文件: UCListener.java
@EventHandler
public void onServerCmd(ServerCommandEvent e) {
    String[] args = e.getCommand().replace("/", "").split(" ");
    final String[] msg = {null};
    if (e.getCommand().length() > args[0].length() + 1) {
        msg[0] = e.getCommand().substring(args[0].length() + 1);
    }

    if (msg[0] != null && UChat.get().getUCConfig().getTellAliases().contains(args[0])) {
        if (args.length >= 3) {

            Bukkit.getScheduler().runTaskAsynchronously(UChat.get(), () -> {
                Player p = UChat.get().getServer().getPlayer(args[1]);

                if (p == null || !p.isOnline()) {
                    UChat.get().getLang().sendMessage(e.getSender(), "listener.invalidplayer");
                    return;
                }

                msg[0] = msg[0].substring(args[1].length() + 1);

                UChat.get().tempTellPlayers.put("CONSOLE", p.getName());
                UChat.get().command.add("CONSOLE");
                sendPreTell(UChat.get().getServer().getConsoleSender(), p, msg[0]);
            });

            e.setCancelled(true);
        }
    }
}
 
源代码12 项目: LuckPerms   文件: BukkitCommandExecutor.java
@EventHandler(ignoreCancelled = true)
public void onConsoleCommand(ServerCommandEvent e) {
    if (!(e.getSender() instanceof ConsoleCommandSender)) {
        return;
    }

    String buffer = e.getCommand();
    if (buffer.isEmpty() || buffer.charAt(0) != '/') {
        return;
    }

    buffer = buffer.substring(1);

    String commandLabel;
    int firstSpace = buffer.indexOf(' ');
    if (firstSpace == -1) {
        commandLabel = buffer;
    } else {
        commandLabel = buffer.substring(0, firstSpace);
    }

    Command command = CommandMapUtil.getCommandMap(this.plugin.getBootstrap().getServer()).getCommand(commandLabel);
    if (command != this.command) {
        return;
    }

    e.setCommand(buffer);
}
 
源代码13 项目: NyaaUtils   文件: TpsPingCmdWarpper.java
@EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
public void onServerCommandPreProcess(ServerCommandEvent e) {
    String cmd = e.getCommand();
    if (plugin.cfg.tps_enable && plugin.cfg.tps_override && (cmd.startsWith("tps ") || cmd.equals("tps"))) {
        e.setCommand(cmd.replaceAll("^tps", "nu tps"));
    }

    if (plugin.cfg.ping_enable && plugin.cfg.ping_override && (cmd.startsWith("ping ") || cmd.equals("ping"))) {
        e.setCommand(cmd.replaceAll("^ping", "nu ping"));
    }

    if (plugin.cfg.ping_enable && plugin.cfg.ping_override && (cmd.startsWith("pingtop ") || cmd.equals("pingtop"))) {
        e.setCommand(cmd.replaceAll("^pingtop", "nu pingtop"));
    }
}
 
源代码14 项目: uSkyBlock   文件: ServerCommandPlaceholder.java
@EventHandler
public void onCmd(ServerCommandEvent e) {
    String cmd = e.getCommand();
    String replacement = PlaceholderHandler.replacePlaceholders(e.getSender() instanceof Player ? (Player) e.getSender() : null, cmd);
    if (replacement != null && !cmd.equals(replacement)) {
        e.setCommand(cmd);
    }
}
 
源代码15 项目: PlotMe-Core   文件: BukkitPlotListener.java
@EventHandler
public void onCommand(ServerCommandEvent event) {
    if (event.getCommand().equalsIgnoreCase("/reload") || event.getCommand().equalsIgnoreCase("reload")) {
        event.setCommand("");
        event.getSender().sendMessage("PlotMe disabled /reload to prevent errors from occuring.");
    }
}
 
源代码16 项目: ProtocolSupport   文件: ReloadCommandBlocker.java
@EventHandler
public void onConsoleCommand(ServerCommandEvent event) {
	String command = event.getCommand().toLowerCase();
	if (command.startsWith("/")) {
		command = command.substring(1);
	}
	if (blacklist.contains(command)) {
		event.setCancelled(true);
		event.getSender().sendMessage(ChatColor.DARK_RED + "The reload command has been disabled by ProtocolSupport");
	}
}
 
源代码17 项目: GriefDefender   文件: CommandEventHandler.java
@EventHandler(priority = EventPriority.LOWEST)
public void onServerCommand(ServerCommandEvent event) {
    //CauseTracker.getInstance().getCauseStack().add(event.getSender());
}
 
源代码18 项目: factions-top   文件: CommandListener.java
@EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
public void onCommand(ServerCommandEvent event) {
    event.setCommand(attemptRebind(event.getCommand()));
}
 
源代码19 项目: LuckPerms   文件: BukkitPlatformListener.java
@EventHandler
public void onServerCommand(ServerCommandEvent e) {
    handleCommand(e.getSender(), e.getCommand().toLowerCase(), e);
}
 
源代码20 项目: DiscordSRV   文件: GroupSynchronizationManager.java
@EventHandler(ignoreCancelled = true, priority = EventPriority.MONITOR)
public void onServerCommand(ServerCommandEvent event) {
    checkCommand(event.getCommand());
}
 
源代码21 项目: TradePlus   文件: CommandHandler.java
@EventHandler(ignoreCancelled = true)
public void onServerCommand(ServerCommandEvent event) {
  String[] cmd = event.getCommand().split("\\s+");
  testAndRun(event, event.getSender(), cmd);
}
 
源代码22 项目: BungeePerms   文件: EssentialsBridge.java
@EventHandler
public void onEssReloadCommandConsole(ServerCommandEvent e)
{
    handleEssReload(e.getCommand());
}
 
 类所在包
 同包方法