@Override public Block setY(int y) { SpoutBlock sb = this.clone(); sb.y = y; sb.chunk = null; return sb; }
@Override public Block setZ(int z) { SpoutBlock sb = this.clone(); sb.z = z; sb.chunk = null; return sb; }
@Override public Block setX(int x) { SpoutBlock sb = this.clone(); sb.x = x; sb.chunk = null; return sb; }
@Override public Block translate(int dx, int dy, int dz) { SpoutBlock sb = this.clone(); sb.x += dx; sb.y += dy; sb.z += dz; sb.chunk = null; return sb; }
@Override public Block setSource(Source source) { SpoutBlock block = this.clone(); block.source = source == null ? block.world : source; return block; }