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

Статус
Закрыто для дальнейших ответов.

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(playerName, leash);
//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
 
ты на каждый евент создаешь объект плагина, или по сути второй плагин.
Ядро срется, что запускается плагин, который уже запущен.

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

Как тебе и сказали
Спасибо. Ваше "чет такое" прям таки мне помогло. (нет)
Решил проблему конструктором в классе с ивентом:
PHP:
public LeashEvents(Plugin plugin){
        this.mainClass = plugin;
    }
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх