Решено Бросили под ноги шалкер с вещами после которого не пускает на сервер.

GrayWaorld

Активный участник
Пользователь
Баллы
76
Игроки говорят что бросают под ноги шалкер с вещами после которого при входе на сервер кикает с ошибкой (скорее всего ошибка сообщает о превышении уровня опыта) ItemFixer и CreativeItemFilter не фиксит эту проблему! Спасибо за внимание. https://cdn1.savepice.ru/uploads/2019/9/30/7b73785d837256eee1511c720fadb81f-full.jpg
Файл на playerdata с мира здесь http://file.sampo.ru/szjtwg/
Ник beatifull
 
А ты сделал в своем фиксере возможность отключать проверку на реальные зачарования? Игроки любят когда на ресах много чар.
Нет, я против таких вещей. Все должно быть на игровом уровне.
 
Щас еще обойти проблему ведра нужно, нельзя сменить ItemStack в EntityPickupItemEvent. Придется костылить с отменой ивента.
 
Все дочинил CreativeItemFilter. Ну и поправил копирование блокметы для шалкеров.
Код:
    @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
    public void onEntityPickupItemEvent(EntityPickupItemEvent event) {
        LivingEntity entity = event.getEntity();
        if (entity.getType().equals(EntityType.PLAYER)) {
            Item item = event.getItem();
            if (item.getItemStack().getType().equals(Material.SHULKER_BOX)) {
                // set new item
                Player player = (Player) entity;
                player.getInventory().addItem(copyItemMeta(item.getItemStack()));
                event.getEntity().getWorld().playSound(event.getItem().getLocation(), Sound.ENTITY_ITEM_PICKUP, 1, 2);
                event.getItem().remove();
                event.setCancelled(true);
            }
        }
    }
 
Последнее редактирование:
Отпишусь тут пожалуй. Стоит на сурваче ласт бумага версии 1.14.4. Такое можно сделать даже без креатива? Как это делается и в чём суть?
 
Я так понимаю плагин будет проверять дроп а не инвентарь игрока? Проблема осталась у игроков у которых уже есть эти шалкеры. Либо это не ваш креативфиксер 🙂
https://cloud.mail.ru/public/1fd2bdc3ca7f/site/Мои плагины/CreativeItemFilter.jar
Ну, я не проверял заход игроков. И не уверен, что в этом ивенте оно успеет пофиксить ди кика игрока. Ну попробуй.
 
Добавил проверку на джоин ивент. Плагин вообще планировался фиксить онли креатив пакет.
 
Ошибка вылетает
Код:
[00:08:38 ERROR]: Could not pass event EntityPickupItemEvent to CreativeItemFilter v1.0
java.lang.NoSuchFieldError: SHULKER_BOX
        at creativeitemfilter.CreativeItemFilter.onEntityPickupItemEvent(CreativeItemFilter.java:47) ~[?:?]
        at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor697.execute(Unknown Source) ~[?:?]
        at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:70) ~[spigot.jar:git-Paper-1608]
        at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:78) ~[spigot.jar:git-Paper-1608]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot.jar:git-Paper-1608]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:513) ~[spigot.jar:git-Paper-1608]
        at net.minecraft.server.v1_12_R1.EntityItem.d(EntityItem.java:380) ~[spigot.jar:git-Paper-1608]
        at net.minecraft.server.v1_12_R1.EntityHuman.c(EntityHuman.java:426) ~[spigot.jar:git-Paper-1608]
        at net.minecraft.server.v1_12_R1.EntityHuman.n(EntityHuman.java:401) ~[spigot.jar:git-Paper-1608]
        at net.minecraft.server.v1_12_R1.EntityLiving.B_(EntityLiving.java:2024) ~[spigot.jar:git-Paper-1608]
        at net.minecraft.server.v1_12_R1.EntityHuman.B_(EntityHuman.java:146) ~[spigot.jar:git-Paper-1608]
        at net.minecraft.server.v1_12_R1.EntityPlayer.playerTick(EntityPlayer.java:343) ~[spigot.jar:git-Paper-1608]
        at net.minecraft.server.v1_12_R1.PlayerConnection.e(PlayerConnection.java:145) ~[spigot.jar:git-Paper-1608]
        at net.minecraft.server.v1_12_R1.NetworkManager.a(NetworkManager.java:273) ~[spigot.jar:git-Paper-1608]
        at net.minecraft.server.v1_12_R1.ServerConnection.c(ServerConnection.java:150) ~[spigot.jar:git-Paper-1608]
        at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:948) ~[spigot.jar:git-Paper-1608]
        at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:423) ~[spigot.jar:git-Paper-1608]
        at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:774) ~[spigot.jar:git-Paper-1608]
        at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:666) ~[spigot.jar:git-Paper-1608]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_222]
 
Ещё одна
Код:
[23:57:28 ERROR]: Could not pass event InventoryCreativeEvent to CreativeItemFilter v1.0
java.lang.NoClassDefFoundError: org/bukkit/inventory/meta/TropicalFishBucketMeta
        at creativeitemfilter.MetaCopierFactory.getCopier(MetaCopierFactory.java:59) ~[?:?]
        at creativeitemfilter.CreativeItemFilter.copyItemMeta(CreativeItemFilter.java:65) ~[?:?]
        at creativeitemfilter.CreativeItemFilter.onCreativeItemEvent(CreativeItemFilter.java:38) ~[?:?]
        at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor698.execute(Unknown Source) ~[?:?]
        at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:70) ~[spigot.jar:git-Paper-1608]
        at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:78) ~[spigot.jar:git-Paper-1608]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot.jar:git-Paper-1608]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:513) ~[spigot.jar:git-Paper-1608]
        at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:2144) ~[spigot.jar:git-Paper-1608]
        at net.minecraft.server.v1_12_R1.PacketPlayInSetCreativeSlot.a(SourceFile:23) ~[spigot.jar:git-Paper-1608]
        at net.minecraft.server.v1_12_R1.PacketPlayInSetCreativeSlot.a(SourceFile:9) ~[spigot.jar:git-Paper-1608]
        at net.minecraft.server.v1_12_R1.PlayerConnectionUtils.lambda$ensureMainThread$0(PlayerConnectionUtils.java:14) ~[spigot.jar:git-Paper-1608]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_222]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_222]
        at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) ~[spigot.jar:git-Paper-1608]
        at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:850) ~[spigot.jar:git-Paper-1608]
        at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:423) ~[spigot.jar:git-Paper-1608]
        at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:774) ~[spigot.jar:git-Paper-1608]
        at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:666) ~[spigot.jar:git-Paper-1608]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_222]
 
уменьшить число страниц с 50 до 25 например.
Тогда есть шанс, что размер пакета не привысит лимит.
Не прокатит.

В том файле, что предоставил ТС...
В инвентаре 13 шалкеров.
В каждом шалкере 27 книг.
В каждой книге 15 страниц.
На каждой странице 224 символа "율".

Т.е. до твоего лимита остаётся ещё запас и по количеству символов, и по количеству страниц, и по количеству шалкеров.

на это и креатив не нужен.
На крафт 351 книги ушло бы 5.5 стаков кожи и 16.5 стаков тростника.
В выживании создать вполне реально, да. Хотя и потребовалось бы довольно много времени.
 
Назад
Верх Низ