From f7799152794fecc5f19cf4ddcbc194f959102762 Mon Sep 17 00:00:00 2001 From: SenseiKiwi Date: Tue, 31 Dec 2013 02:59:44 -0400 Subject: [PATCH 1/7] Minor Change Deleted a line with a useless annotation. --- .../java/StevenDimDoors/mod_pocketDim/world/PocketProvider.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/StevenDimDoors/mod_pocketDim/world/PocketProvider.java b/src/main/java/StevenDimDoors/mod_pocketDim/world/PocketProvider.java index f80480cc..793f2df8 100644 --- a/src/main/java/StevenDimDoors/mod_pocketDim/world/PocketProvider.java +++ b/src/main/java/StevenDimDoors/mod_pocketDim/world/PocketProvider.java @@ -20,7 +20,6 @@ public class PocketProvider extends WorldProvider { private DDProperties properties; private MonolithSpawner spawner; - @SuppressWarnings("unused") // ? private IRenderHandler skyRenderer; public PocketProvider() From 63879b185151e6bc4c1f3f36d83562262d77171c Mon Sep 17 00:00:00 2001 From: SenseiKiwi Date: Tue, 31 Dec 2013 15:13:29 -0400 Subject: [PATCH 2/7] Minor Change Removed empty line --- .../StevenDimDoors/mod_pocketDim/dungeon/DungeonSchematic.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/StevenDimDoors/mod_pocketDim/dungeon/DungeonSchematic.java b/src/main/java/StevenDimDoors/mod_pocketDim/dungeon/DungeonSchematic.java index c3eec44e..9b723d9b 100644 --- a/src/main/java/StevenDimDoors/mod_pocketDim/dungeon/DungeonSchematic.java +++ b/src/main/java/StevenDimDoors/mod_pocketDim/dungeon/DungeonSchematic.java @@ -297,7 +297,6 @@ public class DungeonSchematic extends Schematic { private static void createExitDoorLink(World world, NewDimData dimension, Point3D point, Point3D entrance, int rotation, Point3D pocketCenter) { - //Transform the door's location to the pocket coordinate system Point3D location = point.clone(); BlockRotator.transformPoint(location, entrance, rotation, pocketCenter); From 2f8292faab9ff3803161bd9be8a3792f6adaef79 Mon Sep 17 00:00:00 2001 From: SenseiKiwi Date: Wed, 1 Jan 2014 01:39:22 -0400 Subject: [PATCH 3/7] More Progress on Mazes More progress on mazes. Started implementing the placement of dimensional doors in mazes. --- .../experimental/BoundingBox.java | 69 +++++++++++++++++++ .../experimental/MazeBuilder.java | 2 + .../experimental/MazeDesign.java | 6 ++ .../experimental/PartitionNode.java | 42 +---------- 4 files changed, 80 insertions(+), 39 deletions(-) create mode 100644 src/main/java/StevenDimDoors/experimental/BoundingBox.java diff --git a/src/main/java/StevenDimDoors/experimental/BoundingBox.java b/src/main/java/StevenDimDoors/experimental/BoundingBox.java new file mode 100644 index 00000000..7c996460 --- /dev/null +++ b/src/main/java/StevenDimDoors/experimental/BoundingBox.java @@ -0,0 +1,69 @@ +package StevenDimDoors.experimental; + +import StevenDimDoors.mod_pocketDim.Point3D; + +public class BoundingBox +{ + protected Point3D minCorner; + protected Point3D maxCorner; + + public BoundingBox(int x, int y, int z, int width, int height, int length) + { + this.minCorner = new Point3D(x, y, z); + this.maxCorner = new Point3D(x + width - 1, y + height - 1, z + length - 1); + } + + public BoundingBox(Point3D minCorner, Point3D maxCorner) + { + this.minCorner = minCorner; + this.maxCorner = maxCorner; + } + + public int width() + { + return (maxCorner.getX() - minCorner.getX() + 1); + } + + public int height() + { + return (maxCorner.getY() - minCorner.getY() + 1); + } + + public int length() + { + return (maxCorner.getZ() - minCorner.getZ() + 1); + } + + public Point3D minCorner() + { + return minCorner; + } + + public Point3D maxCorner() + { + return maxCorner; + } + + public boolean contains(int x, int y, int z) + { + return ((minCorner.getX() <= x && x <= maxCorner.getX()) && + (minCorner.getY() <= y && y <= maxCorner.getY()) && + (minCorner.getZ() <= z && z <= maxCorner.getZ())); + } + + public boolean intersects(BoundingBox other) + { + // To be clear, having one box inside another counts as intersecting + + boolean xi = (this.minCorner.getX() <= other.minCorner.getX() && other.minCorner.getX() <= this.maxCorner.getX()) || + (other.minCorner.getX() <= this.minCorner.getX() && this.minCorner.getX() <= other.maxCorner.getX()); + + boolean yi = (this.minCorner.getY() <= other.minCorner.getY() && other.minCorner.getY() <= this.maxCorner.getY()) || + (other.minCorner.getY() <= this.minCorner.getY() && this.minCorner.getY() <= other.maxCorner.getY()); + + boolean zi = (this.minCorner.getZ() <= other.minCorner.getZ() && other.minCorner.getZ() <= this.maxCorner.getZ()) || + (other.minCorner.getZ() <= this.minCorner.getZ() && this.minCorner.getZ() <= other.maxCorner.getZ()); + + return xi && yi && zi; + } +} diff --git a/src/main/java/StevenDimDoors/experimental/MazeBuilder.java b/src/main/java/StevenDimDoors/experimental/MazeBuilder.java index aa469a46..37935c8a 100644 --- a/src/main/java/StevenDimDoors/experimental/MazeBuilder.java +++ b/src/main/java/StevenDimDoors/experimental/MazeBuilder.java @@ -21,6 +21,8 @@ public class MazeBuilder buildRooms(design.getRoomGraph(), world, offset); carveDoorways(design.getRoomGraph(), world, offset, decay, random); + //placeDoors(design, world, offset); + applyRandomDestruction(design, world, offset, decay, random); } diff --git a/src/main/java/StevenDimDoors/experimental/MazeDesign.java b/src/main/java/StevenDimDoors/experimental/MazeDesign.java index d71b9566..e7d4b4c7 100644 --- a/src/main/java/StevenDimDoors/experimental/MazeDesign.java +++ b/src/main/java/StevenDimDoors/experimental/MazeDesign.java @@ -7,6 +7,7 @@ public class MazeDesign private PartitionNode root; private DirectedGraph rooms; private ArrayList> cores; + private ArrayList protectedAreas; public MazeDesign(PartitionNode root, DirectedGraph rooms, ArrayList> cores) @@ -31,6 +32,11 @@ public class MazeDesign return cores; } + public ArrayList getProtectedAreas() + { + return protectedAreas; + } + public int width() { return root.width(); diff --git a/src/main/java/StevenDimDoors/experimental/PartitionNode.java b/src/main/java/StevenDimDoors/experimental/PartitionNode.java index 25d8d6d1..df538545 100644 --- a/src/main/java/StevenDimDoors/experimental/PartitionNode.java +++ b/src/main/java/StevenDimDoors/experimental/PartitionNode.java @@ -2,41 +2,22 @@ package StevenDimDoors.experimental; import StevenDimDoors.mod_pocketDim.Point3D; -public class PartitionNode +public class PartitionNode extends BoundingBox { - private Point3D minCorner; - private Point3D maxCorner; private PartitionNode parent; private PartitionNode leftChild = null; private PartitionNode rightChild = null; public PartitionNode(int width, int height, int length) { + super(new Point3D(0, 0, 0), new Point3D(width - 1, height - 1, length - 1)); parent = null; - minCorner = new Point3D(0, 0, 0); - maxCorner = new Point3D(width - 1, height - 1, length - 1); } private PartitionNode(PartitionNode parent, Point3D minCorner, Point3D maxCorner) { + super(minCorner, maxCorner); this.parent = parent; - this.minCorner = minCorner; - this.maxCorner = maxCorner; - } - - public int width() - { - return (maxCorner.getX() - minCorner.getX() + 1); - } - - public int height() - { - return (maxCorner.getY() - minCorner.getY() + 1); - } - - public int length() - { - return (maxCorner.getZ() - minCorner.getZ() + 1); } public boolean isLeaf() @@ -54,16 +35,6 @@ public class PartitionNode return rightChild; } - public Point3D minCorner() - { - return minCorner; - } - - public Point3D maxCorner() - { - return maxCorner; - } - public PartitionNode parent() { return parent; @@ -122,13 +93,6 @@ public class PartitionNode parent = null; } } - - public boolean contains(int x, int y, int z) - { - return ((minCorner.getX() <= x && x <= maxCorner.getX()) && - (minCorner.getY() <= y && y <= maxCorner.getY()) && - (minCorner.getZ() <= z && z <= maxCorner.getZ())); - } public PartitionNode findPoint(int x, int y, int z) { From e3f22ee4dfc5c18318bfbe00076aa235646b0137 Mon Sep 17 00:00:00 2001 From: SenseiKiwi Date: Fri, 3 Jan 2014 14:39:36 -0400 Subject: [PATCH 4/7] Fixed Dungeon Weights Made super rare dungeons appear more frequently. --- src/main/resources/schematics/ruins.txt | 13 ++++++------- ...=> ComplexHall_SK-LostGarden_Open_40.schematic} | Bin ...tic => Hub_SK-Claustrophobia_Open_40.schematic} | Bin ...ematic => Hub_SK-FractalCage_Open_40.schematic} | Bin ... => Trap_SK-RestlessCorridor_Open_40.schematic} | Bin 5 files changed, 6 insertions(+), 7 deletions(-) rename src/main/resources/schematics/ruins/{ComplexHall_SK-LostGarden_Open_10.schematic => ComplexHall_SK-LostGarden_Open_40.schematic} (100%) rename src/main/resources/schematics/ruins/{Hub_SK-Claustrophobia_Open_10.schematic => Hub_SK-Claustrophobia_Open_40.schematic} (100%) rename src/main/resources/schematics/ruins/{Hub_SK-FractalCage_Open_20.schematic => Hub_SK-FractalCage_Open_40.schematic} (100%) rename src/main/resources/schematics/ruins/{Trap_SK-RestlessCorridor_Open_10.schematic => Trap_SK-RestlessCorridor_Open_40.schematic} (100%) diff --git a/src/main/resources/schematics/ruins.txt b/src/main/resources/schematics/ruins.txt index 8f6d07d6..7e2ca0b5 100644 --- a/src/main/resources/schematics/ruins.txt +++ b/src/main/resources/schematics/ruins.txt @@ -8,7 +8,7 @@ /schematics/ruins/ComplexHall_SK-AnchoredDescent_Open_50.schematic /schematics/ruins/ComplexHall_SK-HallwayHiddenTreasure-B_Closed_50.schematic /schematics/ruins/ComplexHall_SK-HiddenStairs_Open_100.schematic -/schematics/ruins/ComplexHall_SK-LostGarden_Open_10.schematic +/schematics/ruins/ComplexHall_SK-LostGarden_Open_40.schematic /schematics/ruins/ComplexHall_SK-RuinsOhNo_Open_50.schematic /schematics/ruins/complexHall_smallBranchWithExit_closed_100.schematic /schematics/ruins/complexHall_smallRotundaWithExit_closed_100.schematic @@ -19,7 +19,7 @@ /schematics/ruins/deadEnd_fallingTrapO_open_100.schematic /schematics/ruins/deadEnd_hiddenStaircaseO_open_100.schematic /schematics/ruins/deadEnd_lavaTrapO_open_100.schematic -/schematics/ruins/deadend_randomTree_open_75.schematic +/schematics/ruins/deadEnd_randomTree_open_75.schematic /schematics/ruins/DeadEnd_SK-EyesOfTricksters_Open_50.schematic /schematics/ruins/DeadEnd_SK-FarAwayInTheDark_Open_100.schematic /schematics/ruins/DeadEnd_SK-UnstableDesert_Open_50.schematic @@ -37,8 +37,8 @@ /schematics/ruins/hub_fortRuins_open_100.schematic /schematics/ruins/hub_hallwayTrapRooms1_closed_100.schematic /schematics/ruins/hub_longDoorHallway_closed_100.schematic -/schematics/ruins/Hub_SK-Claustrophobia_Open_10.schematic -/schematics/ruins/Hub_SK-FractalCage_Open_20.schematic +/schematics/ruins/Hub_SK-Claustrophobia_Open_40.schematic +/schematics/ruins/Hub_SK-FractalCage_Open_40.schematic /schematics/ruins/Hub_SK-HeartOfDisorder_Open_50.schematic /schematics/ruins/Hub_SK-TheNexus_Open_40.schematic /schematics/ruins/maze_smallMaze1_closed_100.schematic @@ -53,9 +53,9 @@ /schematics/ruins/SimpleHall_SK-LeftUpPath_Open_50.schematic /schematics/ruins/SimpleHall_SK-RightDownStairs_Open_50.schematic /schematics/ruins/SimpleHall_SK-RightUpPath_Open_50.schematic +/schematics/ruins/SimpleHall_SK-SpiralHallway_Open_100.schematic /schematics/ruins/SimpleHall_SK-UTurnLeft_Open_50.schematic /schematics/ruins/SimpleHall_SK-UTurnRight_Open_50.schematic -/schematics/ruins/SimpleHall_SK-SpiralHallway_Open_100.schematic /schematics/ruins/simpleHall_smallSimpleLeft_closed_100.schematic /schematics/ruins/simpleHall_smallSimpleRight_closed_100.schematic /schematics/ruins/trap_fakeTNTTrap_closed_100.schematic @@ -67,10 +67,9 @@ /schematics/ruins/trap_pistonFloorPlatform_closed_100.schematic /schematics/ruins/trap_pistonHallway_closed_100.schematic /schematics/ruins/trap_pistonSmasherHall_closed_100.schematic -/schematics/ruins/trap_raceTheTNTHall_closed_50.schematic /schematics/ruins/Trap_SK-FakeTNTTrap-B_Closed_50.schematic /schematics/ruins/Trap_SK-NicolesTower_Open_50.schematic -/schematics/ruins/Trap_SK-RestlessCorridor_Open_10.schematic +/schematics/ruins/Trap_SK-RestlessCorridor_Open_40.schematic /schematics/ruins/Trap_SK-SimpleLeftTrap_Closed_50.schematic /schematics/ruins/Trap_SK-SimpleRightTrap_Closed_50.schematic /schematics/ruins/Trap_SK-TrappedStairsDown_Closed_50.schematic diff --git a/src/main/resources/schematics/ruins/ComplexHall_SK-LostGarden_Open_10.schematic b/src/main/resources/schematics/ruins/ComplexHall_SK-LostGarden_Open_40.schematic similarity index 100% rename from src/main/resources/schematics/ruins/ComplexHall_SK-LostGarden_Open_10.schematic rename to src/main/resources/schematics/ruins/ComplexHall_SK-LostGarden_Open_40.schematic diff --git a/src/main/resources/schematics/ruins/Hub_SK-Claustrophobia_Open_10.schematic b/src/main/resources/schematics/ruins/Hub_SK-Claustrophobia_Open_40.schematic similarity index 100% rename from src/main/resources/schematics/ruins/Hub_SK-Claustrophobia_Open_10.schematic rename to src/main/resources/schematics/ruins/Hub_SK-Claustrophobia_Open_40.schematic diff --git a/src/main/resources/schematics/ruins/Hub_SK-FractalCage_Open_20.schematic b/src/main/resources/schematics/ruins/Hub_SK-FractalCage_Open_40.schematic similarity index 100% rename from src/main/resources/schematics/ruins/Hub_SK-FractalCage_Open_20.schematic rename to src/main/resources/schematics/ruins/Hub_SK-FractalCage_Open_40.schematic diff --git a/src/main/resources/schematics/ruins/Trap_SK-RestlessCorridor_Open_10.schematic b/src/main/resources/schematics/ruins/Trap_SK-RestlessCorridor_Open_40.schematic similarity index 100% rename from src/main/resources/schematics/ruins/Trap_SK-RestlessCorridor_Open_10.schematic rename to src/main/resources/schematics/ruins/Trap_SK-RestlessCorridor_Open_40.schematic From c0dec4caa3bb3672971a5abd1ac6acbd80ab8faa Mon Sep 17 00:00:00 2001 From: SenseiKiwi Date: Fri, 3 Jan 2014 18:46:41 -0400 Subject: [PATCH 5/7] Fixed Small Branch Room Fixed a simple dungeon that had a problem with an extra sandstone block. --- ...ll_smallBranchWithExit_closed_100.schematic | Bin 934 -> 1099 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/main/resources/schematics/ruins/complexHall_smallBranchWithExit_closed_100.schematic b/src/main/resources/schematics/ruins/complexHall_smallBranchWithExit_closed_100.schematic index ae62247efd5d7ac7b0141bb7fab387e09feb4f9d..37a9c095ec851a14fe8b1e77d4f9053cdc4f105b 100644 GIT binary patch literal 1099 zcmb2|=3sz;w|5Wvg``Uyf5^XvC*t;!+*vnr&EwidFYD#pTH?EF-o(y19mXun0;?l^ zIm|Eb-TrXFqK1??N>%^%*qu)+`BZ%Fxb=E=Bk8;?z4mfB{qp?jcbgr5Cly;rZ~OLV z10&Rqn8NG7><(Cm{kA)hp0M;iGed2}``--jPgn=qrtv`45J`O~%-Qm_dUB-s>tnyQ z-RtA?rT6otKi-?SWApuW_ix_3E0?!rc72)keCcXZNe~ zAHRI^?%PE3o%em^&d%R!c~{oI?)L88#&_lO&&DS`o&R(H@4A0Ka{g7+{`*n#uVVGr zf)4p}GLK%{@qK(e)4AsQamBv-eOp_$C+j|Z8&UnaY|XZy_x$oxGSGDr`)mMD|wDYq6+f(<%o~JZ>?|ShrVdWd={Vm=ni{bjna_3{0GKmU9H zr5_LTSHBq;YNYahFvuUx*!lZ)YU<+YM-RQZ_G0b#xc3Psb2Ja$6pDZH|HKQ=Xcx8L z4Q~=w=6rddv2snU)35Khm@7-msf5xw7(dH|w=k7SFyXVF8xpN;)oncML1qLrLmxQ0*qHU|4P)?eKkrj`?u2fpM}-T{d3oexySzgc(ued_wDCOW~lKu z3hjGp8>IP;*&UFpF#5*WU?|fE6e75fhr|L+4Ol@*Zj@f8ln3v-Cu8?UC!kD z%UA!j?|%6*vijGjl1ihwTju|dnRCv3Q}ees+kfshUp@KTqU_1jk00MZXP^DA-)pvR zuD54ka9}*Wk)PpkY4o?PyeDpbin36!hUt!@c-TS)^ z?>f8v`Sku=yDd|`rrmXpT`N7!_K^3E;_&!2g-W7B3v{ZD+7%9*t(o7~T*$)`7O`o?f``|pbU zvVC=Xqt}&{o{c`Y?ORRt?A#f1fA2Nuy5_D{eE9wTShiyX1o8TUbq?L^As)Vv>gKUh`sJABl% zCr?zUbWSmfoY}*2Qd(*9$x|sR9`^)h`h=-L6mK$; Date: Sat, 4 Jan 2014 03:07:32 -0400 Subject: [PATCH 6/7] Progress on Fixing Dungeons Failed at fixing two dungeons for MC 1.6. I'll have to work around the changes to block updates. >_o --- ...omplexHall_SK-LostGarden_Open_40.schematic | Bin 5694 -> 5736 bytes ...Trap_SK-RestlessCorridor_Open_40.schematic | Bin 3675 -> 3776 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/src/main/resources/schematics/ruins/ComplexHall_SK-LostGarden_Open_40.schematic b/src/main/resources/schematics/ruins/ComplexHall_SK-LostGarden_Open_40.schematic index bba530312911ca198d88d95091c7d4f89667ce1c..4d9ce96663f557472e7a9492787167beec827cc1 100644 GIT binary patch literal 5736 zcmai2cRU+jyQfv75^ASZQ`8=zW~tE{rKG48d(~d0Xc4O_MvU4t6fs&`%-SPD)vitP zi&k4Rp+$&s_1^c7_x;@a`P_5a0Lv(NcH=K&*WDgI||=dC1t(+cd@O)qtuUy`e= z05YrnLgsYP`K2IfBWvWEQm6voP|#i5(xh<>=6u(m6#P1eAy}^FAC9@7un6MN@M))( zwrNVG$UCC|ZMMPGW4NQP_{M%33$&dO-^;4Pxb{_oHABZ+`|sI_qeZY-E4nc&)}M34I6Kw z-`lEm@lNklKyaz1o(9p4_uUc0_MJ>F5TvX&ANNC%%CUL(!YSfLPsl+o<}j z{Wg=lwcoGoz$-4=W^spN!w#5!!?hb{V*{z0z6v3Ngc8k4%8)y}bnB0i)u$*7`*`v# zfzV2f;2VpE^KU=t;%>*mZJH<41k-dCoA8SheSX44JWc{yOSw=liw(ueiDPj$rIGMa z;ejb>abflJ>klw{<|>6hi~vafPm|)F2%kG8GYexzLl_llHIFgxJtNa4V&24??WtD& z(X5AqTu901`Wx3(aJzH?SHdIQ; zte{t7eYo&rO^6ew^a)y7@z!U6tvfW%P1PBK`AsB_)2tIqK)`VGnrPe6YhPSHFC@`XN3cI6%iS5kclh$kZ!?ai=X zwsOM@ujCcAzKTBf1Fr~GmlG)Vk^%g5r>r}Co-*QRUbP>tb2W%TF>Z@sJ(#o8pe%9F-JxG=u(*3Ulf_Ntp+!}i zNwV}kV4+Q=tz~M*O?`JAx9c zCdL}b>Iq2${g&s3WU;~LjX|fZmHkL)afl8 z@fAL1`$X3Sc#AA%;lUSo56~cS@!I#r>AGV2g;HTZIQ%*E`%*bG{xm8txA8*a!fPYA z^KlN!&nL2CFWFLPpL#6y)zbvrO}K*mh!)bm%u6`hwT)7{Y4IdeK*s%D3GCS@MRw7I@_NZ#(Uv${ zhfxPilG)r?;5^(sy7PE%V-Gpj0b1!8bckjSfgo}J0)YR643#vJw#YF9_0;v+vSWK2-@3XG!MYE*>>iadAmdqWRzat?!n=Yu_dA-(d#JS@viNOsK)H+dz+<2H75^!;f01n)+0 z{|VOJGU)WMcWRdrnlUy6PZ|&0<3>w*McoVAx~(7SNcqT*ezVjmr(;IQcz#jGZ(fY* zGTJS=G_Wvu>8;lS=GN45*@v7`#zuw-a@V3y9`;Dsabs7Ar4s8@X8mR7<@fG z|MHCd${evs@}!}kSNh~&JW+UXG0UrKe?oX6(?unHIGD`&u{C~R85%e)=~#kE zEYZ@0q5c4*k|*ONKX@CkL}WhTMjvmNEjH^5x|3)qZy()*lk^H09_ab9Ge8R6%YJMn)&22_ zonDON!znL{%=j554?TXQjePWVC@ATQ`z0v?AGDYS+beMQHLzy!n%?t1-_#qumt-R^ zG$dS9QNC3Fk3N`KrZKO?+1k$8Px<84=D3%;D~B~}91%8CD`!VpwyK&E`j_=-)DI~n zW0hn96p8Xgo|)$GOH;U8@$u%uMR-8v%PT$A0BPY_-*O)? zjZ(lG>qsmmcHCW0Z~9eiK+7anu^@6?J<72`N^`jpegCuj_;v9i_oUZrHe#DmYYLe< z^B~spUiX=}Mjl@=f>zWg{EK04nAZ*i5(lqi?Hxb){_ft|YIDtrpcN$WQ&N2(r zI>!USvemWO<NU07tz5)cJGi~}gZjSuB%I(2U|DUsNDc=zU0jC%h&1q(*H{BbR z0u8Vhc~a>MrUW2A4#ywX{{XxKoHA#!iH{iSRrcchlUkGTw#p@M)pwOa<(-IYJrgE5cgkp77b0hcZ$3rXE{(p)kldBjz@u_m{qV!DgS;Q+Qx)(TCstxO30U77uO_S zRjd%s&pbuHWE$NmGEsGJwzA|91Y=q)@$50x7BNiDiPotm>EsxlK4m?A)Z||ge-avf z+IjW;!^Iiyx~jbDAn)4pZDy8mOODd=kKPznGyB)QfT~&NhV6q4h(&cPTFp9O$SKFx z4CvcvOueuHy+Vc>J9UbIZxoGxSSyf{jds!Ic)d3wD0f0vTWx8dBtuJn=`Uk$4wf56 ztI8$wpo1i9@bZ@2FmJDz0h#850l71} z@)F2mW~YYbqpjxhZ}F5LM)Q&k4Za3j=2h&NQ0|RN{7!5Y z-tvfRv9x&j`;R4ZLMu|CbPB-aNy4HeRj8kORZz}7aGkOK2fvT~ukyCt1kO%*&Iw|qEJ*I86L#?a{=^)S3l}l?`B+j8 z9;!zJIt$ako2y$6Kgh38z2612O(4|>ApGU^?YHYEEUanwJ)fFi1~_&KRVkXp8Tsp!wC~AyYB5hoNC8D}yjC^mIQh5y5H7I-~%A!QV+R0?fa;kX03_v3B>uK&J}!i334{iIyO9Eatr1Y=>S4nj zs5IC#)K-JqvV|My3$OPsuXBkw0(50uE=nxxFz1dK39&=C#?&*7l)ep~z7b(=8s$*x z%ae_zuCmK6dk4_+5XP*0C{nv&4OOp>Pr z+QxEwF_j`CS6*gJqUksf7`yvIv+FHcK!iZb_ zuQ@3T-MCY&>(N%(H|~_S1W%^%1hGV`HgM0p-o?1bf$O-ZhI(TuvC?i<~>+@cd;lEo9AUG%rm>)ssBuj-I3sfTT>Y1(qoT{j${jODb z98M%s@&Lu?F^(#S=vG)7Y3-fc)11su~fsxyC{dpa^SCm^=#Go)w#u ziyZ`hb|Q)QAy#TGDi9+xSWme3I9`R)ggDy#y=-v{ z3bzhrYZrFi&a`maaT;=P0`D;G9NjPx@A{BS1+gy;uR>7{cRaFl?0;l+ZL6I6y-51p z6ZbB4v|G@NZLneJJfD~zSqAz64T*@V9ikAj_k zt7eVAp1%6bvw2d18Byb@yH&m#MzlY@3LL)>$JXlBbQiNU2P#;qMs-AZyMk6;YIZO1 zph=c)Rx*Nuxg2&e)X;qdV%rt8->!z7DJjSd_A=nQP7{c@n6kYR6Nt#p&D^>-mjU0i z|1E=WkgRd;eOG}u>Q7e`6s*J#Ju^m@+80024CJme(6)=I#iQoFB5d`Gm*%FEpHFRz zN!82|1-m17{1SxsTRHcp@-np}$LM9Sf~TJ^)A!90p`PAY7f**_Q8{=&h(4Byu{#^1 z<6qy@Zmni-VTSiE^ literal 5694 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 literal 3675 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 L&$5jeQiJ>*A#qI6 From 7ebc4e6ead09801e9cda79efd6ff5a3a0b3eb490 Mon Sep 17 00:00:00 2001 From: SenseiKiwi Date: Sat, 4 Jan 2014 03:36:37 -0400 Subject: [PATCH 7/7] Resolved Merge Conflicts Resolved merge conflicts between recent bug fixes in DungeonSchematic and some minor additions to the code from another branch. --- .../mod_pocketDim/core/PocketManager.java | 1 + .../dungeon/DungeonSchematic.java | 72 ++-- .../mod_pocketDim/helpers/DungeonHelper.java | 13 +- .../tileentities/TileEntityDimDoor.java | 4 - .../tileentities/TileEntityDimDoorGold.java | 51 +-- .../mod_pocketDim/world/GatewayGenerator.java | 2 +- .../mod_pocketDim/world/PocketBuilder.java | 318 +++++++++--------- .../mod_pocketDimClient/RenderDimDoor.java | 81 +++-- src/main/resources/schematics/nether.txt | 16 + ...Hall_SK-CourtyardAmbush_Open_100.schematic | Bin 0 -> 13622 bytes ...lexHall_SK-Intersection_Open_100.schematic | Bin 0 -> 1348 bytes ...mplexHall_SK-SoulWastes_Open_100.schematic | Bin 0 -> 17821 bytes ...ComplexHall_SK-Starfall_Open_100.schematic | Bin 0 -> 8322 bytes ...plexHall_SK-TheCauldron_Open_100.schematic | Bin 0 -> 5040 bytes .../Maze_SK-BrimstoneMines_Open_80.schematic | Bin 0 -> 59604 bytes .../Maze_SK-QuartzfoldCave_Open_40.schematic | Bin 0 -> 37400 bytes .../nether/Maze_SK-Tangle_Open_80.schematic | Bin 0 -> 4260 bytes ...mpleHall_SK-AnvilValley_Open_100.schematic | Bin 0 -> 5912 bytes .../SimpleHall_SK-Arena_Open_100.schematic | Bin 0 -> 3051 bytes ...mpleHall_SK-DarkPathLeft_Open_50.schematic | Bin 0 -> 970 bytes ...pleHall_SK-DarkPathRight_Open_50.schematic | Bin 0 -> 1015 bytes ...mpleHall_SK-DiamondRoom_Open_100.schematic | Bin 0 -> 1090 bytes ...impleHall_SK-LongBridge_Open_100.schematic | Bin 0 -> 687 bytes ...all_SK-SpiralStairsDown_Open_100.schematic | Bin 0 -> 730 bytes ...impleHall_SK-TheFurnace_Open_100.schematic | Bin 0 -> 1592 bytes .../resources/schematics/nether/rules.txt | 21 ++ 26 files changed, 307 insertions(+), 272 deletions(-) create mode 100644 src/main/resources/schematics/nether.txt create mode 100644 src/main/resources/schematics/nether/ComplexHall_SK-CourtyardAmbush_Open_100.schematic create mode 100644 src/main/resources/schematics/nether/ComplexHall_SK-Intersection_Open_100.schematic create mode 100644 src/main/resources/schematics/nether/ComplexHall_SK-SoulWastes_Open_100.schematic create mode 100644 src/main/resources/schematics/nether/ComplexHall_SK-Starfall_Open_100.schematic create mode 100644 src/main/resources/schematics/nether/ComplexHall_SK-TheCauldron_Open_100.schematic create mode 100644 src/main/resources/schematics/nether/Maze_SK-BrimstoneMines_Open_80.schematic create mode 100644 src/main/resources/schematics/nether/Maze_SK-QuartzfoldCave_Open_40.schematic create mode 100644 src/main/resources/schematics/nether/Maze_SK-Tangle_Open_80.schematic create mode 100644 src/main/resources/schematics/nether/SimpleHall_SK-AnvilValley_Open_100.schematic create mode 100644 src/main/resources/schematics/nether/SimpleHall_SK-Arena_Open_100.schematic create mode 100644 src/main/resources/schematics/nether/SimpleHall_SK-DarkPathLeft_Open_50.schematic create mode 100644 src/main/resources/schematics/nether/SimpleHall_SK-DarkPathRight_Open_50.schematic create mode 100644 src/main/resources/schematics/nether/SimpleHall_SK-DiamondRoom_Open_100.schematic create mode 100644 src/main/resources/schematics/nether/SimpleHall_SK-LongBridge_Open_100.schematic create mode 100644 src/main/resources/schematics/nether/SimpleHall_SK-SpiralStairsDown_Open_100.schematic create mode 100644 src/main/resources/schematics/nether/SimpleHall_SK-TheFurnace_Open_100.schematic create mode 100644 src/main/resources/schematics/nether/rules.txt diff --git a/src/main/java/StevenDimDoors/mod_pocketDim/core/PocketManager.java b/src/main/java/StevenDimDoors/mod_pocketDim/core/PocketManager.java index 2df0f186..097b2c3d 100644 --- a/src/main/java/StevenDimDoors/mod_pocketDim/core/PocketManager.java +++ b/src/main/java/StevenDimDoors/mod_pocketDim/core/PocketManager.java @@ -586,6 +586,7 @@ public class PocketManager //Any pocket dimension must be listed with PocketManager to have a dimension ID //assigned, so it's safe to assume that any unknown dimensions don't belong to us. + //FIXME: What's the point of this condition? Most calls to this function will crash anyway! ~SenseiKiwi if(PocketManager.dimensionData == null) { System.out.println("Something odd happend during shutdown"); diff --git a/src/main/java/StevenDimDoors/mod_pocketDim/dungeon/DungeonSchematic.java b/src/main/java/StevenDimDoors/mod_pocketDim/dungeon/DungeonSchematic.java index 3107e292..1ae82842 100644 --- a/src/main/java/StevenDimDoors/mod_pocketDim/dungeon/DungeonSchematic.java +++ b/src/main/java/StevenDimDoors/mod_pocketDim/dungeon/DungeonSchematic.java @@ -14,16 +14,15 @@ import net.minecraft.block.Block; import net.minecraft.entity.Entity; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; +import net.minecraft.tileentity.TileEntitySign; import net.minecraft.world.World; import StevenDimDoors.mod_pocketDim.DDProperties; import StevenDimDoors.mod_pocketDim.Point3D; -import StevenDimDoors.mod_pocketDim.mod_pocketDim; import StevenDimDoors.mod_pocketDim.blocks.IDimDoor; import StevenDimDoors.mod_pocketDim.core.DimLink; import StevenDimDoors.mod_pocketDim.core.LinkTypes; import StevenDimDoors.mod_pocketDim.core.NewDimData; import StevenDimDoors.mod_pocketDim.core.PocketManager; -import StevenDimDoors.mod_pocketDim.items.ItemDimensionalDoor; import StevenDimDoors.mod_pocketDim.schematic.BlockRotator; import StevenDimDoors.mod_pocketDim.schematic.CompoundFilter; import StevenDimDoors.mod_pocketDim.schematic.InvalidSchematicException; @@ -35,13 +34,14 @@ import StevenDimDoors.mod_pocketDim.util.Point4D; public class DungeonSchematic extends Schematic { - private static final short MAX_VANILLA_BLOCK_ID = 158; + private static final short MAX_VANILLA_BLOCK_ID = 173; private static final short STANDARD_FABRIC_OF_REALITY_ID = 1973; private static final short STANDARD_ETERNAL_FABRIC_ID = 220; private static final short STANDARD_WARP_DOOR_ID = 1975; private static final short STANDARD_DIMENSIONAL_DOOR_ID = 1970; private static final short MONOLITH_SPAWN_MARKER_ID = (short) Block.endPortalFrame.blockID; private static final short EXIT_DOOR_MARKER_ID = (short) Block.sandStone.blockID; + private static final int NETHER_DIMENSION_ID = -1; private int orientation; private Point3D entranceDoorLocation; @@ -242,12 +242,12 @@ public class DungeonSchematic extends Schematic { filler.apply(world, minCorner, maxCorner); //Set up entrance door rift - createEntranceReverseLink(dimension, pocketCenter, entryLink, world); + createEntranceReverseLink(world, dimension, pocketCenter, entryLink); //Set up link data for dimensional doors for (Point3D location : dimensionalDoorLocations) { - createDimensionalDoorLink(dimension, location, entranceDoorLocation, turnAngle, pocketCenter,world); + createDimensionalDoorLink(world, dimension, location, entranceDoorLocation, turnAngle, pocketCenter); } //Set up link data for exit door @@ -262,6 +262,16 @@ public class DungeonSchematic extends Schematic { { spawnMonolith(world, location, entranceDoorLocation, turnAngle, pocketCenter, canSpawn); } + + // If this is a Nether dungeon, search for a sign near the entry door and write the dimension's depth. + // Checking if this is specifically a Nether pack dungeon is a bit tricky, so I'm going to use this + // approach to check - if the dungeon is rooted in the Nether, then it SHOULD be a Nether dungeon. + // This isn't necessarily true if someone uses dd-rift to spawn a dungeon, but it should work under + // normal use of the mod. + if (dimension.root().id() == NETHER_DIMENSION_ID) + { + writeDepthSign(world, pocketCenter, dimension.depth()); + } } private static void transformCorners(Point3D schematicEntrance, Point3D pocketCenter, int turnAngle, Point3D minCorner, Point3D maxCorner) @@ -289,15 +299,14 @@ public class DungeonSchematic extends Schematic { } } - private static void createEntranceReverseLink(NewDimData dimension, Point3D pocketCenter, DimLink entryLink,World world) + private static void createEntranceReverseLink(World world, NewDimData dimension, Point3D pocketCenter, DimLink entryLink) { - int orientation = world.getBlockMetadata(pocketCenter.getX(), pocketCenter.getY()-1, pocketCenter.getZ()); - DimLink reverseLink = dimension.createLink(pocketCenter.getX(), pocketCenter.getY(), pocketCenter.getZ(), LinkTypes.REVERSE,orientation); + int orientation = world.getBlockMetadata(pocketCenter.getX(), pocketCenter.getY() - 1, pocketCenter.getZ()); + DimLink reverseLink = dimension.createLink(pocketCenter.getX(), pocketCenter.getY(), pocketCenter.getZ(), LinkTypes.REVERSE, orientation); Point4D destination = entryLink.source(); NewDimData prevDim = PocketManager.getDimensionData(destination.getDimension()); prevDim.setDestination(reverseLink, destination.getX(), destination.getY(), destination.getZ()); initDoorTileEntity(world, pocketCenter); - } private static void createExitDoorLink(World world, NewDimData dimension, Point3D point, Point3D entrance, int rotation, Point3D pocketCenter) @@ -305,7 +314,7 @@ public class DungeonSchematic extends Schematic { //Transform the door's location to the pocket coordinate system Point3D location = point.clone(); BlockRotator.transformPoint(location, entrance, rotation, pocketCenter); - int orientation = world.getBlockMetadata(location.getX(), location.getY()-1, location.getZ()); + int orientation = world.getBlockMetadata(location.getX(), location.getY() - 1, location.getZ()); dimension.createLink(location.getX(), location.getY(), location.getZ(), LinkTypes.DUNGEON_EXIT, orientation); //Replace the sandstone block under the exit door with the same block as the one underneath it int x = location.getX(); @@ -318,20 +327,17 @@ public class DungeonSchematic extends Schematic { setBlockDirectly(world, x, y + 1, z, blockID, metadata); } initDoorTileEntity(world, location); - } - private static void createDimensionalDoorLink(NewDimData dimension, Point3D point, Point3D entrance, int rotation, Point3D pocketCenter,World world) + private static void createDimensionalDoorLink(World world, NewDimData dimension, Point3D point, Point3D entrance, int rotation, Point3D pocketCenter) { //Transform the door's location to the pocket coordinate system Point3D location = point.clone(); BlockRotator.transformPoint(location, entrance, rotation, pocketCenter); - int orientation = world.getBlockMetadata(location.getX(), location.getY()-1, location.getZ()); + int orientation = world.getBlockMetadata(location.getX(), location.getY() - 1, location.getZ()); dimension.createLink(location.getX(), location.getY(), location.getZ(), LinkTypes.DUNGEON, orientation); initDoorTileEntity(world, location); - - } private static void spawnMonolith(World world, Point3D point, Point3D entrance, int rotation, Point3D pocketCenter, boolean canSpawn) @@ -349,21 +355,49 @@ public class DungeonSchematic extends Schematic { world.spawnEntityInWorld(mob); } } + private static void initDoorTileEntity(World world, Point3D point) { Block door = Block.blocksList[world.getBlockId(point.getX(), point.getY(), point.getZ())]; - Block door2 = Block.blocksList[world.getBlockId(point.getX(), point.getY()-1, point.getZ())]; + Block door2 = Block.blocksList[world.getBlockId(point.getX(), point.getY() - 1, point.getZ())]; - if(door instanceof IDimDoor&&door2 instanceof IDimDoor) + if (door instanceof IDimDoor && door2 instanceof IDimDoor) { ((IDimDoor) door).initDoorTE(world, point.getX(), point.getY(), point.getZ()); - ((IDimDoor) door).initDoorTE(world, point.getX(), point.getY()-1, point.getZ()); - + ((IDimDoor) door).initDoorTE(world, point.getX(), point.getY() - 1, point.getZ()); } else { throw new IllegalArgumentException("Tried to init a dim door TE on a block that isnt a Dim Door!!"); } + } + + private static void writeDepthSign(World world, Point3D pocketCenter, int depth) + { + final int SEARCH_RANGE = 5; + int x, y, z, block; + int dx, dy, dz; + + for (dy = SEARCH_RANGE; dy >= -SEARCH_RANGE; dy--) + { + for (dz = -SEARCH_RANGE; dz <= SEARCH_RANGE; dz++) + { + for (dx = -SEARCH_RANGE; dx <= SEARCH_RANGE; dx++) + { + x = pocketCenter.getX() + dx; + y = pocketCenter.getY() + dy; + z = pocketCenter.getZ() + dz; + block = world.getBlockId(x, y, z); + if (block == Block.signWall.blockID || block == Block.signPost.blockID) + { + TileEntitySign signEntity = new TileEntitySign(); + signEntity.signText[1] = "Level " + depth; + world.setBlockTileEntity(x, y, z, signEntity); + return; + } + } + } + } } } diff --git a/src/main/java/StevenDimDoors/mod_pocketDim/helpers/DungeonHelper.java b/src/main/java/StevenDimDoors/mod_pocketDim/helpers/DungeonHelper.java index e6d13061..ac5b191d 100644 --- a/src/main/java/StevenDimDoors/mod_pocketDim/helpers/DungeonHelper.java +++ b/src/main/java/StevenDimDoors/mod_pocketDim/helpers/DungeonHelper.java @@ -50,6 +50,8 @@ public class DungeonHelper private static final String DUNGEON_CREATION_GUIDE_SOURCE_PATH = "/mods/DimDoors/text/How_to_add_dungeons.txt"; private static final String RUINS_PACK_PATH = "/schematics/ruins"; private static final String BUNDLED_RUINS_LIST_PATH = "/schematics/ruins.txt"; + private static final String NETHER_PACK_PATH = "/schematics/nether"; + private static final String BUNDLED_NETHER_LIST_PATH = "/schematics/nether.txt"; private static final String STANDARD_CONFIG_FILE_NAME = "rules.txt"; private static final int NETHER_DIMENSION_ID = -1; @@ -72,6 +74,7 @@ public class DungeonHelper private ArrayList registeredDungeons = new ArrayList(); private DungeonPack RuinsPack; + private DungeonPack NetherPack; private HashMap dungeonPackMapping = new HashMap(); private ArrayList dungeonPackList = new ArrayList(); @@ -246,8 +249,7 @@ public class DungeonHelper { if (data.id() == NETHER_DIMENSION_ID) { - //TODO: Change this to the nether-side pack later ^_^ - pack = RuinsPack; + pack = NetherPack; } else { @@ -261,7 +263,7 @@ public class DungeonHelper { //Create a link above the specified position. Link to a new pocket dimension. NewDimData dimension = PocketManager.getDimensionData(world); - DimLink link = dimension.createLink(x, y + 1, z, LinkTypes.POCKET,3); + DimLink link = dimension.createLink(x, y + 1, z, LinkTypes.POCKET, 3); //Place a Warp Door linked to that pocket ItemDimensionalDoor.placeDoorBlock(world, x, y, z, 3, mod_pocketDim.warpDoor); @@ -434,6 +436,9 @@ public class DungeonHelper registerBundledPack(BUNDLED_RUINS_LIST_PATH, RUINS_PACK_PATH, "Ruins", reader); RuinsPack = getDungeonPack("Ruins"); + registerBundledPack(BUNDLED_NETHER_LIST_PATH, NETHER_PACK_PATH, "Nether", reader); + NetherPack = getDungeonPack("Nether"); + System.out.println("Finished registering bundled dungeon packs"); } @@ -497,7 +502,7 @@ public class DungeonHelper public DungeonData selectDungeon(NewDimData dimension, Random random) { - DungeonPack pack = getDimDungeonPack(dimension); + DungeonPack pack = getDimDungeonPack(dimension.parent()); DungeonData selection; DungeonPackConfig config; DungeonPack selectedPack; diff --git a/src/main/java/StevenDimDoors/mod_pocketDim/tileentities/TileEntityDimDoor.java b/src/main/java/StevenDimDoors/mod_pocketDim/tileentities/TileEntityDimDoor.java index 12fcd654..b4a11400 100644 --- a/src/main/java/StevenDimDoors/mod_pocketDim/tileentities/TileEntityDimDoor.java +++ b/src/main/java/StevenDimDoors/mod_pocketDim/tileentities/TileEntityDimDoor.java @@ -40,8 +40,6 @@ public class TileEntityDimDoor extends TileEntity public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); - @SuppressWarnings("unused") // ??? - int i = nbt.getInteger(("Size")); try { @@ -60,8 +58,6 @@ public class TileEntityDimDoor extends TileEntity @Override public void writeToNBT(NBTTagCompound nbt) { - @SuppressWarnings("unused") // ????? - int i = 0; super.writeToNBT(nbt); nbt.setBoolean("openOrClosed", this.openOrClosed); diff --git a/src/main/java/StevenDimDoors/mod_pocketDim/tileentities/TileEntityDimDoorGold.java b/src/main/java/StevenDimDoors/mod_pocketDim/tileentities/TileEntityDimDoorGold.java index 48f17e7f..4bdd7358 100644 --- a/src/main/java/StevenDimDoors/mod_pocketDim/tileentities/TileEntityDimDoorGold.java +++ b/src/main/java/StevenDimDoors/mod_pocketDim/tileentities/TileEntityDimDoorGold.java @@ -1,19 +1,14 @@ package StevenDimDoors.mod_pocketDim.tileentities; -import java.awt.List; - -import StevenDimDoors.mod_pocketDim.IChunkLoader; -import StevenDimDoors.mod_pocketDim.mod_pocketDim; -import StevenDimDoors.mod_pocketDim.core.NewDimData; -import StevenDimDoors.mod_pocketDim.core.PocketManager; -import StevenDimDoors.mod_pocketDim.util.Point4D; -import StevenDimDoors.mod_pocketDim.world.PocketBuilder; -import net.minecraft.block.Block; -import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.ChunkCoordIntPair; import net.minecraftforge.common.ForgeChunkManager; import net.minecraftforge.common.ForgeChunkManager.Ticket; import net.minecraftforge.common.ForgeChunkManager.Type; +import StevenDimDoors.mod_pocketDim.IChunkLoader; +import StevenDimDoors.mod_pocketDim.mod_pocketDim; +import StevenDimDoors.mod_pocketDim.core.PocketManager; +import StevenDimDoors.mod_pocketDim.util.Point4D; +import StevenDimDoors.mod_pocketDim.world.PocketBuilder; public class TileEntityDimDoorGold extends TileEntityDimDoor implements IChunkLoader { @@ -85,9 +80,6 @@ public class TileEntityDimDoorGold extends TileEntityDimDoor implements IChunkLo ForgeChunkManager.forceChunk(chunkTicket, new ChunkCoordIntPair((origin.getX()+xOffset >> 4)+chunkX, (origin.getZ()+zOffset >> 4)+chunkZ)); } } - - - } @Override @@ -96,37 +88,4 @@ public class TileEntityDimDoorGold extends TileEntityDimDoor implements IChunkLo ForgeChunkManager.releaseTicket(chunkTicket); super.invalidate(); } - - @Override - public void readFromNBT(NBTTagCompound nbt) - { // this and write both call user, and super saves/reads all the same data. why override at all? - super.readFromNBT(nbt); - @SuppressWarnings("unused") // ??? - int i = nbt.getInteger(("Size")); - - try - { - this.openOrClosed = nbt.getBoolean("openOrClosed"); - this.orientation = nbt.getInteger("orientation"); - this.hasExit = nbt.getBoolean("hasExit"); - this.isDungeonChainLink = nbt.getBoolean("isDungeonChainLink"); - } - catch (Exception e) // ??? - { - - } - } - - @Override - public void writeToNBT(NBTTagCompound nbt) - { - @SuppressWarnings("unused") // ????? - int i = 0; - super.writeToNBT(nbt); - - nbt.setBoolean("openOrClosed", this.openOrClosed); - nbt.setBoolean("hasExit", this.hasExit); - nbt.setInteger("orientation", this.orientation); - nbt.setBoolean("isDungeonChainLink", isDungeonChainLink); - } } diff --git a/src/main/java/StevenDimDoors/mod_pocketDim/world/GatewayGenerator.java b/src/main/java/StevenDimDoors/mod_pocketDim/world/GatewayGenerator.java index fc260a8a..ddcb74eb 100644 --- a/src/main/java/StevenDimDoors/mod_pocketDim/world/GatewayGenerator.java +++ b/src/main/java/StevenDimDoors/mod_pocketDim/world/GatewayGenerator.java @@ -136,7 +136,7 @@ public class GatewayGenerator implements IWorldGenerator { //Create a partial link to a dungeon. dimension = PocketManager.getDimensionData(world); - link = dimension.createLink(x, y + 1, z, LinkTypes.DUNGEON,0); + link = dimension.createLink(x, y + 1, z, LinkTypes.DUNGEON, 0); //If the current dimension isn't Limbo, build a Rift Gateway out of Stone Bricks if (dimension.id() != properties.LimboDimensionID) diff --git a/src/main/java/StevenDimDoors/mod_pocketDim/world/PocketBuilder.java b/src/main/java/StevenDimDoors/mod_pocketDim/world/PocketBuilder.java index 3470cd17..4a6f0327 100644 --- a/src/main/java/StevenDimDoors/mod_pocketDim/world/PocketBuilder.java +++ b/src/main/java/StevenDimDoors/mod_pocketDim/world/PocketBuilder.java @@ -31,11 +31,11 @@ public class PocketBuilder public static final int MIN_POCKET_SIZE = 5; public static final int MAX_POCKET_SIZE = 51; public static final int DEFAULT_POCKET_SIZE = 39; - + public static final int MIN_POCKET_WALL_THICKNESS = 1; public static final int MAX_POCKET_WALL_THICKNESS = 10; public static final int DEFAULT_POCKET_WALL_THICKNESS = 5; - + private static final Random random = new Random(); private PocketBuilder() { } @@ -49,7 +49,7 @@ public class PocketBuilder * @param properties * @return */ - + public static boolean regenerateDungeonPocket(NewDimData dimension, DimLink linkIn, DDProperties properties) { if (linkIn == null) @@ -79,7 +79,7 @@ public class PocketBuilder return false; } NewDimData parent = PocketManager.getDimensionData(incomingLink.source().getDimension()); - + if (!dimension.isDungeon()) { throw new IllegalArgumentException("destination must be dungeon"); @@ -92,18 +92,18 @@ public class PocketBuilder { throw new IllegalArgumentException("destination must already exist"); } - + try { //Load a world World world = PocketManager.loadDimension(dimension.id()); - + if (world == null || world.provider == null) { System.err.println("Could not initialize dimension for a dungeon!"); return false; } - + Point3D destination = new Point3D(incomingLink.destination()); loadAndValidateDungeon(dimension.dungeon(), properties).copyToWorld(world, destination, originLink.orientation(), incomingLink, random, properties); dimension.setFilled(true); @@ -115,130 +115,126 @@ public class PocketBuilder return false; } } - + private static boolean buildDungeonPocket(DungeonData dungeon, NewDimData dimension, DimLink link, DungeonSchematic schematic,World world, DDProperties properties) - { + { + //Calculate the destination point + DungeonPackConfig packConfig = dungeon.dungeonType().Owner != null ? dungeon.dungeonType().Owner.getConfig() : null; + Point4D source = link.source(); + int orientation = link.orientation(); + Point3D destination; - //Calculate the destination point - DungeonPackConfig packConfig = dungeon.dungeonType().Owner != null ? dungeon.dungeonType().Owner.getConfig() : null; - Point4D source = link.source(); - int orientation = link.orientation(); - Point3D destination; - - if (packConfig != null && packConfig.doDistortDoorCoordinates()) - { - destination = calculateNoisyDestination(source, dimension, dungeon, orientation); - } - else - { - destination = new Point3D(source.getX(), source.getY(), source.getZ()); - } - - destination.setY( yCoordHelper.adjustDestinationY(destination.getY(), world.getHeight(), schematic.getEntranceDoorLocation().getY(), schematic.getHeight()) ); - - //Generate the dungeon - schematic.copyToWorld(world, destination, orientation, link, random, properties); - - //Finish up destination initialization - dimension.initializeDungeon(destination.getX(), destination.getY(), destination.getZ(), orientation, link, dungeon); - dimension.setFilled(true); - return true; - - - } - - public static boolean generateSelectedDungeonPocket(DimLink link, DDProperties properties,DungeonData data) - { - if (link == null) - { - throw new IllegalArgumentException("link cannot be null."); - } - if (properties == null) - { - throw new IllegalArgumentException("properties cannot be null."); - } - - if (link.hasDestination()) - { - throw new IllegalArgumentException("link cannot have a destination assigned already."); - } - + if (packConfig != null && packConfig.doDistortDoorCoordinates()) + { + destination = calculateNoisyDestination(source, dimension, dungeon, orientation); + } + else + { + destination = new Point3D(source.getX(), source.getY(), source.getZ()); + } - - //Register a new dimension - NewDimData parent = PocketManager.getDimensionData(link.source().getDimension()); - NewDimData dimension = PocketManager.registerPocket(parent, true); - - //Load a world - World world = PocketManager.loadDimension(dimension.id()); - - if (world == null || world.provider == null) - { - System.err.println("Could not initialize dimension for a dungeon!"); - return false; - } - - DungeonData dungeon = null; - DungeonSchematic schematic = null; + destination.setY( yCoordHelper.adjustDestinationY(destination.getY(), world.getHeight(), schematic.getEntranceDoorLocation().getY(), schematic.getHeight()) ); + + //Generate the dungeon + schematic.copyToWorld(world, destination, orientation, link, random, properties); + + //Finish up destination initialization + dimension.initializeDungeon(destination.getX(), destination.getY(), destination.getZ(), orientation, link, dungeon); + dimension.setFilled(true); + + return true; + } + + public static boolean generateSelectedDungeonPocket(DimLink link, DDProperties properties,DungeonData data) + { + if (link == null) + { + throw new IllegalArgumentException("link cannot be null."); + } + if (properties == null) + { + throw new IllegalArgumentException("properties cannot be null."); + } + + if (link.hasDestination()) + { + throw new IllegalArgumentException("link cannot have a destination assigned already."); + } + + //Register a new dimension + NewDimData parent = PocketManager.getDimensionData(link.source().getDimension()); + NewDimData dimension = PocketManager.registerPocket(parent, true); + + //Load a world + World world = PocketManager.loadDimension(dimension.id()); + + if (world == null || world.provider == null) + { + System.err.println("Could not initialize dimension for a dungeon!"); + return false; + } + + DungeonData dungeon = null; + DungeonSchematic schematic = null; + + dungeon = data; + if (data == null) + { + System.err.println("Could not select a dungeon for generation!"); + return false; + } + schematic = loadAndValidateDungeon(dungeon,properties); + + return PocketBuilder.buildDungeonPocket(dungeon, dimension, link, schematic, world, properties); + + } + + + public static boolean generateNewDungeonPocket(DimLink link, DDProperties properties) + { + if (link == null) + { + throw new IllegalArgumentException("link cannot be null."); + } + if (properties == null) + { + throw new IllegalArgumentException("properties cannot be null."); + } + + if (link.hasDestination()) + { + throw new IllegalArgumentException("link cannot have a destination assigned already."); + } + + + + //Register a new dimension + NewDimData parent = PocketManager.getDimensionData(link.source().getDimension()); + NewDimData dimension = PocketManager.registerPocket(parent, true); + + //Load a world + World world = PocketManager.loadDimension(dimension.id()); + + if (world == null || world.provider == null) + { + System.err.println("Could not initialize dimension for a dungeon!"); + return false; + } + + //Choose a dungeon to generate + Pair pair = selectDungeon(dimension, random, properties); + if (pair == null) + { + System.err.println("Could not select a dungeon for generation!"); + return false; + } + DungeonData dungeon = pair.getFirst(); + DungeonSchematic schematic = pair.getSecond(); + + return buildDungeonPocket(dungeon, dimension, link, schematic, world, properties); + } - dungeon = data; - if (data == null) - { - System.err.println("Could not select a dungeon for generation!"); - return false; - } - schematic = loadAndValidateDungeon(dungeon,properties); - - return PocketBuilder.buildDungeonPocket(dungeon, dimension, link, schematic, world, properties); - - } - - - public static boolean generateNewDungeonPocket(DimLink link, DDProperties properties) - { - if (link == null) - { - throw new IllegalArgumentException("link cannot be null."); - } - if (properties == null) - { - throw new IllegalArgumentException("properties cannot be null."); - } - - if (link.hasDestination()) - { - throw new IllegalArgumentException("link cannot have a destination assigned already."); - } - - - //Register a new dimension - NewDimData parent = PocketManager.getDimensionData(link.source().getDimension()); - NewDimData dimension = PocketManager.registerPocket(parent, true); - - //Load a world - World world = PocketManager.loadDimension(dimension.id()); - - if (world == null || world.provider == null) - { - System.err.println("Could not initialize dimension for a dungeon!"); - return false; - } - - //Choose a dungeon to generate - Pair pair = selectDungeon(dimension, random, properties); - if (pair == null) - { - System.err.println("Could not select a dungeon for generation!"); - return false; - } - DungeonData dungeon = pair.getFirst(); - DungeonSchematic schematic = pair.getSecond(); - - return buildDungeonPocket(dungeon, dimension, link, schematic, world, properties); - } - - private static Point3D calculateNoisyDestination(Point4D source, NewDimData dimension, DungeonData dungeon, int orientation) { int depth = NewDimData.calculatePackDepth(dimension.parent(), dungeon); @@ -262,12 +258,12 @@ public class PocketBuilder { throw new IllegalArgumentException("dimension cannot have a dungeon assigned already."); } - + DungeonData dungeon = null; DungeonSchematic schematic = null; dungeon = DungeonHelper.instance().selectDungeon(dimension, random); - + if (dungeon != null) { schematic = loadAndValidateDungeon(dungeon, properties); @@ -276,7 +272,7 @@ public class PocketBuilder { System.err.println("Could not select a dungeon at all!"); } - + if (schematic == null) { //TODO: In the future, remove this dungeon from the generation lists altogether. @@ -295,13 +291,13 @@ public class PocketBuilder } return new Pair(dungeon, schematic); } - + private static DungeonSchematic loadAndValidateDungeon(DungeonData dungeon, DDProperties properties) { try { DungeonSchematic schematic = dungeon.loadSchematic(); - + //Validate the dungeon's dimensions if (hasValidDimensions(schematic)) { @@ -328,19 +324,19 @@ public class PocketBuilder return null; } } - + private static boolean hasValidDimensions(DungeonSchematic schematic) { return (schematic.getWidth() <= DungeonHelper.MAX_DUNGEON_WIDTH && - schematic.getHeight() <= DungeonHelper.MAX_DUNGEON_HEIGHT && - schematic.getLength() <= DungeonHelper.MAX_DUNGEON_LENGTH); + schematic.getHeight() <= DungeonHelper.MAX_DUNGEON_HEIGHT && + schematic.getLength() <= DungeonHelper.MAX_DUNGEON_LENGTH); } public static boolean generateNewPocket(DimLink link, DDProperties properties, Block door) { return generateNewPocket(link, DEFAULT_POCKET_SIZE, DEFAULT_POCKET_WALL_THICKNESS, properties, door); } - + private static int getDoorOrientation(Point4D source, DDProperties properties) { World world = DimensionManager.getWorld(source.getDimension()); @@ -352,12 +348,12 @@ public class PocketBuilder //Check if the block below that point is actually a door int blockID = world.getBlockId(source.getX(), source.getY() - 1, source.getZ()); if (blockID != properties.DimensionalDoorID && blockID != properties.WarpDoorID && - blockID != properties.TransientDoorID && - blockID != properties.GoldDimDoorID) + blockID != properties.TransientDoorID && + blockID != properties.GoldDimDoorID) { throw new IllegalStateException("The link's source is not a door block. It should be impossible to traverse a rift without a door!"); } - + //Return the orientation portion of its metadata int orientation = world.getBlockMetadata(source.getX(), source.getY() - 1, source.getZ()) & 3; return orientation; @@ -377,13 +373,13 @@ public class PocketBuilder { throw new IllegalArgumentException("link cannot have a destination assigned already."); } - + if(door==null) { throw new IllegalArgumentException("Must have a doorItem to gen one!!"); } - + if (size < MIN_POCKET_SIZE || size > MAX_POCKET_SIZE) { throw new IllegalArgumentException("size must be between " + MIN_POCKET_SIZE + " and " + MAX_POCKET_SIZE + ", inclusive."); @@ -400,34 +396,34 @@ public class PocketBuilder { throw new IllegalArgumentException("size must be large enough to fit the specified wall thickness and some air space."); } - + try { //Register a new dimension NewDimData parent = PocketManager.getDimensionData(link.source().getDimension()); NewDimData dimension = PocketManager.registerPocket(parent, false); - + //Load a world World world = PocketManager.loadDimension(dimension.id()); - + if (world == null || world.provider == null) { System.err.println("Could not initialize dimension for a pocket!"); return false; } - + //Calculate the destination point Point4D source = link.source(); int destinationY = yCoordHelper.adjustDestinationY(source.getY(), world.getHeight(), wallThickness + 1, size); int orientation = getDoorOrientation(source, properties); - + //Place a link leading back out of the pocket DimLink reverseLink = dimension.createLink(source.getX(), destinationY, source.getZ(), LinkTypes.REVERSE,(link.orientation()+2)%4); parent.setDestination(reverseLink, source.getX(), source.getY(), source.getZ()); - + //Build the actual pocket area buildPocket(world, source.getX(), destinationY, source.getZ(), orientation, size, wallThickness, properties, door); - + //Finish up destination initialization dimension.initializePocket(source.getX(), destinationY, source.getZ(), orientation, link); dimension.setFilled(true); @@ -466,13 +462,12 @@ public class PocketBuilder { throw new IllegalArgumentException("Door must implement IDimDoor"); } - - + + Point3D center = new Point3D(x - wallThickness + 1 + (size / 2), y - wallThickness - 1 + (size / 2), z); Point3D door = new Point3D(x, y, z); BlockRotator.transformPoint(center, door, orientation - BlockRotator.EAST_DOOR_METADATA, door); - - + //Build the outer layer of Eternal Fabric buildBox(world, center.getX(), center.getY(), center.getZ(), (size / 2), properties.PermaFabricBlockID, false, 0); @@ -480,12 +475,11 @@ public class PocketBuilder for (int layer = 1; layer < wallThickness; layer++) { buildBox(world, center.getX(), center.getY(), center.getZ(), (size / 2) - layer, properties.FabricBlockID, - layer < (wallThickness - 1) && properties.TNFREAKINGT_Enabled, properties.NonTntWeight); + layer < (wallThickness - 1) && properties.TNFREAKINGT_Enabled, properties.NonTntWeight); } - //MazeBuilder.generate(world, x, y, z, random); - + //Build the door int doorOrientation = BlockRotator.transformMetadata(BlockRotator.EAST_DOOR_METADATA, orientation - BlockRotator.EAST_DOOR_METADATA + 2, properties.DimensionalDoorID); ItemDimensionalDoor.placeDoorBlock(world, x, y - 1, z, doorOrientation, doorBlock); @@ -494,15 +488,15 @@ public class PocketBuilder private static void buildBox(World world, int centerX, int centerY, int centerZ, int radius, int blockID, boolean placeTnt, int nonTntWeight) { int x, y, z; - + final int startX = centerX - radius; final int startY = centerY - radius; final int startZ = centerZ - radius; - + final int endX = centerX + radius; final int endY = centerY + radius; final int endZ = centerZ + radius; - + //Build faces of the box for (x = startX; x <= endX; x++) { @@ -511,14 +505,14 @@ public class PocketBuilder setBlockDirectlySpecial(world, x, startY, z, blockID, 0, placeTnt, nonTntWeight); setBlockDirectlySpecial(world, x, endY, z, blockID, 0, placeTnt, nonTntWeight); } - + for (y = startY; y <= endY; y++) { setBlockDirectlySpecial(world, x, y, startZ, blockID, 0, placeTnt, nonTntWeight); setBlockDirectlySpecial(world, x, y, endZ, blockID, 0, placeTnt, nonTntWeight); } } - + for (y = startY; y <= endY; y++) { for (z = startZ; z <= endZ; z++) @@ -540,7 +534,7 @@ public class PocketBuilder setBlockDirectly(world, x, y, z, blockID, metadata); } } - + private static void setBlockDirectly(World world, int x, int y, int z, int blockID, int metadata) { if (blockID != 0 && Block.blocksList[blockID] == null) @@ -549,8 +543,8 @@ public class PocketBuilder } int cX = x >> 4; - int cZ = z >> 4; - int cY = y >> 4; + int cZ = z >> 4; + int cY = y >> 4; Chunk chunk; int localX = (x % 16) < 0 ? (x % 16) + 16 : (x % 16); diff --git a/src/main/java/StevenDimDoors/mod_pocketDimClient/RenderDimDoor.java b/src/main/java/StevenDimDoors/mod_pocketDimClient/RenderDimDoor.java index 8fd12a08..88358d1d 100644 --- a/src/main/java/StevenDimDoors/mod_pocketDimClient/RenderDimDoor.java +++ b/src/main/java/StevenDimDoors/mod_pocketDimClient/RenderDimDoor.java @@ -4,7 +4,6 @@ import java.nio.FloatBuffer; import java.util.Random; import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.ActiveRenderInfo; import net.minecraft.client.renderer.GLAllocation; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.tileentity.TileEntity; @@ -14,6 +13,9 @@ import org.lwjgl.opengl.GL11; import StevenDimDoors.mod_pocketDim.DDProperties; import StevenDimDoors.mod_pocketDim.mod_pocketDim; +import StevenDimDoors.mod_pocketDim.core.DimLink; +import StevenDimDoors.mod_pocketDim.core.NewDimData; +import StevenDimDoors.mod_pocketDim.core.PocketManager; import StevenDimDoors.mod_pocketDim.tileentities.TileEntityDimDoor; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -21,9 +23,12 @@ import cpw.mods.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) public class RenderDimDoor extends TileEntitySpecialRenderer { - FloatBuffer field_76908_a = GLAllocation.createDirectFloatBuffer(16); - private ResourceLocation riftPath= new ResourceLocation(mod_pocketDim.modid+":textures/other/RIFT.png"); - private ResourceLocation warpPath= new ResourceLocation(mod_pocketDim.modid+":textures/other/WARP.png"); + private FloatBuffer buffer = GLAllocation.createDirectFloatBuffer(16); + private ResourceLocation riftPath= new ResourceLocation(mod_pocketDim.modid + ":textures/other/RIFT.png"); + private ResourceLocation warpPath= new ResourceLocation(mod_pocketDim.modid + ":textures/other/WARP.png"); + + private static final int NETHER_DIMENSION_ID = -1; + private static DDProperties properties = null; public RenderDimDoor() { @@ -31,13 +36,11 @@ public class RenderDimDoor extends TileEntitySpecialRenderer properties = DDProperties.instance(); } - private static DDProperties properties = null; - /** * Renders the dimdoor. */ public void renderDimDoorTileEntity(TileEntityDimDoor tile, double x, - double y, double z, float par8) + double y, double z) { try { @@ -108,7 +111,6 @@ public class RenderDimDoor extends TileEntitySpecialRenderer GL11.glTranslatef(0, Minecraft.getSystemTime() % 200000L / 200000.0F, 0.0F); - GL11.glTranslatef(0, 0, Minecraft.getSystemTime() % 200000L / 200000.0F); @@ -186,17 +188,32 @@ public class RenderDimDoor extends TileEntitySpecialRenderer GL11.glTranslatef(0.5F, 0.5F, 0.5F); GL11.glBegin(GL11.GL_QUADS); - - float var21 = rand.nextFloat() * 0.5F + 0.1F; - float var22 = rand.nextFloat() * 0.4F + 0.4F; - float var23 = rand.nextFloat() * 0.6F + 0.5F; - - if (count == 0) + + // Set the portal's color depending on whether it's in the Nether + float var21, var22, var23; + NewDimData dimension = PocketManager.getDimensionData(tile.worldObj); + if (dimension.root().id() == NETHER_DIMENSION_ID) { - var23 = 1.0F; - var22 = 1.0F; - // yConverted = 1.0F; + var21 = rand.nextFloat() * 0.5F + 0.4F; + var22 = rand.nextFloat() * 0.05F; + var23 = rand.nextFloat() * 0.05F; + if (count == 0) + { + var21 = 1.0F; + } } + else + { + var21 = rand.nextFloat() * 0.5F + 0.1F; + var22 = rand.nextFloat() * 0.4F + 0.4F; + var23 = rand.nextFloat() * 0.6F + 0.5F; + if (count == 0) + { + var23 = 1.0F; + var22 = 1.0F; + } + } + GL11.glColor4d(var21 * var17, var22 * var17, var23 * var17, 1.0F); if (tile.openOrClosed) { @@ -215,9 +232,8 @@ public class RenderDimDoor extends TileEntitySpecialRenderer GL11.glVertex3d(x + 1, y + 1, z + .01); GL11.glVertex3d(x + 1, y - 1, z + .01); GL11.glVertex3d(x, y - 1, z + .01); - break; - case 2: // + case 2: GL11.glVertex3d(x + .99, y + 1, z); GL11.glVertex3d(x + .99, y + 1, z + 1.0D); GL11.glVertex3d(x + .99, y - 1, z + 1.0D); @@ -229,9 +245,7 @@ public class RenderDimDoor extends TileEntitySpecialRenderer GL11.glVertex3d(x + 1, y + 1, z + .99); GL11.glVertex3d(x, y + 1, z + .99); break; - case 4:// - // GL11.glTranslatef(); - + case 4: GL11.glVertex3d(x + .15F, y - 1, z); GL11.glVertex3d(x + .15, y - 1, z + 1.0D); GL11.glVertex3d(x + .15, y + 1, z + 1.0D); @@ -242,9 +256,8 @@ public class RenderDimDoor extends TileEntitySpecialRenderer GL11.glVertex3d(x + 1, y + 1, z + .15); GL11.glVertex3d(x + 1, y - 1, z + .15); GL11.glVertex3d(x, y - 1, z + .15); - break; - case 6: // + case 6: GL11.glVertex3d(x + .85, y + 1, z); GL11.glVertex3d(x + .85, y + 1, z + 1.0D); GL11.glVertex3d(x + .85, y - 1, z + 1.0D); @@ -256,8 +269,6 @@ public class RenderDimDoor extends TileEntitySpecialRenderer GL11.glVertex3d(x + 1, y + 1, z + .85); GL11.glVertex3d(x, y + 1, z + .85); break; - default: - break; } } @@ -275,22 +286,20 @@ public class RenderDimDoor extends TileEntitySpecialRenderer GL11.glEnable(GL11.GL_LIGHTING); } - private FloatBuffer getFloatBuffer(float par1, float par2, float par3, - float par4) + private FloatBuffer getFloatBuffer(float par1, float par2, float par3, float par4) { - this.field_76908_a.clear(); - this.field_76908_a.put(par1).put(par2).put(par3).put(par4); - this.field_76908_a.flip(); - return this.field_76908_a; + buffer.clear(); + buffer.put(par1).put(par2).put(par3).put(par4); + buffer.flip(); + return buffer; } - public void renderTileEntityAt(TileEntity par1TileEntity, double par2, - double par4, double par6, float par8) + @Override + public void renderTileEntityAt(TileEntity par1TileEntity, double par2, double par4, double par6, float par8) { if (properties.DoorRenderingEnabled) { - this.renderDimDoorTileEntity((TileEntityDimDoor) par1TileEntity, - par2, par4, par6, par8); + renderDimDoorTileEntity((TileEntityDimDoor) par1TileEntity, par2, par4, par6); } } } diff --git a/src/main/resources/schematics/nether.txt b/src/main/resources/schematics/nether.txt new file mode 100644 index 00000000..76e6720d --- /dev/null +++ b/src/main/resources/schematics/nether.txt @@ -0,0 +1,16 @@ +/schematics/nether/ComplexHall_SK-CourtyardAmbush_Open_100.schematic +/schematics/nether/ComplexHall_SK-Intersection_Open_100.schematic +/schematics/nether/ComplexHall_SK-SoulWastes_Open_100.schematic +/schematics/nether/ComplexHall_SK-Starfall_Open_100.schematic +/schematics/nether/ComplexHall_SK-TheCauldron_Open_100.schematic +/schematics/nether/Maze_SK-BrimstoneMines_Open_80.schematic +/schematics/nether/Maze_SK-QuartzfoldCave_Open_40.schematic +/schematics/nether/Maze_SK-Tangle_Open_80.schematic +/schematics/nether/SimpleHall_SK-AnvilValley_Open_100.schematic +/schematics/nether/SimpleHall_SK-Arena_Open_100.schematic +/schematics/nether/SimpleHall_SK-DarkPathLeft_Open_50.schematic +/schematics/nether/SimpleHall_SK-DarkPathRight_Open_50.schematic +/schematics/nether/SimpleHall_SK-DiamondRoom_Open_100.schematic +/schematics/nether/SimpleHall_SK-LongBridge_Open_100.schematic +/schematics/nether/SimpleHall_SK-SpiralStairsDown_Open_100.schematic +/schematics/nether/SimpleHall_SK-TheFurnace_Open_100.schematic diff --git a/src/main/resources/schematics/nether/ComplexHall_SK-CourtyardAmbush_Open_100.schematic b/src/main/resources/schematics/nether/ComplexHall_SK-CourtyardAmbush_Open_100.schematic new file mode 100644 index 0000000000000000000000000000000000000000..d19467b762924dc6135e47c71472d411d535900f GIT binary patch literal 13622 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/schematics/nether/ComplexHall_SK-Starfall_Open_100.schematic b/src/main/resources/schematics/nether/ComplexHall_SK-Starfall_Open_100.schematic new file mode 100644 index 0000000000000000000000000000000000000000..d585689aedffd193ce942c9ccca157a785f393b3 GIT binary patch literal 8322 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 H7tZ_(_T4X) literal 0 HcmV?d00001 diff --git a/src/main/resources/schematics/nether/Maze_SK-BrimstoneMines_Open_80.schematic b/src/main/resources/schematics/nether/Maze_SK-BrimstoneMines_Open_80.schematic new file mode 100644 index 0000000000000000000000000000000000000000..b62c1a93127faedd7a9a6bc47306b9c4cb928c81 GIT binary patch literal 59604 zcmeFXXH=6-*DxAI1wlXrL`B330xBX%6{0B81e795i=u*p)KCLS5Cl{NRHT>CJ48il z2%(6GAfW_84ZS6V1V~5-B>8gR_w&Br^So!RbIw|4o%8F=k89?d+1JdT*>(25WMc#X z|CAMUSKPc&T6V{qckg}+THL=LzGs&m^ZxGq*#5|mfQ$RYCn7$Eef*xX%P9J=evVFG z;u5j^P37@yLoeSUNCYe__|tBhqV`#`CuYJZ4JFHQIS8N-gjwkezi zQ6Q&{0^eHpf~kfwNt4|5?de+X0#Nv0IQ(B!hRjtf5EKM=WfxH(qq_hEMJV=K8v{!J z&+n9lTH#mxvaPWos*_Ir zIQYM(*sTW(n!MUL^#u8mjvbve6tyr}G#<|4Jaa2@Uk_RQ3)g1*yeCurtORhtuc$3>h?PM z#$;Wb=RJj=aGlK3(TuunHIdUefP`8hteP zOzjWmPD4y6fv6-4TW+++^CrUmSNFt?H9GG3IRZJo5~8}rJ3Op#L_I*mg4-O*JO1Ii zL8@$+)E`Qg&Mv^0_yh`PAAlNAUmzsAi*VsiA^K`@+VoIRxb$XNWWw&h341+|fC@a# z99(9l2b<$m+rpaN^EOV9A&I0#dzkaoGIoehGtt5^&lyNVH#afFeX^EC(at{3?(gwAW%MGC52~oIB=fy7&5FMV;a(s%%h8 zV^P@dX6Y!UCLW(2p5VV7;-kuUP$S_kKvN%alU-8D&db$)>st3<;|CP4K}WQaI$3(n zbgRh@YyiBD%!)_cu<%Q1svn)o{MjTp*50WcM_stWs_29ATZIF%k1C1)mJakudcW_f z8W`8*?J{dO%hCAPu_Zvepyz(bS?oTWy?|!&z*b=m_IDsQ6A-paLnD7zIPLJz$G(wP z3TpAAj(WWS!k>>Pr*ZWOs_a@unGcv79nK#Kkd!2Q0u?p`gRXYpNf#H1-Mm z^VSQiHRJBP=C}tCpDfD(kMWZqmRJNNp`Kwq7Pl)lMt15SXI*4#Z!*GWo@mn%5pYIt z@JV(}(XN!IVQsXm?5okkcK8fWinmXB1yZv)I~9vYGD53AxMBrTxpwvKLQWY2+Iz+S zp$h;YF%k973C0w?;H@)~9-iX}pyu2Uv#Zm*AAUvv;5NOy>%;W2g?z@)E)jjD%Y3PP z%E_>TjY3NFmU9BfS$rRFn!DMqItx)_Mwt{o5rAX;^lyH^)a~HC;I52oe=U-&@m}*E zzG^(;)YARe7XZNXH`}{-Rap8f!0Dimmp%RlKng7gI~~;ZD%j5(@)8^U3-G^7Y-khx zXp+4JuunQu@3l@rAe2v2G*15Chl1uWpWEkkSPDpva-37`_Qop~bqA4M~nuy*7}$ba38k{gpEa49sSpM^G0*s`vY6++FI@yOFg@K`f(JU#@D!;0A~(caZ50m zq7zeop0w`3^iB~gHs@^(AD~x=DE;rV2SFfzYLxWon~cH#i5Q^qS%aaJ&qv+=4c~k; zG-#5ZHpVjyJxBeZL%RTeVK16&`BAiXYMD!-PrCw1Ii&PdNMf%s+^(6oBJPyL91zsl&`wl*J?zZ^d==f&#a{%$Z?{wO&Nt zn%Ut!Qg(hrsvG;fr9-(eRDbTk{NV*yAJmiBI9hM{4+}V5p*_rsZ?f3M8fGZmlqE3G zg$vu#HDLHL9*e#n)e#Qn%g$l!0U#3zYg*ss0FRcgr3_2iy+S78Yuzn&44_wv+>=b# z8GTQiJ488{Xy!o{5H=hxhUBi+%7K^N*x#Yh^K>L~>My*TOeuwnfw*Iy9xF>VmO@zUBKh_d`vm>=$IyUHa=3=XOn;~- zrlv8N3$5LlYH;7qdZsf8{JJqAyK8eJSaW;N;bDT-fibQQ_2KxY>HO_asW}W`4;>pO zq8bzLG@ucv{W;4bb4(wRQW8Ekw@GpX1f3b*1gm>(5gyggYu&NR?F=5p`>`QF+iy2gJXd4~G4mz~|2*gpuIr(dm}%+ubnoG~+~ z_RXUe;V(_rZ#~?o2M3Y2Dcczz{5LNv>@VtNY#u}q0-Hq70vcbw!T!a9JW^LG!`pYm(&P|GZa^~1a*o}mP%I6gfUZ)QoH-}Ls5o@kZ+AnsmCk3nuukRVLN4-rx z7_n|*lAe_n+E7mU zTCf(lt@VJ|u*?5zSd+`toa^m0QyJ?~kln>y$Ovp~n@sFH6}(8SBmaW^4AI2|d1{gW zAs0^t3wk|!v$W9qtZo}?>=(yI)rarpDe!2GiIgBEvvH~YsiOaYQbTE&^Yt;w(|<`_ zQ1$r2dl@OBmqdDrvYuNp<>m(K@aK40$j?wma&548(v(~<0QnLB5cCh({+i;tYs0>I zu{D1An;-4!IvtoR?17eXL&5>o0D!WDh&iB6Qefq8)ex3!KvC*pv9Pd{9?gtQ#Fqm+ z#k+j1o^fbFWO_4uyt!*m@^d#xH*hzAc-K%`Y~MfM|AQt#GqtA$n5lg5ar1${drt0> zkqeU&Q%E60g3RW;U}Kvf+S_PSHs7eqSqg*Y2L$1y~9D{g3^1I&zDr7q5%I_iEX=-WlRXK!>bKG@GquM4xvQ z2}@W$XiqZ-&ny>gJm1&+n3W}sZ!7T%slbaajX%#86Y_TN9pQ-%AV{Zov&%=Q{-&Q8 z?}$?EHH-Mh1uzhvyO?kj@%IKEF}sI%H^;W92mt`DZS{LSrK4Dg4`Y>==5PZF`@-a> zd5&k|(#4xSZD6WO(DR-}E1{VV(Z{dZB`i@2@Y!i5XzrB3KU4Aa((N-FAKzqk7&4wHqhArNl<94%;3qoSAm2%JNbOE-zsDIsblulB zy8oI(D%@N(EqCM4V`Q`Wd2Qn(K|Gg3YM;DZ(A&G0K=QhqBvc@!X@IYQQuAs+#Qs(C z^%^C*x>9WIR+-l!=def9;B_<1pYel<{g03If}VL*!3;IY>emyWZC=LIcICmSg+`lY|1n#Babuk!pZ-82u}u$kCd)I8n@px(}I2$B26 z+cmF*)e7JrHCZk#0L2{n#;43$TX@U>K<;Zur}`QhW~VMzWUdcaKLuw6==}}Pd-z4V zU!D}uxYp0~i?8Kf)-K?FzG#^Hvp6RW2$O!r^V_vT@gaQgD_@7MPC&L^>ep0qGsRGe zgt(1=3H)CZjZ4((HiV3o@Q00srR@Wl9OV3`moYJY6h=M0H7M>eH_=Pd4-V3+a+ZVcp;L;W`98n;5A|B4#LUO3v2pFdp$lhV# zEil{xyeympcI(M(z%;m@!ae#)~7HKcTg6#v!U!3%Qdg?DH=+7=f1;e zImX3{?^JU2JvKtB|8QCRYqioml6)6HrB^xj)jyegN_K8|Y``tY8bf$fV_VdLJ17Ka zb&(PU;%>`wmy@}VJ9FrRq6>o&!E~U=DE(mFPv=W;c76#p(^S)tJXN!|Y%`+rt9dJ;rsxjb28p@2JALW6-j5Z1C6oX4net_zbn&lAmb z40nS%2H!w%{+rwWd(D%o^gX%|+EQPhVf=~zvj!`<662xm+M`yM45kiV!*-G5XZ$Nc zue&P8Cmgwyuf+CeQe9_BMfrL^%+S~MmBICISO=7imFLWtzxa~7W@0(lWyx0zF&8Ik zLM|X+(Yx{1_6^{DHlPgi9QqqxV#+>ClHy+2{v-baM$^EqW+RJ@qAU`|s>SpJTAruf;W3INM81~eJMPl*#AkBlxZ z0yQ-p@0~nHcMrC2+Ms!GhAZi%g`%oODqB9wW3(#2(_-}40=zMlmPvg`YUvw(O)dp7 z9IV<(9|Esl9k-*EKJqhxK2yDjvrSsn-MkGggAUkkSqw$XW|hV3>DtJ`Q~F)2)N_(c zyIuoPq+_(Vg09g{o=cR0t}-0r&M3X$mJGhET2XM;zoqNknq!Vh*@YDki2L}+6*d2w z{J=5s5E}9J;C^(kgAcx(AzF_!mHyJ{*3VDMA3)wO8}6=o-KW9K#68ovoZ9{NaE}W- z6P7mK2s&&oIr&4*j&}Mj;-oz2$m>p$m6mm;?n9^+*8=Z#m3|bWvS!P8*|neoT`!Bm zQI;R6OWY}mwknlZBFE_INj;^5ZP{7Vxe#_`-}y+6j7EuuPL3^c5Cg)%$T|2WeR)Z} z3M2_8rx@u5ov!^=f+e|HAn26NjO(DK%pXq!JeJ1tutV~%F6JQ?Wms+tl`O41U`JN( zVt_}C(`a>aQn#@Nse3N!%c48I{dQgv(!+UZwg|Q+k9rJAO}h16<5n8I2~#6>(8J8c z#ld%z*giV_#pw**qo`fs_<$4x;{Z-7oT*Zh?boT8O51!@cij%Tl5B@I(&s+!hxH|l zyArW8^=*N1{aWDuXAq}Z_?*|F1|38{AjF+6J}ktF8ucI_8sA@ny^EYIlrE!f;_FzU zuJ{87Z>64DlEI*0KfRjFNq=&@*st`+QuM%&F!61(m9)7rubb@6>Q|NrqhKJ z&g#&MZgXF=dO-<4o<7LSju(mf=5$i?jc)=(NBv-yWbRV#nQ7qK=Qvr!tofzY7qz#G z)PQ;&17y#`(U3k^gC1-B3%VYP$p~&(PCi0^{ELa^yLi>%bIqh#-ix|K*w67|kkEu? z8g7ve&U2DnzK7WC2we{(npMux7pw^mw`_YPzTKnj>W>tYjZE ziz;hNX%eH8r-7e<6A#8K7(LC~v_ZOOLrMDJVj@B3@!K=3cdbEpL9-Td+b1lb0h7O3 zj)ujfL+g0!a|KJeVW&bAaS-W!A9$9WJ?7@Zr=LW^DZ$eTLR{k_r;BMO&=%m(ZH0W( zxP!;Pu~lnsad8NDk2O@*6KsF_1wp~Un+FXEF!>RS{nda zdz7V;XG?c%nY>m~m~>^T#KToii#}HlAr0p!}r@zA_@f(oG(fWKm5Mz zm@hWZ68q@*oh15mF#{>OVKiPKtZ*SVXo_H$FmsmF_`I67dqdxPfwI&Pi+jHEv&Xz~dAFh`Y0MR@k%Q()jVo#mp! z!|6j5^16iGwh0DhXp?do2vLlu!FtZo27z+@+tK(nT*sz1)NH?mxbjk@Tba2m^z(l1 z{v8zUgcH-^A^u$gYh!-!Tt|RGv;*uKtL^X&0Tb4+Kh4F&a=7P-`i^`BS3T68QxCo^ zJ6|tq>m+-1A{jSXQs+(Sxx(f-Dxs$h#-U;c-*Q)>-c5FbdR&AP@-5XhwP2XwM z16}4%et`J1qxI&}p?#zKCcTsrJ`qmj+*cN!OD#c}VN`eIw>*mR;I@Yaq%IO={B6f) zy~6q?`uP)?=j`dT5VD`|$qqWD zUwLrlyLXQw3El+7tmrysi#NKUz!S3Ux?kU)=oP~cjv@+58yb(0mG)%pX;QHGpc zU-gV9pf85s4XkIObRp@X#$Ewr2>x-NY{#P?4{@k-*Kz_WW>eAJ&-O1?ce!05=#+L> zW(QvM4gCWwO{^0<^F2kr`7n#0eSQ zsWp`JecWqZi`R#1W~Z5;$5-s|j#k{Mao4U(M8g}y__sar+>!QR?avOW_et`)=_Ab3$WJe1Z3 zPwKgjd#-^T9DOUE`k94#0F3wilsM_Qcq$Jg1l(wY-(fk1hkrJOeh!tKc5a2=UQSu3 zx%qxGLGnG1Vzsm-;gr~;yDEpegkOJ$kwLbjNa5GF#LwHTwv&MUkb%7w4;!xT$XB}$ zu+&FKqsgl596kHbOsRF?u2zrzgb`AAW}Zl0T6n(+2-Mna?R_ z9#^IWMsepBi>>2Q7C<*-UvtZo4~SrXH)~jL{ zzIhm8)ba~(rm#TOPfqw7?u83+T!UU&>i+f zAt>HXe9AYCKpU>XnXYMt6Ph|n9?{;J4@L=5tVd4>W51ahjZOmD_ZBH~?0otS-$kbX zead&4nttb^v$_+{31w}C-x3e2o1JJH_NACbt@axp0OenbPi6b4qb)GB;@nFf4$Gfu zrWQsvFGNK}3w`ZTEO+;_lLr-+lHX1~lW>+vegLZQdMTr;#cnjMBABr^#cP00L}XV= zdqlTFB)5F=O&vx10^^!Wbvl?3ODBw#5r7dX88xmpAPPa@^4Hkw$_UQ*0Itx>jay)e zS)fHEv$pI`VZrvv_eoFuR!8@*pQAs%2@V9rYQtJb7Chp|PMD5l#d`Z#qFlB&n*w?R zE|3hj-&RUk#wOftlJVJM9?t_Yi0krV2yyGLg^`Ja{D=#{9221VL#T7a&1Vam6>U#X zw%lNU?u|aPm{%G(N@G1cju2;Rphv3t^J4T-N3YA+ERPoj=D}O}Tst#VlC?$v$1u{5 zXoR=F7SK}C1@?l*m?5bda5?OoN}2lgB7LtXdOIf*BvI~sP{QghsrpV^#E4_9T&T>a z(WWNP7p{IE6|UW5Vjt1niSkf$N8*!i;Oa6&1>xb6?>GL;-Z>tC=3PKxSojQG0HK7k{Rl4U#iPv#Jt<|Uc(^TqZ z2VDHU)Q!76QXs_5b6fUmz20$7SFw$b+XoAsj+{wPx8(MwF+5mP&xC#bKK`~t^H+In zd~!Mh01d%?kWYwCIWFir%&$^FZ&LDjz%M1ghGTHeC0%J=eM37W6(!@>~I=w{N*$>TKdC4mE^U809&w;l~ zWz7Y+#>5Gqu?dy}5?Nh@eO1zklpYYG`)ee=sHD&<$@yNLzo1WEaBO{2#YeTK7YAAX z4_X@2`QnjSLn&icA4<&DyVA(4-EizH-z7^X_GOm+*QGyvPM=iSeMqAMCqb?X|MgQJ znzstRISFum=!)P&S|`-^bsJ?PSkJ3}<8&adzkd%TpFX9S8$;_IIk_^LFay3)g2cO) ze(b&%62)n%P(48+_sLC)Jc}M%wW~!d8A#Pz#N+MVf|<6?bzO>-JnU$0%z^{<{%B6* zftFQg==7PQ zFJCCNZ=UvEQ9H*VUm#_k6PyOJCY;bN@dTwQJLQ@?(cwrh zu`oO-+M}s9PT8%&r1(<;>v3A!^r|JXU2fs*GChj?1JyD0V^PzeTZqjN4}8t7yRa~> zV7m;SqixC`H-TQ-Dawu)+aTQG?_lLaJ&fAcj0wys8}mJ16tAsHxW~_EXWot4DngGJRSl;gEk&kDeV}d zanti7!GszrVq%xtD>yXq0C!D+n3>kRT_PXJ&8OcpiJZ9Ci*4QGqDX&i8v6FZC6dsr zR!yBimGe2Yb9EP|<$FPE_ctj4lRdLqC3B|Jz%i#k3((6B)*rPl&b|k~kWlaCR~D~T zD(&;qN+%ksMRJ$&f3QvqL$II()@`WdP%x+}UUbP_j+CJ?R|=3Rvsf@YtygrL@|rs? zx>koQ1DRH+-nvK(uk{QyKLtJxE!B?6i*eAM1{yABXh{l{%);4ag<968zv_K|@W@nc zP)%6QyfX^);L9amd(;O1u2=d&eDP)hV&B@MK}fB!BGG2@Y>q}HlcaDD{*%=RFZ)<~ zBpt~ZwJ);ms0;#(-MF4984)*oZ~NARlFEW9&u7ML_V+t?%|Y~ln#y~|ARE`AjJ#{m zu9?(MV;|HXmNju6>{Z1f(QI}?s}1v(zBb*BakW$qJ!UHy8QgD8u$AZ@%t~}MG0$we z1#bC{drez%v}b%Ma)Ewh-y3qhYyTC)J&Ab57xyp8rbxhC+#sT{NhxyF?P;OyWv;GfGO+Zy^TUlysGPfp^_Q# zpwiMrB}9=@P_m2N`^Ju)aUi?%{@wOQjgm=4@MHXme(6RWzC3$Jeh>LsaGKo9fX4YR zPAA?Aj;swg%lA>bGT$vt{&dvw6z)R0uf6E=itMS8!MKb9OT7!dIJ39wmfj-UYnS17 zD~Q&U!%Ob1@cU@DmCBE|Kokld@!=L@XW*-;|C-iYryHDKnPv1sMvMl`&A z_Qf4f?iAZwNeIn|T}i`rzR2?L>c@vfC$0%Wwi<+DMyea^%VIgoZy?E$ZNE7JI`3BY zkvsonxUkR4+~3O%VuMVHf3BD>%vl2CIF%FoqA9h4!P{U=>>Yt!YHjN74~jrPKP|Kz zFt}5?x^u&};B>fN^M39_k>sm3_&IZTBBfSX*qN9-Xad|6~V^D9--6T$zG=8glTu)$>Q5sDQ1i#FOA-ss#l1 z$+X`+?yZG%djj`ziKY`4Xu#6clYf3nX!Zy3Nk>-Y(^+Q5yM@|InOAvkeMmP9T{?5o z58s%LjpY7-jQxBN=wU+?mYm=h=RA40cobrvX2=*as>D3k5WBP~F5`Sk__n5pf;$Gc zr&oa0OF58tF@O%O`DM^&5XDq2(s%l~;(sexA?)^d3nym0xo;!S@W>5qr@7vdn!y$JM--N#C`R#l+3gN zl=9Fu7}G)@DS;Opskr11R#}dl1<(B`%Su#8DZLkn5XGlLp{$plA=Sb>{evcyDaJ2l zDmnS52Pi0a4SyyZ-YLDXw>m7j?vEtd&K7A|#*uE6QIa?|UCR&A0M_VgdSnXv9~`dP zIxF+#BOD%TF6j@Ud_|#XZ!N_|8VO@txHPg_6j!s&vY-g8tIe|8);t1TU(mm_MMeD5 zYXC!DbB`B*7pyOQ)|THp4cshkx&ewj7R`{~nF%md+36^uIyfBYlKU&Qn^c z&AgZQ*!6;@ME)BH&o?XAhY)A+dlp9%$WE`jZlJzzm(74nT{e=s<7QeSna8Iq6(m_L zx?dciPm#qP2JD-mv7W_@khj9%j5Zbx6|T1wQFA9pq(3un4;20NJrX#!NUO4`bz^2JY$4aJ~F!!PHUfkZd z7%T8g11L2?X>7Bab=lq>CGyir3ZYuoSM)Q>I6rxl`!XVVr!!WUh1->DIqB@xhg2ix z`67liTu?2d+~s_1{KB0I?4y@M6k{~XU5NEl`nmfPdwj*bgZd&(iaS}ouTdIPQsj+y zFq06e`vo(^j6c?27P^S?_~IX2y_BG#wn5J`MqBG>9&(kcoMj|ftL3s^g7rXgNdPMg zprHGb^VzrS?dMY-*iA;sH~h&W`nc>QzsPt3t&18o<#X{V-dHk|2p(|m8oMjLoOySG znXzhy`BCLr2E-|IU$REj$M>o17-G8zqq)U65s2Whr@0_^KWzbAVUe}852$DRl^}HzKC%{3O83=mav9V^3*Rfom6Z^1 zx8f!?KvI=(yvGqt-KS*MxqjUe4dAMK1R*wdv=#oY#CDa$9jZd5S|zf5m==-{>q+HQ zE%cbF;#E0W94!lCfAq{1eCDO0CGo{x50M)R1u&}RWV!OUVn#H#?nfXPtln1|PjNd; zG+VZW1n24&U(L&-nxRRUgbV5s*Zq=WK zWmmL394gZXnWHB6l;SP?6Cf}ftKOnB4wid_>l)El^orhj&kr8%xJ{nWuOr?-=cl(J z+g5KvXYvXPsu^_iImtb*Q0}Bbq1i@9d2+mO0sXXnfr3rujKZZ`lb;VxIO46$?Xs2D}vqN}Y0vtQ#lm{Fgsbq;0dYg~IvjFZ5VPuzt>#fd!B z8`z$~p+=AW+!BFA@AU4{T~IdMk!c~!yC5ATTDZ^q4Ox7GP1fJ_d?QCA?>D>pT_2i& zcJ7OQ3}?oFDaWNIw8CfJUG52cpd4_xou_^k>#Ov%%YH*ALYWpqS4+IK9QU)HGUIg< z0tL8z2Cyo`aC`rnmNq@X!=vWyT)Pxn*}Y1t;R$>z2Ing>^ve$+^x_^X^iUOg;{n{Y z=^m?5*CHd7O+yZqFturGS226gSxPV0E$FQJnb8x$?V|$8GtHBF=+qZW=`83jwQxP! zw(8M8K~N=QARY0;feV7n64rMx^i5i_1vCwseldN^ro&t0?G~A&;LFS`*DQ>drm}>lI6l~ ze=%eU(%a#HrzWzpeEu(z=}(4#4zaB7SQ%;W7`ok0`w@y%#T|srTt~GQ7xX@%e9D@=tNs!&qvsi-Q4o%Z>JNA8HZ`$oBfN@ul7Q} zGCySjCgko6t?a{?d4J=*;YijQxXiIWDw9fXR!AfMOY0M<-DQ zG?Yxt+G+I7wf4LqBmxLG{2Z_$OJ7m8DrL z%W9Y-GM}-f?h-&gScUTyosqb|`t*E!1am=$5p3(hdWSQJuA?1@0YD zCM}`I77Q95+5}fR7A!;55<|--8?;!Vr|J5Kbd(M9Yvpe)`~JSDU+pBTerp_DF&yn? zvQrZoqzE%xQXg{R2jKbZL;^mPq-76a(E9_)6LyXBh1TSkRS6vL0v*b*UkSP;mc7ds z)1TfwvI3HA!~vI%Zorcowa_!Aw)PKd<)7aAGf*Fj;a2N3y4OC|u+C&agxo4tZn}_U z#m^OSVqBQcAl9(*D7_O0JZq&aBV0n2RWU7SWDFz?pvWO#H76%YN>EEywvKkYus8I< z{_yP(d#9#igSLk;-ZDHTY>uu_9EzUb$N%=)m{K%1e*-rEn5sNzye-`dAMXynyj*`= zkn3Z2hQXo38>(ln+S;|jkFO@{q>+WWD#j-2zD*N&-S>SH3YMYft#CNV2(2?+yd%t- z<`6I)E}H9i`w>`hH03YroN;ztuq4>uiKx5XdQ*ZkAki^BJ1D&HAtpCwlc*~~5)yg` zSq@G3hKjAo#{~4;?Ijt2*&W%ZEESNfOnriEe{|x;`sy|GgRKr$>CvpuO%ezzS;z0D zAQ^}6%HYk{+>}dZypTk(t|YO2;r_s>B)jn+i$8X03$x}PCy8)NzJqF_9_1$WP6Iy@ ztnz2Um!u|ozO!P`S(oE3rOhNc^8(Dw=K{3U>KLO$Y$mu;cX7}BvQEbDCr}?nf@5AM zW@PLHV$kRwWwUxcVx}ZMB1u2r7ENnSK#Q{!;EITexy6;v+)S@G!*hXs=@$D26Ldis z4yyZfHL2_Cy?4(JE3mzNeX2*4QcSB0=suD)&!9x>q;K-A@IzPU)~JYEgqQ6LtE7=> zU?s=%^X{ za-W=xn_lydd-s5H?q!9nng5i%o89@nY&AXRn$|0)xRNhOeP(u3i)%^jjDD7n_ijID zs0Z;TMwsi9)i1s1M>VF_=wr6;#+ZK}k@UCM;yK)pWSWTx3eUxf zYHObw3+Oudo?$wb$G`Zkn1sA!YBv4Wo!u*)rQr!Kqf2u!3C@VE2+nd9Kz0E6)(Y+~MOR{D}{Qbp@4WWwf;S+Lj=_xz= z@S{+g4fRGtV(o!gPvJk-GOXlM6!$6Z?ak(aMY6Hq!jAwlP=Zq>68p|SJ=46YN3Neq_ zRZo`FlRPt=IrP0Y$C_zzrNd;=&H}zT93#I&maoqEJ=pkRm@erH+ZxNpprm6RjmqkJ zK%CQRU308^56f0yuT39W#8woVSZ8b^YoLe&+_&^^(7|oS5SGZhBd@bg9Y`>d2{MLW zixTfx3{o&VF&c4Hi_20TCm4TuwMzS z^Y9!m9u=2JlDc8GJd(Lxrn#!zKm1L~ac*3vQ*2-Lw`_z4x@Y^8n*#G|Qs;?xef+W( z_6fvO1)@ABg`*(lQ`FNy$rCYjohi0dwiVBDx+-Z>5+9H``l1V-z?t2`H-eO9vcw@? z!*_X>rNihPyX_OhjdBZ8J7p*e_OrxHgvjBrq)M5Zk3K4N^Okt9b~?kouW#>0X>wpi zEOta3*|a3(rAUuRJ((N(8u;`BM7blcxmP8FGEu-hIlhF1xvSHFu%?R4Cp*noNy9F=L=U2n1Va(qa_@N5ibU^hOE-xY8!zx^AqA!## zpS*~e-B))wwktnQR`7Gbs2g94sL8Tf>~ba^icVm3T^mnClJ*A$7f@LDdM8ojD1{%B zRq0Dt_UA=>7 z8dHV2_vlQuC0J>6<$U0hM{^j&UpA6^$9}D|Q?Xv>aXG(53^vuzm>&1V4$2PgP+&RBe0yedlZj<5K9&YtynnAWG7%qh?U(AX z0@PPa#bG#~Q{M_tN-K(RlG+xhZEdlQ8AXAz_xD2w{Jy-l{4tK;-1!X+-Q z^(b_v3~p}y!hMI`@Z<77?6|D-lC-6%;TMuu4K{fJ@I*7r7AM;51Te; z^7W=`*R-0q5+%Or|i4NdQ(m?Mr&t6CP61&67g{SO~s=e z)yM=ZcfK~xA#PX(*&6mhf~>beCtU8@Y$cvSDV(_>CeQ}wMGrb;v0~22-A()HN!fGn z^Vqwx^oq;BLxV-2p*h}iI~|>ff~P1wAh~DfNm$4ynt7BvF8PlP^3wh*F#8Z4vhEW9 z@lffZA>aFyr@6*ZwoznH#*2%08}4-a_n4zc=kF0MnvL0y#(ct?RICSy^xW;slIm($KFi?6(0mry{^>!5W^Wt{ju^5H*8OsEIZ}lYNRHW z1y&1l@vfbR`;Rne{(&$U!g&c+tG8{49Ug$kUZFjjf+ZSbqbnq4mmV}!h}pT)?axPS z7h!*Mp*H(SuI1247`JUYl^f6B6I4 zX*5OgmFKkwIjSqTv1{IokMyB;l{AR1y4iJwFw`UO0A!_SZ;{ujQjs+Ol|Sxbkwu^1 z>mB7hktGe~dImzijw9(}`)9 z!0ZR6#E8i&I@N_$sdupD)h4RdF2$2loPliQ8*B;HzCsH^4v1e8zClbRlo*S%ey?&4 zzUID6f3PCj@+pL-&%`$V$;~lLs z*RvUyA$0Y!JloFaA3w!*vZ;^V>0J?fYWGO1SlH-zrSS_Kl`+c-#7 z{^{nis!rxhTi~Rq>FOQA_Y`TzIhmFIbH@%bTC|4o+p1Y{df&S$Zo1ZJ_4ChEuem=|Mgn2&CAMJ-~U zKmImEImZCLP&|=#q=-1BJnPl;LPkGo=u{lm_1^_64gfM*N!;VEt?e z@2o=PGoz7(n>xIFrGLPQC~~KiD^V(Z8!+$oi3K=T^acq67B^ytta6rq?V+gfW=J;$KSF84{h+~Y@a{#JIf{>nmzbEBt=&DiSqZJcm}lX%ji z&&$Ed+NJae`1q#;WCHiwV!h~CWd$xC>>k>KF6lQ}5#)}XfY+kN5gq>uBRs{36kh!H z>_I7i8Etip_RVtF%dU)Y!Ui(hzDkcQ%LXv-v(ZiLC&Vzx8B$`COPIU#>2!V{*<)x_ zYi~Zti&ghtuP7~fHmJThw%Fu_m(oQsPSrA+nNdm{-VQdK29hBPI~|^;BmM-++gKCA zk01{j$TZM{_3Y2dosJDJa?d6&r51BAiu+?(7 z^o#27Jzrse(qQ}95!sF?xouyS&f3Z1lyE_G2n$9NS}62Cfq2?<&(P68qIyg-$gd6F zsBE^9sQBClQa|f#8c3Z8sG`x6nyfONSZbOUDLumBkU5OkrDFK{4$zzn0^T zyA_8S%h7keX22rLSM8jYg-v4XW%_kQ`^h{lE&LU^<%+f9Y85ku-M$ z+atM^&T4qQGWA#Qdh4akol&_levyqUc2DA4;U^eGy6_ZUflc$bq3# zL#J&0ixaf+T96$EXm!$u)Vs>vN7E1oGv%Dw`8}l!ma*XUA@|vfiYbb)&T+QKqCq&Q z2$|ay8WN$n&%f`Z_k+wF{NU}Pmdc!3Sm^*I{%UDIB`;)wHUPRbK_?!yDvIJhh@*^J zd#pfH2SJxozp}$&+QnF`I+A0m0OlnlR!mrB@0c075Lf&{*{`If)2QE%w(mRABDC;_ z6`45vvZH$&c=R_KD3NZ#jx)(|LL#tzv&D{<+%}xq|Dx%<TQI>91B% zv}o<5TC0@Qt`*fmOGzs>k=7_`6;(B3Z&G_Eidt1-Z?R`=2@x4@p67kv|B`?2&vjq- zc^>EYI8M;^Kf&1cd$&#=JgMz38sN*9vV<3rjW%>q|4HW&o^5)1%LyT2%EU%~G_mfn z>2`Ty8~a$=KJn!yaj49XxSNj+qo?sBU-hkGCm9cSRS=D92nO$vlo@=T+s;@R{jH;? zr45zQdH}i*EuCwnPcFkcX&0^JyohCp2Dgp|U)W|_elCWG2BY`EAAJB)bTQEmofvlR zp1O?k5x$8tZ>5MZ|BHVIvY|VE{>+L(ZHS$gQT%ZTUGa5)#vbwl9GsyRuy#9LLE^NA zAEp3Jh>U41hk#!O;bgin8mL(P%u=p!w~_RH|J^VtbX}4Af!q$iFA@UGthFdA6S0NQ z>V=L)Dt$jxK$H=W@_+%AS@U&|M`Vb3Xs1wLqoTEOgr#>AWcHt(~1=n%xDs5lrW}E3E`d_hesWqeI z$ze7&W%njM8&d3{1t&c@=&_$J32Y)aAV@QPNjD3Krp=oLEW%2TTU1tTr73r8^3rpZ z?tP3wKiSRQTSOESlX_MBKntCSd$Y$E(E2I1ZV&cL>*VWukWx#qQsAaepN;7w=$~~w zLv-~rsvWRFk8fh}XbZEGpI=X5R_Hmc>HZXxj*s_x!-N)JZYn%*${~BEV$STc=**rN zA~!58$)1PXQ6#}u%IsL{xEy@w&lb%MqTImf!)PNKm`-G|$ECX^L@DF2m!i6^^ z#ah0<=5Ig(tIGPMvRw=s`f)L)i;*H?wOeb8ek7^GR~Ew@f{=U^R9pfOji0Fn51zy5dUSMgxyKYE3cvDHDSAspQ~uL z#-9kv#YnFAWqqIB=*by#m5v}ARR7dl{N+Bb@6`W%sNevjgJ9hHhQputkY=m(qJ*3r za0q?GqT7Tg_%e;#ybomdg|6pEMEw<(MDF%|+A$2FPfY%nWl&dta7q-XjHVfC*TnDw zC~;7Gk}1UyRDc!Var9yUp&Ko;v2YsNUs?R z%D71h9`BanQ?mVSE`?()A4T8y@IHcC) z#!7CY<+wIrYL;^~IU1BMD^=@3G<5q4I-z5={HqZay2@dF_U!|>tybx>rdnVFkaw+2d!EnUIySlDzI~yfs6_D4*wwkj6+dIkO`snJfZ(-6yR&z3r-T^V_ zvad17k4pDb?IwAW#PLp5+r2B_fQ+jvDC(*FCQ;`byPQc`M9uJ<$B&Xg7RcLThiT*B z44}G46hwB>NJL6SAam3T{nM{5q85EwK+`M2c2fi~@W_y!u8j0%=p*ugHKQ;>gxp{M`b@?faG$3g!C5cCyWrmaYy@DC`KfH5R=L)Akd5P5 zRJPj<%iJ230Iz0YzF#}piW_F6NQ73`bul6i=v(3DLX6?i6cGZ(GsItOC{8^XcgOtQ z@gYhd#W(d)Z{&iU7+8$>THfivDC9J#$Y6!`0`AcnvZ=zXNDf499#4Gg;a-A;WMv8V zCBLF42jQ7ExSmOF^8#q#Oz$Dz@zVw?Xi^DKN4p-334{fhwp?O3Y^gaJ5c1ug~(Lm-`k-Pd&wNZk>U zV}Md!SD(wHf~MwV&5@GxA$zZz%D=r4-|@3~VWMOeVMMS-a?r0NfXHl|FS{McW{OGi zyKt4aaOK}=LtzPv#s{O3#M)oMV_aNqrcp4mF~@_a5%`u1ypU?I**_P<(*iw&k)9PU z{&f}C1E`N(55`Fx!+1>L#6V3%-NTqsE-t5n3(2L3V`5tNWn-AL{5d4SaO<8}w^$M3`)tgGXGFN(9C= z6apBm#qhafvhcPeY+JujiIX3SM*UsJHqBkFqdq**;X7FX86`|^dZwF3%oHNa5M!Tp ziYuXG61v4Tfwh2;3gZ>uY7bIugseN2je)p`-QIB01r>S6K?u{P^gChni4oRIx7X7F zjc9$>o6qa5cdf<{9UHt*wNdg&{$g%#q~f}%K%%#ACWy!G`^={y&<0)Y(U z>24Ign6U9Kr>lD7hW$cv23TY~!E0g| z>thkWV8osvu1$+bUO1g=iV0^hZR#?7U|oX8(vp4{cJO(d5F8dMDVOFTtu z9XVWXh+|675n5PGkH$B;pX52}0@Cn!Vo%3vJNeyhyu=fG|FYs$o?`j>d$Entc110)B4yOinldRQeLxk@>hVLjv0M@C>Jbq0LM z$`qIBwjEO1NMC5PMgXIntGA!-avvM`@my}e&7O0-8d%72be@kR-{khX_e|4UVoBBC zom93Hp!erV_aA{?d;@EbZC<$vve7F*f7H?~L+HvGuLELInd;C3JPWt#$g^Xb?&Sec zrs$IBD(r9)r9%cUHd7*6LL>@kfRV1dX>sJVxe$8w@-!=?M@IPQJni5@f1nU)x>6Xko@YKz{F%72sYxP$0n8!69m}I~Jv1 z7hX&};Ij!Z5T*Im zLUq%V+?1GRI44JO%6rwIYyWVnrobarDP*MUJ|Wr9Vc^pq@=m&f6SXU~2RDxM_TCzk zy3d$sM--IH{ai1=lHWTLjk^Dsm9%KF`T8mO^kgXYxto)<$V3;=xefsr*-Z&g=#P=4 zzYFW_s9L2bXvs@q1W5$ul1UMGb=dmPa!>S%>IZbj=rq!53~%6-myBGY9$k)n5`&%e zYJ|&(&T`QsFp64aO_u5Pkw`<5=71Wi*+6=xV=K0Qx&Q4Cj|8{5s7joQ7eIK3JeWU@ zP4rRfT>$k0JYmllzK&{RNKwZS(Ld%+Wg-}zuuW2|$8v(b6)Q788`F*G;yQe`n`}xSO8|3!NuqhKIjFnM$ zdll)#uHdAknbQ0vpWDt17ac)L+lx|}4w&G7bA=RA6e|;)VuCyh14K=uGr{2>t~@K& zgHpqG%2I}=#rg-pj3X89MK!^5O;GiZ-cv7ccHr5$@~D3nvak8S3NYfyH2rnV5O?xo zB`3fGYP*XNdIbZpkK|9CCZ5>u;=S0dUK2mdev?DN$RC^L#pJNabl3vu=IRHBbQw8pf0z3eDnzqMOd z2rk1D*-goIIh7TG!y&Fq)T4U?yI@CSMEu;xC}WR7W`ynjPe$whhN$X)^7htX|C7h? z!gd5<)mvgN&d+!L!ay!3`Tmz4uqW#_xvjeGtNjUOh=sQ%P z0Q=u{PlpKILd%miJ8pjnW>;%g8;@S;kvZ=WCuWsK=B0(#r&69F4MG`d9cO8w`m2 zjEuPv1v5iXdP(e&{QtHb{p45>e{)IVu3(EQS=WAe7yD)xpHsLKHk!Jg{oe~qu8zUe zLG67l`a7zP5~VBRU*YpA=hmBz-ENQJNSaVl$iE#>U_k#;ty5Bq&1GFb2?@k{8R>+GLmab%L8y*A4Ws!dXOR)YL!re5JAZ?4UrYO^JfrTK1D}#SFILJJINlBBlS31YKfv zq^wu#(HQe|pk(|Y*-FSD3!|FO=~5s)hUyUQCJV6#;YhJXd|0XV{NrX+ZmtXn&MIVf>B@nYxde$RZnE70EGKe|Ux0qO7wONC2-ZW#*2an%%5<<=-4eg~ z21`34z$TzgO@X4T3`pmvE#22MoRfOOu+%EHL9(#It_=!RCD;JFXi(TjY5?{E~faYnd`}=ZfZxJSn zsDhx9$B^8#B_z3-If+qdh{DMp)6Pi7kbrdh>E+172b6;AH>-%h49G-npMT#O=FiPa z=KnUeO^|VQUl@S^S5Lhum^}c|;bTqkzDkE;4W4^n<|EG zgNp54*imTC3g$z$Z$%g{d5Juo4_hsz*DKT*y2@9$GiWz6=)(hlM)ZKzi7}cnqxvJM z*f-%=5~%dI4SmlbRH@?oaTE0>r?&vF*SjK>ym9#U`AS zfI1T&=hn@JX}%burR2)d$6Zv?BRv9)Oi8i&!4ZuS1jcQ9**8t5`_US%c*m!|S{Df| zINz?_kNTFxX9_8@za}LL+CU9q#T_fhWEB|1^EUV7CPSrPlu=zRw$t3Adf7s>;0we`~Obo<_quY3s;JOwG!gVP{e= zHSYNpEBe(ogmt)rlVyTL%~ya(HlfevgLsNO+4HPFp%dUm3nHbt4zk++N>GQ3Q*>Ko z|Ew)%d|4!ew|#yPI=oDb@FY_*dIjgHPY#}pzag`Cp~;KCa?X{!_*~mTxjjHk$-&^s zoW}EP;z^ztSI0;ged}8i@vyqZ%$(EeoS#jLGT`r0f!Y#Gig0Lz9uCI7nfed?jaEf~ z@Mt*i(qoS|rNPH)#G0}Q>b^=?P?G4rBZ9n#gb^VVHk}A+ zmKt%>oDW^)x1s3u%zm*UY!g>Yt7W*YhTZoj?~y2<*W-$22?f*7(v_m^(9F63p%>#| zKn*Z06#A|rpE5nlZ%hI&xX*pZ{kKUWZF(VYauH&N+;VULag8iwe(fHhZ+=EfZ!=MP zRvSNEIcM{HBY|1*$g+Apy)ISb>xT-1I=p4sKBIVO_I;Y?--^_yU%yiId8THw zXC2ANRgm-?`3tsj8Nf=N#0Oqq*6~iqMMJJ`Ry)+J#oG@|6H=dbbZ1Qb7l*@u|E!V7 z#Mz&chN^}7GIutp_Wa@)TML#*-q4(1CgK*81z{{$;XH_|LxCOVTj{zXsTDt~W7ocL zy=b`F&vu;t?5EyLK>G7vyCb`+w&?Gn5*wy@(j!VS&)p_9^xhmOqJOY~gEhopLo7I7 zU%9|QJaww=OwZbJMjq%Y9d;KevHXk#_Vlh`cm&;{SMh28^dD=t_54c9eu$jxG(sP1 zLgsG#F`hG@%Yk0MG?7Xk3q3Vw?Q42)tHP8*gp-UtlxS#OtpO2n$XalgN%tsav3)Q_w&TBA=Ccj`^#5vz-(X47WoZsj~hmpB#sGIR5>`JB1w* z4~I9{gf~7F-KY#-F>&>__AuVILwe%{d@QIK)}1I)T0a@Gufpfr!XShTa%LEU$%ti{ zha#omnfY!pk1&AYZX9MD!PY>164;GlV9c=C#Zlt_w><7j-E@l)mm6`@-(}ycJ4skj zc>wH6%|}jM;9=O%RtZ~LWw=(uGyz%;(0OK{_*m{7FLAYM3?Sbq?Q^y-24{uo+m$d{ zA1}A}A9X3g8GX{5UF}#M#}Ubq$)bp7=ciBPJx3m_n^)FG)V)9tOP#O#FzpjnMZkRq z%*D-%`tnh?&dW>{!0vCFdJYzkcVR3aixS*huWU9FMGjBa0kK7n-vi7zmXt#RQFBeX zvnZSv`nhDOrfeK8(l!DtQ#2ALaNX>pq5O$HAY7iD8E>=AwV(O%XzRyRjWGv0&(2nP zXu2*E=V}z$GskM1|KrHWn>-$Jc54SEnC3jDcB_hf9(6}-36{oM{Py_O=h^f)73ajt zJI8_9^mpYZ&y&ilOYE;)%ZkVJm$xHQ2%`=?4=7GZAk@2O9gV7GYP!%=|Kj=1wzQC> zC16DCjsU;{R-u&k-Tw-A9BxFo%)JK~S>=}M?PXDV%(BsZ(a!-b)zbB&A(4EaMu8%KqD#g%;t)DN*f{sJT3@6MfuU+I*+K~ z%{CZyd5?Pc27X_RPm&_>)?J1C)ie~T!=QA!HtXa|$Mj|z3-8_PU0*9Yv9%l>8uVM) zEt(VRGRXqXZf)A2Cf<%pbjQ3F8pCp~;nxa=`P3s`T66o2Rvf}E6O?kHkrOj0&?!wt zw&~2^$GK@Ue`1?&{x(en)L`R&Yh*$I*@tgxf2EnUcQ z)Y(C`ZJV7_ZV9qIcP@PW#_V9Pwas1GwLhOEwgS`IXa+{jLTgEz*Wm7-TPMFFdu5Un zuER#BZ}&X__~9bdPy9^Mm;QAiQAmdMiGd(|&wI3c0!|j*Gqo>?4YD%fovWRd>2H4$ zups{Rvt3!nrOZoJ`TyzpQzw1VcmE`DWH03jngvil2A}0U5f1?USGf(!tk-yW0e~z}k=Zf@eNR8J<@o0JsE?drX1g?2o`)517^?GD_ zK$I>+F2^f0;kVw-#Jp9}wggZ_s7|V})^&LU#c_F_{R42rJU=kCH8BD5YAK zaH%#iTggxP7Mp(e%~njKx$h# zU(V|$tBSYBCv+9&o7y(H-rFM|IFw!tRljh9SQhp?6?4KAs897e`bW5(>VnMQL)r;p zf%mBi8*1rArGW)4o5jgON#t1qx??txq_n(<4W0 z1FK6LhW%&zLPMtMx0~*2E*ZA5^!+Nu$Wppg(j1f0aKzrOrg^2af#OugB;@NePF)b# zJb74R*q5g=nVyNK+?os|3(j2EhMrD^U}J*Ocg5(@T%9t>)Uy>|d|r_{q0@ z)XEsbalWGj9uYjyHaS~j@Pf}EXq!9)M^7KRB38BZ!rV&d){IK|I7YXt3Wi1*{M)vYs-IHARq|~~ z$JawPvqDbts9rLu03z7p4~5?Y7GxsZKiUh>mRO!_4M}(GUSI+Qsdv~tAW^1tw zq~sgd09|9RW~b^LScfXVMrx6;isDrYoS8k}7)cRx+OHroLOm5jl*L{fhkOhK+}D(Y=ImCyN@H^U$-d3!seaRD)=fz3o_dn>(!#%;{<(q%KC{DD%&lRCu|6L1Q z<6i(dZ9blEAV2piwHKI7qCYu4apq)cksKd?t=I!chn*&km$b|3vSnOmL zl%Ry4rjWHgNm$IV-5XMDiChNK`9nKG-FyZzU1rH}%4`ZUMpKE56cU2Bw=^!5h{hd0 z;`a$4NNeQ8vNSr4yD80&sybX^lZNF1gtI>rv=_m5=FU%-ycmr<)P1zk0&_2f*lVbH zj&CWEi}N%PeOYBhT0zg(v3<)?!RQs-6Sz5gBo}G!UG}L z`!m|l*NafB^wE%)rm_+17&E@4vqoK54r2fVN(1)D{nTUF%TCkZ(jh8vl0)XPjci*^ z&X8YRGw?bBXEJV`C$>*sJz9d33&-d6ot%tHtmGbCn>F3It9)2&N9bSg;P+*~a`-tr z_e%2OL|h??e^oy0sehe{(zVx+HL2zo*oGdd^%BZLnI>bfaTLat_4NJC35}CL*X?q4 zlDC;Lg1~-qAhvX{*PdjyQEEVZJ9{$wJ z4EKkOFJ~IUQ!$Ii>ljS5!EE;wtr;a{SArSAd=I;@=39P4*7+jkkZ7J`thQZaSC@Vy zWdWBv$=LWTFjj{vdk=pM)>5rKBp>Z(@#TWv%i#}8k~W2M_?%l_F81EXppNT| z|3i&UyP7RdpmpLi=U_mOZ8w%tm<-u28rWp?0=zLzS!BiNU=w$TC2BYN*oy3=H>RO# z!Zt=__tfx9chqbE%^*v__D-rgfBEV2(9EB+A9bLv4%h!_+)v+_H&qQjT1>Wzel=CR z#NOn5C5#N)-nof_;^^#WUe&oS8t%$|cuN0|DTQ7*H(nd^;zgjptJ&vY~4`>aeK=m zPrnqjBZP&h*HdbTU+g6-j%TdIM^rv1v@X7Ub<=>MAxr{B1@4klT*Qy?CD(8TaxQg< ztuiy`?QCG_$3*A@vevB-sIv*^XT(7ogi`zjrC|S6>*|5)g9Xqn)lBn^H@f;DKD<8| zBy+kvHLs@;h?O>TWRl9MOOkju*XZ@%$%73dndQ|4jaB4Z;Oci`e~r0cnQKA*-x%+$ zX`_~~*}h2H;4qgsab-y=i|d+u0!Z1W=pc!ZuQPr+;%ljE1o9_KJICyKP*=xyo7T4* zno2P0^hN{d5@O0o;yy#gUBLY$Pcb@`=j5Ybe?8+zv%S05(VaF#Gs-WH!tSurD(04V z&ly7V@PTq;cYyJb<*Z4YVf37$;_%rXF>5N$M(uQd1AJqLmwQkf#YDc`sluU;JO?<9TK)Bgip?%9gYaYX~5?|;SLl-|R zGF1AoEyfV#>AT{HP)|Z4V@h!_{I$x#l@vSogTF7Gy@as6_HoVVi|`|XVOQe)o6`wo z?v%2~j%8E?R;6#(AZQQSPJaGU->6J|+^%OGd$XU}er_V+DuH$iV?-j|6as%q+Piko z>1gsLb$@90I70#qLKem9oKZUDpUmmluZPEkwO3V+nW1FrCZ>8_GpZA+S|Pz+3CvMI+rqv?3#ieD=E z9Vx5pe#PFix5(|}?QBtc(9P>E&$UW2e9&}*IF#M+=6EChTAGx5#F8AM+%Vu{gH|wc zn@qrB8l{%lhRATuAk7p;q*A4TA$TSASJ_G^5m<(qeQ148O^DTSvB(6YQ4%F!X>+7VQA;jUBF&r!?oZ+6XOWw)bR z+?r5!$dahpIe{NBw^o>w9)d>t&|k=k{XI4u2upI+3b1G58--D4&o%zbV1ig^EkzD_ z2L_A@!-+iszVmYb7slFa_0uU#dE{L9jc>bfJ5j;xzKlrTcz(s}V-ZVfqQ#r$!Su+G z5x(tm9F^a|!+0^-*fAmAZijyid+*vcjhX#_yW9A8pgcJuYhBP!!+_#+Q^&FB?(dL0 zE;X$N#aWfY?pCM5)VmVImjOoUxX$qU=+Xd>xQ6$yj)IgIvo0#Nb(GmxE~pgkA)|mZ zsa90Q215&tB0l6oGt&)dayHIOF@b!q3_QOx`4GU3Pu)|{9aA#Upqhoty5p)PT6k#O z`5N}d;{7tj`}sMsN7|Lps*=2$I&{KF0Y%17>6tzuRcZBd(fD-#s|~>xT@?QH+C=GF zDL#Uc2A>il1~0Uk;&w`i-MLV_(m+Zx{gPn+m;|m{_U6cZ$4QS%l47uxU06k$UReua zfFZwUtn$EJF8&?HA5L=_9tX^@F-a)jD=DcB*&pae*58s7t8 zk$zvTtdTwDmZ%?Gkk`avbw2NuX6t&3gZDKh@sSisYNMHdfYG`=F-V+`7|VMO`V*a!Wdd;lbQ*6DpbgJF z2Hvpy9@Qk=7n#ED>UvH*w5It^$9#{o}^r^vx}6*QE0@3m~`6&}lG0=+ZwYqw3G@j0u8E z6{}YdJ{@3wk$$hwuKfYqe|H=ygL)tC0lOBa+m$Tkh?)XK+~8^+MD@%P(t`J44u+eM zcV;b&u4iCVlq*LnA>h7jg*ew>7~X`{Bfk;W&>S6Py8*ght8oF=X`K4bQX@9-Iz}d^ zgN8(n(`D8r*x@#A)^ykI8rB5AHLv4f`p%Bg>1aVRU?zjSeJ{k49!$F>31!QC2jqXS zzJ?*g)xAmm#;Q&+eied3#-x9k%X|fH9t?qu*wd%)CrMTDcTT9vWHD3F5!M#ED1Cf~#Bf{dQ#oebHuuDcO;gY~gujCiZSa z-EU4j(8KNZ%H*v?J>CTOj9K;%YXr@+Hyfyv#OV=bbOIw4gcpKaZ~nI_-BA?*`DKNo zG%%$+fD^137;3SQU;L53vHcs1{I-WV-;ZUEMy^$3#u5jS*N_Pl59Q#E$k9yf7~6fa zNlgxK$MCPo#J)jomtFO0(RY8-&L4L}hm!a#$eZWTAqLVOyUrWNaGT-{Xb$D>zcirT zCZ==}O&sr(lO9zuyJzNPilA2IV=yO^@>lE6s8AvLJA6eTo)rhkcSAGc1(GySRbo{5r zbmpdB&n&v-UjO81?H!E}pO)tAQXiuXkwXch3KMh@PZnH|SF`_9ViZ?%;OFSwa|3v^ zKz6f5B!0UG8~L|WIkf)U@fE|!1lv!!qKyM<|&o7xeE5=m+G)?DVKZ2xf+C!iB5v6mD6g5^Coj!RXkRA*VW8NUpgb3BRVYbv`Q>#AcXiWFN! z-h`$QT4ZV*XTd=d`)ZxVwN&W6j)j*_`ny&!RuGFY%Z}3&yTD{?oIIn@< zb@K*)Rq6{n^YX(jyG&M;E`TI57kCv{SgxTCFJ-7Sh}~{`9J>s;8ZWpSxqm%pp@~%` zEYG8@^T~8RH6*IY^FN7EZRqdd59Mto2gsKzVZ4+OyE_bW@oq6L(gQZLrvLf$iGYCZ zr|~Tjy76{j+>*=A8-j|#(`Sd6z1Yr{b1ko$lc@GD3=RODbY86XNvz8Ol6$cHUtaoS zKJ{uB1;=q~ds(`#Kt|*Q{#KY_UGH8%`LFTgU?kZ#jG)qcp)q{-w|`Vui(T+8QDuDb zxNga+>DDU@ABsby9}gRG_qriHY`Xpg?$kDBaea=bfCWVCAPfS)6fwG9Ld-97v4#y{CS?u-Qbj3_2(?!lj=W7CQM0AY9CcJR7}G#EF@>r&SX zrHeg?CjMp6`IaH!3!#xFE_zoK!^U48@_-hJe{L*|W~GW^RUUfanb$=g|5@YyhGW_} z?oI@bt#u~{?@43ywBGxO9aijD+3evDkTddcePI8!+&e&yD6ad!#ICO23vw2E+9k#x4jo7kyB;myCJ7DLSDZy#Du}l2 zu6PWhDg!jv+nEO5f4?L5l|G+)J|H-}eV)BfWra0CM=Qj#@LP4|nLra-JM@kRFXVQu z1w3W|0S|8MMo*#n?yx$xAxV;KZ-=V4G=!Q!OBW=Dnv=r8{nskH8nX$edpASsZ_$0f zFtMt@r4Eq(Kj^P1RA)G+@S}ib5WN_!;?8q|y~S-7!-4Ha$adJ@#1@ebDmvj<`@HsA zn{V{e=B6(S7Bm<~W4k?+6=L1^b8_s+WcTzf+Ll)JX}sxWO>9m0c#~z5C_TB=W$~6K z?NtY!G6jdk_}}-F{mqqY`3W3&YX2Wy1&xULYH!DiB1r43K-*#+jpsJumx49OYblJS zU8Vg!pd_{%v;h`}xF)1ApO6&r=bJR_e6RLn;Qa(j!D>ke-xOmZ$USxBKok82Xm%F` za)U0=cwp&z|_{2LSsiX(F+*>2O5 z4gAy>ZY^5&-CYP0u1ewg*(Yh6Pjo@B%XtNKk@iyud78xEX`9xf?f>Mgxb~eI^Zs4j zZ%ewNA~biC&M%7(_KTgDA*V(0wOt$%EV8=WgSZN@o*s7=;>IbdN?_woUYDGgd8NO| za=|_aKslnKrO({3YIYz1fpXAxZePwYa91Pz)^`)>J#%%{{3WrI*dU48wGNJ=7jyM$ z^Enyd*!lyJaRHMv>@&3sT%a-C^UbQHxV=2@%tIMc>#F(<(9)a4jz~`XzoN|ujzi6s zuIYW2V9*DqbI_5s+vN!Y4|Tn-&0)@kMuxvWn@NJus$Mml=?(_|x5U^|c}M~poiZt_ z-@P{X<6$UM#=Kb#>bKdu(7&;(+_VUzj5feE^~GKhWlq2?79B23T@=fK*yPEHCW5Ep zOf$~V<{97irIztsX`ei%-BULEmjSBp!hEid)eMz@!mt%NX&?Jf4|hidlI3w2PE?IW z(tJlz<79=DK+vA)rX>5NGSdTYuj_gU_OnCG7z)q6ZmHbxYlEqg6H(0R#tPi;{-7An zX0h*+r3dJ5&6nR<$J8FbP!q)H{aYoZ!|B6w| zvbmtv5>WG?>_a@1ejBnDJokgBB7QuqcHVN&`BF4x{AcLKdx$8#N6w~{aIky+004k) zOSt72uU|*?m$O@TnJ#~N?OJy)Caq%c)&kVUXK9BS_Ctfh&I8a~sO-iLt$tOnB%~>Vo(q466s-x?TWSYIFsFWCGA8U1lH+e$t9=65hZGe_I;(|o>Q(yxp?9>$mab+vuR;_)51 zTjR{lBeB6$_kgoPm?q98E1K+Ks@Kn+(X#=ck9_hk-qkSm$&5Trzd=jxN;p2K#tPDY zuJpcw7&Uvm6-m?>hW?7U;;KnYh(GeG@+h}h2I-&o6SiOKy0xI9kaXnO+}gj?<*2e5^%+wMt~!irD+J^Lnq1Wbvvn*p+U6LUxqo4f`_@n0uFGwmbN>>vUzP6^Y_Jz>YBCg~ zd6dH*_}gBF^?|y;rP|Pv=aNwy7j~^Au)PR*)oqu$Pk`RYWoqf_zMWWA*YUxs#<`^Z zQ0#(T29rT0=o(7nk>YL5le~_PWzXAU-84^Sbm8meTI$k^&y}o`uzJtfkMyU$H-an4 zP?LIg@RJzm?-R+B*qcv_x?s(v^V&dV8Yjb(<#GV%p%NrTx3?vZKJE`$v_`T)Qcg!r z#?@q}!Vc=<0+6iKeC_t@$o?MDa5?k86McS4;X)a)jnwz=9$hd8XwrtA@33XymMl6Y zrjKBUxvsC4LD$F^FzuH1D!c%&r4z_>;~W`q*`jUuzRa>3(#*A)65q2Go;@yq=&FZ&d~J4As*JH2DRe!X;zV$}C&_ea zF11|t#vz+G33T^& zxKq@EcgT@dRGP7j_YzKLbTSAiAy#H^DxyKyR=(!f?ddGNH+rXWf|+FyTgr*-^v{&2 zS9hlrO87BD_G$Vj;9a-`J=r&zsiw6v&uIm;lq3*ZG2aH=oAay+qB zkdwnU+}K^@R+T%zG&$A3w{_-Kr%9T3$ zHD|s$P=E9FrJ@&LYyQ|35btjBUA=1um(Yq&chTNT*MH3rUaAkD^;j2nui5xI+;?iT zFU&jiAMThWRBt`&YV)W#4pv5WJ?Xddhb{kZzJFbHuhug`rOZo|oc4|a`7u1-8YOp? z=UdX+-id7>?qv>Z5@VA>Tu8?Fu(Dr^Mr^A?5MTdvZNGo8W`=MyFK9{LGw{R0vxnRl z&p2I#wpCog1PWbt+Q&6#c35?*um&)4}M&60s~tHy$K??%C%36KsakQE%W5^6ojcyn8D!T$}JUwn`MF5^`Hfi(*7m z_@z~JMfiuE%QG8uK4W#!z59p9-tF!GIQJ#zOq+Xd2(vM_+`#Zi2m1cL1J$gQ4If_y zxloWOKn_K>cJ}ed3G8Z!%4=Sf=Q*KTl4G$|I7|pXxU6@S=KPLruZYydH_4~fXC9v zigJPTilh$tn;}0gO=SFKve!NDIb4oLf4<;nzhAfsiXx{CcoVw;!;Ga{0E}CZ&b4on7tQNiiN*WY&%%g_4JNb%$R`z z$;NfJCQ<3XccYLO#gCy%|Gi4tlTVkev5R40{*#;N?_6+R(E!J_f7ksxkS2y3?zSqv z7y9Xg7qvYgj^AJWbtm-^p3N#JUd4d;4F)TDafKjJp{U?E9#*`R%OgP6$DvxtqonHGZ=0TrgM)%6Fm+yl#q1GV$0&aM{i zGRn1G2bz)j_*>uK&L15=xD?qO*;vKX31Kh(4^`*=&Su=ce`;@~s6A@ds$DZw?Nzj9 zQB}2ys;VGFYqjM4~Afx*w_4O7*u~%Ou8vkLs?T4mqFCjs=GpvK+ggo)%)t#9~dD9fk{hZtOpSRE_>UjCFG+1u0ilH4|Nr8mpGBlBwa zNlU@_^KcxCh%dIgh)6G;GHFnd_97A7ftRQP2>>keNAT7t&7l)SE|jcAW-?_PP&u59 zQ>otOciz)lTMLtZEZjOT%E9Er;gP2Wu&D@JZMCxr57}%HAzGs%`Uj-Jn9g-Rcq0^kSSt`+t)UNcUS9k7scTnZX?9(;0bfB)iB_Lz zYb!D3t@1T~MLQV{;$(@MVDI8{>(`I^wG>jbeH}jQvwdBF@Q|VxZf}Wis0lw>Db~FO zf{be3fi_B*lyRWhC{MB2A8R|>EufzwM0Xt7z>MZLPZD0jH^rH(C@&df2m(`F!DOQD z5pJQ)24zMfe|V`Xs!!5;^W_j7YL44GGk>z|+;~k$#%vzWUSQ?NZi{t7cvM5_YQzr7 zV80lzLq&;iWh->*wy~nhUuVvNKU7yjoftl2Glt9#gSm_HE7pV{R!$l}p8h+2A%k)= zcG}QJbcmExffRh+qD`a$!!|gtEx@HNfgQIG-`^9nSz<())A6k7k$o2ESd3WBMa}K; z{jh(F>eRxojX`ivVa-}>NKsxY=*{i?ZN44~E>_@uv`>Ln)xqUWawO-xe@`G6mB zX9DgIx-W3i_J1+2vs#$xFPk^aQsim!95nUT< zFJp(?M2UK!{N|+^JPl}RN{1Ad!HPlFO2X*hV$b0qVAuj>y;w+3P$mg8Bkyh${ zo@-A z&FbB&;DLY`T%kYvwI^tthv|2FCcZk`xc((^>IaN6e`mP+rrU7W3C@TLg$J5l8=s@a zIhB9x`R|DoL&SsELXklckWJTttc|92p2vTOM$cX*aMfTw4s$NiOxZsin{Azs7FU|6JVp{{O$B)BU_A#g~R|x z0M=$3{K_)N;rZr^RIabe4?&?+hg(LVk5*5LTc4sy8?p4UTAxbyf{laUVNdl!6~WyJ z>XoSNV)Sx}59}E7%D;4VRQmyx2G%bMa`V3dI`fyfw9=lcqC_@QZWr&~?yk&yaKk@R zL^Of7`)71;j%y}yCe*~Pb#$V~NtqnPfrNK;u9QC-{^80{uAl~Fxgm%l24rLvuPtHY zl=TQPnI%6PcgQ6Z`SQdMcTlU((y|uKpSWaDT;maY#Up^<5bZXj$|YzGGDL7a(zO(^ zABtayfUPwdIr(jSQ;O+0eN8lR{*-+#)ZmGMul{qo&I|**)tYf3x0juAcmT#K}V>SM;WrmFuYjF8#Z?s(VJL ziwG0|Wev87$@23hypz|dB#-NsYkjDXS3A9;O{u>SGB$qeJdTulN)3GVpwFIgXtxcx zXM|c}P&XR*YjARe(RRR^c$Nn z1drYXd>vq&+LMqpl0d7xKcwzhNRj`LcW^pW@7tL=``e(c!fYq~kFSfxY7#o^cOhl_ zdt{4-C0u-m9=YNe@|#uusyQ)mpkV@yqnl7%T(TMi-_&viLv3zlI*l{Ul5rU^2Nc#1 z8-W8O7--jn0$*{v=}eb(QLn})o-IgD=5E0A=!-w_@kTvfFAa}m3*6;!x=4NM=jr_b z*j>_C^0z!~PgyKsH368DI^BRkdf?;ETemg6NZpexKv`Z}8SElnc&73qfom#%OX-%* zFS8W>SSN0UGv`5n1KS|C}57VwH z^u~O?8|q&1f$wR1B@7$G4_9a&i~VI1!Do{p((H*#oBpMJ0{2w#f$55YQkEW$R)`tZ zSsYf#^9#TZ9;X3HVLoYoou_f^^ssx*il6a)j9RkV@kdfm(v zA&x!LeEe?0Y6LJXt>8Nu^zb3Mk5*R_pX};p0JAs$QD4zz(-r6Bl2GgLRZPSWz`EH~ zkT`F*h_p81V(Yn9ei;YpwcIXUn(j@Q9lAW3G>=)#`mx-y|HFLL@Z03w#{De2{)(F8 z7ti~YG6u}=Ql}Ubus0~yZWEXx@SeB6nlc#W;{~RCo4PO|Esp9Vy{zm#3AU7*@;AHs zlIyzMD64O{g~`*GJ_h)qh`3s)LID9$A`PIK~a zuextWy`(74Abz)>N1KZUN$C{(t`<-J<+|;FZhpY*+N7`_>DK4QqrSy#9z@I^9PmW1 zhn>JF2y4x|Wks9y;epA5iIAIJPMbXgF_2S7J__ROFA*TtFO$fKa+ehILAn9cNn-Bc zqfW(f;JC%sM$yBWnTH@VvhA_AY;g?7kRU6`qT}@VUm`l?7YaMoxTt7kz-NH9e2erp znM-M&)8&23^-}+xC3-Z~F=UEnWgSjaG7uVvM|f7UQoc!T@Z&r)?#fJ{vtKVTMf++I zCmv<1Urp^qMD8yEO*W$dC*VfE#- z4-R$>zF5HzQA;PD#$WL36O0I@BpVN5>h#w$8f$NVB-=&RxV?RR(94@wX{Vl8=Fys(W6>_xW!&9|uP+isSX>m?|vxruA?v zy-QqUDOhidVxu7t^Zv+;lZ?z>o@dvM2J6g-Cd{&5g*w zydhXQ=IZjM%6v=01NDY(6R+QaHnN^I0rC2g?Pm#CHihcD&I_52=Ttqqi>P^QO%3lYu5Q)v&d zKhjN{bdJzn4KiOhlqF<$VpgLq>kyx|0lYbVW%YVH_EAqz=3A&^Nd4jd{ysYA9Hd(g z?UMAp7k*}e((4}v3f|W^Ymo!4-^(Vx1RmI&7aDF(7S3!R!yEhKdfEi;^Q-)h;C9)_|78o{Hh+3#B)1{K=y z#D?h^hL4Funmx3(d9%)!5(CktVLd$R*@1%Cm}; zm~Y=&SK?nR6SC?ZzsUV?X9LfB?>#!|oqUI`(nqlTyF-1*-pdeji`|DRQHRgCQ63bw z;XbX}vGQ+zlh*t`t=uV;MjyI9{pOmKkOc`u2`~kAFXnzlx-r{DZBZ%*+g>h<%9rzE z-=J;G#JOPysEslrC@#4*MUvtvFZ>7n zA5^)o-9|Ce>SnFo6+J=t%6B`d#}w|?jK%c_Pq_Z@OhKEFBn7p^eO%hxfVGJs(>sMW ze$&+x2mdwN5%i`$>>WHCil8M|S^}Ah2t|A*-OxEdowuRo`1Ahy6Mrl_s9U(hoG`%K z=k`nD7{Y*(%#Diqd#~rurJ^z%pyLH@v4yV zjZ8!{1gdO$-3Q`(+o;{tp9{l=KfKbNS`gDZ*`3^OQwk_7N~`z7taXV4+!Z)w>G$A>@sxqQGVQ&9j|&mT!9mgACcxMgaHSQi8#ock`6-il zKgFpwLf~;rjOd7I!ppRr$5qA*@Ny2W(nn|f16BrCc?Vahw8XTQsHzL4?&=?vMzR-6 zO~X*bErG6)40g0w`^E4qc~pe;yBq2*(;L1?ew}(y`){#5q3T|&>UYWLAa?&Y%;Gel zE(F_wHI$f-i^U=`HZ3oogma{2{iu=K2@pEdd5i`a;#f8#i{jdXO+HnFs__Xah2g1N zSF|km+E!=VvBRiw*F$hZ;T=7Py&dPaH zpE-rVIQI(?@wK9u1~<-bm%4Nh^CWoEVcZ|w9mIi%Ym`>nh92#8!KWLV(cK*i<0Z3)){3cLcraANvqy@GScz`c%pouL8xH0#|6Pqs*6dx$ z27`}t$5{F<-!q|;ye^mcOD@TS0EwrGe~plU?`jJYwL??5)s?`!jh5BtrnRU_?>jE< zu309~iU0Eohu&5CxxW7I{a-{IO;n@*dvLVUI#2BT3b-HJ4PXzkvR|p>KZe8`oJoO17In;QG}|GhP?ExSESBY*8~x z#XS`3@+<9qNdFu!6`4vde{7HbKF9*~!WplBi7)%ucZvCyWPUAg;oA|cD(Q9iLf~!U zIx25Jc=`Zwc|$Jfduyto{{f{DM;;I?1f@~>Yrj@dj@=-JK{vlvPAriUl;qQHm0O-W zqe5;YZ|Hn_D4h0h_#Vj9d16M=p58m3$B(-HZ^e_?>1!XY+y0$}OkW*PYvl!$lH2ok z^|Akge=4ML<>OjA`Fv+_O}}+RJzQIy<+(VDFLHOCQZwrHLL+`;PTnbxm>(|7A^#v% z8g*=%t#$jy1~1r0hAebX!)o8yMNI0LUb_64Xgm%bP!tqqhaBAJ3I`Tq4RZMA}d2% z;GpnPpl%is=9fAo;>9IkIwBAMV`I?6S9G2QA;~6oYhba*Weskhhu*xUZ?t1 zz_Y}bX%`71xq`^ird_Z-^JZQ&hWR#6P{T%Qi*u~l#;zC?lZiP{;A`|s5$*W$GGn=w z^f8Mtzg*p=m_p#E&J=hB396+8Zd}Y=bp{}T1%<6qCXxGpmQGZ%S3l<{1KQ#TH>Q8*jDTN!Ceb7j~mgD`g z)7#HGtl5KT@j8Xnd1y3Saz%pyYLqv(Zmm5oY9XT7HA{7g{j&yC0(bzrxG`%`UYpm2 zRQ@hX=12$*j9F?Q?NfWOg~!ZQoHTq70)7l0#yngC;KpzG&ZK!V5gzLfDhe(2~ida|e)R zd|f+9S#P}J8cNcawIB>IctcHGUO&XEh5w=BYorJ2t@kr=m16!G+|FKI`5x~@rL1Z0 zq_wegVfP34T4Tcu_R0ik2Z^y#W8A$AKu@}ka8)~kx=Rq?Er14`7=(j8D;(use-|ev zCz!VpFd)sH1F`!wAiwm#qjhFp7&U$=W{=Jr1Me-A82h#;17wufuJ=TWt5~paHxBIh zlyWQ#0euUk89!yY)J+P*-C!fw)^ACm2++&Q_56aK`nlMj6i~Rm500L}JCR9L5|qYx z+(eVCGZKyYIw}lY<&>z;AfkYIXX;J2zQ8ZE!`J~ZZ1KWlg?TkwsV&-$=%WP<#89N9 zc54$hN@T+c>J|&hCNdst*iY5{?%#n#Q2p{ehVUoXbD~Pg|E3=DW4rY=OJSc+!~gMu z*6jpyQCL=Rp!A-Id#BOlHMrvPR_X9NHyJ!<_$=Z^Qs`6ecE>gC;*TP*hE1;9-xc8P z@-jryKCPvHw{`R~@LpfTRHptMT{(~lv2JB!M@XrKsTq(!IyD%kdNh}KSaG{rItm!^ znPJf(HnfT@h@JeOO8-d#-1Io-SR3f7^9fER>Q5bG1qZ(!)zhmyhFsUKcrhIMg3lmQ zS3g`%x7S=&v|LQ?@>Mh+}cTiv#@ z7ov?C61&o)ajm>VCurTSZAD*cx-b`Mogo%f6&xCh@9f+p8&|!ltz*>~k=d-U1f}-# zak&ssEj+0UkclVWhqc+vS~Y|M^ByJltVO*!WwEsoWx$0ZQ1ae4{l4&5k3u43_(HQI zV&0CuN+kNgHA93_r}LiiE+aO&FqROHx1g4pM(oR>C!C+DrabF?>uIAoLWV}(0rJZ# zK@FqR1-j|MB(j8&kK|INQ{q^5W4wXSdDz3O(5ZHV*{i>Mgd-D7CN?9zZVP~9a|V%E zC%VZ9_o|xdoJhUJf2!;4ZF!3Cvzu#!DTgOzeKc_}Ex0fU>yVi{^bh#z-m>fa;$_oA zdVwO5{pq`y@<$KaUyn7aeSO;$W<{}vX8guq>Z!mhLHuk;rQFVK?s(>U#O>0^70Jvv z`Cj6%7%{QAvL56Q!sSJe{H7aR;nVTl)u|Acy?3d_ITfq=ZtC(RC={|WG`#vJ)*`5X zZM_v9Q5CtFvSDChSd}i3K$}n_w}+01JgNBI+|08k`$yRY0jtx;oUEQCYg9t*0JEklHC65 zYtqF9gZi4)Fz%ms@b0)Y!pzU51Gj!yb2h|M{ztUKqWZ*mL?DD3i)B1GVKM9KB_Exf0+(xfC4&nwxH#n$V(1z`S=ho$55qK)pu1j&=XkRscy z?R?&AwIh^INh=>nS$*;rKjMJ|zntdT2E+!C+#i7xg^{#aL2VBe>uYu>YJzxG(%tI` z!w3o!?D>opbf>lWbg@;4w%_T|#;4~19ku2TqFI_urm&jh0(Ge5`k+ebzd z>W`PL))P`brwZma=y^yc_%Y}X#pJWyP%b5-&afSSB$2B`EfiYHCbnKM?NAawOcTvKr6jWhYdmStIV>mo`il&7DQ1lM8Tl{#$JAePgTd+VT2W_u^d_#7#P(}2o98IgUMdn=RhI~Qr!F@X z>bUh36jx)h?|AH5PDE>?%8V;Mkv4fNja4j~s4;>T{ z-^dDBI`46@hFsSn&wfMm#mff1mJ|$=H$99^j|Z|oXmv1Leg;$9 z%xVCt7Mntgu%K6|vP(>3= z>M8Qs!P6UrlrCYy2zrdD+nEeib1Tmu?vaYWs(=u@^$PFgSkAr)~^2Wi+_-wq4~|-wU6phsTcwyiXw7yp54Lsa&^eQWr_@|+PZ#t zvU`v0c9iZ2Kw!>p_`RUYv*{2qpM=-D_BVUy&e&asCQyAIGh$?QuopQ*MvcMxBNQ{_ zNl~9|q@~Jn&CM)oaj3=%Kj6-dB)nHqz_EbaIF0DtC#Fuo@|S|gE5BrAex<(s#@KHR zi6Kds9f);)7ST9PEnz}e9QA7UC0*3e^UQNfLRthM¬M-Qyb0#&t#lo6^Q*M5|aX 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/schematics/nether/Maze_SK-Tangle_Open_80.schematic b/src/main/resources/schematics/nether/Maze_SK-Tangle_Open_80.schematic new file mode 100644 index 0000000000000000000000000000000000000000..b6de21e2c59ca229df747b6064c6103bfb4ce145 GIT binary patch literal 4260 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/schematics/nether/SimpleHall_SK-Arena_Open_100.schematic b/src/main/resources/schematics/nether/SimpleHall_SK-Arena_Open_100.schematic new file mode 100644 index 0000000000000000000000000000000000000000..05a8cda4f17363822c301f603e0872b517b2303a GIT binary patch literal 3051 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 ADF6Tf literal 0 HcmV?d00001 diff --git a/src/main/resources/schematics/nether/SimpleHall_SK-DarkPathLeft_Open_50.schematic b/src/main/resources/schematics/nether/SimpleHall_SK-DarkPathLeft_Open_50.schematic new file mode 100644 index 0000000000000000000000000000000000000000..9e742bbb7d0ee887059a13adf7c48d2ff53482be GIT binary patch literal 970 zcmV;*12y~~iwFP!000000PUR3Zks?9g>Oh4+iBD$-c;RG>Lc{$1yVaw7pb~Pq^?Pf z>`@#TVX7v5t5&l5GJcq13fN5W00s;U=UW7>kLQQOu?LWq6Y5{zO^pZLVRv0R8tINs zG`uAM006BsxpG&ZL5@b#w=dl*@keMm1Xn;E8~JIpdy9Uf43s?RSU znd9yb*nITEoEVlloa)THV&=X3>Z!#I^P4@KS#x7dhjj33HH5o;a<`hheRQ`kX@6rL z?s3e4KjyhV<|}{9qiZ%Xd(^ox9-a5A^WyD&2=_jQd!H!i>&)+K;P-X5$N3M!`D=81 zWtbCZO0T=rzZj1{&#b%qInle{*|N!hu342Eucat?v@H+&%wO(4tLPC`MPrQR!Zd_A zQzMM+lE0f&2CakA@3V+9+Vgt8$t8@HmM|8^#v&T)xt6vR+6D*0iztPjcP=Y~N2kCy z{w9}UroeNAa~pop)0EGR;}n+{U5t+sq@t> ziIulSVv*SFq)4n6yRC`Mp(3$JY<3b7yBWKJRr$E$8L5pbpK}Fj`;fb^j-7ZuGfm91_rE#HQTbmaw$aox s&xx5FA+aEis`6ascPy?7+DlFEL-BMA000000D!Wfe{K`Q8XcBAI!!RFYE!GH~i|69Zi<8x;C`MD-Jq0aT)(0njFai`N!&+rVQ zi(3K!0MHN)O3MOJ0!gN8vsr#D0HuL5ET|PQET|PQET|PQET|PQEC2zTrtP~0015+s z1}XtR1C@ZEfl9#7KqcU3pc3#iPzm@MfK=f3G++-LZ9lYKTo(WU0000000000h0&q* zrR51vnB&O{w>EXY8J_71V>G7L`N$a>9Xh=cBXj<>li*veHff?yXVLnno_OflwtGk~ zY*(0;XL!Q4!U+#Z9~$G!N8tsFT`}(cv<9YaT?`FjT?y+xSbJ(aruE&u7};a9Plt5y zJ1h}=J_Vmz@c9^gzM|dLJltW;?yTn7tmeyE&7*5Eu-eqRF(17T;eMGceTb6{JK_ep^| zXG3*iCGzMD(o^6yv?8}#0000|qS5hJQw)Y4z167oL-f5Nz0>J<{wEz5xBp7TU(dR% zGpF!u^qp8X-e*;^e9ybmYNgNSz^k#-y-*cT@>#y;XuZ#FFQ|D{ceT$dWK(Ii%WPBOwOHJT%IBaWve*Y8JN&`xbEeCk?Jdta z)y$UW=gG_I%4O?FHIIGu{0zscje35DW1CDJ{T%);KI5xAS?4btTWhN6=Z&81!LeW+ l`|@*{=UChoG?$7#hvMxP00000005;y{{i!=e}x^Z007Eb1MmO< literal 0 HcmV?d00001 diff --git a/src/main/resources/schematics/nether/SimpleHall_SK-DiamondRoom_Open_100.schematic b/src/main/resources/schematics/nether/SimpleHall_SK-DiamondRoom_Open_100.schematic new file mode 100644 index 0000000000000000000000000000000000000000..364c896a34e0e0735efdec0d5f9fc19c311ac858 GIT binary patch literal 1090 zcmV-I1ikwoiwFP!000000PUPjZ_`*5hHqWFN$PGu2!u3y)?sEbTZSO90I>jxwbfXS zMR2Yik5uMoAyxc6;h=hk#{{2=E8{_ zA^v_P000000Ge=izK0O(h#rKohqFL?9%5Au)}XOc4I-kb32Cg#!O}B59Rv|k?0{UX ziowz|3z`HGQ9M8)R{3D*+1Vo#hH;`%EX67dmY#hYy)cYXM6nX9Bv^V@9il=xh{Hs& z{LVZ}Q!!Y2))1lvkqaOfMRsg+rtRGd95*!&yzWwBO$hdaxY&dkgSa3tiHm!Nh~k5& zTxvq-D71`~3Y93PqI97N(T5mGtW>b*AeM_|La2z7jg<-(9mHaJO^6u8s#7dFi1~(? z;}nRMW>|C(vldqRq^Cfvjvk8+V$yV?vwaA}3IG5A04mJH^qn7hk>_srAHGh-?4uL8 zq35i(!g{loD`zIIzIbalx$JUxl{FQHw-is(^FJ2e_r+!to(p>udafTik+<>V8=i^D z%GtiV^`hO&r`~q)uYcoi{I@H|^FMh0x82#RjdcA_;oJ3Q>n_E)IQuUiw>$pW9WQss z+uiX>bU){d0p?8hX_w|SKYKU+R9Ii!+h`v5W&i4R`s&a0)n6jH*Ync7E_JNDBWBy zAsHcU*>Hqz8|3=Yw6*O)P7zO1BP!dt-$-@i4_nto1dNb@Bt;O|LC|OfKgX~;uL!P# zO~b&!3@Gxm_}6SLBEKwZ8~crDBP1iTloW-W&*zd5GMLMGGUibu_&NAhDQvJq!Sy`j z*Q2sj!(IC7XW`r(u_z&8Lkg*l$o0G+a?h)R*yYMjbCnl?9TPMd!Op?2N@0WDiL~d7 zytpf*Bnw=2t{sTS?#Vsj?2~=Mm3rP3VuAGI+HirLM?U2Av zsfSuSEbO9c1iA5Qu{0C-J)GvS+o%y_smkRYNZ^x(qlMjgjUbC#Y)HofpQVlvwp2BO zY)8I@EeU*E@O?P2hi!+Fz&Cz@GHe5t1pZ9}P=;-JAL8Wr4Sh%( I{OQ`=s>i@WgB(0VeyBJnxYfBzgZhCtpSo4eK zFP*zzzGhkXNq@Smc20Gl)H(GfHx|G6@vCAAhhm|}-P>^s&aH^``CH!p9<7` zIMp!y+{$VOfd#?efkOHdC$FsT2%2oz{XKi>%tT)nh6fjyo=eTxa#1TY<+<#ux{tk5 z+4VC5Ue`#l*G=zx_a)%$y|NkmR$ohWwUJk@t3bv z&fmOm>Yuga+3QEM=67ey-FfABW8t;Avu2dvEI!$PZ@Rnusm1*!r;EDQTvj@L`|+RU zPyg_3%@46KVBD!!dj9uc|HCWF=L^h@eVZN54E5&$tHQg?SNKH_xZT;szCvEBLCWIF zzMv`r39I52Uwyy(I$YP=nqHro@ZUbVaNQxHNm^>2AwSP^<3N}aYh z=c-IRGVhJwB#$KjGIdXtjq1B6t4z8v`L3ss=bMx7R613@rIe#6zxb&^JMG``OG*A7 zzv3sk+$>q#y3>8OUT6Ls^Ume!on5=N-F42HM@L=#G5LGWb`@KY;4`=R^Ln4vab-^r zGoPn>W|dT zy&rET$awCbnf~aN=P8Te#dj<=zxJt=Ii4UF9kh>o#-yMgTSK2<8|yxmv>IbY&J;7f R&o}=vPT;tHNT7y+0RXFrMY;e0 literal 0 HcmV?d00001 diff --git a/src/main/resources/schematics/nether/SimpleHall_SK-SpiralStairsDown_Open_100.schematic b/src/main/resources/schematics/nether/SimpleHall_SK-SpiralStairsDown_Open_100.schematic new file mode 100644 index 0000000000000000000000000000000000000000..e8873176870dfad1795a2597b1ece50dda519cdb GIT binary patch literal 730 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 Maze + +? -> SimpleHall ComplexHall + +-> Maze \ No newline at end of file