From c601ecf8cd72b76f88fe0b020305a79405a484a5 Mon Sep 17 00:00:00 2001 From: Tec Date: Sun, 26 Apr 2020 10:04:43 +0200 Subject: Further optimize navigation --- .../mechanics/structure/IStructureDefinition.java | 40 +++++++++++----------- 1 file changed, 20 insertions(+), 20 deletions(-) (limited to 'src/main/java/com') diff --git a/src/main/java/com/github/technus/tectech/mechanics/structure/IStructureDefinition.java b/src/main/java/com/github/technus/tectech/mechanics/structure/IStructureDefinition.java index a32c1f8840..ef6ead0eed 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/structure/IStructureDefinition.java +++ b/src/main/java/com/github/technus/tectech/mechanics/structure/IStructureDefinition.java @@ -60,16 +60,16 @@ public interface IStructureDefinition { if(checkBlocksIfNotNullForceCheckAllIfTrue!=null){ if(checkBlocksIfNotNullForceCheckAllIfTrue){ for (IStructureElement element : elements) { - extendedFacing.getWorldOffset(abc, xyz); - xyz[0] += basePositionX; - xyz[1] += basePositionY; - xyz[2] += basePositionZ; - if(element.isNavigating()) { abc[0] = (element.resetA() ? basePositionA : abc[0]) + element.getStepA(); abc[1] = (element.resetB() ? basePositionA : abc[1]) + element.getStepB(); abc[2] = (element.resetC() ? basePositionA : abc[2]) + element.getStepC(); }else { + extendedFacing.getWorldOffset(abc, xyz); + xyz[0] += basePositionX; + xyz[1] += basePositionY; + xyz[2] += basePositionZ; + if (world.blockExists(xyz[0], xyz[1], xyz[2])) { if(!element.check(object, world, xyz[0], xyz[1], xyz[2])){ return false; @@ -82,16 +82,16 @@ public interface IStructureDefinition { } } else { for (IStructureElement element : elements) { - extendedFacing.getWorldOffset(abc, xyz); - xyz[0] += basePositionX; - xyz[1] += basePositionY; - xyz[2] += basePositionZ; - if(element.isNavigating()) { abc[0] = (element.resetA() ? basePositionA : abc[0]) + element.getStepA(); abc[1] = (element.resetB() ? basePositionA : abc[1]) + element.getStepB(); abc[2] = (element.resetC() ? basePositionA : abc[2]) + element.getStepC(); }else { + extendedFacing.getWorldOffset(abc, xyz); + xyz[0] += basePositionX; + xyz[1] += basePositionY; + xyz[2] += basePositionZ; + if (world.blockExists(xyz[0], xyz[1], xyz[2])) { if(!element.check(object, world, xyz[0], xyz[1], xyz[2])){ return false; @@ -104,16 +104,16 @@ public interface IStructureDefinition { }else { if(hintsOnly) { for (IStructureElement element : elements) { - extendedFacing.getWorldOffset(abc, xyz); - xyz[0] += basePositionX; - xyz[1] += basePositionY; - xyz[2] += basePositionZ; - if(element.isNavigating()) { abc[0] = (element.resetA() ? basePositionA : abc[0]) + element.getStepA(); abc[1] = (element.resetB() ? basePositionA : abc[1]) + element.getStepB(); abc[2] = (element.resetC() ? basePositionA : abc[2]) + element.getStepC(); }else { + extendedFacing.getWorldOffset(abc, xyz); + xyz[0] += basePositionX; + xyz[1] += basePositionY; + xyz[2] += basePositionZ; + if (world.blockExists(xyz[0], xyz[1], xyz[2])) { element.spawnHint(object, world, xyz[0], xyz[1], xyz[2]); } @@ -122,16 +122,16 @@ public interface IStructureDefinition { } } else { for (IStructureElement element : elements) { - extendedFacing.getWorldOffset(abc, xyz); - xyz[0] += basePositionX; - xyz[1] += basePositionY; - xyz[2] += basePositionZ; - if(element.isNavigating()) { abc[0] = (element.resetA() ? basePositionA : abc[0]) + element.getStepA(); abc[1] = (element.resetB() ? basePositionA : abc[1]) + element.getStepB(); abc[2] = (element.resetC() ? basePositionA : abc[2]) + element.getStepC(); }else { + extendedFacing.getWorldOffset(abc, xyz); + xyz[0] += basePositionX; + xyz[1] += basePositionY; + xyz[2] += basePositionZ; + if (world.blockExists(xyz[0], xyz[1], xyz[2])) { element.placeBlock(object, world, xyz[0], xyz[1], xyz[2]); } -- cgit