From 952ff60d38f0d8bbe63c740e2220711c2568ef00 Mon Sep 17 00:00:00 2001 From: HbmMods Date: Tue, 28 Jun 2016 23:20:42 +0200 Subject: [PATCH] Watz-tastic stuff --- assets/hbm/lang/de_DE.lang | 33 +- assets/hbm/lang/en_US.lang | 34 +- assets/hbm/textures/blocks/mud_flowing.png | Bin 0 -> 4117 bytes .../textures/blocks/mud_flowing.png.mcmeta | 5 + assets/hbm/textures/blocks/mud_still.png | Bin 0 -> 4854 bytes .../hbm/textures/blocks/mud_still.png.mcmeta | 45 + assets/hbm/textures/blocks/watz_computer.png | Bin 0 -> 545 bytes .../textures/blocks/watz_conductor_side.png | Bin 0 -> 488 bytes .../textures/blocks/watz_conductor_top.png | Bin 0 -> 500 bytes .../hbm/textures/blocks/watz_control_side.png | Bin 0 -> 449 bytes .../hbm/textures/blocks/watz_control_top.png | Bin 0 -> 426 bytes assets/hbm/textures/blocks/watz_cooler.png | Bin 0 -> 420 bytes .../hbm/textures/blocks/watz_element_side.png | Bin 0 -> 432 bytes .../hbm/textures/blocks/watz_element_top.png | Bin 0 -> 410 bytes assets/hbm/textures/blocks/watz_end.png | Bin 0 -> 441 bytes assets/hbm/textures/blocks/watz_hatch.png | Bin 0 -> 414 bytes .../hbm/textures/gui/gui_watz_multiblock.png | Bin 0 -> 3417 bytes assets/hbm/textures/items/bucket_mud.png | Bin 0 -> 351 bytes assets/hbm/textures/items/ingot_hes.png | Bin 0 -> 290 bytes assets/hbm/textures/items/ingot_les.png | Bin 0 -> 290 bytes assets/hbm/textures/items/nugget_hes.png | Bin 0 -> 235 bytes assets/hbm/textures/items/nugget_les.png | Bin 0 -> 235 bytes assets/hbm/textures/items/pellet_advanced.png | Bin 0 -> 261 bytes .../hbm/textures/items/pellet_beryllium.png | Bin 0 -> 262 bytes assets/hbm/textures/items/pellet_hes.png | Bin 0 -> 266 bytes assets/hbm/textures/items/pellet_lead.png | Bin 0 -> 262 bytes assets/hbm/textures/items/pellet_les.png | Bin 0 -> 265 bytes assets/hbm/textures/items/pellet_mes.png | Bin 0 -> 265 bytes .../hbm/textures/items/pellet_neptunium.png | Bin 0 -> 262 bytes .../hbm/textures/items/pellet_schrabidium.png | Bin 0 -> 262 bytes assets/hbm/textures/items/tank_waste_0.png | Bin 0 -> 260 bytes assets/hbm/textures/items/tank_waste_1.png | Bin 0 -> 273 bytes assets/hbm/textures/items/tank_waste_2.png | Bin 0 -> 289 bytes assets/hbm/textures/items/tank_waste_3.png | Bin 0 -> 300 bytes assets/hbm/textures/items/tank_waste_4.png | Bin 0 -> 305 bytes assets/hbm/textures/items/tank_waste_5.png | Bin 0 -> 311 bytes assets/hbm/textures/items/tank_waste_6.png | Bin 0 -> 320 bytes assets/hbm/textures/items/tank_waste_7.png | Bin 0 -> 328 bytes assets/hbm/textures/items/tank_waste_8.png | Bin 0 -> 331 bytes assets/hbm/textures/items/titanium_filter.png | Bin 0 -> 282 bytes com/hbm/blocks/BlockReactor.java | 15 + com/hbm/blocks/FusionHatch.java | 8 +- com/hbm/blocks/ModBlocks.java | 41 + com/hbm/blocks/MudBlock.java | 83 ++ com/hbm/blocks/MudFluid.java | 28 + com/hbm/blocks/TileEntityConverterHeRf.java | 14 +- com/hbm/blocks/TileEntityConverterRfHe.java | 14 +- com/hbm/blocks/TileEntityWatzCore.java | 769 ++++++++++++++++++ com/hbm/blocks/WatzCore.java | 18 + com/hbm/blocks/WatzHatch.java | 178 ++++ com/hbm/gui/ContainerWatzCore.java | 158 ++++ com/hbm/gui/GUIWatzCore.java | 52 ++ com/hbm/handler/BucketHandler.java | 47 ++ com/hbm/items/ItemCapacitor.java | 44 +- com/hbm/items/ItemModBucket.java | 12 + com/hbm/items/ItemTankWaste.java | 56 ++ com/hbm/items/ModItems.java | 70 +- com/hbm/items/WatzFuel.java | 46 ++ com/hbm/lib/Library.java | 3 +- com/hbm/lib/ModDamageSource.java | 1 + com/hbm/main/CraftingManager.java | 23 +- com/hbm/main/GUIHandler.java | 19 + com/hbm/main/MainRegistry.java | 9 +- 63 files changed, 1773 insertions(+), 52 deletions(-) create mode 100644 assets/hbm/textures/blocks/mud_flowing.png create mode 100644 assets/hbm/textures/blocks/mud_flowing.png.mcmeta create mode 100644 assets/hbm/textures/blocks/mud_still.png create mode 100644 assets/hbm/textures/blocks/mud_still.png.mcmeta create mode 100644 assets/hbm/textures/blocks/watz_computer.png create mode 100644 assets/hbm/textures/blocks/watz_conductor_side.png create mode 100644 assets/hbm/textures/blocks/watz_conductor_top.png create mode 100644 assets/hbm/textures/blocks/watz_control_side.png create mode 100644 assets/hbm/textures/blocks/watz_control_top.png create mode 100644 assets/hbm/textures/blocks/watz_cooler.png create mode 100644 assets/hbm/textures/blocks/watz_element_side.png create mode 100644 assets/hbm/textures/blocks/watz_element_top.png create mode 100644 assets/hbm/textures/blocks/watz_end.png create mode 100644 assets/hbm/textures/blocks/watz_hatch.png create mode 100644 assets/hbm/textures/gui/gui_watz_multiblock.png create mode 100644 assets/hbm/textures/items/bucket_mud.png create mode 100644 assets/hbm/textures/items/ingot_hes.png create mode 100644 assets/hbm/textures/items/ingot_les.png create mode 100644 assets/hbm/textures/items/nugget_hes.png create mode 100644 assets/hbm/textures/items/nugget_les.png create mode 100644 assets/hbm/textures/items/pellet_advanced.png create mode 100644 assets/hbm/textures/items/pellet_beryllium.png create mode 100644 assets/hbm/textures/items/pellet_hes.png create mode 100644 assets/hbm/textures/items/pellet_lead.png create mode 100644 assets/hbm/textures/items/pellet_les.png create mode 100644 assets/hbm/textures/items/pellet_mes.png create mode 100644 assets/hbm/textures/items/pellet_neptunium.png create mode 100644 assets/hbm/textures/items/pellet_schrabidium.png create mode 100644 assets/hbm/textures/items/tank_waste_0.png create mode 100644 assets/hbm/textures/items/tank_waste_1.png create mode 100644 assets/hbm/textures/items/tank_waste_2.png create mode 100644 assets/hbm/textures/items/tank_waste_3.png create mode 100644 assets/hbm/textures/items/tank_waste_4.png create mode 100644 assets/hbm/textures/items/tank_waste_5.png create mode 100644 assets/hbm/textures/items/tank_waste_6.png create mode 100644 assets/hbm/textures/items/tank_waste_7.png create mode 100644 assets/hbm/textures/items/tank_waste_8.png create mode 100644 assets/hbm/textures/items/titanium_filter.png create mode 100644 com/hbm/blocks/MudBlock.java create mode 100644 com/hbm/blocks/MudFluid.java create mode 100644 com/hbm/blocks/TileEntityWatzCore.java create mode 100644 com/hbm/blocks/WatzCore.java create mode 100644 com/hbm/blocks/WatzHatch.java create mode 100644 com/hbm/gui/ContainerWatzCore.java create mode 100644 com/hbm/gui/GUIWatzCore.java create mode 100644 com/hbm/handler/BucketHandler.java create mode 100644 com/hbm/items/ItemModBucket.java create mode 100644 com/hbm/items/ItemTankWaste.java create mode 100644 com/hbm/items/WatzFuel.java diff --git a/assets/hbm/lang/de_DE.lang b/assets/hbm/lang/de_DE.lang index d4cd34c57..b6097ed52 100644 --- a/assets/hbm/lang/de_DE.lang +++ b/assets/hbm/lang/de_DE.lang @@ -5,6 +5,7 @@ itemGroup.tabNuke=Nuclear Tech Mod Bomben death.attack.nuclearBlast=%1$s wurde von einer Atomexplosion weggeblasen. death.attack.revolverBullet=%1$s wurde von %2$s in den Kopf geschossen. +death.attack.mudPoisoning=%1$s starb an Giftschlamm. item.redstone_sword.name=Redstoneschwert item.big_sword.name=Großes Schwert @@ -137,6 +138,15 @@ tile.fusion_core.name=Fusionsreaktorsteuerung tile.plasma.name=Plasma container.fusionMultiblock=Großer Fusionsreaktor +tile.watz_element.name=Watzreaktionskammer +tile.watz_control.name=Verstärkte Steuerstäbe +tile.watz_cooler.name=Watz-Superkühler +tile.watz_end.name=Watz-Stabilitätselement +tile.watz_hatch.name=Watzreaktorzugriffsluke +tile.watz_conductor.name=Watz-Stromanschluss +tile.watz_core.name=Watzreaktorkern +container.watzPowerplant=Watzkraftwerk + item.fuse.name=Sicherung tile.test_nuke.name=Test Atombombe @@ -595,7 +605,7 @@ item.thruster_small.name=Kleines Raketentriebwerk item.thruster_medium.name=Mittleres Raketentriebwerk item.thruster_large.name=Großes Raketentriebwerk -item.wand.name=Konstruktions-Zauberstab +item.wand_k.name=Konstruktions-Zauberstab item.wand_s.name=Struktur-Zauberstab item.steel_helmet.name=Stahlhelm @@ -645,4 +655,23 @@ item.euphemium_stopper.name=Stopper item.matchstick.name=Streichholz item.redcoil_capacitor.name=Rotspulenkondensator -item.detonator.name=Fernzünder \ No newline at end of file +item.detonator.name=Fernzünder + +item.ingot_hes.name=Stark angereicherter Schrabidiumkernbrennstoffbarren +item.ingot_les.name=Schwach angereicherter Schrabidiumkernbrennstoffbarren +item.nugget_hes.name=Stark angereichertes Schrabidiumkernbrennstoffnugget +item.nugget_les.name=Schwach angereichertes Schrabidiumkernbrennstoffnugget + +item.pellet_schrabidium.name=Pures Schrabidium-Watzpellet +item.pellet_hes.name=HES-Watzpellet +item.pellet_mes.name=MES-Watzpellet +item.pellet_les.name=LES-Watzpellet +item.pellet_beryllium.name=Beryllium-Moderatonspellet +item.pellet_neptunium.name=Neptunium-Watzpellet +item.pellet_lead.name=Bleireflektorpellet +item.pellet_advanced.name=Fortgeschrittenes Watzaufwertugspellet + +item.titanium_filter.name=Titanfilter + +tile.mud_block.name=Giftiger Schlamm +item.bucket_mud.name=Eimer mit giftigem Schlamm \ No newline at end of file diff --git a/assets/hbm/lang/en_US.lang b/assets/hbm/lang/en_US.lang index 1d3f242c0..199af1cec 100644 --- a/assets/hbm/lang/en_US.lang +++ b/assets/hbm/lang/en_US.lang @@ -5,6 +5,7 @@ itemGroup.tabNuke=Nuclear Tech Mod Nukes death.attack.nuclearBlast=%1$s was blown away by a nuclear explosion. death.attack.revolverBullet=%1$s was shot in the head by %2$s. +death.attack.mudPoisoning=%1$s died in poisonous mud. item.redstone_sword.name=Redstone Sword item.big_sword.name=Great Sword @@ -137,6 +138,15 @@ tile.fusion_core.name=Fusion Reactor Control tile.plasma.name=Plasma container.fusionMultiblock=Big Fusion Reactor +tile.watz_element.name=Watz Reaction Chamber +tile.watz_control.name=Reinforced Control Rods +tile.watz_cooler.name=Watz Reactor Supercooler +tile.watz_end.name=Watz Reactor Stability Element +tile.watz_hatch.name=Watz Reactor Access Hatch +tile.watz_conductor.name=Watz Electricity Port +tile.watz_core.name=Watz Reactor Control +container.watzPowerplant=Watz Power Plant + item.fuse.name=Fuse tile.test_nuke.name=Test Nuke @@ -369,7 +379,6 @@ item.missile_kit.name=Missile Kit item.t45_kit.name=T45 Power Armor Kit item.euphemium_kit.name=Euphemium Kit - tile.waste_earth.name=Dead Grass tile.waste_trinitite.name=Trinitite Ore tile.waste_trinitite_red.name=Red Trinitite Ore @@ -596,7 +605,7 @@ item.thruster_small.name=Small Thruster item.thruster_medium.name=Medium Thruster item.thruster_large.name=Large Thruster -item.wand.name=Construction Wand +item.wand_k.name=Construction Wand item.wand_s.name=Structure Wand item.steel_helmet.name=Steel Helmet @@ -646,4 +655,23 @@ item.euphemium_stopper.name=Stopper item.matchstick.name=Matchstick item.redcoil_capacitor.name=Redcoil Capacitor -item.detonator.name=Detonator \ No newline at end of file +item.detonator.name=Detonator + +item.ingot_hes.name=Higly Enriched Schrabidium Fuel Ingot +item.ingot_les.name=Low Enriched Schrabidium Fuel Ingot +item.nugget_hes.name=Higly Enriched Schrabidium Fuel Nugget +item.nugget_les.name=Low Enriched Schrabidium Fuel Nugget + +item.pellet_schrabidium.name=Pure Schrabidium Watz Pellet +item.pellet_hes.name=HES Watz Pellet +item.pellet_mes.name=MES Watz Pellet +item.pellet_les.name=LES Watz Pellet +item.pellet_beryllium.name=Beryllium Moderator Pellet +item.pellet_neptunium.name=Neptunium Watz Pellet +item.pellet_lead.name=Lead Reflector Pellet +item.pellet_advanced.name=Advanced Watz Performance Improver + +item.titanium_filter.name=Titanium Filter + +tile.mud_block.name=Poisonous Mud +item.bucket_mud.name=Bucket of Poisonous Mud \ No newline at end of file diff --git a/assets/hbm/textures/blocks/mud_flowing.png b/assets/hbm/textures/blocks/mud_flowing.png new file mode 100644 index 0000000000000000000000000000000000000000..9bab756de38cb0de08185cd828921b87a8cc05a5 GIT binary patch literal 4117 zcmeHK`8yQc`_?DR*tcpZg+zleW~`NwZR}Y_WN$DdW2|E-%g`8Gwqz_r$TnnWtPyXr zH74GyZ^)7;4YDLL;^Y0k@89tK>2t2@T+cbrFXue>x$pbAPNL;)Ltd`)Tr4asyv9cQ z)+bSdh2=jifYT?d@$7;RC*c&%+EACJc35onWW(yIW3I!((vZe|h-717In82eW@F&4 zd%;6b3~g}96E2Q1zKk`!;$tT5Yc3OLC5N+?4?B-BrX-wMc8EppL+kvAJB4_=qGc$1pYq}aFe;SesUhC zzmYwTg@s$_?|EwUBmVFtDH3FGHwfW}4hlsEqFDTqUcNz!zNjDx6-BV3CKign&BDSH zW~{Gc^T1_2&z?GMBn0Q4=u&$6z6u zaX^I!Dmd)K#Mzk}ny7PP+Wvx9m3d~-il8MqJ`TZ%K916{_(za8H#j;p>e{Zm<_eQO zNNDUCcn{xU9(VcS zxcFw61L>)L*Rupy%cf<$(E}=rz&e^Q9t@;IZd9Bj@|F8|-?1QY01!WSgl&wCk?a@_OpUzpp`9?94vhzgc zjG@;R%f#0uJV>HH=h(G7k>LdjC^fSx?lQT<*ZCb_BKdw5|IW;N&61|Z$B;Mt^xlY0 zJj_wn0ER$MkyKVxBOmUVBy8%EQ&zo&PXnbj`^vB+GIoAMBVgURvERsWfAP(m_0jIDRTch7%>Le2g64QD5qCGsi4pCfa0r&+| z(Vm5POCN8Y6kHEh2rb4n4Qf`YbZSL|s73D-n+Tw)HHhM42;s|_?bU}osu$M%PZ34u zyuI@*lsuKn%nWI3VyAUA(v*PZr940yHo1=Nl>U|E-0_!I_+Oiw$S-fsv?c%_1Ublk z)+Uh^{Sd%j(Q*VX3o?f1yNm)>bDB=XZae2VnQBc2!wR@jAx|c_rdsyzmcyb+WI6*~ zChqyU?e}L8b!|Y|9~B+r-*1Ul@JQq46CA6^4k)EJs!kYbONs@eoJ;6D)(Ee|vM|M_ zpPL>d&LWB#`Tp;k*;ple1lWBa6s0dx#+1Ej*g>hw$frG+8zD#l^pXQ+rnxk@Q4VEH zUJRUlAoj(_)VlI75VddV9{iV2v&mck;(zEB|K2Sw-+!#4+4jhY{BG+j8*p|8hOf0o z%ebEBqtrku73-tHG-EpEMaBJ~o9bs}Ly^h8h#JHz-=#CMQrUW+0Xu4`yEgSa2sA_j znbD9^LAJExq*b>+U4JgXaRoRTM#FBuH7)IS7GRCegbek+<9jXih_yI2HV_Dxzvx04 zkF+3fn~My#yU64VT`A*1@(d@)#~NJfH=$tx6XmiC+xHl4MzrJ((w8p^S>^AB;vz_3 zJ@$>X^2w|k&@-oz!O(w&@~m0gRgN|g2kb1Tb9GkeNU-T0Q6fv|sSUHEFjf&{`k)nD zv;9n4%$mj97L*?OgNpPx{8F&pOF9h^2fhnQGnKFD(w@hZYf&Fbah2^_d%sH6&_Gc( z^R1U{lc3c$Koy{?HxK_~-)Hz2BS|kRKvb^q{opF}*;T~>~Dhvr1J`tDbRBgeW?F_6N zu53=&eiI+he?y$TXl6OBMC|x5xA*13nV~bHMa(r4nO8v<_E9z0wX%rrL~cC4r75*D_V`EYrnv}i&S7|$@#XnhRKI3p zU8gfb&Trt-1^_B;zFgU4BX&~+JQj}T?zw7$bhpB|UE)H8gv@a&1Z@zA>-mtX>#)8; z0>G+J78?3Tni0`&Do)9E%xqtV{)kboWG5yjNQMx%evRm?R@O9&xb|QzC0E##E7((P z>@5FJF5gdwHdN;_l)WbAZ{_fEz+h1q;`i&sWBojDi~4Ewez7o~9^&D+HdpV7Zjdv# zAB+*`M~YJDS<&1v5?ZP|3P2it|0@advb!Gdn+w?qmJ4$U&$M$HNx%_1z{5^;QlF;M z{8s*ug~BA(t1K+$vX!p#Kv3+mqdLvslK6ioilRcYB5ti>vHT=Zwk$P?YAa&Iu0w3c zm(g>FzuV`Ex+g5PT97)xE<2mQgI53#hfMZmc-#+mnesH}qKhbiumB4gV$L|SO#AnJ z>Wf9B`Dr#j$^A6r99~Fo<3f{TXC0V`Bw?nMsL${bL!X*H&F&><+$1u*)lS8py_{T3 zC!F~$c^xfM;u%rQgADt6i}?EbcMJg>4)1+Y#7zM9Zk-=?BmM;acDrI{oFGsEl>*vT8(VkmhT_;ck%bRy^FJW1sE3>dy@9M4w3Qrt}2GF(q6}&Tv1g z@!RrvU`?T`FkXeY)iGERFp_Oe+abmv&;WPy=lu$O?FA>MP7Sb~!#F)_X(2-#!&9ot z+Bu(EjF9YAk<2?w#e&ic+)>!f5`eGNay&o3cnIt-&$;}scz$y=8! zVKh`|9iOd*%(8J*qg9J^|0)dqP?ma?#xH&ewiYosnfi0jT~r&fq29#I(M~DSo=QnP zF-pO;t()JR>iFzeP#WsGRjU0Vyn!X zQY&bwzK1KLqdkLLdK93QHfPV#1kk+BPokF*;oQid^dS6sKf%aXvRlOE3|B0b5}%oFoBVYIFt3`3?06V}_f zp%qv|5C0m2(g#Gz_i|aYSz*s?dv$x(B=Ur7eFw@~o}VbxL(}i}!PZ@-yT*79(VlDU4D+^L z?5{Dsi;Mqo>{naua+m6^1RsDu?S__(AV2C4{;- zOY&+4U)N*jV)q9H;9S76a}Js1Gqw|2)S`>u9TAyL-X~QFqxifc$-0RSj&&d?tEA&} z1pbwuxig5Wa9KO$a;bRr!@2;Ig%yOHqgv-GHKHvwl8B_zeO>0 zqvwah^%wbq=$5JU?MMd1dU32BIg9soKKjF~rTnVWdQhbn;g(3xKg<%?DW8g@(hJCM z#dF=Cu8_j1W`}=@xr4^gqI&J>L-!iCGvMs8^m6r~HIbf$Dw*ugIn|*awTo)Y_xHnP~E`SyRT&4)fE&N43}zp`#Dis6SRjBKGUh8y{stblef++bnc2kH*mrGZT%KHOZ)Nb6I)@Il(cjc+?M1aPz7?*wlO*Z$ z>+P;a9ll?p-q*@Mk>R&Y**u=FW#%_Aj@%|k_ngBOQ8N9`Jf zNv9GcU*CV@z25t}&h@*``F8G)cl^cIgm zmI{nkP$p}|yDyZOZIoGTRajrDve`Xmw^!qEQ0H{i0Kd|NI6dJ)XmLAh^SJ2ny6W<| z>G30B0`B^P9#4flp9y;zh1KNCW%L%L_2b4>T+YGAev+{5II6D8#fR3|<=k z935d^hO#J+w5*7-s*JX-ig{5TYf}?vTO0qf?v35M1pE3#2TYRV`{Y**DNapk&L7fU znloHKX1cXxA=`31+H*ZS^1QkVe7XyL`%8mHYf#f45|?{(|K|ID{f{MZ{r&yVzc2mc zq4nGw0H9|0@7(&f5PJFd$l{{`_c3yJ^zpa#asYVPB9J~3NCzJ-83`!~dDr`)`Tzh> zPg`Bp82*Gm=XF?_W_HXJUrRe9V-5<1LbK?6>PHRofIcIIlV@6n-|EjQDi-MbN$2hC zUWCOe%H52df3Dt|_MW`x;b+m14nA+-W7g-}DlM`_>iBN>dp2E|R(Gz0c7Wzm*o>7k z7$5k0AJVYT@ay@YOu*gmz1JuHEWCYiuZ!z~B*)__EUUSMJY=bObhSC*ha<%!7vGze zvDqypNO$OF$#|1J@v7B=;m=o`LFT8kFNX&wD=#?5*1l#5u3QrA6mpG=&q4MsAnJh86oqduLE68N+CTF zba{Q@Wx9wnv*tVQ)}NG;{GL)J%bhKFBI%zOqqMRx7N{dO6uo$IpT@VsZL9X zu17#9!fZxglVW3N)An1Tp+L*&2d9$c+@5(~o@dX|eq*$?O{Quy+C59& zN*pa;cGo2up?SyM!!5mwYB$c0j`Q79_PbX0q1|t zQoo3bt~#_cxl;HlFB~&f-2!1f^~{Axo=&Lowq|#i|ms0wV zMr++U-iHl7$nVMG+jbe|`b?CGylc|5<)G76rgU z#5FZBev1555K5d+mNOCOKN{&6Psmoo!^=5*<0q69s~>g;YwRo6)<*0d7~HQh*zUt~ z9?Ka2!;CeoQGK1xu1#XGv*|^N4%|zPg)bvI|L{m_RZy(;ftSx#u!{Z|%Jqt^fQIO% zJim{t-~{!~eR;phGFEfVY~MEtow1w;?}Y30aL2YUBNk^%vhflhpbI`se!okHAGD}x zs~gEvp10+fRg+NY`pTj{5vtd~UoMI8nw~ne6e!=_be^ucwDCb8qbY^KD2p;>@*)w_+&2+~2b5&o^kNM{8%zkz5GfylPDEytMfVe;i?jOZ+|SBL{hcCF-4jhJbcODuo64C6`N6xL>Di ziRnpc_6YVvb>ZDT8=!AEUPV!`0NBkmEy7>`h)~n|y)vhuPGdEwXp=4+^!J-SbH3$ceT;!^Kf`Zjs9r4_-wo;>U>YRuB7L5YSBnX`9kBD=YI_Zf1m6q0cJz zsN9USb1Y8d^vlA{?f?hLL{s``nK+;Gd_5xkTV0FEG>N}fR7M)2aA)Hhe>=+Gfx!Xm z!*QDeNcHt7*f1M6kxQCg&8xL_)x)1QK9aTK=0ba$2}0LhFVr}oJ6Nh$y>bvbEY{an zNv|FS|JtxCCa5dd!5pwrFcWBDgyNj}hb%vUZ__u%;o&-#i)#*|!Dq2%`*EF3S?gD< znDgHGrzW2yBBi2Q7$RmNkOpp3!^u%6U0YseJ((2?1=}E$62YTo7*R*oNgBe+x>2}A zoO&5fo(n#a|crxE~xaJWW>hp->ZAlRnTV|O7Xkf$EZO=A!wZ;L4`{%mq zbd8UZH6RKxvHJ+=;d+tn-x5ZC(||_M%$t#=PR~+PO7tmxbl}T z)XK@3ShU~5&CD+4Kd1=IMr%xOShB`VdwJv}P@|ffFf{q3%;a<=khdT`YWJ{#3p&e{ zPm~j>OhG4O5)pNQQyMe8DRpbpQ}E${;j(KixYd^jYu7M%VUxZKR+fyw!_P@mgc2yL z*4H8Y8eqvUIm+&yg5Rcjq%iMj3s;Jt=ryRkdDQoW6z)1E$%5Th89H`uz#!V9q7c4D z9xY*;%P7;D-6qc-1Mbp$WSt?GrgP1C)XupBU8MO-KaE>-L+0C>$sUAPnCMJMrNFS1 zOBIZUj-Yw{hXYc2FX$lt?J_%ZvlzG3)O^{w7~8Wux_R5QI5J+Fxt0m9oF4-w`zdae zn)jnDMQ~CuSrg7#gCw!VU|e*MZt$wn7tE&j*WKbFy57R44O8B1KOC>G{O=*BQdokQ zTz-DemdC<&skDwE8E!u^KS0Yf2W;%f^h2K>-6E&7|i~UOCb1XQbc}^ zfUW14C6=}(Ayy6COjTin{7zUIjhxft0^-CM#eYz!;dkqV;vyE<>S(uxI^=efVTD7P z=kQ#f%3|i-%Y_HL1CtbO^ukG2MqRxQ5{*P~AXH>tYL|n$Kbnc|7$3Le#8GKGVoA=Y z4i+04lBzT^=LTkUG}1YX`FMs{a08je3cY!|nMWaFa_bI)UTjg-~FbFnU9Smt>{;>Znz1A(Is7EkPHd>oKRn3?Jyxg2In5O2Z+5b;sh-_& z{Z`ft`_2gGFEx&^fcg&%H3Hiq)R4di0og-LVUrYc;Cx_Ijj?^}4e~pT%#vZyHKuh6 z^M!)~6vt7OI?y5Bu-+y|+4FC?D6mjm;Uq+;EzydjKZ}C1mMZY4t(>;HP~~|S5TP6a2UZK$NJ6V_YjFm&94f&dfEkJI=U8m z(}~LNJj1m#XO`96%AU{b_k67S-=_^H!F7k?d5{};1i^n|G?JKDDMHhi#Ez`YMU_r@ znzbJtAPhdE`ylV+I&4yTn(Y+b^3fBGS}I3nPumt5x%owbtfEW>7>Hpe4>hYXG$k#p za8(%5iQooespw^=W%M2(Xmoe$w=mKk&!Rk z*0U)bv4F+tvfe@T#H)?x2z>NrS2yM z)b$roSM7V|N@6|KDegv3_`Pvr3b)FjgcW$UMN?uWwA)Nc6n$O7}dO) zX*}54x`7o1;`Cw*&_YrguI%DZT%Q#&{m_oP-Jp5_^)mx2b;#W@apY#*IQS_U$1CBK6?|9kqNi-nJeoC1X+e6 zRZA+kHN}rqzPBt$#okM1ErnC`;S;v~;qaggwC{VUD-ScJ17`xAAQ7DnNdOmEVn zx#$vf-2Mm_0@(0LMOAQ~A2dBN3`|UwLKXF8|~tgmXJ04C`Pt!IVQR^Da#IkE)|muANpgZfB6txY0&*5a9~3xOi|WJ1^KY+ zu&u3RxECzkQ$Z8xk+~GTU3St~Mh-5n@G21~O6_omO29%cx@GfkF2yE@Z1Gmsm96_} z7qCbwO4z4PmW4Ih_GY(YqEHE~xIdxs9Bx_a))>%z3;pgOa-|VX$IPx>5Md`fg8!&{ Z1DO(K89Uj^n)+|Ypsk^=j(Kc@`VZxcW*-0m literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/blocks/mud_still.png.mcmeta b/assets/hbm/textures/blocks/mud_still.png.mcmeta new file mode 100644 index 000000000..7ceb36394 --- /dev/null +++ b/assets/hbm/textures/blocks/mud_still.png.mcmeta @@ -0,0 +1,45 @@ +{ + "animation": { + "frametime": 2, + "frames": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 18, + 17, + 16, + 15, + 14, + 13, + 12, + 11, + 10, + 9, + 8, + 7, + 6, + 5, + 4, + 3, + 2, + 1 + ] + } +} \ No newline at end of file diff --git a/assets/hbm/textures/blocks/watz_computer.png b/assets/hbm/textures/blocks/watz_computer.png new file mode 100644 index 0000000000000000000000000000000000000000..c23c3b1a6071f86340d65cdb7b9579306e28202d GIT binary patch literal 545 zcmV++0^a?JP)N2bZe?^J zG%heMIczh2P5=M_pGibPR5(wKlFdp&Q51#us97|N8WdEc2zmoGMZFp+`c{IX`8)7u z-~)&^;szBG4!ojM-ynMkhkd7&7n-$@eYfZAwf4{1=6T-Tzd^9^DVNK|VzE>z;Y2o< z%VjbdY&M(45mKp?C6mc~KHu$jtJP|)R%dSMv8U7CMl!I{0B8`=U*(k;?112ciZsmcg% z?d##_^ZxMl!Vy#|1f<~@S>O$a!_{iV#d^J-UmMZotor1Y_(cc&Sc#?P!dhkDA!TPv(1e)N|Z{NIx38yXGa jpaHm$P)N2bZe?^J zG%heMIczh2P5=M_W=TXrR5(wKlFdqmP!xsFq*<4Oq92+yYSbI3DgKk9&`_?>pc^Db zs90|mG;7qThiDiLn->Jxr`zP_AX>GD@E`h+ZEM=Nz5CrTNe}XfRHBD3S48u76jk6`>c|M=dvnbhpd z8=nAUVrGyi3Su~l^5d@PeqC-n?5n#SMZnIOh2Ig_LPVTE{y3j~UaUVIs@LN+g7?KL zS#iZ}A$JP&1T$q>;-tOWTou|%!mUjhv7<_AsF(6^y-4~_y#cLa3t3dD~DG(!%_CufKUOWYe87b2hrAR#N8 etYihA=Y0b$Yynl$g?WAe0000N2bZe?^J zG%heMIczh2P5=M_a!Eu%R5(wKl08ntKoEuJ0*C^Hpa2P|Xt;qB62;!cB39Bzj)bC6 zBmzuqEflG!xD6B_0ToRSf;b1^TaU4V3&hiEJ-hSs-p*KzF(>~9!NRBC??+M8>-8|o zz1?p6zRw;60fwU4Y)Yfi=yW>VPX7ckBzvAGr6U^pDcaXc6dYPA|^0!z2s zP17{XGIq3a1PD_x1;uoVO^#5$yj9*LnSWhuurRnOz2v(Dt{_n*B#+0}uLtt5El<1h zyeFg46<$@vYe{wt^aL@p*$gGi%gx2He4egflb^ZETU*w@1mq0mS z6e|ix?t;YqOO?T$=g_Iq9ED1vR`D+Z26yuVYb|{%D(4^+P}(KHi&mg|)Swv}q(@?~ q3rW12G#-RO4S+*;F4^%aj4|Kp!2KFS1lx500000N2bZe?^J zG%heMIczh2P5=M_KS@MER5(wKl1od(KoEon#h;a|3E4aj2?^p8+!zn;B_K$$_zZI*^E_X#*Q{xp5(se|n<$Ek zqWHKnZx^PYut+Hmg1}I>TCKisj@~cL?F7*~hqi4+!!ShJa7tO0pVtR$4a2b8?Z$Bw z_4<7;iZnF_d7_sy^K`P$Sfnpj;C(7-5Wx~{{9sQds?x<%Taz)ZAtKS9*%J4;Zc zsj;n4$JSrdo=ntRN|J=SugxKYb5pUHsVs@&oXJ{eSW;V$6GR^zI6?H+l%yd8V38tk zZ<^;p4K82L{l#s!TTv`+97M^sQ_@>v2+yZ`OQK%iJq;+?NZSJD#RPyJoC1bHJX3Or ry(RjljD`r%0Q}I(CM$o1EX#fXFWC-=mdFM<00000NkvXXu0mjfJAb#F literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/blocks/watz_control_top.png b/assets/hbm/textures/blocks/watz_control_top.png new file mode 100644 index 0000000000000000000000000000000000000000..b7a8f0bb4af88c2d472ce2ddd846c35a36b20080 GIT binary patch literal 426 zcmV;b0agBqP)N2bZe?^J zG%heMIczh2P5=M_C`m*?R5(wak}+@;IiUV*L7KzRaFsO*DTADBw_w50)egX zKxsIN@N2bZe?^J zG%heMIczh2P5=M_B1uF+R5(wKlCe&OKoCXu#{eO~LIHuEKw?2<2|*KUTkB`yC)n6q z`3YA3jc2{j2@#{-O!m!N?wz?iyUu%m@ozwO{Pca_wr$sSB(_#nRTKqlS(YS1mSrwY z)4HzNz4{e!5Jyqu&?QN7xx@X-tHnIe(=?6aI1ED^$H*LAnx*!IVM=;SfQ!5S z!nSS9O@#%hfYL#rw*>UylrRjD^cN2K*%IeQ#(_wv0r;SmO;)}N-un;on?>!$q@2(I O0000N2bZe?^J zG%heMIczh2P5=M_E=fc|R5(wKl1r|GFbqYrF-k!|00{&e0KuT0Jn2d0xBZ^vrcsAI z1J_Rcxpgqs+WXItZ1@?+vG4m~7;vJk>$)sUY*ke_BF}S^Wm(fSoN}img>rOAC_hOO z!$q2=H_y7R)C)o^8S^~H6Uq!zx~@agaUA=;pXW&k2&3`e2hF6$&>pXC+i>I2bqGA1 zfGc1MLl7gDWg+B3I?*GhX+jlU+yr)lm~GqsJ%m`g@-Nk1(3%=U8|nx&6d#m9fkM!& zlT;K1bm<0#_~;Y4k++7GwF aTKfht3gopY_Bk{F0000N2bZe?^J zG%heMIczh2P5=M_7)eAyR5(wKlCchgKoCT)vb6LEtc->J03ZZBC?N3dmX`j26`_E{ zcg%SqVBv%;w=;LMdke-|d;1$~HoUs7yMLjyZQHUei=y!C%#&tWX3{hjwSPW$kB2m3 z*uCVVC^8bno`>Q1ek0%#$MKf0s>)CW;qZFFUdHh{O$c>etIrjWi%F7%722uqc~~o@ z@|Jf8s6r9t0x1GUL{H72Ph4CDW07*qoM6N<$ Ef-xJQ=Kufz literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/blocks/watz_end.png b/assets/hbm/textures/blocks/watz_end.png new file mode 100644 index 0000000000000000000000000000000000000000..7abad325ccdff0923456b410fbb74da63694f702 GIT binary patch literal 441 zcmV;q0Y?6bP)N2bZe?^J zG%heMIczh2P5=M_H%UZ6R5(wKl22=cKoG_Ei>X!ARYB3aD3o9W@z7Ld(}PgRDc`z3 zckGgSD18i@$JFbwlN=XU%P z|p3wJw*L7{%`o2$@f~73Wd7hVL;Y1sM0m4MgPBD)7)F|4!Tj9N4 zS7+R~DD_(bSCEJjiihFjaxuFiq}%SF)$OvOw(kweTg{|HxF7==~(?Yhkt`B4GVstHvLKvVrP6@aLqgb#9YzUI= zTRJT6%|f=ua0DWWUi-HMSlsOg#u(N&b?9zf0oXl<^=O jdH@1)a>+?lptb%6F_r?Og!mAN00000NkvXXu0mjfFY>eZ literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/blocks/watz_hatch.png b/assets/hbm/textures/blocks/watz_hatch.png new file mode 100644 index 0000000000000000000000000000000000000000..546958c8989e8675205755f4c9104452be355ec9 GIT binary patch literal 414 zcmV;P0b%}$P)N2bZe?^J zG%heMIczh2P5=M_97#k$R5(v%k;{sMKoCXqx%~m|-3p4v=SE%l0bvAjIShgi{Hq-M zc8r-Eu((xSuWoPVh39$y1fYfUjX4TVUuVAWUtMV+j(bx`4)!VpZjvMjmAMH}mSq@* zQ52#W3*p*b>G>tp|f)`WMqd0aqPxM~Ctk;bB3fl%laSJ!D{p0~i5E)=<#1^@s607*qo IM6N<$f*%y5!vFvP literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/gui/gui_watz_multiblock.png b/assets/hbm/textures/gui/gui_watz_multiblock.png new file mode 100644 index 0000000000000000000000000000000000000000..c644737c649ef757ec1e823db52d5c1628589055 GIT binary patch literal 3417 zcmeHJ`#)6c8h_T9IWCD2)r8zHU6@EAmyj`x`$ownx#Uu0$b?81TgB##OPf(BY3sI& zq8iC%>U5!_+qR2{X1Cj7D@id*n*FX(=lpceKXA_ad}h{K@B2L8=lgu0=XpOX&)d^^ zzMQHY0L*8(Fnj8hFEOexG^Rs2I!Npb_^_D zgUu_jdkIz}U@`$_;}CrfB3pso2ys_nM-wE~LGn3BI|Z3FkWmY%XCd(-I6epF0C;tS z#}jbr1J_>gyAS?d5OfDZZbCpO_&frK7Z7>_!Ub?518Voe*%YWxg!3FYy$2fDz~2Fv z;^1mDT#JI%2zap`URuMebuerJqif;KYM3yF$(0~l2A>Szvo3tmhH(?P5dwDt;8rl) z-2@N5gDyXK@1DsPwwK?&eOoLRqq_h9LJBx% zX?hcb!twF+MY8-aU*Ic})<=@aCb$G70VuQ(KdiK67Yi-YI8K{6zU(MYO4zPQNC?{= z&!NXham+>2F&_gXqtH z14}#XB$XLt6_a&oJi1vFvXs@Cx2m0JS!1q}+}sb!}=)E#PWY)84x^6UWrDUM}#R zST4SJqIT%RhwJY){-JNU>W$hbQD|+;h!g4RO-sxOcfcr-D&;PHw-+Add^m(8sBd!~YTRxc|!{Byt5*-6*hD;W>Uy46aH zrTR}E(~=Np&PdP9+!49Yudh0Cnp;;fjZ2us$QPKKzZSng)pqfDN|}W_x77<_za`5n z%KvIms6N=X_wj*0U+lO%r7;J7T5-AvIUdIkl`m0`Sgn>AFofIXu?|O)6Ew%^$VLY< zyLs_5^YzClGc(caXqr#d66~3Di=!5=T!9+;CBC+?0LG*S4T{{{kCRL;Xc3z%w5dZ8 z&g_>Jt`{03DO8LEOQWg=2E}DR1~5T{v8f&UCutbHNlB>CA{)3MdL7}$L~a|%IUlt{ z9r(zoURh$KJ=L}7kkE)&G=1K4F9ppVXw7nuC)5@&;krFuq3ZS3(}M$U~OWMQ+EB zIqlOmPs42+BR!uzNk?=P5od!y%spyWk!xypM=6xG7&&Ahhj(L(5VnH^TXvUb!Yah) z2PJBemcW+$Rj+3fy_BgXb3CL8TSI&XXA^BTpn-t+2xvLOzT7Ure$*E2)T37MEx@Vi zQTZ`t*X63$3*Ejs)g!0wEIzKkz3e)X)jYJp=`|SEAj#)7Rw5DFzKIZsWZjEoMGb&- zT8?+QfI&IX>ndvZzEk^rj@(|hvgr-9lW-W^{NGl|wbY&w;x;{eHCXMTCSVJPL zTnH;ldHW}LWJGY(A@W!zP#bS+pz^ARYxMNFi#?M^p?{infZ)GW8ZvztD1jZ$1c)&4dl2>wbw;o?{?=r##s? z+hxea%icw@BN+icUi=&N9zl0ZGN%Muk0f#bxw@)JDo!YEfWlAnrM)#1bWvgCRH%RO zB#w1N^@>S4FO)>oP?uCiRJsIXqNS)spJG%FnGnf8lZ+U-_kBR$DEW+{C6ADkm^O6; z%BjXB`Mx5KvTF-b!JmGsLG;||hSal1>V=cZoyz1Ul-dg;q8r~6J(r7{WLmF8Z)WIC zS+3*ko8p3Rogmm9%|yxnWN>hM(obd-p^Z|_t!INBiSbz|V4by@Rh+UstMaiEiR6dN z3G%03OGeL4gwvI%LvOcWbF=KomKn~nt$xME`pAnv96R${v)Kt6h7Db|{vec-5r`To z1f{#@#ulS_`FV5-4{4T7L z1+8Orf*3lQXvqibR6@O8yByvhmNHDorV1KalE)R;d-I_f(+cj!f9`@ZpJE`xzsckV2mYg$v>LJ^+wU~ugo_No0h z))TQwjjEjixTb_s!ocCijrXeQ6NIRZd-{O_~?Ckq#&XsIF&9*3VN!RtPmJt zqwlE?jh;T3JfKcq<2D_q*0#LT=By}Z;C1rt33 zJbP0l+XkKZ7YQ= literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/ingot_hes.png b/assets/hbm/textures/items/ingot_hes.png new file mode 100644 index 0000000000000000000000000000000000000000..b20996ed697a046b304090c1e86ffef852ed691f GIT binary patch literal 290 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=Dh+K$tP>S|=w^P@=>&q9iy!t)x7$D3zfgF*C13FE6!3!9>qM&oalj&JU<&fv1aO zh=qT$gjK`k!!PYQoOd2!oS`OQ7QLCLhf}I)-OBH8yZ>jFuRCZM=DZ=(>3T;`AP=Kq zNxE-i_Mzp0M(Vt*#*tG0*`*mSu^6>XP@5o?(v!sCVR%NMW|l+5wlxer57`dnF#q)3 zxl?StS_+T3!_u{kJsTw()-XO%nxH1Z#;(MnAkAdN5Gl-&e6@uyq3r;Vf|sxrgQU}@ eWsGb*JPe2Q)IJ>O@U#TFmBG{1&t;ucLK6Ul2wA@X literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/ingot_les.png b/assets/hbm/textures/items/ingot_les.png new file mode 100644 index 0000000000000000000000000000000000000000..7869cf9e131f64a2e974b844630ed391e1450607 GIT binary patch literal 290 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=Dh+K$tP>S|=w^P@=>&q9iy!t)x7$D3zfgF*C13FE6!3!9>qM&oalj&JU<&fv1aO zh=qT$gq4Gr;}d%h=bc9wXQ&CR%Uj8i+|;%pdsoTpJO8gnhaE5sbKa2YbiJb|kcZLG zsQc1`SsyaDlx}o5Xw$Uj|3S6}lSUrJC7esxBo|9C1o0TN%vTdA`(DhHyo1r;wnH6v z-?!tdIVBJCa&&VuCFigyWHapKSi;$Mu#to5L|X%o!!?#e5vB{7XDAvlcU)@Wb7-5e fCbNN&nVDh!ZefM^seg=sZe{Rv^>bP0l+XkK%hO(^ literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/nugget_hes.png b/assets/hbm/textures/items/nugget_hes.png new file mode 100644 index 0000000000000000000000000000000000000000..964608c846891691dab42588295c9d84d5fd2892 GIT binary patch literal 235 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPIMM=Lb}i>FMGa zV&R`G!McNSdHdyhi8d}leur5l>ApYj|NeIL{}$`(|BNH0CZ}k`SP zyoMA%sT&Ob{(>vGlo-xP8{B?Bh0}OK4ugkrUl>F3eXmOOFYMudTx ZnPEwo_p`P+e?hKg@O1TaS?83{1OQSVNR!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPIMM=Lb}i>FMGa zV&R`G!MdYyO4EsYi8d}leur5`-IxBw?<#%w|CO%xzt0?-CZ%zlV3?6M!SP+4-xA5D zyoR;itT!0^{RLNWDKVUpHn{zM3a9ae90m{L$ZgFGN7)(}P6%w8)6b)&EqUU)jR*rX aGs6K-*Y>koUZp@w89ZJ6T-G@yGywpq7fBKT literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/pellet_advanced.png b/assets/hbm/textures/items/pellet_advanced.png new file mode 100644 index 0000000000000000000000000000000000000000..b694aed0b8418e4380f54625fea0bf381b96b4fd GIT binary patch literal 261 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=Dh+L6~vJ#O${~L5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt33Jez6@w9lcyew!d`5~8WUJ=+5o7y)u8t5DbPgg&ebxsLQ03%~o A`2YX_ literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/pellet_beryllium.png b/assets/hbm/textures/items/pellet_beryllium.png new file mode 100644 index 0000000000000000000000000000000000000000..04f4928df7c826585533e638ad9b8242c02e332e GIT binary patch literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=Dh+L6~vJ#O${~L5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt33J literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/pellet_hes.png b/assets/hbm/textures/items/pellet_hes.png new file mode 100644 index 0000000000000000000000000000000000000000..87888df6a2e85efe31da6ac9a8ba612f9e05e7e7 GIT binary patch literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=Dh+L6~vJ#O${~L5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt33J7g`VGHC!7)wKPr)B!lvI6;>1s;*b z3=Dh+L6~vJ#O${~L5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt33J$yA--XO(zQ$n)&=RA4)u~RjF&YW zj(75C*0EN6@Pn0a!lvI6;>1s;*b z3=Dh+L6~vJ#O${~L5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt33J!lvI6;>1s;*b z3=Dh+L6~vJ#O${~L5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt33Jv&>Zq zTlTvQhi-jy5aW^-dwrEjCTaO(#hmYw4+Px*@hTir6jNNzxR1fnbbP0 Hl+XkKhkst! literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/pellet_neptunium.png b/assets/hbm/textures/items/pellet_neptunium.png new file mode 100644 index 0000000000000000000000000000000000000000..4f6d2c8740212f89f06b163f9df8aeff5c4d330a GIT binary patch literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=Dh+L6~vJ#O${~L5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt33J$yA--XO(zQ$n)&=RA4)u~RjF&YW zj(75C*0EN6@Pn0a!lvI6;>1s;*b z3=Dh+L6~vJ#O${~L5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt33JMM3Op=7|2yxfe17P5mV(|*yhgAY*ICjshRg#$}z{kEcEcuJf8)lE| zPd%OL4ku;HaapG8DmcHmdswmSkBmc$vyNSn+yZWI0m0Wc3z#NswplQr=ZX2Y19v`n zb7W3<^72C(pIeKw$|{@puNl?^C^Z#SI9b&6PnBN&W^?V1YgcCg-NWGN>gTe~DWM4f D5N%u7 literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/tank_waste_0.png b/assets/hbm/textures/items/tank_waste_0.png new file mode 100644 index 0000000000000000000000000000000000000000..54164a661b40498e51b81d31d1522489cfff48b2 GIT binary patch literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt33 zJgTe~DWM4ffNNF_ literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/tank_waste_1.png b/assets/hbm/textures/items/tank_waste_1.png new file mode 100644 index 0000000000000000000000000000000000000000..01767397d8fa6b4680325fe86ef9fc33b343b72a GIT binary patch literal 273 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt33 zJesoofhmmNk|gpc?M5c KKbLh*2~7Z|e^$o; literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/tank_waste_2.png b/assets/hbm/textures/items/tank_waste_2.png new file mode 100644 index 0000000000000000000000000000000000000000..85984708a76c017653e8a0c9f63e68d3523427b8 GIT binary patch literal 289 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt33 zJKz1=dBV*Il5|HWb9!^53Or!-ZB=CSYapsa( zF2*xbM}+^Ie>Td^Vwh#|+~G{l!|yRB(|MLn5lD97V7&L+_heRJo9d0pAli#;{an^LB{Ts5*ym=A literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/tank_waste_3.png b/assets/hbm/textures/items/tank_waste_3.png new file mode 100644 index 0000000000000000000000000000000000000000..185f7c0c00a4aa026389e63141a6fa8299957948 GIT binary patch literal 300 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt33 zJtU;c~p1kn{q20mBbFneejNO=5Wv^c}_`;oWa zN#9*-m2Yq8Q2sTm_|v5;3?YT*8fV;W|G0MrpXRbD0?95MjQ4)uJdqM`imRrZhtFm8 z^hHmOGUhFqa3oaPU_x=+7rtg@P3BvV0#LT=By}Z;C1rt33 zJB>Ar}70KmPx>4?A=I{D1itNePJq60ve^8@ZZH)YR1eegFFPZ+>?6 z@B24yNGw;BU^+1?k?nyoODppsgXPNEEtzV!7$$HhupKm+^n_^wU0RvB*jpy@ zHtbANk-ji3>-&BSkJ&ZMyEf1HfBpE($@vFbYWn{RbK7VdFVMW$Wy0(rk-~9;VS?j^ vmKI-Qj%1Dl1}6jr*fNhS{rUg@e;x)FvB(Mzb-{%|*D`pz`njxgN@xNAK?!Sa literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/tank_waste_5.png b/assets/hbm/textures/items/tank_waste_5.png new file mode 100644 index 0000000000000000000000000000000000000000..ccb8143f93435b67ab34de5fbeaabdd6a33c6871 GIT binary patch literal 311 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt33 zJ4?A=I{D1itNePJq60ve^8@ZZH)YR1eegFFPZ+>?6 z@B24yNGw;BU^+1?k?nyoODppsgXPNEEtzV!7$$HhupKm+^n_^wU0RvB*jpy@ zHtbB|kiIZ2>-&BSkJ&ZMyEf1HfBpE($@vFbYWn{RbK7VdFVMW$waMVb=TPOd3<7MD zOhybT0y>I`mw66JFd6U|v9vf!6=wbeI*pk@=4rIXscnz;1KrHv>FVdQ&MBb@0J;cm A%K!iX literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/tank_waste_6.png b/assets/hbm/textures/items/tank_waste_6.png new file mode 100644 index 0000000000000000000000000000000000000000..be1c8286d5de4afb5587964de10211be4f3b5c07 GIT binary patch literal 320 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt33 zJQXWQAzF-=oM(abE0xUa0_q5^TI1aUne$2 z&*0yE@MQlf*6V+HuBP4bchFeap!C;cr$MHUh!;n5ZX&}cw%HS6&a^7@fI^1B)78&q Iol`;+0Om|_0{{R3 literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/tank_waste_7.png b/assets/hbm/textures/items/tank_waste_7.png new file mode 100644 index 0000000000000000000000000000000000000000..5b5137c671dee381bafdb4a92cff5f447a84ceeb GIT binary patch literal 328 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt33 zJ5u=iX2v4UTos*x<@uHu-LKV zg?RkVL(Nx~U0QZn@*em1f=U<0j!CJK9YL>7zuzqoYxH7H^H#BA5*cf=Rj0a2h#j=| z%v1=n7CJ0EdY+OCn~3h%u?Q9NcBV@RhM;UtGbf T(8tC=PcV48`njxgN@xNAXgGH& literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/tank_waste_8.png b/assets/hbm/textures/items/tank_waste_8.png new file mode 100644 index 0000000000000000000000000000000000000000..7bdf3f21e73253bca08e6e63bb8f34d45928aeae GIT binary patch literal 331 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt33 zJ4?A=I{D1itNePJq60ve^8@ZZH)YR1eegFFPZ+>?6 z@B24yNGw;BU^+1?k?nyoODppsgXPNEEtzV!7$$HhupKm+^n_^wU0RvB*jpy@ zW_WM?9WS%QcOT>3$aDW+KR$EPJi%$-@&BEy^QK5%n3CZdDe>gzs)_jy&U=pjXR7D@ z#Ji%?>}R~t8s~kCQw7_WNHZK#aCTs8;Av7-$(iLS;mpwH*w$d+p{#fI|NsB#3=EeJ WCvfkW#99XQ2ZN`ppUXO@geCwbK6!-z literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/titanium_filter.png b/assets/hbm/textures/items/titanium_filter.png new file mode 100644 index 0000000000000000000000000000000000000000..7c50669702677ec21bde3ed09174dc62009482b7 GIT binary patch literal 282 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPIMM=Lb|X!_&nv z#KQmXq>Y@14Fp_yc@b2Y( z&sH{uT#%y#FmdHwd}rkJObVx50QSO5C6 zu5#(Mt{|?Wa~_(eON)bq 2) + entity.fallDistance = 2; + } + + public void updateTick(World world, int x, int y, int z, Random rand) { + super.updateTick(world, x, y, z, rand); + } + + public int tickRate(World p_149738_1_) + { + return 15; + } + +} diff --git a/com/hbm/blocks/MudFluid.java b/com/hbm/blocks/MudFluid.java new file mode 100644 index 000000000..eb7ace45b --- /dev/null +++ b/com/hbm/blocks/MudFluid.java @@ -0,0 +1,28 @@ +package com.hbm.blocks; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.util.IIcon; +import net.minecraftforge.fluids.Fluid; + +public class MudFluid extends Fluid { + + public MudFluid() { + super("liquidHelium"); + } + + @SideOnly(Side.CLIENT) + public IIcon getIcon() { + return getStillIcon(); + } + + @SideOnly(Side.CLIENT) + public IIcon getStillIcon() { + return MudBlock.stillIcon; + } + + @SideOnly(Side.CLIENT) + public IIcon getFlowingIcon() { + return MudBlock.flowingIcon; + } +} diff --git a/com/hbm/blocks/TileEntityConverterHeRf.java b/com/hbm/blocks/TileEntityConverterHeRf.java index f1ac28d78..6a30a4b55 100644 --- a/com/hbm/blocks/TileEntityConverterHeRf.java +++ b/com/hbm/blocks/TileEntityConverterHeRf.java @@ -13,8 +13,8 @@ import net.minecraftforge.common.util.ForgeDirection; public class TileEntityConverterHeRf extends TileEntity implements IConsumer, IEnergyProvider { public int power; - public final int maxPower = 10000; - public EnergyStorage storage = new EnergyStorage(40000, 25000, 25000); + public final int maxPower = 1000000; + public EnergyStorage storage = new EnergyStorage(4000000, 2500000, 2500000); //Thanks to the great people of Fusion Warfare for helping me with this part. @@ -22,6 +22,16 @@ public class TileEntityConverterHeRf extends TileEntity implements IConsumer, IE public void updateEntity() { if (!worldObj.isRemote) { + if(power >= 100000 && storage.getEnergyStored() + 400000 <= storage.getMaxEnergyStored()) + { + power -= 100000; + storage.setEnergyStored(storage.getEnergyStored() + 400000); + } + if(power >= 10000 && storage.getEnergyStored() + 40000 <= storage.getMaxEnergyStored()) + { + power -= 10000; + storage.setEnergyStored(storage.getEnergyStored() + 40000); + } if(power >= 1000 && storage.getEnergyStored() + 4000 <= storage.getMaxEnergyStored()) { power -= 1000; diff --git a/com/hbm/blocks/TileEntityConverterRfHe.java b/com/hbm/blocks/TileEntityConverterRfHe.java index 9809f560e..c0fe3b561 100644 --- a/com/hbm/blocks/TileEntityConverterRfHe.java +++ b/com/hbm/blocks/TileEntityConverterRfHe.java @@ -19,15 +19,25 @@ import net.minecraftforge.common.util.ForgeDirection; public class TileEntityConverterRfHe extends TileEntity implements ISource, IEnergyReceiver { public int power; - public final int maxPower = 10000; + public final int maxPower = 1000000; public List list = new ArrayList(); public int age = 0; - public EnergyStorage storage = new EnergyStorage(40000, 25000, 25000); + public EnergyStorage storage = new EnergyStorage(4000000, 2500000, 2500000); @Override public void updateEntity() { if (!worldObj.isRemote) { + if(storage.getEnergyStored() >= 400000 && power + 100000 <= maxPower) + { + storage.setEnergyStored(storage.getEnergyStored() - 400000); + power += 100000; + } + if(storage.getEnergyStored() >= 40000 && power + 10000 <= maxPower) + { + storage.setEnergyStored(storage.getEnergyStored() - 40000); + power += 10000; + } if(storage.getEnergyStored() >= 4000 && power + 1000 <= maxPower) { storage.setEnergyStored(storage.getEnergyStored() - 4000); diff --git a/com/hbm/blocks/TileEntityWatzCore.java b/com/hbm/blocks/TileEntityWatzCore.java new file mode 100644 index 000000000..04be463e2 --- /dev/null +++ b/com/hbm/blocks/TileEntityWatzCore.java @@ -0,0 +1,769 @@ +package com.hbm.blocks; + +import java.util.ArrayList; +import java.util.List; +import java.util.Random; + +import com.hbm.calc.UnionOfTileEntitiesAndBooleans; +import com.hbm.interfaces.IConductor; +import com.hbm.interfaces.IConsumer; +import com.hbm.interfaces.IReactor; +import com.hbm.interfaces.ISource; +import com.hbm.items.ModItems; +import com.hbm.items.WatzFuel; +import com.hbm.lib.Library; + +import net.minecraft.block.Block; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.inventory.ISidedInventory; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; + +public class TileEntityWatzCore extends TileEntity implements ISidedInventory, IReactor, ISource { + + public int waste; + public final static int wasteMax = 10000000; + public int power; + public final static int maxPower = 100000000; + public int heat; + + public int heatMultiplier; + public int powerMultiplier; + public int decayMultiplier; + + public int heatList; + public int wasteList; + public int powerList; + + Random rand = new Random(); + + private ItemStack slots[]; + public int age = 0; + public List list = new ArrayList(); + + private String customName; + + public TileEntityWatzCore() { + slots = new ItemStack[39]; + } + @Override + public int getSizeInventory() { + return slots.length; + } + + @Override + public ItemStack getStackInSlot(int i) { + return slots[i]; + } + + @Override + public ItemStack getStackInSlotOnClosing(int i) { + if(slots[i] != null) + { + ItemStack itemStack = slots[i]; + slots[i] = null; + return itemStack; + } else { + return null; + } + } + + @Override + public void setInventorySlotContents(int i, ItemStack itemStack) { + slots[i] = itemStack; + if(itemStack != null && itemStack.stackSize > getInventoryStackLimit()) + { + itemStack.stackSize = getInventoryStackLimit(); + } + } + + @Override + public String getInventoryName() { + return this.hasCustomInventoryName() ? this.customName : "container.watzPowerplant"; + } + + @Override + public boolean hasCustomInventoryName() { + return this.customName != null && this.customName.length() > 0; + } + + public void setCustomName(String name) { + this.customName = name; + } + + @Override + public int getInventoryStackLimit() { + return 64; + } + + @Override + public boolean isUseableByPlayer(EntityPlayer player) { + if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) + { + return false; + }else{ + return true; + } + } + + @Override + public void openInventory() {} + + @Override + public void closeInventory() {} + + @Override + public boolean isItemValidForSlot(int i, ItemStack itemStack) { + return true; + } + + @Override + public ItemStack decrStackSize(int i, int j) { + if(slots[i] != null) + { + if(slots[i].stackSize <= j) + { + ItemStack itemStack = slots[i]; + slots[i] = null; + return itemStack; + } + ItemStack itemStack1 = slots[i].splitStack(j); + if (slots[i].stackSize == 0) + { + slots[i] = null; + } + + return itemStack1; + } else { + return null; + } + } + + @Override + public int[] getAccessibleSlotsFromSide(int p_94128_1_) { + return null; + } + + @Override + public boolean canInsertItem(int p_102007_1_, ItemStack p_102007_2_, int p_102007_3_) { + return false; + } + + @Override + public boolean canExtractItem(int p_102008_1_, ItemStack p_102008_2_, int p_102008_3_) { + return false; + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + NBTTagList list = nbt.getTagList("items", 10); + + waste = nbt.getShort("deut") * 1000; + power = nbt.getShort("power") * 10000; + + slots = new ItemStack[getSizeInventory()]; + + for(int i = 0; i < list.tagCount(); i++) + { + NBTTagCompound nbt1 = list.getCompoundTagAt(i); + byte b0 = nbt1.getByte("slot"); + if(b0 >= 0 && b0 < slots.length) + { + slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); + } + } + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + nbt.setShort("deut", (short) (waste/1000)); + nbt.setShort("power", (short) (power/10000)); + NBTTagList list = new NBTTagList(); + + for(int i = 0; i < slots.length; i++) + { + if(slots[i] != null) + { + NBTTagCompound nbt1 = new NBTTagCompound(); + nbt1.setByte("slot", (byte)i); + slots[i].writeToNBT(nbt1); + list.appendTag(nbt1); + } + } + nbt.setTag("items", list); + } + + @Override + public boolean isStructureValid(World world) { + for(int i = -5; i <= 5; i++) + { + if(world.getBlock(this.xCoord + 3, this.yCoord + i, this.zCoord - 1) != ModBlocks.reinforced_brick) + return false; + } + for(int i = -5; i <= 5; i++) + { + if(world.getBlock(this.xCoord + 3, this.yCoord + i, this.zCoord + 1) != ModBlocks.reinforced_brick) + return false; + } + + + + for(int i = -5; i <= 5; i++) + { + if(world.getBlock(this.xCoord + 2, this.yCoord + i, this.zCoord - 2) != ModBlocks.reinforced_brick) + return false; + } + for(int i = -5; i <= 5; i++) + { + if(world.getBlock(this.xCoord + 2, this.yCoord + i, this.zCoord - 1) != ModBlocks.watz_element) + return false; + } + for(int i = -5; i <= 5; i++) + { + if(world.getBlock(this.xCoord + 2, this.yCoord + i, this.zCoord) != ModBlocks.watz_control) + return false; + } + for(int i = -5; i <= 5; i++) + { + if(world.getBlock(this.xCoord + 2, this.yCoord + i, this.zCoord + 1) != ModBlocks.watz_element) + return false; + } + for(int i = -5; i <= 5; i++) + { + if(world.getBlock(this.xCoord + 2, this.yCoord + i, this.zCoord + 2) != ModBlocks.reinforced_brick) + return false; + } + + + + for(int i = -5; i <= 5; i++) + { + if(world.getBlock(this.xCoord + 1, this.yCoord + i, this.zCoord - 3) != ModBlocks.reinforced_brick) + return false; + } + for(int i = -5; i <= 5; i++) + { + if(world.getBlock(this.xCoord + 1, this.yCoord + i, this.zCoord - 2) != ModBlocks.watz_element) + return false; + } + for(int i = -5; i <= 5; i++) + { + if(world.getBlock(this.xCoord + 1, this.yCoord + i, this.zCoord - 1) != ModBlocks.watz_control) + return false; + } + for(int i = -5; i <= 5; i++) + { + if(world.getBlock(this.xCoord + 1, this.yCoord + i, this.zCoord) != ModBlocks.watz_cooler) + return false; + } + for(int i = -5; i <= 5; i++) + { + if(world.getBlock(this.xCoord + 1, this.yCoord + i, this.zCoord + 1) != ModBlocks.watz_control) + return false; + } + for(int i = -5; i <= 5; i++) + { + if(world.getBlock(this.xCoord + 1, this.yCoord + i, this.zCoord + 2) != ModBlocks.watz_element) + return false; + } + for(int i = -5; i <= 5; i++) + { + if(world.getBlock(this.xCoord + 1, this.yCoord + i, this.zCoord + 3) != ModBlocks.reinforced_brick) + return false; + } + + + + for(int i = -5; i <= 5; i++) + { + if(world.getBlock(this.xCoord + 0, this.yCoord + i, this.zCoord - 2) != ModBlocks.watz_control) + return false; + } + for(int i = -5; i <= 5; i++) + { + if(world.getBlock(this.xCoord + 0, this.yCoord + i, this.zCoord - 1) != ModBlocks.watz_cooler) + return false; + } + for(int i = -5; i <= 5; i++) + { + if(world.getBlock(this.xCoord + 0, this.yCoord + i, this.zCoord + 1) != ModBlocks.watz_cooler) + return false; + } + for(int i = -5; i <= 5; i++) + { + if(world.getBlock(this.xCoord + 0, this.yCoord + i, this.zCoord + 2) != ModBlocks.watz_control) + return false; + } + + + + for(int i = -5; i <= 5; i++) + { + if(world.getBlock(this.xCoord - 1, this.yCoord + i, this.zCoord - 3) != ModBlocks.reinforced_brick) + return false; + } + for(int i = -5; i <= 5; i++) + { + if(world.getBlock(this.xCoord - 1, this.yCoord + i, this.zCoord - 2) != ModBlocks.watz_element) + return false; + } + for(int i = -5; i <= 5; i++) + { + if(world.getBlock(this.xCoord - 1, this.yCoord + i, this.zCoord - 1) != ModBlocks.watz_control) + return false; + } + for(int i = -5; i <= 5; i++) + { + if(world.getBlock(this.xCoord - 1, this.yCoord + i, this.zCoord) != ModBlocks.watz_cooler) + return false; + } + for(int i = -5; i <= 5; i++) + { + if(world.getBlock(this.xCoord - 1, this.yCoord + i, this.zCoord + 1) != ModBlocks.watz_control) + return false; + } + for(int i = -5; i <= 5; i++) + { + if(world.getBlock(this.xCoord - 1, this.yCoord + i, this.zCoord + 2) != ModBlocks.watz_element) + return false; + } + for(int i = -5; i <= 5; i++) + { + if(world.getBlock(this.xCoord - 1, this.yCoord + i, this.zCoord + 3) != ModBlocks.reinforced_brick) + return false; + } + + + + for(int i = -5; i <= 5; i++) + { + if(world.getBlock(this.xCoord - 2, this.yCoord + i, this.zCoord - 2) != ModBlocks.reinforced_brick) + return false; + } + for(int i = -5; i <= 5; i++) + { + if(world.getBlock(this.xCoord - 2, this.yCoord + i, this.zCoord - 1) != ModBlocks.watz_element) + return false; + } + for(int i = -5; i <= 5; i++) + { + if(world.getBlock(this.xCoord - 2, this.yCoord + i, this.zCoord) != ModBlocks.watz_control) + return false; + } + for(int i = -5; i <= 5; i++) + { + if(world.getBlock(this.xCoord - 2, this.yCoord + i, this.zCoord + 1) != ModBlocks.watz_element) + return false; + } + for(int i = -5; i <= 5; i++) + { + if(world.getBlock(this.xCoord - 2, this.yCoord + i, this.zCoord + 2) != ModBlocks.reinforced_brick) + return false; + } + + + + for(int i = -5; i <= 5; i++) + { + if(world.getBlock(this.xCoord - 3, this.yCoord + i, this.zCoord - 1) != ModBlocks.reinforced_brick) + return false; + } + for(int i = -5; i <= 5; i++) + { + if(world.getBlock(this.xCoord - 3, this.yCoord + i, this.zCoord + 1) != ModBlocks.reinforced_brick) + return false; + } + + + + for(int i = -5; i <= -1; i++) + { + if(world.getBlock(this.xCoord, this.yCoord + i, this.zCoord) != ModBlocks.watz_conductor) + return false; + } + for(int i = 1; i <= 5; i++) + { + if(world.getBlock(this.xCoord, this.yCoord + i, this.zCoord) != ModBlocks.watz_conductor) + return false; + } + + for(int i = -5; i <= -1; i++) + { + if(world.getBlock(this.xCoord + 3, this.yCoord + i, this.zCoord) != ModBlocks.reinforced_brick) + return false; + } + for(int i = 1; i <= 5; i++) + { + if(world.getBlock(this.xCoord + 3, this.yCoord + i, this.zCoord) != ModBlocks.reinforced_brick) + return false; + } + + for(int i = -5; i <= -1; i++) + { + if(world.getBlock(this.xCoord - 3, this.yCoord + i, this.zCoord) != ModBlocks.reinforced_brick) + return false; + } + for(int i = 1; i <= 5; i++) + { + if(world.getBlock(this.xCoord - 3, this.yCoord + i, this.zCoord) != ModBlocks.reinforced_brick) + return false; + } + + for(int i = -5; i <= -1; i++) + { + if(world.getBlock(this.xCoord, this.yCoord + i, this.zCoord + 3) != ModBlocks.reinforced_brick) + return false; + } + for(int i = 1; i <= 5; i++) + { + if(world.getBlock(this.xCoord, this.yCoord + i, this.zCoord + 3) != ModBlocks.reinforced_brick) + return false; + } + + for(int i = -5; i <= -1; i++) + { + if(world.getBlock(this.xCoord, this.yCoord + i, this.zCoord - 3) != ModBlocks.reinforced_brick) + return false; + } + for(int i = 1; i <= 5; i++) + { + if(world.getBlock(this.xCoord, this.yCoord + i, this.zCoord - 3) != ModBlocks.reinforced_brick) + return false; + } + + if(world.getBlock(this.xCoord + 3, this.yCoord, this.zCoord) != ModBlocks.watz_hatch) + return false; + + if(world.getBlock(this.xCoord - 3, this.yCoord, this.zCoord) != ModBlocks.watz_hatch) + return false; + + if(world.getBlock(this.xCoord, this.yCoord, this.zCoord + 3) != ModBlocks.watz_hatch) + return false; + + if(world.getBlock(this.xCoord, this.yCoord, this.zCoord - 3) != ModBlocks.watz_hatch) + return false; + + for(int i = -3; i <= 3; i++) + { + for(int j = -3; j <= 3; j++) + { + if(world.getBlock(this.xCoord + i, this.yCoord + 6, this.zCoord + j) != ModBlocks.watz_end && world.getBlock(this.xCoord + i, this.yCoord + 6, this.zCoord + j) != ModBlocks.watz_conductor) + return false; + } + } + for(int i = -3; i <= 3; i++) + { + for(int j = -3; j <= 3; j++) + { + if(world.getBlock(this.xCoord + i, this.yCoord - 6, this.zCoord + j) != ModBlocks.watz_end && world.getBlock(this.xCoord + i, this.yCoord - 6, this.zCoord + j) != ModBlocks.watz_conductor) + return false; + } + } + + return true; + } + + @Override + public boolean isCoatingValid(World world) { + { + return true; + } + + //return false; + } + + @Override + public boolean hasFuse() { + return slots[38] != null && slots[38].getItem() == ModItems.titanium_filter && slots[38].getItemDamage() < slots[38].getMaxDamage(); + } + + @Override + public int getWaterScaled(int i) { + return (waste * i) / wasteMax; + } + + @Override + public int getPowerScaled(int i) { + return (power/100 * i) / (maxPower/100); + } + + @Override + public int getCoolantScaled(int i) { + return 0; + } + + @Override + public int getHeatScaled(int i) { + return 0; + } + + @Override + public void updateEntity() { + if (this.isStructureValid(this.worldObj)) { + + age++; + if (age >= 20) { + age = 0; + } + + if (age == 9 || age == 19) + ffgeuaInit(); + + powerMultiplier = 100; + decayMultiplier = 100; + powerList = 0; + heatList = 0; + heat = 0; + + if (hasFuse()) { + + //Adds power and heat + for (int i = 0; i < 36; i++) { + surveyPellet(slots[i]); + } + //Calculates modifiers + for (int i = 0; i < 36; i++) { + surveyPelletAgain(slots[i]); + } + //Decays pellet by (DECAYMULTIPLIER * DEFAULTDECAY=100)/100 ticks + for (int i = 0; i < 36; i++) { + decayPellet(i); + } + } + + //Only damages filter when heat is present (thus waste being created) + if (heatList > 0) { + slots[38].setItemDamage(slots[38].getItemDamage() + 1); + } + + heat = heatList; + + power += powerList; + + waste += (decayMultiplier * heat) / 100; + + if(power > maxPower) + power = maxPower; + + //Gets rid of 1/4 of the total waste, if at least one access hatch is not occupied + if(waste > wasteMax) + emptyWaste(); + + if(power - 100 >= 0 && slots[37] != null && slots[37].getItem() == ModItems.battery_generic && slots[37].getItemDamage() > 0) + { + power -= 100; + slots[37].setItemDamage(slots[37].getItemDamage() - 1); + } + if(power - 100 >= 0 && slots[37] != null && slots[37].getItem() == ModItems.battery_advanced && slots[37].getItemDamage() > 0) + { + power -= 100; + slots[37].setItemDamage(slots[37].getItemDamage() - 1); + } + if(power - 100 >= 0 && slots[37] != null && slots[37].getItem() == ModItems.battery_schrabidium && slots[37].getItemDamage() > 0) + { + power -= 100; + slots[37].setItemDamage(slots[37].getItemDamage() - 1); + } + if(power - 100 >= 0 && slots[37] != null && slots[37].getItem() == ModItems.factory_core_titanium && slots[37].getItemDamage() > 0) + { + power -= 100; + slots[37].setItemDamage(slots[37].getItemDamage() - 1); + } + if(power - 100 >= 0 && slots[37] != null && slots[37].getItem() == ModItems.factory_core_advanced && slots[37].getItemDamage() > 0) + { + power -= 100; + slots[37].setItemDamage(slots[37].getItemDamage() - 1); + } + + if(waste - 2500000 >= 0 && slots[36] != null && slots[36].getItem() == ModItems.tank_waste && slots[36].getItemDamage() < 8) + { + waste -= 2500000; + slots[36].setItemDamage(slots[36].getItemDamage() + 1); + } + } + } + + public void surveyPellet(ItemStack stack) { + if(stack != null && stack.getItem() instanceof WatzFuel) + { + WatzFuel fuel = (WatzFuel)stack.getItem(); + this.powerList += fuel.power; + this.heatList += fuel.heat; + } + } + + public void surveyPelletAgain(ItemStack stack) { + if(stack != null && stack.getItem() instanceof WatzFuel) + { + WatzFuel fuel = (WatzFuel)stack.getItem(); + this.powerList *= fuel.powerMultiplier; + this.heatList *= fuel.heatMultiplier; + this.decayMultiplier *= fuel.decayMultiplier; + } + } + + public void decayPellet(int i) { + if(slots[i] != null && slots[i].getItem() instanceof WatzFuel) + { + WatzFuel fuel = (WatzFuel)slots[i].getItem(); + slots[i].setItemDamage(slots[i].getItemDamage() + this.decayMultiplier); + if(slots[i].getItemDamage() >= slots[i].getMaxDamage()) + { + if(slots[i].getItem() == ModItems.pellet_lead) + slots[i] = null; + else + slots[i] = new ItemStack(ModItems.pellet_lead); + } + } + } + + public void emptyWaste() { + this.waste /= 4; + this.waste *= 3; + if (!worldObj.isRemote) { + if (this.worldObj.getBlock(this.xCoord + 4, this.yCoord, this.zCoord) == Blocks.air) + this.worldObj.setBlock(this.xCoord + 4, this.yCoord, this.zCoord, ModBlocks.mud_block); + else if (this.worldObj.getBlock(this.xCoord - 4, this.yCoord, this.zCoord) == Blocks.air) + this.worldObj.setBlock(this.xCoord - 4, this.yCoord, this.zCoord, ModBlocks.mud_block); + else if (this.worldObj.getBlock(this.xCoord, this.yCoord, this.zCoord + 4) == Blocks.air) + this.worldObj.setBlock(this.xCoord, this.yCoord, this.zCoord + 4, ModBlocks.mud_block); + else if (this.worldObj.getBlock(this.xCoord, this.yCoord, this.zCoord - 4) == Blocks.air) + this.worldObj.setBlock(this.xCoord, this.yCoord, this.zCoord - 4, ModBlocks.mud_block); + else { + for (int i = -3; i <= 3; i++) + for (int j = -5; j <= 5; j++) + for (int k = -3; k <= 3; k++) + if (rand.nextInt(2) == 0) + this.worldObj.setBlock(this.xCoord + i, this.yCoord + j, this.zCoord + k, + ModBlocks.mud_block); + this.worldObj.setBlock(this.xCoord, this.yCoord, this.zCoord, ModBlocks.mud_block); + } + } + } + + @Override + public void ffgeua(int x, int y, int z, boolean newTact) { + Block block = this.worldObj.getBlock(x, y, z); + TileEntity tileentity = this.worldObj.getTileEntity(x, y, z); + + if(block == ModBlocks.factory_titanium_conductor && this.worldObj.getBlock(x, y + 1, z) == ModBlocks.factory_titanium_core) + { + tileentity = this.worldObj.getTileEntity(x, y + 1, z); + } + if(block == ModBlocks.factory_titanium_conductor && this.worldObj.getBlock(x, y - 1, z) == ModBlocks.factory_titanium_core) + { + tileentity = this.worldObj.getTileEntity(x, y - 1, z); + } + if(block == ModBlocks.factory_advanced_conductor && this.worldObj.getBlock(x, y + 1, z) == ModBlocks.factory_advanced_core) + { + tileentity = this.worldObj.getTileEntity(x, y + 1, z); + } + if(block == ModBlocks.factory_advanced_conductor && this.worldObj.getBlock(x, y - 1, z) == ModBlocks.factory_advanced_core) + { + tileentity = this.worldObj.getTileEntity(x, y - 1, z); + } + + if(tileentity instanceof IConductor) + { + if(tileentity instanceof TileEntityCable) + { + if(Library.checkUnionList(((TileEntityCable)tileentity).uoteab, this)) + { + for(int i = 0; i < ((TileEntityCable)tileentity).uoteab.size(); i++) + { + if(((TileEntityCable)tileentity).uoteab.get(i).source == this) + { + if(((TileEntityCable)tileentity).uoteab.get(i).ticked != newTact) + { + ((TileEntityCable)tileentity).uoteab.get(i).ticked = newTact; + ffgeua(x, y + 1, z, getTact()); + ffgeua(x, y - 1, z, getTact()); + ffgeua(x - 1, y, z, getTact()); + ffgeua(x + 1, y, z, getTact()); + ffgeua(x, y, z - 1, getTact()); + ffgeua(x, y, z + 1, getTact()); + } + } + } + } else { + ((TileEntityCable)tileentity).uoteab.add(new UnionOfTileEntitiesAndBooleans(this, newTact)); + } + } + if(tileentity instanceof TileEntityWireCoated) + { + if(Library.checkUnionList(((TileEntityWireCoated)tileentity).uoteab, this)) + { + for(int i = 0; i < ((TileEntityWireCoated)tileentity).uoteab.size(); i++) + { + if(((TileEntityWireCoated)tileentity).uoteab.get(i).source == this) + { + if(((TileEntityWireCoated)tileentity).uoteab.get(i).ticked != newTact) + { + ((TileEntityWireCoated)tileentity).uoteab.get(i).ticked = newTact; + ffgeua(x, y + 1, z, getTact()); + ffgeua(x, y - 1, z, getTact()); + ffgeua(x - 1, y, z, getTact()); + ffgeua(x + 1, y, z, getTact()); + ffgeua(x, y, z - 1, getTact()); + ffgeua(x, y, z + 1, getTact()); + } + } + } + } else { + ((TileEntityWireCoated)tileentity).uoteab.add(new UnionOfTileEntitiesAndBooleans(this, newTact)); + } + } + } + + if(tileentity instanceof IConsumer && newTact && !(tileentity instanceof TileEntityMachineBattery && ((TileEntityMachineBattery)tileentity).conducts)) + { + list.add((IConsumer)tileentity); + } + + if(!newTact) + { + int size = list.size(); + if(size > 0) + { + int part = this.power / size; + for(IConsumer consume : list) + { + if(consume.getPower() < consume.getMaxPower()) + { + if(consume.getMaxPower() - consume.getPower() >= part) + { + this.power -= part; + consume.setPower(consume.getPower() + part); + } else { + this.power -= consume.getMaxPower() - consume.getPower(); + consume.setPower(consume.getMaxPower()); + } + } + } + } + list.clear(); + } + } + + @Override + public void ffgeuaInit() { + ffgeua(this.xCoord, this.yCoord + 7, this.zCoord, getTact()); + ffgeua(this.xCoord, this.yCoord - 7, this.zCoord, getTact()); + } + + public boolean getTact() { + if(age >= 0 && age < 10) + { + return true; + } + + return false; + } +} diff --git a/com/hbm/blocks/WatzCore.java b/com/hbm/blocks/WatzCore.java new file mode 100644 index 000000000..abcdc8a63 --- /dev/null +++ b/com/hbm/blocks/WatzCore.java @@ -0,0 +1,18 @@ +package com.hbm.blocks; + +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; + +public class WatzCore extends BlockContainer { + + protected WatzCore(Material p_i45386_1_) { + super(p_i45386_1_); + } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + return new TileEntityWatzCore(); + } +} diff --git a/com/hbm/blocks/WatzHatch.java b/com/hbm/blocks/WatzHatch.java new file mode 100644 index 000000000..c12eb66fc --- /dev/null +++ b/com/hbm/blocks/WatzHatch.java @@ -0,0 +1,178 @@ +package com.hbm.blocks; + +import java.util.Random; + +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; + +import cpw.mods.fml.common.network.internal.FMLNetworkHandler; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.IIcon; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +public class WatzHatch extends Block { + + @SideOnly(Side.CLIENT) + private IIcon iconFront; + + protected WatzHatch(Material p_i45394_1_) { + super(p_i45394_1_); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + this.iconFront = iconRegister.registerIcon(RefStrings.MODID + ":watz_hatch"); + this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":reinforced_brick"); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int metadata) { + return metadata == 0 && side == 3 ? this.iconFront : (side == metadata ? this.iconFront : this.blockIcon); + } + + @Override + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) + { + return Item.getItemFromBlock(this); + } + + @Override + public void onBlockAdded(World world, int x, int y, int z) { + super.onBlockAdded(world, x, y, z); + //this.setDefaultDirection(world, x, y, z); + } + + private void setDefaultDirection(World world, int x, int y, int z) { + if(!world.isRemote) + { + Block block1 = world.getBlock(x, y, z - 1); + Block block2 = world.getBlock(x, y, z + 1); + Block block3 = world.getBlock(x - 1, y, z); + Block block4 = world.getBlock(x + 1, y, z); + + byte b0 = 3; + + if(block1.func_149730_j() && !block2.func_149730_j()) + { + b0 = 3; + } + if(block2.func_149730_j() && !block1.func_149730_j()) + { + b0 = 2; + } + if(block3.func_149730_j() && !block4.func_149730_j()) + { + b0 = 5; + } + if(block4.func_149730_j() && !block3.func_149730_j()) + { + b0 = 4; + } + + world.setBlockMetadataWithNotify(x, y, z, b0, 2); + } + } + + @Override + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { + int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; + + if(i == 0) + { + world.setBlockMetadataWithNotify(x, y, z, 2, 2); + } + if(i == 1) + { + world.setBlockMetadataWithNotify(x, y, z, 5, 2); + } + if(i == 2) + { + world.setBlockMetadataWithNotify(x, y, z, 3, 2); + } + if(i == 3) + { + world.setBlockMetadataWithNotify(x, y, z, 4, 2); + } + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + if(world.isRemote) + { + return true; + } else if(!player.isSneaking()) + { + if(world.getBlockMetadata(x, y, z) == 2) + { + if(world.getTileEntity(x, y, z + 3) instanceof TileEntityWatzCore) + { + if(((TileEntityWatzCore)world.getTileEntity(x, y, z + 3)).isStructureValid(world)) + { + FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_watz_multiblock, world, x, y, z + 3); + } else { + player.addChatMessage(new ChatComponentText("[Watz Power Plant] Error: Reactor Structure not valid!")); + } + } else { + player.addChatMessage(new ChatComponentText("[Watz Power Plant] Error: Reactor Core not found!")); + } + } + if(world.getBlockMetadata(x, y, z) == 3) + { + if(world.getTileEntity(x, y, z - 3) instanceof TileEntityWatzCore) + { + if(((TileEntityWatzCore)world.getTileEntity(x, y, z - 3)).isStructureValid(world)) + { + FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_watz_multiblock, world, x, y, z - 3); + } else { + player.addChatMessage(new ChatComponentText("[Watz Power Plant] Error: Reactor Structure not valid!")); + } + } else { + player.addChatMessage(new ChatComponentText("[Watz Power Plant] Error: Reactor Core not found!")); + } + } + if(world.getBlockMetadata(x, y, z) == 4) + { + if(world.getTileEntity(x + 3, y, z) instanceof TileEntityWatzCore) + { + if(((TileEntityWatzCore)world.getTileEntity(x + 3, y, z)).isStructureValid(world)) + { + FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_watz_multiblock, world, x + 3, y, z); + } else { + player.addChatMessage(new ChatComponentText("[Watz Power Plant] Error: Reactor Structure not valid!")); + } + } else { + player.addChatMessage(new ChatComponentText("[Watz Power Plant] Error: Reactor Core not found!")); + } + } + if(world.getBlockMetadata(x, y, z) == 5) + { + if(world.getTileEntity(x - 3, y, z) instanceof TileEntityWatzCore) + { + if(((TileEntityWatzCore)world.getTileEntity(x - 3, y, z)).isStructureValid(world)) + { + FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_watz_multiblock, world, x - 3, y, z); + } else { + player.addChatMessage(new ChatComponentText("[Watz Power Plant] Error: Reactor Structure not valid!")); + } + } else { + player.addChatMessage(new ChatComponentText("[Watz Power Plant] Error: Reactor Core not found!")); + } + } + return true; + } else { + return false; + } + } +} diff --git a/com/hbm/gui/ContainerWatzCore.java b/com/hbm/gui/ContainerWatzCore.java new file mode 100644 index 000000000..541edc340 --- /dev/null +++ b/com/hbm/gui/ContainerWatzCore.java @@ -0,0 +1,158 @@ +package com.hbm.gui; + +import com.hbm.blocks.TileEntityFusionMultiblock; +import com.hbm.blocks.TileEntityWatzCore; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.ICrafting; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; + +public class ContainerWatzCore extends Container { + + private TileEntityWatzCore diFurnace; + + private int water; + private int power; + private int trit; + + public ContainerWatzCore(InventoryPlayer invPlayer, TileEntityWatzCore tedf) { + + diFurnace = tedf; + + this.addSlotToContainer(new Slot(tedf, 0, 8, 18)); + this.addSlotToContainer(new Slot(tedf, 1, 26, 18)); + this.addSlotToContainer(new Slot(tedf, 2, 44, 18)); + this.addSlotToContainer(new Slot(tedf, 3, 62, 18)); + this.addSlotToContainer(new Slot(tedf, 4, 80, 18)); + this.addSlotToContainer(new Slot(tedf, 5, 98, 18)); + this.addSlotToContainer(new Slot(tedf, 6, 8, 36)); + this.addSlotToContainer(new Slot(tedf, 7, 26, 36)); + this.addSlotToContainer(new Slot(tedf, 8, 44, 36)); + this.addSlotToContainer(new Slot(tedf, 9, 62, 36)); + this.addSlotToContainer(new Slot(tedf, 10, 80, 36)); + this.addSlotToContainer(new Slot(tedf, 11, 98, 36)); + this.addSlotToContainer(new Slot(tedf, 12, 8, 54)); + this.addSlotToContainer(new Slot(tedf, 13, 26, 54)); + this.addSlotToContainer(new Slot(tedf, 14, 44, 54)); + this.addSlotToContainer(new Slot(tedf, 15, 62, 54)); + this.addSlotToContainer(new Slot(tedf, 16, 80, 54)); + this.addSlotToContainer(new Slot(tedf, 17, 98, 54)); + this.addSlotToContainer(new Slot(tedf, 18, 8, 72)); + this.addSlotToContainer(new Slot(tedf, 19, 26, 72)); + this.addSlotToContainer(new Slot(tedf, 20, 44, 72)); + this.addSlotToContainer(new Slot(tedf, 21, 62, 72)); + this.addSlotToContainer(new Slot(tedf, 22, 80, 72)); + this.addSlotToContainer(new Slot(tedf, 23, 98, 72)); + this.addSlotToContainer(new Slot(tedf, 24, 8, 90)); + this.addSlotToContainer(new Slot(tedf, 25, 26, 90)); + this.addSlotToContainer(new Slot(tedf, 26, 44, 90)); + this.addSlotToContainer(new Slot(tedf, 27, 62, 90)); + this.addSlotToContainer(new Slot(tedf, 28, 80, 90)); + this.addSlotToContainer(new Slot(tedf, 29, 98, 90)); + this.addSlotToContainer(new Slot(tedf, 30, 8, 108)); + this.addSlotToContainer(new Slot(tedf, 31, 26, 108)); + this.addSlotToContainer(new Slot(tedf, 32, 44, 108)); + this.addSlotToContainer(new Slot(tedf, 33, 62, 108)); + this.addSlotToContainer(new Slot(tedf, 34, 80, 108)); + this.addSlotToContainer(new Slot(tedf, 35, 98, 108)); + this.addSlotToContainer(new Slot(tedf, 36, 134, 108)); + this.addSlotToContainer(new Slot(tedf, 37, 152, 108)); + this.addSlotToContainer(new Slot(tedf, 38, 116, 63)); + + for(int i = 0; i < 3; i++) + { + for(int j = 0; j < 9; j++) + { + this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18 + 56)); + } + } + + for(int i = 0; i < 9; i++) + { + this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142 + 56)); + } + } + + @Override + public void addCraftingToCrafters(ICrafting crafting) { + super.addCraftingToCrafters(crafting); + crafting.sendProgressBarUpdate(this, 0, this.diFurnace.waste); + crafting.sendProgressBarUpdate(this, 1, this.diFurnace.power); + } + + @Override + public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) + { + ItemStack var3 = null; + Slot var4 = (Slot) this.inventorySlots.get(par2); + + if (var4 != null && var4.getHasStack()) + { + ItemStack var5 = var4.getStack(); + var3 = var5.copy(); + + if (par2 <= 38) { + if (!this.mergeItemStack(var5, 39, this.inventorySlots.size(), true)) + { + return null; + } + } else { + return null; + } + + if (var5.stackSize == 0) + { + var4.putStack((ItemStack) null); + } + else + { + var4.onSlotChanged(); + } + } + + return var3; + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return diFurnace.isUseableByPlayer(player); + } + + @Override + public void detectAndSendChanges() { + super.detectAndSendChanges(); + + for(int i = 0; i < this.crafters.size(); i++) + { + ICrafting par1 = (ICrafting)this.crafters.get(i); + + if(this.water != this.diFurnace.waste) + { + par1.sendProgressBarUpdate(this, 0, this.diFurnace.waste); + } + + if(this.power != this.diFurnace.power) + { + par1.sendProgressBarUpdate(this, 1, this.diFurnace.power); + } + } + + this.water = this.diFurnace.waste; + this.power = this.diFurnace.power; + } + + @Override + public void updateProgressBar(int i, int j) { + if(i == 0) + { + diFurnace.waste = j; + } + if(i == 1) + { + diFurnace.power = j; + } + } +} diff --git a/com/hbm/gui/GUIWatzCore.java b/com/hbm/gui/GUIWatzCore.java new file mode 100644 index 000000000..73c506777 --- /dev/null +++ b/com/hbm/gui/GUIWatzCore.java @@ -0,0 +1,52 @@ +package com.hbm.gui; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.TileEntityReactorMultiblock; +import com.hbm.blocks.TileEntityWatzCore; +import com.hbm.lib.RefStrings; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.inventory.GuiContainer; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.util.ResourceLocation; + +public class GUIWatzCore extends GuiContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_watz_multiblock.png"); + private TileEntityWatzCore diFurnace; + + public GUIWatzCore(InventoryPlayer invPlayer, TileEntityWatzCore tedf) { + super(new ContainerWatzCore(invPlayer, tedf)); + diFurnace = tedf; + + this.xSize = 176; + //this.ySize = 222; + this.ySize = 256; + } + + @Override + protected void drawGuiContainerForegroundLayer(int i, int j) { + String name = this.diFurnace.hasCustomInventoryName() ? this.diFurnace.getInventoryName() : I18n.format(this.diFurnace.getInventoryName()); + + this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); + this.fontRendererObj.drawString(I18n.format("container.inventory")/* + String.valueOf(diFurnace.powerList)*/, 8, this.ySize - 96 + 2 - 34, 4210752); + this.fontRendererObj.drawString(String.valueOf(diFurnace.powerList + " HE/tick"), 8, this.ySize - 50 + 2 + 13, 4210752); + this.fontRendererObj.drawString(String.valueOf(diFurnace.heatList + " heat"), 8, this.ySize - 50 + 2 + 22, 4210752); + this.fontRendererObj.drawString(String.valueOf((diFurnace.decayMultiplier * diFurnace.heat)/100 + " waste/tick"), 8, this.ySize - 50 + 2 + 31, 4210752); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + int j = diFurnace.getWaterScaled(88); + drawTexturedModalRect(guiLeft + 134, guiTop + 106 - j, 176, 88 - j, 16, j); + + int l = diFurnace.getPowerScaled(88); + drawTexturedModalRect(guiLeft + 152, guiTop + 106 - l, 192, 88 - l, 16, l); + } +} diff --git a/com/hbm/handler/BucketHandler.java b/com/hbm/handler/BucketHandler.java new file mode 100644 index 000000000..b9c0e0f59 --- /dev/null +++ b/com/hbm/handler/BucketHandler.java @@ -0,0 +1,47 @@ +package com.hbm.handler; + +import java.util.HashMap; +import java.util.Map; + +import cpw.mods.fml.common.eventhandler.Event.Result; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import net.minecraft.block.Block; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.world.World; +import net.minecraftforge.event.entity.player.FillBucketEvent; + +public class BucketHandler { + + public static BucketHandler INSTANCE = new BucketHandler(); + public Map buckets = new HashMap(); + + private BucketHandler() { + } + + @SubscribeEvent + public void onBucketFill(FillBucketEvent event) { + + ItemStack result = fillCustomBucket(event.world, event.target); + + if (result == null) + return; + + event.result = result; + event.setResult(Result.ALLOW); + } + + private ItemStack fillCustomBucket(World world, MovingObjectPosition pos) { + + Block block = world.getBlock(pos.blockX, pos.blockY, pos.blockZ); + + Item bucket = buckets.get(block); + if (bucket != null && world.getBlockMetadata(pos.blockX, pos.blockY, pos.blockZ) == 0) { + world.setBlockToAir(pos.blockX, pos.blockY, pos.blockZ); + return new ItemStack(bucket); + } else + return null; + + } +} diff --git a/com/hbm/items/ItemCapacitor.java b/com/hbm/items/ItemCapacitor.java index 6523bcb2c..87bb8a26d 100644 --- a/com/hbm/items/ItemCapacitor.java +++ b/com/hbm/items/ItemCapacitor.java @@ -16,32 +16,36 @@ public class ItemCapacitor extends Item { this.setMaxDamage(dura); this.setNoRepair(); } - + @Override - public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) - { - list.add("Right-click a block to negate positive charge."); - list.add("Does not work in creative mode!"); + public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { + if (this == ModItems.redcoil_capacitor) { + list.add("Right-click a block to negate positive charge."); + list.add("Does not work in creative mode!"); + list.add("[Needed for Schrabidium Synthesis]"); + } + if (this == ModItems.titanium_filter) { + list.add("[Needed for Watz Reaction]"); + } } @Override - public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int p_77648_7_, float p_77648_8_, float p_77648_9_, float p_77648_10_) - { - if(!player.isSneaking()) - { - if(stack.getItemDamage() > 0) - { - stack.setItemDamage((stack.getItemDamage() - 1)); - if(!world.isRemote) - { - world.createExplosion(null, x + 0.5, y + 0.5, z + 0.5, 2.5F, true); + public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int p_77648_7_, + float p_77648_8_, float p_77648_9_, float p_77648_10_) { + if (this == ModItems.redcoil_capacitor) { + if (!player.isSneaking()) { + if (stack.getItemDamage() > 0) { + stack.setItemDamage((stack.getItemDamage() - 1)); + if (!world.isRemote) { + world.createExplosion(null, x + 0.5, y + 0.5, z + 0.5, 2.5F, true); + } + world.spawnEntityInWorld(new EntityLightningBolt(world, x, y, z)); + + return true; } - world.spawnEntityInWorld(new EntityLightningBolt(world, x, y, z)); - - return true; } } - + return false; - } + } } diff --git a/com/hbm/items/ItemModBucket.java b/com/hbm/items/ItemModBucket.java new file mode 100644 index 000000000..524f10cb7 --- /dev/null +++ b/com/hbm/items/ItemModBucket.java @@ -0,0 +1,12 @@ +package com.hbm.items; + +import net.minecraft.block.Block; +import net.minecraft.item.ItemBucket; + +public class ItemModBucket extends ItemBucket { + + public ItemModBucket(Block p_i45331_1_) { + super(p_i45331_1_); + } + +} diff --git a/com/hbm/items/ItemTankWaste.java b/com/hbm/items/ItemTankWaste.java new file mode 100644 index 000000000..4b561c7ba --- /dev/null +++ b/com/hbm/items/ItemTankWaste.java @@ -0,0 +1,56 @@ +package com.hbm.items; + +import java.util.List; + +import com.hbm.lib.RefStrings; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.MathHelper; + +public class ItemTankWaste extends Item { + + @SideOnly(Side.CLIENT) + private IIcon[] field_150920_d; + + public ItemTankWaste() { + this.hasSubtypes = true; + this.setMaxDamage(0); + } + + @SideOnly(Side.CLIENT) + public IIcon getIconFromDamage(int p_77617_1_) + { + int j = MathHelper.clamp_int(p_77617_1_, 0, 8); + return this.field_150920_d[j]; + } + + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister p_94581_1_) + { + this.field_150920_d = new IIcon[9]; + + for (int i = 0; i < field_150920_d.length; ++i) + { + this.field_150920_d[i] = p_94581_1_.registerIcon(RefStrings.MODID + ":tank_waste_" + i); + } + } + @SideOnly(Side.CLIENT) + public void getSubItems(Item p_150895_1_, CreativeTabs p_150895_2_, List p_150895_3_) + { + for (int i = 0; i < 9; ++i) + { + p_150895_3_.add(new ItemStack(p_150895_1_, 1, i)); + } + } + public String getUnlocalizedName(ItemStack p_77667_1_) + { + int i = MathHelper.clamp_int(p_77667_1_.getItemDamage(), 0, 9); + return super.getUnlocalizedName() + "_" + i; + } +} diff --git a/com/hbm/items/ModItems.java b/com/hbm/items/ModItems.java index 75664f3e3..422eb139b 100644 --- a/com/hbm/items/ModItems.java +++ b/com/hbm/items/ModItems.java @@ -1,14 +1,21 @@ package com.hbm.items; +import com.hbm.blocks.ModBlocks; +import com.hbm.handler.BucketHandler; import com.hbm.lib.RefStrings; import com.hbm.main.MainRegistry; import cpw.mods.fml.common.registry.GameRegistry; import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.Item.ToolMaterial; import net.minecraft.item.ItemArmor.ArmorMaterial; import net.minecraft.item.ItemSoup; +import net.minecraft.item.ItemStack; +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.fluids.FluidContainerRegistry; +import net.minecraftforge.fluids.FluidStack; public class ModItems { @@ -55,6 +62,10 @@ public class ModItems { public static Item nugget_schrabidium_fuel; public static Item ingot_advanced_alloy; public static Item lithium; + public static Item ingot_hes; + public static Item ingot_les; + public static Item nugget_hes; + public static Item nugget_les; public static Item nugget_uranium; public static Item nugget_u235; @@ -156,6 +167,15 @@ public class ModItems { public static Item pellet_rtg; public static Item tritium_deuterium_cake; + + public static Item pellet_schrabidium; + public static Item pellet_hes; + public static Item pellet_mes; + public static Item pellet_les; + public static Item pellet_beryllium; + public static Item pellet_neptunium; + public static Item pellet_lead; + public static Item pellet_advanced; public static Item cell_empty; public static Item cell_uf6; @@ -379,6 +399,9 @@ public class ModItems { public static Item energy_core; public static Item fuse; public static Item redcoil_capacitor; + public static Item titanium_filter; + + public static Item tank_waste; public static Item factory_core_titanium; public static Item factory_core_advanced; @@ -484,6 +507,8 @@ public class ModItems { public static Item igniter; public static Item detonator; + public static Item bucket_mud; + public static Item smoke1; public static Item smoke2; public static Item smoke3; @@ -579,6 +604,10 @@ public class ModItems { nugget_schrabidium = new ItemCustomLore().setUnlocalizedName("nugget_schrabidium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_schrabidium"); nugget_beryllium = new Item().setUnlocalizedName("nugget_beryllium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_beryllium"); hazmat_cloth = new Item().setUnlocalizedName("hazmat_cloth").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":hazmat_cloth"); + ingot_hes = new Item().setUnlocalizedName("ingot_hes").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_hes"); + ingot_les = new Item().setUnlocalizedName("ingot_les").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_les"); + nugget_hes = new Item().setUnlocalizedName("nugget_hes").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_hes"); + nugget_les = new Item().setUnlocalizedName("nugget_les").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_les"); powder_lead = new Item().setUnlocalizedName("powder_lead").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":powder_lead"); powder_neptunium = new Item().setUnlocalizedName("powder_neptunium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":powder_neptunium"); @@ -670,6 +699,8 @@ public class ModItems { canister_empty = new ItemCustomLore().setUnlocalizedName("canister_empty").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":canister_empty"); canister_fuel = new ItemCustomLore().setUnlocalizedName("canister_fuel").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_fuel"); canister_napalm = new ItemCustomLore().setUnlocalizedName("canister_napalm").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_napalm"); + + tank_waste = new ItemTankWaste().setUnlocalizedName("tank_waste").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts); syringe_empty = new Item().setUnlocalizedName("syringe_empty").setFull3D().setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":syringe_empty"); syringe_antidote = new ItemSyringe().setUnlocalizedName("syringe_antidote").setFull3D().setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":syringe_antidote"); @@ -769,6 +800,15 @@ public class ModItems { powder_poison = new ItemCustomLore().setUnlocalizedName("powder_poison").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":powder_poison"); pellet_gas = new ItemCustomLore().setUnlocalizedName("pellet_gas").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":pellet_gas"); + pellet_schrabidium = new WatzFuel(50000, 140000, 0.975F, 200, 1.05F, 1.05F).setUnlocalizedName("pellet_schrabidium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":pellet_schrabidium").setMaxStackSize(1); + pellet_hes = new WatzFuel(108000, 65000, 1F, 85, 1, 1.025F).setUnlocalizedName("pellet_hes").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":pellet_hes").setMaxStackSize(1); + pellet_mes = new WatzFuel(216000, 23000, 1.025F, 50, 1, 1F).setUnlocalizedName("pellet_mes").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":pellet_mes").setMaxStackSize(1); + pellet_les = new WatzFuel(432000, 7000, 1.05F, 15, 1, 0.975F).setUnlocalizedName("pellet_les").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":pellet_les").setMaxStackSize(1); + pellet_beryllium = new WatzFuel(864000, 50, 0.995F, 0, 0.95F, 1.025F).setUnlocalizedName("pellet_beryllium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":pellet_beryllium").setMaxStackSize(1); + pellet_neptunium = new WatzFuel(216000, 3000, 1.075F, 25, 1.025F, 1.01F).setUnlocalizedName("pellet_neptunium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":pellet_neptunium").setMaxStackSize(1); + pellet_lead = new WatzFuel(1728000, 0, 0.975F, 0, 0.975F, 0.975F).setUnlocalizedName("pellet_lead").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":pellet_lead").setMaxStackSize(1); + pellet_advanced = new WatzFuel(216000, 1000, 1.1F, 0, 0.995F, 0.975F).setUnlocalizedName("pellet_advanced").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":pellet_advanced").setMaxStackSize(1); + designator = new ItemDesingator().setUnlocalizedName("designator").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":designator"); missile_generic = new Item().setUnlocalizedName("missile_generic").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":missile_generic"); missile_anti_ballistic = new Item().setUnlocalizedName("missile_anti_ballistic").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":missile_anti_ballistic"); @@ -864,11 +904,12 @@ public class ModItems { energy_core = new ItemBattery(5000).setUnlocalizedName("energy_core").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":energy_core"); fuse = new ItemCustomLore().setUnlocalizedName("fuse").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":fuse"); redcoil_capacitor = new ItemCapacitor(10).setUnlocalizedName("redcoil_capacitor").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":redcoil_capacitor"); + titanium_filter = new ItemCapacitor(72000).setUnlocalizedName("titanium_filter").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":titanium_filter"); factory_core_titanium = new ItemBattery(70400).setUnlocalizedName("factory_core_titanium").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":factory_core_titanium"); factory_core_advanced = new ItemBattery(41600).setUnlocalizedName("factory_core_advanced").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":factory_core_advanced"); - wand = new ItemWand().setUnlocalizedName("wand").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setFull3D().setTextureName(RefStrings.MODID + ":wand"); + wand = new ItemWand().setUnlocalizedName("wand_k").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setFull3D().setTextureName(RefStrings.MODID + ":wand"); wand_s = new ItemWandS().setUnlocalizedName("wand_s").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setFull3D().setTextureName(RefStrings.MODID + ":wand_s"); nuke_starter_kit = new ItemStarterKit().setUnlocalizedName("nuke_starter_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":nuke_starter_kit"); @@ -969,6 +1010,8 @@ public class ModItems { euphemium_stopper = new ItemSyringe().setUnlocalizedName("euphemium_stopper").setMaxStackSize(1).setFull3D().setTextureName(RefStrings.MODID + ":euphemium_stopper"); matchstick = new ItemMatch().setUnlocalizedName("matchstick").setCreativeTab(CreativeTabs.tabTools).setFull3D().setTextureName(RefStrings.MODID + ":matchstick"); + bucket_mud = new ItemModBucket(ModBlocks.mud_block).setUnlocalizedName("bucket_mud").setContainerItem(Items.bucket).setCreativeTab(MainRegistry.tabBlock).setTextureName(RefStrings.MODID + ":bucket_mud"); + smoke1 = new Item().setUnlocalizedName("smoke1").setTextureName(RefStrings.MODID + ":smoke1"); smoke2 = new Item().setUnlocalizedName("smoke2").setTextureName(RefStrings.MODID + ":smoke2"); smoke3 = new Item().setUnlocalizedName("smoke3").setTextureName(RefStrings.MODID + ":smoke3"); @@ -985,6 +1028,10 @@ public class ModItems { b_smoke6 = new Item().setUnlocalizedName("b_smoke6").setTextureName(RefStrings.MODID + ":b_smoke6"); b_smoke7 = new Item().setUnlocalizedName("b_smoke7").setTextureName(RefStrings.MODID + ":b_smoke7"); b_smoke8 = new Item().setUnlocalizedName("b_smoke8").setTextureName(RefStrings.MODID + ":b_smoke8"); + + FluidContainerRegistry.registerFluidContainer(new FluidStack(ModBlocks.mud_fluid, 1000), new ItemStack(ModItems.bucket_mud)); + BucketHandler.INSTANCE.buckets.put(ModBlocks.mud_block, ModItems.bucket_mud); + MinecraftForge.EVENT_BUS.register(BucketHandler.INSTANCE); } private static void registerItem() { @@ -1032,6 +1079,8 @@ public class ModItems { GameRegistry.registerItem(ingot_plutonium_fuel, ingot_plutonium_fuel.getUnlocalizedName()); GameRegistry.registerItem(ingot_mox_fuel, ingot_mox_fuel.getUnlocalizedName()); GameRegistry.registerItem(ingot_schrabidium_fuel, ingot_schrabidium_fuel.getUnlocalizedName()); + GameRegistry.registerItem(ingot_hes, ingot_hes.getUnlocalizedName()); + GameRegistry.registerItem(ingot_les, ingot_les.getUnlocalizedName()); //Dusts & Other GameRegistry.registerItem(lithium, lithium.getUnlocalizedName()); @@ -1062,6 +1111,8 @@ public class ModItems { GameRegistry.registerItem(nugget_plutonium_fuel, nugget_plutonium_fuel.getUnlocalizedName()); GameRegistry.registerItem(nugget_mox_fuel, nugget_mox_fuel.getUnlocalizedName()); GameRegistry.registerItem(nugget_schrabidium_fuel, nugget_schrabidium_fuel.getUnlocalizedName()); + GameRegistry.registerItem(nugget_hes, nugget_hes.getUnlocalizedName()); + GameRegistry.registerItem(nugget_les, nugget_les.getUnlocalizedName()); //Plates GameRegistry.registerItem(plate_titanium, plate_titanium.getUnlocalizedName()); @@ -1159,6 +1210,16 @@ public class ModItems { GameRegistry.registerItem(pellet_cluster, pellet_cluster.getUnlocalizedName()); GameRegistry.registerItem(pellet_gas, pellet_gas.getUnlocalizedName()); + //Watz Pellets + GameRegistry.registerItem(pellet_schrabidium, pellet_schrabidium.getUnlocalizedName()); + GameRegistry.registerItem(pellet_hes, pellet_hes.getUnlocalizedName()); + GameRegistry.registerItem(pellet_mes, pellet_mes.getUnlocalizedName()); + GameRegistry.registerItem(pellet_les, pellet_les.getUnlocalizedName()); + GameRegistry.registerItem(pellet_beryllium, pellet_beryllium.getUnlocalizedName()); + GameRegistry.registerItem(pellet_neptunium, pellet_neptunium.getUnlocalizedName()); + GameRegistry.registerItem(pellet_lead, pellet_lead.getUnlocalizedName()); + GameRegistry.registerItem(pellet_advanced, pellet_advanced.getUnlocalizedName()); + //Cells GameRegistry.registerItem(cell_empty, cell_empty.getUnlocalizedName()); GameRegistry.registerItem(cell_uf6, cell_uf6.getUnlocalizedName()); @@ -1176,6 +1237,9 @@ public class ModItems { GameRegistry.registerItem(inf_tritium, inf_tritium.getUnlocalizedName()); GameRegistry.registerItem(inf_sulfur, inf_sulfur.getUnlocalizedName()); GameRegistry.registerItem(inf_diesel, inf_diesel.getUnlocalizedName()); + + //Large Tanks + GameRegistry.registerItem(tank_waste, tank_waste.getUnlocalizedName()); //Canisters GameRegistry.registerItem(canister_empty, canister_empty.getUnlocalizedName()); @@ -1193,6 +1257,7 @@ public class ModItems { GameRegistry.registerItem(factory_core_advanced, factory_core_advanced.getUnlocalizedName()); GameRegistry.registerItem(fuse, fuse.getUnlocalizedName()); GameRegistry.registerItem(redcoil_capacitor, redcoil_capacitor.getUnlocalizedName()); + GameRegistry.registerItem(titanium_filter, titanium_filter.getUnlocalizedName()); //Fuelrods GameRegistry.registerItem(rod_empty, rod_empty.getUnlocalizedName()); @@ -1498,6 +1563,9 @@ public class ModItems { GameRegistry.registerItem(t45_kit, t45_kit.getUnlocalizedName()); GameRegistry.registerItem(euphemium_kit, euphemium_kit.getUnlocalizedName()); + //THIS is a bucket. + GameRegistry.registerItem(bucket_mud, bucket_mud.getUnlocalizedName()); + //Technical Items GameRegistry.registerItem(smoke1, smoke1.getUnlocalizedName()); GameRegistry.registerItem(smoke2, smoke2.getUnlocalizedName()); diff --git a/com/hbm/items/WatzFuel.java b/com/hbm/items/WatzFuel.java new file mode 100644 index 000000000..41b014aa4 --- /dev/null +++ b/com/hbm/items/WatzFuel.java @@ -0,0 +1,46 @@ +package com.hbm.items; + +import java.util.List; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +public class WatzFuel extends Item { + + public int power; + public float powerMultiplier; + public int heat; + public float heatMultiplier; + public float decayMultiplier; + + /** + * Constructor for a new Watz fuel pellet + * @param lifeTime + * @param power + * @param powerMultiplier + * @param heat + * @param heatMultiplier + * @param decayMultiplier + */ + + public WatzFuel(int lifeTime, int power, float powerMultiplier, int heat, float heatMultiplier, float decayMultiplier) { + this.setMaxDamage(lifeTime * 100); + this.power = power/10; + this.powerMultiplier = powerMultiplier; + this.heat = heat; + this.heatMultiplier = heatMultiplier; + this.decayMultiplier = decayMultiplier; + } + + @Override + public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) + { + list.add("Max age: " + (this.getMaxDamage()/100) + " ticks"); + list.add("Power per tick: " + (power) + "HE"); + list.add("Power multiplier: " + (powerMultiplier >= 1 ? "+" : "") + (Math.round(powerMultiplier * 1000) * .10 - 100) + "%"); + list.add("Heat provided: " + heat + " heat"); + list.add("Heat multiplier: " + (heatMultiplier >= 1 ? "+" : "") + (Math.round(heatMultiplier * 1000) * .10 - 100) + "%"); + list.add("Decay Multiplier: " + (decayMultiplier >= 1 ? "+" : "") + (Math.round(decayMultiplier * 1000) * .10 - 100) + "%"); + } +} diff --git a/com/hbm/lib/Library.java b/com/hbm/lib/Library.java index 32a3d05b4..f10b81c48 100644 --- a/com/hbm/lib/Library.java +++ b/com/hbm/lib/Library.java @@ -193,7 +193,8 @@ public class Library { world.getBlock(x, y, z) == ModBlocks.fusion_center || world.getBlock(x, y, z) == ModBlocks.reactor_conductor || world.getBlock(x, y, z) == ModBlocks.factory_titanium_conductor || - world.getBlock(x, y, z) == ModBlocks.factory_advanced_conductor) + world.getBlock(x, y, z) == ModBlocks.factory_advanced_conductor || + world.getBlock(x, y, z) == ModBlocks.watz_conductor) { return true; } diff --git a/com/hbm/lib/ModDamageSource.java b/com/hbm/lib/ModDamageSource.java index f520f8b15..4f8c1429d 100644 --- a/com/hbm/lib/ModDamageSource.java +++ b/com/hbm/lib/ModDamageSource.java @@ -10,6 +10,7 @@ import net.minecraft.util.EntityDamageSourceIndirect; public class ModDamageSource extends DamageSource { public static DamageSource nuclearBlast = (new DamageSource("nuclearBlast")).setExplosion(); + public static DamageSource mudPoisoning = (new DamageSource("mudPoisoning")).setDamageBypassesArmor(); public ModDamageSource(String p_i1566_1_) { super(p_i1566_1_); diff --git a/com/hbm/main/CraftingManager.java b/com/hbm/main/CraftingManager.java index 21f83aa1a..f3d596607 100644 --- a/com/hbm/main/CraftingManager.java +++ b/com/hbm/main/CraftingManager.java @@ -33,7 +33,7 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(ModItems.plate_schrabidium, 16), new Object[] { "TT", "TT", 'T', ModItems.ingot_schrabidium}); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.plate_gold, 16), new Object[] { "TT", "TT", 'T', "ingotGold" })); GameRegistry.addRecipe(new ItemStack(ModItems.plate_advanced_alloy, 16), new Object[] { "TT", "TT", 'T', ModItems.ingot_advanced_alloy}); - GameRegistry.addRecipe(new ItemStack(ModItems.wire_red_copper, 6), new Object[] { "CCC", 'S', Items.string, 'C', ModItems.ingot_red_copper }); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.wire_red_copper, 6), new Object[] { "CCC", 'S', Items.string, 'C', "ingotRedstoneAlloy" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.wire_tungsten, 6), new Object[] { "CCC", 'S', Items.string, 'C', "ingotTungsten" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.wire_aluminium, 6), new Object[] { "CCC", 'S', Items.string, 'C', "ingotAluminum" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.wire_copper, 6), new Object[] { "CCC", 'S', Items.string, 'C', "ingotCopper" })); @@ -347,23 +347,23 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_difurnace_off), 1), new Object[] { "AHA", "TCT", "TPT", 'T', "plateTitanium", 'A', "plateAluminum", 'S', "plateSteel", 'C', "ingotCopper", 'P', Item.getItemFromBlock(Blocks.piston), 'H', Item.getItemFromBlock(Blocks.hopper) })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_centrifuge), 1), new Object[] { " T ", "RDR", "RSR", 'S', "plateSteel", 'T', ModItems.centrifuge_tower, 'W', ModItems.coil_tungsten, 'R', ModItems.coil_copper, 'D', Item.getItemFromBlock(ModBlocks.machine_difurnace_off) })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_uf6_tank), 1), new Object[] { "WTW", "WTW", "SRS", 'S', "plateTitanium", 'W', ModItems.coil_tungsten, 'T', ModItems.tank_steel, 'W', ModItems.coil_tungsten,'R', ModItems.ingot_red_copper })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_puf6_tank), 1), new Object[] { "WTW", "WTW", "SRS", 'S', "plateSteel", 'W', ModItems.coil_tungsten, 'T', ModItems.tank_steel, 'W', ModItems.coil_tungsten,'R', ModItems.ingot_red_copper })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_uf6_tank), 1), new Object[] { "WTW", "WTW", "SRS", 'S', "plateTitanium", 'W', ModItems.coil_tungsten, 'T', ModItems.tank_steel, 'W', ModItems.coil_tungsten,'R', "ingotRedstoneAlloy" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_puf6_tank), 1), new Object[] { "WTW", "WTW", "SRS", 'S', "plateSteel", 'W', ModItems.coil_tungsten, 'T', ModItems.tank_steel, 'W', ModItems.coil_tungsten,'R', "ingotRedstoneAlloy" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_reactor), 1), new Object[] { "LSL", "SCS", "LSL", 'S', "ingotSteel", 'L', "ingotLead", 'C', ModItems.reactor_core })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_nuke_furnace_off), 1), new Object[] { "SSS", "SFS", "CCC", 'S', "plateSteel", 'C', "plateCopper", 'F', Item.getItemFromBlock(Blocks.furnace) })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_rtg_furnace_off), 1), new Object[] { "NNN", "NFN", "UUU", 'N', "plateDenseLead", 'U', ModItems.rtg_unit, 'F', Item.getItemFromBlock(Blocks.furnace) })); GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_electric_furnace_off), 1), new Object[] { "BBB", "WFW", "RRR", 'B', ModItems.ingot_beryllium, 'R', ModItems.coil_tungsten, 'W', ModItems.wire_red_copper, 'F', Item.getItemFromBlock(Blocks.furnace) }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_generator), 1), new Object[] { "SLS", "LCL", "SLS", 'C', ModItems.circuit_red_copper, 'L', ModItems.rod_quad_lead, 'S', "ingotSteel" })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.red_wire_coated), 16), new Object[] { "WRW", "RIR", "WRW", 'W', "ingotTungsten", 'I', ModItems.ingot_red_copper, 'R', ModItems.wire_red_copper })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.red_cable), 16), new Object[] { "WRW", "RIR", "WRW", 'W', "plateSteel", 'I', ModItems.ingot_red_copper, 'R', ModItems.wire_red_copper })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.red_wire_coated), 16), new Object[] { "WRW", "RIR", "WRW", 'W', "ingotTungsten", 'I', "ingotRedstoneAlloy", 'R', ModItems.wire_red_copper })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.red_cable), 16), new Object[] { "WRW", "RIR", "WRW", 'W', "plateSteel", 'I', "ingotRedstoneAlloy", 'R', ModItems.wire_red_copper })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_deuterium), 1), new Object[] { "TIT", "RFR", "CCC", 'T', ModItems.tank_steel, 'I', "ingotTitanium", 'R', ModItems.wire_red_copper, 'F', Item.getItemFromBlock(ModBlocks.machine_difurnace_off), 'C', ModItems.coil_tungsten })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_battery), 1), new Object[] { "TST", "RIR", "TLT", 'T', "ingotTungsten", 'I', ModItems.ingot_red_copper, 'R', ModItems.wire_red_copper, 'S', "blockSulfur", 'L', "blockLead" })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_battery), 1), new Object[] { "TLT", "RIR", "TST", 'T', "ingotTungsten", 'I', ModItems.ingot_red_copper, 'R', ModItems.wire_red_copper, 'S', "blockSulfur", 'L', "blockLead" })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_coal_off), 1), new Object[] { "STS", "SCS", "SFS", 'S', "ingotSteel", 'T', ModItems.tank_steel, 'C', ModItems.ingot_red_copper, 'F', Item.getItemFromBlock(ModBlocks.machine_electric_furnace_off) })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_battery), 1), new Object[] { "TST", "RIR", "TLT", 'T', "ingotTungsten", 'I', "ingotRedstoneAlloy", 'R', ModItems.wire_red_copper, 'S', "blockSulfur", 'L', "blockLead" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_battery), 1), new Object[] { "TLT", "RIR", "TST", 'T', "ingotTungsten", 'I', "ingotRedstoneAlloy", 'R', ModItems.wire_red_copper, 'S', "blockSulfur", 'L', "blockLead" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_coal_off), 1), new Object[] { "STS", "SCS", "SFS", 'S', "ingotSteel", 'T', ModItems.tank_steel, 'C', "ingotRedstoneAlloy", 'F', Item.getItemFromBlock(ModBlocks.machine_electric_furnace_off) })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_converter_he_rf), 1), new Object[] { "SSS", "CRC", "SSS", 'S', "ingotSteel", 'C', ModItems.coil_copper, 'R', ModItems.coil_copper_torus })); GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_converter_rf_he), 1), new Object[] { "SSS", "CRC", "SSS", 'S', ModItems.ingot_beryllium, 'C', ModItems.coil_copper, 'R', ModItems.coil_copper_torus }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_schrabidium_transmutator), 1), new Object[] { "TST", "ARA", "BBB", 'S', ModItems.nugget_schrabidium , 'T', "ingotTitanium", 'A', Item.getItemFromBlock(ModBlocks.factory_advanced_hull), 'R', Item.getItemFromBlock(ModBlocks.machine_reactor), 'B', Item.getItemFromBlock(ModBlocks.machine_battery) })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_diesel), 1), new Object[] { "HTH", "PRP", "SFS", 'S', "ingotSteel", 'T', ModItems.tank_steel, 'H', ModItems.hull_small_steel, 'P', Item.getItemFromBlock(Blocks.piston), 'R', ModItems.ingot_red_copper, 'F', Item.getItemFromBlock(ModBlocks.machine_electric_furnace_off) })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_diesel), 1), new Object[] { "HTH", "PRP", "SFS", 'S', "ingotSteel", 'T', ModItems.tank_steel, 'H', ModItems.hull_small_steel, 'P', Item.getItemFromBlock(Blocks.piston), 'R', "ingotRedstoneAlloy", 'F', Item.getItemFromBlock(ModBlocks.machine_electric_furnace_off) })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.factory_titanium_hull), 1), new Object[] { "PIP", "I I", "PIP", 'P', "plateTitanium", 'I', "ingotTitanium" })); GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.factory_titanium_furnace), 1), new Object[] { "HMH", "MFM", "HMH", 'H', Item.getItemFromBlock(ModBlocks.factory_titanium_hull), 'M', ModItems.motor, 'F', Item.getItemFromBlock(Blocks.furnace) }); @@ -406,7 +406,7 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.tape_recorder), 4), new Object[] { "TST", "SSS", 'T', "ingotTungsten", 'S', "ingotSteel" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.steel_poles), 16), new Object[] { "S S", "SSS", "S S", 'S', "ingotSteel" })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.pole_top), 1), new Object[] { "T T", "TRT", "BBB", 'T', "ingotTungsten", 'B', ModItems.ingot_beryllium, 'R', ModItems.ingot_red_copper })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.pole_top), 1), new Object[] { "T T", "TRT", "BBB", 'T', "ingotTungsten", 'B', ModItems.ingot_beryllium, 'R', "ingotRedstoneAlloy" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.pole_satellite_receiver), 1), new Object[] { "SS ", "SCR", "SS ", 'S', "ingotSteel", 'C', ModItems.circuit_red_copper, 'R', ModItems.wire_red_copper })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.steel_beam), 8), new Object[] { "S", "S", "S", 'S', "ingotSteel" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.steel_wall), 4), new Object[] { "SSS", "SSS", 'S', "ingotSteel" })); @@ -616,7 +616,7 @@ public class CraftingManager { GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_aluminium), new ItemStack(ModItems.ingot_aluminium), 2.5F); GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_lead), new ItemStack(ModItems.ingot_lead), 3.0F); GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_beryllium), new ItemStack(ModItems.ingot_beryllium), 2.0F); - GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_schrabidium), new ItemStack(ModItems.ingot_schrabidium), 120.0F); + GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_schrabidium), new ItemStack(ModItems.ingot_schrabidium), 126.0F); GameRegistry.addSmelting(ModItems.powder_lead, new ItemStack(ModItems.ingot_lead), 1.0F); GameRegistry.addSmelting(ModItems.powder_neptunium, new ItemStack(ModItems.ingot_neptunium), 1.0F); @@ -624,5 +624,6 @@ public class CraftingManager { GameRegistry.addSmelting(Items.bone, new ItemStack(Items.slime_ball, 3), 1.5F); GameRegistry.addSmelting(new ItemStack(Items.dye, 1, 15), new ItemStack(Items.slime_ball, 1), 0.5F); + GameRegistry.addSmelting(ModItems.tank_waste, new ItemStack(ModItems.tank_waste), 0); } } diff --git a/com/hbm/main/GUIHandler.java b/com/hbm/main/GUIHandler.java index 43b90bd56..2b3aef160 100644 --- a/com/hbm/main/GUIHandler.java +++ b/com/hbm/main/GUIHandler.java @@ -31,6 +31,7 @@ import com.hbm.blocks.TileEntityNukeTsar; import com.hbm.blocks.TileEntityReactorMultiblock; import com.hbm.blocks.TileEntityRtgFurnace; import com.hbm.blocks.TileEntityTestNuke; +import com.hbm.blocks.TileEntityWatzCore; import com.hbm.gui.ContainerBombMulti; import com.hbm.gui.ContainerDiFurnace; import com.hbm.gui.ContainerCentrifuge; @@ -61,6 +62,7 @@ import com.hbm.gui.ContainerReactorMultiblock; import com.hbm.gui.ContainerRtgFurnace; import com.hbm.gui.ContainerTestNuke; import com.hbm.gui.ContainerUF6Tank; +import com.hbm.gui.ContainerWatzCore; import com.hbm.gui.GUIBombMulti; import com.hbm.gui.GUIConverterHeRf; import com.hbm.gui.GUIConverterRfHe; @@ -91,6 +93,7 @@ import com.hbm.gui.GUIReactorMultiblock; import com.hbm.gui.GUIRtgFurnace; import com.hbm.gui.GUITestDiFurnace; import com.hbm.gui.GUITestNuke; +import com.hbm.gui.GUIWatzCore; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; @@ -345,6 +348,14 @@ public class GUIHandler implements IGuiHandler { return new ContainerMachineDiesel(player.inventory, (TileEntityMachineDiesel) entity); } } + + case ModBlocks.guiID_watz_multiblock: + { + if(entity instanceof TileEntityWatzCore) + { + return new ContainerWatzCore(player.inventory, (TileEntityWatzCore) entity); + } + } } return null; } @@ -597,6 +608,14 @@ public class GUIHandler implements IGuiHandler { return new GUIMachineDiesel(player.inventory, (TileEntityMachineDiesel) entity); } } + + case ModBlocks.guiID_watz_multiblock: + { + if(entity instanceof TileEntityWatzCore) + { + return new GUIWatzCore(player.inventory, (TileEntityWatzCore) entity); + } + } } } return null; diff --git a/com/hbm/main/MainRegistry.java b/com/hbm/main/MainRegistry.java index 25b490d89..777ebe649 100644 --- a/com/hbm/main/MainRegistry.java +++ b/com/hbm/main/MainRegistry.java @@ -61,6 +61,7 @@ import com.hbm.blocks.TileEntityTestBombAdvanced; import com.hbm.blocks.TileEntityTestContainer; import com.hbm.blocks.TileEntityTestNuke; import com.hbm.blocks.TileEntityTestRender; +import com.hbm.blocks.TileEntityWatzCore; import com.hbm.blocks.TileEntityWireCoated; import com.hbm.blocks.TileEntityYellowBarrel; import com.hbm.creativetabs.BlockTab; @@ -265,6 +266,7 @@ public class MainRegistry GameRegistry.registerTileEntity(TileEntityConverterRfHe.class, "tileentity_converter_rfhe"); GameRegistry.registerTileEntity(TileEntityMachineSchrabidiumTransmutator.class, "tileentity_schrabidium_transmutator"); GameRegistry.registerTileEntity(TileEntityMachineDiesel.class, "tileentity_diesel_generator"); + GameRegistry.registerTileEntity(TileEntityWatzCore.class, "tileentity_watz_powerplant"); EntityRegistry.registerModEntity(EntityRocket.class, "entity_rocket", 0, this, 250, 1, true); EntityRegistry.registerModEntity(EntityNukeExplosion.class, "entity_nuke_explosion", 1, this, 250, 1, true); @@ -340,6 +342,7 @@ public class MainRegistry OreDictionary.registerOre("dustNeptunium", ModItems.powder_neptunium); OreDictionary.registerOre("ingotCopper", ModItems.ingot_copper); OreDictionary.registerOre("ingotRedAlloy", ModItems.ingot_red_copper); + OreDictionary.registerOre("ingotRedstoneAlloy", ModItems.ingot_red_copper); OreDictionary.registerOre("ingotTungsten", ModItems.ingot_tungsten); OreDictionary.registerOre("ingotAluminum", ModItems.ingot_aluminium); OreDictionary.registerOre("ingotNeptunium", ModItems.ingot_neptunium); @@ -395,12 +398,6 @@ public class MainRegistry OreDictionary.registerOre("blockFluorite", ModBlocks.block_fluorite); OreDictionary.registerOre("blockSteel", ModBlocks.block_steel); OreDictionary.registerOre("blockLead", ModBlocks.block_lead); - - /*achievementGetTitanium = new Achievement("achievement.getTitanium", "getTitanium", 0, -8, ModItems.ingot_titanium, (Achievement)null).initIndependentStat().registerStat(); - - AchievementPage.registerAchievementPage(new AchievementPage("Nuclear Tech", new Achievement[] { - achievementGetTitanium - }));*/ } @EventHandler