protected boolean setHive(World world, int x, int y, int z, Hive hive) {
    Block hiveBlock = hive.getHiveBlock();
    boolean placed =
        world.setBlock(x, y, z, hiveBlock, hive.getHiveMeta(), Defaults.FLAG_BLOCK_SYNCH);
    if (!placed) {
      return false;
    }

    Block placedBlock = world.getBlock(x, y, z);
    if (!Block.isEqualTo(hiveBlock, placedBlock)) {
      return false;
    }

    hiveBlock.onBlockAdded(world, x, y, z);
    world.markBlockForUpdate(x, y, z);

    if (!Config.generateBeehivesDebug) {
      hive.postGen(world, x, y, z);
    }
    return true;
  }