Changed linkTypes to linkType, an enum

This commit is contained in:
StevenRS11 2014-06-25 02:12:07 -04:00
parent 968653e4ab
commit 9e720cb458
33 changed files with 165 additions and 127 deletions

View file

@ -3,7 +3,7 @@ package StevenDimDoors.mod_pocketDim.blocks;
import StevenDimDoors.mod_pocketDim.mod_pocketDim;
import StevenDimDoors.mod_pocketDim.config.DDProperties;
import StevenDimDoors.mod_pocketDim.core.DimLink;
import StevenDimDoors.mod_pocketDim.core.LinkTypes;
import StevenDimDoors.mod_pocketDim.core.LinkType;
import StevenDimDoors.mod_pocketDim.core.NewDimData;
import StevenDimDoors.mod_pocketDim.core.PocketManager;
import StevenDimDoors.mod_pocketDim.tileentities.TileEntityDimDoorGold;
@ -29,7 +29,7 @@ public class BlockGoldDimDoor extends BaseDimDoor
DimLink link = dimension.getLink(x, y, z);
if (link == null)
{
dimension.createLink(x, y, z, LinkTypes.POCKET,world.getBlockMetadata(x, y - 1, z));
dimension.createLink(x, y, z, LinkType.POCKET,world.getBlockMetadata(x, y - 1, z));
}
}
}

View file

@ -5,7 +5,7 @@ import net.minecraft.item.Item;
import net.minecraft.world.World;
import StevenDimDoors.mod_pocketDim.config.DDProperties;
import StevenDimDoors.mod_pocketDim.core.DimLink;
import StevenDimDoors.mod_pocketDim.core.LinkTypes;
import StevenDimDoors.mod_pocketDim.core.LinkType;
import StevenDimDoors.mod_pocketDim.core.NewDimData;
import StevenDimDoors.mod_pocketDim.core.PocketManager;
@ -27,7 +27,7 @@ public class DimensionalDoor extends BaseDimDoor
DimLink link = dimension.getLink(x, y, z);
if (link == null)
{
dimension.createLink(x, y, z, LinkTypes.POCKET,world.getBlockMetadata(x, y - 1, z));
dimension.createLink(x, y, z, LinkType.POCKET,world.getBlockMetadata(x, y - 1, z));
}
}
}

View file

@ -4,7 +4,7 @@ import net.minecraft.block.material.Material;
import net.minecraft.world.World;
import StevenDimDoors.mod_pocketDim.config.DDProperties;
import StevenDimDoors.mod_pocketDim.core.DimLink;
import StevenDimDoors.mod_pocketDim.core.LinkTypes;
import StevenDimDoors.mod_pocketDim.core.LinkType;
import StevenDimDoors.mod_pocketDim.core.NewDimData;
import StevenDimDoors.mod_pocketDim.core.PocketManager;
@ -26,7 +26,7 @@ public class PersonalDimDoor extends BaseDimDoor
DimLink link = dimension.getLink(x, y, z);
if (link == null)
{
dimension.createLink(x, y, z, LinkTypes.PERSONAL, world.getBlockMetadata(x, y - 1, z));
dimension.createLink(x, y, z, LinkType.PERSONAL, world.getBlockMetadata(x, y - 1, z));
}
}
}

View file

@ -15,7 +15,7 @@ import net.minecraft.world.World;
import StevenDimDoors.mod_pocketDim.mod_pocketDim;
import StevenDimDoors.mod_pocketDim.core.DDTeleporter;
import StevenDimDoors.mod_pocketDim.core.DimLink;
import StevenDimDoors.mod_pocketDim.core.LinkTypes;
import StevenDimDoors.mod_pocketDim.core.LinkType;
import StevenDimDoors.mod_pocketDim.core.NewDimData;
import StevenDimDoors.mod_pocketDim.core.PocketManager;
import StevenDimDoors.mod_pocketDim.items.ItemDDKey;
@ -147,7 +147,7 @@ public class TransTrapdoor extends BlockTrapDoor implements IDimDoor, ITileEntit
DimLink link = dimension.getLink(x, y, z);
if (link == null && dimension.isPocketDimension())
{
dimension.createLink(x, y, z, LinkTypes.UNSAFE_EXIT,0);
dimension.createLink(x, y, z, LinkType.UNSAFE_EXIT,0);
}
}
}

View file

@ -9,7 +9,7 @@ import net.minecraft.world.World;
import StevenDimDoors.mod_pocketDim.config.DDProperties;
import StevenDimDoors.mod_pocketDim.core.DDTeleporter;
import StevenDimDoors.mod_pocketDim.core.DimLink;
import StevenDimDoors.mod_pocketDim.core.LinkTypes;
import StevenDimDoors.mod_pocketDim.core.LinkType;
import StevenDimDoors.mod_pocketDim.core.NewDimData;
import StevenDimDoors.mod_pocketDim.core.PocketManager;
@ -68,7 +68,7 @@ public class TransientDoor extends BaseDimDoor
DimLink link = dimension.getLink(x, y, z);
if (link == null && dimension.isPocketDimension())
{
dimension.createLink(x, y, z, LinkTypes.SAFE_EXIT,world.getBlockMetadata(x, y - 1, z));
dimension.createLink(x, y, z, LinkType.SAFE_EXIT,world.getBlockMetadata(x, y - 1, z));
}
}
}

View file

@ -4,7 +4,7 @@ import net.minecraft.block.material.Material;
import net.minecraft.item.Item;
import net.minecraft.world.World;
import StevenDimDoors.mod_pocketDim.config.DDProperties;
import StevenDimDoors.mod_pocketDim.core.LinkTypes;
import StevenDimDoors.mod_pocketDim.core.LinkType;
import StevenDimDoors.mod_pocketDim.core.NewDimData;
import StevenDimDoors.mod_pocketDim.core.PocketManager;
@ -21,7 +21,7 @@ public class UnstableDoor extends BaseDimDoor
if (!world.isRemote && world.getBlockId(x, y - 1, z) == this.blockID)
{
NewDimData dimension = PocketManager.getDimensionData(world);
dimension.createLink(x, y, z, LinkTypes.RANDOM,world.getBlockMetadata(x, y - 1, z));
dimension.createLink(x, y, z, LinkType.RANDOM,world.getBlockMetadata(x, y - 1, z));
}
}
@Override

View file

@ -5,7 +5,7 @@ import net.minecraft.item.Item;
import net.minecraft.world.World;
import StevenDimDoors.mod_pocketDim.config.DDProperties;
import StevenDimDoors.mod_pocketDim.core.DimLink;
import StevenDimDoors.mod_pocketDim.core.LinkTypes;
import StevenDimDoors.mod_pocketDim.core.LinkType;
import StevenDimDoors.mod_pocketDim.core.NewDimData;
import StevenDimDoors.mod_pocketDim.core.PocketManager;
@ -25,7 +25,7 @@ public class WarpDoor extends BaseDimDoor
DimLink link = dimension.getLink(x, y, z);
if (link == null && dimension.isPocketDimension())
{
dimension.createLink(x, y, z, LinkTypes.SAFE_EXIT,world.getBlockMetadata(x, y - 1, z));
dimension.createLink(x, y, z, LinkType.SAFE_EXIT,world.getBlockMetadata(x, y - 1, z));
}
}
}

View file

@ -2,7 +2,7 @@ package StevenDimDoors.mod_pocketDim.commands;
import StevenDimDoors.mod_pocketDim.mod_pocketDim;
import StevenDimDoors.mod_pocketDim.core.DimLink;
import StevenDimDoors.mod_pocketDim.core.LinkTypes;
import StevenDimDoors.mod_pocketDim.core.LinkType;
import StevenDimDoors.mod_pocketDim.core.NewDimData;
import StevenDimDoors.mod_pocketDim.core.PocketManager;
import StevenDimDoors.mod_pocketDim.dungeon.DungeonData;
@ -68,7 +68,7 @@ public class CommandCreateDungeonRift extends DDCommandBase
if (result != null)
{
dimension = PocketManager.getDimensionData(sender.worldObj);
link = dimension.createLink(x, y + 1, z, LinkTypes.DUNGEON, orientation);
link = dimension.createLink(x, y + 1, z, LinkType.DUNGEON, orientation);
if (PocketBuilder.generateSelectedDungeonPocket(link, mod_pocketDim.properties, result))
{
// Create a rift to our selected dungeon and notify the player

View file

@ -8,7 +8,7 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.util.MathHelper;
import StevenDimDoors.mod_pocketDim.mod_pocketDim;
import StevenDimDoors.mod_pocketDim.core.DimLink;
import StevenDimDoors.mod_pocketDim.core.LinkTypes;
import StevenDimDoors.mod_pocketDim.core.LinkType;
import StevenDimDoors.mod_pocketDim.core.NewDimData;
import StevenDimDoors.mod_pocketDim.core.PocketManager;
import StevenDimDoors.mod_pocketDim.dungeon.DungeonData;
@ -58,7 +58,7 @@ public class CommandCreateRandomRift extends DDCommandBase
if (command.length == 0)
{
dimension = PocketManager.getDimensionData(sender.worldObj);
link = dimension.createLink(x, y + 1, z, LinkTypes.DUNGEON, orientation);
link = dimension.createLink(x, y + 1, z, LinkType.DUNGEON, orientation);
sender.worldObj.setBlock(x, y + 1, z,mod_pocketDim.blockRift.blockID, 0, 3);
sendChat(sender, "Created a rift to a random dungeon.");
}
@ -74,7 +74,7 @@ public class CommandCreateRandomRift extends DDCommandBase
if (result != null)
{
dimension = PocketManager.getDimensionData(sender.worldObj);
link = dimension.createLink(x, y + 1, z, LinkTypes.DUNGEON, orientation);
link = dimension.createLink(x, y + 1, z, LinkType.DUNGEON, orientation);
if (PocketBuilder.generateSelectedDungeonPocket(link, mod_pocketDim.properties, result))
{
// Create a rift to our selected dungeon and notify the player

View file

@ -1,12 +1,10 @@
package StevenDimDoors.mod_pocketDim.commands;
import java.util.ArrayList;
import net.minecraft.command.ICommandSender;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraftforge.common.DimensionManager;
import StevenDimDoors.mod_pocketDim.core.DimLink;
import StevenDimDoors.mod_pocketDim.core.LinkTypes;
import StevenDimDoors.mod_pocketDim.core.LinkType;
import StevenDimDoors.mod_pocketDim.core.NewDimData;
import StevenDimDoors.mod_pocketDim.core.PocketManager;
@ -60,13 +58,13 @@ public class CommandResetDungeons extends DDCommandBase
dungeonCount++;
for(DimLink link : data.links())
{
if(link.linkType()==LinkTypes.REVERSE)
if(link.linkType()==LinkType.REVERSE)
{
data.createLink(link.source(), LinkTypes.DUNGEON_EXIT, link.orientation(), null);
data.createLink(link.source(), LinkType.DUNGEON_EXIT, link.orientation(), null);
}
if(link.linkType()==LinkTypes.DUNGEON)
if(link.linkType()==LinkType.DUNGEON)
{
data.createLink(link.source(), LinkTypes.DUNGEON, link.orientation(), null);
data.createLink(link.source(), LinkType.DUNGEON, link.orientation(), null);
}
}
}

View file

@ -2,7 +2,6 @@ package StevenDimDoors.mod_pocketDim.core;
import java.util.ArrayList;
import java.util.Random;
import net.minecraft.block.Block;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityList;
@ -462,7 +461,7 @@ public class DDTeleporter
{
return;
}
if (link.linkType() == LinkTypes.RANDOM)
if (link.linkType() == LinkType.RANDOM)
{
Point4D randomDestination = getRandomDestination();
if (randomDestination != null)
@ -474,18 +473,18 @@ public class DDTeleporter
else
{
buildExitDoor(door, link, DDProperties.instance());
entity = teleportEntity(entity, link.destination(), link.linkType() != LinkTypes.UNSAFE_EXIT);
entity = teleportEntity(entity, link.destination(), link.linkType() != LinkType.UNSAFE_EXIT);
entity.worldObj.playSoundEffect(entity.posX, entity.posY, entity.posZ, "mob.endermen.portal", 1.0F, 1.0F);
}
}
private static boolean initializeDestination(DimLink link, DDProperties properties, Entity entity, Block door)
{
if (link.hasDestination()&&link.linkType()!=LinkTypes.PERSONAL)
if (link.hasDestination()&&link.linkType()!=LinkType.PERSONAL)
{
if(PocketManager.isBlackListed(link.destination().getDimension()))
{
link=PocketManager.getDimensionData(link.source().getDimension()).createLink(link.point,LinkTypes.SAFE_EXIT,link.orientation, null);
link=PocketManager.getDimensionData(link.source().getDimension()).createLink(link.point,LinkType.SAFE_EXIT,link.orientation, null);
}
else
{
@ -496,21 +495,21 @@ public class DDTeleporter
// Check the destination type and respond accordingly
switch (link.linkType())
{
case LinkTypes.DUNGEON:
case DUNGEON:
return PocketBuilder.generateNewDungeonPocket(link, properties);
case LinkTypes.POCKET:
case POCKET:
return PocketBuilder.generateNewPocket(link, properties,door);
case LinkTypes.PERSONAL:
case PERSONAL:
return setupPersonalLink(link, properties, entity, door);
case LinkTypes.SAFE_EXIT:
case SAFE_EXIT:
return generateSafeExit(link, properties);
case LinkTypes.DUNGEON_EXIT:
case DUNGEON_EXIT:
return generateDungeonExit(link, properties);
case LinkTypes.UNSAFE_EXIT:
case UNSAFE_EXIT:
return generateUnsafeExit(link);
case LinkTypes.NORMAL:
case LinkTypes.REVERSE:
case LinkTypes.RANDOM:
case NORMAL:
case REVERSE:
case RANDOM:
return true;
default:
throw new IllegalArgumentException("link has an unrecognized link type.");
@ -557,7 +556,7 @@ public class DDTeleporter
{
for (DimLink link : dimension.getAllLinks())
{
if (link.linkType() != LinkTypes.RANDOM)
if (link.linkType() != LinkType.RANDOM)
{
matches.add(link.source());
}
@ -769,7 +768,7 @@ public class DDTeleporter
// Create a reverse link for returning
int orientation = getDestinationOrientation(source, properties);
NewDimData sourceDim = PocketManager.getDimensionData(link.source().getDimension());
DimLink reverse = destinationDim.createLink(x, y + 2, z, LinkTypes.REVERSE,orientation);
DimLink reverse = destinationDim.createLink(x, y + 2, z, LinkType.REVERSE,orientation);
sourceDim.setDestination(reverse, source.getX(), source.getY(), source.getZ());
// Set up the warp door at the destination

View file

@ -32,12 +32,16 @@ public abstract class DimLink
parent.children.add(this);
}
protected DimLink(Point4D point, int orientation, DDLock lock, int linkType)
protected DimLink(Point4D point, int orientation, DDLock lock, LinkType linkType)
{
/**This really cant happen anymore, I guess.
*
if ((linkType < LinkTypes.ENUM_MIN || linkType > LinkTypes.ENUM_MAX) && linkType != LinkTypes.CLIENT_SIDE)
{
throw new IllegalArgumentException("The specified link type is invalid.");
}
**/
this.lock = lock;
this.parent = null;
this.point = point;
@ -68,7 +72,7 @@ public abstract class DimLink
parent = null;
point = null;
tail = new LinkTail(0, null);
tail = new LinkTail(LinkType.NORMAL, null);
}
public int orientation()
@ -109,7 +113,7 @@ public abstract class DimLink
return parent;
}
public int linkType()
public LinkType linkType()
{
return tail.getLinkType();
}

View file

@ -5,9 +5,9 @@ import StevenDimDoors.mod_pocketDim.util.Point4D;
class LinkTail
{
private Point4D destination;
private int linkType;
private LinkType linkType;
public LinkTail(int linkType, Point4D destination)
public LinkTail(LinkType linkType, Point4D destination)
{
this.linkType = linkType;
this.destination = destination;
@ -21,11 +21,11 @@ class LinkTail
this.destination = destination;
}
public int getLinkType() {
public LinkType getLinkType() {
return linkType;
}
public void setLinkType(int linkType) {
public void setLinkType(LinkType linkType) {
this.linkType = linkType;
}
}

View file

@ -0,0 +1,42 @@
package StevenDimDoors.mod_pocketDim.core;
import java.util.HashMap;
public enum LinkType
{
// WARNING: Don't modify these values carelessly or you'll risk breaking links in existing worlds!
NORMAL(0),
POCKET(1),
DUNGEON(2),
RANDOM(3),
DUNGEON_EXIT(4),
SAFE_EXIT(5),
UNSAFE_EXIT(6),
REVERSE(7),
PERSONAL(8),
CLIENT(-1337);
LinkType(int index)
{
this.index = index;
}
public final int index;
/**
* Get the LinkType given an index. I feel like there should be a better way to do this.
* @param index
* @return
*/
public static LinkType getLinkTypeFromIndex(int index)
{
for(LinkType type : LinkType.values())
{
if(type.index == index)
{
return type;
}
}
return null;
}
}

View file

@ -1,23 +0,0 @@
package StevenDimDoors.mod_pocketDim.core;
public class LinkTypes
{
private LinkTypes() { }
public static final int ENUM_MIN = 0;
public static final int ENUM_MAX = 8;
public static final int CLIENT_SIDE = -1337;
// WARNING: Don't modify these values carelessly or you'll risk breaking links in existing worlds!
public static final int NORMAL = 0;
public static final int POCKET = 1;
public static final int DUNGEON = 2;
public static final int RANDOM = 3;
public static final int DUNGEON_EXIT = 4;
public static final int SAFE_EXIT = 5;
public static final int UNSAFE_EXIT = 6;
public static final int REVERSE = 7;
public static final int PERSONAL = 8;
}

View file

@ -30,7 +30,7 @@ public abstract class NewDimData implements IPackable<PackedDimData>
super(source, orientation, lock, parent);
}
public InnerDimLink(Point4D source, int linkType, int orientation, DDLock lock)
public InnerDimLink(Point4D source, LinkType linkType, int orientation, DDLock lock)
{
super(source, orientation, lock, linkType);
}
@ -78,7 +78,7 @@ public abstract class NewDimData implements IPackable<PackedDimData>
return true;
}
public void overwrite(int linkType, int orientation)
public void overwrite(LinkType linkType, int orientation)
{
//Release children
for (DimLink child : children)
@ -302,12 +302,12 @@ public abstract class NewDimData implements IPackable<PackedDimData>
return Math.abs(i) + Math.abs(j) + Math.abs(k);
}
public DimLink createLink(int x, int y, int z, int linkType, int orientation)
public DimLink createLink(int x, int y, int z, LinkType linkType, int orientation)
{
return createLink(new Point4D(x, y, z, id), linkType, orientation, null);
}
public DimLink createLink(Point4D source, int linkType, int orientation, DDLock locked)
public DimLink createLink(Point4D source, LinkType linkType, int orientation, DDLock locked)
{
//Return an existing link if there is one to avoid creating multiple links starting at the same point.
InnerDimLink link = linkMapping.get(source);
@ -324,7 +324,7 @@ public abstract class NewDimData implements IPackable<PackedDimData>
modified = true;
//Link created!
if (linkType != LinkTypes.CLIENT_SIDE)
if (linkType != LinkType.CLIENT)
{
linkWatcher.onCreated(new ClientLinkData(link));
}
@ -696,10 +696,10 @@ public abstract class NewDimData implements IPackable<PackedDimData>
{
children.add(childLink.source().toPoint3D());
}
PackedLinkTail tail = new PackedLinkTail(link.tail.getDestination(),link.tail.getLinkType());
PackedLinkTail tail = new PackedLinkTail(link.tail.getDestination(),link.tail.getLinkType().index);
Links.add(new PackedLinkData(link.point,parentPoint,tail,link.orientation,children,link.lock));
PackedLinkTail tempTail = new PackedLinkTail(link.tail.getDestination(),link.tail.getLinkType());
PackedLinkTail tempTail = new PackedLinkTail(link.tail.getDestination(),link.tail.getLinkType().index);
if(Tails.contains(tempTail))
{
Tails.add(tempTail);

View file

@ -63,7 +63,7 @@ public class PocketManager
{
Point4D source = link.point;
NewDimData dimension = getDimensionData(source.getDimension());
dimension.createLink(source, LinkTypes.CLIENT_SIDE, 0, link.lock);
dimension.createLink(source, LinkType.CLIENT, 0, link.lock);
}
@Override

View file

@ -0,0 +1,16 @@
package StevenDimDoors.mod_pocketDim.core;
public enum PocketType
{
// WARNING: Don't modify these values carelessly or you'll risk breaking existing worlds!
NORMAL(0),
DUNGEON(1),
PERSONAL(2);
PocketType(int index)
{
this.index = index;
}
public final int index;
}

View file

@ -9,7 +9,6 @@ import java.util.Map;
import java.util.Map.Entry;
import java.util.Random;
import java.util.TreeMap;
import net.minecraft.block.Block;
import net.minecraft.entity.Entity;
import net.minecraft.nbt.NBTTagCompound;
@ -20,7 +19,7 @@ import StevenDimDoors.mod_pocketDim.Point3D;
import StevenDimDoors.mod_pocketDim.blocks.IDimDoor;
import StevenDimDoors.mod_pocketDim.config.DDProperties;
import StevenDimDoors.mod_pocketDim.core.DimLink;
import StevenDimDoors.mod_pocketDim.core.LinkTypes;
import StevenDimDoors.mod_pocketDim.core.LinkType;
import StevenDimDoors.mod_pocketDim.core.NewDimData;
import StevenDimDoors.mod_pocketDim.core.PocketManager;
import StevenDimDoors.mod_pocketDim.schematic.BlockRotator;
@ -322,7 +321,7 @@ public class DungeonSchematic extends Schematic {
private static void createEntranceReverseLink(World world, NewDimData dimension, Point3D pocketCenter, DimLink entryLink)
{
int orientation = world.getBlockMetadata(pocketCenter.getX(), pocketCenter.getY() - 1, pocketCenter.getZ());
DimLink reverseLink = dimension.createLink(pocketCenter.getX(), pocketCenter.getY(), pocketCenter.getZ(), LinkTypes.REVERSE, orientation);
DimLink reverseLink = dimension.createLink(pocketCenter.getX(), pocketCenter.getY(), pocketCenter.getZ(), LinkType.REVERSE, orientation);
Point4D destination = entryLink.source();
NewDimData prevDim = PocketManager.getDimensionData(destination.getDimension());
prevDim.setDestination(reverseLink, destination.getX(), destination.getY(), destination.getZ());
@ -335,7 +334,7 @@ public class DungeonSchematic extends Schematic {
Point3D location = point.clone();
BlockRotator.transformPoint(location, entrance, rotation, pocketCenter);
int orientation = world.getBlockMetadata(location.getX(), location.getY() - 1, location.getZ());
dimension.createLink(location.getX(), location.getY(), location.getZ(), LinkTypes.DUNGEON_EXIT, orientation);
dimension.createLink(location.getX(), location.getY(), location.getZ(), LinkType.DUNGEON_EXIT, orientation);
//Replace the sandstone block under the exit door with the same block as the one underneath it
int x = location.getX();
int y = location.getY() - 3;
@ -356,7 +355,7 @@ public class DungeonSchematic extends Schematic {
BlockRotator.transformPoint(location, entrance, rotation, pocketCenter);
int orientation = world.getBlockMetadata(location.getX(), location.getY() - 1, location.getZ());
dimension.createLink(location.getX(), location.getY(), location.getZ(), LinkTypes.DUNGEON, orientation);
dimension.createLink(location.getX(), location.getY(), location.getZ(), LinkType.DUNGEON, orientation);
initDoorTileEntity(world, location);
}

View file

@ -6,10 +6,9 @@ import java.io.IOException;
import java.util.Collection;
import java.util.Comparator;
import java.util.HashSet;
import StevenDimDoors.mod_pocketDim.core.DimLink;
import StevenDimDoors.mod_pocketDim.core.IDimRegistrationCallback;
import StevenDimDoors.mod_pocketDim.core.LinkTypes;
import StevenDimDoors.mod_pocketDim.core.LinkType;
import StevenDimDoors.mod_pocketDim.core.NewDimData;
import StevenDimDoors.mod_pocketDim.util.Point4D;
import StevenDimDoors.mod_pocketDim.watcher.ClientLinkData;
@ -80,7 +79,7 @@ public class Compactor
{
ClientLinkData link = ClientLinkData.read(input);
Point4D source = link.point;
dimension.createLink(source.getX(), source.getY(), source.getZ(), LinkTypes.CLIENT_SIDE,0);
dimension.createLink(source.getX(), source.getY(), source.getZ(), LinkType.CLIENT,0);
}
}
}

View file

@ -16,13 +16,12 @@ import java.util.List;
import java.util.Queue;
import java.util.Random;
import java.util.regex.Pattern;
import net.minecraft.util.WeightedRandom;
import net.minecraft.world.World;
import StevenDimDoors.mod_pocketDim.mod_pocketDim;
import StevenDimDoors.mod_pocketDim.config.DDProperties;
import StevenDimDoors.mod_pocketDim.core.DimLink;
import StevenDimDoors.mod_pocketDim.core.LinkTypes;
import StevenDimDoors.mod_pocketDim.core.LinkType;
import StevenDimDoors.mod_pocketDim.core.NewDimData;
import StevenDimDoors.mod_pocketDim.core.PocketManager;
import StevenDimDoors.mod_pocketDim.dungeon.DungeonData;
@ -264,7 +263,7 @@ public class DungeonHelper
{
//Create a link above the specified position. Link to a new pocket dimension.
NewDimData dimension = PocketManager.getDimensionData(world);
DimLink link = dimension.createLink(x, y + 1, z, LinkTypes.POCKET, 3);
DimLink link = dimension.createLink(x, y + 1, z, LinkType.POCKET, 3);
//Place a Warp Door linked to that pocket
ItemDimensionalDoor.placeDoorBlock(world, x, y, z, 3, mod_pocketDim.warpDoor);

View file

@ -1,7 +1,6 @@
package StevenDimDoors.mod_pocketDim.items;
import java.util.List;
import net.minecraft.block.Block;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.entity.player.EntityPlayer;
@ -14,7 +13,7 @@ import net.minecraftforge.common.DimensionManager;
import StevenDimDoors.mod_pocketDim.mod_pocketDim;
import StevenDimDoors.mod_pocketDim.blocks.BaseDimDoor;
import StevenDimDoors.mod_pocketDim.core.DimLink;
import StevenDimDoors.mod_pocketDim.core.LinkTypes;
import StevenDimDoors.mod_pocketDim.core.LinkType;
import StevenDimDoors.mod_pocketDim.core.NewDimData;
import StevenDimDoors.mod_pocketDim.core.PocketManager;
import StevenDimDoors.mod_pocketDim.util.Point4D;
@ -73,8 +72,8 @@ public class ItemRiftSignature extends Item
//The link was used before and already has an endpoint stored. Create links connecting the two endpoints.
NewDimData sourceDimension = PocketManager.getDimensionData(source.getDimension());
NewDimData destinationDimension = PocketManager.getDimensionData(world);
DimLink link = sourceDimension.createLink(source.getX(), source.getY(), source.getZ(), LinkTypes.NORMAL,source.getOrientation());
DimLink reverse = destinationDimension.createLink(x, adjustedY, z, LinkTypes.NORMAL,orientation);
DimLink link = sourceDimension.createLink(source.getX(), source.getY(), source.getZ(), LinkType.NORMAL,source.getOrientation());
DimLink reverse = destinationDimension.createLink(x, adjustedY, z, LinkType.NORMAL,orientation);
destinationDimension.setDestination(link, x, adjustedY, z);
sourceDimension.setDestination(reverse, source.getX(), source.getY(), source.getZ());

View file

@ -1,7 +1,6 @@
package StevenDimDoors.mod_pocketDim.items;
import java.util.List;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
@ -11,10 +10,9 @@ import net.minecraft.world.World;
import net.minecraftforge.common.DimensionManager;
import StevenDimDoors.mod_pocketDim.mod_pocketDim;
import StevenDimDoors.mod_pocketDim.core.DimLink;
import StevenDimDoors.mod_pocketDim.core.LinkTypes;
import StevenDimDoors.mod_pocketDim.core.LinkType;
import StevenDimDoors.mod_pocketDim.core.NewDimData;
import StevenDimDoors.mod_pocketDim.core.PocketManager;
import StevenDimDoors.mod_pocketDim.util.Point4D;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@ -67,8 +65,8 @@ public class ItemStabilizedRiftSignature extends ItemRiftSignature
//The link was used before and already has an endpoint stored. Create links connecting the two endpoints.
NewDimData sourceDimension = PocketManager.getDimensionData(source.getDimension());
NewDimData destinationDimension = PocketManager.getDimensionData(world);
DimLink link = sourceDimension.createLink(source.getX(), source.getY(), source.getZ(), LinkTypes.NORMAL,source.getOrientation());
DimLink reverse = destinationDimension.createLink(x, adjustedY, z, LinkTypes.NORMAL,orientation);
DimLink link = sourceDimension.createLink(source.getX(), source.getY(), source.getZ(), LinkType.NORMAL,source.getOrientation());
DimLink reverse = destinationDimension.createLink(x, adjustedY, z, LinkType.NORMAL,orientation);
destinationDimension.setDestination(link, x, adjustedY, z);
sourceDimension.setDestination(reverse, source.getX(), source.getY(), source.getZ());

View file

@ -212,7 +212,7 @@ public class mod_pocketDim
personalDimDoor = new PersonalDimDoor(properties.PersonalDimDoorID, Material.rock,properties).setHardness(0.1F).setUnlocalizedName("dimDoorPersonal");
goldenDoor = new BlockDoorGold(properties.GoldenDoorID, Material.iron).setHardness(0.1F).setUnlocalizedName("doorGold");
blockDimWall = new BlockDimWall(properties.FabricBlockID, 0, Material.iron).setLightValue(1.5F).setHardness(0.1F).setUnlocalizedName("blockDimWall");
blockDimWall = new BlockDimWall(properties.FabricBlockID, 0, Material.iron).setLightValue(1.0F).setHardness(0.1F).setUnlocalizedName("blockDimWall");
blockDimWallPerm = (new BlockDimWallPerm(properties.PermaFabricBlockID, 0, Material.iron)).setLightValue(1.0F).setBlockUnbreakable().setResistance(6000000.0F).setUnlocalizedName("blockDimWallPerm");
warpDoor = new WarpDoor(properties.WarpDoorID, Material.wood, properties).setHardness(1.0F) .setUnlocalizedName("dimDoorWarp");
blockRift = (BlockRift) (new BlockRift(properties.RiftBlockID, 0, Material.air, properties).setHardness(1.0F) .setUnlocalizedName("rift"));

View file

@ -8,12 +8,11 @@ import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map.Entry;
import net.minecraftforge.common.DimensionManager;
import StevenDimDoors.mod_pocketDim.Point3D;
import StevenDimDoors.mod_pocketDim.mod_pocketDim;
import StevenDimDoors.mod_pocketDim.core.DimLink;
import StevenDimDoors.mod_pocketDim.core.LinkTypes;
import StevenDimDoors.mod_pocketDim.core.LinkType;
import StevenDimDoors.mod_pocketDim.core.NewDimData;
import StevenDimDoors.mod_pocketDim.core.PocketManager;
import StevenDimDoors.mod_pocketDim.dungeon.DungeonData;
@ -21,7 +20,6 @@ import StevenDimDoors.mod_pocketDim.helpers.DungeonHelper;
import StevenDimDoors.mod_pocketDim.util.DDLogger;
import StevenDimDoors.mod_pocketDim.util.FileFilters;
import StevenDimDoors.mod_pocketDim.util.Point4D;
import com.google.common.io.Files;
public class DDSaveHandler
@ -210,12 +208,7 @@ public class DDSaveHandler
if(packedLink.parent.equals(fakePoint))
{
NewDimData data = PocketManager.getDimensionData(packedLink.source.getDimension());
int linkType = packedLink.tail.linkType;
if((linkType < LinkTypes.ENUM_MIN || linkType > LinkTypes.ENUM_MAX) && linkType != LinkTypes.CLIENT_SIDE)
{
linkType = LinkTypes.NORMAL;
}
LinkType linkType = LinkType.getLinkTypeFromIndex(packedLink.tail.linkType);
DimLink link = data.createLink(packedLink.source, linkType, packedLink.orientation, packedLink.lock);
Point4D destination = packedLink.tail.destination;

View file

@ -1,7 +1,6 @@
package StevenDimDoors.mod_pocketDim.world;
import java.util.Random;
import net.minecraft.block.Block;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
@ -10,13 +9,12 @@ import net.minecraft.world.World;
import net.minecraft.world.chunk.Chunk;
import net.minecraft.world.chunk.storage.ExtendedBlockStorage;
import net.minecraftforge.common.DimensionManager;
import StevenDimDoors.experimental.MazeBuilder;
import StevenDimDoors.mod_pocketDim.Point3D;
import StevenDimDoors.mod_pocketDim.mod_pocketDim;
import StevenDimDoors.mod_pocketDim.blocks.IDimDoor;
import StevenDimDoors.mod_pocketDim.config.DDProperties;
import StevenDimDoors.mod_pocketDim.core.DimLink;
import StevenDimDoors.mod_pocketDim.core.LinkTypes;
import StevenDimDoors.mod_pocketDim.core.LinkType;
import StevenDimDoors.mod_pocketDim.core.NewDimData;
import StevenDimDoors.mod_pocketDim.core.PocketManager;
import StevenDimDoors.mod_pocketDim.dungeon.DungeonData;
@ -24,10 +22,10 @@ import StevenDimDoors.mod_pocketDim.dungeon.DungeonSchematic;
import StevenDimDoors.mod_pocketDim.dungeon.pack.DungeonPackConfig;
import StevenDimDoors.mod_pocketDim.helpers.DungeonHelper;
import StevenDimDoors.mod_pocketDim.helpers.yCoordHelper;
import StevenDimDoors.mod_pocketDim.items.ItemDimensionalDoor;
import StevenDimDoors.mod_pocketDim.schematic.BlockRotator;
import StevenDimDoors.mod_pocketDim.util.Pair;
import StevenDimDoors.mod_pocketDim.util.Point4D;
import StevenDimDoors.mod_pocketDim.items.ItemDimensionalDoor;
public class PocketBuilder
{
@ -356,7 +354,7 @@ public class PocketBuilder
int orientation = getDoorOrientation(source, properties);
//Place a link leading back out of the pocket
DimLink reverseLink = dimension.createLink(source.getX(), destinationY, source.getZ(), LinkTypes.REVERSE,(link.orientation()+2)%4);
DimLink reverseLink = dimension.createLink(source.getX(), destinationY, source.getZ(), LinkType.REVERSE,(link.orientation()+2)%4);
parent.setDestination(reverseLink, source.getX(), source.getY(), source.getZ());
//Build the actual pocket area
@ -401,7 +399,7 @@ public class PocketBuilder
int orientation = getDoorOrientation(source, properties);
//Place a link leading back out of the pocket
DimLink reverseLink = dimension.createLink(source.getX(), destinationY, source.getZ(), LinkTypes.REVERSE,(link.orientation()+2)%4);
DimLink reverseLink = dimension.createLink(source.getX(), destinationY, source.getZ(), LinkType.REVERSE,(link.orientation()+2)%4);
parent.setDestination(reverseLink, source.getX(), source.getY(), source.getZ());
//Build the actual pocket area

View file

@ -81,6 +81,18 @@ public class PocketProvider extends WorldProvider
return false;
}
@Override
protected void generateLightBrightnessTable()
{
float modifier = 0.0F;
for (int steps = 0; steps <= 15; ++steps)
{
float var3 = 1.0F - steps / 15.0F;
this.lightBrightnessTable[steps] = 10;
// System.out.println( this.lightBrightnessTable[steps]+"light");
}
}
@Override
public String getDimensionName()
{

View file

@ -2,7 +2,6 @@ package StevenDimDoors.mod_pocketDim.world.fortresses;
import java.util.List;
import java.util.Random;
import net.minecraft.block.Block;
import net.minecraft.item.ItemDoor;
import net.minecraft.nbt.NBTTagCompound;
@ -11,7 +10,7 @@ import net.minecraft.world.gen.structure.StructureBoundingBox;
import net.minecraft.world.gen.structure.StructureComponent;
import StevenDimDoors.mod_pocketDim.mod_pocketDim;
import StevenDimDoors.mod_pocketDim.core.DimLink;
import StevenDimDoors.mod_pocketDim.core.LinkTypes;
import StevenDimDoors.mod_pocketDim.core.LinkType;
import StevenDimDoors.mod_pocketDim.core.NewDimData;
import StevenDimDoors.mod_pocketDim.core.PocketManager;
@ -157,7 +156,7 @@ public class ComponentNetherGateway extends StructureComponent
link = dimension.getLink(x, y + 1, z);
if (link == null)
{
link = dimension.createLink(x, y + 1, z, LinkTypes.DUNGEON, orientation);
link = dimension.createLink(x, y + 1, z, LinkType.DUNGEON, orientation);
}
ItemDoor.placeDoorBlock(world, x, y, z, orientation, mod_pocketDim.transientDoor);
}

View file

@ -3,7 +3,7 @@ package StevenDimDoors.mod_pocketDim.world.gateways;
import net.minecraft.world.World;
import StevenDimDoors.mod_pocketDim.Point3D;
import StevenDimDoors.mod_pocketDim.config.DDProperties;
import StevenDimDoors.mod_pocketDim.core.LinkTypes;
import StevenDimDoors.mod_pocketDim.core.LinkType;
import StevenDimDoors.mod_pocketDim.core.PocketManager;
import StevenDimDoors.mod_pocketDim.dungeon.DungeonSchematic;
import StevenDimDoors.mod_pocketDim.schematic.InvalidSchematicException;
@ -44,7 +44,7 @@ public abstract class BaseSchematicGateway extends BaseGateway
this.generateRandomBits(world, x, y, z);
// Generate a dungeon link in the door
PocketManager.getDimensionData(world).createLink(x, y + doorLocation.getY(), z, LinkTypes.DUNGEON, orientation);
PocketManager.getDimensionData(world).createLink(x, y + doorLocation.getY(), z, LinkType.DUNGEON, orientation);
return true;
}

View file

@ -2,7 +2,6 @@ package StevenDimDoors.mod_pocketDim.world.gateways;
import java.util.ArrayList;
import java.util.Random;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.world.World;
@ -11,10 +10,9 @@ import net.minecraftforge.common.DimensionManager;
import StevenDimDoors.mod_pocketDim.mod_pocketDim;
import StevenDimDoors.mod_pocketDim.config.DDProperties;
import StevenDimDoors.mod_pocketDim.core.DimLink;
import StevenDimDoors.mod_pocketDim.core.LinkTypes;
import StevenDimDoors.mod_pocketDim.core.LinkType;
import StevenDimDoors.mod_pocketDim.core.NewDimData;
import StevenDimDoors.mod_pocketDim.core.PocketManager;
import StevenDimDoors.mod_pocketDim.items.ItemDimensionalDoor;
import StevenDimDoors.mod_pocketDim.world.PocketProvider;
import cpw.mods.fml.common.IWorldGenerator;
@ -107,7 +105,7 @@ public class GatewayGenerator implements IWorldGenerator
if (link == null)
{
dimension = PocketManager.getDimensionData(world);
link = dimension.createLink(x, y + 1, z, LinkTypes.DUNGEON,0);
link = dimension.createLink(x, y + 1, z, LinkType.DUNGEON,0);
}
else
{

View file

@ -4,7 +4,7 @@ import net.minecraft.item.ItemDoor;
import net.minecraft.world.World;
import StevenDimDoors.mod_pocketDim.mod_pocketDim;
import StevenDimDoors.mod_pocketDim.config.DDProperties;
import StevenDimDoors.mod_pocketDim.core.LinkTypes;
import StevenDimDoors.mod_pocketDim.core.LinkType;
import StevenDimDoors.mod_pocketDim.core.PocketManager;
import StevenDimDoors.mod_pocketDim.world.LimboProvider;
@ -30,7 +30,7 @@ public class GatewayLimbo extends BaseGateway
world.setBlock(x, y + 1, z - 1, blockID, 0, 3);
world.setBlock(x, y + 1, z + 1, blockID, 0, 3);
PocketManager.getDimensionData(world).createLink(x, y + 2, z, LinkTypes.DUNGEON, 0);
PocketManager.getDimensionData(world).createLink(x, y + 2, z, LinkType.DUNGEON, 0);
ItemDoor.placeDoorBlock(world, x, y + 1, z, 0, mod_pocketDim.transientDoor);
return true;
}

View file

@ -43,6 +43,7 @@ public class PrivatePocketRender implements ISimpleBlockRenderingHandler
renderer.renderFaceYNeg(block, (double)x, (double)y, (double)z, icon);
flag = true;
}
tessellator.setColorOpaque_F(1F, 1F, 1F);
if (renderer.renderAllFaces || block.shouldSideBeRendered(world, x, y + 1, z, 1))
{
@ -51,6 +52,7 @@ public class PrivatePocketRender implements ISimpleBlockRenderingHandler
}
tessellator.setColorOpaque_F(1F, 1F, 1F);
if (renderer.renderAllFaces || block.shouldSideBeRendered(world, x, y, z - 1, 2))
{
@ -59,6 +61,7 @@ public class PrivatePocketRender implements ISimpleBlockRenderingHandler
flag = true;
}
tessellator.setColorOpaque_F(1F, 1F, 1F);
if (renderer.renderAllFaces || block.shouldSideBeRendered(world, x, y, z + 1, 3))
{
@ -68,6 +71,7 @@ public class PrivatePocketRender implements ISimpleBlockRenderingHandler
flag = true;
}
tessellator.setColorOpaque_F(1F, 1F, 1F);
if (renderer.renderAllFaces || block.shouldSideBeRendered(world, x - 1, y, z, 4))
{
@ -77,6 +81,7 @@ public class PrivatePocketRender implements ISimpleBlockRenderingHandler
flag = true;
}
tessellator.setColorOpaque_F(1F, 1F, 1F);
if (renderer.renderAllFaces || block.shouldSideBeRendered(world, x + 1, y, z, 5))
{

View file

@ -19,6 +19,9 @@
"IsDungeon": {
"type":"boolean"
},
"PocketType": {
"type":"number"
},
"IsFilled": {
"type":"boolean"
},