diff --git a/src/main/java/com/volmit/iris/object/IrisJigsawPieceConnector.java b/src/main/java/com/volmit/iris/object/IrisJigsawPieceConnector.java index 585d236c3..1020e2ca4 100644 --- a/src/main/java/com/volmit/iris/object/IrisJigsawPieceConnector.java +++ b/src/main/java/com/volmit/iris/object/IrisJigsawPieceConnector.java @@ -50,6 +50,11 @@ public class IrisJigsawPieceConnector @Required private IrisPosition position = new IrisPosition(0,0,0); + @DontObfuscate + @Desc("The relative position to this connector to place entities at") + @DependsOn({"spawnEntity"}) + private IrisPosition entityPosition = null; + @DontObfuscate @Desc("The direction this connector is facing. If the direction is set to UP, then pieces will place ABOVE the connector.") @Required diff --git a/src/main/java/com/volmit/iris/scaffold/jigsaw/PlannedStructure.java b/src/main/java/com/volmit/iris/scaffold/jigsaw/PlannedStructure.java index cea815abe..f7c4a0d18 100644 --- a/src/main/java/com/volmit/iris/scaffold/jigsaw/PlannedStructure.java +++ b/src/main/java/com/volmit/iris/scaffold/jigsaw/PlannedStructure.java @@ -114,9 +114,14 @@ public class PlannedStructure { for(IrisJigsawPieceConnector j : i.getAvailableConnectors()) { - if(j.getSpawnEntity() != null) + if(j.getSpawnEntity() != null && h != -1) { - IrisPosition p = i.getWorldPosition(j).add(new IrisPosition(j.getDirection().toVector().multiply(2))); + IrisPosition p = null; + if (j.getEntityPosition() == null){ + p = new IrisPosition(j.getDirection().toVector().multiply(2)); + } else { + p = i.getWorldPosition(j).add(j.getEntityPosition()); + } if(options.getMode().equals(ObjectPlaceMode.PAINT) || options.isVacuum()) {