【发布时间】:2015-03-14 13:37:33
【问题描述】:
package me.Nitsua.SwearCatcher;
import java.util.logging.Logger;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.Listener;
import org.bukkit.plugin.PluginDescriptionFile;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.event.Event;
public class SwearCatcher extends JavaPlugin {
public final Logger logger = Logger.getLogger("Minecraft");
@SuppressWarnings("rawtypes")
public static SwearCatcher plugin;
@Override
public void onDisable() {
PluginDescriptionFile pdfFile = this.getDescription();
this.logger.info(pdfFile.getName() + " has been disabled!");
}
@Override
public void onEnable() {
PluginDescriptionFile pdfFile = this.getDescription();
this.logger.info(pdfFile.getName() + " Version " + pdfFile.getVersion() + " Has Been Enabled!");
PluginManager pm = getServer().getPluginManager();
int count = 0;
String[] id;
String[] swear;
String[] change;
public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
Player player = (Player) sender;
if(commandLabel.equalsIgnoreCase("sc") || commandLabel.equalsIgnoreCase("swearcatcher")) {
if (args.length == 0) {
player.sendMessage("/sc <Swear> <Change>");
player.sendMessage("/sc list");
player.sendMessage("/sc remove <number>");
}
if (args.length == 1){
if (args[0] == "list"){
for (int i=0; i = count; i++){
player.sendMessage(id[i] +swear[i] + change[i]);
}
}
}
if (args.length== 2) {
if (args[0] == "remove" && args[0] != "") {
id[args[1]] = 0;
swear[args[1]] = 0;
change[args[1]] = 0;
}
if (args[0] != "remove" && args[0] != "list"){
count = count + 1;
id[count] = id[count];
swear[count] = swear[args[1]];
change[count] = change[args[2]];
}
}
}
return false;
}
@EventHandler
public void playerchats(AsyncPlayerChatEvent event){
event.setCancelled(true);
chat = event.getMessage();
for (i = 0, i = count;;) {
chat = chat.replaceAll(swear[i], change[i]);
}
event.setMessage(chat);
}
}
}
//plugin.yml
name: SwearCatcher
main: me.Bench3.SwearCatcher.SwearCatcher
version: 1.0
description: Pulls swear words from chat, and makes them better to read!
main: me.Nitsua234.SwearCatcher.SwearCatcher
author: Nitsua234
commands:
sc list:
description: List all the swear words, their changes, and their id's.
sc remove <swear id>:
description: removes a swear from the list.
sc <swear> <change>:
description: replaces a swear with something nice.
我的问题: 1. 以 public Boolean onCommand( 它一直说我应该用 (,)s 替换某些括号,尽管我确信这是错误的。
它不会加载,它一直告诉我我有一个无效的 plugin.yml,它就在我的代码下方。它一直告诉我我有一个不好的描述,虽然它很好(或者我认为它是)。
我仍在尝试尝试事件,所以如果您有任何提示,将不胜感激:)。我尝试使用 AsyncPlayerChatEvent,我想我需要实现监听器。
【问题讨论】:
-
我建议在每个 if 语句的末尾添加
return false;或return true;。它没有出现在日食中,但我相信它会引起问题。我知道的就这么多了。
标签: java eclipse plugins minecraft bukkit