From ff5f49c99cd4126f0f7a72f2effab8894767b8ad Mon Sep 17 00:00:00 2001 From: Ellpeck Date: Tue, 7 Jul 2015 11:51:05 +0200 Subject: [PATCH] Added WorldPositions to not have to use ChunkCoordinates + a World anymore --- .../blocks/BlockLampPowerer.java | 8 +-- .../blocks/BlockPhantomface.java | 8 +-- .../items/ItemLeafBlower.java | 15 +++-- .../items/ItemPhantomConnector.java | 44 ++++++--------- .../tile/TileEntityBreaker.java | 16 +++--- .../tile/TileEntityFluidCollector.java | 10 ++-- .../tile/TileEntityGreenhouseGlass.java | 12 ++-- .../tile/TileEntityHeatCollector.java | 8 +-- .../tile/TileEntityPhantomPlacer.java | 49 ++++++++--------- .../tile/TileEntityPhantomface.java | 55 +++++++++---------- .../actuallyadditions/util/WorldPos.java | 38 +++++++++++++ .../actuallyadditions/util/WorldUtil.java | 17 +++--- 12 files changed, 148 insertions(+), 132 deletions(-) create mode 100644 src/main/java/ellpeck/actuallyadditions/util/WorldPos.java diff --git a/src/main/java/ellpeck/actuallyadditions/blocks/BlockLampPowerer.java b/src/main/java/ellpeck/actuallyadditions/blocks/BlockLampPowerer.java index cd25088d9..70e3aeb55 100644 --- a/src/main/java/ellpeck/actuallyadditions/blocks/BlockLampPowerer.java +++ b/src/main/java/ellpeck/actuallyadditions/blocks/BlockLampPowerer.java @@ -2,10 +2,7 @@ package ellpeck.actuallyadditions.blocks; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import ellpeck.actuallyadditions.util.BlockUtil; -import ellpeck.actuallyadditions.util.INameableItem; -import ellpeck.actuallyadditions.util.ModUtil; -import ellpeck.actuallyadditions.util.WorldUtil; +import ellpeck.actuallyadditions.util.*; import net.minecraft.block.Block; import net.minecraft.block.BlockPistonBase; import net.minecraft.block.material.Material; @@ -15,7 +12,6 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; -import net.minecraft.util.ChunkCoordinates; import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; @@ -74,7 +70,7 @@ public class BlockLampPowerer extends Block implements INameableItem{ private void updateLamp(World world, int x, int y, int z){ if(!world.isRemote){ - ChunkCoordinates coords = WorldUtil.getCoordsFromSide(ForgeDirection.getOrientation(world.getBlockMetadata(x, y, z)), x, y, z); + WorldPos coords = WorldUtil.getCoordsFromSide(ForgeDirection.getOrientation(world.getBlockMetadata(x, y, z)), x, y, z); } } diff --git a/src/main/java/ellpeck/actuallyadditions/blocks/BlockPhantomface.java b/src/main/java/ellpeck/actuallyadditions/blocks/BlockPhantomface.java index 1bbcfc6b8..a611f9dec 100644 --- a/src/main/java/ellpeck/actuallyadditions/blocks/BlockPhantomface.java +++ b/src/main/java/ellpeck/actuallyadditions/blocks/BlockPhantomface.java @@ -61,8 +61,8 @@ public class BlockPhantomface extends BlockContainerBase implements INameableIte TileEntityPhantomface phantom = (TileEntityPhantomface)tile; player.addChatComponentMessage(new ChatComponentText(StatCollector.translateToLocal("tooltip."+ModUtil.MOD_ID_LOWER+".blockPhantomRange.desc") + ": " + phantom.range)); if(phantom.hasBoundTile()){ - if(phantom.isBoundTileInRage()) player.addChatComponentMessage(new ChatComponentText(StatCollector.translateToLocalFormatted("tooltip."+ModUtil.MOD_ID_LOWER+".phantom.connectedBlock.desc", phantom.boundPosition.posX, phantom.boundPosition.posY, phantom.boundPosition.posZ))); - else player.addChatComponentMessage(new ChatComponentText(StatCollector.translateToLocalFormatted("tooltip."+ModUtil.MOD_ID_LOWER+".phantom.connectedNoRange.desc", phantom.boundPosition.posX, phantom.boundPosition.posY, phantom.boundPosition.posZ))); + if(phantom.isBoundTileInRage()) player.addChatComponentMessage(new ChatComponentText(StatCollector.translateToLocalFormatted("tooltip."+ModUtil.MOD_ID_LOWER+".phantom.connectedBlock.desc", phantom.boundPosition.getX(), phantom.boundPosition.getY(), phantom.boundPosition.getZ()))); + else player.addChatComponentMessage(new ChatComponentText(StatCollector.translateToLocalFormatted("tooltip."+ModUtil.MOD_ID_LOWER+".phantom.connectedNoRange.desc", phantom.boundPosition.getX(), phantom.boundPosition.getY(), phantom.boundPosition.getZ()))); } else player.addChatComponentMessage(new ChatComponentText(StatCollector.translateToLocal("tooltip."+ModUtil.MOD_ID_LOWER+".phantom.notConnected.desc"))); } @@ -72,8 +72,8 @@ public class BlockPhantomface extends BlockContainerBase implements INameableIte TileEntityPhantomPlacer phantom = (TileEntityPhantomPlacer)tile; player.addChatComponentMessage(new ChatComponentText(StatCollector.translateToLocal("tooltip."+ModUtil.MOD_ID_LOWER+".blockPhantomRange.desc") + ": " + phantom.range)); if(phantom.hasBoundPosition()){ - if(phantom.isBoundPositionInRange()) player.addChatComponentMessage(new ChatComponentText(StatCollector.translateToLocalFormatted("tooltip."+ModUtil.MOD_ID_LOWER+".phantom.connectedBlock.desc", phantom.boundPosition.posX, phantom.boundPosition.posY, phantom.boundPosition.posZ))); - else player.addChatComponentMessage(new ChatComponentText(StatCollector.translateToLocalFormatted("tooltip."+ModUtil.MOD_ID_LOWER+".phantom.connectedNoRange.desc", phantom.boundPosition.posX, phantom.boundPosition.posY, phantom.boundPosition.posZ))); + if(phantom.isBoundPositionInRange()) player.addChatComponentMessage(new ChatComponentText(StatCollector.translateToLocalFormatted("tooltip."+ModUtil.MOD_ID_LOWER+".phantom.connectedBlock.desc", phantom.boundPosition.getX(), phantom.boundPosition.getY(), phantom.boundPosition.getZ()))); + else player.addChatComponentMessage(new ChatComponentText(StatCollector.translateToLocalFormatted("tooltip."+ModUtil.MOD_ID_LOWER+".phantom.connectedNoRange.desc", phantom.boundPosition.getX(), phantom.boundPosition.getY(), phantom.boundPosition.getZ()))); } else player.addChatComponentMessage(new ChatComponentText(StatCollector.translateToLocal("tooltip."+ModUtil.MOD_ID_LOWER+".phantom.notConnected.desc"))); } diff --git a/src/main/java/ellpeck/actuallyadditions/items/ItemLeafBlower.java b/src/main/java/ellpeck/actuallyadditions/items/ItemLeafBlower.java index 9f5ce8465..ed26e96e1 100644 --- a/src/main/java/ellpeck/actuallyadditions/items/ItemLeafBlower.java +++ b/src/main/java/ellpeck/actuallyadditions/items/ItemLeafBlower.java @@ -15,7 +15,6 @@ import net.minecraft.item.EnumAction; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.util.ChunkCoordinates; import net.minecraft.util.IIcon; import net.minecraft.util.StatCollector; import net.minecraft.world.World; @@ -54,18 +53,18 @@ public class ItemLeafBlower extends Item implements INameableItem{ for(int reachY = (this.isAdvanced ? -range : -rangeUp); reachY < (this.isAdvanced ? range+1 : rangeUp+1); reachY++){ Block block = world.getBlock(x+reachX, y+reachY, z+reachZ); if(block != null && (block instanceof BlockBush || (this.isAdvanced && block instanceof BlockLeavesBase))){ - ChunkCoordinates theCoord = new ChunkCoordinates(x+reachX, y+reachY, z+reachZ); - Block theBlock = world.getBlock(theCoord.posX, theCoord.posY, theCoord.posZ); + WorldPos theCoord = new WorldPos(x+reachX, y+reachY, z+reachZ); + Block theBlock = world.getBlock(theCoord.getX(), theCoord.getY(), theCoord.getZ()); ArrayList drops = new ArrayList(); - int meta = world.getBlockMetadata(theCoord.posX, theCoord.posY, theCoord.posZ); - drops.addAll(theBlock.getDrops(world, theCoord.posX, theCoord.posY, theCoord.posZ, meta, 0)); + int meta = world.getBlockMetadata(theCoord.getX(), theCoord.getY(), theCoord.getZ()); + drops.addAll(theBlock.getDrops(world, theCoord.getX(), theCoord.getY(), theCoord.getZ(), meta, 0)); - world.setBlockToAir(theCoord.posX, theCoord.posY, theCoord.posZ); - if(this.hasParticles) world.playAuxSFX(2001, theCoord.posX, theCoord.posY, theCoord.posZ, Block.getIdFromBlock(theBlock)+(meta << 12)); + world.setBlockToAir(theCoord.getX(), theCoord.getY(), theCoord.getZ()); + if(this.hasParticles) world.playAuxSFX(2001, theCoord.getX(), theCoord.getY(), theCoord.getZ(), Block.getIdFromBlock(theBlock)+(meta << 12)); if(this.doesDrop){ for(ItemStack theDrop : drops){ - world.spawnEntityInWorld(new EntityItem(world, theCoord.posX + 0.5, theCoord.posY + 0.5, theCoord.posZ + 0.5, theDrop)); + world.spawnEntityInWorld(new EntityItem(world, theCoord.getX() + 0.5, theCoord.getY() + 0.5, theCoord.getZ() + 0.5, theDrop)); } } return; diff --git a/src/main/java/ellpeck/actuallyadditions/items/ItemPhantomConnector.java b/src/main/java/ellpeck/actuallyadditions/items/ItemPhantomConnector.java index 179c266c4..1ba90b790 100644 --- a/src/main/java/ellpeck/actuallyadditions/items/ItemPhantomConnector.java +++ b/src/main/java/ellpeck/actuallyadditions/items/ItemPhantomConnector.java @@ -14,7 +14,6 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ChatComponentText; -import net.minecraft.util.ChunkCoordinates; import net.minecraft.util.IIcon; import net.minecraft.util.StatCollector; import net.minecraft.world.World; @@ -38,7 +37,6 @@ public class ItemPhantomConnector extends Item implements INameableItem{ if(tile instanceof TileEntityPhantomface){ if(this.checkHasConnection(stack, player, tile)){ ((TileEntityPhantomface)tile).boundPosition = this.getStoredPosition(stack); - ((TileEntityPhantomface)tile).boundWorld = this.getStoredWorld(stack); WorldUtil.updateTileAndTilesAround(tile); this.clearStorage(stack); player.addChatComponentMessage(new ChatComponentText(StatCollector.translateToLocal("tooltip."+ModUtil.MOD_ID_LOWER+".phantom.connected.desc"))); @@ -50,7 +48,6 @@ public class ItemPhantomConnector extends Item implements INameableItem{ else if(tile instanceof TileEntityPhantomPlacer){ if(this.checkHasConnection(stack, player, tile)){ ((TileEntityPhantomPlacer)tile).boundPosition = this.getStoredPosition(stack); - ((TileEntityPhantomPlacer)tile).boundWorld = this.getStoredWorld(stack); tile.markDirty(); this.clearStorage(stack); player.addChatComponentMessage(new ChatComponentText(StatCollector.translateToLocal("tooltip."+ModUtil.MOD_ID_LOWER+".phantom.connected.desc"))); @@ -67,16 +64,14 @@ public class ItemPhantomConnector extends Item implements INameableItem{ } public boolean checkHasConnection(ItemStack stack, EntityPlayer player, TileEntity tile){ - if(this.getStoredPosition(stack) != null && this.getStoredWorld(stack) != null){ + if(this.getStoredPosition(stack) != null){ return true; } else{ if(tile instanceof TileEntityPhantomPlacer){ - ((TileEntityPhantomPlacer)tile).boundWorld = null; ((TileEntityPhantomPlacer)tile).boundPosition = null; } if(tile instanceof TileEntityPhantomface){ - ((TileEntityPhantomface)tile).boundWorld = null; ((TileEntityPhantomface)tile).boundPosition = null; } player.addChatComponentMessage(new ChatComponentText(StatCollector.translateToLocal("tooltip." + ModUtil.MOD_ID_LOWER + ".phantom.unbound.desc"))); @@ -86,7 +81,7 @@ public class ItemPhantomConnector extends Item implements INameableItem{ @Override public void onUpdate(ItemStack stack, World world, Entity entity, int par4, boolean par5){ - if(this.getStoredPosition(stack) == null || this.getStoredWorld(stack) == null) this.clearStorage(stack); + if(this.getStoredPosition(stack) == null) this.clearStorage(stack); } @Override @@ -95,23 +90,16 @@ public class ItemPhantomConnector extends Item implements INameableItem{ return stack; } - public ChunkCoordinates getStoredPosition(ItemStack stack){ + public WorldPos getStoredPosition(ItemStack stack){ NBTTagCompound tag = stack.getTagCompound(); if(tag != null){ int x = tag.getInteger("XCoordOfTileStored"); int y = tag.getInteger("YCoordOfTileStored"); int z = tag.getInteger("ZCoordOfTileStored"); - - if(x == 0 && y == 0 && z == 0) return null; - return new ChunkCoordinates(x, y, z); - } - return null; - } - - public World getStoredWorld(ItemStack stack){ - NBTTagCompound tag = stack.getTagCompound(); - if(tag != null){ - return DimensionManager.getWorld(tag.getInteger("WorldOfTileStored")); + World world = DimensionManager.getWorld(tag.getInteger("WorldOfTileStored")); + if(x != 0 && y != 0 && z != 0 && world != null){ + return new WorldPos(x, y, z); + } } return null; } @@ -142,14 +130,16 @@ public class ItemPhantomConnector extends Item implements INameableItem{ @SideOnly(Side.CLIENT) public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) { ItemUtil.addInformation(this, list, 2, ""); - ChunkCoordinates coords = this.getStoredPosition(stack); - World world = this.getStoredWorld(stack); - if(coords != null && world != null){ - list.add(StatCollector.translateToLocal("tooltip." + ModUtil.MOD_ID_LOWER + ".phantom.boundTo.desc") + ":"); - list.add("X: " + coords.posX); - list.add("Y: " + coords.posY); - list.add("Z: " + coords.posZ); - list.add(StatCollector.translateToLocal("tooltip." + ModUtil.MOD_ID_LOWER + ".phantom.inWorld.desc") + " " + world.provider.dimensionId); + WorldPos coords = this.getStoredPosition(stack); + if(coords != null){ + World world = coords.getWorld(); + if(world != null){ + list.add(StatCollector.translateToLocal("tooltip."+ModUtil.MOD_ID_LOWER+".phantom.boundTo.desc")+":"); + list.add("X: "+coords.getX()); + list.add("Y: "+coords.getY()); + list.add("Z: "+coords.getZ()); + list.add(StatCollector.translateToLocal("tooltip."+ModUtil.MOD_ID_LOWER+".phantom.inWorld.desc")+" "+world.provider.dimensionId); + } } } diff --git a/src/main/java/ellpeck/actuallyadditions/tile/TileEntityBreaker.java b/src/main/java/ellpeck/actuallyadditions/tile/TileEntityBreaker.java index 4a799dce7..37d37e94b 100644 --- a/src/main/java/ellpeck/actuallyadditions/tile/TileEntityBreaker.java +++ b/src/main/java/ellpeck/actuallyadditions/tile/TileEntityBreaker.java @@ -1,11 +1,11 @@ package ellpeck.actuallyadditions.tile; import ellpeck.actuallyadditions.config.values.ConfigIntValues; +import ellpeck.actuallyadditions.util.WorldPos; import ellpeck.actuallyadditions.util.WorldUtil; import net.minecraft.block.Block; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.ChunkCoordinates; import net.minecraftforge.common.util.ForgeDirection; import java.util.ArrayList; @@ -45,22 +45,22 @@ public class TileEntityBreaker extends TileEntityInventoryBase{ if(this.currentTime <= 0){ ForgeDirection sideToManipulate = ForgeDirection.getOrientation(worldObj.getBlockMetadata(xCoord, yCoord, zCoord)); - ChunkCoordinates coordsBlock = WorldUtil.getCoordsFromSide(sideToManipulate, xCoord, yCoord, zCoord); + WorldPos coordsBlock = WorldUtil.getCoordsFromSide(sideToManipulate, xCoord, yCoord, zCoord); if(coordsBlock != null){ - Block blockToBreak = worldObj.getBlock(coordsBlock.posX, coordsBlock.posY, coordsBlock.posZ); - if(!this.isPlacer && blockToBreak != null && blockToBreak.getBlockHardness(worldObj, coordsBlock.posX, coordsBlock.posY, coordsBlock.posZ) > -1.0F){ + Block blockToBreak = worldObj.getBlock(coordsBlock.getX(), coordsBlock.getY(), coordsBlock.getZ()); + if(!this.isPlacer && blockToBreak != null && blockToBreak.getBlockHardness(worldObj, coordsBlock.getX(), coordsBlock.getY(), coordsBlock.getZ()) > -1.0F){ ArrayList drops = new ArrayList(); - int meta = worldObj.getBlockMetadata(coordsBlock.posX, coordsBlock.posY, coordsBlock.posZ); - drops.addAll(blockToBreak.getDrops(worldObj, coordsBlock.posX, coordsBlock.posY, coordsBlock.posZ, meta, 0)); + int meta = worldObj.getBlockMetadata(coordsBlock.getX(), coordsBlock.getY(), coordsBlock.getZ()); + drops.addAll(blockToBreak.getDrops(worldObj, coordsBlock.getX(), coordsBlock.getY(), coordsBlock.getZ(), meta, 0)); if(addToInventory(this.slots, drops, false)){ - worldObj.playAuxSFX(2001, coordsBlock.posX, coordsBlock.posY, coordsBlock.posZ, Block.getIdFromBlock(blockToBreak) + (meta << 12)); + worldObj.playAuxSFX(2001, coordsBlock.getX(), coordsBlock.getY(), coordsBlock.getZ(), Block.getIdFromBlock(blockToBreak) + (meta << 12)); WorldUtil.breakBlockAtSide(sideToManipulate, worldObj, xCoord, yCoord, zCoord); addToInventory(this.slots, drops, true); this.markDirty(); } } - else if(this.isPlacer && worldObj.getBlock(coordsBlock.posX, coordsBlock.posY, coordsBlock.posZ).isReplaceable(worldObj, coordsBlock.posX, coordsBlock.posY, coordsBlock.posZ)){ + else if(this.isPlacer && worldObj.getBlock(coordsBlock.getX(), coordsBlock.getY(), coordsBlock.getZ()).isReplaceable(worldObj, coordsBlock.getX(), coordsBlock.getY(), coordsBlock.getZ())){ int theSlot = testInventory(this.slots); this.setInventorySlotContents(theSlot, WorldUtil.placeBlockAtSide(sideToManipulate, worldObj, xCoord, yCoord, zCoord, this.slots[theSlot])); if(this.slots[theSlot] != null && this.slots[theSlot].stackSize <= 0) this.slots[theSlot] = null; diff --git a/src/main/java/ellpeck/actuallyadditions/tile/TileEntityFluidCollector.java b/src/main/java/ellpeck/actuallyadditions/tile/TileEntityFluidCollector.java index 410428dae..1a512d1e4 100644 --- a/src/main/java/ellpeck/actuallyadditions/tile/TileEntityFluidCollector.java +++ b/src/main/java/ellpeck/actuallyadditions/tile/TileEntityFluidCollector.java @@ -5,12 +5,12 @@ import cpw.mods.fml.relauncher.SideOnly; import ellpeck.actuallyadditions.config.values.ConfigIntValues; import ellpeck.actuallyadditions.network.sync.IPacketSyncerToClient; import ellpeck.actuallyadditions.network.sync.PacketSyncerToClient; +import ellpeck.actuallyadditions.util.WorldPos; import ellpeck.actuallyadditions.util.WorldUtil; import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.ChunkCoordinates; import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.fluids.*; @@ -110,10 +110,10 @@ public class TileEntityFluidCollector extends TileEntityInventoryBase implements if(this.currentTime <= 0){ ForgeDirection sideToManipulate = ForgeDirection.getOrientation(worldObj.getBlockMetadata(xCoord, yCoord, zCoord)); - ChunkCoordinates coordsBlock = WorldUtil.getCoordsFromSide(sideToManipulate, xCoord, yCoord, zCoord); + WorldPos coordsBlock = WorldUtil.getCoordsFromSide(sideToManipulate, xCoord, yCoord, zCoord); if(coordsBlock != null){ - Block blockToBreak = worldObj.getBlock(coordsBlock.posX, coordsBlock.posY, coordsBlock.posZ); - if(!this.isPlacer && blockToBreak != null && worldObj.getBlockMetadata(coordsBlock.posX, coordsBlock.posY, coordsBlock.posZ) == 0){ + Block blockToBreak = worldObj.getBlock(coordsBlock.getX(), coordsBlock.getY(), coordsBlock.getZ()); + if(!this.isPlacer && blockToBreak != null && worldObj.getBlockMetadata(coordsBlock.getX(), coordsBlock.getY(), coordsBlock.getZ()) == 0){ if(blockToBreak instanceof IFluidBlock && ((IFluidBlock)blockToBreak).getFluid() != null){ if(this.tank.fill(new FluidStack(((IFluidBlock)blockToBreak).getFluid(), FluidContainerRegistry.BUCKET_VOLUME), false) >= FluidContainerRegistry.BUCKET_VOLUME){ this.tank.fill(new FluidStack(((IFluidBlock)blockToBreak).getFluid(), FluidContainerRegistry.BUCKET_VOLUME), true); @@ -133,7 +133,7 @@ public class TileEntityFluidCollector extends TileEntityInventoryBase implements } } } - else if(this.isPlacer && worldObj.getBlock(coordsBlock.posX, coordsBlock.posY, coordsBlock.posZ).isReplaceable(worldObj, coordsBlock.posX, coordsBlock.posY, coordsBlock.posZ)){ + else if(this.isPlacer && worldObj.getBlock(coordsBlock.getX(), coordsBlock.getY(), coordsBlock.getZ()).isReplaceable(worldObj, coordsBlock.getX(), coordsBlock.getY(), coordsBlock.getZ())){ if(this.tank.getFluidAmount() >= FluidContainerRegistry.BUCKET_VOLUME){ if(this.tank.getFluid().getFluid().getBlock() != null){ Block block = worldObj.getBlock(xCoord+sideToManipulate.offsetX, yCoord+sideToManipulate.offsetY, zCoord+sideToManipulate.offsetZ); diff --git a/src/main/java/ellpeck/actuallyadditions/tile/TileEntityGreenhouseGlass.java b/src/main/java/ellpeck/actuallyadditions/tile/TileEntityGreenhouseGlass.java index 9dbe59b54..981440abb 100644 --- a/src/main/java/ellpeck/actuallyadditions/tile/TileEntityGreenhouseGlass.java +++ b/src/main/java/ellpeck/actuallyadditions/tile/TileEntityGreenhouseGlass.java @@ -1,10 +1,10 @@ package ellpeck.actuallyadditions.tile; import ellpeck.actuallyadditions.config.values.ConfigIntValues; +import ellpeck.actuallyadditions.util.WorldPos; import net.minecraft.block.Block; import net.minecraft.block.BlockGrass; import net.minecraft.block.IGrowable; -import net.minecraft.util.ChunkCoordinates; import java.util.Random; @@ -18,13 +18,13 @@ public class TileEntityGreenhouseGlass extends TileEntityBase{ public void updateEntity(){ if(!worldObj.isRemote){ if(worldObj.canBlockSeeTheSky(xCoord, yCoord, zCoord) && worldObj.isDaytime()){ - ChunkCoordinates blockToFert = this.blockToFertilize(); + WorldPos blockToFert = this.blockToFertilize(); if(blockToFert != null){ if(this.timeUntilNextFert > 0){ this.timeUntilNextFert--; if(timeUntilNextFert <= 0){ - worldObj.getBlock(blockToFert.posX, blockToFert.posY, blockToFert.posZ).updateTick(worldObj, blockToFert.posX, blockToFert.posY, blockToFert.posZ, worldObj.rand); - worldObj.playAuxSFX(2005, blockToFert.posX, blockToFert.posY, blockToFert.posZ, 0); + worldObj.getBlock(blockToFert.getX(), blockToFert.getY(), blockToFert.getZ()).updateTick(worldObj, blockToFert.getX(), blockToFert.getY(), blockToFert.getZ(), worldObj.rand); + worldObj.playAuxSFX(2005, blockToFert.getX(), blockToFert.getY(), blockToFert.getZ(), 0); } } else this.timeUntilNextFert = this.timeUntilNextFertToSet+new Random().nextInt(this.timeUntilNextFertToSet); @@ -33,12 +33,12 @@ public class TileEntityGreenhouseGlass extends TileEntityBase{ } } - public ChunkCoordinates blockToFertilize(){ + public WorldPos blockToFertilize(){ for(int i = yCoord-1; i > 0; i--){ Block block = worldObj.getBlock(xCoord, i, zCoord); if(block != null && !(worldObj.isAirBlock(xCoord, i, zCoord))){ if(block instanceof IGrowable && !(block instanceof BlockGrass)){ - return new ChunkCoordinates(xCoord, i, zCoord); + return new WorldPos(xCoord, i, zCoord); } else return null; } diff --git a/src/main/java/ellpeck/actuallyadditions/tile/TileEntityHeatCollector.java b/src/main/java/ellpeck/actuallyadditions/tile/TileEntityHeatCollector.java index c383a7837..17b8d7c2e 100644 --- a/src/main/java/ellpeck/actuallyadditions/tile/TileEntityHeatCollector.java +++ b/src/main/java/ellpeck/actuallyadditions/tile/TileEntityHeatCollector.java @@ -3,10 +3,10 @@ package ellpeck.actuallyadditions.tile; import cofh.api.energy.EnergyStorage; import cofh.api.energy.IEnergyProvider; import ellpeck.actuallyadditions.config.values.ConfigIntValues; +import ellpeck.actuallyadditions.util.WorldPos; import ellpeck.actuallyadditions.util.WorldUtil; import net.minecraft.block.Block; import net.minecraft.block.material.Material; -import net.minecraft.util.ChunkCoordinates; import net.minecraftforge.common.util.ForgeDirection; import java.util.ArrayList; @@ -27,10 +27,10 @@ public class TileEntityHeatCollector extends TileEntityBase implements IEnergyPr ArrayList blocksAround = new ArrayList(); if(energyProducedPerTick <= this.getMaxEnergyStored(ForgeDirection.UNKNOWN)-this.getEnergyStored(ForgeDirection.UNKNOWN)){ for(int i = 1; i <= 5; i++){ - ChunkCoordinates coords = WorldUtil.getCoordsFromSide(WorldUtil.getDirectionByRotatingSide(i), xCoord, yCoord, zCoord); + WorldPos coords = WorldUtil.getCoordsFromSide(WorldUtil.getDirectionByRotatingSide(i), xCoord, yCoord, zCoord); if(coords != null){ - Block block = worldObj.getBlock(coords.posX, coords.posY, coords.posZ); - if(block != null && block.getMaterial() == Material.lava && worldObj.getBlockMetadata(coords.posX, coords.posY, coords.posZ) == 0){ + Block block = worldObj.getBlock(coords.getX(), coords.getY(), coords.getZ()); + if(block != null && block.getMaterial() == Material.lava && worldObj.getBlockMetadata(coords.getX(), coords.getY(), coords.getZ()) == 0){ blocksAround.add(i); } } diff --git a/src/main/java/ellpeck/actuallyadditions/tile/TileEntityPhantomPlacer.java b/src/main/java/ellpeck/actuallyadditions/tile/TileEntityPhantomPlacer.java index 4a02b47f9..f031804a1 100644 --- a/src/main/java/ellpeck/actuallyadditions/tile/TileEntityPhantomPlacer.java +++ b/src/main/java/ellpeck/actuallyadditions/tile/TileEntityPhantomPlacer.java @@ -1,11 +1,11 @@ package ellpeck.actuallyadditions.tile; import ellpeck.actuallyadditions.config.values.ConfigIntValues; +import ellpeck.actuallyadditions.util.WorldPos; import ellpeck.actuallyadditions.util.WorldUtil; import net.minecraft.block.Block; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.ChunkCoordinates; import net.minecraft.world.World; import net.minecraftforge.common.DimensionManager; import net.minecraftforge.common.util.ForgeDirection; @@ -23,8 +23,7 @@ public class TileEntityPhantomPlacer extends TileEntityInventoryBase{ } - public ChunkCoordinates boundPosition; - public World boundWorld; + public WorldPos boundPosition; public int currentTime; public final int timeNeeded = ConfigIntValues.PHANTOM_PLACER_TIME.getValue(); @@ -50,7 +49,6 @@ public class TileEntityPhantomPlacer extends TileEntityInventoryBase{ if(!this.hasBoundPosition()){ this.boundPosition = null; - this.boundWorld = null; } if(this.isBoundPositionInRange()){ @@ -59,24 +57,24 @@ public class TileEntityPhantomPlacer extends TileEntityInventoryBase{ this.currentTime--; if(this.currentTime <= 0){ if(this.isBreaker){ - Block blockToBreak = boundWorld.getBlock(boundPosition.posX, boundPosition.posY, boundPosition.posZ); - if(blockToBreak != null && blockToBreak.getBlockHardness(boundWorld, boundPosition.posX, boundPosition.posY, boundPosition.posZ) > -1.0F){ + Block blockToBreak = boundPosition.getWorld().getBlock(boundPosition.getX(), boundPosition.getY(), boundPosition.getZ()); + if(blockToBreak != null && blockToBreak.getBlockHardness(boundPosition.getWorld(), boundPosition.getX(), boundPosition.getY(), boundPosition.getZ()) > -1.0F){ ArrayList drops = new ArrayList(); - int meta = boundWorld.getBlockMetadata(boundPosition.posX, boundPosition.posY, boundPosition.posZ); - drops.addAll(blockToBreak.getDrops(boundWorld, boundPosition.posX, boundPosition.posY, boundPosition.posZ, meta, 0)); + int meta = boundPosition.getWorld().getBlockMetadata(boundPosition.getX(), boundPosition.getY(), boundPosition.getZ()); + drops.addAll(blockToBreak.getDrops(boundPosition.getWorld(), boundPosition.getX(), boundPosition.getY(), boundPosition.getZ(), meta, 0)); if(TileEntityBreaker.addToInventory(this.slots, drops, false)){ - boundWorld.playAuxSFX(2001, boundPosition.posX, boundPosition.posY, boundPosition.posZ, Block.getIdFromBlock(blockToBreak) + (meta << 12)); - WorldUtil.breakBlockAtSide(ForgeDirection.UNKNOWN, boundWorld, boundPosition.posX, boundPosition.posY, boundPosition.posZ); + boundPosition.getWorld().playAuxSFX(2001, boundPosition.getX(), boundPosition.getY(), boundPosition.getZ(), Block.getIdFromBlock(blockToBreak)+(meta << 12)); + WorldUtil.breakBlockAtSide(ForgeDirection.UNKNOWN, boundPosition.getWorld(), boundPosition.getX(), boundPosition.getY(), boundPosition.getZ()); TileEntityBreaker.addToInventory(this.slots, drops, true); this.markDirty(); } } } else{ - if(boundWorld.getBlock(boundPosition.posX, boundPosition.posY, boundPosition.posZ).isReplaceable(boundWorld, boundPosition.posX, boundPosition.posY, boundPosition.posZ)){ + if(boundPosition.getWorld().getBlock(boundPosition.getX(), boundPosition.getY(), boundPosition.getZ()).isReplaceable(boundPosition.getWorld(), boundPosition.getX(), boundPosition.getY(), boundPosition.getZ())){ int theSlot = TileEntityBreaker.testInventory(this.slots); - this.setInventorySlotContents(theSlot, WorldUtil.placeBlockAtSide(ForgeDirection.UNKNOWN, boundWorld, boundPosition.posX, boundPosition.posY, boundPosition.posZ, this.slots[theSlot])); + this.setInventorySlotContents(theSlot, WorldUtil.placeBlockAtSide(ForgeDirection.UNKNOWN, boundPosition.getWorld(), boundPosition.getX(), boundPosition.getY(), boundPosition.getZ(), this.slots[theSlot])); if(this.slots[theSlot] != null && this.slots[theSlot].stackSize <= 0) this.slots[theSlot] = null; } } @@ -90,9 +88,9 @@ public class TileEntityPhantomPlacer extends TileEntityInventoryBase{ public boolean isBoundPositionInRange(){ if(this.hasBoundPosition()){ - int xDif = this.boundPosition.posX-this.xCoord; - int yDif = this.boundPosition.posY-this.yCoord; - int zDif = this.boundPosition.posZ-this.zCoord; + int xDif = this.boundPosition.getX()-this.xCoord; + int yDif = this.boundPosition.getY()-this.yCoord; + int zDif = this.boundPosition.getZ()-this.zCoord; if(xDif >= -this.range && xDif <= this.range){ if(yDif >= -this.range && yDif <= this.range){ @@ -104,13 +102,12 @@ public class TileEntityPhantomPlacer extends TileEntityInventoryBase{ } public boolean hasBoundPosition(){ - if(this.boundPosition != null && this.boundWorld != null){ - if(this.xCoord == this.boundPosition.posX && this.yCoord == this.boundPosition.posY && this.zCoord == this.boundPosition.posZ && this.worldObj == this.boundWorld){ + if(this.boundPosition != null && this.boundPosition.getWorld() != null){ + if(this.xCoord == this.boundPosition.getX() && this.yCoord == this.boundPosition.getY() && this.zCoord == this.boundPosition.getZ() && this.worldObj == this.boundPosition.getWorld()){ this.boundPosition = null; - this.boundWorld = null; return false; } - return this.boundWorld == this.worldObj; + return this.boundPosition.getWorld() == this.worldObj; } return false; } @@ -120,10 +117,10 @@ public class TileEntityPhantomPlacer extends TileEntityInventoryBase{ super.writeToNBT(compound); compound.setInteger("Time", currentTime); if(this.hasBoundPosition()){ - compound.setInteger("XCoordOfTileStored", boundPosition.posX); - compound.setInteger("YCoordOfTileStored", boundPosition.posY); - compound.setInteger("ZCoordOfTileStored", boundPosition.posZ); - compound.setInteger("WorldOfTileStored", boundWorld.provider.dimensionId); + compound.setInteger("XCoordOfTileStored", boundPosition.getX()); + compound.setInteger("YCoordOfTileStored", boundPosition.getY()); + compound.setInteger("ZCoordOfTileStored", boundPosition.getZ()); + compound.setInteger("WorldOfTileStored", boundPosition.getWorld().provider.dimensionId); } } @@ -133,9 +130,9 @@ public class TileEntityPhantomPlacer extends TileEntityInventoryBase{ int x = compound.getInteger("XCoordOfTileStored"); int y = compound.getInteger("YCoordOfTileStored"); int z = compound.getInteger("ZCoordOfTileStored"); - if(x != 0 && y != 0 && z != 0){ - this.boundPosition = new ChunkCoordinates(x, y, z); - this.boundWorld = DimensionManager.getWorld(compound.getInteger("WorldOfTileStored")); + World world = DimensionManager.getWorld(compound.getInteger("WorldOfTileStored")); + if(x != 0 && y != 0 && z != 0 && world != null){ + this.boundPosition = new WorldPos(world, x, y, z); this.markDirty(); } } diff --git a/src/main/java/ellpeck/actuallyadditions/tile/TileEntityPhantomface.java b/src/main/java/ellpeck/actuallyadditions/tile/TileEntityPhantomface.java index 05fd7402b..b211957a9 100644 --- a/src/main/java/ellpeck/actuallyadditions/tile/TileEntityPhantomface.java +++ b/src/main/java/ellpeck/actuallyadditions/tile/TileEntityPhantomface.java @@ -6,6 +6,7 @@ import cofh.api.energy.IEnergyReceiver; import ellpeck.actuallyadditions.blocks.BlockPhantomface; import ellpeck.actuallyadditions.blocks.InitBlocks; import ellpeck.actuallyadditions.config.values.ConfigIntValues; +import ellpeck.actuallyadditions.util.WorldPos; import ellpeck.actuallyadditions.util.WorldUtil; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; @@ -14,7 +15,6 @@ import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ChunkCoordinates; import net.minecraft.world.World; import net.minecraftforge.common.DimensionManager; import net.minecraftforge.common.util.ForgeDirection; @@ -25,8 +25,7 @@ import net.minecraftforge.fluids.IFluidHandler; public class TileEntityPhantomface extends TileEntityInventoryBase{ - public ChunkCoordinates boundPosition; - public World boundWorld; + public WorldPos boundPosition; public int type; @@ -49,9 +48,9 @@ public class TileEntityPhantomface extends TileEntityInventoryBase{ public boolean isBoundTileInRage(){ if(this.hasBoundTile()){ - int xDif = this.boundPosition.posX-this.xCoord; - int yDif = this.boundPosition.posY-this.yCoord; - int zDif = this.boundPosition.posZ-this.zCoord; + int xDif = this.boundPosition.getX()-this.xCoord; + int yDif = this.boundPosition.getY()-this.yCoord; + int zDif = this.boundPosition.getZ()-this.zCoord; if(xDif >= -this.range && xDif <= this.range){ if(yDif >= -this.range && yDif <= this.range){ @@ -69,19 +68,17 @@ public class TileEntityPhantomface extends TileEntityInventoryBase{ if(!this.hasBoundTile()){ this.boundPosition = null; - this.boundWorld = null; } } } public boolean hasBoundTile(){ - if(this.boundPosition != null && this.boundWorld != null){ - if(this.boundWorld.getTileEntity(boundPosition.posX, boundPosition.posY, boundPosition.posZ) instanceof TileEntityPhantomface || (this.xCoord == this.boundPosition.posX && this.yCoord == this.boundPosition.posY && this.zCoord == this.boundPosition.posZ && this.worldObj == this.boundWorld)){ + if(this.boundPosition != null && this.boundPosition.getWorld() != null){ + if(this.boundPosition.getWorld().getTileEntity(boundPosition.getX(), boundPosition.getY(), boundPosition.getZ()) instanceof TileEntityPhantomface || (this.xCoord == this.boundPosition.getX() && this.yCoord == this.boundPosition.getY() && this.zCoord == this.boundPosition.getZ() && this.worldObj == this.boundPosition.getWorld())){ this.boundPosition = null; - this.boundWorld = null; return false; } - return this.boundWorld == this.worldObj; + return this.boundPosition.getWorld() == this.worldObj; } return false; } @@ -90,10 +87,10 @@ public class TileEntityPhantomface extends TileEntityInventoryBase{ public void writeToNBT(NBTTagCompound compound){ super.writeToNBT(compound); if(this.hasBoundTile()){ - compound.setInteger("XCoordOfTileStored", boundPosition.posX); - compound.setInteger("YCoordOfTileStored", boundPosition.posY); - compound.setInteger("ZCoordOfTileStored", boundPosition.posZ); - compound.setInteger("WorldOfTileStored", boundWorld.provider.dimensionId); + compound.setInteger("XCoordOfTileStored", boundPosition.getX()); + compound.setInteger("YCoordOfTileStored", boundPosition.getY()); + compound.setInteger("ZCoordOfTileStored", boundPosition.getZ()); + compound.setInteger("WorldOfTileStored", boundPosition.getWorld().provider.dimensionId); } } @@ -103,9 +100,9 @@ public class TileEntityPhantomface extends TileEntityInventoryBase{ int x = compound.getInteger("XCoordOfTileStored"); int y = compound.getInteger("YCoordOfTileStored"); int z = compound.getInteger("ZCoordOfTileStored"); - if(x != 0 && y != 0 && z != 0){ - this.boundPosition = new ChunkCoordinates(x, y, z); - this.boundWorld = DimensionManager.getWorld(compound.getInteger("WorldOfTileStored")); + World world = DimensionManager.getWorld(compound.getInteger("WorldOfTileStored")); + if(x != 0 && y != 0 && z != 0 && world != null){ + this.boundPosition = new WorldPos(world, x, y, z); this.markDirty(); } } @@ -164,12 +161,12 @@ public class TileEntityPhantomface extends TileEntityInventoryBase{ @Override public boolean isBoundTileInRage(){ - return super.isBoundTileInRage() && this.boundWorld.getTileEntity(boundPosition.posX, boundPosition.posY, boundPosition.posZ) instanceof IFluidHandler; + return super.isBoundTileInRage() && this.boundPosition.getWorld().getTileEntity(boundPosition.getX(), boundPosition.getY(), boundPosition.getZ()) instanceof IFluidHandler; } public IFluidHandler getHandler(){ - if(this.boundPosition != null && this.boundWorld != null){ - TileEntity tile = boundWorld.getTileEntity(boundPosition.posX, boundPosition.posY, boundPosition.posZ); + if(this.boundPosition != null && this.boundPosition.getWorld() != null){ + TileEntity tile = boundPosition.getWorld().getTileEntity(boundPosition.getX(), boundPosition.getY(), boundPosition.getZ()); if(tile instanceof IFluidHandler) return (IFluidHandler)tile; } return null; @@ -219,7 +216,7 @@ public class TileEntityPhantomface extends TileEntityInventoryBase{ @Override public boolean isBoundTileInRage(){ - return super.isBoundTileInRage() && (this.boundWorld.getTileEntity(boundPosition.posX, boundPosition.posY, boundPosition.posZ) instanceof IEnergyReceiver || this.boundWorld.getTileEntity(boundPosition.posX, boundPosition.posY, boundPosition.posZ) instanceof IEnergyProvider); + return super.isBoundTileInRage() && (this.boundPosition.getWorld().getTileEntity(boundPosition.getX(), boundPosition.getY(), boundPosition.getZ()) instanceof IEnergyReceiver || this.boundPosition.getWorld().getTileEntity(boundPosition.getX(), boundPosition.getY(), boundPosition.getZ()) instanceof IEnergyProvider); } @Override @@ -250,16 +247,16 @@ public class TileEntityPhantomface extends TileEntityInventoryBase{ } public IEnergyProvider getProvider(){ - if(this.boundPosition != null && this.boundWorld != null){ - TileEntity tile = boundWorld.getTileEntity(boundPosition.posX, boundPosition.posY, boundPosition.posZ); + if(this.boundPosition != null && this.boundPosition.getWorld() != null){ + TileEntity tile = boundPosition.getWorld().getTileEntity(boundPosition.getX(), boundPosition.getY(), boundPosition.getZ()); if(tile instanceof IEnergyProvider) return (IEnergyProvider)tile; } return null; } public IEnergyReceiver getReceiver(){ - if(this.boundPosition != null && this.boundWorld != null){ - TileEntity tile = boundWorld.getTileEntity(boundPosition.posX, boundPosition.posY, boundPosition.posZ); + if(this.boundPosition != null && this.boundPosition.getWorld() != null){ + TileEntity tile = boundPosition.getWorld().getTileEntity(boundPosition.getX(), boundPosition.getY(), boundPosition.getZ()); if(tile instanceof IEnergyReceiver) return (IEnergyReceiver)tile; } return null; @@ -311,8 +308,8 @@ public class TileEntityPhantomface extends TileEntityInventoryBase{ } public IInventory getInventory(){ - if(this.boundPosition != null && this.boundWorld != null){ - TileEntity tile = boundWorld.getTileEntity(boundPosition.posX, boundPosition.posY, boundPosition.posZ); + if(this.boundPosition != null && this.boundPosition.getWorld() != null){ + TileEntity tile = boundPosition.getWorld().getTileEntity(boundPosition.getX(), boundPosition.getY(), boundPosition.getZ()); if(tile instanceof IInventory) return (IInventory)tile; } return null; @@ -320,7 +317,7 @@ public class TileEntityPhantomface extends TileEntityInventoryBase{ @Override public boolean isBoundTileInRage(){ - return super.isBoundTileInRage() && this.boundWorld.getTileEntity(boundPosition.posX, boundPosition.posY, boundPosition.posZ) instanceof IInventory; + return super.isBoundTileInRage() && this.boundPosition.getWorld().getTileEntity(boundPosition.getX(), boundPosition.getY(), boundPosition.getZ()) instanceof IInventory; } public ISidedInventory getSided(){ diff --git a/src/main/java/ellpeck/actuallyadditions/util/WorldPos.java b/src/main/java/ellpeck/actuallyadditions/util/WorldPos.java new file mode 100644 index 000000000..07e2eaf6e --- /dev/null +++ b/src/main/java/ellpeck/actuallyadditions/util/WorldPos.java @@ -0,0 +1,38 @@ +package ellpeck.actuallyadditions.util; + +import net.minecraft.world.World; + +public class WorldPos{ + + private int x; + private int y; + private int z; + private World world; + + public WorldPos(World world, int x, int y, int z){ + this.world = world; + this.x = x; + this.y = y; + this.z = z; + } + + public WorldPos(int x, int y, int z){ + this(null, x, y, z); + } + + public int getX(){ + return this.x; + } + + public int getY(){ + return this.y; + } + + public int getZ(){ + return this.z; + } + + public World getWorld(){ + return this.world; + } +} diff --git a/src/main/java/ellpeck/actuallyadditions/util/WorldUtil.java b/src/main/java/ellpeck/actuallyadditions/util/WorldUtil.java index 553edf0c4..b9e6840ba 100644 --- a/src/main/java/ellpeck/actuallyadditions/util/WorldUtil.java +++ b/src/main/java/ellpeck/actuallyadditions/util/WorldUtil.java @@ -8,7 +8,6 @@ import net.minecraft.entity.item.EntityItem; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ChunkCoordinates; import net.minecraft.world.World; import net.minecraft.world.WorldServer; import net.minecraftforge.common.IPlantable; @@ -20,9 +19,9 @@ import java.util.ArrayList; public class WorldUtil{ - public static ChunkCoordinates getCoordsFromSide(ForgeDirection side, int x, int y, int z){ + public static WorldPos getCoordsFromSide(ForgeDirection side, int x, int y, int z){ if(side == ForgeDirection.UNKNOWN) return null; - return new ChunkCoordinates(x+side.offsetX, y+side.offsetY, z+side.offsetZ); + return new WorldPos(x+side.offsetX, y+side.offsetY, z+side.offsetZ); } public static void breakBlockAtSide(ForgeDirection side, World world, int x, int y, int z){ @@ -30,9 +29,9 @@ public class WorldUtil{ world.setBlockToAir(x, y, z); return; } - ChunkCoordinates c = getCoordsFromSide(side, x, y, z); + WorldPos c = getCoordsFromSide(side, x, y, z); if(c != null){ - world.setBlockToAir(c.posX, c.posY, c.posZ); + world.setBlockToAir(c.getX(), c.getY(), c.getZ()); } } @@ -104,9 +103,9 @@ public class WorldUtil{ public static boolean dropItemAtSide(ForgeDirection side, World world, int x, int y, int z, ItemStack stack){ if(side != ForgeDirection.UNKNOWN){ - ChunkCoordinates coords = getCoordsFromSide(side, x, y, z); + WorldPos coords = getCoordsFromSide(side, x, y, z); if(coords != null){ - EntityItem item = new EntityItem(world, coords.posX+0.5, coords.posY+0.5, coords.posZ+0.5, stack); + EntityItem item = new EntityItem(world, coords.getX()+0.5, coords.getY()+0.5, coords.getZ()+0.5, stack); item.motionX = 0; item.motionY = 0; item.motionZ = 0; @@ -117,9 +116,9 @@ public class WorldUtil{ } public static TileEntity getTileEntityFromSide(ForgeDirection side, World world, int x, int y, int z){ - ChunkCoordinates c = getCoordsFromSide(side, x, y, z); + WorldPos c = getCoordsFromSide(side, x, y, z); if(c != null){ - return world.getTileEntity(c.posX, c.posY, c.posZ); + return world.getTileEntity(c.getX(), c.getY(), c.getZ()); } return null; }