Lumividellir
Пользователь
- Сообщения
- 13
- Другие ядра
- Purpur
(версия 1.21.4, но ее нет в списке)
Я захотел стать безумцем и переделать систему зачарований, хотел сделать как на хайпикселе.
Я сделал чтобы когда игрок открывал стол зачарований, ему открылся инвентарь:
Потом я используя InventoryClickEvent попытался изменять что либо там (event.getInventory.setItem() и все такое)
Но когда я приступил к тестированию долго не понимал почему оно так странно работает, в итоге это оказался какой-то расинхрон.
Это можно пофиксить вручную просто подвигав какой-то предмет.
Я тогда решил использовать player.updateInventory(), ставил в начале, в конце кода, пытался поставить небольшую задержку (BukkitRunable), пытался каждый определенный промежуток времени обновлять (тоже BukkitRunable), но это не помогает.
Если кому надо могу прикрепить видео с этим, я уже час бьюсь головой об стенку и не понимаю чего мне делать.
Буду неизмеримо благодарен если поможете.
Я захотел стать безумцем и переделать систему зачарований, хотел сделать как на хайпикселе.
Я сделал чтобы когда игрок открывал стол зачарований, ему открылся инвентарь:
Java:
public static Inventory enchanting_inv = Bukkit.createInventory(null, 54, "Стол зачарований");
Java:
@EventHandler
public void onInteract(PlayerInteractEvent event) {
if (event.getAction() != Action.RIGHT_CLICK_BLOCK) return;
Block block = event.getClickedBlock();
Player player = event.getPlayer();
if (block == null) return;
switch (block.getType()) {
case ENCHANTING_TABLE -> {
event.setCancelled(true);
player.openInventory(enchanting_inv);
}
// чтото еще потом добавлю
}
}
Потом я используя InventoryClickEvent попытался изменять что либо там (event.getInventory.setItem() и все такое)
Но когда я приступил к тестированию долго не понимал почему оно так странно работает, в итоге это оказался какой-то расинхрон.
Это можно пофиксить вручную просто подвигав какой-то предмет.
Я тогда решил использовать player.updateInventory(), ставил в начале, в конце кода, пытался поставить небольшую задержку (BukkitRunable), пытался каждый определенный промежуток времени обновлять (тоже BukkitRunable), но это не помогает.
Если кому надо могу прикрепить видео с этим, я уже час бьюсь головой об стенку и не понимаю чего мне делать.
Буду неизмеримо благодарен если поможете.