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

    Fields
    Modifier and Type
    Field
    Description
    static final com.mojang.serialization.Codec<StructureLootProcessor>
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected net.minecraft.world.level.levelgen.structure.templatesystem.StructureProcessorType<?>
     
    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)
     

    Methods inherited from class net.minecraft.world.level.levelgen.structure.templatesystem.StructureProcessor

    finalizeProcessing, process, processEntity

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

    • StructureLootProcessor

      public StructureLootProcessor()
  • Method Details

    • getType

      protected net.minecraft.world.level.levelgen.structure.templatesystem.StructureProcessorType<?> getType()
      Specified by:
      getType in class net.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:
      processBlock in class net.minecraft.world.level.levelgen.structure.templatesystem.StructureProcessor