diff --git a/thaumicbees/main/ItemMagicalComb.java b/thaumicbees/main/ItemMagicalComb.java deleted file mode 100644 index 2d9fbf5..0000000 --- a/thaumicbees/main/ItemMagicalComb.java +++ /dev/null @@ -1,49 +0,0 @@ -package thaumicbees.main; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; - -public class ItemMagicalComb extends Item -{ - - private String name; - private int colour[]; - - public ItemMagicalComb(String combName, int itemID, int colour1, int colour2) - { - super(itemID); - this.name = combName; - this.colour = new int[2]; - this.colour[0] = colour1; - this.colour[1] = colour2; - } - - @Override - public int getRenderPasses(int metadata) - { - return 2; - } - - @Override - public String getTextureFile() - { - return ThaumicBees.FORESTRY_GFX_ITEMS; - } - - @Override - public int getIconIndex(ItemStack stack, int pass) - { - return 12 * 16 + 6 + pass; - } - - @Override - @SideOnly(Side.CLIENT) - public int getColorFromItemStack(ItemStack par1ItemStack, int pass) - { - - return (pass < 2) ? this.colour[pass] : 0xFFFFFF; - } - -} diff --git a/thaumicbees/main/ThaumicBees.java b/thaumicbees/main/ThaumicBees.java deleted file mode 100644 index 3992c92..0000000 --- a/thaumicbees/main/ThaumicBees.java +++ /dev/null @@ -1,60 +0,0 @@ -package thaumicbees.main; - -import cpw.mods.fml.common.Mod; -import cpw.mods.fml.common.event.*; -import forestry.api.apiculture.EnumBeeType; -import java.io.PrintStream; -import java.lang.reflect.Field; - -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.EventBus; -import net.minecraftforge.event.ForgeSubscribe; -import net.minecraftforge.event.world.WorldEvent; -import thaumcraft.api.*; -import thaumicbees.main.bees.BeeSpecies; -import thaumicbees.main.bees.ThaumicBeesPlugin; - -@Mod(modid="ThaumicBees", name="Thaumic Bees", version="0.0", dependencies="required-after:Forestry;required-after:Thaumcraft") -public class ThaumicBees -{ - - @Mod.Instance(value="ThaumicBees") - public static ThaumicBees object; - private boolean ThaumcraftRecipesAdded; - public static String FORESTRY_GFX_ITEMS; - - public ThaumicBees() - { - ThaumcraftRecipesAdded = false; - } - - @Mod.PreInit - public void preInit(FMLPreInitializationEvent fmlpreinitializationevent) - { - - } - - @Mod.Init - public void init(FMLInitializationEvent fmlinitializationevent) - { - - } - - @Mod.PostInit - public void postInit(FMLPostInitializationEvent e) - { - MinecraftForge.EVENT_BUS.register(this); - } - - @ForgeSubscribe - public void worldLoad(net.minecraftforge.event.world.WorldEvent.Load e) - { - if (!ThaumcraftRecipesAdded) - { - ThaumicBeesPlugin.setupBeeInfusions(e.world); - ThaumcraftRecipesAdded = true; - } - } -} diff --git a/thaumicbees/main/research/ThaumcraftPlugin.java b/thaumicbees/main/research/ThaumcraftPlugin.java deleted file mode 100644 index fb3045a..0000000 --- a/thaumicbees/main/research/ThaumcraftPlugin.java +++ /dev/null @@ -1,13 +0,0 @@ -package thaumicbees.main.research; - -public class ThaumcraftPlugin -{ - - public static void setupResearch() - { - } - - public static void setupCrafting() - { - } -} diff --git a/thaumicbees_res/gfx/thaumicbees/items.png b/thaumicbees_res/gfx/thaumicbees/items.png new file mode 100644 index 0000000..f441f24 Binary files /dev/null and b/thaumicbees_res/gfx/thaumicbees/items.png differ diff --git a/thaumicbees_res/research/thaumicbees/research.xml b/thaumicbees_res/research/thaumicbees/research.xml new file mode 100644 index 0000000..8a5f6e5 --- /dev/null +++ b/thaumicbees_res/research/thaumicbees/research.xml @@ -0,0 +1,9 @@ + + +Test Bees +Magical Bees + +Test, test test. + +Lorem Ipsom something something. + \ No newline at end of file diff --git a/forestry/plugins/PluginThaumicBees.java b/thaumicbees_src/forestry/plugins/PluginThaumicBees.java similarity index 65% rename from forestry/plugins/PluginThaumicBees.java rename to thaumicbees_src/forestry/plugins/PluginThaumicBees.java index 737cbda..892c20b 100644 --- a/forestry/plugins/PluginThaumicBees.java +++ b/thaumicbees_src/forestry/plugins/PluginThaumicBees.java @@ -1,6 +1,6 @@ package forestry.plugins; -import thaumicbees.main.bees.ThaumicBeesPlugin; +import thaumicbees.bees.ThaumicBeesPlugin; public class PluginThaumicBees extends ThaumicBeesPlugin { diff --git a/thaumicbees/main/bees/BeeBranch.java b/thaumicbees_src/thaumicbees/bees/BeeBranch.java similarity index 97% rename from thaumicbees/main/bees/BeeBranch.java rename to thaumicbees_src/thaumicbees/bees/BeeBranch.java index 7441115..35b2f86 100644 --- a/thaumicbees/main/bees/BeeBranch.java +++ b/thaumicbees_src/thaumicbees/bees/BeeBranch.java @@ -1,4 +1,4 @@ -package thaumicbees.main.bees; +package thaumicbees.bees; import forestry.api.apiculture.IBeeBranch; import forestry.api.genetics.IAlleleSpecies; diff --git a/thaumicbees/main/bees/BeeMutation.java b/thaumicbees_src/thaumicbees/bees/BeeMutation.java similarity index 74% rename from thaumicbees/main/bees/BeeMutation.java rename to thaumicbees_src/thaumicbees/bees/BeeMutation.java index c81089f..2a0aead 100644 --- a/thaumicbees/main/bees/BeeMutation.java +++ b/thaumicbees_src/thaumicbees/bees/BeeMutation.java @@ -1,4 +1,4 @@ -package thaumicbees.main.bees; +package thaumicbees.bees; import forestry.api.apiculture.*; import forestry.api.genetics.IAllele; @@ -20,10 +20,12 @@ public class BeeMutation implements IBeeMutation public static BeeMutation Pupil; public static BeeMutation Scholarly; public static BeeMutation Savant; + + private IAllele parent1; private IAllele parent2; private IAllele mutationTemplate[]; - private int chance; + private int baseChance; private boolean isSecret; public BeeMutation(IAlleleBeeSpecies species0, IAlleleBeeSpecies species1, IAllele producesGenome[], int percentChance, boolean hide) @@ -31,14 +33,23 @@ public class BeeMutation implements IBeeMutation parent1 = species0; parent2 = species1; mutationTemplate = producesGenome; - chance = percentChance; + baseChance = percentChance; isSecret = hide; BeeManager.beeMutations.add(this); } public int getChance(IBeeHousing housing, IAllele allele0, IAllele allele1, IGenome genome0, IGenome genome1) { - return Math.round((float) chance * BeeManager.breedingManager.getBeekeepingMode(housing.getWorld()).getMutationModifier((IBeeGenome) genome0, (IBeeGenome) genome1)); + int chance = 0; + + if ((this.parent1.getUID().equals(allele0.getUID())) && this.parent2.getUID().equals(allele1.getUID()) || + this.parent1.getUID().equals(allele1.getUID()) && this.parent2.getUID().equals(allele0.getUID())) + { + // This mutation applies. Continue calculation. + chance = Math.round((float) this.baseChance * BeeManager.breedingManager.getBeekeepingMode(housing.getWorld()).getMutationModifier((IBeeGenome) genome0, (IBeeGenome) genome1)); + } + + return chance; } public IAllele getAllele0() @@ -58,7 +69,7 @@ public class BeeMutation implements IBeeMutation public int getBaseChance() { - return chance; + return baseChance; } public boolean isPartner(IAllele allele) diff --git a/thaumicbees/main/bees/BeeSpecies.java b/thaumicbees_src/thaumicbees/bees/BeeSpecies.java similarity index 99% rename from thaumicbees/main/bees/BeeSpecies.java rename to thaumicbees_src/thaumicbees/bees/BeeSpecies.java index 97dc8f0..bfce471 100644 --- a/thaumicbees/main/bees/BeeSpecies.java +++ b/thaumicbees_src/thaumicbees/bees/BeeSpecies.java @@ -1,4 +1,4 @@ -package thaumicbees.main.bees; +package thaumicbees.bees; import forestry.api.apiculture.*; import forestry.api.core.EnumHumidity; @@ -200,7 +200,7 @@ public class BeeSpecies implements IAlleleBeeSpecies public boolean isJubilant(World world, int biomeid, int x, int i, int j) { - return false; + return true; } /** diff --git a/thaumicbees/main/bees/FlowerProviderBookshelf.java b/thaumicbees_src/thaumicbees/bees/FlowerProviderBookshelf.java similarity index 95% rename from thaumicbees/main/bees/FlowerProviderBookshelf.java rename to thaumicbees_src/thaumicbees/bees/FlowerProviderBookshelf.java index 1baec27..0a4e412 100644 --- a/thaumicbees/main/bees/FlowerProviderBookshelf.java +++ b/thaumicbees_src/thaumicbees/bees/FlowerProviderBookshelf.java @@ -1,4 +1,4 @@ -package thaumicbees.main.bees; +package thaumicbees.bees; import net.minecraft.item.ItemStack; import net.minecraft.world.World; diff --git a/thaumicbees/main/bees/ThaumicBeesPlugin.java b/thaumicbees_src/thaumicbees/bees/ThaumicBeesPlugin.java similarity index 96% rename from thaumicbees/main/bees/ThaumicBeesPlugin.java rename to thaumicbees_src/thaumicbees/bees/ThaumicBeesPlugin.java index 2524240..5c25c4e 100644 --- a/thaumicbees/main/bees/ThaumicBeesPlugin.java +++ b/thaumicbees_src/thaumicbees/bees/ThaumicBeesPlugin.java @@ -1,4 +1,4 @@ -package thaumicbees.main.bees; +package thaumicbees.bees; import cpw.mods.fml.common.network.IGuiHandler; import forestry.api.apiculture.*; @@ -9,6 +9,7 @@ import java.util.Random; import thaumcraft.api.EnumTag; import thaumcraft.api.ObjectTags; import thaumcraft.api.ThaumcraftApi; +import thaumicbees.item.ItemManager; import net.minecraft.command.ICommand; import net.minecraft.item.Item; @@ -52,6 +53,7 @@ public class ThaumicBeesPlugin implements IPlugin BeeSpecies.Esoteric = new BeeSpecies("Esoteric", "", "secretiore", BeeBranch.Arcane, 0, 0x001099, 0xcc763c, EnumTemperature.NORMAL, EnumHumidity.NORMAL, false, hideSpecies, true, true); + BeeSpecies.Esoteric.addProduct(new ItemStack(ItemManager.magicalComb), 5); BeeSpecies.Esoteric.setGene(EnumBeeChromosome.TEMPERATURE_TOLERANCE, AlleleManager.getAllele("toleranceBoth2")); breedingMgr.registerBeeTemplate(BeeSpecies.Esoteric.getGenome()); @@ -166,15 +168,15 @@ public class ThaumicBeesPlugin implements IPlugin private void setupBeeMutations() { - BeeMutation.Esoteric = new BeeMutation(BeeSpecies.getBaseSpecies("Modest"), BeeSpecies.getBaseSpecies("Wintry"), BeeSpecies.Esoteric.getGenome(), 10, false); - BeeMutation.Esoteric1 = new BeeMutation(BeeSpecies.getBaseSpecies("Marshy"), BeeSpecies.getBaseSpecies("Cultivated"), BeeSpecies.Esoteric.getGenome(), 20, false); + BeeMutation.Esoteric = new BeeMutation(BeeSpecies.getBaseSpecies("Imperial"), BeeSpecies.getBaseSpecies("Demonic"), BeeSpecies.Esoteric.getGenome(), 10, false); + BeeMutation.Esoteric1 = new BeeMutation(BeeSpecies.getBaseSpecies("Heroic"), BeeSpecies.getBaseSpecies("Demonic"), BeeSpecies.Esoteric.getGenome(), 20, false); BeeMutation.Mysterious = new BeeMutation(BeeSpecies.Esoteric, BeeSpecies.getBaseSpecies("Ended"), BeeSpecies.Mysterious.getGenome(), 10, false); BeeMutation.Arcane = new BeeMutation(BeeSpecies.Esoteric, BeeSpecies.Mysterious, BeeSpecies.Arcane.getGenome(), 8, false); BeeMutation.Charmed = new BeeMutation(BeeSpecies.getBaseSpecies("Cultivated"), BeeSpecies.getBaseSpecies("Valiant"), BeeSpecies.Charmed.getGenome(), 20, false); BeeMutation.Enchanted = new BeeMutation(BeeSpecies.Charmed, BeeSpecies.getBaseSpecies("Valiant"), BeeSpecies.Enchanted.getGenome(), 8, false); BeeMutation.Supernatural = new BeeMutation(BeeSpecies.Charmed, BeeSpecies.Enchanted, BeeSpecies.Supernatural.getGenome(), 8, false); - BeeMutation.Pupil = new BeeMutation(BeeSpecies.Arcane, BeeSpecies.Enchanted, BeeSpecies.Pupil.getGenome(), 100, false); - BeeMutation.Scholarly = new BeeMutation(BeeSpecies.Pupil, BeeSpecies.Arcane, BeeSpecies.Scholarly.getGenome(), 10, false); + BeeMutation.Pupil = new BeeMutation(BeeSpecies.Arcane, BeeSpecies.Enchanted, BeeSpecies.Pupil.getGenome(), 10, false); + BeeMutation.Scholarly = new BeeMutation(BeeSpecies.Pupil, BeeSpecies.Arcane, BeeSpecies.Scholarly.getGenome(), 8, false); BeeMutation.Savant = new BeeMutation(BeeSpecies.Pupil, BeeSpecies.Scholarly, BeeSpecies.Savant.getGenome(), 6, false); BeeMutation.Stark = new BeeMutation(BeeSpecies.Arcane, BeeSpecies.Supernatural, BeeSpecies.Stark.getGenome(), 8, false); } diff --git a/thaumicbees_src/thaumicbees/block/BlockManager.java b/thaumicbees_src/thaumicbees/block/BlockManager.java new file mode 100644 index 0000000..ae7f0f6 --- /dev/null +++ b/thaumicbees_src/thaumicbees/block/BlockManager.java @@ -0,0 +1,17 @@ +package thaumicbees.block; + +public class BlockManager +{ + + public BlockManager() { } + + public static void registerBlocks() + { + + } + + public static void setupCrafting() + { + + } +} diff --git a/thaumicbees_src/thaumicbees/item/ItemComb.java b/thaumicbees_src/thaumicbees/item/ItemComb.java new file mode 100644 index 0000000..9d17556 --- /dev/null +++ b/thaumicbees_src/thaumicbees/item/ItemComb.java @@ -0,0 +1,93 @@ +package thaumicbees.item; + +import thaumicbees.main.CommonProxy; +import thaumicbees.main.ThaumicBees; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +public class ItemComb extends Item +{ + public enum CombType + { + MAGICAL("Magical Comb", 0x6e1c6d, 0xff8fff), + PAPERY("Papery Comb", 0xfff, 0xfff), + STARK("Stark Comb", 0x505759, 0xaaaebd), + ; + + private CombType(String pName, int colourA, int colourB) + { + this.name = pName; + this.combColour[0] = colourA; + this.combColour[1] = colourB; + } + + public final String name; + public int[] combColour = new int[2]; + } + + public ItemComb(int itemID) + { + super(itemID); + this.setTextureFile(CommonProxy.FORESTRY_GFX_ITEMS); + this.setCreativeTab(CreativeTabs.tabMaterials); + } + + public ItemStack getStackForType(CombType type) + { + return new ItemStack(this, 1, type.ordinal()); + } + + public ItemStack getStackForType(CombType type, int count) + { + return new ItemStack(this, count, type.ordinal()); + } + + @Override + @SideOnly(Side.CLIENT) + public boolean requiresMultipleRenderPasses() + { + return true; + } + + @Override + public int getRenderPasses(int metadata) + { + return 2; + } + + @Override + public int getIconIndex(ItemStack stack, int pass) + { + // 107, 108 are the base forestry honeycomb textures. + return 107 + pass; + } + + @Override + @SideOnly(Side.CLIENT) + public int getColorFromItemStack(ItemStack stack, int pass) + { + int colour = 0xffffff; + int meta = stack.getItemDamage(); + if (meta >= 0 && meta < CombType.values().length) + { + colour = CombType.values()[meta].combColour[pass % 2]; + } + return colour; + } + + @Override + public String getItemDisplayName(ItemStack stack) + { + String result = ""; + int meta = stack.getItemDamage(); + if (meta >= 0 && meta < CombType.values().length) + { + result = CombType.values()[meta].name; + } + return result; + } + +} diff --git a/thaumicbees_src/thaumicbees/item/ItemKnowledgeFragment.java b/thaumicbees_src/thaumicbees/item/ItemKnowledgeFragment.java new file mode 100644 index 0000000..b89afe2 --- /dev/null +++ b/thaumicbees_src/thaumicbees/item/ItemKnowledgeFragment.java @@ -0,0 +1,18 @@ +package thaumicbees.item; + +import extrabiomes.utility.CreativeTab; +import thaumicbees.main.CommonProxy; +import net.minecraft.item.Item; + +public class ItemKnowledgeFragment extends Item +{ + + public ItemKnowledgeFragment(int ID) + { + super(ID); + this.iconIndex = 3; + this.setTextureFile(CommonProxy.TCBEES_ITEMS); + this.setCreativeTab(CreativeTab.tabMaterials); + } + +} diff --git a/thaumicbees_src/thaumicbees/item/ItemMagicalWax.java b/thaumicbees_src/thaumicbees/item/ItemMagicalWax.java new file mode 100644 index 0000000..60350c6 --- /dev/null +++ b/thaumicbees_src/thaumicbees/item/ItemMagicalWax.java @@ -0,0 +1,39 @@ +package thaumicbees.item; + +import thaumicbees.main.CommonProxy; +import thaumicbees.main.ThaumicBees; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +public class ItemMagicalWax extends Item +{ + + private boolean sparkly; + private int colour; + + public ItemMagicalWax(int itemID, int overlayColour, boolean hasSparklyIcon) + { + super(itemID); + this.sparkly = hasSparklyIcon; + this.colour = overlayColour; + this.setTextureFile(CommonProxy.TCBEES_ITEMS); + this.setCreativeTab(CreativeTabs.tabMisc); + } + + @Override + public int getIconIndex(ItemStack stack, int pass) + { + return this.sparkly ? 0 : 1; + } + + @Override + @SideOnly(Side.CLIENT) + public int getColorFromItemStack(ItemStack par1ItemStack, int pass) + { + + return this.colour; + } +} diff --git a/thaumicbees_src/thaumicbees/item/ItemManager.java b/thaumicbees_src/thaumicbees/item/ItemManager.java new file mode 100644 index 0000000..d098540 --- /dev/null +++ b/thaumicbees_src/thaumicbees/item/ItemManager.java @@ -0,0 +1,30 @@ +package thaumicbees.item; + +import net.minecraft.item.ItemStack; +import net.minecraftforge.common.Configuration; +import net.minecraftforge.common.Property; +import forestry.api.recipes.*; + +public class ItemManager +{ + public static ItemComb magicalComb; + public static ItemMagicalWax magicalWax; + + public ItemManager() { } + + public static void setupItems(Configuration configFile) + { + int itemIDBase = 26090; + + Property p = configFile.getItem("combs", itemIDBase++); + ItemManager.magicalComb= new ItemComb(p.getInt()); + ItemManager.magicalWax = new ItemMagicalWax(configFile.getItem("wax", itemIDBase++).getInt(), 0xffff00, false); + } + + public static void setupCrafting() + { + // 20 is the 'average' time to centrifuge a comb. + RecipeManagers.centrifugeManager.addRecipe(25, new ItemStack(ItemManager.magicalComb), new ItemStack(ItemManager.magicalWax)); + } + +} diff --git a/thaumicbees_src/thaumicbees/item/ItemPropolis.java b/thaumicbees_src/thaumicbees/item/ItemPropolis.java new file mode 100644 index 0000000..8c48938 --- /dev/null +++ b/thaumicbees_src/thaumicbees/item/ItemPropolis.java @@ -0,0 +1,39 @@ +package thaumicbees.item; + +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +public class ItemPropolis extends Item +{ + public enum PropolisType + { + ; + + private PropolisType(String pName, int overlayColour) + { + this.name = pName; + this.colour = overlayColour; + } + + public String name; + public int colour; + } + + public ItemPropolis(int id) + { + super(id); + } + + @Override + public int getColorFromItemStack(ItemStack stack, int pass) + { + int colour = 0xffffff; + int meta = stack.getItemDamage(); + if (meta >= 0 && meta < PropolisType.values().length) + { + colour = PropolisType.values()[meta].colour; + } + return colour; + } + +} diff --git a/thaumicbees_src/thaumicbees/main/ClientProxy.java b/thaumicbees_src/thaumicbees/main/ClientProxy.java new file mode 100644 index 0000000..0de90d1 --- /dev/null +++ b/thaumicbees_src/thaumicbees/main/ClientProxy.java @@ -0,0 +1,20 @@ +package thaumicbees.main; + +import net.minecraftforge.client.MinecraftForgeClient; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +@SideOnly(Side.CLIENT) +public class ClientProxy extends CommonProxy +{ + + public ClientProxy() { } + + @Override + public void preloadTextures() + { + // Preload the TCBees items file + MinecraftForgeClient.preloadTexture(TCBEES_ITEMS); + } + +} diff --git a/thaumicbees_src/thaumicbees/main/CommonProxy.java b/thaumicbees_src/thaumicbees/main/CommonProxy.java new file mode 100644 index 0000000..6a52a88 --- /dev/null +++ b/thaumicbees_src/thaumicbees/main/CommonProxy.java @@ -0,0 +1,19 @@ +package thaumicbees.main; + +public class CommonProxy +{ + public static String TCBEES_GFX = "./gfx/thaumicbees"; + public static String TCBEES_RESEARCH = "./research/thaumicbees"; + + public static String FORESTRY_GFX_ITEMS; + + public static String TCBEES_ITEMS = TCBEES_GFX + "/items.png"; + + public CommonProxy() { } + + public void preloadTextures() + { + // Does nothing here. + } + +} diff --git a/thaumicbees_src/thaumicbees/main/ThaumcraftCompat.java b/thaumicbees_src/thaumicbees/main/ThaumcraftCompat.java new file mode 100644 index 0000000..6cb0bfc --- /dev/null +++ b/thaumicbees_src/thaumicbees/main/ThaumcraftCompat.java @@ -0,0 +1,64 @@ +package thaumicbees.main; + +import java.io.File; + +import thaumcraft.api.ThaumcraftApi; +import thaumicbees.item.ItemManager; + +import cpw.mods.fml.common.registry.GameRegistry; + +import net.minecraft.block.Block; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraftforge.common.Property; +import net.minecraftforge.common.Configuration; + +public class ThaumcraftCompat +{ + + public static int itemResourceID; + public static final int itemResourceQuicksilverMeta = 3; + public static final int itemResourceAmberMeta = 6; + public static final int itemResourceFragmentMeta = 9; + + public static int itemShardID; + public static final int itemShardAirMeta = 0; + public static final int itemShardFireMeta = 1; + public static final int itemShardWaterMeta = 2; + public static final int itemShardEarthMeta = 3; + public static final int itemShardMagicMeta = 4; + public static final int itemShardDullMeta = 5; + + public static int itemEssentiaBottle; + + public static void init() + { + Configuration tcConfig = new Configuration(new File("./config/Thaumcraft.cfg")); + Property p; + + tcConfig.load(); + + // Load items out of the Thaumcraft config to get their IDs. + p = tcConfig.getItem("ItemEssence", 25005); + itemEssentiaBottle = p.getInt() + 256; + p = tcConfig.getItem("ItemResource", 25007); + itemResourceID = p.getInt() + 256; + p = tcConfig.getItem("ItemShard", 25008); + itemShardID = p.getInt() + 256; + } + + public static void setupResearch() + { + //ThaumcraftApi.registerResearchXML(CommonProxy.TCBEES_RESEARCH + "/research.xml"); + } + + public static void setupCrafting() + { + GameRegistry.addRecipe(new ItemStack(itemEssentiaBottle, 8, 0), new Object[] + { + " C ", "G G", " G ", + Character.valueOf('G'), ItemManager.magicalWax, + Character.valueOf('C'), Item.clay + }); + } +} diff --git a/thaumicbees_src/thaumicbees/main/ThaumicBees.java b/thaumicbees_src/thaumicbees/main/ThaumicBees.java new file mode 100644 index 0000000..6e83348 --- /dev/null +++ b/thaumicbees_src/thaumicbees/main/ThaumicBees.java @@ -0,0 +1,88 @@ +package thaumicbees.main; + +import cpw.mods.fml.common.Mod; +import cpw.mods.fml.common.SidedProxy; +import cpw.mods.fml.common.event.*; +import forestry.api.apiculture.EnumBeeType; +import forestry.api.core.ItemInterface; + +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.BeeSpecies; +import thaumicbees.bees.ThaumicBeesPlugin; +import thaumicbees.item.ItemComb; +import thaumicbees.item.ItemMagicalWax; +import thaumicbees.item.ItemManager; + +@Mod(modid="ThaumicBees", name="Thaumic Bees", version="0.0", dependencies="required-after:Forestry;required-after:Thaumcraft") +public class ThaumicBees +{ + + @Mod.Instance(value="ThaumicBees") + public static ThaumicBees object; + + @SidedProxy(serverSide="thaumicbees.main.CommonProxy", clientSide="thaumicbees.main.ClientProxy") + public static CommonProxy proxy; + + private boolean ThaumcraftRecipesAdded; + private Configuration config; + + + public ThaumicBees() + { + ThaumcraftRecipesAdded = false; + } + + @Mod.PreInit + public void preInit(FMLPreInitializationEvent event) + { + this.config = new Configuration(event.getSuggestedConfigurationFile()); + this.proxy.preloadTextures(); + } + + @Mod.Init + public void init(FMLInitializationEvent event) + { + // Give ThaumcraftCompat a chance to set itself up. + ThaumcraftCompat.init(); + + // Grab Forestry graphics file path + proxy.FORESTRY_GFX_ITEMS = ItemInterface.getItem("beeComb").getItem().getTextureFile(); + + this.config.load(); + ItemManager.setupItems(this.config); + this.config.save(); + + ItemManager.setupCrafting(); + ThaumcraftCompat.setupCrafting(); + + ThaumcraftCompat.setupResearch(); + + } + + @Mod.PostInit + public void postInit(FMLPostInitializationEvent event) + { + MinecraftForge.EVENT_BUS.register(this); + } + + @ForgeSubscribe + public void worldLoad(net.minecraftforge.event.world.WorldEvent.Load event) + { + if (!ThaumcraftRecipesAdded) + { + ThaumicBeesPlugin.setupBeeInfusions(event.world); + ThaumcraftRecipesAdded = true; + } + } +}