diff --git a/StevenDimDoors/mod_pocketDim/RiftGenerator.java b/StevenDimDoors/mod_pocketDim/RiftGenerator.java index 924c08f0..7b7f36e2 100644 --- a/StevenDimDoors/mod_pocketDim/RiftGenerator.java +++ b/StevenDimDoors/mod_pocketDim/RiftGenerator.java @@ -76,7 +76,7 @@ public class RiftGenerator implements IWorldGenerator //Otherwise, create a one-way link and connect to the destination of the first link. if (link == null) { - link = new LinkData(world.provider.dimensionId, 0, x, y + 1, z, x, y + 1, z, true, random.nextInt(4)); + link = new LinkData(world.provider.dimensionId, 0, x, y + 1, z, x, y + 1, z, true, 0); link = dimHelper.instance.createPocket(link, true, true); } else @@ -111,7 +111,7 @@ public class RiftGenerator implements IWorldGenerator { //Create a two-way link between the upper block of the gateway and a pocket dimension //That pocket dimension is where we'll start a dungeon! - link = new LinkData(world.provider.dimensionId, 0, x, y + 1, z, x, y + 1, z, true, random.nextInt(4)); + link = new LinkData(world.provider.dimensionId, 0, x, y + 1, z, x, y + 1, z, true, 0); link = dimHelper.instance.createPocket(link, true, true); //If the current dimension isn't Limbo, build a Rift Gateway out of Stone Bricks diff --git a/StevenDimDoors/mod_pocketDim/blocks/ExitDoor.java b/StevenDimDoors/mod_pocketDim/blocks/ExitDoor.java index 1c95062c..98149d2e 100644 --- a/StevenDimDoors/mod_pocketDim/blocks/ExitDoor.java +++ b/StevenDimDoors/mod_pocketDim/blocks/ExitDoor.java @@ -65,7 +65,7 @@ public class ExitDoor extends dimDoor int ExitDimID = dimData.exitDimLink.destDimID; if(dimHelper.instance.getDimData(par1World.provider.dimensionId).isPocket) { - int yCoord=yCoordHelper.getFirstUncovered(ExitDimID, par2, par3, par4); + int yCoord=yCoordHelper.getFirstUncovered(ExitDimID, par2, par3, par4)-1; dimHelper.instance.createLink(locDimID, ExitDimID, par2, par3, par4, par2, yCoord, par4,par1World.getBlockMetadata(par2, par3-1, par4)); diff --git a/StevenDimDoors/mod_pocketDim/helpers/dimHelper.java b/StevenDimDoors/mod_pocketDim/helpers/dimHelper.java index 7e2cf21c..5e7bf63c 100644 --- a/StevenDimDoors/mod_pocketDim/helpers/dimHelper.java +++ b/StevenDimDoors/mod_pocketDim/helpers/dimHelper.java @@ -250,11 +250,20 @@ public class dimHelper extends DimensionManager int playerXCoord=MathHelper.floor_double(entity.posX); int playerYCoord=MathHelper.floor_double(entity.posY); int playerZCoord=MathHelper.floor_double(entity.posZ); - + if(!entity.worldObj.isBlockOpaqueCube(playerXCoord, playerYCoord-1,playerZCoord )&&dimHelper.instance.getDimData(linkData.locDimID).isDimRandomRift&&!linkData.hasGennedDoor) { for(int count=0;count<20;count++) { + if(!entity.worldObj.isAirBlock(playerXCoord, playerYCoord-2-count,playerZCoord)) + { + if(Block.blocksList[entity.worldObj.getBlockId(playerXCoord, playerYCoord-2-count,playerZCoord)].blockMaterial.isLiquid()) + { + entity.worldObj.setBlock(playerXCoord, playerYCoord-1, playerZCoord, properties.FabricBlockID); + break; + } + } + if(entity.worldObj.isBlockOpaqueCube(playerXCoord, playerYCoord-1-count,playerZCoord)) { break; @@ -265,15 +274,11 @@ public class dimHelper extends DimensionManager } } } - if(entity.worldObj.getBlockId(playerXCoord, playerYCoord-1,playerZCoord )==Block.lavaStill.blockID) - { - entity.worldObj.setBlock(playerXCoord, playerYCoord-1, playerZCoord, properties.FabricBlockID); - } + this.generateDoor(world,linkData); - //FIXME: Why are we checking blockList.length? Not necessary. getBlockId() can't return an ID past the end of the block list. - //Plus even if the check is necessary, it's still wrong since it should be less than, not less than or equal to. - if(Block.blocksList.length>=entity.worldObj.getBlockId(playerXCoord,playerYCoord+1,playerZCoord)&&!entity.worldObj.isAirBlock(playerXCoord,playerYCoord+1,playerZCoord)) + + if(!entity.worldObj.isAirBlock(playerXCoord,playerYCoord+1,playerZCoord)) { if(Block.blocksList[entity.worldObj.getBlockId(playerXCoord,playerYCoord+1,playerZCoord)].isOpaqueCube() && !mod_pocketDim.blockRift.isBlockImmune(entity.worldObj, playerXCoord+1,playerYCoord,playerZCoord)) @@ -281,7 +286,7 @@ public class dimHelper extends DimensionManager entity.worldObj.setBlock(playerXCoord,playerYCoord+1,playerZCoord,0); } } - if (Block.blocksList.length >= entity.worldObj.getBlockId(playerXCoord,playerYCoord,playerZCoord)&&!entity.worldObj.isAirBlock(playerXCoord,playerYCoord,playerZCoord)) + if (!entity.worldObj.isAirBlock(playerXCoord,playerYCoord,playerZCoord)) { if(Block.blocksList[entity.worldObj.getBlockId(playerXCoord,playerYCoord,playerZCoord)].isOpaqueCube() && !mod_pocketDim.blockRift.isBlockImmune(entity.worldObj, playerXCoord,playerYCoord,playerZCoord)) @@ -291,14 +296,6 @@ public class dimHelper extends DimensionManager } } } - //FIXME: Wtf? This code is useless. It doesn't seem to do anything! If that's the case, it should be removed. ~SenseiKiwi - else if(!dimHelper.dimList.containsKey(world.provider.dimensionId)) - { - if(!(world.provider instanceof PocketProvider ||world.provider instanceof LimboProvider)) - { - DimData data = new DimData(world.provider.dimensionId, false, 0, 0, world.getSpawnPoint().posX, world.getSpawnPoint().posY, world.getSpawnPoint().posZ); - } - } return; } diff --git a/StevenDimDoors/mod_pocketDim/helpers/yCoordHelper.java b/StevenDimDoors/mod_pocketDim/helpers/yCoordHelper.java index 7b656230..be3e878c 100644 --- a/StevenDimDoors/mod_pocketDim/helpers/yCoordHelper.java +++ b/StevenDimDoors/mod_pocketDim/helpers/yCoordHelper.java @@ -67,6 +67,6 @@ public class yCoordHelper return false; material = block.blockMaterial; - return (!material.isLiquid() && !material.isReplaceable()); + return (material.isLiquid() || !material.isReplaceable()); } } \ No newline at end of file diff --git a/StevenDimDoors/schematics/azeryuuDungeon.schematic b/StevenDimDoors/schematics/azeryuuDungeon.schematic deleted file mode 100644 index fde476ae..00000000 Binary files a/StevenDimDoors/schematics/azeryuuDungeon.schematic and /dev/null differ diff --git a/StevenDimDoors/schematics/dungeon.schematic b/StevenDimDoors/schematics/dungeon.schematic deleted file mode 100644 index 8a23dd02..00000000 Binary files a/StevenDimDoors/schematics/dungeon.schematic and /dev/null differ diff --git a/StevenDimDoors/schematics/dungeon1.schematic b/StevenDimDoors/schematics/dungeon1.schematic deleted file mode 100644 index 3f926588..00000000 Binary files a/StevenDimDoors/schematics/dungeon1.schematic and /dev/null differ diff --git a/StevenDimDoors/schematics/dungeon2.schematic b/StevenDimDoors/schematics/dungeon2.schematic deleted file mode 100644 index b17c57f2..00000000 Binary files a/StevenDimDoors/schematics/dungeon2.schematic and /dev/null differ diff --git a/StevenDimDoors/schematics/dungeon3.schematic b/StevenDimDoors/schematics/dungeon3.schematic deleted file mode 100644 index 52f3ba4b..00000000 Binary files a/StevenDimDoors/schematics/dungeon3.schematic and /dev/null differ diff --git a/StevenDimDoors/schematics/dungeon4.schematic b/StevenDimDoors/schematics/dungeon4.schematic deleted file mode 100644 index d8787e6d..00000000 Binary files a/StevenDimDoors/schematics/dungeon4.schematic and /dev/null differ diff --git a/StevenDimDoors/schematics/dungeon5.schematic b/StevenDimDoors/schematics/dungeon5.schematic deleted file mode 100644 index 8f59c30d..00000000 Binary files a/StevenDimDoors/schematics/dungeon5.schematic and /dev/null differ diff --git a/StevenDimDoors/schematics/dungeon6.schematic b/StevenDimDoors/schematics/dungeon6.schematic deleted file mode 100644 index 9f0dca4f..00000000 Binary files a/StevenDimDoors/schematics/dungeon6.schematic and /dev/null differ diff --git a/StevenDimDoors/schematics/dungeon7.schematic b/StevenDimDoors/schematics/dungeon7.schematic deleted file mode 100644 index 37ff31b7..00000000 Binary files a/StevenDimDoors/schematics/dungeon7.schematic and /dev/null differ diff --git a/schematics/ruins/trap_pistonHallway_closed_100.schematic b/schematics/ruins/trap_pistonHallway_closed_100.schematic index 064b2632..e7b891e5 100644 Binary files a/schematics/ruins/trap_pistonHallway_closed_100.schematic and b/schematics/ruins/trap_pistonHallway_closed_100.schematic differ