diff options
| author | OnyxDarkKnight <sor1n.iliutza16@gmail.com> | 2013-12-27 01:03:03 +0200 |
|---|---|---|
| committer | OnyxDarkKnight <sor1n.iliutza16@gmail.com> | 2013-12-27 01:03:03 +0200 |
| commit | 4d001997b81489da4bca149e6ba47e7ef08dc4b9 (patch) | |
| tree | b97a8e9d851834ed56dcb50561229c0b82db4a72 /common | |
| parent | 5991f25a58006bcae70b3a9d49fd0c70706e2de7 (diff) | |
Fixed and made so you can't teleport in another dimension the coords were set in
Diffstat (limited to 'common')
| -rw-r--r-- | common/darkknight/jewelrycraft/block/BlockDisplayer.java | 5 | ||||
| -rw-r--r-- | common/darkknight/jewelrycraft/item/ItemRing.java | 9 |
2 files changed, 9 insertions, 5 deletions
diff --git a/common/darkknight/jewelrycraft/block/BlockDisplayer.java b/common/darkknight/jewelrycraft/block/BlockDisplayer.java index e0061ae..d83186a 100644 --- a/common/darkknight/jewelrycraft/block/BlockDisplayer.java +++ b/common/darkknight/jewelrycraft/block/BlockDisplayer.java @@ -13,6 +13,7 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.MathHelper; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; +import net.minecraftforge.common.FakePlayer; import darkknight.jewelrycraft.tileentity.TileEntityDisplayer; public class BlockDisplayer extends BlockContainer @@ -59,7 +60,7 @@ public class BlockDisplayer extends BlockContainer { TileEntityDisplayer te = (TileEntityDisplayer) world.getBlockTileEntity(i, j, k); ItemStack item = entityPlayer.inventory.getCurrentItem(); - if (te != null && item != null && item != new ItemStack(0, 0, 0) && !world.isRemote) + if (te != null && item != null && item != new ItemStack(0, 0, 0) && world.isRemote) { if(!te.hasObject) { @@ -70,7 +71,7 @@ public class BlockDisplayer extends BlockContainer if (!entityPlayer.capabilities.isCreativeMode) item.stackSize = 0; te.isDirty = true; } - else if(te.object.itemID == item.itemID && te.object.getItemDamage() == item.getItemDamage() && te.object.getTooltip(entityPlayer, false).equals(item.getTooltip(entityPlayer, false))) + else if(te.object.itemID == item.itemID && te.object.getItemDamage() == item.getItemDamage() && te.object.getTooltip(new FakePlayer(te.worldObj, "Player"), true).equals(item.getTooltip(new FakePlayer(te.worldObj, "Player"), true))) { te.quantity += item.stackSize; te.object.stackSize = 1; diff --git a/common/darkknight/jewelrycraft/item/ItemRing.java b/common/darkknight/jewelrycraft/item/ItemRing.java index 52fb376..9b2ab37 100644 --- a/common/darkknight/jewelrycraft/item/ItemRing.java +++ b/common/darkknight/jewelrycraft/item/ItemRing.java @@ -128,18 +128,21 @@ public class ItemRing extends Item if (!world.isRemote){ if (JewelryNBT.playerPosX(stack) != -1 && JewelryNBT.playerPosY(stack) != -1 && JewelryNBT.playerPosZ(stack) != -1){ double posX = JewelryNBT.playerPosX(stack), posY = JewelryNBT.playerPosY(stack), posZ = JewelryNBT.playerPosZ(stack); - if (JewelryNBT.dimension(stack) != -2 && JewelryNBT.dimName(stack) != null){ + if (JewelryNBT.isJewelX(stack, new ItemStack(Item.enderPearl)) && JewelryNBT.isModifierX(stack, new ItemStack(Item.bed)) && JewelryNBT.dimension(stack) != -2 && JewelryNBT.dimName(stack) != null) + { int dimension = JewelryNBT.dimension(stack); for (int i = 1; i <= 20; i++) world.spawnParticle("largesmoke", player.posX - 0.5D + Math.random(), player.posY - 1.5D + Math.random(), player.posZ - 0.5D + Math.random(), 0.0D, 0.0D, 0.0D); if (!JewelryNBT.isDimensionX(stack, player.dimension)) player.travelToDimension(dimension); player.setPositionAndUpdate(posX, posY, posZ); for (int i = 1; i <= 300; i++) world.spawnParticle("portal", posX - 0.5D + Math.random(), posY + Math.random(), posZ - 0.5D + Math.random(), 0.0D, 0.0D, 0.0D); } - else{ + else if(JewelryNBT.isDimensionX(stack, player.dimension)) + { for (int i = 1; i <= 20; i++) world.spawnParticle("largesmoke", player.posX - 0.5D + Math.random(), player.posY - 1.5D + Math.random(), player.posZ - 0.5D + Math.random(), 0.0D, 0.0D, 0.0D); player.setPositionAndUpdate(posX, posY, posZ); for (int i = 1; i <= 300; i++) world.spawnParticle("portal", posX - 0.5D + Math.random(), posY + Math.random(), posZ - 0.5D + Math.random(), 0.0D, 0.0D, 0.0D); } + else player.addChatMessage("You can't teleport to these coordonates! You need to be in the same dimension they were set!"); } else if(JewelryNBT.isJewelX(stack, new ItemStack(Item.enderPearl)) && JewelryNBT.isModifierX(stack, new ItemStack(Item.bed)) && JewelryNBT.dimension(stack) == -2 && JewelryNBT.playerPosX(stack) == -1 && JewelryNBT.playerPosY(stack) == -1 && JewelryNBT.playerPosZ(stack) == -1){ JewelryNBT.addCoordonatesAndDimension(stack, player.posX, player.posY, player.posZ, world.provider.dimensionId, world.provider.getDimensionName()); @@ -162,7 +165,7 @@ public class ItemRing extends Item else player.addChatMessage("You need to link the ring with a chest first, before using it!"); } else if (JewelryNBT.isJewelX(stack, new ItemStack(Item.enderPearl)) && JewelryNBT.playerPosX(stack) == -1 && JewelryNBT.playerPosY(stack) == -1 && JewelryNBT.playerPosZ(stack) == -1){ - JewelryNBT.addCoordonates(stack, player.posX, player.posY, player.posZ); + JewelryNBT.addCoordonatesAndDimension(stack, player.posX, player.posY, player.posZ, world.provider.dimensionId, world.provider.getDimensionName()); JewelryNBT.addEnchantment(stack); } } |
