Package com.hbm_m.worldgen
Class StructureLootProcessor
java.lang.Object
net.minecraft.world.level.levelgen.structure.templatesystem.StructureProcessor
com.hbm_m.worldgen.StructureLootProcessor
public class StructureLootProcessor
extends net.minecraft.world.level.levelgen.structure.templatesystem.StructureProcessor
Процессор структур, назначающий лут-таблицы контейнерам при генерации.
Это современный аналог ручного наполнения инвентарей через
Component.generateInvContents + WeightedRandomChestContent
в оригинале 1.7.10. Вместо того чтобы заполнять слоты напрямую, процессор
проставляет тег LootTable в NBT блочного-сущности — ванильный сундук
обрабатывает его сам, а ящики HBM через
BaseCrateBlockEntity.unpackLootTable(net.minecraft.world.entity.player.Player).
Для разнообразия таблица выбирается по хешу позиции контейнера: разные сундуки/ящики в одной структуре получают разные наборы лута.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final com.mojang.serialization.Codec<StructureLootProcessor> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected net.minecraft.world.level.levelgen.structure.templatesystem.StructureProcessorType<?>getType()net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate.StructureBlockInfoprocessBlock(net.minecraft.world.level.LevelReader level, net.minecraft.core.BlockPos pos1, net.minecraft.core.BlockPos pos2, net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate.StructureBlockInfo info1, net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate.StructureBlockInfo info2, net.minecraft.world.level.levelgen.structure.templatesystem.StructurePlaceSettings settings) Methods inherited from class net.minecraft.world.level.levelgen.structure.templatesystem.StructureProcessor
finalizeProcessing, process, processEntity
-
Field Details
-
CODEC
-
-
Constructor Details
-
StructureLootProcessor
public StructureLootProcessor()
-
-
Method Details
-
getType
protected net.minecraft.world.level.levelgen.structure.templatesystem.StructureProcessorType<?> getType()- Specified by:
getTypein classnet.minecraft.world.level.levelgen.structure.templatesystem.StructureProcessor
-
processBlock
public net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate.StructureBlockInfo processBlock(net.minecraft.world.level.LevelReader level, net.minecraft.core.BlockPos pos1, net.minecraft.core.BlockPos pos2, net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate.StructureBlockInfo info1, net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate.StructureBlockInfo info2, net.minecraft.world.level.levelgen.structure.templatesystem.StructurePlaceSettings settings) - Overrides:
processBlockin classnet.minecraft.world.level.levelgen.structure.templatesystem.StructureProcessor
-