diff options
| author | Draknyte1 <Draknyte1@hotmail.com> | 2016-01-20 14:24:34 +1000 |
|---|---|---|
| committer | Draknyte1 <Draknyte1@hotmail.com> | 2016-01-20 14:24:34 +1000 |
| commit | 869c206c4fcc8001bd2e1d66f704290331813835 (patch) | |
| tree | 96735ce8fe4665e2759c3374221d6f06f4527df2 /src/Java/binnie/core/genetics/BeeBreedingSystem.java | |
| parent | ec2c72827f01dd4bb2174137f1ab162f9ddaab62 (diff) | |
| download | GT5-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.java | 125 |
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; + } + } +} |
