• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Chatformat gesetzt --> Bei "%" wird es aber ignoriert..

AconTM

Schafhirte
Registriert
15 Juni 2015
Beiträge
118
Alter
29
Diamanten
260
Minecraft
AconTM
Ich habe aktuell folgendes Problem.. Ich habe mein Chatformat auf dem Server selbst gesetzt
und das klappt auch alles (via Permission***).. Leider habe ich grade nur gemerkt das sobald ein
"%" im Chat steht das gesammte Format ignoriert wird.. Kann da jemand nen kurzen Lösungsansatz
zu geben?

Code:
public class ChatListener implements Listener{
   
    public static String format(String format){
        return ChatColor.translateAlternateColorCodes('&', format);
        }
   
   
    @EventHandler (priority=EventPriority.HIGHEST)
    public void format(AsyncPlayerChatEvent e) {
   
        Player p = e.getPlayer();
        if(p.hasPermission("pc.color")) {
            PermissionUser user = Permission***.getUser(p);
            String prefix = user.getPrefix(p.getWorld().toString());
            String format = ChatColor.translateAlternateColorCodes('&', Main.getPlugin().getConfig().getString("Format").replace("{name}", p.getName()).replace("{message}", e.getMessage()).replace("{prefix}", prefix));
            e.setMessage(ChatColor.translateAlternateColorCodes('&', e.getMessage()));
            e.setFormat(format);
        } else {
            PermissionUser user = Permission***.getUser(p);
            String prefix = user.getPrefix(p.getWorld().toString());
            String format = Main.getPlugin().getConfig().getString("Format").replace("{name}", p.getName()).replace("{message}", e.getMessage()).replace("{prefix}", prefix);
            e.setMessage(ChatColor.translateAlternateColorCodes('&', e.getMessage()));
            e.setFormat(format);
        }
   
    }
   
}
 

CodeClazz

Minecrafter
Gesperrt
Registriert
17 Juni 2017
Beiträge
15
Alter
26
Diamanten
300
soweit ich weiß kann man dies beheben, indem man das %-Zeichen durch zwei %% ersetzt, da nur, wenn eins einzeln geschrieben ist, nicht formatiert wird.

Habs lange nicht mehr ausprobiert, meinte aber, es wäre so gewesen :D

LG Julian
 

AconTM

Schafhirte
Registriert
15 Juni 2015
Beiträge
118
Alter
29
Diamanten
260
Minecraft
AconTM
@Floating Apps es hat etwas gedauert aber jetzt klappt alles ^^ dank dir. Hier noch der
Code für die, die das selbe Problem haben:

Code:
package de.acontm.pixelcore.listener;

import org.bukkit.ChatColor;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.player.AsyncPlayerChatEvent;

import de.acontm.pixelcore.main.Main;
import ru.tehkode.permissions.PermissionUser;
import ru.tehkode.permissions.bukkit.Permission***;

public class ChatListener implements Listener{
   
    public static String format(String format){
        return ChatColor.translateAlternateColorCodes('&', format);
        }
   
   
    @EventHandler (priority=EventPriority.HIGHEST)
    public void format(AsyncPlayerChatEvent e) {
   
        Player p = e.getPlayer();
        if(p.hasPermission("pc.color")) {
            PermissionUser user = Permission***.getUser(p);
            String prefix = user.getPrefix(p.getWorld().toString());
            String format = ChatColor.translateAlternateColorCodes('&', Main.getPlugin().getConfig().getString("Format").replace("{name}", "%s").replace("{message}", "%s").replace("{prefix}", prefix));
            e.setMessage(ChatColor.translateAlternateColorCodes('&', e.getMessage()));
            e.setFormat(format + "%s");
        } else {
            PermissionUser user = Permission***.getUser(p);
            String prefix = user.getPrefix(p.getWorld().toString());
            String format = Main.getPlugin().getConfig().getString("Format").replace("{name}", "%s").replace("{prefix}", prefix);
            e.setFormat(format + "%s");
        }
   
    }
   
}
 
Oben