From 869c206c4fcc8001bd2e1d66f704290331813835 Mon Sep 17 00:00:00 2001 From: Draknyte1 Date: Wed, 20 Jan 2016 14:24:34 +1000 Subject: Initial Commit --- .../binnie/core/genetics/MothBreedingSystem.java | 138 +++++++++++++++++++++ 1 file changed, 138 insertions(+) create mode 100644 src/Java/binnie/core/genetics/MothBreedingSystem.java (limited to 'src/Java/binnie/core/genetics/MothBreedingSystem.java') diff --git a/src/Java/binnie/core/genetics/MothBreedingSystem.java b/src/Java/binnie/core/genetics/MothBreedingSystem.java new file mode 100644 index 0000000000..e1a45c9a9c --- /dev/null +++ b/src/Java/binnie/core/genetics/MothBreedingSystem.java @@ -0,0 +1,138 @@ +package binnie.core.genetics; + +import binnie.Binnie; +import binnie.core.BinnieCore; +import binnie.core.language.ManagerLanguage; +import binnie.core.resource.ManagerResource; +import binnie.extratrees.ExtraTrees; +import forestry.api.genetics.IAllele; +import forestry.api.genetics.IAlleleInteger; +import forestry.api.genetics.IBreedingTracker; +import forestry.api.genetics.IChromosomeType; +import forestry.api.genetics.IMutation; +import forestry.api.genetics.ISpeciesRoot; +import forestry.api.lepidopterology.EnumButterflyChromosome; +import forestry.api.lepidopterology.EnumFlutterType; +import forestry.api.lepidopterology.IButterflyRoot; +import forestry.api.lepidopterology.ILepidopteristTracker; +import java.util.TreeSet; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; + +class MothBreedingSystem + extends BreedingSystem +{ + public MothBreedingSystem() + { + this.iconUndiscovered = Binnie.Resource.getItemIcon(ExtraTrees.instance, "icon/undiscoveredMoth"); + this.iconDiscovered = Binnie.Resource.getItemIcon(ExtraTrees.instance, "icon/discoveredMoth"); + } + + public float getChance(IMutation mutation, EntityPlayer player, IAllele species1, IAllele species2) + { + return 0.0F; + } + + public ISpeciesRoot getSpeciesRoot() + { + return Binnie.Genetics.getButterflyRoot(); + } + + public int getColour() + { + return 62194; + } + + public Class getTrackerClass() + { + return ILepidopteristTracker.class; + } + + public String getAlleleName(IChromosomeType chromosome, IAllele allele) + { + if (chromosome == EnumButterflyChromosome.METABOLISM) + { + int metabolism = ((IAlleleInteger)allele).getValue(); + if (metabolism >= 19) { + return Binnie.Language.localise(BinnieCore.instance, "allele.metabolism.highest"); + } + if (metabolism >= 16) { + return Binnie.Language.localise(BinnieCore.instance, "allele.metabolism.higher"); + } + if (metabolism >= 13) { + return Binnie.Language.localise(BinnieCore.instance, "allele.metabolism.high"); + } + if (metabolism >= 10) { + return Binnie.Language.localise(BinnieCore.instance, "allele.metabolism.normal"); + } + if (metabolism >= 7) { + return Binnie.Language.localise(BinnieCore.instance, "allele.metabolism.slow"); + } + if (metabolism >= 4) { + return Binnie.Language.localise(BinnieCore.instance, "allele.metabolism.slower"); + } + return Binnie.Language.localise(BinnieCore.instance, "allele.metabolism.slowest"); + } + if (chromosome == EnumButterflyChromosome.FERTILITY) + { + int metabolism = ((IAlleleInteger)allele).getValue(); + return metabolism + "x"; + } + return super.getAlleleName(chromosome, allele); + } + + public boolean isDNAManipulable(ItemStack member) + { + return ((IButterflyRoot)getSpeciesRoot()).getType(member) == EnumFlutterType.SERUM; + } + + public int[] getActiveTypes() + { + return new int[] { EnumFlutterType.BUTTERFLY.ordinal(), EnumFlutterType.CATERPILLAR.ordinal(), EnumFlutterType.SERUM.ordinal() }; + } + + public void addExtraAlleles(IChromosomeType chromosome, TreeSet alleles) + { + switch (1.$SwitchMap$forestry$api$lepidopterology$EnumButterflyChromosome[((EnumButterflyChromosome)chromosome).ordinal()]) + { + case 1: + for (ForestryAllele.Int a : ForestryAllele.Int.values()) { + alleles.add(a.getAllele()); + } + break; + case 2: + for (ForestryAllele.Lifespan a : ForestryAllele.Lifespan.values()) { + alleles.add(a.getAllele()); + } + break; + case 3: + for (ForestryAllele.Int a : ForestryAllele.Int.values()) { + alleles.add(a.getAllele()); + } + break; + case 4: + case 5: + case 6: + for (ForestryAllele.Bool a : ForestryAllele.Bool.values()) { + alleles.add(a.getAllele()); + } + break; + case 7: + for (ForestryAllele.Size a : ForestryAllele.Size.values()) { + alleles.add(a.getAllele()); + } + break; + case 8: + for (ForestryAllele.Speed a : ForestryAllele.Speed.values()) { + alleles.add(a.getAllele()); + } + break; + case 9: + case 10: + for (Tolerance a : Tolerance.values()) { + alleles.add(a.getAllele()); + } + break; + } + } +} -- cgit