package org.halvors.electrometrics.common.util.location;
import net.minecraft.block.Block;
import net.minecraft.entity.Entity;
import net.minecraft.world.IBlockAccess;
import org.halvors.electrometrics.common.tile.TileEntity;
public class Location {
private final int dimensionId;
private final int x;
private final int y;
private final int z;
public Location(int dimensionId, int x, int y, int z) {
this.dimensionId = dimensionId;
this.x = x;
this.y = y;
this.z = z;
}
public Location(Entity entity) {
this.dimensionId = entity.dimension;
this.x = (int) entity.posX;
this.y = (int) entity.posY;
this.z = (int) entity.posZ;
}
public Location(TileEntity tileEntity) {
this.dimensionId = tileEntity.getWorld().provider.dimensionId;
this.x = tileEntity.xCoord;
this.y = tileEntity.yCoord;
this.z = tileEntity.zCoord;
}
public int getDimensionId() {
return dimensionId;
}
public int getX() {
return x;
}
public int getY() {
return y;
}
public int getZ() {
return z;
}
public Block getBlock(IBlockAccess world) {
return world.getBlock(x, y, z);
}
public TileEntity getTileEntity(IBlockAccess world) {
return TileEntity.getTileEntity(world, x, y, z);
}
@Override
public String toString() {
return x + ", " + y + ", " + z + " in dimension " + dimensionId;
}
}