From 3579070eb91e80034b8b02f715a11fc29385f3cb Mon Sep 17 00:00:00 2001 From: StevenRS11 Date: Tue, 16 Apr 2013 20:48:49 -0400 Subject: [PATCH] Moved file structure around a bit, and added stabilized rift sig fixed XP bug moving through doors made items shut doors again Signed-off-by: StevenRS11 --- StevenDimDoors/mod_pocketDim/ChaosDoor.java | 2 + .../ItemStabilizedRiftSignature.java | 0 .../ItemUnstableRiftSignature.java | 0 .../mod_pocketDim/RiftGenerator.java | 2 + .../mod_pocketDim/TransientDoor.java | 2 + .../{ => blocks}/BlockDimWall.java | 11 +- .../{ => blocks}/BlockDimWallPerm.java | 8 +- .../{ => blocks}/BlockLimbo.java | 8 +- .../mod_pocketDim/{ => blocks}/BlockRift.java | 8 +- .../mod_pocketDim/{ => blocks}/ExitDoor.java | 9 +- .../mod_pocketDim/{ => blocks}/dimDoor.java | 11 +- .../mod_pocketDim/{ => blocks}/dimHatch.java | 9 +- .../{ => blocks}/linkDimDoor.java | 6 +- .../{ => blocks}/linkExitDoor.java | 6 +- StevenDimDoors/mod_pocketDim/dimHelper.java | 5 +- .../{ => items}/ItemChaosDoor.java | 4 +- .../{ => items}/ItemRiftBlade.java | 6 +- .../{ => items}/ItemRiftGoggles.java | 2 +- .../items/ItemStabilizedRiftSignature.java | 240 ++++++++++++++++++ .../{ => items}/ItemStableFabric.java | 4 +- .../items/ItemUnstableRiftSignature.java | 1 + .../{ => items}/itemDimDoor.java | 6 +- .../{ => items}/itemExitDoor.java | 4 +- .../{ => items}/itemLinkSignature.java | 8 +- .../{ => items}/itemRiftRemover.java | 5 +- .../mod_pocketDim/mod_pocketDim.java | 36 ++- .../mod_pocketDimClient/RenderDimDoor.java | 2 +- .../mod_pocketDimClient/RenderDimRail.java | 2 +- .../textures/items/itemStabilizedRiftSig.png | Bin 0 -> 3151 bytes resources/textures/items/itemStableFabric.png | Bin 173 -> 2963 bytes 30 files changed, 371 insertions(+), 36 deletions(-) delete mode 100644 StevenDimDoors/mod_pocketDim/ItemStabilizedRiftSignature.java delete mode 100644 StevenDimDoors/mod_pocketDim/ItemUnstableRiftSignature.java rename StevenDimDoors/mod_pocketDim/{ => blocks}/BlockDimWall.java (91%) rename StevenDimDoors/mod_pocketDim/{ => blocks}/BlockDimWallPerm.java (93%) rename StevenDimDoors/mod_pocketDim/{ => blocks}/BlockLimbo.java (89%) rename StevenDimDoors/mod_pocketDim/{ => blocks}/BlockRift.java (97%) rename StevenDimDoors/mod_pocketDim/{ => blocks}/ExitDoor.java (93%) rename StevenDimDoors/mod_pocketDim/{ => blocks}/dimDoor.java (98%) rename StevenDimDoors/mod_pocketDim/{ => blocks}/dimHatch.java (87%) rename StevenDimDoors/mod_pocketDim/{ => blocks}/linkDimDoor.java (90%) rename StevenDimDoors/mod_pocketDim/{ => blocks}/linkExitDoor.java (90%) rename StevenDimDoors/mod_pocketDim/{ => items}/ItemChaosDoor.java (92%) rename StevenDimDoors/mod_pocketDim/{ => items}/ItemRiftBlade.java (98%) rename StevenDimDoors/mod_pocketDim/{ => items}/ItemRiftGoggles.java (92%) create mode 100644 StevenDimDoors/mod_pocketDim/items/ItemStabilizedRiftSignature.java rename StevenDimDoors/mod_pocketDim/{ => items}/ItemStableFabric.java (94%) create mode 100644 StevenDimDoors/mod_pocketDim/items/ItemUnstableRiftSignature.java rename StevenDimDoors/mod_pocketDim/{ => items}/itemDimDoor.java (97%) rename StevenDimDoors/mod_pocketDim/{ => items}/itemExitDoor.java (93%) rename StevenDimDoors/mod_pocketDim/{ => items}/itemLinkSignature.java (96%) rename StevenDimDoors/mod_pocketDim/{ => items}/itemRiftRemover.java (97%) create mode 100644 resources/textures/items/itemStabilizedRiftSig.png diff --git a/StevenDimDoors/mod_pocketDim/ChaosDoor.java b/StevenDimDoors/mod_pocketDim/ChaosDoor.java index 87323bf..90482e8 100644 --- a/StevenDimDoors/mod_pocketDim/ChaosDoor.java +++ b/StevenDimDoors/mod_pocketDim/ChaosDoor.java @@ -2,6 +2,8 @@ package StevenDimDoors.mod_pocketDim; import java.util.Random; +import StevenDimDoors.mod_pocketDim.blocks.dimDoor; + import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; diff --git a/StevenDimDoors/mod_pocketDim/ItemStabilizedRiftSignature.java b/StevenDimDoors/mod_pocketDim/ItemStabilizedRiftSignature.java deleted file mode 100644 index e69de29..0000000 diff --git a/StevenDimDoors/mod_pocketDim/ItemUnstableRiftSignature.java b/StevenDimDoors/mod_pocketDim/ItemUnstableRiftSignature.java deleted file mode 100644 index e69de29..0000000 diff --git a/StevenDimDoors/mod_pocketDim/RiftGenerator.java b/StevenDimDoors/mod_pocketDim/RiftGenerator.java index 8f8d9cf..e9287fd 100644 --- a/StevenDimDoors/mod_pocketDim/RiftGenerator.java +++ b/StevenDimDoors/mod_pocketDim/RiftGenerator.java @@ -2,6 +2,8 @@ package StevenDimDoors.mod_pocketDim; import java.util.Random; +import StevenDimDoors.mod_pocketDim.items.ItemRiftBlade; + import net.minecraft.block.Block; import net.minecraft.world.World; import net.minecraft.world.chunk.IChunkProvider; diff --git a/StevenDimDoors/mod_pocketDim/TransientDoor.java b/StevenDimDoors/mod_pocketDim/TransientDoor.java index fdc962a..af632cd 100644 --- a/StevenDimDoors/mod_pocketDim/TransientDoor.java +++ b/StevenDimDoors/mod_pocketDim/TransientDoor.java @@ -2,6 +2,8 @@ package StevenDimDoors.mod_pocketDim; import java.util.Random; +import StevenDimDoors.mod_pocketDim.blocks.ExitDoor; + import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; diff --git a/StevenDimDoors/mod_pocketDim/BlockDimWall.java b/StevenDimDoors/mod_pocketDim/blocks/BlockDimWall.java similarity index 91% rename from StevenDimDoors/mod_pocketDim/BlockDimWall.java rename to StevenDimDoors/mod_pocketDim/blocks/BlockDimWall.java index 888d686..596389a 100644 --- a/StevenDimDoors/mod_pocketDim/BlockDimWall.java +++ b/StevenDimDoors/mod_pocketDim/blocks/BlockDimWall.java @@ -1,7 +1,9 @@ -package StevenDimDoors.mod_pocketDim; +package StevenDimDoors.mod_pocketDim.blocks; import java.util.Random; +import StevenDimDoors.mod_pocketDim.mod_pocketDim; + import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; @@ -16,7 +18,7 @@ import net.minecraft.world.World; public class BlockDimWall extends Block { - protected BlockDimWall(int i, int j, Material par2Material) + public BlockDimWall(int i, int j, Material par2Material) { super(i, Material.ground); setTickRandomly(true); @@ -34,6 +36,11 @@ public class BlockDimWall extends Block public void onBlockDestroyedByPlayer(World par1World, int par2, int par3, int par4, int par5) {} + protected boolean canSilkHarvest() + { + return true; + } + public int quantityDropped(Random par1Random) { diff --git a/StevenDimDoors/mod_pocketDim/BlockDimWallPerm.java b/StevenDimDoors/mod_pocketDim/blocks/BlockDimWallPerm.java similarity index 93% rename from StevenDimDoors/mod_pocketDim/BlockDimWallPerm.java rename to StevenDimDoors/mod_pocketDim/blocks/BlockDimWallPerm.java index 1d0a867..7a4b4a2 100644 --- a/StevenDimDoors/mod_pocketDim/BlockDimWallPerm.java +++ b/StevenDimDoors/mod_pocketDim/blocks/BlockDimWallPerm.java @@ -1,7 +1,11 @@ -package StevenDimDoors.mod_pocketDim; +package StevenDimDoors.mod_pocketDim.blocks; import java.util.Random; +import StevenDimDoors.mod_pocketDim.LinkData; +import StevenDimDoors.mod_pocketDim.dimHelper; +import StevenDimDoors.mod_pocketDim.mod_pocketDim; + import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IconRegister; @@ -12,7 +16,7 @@ import net.minecraft.world.World; public class BlockDimWallPerm extends Block { - protected BlockDimWallPerm(int i, int j, Material par2Material) + public BlockDimWallPerm(int i, int j, Material par2Material) { super(i, Material.ground); setTickRandomly(true); diff --git a/StevenDimDoors/mod_pocketDim/BlockLimbo.java b/StevenDimDoors/mod_pocketDim/blocks/BlockLimbo.java similarity index 89% rename from StevenDimDoors/mod_pocketDim/BlockLimbo.java rename to StevenDimDoors/mod_pocketDim/blocks/BlockLimbo.java index e03eb62..73a19a4 100644 --- a/StevenDimDoors/mod_pocketDim/BlockLimbo.java +++ b/StevenDimDoors/mod_pocketDim/blocks/BlockLimbo.java @@ -1,7 +1,11 @@ -package StevenDimDoors.mod_pocketDim; +package StevenDimDoors.mod_pocketDim.blocks; import java.util.Random; +import StevenDimDoors.mod_pocketDim.Point3D; +import StevenDimDoors.mod_pocketDim.dimHelper; +import StevenDimDoors.mod_pocketDim.mod_pocketDim; + import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IconRegister; @@ -14,7 +18,7 @@ import net.minecraft.world.World; public class BlockLimbo extends Block { - protected BlockLimbo(int i, int j, Material par2Material) + public BlockLimbo(int i, int j, Material par2Material) { super(i, Material.ground); setTickRandomly(false); diff --git a/StevenDimDoors/mod_pocketDim/BlockRift.java b/StevenDimDoors/mod_pocketDim/blocks/BlockRift.java similarity index 97% rename from StevenDimDoors/mod_pocketDim/BlockRift.java rename to StevenDimDoors/mod_pocketDim/blocks/BlockRift.java index b632524..e598292 100644 --- a/StevenDimDoors/mod_pocketDim/BlockRift.java +++ b/StevenDimDoors/mod_pocketDim/blocks/BlockRift.java @@ -1,4 +1,4 @@ -package StevenDimDoors.mod_pocketDim; +package StevenDimDoors.mod_pocketDim.blocks; import java.util.Random; @@ -11,6 +11,10 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.MathHelper; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; +import StevenDimDoors.mod_pocketDim.PacketHandler; +import StevenDimDoors.mod_pocketDim.TileEntityRift; +import StevenDimDoors.mod_pocketDim.dimHelper; +import StevenDimDoors.mod_pocketDim.mod_pocketDim; import StevenDimDoors.mod_pocketDimClient.ClosingRiftFX; import StevenDimDoors.mod_pocketDimClient.GoggleRiftFX; import StevenDimDoors.mod_pocketDimClient.RiftFX; @@ -21,7 +25,7 @@ import cpw.mods.fml.relauncher.SideOnly; public class BlockRift extends BlockContainer { - protected BlockRift(int i, int j, Material par2Material) + public BlockRift(int i, int j, Material par2Material) { super(i, Material.air); setTickRandomly(true); diff --git a/StevenDimDoors/mod_pocketDim/ExitDoor.java b/StevenDimDoors/mod_pocketDim/blocks/ExitDoor.java similarity index 93% rename from StevenDimDoors/mod_pocketDim/ExitDoor.java rename to StevenDimDoors/mod_pocketDim/blocks/ExitDoor.java index 955810b..e83bed1 100644 --- a/StevenDimDoors/mod_pocketDim/ExitDoor.java +++ b/StevenDimDoors/mod_pocketDim/blocks/ExitDoor.java @@ -1,7 +1,12 @@ -package StevenDimDoors.mod_pocketDim; +package StevenDimDoors.mod_pocketDim.blocks; import java.util.Random; +import StevenDimDoors.mod_pocketDim.DimData; +import StevenDimDoors.mod_pocketDim.LinkData; +import StevenDimDoors.mod_pocketDim.dimHelper; +import StevenDimDoors.mod_pocketDim.mod_pocketDim; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -23,7 +28,7 @@ public class ExitDoor extends dimDoor { private Icon blockIconBottom; - protected ExitDoor(int par1, Material par2Material) + public ExitDoor(int par1, Material par2Material) { super(par1, Material.wood); diff --git a/StevenDimDoors/mod_pocketDim/dimDoor.java b/StevenDimDoors/mod_pocketDim/blocks/dimDoor.java similarity index 98% rename from StevenDimDoors/mod_pocketDim/dimDoor.java rename to StevenDimDoors/mod_pocketDim/blocks/dimDoor.java index 061f891..b7d2c76 100644 --- a/StevenDimDoors/mod_pocketDim/dimDoor.java +++ b/StevenDimDoors/mod_pocketDim/blocks/dimDoor.java @@ -1,7 +1,12 @@ -package StevenDimDoors.mod_pocketDim; +package StevenDimDoors.mod_pocketDim.blocks; import java.util.Random; +import StevenDimDoors.mod_pocketDim.LinkData; +import StevenDimDoors.mod_pocketDim.TileEntityDimDoor; +import StevenDimDoors.mod_pocketDim.dimHelper; +import StevenDimDoors.mod_pocketDim.mod_pocketDim; + import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; @@ -24,7 +29,7 @@ import cpw.mods.fml.relauncher.SideOnly; public class dimDoor extends BlockContainer { private static Icon blockIconBottom; - protected dimDoor(int par1, Material material) + public dimDoor(int par1, Material material) { super(par1, Material.iron); // this.blockIndexInTexture = 18; @@ -107,7 +112,7 @@ public class dimDoor extends BlockContainer dimHelper.instance.teleportToPocket(par1World, linkData, par5Entity); - if(par5Entity instanceof EntityLiving) + //if(par5Entity instanceof EntityLiving) { this.onPoweredBlockChange(par1World, par2, par3, par4, false); } diff --git a/StevenDimDoors/mod_pocketDim/dimHatch.java b/StevenDimDoors/mod_pocketDim/blocks/dimHatch.java similarity index 87% rename from StevenDimDoors/mod_pocketDim/dimHatch.java rename to StevenDimDoors/mod_pocketDim/blocks/dimHatch.java index a8e912b..9872aaa 100644 --- a/StevenDimDoors/mod_pocketDim/dimHatch.java +++ b/StevenDimDoors/mod_pocketDim/blocks/dimHatch.java @@ -1,5 +1,10 @@ -package StevenDimDoors.mod_pocketDim; +package StevenDimDoors.mod_pocketDim.blocks; +import StevenDimDoors.mod_pocketDim.DimData; +import StevenDimDoors.mod_pocketDim.LinkData; +import StevenDimDoors.mod_pocketDim.dimHelper; +import StevenDimDoors.mod_pocketDim.mod_pocketDim; +import StevenDimDoors.mod_pocketDim.pocketProvider; import net.minecraft.block.BlockTrapDoor; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IconRegister; @@ -13,7 +18,7 @@ import net.minecraft.world.World; public class dimHatch extends BlockTrapDoor { - protected dimHatch(int par1,int par2, Material par2Material) + public dimHatch(int par1,int par2, Material par2Material) { super(par1, Material.iron); this.setCreativeTab(CreativeTabs.tabTransport); diff --git a/StevenDimDoors/mod_pocketDim/linkDimDoor.java b/StevenDimDoors/mod_pocketDim/blocks/linkDimDoor.java similarity index 90% rename from StevenDimDoors/mod_pocketDim/linkDimDoor.java rename to StevenDimDoors/mod_pocketDim/blocks/linkDimDoor.java index 8ce4e87..8842a12 100644 --- a/StevenDimDoors/mod_pocketDim/linkDimDoor.java +++ b/StevenDimDoors/mod_pocketDim/blocks/linkDimDoor.java @@ -1,7 +1,9 @@ -package StevenDimDoors.mod_pocketDim; +package StevenDimDoors.mod_pocketDim.blocks; import java.util.Random; +import StevenDimDoors.mod_pocketDim.mod_pocketDim; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -20,7 +22,7 @@ import net.minecraft.world.World; public class linkDimDoor extends dimDoor { private Icon blockIconBottom; - protected linkDimDoor(int par1, Material material) { + public linkDimDoor(int par1, Material material) { super(par1, material); // TODO Auto-generated constructor stub } diff --git a/StevenDimDoors/mod_pocketDim/linkExitDoor.java b/StevenDimDoors/mod_pocketDim/blocks/linkExitDoor.java similarity index 90% rename from StevenDimDoors/mod_pocketDim/linkExitDoor.java rename to StevenDimDoors/mod_pocketDim/blocks/linkExitDoor.java index a0a9c8c..a6fe0f0 100644 --- a/StevenDimDoors/mod_pocketDim/linkExitDoor.java +++ b/StevenDimDoors/mod_pocketDim/blocks/linkExitDoor.java @@ -1,7 +1,9 @@ -package StevenDimDoors.mod_pocketDim; +package StevenDimDoors.mod_pocketDim.blocks; import java.util.Random; +import StevenDimDoors.mod_pocketDim.mod_pocketDim; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -19,7 +21,7 @@ import net.minecraft.world.World; public class linkExitDoor extends ExitDoor { private Icon blockIconBottom; - protected linkExitDoor(int par1,Material par2Material) + public linkExitDoor(int par1,Material par2Material) { super(par1, Material.wood); diff --git a/StevenDimDoors/mod_pocketDim/dimHelper.java b/StevenDimDoors/mod_pocketDim/dimHelper.java index 3ee900c..fcd0e60 100644 --- a/StevenDimDoors/mod_pocketDim/dimHelper.java +++ b/StevenDimDoors/mod_pocketDim/dimHelper.java @@ -209,6 +209,7 @@ public class dimHelper extends DimensionManager if (difDest) { + player.dimension = link.destDimID; player.playerNetServerHandler.sendPacketToPlayer(new Packet9Respawn(player.dimension, (byte)player.worldObj.difficultySetting, newWorld.getWorldInfo().getTerrainType(), newWorld.getHeight(), player.theItemInWorldManager.getGameType())); @@ -229,11 +230,11 @@ public class dimHelper extends DimensionManager { PotionEffect effect = (PotionEffect)potionEffect; player.playerNetServerHandler.sendPacketToPlayer(new Packet41EntityEffect(player.entityId, effect)); - player.playerNetServerHandler.sendPacketToPlayer(new Packet43Experience(player.experience, player.experienceTotal, player.experienceLevel)); } - + player.playerNetServerHandler.sendPacketToPlayer(new Packet43Experience(player.experience, player.experienceTotal, player.experienceLevel)); + WorldServer.class.cast(newWorld).theChunkProviderServer.loadChunk(MathHelper.floor_double(entity.posX) >> 4, MathHelper.floor_double(entity.posZ) >> 4); diff --git a/StevenDimDoors/mod_pocketDim/ItemChaosDoor.java b/StevenDimDoors/mod_pocketDim/items/ItemChaosDoor.java similarity index 92% rename from StevenDimDoors/mod_pocketDim/ItemChaosDoor.java rename to StevenDimDoors/mod_pocketDim/items/ItemChaosDoor.java index 92079b4..5f13ee8 100644 --- a/StevenDimDoors/mod_pocketDim/ItemChaosDoor.java +++ b/StevenDimDoors/mod_pocketDim/items/ItemChaosDoor.java @@ -1,7 +1,9 @@ -package StevenDimDoors.mod_pocketDim; +package StevenDimDoors.mod_pocketDim.items; import java.util.List; +import StevenDimDoors.mod_pocketDim.mod_pocketDim; + import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IconRegister; diff --git a/StevenDimDoors/mod_pocketDim/ItemRiftBlade.java b/StevenDimDoors/mod_pocketDim/items/ItemRiftBlade.java similarity index 98% rename from StevenDimDoors/mod_pocketDim/ItemRiftBlade.java rename to StevenDimDoors/mod_pocketDim/items/ItemRiftBlade.java index b9b6d3c..cafe80f 100644 --- a/StevenDimDoors/mod_pocketDim/ItemRiftBlade.java +++ b/StevenDimDoors/mod_pocketDim/items/ItemRiftBlade.java @@ -1,8 +1,12 @@ -package StevenDimDoors.mod_pocketDim; +package StevenDimDoors.mod_pocketDim.items; import java.util.List; import java.util.Random; +import StevenDimDoors.mod_pocketDim.LinkData; +import StevenDimDoors.mod_pocketDim.dimHelper; +import StevenDimDoors.mod_pocketDim.mod_pocketDim; + import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IconRegister; diff --git a/StevenDimDoors/mod_pocketDim/ItemRiftGoggles.java b/StevenDimDoors/mod_pocketDim/items/ItemRiftGoggles.java similarity index 92% rename from StevenDimDoors/mod_pocketDim/ItemRiftGoggles.java rename to StevenDimDoors/mod_pocketDim/items/ItemRiftGoggles.java index 5fea83a..815f4b9 100644 --- a/StevenDimDoors/mod_pocketDim/ItemRiftGoggles.java +++ b/StevenDimDoors/mod_pocketDim/items/ItemRiftGoggles.java @@ -1,4 +1,4 @@ -package StevenDimDoors.mod_pocketDim; +package StevenDimDoors.mod_pocketDim.items; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IconRegister; diff --git a/StevenDimDoors/mod_pocketDim/items/ItemStabilizedRiftSignature.java b/StevenDimDoors/mod_pocketDim/items/ItemStabilizedRiftSignature.java new file mode 100644 index 0000000..ce4d665 --- /dev/null +++ b/StevenDimDoors/mod_pocketDim/items/ItemStabilizedRiftSignature.java @@ -0,0 +1,240 @@ +package StevenDimDoors.mod_pocketDim.items; + +import java.util.List; + +import StevenDimDoors.mod_pocketDim.LinkData; +import StevenDimDoors.mod_pocketDim.dimHelper; +import StevenDimDoors.mod_pocketDim.mod_pocketDim; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.world.World; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class ItemStabilizedRiftSignature extends itemLinkSignature +{ + private Material doorMaterial; + + public ItemStabilizedRiftSignature(int par) + { + super(par); + this.setMaxStackSize(1); + // this.setTextureFile("/PocketBlockTextures.png"); + this.setCreativeTab(CreativeTabs.tabTransport); + + // this.iconIndex=5; + this.setMaxDamage(0); + this.hasSubtypes=true; + //TODO move to proxy + } + + @SideOnly(Side.CLIENT) + @Override + public boolean hasEffect(ItemStack par1ItemStack) + { + // adds effect if item has a link stored + + + if(par1ItemStack.hasTagCompound()) + { + if(par1ItemStack.stackTagCompound.getBoolean("isCreated")) + { + return true; + } + } + return false; + } + + + public void registerIcons(IconRegister par1IconRegister) + { + this.iconIndex = par1IconRegister.registerIcon(mod_pocketDim.modid + ":" + this.getUnlocalizedName()); + + } + + @Override + public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10) + { + int key; + LinkData linkData; + int thisWorldID=par3World.provider.dimensionId; + + + + + + + //par1ItemStack= par2EntityPlayer.getCurrentEquippedItem(); + Integer[] linkCoords =this.readFromNBT(par1ItemStack); + + + + //System.out.println(key); + int offset = 2; + if(par1ItemStack.getTagCompound()!=null) + { + if(par1ItemStack.getTagCompound().getBoolean("isCreated")) + { + boolean hasEnder = false; + // checks to see if the item has a link stored, if so, it creates it + + if(par2EntityPlayer.inventory.hasItem(Item.enderPearl.itemID)) + { + par2EntityPlayer.inventory.consumeInventoryItem(Item.enderPearl.itemID); + hasEnder=true; + } + + + if(par3World.getBlockId(par4, par5, par6)==Block.snow.blockID) + { + offset = 1; + } + if(hasEnder&&!par3World.isRemote) + { + dimHelper.instance.createLink(par3World.provider.dimensionId, linkCoords[3], par4, par5+offset, par6, linkCoords[0], linkCoords[1], linkCoords[2]); + dimHelper.instance.createLink(linkCoords[3], par3World.provider.dimensionId, linkCoords[0], linkCoords[1], linkCoords[2],par4, par5+offset, par6); + par2EntityPlayer.sendChatToPlayer("Rift Created"); + } + else if(!par3World.isRemote) + { + par2EntityPlayer.sendChatToPlayer("No Ender Pearls!"); + } + + + + + + } + } + else if(!par3World.isRemote) + { + if(par3World.getBlockId(par4, par5, par6)==Block.snow.blockID) + { + offset = 1; + } + //otherwise, it creates the first half of the link. Next click will complete it. + key= dimHelper.instance.createUniqueInterDimLinkKey(); + this.writeToNBT(par1ItemStack, par4, par5+offset, par6,par3World.provider.dimensionId); + + + + par2EntityPlayer.sendChatToPlayer("Rift Signature Stored"); + + + } + + //dimHelper.instance.save(); + + + + return true; + + + } + + @SideOnly(Side.CLIENT) + + /** + * allows items to add custom lines of information to the mouseover description + */ + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) + { + + if(par1ItemStack.hasTagCompound()) + { + if(par1ItemStack.stackTagCompound.getBoolean("isCreated")) + { + Integer[] coords = this.readFromNBT(par1ItemStack); + par3List.add(String.valueOf("Leads to dim "+coords[3] +" with depth "+dimHelper.instance.getDimDepth(dimHelper.instance.getDimDepth(coords[3])))); + par3List.add("at x="+coords[0]+" y="+coords[1]+" z="+coords[2]); + + } + + } + else + { + par3List.add("First click stores location,"); + par3List.add ("second click creates two rifts,"); + par3List.add("that link the first location"); + par3List.add("with the second location"); + + + } + } + + public void writeToNBT(ItemStack itemStack,int x, int y, int z, int dimID) + { + NBTTagCompound tag; + + if(itemStack.hasTagCompound()) + { + tag = itemStack.getTagCompound(); + + } + else + { + tag= new NBTTagCompound(); + } + + tag.setInteger("linkX", x); + tag.setInteger("linkY", y); + tag.setInteger("linkZ", z); + tag.setInteger("linkDimID", dimID); + tag.setBoolean("isCreated", true); + + itemStack.setTagCompound(tag); + + } + + /** + * Read the stack fields from a NBT object. + */ + public Integer[] readFromNBT(ItemStack itemStack) + { + + NBTTagCompound tag; + Integer[] linkCoords = new Integer[5]; + if(itemStack.hasTagCompound()) + { + tag = itemStack.getTagCompound(); + + if(!tag.getBoolean("isCreated")) + { + return null; + } + linkCoords[0]=tag.getInteger("linkX"); + linkCoords[1]=tag.getInteger("linkY"); + linkCoords[2]=tag.getInteger("linkZ"); + linkCoords[3]=tag.getInteger("linkDimID"); + + + } + return linkCoords; + + } + + + @Override + public void onCreated(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) + { + if(!par2World.isRemote) + { + /** + //creates the first half of the link on item creation + int key= dimHelper.instance.createUniqueInterDimLinkKey(); + LinkData linkData= new LinkData(par2World.provider.dimensionId,MathHelper.floor_double(par3EntityPlayer.posX),MathHelper.floor_double(par3EntityPlayer.posY),MathHelper.floor_double(par3EntityPlayer.posZ)); + System.out.println(key); + + dimHelper.instance.interDimLinkList.put(key, linkData); + par1ItemStack.setItemDamage(key); + **/ + } + } +} diff --git a/StevenDimDoors/mod_pocketDim/ItemStableFabric.java b/StevenDimDoors/mod_pocketDim/items/ItemStableFabric.java similarity index 94% rename from StevenDimDoors/mod_pocketDim/ItemStableFabric.java rename to StevenDimDoors/mod_pocketDim/items/ItemStableFabric.java index 738f60e..6d22feb 100644 --- a/StevenDimDoors/mod_pocketDim/ItemStableFabric.java +++ b/StevenDimDoors/mod_pocketDim/items/ItemStableFabric.java @@ -1,7 +1,9 @@ -package StevenDimDoors.mod_pocketDim; +package StevenDimDoors.mod_pocketDim.items; import java.util.List; +import StevenDimDoors.mod_pocketDim.mod_pocketDim; + import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IconRegister; diff --git a/StevenDimDoors/mod_pocketDim/items/ItemUnstableRiftSignature.java b/StevenDimDoors/mod_pocketDim/items/ItemUnstableRiftSignature.java new file mode 100644 index 0000000..bb245f5 --- /dev/null +++ b/StevenDimDoors/mod_pocketDim/items/ItemUnstableRiftSignature.java @@ -0,0 +1 @@ +package StevenDimDoors.mod_pocketDim.items; diff --git a/StevenDimDoors/mod_pocketDim/itemDimDoor.java b/StevenDimDoors/mod_pocketDim/items/itemDimDoor.java similarity index 97% rename from StevenDimDoors/mod_pocketDim/itemDimDoor.java rename to StevenDimDoors/mod_pocketDim/items/itemDimDoor.java index b3bbd05..46a7f18 100644 --- a/StevenDimDoors/mod_pocketDim/itemDimDoor.java +++ b/StevenDimDoors/mod_pocketDim/items/itemDimDoor.java @@ -1,7 +1,11 @@ -package StevenDimDoors.mod_pocketDim; +package StevenDimDoors.mod_pocketDim.items; import java.util.List; +import StevenDimDoors.mod_pocketDim.LinkData; +import StevenDimDoors.mod_pocketDim.dimHelper; +import StevenDimDoors.mod_pocketDim.mod_pocketDim; + import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IconRegister; diff --git a/StevenDimDoors/mod_pocketDim/itemExitDoor.java b/StevenDimDoors/mod_pocketDim/items/itemExitDoor.java similarity index 93% rename from StevenDimDoors/mod_pocketDim/itemExitDoor.java rename to StevenDimDoors/mod_pocketDim/items/itemExitDoor.java index bf7da6a..651905b 100644 --- a/StevenDimDoors/mod_pocketDim/itemExitDoor.java +++ b/StevenDimDoors/mod_pocketDim/items/itemExitDoor.java @@ -1,7 +1,9 @@ -package StevenDimDoors.mod_pocketDim; +package StevenDimDoors.mod_pocketDim.items; import java.util.List; +import StevenDimDoors.mod_pocketDim.mod_pocketDim; + import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IconRegister; diff --git a/StevenDimDoors/mod_pocketDim/itemLinkSignature.java b/StevenDimDoors/mod_pocketDim/items/itemLinkSignature.java similarity index 96% rename from StevenDimDoors/mod_pocketDim/itemLinkSignature.java rename to StevenDimDoors/mod_pocketDim/items/itemLinkSignature.java index bb41ea6..edc582d 100644 --- a/StevenDimDoors/mod_pocketDim/itemLinkSignature.java +++ b/StevenDimDoors/mod_pocketDim/items/itemLinkSignature.java @@ -1,7 +1,11 @@ -package StevenDimDoors.mod_pocketDim; +package StevenDimDoors.mod_pocketDim.items; import java.util.List; +import StevenDimDoors.mod_pocketDim.LinkData; +import StevenDimDoors.mod_pocketDim.dimHelper; +import StevenDimDoors.mod_pocketDim.mod_pocketDim; + import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IconRegister; @@ -18,7 +22,7 @@ public class itemLinkSignature extends Item { private Material doorMaterial; - public itemLinkSignature(int par1, Material par2Material) + public itemLinkSignature(int par1) { super(par1); this.setMaxStackSize(1); diff --git a/StevenDimDoors/mod_pocketDim/itemRiftRemover.java b/StevenDimDoors/mod_pocketDim/items/itemRiftRemover.java similarity index 97% rename from StevenDimDoors/mod_pocketDim/itemRiftRemover.java rename to StevenDimDoors/mod_pocketDim/items/itemRiftRemover.java index 7d3590b..3433d20 100644 --- a/StevenDimDoors/mod_pocketDim/itemRiftRemover.java +++ b/StevenDimDoors/mod_pocketDim/items/itemRiftRemover.java @@ -1,7 +1,10 @@ -package StevenDimDoors.mod_pocketDim; +package StevenDimDoors.mod_pocketDim.items; import java.util.List; +import StevenDimDoors.mod_pocketDim.dimHelper; +import StevenDimDoors.mod_pocketDim.mod_pocketDim; + import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.creativetab.CreativeTabs; diff --git a/StevenDimDoors/mod_pocketDim/mod_pocketDim.java b/StevenDimDoors/mod_pocketDim/mod_pocketDim.java index 87e2f8a..38d4d23 100644 --- a/StevenDimDoors/mod_pocketDim/mod_pocketDim.java +++ b/StevenDimDoors/mod_pocketDim/mod_pocketDim.java @@ -35,10 +35,27 @@ import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.LanguageRegistry; import cpw.mods.fml.common.registry.TickRegistry; import cpw.mods.fml.relauncher.Side; +import StevenDimDoors.mod_pocketDim.blocks.BlockDimWall; +import StevenDimDoors.mod_pocketDim.blocks.BlockDimWallPerm; +import StevenDimDoors.mod_pocketDim.blocks.BlockLimbo; +import StevenDimDoors.mod_pocketDim.blocks.BlockRift; +import StevenDimDoors.mod_pocketDim.blocks.ExitDoor; +import StevenDimDoors.mod_pocketDim.blocks.dimDoor; +import StevenDimDoors.mod_pocketDim.blocks.dimHatch; +import StevenDimDoors.mod_pocketDim.blocks.linkDimDoor; +import StevenDimDoors.mod_pocketDim.blocks.linkExitDoor; import StevenDimDoors.mod_pocketDim.commands.CommandDeleteAllLinks; import StevenDimDoors.mod_pocketDim.commands.CommandDeleteDimData; import StevenDimDoors.mod_pocketDim.commands.CommandDeleteRifts; import StevenDimDoors.mod_pocketDim.commands.CommandPruneDims; +import StevenDimDoors.mod_pocketDim.items.ItemChaosDoor; +import StevenDimDoors.mod_pocketDim.items.ItemRiftBlade; +import StevenDimDoors.mod_pocketDim.items.ItemStabilizedRiftSignature; +import StevenDimDoors.mod_pocketDim.items.ItemStableFabric; +import StevenDimDoors.mod_pocketDim.items.itemDimDoor; +import StevenDimDoors.mod_pocketDim.items.itemExitDoor; +import StevenDimDoors.mod_pocketDim.items.itemLinkSignature; +import StevenDimDoors.mod_pocketDim.items.itemRiftRemover; @Mod(modid = mod_pocketDim.modid, name = "Dimensional Doors", version = mod_pocketDim.version) @@ -84,8 +101,10 @@ public class mod_pocketDim public static int itemRiftBladeID; public static int limboExitRange; // public static int railRenderID; - + public static int itemStableFabricID; + + public static int itemStabilizedLinkSignatureID; public static int itemExitDoorID; public static int limboDimID; public static int limboProviderID; @@ -126,7 +145,8 @@ public class mod_pocketDim public static Item itemLinkSignature; public static Item itemStableFabric; public static Item itemChaosDoor; - + public static Item itemStabilizedLinkSignature; + public static PlayerRespawnTracker tracker= new PlayerRespawnTracker(); @@ -259,6 +279,7 @@ public class mod_pocketDim blockRiftID = config.getBlock("Rift", 1977).getInt(); transientDoorID = config.getBlock("transientDoorID", 1979).getInt(); + itemStabilizedLinkSignatureID=config.getItem("Stabilized Rift Signature", 5677).getInt(); itemRiftBladeID=config.getItem("Rift Blade", 5676).getInt(); itemChaosDoorID=config.getItem("Chaos Door", 5673).getInt(); itemRiftRemoverID=config.getItem("Rift Remover", 5671).getInt(); @@ -316,11 +337,12 @@ public class mod_pocketDim itemDimDoor = (new itemDimDoor(itemDimDoorID, Material.iron)).setUnlocalizedName("itemDimDoor"); itemExitDoor = (new itemExitDoor(itemExitDoorID, Material.wood)).setUnlocalizedName("itemDimDoorWarp"); - itemLinkSignature = (new itemLinkSignature(itemLinkSignatureID, Material.wood)).setUnlocalizedName("itemLinkSignature"); + itemLinkSignature = (new itemLinkSignature(itemLinkSignatureID )).setUnlocalizedName("itemLinkSignature"); itemRiftRemover = (new itemRiftRemover(itemRiftRemoverID, Material.wood)).setUnlocalizedName("itemRiftRemover"); itemStableFabric = (new ItemStableFabric(itemStableFabricID, 0)).setUnlocalizedName("itemStableFabric"); itemChaosDoor = (new ItemChaosDoor(itemChaosDoorID, Material.iron)).setUnlocalizedName("itemChaosDoor"); itemRiftBlade = (new ItemRiftBlade(itemRiftBladeID, Material.iron)).setUnlocalizedName("ItemRiftBlade"); + itemStabilizedLinkSignature = (new ItemStabilizedRiftSignature(itemStabilizedLinkSignatureID)).setUnlocalizedName("itemStabilizedRiftSig"); proxy.loadTextures(); @@ -365,6 +387,7 @@ public class mod_pocketDim LanguageRegistry.addName(itemExitDoor , "Warp Door"); LanguageRegistry.addName(itemLinkSignature , "Rift Signature"); + LanguageRegistry.addName(itemStabilizedLinkSignature, "Stabilized Rift Signature"); LanguageRegistry.addName(itemRiftRemover , "Rift Remover"); LanguageRegistry.addName(itemStableFabric , "Stable Fabric"); LanguageRegistry.addName(itemChaosDoor , "Unstable Door"); @@ -459,7 +482,7 @@ public class mod_pocketDim }); GameRegistry.addRecipe(new ItemStack(itemRiftRemover, 1), new Object[] { - " y ", "yxy", " y ", 'x', this.itemStableFabric, 'y', Item.ingotGold + "yyy", "yxy", "yyy", 'x', this.itemStableFabric, 'y', Item.ingotGold }); } @@ -474,6 +497,11 @@ public class mod_pocketDim " x ", " x ", " y ", 'x', Item.enderPearl, 'y',this.itemRiftRemover }); } + + GameRegistry.addRecipe(new ItemStack(itemStableFabric, 4), new Object[] + { + " y ", "yxy", " y ", 'x', Item.enderPearl, 'y', this.blockDimWall + }); /** GameRegistry.addRecipe(new ItemStack(itemStableFabric, 4), new Object[] diff --git a/StevenDimDoors/mod_pocketDimClient/RenderDimDoor.java b/StevenDimDoors/mod_pocketDimClient/RenderDimDoor.java index e70458e..9060ce8 100644 --- a/StevenDimDoors/mod_pocketDimClient/RenderDimDoor.java +++ b/StevenDimDoors/mod_pocketDimClient/RenderDimDoor.java @@ -14,8 +14,8 @@ import net.minecraft.tileentity.TileEntity; import org.lwjgl.opengl.GL11; import StevenDimDoors.mod_pocketDim.TileEntityDimDoor; -import StevenDimDoors.mod_pocketDim.dimDoor; import StevenDimDoors.mod_pocketDim.mod_pocketDim; +import StevenDimDoors.mod_pocketDim.blocks.dimDoor; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/StevenDimDoors/mod_pocketDimClient/RenderDimRail.java b/StevenDimDoors/mod_pocketDimClient/RenderDimRail.java index af2d625..cb55c7a 100644 --- a/StevenDimDoors/mod_pocketDimClient/RenderDimRail.java +++ b/StevenDimDoors/mod_pocketDimClient/RenderDimRail.java @@ -14,8 +14,8 @@ import net.minecraft.tileentity.TileEntity; import org.lwjgl.opengl.GL11; import StevenDimDoors.mod_pocketDim.TileEntityDimDoor; -import StevenDimDoors.mod_pocketDim.dimDoor; import StevenDimDoors.mod_pocketDim.mod_pocketDim; +import StevenDimDoors.mod_pocketDim.blocks.dimDoor; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/resources/textures/items/itemStabilizedRiftSig.png b/resources/textures/items/itemStabilizedRiftSig.png new file mode 100644 index 0000000000000000000000000000000000000000..0af084f427a1e84268b064f8e745665a641bcd79 GIT binary patch literal 3151 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 literal 0 HcmV?d00001 diff --git a/resources/textures/items/itemStableFabric.png b/resources/textures/items/itemStableFabric.png index f56592c61cb89f1e1ff666e59605ae9263afc6a4..7227a42cadd573ee80450d96a345c3d224d483e2 100644 GIT binary patch delta 2957 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