Overhauled configuration #16

Merged
SenseiKiwi merged 2 commits from master into master 2013-06-14 06:08:39 +00:00
37 changed files with 3571 additions and 3745 deletions

View File

@@ -1,4 +1,5 @@
package StevenDimDoors.mod_pocketDim; package StevenDimDoors.mod_pocketDim;
import java.util.EnumSet; import java.util.EnumSet;
import java.util.Random; import java.util.Random;
@@ -11,17 +12,19 @@ import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.ITickHandler; import cpw.mods.fml.common.ITickHandler;
import cpw.mods.fml.common.TickType; import cpw.mods.fml.common.TickType;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
public class CommonTickHandler implements ITickHandler public class CommonTickHandler implements ITickHandler
{ {
Random rand= new Random(); private Random rand = new Random();
public int tickCount=0; public int tickCount=0;
public int tickCount2=0; public int tickCount2=0;
private static DDProperties properties = null;
public CommonTickHandler()
{
if (properties == null)
properties = DDProperties.instance();
}
@Override @Override
public void tickStart(EnumSet<TickType> type, Object... tickData) public void tickStart(EnumSet<TickType> type, Object... tickData)
@@ -82,14 +85,14 @@ public class CommonTickHandler implements ITickHandler
int blocktoReplace = world.getBlockId(link.locXCoord, link.locYCoord, link.locZCoord); int blocktoReplace = world.getBlockId(link.locXCoord, link.locYCoord, link.locZCoord);
if(!mod_pocketDim.blocksImmuneToRift.contains(blocktoReplace))//makes sure the rift doesnt replace a door or something if(!mod_pocketDim.blocksImmuneToRift.contains(blocktoReplace))//makes sure the rift doesn't replace a door or something
{ {
if(dimHelper.instance.getLinkDataFromCoords(link.locXCoord, link.locYCoord, link.locZCoord, link.locDimID)==null) if(dimHelper.instance.getLinkDataFromCoords(link.locXCoord, link.locYCoord, link.locZCoord, link.locDimID)==null)
{ {
} }
else else
{ {
dimHelper.getWorld(link.locDimID).setBlock(link.locXCoord, link.locYCoord, link.locZCoord, mod_pocketDim.blockRiftID); dimHelper.getWorld(link.locDimID).setBlock(link.locXCoord, link.locYCoord, link.locZCoord, properties.RiftBlockID);
TileEntityRift.class.cast(dimHelper.getWorld(link.locDimID).getBlockTileEntity(link.locXCoord, link.locYCoord, link.locZCoord)).hasGrownRifts=true; TileEntityRift.class.cast(dimHelper.getWorld(link.locDimID).getBlockTileEntity(link.locXCoord, link.locYCoord, link.locZCoord)).hasGrownRifts=true;
} }
} }
@@ -111,7 +114,7 @@ public class CommonTickHandler implements ITickHandler
if(tickCount2>10&&dimHelper.blocksToDecay!=null) if(tickCount2>10&&dimHelper.blocksToDecay!=null)
{ {
tickCount2=0; tickCount2=0;
if(!dimHelper.blocksToDecay.isEmpty()&&dimHelper.getWorld(mod_pocketDim.limboDimID)!=null) if(!dimHelper.blocksToDecay.isEmpty()&&dimHelper.getWorld(properties.LimboDimensionID)!=null)
{ {
@@ -120,10 +123,10 @@ public class CommonTickHandler implements ITickHandler
int index = rand.nextInt(dimHelper.blocksToDecay.size()); int index = rand.nextInt(dimHelper.blocksToDecay.size());
Point3D point = (Point3D) dimHelper.blocksToDecay.get(index); Point3D point = (Point3D) dimHelper.blocksToDecay.get(index);
int blockID = dimHelper.getWorld(mod_pocketDim.limboDimID).getBlockId(point.getX(), point.getY(), point.getZ()); int blockID = dimHelper.getWorld(properties.LimboDimensionID).getBlockId(point.getX(), point.getY(), point.getZ());
int idToSet=Block.stone.blockID; int idToSet=Block.stone.blockID;
if(blockID==0||blockID==mod_pocketDim.blockLimboID) if(blockID==0||blockID==properties.LimboBlockID)
{ {
dimHelper.blocksToDecay.remove(index); dimHelper.blocksToDecay.remove(index);
} }
@@ -146,10 +149,10 @@ public class CommonTickHandler implements ITickHandler
idToSet=Block.cobblestone.blockID; idToSet=Block.cobblestone.blockID;
} }
if(blockID==Block.gravel.blockID&&!dimHelper.getWorld(mod_pocketDim.limboDimID).isAirBlock(point.getX(), point.getY()-1, point.getZ())) if(blockID==Block.gravel.blockID&&!dimHelper.getWorld(properties.LimboDimensionID).isAirBlock(point.getX(), point.getY()-1, point.getZ()))
{ {
idToSet=mod_pocketDim.blockLimboID; idToSet=properties.LimboBlockID;
dimHelper.getWorld(mod_pocketDim.limboDimID).scheduleBlockUpdate(point.getX(), point.getY(), point.getZ(),10, idToSet); dimHelper.getWorld(properties.LimboDimensionID).scheduleBlockUpdate(point.getX(), point.getY(), point.getZ(),10, idToSet);
} }
else if(blockID==Block.gravel.blockID) else if(blockID==Block.gravel.blockID)
@@ -162,7 +165,7 @@ public class CommonTickHandler implements ITickHandler
if(idToSet!=-1) if(idToSet!=-1)
{ {
dimHelper.getWorld(mod_pocketDim.limboDimID).setBlock(point.getX(), point.getY(), point.getZ(), idToSet); dimHelper.getWorld(properties.LimboDimensionID).setBlock(point.getX(), point.getY(), point.getZ(), idToSet);
} }
} }

View File

@@ -16,15 +16,19 @@ import cpw.mods.fml.common.network.Player;
public class ConnectionHandler implements IConnectionHandler public class ConnectionHandler implements IConnectionHandler
{ {
private static boolean connected = false; private static boolean connected = false;
private static DDProperties properties = null;
//sends a packet to clients containing all the information about the dims and links. Lots of packets, actually. //sends a packet to clients containing all the information about the dims and links. Lots of packets, actually.
@Override @Override
public String connectionReceived(NetLoginHandler netHandler, INetworkManager manager) public String connectionReceived(NetLoginHandler netHandler, INetworkManager manager)
{ {
if (properties == null)
properties = DDProperties.instance();
Collection set = new ArrayList(); Collection set = new ArrayList();
set.addAll(dimHelper.dimList.keySet()); set.addAll(dimHelper.dimList.keySet());
PacketHandler.onClientJoinPacket(manager, dimHelper.dimList); PacketHandler.onClientJoinPacket(manager, dimHelper.dimList);
PacketHandler.onDimCreatedPacket(new DimData(mod_pocketDim.limboDimID, false, 0, 0, 0, 0, 0)); PacketHandler.onDimCreatedPacket(new DimData(properties.LimboDimensionID, false, 0, 0, 0, 0, 0));
return null; return null;
} }

View File

@@ -0,0 +1,204 @@
package StevenDimDoors.mod_pocketDim;
import java.io.File;
import net.minecraftforge.common.Configuration;
public class DDProperties
{
/**
* Block IDs
*/
public final int UnstableDoorID;
public final int DimensionalDoorID;
public final int WarpDoorID;
public final int TransTrapdoorID;
public final int TransientDoorID;
public final int FabricBlockID;
public final int RiftBlockID;
/**
* World Generation Block IDs
*/
public final int LimboBlockID;
public final int PermaFabricBlockID;
/**
* Item IDs
*/
public final int RiftBladeItemID;
public final int RiftSignatureItemID;
public final int RiftRemoverItemID;
public final int StableFabricItemID;
public final int StabilizedRiftSignatureItemID;
public final int DimensionalDoorItemID;
public final int UnstableDoorItemID;
public final int WarpDoorItemID;
/**
* Other IDs
*/
public final int LimboBiomeID;
public final int PocketBiomeID;
public final int LimboDimensionID;
public final int LimboProviderID;
public final int PocketProviderID;
public final int DoorRenderEntityID;
public final int MonolithEntityID;
/**
* Crafting Flags
*/
public final boolean CraftingDimensionaDoorAllowed;
public final boolean CraftingWarpDoorAllowed;
public final boolean CraftingRiftSignatureAllowed;
public final boolean CraftingRiftRemoverAllowed;
public final boolean CraftingUnstableDoorAllowed;
public final boolean CraftingRiftBladeAllowed;
public final boolean CraftingTransTrapdoorAllowed;
public final boolean CraftingStabilizedRiftSignatureAllowed;
public final boolean CraftingStableFabricAllowed;
/**
* Other Flags
*/
public final boolean WorldRiftGenerationEnabled;
public final boolean RiftSpreadEnabled;
public final boolean RiftGriefingEnabled;
public final boolean RiftsSpawnEndermenEnabled;
public final boolean LimboEnabled;
public final boolean HardcoreLimboEnabled;
public final boolean LimboReturnsInventoryEnabled;
public final boolean DoorRenderingEnabled;
public final boolean TNFREAKINGT_Enabled;
/**
* Other
*/
public final int NonTntWeight;
public final int RiftSpreadModifier;
public final int LimboReturnRange;
public final String CustomSchematicDirectory;
//Singleton instance
private static DDProperties instance = null;
//Path for custom dungeons within configuration directory
private final String CUSTOM_SCHEMATIC_SUBDIRECTORY = "/DimDoors_Custom_schematics";
//Names of categories
private final String CATEGORY_CRAFTING = "crafting";
private final String CATEGORY_ENTITY = "entity";
private final String CATEGORY_DIMENSION = "dimension";
private final String CATEGORY_PROVIDER = "provider";
private final String CATEGORY_BIOME = "biome";
private DDProperties(File configFile)
{
//Load the configuration. This must be done in the constructor, even though I'd rather have a separate
//function, because "blank final" variables must be initialized within the constructor.
CustomSchematicDirectory = configFile.getParent() + CUSTOM_SCHEMATIC_SUBDIRECTORY;
Configuration config = new Configuration(configFile);
config.load();
CraftingDimensionaDoorAllowed = config.get(CATEGORY_CRAFTING, "Allow Crafting Dimesional Door", true).getBoolean(true);
CraftingWarpDoorAllowed = config.get(CATEGORY_CRAFTING, "Allow Crafting Warp Door", true).getBoolean(true);
CraftingUnstableDoorAllowed = config.get(CATEGORY_CRAFTING, "Allow Crating Unstable Door", true).getBoolean(true);
CraftingTransTrapdoorAllowed = config.get(CATEGORY_CRAFTING, "Allow Crafting Transdimensional Trapdoor", true).getBoolean(true);
CraftingRiftSignatureAllowed = config.get(CATEGORY_CRAFTING, "Allow Crafting Rift Signature", true).getBoolean(true);
CraftingRiftRemoverAllowed = config.get(CATEGORY_CRAFTING, "Allow Crafting Rift Remover", true).getBoolean(true);
CraftingStabilizedRiftSignatureAllowed = config.get(CATEGORY_CRAFTING, "Allow Crafting Stabilized Rift Signature", true).getBoolean(true);
CraftingRiftBladeAllowed = config.get(CATEGORY_CRAFTING, "Allow Crafting Rift Blade", true).getBoolean(true);
CraftingStableFabricAllowed = config.get(CATEGORY_CRAFTING, "Allow Crafting Stable Fabric", true).getBoolean(true);
RiftGriefingEnabled = config.get(Configuration.CATEGORY_GENERAL, "Enable Rift Griefing", true,
"Sets whether rifts destroy blocks around them or not").getBoolean(true);
RiftSpreadEnabled = config.get(Configuration.CATEGORY_GENERAL, "Enable Rift Spread", true,
"Sets whether rifts create more rifts when they are near other rifts").getBoolean(true);
RiftsSpawnEndermenEnabled = config.get(Configuration.CATEGORY_GENERAL, "Enable Endermen Spawning from Rifts", true,
"Sets whether groups of connected rifts will spawn Endermen").getBoolean(true);
LimboEnabled = config.get(Configuration.CATEGORY_GENERAL, "Enable Limbo", true,
"Sets whether the Limbo dimension is activated").getBoolean(true);
LimboReturnsInventoryEnabled = config.get(Configuration.CATEGORY_GENERAL, "Enable Limbo Returns Inventory", true,
"Sets whether players keep their inventories upon dying and respawning in Limbo").getBoolean(true);
HardcoreLimboEnabled = config.get(Configuration.CATEGORY_GENERAL, "Enable Hardcore Limbo", false,
"Sets whether players that die in Limbo will respawn there").getBoolean(false);
LimboReturnRange = config.get(Configuration.CATEGORY_GENERAL, "Limbo Return Range", 500,
"Sets the farthest distance that Limbo can send you upon returning to the Overworld").getInt();
DoorRenderingEnabled = config.get(Configuration.CATEGORY_GENERAL, "Enable Door Rendering", true).getBoolean(true);
TNFREAKINGT_Enabled = config.get(Configuration.CATEGORY_GENERAL, "EXPLOSIONS!!???!!!?!?!!", false).getBoolean(false);
NonTntWeight = config.get(Configuration.CATEGORY_GENERAL, "HOWMUCHTNT", 25,
"Weighs the chance that a block will not be TNT. Must be greater than or equal to 0. " +
"EXPLOSIONS must be set to true for this to have any effect.").getInt();
DoorRenderEntityID=config.get(CATEGORY_ENTITY, "Door Render Entity ID", 89).getInt();
MonolithEntityID = config.get(CATEGORY_ENTITY, "Monolith Entity ID", 125).getInt();
DimensionalDoorID = config.getBlock("Dimensional Door Block ID", 1970).getInt();
TransTrapdoorID = config.getBlock("Transdimensional Trapdoor Block ID", 1971).getInt();
FabricBlockID =config.getBlock("Fabric Of Reality Block ID", 1973).getInt();
WarpDoorID = config.getBlock("Warp Door Block ID", 1975).getInt();
RiftBlockID = config.getBlock("Rift Block ID", 1977).getInt();
UnstableDoorID = config.getBlock("Unstable Door Block ID", 1978).getInt();
TransientDoorID = config.getBlock("Transient Door Block ID", 1979).getInt();
WarpDoorItemID = config.getItem("Warp Door Item ID", 5670).getInt();
RiftRemoverItemID = config.getItem("Rift Remover Item ID", 5671).getInt();
StableFabricItemID = config.getItem("Stable Fabric Item ID", 5672).getInt();
UnstableDoorItemID = config.getItem("Unstable Door Item ID", 5673).getInt();
DimensionalDoorItemID = config.getItem("Dimensional Door Item ID", 5674).getInt();
RiftSignatureItemID = config.getItem("Rift Signature Item ID", 5675).getInt();
RiftBladeItemID = config.getItem("Rift Blade Item ID", 5676).getInt();
StabilizedRiftSignatureItemID = config.getItem("Stabilized Rift Signature Item ID", 5677).getInt();
LimboBlockID = config.getTerrainBlock("World Generation Block IDs - must be less than 256", "Limbo Block ID", 217,
"Blocks used for the terrain in Limbo").getInt();
PermaFabricBlockID = config.getTerrainBlock("World Generation Block IDs - must be less than 256",
"Perma Fabric Block ID", 220, "Blocks used for enclosing pocket dimensions").getInt();
LimboDimensionID = config.get(CATEGORY_DIMENSION, "Limbo Dimension ID", -23).getInt();
PocketProviderID = config.get(CATEGORY_PROVIDER, "Pocket Provider ID", 24).getInt();
LimboProviderID = config.get(CATEGORY_PROVIDER, "Limbo Provider ID", 13).getInt();
WorldRiftGenerationEnabled = config.get(Configuration.CATEGORY_GENERAL, "Enable Rift World Generation", true,
"Sets whether dungeon rifts generate in dimensions other than Limbo").getBoolean(true);
RiftSpreadModifier = config.get(Configuration.CATEGORY_GENERAL, "Rift Spread Modifier", 3,
"Sets the number of times a rift can spread. 0 prevents rifts from spreading at all. " +
"A value greater than 5 is not recommended as the growth is exponential.").getInt();
LimboBiomeID = config.get(CATEGORY_BIOME, "Limbo Biome ID", 251).getInt();
PocketBiomeID = config.get(CATEGORY_BIOME, "Pocket Biome ID", 250).getInt();
config.save();
}
public static DDProperties create(File configFile)
{
if (instance == null)
instance = new DDProperties(configFile);
else
throw new IllegalStateException("Cannot create DDProperties twice");
return instance;
}
public static DDProperties instance()
{
if (instance == null)
{
//This is to prevent some frustrating bugs that could arise when classes
//are loaded in the wrong order. Trust me, I had to squash a few...
throw new IllegalStateException("Instance of DDProperties requested before properties have been loaded");
}
return instance;
}
}

View File

@@ -33,6 +33,8 @@ public class DimData implements Serializable
static final long serialVersionUID = 454342L; static final long serialVersionUID = 454342L;
private static DDProperties properties = null;
public DimData(int dimID, boolean isPocket, int depth, LinkData exitLinkData) public DimData(int dimID, boolean isPocket, int depth, LinkData exitLinkData)
{ {
this.dimID=dimID; this.dimID=dimID;
@@ -41,16 +43,13 @@ public class DimData implements Serializable
this.exitDimLink= exitLinkData; this.exitDimLink= exitLinkData;
if (properties == null)
properties = DDProperties.instance();
} }
public DimData(int dimID, boolean isPocket, int depth, int exitLinkDimID, int exitX, int exitY, int exitZ) public DimData(int dimID, boolean isPocket, int depth, int exitLinkDimID, int exitX, int exitY, int exitZ)
{ {
this.dimID=dimID; this(dimID, isPocket, depth, new LinkData(exitLinkDimID, exitX, exitY, exitZ));
this.depth=depth;
this.isPocket=isPocket;
this.exitDimLink= new LinkData(exitLinkDimID, exitX, exitY, exitZ);
} }
public LinkData findNearestRift(World world, int range, int x, int y, int z) public LinkData findNearestRift(World world, int range, int x, int y, int z)
@@ -67,7 +66,7 @@ public class DimData implements Serializable
{ {
while (k<range) while (k<range)
{ {
if(world.getBlockId(x+i, y+j, z+k)==mod_pocketDim.blockRiftID&&MathHelper.abs(i)+MathHelper.abs(j)+MathHelper.abs(k)<distance) if(world.getBlockId(x+i, y+j, z+k)==properties.RiftBlockID&&MathHelper.abs(i)+MathHelper.abs(j)+MathHelper.abs(k)<distance)
{ {
if(MathHelper.abs(i)+MathHelper.abs(j)+MathHelper.abs(k)!=0) if(MathHelper.abs(i)+MathHelper.abs(j)+MathHelper.abs(k)!=0)
{ {
@@ -106,7 +105,7 @@ public class DimData implements Serializable
{ {
while (k<range) while (k<range)
{ {
if(world.getBlockId(x+i, y+j, z+k)==mod_pocketDim.blockRiftID) if(world.getBlockId(x+i, y+j, z+k)==properties.RiftBlockID)
{ {
if(MathHelper.abs(i)+MathHelper.abs(j)+MathHelper.abs(k)!=0) if(MathHelper.abs(i)+MathHelper.abs(j)+MathHelper.abs(k)!=0)
{ {
@@ -187,7 +186,7 @@ public class DimData implements Serializable
public boolean isLimbo() public boolean isLimbo()
{ {
if(this.dimID==mod_pocketDim.limboDimID) if(this.dimID==properties.LimboDimensionID)
{ {
return true; return true;

View File

@@ -1,224 +0,0 @@
package StevenDimDoors.mod_pocketDim;
import java.io.File;
import net.minecraftforge.common.Configuration;
import net.minecraftforge.common.Property;
public class DimDoorsConfig
{
/**
* BlockIDs
*/
public static Property UnstableDoorID;
public static Property DimensionalDoorID;
public static Property WarpDoorID;
public static Property TransTrapdoorID;
public static Property TransientDoorID;
public static Property FabricBlockID;
public static Property RiftBlockID;
/**
* WorldGenBlockIDs
*/
public static Property LimboBlockID;
public static Property PermaFabricBlockID;
/**
* ItemIDs
*/
public static Property RiftBladeItemID;
public static Property RiftSignatureItemID;
public static Property RiftRemoverItemID;
public static Property StableFabricItemID;
public static Property StabilizedRiftSignatureItemID;
public static Property DimensionalDoorItemID;
public static Property UnstableDoorItemID;
public static Property WarpDoorItemID;
/**
* Other IDs
*/
public static Property LimboBiomeID;
public static Property PocketBiomeID;
public static Property LimboDimensionID;
public static Property limboProviderID;
public static Property PocketProviderID;
public static Property DoorRenderEntityID;
public static Property MonolithEntityID;
/**
* CraftingFlags
*/
public static Property CraftingDimensionaDoorAllowed;
public static Property CraftingWarpDoorAllowed;
public static Property CraftingRiftSignatureAllowed;
public static Property CraftingRiftRemoverAllowed;
public static Property CraftingUnstableDoorAllowed;
public static Property CraftingRiftBladeAllowed;
public static Property CraftingTransTrapdoorAllowed;
public static Property CraftingStabilizedRiftSignatureAllowed;
/**
* OtherFlags
*/
public static Property WorldRiftGenerationEnabled;
public static Property RiftSpreadEnabled;
public static Property RiftGriefingEnabled;
public static Property RiftsSpawnEndermenEnabled;
public static Property LimboEnabled;
public static Property LimboRespawningEnabled;
public static Property LimboReturnsInventoryEnabled;
public static Property DoorRenderingEnabled;
public static Property TNFREAKINGT_Enabled;
/**
* Other
*/
public static Property NonTntWeight;
public static Property RiftSpreadModifier;
public static Property LimboReturnRange;
public static void loadConfig(File configFile)
{
Configuration config = new Configuration(configFile);
config.load();
CraftingDimensionaDoorAllowed = config.get("Crafting control", "bCraftDimDoor", true);
CraftingWarpDoorAllowed = config.get("Crafting control", "bCraftExitDoor", true);
CraftingUnstableDoorAllowed = config.get("Crafting control", "bCraftChaosDoor", true);
CraftingTransTrapdoorAllowed = config.get("Crafting control", "bCraftDimHatch", true);
CraftingRiftSignatureAllowed = config.get("Crafting control", "bCraftRiftSig", true);
CraftingRiftRemoverAllowed = config.get("Crafting control", "bCraftRiftRemover", true);
CraftingStabilizedRiftSignatureAllowed = config.get("Crafting control", "bCraftStabilizedRiftSig", true);
CraftingRiftBladeAllowed = config.get("Crafting control", "bCraftRiftBlade", true);
LimboRespawningEnabled = config.get(Configuration.CATEGORY_GENERAL, "bHardcoreLimbo", false);
LimboRespawningEnabled.comment = "True causes the player to respawn in limbo if they die in limbo";
TNFREAKINGT_Enabled = config.get("Configuration.CATEGORY_GENERAL", "EXPLOSIONS!!???!!!?!?!!", false);
RiftGriefingEnabled = config.get(Configuration.CATEGORY_GENERAL, "bRiftGreif", true);
RiftGriefingEnabled.comment = "toggles whether rifts eat blocks around them or not";
DoorRenderingEnabled = config.get(Configuration.CATEGORY_GENERAL, "bEnableDoorRender", true);
LimboReturnsInventoryEnabled = config.get(Configuration.CATEGORY_GENERAL, "bLimboReturnInventory", true);
LimboReturnsInventoryEnabled.comment="Toggles whether or not your inventory is returned upon dying and respawning in limbo";
NonTntWeight=config.get(Configuration.CATEGORY_GENERAL, "HOWMUCHTNT", 25);
NonTntWeight.comment="Chance that a block will not be TNT. must be greater than or equal to 0. Explosions!?!?? must be set to true, and you figure out what it does. ";
MonolithEntityID=config.get(Configuration.CATEGORY_GENERAL, "monolithID", 125);
DimensionalDoorID = config.getBlock("DimensionalDoorID", 1970);
WarpDoorID = config.getBlock("WarpDoorID", 1975);
UnstableDoorID = config.getBlock("UnstableDoorID", 1978);
TransTrapdoorID = config.getBlock("TransdimensionalTrapdoorID", 1971);
TransientDoorID = config.getBlock("TransientDoorID", 1979);
FabricBlockID =config.getBlock("FabricOfRealityBlockID", 1973);
RiftBlockID = config.getBlock("RiftBlockID", 1977);
StabilizedRiftSignatureItemID=config.getItem("Stabilized Rift Signature", 5677);
RiftBladeItemID=config.getItem("Rift Blade", 5676);
UnstableDoorItemID=config.getItem("Chaos Door", 5673);
RiftRemoverItemID=config.getItem("Rift Remover", 5671);
StableFabricItemID=config.getItem("Stable Fabric", 5672);
WarpDoorItemID=config.getItem("Warp Door Item", 5673);
DimensionalDoorItemID=config.getItem("Dimensional Door Item", 5674);
RiftSignatureItemID=config.getItem("Rift Signature Item", 5675);
LimboEnabled=config.get(Configuration.CATEGORY_GENERAL, "bLimboActive", true);
LimboBlockID=config.get("Worldgen Block IDs - must be less than 256", "blockLimbo", 217);
PermaFabricBlockID=config.get("Worldgen Block IDs - must be less than 256", "blockFabricPerm", 220);
LimboDimensionID=config.get(Configuration.CATEGORY_GENERAL, "limboDimID", -23);
DoorRenderEntityID=config.get(Configuration.CATEGORY_GENERAL, "doorRenderID", 89);
LimboReturnRange=config.get(Configuration.CATEGORY_GENERAL, "limboReturnRange", 500);
LimboReturnRange.comment = "The farthest possible distance that limbo can send you upon return to the overworld.";
PocketProviderID=config.get(Configuration.CATEGORY_GENERAL, "pocketProviderID", 24);
limboProviderID=config.get(Configuration.CATEGORY_GENERAL, "limboProvider ID", 13);
WorldRiftGenerationEnabled = config.get(Configuration.CATEGORY_GENERAL, "bWorldGenRifts", true);
WorldRiftGenerationEnabled.comment = "Toggles the natrual generation of dungeon rifts in other dimensions";
LimboEnabled = config.get(Configuration.CATEGORY_GENERAL, "bLimboActive", true);
LimboEnabled.comment="Toggles if dying in a pocket dim respawns the player in limbo";
RiftSpreadModifier = config.get(Configuration.CATEGORY_GENERAL, "riftSpreadModifier", 3);
RiftSpreadModifier.comment = "How many times a rift can spread- 0 prevents rifts from spreading at all. I dont recommend putting it highter than 5, because its rather exponential. ";
LimboBiomeID=config.get(Configuration.CATEGORY_GENERAL, "limboBiomeID", 251);
PocketBiomeID=config.get(Configuration.CATEGORY_GENERAL, "pocketBiomeID", 250);
config.save();
mod_pocketDim.blockDimWallID=FabricBlockID.getInt();
mod_pocketDim.blockDimWallPermID=PermaFabricBlockID.getInt();
mod_pocketDim.blockLimboID=LimboBlockID.getInt();
mod_pocketDim.blockRiftID=LimboBlockID.getInt();
mod_pocketDim.dimDoorID=DimensionalDoorID.getInt();
mod_pocketDim.chaosDoorID=UnstableDoorID.getInt();
mod_pocketDim.transientDoorID=TransientDoorID.getInt();
mod_pocketDim.dimHatchID=TransTrapdoorID.getInt();
mod_pocketDim.ExitDoorID=WarpDoorID.getInt();
mod_pocketDim.blockRiftID=RiftBlockID.getInt();
mod_pocketDim.DoorRenderID=DoorRenderEntityID.getInt();
mod_pocketDim.hardcoreLimbo=LimboRespawningEnabled.getBoolean(false);
mod_pocketDim.enableDimTrapDoor=CraftingTransTrapdoorAllowed.getBoolean(true);
mod_pocketDim.enableDoorOpenGL=DoorRenderingEnabled.getBoolean(true);
mod_pocketDim.enableIronDimDoor=CraftingDimensionaDoorAllowed.getBoolean(true);
mod_pocketDim.enableRiftBlade=CraftingRiftBladeAllowed.getBoolean(true);
mod_pocketDim.enableRiftRemover=CraftingRiftBladeAllowed.getBoolean(true);
mod_pocketDim.enableRiftSignature=CraftingRiftSignatureAllowed.getBoolean(true);
mod_pocketDim.enableUnstableDoor=CraftingUnstableDoorAllowed.getBoolean(true);
mod_pocketDim.enableWoodenDimDoor=CraftingWarpDoorAllowed.getBoolean(true);
mod_pocketDim.enableStabilizedRiftSignature=CraftingStabilizedRiftSignatureAllowed.getBoolean(true);
mod_pocketDim.itemChaosDoorID=UnstableDoorItemID.getInt();
mod_pocketDim.itemDimDoorID=DimensionalDoorItemID.getInt();
mod_pocketDim.itemExitDoorID=WarpDoorItemID.getInt();
mod_pocketDim.itemLinkSignatureID=RiftSignatureItemID.getInt();
mod_pocketDim.itemRiftBladeID=RiftBladeItemID.getInt();
mod_pocketDim.itemRiftRemoverID=RiftRemoverItemID.getInt();
mod_pocketDim.itemStabilizedLinkSignatureID=StabilizedRiftSignatureItemID.getInt();
mod_pocketDim.itemStableFabricID=StableFabricItemID.getInt();
mod_pocketDim.obeliskID=MonolithEntityID.getInt();
mod_pocketDim.limboBiomeID=LimboBiomeID.getInt();
mod_pocketDim.pocketBiomeID=PocketBiomeID.getInt();
mod_pocketDim.providerID=PocketProviderID.getInt();
mod_pocketDim.limboProviderID=limboProviderID.getInt();
mod_pocketDim.limboExitRange=LimboReturnRange.getInt();
mod_pocketDim.TNFREAKINGT=TNFREAKINGT_Enabled.getBoolean(false);
mod_pocketDim.riftsInWorldGen=WorldRiftGenerationEnabled.getBoolean(true);
mod_pocketDim.riftSpreadFactor=RiftSpreadModifier.getInt();
mod_pocketDim.returnInventory=LimboReturnsInventoryEnabled.getBoolean(true);
mod_pocketDim.HOW_MUCH_TNT=NonTntWeight.getInt() + 1; //workaround so the generator code doesn't have to be changed
mod_pocketDim.limboDimID = LimboDimensionID.getInt();
mod_pocketDim.isLimboActive= LimboEnabled.getBoolean(true);
}
}

View File

@@ -1,4 +1,5 @@
package StevenDimDoors.mod_pocketDim; package StevenDimDoors.mod_pocketDim;
import java.io.File; import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Iterator; import java.util.Iterator;
@@ -32,9 +33,17 @@ import net.minecraftforge.event.entity.player.PlayerDropsEvent;
import net.minecraftforge.event.entity.player.PlayerEvent; import net.minecraftforge.event.entity.player.PlayerEvent;
import net.minecraftforge.event.entity.player.PlayerInteractEvent; import net.minecraftforge.event.entity.player.PlayerInteractEvent;
import net.minecraftforge.event.world.WorldEvent; import net.minecraftforge.event.world.WorldEvent;
public class EventHookContainer public class EventHookContainer
{ {
Random rand= new Random(); private static Random rand = new Random();
private static DDProperties properties = null;
public EventHookContainer()
{
if (properties == null)
properties = DDProperties.instance();
}
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
@@ -46,14 +55,8 @@ public class EventHookContainer
event.manager.soundPoolSounds.addSound("mods/DimDoors/sfx/monk.ogg", (mod_pocketDim.class.getResource("/mods/DimDoors/sfx/monk.ogg"))); event.manager.soundPoolSounds.addSound("mods/DimDoors/sfx/monk.ogg", (mod_pocketDim.class.getResource("/mods/DimDoors/sfx/monk.ogg")));
event.manager.soundPoolSounds.addSound("mods/DimDoors/sfx/crack.ogg", (mod_pocketDim.class.getResource("/mods/DimDoors/sfx/crack.ogg"))); event.manager.soundPoolSounds.addSound("mods/DimDoors/sfx/crack.ogg", (mod_pocketDim.class.getResource("/mods/DimDoors/sfx/crack.ogg")));
event.manager.soundPoolSounds.addSound("mods/DimDoors/sfx/tearing.ogg", (mod_pocketDim.class.getResource("/mods/DimDoors/sfx/tearing.ogg"))); event.manager.soundPoolSounds.addSound("mods/DimDoors/sfx/tearing.ogg", (mod_pocketDim.class.getResource("/mods/DimDoors/sfx/tearing.ogg")));
} }
@ForgeSubscribe @ForgeSubscribe
public void onWorldLoad(WorldEvent.Load event) public void onWorldLoad(WorldEvent.Load event)
{ {
@@ -87,7 +90,7 @@ public class EventHookContainer
int blocktoReplace = world.getBlockId(link.locXCoord, link.locYCoord, link.locZCoord); int blocktoReplace = world.getBlockId(link.locXCoord, link.locYCoord, link.locZCoord);
if(!mod_pocketDim.blocksImmuneToRift.contains(blocktoReplace)) if(!mod_pocketDim.blocksImmuneToRift.contains(blocktoReplace))
{ {
dimHelper.getWorld(link.locDimID).setBlock(link.locXCoord, link.locYCoord, link.locZCoord, mod_pocketDim.blockRiftID); dimHelper.getWorld(link.locDimID).setBlock(link.locXCoord, link.locYCoord, link.locZCoord, properties.RiftBlockID);
} }
@@ -120,7 +123,7 @@ public class EventHookContainer
public void onPlayerFall(LivingFallEvent event) public void onPlayerFall(LivingFallEvent event)
{ {
event.setCanceled(event.entity.worldObj.provider.dimensionId==mod_pocketDim.limboDimID); event.setCanceled(event.entity.worldObj.provider.dimensionId==properties.LimboDimensionID);
} }
@@ -132,7 +135,7 @@ public class EventHookContainer
/** /**
if(event.entityPlayer.worldObj.provider.dimensionId==mod_pocketDim.limboDimID&&event.action==PlayerInteractEvent.Action.RIGHT_CLICK_BLOCK) if(event.entityPlayer.worldObj.provider.dimensionId==properties.LimboDimensionID&&event.action==PlayerInteractEvent.Action.RIGHT_CLICK_BLOCK)
{ {

View File

@@ -32,11 +32,8 @@ public class PacketHandler implements IPacketHandler
public static int removeLinkPacketID = 5; public static int removeLinkPacketID = 5;
public static int linkKeyPacketID = 7; public static int linkKeyPacketID = 7;
public static int dimPacketID = 6; public static int dimPacketID = 6;
public static int dimUpdatePacketID = 1; public static int dimUpdatePacketID = 1;
private static DDProperties properties = null;
@Override @Override
public void onPacketData(INetworkManager manager, Packet250CustomPayload packet, Player player) public void onPacketData(INetworkManager manager, Packet250CustomPayload packet, Player player)
@@ -45,7 +42,6 @@ public class PacketHandler implements IPacketHandler
if (packet.channel.equals("DimDoorPackets")) if (packet.channel.equals("DimDoorPackets"))
{ {
handleRandom(packet,player); handleRandom(packet,player);
} }
@@ -78,7 +74,10 @@ public class PacketHandler implements IPacketHandler
} }
if(dimDataToAdd.isPocket) if(dimDataToAdd.isPocket)
{ {
dimHelper.registerDimension(dimId, mod_pocketDim.providerID); if (properties == null)
properties = DDProperties.instance();
dimHelper.registerDimension(dimId, properties.PocketProviderID);
//System.out.println("regsitered dim ID" + dimId); //System.out.println("regsitered dim ID" + dimId);
} }

View File

@@ -12,7 +12,13 @@ import cpw.mods.fml.common.IPlayerTracker;
public class PlayerRespawnTracker implements IPlayerTracker public class PlayerRespawnTracker implements IPlayerTracker
{ {
public PlayerRespawnTracker()
{
if (properties == null)
properties = DDProperties.instance();
}
private static DDProperties properties = null;
@Override @Override
public void onPlayerLogin(EntityPlayer player) { public void onPlayerLogin(EntityPlayer player) {
@@ -35,10 +41,10 @@ public class PlayerRespawnTracker implements IPlayerTracker
@Override @Override
public void onPlayerRespawn(EntityPlayer player) public void onPlayerRespawn(EntityPlayer player)
{ {
if(player.worldObj.provider.dimensionId==mod_pocketDim.limboDimID) if(player.worldObj.provider.dimensionId==properties.LimboDimensionID)
{ {
if(!player.worldObj.isRemote&&mod_pocketDim.returnInventory) if(!player.worldObj.isRemote && properties.LimboReturnsInventoryEnabled)
{ {
if(player.username!=null) if(player.username!=null)

View File

@@ -23,17 +23,23 @@ public class RiftGenerator implements IWorldGenerator
Random rand = new Random(); Random rand = new Random();
boolean shouldGenHere=true; boolean shouldGenHere=true;
LinkData link; LinkData link;
DimData dimData; DimData dimData;
private static DDProperties properties = null;
public RiftGenerator()
{
if (properties == null)
properties = DDProperties.instance();
}
@Override @Override
public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider) public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider)
{ {
//Long ntime = System.nanoTime(); //Long ntime = System.nanoTime();
shouldGenHere=true; shouldGenHere=true;
if(world.provider.getDimensionName()=="PocketDim"||!mod_pocketDim.riftsInWorldGen ||world.isRemote) if (world.provider.getDimensionName()=="PocketDim"|| !properties.WorldRiftGenerationEnabled || world.isRemote)
{ {
this.shouldGenHere=false; this.shouldGenHere=false;
@@ -144,13 +150,13 @@ public class RiftGenerator implements IWorldGenerator
} }
if(random.nextInt(250)==0&&world.provider.getDimensionName()!="PocketDim"&&!world.isRemote&&mod_pocketDim.riftsInWorldGen) if(random.nextInt(250)==0&&world.provider.getDimensionName()!="PocketDim"&&!world.isRemote && properties.WorldRiftGenerationEnabled)
{ {
// System.out.println("tryingToGen"); // System.out.println("tryingToGen");
int blockID=Block.stoneBrick.blockID; int blockID=Block.stoneBrick.blockID;
if(world.provider.dimensionId==mod_pocketDim.limboDimID) if(world.provider.dimensionId==properties.LimboDimensionID)
{ {
blockID= mod_pocketDim.blockLimboID; blockID= properties.LimboBlockID;
} }
i=chunkX*16-random.nextInt(16); i=chunkX*16-random.nextInt(16);
k=chunkZ*16-random.nextInt(16); k=chunkZ*16-random.nextInt(16);

View File

@@ -62,18 +62,12 @@ public class SchematicLoader
public int cZ; public int cZ;
public int cY; public int cY;
public boolean didRead = false; public boolean didRead = false;
public String schematic; public String schematic;
public SchematicLoader() private DDProperties properties = DDProperties.instance();
{
}
public SchematicLoader() { }
public void init(LinkData link) public void init(LinkData link)
{ {
@@ -944,12 +938,12 @@ public class SchematicLoader
if(blockToReplace==Block.doorIron.blockID) if(blockToReplace==Block.doorIron.blockID)
{ {
setBlockDirectly(world,i+xCooe,j+yCooe,k+zCooe,mod_pocketDim.dimDoorID, transMeta ); setBlockDirectly(world,i+xCooe,j+yCooe,k+zCooe,properties.DimensionalDoorID, transMeta );
} }
else else
if(blockToReplace==Block.doorWood.blockID) if(blockToReplace==Block.doorWood.blockID)
{ {
setBlockDirectly(world,i+xCooe,j+yCooe,k+zCooe,mod_pocketDim.ExitDoorID, transMeta ); setBlockDirectly(world,i+xCooe,j+yCooe,k+zCooe,properties.WarpDoorID, transMeta );
} }
else else
{ {
@@ -1029,7 +1023,7 @@ public class SchematicLoader
for(Point3D point : this.sideLinks) for(Point3D point : this.sideLinks)
{ {
if(world.getBlockId(point.getX(), point.getY(), point.getZ())==mod_pocketDim.dimDoorID&&world.getBlockId(point.getX(), point.getY()-1, point.getZ())==mod_pocketDim.dimDoorID) if(world.getBlockId(point.getX(), point.getY(), point.getZ())==properties.DimensionalDoorID&&world.getBlockId(point.getX(), point.getY()-1, point.getZ())==properties.DimensionalDoorID)
{ {
int depth = dimHelper.instance.getDimDepth(link.locDimID); int depth = dimHelper.instance.getDimDepth(link.locDimID);
@@ -1080,14 +1074,14 @@ public class SchematicLoader
try try
{ {
if(world.getBlockId(point.getX(), point.getY(), point.getZ())==mod_pocketDim.ExitDoorID&&world.getBlockId(point.getX(), point.getY()-1, point.getZ())==mod_pocketDim.ExitDoorID&&world.getBlockId(point.getX(), point.getY()-2, point.getZ())==Block.sandStone.blockID) if(world.getBlockId(point.getX(), point.getY(), point.getZ())==properties.WarpDoorID&&world.getBlockId(point.getX(), point.getY()-1, point.getZ())==properties.WarpDoorID&&world.getBlockId(point.getX(), point.getY()-2, point.getZ())==Block.sandStone.blockID)
{ {
LinkData randomLink=dimHelper.instance.getRandomLinkData(false); LinkData randomLink=dimHelper.instance.getRandomLinkData(false);
LinkData sideLink = new LinkData(link.destDimID,dimHelper.dimList.get(link.locDimID).exitDimLink.destDimID,point.getX(), point.getY(), point.getZ(),point.getX(), 0, point.getZ(),true,world.getBlockMetadata(point.getX(), point.getY()-1, point.getZ())); LinkData sideLink = new LinkData(link.destDimID,dimHelper.dimList.get(link.locDimID).exitDimLink.destDimID,point.getX(), point.getY(), point.getZ(),point.getX(), 0, point.getZ(),true,world.getBlockMetadata(point.getX(), point.getY()-1, point.getZ()));
if(sideLink.destDimID==mod_pocketDim.limboDimID) if(sideLink.destDimID==properties.LimboDimensionID)
{ {
sideLink.destDimID=0; sideLink.destDimID=0;
} }
@@ -1110,7 +1104,7 @@ public class SchematicLoader
dimHelper.instance.createLink(sideLink); dimHelper.instance.createLink(sideLink);
dimHelper.instance.createLink(sideLink.destDimID , sideLink.locDimID, sideLink.destXCoord, sideLink.destYCoord, sideLink.destZCoord, sideLink.locXCoord, sideLink.locYCoord, sideLink.locZCoord, dimHelper.instance.flipDoorMetadata(sideLink.linkOrientation)); dimHelper.instance.createLink(sideLink.destDimID , sideLink.locDimID, sideLink.destXCoord, sideLink.destYCoord, sideLink.destZCoord, sideLink.locXCoord, sideLink.locYCoord, sideLink.locZCoord, dimHelper.instance.flipDoorMetadata(sideLink.linkOrientation));
if(world.getBlockId(point.getX(), point.getY()-3, point.getZ())==mod_pocketDim.blockDimWallID) if(world.getBlockId(point.getX(), point.getY()-3, point.getZ()) == properties.FabricBlockID)
{ {
setBlockDirectly(world,point.getX(), point.getY()-2, point.getZ(),Block.stoneBrick.blockID,0); setBlockDirectly(world,point.getX(), point.getY()-2, point.getZ(),Block.stoneBrick.blockID,0);
@@ -1121,7 +1115,7 @@ public class SchematicLoader
} }
} }
else if ((world.getBlockId(point.getX(), point.getY(), point.getZ())==mod_pocketDim.ExitDoorID&&world.getBlockId(point.getX(), point.getY()-1, point.getZ())==mod_pocketDim.ExitDoorID&&world.getBlockId(point.getX(), point.getY()-2, point.getZ())!=Block.sandStone.blockID)) else if ((world.getBlockId(point.getX(), point.getY(), point.getZ()) == properties.WarpDoorID&&world.getBlockId(point.getX(), point.getY()-1, point.getZ())==properties.WarpDoorID&&world.getBlockId(point.getX(), point.getY()-2, point.getZ())!=Block.sandStone.blockID))
{ {
this.incomingLink = point; this.incomingLink = point;
} }
@@ -1168,7 +1162,6 @@ public class SchematicLoader
this.cY=y >>4; this.cY=y >>4;
int chunkX=(x % 16)< 0 ? ((x) % 16)+16 : ((x) % 16); int chunkX=(x % 16)< 0 ? ((x) % 16)+16 : ((x) % 16);
int chunkY=y;
int chunkZ=((z) % 16)< 0 ? ((z) % 16)+16 : ((z) % 16); int chunkZ=((z) % 16)< 0 ? ((z) % 16)+16 : ((z) % 16);
@@ -1189,8 +1182,5 @@ public class SchematicLoader
{ {
e.printStackTrace(); e.printStackTrace();
} }
} }
} }

View File

@@ -33,9 +33,12 @@ public class TransientDoor extends ExitDoor
super(par1, Material.grass); super(par1, Material.grass);
// this.blockIndexInTexture = 18; // this.blockIndexInTexture = 18;
if (properties == null)
properties = DDProperties.instance();
} }
private static DDProperties properties = null;
public void registerIcons(IconRegister par1IconRegister) public void registerIcons(IconRegister par1IconRegister)
{ {
this.blockIcon = par1IconRegister.registerIcon(mod_pocketDim.modid + ":" + this.getUnlocalizedName2()+"_top"); this.blockIcon = par1IconRegister.registerIcon(mod_pocketDim.modid + ":" + this.getUnlocalizedName2()+"_top");
@@ -90,7 +93,7 @@ public class TransientDoor extends ExitDoor
{ {
dimHelper.instance.teleportToPocket(par1World, linkData, par5Entity); dimHelper.instance.teleportToPocket(par1World, linkData, par5Entity);
par1World.setBlock(par2, par3-1, par4, 0); par1World.setBlock(par2, par3-1, par4, 0);
par1World.setBlock(par2, par3, par4, mod_pocketDim.blockRiftID); par1World.setBlock(par2, par3, par4, properties.RiftBlockID);
} }
} }
@@ -104,7 +107,7 @@ public class TransientDoor extends ExitDoor
{ {
dimHelper.instance.teleportToPocket(par1World, linkData, par5Entity); dimHelper.instance.teleportToPocket(par1World, linkData, par5Entity);
par1World.setBlock(par2, par3, par4, 0); par1World.setBlock(par2, par3, par4, 0);
par1World.setBlock(par2, par3+1, par4, mod_pocketDim.blockRiftID); par1World.setBlock(par2, par3+1, par4, properties.RiftBlockID);
} }
} }

View File

@@ -2,6 +2,7 @@ package StevenDimDoors.mod_pocketDim.blocks;
import java.util.Random; import java.util.Random;
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;
import StevenDimDoors.mod_pocketDim.helpers.dimHelper; import StevenDimDoors.mod_pocketDim.helpers.dimHelper;
@@ -16,30 +17,27 @@ import net.minecraft.world.World;
public class BlockDimWallPerm extends Block public class BlockDimWallPerm extends Block
{ {
private static DDProperties properties = null;
public BlockDimWallPerm(int i, int j, Material par2Material) public BlockDimWallPerm(int i, int j, Material par2Material)
{ {
super(i, Material.ground); super(i, Material.ground);
setTickRandomly(true); setTickRandomly(true);
// this.setCreativeTab(CreativeTabs.tabBlock); // this.setCreativeTab(CreativeTabs.tabBlock);
if (properties == null)
properties = DDProperties.instance();
} }
public void registerIcons(IconRegister par1IconRegister) public void registerIcons(IconRegister par1IconRegister)
{ {
this.blockIcon = par1IconRegister.registerIcon(mod_pocketDim.modid + ":" + this.getUnlocalizedName2().replace("perm", "")); this.blockIcon = par1IconRegister.registerIcon(mod_pocketDim.modid + ":" + this.getUnlocalizedName2().replace("perm", ""));
} }
public int quantityDropped(Random par1Random) public int quantityDropped(Random par1Random)
{ {
return 0; return 0;
} }
public void onBlockDestroyedByPlayer(World par1World, int par2, int par3, int par4, int par5) {} public void onBlockDestroyedByPlayer(World par1World, int par2, int par3, int par4, int par5) {}
/** /**
@@ -47,7 +45,7 @@ public class BlockDimWallPerm extends Block
*/ */
public void onEntityWalking(World par1World, int par2, int par3, int par4, Entity par5Entity) public void onEntityWalking(World par1World, int par2, int par3, int par4, Entity par5Entity)
{ {
if(!par1World.isRemote&&par1World.provider.dimensionId==mod_pocketDim.limboDimID) if(!par1World.isRemote&&par1World.provider.dimensionId==properties.LimboDimensionID)
{ {
Random rand = new Random(); Random rand = new Random();
@@ -68,14 +66,13 @@ public class BlockDimWallPerm extends Block
{ {
int x = (link.destXCoord + rand.nextInt(mod_pocketDim.limboExitRange)-mod_pocketDim.limboExitRange/2); int x = (link.destXCoord + rand.nextInt(properties.LimboReturnRange)-properties.LimboReturnRange/2);
int z = (link.destZCoord + rand.nextInt(mod_pocketDim.limboExitRange)-mod_pocketDim.limboExitRange/2); int z = (link.destZCoord + rand.nextInt(properties.LimboReturnRange)-properties.LimboReturnRange/2);
x=x+(x>> 4); //make sure I am in the middle of a chunk, andnot on a boundry, so it doesnt load the chunk next to me //make sure I am in the middle of a chunk, and not on a boundary, so it doesn't load the chunk next to me
x = x + (x >> 4);
z = z + (z >> 4); z = z + (z >> 4);
int y = yCoordHelper.getFirstUncovered(0, x, 63, z); int y = yCoordHelper.getFirstUncovered(0, x, 63, 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
@@ -103,12 +100,12 @@ public class BlockDimWallPerm extends Block
if(Math.abs(xc)+Math.abs(zc)<rand.nextInt(3)+2) if(Math.abs(xc)+Math.abs(zc)<rand.nextInt(3)+2)
{ {
dimHelper.getWorld(0).setBlock(i+xc, j-1+yc, k+zc, mod_pocketDim.blockLimboID); dimHelper.getWorld(0).setBlock(i+xc, j-1+yc, k+zc, properties.LimboBlockID);
} }
else if(Math.abs(xc)+Math.abs(zc)<rand.nextInt(3)+3) else if(Math.abs(xc)+Math.abs(zc)<rand.nextInt(3)+3)
{ {
dimHelper.getWorld(0).setBlock(i+xc, j-1+yc, k+zc, mod_pocketDim.blockLimboID,2,0); dimHelper.getWorld(0).setBlock(i+xc, j-1+yc, k+zc, properties.LimboBlockID,2,0);
} }
} }

View File

@@ -11,6 +11,7 @@ import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.MathHelper; import net.minecraft.util.MathHelper;
import net.minecraft.world.IBlockAccess; import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
import StevenDimDoors.mod_pocketDim.DDProperties;
import StevenDimDoors.mod_pocketDim.PacketHandler; import StevenDimDoors.mod_pocketDim.PacketHandler;
import StevenDimDoors.mod_pocketDim.TileEntityRift; import StevenDimDoors.mod_pocketDim.TileEntityRift;
import StevenDimDoors.mod_pocketDim.mod_pocketDim; import StevenDimDoors.mod_pocketDim.mod_pocketDim;
@@ -24,6 +25,7 @@ import cpw.mods.fml.relauncher.SideOnly;
public class BlockRift extends BlockContainer public class BlockRift extends BlockContainer
{ {
private static DDProperties properties = null;
public BlockRift(int i, int j, Material par2Material) public BlockRift(int i, int j, Material par2Material)
{ {
@@ -31,16 +33,15 @@ public class BlockRift extends BlockContainer
setTickRandomly(true); setTickRandomly(true);
// this.setCreativeTab(CreativeTabs.tabBlock); // this.setCreativeTab(CreativeTabs.tabBlock);
this.setLightOpacity(14); this.setLightOpacity(14);
if (properties == null)
properties = DDProperties.instance();
} }
public void registerIcons(IconRegister par1IconRegister) public void registerIcons(IconRegister par1IconRegister)
{ {
this.blockIcon = par1IconRegister.registerIcon(mod_pocketDim.modid + ":" + this.getUnlocalizedName2()); this.blockIcon = par1IconRegister.registerIcon(mod_pocketDim.modid + ":" + this.getUnlocalizedName2());
} }
//sends a packet informing the client that there is a link present so it renders properly. (when placed) //sends a packet informing the client that there is a link present so it renders properly. (when placed)
public void onBlockAdded(World par1World, int par2, int par3, int par4) public void onBlockAdded(World par1World, int par2, int par3, int par4)
{ {
@@ -118,7 +119,7 @@ public class BlockRift extends BlockContainer
//function that regulates how many blocks it eats/ how fast it eates them. //function that regulates how many blocks it eats/ how fast it eates them.
public void updateTick(World world, int x, int y, int z, Random random) public void updateTick(World world, int x, int y, int z, Random random)
{ {
if(!world.isRemote&&dimHelper.instance.getLinkDataFromCoords(x, y, z, world.provider.dimensionId)!=null&&mod_pocketDim.enableRiftGrief) if(!world.isRemote&&dimHelper.instance.getLinkDataFromCoords(x, y, z, world.provider.dimensionId)!=null && properties.RiftGriefingEnabled)
{ {
TileEntityRift rift = (TileEntityRift) world.getBlockTileEntity(x, y, z); TileEntityRift rift = (TileEntityRift) world.getBlockTileEntity(x, y, z);
if(rift.isNearRift) if(rift.isNearRift)

View File

@@ -2,6 +2,7 @@ package StevenDimDoors.mod_pocketDim.blocks;
import java.util.Random; import java.util.Random;
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;
import StevenDimDoors.mod_pocketDim.helpers.dimHelper; import StevenDimDoors.mod_pocketDim.helpers.dimHelper;
@@ -28,12 +29,13 @@ import cpw.mods.fml.relauncher.SideOnly;
public class ChaosDoor extends dimDoor public class ChaosDoor extends dimDoor
{ {
private Icon blockIconBottom; private Icon blockIconBottom;
private static DDProperties properties = null;
public ChaosDoor(int par1, Material material) public ChaosDoor(int par1, Material material)
{ {
super(par1, Material.iron); super(par1, Material.iron);
// this.blockIndexInTexture = 18; if (properties == null)
properties = DDProperties.instance();
} }
public void registerIcons(IconRegister par1IconRegister) public void registerIcons(IconRegister par1IconRegister)
@@ -74,7 +76,7 @@ public class ChaosDoor extends dimDoor
if(newDim) if(newDim)
{ {
LinkData link = new LinkData(par1World.provider.dimensionId, mod_pocketDim.limboDimID, par2, par3, par4, par2, par3+500, par4, false,0); LinkData link = new LinkData(par1World.provider.dimensionId, properties.LimboDimensionID, par2, par3, par4, par2, par3+500, par4, false,0);
link.linkOrientation= par1World.getBlockMetadata(par2, par3-1, par4); link.linkOrientation= par1World.getBlockMetadata(par2, par3-1, par4);
dimHelper.instance.createLink(link); dimHelper.instance.createLink(link);
// System.out.println(link.linkOrientation); // System.out.println(link.linkOrientation);
@@ -101,9 +103,8 @@ public class ChaosDoor extends dimDoor
int var12 = (int) (MathHelper.floor_double((double)((par5Entity.rotationYaw+90) * 4.0F / 360.0F) + 0.5D) & 3); int var12 = (int) (MathHelper.floor_double((double)((par5Entity.rotationYaw+90) * 4.0F / 360.0F) + 0.5D) & 3);
int num = par1World.getBlockMetadata(par2, par3-1, par4); int num = par1World.getBlockMetadata(par2, par3-1, par4);
if(!par1World.isRemote&&(num==5||num==4||num==6||num==7)&&(num-4)==var12&&par1World.getBlockId(par2, par3-1, par4)==mod_pocketDim.chaosDoorID) if(!par1World.isRemote&&(num==5||num==4||num==6||num==7)&&(num-4)==var12&&par1World.getBlockId(par2, par3-1, par4)==properties.UnstableDoorID)
{ {
this.onPoweredBlockChange(par1World, par2, par3, par4, false); this.onPoweredBlockChange(par1World, par2, par3, par4, false);
boolean foundRandomDest=false; boolean foundRandomDest=false;
@@ -122,7 +123,7 @@ public class ChaosDoor extends dimDoor
if(link!=null) if(link!=null)
{ {
if(!link.isLocPocket&&link.linkOrientation!=-10&&link.destDimID!=mod_pocketDim.limboDimID) if(!link.isLocPocket&&link.linkOrientation!=-10&&link.destDimID!=properties.LimboDimensionID)
{ {
foundRandomDest=true; foundRandomDest=true;
@@ -132,7 +133,7 @@ public class ChaosDoor extends dimDoor
{ {
if(dimHelper.getWorld(link.locDimID).isAirBlock(link.locXCoord,link.locYCoord,link.locZCoord)) if(dimHelper.getWorld(link.locDimID).isAirBlock(link.locXCoord,link.locYCoord,link.locZCoord))
{ {
dimHelper.getWorld(link.locDimID).setBlock(link.locXCoord,link.locYCoord,link.locZCoord, mod_pocketDim.blockRiftID); dimHelper.getWorld(link.locDimID).setBlock(link.locXCoord,link.locYCoord,link.locZCoord, properties.RiftBlockID);
} }
} }
} }

View File

@@ -2,6 +2,7 @@ package StevenDimDoors.mod_pocketDim.blocks;
import java.util.Random; import java.util.Random;
import StevenDimDoors.mod_pocketDim.DDProperties;
import StevenDimDoors.mod_pocketDim.LinkData; import StevenDimDoors.mod_pocketDim.LinkData;
import StevenDimDoors.mod_pocketDim.TileEntityDimDoor; import StevenDimDoors.mod_pocketDim.TileEntityDimDoor;
import StevenDimDoors.mod_pocketDim.mod_pocketDim; import StevenDimDoors.mod_pocketDim.mod_pocketDim;
@@ -34,9 +35,11 @@ public class dimDoor extends BlockContainer
super(par1, Material.iron); super(par1, Material.iron);
// this.blockIndexInTexture = 18; // this.blockIndexInTexture = 18;
if (properties == null)
properties = DDProperties.instance();
} }
private static DDProperties properties = null;
public void registerIcons(IconRegister par1IconRegister) public void registerIcons(IconRegister par1IconRegister)
@@ -56,19 +59,19 @@ public class dimDoor extends BlockContainer
if(dimHelper.instance.getLinkDataFromCoords(par2, par3, par4, par1World)!=null) if(dimHelper.instance.getLinkDataFromCoords(par2, par3, par4, par1World)!=null)
{ {
LinkData link= dimHelper.instance.getLinkDataFromCoords(par2, par3, par4, par1World); LinkData link= dimHelper.instance.getLinkDataFromCoords(par2, par3, par4, par1World);
par1World.setBlock(par2, par3, par4, mod_pocketDim.blockRiftID); par1World.setBlock(par2, par3, par4, properties.RiftBlockID);
} }
if(dimHelper.instance.getLinkDataFromCoords(par2, par3-1, par4, par1World)!=null) if(dimHelper.instance.getLinkDataFromCoords(par2, par3-1, par4, par1World)!=null)
{ {
LinkData link= dimHelper.instance.getLinkDataFromCoords(par2, par3-1, par4, par1World); LinkData link= dimHelper.instance.getLinkDataFromCoords(par2, par3-1, par4, par1World);
par1World.setBlock(par2, par3-1, par4, mod_pocketDim.blockRiftID); par1World.setBlock(par2, par3-1, par4, properties.RiftBlockID);
} }
if(dimHelper.instance.getLinkDataFromCoords(par2, par3+1, par4, par1World)!=null) if(dimHelper.instance.getLinkDataFromCoords(par2, par3+1, par4, par1World)!=null)
{ {
LinkData link= dimHelper.instance.getLinkDataFromCoords(par2, par3+1, par4, par1World); LinkData link= dimHelper.instance.getLinkDataFromCoords(par2, par3+1, par4, par1World);
par1World.setBlock(par2, par3+1, par4, mod_pocketDim.blockRiftID); par1World.setBlock(par2, par3+1, par4, properties.RiftBlockID);
} }
@@ -546,7 +549,7 @@ public class dimDoor extends BlockContainer
{ {
if (!par1World.isRemote) if (!par1World.isRemote)
{ {
this.dropBlockAsItem(par1World, par2, par3, par4, mod_pocketDim.dimDoorID, 0); this.dropBlockAsItem(par1World, par2, par3, par4, properties.DimensionalDoorID, 0);
} }
} }
else else

View File

@@ -4,6 +4,7 @@ import java.util.ArrayList;
import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.FMLCommonHandler;
import StevenDimDoors.mod_pocketDim.DDProperties;
import StevenDimDoors.mod_pocketDim.DimData; import StevenDimDoors.mod_pocketDim.DimData;
import StevenDimDoors.mod_pocketDim.LinkData; import StevenDimDoors.mod_pocketDim.LinkData;
import StevenDimDoors.mod_pocketDim.mod_pocketDim; import StevenDimDoors.mod_pocketDim.mod_pocketDim;
@@ -14,14 +15,19 @@ import net.minecraft.world.World;
public class CommandDeleteRifts extends CommandBase public class CommandDeleteRifts extends CommandBase
{ {
public CommandDeleteRifts()
{
if (properties == null)
properties = DDProperties.instance();
}
private static DDProperties properties = null;
public String getCommandName()//the name of our command public String getCommandName()//the name of our command
{ {
return "dimdoors-cleanupRifts"; return "dimdoors-cleanupRifts";
} }
@Override @Override
public void processCommand(ICommandSender var1, String[] var2) public void processCommand(ICommandSender var1, String[] var2)
@@ -79,7 +85,7 @@ public class CommandDeleteRifts extends CommandBase
} }
targetWorld = dimHelper.getWorld(targetDim); targetWorld = dimHelper.getWorld(targetDim);
if(targetWorld.getBlockId(link.locXCoord, link.locYCoord, link.locZCoord)==mod_pocketDim.blockRiftID) if(targetWorld.getBlockId(link.locXCoord, link.locYCoord, link.locZCoord)==properties.RiftBlockID)
{ {
dim.removeLinkAtCoords(link); dim.removeLinkAtCoords(link);

View File

@@ -1,5 +1,6 @@
package StevenDimDoors.mod_pocketDim.commands; package StevenDimDoors.mod_pocketDim.commands;
import StevenDimDoors.mod_pocketDim.DDProperties;
import StevenDimDoors.mod_pocketDim.DungeonGenerator; import StevenDimDoors.mod_pocketDim.DungeonGenerator;
import StevenDimDoors.mod_pocketDim.mod_pocketDim; import StevenDimDoors.mod_pocketDim.mod_pocketDim;
import StevenDimDoors.mod_pocketDim.helpers.DungeonHelper; import StevenDimDoors.mod_pocketDim.helpers.DungeonHelper;
@@ -10,14 +11,19 @@ import net.minecraft.entity.player.EntityPlayer;
public class CommandEndDungeonCreation extends CommandBase public class CommandEndDungeonCreation extends CommandBase
{ {
private static DDProperties properties = null;
public CommandEndDungeonCreation()
{
if (properties == null)
properties = DDProperties.instance();
}
public String getCommandName()//the name of our command public String getCommandName()//the name of our command
{ {
return "dimdoors-endDungeonCreation"; return "dimdoors-endDungeonCreation";
} }
@Override @Override
public void processCommand(ICommandSender var1, String[] var2) public void processCommand(ICommandSender var1, String[] var2)
@@ -53,8 +59,8 @@ public class CommandEndDungeonCreation extends CommandBase
} }
else if(!player.worldObj.isRemote) else if(!player.worldObj.isRemote)
{ {
DungeonGenerator newDungeon = mod_pocketDim.dungeonHelper.exportDungeon(player.worldObj, x, y, z, mod_pocketDim.schematicContainer+"/"+var2[0]+".schematic"); DungeonGenerator newDungeon = mod_pocketDim.dungeonHelper.exportDungeon(player.worldObj, x, y, z, properties.CustomSchematicDirectory + "/" + var2[0] + ".schematic");
player.sendChatToPlayer("created dungeon schematic in " +mod_pocketDim.schematicContainer+"/"+var2[0]+".schematic"); player.sendChatToPlayer("created dungeon schematic in " + properties.CustomSchematicDirectory +"/"+var2[0]+".schematic");
mod_pocketDim.dungeonHelper.customDungeons.add(newDungeon); mod_pocketDim.dungeonHelper.customDungeons.add(newDungeon);
if(mod_pocketDim.dungeonHelper.customDungeonStatus.containsKey(player.worldObj.provider.dimensionId)&&!player.worldObj.isRemote) if(mod_pocketDim.dungeonHelper.customDungeonStatus.containsKey(player.worldObj.provider.dimensionId)&&!player.worldObj.isRemote)

View File

@@ -4,6 +4,7 @@ import java.util.ArrayList;
import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.FMLCommonHandler;
import StevenDimDoors.mod_pocketDim.DDProperties;
import StevenDimDoors.mod_pocketDim.DimData; import StevenDimDoors.mod_pocketDim.DimData;
import StevenDimDoors.mod_pocketDim.LinkData; import StevenDimDoors.mod_pocketDim.LinkData;
import StevenDimDoors.mod_pocketDim.mod_pocketDim; import StevenDimDoors.mod_pocketDim.mod_pocketDim;
@@ -18,6 +19,14 @@ import net.minecraft.world.World;
public class CommandStartDungeonCreation extends CommandBase public class CommandStartDungeonCreation extends CommandBase
{ {
public CommandStartDungeonCreation()
{
if (properties == null)
properties = DDProperties.instance();
}
private static DDProperties properties = null;
public String getCommandName()//the name of our command public String getCommandName()//the name of our command
{ {
return "dimdoors-startDungeonCreation"; return "dimdoors-startDungeonCreation";
@@ -40,7 +49,7 @@ public class CommandStartDungeonCreation extends CommandBase
link = dimHelper.instance.createPocket(link,true, false); link = dimHelper.instance.createPocket(link,true, false);
itemDimDoor.placeDoorBlock(player.worldObj, x, y, z, 3, Block.blocksList[mod_pocketDim.ExitDoorID]); itemDimDoor.placeDoorBlock(player.worldObj, x, y, z, 3, Block.blocksList[properties.WarpDoorID]);
// dimHelper.instance.teleportToPocket(player.worldObj, link, player); // dimHelper.instance.teleportToPocket(player.worldObj, link, player);

View File

@@ -13,6 +13,7 @@ import net.minecraft.block.BlockContainer;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World; import net.minecraft.world.World;
import StevenDimDoors.mod_pocketDim.DDProperties;
import StevenDimDoors.mod_pocketDim.DungeonGenerator; import StevenDimDoors.mod_pocketDim.DungeonGenerator;
import StevenDimDoors.mod_pocketDim.LinkData; import StevenDimDoors.mod_pocketDim.LinkData;
import StevenDimDoors.mod_pocketDim.mod_pocketDim; import StevenDimDoors.mod_pocketDim.mod_pocketDim;
@@ -37,9 +38,12 @@ public class DungeonHelper
public DungeonHelper() public DungeonHelper()
{ {
if (properties == null)
properties = DDProperties.instance();
} }
private static DDProperties properties = null;
private Random rand = new Random(); private Random rand = new Random();
public HashMap<Integer, LinkData> customDungeonStatus = new HashMap<Integer, LinkData>(); public HashMap<Integer, LinkData> customDungeonStatus = new HashMap<Integer, LinkData>();
@@ -361,27 +365,27 @@ public class DungeonHelper
for(int count=0;count<50;count++) for(int count=0;count<50;count++)
{ {
if(world.getBlockId(xMin, yI, zI)!=mod_pocketDim.blockDimWallPermID) if(world.getBlockId(xMin, yI, zI)!=properties.PermaFabricBlockID)
{ {
xMin--; xMin--;
} }
if(world.getBlockId(xI, yMin, zI)!=mod_pocketDim.blockDimWallPermID) if(world.getBlockId(xI, yMin, zI)!=properties.PermaFabricBlockID)
{ {
yMin--; yMin--;
} }
if(world.getBlockId(xI, yI, zMin)!=mod_pocketDim.blockDimWallPermID) if(world.getBlockId(xI, yI, zMin)!=properties.PermaFabricBlockID)
{ {
zMin--; zMin--;
} }
if(world.getBlockId(xMax, yI, zI)!=mod_pocketDim.blockDimWallPermID) if(world.getBlockId(xMax, yI, zI)!=properties.PermaFabricBlockID)
{ {
xMax++; xMax++;
} }
if(world.getBlockId(xI, yMax, zI)!=mod_pocketDim.blockDimWallPermID) if(world.getBlockId(xI, yMax, zI)!=properties.PermaFabricBlockID)
{ {
yMax++; yMax++;
} }
if(world.getBlockId(xI, yI, zMax)!=mod_pocketDim.blockDimWallPermID) if(world.getBlockId(xI, yI, zMax)!=properties.PermaFabricBlockID)
{ {
zMax++; zMax++;
} }
@@ -409,11 +413,11 @@ public class DungeonHelper
int blockID = world.getBlockId(x+xMin, y+yMin, z+zMin); int blockID = world.getBlockId(x+xMin, y+yMin, z+zMin);
int meta= world.getBlockMetadata(x+xMin, y+yMin, z+zMin); int meta= world.getBlockMetadata(x+xMin, y+yMin, z+zMin);
if(blockID==mod_pocketDim.dimDoorID) if(blockID==properties.DimensionalDoorID)
{ {
blockID=Block.doorIron.blockID; blockID=Block.doorIron.blockID;
} }
if(blockID==mod_pocketDim.ExitDoorID) if(blockID==properties.WarpDoorID)
{ {
blockID=Block.doorWood.blockID; blockID=Block.doorWood.blockID;

View File

@@ -10,12 +10,30 @@ import java.io.FileInputStream;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.io.ObjectOutputStream; import java.io.ObjectOutputStream;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap; import java.util.HashMap;
import java.util.Iterator; import java.util.Iterator;
import java.util.Random; import java.util.Random;
import java.util.Set; import java.util.Set;
import net.minecraft.block.Block;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityList;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.network.packet.Packet41EntityEffect;
import net.minecraft.network.packet.Packet43Experience;
import net.minecraft.network.packet.Packet9Respawn;
import net.minecraft.potion.PotionEffect;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.MathHelper;
import net.minecraft.world.World;
import net.minecraft.world.WorldServer;
import net.minecraft.world.chunk.Chunk;
import net.minecraft.world.chunk.storage.ExtendedBlockStorage;
import net.minecraftforge.common.DimensionManager;
import StevenDimDoors.mod_pocketDim.DDProperties;
import StevenDimDoors.mod_pocketDim.DimData; import StevenDimDoors.mod_pocketDim.DimData;
import StevenDimDoors.mod_pocketDim.LinkData; import StevenDimDoors.mod_pocketDim.LinkData;
import StevenDimDoors.mod_pocketDim.ObjectSaveInputStream; import StevenDimDoors.mod_pocketDim.ObjectSaveInputStream;
@@ -24,32 +42,7 @@ import StevenDimDoors.mod_pocketDim.TileEntityRift;
import StevenDimDoors.mod_pocketDim.mod_pocketDim; import StevenDimDoors.mod_pocketDim.mod_pocketDim;
import StevenDimDoors.mod_pocketDim.world.LimboProvider; import StevenDimDoors.mod_pocketDim.world.LimboProvider;
import StevenDimDoors.mod_pocketDim.world.pocketProvider; import StevenDimDoors.mod_pocketDim.world.pocketProvider;
import net.minecraft.block.Block;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityList;
import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.item.EntityMinecart;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.network.packet.Packet10Flying;
import net.minecraft.network.packet.Packet39AttachEntity;
import net.minecraft.network.packet.Packet41EntityEffect;
import net.minecraft.network.packet.Packet43Experience;
import net.minecraft.network.packet.Packet9Respawn;
import net.minecraft.potion.PotionEffect;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.MathHelper;
import net.minecraft.world.Teleporter;
import net.minecraft.world.World;
import net.minecraft.world.WorldServer;
import net.minecraft.world.chunk.Chunk;
import net.minecraft.world.chunk.storage.ExtendedBlockStorage;
import net.minecraftforge.common.DimensionManager;
import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.network.PacketDispatcher;
import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
@@ -80,20 +73,20 @@ public class dimHelper extends DimensionManager
public static dimHelper instance = new dimHelper(); public static dimHelper instance = new dimHelper();
/** /**
* HashMap for temporary storage of Link Singnature damage hash values. See itemLinkSignature for more details * HashMap for temporary storage of Link Signature damage hash values. See itemLinkSignature for more details
* @Return * @Return
*/ */
public HashMap<Integer, LinkData> interDimLinkList= new HashMap<Integer,LinkData>(); public HashMap<Integer, LinkData> interDimLinkList= new HashMap<Integer,LinkData>();
/** /**
* ArrayList containing all link data not sorted for easy random access, used for random doors and for recreating rifts if they have a block placed over them. * ArrayList containing all link data not sorted for easy random access, used for random doors and for recreating rifts if they have a block placed over them.
* See the common tick manager and the Chaos door for details on useage * See the common tick manager and the Chaos door for details on usage
* @Return * @Return
*/ */
//public ArrayList<LinkData> linksForRendering =new ArrayList<LinkData>(); //public ArrayList<LinkData> linksForRendering =new ArrayList<LinkData>();
Random rand= new Random(); Random rand= new Random();
//Stupid function I use because I dont understand bitwise operations yet. Used in door orientation //Stupid function I use because I don't understand bitwise operations yet. Used in door orientation
//TODO get rid of this //TODO get rid of this
public int flipDoorMetadata(int data) public int flipDoorMetadata(int data)
{ {
@@ -113,9 +106,6 @@ public class dimHelper extends DimensionManager
{ {
return 1; return 1;
} }
if(data==4) if(data==4)
{ {
return 6; return 6;
@@ -160,16 +150,8 @@ public class dimHelper extends DimensionManager
{ {
entity.mountEntity(null); entity.mountEntity(null);
cart = teleportEntity(oldWorld, cart, link); cart = teleportEntity(oldWorld, cart, link);
} }
WorldServer newWorld; WorldServer newWorld;
if(this.getWorld(link.destDimID)==null) if(this.getWorld(link.destDimID)==null)
@@ -297,15 +279,10 @@ public class dimHelper extends DimensionManager
} }
mod_pocketDim.teleporter.placeInPortal(entity, newWorld, link); mod_pocketDim.teleporter.placeInPortal(entity, newWorld, link);
return entity; return entity;
} }
/** /**
* Primary function used to teleport the player using doors. Performes numerous null checks, and also generates the destination door/pocket if it has not done so already. * Primary function used to teleport the player using doors. Performs numerous null checks, and also generates the destination door/pocket if it has not done so already.
* Also ensures correct orientation relative to the door using the pocketTeleporter. * Also ensures correct orientation relative to the door using the pocketTeleporter.
* @param world- world the player is currently in * @param world- world the player is currently in
* @param linkData- the link the player is using to teleport, sends the player to its dest information. * @param linkData- the link the player is using to teleport, sends the player to its dest information.
@@ -315,25 +292,20 @@ public class dimHelper extends DimensionManager
*/ */
public void teleportToPocket(World world,LinkData linkData, Entity entity) public void teleportToPocket(World world,LinkData linkData, Entity entity)
{ {
DDProperties properties = DDProperties.instance();
if (world.isRemote) if (world.isRemote)
{ {
return; return;
} }
if (linkData != null) if (linkData != null)
{ {
int destinationID=linkData.destDimID; int destinationID=linkData.destDimID;
int x=linkData.destXCoord; int x=linkData.destXCoord;
int y=linkData.destYCoord; int y=linkData.destYCoord;
int z=linkData.destZCoord; int z=linkData.destZCoord;
int depth= this.getDimDepth(world.provider.dimensionId); int depth= this.getDimDepth(world.provider.dimensionId);
if(this.dimList.containsKey(destinationID) && this.dimList.containsKey(world.provider.dimensionId)) if(this.dimList.containsKey(destinationID) && this.dimList.containsKey(world.provider.dimensionId))
@@ -384,14 +356,14 @@ public class dimHelper extends DimensionManager
} }
if(count==19) if(count==19)
{ {
entity.worldObj.setBlock(playerXCoord, playerYCoord-1, playerZCoord, mod_pocketDim.blockDimWallID); entity.worldObj.setBlock(playerXCoord, playerYCoord-1, playerZCoord, properties.FabricBlockID);
} }
} }
} }
if(entity.worldObj.getBlockId(playerXCoord, playerYCoord-1,playerZCoord )==Block.lavaStill.blockID) if(entity.worldObj.getBlockId(playerXCoord, playerYCoord-1,playerZCoord )==Block.lavaStill.blockID)
{ {
entity.worldObj.setBlock(playerXCoord, playerYCoord-1, playerZCoord, mod_pocketDim.blockDimWallID); entity.worldObj.setBlock(playerXCoord, playerYCoord-1, playerZCoord, properties.FabricBlockID);
} }
this.generateDoor(world,linkData); this.generateDoor(world,linkData);
@@ -470,20 +442,14 @@ public class dimHelper extends DimensionManager
*/ */
public LinkData createLink( int locationDimID, int destinationDimID, int locationXCoord, int locationYCoord, int locationZCoord, int destinationXCoord, int destinationYCoord, int destinationZCoord,int linkOrientation) public LinkData createLink( int locationDimID, int destinationDimID, int locationXCoord, int locationYCoord, int locationZCoord, int destinationXCoord, int destinationYCoord, int destinationZCoord,int linkOrientation)
{ {
LinkData linkData =new LinkData( locationDimID, destinationDimID, locationXCoord, locationYCoord, locationZCoord, destinationXCoord, destinationYCoord ,destinationZCoord,false,linkOrientation); LinkData linkData =new LinkData( locationDimID, destinationDimID, locationXCoord, locationYCoord, locationZCoord, destinationXCoord, destinationYCoord ,destinationZCoord,false,linkOrientation);
return this.createLink(linkData); return this.createLink(linkData);
} }
public LinkData createLink(LinkData link) public LinkData createLink(LinkData link)
{ {
DDProperties properties = DDProperties.instance();
if(!this.dimList.containsKey(link.locDimID)) if(!this.dimList.containsKey(link.locDimID))
{ {
@@ -514,7 +480,7 @@ public class dimHelper extends DimensionManager
if(!mod_pocketDim.blocksImmuneToRift.contains(blocktoReplace)) if(!mod_pocketDim.blocksImmuneToRift.contains(blocktoReplace))
{ {
dimHelper.getWorld(link.locDimID).setBlock(link.locXCoord, link.locYCoord, link.locZCoord, mod_pocketDim.blockRiftID); dimHelper.getWorld(link.locDimID).setBlock(link.locXCoord, link.locYCoord, link.locZCoord, properties.RiftBlockID);
} }
@@ -620,6 +586,8 @@ public class dimHelper extends DimensionManager
int destY = incLink.destYCoord; int destY = incLink.destYCoord;
int destZ = incLink.destZCoord; int destZ = incLink.destZCoord;
DDProperties properties = DDProperties.instance();
if(!incLink.hasGennedDoor) if(!incLink.hasGennedDoor)
{ {
@@ -629,7 +597,7 @@ public class dimHelper extends DimensionManager
DimData data = this.dimList.get(destinationID); DimData data = this.dimList.get(destinationID);
int id =world.getBlockId(locX, locY, locZ); int id =world.getBlockId(locX, locY, locZ);
if(id==mod_pocketDim.ExitDoorID||id==mod_pocketDim.dimDoorID||id==mod_pocketDim.transientDoorID) if(id==properties.WarpDoorID||id==properties.DimensionalDoorID||id==properties.TransientDoorID)
{ {
int doorTypeToPlace=id; int doorTypeToPlace=id;
@@ -653,7 +621,7 @@ public class dimHelper extends DimensionManager
int blockToReplace= this.getWorld(destinationID).getBlockId(destX, destY, destZ); int blockToReplace= this.getWorld(destinationID).getBlockId(destX, destY, destZ);
if(blockToReplace!=mod_pocketDim.dimDoorID&&blockToReplace!=mod_pocketDim.ExitDoorID&&blockToReplace!=mod_pocketDim.transientDoorID) if(blockToReplace!=properties.DimensionalDoorID&&blockToReplace!=properties.WarpDoorID&&blockToReplace != properties.TransientDoorID)
{ {
this.getWorld(destinationID).setBlock(destX, destY-1, destZ, doorTypeToPlace,destOrientation,2); this.getWorld(destinationID).setBlock(destX, destY-1, destZ, doorTypeToPlace,destOrientation,2);
this.getWorld(destinationID).setBlock(destX, destY, destZ, doorTypeToPlace,8,2); this.getWorld(destinationID).setBlock(destX, destY, destZ, doorTypeToPlace,8,2);
@@ -683,6 +651,8 @@ public class dimHelper extends DimensionManager
*/ */
public void generatePocket(LinkData incomingLink) public void generatePocket(LinkData incomingLink)
{ {
DDProperties properties = DDProperties.instance();
try try
{ {
@@ -764,15 +734,15 @@ public class dimHelper extends DimensionManager
{ {
if(Math.abs(xCount)>=19||Math.abs(yCount)>=19||Math.abs(zCount)>=19) if(Math.abs(xCount)>=19||Math.abs(yCount)>=19||Math.abs(zCount)>=19)
{ {
this.setBlockDirectly(this.getWorld(incomingLink.destDimID), x+xCount, y+yCount, z+zCount,mod_pocketDim.blockDimWallPermID,0); this.setBlockDirectly(this.getWorld(incomingLink.destDimID), x+xCount, y+yCount, z+zCount,properties.PermaFabricBlockID,0);
} }
else else
{ {
this.setBlockDirectly(this.getWorld(incomingLink.destDimID), x+xCount, y+yCount, z+zCount,mod_pocketDim.blockDimWallID,0); this.setBlockDirectly(this.getWorld(incomingLink.destDimID), x+xCount, y+yCount, z+zCount,properties.FabricBlockID,0);
if(mod_pocketDim.TNFREAKINGT) if(properties.TNFREAKINGT_Enabled)
{ {
if((Math.abs(xCount)>=16||Math.abs(yCount)>=16||Math.abs(zCount)>=16)&&rand.nextInt(mod_pocketDim.HOW_MUCH_TNT)==1) if((Math.abs(xCount)>=16||Math.abs(yCount)>=16||Math.abs(zCount)>=16) && rand.nextInt(properties.NonTntWeight + 1) == 0)
{ {
this.getWorld(incomingLink.destDimID).setBlock( x+xCount, y+yCount, z+zCount,Block.tnt.blockID); this.getWorld(incomingLink.destDimID).setBlock( x+xCount, y+yCount, z+zCount,Block.tnt.blockID);
} }
@@ -807,6 +777,8 @@ public class dimHelper extends DimensionManager
*/ */
public void initPockets() public void initPockets()
{ {
DDProperties properties = DDProperties.instance();
mod_pocketDim.hasInitDims=true; mod_pocketDim.hasInitDims=true;
this.load(); this.load();
if(!this.dimList.isEmpty()) if(!this.dimList.isEmpty())
@@ -826,7 +798,7 @@ public class dimHelper extends DimensionManager
try try
{ {
this.getNextFreeDimId(); this.getNextFreeDimId();
registerDimension(dimData.dimID,mod_pocketDim.providerID); registerDimension(dimData.dimID,properties.PocketProviderID);
} }
catch (Exception e) catch (Exception e)
{ {
@@ -911,9 +883,11 @@ public class dimHelper extends DimensionManager
*/ */
public LinkData createPocket(LinkData link , boolean isGoingDown, boolean isRandomRift) public LinkData createPocket(LinkData link , boolean isGoingDown, boolean isRandomRift)
{ {
if(this.getWorld(link.locDimID)==null) DDProperties properties = DDProperties.instance();
if (dimHelper.getWorld(link.locDimID) == null)
{ {
this.initDimension(link.locDimID); dimHelper.initDimension(link.locDimID);
} }
int dimensionID; int dimensionID;
@@ -921,11 +895,7 @@ public class dimHelper extends DimensionManager
// World world = this.getWorld(link.locDimID); // World world = this.getWorld(link.locDimID);
dimensionID = getNextFreeDimId(); dimensionID = getNextFreeDimId();
registerDimension(dimensionID,mod_pocketDim.providerID); registerDimension(dimensionID, properties.PocketProviderID);
DimData locationDimData; DimData locationDimData;
DimData destDimData; DimData destDimData;
@@ -1324,6 +1294,7 @@ public class dimHelper extends DimensionManager
*/ */
public static boolean removeRift(World world, int x, int y, int z, int range, EntityPlayer player, ItemStack item) public static boolean removeRift(World world, int x, int y, int z, int range, EntityPlayer player, ItemStack item)
{ {
DDProperties properties = DDProperties.instance();
LinkData nearest=null; LinkData nearest=null;
float distance=range+1; float distance=range+1;
@@ -1337,7 +1308,7 @@ public class dimHelper extends DimensionManager
{ {
while (k<range) while (k<range)
{ {
if(world.getBlockId(x+i, y+j, z+k)==mod_pocketDim.blockRiftID&&MathHelper.abs(i)+MathHelper.abs(j)+MathHelper.abs(k)<distance) if(world.getBlockId(x+i, y+j, z+k)==properties.RiftBlockID&&MathHelper.abs(i)+MathHelper.abs(j)+MathHelper.abs(k)<distance)
{ {
if(MathHelper.abs(i)+MathHelper.abs(j)+MathHelper.abs(k)!=0||range==1) if(MathHelper.abs(i)+MathHelper.abs(j)+MathHelper.abs(k)!=0||range==1)
{ {

View File

@@ -3,6 +3,7 @@ package StevenDimDoors.mod_pocketDim.items;
import java.util.List; import java.util.List;
import java.util.Random; import java.util.Random;
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;
import StevenDimDoors.mod_pocketDim.helpers.dimHelper; import StevenDimDoors.mod_pocketDim.helpers.dimHelper;
@@ -29,26 +30,23 @@ import cpw.mods.fml.relauncher.SideOnly;
public class ItemRiftBlade extends itemDimDoor public class ItemRiftBlade extends itemDimDoor
{ {
private int weaponDamage;
private final EnumToolMaterial toolMaterial= EnumToolMaterial.GOLD;
private Material doorMaterial;
Random rand = new Random();
public ItemRiftBlade(int par1, Material par2Material) public ItemRiftBlade(int par1, Material par2Material)
{ {
super(par1, par2Material); super(par1, par2Material);
// this.setTextureFile("/PocketBlockTextures.png"); // this.setTextureFile("/PocketBlockTextures.png");
this.setCreativeTab(CreativeTabs.tabTransport); this.setCreativeTab(CreativeTabs.tabTransport);
this.weaponDamage =8;
this.setMaxStackSize(1); this.setMaxStackSize(1);
// this.itemIcon=5; // this.itemIcon=5;
this.setMaxDamage(500); this.setMaxDamage(500);
this.hasSubtypes=false; this.hasSubtypes=false;
//TODO move to proxy //TODO move to proxy
if (properties == null)
properties = DDProperties.instance();
} }
private static DDProperties properties = null;
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
@@ -70,8 +68,6 @@ public class ItemRiftBlade extends itemDimDoor
} }
} }
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
@Override @Override
public boolean hasEffect(ItemStack par1ItemStack) public boolean hasEffect(ItemStack par1ItemStack)
@@ -226,7 +222,7 @@ public class ItemRiftBlade extends itemDimDoor
MovingObjectPosition hit = this.getMovingObjectPositionFromPlayer(par3EntityPlayer.worldObj, par3EntityPlayer, false ); MovingObjectPosition hit = this.getMovingObjectPositionFromPlayer(par3EntityPlayer.worldObj, par3EntityPlayer, false );
if(hit!=null&&!par2World.isRemote) if(hit!=null&&!par2World.isRemote)
{ {
if(par2World.getBlockId(hit.blockX, hit.blockY, hit.blockZ)==mod_pocketDim.blockRiftID) if(par2World.getBlockId(hit.blockX, hit.blockY, hit.blockZ)==properties.RiftBlockID)
{ {
LinkData link = dimHelper.instance.getLinkDataFromCoords(hit.blockX, hit.blockY, hit.blockZ, par2World); LinkData link = dimHelper.instance.getLinkDataFromCoords(hit.blockX, hit.blockY, hit.blockZ, par2World);
if(link!=null) if(link!=null)
@@ -262,7 +258,7 @@ public class ItemRiftBlade extends itemDimDoor
} }
} }
} }
else if(par2World.getBlockId(hit.blockX, hit.blockY, hit.blockZ)==mod_pocketDim.transientDoorID) else if(par2World.getBlockId(hit.blockX, hit.blockY, hit.blockZ) == properties.TransientDoorID)
{ {
didFindThing=true; didFindThing=true;
} }
@@ -385,17 +381,11 @@ public class ItemRiftBlade extends itemDimDoor
*/ */
public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4)
{ {
par3List.add("Opens a temporary doors,"); par3List.add("Opens a temporary doors,");
par3List.add ("special teleport attack,"); par3List.add ("special teleport attack,");
par3List.add ("and rotates existing doors"); par3List.add ("and rotates existing doors");
} }
@Override @Override
public void onCreated(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) public void onCreated(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
{ {

View File

@@ -2,6 +2,7 @@ package StevenDimDoors.mod_pocketDim.items;
import java.util.List; import java.util.List;
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;
import StevenDimDoors.mod_pocketDim.helpers.dimHelper; import StevenDimDoors.mod_pocketDim.helpers.dimHelper;
@@ -20,7 +21,7 @@ import cpw.mods.fml.relauncher.SideOnly;
public class ItemStabilizedRiftSignature extends itemLinkSignature public class ItemStabilizedRiftSignature extends itemLinkSignature
{ {
private Material doorMaterial; private static DDProperties properties = null;
public ItemStabilizedRiftSignature(int par) public ItemStabilizedRiftSignature(int par)
{ {
@@ -33,6 +34,9 @@ public class ItemStabilizedRiftSignature extends itemLinkSignature
this.setMaxDamage(0); this.setMaxDamage(0);
this.hasSubtypes=true; this.hasSubtypes=true;
//TODO move to proxy //TODO move to proxy
if (properties == null)
properties = DDProperties.instance();
} }
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
@@ -85,9 +89,9 @@ public class ItemStabilizedRiftSignature extends itemLinkSignature
boolean hasEnder = false; boolean hasEnder = false;
// checks to see if the item has a link stored, if so, it creates it // checks to see if the item has a link stored, if so, it creates it
if(par2EntityPlayer.inventory.hasItem(Item.enderPearl.itemID)||par2EntityPlayer.inventory.hasItem(mod_pocketDim.itemStableFabricID)) if(par2EntityPlayer.inventory.hasItem(Item.enderPearl.itemID)||par2EntityPlayer.inventory.hasItem(properties.StableFabricItemID))
{ {
if(!par2EntityPlayer.inventory.consumeInventoryItem(mod_pocketDim.itemStableFabricID)) if(!par2EntityPlayer.inventory.consumeInventoryItem(properties.StableFabricItemID))
{ {
par2EntityPlayer.inventory.consumeInventoryItem(Item.enderPearl.itemID); par2EntityPlayer.inventory.consumeInventoryItem(Item.enderPearl.itemID);

View File

@@ -106,7 +106,7 @@ public class ItemStableFabric extends Item
MovingObjectPosition hit = this.getMovingObjectPositionFromPlayer(par3EntityPlayer.worldObj, par3EntityPlayer, false ); MovingObjectPosition hit = this.getMovingObjectPositionFromPlayer(par3EntityPlayer.worldObj, par3EntityPlayer, false );
if(hit!=null&&!par2World.isRemote) if(hit!=null&&!par2World.isRemote)
{ {
//if(par2World.getBlockId(hit.blockX, hit.blockY, hit.blockZ)==mod_pocketDim.blockRiftID) //if(par2World.getBlockId(hit.blockX, hit.blockY, hit.blockZ)==properties.RiftBlockID)
{ {
LinkData link = dimHelper.instance.getLinkDataFromCoords(hit.blockX, hit.blockY, hit.blockZ, par2World); LinkData link = dimHelper.instance.getLinkDataFromCoords(hit.blockX, hit.blockY, hit.blockZ, par2World);
if(link!=null) if(link!=null)

View File

@@ -3,6 +3,7 @@ package StevenDimDoors.mod_pocketDim.items;
import java.util.List; import java.util.List;
import java.util.Random; import java.util.Random;
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;
import StevenDimDoors.mod_pocketDim.helpers.dimHelper; import StevenDimDoors.mod_pocketDim.helpers.dimHelper;
@@ -24,34 +25,31 @@ import net.minecraft.world.World;
public class itemDimDoor extends ItemDoor public class itemDimDoor extends ItemDoor
{ {
private Material doorMaterial; private static DDProperties properties = null;
public itemDimDoor(int par1, Material par2Material) public itemDimDoor(int par1, Material par2Material)
{ {
super(par1, par2Material); super(par1, par2Material);
this.setMaxStackSize(64); this.setMaxStackSize(64);
this.doorMaterial = par2Material;
this.setCreativeTab(CreativeTabs.tabTransport); this.setCreativeTab(CreativeTabs.tabTransport);
if (properties == null)
properties = DDProperties.instance();
} }
public void registerIcons(IconRegister par1IconRegister) public void registerIcons(IconRegister par1IconRegister)
{ {
this.itemIcon = par1IconRegister.registerIcon(mod_pocketDim.modid + ":" + this.getUnlocalizedName().replace("item.", "")); this.itemIcon = par1IconRegister.registerIcon(mod_pocketDim.modid + ":" + this.getUnlocalizedName().replace("item.", ""));
} }
@Override @Override
public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4)
{ {
par3List.add("Place on the block under a rift"); par3List.add("Place on the block under a rift");
par3List.add ("to activate that rift,"); par3List.add ("to activate that rift,");
par3List.add("or place anywhere else"); par3List.add("or place anywhere else");
par3List.add("to create a pocket dim"); par3List.add("to create a pocket dim");
} }
@Override @Override
public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10) public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10)
{ {
@@ -79,9 +77,6 @@ public class itemDimDoor extends ItemDoor
var11 = mod_pocketDim.dimDoor; var11 = mod_pocketDim.dimDoor;
} }
if (par2EntityPlayer.canPlayerEdit(par4, par5, par6, par7, par1ItemStack) && par2EntityPlayer.canPlayerEdit(par4, par5 + 1, par6, par7, par1ItemStack)&&!par3World.isRemote) if (par2EntityPlayer.canPlayerEdit(par4, par5, par6, par7, par1ItemStack) && par2EntityPlayer.canPlayerEdit(par4, par5 + 1, par6, par7, par1ItemStack)&&!par3World.isRemote)
{ {
int var12 = MathHelper.floor_double((double)((par2EntityPlayer.rotationYaw + 180.0F) * 4.0F / 360.0F) - 0.5D) & 3; int var12 = MathHelper.floor_double((double)((par2EntityPlayer.rotationYaw + 180.0F) * 4.0F / 360.0F) - 0.5D) & 3;
@@ -105,8 +100,6 @@ public class itemDimDoor extends ItemDoor
placeDoorBlock(par3World, par4, par5-offset, par6, var12, var11); placeDoorBlock(par3World, par4, par5-offset, par6, var12, var11);
--par1ItemStack.stackSize; --par1ItemStack.stackSize;
return true; return true;
} }
@@ -144,13 +137,11 @@ public class itemDimDoor extends ItemDoor
public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
{ {
boolean didFindThing = false;
Boolean didFindThing=false;
MovingObjectPosition hit = this.getMovingObjectPositionFromPlayer(par3EntityPlayer.worldObj, par3EntityPlayer, false ); MovingObjectPosition hit = this.getMovingObjectPositionFromPlayer(par3EntityPlayer.worldObj, par3EntityPlayer, false );
if(hit!=null&&!par2World.isRemote) if(hit!=null&&!par2World.isRemote)
{ {
if(par2World.getBlockId(hit.blockX, hit.blockY, hit.blockZ)==mod_pocketDim.blockRiftID) if(par2World.getBlockId(hit.blockX, hit.blockY, hit.blockZ) == properties.RiftBlockID)
{ {
LinkData link = dimHelper.instance.getLinkDataFromCoords(hit.blockX, hit.blockY, hit.blockZ, par2World); LinkData link = dimHelper.instance.getLinkDataFromCoords(hit.blockX, hit.blockY, hit.blockZ, par2World);
if(link!=null) if(link!=null)
@@ -212,25 +203,15 @@ public class itemDimDoor extends ItemDoor
int id = world.getBlockId(i, j, k); int id = world.getBlockId(i, j, k);
boolean flag = true; boolean flag = true;
if(id==mod_pocketDim.blockDimWallID||id==mod_pocketDim.blockRiftID||id==mod_pocketDim.blockDimWallPermID||id==0) if (id==properties.FabricBlockID || id==properties.RiftBlockID || id==properties.PermaFabricBlockID || id == 0)
{ {
return true; return true;
} }
if(id!=0) if (id != 0 && !Block.blocksList[id].blockMaterial.isReplaceable())
{ {
if(!Block.blocksList[id].blockMaterial.isReplaceable())
{
flag = false; flag = false;
} }
}
return flag; return flag;
} }
} }

View File

@@ -2,6 +2,7 @@ package StevenDimDoors.mod_pocketDim.items;
import java.util.List; import java.util.List;
import StevenDimDoors.mod_pocketDim.DDProperties;
import StevenDimDoors.mod_pocketDim.DimData; import StevenDimDoors.mod_pocketDim.DimData;
import StevenDimDoors.mod_pocketDim.LinkData; import StevenDimDoors.mod_pocketDim.LinkData;
import StevenDimDoors.mod_pocketDim.mod_pocketDim; import StevenDimDoors.mod_pocketDim.mod_pocketDim;
@@ -22,7 +23,6 @@ import cpw.mods.fml.relauncher.SideOnly;
public class itemLinkSignature extends Item public class itemLinkSignature extends Item
{ {
private Material doorMaterial;
public itemLinkSignature(int par1) public itemLinkSignature(int par1)
{ {
@@ -35,8 +35,12 @@ public class itemLinkSignature extends Item
this.setMaxDamage(0); this.setMaxDamage(0);
this.hasSubtypes=true; this.hasSubtypes=true;
//TODO move to proxy //TODO move to proxy
if (properties == null)
properties = DDProperties.instance();
} }
private static DDProperties properties = null;
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
@Override @Override
public boolean hasEffect(ItemStack par1ItemStack) public boolean hasEffect(ItemStack par1ItemStack)
@@ -90,22 +94,22 @@ public class itemLinkSignature extends Item
offset = 1; offset = 1;
} }
} }
if(par3World.getBlockId(par4, par5, par6)==mod_pocketDim.dimDoorID&&par3World.getBlockId(par4, par5+1, par6)==mod_pocketDim.dimDoorID) if(par3World.getBlockId(par4, par5, par6) == properties.DimensionalDoorID && par3World.getBlockId(par4, par5 + 1, par6) == properties.DimensionalDoorID)
{ {
offset = 1; offset = 1;
} }
else else
if(par3World.getBlockId(par4, par5, par6)==mod_pocketDim.ExitDoorID&&par3World.getBlockId(par4, par5+1, par6)==mod_pocketDim.ExitDoorID) if(par3World.getBlockId(par4, par5, par6)==properties.WarpDoorID&&par3World.getBlockId(par4, par5+1, par6)==properties.WarpDoorID)
{ {
offset = 1; offset = 1;
} }
else else
if(par3World.getBlockId(par4, par5, par6)==mod_pocketDim.dimDoorID&&par3World.getBlockId(par4, par5-1, par6)==mod_pocketDim.dimDoorID) if (par3World.getBlockId(par4, par5, par6)==properties.DimensionalDoorID&&par3World.getBlockId(par4, par5-1, par6)==properties.DimensionalDoorID)
{ {
offset = 0; offset = 0;
} }
else else
if(par3World.getBlockId(par4, par5, par6)==mod_pocketDim.ExitDoorID&&par3World.getBlockId(par4, par5-1, par6)==mod_pocketDim.ExitDoorID) if (par3World.getBlockId(par4, par5, par6) == properties.WarpDoorID && par3World.getBlockId(par4, par5-1, par6)==properties.WarpDoorID)
{ {
offset = 0; offset = 0;
} }
@@ -118,7 +122,7 @@ public class itemLinkSignature extends Item
{ {
int id= (par3World.getBlockId(par4, par5+count, par6)); int id= (par3World.getBlockId(par4, par5+count, par6));
if(id == mod_pocketDim.dimDoorID||id==mod_pocketDim.ExitDoorID||id==mod_pocketDim.chaosDoorID) if(id == properties.DimensionalDoorID||id==properties.WarpDoorID||id== properties.UnstableDoorID)
{ {
orientation = dimHelper.instance.getLinkDataFromCoords(par4, par5+count, par6,par3World).linkOrientation; orientation = dimHelper.instance.getLinkDataFromCoords(par4, par5+count, par6,par3World).linkOrientation;
} }

View File

@@ -2,7 +2,6 @@ package StevenDimDoors.mod_pocketDim;
import java.io.File; import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
@@ -15,7 +14,6 @@ import net.minecraft.entity.item.EntityItem;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.world.biome.BiomeGenBase; import net.minecraft.world.biome.BiomeGenBase;
import net.minecraftforge.common.Configuration;
import net.minecraftforge.common.DimensionManager; import net.minecraftforge.common.DimensionManager;
import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.MinecraftForge;
import StevenDimDoors.mod_pocketDim.blocks.BlockDimWall; import StevenDimDoors.mod_pocketDim.blocks.BlockDimWall;
@@ -95,74 +93,31 @@ public class mod_pocketDim
@Instance("PocketDimensions") @Instance("PocketDimensions")
public static mod_pocketDim instance = new mod_pocketDim(); public static mod_pocketDim instance = new mod_pocketDim();
public static SchematicLoader loader = new SchematicLoader();
public static pocketTeleporter teleporter = new pocketTeleporter();
public static DungeonHelper dungeonHelper= new DungeonHelper();
public static SchematicLoader loader;
public static pocketTeleporter teleporter;
public static DungeonHelper dungeonHelper;
public static ICommand printDimData;
public static ICommand removeRiftsCommand;
public static ICommand pruneDimsCommand;
public static ICommand removeAllLinksCommand;
public static ICommand deleteDimDataCommand;
public static ICommand addDungeonRift;
public static ICommand endDungeonCreation;
public static ICommand startDungeonCreation;
public static final ICommand printDimData = new CommandPrintDimData();
public static final ICommand removeRiftsCommand = new CommandDeleteRifts();
public static final ICommand pruneDimsCommand = new CommandPruneDims();
public static final ICommand removeAllLinksCommand = new CommandDeleteAllLinks();
public static final ICommand deleteDimDataCommand = new CommandDeleteDimData();
public static final ICommand addDungeonRift = new CommandAddDungeonRift();
public static final ICommand endDungeonCreation = new CommandEndDungeonCreation();
public static final ICommand startDungeonCreation = new CommandStartDungeonCreation();
public static int providerID;
public static int dimDoorID;
public static int ExitDoorID;
// public static int linkExitDoorID;
public static int itemLinkSignatureID;
public static int blockRiftID;
public static int transientDoorID;
public static int itemRiftBladeID;
public static int limboExitRange;
// public static int railRenderID;
public static String schematicContainer;
public static int itemStableFabricID;
public static int itemStabilizedLinkSignatureID;
public static int itemExitDoorID;
public static int limboDimID;
public static int limboProviderID;
public static int itemChaosDoorID;
public static int chaosDoorID;
public static int blockLimboID;
public static int dimHatchID;
// public static int dimRailID;
public static int riftSpreadFactor;
public static int DoorRenderID=55;
public static int HOW_MUCH_TNT;
public static int itemDimDoorID;
///public static int linkDimDoorID;
public static int blockDimWallID;
public static int itemRiftRemoverID;
public static int blockDimWallPermID;
public static int obeliskID;
//public static Block linkDimDoor;
public static Block transientDoor; public static Block transientDoor;
public static Block ExitDoor; public static Block ExitDoor;
public static Block chaosDoor; public static Block chaosDoor;
// public static Block linkExitDoor;
public static Block blockRift; public static Block blockRift;
public static Block blockLimbo; public static Block blockLimbo;
public static Block dimDoor; public static Block dimDoor;
// public static Block dimRail;
public static Block blockDimWall; public static Block blockDimWall;
public static Block dimHatch; public static Block dimHatch;
public static Block blockDimWallPerm; public static Block blockDimWallPerm;
public static Item itemRiftBlade;
public static Item itemRiftBlade;
public static Item itemDimDoor; public static Item itemDimDoor;
public static Item itemExitDoor; public static Item itemExitDoor;
public static Item itemRiftRemover; public static Item itemRiftRemover;
@@ -171,97 +126,52 @@ public class mod_pocketDim
public static Item itemChaosDoor; public static Item itemChaosDoor;
public static Item itemStabilizedLinkSignature; public static Item itemStabilizedLinkSignature;
public static BiomeGenBase limboBiome; public static BiomeGenBase limboBiome;
public static BiomeGenBase pocketBiome; public static BiomeGenBase pocketBiome;
public static int limboBiomeID; public static PlayerRespawnTracker tracker;
public static int pocketBiomeID;
public static PlayerRespawnTracker tracker= new PlayerRespawnTracker();
public static HashMap<String,ArrayList<EntityItem>> limboSpawnInventory = new HashMap<String,ArrayList<EntityItem>>(); public static HashMap<String,ArrayList<EntityItem>> limboSpawnInventory = new HashMap<String,ArrayList<EntityItem>>();
public static ArrayList<Integer> blocksImmuneToRift = new ArrayList<Integer>(); public static ArrayList<Integer> blocksImmuneToRift = new ArrayList<Integer>();
public static boolean riftsInWorldGen;
public static boolean isLimboActive;
public static boolean enableIronDimDoor;
public static boolean enableWoodenDimDoor;
public static boolean enableRiftSignature;
public static boolean enableRiftRemover;
public static boolean enableUnstableDoor;
public static boolean enableRiftBlade;
// public static boolean enableDimRail;
public static boolean enableDimTrapDoor;
public static boolean enableStabilizedRiftSignature;
public static boolean enableDoorOpenGL;
public static boolean hardcoreLimbo;
public static boolean returnInventory;
public static boolean hasInitDims = false; public static boolean hasInitDims = false;
public static boolean TNFREAKINGT;
public static boolean isPlayerWearingGoogles = false; public static boolean isPlayerWearingGoogles = false;
private static DDProperties properties;
public static RiftGenerator riftGen;
public static RiftGenerator riftGen = new RiftGenerator();
// public static World limbo= null;
public static long genTime; public static long genTime;
public static boolean enableRiftGrief; public static int teleTimer = 0;
//public Spells spells = null;
@PreInit @PreInit
public void PreInit(FMLPreInitializationEvent event) public void PreInit(FMLPreInitializationEvent event)
{ {
//This should be the FIRST thing that gets done.
properties = DDProperties.create(event.getSuggestedConfigurationFile());
//Now do other stuff
MinecraftForge.EVENT_BUS.register(new EventHookContainer()); MinecraftForge.EVENT_BUS.register(new EventHookContainer());
File configFile = event.getSuggestedConfigurationFile();
Configuration config = new Configuration(configFile); //These fields MUST be initialized after properties are loaded to prevent
//instances from holding onto null references to the properties.
loader = new SchematicLoader();
teleporter = new pocketTeleporter();
dungeonHelper= new DungeonHelper();
DimDoorsConfig.loadConfig(configFile); printDimData = new CommandPrintDimData();
removeRiftsCommand = new CommandDeleteRifts();
pruneDimsCommand = new CommandPruneDims();
removeAllLinksCommand = new CommandDeleteAllLinks();
deleteDimDataCommand = new CommandDeleteDimData();
addDungeonRift = new CommandAddDungeonRift();
endDungeonCreation = new CommandEndDungeonCreation();
startDungeonCreation = new CommandStartDungeonCreation();
tracker = new PlayerRespawnTracker();
riftGen = new RiftGenerator();
File file= new File(properties.CustomSchematicDirectory);
String schematicDir = configFile.getParent()+"/DimDoors_Custom_schematics";
this.schematicContainer=schematicDir;
File file= new File(schematicDir);
file.mkdir(); file.mkdir();
String helpFile = "/mods/DimDoors/How_to_add_dungeons.txt"; String helpFile = "/mods/DimDoors/How_to_add_dungeons.txt";
@@ -270,70 +180,44 @@ public class mod_pocketDim
copyfile.copyFile(helpFile, file+"/How_to_add_dungeons.txt"); copyfile.copyFile(helpFile, file+"/How_to_add_dungeons.txt");
} }
dungeonHelper.importCustomDungeons(schematicDir); dungeonHelper.importCustomDungeons(properties.CustomSchematicDirectory);
dungeonHelper.registerBaseDungeons(); dungeonHelper.registerBaseDungeons();
dungeonHelper.registerDungeonTypeTags(); dungeonHelper.registerDungeonTypeTags();
} }
@Init @Init
public void Init(FMLInitializationEvent event) public void Init(FMLInitializationEvent event)
{ {
transientDoor = (new TransientDoor(properties.TransientDoorID, Material.iron)).setHardness(1.0F) .setUnlocalizedName("transientDoor");
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().setHardness(100000.0F).setUnlocalizedName("blockDimWallPerm");
ExitDoor = (new ExitDoor(properties.WarpDoorID, Material.wood)).setHardness(1.0F) .setUnlocalizedName("dimDoorWarp");
transientDoor = (new TransientDoor(transientDoorID, Material.iron)).setHardness(1.0F) .setUnlocalizedName("transientDoor"); blockRift = (new BlockRift(properties.RiftBlockID, 0, Material.air).setHardness(1.0F) .setUnlocalizedName("rift"));
blockLimbo = (new BlockLimbo(properties.LimboBlockID, 15, Material.iron).setHardness(.2F).setUnlocalizedName("BlockLimbo").setLightValue(.0F));
// linkDimDoor = (new linkDimDoor(linkDimDoorID, Material.iron)).setHardness(1.0F) .setUnlocalizedName("dimDoorLink"); chaosDoor = (new ChaosDoor(properties.UnstableDoorID, Material.iron).setHardness(.2F).setUnlocalizedName("chaosDoor").setLightValue(.0F) );
blockDimWall = (new BlockDimWall(blockDimWallID, 0, Material.iron)).setLightValue(1.0F).setHardness(0.1F).setUnlocalizedName("blockDimWall"); dimDoor = (new dimDoor(properties.DimensionalDoorID, Material.iron)).setHardness(1.0F).setResistance(2000.0F) .setUnlocalizedName("dimDoor");
blockDimWallPerm = (new BlockDimWallPerm(blockDimWallPermID, 0, Material.iron)).setLightValue(1.0F).setBlockUnbreakable().setHardness(100000.0F).setUnlocalizedName("blockDimWallPerm"); dimHatch = (new dimHatch(properties.TransTrapdoorID, 84, Material.iron)).setHardness(1.0F) .setUnlocalizedName("dimHatch");
ExitDoor = (new ExitDoor(ExitDoorID, Material.wood)).setHardness(1.0F) .setUnlocalizedName("dimDoorWarp");
// linkExitDoor = (new linkExitDoor(linkExitDoorID, Material.wood)).setHardness(1.0F) .setUnlocalizedName("dimDoorexitlink");
blockRift = (new BlockRift(blockRiftID, 0, Material.air).setHardness(1.0F) .setUnlocalizedName("rift"));
blockLimbo = (new BlockLimbo(blockLimboID, 15, Material.iron).setHardness(.2F).setUnlocalizedName("BlockLimbo").setLightValue(.0F));
chaosDoor = (new ChaosDoor(chaosDoorID, Material.iron).setHardness(.2F).setUnlocalizedName("chaosDoor").setLightValue(.0F) );
dimDoor = (new dimDoor(dimDoorID, Material.iron)).setHardness(1.0F).setResistance(2000.0F) .setUnlocalizedName("dimDoor");
dimHatch = (new dimHatch(dimHatchID, 84, Material.iron)).setHardness(1.0F) .setUnlocalizedName("dimHatch");
// dimRail = (new DimRail(dimRailID, 88, false)).setHardness(.5F) .setUnlocalizedName("dimRail"); // dimRail = (new DimRail(dimRailID, 88, false)).setHardness(.5F) .setUnlocalizedName("dimRail");
itemDimDoor = (new itemDimDoor(itemDimDoorID, Material.iron)).setUnlocalizedName("itemDimDoor"); itemDimDoor = (new itemDimDoor(properties.DimensionalDoorItemID, Material.iron)).setUnlocalizedName("itemDimDoor");
itemExitDoor = (new itemExitDoor(itemExitDoorID, Material.wood)).setUnlocalizedName("itemDimDoorWarp"); itemExitDoor = (new itemExitDoor(properties.WarpDoorItemID, Material.wood)).setUnlocalizedName("itemDimDoorWarp");
itemLinkSignature = (new itemLinkSignature(itemLinkSignatureID )).setUnlocalizedName("itemLinkSignature"); itemLinkSignature = (new itemLinkSignature(properties.RiftSignatureItemID)).setUnlocalizedName("itemLinkSignature");
itemRiftRemover = (new itemRiftRemover(itemRiftRemoverID, Material.wood)).setUnlocalizedName("itemRiftRemover"); itemRiftRemover = (new itemRiftRemover(properties.RiftRemoverItemID, Material.wood)).setUnlocalizedName("itemRiftRemover");
itemStableFabric = (new ItemStableFabric(itemStableFabricID, 0)).setUnlocalizedName("itemStableFabric"); itemStableFabric = (new ItemStableFabric(properties.StableFabricItemID, 0)).setUnlocalizedName("itemStableFabric");
itemChaosDoor = (new ItemChaosDoor(itemChaosDoorID, Material.iron)).setUnlocalizedName("itemChaosDoor"); itemChaosDoor = (new ItemChaosDoor(properties.UnstableDoorItemID, Material.iron)).setUnlocalizedName("itemChaosDoor");
itemRiftBlade = (new ItemRiftBlade(itemRiftBladeID, Material.iron)).setUnlocalizedName("ItemRiftBlade"); itemRiftBlade = (new ItemRiftBlade(properties.RiftBladeItemID, Material.iron)).setUnlocalizedName("ItemRiftBlade");
itemStabilizedLinkSignature = (new ItemStabilizedRiftSignature(itemStabilizedLinkSignatureID)).setUnlocalizedName("itemStabilizedRiftSig"); itemStabilizedLinkSignature = (new ItemStabilizedRiftSignature(properties.StabilizedRiftSignatureItemID)).setUnlocalizedName("itemStabilizedRiftSig");
this.limboBiome= (new BiomeGenLimbo(this.limboBiomeID) ); mod_pocketDim.limboBiome= (new BiomeGenLimbo(properties.LimboBiomeID));
this.pocketBiome= (new BiomeGenPocket(this.pocketBiomeID)); mod_pocketDim.pocketBiome= (new BiomeGenPocket(properties.PocketBiomeID));
GameRegistry.registerWorldGenerator(mod_pocketDim.riftGen);
GameRegistry.registerWorldGenerator(this.riftGen);
//GameRegistry.registerBlock(dimRail, "Dimensional Rail");
GameRegistry.registerBlock(chaosDoor, "Unstable Door"); GameRegistry.registerBlock(chaosDoor, "Unstable Door");
GameRegistry.registerBlock(ExitDoor, "Warp Door"); GameRegistry.registerBlock(ExitDoor, "Warp Door");
//GameRegistry.registerBlock(linkExitDoor, "Warp Door link");
GameRegistry.registerBlock(blockRift, "Rift"); GameRegistry.registerBlock(blockRift, "Rift");
GameRegistry.registerBlock(blockLimbo, "Unraveled Fabric"); GameRegistry.registerBlock(blockLimbo, "Unraveled Fabric");
//GameRegistry.registerBlock(linkDimDoor, "Dimensional Door link");
GameRegistry.registerBlock(dimDoor, "Dimensional Door"); GameRegistry.registerBlock(dimDoor, "Dimensional Door");
GameRegistry.registerBlock(dimHatch,"Transdimensional Trapdoor"); GameRegistry.registerBlock(dimHatch,"Transdimensional Trapdoor");
GameRegistry.registerBlock(blockDimWall, "Fabric of Reality"); GameRegistry.registerBlock(blockDimWall, "Fabric of Reality");
@@ -342,22 +226,15 @@ public class mod_pocketDim
GameRegistry.registerPlayerTracker(tracker); GameRegistry.registerPlayerTracker(tracker);
DimensionManager.registerProviderType(properties.PocketProviderID, pocketProvider.class, false);
DimensionManager.registerProviderType(properties.LimboProviderID, LimboProvider.class, false);
DimensionManager.registerProviderType(this.providerID, pocketProvider.class, false); DimensionManager.registerDimension(properties.LimboDimensionID, properties.LimboProviderID);
DimensionManager.registerProviderType(this.limboProviderID, LimboProvider.class, false);
DimensionManager.registerDimension(this.limboDimID , this.limboProviderID);
LanguageRegistry.addName(transientDoor , "transientDoor"); LanguageRegistry.addName(transientDoor , "transientDoor");
LanguageRegistry.addName(blockRift , "Rift"); LanguageRegistry.addName(blockRift , "Rift");
LanguageRegistry.addName(blockLimbo , "Unraveled Fabric"); LanguageRegistry.addName(blockLimbo , "Unraveled Fabric");
LanguageRegistry.addName(ExitDoor , "Warp Door"); LanguageRegistry.addName(ExitDoor , "Warp Door");
LanguageRegistry.addName(chaosDoor , "Unstable Door"); LanguageRegistry.addName(chaosDoor , "Unstable Door");
//LanguageRegistry.addName(linkDimDoor, "Dimensional Door");
LanguageRegistry.addName(blockDimWall , "Fabric of Reality"); LanguageRegistry.addName(blockDimWall , "Fabric of Reality");
LanguageRegistry.addName(blockDimWallPerm , "Fabric of Reality"); LanguageRegistry.addName(blockDimWallPerm , "Fabric of Reality");
LanguageRegistry.addName(dimDoor, "Dimensional Door"); LanguageRegistry.addName(dimDoor, "Dimensional Door");
@@ -381,17 +258,15 @@ public class mod_pocketDim
GameRegistry.registerTileEntity(TileEntityDimDoor.class, "TileEntityDimDoor"); GameRegistry.registerTileEntity(TileEntityDimDoor.class, "TileEntityDimDoor");
GameRegistry.registerTileEntity(TileEntityRift.class, "TileEntityRift"); GameRegistry.registerTileEntity(TileEntityRift.class, "TileEntityRift");
EntityRegistry.registerModEntity(MobObelisk.class, "Obelisk", this.obeliskID, this,70, 1, true); EntityRegistry.registerModEntity(MobObelisk.class, "Monolith", properties.MonolithEntityID, this, 70, 1, true);
EntityList.IDtoClassMapping.put(this.obeliskID, MobObelisk.class); EntityList.IDtoClassMapping.put(properties.MonolithEntityID, MobObelisk.class);
EntityList.entityEggs.put(this.obeliskID, new EntityEggInfo(this.obeliskID, 0, 0xffffff)); EntityList.entityEggs.put(properties.MonolithEntityID, new EntityEggInfo(properties.MonolithEntityID, 0, 0xffffff));
LanguageRegistry.instance().addStringLocalization("entity.DimDoors.Obelisk.name", "Monolith"); LanguageRegistry.instance().addStringLocalization("entity.DimDoors.Obelisk.name", "Monolith");
//GameRegistry.addBiome(this.limboBiome); //GameRegistry.addBiome(this.limboBiome);
//GameRegistry.addBiome(this.pocketBiome); //GameRegistry.addBiome(this.pocketBiome);
if(this.enableIronDimDoor) if (properties.CraftingDimensionaDoorAllowed)
{ {
GameRegistry.addRecipe(new ItemStack(itemDimDoor, 1), new Object[] GameRegistry.addRecipe(new ItemStack(itemDimDoor, 1), new Object[]
{ {
@@ -400,7 +275,7 @@ public class mod_pocketDim
GameRegistry.addRecipe(new ItemStack(itemDimDoor, 1), new Object[] GameRegistry.addRecipe(new ItemStack(itemDimDoor, 1), new Object[]
{ {
" ", "yxy", " ", 'x', this.itemStableFabric, 'y', Item.doorIron " ", "yxy", " ", 'x', mod_pocketDim.itemStableFabric, 'y', Item.doorIron
}); });
} }
@@ -419,14 +294,14 @@ public class mod_pocketDim
} }
**/ **/
if(this.enableUnstableDoor) if(properties.CraftingUnstableDoorAllowed)
{ {
GameRegistry.addRecipe(new ItemStack(itemChaosDoor, 1), new Object[] GameRegistry.addRecipe(new ItemStack(itemChaosDoor, 1), new Object[]
{ {
" ", "yxy", " ", 'x', Item.eyeOfEnder, 'y', this.itemDimDoor " ", "yxy", " ", 'x', Item.eyeOfEnder, 'y', mod_pocketDim.itemDimDoor
}); });
} }
if(this.enableWoodenDimDoor) if(properties.CraftingWarpDoorAllowed)
{ {
GameRegistry.addRecipe(new ItemStack(itemExitDoor, 1), new Object[] GameRegistry.addRecipe(new ItemStack(itemExitDoor, 1), new Object[]
{ {
@@ -435,10 +310,10 @@ public class mod_pocketDim
GameRegistry.addRecipe(new ItemStack(itemExitDoor, 1), new Object[] GameRegistry.addRecipe(new ItemStack(itemExitDoor, 1), new Object[]
{ {
" ", "yxy", " ", 'x', this.itemStableFabric, 'y', Item.doorWood " ", "yxy", " ", 'x', mod_pocketDim.itemStableFabric, 'y', Item.doorWood
}); });
} }
if(this.enableDimTrapDoor) if(properties.CraftingTransTrapdoorAllowed)
{ {
GameRegistry.addRecipe(new ItemStack(dimHatch, 1), new Object[] GameRegistry.addRecipe(new ItemStack(dimHatch, 1), new Object[]
{ {
@@ -447,10 +322,10 @@ public class mod_pocketDim
GameRegistry.addRecipe(new ItemStack(dimHatch, 1), new Object[] GameRegistry.addRecipe(new ItemStack(dimHatch, 1), new Object[]
{ {
" y ", " x ", " y ", 'x', this.itemStableFabric, 'y', Block.trapdoor " y ", " x ", " y ", 'x', mod_pocketDim.itemStableFabric, 'y', Block.trapdoor
}); });
} }
if(this.enableRiftSignature) if(properties.CraftingRiftSignatureAllowed)
{ {
GameRegistry.addRecipe(new ItemStack(itemLinkSignature, 1), new Object[] GameRegistry.addRecipe(new ItemStack(itemLinkSignature, 1), new Object[]
{ {
@@ -459,10 +334,11 @@ public class mod_pocketDim
GameRegistry.addRecipe(new ItemStack(itemLinkSignature, 1), new Object[] GameRegistry.addRecipe(new ItemStack(itemLinkSignature, 1), new Object[]
{ {
" y ", "yxy", " y ", 'x', this.itemStableFabric, 'y', Item.ingotIron " y ", "yxy", " y ", 'x', mod_pocketDim.itemStableFabric, 'y', Item.ingotIron
}); });
} }
if(this.enableRiftRemover)
if(properties.CraftingRiftRemoverAllowed)
{ {
GameRegistry.addRecipe(new ItemStack(itemRiftRemover, 1), new Object[] GameRegistry.addRecipe(new ItemStack(itemRiftRemover, 1), new Object[]
{ {
@@ -470,78 +346,54 @@ public class mod_pocketDim
}); });
GameRegistry.addRecipe(new ItemStack(itemRiftRemover, 1), new Object[] GameRegistry.addRecipe(new ItemStack(itemRiftRemover, 1), new Object[]
{ {
"yyy", "yxy", "yyy", 'x', this.itemStableFabric, 'y', Item.ingotGold "yyy", "yxy", "yyy", 'x', mod_pocketDim.itemStableFabric, 'y', Item.ingotGold
}); });
} }
if (properties.CraftingRiftBladeAllowed)
if(this.enableRiftBlade)
{ {
GameRegistry.addRecipe(new ItemStack(itemRiftBlade, 1), new Object[] GameRegistry.addRecipe(new ItemStack(itemRiftBlade, 1), new Object[]
{ {
" x ", " x ", " y ", 'x', Item.enderPearl, 'y',this.itemRiftRemover " x ", " x ", " y ", 'x', Item.enderPearl, 'y',mod_pocketDim.itemRiftRemover
}); });
} }
if (properties.CraftingStableFabricAllowed)
{
GameRegistry.addRecipe(new ItemStack(itemStableFabric, 4), new Object[] GameRegistry.addRecipe(new ItemStack(itemStableFabric, 4), new Object[]
{ {
" y ", "yxy", " y ", 'x', Item.enderPearl, 'y', this.blockDimWall " y ", "yxy", " y ", 'x', Item.enderPearl, 'y', mod_pocketDim.blockDimWall
});
GameRegistry.addRecipe(new ItemStack(itemStableFabric, 4), new Object[]
{
" y ", "yxy", " y ", 'x', Item.enderPearl, 'y', this.blockLimbo
});
if (this.enableStabilizedRiftSignature)
{
GameRegistry.addRecipe(new ItemStack(this.itemStabilizedLinkSignature,1), new Object[]
{
" y ", "yxy", " y ", 'x', this.itemLinkSignature, 'y', this.itemStableFabric
}); });
} }
this.blocksImmuneToRift.add(this.blockDimWallID); if (properties.CraftingStabilizedRiftSignatureAllowed)
this.blocksImmuneToRift.add(this.blockDimWallPermID); {
this.blocksImmuneToRift.add(this.dimDoorID); GameRegistry.addRecipe(new ItemStack(mod_pocketDim.itemStabilizedLinkSignature,1), new Object[]
this.blocksImmuneToRift.add(this.ExitDoorID); {
// this.blocksImmuneToRift.add(this.linkDimDoorID); " y ", "yxy", " y ", 'x', mod_pocketDim.itemLinkSignature, 'y', mod_pocketDim.itemStableFabric
// this.blocksImmuneToRift.add(this.linkExitDoorID); });
this.blocksImmuneToRift.add(this.dimHatchID); }
this.blocksImmuneToRift.add(this.chaosDoorID);
this.blocksImmuneToRift.add(this.blockRiftID); mod_pocketDim.blocksImmuneToRift.add(properties.FabricBlockID);
this.blocksImmuneToRift.add(this.transientDoorID); mod_pocketDim.blocksImmuneToRift.add(properties.PermaFabricBlockID);
this.blocksImmuneToRift.add(Block.blockIron.blockID); mod_pocketDim.blocksImmuneToRift.add(properties.DimensionalDoorID);
this.blocksImmuneToRift.add(Block.blockDiamond.blockID); mod_pocketDim.blocksImmuneToRift.add(properties.WarpDoorID);
this.blocksImmuneToRift.add(Block.blockEmerald.blockID); mod_pocketDim.blocksImmuneToRift.add(properties.TransTrapdoorID);
this.blocksImmuneToRift.add(Block.blockGold.blockID); mod_pocketDim.blocksImmuneToRift.add(properties.UnstableDoorID);
this.blocksImmuneToRift.add(Block.blockLapis.blockID); mod_pocketDim.blocksImmuneToRift.add(properties.RiftBlockID);
this.blocksImmuneToRift.add(Block.bedrock.blockID); mod_pocketDim.blocksImmuneToRift.add(properties.TransientDoorID);
mod_pocketDim.blocksImmuneToRift.add(Block.blockIron.blockID);
mod_pocketDim.blocksImmuneToRift.add(Block.blockDiamond.blockID);
mod_pocketDim.blocksImmuneToRift.add(Block.blockEmerald.blockID);
mod_pocketDim.blocksImmuneToRift.add(Block.blockGold.blockID);
mod_pocketDim.blocksImmuneToRift.add(Block.blockLapis.blockID);
mod_pocketDim.blocksImmuneToRift.add(Block.bedrock.blockID);
dungeonHelper.registerFlipBlocks(); dungeonHelper.registerFlipBlocks();
/**
**/
proxy.loadTextures(); proxy.loadTextures();
proxy.registerRenderers(); proxy.registerRenderers();
} }
@@ -555,13 +407,12 @@ public class mod_pocketDim
{ {
try try
{ {
dimHelper.instance.save(); dimHelper.instance.save();
dimHelper.instance.unregsisterDims(); dimHelper.instance.unregsisterDims();
dimHelper.dimList.clear(); dimHelper.dimList.clear();
dimHelper.blocksToDecay.clear(); dimHelper.blocksToDecay.clear();
dimHelper.instance.interDimLinkList.clear(); dimHelper.instance.interDimLinkList.clear();
this.hasInitDims=false; mod_pocketDim.hasInitDims=false;
} }
catch(Exception e) catch(Exception e)
{ {
@@ -573,27 +424,21 @@ public class mod_pocketDim
@ServerStarting @ServerStarting
public void serverStarting(FMLServerStartingEvent event) public void serverStarting(FMLServerStartingEvent event)
{ {
event.registerServerCommand(removeRiftsCommand); event.registerServerCommand(removeRiftsCommand);
event.registerServerCommand(pruneDimsCommand); event.registerServerCommand(pruneDimsCommand);
event.registerServerCommand(removeAllLinksCommand); event.registerServerCommand(removeAllLinksCommand);
event.registerServerCommand(deleteDimDataCommand); event.registerServerCommand(deleteDimDataCommand);
event.registerServerCommand(addDungeonRift); event.registerServerCommand(addDungeonRift);
event.registerServerCommand(this.startDungeonCreation); event.registerServerCommand(mod_pocketDim.startDungeonCreation);
event.registerServerCommand(this.printDimData); event.registerServerCommand(mod_pocketDim.printDimData);
event.registerServerCommand(this.endDungeonCreation); event.registerServerCommand(mod_pocketDim.endDungeonCreation);
dimHelper.instance.load(); dimHelper.instance.load();
if(!dimHelper.dimList.containsKey(this.limboDimID)) if(!dimHelper.dimList.containsKey(properties.LimboDimensionID))
{ {
dimHelper.instance.dimList.put(mod_pocketDim.limboDimID, new DimData( mod_pocketDim.limboDimID, false, 0, new LinkData())); dimHelper.dimList.put(properties.LimboDimensionID, new DimData( properties.LimboDimensionID, false, 0, new LinkData()));
} }
} }
public static int teleTimer=0;
} }

View File

@@ -13,6 +13,7 @@ import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.DamageSource; import net.minecraft.util.DamageSource;
import net.minecraft.util.MathHelper; import net.minecraft.util.MathHelper;
import net.minecraft.world.World; import net.minecraft.world.World;
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;
import StevenDimDoors.mod_pocketDim.helpers.dimHelper; import StevenDimDoors.mod_pocketDim.helpers.dimHelper;
@@ -36,9 +37,9 @@ public class MobObelisk extends EntityFlying implements IMob
int destX=0; int destX=0;
int destY=0; int destY=0;
int destZ=0; int destZ=0;
public MobObelisk(World par1World) public MobObelisk(World par1World)
{ {
super(par1World); super(par1World);
this.texture="/mods/DimDoors/textures/mobs/Monolith0.png"; this.texture="/mods/DimDoors/textures/mobs/Monolith0.png";
this.setSize(3F, 9.0F); this.setSize(3F, 9.0F);
@@ -46,11 +47,12 @@ public class MobObelisk extends EntityFlying implements IMob
this.scaleFactor= (float) ((rand.nextDouble()/2)+1); this.scaleFactor= (float) ((rand.nextDouble()/2)+1);
this.aggroMax=rand.nextInt(245)+200; this.aggroMax=rand.nextInt(245)+200;
if (properties == null)
properties = DDProperties.instance();
// TODO Auto-generated constructor stub
} }
private static DDProperties properties = null;
@Override @Override
public boolean canDespawn() public boolean canDespawn()
{ {
@@ -86,15 +88,8 @@ public class MobObelisk extends EntityFlying implements IMob
{ {
super.entityInit(); super.entityInit();
this.dataWatcher.addObject(16, Byte.valueOf((byte)0)); this.dataWatcher.addObject(16, Byte.valueOf((byte)0));
} }
@Override @Override
public void onEntityUpdate() public void onEntityUpdate()
{ {
@@ -196,7 +191,7 @@ public class MobObelisk extends EntityFlying implements IMob
LinkData link = new LinkData(this.worldObj.provider.dimensionId, mod_pocketDim.limboDimID, (int)this.posX, (int)this.posY, (int)this.posZ, (int)this.posX+rand.nextInt(500)-250, (int)this.posY+500, (int)this.posZ+rand.nextInt(500)-250, false,0); LinkData link = new LinkData(this.worldObj.provider.dimensionId, properties.LimboDimensionID, (int)this.posX, (int)this.posY, (int)this.posZ, (int)this.posX+rand.nextInt(500)-250, (int)this.posY+500, (int)this.posZ+rand.nextInt(500)-250, false,0);
dimHelper.instance.teleportToPocket(worldObj, link, entityPlayer); dimHelper.instance.teleportToPocket(worldObj, link, entityPlayer);
this.aggro=0; this.aggro=0;
@@ -306,7 +301,7 @@ public class MobObelisk extends EntityFlying implements IMob
{ {
List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this,AxisAlignedBB.getBoundingBox( this.posX-15, posY-4, this.posZ-15, this.posX+15, this.posY+15, this.posZ+15)); List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this,AxisAlignedBB.getBoundingBox( this.posX-15, posY-4, this.posZ-15, this.posX+15, this.posY+15, this.posZ+15));
if(list.size()>0&&this.worldObj.provider.dimensionId==mod_pocketDim.limboDimID) if(list.size()>0&&this.worldObj.provider.dimensionId==properties.LimboDimensionID)
{ {
return false; return false;
} }

View File

@@ -2,15 +2,22 @@ package StevenDimDoors.mod_pocketDim.world;
import java.util.Random; import java.util.Random;
import StevenDimDoors.mod_pocketDim.mod_pocketDim;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.util.MathHelper; import net.minecraft.util.MathHelper;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraft.world.gen.MapGenBase; import net.minecraft.world.gen.MapGenBase;
import StevenDimDoors.mod_pocketDim.DDProperties;
public class CustomCaveGen extends MapGenBase public class CustomCaveGen extends MapGenBase
{ {
private static DDProperties properties = null;
public CustomCaveGen()
{
if (properties == null)
properties = DDProperties.instance();
}
/** /**
* Generates a larger initial cave node than usual. Called 25% of the time. * Generates a larger initial cave node than usual. Called 25% of the time.
*/ */
@@ -185,7 +192,7 @@ public class CustomCaveGen extends MapGenBase
var49 = true; var49 = true;
} }
if (var53 == mod_pocketDim.blockLimboID|| var53 == Block.dirt.blockID || var53 == Block.grass.blockID) if (var53 == properties.LimboBlockID || var53 == Block.dirt.blockID || var53 == Block.grass.blockID)
{ {
if (var50 < 10) if (var50 < 10)
{ {

View File

@@ -3,6 +3,7 @@ package StevenDimDoors.mod_pocketDim.world;
import java.util.List; import java.util.List;
import java.util.Random; import java.util.Random;
import StevenDimDoors.mod_pocketDim.DDProperties;
import StevenDimDoors.mod_pocketDim.mod_pocketDim; import StevenDimDoors.mod_pocketDim.mod_pocketDim;
import net.minecraft.block.Block; import net.minecraft.block.Block;
@@ -28,7 +29,7 @@ import net.minecraftforge.event.terraingen.ChunkProviderEvent;
public class LimboGenerator extends ChunkProviderGenerate implements IChunkProvider public class LimboGenerator extends ChunkProviderGenerate implements IChunkProvider
{ {
private Random rand; private static Random rand;
/** A NoiseGeneratorOctaves used in generating terrain */ /** A NoiseGeneratorOctaves used in generating terrain */
private NoiseGeneratorOctaves noiseGen1; private NoiseGeneratorOctaves noiseGen1;
@@ -102,15 +103,12 @@ public class LimboGenerator extends ChunkProviderGenerate implements IChunkProvi
int[][] field_73219_j = new int[32][32]; int[][] field_73219_j = new int[32][32];
{ {
// caveGenerator = TerrainGen.getModdedMapGen(caveGenerator, CAVE); // caveGenerator = TerrainGen.getModdedMapGen(caveGenerator, CAVE);
} }
private static DDProperties properties = null;
public LimboGenerator(World par1World, long par2) public LimboGenerator(World par1World, long par2)
{ {
super(par1World, par2, false); super(par1World, par2, false);
//par2 = 90899090; //par2 = 90899090;
this.rand = new Random(par2); this.rand = new Random(par2);
@@ -133,6 +131,9 @@ public class LimboGenerator extends ChunkProviderGenerate implements IChunkProvi
this.mobSpawnerNoise = noiseGens[6]; this.mobSpawnerNoise = noiseGens[6];
// TODO Auto-generated constructor stub // TODO Auto-generated constructor stub
this.worldObj=par1World; this.worldObj=par1World;
if (properties == null)
properties = DDProperties.instance();
} }
@Override @Override
@@ -376,11 +377,11 @@ public class LimboGenerator extends ChunkProviderGenerate implements IChunkProvi
{ {
if ((var47 += var49) > 0.0D) if ((var47 += var49) > 0.0D)
{ {
par3ArrayOfByte[var43 += var44] = (byte)mod_pocketDim.blockLimboID; par3ArrayOfByte[var43 += var44] = (byte)properties.LimboBlockID;
} }
else if (var12 * 8 + var31 < var6) else if (var12 * 8 + var31 < var6)
{ {
par3ArrayOfByte[var43 += var44] = (byte)mod_pocketDim.blockDimWallPermID; par3ArrayOfByte[var43 += var44] = (byte)properties.PermaFabricBlockID;
} }
else else

View File

@@ -1,7 +1,5 @@
package StevenDimDoors.mod_pocketDim.world; package StevenDimDoors.mod_pocketDim.world;
import StevenDimDoors.mod_pocketDim.CloudRenderBlank;
import StevenDimDoors.mod_pocketDim.mod_pocketDim;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.util.ChunkCoordinates; import net.minecraft.util.ChunkCoordinates;
@@ -10,31 +8,29 @@ import net.minecraft.world.WorldProvider;
import net.minecraft.world.biome.BiomeGenBase; import net.minecraft.world.biome.BiomeGenBase;
import net.minecraft.world.biome.WorldChunkManagerHell; import net.minecraft.world.biome.WorldChunkManagerHell;
import net.minecraft.world.chunk.IChunkProvider; import net.minecraft.world.chunk.IChunkProvider;
import net.minecraft.world.storage.WorldInfo;
import net.minecraftforge.client.IRenderHandler; import net.minecraftforge.client.IRenderHandler;
import StevenDimDoors.mod_pocketDim.CloudRenderBlank;
import StevenDimDoors.mod_pocketDim.DDProperties;
import StevenDimDoors.mod_pocketDim.mod_pocketDim;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
public class LimboProvider extends WorldProvider public class LimboProvider extends WorldProvider
{ {
@Override @Override
public String getDimensionName() { public String getDimensionName() {
// TODO Auto-generated method stub
return "Limbo"; return "Limbo";
} }
private IRenderHandler skyRenderer; private IRenderHandler skyRenderer;
private DDProperties properties = null;
public LimboProvider() public LimboProvider()
{ {
this.hasNoSky = false; this.hasNoSky = false;
this.skyRenderer = new limboSkyProvider(); this.skyRenderer = new limboSkyProvider();
if (properties == null)
properties = DDProperties.instance();
} }
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
@@ -59,9 +55,9 @@ public class LimboProvider extends WorldProvider
public boolean canRespawnHere() public boolean canRespawnHere()
{ {
return properties.HardcoreLimboEnabled && properties.LimboEnabled;
return mod_pocketDim.hardcoreLimbo&&mod_pocketDim.isLimboActive;
} }
public boolean isBlockHighHumidity(int x, int y, int z) public boolean isBlockHighHumidity(int x, int y, int z)
{ {
return false; return false;
@@ -73,6 +69,7 @@ public class LimboProvider extends WorldProvider
{ {
return false; return false;
} }
@Override @Override
protected void generateLightBrightnessTable() protected void generateLightBrightnessTable()
{ {
@@ -129,7 +126,7 @@ public class LimboProvider extends WorldProvider
public boolean canCoordinateBeSpawn(int par1, int par2) public boolean canCoordinateBeSpawn(int par1, int par2)
{ {
int var3 = this.worldObj.getFirstUncoveredBlock(par1, par2); int var3 = this.worldObj.getFirstUncoveredBlock(par1, par2);
return var3 == mod_pocketDim.blockLimboID; return var3 == properties.LimboBlockID;
} }
@Override @Override
public double getHorizon() public double getHorizon()
@@ -159,6 +156,7 @@ public class LimboProvider extends WorldProvider
{ {
return new LimboGenerator(worldObj, 45); return new LimboGenerator(worldObj, 45);
} }
public boolean canBlockFreeze(int x, int y, int z, boolean byWater) public boolean canBlockFreeze(int x, int y, int z, boolean byWater)
{ {
return false; return false;
@@ -180,12 +178,5 @@ public class LimboProvider extends WorldProvider
} }
return var5; return var5;
} }
} }

View File

@@ -1,6 +1,7 @@
package StevenDimDoors.mod_pocketDim.world; package StevenDimDoors.mod_pocketDim.world;
import StevenDimDoors.mod_pocketDim.CloudRenderBlank; import StevenDimDoors.mod_pocketDim.CloudRenderBlank;
import StevenDimDoors.mod_pocketDim.DDProperties;
import StevenDimDoors.mod_pocketDim.mod_pocketDim; import StevenDimDoors.mod_pocketDim.mod_pocketDim;
import StevenDimDoors.mod_pocketDim.helpers.dimHelper; import StevenDimDoors.mod_pocketDim.helpers.dimHelper;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
@@ -24,11 +25,13 @@ public class pocketProvider extends WorldProvider
public boolean isSavingSchematic= false; public boolean isSavingSchematic= false;
public int dimToSave; public int dimToSave;
private static DDProperties properties = null;
public pocketProvider() public pocketProvider()
{ {
this.hasNoSky=true; this.hasNoSky=true;
if (properties == null)
properties = DDProperties.instance();
} }
@Override @Override
@@ -89,7 +92,6 @@ public class pocketProvider extends WorldProvider
@Override @Override
public String getDimensionName() public String getDimensionName()
{ {
// TODO Auto-generated method stub
return "PocketDim " + this.dimensionId; return "PocketDim " + this.dimensionId;
} }
@@ -98,9 +100,9 @@ public class pocketProvider extends WorldProvider
{ {
int respawnDim; int respawnDim;
if(mod_pocketDim.isLimboActive) if (properties.LimboEnabled)
{ {
respawnDim= mod_pocketDim.limboDimID; respawnDim = properties.LimboDimensionID;
} }
else else
{ {

View File

@@ -14,9 +14,6 @@ import cpw.mods.fml.common.network.Player;
// This just handles the data packets in the server // This just handles the data packets in the server
public class ClientPacketHandler implements IPacketHandler{ public class ClientPacketHandler implements IPacketHandler{
@Override @Override
public void onPacketData(INetworkManager manager, public void onPacketData(INetworkManager manager,
Packet250CustomPayload packet, Player player) { Packet250CustomPayload packet, Player player) {

View File

@@ -13,6 +13,7 @@ import net.minecraft.tileentity.TileEntity;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL11;
import StevenDimDoors.mod_pocketDim.DDProperties;
import StevenDimDoors.mod_pocketDim.TileEntityDimDoor; import StevenDimDoors.mod_pocketDim.TileEntityDimDoor;
import StevenDimDoors.mod_pocketDim.mod_pocketDim; import StevenDimDoors.mod_pocketDim.mod_pocketDim;
import StevenDimDoors.mod_pocketDim.blocks.dimDoor; import StevenDimDoors.mod_pocketDim.blocks.dimDoor;
@@ -24,6 +25,14 @@ public class RenderDimDoor extends TileEntitySpecialRenderer
{ {
FloatBuffer field_76908_a = GLAllocation.createDirectFloatBuffer(16); FloatBuffer field_76908_a = GLAllocation.createDirectFloatBuffer(16);
public RenderDimDoor()
{
if (properties == null)
properties = DDProperties.instance();
}
private static DDProperties properties = null;
/** /**
* Renders the dimdoor. * Renders the dimdoor.
*/ */
@@ -31,7 +40,7 @@ public class RenderDimDoor extends TileEntitySpecialRenderer
{ {
try try
{ {
dimDoor.class.cast(Block.blocksList[mod_pocketDim.dimDoorID]).updateAttatchedTile(tile.worldObj, tile.xCoord, tile.yCoord, tile.zCoord).getFullMetadata(tile.worldObj, tile.xCoord, tile.yCoord, tile.zCoord); dimDoor.class.cast(Block.blocksList[properties.DimensionalDoorID]).updateAttatchedTile(tile.worldObj, tile.xCoord, tile.yCoord, tile.zCoord).getFullMetadata(tile.worldObj, tile.xCoord, tile.yCoord, tile.zCoord);
} }
catch(Exception e) catch(Exception e)
@@ -268,7 +277,7 @@ public class RenderDimDoor extends TileEntitySpecialRenderer
public void renderTileEntityAt(TileEntity par1TileEntity, double par2, double par4, double par6, float par8) public void renderTileEntityAt(TileEntity par1TileEntity, double par2, double par4, double par6, float par8)
{ {
if(mod_pocketDim.enableDoorOpenGL) if (properties.DoorRenderingEnabled)
{ {
this.renderDimDoorTileEntity((TileEntityDimDoor)par1TileEntity, par2, par4, par6, par8); this.renderDimDoorTileEntity((TileEntityDimDoor)par1TileEntity, par2, par4, par6, par8);
} }

View File

@@ -13,6 +13,7 @@ import net.minecraft.tileentity.TileEntity;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL11;
import StevenDimDoors.mod_pocketDim.DDProperties;
import StevenDimDoors.mod_pocketDim.TileEntityDimDoor; import StevenDimDoors.mod_pocketDim.TileEntityDimDoor;
import StevenDimDoors.mod_pocketDim.mod_pocketDim; import StevenDimDoors.mod_pocketDim.mod_pocketDim;
import StevenDimDoors.mod_pocketDim.blocks.dimDoor; import StevenDimDoors.mod_pocketDim.blocks.dimDoor;
@@ -24,6 +25,14 @@ public class RenderDimRail extends TileEntitySpecialRenderer
{ {
FloatBuffer field_76908_a = GLAllocation.createDirectFloatBuffer(16); FloatBuffer field_76908_a = GLAllocation.createDirectFloatBuffer(16);
public RenderDimRail()
{
if (properties == null)
properties = DDProperties.instance();
}
private static DDProperties properties = null;
/** /**
* Renders the dimdoor. * Renders the dimdoor.
*/ */
@@ -31,7 +40,7 @@ public class RenderDimRail extends TileEntitySpecialRenderer
{ {
try try
{ {
dimDoor.class.cast(Block.blocksList[mod_pocketDim.dimDoorID]).updateAttatchedTile(tile.worldObj, tile.xCoord, tile.yCoord, tile.zCoord).getFullMetadata(tile.worldObj, tile.xCoord, tile.yCoord, tile.zCoord); dimDoor.class.cast(Block.blocksList[properties.DimensionalDoorID]).updateAttatchedTile(tile.worldObj, tile.xCoord, tile.yCoord, tile.zCoord).getFullMetadata(tile.worldObj, tile.xCoord, tile.yCoord, tile.zCoord);
} }
catch(Exception e) catch(Exception e)
@@ -266,7 +275,7 @@ public class RenderDimRail extends TileEntitySpecialRenderer
public void renderTileEntityAt(TileEntity par1TileEntity, double par2, double par4, double par6, float par8) public void renderTileEntityAt(TileEntity par1TileEntity, double par2, double par4, double par6, float par8)
{ {
if(mod_pocketDim.enableDoorOpenGL) if (properties.DoorRenderingEnabled)
{ {
this.renderDimDoorTileEntity((TileEntityDimDoor)par1TileEntity, par2, par4, par6, par8); this.renderDimDoorTileEntity((TileEntityDimDoor)par1TileEntity, par2, par4, par6, par8);
} }

Binary file not shown.

Binary file not shown.