diff --git a/src/main/java/ellpeck/actuallyadditions/blocks/BlockPhantom.java b/src/main/java/ellpeck/actuallyadditions/blocks/BlockPhantom.java index 23ee4881e..3dd79fb2c 100644 --- a/src/main/java/ellpeck/actuallyadditions/blocks/BlockPhantom.java +++ b/src/main/java/ellpeck/actuallyadditions/blocks/BlockPhantom.java @@ -70,6 +70,7 @@ public class BlockPhantom extends BlockContainerBase implements INameableItem{ TileEntityPhantomPlayerface phantom = (TileEntityPhantomPlayerface)tile; if(player.isSneaking()){ phantom.boundPlayerUUID = player.getUniqueID().toString(); + player.addChatComponentMessage(new ChatComponentText("Bound to "+player.getDisplayName())); } } else if(tile instanceof IPhantomTile){ diff --git a/src/main/java/ellpeck/actuallyadditions/tile/TileEntityBase.java b/src/main/java/ellpeck/actuallyadditions/tile/TileEntityBase.java index 21db0ae40..8e297f086 100644 --- a/src/main/java/ellpeck/actuallyadditions/tile/TileEntityBase.java +++ b/src/main/java/ellpeck/actuallyadditions/tile/TileEntityBase.java @@ -60,6 +60,7 @@ public class TileEntityBase extends TileEntity{ GameRegistry.registerTileEntity(TileEntityEnervator.class, ModUtil.MOD_ID_LOWER + ":tileEntityEnervator"); GameRegistry.registerTileEntity(TileEntityXPSolidifier.class, ModUtil.MOD_ID_LOWER+":tileEntityXPSolidifier"); GameRegistry.registerTileEntity(TileEntityOreMagnet.class, ModUtil.MOD_ID_LOWER+":tileEntityOreMagnet"); + GameRegistry.registerTileEntity(TileEntityPhantomPlayerface.class, ModUtil.MOD_ID_LOWER+":tileEntityPhantomPlayerface"); } @Override diff --git a/src/main/java/ellpeck/actuallyadditions/tile/TileEntityPhantomPlayerface.java b/src/main/java/ellpeck/actuallyadditions/tile/TileEntityPhantomPlayerface.java index 03daf18c3..71ce243df 100644 --- a/src/main/java/ellpeck/actuallyadditions/tile/TileEntityPhantomPlayerface.java +++ b/src/main/java/ellpeck/actuallyadditions/tile/TileEntityPhantomPlayerface.java @@ -1,11 +1,13 @@ package ellpeck.actuallyadditions.tile; +import ellpeck.actuallyadditions.util.WorldUtil; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.server.MinecraftServer; import java.util.List; +import java.util.Objects; public class TileEntityPhantomPlayerface extends TileEntityInventoryBase{ @@ -18,8 +20,9 @@ public class TileEntityPhantomPlayerface extends TileEntityInventoryBase{ @Override public void updateEntity(){ - if(!this.boundPlayerBefore.equals(this.boundPlayerUUID)){ + if(!Objects.equals(this.boundPlayerUUID, this.boundPlayerBefore)){ this.boundPlayerBefore = this.boundPlayerUUID; + WorldUtil.updateTileAndTilesAround(this); } } @@ -28,7 +31,7 @@ public class TileEntityPhantomPlayerface extends TileEntityInventoryBase{ if(!worldObj.isRemote && this.boundPlayerUUID != null){ List list = MinecraftServer.getServer().getConfigurationManager().playerEntityList; for(EntityPlayer player : list){ - if(!player.getUniqueID().toString().equals(this.boundPlayerUUID)){ + if(player.getUniqueID().toString().equals(this.boundPlayerUUID)){ return player.inventory; } } diff --git a/src/main/java/ellpeck/actuallyadditions/tile/TileEntityPhantomface.java b/src/main/java/ellpeck/actuallyadditions/tile/TileEntityPhantomface.java index d4585f910..25c82908c 100644 --- a/src/main/java/ellpeck/actuallyadditions/tile/TileEntityPhantomface.java +++ b/src/main/java/ellpeck/actuallyadditions/tile/TileEntityPhantomface.java @@ -59,7 +59,7 @@ public class TileEntityPhantomface extends TileEntityInventoryBase implements IP this.boundPosition = null; } - if((this.boundPosition != null && (this.boundBlockBefore != this.boundPosition.getBlock() || !this.boundPosition.isEqual(boundPosBefore))) || this.range != this.rangeBefore){ + if(this.boundPosition != this.boundPosBefore || (this.boundPosition != null && this.boundPosition.getBlock() != this.boundBlockBefore) || this.rangeBefore != this.range){ this.rangeBefore = this.range; this.boundPosBefore = this.boundPosition; this.boundBlockBefore = this.boundPosition == null ? null : this.boundPosition.getBlock();