1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Ошибка при добавлении зачарования

Тема в разделе "Разработка плагинов для новичков", создана пользователем Aviloo, 15 апр 2025.

  1. Автор темы
    Aviloo

    Aviloo Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    Aviloo
    Добрый день, столкнулся с проблемой, а именно плагин не может загрузить зачарование и выдает ошибку
    Код:
    [org.bukkit.craftbukkit.v1_19_R2.CraftServer] No longer accepting new enchantments (can only be done by the server implementation) initializing MyCrafts v1.0-SNAPSHOT (Is it up to date?)
    java.lang.IllegalStateException: No longer accepting new enchantments (can only be done by the server implementation)
    Не знаю, как решить. Буду признателен за помощь. (Код прикреплю ниже)

    Класс зачарования:
    Код:
    public class DiggerEnchant extends Enchantment {
    
        private static final NamespacedKey key = new NamespacedKey("mycrafts",
                "digger");
    
        public DiggerEnchant() {
            super(key);
        }
    
        @Override
        public @NotNull String getName() {
            return "Бур";
        }
    
        @Override
        public int getMaxLevel() {
            return 3;
        }
    
        @Override
        public int getStartLevel() {
            return 1;
        }
    
        @Override
        public @NotNull EnchantmentTarget getItemTarget() {
            return null;
        }
    
        @Override
        public boolean isTreasure() {
            return false;
        }
    
        @Override
        public boolean isCursed() {
            return false;
        }
    
        @Override
        public boolean conflictsWith(@NotNull Enchantment other) {
            return false;
        }
    
        @Override
        public boolean canEnchantItem(@NotNull ItemStack item) {
            return true;
        }
    }
    Регистрация в главном плагине:
    Код:
        @Override
        public void onLoad(){
            Enchantment.registerEnchantment(new DiggerEnchant());
        }
    Заранее спасибо.)
     
  2. Автор темы
    Aviloo

    Aviloo Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    Aviloo
    P.S: Думал, что дело в зависимостях, но даже изменив depend на softdepend, ничего не изменилось.
     
  3. LOVEC3327

    LOVEC3327 Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    LOVEC3327
    Через рефлексию надо поменять значение поля acceptingNew в классе Enchantment
     

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