Reviewed and Rewrote Commands #169

Merged
SenseiKiwi merged 17 commits from master into master 2014-07-06 01:59:42 +00:00
Showing only changes of commit 100fa38c52 - Show all commits

View File

@@ -25,7 +25,6 @@ import StevenDimDoors.mod_pocketDim.mod_pocketDim;
import StevenDimDoors.mod_pocketDim.blocks.BaseDimDoor; import StevenDimDoors.mod_pocketDim.blocks.BaseDimDoor;
import StevenDimDoors.mod_pocketDim.config.DDProperties; import StevenDimDoors.mod_pocketDim.config.DDProperties;
import StevenDimDoors.mod_pocketDim.helpers.yCoordHelper; import StevenDimDoors.mod_pocketDim.helpers.yCoordHelper;
import StevenDimDoors.mod_pocketDim.items.ItemDimensionalDoor;
import StevenDimDoors.mod_pocketDim.schematic.BlockRotator; import StevenDimDoors.mod_pocketDim.schematic.BlockRotator;
import StevenDimDoors.mod_pocketDim.tileentities.TileEntityDimDoor; import StevenDimDoors.mod_pocketDim.tileentities.TileEntityDimDoor;
import StevenDimDoors.mod_pocketDim.util.Point4D; import StevenDimDoors.mod_pocketDim.util.Point4D;
@@ -483,9 +482,12 @@ public class DDTeleporter
{ {
if (link.hasDestination()) if (link.hasDestination())
{ {
if(PocketManager.isBlackListed(link.destination().getDimension())) if (PocketManager.isBlackListed(link.destination().getDimension()))
{ {
link=PocketManager.getDimensionData(link.source().getDimension()).createLink(link.link.point,LinkTypes.SAFE_EXIT,link.link.orientation); // Overwrite this link to a blacklisted destination with a safe exit link
// We don't need to change 'link' to a different reference.
// NewDimData will overwrite the existing link in-place.
PocketManager.getDimensionData(link.source().getDimension()).createLink(link.source(), LinkTypes.SAFE_EXIT, link.orientation());
} }
else else
{ {
@@ -499,7 +501,7 @@ public class DDTeleporter
case LinkTypes.DUNGEON: case LinkTypes.DUNGEON:
return PocketBuilder.generateNewDungeonPocket(link, properties); return PocketBuilder.generateNewDungeonPocket(link, properties);
case LinkTypes.POCKET: case LinkTypes.POCKET:
return PocketBuilder.generateNewPocket(link, properties,door); return PocketBuilder.generateNewPocket(link, properties, door);
case LinkTypes.SAFE_EXIT: case LinkTypes.SAFE_EXIT:
return generateSafeExit(link, properties); return generateSafeExit(link, properties);
case LinkTypes.DUNGEON_EXIT: case LinkTypes.DUNGEON_EXIT:
@@ -544,10 +546,7 @@ public class DDTeleporter
{ {
return matches.get( random.nextInt(matches.size()) ); return matches.get( random.nextInt(matches.size()) );
} }
else return null;
{
return null;
}
} }
private static boolean generateUnsafeExit(DimLink link) private static boolean generateUnsafeExit(DimLink link)
@@ -749,7 +748,7 @@ public class DDTeleporter
// Set up the warp door at the destination // Set up the warp door at the destination
orientation = BlockRotator.transformMetadata(orientation, 2, properties.WarpDoorID); orientation = BlockRotator.transformMetadata(orientation, 2, properties.WarpDoorID);
ItemDimensionalDoor.placeDoorBlock(world, x, y + 1, z, orientation, mod_pocketDim.warpDoor); ItemDoor.placeDoorBlock(world, x, y + 1, z, orientation, mod_pocketDim.warpDoor);
// Complete the link to the destination // Complete the link to the destination
// This comes last so the destination isn't set unless everything else works first // This comes last so the destination isn't set unless everything else works first