Auf Antoxia.net kannst du dir kostenlos einen Minecraft Server aufsetzen

...zur Antwort
Spigot 1.12.2 : config.yml existiert nicht , kann aber genutzt werden?

Ich hab gerade ein komisches Phänomen dass mir irgendwie den Kopf durch brennen lässt.

Und zwar wollt ich als kleiner Test für mich ein JoinMessage Plugin machen.

Doch jetzt habe ich ein Problem anscheinend wird die JoinMessage gersaved und kann sogar beim beitreten geladen werden und angezeigt , doch sie ist nicht zu finden:

Meine Main Klasse:

public class Main extends JavaPlugin{

	
	private static Main plugin;
	
	public void onEnable() {
		plugin = this;
		
		getCommand("setJoinMessage").setExecutor(new SetJoinMessage());
		FileConfiguration config = Main.getPlugin(this.getClass()).getConfig();
		config.getString("en.Join");
		
		PluginManager PM = Bukkit.getPluginManager();
		PM.registerEvents(new JoinListener(), this);
	}
	
	public static Main getPlugin() {
		return plugin;
	}
}

Meine Listener Klasse:

	public class JoinListener implements Listener {
	@EventHandler
	public void handlePlayerJoin(PlayerJoinEvent event) {
		FileConfiguration config = Main.getPlugin().getConfig();
		String message = config.getString("en.Join");
		message.replace("%Player%", event.getPlayer().getName());
		event.setJoinMessage(message);
	}
}

Und die Klasse für den Befehl um die Message in Game zu ändern:

package de.Yuno.JM.commands;


import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;
import de.Yuno.JM.Main;


public class SetJoinMessage implements CommandExecutor{


	@Override
	public boolean onCommand(CommandSender sender, Command command, String arg, String[] args) {
		if(sender instanceof Player) {
			Player player = (Player) sender;
			if(player.hasPermission("JM.setJoinMessage")) {
				if(args.length > 0) {
					String message = IterateArray(args,0);
					if(message.contains("%Player%")) {
						FileConfiguration config = Main.getPlugin().getConfig();
						config.set("en.Join", message);
						player.sendMessage("§aThe new Join Message is changed and saved !");
					} else {
						player.sendMessage("§cThe Join Message needs to contain §e%Player% §c!");
					}
				} else {
					player.sendMessage("§cUse §e/setJoinMessage [JoinMessage] §c!");
				}
			} else {
				player.sendMessage("§cYou don´t have the Permission for this !");
			}
	public String IterateArray(String[] list,int value) {
		String output = "";
		while(value < list.length) {
			output += list[value] + " ";
			value++;
		}
		return output;
	}
}

Ich verstehe nicht. Hab ich was falsch gemacht?

...zum Beitrag

Ich denke du musst die config danach auch speichern

...zur Antwort

Ist dein Server vielleicht nicht im Online-Mode? Wenn ja dann musst du in den Server properties.yml den Online-Mode von false auf true setzen und den Server neustarten. Solltest du keinen MC-Account besitzen geht es leider nicht die Köpfe von anderen Spielern in der Tablet anzeigen zu lassen ( Ich bin mir nicht sicher ob es Plugins gibt die so etwas machen können)

...zur Antwort