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

Помогите Не ставится metadata в event`е

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

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

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

    Баллы:
    66
    PHP:
    @EventHandler
        
    public void onLeash(PlayerLeashEntityEvent event) {

            
    //Если привязали к забору
            
    if(event.getLeashHolder().getType().equals(EntityType.LEASH_HITCH) &&
                    (
                            
    event.getEntity().getType().equals(EntityType.HORSE) ||
                            
    event.getEntity().getType().equals(EntityType.MULE)) ||
                            
    event.getEntity().getType().equals(EntityType.DONKEY)
                    ){

                
    Location leash event.getLeashHolder().getLocation();
                
    Entity horse event.getEntity();
                
    String playerName event.getPlayer().getName();

                
    leashedHorses.put(
                        
    playerName,
                        
    horse
                
    );
                
    leashHolderLocations.put(playerNameleash);
    //RolePlayHorse главный класс
    // класс extends JavaPlugin один
                
    horse.setMetadata("owner", new FixedMetadataValue(new RolePlayHorse(), playerName)); // тут ошибка
                
    event.getPlayer().sendMessage("Вы привязали свою лошадь к забору");
        }
    [14:50:46 ERROR]: Could not pass event PlayerLeashEntityEvent to RP-Horse v1.0
    org.bukkit.event.EventException: null
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[spigot.jar:git-Spigot-c3093ef-3a482bd]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot.jar:git-Spigot-c3093ef-3a482bd]
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:500) [spigot.jar:git-Spigot-c3093ef-3a482bd]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:485) [spigot.jar:git-Spigot-c3093ef-3a482bd]
    at org.bukkit.craftbukkit.v1_12_R1.event.CraftEventFactory.callPlayerLeashEntityEvent(CraftEventFactory.java:960) [spigot.jar:git-Spigot-c3093ef-3a482bd]
    at net.minecraft.server.v1_12_R1.ItemLeash.a(ItemLeash.java:57) [spigot.jar:git-Spigot-c3093ef-3a482bd]
    at net.minecraft.server.v1_12_R1.BlockFence.interact(SourceFile:156) [spigot.jar:git-Spigot-c3093ef-3a482bd]
    at net.minecraft.server.v1_12_R1.PlayerInteractManager.a(PlayerInteractManager.java:497) [spigot.jar:git-Spigot-c3093ef-3a482bd]
    at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:951) [spigot.jar:git-Spigot-c3093ef-3a482bd]
    at net.minecraft.server.v1_12_R1.PacketPlayInUseItem.a(PacketPlayInUseItem.java:37) [spigot.jar:git-Spigot-c3093ef-3a482bd]
    at net.minecraft.server.v1_12_R1.PacketPlayInUseItem.a(PacketPlayInUseItem.java:1) [spigot.jar:git-Spigot-c3093ef-3a482bd]
    at net.minecraft.server.v1_12_R1.PlayerConnectionUtils$1.run(SourceFile:13) [spigot.jar:git-Spigot-c3093ef-3a482bd]
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:?]
    at java.util.concurrent.FutureTask.run(Unknown Source) [?:?]
    at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) [spigot.jar:git-Spigot-c3093ef-3a482bd]
    at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:748) [spigot.jar:git-Spigot-c3093ef-3a482bd]
    at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:406) [spigot.jar:git-Spigot-c3093ef-3a482bd]
    at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:679) [spigot.jar:git-Spigot-c3093ef-3a482bd]
    at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:577) [spigot.jar:git-Spigot-c3093ef-3a482bd]
    at java.lang.Thread.run(Unknown Source) [?:?]
    Caused by: java.lang.IllegalArgumentException: Plugin already initialized!
    at org.bukkit.plugin.java.PluginClassLoader.initialize(PluginClassLoader.java:183) ~[spigot.jar:git-Spigot-c3093ef-3a482bd]
    at org.bukkit.plugin.java.JavaPlugin.<init>(JavaPlugin.java:60) ~[spigot.jar:git-Spigot-c3093ef-3a482bd]
    at xyz.serega100.RolePlay.Horse.RolePlayHorse.<init>(RolePlayHorse.java:10) ~[?:?]
    at xyz.serega100.RolePlay.Horse.parking.LeashEvents.onLeash(LeashEvents.java:40) ~[?:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:?]
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:?]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:?]
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[spigot.jar:git-Spigot-c3093ef-3a482bd]
    ... 19 more
    Caused by: java.lang.IllegalStateException: Initial initialization
    at org.bukkit.plugin.java.PluginClassLoader.initialize(PluginClassLoader.java:186) ~[spigot.jar:git-Spigot-c3093ef-3a482bd]
    at org.bukkit.plugin.java.JavaPlugin.<init>(JavaPlugin.java:60) ~[spigot.jar:git-Spigot-c3093ef-3a482bd]
    at xyz.serega100.RolePlay.Horse.RolePlayHorse.<init>(RolePlayHorse.java:10) ~[?:?]
    at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?]
    at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[?:?]
    at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) ~[?:?]
    at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[?:?]
    at java.lang.Class.newInstance(Unknown Source) ~[?:?]
    at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:90) ~[spigot.jar:git-Spigot-c3093ef-3a482bd]
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:129) ~[spigot.jar:git-Spigot-c3093ef-3a482bd]
    at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:327) ~[spigot.jar:git-Spigot-c3093ef-3a482bd]
    at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:248) ~[spigot.jar:git-Spigot-c3093ef-3a482bd]
    at org.bukkit.craftbukkit.v1_12_R1.CraftServer.loadPlugins(CraftServer.java:305) ~[spigot.jar:git-Spigot-c3093ef-3a482bd]
    at net.minecraft.server.v1_12_R1.DedicatedServer.init(DedicatedServer.java:205) ~[spigot.jar:git-Spigot-c3093ef-3a482bd]
    at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:545) ~[spigot.jar:git-Spigot-c3093ef-3a482bd]
    ... 1 more
     
  2. Zнамя Юности

    Zнамя Юности Активный участник Пользователь

    Баллы:
    76
    ну естественно. какого хрена ты его инициализируешь второй раз. тут должно быть RolePlayHorse.instance или чет такое
     
  3. Автор темы
    php5master

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

    Баллы:
    66
    Один раз в одном классе
     
  4. Blc_Dragon

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

    Баллы:
    76
    ты на каждый евент создаешь объект плагина, или по сути второй плагин.
    Ядро срется, что запускается плагин, который уже запущен.

    Как тебе и сказали
     
  5. Автор темы
    php5master

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

    Баллы:
    66
    Спасибо. Ваше "чет такое" прям таки мне помогло. (нет)
    Решил проблему конструктором в классе с ивентом:
    PHP:
    public LeashEvents(Plugin plugin){
            
    this.mainClass plugin;
        }
     
Статус темы:
Закрыта.

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