From 3989430408fc083c4e17bbfbe7800ccadf672e86 Mon Sep 17 00:00:00 2001 From: MysteriousAges Date: Fri, 19 Jul 2013 15:34:54 -0700 Subject: [PATCH] 3 new essences: Time, armor & oblivion Crafting recipes for the essences Recipes for essences -> remaining frames; removed all "no TC" recipes for frames. Thaumcraft recipe cost reduction on frames --- magicbees_res/build.xml | 2 +- magicbees_res/changelog.txt | 6 + magicbees_res/mods/magicbees/lang/en_US.xml | 3 + .../items/essenceEverlastingDurability.png | Bin 0 -> 2881 bytes .../textures/items/essenceLostTime.png | Bin 0 -> 2908 bytes .../items/essenceUnendingDisregard.png | Bin 0 -> 3072 bytes magicbees_src/magicbees/bees/BeeMutation.java | 4 +- .../magicbees/item/types/ResourceType.java | 3 + magicbees_src/magicbees/main/Config.java | 1 + .../magicbees/main/utils/CraftingManager.java | 110 +++++++++++++----- .../main/utils/compat/ForestryHelper.java | 14 ++- .../main/utils/compat/ThaumcraftHelper.java | 32 +++-- 12 files changed, 120 insertions(+), 55 deletions(-) create mode 100644 magicbees_res/mods/magicbees/textures/items/essenceEverlastingDurability.png create mode 100644 magicbees_res/mods/magicbees/textures/items/essenceLostTime.png create mode 100644 magicbees_res/mods/magicbees/textures/items/essenceUnendingDisregard.png diff --git a/magicbees_res/build.xml b/magicbees_res/build.xml index 748c80c..2b23de4 100644 --- a/magicbees_res/build.xml +++ b/magicbees_res/build.xml @@ -16,7 +16,7 @@ - + diff --git a/magicbees_res/changelog.txt b/magicbees_res/changelog.txt index 1e0a86f..d11cade 100644 --- a/magicbees_res/changelog.txt +++ b/magicbees_res/changelog.txt @@ -1,3 +1,9 @@ +2.1.0 +Added new permanent methods for crafting all frames. These will be available even when Thaumcraft is installed. +Removed temporary frame recipes which used to be available when Thaumcraft was not installed. +Lowered the cost of creating several frames through Thaumcraft. These should still be a viable option with the new recipes. +Fixed issue with foundation-requiring mutations in Forestry Alvearies. (Will likely not work with Extra Bees Alveary blocks) + 2.0.5 Fixed hard-coded value in a subroutine that should not have been hard-coded. diff --git a/magicbees_res/mods/magicbees/lang/en_US.xml b/magicbees_res/mods/magicbees/lang/en_US.xml index 3588532..df42f7e 100644 --- a/magicbees_res/mods/magicbees/lang/en_US.xml +++ b/magicbees_res/mods/magicbees/lang/en_US.xml @@ -85,6 +85,9 @@ Draconic Chunk Essence of False Life Essence of a Shallow Grave + Essence of Lost Time + Essence of Everlasting Durability + Essence of Unending Disregard Bees and Magic Crystalized %s Aspect diff --git a/magicbees_res/mods/magicbees/textures/items/essenceEverlastingDurability.png b/magicbees_res/mods/magicbees/textures/items/essenceEverlastingDurability.png new file mode 100644 index 0000000000000000000000000000000000000000..87bcc6197f8e728e7581fb60680f47a538c9ab7c GIT binary patch literal 2881 zcmc&$2}~4M7+wQysYg-^3Yw-)1_e!E=h%yxu;Q|ZlCp}hjV7&$R2+38ZT@F$uhDsj}3WO|ybq%cvNw-z`FEjV3+AFEZ>(pdc$i0q-%RcYA^; z!gFSHiNT3GMJp)e7nDdKuVkT%Em_G@9GWo~N%zxGfg30c;&&H$WZG{=LwaerR*x|h z2|<*VW^~x8rOq70Do6k^Xz^4QHxh_ZuO;+2rKeI55+`tsATivOO5n7?MB@Y!eo$yl z;_~TSn z2oDL1v{eF(B1kSlD2fy;r%+G?xlj-hYo0+%AWL`;C-`L5SQrm%i~`IkES@eEH>Tox z7m3q)0@g1Thb6>^p-zG0^8*h;!H%S{-<%g&^!CWw4v97As}27)*8trH{zk z1h!Z$VnmjEAZr^-c9F!x24adv)nTxZX@t!|5muX>BnZlAB&`msowOP)X*zwHO3@Hi z=moqC>ktT&J`b!4uZnmi#15KaRRWt)R;?J|(C{%oTGV4%4a@op0aW-GWgNCFho_9C z0A^?`mSB(cTkv>+^pNKwBQbDf07*8Z`I6v9MkX%55zjJe%$V21h1*h$a1(u` z9hvctksae0HF;!qNLpv0Ng~4Bzmc7=YPOK^6aYADv40Q;PU>}fJ4IPcR!4|il+I!y zjV6bkFd2+QT7)5gs;D{wjvyTl6KTk_IB+!%i^-s~nDkaW&4g#- z4q~)8B9nwnqe(b`hKJ6-76+!@62mQs{kc1b_ckE$kY)~*wxQ`ukJg8e6B!)EG&kDx z8LNlY1_(L&(DfEMf_J969J#FFX5_jD9>_ZhUgnL?{bw|qaac~a%U-*+Y)|uR#jBQo zef!J%_wRRhG$*2SrcH~zI9Ru1yWCLMosbYWb?TJZ*!aPL`kpf_7cMjm4%WrR#?PEN zJ3c-xIXO8lE`DI3zN)IUZBN&xO@aRYhM9?TdV6q9_ z(9m({jq2)>lijVQCF@V0+8qow2K=uEgH5%yN^(+iWkvbwvdZJf+Ir9Knlfc-V&a^> zVAF>6W&7F>pE$m^|NPE#y}Qo#G_PN``g~tw&FjTCu75l@Siir$N$*W0wc zRzBO)^4TZXAEdj{I6~(>kBrXIo(oIQ=F8P+|qnBB_*-^m5ToUowJjZhK7b(HLDEp8wx17 z3-jRiKYujS3g4@MwTjKMSzP`bP1k&R{dmHY_dYZpZ{N20R6M#iw(0ZelLrnQnCJ@* z6>PowL(DASv(2waKg|uky{u-!^`YofeKD6rP5ivfHp`kkH2SJNeRuFq&GSf>|MDVy zT;~Tp-7#10c6^h)`=IG0QND!(?Bcd@RCDFkf-h$N^6PImcBa?fj9MHQJ-u==eWt!N zD}KjM@BEgcdH2w@+7~;Y$j-Q9pWGLPvW=I&_va8xJ~bqjcdcV*B@BIZaQ<6;6S%>N z&wck&-lX0cif8e;E6sJ@>T91-XEUM-kG0)gsr&YYh8*mO+j8&cd-J;Ho-;4Y$T{&; zA4uU6o}8e0CUf0WX#-Dx)bf5sRQAi2GcFwtlvm%bnKALlo}uUjP14Qaj7s*_1ofjf M%f8UonYn!J?>zr7N&o-= literal 0 HcmV?d00001 diff --git a/magicbees_res/mods/magicbees/textures/items/essenceLostTime.png b/magicbees_res/mods/magicbees/textures/items/essenceLostTime.png new file mode 100644 index 0000000000000000000000000000000000000000..10510745ff7b2adafa477fd32424b51ad1cf76f9 GIT binary patch literal 2908 zcmc&$4Nw%<9X~}AV=;*(?Nrmm&FMtx@LSDx4Y~v z_rXMR9I;A1jONR)#Hc`l5EvB%a(o9!R3u=Cv62>X)Hc&GQrc;3Yt_Cxj*H1)$+Vs6 z&fM*LZ+`#J-|xM*Wwz8c3+6ALFOf(VSdxrs;0*5yEW(4TC*62P1Mtu%r->BqBJj zkk1bVCkdF!r<@cc3IK~lu%Js;YXm;6Tc?)6p*KsDbzBB%8n{96$1E^DFB6vNvM@2>0IyKP(ZTQj;JsIQX$`g0_Bjnh|dTn z2`rc8oj7O~9TYpvF^*6)s}-{_f`~H&WijfcAXPa{lbF(MP?}Mt-mF-yK@bxfuTq-z zMzhMGRcg#yt#ZoN$P$G?5~pm*Z*5o4Wcy2=1{(;^pU#IlPLIYTMza<%7)>aGXw_=e zU^bXggIXW2RK*7+8j=c@L<@iiZ&>u{R6%%@PeUPfU^o#Juue(@8KX#Pc$uE2>KUVk zZQXekaQJU%oQy1lPZ_-fbZ91(!1v6XWn2`0SLPhfv65pdTG-BHiL$vwM+V#+uSjVSj&=uX%*k%u!53Y@j@e^G}5 zRVh^_tyZrwm_ypqD)o9)tudPrO`IBupHj&8Sk~AP6jPyK6He{G|5+Vy@N}J&F8qB} zPtJ`LPXl_)LApby7B-!Je@JEE2*b!}cI}MX4+r9TX!SlMx;K<-wJ%-9XvmB z(i0!}fIU{@*JW;PeM9UxLihJJwAFIYFt7B#SNu^u-`QAvesrvK$FF(@PJP^5-Phn7 z85=#>RC4IOvePYPcpg9ed3*VhT^+UJ*-CEFXiG^-*TItE^MlK5MHMHi%+Gqh zI9k%>Pj9SzZs^eS-FvgnG{5{swXgG-dvK_=`3SKrF}o=n3e>wh4`i2a72A%w>em1C z!llb2SAO3>AOS{g!QK6P3IfMV`uFjdzxrddcTJCXRrm8rzb@Z#=gytWr>{(aj~Sns zmYNQx|IbGfKXT6xfoxhH~lCUaJfAC^<$CA+-@z=MFz)>&EzA*mxC1X*$suo5SJQlMwHgo=hC*kpw z3)lAjoZEdM>(jqX_%}DYUpu%Ee`wK=?cJE3(NfiH#@RrSm?2XsoPz|7Wk& z+6Qm#w=e_8qnAeQMgn!e{jxPrJ(Mg-u6}I&xvO;1@PI?I2$DV0Ra>51_4;0ESC;N! z_4V1dx5Zm!(btws=*4>vKe5h#U)NR=GyLw;n-e!<(b9>V8s9e0#rfCICme|VQS96k zi+iAXV!5llf%;_KD$|BJ4;mhMs`m8G_K)89u`kg-#KmmP$VkXqw!#-P=Lvt{tH6V8 zbwd&lf9=nOUbX0YyU(~`4rKmY%9GZF{@0Uz%cF^=xq+0Q++O~`hWjM)Gfjg_e7@d^ h@v-NcZ?5&tl03d$PNlw}YYcwxT1=_N`qi8K{{s4QhSUH6 literal 0 HcmV?d00001 diff --git a/magicbees_res/mods/magicbees/textures/items/essenceUnendingDisregard.png b/magicbees_res/mods/magicbees/textures/items/essenceUnendingDisregard.png new file mode 100644 index 0000000000000000000000000000000000000000..a6b1cc60e600b3b1d5bcb7f9769cf283dc974302 GIT binary patch literal 3072 zcmc&$3v3f*9KX>`HgLek5M4lygW$xq_vrO?u5N9wg$f;GE02K$j=NiXuI+Vqx3wEM zCkn_QgYeKe0V9G6QIyvr4A_PaHYDIP7+=hHj83CL1QF+VT|1EsXT*d{+WWrC@BjGy zU*ET?sBlX9knAB41f{#D(#7BntG`qY_@}qm9|x~H6z5!}L@ZMxjKo7WPF&2x?jYmi zi+P5tuIS|RASks<@Xl4{dZtsX7}PN;Mi&i+fiwi=aUZ>`IieQH*@vuRMX<5vO!$wkvlbD6HGK9Xp{+~xDHb(#ef{!hYMFqftYcQMfm_9c z$QQHb@lfuNtS}*#chgn`xT+Hbj>4Uo$z(K}T$tT~<4(dt8q7|@V074UJ4O@Ege)zx zm1+_bvfN*?=7D5qNCIdeCeWV_m%&DuaoT0U9ki3caf{JNI9v`V;V|0FdeW?xXslGI zse%mhP#rJ&622n73J7qlIw*!!3)qUVYQ}gDiGLRQVLhPLxNOAF1BL&P#$L;Ee9G8- zAVLFG33^?>#ZVP5UFCV0kr*&CcuBS*Ws(?#`!WhEBFu!t0fA*y&S+JLi??MsQJcth z?Z`~k0MRiHkdy012b8UWBJf1z{)gzqRkMC3qNB z{qaal62eRoU;yr`0qUQfCu)!^FYTjOt z{{=H}q)=QxQ*^*tq&9NQ(W{Q>#3yj}tINJi2iWvoTlf&@9|>Gajx1=)2N#;wqUm1e zZAs4AlRBT6atOP1&l0jNJt=pkp>4(3)Ae_EOiSHVPdBGPnZoFkIVq3L8*^&<$P(e$e~}(vQ~V9-lq(G&lT6bxsGa z3Dy=Ieui#_Q&zS}E$i*;yFc%~a^=e5b%*^Kt&QZd!r{#&887$r^b9&Ueg@!DpcEID zfbESu(6J?ZXb4K$>ZWbp=!cu%4L)fvxc!!{nQNZRwr31EQq(+i8sm>#?&*2ZH`(d? z_4}QdUtfCg75p??_ildDj7NTNJPTw`X3${is?3(w)-ow)` zeztDmmql%gG*h;)^{kfje!hI*+|kadG_d^4GD=@9zlJHKcVuG%9&bb*60z zv@vV>^TO)(WwqN6)k1@_yN4G&S9U2c`t6T@WGsTte9`pvoV8gy)jPS{SxE1;FIx5| D;Uzk% literal 0 HcmV?d00001 diff --git a/magicbees_src/magicbees/bees/BeeMutation.java b/magicbees_src/magicbees/bees/BeeMutation.java index 4b23892..8a214c2 100644 --- a/magicbees_src/magicbees/bees/BeeMutation.java +++ b/magicbees_src/magicbees/bees/BeeMutation.java @@ -126,7 +126,7 @@ public class BeeMutation implements IBeeMutation new BeeMutation(Allele.getBaseSpecies("Industrious"), Allele.getBaseSpecies("Forest"), BeeSpecies.TIN, 12) .setBlockRequired("blockTin"); } - new BeeMutation(Allele.getBaseSpecies("Common"), Allele.getBaseSpecies("Industrious"), BeeSpecies.IRON, 10) + new BeeMutation(Allele.getBaseSpecies("Common"), Allele.getBaseSpecies("Industrious"), BeeSpecies.IRON, 100) .setBlockRequired(Block.blockIron); if (BeeSpecies.LEAD.isActive()) { @@ -338,7 +338,7 @@ public class BeeMutation implements IBeeMutation blockBelow = Block.blocksList[blockId]; ++i; } - while (blockBelow != null && (blockBelow instanceof IBeeHousing)); + while (blockBelow != null && (blockBelow instanceof IBeeHousing || blockBelow == Config.fAlvearyBlock)); if (this.requiredBlockOreDictEntry != null) { diff --git a/magicbees_src/magicbees/item/types/ResourceType.java b/magicbees_src/magicbees/item/types/ResourceType.java index fa62a32..bc064f6 100644 --- a/magicbees_src/magicbees/item/types/ResourceType.java +++ b/magicbees_src/magicbees/item/types/ResourceType.java @@ -14,6 +14,9 @@ public enum ResourceType DRAGON_CHUNK("dragonChunk", true), ESSENCE_FALSE_LIFE("essenceFalseLife", true), ESSENCE_SHALLOW_GRAVE("essenceShallowGrave", true), + ESSENCE_LOST_TIME("essenceLostTime", true), + ESSENCE_EVERLASTING_DURABILITY("essenceEverlastingDurability", true), + ESSENCE_UNENDING_DISREGARD("essenceUnendingDisregard", true), // Dummy items for Thaumanomicon research icons. // These won't ever actually exist in-game, and so diff --git a/magicbees_src/magicbees/main/Config.java b/magicbees_src/magicbees/main/Config.java index f9086c6..0da7f3c 100644 --- a/magicbees_src/magicbees/main/Config.java +++ b/magicbees_src/magicbees/main/Config.java @@ -111,6 +111,7 @@ public class Config public static BackpackDefinition thaumaturgeBackpackDef; //----- Forestry Blocks ------------------------------------ + public static Block fAlvearyBlock; //----- Forestry Items ------------------------------------- public static Item fBeeComb; public static Item fHoneydew; diff --git a/magicbees_src/magicbees/main/utils/CraftingManager.java b/magicbees_src/magicbees/main/utils/CraftingManager.java index c1e1652..b4d7dd7 100644 --- a/magicbees_src/magicbees/main/utils/CraftingManager.java +++ b/magicbees_src/magicbees/main/utils/CraftingManager.java @@ -166,6 +166,19 @@ public class CraftingManager 'e', Config.miscResources.getStackForType(ResourceType.ESSENCE_FALSE_LIFE) }); + GameRegistry.addRecipe(new ShapedOreRecipe(Config.miscResources.getStackForType(ResourceType.ESSENCE_EVERLASTING_DURABILITY), new Object[] { + "gwg", "wiw", "gwg", + 'g', Block.glass, + 'w', "waxMagical", + 'i', Item.ingotIron + })); + GameRegistry.addRecipe(new ShapedOreRecipe(Config.miscResources.getStackForType(ResourceType.ESSENCE_EVERLASTING_DURABILITY), new Object[] { + "wgw", "gig", "wgw", + 'g', Block.glass, + 'w', "waxMagical", + 'i', Item.ingotIron + })); + GameRegistry.addRecipe(Config.miscResources.getStackForType(ResourceType.ESSENCE_FALSE_LIFE), new Object[] { "gwg", "wfw", "gwg", 'g', Block.glass, @@ -179,6 +192,53 @@ public class CraftingManager 'f', Block.plantRed }); + GameRegistry.addRecipe(Config.miscResources.getStackForType(ResourceType.ESSENCE_SHALLOW_GRAVE), new Object[] { + "gwg", "wfw", "gwg", + 'g', Block.glass, + 'w', Config.wax.getStackForType(WaxType.SOUL), + 'f', Item.rottenFlesh + }); + GameRegistry.addRecipe(Config.miscResources.getStackForType(ResourceType.ESSENCE_SHALLOW_GRAVE), new Object[] { + "wgw", "gfg", "wgw", + 'g', Block.glass, + 'w', Config.wax.getStackForType(WaxType.SOUL), + 'f', Item.rottenFlesh + }); + + GameRegistry.addRecipe(Config.miscResources.getStackForType(ResourceType.ESSENCE_LOST_TIME), new Object[] { + "wgw", "gcg", "wgw", + 'g', Block.glass, + 'w', Config.wax.getStackForType(WaxType.SOUL), + 'c', Item.pocketSundial + }); + GameRegistry.addRecipe(Config.miscResources.getStackForType(ResourceType.ESSENCE_LOST_TIME), new Object[] { + "gwg", "wcw", "gwg", + 'g', Block.glass, + 'w', Config.wax.getStackForType(WaxType.SOUL), + 'c', Item.pocketSundial + }); + + GameRegistry.addRecipe(Config.miscResources.getStackForType(ResourceType.ESSENCE_UNENDING_DISREGARD), new Object[] { + "gst", "sEs", "tsg", + 'g', Config.miscResources.getStackForType(ResourceType.ESSENCE_SHALLOW_GRAVE), + 't', Config.miscResources.getStackForType(ResourceType.ESSENCE_LOST_TIME), + 's', new ItemStack(Item.skull, 1, 1), + 'E', Block.dragonEgg, + }); + + GameRegistry.addShapelessRecipe(new ItemStack(Config.hiveFrameMagic, 2), new Object[] { + Config.miscResources.getStackForType(ResourceType.ESSENCE_EVERLASTING_DURABILITY), + ItemInterface.getItem("frameUntreated"), + ItemInterface.getItem("frameUntreated") + }); + + GameRegistry.addShapelessRecipe(new ItemStack(Config.hiveFrameResilient), new Object[] { + Config.miscResources.getStackForType(ResourceType.ESSENCE_EVERLASTING_DURABILITY), + ItemInterface.getItem("frameImpregnated"), + Item.ingotIron, Item.ingotIron, + Item.ingotIron, Item.ingotIron + }); + GameRegistry.addShapelessRecipe(new ItemStack(Config.hiveFrameGentle), new Object[] { Config.miscResources.getStackForType(ResourceType.ESSENCE_FALSE_LIFE), ItemInterface.getItem("frameUntreated") @@ -189,6 +249,24 @@ public class CraftingManager ItemInterface.getItem("frameImpregnated"), Item.magmaCream }); + + GameRegistry.addShapelessRecipe(new ItemStack(Config.hiveFrameNecrotic), new Object[] { + Config.miscResources.getStackForType(ResourceType.ESSENCE_SHALLOW_GRAVE), + ItemInterface.getItem("frameUntreated"), + Item.rottenFlesh, Item.rottenFlesh, + Item.rottenFlesh, Item.rottenFlesh + }); + + GameRegistry.addShapelessRecipe(new ItemStack(Config.hiveFrameTemporal), new Object[] { + Config.miscResources.getStackForType(ResourceType.ESSENCE_LOST_TIME), + ItemInterface.getItem("frameImpregnated"), + Config.pollen.getStackForType(PollenType.PHASED) + }); + + GameRegistry.addShapelessRecipe(new ItemStack(Config.hiveFrameOblivion), new Object[] { + Config.miscResources.getStackForType(ResourceType.ESSENCE_UNENDING_DISREGARD), + ItemInterface.getItem("frameProven") + }); if (OreDictionary.getOres("ingotCopper").size() <= 0) { @@ -519,38 +597,6 @@ public class CraftingManager 'f', input }); - output = new ItemStack(Config.hiveFrameResilient); - GameRegistry.addRecipe(output, new Object[] { - "wiw", "ifi", "wiw", - 'f', Config.hiveFrameMagic, - 'i', Item.ingotIron, - 'w', Config.wax.getStackForType(WaxType.MAGIC) - }); - - output = new ItemStack(Config.hiveFrameNecrotic); - GameRegistry.addRecipe(output, new Object[] { - "wSw", "SFS", "wSw", - 'S', Item.rottenFlesh, - 'F', input, - 'w', Config.wax.getStackForType(WaxType.MAGIC) - }); - - output = new ItemStack(Config.hiveFrameTemporal); - GameRegistry.addRecipe(output, new Object[] { - "wSt", "wFw", "tSw", - 't', Item.stick, - 'S', Block.sand, - 'F', Config.hiveFrameMagic, - 'w', Config.wax.getStackForType(WaxType.MAGIC) - }); - GameRegistry.addRecipe(output, new Object[] { - "tSw", "wFw", "wSt", - 't', Item.stick, - 'S', Block.sand, - 'F', Config.hiveFrameMagic, - 'w', Config.wax.getStackForType(WaxType.MAGIC) - }); - output = Config.voidCapsule.getCapsuleForLiquid(LiquidType.EMPTY); output.stackSize = 4; GameRegistry.addRecipe(output, new Object[] { diff --git a/magicbees_src/magicbees/main/utils/compat/ForestryHelper.java b/magicbees_src/magicbees/main/utils/compat/ForestryHelper.java index bf9bb10..a152416 100644 --- a/magicbees_src/magicbees/main/utils/compat/ForestryHelper.java +++ b/magicbees_src/magicbees/main/utils/compat/ForestryHelper.java @@ -2,9 +2,9 @@ package magicbees.main.utils.compat; import java.lang.reflect.Method; -import cpw.mods.fml.common.FMLLog; import magicbees.main.Config; -import net.minecraft.item.Item; +import net.minecraft.block.Block; +import cpw.mods.fml.common.FMLLog; import forestry.api.core.EnumHumidity; import forestry.api.core.EnumTemperature; import forestry.api.core.ItemInterface; @@ -99,7 +99,15 @@ public class ForestryHelper public static void getBlocks() { - + try + { + Class c = Class.forName("forestry.core.config.ForestryBlock"); + Config.fAlvearyBlock = (Block)(c.getField("alveary").get(null)); + } + catch (Exception e) + { + + } } public static void getItems() diff --git a/magicbees_src/magicbees/main/utils/compat/ThaumcraftHelper.java b/magicbees_src/magicbees/main/utils/compat/ThaumcraftHelper.java index 0d822b3..d833445 100644 --- a/magicbees_src/magicbees/main/utils/compat/ThaumcraftHelper.java +++ b/magicbees_src/magicbees/main/utils/compat/ThaumcraftHelper.java @@ -630,7 +630,7 @@ public class ThaumcraftHelper input = new ItemStack(Item.stick); } - ThaumcraftApi.addArcaneCraftingRecipe("THAUMIUMSCOOP", "THAUMIUMSCOOP", 45, new ItemStack(Config.thaumiumScoop), new Object[] { + ThaumcraftApi.addArcaneCraftingRecipe("THAUMIUMSCOOP", "THAUMIUMSCOOP", 20, new ItemStack(Config.thaumiumScoop), new Object[] { "sWs", "sTs", " T ", 's', input, 'W', Block.cloth, @@ -653,47 +653,45 @@ public class ThaumcraftHelper output = new ItemStack(Config.hiveFrameMagic); input = ItemInterface.getItem("frameUntreated"); - tags = new ObjectTags().add(EnumTag.WOOD, 4).add(EnumTag.INSECT, 8); - ThaumcraftApi.addShapelessInfusionCraftingRecipe("HIVEFRAME", "FRAMEMAGIC", 50, tags, output, new Object[] { + tags = new ObjectTags().add(EnumTag.WOOD, 4).add(EnumTag.MAGIC, 2); + ThaumcraftApi.addShapelessInfusionCraftingRecipe("HIVEFRAME", "FRAMEMAGIC", 20, tags, output, new Object[] { input }); output = new ItemStack(Config.hiveFrameResilient); - tags = new ObjectTags().add(EnumTag.WOOD, 12).add(EnumTag.INSECT, 8).add(EnumTag.EXCHANGE, 12); - ThaumcraftApi.addInfusionCraftingRecipe("HIVEFRAME2", "FRAMERESILIENT", 50, tags, output, new Object[] { - " i ", "ifi", " i ", + tags = new ObjectTags().add(EnumTag.WOOD, 12).add(EnumTag.MAGIC, 2).add(EnumTag.EXCHANGE, 8); + ThaumcraftApi.addInfusionCraftingRecipe("HIVEFRAME2", "FRAMERESILIENT", 35, tags, output, new Object[] { + "ifi", 'f', Config.hiveFrameMagic, 'i', Item.ingotIron }); output = new ItemStack(Config.hiveFrameGentle); - tags = new ObjectTags().add(EnumTag.WOOD, 4).add(EnumTag.INSECT, 8).add(EnumTag.HEAL, 12); - ThaumcraftApi.addInfusionCraftingRecipe("HIVEFRAMEGENTLE", "FRAMEGENTLE", 50, tags, output, new Object[] { - "www", "wFw", "www", + tags = new ObjectTags().add(EnumTag.WOOD, 4).add(EnumTag.MAGIC, 2).add(EnumTag.LIFE, 8); + ThaumcraftApi.addInfusionCraftingRecipe("HIVEFRAMEGENTLE", "FRAMEGENTLE", 35, tags, output, new Object[] { + " w ", "wFw", " w ", 'F', input, 'w', ItemInterface.getItem("beeswax") }); output = new ItemStack(Config.hiveFrameMetabolic); - tags = new ObjectTags().add(EnumTag.WOOD, 4).add(EnumTag.INSECT, 8).add(EnumTag.LIFE, 8).add(EnumTag.MOTION, 8) - .add(EnumTag.EXCHANGE, 8); + tags = new ObjectTags().add(EnumTag.WOOD, 6).add(EnumTag.MAGIC, 2).add(EnumTag.LIFE, 4).add(EnumTag.EXCHANGE, 8); ThaumcraftApi.addShapelessInfusionCraftingRecipe("HIVEFRAMEMETA", "FRAMEMETABOLIC", 50, tags, output, new Object[] { Item.magmaCream, input }); output = new ItemStack(Config.hiveFrameNecrotic); - tags = new ObjectTags().add(EnumTag.WOOD, 4).add(EnumTag.INSECT, 8).add(EnumTag.EXCHANGE, 12).add(EnumTag.DEATH, 16) - .add(EnumTag.POISON, 1); - ThaumcraftApi.addInfusionCraftingRecipe("HIVEFRAMENECRO", "FRAMENECROTIC", 50, tags, output, new Object[] { - " S ", "SxS", " S ", + tags = new ObjectTags().add(EnumTag.WOOD, 6).add(EnumTag.MAGIC, 2).add(EnumTag.EXCHANGE, 12).add(EnumTag.DEATH, 8); + ThaumcraftApi.addInfusionCraftingRecipe("HIVEFRAMENECRO", "FRAMENECROTIC", 35, tags, output, new Object[] { + "SxS", 'S', Item.rottenFlesh, 'x', input }); output = new ItemStack(Config.hiveFrameTemporal); - tags = new ObjectTags().add(EnumTag.WOOD, 4).add(EnumTag.INSECT, 8).add(EnumTag.TIME, 2); + tags = new ObjectTags().add(EnumTag.WOOD, 6).add(EnumTag.MAGIC, 2).add(EnumTag.TIME, 1); ThaumcraftApi.addInfusionCraftingRecipe("HIVEFRAMETIME", "FRAMETIME", 50, tags, output, new Object[] { "tSt", "SFS", "tSt", 't', Item.stick, @@ -703,7 +701,7 @@ public class ThaumcraftHelper output = Config.voidCapsule.getCapsuleForLiquid(LiquidType.EMPTY); output.stackSize = 4; - tags = new ObjectTags().add(EnumTag.VOID, 16).add(EnumTag.ELDRITCH, 4).add(EnumTag.EXCHANGE, 8); + tags = new ObjectTags().add(EnumTag.VOID, 16).add(EnumTag.ELDRITCH, 2).add(EnumTag.EXCHANGE, 8); ThaumcraftApi.addInfusionCraftingRecipe("VOIDCAPSULE", "VOIDCAPSULE", 10, tags, output, new Object[] { " G ", "GPG", "TGT", 'G', Block.thinGlass,