diff --git a/magicbees_res/assets/magicbees/lang/en_US.xml b/magicbees_res/assets/magicbees/lang/en_US.xml
index aaf77cd..b9e5f1f 100644
--- a/magicbees_res/assets/magicbees/lang/en_US.xml
+++ b/magicbees_res/assets/magicbees/lang/en_US.xml
@@ -411,5 +411,11 @@
These bees have a changeable nature.|Apinomicon
Essential
These bees have an increased affinity for aspected magic.|Apinomicon
+
+
+ Apimancy
+ Apimancy
+ Adding some sparkle to your buzz.
+ Don't get too excited.\
This is just a test.
diff --git a/magicbees_res/assets/magicbees/textures/items/TCairDust.png b/magicbees_res/assets/magicbees/textures/items/TCairDust.png
new file mode 100644
index 0000000..cc2c61a
Binary files /dev/null and b/magicbees_res/assets/magicbees/textures/items/TCairDust.png differ
diff --git a/magicbees_res/assets/magicbees/textures/items/TCchaosDust.png b/magicbees_res/assets/magicbees/textures/items/TCchaosDust.png
new file mode 100644
index 0000000..5d4daa9
Binary files /dev/null and b/magicbees_res/assets/magicbees/textures/items/TCchaosDust.png differ
diff --git a/magicbees_res/assets/magicbees/textures/items/TCearthDust.png b/magicbees_res/assets/magicbees/textures/items/TCearthDust.png
new file mode 100644
index 0000000..90bcf33
Binary files /dev/null and b/magicbees_res/assets/magicbees/textures/items/TCearthDust.png differ
diff --git a/magicbees_res/assets/magicbees/textures/items/TCfireDust.png b/magicbees_res/assets/magicbees/textures/items/TCfireDust.png
new file mode 100644
index 0000000..b38f86c
Binary files /dev/null and b/magicbees_res/assets/magicbees/textures/items/TCfireDust.png differ
diff --git a/magicbees_res/assets/magicbees/textures/items/TCorderDust.png b/magicbees_res/assets/magicbees/textures/items/TCorderDust.png
new file mode 100644
index 0000000..1416309
Binary files /dev/null and b/magicbees_res/assets/magicbees/textures/items/TCorderDust.png differ
diff --git a/magicbees_res/assets/magicbees/textures/items/TCwaterDust.png b/magicbees_res/assets/magicbees/textures/items/TCwaterDust.png
new file mode 100644
index 0000000..e0d9484
Binary files /dev/null and b/magicbees_res/assets/magicbees/textures/items/TCwaterDust.png differ
diff --git a/magicbees_res/assets/magicbees/textures/items/dimensionalSingularity.png b/magicbees_res/assets/magicbees/textures/items/dimensionalSingularity.png
new file mode 100644
index 0000000..942b7a9
Binary files /dev/null and b/magicbees_res/assets/magicbees/textures/items/dimensionalSingularity.png differ
diff --git a/magicbees_res/build.xml b/magicbees_res/build.xml
index f5c99c2..3ef1c1f 100644
--- a/magicbees_res/build.xml
+++ b/magicbees_res/build.xml
@@ -15,7 +15,7 @@
-
+
diff --git a/magicbees_res/changelog.txt b/magicbees_res/changelog.txt
index 509cef0..09918b4 100644
--- a/magicbees_res/changelog.txt
+++ b/magicbees_res/changelog.txt
@@ -1,3 +1,8 @@
+2.1.4
+Some cleanup of Helper code
+Hammering out rest of Transmutation effect, and exposing parts of it in an API so other people can hook into it if they want.
+Trying out tying in Thaumcraft 4 stuff.
+
2.1.3
Added a new mini bee branch: Polymorphic. It is said Unusual bees can have some unusual effects on the world if they are advanced...
Altered mutation to get Minium bees to fit into the Polymorphic branch.
diff --git a/magicbees_src/magicbees/api/MagicBeesAPI.java b/magicbees_src/magicbees/api/MagicBeesAPI.java
new file mode 100644
index 0000000..1c8087e
--- /dev/null
+++ b/magicbees_src/magicbees/api/MagicBeesAPI.java
@@ -0,0 +1,9 @@
+package magicbees.api;
+
+import magicbees.api.bees.ITransmutationEffectController;
+
+public class MagicBeesAPI
+{
+ // Use this object during or after the Mod.Init phase to add your logic to the Transmutation bee effect.
+ public static ITransmutationEffectController transmutationEffectController;
+}
diff --git a/magicbees_src/magicbees/api/bees/ITransmutationEffectController.java b/magicbees_src/magicbees/api/bees/ITransmutationEffectController.java
new file mode 100644
index 0000000..0c9b0da
--- /dev/null
+++ b/magicbees_src/magicbees/api/bees/ITransmutationEffectController.java
@@ -0,0 +1,14 @@
+package magicbees.api.bees;
+
+/**
+ * Manages adding custom ITransmutationEffectLogic instances into the bee effect
+ * system.
+ *
+ * @author MysteriousAges
+ *
+ */
+public interface ITransmutationEffectController
+{
+ public void addEffectLogic(ITransmutationEffectLogic logic);
+
+}
diff --git a/magicbees_src/magicbees/api/bees/ITransmutationEffectLogic.java b/magicbees_src/magicbees/api/bees/ITransmutationEffectLogic.java
new file mode 100644
index 0000000..e266723
--- /dev/null
+++ b/magicbees_src/magicbees/api/bees/ITransmutationEffectLogic.java
@@ -0,0 +1,33 @@
+package magicbees.api.bees;
+
+import net.minecraft.item.ItemStack;
+import net.minecraft.world.World;
+import net.minecraft.world.biome.BiomeGenBase;
+
+/**
+ * Class to control plugin logic for the Transmutation bee effect. Turns blocks
+ * into other blocks based on biome, time of day, or whatever is deemed
+ * appropriate at the time.
+ *
+ * @author MysteriousAges
+ *
+ */
+public interface ITransmutationEffectLogic
+{
+ /**
+ * Allows an external mod to add transmutation logic to the Transmuting bee effect.
+ * Called from a list of ITransmutationEffectLogic until one returns true. You can
+ * implement more than one transmutation effect in a single implementation of the
+ * interface. Function checks for a series of conditions based on block ID/meta, or
+ * biome information, or world information.
+ *
+ * @param world World object
+ * @param biome Biome information for current coordinates
+ * @param sourceBlock ItemStack representing the block at current coordinates
+ * @param x Current X coordinate to attempt a transmute
+ * @param y Current Y coordinate to attempt a transmute
+ * @param z Current Z coordinate to attempt a transmute
+ * @return true if a block was changed.
+ */
+ public boolean tryTransmutation(World world, BiomeGenBase biome, ItemStack sourceBlock, int x, int y, int z);
+}
diff --git a/magicbees_src/magicbees/bees/Allele.java b/magicbees_src/magicbees/bees/Allele.java
index 725aacd..9a38888 100644
--- a/magicbees_src/magicbees/bees/Allele.java
+++ b/magicbees_src/magicbees/bees/Allele.java
@@ -162,12 +162,12 @@ public class Allele implements IAllele
registry.registerDeprecatedAlleleReplacement("thaumicbees.speciesDiamond", BeeSpecies.DIAMOND);
registry.registerDeprecatedAlleleReplacement("thaumicbees.speciesEmerald", BeeSpecies.EMERALD);
registry.registerDeprecatedAlleleReplacement("thaumicbees.speciesApatite", BeeSpecies.APATITE);
- registry.registerDeprecatedAlleleReplacement("thaumicbees.speciesStark", BeeSpecies.TC_STARK);
+ registry.registerDeprecatedAlleleReplacement("thaumicbees.speciesStark", BeeSpecies.TC_CHAOS);
registry.registerDeprecatedAlleleReplacement("thaumicbees.speciesAura", BeeSpecies.TC_AIR);
registry.registerDeprecatedAlleleReplacement("thaumicbees.speciesIgnis", BeeSpecies.TC_FIRE);
registry.registerDeprecatedAlleleReplacement("thaumicbees.speciesAqua", BeeSpecies.TC_WATER);
registry.registerDeprecatedAlleleReplacement("thaumicbees.speciesSolum", BeeSpecies.TC_EARTH);
- registry.registerDeprecatedAlleleReplacement("thaumicbees.speciesPraecantatio", BeeSpecies.TC_MAGIC);
+ registry.registerDeprecatedAlleleReplacement("thaumicbees.speciesPraecantatio", BeeSpecies.TC_ORDER);
registry.registerDeprecatedAlleleReplacement("thaumicbees.speciesVis", BeeSpecies.TC_VIS);
registry.registerDeprecatedAlleleReplacement("thaumicbees.speciesPure", BeeSpecies.TC_PURE);
registry.registerDeprecatedAlleleReplacement("thaumicbees.speciesFlux", BeeSpecies.TC_FLUX);
diff --git a/magicbees_src/magicbees/bees/AlleleEffectTransmuting.java b/magicbees_src/magicbees/bees/AlleleEffectTransmuting.java
index 7666368..5bfc304 100644
--- a/magicbees_src/magicbees/bees/AlleleEffectTransmuting.java
+++ b/magicbees_src/magicbees/bees/AlleleEffectTransmuting.java
@@ -18,7 +18,7 @@ public class AlleleEffectTransmuting extends AlleleEffect
{
public AlleleEffectTransmuting(String id, boolean isDominant)
{
- super(id, isDominant, 900);
+ super(id, isDominant, 200);
}
@Override
@@ -43,76 +43,13 @@ public class AlleleEffectTransmuting extends AlleleEffect
int zCoord = (int)(housing.getTerritoryModifier(genome, 1f) * genome.getTerritory()[0]);
zCoord = housing.getZCoord() + world.rand.nextInt(zCoord) - zCoord / 2;
- // Check if == stone
- boolean doTransmute = false;
- Block block = Block.blocksList[world.getBlockId(xCoord, yCoord, zCoord)];
- if (block == null || block == Block.stone || block == Block.cobblestone)
- {
- doTransmute = true;
- }
- else if (block != null)
- {
- ItemStack cobbleItem = new ItemStack(Block.cobblestone);
- ItemStack stoneItem = new ItemStack(Block.stone);
- ItemStack testItem = new ItemStack(block);
- doTransmute = OreDictionary.itemMatches(cobbleItem, testItem, false) || OreDictionary.itemMatches(stoneItem, cobbleItem, false);
- }
-
- // Transmute to something.
- if (doTransmute)
- {
- BiomeGenBase biome = world.getBiomeGenForCoords(xCoord, zCoord);
- // Gogo shortcutting logic operators!
- boolean tryThis = trySpawnAbyssalStone(world, biome, xCoord, yCoord, zCoord) ||
- trySpawnQuarriedStone(world, biome, xCoord, yCoord, zCoord) ||
- trySpawnSandstone(world, biome, xCoord, yCoord, zCoord);
- }
+ BiomeGenBase biome = world.getBiomeGenForCoords(xCoord, zCoord);
+ TransmutationEffectController.instance.attemptTransmutations(world, biome,
+ new ItemStack(world.getBlockId(xCoord, yCoord, zCoord), 1, world.getBlockMetadata(xCoord, yCoord, zCoord)),
+ xCoord, yCoord, zCoord);
+
storedData.setInteger(0, 0);
return storedData;
}
-
- private boolean trySpawnQuarriedStone(World world, BiomeGenBase biome, int x, int y, int z)
- {
- boolean flag = false;
- if (BiomeDictionary.isBiomeOfType(biome, BiomeDictionary.Type.FOREST) &&
- !BiomeDictionary.isBiomeOfType(biome, BiomeDictionary.Type.FROZEN))
- {
- ItemStack item = GameRegistry.findItemStack("Railcraft", "stone.abyssal", 1);
- if (item != null)
- {
- world.setBlock(x, y, z, item.itemID, item.getItemDamage(), 2);
- flag = true;
- }
- }
- return flag;
- }
-
- private boolean trySpawnAbyssalStone(World world, BiomeGenBase biome, int x, int y, int z)
- {
- boolean flag = false;
- if (BiomeDictionary.isBiomeOfType(biome, BiomeDictionary.Type.WATER) &&
- biome.biomeName.toLowerCase(Locale.ENGLISH).contains("river"))
- {
- ItemStack item = GameRegistry.findItemStack("Railcraft", "stone.quarried", 1);
- if (item != null)
- {
- world.setBlock(x, y, z, item.itemID, item.getItemDamage(), 2);
- flag = true;
- }
- }
- return flag;
- }
-
- private boolean trySpawnSandstone(World world, BiomeGenBase biome, int x, int y, int z)
- {
- boolean flag = false;
- if (BiomeDictionary.isBiomeOfType(biome, BiomeDictionary.Type.DESERT))
- {
- world.setBlock(x, y, z, Block.sandStone.blockID);
- flag = true;
- }
- return flag;
- }
-
}
diff --git a/magicbees_src/magicbees/bees/BeeGenomeManager.java b/magicbees_src/magicbees/bees/BeeGenomeManager.java
index f3dd912..1ff64a9 100644
--- a/magicbees_src/magicbees/bees/BeeGenomeManager.java
+++ b/magicbees_src/magicbees/bees/BeeGenomeManager.java
@@ -772,7 +772,7 @@ public class BeeGenomeManager
{
IAllele[] genome = getTemplateTCBase();
- genome[EnumBeeChromosome.SPECIES.ordinal()] = BeeSpecies.TC_STARK;
+ genome[EnumBeeChromosome.SPECIES.ordinal()] = BeeSpecies.TC_CHAOS;
genome[EnumBeeChromosome.FERTILITY.ordinal()] = Allele.getBaseAllele("fertilityNormal");
return genome;
@@ -843,7 +843,7 @@ public class BeeGenomeManager
{
IAllele[] genome = getTemplateTCBase();
- genome[EnumBeeChromosome.SPECIES.ordinal()] = BeeSpecies.TC_MAGIC;
+ genome[EnumBeeChromosome.SPECIES.ordinal()] = BeeSpecies.TC_ORDER;
genome[EnumBeeChromosome.SPEED.ordinal()] = Allele.getBaseAllele("speedNorm");
genome[EnumBeeChromosome.LIFESPAN.ordinal()] = Allele.getBaseAllele("lifespanNormal");
diff --git a/magicbees_src/magicbees/bees/BeeMutation.java b/magicbees_src/magicbees/bees/BeeMutation.java
index a2a42bf..86b4bd9 100644
--- a/magicbees_src/magicbees/bees/BeeMutation.java
+++ b/magicbees_src/magicbees/bees/BeeMutation.java
@@ -114,7 +114,7 @@ public class BeeMutation implements IBeeMutation
.setBiomeRequired(BiomeDictionary.Type.END);
new BeeMutation(BeeSpecies.UNUSUAL, BeeSpecies.ELDRITCH, BeeSpecies.MUTABLE, 12);
- //new BeeMutation(BeeSpecies.UNUSUAL, BeeSpecies.MUTABLE, BeeSpecies.TRANSMUTING, 9);
+ new BeeMutation(BeeSpecies.UNUSUAL, BeeSpecies.MUTABLE, BeeSpecies.TRANSMUTING, 9);
new BeeMutation(BeeSpecies.UNUSUAL, BeeSpecies.MUTABLE, BeeSpecies.CRUMBLING, 9);
if (BeeSpecies.COPPER.isActive())
@@ -181,19 +181,7 @@ public class BeeMutation implements IBeeMutation
.setBlockRequired("oreApatite");
if (ThaumcraftHelper.isActive())
- {
- BeeSpecies[] speciesList = new BeeSpecies[] {BeeSpecies.WINDY, BeeSpecies.FIREY, BeeSpecies.WATERY, BeeSpecies.EARTHY};
-
- for (int a = 0; a < speciesList.length; ++a)
- {
- for (int b = a + 1; b < speciesList.length; ++b)
- {
- new BeeMutation(speciesList[a], speciesList[b], BeeSpecies.TC_STARK, 8)
- .setBlockRequired(Config.tcCrystal)
- .setBlockRequiredNameOverride("research.block.crystals");
- }
- }
-
+ {
new BeeMutation(BeeSpecies.WINDY, BeeSpecies.WINDY, BeeSpecies.TC_AIR, 8)
.setBlockAndMetaRequired(Config.tcCrystal, ThaumcraftHelper.ShardType.AIR.ordinal());
new BeeMutation(BeeSpecies.FIREY, BeeSpecies.FIREY, BeeSpecies.TC_FIRE, 8)
@@ -202,22 +190,11 @@ public class BeeMutation implements IBeeMutation
.setBlockAndMetaRequired(Config.tcCrystal, ThaumcraftHelper.ShardType.WATER.ordinal());
new BeeMutation(BeeSpecies.EARTHY, BeeSpecies.EARTHY, BeeSpecies.TC_EARTH, 8)
.setBlockAndMetaRequired(Config.tcCrystal, ThaumcraftHelper.ShardType.EARTH.ordinal());
- new BeeMutation(BeeSpecies.ETHEREAL, BeeSpecies.ETHEREAL, BeeSpecies.TC_MAGIC, 8)
- .setBlockAndMetaRequired(Config.tcCrystal, ThaumcraftHelper.ShardType.MAGIC.ordinal());
- /*
- new BeeMutation(BeeSpecies.ELDRITCH, BeeSpecies.ETHEREAL, BeeSpecies.TC_VIS, 10)
- .setAuraNodeRequired(75);
- new BeeMutation(Allele.getBaseSpecies("Demonic"), BeeSpecies.TC_VIS, BeeSpecies.TC_FLUX, 8)
- .setAuraNodeTypeRequired(50, thaumcraft.api.aura.EnumNodeType.DARK);
- new BeeMutation(BeeSpecies.TC_VIS, BeeSpecies.TC_FLUX, BeeSpecies.TC_ATTRACT, 13)
- .setAuraNodeTypeRequired(30, EnumNodeType.UNSTABLE)
- .setMoonPhaseRestricted(MoonPhase.NEW, MoonPhase.NEW);
- new BeeMutation(Allele.getBaseSpecies("Imperial"), BeeSpecies.TC_VIS, BeeSpecies.TC_REJUVENATING, 8)
- .setAuraNodeRequired(25);
- new BeeMutation(BeeSpecies.TC_VIS, BeeSpecies.TC_REJUVENATING, BeeSpecies.TC_PURE, 6)
- .setAuraNodeTypeRequired(10, thaumcraft.api.aura.EnumNodeType.PURE)
- .setMoonPhaseRestricted(MoonPhase.FULL, MoonPhase.FULL);
- */
+ new BeeMutation(BeeSpecies.ETHEREAL, BeeSpecies.ARCANE, BeeSpecies.TC_ORDER, 8)
+ .setBlockAndMetaRequired(Config.tcCrystal, ThaumcraftHelper.ShardType.ORDER.ordinal());
+ new BeeMutation(BeeSpecies.ETHEREAL, BeeSpecies.SUPERNATURAL, BeeSpecies.TC_CHAOS, 8)
+ .setBlockAndMetaRequired(Config.tcCrystal, ThaumcraftHelper.ShardType.CHAOS.ordinal());
+
new BeeMutation(BeeSpecies.SKULKING, BeeSpecies.WINDY, BeeSpecies.TC_BATTY, 9);
new BeeMutation(BeeSpecies.SKULKING, BeeSpecies.PUPIL, BeeSpecies.TC_BRAINY, 9);
new BeeMutation(BeeSpecies.ETHEREAL, BeeSpecies.GHASTLY, BeeSpecies.TC_WISPY, 9)
@@ -267,7 +244,6 @@ public class BeeMutation implements IBeeMutation
private MoonPhase moonPhaseEnd;
private float moonPhaseMutationBonus;
private boolean nodeRequired;
- //private thaumcraft.api.aura.EnumNodeType nodeType;
private double nodeRange;
private boolean requiresBlock;
private int requiredBlockId;
@@ -326,28 +302,6 @@ public class BeeMutation implements IBeeMutation
}
}
- /*if (this.nodeRequired)
- {
- int nodeId = thaumcraft.api.ThaumcraftApi.getClosestAuraWithinRange(housing.getWorld(),
- housing.getXCoord(), housing.getYCoord(), housing.getZCoord(), this.nodeRange);
- if (nodeId >= 0)
- {
- if (this.nodeType != null)
- {
- // Needs a _specific_ variety of node
- thaumcraft.api.aura.AuraNode node = thaumcraft.api.ThaumcraftApi.getNodeCopy(nodeId);
- if (node.type != this.nodeType)
- {
- chance = 0;
- }
- }
- }
- else
- {
- chance = 0;
- }
- }*/
-
if (this.requiresBlock)
{
Block blockBelow;
@@ -471,19 +425,6 @@ public class BeeMutation implements IBeeMutation
}
}
- /*if (this.nodeRequired)
- {
- if (this.nodeType != null)
- {
- conditions.add(String.format(LocalizationManager.getLocalizedString("research.requiresNodeSpecific"),
- LocalizationManager.getLocalizedString("research.node." + this.nodeType.name().toLowerCase())));
- }
- else
- {
- conditions.add(LocalizationManager.getLocalizedString("research.requiresNode"));
- }
- }*/
-
if (this.requiresBlock)
{
if (this.requiredBlockName != null)
@@ -611,21 +552,6 @@ public class BeeMutation implements IBeeMutation
return this;
}
- /*public BeeMutation setAuraNodeRequired(double range)
- {
- this.nodeRequired = true;
- this.nodeRange = range;
-
- return this;
- }
-
- public BeeMutation setAuraNodeTypeRequired(double range, thaumcraft.api.aura.EnumNodeType type)
- {
- this.nodeType = type;
-
- return this.setAuraNodeRequired(range);
- }*/
-
public BeeMutation setBiomeRequired(BiomeDictionary.Type biomeType)
{
this.requiredBiomeType = biomeType;
diff --git a/magicbees_src/magicbees/bees/BeeSpecies.java b/magicbees_src/magicbees/bees/BeeSpecies.java
index c401bb8..58ec0a1 100644
--- a/magicbees_src/magicbees/bees/BeeSpecies.java
+++ b/magicbees_src/magicbees/bees/BeeSpecies.java
@@ -168,7 +168,7 @@ public enum BeeSpecies implements IAlleleBeeSpecies, IIconProvider
BeeClassification.TRANSMUTING, 0xDBB24C, 0xDBA4A4, EnumTemperature.HOT, EnumHumidity.ARID, false, false),
// --------- Thaumcraft Bees ---------------------------------------------------------------------------------------
- TC_STARK("TCStark", "torridae", // Stark
+ TC_CHAOS("TCStark", "torridae", // Stark
BeeClassification.THAUMIC, 0xCCCCCC, 0x999999, EnumTemperature.NORMAL, EnumHumidity.NORMAL, true, false),
TC_AIR("TCAir", "aether", // Aura
BeeClassification.THAUMIC, 0xD9D636, 0x999999, EnumTemperature.NORMAL, EnumHumidity.NORMAL, true, true),
@@ -178,7 +178,7 @@ public enum BeeSpecies implements IAlleleBeeSpecies, IIconProvider
BeeClassification.THAUMIC, 0x36CFD9, 0x999999, EnumTemperature.NORMAL, EnumHumidity.DAMP, true, true),
TC_EARTH("TCEarth", "sordida", // Solum
BeeClassification.THAUMIC, 0x005100, 0x999999, EnumTemperature.NORMAL, EnumHumidity.NORMAL, true, true),
- TC_MAGIC("TCMagic", "azanorius", //Praecantatio
+ TC_ORDER("TCMagic", "azanorius", //Praecantatio
BeeClassification.THAUMIC, 0xaa32fc, 0x999999, EnumTemperature.NORMAL, EnumHumidity.NORMAL, true, true),
TC_VIS("TCVis", "arcanus saecula",
@@ -249,12 +249,12 @@ public enum BeeSpecies implements IAlleleBeeSpecies, IIconProvider
SCHOLARLY.addSpecialty(Config.miscResources.getStackForType(ResourceType.LORE_FRAGMENT), 2);
SAVANT.addSpecialty(Config.miscResources.getStackForType(ResourceType.LORE_FRAGMENT), 5);
- TC_STARK.addSpecialty(new ItemStack(Config.tcShard, 1, ThaumcraftHelper.ShardType.DULL.ordinal()), 5);
TC_AIR.addSpecialty(new ItemStack(Config.tcShard, 1, ThaumcraftHelper.ShardType.AIR.ordinal()), 5);
TC_FIRE.addSpecialty(new ItemStack(Config.tcShard, 1, ThaumcraftHelper.ShardType.FIRE.ordinal()), 5);
TC_WATER.addSpecialty(new ItemStack(Config.tcShard, 1, ThaumcraftHelper.ShardType.WATER.ordinal()), 5);
TC_EARTH.addSpecialty(new ItemStack(Config.tcShard, 1, ThaumcraftHelper.ShardType.EARTH.ordinal()), 5);
- TC_MAGIC.addSpecialty(new ItemStack(Config.tcShard, 1, ThaumcraftHelper.ShardType.MAGIC.ordinal()), 5);
+ TC_ORDER.addSpecialty(new ItemStack(Config.tcShard, 1, ThaumcraftHelper.ShardType.ORDER.ordinal()), 5);
+ TC_CHAOS.addSpecialty(new ItemStack(Config.tcShard, 1, ThaumcraftHelper.ShardType.CHAOS.ordinal()), 5);
TC_BRAINY.addSpecialty(new ItemStack(Config.tcMiscResource, 1, ThaumcraftHelper.MiscResource.ZOMBIE_BRAIN.ordinal()), 2);
TC_CHICKEN.addSpecialty(new ItemStack(Config.tcNuggetChicken, 1), 9);
@@ -263,20 +263,20 @@ public enum BeeSpecies implements IAlleleBeeSpecies, IIconProvider
}
else
{
- TC_STARK.setInactive();
+ TC_CHAOS.setInactive();
TC_AIR.setInactive();
TC_FIRE.setInactive();
TC_WATER.setInactive();
TC_EARTH.setInactive();
- TC_MAGIC.setInactive();
+ TC_ORDER.setInactive();
TC_BRAINY.setInactive();
- TC_WISPY.setInactive();
TC_BATTY.setInactive();
TC_CHICKEN.setInactive();
TC_BEEF.setInactive();
TC_PORK.setInactive();
}
// TODO: Temporary always off. Maybe.
+ TC_WISPY.setInactive();
TC_VIS.setInactive();
TC_FLUX.setInactive();
TC_ATTRACT.setInactive();
@@ -592,14 +592,14 @@ public enum BeeSpecies implements IAlleleBeeSpecies, IIconProvider
.addProduct(new ItemStack(Config.fBeeComb, 1, ForestryHelper.Comb.SILKY.ordinal()), 10)
.addProduct(new ItemStack(Config.fBeeComb, 1, ForestryHelper.Comb.SIMMERING.ordinal()), 10)
.setGenome(BeeGenomeManager.getTemplateTransmuting())
- ;//.register();
+ .register();
CRUMBLING.addProduct(new ItemStack(Config.fBeeComb, 1, ForestryHelper.Comb.POWDERY.ordinal()), 20)
.addProduct(new ItemStack(Config.fBeeComb, 1 , ForestryHelper.Comb.COCOA.ordinal()), 20)
.setGenome(BeeGenomeManager.getTemplateCrumbling())
.register();
- TC_STARK.addProduct(Config.combs.getStackForType(CombType.HARMONIZING), 10)
+ TC_CHAOS.addProduct(Config.combs.getStackForType(CombType.HARMONIZING), 10)
.setGenome(BeeGenomeManager.getTemplateTCStark())
.register();
TC_AIR.addProduct(Config.combs.getStackForType(CombType.AIRY), 10)
@@ -614,7 +614,7 @@ public enum BeeSpecies implements IAlleleBeeSpecies, IIconProvider
TC_EARTH.addProduct(Config.combs.getStackForType(CombType.EARTHY), 20)
.setGenome(BeeGenomeManager.getTemplateTCEarth())
.register();
- TC_MAGIC.addProduct(Config.combs.getStackForType(CombType.INFUSED), 20)
+ TC_ORDER.addProduct(Config.combs.getStackForType(CombType.INFUSED), 20)
.setGenome(BeeGenomeManager.getTemplateTCMagic())
.register();
diff --git a/magicbees_src/magicbees/bees/TransmutationEffectController.java b/magicbees_src/magicbees/bees/TransmutationEffectController.java
new file mode 100644
index 0000000..1fd8c41
--- /dev/null
+++ b/magicbees_src/magicbees/bees/TransmutationEffectController.java
@@ -0,0 +1,63 @@
+package magicbees.bees;
+
+import java.util.ArrayList;
+
+import magicbees.api.MagicBeesAPI;
+import magicbees.api.bees.ITransmutationEffectController;
+import magicbees.api.bees.ITransmutationEffectLogic;
+import net.minecraft.item.ItemStack;
+import net.minecraft.world.World;
+import net.minecraft.world.biome.BiomeGenBase;
+import cpw.mods.fml.common.FMLLog;
+
+public class TransmutationEffectController implements ITransmutationEffectController
+{
+ private ArrayList logicObjects;
+ static TransmutationEffectController instance;
+
+ public TransmutationEffectController()
+ {
+ logicObjects = new ArrayList();
+ logicObjects.add(new TransmutationEffectRailcraft());
+ logicObjects.add(new TransmutationEffectVanilla());
+ MagicBeesAPI.transmutationEffectController = instance = this;
+ }
+
+ public void attemptTransmutations(World world, BiomeGenBase biome, ItemStack sourceBlock, int x, int y, int z)
+ {
+ boolean done = false;
+ int i = 0;
+ ITransmutationEffectLogic logic;
+ while (!done && i < logicObjects.size())
+ {
+ logic = logicObjects.get(i++);
+ try
+ {
+ done = logic.tryTransmutation(world, biome, sourceBlock, x, y, z);
+ }
+ catch (Exception e)
+ {
+ done = false;
+ FMLLog.warning("Magic Bees encountered an issue with an ITransmutationEffectLogic provider %s. Debug information follows.", logic.getClass().getName());
+ FMLLog.info(e.getMessage());
+ }
+
+ if (done)
+ {
+ logicObjects.remove(i);
+ logicObjects.add(logic);
+ break;
+ }
+ }
+ }
+
+ @Override
+ public void addEffectLogic(ITransmutationEffectLogic logic)
+ {
+ if (logic != null && !logicObjects.contains(logic))
+ {
+ logicObjects.add(logic);
+ }
+ }
+
+}
diff --git a/magicbees_src/magicbees/bees/TransmutationEffectRailcraft.java b/magicbees_src/magicbees/bees/TransmutationEffectRailcraft.java
new file mode 100644
index 0000000..47e5fb0
--- /dev/null
+++ b/magicbees_src/magicbees/bees/TransmutationEffectRailcraft.java
@@ -0,0 +1,60 @@
+package magicbees.bees;
+
+import java.util.Locale;
+
+import magicbees.api.bees.ITransmutationEffectLogic;
+import net.minecraft.block.Block;
+import net.minecraft.item.ItemStack;
+import net.minecraft.world.World;
+import net.minecraft.world.biome.BiomeGenBase;
+import net.minecraftforge.common.BiomeDictionary;
+import net.minecraftforge.oredict.OreDictionary;
+import cpw.mods.fml.common.registry.GameRegistry;
+
+public class TransmutationEffectRailcraft implements ITransmutationEffectLogic
+{
+ @Override
+ public boolean tryTransmutation(World world, BiomeGenBase biome, ItemStack sourceBlock, int x, int y, int z)
+ {
+ boolean flag = false;
+ if (OreDictionary.itemMatches(new ItemStack(Block.stone), sourceBlock, false) ||
+ OreDictionary.itemMatches(new ItemStack(Block.cobblestone), sourceBlock, false))
+ {
+ flag = trySpawnQuarriedStone(world, biome, sourceBlock, x, y, z) ||
+ trySpawnAbyssalStone(world, biome, sourceBlock, x, y, z);
+ }
+ return flag;
+ }
+
+ private boolean trySpawnQuarriedStone(World world, BiomeGenBase biome, ItemStack sourceBlock, int x, int y, int z)
+ {
+ boolean flag = false;
+ if (BiomeDictionary.isBiomeOfType(biome, BiomeDictionary.Type.FOREST) &&
+ !BiomeDictionary.isBiomeOfType(biome, BiomeDictionary.Type.FROZEN))
+ {
+ ItemStack item = GameRegistry.findItemStack("Railcraft", "cube.stone.quarried", 1);
+ if (item != null)
+ {
+ world.setBlock(x, y, z, item.itemID, item.getItemDamage(), 2);
+ flag = true;
+ }
+ }
+ return flag;
+ }
+
+ private boolean trySpawnAbyssalStone(World world, BiomeGenBase biome, ItemStack sourceBlock, int x, int y, int z)
+ {
+ boolean flag = false;
+ if (BiomeDictionary.isBiomeOfType(biome, BiomeDictionary.Type.WATER) &&
+ biome.biomeName.toLowerCase(Locale.ENGLISH).contains("river"))
+ {
+ ItemStack item = GameRegistry.findItemStack("Railcraft", "cube.stone.abyssal", 1);
+ if (item != null)
+ {
+ world.setBlock(x, y, z, item.itemID, item.getItemDamage(), 2);
+ flag = true;
+ }
+ }
+ return flag;
+ }
+}
diff --git a/magicbees_src/magicbees/bees/TransmutationEffectVanilla.java b/magicbees_src/magicbees/bees/TransmutationEffectVanilla.java
new file mode 100644
index 0000000..667d1c2
--- /dev/null
+++ b/magicbees_src/magicbees/bees/TransmutationEffectVanilla.java
@@ -0,0 +1,31 @@
+package magicbees.bees;
+
+import cpw.mods.fml.common.registry.GameRegistry;
+import magicbees.api.bees.ITransmutationEffectLogic;
+import net.minecraft.block.Block;
+import net.minecraft.item.ItemStack;
+import net.minecraft.world.World;
+import net.minecraft.world.biome.BiomeGenBase;
+import net.minecraftforge.common.BiomeDictionary;
+import net.minecraftforge.oredict.OreDictionary;
+
+public class TransmutationEffectVanilla implements ITransmutationEffectLogic
+{
+ @Override
+ public boolean tryTransmutation(World world, BiomeGenBase biome, ItemStack sourceBlock, int x, int y, int z)
+ {
+ return trySpawnSandstone(world, biome, sourceBlock, x, y, z);
+ }
+
+ private boolean trySpawnSandstone(World world, BiomeGenBase biome, ItemStack sourceBlock, int x, int y, int z)
+ {
+ boolean flag = false;
+ if (BiomeDictionary.isBiomeOfType(biome, BiomeDictionary.Type.DESERT) &&
+ OreDictionary.itemMatches(new ItemStack(Block.sand), sourceBlock, false))
+ {
+ world.setBlock(x, y, z, Block.sandStone.blockID);
+ flag = true;
+ }
+ return flag;
+ }
+}
diff --git a/magicbees_src/magicbees/client/gui/GUIEffectJar.java b/magicbees_src/magicbees/client/gui/GUIEffectJar.java
index 65f0678..c291fc2 100644
--- a/magicbees_src/magicbees/client/gui/GUIEffectJar.java
+++ b/magicbees_src/magicbees/client/gui/GUIEffectJar.java
@@ -49,7 +49,7 @@ public class GUIEffectJar extends GuiContainer
{
GL11.glColor4f(1f, 1f, 1f, 1f);
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_SRC_ALPHA);
- this.mc.func_110434_K().func_110577_a(BACKGROUND_LOCATION);
+ this.mc.getTextureManager().bindTexture(BACKGROUND_LOCATION);
this.drawTexturedModalRect(this.guiLeft, this.guiTop, 0, 0, xSize, ySize);
diff --git a/magicbees_src/magicbees/client/render/EffectJarRenderer.java b/magicbees_src/magicbees/client/render/EffectJarRenderer.java
index 474bff6..032cfb5 100644
--- a/magicbees_src/magicbees/client/render/EffectJarRenderer.java
+++ b/magicbees_src/magicbees/client/render/EffectJarRenderer.java
@@ -69,7 +69,7 @@ public class EffectJarRenderer extends TileEntitySpecialRenderer implements IIte
GL11.glScaled(scale, scale, scale);
GL11.glTranslated(x, y, z);
- FMLClientHandler.instance().getClient().renderEngine.func_110577_a(ModelEffectJar.textureLocation);
+ FMLClientHandler.instance().getClient().renderEngine.bindTexture(ModelEffectJar.textureLocation);
ModelEffectJar.model.render();
diff --git a/magicbees_src/magicbees/item/ItemThaumiumGrafter.java b/magicbees_src/magicbees/item/ItemThaumiumGrafter.java
index 9ebbfa9..4f2e5a7 100644
--- a/magicbees_src/magicbees/item/ItemThaumiumGrafter.java
+++ b/magicbees_src/magicbees/item/ItemThaumiumGrafter.java
@@ -4,20 +4,19 @@ import magicbees.main.Config;
import magicbees.main.utils.VersionInfo;
import magicbees.main.utils.compat.ThaumcraftHelper;
import net.minecraft.block.Block;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import net.minecraftforge.common.ForgeHooks;
-import thaumcraft.api.IVisRepairable;
-import thaumcraft.api.ThaumcraftApi;
import cpw.mods.fml.common.registry.GameRegistry;
import forestry.api.arboriculture.IToolGrafter;
+import thaumcraft.api.IRepairable;
+import thaumcraft.api.IRepairableExtended;
+import thaumcraft.api.ThaumcraftApi;
-public class ItemThaumiumGrafter extends Item implements IVisRepairable, IToolGrafter
+public class ItemThaumiumGrafter extends Item implements IRepairableExtended, IToolGrafter
{
public ItemThaumiumGrafter(int id)
{
@@ -69,7 +68,6 @@ public class ItemThaumiumGrafter extends Item implements IVisRepairable, IToolGr
if (entityLiving instanceof EntityPlayer)
{
EntityPlayer p = (EntityPlayer)entityLiving;
- p.addExhaustion(8f);
}
return true;
}
@@ -98,15 +96,22 @@ public class ItemThaumiumGrafter extends Item implements IVisRepairable, IToolGr
return ThaumcraftApi.toolMatThaumium.getToolCraftingMaterial() == par2ItemStack.itemID ? true : super.getIsRepairable(par1ItemStack, par2ItemStack);
}
- /*@Override
- public void doRepair(ItemStack stack, Entity e)
+ @Override
+ public boolean doRepair(ItemStack stack, EntityPlayer player, int enchantLevel)
{
+ boolean flag = false;
if (stack.getItemDamage() > 0)
{
- if (ThaumcraftApi.decreaseClosestAura(e.worldObj, e.posX, e.posY, e.posZ, 2, true))
+ flag = true;
+ if (enchantLevel > 2)
{
- stack.damageItem(-1, (EntityLiving)e);
+ player.setFire(enchantLevel * enchantLevel / 2);
+ }
+ else
+ {
+ player.addExhaustion(0.8f * (enchantLevel * enchantLevel));
}
}
- }*/
+ return flag;
+ }
}
diff --git a/magicbees_src/magicbees/item/ItemThaumiumScoop.java b/magicbees_src/magicbees/item/ItemThaumiumScoop.java
index 21ff24d..1904a97 100644
--- a/magicbees_src/magicbees/item/ItemThaumiumScoop.java
+++ b/magicbees_src/magicbees/item/ItemThaumiumScoop.java
@@ -2,19 +2,17 @@ package magicbees.item;
import magicbees.main.utils.VersionInfo;
import net.minecraft.block.Block;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import net.minecraftforge.common.ForgeHooks;
-import thaumcraft.api.IVisRepairable;
+import thaumcraft.api.IRepairable;
import thaumcraft.api.ThaumcraftApi;
import cpw.mods.fml.common.registry.GameRegistry;
import forestry.api.core.IToolScoop;
-public class ItemThaumiumScoop extends Item implements IVisRepairable, IToolScoop
+public class ItemThaumiumScoop extends Item implements IRepairable, IToolScoop
{
public ItemThaumiumScoop(int itemID)
{
@@ -67,16 +65,4 @@ public class ItemThaumiumScoop extends Item implements IVisRepairable, IToolScoo
{
return ThaumcraftApi.toolMatThaumium.getToolCraftingMaterial() == par2ItemStack.itemID ? true : super.getIsRepairable(par1ItemStack, par2ItemStack);
}
-
- /*@Override
- public void doRepair(ItemStack stack, Entity e)
- {
- if (stack.getItemDamage() > 0)
- {
- if (ThaumcraftApi.decreaseClosestAura(e.worldObj, e.posX, e.posY, e.posZ, 1, true))
- {
- stack.damageItem(-1, (EntityLiving)e);
- }
- }
- }*/
}
diff --git a/magicbees_src/magicbees/item/types/ResourceType.java b/magicbees_src/magicbees/item/types/ResourceType.java
index bc064f6..7ce5019 100644
--- a/magicbees_src/magicbees/item/types/ResourceType.java
+++ b/magicbees_src/magicbees/item/types/ResourceType.java
@@ -17,6 +17,19 @@ public enum ResourceType
ESSENCE_LOST_TIME("essenceLostTime", true),
ESSENCE_EVERLASTING_DURABILITY("essenceEverlastingDurability", true),
ESSENCE_UNENDING_DISREGARD("essenceUnendingDisregard", true),
+ z_1("", false),
+ z_2("", false),
+ z_3("", false),
+ z_4("", false),
+ z_5("", false),
+ DIMENSIONAL_SINGULARITY("dimensionalSingularity", true),
+ TC_DUST_AIR("TCairDust", true),
+ TC_DUST_WATER("TCwaterDust", true),
+ TC_DUST_FIRE("TCfireDust", true),
+ TC_DUST_EARTH("TCearthDust", true),
+ TC_DUST_ORDER("TCorderDust", true),
+ TC_DUST_CHAOS("TCchaosDust", true),
+
// Dummy items for Thaumanomicon research icons.
// These won't ever actually exist in-game, and so
diff --git a/magicbees_src/magicbees/main/ClientProxy.java b/magicbees_src/magicbees/main/ClientProxy.java
index 6c7a630..542ec47 100644
--- a/magicbees_src/magicbees/main/ClientProxy.java
+++ b/magicbees_src/magicbees/main/ClientProxy.java
@@ -10,7 +10,6 @@ import cpw.mods.fml.client.registry.ClientRegistry;
import cpw.mods.fml.client.registry.RenderingRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import forestry.core.render.TextureManager;
@SideOnly(Side.CLIENT)
public class ClientProxy extends CommonProxy
diff --git a/magicbees_src/magicbees/main/CommonProxy.java b/magicbees_src/magicbees/main/CommonProxy.java
index 56bbffc..9507ffd 100644
--- a/magicbees_src/magicbees/main/CommonProxy.java
+++ b/magicbees_src/magicbees/main/CommonProxy.java
@@ -10,6 +10,7 @@ public class CommonProxy
public static final String DOMAIN = "magicbees";
public static final String TEXTURE = "textures/";
public static final String GUI_TEXTURE = TEXTURE + "gui/";
+ public static final String ITEM_TEXTURE = TEXTURE + "items/";
public static final String MODEL = "model/";
public static final String LANGS = "lang/";
diff --git a/magicbees_src/magicbees/main/Config.java b/magicbees_src/magicbees/main/Config.java
index 82802c0..d882562 100644
--- a/magicbees_src/magicbees/main/Config.java
+++ b/magicbees_src/magicbees/main/Config.java
@@ -132,10 +132,10 @@ public class Config
//----- Thaumcraft Items -----------------------------------
public static Item tcFilledJar;
public static Item tcMiscResource;
- public static Item tcEssentiaBottle;
+ //public static Item tcEssentiaBottle;
public static Item tcShard;
public static Item tcGolem;
- public static Item tcWispEssence;
+ //public static Item tcWispEssence;
public static Item tcNuggets;
public static Item tcNuggetChicken;
public static Item tcNuggetBeef;
@@ -177,11 +177,6 @@ public class Config
public void setupBlocks()
{
- ThaumcraftHelper.getBlocks();
- ForestryHelper.getBlocks();
- EquivalentExchangeHelper.getBlocks();
- ArsMagicaHelper.getBlocks();
-
int blockIdBase = 1750;
{
@@ -233,12 +228,7 @@ public class Config
}
public void setupItems()
- {
- ThaumcraftHelper.getItems();
- ForestryHelper.getItems();
- EquivalentExchangeHelper.getItems();
- ArsMagicaHelper.getItems();
-
+ {
int itemIDBase = 26090;
combs= new ItemComb(configuration.getItem("combs", itemIDBase++).getInt() - 256);
@@ -313,7 +303,7 @@ public class Config
jellyBaby = new ItemFood(configuration.getItem("jellyBabies", itemIDBase++).getInt() - 256, 1, false).setAlwaysEdible()
.setPotionEffect(Potion.moveSpeed.id, 5, 1, 1f);
- jellyBaby.setUnlocalizedName(VersionInfo.ModName.toLowerCase() + ":jellyBabies").func_111206_d(VersionInfo.ModName.toLowerCase() + ":jellyBabies");
+ jellyBaby.setUnlocalizedName(VersionInfo.ModName.toLowerCase() + ":jellyBabies").setTextureName(VersionInfo.ModName.toLowerCase() + ":jellyBabies");
GameRegistry.registerItem(jellyBaby, VersionInfo.ModName.toLowerCase() + ":jellyBabies");
diff --git a/magicbees_src/magicbees/main/MagicBees.java b/magicbees_src/magicbees/main/MagicBees.java
index 07590eb..d18e0c5 100644
--- a/magicbees_src/magicbees/main/MagicBees.java
+++ b/magicbees_src/magicbees/main/MagicBees.java
@@ -1,8 +1,8 @@
package magicbees.main;
import magicbees.bees.BeeManager;
+import magicbees.bees.TransmutationEffectController;
import magicbees.client.gui.GUIHandler;
-import magicbees.main.utils.CompatabilityManager;
import magicbees.main.utils.CraftingManager;
import magicbees.main.utils.IMCManager;
import magicbees.main.utils.LocalizationManager;
@@ -10,6 +10,7 @@ import magicbees.main.utils.VersionInfo;
import magicbees.main.utils.compat.ArsMagicaHelper;
import magicbees.main.utils.compat.EquivalentExchangeHelper;
import magicbees.main.utils.compat.ExtraBeesHelper;
+import magicbees.main.utils.compat.ForestryHelper;
import magicbees.main.utils.compat.ThaumcraftHelper;
import magicbees.world.WorldGeneratorHandler;
import cpw.mods.fml.common.Mod;
@@ -45,33 +46,39 @@ public class MagicBees
private Config modConfig;
private WorldGeneratorHandler worldHandler;
- @Mod.PreInit
+ @Mod.EventHandler
public void preInit(FMLPreInitializationEvent event)
{
- LocalizationManager.setupLocalizationInfo();
-
this.configsPath = event.getModConfigurationDirectory().getAbsolutePath();
this.modConfig = new Config(event.getSuggestedConfigurationFile());
+ this.modConfig.setupBlocks();
+ this.modConfig.setupItems();
+
+ LocalizationManager.setupLocalizationInfo();
+
+ new TransmutationEffectController();
// Compatibility Helpers setup time.
- ThaumcraftHelper.init();
+ ForestryHelper.preInit();
+ ExtraBeesHelper.preInit();
+ ThaumcraftHelper.preInit();
+ EquivalentExchangeHelper.preInit();
+ ArsMagicaHelper.preInit();
+ }
+
+ @Mod.EventHandler
+ public void init(FMLInitializationEvent event)
+ {
+ GameRegistry.registerWorldGenerator(worldHandler = new WorldGeneratorHandler());
+
+ ForestryHelper.init();
ExtraBeesHelper.init();
+ ThaumcraftHelper.init();
EquivalentExchangeHelper.init();
ArsMagicaHelper.init();
}
- @Mod.Init
- public void init(FMLInitializationEvent event)
- {
- this.modConfig.setupBlocks();
- this.modConfig.setupItems();
-
- CompatabilityManager.setupBackpacks();
-
- GameRegistry.registerWorldGenerator(worldHandler = new WorldGeneratorHandler());
- }
-
- @Mod.PostInit
+ @Mod.EventHandler
public void postInit(FMLPostInitializationEvent event)
{
this.guiHandler = new GUIHandler();
@@ -83,17 +90,18 @@ public class MagicBees
this.modConfig.saveConfigs();
- ThaumcraftHelper.setupItemAspects();
-
- // Vanilla, Forestry & Thaumcraft crafting setup
CraftingManager.setupCrafting();
- ThaumcraftHelper.setupResearch();
-
VersionInfo.doVersionCheck();
+
+ ForestryHelper.postInit();
+ ExtraBeesHelper.postInit();
+ ThaumcraftHelper.postInit();
+ EquivalentExchangeHelper.postInit();
+ ArsMagicaHelper.postInit();
}
- @Mod.IMCCallback
+ @Mod.EventHandler
public void handleIMCMessage(IMCEvent event)
{
IMCManager.handle(event);
diff --git a/magicbees_src/magicbees/main/utils/CompatabilityManager.java b/magicbees_src/magicbees/main/utils/CompatabilityManager.java
deleted file mode 100644
index 293d46c..0000000
--- a/magicbees_src/magicbees/main/utils/CompatabilityManager.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package magicbees.main.utils;
-
-import magicbees.main.utils.compat.ThaumcraftHelper;
-
-public class CompatabilityManager
-{
- public static void setupBackpacks()
- {
- ThaumcraftHelper.addItemsToBackpack();
- }
-}
diff --git a/magicbees_src/magicbees/main/utils/CraftingManager.java b/magicbees_src/magicbees/main/utils/CraftingManager.java
index 3dd474d..d645fcb 100644
--- a/magicbees_src/magicbees/main/utils/CraftingManager.java
+++ b/magicbees_src/magicbees/main/utils/CraftingManager.java
@@ -33,17 +33,7 @@ public class CraftingManager
// Broken up into seperate sections to make things a bit easier to find.
setupVanillaCrafting();
setupCentrifugeRecipes();
- setupSqueezerRecipes();
setupCarpenterRecipes();
-
- if (ThaumcraftHelper.isActive())
- {
- ThaumcraftHelper.setupThaumcraftCrafting();
- }
- else
- {
- setupThaumcraftAlternativeCrafting();
- }
registerLiquidContainer(Config.magicCapsule);
registerLiquidContainer(Config.voidCapsule);
@@ -314,6 +304,24 @@ public class CraftingManager
"xxx", "xxx", "xxx",
'x', Config.nuggets.getStackForType(NuggetType.APATITE)
}));
+
+ output = Config.miscResources.getStackForType(ResourceType.DIMENSIONAL_SINGULARITY, 2);
+ GameRegistry.addRecipe(output, new Object[] {
+ " E ", "pOp", " E ",
+ 'E', Item.eyeOfEnder,
+ 'p', Item.enderPearl,
+ 'W', Block.obsidian
+ });
+
+ output = Config.voidCapsule.getCapsuleForLiquid(FluidType.EMPTY);
+ output.stackSize = 4;
+ GameRegistry.addRecipe(output, new Object[] {
+ "T T", "GFG", "T T",
+ 'G', Block.thinGlass,
+ 'F', Config.miscResources.getStackForType(ResourceType.DIMENSIONAL_SINGULARITY),
+ 'T', Item.goldNugget
+ });
+
if (ThaumcraftHelper.isActive())
{
@@ -329,7 +337,7 @@ public class CraftingManager
}
// Essentia bottles
- output = new ItemStack(Config.tcEssentiaBottle);
+ /*output = new ItemStack(Config.tcEssentiaBottle);
output.stackSize = 8;
GameRegistry.addRecipe(output, new Object[] {
" C ", "GPG", "PGP",
@@ -343,7 +351,7 @@ public class CraftingManager
GameRegistry.addRecipe(output, new Object[] {
" W ", "W W", " W ",
'W', Config.wax
- });
+ });*/
output = new ItemStack(Config.tcMiscResource, 1, ThaumcraftHelper.MiscResource.KNOWLEDGE_FRAGMENT.ordinal());
GameRegistry.addRecipe(output, new Object[] {
@@ -455,12 +463,6 @@ public class CraftingManager
new int[] { 85, 10, 2 } );
}
}
-
- private static void setupSqueezerRecipes()
- {
- // Squeezer recipes
- // if (ThaumcraftHelper.isActive()) { }
- }
private static void setupCarpenterRecipes()
{
@@ -499,6 +501,14 @@ public class CraftingManager
'J', ItemInterface.getItem("royalJelly"),
'D', Config.drops.getStackForType(DropType.ENCHANTED)
});
+
+ output = new ItemStack(Config.hiveFrameMagic);
+ input = ItemInterface.getItem("frameUntreated");
+ GameRegistry.addRecipe(output, new Object[] {
+ "www", "wfw", "www",
+ 'w', Config.wax.getStackForType(WaxType.MAGIC),
+ 'f', input
+ });
if (ThaumcraftHelper.isActive())
{
@@ -512,17 +522,6 @@ public class CraftingManager
'W', input,
'T', new ItemStack(Config.thaumaturgeBackpackT1)
});
- output = new ItemStack(Config.planksWood, 4, 0);
- RecipeManagers.carpenterManager.addRecipe(8, new FluidStack(FluidRegistry.WATER, 500), null, output, new Object[] {
- "B",
- 'B', new ItemStack(Config.tcLog, 1, 0)
- });
-
- output = new ItemStack(Config.planksWood, 6, 1);
- RecipeManagers.carpenterManager.addRecipe(8, new FluidStack(FluidRegistry.WATER, 500), null, output, new Object[] {
- "B",
- 'B', new ItemStack(Config.tcLog, 1, 1)
- });
}
}
@@ -565,28 +564,4 @@ public class CraftingManager
// Empty will be set to unavailable. Obviously, it always is.
FluidType.EMPTY.available = true;
}
-
- private static void setupThaumcraftAlternativeCrafting()
- {
- ItemStack input, output;
-
- output = new ItemStack(Config.hiveFrameMagic);
- input = ItemInterface.getItem("frameUntreated");
- GameRegistry.addRecipe(output, new Object[] {
- "www", "wfw", "www",
- 'w', Config.wax.getStackForType(WaxType.MAGIC),
- 'f', input
- });
-
- output = Config.voidCapsule.getCapsuleForLiquid(FluidType.EMPTY);
- output.stackSize = 4;
- GameRegistry.addRecipe(output, new Object[] {
- "wDw", "GPG", "TwT",
- 'G', Block.glass,
- 'D', Item.diamond,
- 'P', Item.eyeOfEnder,
- 'T', Item.ingotGold,
- 'w', Config.wax.getStackForType(WaxType.MAGIC)
- });
- }
}
\ No newline at end of file
diff --git a/magicbees_src/magicbees/main/utils/TickHandlerVersion.java b/magicbees_src/magicbees/main/utils/TickHandlerVersion.java
index 7e5e13f..70c67ac 100644
--- a/magicbees_src/magicbees/main/utils/TickHandlerVersion.java
+++ b/magicbees_src/magicbees/main/utils/TickHandlerVersion.java
@@ -59,8 +59,8 @@ public class TickHandlerVersion implements IScheduledTickHandler
if ((!MagicBees.getConfig().DisableUpdateNotification || anInfo.isCriticalUpdate()) && anInfo.isNewVersionAvailable())
{
EntityPlayer player = (EntityPlayer) tickData[0];
- player.sendChatToPlayer(ChatMessageComponent.func_111066_d("[" + anInfo.modName + "] A new version is available: " + anInfo.getLatestVersion()));
- player.sendChatToPlayer(ChatMessageComponent.func_111066_d(anInfo.getVersionDescription()));
+ player.sendChatToPlayer(ChatMessageComponent.createFromText("[" + anInfo.modName + "] A new version is available: " + anInfo.getLatestVersion()));
+ player.sendChatToPlayer(ChatMessageComponent.createFromText(anInfo.getVersionDescription()));
}
modIndex += 1;
}
diff --git a/magicbees_src/magicbees/main/utils/VersionInfo.java b/magicbees_src/magicbees/main/utils/VersionInfo.java
index 37a1979..df4a0a2 100644
--- a/magicbees_src/magicbees/main/utils/VersionInfo.java
+++ b/magicbees_src/magicbees/main/utils/VersionInfo.java
@@ -49,7 +49,7 @@ public class VersionInfo
public static int[] parseVersion(String rawVersion)
{
ArrayList versionTokens = new ArrayList();
- String[] tokens = rawVersion.trim().split("\\.");
+ String[] tokens = rawVersion.trim().split("[\\. ]");
for (int i = 0; i < tokens.length; ++i)
{
diff --git a/magicbees_src/magicbees/main/utils/compat/ArsMagicaHelper.java b/magicbees_src/magicbees/main/utils/compat/ArsMagicaHelper.java
index ad3701a..4803010 100644
--- a/magicbees_src/magicbees/main/utils/compat/ArsMagicaHelper.java
+++ b/magicbees_src/magicbees/main/utils/compat/ArsMagicaHelper.java
@@ -14,7 +14,7 @@ public class ArsMagicaHelper
return isArsMagicaPresent;
}
- public static void init()
+ public static void preInit()
{
if (Loader.isModLoaded("ArsMagica"))
{
@@ -22,46 +22,51 @@ public class ArsMagicaHelper
}
}
- public static void getBlocks()
+ public static void init()
{
if (isActive())
{
- try
- {
- Class clazz = Class.forName("mithion.arsmagica.blocks.ArsMagicaBlocksCommonProxy");
- Config.amBlackOrchid = (Block)(clazz.getField("blueOrchid").get(null));
- Config.amDesertNova = (Block)(clazz.getField("desertNova").get(null));
- }
- catch (Exception e)
- {
-
- }
+ getBlocks();
+ getItems();
}
}
- public static void getItems()
+ public static void postInit() {}
+
+ private static void getBlocks()
{
- if (isActive())
+ try
{
- try
- {
- Class clazz = Class.forName("mithion.arsmagica.items.ArsMagicaItemsCommonProxy");
- Config.amVinteumDust = (Item)(clazz.getField("vinteumDust").get(null));
- Config.amArcaneCompound = (Item)(clazz.getField("arcaneCompound").get(null));
- Config.amEssenceAir = (Item)(clazz.getField("airEssence").get(null));
- Config.amEssenceArcane = (Item)(clazz.getField("arcaneEssence").get(null));
- Config.amEssenceEarth = (Item)(clazz.getField("earthEssence").get(null));
- Config.amEssenceFire = (Item)(clazz.getField("fireEssence").get(null));
- Config.amEssenceIce = (Item)(clazz.getField("iceEssence").get(null));
- Config.amEssenceLightning = (Item)(clazz.getField("lightningEssence").get(null));
- Config.amEssenceMagma = (Item)(clazz.getField("magmaEssence").get(null));
- Config.amEssencePlant = (Item)(clazz.getField("plantEssence").get(null));
- Config.amEssenceWater = (Item)(clazz.getField("waterEssence").get(null));
- }
- catch (Exception e)
- {
-
- }
+ Class clazz = Class.forName("mithion.arsmagica.blocks.ArsMagicaBlocksCommonProxy");
+ Config.amBlackOrchid = (Block)(clazz.getField("blueOrchid").get(null));
+ Config.amDesertNova = (Block)(clazz.getField("desertNova").get(null));
+ }
+ catch (Exception e)
+ {
+
+ }
+ }
+
+ private static void getItems()
+ {
+ try
+ {
+ Class clazz = Class.forName("mithion.arsmagica.items.ArsMagicaItemsCommonProxy");
+ Config.amVinteumDust = (Item)(clazz.getField("vinteumDust").get(null));
+ Config.amArcaneCompound = (Item)(clazz.getField("arcaneCompound").get(null));
+ Config.amEssenceAir = (Item)(clazz.getField("airEssence").get(null));
+ Config.amEssenceArcane = (Item)(clazz.getField("arcaneEssence").get(null));
+ Config.amEssenceEarth = (Item)(clazz.getField("earthEssence").get(null));
+ Config.amEssenceFire = (Item)(clazz.getField("fireEssence").get(null));
+ Config.amEssenceIce = (Item)(clazz.getField("iceEssence").get(null));
+ Config.amEssenceLightning = (Item)(clazz.getField("lightningEssence").get(null));
+ Config.amEssenceMagma = (Item)(clazz.getField("magmaEssence").get(null));
+ Config.amEssencePlant = (Item)(clazz.getField("plantEssence").get(null));
+ Config.amEssenceWater = (Item)(clazz.getField("waterEssence").get(null));
+ }
+ catch (Exception e)
+ {
+
}
}
}
diff --git a/magicbees_src/magicbees/main/utils/compat/EquivalentExchangeHelper.java b/magicbees_src/magicbees/main/utils/compat/EquivalentExchangeHelper.java
index 3457ecb..155e46c 100644
--- a/magicbees_src/magicbees/main/utils/compat/EquivalentExchangeHelper.java
+++ b/magicbees_src/magicbees/main/utils/compat/EquivalentExchangeHelper.java
@@ -14,7 +14,7 @@ public class EquivalentExchangeHelper
return isEquivalentExchangePresent;
}
- public static void init()
+ public static void preInit()
{
if (Loader.isModLoaded("EE3"))
{
@@ -22,27 +22,29 @@ public class EquivalentExchangeHelper
}
}
- public static void getBlocks()
+ public static void init()
{
if (isActive())
{
-
+ getBlocks();
+ getItems();
}
}
- public static void getItems()
+ public static void postInit() {}
+
+ private static void getBlocks() {}
+
+ private static void getItems()
{
- if (isActive())
+ try
{
- try
- {
- Class itemClass = Class.forName("com.pahimar.ee3.item.ModItems");
- Config.eeMinuimShard = (Item)(itemClass.getField("miniumShard").get(null));
- }
- catch (Exception e)
- {
- FMLLog.info("Could not get Equivalent Exchange items.");
- }
+ Class itemClass = Class.forName("com.pahimar.ee3.item.ModItems");
+ Config.eeMinuimShard = (Item)(itemClass.getField("miniumShard").get(null));
+ }
+ catch (Exception e)
+ {
+ FMLLog.info("Could not get Equivalent Exchange items.");
}
}
}
diff --git a/magicbees_src/magicbees/main/utils/compat/ExtraBeesHelper.java b/magicbees_src/magicbees/main/utils/compat/ExtraBeesHelper.java
index 55abeeb..2c37115 100644
--- a/magicbees_src/magicbees/main/utils/compat/ExtraBeesHelper.java
+++ b/magicbees_src/magicbees/main/utils/compat/ExtraBeesHelper.java
@@ -7,36 +7,6 @@ import net.minecraft.item.ItemStack;
public class ExtraBeesHelper
{
- private static boolean isEBPresent = false;
-
- public static boolean isActive()
- {
- return isEBPresent;
- }
-
- public static void init()
- {
- if (cpw.mods.fml.common.Loader.isModLoaded("ExtraBees"))
- {
- isEBPresent = true;
- }
- }
-
- public static ItemStack getExtraBeeItem(String field)
- {
- ItemStack value = null;
- try
- {
- Class src = Class.forName("binnie.extrabees.core.ExtraBeeItem");
- Field f = src.getDeclaredField(field);
-
- Item i = (Item) f.get(null);
- value = new ItemStack(i);
- }
- catch (Exception e) { }
- return value;
- }
-
public enum CombType
{
BARREN,
@@ -122,4 +92,37 @@ public class ExtraBeesHelper
SAWDUST,
;
}
+
+ private static boolean isEBPresent = false;
+
+ public static boolean isActive()
+ {
+ return isEBPresent;
+ }
+
+ public static void preInit()
+ {
+ if (cpw.mods.fml.common.Loader.isModLoaded("ExtraBees"))
+ {
+ isEBPresent = true;
+ }
+ }
+
+ public static void init() {}
+ public static void postInit() {}
+
+ public static ItemStack getExtraBeeItem(String field)
+ {
+ ItemStack value = null;
+ try
+ {
+ Class src = Class.forName("binnie.extrabees.core.ExtraBeeItem");
+ Field f = src.getDeclaredField(field);
+
+ Item i = (Item) f.get(null);
+ value = new ItemStack(i);
+ }
+ catch (Exception e) { }
+ return value;
+ }
}
diff --git a/magicbees_src/magicbees/main/utils/compat/ForestryHelper.java b/magicbees_src/magicbees/main/utils/compat/ForestryHelper.java
index a152416..73328d6 100644
--- a/magicbees_src/magicbees/main/utils/compat/ForestryHelper.java
+++ b/magicbees_src/magicbees/main/utils/compat/ForestryHelper.java
@@ -97,7 +97,17 @@ public class ForestryHelper
public static final String Name = "Forestry";
- public static void getBlocks()
+ public static void preInit() {}
+
+ public static void init()
+ {
+ getBlocks();
+ getItems();
+ }
+
+ public static void postInit() {}
+
+ private static void getBlocks()
{
try
{
@@ -110,7 +120,7 @@ public class ForestryHelper
}
}
- public static void getItems()
+ private static void getItems()
{
Config.fBeeComb = ItemInterface.getItem("beeComb").getItem();
Config.fPollen = ItemInterface.getItem("pollen").getItem();
diff --git a/magicbees_src/magicbees/main/utils/compat/ThaumcraftHelper.java b/magicbees_src/magicbees/main/utils/compat/ThaumcraftHelper.java
index c01dec1..0f58a4e 100644
--- a/magicbees_src/magicbees/main/utils/compat/ThaumcraftHelper.java
+++ b/magicbees_src/magicbees/main/utils/compat/ThaumcraftHelper.java
@@ -1,28 +1,16 @@
package magicbees.main.utils.compat;
-import magicbees.bees.BeeGenomeManager;
-import magicbees.bees.BeeSpecies;
-import magicbees.item.types.CombType;
-import magicbees.item.types.DropType;
-import magicbees.item.types.FluidType;
-import magicbees.item.types.PollenType;
-import magicbees.item.types.PropolisType;
import magicbees.item.types.ResourceType;
-import magicbees.item.types.WaxType;
import magicbees.main.CommonProxy;
import magicbees.main.Config;
import magicbees.main.MagicBees;
-import net.minecraft.block.Block;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import thaumcraft.api.ItemApi;
-import thaumcraft.api.ThaumcraftApi;
+import net.minecraft.util.ResourceLocation;
+import thaumcraft.api.aspects.AspectList;
+import thaumcraft.api.research.ResearchCategories;
import thaumcraft.api.research.ResearchItem;
+import thaumcraft.api.research.ResearchPage;
import cpw.mods.fml.common.event.FMLInterModComms;
-import forestry.api.apiculture.EnumBeeChromosome;
-import forestry.api.apiculture.EnumBeeType;
-import forestry.api.core.BlockInterface;
-import forestry.api.core.ItemInterface;
+import cpw.mods.fml.common.registry.GameRegistry;
public class ThaumcraftHelper
{
@@ -49,7 +37,8 @@ public class ThaumcraftHelper
TIN,
SILVER,
LEAD,
- QUICKSILVER, _6,_7,_8,_9,_10,_11,_12,_13,_14,_15,
+ QUICKSILVER,
+ THAUMIUM, _7,_8,_9,_10,_11,_12,_13,_14,_15,
NATIVE_IRON,
NATIVE_COPPER,
NATIVE_TIN,
@@ -65,8 +54,8 @@ public class ThaumcraftHelper
FIRE,
WATER,
EARTH,
- MAGIC,
- DULL,
+ ORDER,
+ CHAOS,
;
}
@@ -111,64 +100,81 @@ public class ThaumcraftHelper
}
private static boolean isThaumcraftPresent = false;
- public static final String Name = "Thaumcraft";
+ public static final String Name = "Thaumcraft_";
public static boolean isActive()
{
return isThaumcraftPresent;
}
- public static void init()
+ public static void preInit()
{
if (cpw.mods.fml.common.Loader.isModLoaded(Name))
{
- if (isThaumcraftPresent == true)
- {
- registerResearchXML();
- }
+ isThaumcraftPresent = true;
+ //registerResearchXML();
}
else
{
// Switch off TC-dependant items.
ResourceType.LORE_FRAGMENT.setHidden();
+ ResourceType.TC_DUST_AIR.setHidden();
+ ResourceType.TC_DUST_CHAOS.setHidden();
+ ResourceType.TC_DUST_EARTH.setHidden();
+ ResourceType.TC_DUST_FIRE.setHidden();
+ ResourceType.TC_DUST_ORDER.setHidden();
+ ResourceType.TC_DUST_WATER.setHidden();
+ }
+ }
+
+ public static void init()
+ {
+ if (isActive())
+ {
+ getBlocks();
+ getItems();
+
+ addItemsToBackpack();
+ }
+ }
+
+ public static void postInit()
+ {
+ if (isActive())
+ {
+ setupResearch();
}
}
public static void getBlocks()
{
- if (isActive())
- {
- Config.tcPlant = Block.blocksList[ItemApi.getItem("blockCustomPlant", 0).itemID];
- Config.tcCandle = Block.blocksList[ItemApi.getItem("blockCandle", 0).itemID];
- Config.tcCrystal = Block.blocksList[ItemApi.getItem("blockCrystal", 0).itemID];
- Config.tcMarker = Block.blocksList[ItemApi.getItem("blockMarker", 0).itemID];
- Config.tcJar = Block.blocksList[ItemApi.getItem("blockJar", 0).itemID];
- Config.tcLog = Block.blocksList[ItemApi.getItem("blockMagicalLog", 0).itemID];
- Config.tcLeaf = Block.blocksList[ItemApi.getItem("blockMagicalLeaves", 0).itemID];
- Config.tcWarded = Block.blocksList[ItemApi.getItem("blockWarded", 0).itemID];
- }
+ Config.tcPlant = GameRegistry.findBlock(Name, "blockCustomPlant");
+ Config.tcCandle = GameRegistry.findBlock(Name, "blockCandle");
+ Config.tcCrystal = GameRegistry.findBlock(Name, "blockCrystal");
+ Config.tcMarker = GameRegistry.findBlock(Name, "blockMarker");
+ Config.tcJar = GameRegistry.findBlock(Name, "blockJar");
+ Config.tcLog = GameRegistry.findBlock(Name, "blockMagicalLog");
+ Config.tcLeaf = GameRegistry.findBlock(Name, "blockMagicalLeaves");
+ Config.tcWarded = GameRegistry.findBlock(Name, "blockWarded");
}
public static void getItems()
{
- if (isActive())
- {
- Config.tcFilledJar = ItemApi.getItem("itemJarFilled", 0).getItem();
- Config.tcMiscResource = ItemApi.getItem("itemResource", 0).getItem();
- Config.tcEssentiaBottle = ItemApi.getItem("itemEssence", 0).getItem();
- Config.tcShard = ItemApi.getItem("itemShard", 0).getItem();
- Config.tcGolem = ItemApi.getItem("itemGolemPlacer", 0).getItem();
- Config.tcWispEssence = ItemApi.getItem("itemWispEssence", 0).getItem();
- Config.tcNuggets = ItemApi.getItem("itemNugget", 0).getItem();
- Config.tcNuggetChicken = ItemApi.getItem("itemNuggetChicken", 0).getItem();
- Config.tcNuggetBeef = ItemApi.getItem("itemNuggetBeef", 0).getItem();
- Config.tcNuggetPork = ItemApi.getItem("itemNuggetPork", 0).getItem();
- }
+ Config.tcFilledJar = GameRegistry.findItem(Name, "BlockJarFilledItem");
+ Config.tcMiscResource = GameRegistry.findItem(Name, "ItemResource");
+ //Config.tcEssentiaBottle = GameRegistry.findItem(Name, "BlockJarFilledItem");
+ Config.tcShard = GameRegistry.findItem(Name, "ItemShard");
+ Config.tcGolem = GameRegistry.findItem(Name, "ItemGolemPlacer");
+ //Config.tcWispEssence = ItemApi.getItem("itemWispEssence", 0).getItem();
+ Config.tcNuggets = GameRegistry.findItem(Name, "ItemNugget");
+ Config.tcNuggetChicken = GameRegistry.findItem(Name, "ItemNuggetChicken");
+ Config.tcNuggetBeef = GameRegistry.findItem(Name, "itemNuggetBeef");
+ Config.tcNuggetPork = GameRegistry.findItem(Name, "itemNuggetPork");
}
public static void addItemsToBackpack()
{
- if (isActive() && MagicBees.getConfig().AddThaumcraftItemsToBackpacks)
+ if (MagicBees.getConfig().AddThaumcraftItemsToBackpacks)
{
// Add all shards and Thaumium to miner's backpack
String ids = Config.tcShard.itemID + ":" + -1 + ";"
@@ -191,8 +197,8 @@ public class ThaumcraftHelper
FMLInterModComms.sendMessage("Forestry", "add-backpack-items", "forester@" + ids);
// Add Wisp & brains to Hunter's
- ids = Config.tcWispEssence.itemID + ":" + -1 + ";"
- + Config.tcMiscResource.itemID + ":" + ThaumcraftHelper.MiscResource.ZOMBIE_BRAIN.ordinal();
+ ids = /*Config.tcWispEssence.itemID + ":" + -1 + ";"
+ +*/ Config.tcMiscResource.itemID + ":" + ThaumcraftHelper.MiscResource.ZOMBIE_BRAIN.ordinal();
FMLInterModComms.sendMessage("Forestry", "add-backpack-items", "hunter@" + ids);
// Add Marker, warded stone, candle to builder
@@ -203,550 +209,14 @@ public class ThaumcraftHelper
}
}
- public static void setupItemAspects()
- {
- if (isActive())
- {
- setupItemAspectsThaumicBees();
- setupItemAspectsForestry();
- if (ExtraBeesHelper.isActive())
- {
- setupItemAspectsExtraBees();
- }
- }
- }
-
- private static void setupItemAspectsThaumicBees()
- {
- if (isActive())
- {/*
- ObjectTags tags;
- ItemStack itemStack;
-
- tags = new ObjectTags().add(EnumTag.WOOD, 1);
- ThaumcraftApi.registerObjectTag(Config.planksWood.blockID, -1, tags);
-
- tags = new ObjectTags().add(EnumTag.MAGIC, 2);
- ThaumcraftApi.registerObjectTag(Config.wax.itemID, WaxType.MAGIC.ordinal(), tags);
-
- tags = new ObjectTags().add(EnumTag.MAGIC, 1);
- ThaumcraftApi.registerObjectTag(Config.drops.itemID, DropType.ENCHANTED.ordinal(), tags);
- tags = new ObjectTags().add(EnumTag.KNOWLEDGE, 1);
- ThaumcraftApi.registerObjectTag(Config.drops.itemID, DropType.INTELLECT.ordinal(), tags);
-
- tags = new ObjectTags().add(EnumTag.ELDRITCH, 2);
- ThaumcraftApi.registerObjectTag(Config.pollen.itemID, PollenType.UNUSUAL.ordinal(), tags);
- tags = new ObjectTags().add(EnumTag.TIME, 2);
- ThaumcraftApi.registerObjectTag(Config.pollen.itemID, PollenType.PHASED.ordinal(), tags);
-
- tags = new ObjectTags().add(EnumTag.CONTROL, 1);
- ThaumcraftApi.registerObjectTag(Config.propolis.itemID, -1, tags);
- tags = new ObjectTags(Config.propolis.itemID, -1).add(EnumTag.MAGIC, 1);
- ThaumcraftApi.registerObjectTag(Config.propolis.itemID, PropolisType.STARK.ordinal(), tags);
- tags = new ObjectTags(Config.propolis.itemID, -1).add(EnumTag.MAGIC, 1).add(EnumTag.WIND, 3);
- ThaumcraftApi.registerObjectTag(Config.propolis.itemID, PropolisType.AIR.ordinal(), tags);
- tags = new ObjectTags(Config.propolis.itemID, -1).add(EnumTag.MAGIC, 1).add(EnumTag.FIRE, 3);
- ThaumcraftApi.registerObjectTag(Config.propolis.itemID, PropolisType.FIRE.ordinal(), tags);
- tags = new ObjectTags(Config.propolis.itemID, -1).add(EnumTag.MAGIC, 1).add(EnumTag.WATER, 3);
- ThaumcraftApi.registerObjectTag(Config.propolis.itemID, PropolisType.WATER.ordinal(), tags);
- tags = new ObjectTags(Config.propolis.itemID, -1).add(EnumTag.MAGIC, 1).add(EnumTag.EARTH, 3);
- ThaumcraftApi.registerObjectTag(Config.propolis.itemID, PropolisType.EARTH.ordinal(), tags);
- tags = new ObjectTags(Config.propolis.itemID, -1).add(EnumTag.MAGIC, 4);
- ThaumcraftApi.registerObjectTag(Config.propolis.itemID, PropolisType.INFUSED.ordinal(), tags);
-
- tags = new ObjectTags().add(EnumTag.KNOWLEDGE, 3);
- ThaumcraftApi.registerObjectTag(Config.miscResources.itemID, ResourceType.LORE_FRAGMENT.ordinal(), tags);
-
- tags = new ObjectTags().add(EnumTag.INSECT, 2).add(EnumTag.TRAP, 2);
- ThaumcraftApi.registerObjectTag(Config.combs.itemID, -1, tags);
- tags = new ObjectTags(Config.combs.itemID, -1).add(EnumTag.MAGIC, 2);
- ThaumcraftApi.registerObjectTag(Config.combs.itemID, CombType.OCCULT.ordinal(), tags);
- ThaumcraftApi.registerObjectTag(Config.combs.itemID, CombType.OTHERWORLDLY.ordinal(), tags);
- ThaumcraftApi.registerObjectTag(Config.combs.itemID, CombType.HARMONIZING.ordinal(), tags);
- tags = new ObjectTags(Config.combs.itemID, -1).add(EnumTag.MAGIC, 4);
- ThaumcraftApi.registerObjectTag(Config.combs.itemID, CombType.INFUSED.ordinal(), tags);
- tags = new ObjectTags(Config.combs.itemID, -1).add(EnumTag.MAGIC, 2).add(EnumTag.MOTION, 2);
- ThaumcraftApi.registerObjectTag(Config.combs.itemID, CombType.AIRY.ordinal(), tags);
- tags = new ObjectTags(Config.combs.itemID, -1).add(EnumTag.MAGIC, 2).add(EnumTag.POWER, 2);
- ThaumcraftApi.registerObjectTag(Config.combs.itemID, CombType.FIREY.ordinal(), tags);
- tags = new ObjectTags(Config.combs.itemID, -1).add(EnumTag.MAGIC, 2).add(EnumTag.COLD, 2);
- ThaumcraftApi.registerObjectTag(Config.combs.itemID, CombType.WATERY.ordinal(), tags);
- tags = new ObjectTags(Config.combs.itemID, -1).add(EnumTag.MAGIC, 2).add(EnumTag.ROCK, 2);
- ThaumcraftApi.registerObjectTag(Config.combs.itemID, CombType.EARTHY.ordinal(), tags);
-
- // Tagging capsules.
- tags = new ObjectTags().add(EnumTag.VOID, 2).add(EnumTag.MAGIC, 2);
- ThaumcraftApi.registerComplexObjectTag(Config.magicCapsule.itemID, FluidType.EMPTY.ordinal(), tags);
-
- tags = new ObjectTags(Config.magicCapsule.itemID, FluidType.EMPTY.ordinal())
- .add(EnumTag.WATER, 8);
- ThaumcraftApi.registerObjectTag(Config.magicCapsule.itemID, FluidType.WATER.ordinal(), tags);
- tags = new ObjectTags(Config.magicCapsule.itemID, FluidType.EMPTY.ordinal())
- .add(EnumTag.FIRE, 12).add(EnumTag.ROCK, 4);
- ThaumcraftApi.registerObjectTag(Config.magicCapsule.itemID, FluidType.LAVA.ordinal(), tags);
-
- for (EnumTag tag : EnumTag.values())
- {
- if (tag == EnumTag.UNKNOWN)
- {
- continue;
- }
- tags = new ObjectTags().add(tag, 1);
- ThaumcraftApi.registerObjectTag(Config.solidFlux.itemID, tag.id, tags);
- }*/
- }
- }
-
- private static void setupItemAspectsForestry()
- {
-/* ObjectTags tags;
- ItemStack itemStack;
-
- itemStack = BlockInterface.getBlock("candle");
- tags = new ObjectTags().add(EnumTag.LIGHT, 1).add(EnumTag.CONTROL, 1);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, itemStack.getItemDamage(), tags);
-
- itemStack = BlockInterface.getBlock("glass");
- tags = new ObjectTags(Block.glass.blockID, 0);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, -1, tags);
-
- // Pulsating propolis
- itemStack = ItemInterface.getItem("propolis");
- tags = new ObjectTags().add(EnumTag.CONTROL, 1);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, -1, tags);
- tags = new ObjectTags(itemStack.itemID, -1).add(EnumTag.ELDRITCH, 1);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, ForestryHelper.Propolis.PULSATING.ordinal(), tags);
-
- itemStack = ItemInterface.getItem("pollen");
- tags = new ObjectTags().add(EnumTag.FLOWER, 1).add(EnumTag.PLANT, 1);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, ForestryHelper.Pollen.NORMAL.ordinal(), tags);
- tags = new ObjectTags(itemStack.itemID, ForestryHelper.Pollen.NORMAL.ordinal()).add(EnumTag.COLD, 1);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, ForestryHelper.Pollen.CRYSTALLINE.ordinal(), tags);
-
- itemStack = ItemInterface.getItem("craftingMaterial");
- tags = new ObjectTags().add(EnumTag.ELDRITCH, 2);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, ForestryHelper.CraftingMaterial.PULSATING_MESH.ordinal(), tags);
- tags = new ObjectTags().add(EnumTag.INSECT, 1);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, ForestryHelper.CraftingMaterial.SILK_WISP.ordinal(), tags);
- tags = new ObjectTags().add(EnumTag.INSECT, 4).add(EnumTag.CLOTH, 5);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, ForestryHelper.CraftingMaterial.WOVEN_SILK.ordinal(), tags);
- tags = new ObjectTags().add(EnumTag.COLD, 1);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, ForestryHelper.CraftingMaterial.ICE_SHARD.ordinal(), tags);
- tags = new ObjectTags().add(EnumTag.VALUABLE, 1).add(EnumTag.PLANT, 1).add(EnumTag.INSECT, 2)
- .add(EnumTag.CONTROL, 2).add(EnumTag.WOOD, 2);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, ForestryHelper.CraftingMaterial.SCENTED_PANELING.ordinal(), tags);
-
- itemStack = ItemInterface.getItem("beealyzer");
- tags = new ObjectTags().add(EnumTag.VALUABLE, 3).add(EnumTag.MECHANISM, 3).add(EnumTag.METAL, 19)
- .add(EnumTag.POWER, 8).add(EnumTag.TOOL, 18);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, itemStack.getItemDamage(), tags);
-
- itemStack = ItemInterface.getItem("treealyzer");
- tags = new ObjectTags().add(EnumTag.POWER, 3).add(EnumTag.PURE, 3).add(EnumTag.LIFE, 6)
- .add(EnumTag.TOOL, 12).add(EnumTag.METAL, 19);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, itemStack.getItemDamage(), tags);
-
- itemStack = ItemInterface.getItem("apatite");
- tags = new ObjectTags().add(EnumTag.CRYSTAL, 2).add(EnumTag.POWER, 2);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, itemStack.getItemDamage(), tags);
-
- itemStack = ItemInterface.getItem("impregnatedCasing");
- tags = new ObjectTags().add(EnumTag.WOOD, 28).add(EnumTag.EXCHANGE, 8);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, itemStack.getItemDamage(), tags);
-
- itemStack = ItemInterface.getItem("stickImpregnated");
- tags = new ObjectTags().add(EnumTag.WOOD, 3).add(EnumTag.EXCHANGE, 2);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, itemStack.getItemDamage(), tags);
-
- itemStack = ItemInterface.getItem("peat");
- tags = new ObjectTags().add(EnumTag.POWER, 2).add(EnumTag.PLANT, 2);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, itemStack.getItemDamage(), tags);
-
- itemStack = ItemInterface.getItem("ash");
- tags = new ObjectTags().add(EnumTag.DESTRUCTION, 1).add(EnumTag.EXCHANGE, 1);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, itemStack.getItemDamage(), tags);
-
- itemStack = ItemInterface.getItem("honeyDrop");
- tags = new ObjectTags().add(EnumTag.EXCHANGE, 2).add(EnumTag.LIFE, 1);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, itemStack.getItemDamage(), tags);
- itemStack = ItemInterface.getItem("honeydew");
- ThaumcraftApi.registerObjectTag(itemStack.itemID, itemStack.getItemDamage(), tags);
-
- itemStack = ItemInterface.getItem("royalJelly");
- tags = new ObjectTags().add(EnumTag.INSECT, 2).add(EnumTag.POWER, 1).add(EnumTag.VALUABLE, 1);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, itemStack.getItemDamage(), tags);
-
- itemStack = ItemInterface.getItem("honeyPot");
- tags = new ObjectTags().add(EnumTag.LIFE, 2);
- ThaumcraftApi.registerComplexObjectTag(itemStack.itemID, itemStack.getItemDamage(), tags);
-
- itemStack = ItemInterface.getItem("ambrosia");
- tags = new ObjectTags().add(EnumTag.HEAL, 4);
- ThaumcraftApi.registerComplexObjectTag(itemStack.itemID, itemStack.getItemDamage(), tags);
-
- itemStack = ItemInterface.getItem("beeswax");
- tags = new ObjectTags().add(EnumTag.CONTROL, 1);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, itemStack.getItemDamage(), tags);
- itemStack = ItemInterface.getItem("refractoryWax");
- tags = new ObjectTags().add(EnumTag.FIRE, 3);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, itemStack.getItemDamage(), tags);
- itemStack = ItemInterface.getItem("phosphor");
- tags = new ObjectTags().add(EnumTag.FIRE, 2).add(EnumTag.DESTRUCTION, 1);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, itemStack.getItemDamage(), tags);
-
- itemStack = ItemInterface.getItem("waxCapsule");
- tags = new ObjectTags().add(EnumTag.CONTROL, 1).add(EnumTag.VOID, 1);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, itemStack.getItemDamage(), tags);
- itemStack = ItemInterface.getItem("waxCapsuleWater");
- tags = new ObjectTags().add(EnumTag.CONTROL, 1).add(EnumTag.VOID, 1).add(EnumTag.WATER, 4);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, itemStack.getItemDamage(), tags);
-
- itemStack = ItemInterface.getItem("refractoryEmpty");
- tags = new ObjectTags().add(EnumTag.FIRE, 1).add(EnumTag.CONTROL, 1).add(EnumTag.VOID, 1);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, itemStack.getItemDamage(), tags);
- itemStack = ItemInterface.getItem("refractoryWater");
- tags = new ObjectTags().add(EnumTag.FIRE, 1).add(EnumTag.VOID, 1).add(EnumTag.WATER, 4);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, itemStack.getItemDamage(), tags);
- itemStack = ItemInterface.getItem("refractoryLava");
- tags = new ObjectTags().add(EnumTag.VOID, 1).add(EnumTag.FIRE, 7).add(EnumTag.WATER, 1).add(EnumTag.ROCK, 2);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, itemStack.getItemDamage(), tags);
-
- itemStack = ItemInterface.getItem("canEmpty");
- tags = new ObjectTags().add(EnumTag.METAL, 1).add(EnumTag.VOID, 1);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, itemStack.getItemDamage(), tags);
- itemStack = ItemInterface.getItem("canWater");
- tags = new ObjectTags().add(EnumTag.METAL, 1).add(EnumTag.VOID, 1).add(EnumTag.WATER, 4);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, itemStack.getItemDamage(), tags);
- itemStack = ItemInterface.getItem("canLava");
- tags = new ObjectTags().add(EnumTag.METAL, 1).add(EnumTag.VOID, 1).add(EnumTag.FIRE, 6).add(EnumTag.WATER, 1).add(EnumTag.ROCK, 2);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, itemStack.getItemDamage(), tags);
-
- itemStack = ItemInterface.getItem("beeComb");
- tags = new ObjectTags().add(EnumTag.INSECT, 2).add(EnumTag.TRAP, 2);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, -1, tags);
- tags = new ObjectTags(itemStack.itemID, -1).add(EnumTag.FIRE, 2);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, ForestryHelper.Comb.SIMMERING.ordinal(), tags);
- tags = new ObjectTags(itemStack.itemID, -1).add(EnumTag.COLD, 2);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, ForestryHelper.Comb.FROZEN.ordinal(), tags);
- tags = new ObjectTags(itemStack.itemID, -1).add(EnumTag.CROP, 2);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, ForestryHelper.Comb.WHEATEN.ordinal(), tags);
- tags = new ObjectTags(itemStack.itemID, -1).add(EnumTag.FUNGUS, 2);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, ForestryHelper.Comb.MOSSY.ordinal(), tags);
-
- itemStack = ItemInterface.getItem("ambrosia");
- tags = new ObjectTags().add(EnumTag.LIFE, 2).add(EnumTag.HEAL, 4);
-
- // Forestry's wood
- itemStack = BlockInterface.getBlock("log1");
- tags = new ObjectTags().add(EnumTag.WOOD, 4);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, -1, tags);
- itemStack = BlockInterface.getBlock("log2"); // Same tags
- ThaumcraftApi.registerObjectTag(itemStack.itemID, -1, tags);
- itemStack = BlockInterface.getBlock("log3"); // Same tags.
- ThaumcraftApi.registerObjectTag(itemStack.itemID, -1, tags);
- itemStack = BlockInterface.getBlock("log4"); // Still same tags.
- ThaumcraftApi.registerObjectTag(itemStack.itemID, -1, tags);
-
- itemStack = ItemInterface.getItem("sapling");
- tags = new ObjectTags().add(EnumTag.PLANT, 4).add(EnumTag.WOOD, 1);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, -1, tags);
-
- // BEES!
- itemStack = ItemInterface.getItem("beeDroneGE");
- tags = new ObjectTags().add(EnumTag.INSECT, 1).add(EnumTag.FLIGHT, 2);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, -1, tags); // All drones
-
- tags = new ObjectTags(itemStack.itemID, -1).add(EnumTag.VALUABLE, 4); // Get drone tags & add valuable
- itemStack = ItemInterface.getItem("beePrincessGE");
- ThaumcraftApi.registerObjectTag(itemStack.itemID, -1, tags); // All princesses.
-
- tags = new ObjectTags().add(EnumTag.VALUABLE, 8).add(EnumTag.INSECT, 2).add(EnumTag.FLIGHT, 4);
- itemStack = ItemInterface.getItem("beeQueenGE");
- ThaumcraftApi.registerObjectTag(itemStack.itemID, -1, tags); //All queens.
-
- itemStack = ItemInterface.getItem("circuitboards");
- tags = new ObjectTags().add(EnumTag.CRYSTAL, 2).add(EnumTag.METAL, 5).add(EnumTag.MECHANISM, 10)
- .add(EnumTag.POWER, 10);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, ForestryHelper.CircuitBoard.BASIC.ordinal(), tags);
- tags = new ObjectTags().add(EnumTag.MECHANISM, 10).add(EnumTag.POWER, 10).add(EnumTag.METAL, 14)
- .add(EnumTag.CONTROL, 2).add(EnumTag.EXCHANGE, 2);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, ForestryHelper.CircuitBoard.ENHANCED.ordinal(), tags);
- tags = new ObjectTags().add(EnumTag.MECHANISM, 10).add(EnumTag.POWER, 10).add(EnumTag.METAL, 14);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, ForestryHelper.CircuitBoard.REFINED.ordinal(), tags);
- tags = new ObjectTags().add(EnumTag.MECHANISM, 10).add(EnumTag.POWER, 10).add(EnumTag.METAL, 19)
- .add(EnumTag.VALUABLE, 10);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, ForestryHelper.CircuitBoard.INTRICATE.ordinal(), tags);
-
- itemStack = ItemInterface.getItem("tubes");
- tags = new ObjectTags(ItemInterface.getItem("ingotCopper").itemID, 0).add(EnumTag.MECHANISM, 1).add(EnumTag.POWER, 1);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, ForestryHelper.Tube.COPPER.ordinal(), tags);
- tags = new ObjectTags(ItemInterface.getItem("ingotTin").itemID, 0).add(EnumTag.MECHANISM, 1).add(EnumTag.POWER, 1);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, ForestryHelper.Tube.TIN.ordinal(), tags);
- tags = new ObjectTags(ItemInterface.getItem("ingotBronze").itemID, 0).add(EnumTag.MECHANISM, 1).add(EnumTag.POWER, 1);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, ForestryHelper.Tube.BRONZE.ordinal(), tags);
- tags = new ObjectTags(Item.ingotIron.itemID, 0).add(EnumTag.MECHANISM, 1).add(EnumTag.POWER, 1);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, ForestryHelper.Tube.IRON.ordinal(), tags);
- tags = new ObjectTags(Item.ingotGold.itemID, 0).add(EnumTag.MECHANISM, 1).add(EnumTag.POWER, 1);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, ForestryHelper.Tube.GOLD.ordinal(), tags);
- tags = new ObjectTags(Item.diamond.itemID, 0).add(EnumTag.MECHANISM, 1).add(EnumTag.POWER, 1);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, ForestryHelper.Tube.DIAMOND.ordinal(), tags);
- tags = new ObjectTags(Block.obsidian.blockID, 0).add(EnumTag.MECHANISM, 1).add(EnumTag.POWER, 1);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, ForestryHelper.Tube.OBSIDIAN.ordinal(), tags);
- tags = new ObjectTags(Item.blazePowder.itemID, 0).add(EnumTag.MECHANISM, 1).add(EnumTag.POWER, 1);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, ForestryHelper.Tube.BLAZE.ordinal(), tags);
- tags = new ObjectTags().add(EnumTag.MOTION, 2).add(EnumTag.CONTROL, 2).add(EnumTag.MECHANISM, 1).add(EnumTag.POWER, 1);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, ForestryHelper.Tube.RUBBER.ordinal(), tags);
- tags = new ObjectTags(Item.emerald.itemID, 0).add(EnumTag.MECHANISM, 1).add(EnumTag.POWER, 1);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, ForestryHelper.Tube.EMERALD.ordinal(), tags);
- tags = new ObjectTags(ItemInterface.getItem("apatite").itemID, 0).add(EnumTag.MECHANISM, 1).add(EnumTag.POWER, 1);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, ForestryHelper.Tube.APATITE.ordinal(), tags);
- tags = new ObjectTags(Item.dyePowder.itemID, 4).add(EnumTag.MECHANISM, 1).add(EnumTag.POWER, 1);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, ForestryHelper.Tube.LAPIS.ordinal(), tags); */
- }
-
- private static void setupItemAspectsExtraBees()
- {
- /*ItemStack itemStack;
- ObjectTags tags;
-
- try // One try block suffices. If we can't get one item, it's probably safe to assume we can't get any others.
- {
- itemStack = ExtraBeesHelper.getExtraBeeItem("comb");
- tags = new ObjectTags().add(EnumTag.INSECT, 2).add(EnumTag.TRAP, 2);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, -1, tags);
- tags = new ObjectTags(itemStack.itemID, -1).add(EnumTag.POWER, 2);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, ExtraBeesHelper.CombType.OIL.ordinal(), tags);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, ExtraBeesHelper.CombType.COAL.ordinal(), tags);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, ExtraBeesHelper.CombType.FUEL.ordinal(), tags);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, ExtraBeesHelper.CombType.ALCOHOL.ordinal(), tags);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, ExtraBeesHelper.CombType.REDSTONE.ordinal(), tags);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, ExtraBeesHelper.CombType.URANIUM.ordinal(), tags);
- tags = new ObjectTags(itemStack.itemID, -1).add(EnumTag.POISON, 2);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, ExtraBeesHelper.CombType.VENOMOUS.ordinal(), tags);
-
- itemStack = ExtraBeesHelper.getExtraBeeItem("propolis");
- tags = new ObjectTags().add(EnumTag.CONTROL, 1);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, -1, tags);
-
- itemStack = ExtraBeesHelper.getExtraBeeItem("honeyDrop");
- tags = new ObjectTags().add(EnumTag.EXCHANGE, 2).add(EnumTag.LIFE, 1);
- ThaumcraftApi.registerObjectTag(itemStack.itemID, -1, tags);
- }
- catch (NullPointerException e) { }*/
- }
-
public static void setupResearch()
{
- if (isActive())
- {
- /*ObjectTags tags;
-
- tags = new ObjectTags().add(EnumTag.WOOD, 10).add(EnumTag.PLANT, 10).add(EnumTag.INSECT, 10);
- ResearchItem startNode = new ResearchItem("BEESTARTNODE", tags, 10, 1, Config.miscResources.getStackForType(ResourceType.RESEARCH_STARTNODE))
- .setParents(ResearchList.getResearch("UTFT"))
- .registerResearchItem();
-
- tags = new ObjectTags().add(EnumTag.CROP, 15).add(EnumTag.EARTH, 15).add(EnumTag.WATER, 15);
- ResearchItem fertilizer = new ResearchItem("FERTILIZER", tags, 16, 0, ItemInterface.getItem("apatite"))
- .setParents(startNode)
- .registerResearchItem();
-
- tags = new ObjectTags().add(EnumTag.TOOL, 6).add(EnumTag.INSECT, 10).add(EnumTag.BEAST, 2)
- .add(EnumTag.MAGIC, 5);
- ResearchItem magicFrame = new ResearchItem("HIVEFRAME", tags, 10, -2, Config.hiveFrameMagic)
- .setParents(startNode)
- .registerResearchItem();
-
- tags = new ObjectTags().add(EnumTag.TOOL, 5).add(EnumTag.INSECT, 10).add(EnumTag.ARMOR, 5).add(EnumTag.EXCHANGE, 6)
- .add(EnumTag.MAGIC, 8);
- ResearchItem magicFrame2 = new ResearchItem("HIVEFRAME2", tags, 8, -2, Config.hiveFrameResilient)
- .setParents(magicFrame).setHidden()
- .registerResearchItem();
-
- tags = new ObjectTags().add(EnumTag.TOOL, 4).add(EnumTag.INSECT, 10).add(EnumTag.LIFE, 5).add(EnumTag.EXCHANGE, 6)
- .add(EnumTag.FLOWER, 6);
- ResearchItem gentleFrame = new ResearchItem("HIVEFRAMEGENTLE", tags, 12, -2, Config.hiveFrameGentle)
- .setParents(magicFrame).setHidden()
- .registerResearchItem();
-
- tags = new ObjectTags().add(EnumTag.TOOL, 4).add(EnumTag.INSECT, 10).add(EnumTag.LIFE, 6).add(EnumTag.EXCHANGE, 8)
- .add(EnumTag.MAGIC, 8).add(EnumTag.MOTION, 4);
- ResearchItem metabolicFrame = new ResearchItem("HIVEFRAMEMETA", tags, 9, -3, Config.hiveFrameMetabolic)
- .setParents(magicFrame).setHidden()
- .registerResearchItem();
-
- tags = new ObjectTags().add(EnumTag.TOOL, 5).add(EnumTag.INSECT, 10).add(EnumTag.DEATH, 15).add(EnumTag.EXCHANGE, 6)
- .add(EnumTag.MAGIC, 8).add(EnumTag.POISON, 6);
- ResearchItem necroticFrame = new ResearchItem("HIVEFRAMENECRO", tags, 11, -3, Config.hiveFrameNecrotic)
- .setParents(magicFrame).setHidden()
- .registerResearchItem();
-
- tags = new ObjectTags().add(EnumTag.TOOL, 5).add(EnumTag.INSECT, 10).add(EnumTag.TIME, 4);
- ResearchItem temporalFrame = new ResearchItem("HIVEFRAMETIME", tags, 9, -5, Config.hiveFrameTemporal)
- .setParents(magicFrame).setHidden()
- .registerResearchItem();
-
- tags = new ObjectTags().add(EnumTag.VOID, 15).add(EnumTag.CRYSTAL, 8).add(EnumTag.ELDRITCH, 8).add(EnumTag.EXCHANGE, 15);
- ResearchItem voidCapsule = new ResearchItem("VOIDCAPSULE", tags, 10, 9, Config.voidCapsule)
- .setParents(startNode, ResearchList.getResearch("PORTABLEHOLE")).setHidden()
- .registerResearchItem();
-
- tags = new ObjectTags().add(EnumTag.WOOD, 8).add(EnumTag.INSECT, 10).add(EnumTag.TOOL, 6).add(EnumTag.MAGIC, 6);
- ResearchItem scoop = new ResearchItem("THAUMIUMSCOOP", tags, 0, -3, Config.thaumiumScoop)
- .setParents(ResearchList.getResearch("THAUMIUM"))
- .registerResearchItem();
-
- tags = new ObjectTags().add(EnumTag.WOOD, 16).add(EnumTag.PLANT, 20).add(EnumTag.TOOL, 6).add(EnumTag.MAGIC, 6);
- ResearchItem grafter = new ResearchItem("THAUMIUMGRAFTER", tags, 0, -4, Config.thaumiumGrafter)
- .setParents(scoop)
- .registerResearchItem();*/
- }
- }
-
- private static void registerResearchXML()
- {
- if (isActive())
- {
- //ThaumcraftApi.registerResearchXML(CommonProxy.TCBEES_RESEARCH + "research.xml");
- }
- }
-
- public static void setupThaumcraftCrafting()
- {
- /*ItemStack input;
- ItemStack output;
+ ResearchCategories.registerCategory("MAGICBEES", new ResourceLocation("magicbees", CommonProxy.ITEM_TEXTURE + "beeInfusion.png"), new ResourceLocation("thaumcraft", "textures/gui/gui_researchback.png"));
- if (MagicBees.getConfig().UseImpregnatedStickInTools)
- {
- input = ItemInterface.getItem("stickImpregnated");
- }
- else
- {
- input = new ItemStack(Item.stick);
- }
-
- ThaumcraftApi.addArcaneCraftingRecipe("THAUMIUMSCOOP", "THAUMIUMSCOOP", 20, new ItemStack(Config.thaumiumScoop), new Object[] {
- "sWs", "sTs", " T ",
- 's', input,
- 'W', Block.cloth,
- 'T', new ItemStack(Config.tcMiscResource, 1, ThaumcraftHelper.MiscResource.THAUMIUM.ordinal())
- });
-
- ThaumcraftApi.addArcaneCraftingRecipe("THAUMIUMGRAFTER", "THAUMIUMGRAFTER", 160, new ItemStack(Config.thaumiumGrafter), new Object[] {
- " T", " T ", "s ",
- 's', input,
- 'T', new ItemStack(Config.tcMiscResource, 1, ThaumcraftHelper.MiscResource.THAUMIUM.ordinal())
- });
-
- output = Config.miscResources.getStackForType(ResourceType.EXTENDED_FERTILIZER);
- input = ItemInterface.getItem("apatite");
- ObjectTags tags = (new ObjectTags()).add(EnumTag.CROP, 12);
- output.stackSize = 2;
- ThaumcraftApi.addShapelessInfusionCraftingRecipe("FERTILIZER", "FERTILIZER", 5, tags, output, new Object[] {
- input
- });
-
- output = new ItemStack(Config.hiveFrameMagic);
- input = ItemInterface.getItem("frameUntreated");
- tags = new ObjectTags().add(EnumTag.WOOD, 4).add(EnumTag.MAGIC, 2);
- ThaumcraftApi.addShapelessInfusionCraftingRecipe("HIVEFRAME", "FRAMEMAGIC", 20, tags, output, new Object[] {
- input
- });
-
- output = new ItemStack(Config.hiveFrameResilient);
- tags = new ObjectTags().add(EnumTag.WOOD, 12).add(EnumTag.MAGIC, 2).add(EnumTag.EXCHANGE, 8);
- ThaumcraftApi.addInfusionCraftingRecipe("HIVEFRAME2", "FRAMERESILIENT", 35, tags, output, new Object[] {
- "ifi",
- 'f', Config.hiveFrameMagic,
- 'i', Item.ingotIron
- });
-
- output = new ItemStack(Config.hiveFrameGentle);
- tags = new ObjectTags().add(EnumTag.WOOD, 4).add(EnumTag.MAGIC, 2).add(EnumTag.LIFE, 8);
- ThaumcraftApi.addInfusionCraftingRecipe("HIVEFRAMEGENTLE", "FRAMEGENTLE", 35, tags, output, new Object[] {
- " w ", "wFw", " w ",
- 'F', input,
- 'w', ItemInterface.getItem("beeswax")
-
- });
-
- output = new ItemStack(Config.hiveFrameMetabolic);
- tags = new ObjectTags().add(EnumTag.WOOD, 6).add(EnumTag.MAGIC, 2).add(EnumTag.LIFE, 4).add(EnumTag.EXCHANGE, 8);
- ThaumcraftApi.addShapelessInfusionCraftingRecipe("HIVEFRAMEMETA", "FRAMEMETABOLIC", 50, tags, output, new Object[] {
- Item.magmaCream,
- input
- });
-
- output = new ItemStack(Config.hiveFrameNecrotic);
- tags = new ObjectTags().add(EnumTag.WOOD, 6).add(EnumTag.MAGIC, 2).add(EnumTag.EXCHANGE, 12).add(EnumTag.DEATH, 8);
- ThaumcraftApi.addInfusionCraftingRecipe("HIVEFRAMENECRO", "FRAMENECROTIC", 35, tags, output, new Object[] {
- "SxS",
- 'S', Item.rottenFlesh,
- 'x', input
- });
-
- output = new ItemStack(Config.hiveFrameTemporal);
- tags = new ObjectTags().add(EnumTag.WOOD, 6).add(EnumTag.MAGIC, 2).add(EnumTag.TIME, 1);
- ThaumcraftApi.addInfusionCraftingRecipe("HIVEFRAMETIME", "FRAMETIME", 50, tags, output, new Object[] {
- "tSt", "SFS", "tSt",
- 't', Item.stick,
- 'S', Block.sand,
- 'F', input
- });
-
- output = Config.voidCapsule.getCapsuleForLiquid(FluidType.EMPTY);
- output.stackSize = 4;
- tags = new ObjectTags().add(EnumTag.VOID, 16).add(EnumTag.ELDRITCH, 2).add(EnumTag.EXCHANGE, 8);
- ThaumcraftApi.addInfusionCraftingRecipe("VOIDCAPSULE", "VOIDCAPSULE", 10, tags, output, new Object[] {
- " G ", "GPG", "TGT",
- 'G', Block.thinGlass,
- 'P', Item.enderPearl,
- 'T', Item.ingotIron
- });
-
- ItemStack drone = BeeGenomeManager.getBeeNBTForSpecies(BeeSpecies.TC_STARK, EnumBeeType.DRONE);
- ItemStack princess = BeeGenomeManager.getBeeNBTForSpecies(BeeSpecies.TC_STARK, EnumBeeType.PRINCESS);
-
- String researchKey = "BEEINFUSION";
-
- tags = (new ObjectTags()).add(EnumTag.WIND, 40).add(EnumTag.MOTION, 24);
- ShapelessBeeInfusionCraftingRecipe.createNewRecipe(researchKey, "BEEINFUSION1", BeeSpecies.TC_AIR.getBeeItem(EnumBeeType.DRONE),
- new ItemStack[] { drone, new ItemStack(Config.tcShard, 1, ThaumcraftHelper.ShardType.AIR.ordinal())},
- 100, tags, BeeSpecies.TC_STARK, EnumBeeChromosome.SPECIES);
- ShapelessBeeInfusionCraftingRecipe.createNewRecipe(researchKey, "BEEINFUSION2", BeeSpecies.TC_AIR.getBeeItem(EnumBeeType.PRINCESS),
- new ItemStack[] { princess , new ItemStack(Config.tcShard, 1, ThaumcraftHelper.ShardType.AIR.ordinal()) },
- 100, tags, BeeSpecies.TC_STARK, EnumBeeChromosome.SPECIES);
-
- tags = (new ObjectTags()).add(EnumTag.FIRE, 40).add( EnumTag.POWER, 24);
- ShapelessBeeInfusionCraftingRecipe.createNewRecipe(researchKey, "BEEINFUSION3", BeeSpecies.TC_FIRE.getBeeItem(EnumBeeType.DRONE), new Object[]
- { drone, new ItemStack(Config.tcShard, 1, ThaumcraftHelper.ShardType.FIRE.ordinal()) },
- 100, tags, BeeSpecies.TC_STARK, EnumBeeChromosome.SPECIES);
- ShapelessBeeInfusionCraftingRecipe.createNewRecipe(researchKey, "BEEINFUSION4", BeeSpecies.TC_FIRE.getBeeItem(EnumBeeType.PRINCESS), new Object[]
- { princess, new ItemStack(Config.tcShard, 1, ThaumcraftHelper.ShardType.FIRE.ordinal()) },
- 100, tags, BeeSpecies.TC_STARK, EnumBeeChromosome.SPECIES);
-
- tags = (new ObjectTags()).add(EnumTag.WATER, 40).add( EnumTag.COLD, 24);
- ShapelessBeeInfusionCraftingRecipe.createNewRecipe(researchKey, "BEEINFUSION5", BeeSpecies.TC_WATER.getBeeItem(EnumBeeType.DRONE), new Object[]
- { drone, new ItemStack(Config.tcShard, 1, ThaumcraftHelper.ShardType.WATER.ordinal()) },
- 100, tags, BeeSpecies.TC_STARK, EnumBeeChromosome.SPECIES);
- ShapelessBeeInfusionCraftingRecipe.createNewRecipe(researchKey, "BEEINFUSION6", BeeSpecies.TC_WATER.getBeeItem(EnumBeeType.PRINCESS), new Object[]
- { princess, new ItemStack(Config.tcShard, 1, ThaumcraftHelper.ShardType.WATER.ordinal()) },
- 100, tags, BeeSpecies.TC_STARK, EnumBeeChromosome.SPECIES);
-
- tags = (new ObjectTags()).add(EnumTag.EARTH, 40).add( EnumTag.ROCK, 24);
- ShapelessBeeInfusionCraftingRecipe.createNewRecipe(researchKey, "BEEINFUSION7", BeeSpecies.TC_EARTH.getBeeItem(EnumBeeType.DRONE), new Object[]
- { drone, new ItemStack(Config.tcShard, 1, ThaumcraftHelper.ShardType.EARTH.ordinal()) },
- 100, tags, BeeSpecies.TC_STARK, EnumBeeChromosome.SPECIES);
- ShapelessBeeInfusionCraftingRecipe.createNewRecipe(researchKey, "BEEINFUSION8", BeeSpecies.TC_EARTH.getBeeItem(EnumBeeType.PRINCESS), new Object[]
- { princess, new ItemStack(Config.tcShard, 1, ThaumcraftHelper.ShardType.EARTH.ordinal()) },
- 100, tags, BeeSpecies.TC_STARK, EnumBeeChromosome.SPECIES);
-
- tags = new ObjectTags().add(EnumTag.MAGIC, 40).add(EnumTag.FLUX, 24);
- ShapelessBeeInfusionCraftingRecipe.createNewRecipe(researchKey, "BEEINFUSION9", BeeSpecies.TC_MAGIC.getBeeItem(EnumBeeType.DRONE), new Object[]
- { drone, new ItemStack(Config.tcShard, 1, ThaumcraftHelper.ShardType.MAGIC.ordinal()) },
- 100, tags, BeeSpecies.TC_STARK, EnumBeeChromosome.SPECIES);
- ShapelessBeeInfusionCraftingRecipe.createNewRecipe(researchKey, "BEEINFUSION0", BeeSpecies.TC_MAGIC.getBeeItem(EnumBeeType.PRINCESS), new Object[]
- { princess, new ItemStack(Config.tcShard, 1, ThaumcraftHelper.ShardType.MAGIC.ordinal()) },
- 100, tags, BeeSpecies.TC_STARK, EnumBeeChromosome.SPECIES);*/
+ ResearchItem startNode = new ResearchItem("MAGICBEES_ROOT", "MAGICBEES", new AspectList(), 0, 0, 0,
+ Config.miscResources.getStackForType(ResourceType.RESEARCH_BEEINFUSION))
+ .setAutoUnlock()
+ .setPages(new ResearchPage[] { new ResearchPage("mb.researchPage.MBRoot.1") })
+ .registerResearchItem();
}
}