В этом гайде речь пойдет о NBT — формате хранения данных Minecraft. Подробное описание можно найти в Minecraft-Wiki, нас же в основном интересует как эту вещь использовать для написания модов. NBT есть в вещах, блоках, мобах, самом игроке и мире, в котором он находится. Можно сказать, практически везде.
Предположим, нам необходим предмет, который должен хранить в себе полезную информацию, чтобы эта информация могла меняться и не терялась при перезапуске сервера. Например, мне необходим меч, который «хранит души убитых им существ». Причем эти души не просто хранятся, а могут использоваться для «алхимического преобразования блока свинца в золото». Звучит немного странно, но приступим.
Для начала — основной класс NBTTutorialMod:
Теперь создадим CommonProxy и ClientProxy, в которых зарегистрируем 1 блок (свинец), 1 предмет (алхимический меч), 1 тайл (для блока свинца) и 2 вкладки для креатива. Тайл — это некий хранитель данных, он будет привязан к блоку и будет хранить то количество «энергии душ», которую мы передали блоку через наш алхимический меч:
IIE и IBE/ Как редактировать nbt-тег?/Обзор модов #1
ClientProxy:
Теперь нам необходимо Создать классы меча и блока. Но для начала отвлечемся на теорию, а именно определимся с форматом хранения данных в NBT.
Меч (предмет) изначально не имеет NBT совсем. Поэтому мы создадим пустой NBT, а затем добавим в него свою собственную ветвь, имя которой дадим согласно MODID . Выглядеть это будет вот так:
Для предмета :
Теперь напишем класс нашего алхимического меча. В классе мы определим, что при нажатии ЛКМ на блоке свинца происходит передача всей накопленной энергии из NBT меча в NBT тайла, привязанного в блоку.
ItemMagicSword:
Теперь код блока BlockPlumbum. Следует заметить, что он расширяет не класс Block, а класс BlockContainer, который умеет создавать тайл.
И, наконец, код тайла (TileEntityAlchemyCube) для блока свинца. Он будет содержать NBT и хранить в нем накопленную алхимическую энергию.
Осталось определиться с кодом, который будет заряжать наш алхимический меч. Умирая от меча, мобы должны передавать мечу игрока некоторое количество энергии. В Forge есть замечательный Event — LivingDeathEvent, который мы используем в нашел классе-обработчике событий CommonEventHandler:
Источник: forum.mcmodding.ru
ТОП-3 программы для редактирования NBT
Всем привет это Артём волк+! Наверное каждый знает что все данные о Майнкрафт хранятся в файлах nbt. Но чтобы их редактировать нужны специальные редакторы. О 3 таких я вам и расскажу.
Вопрос дня
NBTExplorer
Эта программа редактирует nbt файлы, на Java Edition. Все файлы удобно разделены по категориям.
Фишки с командами || NBT-ТЕГИ, общие для ВСЕХ МОБОВ
- Настройки мира
- Настройки персонажа
И так далее. Чтобы сохранять изменения нужно нажимать file/save.
Программа имеет открытый исходный код на GitHub. Может редактировать стандартные файлы нбт (level.dat), несжатые нбт (idcounts.dat), файлы-схематики (schematic), файлы региона (file.mcr) и файлы наковальни (file.mca).
NBTedit
Это уже не программа, а мод. Также для Java. Имеет поддержку версии 1.16.3 .
Чтобы начать редактирование нужного предмета, наведите на него крестик и прописать команду /nbtedit .
В моде можно создавать, редактировать, переименовывать, удалять, копировать и вставлять теги.
Blocktopograph
Эта программа редактирует файлы Minecraft Bedrock. Работает на версии ~1.14 по ~1.16.
Умеет не только изменять файлы nbt, но и многое другое. Как и первой программе здесь все разделено по категориям.
Изменяет значения файлов очень просто, разберется даже новичок. Кроме редакта файлов предметов, изменяет данные чанков, мобов и так далее.
Источник: dzen.ru
NBTExplorer Minecraft — редактор NBT данных
NBTExplorer — программа для изменения параметров игрового мира Minecraft. С ее помощью пользователь может поменять практически все настройки уже сгенерированного мира, начиная от скорости бега персонажа и, заканчивая длительностью внутриигровых суток. Также возможны и более глубокие изменения, затрагивающие генерацию определенных блоков, чанков и прочего. Программа взаимодействует с NBT-данными, что позволяет регулировать любые настройки мира.
В состав программы входит вспомогательная утилита NBTUtil.exe. Она также позволяет работать с NBT-файлами, но на текущий момент ее функционал несколько урезан.
Функционал NBTExplorer
NBTExplorer требует для работы установленного пакета .NET framework 2.0 или выше. Система SmartScreen может распознать программу как потенциально опасную, и пользователю потребуется разрешить запуск, чтобы начать работу. Имеется поддержка Linux, но для работы программы необходима установка пакета Mono-core, точная команда терминала для получения, зависит от используемого дистрибутива.
Какие типы файлов способна редактировать программа:
- стандартные файлы NBT (e.g. level.dat)
- несжатые файлы формата NBT;
- карты формата Region (*.mcr);
- карты формата Anvil (*.mca);
- чанки.
Прежде чем приступать к изменениям, рекомендуется создать пару бэкапов каждого мира, просто в качестве предосторожности.
Как пользоваться
После установки надо открыть программу, затем:
- Нажать File.
- Кликнуть по Open.
- Выбрать папку с игрой.
После этого станет доступен интерфейс, где в виде списка будут расположены доступные папки сгенерированных миров Майкрафт.
При клике по файлу откроется древо параметров, доступных для редактирования. Во многом это напоминает работу с реестром — перед пользователем открывается целая куча параметров, отвечающих за генерацию мира. Игрок может настроить размеры, сложность, установить шансы спавна монстров, торговцев и деревень, поставить определенное время.
Чтобы изменения остались, необходимо сохранять новые параметры после каждого успешного действия. К сожалению, если это не делать, новые значения могут не сохраниться и после закрытия NBTExplorer будут возвращены изначальные настройки.
Скачать бесплатно:
- NBTExplorer_2.8.0 300 Kb
Источник: masterminecraft.ru