mirror of
https://github.com/GTNewHorizons/MagicBees.git
synced 2026-11-12 00:08:01 +00:00
785 lines
42 KiB
Java
785 lines
42 KiB
Java
package magicbees.bees;
|
|
|
|
import net.minecraft.item.ItemStack;
|
|
|
|
import forestry.api.apiculture.EnumBeeChromosome;
|
|
import forestry.api.apiculture.EnumBeeType;
|
|
import forestry.api.apiculture.IAlleleBeeSpecies;
|
|
import forestry.api.apiculture.IAlleleBeeSpeciesCustom;
|
|
import forestry.api.apiculture.IBeeFactory;
|
|
import forestry.api.apiculture.IBeeIconColourProvider;
|
|
import forestry.api.apiculture.IBeeIconProvider;
|
|
import forestry.api.core.EnumHumidity;
|
|
import forestry.api.core.EnumTemperature;
|
|
import forestry.api.genetics.AlleleManager;
|
|
import forestry.api.genetics.EnumTolerance;
|
|
import forestry.api.genetics.IAllele;
|
|
import forestry.api.genetics.IAlleleTolerance;
|
|
import forestry.api.genetics.IClassification;
|
|
import magicbees.main.utils.compat.AppliedEnergisticsHelper;
|
|
import magicbees.main.utils.compat.ArsMagicaHelper;
|
|
import magicbees.main.utils.compat.BotaniaHelper;
|
|
import magicbees.main.utils.compat.EquivalentExchangeHelper;
|
|
import magicbees.main.utils.compat.RedstoneArsenalHelper;
|
|
import magicbees.main.utils.compat.ThaumcraftHelper;
|
|
import magicbees.main.utils.compat.ThermalModsHelper;
|
|
|
|
public enum BeeSpecies {
|
|
|
|
MYSTICAL("Mystical", "mysticum", BeeClassification.VEILED, 0xAFFFB7, EnumTemperature.NORMAL, EnumHumidity.NORMAL,
|
|
false, false, true),
|
|
SORCEROUS("Sorcerous", "fascinatio", BeeClassification.VEILED, 0xEA9A9A, EnumTemperature.HOT, EnumHumidity.ARID,
|
|
false, false, true),
|
|
UNUSUAL("Unusual", "inusitatus", BeeClassification.VEILED, 0x72D361, EnumTemperature.NORMAL, EnumHumidity.NORMAL,
|
|
false, false, true),
|
|
ATTUNED("Attuned", "similis", BeeClassification.VEILED, 0x0086A8, EnumTemperature.NORMAL, EnumHumidity.NORMAL,
|
|
false, false, true),
|
|
|
|
ELDRITCH("Eldritch", "prodigiosus", BeeClassification.VEILED, 0x8D75A0, EnumTemperature.NORMAL, EnumHumidity.NORMAL,
|
|
false, true),
|
|
|
|
ESOTERIC("Esoteric", "secretiore", BeeClassification.ARCANE, 0x001099, BodyColours.ARCANE, EnumTemperature.NORMAL,
|
|
EnumHumidity.NORMAL, false, true),
|
|
MYSTERIOUS("Mysterious", "mysticus", BeeClassification.ARCANE, 0x762bc2, BodyColours.ARCANE, EnumTemperature.NORMAL,
|
|
EnumHumidity.NORMAL, false, true),
|
|
ARCANE("Arcane", "arcanus", BeeClassification.ARCANE, 0xd242df, BodyColours.ARCANE, EnumTemperature.NORMAL,
|
|
EnumHumidity.NORMAL, true, true),
|
|
|
|
CHARMED("Charmed", "larvatus", BeeClassification.SUPERNATURAL, 0x48EEEC, BodyColours.ARCANE, EnumTemperature.NORMAL,
|
|
EnumHumidity.NORMAL, false, true),
|
|
ENCHANTED("Enchanted", "cantatus", BeeClassification.SUPERNATURAL, 0x18e726, BodyColours.ARCANE,
|
|
EnumTemperature.NORMAL, EnumHumidity.NORMAL, false, true),
|
|
SUPERNATURAL("Supernatural", "coeleste", BeeClassification.SUPERNATURAL, 0x005614, BodyColours.ARCANE,
|
|
EnumTemperature.NORMAL, EnumHumidity.NORMAL, true, true),
|
|
|
|
ETHEREAL("Ethereal", "diaphanum", BeeClassification.MAGICAL, 0xBA3B3B, 0xEFF8FF, EnumTemperature.NORMAL,
|
|
EnumHumidity.NORMAL, false, true),
|
|
|
|
WATERY("Watery", "aquatilis", BeeClassification.MAGICAL, 0x313C5E, EnumTemperature.NORMAL, EnumHumidity.NORMAL,
|
|
false, true),
|
|
EARTHY("Earthen", "fictili", BeeClassification.MAGICAL, 0x78822D, EnumTemperature.NORMAL, EnumHumidity.NORMAL,
|
|
false, true),
|
|
FIREY("Firey", "ardens", BeeClassification.MAGICAL, 0xD35119, EnumTemperature.NORMAL, EnumHumidity.NORMAL, false,
|
|
true),
|
|
WINDY("Windy", "ventosum", BeeClassification.MAGICAL, 0xFFFDBA, EnumTemperature.NORMAL, EnumHumidity.NORMAL, false,
|
|
true),
|
|
|
|
PUPIL("Pupil", "disciplina", BeeClassification.SCHOLARLY, 0xFFFF00, EnumTemperature.NORMAL, EnumHumidity.ARID,
|
|
false, true),
|
|
SCHOLARLY("Scholarly", "studiosis", BeeClassification.SCHOLARLY, 0x6E0000, EnumTemperature.NORMAL,
|
|
EnumHumidity.ARID, false, false),
|
|
SAVANT("Savant", "philologus", BeeClassification.SCHOLARLY, 0xFFA042, EnumTemperature.NORMAL, EnumHumidity.ARID,
|
|
true, false),
|
|
|
|
AWARE("Aware", "sensibilis", BeeClassification.MAGICAL, 0x5E95B5, EnumTemperature.NORMAL, EnumHumidity.NORMAL,
|
|
false, false),
|
|
SPIRIT("Spirit", "larva", BeeClassification.SOUL, 0xb2964b, EnumTemperature.WARM, EnumHumidity.NORMAL, false, true),
|
|
SOUL("Soul", "anima", BeeClassification.SOUL, 0x7d591b, EnumTemperature.HELLISH, EnumHumidity.NORMAL, true, false),
|
|
|
|
SKULKING("Skulking", "malevolens", BeeClassification.SKULKING, 0x524827, BodyColours.SKULKING,
|
|
EnumTemperature.NORMAL, EnumHumidity.NORMAL, false, true),
|
|
GHASTLY("Ghastly", "pallens", BeeClassification.SKULKING, 0xccccee, 0xbf877c, EnumTemperature.NORMAL,
|
|
EnumHumidity.NORMAL, false, false),
|
|
SPIDERY("Spidery", "araneolus", BeeClassification.SKULKING, 0x0888888, 0x222222, EnumTemperature.NORMAL,
|
|
EnumHumidity.NORMAL, false, true),
|
|
SMOULDERING("Smouldering", "flagrantia", BeeClassification.SKULKING, 0xFFC747, 0xEA8344, EnumTemperature.HELLISH,
|
|
EnumHumidity.NORMAL, false, false),
|
|
BRAINY("TCBrainy", "cerebrum", BeeClassification.SKULKING, 0x83FF70, BodyColours.SKULKING, EnumTemperature.NORMAL,
|
|
EnumHumidity.NORMAL, false, true),
|
|
BIGBAD("BigBad", "magnumalum", BeeClassification.SKULKING, 0xA9344B, 0x453536, EnumTemperature.NORMAL,
|
|
EnumHumidity.NORMAL, false, false, true, true, true),
|
|
CHICKEN("TCChicken", "pullus", BeeClassification.FLESHY, 0xFF0000, 0xD3D3D3, EnumTemperature.NORMAL,
|
|
EnumHumidity.NORMAL, false, true),
|
|
BEEF("TCBeef", "bubulae", BeeClassification.FLESHY, 0xB7B7B7, 0x3F3024, EnumTemperature.NORMAL, EnumHumidity.NORMAL,
|
|
false, true),
|
|
PORK("TCPork", "porcina", BeeClassification.FLESHY, 0xF1AEAC, 0xDF847B, EnumTemperature.NORMAL, EnumHumidity.NORMAL,
|
|
false, true),
|
|
BATTY("TCBatty", "chiroptera", BeeClassification.FLESHY, 0x5B482B, 0x271B0F, EnumTemperature.NORMAL,
|
|
EnumHumidity.NORMAL, false, true),
|
|
SHEEPISH("Sheepish", "balans", BeeClassification.FLESHY, 0xF7F7F7, 0xCACACA, EnumTemperature.NORMAL,
|
|
EnumHumidity.NORMAL, false, true),
|
|
HORSE("Horse", "equus", BeeClassification.FLESHY, 0x906330, 0x7B4E1B, EnumTemperature.NORMAL, EnumHumidity.NORMAL,
|
|
false, true),
|
|
CATTY("Catty", "feline", BeeClassification.FLESHY, 0xECE684, 0x563C24, EnumTemperature.HOT, EnumHumidity.NORMAL,
|
|
false, true),
|
|
|
|
TIMELY("Timely", "gallifreis", BeeClassification.TIME, 0xC6AF86, EnumTemperature.NORMAL, EnumHumidity.NORMAL, false,
|
|
true),
|
|
LORDLY("Lordly", "rassilonis", BeeClassification.TIME, 0xC6AF86, 0x8E0213, EnumTemperature.NORMAL,
|
|
EnumHumidity.NORMAL, false, false),
|
|
DOCTORAL("Doctoral", "medicus qui", BeeClassification.TIME, 0xDDE5FC, 0x4B6E8C, EnumTemperature.NORMAL,
|
|
EnumHumidity.NORMAL, false, false),
|
|
|
|
INFERNAL("Infernal", "infernales", BeeClassification.ABOMINABLE, 0xFF1C1C, BodyColours.ABOMINABLE,
|
|
EnumTemperature.HELLISH, EnumHumidity.ARID, false, true),
|
|
HATEFUL("Hateful", "odibilis", BeeClassification.ABOMINABLE, 0xDB00DB, BodyColours.ABOMINABLE,
|
|
EnumTemperature.HELLISH, EnumHumidity.ARID, false, false),
|
|
SPITEFUL("Spiteful", "maligna", BeeClassification.ABOMINABLE, 0x5FCC00, BodyColours.ABOMINABLE,
|
|
EnumTemperature.HELLISH, EnumHumidity.ARID, true, false),
|
|
WITHERING("Withering", "vietus", BeeClassification.ABOMINABLE, 0x5B5B5B, BodyColours.ABOMINABLE,
|
|
EnumTemperature.HELLISH, EnumHumidity.ARID, true, false),
|
|
|
|
OBLIVION("Oblivion", "oblivioni", BeeClassification.EXTRINSIC, 0xD5C3E5, BodyColours.EXTRINSIC,
|
|
EnumTemperature.COLD, EnumHumidity.NORMAL, false, false),
|
|
NAMELESS("Nameless", "sine nomine", BeeClassification.EXTRINSIC, 0x8ca7cb, BodyColours.EXTRINSIC,
|
|
EnumTemperature.COLD, EnumHumidity.NORMAL, false, true),
|
|
ABANDONED("Abandoned", "reliquit", BeeClassification.EXTRINSIC, 0xc5cb8c, BodyColours.EXTRINSIC,
|
|
EnumTemperature.COLD, EnumHumidity.NORMAL, false, true),
|
|
FORLORN("Forlorn", "perditus", BeeClassification.EXTRINSIC, 0xcba88c, BodyColours.EXTRINSIC, EnumTemperature.COLD,
|
|
EnumHumidity.NORMAL, true, false),
|
|
DRACONIC("Draconic", "draconic", BeeClassification.EXTRINSIC, 0x9f56ad, 0x5a3b62, EnumTemperature.COLD,
|
|
EnumHumidity.NORMAL, true, false),
|
|
|
|
IRON("Iron", "ferrus", BeeClassification.METALLIC, 0x686868, 0xE9E9E9, EnumTemperature.NORMAL, EnumHumidity.NORMAL,
|
|
false, true),
|
|
GOLD("Gold", "aurum", BeeClassification.METALLIC, 0x684B01, 0xFFFF0B, EnumTemperature.NORMAL, EnumHumidity.NORMAL,
|
|
true, false),
|
|
COPPER("Copper", "aercus", BeeClassification.METALLIC, 0x684B01, 0xFFC81A, EnumTemperature.NORMAL,
|
|
EnumHumidity.NORMAL, false, true),
|
|
TIN("Tin", "stannum", BeeClassification.METALLIC, 0x3E596D, 0xA6BACB, EnumTemperature.NORMAL, EnumHumidity.NORMAL,
|
|
false, true),
|
|
SILVER("Silver", "argenteus", BeeClassification.METALLIC, 0x747C81, 0x96BFC4, EnumTemperature.NORMAL,
|
|
EnumHumidity.NORMAL, false, false),
|
|
LEAD("Lead", "plumbeus", BeeClassification.METALLIC, 0x96BFC4, 0x91A9F3, EnumTemperature.NORMAL,
|
|
EnumHumidity.NORMAL, false, true),
|
|
ALUMINUM("Aluminum", "aluminium", BeeClassification.METALLIC, 0xEDEDED, 0x767676, EnumTemperature.NORMAL,
|
|
EnumHumidity.NORMAL, false, true),
|
|
ARDITE("Ardite", "aurantiaco", BeeClassification.METALLIC, 0x720000, 0xFF9E00, EnumTemperature.HOT,
|
|
EnumHumidity.ARID, false, false),
|
|
COBALT("Cobalt", "caeruleo", BeeClassification.METALLIC, 0x03265F, 0x59AAEF, EnumTemperature.HOT, EnumHumidity.ARID,
|
|
false, false),
|
|
MANYULLYN("Manyullyn", "manahmanah", BeeClassification.METALLIC, 0x481D6D, 0xBD92F1, EnumTemperature.HOT,
|
|
EnumHumidity.ARID, true, false),
|
|
DIAMOND("Diamond", "diamond", BeeClassification.GEM, 0x209581, 0x8DF5E3, EnumTemperature.NORMAL,
|
|
EnumHumidity.NORMAL, true, false),
|
|
EMERALD("Emerald", "prasinus", BeeClassification.GEM, 0x005300, 0x17DD62, EnumTemperature.NORMAL,
|
|
EnumHumidity.NORMAL, true, false),
|
|
APATITE("Apatite", "apatite", BeeClassification.GEM, 0x2EA7EC, 0x001D51, EnumTemperature.NORMAL,
|
|
EnumHumidity.NORMAL, false, false),
|
|
SILICON("Silicon", "siliconisque", BeeClassification.GEM, 0xADA2A7, 0x736675, EnumTemperature.NORMAL,
|
|
EnumHumidity.NORMAL, false, false),
|
|
CERTUS("Certus", "alia cristallum", BeeClassification.GEM, 0x93C7FF, 0xA6B8C7, EnumTemperature.NORMAL,
|
|
EnumHumidity.NORMAL, false, true),
|
|
FLUIX("Fluix", "alien cristallum", BeeClassification.GEM, 0xFC639E, 0x534797, EnumTemperature.NORMAL,
|
|
EnumHumidity.NORMAL, false, true),
|
|
|
|
MUTABLE("Mutable", "mutable", BeeClassification.TRANSMUTING, 0xDBB24C, 0xE0D5A6, EnumTemperature.NORMAL,
|
|
EnumHumidity.NORMAL, false, false),
|
|
TRANSMUTING("Transmuting", "transmuting", BeeClassification.TRANSMUTING, 0xDBB24C, 0xA2D2D8, EnumTemperature.NORMAL,
|
|
EnumHumidity.NORMAL, false, false),
|
|
CRUMBLING("Crumbling", "crumbling", BeeClassification.TRANSMUTING, 0xDBB24C, 0xDBA4A4, EnumTemperature.HOT,
|
|
EnumHumidity.ARID, false, false),
|
|
|
|
INVISIBLE("Invisible", "invisible", BeeClassification.VEILED, 0xffccff, 0xffffff, EnumTemperature.NORMAL,
|
|
EnumHumidity.NORMAL, false, false),
|
|
|
|
// --------- Thaumcraft Bees ---------------------------------------------------------------------------------------
|
|
TC_AIR("TCAir", "aether", BeeClassification.THAUMIC, 0xD9D636, BodyColours.THAUMCRAFT_SHARD, EnumTemperature.NORMAL,
|
|
EnumHumidity.NORMAL, true, true),
|
|
TC_FIRE("TCFire", "praefervidus", BeeClassification.THAUMIC, 0xE50B0B, BodyColours.THAUMCRAFT_SHARD,
|
|
EnumTemperature.HOT, EnumHumidity.ARID, true, true),
|
|
TC_WATER("TCWater", "umidus", BeeClassification.THAUMIC, 0x36CFD9, BodyColours.THAUMCRAFT_SHARD,
|
|
EnumTemperature.NORMAL, EnumHumidity.DAMP, true, true),
|
|
TC_EARTH("TCEarth", "sordida", BeeClassification.THAUMIC, 0x005100, BodyColours.THAUMCRAFT_SHARD,
|
|
EnumTemperature.NORMAL, EnumHumidity.NORMAL, true, true),
|
|
TC_ORDER("TCOrder", "ordinatus", BeeClassification.THAUMIC, 0xaa32fc, BodyColours.THAUMCRAFT_SHARD,
|
|
EnumTemperature.NORMAL, EnumHumidity.NORMAL, true, true),
|
|
TC_CHAOS("TCChaos", "tenebrarum", BeeClassification.THAUMIC, 0xCCCCCC, BodyColours.THAUMCRAFT_SHARD,
|
|
EnumTemperature.NORMAL, EnumHumidity.NORMAL, true, false),
|
|
|
|
TC_VIS("TCVis", "arcanus saecula", BeeClassification.THAUMIC, 0x004c99, BodyColours.THAUMCRAFT_NODE,
|
|
EnumTemperature.NORMAL, EnumHumidity.NORMAL, false, false),
|
|
TC_REJUVENATING("TCRejuvenating", "arcanus vitae", BeeClassification.THAUMIC, 0x91D0D9, BodyColours.THAUMCRAFT_NODE,
|
|
EnumTemperature.NORMAL, EnumHumidity.NORMAL, false, false),
|
|
TC_EMPOWERING("TCEmpowering", "tractus", BeeClassification.THAUMIC, 0x96FFBC, BodyColours.THAUMCRAFT_NODE,
|
|
EnumTemperature.NORMAL, EnumHumidity.NORMAL, false, true),
|
|
TC_NEXUS("TCNexus", "nexi", BeeClassification.THAUMIC, 0x15AFAF, BodyColours.THAUMCRAFT_NODE,
|
|
EnumTemperature.NORMAL, EnumHumidity.NORMAL, true, false),
|
|
TC_TAINT("TCFlux", "arcanus labe", BeeClassification.THAUMIC, 0x91376A, BodyColours.THAUMCRAFT_NODE,
|
|
EnumTemperature.NORMAL, EnumHumidity.NORMAL, false, false),
|
|
TC_PURE("TCPure", "arcanus puritatem", BeeClassification.THAUMIC, 0xE23F65, BodyColours.THAUMCRAFT_NODE,
|
|
EnumTemperature.NORMAL, EnumHumidity.NORMAL, false, false),
|
|
TC_HUNGRY("TCHungry", "omnique", BeeClassification.THAUMIC, 0xDCA5E2, BodyColours.THAUMCRAFT_NODE,
|
|
EnumTemperature.NORMAL, EnumHumidity.NORMAL, false, false),
|
|
|
|
TC_WISPY("TCWispy", "umbrabilis", BeeClassification.THAUMIC, 0x9cb8d5, BodyColours.SKULKING, EnumTemperature.NORMAL,
|
|
EnumHumidity.NORMAL, false, false),
|
|
TC_VOID("TCVoid", "obscurus", BeeClassification.METALLIC, 0x180A29, 0x4B2A74, EnumTemperature.ICY,
|
|
EnumHumidity.NORMAL, false, false),
|
|
|
|
// --------- Equivalent Exchange Bees -----------------------------------------------------------------------------
|
|
EE_MINIUM("EEMinium", "mutabilis", BeeClassification.ALCHEMICAL, 0xac0921, 0x3a030b, EnumTemperature.NORMAL,
|
|
EnumHumidity.NORMAL, false, true),
|
|
|
|
// --------- Ars Magica Bees --------------------------------------------------------------------------------------
|
|
AM_ESSENCE("AMEssence", "essentia", BeeClassification.ESSENTIAL, 0x86BBC5, BodyColours.ARSMAGICA,
|
|
EnumTemperature.NORMAL, EnumHumidity.NORMAL, false, true),
|
|
AM_QUINTESSENCE("AMQuintessence", "cor essentia", BeeClassification.ESSENTIAL, 0xE3A45B, BodyColours.ARSMAGICA,
|
|
EnumTemperature.NORMAL, EnumHumidity.NORMAL, true, true),
|
|
|
|
AM_EARTH("AMEarth", "magica terra", BeeClassification.ESSENTIAL, 0xAA875E, BodyColours.ARSMAGICA,
|
|
EnumTemperature.WARM, EnumHumidity.ARID, false, false),
|
|
AM_AIR("AMAir", "magica aer", BeeClassification.ESSENTIAL, 0xD5EB9D, BodyColours.ARSMAGICA, EnumTemperature.NORMAL,
|
|
EnumHumidity.NORMAL, false, false),
|
|
AM_FIRE("AMFire", "magica ignis", BeeClassification.ESSENTIAL, 0x93451E, BodyColours.ARSMAGICA, EnumTemperature.HOT,
|
|
EnumHumidity.ARID, false, false),
|
|
AM_WATER("AMWater", "magica aqua", BeeClassification.ESSENTIAL, 0x3B7D8C, BodyColours.ARSMAGICA,
|
|
EnumTemperature.NORMAL, EnumHumidity.DAMP, false, false),
|
|
AM_LIGHTNING("AMLightning", "magica fulgur", BeeClassification.ESSENTIAL, 0xEBEFA1, BodyColours.ARSMAGICA,
|
|
EnumTemperature.NORMAL, EnumHumidity.NORMAL, false, false),
|
|
AM_PLANT("AMPlant", "magica herba", BeeClassification.ESSENTIAL, 0x49B549, BodyColours.ARSMAGICA,
|
|
EnumTemperature.NORMAL, EnumHumidity.NORMAL, false, false),
|
|
AM_ICE("AMIce", "magica glacium", BeeClassification.ESSENTIAL, 0x86BAC6, BodyColours.ARSMAGICA,
|
|
EnumTemperature.COLD, EnumHumidity.NORMAL, false, false),
|
|
AM_ARCANE("AMArcane", "magica arcanum", BeeClassification.ESSENTIAL, 0x76184D, BodyColours.ARSMAGICA,
|
|
EnumTemperature.NORMAL, EnumHumidity.NORMAL, true, false),
|
|
|
|
AM_VORTEX("AMVortex", "gurges", BeeClassification.ESSENTIAL, 0x71BBE2, 0x0B35A8, EnumTemperature.NORMAL,
|
|
EnumHumidity.NORMAL, false, true),
|
|
AM_WIGHT("AMWight", "vectem", BeeClassification.ESSENTIAL, 0xB50000, 0x4C4837, EnumTemperature.NORMAL,
|
|
EnumHumidity.NORMAL, false, false),
|
|
|
|
// ---------------------Thermal Expansion Bees---------------------------
|
|
TE_BLIZZY("TEBlizzy", "blizzard", BeeClassification.ABOMINABLE, 0x0073C4, EnumTemperature.COLD, EnumHumidity.NORMAL,
|
|
false, false),
|
|
TE_GELID("TEGelid", "cyro", BeeClassification.ABOMINABLE, 0x4AAFF7, EnumTemperature.COLD, EnumHumidity.NORMAL, true,
|
|
true),
|
|
TE_DANTE("TEDante", "inferno", BeeClassification.ABOMINABLE, 0xF7AC4A, EnumTemperature.HELLISH, EnumHumidity.ARID,
|
|
false, false),
|
|
TE_PYRO("TEPyro", "pyromania", BeeClassification.ABOMINABLE, 0xFA930C, EnumTemperature.HELLISH, EnumHumidity.ARID,
|
|
true, true),
|
|
TE_SHOCKING("TEShocking", "horrendum", BeeClassification.ABOMINABLE, 0xC5FF26, 0xF8EE00, EnumTemperature.NORMAL,
|
|
EnumHumidity.NORMAL, false, false),
|
|
TE_AMPED("TEAmped", "concitatus", BeeClassification.ABOMINABLE, 0x8AFFFF, 0xECE670, EnumTemperature.NORMAL,
|
|
EnumHumidity.NORMAL, true, false),
|
|
TE_GROUNDED("TEGrounded", "tellus", BeeClassification.ABOMINABLE, 0xCEC1C1, 0x826767, EnumTemperature.HOT,
|
|
EnumHumidity.ARID, false, true),
|
|
TE_ROCKING("TERocking", "saxsous", BeeClassification.ABOMINABLE, 0x980000, 0xAB9D9B, EnumTemperature.HOT,
|
|
EnumHumidity.ARID, true, true),
|
|
|
|
TE_ELECTRUM("TEElectrum", "electrum", BeeClassification.THERMAL, 0xEAF79E, EnumTemperature.HOT, EnumHumidity.ARID,
|
|
false, false),
|
|
TE_PLATINUM("TEPlatinum", "platina", BeeClassification.THERMAL, 0x9EE7F7, EnumTemperature.NORMAL,
|
|
EnumHumidity.NORMAL, false, false),
|
|
TE_NICKEL("TENickel", "nickel", BeeClassification.THERMAL, 0xB4C989, EnumTemperature.NORMAL, EnumHumidity.NORMAL,
|
|
false, false),
|
|
TE_INVAR("TEInvar", "invar", BeeClassification.THERMAL, 0xCDE3A1, EnumTemperature.HOT, EnumHumidity.ARID, false,
|
|
false),
|
|
TE_BRONZE("TEBronze", "pyropus", BeeClassification.THERMAL, 0xB56D07, EnumTemperature.NORMAL, EnumHumidity.NORMAL,
|
|
false, false),
|
|
TE_COAL("TECoal", "carbonis", BeeClassification.THERMAL, 0x2E2D2D, EnumTemperature.NORMAL, EnumHumidity.NORMAL,
|
|
false, false),
|
|
TE_DESTABILIZED("TEDestabilized", "electric", BeeClassification.THERMAL, 0x5E0203, EnumTemperature.NORMAL,
|
|
EnumHumidity.NORMAL, false, false),
|
|
TE_LUX("TELux", "lux", BeeClassification.THERMAL, 0xF1FA89, EnumTemperature.NORMAL, EnumHumidity.NORMAL, false,
|
|
false),
|
|
TE_WINSOME("TEWinsome", "cuniculus", BeeClassification.ADORABLE, 0x096B67, EnumTemperature.COLD,
|
|
EnumHumidity.NORMAL, false, false),
|
|
TE_ENDEARING("TEEndearing", "cognito", BeeClassification.ADORABLE, 0x069E97, EnumTemperature.COLD,
|
|
EnumHumidity.NORMAL, true, true),
|
|
TE_SIGNALUS("TESignalus", "scelerisque", BeeClassification.THERMAL, 0x5E0203, EnumTemperature.NORMAL,
|
|
EnumHumidity.NORMAL, true, true),
|
|
TE_LUMIUS("TELumius", "lucidum", BeeClassification.THERMAL, 0xF1FA89, EnumTemperature.NORMAL, EnumHumidity.NORMAL,
|
|
true, true),
|
|
|
|
// --------------------Redstone Arsenal Bees-----------------------------
|
|
RSA_FLUXED("RSAFluxed", "Thermametallic electroflux", BeeClassification.THERMAL, 0x9E060D, EnumTemperature.NORMAL,
|
|
EnumHumidity.NORMAL, false, false),
|
|
|
|
// ----------------------Botania Bees---------------------------------------
|
|
BOT_ROOTED("BotRooted", "truncus", BeeClassification.BOTANICAL, 0x00A800, BodyColours.BOTANIA,
|
|
EnumTemperature.NORMAL, EnumHumidity.NORMAL, false, true),
|
|
|
|
BOT_BOTANIC("BotBotanic", "botanica", BeeClassification.BOTANICAL, 0x94C661, BodyColours.BOTANIA,
|
|
EnumTemperature.NORMAL, EnumHumidity.NORMAL, false, true),
|
|
BOT_BLOSSOM("BotBlossom", "viridis", BeeClassification.BOTANICAL, 0xA4C193, BodyColours.BOTANIA,
|
|
EnumTemperature.NORMAL, EnumHumidity.NORMAL, false, false),
|
|
BOT_FLORAL("BotFloral", "florens", BeeClassification.BOTANICAL, 0x29D81A, BodyColours.BOTANIA,
|
|
EnumTemperature.NORMAL, EnumHumidity.NORMAL, false, true),
|
|
|
|
BOT_VAZBEE("BotVazbee", "vazbii", BeeClassification.BOTANICAL, 0xff6b9c, BodyColours.BOTANIA,
|
|
EnumTemperature.NORMAL, EnumHumidity.NORMAL, false, false),
|
|
|
|
BOT_SOMNOLENT("BotSomnolent", "soporatus", BeeClassification.BOTANICAL, 0x2978C6, BodyColours.BOTANIA,
|
|
EnumTemperature.NORMAL, EnumHumidity.NORMAL, false, false, true, true, true),
|
|
BOT_DREAMING("BotDreaming", "somnior", BeeClassification.BOTANICAL, 0x123456, BodyColours.BOTANIA,
|
|
EnumTemperature.NORMAL, EnumHumidity.NORMAL, false, false, true, true, true),
|
|
|
|
BOT_ALFHEIM("BotAlfheim", "alfheimis", BeeClassification.BOTANICAL, -1, -1, EnumTemperature.NORMAL,
|
|
EnumHumidity.NORMAL, false, false),
|
|
|
|
// -------------------Applied Energistics 2 Bees---------------------------
|
|
AE_SKYSTONE("AESkystone", "terra astris", BeeClassification.TRANSMUTING, 0x4B8381, 0x252929, EnumTemperature.HOT,
|
|
EnumHumidity.ARID, false, true),;
|
|
|
|
// For body colours used by more than one bee.
|
|
private class BodyColours {
|
|
|
|
static final int DEFAULT = 0xFF7C26;
|
|
static final int ARCANE = 0xFF9D60;
|
|
static final int ABOMINABLE = 0x960F00;
|
|
static final int EXTRINSIC = 0xF696FF;
|
|
static final int SKULKING = 0xe15236;
|
|
static final int THAUMCRAFT_SHARD = 0x999999;
|
|
static final int THAUMCRAFT_NODE = 0x675ED1;
|
|
static final int ARSMAGICA = 0xE3A55B;
|
|
static final int BOTANIA = 0xFFB2BB;
|
|
}
|
|
|
|
public static void setupBeeSpecies() {
|
|
MYSTICAL.registerGenomeTemplate(BeeGenomeManager.getTemplateMystical());
|
|
SORCEROUS.registerGenomeTemplate(BeeGenomeManager.getTemplateSorcerous());
|
|
UNUSUAL.registerGenomeTemplate(BeeGenomeManager.getTemplateUnusual());
|
|
ATTUNED.registerGenomeTemplate(BeeGenomeManager.getTemplateAttuned());
|
|
ELDRITCH.registerGenomeTemplate(BeeGenomeManager.getTemplateEldritch());
|
|
ESOTERIC.registerGenomeTemplate(BeeGenomeManager.getTemplateEsoteric());
|
|
MYSTERIOUS.registerGenomeTemplate(BeeGenomeManager.getTemplateMysterious());
|
|
ARCANE.registerGenomeTemplate(BeeGenomeManager.getTemplateArcane());
|
|
CHARMED.registerGenomeTemplate(BeeGenomeManager.getTemplateCharmed());
|
|
ENCHANTED.registerGenomeTemplate(BeeGenomeManager.getTemplateEnchanted());
|
|
SUPERNATURAL.registerGenomeTemplate(BeeGenomeManager.getTemplateSupernatural());
|
|
ETHEREAL.registerGenomeTemplate(BeeGenomeManager.getTemplateEthereal());
|
|
WATERY.registerGenomeTemplate(BeeGenomeManager.getTemplateWatery());
|
|
EARTHY.registerGenomeTemplate(BeeGenomeManager.getTemplateEarthy());
|
|
FIREY.registerGenomeTemplate(BeeGenomeManager.getTemplateFirey());
|
|
WINDY.registerGenomeTemplate(BeeGenomeManager.getTemplateWindy());
|
|
PUPIL.registerGenomeTemplate(BeeGenomeManager.getTemplatePupil());
|
|
SCHOLARLY.registerGenomeTemplate(BeeGenomeManager.getTemplateScholarly());
|
|
SAVANT.registerGenomeTemplate(BeeGenomeManager.getTemplateSavant());
|
|
AWARE.registerGenomeTemplate(BeeGenomeManager.getTemplateAware());
|
|
SPIRIT.registerGenomeTemplate(BeeGenomeManager.getTemplateSpirit());
|
|
SOUL.registerGenomeTemplate(BeeGenomeManager.getTemplateSoul());
|
|
SKULKING.registerGenomeTemplate(BeeGenomeManager.getTemplateSkulking());
|
|
GHASTLY.registerGenomeTemplate(BeeGenomeManager.getTemplateGhastly());
|
|
SPIDERY.registerGenomeTemplate(BeeGenomeManager.getTemplateSpidery());
|
|
SMOULDERING.registerGenomeTemplate(BeeGenomeManager.getTemplateSmouldering());
|
|
BIGBAD.registerGenomeTemplate(BeeGenomeManager.getTemplateBigbad());
|
|
CHICKEN.registerGenomeTemplate(BeeGenomeManager.getTemplateChicken());
|
|
BEEF.registerGenomeTemplate(BeeGenomeManager.getTemplateBeef());
|
|
PORK.registerGenomeTemplate(BeeGenomeManager.getTemplatePork());
|
|
SHEEPISH.registerGenomeTemplate(BeeGenomeManager.getTemplateSheepish());
|
|
HORSE.registerGenomeTemplate(BeeGenomeManager.getTemplateHorse());
|
|
CATTY.registerGenomeTemplate(BeeGenomeManager.getTemplateCatty());
|
|
TIMELY.registerGenomeTemplate(BeeGenomeManager.getTemplateTimely());
|
|
LORDLY.registerGenomeTemplate(BeeGenomeManager.getTemplateLordly());
|
|
DOCTORAL.registerGenomeTemplate(BeeGenomeManager.getTemplateDoctoral());
|
|
INFERNAL.registerGenomeTemplate(BeeGenomeManager.getTemplateInfernal());
|
|
HATEFUL.registerGenomeTemplate(BeeGenomeManager.getTemplateHateful());
|
|
SPITEFUL.registerGenomeTemplate(BeeGenomeManager.getTemplateSpiteful());
|
|
WITHERING.registerGenomeTemplate(BeeGenomeManager.getTemplateWithering());
|
|
OBLIVION.registerGenomeTemplate(BeeGenomeManager.getTemplateOblivion());
|
|
NAMELESS.registerGenomeTemplate(BeeGenomeManager.getTemplateNameless());
|
|
ABANDONED.registerGenomeTemplate(BeeGenomeManager.getTemplateAbandoned());
|
|
FORLORN.registerGenomeTemplate(BeeGenomeManager.getTemplateForlorn());
|
|
DRACONIC.registerGenomeTemplate(BeeGenomeManager.getTemplateDraconic());
|
|
IRON.registerGenomeTemplate(BeeGenomeManager.getTemplateIron());
|
|
GOLD.registerGenomeTemplate(BeeGenomeManager.getTemplateGold());
|
|
COPPER.registerGenomeTemplate(BeeGenomeManager.getTemplateCopper());
|
|
TIN.registerGenomeTemplate(BeeGenomeManager.getTemplateTin());
|
|
SILVER.registerGenomeTemplate(BeeGenomeManager.getTemplateSilver());
|
|
LEAD.registerGenomeTemplate(BeeGenomeManager.getTemplateLead());
|
|
ALUMINUM.registerGenomeTemplate(BeeGenomeManager.getTemplateAluminum());
|
|
ARDITE.registerGenomeTemplate(BeeGenomeManager.getTemplateArdite());
|
|
COBALT.registerGenomeTemplate(BeeGenomeManager.getTemplateCobalt());
|
|
MANYULLYN.registerGenomeTemplate(BeeGenomeManager.getTemplateManyullyn());
|
|
DIAMOND.registerGenomeTemplate(BeeGenomeManager.getTemplateDiamond());
|
|
EMERALD.registerGenomeTemplate(BeeGenomeManager.getTemplateEmerald());
|
|
APATITE.registerGenomeTemplate(BeeGenomeManager.getTemplateApatite());
|
|
SILICON.registerGenomeTemplate(BeeGenomeManager.getTemplateSilicon());
|
|
FLUIX.registerGenomeTemplate(BeeGenomeManager.getTemplateFluix());
|
|
CERTUS.registerGenomeTemplate(BeeGenomeManager.getTemplateCertus());
|
|
MUTABLE.registerGenomeTemplate(BeeGenomeManager.getTemplateMutable());
|
|
TRANSMUTING.registerGenomeTemplate(BeeGenomeManager.getTemplateTransmuting());
|
|
CRUMBLING.registerGenomeTemplate(BeeGenomeManager.getTemplateCrumbling());
|
|
INVISIBLE.registerGenomeTemplate(BeeGenomeManager.getTemplateInvisible());
|
|
TC_AIR.registerGenomeTemplate(BeeGenomeManager.getTemplateTCAir());
|
|
TC_FIRE.registerGenomeTemplate(BeeGenomeManager.getTemplateTCFire());
|
|
TC_WATER.registerGenomeTemplate(BeeGenomeManager.getTemplateTCWater());
|
|
TC_EARTH.registerGenomeTemplate(BeeGenomeManager.getTemplateTCEarth());
|
|
TC_ORDER.registerGenomeTemplate(BeeGenomeManager.getTemplateTCOrder());
|
|
TC_CHAOS.registerGenomeTemplate(BeeGenomeManager.getTemplateTCChaos());
|
|
TC_VIS.registerGenomeTemplate(BeeGenomeManager.getTemplateTCVis());
|
|
TC_REJUVENATING.registerGenomeTemplate(BeeGenomeManager.getTemplateTCRejuvinating());
|
|
TC_EMPOWERING.registerGenomeTemplate(BeeGenomeManager.getTemplateTCEmpowering());
|
|
TC_NEXUS.registerGenomeTemplate(BeeGenomeManager.getTemplateTCNexus());
|
|
TC_TAINT.registerGenomeTemplate(BeeGenomeManager.getTemplateTCTaint());
|
|
TC_PURE.registerGenomeTemplate(BeeGenomeManager.getTemplateTCPure());
|
|
TC_HUNGRY.registerGenomeTemplate(BeeGenomeManager.getTemplateTCHungry());
|
|
BRAINY.registerGenomeTemplate(BeeGenomeManager.getTemplateBrainy());
|
|
TC_WISPY.registerGenomeTemplate(BeeGenomeManager.getTemplateTCWispy());
|
|
BATTY.registerGenomeTemplate(BeeGenomeManager.getTemplateBatty());
|
|
TC_VOID.registerGenomeTemplate(BeeGenomeManager.getTemplaceTCVoid());
|
|
EE_MINIUM.registerGenomeTemplate(BeeGenomeManager.getTemplateEEMinium());
|
|
AM_ESSENCE.registerGenomeTemplate(BeeGenomeManager.getTemplateAMEssence());
|
|
AM_QUINTESSENCE.registerGenomeTemplate(BeeGenomeManager.getTemplateAMQuintessence());
|
|
AM_EARTH.registerGenomeTemplate(BeeGenomeManager.getTemplateAMEarth());
|
|
AM_AIR.registerGenomeTemplate(BeeGenomeManager.getTemplateAMAir());
|
|
AM_FIRE.registerGenomeTemplate(BeeGenomeManager.getTemplateAMFire());
|
|
AM_WATER.registerGenomeTemplate(BeeGenomeManager.getTemplateAMWater());
|
|
AM_LIGHTNING.registerGenomeTemplate(BeeGenomeManager.getTemplateAMLightning());
|
|
AM_PLANT.registerGenomeTemplate(BeeGenomeManager.getTemplateAMPlant());
|
|
AM_ICE.registerGenomeTemplate(BeeGenomeManager.getTemplateAMIce());
|
|
AM_ARCANE.registerGenomeTemplate(BeeGenomeManager.getTemplateAMArcane());
|
|
AM_VORTEX.registerGenomeTemplate(BeeGenomeManager.getTemplateAMVortex());
|
|
AM_WIGHT.registerGenomeTemplate(BeeGenomeManager.getTemplateAMWight());
|
|
TE_BLIZZY.registerGenomeTemplate(BeeGenomeManager.getTemplateTEBlizzy());
|
|
TE_GELID.registerGenomeTemplate(BeeGenomeManager.getTemplateTEGelid());
|
|
TE_DANTE.registerGenomeTemplate(BeeGenomeManager.getTemplateTEDante());
|
|
TE_PYRO.registerGenomeTemplate(BeeGenomeManager.getTemplateTEPyro());
|
|
TE_SHOCKING.registerGenomeTemplate(BeeGenomeManager.getTemplateTEShocking());
|
|
TE_AMPED.registerGenomeTemplate(BeeGenomeManager.getTemplateTEAmped());
|
|
TE_GROUNDED.registerGenomeTemplate(BeeGenomeManager.getTemplateTEGrounded());
|
|
TE_ROCKING.registerGenomeTemplate(BeeGenomeManager.getTemplateTERocking());
|
|
TE_ELECTRUM.registerGenomeTemplate(BeeGenomeManager.getTemplateTEElectrum());
|
|
TE_PLATINUM.registerGenomeTemplate(BeeGenomeManager.getTemplateTEPlatinum());
|
|
TE_NICKEL.registerGenomeTemplate(BeeGenomeManager.getTemplateTENickel());
|
|
TE_INVAR.registerGenomeTemplate(BeeGenomeManager.getTemplateTEInvar());
|
|
TE_BRONZE.registerGenomeTemplate(BeeGenomeManager.getTemplateTEBronze());
|
|
TE_COAL.registerGenomeTemplate(BeeGenomeManager.getTemplateTECoal());
|
|
TE_DESTABILIZED.registerGenomeTemplate(BeeGenomeManager.getTemplateTEDestabilized());
|
|
TE_LUX.registerGenomeTemplate(BeeGenomeManager.getTemplateTELux());
|
|
TE_WINSOME.registerGenomeTemplate(BeeGenomeManager.getTemplateTEWinsome());
|
|
TE_ENDEARING.registerGenomeTemplate(BeeGenomeManager.getTemplateTEEndearing());
|
|
TE_SIGNALUS.registerGenomeTemplate(BeeGenomeManager.getTemplateTESignalus());
|
|
TE_LUMIUS.registerGenomeTemplate(BeeGenomeManager.getTemplateTELumius());
|
|
RSA_FLUXED.registerGenomeTemplate(BeeGenomeManager.getTemplateRSAFluxed());
|
|
BOT_ROOTED.registerGenomeTemplate(BeeGenomeManager.getTemplateBotRooted());
|
|
BOT_BOTANIC.registerGenomeTemplate(BeeGenomeManager.getTemplateBotBotanic());
|
|
BOT_BLOSSOM.registerGenomeTemplate(BeeGenomeManager.getTemplateBotBlossom());
|
|
BOT_FLORAL.registerGenomeTemplate(BeeGenomeManager.getTemplateBotFloral());
|
|
BOT_VAZBEE.registerGenomeTemplate(BeeGenomeManager.getTemplateBotVazbee());
|
|
BOT_SOMNOLENT.registerGenomeTemplate(BeeGenomeManager.getTemplateBotSomnolent());
|
|
BOT_DREAMING.registerGenomeTemplate(BeeGenomeManager.getTemplateBotDreaming());
|
|
BOT_ALFHEIM.registerGenomeTemplate(BeeGenomeManager.getTemplateBotAelfheim());
|
|
AE_SKYSTONE.registerGenomeTemplate(BeeGenomeManager.getTemplateAESkystone());
|
|
|
|
BeeProductHelper.initThaumcraftProducts();
|
|
if (!ThaumcraftHelper.isActive()) {
|
|
TC_CHAOS.setInactive();
|
|
TC_AIR.setInactive();
|
|
TC_FIRE.setInactive();
|
|
TC_WATER.setInactive();
|
|
TC_EARTH.setInactive();
|
|
TC_ORDER.setInactive();
|
|
|
|
TC_VIS.setInactive();
|
|
TC_REJUVENATING.setInactive();
|
|
TC_EMPOWERING.setInactive();
|
|
TC_NEXUS.setInactive();
|
|
TC_TAINT.setInactive();
|
|
TC_PURE.setInactive();
|
|
TC_HUNGRY.setInactive();
|
|
|
|
BRAINY.setInactive();
|
|
|
|
TC_WISPY.setInactive();
|
|
TC_VOID.setInactive();
|
|
}
|
|
|
|
BeeProductHelper.initEquivalentExchange3Species();
|
|
if (!EquivalentExchangeHelper.isActive()) {
|
|
EE_MINIUM.setInactive();
|
|
}
|
|
|
|
BeeProductHelper.initArsMagicaSpecies();
|
|
if (!ArsMagicaHelper.isActive()) {
|
|
AM_ESSENCE.setInactive();
|
|
AM_QUINTESSENCE.setInactive();
|
|
AM_EARTH.setInactive();
|
|
AM_AIR.setInactive();
|
|
AM_FIRE.setInactive();
|
|
AM_WATER.setInactive();
|
|
AM_LIGHTNING.setInactive();
|
|
AM_PLANT.setInactive();
|
|
AM_ICE.setInactive();
|
|
AM_ARCANE.setInactive();
|
|
AM_VORTEX.setInactive();
|
|
AM_WIGHT.setInactive();
|
|
}
|
|
|
|
BeeProductHelper.initThermalExpansionProducts();
|
|
if (!ThermalModsHelper.isActive()) {
|
|
TE_BLIZZY.setInactive();
|
|
TE_GELID.setInactive();
|
|
TE_DANTE.setInactive();
|
|
TE_PYRO.setInactive();
|
|
TE_SHOCKING.setInactive();
|
|
TE_AMPED.setInactive();
|
|
TE_GROUNDED.setInactive();
|
|
TE_ROCKING.setInactive();
|
|
TE_DESTABILIZED.setInactive();
|
|
TE_COAL.setInactive();
|
|
TE_LUX.setInactive();
|
|
TE_WINSOME.setInactive();
|
|
TE_ENDEARING.setInactive();
|
|
TE_SIGNALUS.setInactive();
|
|
TE_LUMIUS.setInactive();
|
|
}
|
|
|
|
BeeProductHelper.initRedstoneArsenelProducts();
|
|
if (!RedstoneArsenalHelper.isActive()) {
|
|
RSA_FLUXED.setInactive();
|
|
}
|
|
|
|
BeeProductHelper.initBotaniaProducts();
|
|
if (!BotaniaHelper.isActive()) {
|
|
BOT_ROOTED.setInactive();
|
|
BOT_BLOSSOM.setInactive();
|
|
BOT_BOTANIC.setInactive();
|
|
BOT_FLORAL.setInactive();
|
|
BOT_VAZBEE.setInactive();
|
|
BOT_SOMNOLENT.setInactive();
|
|
BOT_DREAMING.setInactive();
|
|
BOT_ALFHEIM.setInactive();
|
|
}
|
|
|
|
BeeProductHelper.initAppEngProducts();
|
|
if (!AppliedEnergisticsHelper.isActive()) {
|
|
AE_SKYSTONE.setInactive();
|
|
}
|
|
|
|
for (BeeSpecies beeSpecies : BeeSpecies.values()) {
|
|
if (beeSpecies.isActive()) {
|
|
beeSpecies.setupCustomIconProvider();
|
|
}
|
|
}
|
|
}
|
|
|
|
private static final String authority = "MysteriousAges";
|
|
|
|
private final IAlleleBeeSpeciesCustom species;
|
|
private final EnumTemperature temperature;
|
|
private final EnumHumidity humidity;
|
|
|
|
private boolean active = true;
|
|
|
|
private IAllele genomeTemplate[];
|
|
|
|
BeeSpecies(String speciesName, String genusName, IClassification classification, int firstColour,
|
|
EnumTemperature preferredTemp, EnumHumidity preferredHumidity, boolean hasGlowEffect,
|
|
boolean isSpeciesDominant) {
|
|
this(
|
|
speciesName,
|
|
genusName,
|
|
classification,
|
|
firstColour,
|
|
BodyColours.DEFAULT,
|
|
preferredTemp,
|
|
preferredHumidity,
|
|
hasGlowEffect,
|
|
true,
|
|
true,
|
|
isSpeciesDominant,
|
|
false);
|
|
}
|
|
|
|
BeeSpecies(String speciesName, String genusName, IClassification classification, int firstColour, int secondColour,
|
|
EnumTemperature preferredTemp, EnumHumidity preferredHumidity, boolean hasGlowEffect,
|
|
boolean isSpeciesDominant) {
|
|
this(
|
|
speciesName,
|
|
genusName,
|
|
classification,
|
|
firstColour,
|
|
secondColour,
|
|
preferredTemp,
|
|
preferredHumidity,
|
|
hasGlowEffect,
|
|
true,
|
|
true,
|
|
isSpeciesDominant,
|
|
false);
|
|
}
|
|
|
|
BeeSpecies(String speciesName, String genusName, IClassification classification, int firstColour, int secondColour,
|
|
EnumTemperature preferredTemp, EnumHumidity preferredHumidity, boolean isSecret, boolean hasGlowEffect,
|
|
boolean isSpeciesDominant) {
|
|
this(
|
|
speciesName,
|
|
genusName,
|
|
classification,
|
|
firstColour,
|
|
secondColour,
|
|
preferredTemp,
|
|
preferredHumidity,
|
|
hasGlowEffect,
|
|
isSecret,
|
|
true,
|
|
isSpeciesDominant,
|
|
false);
|
|
}
|
|
|
|
BeeSpecies(String speciesName, String genusName, IClassification classification, int firstColour,
|
|
EnumTemperature preferredTemp, EnumHumidity preferredHumidity, boolean isSecret, boolean hasGlowEffect,
|
|
boolean isSpeciesDominant) {
|
|
this(
|
|
speciesName,
|
|
genusName,
|
|
classification,
|
|
firstColour,
|
|
BodyColours.DEFAULT,
|
|
preferredTemp,
|
|
preferredHumidity,
|
|
hasGlowEffect,
|
|
isSecret,
|
|
true,
|
|
isSpeciesDominant,
|
|
false);
|
|
}
|
|
|
|
BeeSpecies(String speciesName, String genusName, IClassification classification, int firstColour, int secondColour,
|
|
EnumTemperature preferredTemp, EnumHumidity preferredHumidity, boolean hasGlowEffect,
|
|
boolean isSpeciesSecret, boolean isSpeciesCounted, boolean isSpeciesDominant, boolean isSpeciesNocturnal) {
|
|
|
|
String uid = "magicbees.species" + speciesName;
|
|
|
|
this.temperature = preferredTemp;
|
|
this.humidity = preferredHumidity;
|
|
|
|
IBeeFactory beeFactory = forestry.api.apiculture.BeeManager.beeFactory;
|
|
this.species = beeFactory.createSpecies(
|
|
uid,
|
|
isSpeciesDominant,
|
|
authority,
|
|
uid,
|
|
uid + ".description",
|
|
classification,
|
|
genusName,
|
|
firstColour,
|
|
secondColour);
|
|
|
|
this.species.setTemperature(preferredTemp);
|
|
this.species.setHumidity(preferredHumidity);
|
|
|
|
if (isSpeciesNocturnal) {
|
|
this.species.setNocturnal();
|
|
}
|
|
if (hasGlowEffect) {
|
|
this.species.setHasEffect();
|
|
}
|
|
if (isSpeciesSecret) {
|
|
this.species.setIsSecret();
|
|
}
|
|
if (!isSpeciesCounted) {
|
|
this.species.setIsNotCounted();
|
|
}
|
|
|
|
classification.addMemberSpecies(species);
|
|
}
|
|
|
|
public IAllele[] getGenome() {
|
|
return genomeTemplate;
|
|
}
|
|
|
|
public IAlleleBeeSpecies getSpecies() {
|
|
return species;
|
|
}
|
|
|
|
public BeeSpecies addProduct(ItemStack produce, float chance) {
|
|
species.addProduct(produce, chance);
|
|
return this;
|
|
}
|
|
|
|
public BeeSpecies addSpecialty(ItemStack produce, float chance) {
|
|
species.addSpecialty(produce, chance);
|
|
return this;
|
|
}
|
|
|
|
public ItemStack getBeeItem(EnumBeeType beeType) {
|
|
return BeeManager.beeRoot.getMemberStack(
|
|
BeeManager.beeRoot.getBee(null, BeeManager.beeRoot.templateAsGenome(genomeTemplate)),
|
|
beeType.ordinal());
|
|
}
|
|
|
|
public BeeSpecies setInactive() {
|
|
this.active = false;
|
|
AlleleManager.alleleRegistry.blacklistAllele(species.getUID());
|
|
return this;
|
|
}
|
|
|
|
public boolean isActive() {
|
|
return active;
|
|
}
|
|
|
|
public void registerGenomeTemplate(IAllele[] genome) {
|
|
genomeTemplate = genome;
|
|
BeeManager.beeRoot.registerTemplate(species.getUID(), genome);
|
|
}
|
|
|
|
private void setupCustomIconProvider() {
|
|
IBeeIconProvider iconProvider = getCustomIconProvider();
|
|
if (iconProvider != null) {
|
|
this.species.setCustomBeeIconProvider(iconProvider);
|
|
}
|
|
|
|
IBeeIconColourProvider iconColourProvider = getCustomIconColourProvider();
|
|
if (iconColourProvider != null) {
|
|
this.species.setCustomBeeIconColourProvider(iconColourProvider);
|
|
}
|
|
}
|
|
|
|
private IBeeIconProvider getCustomIconProvider() {
|
|
switch (this) {
|
|
case SKULKING:
|
|
case GHASTLY:
|
|
case SPIDERY:
|
|
case SMOULDERING:
|
|
case BIGBAD:
|
|
case BATTY:
|
|
case SHEEPISH:
|
|
case HORSE:
|
|
case CATTY:
|
|
case BRAINY:
|
|
case TC_WISPY:
|
|
case AM_VORTEX:
|
|
case AM_WIGHT:
|
|
case TE_BLIZZY:
|
|
case TE_GELID:
|
|
case TE_DANTE:
|
|
case TE_PYRO:
|
|
case TE_SHOCKING:
|
|
case TE_AMPED:
|
|
case TE_GROUNDED:
|
|
case TE_ROCKING:
|
|
return BeeIconProvider.SKULKING;
|
|
|
|
case DOCTORAL:
|
|
return BeeIconProvider.DOCTORAL;
|
|
|
|
default:
|
|
return null;
|
|
}
|
|
}
|
|
|
|
private IBeeIconColourProvider getCustomIconColourProvider() {
|
|
switch (this) {
|
|
case BOT_ALFHEIM:
|
|
return BeeIconColourProvider.RAINBOW;
|
|
}
|
|
return null;
|
|
}
|
|
|
|
public boolean canWorkInTemperature(EnumTemperature temp) {
|
|
IAlleleTolerance tolerance = (IAlleleTolerance) genomeTemplate[EnumBeeChromosome.TEMPERATURE_TOLERANCE
|
|
.ordinal()];
|
|
return AlleleManager.climateHelper.isWithinLimits(
|
|
temp,
|
|
EnumHumidity.NORMAL,
|
|
temperature,
|
|
tolerance.getValue(),
|
|
EnumHumidity.NORMAL,
|
|
EnumTolerance.NONE);
|
|
}
|
|
|
|
public boolean canWorkInHumidity(EnumHumidity humid) {
|
|
IAlleleTolerance tolerance = (IAlleleTolerance) genomeTemplate[EnumBeeChromosome.HUMIDITY_TOLERANCE.ordinal()];
|
|
return AlleleManager.climateHelper.isWithinLimits(
|
|
EnumTemperature.NORMAL,
|
|
humid,
|
|
EnumTemperature.NORMAL,
|
|
EnumTolerance.NONE,
|
|
humidity,
|
|
tolerance.getValue());
|
|
}
|
|
}
|