Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Помогите Не работает getItemInMainHand().clone()

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

HogeltBellai

Активный участник
Пользователь
Баллы
66
Имя в Minecraft
HogeltBellai
Добрый день форумчане!
Столкнулся с такой проблемой, что вещи в руке при копировании нормально не дают материал и заменяют его на AIR.
Я честно пытался сам пофиксить, но идеи у меня кончились по этому прошу у вас.

По идее он полностью должен копипастить предмет.
Версия 1.16.5 spigot
Хочу подметить! Вещи с 1.12.2 он спокойно пропускает, а вещи 1.16.5 нет

Логи консоли:
Код:
[00:04:57 INFO]: HogeltBellai issued server command: /ah sell 1
[00:04:57 INFO]: [DEBUG] itemOffer: LEGACY_AIR
[00:04:57 INFO]: [DEBUG] itemHand: LEGACY_AIR
[00:04:57 INFO]: [DEBUG] Amount in Hand: 1
[00:04:57 INFO]: [DEBUG] -
[00:04:57 INFO]: [DEBUG] Amount in Hand: LEGACY_AIR
[00:04:57 INFO]: [DEBUG] В руке игрока пусто или вещь является воздухом.


Сам код:
Код:
         Player player = (Player) sender;
         UUID uuid = player.getUniqueId();
         PlayerInventory inv = player.getInventory();
         ItemStack itemOffer = player.getInventory().getItemInMainHand().clone();
         ItemStack itemHand = player.getInventory().getItemInMainHand().clone();

        Bukkit.getLogger().info("[DEBUG] itemOffer: " + itemOffer.getType());
        Bukkit.getLogger().info("[DEBUG] itemHand: " + itemHand.getType());
        System.out.println("[DEBUG] Amount in Hand: " + itemHand.getAmount());

        if (itemHand == null || itemHand.getType() == Material.AIR) {
            System.out.println("[DEBUG] - ");
            System.out.println("[DEBUG] Amount in Hand: " + itemHand.getType());
            Bukkit.getLogger().info("[DEBUG] В руке игрока пусто или вещь является воздухом.");
            return false;
        }
 
Добрый день форумчане!
Столкнулся с такой проблемой, что вещи в руке при копировании нормально не дают материал и заменяют его на AIR.
Я честно пытался сам пофиксить, но идеи у меня кончились по этому прошу у вас.

По идее он полностью должен копипастить предмет.
Версия 1.16.5 spigot
Хочу подметить! Вещи с 1.12.2 он спокойно пропускает, а вещи 1.16.5 нет

Логи консоли:
Код:
[00:04:57 INFO]: HogeltBellai issued server command: /ah sell 1
[00:04:57 INFO]: [DEBUG] itemOffer: LEGACY_AIR
[00:04:57 INFO]: [DEBUG] itemHand: LEGACY_AIR
[00:04:57 INFO]: [DEBUG] Amount in Hand: 1
[00:04:57 INFO]: [DEBUG] -
[00:04:57 INFO]: [DEBUG] Amount in Hand: LEGACY_AIR
[00:04:57 INFO]: [DEBUG] В руке игрока пусто или вещь является воздухом.


Сам код:
Код:
         Player player = (Player) sender;
         UUID uuid = player.getUniqueId();
         PlayerInventory inv = player.getInventory();
         ItemStack itemOffer = player.getInventory().getItemInMainHand().clone();
         ItemStack itemHand = player.getInventory().getItemInMainHand().clone();

        Bukkit.getLogger().info("[DEBUG] itemOffer: " + itemOffer.getType());
        Bukkit.getLogger().info("[DEBUG] itemHand: " + itemHand.getType());
        System.out.println("[DEBUG] Amount in Hand: " + itemHand.getAmount());

        if (itemHand == null || itemHand.getType() == Material.AIR) {
            System.out.println("[DEBUG] - ");
            System.out.println("[DEBUG] Amount in Hand: " + itemHand.getType());
            Bukkit.getLogger().info("[DEBUG] В руке игрока пусто или вещь является воздухом.");
            return false;
        }
Похоже баккит использует легаси материалы для твоего плагина.
Добавь api-version: 1.13 в plugin.yml чтобы он использовал нормальные материалы.
 
Проблема решена
Похоже баккит использует легаси материалы для твоего плагина.
Добавь api-version: 1.13 в plugin.yml чтобы он использовал нормальные материалы.
Уже увидел, но спасибо, не думал что это имеет такое большое значение
Тема закрыта
 
Статус
Закрыто для дальнейших ответов.

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

Назад
Верх