From e4a9ab8a172a20a5101a6ef6a56e8f91a858194a Mon Sep 17 00:00:00 2001 From: HbmMods Date: Sat, 15 Dec 2018 20:46:16 +0100 Subject: [PATCH] more BW textures, radioactive machine retexture, concrete, N45 GUI tex --- assets/hbm/lang/en_US.lang | 2 +- .../hbm/textures/blocks/barbed_wire_acid.png | Bin 0 -> 223 bytes .../hbm/textures/blocks/barbed_wire_fire.png | Bin 0 -> 220 bytes .../textures/blocks/barbed_wire_poison.png | Bin 0 -> 224 bytes .../blocks/barbed_wire_ultradeath.png | Bin 0 -> 215 bytes .../textures/blocks/barbed_wire_wither.png | Bin 0 -> 188 bytes .../{block_concrete.png => concrete.png} | Bin assets/hbm/textures/blocks/fusion_hatch.png | Bin 519 -> 537 bytes .../hbm/textures/blocks/fusion_hatch_alt.png | Bin 0 -> 581 bytes .../textures/blocks/fusion_heater_side.png | Bin 442 -> 502 bytes .../blocks/fusion_heater_side_alt.png | Bin 0 -> 514 bytes .../blocks/fusion_heater_side_alt2.png | Bin 0 -> 442 bytes .../blocks/fusion_heater_side_base.png | Bin 0 -> 265 bytes .../hbm/textures/blocks/fusion_heater_top.png | Bin 0 -> 288 bytes .../blocks/machine_nuke_furnace_base.png | Bin 0 -> 377 bytes .../blocks/machine_nuke_furnace_base_alt.png | Bin 0 -> 452 bytes .../machine_nuke_furnace_front_off_alt.png | Bin 0 -> 410 bytes .../machine_nuke_furnace_front_on_alt.png | Bin 0 -> 455 bytes .../blocks/machine_nuke_furnace_side_alt.png | Bin 0 -> 386 bytes .../textures/blocks/machine_panel_base.png | Bin 0 -> 415 bytes .../textures/blocks/machine_reactor_decal.png | Bin 0 -> 512 bytes .../blocks/machine_reactor_front_off.png | Bin 0 -> 424 bytes .../blocks/machine_reactor_front_on.png | Bin 0 -> 478 bytes .../textures/blocks/machine_reactor_top.png | Bin 0 -> 442 bytes .../blocks/machine_rtg_furnace_base.png | Bin 0 -> 392 bytes .../blocks/machine_rtg_furnace_base_alt.png | Bin 0 -> 459 bytes .../blocks/machine_rtg_furnace_off_alt.png | Bin 0 -> 434 bytes .../blocks/machine_rtg_furnace_on_alt.png | Bin 0 -> 448 bytes .../blocks/machine_rtg_furnace_side_alt.png | Bin 0 -> 393 bytes ...{reactor_side.png => reactor_side_alt.png} | Bin .../{reactor_top.png => reactor_top_alt.png} | Bin assets/hbm/textures/gui/gui_n45.png | Bin 0 -> 1912 bytes com/hbm/blocks/ModBlocks.java | 11 +- com/hbm/blocks/bomb/NukeN2.java | 1 - com/hbm/blocks/bomb/NukeN45.java | 73 +++++ com/hbm/blocks/generic/DecoBlock.java | 2 +- com/hbm/blocks/machine/BlockReactor.java | 2 +- com/hbm/blocks/machine/MachineDiFurnace.java | 1 + .../blocks/machine/MachineNukeFurnace.java | 11 +- com/hbm/blocks/machine/MachineReactor.java | 52 +++- com/hbm/blocks/machine/MachineRtgFurnace.java | 11 +- .../entity/logic/EntityNukeExplosionMK4.java | 2 +- .../handler/nei/AssemblerRecipeHandler.java | 2 +- com/hbm/main/ClientProxy.java | 3 +- com/hbm/main/CraftingManager.java | 2 +- com/hbm/main/MainRegistry.java | 4 +- com/hbm/main/ModEventHandler.java | 1 - com/hbm/packet/AuxGaugePacket.java | 6 + com/hbm/render/block/RenderRoofBlock.java | 52 ++++ com/hbm/render/tileentity/RenderNukeN45.java | 6 +- com/hbm/render/util/ProntingUtility.java | 13 + .../tileentity/bomb/TileEntityNukeN45.java | 258 +++++++++++++++++- .../machine/TileEntityMachineReactor.java | 3 + .../TileEntityMachineReactorSmall.java | 4 +- 54 files changed, 486 insertions(+), 36 deletions(-) create mode 100644 assets/hbm/textures/blocks/barbed_wire_acid.png create mode 100644 assets/hbm/textures/blocks/barbed_wire_fire.png create mode 100644 assets/hbm/textures/blocks/barbed_wire_poison.png create mode 100644 assets/hbm/textures/blocks/barbed_wire_ultradeath.png create mode 100644 assets/hbm/textures/blocks/barbed_wire_wither.png rename assets/hbm/textures/blocks/{block_concrete.png => concrete.png} (100%) create mode 100644 assets/hbm/textures/blocks/fusion_hatch_alt.png create mode 100644 assets/hbm/textures/blocks/fusion_heater_side_alt.png create mode 100644 assets/hbm/textures/blocks/fusion_heater_side_alt2.png create mode 100644 assets/hbm/textures/blocks/fusion_heater_side_base.png create mode 100644 assets/hbm/textures/blocks/fusion_heater_top.png create mode 100644 assets/hbm/textures/blocks/machine_nuke_furnace_base.png create mode 100644 assets/hbm/textures/blocks/machine_nuke_furnace_base_alt.png create mode 100644 assets/hbm/textures/blocks/machine_nuke_furnace_front_off_alt.png create mode 100644 assets/hbm/textures/blocks/machine_nuke_furnace_front_on_alt.png create mode 100644 assets/hbm/textures/blocks/machine_nuke_furnace_side_alt.png create mode 100644 assets/hbm/textures/blocks/machine_panel_base.png create mode 100644 assets/hbm/textures/blocks/machine_reactor_decal.png create mode 100644 assets/hbm/textures/blocks/machine_reactor_front_off.png create mode 100644 assets/hbm/textures/blocks/machine_reactor_front_on.png create mode 100644 assets/hbm/textures/blocks/machine_reactor_top.png create mode 100644 assets/hbm/textures/blocks/machine_rtg_furnace_base.png create mode 100644 assets/hbm/textures/blocks/machine_rtg_furnace_base_alt.png create mode 100644 assets/hbm/textures/blocks/machine_rtg_furnace_off_alt.png create mode 100644 assets/hbm/textures/blocks/machine_rtg_furnace_on_alt.png create mode 100644 assets/hbm/textures/blocks/machine_rtg_furnace_side_alt.png rename assets/hbm/textures/blocks/{reactor_side.png => reactor_side_alt.png} (100%) rename assets/hbm/textures/blocks/{reactor_top.png => reactor_top_alt.png} (100%) create mode 100644 assets/hbm/textures/gui/gui_n45.png create mode 100644 com/hbm/render/block/RenderRoofBlock.java create mode 100644 com/hbm/render/util/ProntingUtility.java diff --git a/assets/hbm/lang/en_US.lang b/assets/hbm/lang/en_US.lang index 7a28f5226..85ab6084a 100644 --- a/assets/hbm/lang/en_US.lang +++ b/assets/hbm/lang/en_US.lang @@ -1394,7 +1394,7 @@ item.euphemium_legs.name=Euphemium Leggings item.euphemium_boots.name=Euphemiums Boots item.schrabidium_helmet.name=Schrabidium Helmet -item.schrabidium_plate.name=Schrabidium Chestpate +item.schrabidium_plate.name=Schrabidium Chestplate item.schrabidium_legs.name=Schrabidium Leggings item.schrabidium_boots.name=Schrabidium Boots item.schrabidium_sword.name=Schrabidium Sword diff --git a/assets/hbm/textures/blocks/barbed_wire_acid.png b/assets/hbm/textures/blocks/barbed_wire_acid.png new file mode 100644 index 0000000000000000000000000000000000000000..a1e3a9c91ca7033be8063d2d8e40848c4bd74e23 GIT binary patch literal 223 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf@WFB>UQq%knu@ITd0{SG`{JY@P7p7q-mY7V^8R*In46 z5pkgOWC~-vl*g9r|-mM<~!oH Rvw+TH@O1TaS?83{1ONdtQkwt( literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/blocks/barbed_wire_poison.png b/assets/hbm/textures/blocks/barbed_wire_poison.png new file mode 100644 index 0000000000000000000000000000000000000000..0c590f40a1d4b4cc07200b8960b11cfaa682f3c7 GIT binary patch literal 224 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfaSXBO zT^hWTx50qNW`(9Po7Ze!0pkh=x6?dpc5H9UHx3vIVCg!0QI0zT>t<8 literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/blocks/barbed_wire_ultradeath.png b/assets/hbm/textures/blocks/barbed_wire_ultradeath.png new file mode 100644 index 0000000000000000000000000000000000000000..ab385176e96f214ce011e84b5d23909cf0836f4f GIT binary patch literal 215 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfrcdsuL=D52dR|5|FKASzEHpn>3UQXoAQ6+;Dj=xlN~KU7Oaz z(`OpnoA&Pcv9o&9qC|#5xe4s#KQd^H&2Cy jS01iga&AKWDy2Ky|AoH4Qt~eqXg!0ctDnm{r-UW|^esoO literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/blocks/block_concrete.png b/assets/hbm/textures/blocks/concrete.png similarity index 100% rename from assets/hbm/textures/blocks/block_concrete.png rename to assets/hbm/textures/blocks/concrete.png diff --git a/assets/hbm/textures/blocks/fusion_hatch.png b/assets/hbm/textures/blocks/fusion_hatch.png index 26c92b04add7bea44d23cd544b4608a2aca3517b..e69ca19b6794d3fb669a260c00ec84bba853f123 100644 GIT binary patch delta 523 zcmV+m0`&cd1epYo8Gi-<001BJ|6u?C00eVFNmK|32nc)#WQYI&0nkZAK~y-6eUrg! z8bK7se{W{@VA(}c2n`{M;6-Z^a_G6XB7Z^&m zQ??S!W;4&A-+%98jKNw<6h*Y#ZHl5GNfOrUvenIIL$C3H@Avm5KxGL)9LF@9O{}%F zS}mM&7-Q)7`~K!Qj#)iD`8I>f&uSyfGX57uQJ{kWC~Xe*)lJj%2w=C{0bs2~YfYAA zm_28_h@Cj5Uaxarhf$Ud1*)E{G5-@9TmI{=bUG` zSS$#>U0qRFOPZ!^w_C>Ju|Ei)wZ<6Z0YrqmB;j+f$LQjM;CZ#Gp!qYM^7G;0Xzurg zu3XEFAvcELE=k@!_}-p#j$e1cwBW8Gix*005AYXf^-<00DDSM?wIu&K&6g000DMK}|sb0I`n?{9y$E z000SaNLh0L01m?d01m?e$8V@)0000ObVXQnQ*UN;cVTj60B~VxZgehgWpp4kE-)@R zY%_jN0004aNklX^r&DYk$IIn%wOVbr+ayWCFx>otlUEDU6fDEx5J_p8ep}>u zUKGXGAME#gdVj;|IF4#G8hC@j;BYudSg542oJavWO#wn7!CSA_m&@gRK0}4gvW&bB zi^XE$d0w;Gq_tsSCa8kpcDt2jdA(k-(pvy0478?3(OU*`I-RQc6QU@3NNTs+)WL%! zl+^gNKo8oG#E4MNh!xpLn$PDj-0yc(Aql5yZo%zg0CDEwWJ>%TkH;$h1STd0<_^4t zfXAW}uy3{5?RE@Tz-y8^nM_Di?-oH2%w{uYg*+hJg<{CLt2i)_X_ilxrw)k2F!1YN ua`4R^*jVT&V`MTeKtL>qShLv{TI(N&-Byw2gI-1e0000 diff --git a/assets/hbm/textures/blocks/fusion_hatch_alt.png b/assets/hbm/textures/blocks/fusion_hatch_alt.png new file mode 100644 index 0000000000000000000000000000000000000000..e11433175a8c7e0fbd35fa471b5ae50878d64f94 GIT binary patch literal 581 zcmV-L0=oT)P)e|dR9M94W~ttID-)|$)9%Y!=WoI`6(N{QRsTby$!rMSAfqN*xF z2q>jWgHnq7`+ER-y&m@M?TzE(W0X?VbXSb)=L4SS%Je=cuX*r4-*s{rZ(14u^yg2qCauukqfKQlhSFrqd}R!u$I>tJMmC z&1S>r=O??}Zm)uKuBgy74X3B4q?9;2J1Z*8X0!5g(=?o%oN#n>g!dksb7s5UVy#7M zjdSjw+KWiZB7*Jpdc+v%x{i;Jj~@UrMgUSu7-MkGv0AN&F)|zu_au%+BWAN1qtS@T zWKs-cjA66c8~_dm1KPHwZCe(L1vaI`cDrT0UXyeF(eOR~c4E#MdvS3AfOC$n>v(v0 zI4Cs6;JrVP@A2`G>2%8Z`8jqnnUon{Utd`+ml$J8v53%h9U_8K3avHPTAHSzu4~lY z-CZ6G28CU%^+9orv6$xTOesZ-aj!zZ-^Y7T&bcuCUn6D|k T=;}N600000NkvXXu0mjfBjpQ8 literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/blocks/fusion_heater_side.png b/assets/hbm/textures/blocks/fusion_heater_side.png index 6a918e5bdecb2b903de6aa85b58563a83865dec8..53e7c77c35ea41025ebb98e03de29cb00b8ad768 100644 GIT binary patch delta 487 zcmVNlv7L}puqy}FyO>?| zu$H1-+yQ|!n)&9_HyRlZhfYK&%M#}t07|KFR!SivIOizK5`O^a93p~-8Fdq9`be0wDOh-Rdba z8jajO1|q`ui+>9~931fL;Q^>b{dRs%D@nL}d;~znEr}OEnx-Mqx6u2b>W+>Rnu-Gy z(f{z4XdQr6OgRSIMZm7IPrx~{JP&a}#K~lWF@_)4*HsmzSgux}6un;W9drkHb$Q7j zYtggW3=s+HT5D@`x7#iA`8=@ve0mymSS%LE?ahrV%3u;}Enf}~`8k~i!J69mnGg}a zo}KZ@81!{9Fra4$?lKbB^CnPnC#SmIcaw68(xn;=dpw dD5X$J@egR8-F^tV0b>9F002ovPDHLkV1fiW-+cf8 delta 427 zcmV;c0aX6>1G)o{8Gix*005AYXf^-<00DDSM?wIu&K&6g000DMK}|sb0I`n?{9y$E z000SaNLh0L01m?d01m?e$8V@)0000ObVXQnQ*UN;cVTj60B~VxZgehgWpp4kE-)@R zY%_jN0003iNkloECDn$gHi*d%C zkH>M%IrsE$NH!khIQD%%3>$)z>5?fUjj>z-ewqG<&qa+*(ARYv4S(bHOu{Y0w zG)=KdlF)UUrk4PxM%;BBl2CFS$9bL~7qRCBGwEVkmf^K+i-36Y2k7(#@L z1@w||o@Z2{kbl;G0y{yKtX8z|J1w;$&;(jjWAxBMbcPSgpx}GRDalq81$E59-r8OR zgnF+P5z@kl(eN2~T)YP)iG64SP!qQlU;G4}BF5Y1zd=7s(11Th3xPJQq+;0>IVKJI zU)mMucIl&0C5H)Q`pd^qzo6?t4$Hv5Lvrx_H*jMaM!{z5oiL V^?EqbX0`wT002ovPDHLkV1g*su$%w@ diff --git a/assets/hbm/textures/blocks/fusion_heater_side_alt.png b/assets/hbm/textures/blocks/fusion_heater_side_alt.png new file mode 100644 index 0000000000000000000000000000000000000000..37bd68a8ff7e0f0707f5fe99b22bac53886d6515 GIT binary patch literal 514 zcmV+d0{#7oP)73 z&*y{?@TyAFG!*F=n~30Nvl%f)`o7OOh%rvY>-#?EZ zFkr2n0*#qOeY@S_oWrlzYk-{d^ZAT(E>9MbtijksM5ybU+uK{r!^4A)b^#eMf@6$1 zG(We9FJ|2iP&!Z}Bb5%2xv&y;1!HxvdOoR3l%&j0`b07*qoM6N<$ Ef&r`Pi~s-t literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/blocks/fusion_heater_side_alt2.png b/assets/hbm/textures/blocks/fusion_heater_side_alt2.png new file mode 100644 index 0000000000000000000000000000000000000000..428ddac9e73b874b1d21bdbe1de0313514f0efc4 GIT binary patch literal 442 zcmV;r0Y(0aP)v`es1A- zJo5d15fQxiq?GX96JrD@U}pRM9#utECkB1r0~C6T#RBjBKdS*)d`f9zdp@7D(Gw9? zs})_>(Y7tBN=gY;rD+KaSXBO ztqt}TYf<3w{`?^B&VQG6D^?rK+?Qm=wdJgP&(<(EmT&h?_%JY>+^p8w;gFW}o|oZ- zj|+@$R$Uv*%rH7-aINo?V-qW!sZt`ma zDz$gr{J5UgL@})6>}!@u5_t>7JkqAV|Mr62ZjD)p^{w>l4>slhoWpqU$tLU2C+}}* z2w(G$m}y;c{)g6&TbHX!ICn34x9IQP=I51t>3=)rmb6{T@n}+sJN{!WV_byjE1+K( NJYD@<);T3K0RTugZXN&t literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/blocks/fusion_heater_top.png b/assets/hbm/textures/blocks/fusion_heater_top.png new file mode 100644 index 0000000000000000000000000000000000000000..e5f351655001fd2b45cffa7c64f167a5ec54fbd9 GIT binary patch literal 288 zcmV+*0pI?KP)v=x| zz|_{ksuY8orROFuR-JocmnsRWh5wOL-HHed+wlhAZk1^T`w3w0JALOqTrkkvAiEsz zf7xh|YSoI}9Hc2$YSq@7lk~wx(gRTG_0Fp>;I?hg5Z?~`+9L@`81?5_4Xn$nZvf9# mKF@P%th)R4t+SB?N%#Xi;kEVHC2BnY0000!^mT;Cy; z%jM$ZI3gmXl*l=ws)z{gPLzl+3EzCaz3ANcSMB$%H0=$@AsSA?M5!80PuW1 zQB_h(xI1P>N(lf}U4WHRcsw2eMmu`$kF*8x=R zIcG!!GplkcfV*$D55s_}GS71bSl0sJa5(JJU-w&2Hjtmsr_$R?C3+EaUJt2i1!!Yy z0os0!k3IK8bHus_puwQ)Iz$8!spr=1_8~18thc&5<2V9vI-P)T8WC}O+1-B<;P+sH ze&ioBDWw`|1!zrd`>w600000NkvXXu0mjf=0Kqs literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/blocks/machine_nuke_furnace_base_alt.png b/assets/hbm/textures/blocks/machine_nuke_furnace_base_alt.png new file mode 100644 index 0000000000000000000000000000000000000000..4965db40852e37c1550633800cf7c4ecf7447784 GIT binary patch literal 452 zcmV;#0XzPQP)=RgPuz=8V z;&V8hTkLKOvIIgRK&aEyfr`1XU%M zh~T}aED^!BS}l6L9;%9nP$yNb0C&3`%jFWArYQj1?G|GUK@gy-On$sp08bx}MVzK7 zo6QCQn>A`3;BFi$eEJH*v<)YbahI5YYojbG8y>mF{ zm`pFe7ipa>d5~y1y#kAEezl8AqtV}@T^#_ zLx@5i-bWRH3-D0?A5QM+A&Ce60j%c8`0+c2N>GKLaZ|aDeA{`VFhXfKr zcW28^5!u*xFpc+CyW^Slo@_Ro(6%iig4P;i3`!|Pgb)G|B0|$Nods(LTT1_V)R ze#SU{=QAlR4UDpG;fU3-%QUCw|07*qoM6N<$ Eg2bA!2mk;8 literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/blocks/machine_nuke_furnace_front_on_alt.png b/assets/hbm/textures/blocks/machine_nuke_furnace_front_on_alt.png new file mode 100644 index 0000000000000000000000000000000000000000..2ceb49badef6a15d91978967735be54a1c5df367 GIT binary patch literal 455 zcmV;&0XY7NP)N7-O*3qN;=tu+{=#j48;x_w05% z09;H~RYl+TM8X^)1OSF%z!*aafe^xzg}m_o{^3mvITnle$xb4OiHGlh0Qm6hON!t9 zxZ&T=zbr1H`F2x~jR*i1m+<&}0yNL@eAd%Y&ZL}9R(Lv{n9q9VvmPLw5%HN#{&cZv zS)J9ycv&gSN=Lh3qV(6MADd&-)kQb5>!O0`befv3E;`z_O$~YTh~VX|zrTJ4pswNW z({0M;}EPgKMy=Sx86jBS1t{hX}pZ7sT_z!}Zy*~R#YnuQ7002ovPDHLkV1ne!&#M3c literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/blocks/machine_nuke_furnace_side_alt.png b/assets/hbm/textures/blocks/machine_nuke_furnace_side_alt.png new file mode 100644 index 0000000000000000000000000000000000000000..d7231553915b05f394a2b54333f01d1390e51091 GIT binary patch literal 386 zcmV-|0e$|7P))#0PdZ3wDc@#r`3Gx3!%Xi^x?F@jjT@V#zhh z>YgTKNIuS-No2d-dfT>$2q6SwjHoIig1eI>B0L@sa)}6WKA*GMY;bo(gm-fH0(iUK zI3AD0VHg0oTrQ|8Aq3nVGb4lmfT|X-VHh}{&j7?!oXuu*T}J}uGBW`BzDHFtGtBI_ zh5X=t|NXXwT5}$+HShsG|gDA--0IVDg9TFe4n=qJRMA@)0Y|4YYiyI2ox#Tc5AsiF{gcfeLl%C zj!!$C2_ew;{rIrlotTH1kH^fIOeVB#3ow4R1TR{+Uay=^r+@7xNN(TVe?QaVa44)6 gJ;pMouImcm54|zob2FBU4gdfE07*qoM6N<$f>wo`)yk{UyYR!~g?Z1f^}_e?X3!^55jz zm#fdVJDpDYdcAPY5o09Ah=|~vLsc<2=SV5xoNIEj-|smdkCalHq7e+Glt%FRd~&&5 zkZGC#xZm%D5C|cls+3X)ApjsE&Et8Vx!rExnk9!}U>rwEDV1mf%d!A4O%ovma?a$O zzZM!lQa=$9hG768r365X5$7Dsveb_1i&6?^$BLcZ@U!$?|rSQDzYWn7Jz2*hAm%=G|%%7**x1?*MGLWH^tp&_Yrs*0-ee!l@Y91g&D8@6KOSS;(q$vM}!>$1gh6otRpofWor*L_NwF%RI<5@nPokqatBM}ZW}9T2F3 zgaCmeBs-+yMd<9t&j7fwWJ_^p+54m2wRVTX?8aj`f>WKDx#!$_XYPoTlP5ZkV}uYm zj)UVkNGTCQptYui5P~oa5keSy((^pp?KVYG7>8v*iJ~YBLxAykjLfnOfW=~gZQIzk zjn+4S_rD&ci_R&05D5bUuv_@-<@B3K0JsN`J+k<=`Run}5TwT3Gsk_X- zejFX-N-1t`J_8U00ha5!_qsQaZ|}`6guwGWWcgIvi#s|Pyk7YlR@K3I{}rSo#6zlcdz3m1#j$?f7BuVbt5`sVF*T*%S2j=(y0000N2bZe?^J zG%hhr@5TQB00AgTL_t(IPmPkhZo)tiMfV#}8vlU50tt(!A;^y;PLYHn6(A~vEh-}@ zD4@$9=U8_&v783!Xf-=KcV>2W-F#jQ2G3EnoJ{h?;yp<|()5#6V2?)Wc$^7hTv2>q zuRjkG$8U}tSi9YEzptz60vN(<8ALXM;V?naj_aUYfS})xeT7cq)9DW80c1pS;XeT` zp$PMI1>7A0n@8|1DTlH`S)OHd{20xpv+ToXE literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/blocks/machine_reactor_front_on.png b/assets/hbm/textures/blocks/machine_reactor_front_on.png new file mode 100644 index 0000000000000000000000000000000000000000..251866f18bc24142a535b5096c0500b31ea5a475 GIT binary patch literal 478 zcmV<40U`d0P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02XvbSaefwW^{L9 za%BK;VQFr3E^cLXAT%y9Oz*}20003|Nkl@8D{^2>r^_%*;y48iLEB;wnF*>@7r}8{0m%gj%H?)m zp^$j9c?azQWJEIXp8%I25!zD}FgpT1P9bkea!6K)qOBMOKSnmR@89T)V<`Kdd`m$P zkLNRxreQLPxJIUPbLK5kVey*A`z>H3$s4dD5gdb{)jCto=rUMG;m0FjOjiq%Q3QeH z23awJX0xvS`(@ToCsvCSxffqklaM8FNGl5Jui1J(vp-y zBZDEx9-nN2bZe?^J zG%hhr@5TQB00BBlL_t(IPkoZfZo*IuMc;=Z5itgeGBiyW9aOPpMnDH>)Rtk|8V%-?Y{T> z9|MoTzukTrzJKM&!NqX+G?}dD^K3SIl>w{O$8z~DrqfN5Jmi8}EkJ;4G)v0AipsY3oFtH4XR5d2jsYD$0-LB4$If#LoI0Ro$k=2&TTU^~n{ k^G^C>h@8Ow3(xBv0oKGj3KX#k#Q*>R07*qoM6N<$f{paF+5i9m literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/blocks/machine_rtg_furnace_base.png b/assets/hbm/textures/blocks/machine_rtg_furnace_base.png new file mode 100644 index 0000000000000000000000000000000000000000..ad0165c2af250e28546f7ceb9b69bffb5710cd48 GIT binary patch literal 392 zcmV;30eAk1P)nmvuj>lH z{eDMPan1pdbFO3WeYbhrHg31ut5zn*ab%una?W*O0c_g_z`CxeDk&vWNb>8 zY6Y~(7kxr2pbe%Ln^4>Cv_GhRcDo(UIh=EK+&aiPS4cbWTTA7(P16Lx;cx(6ZEW4N z4tz^1mjm8yY^AC!%TjYNv)(~_Wm8Io5ULvysqJgq>dlPDdu!h^N|0000F;w_gpAYRn_9>d0%LvqYhWZ6?5AdrX2 zx)s> z!hAkQM4ViZ&*!OBDyXXS^H{3t0H@O_gTa6x3_}1WlL@}><9Qwczn@X10Z-NBuGIx)Em z?0;(aM}RLErASo|7VaKz!Suh+?Dv#i%^eBWm{9I{+4k!rQ7g+hVR zXq0N@lopG{?lJZIeaG8AR#h^YjPtauwFg@wyaN-&t+z%_n+N~^002ovPDHLkV1nat B*)0G7 literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/blocks/machine_rtg_furnace_off_alt.png b/assets/hbm/textures/blocks/machine_rtg_furnace_off_alt.png new file mode 100644 index 0000000000000000000000000000000000000000..f3190713562121a2804485d59610091e42db9268 GIT binary patch literal 434 zcmV;j0ZsmiP)g2b5Qd+@PC$yP{TV$_4y7D=*nEC#bTk}dqf0lZCWCNsuD#+IG@jm$iQZ+s$#iZqN;<-v8d{R z@OV73*=(>O1OS|K7-N`BCIEC@mvn3G0NgYUyWQ?~7mc&ojJmGrx-LD81WnTb5JJEh zL)*5rZ960o5sdjY3VWD_wbB03+oBRZzrFnd;Q9G?(jOmRcz^#(2!W@kSBiq~31X=E z9`$%O#(X6hKfGKnUkL8WBtJyZxYuzP5xn>J31X#liQouw&H<#Bs%oFYbULN3J46KM z9Nzl`$iX=QfUH(4ozLf-PA5J;`$FcP$MWzX?Du=T_t>1RDC(q_Wl2>{2S8&C*XuQP zOjWUY!Sa!9+m^B{QxvyBGyfg+gJ4ya!{NYoyS*FkPok=~&$M2zlOexURf?h*eC@jK c(-aZ@0j;Io&qO<_$p8QV07*qoM6N<$f};w=yZ`_I literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/blocks/machine_rtg_furnace_on_alt.png b/assets/hbm/textures/blocks/machine_rtg_furnace_on_alt.png new file mode 100644 index 0000000000000000000000000000000000000000..e1d3c1844ddac97a266c042bde80d57978d6476b GIT binary patch literal 448 zcmV;x0YCnUP)R;v}Zswx0>yB)?D27>_rP16Kytxd#rU9;J2+FD1BMkC6yq-mP) zV`os;H2_srVT{3hkM}+`5D|=dxM@4xhP564uje|@t^Dih6@c%5e+2ye_QLOPKj9vp z|Gbc8z3JfA0D$`_$M~^@#+Z)=iTDxD=W{E#ibB4L#2|>q5jl?X7@TvT8+0d~#8n(b zlQwl%s;d1V4u?a^vS~$=t7sCLML3zz#bTk;>6GK~$oqSAkbG>ni@Q5vyWQfP!^Un| zRtB8sIYlu{gvJ;ymrJ-YRmH~hACIi}o;=S(7ww>#>q7k?SXE`e-?Lt?KW+D`P}TM^ qEtktc#6?vl%d+HYmu0_A5#c|oF}9*M_)Lia0000Q;3?L=03=2)=$dcEo}3?L$iNce~dstOMxLf`iwq9`U+RpEBKK~{SE4VW2OmH_~kWeL8BMC5s%@p`@1Js&)sP8i1#%d&)nUSOVQ0Kha&U}iYy;GByE zhzQJIN!oE4B0g@nn0Nfmm&*lZS>pYEAKJREVaz6)r2;AGd_G5O0AS|d0v;*ZS{sR^ z$o?XiWf{oU+7KUx;aI?T`bcEIUYn@F27#g|4ttQ=y#N46I(>Cr2R}{MW1oTS)r=W~ zpXWKMs)&fpjL+v2{+O!98SF>aIfp#YLl*0x@y|uuAc(4>ZCgB_&%<>8gQ~8N>3+XQ nwRvAvVT_5M_Bd{35)r-uL!0Am{`39#00000NkvXXu0mjfTj{CR literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/blocks/reactor_side.png b/assets/hbm/textures/blocks/reactor_side_alt.png similarity index 100% rename from assets/hbm/textures/blocks/reactor_side.png rename to assets/hbm/textures/blocks/reactor_side_alt.png diff --git a/assets/hbm/textures/blocks/reactor_top.png b/assets/hbm/textures/blocks/reactor_top_alt.png similarity index 100% rename from assets/hbm/textures/blocks/reactor_top.png rename to assets/hbm/textures/blocks/reactor_top_alt.png diff --git a/assets/hbm/textures/gui/gui_n45.png b/assets/hbm/textures/gui/gui_n45.png new file mode 100644 index 0000000000000000000000000000000000000000..2c8b470af7410d95c42d24de2e67ff8f206a523c GIT binary patch literal 1912 zcmcIldsNbQ6#xDhDw>Me(XD1-up*aszXa$p?Q3@)e!)HFLbDGd;-i!^2DcEjKQ{h080}9pov^Oi___@84fcFaV zXNh3eossr1qfXj1t)HI$@!*(vPOm6sqUROun9w2nBx(q_gcaRobUx3pky39^XXlNo zn!!?|u^pq`(N}Pf6qPUm4q-&nBO7~sx=2~4#rZnV zl$0M;%#DJ<(PVM0tGQ}&Ypql*kmszaT*S-0(jrr{g)v{mw~h_Lj*4sdO>{n`YKwc7 zp^zy{bu(^f9$vn}I@_yzAZb7Z`S8m98Q61}I=bWNd_P#eWD8cujn zXXkWhHLmWwm^e45C>3tX+#cm^5!vZJJRHQRkKMNBiZ(@(BIxo!qtUo@K}D!96xkU* zTaqWIm@pv__WJ&4pjaO1sCA0`TO*ExzsIMNs9m_)LCNsMX?@D zv(4PGi#RSyycgr_=uS07#)r^BeLkDERPV`m!r1mF^B>q!Pi~;X1=YI>1v*V;Gq%xSiqA=;RB$;#v&-Eg}zuMx((d z;8d_nc1o^?TJh}%6X@nLdZR909l1=ckX&2Frv;``gqpN)GR6_q-QVASJz%ywZeDa0 z|9<90;iOu7A?^$bhp`7a9@E)FuZB6_j}DIXAH(&^o=8=TcYbZhlO`?USVFRlJftO0 z%{H*2W7?xc>9V#UtSy~E6R=-YthMe?w{if@laHef>qNq{hA^cMharxi+tFxtO~h##kllKmG~Hj8MN5VNA!BB%@FUBNu~u zLg9Sa#bs5Q2t(kyU|l@+F{5;!$jL>?oW?~Pgv4lK!VgLmA# zYVsNAPUb}<)4n<2fCN%PMI;BPTQjH6YJSi5=wwr9JvtCk)TV^GH|dx;gr7e`I>RFR z8l71aveg7cQQ+m3FyDy9NF-7iUqgRE?X$^DsX-qR*A{3yJv&TpuOhdyaoDE;mV)|NC+C0q=na-g3`fCN2SHNA?zg+{mfpUc^7I*+c*f zIq?7BhMxS)hpNc|=DL0v_il0Bwc9@atp?2iZ_uk)=F_!2S(Chy>38d8qwCuu{?$x) zLj_gusycM_+4!cOLUu(T7OOKDaoCa3cxfJC==1B>GRQz< zaVSL6!H`cMJHcLKJnA74s$j|G+3c^XVBRhZ<_tTWJX+}X?^Avg_ziOAM`zxno%I_o zjL!Vn1cYq2`;D{tfI;1^FWoVFCPbOD6{zTzF3SoNgQ+W069HIpucg% ktc0R{$MntpFS3p}Z?UKpX&V+u!7el)g^+`91u@S33K_N=g8%>k literal 0 HcmV?d00001 diff --git a/com/hbm/blocks/ModBlocks.java b/com/hbm/blocks/ModBlocks.java index ea9638894..7f94e595b 100644 --- a/com/hbm/blocks/ModBlocks.java +++ b/com/hbm/blocks/ModBlocks.java @@ -130,6 +130,7 @@ public class ModBlocks { public static Block reinforced_lamp_off; public static Block reinforced_lamp_on; + public static Block concrete; public static Block brick_concrete; public static Block brick_obsidian; public static Block brick_light; @@ -263,6 +264,7 @@ public class ModBlocks { public static final int guiID_nuke_n2 = 61; public static Block nuke_n45; + public static final int guiID_nuke_n45 = 77; public static Block bomb_multi; public static final int guiID_bomb_multi = 10; @@ -289,8 +291,9 @@ public class ModBlocks { public static Block machine_puf6_tank; public static final int guiID_puf6_tank = 8; - + public static Block machine_reactor; + public static Block machine_reactor_on; public static final int guiID_reactor = 9; public static Block machine_nuke_furnace_off; @@ -703,6 +706,7 @@ public class ModBlocks { reinforced_lamp_off = new ReinforcedLamp(Material.rock, false).setBlockName("reinforced_lamp_off").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(1000.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_lamp_off"); reinforced_lamp_on = new ReinforcedLamp(Material.rock, true).setBlockName("reinforced_lamp_on").setHardness(15.0F).setResistance(1000.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_lamp_on"); + concrete = new BlockGeneric(Material.rock).setBlockName("concrete").setCreativeTab(MainRegistry.blockTab).setLightOpacity(15).setHardness(15.0F).setResistance(4000.0F).setBlockTextureName(RefStrings.MODID + ":concrete"); brick_concrete = new BlockGeneric(Material.rock).setBlockName("brick_concrete").setCreativeTab(MainRegistry.blockTab).setLightOpacity(15).setHardness(15.0F).setResistance(4000.0F).setBlockTextureName(RefStrings.MODID + ":brick_concrete"); brick_obsidian = new BlockGeneric(Material.rock).setBlockName("brick_obsidian").setCreativeTab(MainRegistry.blockTab).setLightOpacity(15).setHardness(15.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":brick_obsidian"); brick_light = new BlockGeneric(Material.rock).setBlockName("brick_light").setCreativeTab(MainRegistry.blockTab).setLightOpacity(15).setHardness(15.0F).setResistance(1000.0F).setBlockTextureName(RefStrings.MODID + ":brick_light"); @@ -799,7 +803,8 @@ public class ModBlocks { machine_puf6_tank = new MachinePuF6Tank(Material.iron).setBlockName("machine_puf6_tank").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - machine_reactor = new MachineReactor(Material.iron).setBlockName("machine_reactor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + machine_reactor = new MachineReactor(false).setBlockName("machine_reactor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + machine_reactor_on = new MachineReactor(true).setBlockName("machine_reactor_on").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null); machine_nuke_furnace_off = new MachineNukeFurnace(false).setBlockName("machine_nuke_furnace_off").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); machine_nuke_furnace_on = new MachineNukeFurnace(true).setBlockName("machine_nuke_furnace_on").setHardness(5.0F).setLightLevel(1.0F).setResistance(10.0F); @@ -1168,6 +1173,7 @@ public class ModBlocks { GameRegistry.registerBlock(reinforced_lamp_on, reinforced_lamp_on.getUnlocalizedName()); //Bricks + GameRegistry.registerBlock(concrete, concrete.getUnlocalizedName()); GameRegistry.registerBlock(brick_concrete, brick_concrete.getUnlocalizedName()); GameRegistry.registerBlock(brick_obsidian, brick_obsidian.getUnlocalizedName()); GameRegistry.registerBlock(brick_light, brick_light.getUnlocalizedName()); @@ -1309,6 +1315,7 @@ public class ModBlocks { GameRegistry.registerBlock(machine_uf6_tank, machine_uf6_tank.getUnlocalizedName()); GameRegistry.registerBlock(machine_puf6_tank, machine_puf6_tank.getUnlocalizedName()); GameRegistry.registerBlock(machine_reactor, machine_reactor.getUnlocalizedName()); + GameRegistry.registerBlock(machine_reactor_on, machine_reactor_on.getUnlocalizedName()); GameRegistry.registerBlock(machine_nuke_furnace_off, machine_nuke_furnace_off.getUnlocalizedName()); GameRegistry.registerBlock(machine_nuke_furnace_on, machine_nuke_furnace_on.getUnlocalizedName()); GameRegistry.registerBlock(machine_rtg_furnace_off, machine_rtg_furnace_off.getUnlocalizedName()); diff --git a/com/hbm/blocks/bomb/NukeN2.java b/com/hbm/blocks/bomb/NukeN2.java index a4750cc03..35898297d 100644 --- a/com/hbm/blocks/bomb/NukeN2.java +++ b/com/hbm/blocks/bomb/NukeN2.java @@ -31,7 +31,6 @@ public class NukeN2 extends BlockContainer implements IBomb { private final Random field_149933_a = new Random(); private static boolean keepInventory = false; - private Map field_77288_k = new HashMap(); public NukeN2(Material p_i45386_1_) { super(p_i45386_1_); diff --git a/com/hbm/blocks/bomb/NukeN45.java b/com/hbm/blocks/bomb/NukeN45.java index c20c4b31a..363774e76 100644 --- a/com/hbm/blocks/bomb/NukeN45.java +++ b/com/hbm/blocks/bomb/NukeN45.java @@ -28,6 +28,9 @@ import net.minecraft.world.World; public class NukeN45 extends BlockContainer implements IBomb { + private final Random field_149933_a = new Random(); + private static boolean keepInventory = false; + public NukeN45(Material p_i45386_1_) { super(p_i45386_1_); } @@ -37,6 +40,76 @@ public class NukeN45 extends BlockContainer implements IBomb { return new TileEntityNukeN45(); } + @Override + public void breakBlock(World p_149749_1_, int p_149749_2_, int p_149749_3_, int p_149749_4_, Block p_149749_5_, int p_149749_6_) + { + if (!keepInventory) + { + TileEntityNukeN2 tileentityfurnace = (TileEntityNukeN2)p_149749_1_.getTileEntity(p_149749_2_, p_149749_3_, p_149749_4_); + + if (tileentityfurnace != null) + { + for (int i1 = 0; i1 < tileentityfurnace.getSizeInventory(); ++i1) + { + ItemStack itemstack = tileentityfurnace.getStackInSlot(i1); + + if (itemstack != null) + { + float f = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f1 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f2 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + + while (itemstack.stackSize > 0) + { + int j1 = this.field_149933_a.nextInt(21) + 10; + + if (j1 > itemstack.stackSize) + { + j1 = itemstack.stackSize; + } + + itemstack.stackSize -= j1; + EntityItem entityitem = new EntityItem(p_149749_1_, p_149749_2_ + f, p_149749_3_ + f1, p_149749_4_ + f2, new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); + + if (itemstack.hasTagCompound()) + { + entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy()); + } + + float f3 = 0.05F; + entityitem.motionX = (float)this.field_149933_a.nextGaussian() * f3; + entityitem.motionY = (float)this.field_149933_a.nextGaussian() * f3 + 0.2F; + entityitem.motionZ = (float)this.field_149933_a.nextGaussian() * f3; + p_149749_1_.spawnEntityInWorld(entityitem); + } + } + } + + p_149749_1_.func_147453_f(p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_); + } + } + + super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); + } + + @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()) + { + TileEntityNukeN45 entity = (TileEntityNukeN45) world.getTileEntity(x, y, z); + if(entity != null) + { + FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_nuke_n45, world, x, y, z); + } + return true; + } else { + return false; + } + } + @Override public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { diff --git a/com/hbm/blocks/generic/DecoBlock.java b/com/hbm/blocks/generic/DecoBlock.java index feb960b52..b075644b6 100644 --- a/com/hbm/blocks/generic/DecoBlock.java +++ b/com/hbm/blocks/generic/DecoBlock.java @@ -44,7 +44,7 @@ public class DecoBlock extends BlockContainer { @Override public int getRenderType(){ - return -1; + return 334078; } @Override diff --git a/com/hbm/blocks/machine/BlockReactor.java b/com/hbm/blocks/machine/BlockReactor.java index 0467166c1..a56028afe 100644 --- a/com/hbm/blocks/machine/BlockReactor.java +++ b/com/hbm/blocks/machine/BlockReactor.java @@ -54,7 +54,7 @@ public class BlockReactor extends Block { } if(this == ModBlocks.fusion_heater) { - this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":block_tungsten"); + this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":fusion_heater_top"); this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":fusion_heater_side"); } if(this == ModBlocks.factory_titanium_conductor) diff --git a/com/hbm/blocks/machine/MachineDiFurnace.java b/com/hbm/blocks/machine/MachineDiFurnace.java index 59ee3828d..3744033f0 100644 --- a/com/hbm/blocks/machine/MachineDiFurnace.java +++ b/com/hbm/blocks/machine/MachineDiFurnace.java @@ -34,6 +34,7 @@ public class MachineDiFurnace extends BlockContainer { @SideOnly(Side.CLIENT) private IIcon iconFront; + @SideOnly(Side.CLIENT) private IIcon iconTop; public MachineDiFurnace(boolean blockState) { diff --git a/com/hbm/blocks/machine/MachineNukeFurnace.java b/com/hbm/blocks/machine/MachineNukeFurnace.java index 08204aa7d..c820e3bb4 100644 --- a/com/hbm/blocks/machine/MachineNukeFurnace.java +++ b/com/hbm/blocks/machine/MachineNukeFurnace.java @@ -32,6 +32,8 @@ public class MachineNukeFurnace extends BlockContainer { private final boolean isActive; private static boolean keepInventory; + @SideOnly(Side.CLIENT) + private IIcon iconTop; @SideOnly(Side.CLIENT) private IIcon iconFront; @@ -44,14 +46,15 @@ public class MachineNukeFurnace extends BlockContainer { @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister iconRegister) { - this.iconFront = iconRegister.registerIcon(RefStrings.MODID + (this.isActive ? ":machine_nuke_furnace_front_on" : ":machine_nuke_furnace_front_off")); - this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":block_steel"); + this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":machine_nuke_furnace_base_alt"); + this.iconFront = iconRegister.registerIcon(RefStrings.MODID + (this.isActive ? ":machine_nuke_furnace_front_on_alt" : ":machine_nuke_furnace_front_off_alt")); + this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":machine_nuke_furnace_side_alt"); } @Override @SideOnly(Side.CLIENT) public IIcon getIcon(int side, int metadata) { - return metadata == 0 && side == 3 ? this.iconFront : (side == metadata ? this.iconFront : this.blockIcon); + return metadata == 0 && side == 3 ? this.iconFront : (side == metadata ? this.iconFront : (side == 1 ? this.iconTop : (side == 0 ? this.iconTop : this.blockIcon))); } @Override @@ -228,7 +231,7 @@ public class MachineNukeFurnace extends BlockContainer { { int l = p_149734_1_.getBlockMetadata(x, y, z); float f = x + 0.5F; - float f1 = y + 0.0F + rand.nextFloat() * 6.0F / 16.0F; + float f1 = y + 0.25F + rand.nextFloat() * 6.0F / 16.0F; float f2 = z + 0.5F; float f3 = 0.52F; float f4 = rand.nextFloat() * 0.6F - 0.3F; diff --git a/com/hbm/blocks/machine/MachineReactor.java b/com/hbm/blocks/machine/MachineReactor.java index c8d44f008..1fafedb46 100644 --- a/com/hbm/blocks/machine/MachineReactor.java +++ b/com/hbm/blocks/machine/MachineReactor.java @@ -28,30 +28,32 @@ import net.minecraft.world.World; public class MachineReactor extends BlockContainer { private final Random field_149933_a = new Random(); - private Random rand; + private final boolean isActive; + private static boolean keepInventory; @SideOnly(Side.CLIENT) - //private IIcon iconFront; private IIcon iconTop; - private IIcon iconBottom; + @SideOnly(Side.CLIENT) + private IIcon iconFront; - public MachineReactor(Material p_i45386_1_) { - super(p_i45386_1_); + + public MachineReactor(boolean blockState) { + super(Material.iron); + isActive = blockState; } @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister iconRegister) { - this.iconTop = iconRegister.registerIcon(RefStrings.MODID + (":reactor_top")); - //this.iconFront = iconRegister.registerIcon(RefStrings.MODID + (":reactor_front")); - this.iconBottom = iconRegister.registerIcon(RefStrings.MODID + (":block_lead")); - this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":reactor_side"); + this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":machine_reactor_decal"); + this.iconFront = iconRegister.registerIcon(RefStrings.MODID + (this.isActive ? ":machine_reactor_front_on" : ":machine_reactor_front_off")); + this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":machine_reactor_top"); } @Override @SideOnly(Side.CLIENT) public IIcon getIcon(int side, int metadata) { - return side == 1 ? this.iconTop : (side == 0 ? this.iconBottom : this.blockIcon); + return metadata == 0 && side == 3 ? this.iconFront : (side == metadata ? this.iconFront : (side == 1 ? this.iconTop : (side == 0 ? this.iconTop : this.blockIcon))); } @Override @@ -146,11 +148,32 @@ public class MachineReactor extends BlockContainer { public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { return new TileEntityMachineReactor(); } + + public static void updateBlockState(boolean isProcessing, World world, int x, int y, int z) { + int i = world.getBlockMetadata(x, y, z); + TileEntity entity = world.getTileEntity(x, y, z); + keepInventory = true; + + if(isProcessing) + { + world.setBlock(x, y, z, ModBlocks.machine_reactor_on); + }else{ + world.setBlock(x, y, z, ModBlocks.machine_reactor); + } + + keepInventory = false; + world.setBlockMetadataWithNotify(x, y, z, i, 2); + + if(entity != null) { + entity.validate(); + world.setTileEntity(x, y, z, entity); + } + } @Override public void breakBlock(World p_149749_1_, int p_149749_2_, int p_149749_3_, int p_149749_4_, Block p_149749_5_, int p_149749_6_) { - if (true) + if (!keepInventory) { TileEntityMachineReactor tileentityfurnace = (TileEntityMachineReactor)p_149749_1_.getTileEntity(p_149749_2_, p_149749_3_, p_149749_4_); @@ -198,4 +221,11 @@ public class MachineReactor extends BlockContainer { super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); } + + @Override + @SideOnly(Side.CLIENT) + public Item getItem(World p_149694_1_, int p_149694_2_, int p_149694_3_, int p_149694_4_) + { + return Item.getItemFromBlock(ModBlocks.machine_reactor); + } } diff --git a/com/hbm/blocks/machine/MachineRtgFurnace.java b/com/hbm/blocks/machine/MachineRtgFurnace.java index 8c006cd1d..9cb4290fe 100644 --- a/com/hbm/blocks/machine/MachineRtgFurnace.java +++ b/com/hbm/blocks/machine/MachineRtgFurnace.java @@ -33,6 +33,8 @@ public class MachineRtgFurnace extends BlockContainer { private final boolean isActive; private static boolean keepInventory; + @SideOnly(Side.CLIENT) + private IIcon iconTop; @SideOnly(Side.CLIENT) private IIcon iconFront; @@ -45,14 +47,15 @@ public class MachineRtgFurnace extends BlockContainer { @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister iconRegister) { - this.iconFront = iconRegister.registerIcon(RefStrings.MODID + (this.isActive ? ":machine_rtg_furnace_on" : ":machine_rtg_furnace_off")); - this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":block_tungsten"); + this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":machine_rtg_furnace_base_alt"); + this.iconFront = iconRegister.registerIcon(RefStrings.MODID + (this.isActive ? ":machine_rtg_furnace_on_alt" : ":machine_rtg_furnace_off_alt")); + this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":machine_rtg_furnace_side_alt"); } @Override @SideOnly(Side.CLIENT) public IIcon getIcon(int side, int metadata) { - return metadata == 0 && side == 3 ? this.iconFront : (side == metadata ? this.iconFront : this.blockIcon); + return metadata == 0 && side == 3 ? this.iconFront : (side == metadata ? this.iconFront : (side == 1 ? this.iconTop : (side == 0 ? this.iconTop : this.blockIcon))); } @Override @@ -229,7 +232,7 @@ public class MachineRtgFurnace extends BlockContainer { { int l = p_149734_1_.getBlockMetadata(x, y, z); float f = x + 0.5F; - float f1 = y + 0.0F + rand.nextFloat() * 6.0F / 16.0F; + float f1 = y + 0.25F + rand.nextFloat() * 6.0F / 16.0F; float f2 = z + 0.5F; float f3 = 0.52F; float f4 = rand.nextFloat() * 0.6F - 0.3F; diff --git a/com/hbm/entity/logic/EntityNukeExplosionMK4.java b/com/hbm/entity/logic/EntityNukeExplosionMK4.java index 04c5029cd..b14f5f47e 100644 --- a/com/hbm/entity/logic/EntityNukeExplosionMK4.java +++ b/com/hbm/entity/logic/EntityNukeExplosionMK4.java @@ -83,7 +83,7 @@ public class EntityNukeExplosionMK4 extends Entity { explosion.processTip(1024); } else if(fallout) { - EntityFalloutRain fallout = new EntityFalloutRain(this.worldObj, (int)(this.length * 0.9) * 2 * MainRegistry.falloutDura / 100); + EntityFalloutRain fallout = new EntityFalloutRain(this.worldObj, (int)(this.length * 0.9) * 2 * MainRegistry.falloutDura / 10); fallout.posX = this.posX; fallout.posY = this.posY; fallout.posZ = this.posZ; diff --git a/com/hbm/handler/nei/AssemblerRecipeHandler.java b/com/hbm/handler/nei/AssemblerRecipeHandler.java index a1a3fcb84..451d514eb 100644 --- a/com/hbm/handler/nei/AssemblerRecipeHandler.java +++ b/com/hbm/handler/nei/AssemblerRecipeHandler.java @@ -73,7 +73,7 @@ public class AssemblerRecipeHandler extends TemplateRecipeHandler { @Override public String getRecipeName() { - return "Assembler"; + return "Assembly Machine"; } @Override diff --git a/com/hbm/main/ClientProxy.java b/com/hbm/main/ClientProxy.java index ebb1d6038..a63f5b2da 100644 --- a/com/hbm/main/ClientProxy.java +++ b/com/hbm/main/ClientProxy.java @@ -40,8 +40,9 @@ public class ClientProxy extends ServerProxy MinecraftForge.EVENT_BUS.register(new ModEventHandlerClient()); AdvancedModelLoader.registerModelHandler(new HmfModelLoader()); - + RenderingRegistry.registerBlockHandler(new RenderTaintBlock()); + RenderingRegistry.registerBlockHandler(new RenderRoofBlock()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTestRender.class, new RenderTestRender()); diff --git a/com/hbm/main/CraftingManager.java b/com/hbm/main/CraftingManager.java index d23e77dbe..61d117d6e 100644 --- a/com/hbm/main/CraftingManager.java +++ b/com/hbm/main/CraftingManager.java @@ -544,7 +544,7 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_uf6_tank), 1), new Object[] { "WTW", "WTW", "SRS", 'S', "plateIron", '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_nuke_furnace_off), 1), new Object[] { "SSS", "LFL", "CCC", 'S', "plateSteel", 'C', ModItems.board_copper, 'L', "plateLead", '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.board_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" })); diff --git a/com/hbm/main/MainRegistry.java b/com/hbm/main/MainRegistry.java index 6b060c080..4cb8409e4 100644 --- a/com/hbm/main/MainRegistry.java +++ b/com/hbm/main/MainRegistry.java @@ -1768,10 +1768,10 @@ public class MainRegistry Property propBlastSpeed = config.get(Configuration.CATEGORY_GENERAL, "6.01_blastSpeed", 1024); propBlastSpeed.comment = "Base speed of all detonations (Blocks / tick)"; blastSpeed = propBlastSpeed.getInt(); - Property propFalloutRange = config.get(Configuration.CATEGORY_GENERAL, "6.01_blastSpeed", 100); + Property propFalloutRange = config.get(Configuration.CATEGORY_GENERAL, "6.02_falloutRange", 100); propFalloutRange.comment = "Radius of fallout area (base radius * value in percent)"; falloutRange = propFalloutRange.getInt(); - Property propFalloutDura = config.get(Configuration.CATEGORY_GENERAL, "6.01_blastSpeed", 100); + Property propFalloutDura = config.get(Configuration.CATEGORY_GENERAL, "6.03_falloutDuration", 100); propFalloutDura.comment = "Duration of fallout (base duration * value in percent)"; falloutDura = propFalloutDura.getInt(); diff --git a/com/hbm/main/ModEventHandler.java b/com/hbm/main/ModEventHandler.java index 86d8ac88b..142f82861 100644 --- a/com/hbm/main/ModEventHandler.java +++ b/com/hbm/main/ModEventHandler.java @@ -148,7 +148,6 @@ public class ModEventHandler RadEntitySavedData eData = RadEntitySavedData.getData(event.world); if(eData.worldObj == null) { - System.out.println("shit"); eData.worldObj = event.world; } diff --git a/com/hbm/packet/AuxGaugePacket.java b/com/hbm/packet/AuxGaugePacket.java index 3228b7550..864b6ef7c 100644 --- a/com/hbm/packet/AuxGaugePacket.java +++ b/com/hbm/packet/AuxGaugePacket.java @@ -3,6 +3,7 @@ package com.hbm.packet; import com.hbm.interfaces.IConsumer; import com.hbm.interfaces.ISource; import com.hbm.tileentity.bomb.TileEntityNukeCustom; +import com.hbm.tileentity.bomb.TileEntityNukeN45; import com.hbm.tileentity.bomb.TileEntityTurretCIWS; import com.hbm.tileentity.bomb.TileEntityTurretCheapo; import com.hbm.tileentity.deco.TileEntityBomber; @@ -203,6 +204,11 @@ public class AuxGaugePacket implements IMessage { nuke.falls = m.value == 1; } + if (te instanceof TileEntityNukeN45) { + TileEntityNukeN45 nuke = (TileEntityNukeN45)te; + + nuke.primed = m.value == 1; + } } catch (Exception x) {} return null; diff --git a/com/hbm/render/block/RenderRoofBlock.java b/com/hbm/render/block/RenderRoofBlock.java new file mode 100644 index 000000000..31a4e5e41 --- /dev/null +++ b/com/hbm/render/block/RenderRoofBlock.java @@ -0,0 +1,52 @@ +package com.hbm.render.block; + +import org.lwjgl.opengl.GL11; + +import com.hbm.lib.RefStrings; +import com.hbm.render.model.ModelSteelRoof; + +import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; +import net.minecraft.block.Block; +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.RenderBlocks; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.IBlockAccess; + +public class RenderRoofBlock implements ISimpleBlockRenderingHandler { + + @Override + public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { } + + @Override + public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { + + /*Tessellator.instance.draw(); + + GL11.glPushMatrix(); + + GL11.glTranslatef(x, y, z); + + ModelSteelRoof model = new ModelSteelRoof(); + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID + ":" + "textures/models/SteelRoof.png")); + model.renderModel(0.0625F); + + GL11.glPopMatrix(); + + Tessellator.instance.startDrawing(0);*/ + + return true; + } + + @Override + public boolean shouldRender3DInInventory(int modelId) { + return false; + } + + @Override + public int getRenderId() { + return 334078; + } + +} diff --git a/com/hbm/render/tileentity/RenderNukeN45.java b/com/hbm/render/tileentity/RenderNukeN45.java index 37cc5eecc..415d2c26f 100644 --- a/com/hbm/render/tileentity/RenderNukeN45.java +++ b/com/hbm/render/tileentity/RenderNukeN45.java @@ -3,6 +3,7 @@ package com.hbm.render.tileentity; import org.lwjgl.opengl.GL11; import com.hbm.main.ResourceManager; +import com.hbm.tileentity.bomb.TileEntityNukeN45; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.tileentity.TileEntity; @@ -28,7 +29,10 @@ public class RenderNukeN45 extends TileEntitySpecialRenderer { ResourceManager.n45_stand.renderAll(); } - double d = /*0;*/ Math.sin((System.currentTimeMillis() % (1000* Math.PI)) / 500D) * 0.175 + 0.175; + double d = 0.25; + + if(((TileEntityNukeN45)tileEntity).primed) + d /= 4D; GL11.glTranslated(0, standing ? 1D : 0.5D, 0); diff --git a/com/hbm/render/util/ProntingUtility.java b/com/hbm/render/util/ProntingUtility.java new file mode 100644 index 000000000..f34f9e365 --- /dev/null +++ b/com/hbm/render/util/ProntingUtility.java @@ -0,0 +1,13 @@ +package com.hbm.render.util; + +import java.util.List; + +import net.minecraft.client.model.ModelRenderer; + +public class ProntingUtility { + + public static void convertModelRenderersToTessellatorStatements(List models) { + + } + +} diff --git a/com/hbm/tileentity/bomb/TileEntityNukeN45.java b/com/hbm/tileentity/bomb/TileEntityNukeN45.java index 5478f8d11..861dc9d02 100644 --- a/com/hbm/tileentity/bomb/TileEntityNukeN45.java +++ b/com/hbm/tileentity/bomb/TileEntityNukeN45.java @@ -1,11 +1,267 @@ package com.hbm.tileentity.bomb; +import java.util.List; + +import com.hbm.blocks.ModBlocks; +import com.hbm.items.ModItems; +import com.hbm.packet.AuxGaugePacket; +import com.hbm.packet.PacketDispatcher; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.entity.Entity; +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.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; -public class TileEntityNukeN45 extends TileEntity { +public class TileEntityNukeN45 extends TileEntity implements ISidedInventory { + + public ItemStack slots[]; + private String customName; + + public boolean primed = false; + + public TileEntityNukeN45() { + slots = new ItemStack[2]; + } + + @Override + public int getSizeInventory() { + return slots.length; + } + + @Override + public ItemStack getStackInSlot(int i) { + return slots[i]; + } + + @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 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.nukeN45"; + } + + @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 player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <=64; + } + } + + @Override + public void openInventory() { + + } + + @Override + public void closeInventory() { + + } + + @Override + public boolean isItemValidForSlot(int p_94041_1_, ItemStack p_94041_2_) { + return false; + } + + @Override + public int[] getAccessibleSlotsFromSide(int p_94128_1_) { + return null; + } + + @Override + public boolean canInsertItem(int i, ItemStack itemStack, int j) { + return this.isItemValidForSlot(i, itemStack); + } + + @Override + public boolean canExtractItem(int i, ItemStack itemStack, int j) { + return true; + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + NBTTagList list = nbt.getTagList("items", 10); + + primed = nbt.getBoolean("primed"); + + 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); + NBTTagList list = new NBTTagList(); + + nbt.setBoolean("primed", primed); + + 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); + } + + public void updateEntity() { + + if(!worldObj.isRemote) { + + primed = true; + + PacketDispatcher.wrapper.sendToAll(new AuxGaugePacket(xCoord, yCoord, zCoord, primed ? 1 : 0, 0)); + + if(primed) { + + if(getType() == 0) { + return; + } + + int rad = 0; + + if(slots[1] != null) { + + if(slots[1].getItem() == ModItems.upgrade_effect_1) + rad = 5; + if(slots[1].getItem() == ModItems.upgrade_effect_2) + rad = 10; + if(slots[1].getItem() == ModItems.upgrade_effect_3) + rad = 15; + } + + List list = worldObj.getEntitiesWithinAABBExcludingEntity(null, AxisAlignedBB.getBoundingBox(xCoord + 0.5 - rad, yCoord + 0.5 - rad, zCoord + 0.5 - rad, xCoord + 0.5 + rad, yCoord + 0.5 + rad, zCoord + 0.5 + rad)); + + for(Object o : list) { + + Entity e = (Entity)o; + + if(e.width * e.width * e.height >= 1.5) { + explode(worldObj, xCoord, yCoord, zCoord, getType()); + break; + } + } + } + } + + } + + public static void explode(World world, int x, int y, int z, int type) { + + } + + public int getType() { + + if(slots[0] != null) { + + if(slots[0].getItem() == Item.getItemFromBlock(ModBlocks.det_cord)) + return 1; + if(slots[0].getItem() == Item.getItemFromBlock(Blocks.tnt)) + return 2; + if(slots[0].getItem() == Item.getItemFromBlock(ModBlocks.det_charge)) + return 3; + if(slots[0].getItem() == Item.getItemFromBlock(ModBlocks.det_nuke)) + return 4; + } + + if(!primed && slots[1] != null) { + + if(slots[1].getItem() == ModItems.upgrade_effect_1 || + slots[1].getItem() == ModItems.upgrade_effect_2 || + slots[1].getItem() == ModItems.upgrade_effect_3) + return 100; + } + + return 0; + } + + public void clearSlots() { + for(int i = 0; i < slots.length; i++) + { + slots[i] = null; + } + } @Override public AxisAlignedBB getRenderBoundingBox() { diff --git a/com/hbm/tileentity/machine/TileEntityMachineReactor.java b/com/hbm/tileentity/machine/TileEntityMachineReactor.java index b461ba22e..7e352bd20 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineReactor.java +++ b/com/hbm/tileentity/machine/TileEntityMachineReactor.java @@ -1,5 +1,7 @@ package com.hbm.tileentity.machine; +import com.hbm.blocks.machine.MachineDiFurnace; +import com.hbm.blocks.machine.MachineReactor; import com.hbm.inventory.MachineRecipes; import com.hbm.items.ModItems; @@ -365,6 +367,7 @@ public class TileEntityMachineReactor extends TileEntity implements ISidedInvent if(trigger) { flag1 = true; + MachineReactor.updateBlockState(this.dualCookTime > 0, this.worldObj, this.xCoord, this.yCoord, this.zCoord); } } diff --git a/com/hbm/tileentity/machine/TileEntityMachineReactorSmall.java b/com/hbm/tileentity/machine/TileEntityMachineReactorSmall.java index 9f3dfe9fd..5b4f63df3 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineReactorSmall.java +++ b/com/hbm/tileentity/machine/TileEntityMachineReactorSmall.java @@ -508,12 +508,12 @@ public class TileEntityMachineReactorSmall extends TileEntity } else if(te instanceof TileEntityMachineReactor) { TileEntityMachineReactor reactor = (TileEntityMachineReactor)te; - if(reactor.dualPower < 1) + if(reactor.dualPower < 1 && this.coreHeat > 0) reactor.dualPower = 1; } else if(te instanceof TileEntityNukeFurnace) { TileEntityNukeFurnace reactor = (TileEntityNukeFurnace)te; - if(reactor.dualPower < 1) + if(reactor.dualPower < 1 && this.coreHeat > 0) reactor.dualPower = 1; } else if(b == ModBlocks.block_uranium) {