diff --git a/StevenDimDoors/mod_pocketDim/SchematicLoader.java b/StevenDimDoors/mod_pocketDim/SchematicLoader.java index a8f32151..7cf5a326 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 fb02616e..c0bcb026 100644 --- a/StevenDimDoors/mod_pocketDim/helpers/DungeonHelper.java +++ b/StevenDimDoors/mod_pocketDim/helpers/DungeonHelper.java @@ -27,7 +27,6 @@ public class DungeonHelper { private static DungeonHelper instance = null; private static DDProperties properties = null; - public static final Pattern NamePattern = Pattern.compile("[A-Za-z0-9_]+"); private static final String SCHEMATIC_FILE_EXTENSION = ".schematic"; @@ -72,7 +71,7 @@ public class DungeonHelper public ArrayList metadataFlipList = new ArrayList(); public ArrayList metadataNextList = new ArrayList(); - + public static DungeonGenerator defaultBreak = new DungeonGenerator(0, "/schematic/somethingBroke.schematic", true); public DungeonGenerator defaultUp = new DungeonGenerator(0, "/schematic/simpleStairsUp.schematic", true); private HashSet dungeonTypeChecker; private Hashtable> dungeonTypeMapping; diff --git a/schematics/somethingBroke.schematic b/schematics/somethingBroke.schematic new file mode 100644 index 00000000..1bd78ea7 Binary files /dev/null and b/schematics/somethingBroke.schematic differ