summaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorOnyxDarkKnight <sor1n.iliutza16@gmail.com>2013-12-27 01:03:03 +0200
committerOnyxDarkKnight <sor1n.iliutza16@gmail.com>2013-12-27 01:03:03 +0200
commit4d001997b81489da4bca149e6ba47e7ef08dc4b9 (patch)
treeb97a8e9d851834ed56dcb50561229c0b82db4a72 /common
parent5991f25a58006bcae70b3a9d49fd0c70706e2de7 (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.java5
-rw-r--r--common/darkknight/jewelrycraft/item/ItemRing.java9
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);
}
}