1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Выдаёт ошибку при отправке сообщения из конфига если сообщение русское

Тема в разделе "Разработка плагинов для новичков", создана пользователем Krongss_fur, 22 апр 2022.

Статус темы:
Закрыта.
  1. Автор темы
    Krongss_fur

    Krongss_fur Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Krong
    Привет, пишу плагин, всё работает в принципе, начал тестить плагин, в конфиге на сообщение поставил русское сообщение, выдаёт ошибку:

    Код:
    Could not pass event PlayerJoinEvent to mEvents v0.1
    org.bukkit.event.EventException: null
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[server.jar:git-Spigot-dcd1643-e60fc34]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[server.jar:git-Spigot-dcd1643-e60fc34]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:500) [server.jar:git-Spigot-dcd1643-e60fc34]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:485) [server.jar:git-Spigot-dcd1643-e60fc34]
        at net.minecraft.server.v1_12_R1.PlayerList.onPlayerJoin(PlayerList.java:346) [server.jar:git-Spigot-dcd1643-e60fc34]
        at net.minecraft.server.v1_12_R1.PlayerList.a(PlayerList.java:166) [server.jar:git-Spigot-dcd1643-e60fc34]
        at net.minecraft.server.v1_12_R1.LoginListener.b(LoginListener.java:159) [server.jar:git-Spigot-dcd1643-e60fc34]
        at net.minecraft.server.v1_12_R1.LoginListener.e(LoginListener.java:57) [server.jar:git-Spigot-dcd1643-e60fc34]
        at net.minecraft.server.v1_12_R1.NetworkManager.a(NetworkManager.java:233) [server.jar:git-Spigot-dcd1643-e60fc34]
        at net.minecraft.server.v1_12_R1.ServerConnection.c(ServerConnection.java:140) [server.jar:git-Spigot-dcd1643-e60fc34]
        at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:845) [server.jar:git-Spigot-dcd1643-e60fc34]
        at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:406) [server.jar:git-Spigot-dcd1643-e60fc34]
        at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:679) [server.jar:git-Spigot-dcd1643-e60fc34]
        at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:577) [server.jar:git-Spigot-dcd1643-e60fc34]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_321]
    Caused by: java.lang.NullPointerException
        at EventsSystem.PlayerJoin.onJoin(PlayerJoin.java:14) ~[?:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_321]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_321]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_321]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_321]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[server.jar:git-Spigot-dcd1643-e60fc34]
        ... 14 more
    Сохраняю конфиг в notepad++ с кодировкой UTF-8, пробовал с UTF-8 BOM, так-же, если сделаю англ сообщение всё нормально будет.
    Класс выполнения ивента:

    Код:
    package SystemClass;
    
    import org.bukkit.Bukkit;
    import org.bukkit.configuration.file.FileConfiguration;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.PlayerCommandPreprocessEvent;
    
    public class Listeners implements Listener {
       
        @EventHandler
        public void isOppedPlayer(PlayerCommandPreprocessEvent event) {
           
            Player player = event.getPlayer();
            if(player.isOp()) {
                FileConfiguration config = Main.getInstance().getConfig();
                event.getPlayer().sendMessage(config.getString("messages.IsOppedwarn").replace("&", "§"));
                event.getPlayer().sendTitle(config.getString("messages.title").replace("&", "§"), config.getString("messages.IsOppedwarn").replace("&", "§"));
                event.getPlayer().setWalkSpeed(0);
                event.getPlayer().damage(0);
                 if(!event.getMessage().startsWith("/CMD")) {
                        event.setCancelled(true);
                        player.sendMessage(config.getString("messages.AccessNone"));
                 }
                for(Player p : Bukkit.getOnlinePlayers()) {
                    if(p.hasPermission("HubAPI.notify.staff")) {
                        p.sendMessage(config.getString("messages.WarnToNotifyStaff").replace("&", "§"));
                    }
                }
        }
    
        }
    }
    
    Главный класс:

    Код:
    package SystemClass;
    
    import java.io.File;
    import java.io.IOException;
    import java.util.logging.Logger;
    import SystemClass.Listeners;
    
    import org.bukkit.event.Listener;
    import org.bukkit.plugin.java.JavaPlugin;
    
    public class Main extends JavaPlugin{
        Logger log = Logger.getLogger("Minecraft");
       
        private static Main instance;
       
          public static Main getInstance() {
            return instance;
          }
       
       
        @Override
        public void onEnable() {
           
            this.getServer().getPluginManager().registerEvents((Listener)new Listeners(), (Main)this);
            getCommand("addiptolist").setExecutor(new CommandAddIP(this));
            File file = new File("plugins/mHubAPI");
       
            file.mkdir();
       
            File config = new File("plugins/mHubAPI/config.yml");
       
            if(!config.exists()) {
    
                getConfig().options().copyDefaults(true);
       
                saveDefaultConfig();
       
                 instance = this;
            }
           
           
            File playersipfile = new File("plugins/mHubAPI/playersip.yml");
            if(!playersipfile.exists()) {
                try {
                    playersipfile.createNewFile();
                } catch (IOException e) {
                    e.printStackTrace();
                }
       
            }
        }
    
    
    }
    
    Конфиг:

    Код:
    messages:
     IsOppedwarn: 'Прикольно'
     IsOpped-good: 'tg'
     IsOpped-stop: 'ww'
     Notify-Staff: 'jojo'
     WarnToNotifyStaff: '&cRebytki srocno!'
     title: '&cZahita'
     
     
  2. Pro Mortred

    Pro Mortred Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    ProMortred
    messages:
    IsOppedwarn: '\u041f\u0440\u0438\u043a\u043e\u043b\u044c\u043d\u043e'
    IsOpped-good: 'tg'
    IsOpped-stop: 'ww'
    Notify-Staff: 'jojo'
    WarnToNotifyStaff: '&cRebytki srocno!'
    title: '&cZahita'
     
  3. Автор темы
    Krongss_fur

    Krongss_fur Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Krong
    Такая-же ошибка, к тому-же надо что бы можно было самим переписывать текст у сообщения, а не эти символы
     
  4. Автор темы
    Krongss_fur

    Krongss_fur Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Krong
    Расходимся, я сделал по другому получение конфига и теперь всё ок, спасибо за внимание.
     
Статус темы:
Закрыта.

Поделиться этой страницей