    001    package net.minecraft.block;
    002
    003    import net.minecraft.dispenser.IBlockSource;
    004    import net.minecraft.tileentity.TileEntity;
    005    import net.minecraft.world.World;
    006
    007    public class BlockSourceImpl implements IBlockSource
    008    {
    009        private final World worldObj;
    010        private final int xPos;
    011        private final int yPos;
    012        private final int zPos;
    013
    014        public BlockSourceImpl(World par1World, int par2, int par3, int par4)
    015        {
    016            this.worldObj = par1World;
    017            this.xPos = par2;
    018            this.yPos = par3;
    019            this.zPos = par4;
    020        }
    021
    022        public World getWorld()
    023        {
    024            return this.worldObj;
    025        }
    026
    027        public double getX()
    028        {
    029            return (double)this.xPos + 0.5D;
    030        }
    031
    032        public double getY()
    033        {
    034            return (double)this.yPos + 0.5D;
    035        }
    036
    037        public double getZ()
    038        {
    039            return (double)this.zPos + 0.5D;
    040        }
    041
    042        public int getXInt()
    043        {
    044            return this.xPos;
    045        }
    046
    047        public int getYInt()
    048        {
    049            return this.yPos;
    050        }
    051
    052        public int getZInt()
    053        {
    054            return this.zPos;
    055        }
    056
    057        public int func_82620_h()
    058        {
    059            return this.worldObj.getBlockMetadata(this.xPos, this.yPos, this.zPos);
    060        }
    061
    062        public TileEntity func_82619_j()
    063        {
    064            return this.worldObj.getBlockTileEntity(this.xPos, this.yPos, this.zPos);
    065        }
    066    }