
WorldGen Indicators
Активный0.0
Установок
Последнее обновление
WorldGen Indicators
Мод WorldGen Indicators предоставляет возможность создавать дополнительные блоки в зависимости от существующей генерации мира. Отличным примером применения является добавление специальных цветов-индикаторов, которые появляются на поверхности при наличии руды в чанке. Для настройки используется система CraftTweaker.
Основные возможности
Функционал мода включает проверку любых блоков в чанке и генерацию соответствующих блоков на поверхности. Вы можете настраивать различные параметры размещения:
- Генерацию на определенной высоте относительно проверяемого блока
- Размещение на заданной высоте от поверхности
- Создание структур на основе NBT-формата Minecraft
- Проверки, зависящие от биома
Настройка через CraftTweaker
Для начала работы создайте BlockChecker с помощью команды BlockChecker.create(1), где число указывает вероятность срабатывания. Затем добавьте проверяемые блоки через addValid(IBlock block) и индикаторы через addIndicator(IIndicator indicator). Внутри индикатора можно разместить несколько блоков методом add(IBlock block). (Блоки в индикаторах и сами индикаторы выбираются случайным образом)
Индикатор на поверхности
Следующий скрипт добавляет 10% шанс появления факела из редстоуна на поверхности при обнаружении руды редстоуна:
import mods.worldgenindicators.BlockChecker;
import mods.worldgenindicators.WorldGenManager;
import mods.worldgenindicators.SurfaceIndicator;
import crafttweaker.block.IBlock;
var redstoneOre = <minecraft:redstone_ore>.asBlock();
var redstoneTorch = <minecraft:redstone_torch>.asBlock();
var surfaceIndicator = SurfaceIndicator.create().add(redstoneTorch);
var blockChecker = BlockChecker.create(0.1).addValid(redstoneOre).addIndicator(surfaceIndicator);
WorldGenManager.addChecker(blockChecker);
Относительный индикатор поверхности
Относительный индикатор поверхности требует указания параметра при создании - количества блоков над поверхностью для генерации:
import mods.worldgenindicators.BlockChecker;
import mods.worldgenindicators.WorldGenManager;
import mods.worldgenindicators.RelativeSurfaceIndicator;
import crafttweaker.block.IBlock;
var grass = <minecraft:grass>.asBlock();
var glass = <minecraft:glass>.asBlock();
var surfaceIndicator = RelativeSurfaceIndicator.create(20).add(glass);
var blockChecker = BlockChecker.create(1).addValid(grass).addIndicator(surfaceIndicator);
WorldGenManager.addChecker(blockChecker);
Белый и черный списки
import mods.worldgenindicators.BlockChecker;
import mods.worldgenindicators.WorldGenManager;
import mods.worldgenindicators.SurfaceIndicator;
import mods.worldgenindicators.RelativeSurfaceIndicator;
import crafttweaker.block.IBlock;
import crafttweaker.item.IItemStack;
WorldGenManager.addChecker(
BlockChecker.create(0.5d)
.addWhitelistEntry(<minecraft:sand>.asBlock())
.addValid(<minecraft:gold_ore>.asBlock())
.addIndicator(SurfaceIndicator.create().add( <minecraft:gold_block>.asBlock()) )
);
WorldGenManager.addChecker(
BlockChecker.create(0.5d)
.addBlacklistEntry(<minecraft:grass>.asBlock())
.addBlacklistEntry(<blockstate:minecraft:air>.block)
.addValid(<minecraft:iron_ore>.asBlock())
.addIndicator(RelativeSurfaceIndicator.create(2).add(<minecraft:diamond_block>.asBlock()))
);