diff --git a/StevenDimDoors/mod_pocketDim/BlockDimWallPerm.java b/StevenDimDoors/mod_pocketDim/BlockDimWallPerm.java index 0810697..1d0a867 100644 --- a/StevenDimDoors/mod_pocketDim/BlockDimWallPerm.java +++ b/StevenDimDoors/mod_pocketDim/BlockDimWallPerm.java @@ -46,16 +46,12 @@ public class BlockDimWallPerm extends Block { Random rand = new Random(); - int size = dimHelper.instance.linksForRendering.size(); - LinkData link; - if(size!=0) + LinkData link=dimHelper.instance.getRandomLinkData(false); + if(link==null) { - link = (LinkData) dimHelper.instance.linksForRendering.get(rand.nextInt(size)); - } - else - { - link =new LinkData(0,0,0,0); + link =new LinkData(0,0,0,0); } + if(dimHelper.getWorld(0)==null) { diff --git a/StevenDimDoors/mod_pocketDim/ChaosDoor.java b/StevenDimDoors/mod_pocketDim/ChaosDoor.java index a180835..87323bf 100644 --- a/StevenDimDoors/mod_pocketDim/ChaosDoor.java +++ b/StevenDimDoors/mod_pocketDim/ChaosDoor.java @@ -106,15 +106,14 @@ public class ChaosDoor extends dimDoor int i=0; - int size = dimHelper.instance.linksForRendering.size(); Random rand= new Random(); - while (!foundRandomDest&&size>0&&i<100) + while (!foundRandomDest&&i<100) { i++; - LinkData link = (LinkData) dimHelper.instance.linksForRendering.get(rand.nextInt(size)); + LinkData link = (LinkData) dimHelper.instance.getRandomLinkData(false); if(link!=null) { diff --git a/StevenDimDoors/mod_pocketDim/CommonTickHandler.java b/StevenDimDoors/mod_pocketDim/CommonTickHandler.java index 4adeb97..3d22a81 100644 --- a/StevenDimDoors/mod_pocketDim/CommonTickHandler.java +++ b/StevenDimDoors/mod_pocketDim/CommonTickHandler.java @@ -40,6 +40,7 @@ public class CommonTickHandler implements ITickHandler //replaces rifts in game that have been destroyed/have blocks placed over them. private void onTickInGame() { + /** try { @@ -156,5 +157,7 @@ public class CommonTickHandler implements ITickHandler } tickCount2++; + **/ } + } \ No newline at end of file diff --git a/StevenDimDoors/mod_pocketDim/ConnectionHandler.java b/StevenDimDoors/mod_pocketDim/ConnectionHandler.java index 30a41b6..f56b1c9 100644 --- a/StevenDimDoors/mod_pocketDim/ConnectionHandler.java +++ b/StevenDimDoors/mod_pocketDim/ConnectionHandler.java @@ -50,7 +50,6 @@ public class ConnectionHandler dimHelper.instance.save(); dimHelper.instance.unregsisterDims(); dimHelper.dimList.clear(); - dimHelper.instance.linksForRendering.clear(); } connected = false; diff --git a/StevenDimDoors/mod_pocketDim/EventHookContainer.java b/StevenDimDoors/mod_pocketDim/EventHookContainer.java index d9fce97..9d75d2f 100644 --- a/StevenDimDoors/mod_pocketDim/EventHookContainer.java +++ b/StevenDimDoors/mod_pocketDim/EventHookContainer.java @@ -8,6 +8,7 @@ import java.util.Random; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; import net.minecraft.client.Minecraft; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.monster.EntityEnderman; @@ -20,6 +21,7 @@ import net.minecraft.util.MathHelper; import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.Vec3; import net.minecraft.world.World; +import net.minecraft.world.WorldServer; import net.minecraftforge.client.event.sound.SoundLoadEvent; import net.minecraftforge.event.ForgeSubscribe; import net.minecraftforge.event.entity.living.LivingFallEvent; @@ -54,7 +56,6 @@ public class EventHookContainer dimHelper.instance.unregsisterDims(); dimHelper.dimList.clear(); dimHelper.instance.interDimLinkList.clear(); - dimHelper.instance.linksForRendering.clear(); dimHelper.instance.initPockets(); @@ -64,40 +65,37 @@ public class EventHookContainer - - - Iterator itr = ((ArrayList) dimHelper.instance.linksForRendering.clone()).listIterator(); - - while (itr.hasNext()) - { - - - LinkData link = (LinkData) itr.next(); - - if(link!=null) - { - - if(dimHelper.getWorld(link.locDimID)!=null) - { - // link.printLinkData(); - World world=dimHelper.getWorld(link.locDimID); - int blocktoReplace = world.getBlockId(link.locXCoord, link.locYCoord, link.locZCoord); - if(!mod_pocketDim.blocksImmuneToRift.contains(blocktoReplace)) - { - if(dimHelper.instance.getLinkDataFromCoords(link.locXCoord, link.locYCoord, link.locZCoord, link.locDimID)==null) - { - dimHelper.instance.linksForRendering.remove(link); - } - else - { - dimHelper.getWorld(link.locDimID).setBlock(link.locXCoord, link.locYCoord, link.locZCoord, mod_pocketDim.blockRiftID); - } - } - } - } - - } + + for(WorldServer world : dimHelper.getWorlds()) + { + int linkCount=0; + + if(dimHelper.dimList.containsKey(world.provider.dimensionId)) + { + + for(LinkData link:dimHelper.dimList.get(world.provider.dimensionId).printAllLinkData()) + { + if(linkCount>100) + { + break; + } + linkCount++; + int blocktoReplace = world.getBlockId(link.locXCoord, link.locYCoord, link.locZCoord); + if(mod_pocketDim.blocksImmuneToRift.contains(blocktoReplace)) + { + break; + } + dimHelper.getWorld(link.locDimID).setBlock(link.locXCoord, link.locYCoord, link.locZCoord, mod_pocketDim.blockRiftID); + + + } + + } + } + + + diff --git a/StevenDimDoors/mod_pocketDim/PacketHandler.java b/StevenDimDoors/mod_pocketDim/PacketHandler.java index 2413529..b2d7a39 100644 --- a/StevenDimDoors/mod_pocketDim/PacketHandler.java +++ b/StevenDimDoors/mod_pocketDim/PacketHandler.java @@ -127,7 +127,6 @@ public class PacketHandler implements IPacketHandler LinkData linkToAdd = new LinkData(dimId, data.readInt(), data.readInt(), data.readInt(), data.readInt(), data.readInt(), data.readInt(), data.readInt(), data.readBoolean()); dimDataToRemoveFrom.removeLinkAtCoords(linkToAdd.locDimID, linkToAdd.locXCoord,linkToAdd.locYCoord, linkToAdd.locZCoord); - dimHelper.instance.linksForRendering.remove(linkToAdd); } catch (Exception e) { diff --git a/StevenDimDoors/mod_pocketDim/commands/CommandDeleteAllLinks.java b/StevenDimDoors/mod_pocketDim/commands/CommandDeleteAllLinks.java index 04c55ec..daa6c7f 100644 --- a/StevenDimDoors/mod_pocketDim/commands/CommandDeleteAllLinks.java +++ b/StevenDimDoors/mod_pocketDim/commands/CommandDeleteAllLinks.java @@ -81,7 +81,6 @@ public class CommandDeleteAllLinks extends CommandBase targetWorld = dimHelper.getWorld(targetDim); { - dimHelper.instance.linksForRendering.remove(link); dim.removeLinkAtCoords(link); diff --git a/StevenDimDoors/mod_pocketDim/commands/CommandDeleteDimData.java b/StevenDimDoors/mod_pocketDim/commands/CommandDeleteDimData.java index 561b429..5dcca58 100644 --- a/StevenDimDoors/mod_pocketDim/commands/CommandDeleteDimData.java +++ b/StevenDimDoors/mod_pocketDim/commands/CommandDeleteDimData.java @@ -73,12 +73,10 @@ public class CommandDeleteDimData extends CommandBase if(link.destDimID==targetDim) { dimHelper.dimList.get(link.locDimID).removeLinkAtCoords(link); - dimHelper.instance.linksForRendering.remove(link); linksRemoved++; } if(dimData.dimID==targetDim) { - dimHelper.instance.linksForRendering.remove(link); linksRemoved++; } } diff --git a/StevenDimDoors/mod_pocketDim/commands/CommandDeleteRifts.java b/StevenDimDoors/mod_pocketDim/commands/CommandDeleteRifts.java index 77b0610..9c91688 100644 --- a/StevenDimDoors/mod_pocketDim/commands/CommandDeleteRifts.java +++ b/StevenDimDoors/mod_pocketDim/commands/CommandDeleteRifts.java @@ -81,7 +81,6 @@ public class CommandDeleteRifts extends CommandBase if(targetWorld.getBlockId(link.locXCoord, link.locYCoord, link.locZCoord)==mod_pocketDim.blockRiftID) { - dimHelper.instance.linksForRendering.remove(link); dim.removeLinkAtCoords(link); diff --git a/StevenDimDoors/mod_pocketDim/commands/CommandPrintDimData.java b/StevenDimDoors/mod_pocketDim/commands/CommandPrintDimData.java index e398671..6e133e0 100644 --- a/StevenDimDoors/mod_pocketDim/commands/CommandPrintDimData.java +++ b/StevenDimDoors/mod_pocketDim/commands/CommandPrintDimData.java @@ -71,12 +71,10 @@ public class CommandPrintDimData extends CommandBase if(link.destDimID==targetDim) { dimHelper.dimList.get(link.locDimID).removeLinkAtCoords(link); - dimHelper.instance.linksForRendering.remove(link); linksRemoved++; } if(dimData.dimID==targetDim) { - dimHelper.instance.linksForRendering.remove(link); linksRemoved++; } } diff --git a/StevenDimDoors/mod_pocketDim/dimHelper.java b/StevenDimDoors/mod_pocketDim/dimHelper.java index bad122f..32d8aea 100644 --- a/StevenDimDoors/mod_pocketDim/dimHelper.java +++ b/StevenDimDoors/mod_pocketDim/dimHelper.java @@ -10,6 +10,7 @@ import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.ObjectOutputStream; import java.util.ArrayList; +import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.Random; @@ -73,7 +74,7 @@ public class dimHelper extends DimensionManager * See the common tick manager and the Chaos door for details on useage * @Return */ - public ArrayList linksForRendering =new ArrayList(); + //public ArrayList linksForRendering =new ArrayList(); Random rand= new Random(); //Stupid function I use because I dont understand bitwise operations yet. Used in door orientation @@ -481,7 +482,7 @@ public class dimHelper extends DimensionManager link.isLocPocket=locationDimData.isPocket; locationDimData.addLinkToDim(link); - this.linksForRendering.add(link); + //this.linksForRendering.add(link); if(dimHelper.getWorld(link.locDimID)!=null) { @@ -564,7 +565,7 @@ public class dimHelper extends DimensionManager } LinkData link = this.getLinkDataFromCoords(locationXCoord, locationYCoord, locationZCoord, locationDimID); - this.linksForRendering.remove(link); + // this.linksForRendering.remove(link); this.dimList.get(locationDimID).removeLinkAtCoords(link); @@ -898,28 +899,14 @@ public class dimHelper extends DimensionManager } if(rand.nextInt(13-depth)==0) { + LinkData link1=getRandomLinkData(false); - boolean foundRandomDest=false; - int i=0; - int size = dimHelper.instance.linksForRendering.size(); - - while (!foundRandomDest&&size>0&&i<100) - { - i++; + + if(link1!=null) + { + locationDimData.exitDimLink=new LinkData(link1.locDimID, link1.locDimID, link1.locXCoord, link1.locYCoord, link1.locZCoord, link1.locXCoord, link1.locYCoord, link1.locZCoord, false); + } - LinkData link1 = (LinkData) dimHelper.instance.linksForRendering.get(rand.nextInt(size)); - - if(link1!=null) - { - - if(!link1.isLocPocket) - { - foundRandomDest=true; - locationDimData.exitDimLink=new LinkData(link1.locDimID, link1.locDimID, link1.locXCoord, link1.locYCoord, link1.locZCoord, link1.locXCoord, link1.locYCoord, link1.locZCoord, false); - - } - } - } } } @@ -1003,7 +990,6 @@ public class dimHelper extends DimensionManager HashMap comboSave=new HashMap(); comboSave.put("dimList", this.dimList); comboSave.put("interDimLinkList", this.interDimLinkList); - comboSave.put("linksForRendering", this.linksForRendering); comboSave.put("blocksToDecay", this.blocksToDecay); @@ -1099,14 +1085,7 @@ public class dimHelper extends DimensionManager System.out.println("Could not load pocket dim list. Saves probably lost, but repairable. Move the files from indivual pocket dim files to active ones. See MC thread for details."); } - try - { - this.linksForRendering=(ArrayList) comboSave.get("linksForRendering"); - } - catch(Exception e) - { - System.out.println("Could not load link rendering list. Not really a big deal."); - } + try { @@ -1157,14 +1136,7 @@ public class dimHelper extends DimensionManager System.out.println("Could not load pocket dim list. Saves probably lost, but repairable. Move the files from indivual pocket dim files to active ones. See MC thread for details."); } - try - { - this.linksForRendering=(ArrayList) comboSave.get("linksForRendering"); - } - catch(Exception e) - { - System.out.println("Could not load link rendering list. Not really a big deal."); - } + try { @@ -1196,11 +1168,44 @@ public class dimHelper extends DimensionManager } + } + public LinkData getRandomLinkData(boolean allowInPocket) + { + boolean foundRandomDest=false; + int i=0; + int size = dimHelper.dimList.size(); + + while (!foundRandomDest&&size>0&&i<100) + { + i++; + + DimData dimData = dimHelper.dimList.get(rand.nextInt(size)); + + ArrayList linksInDim = dimData.printAllLinkData(); + + + + + LinkData link1 = (LinkData) linksInDim.get(rand.nextInt(linksInDim.size())); + + if(link1!=null) + { + + if(!link1.isLocPocket||allowInPocket) + { + foundRandomDest=true; + return link1; + } + } + } + return null; + + } diff --git a/StevenDimDoors/mod_pocketDim/mod_pocketDim.java b/StevenDimDoors/mod_pocketDim/mod_pocketDim.java index 7a9527f..71383cd 100644 --- a/StevenDimDoors/mod_pocketDim/mod_pocketDim.java +++ b/StevenDimDoors/mod_pocketDim/mod_pocketDim.java @@ -39,8 +39,10 @@ import StevenDimDoors.mod_pocketDim.commands.CommandDeleteDimData; import StevenDimDoors.mod_pocketDim.commands.CommandDeleteRifts; import StevenDimDoors.mod_pocketDim.commands.CommandPruneDims; + @Mod(modid = mod_pocketDim.modid, name = "Dimensional Doors", version = mod_pocketDim.version) + @NetworkMod(clientSideRequired = true, serverSideRequired = false, clientPacketHandlerSpec = @SidedPacketHandler(channels = {"pocketDim" }, packetHandler = ClientPacketHandler.class), @@ -51,8 +53,10 @@ import StevenDimDoors.mod_pocketDim.commands.CommandPruneDims; public class mod_pocketDim { + public static final String version = "1.4.7R1.3.3B2"; public static final String modid = "Dimensional_Doors"; + //need to clean up @SidedProxy(clientSide = "StevenDimDoors.mod_pocketDimClient.ClientProxy", serverSide = "StevenDimDoors.mod_pocketDim.CommonProxy") public static CommonProxy proxy; @@ -606,7 +610,6 @@ public class mod_pocketDim dimHelper.dimList.clear(); dimHelper.blocksToDecay.clear(); dimHelper.instance.interDimLinkList.clear(); - dimHelper.instance.linksForRendering.clear(); this.hasInitDims=false; } catch(Exception e) diff --git a/StevenDimDoors/mod_pocketDim/pocketGenerator.java b/StevenDimDoors/mod_pocketDim/pocketGenerator.java index 29be444..263120f 100644 --- a/StevenDimDoors/mod_pocketDim/pocketGenerator.java +++ b/StevenDimDoors/mod_pocketDim/pocketGenerator.java @@ -61,7 +61,9 @@ public class pocketGenerator extends ChunkProviderGenerate implements IChunkProv @Override public List getPossibleCreatures(EnumCreatureType var1, int var2, int var3, - int var4) { + int var4) + { + // TODO Auto-generated method stub return null; } diff --git a/StevenDimDoors/mod_pocketDim/pocketTeleporter.java b/StevenDimDoors/mod_pocketDim/pocketTeleporter.java index ad5c202..7abbc2d 100644 --- a/StevenDimDoors/mod_pocketDim/pocketTeleporter.java +++ b/StevenDimDoors/mod_pocketDim/pocketTeleporter.java @@ -99,16 +99,18 @@ public class pocketTeleporter extends Teleporter this.setEntityPosition(par1Entity, x+1.5, y, z+.5 ); - par1Entity.worldObj.updateEntityWithOptionalForce(par1Entity, false); par1Entity.motionX =.39; + par1Entity.worldObj.updateEntityWithOptionalForce(par1Entity, false); + } else if(id==3||id==7) { this.setEntityPosition(par1Entity, x+.5, y, z+1.5 ); - par1Entity.worldObj.updateEntityWithOptionalForce(par1Entity, false); par1Entity.motionZ =.39; + par1Entity.worldObj.updateEntityWithOptionalForce(par1Entity, false); + } @@ -117,16 +119,18 @@ public class pocketTeleporter extends Teleporter this.setEntityPosition(par1Entity,x-.5, y, z+.5); - par1Entity.worldObj.updateEntityWithOptionalForce(par1Entity, false); par1Entity.motionX =-.39; + par1Entity.worldObj.updateEntityWithOptionalForce(par1Entity, false); + } else if(id==1||id==5) { this.setEntityPosition(par1Entity,x+.5, y, z-.5); - par1Entity.worldObj.updateEntityWithOptionalForce(par1Entity, false); par1Entity.motionZ =-.39; + par1Entity.worldObj.updateEntityWithOptionalForce(par1Entity, false); + } else