From 09132fd348bde411ef24925cb1ed78458f68f95d Mon Sep 17 00:00:00 2001 From: Bob Date: Thu, 24 Sep 2020 21:39:03 +0200 Subject: [PATCH] updated cyclotron texture, fixed NEI handler, added missing recipes --- src/main/java/assets/hbm/lang/de_DE.lang | 2 + src/main/java/assets/hbm/lang/en_US.lang | 2 + .../hbm/textures/blocks/brick_dungeon.png | Bin 0 -> 706 bytes .../textures/blocks/brick_dungeon_circle.png | Bin 0 -> 598 bytes .../textures/blocks/brick_dungeon_flat.png | Bin 0 -> 422 bytes .../textures/blocks/brick_dungeon_tile.png | Bin 0 -> 507 bytes .../textures/blocks/brick_jungle_circle.png | Bin 1304 -> 1339 bytes .../assets/hbm/textures/items/mech_key.png | Bin 0 -> 261 bytes .../textures/models/machines/cyclotron.png | Bin 4007 -> 4498 bytes src/main/java/com/hbm/blocks/ModBlocks.java | 3 + .../hbm/blocks/machine/MachineCyclotron.java | 17 ++++ .../com/hbm/inventory/CyclotronRecipes.java | 14 ++- src/main/java/com/hbm/items/ModItems.java | 7 +- .../com/hbm/items/special/ItemCustomLore.java | 5 + .../java/com/hbm/main/CraftingManager.java | 2 +- .../java/com/hbm/main/ModEventHandler.java | 1 - .../render/tileentity/RenderCyclotron.java | 87 +++++++++++++++++- .../machine/TileEntityMachineCyclotron.java | 28 ++++++ 18 files changed, 158 insertions(+), 10 deletions(-) create mode 100644 src/main/java/assets/hbm/textures/blocks/brick_dungeon.png create mode 100644 src/main/java/assets/hbm/textures/blocks/brick_dungeon_circle.png create mode 100644 src/main/java/assets/hbm/textures/blocks/brick_dungeon_flat.png create mode 100644 src/main/java/assets/hbm/textures/blocks/brick_dungeon_tile.png create mode 100644 src/main/java/assets/hbm/textures/items/mech_key.png diff --git a/src/main/java/assets/hbm/lang/de_DE.lang b/src/main/java/assets/hbm/lang/de_DE.lang index 2226eb143..d6b2952cb 100644 --- a/src/main/java/assets/hbm/lang/de_DE.lang +++ b/src/main/java/assets/hbm/lang/de_DE.lang @@ -1181,6 +1181,7 @@ item.man_igniter.name=Zünder item.man_kit.name=Fat Man Kit item.mask_of_infamy.name=Maske der Schande item.matchstick.name=Streichholz +item.mech_key.name=Großer Silberschlüssel item.mechanism_launcher_1.name=Werfermechanismus item.mechanism_launcher_2.name=Fortgeschrittener Werfermechanismus item.mechanism_revolver_1.name=Revolvermechanismus @@ -2059,6 +2060,7 @@ tile.brick_concrete_broken.name=Gebrochene Betonziegel tile.brick_concrete_cracked.name=Rissige Betonziegel tile.brick_concrete_mossy.name=Bemooste Betonziegel tile.brick_jungle.name=Enargitziegel +tile.brick_jungle_circle.name=Mechanistenzirkel tile.brick_jungle_cracked.name=Rissige Enargitziegel tile.brick_jungle_glyph.name=Enargit-Glyphenziegel tile.brick_jungle_lava.name=Magmatische Enargitziegel diff --git a/src/main/java/assets/hbm/lang/en_US.lang b/src/main/java/assets/hbm/lang/en_US.lang index a84361648..ea7323cce 100644 --- a/src/main/java/assets/hbm/lang/en_US.lang +++ b/src/main/java/assets/hbm/lang/en_US.lang @@ -1181,6 +1181,7 @@ item.man_igniter.name=Bomb Igniter item.man_kit.name=Fat Man Kit item.mask_of_infamy.name=Mask of Infamy item.matchstick.name=Matchstick +item.mech_key.name=Large Silver Key item.mechanism_launcher_1.name=Launcher Mechanism item.mechanism_launcher_2.name=Advanced Launcher Mechanism item.mechanism_revolver_1.name=Revolver Mechanism @@ -2059,6 +2060,7 @@ tile.brick_concrete_broken.name=Broken Concrete Bricks tile.brick_concrete_cracked.name=Cracked Concrete Bricks tile.brick_concrete_mossy.name=Mossy Concrete Bricks tile.brick_jungle.name=Enargite Bricks +tile.brick_jungle_circle.name=Mechanist's Circle tile.brick_jungle_cracked.name=Cracked Enargite Bricks tile.brick_jungle_glyph.name=Enargite Glyph Bricks tile.brick_jungle_lava.name=Magmatic Enargite Bricks diff --git a/src/main/java/assets/hbm/textures/blocks/brick_dungeon.png b/src/main/java/assets/hbm/textures/blocks/brick_dungeon.png new file mode 100644 index 0000000000000000000000000000000000000000..a6b18a2347853a46b18b53eed0fb2853e4b85913 GIT binary patch literal 706 zcmV;z0zLhSP)b9lTB6m9>P_ErAk25{UC} z`;Kl(s%h2tog@DH|4;b%_&^9j(==pRhI5XxEXng6Ap~_@^Zx!$2!ZGG$vn?kYq{NS zsAXBG>l$klI@Ro6QFAJz17pHBpc<(u#PH3&^x{fqWnWhOL1S&}qthGof>HD4}NvNs{tu;xKptWXM z7M5jUnkGUBe1CtFrYTA(6u{ft8;{2Wr4+B%3#AmsnDsk=5Q47j7>0p=G16|jVBnjSogb<`@N*u=kZ2n#L-qSP<#u&8Lv~9~U3@fzP z>&1S*Uuy{=08nk)5<=j9zZ1tXQ54a(EzUVY2mpi-h@yz1D3DUF)i#?A>g(%^q9`~X zk9hC7-|r};SeAv$<$~6l?RHC+W#oAdKomukWl5H0sGpx70II5@ZQC`zF$U)xhrzrXDFd%X9I z0M0q`JZD)JthKyeFN`s(A=NYu<2bH#rIZv!fl>csw4f|Dq^x o&avHYnWl+2j*(I_jw1kn0f5ty@vUrK)&Kwi07*qoM6N<$g0K)ddjJ3c literal 0 HcmV?d00001 diff --git a/src/main/java/assets/hbm/textures/blocks/brick_dungeon_circle.png b/src/main/java/assets/hbm/textures/blocks/brick_dungeon_circle.png new file mode 100644 index 0000000000000000000000000000000000000000..7a5f296809c88aaceb769b112a797fbb7106f45b GIT binary patch literal 598 zcmV-c0;&CpP)y;5QV>;owXCBs6Th5KtO6G=+pEG`htC$N>u?-T1Wyy zR00Lk5Zk-6y>M(L>RwsvnRCvZGwVKo`I^l#v1w>x13=J#6Cs%S#V%Gd%|&=Zu+QW{eL%5lO_DSXDKP`4w7MbJjW_a&=1?A3r?*BY7f4IbZ z-`3fB&e`OQozVfRiiotMtQCj|Ap}AQhzJLVC*+(-DIp!Za}MWRuciZtF=A#EML}7X zYvuui!2qBIm|Xqn*+U4VlrS@zruC*%q^gu<$@8LNe|(Ipq9THbkaKS1Y8t%v{kMqV zy~lgs*QhE%m7*xnutwc9s~e$X?!ZC_IOiA+hYW|UH(IQlQ%Zyo{sY(?qpPXw8XK1F zea@M8yC0~QH(RV-jJC0jW=2(23`_WZ`5iNBO-z;mh%xrfn?T*a7$Z&7(CrR@ESF2n zGW+9Wa?X8heZg8uN{JXFuSNya>r+xn)OC%DID!Ul?;cq`PuM#+M%6Qas<)cozS$wg z$aHenzY*sg8Z_`YU$Oc-V=x$SfAw}W%^(i^$Hha}xoi3J%m&Fw4+?EHo kvx}`5yM5?V(e)nu18IUZq8o$sDF6Tf07*qoM6N<$f`m~Fi~s-t literal 0 HcmV?d00001 diff --git a/src/main/java/assets/hbm/textures/blocks/brick_dungeon_flat.png b/src/main/java/assets/hbm/textures/blocks/brick_dungeon_flat.png new file mode 100644 index 0000000000000000000000000000000000000000..646165eb1cef0ca45bdd7a5d67ba062bcd5941ca GIT binary patch literal 422 zcmV;X0a^ZuP)89P)-N9^fwpg@&$@5XrNHF2o;)5848Y8A_Z!G@9F$TpGgMPb0oWkDcf8hm zYtpniClRrmdhfK>Ff-O#j4=Sd005cET8mQ3ZG}<_nMr0c=VZ=_hCUt-JTo^cfV*$n zVjwmEb57iS1G=V*zP`S#T1jG&Naegj2$8+c55KN-|zR{>)Ncq zC?}aoYmK!Q$8mgJP_YEPhUpq-*?H~ph+wUC`xCW-8USjoxchb>A~?^Jf3BT2?Sxgo Q^Z)<=07*qoM6N<$f`U7_k^lez literal 0 HcmV?d00001 diff --git a/src/main/java/assets/hbm/textures/blocks/brick_dungeon_tile.png b/src/main/java/assets/hbm/textures/blocks/brick_dungeon_tile.png new file mode 100644 index 0000000000000000000000000000000000000000..484111395ab82f7bb14d4fff8b2302a32a8fe327 GIT binary patch literal 507 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 eKqVAUOaB80%o76m3yvQE0000coo;Rq@Z~^jr&V z%(@!I?V@ttp`LAG@wDIj9@_YOXeQ2Yl}b7nnUyf>w0-++?Jtdy*@`U&s!47J#>~ct zx8<(tkUaQ%U$Q1^-{XM))?w_gcO`K+&X7!dn0WTayVtxQ-pmwtUckKq=nn=@S3j3^ HP6gN6Q+ph#VGX(mrEk-~EZ^ru6l|_{I4- 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 NOHB`7p#pV?{0~FtV7>qV literal 4007 zcmbtXi9Zv5_@5<`d&qswlw1+HkLAc#u4>7Vqnu%KB~#Q;%(cyt979Nsv^8f{e0f9_k(e?x8Xl2brJvo@WWwN*Vr|Vohwgp zu}i^w{?Y7;Gr|InIKfVjPWU9Vr5Jaf9#zJD(8+><>mpOtvQxkax#Baj(rz4<$WIY(a(Q6UQ>(ycevH9&;0d zc2}}R3$Mk?#?+1*PcMOkUJKT^^!N9#4XpOf%v|meRL`_GHm+&M#u*zwj_Y~;{JDXQ z!GpEJD`Dyy8iqON+E|uJ0xzdS$|i&F`1yUUwC$L+siQQhD&?+3wMp=C8AL7$0leY z;%c`0V<{piy-mYMD%O_D5q<)(BXVhyQQ+uQKo+l{12T{bU`c7rSFxwIrPy>601rat zMyeH&4uClR`{FVpQnWY43`OP81y(U-vi4`sYeq87h-8qgd7KQvo?A^#O(X(&z%)B` z>eSFuP5&qrF8AN6{-yP-!(M|v-M)hRWLYc z4}7J_WbOp4MB59TXfzQg{UB*3h?kOBoIx1keRsCBm>4 zZOm)Z=&b~&EJBut30QuJBL;$jgt%)W!2}btZuWvA(0o{<)oG++16HcNYcrD33I*B; z!NHT4z$nkXiJMkOARcNmc1aFSCdpmMFV7LCS0XFG138@G<(1YMsFloJ$(~j`G~=(w z9h!yYf(6iUPOURR&6mK<9tUdx3w=*d_1Mmh60pW?KN!Eu!pgc()Yil2;b)fC!+Qmr zDUNlcURo0HV8_VPW0HoQh+)V$-q?J|!?NA1w9|FMe74-yav(=OpzfuI_}*qq+T#!9 zuWQc_bQ`g4l7 zo{scY8Henv%9*~KiXa}{OO1cPE7Y)V2=-kn3^F94mDg1S!M-Pc=S11LjBGojl#>;( zuxxpiW4UnWiW>RM3FKZrz%PI3qL&irH}`pk!T0K|w_MF_^G%4w-ilexjTdN9&ut*R zfn|-`#rCMGAKR2``S6*P8G$MyO%wWuU;iR zx{t3VLpF9S!uC5~!E;kRS_}Iq99ug4(>xOyom|BRZSe z?0ZEH11pKI?|fW4_%&GdM+FDLb8Us@pq{8P+GZvM!`dNXh!aP)bm`zcs z`MXIgFo-OIGJp74d7tWj2`TlII;#w~0-{RZ=nb}j49eMU!_1pSVWe0@a4GKa;SIJu zUez2qS(=s184kgk_}a*$k)oNq!k~s%uaw`ejRoiq1-`p{bnFbrrr(1$cUod&#KM3! zz#x2in|$APo|aqeU1Z;YP%+0He}4!)U(EW<{NcO~095SK91dBtM~7Z~{>E}_wIX~E zyySP%Cf?N*H2t}$J^34>9(hF7(7_B{e_^w8M>+rk6i(z9 zMVk!gn*tP4w2Y_}wG?+DBPJBK}|{p_ytw>zVTG9)yRTm-6Af#tF(e0 zugcHe-oiZcohVKWSoq<{Sj+lF(wb!|5XBo;_kE=fcDy6L*e`$m$dq{VKy|j5I>tq3 zaLA*+L{Bn$7Vt{+F5ffMFRt{=Jb4w~`?W0^%dUsj;~f-uzo2eNwd-T0vWCJgulDPE zVdSnu=zK*l!@+JL=#k)raa);5Eskd#-Kw9_ifN-0Q|hrnU>P0R3Olg3&AEg!QoEDE(a_4}0da#=YMi2OKX< z(`(->1nJm;pV}@gGGd&&v=vy%@)Hm7CI2#8_w>#=>mv?h&O(B39$} zEZ8C%&sdS$a^FW+XXJJw_JDrrM`W6yXSRC>?~U~b;cKu*bbLbek^?1uR%oyPA-gjm zUcb7}L5eGBJotEPa|9nfw=vxkO7kw$zq%U1ZqI0XOfuTGkL64s{Z1iebnP7!v>c)* zYj3ky6}!AQqnIuvdok^B&nS84Q!djo9>ySf=A-_Aj#5omNk-e-^_VFNCY!UCH^OVA ztjD0_{%ymmn5k~@W=(bO8;`^3Jh34kl$X6bjLw<`f%ZcZo->5(anM8&h|s^B8tU6= zG>eNAy)5V4iUG`J3t8SsS`QelIxuz4yeFg3sDCT%_&zM$8fbW)hfuEv+RNrvKo{m^ z3ph(-9#v43&@!!|wE1f*=Hbh_;-m0HlfZ{C@{gN zmqqHfdTusPGVZHIbvMv2TLE)yi{i@PRE`Jhg@x^aLI;lx^Xku}h9CEl(ZO1=k?F0P z8}a~8opM@kp_mHty&_G*b+uCroY**{U{e&ce6}v4L{Q%BO}ZxKt-DV3!s=v`jG%d% zuL<8F>YzJzw)52$e@RVudQ=e`;y<@+4Hy%8RdW`l*m^oP6} zBts5M*Ja(=00C0IRKA~mL<`|6+eJ-!_cix`< z)?}Xg9XnCW5>sb|v-)K*Ca-i5Cc@d}@Y%WPT= zxE5rj3$Z6acMwvN#8?wROZy(ri$?tg69$0K);~uWg5ypEu*uPF2?1;Que$dtwsW*k zeg7hn0FzM4J>N=dKyDI4?q!^OndM@n%7Zv>A< zKjtV4_YU&`enkEH7vL|GW~pYao^k7SB%d2h!C^7PWlm3wbGRubK=(VS>URav+Oar9 zqEz2C*lnahmh4t5hbkd|`UFN905)E7nRui1T=Uti=83w!5NGsK-t3czf7%Ak^v3EZ z+V74|0Wo%=>#qv_F8<(1gnsBI!2uVnfa9+#h`(>ASmNV1X&3m)R3N23LO7^z*$goe z`oPwD{e}?dru2)hW*o0EaQdK48t~*Ci*=gCNPh@M8*qycr!*J<$1B!^{L9*vF#GZk zOP+cj#cKRKN0vud%9BL`5yDg72M|y-oDK2UL4eWj!NJBd(eEe^F*67 zGoZLVTqy&R#v$m@Drqfsm$!aPWiZ}LrL^*MQS^ppVf4n^%4reKumf(kqZVxWdwjX# z&{4Ev2Yh1wA@n#DGOPh3X}}FcB)tFro@J3VhU-I7C3?6sV>YPGe1#PzJWxD#d(nSL zz>+3iIM!2cO#HF?*|V(kCuPQ6N3)oVhYI^yzy)wHJ1_`*SBc!*lJ^{1%etS|W+g9} z`D$2J(M)r8NzXR>bP}6zQwb2sf#TLD_n6eMw2WYWk&s=L)UxEbVrPZ^^`wu_Zi}w@ zG*Bac#ziKn%JCrN=(SfUJrS(FM#T)<{l<0VK3=&2X{F#rrt%EavZG zj*=R_aNrk*t1iI;*}j(w6B5>KHyyEM&6r?Cw9FEllJ{9&WQSb!)1+%Pkv$x>ZTQDgqOiXH%b`p`o#PsSNE@^VF{iUYvvfZ*U#Ok~B3f zBEOrR(~}RzaR*;#p4_ayrpXT?A0t-9bxU8*3BQYj$_eFZ{a-Lr-`IG5`yqo7)#hIH zpQcDCqLeZ*ap@7} z72i entry : map.entrySet()) { - if(entry.getKey() instanceof ItemStack) { + if(entry.getKey() instanceof ComparableStack) { - recipes.put(new ItemStack[] { new ItemStack(part), (ItemStack) entry.getKey() }, entry.getValue()); + recipes.put(new ItemStack[] { new ItemStack(part), ((ComparableStack) entry.getKey()).toStack() }, entry.getValue()); } else if(entry.getKey() instanceof String) { diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 62a7aaf26..6b5ff2954 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -1810,6 +1810,8 @@ public class ModItems { public static Item padlock_reinforced; public static Item padlock_unbreakable; + public static Item mech_key; + public static Item turret_light_ammo; public static Item turret_heavy_ammo; public static Item turret_rocket_ammo; @@ -3501,6 +3503,8 @@ public class ModItems { padlock = new ItemLock(0.1).setUnlocalizedName("padlock").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":padlock"); padlock_reinforced = new ItemLock(0.02).setUnlocalizedName("padlock_reinforced").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":padlock_reinforced"); padlock_unbreakable = new ItemLock(0).setUnlocalizedName("padlock_unbreakable").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":padlock_unbreakable"); + + mech_key = new ItemCustomLore().setUnlocalizedName("mech_key").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":mech_key"); turret_light_ammo = new ItemTurretAmmo(ModBlocks.turret_light, 100).setUnlocalizedName("turret_light_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":turret_light_ammo"); turret_heavy_ammo = new ItemTurretAmmo(ModBlocks.turret_heavy, 25).setUnlocalizedName("turret_heavy_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":turret_heavy_ammo"); @@ -3875,7 +3879,7 @@ public class ModItems { glitch = new ItemGlitch().setUnlocalizedName("glitch").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":glitch_" + MainRegistry.polaroidID); letter = new ItemStarterKit().setUnlocalizedName("letter").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":letter"); book_secret = new ItemCustomLore().setUnlocalizedName("book_secret").setCreativeTab(MainRegistry.polaroidID == 11 ? MainRegistry.consumableTab : null).setTextureName(RefStrings.MODID + ":book_secret"); - book_of_ = new ItemBook().setUnlocalizedName("book_of_").setCreativeTab(null).setTextureName(RefStrings.MODID + ":book_of_"); + book_of_ = new ItemBook().setUnlocalizedName("book_of_").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":book_of_"); burnt_bark = new ItemCustomLore().setUnlocalizedName("burnt_bark").setCreativeTab(null).setTextureName(RefStrings.MODID + ":burnt_bark"); smoke1 = new Item().setUnlocalizedName("smoke1").setTextureName(RefStrings.MODID + ":smoke1"); @@ -4953,6 +4957,7 @@ public class ModItems { GameRegistry.registerItem(key_red, key_red.getUnlocalizedName()); GameRegistry.registerItem(key_kit, key_kit.getUnlocalizedName()); GameRegistry.registerItem(key_fake, key_fake.getUnlocalizedName()); + GameRegistry.registerItem(mech_key, mech_key.getUnlocalizedName()); GameRegistry.registerItem(pin, pin.getUnlocalizedName()); GameRegistry.registerItem(padlock_rusty, padlock_rusty.getUnlocalizedName()); GameRegistry.registerItem(padlock, padlock.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/items/special/ItemCustomLore.java b/src/main/java/com/hbm/items/special/ItemCustomLore.java index 45a0cc806..c72c20cb7 100644 --- a/src/main/java/com/hbm/items/special/ItemCustomLore.java +++ b/src/main/java/com/hbm/items/special/ItemCustomLore.java @@ -368,6 +368,11 @@ public class ItemCustomLore extends Item { { list.add("Made from uranium in a schrabidium transmutator"); } + + if(this == ModItems.mech_key) + { + list.add("It pulses with power."); + } } @Override diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index d5c44e7ca..75d519884 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -138,7 +138,7 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.ingot_uranium_fuel, 1), new Object[] { "nuggetUranium233", "nuggetUranium233", "nuggetUranium233", "nuggetUranium238", "nuggetUranium238", "nuggetUranium238", "nuggetUranium238", "nuggetUranium238", "nuggetUranium238" })); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.ingot_thorium_fuel, 1), new Object[] { "nuggetUranium233", "nuggetUranium233", "nuggetUranium233", "nuggetThorium232", "nuggetThorium232", "nuggetThorium232", "nuggetThorium232", "nuggetThorium232", "nuggetThorium232" })); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.ingot_plutonium_fuel, 1), new Object[] { "nuggetPlutonium238", "nuggetPlutonium239", "nuggetPlutonium239", "nuggetPlutonium239", "nuggetPlutonium239", "nuggetPlutonium239", "nuggetPlutonium240", "nuggetPlutonium240", "nuggetPlutonium240" })); - GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.ingot_mox_fuel, 1), new Object[] { "nuggetUranium235", "nuggetUranium235", "nuggetUranium235", "nuggetUranium238", "nuggetUranium238", "nuggetPlutonium238", "nuggetPlutonium239", "nuggetPlutonium239", "nuggetPlutonium239" })); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.ingot_mox_fuel, 1), new Object[] { "nuggetUranium238", "nuggetUranium238", "nuggetUranium238", "nuggetUranium238", "nuggetUranium238", "nuggetUranium238", "nuggetPlutonium239", "nuggetPlutonium239", "nuggetPlutonium239" })); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.ingot_uranium_fuel, 1), new Object[] { "tinyU235", "tinyU235", "tinyU235", "tinyU238", "tinyU238", "tinyU238", "tinyU238", "tinyU238", "tinyU238" })); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.ingot_plutonium_fuel, 1), new Object[] { "tinyPu238", "tinyPu239", "tinyPu239", "tinyPu239", "tinyPu239", "tinyPu239", "tinyPu240", "tinyPu240", "tinyPu240" })); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.ingot_mox_fuel, 1), new Object[] { "tinyU235", "tinyU235", "tinyU235", "tinyU238", "tinyU238", "tinyPu238", "tinyPu239", "tinyPu239", "tinyPu239" })); diff --git a/src/main/java/com/hbm/main/ModEventHandler.java b/src/main/java/com/hbm/main/ModEventHandler.java index bf22bffc6..080cfe9e4 100644 --- a/src/main/java/com/hbm/main/ModEventHandler.java +++ b/src/main/java/com/hbm/main/ModEventHandler.java @@ -54,7 +54,6 @@ import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; import net.minecraft.tileentity.TileEntitySign; diff --git a/src/main/java/com/hbm/render/tileentity/RenderCyclotron.java b/src/main/java/com/hbm/render/tileentity/RenderCyclotron.java index d2e5b9137..856db0046 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderCyclotron.java +++ b/src/main/java/com/hbm/render/tileentity/RenderCyclotron.java @@ -3,7 +3,10 @@ package com.hbm.render.tileentity; import org.lwjgl.opengl.GL11; import com.hbm.main.ResourceManager; +import com.hbm.tileentity.machine.TileEntityMachineCyclotron; +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.RenderHelper; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.tileentity.TileEntity; @@ -24,15 +27,91 @@ public class RenderCyclotron extends TileEntitySpecialRenderer { GL11.glShadeModel(GL11.GL_FLAT); - bindTexture(ResourceManager.cyclotron_ashes_filled); + TileEntityMachineCyclotron cyc = (TileEntityMachineCyclotron)tileEntity; + + boolean plugged = true; + + if(cyc.getPlug(0)) { + bindTexture(ResourceManager.cyclotron_ashes_filled); + } else { + bindTexture(ResourceManager.cyclotron_ashes); + plugged = false; + } ResourceManager.cyclotron.renderPart("B1"); - bindTexture(ResourceManager.cyclotron_book_filled); + + if(cyc.getPlug(1)) { + bindTexture(ResourceManager.cyclotron_book_filled); + } else { + bindTexture(ResourceManager.cyclotron_book); + plugged = false; + } ResourceManager.cyclotron.renderPart("B2"); - bindTexture(ResourceManager.cyclotron_gavel_filled); + + if(cyc.getPlug(2)) { + bindTexture(ResourceManager.cyclotron_gavel_filled); + } else { + bindTexture(ResourceManager.cyclotron_gavel); + plugged = false; + } ResourceManager.cyclotron.renderPart("B3"); - bindTexture(ResourceManager.cyclotron_coin_filled); + + if(cyc.getPlug(3)) { + bindTexture(ResourceManager.cyclotron_coin_filled); + } else { + bindTexture(ResourceManager.cyclotron_coin); + plugged = false; + } ResourceManager.cyclotron.renderPart("B4"); + if(plugged) { + + GL11.glPushMatrix(); + RenderHelper.enableStandardItemLighting(); + GL11.glRotated(System.currentTimeMillis() * 0.025 % 360, 0, 1, 0); + + GL11.glEnable(GL11.GL_BLEND); + GL11.glDisable(GL11.GL_LIGHTING); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE); + GL11.glDisable(GL11.GL_ALPHA_TEST); + + String msg = "plures necat crapula quam gladius"; + + GL11.glTranslated(0, 2, 0); + GL11.glRotated(180, 1, 0, 0); + + float rot = 0F; + + //looks dumb but we'll use this technology for the cyclotron + for(char c : msg.toCharArray()) { + + GL11.glPushMatrix(); + + GL11.glRotatef(rot, 0, 1, 0); + + rot -= Minecraft.getMinecraft().fontRenderer.getCharWidth(c) * 2F; + + GL11.glTranslated(2.75, 0, 0); + + GL11.glRotatef(-90, 0, 1, 0); + + float scale = 0.1F; + GL11.glScalef(scale, scale, scale); + GL11.glDisable(GL11.GL_CULL_FACE); + Minecraft.getMinecraft().standardGalacticFontRenderer.drawString(String.valueOf(c), 0, 0, 0x600060); + GL11.glEnable(GL11.GL_CULL_FACE); + GL11.glPopMatrix(); + } + + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_BLEND); + GL11.glEnable(GL11.GL_TEXTURE_2D); + + GL11.glPopMatrix(); + + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + RenderHelper.enableStandardItemLighting(); + } + GL11.glEnable(GL11.GL_CULL_FACE); GL11.glPopMatrix(); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCyclotron.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCyclotron.java index 0d9edf7ee..17e3279dc 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCyclotron.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCyclotron.java @@ -25,6 +25,7 @@ import com.hbm.tileentity.TileEntityMachineBase; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; @@ -40,6 +41,8 @@ public class TileEntityMachineCyclotron extends TileEntityMachineBase implements private int age; private int countdown; + private byte plugs; + public int progress; public static final int duration = 690; @@ -140,6 +143,7 @@ public class TileEntityMachineCyclotron extends TileEntityMachineBase implements data.setLong("power", power); data.setInteger("progress", progress); data.setBoolean("isOn", isOn); + data.setByte("plugs", plugs); this.networkPack(data, 25); coolant.updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId); @@ -151,6 +155,7 @@ public class TileEntityMachineCyclotron extends TileEntityMachineBase implements this.isOn = data.getBoolean("isOn"); this.power = data.getLong("power"); this.progress = data.getInteger("progress"); + this.plugs = data.getByte("plugs"); } public void handleButtonPacket(int value, int meta) { @@ -420,6 +425,7 @@ public class TileEntityMachineCyclotron extends TileEntityMachineBase implements this.countdown = nbt.getInteger("countdown"); this.progress = nbt.getInteger("progress"); this.power = nbt.getLong("power"); + this.plugs = nbt.getByte("plugs"); } @Override @@ -433,6 +439,28 @@ public class TileEntityMachineCyclotron extends TileEntityMachineBase implements nbt.setInteger("countdown", countdown); nbt.setInteger("progress", progress); nbt.setLong("power", power); + nbt.setByte("plugs", plugs); + } + + public void setPlug(int index) { + this.plugs |= (1 << index); + this.markDirty(); + } + + public boolean getPlug(int index) { + return (this.plugs & (1 << index)) > 0; + } + + public static Item getItemForPlug(int i) { + + switch(i) { + case 0: return ModItems.powder_balefire; + case 1: return ModItems.book_of_; + case 2: return ModItems.diamond_gavel; + case 3: return ModItems.coin_maskman; + } + + return null; } @Override