diff options
Diffstat (limited to 'src/Java/binnie/core')
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 = getDiscoveredSpecies(tracker); - Collection<IAlleleSpecies> allSpecies = getAllSpecies(); - for (IAlleleSpecies species : allSpecies) { - if (!isSecret(species)) - { - this.totalSpeciesCount += 1; - if (isSpeciesDiscovered(species, tracker)) { - this.discoveredSpeciesCount += 1; - } - } - else - { - this.totalSecretCount += 1; - if (isSpeciesDiscovered(species, tracker)) { - this.discoveredSecretCount += 1; - } - } - } - this.discoveredBranchPercentage = 0.0F; - - this.totalBranchCount = 0; - this.discoveredBranchCount = 0; - - Collection<IClassification> discoveredBranches = getDiscoveredBranches(tracker); - Collection<IClassification> allBranches = getAllBranches(); - for (IClassification branch : allBranches) { - if (!isSecret(branch)) - { - this.totalBranchCount += 1; - if (discoveredBranches.contains(branch)) { - this.discoveredBranchCount += 1; - } - } - else - { - this.totalSecretBranchCount += 1; - if (discoveredBranches.contains(branch)) { - this.discoveredSecretBranchCount += 1; - } - } - } - this.discoveredSpeciesPercentage = (this.discoveredSpeciesCount / this.totalSpeciesCount); - - this.discoveredBranchPercentage = (this.discoveredBranchCount / this.totalBranchCount); - - - String epithet = getEpitome(); - - onSyncBreedingTracker(tracker); - } - - public void onSyncBreedingTracker(IBreedingTracker tracker) {} - - public String getEpitome() - { - return getEpitome(this.discoveredSpeciesPercentage); - } - - public final String getDescriptor() - { - return BinnieCore.proxy.localise(getSpeciesRoot().getUID() + ".descriptor"); - } - - public final String getIdent() - { - return getSpeciesRoot().getUID(); - } - - public final IChromosomeType getChromosome(int i) - { - for (IChromosomeType chromosome : getSpeciesRoot().getKaryotype()) { - if (i == chromosome.ordinal()) { - return chromosome; - } - } - return null; - } - - public abstract int getColour(); - - public String getAlleleName(IChromosomeType chromosome, IAllele allele) - { - if ((allele instanceof IAlleleBoolean)) { - return ((IAlleleBoolean)allele).getValue() ? Binnie.Language.localise(BinnieCore.instance, "allele.true") : Binnie.Language.localise(BinnieCore.instance, "allele.false"); - } - if (allele.getName() == "for.gui.maximum") { - return Binnie.Language.localise(BinnieCore.instance, "allele.fertility.maximum"); - } - return allele.getName(); - } - - public String getName() - { - return BinnieCore.proxy.localise(getSpeciesRoot().getUID() + ".shortName"); - } - - public ItemStack getItemStackRepresentitive() - { - IIndividual first = (IIndividual)getSpeciesRoot().getIndividualTemplates().get(0); - return getSpeciesRoot().getMemberStack(first, getDefaultType()); - } - - public String toString() - { - return getName(); - } - - public abstract boolean isDNAManipulable(ItemStack paramItemStack); - - public IIndividual getConversion(ItemStack stack) - { - return null; - } - - public final IIndividual getDefaultIndividual() - { - return getSpeciesRoot().templateAsIndividual(getSpeciesRoot().getDefaultTemplate()); - } - - public final int getDefaultType() - { - return getActiveTypes()[0]; - } - - public abstract int[] getActiveTypes(); - - public abstract void addExtraAlleles(IChromosomeType paramIChromosomeType, TreeSet<IAllele> paramTreeSet); - - public ItemStack getConversionStack(ItemStack stack) - { - return getSpeciesRoot().getMemberStack(getConversion(stack), getDefaultType()); - } - - public final Collection<IChromosomeType> getActiveKaryotype() - { - return Binnie.Genetics.getActiveChromosomes(getSpeciesRoot()); - } - - public ItemStack getDefaultMember(String uid) - { - return getSpeciesRoot().getMemberStack(getIndividual(uid), getDefaultType()); - } - - public IIndividual getIndividual(String uid) - { - return getSpeciesRoot().templateAsIndividual(getSpeciesRoot().getTemplate(uid)); - } - - public IGenome getGenome(String uid) - { - return getSpeciesRoot().templateAsGenome(getSpeciesRoot().getTemplate(uid)); - } -} diff --git a/src/Java/binnie/core/genetics/EnumBeeBooleanModifier.java b/src/Java/binnie/core/genetics/EnumBeeBooleanModifier.java deleted file mode 100644 index 58eae12e79..0000000000 --- a/src/Java/binnie/core/genetics/EnumBeeBooleanModifier.java +++ /dev/null @@ -1,8 +0,0 @@ -package binnie.core.genetics; - -public enum EnumBeeBooleanModifier -{ - Sealed, SelfLighted, SunlightStimulated, Hellish; - - private EnumBeeBooleanModifier() {} -} diff --git a/src/Java/binnie/core/genetics/EnumBeeModifier.java b/src/Java/binnie/core/genetics/EnumBeeModifier.java deleted file mode 100644 index 92fc30bda0..0000000000 --- a/src/Java/binnie/core/genetics/EnumBeeModifier.java +++ /dev/null @@ -1,17 +0,0 @@ -package binnie.core.genetics; - -import binnie.Binnie; -import binnie.core.BinnieCore; -import binnie.core.language.ManagerLanguage; - -public enum EnumBeeModifier -{ - Territory, Mutation, Lifespan, Production, Flowering, GeneticDecay; - - private EnumBeeModifier() {} - - public String getName() - { - return Binnie.Language.localise(BinnieCore.instance, "beemodifier." + name().toLowerCase()); - } -} diff --git a/src/Java/binnie/core/genetics/FlowerBreedingSystem.java b/src/Java/binnie/core/genetics/FlowerBreedingSystem.java deleted file mode 100644 index bc706976c8..0000000000 --- a/src/Java/binnie/core/genetics/FlowerBreedingSystem.java +++ /dev/null @@ -1,129 +0,0 @@ -package binnie.core.genetics; - -import binnie.Binnie; -import binnie.botany.api.EnumFlowerChromosome; -import binnie.botany.api.EnumFlowerStage; -import binnie.botany.api.IBotanistTracker; -import binnie.botany.api.IFlowerMutation; -import binnie.botany.api.IFlowerRoot; -import binnie.botany.core.BotanyCore; -import binnie.botany.genetics.EnumFlowerColor; -import binnie.core.BinnieCore; -import binnie.core.language.ManagerLanguage; -import binnie.core.resource.ManagerResource; -import binnie.extrabees.ExtraBees; -import forestry.api.genetics.IAllele; -import forestry.api.genetics.IBreedingTracker; -import forestry.api.genetics.IChromosomeType; -import forestry.api.genetics.IIndividual; -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 FlowerBreedingSystem - extends BreedingSystem -{ - public FlowerBreedingSystem() - { - 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 ((IFlowerMutation)mutation).getBaseChance(); - } - - public ISpeciesRoot getSpeciesRoot() - { - return Binnie.Genetics.getFlowerRoot(); - } - - public int getColour() - { - return 14563127; - } - - public Class<? extends IBreedingTracker> getTrackerClass() - { - return IBotanistTracker.class; - } - - public String getAlleleName(IChromosomeType chromosome, IAllele allele) - { - if (chromosome == EnumFlowerChromosome.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 ((IFlowerRoot)getSpeciesRoot()).getType(member) == EnumFlowerStage.POLLEN; - } - - public IIndividual getConversion(ItemStack stack) - { - return BotanyCore.getFlowerRoot().getConversion(stack); - } - - public int[] getActiveTypes() - { - return new int[] { EnumFlowerStage.FLOWER.ordinal(), EnumFlowerStage.POLLEN.ordinal(), EnumFlowerStage.SEED.ordinal() }; - } - - public void addExtraAlleles(IChromosomeType chromosome, TreeSet<IAllele> alleles) - { - switch (1.$SwitchMap$binnie$botany$api$EnumFlowerChromosome[((EnumFlowerChromosome)chromosome).ordinal()]) - { - case 1: - for (ForestryAllele.Fertility a : ForestryAllele.Fertility.values()) { - alleles.add(a.getAllele()); - } - break; - case 2: - for (ForestryAllele.Lifespan a : ForestryAllele.Lifespan.values()) { - alleles.add(a.getAllele()); - } - break; - case 3: - case 4: - case 5: - for (Tolerance a : Tolerance.values()) { - alleles.add(a.getAllele()); - } - break; - case 6: - case 7: - case 8: - for (EnumFlowerColor a : EnumFlowerColor.values()) { - alleles.add(a.getAllele()); - } - break; - case 9: - for (ForestryAllele.Sappiness a : ForestryAllele.Sappiness.values()) { - alleles.add(a.getAllele()); - } - break; - case 10: - for (ForestryAllele.Territory a : ForestryAllele.Territory.values()) { - alleles.add(a.getAllele()); - } - break; - } - } -} diff --git a/src/Java/binnie/core/genetics/ForestryAllele.java b/src/Java/binnie/core/genetics/ForestryAllele.java deleted file mode 100644 index 19a3ad8b6f..0000000000 --- a/src/Java/binnie/core/genetics/ForestryAllele.java +++ /dev/null @@ -1,211 +0,0 @@ -package binnie.core.genetics; - -import binnie.Binnie; -import forestry.api.apiculture.IAlleleBeeSpecies; -import forestry.api.apiculture.IBeeRoot; -import forestry.api.genetics.AlleleManager; -import forestry.api.genetics.IAllele; -import forestry.api.genetics.IAlleleRegistry; - -public class ForestryAllele -{ - public static enum Lifespan - { - Shortest, Shorter, Short, Shortened, Normal, Elongated, Long, Longer, Longest; - - private Lifespan() {} - - public IAllele getAllele() - { - return AlleleManager.alleleRegistry.getAllele("forestry.lifespan" + toString()); - } - } - - public static enum Speed - { - Slowest, Slower, Slow, Norm, Fast, Faster, Fastest; - - private Speed() {} - - public IAllele getAllele() - { - return AlleleManager.alleleRegistry.getAllele("forestry.speed" + toString()); - } - } - - public static enum Fertility - { - Low, Normal, High, Maximum; - - private Fertility() {} - - public IAllele getAllele() - { - return AlleleManager.alleleRegistry.getAllele("forestry.fertility" + toString()); - } - } - - public static enum Flowering - { - Slowest, Slower, Slow, Average, Fast, Faster, Fastest, Maximum; - - private Flowering() {} - - public IAllele getAllele() - { - return AlleleManager.alleleRegistry.getAllele("forestry.flowering" + toString()); - } - } - - public static enum Territory - { - Default, Large, Larger, Largest; - - private Territory() {} - - public IAllele getAllele() - { - return AlleleManager.alleleRegistry.getAllele("forestry.territory" + toString()); - } - } - - public static enum Sappiness - { - Lowest, Lower, Low, Average, High, Higher, Highest; - - private Sappiness() {} - - public IAllele getAllele() - { - return AlleleManager.alleleRegistry.getAllele("forestry.sappiness" + toString()); - } - } - - public static enum TreeHeight - { - Smallest, Smaller, Small, Average, Large, Larger, Largest, Gigantic; - - private TreeHeight() {} - - public IAllele getAllele() - { - return AlleleManager.alleleRegistry.getAllele("forestry.height" + (this == Average ? "Max10" : toString())); - } - } - - public static enum Size - { - Smallest, Smaller, Small, Average, Large, Larger, Largest; - - private Size() {} - - public IAllele getAllele() - { - return AlleleManager.alleleRegistry.getAllele("forestry.size" + toString()); - } - } - - public static enum Saplings - { - Lowest, Lower, Low, Average, High, Higher, Highest; - - private Saplings() {} - - public IAllele getAllele() - { - String s = toString(); - if (this == Average) { - s = "Default"; - } - if (this == High) { - s = "Double"; - } - if (this == Higher) { - s = "Triple"; - } - return AlleleManager.alleleRegistry.getAllele("forestry.saplings" + s); - } - } - - public static enum Yield - { - Lowest, Lower, Low, Average, High, Higher, Highest; - - private Yield() {} - - public IAllele getAllele() - { - return AlleleManager.alleleRegistry.getAllele("forestry.yield" + (this == Average ? "Default" : toString())); - } - } - - public static enum Maturation - { - Slowest, Slower, Slow, Average, Fast, Faster, Fastest; - - private Maturation() {} - - public IAllele getAllele() - { - return AlleleManager.alleleRegistry.getAllele("forestry.maturation" + toString()); - } - } - - public static enum Bool - { - True, False; - - private Bool() {} - - public IAllele getAllele() - { - return AlleleManager.alleleRegistry.getAllele("forestry.bool" + toString()); - } - - public static IAllele get(boolean bool) - { - return (bool ? True : False).getAllele(); - } - } - - public static enum Growth - { - Tropical; - - private Growth() {} - - public IAllele getAllele() - { - return AlleleManager.alleleRegistry.getAllele("forestry.growth" + toString()); - } - } - - public static enum Int - { - Int1, Int2, Int3, Int4, Int5, Int6, Int7, Int8, Int9, Int10; - - private Int() {} - - public IAllele getAllele() - { - return AlleleManager.alleleRegistry.getAllele("forestry.i" + (ordinal() + 1) + "d"); - } - } - - public static enum BeeSpecies - { - Modest, Noble, Forest, Rural, Marshy, Sinister, Tropical, Wintry, Merry, Austere, Imperial, Ended, Meadows, Common, Frugal, Unweary, Diligent, Majestic, Cultivated, Industrious, Valiant, Secluded, Hermitic, Spectral, Exotic, Fiendish, Monastic, Steadfast, Miry, Farmerly, Boggy, Demonic; - - private BeeSpecies() {} - - public IAlleleBeeSpecies getAllele() - { - return (IAlleleBeeSpecies)AlleleManager.alleleRegistry.getAllele("forestry.species" + toString()); - } - - public IAllele[] getTemplate() - { - return Binnie.Genetics.getBeeRoot().getTemplate(getAllele().getUID()); - } - } -} diff --git a/src/Java/binnie/core/genetics/Gene.java b/src/Java/binnie/core/genetics/Gene.java deleted file mode 100644 index 3d071cc1ab..0000000000 --- a/src/Java/binnie/core/genetics/Gene.java +++ /dev/null @@ -1,128 +0,0 @@ -package binnie.core.genetics; - -import binnie.Binnie; -import binnie.genetics.api.IGene; -import forestry.api.core.INBTTagable; -import forestry.api.genetics.AlleleManager; -import forestry.api.genetics.IAllele; -import forestry.api.genetics.IAlleleRegistry; -import forestry.api.genetics.IChromosomeType; -import forestry.api.genetics.ISpeciesRoot; -import net.minecraft.nbt.NBTTagCompound; - -public class Gene - implements INBTTagable, IGene -{ - private IAllele allele; - private IChromosomeType chromosome; - private ISpeciesRoot root; - - public ISpeciesRoot getSpeciesRoot() - { - return this.root; - } - - public String toString() - { - return getAlleleName(); - } - - public Gene(IAllele allele, IChromosomeType chromosome, ISpeciesRoot root) - { - this.allele = allele; - this.chromosome = chromosome; - this.root = root; - } - - public Gene(NBTTagCompound nbt) - { - readFromNBT(nbt); - } - - public void readFromNBT(NBTTagCompound nbt) - { - this.allele = AlleleManager.alleleRegistry.getAllele(nbt.getString("allele")); - - this.root = AlleleManager.alleleRegistry.getSpeciesRoot(nbt.getString("root")); - - int chromoID = nbt.getByte("chromo"); - if ((this.root != null) && (chromoID >= 0) && (chromoID < this.root.getKaryotype().length)) { - this.chromosome = this.root.getKaryotype()[chromoID]; - } - } - - public void writeToNBT(NBTTagCompound nbt) - { - nbt.setString("allele", this.allele.getUID()); - nbt.setString("root", this.root.getUID()); - nbt.setByte("chromo", (byte)this.chromosome.ordinal()); - } - - public boolean isCorrupted() - { - return (this.allele == null) || (this.chromosome == null) || (this.root == null); - } - - public static Gene create(NBTTagCompound nbt) - { - Gene gene = new Gene(nbt); - return gene.isCorrupted() ? null : gene; - } - - public static Gene create(IAllele allele, IChromosomeType chromosome, ISpeciesRoot root) - { - Gene gene = new Gene(allele, chromosome, root); - return gene.isCorrupted() ? null : gene; - } - - public NBTTagCompound getNBTTagCompound() - { - NBTTagCompound nbt = new NBTTagCompound(); - writeToNBT(nbt); - return nbt; - } - - public String getName() - { - return Binnie.Genetics.getSystem(this.root).getAlleleName(this.chromosome, this.allele); - } - - public BreedingSystem getSystem() - { - return Binnie.Genetics.getSystem(this.root); - } - - public IChromosomeType getChromosome() - { - return this.chromosome; - } - - public IAllele getAllele() - { - return this.allele; - } - - public boolean equals(Object obj) - { - if (!(obj instanceof Gene)) { - return false; - } - Gene g = (Gene)obj; - return (this.allele == g.allele) && (this.chromosome.ordinal() == g.chromosome.ordinal()) && (this.root == g.root); - } - - public String getAlleleName() - { - return getSystem().getAlleleName(this.chromosome, this.allele); - } - - public String getChromosomeName() - { - return getSystem().getChromosomeName(this.chromosome); - } - - public String getShortChromosomeName() - { - return getSystem().getChromosomeShortName(this.chromosome); - } -} diff --git a/src/Java/binnie/core/genetics/IAlleleProvider.java b/src/Java/binnie/core/genetics/IAlleleProvider.java deleted file mode 100644 index 30dc8992e4..0000000000 --- a/src/Java/binnie/core/genetics/IAlleleProvider.java +++ /dev/null @@ -1,8 +0,0 @@ -package binnie.core.genetics; - -import forestry.api.genetics.IAllele; - -public abstract interface IAlleleProvider -{ - public abstract IAllele getAllele(); -} diff --git a/src/Java/binnie/core/genetics/IBreedingMessage.java b/src/Java/binnie/core/genetics/IBreedingMessage.java deleted file mode 100644 index fdd815c122..0000000000 --- a/src/Java/binnie/core/genetics/IBreedingMessage.java +++ /dev/null @@ -1,124 +0,0 @@ -package binnie.core.genetics; - -import binnie.Binnie; -import binnie.core.BinnieCore; -import binnie.core.language.ManagerLanguage; -import forestry.api.genetics.AlleleManager; -import forestry.api.genetics.IAlleleRegistry; -import forestry.api.genetics.IAlleleSpecies; -import forestry.api.genetics.IChromosomeType; -import forestry.api.genetics.IClassification; -import forestry.api.genetics.ISpeciesRoot; -import java.util.Map; -import net.minecraft.item.ItemStack; - -abstract interface IBreedingMessage -{ - public abstract String getTitle(); - - public abstract String getBody(); - - public abstract ItemStack getIcon(); - - public static class MessageSpeciesDiscovered - implements IBreedingMessage - { - IAlleleSpecies species; - ItemStack stack; - - public MessageSpeciesDiscovered(IAlleleSpecies species) - { - this.species = species; - ISpeciesRoot root = null; - for (ISpeciesRoot sRoot : AlleleManager.alleleRegistry.getSpeciesRoot().values()) { - if (sRoot.getKaryotype()[0].getAlleleClass().isInstance(species)) { - root = sRoot; - } - } - if (root != null) { - this.stack = root.getMemberStack(root.templateAsIndividual(root.getTemplate(species.getUID())), 0); - } - } - - public String getTitle() - { - return Binnie.Language.localise(BinnieCore.instance, "gui.breedingmessage.species"); - } - - public String getBody() - { - return this.species.getName(); - } - - public ItemStack getIcon() - { - return this.stack; - } - } - - public static class BranchDiscovered - implements IBreedingMessage - { - IAlleleSpecies species; - IClassification classification; - ItemStack stack; - - public BranchDiscovered(IAlleleSpecies species, IClassification classification) - { - this.species = species; - this.classification = classification; - ISpeciesRoot root = null; - for (ISpeciesRoot sRoot : AlleleManager.alleleRegistry.getSpeciesRoot().values()) { - if (sRoot.getKaryotype()[0].getAlleleClass().isInstance(species)) { - root = sRoot; - } - } - if (root != null) { - this.stack = root.getMemberStack(root.templateAsIndividual(root.getTemplate(species.getUID())), 0); - } - } - - public String getTitle() - { - return Binnie.Language.localise(BinnieCore.instance, "gui.breedingmessage.branch"); - } - - public String getBody() - { - return this.classification.getScientific(); - } - - public ItemStack getIcon() - { - return this.stack; - } - } - - public static class EpithetGained - implements IBreedingMessage - { - String epithet; - ItemStack stack; - - public EpithetGained(String epithet, ISpeciesRoot root) - { - this.epithet = epithet; - this.stack = root.getMemberStack(root.templateAsIndividual(root.getDefaultTemplate()), 0); - } - - public String getTitle() - { - return Binnie.Language.localise(BinnieCore.instance, "gui.breedingmessage.epithet"); - } - - public String getBody() - { - return this.epithet; - } - - public ItemStack getIcon() - { - return this.stack; - } - } -} diff --git a/src/Java/binnie/core/genetics/IItemStackRepresentitive.java b/src/Java/binnie/core/genetics/IItemStackRepresentitive.java deleted file mode 100644 index ccaf2d4ec4..0000000000 --- a/src/Java/binnie/core/genetics/IItemStackRepresentitive.java +++ /dev/null @@ -1,8 +0,0 @@ -package binnie.core.genetics; - -import net.minecraft.item.ItemStack; - -public abstract interface IItemStackRepresentitive -{ - public abstract ItemStack getItemStackRepresentitive(); -} diff --git a/src/Java/binnie/core/genetics/ManagerGenetics.java b/src/Java/binnie/core/genetics/ManagerGenetics.java deleted file mode 100644 index 4ea18ca7a4..0000000000 --- a/src/Java/binnie/core/genetics/ManagerGenetics.java +++ /dev/null @@ -1,298 +0,0 @@ -package binnie.core.genetics; - -import binnie.Binnie; -import binnie.botany.api.IFlowerRoot; -import binnie.botany.genetics.AlleleColor; -import binnie.core.BinnieCore; -import binnie.core.ManagerBase; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import forestry.api.apiculture.IBeeRoot; -import forestry.api.arboriculture.ITreeRoot; -import forestry.api.genetics.AlleleManager; -import forestry.api.genetics.EnumTolerance; -import forestry.api.genetics.IAllele; -import forestry.api.genetics.IAlleleFloat; -import forestry.api.genetics.IAlleleInteger; -import forestry.api.genetics.IAlleleRegistry; -import forestry.api.genetics.IAlleleSpecies; -import forestry.api.genetics.IChromosomeType; -import forestry.api.genetics.IGenome; -import forestry.api.genetics.IIndividual; -import forestry.api.genetics.ISpeciesRoot; -import forestry.api.lepidopterology.IButterflyRoot; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Comparator; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; -import java.util.TreeSet; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import net.minecraftforge.event.world.WorldEvent.Load; - -public class ManagerGenetics - extends ManagerBase -{ - public BreedingSystem beeBreedingSystem; - public BreedingSystem treeBreedingSystem; - public BreedingSystem mothBreedingSystem; - public BreedingSystem flowerBreedingSystem; - private final Map<ISpeciesRoot, BreedingSystem> BREEDING_SYSTEMS; - private List<IChromosomeType> invalidChromosomeTypes; - private Map<ISpeciesRoot, Map<IChromosomeType, List<IAllele>>> chromosomeArray; - - public void init() - { - if (BinnieCore.isApicultureActive()) { - this.beeBreedingSystem = new BeeBreedingSystem(); - } - if (BinnieCore.isArboricultureActive()) { - this.treeBreedingSystem = new TreeBreedingSystem(); - } - if (BinnieCore.isLepidopteryActive()) { - this.mothBreedingSystem = new MothBreedingSystem(); - } - if (BinnieCore.isBotanyActive()) { - this.flowerBreedingSystem = new FlowerBreedingSystem(); - } - } - - public void postInit() - { - refreshData(); - } - - public boolean isSpeciesDiscovered(IAlleleSpecies species, World world, boolean nei) - { - return true; - } - - public ITreeRoot getTreeRoot() - { - return (ITreeRoot)AlleleManager.alleleRegistry.getSpeciesRoot("rootTrees"); - } - - public IBeeRoot getBeeRoot() - { - return (IBeeRoot)AlleleManager.alleleRegistry.getSpeciesRoot("rootBees"); - } - - public IButterflyRoot getButterflyRoot() - { - return (IButterflyRoot)AlleleManager.alleleRegistry.getSpeciesRoot("rootButterflies"); - } - - public IFlowerRoot getFlowerRoot() - { - return (IFlowerRoot)AlleleManager.alleleRegistry.getSpeciesRoot("rootFlowers"); - } - - public BreedingSystem getSystem(String string) - { - for (BreedingSystem system : this.BREEDING_SYSTEMS.values()) { - if (system.getIdent().equals(string)) { - return system; - } - } - return null; - } - - public BreedingSystem getSystem(ISpeciesRoot root) - { - return getSystem(root.getUID()); - } - - public ISpeciesRoot getSpeciesRoot(IAlleleSpecies species) - { - for (ISpeciesRoot root : AlleleManager.alleleRegistry.getSpeciesRoot().values()) { - if (root.getKaryotype()[0].getAlleleClass().isInstance(species)) { - return root; - } - } - return null; - } - - public IAllele getToleranceAllele(EnumTolerance tol) - { - return AlleleManager.alleleRegistry.getAllele(Tolerance.values()[tol.ordinal()].getUID()); - } - - public int[] getTolerance(EnumTolerance tol) - { - return Tolerance.values()[tol.ordinal()].getBounds(); - } - - public Collection<BreedingSystem> getActiveSystems() - { - return this.BREEDING_SYSTEMS.values(); - } - - public void registerBreedingSystem(BreedingSystem system) - { - this.BREEDING_SYSTEMS.put(system.getSpeciesRoot(), system); - } - - public BreedingSystem getConversionSystem(ItemStack stack) - { - for (BreedingSystem system : getActiveSystems()) { - if (system.getConversion(stack) != null) { - return system; - } - } - return null; - } - - public ItemStack getConversionStack(ItemStack stack) - { - BreedingSystem system = getConversionSystem(stack); - return system == null ? null : system.getConversionStack(stack); - } - - public IIndividual getConversion(ItemStack stack) - { - BreedingSystem system = getConversionSystem(stack); - return system == null ? null : system.getConversion(stack); - } - - @SubscribeEvent - public void onWorldLoad(WorldEvent.Load event) - { - refreshData(); - } - - private void refreshData() - { - loadAlleles(); - for (BreedingSystem system : Binnie.Genetics.getActiveSystems()) { - system.calculateArrays(); - } - } - - public ManagerGenetics() - { - this.BREEDING_SYSTEMS = new LinkedHashMap(); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - this.invalidChromosomeTypes = new ArrayList(); - - this.chromosomeArray = new LinkedHashMap(); - } - - private void loadAlleles() - { - this.invalidChromosomeTypes.clear(); - for (ISpeciesRoot root : AlleleManager.alleleRegistry.getSpeciesRoot().values()) - { - BreedingSystem system = getSystem(root); - Map<IChromosomeType, List<IAllele>> chromosomeMap = new LinkedHashMap(); - for (IChromosomeType chromosome : root.getKaryotype()) - { - TreeSet<IAllele> alleles = new TreeSet(new ComparatorAllele()); - for (IIndividual individual : root.getIndividualTemplates()) - { - IGenome genome = individual.getGenome(); - try - { - IAllele a1 = genome.getActiveAllele(chromosome); - IAllele a2 = genome.getInactiveAllele(chromosome); - if (chromosome.getAlleleClass().isInstance(a1)) { - alleles.add(a1); - } - if (chromosome.getAlleleClass().isInstance(a2)) { - alleles.add(a2); - } - } - catch (Exception e) {} - } - system.addExtraAlleles(chromosome, alleles); - if (alleles.size() == 0) - { - this.invalidChromosomeTypes.add(chromosome); - } - else - { - List<IAllele> alleleList = new ArrayList(); - alleleList.addAll(alleles); - chromosomeMap.put(chromosome, alleleList); - } - } - this.chromosomeArray.put(root, chromosomeMap); - } - } - - static class ComparatorAllele - implements Comparator<IAllele> - { - public int compare(IAllele o1, IAllele o2) - { - if ((o1 == null) || (o2 == null)) { - throw new NullPointerException("Allele is null!"); - } - if (((o1 instanceof IAlleleFloat)) && ((o2 instanceof IAlleleFloat))) { - return Float.valueOf(((IAlleleFloat)o1).getValue()).compareTo(Float.valueOf(((IAlleleFloat)o2).getValue())); - } - if (((o1 instanceof IAlleleInteger)) && ((o2 instanceof IAlleleInteger)) && (!(o1 instanceof AlleleColor))) { - return Integer.valueOf(((IAlleleInteger)o1).getValue()).compareTo(Integer.valueOf(((IAlleleInteger)o2).getValue())); - } - if ((o1.getName() != null) && (o2.getName() != null)) { - return o1.getName().compareTo(o2.getName()); - } - return o1.getUID().compareTo(o2.getUID()); - } - } - - public Map<IChromosomeType, List<IAllele>> getChromosomeMap(ISpeciesRoot root) - { - return (Map)this.chromosomeArray.get(root); - } - - public Collection<IChromosomeType> getActiveChromosomes(ISpeciesRoot root) - { - return getChromosomeMap(root).keySet(); - } - - public boolean isInvalidChromosome(IChromosomeType type) - { - return this.invalidChromosomeTypes.contains(type); - } -} diff --git a/src/Java/binnie/core/genetics/MothBreedingSystem.java b/src/Java/binnie/core/genetics/MothBreedingSystem.java deleted file mode 100644 index e1a45c9a9c..0000000000 --- a/src/Java/binnie/core/genetics/MothBreedingSystem.java +++ /dev/null @@ -1,138 +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.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<? extends IBreedingTracker> 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<IAllele> 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; - } - } -} diff --git a/src/Java/binnie/core/genetics/Tolerance.java b/src/Java/binnie/core/genetics/Tolerance.java deleted file mode 100644 index 7d9f62dfbf..0000000000 --- a/src/Java/binnie/core/genetics/Tolerance.java +++ /dev/null @@ -1,48 +0,0 @@ -package binnie.core.genetics; - -import forestry.api.genetics.AlleleManager; -import forestry.api.genetics.EnumTolerance; -import forestry.api.genetics.IAllele; -import forestry.api.genetics.IAlleleRegistry; - -public enum Tolerance -{ - None(0, 0), Both1(-1, 1), Both2(-2, 2), Both3(-3, 3), Both4(-4, 4), Both5(-5, 5), Up1(0, 1), Up2(0, 2), Up3(0, 3), Up4(0, 4), Up5(0, 5), Down1(-1, 0), Down2(-2, 0), Down3(-3, 0), Down4(-4, 0), Down5(-5, 0); - - private int[] bounds; - - private Tolerance(int a, int b) - { - this.bounds = new int[] { a, b }; - } - - public String getUID() - { - return "forestry.tolerance" + toString(); - } - - public int[] getBounds() - { - return this.bounds; - } - - public static Tolerance get(EnumTolerance tol) - { - return values()[tol.ordinal()]; - } - - public IAllele getAllele() - { - return AlleleManager.alleleRegistry.getAllele(getUID()); - } - - public <T extends Enum<T>> boolean canTolerate(T base, T test) - { - return (test.ordinal() <= base.ordinal() + this.bounds[1]) && (test.ordinal() >= base.ordinal() + this.bounds[0]); - } - - public static <T extends Enum<T>> boolean canTolerate(T base, T test, EnumTolerance tol) - { - return get(tol).canTolerate(base, test); - } -} diff --git a/src/Java/binnie/core/genetics/TreeBreedingSystem.java b/src/Java/binnie/core/genetics/TreeBreedingSystem.java deleted file mode 100644 index 9793126cb1..0000000000 --- a/src/Java/binnie/core/genetics/TreeBreedingSystem.java +++ /dev/null @@ -1,303 +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.core.util.UniqueItemStackSet; -import binnie.extratrees.ExtraTrees; -import binnie.extratrees.machines.Lumbermill; -import com.mojang.authlib.GameProfile; -import forestry.api.arboriculture.EnumGermlingType; -import forestry.api.arboriculture.EnumTreeChromosome; -import forestry.api.arboriculture.IAlleleFruit; -import forestry.api.arboriculture.IAlleleTreeSpecies; -import forestry.api.arboriculture.IArboristTracker; -import forestry.api.arboriculture.IFruitProvider; -import forestry.api.arboriculture.ITreeGenome; -import forestry.api.arboriculture.ITreeMutation; -import forestry.api.arboriculture.ITreeRoot; -import forestry.api.genetics.AlleleManager; -import forestry.api.genetics.IAllele; -import forestry.api.genetics.IAlleleInteger; -import forestry.api.genetics.IAllelePlantType; -import forestry.api.genetics.IAlleleSpecies; -import forestry.api.genetics.IBreedingTracker; -import forestry.api.genetics.IChromosomeType; -import forestry.api.genetics.IFruitFamily; -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.EnumSet; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Map.Entry; -import java.util.Set; -import java.util.TreeSet; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import net.minecraftforge.common.EnumPlantType; - -public class TreeBreedingSystem - extends BreedingSystem -{ - public UniqueItemStackSet allFruits = new UniqueItemStackSet(); - public UniqueItemStackSet allWoods = new UniqueItemStackSet(); - private UniqueItemStackSet discoveredFruits = new UniqueItemStackSet(); - private UniqueItemStackSet discoveredWoods = new UniqueItemStackSet(); - public UniqueItemStackSet discoveredPlanks = new UniqueItemStackSet(); - - public TreeBreedingSystem() - { - this.iconUndiscovered = Binnie.Resource.getItemIcon(ExtraTrees.instance, "icon/undiscoveredTree"); - this.iconDiscovered = Binnie.Resource.getItemIcon(ExtraTrees.instance, "icon/discoveredTree"); - } - - public float getChance(IMutation mutation, EntityPlayer player, IAllele species1, IAllele species2) - { - IGenome genome0 = getSpeciesRoot().templateAsGenome(getSpeciesRoot().getTemplate(species1.getUID())); - IGenome genome1 = getSpeciesRoot().templateAsGenome(getSpeciesRoot().getTemplate(species2.getUID())); - return ((ITreeMutation)mutation).getChance(player.worldObj, (int)player.posX, (int)player.posY, (int)player.posZ, species1, species2, genome0, genome1); - } - - public ISpeciesRoot getSpeciesRoot() - { - return Binnie.Genetics.getTreeRoot(); - } - - public int getColour() - { - return 53006; - } - - public Class<? extends IBreedingTracker> getTrackerClass() - { - return IArboristTracker.class; - } - - public String getAlleleName(IChromosomeType chromosome, IAllele allele) - { - if (chromosome == EnumTreeChromosome.GIRTH) { - return ((IAlleleInteger)allele).getValue() + "x" + ((IAlleleInteger)allele).getValue(); - } - if (chromosome == EnumTreeChromosome.PLANT) - { - EnumSet<EnumPlantType> types = ((IAllelePlantType)allele).getPlantTypes(); - return types.isEmpty() ? Binnie.Language.localise(BinnieCore.instance, "allele.none") : ((EnumPlantType)types.iterator().next()).toString(); - } - if ((chromosome == EnumTreeChromosome.FRUITS) && (allele.getUID().contains("."))) - { - IFruitProvider provider = ((IAlleleFruit)allele).getProvider(); - return provider.getProducts().length == 0 ? Binnie.Language.localise(BinnieCore.instance, "allele.none") : provider.getProducts()[0].getDisplayName(); - } - if (chromosome == EnumTreeChromosome.GROWTH) - { - if (allele.getUID().contains("Tropical")) { - return Binnie.Language.localise(BinnieCore.instance, "allele.growth.tropical"); - } - if (allele.getUID().contains("Lightlevel")) { - return Binnie.Language.localise(BinnieCore.instance, "allele.growth.lightlevel"); - } - } - return super.getAlleleName(chromosome, allele); - } - - public void onSyncBreedingTracker(IBreedingTracker tracker) - { - this.discoveredFruits.clear(); - this.discoveredWoods.clear(); - for (IAlleleSpecies species : getDiscoveredSpecies(tracker)) - { - IAlleleTreeSpecies tSpecies = (IAlleleTreeSpecies)species; - - ITreeGenome genome = (ITreeGenome)getSpeciesRoot().templateAsGenome(getSpeciesRoot().getTemplate(tSpecies.getUID())); - for (ItemStack wood : tSpecies.getLogStacks()) { - this.discoveredWoods.add(wood); - } - for (ItemStack fruit : genome.getFruitProvider().getProducts()) { - this.discoveredFruits.add(fruit); - } - for (Iterator i$ = this.discoveredWoods.iterator(); i$.hasNext(); wood = (ItemStack)i$.next()) {} - } - ItemStack wood; - } - - public final void calculateArrays() - { - super.calculateArrays(); - for (IAlleleSpecies species : this.allActiveSpecies) - { - IAlleleTreeSpecies tSpecies = (IAlleleTreeSpecies)species; - - - ITreeGenome genome = (ITreeGenome)getSpeciesRoot().templateAsGenome(getSpeciesRoot().getTemplate(tSpecies.getUID())); - for (ItemStack wood : tSpecies.getLogStacks()) { - this.allWoods.add(wood); - } - for (ItemStack fruit : genome.getFruitProvider().getProducts()) { - this.allFruits.add(fruit); - } - } - } - - public Collection<IAlleleSpecies> getTreesThatBearFruit(ItemStack fruit, boolean nei, World world, GameProfile player) - { - Collection<IAlleleSpecies> set = nei ? getAllSpecies() : getDiscoveredSpecies(world, player); - List<IAlleleSpecies> found = new ArrayList(); - for (IAlleleSpecies species : set) - { - IAlleleTreeSpecies tSpecies = (IAlleleTreeSpecies)species; - ITreeGenome genome = (ITreeGenome)getSpeciesRoot().templateAsGenome(getSpeciesRoot().getTemplate(tSpecies.getUID())); - for (ItemStack fruit2 : genome.getFruitProvider().getProducts()) { - if (fruit2.isItemEqual(fruit)) { - found.add(species); - } - } - } - return found; - } - - public Collection<IAlleleSpecies> getTreesThatCanBearFruit(ItemStack fruit, boolean nei, World world, GameProfile player) - { - Collection<IAlleleSpecies> set = nei ? getAllSpecies() : getDiscoveredSpecies(world, player); - List<IAlleleSpecies> found = new ArrayList(); - - Set<IFruitFamily> providers = new HashSet(); - for (IAlleleSpecies species : set) - { - IAlleleTreeSpecies tSpecies = (IAlleleTreeSpecies)species; - ITreeGenome genome = (ITreeGenome)getSpeciesRoot().templateAsGenome(getSpeciesRoot().getTemplate(tSpecies.getUID())); - for (ItemStack fruit2 : genome.getFruitProvider().getProducts()) { - if (fruit2.isItemEqual(fruit)) { - providers.add(genome.getFruitProvider().getFamily()); - } - } - } - for (Iterator i$ = set.iterator(); i$.hasNext();) - { - species = (IAlleleSpecies)i$.next(); - tSpecies = (IAlleleTreeSpecies)species; - for (IFruitFamily family : providers) { - if (tSpecies.getSuitableFruit().contains(family)) - { - found.add(species); - break; - } - } - } - IAlleleSpecies species; - IAlleleTreeSpecies tSpecies; - return found; - } - - public Collection<IAlleleSpecies> getTreesThatHaveWood(ItemStack fruit, boolean nei, World world, GameProfile player) - { - Collection<IAlleleSpecies> set = nei ? getAllSpecies() : getDiscoveredSpecies(world, player); - List<IAlleleSpecies> found = new ArrayList(); - for (IAlleleSpecies species : set) - { - IAlleleTreeSpecies tSpecies = (IAlleleTreeSpecies)species; - for (ItemStack fruit2 : tSpecies.getLogStacks()) { - if (fruit2.isItemEqual(fruit)) { - found.add(species); - } - } - } - return found; - } - - public Collection<IAlleleSpecies> getTreesThatMakePlanks(ItemStack fruit, boolean nei, World world, GameProfile player) - { - if (fruit == null) { - return new ArrayList(); - } - Collection<IAlleleSpecies> set = nei ? getAllSpecies() : getDiscoveredSpecies(world, player); - List<IAlleleSpecies> found = new ArrayList(); - for (IAlleleSpecies species : set) - { - IAlleleTreeSpecies tSpecies = (IAlleleTreeSpecies)species; - for (ItemStack fruit2 : tSpecies.getLogStacks()) { - if ((Lumbermill.getPlankProduct(fruit2) != null) && (fruit.isItemEqual(Lumbermill.getPlankProduct(fruit2)))) { - found.add(species); - } - } - } - return found; - } - - public boolean isDNAManipulable(ItemStack member) - { - return ((ITreeRoot)getSpeciesRoot()).getType(member) == EnumGermlingType.POLLEN; - } - - public IIndividual getConversion(ItemStack stack) - { - if (stack == null) { - return null; - } - for (Map.Entry<ItemStack, IIndividual> entry : AlleleManager.ersatzSaplings.entrySet()) { - if (ItemStack.areItemStacksEqual(stack, (ItemStack)entry.getKey())) { - return (IIndividual)entry.getValue(); - } - } - return null; - } - - public int[] getActiveTypes() - { - return new int[] { EnumGermlingType.SAPLING.ordinal(), EnumGermlingType.POLLEN.ordinal() }; - } - - public void addExtraAlleles(IChromosomeType chromosome, TreeSet<IAllele> alleles) - { - switch (1.$SwitchMap$forestry$api$arboriculture$EnumTreeChromosome[((EnumTreeChromosome)chromosome).ordinal()]) - { - case 1: - for (ForestryAllele.Saplings a : ForestryAllele.Saplings.values()) { - alleles.add(a.getAllele()); - } - break; - case 2: - for (ForestryAllele.Int a : ForestryAllele.Int.values()) { - alleles.add(a.getAllele()); - } - break; - case 3: - for (ForestryAllele.TreeHeight a : ForestryAllele.TreeHeight.values()) { - alleles.add(a.getAllele()); - } - break; - case 4: - for (ForestryAllele.Maturation a : ForestryAllele.Maturation.values()) { - alleles.add(a.getAllele()); - } - break; - case 5: - for (ForestryAllele.Sappiness a : ForestryAllele.Sappiness.values()) { - alleles.add(a.getAllele()); - } - break; - case 6: - for (ForestryAllele.Territory a : ForestryAllele.Territory.values()) { - alleles.add(a.getAllele()); - } - break; - case 7: - for (ForestryAllele.Yield a : ForestryAllele.Yield.values()) { - alleles.add(a.getAllele()); - } - break; - case 8: - for (ForestryAllele.Bool a : ForestryAllele.Bool.values()) { - alleles.add(a.getAllele()); - } - break; - } - } -} diff --git a/src/Java/binnie/core/genetics/VirtualBeeHousing.java b/src/Java/binnie/core/genetics/VirtualBeeHousing.java deleted file mode 100644 index b425a21d83..0000000000 --- a/src/Java/binnie/core/genetics/VirtualBeeHousing.java +++ /dev/null @@ -1,111 +0,0 @@ -package binnie.core.genetics; - -import forestry.api.apiculture.IBee; -import forestry.api.apiculture.IBeeGenome; -import forestry.api.apiculture.IBeeHousing; -import forestry.api.genetics.IIndividual; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.world.biome.BiomeGenBase; - -public class VirtualBeeHousing - extends VirtualHousing - implements IBeeHousing -{ - public VirtualBeeHousing(EntityPlayer player) - { - super(player); - } - - public float getTerritoryModifier(IBeeGenome genome, float currentModifier) - { - return 1.0F; - } - - public float getMutationModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier) - { - return 1.0F; - } - - public float getLifespanModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier) - { - return 1.0F; - } - - public float getProductionModifier(IBeeGenome genome, float currentModifier) - { - return 1.0F; - } - - public ItemStack getQueen() - { - return null; - } - - public ItemStack getDrone() - { - return null; - } - - public void setQueen(ItemStack itemstack) {} - - public void setDrone(ItemStack itemstack) {} - - public boolean canBreed() - { - return true; - } - - public boolean addProduct(ItemStack product, boolean all) - { - return false; - } - - public void wearOutEquipment(int amount) {} - - public void onQueenChange(ItemStack queen) {} - - public boolean isSealed() - { - return false; - } - - public boolean isSelfLighted() - { - return false; - } - - public boolean isSunlightSimulated() - { - return false; - } - - public boolean isHellish() - { - return getBiomeId() == BiomeGenBase.hell.biomeID; - } - - public float getFloweringModifier(IBeeGenome genome, float currentModifier) - { - return 1.0F; - } - - public void onQueenDeath(IBee queen) {} - - public void onPostQueenDeath(IBee queen) {} - - public boolean onPollenRetrieved(IBee queen, IIndividual pollen, boolean isHandled) - { - return false; - } - - public boolean onEggLaid(IBee queen) - { - return false; - } - - public float getGeneticDecay(IBeeGenome genome, float currentModifier) - { - return 1.0F; - } -} diff --git a/src/Java/binnie/core/genetics/VirtualHousing.java b/src/Java/binnie/core/genetics/VirtualHousing.java deleted file mode 100644 index b6caa48360..0000000000 --- a/src/Java/binnie/core/genetics/VirtualHousing.java +++ /dev/null @@ -1,98 +0,0 @@ -package binnie.core.genetics; - -import com.mojang.authlib.GameProfile; -import forestry.api.core.EnumHumidity; -import forestry.api.core.EnumTemperature; -import forestry.api.core.IErrorState; -import forestry.api.genetics.IHousing; -import forestry.core.EnumErrorCode; -import java.util.Set; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import net.minecraft.world.biome.BiomeGenBase; - -class VirtualHousing - implements IHousing -{ - private EntityPlayer player; - - public VirtualHousing(EntityPlayer player) - { - this.player = player; - } - - public int getXCoord() - { - return (int)this.player.posX; - } - - public int getYCoord() - { - return (int)this.player.posY; - } - - public int getZCoord() - { - return (int)this.player.posZ; - } - - public int getBiomeId() - { - return this.player.worldObj.getBiomeGenForCoords(getXCoord(), getYCoord()).biomeID; - } - - public EnumTemperature getTemperature() - { - return EnumTemperature.getFromValue(getBiome().temperature); - } - - public EnumHumidity getHumidity() - { - return EnumHumidity.getFromValue(getBiome().rainfall); - } - - public World getWorld() - { - return this.player.worldObj; - } - - public void setErrorState(int state) {} - - public int getErrorOrdinal() - { - return 0; - } - - public boolean addProduct(ItemStack product, boolean all) - { - return false; - } - - public GameProfile getOwnerName() - { - return this.player.getGameProfile(); - } - - public BiomeGenBase getBiome() - { - return this.player.worldObj.getBiomeGenForCoords(getXCoord(), getZCoord()); - } - - public EnumErrorCode getErrorState() - { - return null; - } - - public void setErrorState(IErrorState state) {} - - public boolean setErrorCondition(boolean condition, IErrorState errorState) - { - return false; - } - - public Set<IErrorState> getErrorStates() - { - return null; - } -} diff --git a/src/Java/binnie/core/genetics/VirtualMothHousing.java b/src/Java/binnie/core/genetics/VirtualMothHousing.java deleted file mode 100644 index ad0f8d0cfc..0000000000 --- a/src/Java/binnie/core/genetics/VirtualMothHousing.java +++ /dev/null @@ -1,33 +0,0 @@ -package binnie.core.genetics; - -import forestry.api.genetics.IIndividual; -import forestry.api.lepidopterology.IButterfly; -import forestry.api.lepidopterology.IButterflyNursery; -import net.minecraft.entity.player.EntityPlayer; - -public class VirtualMothHousing - extends VirtualHousing - implements IButterflyNursery -{ - public VirtualMothHousing(EntityPlayer player) - { - super(player); - } - - public IButterfly getCaterpillar() - { - return null; - } - - public IIndividual getNanny() - { - return null; - } - - public void setCaterpillar(IButterfly butterfly) {} - - public boolean canNurse(IButterfly butterfly) - { - return false; - } -} diff --git a/src/Java/binnie/core/item/ModuleItems.java b/src/Java/binnie/core/item/ModuleItems.java deleted file mode 100644 index 335106e040..0000000000 --- a/src/Java/binnie/core/item/ModuleItems.java +++ /dev/null @@ -1,75 +0,0 @@ -package binnie.core.item; - -import binnie.botany.Botany; -import binnie.botany.api.IAlleleFlowerSpecies; -import binnie.botany.api.IFlower; -import binnie.botany.api.IFlowerColour; -import binnie.botany.api.IFlowerGenome; -import binnie.botany.flower.TileEntityFlower; -import binnie.botany.network.PacketID; -import binnie.botany.proxy.Proxy; -import binnie.core.BinnieCore; -import binnie.core.IInitializable; -import binnie.core.network.packet.MessageNBT; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import cpw.mods.fml.common.registry.GameRegistry; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; -import net.minecraftforge.event.entity.player.PlayerInteractEvent; -import net.minecraftforge.event.entity.player.PlayerInteractEvent.Action; - -public class ModuleItems - implements IInitializable -{ - public void preInit() - { - BinnieCore.fieldKit = new ItemFieldKit(); - BinnieCore.genesis = new ItemGenesis(); - } - - public void init() {} - - public void postInit() - { - GameRegistry.addRecipe(new ItemStack(BinnieCore.fieldKit, 1, 63), new Object[] { "g ", " is", " pi", Character.valueOf('g'), Blocks.glass_pane, Character.valueOf('i'), Items.iron_ingot, Character.valueOf('p'), Items.paper, Character.valueOf('s'), new ItemStack(Items.dye, 1) }); - } - - @SubscribeEvent - public void onUseFieldKit(PlayerInteractEvent event) - { - if (!BinnieCore.isBotanyActive()) { - return; - } - if (event.action != PlayerInteractEvent.Action.RIGHT_CLICK_BLOCK) { - return; - } - if ((event.entityPlayer != null) && (event.entityPlayer.getHeldItem() != null) && (event.entityPlayer.getHeldItem().getItem() == BinnieCore.fieldKit) && (event.entityPlayer.isSneaking())) - { - TileEntity tile = event.world.getTileEntity(event.x, event.y, event.z); - if ((tile instanceof TileEntityFlower)) - { - TileEntityFlower tileFlower = (TileEntityFlower)tile; - IFlower flower = tileFlower.getFlower(); - if (flower != null) - { - NBTTagCompound info = new NBTTagCompound(); - info.setString("Species", flower.getGenome().getPrimary().getUID()); - info.setString("Species2", flower.getGenome().getSecondary().getUID()); - info.setFloat("Age", flower.getAge() / flower.getGenome().getLifespan()); - info.setShort("Colour", (short)flower.getGenome().getPrimaryColor().getID()); - info.setShort("Colour2", (short)flower.getGenome().getSecondaryColor().getID()); - info.setBoolean("Wilting", flower.isWilted()); - info.setBoolean("Flowered", flower.hasFlowered()); - - Botany.proxy.sendToPlayer(new MessageNBT(PacketID.Encylopedia.ordinal(), info), event.entityPlayer); - event.entityPlayer.getHeldItem().damageItem(1, event.entityPlayer); - } - } - } - } -} diff --git a/src/Java/binnie/core/liquid/BinnieFluid.java b/src/Java/binnie/core/liquid/BinnieFluid.java deleted file mode 100644 index e0ac5fc815..0000000000 --- a/src/Java/binnie/core/liquid/BinnieFluid.java +++ /dev/null @@ -1,32 +0,0 @@ -package binnie.core.liquid; - -import net.minecraftforge.fluids.Fluid; - -class BinnieFluid - extends Fluid -{ - private final String name; - final IFluidType fluidType; - - public String getLocalizedName() - { - return this.name; - } - - public BinnieFluid(IFluidType fluid) - { - super(fluid.getIdentifier()); - this.fluidType = fluid; - this.name = fluid.getName(); - } - - public int getColor() - { - return this.fluidType.getColour(); - } - - public IFluidType getType() - { - return this.fluidType; - } -} diff --git a/src/Java/binnie/core/liquid/FluidContainer.java b/src/Java/binnie/core/liquid/FluidContainer.java deleted file mode 100644 index 0bfb14512b..0000000000 --- a/src/Java/binnie/core/liquid/FluidContainer.java +++ /dev/null @@ -1,95 +0,0 @@ -package binnie.core.liquid; - -import binnie.core.BinnieCore; -import binnie.core.Mods; -import binnie.core.Mods.Mod; -import binnie.core.proxy.BinnieProxy; -import binnie.genetics.item.GeneticsItems; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.init.Items; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import net.minecraftforge.fluids.FluidContainerRegistry; -import net.minecraftforge.fluids.FluidContainerRegistry.FluidContainerData; - -public enum FluidContainer -{ - Bucket, Capsule, Refractory, Can, Glass, Cylinder; - - IIcon bottle; - IIcon contents; - ItemFluidContainer item; - - private FluidContainer() {} - - public int getMaxStackSize() - { - return this == Bucket ? 1 : 16; - } - - @SideOnly(Side.CLIENT) - public void updateIcons(IIconRegister register) - { - this.bottle = BinnieCore.proxy.getIcon(register, this == Cylinder ? "binniecore" : "forestry", "liquids/" + toString().toLowerCase() + ".bottle"); - - this.contents = BinnieCore.proxy.getIcon(register, this == Cylinder ? "binniecore" : "forestry", "liquids/" + toString().toLowerCase() + ".contents"); - } - - public IIcon getBottleIcon() - { - return this.bottle; - } - - public IIcon getContentsIcon() - { - return this.contents; - } - - public String getName() - { - return BinnieCore.proxy.localise("item.container." + name().toLowerCase()); - } - - public boolean isActive() - { - return getEmpty() != null; - } - - public ItemStack getEmpty() - { - switch (1.$SwitchMap$binnie$core$liquid$FluidContainer[ordinal()]) - { - case 1: - return new ItemStack(Items.bucket, 1, 0); - case 2: - return Mods.Forestry.stack("canEmpty"); - case 3: - return Mods.Forestry.stack("waxCapsule"); - case 4: - return new ItemStack(Items.glass_bottle, 1, 0); - case 5: - return Mods.Forestry.stack("refractoryEmpty"); - case 6: - return GeneticsItems.Cylinder.get(1); - } - return null; - } - - public void registerContainerData(IFluidType fluid) - { - if (!isActive()) { - return; - } - ItemStack filled = this.item.getContainer(fluid); - - ItemStack empty = getEmpty(); - if ((filled == null) || (empty == null) || (fluid.get(1000) == null)) { - return; - } - FluidContainerRegistry.FluidContainerData data = new FluidContainerRegistry.FluidContainerData(fluid.get(1000), filled, empty); - - FluidContainerRegistry.registerFluidContainer(data); - } -} diff --git a/src/Java/binnie/core/liquid/IFluidType.java b/src/Java/binnie/core/liquid/IFluidType.java deleted file mode 100644 index 3d0bd46d2b..0000000000 --- a/src/Java/binnie/core/liquid/IFluidType.java +++ /dev/null @@ -1,28 +0,0 @@ -package binnie.core.liquid; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.util.IIcon; -import net.minecraftforge.fluids.FluidStack; - -public abstract interface IFluidType -{ - public abstract IIcon getIcon(); - - public abstract void registerIcon(IIconRegister paramIIconRegister); - - public abstract String getName(); - - public abstract String getIdentifier(); - - public abstract FluidStack get(int paramInt); - - public abstract int getColour(); - - public abstract int getContainerColour(); - - public abstract int getTransparency(); - - public abstract boolean canPlaceIn(FluidContainer paramFluidContainer); - - public abstract boolean showInCreative(FluidContainer paramFluidContainer); -} diff --git a/src/Java/binnie/core/liquid/ILiquidType.java b/src/Java/binnie/core/liquid/ILiquidType.java deleted file mode 100644 index 69e035a3c3..0000000000 --- a/src/Java/binnie/core/liquid/ILiquidType.java +++ /dev/null @@ -1,7 +0,0 @@ -package binnie.core.liquid; - -public abstract interface ILiquidType - extends IFluidType -{ - public abstract int ordinal(); -} diff --git a/src/Java/binnie/core/liquid/ItemFluidContainer.java b/src/Java/binnie/core/liquid/ItemFluidContainer.java deleted file mode 100644 index fe3e72a123..0000000000 --- a/src/Java/binnie/core/liquid/ItemFluidContainer.java +++ /dev/null @@ -1,179 +0,0 @@ -package binnie.core.liquid; - -import binnie.Binnie; -import binnie.extratrees.alcohol.AlcoholEffect; -import binnie.extratrees.alcohol.drink.DrinkManager; -import binnie.extratrees.alcohol.drink.IDrinkLiquid; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Random; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumAction; -import net.minecraft.item.Item; -import net.minecraft.item.ItemFood; -import net.minecraft.item.ItemStack; -import net.minecraft.util.FoodStats; -import net.minecraft.util.IIcon; -import net.minecraft.world.World; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidStack; - -public class ItemFluidContainer - extends ItemFood -{ - private FluidContainer container; - public static int LiquidExtraBee = 64; - public static int LiquidExtraTree = 128; - public static int LiquidJuice = 256; - public static int LiquidAlcohol = 384; - public static int LiquidSpirit = 512; - public static int LiquidLiqueuer = 640; - public static int LiquidGenetics = 768; - private static Map<Integer, String> idToFluid = new HashMap(); - private static Map<String, Integer> fluidToID = new HashMap(); - - public static void registerFluid(IFluidType fluid, int id) - { - idToFluid.put(Integer.valueOf(id), fluid.getIdentifier().toLowerCase()); - fluidToID.put(fluid.getIdentifier().toLowerCase(), Integer.valueOf(id)); - } - - public ItemFluidContainer(FluidContainer container) - { - super(0, false); - this.container = container; - container.item = this; - this.maxStackSize = container.getMaxStackSize(); - setHasSubtypes(true); - setUnlocalizedName("container" + container.name()); - setCreativeTab(CreativeTabs.tabMaterials); - } - - private FluidStack getLiquid(ItemStack stack) - { - String liquid = (String)idToFluid.get(Integer.valueOf(stack.getItemDamage())); - return liquid == null ? null : Binnie.Liquid.getLiquidStack(liquid, 1000); - } - - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister register) - { - this.container.updateIcons(register); - } - - public String getItemStackDisplayName(ItemStack itemstack) - { - if (itemstack == null) { - return "???"; - } - FluidStack fluid = getLiquid(itemstack); - if (fluid == null) { - return "Missing Fluid"; - } - return fluid.getFluid().getLocalizedName(fluid) + " " + this.container.getName(); - } - - public void getSubItems(Item par1, CreativeTabs par2CreativeTabs, List itemList) - { - for (IFluidType liquid : Binnie.Liquid.fluids.values()) { - if ((liquid.canPlaceIn(this.container)) && - - (liquid.showInCreative(this.container))) { - itemList.add(getContainer(liquid)); - } - } - } - - public ItemStack getContainer(IFluidType liquid) - { - int id = ((Integer)fluidToID.get(liquid.getIdentifier().toLowerCase())).intValue(); - ItemStack itemstack = new ItemStack(this, 1, id); - return itemstack; - } - - public IIcon getIcon(ItemStack itemstack, int j) - { - if (j > 0) { - return this.container.getBottleIcon(); - } - return this.container.getContentsIcon(); - } - - @SideOnly(Side.CLIENT) - public int getColorFromItemStack(ItemStack item, int pass) - { - FluidStack fluid = getLiquid(item); - if (fluid == null) { - return 16777215; - } - if ((pass == 0) && ((fluid.getFluid() instanceof BinnieFluid))) { - return ((BinnieFluid)fluid.getFluid()).fluidType.getContainerColour(); - } - return super.getColorFromItemStack(item, pass); - } - - public boolean requiresMultipleRenderPasses() - { - return true; - } - - public ItemStack onEaten(ItemStack stack, World world, EntityPlayer player) - { - player.getFoodStats().func_151686_a(this, stack); - world.playSoundAtEntity(player, "random.burp", 0.5F, world.rand.nextFloat() * 0.1F + 0.9F); - onFoodEaten(stack, world, player); - return this.container.getEmpty(); - } - - protected void onFoodEaten(ItemStack stack, World world, EntityPlayer player) - { - if (!world.isRemote) - { - FluidStack fluid = getLiquid(stack); - IDrinkLiquid liquid = DrinkManager.getLiquid(fluid); - if (liquid != null) { - AlcoholEffect.makeDrunk(player, liquid.getABV() * fluid.amount); - } - } - } - - public int getMaxItemUseDuration(ItemStack stack) - { - return 32; - } - - public EnumAction getItemUseAction(ItemStack stack) - { - return isDrinkable(stack) ? EnumAction.drink : EnumAction.none; - } - - public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) - { - if (isDrinkable(stack)) { - player.setItemInUse(stack, getMaxItemUseDuration(stack)); - } - return stack; - } - - public int func_150905_g(ItemStack p_150905_1_) - { - return 0; - } - - public float func_150906_h(ItemStack p_150906_1_) - { - return 0.0F; - } - - private boolean isDrinkable(ItemStack stack) - { - FluidStack fluid = getLiquid(stack); - IDrinkLiquid liquid = DrinkManager.getLiquid(fluid); - return liquid == null ? false : liquid.isConsumable(); - } -} diff --git a/src/Java/binnie/core/liquid/ManagerLiquid.java b/src/Java/binnie/core/liquid/ManagerLiquid.java deleted file mode 100644 index f0ab486cc0..0000000000 --- a/src/Java/binnie/core/liquid/ManagerLiquid.java +++ /dev/null @@ -1,80 +0,0 @@ -package binnie.core.liquid; - -import binnie.core.ManagerBase; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import java.util.Collection; -import java.util.LinkedHashMap; -import java.util.Map; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidRegistry; -import net.minecraftforge.fluids.FluidStack; - -public class ManagerLiquid - extends ManagerBase -{ - Map<String, IFluidType> fluids = new LinkedHashMap(); - - public Collection<IFluidType> getFluidTypes() - { - return this.fluids.values(); - } - - public void createLiquids(IFluidType[] liquids, int startID) - { - for (IFluidType liquid : liquids) - { - BinnieFluid fluid = createLiquid(liquid, startID++); - if (fluid == null) { - throw new RuntimeException("Liquid registered incorrectly - " + liquid.getIdentifier()); - } - } - } - - public BinnieFluid createLiquid(IFluidType fluid, int id) - { - this.fluids.put(fluid.getIdentifier().toLowerCase(), fluid); - BinnieFluid bFluid = new BinnieFluid(fluid); - FluidRegistry.registerFluid(bFluid); - ItemFluidContainer.registerFluid(fluid, id); - return bFluid; - } - - public FluidStack getLiquidStack(String name, int amount) - { - return FluidRegistry.getFluidStack(name.toLowerCase(), amount); - } - - @SideOnly(Side.CLIENT) - public void reloadIcons(IIconRegister register) - { - for (IFluidType type : this.fluids.values()) - { - Fluid fluid = getLiquidStack(type.getIdentifier(), 1).getFluid(); - type.registerIcon(register); - if (fluid == null) { - throw new RuntimeException("[Binnie] Liquid not registered properly - " + type.getIdentifier()); - } - fluid.setIcons(type.getIcon()); - } - } - - public void init() {} - - public void postInit() - { - for (IFluidType fluid : this.fluids.values()) { - for (FluidContainer container : FluidContainer.values()) { - if ((container.isActive()) && (fluid.canPlaceIn(container))) { - container.registerContainerData(fluid); - } - } - } - } - - public IFluidType getFluidType(String liquid) - { - return (IFluidType)this.fluids.get(liquid.toLowerCase()); - } -} diff --git a/src/Java/binnie/core/machines/BlockMachine.java b/src/Java/binnie/core/machines/BlockMachine.java index 042e213aec..e2ad883207 100644 --- a/src/Java/binnie/core/machines/BlockMachine.java +++ b/src/Java/binnie/core/machines/BlockMachine.java @@ -1,14 +1,9 @@ package binnie.core.machines; -import binnie.Binnie; -import binnie.core.BinnieCore; -import binnie.core.machines.component.IRender.RandomDisplayTick; -import binnie.core.proxy.BinnieProxy; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; import java.util.ArrayList; import java.util.List; import java.util.Random; + import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; @@ -16,7 +11,6 @@ import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.PlayerCapabilities; import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -24,6 +18,11 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; +import binnie.Binnie; +import binnie.core.BinnieCore; +import binnie.core.machines.component.IRender; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; class BlockMachine extends BlockContainer diff --git a/src/Java/binnie/core/machines/Machine.java b/src/Java/binnie/core/machines/Machine.java index 474b32c627..70dc65c485 100644 --- a/src/Java/binnie/core/machines/Machine.java +++ b/src/Java/binnie/core/machines/Machine.java @@ -1,27 +1,11 @@ package binnie.core.machines; -import binnie.core.BinnieCore; -import binnie.core.machines.component.IInteraction.RightClick; -import binnie.core.machines.component.IRender.DisplayTick; -import binnie.core.machines.network.INetwork.GuiNBT; -import binnie.core.machines.network.INetwork.RecieveGuiNBT; -import binnie.core.machines.network.INetwork.SendGuiNBT; -import binnie.core.machines.network.INetwork.TilePacketSync; -import binnie.core.machines.power.ITankMachine; -import binnie.core.network.BinnieCorePacketID; -import binnie.core.network.INetworkedEntity; -import binnie.core.network.packet.MessageTileNBT; -import binnie.core.network.packet.PacketPayload; -import binnie.core.proxy.BinnieProxy; -import com.mojang.authlib.GameProfile; -import cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper; -import cpw.mods.fml.relauncher.Side; -import forestry.api.core.INBTTagable; import java.util.ArrayList; import java.util.Collection; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; + import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; import net.minecraft.nbt.NBTTagCompound; @@ -29,6 +13,20 @@ import net.minecraft.nbt.NBTUtil; import net.minecraft.network.Packet; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; +import binnie.core.BinnieCore; +import binnie.core.machines.component.IInteraction; +import binnie.core.machines.component.IRender; +import binnie.core.machines.network.INetwork; +import binnie.core.machines.power.ITankMachine; +import binnie.core.network.BinnieCorePacketID; +import binnie.core.network.INetworkedEntity; +import binnie.core.network.packet.MessageTileNBT; +import binnie.core.network.packet.PacketPayload; + +import com.mojang.authlib.GameProfile; + +import cpw.mods.fml.relauncher.Side; +import forestry.api.core.INBTTagable; public class Machine implements INetworkedEntity, INBTTagable, INetwork.TilePacketSync, IMachine, INetwork.GuiNBT @@ -67,7 +65,7 @@ public class Machine return this.componentMap.values(); } - public <T extends MachineComponent> T getComponent(Class<T> componentClass) + public <T extends MachineComponent> MachineComponent getComponent(Class<T> componentClass) { return hasComponent(componentClass) ? (MachineComponent)componentClass.cast(this.componentMap.get(componentClass)) : null; } diff --git a/src/Java/binnie/core/machines/TileEntityMachine.java b/src/Java/binnie/core/machines/TileEntityMachine.java index c6acf1fda8..27038b1c1c 100644 --- a/src/Java/binnie/core/machines/TileEntityMachine.java +++ b/src/Java/binnie/core/machines/TileEntityMachine.java @@ -1,13 +1,12 @@ package binnie.core.machines; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.network.Packet; import binnie.Binnie; import binnie.core.machines.base.TileEntityMachineBase; -import binnie.core.machines.component.IInteraction.ChunkUnload; -import binnie.core.machines.component.IInteraction.Invalidation; +import binnie.core.machines.component.IInteraction; import binnie.core.network.INetworkedEntity; import binnie.core.network.packet.PacketPayload; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.Packet; public class TileEntityMachine extends TileEntityMachineBase diff --git a/src/Java/binnie/core/machines/base/DefaultPower.java b/src/Java/binnie/core/machines/base/DefaultPower.java index 5d3e143b2b..527ce0801a 100644 --- a/src/Java/binnie/core/machines/base/DefaultPower.java +++ b/src/Java/binnie/core/machines/base/DefaultPower.java @@ -1,11 +1,10 @@ package binnie.core.machines.base; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.common.util.ForgeDirection; import binnie.core.machines.power.IPoweredMachine; import binnie.core.machines.power.PowerInfo; import binnie.core.machines.power.PowerInterface; -import cpw.mods.fml.common.Optional.Method; -import net.minecraft.tileentity.TileEntity; -import net.minecraftforge.common.util.ForgeDirection; class DefaultPower implements IPoweredMachine @@ -15,25 +14,25 @@ class DefaultPower return new PowerInfo(this, 0.0F); } - @Optional.Method(modid="IC2") + public double getDemandedEnergy() { return 0.0D; } - @Optional.Method(modid="IC2") + public int getSinkTier() { return 0; } - @Optional.Method(modid="IC2") + public double injectEnergy(ForgeDirection directionFrom, double amount, double voltage) { return 0.0D; } - @Optional.Method(modid="IC2") + public boolean acceptsEnergyFrom(TileEntity emitter, ForgeDirection direction) { return false; diff --git a/src/Java/binnie/core/machines/base/TileEntityMachineBase.java b/src/Java/binnie/core/machines/base/TileEntityMachineBase.java index 927671b67a..471bb4ab68 100644 --- a/src/Java/binnie/core/machines/base/TileEntityMachineBase.java +++ b/src/Java/binnie/core/machines/base/TileEntityMachineBase.java @@ -1,23 +1,21 @@ package binnie.core.machines.base; -import binnie.core.machines.Machine; -import binnie.core.machines.inventory.IInventoryMachine; -import binnie.core.machines.inventory.TankSlot; -import binnie.core.machines.power.IPoweredMachine; -import binnie.core.machines.power.ITankMachine; -import binnie.core.machines.power.PowerInfo; -import binnie.core.machines.power.PowerInterface; -import binnie.core.machines.power.TankInfo; -import cpw.mods.fml.common.Optional.Method; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.FluidTankInfo; import net.minecraftforge.fluids.IFluidTank; +import binnie.core.machines.Machine; +import binnie.core.machines.inventory.IInventoryMachine; +import binnie.core.machines.inventory.TankSlot; +import binnie.core.machines.power.IPoweredMachine; +import binnie.core.machines.power.ITankMachine; +import binnie.core.machines.power.PowerInfo; +import binnie.core.machines.power.PowerInterface; +import binnie.core.machines.power.TankInfo; public class TileEntityMachineBase extends TileEntity @@ -206,25 +204,21 @@ public class TileEntityMachineBase return getTankContainer().getTanks(); } - @Optional.Method(modid="IC2") public double getDemandedEnergy() { return getPower().getDemandedEnergy(); } - @Optional.Method(modid="IC2") public int getSinkTier() { return getPower().getSinkTier(); } - @Optional.Method(modid="IC2") public double injectEnergy(ForgeDirection directionFrom, double amount, double voltage) { return getPower().injectEnergy(directionFrom, amount, voltage); } - @Optional.Method(modid="IC2") public boolean acceptsEnergyFrom(TileEntity emitter, ForgeDirection direction) { return getPower().acceptsEnergyFrom(emitter, direction); diff --git a/src/Java/binnie/core/machines/inventory/ComponentChargedSlots.java b/src/Java/binnie/core/machines/inventory/ComponentChargedSlots.java index 078a2f98d5..ceaab46538 100644 --- a/src/Java/binnie/core/machines/inventory/ComponentChargedSlots.java +++ b/src/Java/binnie/core/machines/inventory/ComponentChargedSlots.java @@ -1,18 +1,16 @@ package binnie.core.machines.inventory; -import binnie.core.machines.Machine; -import binnie.core.machines.MachineComponent; -import binnie.core.machines.MachineUtil; -import binnie.core.machines.network.INetwork.GuiNBT; -import cpw.mods.fml.relauncher.Side; import java.util.HashMap; import java.util.Iterator; import java.util.Map; -import java.util.Map.Entry; -import java.util.Set; + import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; +import binnie.core.machines.Machine; +import binnie.core.machines.MachineComponent; +import binnie.core.machines.network.INetwork; +import cpw.mods.fml.relauncher.Side; public class ComponentChargedSlots extends MachineComponent diff --git a/src/Java/binnie/core/machines/inventory/ComponentInventoryTransfer.java b/src/Java/binnie/core/machines/inventory/ComponentInventoryTransfer.java index 8ee10080e8..e8bbf00f88 100644 --- a/src/Java/binnie/core/machines/inventory/ComponentInventoryTransfer.java +++ b/src/Java/binnie/core/machines/inventory/ComponentInventoryTransfer.java @@ -1,12 +1,13 @@ package binnie.core.machines.inventory; -import binnie.core.machines.IMachine; -import binnie.core.machines.MachineComponent; -import binnie.core.machines.transfer.TransferRequest; import java.util.ArrayList; import java.util.List; + import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; +import binnie.core.machines.IMachine; +import binnie.core.machines.MachineComponent; +import binnie.core.machines.transfer.TransferRequest; public class ComponentInventoryTransfer extends MachineComponent @@ -62,7 +63,7 @@ public class ComponentInventoryTransfer private Restock(IMachine machine, int[] buffer, int destination, int limit) { - super(machine, null); + super(machine); this.buffer = buffer; this.destination = destination; this.limit = limit; @@ -99,7 +100,7 @@ public class ComponentInventoryTransfer private Storage(IMachine machine, int source, int[] destination) { - super(machine, null); + super(machine); this.source = source; this.destination = destination; } @@ -122,22 +123,22 @@ public class ComponentInventoryTransfer public void addRestock(int[] buffer, int destination, int limit) { - this.transfers.add(new Restock(getMachine(), buffer, destination, limit, null)); + this.transfers.add(new Restock(getMachine(), buffer, destination, limit)); } public void addRestock(int[] buffer, int destination) { - this.transfers.add(new Restock(getMachine(), buffer, destination, null)); + this.transfers.add(new Restock(getMachine(), buffer, destination)); } public void addStorage(int source, int[] destination) { - this.transfers.add(new Storage(getMachine(), source, destination, null)); + this.transfers.add(new Storage(getMachine(), source, destination)); } public void performTransfer(int source, int[] destination) { - new Storage(getMachine(), source, destination, null).transfer((IInventory)getMachine().getInterface(IInventoryMachine.class)); + new Storage(getMachine(), source, destination).transfer((IInventory)getMachine().getInterface(IInventoryMachine.class)); } public void onUpdate() @@ -149,7 +150,7 @@ public class ComponentInventoryTransfer public void addStorage(int source, int[] destination, Condition condition) { - this.transfers.add(new Storage(getMachine(), source, destination, null).setCondition(condition)); + this.transfers.add(new Storage(getMachine(), source, destination).setCondition(condition)); } public static abstract class Condition diff --git a/src/Java/binnie/core/machines/inventory/SlotValidator.java b/src/Java/binnie/core/machines/inventory/SlotValidator.java index 952ff99761..0e0aab4e03 100644 --- a/src/Java/binnie/core/machines/inventory/SlotValidator.java +++ b/src/Java/binnie/core/machines/inventory/SlotValidator.java @@ -1,10 +1,8 @@ package binnie.core.machines.inventory; -import binnie.core.resource.BinnieIcon; -import forestry.api.genetics.AlleleManager; -import forestry.api.genetics.IAlleleRegistry; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; +import forestry.api.genetics.AlleleManager; public abstract class SlotValidator extends Validator<ItemStack> @@ -32,7 +30,7 @@ public abstract class SlotValidator public Item(ItemStack target, ValidatorIcon icon) { - super(); + super(icon); this.target = target; } @@ -52,7 +50,7 @@ public abstract class SlotValidator { public Individual() { - super(); + super(IconBee); } public boolean isValid(ItemStack itemStack) diff --git a/src/Java/binnie/core/machines/inventory/TankValidator.java b/src/Java/binnie/core/machines/inventory/TankValidator.java deleted file mode 100644 index 07c8f2f9c9..0000000000 --- a/src/Java/binnie/core/machines/inventory/TankValidator.java +++ /dev/null @@ -1,33 +0,0 @@ -package binnie.core.machines.inventory; - -import binnie.Binnie; -import binnie.core.liquid.ManagerLiquid; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidStack; - -public abstract class TankValidator - extends Validator<FluidStack> -{ - public abstract boolean isValid(FluidStack paramFluidStack); - - public static class Basic - extends TankValidator - { - private Fluid fluid; - - public Basic(String name) - { - this.fluid = Binnie.Liquid.getLiquidStack(name, 1).getFluid(); - } - - public boolean isValid(FluidStack stack) - { - return new FluidStack(this.fluid, 1).isFluidEqual(stack); - } - - public String getTooltip() - { - return new FluidStack(this.fluid, 1).getLocalizedName(); - } - } -} diff --git a/src/Java/binnie/core/machines/power/ComponentPowerReceptor.java b/src/Java/binnie/core/machines/power/ComponentPowerReceptor.java index 217af86c43..5392ea7012 100644 --- a/src/Java/binnie/core/machines/power/ComponentPowerReceptor.java +++ b/src/Java/binnie/core/machines/power/ComponentPowerReceptor.java @@ -1,28 +1,24 @@ package binnie.core.machines.power; -import binnie.core.Mods; -import binnie.core.Mods.Mod; -import binnie.core.machines.IMachine; -import binnie.core.machines.MachineComponent; -import binnie.core.machines.component.IBuildcraft.TriggerProvider; -import binnie.core.machines.component.IInteraction.ChunkUnload; -import binnie.core.machines.component.IInteraction.Invalidation; -import binnie.core.triggers.TriggerData; -import binnie.core.triggers.TriggerPower; -import cpw.mods.fml.common.Optional.Interface; -import cpw.mods.fml.common.Optional.Method; -import cpw.mods.fml.common.eventhandler.EventBus; import ic2.api.energy.event.EnergyTileLoadEvent; import ic2.api.energy.event.EnergyTileUnloadEvent; import ic2.api.energy.tile.IEnergyTile; + import java.util.LinkedList; import java.util.List; + +import miscutil.core.lib.LoadedMods; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.util.ForgeDirection; +import binnie.core.machines.IMachine; +import binnie.core.machines.MachineComponent; +import binnie.core.machines.component.IBuildcraft; +import binnie.core.machines.component.IInteraction; +import binnie.core.triggers.TriggerData; +import binnie.core.triggers.TriggerPower; -@Optional.Interface(iface="binnie.core.machines.component.IBuildcraft.TriggerProvider", modid="BuildCraft|Silicon") public class ComponentPowerReceptor extends MachineComponent implements IPoweredMachine, IBuildcraft.TriggerProvider, IInteraction.ChunkUnload, IInteraction.Invalidation @@ -74,7 +70,6 @@ public class ComponentPowerReceptor return new PowerInfo(this, 0.0F); } - @Optional.Method(modid="BuildCraft|Silicon") public final void getTriggers(List<TriggerData> triggers) { triggers.add(TriggerPower.powerNone(this)); @@ -84,26 +79,25 @@ public class ComponentPowerReceptor triggers.add(TriggerPower.powerFull(this)); } - @Optional.Method(modid="IC2") public double getDemandedEnergy() { return this.container.getEnergySpace(PowerSystem.EU); } - @Optional.Method(modid="IC2") + public int getSinkTier() { return 1; } - @Optional.Method(modid="IC2") + public double injectEnergy(ForgeDirection directionFrom, double amount, double voltage) { this.container.addEnergy(PowerSystem.EU, amount, true); return 0.0D; } - @Optional.Method(modid="IC2") + public boolean acceptsEnergyFrom(TileEntity emitter, ForgeDirection direction) { return acceptsPowerSystem(PowerSystem.EU); @@ -160,7 +154,7 @@ public class ComponentPowerReceptor if (getMachine().getWorld() == null) { return; } - if (Mods.IC2.active()) { + if (LoadedMods.IndustrialCraft2) { do_addToEnergyNet(); } } @@ -170,19 +164,17 @@ public class ComponentPowerReceptor if (getMachine().getWorld() == null) { return; } - if (Mods.IC2.active()) { + if (LoadedMods.IndustrialCraft2) { do_removeFromEnergyNet(); } } - @Optional.Method(modid="IC2") private void do_addToEnergyNet() { MinecraftForge.EVENT_BUS.post(new EnergyTileLoadEvent((IEnergyTile)getMachine().getTileEntity())); this.registeredToIC2EnergyNet = true; } - @Optional.Method(modid="IC2") private void do_removeFromEnergyNet() { MinecraftForge.EVENT_BUS.post(new EnergyTileUnloadEvent((IEnergyTile)getMachine().getTileEntity())); diff --git a/src/Java/binnie/core/machines/power/ComponentProcessIndefinate.java b/src/Java/binnie/core/machines/power/ComponentProcessIndefinate.java index f1442107f4..b4c81e0d62 100644 --- a/src/Java/binnie/core/machines/power/ComponentProcessIndefinate.java +++ b/src/Java/binnie/core/machines/power/ComponentProcessIndefinate.java @@ -1,10 +1,9 @@ package binnie.core.machines.power; +import net.minecraft.nbt.NBTTagCompound; import binnie.core.machines.IMachine; import binnie.core.machines.MachineComponent; -import binnie.core.machines.MachineUtil; -import binnie.core.machines.network.INetwork.TilePacketSync; -import net.minecraft.nbt.NBTTagCompound; +import binnie.core.machines.network.INetwork; public abstract class ComponentProcessIndefinate extends MachineComponent diff --git a/src/Java/binnie/core/machines/power/ErrorState.java b/src/Java/binnie/core/machines/power/ErrorState.java index 03ed4de1f0..65a3946829 100644 --- a/src/Java/binnie/core/machines/power/ErrorState.java +++ b/src/Java/binnie/core/machines/power/ErrorState.java @@ -1,7 +1,7 @@ package binnie.core.machines.power; -import forestry.api.core.INBTTagable; import net.minecraft.nbt.NBTTagCompound; +import forestry.api.core.INBTTagable; public class ErrorState implements INBTTagable @@ -54,7 +54,7 @@ public class ErrorState { public Item(String name, String desc, int[] slots) { - super(desc, slots); + super(name, desc, slots); } } @@ -63,7 +63,7 @@ public class ErrorState { public Tank(String name, String desc, int[] slots) { - super(desc, slots); + super(name, desc, slots); } } @@ -77,7 +77,7 @@ public class ErrorState public NoItem(String desc, int[] slots) { - super(desc, slots); + super("null", desc, slots); } } @@ -91,7 +91,7 @@ public class ErrorState public InvalidItem(String name, String desc, int slot) { - super(desc, new int[] { slot }); + super(name, desc, new int[] { slot }); } } @@ -100,7 +100,7 @@ public class ErrorState { public NoSpace(String desc, int[] slots) { - super(desc, slots); + super("null", desc, slots); } } @@ -109,7 +109,7 @@ public class ErrorState { public InsufficientPower() { - super("Not enough power to operate"); + super("Not enough power to operate", "."); } } @@ -118,7 +118,7 @@ public class ErrorState { public TankSpace(String desc, int tank) { - super(desc, new int[] { tank }); + super("null", desc, new int[] { tank }); } } @@ -127,7 +127,7 @@ public class ErrorState { public InsufficientLiquid(String desc, int tank) { - super(desc, new int[] { tank }); + super("null", desc, new int[] { tank }); } } @@ -136,7 +136,7 @@ public class ErrorState { public InvalidRecipe(String string, int[] slots) { - super(string, slots); + super("null", string, slots); } } diff --git a/src/Java/binnie/core/machines/power/IPoweredMachine.java b/src/Java/binnie/core/machines/power/IPoweredMachine.java index b5e57aeff0..61b505e3d3 100644 --- a/src/Java/binnie/core/machines/power/IPoweredMachine.java +++ b/src/Java/binnie/core/machines/power/IPoweredMachine.java @@ -1,10 +1,8 @@ package binnie.core.machines.power; -import cofh.api.energy.IEnergyHandler; -import cpw.mods.fml.common.Optional.Interface; import ic2.api.energy.tile.IEnergySink; +import cofh.api.energy.IEnergyHandler; -@Optional.Interface(iface="ic2.api.energy.tile.IEnergySink", modid="IC2") public abstract interface IPoweredMachine extends IEnergySink, IEnergyHandler { diff --git a/src/Java/binnie/core/machines/storage/Compartment.java b/src/Java/binnie/core/machines/storage/Compartment.java index d7694e2502..4ed8406346 100644 --- a/src/Java/binnie/core/machines/storage/Compartment.java +++ b/src/Java/binnie/core/machines/storage/Compartment.java @@ -1,16 +1,15 @@ package binnie.core.machines.storage; +import net.minecraft.client.renderer.RenderBlocks; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; import binnie.core.BinnieCore; import binnie.core.machines.IMachineType; import binnie.core.machines.Machine; -import binnie.core.machines.MachineGroup; import binnie.core.machines.MachinePackage; import binnie.core.machines.TileEntityMachine; import binnie.core.resource.BinnieResource; import binnie.core.resource.IBinnieTexture; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; enum Compartment implements IMachineType @@ -36,7 +35,7 @@ import net.minecraft.tileentity.TileEntity; protected PackageCompartment(String uid, IBinnieTexture renderTexture) { - super(false); + super(uid, false); this.renderTexture = renderTexture.getTexture(); } diff --git a/src/Java/binnie/core/machines/storage/ComponentBinnieCoreGUI.java b/src/Java/binnie/core/machines/storage/ComponentBinnieCoreGUI.java index d987129378..abb2307687 100644 --- a/src/Java/binnie/core/machines/storage/ComponentBinnieCoreGUI.java +++ b/src/Java/binnie/core/machines/storage/ComponentBinnieCoreGUI.java @@ -1,13 +1,12 @@ package binnie.core.machines.storage; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.world.World; import binnie.core.BinnieCore; import binnie.core.gui.BinnieCoreGUI; import binnie.core.machines.Machine; import binnie.core.machines.MachineComponent; -import binnie.core.machines.component.IInteraction.RightClick; -import binnie.core.proxy.BinnieProxy; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.world.World; +import binnie.core.machines.component.IInteraction; class ComponentBinnieCoreGUI extends MachineComponent diff --git a/src/Java/binnie/core/machines/storage/ComponentCompartmentInventory.java b/src/Java/binnie/core/machines/storage/ComponentCompartmentInventory.java index ef55e9df9e..efe77be7e7 100644 --- a/src/Java/binnie/core/machines/storage/ComponentCompartmentInventory.java +++ b/src/Java/binnie/core/machines/storage/ComponentCompartmentInventory.java @@ -1,15 +1,15 @@ package binnie.core.machines.storage; -import binnie.core.machines.IMachine; -import binnie.core.machines.inventory.ComponentInventorySlots; -import binnie.core.machines.network.INetwork.GuiNBT; -import cpw.mods.fml.relauncher.Side; import java.util.HashMap; import java.util.Map; + import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; -import net.minecraft.tileentity.TileEntity; +import binnie.core.machines.IMachine; +import binnie.core.machines.inventory.ComponentInventorySlots; +import binnie.core.machines.network.INetwork; +import cpw.mods.fml.relauncher.Side; class ComponentCompartmentInventory extends ComponentInventorySlots |