diff options
author | Tec <daniel112092@gmail.com> | 2020-04-26 10:04:43 +0200 |
---|---|---|
committer | Tec <daniel112092@gmail.com> | 2020-04-26 10:04:43 +0200 |
commit | c601ecf8cd72b76f88fe0b020305a79405a484a5 (patch) | |
tree | 7c073745588fd27e751c6f8e3d4a4ffbd11c4c9a /src | |
parent | 6e9b51fe3affc60e3969ba50c2090fb82116467a (diff) | |
download | GT5-Unofficial-c601ecf8cd72b76f88fe0b020305a79405a484a5.tar.gz GT5-Unofficial-c601ecf8cd72b76f88fe0b020305a79405a484a5.tar.bz2 GT5-Unofficial-c601ecf8cd72b76f88fe0b020305a79405a484a5.zip |
Further optimize navigation
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/com/github/technus/tectech/mechanics/structure/IStructureDefinition.java | 40 |
1 files changed, 20 insertions, 20 deletions
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<T> { if(checkBlocksIfNotNullForceCheckAllIfTrue!=null){ if(checkBlocksIfNotNullForceCheckAllIfTrue){ for (IStructureElement<T> 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<T> { } } else { for (IStructureElement<T> 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<T> { }else { if(hintsOnly) { for (IStructureElement<T> 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<T> { } } else { for (IStructureElement<T> 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]); } |