Скачать RegistryEdit — Minecraft Моды — MetaMods

RegistryEdit

Активный

Установок

0

Последнее обновление

1 год назад

Версии

1.20 — 1.20.4
Клиент
Fabric
Quilt
Библиотеки
Управление

RegistryEdit

Эта библиотека предоставляет функционал, который редко бывает необходим, но в некоторых ситуациях оказывается незаменимым - возможность модифицировать элементы реестра во время выполнения программы.

Как использовать

void Initialize() {
    ...
    //Важно: НЕ используйте Registry.register(...) для пользовательских активов!
    RegistryEditEvent.EVENT.register(manipulator -> {
        // Для нативных элементов Minecraft (Item/Block)
        var myCustomItem1 = new Item(new Item.Settings());
        manipulator.Redirect(Registries.ITEM, Items.STICK, myCustomItem1);
        // ++ Items.STICK = myCustomItem1
        // -- Items.STICK = СУЩЕСТВУЮЩИЙ_ЭЛЕМЕНТ

        // Для других элементов (любых, при условии что поле статическое и финальное)
        var myCustomItem2 = new Item(new Item.Settings());
        manipulator.Redirect(MyItems.class, Registries.ITEM, MyItems.CUSTOM_ITEM, myCustomItem2);
        // ++ MyItems.CUSTOM_ITEM = myCustomItem2
        // -- MyItems.CUSTOM_ITEM = СУЩЕСТВУЮЩИЙ_ЭЛЕМЕНТ

        // Для полного удаления элементов (ОЧЕНЬ ОПАСНО! Используйте только если знаете что делаете!)
        manipulator.Unregister(Registries.ITEM, Items.ENDER_PEARL);

        // Если удаляете блок, убедитесь что заменили связанный с ним BlockItem!
        manipulator.Unregister(Registries.BLOCK, Blocks.COBBLESTONE);
        manipulator.Redirect(Registries.Item, Items.COBBLESTONE, new Item(new Item.Settings()));
    });
    ...
}

Библиотека работает таким образом, что если вы заменяете элемент в классах Items или Blocks (например, заменяете Items.STICK), изменения автоматически применяются к соответствующим переменным. Для работы с элементами, которые не находятся в этих стандартных классах, вы можете указать свой собственный класс-контейнер.

Участники проекта
Feintha

Feintha

Разработчик

Создан: 15 мар 2024

ID: 17333