aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorbartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com>2018-09-22 01:43:19 +0200
committerbartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com>2018-09-22 01:43:19 +0200
commit7871a490b84e8bd35f4e8f2671c5f5ea85c7728d (patch)
treea616d6a203381da51fa6c2fccc36d7fef5a80cdd /src/main/java
parent6b8fd21f4a387cd3b2f1b7eb7c5354b9ebaf674b (diff)
downloadGT5-Unofficial-7871a490b84e8bd35f4e8f2671c5f5ea85c7728d.tar.gz
GT5-Unofficial-7871a490b84e8bd35f4e8f2671c5f5ea85c7728d.tar.bz2
GT5-Unofficial-7871a490b84e8bd35f4e8f2671c5f5ea85c7728d.zip
+added <1% bee mutation rate
+fixed crashing w/o mods for bees
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/gregtech/common/bees/GT_AlleleBeeSpecies.java39
-rw-r--r--src/main/java/gregtech/common/bees/GT_AlleleHelper.java224
-rw-r--r--src/main/java/gregtech/common/bees/GT_Bee_Mutation.java75
-rw-r--r--src/main/java/gregtech/common/items/ItemComb.java1
-rw-r--r--src/main/java/gregtech/loaders/misc/GT_BeeDefinition.java192
-rw-r--r--src/main/java/gregtech/loaders/misc/GT_Bees.java27
6 files changed, 460 insertions, 98 deletions
diff --git a/src/main/java/gregtech/common/bees/GT_AlleleBeeSpecies.java b/src/main/java/gregtech/common/bees/GT_AlleleBeeSpecies.java
new file mode 100644
index 0000000000..83dc82e6f9
--- /dev/null
+++ b/src/main/java/gregtech/common/bees/GT_AlleleBeeSpecies.java
@@ -0,0 +1,39 @@
+package gregtech.common.bees;
+
+import forestry.api.apiculture.EnumBeeChromosome;
+import forestry.api.apiculture.IAlleleBeeSpeciesCustom;
+import forestry.api.genetics.AlleleManager;
+import forestry.api.genetics.IClassification;
+import forestry.apiculture.genetics.alleles.AlleleBeeSpecies;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+
+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);
+ AlleleManager.alleleRegistry.registerAllele(this, EnumBeeChromosome.SPECIES);
+ }
+
+ @Override
+ public IAlleleBeeSpeciesCustom addProduct(ItemStack product, Float chance) {
+ if (product == null || product.getItem() == null) {
+ product=new ItemStack(Items.boat);
+ }
+ if (chance <= 0.0f || chance > 1.0f) {
+ chance = 0.1f;
+ }
+ return super.addProduct(product,chance);
+ }
+
+ @Override
+ public IAlleleBeeSpeciesCustom addSpecialty(ItemStack specialty, Float chance) {
+ if (specialty == null || specialty.getItem() == null) {
+ specialty=new ItemStack(Items.boat);
+ }
+ if (chance <= 0.0f || chance > 1.0f) {
+ chance = 0.1f;
+ }
+ return super.addSpecialty(specialty, chance);
+ }
+
+}
diff --git a/src/main/java/gregtech/common/bees/GT_AlleleHelper.java b/src/main/java/gregtech/common/bees/GT_AlleleHelper.java
new file mode 100644
index 0000000000..3431f96eb4
--- /dev/null
+++ b/src/main/java/gregtech/common/bees/GT_AlleleHelper.java
@@ -0,0 +1,224 @@
+package gregtech.common.bees;
+
+import forestry.api.apiculture.EnumBeeChromosome;
+import forestry.api.arboriculture.EnumTreeChromosome;
+import forestry.api.genetics.*;
+import forestry.api.lepidopterology.EnumButterflyChromosome;
+import forestry.apiculture.flowers.FlowerProvider;
+import forestry.core.config.Constants;
+import forestry.core.genetics.alleles.*;
+import forestry.core.utils.vect.IVect;
+import forestry.plugins.PluginManager;
+
+import java.util.EnumMap;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map;
+
+public class GT_AlleleHelper extends AlleleHelper {
+
+ private static final String modId = Constants.ID;
+
+ private final Map<Class, Map<?, ? extends IAllele>> alleleMaps = new HashMap<>();
+
+ public void init() {
+ if (PluginManager.Module.APICULTURE.isEnabled()) {
+ createAlleles(EnumAllele.Fertility.class, EnumBeeChromosome.FERTILITY);
+ createAlleles(EnumAllele.Flowering.class, EnumBeeChromosome.FLOWERING);
+ }
+
+ if (PluginManager.Module.APICULTURE.isEnabled() || PluginManager.Module.ARBORICULTURE.isEnabled()) {
+ createAlleles(EnumAllele.Territory.class,
+ EnumBeeChromosome.TERRITORY,
+ EnumTreeChromosome.TERRITORY
+ );
+
+ AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.territoryDefault", get(EnumAllele.Territory.AVERAGE));
+ }
+
+ if (PluginManager.Module.APICULTURE.isEnabled() || PluginManager.Module.LEPIDOPTEROLOGY.isEnabled()) {
+ createAlleles(EnumAllele.Speed.class,
+ EnumBeeChromosome.SPEED,
+ EnumButterflyChromosome.SPEED
+ );
+ createAlleles(EnumAllele.Lifespan.class,
+ EnumBeeChromosome.LIFESPAN,
+ EnumButterflyChromosome.LIFESPAN
+ );
+ createAlleles(EnumAllele.Tolerance.class,
+ EnumBeeChromosome.TEMPERATURE_TOLERANCE,
+ EnumBeeChromosome.HUMIDITY_TOLERANCE,
+ EnumButterflyChromosome.TEMPERATURE_TOLERANCE,
+ EnumButterflyChromosome.HUMIDITY_TOLERANCE
+ );
+ createAlleles(EnumAllele.Flowers.class,
+ EnumBeeChromosome.FLOWER_PROVIDER,
+ EnumButterflyChromosome.FLOWER_PROVIDER
+ );
+
+ AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.speedNorm", get(EnumAllele.Speed.NORMAL));
+ }
+
+ if (PluginManager.Module.ARBORICULTURE.isEnabled()) {
+ createAlleles(EnumAllele.Height.class, EnumTreeChromosome.HEIGHT);
+ createAlleles(EnumAllele.Saplings.class, EnumTreeChromosome.FERTILITY);
+ createAlleles(EnumAllele.Yield.class, EnumTreeChromosome.YIELD);
+ createAlleles(EnumAllele.Fireproof.class, EnumTreeChromosome.FIREPROOF);
+ createAlleles(EnumAllele.Maturation.class, EnumTreeChromosome.MATURATION);
+ createAlleles(EnumAllele.Sappiness.class, EnumTreeChromosome.SAPPINESS);
+
+ AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.heightMax10", get(EnumAllele.Height.AVERAGE));
+ AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.saplingsDefault", get(EnumAllele.Saplings.AVERAGE));
+ AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.saplingsDouble", get(EnumAllele.Saplings.HIGH));
+ AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.saplingsTriple", get(EnumAllele.Saplings.HIGHER));
+ AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.yieldDefault", get(EnumAllele.Yield.AVERAGE));
+ AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.maturitySlowest", get(EnumAllele.Maturation.SLOWEST));
+ AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.maturitySlower", get(EnumAllele.Maturation.SLOWER));
+ AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.maturitySlow", get(EnumAllele.Maturation.SLOW));
+ AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.maturityAverage", get(EnumAllele.Maturation.AVERAGE));
+ AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.maturityFast", get(EnumAllele.Maturation.FAST));
+ AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.maturityFaster", get(EnumAllele.Maturation.FASTER));
+ AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.maturityFastest", get(EnumAllele.Maturation.FASTEST));
+ }
+
+ if (PluginManager.Module.LEPIDOPTEROLOGY.isEnabled()) {
+ createAlleles(EnumAllele.Size.class, EnumButterflyChromosome.SIZE);
+ }
+
+ Map<Integer, IAlleleInteger> integers = new HashMap<>();
+ for (int i = 1; i <= 10; i++) {
+ IAlleleInteger alleleInteger = new AlleleInteger(modId, "i", i + "d", i, true);
+ AlleleManager.alleleRegistry.registerAllele(alleleInteger,
+ EnumTreeChromosome.GIRTH,
+ EnumButterflyChromosome.METABOLISM,
+ EnumButterflyChromosome.FERTILITY
+ );
+ integers.put(i, alleleInteger);
+ }
+ alleleMaps.put(Integer.class, integers);
+
+ Map<Boolean, IAlleleBoolean> booleans = new HashMap<>();
+ booleans.put(true, new AlleleBoolean(modId, "bool", true, false));
+ booleans.put(false, new AlleleBoolean(modId, "bool", false, false));
+ for (IAlleleBoolean alleleBoolean : booleans.values()) {
+ AlleleManager.alleleRegistry.registerAllele(alleleBoolean,
+ EnumBeeChromosome.NOCTURNAL,
+ EnumBeeChromosome.TOLERANT_FLYER,
+ EnumBeeChromosome.CAVE_DWELLING,
+ EnumButterflyChromosome.NOCTURNAL,
+ EnumButterflyChromosome.TOLERANT_FLYER,
+ EnumButterflyChromosome.FIRE_RESIST
+ );
+ }
+ alleleMaps.put(Boolean.class, booleans);
+ }
+
+ public static void initialisation(){
+ AlleleHelper.instance = new GT_AlleleHelper();
+ AlleleHelper.instance.init();
+ }
+
+
+
+ @Override
+ public <T extends Enum<T> & IChromosomeType> void set(IAllele[] alleles, T chromosomeType, IAllele allele) {
+
+ if (allele == null) {
+ return;
+ }
+
+ if (!chromosomeType.getAlleleClass().isInstance(allele)) {
+ return;
+ }
+
+ // uncomment this once all addon mods are using the allele registration with IChromosomeType
+ // Collection<IChromosomeType> validTypes = AlleleManager.alleleRegistry.getChromosomeTypes(allele);
+ // if (validTypes.size() > 0 && !validTypes.contains(chromosomeType)) {
+ // throw new IllegalArgumentException("Allele can't applied to this Chromosome type. Expected: " + validTypes + " Got: " + chromosomeType);
+ // }
+
+ alleles[chromosomeType.ordinal()] = allele;
+ }
+
+ @Override
+ public <T extends Enum<T> & IChromosomeType> void set(IAllele[] alleles, T chromosomeType, IAlleleValue value) {
+ set(alleles, chromosomeType, get(value));
+ }
+
+ @Override
+ public <T extends Enum<T> & IChromosomeType> void set(IAllele[] alleles, T chromosomeType, boolean value) {
+ set(alleles, chromosomeType, get(value));
+ }
+
+ @Override
+ public <T extends Enum<T> & IChromosomeType> void set(IAllele[] alleles, T chromosomeType, int value) {
+ set(alleles, chromosomeType, get(value));
+ }
+
+ private IAllele get(Object value) {
+ Class<?> valueClass = value.getClass();
+ Map<?, ? extends IAllele> map = alleleMaps.get(valueClass);
+ if (map == null) {
+ throw new IllegalArgumentException("There is no IAllele type for: " + valueClass + ' ' + value);
+ }
+ IAllele allele = map.get(value);
+ if (allele == null) {
+ allele = new IAllele() {
+ @Override
+ public String getUID() {
+ return "NOT_FOUND";
+ }
+
+ @Override
+ public boolean isDominant() {
+ return false;
+ }
+
+ @Override
+ public String getName() {
+ return "NOT_FOUND";
+ }
+
+ @Override
+ public String getUnlocalizedName() {
+ return "NOT_FOUND";
+ }
+ };
+ }
+ return allele;
+ }
+
+ private <K extends Enum<K> & IAlleleValue<V>, V> void createAlleles(Class<K> enumClass, IChromosomeType... types) {
+ String category = enumClass.getSimpleName().toLowerCase(Locale.ENGLISH);
+ EnumMap<K, IAllele> map = new EnumMap<>(enumClass);
+ for (K enumValue : enumClass.getEnumConstants()) {
+ IAllele allele = createAllele(category, enumValue, types);
+ map.put(enumValue, allele);
+ }
+ alleleMaps.put(enumClass, map);
+ }
+ private static <K extends IAlleleValue<V>, V> IAllele createAllele(String category, K enumValue, IChromosomeType... types) {
+ V value = enumValue.getValue();
+ boolean isDominant = enumValue.isDominant();
+ String name = enumValue.toString().toLowerCase(Locale.ENGLISH);
+
+ Class<?> valueClass = value.getClass();
+ if (Float.class.isAssignableFrom(valueClass)) {
+ return AlleleManager.alleleFactory.createFloat(modId, category, name, (Float) value, isDominant, types);
+ } else if (Integer.class.isAssignableFrom(valueClass)) {
+ return AlleleManager.alleleFactory.createInteger(modId, category, name, (Integer) value, isDominant, types);
+ } else if (IVect.class.isAssignableFrom(valueClass)) {
+ IVect area = (IVect) value;
+ return AlleleManager.alleleFactory.createArea(modId, category, name, area.getX(), area.getY(), area.getZ(), isDominant, types);
+ } else if (Boolean.class.isAssignableFrom(valueClass)) {
+ return AlleleManager.alleleFactory.createBoolean(modId, category, (Boolean) value, isDominant, types);
+ } else if (EnumTolerance.class.isAssignableFrom(valueClass)) {
+ IAlleleTolerance alleleTolerance = new AlleleTolerance(modId, category, name, (EnumTolerance) value, isDominant);
+ AlleleManager.alleleRegistry.registerAllele(alleleTolerance, types);
+ return alleleTolerance;
+ } else if (FlowerProvider.class.isAssignableFrom(valueClass)) {
+ return AlleleManager.alleleFactory.createFlowers(modId, category, name, (FlowerProvider) value, isDominant, types);
+ }
+ throw new RuntimeException("could not create allele for category: " + category + " and value " + valueClass);
+ }
+}
diff --git a/src/main/java/gregtech/common/bees/GT_Bee_Mutation.java b/src/main/java/gregtech/common/bees/GT_Bee_Mutation.java
new file mode 100644
index 0000000000..852f00e6d6
--- /dev/null
+++ b/src/main/java/gregtech/common/bees/GT_Bee_Mutation.java
@@ -0,0 +1,75 @@
+package gregtech.common.bees;
+
+import forestry.api.apiculture.*;
+import forestry.api.genetics.IAllele;
+import forestry.api.genetics.IGenome;
+import forestry.api.genetics.IMutationCondition;
+import forestry.apiculture.genetics.BeeMutation;
+import net.minecraft.util.ChunkCoordinates;
+import net.minecraft.world.World;
+
+import java.lang.reflect.Field;
+import java.util.List;
+
+
+public class GT_Bee_Mutation extends BeeMutation {
+
+ private int split = 1;
+
+ public GT_Bee_Mutation(IAlleleBeeSpecies bee0, IAlleleBeeSpecies bee1, IAllele[] result, int chance, int split) {
+ super(bee0, bee1, result, chance);
+ this.split = split;
+ BeeManager.beeRoot.registerMutation(this);
+ }
+
+ @Override
+ public float getBaseChance() {
+ return ((float) ((float)super.getBaseChance() / ((float)split)));
+ }
+
+ @Override
+ public float getChance(IBeeHousing housing, IAlleleBeeSpecies allele0, IAlleleBeeSpecies allele1, IBeeGenome genome0, IBeeGenome genome1) {
+ World world = housing.getWorld();
+ ChunkCoordinates housingCoordinates = housing.getCoordinates();
+ int x = housingCoordinates.posX;
+ int y = housingCoordinates.posY;
+ int z = housingCoordinates.posZ;
+
+ float processedChance = getbasicChance(world, x, y, z, allele0, allele1, genome0, genome1);
+
+
+ if (processedChance <= 0f) {
+ return 0f;
+ }
+
+ IBeeModifier beeHousingModifier = BeeManager.beeRoot.createBeeHousingModifier(housing);
+ IBeeModifier beeModeModifier = BeeManager.beeRoot.getBeekeepingMode(world).getBeeModifier();
+
+ processedChance *= beeHousingModifier.getMutationModifier(genome0, genome1, processedChance);
+ processedChance *= beeModeModifier.getMutationModifier(genome0, genome1, processedChance);
+
+ return processedChance;
+ }
+
+ protected float getbasicChance(World world, int x, int y, int z, IAllele allele0, IAllele allele1, IGenome genome0, IGenome genome1) {
+ float mutationChance = getBaseChance();
+ List<IMutationCondition> mutationConditions = null;
+ try {
+ Field f = this.getClass().getDeclaredField("mutationConditions");
+ f.setAccessible(true);
+ Object o = f.get(this);
+ mutationConditions = o instanceof List ? (List) o : null ;
+ } catch (NoSuchFieldException | IllegalAccessException e) {
+ e.printStackTrace();
+ }
+
+ if (mutationConditions != null)
+ for (IMutationCondition mutationCondition : mutationConditions) {
+ mutationChance *= mutationCondition.getChance(world, x, y, z, allele0, allele1, genome0, genome1);
+ if (mutationChance == 0) {
+ return 0;
+ }
+ }
+ return mutationChance;
+ }
+}
diff --git a/src/main/java/gregtech/common/items/ItemComb.java b/src/main/java/gregtech/common/items/ItemComb.java
index 63600fc70d..517c27376b 100644
--- a/src/main/java/gregtech/common/items/ItemComb.java
+++ b/src/main/java/gregtech/common/items/ItemComb.java
@@ -24,7 +24,6 @@ import net.minecraft.util.IIcon;
import java.util.List;
-import static gregtech.api.enums.GT_Values.GT;
import static gregtech.api.enums.GT_Values.MOD_ID;
public class ItemComb extends Item {
diff --git a/src/main/java/gregtech/loaders/misc/GT_BeeDefinition.java b/src/main/java/gregtech/loaders/misc/GT_BeeDefinition.java
index b4f202c939..0ec878fd29 100644
--- a/src/main/java/gregtech/loaders/misc/GT_BeeDefinition.java
+++ b/src/main/java/gregtech/loaders/misc/GT_BeeDefinition.java
@@ -1,5 +1,6 @@
package gregtech.loaders.misc;
+import cpw.mods.fml.common.Loader;
import cpw.mods.fml.common.registry.GameRegistry;
import forestry.api.apiculture.*;
import forestry.api.core.EnumHumidity;
@@ -8,7 +9,6 @@ import forestry.api.genetics.AlleleManager;
import forestry.api.genetics.IAllele;
import forestry.api.genetics.IAlleleFlowers;
import forestry.apiculture.genetics.Bee;
-import forestry.apiculture.genetics.BeeDefinition;
import forestry.apiculture.genetics.BeeVariation;
import forestry.apiculture.genetics.IBeeDefinition;
import forestry.apiculture.genetics.alleles.AlleleEffect;
@@ -18,9 +18,10 @@ import gregtech.api.GregTech_API;
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.ItemList;
import gregtech.api.util.GT_ModHandler;
+import gregtech.common.bees.GT_AlleleBeeSpecies;
+import gregtech.common.bees.GT_Bee_Mutation;
import gregtech.common.items.CombType;
import net.minecraft.block.Block;
-import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import org.apache.commons.lang3.text.WordUtils;
@@ -28,14 +29,12 @@ import org.apache.commons.lang3.text.WordUtils;
import java.util.Arrays;
import java.util.Locale;
-//import forestry.apiculture.items.EnumHoneyComb;
-//import forestry.plugins.PluginApiculture;
-
public enum GT_BeeDefinition implements IBeeDefinition {
+
//organic
CLAY(GT_BranchDefinition.ORGANIC, "Clay", true, 0xC8C8DA, 0x0000FF) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ 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);
@@ -68,7 +67,7 @@ public enum GT_BeeDefinition implements IBeeDefinition {
},
SLIMEBALL(GT_BranchDefinition.ORGANIC, "SlimeBall", true, 0x4E9E55, 0x00FF15) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ 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.addProduct(GT_ModHandler.getModItem("TConstruct", "strangeFood", 1, 0), 0.10f);
@@ -89,12 +88,13 @@ public enum GT_BeeDefinition implements IBeeDefinition {
@Override
protected void registerMutations() {
IBeeMutationCustom tMutation = registerMutation(getSpecies(FORRESTRY,"Marshy"), CLAY.species, 7);
- tMutation.requireResource(GameRegistry.findBlock("TConstruct", "slime.gel"), 1);
+ if (Loader.isModLoaded("TConstruct"))
+ tMutation.requireResource(GameRegistry.findBlock("TConstruct", "slime.gel"), 1);
}
},
PEAT(GT_BranchDefinition.ORGANIC, "Peat", true, 0x906237, 0x58300B) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ 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);
@@ -119,7 +119,7 @@ public enum GT_BeeDefinition implements IBeeDefinition {
},
STICKYRESIN(GT_BranchDefinition.ORGANIC, "StickyResin", true, 0x2E8F5B, 0xDCC289) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ 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, new Object[0]), 0.15f);
@@ -141,7 +141,7 @@ public enum GT_BeeDefinition implements IBeeDefinition {
},
COAL(GT_BranchDefinition.ORGANIC, "Coal", true, 0x666666, 0x525252) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ 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);
@@ -167,7 +167,7 @@ public enum GT_BeeDefinition implements IBeeDefinition {
},
OIL(GT_BranchDefinition.ORGANIC, "Oil", true, 0x4C4C4C, 0x333333) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ 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);
@@ -194,7 +194,7 @@ public enum GT_BeeDefinition implements IBeeDefinition {
},
SANDWICH(GT_BranchDefinition.ORGANIC, "Sandwich", true, 0x32CD32, 0xDAA520) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_ModHandler.getModItem("ExtraBees", "honeyComb", 1, 9), 0.15f);
beeSpecies.addSpecialty(ItemList.Food_Sliced_Cucumber.get(1, new Object[0]), 0.05f);
beeSpecies.addSpecialty(ItemList.Food_Sliced_Onion.get(1, new Object[0]), 0.05f);
@@ -227,7 +227,7 @@ public enum GT_BeeDefinition implements IBeeDefinition {
//IC2
COOLANT(GT_BranchDefinition.IC2, "Coolant", false, 0x144F5A, 0x2494A2) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 4), 0.30f);
beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.COOLANT), 0.15f);
beeSpecies.setHumidity(EnumHumidity.ARID);
@@ -254,7 +254,7 @@ public enum GT_BeeDefinition implements IBeeDefinition {
},
ENERGY(GT_BranchDefinition.IC2, "Energy", false, 0xC11F1F, 0xEBB9B9) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_ModHandler.getModItem("ExtraBees", "honeyComb", 1, 12), 0.30f);
beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.ENERGY), 0.15f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
@@ -282,7 +282,7 @@ public enum GT_BeeDefinition implements IBeeDefinition {
},
LAPOTRON(GT_BranchDefinition.IC2, "Lapotron", false, 0x6478FF, 0x1414FF) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.LAPIS), 0.20f);
beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.ENERGY), 0.15f);
beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.LAPOTRON), 0.10f);
@@ -313,7 +313,7 @@ public enum GT_BeeDefinition implements IBeeDefinition {
//Alloy
REDALLOY(GT_BranchDefinition.GTALLOY, "RedAlloy", false, 0xE60000, 0xB80000) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 7), 0.30f);
beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.REDALLOY), 0.15f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
@@ -334,7 +334,7 @@ public enum GT_BeeDefinition implements IBeeDefinition {
},
REDSTONEALLOY(GT_BranchDefinition.GTALLOY, "RedStoneAlloy", false, 0xA50808, 0xE80000) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 7), 0.30f);
beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.REDSTONEALLOY), 0.15f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
@@ -355,7 +355,7 @@ public enum GT_BeeDefinition implements IBeeDefinition {
},
CONDUCTIVEIRON(GT_BranchDefinition.GTALLOY, "ConductiveIron", false, 0xCEADA3, 0x817671) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 7), 0.30f);
beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.CONDUCTIVEIRON), 0.15f);
beeSpecies.setHumidity(EnumHumidity.DAMP);
@@ -377,7 +377,7 @@ public enum GT_BeeDefinition implements IBeeDefinition {
},
VIBRANTALLOY(GT_BranchDefinition.GTALLOY, "VibrantAlloy", false, 0x86A12D, 0xC4F2AE) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 7), 0.30f);
beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.VIBRANTALLOY), 0.15f);
beeSpecies.setHumidity(EnumHumidity.DAMP);
@@ -402,7 +402,7 @@ public enum GT_BeeDefinition implements IBeeDefinition {
},
ENERGETICALLOY(GT_BranchDefinition.GTALLOY, "EnergeticAlloy", false, 0xFF9933, 0xFFAD5C) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 7), 0.30f);
beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.ENERGETICALLOY), 0.15f);
beeSpecies.setHumidity(EnumHumidity.DAMP);
@@ -423,7 +423,7 @@ public enum GT_BeeDefinition implements IBeeDefinition {
},
ELECTRICALSTEEL(GT_BranchDefinition.GTALLOY, "ElectricalSteel", false, 0x787878, 0xD8D8D8) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 7), 0.30f);
beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.ELECTRICALSTEEL), 0.15f);
beeSpecies.setHumidity(EnumHumidity.DAMP);
@@ -444,7 +444,7 @@ public enum GT_BeeDefinition implements IBeeDefinition {
},
DARKSTEEL(GT_BranchDefinition.GTALLOY, "DarkSteel", false, 0x252525, 0x443B44) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 7), 0.30f);
beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.DARKSTEEL), 0.15f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
@@ -465,7 +465,7 @@ public enum GT_BeeDefinition implements IBeeDefinition {
},
PULSATINGIRON(GT_BranchDefinition.GTALLOY, "PulsatingIron", false, 0x6DD284, 0x006600) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 7), 0.30f);
beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.PULSATINGIRON), 0.15f);
beeSpecies.setHumidity(EnumHumidity.DAMP);
@@ -486,7 +486,7 @@ public enum GT_BeeDefinition implements IBeeDefinition {
},
STAINLESSSTEEL(GT_BranchDefinition.GTALLOY, "StainlessSteel", false, 0xC8C8DC, 0x778899) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f);
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STEEL), 0.10f);
beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.STAINLESSSTEEL), 0.15f);
@@ -511,7 +511,7 @@ public enum GT_BeeDefinition implements IBeeDefinition {
},
ENDERIUM(GT_BranchDefinition.GTALLOY, "Enderium", false, 0x599087, 0x2E8B57) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f);
beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.ENDERIUM), 0.15f);
beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.CHROME), 0.05f);
@@ -535,7 +535,7 @@ public enum GT_BeeDefinition implements IBeeDefinition {
//thaumic
THAUMIUMDUST(GT_BranchDefinition.THAUMIC, "ThaumiumDust", true, 0x7A007A, 0x5C005C) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 3), 0.30f);
beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.THAUMIUMDUST), 0.20f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
@@ -561,7 +561,7 @@ public enum GT_BeeDefinition implements IBeeDefinition {
},
THAUMIMSHARD(GT_BranchDefinition.THAUMIC, "ThaumiumShard", true, 0x9966FF, 0xAD85FF) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.THAUMIUMDUST), 0.30f);
beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.THAUMIUMSHARD), 0.20f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
@@ -587,7 +587,7 @@ public enum GT_BeeDefinition implements IBeeDefinition {
},
AMBER(GT_BranchDefinition.THAUMIC, "Amber", true, 0xEE7700, 0x774B15) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 3), 0.30f);
beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.AMBER), 0.20f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
@@ -610,7 +610,7 @@ public enum GT_BeeDefinition implements IBeeDefinition {
},
QUICKSILVER(GT_BranchDefinition.THAUMIC, "Quicksilver", true, 0x7A007A, 0x5C005C) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 3), 0.30f);
beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.QUICKSILVER), 0.20f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
@@ -633,7 +633,7 @@ public enum GT_BeeDefinition implements IBeeDefinition {
},
SALISMUNDUS(GT_BranchDefinition.THAUMIC, "SalisMundus", true, 0xF7ADDE, 0x592582) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 3), 0.30f);
beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.SALISMUNDUS), 0.20f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
@@ -659,7 +659,7 @@ public enum GT_BeeDefinition implements IBeeDefinition {
},
TAINTED(GT_BranchDefinition.THAUMIC, "Tainted", true, 0x904BB8, 0xE800FF) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 3), 0.30f);
beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.TAINTED), 0.20f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
@@ -687,7 +687,7 @@ public enum GT_BeeDefinition implements IBeeDefinition {
},
MITHRIL(GT_BranchDefinition.THAUMIC, "Mithril", true, 0xF0E68C, 0xFFFFD2) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.PLATINUM), 0.20f);
beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.MITHRIL), 0.125f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
@@ -716,7 +716,7 @@ public enum GT_BeeDefinition implements IBeeDefinition {
},
ASTRALSILVER(GT_BranchDefinition.THAUMIC, "AstralSilver", true, 0xAFEEEE, 0xE6E6FF) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SILVER), 0.20f);
beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.ASTRALSILVER), 0.125f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
@@ -743,7 +743,7 @@ public enum GT_BeeDefinition implements IBeeDefinition {
},
THAUMINITE(GT_BranchDefinition.THAUMIC, "Thauminite", true, 0x2E2D79, 0x7581E0) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_ModHandler.getModItem("MagicBees", "comb", 1, 19), 0.20f);
beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.THAUMINITE), 0.125f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
@@ -762,12 +762,13 @@ public enum GT_BeeDefinition implements IBeeDefinition {
@Override
protected void registerMutations() {
IBeeMutationCustom tMutation = registerMutation(getSpecies(MAGICBEES,"TCOrder"), THAUMIUMDUST.species, 8);
- tMutation.requireResource(GameRegistry.findBlock("thaumicbases", "thauminiteBlock"), 0);
+ if (Loader.isModLoaded("thaumicbases"))
+ tMutation.requireResource(GameRegistry.findBlock("thaumicbases", "thauminiteBlock"), 0);
}
},
SHADOWMETAL(GT_BranchDefinition.THAUMIC, "ShadowMetal", true, 0x100322, 0x100342) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_ModHandler.getModItem("MagicBees", "comb", 1, 20), 0.20f);
beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.SHADOWMETAL), 0.125f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
@@ -788,12 +789,13 @@ public enum GT_BeeDefinition implements IBeeDefinition {
@Override
protected void registerMutations() {
IBeeMutationCustom tMutation = registerMutation(getSpecies(MAGICBEES,"TCChaos"), getSpecies(MAGICBEES,"TCVoid"), 6);
- tMutation.requireResource(GameRegistry.findBlock("TaintedMagic", "BlockShadowmetal"), 0);
+ if (Loader.isModLoaded("TaintedMagic"))
+ tMutation.requireResource(GameRegistry.findBlock("TaintedMagic", "BlockShadowmetal"), 0);
}
},
DIVIDED(GT_BranchDefinition.THAUMIC, "Unstable", true, 0xF0F0F0, 0xDCDCDC) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_ModHandler.getModItem("ExtraBees", "honeyComb", 1, 61), 0.20f);
beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.DIVIDED), 0.125f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
@@ -812,12 +814,13 @@ public enum GT_BeeDefinition implements IBeeDefinition {
@Override
protected void registerMutations