diff --git a/src/main/kotlin/com/lambda/module/modules/combat/PlayerTrap.kt b/src/main/kotlin/com/lambda/module/modules/combat/PlayerTrap.kt index de2f3f01c..09d200801 100644 --- a/src/main/kotlin/com/lambda/module/modules/combat/PlayerTrap.kt +++ b/src/main/kotlin/com/lambda/module/modules/combat/PlayerTrap.kt @@ -30,6 +30,7 @@ import com.lambda.task.RootTask.run import com.lambda.task.Task import com.lambda.task.tasks.BuildTask.Companion.build import com.lambda.util.BlockUtils.blockState +import com.lambda.util.extension.shrinkByEpsilon import com.lambda.util.item.ItemUtils.block import com.lambda.util.math.flooredBlockPos import com.lambda.util.player.SlotUtils.hotbarAndStorage @@ -88,8 +89,8 @@ object PlayerTrap : Module( } fun SafeContext.getTrapPositions(player: PlayerEntity): Set { - val min = player.boundingBox.minPos.flooredBlockPos.add(-1, -1, -1) - val max = player.boundingBox.maxPos.flooredBlockPos.add(1, 1, 1) + val min = player.boundingBox.shrinkByEpsilon().minPos.flooredBlockPos.add(-1, -1, -1) + val max = player.boundingBox.shrinkByEpsilon().maxPos.flooredBlockPos.add(1, 1, 1) return buildSet { (min.x + 1.. diff --git a/src/main/kotlin/com/lambda/util/extension/Box.kt b/src/main/kotlin/com/lambda/util/extension/Box.kt index 84c617a53..13bf99aab 100644 --- a/src/main/kotlin/com/lambda/util/extension/Box.kt +++ b/src/main/kotlin/com/lambda/util/extension/Box.kt @@ -23,5 +23,7 @@ import net.minecraft.util.math.Vec3d val Box.min get() = Vec3d(minX, minY, minZ) val Box.max get() = Vec3d(maxX, maxY, maxZ) +fun Box.shrinkByEpsilon(): Box = expand(-1e-7) + operator fun Box.contains(boundingBox: Box) = this.intersects(boundingBox) operator fun DoubleArray.component6() = this[5]