Ich bin nicht sicher, wie ich Benutzern meines Plugins erlauben kann, Farbcodes mit &
einzugeben und sie richtig anzuzeigen. Ich weiß, dass ich die Konstanten in ChatColor
verwenden kann, um verschiedene Farben in Nachrichten zu setzen, die vom Plugin gesendet werden, aber ich weiß nicht, wie man Benutzern erlaubt, ihre eigenen farbigen Nachrichten einzugeben.Wie kann ich vom Benutzer eingegebene Nachrichten mit Farbcodes, die mit '&' angezeigt werden, farbig im Spiel anzeigen lassen?
Hier ist mein Code:
package me.avy.simplemotd;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.plugin.java.JavaPlugin;
public class motd extends JavaPlugin implements Listener {
@EventHandler
public void onPlayerJoin(PlayerJoinEvent e) {
Player p = e.getPlayer();
p.sendMessage(ChatColor.AQUA + getConfig().getString("message"));
}
public void onEnable()
{
Bukkit.getServer().getLogger().info(" SimpleMotd enabled correctly!");
saveDefaultConfig();
Bukkit.getServer().getPluginManager().registerEvents(this, this);
}
public void onDisable()
{
Bukkit.getServer().getLogger().info(" SimpleMotd disabled correctly!");
}
public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
if (cmd.getName().equalsIgnoreCase("motd")) {
sender.sendMessage(ChatColor.AQUA + "MOTD: " + getConfig().getString("message"));
return true;
}
if (cmd.getName().equalsIgnoreCase("setmotd")) {
if (!sender.hasPermission("motd.set")) {
sender.sendMessage(ChatColor.RED + "You are not permitted to do this!");
return true;
}
if (args.length == 0) {
sender.sendMessage(ChatColor.RED + "Please specify a message!");
return true;
}
StringBuilder str = new StringBuilder();
for (int i = 0; i < args.length; i++) {
str.append(args[i] + " ");
}
String motd = str.toString();
getConfig().set("message", motd);
saveConfig();
sender.sendMessage(ChatColor.GREEN + "MOTD set to: " + motd);
return true;
}
return true;
}
}
ich Spieler wollen in der Lage sein /setmotd &cRed &aGreen &9Blue
zu bedienen und haben die MOTD mit den entsprechenden Farben, um sie angezeigt werden, die Minecraft color code format verwenden. Es gibt mehrere andere Plugins, die in der Lage sind, Nachrichten anzuzeigen, die auf diese Weise eingestellt sind, also muss es möglich sein.
Wie kann ich eine Nachricht wie &cRed &aGreen &9Blue
in eine Nachricht konvertieren, die korrekt im Spiel angezeigt wird?
Bitte geben Sie ein korrektes Format, so dass der genaue Teil des Codes + präzise Frage + präzise Problem angepriesen. Sonst ist es jedem zu schwierig, dir zu helfen. – Cukic0d
Was passiert, wenn Sie es ausführen? – Zac
Zac, ich möchte nur Farbcode im Plugin erlauben. Z.B. "& 6" – avy