diff --git a/src/main/java/dev/drtheo/queue/api/util/structure/QueuedStructureTemplate.java b/src/main/java/dev/drtheo/queue/api/util/structure/QueuedStructureTemplate.java index 032a353..b0dd391 100644 --- a/src/main/java/dev/drtheo/queue/api/util/structure/QueuedStructureTemplate.java +++ b/src/main/java/dev/drtheo/queue/api/util/structure/QueuedStructureTemplate.java @@ -42,15 +42,21 @@ public class QueuedStructureTemplate { private final List blockInfoLists; private final List entities; private final Vec3i size; + public final int maxTime; + + public QueuedStructureTemplate(StructureTemplate template, int maxTime) { + this((StructureTemplateAccessor) template, maxTime); + } public QueuedStructureTemplate(StructureTemplate template) { - this((StructureTemplateAccessor) template); + this(template, 20); } - private QueuedStructureTemplate(StructureTemplateAccessor accessor) { + private QueuedStructureTemplate(StructureTemplateAccessor accessor, int maxTime) { this.blockInfoLists = accessor.getBlockInfo(); this.entities = accessor.getEntities(); this.size = accessor.getSize(); + this.maxTime = maxTime; } public Optional place(ServerWorldAccess world, BlockPos pos, BlockPos pivot, StructurePlacementData placementData, Random random, int flags) { @@ -134,7 +140,7 @@ public Optional place(ServerWorldAccess world, BlockPos pos, BlockP flowingFluid.add(blockPos); return false; - }, TaskStage.startWorldTick(world.toServerWorld()), TimeUnit.TICKS, 1, 20) + }, TaskStage.startWorldTick(world.toServerWorld()), TimeUnit.TICKS, 1, maxTime) .thenRun(() -> { // ! this.fillWithFluid(world, flowingFluid, stillFluid); @@ -264,4 +270,4 @@ private static Optional getEntity(ServerWorldAccess world, NbtCompound n return Optional.empty(); } } -} \ No newline at end of file +}