mirror of
https://github.com/GTNewHorizons/MagicBees.git
synced 2026-11-13 16:54:08 +00:00
Fucktons of refactoring.
*Moving ItemManager & BlockManager functionality into Config object. *New CraftingManager to hold all the crafting stuff *Shuffling some classes around in packages and whatnot. *Switching to use the ItemInterface provided by Thaumcraft's API rather than reading configs. *New texture stuff for a magic apiary.
This commit is contained in:
1 parent
827199b518
commit
6a26bec4e1
21 files changed
+754
-750
No files matched your search
Binary file not shown.
|
Before Width: | Height: | Size: 7.9 KiB After Width: | Height: | Size: 59 KiB |
+4
-1
@@ -1,5 +1,8 @@
|
||||
package thaumicbees.bees.genetics;
|
||||
package thaumicbees.bees;
|
||||
|
||||
import thaumicbees.bees.genetics.Allele;
|
||||
import thaumicbees.bees.genetics.AlleleFlower;
|
||||
import thaumicbees.bees.genetics.BeeSpecies;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.nbt.NBTTagList;
|
||||
@@ -22,16 +22,21 @@ import thaumicbees.bees.genetics.AlleleEffectSpawnMob;
|
||||
import thaumicbees.bees.genetics.AlleleEffectSpawnWisp;
|
||||
import thaumicbees.bees.genetics.AlleleFlower;
|
||||
import thaumicbees.bees.genetics.AlleleInteger;
|
||||
import thaumicbees.bees.genetics.BeeGenomeManager;
|
||||
import thaumicbees.bees.genetics.BeeMutation;
|
||||
import thaumicbees.bees.genetics.BeeSpecies;
|
||||
import thaumicbees.bees.genetics.FlowerProviderAuraNode;
|
||||
import thaumicbees.bees.genetics.FlowerProviderAuraNodeFlux;
|
||||
import thaumicbees.bees.genetics.FlowerProviderAuraNodePurify;
|
||||
import thaumicbees.bees.genetics.FlowerProviderBookshelf;
|
||||
import thaumicbees.bees.genetics.FlowerProviderThaumcraftFlower;
|
||||
import thaumicbees.item.ItemComb;
|
||||
import thaumicbees.item.ItemManager;
|
||||
import thaumicbees.item.types.CombType;
|
||||
import thaumicbees.item.types.DropType;
|
||||
import thaumicbees.item.types.PollenType;
|
||||
import thaumicbees.item.types.ResourceType;
|
||||
import thaumicbees.main.Config;
|
||||
import thaumicbees.main.ThaumicBees;
|
||||
import thaumicbees.main.utils.MoonPhase;
|
||||
import thaumicbees.thaumcraft.TCEntity;
|
||||
import thaumicbees.thaumcraft.TCMiscResource;
|
||||
import thaumicbees.thaumcraft.TCShardType;
|
||||
@@ -115,7 +120,7 @@ public class TBBeeManager
|
||||
"secretiore", occult, 0,
|
||||
0x001099, 0xcc763c, EnumTemperature.NORMAL, EnumHumidity.NORMAL,
|
||||
false, hideSpecies, true, true);
|
||||
Allele.Esoteric.addProduct(ItemManager.combs.getStackForType(CombType.OCCULT), 20);
|
||||
Allele.Esoteric.addProduct(Config.combs.getStackForType(CombType.OCCULT), 20);
|
||||
Allele.Esoteric.setGenome(BeeGenomeManager.getTemplateEsoteric());
|
||||
occult.addMemberSpecies(Allele.Esoteric);
|
||||
breedingMgr.registerBeeTemplate(Allele.Esoteric.getGenome());
|
||||
@@ -124,7 +129,7 @@ public class TBBeeManager
|
||||
"mysticus", occult, 0,
|
||||
0x762bc2, defaultBodyColour, EnumTemperature.NORMAL, EnumHumidity.NORMAL,
|
||||
false, hideSpecies, true, true);
|
||||
Allele.Mysterious.addProduct(ItemManager.combs.getStackForType(CombType.OCCULT), 25);
|
||||
Allele.Mysterious.addProduct(Config.combs.getStackForType(CombType.OCCULT), 25);
|
||||
Allele.Mysterious.setGenome(BeeGenomeManager.getTemplateMysterious());
|
||||
occult.addMemberSpecies(Allele.Mysterious);
|
||||
breedingMgr.registerBeeTemplate(Allele.Mysterious.getGenome());
|
||||
@@ -133,8 +138,8 @@ public class TBBeeManager
|
||||
"arcanus", occult, 0,
|
||||
0xd242df, defaultBodyColour, EnumTemperature.NORMAL, EnumHumidity.NORMAL,
|
||||
true, hideSpecies, true, true);
|
||||
Allele.Arcane.addProduct(ItemManager.combs.getStackForType(CombType.OCCULT), 30);
|
||||
Allele.Arcane.addSpecialty(ItemManager.drops.getStackForType(DropType.ENCHANTED, 1), 9);
|
||||
Allele.Arcane.addProduct(Config.combs.getStackForType(CombType.OCCULT), 30);
|
||||
Allele.Arcane.addSpecialty(Config.drops.getStackForType(DropType.ENCHANTED, 1), 9);
|
||||
Allele.Arcane.setGenome(BeeGenomeManager.getTemplateArcane());
|
||||
occult.addMemberSpecies(Allele.Arcane);
|
||||
breedingMgr.registerBeeTemplate(Allele.Arcane.getGenome());
|
||||
@@ -146,7 +151,7 @@ public class TBBeeManager
|
||||
"larvatus", otherworldly, 0,
|
||||
0x48EEEC, defaultBodyColour, EnumTemperature.NORMAL, EnumHumidity.NORMAL,
|
||||
false, hideSpecies, true, true);
|
||||
Allele.Charmed.addProduct(ItemManager.combs.getStackForType(CombType.OTHERWORLDLY), 20);
|
||||
Allele.Charmed.addProduct(Config.combs.getStackForType(CombType.OTHERWORLDLY), 20);
|
||||
Allele.Charmed.setGenome(BeeGenomeManager.getTemplateCharmed());
|
||||
otherworldly.addMemberSpecies(Allele.Charmed);
|
||||
breedingMgr.registerBeeTemplate(Allele.Charmed.getGenome());
|
||||
@@ -155,7 +160,7 @@ public class TBBeeManager
|
||||
"cantatus", otherworldly, 0,
|
||||
0x18e726, defaultBodyColour, EnumTemperature.NORMAL, EnumHumidity.NORMAL,
|
||||
false, hideSpecies, true, true);
|
||||
Allele.Enchanted.addProduct(ItemManager.combs.getStackForType(CombType.OTHERWORLDLY), 30);
|
||||
Allele.Enchanted.addProduct(Config.combs.getStackForType(CombType.OTHERWORLDLY), 30);
|
||||
Allele.Enchanted.setGenome(BeeGenomeManager.getTemplateEnchanted());
|
||||
otherworldly.addMemberSpecies(Allele.Enchanted);
|
||||
breedingMgr.registerBeeTemplate(Allele.Enchanted.getGenome());
|
||||
@@ -164,8 +169,8 @@ public class TBBeeManager
|
||||
"coeleste", otherworldly, 0,
|
||||
0x005614, defaultBodyColour, EnumTemperature.NORMAL, EnumHumidity.NORMAL,
|
||||
true, hideSpecies, true, true);
|
||||
Allele.Supernatural.addProduct(ItemManager.combs.getStackForType(CombType.OTHERWORLDLY), 40);
|
||||
Allele.Supernatural.addSpecialty(ItemManager.pollen.getStackForType(PollenType.UNUSUAL), 8);
|
||||
Allele.Supernatural.addProduct(Config.combs.getStackForType(CombType.OTHERWORLDLY), 40);
|
||||
Allele.Supernatural.addSpecialty(Config.pollen.getStackForType(PollenType.UNUSUAL), 8);
|
||||
Allele.Supernatural.setGenome(BeeGenomeManager.getTemplateSupernatural());
|
||||
otherworldly.addMemberSpecies(Allele.Supernatural);
|
||||
breedingMgr.registerBeeTemplate(Allele.Supernatural.getGenome());
|
||||
@@ -177,7 +182,7 @@ public class TBBeeManager
|
||||
"disciplina", learned, 0,
|
||||
0xFFFF00, defaultBodyColour, EnumTemperature.NORMAL, EnumHumidity.ARID,
|
||||
false, hideSpecies, true, true);
|
||||
Allele.Pupil.addProduct(ItemManager.combs.getStackForType(CombType.PAPERY), 20);
|
||||
Allele.Pupil.addProduct(Config.combs.getStackForType(CombType.PAPERY), 20);
|
||||
Allele.Pupil.setGenome(BeeGenomeManager.getTemplatePupil());
|
||||
learned.addMemberSpecies(Allele.Pupil);
|
||||
breedingMgr.registerBeeTemplate(Allele.Pupil.getGenome());
|
||||
@@ -186,8 +191,8 @@ public class TBBeeManager
|
||||
"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.LORE_FRAGMENT), 2);
|
||||
Allele.Scholarly.addProduct(Config.combs.getStackForType(CombType.PAPERY), 25);
|
||||
Allele.Scholarly.addSpecialty(Config.miscResources.getStackForType(ResourceType.LORE_FRAGMENT), 2);
|
||||
Allele.Scholarly.setGenome(BeeGenomeManager.getTemplateScholarly());
|
||||
learned.addMemberSpecies(Allele.Scholarly);
|
||||
breedingMgr.registerBeeTemplate(Allele.Scholarly.getGenome());
|
||||
@@ -196,8 +201,8 @@ public class TBBeeManager
|
||||
"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.LORE_FRAGMENT), 5);
|
||||
Allele.Savant.addProduct(Config.combs.getStackForType(CombType.PAPERY), 40);
|
||||
Allele.Savant.addSpecialty(Config.miscResources.getStackForType(ResourceType.LORE_FRAGMENT), 5);
|
||||
Allele.Savant.setGenome(BeeGenomeManager.getTemplateSavant());
|
||||
learned.addMemberSpecies(Allele.Savant);
|
||||
breedingMgr.registerBeeTemplate(Allele.Savant.getGenome());
|
||||
@@ -209,7 +214,7 @@ public class TBBeeManager
|
||||
"torridae", magical, 0,
|
||||
0xCCCCCC, 0x999999, EnumTemperature.NORMAL, EnumHumidity.NORMAL,
|
||||
true, hideSpecies, true, false);
|
||||
Allele.Stark.addProduct(ItemManager.combs.getStackForType(CombType.STARK), 10);
|
||||
Allele.Stark.addProduct(Config.combs.getStackForType(CombType.STARK), 10);
|
||||
Allele.Stark.setGenome(BeeGenomeManager.getTemplateStark());
|
||||
breedingMgr.registerBeeTemplate(Allele.Stark.getGenome());
|
||||
|
||||
@@ -218,8 +223,8 @@ public class TBBeeManager
|
||||
"ventosa", magical, 0,
|
||||
0xD9D636, 0xA19E10, EnumTemperature.NORMAL, EnumHumidity.NORMAL,
|
||||
true, hideSpecies, true, true);
|
||||
Allele.Air.addProduct(ItemManager.combs.getStackForType(CombType.AIRY), 9);
|
||||
Allele.Air.addSpecialty(new ItemStack(ItemManager.tcMiscResource, 1, TCMiscResource.QUICKSILVER.ordinal()), 2);
|
||||
Allele.Air.addProduct(Config.combs.getStackForType(CombType.AIRY), 9);
|
||||
Allele.Air.addSpecialty(new ItemStack(Config.tcMiscResource, 1, TCMiscResource.QUICKSILVER.ordinal()), 2);
|
||||
Allele.Air.setGenome(BeeGenomeManager.getTemplateAir());
|
||||
breedingMgr.registerBeeTemplate(Allele.Air.getGenome());
|
||||
|
||||
@@ -227,7 +232,7 @@ public class TBBeeManager
|
||||
"praefervidus", magical, 0,
|
||||
0xE50B0B, 0x95132F, EnumTemperature.HOT, EnumHumidity.ARID,
|
||||
true, hideSpecies, true, true);
|
||||
Allele.Fire.addProduct(ItemManager.combs.getStackForType(CombType.FIREY), 15);
|
||||
Allele.Fire.addProduct(Config.combs.getStackForType(CombType.FIREY), 15);
|
||||
Allele.Fire.addSpecialty(new ItemStack(Item.blazePowder), 8);
|
||||
Allele.Fire.setGenome(BeeGenomeManager.getTemplateFire());
|
||||
breedingMgr.registerBeeTemplate(Allele.Fire.getGenome());
|
||||
@@ -239,7 +244,7 @@ public class TBBeeManager
|
||||
"umidus", magical, 0,
|
||||
0x36CFD9, 0x1054A1, EnumTemperature.NORMAL, EnumHumidity.DAMP,
|
||||
true, hideSpecies, true, true);
|
||||
Allele.Water.addProduct(ItemManager.combs.getStackForType(CombType.WATERY), 20);
|
||||
Allele.Water.addProduct(Config.combs.getStackForType(CombType.WATERY), 20);
|
||||
Allele.Water.addSpecialty(new ItemStack(Block.ice), 1).addSpecialty(forestryItem, 5);
|
||||
Allele.Water.setGenome(BeeGenomeManager.getTemplateWater());
|
||||
breedingMgr.registerBeeTemplate(Allele.Water.getGenome());
|
||||
@@ -248,8 +253,8 @@ public class TBBeeManager
|
||||
"sordida", magical, 0,
|
||||
0x005100, 0x00a000, EnumTemperature.NORMAL, EnumHumidity.NORMAL,
|
||||
true, hideSpecies, true, true);
|
||||
Allele.Earth.addProduct(ItemManager.combs.getStackForType(CombType.EARTHY), 30);
|
||||
Allele.Earth.addSpecialty(new ItemStack(ItemManager.tcMiscResource, 1, TCMiscResource.AMBER.ordinal()), 6);
|
||||
Allele.Earth.addProduct(Config.combs.getStackForType(CombType.EARTHY), 30);
|
||||
Allele.Earth.addSpecialty(new ItemStack(Config.tcMiscResource, 1, TCMiscResource.AMBER.ordinal()), 6);
|
||||
Allele.Earth.setGenome(BeeGenomeManager.getTemplateEarth());
|
||||
breedingMgr.registerBeeTemplate(Allele.Earth.getGenome());
|
||||
|
||||
@@ -257,7 +262,7 @@ public class TBBeeManager
|
||||
"azanorius", magical, 0,
|
||||
0xaa32fc, 0x7A489E, EnumTemperature.NORMAL, EnumHumidity.NORMAL,
|
||||
true, hideSpecies, true, true);
|
||||
Allele.Infused.addProduct(ItemManager.combs.getStackForType(CombType.INFUSED), 20);
|
||||
Allele.Infused.addProduct(Config.combs.getStackForType(CombType.INFUSED), 20);
|
||||
Allele.Infused.setGenome(BeeGenomeManager.getTemplateInfused());
|
||||
breedingMgr.registerBeeTemplate(Allele.Infused.getGenome());
|
||||
|
||||
@@ -268,7 +273,7 @@ public class TBBeeManager
|
||||
"sensibilis", aware, 0,
|
||||
0xb0092e9, defaultBodyColour, EnumTemperature.NORMAL, EnumHumidity.NORMAL,
|
||||
false, hideSpecies, true, false);
|
||||
Allele.Aware.addProduct(ItemManager.combs.getStackForType(CombType.INTELLECT), 18);
|
||||
Allele.Aware.addProduct(Config.combs.getStackForType(CombType.INTELLECT), 18);
|
||||
Allele.Aware.setGenome(BeeGenomeManager.getTemplateAware());
|
||||
breedingMgr.registerBeeTemplate(Allele.Aware.getGenome());
|
||||
|
||||
@@ -276,7 +281,7 @@ public class TBBeeManager
|
||||
"arcanus saecula", aware, 0,
|
||||
0x004c99, defaultBodyColour, EnumTemperature.NORMAL, EnumHumidity.NORMAL,
|
||||
false, hideSpecies, true, false);
|
||||
Allele.Vis.addProduct(ItemManager.combs.getStackForType(CombType.INTELLECT), 25);
|
||||
Allele.Vis.addProduct(Config.combs.getStackForType(CombType.INTELLECT), 25);
|
||||
Allele.Vis.setGenome(BeeGenomeManager.getTemplateVis());
|
||||
breedingMgr.registerBeeTemplate(Allele.Vis.getGenome());
|
||||
|
||||
@@ -284,7 +289,7 @@ public class TBBeeManager
|
||||
"arcanus puritatem", aware, 0,
|
||||
0xb0092e9, defaultBodyColour, EnumTemperature.NORMAL, EnumHumidity.NORMAL,
|
||||
true, hideSpecies, true, false);
|
||||
Allele.Pure.addProduct(ItemManager.combs.getStackForType(CombType.INTELLECT), 20);
|
||||
Allele.Pure.addProduct(Config.combs.getStackForType(CombType.INTELLECT), 20);
|
||||
Allele.Pure.setGenome(BeeGenomeManager.getTemplatePure());
|
||||
breedingMgr.registerBeeTemplate(Allele.Pure.getGenome());
|
||||
|
||||
@@ -292,7 +297,7 @@ public class TBBeeManager
|
||||
"arcanus labe", aware, 0,
|
||||
0x004c99, defaultBodyColour, EnumTemperature.NORMAL, EnumHumidity.NORMAL,
|
||||
true, hideSpecies, true, false);
|
||||
Allele.Flux.addProduct(ItemManager.combs.getStackForType(CombType.INTELLECT), 20);
|
||||
Allele.Flux.addProduct(Config.combs.getStackForType(CombType.INTELLECT), 20);
|
||||
Allele.Flux.setGenome(BeeGenomeManager.getTemplateFlux());
|
||||
breedingMgr.registerBeeTemplate(Allele.Flux.getGenome());
|
||||
|
||||
@@ -300,7 +305,7 @@ public class TBBeeManager
|
||||
"conficiens", aware, 0,
|
||||
0xFFF266, 0xFF8CE9, EnumTemperature.NORMAL, EnumHumidity.NORMAL,
|
||||
true, hideSpecies, true, false);
|
||||
Allele.Node.addProduct(ItemManager.combs.getStackForType(CombType.INTELLECT), 20);
|
||||
Allele.Node.addProduct(Config.combs.getStackForType(CombType.INTELLECT), 20);
|
||||
Allele.Node.setGenome(BeeGenomeManager.getTemplateNode());
|
||||
breedingMgr.registerBeeTemplate(Allele.Node.getGenome());
|
||||
|
||||
@@ -311,7 +316,7 @@ public class TBBeeManager
|
||||
"malevolens", malevolent, 0,
|
||||
0x524827, malevolentBodyColour, EnumTemperature.NORMAL, EnumHumidity.NORMAL,
|
||||
false, hideSpecies, true, true);
|
||||
Allele.Skulking.addProduct(ItemManager.combs.getStackForType(CombType.SKULKING), 10);
|
||||
Allele.Skulking.addProduct(Config.combs.getStackForType(CombType.SKULKING), 10);
|
||||
Allele.Skulking.setGenome(BeeGenomeManager.getTemplateSkulking());
|
||||
breedingMgr.registerBeeTemplate(Allele.Skulking.getGenome());
|
||||
|
||||
@@ -319,8 +324,8 @@ public class TBBeeManager
|
||||
"cerebrum", malevolent, 0,
|
||||
0x83FF70, malevolentBodyColour, EnumTemperature.NORMAL, EnumHumidity.NORMAL,
|
||||
false, hideSpecies, true, true);
|
||||
Allele.Brainy.addProduct(ItemManager.combs.getStackForType(CombType.SKULKING), 10).addProduct(new ItemStack(Item.rottenFlesh), 6);
|
||||
Allele.Brainy.addSpecialty(new ItemStack(ItemManager.tcMiscResource, 1, TCMiscResource.ZOMBIE_BRAIN.ordinal()), 2);
|
||||
Allele.Brainy.addProduct(Config.combs.getStackForType(CombType.SKULKING), 10).addProduct(new ItemStack(Item.rottenFlesh), 6);
|
||||
Allele.Brainy.addSpecialty(new ItemStack(Config.tcMiscResource, 1, TCMiscResource.ZOMBIE_BRAIN.ordinal()), 2);
|
||||
Allele.Brainy.setGenome(BeeGenomeManager.getTemplateBrainy());
|
||||
breedingMgr.registerBeeTemplate(Allele.Brainy.getGenome());
|
||||
|
||||
@@ -350,7 +355,7 @@ public class TBBeeManager
|
||||
"chiroptera", malevolent, 0,
|
||||
0x27350d, malevolentBodyColour, EnumTemperature.NORMAL, EnumHumidity.NORMAL,
|
||||
false, hideSpecies, true, true);
|
||||
Allele.Batty.addProduct(ItemManager.combs.getStackForType(CombType.SKULKING), 10);
|
||||
Allele.Batty.addProduct(Config.combs.getStackForType(CombType.SKULKING), 10);
|
||||
Allele.Batty.addSpecialty(new ItemStack(Item.gunpowder), 4);
|
||||
Allele.Batty.setGenome(BeeGenomeManager.getTemplateBatty());
|
||||
breedingMgr.registerBeeTemplate(Allele.Batty.getGenome());
|
||||
@@ -359,7 +364,7 @@ public class TBBeeManager
|
||||
"pallens", malevolent, 0,
|
||||
0xccccee, 0xbf877c, EnumTemperature.NORMAL, EnumHumidity.NORMAL,
|
||||
false, hideSpecies, true, false);
|
||||
Allele.Ghastly.addProduct(ItemManager.combs.getStackForType(CombType.SKULKING), 8);
|
||||
Allele.Ghastly.addProduct(Config.combs.getStackForType(CombType.SKULKING), 8);
|
||||
Allele.Ghastly.addSpecialty(new ItemStack(Item.ghastTear), 2);
|
||||
Allele.Ghastly.setGenome(BeeGenomeManager.getTemplateGhastly());
|
||||
breedingMgr.registerBeeTemplate(Allele.Ghastly.getGenome());
|
||||
|
||||
@@ -8,7 +8,7 @@ import java.util.ArrayList;
|
||||
import thaumcraft.api.AuraNode;
|
||||
import thaumcraft.api.EnumNodeType;
|
||||
import thaumcraft.api.ThaumcraftApi;
|
||||
import thaumicbees.bees.MoonPhase;
|
||||
import thaumicbees.main.utils.MoonPhase;
|
||||
|
||||
public class BeeMutation implements IBeeMutation
|
||||
{
|
||||
|
||||
@@ -84,9 +84,9 @@ public class BeeSpecies extends Allele implements IAlleleBeeSpecies
|
||||
return this;
|
||||
}
|
||||
|
||||
public ItemStack getBeeItem(World world, EnumBeeType beeType)
|
||||
public ItemStack getBeeItem(EnumBeeType beeType)
|
||||
{
|
||||
return BeeManager.beeInterface.getBeeStack(BeeManager.beeInterface.getBee(world, BeeManager.beeInterface.templateAsGenome(genomeTemplate)), beeType);
|
||||
return BeeManager.beeInterface.getBeeStack(BeeManager.beeInterface.getBee(null, BeeManager.beeInterface.templateAsGenome(genomeTemplate)), beeType);
|
||||
}
|
||||
|
||||
public String getName()
|
||||
|
||||
+3
-3
@@ -1,8 +1,8 @@
|
||||
package thaumicbees.bees;
|
||||
package thaumicbees.bees.genetics;
|
||||
|
||||
import thaumcraft.api.AuraNode;
|
||||
import thaumcraft.api.ThaumcraftApi;
|
||||
import thaumicbees.block.BlockManager;
|
||||
import thaumicbees.main.Config;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
@@ -34,7 +34,7 @@ public class FlowerProviderAuraNode implements IFlowerProvider
|
||||
if (world.isAirBlock(x, y, z) && (blockDown == Block.dirt.blockID || blockDown == Block.grass.blockID))
|
||||
{
|
||||
int rand = world.rand.nextInt(10);
|
||||
world.setBlockAndMetadataWithNotify(x, y, z, BlockManager.tcPlant.blockID, (rand >= 5) ? 2 : 3);
|
||||
world.setBlockAndMetadataWithNotify(x, y, z, Config.tcPlant.blockID, (rand >= 5) ? 2 : 3);
|
||||
System.out.println(x + ", " + y + ", " + ", " + z + " set to flower.");
|
||||
flag = true;
|
||||
}
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package thaumicbees.bees;
|
||||
package thaumicbees.bees.genetics;
|
||||
|
||||
import thaumcraft.api.EnumTag;
|
||||
import thaumcraft.api.ObjectTags;
|
||||
+3
-4
@@ -1,4 +1,4 @@
|
||||
package thaumicbees.bees;
|
||||
package thaumicbees.bees.genetics;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.item.ItemStack;
|
||||
@@ -7,8 +7,7 @@ import thaumcraft.api.AuraNode;
|
||||
import thaumcraft.api.EnumTag;
|
||||
import thaumcraft.api.ObjectTags;
|
||||
import thaumcraft.api.ThaumcraftApi;
|
||||
import thaumicbees.block.BlockManager;
|
||||
import thaumicbees.item.ItemManager;
|
||||
import thaumicbees.main.Config;
|
||||
import forestry.api.apiculture.IBeeGenome;
|
||||
|
||||
public class FlowerProviderAuraNodePurify extends FlowerProviderAuraNode
|
||||
@@ -41,7 +40,7 @@ public class FlowerProviderAuraNodePurify extends FlowerProviderAuraNode
|
||||
{
|
||||
node.flux.remove(selectedTag, 1);
|
||||
ThaumcraftApi.queueNodeChanges(node.key, 0, 0, false, new ObjectTags().add(selectedTag, -1), 0, 0, 0);
|
||||
products = addItemToProducts(products, new ItemStack(ItemManager.solidFlux, 1, selectedTag.id));
|
||||
products = addItemToProducts(products, new ItemStack(Config.solidFlux, 1, selectedTag.id));
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package thaumicbees.bees;
|
||||
package thaumicbees.bees.genetics;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.item.ItemStack;
|
||||
+5
-5
@@ -1,6 +1,6 @@
|
||||
package thaumicbees.bees;
|
||||
package thaumicbees.bees.genetics;
|
||||
|
||||
import thaumicbees.block.BlockManager;
|
||||
import thaumicbees.main.Config;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
@@ -10,13 +10,13 @@ import forestry.api.genetics.IPollinatable;
|
||||
|
||||
public class FlowerProviderThaumcraftFlower implements IFlowerProvider
|
||||
{
|
||||
private ItemStack[] flowers = {new ItemStack(BlockManager.tcPlant, 1, 2), new ItemStack(BlockManager.tcPlant, 1, 3) };
|
||||
private ItemStack[] flowers = {new ItemStack(Config.tcPlant, 1, 2), new ItemStack(Config.tcPlant, 1, 3) };
|
||||
|
||||
@Override
|
||||
public boolean isAcceptedFlower(World world, IBeeGenome genome, int x, int y, int z)
|
||||
{
|
||||
boolean flag = false;
|
||||
if (world.getBlockId(x, y, z) == BlockManager.tcPlant.blockID)
|
||||
if (world.getBlockId(x, y, z) == Config.tcPlant.blockID)
|
||||
{
|
||||
int meta = world.getBlockMetadata(x, y, z);
|
||||
if (meta == 2 || meta == 3)
|
||||
@@ -35,7 +35,7 @@ public class FlowerProviderThaumcraftFlower implements IFlowerProvider
|
||||
if (world.isAirBlock(x, y, z) && (blockDown == Block.dirt.blockID || blockDown == Block.grass.blockID))
|
||||
{
|
||||
int rand = world.rand.nextInt(10);
|
||||
world.setBlockAndMetadataWithNotify(x, y, z, BlockManager.tcPlant.blockID, (rand >= 5) ? 2 : 3);
|
||||
world.setBlockAndMetadataWithNotify(x, y, z, Config.tcPlant.blockID, (rand >= 5) ? 2 : 3);
|
||||
System.out.println(x + ", " + y + ", " + ", " + z + " set to flower.");
|
||||
flag = true;
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
package thaumicbees.block;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import thaumicbees.main.CommonProxy;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
import forestry.api.apiculture.IBee;
|
||||
import forestry.api.apiculture.IBeeGenome;
|
||||
import forestry.api.apiculture.IBeeHousing;
|
||||
import forestry.api.core.EnumHumidity;
|
||||
import forestry.api.core.EnumTemperature;
|
||||
|
||||
public class BlockMagicApiary extends Block
|
||||
{
|
||||
public BlockMagicApiary(int par1)
|
||||
{
|
||||
super(par1, Material.wood);
|
||||
this.setTextureFile(CommonProxy.TCBEES_ITEMS_IMAGE);
|
||||
this.setBlockName("Magic Apiary");
|
||||
this.blockIndexInTexture = 48;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public int getBlockTexture(IBlockAccess par1iBlockAccess, int par2, int par3, int par4, int par5)
|
||||
{
|
||||
return super.getBlockTexture(par1iBlockAccess, par2, par3, par4, par5);
|
||||
}
|
||||
}
|
||||
@@ -1,24 +0,0 @@
|
||||
package thaumicbees.block;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraftforge.common.Configuration;
|
||||
|
||||
public class BlockManager
|
||||
{
|
||||
public static Block tcPlant;
|
||||
public static Block tcCandle;
|
||||
public static Block tcCrystal;
|
||||
public static Block tcMarker;
|
||||
public static Block tcJar;
|
||||
public static Block tcLog;
|
||||
public static Block tcLeaf;
|
||||
public static Block tcWarded;
|
||||
|
||||
public BlockManager() { }
|
||||
|
||||
public static void setupBlocks(Configuration config)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,377 +0,0 @@
|
||||
package thaumicbees.item;
|
||||
|
||||
import cpw.mods.fml.common.FMLLog;
|
||||
import cpw.mods.fml.common.event.FMLInterModComms;
|
||||
import cpw.mods.fml.common.registry.GameRegistry;
|
||||
import cpw.mods.fml.common.registry.LanguageRegistry;
|
||||
import thaumcraft.api.EnumTag;
|
||||
import thaumicbees.item.types.CapsuleType;
|
||||
import thaumicbees.item.types.CombType;
|
||||
import thaumicbees.item.types.DropType;
|
||||
import thaumicbees.item.types.HiveFrameType;
|
||||
import thaumicbees.item.types.LiquidType;
|
||||
import thaumicbees.item.types.PropolisType;
|
||||
import thaumicbees.item.types.ResourceType;
|
||||
import thaumicbees.item.types.WaxType;
|
||||
import thaumicbees.main.ThaumicBees;
|
||||
import thaumicbees.storage.BackpackDefinition;
|
||||
import thaumicbees.thaumcraft.TCMiscResource;
|
||||
import thaumicbees.thaumcraft.TCShardType;
|
||||
import thaumicbees.thaumcraft.ThaumcraftCompat;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraftforge.common.Configuration;
|
||||
import net.minecraftforge.common.Property;
|
||||
import net.minecraftforge.liquids.LiquidContainerData;
|
||||
import net.minecraftforge.liquids.LiquidContainerRegistry;
|
||||
import net.minecraftforge.liquids.LiquidDictionary;
|
||||
import net.minecraftforge.liquids.LiquidStack;
|
||||
import forestry.api.apiculture.BeeManager;
|
||||
import forestry.api.core.BlockInterface;
|
||||
import forestry.api.core.ItemInterface;
|
||||
import forestry.api.recipes.*;
|
||||
import forestry.api.storage.BackpackManager;
|
||||
import forestry.api.storage.EnumBackpackType;
|
||||
|
||||
public class ItemManager
|
||||
{
|
||||
public static ItemComb combs;
|
||||
public static ItemWax wax;
|
||||
public static ItemPropolis propolis;
|
||||
public static ItemDrop drops;
|
||||
public static ItemPollen pollen;
|
||||
public static ItemSolidFlux solidFlux;
|
||||
public static ItemMiscResources miscResources;
|
||||
|
||||
//----- Liquid Capsules --------------------
|
||||
public static ItemCapsule magicCapsule;
|
||||
|
||||
//----- Apiary Frames ----------------------
|
||||
public static ItemMagicHiveFrame hiveFrameMagic;
|
||||
public static ItemMagicHiveFrame hiveFrameResilient;
|
||||
public static ItemMagicHiveFrame hiveFrameGentle;
|
||||
public static ItemMagicHiveFrame hiveFrameMetabolic;
|
||||
public static ItemMagicHiveFrame hiveFrameNecrotic;
|
||||
|
||||
//----- Thaumcraft Items -------------------
|
||||
public static Item tcFilledJar;
|
||||
public static Item tcMiscResource;
|
||||
public static Item tcEssentiaBottle;
|
||||
public static Item tcShard;
|
||||
public static Item tcGolem;
|
||||
public static Item tcWispEssence;
|
||||
|
||||
//----- Backpacks --------------------------
|
||||
public static Item thaumaturgeBackpackT1;
|
||||
public static Item thaumaturgeBackpackT2;
|
||||
|
||||
public static BackpackDefinition thaumaturgeBackpackDef;
|
||||
|
||||
public ItemManager() { }
|
||||
|
||||
public static void setupItems(Configuration configFile)
|
||||
{
|
||||
int itemIDBase = 26090;
|
||||
|
||||
Property p = configFile.getItem("combs", itemIDBase++);
|
||||
ItemManager.combs= new ItemComb(p.getInt());
|
||||
ItemManager.wax = new ItemWax(configFile.getItem("wax", itemIDBase++).getInt());
|
||||
ItemManager.propolis = new ItemPropolis(configFile.getItem("propolis", itemIDBase++).getInt());
|
||||
ItemManager.drops = new ItemDrop(configFile.getItem("drop", itemIDBase++).getInt());
|
||||
ItemManager.miscResources = new ItemMiscResources(configFile.getItem("miscResources", itemIDBase++).getInt());
|
||||
|
||||
try
|
||||
{
|
||||
// 0x8700C6 = purpleish.
|
||||
BackpackDefinition def = new BackpackDefinition("thaumaturge", "Thaumaturge's Backpack", 0x8700C6);
|
||||
ItemManager.thaumaturgeBackpackT1 =
|
||||
BackpackManager.backpackInterface.addBackpack(configFile.getItem("thaumaturgePack1", itemIDBase++).getInt(),
|
||||
def, EnumBackpackType.T1);
|
||||
ItemManager.thaumaturgeBackpackT2 =
|
||||
BackpackManager.backpackInterface.addBackpack(configFile.getItem("thaumaturgePack2", itemIDBase++).getInt(),
|
||||
def, EnumBackpackType.T2);
|
||||
// Add additional items from configs to backpack.
|
||||
if (ThaumicBees.getInstanceConfig().ThaumaturgeExtraItems.length() > 0)
|
||||
{
|
||||
FMLLog.info("Attempting to add extra items to Thaumaturge's backpack! If you get an error, check your ThaumicBees.conf.");
|
||||
FMLInterModComms.sendMessage("Forestry", "add-backpack-items", "thaumaturge@" + ThaumicBees.getInstanceConfig().ThaumaturgeExtraItems);
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
FMLLog.severe("ThaumicBees encountered a problem during loading!");
|
||||
throw new RuntimeException("Could not register backpacks via Forestry. Check your FML Client log and see if Forestry crashed silently.", e);
|
||||
}
|
||||
|
||||
|
||||
ItemManager.magicCapsule = new ItemCapsule(CapsuleType.MAGIC, configFile.getItem("magicCapsule", itemIDBase++).getInt());
|
||||
|
||||
ItemManager.pollen = new ItemPollen(configFile.getItem("pollen", itemIDBase++).getInt());
|
||||
ItemManager.solidFlux = new ItemSolidFlux(configFile.getItem("fluxCrystal", itemIDBase++).getInt());
|
||||
|
||||
ItemManager.hiveFrameMagic = new ItemMagicHiveFrame(configFile.getItem("frameMagic", itemIDBase++).getInt(), HiveFrameType.MAGIC);
|
||||
ItemManager.hiveFrameResilient = new ItemMagicHiveFrame(configFile.getItem("frameResilient", itemIDBase++).getInt(), HiveFrameType.RESILIENT);
|
||||
ItemManager.hiveFrameGentle = new ItemMagicHiveFrame(configFile.getItem("frameGentle", itemIDBase++).getInt(), HiveFrameType.GENTLE);
|
||||
ItemManager.hiveFrameMetabolic = new ItemMagicHiveFrame(configFile.getItem("frameMetabolic", itemIDBase++).getInt(), HiveFrameType.METABOLIC);
|
||||
ItemManager.hiveFrameNecrotic = new ItemMagicHiveFrame(configFile.getItem("frameNecrotic", itemIDBase++).getInt(), HiveFrameType.NECROTIC);
|
||||
// Future frames, so they all are clumped together.
|
||||
itemIDBase++;
|
||||
itemIDBase++;
|
||||
itemIDBase++;
|
||||
itemIDBase++;
|
||||
itemIDBase++;
|
||||
itemIDBase++;
|
||||
itemIDBase++;
|
||||
itemIDBase++;
|
||||
itemIDBase++;
|
||||
|
||||
// New items here.
|
||||
|
||||
}
|
||||
|
||||
public static void setupCrafting()
|
||||
{
|
||||
ItemStack inputStack; // Variable to hold forestry items
|
||||
|
||||
// Essentia bottles
|
||||
ItemStack output = new ItemStack(tcEssentiaBottle);
|
||||
output.stackSize = 8;
|
||||
GameRegistry.addRecipe(output, new Object[]
|
||||
{
|
||||
" C ", "GPG", "PGP",
|
||||
'G', ItemManager.wax,
|
||||
'C', Item.clay,
|
||||
'P', Block.thinGlass
|
||||
});
|
||||
|
||||
output = new ItemStack(tcEssentiaBottle);
|
||||
output.stackSize = 4;
|
||||
GameRegistry.addRecipe(output, new Object[] {
|
||||
" W ", "W W", " W ",
|
||||
'W', ItemManager.wax
|
||||
});
|
||||
|
||||
// Magic capsules
|
||||
output = new ItemStack(magicCapsule); output.stackSize = 4;
|
||||
GameRegistry.addRecipe(output, new Object[] {
|
||||
"WWW",
|
||||
'W', ItemManager.wax.getStackForType(WaxType.MAGIC)
|
||||
});
|
||||
|
||||
output = new ItemStack(tcMiscResource, 1, TCMiscResource.KNOWLEDGE_FRAGMENT.ordinal());
|
||||
GameRegistry.addRecipe(output, new Object[] {
|
||||
"FF", "FF",
|
||||
'F', ItemManager.miscResources.getStackForType(ResourceType.LORE_FRAGMENT)
|
||||
});
|
||||
|
||||
// T1 Thaumaturge's backpack
|
||||
GameRegistry.addRecipe(new ItemStack(ItemManager.thaumaturgeBackpackT1), new Object[] {
|
||||
"SWS", "NCN", "SWS",
|
||||
'S', Item.silk,
|
||||
'W', Block.cloth,
|
||||
'N', Item.goldNugget,
|
||||
'C', Block.chest
|
||||
});
|
||||
|
||||
// Concentrated Fertilizer -> Forestry fertilizer
|
||||
inputStack = ItemManager.miscResources.getStackForType(ResourceType.EXTENDED_FERTILIZER);
|
||||
output = ItemInterface.getItem("fertilizerCompound");
|
||||
output.stackSize = 6;
|
||||
GameRegistry.addRecipe(output, new Object[] {
|
||||
" S ", " F ", " S ",
|
||||
'F', inputStack,
|
||||
'S', Block.sand
|
||||
});
|
||||
GameRegistry.addRecipe(output, new Object[] {
|
||||
" ", "SFS", " ",
|
||||
'F', inputStack,
|
||||
'S', Block.sand
|
||||
});
|
||||
|
||||
output = output.copy();
|
||||
output.stackSize = 12;
|
||||
GameRegistry.addRecipe(output, new Object[] {
|
||||
"aaa", "aFa", "aaa",
|
||||
'F', inputStack,
|
||||
'a', ItemInterface.getItem("ash")
|
||||
});
|
||||
|
||||
// "bottling" Intellect drops
|
||||
GameRegistry.addRecipe(new ItemStack(Item.expBottle), new Object[] {
|
||||
"DDD", "DBD", "DDD",
|
||||
'D', ItemManager.drops.getStackForType(DropType.INTELLECT),
|
||||
'B', Item.glassBottle
|
||||
});
|
||||
|
||||
// "bottling" Crystal aspects.
|
||||
for (EnumTag tag : EnumTag.values())
|
||||
{
|
||||
if (tag != EnumTag.UNKNOWN)
|
||||
{
|
||||
output = new ItemStack(ItemManager.tcEssentiaBottle, 1, tag.id + 1);
|
||||
GameRegistry.addRecipe(output, new Object[] {
|
||||
"ccc", "cxc", "ccc",
|
||||
'c', new ItemStack(ItemManager.solidFlux, 1, tag.id),
|
||||
'x', ItemManager.tcEssentiaBottle
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// 20 is the 'average' time to centrifuge a comb.
|
||||
RecipeManagers.centrifugeManager.addRecipe(20, ItemManager.combs.getStackForType(CombType.OCCULT),
|
||||
new ItemStack[] {ItemManager.wax.getStackForType(WaxType.MAGIC), ItemInterface.getItem("honeyDrop") },
|
||||
new int[] { 100, 60 });
|
||||
RecipeManagers.centrifugeManager.addRecipe(20, ItemManager.combs.getStackForType(CombType.OTHERWORLDLY),
|
||||
new ItemStack[] {ItemInterface.getItem("beeswax"), ItemManager.wax.getStackForType(WaxType.MAGIC), ItemInterface.getItem("honeyDrop") },
|
||||
new int[] { 50, 20, 100 });
|
||||
RecipeManagers.centrifugeManager.addRecipe(20, ItemManager.combs.getStackForType(CombType.PAPERY),
|
||||
new ItemStack[] {ItemInterface.getItem("beeswax"), ItemManager.wax.getStackForType(WaxType.MAGIC), new ItemStack(Item.paper) },
|
||||
new int[] { 80, 20, 5 });
|
||||
RecipeManagers.centrifugeManager.addRecipe(25, ItemManager.combs.getStackForType(CombType.STARK),
|
||||
new ItemStack[] {ItemInterface.getItem("beeswax"), ItemManager.wax.getStackForType(WaxType.MAGIC), ItemManager.propolis.getStackForType(PropolisType.STARK) },
|
||||
new int[] { 10, 95, 15 });
|
||||
RecipeManagers.centrifugeManager.addRecipe(25, ItemManager.combs.getStackForType(CombType.AIRY),
|
||||
new ItemStack[] {ItemManager.wax.getStackForType(WaxType.MAGIC), ItemManager.propolis.getStackForType(PropolisType.AIR) },
|
||||
new int[] { 100, 65 });
|
||||
RecipeManagers.centrifugeManager.addRecipe(25, ItemManager.combs.getStackForType(CombType.FIREY),
|
||||
new ItemStack[] {ItemManager.wax.getStackForType(WaxType.MAGIC), ItemManager.propolis.getStackForType(PropolisType.FIRE) },
|
||||
new int[] { 100, 65 });
|
||||
RecipeManagers.centrifugeManager.addRecipe(25, ItemManager.combs.getStackForType(CombType.WATERY),
|
||||
new ItemStack[] {ItemManager.wax.getStackForType(WaxType.MAGIC), ItemManager.propolis.getStackForType(PropolisType.WATER)},
|
||||
new int[] { 100, 65 });
|
||||
RecipeManagers.centrifugeManager.addRecipe(25, ItemManager.combs.getStackForType(CombType.EARTHY),
|
||||
new ItemStack[] {ItemManager.wax.getStackForType(WaxType.MAGIC), ItemManager.propolis.getStackForType(PropolisType.EARTH) },
|
||||
new int[] { 100, 65 });
|
||||
RecipeManagers.centrifugeManager.addRecipe(25, ItemManager.combs.getStackForType(CombType.INFUSED),
|
||||
new ItemStack[] {ItemManager.wax.getStackForType(WaxType.MAGIC), ItemManager.wax.getStackForType(WaxType.MAGIC), ItemManager.propolis.getStackForType(PropolisType.INFUSED) },
|
||||
new int[] { 100, 50, 65 });
|
||||
RecipeManagers.centrifugeManager.addRecipe(20, ItemManager.combs.getStackForType(CombType.INTELLECT),
|
||||
new ItemStack[] { ItemManager.wax.getStackForType(WaxType.MAGIC), ItemInterface.getItem("honeydew"), ItemManager.drops.getStackForType(DropType.INTELLECT) },
|
||||
new int[] { 90, 40, 2 });
|
||||
RecipeManagers.centrifugeManager.addRecipe(20, ItemManager.combs.getStackForType(CombType.SKULKING),
|
||||
new ItemStack[] {ItemInterface.getItem("beeswax"), ItemInterface.getItem("propolis"), ItemInterface.getItem("honeydew") },
|
||||
new int[] { 90, 20, 35 });
|
||||
|
||||
RecipeManagers.centrifugeManager.addRecipe(8, ItemManager.propolis.getStackForType(PropolisType.STARK),
|
||||
new ItemStack[] {new ItemStack(tcShard, 1, TCShardType.DULL.ordinal())},
|
||||
new int[] { 13 });
|
||||
RecipeManagers.centrifugeManager.addRecipe(8, ItemManager.propolis.getStackForType(PropolisType.AIR),
|
||||
new ItemStack[] {new ItemStack(tcShard, 1, TCShardType.AIR.ordinal())},
|
||||
new int[] { 10 });
|
||||
RecipeManagers.centrifugeManager.addRecipe(8, ItemManager.propolis.getStackForType(PropolisType.FIRE),
|
||||
new ItemStack[] {new ItemStack(tcShard, 1, TCShardType.FIRE.ordinal())},
|
||||
new int[] { 10 });
|
||||
RecipeManagers.centrifugeManager.addRecipe(8, ItemManager.propolis.getStackForType(PropolisType.WATER),
|
||||
new ItemStack[] {new ItemStack(tcShard, 1, TCShardType.WATER.ordinal())},
|
||||
new int[] { 10 });
|
||||
RecipeManagers.centrifugeManager.addRecipe(8, ItemManager.propolis.getStackForType(PropolisType.EARTH),
|
||||
new ItemStack[] {new ItemStack(tcShard, 1, TCShardType.EARTH.ordinal())},
|
||||
new int[] { 10 });
|
||||
RecipeManagers.centrifugeManager.addRecipe(8, ItemManager.propolis.getStackForType(PropolisType.INFUSED),
|
||||
new ItemStack[] {new ItemStack(tcShard, 1, TCShardType.MAGIC.ordinal())},
|
||||
new int[] { 10 });
|
||||
|
||||
// Squeezer recipes
|
||||
RecipeManagers.squeezerManager.addRecipe(20, new ItemStack[] {ItemManager.propolis.getStackForType(PropolisType.FIRE) },
|
||||
new LiquidStack(Block.lavaStill, 250),
|
||||
new ItemStack(tcShard, 1, TCShardType.FIRE.ordinal()), 18);
|
||||
RecipeManagers.squeezerManager.addRecipe(20, new ItemStack[] {ItemManager.propolis.getStackForType(PropolisType.WATER) },
|
||||
new LiquidStack(Block.waterStill, 500),
|
||||
new ItemStack(tcShard, 1, TCShardType.WATER.ordinal()), 18);
|
||||
|
||||
// Carpenter recipes
|
||||
inputStack = ItemInterface.getItem("craftingMaterial");
|
||||
inputStack.setItemDamage(3); // Set to Silk Mesh
|
||||
output = new ItemStack(thaumaturgeBackpackT2);
|
||||
RecipeManagers.carpenterManager.addRecipe(200, new LiquidStack(Block.waterStill.blockID, 1000), null, output, new Object[] {
|
||||
"WXW", "WTW", "WWW",
|
||||
'X', Item.diamond,
|
||||
'W', inputStack,
|
||||
'T', new ItemStack(ItemManager.thaumaturgeBackpackT1)
|
||||
});
|
||||
|
||||
output = BlockInterface.getBlock("candle");
|
||||
output.stackSize = 24;
|
||||
RecipeManagers.carpenterManager.addRecipe(30, new LiquidStack(Block.waterStill, 600), null, output, new Object[] {
|
||||
" S ", "WWW", "WWW",
|
||||
'W', ItemManager.wax,
|
||||
'S', Item.silk
|
||||
});
|
||||
|
||||
output = BlockInterface.getBlock("candle");
|
||||
output.stackSize = 6;
|
||||
inputStack = ItemInterface.getItem("craftingMaterial");
|
||||
inputStack.setItemDamage(2); // Set to Silk Wisp
|
||||
RecipeManagers.carpenterManager.addRecipe(30, new LiquidStack(Block.waterStill, 600), null, output, new Object[] {
|
||||
"WSW",
|
||||
'W', ItemManager.wax,
|
||||
'S', inputStack
|
||||
});
|
||||
|
||||
output = ItemManager.miscResources.getStackForType(ResourceType.AROMATIC_LUMP, 2);
|
||||
RecipeManagers.carpenterManager.addRecipe(30, new LiquidStack(ItemInterface.getItem("liquidHoney").itemID, 1000), null, output, new Object[] {
|
||||
" P ", "JDJ", " P ",
|
||||
'P', ItemInterface.getItem("pollen"),
|
||||
'J', ItemInterface.getItem("royalJelly"),
|
||||
'D', ItemManager.drops.getStackForType(DropType.ENCHANTED)
|
||||
});
|
||||
|
||||
RecipeManagers.carpenterManager.addRecipe(30, new LiquidStack(ItemInterface.getItem("liquidHoney").itemID, 1000), null, output, new Object[] {
|
||||
" J ", "PDP", " J ",
|
||||
'P', ItemInterface.getItem("pollen"),
|
||||
'J', ItemInterface.getItem("royalJelly"),
|
||||
'D', ItemManager.drops.getStackForType(DropType.ENCHANTED)
|
||||
});
|
||||
// Make Aromatic Lumps a swarmer inducer. Chance is /1000.
|
||||
BeeManager.inducers.put(output, 80);
|
||||
|
||||
}
|
||||
|
||||
public static void postInit()
|
||||
{
|
||||
registerLiquidContainer(ItemManager.magicCapsule);
|
||||
}
|
||||
|
||||
private static void registerLiquidContainer(ItemCapsule baseCapsule)
|
||||
{
|
||||
// Forestry liquids aren't registered until PostInit, that's why we wait until now to register them.
|
||||
ItemStack empty = new ItemStack(baseCapsule, 1, 0);
|
||||
ItemStack filled;
|
||||
LiquidStack liquid = null;
|
||||
|
||||
for (LiquidType l : LiquidType.values())
|
||||
{
|
||||
switch (l)
|
||||
{
|
||||
case EMPTY:
|
||||
liquid = null;
|
||||
break;
|
||||
case WATER:
|
||||
liquid = new LiquidStack(Block.waterStill, baseCapsule.getType().capacity);
|
||||
break;
|
||||
case LAVA:
|
||||
liquid = new LiquidStack(Block.lavaStill, baseCapsule.getType().capacity);
|
||||
break;
|
||||
default:
|
||||
liquid = LiquidDictionary.getLiquid(l.liquidID, baseCapsule.getType().capacity);
|
||||
break;
|
||||
}
|
||||
|
||||
if (liquid != null)
|
||||
{
|
||||
filled = new ItemStack(baseCapsule, 1, l.ordinal());
|
||||
LiquidContainerRegistry.registerLiquid(new LiquidContainerData(liquid, filled, empty));
|
||||
|
||||
// Register with Squeezer/Bottler
|
||||
RecipeManagers.bottlerManager.addRecipe(5, liquid, empty, filled);
|
||||
RecipeManagers.squeezerManager.addRecipe(10, new ItemStack[] {filled} , liquid,
|
||||
ItemManager.wax.getStackForType(WaxType.MAGIC), 20);
|
||||
l.available = true;
|
||||
}
|
||||
}
|
||||
// Empty will be set to unavailable. Obviously, it always is.
|
||||
LiquidType.EMPTY.available = true;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,189 @@
|
||||
package thaumicbees.main;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
import thaumicbees.block.BlockMagicApiary;
|
||||
import thaumicbees.item.ItemCapsule;
|
||||
import thaumicbees.item.ItemComb;
|
||||
import thaumicbees.item.ItemDrop;
|
||||
import thaumicbees.item.ItemMagicHiveFrame;
|
||||
import thaumicbees.item.ItemMiscResources;
|
||||
import thaumicbees.item.ItemPollen;
|
||||
import thaumicbees.item.ItemPropolis;
|
||||
import thaumicbees.item.ItemSolidFlux;
|
||||
import thaumicbees.item.ItemWax;
|
||||
import thaumicbees.item.types.CapsuleType;
|
||||
import thaumicbees.item.types.HiveFrameType;
|
||||
import thaumicbees.storage.BackpackDefinition;
|
||||
import thaumicbees.thaumcraft.ThaumcraftCompat;
|
||||
import cpw.mods.fml.common.FMLLog;
|
||||
import cpw.mods.fml.common.event.FMLInterModComms;
|
||||
import cpw.mods.fml.common.registry.GameRegistry;
|
||||
import forestry.api.storage.BackpackManager;
|
||||
import forestry.api.storage.EnumBackpackType;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraftforge.common.Configuration;
|
||||
import net.minecraftforge.common.Property;
|
||||
|
||||
/**
|
||||
* A class to hold some data related to mod state & functions.
|
||||
* @author MysteriousAges
|
||||
*
|
||||
*/
|
||||
public class Config
|
||||
{
|
||||
public boolean DrawParticleEffects;
|
||||
public boolean BeeInfusionsAdded;
|
||||
public boolean ExtraBeesInstalled;
|
||||
public boolean AddThaumcraftItemsToBackpacks;
|
||||
public String ThaumaturgeExtraItems;
|
||||
|
||||
|
||||
public static BlockMagicApiary magicApiary;
|
||||
|
||||
public static ItemComb combs;
|
||||
public static ItemWax wax;
|
||||
public static ItemPropolis propolis;
|
||||
public static ItemDrop drops;
|
||||
public static ItemPollen pollen;
|
||||
public static ItemSolidFlux solidFlux;
|
||||
public static ItemMiscResources miscResources;
|
||||
|
||||
//----- Liquid Capsules --------------------
|
||||
public static ItemCapsule magicCapsule;
|
||||
|
||||
//----- Apiary Frames ----------------------
|
||||
public static ItemMagicHiveFrame hiveFrameMagic;
|
||||
public static ItemMagicHiveFrame hiveFrameResilient;
|
||||
public static ItemMagicHiveFrame hiveFrameGentle;
|
||||
public static ItemMagicHiveFrame hiveFrameMetabolic;
|
||||
public static ItemMagicHiveFrame hiveFrameNecrotic;
|
||||
|
||||
//----- Backpacks ------------------------------------------
|
||||
public static Item thaumaturgeBackpackT1;
|
||||
public static Item thaumaturgeBackpackT2;
|
||||
public static BackpackDefinition thaumaturgeBackpackDef;
|
||||
|
||||
//----- Thaumcraft Blocks ----------------------------------
|
||||
public static Block tcPlant;
|
||||
public static Block tcCandle;
|
||||
public static Block tcCrystal;
|
||||
public static Block tcMarker;
|
||||
public static Block tcJar;
|
||||
public static Block tcLog;
|
||||
public static Block tcLeaf;
|
||||
public static Block tcWarded;
|
||||
//----- Thaumcraft Items -----------------------------------
|
||||
public static Item tcFilledJar;
|
||||
public static Item tcMiscResource;
|
||||
public static Item tcEssentiaBottle;
|
||||
public static Item tcShard;
|
||||
public static Item tcGolem;
|
||||
public static Item tcWispEssence;
|
||||
|
||||
|
||||
//----- Config State info ----------------------------------
|
||||
private Configuration tbConfig;
|
||||
|
||||
public Config(File configFile)
|
||||
{
|
||||
this.tbConfig = new Configuration(configFile);
|
||||
|
||||
this.tbConfig.load();
|
||||
this.doMiscConfig();
|
||||
}
|
||||
|
||||
public void saveConfigs()
|
||||
{
|
||||
this.tbConfig.save();
|
||||
}
|
||||
|
||||
public void setupBlocks()
|
||||
{
|
||||
ThaumcraftCompat.getThaumcraftBlocks();
|
||||
|
||||
int blockIdBase = 1750;
|
||||
|
||||
magicApiary = new BlockMagicApiary(tbConfig.getBlock("magicApiary", blockIdBase).getInt());
|
||||
GameRegistry.registerBlock(magicApiary, "Magic Apiary");
|
||||
}
|
||||
|
||||
public void setupItems()
|
||||
{
|
||||
ThaumcraftCompat.getThaumcraftItems();
|
||||
|
||||
int itemIDBase = 26090;
|
||||
|
||||
Property p = tbConfig.getItem("combs", itemIDBase++);
|
||||
combs= new ItemComb(p.getInt());
|
||||
wax = new ItemWax(tbConfig.getItem("wax", itemIDBase++).getInt());
|
||||
propolis = new ItemPropolis(tbConfig.getItem("propolis", itemIDBase++).getInt());
|
||||
drops = new ItemDrop(tbConfig.getItem("drop", itemIDBase++).getInt());
|
||||
miscResources = new ItemMiscResources(tbConfig.getItem("miscResources", itemIDBase++).getInt());
|
||||
|
||||
try
|
||||
{
|
||||
// 0x8700C6 = purpleish.
|
||||
BackpackDefinition def = new BackpackDefinition("thaumaturge", "Thaumaturge's Backpack", 0x8700C6);
|
||||
thaumaturgeBackpackT1 =
|
||||
BackpackManager.backpackInterface.addBackpack(tbConfig.getItem("thaumaturgePack1", itemIDBase++).getInt(),
|
||||
def, EnumBackpackType.T1);
|
||||
thaumaturgeBackpackT2 =
|
||||
BackpackManager.backpackInterface.addBackpack(tbConfig.getItem("thaumaturgePack2", itemIDBase++).getInt(),
|
||||
def, EnumBackpackType.T2);
|
||||
// Add additional items from configs to backpack.
|
||||
if (ThaumicBees.getInstanceConfig().ThaumaturgeExtraItems.length() > 0)
|
||||
{
|
||||
FMLLog.info("Attempting to add extra items to Thaumaturge's backpack! If you get an error, check your ThaumicBees.conf.");
|
||||
FMLInterModComms.sendMessage("Forestry", "add-backpack-items", "thaumaturge@" + ThaumicBees.getInstanceConfig().ThaumaturgeExtraItems);
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
FMLLog.severe("ThaumicBees encountered a problem during loading!");
|
||||
throw new RuntimeException("Could not register backpacks via Forestry. Check your FML Client log and see if Forestry crashed silently.", e);
|
||||
}
|
||||
|
||||
|
||||
magicCapsule = new ItemCapsule(CapsuleType.MAGIC, tbConfig.getItem("magicCapsule", itemIDBase++).getInt());
|
||||
|
||||
pollen = new ItemPollen(tbConfig.getItem("pollen", itemIDBase++).getInt());
|
||||
solidFlux = new ItemSolidFlux(tbConfig.getItem("fluxCrystal", itemIDBase++).getInt());
|
||||
|
||||
hiveFrameMagic = new ItemMagicHiveFrame(tbConfig.getItem("frameMagic", itemIDBase++).getInt(), HiveFrameType.MAGIC);
|
||||
hiveFrameResilient = new ItemMagicHiveFrame(tbConfig.getItem("frameResilient", itemIDBase++).getInt(), HiveFrameType.RESILIENT);
|
||||
hiveFrameGentle = new ItemMagicHiveFrame(tbConfig.getItem("frameGentle", itemIDBase++).getInt(), HiveFrameType.GENTLE);
|
||||
hiveFrameMetabolic = new ItemMagicHiveFrame(tbConfig.getItem("frameMetabolic", itemIDBase++).getInt(), HiveFrameType.METABOLIC);
|
||||
hiveFrameNecrotic = new ItemMagicHiveFrame(tbConfig.getItem("frameNecrotic", itemIDBase++).getInt(), HiveFrameType.NECROTIC);
|
||||
// Future frames, so they all are clumped together.
|
||||
itemIDBase++;
|
||||
itemIDBase++;
|
||||
itemIDBase++;
|
||||
itemIDBase++;
|
||||
itemIDBase++;
|
||||
itemIDBase++;
|
||||
itemIDBase++;
|
||||
itemIDBase++;
|
||||
itemIDBase++;
|
||||
|
||||
// New items here.
|
||||
|
||||
}
|
||||
|
||||
private void doMiscConfig()
|
||||
{
|
||||
Property p;
|
||||
|
||||
p = tbConfig.get("general", "backpack.thaumaturge.additionalItems", "");
|
||||
p.comment = "Add additional items to the Thaumaturge's Backpack." +
|
||||
"\n Format is the same as Forestry's: id:meta;id;id:meta (etc)";
|
||||
this.ThaumaturgeExtraItems = p.value;
|
||||
|
||||
p = tbConfig.get("general", "backpack.forestry.addThaumcraftItems", true);
|
||||
p.comment = "Set to true if you want ThaumicBees to add several Thaumcraft blocks & items to Forestry backpacks." +
|
||||
"\n Set to false to disable.";
|
||||
this.AddThaumcraftItemsToBackpacks = p.getBoolean(true);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,34 +1,20 @@
|
||||
package thaumicbees.main;
|
||||
|
||||
import net.minecraftforge.common.Configuration;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
import net.minecraftforge.event.ForgeSubscribe;
|
||||
import thaumicbees.bees.TBBeeManager;
|
||||
import thaumicbees.main.utils.CraftingManager;
|
||||
import thaumicbees.main.utils.VersionInfo;
|
||||
import thaumicbees.thaumcraft.ThaumcraftCompat;
|
||||
import cpw.mods.fml.common.FMLLog;
|
||||
import cpw.mods.fml.common.Mod;
|
||||
import cpw.mods.fml.common.SidedProxy;
|
||||
import cpw.mods.fml.common.event.*;
|
||||
import cpw.mods.fml.common.registry.LanguageRegistry;
|
||||
import forestry.api.apiculture.EnumBeeType;
|
||||
import cpw.mods.fml.common.event.FMLInitializationEvent;
|
||||
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
|
||||
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
|
||||
import forestry.api.core.ItemInterface;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.io.PrintStream;
|
||||
import java.lang.reflect.Field;
|
||||
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraftforge.common.Configuration;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
import net.minecraftforge.common.Property;
|
||||
import net.minecraftforge.event.EventBus;
|
||||
import net.minecraftforge.event.ForgeSubscribe;
|
||||
import net.minecraftforge.event.world.WorldEvent;
|
||||
import thaumcraft.api.*;
|
||||
import thaumicbees.bees.TBBeeManager;
|
||||
import thaumicbees.bees.genetics.BeeSpecies;
|
||||
import thaumicbees.block.BlockManager;
|
||||
import thaumicbees.item.ItemComb;
|
||||
import thaumicbees.item.ItemWax;
|
||||
import thaumicbees.item.ItemManager;
|
||||
import thaumicbees.thaumcraft.ThaumcraftCompat;
|
||||
|
||||
@Mod(
|
||||
modid="ThaumicBees",
|
||||
useMetadata=true,
|
||||
@@ -46,15 +32,11 @@ public class ThaumicBees
|
||||
public static CommonProxy proxy;
|
||||
|
||||
private String configsPath;
|
||||
private Configuration config;
|
||||
private ThaumicBeesConfiguration modConfig;
|
||||
private Config modConfig;
|
||||
private TBBeeManager plugin;
|
||||
|
||||
public ThaumicBees()
|
||||
{
|
||||
this.modConfig = new ThaumicBeesConfiguration();
|
||||
|
||||
this.modConfig.ThaumcraftRecipesAdded = false;
|
||||
this.plugin = new TBBeeManager();
|
||||
}
|
||||
|
||||
@@ -62,11 +44,7 @@ public class ThaumicBees
|
||||
public void preInit(FMLPreInitializationEvent event)
|
||||
{
|
||||
this.configsPath = event.getModConfigurationDirectory().getAbsolutePath();
|
||||
this.config = new Configuration(event.getSuggestedConfigurationFile());
|
||||
|
||||
this.config.load();
|
||||
// Allow us to set up some extra stuff.
|
||||
this.modConfig.doMiscConfig(this.config);
|
||||
this.modConfig = new Config(event.getSuggestedConfigurationFile());
|
||||
|
||||
ThaumcraftCompat.registerResearch();
|
||||
}
|
||||
@@ -77,8 +55,6 @@ public class ThaumicBees
|
||||
// Check on ExtraBees & enable content. =D
|
||||
this.modConfig.ExtraBeesInstalled = cpw.mods.fml.common.Loader.isModLoaded("ExtraBees");
|
||||
|
||||
// Give ThaumcraftCompat a chance to set itself up.
|
||||
ThaumcraftCompat.parseThaumcraftConfig(configsPath);
|
||||
this.proxy.preloadTextures();
|
||||
try
|
||||
{
|
||||
@@ -92,17 +68,10 @@ public class ThaumicBees
|
||||
throw new RuntimeException("Could not get the Forestry item texture file! Did Forestry load correctly?", e);
|
||||
}
|
||||
|
||||
BlockManager.setupBlocks(this.config);
|
||||
ItemManager.setupItems(this.config);
|
||||
this.config.save();
|
||||
this.modConfig.setupBlocks();
|
||||
this.modConfig.setupItems();
|
||||
|
||||
|
||||
|
||||
// Vanilla & Forestry mechanics setup
|
||||
ItemManager.setupCrafting();
|
||||
// Thaumcraft-specific crafting (Infusions, & Vis-needing)
|
||||
ThaumcraftCompat.setupCrafting();
|
||||
|
||||
ThaumcraftCompat.setupBackpacks();
|
||||
ThaumcraftCompat.setupItemAspects();
|
||||
|
||||
@@ -112,28 +81,30 @@ public class ThaumicBees
|
||||
@Mod.PostInit
|
||||
public void postInit(FMLPostInitializationEvent event)
|
||||
{
|
||||
// Item Manager has a couple tasks left to it at this point...
|
||||
ItemManager.postInit();
|
||||
plugin.postInit();
|
||||
this.modConfig.saveConfigs();
|
||||
|
||||
// Vanilla, Forestry & Thaumcraft crafting setup
|
||||
CraftingManager.setupCrafting();
|
||||
|
||||
// Forestry has init'd by this point.
|
||||
MinecraftForge.EVENT_BUS.register(this);
|
||||
|
||||
plugin.postInit();
|
||||
|
||||
ThaumcraftCompat.setupResearch();
|
||||
}
|
||||
|
||||
@ForgeSubscribe
|
||||
/*@ForgeSubscribe
|
||||
public void worldLoad(net.minecraftforge.event.world.WorldEvent.Load event)
|
||||
{
|
||||
if (!this.modConfig.ThaumcraftRecipesAdded)
|
||||
if (!this.modConfig.BeeInfusionsAdded)
|
||||
{
|
||||
ThaumcraftCompat.setupBeeInfusions(event.world);
|
||||
this.modConfig.ThaumcraftRecipesAdded = true;
|
||||
CraftingManager.setupBeeInfusions(event.world);
|
||||
this.modConfig.BeeInfusionsAdded = true;
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
public static ThaumicBeesConfiguration getInstanceConfig()
|
||||
public static Config getInstanceConfig()
|
||||
{
|
||||
return object.modConfig;
|
||||
}
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
package thaumicbees.main;
|
||||
|
||||
import net.minecraftforge.common.Configuration;
|
||||
import net.minecraftforge.common.Property;
|
||||
|
||||
/**
|
||||
* A class to hold some data related to mod state & functions.
|
||||
* @author MysteriousAges
|
||||
*
|
||||
*/
|
||||
public class ThaumicBeesConfiguration
|
||||
{
|
||||
public boolean DrawParticleEffects;
|
||||
public boolean ThaumcraftRecipesAdded;
|
||||
public boolean ExtraBeesInstalled;
|
||||
public boolean AddThaumcraftItemsToBackpacks;
|
||||
|
||||
public String ThaumaturgeExtraItems;
|
||||
|
||||
public void doMiscConfig(Configuration cfg)
|
||||
{
|
||||
Property p;
|
||||
|
||||
p = cfg.get("general", "backpack.thaumaturge.additionalItems", "");
|
||||
p.comment = "Add additional items to the Thaumaturge's Backpack." +
|
||||
"\n Format is the same as Forestry's: id:meta;id;id:meta (etc)";
|
||||
this.ThaumaturgeExtraItems = p.value;
|
||||
|
||||
p = cfg.get("general", "backpack.forestry.addThaumcraftItems", true);
|
||||
p.comment = "Set to true if you want ThaumicBees to add several Thaumcraft blocks & items to Forestry backpacks." +
|
||||
"\n Set to false to disable.";
|
||||
this.AddThaumcraftItemsToBackpacks = p.getBoolean(true);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
package thaumicbees.main;
|
||||
|
||||
public class Vector3
|
||||
{
|
||||
public int x;
|
||||
public int y;
|
||||
public int z;
|
||||
|
||||
public Vector3()
|
||||
{
|
||||
x = y = z = 0;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,382 @@
|
||||
package thaumicbees.main.utils;
|
||||
|
||||
import thaumcraft.api.EnumTag;
|
||||
import thaumcraft.api.ObjectTags;
|
||||
import thaumcraft.api.ThaumcraftApi;
|
||||
import thaumicbees.bees.BeeGenomeManager;
|
||||
import thaumicbees.bees.genetics.Allele;
|
||||
import thaumicbees.item.ItemCapsule;
|
||||
import thaumicbees.item.types.CombType;
|
||||
import thaumicbees.item.types.DropType;
|
||||
import thaumicbees.item.types.LiquidType;
|
||||
import thaumicbees.item.types.PropolisType;
|
||||
import thaumicbees.item.types.ResourceType;
|
||||
import thaumicbees.item.types.WaxType;
|
||||
import thaumicbees.main.Config;
|
||||
import thaumicbees.thaumcraft.ShapelessBeeInfusionCraftingRecipe;
|
||||
import thaumicbees.thaumcraft.TCMiscResource;
|
||||
import thaumicbees.thaumcraft.TCShardType;
|
||||
import cpw.mods.fml.common.registry.GameRegistry;
|
||||
import forestry.api.apiculture.BeeManager;
|
||||
import forestry.api.apiculture.EnumBeeChromosome;
|
||||
import forestry.api.apiculture.EnumBeeType;
|
||||
import forestry.api.core.BlockInterface;
|
||||
import forestry.api.core.ItemInterface;
|
||||
import forestry.api.recipes.RecipeManagers;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.liquids.LiquidContainerData;
|
||||
import net.minecraftforge.liquids.LiquidContainerRegistry;
|
||||
import net.minecraftforge.liquids.LiquidDictionary;
|
||||
import net.minecraftforge.liquids.LiquidStack;
|
||||
|
||||
public class CraftingManager
|
||||
{
|
||||
public static void setupCrafting()
|
||||
{
|
||||
ItemStack inputStack; // Variable to hold forestry items
|
||||
|
||||
// Essentia bottles
|
||||
ItemStack output = new ItemStack(Config.tcEssentiaBottle);
|
||||
output.stackSize = 8;
|
||||
GameRegistry.addRecipe(output, new Object[]
|
||||
{
|
||||
" C ", "GPG", "PGP",
|
||||
'G', Config.wax,
|
||||
'C', Item.clay,
|
||||
'P', Block.thinGlass
|
||||
});
|
||||
|
||||
output = new ItemStack(Config.tcEssentiaBottle);
|
||||
output.stackSize = 4;
|
||||
GameRegistry.addRecipe(output, new Object[] {
|
||||
" W ", "W W", " W ",
|
||||
'W', Config.wax
|
||||
});
|
||||
|
||||
// Magic capsules
|
||||
output = new ItemStack(Config.magicCapsule); output.stackSize = 4;
|
||||
GameRegistry.addRecipe(output, new Object[] {
|
||||
"WWW",
|
||||
'W', Config.wax.getStackForType(WaxType.MAGIC)
|
||||
});
|
||||
|
||||
output = new ItemStack(Config.tcMiscResource, 1, TCMiscResource.KNOWLEDGE_FRAGMENT.ordinal());
|
||||
GameRegistry.addRecipe(output, new Object[] {
|
||||
"FF", "FF",
|
||||
'F', Config.miscResources.getStackForType(ResourceType.LORE_FRAGMENT)
|
||||
});
|
||||
|
||||
// T1 Thaumaturge's backpack
|
||||
GameRegistry.addRecipe(new ItemStack(Config.thaumaturgeBackpackT1), new Object[] {
|
||||
"SWS", "NCN", "SWS",
|
||||
'S', Item.silk,
|
||||
'W', Block.cloth,
|
||||
'N', Item.goldNugget,
|
||||
'C', Block.chest
|
||||
});
|
||||
|
||||
// Concentrated Fertilizer -> Forestry fertilizer
|
||||
inputStack = Config.miscResources.getStackForType(ResourceType.EXTENDED_FERTILIZER);
|
||||
output = ItemInterface.getItem("fertilizerCompound");
|
||||
output.stackSize = 6;
|
||||
GameRegistry.addRecipe(output, new Object[] {
|
||||
" S ", " F ", " S ",
|
||||
'F', inputStack,
|
||||
'S', Block.sand
|
||||
});
|
||||
GameRegistry.addRecipe(output, new Object[] {
|
||||
" ", "SFS", " ",
|
||||
'F', inputStack,
|
||||
'S', Block.sand
|
||||
});
|
||||
|
||||
output = output.copy();
|
||||
output.stackSize = 12;
|
||||
GameRegistry.addRecipe(output, new Object[] {
|
||||
"aaa", "aFa", "aaa",
|
||||
'F', inputStack,
|
||||
'a', ItemInterface.getItem("ash")
|
||||
});
|
||||
|
||||
// "bottling" Intellect drops
|
||||
GameRegistry.addRecipe(new ItemStack(Item.expBottle), new Object[] {
|
||||
"DDD", "DBD", "DDD",
|
||||
'D', Config.drops.getStackForType(DropType.INTELLECT),
|
||||
'B', Item.glassBottle
|
||||
});
|
||||
|
||||
// "bottling" Crystal aspects.
|
||||
for (EnumTag tag : EnumTag.values())
|
||||
{
|
||||
if (tag != EnumTag.UNKNOWN)
|
||||
{
|
||||
output = new ItemStack(Config.tcEssentiaBottle, 1, tag.id + 1);
|
||||
GameRegistry.addRecipe(output, new Object[] {
|
||||
"ccc", "cxc", "ccc",
|
||||
'c', new ItemStack(Config.solidFlux, 1, tag.id),
|
||||
'x', Config.tcEssentiaBottle
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// 20 is the 'average' time to centrifuge a comb.
|
||||
RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.OCCULT),
|
||||
new ItemStack[] {Config.wax.getStackForType(WaxType.MAGIC), ItemInterface.getItem("honeyDrop") },
|
||||
new int[] { 100, 60 });
|
||||
RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.OTHERWORLDLY),
|
||||
new ItemStack[] {ItemInterface.getItem("beeswax"), Config.wax.getStackForType(WaxType.MAGIC), ItemInterface.getItem("honeyDrop") },
|
||||
new int[] { 50, 20, 100 });
|
||||
RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.PAPERY),
|
||||
new ItemStack[] {ItemInterface.getItem("beeswax"), Config.wax.getStackForType(WaxType.MAGIC), new ItemStack(Item.paper) },
|
||||
new int[] { 80, 20, 5 });
|
||||
RecipeManagers.centrifugeManager.addRecipe(25, Config.combs.getStackForType(CombType.STARK),
|
||||
new ItemStack[] {ItemInterface.getItem("beeswax"), Config.wax.getStackForType(WaxType.MAGIC), Config.propolis.getStackForType(PropolisType.STARK) },
|
||||
new int[] { 10, 95, 15 });
|
||||
RecipeManagers.centrifugeManager.addRecipe(25, Config.combs.getStackForType(CombType.AIRY),
|
||||
new ItemStack[] {Config.wax.getStackForType(WaxType.MAGIC), Config.propolis.getStackForType(PropolisType.AIR) },
|
||||
new int[] { 100, 65 });
|
||||
RecipeManagers.centrifugeManager.addRecipe(25, Config.combs.getStackForType(CombType.FIREY),
|
||||
new ItemStack[] {Config.wax.getStackForType(WaxType.MAGIC), Config.propolis.getStackForType(PropolisType.FIRE) },
|
||||
new int[] { 100, 65 });
|
||||
RecipeManagers.centrifugeManager.addRecipe(25, Config.combs.getStackForType(CombType.WATERY),
|
||||
new ItemStack[] {Config.wax.getStackForType(WaxType.MAGIC), Config.propolis.getStackForType(PropolisType.WATER)},
|
||||
new int[] { 100, 65 });
|
||||
RecipeManagers.centrifugeManager.addRecipe(25, Config.combs.getStackForType(CombType.EARTHY),
|
||||
new ItemStack[] {Config.wax.getStackForType(WaxType.MAGIC), Config.propolis.getStackForType(PropolisType.EARTH) },
|
||||
new int[] { 100, 65 });
|
||||
RecipeManagers.centrifugeManager.addRecipe(25, Config.combs.getStackForType(CombType.INFUSED),
|
||||
new ItemStack[] {Config.wax.getStackForType(WaxType.MAGIC), Config.wax.getStackForType(WaxType.MAGIC), Config.propolis.getStackForType(PropolisType.INFUSED) },
|
||||
new int[] { 100, 50, 65 });
|
||||
RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.INTELLECT),
|
||||
new ItemStack[] { Config.wax.getStackForType(WaxType.MAGIC), ItemInterface.getItem("honeydew"), Config.drops.getStackForType(DropType.INTELLECT) },
|
||||
new int[] { 90, 40, 2 });
|
||||
RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.SKULKING),
|
||||
new ItemStack[] {ItemInterface.getItem("beeswax"), ItemInterface.getItem("propolis"), ItemInterface.getItem("honeydew") },
|
||||
new int[] { 90, 20, 35 });
|
||||
|
||||
RecipeManagers.centrifugeManager.addRecipe(8, Config.propolis.getStackForType(PropolisType.STARK),
|
||||
new ItemStack[] {new ItemStack(Config.tcShard, 1, TCShardType.DULL.ordinal())},
|
||||
new int[] { 13 });
|
||||
RecipeManagers.centrifugeManager.addRecipe(8, Config.propolis.getStackForType(PropolisType.AIR),
|
||||
new ItemStack[] {new ItemStack(Config.tcShard, 1, TCShardType.AIR.ordinal())},
|
||||
new int[] { 10 });
|
||||
RecipeManagers.centrifugeManager.addRecipe(8, Config.propolis.getStackForType(PropolisType.FIRE),
|
||||
new ItemStack[] {new ItemStack(Config.tcShard, 1, TCShardType.FIRE.ordinal())},
|
||||
new int[] { 10 });
|
||||
RecipeManagers.centrifugeManager.addRecipe(8, Config.propolis.getStackForType(PropolisType.WATER),
|
||||
new ItemStack[] {new ItemStack(Config.tcShard, 1, TCShardType.WATER.ordinal())},
|
||||
new int[] { 10 });
|
||||
RecipeManagers.centrifugeManager.addRecipe(8, Config.propolis.getStackForType(PropolisType.EARTH),
|
||||
new ItemStack[] {new ItemStack(Config.tcShard, 1, TCShardType.EARTH.ordinal())},
|
||||
new int[] { 10 });
|
||||
RecipeManagers.centrifugeManager.addRecipe(8, Config.propolis.getStackForType(PropolisType.INFUSED),
|
||||
new ItemStack[] {new ItemStack(Config.tcShard, 1, TCShardType.MAGIC.ordinal())},
|
||||
new int[] { 10 });
|
||||
|
||||
// Squeezer recipes
|
||||
RecipeManagers.squeezerManager.addRecipe(20, new ItemStack[] {Config.propolis.getStackForType(PropolisType.FIRE) },
|
||||
new LiquidStack(Block.lavaStill, 250),
|
||||
new ItemStack(Config.tcShard, 1, TCShardType.FIRE.ordinal()), 18);
|
||||
RecipeManagers.squeezerManager.addRecipe(20, new ItemStack[] {Config.propolis.getStackForType(PropolisType.WATER) },
|
||||
new LiquidStack(Block.waterStill, 500),
|
||||
new ItemStack(Config.tcShard, 1, TCShardType.WATER.ordinal()), 18);
|
||||
|
||||
// Carpenter recipes
|
||||
inputStack = ItemInterface.getItem("craftingMaterial");
|
||||
inputStack.setItemDamage(3); // Set to Silk Mesh
|
||||
output = new ItemStack(Config.thaumaturgeBackpackT2);
|
||||
RecipeManagers.carpenterManager.addRecipe(200, new LiquidStack(Block.waterStill.blockID, 1000), null, output, new Object[] {
|
||||
"WXW", "WTW", "WWW",
|
||||
'X', Item.diamond,
|
||||
'W', inputStack,
|
||||
'T', new ItemStack(Config.thaumaturgeBackpackT1)
|
||||
});
|
||||
|
||||
output = BlockInterface.getBlock("candle");
|
||||
output.stackSize = 24;
|
||||
RecipeManagers.carpenterManager.addRecipe(30, new LiquidStack(Block.waterStill, 600), null, output, new Object[] {
|
||||
" S ", "WWW", "WWW",
|
||||
'W', Config.wax,
|
||||
'S', Item.silk
|
||||
});
|
||||
|
||||
output = BlockInterface.getBlock("candle");
|
||||
output.stackSize = 6;
|
||||
inputStack = ItemInterface.getItem("craftingMaterial");
|
||||
inputStack.setItemDamage(2); // Set to Silk Wisp
|
||||
RecipeManagers.carpenterManager.addRecipe(30, new LiquidStack(Block.waterStill, 600), null, output, new Object[] {
|
||||
"WSW",
|
||||
'W', Config.wax,
|
||||
'S', inputStack
|
||||
});
|
||||
|
||||
output = Config.miscResources.getStackForType(ResourceType.AROMATIC_LUMP, 2);
|
||||
RecipeManagers.carpenterManager.addRecipe(30, new LiquidStack(ItemInterface.getItem("liquidHoney").itemID, 1000), null, output, new Object[] {
|
||||
" P ", "JDJ", " P ",
|
||||
'P', ItemInterface.getItem("pollen"),
|
||||
'J', ItemInterface.getItem("royalJelly"),
|
||||
'D', Config.drops.getStackForType(DropType.ENCHANTED)
|
||||
});
|
||||
|
||||
RecipeManagers.carpenterManager.addRecipe(30, new LiquidStack(ItemInterface.getItem("liquidHoney").itemID, 1000), null, output, new Object[] {
|
||||
" J ", "PDP", " J ",
|
||||
'P', ItemInterface.getItem("pollen"),
|
||||
'J', ItemInterface.getItem("royalJelly"),
|
||||
'D', Config.drops.getStackForType(DropType.ENCHANTED)
|
||||
});
|
||||
// Make Aromatic Lumps a swarmer inducer. Chance is /1000.
|
||||
BeeManager.inducers.put(output, 80);
|
||||
|
||||
|
||||
output = Config.miscResources.getStackForType(ResourceType.EXTENDED_FERTILIZER);
|
||||
ItemStack inputA = ItemInterface.getItem("apatite");
|
||||
ObjectTags tags = (new ObjectTags()).add(EnumTag.CROP, 12);
|
||||
output.stackSize = 2;
|
||||
ThaumcraftApi.addShapelessInfusionCraftingRecipe("FERTILIZER", "FERTILIZER", 5, tags, output, new Object[] {
|
||||
inputA
|
||||
});
|
||||
|
||||
output = new ItemStack(Config.hiveFrameMagic);
|
||||
inputA = ItemInterface.getItem("frameUntreated");
|
||||
tags = new ObjectTags().add(EnumTag.WOOD, 4).add(EnumTag.INSECT, 8);
|
||||
ThaumcraftApi.addShapelessInfusionCraftingRecipe("HIVEFRAME", "FRAMEMAGIC", 50, tags, output, new Object[] {
|
||||
inputA
|
||||
});
|
||||
|
||||
output = new ItemStack(Config.hiveFrameResilient);
|
||||
tags = new ObjectTags().add(EnumTag.WOOD, 12).add(EnumTag.INSECT, 8).add(EnumTag.EXCHANGE, 12);
|
||||
ThaumcraftApi.addInfusionCraftingRecipe("HIVEFRAME2", "FRAMERESILIENT", 50, tags, output, new Object[] {
|
||||
" i ", "ifi", " i ",
|
||||
'f', Config.hiveFrameMagic,
|
||||
'i', Item.ingotIron
|
||||
});
|
||||
|
||||
output = new ItemStack(Config.hiveFrameGentle);
|
||||
tags = new ObjectTags().add(EnumTag.WOOD, 4).add(EnumTag.INSECT, 8).add(EnumTag.HEAL, 12);
|
||||
ThaumcraftApi.addInfusionCraftingRecipe("HIVEFRAMEGENTLE", "FRAMEGENTLE", 50, tags, output, new Object[] {
|
||||
"www", "wFw", "www",
|
||||
'F', inputA,
|
||||
'w', ItemInterface.getItem("beeswax")
|
||||
|
||||
});
|
||||
|
||||
output = new ItemStack(Config.hiveFrameMetabolic);
|
||||
tags = new ObjectTags().add(EnumTag.WOOD, 4).add(EnumTag.INSECT, 8).add(EnumTag.LIFE, 8).add(EnumTag.MOTION, 8)
|
||||
.add(EnumTag.EXCHANGE, 8);
|
||||
ThaumcraftApi.addShapelessInfusionCraftingRecipe("HIVEFRAMEMETA", "FRAMEMETABOLIC", 50, tags, output, new Object[] {
|
||||
Item.magmaCream,
|
||||
inputA
|
||||
});
|
||||
|
||||
output = new ItemStack(Config.hiveFrameNecrotic);
|
||||
tags = new ObjectTags().add(EnumTag.WOOD, 4).add(EnumTag.INSECT, 8).add(EnumTag.EXCHANGE, 12).add(EnumTag.DEATH, 16)
|
||||
.add(EnumTag.POISON, 4);
|
||||
ThaumcraftApi.addInfusionCraftingRecipe("HIVEFRAMENECRO", "FRAMENECROTIC", 50, tags, output, new Object[] {
|
||||
" S ", "SxS", " S ",
|
||||
'S', Item.rottenFlesh,
|
||||
'x', inputA
|
||||
});
|
||||
|
||||
ItemStack drone = BeeGenomeManager.getBeeNBTForSpecies(Allele.Stark, EnumBeeType.DRONE);
|
||||
ItemStack princess = BeeGenomeManager.getBeeNBTForSpecies(Allele.Stark, EnumBeeType.PRINCESS);
|
||||
ItemStack airDrone = Allele.Air.getBeeItem(EnumBeeType.DRONE);
|
||||
ItemStack airPrincess = Allele.Air.getBeeItem(EnumBeeType.PRINCESS);
|
||||
ItemStack waterDrone = Allele.Water.getBeeItem(EnumBeeType.DRONE);
|
||||
ItemStack waterPrincess = Allele.Water.getBeeItem(EnumBeeType.PRINCESS);
|
||||
ItemStack earthDrone = Allele.Earth.getBeeItem(EnumBeeType.DRONE);
|
||||
ItemStack earthPrincess = Allele.Earth.getBeeItem(EnumBeeType.PRINCESS);
|
||||
ItemStack fireDrone = Allele.Fire.getBeeItem(EnumBeeType.DRONE);
|
||||
ItemStack firePrincess = Allele.Fire.getBeeItem(EnumBeeType.PRINCESS);
|
||||
ItemStack magicDrone = Allele.Infused.getBeeItem(EnumBeeType.DRONE);
|
||||
ItemStack magicPrincess = Allele.Infused.getBeeItem(EnumBeeType.PRINCESS);
|
||||
|
||||
String researchKey = "BEEINFUSION";
|
||||
|
||||
tags = (new ObjectTags()).add(EnumTag.WIND, 40).add(EnumTag.MOTION, 24);
|
||||
ShapelessBeeInfusionCraftingRecipe.createNewRecipe(researchKey, "BEEINFUSION1", airDrone,
|
||||
new ItemStack[] { drone, new ItemStack(Config.tcShard, 1, TCShardType.AIR.ordinal())},
|
||||
100, tags, Allele.Stark, EnumBeeChromosome.SPECIES);
|
||||
ShapelessBeeInfusionCraftingRecipe.createNewRecipe(researchKey, "BEEINFUSION2", airPrincess,
|
||||
new ItemStack[] { princess , new ItemStack(Config.tcShard, 1, TCShardType.AIR.ordinal()) },
|
||||
100, tags, Allele.Stark, EnumBeeChromosome.SPECIES);
|
||||
|
||||
tags = (new ObjectTags()).add(EnumTag.FIRE, 40).add( EnumTag.POWER, 24);
|
||||
ShapelessBeeInfusionCraftingRecipe.createNewRecipe(researchKey, "BEEINFUSION3", fireDrone, new Object[]
|
||||
{ drone, new ItemStack(Config.tcShard, 1, TCShardType.FIRE.ordinal()) },
|
||||
100, tags, Allele.Stark, EnumBeeChromosome.SPECIES);
|
||||
ShapelessBeeInfusionCraftingRecipe.createNewRecipe(researchKey, "BEEINFUSION4", firePrincess, new Object[]
|
||||
{ princess, new ItemStack(Config.tcShard, 1, TCShardType.FIRE.ordinal()) },
|
||||
100, tags, Allele.Stark, EnumBeeChromosome.SPECIES);
|
||||
|
||||
tags = (new ObjectTags()).add(EnumTag.WATER, 40).add( EnumTag.COLD, 24);
|
||||
ShapelessBeeInfusionCraftingRecipe.createNewRecipe(researchKey, "BEEINFUSION5", waterDrone, new Object[]
|
||||
{ drone, new ItemStack(Config.tcShard, 1, TCShardType.WATER.ordinal()) },
|
||||
100, tags, Allele.Stark, EnumBeeChromosome.SPECIES);
|
||||
ShapelessBeeInfusionCraftingRecipe.createNewRecipe(researchKey, "BEEINFUSION6", waterPrincess, new Object[]
|
||||
{ princess, new ItemStack(Config.tcShard, 1, TCShardType.WATER.ordinal()) },
|
||||
100, tags, Allele.Stark, EnumBeeChromosome.SPECIES);
|
||||
|
||||
tags = (new ObjectTags()).add(EnumTag.EARTH, 40).add( EnumTag.ROCK, 24);
|
||||
ShapelessBeeInfusionCraftingRecipe.createNewRecipe(researchKey, "BEEINFUSION7", earthDrone, new Object[]
|
||||
{ drone, new ItemStack(Config.tcShard, 1, TCShardType.EARTH.ordinal()) },
|
||||
100, tags, Allele.Stark, EnumBeeChromosome.SPECIES);
|
||||
ShapelessBeeInfusionCraftingRecipe.createNewRecipe(researchKey, "BEEINFUSION8", earthPrincess, new Object[]
|
||||
{ princess, new ItemStack(Config.tcShard, 1, TCShardType.EARTH.ordinal()) },
|
||||
100, tags, Allele.Stark, EnumBeeChromosome.SPECIES);
|
||||
|
||||
tags = new ObjectTags().add(EnumTag.MAGIC, 40).add(EnumTag.FLUX, 24);
|
||||
ShapelessBeeInfusionCraftingRecipe.createNewRecipe(researchKey, "BEEINFUSION9", magicDrone, new Object[]
|
||||
{ drone, new ItemStack(Config.tcShard, 1, TCShardType.MAGIC.ordinal()) },
|
||||
100, tags, Allele.Stark, EnumBeeChromosome.SPECIES);
|
||||
ShapelessBeeInfusionCraftingRecipe.createNewRecipe(researchKey, "BEEINFUSION0", magicPrincess, new Object[]
|
||||
{ princess, new ItemStack(Config.tcShard, 1, TCShardType.MAGIC.ordinal()) },
|
||||
100, tags, Allele.Stark, EnumBeeChromosome.SPECIES);
|
||||
|
||||
|
||||
|
||||
registerLiquidContainer(Config.magicCapsule);
|
||||
}
|
||||
|
||||
private static void registerLiquidContainer(ItemCapsule baseCapsule)
|
||||
{
|
||||
ItemStack empty = new ItemStack(baseCapsule, 1, 0);
|
||||
ItemStack filled;
|
||||
LiquidStack liquid = null;
|
||||
|
||||
for (LiquidType l : LiquidType.values())
|
||||
{
|
||||
switch (l)
|
||||
{
|
||||
case EMPTY:
|
||||
liquid = null;
|
||||
break;
|
||||
case WATER:
|
||||
liquid = new LiquidStack(Block.waterStill, baseCapsule.getType().capacity);
|
||||
break;
|
||||
case LAVA:
|
||||
liquid = new LiquidStack(Block.lavaStill, baseCapsule.getType().capacity);
|
||||
break;
|
||||
default:
|
||||
liquid = LiquidDictionary.getLiquid(l.liquidID, baseCapsule.getType().capacity);
|
||||
break;
|
||||
}
|
||||
|
||||
if (liquid != null)
|
||||
{
|
||||
filled = new ItemStack(baseCapsule, 1, l.ordinal());
|
||||
LiquidContainerRegistry.registerLiquid(new LiquidContainerData(liquid, filled, empty));
|
||||
|
||||
// Register with Squeezer/Bottler
|
||||
RecipeManagers.bottlerManager.addRecipe(5, liquid, empty, filled);
|
||||
RecipeManagers.squeezerManager.addRecipe(10, new ItemStack[] {filled} , liquid,
|
||||
Config.wax.getStackForType(WaxType.MAGIC), 20);
|
||||
l.available = true;
|
||||
}
|
||||
}
|
||||
// Empty will be set to unavailable. Obviously, it always is.
|
||||
LiquidType.EMPTY.available = true;
|
||||
}
|
||||
}
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
package thaumicbees.bees;
|
||||
package thaumicbees.main.utils;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
|
||||
@@ -37,6 +37,6 @@ public enum MoonPhase
|
||||
|
||||
public static MoonPhase getMoonPhase(World w)
|
||||
{
|
||||
return MoonPhase.values()[(int)(w.getWorldTime() / 24000L) % 8];
|
||||
return MoonPhase.values()[(int)((w.getWorldTime() + 6000) / 24000L) % 8];
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package thaumicbees.main;
|
||||
package thaumicbees.main.utils;
|
||||
|
||||
public class VersionInfo
|
||||
{
|
||||
@@ -4,15 +4,14 @@ import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
|
||||
import thaumcraft.api.EnumTag;
|
||||
import thaumcraft.api.ItemApi;
|
||||
import thaumcraft.api.ObjectTags;
|
||||
import thaumcraft.api.ThaumcraftApi;
|
||||
import thaumcraft.api.research.ResearchItem;
|
||||
import thaumcraft.api.research.ResearchList;
|
||||
import thaumicbees.bees.BeeGenomeManager;
|
||||
import thaumicbees.bees.genetics.Allele;
|
||||
import thaumicbees.bees.genetics.BeeGenomeManager;
|
||||
import thaumicbees.block.BlockManager;
|
||||
import thaumicbees.item.ItemComb;
|
||||
import thaumicbees.item.ItemManager;
|
||||
import thaumicbees.item.ItemMiscResources;
|
||||
import thaumicbees.item.types.CombType;
|
||||
import thaumicbees.item.types.DropType;
|
||||
@@ -20,6 +19,7 @@ import thaumicbees.item.types.LiquidType;
|
||||
import thaumicbees.item.types.ResourceType;
|
||||
import thaumicbees.item.types.WaxType;
|
||||
import thaumicbees.main.CommonProxy;
|
||||
import thaumicbees.main.Config;
|
||||
import thaumicbees.main.ThaumicBees;
|
||||
import thaumicbees.storage.BackpackDefinition;
|
||||
|
||||
@@ -41,45 +41,26 @@ import net.minecraftforge.common.Configuration;
|
||||
|
||||
public class ThaumcraftCompat
|
||||
{
|
||||
|
||||
public static void parseThaumcraftConfig(String configPath)
|
||||
public static void getThaumcraftBlocks()
|
||||
{
|
||||
Configuration tcConfig = new Configuration(new File(configPath + "/Thaumcraft.cfg"));
|
||||
Property p;
|
||||
|
||||
tcConfig.load();
|
||||
|
||||
// Load blocks out of the Thaumcraft config to get their IDs;
|
||||
p = tcConfig.getBlock("BlockCustomPlant", 0);
|
||||
BlockManager.tcPlant = Block.blocksList[p.getInt()];
|
||||
p = tcConfig.getBlock("BlockCandle", 0);
|
||||
BlockManager.tcCandle = Block.blocksList[ p.getInt()];
|
||||
p = tcConfig.getBlock("BlockCrystal", 0);
|
||||
BlockManager.tcCrystal = Block.blocksList[p.getInt()];
|
||||
p = tcConfig.getBlock("BlockMarker", 0);
|
||||
BlockManager.tcMarker = Block.blocksList[p.getInt()];
|
||||
p = tcConfig.getBlock("BlockJar", 0);
|
||||
BlockManager.tcJar = Block.blocksList[p.getInt()];
|
||||
p = tcConfig.getBlock("BlockMagicalLeaves", 0);
|
||||
BlockManager.tcLeaf = Block.blocksList[p.getInt()];
|
||||
p = tcConfig.getBlock("BlockMagicalLog", 0);
|
||||
BlockManager.tcLog = Block.blocksList[p.getInt()];
|
||||
p = tcConfig.getBlock("BlockSecure", 0);
|
||||
BlockManager.tcWarded = Block.blocksList[p.getInt()];
|
||||
|
||||
// Load items out of the Thaumcraft config to get their IDs.
|
||||
p = tcConfig.getItem("ItemEssence", 0);
|
||||
ItemManager.tcEssentiaBottle = Item.itemsList[p.getInt() + 256];
|
||||
p = tcConfig.getItem("ItemResource", 0);
|
||||
ItemManager.tcMiscResource = Item.itemsList[p.getInt() + 256];
|
||||
p = tcConfig.getItem("ItemShard", 0);
|
||||
ItemManager.tcShard = Item.itemsList[p.getInt() + 256];
|
||||
p = tcConfig.getItem("BlockJarFilledItem", 0);
|
||||
ItemManager.tcFilledJar = Item.itemsList[p.getInt() + 256];
|
||||
p = tcConfig.getItem("ItemGolemPlacer", 0);
|
||||
ItemManager.tcGolem = Item.itemsList[p.getInt() + 256];
|
||||
p = tcConfig.getItem("ItemEssence", 0);
|
||||
ItemManager.tcWispEssence = Item.itemsList[p.getInt() + 256];
|
||||
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];
|
||||
}
|
||||
|
||||
public static void getThaumcraftItems()
|
||||
{
|
||||
Config.tcFilledJar = Item.itemsList[ItemApi.getItem("itemJarFilled", 0).itemID];
|
||||
Config.tcMiscResource = Item.itemsList[ItemApi.getItem("itemResource", 0).itemID];
|
||||
Config.tcEssentiaBottle = Item.itemsList[ItemApi.getItem("itemEssence", 0).itemID];
|
||||
Config.tcShard = Item.itemsList[ItemApi.getItem("itemShard", 0).itemID];
|
||||
Config.tcGolem = Item.itemsList[ItemApi.getItem("itemGolemPlacer", 0).itemID];
|
||||
Config.tcWispEssence = Item.itemsList[ItemApi.getItem("itemWispEssence", 0).itemID];
|
||||
}
|
||||
|
||||
public static void setupBackpacks()
|
||||
@@ -87,34 +68,35 @@ public class ThaumcraftCompat
|
||||
if (ThaumicBees.getInstanceConfig().AddThaumcraftItemsToBackpacks)
|
||||
{
|
||||
// Add all shards and Thaumium to miner's backpack
|
||||
String ids = ItemManager.tcShard.itemID + ":" + -1 + ";"
|
||||
+ ItemManager.tcMiscResource.itemID + ":" + TCMiscResource.THAUMIUM.ordinal();
|
||||
String ids = Config.tcShard.itemID + ":" + -1 + ";"
|
||||
+ Config.tcMiscResource.itemID + ":" + TCMiscResource.THAUMIUM.ordinal();
|
||||
FMLInterModComms.sendMessage("Forestry", "add-backpack-items", "miner@" + ids);
|
||||
|
||||
// All resources go into Thaumaturge's backpack
|
||||
ids = ItemManager.tcMiscResource.itemID + ":" + -1 + ";"
|
||||
+ ItemManager.tcShard.itemID + ":" + -1 + ";"
|
||||
+ ItemManager.tcFilledJar.itemID + ":" + -1 + ";"
|
||||
+ BlockManager.tcCrystal.blockID + ":" + -1 + ";"
|
||||
+ BlockManager.tcJar.blockID + ":" + -1 + ";"
|
||||
+ ItemManager.tcGolem.itemID + ":" + -1;
|
||||
ids = Config.tcMiscResource.itemID + ":" + -1 + ";"
|
||||
+ Config.tcShard.itemID + ":" + -1 + ";"
|
||||
+ Config.tcFilledJar.itemID + ":" + -1 + ";"
|
||||
+ Config.tcCrystal.blockID + ":" + -1 + ";"
|
||||
+ Config.tcJar.blockID + ":" + -1 + ";"
|
||||
+ Config.tcGolem.itemID + ":" + -1 + ";"
|
||||
+ Config.solidFlux.itemID + ":" + -1;
|
||||
FMLInterModComms.sendMessage("Forestry", "add-backpack-items", "thaumaturge@" + ids);
|
||||
|
||||
// Add some plants & saplings to Forester's
|
||||
ids = BlockManager.tcPlant.blockID + ":" + "-1" + ";"
|
||||
+ BlockManager.tcLeaf.blockID + ":" + -1 + ";"
|
||||
+ BlockManager.tcLog.blockID + ":" + "-1";
|
||||
ids = Config.tcPlant.blockID + ":" + "-1" + ";"
|
||||
+ Config.tcLeaf.blockID + ":" + -1 + ";"
|
||||
+ Config.tcLog.blockID + ":" + "-1";
|
||||
FMLInterModComms.sendMessage("Forestry", "add-backpack-items", "forester@" + ids);
|
||||
|
||||
// Add Wisp & brains to Hunter's
|
||||
ids = ItemManager.tcWispEssence.itemID + ":" + -1 + ";"
|
||||
+ ItemManager.tcMiscResource.itemID + ":" + TCMiscResource.ZOMBIE_BRAIN.ordinal();
|
||||
ids = Config.tcWispEssence.itemID + ":" + -1 + ";"
|
||||
+ Config.tcMiscResource.itemID + ":" + TCMiscResource.ZOMBIE_BRAIN.ordinal();
|
||||
FMLInterModComms.sendMessage("Forestry", "add-backpack-items", "hunter@" + ids);
|
||||
|
||||
// Add Marker, warded stone, candle to builder
|
||||
ids = BlockManager.tcCandle.blockID + ":" + -1 + ";"
|
||||
+ BlockManager.tcMarker.blockID + ":" + -1 + ";"
|
||||
+ BlockManager.tcWarded.blockID + ":" + -1;
|
||||
ids = Config.tcCandle.blockID + ":" + -1 + ";"
|
||||
+ Config.tcMarker.blockID + ":" + -1 + ";"
|
||||
+ Config.tcWarded.blockID + ":" + -1;
|
||||
FMLInterModComms.sendMessage("Forestry", "add-backpack-items", "builder@" + ids);
|
||||
}
|
||||
}
|
||||
@@ -125,34 +107,34 @@ public class ThaumcraftCompat
|
||||
ItemStack itemStack;
|
||||
|
||||
tags = new ObjectTags().add(EnumTag.MAGIC, 2);
|
||||
ThaumcraftApi.registerObjectTag(ItemManager.wax.itemID, WaxType.MAGIC.ordinal(), tags);
|
||||
ThaumcraftApi.registerObjectTag(Config.wax.itemID, WaxType.MAGIC.ordinal(), tags);
|
||||
|
||||
tags = new ObjectTags().add(EnumTag.MAGIC, 1);
|
||||
ThaumcraftApi.registerObjectTag(ItemManager.drops.itemID, DropType.ENCHANTED.ordinal(), tags);
|
||||
ThaumcraftApi.registerObjectTag(Config.drops.itemID, DropType.ENCHANTED.ordinal(), tags);
|
||||
tags = new ObjectTags().add(EnumTag.KNOWLEDGE, 1);
|
||||
ThaumcraftApi.registerObjectTag(ItemManager.drops.itemID, DropType.INTELLECT.ordinal(), tags);
|
||||
ThaumcraftApi.registerObjectTag(Config.drops.itemID, DropType.INTELLECT.ordinal(), tags);
|
||||
|
||||
tags = new ObjectTags().add(EnumTag.KNOWLEDGE, 3);
|
||||
ThaumcraftApi.registerObjectTag(ItemManager.miscResources.itemID, ResourceType.LORE_FRAGMENT.ordinal(), tags);
|
||||
ThaumcraftApi.registerObjectTag(Config.miscResources.itemID, ResourceType.LORE_FRAGMENT.ordinal(), tags);
|
||||
|
||||
tags = new ObjectTags().add(EnumTag.MAGIC, 1).add(EnumTag.INSECT, 2).add(EnumTag.CONTROL, 1);
|
||||
ThaumcraftApi.registerObjectTag(ItemManager.combs.itemID, CombType.STARK.ordinal(), tags);
|
||||
ThaumcraftApi.registerObjectTag(ItemManager.combs.itemID, CombType.AIRY.ordinal(), tags);
|
||||
ThaumcraftApi.registerObjectTag(ItemManager.combs.itemID, CombType.FIREY.ordinal(), tags);
|
||||
ThaumcraftApi.registerObjectTag(ItemManager.combs.itemID, CombType.WATERY.ordinal(), tags);
|
||||
ThaumcraftApi.registerObjectTag(ItemManager.combs.itemID, CombType.EARTHY.ordinal(), tags);
|
||||
ThaumcraftApi.registerObjectTag(ItemManager.combs.itemID, CombType.INFUSED.ordinal(), tags);
|
||||
ThaumcraftApi.registerObjectTag(Config.combs.itemID, CombType.STARK.ordinal(), tags);
|
||||
ThaumcraftApi.registerObjectTag(Config.combs.itemID, CombType.AIRY.ordinal(), tags);
|
||||
ThaumcraftApi.registerObjectTag(Config.combs.itemID, CombType.FIREY.ordinal(), tags);
|
||||
ThaumcraftApi.registerObjectTag(Config.combs.itemID, CombType.WATERY.ordinal(), tags);
|
||||
ThaumcraftApi.registerObjectTag(Config.combs.itemID, CombType.EARTHY.ordinal(), tags);
|
||||
ThaumcraftApi.registerObjectTag(Config.combs.itemID, CombType.INFUSED.ordinal(), tags);
|
||||
|
||||
// Tagging capsules.
|
||||
tags = new ObjectTags().add(EnumTag.MAGIC, 2);
|
||||
ThaumcraftApi.registerObjectTag(ItemManager.magicCapsule.itemID, -1, tags);
|
||||
ThaumcraftApi.registerObjectTag(Config.magicCapsule.itemID, -1, tags);
|
||||
|
||||
tags = new ObjectTags().add(EnumTag.MAGIC, 2).add(EnumTag.VOID, 2);
|
||||
ThaumcraftApi.registerObjectTag(ItemManager.magicCapsule.itemID, 0, tags);
|
||||
ThaumcraftApi.registerObjectTag(Config.magicCapsule.itemID, 0, tags);
|
||||
tags = new ObjectTags().add(EnumTag.MAGIC, 2).add(EnumTag.WATER, 2);
|
||||
ThaumcraftApi.registerObjectTag(ItemManager.magicCapsule.itemID, LiquidType.WATER.ordinal(), tags);
|
||||
ThaumcraftApi.registerObjectTag(Config.magicCapsule.itemID, LiquidType.WATER.ordinal(), tags);
|
||||
tags = new ObjectTags().add(EnumTag.MAGIC, 2).add(EnumTag.FIRE, 2);
|
||||
ThaumcraftApi.registerObjectTag(ItemManager.magicCapsule.itemID, LiquidType.LAVA.ordinal(), tags);
|
||||
ThaumcraftApi.registerObjectTag(Config.magicCapsule.itemID, LiquidType.LAVA.ordinal(), tags);
|
||||
|
||||
for (EnumTag tag : EnumTag.values())
|
||||
{
|
||||
@@ -161,7 +143,7 @@ public class ThaumcraftCompat
|
||||
continue;
|
||||
}
|
||||
tags = new ObjectTags().add(tag, 1);
|
||||
ThaumcraftApi.registerObjectTag(ItemManager.solidFlux.itemID, tag.id, tags);
|
||||
ThaumcraftApi.registerObjectTag(Config.solidFlux.itemID, tag.id, tags);
|
||||
}
|
||||
|
||||
// Tag some Forestry stuff.
|
||||
@@ -245,12 +227,12 @@ public class ThaumcraftCompat
|
||||
itemStack = ItemInterface.getItem("beeComb");
|
||||
tags = new ObjectTags().add(EnumTag.INSECT, 2).add(EnumTag.TRAP, 2);
|
||||
ThaumcraftApi.registerObjectTag(itemStack.itemID, -1, tags); // ALL combs plox.
|
||||
ThaumcraftApi.registerObjectTag(ItemManager.combs.itemID, -1, tags);
|
||||
ThaumcraftApi.registerObjectTag(Config.combs.itemID, -1, tags);
|
||||
|
||||
itemStack = ItemManager.combs.getStackForType(CombType.OCCULT);
|
||||
itemStack = Config.combs.getStackForType(CombType.OCCULT);
|
||||
tags = new ObjectTags().add(EnumTag.INSECT, 2).add(EnumTag.TRAP, 2).add(EnumTag.MAGIC, 2);
|
||||
ThaumcraftApi.registerObjectTag(itemStack.itemID, itemStack.getItemDamage(), tags);
|
||||
itemStack = ItemManager.combs.getStackForType(CombType.STARK);
|
||||
itemStack = Config.combs.getStackForType(CombType.STARK);
|
||||
ThaumcraftApi.registerObjectTag(itemStack.itemID, itemStack.getItemDamage(), tags);
|
||||
|
||||
itemStack = ItemInterface.getItem("ambrosia");
|
||||
@@ -289,7 +271,7 @@ public class ThaumcraftCompat
|
||||
{
|
||||
ObjectTags tags;
|
||||
|
||||
ResearchItem startNode = new ResearchItem("TBSTARTNODE", null, 10, 0, ItemManager.miscResources.getStackForType(ResourceType.RESEARCH_StartNode))
|
||||
ResearchItem startNode = new ResearchItem("TBSTARTNODE", null, 10, 0, Config.miscResources.getStackForType(ResourceType.RESEARCH_StartNode))
|
||||
.setAutoUnlock()
|
||||
.registerResearchItem();
|
||||
|
||||
@@ -300,7 +282,7 @@ public class ThaumcraftCompat
|
||||
|
||||
tags = new ObjectTags().add(EnumTag.INSECT, 15).add(EnumTag.MAGIC, 5).add(EnumTag.WATER, 5).add(EnumTag.EARTH, 5)
|
||||
.add(EnumTag.WIND, 5).add(EnumTag.FIRE, 5);
|
||||
ResearchItem beeInfusion = new ResearchItem("BEEINFUSION", tags, 5, 3, ItemManager.miscResources.getStackForType(ResourceType.RESEARCH_BeeInfusion))
|
||||
ResearchItem beeInfusion = new ResearchItem("BEEINFUSION", tags, 5, 3, Config.miscResources.getStackForType(ResourceType.RESEARCH_BeeInfusion))
|
||||
.setParents(starkHint, ResearchList.getResearch("UTFT")).setHidden()
|
||||
.registerResearchItem();
|
||||
|
||||
@@ -311,31 +293,31 @@ public class ThaumcraftCompat
|
||||
|
||||
tags = new ObjectTags().add(EnumTag.WOOD, 10).add(EnumTag.TOOL, 6).add(EnumTag.INSECT, 15).add(EnumTag.BEAST, 2)
|
||||
.add(EnumTag.MAGIC, 5);
|
||||
ResearchItem magicFrame = new ResearchItem("HIVEFRAME", tags, 10, -2, ItemManager.hiveFrameMagic)
|
||||
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, ItemManager.hiveFrameResilient)
|
||||
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.HEAL, 2).add(EnumTag.FLOWER, 6);
|
||||
ResearchItem gentleFrame = new ResearchItem("HIVEFRAMEGENTLE", tags, 12, -2, ItemManager.hiveFrameGentle)
|
||||
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).add(EnumTag.FLESH, 4);
|
||||
ResearchItem metabolicFrame = new ResearchItem("HIVEFRAMEMETA", tags, 9, -3, ItemManager.hiveFrameMetabolic)
|
||||
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, ItemManager.hiveFrameNecrotic)
|
||||
ResearchItem necroticFrame = new ResearchItem("HIVEFRAMENECRO", tags, 11, -3, Config.hiveFrameNecrotic)
|
||||
.setParents(magicFrame).setHidden()
|
||||
.registerResearchItem();
|
||||
|
||||
@@ -352,116 +334,6 @@ public class ThaumcraftCompat
|
||||
.setParents(startNode)
|
||||
.registerResearchItem();*/
|
||||
}
|
||||
|
||||
public static void setupCrafting()
|
||||
{
|
||||
ItemStack output = ItemManager.miscResources.getStackForType(ResourceType.EXTENDED_FERTILIZER);
|
||||
ItemStack inputA = ItemInterface.getItem("apatite");
|
||||
ObjectTags tags = (new ObjectTags()).add(EnumTag.CROP, 12);
|
||||
output.stackSize = 2;
|
||||
ThaumcraftApi.addShapelessInfusionCraftingRecipe("FERTILIZER", "FERTILIZER", 5, tags, output, new Object[] {
|
||||
inputA
|
||||
});
|
||||
|
||||
output = new ItemStack(ItemManager.hiveFrameMagic);
|
||||
inputA = ItemInterface.getItem("frameUntreated");
|
||||
tags = new ObjectTags().add(EnumTag.WOOD, 4).add(EnumTag.INSECT, 8);
|
||||
ThaumcraftApi.addShapelessInfusionCraftingRecipe("HIVEFRAME", "FRAMEMAGIC", 50, tags, output, new Object[] {
|
||||
inputA
|
||||
});
|
||||
|
||||
output = new ItemStack(ItemManager.hiveFrameResilient);
|
||||
tags = new ObjectTags().add(EnumTag.WOOD, 12).add(EnumTag.INSECT, 8).add(EnumTag.EXCHANGE, 12);
|
||||
ThaumcraftApi.addInfusionCraftingRecipe("HIVEFRAME2", "FRAMERESILIENT", 50, tags, output, new Object[] {
|
||||
" i ", "ifi", " i ",
|
||||
'f', ItemManager.hiveFrameMagic,
|
||||
'i', Item.ingotIron
|
||||
});
|
||||
|
||||
output = new ItemStack(ItemManager.hiveFrameGentle);
|
||||
tags = new ObjectTags().add(EnumTag.WOOD, 4).add(EnumTag.INSECT, 8).add(EnumTag.HEAL, 12);
|
||||
ThaumcraftApi.addInfusionCraftingRecipe("HIVEFRAMEGENTLE", "FRAMEGENTLE", 50, tags, output, new Object[] {
|
||||
"www", "wFw", "www",
|
||||
'F', inputA,
|
||||
'w', ItemInterface.getItem("beeswax")
|
||||
|
||||
});
|
||||
|
||||
output = new ItemStack(ItemManager.hiveFrameMetabolic);
|
||||
tags = new ObjectTags().add(EnumTag.WOOD, 4).add(EnumTag.INSECT, 8).add(EnumTag.LIFE, 8).add(EnumTag.MOTION, 8)
|
||||
.add(EnumTag.EXCHANGE, 8);
|
||||
ThaumcraftApi.addShapelessInfusionCraftingRecipe("HIVEFRAMEMETA", "FRAMEMETABOLIC", 50, tags, output, new Object[] {
|
||||
Item.magmaCream,
|
||||
inputA
|
||||
});
|
||||
|
||||
output = new ItemStack(ItemManager.hiveFrameNecrotic);
|
||||
tags = new ObjectTags().add(EnumTag.WOOD, 4).add(EnumTag.INSECT, 8).add(EnumTag.EXCHANGE, 12).add(EnumTag.DEATH, 10)
|
||||
.add(EnumTag.POISON, 5);
|
||||
ThaumcraftApi.addInfusionCraftingRecipe("HIVEFRAMENECRO", "FRAMENECROTIC", 50, tags, output, new Object[] {
|
||||
" S ", "SxS", " S ",
|
||||
'S', Item.rottenFlesh,
|
||||
'x', inputA
|
||||
});
|
||||
}
|
||||
|
||||
public static void setupBeeInfusions(World world)
|
||||
{
|
||||
ItemStack drone = BeeGenomeManager.getBeeNBTForSpecies(Allele.Stark, EnumBeeType.DRONE);
|
||||
ItemStack princess = BeeGenomeManager.getBeeNBTForSpecies(Allele.Stark, EnumBeeType.PRINCESS);
|
||||
ItemStack airDrone = Allele.Air.getBeeItem(world, EnumBeeType.DRONE);
|
||||
ItemStack airPrincess = Allele.Air.getBeeItem(world, EnumBeeType.PRINCESS);
|
||||
ItemStack waterDrone = Allele.Water.getBeeItem(world, EnumBeeType.DRONE);
|
||||
ItemStack waterPrincess = Allele.Water.getBeeItem(world, EnumBeeType.PRINCESS);
|
||||
ItemStack earthDrone = Allele.Earth.getBeeItem(world, EnumBeeType.DRONE);
|
||||
ItemStack earthPrincess = Allele.Earth.getBeeItem(world, EnumBeeType.PRINCESS);
|
||||
ItemStack fireDrone = Allele.Fire.getBeeItem(world, EnumBeeType.DRONE);
|
||||
ItemStack firePrincess = Allele.Fire.getBeeItem(world, EnumBeeType.PRINCESS);
|
||||
ItemStack magicDrone = Allele.Infused.getBeeItem(world, EnumBeeType.DRONE);
|
||||
ItemStack magicPrincess = Allele.Infused.getBeeItem(world, EnumBeeType.PRINCESS);
|
||||
|
||||
String researchKey = "BEEINFUSION";
|
||||
|
||||
ObjectTags tags = (new ObjectTags()).add(EnumTag.WIND, 40).add(EnumTag.MOTION, 20);
|
||||
ShapelessBeeInfusionCraftingRecipe.createNewRecipe(researchKey, "BEEINFUSION1", airDrone,
|
||||
new ItemStack[] { drone, new ItemStack(ItemManager.tcShard, 1, TCShardType.AIR.ordinal())},
|
||||
100, tags, Allele.Stark, EnumBeeChromosome.SPECIES);
|
||||
ShapelessBeeInfusionCraftingRecipe.createNewRecipe(researchKey, "BEEINFUSION2", airPrincess,
|
||||
new ItemStack[] { princess , new ItemStack(ItemManager.tcShard, 1, TCShardType.AIR.ordinal()) },
|
||||
100, tags, Allele.Stark, EnumBeeChromosome.SPECIES);
|
||||
|
||||
tags = (new ObjectTags()).add(EnumTag.FIRE, 40).add( EnumTag.POWER, 20);
|
||||
ShapelessBeeInfusionCraftingRecipe.createNewRecipe(researchKey, "BEEINFUSION3", fireDrone, new Object[]
|
||||
{ drone, new ItemStack(ItemManager.tcShard, 1, TCShardType.FIRE.ordinal()) },
|
||||
100, tags, Allele.Stark, EnumBeeChromosome.SPECIES);
|
||||
ShapelessBeeInfusionCraftingRecipe.createNewRecipe(researchKey, "BEEINFUSION4", firePrincess, new Object[]
|
||||
{ princess, new ItemStack(ItemManager.tcShard, 1, TCShardType.FIRE.ordinal()) },
|
||||
100, tags, Allele.Stark, EnumBeeChromosome.SPECIES);
|
||||
|
||||
tags = (new ObjectTags()).add(EnumTag.WATER, 40).add( EnumTag.COLD, 20);
|
||||
ShapelessBeeInfusionCraftingRecipe.createNewRecipe(researchKey, "BEEINFUSION5", waterDrone, new Object[]
|
||||
{ drone, new ItemStack(ItemManager.tcShard, 1, TCShardType.WATER.ordinal()) },
|
||||
100, tags, Allele.Stark, EnumBeeChromosome.SPECIES);
|
||||
ShapelessBeeInfusionCraftingRecipe.createNewRecipe(researchKey, "BEEINFUSION6", waterPrincess, new Object[]
|
||||
{ princess, new ItemStack(ItemManager.tcShard, 1, TCShardType.WATER.ordinal()) },
|
||||
100, tags, Allele.Stark, EnumBeeChromosome.SPECIES);
|
||||
|
||||
tags = (new ObjectTags()).add(EnumTag.EARTH, 40).add( EnumTag.ROCK, 20);
|
||||
ShapelessBeeInfusionCraftingRecipe.createNewRecipe(researchKey, "BEEINFUSION7", earthDrone, new Object[]
|
||||
{ drone, new ItemStack(ItemManager.tcShard, 1, TCShardType.EARTH.ordinal()) },
|
||||
100, tags, Allele.Stark, EnumBeeChromosome.SPECIES);
|
||||
ShapelessBeeInfusionCraftingRecipe.createNewRecipe(researchKey, "BEEINFUSION8", earthPrincess, new Object[]
|
||||
{ princess, new ItemStack(ItemManager.tcShard, 1, TCShardType.EARTH.ordinal()) },
|
||||
100, tags, Allele.Stark, EnumBeeChromosome.SPECIES);
|
||||
|
||||
tags = new ObjectTags().add(EnumTag.MAGIC, 40).add(EnumTag.FLUX, 20);
|
||||
ShapelessBeeInfusionCraftingRecipe.createNewRecipe(researchKey, "BEEINFUSION9", magicDrone, new Object[]
|
||||
{ drone, new ItemStack(ItemManager.tcShard, 1, TCShardType.MAGIC.ordinal()) },
|
||||
100, tags, Allele.Stark, EnumBeeChromosome.SPECIES);
|
||||
ShapelessBeeInfusionCraftingRecipe.createNewRecipe(researchKey, "BEEINFUSION0", magicPrincess, new Object[]
|
||||
{ princess, new ItemStack(ItemManager.tcShard, 1, TCShardType.MAGIC.ordinal()) },
|
||||
100, tags, Allele.Stark, EnumBeeChromosome.SPECIES);
|
||||
}
|
||||
|
||||
public static void registerResearch()
|
||||
{
|
||||
|
||||
Reference in new issue
Block a user