public boolean contains(BlockPos pos) { BlockPos from = cluster.getFrom(); if (pos.getX() < from.getX() || pos.getY() < from.getY() || pos.getZ() < from.getZ()) { return false; } BlockPos to = cluster.getTo(); if (pos.getX() >= to.getX() || pos.getY() >= to.getY() || pos.getZ() >= to.getZ()) { return false; } return true; }
@Override public boolean isSideSolid(BlockPos pos, EnumFacing side, boolean _default) { return contains(pos) ? cluster.getWorld().isSideSolid(pos, side, _default) : _default; }
@Override public WorldType getWorldType() { return cluster.getWorld().getWorldType(); }
@Override public int getStrongPower(BlockPos pos, EnumFacing direction) { return contains(pos) ? cluster.getWorld().getStrongPower(pos, direction) : 0; }
@Override public Biome getBiomeGenForCoords(BlockPos pos) { return cluster.getWorld().getBiomeGenForCoords(pos); // no idea what this does or what to return }
@Override public boolean isAirBlock(BlockPos pos) { return contains(pos) ? cluster.getWorld().isAirBlock(pos) : true; }
@Override public IBlockState getBlockState(BlockPos pos) { return contains(pos) ? cluster.getWorld().getBlockState(pos) : Blocks.AIR.getDefaultState(); }
@Override public int getCombinedLight(BlockPos pos, int lightValue) { return contains(pos) ? cluster.getWorld().getCombinedLight(pos, lightValue) : 200; }
@Override public TileEntity getTileEntity(BlockPos pos) { return contains(pos) ? cluster.getWorld().getTileEntity(pos) : null; }