@@ -27,6 +27,7 @@ import com.lambda.task.RootTask.run
2727import com.lambda.task.Task
2828import com.lambda.task.tasks.BuildTask.Companion.build
2929import com.lambda.util.BlockUtils.blockPos
30+ import fi.dy.masa.litematica.data.DataManager
3031import fi.dy.masa.litematica.world.SchematicWorldHandler
3132import net.minecraft.util.math.BlockPos
3233
@@ -35,8 +36,8 @@ object Printer : Module(
3536 description = " Automatically prints schematics" ,
3637 tag = ModuleTag .PLAYER
3738) {
38- private fun isSchematicHandlerAvailable (): Boolean = runCatching {
39- Class .forName(" fi.dy.masa.litematica.world.SchematicWorldHandler " )
39+ private fun isLitematicaAvailable (): Boolean = runCatching {
40+ Class .forName(" fi.dy.masa.litematica.Litematica " )
4041 true
4142 }.getOrDefault(false )
4243
@@ -58,7 +59,7 @@ object Printer : Module(
5859 }
5960 }
6061 onEnable {
61- if (! isSchematicHandlerAvailable ()) {
62+ if (! isLitematicaAvailable ()) {
6263 error(" Litematica is not installed!" )
6364 disable()
6465 return @onEnable
@@ -68,6 +69,7 @@ object Printer : Module(
6869 BlockPos .iterateOutwards(player.blockPos, range, range, range)
6970 .asSequence()
7071 .map { it.blockPos }
72+ .filter { DataManager .getRenderLayerRange().isPositionWithinRange(it) }
7173 .associateWith { TargetState .State (schematicWorld.getBlockState(it)) }
7274 .filter { air || ! it.value.blockState.isAir }
7375 }.build(finishOnDone = false ).run ()
0 commit comments