Reviewed and Rewrote Commands #169
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user