Program: 165904
Project: 165904
Buggy source:
/** 
 * This initializes all dimlets based on all loaded mods.
 */
private static void init(World world,Configuration cfg,boolean master){
  clean();
  DimletMapping mapping=DimletMapping.getDimletMapping(world);
  File modConfigDir=CommonProxy.modConfigDir;
  readDimletsJson();
  if (master) {
    readUserBlacklist(cfg);
  }
  updateLastId(cfg,mapping,master);
  initControllerItem(cfg,"String_Node_Str",ControllerType.CONTROLLER_DEFAULT,mapping,master);
  initControllerItem(cfg,"String_Node_Str",ControllerType.CONTROLLER_SINGLE,mapping,master);
  initControllerItem(cfg,"String_Node_Str",ControllerType.CONTROLLER_CHECKERBOARD,mapping,master);
  initControllerItem(cfg,"String_Node_Str",ControllerType.CONTROLLER_COLD,mapping,master);
  initControllerItem(cfg,"String_Node_Str",ControllerType.CONTROLLER_MEDIUM,mapping,master);
  initControllerItem(cfg,"String_Node_Str",ControllerType.CONTROLLER_WARM,mapping,master);
  initControllerItem(cfg,"String_Node_Str",ControllerType.CONTROLLER_DRY,mapping,master);
  initControllerItem(cfg,"String_Node_Str",ControllerType.CONTROLLER_WET,mapping,master);
  initControllerItem(cfg,"String_Node_Str",ControllerType.CONTROLLER_FIELDS,mapping,master);
  initControllerItem(cfg,"String_Node_Str",ControllerType.CONTROLLER_MOUNTAINS,mapping,master);
  initControllerItem(cfg,"String_Node_Str",ControllerType.CONTROLLER_FILTERED,mapping,master);
  initControllerItem(cfg,"String_Node_Str",ControllerType.CONTROLLER_MAGICAL,mapping,master);
  initControllerItem(cfg,"String_Node_Str",ControllerType.CONTROLLER_FOREST,mapping,master);
  BiomeControllerMapping.setupControllerBiomes();
  DimletKey keyControllerDefault=new DimletKey(DimletType.DIMLET_CONTROLLER,"String_Node_Str");
  addExtraInformation(keyControllerDefault,"String_Node_Str","String_Node_Str");
  initDigitItem(cfg,0,mapping,master);
  initDigitItem(cfg,1,mapping,master);
  initDigitItem(cfg,2,mapping,master);
  initDigitItem(cfg,3,mapping,master);
  initDigitItem(cfg,4,mapping,master);
  initDigitItem(cfg,5,mapping,master);
  initDigitItem(cfg,6,mapping,master);
  initDigitItem(cfg,7,mapping,master);
  initDigitItem(cfg,8,mapping,master);
  initDigitItem(cfg,9,mapping,master);
  DimletKey keyMaterialNone=new DimletKey(DimletType.DIMLET_MATERIAL,"String_Node_Str");
  registerDimlet(cfg,keyMaterialNone,mapping,master,null,null);
  idToDisplayName.put(keyMaterialNone,DimletType.DIMLET_MATERIAL.dimletType.getName() + "String_Node_Str");
  DimletObjectMapping.idToBlock.put(keyMaterialNone,null);
  addExtraInformation(keyMaterialNone,"String_Node_Str","String_Node_Str");
  initMaterialDimlets(cfg,mapping,master);
  initFoliageItem(cfg,mapping,master);
  DimletKey keyLiquidNone=new DimletKey(DimletType.DIMLET_LIQUID,"String_Node_Str");
  registerDimlet(cfg,keyLiquidNone,mapping,master,null,null);
  DimletObjectMapping.idToFluid.put(keyLiquidNone,null);
  idToDisplayName.put(keyLiquidNone,DimletType.DIMLET_LIQUID.dimletType.getName() + "String_Node_Str");
  addExtraInformation(keyLiquidNone,"String_Node_Str","String_Node_Str");
  initSpecialItem(cfg,"String_Node_Str",SpecialType.SPECIAL_PEACEFUL,mapping,master);
  addExtraInformation(new DimletKey(DimletType.DIMLET_SPECIAL,"String_Node_Str"),"String_Node_Str","String_Node_Str");
  initSpecialItem(cfg,"String_Node_Str",SpecialType.SPECIAL_EFFICIENCY,mapping,master);
  addExtraInformation(new DimletKey(DimletType.DIMLET_SPECIAL,"String_Node_Str"),"String_Node_Str","String_Node_Str","String_Node_Str");
  initSpecialItem(cfg,"String_Node_Str",SpecialType.SPECIAL_EFFICIENCY_LOW,mapping,master);
  addExtraInformation(new DimletKey(DimletType.DIMLET_SPECIAL,"String_Node_Str"),"String_Node_Str","String_Node_Str","String_Node_Str");
  initSpecialItem(cfg,"String_Node_Str",SpecialType.SPECIAL_SHELTER,mapping,master);
  addExtraInformation(new DimletKey(DimletType.DIMLET_SPECIAL,"String_Node_Str"),"String_Node_Str","String_Node_Str");
  initSpecialItem(cfg,"String_Node_Str",SpecialType.SPECIAL_SEED,mapping,master);
  addExtraInformation(new DimletKey(DimletType.DIMLET_SPECIAL,"String_Node_Str"),"String_Node_Str","String_Node_Str","String_Node_Str");
  initSpecialItem(cfg,"String_Node_Str",SpecialType.SPECIAL_SPAWN,mapping,master);
  addExtraInformation(new DimletKey(DimletType.DIMLET_SPECIAL,"String_Node_Str"),"String_Node_Str","String_Node_Str","String_Node_Str");
  initSpecialItem(cfg,"String_Node_Str",SpecialType.SPECIAL_NOANIMALS,mapping,master);
  addExtraInformation(new DimletKey(DimletType.DIMLET_SPECIAL,"String_Node_Str"),"String_Node_Str","String_Node_Str");
  initMobItem(cfg,"String_Node_Str",mapping,master);
  for (  Map.Entry<String,MobDescriptor> entry : MobConfiguration.mobClasses.entrySet()) {
    Class<? extends EntityLiving> entityClass=entry.getValue().getEntityClass();
    if (entityClass != null) {
      String name=entry.getKey();
      if (name != null && !name.isEmpty()) {
        initMobItem(cfg,name,mapping,master);
      }
    }
  }
  DimletKey keyDefaultMobs=new DimletKey(DimletType.DIMLET_MOBS,"String_Node_Str");
  addExtraInformation(keyDefaultMobs,"String_Node_Str","String_Node_Str");
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().skyType(SkyType.SKY_NORMAL).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().sunBrightnessFactor(1.0f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().sunBrightnessFactor(1.5f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().sunBrightnessFactor(0.4f).skyColorFactor(0.6f,0.6f,0.6f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().starBrightnessFactor(1.0f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().starBrightnessFactor(1.5f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().starBrightnessFactor(0.4f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().skyColorFactor(1.0f,0.2f,0.2f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().skyColorFactor(0.6f,0.0f,0.0f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().skyColorFactor(0.2f,1.0f,0.2f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().skyColorFactor(0f,0.6f,0f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().skyColorFactor(0.2f,0.2f,1.0f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().skyColorFactor(0.0f,0.0f,0.6f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().skyColorFactor(1.0f,1.0f,0.2f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().skyColorFactor(0.2f,1.0f,1.0f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().skyColorFactor(0.0f,0.6f,0.6f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().skyColorFactor(1.0f,0.2f,1.0f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().skyColorFactor(0.6f,0,0.6f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().skyColorFactor(0.0f,0.0f,0.0f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().skyColorFactor(1.0f,0.6f,0.0f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().fogColorFactor(1.0f,1.0f,1.0f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().fogColorFactor(0.0f,0.0f,0.0f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().fogColorFactor(1.0f,0.2f,0.2f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().fogColorFactor(0.2f,1.0f,0.2f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().fogColorFactor(0.2f,0.2f,1.0f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().fogColorFactor(1.0f,1.0f,0.2f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().fogColorFactor(0.2f,1.0f,1.0f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().fogColorFactor(1.0f,0.2f,1.0f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().skyType(SkyType.SKY_ENDER).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().skyType(SkyType.SKY_INFERNO).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().skyType(SkyType.SKY_STARS1).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().skyType(SkyType.SKY_STARS2).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().addBody(CelestialBodyType.BODY_NONE).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().addBody(CelestialBodyType.BODY_SUN).build(),true,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().addBody(CelestialBodyType.BODY_LARGESUN).build(),true,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().addBody(CelestialBodyType.BODY_SMALLSUN).build(),true,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().addBody(CelestialBodyType.BODY_REDSUN).build(),true,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().addBody(CelestialBodyType.BODY_MOON).build(),true,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().addBody(CelestialBodyType.BODY_LARGEMOON).build(),true,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().addBody(CelestialBodyType.BODY_SMALLMOON).build(),true,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().addBody(CelestialBodyType.BODY_REDMOON).build(),true,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().addBody(CelestialBodyType.BODY_PLANET).build(),true,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().addBody(CelestialBodyType.BODY_LARGEPLANET).build(),true,mapping,master);
  DimletKey keySkyNormal=new DimletKey(DimletType.DIMLET_SKY,"String_Node_Str");
  DimletKey keySkyNormalDay=new DimletKey(DimletType.DIMLET_SKY,"String_Node_Str");
  DimletKey keySkyNormalNight=new DimletKey(DimletType.DIMLET_SKY,"String_Node_Str");
  addExtraInformation(keySkyNormal,"String_Node_Str","String_Node_Str");
  addExtraInformation(keySkyNormalDay,"String_Node_Str");
  addExtraInformation(keySkyNormalNight,"String_Node_Str");
  initWeatherItem(cfg,"String_Node_Str",new WeatherDescriptor.Builder().build(),mapping,master);
  initWeatherItem(cfg,"String_Node_Str",new WeatherDescriptor.Builder().weatherType(WeatherType.WEATHER_NORAIN).build(),mapping,master);
  initWeatherItem(cfg,"String_Node_Str",new WeatherDescriptor.Builder().weatherType(WeatherType.WEATHER_LIGHTRAIN).build(),mapping,master);
  initWeatherItem(cfg,"String_Node_Str",new WeatherDescriptor.Builder().weatherType(WeatherType.WEATHER_HARDRAIN).build(),mapping,master);
  initWeatherItem(cfg,"String_Node_Str",new WeatherDescriptor.Builder().weatherType(WeatherType.WEATHER_NOTHUNDER).build(),mapping,master);
  initWeatherItem(cfg,"String_Node_Str",new WeatherDescriptor.Builder().weatherType(WeatherType.WEATHER_LIGHTTHUNDER).build(),mapping,master);
  initWeatherItem(cfg,"String_Node_Str",new WeatherDescriptor.Builder().weatherType(WeatherType.WEATHER_HARDTHUNDER).build(),mapping,master);
  addExtraInformation(new DimletKey(DimletType.DIMLET_WEATHER,"String_Node_Str"),"String_Node_Str");
  initStructureItem(cfg,StructureType.STRUCTURE_NONE.getName(),StructureType.STRUCTURE_NONE,mapping,master);
  initStructureItem(cfg,StructureType.STRUCTURE_VILLAGE.getName(),StructureType.STRUCTURE_VILLAGE,mapping,master);
  initStructureItem(cfg,StructureType.STRUCTURE_STRONGHOLD.getName(),StructureType.STRUCTURE_STRONGHOLD,mapping,master);
  initStructureItem(cfg,StructureType.STRUCTURE_DUNGEON.getName(),StructureType.STRUCTURE_DUNGEON,mapping,master);
  initStructureItem(cfg,StructureType.STRUCTURE_FORTRESS.getName(),StructureType.STRUCTURE_FORTRESS,mapping,master);
  initStructureItem(cfg,StructureType.STRUCTURE_MINESHAFT.getName(),StructureType.STRUCTURE_MINESHAFT,mapping,master);
  initStructureItem(cfg,StructureType.STRUCTURE_SCATTERED.getName(),StructureType.STRUCTURE_SCATTERED,mapping,master);
  DimletKey keyStructureNone=new DimletKey(DimletType.DIMLET_STRUCTURE,"String_Node_Str");
  addExtraInformation(keyStructureNone,"String_Node_Str","String_Node_Str");
  initRecurrentComplexStructures(cfg,mapping,master);
  initTerrainItem(cfg,"String_Node_Str",TerrainType.TERRAIN_VOID,mapping,master);
  initTerrainItem(cfg,"String_Node_Str",TerrainType.TERRAIN_FLAT,mapping,master);
  initTerrainItem(cfg,"String_Node_Str",TerrainType.TERRAIN_AMPLIFIED,mapping,master);
  initTerrainItem(cfg,"String_Node_Str",TerrainType.TERRAIN_NORMAL,mapping,master);
  initTerrainItem(cfg,"String_Node_Str",TerrainType.TERRAIN_CAVERN,mapping,master);
  initTerrainItem(cfg,"String_Node_Str",TerrainType.TERRAIN_ISLAND,mapping,master);
  initTerrainItem(cfg,"String_Node_Str",TerrainType.TERRAIN_ISLANDS,mapping,master);
  initTerrainItem(cfg,"String_Node_Str",TerrainType.TERRAIN_CHAOTIC,mapping,master);
  initTerrainItem(cfg,"String_Node_Str",TerrainType.TERRAIN_PLATEAUS,mapping,master);
  initTerrainItem(cfg,"String_Node_Str",TerrainType.TERRAIN_GRID,mapping,master);
  initTerrainItem(cfg,"String_Node_Str",TerrainType.TERRAIN_LOW_CAVERN,mapping,master);
  initTerrainItem(cfg,"String_Node_Str",TerrainType.TERRAIN_FLOODED_CAVERN,mapping,master);
  initTerrainItem(cfg,"String_Node_Str",TerrainType.TERRAIN_NEARLANDS,mapping,master);
  initTerrainItem(cfg,"String_Node_Str",TerrainType.TERRAIN_LIQUID,mapping,master);
  initTerrainItem(cfg,"String_Node_Str",TerrainType.TERRAIN_SOLID,mapping,master);
  initTerrainItem(cfg,"String_Node_Str",TerrainType.TERRAIN_WAVES,mapping,master);
  initTerrainItem(cfg,"String_Node_Str",TerrainType.TERRAIN_FILLEDWAVES,mapping,master);
  initTerrainItem(cfg,"String_Node_Str",TerrainType.TERRAIN_ROUGH,mapping,master);
  initFeatureItem(cfg,"String_Node_Str",FeatureType.FEATURE_NONE,mapping,master);
  initFeatureItem(cfg,"String_Node_Str",FeatureType.FEATURE_CAVES,mapping,master);
  initFeatureItem(cfg,"String_Node_Str",FeatureType.FEATURE_RAVINES,mapping,master);
  initFeatureItem(cfg,"String_Node_Str",FeatureType.FEATURE_ORBS,mapping,master);
  initFeatureItem(cfg,"String_Node_Str",FeatureType.FEATURE_OREGEN,mapping,master);
  initFeatureItem(cfg,"String_Node_Str",FeatureType.FEATURE_LAKES,mapping,master);
  initFeatureItem(cfg,"String_Node_Str",FeatureType.FEATURE_TENDRILS,mapping,master);
  initFeatureItem(cfg,"String_Node_Str",FeatureType.FEATURE_CANYONS,mapping,master);
  initFeatureItem(cfg,"String_Node_Str",FeatureType.FEATURE_MAZE,mapping,master);
  initFeatureItem(cfg,"String_Node_Str",FeatureType.FEATURE_LIQUIDORBS,mapping,master);
  initFeatureItem(cfg,"String_Node_Str",FeatureType.FEATURE_SHALLOW_OCEAN,mapping,master);
  initFeatureItem(cfg,"String_Node_Str",FeatureType.FEATURE_VOLCANOES,mapping,master);
  initFeatureItem(cfg,"String_Node_Str",FeatureType.FEATURE_HUGEORBS,mapping,master);
  initFeatureItem(cfg,"String_Node_Str",FeatureType.FEATURE_HUGELIQUIDORBS,mapping,master);
  initFeatureItem(cfg,"String_Node_Str",FeatureType.FEATURE_NODIMLETBUILDINGS,mapping,master);
  initFeatureItem(cfg,"String_Node_Str",FeatureType.FEATURE_PYRAMIDS,mapping,master);
  initFeatureItem(cfg,"String_Node_Str",FeatureType.FEATURE_CLEAN,mapping,master);
  addExtraInformation(new DimletKey(DimletType.DIMLET_FEATURE,"String_Node_Str"),"String_Node_Str","String_Node_Str");
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_NONE,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_POISON,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_POISON2,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_POISON3,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_REGENERATION,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_REGENERATION2,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_REGENERATION3,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_MOVESLOWDOWN,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_MOVESLOWDOWN2,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_MOVESLOWDOWN3,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_MOVESLOWDOWN4,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_MOVESPEED,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_MOVESPEED2,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_MOVESPEED3,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_DIGSLOWDOWN,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_DIGSLOWDOWN2,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_DIGSLOWDOWN3,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_DIGSLOWDOWN4,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_DIGSPEED,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_DIGSPEED2,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_DIGSPEED3,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_DAMAGEBOOST,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_DAMAGEBOOST2,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_DAMAGEBOOST3,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_INSTANTHEALTH,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_HARM,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_JUMP,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_JUMP2,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_JUMP3,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_CONFUSION,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_RESISTANCE,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_RESISTANCE2,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_RESISTANCE3,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_FIRERESISTANCE,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_WATERBREATHING,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_INVISIBILITY,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_BLINDNESS,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_NIGHTVISION,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_HUNGER,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_HUNGER2,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_HUNGER3,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_WEAKNESS,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_WEAKNESS2,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_WEAKNESS3,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_WITHER,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_WITHER2,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_WITHER3,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_HEALTHBOOST,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_HEALTHBOOST2,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_HEALTHBOOST3,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_ABSORPTION,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_ABSORPTION2,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_ABSORPTION3,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_SATURATION,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_SATURATION2,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_SATURATION3,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_FLIGHT,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_STRONGMOBS,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_BRUTALMOBS,mapping,master);
  addExtraInformation(new DimletKey(DimletType.DIMLET_EFFECT,"String_Node_Str"),"String_Node_Str","String_Node_Str");
  initTimeItem(cfg,"String_Node_Str",null,null,mapping,master);
  initTimeItem(cfg,"String_Node_Str",0.0f,null,mapping,master);
  initTimeItem(cfg,"String_Node_Str",0.5f,null,mapping,master);
  initTimeItem(cfg,"String_Node_Str",0.75f,null,mapping,master);
  initTimeItem(cfg,"String_Node_Str",0.2f,null,mapping,master);
  initTimeItem(cfg,"String_Node_Str",null,2.0f,mapping,master);
  initTimeItem(cfg,"String_Node_Str",null,0.5f,mapping,master);
  DimletKey keyTimeNormal=new DimletKey(DimletType.DIMLET_TIME,"String_Node_Str");
  addExtraInformation(keyTimeNormal,"String_Node_Str","String_Node_Str");
  initBiomeItems(cfg,mapping,master);
  initLiquidItems(cfg,mapping,master);
  initPatreonItem(cfg,"String_Node_Str",mapping,master,"String_Node_Str");
  initPatreonItem(cfg,"String_Node_Str",mapping,master,"String_Node_Str");
  initPatreonItem(cfg,"String_Node_Str",mapping,master,"String_Node_Str");
  initPatreonItem(cfg,"String_Node_Str",mapping,master,"String_Node_Str");
  initPatreonItem(cfg,"String_Node_Str",mapping,master,"String_Node_Str");
  initPatreonItem(cfg,"String_Node_Str",mapping,master,"String_Node_Str");
  initPatreonItem(cfg,"String_Node_Str",mapping,master,"String_Node_Str");
  initPatreonItem(cfg,"String_Node_Str",mapping,master,"String_Node_Str");
  craftableDimlets.add(new DimletKey(DimletType.DIMLET_WEATHER,"String_Node_Str"));
  craftableDimlets.add(new DimletKey(DimletType.DIMLET_EFFECT,"String_Node_Str"));
  craftableDimlets.add(new DimletKey(DimletType.DIMLET_FEATURE,"String_Node_Str"));
  craftableDimlets.add(keyStructureNone);
  craftableDimlets.add(new DimletKey(DimletType.DIMLET_TERRAIN,"String_Node_Str"));
  craftableDimlets.add(new DimletKey(DimletType.DIMLET_TERRAIN,"String_Node_Str"));
  craftableDimlets.add(keyControllerDefault);
  craftableDimlets.add(new DimletKey(DimletType.DIMLET_CONTROLLER,"String_Node_Str"));
  craftableDimlets.add(keyMaterialNone);
  craftableDimlets.add(keyLiquidNone);
  craftableDimlets.add(keySkyNormal);
  craftableDimlets.add(keySkyNormalDay);
  craftableDimlets.add(keySkyNormalNight);
  craftableDimlets.add(keyDefaultMobs);
  craftableDimlets.add(keyTimeNormal);
  craftableDimlets.add(new DimletKey(DimletType.DIMLET_DIGIT,"String_Node_Str"));
  craftableDimlets.add(new DimletKey(DimletType.DIMLET_DIGIT,"String_Node_Str"));
  craftableDimlets.add(new DimletKey(DimletType.DIMLET_DIGIT,"String_Node_Str"));
  craftableDimlets.add(new DimletKey(DimletType.DIMLET_DIGIT,"String_Node_Str"));
  craftableDimlets.add(new DimletKey(DimletType.DIMLET_DIGIT,"String_Node_Str"));
  craftableDimlets.add(new DimletKey(DimletType.DIMLET_DIGIT,"String_Node_Str"));
  craftableDimlets.add(new DimletKey(DimletType.DIMLET_DIGIT,"String_Node_Str"));
  craftableDimlets.add(new DimletKey(DimletType.DIMLET_DIGIT,"String_Node_Str"));
  craftableDimlets.add(new DimletKey(DimletType.DIMLET_DIGIT,"String_Node_Str"));
  craftableDimlets.add(new DimletKey(DimletType.DIMLET_DIGIT,"String_Node_Str"));
  readUserDimlets(cfg,modConfigDir,mapping,master);
  DimletRandomizer.setupWeightedRandomList();
  setupChestLoot();
  mapping.save(world);
}

Fixed version (ground truth):
/** 
 * This initializes all dimlets based on all loaded mods.
 */
private static void init(World world,Configuration cfg,boolean master){
  clean();
  DimletMapping mapping=DimletMapping.getDimletMapping(world);
  File modConfigDir=CommonProxy.modConfigDir;
  readDimletsJson();
  if (master) {
    readUserBlacklist(cfg);
  }
  updateLastId(cfg,mapping,master);
  initControllerItem(cfg,"String_Node_Str",ControllerType.CONTROLLER_DEFAULT,mapping,master);
  initControllerItem(cfg,"String_Node_Str",ControllerType.CONTROLLER_SINGLE,mapping,master);
  initControllerItem(cfg,"String_Node_Str",ControllerType.CONTROLLER_CHECKERBOARD,mapping,master);
  initControllerItem(cfg,"String_Node_Str",ControllerType.CONTROLLER_COLD,mapping,master);
  initControllerItem(cfg,"String_Node_Str",ControllerType.CONTROLLER_MEDIUM,mapping,master);
  initControllerItem(cfg,"String_Node_Str",ControllerType.CONTROLLER_WARM,mapping,master);
  initControllerItem(cfg,"String_Node_Str",ControllerType.CONTROLLER_DRY,mapping,master);
  initControllerItem(cfg,"String_Node_Str",ControllerType.CONTROLLER_WET,mapping,master);
  initControllerItem(cfg,"String_Node_Str",ControllerType.CONTROLLER_FIELDS,mapping,master);
  initControllerItem(cfg,"String_Node_Str",ControllerType.CONTROLLER_MOUNTAINS,mapping,master);
  initControllerItem(cfg,"String_Node_Str",ControllerType.CONTROLLER_FILTERED,mapping,master);
  initControllerItem(cfg,"String_Node_Str",ControllerType.CONTROLLER_MAGICAL,mapping,master);
  initControllerItem(cfg,"String_Node_Str",ControllerType.CONTROLLER_FOREST,mapping,master);
  BiomeControllerMapping.setupControllerBiomes();
  DimletKey keyControllerDefault=new DimletKey(DimletType.DIMLET_CONTROLLER,"String_Node_Str");
  addExtraInformation(keyControllerDefault,"String_Node_Str","String_Node_Str");
  initDigitItem(cfg,0,mapping,master);
  initDigitItem(cfg,1,mapping,master);
  initDigitItem(cfg,2,mapping,master);
  initDigitItem(cfg,3,mapping,master);
  initDigitItem(cfg,4,mapping,master);
  initDigitItem(cfg,5,mapping,master);
  initDigitItem(cfg,6,mapping,master);
  initDigitItem(cfg,7,mapping,master);
  initDigitItem(cfg,8,mapping,master);
  initDigitItem(cfg,9,mapping,master);
  DimletKey keyMaterialNone=new DimletKey(DimletType.DIMLET_MATERIAL,"String_Node_Str");
  registerDimlet(cfg,keyMaterialNone,mapping,master,null,null);
  idToDisplayName.put(keyMaterialNone,DimletType.DIMLET_MATERIAL.dimletType.getName() + "String_Node_Str");
  DimletObjectMapping.idToBlock.put(keyMaterialNone,null);
  addExtraInformation(keyMaterialNone,"String_Node_Str","String_Node_Str");
  initMaterialDimlets(cfg,mapping,master);
  initFoliageItem(cfg,mapping,master);
  DimletKey keyLiquidNone=new DimletKey(DimletType.DIMLET_LIQUID,"String_Node_Str");
  registerDimlet(cfg,keyLiquidNone,mapping,master,null,null);
  DimletObjectMapping.idToFluid.put(keyLiquidNone,null);
  idToDisplayName.put(keyLiquidNone,DimletType.DIMLET_LIQUID.dimletType.getName() + "String_Node_Str");
  addExtraInformation(keyLiquidNone,"String_Node_Str","String_Node_Str");
  initSpecialItem(cfg,"String_Node_Str",SpecialType.SPECIAL_PEACEFUL,mapping,master);
  addExtraInformation(new DimletKey(DimletType.DIMLET_SPECIAL,"String_Node_Str"),"String_Node_Str","String_Node_Str");
  initSpecialItem(cfg,"String_Node_Str",SpecialType.SPECIAL_EFFICIENCY,mapping,master);
  addExtraInformation(new DimletKey(DimletType.DIMLET_SPECIAL,"String_Node_Str"),"String_Node_Str","String_Node_Str","String_Node_Str");
  initSpecialItem(cfg,"String_Node_Str",SpecialType.SPECIAL_EFFICIENCY_LOW,mapping,master);
  addExtraInformation(new DimletKey(DimletType.DIMLET_SPECIAL,"String_Node_Str"),"String_Node_Str","String_Node_Str","String_Node_Str");
  initSpecialItem(cfg,"String_Node_Str",SpecialType.SPECIAL_SHELTER,mapping,master);
  addExtraInformation(new DimletKey(DimletType.DIMLET_SPECIAL,"String_Node_Str"),"String_Node_Str","String_Node_Str");
  initSpecialItem(cfg,"String_Node_Str",SpecialType.SPECIAL_SEED,mapping,master);
  addExtraInformation(new DimletKey(DimletType.DIMLET_SPECIAL,"String_Node_Str"),"String_Node_Str","String_Node_Str","String_Node_Str");
  initSpecialItem(cfg,"String_Node_Str",SpecialType.SPECIAL_SPAWN,mapping,master);
  addExtraInformation(new DimletKey(DimletType.DIMLET_SPECIAL,"String_Node_Str"),"String_Node_Str","String_Node_Str","String_Node_Str");
  initSpecialItem(cfg,"String_Node_Str",SpecialType.SPECIAL_NOANIMALS,mapping,master);
  addExtraInformation(new DimletKey(DimletType.DIMLET_SPECIAL,"String_Node_Str"),"String_Node_Str","String_Node_Str");
  initMobItem(cfg,"String_Node_Str",mapping,master);
  for (  Map.Entry<String,MobDescriptor> entry : MobConfiguration.mobClasses.entrySet()) {
    Class<? extends EntityLiving> entityClass=entry.getValue().getEntityClass();
    if (entityClass != null) {
      String name=entry.getKey();
      if (name != null && !name.isEmpty()) {
        initMobItem(cfg,name,mapping,master);
      }
    }
  }
  DimletKey keyDefaultMobs=new DimletKey(DimletType.DIMLET_MOBS,"String_Node_Str");
  addExtraInformation(keyDefaultMobs,"String_Node_Str","String_Node_Str");
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().skyType(SkyType.SKY_NORMAL).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().sunBrightnessFactor(1.0f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().sunBrightnessFactor(1.5f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().sunBrightnessFactor(0.4f).skyColorFactor(0.6f,0.6f,0.6f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().starBrightnessFactor(1.0f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().starBrightnessFactor(1.5f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().starBrightnessFactor(0.4f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().skyColorFactor(1.0f,0.2f,0.2f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().skyColorFactor(0.6f,0.0f,0.0f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().skyColorFactor(0.2f,1.0f,0.2f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().skyColorFactor(0f,0.6f,0f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().skyColorFactor(0.2f,0.2f,1.0f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().skyColorFactor(0.0f,0.0f,0.6f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().skyColorFactor(1.0f,1.0f,0.2f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().skyColorFactor(0.2f,1.0f,1.0f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().skyColorFactor(0.0f,0.6f,0.6f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().skyColorFactor(1.0f,0.2f,1.0f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().skyColorFactor(0.6f,0,0.6f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().skyColorFactor(0.0f,0.0f,0.0f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().skyColorFactor(1.0f,0.6f,0.0f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().fogColorFactor(1.0f,1.0f,1.0f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().fogColorFactor(0.0f,0.0f,0.0f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().fogColorFactor(1.0f,0.2f,0.2f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().fogColorFactor(0.2f,1.0f,0.2f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().fogColorFactor(0.2f,0.2f,1.0f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().fogColorFactor(1.0f,1.0f,0.2f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().fogColorFactor(0.2f,1.0f,1.0f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().fogColorFactor(1.0f,0.2f,1.0f).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().skyType(SkyType.SKY_ENDER).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().skyType(SkyType.SKY_INFERNO).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().skyType(SkyType.SKY_STARS1).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().skyType(SkyType.SKY_STARS2).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().addBody(CelestialBodyType.BODY_NONE).build(),false,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().addBody(CelestialBodyType.BODY_SUN).build(),true,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().addBody(CelestialBodyType.BODY_LARGESUN).build(),true,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().addBody(CelestialBodyType.BODY_SMALLSUN).build(),true,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().addBody(CelestialBodyType.BODY_REDSUN).build(),true,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().addBody(CelestialBodyType.BODY_MOON).build(),true,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().addBody(CelestialBodyType.BODY_LARGEMOON).build(),true,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().addBody(CelestialBodyType.BODY_SMALLMOON).build(),true,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().addBody(CelestialBodyType.BODY_REDMOON).build(),true,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().addBody(CelestialBodyType.BODY_PLANET).build(),true,mapping,master);
  initSkyItem(cfg,"String_Node_Str",new SkyDescriptor.Builder().addBody(CelestialBodyType.BODY_LARGEPLANET).build(),true,mapping,master);
  DimletKey keySkyNormal=new DimletKey(DimletType.DIMLET_SKY,"String_Node_Str");
  DimletKey keySkyNormalDay=new DimletKey(DimletType.DIMLET_SKY,"String_Node_Str");
  DimletKey keySkyNormalNight=new DimletKey(DimletType.DIMLET_SKY,"String_Node_Str");
  addExtraInformation(keySkyNormal,"String_Node_Str","String_Node_Str");
  addExtraInformation(keySkyNormalDay,"String_Node_Str");
  addExtraInformation(keySkyNormalNight,"String_Node_Str");
  initWeatherItem(cfg,"String_Node_Str",new WeatherDescriptor.Builder().build(),mapping,master);
  initWeatherItem(cfg,"String_Node_Str",new WeatherDescriptor.Builder().weatherType(WeatherType.WEATHER_NORAIN).build(),mapping,master);
  initWeatherItem(cfg,"String_Node_Str",new WeatherDescriptor.Builder().weatherType(WeatherType.WEATHER_LIGHTRAIN).build(),mapping,master);
  initWeatherItem(cfg,"String_Node_Str",new WeatherDescriptor.Builder().weatherType(WeatherType.WEATHER_HARDRAIN).build(),mapping,master);
  initWeatherItem(cfg,"String_Node_Str",new WeatherDescriptor.Builder().weatherType(WeatherType.WEATHER_NOTHUNDER).build(),mapping,master);
  initWeatherItem(cfg,"String_Node_Str",new WeatherDescriptor.Builder().weatherType(WeatherType.WEATHER_LIGHTTHUNDER).build(),mapping,master);
  initWeatherItem(cfg,"String_Node_Str",new WeatherDescriptor.Builder().weatherType(WeatherType.WEATHER_HARDTHUNDER).build(),mapping,master);
  addExtraInformation(new DimletKey(DimletType.DIMLET_WEATHER,"String_Node_Str"),"String_Node_Str");
  initStructureItem(cfg,StructureType.STRUCTURE_NONE.getName(),StructureType.STRUCTURE_NONE,mapping,master);
  initStructureItem(cfg,StructureType.STRUCTURE_VILLAGE.getName(),StructureType.STRUCTURE_VILLAGE,mapping,master);
  initStructureItem(cfg,StructureType.STRUCTURE_STRONGHOLD.getName(),StructureType.STRUCTURE_STRONGHOLD,mapping,master);
  initStructureItem(cfg,StructureType.STRUCTURE_DUNGEON.getName(),StructureType.STRUCTURE_DUNGEON,mapping,master);
  initStructureItem(cfg,StructureType.STRUCTURE_FORTRESS.getName(),StructureType.STRUCTURE_FORTRESS,mapping,master);
  initStructureItem(cfg,StructureType.STRUCTURE_MINESHAFT.getName(),StructureType.STRUCTURE_MINESHAFT,mapping,master);
  initStructureItem(cfg,StructureType.STRUCTURE_SCATTERED.getName(),StructureType.STRUCTURE_SCATTERED,mapping,master);
  DimletKey keyStructureNone=new DimletKey(DimletType.DIMLET_STRUCTURE,"String_Node_Str");
  addExtraInformation(keyStructureNone,"String_Node_Str","String_Node_Str");
  initRecurrentComplexStructures(cfg,mapping,master);
  initTerrainItem(cfg,"String_Node_Str",TerrainType.TERRAIN_VOID,mapping,master);
  initTerrainItem(cfg,"String_Node_Str",TerrainType.TERRAIN_FLAT,mapping,master);
  initTerrainItem(cfg,"String_Node_Str",TerrainType.TERRAIN_AMPLIFIED,mapping,master);
  initTerrainItem(cfg,"String_Node_Str",TerrainType.TERRAIN_NORMAL,mapping,master);
  initTerrainItem(cfg,"String_Node_Str",TerrainType.TERRAIN_CAVERN,mapping,master);
  initTerrainItem(cfg,"String_Node_Str",TerrainType.TERRAIN_ISLAND,mapping,master);
  initTerrainItem(cfg,"String_Node_Str",TerrainType.TERRAIN_ISLANDS,mapping,master);
  initTerrainItem(cfg,"String_Node_Str",TerrainType.TERRAIN_CHAOTIC,mapping,master);
  initTerrainItem(cfg,"String_Node_Str",TerrainType.TERRAIN_PLATEAUS,mapping,master);
  initTerrainItem(cfg,"String_Node_Str",TerrainType.TERRAIN_GRID,mapping,master);
  initTerrainItem(cfg,"String_Node_Str",TerrainType.TERRAIN_LOW_CAVERN,mapping,master);
  initTerrainItem(cfg,"String_Node_Str",TerrainType.TERRAIN_FLOODED_CAVERN,mapping,master);
  initTerrainItem(cfg,"String_Node_Str",TerrainType.TERRAIN_NEARLANDS,mapping,master);
  initTerrainItem(cfg,"String_Node_Str",TerrainType.TERRAIN_LIQUID,mapping,master);
  initTerrainItem(cfg,"String_Node_Str",TerrainType.TERRAIN_SOLID,mapping,master);
  initTerrainItem(cfg,"String_Node_Str",TerrainType.TERRAIN_WAVES,mapping,master);
  initTerrainItem(cfg,"String_Node_Str",TerrainType.TERRAIN_FILLEDWAVES,mapping,master);
  initTerrainItem(cfg,"String_Node_Str",TerrainType.TERRAIN_ROUGH,mapping,master);
  initFeatureItem(cfg,"String_Node_Str",FeatureType.FEATURE_NONE,mapping,master);
  initFeatureItem(cfg,"String_Node_Str",FeatureType.FEATURE_CAVES,mapping,master);
  initFeatureItem(cfg,"String_Node_Str",FeatureType.FEATURE_RAVINES,mapping,master);
  initFeatureItem(cfg,"String_Node_Str",FeatureType.FEATURE_ORBS,mapping,master);
  initFeatureItem(cfg,"String_Node_Str",FeatureType.FEATURE_OREGEN,mapping,master);
  initFeatureItem(cfg,"String_Node_Str",FeatureType.FEATURE_LAKES,mapping,master);
  initFeatureItem(cfg,"String_Node_Str",FeatureType.FEATURE_TENDRILS,mapping,master);
  initFeatureItem(cfg,"String_Node_Str",FeatureType.FEATURE_CANYONS,mapping,master);
  initFeatureItem(cfg,"String_Node_Str",FeatureType.FEATURE_MAZE,mapping,master);
  initFeatureItem(cfg,"String_Node_Str",FeatureType.FEATURE_LIQUIDORBS,mapping,master);
  initFeatureItem(cfg,"String_Node_Str",FeatureType.FEATURE_SHALLOW_OCEAN,mapping,master);
  initFeatureItem(cfg,"String_Node_Str",FeatureType.FEATURE_VOLCANOES,mapping,master);
  initFeatureItem(cfg,"String_Node_Str",FeatureType.FEATURE_HUGEORBS,mapping,master);
  initFeatureItem(cfg,"String_Node_Str",FeatureType.FEATURE_HUGELIQUIDORBS,mapping,master);
  initFeatureItem(cfg,"String_Node_Str",FeatureType.FEATURE_NODIMLETBUILDINGS,mapping,master);
  initFeatureItem(cfg,"String_Node_Str",FeatureType.FEATURE_PYRAMIDS,mapping,master);
  initFeatureItem(cfg,"String_Node_Str",FeatureType.FEATURE_CLEAN,mapping,master);
  addExtraInformation(new DimletKey(DimletType.DIMLET_FEATURE,"String_Node_Str"),"String_Node_Str","String_Node_Str");
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_NONE,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_POISON,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_POISON2,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_POISON3,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_REGENERATION,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_REGENERATION2,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_REGENERATION3,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_MOVESLOWDOWN,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_MOVESLOWDOWN2,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_MOVESLOWDOWN3,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_MOVESLOWDOWN4,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_MOVESPEED,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_MOVESPEED2,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_MOVESPEED3,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_DIGSLOWDOWN,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_DIGSLOWDOWN2,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_DIGSLOWDOWN3,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_DIGSLOWDOWN4,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_DIGSPEED,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_DIGSPEED2,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_DIGSPEED3,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_DAMAGEBOOST,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_DAMAGEBOOST2,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_DAMAGEBOOST3,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_INSTANTHEALTH,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_HARM,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_JUMP,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_JUMP2,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_JUMP3,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_CONFUSION,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_RESISTANCE,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_RESISTANCE2,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_RESISTANCE3,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_FIRERESISTANCE,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_WATERBREATHING,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_INVISIBILITY,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_BLINDNESS,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_NIGHTVISION,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_HUNGER,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_HUNGER2,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_HUNGER3,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_WEAKNESS,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_WEAKNESS2,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_WEAKNESS3,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_WITHER,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_WITHER2,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_WITHER3,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_HEALTHBOOST,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_HEALTHBOOST2,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_HEALTHBOOST3,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_ABSORPTION,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_ABSORPTION2,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_ABSORPTION3,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_SATURATION,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_SATURATION2,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_SATURATION3,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_FLIGHT,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_STRONGMOBS,mapping,master);
  initEffectItem(cfg,"String_Node_Str",EffectType.EFFECT_BRUTALMOBS,mapping,master);
  addExtraInformation(new DimletKey(DimletType.DIMLET_EFFECT,"String_Node_Str"),"String_Node_Str","String_Node_Str");
  initTimeItem(cfg,"String_Node_Str",null,null,mapping,master);
  initTimeItem(cfg,"String_Node_Str",0.0f,null,mapping,master);
  initTimeItem(cfg,"String_Node_Str",0.5f,null,mapping,master);
  initTimeItem(cfg,"String_Node_Str",0.75f,null,mapping,master);
  initTimeItem(cfg,"String_Node_Str",0.2f,null,mapping,master);
  initTimeItem(cfg,"String_Node_Str",null,2.0f,mapping,master);
  initTimeItem(cfg,"String_Node_Str",null,0.5f,mapping,master);
  DimletKey keyTimeNormal=new DimletKey(DimletType.DIMLET_TIME,"String_Node_Str");
  addExtraInformation(keyTimeNormal,"String_Node_Str","String_Node_Str");
  initBiomeItems(cfg,mapping,master);
  initLiquidItems(cfg,mapping,master);
  initPatreonItem(cfg,"String_Node_Str",mapping,master,"String_Node_Str");
  initPatreonItem(cfg,"String_Node_Str",mapping,master,"String_Node_Str");
  initPatreonItem(cfg,"String_Node_Str",mapping,master,"String_Node_Str");
  initPatreonItem(cfg,"String_Node_Str",mapping,master,"String_Node_Str");
  initPatreonItem(cfg,"String_Node_Str",mapping,master,"String_Node_Str");
  initPatreonItem(cfg,"String_Node_Str",mapping,master,"String_Node_Str");
  initPatreonItem(cfg,"String_Node_Str",mapping,master,"String_Node_Str");
  initPatreonItem(cfg,"String_Node_Str",mapping,master,"String_Node_Str");
  craftableDimlets.add(new DimletKey(DimletType.DIMLET_WEATHER,"String_Node_Str"));
  craftableDimlets.add(new DimletKey(DimletType.DIMLET_EFFECT,"String_Node_Str"));
  craftableDimlets.add(new DimletKey(DimletType.DIMLET_FEATURE,"String_Node_Str"));
  craftableDimlets.add(keyStructureNone);
  craftableDimlets.add(new DimletKey(DimletType.DIMLET_TERRAIN,"String_Node_Str"));
  craftableDimlets.add(new DimletKey(DimletType.DIMLET_TERRAIN,"String_Node_Str"));
  craftableDimlets.add(keyControllerDefault);
  craftableDimlets.add(new DimletKey(DimletType.DIMLET_CONTROLLER,"String_Node_Str"));
  craftableDimlets.add(keyMaterialNone);
  craftableDimlets.add(keyLiquidNone);
  craftableDimlets.add(keySkyNormal);
  craftableDimlets.add(keySkyNormalDay);
  craftableDimlets.add(keySkyNormalNight);
  craftableDimlets.add(keyDefaultMobs);
  craftableDimlets.add(keyTimeNormal);
  craftableDimlets.add(new DimletKey(DimletType.DIMLET_DIGIT,"String_Node_Str"));
  craftableDimlets.add(new DimletKey(DimletType.DIMLET_DIGIT,"String_Node_Str"));
  craftableDimlets.add(new DimletKey(DimletType.DIMLET_DIGIT,"String_Node_Str"));
  craftableDimlets.add(new DimletKey(DimletType.DIMLET_DIGIT,"String_Node_Str"));
  craftableDimlets.add(new DimletKey(DimletType.DIMLET_DIGIT,"String_Node_Str"));
  craftableDimlets.add(new DimletKey(DimletType.DIMLET_DIGIT,"String_Node_Str"));
  craftableDimlets.add(new DimletKey(DimletType.DIMLET_DIGIT,"String_Node_Str"));
  craftableDimlets.add(new DimletKey(DimletType.DIMLET_DIGIT,"String_Node_Str"));
  craftableDimlets.add(new DimletKey(DimletType.DIMLET_DIGIT,"String_Node_Str"));
  craftableDimlets.add(new DimletKey(DimletType.DIMLET_DIGIT,"String_Node_Str"));
  readUserDimlets(cfg,modConfigDir,mapping,master);
  DimletRandomizer.setupWeightedRandomList();
  mapping.save(world);
}