From a2eb4cf5244c0aa4a45d6e84242d371852c729a4 Mon Sep 17 00:00:00 2001 From: StevenRS11 Date: Sun, 16 Jun 2013 01:44:05 -0400 Subject: [PATCH] Fixed limbo return, schematic crash --- .../mod_pocketDim/SchematicLoader.java | 22 +++++++++--------- .../blocks/BlockDimWallPerm.java | 18 ++++++++++---- .../mod_pocketDim/helpers/DungeonHelper.java | 4 ++-- schematics/somethingBroke.schematic | Bin 0 -> 1041 bytes 4 files changed, 27 insertions(+), 17 deletions(-) create mode 100644 schematics/somethingBroke.schematic diff --git a/StevenDimDoors/mod_pocketDim/SchematicLoader.java b/StevenDimDoors/mod_pocketDim/SchematicLoader.java index bdc672f2..a3041d0b 100644 --- a/StevenDimDoors/mod_pocketDim/SchematicLoader.java +++ b/StevenDimDoors/mod_pocketDim/SchematicLoader.java @@ -73,19 +73,19 @@ public class SchematicLoader public void init(LinkData link) { //adding default pocket - String filePath=""; - if(!dimHelper.dimList.containsKey(link.destDimID)) + String filePath=DungeonHelper.defaultBreak.schematicPath; + if(dimHelper.dimList.containsKey(link.destDimID)) { - - } - else if(dimHelper.dimList.get(link.destDimID).dungeonGenerator==null) - { - - } - else - { - filePath = dimHelper.dimList.get(link.destDimID).dungeonGenerator.schematicPath; + if(dimHelper.dimList.get(link.destDimID).dungeonGenerator!=null) + { + filePath = dimHelper.dimList.get(link.destDimID).dungeonGenerator.schematicPath; + + } } + + + + this.schematic=filePath; diff --git a/StevenDimDoors/mod_pocketDim/blocks/BlockDimWallPerm.java b/StevenDimDoors/mod_pocketDim/blocks/BlockDimWallPerm.java index ba7c763b..e0c9a979 100644 --- a/StevenDimDoors/mod_pocketDim/blocks/BlockDimWallPerm.java +++ b/StevenDimDoors/mod_pocketDim/blocks/BlockDimWallPerm.java @@ -2,6 +2,8 @@ package StevenDimDoors.mod_pocketDim.blocks; import java.util.Random; +import cpw.mods.fml.common.FMLCommonHandler; + import StevenDimDoors.mod_pocketDim.DDProperties; import StevenDimDoors.mod_pocketDim.LinkData; import StevenDimDoors.mod_pocketDim.mod_pocketDim; @@ -13,7 +15,10 @@ import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.server.management.ServerConfigurationManager; import net.minecraft.world.World; +import net.minecraft.world.WorldServer; public class BlockDimWallPerm extends Block { @@ -62,7 +67,7 @@ public class BlockDimWallPerm extends Block } - if(dimHelper.getWorld(0)!=null&&par5Entity instanceof EntityPlayer) + if(dimHelper.getWorld(0)!=null&&par5Entity instanceof EntityPlayerMP) { @@ -74,10 +79,13 @@ public class BlockDimWallPerm extends Block z = z + (z >> 4); int y = yCoordHelper.getFirstUncovered(0, x, 63, z); - + + EntityPlayer.class.cast(par5Entity).setPositionAndUpdate( x, y, z ); //this complicated chunk teleports the player back to the overworld at some random location. Looks funky becaue it has to load the chunk - dimHelper.instance.teleportToPocket(par1World, new LinkData(par1World.provider.dimensionId,0,x,y,z,link.locXCoord,link.locYCoord,link.locZCoord,link.isLocPocket,0), - EntityPlayer.class.cast(par5Entity)); + + FMLCommonHandler.instance().getMinecraftServerInstance().getConfigurationManager().transferPlayerToDimension((EntityPlayerMP) par5Entity, 0); + //dimHelper.instance.teleportToPocket(par1World, new LinkData(par1World.provider.dimensionId,0,x,y,z,link.locXCoord,link.locYCoord,link.locZCoord,link.isLocPocket,0), + // EntityPlayer.class.cast(par5Entity)); EntityPlayer.class.cast(par5Entity).setPositionAndUpdate( x, y, z ); @@ -121,6 +129,8 @@ public class BlockDimWallPerm extends Block EntityPlayer.class.cast(par5Entity).setPositionAndUpdate( x, y, z ); EntityPlayer.class.cast(par5Entity).fallDistance=0; } + + } diff --git a/StevenDimDoors/mod_pocketDim/helpers/DungeonHelper.java b/StevenDimDoors/mod_pocketDim/helpers/DungeonHelper.java index 1c915e94..952d8f89 100644 --- a/StevenDimDoors/mod_pocketDim/helpers/DungeonHelper.java +++ b/StevenDimDoors/mod_pocketDim/helpers/DungeonHelper.java @@ -83,8 +83,8 @@ public class DungeonHelper public ArrayList metadataNextList = new ArrayList(); - public DungeonGenerator defaultUp = new DungeonGenerator(0, "/schematic/simpleStairsUp.schematic", true); - + public static DungeonGenerator defaultUp = new DungeonGenerator(0, "/schematic/simpleStairsUp.schematic", true); + public static DungeonGenerator defaultBreak = new DungeonGenerator(0, "/schematic/somethingBroke.schematic", true); public void registerCustomDungeon(File schematicFile) { try diff --git a/schematics/somethingBroke.schematic b/schematics/somethingBroke.schematic new file mode 100644 index 0000000000000000000000000000000000000000..1bd78ea7743743708d6cd75d26b68a7eb3452bf6 GIT binary patch literal 1041 zcmb2|=3sz;w|DRR1$&DecsNlbx~!&K?aoiWER&CitbLzMb71D}P%(Kq`KMOQPXjis z`dja;O0sX8KK?$pW5+ptb>H+&lbp4;WWN7=@#Tlx4=YNpEP4K(|9HD*th@@;aE52L zx4$uKc-`K1yN=^P{nMx0lD;Ljx;wHV;jH`C>?9-lA60H^cdKUHndv|K>Pq%oxU)vq$ z=`Vh<_=Neco&O)WNnb5kEMMRAsYcRO{^-7om+OIsYUPy}|BZ5g>?R#ryf|Nei*#`Cclq z)&^+5`n~G(Ew41b_0E%oxB~8EW%FAr)=dPOeEmeP*{W=ygRhzvE$)3Kh3YeevK0%Y zb5pilMANeCr)89U`{K!$3vb=`UcayBT)Vv9vBe)VDz4s(c|Z5dqt`Dgeg$tUdtZ0t z+Sh~r3|`+KYldh|_4?YcZ5_2VXyv1@vMpXqgO09!lQGq6X;<{r{fn*R{?{)ES{dTM zE^Tk5%*~75s}Ck@SkhH>OKa+?Em_lK|9*K@=BS_d^1|}9K`XshZ+i3MU6#T3-#(&W zw}fhiW`<6ay&K7EWmmmo(Y$S5OSRUX+O&B0s)LixH_u1n-dVp>>s99JkX4sf=~(Yt zJZs(4-QP=j#8$0<8`}4(PJ8)G`@7+R{?SW=riP{7yeND1&2)2+L$|KeI^Fkf)tOQX>twa2X8i>^aPO8+weLf; zuI^e5RPT=D@WoJXg7gNu+U8F63XPhY>i!+cFV!Ik2iYRIS1$C*<*=0@OG6{eO8Sxf tMuG9bcv@N&a`PgP7TvySaj4c*t-MtC)gfA;H?;mT?OpkQqMHO00|2tU4Wj@6 literal 0 HcmV?d00001