Class BuildingStructureHandler<J extends AbstractJobStructure<?,J>,B extends AbstractBuildingStructureBuilder>
java.lang.Object
com.ldtteam.structurize.placement.structure.AbstractStructureHandler
com.minecolonies.core.entity.ai.workers.util.BuildingStructureHandler<J,B>
- All Implemented Interfaces:
com.ldtteam.structurize.placement.IPlacementContext,com.ldtteam.structurize.placement.structure.IStructureHandler
public class BuildingStructureHandler<J extends AbstractJobStructure<?,J>,B extends AbstractBuildingStructureBuilder>
extends com.ldtteam.structurize.placement.structure.AbstractStructureHandler
Represents a build task for the StructureIterator AI.
It internally uses a structure it transparently loads.
-
Constructor Summary
ConstructorsConstructorDescriptionBuildingStructureHandler(net.minecraft.world.level.Level world, IWorkOrder workOrder, AbstractEntityAIStructure<J, B> entityAIStructure, BuildingProgressStage[] stages) The minecolonies AI specific creative structure placer. -
Method Summary
Modifier and TypeMethodDescriptionbooleanvoidbooleannet.minecraft.world.item.ItemStack@Nullable net.minecraftforge.items.IItemHandlerintnet.minecraft.world.level.block.state.BlockStategetSolidBlockForPos(net.minecraft.core.BlockPos blockPos) net.minecraft.world.level.block.state.BlockStategetSolidBlockForPos(net.minecraft.core.BlockPos worldPos, @Nullable Function<net.minecraft.core.BlockPos, net.minecraft.world.level.block.state.BlockState> virtualBlocks) @Nullable BuildingProgressStagegetStage()Get the current stage we're in.intbooleanhasRequiredItems(@NotNull List<net.minecraft.world.item.ItemStack> requiredItems) booleanbooleanisStackFree(@Nullable net.minecraft.world.item.ItemStack itemStack) booleanGo to the next stage.voidprePlacementLogic(net.minecraft.core.BlockPos worldPos, net.minecraft.world.level.block.state.BlockState blockState, List<net.minecraft.world.item.ItemStack> requiredItems) booleanreplaceWithSolidBlock(net.minecraft.world.level.block.state.BlockState blockState) voidsetStage(BuildingProgressStage stage) Set the current stage from memory.booleanshouldBlocksBeConsideredEqual(net.minecraft.world.level.block.state.BlockState state1, net.minecraft.world.level.block.state.BlockState state2) voidtriggerEntitySuccess(net.minecraft.core.BlockPos blockPos, List<net.minecraft.world.item.ItemStack> list, boolean placement) voidtriggerSuccess(net.minecraft.core.BlockPos pos, List<net.minecraft.world.item.ItemStack> list, boolean placement) Methods inherited from class com.ldtteam.structurize.placement.structure.AbstractStructureHandler
getBluePrint, getCenterPos, getMd5, getRotationMirror, getSettings, getWorld, hasBluePrint, isReady, setBlueprint, setMd5Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.ldtteam.structurize.placement.structure.IStructureHandler
getProgressPosInWorld, getStructurePosFromWorld, isCorrectMD5, onCompletion
-
Constructor Details
-
BuildingStructureHandler
public BuildingStructureHandler(net.minecraft.world.level.Level world, IWorkOrder workOrder, AbstractEntityAIStructure<J, B> entityAIStructure, BuildingProgressStage[] stages) The minecolonies AI specific creative structure placer.- Parameters:
world- the world.workOrder- the workorder for placemententityAIStructure- the AI handling this structure.
-
-
Method Details
-
getStage
Get the current stage we're in.- Returns:
- the current Stage.
-
nextStage
public boolean nextStage()Go to the next stage. -
setStage
Set the current stage from memory.- Parameters:
stage- the stage to set.
-
prePlacementLogic
public void prePlacementLogic(net.minecraft.core.BlockPos worldPos, net.minecraft.world.level.block.state.BlockState blockState, List<net.minecraft.world.item.ItemStack> requiredItems) -
getInventory
@Nullable public @Nullable net.minecraftforge.items.IItemHandler getInventory() -
triggerSuccess
public void triggerSuccess(net.minecraft.core.BlockPos pos, List<net.minecraft.world.item.ItemStack> list, boolean placement) - Specified by:
triggerSuccessin interfacecom.ldtteam.structurize.placement.structure.IStructureHandler- Overrides:
triggerSuccessin classcom.ldtteam.structurize.placement.structure.AbstractStructureHandler
-
triggerEntitySuccess
public void triggerEntitySuccess(net.minecraft.core.BlockPos blockPos, List<net.minecraft.world.item.ItemStack> list, boolean placement) -
hasRequiredItems
public boolean hasRequiredItems(@NotNull @NotNull List<net.minecraft.world.item.ItemStack> requiredItems) -
consume
-
isCreative
public boolean isCreative() -
getStepsPerCall
public int getStepsPerCall() -
getMaxBlocksCheckedPerCall
public int getMaxBlocksCheckedPerCall() -
isStackFree
public boolean isStackFree(@Nullable @Nullable net.minecraft.world.item.ItemStack itemStack) -
allowReplace
public boolean allowReplace() -
getHeldItem
public net.minecraft.world.item.ItemStack getHeldItem() -
getSolidBlockForPos
public net.minecraft.world.level.block.state.BlockState getSolidBlockForPos(net.minecraft.core.BlockPos blockPos) -
getSolidBlockForPos
public net.minecraft.world.level.block.state.BlockState getSolidBlockForPos(net.minecraft.core.BlockPos worldPos, @Nullable @Nullable Function<net.minecraft.core.BlockPos, net.minecraft.world.level.block.state.BlockState> virtualBlocks) -
replaceWithSolidBlock
public boolean replaceWithSolidBlock(net.minecraft.world.level.block.state.BlockState blockState) -
fancyPlacement
public boolean fancyPlacement() -
shouldBlocksBeConsideredEqual
public boolean shouldBlocksBeConsideredEqual(net.minecraft.world.level.block.state.BlockState state1, net.minecraft.world.level.block.state.BlockState state2)
-