aboutsummaryrefslogtreecommitdiff
path: root/src/Java/binnie/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/binnie/core')
-rw-r--r--src/Java/binnie/core/BinnieCore.java43
-rw-r--r--src/Java/binnie/core/genetics/BeeBreedingSystem.java125
-rw-r--r--src/Java/binnie/core/genetics/BeeModifierLogic.java47
-rw-r--r--src/Java/binnie/core/genetics/BreedingSystem.java558
-rw-r--r--src/Java/binnie/core/genetics/EnumBeeBooleanModifier.java8
-rw-r--r--src/Java/binnie/core/genetics/EnumBeeModifier.java17
-rw-r--r--src/Java/binnie/core/genetics/FlowerBreedingSystem.java129
-rw-r--r--src/Java/binnie/core/genetics/ForestryAllele.java211
-rw-r--r--src/Java/binnie/core/genetics/Gene.java128
-rw-r--r--src/Java/binnie/core/genetics/IAlleleProvider.java8
-rw-r--r--src/Java/binnie/core/genetics/IBreedingMessage.java124
-rw-r--r--src/Java/binnie/core/genetics/IItemStackRepresentitive.java8
-rw-r--r--src/Java/binnie/core/genetics/ManagerGenetics.java298
-rw-r--r--src/Java/binnie/core/genetics/MothBreedingSystem.java138
-rw-r--r--src/Java/binnie/core/genetics/Tolerance.java48
-rw-r--r--src/Java/binnie/core/genetics/TreeBreedingSystem.java303
-rw-r--r--src/Java/binnie/core/genetics/VirtualBeeHousing.java111
-rw-r--r--src/Java/binnie/core/genetics/VirtualHousing.java98
-rw-r--r--src/Java/binnie/core/genetics/VirtualMothHousing.java33
-rw-r--r--src/Java/binnie/core/item/ModuleItems.java75
-rw-r--r--src/Java/binnie/core/liquid/BinnieFluid.java32
-rw-r--r--src/Java/binnie/core/liquid/FluidContainer.java95
-rw-r--r--src/Java/binnie/core/liquid/IFluidType.java28
-rw-r--r--src/Java/binnie/core/liquid/ILiquidType.java7
-rw-r--r--src/Java/binnie/core/liquid/ItemFluidContainer.java179
-rw-r--r--src/Java/binnie/core/liquid/ManagerLiquid.java80
-rw-r--r--src/Java/binnie/core/machines/BlockMachine.java13
-rw-r--r--src/Java/binnie/core/machines/Machine.java34
-rw-r--r--src/Java/binnie/core/machines/TileEntityMachine.java7
-rw-r--r--src/Java/binnie/core/machines/base/DefaultPower.java13
-rw-r--r--src/Java/binnie/core/machines/base/TileEntityMachineBase.java22
-rw-r--r--src/Java/binnie/core/machines/inventory/ComponentChargedSlots.java12
-rw-r--r--src/Java/binnie/core/machines/inventory/ComponentInventoryTransfer.java21
-rw-r--r--src/Java/binnie/core/machines/inventory/SlotValidator.java8
-rw-r--r--src/Java/binnie/core/machines/inventory/TankValidator.java33
-rw-r--r--src/Java/binnie/core/machines/power/ComponentPowerReceptor.java36
-rw-r--r--src/Java/binnie/core/machines/power/ComponentProcessIndefinate.java5
-rw-r--r--src/Java/binnie/core/machines/power/ErrorState.java20
-rw-r--r--src/Java/binnie/core/machines/power/IPoweredMachine.java4
-rw-r--r--src/Java/binnie/core/machines/storage/Compartment.java9
-rw-r--r--src/Java/binnie/core/machines/storage/ComponentBinnieCoreGUI.java7
-rw-r--r--src/Java/binnie/core/machines/storage/ComponentCompartmentInventory.java10
42 files changed, 109 insertions, 3076 deletions
diff --git a/src/Java/binnie/core/BinnieCore.java b/src/Java/binnie/core/BinnieCore.java
index 6f1ce219ef..e2dbc502e3 100644
--- a/src/Java/binnie/core/BinnieCore.java
+++ b/src/Java/binnie/core/BinnieCore.java
@@ -1,5 +1,12 @@
package binnie.core;
+import java.util.ArrayList;
+import java.util.List;
+
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.server.MinecraftServer;
+import net.minecraftforge.client.event.TextureStitchEvent;
import binnie.Binnie;
import binnie.core.block.MultipassBlockRenderer;
import binnie.core.block.TileEntityMetadata;
@@ -8,15 +15,10 @@ import binnie.core.gui.BinnieGUIHandler;
import binnie.core.gui.IBinnieGUID;
import binnie.core.item.ItemFieldKit;
import binnie.core.item.ItemGenesis;
-import binnie.core.item.ModuleItems;
-import binnie.core.liquid.FluidContainer;
-import binnie.core.liquid.ItemFluidContainer;
-import binnie.core.liquid.ManagerLiquid;
import binnie.core.machines.MachineGroup;
import binnie.core.machines.storage.ModuleStorage;
import binnie.core.mod.config.ConfigurationMain;
import binnie.core.mod.config.ConfigurationMods;
-import binnie.core.mod.config.ManagerConfig;
import binnie.core.mod.parser.FieldParser;
import binnie.core.mod.parser.ItemParser;
import binnie.core.network.BinnieCorePacketID;
@@ -24,15 +26,11 @@ import binnie.core.network.BinniePacketHandler;
import binnie.core.network.IPacketID;
import binnie.core.proxy.BinnieProxy;
import binnie.core.proxy.IBinnieProxy;
-import binnie.core.resource.ManagerResource;
import binnie.core.triggers.ModuleTrigger;
import binnie.craftgui.minecraft.ModuleCraftGUI;
-import com.mojang.authlib.GameProfile;
import cpw.mods.fml.client.registry.RenderingRegistry;
import cpw.mods.fml.common.Loader;
import cpw.mods.fml.common.Mod;
-import cpw.mods.fml.common.Mod.EventHandler;
-import cpw.mods.fml.common.Mod.Instance;
import cpw.mods.fml.common.SidedProxy;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
@@ -42,20 +40,8 @@ import cpw.mods.fml.common.network.NetworkRegistry;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import forestry.api.core.ForestryEvent.SpeciesDiscovered;
-import forestry.api.genetics.IAlleleSpecies;
-import forestry.api.genetics.IBreedingTracker;
-import forestry.plugins.PluginManager.Module;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-import net.minecraft.client.renderer.texture.TextureMap;
-import net.minecraft.entity.player.EntityPlayerMP;
-import net.minecraft.item.Item;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.server.MinecraftServer;
-import net.minecraft.server.management.ServerConfigurationManager;
-import net.minecraftforge.client.event.TextureStitchEvent.Pre;
+import forestry.api.core.ForestryEvent;
+import forestry.plugins.PluginManager;
@Mod(modid="BinnieCore", name="Binnie Core", useMetadata=true)
public final class BinnieCore
@@ -76,7 +62,7 @@ public final class BinnieCore
}
addModule(new ModuleCraftGUI());
addModule(new ModuleStorage());
- addModule(new ModuleItems());
+ //addModule(new ModuleItems());
if (Loader.isModLoaded("BuildCraft|Silicon")) {
addModule(new ModuleTrigger());
}
@@ -103,11 +89,6 @@ public final class BinnieCore
public void preInit()
{
instance = this;
- for (FluidContainer container : FluidContainer.values())
- {
- Item item = new ItemFluidContainer(container);
- GameRegistry.registerItem(item, item.getUnlocalizedName().substring(5));
- }
FieldParser.parsers.add(new ItemParser());
super.preInit();
@@ -228,7 +209,7 @@ public final class BinnieCore
public void handleTextureRemap(TextureStitchEvent.Pre event)
{
if (event.map.getTextureType() == 0) {
- Binnie.Liquid.reloadIcons(event.map);
+ //Binnie.Liquid.reloadIcons(event.map);
}
Binnie.Resource.registerIcons(event.map, event.map.getTextureType());
}
@@ -248,7 +229,7 @@ public final class BinnieCore
{
public PacketHandler()
{
- super();
+ super(instance);
}
}
diff --git a/src/Java/binnie/core/genetics/BeeBreedingSystem.java b/src/Java/binnie/core/genetics/BeeBreedingSystem.java
deleted file mode 100644
index 2c3947b5a0..0000000000
--- a/src/Java/binnie/core/genetics/BeeBreedingSystem.java
+++ /dev/null
@@ -1,125 +0,0 @@
-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;
- }
- }
-}
diff --git a/src/Java/binnie/core/genetics/BeeModifierLogic.java b/src/Java/binnie/core/genetics/BeeModifierLogic.java
deleted file mode 100644
index 65a2ab3103..0000000000
--- a/src/Java/binnie/core/genetics/BeeModifierLogic.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package binnie.core.genetics;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-public class BeeModifierLogic
-{
- private Map<EnumBeeModifier, Float[]> modifiers = new HashMap();
- private List<EnumBeeBooleanModifier> booleanModifiers = new ArrayList();
-
- public float getModifier(EnumBeeModifier modifier, float currentModifier)
- {
- if (!this.modifiers.containsKey(modifier)) {
- return 1.0F;
- }
- float mult = ((Float[])this.modifiers.get(modifier))[0].floatValue();
- float max = ((Float[])this.modifiers.get(modifier))[1].floatValue();
- if (max >= 1.0F)
- {
- if (max <= currentModifier) {
- return 1.0F;
- }
- return Math.min(max / currentModifier, mult);
- }
- if (max >= currentModifier) {
- return 1.0F;
- }
- return Math.max(max / currentModifier, mult);
- }
-
- public boolean getModifier(EnumBeeBooleanModifier modifier)
- {
- return this.booleanModifiers.contains(modifier);
- }
-
- public void setModifier(EnumBeeBooleanModifier modifier)
- {
- this.booleanModifiers.add(modifier);
- }
-
- public void setModifier(EnumBeeModifier modifier, float mult, float max)
- {
- this.modifiers.put(modifier, new Float[] { Float.valueOf(mult), Float.valueOf(max) });
- }
-}
diff --git a/src/Java/binnie/core/genetics/BreedingSystem.java b/src/Java/binnie/core/genetics/BreedingSystem.java
deleted file mode 100644
index 1bdd5d6376..0000000000
--- a/src/Java/binnie/core/genetics/BreedingSystem.java
+++ /dev/null
@@ -1,558 +0,0 @@
-package binnie.core.genetics;
-
-import binnie.Binnie;
-import binnie.core.BinnieCore;
-import binnie.core.language.ManagerLanguage;
-import binnie.core.proxy.BinnieProxy;
-import binnie.core.resource.BinnieIcon;
-import binnie.extrabees.genetics.ExtraBeeMutation;
-import com.mojang.authlib.GameProfile;
-import cpw.mods.fml.common.eventhandler.EventBus;
-import cpw.mods.fml.common.eventhandler.SubscribeEvent;
-import forestry.api.core.ForestryEvent.SyncedBreedingTracker;
-import forestry.api.genetics.AlleleManager;
-import forestry.api.genetics.IAllele;
-import forestry.api.genetics.IAlleleBoolean;
-import forestry.api.genetics.IAlleleRegistry;
-import forestry.api.genetics.IAlleleSpecies;
-import forestry.api.genetics.IBreedingTracker;
-import forestry.api.genetics.IChromosomeType;
-import forestry.api.genetics.IClassification;
-import forestry.api.genetics.IGenome;
-import forestry.api.genetics.IIndividual;
-import forestry.api.genetics.IMutation;
-import forestry.api.genetics.ISpeciesRoot;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.TreeSet;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.IIcon;
-import net.minecraft.world.World;
-import net.minecraftforge.common.MinecraftForge;
-
-public abstract class BreedingSystem
- implements IItemStackRepresentitive
-{
- protected BinnieIcon iconUndiscovered;
- protected BinnieIcon iconDiscovered;
-
- public BreedingSystem()
- {
- Binnie.Genetics.registerBreedingSystem(this);
- MinecraftForge.EVENT_BUS.register(this);
- }
-
- public String getChromosomeName(IChromosomeType chromo)
- {
- return BinnieCore.proxy.localise(getSpeciesRoot().getUID() + ".chromosome." + chromo.getName());
- }
-
- public String getChromosomeShortName(IChromosomeType chromo)
- {
- return BinnieCore.proxy.localise(getSpeciesRoot().getUID() + ".chromosome." + chromo.getName() + ".short");
- }
-
- public final String getEpitome(float discoveredPercentage)
- {
- int i = 0;
- if (discoveredPercentage == 1.0F) {
- i = 6;
- } else if (discoveredPercentage < 0.1F) {
- i = 0;
- } else if (discoveredPercentage < 0.3F) {
- i = 1;
- } else if (discoveredPercentage < 0.5F) {
- i = 2;
- } else if (discoveredPercentage < 0.7F) {
- i = 3;
- } else if (discoveredPercentage < 0.9F) {
- i = 4;
- } else if (discoveredPercentage < 1.0F) {
- i = 5;
- }
- return BinnieCore.proxy.localise(getSpeciesRoot().getUID() + ".epitome." + i);
- }
-
- private List<IClassification> allBranches = new ArrayList();
- List<IAlleleSpecies> allActiveSpecies = new ArrayList();
- private List<IAlleleSpecies> allSpecies = new ArrayList();
- private List<IMutation> allMutations = new ArrayList();
- private Map<IAlleleSpecies, List<IMutation>> resultantMutations = new HashMap();
- private Map<IAlleleSpecies, List<IMutation>> furtherMutations = new HashMap();
- private Map<IAlleleSpecies, List<IMutation>> allResultantMutations = new HashMap();
- private Map<IAlleleSpecies, List<IMutation>> allFurtherMutations = new HashMap();
- public float discoveredSpeciesPercentage;
- public int totalSpeciesCount;
- public int discoveredSpeciesCount;
- public int totalSecretCount;
- public int discoveredSecretCount;
- public float discoveredBranchPercentage;
- public int totalBranchCount;
- public int discoveredBranchCount;
- private int totalSecretBranchCount;
- private int discoveredSecretBranchCount;
- String currentEpithet;
-
- public abstract ISpeciesRoot getSpeciesRoot();
-
- public final List<IClassification> getAllBranches()
- {
- return this.allBranches;
- }
-
- public final Collection<IAlleleSpecies> getAllSpecies()
- {
- return this.allActiveSpecies;
- }
-
- public final Collection<IMutation> getAllMutations()
- {
- return this.allMutations;
- }
-
- public void calculateArrays()
- {
- Collection<IAllele> allAlleles = AlleleManager.alleleRegistry.getRegisteredAlleles().values();
-
-
- this.resultantMutations = new HashMap();
- this.furtherMutations = new HashMap();
- this.allResultantMutations = new HashMap();
- this.allFurtherMutations = new HashMap();
-
- this.allActiveSpecies = new ArrayList();
- this.allSpecies = new ArrayList();
- for (IAllele species : allAlleles) {
- if (getSpeciesRoot().getTemplate(species.getUID()) != null)
- {
- this.resultantMutations.put((IAlleleSpecies)species, new ArrayList());
-
- this.furtherMutations.put((IAlleleSpecies)species, new ArrayList());
-
- this.allResultantMutations.put((IAlleleSpecies)species, new ArrayList());
-
- this.allFurtherMutations.put((IAlleleSpecies)species, new ArrayList());
-
- this.allSpecies.add((IAlleleSpecies)species);
- if ((!isBlacklisted(species)) && (!species.getUID().contains("speciesBotAlfheim"))) {
- this.allActiveSpecies.add((IAlleleSpecies)species);
- }
- }
- }
- this.allMutations = new ArrayList();
-
- Collection<IClassification> allRegBranches = AlleleManager.alleleRegistry.getRegisteredClassifications().values();
-
-
- this.allBranches = new ArrayList();
- for (IClassification branch : allRegBranches) {
- if ((branch.getMemberSpecies().length > 0) &&
- (getSpeciesRoot().getTemplate(branch.getMemberSpecies()[0].getUID()) != null))
- {
- boolean possible = false;
- for (IAlleleSpecies species : branch.getMemberSpecies()) {
- if (this.allActiveSpecies.contains(species)) {
- possible = true;
- }
- }
- if (possible) {
- this.allBranches.add(branch);
- }
- }
- }
- if (getSpeciesRoot().getMutations(false) != null)
- {
- Set<IMutation> mutations = new LinkedHashSet();
- mutations.addAll(getSpeciesRoot().getMutations(false));
- if (this == Binnie.Genetics.beeBreedingSystem) {
- mutations.addAll(ExtraBeeMutation.mutations);
- }
- for (IMutation mutation : mutations)
- {
- this.allMutations.add(mutation);
-
- Set<IAlleleSpecies> participatingSpecies = new LinkedHashSet();
- if ((mutation.getAllele0() instanceof IAlleleSpecies)) {
- participatingSpecies.add((IAlleleSpecies)mutation.getAllele0());
- }
- if ((mutation.getAllele1() instanceof IAlleleSpecies)) {
- participatingSpecies.add((IAlleleSpecies)mutation.getAllele1());
- }
- for (IAlleleSpecies species : participatingSpecies)
- {
- ((List)this.allFurtherMutations.get(species)).add(mutation);
- if (this.allActiveSpecies.contains(species)) {
- ((List)this.furtherMutations.get(species)).add(mutation);
- }
- }
- if (this.resultantMutations.containsKey(mutation.getTemplate()[0]))
- {
- ((List)this.allResultantMutations.get(mutation.getTemplate()[0])).add(mutation);
- ((List)this.resultantMutations.get(mutation.getTemplate()[0])).add(mutation);
- }
- }
- }
- }
-
- public final boolean isBlacklisted(IAllele allele)
- {
- return AlleleManager.alleleRegistry.isBlacklisted(allele.getUID());
- }
-
- public final List<IMutation> getResultantMutations(IAlleleSpecies species, boolean includeInactive)
- {
- if (this.resultantMutations.isEmpty()) {
- calculateArrays();
- }
- return includeInactive ? (List)this.allResultantMutations.get(species) : (List)this.resultantMutations.get(species);
- }
-
- public final List<IMutation> getResultantMutations(IAlleleSpecies species)
- {
- if (this.resultantMutations.isEmpty()) {
- calculateArrays();
- }
- return (List)this.resultantMutations.get(species);
- }
-
- public final List<IMutation> getFurtherMutations(IAlleleSpecies species, boolean includeInactive)
- {
- if (this.furtherMutations.isEmpty()) {
- calculateArrays();
- }
- return includeInactive ? (List)this.allFurtherMutations.get(species) : (List)this.furtherMutations.get(species);
- }
-
- public final List<IMutation> getFurtherMutations(IAlleleSpecies species)
- {
- if (this.furtherMutations.isEmpty()) {
- calculateArrays();
- }
- return (List)this.furtherMutations.get(species);
- }
-
- public final boolean isMutationDiscovered(IMutation mutation, World world, GameProfile name)
- {
- return isMutationDiscovered(mutation, getSpeciesRoot().getBreedingTracker(world, name));
- }
-
- public final boolean isMutationDiscovered(IMutation mutation, IBreedingTracker tracker)
- {
- if (tracker == null) {
- return true;
- }
- return tracker.isDiscovered(mutation);
- }
-
- public final boolean isSpeciesDiscovered(IAlleleSpecies species, World world, GameProfile name)
- {
- return isSpeciesDiscovered(species, getSpeciesRoot().getBreedingTracker(world, name));
- }
-
- public final boolean isSpeciesDiscovered(IAlleleSpecies species, IBreedingTracker tracker)
- {
- if (tracker == null) {
- return true;
- }
- return tracker.isDiscovered(species);
- }
-
- public final boolean isSecret(IAlleleSpecies species)
- {
- return !species.isCounted();
- }
-
- public final boolean isSecret(IClassification branch)
- {
- for (IAlleleSpecies species : branch.getMemberSpecies()) {
- if (!isSecret(species)) {
- return false;
- }
- }
- return true;
- }
-
- public final Collection<IClassification> getDiscoveredBranches(World world, GameProfile player)
- {
- List<IClassification> branches = new ArrayList();
- for (IClassification branch : getAllBranches())
- {
- boolean discovered = false;
- for (IAlleleSpecies species : branch.getMemberSpecies()) {
- if (isSpeciesDiscovered(species, world, player)) {
- discovered = true;
- }
- }
- if (discovered) {
- branches.add(branch);
- }
- }
- return branches;
- }
-
- public final Collection<IClassification> getDiscoveredBranches(IBreedingTracker tracker)
- {
- List<IClassification> branches = new ArrayList();
- for (IClassification branch : getAllBranches())
- {
- boolean discovered = false;
- for (IAlleleSpecies species : branch.getMemberSpecies()) {
- if (isSpeciesDiscovered(species, tracker)) {
- discovered = true;
- }
- }
- if (discovered) {
- branches.add(branch);
- }
- }
- return branches;
- }
-
- public final Collection<IAlleleSpecies> getDiscoveredSpecies(World world, GameProfile player)
- {
- List<IAlleleSpecies> speciesList = new ArrayList();
- for (IAlleleSpecies species : getAllSpecies()) {
- if (isSpeciesDiscovered(species, world, player)) {
- speciesList.add(species);
- }
- }
- return speciesList;
- }
-
- public final Collection<IAlleleSpecies> getDiscoveredSpecies(IBreedingTracker tracker)
- {
- List<IAlleleSpecies> speciesList = new ArrayList();
- for (IAlleleSpecies species : getAllSpecies()) {
- if (isSpeciesDiscovered(species, tracker)) {
- speciesList.add(species);
- }
- }
- return speciesList;
- }
-
- public final List<IMutation> getDiscoveredMutations(World world, GameProfile player)
- {
- List<IMutation> speciesList = new ArrayList();
- for (IMutation species : getAllMutations()) {
- if (isMutationDiscovered(species, world, player)) {
- speciesList.add(species);
- }
- }
- return speciesList;
- }
-
- public final List<IMutation> getDiscoveredMutations(IBreedingTracker tracker)
- {
- List<IMutation> speciesList = new ArrayList();
- for (IMutation species : getAllMutations()) {
- if (isMutationDiscovered(species, tracker)) {
- speciesList.add(species);
- }
- }
- return speciesList;
- }
-
- public final int getDiscoveredBranchMembers(IClassification branch, IBreedingTracker tracker)
- {
- int discoveredSpecies = 0;
- for (IAlleleSpecies species : branch.getMemberSpecies()) {
- if (isSpeciesDiscovered(species, tracker)) {
- discoveredSpecies++;
- }
- }
- return discoveredSpecies;
- }
-
- public IIcon getUndiscoveredIcon()
- {
- return this.iconUndiscovered.getIcon();
- }
-
- public IIcon getDiscoveredIcon()
- {
- return this.iconDiscovered.getIcon();
- }
-
- public abstract float getChance(IMutation paramIMutation, EntityPlayer paramEntityPlayer, IAllele paramIAllele1, IAllele paramIAllele2);
-
- public abstract Class<? extends IBreedingTracker> getTrackerClass();
-
- @SubscribeEvent
- public final void onSyncBreedingTracker(ForestryEvent.SyncedBreedingTracker event)
- {
- IBreedingTracker tracker = event.tracker;
- if (!getTrackerClass().isInstance(tracker)) {
- return;
- }
- syncTracker(tracker);
- }
-
- public final void syncTracker(IBreedingTracker tracker)
- {
- this.discoveredSpeciesPercentage = 0.0F;
-
- this.totalSpeciesCount = 0;
- this.discoveredSpeciesCount = 0;
-
- this.totalSecretCount = 0;
- this.discoveredSecretCount = 0;
-
- Collection<IAlleleSpecies> discoveredSpecies = getDiscovered