コード例 #1
0
  protected void setBlockMode(World world, int x, int y, int z) {
    if (world.isRemote) return;

    TileEntity ent = world.getTileEntity(x, y, z);
    int habCount = 0;

    if (ent instanceof TileEntityFlickerHabitat) {
      TileEntityFlickerHabitat hab = (TileEntityFlickerHabitat) ent;
      for (ForgeDirection direction : ForgeDirection.VALID_DIRECTIONS) {
        Block block =
            world.getBlock(x + direction.offsetX, y + direction.offsetY, z + direction.offsetZ);
        TileEntity te =
            world.getTileEntity(
                x + direction.offsetX, y + direction.offsetY, z + direction.offsetZ);
        if (block == BlocksCommonProxy.elementalAttuner
            && te != null
            && te instanceof TileEntityFlickerHabitat) {
          TileEntityFlickerHabitat foundHab = (TileEntityFlickerHabitat) te;
          if (foundHab.isUpgrade() == false) {
            habCount++;
            if (habCount == 1) {
              hab.setUpgrade(true, direction);
            } else {
              world.func_147480_a(x, y, z, true);
            }
          } else {
            world.func_147480_a(x, y, z, true);
          }
        }
      }
    }
  }