public static void registerVillageComponents() {
   try {
     MapGenStructureIO.func_143031_a(ComponentVillageBeeHouse.class, "Forestry:BeeHouse");
   } catch (Throwable e) {
     Proxies.log.severe("Failed to register village beehouse.");
   }
 }
  private void func_143027_a(World world) {
    if (this.itemData == null) {
      this.itemData = world.loadItemData(MapGenStructureData.class, this.getStructureName());

      if (this.itemData == null) {
        this.itemData = new MapGenStructureData(this.getStructureName());
        world.setItemData(this.getStructureName(), this.itemData);
      } else {
        NBTTagCompound var2 = this.itemData.getTag();

        for (String var4 : var2.getKeySet()) {
          NBTBase var5 = var2.getTag(var4);

          if (var5.getType() == 10) {
            NBTTagCompound var6 = (NBTTagCompound) var5;

            if (var6.hasKey("ChunkX") && var6.hasKey("ChunkZ")) {
              int x = var6.getInteger("ChunkX");
              int z = var6.getInteger("ChunkZ");
              StructureStart var9 = MapGenStructureIO.func_143035_a(var6);

              if (var9 != null) {
                this.structureMap.put(ChunkPos.toLong(x, z), var9);
              }
            }
          }
        }
      }
    }
  }
 public static void func_143048_a() {
   MapGenStructureIO.func_143031_a(ComponentMineshaftCorridor.class, "MSCorridor");
   MapGenStructureIO.func_143031_a(ComponentMineshaftCross.class, "MSCrossing");
   MapGenStructureIO.func_143031_a(ComponentMineshaftRoom.class, "MSRoom");
   MapGenStructureIO.func_143031_a(ComponentMineshaftStairs.class, "MSStairs");
 }