Скрытие контента

Изучения в данном моде представляют собой маскировку блока/предмета под другой блок/предмет до срабатывания определенного триггера-события, после которого маскировка исчезает и игрок получает новые знания. Например, пока игрок не сделает железную кирку, все алмазы будут замаскированы под камень. При этом, если говорить о маскировке предметов, то дополнительно предмет получает неопределенное имя (набор непонятных символов).

Стоит также знать, что замаскированные блоки сохраняют свойства от исходного блока: хитбокс, свет и пр. То есть светящийся камень, замаскированный под обычный камень, будет светиться! Таким образом, одни растения лучше маскировать под другие, а руды – под каменные блоки и т. д.

Формат создания изучения следующий:

{
    Для блоков мы пишем маскируемый блок и блок-маскировку, который мы будем видеть вместо маскируемого.
    "block_states": {
    "маскируемый блок": "маскировка",
    ….
},

Для предметов:

 "items": {
    "маскируемый предмет": "маскировка"
  },
 Триггер – это событие, после которого маскировка исчезает и игроку становится виден и понятен маскируемый предмет/объект. 
 "advancement": "достижение"
}

Пример использования

Приведем пример создания изучения. Для загрузки датапаков будем использовать KubeJS.

Структура датапака будет выглядеть следующим образом. data: saudade -> revelations -> rev1.json. Внутри документа rev1.json напишем параметры изучения. Для следующих изучений просто создайте аналогичный текстовый документ формата json с другим именем, например, rev2.json.

В примере вся трава будет замаскирована под маяки, вся высокая трава – на обсидиан и незеритовые блоки (нижний уровень высокой травы – обсидиан, верхний – незеритовый блок), а все звезды нижнего мира – под порох. При том, порох будет светиться, так как свойство свечение унаследовано у звезды нижнего мира. Событием же, снимающим данную маскировку является выполнение достижения minecraft:nether/root.

{
  "block_states": {
    "minecraft:grass": "minecraft:beacon",
    "minecraft:tall_grass": "minecraft:obsidian",
    "minecraft:tall_grass[half=upper]": "minecraft:netherite_block"
  },
  "items": {
    "minecraft:nether_star": "minecraft:gunpowder"
  },
  "advancement": "minecraft:nether/root"
}

Last updated