Метаданные блока — это 4 бита информации, которые можно записать для блока. В Minecraft метаданные могут содержать информацию о повороте блока, его состоянии или иные данные, которые можно уместить в 4 бита, с целью уменьшения потребления памяти. В противном же случае, используется Tile Entity.

Если у ваших блоков имеются подтипы, то они также будут сохраняться в метаданные блока и следовательно, данные о других состояниях необходимо будет формировать за счёт «маски», основанной на побитовых операциях.

Создадим блок, который имеет подтипы, как например блок шерсти.

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

package ru.mcmodding.tutorial.common.item.block; import net.minecraft.block.Block; import net.minecraft.item.ItemColored; import net.minecraft.item.ItemDye; public class ColoredStoneBlockItem extends ItemColored public ColoredStoneBlockItem(Block block) // Первый параметр указывает на блок, который будет устанавливаться, а что предмет имеет подтипы «id:damage» super(block, true); // Задаёт массив имён для ItemColored#getUnlocalizedName func_150943_a(ItemDye.field_150921_b); > >

В большинстве случаев вы должны использовать ItemBlock , вместо ItemColored . Мы же используем ItemColored , чтобы не выполнять лишних действий, таких как: указание метаданных, изменение нелокализованного названия с использованием метаданных и т.п.

БЛОКИ В МАЙНКРАФТ: ВИДЫ И МЕХАНИКА

Теперь необходимо зарегистрировать наш блок:

package ru.mcmodding.tutorial.common.handler; import cpw.mods.fml.common.registry.GameRegistry; import ru.mcmodding.tutorial.common.block.ColoredStoneBlock; import ru.mcmodding.tutorial.common.item.block.ColoredStoneBlockItem; public class ModBlocks public static final ColoredStoneBlock COLORED_STONE = new ColoredStoneBlock(); public static void register() GameRegistry.registerBlock(COLORED_STONE, ColoredStoneBlockItem.class, «colored_stone»); > >

Как вы могли заметить, в метод регистрации блока передаётся новый параметр Class , так мы скажем игре, что наш предмет ColoredStoneBlockItem «принадлежит» блоку ColoredStoneBlock .

Если в конструкторе наследника ItemBlock , вы укажете дополнительные к Block параметры, то, чтобы получить объекты в конструкторе, необходимо будет передать их в четвёртый параметр метода GameRegistry#registerBlock(Block, Class, String, Object[]) . При этом, передавать объект блока не нужно!

Читайте также:  Как писать цветными буквами в minecraft в чате на сервере

Запустим игру, возьмём добавленные блоки в руки и разместим их в мире.

Цветной камень

Для наглядности, мы установили поверх наших цветных камней, ванильный камень.

Поворачиваемый блок#

Цветные блоки сделать оказалось довольно просто, но как насчёт добавления блока, который будет смотреть на игрока при его установке? Для этого нам понадобится лишь один метод Block#onBlockPlacedBy , который получает параметр связанный с сущностью установившей блок(сущность может быть не только игроком!)

Командный Блок. Что ты такое? — НаучБлок || Квадратный

Текстура лицевой части блока:

Лицевая часть

Создавать и добавлять класс наследующий ItemBlock нет необходимости, так как в данном случае не используется заготовленные метаданные из ItemStack.

В методе Block#onBlockPlacedBy мы задаём установленному блоку метаданные через метод World#setBlockMetadataWithNotify(Integer, Integer, Integer, Integer, Integer) . Разберём метод подробнее: первые три параметра отвечаю за позицию на которой необходимо произвести установку метаданных, следующим параметром идут метаданные, а затем флаг.

Флаг Описание
1 Вызвать обновление соседних блоков
2 Вызвать обновление блока(в случае клиента — перерисовать, в случае сервера — отправить блок на клиент)
3 Вызвать действия флагов 1 и 2. В случае клиента, действие флага 2 не будет применено(перерисовка блока)

Почему-то MinecraftForge в JavaDoc отсылает смотреть метод World#setBlock насчёт флагов, но в случае установки метаданных, описание из World#setBlock не будет являться верным. Вы можете самостоятельно в этом убедиться посмотрев код метода.

В дальнейшем вы можете использовать побитовые операции для дальнейшей работы с метаданными блока, чтобы записывать не только поворот блока, но и какое-то дополнительное состояние. Более подробные примеры работы с метаданными блоков вы сможете найти в коде блоков, таких как: забор, тыквы, редстоун механизмы и др.

Источник: mcmodding.ru

Jade 1.19, 1.18.2, 1.16.5, 1.12.2 (подсказки о блоках и мобах)

Jade — это аддон для мода Hwyla, а начиная с версии 1.16 самостоятельный мод, который отображает дополнительные подсказке о блоках, предметах и мобах Майнкрафт. Вы сможете узнать какие предметы хранятся в инвентаре блоков; характеристики блоков и мобов; стадию роста культур, прогресс в плавке руд в печи, количество пчёл в ульях и многое другое.

Читайте также:  Сборка Майнкрафт пробуждение как у лололошки

Управление

  • numpad 0 — открыть настройки мода
  • numpad 1 — отобразить/скрыть подсказки
  • numpad 2 — отобразить/скрыть подсказки о жидкостях
  • numpad 3 — показать рецепты (требуется JEI или REI)
  • numpad 4 — показать использование (требуется JEI или REI)
  • Shift — отобразить подробную информацию у сервера

Скриншоты

Как установить Jade

  1. Скачать и установить Forge или Fabric
  2. Скачай мод
  3. Помести файл в .minecraft/mods
  4. Можно играть!

Скачать мод Jade

Для 1.19 Forge

jade-1_19-forge-7_3_1.jar (321.37 Kb, 11-июль-2022)

Для 1.19 Fabric

jade-1_19-fabric-7_4_0.jar (317.8 Kb, 11-июль-2022)

jade-1_18_2-forge-5_2_3.jar (291.8 Kb, 11-июль-2022)

Для 1.18.2 Fabric

jade-1_18_2-fabric-5_99_6.jar (318.58 Kb, 11-июль-2022)

jade-1_18_1-4_4_1.jar (282.56 Kb, 08-март-2022)

jade-1_17_1-3_3_1.jar (253.6 Kb, 08-март-2022)

jade-1_16_4-2_8_1.jar (251.38 Kb, 08-март-2022)

jade_1_15_2_1_2_0.jar (52.11 Kb, 08-март-2022)

jade_0_0_1.jar (27 Kb, 08-март-2022)

Понравился материал? Поделись с друзьями!

Источник: mineload.ru

Waila Harvestability [1.16.5] [1.15.2] [1.14.4] [1.12.2]

Это дополнение добавит в подсказки Waila информацию о том, можно ли добыть блок, уровень добычи и какой инструмент будет эффективен при добыче.

Скриншоты

Как установить Waila Harvestability

  1. Скачай и установи Minecraft Forge
  2. Скачай и установи WAILA или Hwyla
  3. Скачай мод
  4. Не распаковывая, скопируй в .minecraftmods
  5. Готово

Источник: minecraft-inside.ru