Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class MultiBlockBase extends TileEntity implements ITickable {
- boolean isComplete = false;
- public void onBlockAdded() {
- int counter = 0;
- int safetyCounter = 0;
- int minX = -1;
- int maxX = 1;
- int minY = 0;
- int maxY = 2;
- int minZ = 1;
- int maxZ = 3;
- int absMinX = Math.abs(minX);
- int absMaxX = Math.abs(maxX);
- int absMinY = Math.abs(minY);
- int absMaxY = Math.abs(maxY);
- int absMinZ = Math.abs(minZ);
- int absMaxZ = Math.abs(maxZ);
- BlockPos mathCenterPos = new BlockPos((absMaxX - absMinX) / 2, (absMaxY - absMinY) / 2,
- (absMaxZ + absMinZ) / 2);
- BlockPos centerPos = pos.add(mathCenterPos); // center pos of the given cube
- BlockPos aboveCenterPos = centerPos.add(0, 1, 0); // 1 block above the center pos
- for (int offsetZ = minZ; offsetZ <= maxZ; offsetZ++) {
- for (int offsetX = minX; offsetX <= maxX; offsetX++) {
- for (int offsetY = minY; offsetY <= maxY; offsetY++) {
- safetyCounter++;
- if (worldObj.getBlockState(pos.add(offsetX, offsetY, offsetZ)) == Blocks.brick_block.getDefaultState()) {
- counter++;
- }
- if (safetyCounter == 27) {
- if (counter == 25 && worldObj.getBlockState(centerPos) == Blocks.glass.getDefaultState()
- && worldObj.getBlockState(aboveCenterPos) == Blocks.glass.getDefaultState()) {
- isComplete = true;
- System.out.println(isComplete);
- } else {
- isComplete = false;
- System.out.println(counter);
- }
- }
- }
- }
- }
- }
- @Override
- public void update() {
- onBlockAdded();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment