Так что на моем сервере /me
это активная команда.Я хотел отключить это, потому что я не хочу, чтобы люди могли это делать.
Я изучаю Java, поэтому я решил написать код, который отключил /me
сам.
Поэтому я написал следующий код:
package com.ste999.disableme;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.event.player.AsyncPlayerChatEvent;
public class Main extends JavaPlugin implements Listener
@Override
public void onEnable() {
getLogger().info("disable me enabled");
PluginManager pm = this.getServer().getPluginManager();
pm.registerEvents(this, (this));
}
@Override
public void onDisable() {
getLogger().info("disable me disabled");
}
@EventHandler
public void OnMe(AsyncPlayerChatEvent event)
{
Player p = event.getPlayer();
if(!p.hasPermission("ste999.me")) {
if (event.getMessage().startsWith("/me")) {
event.setCancelled(true);
p.sendMessage("§4Dont me me!");
}
}
}
}
со следующим файлом plugin.yml:
name: Disable_Me
main: com.ste999.disableme.Main
version: 1.0
load: startup
description: this is should disable me
commands:
Теперь, если кто-то без op запустит /me hello
, он не должен выводиться вчат и пользователь должен получить сообщение вроде Dont me me!
Но это не так.пользователь все еще может делать /me hello
без операции, и код должен предотвратить это
Поскольку я довольно новичок в Java, эту ошибку, вероятно, легко найти, и любая помощь будет высоко ценится.