MinecraftForge/MinecraftForge — pull request #604 by ScottKillen (2013-06-11 05:26:04+00:00)
Title: Biome dictionary refactor

Redesigned BiomeDictionary to increase performance, reduce memory resources and fix bugs:

- Rather than an array of 256 private classes containing a List of pointers to enum values, implementation now uses a multimap containing EnumSets (implemented with bit fields). Quantity of EnumSets is reduced using sparse map rather than full 256 array.
- Performance is reduced because EnumSet lookups are binary masks instead of array indexes
- isBiomeRegistered() always returned true because valid BiomeGenBase objects are always indexed in BiomegenBase.biomeList (see BiomegenBase constructor). This bug prevented best guess auto tagging of custom biomes because auto tagger (checkRegistration()) would nor run if isBiomeRegistered() returned true--which it always did.

Public interface is maintained with additional supported added for modern java collections. Array based and variable argument methods are derecated.