Ore Stages
Активный0.0
Установок
Последнее обновление
Версии
Ore Stages
Этот мод является дополнением к GameStage API и предоставляет возможность назначать игровые стадии для блоков в мире, включая различные руды. Для полного понимания работы системы рекомендуется ознакомиться с описанием основного мода GameStage API. Если кратко, стадии представляют собой элементы прогрессионной системы, которые настраиваются создателями сборок модов или администраторами серверов. Игроки получают доступ к стадиям через команды, которые обычно активируются с помощью модов для квестов, достижений или командных блоков.

Как работает система стадий?
Когда игрок не обладает необходимой стадией для определенного блока:
- Блок отображается как его замена
- Правый клик по блоку становится невозможен
- При разрушении блока выпадают предметы, соответствующие заменяющему блоку
- Время добычи соответствует характеристикам заменяющего блока
В ситуациях, когда поблизости нет игроков, система предполагает отсутствие стадий - это называется поведением по умолчанию.
Влияние на производительность
Процесс восстановления оригинального вида блоков выполняется очень быстро. Операция включает перезагрузку рендереров чанков на стороне клиента. Хотя это звучит сложно, на практике даже на медленных компьютерах процесс занимает не более одной-двух секунд - аналогично нажатию F3+A в ванильной версии игры.
Настройка через CraftTweaker
Конфигурация мода осуществляется с помощью CraftTweaker. Доступны следующие методы:
Замена блока на обычный камень:
mods.orestages.OreStages.addReplacement(String stage, IIngredient original);
Замена одного блока другим:
mods.orestages.OreStages.addReplacement(String stage, IIngredient original, IItemStack replacement);
Замена по точным идентификаторам блоков (первые два метода работают только с блоками, имеющими предметы):
mods.orestages.OreStages.addReplacementById(String stage, String original, String replacement);
Следующие методы добавляют замену без поведения по умолчанию - при разрушении блока без участия игрока (водой, взрывом, механизмом) блок будет разрушаться как обычный:
mods.orestages.OreStages.addNonDefaultingReplacement(String stage, IIngredient original);
mods.orestages.OreStages.addNonDefaultingReplacement(String stage, IIngredient original, IItemStack replacement);
mods.orestages.OreStages.addNonDefaultingReplacementById(String stage, String original, String replacement);
Пример скрипта
mods.orestages.OreStages.addReplacementById("one", "minecraft:potatoes:", "minecraft:tallgrass:2");
mods.orestages.OreStages.addReplacementById("two", "minecraft:wheat:", "minecraft:carrots:3");
mods.orestages.OreStages.addReplacementById("three", "minecraft:nether_wart:", "minecraft:beetroots");
mods.orestages.OreStages.addReplacement("four", <minecraft:dirt>, <minecraft:stone>);
mods.orestages.OreStages.addReplacement("one", <minecraft:obsidian>, <minecraft:cobblestone>);
mods.orestages.OreStages.addNonDefaultingReplacement("one", <minecraft:torch:>, <minecraft:redstone_torch>);
mods.orestages.OreStages.addReplacement("five", <minecraft:furnace:*>, <minecraft:stone>);