From 5d3053ea8de10e700da2770669835e533cbe3918 Mon Sep 17 00:00:00 2001 From: MysteriousAges Date: Sun, 30 Dec 2012 19:33:37 -0800 Subject: [PATCH] Version for Forestry 1.6.5.x betas. --- thaumicbees_res/build.number | 4 +- thaumicbees_res/changelog.txt | 9 ++ thaumicbees_res/mcmod.info | 1 + .../thaumicbees/bees/BeeBranch.java | 64 ------------- .../thaumicbees/bees/BeeClassification.java | 92 +++++++++++++++++++ .../thaumicbees/bees/ThaumicBeesPlugin.java | 76 +++++++++++---- .../thaumicbees/bees/genetics/Allele.java | 5 + .../bees/genetics/BeeGenomeManager.java | 6 +- .../bees/genetics/BeeMutation.java | 2 +- .../thaumicbees/bees/genetics/BeeSpecies.java | 13 +-- .../thaumicbees/main/ClientProxy.java | 2 +- .../thaumicbees/main/ConfigFlags.java | 4 +- .../thaumicbees/main/ThaumcraftCompat.java | 37 +++++++- .../thaumicbees/main/ThaumicBees.java | 15 +-- .../thaumicbees/main/VersionInfo.java | 2 +- 15 files changed, 225 insertions(+), 107 deletions(-) create mode 100644 thaumicbees_res/changelog.txt delete mode 100644 thaumicbees_src/thaumicbees/bees/BeeBranch.java create mode 100644 thaumicbees_src/thaumicbees/bees/BeeClassification.java diff --git a/thaumicbees_res/build.number b/thaumicbees_res/build.number index f503c78..3a38ed2 100644 --- a/thaumicbees_res/build.number +++ b/thaumicbees_res/build.number @@ -1,3 +1,3 @@ #Build Number for ANT. Do not edit! -#Sat Dec 29 21:23:15 PST 2012 -build.number=35 +#Sun Dec 30 11:05:41 PST 2012 +build.number=36 diff --git a/thaumicbees_res/changelog.txt b/thaumicbees_res/changelog.txt new file mode 100644 index 0000000..cc8f932 --- /dev/null +++ b/thaumicbees_res/changelog.txt @@ -0,0 +1,9 @@ +1.0.0-36 - Version for Forestry 1.6.5.x beta! Wooo! +*Retooling some bee genome stuff to take advantage of new genes +*Adding extra thaumcraft tags to some forestry items +*Bees now all show up correctly in the Beealyzer Slot V + +0.9.0-35 +*Fixed problem with relative paths when reading Thaumcraft configs. + +0.9.0-34 : Initial Release. \ No newline at end of file diff --git a/thaumicbees_res/mcmod.info b/thaumicbees_res/mcmod.info index 2099d19..86060e0 100644 --- a/thaumicbees_res/mcmod.info +++ b/thaumicbees_res/mcmod.info @@ -2,6 +2,7 @@ { "modid": "ThaumicBees", "name": "ThaumicBees", + "url": "http://www.minecraftforum.net/topic/1623692-thaumicbees-beekeeping-is-magic/", "description": "Crossover mod for Forestry and Thaumcraft. Magic bees & more.", "authors": [ "MysteriousAges" ], "credits": "Thanks to Sengir for the Forestry help!", diff --git a/thaumicbees_src/thaumicbees/bees/BeeBranch.java b/thaumicbees_src/thaumicbees/bees/BeeBranch.java deleted file mode 100644 index 35b2f86..0000000 --- a/thaumicbees_src/thaumicbees/bees/BeeBranch.java +++ /dev/null @@ -1,64 +0,0 @@ -package thaumicbees.bees; - -import forestry.api.apiculture.IBeeBranch; -import forestry.api.genetics.IAlleleSpecies; -import java.util.ArrayList; - -public class BeeBranch implements IBeeBranch -{ - - public static BeeBranch Arcane; - public static BeeBranch Supernatural; - public static BeeBranch Stark; - public static BeeBranch Elemental; - public static BeeBranch Scholarly; - private String uID; - private String name; - private String scientific; - private String description; - private ArrayList memberSpecies; - - public BeeBranch(String branchName, String scientificName) - { - this(branchName, scientificName, ""); - } - - public BeeBranch(String branchName, String scientificName, String branchDescription) - { - uID = (new StringBuilder()).append("thaumicbees.branch.").append(branchName.toLowerCase()).toString(); - name = branchName; - scientific = scientificName; - description = branchDescription; - memberSpecies = new ArrayList(); - } - - public String getUID() - { - return uID; - } - - public String getName() - { - return name; - } - - public String getScientific() - { - return scientific; - } - - public String getDescription() - { - return description; - } - - public IAlleleSpecies[] getMembers() - { - return (IAlleleSpecies[]) memberSpecies.toArray(new IAlleleSpecies[memberSpecies.size()]); - } - - public void addMember(IAlleleSpecies species) - { - memberSpecies.add(species); - } -} diff --git a/thaumicbees_src/thaumicbees/bees/BeeClassification.java b/thaumicbees_src/thaumicbees/bees/BeeClassification.java new file mode 100644 index 0000000..a98be38 --- /dev/null +++ b/thaumicbees_src/thaumicbees/bees/BeeClassification.java @@ -0,0 +1,92 @@ +package thaumicbees.bees; + +import forestry.api.genetics.IClassification; +import forestry.api.genetics.IAlleleSpecies; +import java.util.ArrayList; + +public class BeeClassification implements IClassification +{ + + public BeeClassification() + { + // TODO + } + + @Override + public EnumClassLevel getLevel() + { + // TODO Auto-generated method stub + return null; + } + + @Override + public String getUID() + { + // TODO Auto-generated method stub + return null; + } + + @Override + public String getName() + { + // TODO Auto-generated method stub + return null; + } + + @Override + public String getScientific() + { + // TODO Auto-generated method stub + return null; + } + + @Override + public String getDescription() + { + // TODO Auto-generated method stub + return null; + } + + @Override + public IClassification[] getMemberGroups() + { + // TODO Auto-generated method stub + return null; + } + + @Override + public void addMemberGroup(IClassification group) + { + // TODO Auto-generated method stub + + } + + @Override + public IAlleleSpecies[] getMemberSpecies() + { + // TODO Auto-generated method stub + return null; + } + + @Override + public void addMemberSpecies(IAlleleSpecies species) + { + // TODO Auto-generated method stub + + } + + @Override + public IClassification getParent() + { + // TODO Auto-generated method stub + return null; + } + + @Override + public void setParent(IClassification parent) + { + // TODO Auto-generated method stub + + } + +} diff --git a/thaumicbees_src/thaumicbees/bees/ThaumicBeesPlugin.java b/thaumicbees_src/thaumicbees/bees/ThaumicBeesPlugin.java index 0b72a92..474e96a 100644 --- a/thaumicbees_src/thaumicbees/bees/ThaumicBeesPlugin.java +++ b/thaumicbees_src/thaumicbees/bees/ThaumicBeesPlugin.java @@ -4,6 +4,8 @@ import cpw.mods.fml.common.network.IGuiHandler; import forestry.api.apiculture.*; import forestry.api.core.*; import forestry.api.genetics.AlleleManager; +import forestry.api.genetics.IClassification; +import forestry.api.genetics.IClassification.EnumClassLevel; import java.lang.reflect.Field; import java.util.Random; @@ -50,7 +52,7 @@ public class ThaumicBeesPlugin implements IPlugin try { Field f = Class.forName("forestry.core.config.Config").getField("enableParticleFX"); - ThaumicBees.object.configFlags.drawParticleEffects = f.getBoolean(null); + ThaumicBees.object.configFlags.DrawParticleEffects = f.getBoolean(null); f = Class.forName("forestry.core.config.Defaults").getField("TEXTURE_PARTICLES_BEE"); thaumicbees.main.CommonProxy.FORESTRY_GFX_BEEEFFECTS = (String)f.get(null); @@ -71,12 +73,7 @@ public class ThaumicBeesPlugin implements IPlugin private void setupBeeSpecies() { IBreedingManager breedingMgr = BeeManager.breedingManager; - BeeBranch.Arcane = new BeeBranch("Arcane", "arcanis"); - BeeBranch.Supernatural = new BeeBranch("Supernatural", "coeleste"); - BeeBranch.Stark = new BeeBranch("Stark", "torridus", "Nothing of the mundane world remains in these bees."); - BeeBranch.Elemental = new BeeBranch("Elemental", "praecantatio"); - BeeBranch.Scholarly = new BeeBranch("Scholarly", "scholasticus"); Allele.flowerBookshelf = new AlleleFlower("flowerBookshelf", new FlowerProviderBookshelf(), true); Allele.flowerThaumcraft = new AlleleFlower("flowerThaumcraftPlant", new FlowerProviderThaumcraftFlower(), false); @@ -85,79 +82,115 @@ public class ThaumicBeesPlugin implements IPlugin Allele.digSpeed = new AlleleEffectPotion("effectDigSpeed", "Mining", Potion.digSpeed, 7, false); Allele.moveSpeed = new AlleleEffectPotion("effectMoveSpeed", "Swiftness", Potion.moveSpeed, 5, false); - Allele.Esoteric = new BeeSpecies("Esoteric", "", "secretiore", BeeBranch.Arcane, 0, + IClassification familyBee = AlleleManager.alleleRegistry.getClassification("family.apidae"); + IClassification occult = AlleleManager.alleleRegistry.createAndRegisterClassification(EnumClassLevel.GENUS, "occult", "Arcanus"); + occult.setParent(familyBee); + + Allele.Esoteric = new BeeSpecies("Esoteric", "An unusual crossbreed which seems to have magical properties.|Apinomicon", + "secretiore", occult, 0, 0x001099, 0xcc763c, EnumTemperature.NORMAL, EnumHumidity.NORMAL, false, hideSpecies, true, true); Allele.Esoteric.addProduct(ItemManager.combs.getStackForType(CombType.OCCULT), 20); Allele.Esoteric.setGenome(BeeGenomeManager.getTemplateEsoteric()); + occult.addMemberSpecies(Allele.Esoteric); breedingMgr.registerBeeTemplate(Allele.Esoteric.getGenome()); - Allele.Mysterious = new BeeSpecies("Mysterious", "", "mysticus", BeeBranch.Arcane, 0, + Allele.Mysterious = new BeeSpecies("Mysterious", "|Apinomicon", + "mysticus", occult, 0, 0x762bc2, defaultBodyColour, EnumTemperature.NORMAL, EnumHumidity.NORMAL, false, hideSpecies, true, true); Allele.Mysterious.addProduct(ItemManager.combs.getStackForType(CombType.OCCULT), 25); Allele.Mysterious.setGenome(BeeGenomeManager.getTemplateMysterious()); + occult.addMemberSpecies(Allele.Mysterious); breedingMgr.registerBeeTemplate(Allele.Mysterious.getGenome()); - Allele.Arcane = new BeeSpecies("Arcane", "", "arcanus", BeeBranch.Arcane, 0, + Allele.Arcane = new BeeSpecies("Arcane", "The pinnacle of magical bees. It is likely these lead to more powerful mutations...|Apinomicon", + "arcanus", occult, 0, 0xd242df, defaultBodyColour, EnumTemperature.NORMAL, EnumHumidity.NORMAL, true, hideSpecies, true, true); Allele.Arcane.addProduct(ItemManager.combs.getStackForType(CombType.OCCULT), 30); Allele.Arcane.setGenome(BeeGenomeManager.getTemplateArcane()); + occult.addMemberSpecies(Allele.Arcane); breedingMgr.registerBeeTemplate(Allele.Arcane.getGenome()); - Allele.Charmed = new BeeSpecies("Charmed", "", "larvatus", BeeBranch.Supernatural, 0, + IClassification otherworldly = AlleleManager.alleleRegistry.createAndRegisterClassification(EnumClassLevel.GENUS, "coeleste", "Coeleste"); + otherworldly.setParent(familyBee); + + Allele.Charmed = new BeeSpecies("Charmed", "|Apinomicon", + "larvatus", otherworldly, 0, 0x48EEEC, defaultBodyColour, EnumTemperature.NORMAL, EnumHumidity.NORMAL, false, hideSpecies, true, true); Allele.Charmed.addProduct(ItemManager.combs.getStackForType(CombType.OTHERWORLDLY), 20); Allele.Charmed.setGenome(BeeGenomeManager.getTemplateCharmed()); + otherworldly.addMemberSpecies(Allele.Charmed); breedingMgr.registerBeeTemplate(Allele.Charmed.getGenome()); - Allele.Enchanted = new BeeSpecies("Enchanted", "", "cantatus", BeeBranch.Supernatural, 0, + Allele.Enchanted = new BeeSpecies("Enchanted", "|Apinomicon", + "cantatus", otherworldly, 0, 0x18e726, defaultBodyColour, EnumTemperature.NORMAL, EnumHumidity.NORMAL, false, hideSpecies, true, true); Allele.Enchanted.addProduct(ItemManager.combs.getStackForType(CombType.OTHERWORLDLY), 30); Allele.Enchanted.setGenome(BeeGenomeManager.getTemplateEnchanted()); + otherworldly.addMemberSpecies(Allele.Enchanted); breedingMgr.registerBeeTemplate(Allele.Enchanted.getGenome()); - Allele.Supernatural = new BeeSpecies("Supernatural", "", "coeleste", BeeBranch.Supernatural, 0, + Allele.Supernatural = new BeeSpecies("Supernatural", "|Apinomicon", + "coeleste", otherworldly, 0, 0x005614, defaultBodyColour, EnumTemperature.NORMAL, EnumHumidity.NORMAL, true, hideSpecies, true, true); Allele.Supernatural.addProduct(ItemManager.combs.getStackForType(CombType.OTHERWORLDLY), 40); Allele.Supernatural.setGenome(BeeGenomeManager.getTemplateSupernatural()); + otherworldly.addMemberSpecies(Allele.Supernatural); breedingMgr.registerBeeTemplate(Allele.Supernatural.getGenome()); + + IClassification learned = AlleleManager.alleleRegistry.createAndRegisterClassification(EnumClassLevel.GENUS, "docto", "Docto"); + learned.setParent(familyBee); - Allele.Pupil = new BeeSpecies("Pupil", "", "disciplina", BeeBranch.Scholarly, 0, + Allele.Pupil = new BeeSpecies("Pupil", "\"What does that bee want with my paper?!|Yorae, Librarian", + "disciplina", learned, 0, 0xFFFF00, defaultBodyColour, EnumTemperature.NORMAL, EnumHumidity.ARID, false, hideSpecies, true, true); Allele.Pupil.addProduct(ItemManager.combs.getStackForType(CombType.PAPERY), 20); Allele.Pupil.setGenome(BeeGenomeManager.getTemplatePupil()); + learned.addMemberSpecies(Allele.Pupil); breedingMgr.registerBeeTemplate(Allele.Pupil.getGenome()); - Allele.Scholarly = new BeeSpecies("Scholarly", "", "studiosis", BeeBranch.Scholarly, 0, + Allele.Scholarly = new BeeSpecies("Scholarly", "\"I can't be sure, but I think they might be smarter than me...\"|Yorae, Librarian", + "studiosis", learned, 0, 0x6E0000, defaultBodyColour, EnumTemperature.NORMAL, EnumHumidity.ARID, false, hideSpecies, true, false); Allele.Scholarly.addProduct(ItemManager.combs.getStackForType(CombType.PAPERY), 25); Allele.Scholarly.addSpecialty(ItemManager.miscResources.getStackForType(ResourceType.KNOWLEDGE_FRAGMENT), 2); Allele.Scholarly.setGenome(BeeGenomeManager.getTemplateScholarly()); + learned.addMemberSpecies(Allele.Scholarly); breedingMgr.registerBeeTemplate(Allele.Scholarly.getGenome()); - Allele.Savant = new BeeSpecies("Savant", "", "philologus", BeeBranch.Scholarly, 0, + Allele.Savant = new BeeSpecies("Savant", "lim(x^(i / pi)/ log(e * 7 - ln(32/x^-pi))). Solve for honey.|Note found on Yorae's desk", + "philologus", learned, 0, 0x6E1C6D, defaultBodyColour, EnumTemperature.NORMAL, EnumHumidity.ARID, true, hideSpecies, true, false); Allele.Savant.addProduct(ItemManager.combs.getStackForType(CombType.PAPERY), 40); Allele.Savant.addSpecialty(ItemManager.miscResources.getStackForType(ResourceType.KNOWLEDGE_FRAGMENT), 5); Allele.Savant.setGenome(BeeGenomeManager.getTemplateSavant()); + learned.addMemberSpecies(Allele.Savant); breedingMgr.registerBeeTemplate(Allele.Savant.getGenome()); - Allele.Stark = new BeeSpecies("Stark", "", "torridus", BeeBranch.Stark, 0, + IClassification stark = AlleleManager.alleleRegistry.createAndRegisterClassification(EnumClassLevel.GENUS, "torridus", "Torridus"); + stark.setParent(familyBee); + + Allele.Stark = new BeeSpecies("Stark", "\"These are unusually attracted to shards. This warrents further investigation.\"|Azanor, Thaumaturge", + "torridae", stark, 0, 0xCCCCCC, 0x999999, EnumTemperature.NORMAL, EnumHumidity.NORMAL, true, hideSpecies, true, false); Allele.Stark.addProduct(ItemManager.combs.getStackForType(CombType.STARK), 5); Allele.Stark.setGenome(BeeGenomeManager.getTemplateStark()); breedingMgr.registerBeeTemplate(Allele.Stark.getGenome()); + + IClassification magical = AlleleManager.alleleRegistry.createAndRegisterClassification(EnumClassLevel.GENUS, "", ""); + magical.setParent(familyBee); - Allele.Air = new BeeSpecies("Aura", "", "ventosa", BeeBranch.Elemental, 0, + Allele.Air = new BeeSpecies("Aura", "They move like the wind itself, making observers feel like slackers.|Apinomicon", + "ventosa", magical, 0, 0xD9D636, 0xA19E10, EnumTemperature.NORMAL, EnumHumidity.NORMAL, true, hideSpecies, true, true); Allele.Air.addProduct(ItemManager.combs.getStackForType(CombType.AIRY), 20); @@ -165,7 +198,8 @@ public class ThaumicBeesPlugin implements IPlugin Allele.Air.setGenome(BeeGenomeManager.getTemplateAir()); breedingMgr.registerBeeTemplate(Allele.Air.getGenome()); - Allele.Fire = new BeeSpecies("Ignis", "", "praefervidus", BeeBranch.Elemental, 0, + Allele.Fire = new BeeSpecies("Ignis", "Caution: Contents of hive extremely hot.|Warning label on Azanor's apiary", + "praefervidus", magical, 0, 0xE50B0B, 0x95132F, EnumTemperature.HOT, EnumHumidity.ARID, true, hideSpecies, true, true); Allele.Fire.addProduct(ItemManager.combs.getStackForType(CombType.FIREY), 20); @@ -173,7 +207,8 @@ public class ThaumicBeesPlugin implements IPlugin Allele.Fire.setGenome(BeeGenomeManager.getTemplateFire()); breedingMgr.registerBeeTemplate(Allele.Fire.getGenome()); - Allele.Water = new BeeSpecies("Aqua", "", "umidus", BeeBranch.Elemental, 0, + Allele.Water = new BeeSpecies("Aqua", "The purity of their produce is unparalleled.|Apinomicon", + "umidus", magical, 0, 0x36CFD9, 0x1054A1, EnumTemperature.NORMAL, EnumHumidity.DAMP, true, hideSpecies, true, true); Allele.Water.addProduct(ItemManager.combs.getStackForType(CombType.WATERY), 20); @@ -181,7 +216,8 @@ public class ThaumicBeesPlugin implements IPlugin Allele.Water.setGenome(BeeGenomeManager.getTemplateWater()); breedingMgr.registerBeeTemplate(Allele.Water.getGenome()); - Allele.Earth = new BeeSpecies("Solum", "", "sordida", BeeBranch.Elemental, 0, + Allele.Earth = new BeeSpecies("Solum", "|Apinomicon", + "sordida", magical, 0, 0x005100, 0x00a000, EnumTemperature.NORMAL, EnumHumidity.NORMAL, true, hideSpecies, true, true); Allele.Earth.addProduct(ItemManager.combs.getStackForType(CombType.EARTHY), 30); diff --git a/thaumicbees_src/thaumicbees/bees/genetics/Allele.java b/thaumicbees_src/thaumicbees/bees/genetics/Allele.java index 499243d..bdb1606 100644 --- a/thaumicbees_src/thaumicbees/bees/genetics/Allele.java +++ b/thaumicbees_src/thaumicbees/bees/genetics/Allele.java @@ -36,6 +36,11 @@ public class Allele implements IAllele return (IAlleleBeeSpecies) AlleleManager.alleleRegistry.getAllele((new StringBuilder()).append("forestry.species").append(name).toString()); } + public static IAlleleBeeSpecies getExtraSpecies(String name) + { + return (IAlleleBeeSpecies) AlleleManager.alleleRegistry.getAllele((new StringBuilder()).append("extrabees.species.").append(name).toString()); + } + public static IAllele getBaseAllele(String name) { return AlleleManager.getAllele(name); diff --git a/thaumicbees_src/thaumicbees/bees/genetics/BeeGenomeManager.java b/thaumicbees_src/thaumicbees/bees/genetics/BeeGenomeManager.java index e47f58d..599f74f 100644 --- a/thaumicbees_src/thaumicbees/bees/genetics/BeeGenomeManager.java +++ b/thaumicbees_src/thaumicbees/bees/genetics/BeeGenomeManager.java @@ -73,7 +73,7 @@ public class BeeGenomeManager genome[EnumBeeChromosome.SPECIES.ordinal()] = Allele.Arcane; genome[EnumBeeChromosome.TEMPERATURE_TOLERANCE.ordinal()] = Allele.getBaseAllele("toleranceBoth2"); genome[EnumBeeChromosome.FERTILITY.ordinal()] = Allele.getBaseAllele("fertilityNormal"); - genome[EnumBeeChromosome.FLOWERING.ordinal()] = Allele.getBaseAllele("floweringSlower"); + genome[EnumBeeChromosome.FLOWERING.ordinal()] = Allele.getBaseAllele("floweringAverage"); return genome; } @@ -84,7 +84,7 @@ public class BeeGenomeManager genome[EnumBeeChromosome.NOCTURNAL.ordinal()] = Allele.getBaseAllele("boolTrue"); genome[EnumBeeChromosome.SPEED.ordinal()] = Allele.getBaseAllele("speedNorm"); - genome[EnumBeeChromosome.FLOWERING.ordinal()] = Allele.getBaseAllele("floweringSlower"); + genome[EnumBeeChromosome.FLOWERING.ordinal()] = Allele.getBaseAllele("floweringSlowest"); return genome; } @@ -237,7 +237,7 @@ public class BeeGenomeManager genome[EnumBeeChromosome.HUMIDITY_TOLERANCE.ordinal()] = Allele.getBaseAllele("toleranceDown1"); genome[EnumBeeChromosome.TOLERANT_FLYER.ordinal()] = Allele.getBaseAllele("boolTrue"); genome[EnumBeeChromosome.CAVE_DWELLING.ordinal()] = Allele.getBaseAllele("boolTrue"); - genome[EnumBeeChromosome.FLOWERING.ordinal()] = Allele.getBaseAllele("floweringSlow"); // 1.6.5+: floweringFastest + genome[EnumBeeChromosome.FLOWERING.ordinal()] = Allele.getBaseAllele("floweringFastest"); genome[EnumBeeChromosome.EFFECT.ordinal()] = Allele.digSpeed; return genome; diff --git a/thaumicbees_src/thaumicbees/bees/genetics/BeeMutation.java b/thaumicbees_src/thaumicbees/bees/genetics/BeeMutation.java index ed55468..4478673 100644 --- a/thaumicbees_src/thaumicbees/bees/genetics/BeeMutation.java +++ b/thaumicbees_src/thaumicbees/bees/genetics/BeeMutation.java @@ -36,7 +36,7 @@ public class BeeMutation implements IBeeMutation baseChance = percentChance; isSecret = hide; - BeeManager.beeMutations.add(this); + BeeManager.breedingManager.registerBeeMutation(this); } public int getChance(IBeeHousing housing, IAllele allele0, IAllele allele1, IGenome genome0, IGenome genome1) diff --git a/thaumicbees_src/thaumicbees/bees/genetics/BeeSpecies.java b/thaumicbees_src/thaumicbees/bees/genetics/BeeSpecies.java index 6859258..f76a4c1 100644 --- a/thaumicbees_src/thaumicbees/bees/genetics/BeeSpecies.java +++ b/thaumicbees_src/thaumicbees/bees/genetics/BeeSpecies.java @@ -24,17 +24,17 @@ public class BeeSpecies extends Allele implements IAlleleBeeSpecies private boolean hasEffect; private boolean isSecret; private boolean isCounted; - private IBranch branch; + private IClassification branch; private HashMap products; private HashMap specialty; private IAllele genomeTemplate[]; - public BeeSpecies(String speciesName, String speciesDescription, String genusName, IBranch parentBranch, int firstColour, int secondColour, EnumTemperature preferredTemp, EnumHumidity preferredHumidity, boolean hasGlowEffect, boolean isSpeciesDominant) + public BeeSpecies(String speciesName, String speciesDescription, String genusName, IClassification classification, int firstColour, int secondColour, EnumTemperature preferredTemp, EnumHumidity preferredHumidity, boolean hasGlowEffect, boolean isSpeciesDominant) { - this(speciesName, speciesDescription, genusName, parentBranch, 0, firstColour, secondColour, preferredTemp, preferredHumidity, hasGlowEffect, true, true, isSpeciesDominant); + this(speciesName, speciesDescription, genusName, classification, 0, firstColour, secondColour, preferredTemp, preferredHumidity, hasGlowEffect, true, true, isSpeciesDominant); } - public BeeSpecies(String speciesName, String speciesDescription, String genusName, IBranch parentBranch, int body, int firstColour, int secondColour, EnumTemperature preferredTemp, EnumHumidity preferredHumidity, boolean hasGlowEffect, boolean isSpeciesSecret, boolean isSpeciesCounted, boolean isSpeciesDominant) + public BeeSpecies(String speciesName, String speciesDescription, String genusName, IClassification classification, int body, int firstColour, int secondColour, EnumTemperature preferredTemp, EnumHumidity preferredHumidity, boolean hasGlowEffect, boolean isSpeciesSecret, boolean isSpeciesCounted, boolean isSpeciesDominant) { super("species" + speciesName, isSpeciesDominant); name = speciesName; @@ -51,6 +51,7 @@ public class BeeSpecies extends Allele implements IAlleleBeeSpecies isCounted = isSpeciesCounted; products = new HashMap(); specialty = new HashMap(); + this.branch = classification; this.genomeTemplate = new IAllele[EnumBeeChromosome.values().length]; } @@ -148,9 +149,9 @@ public class BeeSpecies extends Allele implements IAlleleBeeSpecies return authority; } - public IBranch getBranch() + public IClassification getBranch() { - return branch; + return this.branch; } public HashMap getProducts() diff --git a/thaumicbees_src/thaumicbees/main/ClientProxy.java b/thaumicbees_src/thaumicbees/main/ClientProxy.java index f505e54..6cf37c0 100644 --- a/thaumicbees_src/thaumicbees/main/ClientProxy.java +++ b/thaumicbees_src/thaumicbees/main/ClientProxy.java @@ -23,7 +23,7 @@ public class ClientProxy extends CommonProxy public void drawBeeEffects(World world, double xPos, double yPos, double zPos, int colour, int rangeX, int rangeY, int rangeZ) { // drawParticleEffects flag pulled from Forestry after configs - if (ThaumicBees.object.configFlags.drawParticleEffects) + if (ThaumicBees.object.configFlags.DrawParticleEffects) { double spawnX = xPos; double spawnY = yPos; diff --git a/thaumicbees_src/thaumicbees/main/ConfigFlags.java b/thaumicbees_src/thaumicbees/main/ConfigFlags.java index 16b0b02..12a22c1 100644 --- a/thaumicbees_src/thaumicbees/main/ConfigFlags.java +++ b/thaumicbees_src/thaumicbees/main/ConfigFlags.java @@ -2,6 +2,8 @@ package thaumicbees.main; public class ConfigFlags { - public boolean drawParticleEffects; + public boolean DrawParticleEffects; + public boolean ThaumcraftRecipesAdded; + public boolean ExtraBeesInstalled; } diff --git a/thaumicbees_src/thaumicbees/main/ThaumcraftCompat.java b/thaumicbees_src/thaumicbees/main/ThaumcraftCompat.java index 23b6916..4c0ae82 100644 --- a/thaumicbees_src/thaumicbees/main/ThaumcraftCompat.java +++ b/thaumicbees_src/thaumicbees/main/ThaumcraftCompat.java @@ -6,10 +6,13 @@ import thaumcraft.api.EnumTag; import thaumcraft.api.ObjectTags; import thaumcraft.api.ThaumcraftApi; import thaumicbees.block.BlockManager; +import thaumicbees.item.ItemComb; import thaumicbees.item.ItemManager; +import thaumicbees.item.ItemMiscResources; import thaumicbees.item.ItemWax.WaxType; import cpw.mods.fml.common.registry.GameRegistry; +import forestry.api.core.ItemInterface; import net.minecraft.block.Block; import net.minecraft.item.Item; @@ -38,9 +41,9 @@ public class ThaumcraftCompat private static int itemEssentiaBottle; - public static void init() + public static void init(String configPath) { - Configuration tcConfig = new Configuration(new File("./config/Thaumcraft.cfg")); + Configuration tcConfig = new Configuration(new File(configPath + "/Thaumcraft.cfg")); Property p; tcConfig.load(); @@ -49,6 +52,11 @@ public class ThaumcraftCompat p = tcConfig.getBlock("BlockCustomPlant", 2403); BlockManager.ThaumcraftPlant = Block.blocksList[p.getInt()]; + if (BlockManager.ThaumcraftPlant == null) + { + + } + // Load items out of the Thaumcraft config to get their IDs. p = tcConfig.getItem("ItemEssence", 25005); itemEssentiaBottle = p.getInt() + 256; @@ -79,5 +87,30 @@ public class ThaumcraftCompat tags = new ObjectTags().add(EnumTag.MAGIC, 2); ThaumcraftApi.registerObjectTag(ItemManager.wax.shiftedIndex, WaxType.MAGIC.ordinal(), tags); + + tags = new ObjectTags().add(EnumTag.KNOWLEDGE, 3); + ThaumcraftApi.registerObjectTag(ItemManager.miscResources.shiftedIndex, ItemMiscResources.ResourceType.KNOWLEDGE_FRAGMENT.ordinal(), tags); + + tags = new ObjectTags().add(EnumTag.MAGIC, 1).add(EnumTag.INSECT, 2); + ThaumcraftApi.registerObjectTag(ItemManager.combs.shiftedIndex, ItemComb.CombType.STARK.ordinal(), tags); + ThaumcraftApi.registerObjectTag(ItemManager.combs.shiftedIndex, ItemComb.CombType.AIRY.ordinal(), tags); + ThaumcraftApi.registerObjectTag(ItemManager.combs.shiftedIndex, ItemComb.CombType.FIREY.ordinal(), tags); + ThaumcraftApi.registerObjectTag(ItemManager.combs.shiftedIndex, ItemComb.CombType.WATERY.ordinal(), tags); + ThaumcraftApi.registerObjectTag(ItemManager.combs.shiftedIndex, ItemComb.CombType.EARTHY.ordinal(), tags); + + // Tag some Forestry stuff. + ItemStack itemStack = ItemInterface.getItem("craftingMaterial"); + tags = new ObjectTags().add(EnumTag.ELDRITCH, 1).add(EnumTag.DESTRUCTION, 1); + // 0: pulsatingDust + ThaumcraftApi.registerObjectTag(itemStack.itemID, 0, tags); + // 1: "pulsatingMesh"; + tags = new ObjectTags().add(EnumTag.ELDRITCH, 2); + ThaumcraftApi.registerObjectTag(itemStack.itemID, 1, tags); + // 2: "silkWisp"; + // 3: "wovenSilk"; + // 4: "dissipationCharge"; + // 5: "iceShard"; + tags = new ObjectTags().add(EnumTag.COLD, 1); + ThaumcraftApi.registerObjectTag(itemStack.itemID, 5, tags); } } diff --git a/thaumicbees_src/thaumicbees/main/ThaumicBees.java b/thaumicbees_src/thaumicbees/main/ThaumicBees.java index d9f9b1c..2f4a073 100644 --- a/thaumicbees_src/thaumicbees/main/ThaumicBees.java +++ b/thaumicbees_src/thaumicbees/main/ThaumicBees.java @@ -40,20 +40,22 @@ public class ThaumicBees @SidedProxy(serverSide="thaumicbees.main.CommonProxy", clientSide="thaumicbees.main.ClientProxy") public static CommonProxy proxy; - - private boolean ThaumcraftRecipesAdded; + + private String configsPath; private Configuration config; public ConfigFlags configFlags; public ThaumicBees() { - ThaumcraftRecipesAdded = false; this.configFlags = new ConfigFlags(); + + this.configFlags.ThaumcraftRecipesAdded = false; } @Mod.PreInit public void preInit(FMLPreInitializationEvent event) { + this.configsPath = event.getModConfigurationDirectory().getAbsolutePath(); this.config = new Configuration(event.getSuggestedConfigurationFile()); } @@ -61,7 +63,7 @@ public class ThaumicBees public void init(FMLInitializationEvent event) { // Give ThaumcraftCompat a chance to set itself up. - ThaumcraftCompat.init(); + ThaumcraftCompat.init(configsPath); this.proxy.preloadTextures(); // Grab Forestry graphics file path @@ -81,16 +83,17 @@ public class ThaumicBees @Mod.PostInit public void postInit(FMLPostInitializationEvent event) { + // Forestry has init'd by this point. MinecraftForge.EVENT_BUS.register(this); } @ForgeSubscribe public void worldLoad(net.minecraftforge.event.world.WorldEvent.Load event) { - if (!ThaumcraftRecipesAdded) + if (!this.configFlags.ThaumcraftRecipesAdded) { ThaumicBeesPlugin.setupBeeInfusions(event.world); - ThaumcraftRecipesAdded = true; + this.configFlags.ThaumcraftRecipesAdded = true; } } } diff --git a/thaumicbees_src/thaumicbees/main/VersionInfo.java b/thaumicbees_src/thaumicbees/main/VersionInfo.java index f0f5914..36fcc7f 100644 --- a/thaumicbees_src/thaumicbees/main/VersionInfo.java +++ b/thaumicbees_src/thaumicbees/main/VersionInfo.java @@ -9,6 +9,6 @@ public class VersionInfo public static final String Logo = "/gfx/thaumicbees/logo.png"; - public static final String Depends = "required-after:Forestry@[1.6.4.2,);required-after:Thaumcraft@[3.0.1c,)"; + public static final String Depends = "required-after:Forestry;required-after:Thaumcraft@[3.0.1c,)"; }