aboutsummaryrefslogtreecommitdiff
path: root/src/Java/binnie/core/genetics/BeeBreedingSystem.java
diff options
context:
space:
mode:
authorDraknyte1 <Draknyte1@hotmail.com>2016-01-20 14:24:34 +1000
committerDraknyte1 <Draknyte1@hotmail.com>2016-01-20 14:24:34 +1000
commit869c206c4fcc8001bd2e1d66f704290331813835 (patch)
tree96735ce8fe4665e2759c3374221d6f06f4527df2 /src/Java/binnie/core/genetics/BeeBreedingSystem.java
parentec2c72827f01dd4bb2174137f1ab162f9ddaab62 (diff)
downloadGT5-Unofficial-869c206c4fcc8001bd2e1d66f704290331813835.tar.gz
GT5-Unofficial-869c206c4fcc8001bd2e1d66f704290331813835.tar.bz2
GT5-Unofficial-869c206c4fcc8001bd2e1d66f704290331813835.zip
Initial Commit
Diffstat (limited to 'src/Java/binnie/core/genetics/BeeBreedingSystem.java')
-rw-r--r--src/Java/binnie/core/genetics/BeeBreedingSystem.java125
1 files changed, 125 insertions, 0 deletions
diff --git a/src/Java/binnie/core/genetics/BeeBreedingSystem.java b/src/Java/binnie/core/genetics/BeeBreedingSystem.java
new file mode 100644
index 0000000000..2c3947b5a0
--- /dev/null
+++ b/src/Java/binnie/core/genetics/BeeBreedingSystem.java
@@ -0,0 +1,125 @@
+package binnie.core.genetics;
+
+import binnie.Binnie;
+import binnie.core.BinnieCore;
+import binnie.core.language.ManagerLanguage;
+import binnie.core.resource.ManagerResource;
+import binnie.extrabees.ExtraBees;
+import forestry.api.apiculture.EnumBeeChromosome;
+import forestry.api.apiculture.EnumBeeType;
+import forestry.api.apiculture.IApiaristTracker;
+import forestry.api.apiculture.IBeeMutation;
+import forestry.api.apiculture.IBeeRoot;
+import forestry.api.genetics.IAllele;
+import forestry.api.genetics.IBreedingTracker;
+import forestry.api.genetics.IChromosomeType;
+import forestry.api.genetics.IMutation;
+import forestry.api.genetics.ISpeciesRoot;
+import java.util.TreeSet;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+
+class BeeBreedingSystem
+ extends BreedingSystem
+{
+ public BeeBreedingSystem()
+ {
+ this.iconUndiscovered = Binnie.Resource.getItemIcon(ExtraBees.instance, "icon/undiscoveredBee");
+ this.iconDiscovered = Binnie.Resource.getItemIcon(ExtraBees.instance, "icon/discoveredBee");
+ }
+
+ public float getChance(IMutation mutation, EntityPlayer player, IAllele species1, IAllele species2)
+ {
+ return ((IBeeMutation)mutation).getChance(new VirtualBeeHousing(player), species1, species2, getSpeciesRoot().templateAsGenome(getSpeciesRoot().getTemplate(species1.getUID())), getSpeciesRoot().templateAsGenome(getSpeciesRoot().getTemplate(species2.getUID())));
+ }
+
+ public ISpeciesRoot getSpeciesRoot()
+ {
+ return Binnie.Genetics.getBeeRoot();
+ }
+
+ public int getColour()
+ {
+ return 16767232;
+ }
+
+ public Class<? extends IBreedingTracker> getTrackerClass()
+ {
+ return IApiaristTracker.class;
+ }
+
+ public String getAlleleName(IChromosomeType chromosome, IAllele allele)
+ {
+ if (chromosome == EnumBeeChromosome.FERTILITY)
+ {
+ if (allele.getUID().contains("Low")) {
+ return Binnie.Language.localise(BinnieCore.instance, "allele.fertility.low");
+ }
+ if (allele.getUID().contains("Normal")) {
+ return Binnie.Language.localise(BinnieCore.instance, "allele.fertility.normal");
+ }
+ if (allele.getUID().contains("High")) {
+ return Binnie.Language.localise(BinnieCore.instance, "allele.fertility.high");
+ }
+ if (allele.getUID().contains("Maximum")) {
+ return Binnie.Language.localise(BinnieCore.instance, "allele.fertility.maximum");
+ }
+ }
+ return super.getAlleleName(chromosome, allele);
+ }
+
+ public boolean isDNAManipulable(ItemStack member)
+ {
+ return ((IBeeRoot)getSpeciesRoot()).getType(member) == EnumBeeType.LARVAE;
+ }
+
+ public int[] getActiveTypes()
+ {
+ return new int[] { EnumBeeType.DRONE.ordinal(), EnumBeeType.PRINCESS.ordinal(), EnumBeeType.QUEEN.ordinal(), EnumBeeType.LARVAE.ordinal() };
+ }
+
+ public void addExtraAlleles(IChromosomeType chromosome, TreeSet<IAllele> alleles)
+ {
+ switch (1.$SwitchMap$forestry$api$apiculture$EnumBeeChromosome[((EnumBeeChromosome)chromosome).ordinal()])
+ {
+ case 1:
+ for (ForestryAllele.Fertility a : ForestryAllele.Fertility.values()) {
+ alleles.add(a.getAllele());
+ }
+ break;
+ case 2:
+ for (ForestryAllele.Flowering a : ForestryAllele.Flowering.values()) {
+ alleles.add(a.getAllele());
+ }
+ break;
+ case 3:
+ case 4:
+ for (Tolerance a : Tolerance.values()) {
+ alleles.add(a.getAllele());
+ }
+ break;
+ case 5:
+ for (ForestryAllele.Lifespan a : ForestryAllele.Lifespan.values()) {
+ alleles.add(a.getAllele());
+ }
+ break;
+ case 6:
+ for (ForestryAllele.Speed a : ForestryAllele.Speed.values()) {
+ alleles.add(a.getAllele());
+ }
+ break;
+ case 7:
+ for (ForestryAllele.Territory a : ForestryAllele.Territory.values()) {
+ alleles.add(a.getAllele());
+ }
+ break;
+ case 8:
+ case 9:
+ case 10:
+ for (ForestryAllele.Bool a : ForestryAllele.Bool.values()) {
+ alleles.add(a.getAllele());
+ }
+ break;
+ }
+ }
+}