Войти или зарегистрироваться

Идея Плагин на фикс 30+lvl

  • Автор темы Автор темы maxcat
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

maxcat

Активный участник
Пользователь
Баллы
66
Имя в Minecraft
11233211233211
Предлагаемое название: FixLvl

Версия сервера: 1.16+

Что я хочу: Нужно, чтобы при обнаружение вещи с 30+lvl зачар либо удалялся, либо удалялась вещь(Тут уже как вам удобней.)

Идеи для команд: -


Идеи пермишенов: -

Когда мне это нужно? Чем быстрее, тем лучше.
 
ItemFixer уже не стоит на этой версии
 
Код:
            ItemMeta meta = stack.getItemMeta();
            for (Map.Entry<Enchantment, Integer> entry : meta.getEnchants().entrySet()) {
                if (entry.getValue() > entry.getKey().getMaxLevel()) {
                    stack.removeEnchantment(entry.getKey());
                    stack.addUnsafeEnchantment(entry.getKey(), entry.getKey().getMaxLevel());
                }
            }
 
Код:
            ItemMeta meta = stack.getItemMeta();
            for (Map.Entry<Enchantment, Integer> entry : meta.getEnchants().entrySet()) {
                if (entry.getValue() > entry.getKey().getMaxLevel()) {
                    stack.removeEnchantment(entry.getKey());
                    stack.addUnsafeEnchantment(entry.getKey(), entry.getKey().getMaxLevel());
                }
            }
Можно для тупых скинуть весь файл .java?
 
Код:
            ItemMeta meta = stack.getItemMeta();
            for (Map.Entry<Enchantment, Integer> entry : meta.getEnchants().entrySet()) {
                if (entry.getValue() > entry.getKey().getMaxLevel()) {
                    stack.removeEnchantment(entry.getKey());
                    stack.addUnsafeEnchantment(entry.getKey(), entry.getKey().getMaxLevel());
                }
            }
Уже в среде разработки выдаёт ошибку
 
Уже в среде разработки выдаёт ошибку
Код:
private void resetItem(ItemStack stack) {
    ItemMeta meta = stack.getItemMeta();
    for (Map.Entry < Enchantment, Integer > entry: meta.getEnchants().entrySet()) {
        if (entry.getValue() > entry.getKey().getMaxLevel()) {
            stack.removeEnchantment(entry.getKey());
            stack.addUnsafeEnchantment(entry.getKey(), entry.getKey().getMaxLevel());
        }
    }
}
и вызываешь функцию в ивенте, например при закрытие инвентаря

Код:
public void onInventoryClose(InventoryCloseEvent event) {
    for (ItemStack stack: event.getPlayer().getInventory()) {
        resetItem(event.getItem().getItemStack());
    }
}
 
Спс всеем!
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх