aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech
diff options
context:
space:
mode:
authorbartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com>2020-10-19 10:54:08 +0200
committerGitHub <noreply@github.com>2020-10-19 10:54:08 +0200
commit6d9bd4fff43c6e76766816908758127737dde642 (patch)
tree986dc123e9a87ed1216ce74ebc267f1ec7adfb2e /src/main/java/gregtech
parentd9bdde27be5d401f72b93614576ec48ed0a22049 (diff)
downloadGT5-Unofficial-6d9bd4fff43c6e76766816908758127737dde642.tar.gz
GT5-Unofficial-6d9bd4fff43c6e76766816908758127737dde642.tar.bz2
GT5-Unofficial-6d9bd4fff43c6e76766816908758127737dde642.zip
Bee Definition Cleanup (#326)
* Bee Definition Cleanup Removed a Lot of boilerplate code, by using Consumers instead of Overrides Signed-off-by: bartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com> * Made Use of Static imports + use "Color" class for better IDE integration & readability + parameterised some Generics + reroute some Method overloads Signed-off-by: bartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com> * fixed an oversight Signed-off-by: bartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com> * fixed a typo Signed-off-by: bartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com>
Diffstat (limited to 'src/main/java/gregtech')
-rw-r--r--src/main/java/gregtech/common/bees/GT_AlleleBeeSpecies.java14
-rw-r--r--src/main/java/gregtech/common/bees/GT_AlleleHelper.java11
-rw-r--r--src/main/java/gregtech/common/bees/GT_Bee_Mutation.java5
-rw-r--r--src/main/java/gregtech/loaders/misc/GT_BeeDefinition.java6010
-rw-r--r--src/main/java/gregtech/loaders/misc/GT_BranchDefinition.java289
5 files changed, 2770 insertions, 3559 deletions
diff --git a/src/main/java/gregtech/common/bees/GT_AlleleBeeSpecies.java b/src/main/java/gregtech/common/bees/GT_AlleleBeeSpecies.java
index 83dc82e6f9..41726b4fc5 100644
--- a/src/main/java/gregtech/common/bees/GT_AlleleBeeSpecies.java
+++ b/src/main/java/gregtech/common/bees/GT_AlleleBeeSpecies.java
@@ -8,9 +8,19 @@ import forestry.apiculture.genetics.alleles.AlleleBeeSpecies;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
+import java.awt.*;
+
public class GT_AlleleBeeSpecies extends AlleleBeeSpecies {
- public GT_AlleleBeeSpecies(String uid, boolean dominant, String unlocalizedName, String authority, String unlocalizedDescription, IClassification branch, String binomial, int primaryColor, int secondaryColor) {
- super(uid, unlocalizedName, authority, unlocalizedDescription, dominant, branch, binomial, primaryColor, secondaryColor);
+ public GT_AlleleBeeSpecies(String uid,
+ boolean dominant,
+ String unlocalizedName,
+ String authority,
+ String unlocalizedDescription,
+ IClassification branch,
+ String binomial,
+ Color primaryColor,
+ Color secondaryColor) {
+ super(uid, unlocalizedName, authority, unlocalizedDescription, dominant, branch, binomial, primaryColor.getRGB(), secondaryColor.getRGB());
AlleleManager.alleleRegistry.registerAllele(this, EnumBeeChromosome.SPECIES);
}
diff --git a/src/main/java/gregtech/common/bees/GT_AlleleHelper.java b/src/main/java/gregtech/common/bees/GT_AlleleHelper.java
index cb54f5d4a1..e1db4c2ac0 100644
--- a/src/main/java/gregtech/common/bees/GT_AlleleHelper.java
+++ b/src/main/java/gregtech/common/bees/GT_AlleleHelper.java
@@ -21,7 +21,7 @@ public class GT_AlleleHelper extends AlleleHelper {
private static final String modId = Constants.ID;
- private Map<Class, Map<?, ? extends IAllele>> alleleMaps = new HashMap<>();
+ private Map<Class<?>, Map<?, ? extends IAllele>> alleleMaps = new HashMap<>();
public void init() {
if (PluginManager.Module.APICULTURE.isEnabled()) {
@@ -114,12 +114,17 @@ public class GT_AlleleHelper extends AlleleHelper {
}
alleleMaps.put(Boolean.class, booleans);
}
-
+ @SuppressWarnings("unchecked")
public static void initialisation(){
GT_AlleleHelper helper = new GT_AlleleHelper();
try {
- helper.alleleMaps = (Map<Class, Map<?, ? extends IAllele>>) FieldUtils.readField(FieldUtils.getField(AlleleHelper.class,"alleleMaps",true),AlleleHelper.instance,true);
+ helper.alleleMaps = (Map<Class<?>, Map<?, ? extends IAllele>>)
+ FieldUtils.readField(
+ FieldUtils.getField(AlleleHelper.class,"alleleMaps",true),
+ AlleleHelper.instance,
+ true
+ );
} catch (IllegalAccessException e) {
e.printStackTrace();
}
diff --git a/src/main/java/gregtech/common/bees/GT_Bee_Mutation.java b/src/main/java/gregtech/common/bees/GT_Bee_Mutation.java
index 7b61505fc7..ca919e7cf2 100644
--- a/src/main/java/gregtech/common/bees/GT_Bee_Mutation.java
+++ b/src/main/java/gregtech/common/bees/GT_Bee_Mutation.java
@@ -16,7 +16,7 @@ import java.util.List;
public class GT_Bee_Mutation extends BeeMutation {
- private float split = 1;
+ private final float split;
public GT_Bee_Mutation(IAlleleBeeSpecies bee0, IAlleleBeeSpecies bee1, IAllele[] result, int chance, float split) {
super(bee0, bee1, result, chance);
@@ -52,6 +52,7 @@ public class GT_Bee_Mutation extends BeeMutation {
return processedChance;
}
+ @SuppressWarnings("unchecked")
private float getBasicChance(World world, int x, int y, int z, IAllele allele0, IAllele allele1, IGenome genome0, IGenome genome1) {
float mutationChance = this.getBaseChance();
List<IMutationCondition> mutationConditions = null;
@@ -61,7 +62,7 @@ public class GT_Bee_Mutation extends BeeMutation {
if (f == null)
return mutationChance;
try {
- mutationConditions = f.get(this) instanceof List ? (List) f.get(this) : null;
+ mutationConditions = f.get(this) instanceof List ? (List<IMutationCondition>) f.get(this) : null;
} catch (IllegalAccessException e) {
e.printStackTrace();
}
diff --git a/src/main/java/gregtech/loaders/misc/GT_BeeDefinition.java b/src/main/java/gregtech/loaders/misc/GT_BeeDefinition.java
index 95914d1a71..097c2dd034 100644
--- a/src/main/java/gregtech/loaders/misc/GT_BeeDefinition.java
+++ b/src/main/java/gregtech/loaders/misc/GT_BeeDefinition.java
@@ -14,7 +14,6 @@ import forestry.apiculture.genetics.BeeVariation;
import forestry.apiculture.genetics.IBeeDefinition;
import forestry.apiculture.genetics.alleles.AlleleEffect;
import forestry.core.genetics.alleles.AlleleHelper;
-import forestry.core.genetics.alleles.EnumAllele;
import gregtech.api.GregTech_API;
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.ItemList;
@@ -34,3411 +33,2573 @@ import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import org.apache.commons.lang3.text.WordUtils;
+import java.awt.*;
import java.util.Arrays;
import java.util.Locale;
+import java.util.function.Consumer;
+
+import static forestry.api.apiculture.EnumBeeChromosome.*;
+import static forestry.api.core.EnumHumidity.ARID;
+import static forestry.api.core.EnumHumidity.DAMP;
+import static forestry.api.core.EnumTemperature.*;
+import static forestry.core.genetics.alleles.EnumAllele.*;
+import static gregtech.loaders.misc.GT_BeeDefinitionReference.*;
+
+@SuppressWarnings("ALL")
+/**
+ * Bride Class for Lambdas
+ */
+class GT_BeeDefinitionReference {
+ protected final static byte FORESTRY = 0;
+ protected final static byte EXTRABEES = 1;
+ protected final static byte GENDUSTRY = 2;
+ protected final static byte MAGICBEES = 3;
+ protected final static byte GREGTECH = 4;
+ private GT_BeeDefinitionReference() {}
+}
public enum GT_BeeDefinition implements IBeeDefinition {
-
//organic
- CLAY(GT_BranchDefinition.ORGANIC, "Clay", true, 0xC8C8DA, 0x0000FF) {
- @Override
- protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
- beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 0), 0.30f);
- beeSpecies.addProduct(new ItemStack(Items.clay_ball, 1), 0.15f);
- beeSpecies.addSpecialty(GT_ModHandler.getModItem("BiomesOPlenty", "mudball", 1, 0), 0.05f);
- beeSpecies.setHumidity(EnumHumidity.DAMP);
- beeSpecies.setTemperature(EnumTemperature.NORMAL);
- //Example
- //beeSpecies.setIsSecret();
- }
-
- @Override
- protected void setAlleles(IAllele[] template) {
- AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOWER);
- AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.NONE);
- AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.VANILLA);
- //Exaples
- //template = BeeDefinition.CULTIVATED.getTemplate();
- //AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.FASTEST);
- //tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(-1));
- //tMutation.addMutationCondition(new GT_Bees.BiomeIDMutationCondition(50));
- //tMutation.requireResource(Blocks.coal_block, 0);
- //AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.DOWN_1);
- //tMutation.requireResource(GameRegistry.findBlock("minecraft", "sand"), 1);
- //AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, GT_Bees.superLife);
- //tMutation.restrictDateRange( 1, 1, 1, 1);
- }
-
- @Override
- protected void registerMutations() {
- IBeeMutationCustom tMutation = registerMutation(getSpecies(FORRESTRY, "Industrious"), getSpecies(FORRESTRY, "Diligent"), 10);
- tMutation.requireResource(Blocks.clay,0); //blockStainedHardenedClay
- }
- },
- SLIMEBALL(GT_BranchDefinition.ORGANIC, "SlimeBall", true, 0x4E9E55, 0x00FF15) {
- @Override
- protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
- beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 15), 0.30f);
- beeSpecies.addProduct(new ItemStack(Items.slime_ball, 1), 0.15f);
- beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.STICKY), 0.05f);
- beeSpecies.setHumidity(EnumHumidity.DAMP);
- beeSpecies.setTemperature(EnumTemperature.NORMAL);
- if (Loader.isModLoaded("TConstruct")) {
- beeSpecies.addProduct(GT_ModHandler.getModItem("TConstruct", "strangeFood", 1, 0), 0.10f);
- beeSpecies.addSpecialty(GT_ModHandler.getModItem("TConstruct", "slime.gel", 1, 2), 0.01f);
+ CLAY(GT_BranchDefinition.ORGANIC, "Clay", true, new Color(0xC8C8DA), new Color(0x0000FF),
+ beeSpecies -> {
+ beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 0), 0.30f);
+ beeSpecies.addProduct(new ItemStack(Items.clay_ball, 1), 0.15f);
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem("BiomesOPlenty", "mudball", 1, 0), 0.05f);
+ beeSpecies.setHumidity(DAMP);
+ beeSpecies.setTemperature(EnumTemperature.NORMAL);
+ },
+ template -> {
+ AlleleHelper.instance.set(template, FLOWERING, Flowering.SLOWER);
+ AlleleHelper.instance.set(template, HUMIDITY_TOLERANCE, Tolerance.NONE);
+ AlleleHelper.instance.set(template, FLOWER_PROVIDER, Flowers.VANILLA);
+ },
+ dis -> {
+ IBeeMutationCustom tMutation = dis.registerMutation(getSpecies(FORESTRY, "Industrious"), getSpecies(FORESTRY, "Diligent"), 10);
+ tMutation.requireResource(Blocks.clay, 0); //blockStainedHardenedClay
}
+ ),
+ SLIMEBALL(GT_BranchDefinition.ORGANIC, "SlimeBall", true, new Color(0x4E9E55), new Color(0x00FF15),
+ beeSpecies -> {
+ beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 15), 0.30f);
+ beeSpecies.addProduct(new ItemStack(Items.slime_ball, 1), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.STICKY), 0.05f);
+ beeSpecies.setHumidity(DAMP);
+ beeSpecies.setTemperature(EnumTemperature.NORMAL);
+ if (Loader.isModLoaded("TConstruct")) {
+ beeSpecies.addProduct(GT_ModHandler.getModItem("TConstruct", "strangeFood", 1, 0), 0.10f);
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem("TConstruct", "slime.gel", 1, 2), 0.01f);
+ }
+ },
+ template -> {
+ AlleleHelper.instance.set(template, FLOWER_PROVIDER, Flowers.MUSHROOMS);
+ AlleleHelper.instance.set(template, FLOWERING, Flowering.SLOWER);
+ AlleleHelper.instance.set(template, TEMPERATURE_TOLERANCE, Tolerance.BOTH_1);
+ AlleleHelper.instance.set(template, HUMIDITY_TOLERANCE, Tolerance.BOTH_1);
+ AlleleHelper.instance.set(template, FLOWER_PROVIDER, getFlowers(EXTRABEES, "water"));
+ },
+ dis -> {
+ IBeeMutationCustom tMutation = dis.registerMutation(getSpecies(FORESTRY, "Marshy"), CLAY, 7);
+ if (Loader.isModLoaded("TConstruct"))
+ tMutation.requireResource(GameRegistry.findBlock("TConstruct", "slime.gel"), 1);
+ }
+ ),
+ PEAT(GT_BranchDefinition.ORGANIC, "Peat", true, new Color(0x906237), new Color(0x58300B),
+ beeSpecies -> {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.LIGNIE), 0.30f);
+ beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 0), 0.15f);
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "peat", 1, 0), 0.15f);
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "mulch", 1, 0), 0.05f);
+ beeSpecies.setHumidity(EnumHumidity.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.NORMAL);
+ },
+ template -> {
+ AlleleHelper.instance.set(template, SPEED, Speed.SLOWER);
+ AlleleHelper.instance.set(template, LIFESPAN, Lifespan.SHORTER);
+ AlleleHelper.instance.set(template, FLOWER_PROVIDER, Flowers.WHEAT);
+ AlleleHelper.instance.set(template, FLOWERING, Flowering.FASTER);
+ AlleleHelper.instance.set(template, HUMIDITY_TOLERANCE, Tolerance.NONE);
+ },
+ dis -> dis.registerMutation(getSpecies(FORESTRY, "Rural"), CLAY, 10)
+ ),
+ STICKYRESIN(GT_BranchDefinition.ORGANIC, "StickyResin", true, new Color(0x2E8F5B), new Color(0xDCC289),
+ beeSpecies -> {
+ beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 0), 0.30f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.STICKY), 0.15f);
+ beeSpecies.addSpecialty(ItemList.IC2_Resin.get(1), 0.15f);
+ beeSpecies.setHumidity(EnumHumidity.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.NORMAL);
+ },
+ template -> {
+ AlleleHelper.instance.set(template, FLOWERING, Flowering.SLOWER);
+ AlleleHelper.instance.set(template, HUMIDITY_TOLERANCE, Tolerance.NONE);
+ },
+ dis -> {
+ IBeeMutationCustom tMutation = dis.registerMutation(SLIMEBALL, PEAT, 15);
+ tMutation.requireResource("logRubber");
+ }
+ ),
+ COAL(GT_BranchDefinition.ORGANIC, "Coal", true, new Color(0x666666), new Color(0x525252),
+ beeSpecies -> {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.LIGNIE), 0.30f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.COAL), 0.15f);
+ beeSpecies.setHumidity(EnumHumidity.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.NORMAL);
+ },
+ template -> {
+ AlleleHelper.instance.set(template, FLOWER_PROVIDER, Flowers.CACTI);
+ AlleleHelper.instance.set(template, SPEED, Speed.SLOWEST);
+ AlleleHelper.instance.set(template, LIFESPAN, Lifespan.LONGER);
+ AlleleHelper.instance.set(template, TEMPERATURE_TOLERANCE, Tolerance.DOWN_2);
+ AlleleHelper.instance.set(template, HUMIDITY_TOLERANCE, Tolerance.DOWN_1);
+ AlleleHelper.instance.set(template, NOCTURNAL, true);
+ AlleleHelper.instance.set(template, EFFECT, AlleleEffect.effectCreeper);
+ },
+ dis -> {
+ IBeeMutationCustom tMutation = dis.registerMutation(getSpecies(FORESTRY, "Industrious"), PEAT, 9);
+ tMutation.requireResource("blockCoal");
+ }
+ ),
+ OIL(GT_BranchDefinition.ORGANIC, "Oil", true, new Color(0x4C4C4C), new Color(0x333333),
+ beeSpecies -> {
+ beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 0), 0.30f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.OIL), 0.15f);
+ beeSpecies.setHumidity(DAMP);
+ beeSpecies.setTemperature(EnumTemperature.NORMAL);
+ beeSpecies.setHasEffect();
+ },
+ template -> {
+ AlleleHelper.instance.set(template, FLOWERING, Flowering.SLOWER);
+ AlleleHelper.instance.set(template, NOCTURNAL, true);
+ AlleleHelper.instance.set(template, LIFESPAN, Lifespan.NORMAL);
+ AlleleHelper.instance.set(template, SPEED, Speed.SLOWER);
+ AlleleHelper.instance.set(template, FLOWER_PROVIDER, getFlowers(EXTRABEES, "water"));
+ AlleleHelper.instance.set(template, TEMPERATURE_TOLERANCE, Tolerance.NONE);
+ AlleleHelper.instance.set(template, HUMIDITY_TOLERANCE, Tolerance.NONE);
+
+ },
+ dis -> dis.registerMutation(COAL, STICKYRESIN, 4)
+ ),
+ SANDWICH(GT_BranchDefinition.ORGANIC, "Sandwich", true, new Color(0x32CD32), new Color(0xDAA520),
+ beeSpecies -> {
+ beeSpecies.addProduct(GT_ModHandler.getModItem("ExtraBees", "honeyComb", 1, 9), 0.15f);
+ beeSpecies.addSpecialty(ItemList.Food_Sliced_Cucumber.get(1), 0.05f);
+ beeSpecies.addSpecialty(ItemList.Food_Sliced_Onion.get(1), 0.05f);
+ beeSpecies.addSpecialty(ItemList.Food_Sliced_Tomato.get(1), 0.05f);
+ beeSpecies.addSpecialty(ItemList.Food_Sliced_Cheese.get(1), 0.05f);
+ beeSpecies.addSpecialty(new ItemStack(Items.cooked_porkchop, 1, 0), 0.05f);
+ beeSpecies.addSpecialty(new ItemStack(Items.cooked_beef, 1, 0), 0.05f);
+ beeSpecies.setHumidity(EnumHumidity.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.NORMAL);
+ },
+ template -> {
+ AlleleHelper.instance.set(template, SPEED, Speed.SLOW);
+ AlleleHelper.instance.set(template, HUMIDITY_TOLERANCE, Tolerance.BOTH_2);
+ AlleleHelper.instance.set(template, EFFECT, AlleleEffect.effectFertile);
+ AlleleHelper.instance.set(template, TERRITORY, Territory.LARGE);
+ AlleleHelper.instance.set(template, LIFESPAN, Lifespan.SHORTER);
+ AlleleHelper.instance.set(template, FLOWER_PROVIDER, Flowers.WHEAT);
+ AlleleHelper.instance.set(template, FLOWERING, Flowering.FASTER);
+
+ },
+ dis -> dis.registerMutation(getSpecies(FORESTRY, "Agrarian"), getSpecies(MAGICBEES, "TCBatty"), 10)
+ ),
+ ASH(GT_BranchDefinition.ORGANIC, "Ash", true, new Color(0x1e1a18), new Color(0xc6c6c6),
+ beeSpecies -> {
+ beeSpecies.addProduct(GT_ModHandler.getModItem("ExtraBees", "honeyComb", 1, 9), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.ASH), 0.15f);
+ beeSpecies.setHumidity(ARID);
+ beeSpecies.setTemperature(HOT);
+ },
+ template -> {
+ AlleleHelper.instance.set(template, SPEED, Speed.NORMAL);
+ AlleleHelper.instance.set(template, TERRITORY, Territory.LARGE);
+ AlleleHelper.instance.set(template, LIFESPAN, Lifespan.SHORTER);
+ AlleleHelper.instance.set(template, FLOWER_PROVIDER, Flowers.WHEAT);
+ AlleleHelper.instance.set(template, FLOWERING, Flowering.FASTER);
+ },
+ dis -> {
+ IBeeMutationCustom tMutation = dis.registerMutation(COAL, CLAY, 10);
+ tMutation.restrictTemperature(HELLISH);
+ }
+ ),
+ APATITE(GT_BranchDefinition.ORGANIC, "Apatite", true, new Color(0xc1c1f6), new Color(0x676784),
+ beeSpecies -> {
+ beeSpecies.addProduct(GT_ModHandler.getModItem("ExtraBees", "honeyComb", 1, 9), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.APATITE), 0.15f);
+ beeSpecies.setHumidity(EnumHumidity.NORMAL);
+ beeSpecies.setTemperature(WARM);
+ },
+ template -> {
+ AlleleHelper.instance.set(template, SPEED, Speed.FASTEST);
+ AlleleHelper.instance.set(template, LIFESPAN, Lifespan.LONGER);
+ AlleleHelper.instance.set(template, FLOWER_PROVIDER, Flowers.WHEAT);
+ AlleleHelper.instance.set(template, FLOWERING, Flowering.FASTER);
+ AlleleHelper.instance.set(template, FLOWER_PROVIDER, getFlowers(EXTRABEES, "rock"));
+ },
+ dis -> {
+ IBeeMutationCustom tMutation = dis.registerMutation(ASH, COAL, 10);
+ tMutation.requireResource("blockApatite");
+ }
+ ),
+ FERTILIZER(GT_BranchDefinition.ORGANIC, "Fertilizer", true, new Color(0x7fcef5), new Color(0x654525),
+ beeSpecies -> {
+ beeSpecies.addProduct(GT_ModHandler.getModItem("ExtraBees", "honeyComb", 1, 9), 0.15f);
+ beeSpecies.addSpecialty(GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Ash, 1), 0.2f);
+ beeSpecies.addSpecialty(GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 1), 0.2f);
+ beeSpecies.addSpecialty(ItemList.FR_Fertilizer.get(1), 0.3f);
+ beeSpecies.addSpecialty(ItemList.IC2_Fertilizer.get(1), 0.3f);
+ beeSpecies.setHumidity(DAMP);
+ beeSpecies.setTemperature(WARM);
+ },
+ template -> {
+ AlleleHelper.instance.set(template, SPEED, Speed.FASTEST);
+ AlleleHelper.instance.set(template, LIFESPAN, Lifespan.LONGER);
+ AlleleHelper.instance.set(template, FLOWER_PROVIDER, Flowers.WHEAT);
+ AlleleHelper.instance.set(template, FLOWERING, Flowering.FASTER);
+ },
+ dis -> dis.registerMutation(ASH, APATITE, 8)
+ ),
+
+ //gems
+ REDSTONE(GT_BranchDefinition.GEM, "Redstone", true, new Color(0x7D0F0F), new Color(0xD11919),
+ beeSpecies -> {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STONE), 0.30f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.REDSTONE), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.RAREEARTH), 0.15f);
+ beeSpecies.setHumidity(EnumHumidity.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.NORMAL);
+ },
+ template -> AlleleHelper.instance.set(template, SPEED, Speed.SLOWER),
+ dis -> {
+ IBeeMutationCustom tMutation = dis.registerMutation(getSpecies(FORESTRY, "Industrious"), getSpecies(FORESTRY, "Demonic"), 10);
+ tMutation.requireResource("blockRedstone");
+ }
+ ),
+ LAPIS(GT_BranchDefinition.GEM, "Lapis", true, new Color(0x1947D1), new Color(0x476CDA),
+ beeSpecies -> {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STONE), 0.30f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.LAPIS), 0.15f);
+ beeSpecies.setHumidity(EnumHumidity.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.NORMAL);
+ },
+ template -> AlleleHelper.instance.set(template, SPEED, Speed.SLOWER),
+ dis -> {
+ IBeeMutationCustom tMutation = dis.registerMutation(getSpecies(FORESTRY, "Demonic"), getSpecies(FORESTRY, "Imperial"), 10);
+ tMutation.requireResource("blockLapis");
+ }
+ ),
+ CERTUS(GT_BranchDefinition.GEM, "CertusQuartz", true, new Color(0x57CFFB), new Color(0xBBEEFF),
+ beeSpecies -> {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STONE), 0.30f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.CERTUS), 0.15f);
+ beeSpecies.setHumidity(EnumHumidity.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.NORMAL);
+ },
+ template -> AlleleHelper.instance.set(template, SPEED, Speed.SLOWER),
+ dis -> {
+ IBeeMutationCustom tMutation = dis.registerMutation(getSpecies(FORESTRY, "Hermitic"), LAPIS, 10);
+ if (Loader.isModLoaded("appliedenergistics2"))
+ tMutation.requireResource(GameRegistry.findBlock("appliedenergistics2", "tile.BlockQuartz"), 0);
+ }
+ ),
+ FLUIX(GT_BranchDefinition.GEM, "FluixDust", true, new Color(0xA375FF), new Color(0xB591FF),
+ beeSpecies -> {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STONE), 0.30f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.FLUIX), 0.15f);
+ beeSpecies.setHumidity(EnumHumidity.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.NORMAL);
+ },
+ template -> AlleleHelper.instance.set(template, SPEED, Speed.SLOWER),
+ dis -> {
+ IBeeMutationCustom tMutation = dis.registerMutation(REDSTONE, LAPIS, 7);
+ if (Loader.isModLoaded("appliedenergistics2"))
+ tMutation.requireResource(GameRegistry.findBlock("appliedenergistics2", "tile.BlockFluix"), 0);
+ }
+ ),
+ DIAMOND(GT_BranchDefinition.GEM, "Diamond", false, new Color(0xCCFFFF), new Color(0xA3CCCC),
+ beeSpecies -> {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STONE), 0.30f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.DIAMOND), 0.15f);
+ beeSpecies.setHumidity(EnumHumidity.NORMAL);
+ beeSpecies.setTemperature(HOT);
+ beeSpecies.setHasEffect();
+ },
+ template -> AlleleHelper.instance.set(template, SPEED, Speed.SLOWER),
+ dis -> {
+ IBeeMutationCustom tMutation = dis.registerMutation(CERTUS, COAL, 3);
+ tMutation.requireResource("blockDiamond");
+ }
+ ),
+ RUBY(GT_BranchDefinition.GEM, "Ruby", false, new Color(0xE6005C), new Color(0xCC0052),
+ beeSpecies -> {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STONE), 0.30f);
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.RUBY), 0.15f);
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.REDGARNET), 0.05f);
+ beeSpecies.setHumidity(DAMP);
+ beeSpecies.setTemperature(HOT);
+ },
+ template -> AlleleHelper.instance.set(template, SPEED, Speed.SLOWER),
+ dis -> {
+ IBeeMutationCustom tMutation = dis.registerMutation(REDSTONE, DIAMOND, 5);
+ tMutation.requireResource("blockRuby");
+ }
+ ),
+ SAPPHIRE(GT_BranchDefinition.GEM, "Sapphire", true, new Color(0x0033CC), new Color(0x00248F),
+ beeSpecies -> {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STONE), 0.30f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.SAPPHIRE), 0.15f);
+ beeSpecies.setHumidity(EnumHumidity.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.NORMAL);
+ },
+ template -> AlleleHelper.instance.set(template, SPEED, Speed.SLOWER),
+ dis -> {
+ IBeeMutationCustom tMutation = dis.registerMutation(CERTUS, LAPIS, 5);
+ tMutation.requireResource(GregTech_API.sBlockGem2, 12);
+ }
+ ),
+ OLIVINE(GT_BranchDefinition.GEM, "Olivine", true, new Color(0x248F24), new Color(0xCCFFCC),
+ beeSpecies -> {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STONE), 0.30f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.OLIVINE), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.MAGNESIUM), 0.05f);
+ beeSpecies.setHumidity(EnumHumidity.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.NORMAL);
+ },
+ template -> AlleleHelper.instance.set(template, SPEED, Speed.SLOWER),
+ dis -> dis.registerMutation(CERTUS, getSpecies(FORESTRY, "Ended"), 5)
+ ),
+ EMERALD(GT_BranchDefinition.GEM, "Emerald", false, new Color(0x248F24), new Color(0x2EB82E),
+ beeSpecies -> {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STONE), 0.30f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.EMERALD), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.ALUMINIUM), 0.05f);
+ beeSpecies.setHumidity(EnumHumidity.NORMAL);
+ beeSpecies.setTemperature(COLD);
+ beeSpecies.setHasEffect();
+ },
+ template -> AlleleHelper.instance.set(template, SPEED, Speed.SLOWER),
+ dis -> {
+ IBeeMutationCustom tMutation = dis.registerMutation(OLIVINE, DIAMOND, 4);
+ tMutation.requireResource("blockEmerald");
+ }
+ ),
+ REDGARNET(GT_BranchDefinition.GEM, "RedGarnet", false, new Color(0xBD4C4C), new Color(0xECCECE),
+ beeSpecies -> {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STONE), 0.30f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.REDGARNET), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.PYROPE), 0.05f);
+ beeSpecies.setHumidity(DAMP);
+ beeSpecies.setTemperature(WARM);
+ beeSpecies.setHasEffect();
+ },
+ template -> {
+ AlleleHelper.instance.set(template, SPEED, Speed.FAST);
+ AlleleHelper.instance.set(template, LIFESPAN, Lifespan.SHORTEST);
+ },
+ dis -> {
+ IBeeMutationCustom tMutation = dis.registerMutation(DIAMOND, RUBY, 4);
+ tMutation.requireResource("blockGarnetRed");
+ }
+ ),
+ YELLOWGARNET(GT_BranchDefinition.GEM, "YellowGarnet", false, new Color(0xA3A341), new Color(0xEDEDCE),
+ beeSpecies -> {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STONE), 0.30f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.YELLOWGARNET), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.GROSSULAR), 0.05f);
+ beeSpecies.setHumidity(DAMP);
+ beeSpecies.setTemperature(WARM);
+ beeSpecies.setHasEffect();
+ },
+ template -> {
+ AlleleHelper.instance.set(template, SPEED, Speed.FAST);
+ AlleleHelper.instance.set(template, LIFESPAN, Lifespan.SHORTEST);
+ },
+ dis -> {
+ IBeeMutationCustom tMutation = dis.registerMutation(EMERALD, REDGARNET, 3);
+ tMutation.requireResource("blockGarnetYellow");
+ }
+ ),
+ FIRESTONE(GT_BranchDefinition.GEM, "Firestone", false, new Color(0xC00000), new Color(0xFF0000),
+ beeSpecies -> {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STONE), 0.30f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.FIRESTONE), 0.15f);
+ beeSpecies.setHumidity(DAMP);
+ beeSpecies.setTemperature(WARM);
+ beeSpecies.setHasEffect();
+ },
+ template -> {
+ AlleleHelper.instance.set(template, SPEED, Speed.FAST);
+ AlleleHelper.instance.set(template, LIFESPAN, Lifespan.SHORTEST);
+ AlleleHelper.instance.set(template, NOCTURNAL, true);
+ },
+ dis -> {
+ IBeeMutationCustom tMutation = dis.registerMutation(REDSTONE, RUBY, 4);
+ tMutation.requireResource("blockFirestone");
+ }
+ ),
- }
-
- @Override
- protected void setAlleles(IAllele[] template) {
- AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.MUSHROOMS);
- AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOWER);
- AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_1);
- AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_1);
- AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, getFlowers(EXTRABEES, "water"));
- }
-
- @Override
- protected void registerMutations() {
- IBeeMutationCustom tMutation = registerMutation(getSpecies(FORRESTRY,"Marshy"), CLAY.species, 7);
- if (Loader.isModLoaded("TConstruct"))
- tMutation.requireResource(GameRegistry.findBlock("TConstruct", "slime.gel"), 1);
- }
- },
- PEAT(GT_BranchDefinition.ORGANIC, "Peat", true, 0x906237, 0x58300B) {
- @Override
- protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
- beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.LIGNIE), 0.30f);
- beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 0), 0.15f);
- beeSpecies.addSpecialty(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "peat", 1, 0), 0.15f);
- beeSpecies.addSpecialty(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "mulch", 1, 0), 0.05f);
- beeSpecies.setHumidity(EnumHumidity.NORMAL);
- beeSpecies.setTemperature(EnumTemperature.NORMAL);
- }
-
- @Override
- protected void setAlleles(IAllele[] template) {
- AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
- AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTER);
- AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.WHEAT);
- AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.FASTER);
- AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.NONE);
- }
-
- @Override
- protected void registerMutations() {
- IBeeMutationCustom tMutation = registerMutation(getSpecies(FORRESTRY,"Rural"), CLAY.species, 10);
- }
- },
- STICKYRESIN(GT_BranchDefinition.ORGANIC, "StickyResin", true, 0x2E8F5B, 0xDCC289) {
- @Override
- protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
- beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 0), 0.30f);
- beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.STICKY), 0.15f);
- beeSpecies.addSpecialty(ItemList.IC2_Resin.get(1), 0.15f);
- beeSpecies.setHumidity(EnumHumidity.NORMAL);
- beeSpecies.setTemperature(EnumTemperature.NORMAL);
- }
-
- @Override
- protected void setAlleles(IAllele[] template) {
- AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOWER);
- AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.NONE);
- }
-
- @Override
- protected void registerMutations() {
- IBeeMutationCustom tMutation = registerMutation(SLIMEBALL.species, PEAT.species, 15);
- tMutation.requireResource("logRubber");
- }
- },
- COAL(GT_BranchDefinition.ORGANIC, "Coal", true, 0x666666, 0x525252) {
- @Override
- protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
- beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.LIGNIE), 0.30f);
- beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.COAL), 0.15f);
- beeSpecies.setHumidity(EnumHumidity.NORMAL);
- beeSpecies.setTemperature(EnumTemperature.NORMAL);
- }
-
- @Override
- protected void setAlleles(IAllele[] template) {
- AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.CACTI);
- AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWEST);
- AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGER);
- AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.DOWN_2);
- AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.DOWN_1);
- AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true);
- AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectCreeper);
- }
-
- @Override
- protected void registerMutations() {
- IBeeMutationCustom tMutation = registerMutation(getSpecies(FORRESTRY,"Industrious"), PEAT.species, 9);
- tMutation.requireResource("blockCoal");
- }
- },
- OIL(GT_BranchDefinition.ORGANIC, "Oil", true, 0x4C4C4C, 0x333333) {
- @Override
- protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
- beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 0), 0.30f);
- beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.OIL), 0.15f);
- beeSpecies.setHumidity(EnumHumidity.DAMP);
- beeSpecies.setTemperature(EnumTemperature.NORMAL);
- beeSpecies.setHasEffect();
- }
-
- @Override
- protected void setAlleles(IAllele[] template) {
- AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOWER);
- AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true);
- AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.NORMAL);
- AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
- AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, getFlowers(EXTRABEES, "water"));
- AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.NONE);
- AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.NONE);
-
- }
-
- @Override
- protected void registerMutations() {
- IBeeMutationCustom tMutation = registerMutation(COAL.species, STICKYRESIN.species, 4);
- }
- },
- SANDWICH(GT_BranchDefinition.ORGANIC, "Sandwich", true, 0x32CD32, 0xDAA520) {
- @Override