Pro_Panda_Men
Активный участник
- Баллы
- 61
- Имя в Minecraft
- Pro_Panda_Men
Как можно запретить класть игроку определенные блоки в сундук?
Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
В итоге InventoryMoveEvent нет, но я подумаю что это InventoryMoveItemEvent, после чего написал код, ошибок нет, но ничего не работает, как кидать в сундук мог золото, так и продолжаюЛови InventoryMoveEvent
хз, надо уточнить, погуглю позжеInventoryMoveItemEvent используется, насколько я помню, воронками. Попробуйте InventoryClickEvent (вроде, так называется). Ну и ещё есть ивент, который мог бы подойти в некоторых случаях - InventoryDragEvent.
@EventHandler(ignoreCancelled = true)
public void onInventoryClick(InventoryClickEvent event) {
HumanEntity entity = event.getWhoClicked();
Inventory inventory = event.getInventory();
ItemStack item = event.getCurrentItem();
if (item != null && entity instanceof Player) {
Player player = (Player) entity;
ConfigurationManager cfg = getPlugin().getGlobalStateManager();
WorldConfiguration wcfg = cfg.get(entity.getWorld());
LocalPlayer localPlayer = getPlugin().wrapPlayer(player);
if (wcfg.getBlacklist() != null && !wcfg.getBlacklist().check(
new ItemAcquireBlacklistEvent(localPlayer, toVector(entity.getLocation()), createTarget(item)), false, false)) {
event.setCancelled(true);
if (inventory.getHolder().equals(player)) {
event.setCurrentItem(null);
Если ты не проверил e.getBlock().getState() instanceof Sign будет ClassCastExceptionChest chest = (Chest) e.getBlock().getState();