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

Помогите Помогите избавится от ошибки

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

  1. Автор темы
    Todorov26

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

    Баллы:
    76
    Имя в Minecraft:
    Todorov26
    Error executing task
    java.util.concurrent.ExecutionException: java.lang.AssertionError: TRAP
    at java.util.concurrent.FutureTask.report(Unknown Source) ~[?:1.8.0_231]
    at java.util.concurrent.FutureTask.get(Unknown Source) ~[?:1.8.0_231]
    at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:47) [spigot.jar:git-Spigot-79a30d7-acbc348]
    at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:748) [spigot.jar:git-Spigot-79a30d7-acbc348]
    at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:406) [spigot.jar:git-Spigot-79a30d7-acbc348]
    at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:679) [spigot.jar:git-Spigot-79a30d7-acbc348]
    at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:577) [spigot.jar:git-Spigot-79a30d7-acbc348]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_231]
    Caused by: java.lang.AssertionError: TRAP
    at net.minecraft.server.v1_12_R1.ItemStack.F(ItemStack.java:100) ~[spigot.jar:git-Spigot-79a30d7-acbc348]
    at net.minecraft.server.v1_12_R1.ItemStack.setCount(ItemStack.java:839) ~[spigot.jar:git-Spigot-79a30d7-acbc348]
    at net.minecraft.server.v1_12_R1.PlayerInteractManager.a(PlayerInteractManager.java:413) ~[spigot.jar:git-Spigot-79a30d7-acbc348]
    at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:1008) ~[spigot.jar:git-Spigot-79a30d7-acbc348]
    at net.minecraft.server.v1_12_R1.PacketPlayInBlockPlace.a(PacketPlayInBlockPlace.java:26) ~[spigot.jar:git-Spigot-79a30d7-acbc348]
    at net.minecraft.server.v1_12_R1.PacketPlayInBlockPlace.a(PacketPlayInBlockPlace.java:1) ~[spigot.jar:git-Spigot-79a30d7-acbc348]
    at net.minecraft.server.v1_12_R1.PlayerConnectionUtils$1.run(SourceFile:13) ~[spigot.jar:git-Spigot-79a30d7-acbc348]
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[?:1.8.0_231]
    at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:1.8.0_231]
    at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) ~[spigot.jar:git-Spigot-79a30d7-acbc348]
    ... 5 more
    Не знаю что за чертовщина, вчера проверял плагин все работало нормально сегодня запустил Начала вылетать ошибка которая выше. Код после которого вылетает:

    Код:
    @EventHandler
        public void onClick(PlayerInteractEvent e) {
            Player p = e.getPlayer();
            if(e.getAction() == Action.RIGHT_CLICK_AIR) {
                ItemStack item = e.getItem();
                if(item == null) return;
                if(item.getItemMeta().getDisplayName() == "Покинуть мир" || item.getType() == Material.WOOD_DOOR) {
                    p.sendMessage("Телепортация в хаб..");
                    Main.getInstance().getWorldsManager().exitWorld(p);
                    return;
                }
                if(item.getType() == Material.FEATHER || item.getItemMeta().getDisplayName() == "Настройки мира") {
                    GuiManager gui = new GuiManager(Main.getInstance().getWorldConfigInventory());
                    gui.clear();
                    
                    
                    p.openInventory(gui.getInventory());
                    return;
                }
            }
        }
    По крайней мере после клика дверью и телепортации в осн мир она выскакивает в консоли (На всякий случай скину Ещё код хандлера смены мира (может в нем что то не так))

    Код:
    public void onSwitchWorld(PlayerChangedWorldEvent e) {
            Player p = e.getPlayer();
            //World from = e.getFrom();
            
            if(p.getWorld().equals(Bukkit.getWorld("world")) && !p.getWorld().getName().startsWith(Main.getInstance().getConfig().getString("worldprefix"))) {
                if(p.getInventory().contains(Main.getInstance().getCloseItem()))p.getInventory().removeItem(Main.getInstance().getCloseItem());
                
                if(p.getInventory().contains(Main.getInstance().getConfigWorldItem()))p.getInventory().removeItem(Main.getInstance().getConfigWorldItem());
                
                p.sendMessage("Добро пожаловать в обычный мир");
                return;
            }
            
            //CreativeWorldJoinEvent ev = new CreativeWorldJoinEvent(p, p.getWorld(), from);
            //Bukkit.getPluginManager().callEvent(ev);
            
            //if(ev.isCancelled()) p.teleport(e.getFrom().getSpawnLocation());
            
            String worldName = p.getWorld().getName();
            
            File wf = new File(Main.getInstance().getWorldDataFolderPath() + File.separator + worldName + "_data.yml");
            FileConfiguration wc = YamlConfiguration.loadConfiguration(wf);
            
            if(wc.getInt("mode") == 0) {
                p.setGameMode(GameMode.SURVIVAL);
            }else if(wc.getInt("mode") == 1){
                p.setGameMode(GameMode.CREATIVE);
            }else {
                return;
            }
            
            
            if(!Main.getInstance().getWorldsManager().isPlayerOwnerWorld(p, p.getWorld())) return;
            
            
            if(!p.getInventory().contains(Main.getInstance().getCloseItem()))p.getInventory().addItem(Main.getInstance().getCloseItem());
            
            if(!p.getInventory().contains(Main.getInstance().getConfigWorldItem()))p.getInventory().addItem(Main.getInstance().getConfigWorldItem());
            p.sendMessage("Добро пожаловать в свой мир");
            
        }
    ==================================================================
    А так же хотелось бы знать почему я не могу сравнить item.equals(anotherItem) Код в интеракт ивенте тупо не срабатывает.
     
  2. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Потому что нельзя делать стак с 0 количеством.
     
  3. Автор темы
    Todorov26

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

    Баллы:
    76
    Имя в Minecraft:
    Todorov26
    А разве при new ItemStack(Material.WOOD_DOOR) создается ItemStack с 0 количеством? Или он где то в другом месте делается С нулевым количеством? Я вроде бы нигде не делаю его с количеством в виде нуля
     

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