Fixed limbo return, schematic crash
This commit is contained in:
@@ -73,19 +73,19 @@ public class SchematicLoader
|
|||||||
public void init(LinkData link)
|
public void init(LinkData link)
|
||||||
{
|
{
|
||||||
//adding default pocket
|
//adding default pocket
|
||||||
String filePath="";
|
String filePath=DungeonHelper.defaultBreak.schematicPath;
|
||||||
if(!dimHelper.dimList.containsKey(link.destDimID))
|
if(dimHelper.dimList.containsKey(link.destDimID))
|
||||||
{
|
{
|
||||||
|
if(dimHelper.dimList.get(link.destDimID).dungeonGenerator!=null)
|
||||||
}
|
{
|
||||||
else if(dimHelper.dimList.get(link.destDimID).dungeonGenerator==null)
|
filePath = dimHelper.dimList.get(link.destDimID).dungeonGenerator.schematicPath;
|
||||||
{
|
|
||||||
|
}
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
filePath = dimHelper.dimList.get(link.destDimID).dungeonGenerator.schematicPath;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
this.schematic=filePath;
|
this.schematic=filePath;
|
||||||
|
|||||||
@@ -2,6 +2,8 @@ package StevenDimDoors.mod_pocketDim.blocks;
|
|||||||
|
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
|
import cpw.mods.fml.common.FMLCommonHandler;
|
||||||
|
|
||||||
import StevenDimDoors.mod_pocketDim.DDProperties;
|
import StevenDimDoors.mod_pocketDim.DDProperties;
|
||||||
import StevenDimDoors.mod_pocketDim.LinkData;
|
import StevenDimDoors.mod_pocketDim.LinkData;
|
||||||
import StevenDimDoors.mod_pocketDim.mod_pocketDim;
|
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.client.renderer.texture.IconRegister;
|
||||||
import net.minecraft.entity.Entity;
|
import net.minecraft.entity.Entity;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
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.World;
|
||||||
|
import net.minecraft.world.WorldServer;
|
||||||
|
|
||||||
public class BlockDimWallPerm extends Block
|
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);
|
z = z + (z >> 4);
|
||||||
|
|
||||||
int y = yCoordHelper.getFirstUncovered(0, x, 63, z);
|
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
|
//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 );
|
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).setPositionAndUpdate( x, y, z );
|
||||||
EntityPlayer.class.cast(par5Entity).fallDistance=0;
|
EntityPlayer.class.cast(par5Entity).fallDistance=0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -83,8 +83,8 @@ public class DungeonHelper
|
|||||||
|
|
||||||
public ArrayList metadataNextList = new ArrayList();
|
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)
|
public void registerCustomDungeon(File schematicFile)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
|||||||
BIN
schematics/somethingBroke.schematic
Normal file
BIN
schematics/somethingBroke.schematic
Normal file
Binary file not shown.
Reference in New Issue
Block a user