Помогите Не работает PlayerInteractEvent

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

leohacker

Активный участник
Баллы
61
Имя в Minecraft
Leohacker
Делаю плагин для 1.18 не работает PlayerInteractEvent, registerEvents есть и он функционирует нормально т.к. другие ивенты работают.
Код:
    @EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
    public void a(PlayerInteractEvent e) {
        System.out.println("6");
        //e.setCancelled(true);
    }
Не выводить ничего.
 
Ну может ивент уже кем то отменен, ignoreCancelled = true же.
 
ignoreCancelled = true это же означает игнорировать отмену то есть если кто то её отменил то всё равно выполнить ивент
 
ignoreCancelled = true это же означает игнорировать отмену то есть если кто то её отменил то всё равно выполнить ивент
Можно трактовать и так, но это неверно.
В документации наверняка есть нормальное пояснение.
Да и дословный перевод "игнорировать отмеренные". Если тру - будешь игнорировать.
Короче говоря, если хочешь обрабатывать невзирая на другие плагины - ставь false. Вернее можешь вовсе убрать параметр, поскольку он по-умолчанию false
 
Можете теперь помочь мне с банжи вот такая ошибка
Код:
java.lang.IllegalArgumentException: Channel must contain : separator (attempted to use Bungeecord)
        at org.bukkit.plugin.messaging.StandardMessenger.validateAndCorrectChannel(StandardMessenger.java:503) ~[purpur-api-1.18.1-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.plugin.messaging.StandardMessenger.isOutgoingChannelRegistered(StandardMessenger.java:428) ~[purpur-api-1.18.1-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.plugin.messaging.StandardMessenger.validatePluginMessage(StandardMessenger.java:543) ~[purpur-api-1.18.1-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.craftbukkit.v1_18_R1.entity.CraftPlayer.sendPluginMessage(CraftPlayer.java:1753) ~[purpur-1.18.1.jar:git-Purpur-1523]
        at union.login.Main.sendServer(Main.java:191) ~[NoJoinMessage-1.0-SNAPSHOT.jar:?]
        at union.login.Main.a(Main.java:127) ~[NoJoinMessage-1.0-SNAPSHOT.jar:?]
        at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor28.execute(Unknown Source) ~[?:?]
        at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:75) ~[purpur-api-1.18.1-R0.1-SNAPSHOT.jar:?]
        at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:76) ~[purpur-api-1.18.1-R0.1-SNAPSHOT.jar:git-Purpur-1523]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[purpur-api-1.18.1-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:630) ~[purpur-api-1.18.1-R0.1-SNAPSHOT.jar:?]
        at net.minecraft.server.network.ServerGamePacketListenerImpl.handleContainerClick(ServerGamePacketListenerImpl.java:2921) ~[?:?]
        at net.minecraft.network.protocol.game.ServerboundContainerClickPacket.handle(ServerboundContainerClickPacket.java:58) ~[?:?]
        at net.minecraft.network.protocol.game.ServerboundContainerClickPacket.handle(ServerboundContainerClickPacket.java:13) ~[?:?]
        at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$1(PacketUtils.java:56) ~[?:?]
        at net.minecraft.server.TickTask.run(TickTask.java:18) ~[purpur-1.18.1.jar:git-Purpur-1523]
        at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:149) ~[?:?]
        at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:23) ~[?:?]
        at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1440) ~[purpur-1.18.1.jar:git-Purpur-1523]
        at net.minecraft.server.MinecraftServer.c(MinecraftServer.java:189) ~[purpur-1.18.1.jar:git-Purpur-1523]
        at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:122) ~[?:?]
        at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1418) ~[purpur-1.18.1.jar:git-Purpur-1523]
        at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1411) ~[purpur-1.18.1.jar:git-Purpur-1523]
        at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:132) ~[?:?]
        at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1389) ~[purpur-1.18.1.jar:git-Purpur-1523]
        at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1295) ~[purpur-1.18.1.jar:git-Purpur-1523]
        at net.minecraft.server.MinecraftServer.lambda$spin$1(MinecraftServer.java:322) ~[purpur-1.18.1.jar:git-Purpur-1523]
        at java.lang.Thread.run(Thread.java:833) ~[?:?]
Вот строчка в onEnable
Код:
getServer().getMessenger().registerOutgoingPluginChannel(this, "BungeeCord");
Функция
Код:
private void sendServer(Player player, String server) {
        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
        DataOutputStream dataOutputStream = new DataOutputStream(byteArrayOutputStream);
        try {
            dataOutputStream.writeUTF("Connect");
            dataOutputStream.writeUTF(server);
        } catch (IOException e) {
            e.printStackTrace();
        }
        player.sendPluginMessage(plugin, "Bungeecord", byteArrayOutputStream.toByteArray());
        player.sendMessage(ChatColor.GREEN + "Подключение к серверу....");
    }
И вызов происходит здесь

Код:
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = false)
public void a(InventoryClickEvent e) {
    e.setCancelled(true);
    if (e.getCurrentItem() == null){
        return;
    }
    if (e.getCurrentItem().getType().equals(Material.DRAGON_HEAD) ){
        if (e.isLeftClick()) {
            sendServer((Player)e.getWhoClicked(), "vanilla");
        }
    }
}
 
Можете теперь помочь мне с банжи вот такая ошибка
Код:
java.lang.IllegalArgumentException: Channel must contain : separator (attempted to use Bungeecord)
        at org.bukkit.plugin.messaging.StandardMessenger.validateAndCorrectChannel(StandardMessenger.java:503) ~[purpur-api-1.18.1-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.plugin.messaging.StandardMessenger.isOutgoingChannelRegistered(StandardMessenger.java:428) ~[purpur-api-1.18.1-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.plugin.messaging.StandardMessenger.validatePluginMessage(StandardMessenger.java:543) ~[purpur-api-1.18.1-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.craftbukkit.v1_18_R1.entity.CraftPlayer.sendPluginMessage(CraftPlayer.java:1753) ~[purpur-1.18.1.jar:git-Purpur-1523]
        at union.login.Main.sendServer(Main.java:191) ~[NoJoinMessage-1.0-SNAPSHOT.jar:?]
        at union.login.Main.a(Main.java:127) ~[NoJoinMessage-1.0-SNAPSHOT.jar:?]
        at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor28.execute(Unknown Source) ~[?:?]
        at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:75) ~[purpur-api-1.18.1-R0.1-SNAPSHOT.jar:?]
        at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:76) ~[purpur-api-1.18.1-R0.1-SNAPSHOT.jar:git-Purpur-1523]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[purpur-api-1.18.1-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:630) ~[purpur-api-1.18.1-R0.1-SNAPSHOT.jar:?]
        at net.minecraft.server.network.ServerGamePacketListenerImpl.handleContainerClick(ServerGamePacketListenerImpl.java:2921) ~[?:?]
        at net.minecraft.network.protocol.game.ServerboundContainerClickPacket.handle(ServerboundContainerClickPacket.java:58) ~[?:?]
        at net.minecraft.network.protocol.game.ServerboundContainerClickPacket.handle(ServerboundContainerClickPacket.java:13) ~[?:?]
        at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$1(PacketUtils.java:56) ~[?:?]
        at net.minecraft.server.TickTask.run(TickTask.java:18) ~[purpur-1.18.1.jar:git-Purpur-1523]
        at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:149) ~[?:?]
        at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:23) ~[?:?]
        at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1440) ~[purpur-1.18.1.jar:git-Purpur-1523]
        at net.minecraft.server.MinecraftServer.c(MinecraftServer.java:189) ~[purpur-1.18.1.jar:git-Purpur-1523]
        at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:122) ~[?:?]
        at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1418) ~[purpur-1.18.1.jar:git-Purpur-1523]
        at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1411) ~[purpur-1.18.1.jar:git-Purpur-1523]
        at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:132) ~[?:?]
        at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1389) ~[purpur-1.18.1.jar:git-Purpur-1523]
        at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1295) ~[purpur-1.18.1.jar:git-Purpur-1523]
        at net.minecraft.server.MinecraftServer.lambda$spin$1(MinecraftServer.java:322) ~[purpur-1.18.1.jar:git-Purpur-1523]
        at java.lang.Thread.run(Thread.java:833) ~[?:?]
Вот строчка в onEnable
Код:
getServer().getMessenger().registerOutgoingPluginChannel(this, "BungeeCord");
Функция
Код:
private void sendServer(Player player, String server) {
        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
        DataOutputStream dataOutputStream = new DataOutputStream(byteArrayOutputStream);
        try {
            dataOutputStream.writeUTF("Connect");
            dataOutputStream.writeUTF(server);
        } catch (IOException e) {
            e.printStackTrace();
        }
        player.sendPluginMessage(plugin, "Bungeecord", byteArrayOutputStream.toByteArray());
        player.sendMessage(ChatColor.GREEN + "Подключение к серверу....");
    }
И вызов происходит здесь

Код:
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = false)
public void a(InventoryClickEvent e) {
    e.setCancelled(true);
    if (e.getCurrentItem() == null){
        return;
    }
    if (e.getCurrentItem().getType().equals(Material.DRAGON_HEAD) ){
        if (e.isLeftClick()) {
            sendServer((Player)e.getWhoClicked(), "vanilla");
        }
    }
}
ммм, название канала должно быть не Bungeecord, а BungeeCord. То есть тебя реестр неправильный.
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх