Top.Mail.Ru
Ответы

Как удалить предмет/блок из Майнкрафт?

Решил написать свой мод и впоследствии сборку. В программирование не первый год. Знаю, что если попробовать удалить блок или предмет, то игра сломается и не запуститься. Я хочу сделать максимально реалистичную сборку и удалить такие предметы, как: стол зачарованния, чары, маяк и тд. Может кто нибудь подскажет?

По дате
По Рейтингу
Аватар пользователя
Мудрец

Для удаления блоков и предметов в Minecraft в рамках своего мода, Вам потребуется заниматься модификацией игры с помощью программирования. Допустим, Вы знакомы с Java, так как это основной язык разработки модов для Minecraft. В качестве модификационного инструмента часто используется Minecraft Forge, который предоставляет API для работы с игрой.

Вот общие шаги, чтобы удалить блоки или предметы в Minecraft с помощью модификации:

1. Настройка рабочего окружения:
Установите Minecraft Forge, который позволяет создавать и устанавливать моды. Загрузите и установите его, а после настройте рабочее окружение для разработки в IDE, например, в Eclipse или IntelliJ IDEA.

2. Создание проекта мода:
Заведите новый проект в вашей IDE, настроенный для работы с Minecraft Forge.

3. Удаление блоков и предметов:
Чтобы удалить блоки и предметы, вам необходимо будет переопределить их в своем коде.

Вам нужно будет создать класс, который подписан на события регистрации блоков и предметов. В Forge есть система обработки событий, где вы можете отменять регистрацию стандартных блоков и предметов.

Например:

123456789101112
 @SubscribeEvent 
public void onRegisterBlocks(RegistryEvent.Register<Block> event) { 
    // it's recommended to use 'setRegistryName' to avoid conflicts 
    event.getRegistry().register(new Block( ... ).setRegistryName("minecraft", "enchanted_table")); 
} 
 
@SubscribeEvent 
public void onRegisterItems(RegistryEvent.Register<Item> event) { 
    // same as block, alter registry 
    event.getRegistry().register(new Item( ... ).setRegistryName("minecraft", "enchanted_book")); 
} 
 


Здесь вы заменяете существующие блоки и предметы вашими пустыми реализациями, тем самым "удаляя" их из игры.

4. Отключение функциональности:
Если вы хотите убрать функции не полностью, а только их действие, вам понадобится перехватить события использования этих блоков и предметов и отменить их.

Например:

12345678
 @SubscribeEvent 
public void onRightClickBlock(PlayerInteractEvent.RightClickBlock event) { 
    if (event.getWorld().getBlockState(event.getPos()).getBlock() == Blocks.ENCHANTING_TABLE) { 
        event.setCancellationResult(ActionResultType.SUCCESS); 
        event.setCanceled(true); 
    } 
} 
 


Этот код отменяет событие клика правой кнопкой мыши по столу зачарования.

5. Тестирование:
Проведите тестирование вашего мода, чтобы убедиться, что всё работает как задумано.

6. Компиляция и распространение:
Когда вы закончили, скомпилируйте мод и распространите его файл jar среди пользователей.

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

Аватар пользователя
Профи

Есть Вариант удалить крафт через kubejs / crafttweaker и скрыть предмет через jei tweaker