From 1d07fa4d183fdc04d452a0a4cad5006989ebd34a Mon Sep 17 00:00:00 2001 From: HbmMods Date: Fri, 6 Oct 2017 08:16:15 +0200 Subject: [PATCH] Geiger counter, retexturing, solid fuel, biofuel, inserter frame --- assets/hbm/lang/de_DE.lang | 25 + assets/hbm/lang/en_US.lang | 25 + assets/hbm/sounds.json | 8 +- assets/hbm/sounds/tool/geiger1.ogg | Bin 0 -> 2988 bytes assets/hbm/sounds/tool/geiger2.ogg | Bin 0 -> 3325 bytes assets/hbm/sounds/tool/geiger3.ogg | Bin 0 -> 3509 bytes assets/hbm/sounds/tool/geiger4.ogg | Bin 0 -> 3504 bytes assets/hbm/sounds/tool/geiger5.ogg | Bin 0 -> 3556 bytes assets/hbm/sounds/tool/geiger6.ogg | Bin 0 -> 4018 bytes .../blocks/machine_gas_furnace_fron_on.png | Bin 0 -> 549 bytes .../blocks/machine_gas_furnace_front_off.png | Bin 0 -> 523 bytes assets/hbm/textures/gui/GUICoal.png | Bin 2093 -> 2130 bytes assets/hbm/textures/gui/gui_gasFlare.png | Bin 2055 -> 1858 bytes assets/hbm/textures/gui/gui_generator.png | Bin 3567 -> 3627 bytes .../textures/gui/gui_reactor_multiblock.png | Bin 10346 -> 5049 bytes assets/hbm/textures/gui/gui_refinery.png | Bin 2711 -> 2640 bytes assets/hbm/textures/gui/gui_well_large.png | Bin 5728 -> 5777 bytes assets/hbm/textures/items/biomass.png | Bin 0 -> 501 bytes assets/hbm/textures/items/biomass_alt.png | Bin 0 -> 525 bytes .../hbm/textures/items/canister_biofuel.png | Bin 0 -> 278 bytes .../hbm/textures/items/centrifuge_element.png | Bin 285 -> 215 bytes assets/hbm/textures/items/gas_bio.png | Bin 0 -> 225 bytes assets/hbm/textures/items/warhead_mirv.png | Bin 254 -> 187 bytes assets/hbm/textures/items/warhead_mirvlet.png | Bin 241 -> 233 bytes assets/hbm/textures/items/warhead_nuclear.png | Bin 244 -> 240 bytes com/hbm/blocks/ModBlocks.java | 7 + com/hbm/blocks/generic/BlockOre.java | 14 +- com/hbm/blocks/machine/MachineInserter.java | 36 ++ .../logic/EntityNukeExplosionAdvanced.java | 101 +++- .../missile/EntityMissileBaseAdvanced.java | 30 +- com/hbm/explosion/ExplosionFleija.java | 35 ++ com/hbm/explosion/ExplosionNukeAdvanced.java | 35 ++ com/hbm/handler/FluidTypeHandler.java | 3 + com/hbm/inventory/MachineRecipes.java | 479 +++++++++++++++++- .../container/ContainerReactorMultiblock.java | 49 +- .../inventory/gui/GUIReactorMultiblock.java | 24 +- com/hbm/items/ModItems.java | 10 + com/hbm/items/special/ItemCustomLore.java | 6 +- com/hbm/items/tool/ItemAssemblyTemplate.java | 322 +++++++++++- com/hbm/items/tool/ItemChemistryTemplate.java | 84 ++- com/hbm/items/tool/ItemGeigerCounter.java | 136 +++++ com/hbm/main/ClientProxy.java | 3 + com/hbm/main/CraftingManager.java | 14 + .../deco/TileEntityYellowBarrel.java | 9 +- .../machine/TileEntityMachineDiesel.java | 9 +- .../machine/TileEntityReactorMultiblock.java | 154 ++---- 46 files changed, 1380 insertions(+), 238 deletions(-) create mode 100644 assets/hbm/sounds/tool/geiger1.ogg create mode 100644 assets/hbm/sounds/tool/geiger2.ogg create mode 100644 assets/hbm/sounds/tool/geiger3.ogg create mode 100644 assets/hbm/sounds/tool/geiger4.ogg create mode 100644 assets/hbm/sounds/tool/geiger5.ogg create mode 100644 assets/hbm/sounds/tool/geiger6.ogg create mode 100644 assets/hbm/textures/blocks/machine_gas_furnace_fron_on.png create mode 100644 assets/hbm/textures/blocks/machine_gas_furnace_front_off.png create mode 100755 assets/hbm/textures/items/biomass.png create mode 100755 assets/hbm/textures/items/biomass_alt.png create mode 100644 assets/hbm/textures/items/canister_biofuel.png create mode 100644 assets/hbm/textures/items/gas_bio.png create mode 100644 com/hbm/blocks/machine/MachineInserter.java create mode 100644 com/hbm/items/tool/ItemGeigerCounter.java diff --git a/assets/hbm/lang/de_DE.lang b/assets/hbm/lang/de_DE.lang index dfd0f17b8..a721efc73 100644 --- a/assets/hbm/lang/de_DE.lang +++ b/assets/hbm/lang/de_DE.lang @@ -32,6 +32,8 @@ hbmfluid.lightoil=Leichtöl hbmfluid.petroleum=Petroleumgas hbmfluid.acid=Wasserstoffperoxid hbmfluid.watz=Giftiger Schlamm +hbmfluid.biogas=Biogas +hbmfluid.biofuel=Biodiesel chem.TEST=Test chem.FP_HEAVYOIL=Schwerölverarbeitung @@ -55,6 +57,24 @@ chem.DESH=Deshherstellung chem.PEROXIDE=Wasserstoffperoxidherstellung chem.CIRCUIT_4=Überstaktete Schaltkreisherstellung chem.CIRCUIT_5=Leistungsstarke Schaltkreisherstellung +chem.SF_OIL=Rohölverfestigung +chem.SF_HEAVYOIL=Schwerölverfestigung +chem.SF_SMEAR=Industrieölverfestigung +chem.SF_HEATINGOIL=Heizölverfestigung +chem.SF_RECLAIMED=Verfestigung von wiederaufbereitetem Industrieöl +chem.SF_PETROIL=Gemischverfestigung +chem.SF_LUBRICANT=Schmiermittelverfestigung +chem.SF_NAPHTHA=Mitteldestillatsverfestigung +chem.SF_DIESEL=Dieselverfestigung +chem.SF_LIGHTOIL=Leichtölverfestigung +chem.SF_KEROSENE=Kerosinverfestigung +chem.SF_GAS=Erdgasverfestigung +chem.SF_PETROLEUM=Petroleumgasverfestigung +chem.POLYMER=Polymersynthese +chem.DEUTERIUM=Deuteriumextrahierung +chem.STEAM=WWasser kochen +chem.UF6=Uranhexafluoritproduktion +chem.PUF6=Plutoniumhexafluoritproduktion item.record.lc.desc=Valve - Diabolic Adrenaline Guitar/Lambda Core item.record.ss.desc=Valve - Sector Sweep @@ -582,6 +602,9 @@ item.upgrade_power_3.name=Blaues Maschinenupgrade Mk.III item.upgrade_fortune_1.name=Lila Maschinenupgrade Mk.I item.upgrade_fortune_2.name=Lila Maschinenupgrade Mk.II item.upgrade_fortune_3.name=Lila Maschinenupgrade Mk.III +item.upgrade_afterburn_1.name=Pinkes Maschinenupgrade Mk.I +item.upgrade_afterburn_2.name=Pinkes Maschinenupgrade Mk.II +item.upgrade_afterburn_3.name=Pinkes Maschinenupgrade Mk.III item.fusion_core.name=Fusionskern item.energy_core.name=Selbstgebauter Energiekern @@ -613,6 +636,7 @@ item.magnet_dee.name=Duantenmagnete item.magnet_circular.name=Flachmagnet item.cyclotron_tower.name=Zyklotronenturm item.plate_dalekanium.name=Wütendes Metall +item.biomass.name=Biomasse item.cell_empty.name=Leere Zelle item.cell_uf6.name=Uranhexafluorit-Zelle @@ -1252,6 +1276,7 @@ item.pellet_coolant.name=Kühlcluster item.linker.name=Telelinker item.oil_detector.name=Ölvorkommen-Detektor +item.geiger_counter.name=Geigerzähler item.thermo_element.name=Thermoelektrisches Element item.limiter.name=Generator-Limiter diff --git a/assets/hbm/lang/en_US.lang b/assets/hbm/lang/en_US.lang index 3780e664d..716f2f5a4 100644 --- a/assets/hbm/lang/en_US.lang +++ b/assets/hbm/lang/en_US.lang @@ -32,6 +32,8 @@ hbmfluid.lightoil=Light Oil hbmfluid.petroleum=Petroleum Gas hbmfluid.acid=Hydrogen Peroxide hbmfluid.watz=Poisonous Mud +hbmfluid.biogas=Biogas +hbmfluid.biofuel=Biofuel chem.TEST=Test chem.FP_HEAVYOIL=Heavy Oil Processing @@ -55,6 +57,24 @@ chem.DESH=Desh Production chem.PEROXIDE=Hydrogen Peroxide Production chem.CIRCUIT_4=Overclocked Circuit Production chem.CIRCUIT_5=High Performance Circuit Production +chem.SF_OIL=Crude Oil Solidification +chem.SF_HEAVYOIL=Heavy Oil Solidification +chem.SF_SMEAR=Industrial Oil Solidification +chem.SF_HEATINGOIL=Heating Oil Solidification +chem.SF_RECLAIMED=Reclaimed Oil Solidification +chem.SF_PETROIL=Petroil Solidification +chem.SF_LUBRICANT=Lubricant Solidification +chem.SF_NAPHTHA=Naphtha Solidification +chem.SF_DIESEL=Diesel Solidification +chem.SF_LIGHTOIL=Light Oil Solidification +chem.SF_KEROSENE=Kerosene Solidification +chem.SF_GAS=Natural Gas Solidification +chem.SF_PETROLEUM=Petroleum Gas Solidification +chem.POLYMER=Polymer Synthesis +chem.DEUTERIUM=Deuterium Extraction +chem.STEAM=Water Boiling +chem.UF6=Uranium Hexafluoride Production +chem.PUF6=Plutonium Hexafluoride Production item.record.lc.desc=Valve - Diabolic Adrenaline Guitar/Lambda Core item.record.ss.desc=Valve - Sector Sweep @@ -582,6 +602,9 @@ item.upgrade_power_3.name=Blue Machine Upgrade Mk.III item.upgrade_fortune_1.name=Purple Machine Upgrade Mk.I item.upgrade_fortune_2.name=Purple Machine Upgrade Mk.II item.upgrade_fortune_3.name=Purple Machine Upgrade Mk.III +item.upgrade_afterburn_1.name=Pink Machine Upgrade Mk.I +item.upgrade_afterburn_2.name=Pink Machine Upgrade Mk.II +item.upgrade_afterburn_3.name=Pink Machine Upgrade Mk.III item.fusion_core.name=Fusion Core item.energy_core.name=Makeshift Energy Core @@ -613,6 +636,7 @@ item.magnet_dee.name=Dee Magnets item.magnet_circular.name=Flat Magnet item.cyclotron_tower.name=Cyclotron Tower item.plate_dalekanium.name=Angry Metal +item.biomass.name=Biomass item.cell_empty.name=Empty Cell item.cell_uf6.name=Uranium Hexafluorite Cell @@ -1252,6 +1276,7 @@ item.pellet_coolant.name=Coolant Cluster item.linker.name=Telelinker item.oil_detector.name=Oil Reservoir Detector +item.geiger_counter.name=Geiger Counter item.thermo_element.name=Thermoelectric Element item.limiter.name=Generator Limiter diff --git a/assets/hbm/sounds.json b/assets/hbm/sounds.json index e72bde972..63be6959f 100644 --- a/assets/hbm/sounds.json +++ b/assets/hbm/sounds.json @@ -14,7 +14,13 @@ "block.turbofanOperate": {"category": "block", "sounds": [{"name": "block/turbofanOperate", "stream": false}]}, "item.techBleep": {"category": "player", "sounds": [{"name": "tool/techBleep", "stream": false}]}, - "item.techBoop": {"category": "player", "sounds": [{"name": "tool/techBoop", "stream": false}]}, + "item.techBoop": {"category": "player", "sounds": [{"name": "tool/techBoop", "stream": false}]}, + "item.geiger1": {"category": "player", "sounds": [{"name": "tool/geiger1", "stream": false}]}, + "item.geiger2": {"category": "player", "sounds": [{"name": "tool/geiger2", "stream": false}]}, + "item.geiger3": {"category": "player", "sounds": [{"name": "tool/geiger3", "stream": false}]}, + "item.geiger4": {"category": "player", "sounds": [{"name": "tool/geiger4", "stream": false}]}, + "item.geiger5": {"category": "player", "sounds": [{"name": "tool/geiger5", "stream": false}]}, + "item.geiger6": {"category": "player", "sounds": [{"name": "tool/geiger6", "stream": false}]}, "music.recordLambdaCore": {"category": "record", "sounds": [{"name": "music/recordLambdaCore", "stream": true}]}, "music.recordSectorSweep": {"category": "record", "sounds": [{"name": "music/recordSectorSweep", "stream": true}]}, diff --git a/assets/hbm/sounds/tool/geiger1.ogg b/assets/hbm/sounds/tool/geiger1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..8b72d9e3d3a523d9f85169f0c85172ae47f4e755 GIT binary patch literal 2988 zcmcImeNaW~SNq9_q}8NDHFa{8mJpDZq!E7r7?cbDounPa z&ZmReNrK!zH`it-w9Y>nuIL3F8z5Aws;%6(qppIfQOS2lG&4oajC3A9otMsMa_+sS zd-_8NReA7{)aV{!ULiphWD|xVi&iO$WG}8#j0^Hu z!0U*qEW1uoGm(kRmq618}*BlDo5s0J0W?CP2$QNV|5B z@nU<*NK|A=79irtIdPZMzE;#;US?L7nR^?}XFsw%`^d2|?3kPNBj@R2hE~5t|_!;y31IIuEPhD zun~(fBurZbK+G2Sl#*Lo`^ex70Mup!mXBOD$_sg~8nF||H3K#(@OIScc{9viqrB@3 zT|VNaYYPQa%yLTV6hlYJAYzyZpCn;7D=n&N3kfu*sNTg@XDU_iat`;NwVmPEY+pC_ z-tX+S9X?~V_1ZiRtIeTlJf$MgQ;5w5S+&g;ZnIU5^q#xrzHf6s7G^x3ZML&Fe7N_%#}>Zjob@>8Alqh3o9qn_JHx|n`>@lYhUl4d zw;XWq+%U1X?@@1f);&AyaSS`ZnRGiIIqeA-W;|}ku)}fA*%x+l!*0!_@Wv0jg3oQA z__5$-L-B;GI@nMxgDihfi8(jepbVNC_B1GE4c#2p+RO+PL?Rk9xC@dY$-c`^b1L`Z1bLyiR}}?qq2#k``p!E{R*<-$TwiMRlnyr7w%09dowy+>RnvQ#;nz@pd4a!*152BHY!ErY)#y!K7+?umcnGjqOmC7oK5vB}>xy zEk#%YtQcsnYqz?J>n;+iyDdrLRGuqI0S~7`z_L_^SiMQIH|(xbiI{J0muu|7&rq%) zBvqr_Pyo~0T^+K5kG!SoXV?){&??mK4N2|9;i&_rb}6w#s^=R6as+W1Pz_Wi)9`!E za?L=n6nmZLE7gi!L8J6_2#C}8KDzn<|7#3@OHI)rt0_)-ddy$~Su_BCPf_TzD`|D3 z0^|+MFIdmkCJM=j(w|Lc;eG)b9~>9Nb{maC1i@)C4jT_i;p^b^B@$p>TD<)=FDd?+ zvN*5}vObQNuJbW*dh-~)hX#X<)1fMyrtoK9r)&M$$O=fUXX~g!1cws`H^Lqi&w!0j zGiEGhK!cW(77UV8c&*HOEE8FxD?r!dZ!MK3AWAdZ#`cX$U$bBREI-cP63S4seF1r% z{c5Q^6@UlOpa++PoK59yV2A}-gav*<1yv5)BWn|x2RjeUzAnPIHLCen2f^d zE-h6^?rw$?ZVW)Dbr^b|01&*M0E`&y-l??!ko$L*YmdEk8n){w&;DLV+lyjB zfAq@S->j#{r9N>2Dpu$PuNvig-gH+E%JX$-{fH0VrC^!>py>nvSppzfIGt`b5Y$-q z48f9F^-uz7Q3$`TA@Qu3ZZEH;+lHVAW&j3Y}4&z%m)7@vtYT5v$9H zaS(5^7`5V|jOi3hyHspnqHY#s zkBcXAcTZ);rIB2XEMCwO2_A|7Qg2k!lD?lN z|9&m^<6q`}vDuH!Jpa06KHUJGeQ8U>cT=prKY#L0$;$<`mHjV0@M7O%$GQY_&w*t{ z^tAIAU$A}N@WOAmoZJO2J_>GH?aFYl&tr>Uxw>t7X5IKo_Eyn;Z1tsg2YVi_il6O@ YuJm+nrT==K&yOoym-5H6(V5Hs1OF%5(EtDd literal 0 HcmV?d00001 diff --git a/assets/hbm/sounds/tool/geiger2.ogg b/assets/hbm/sounds/tool/geiger2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..7a2c3892721ad9934679cc7e7b0eaa7bf2304045 GIT binary patch literal 3325 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 C>XzOB literal 0 HcmV?d00001 diff --git a/assets/hbm/sounds/tool/geiger3.ogg b/assets/hbm/sounds/tool/geiger3.ogg new file mode 100644 index 0000000000000000000000000000000000000000..2b5e5267063ce0bf3f894b0dcf7ae2f0c02fda82 GIT binary patch literal 3509 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 qHR^++> literal 0 HcmV?d00001 diff --git a/assets/hbm/sounds/tool/geiger4.ogg b/assets/hbm/sounds/tool/geiger4.ogg new file mode 100644 index 0000000000000000000000000000000000000000..1d3000b0729213404f31b39df4ee170402dc789c GIT binary patch literal 3504 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 literal 0 HcmV?d00001 diff --git a/assets/hbm/sounds/tool/geiger5.ogg b/assets/hbm/sounds/tool/geiger5.ogg new file mode 100644 index 0000000000000000000000000000000000000000..6a3b2fa5ca0ebad67d6b1cce135f8b16b9c4cb85 GIT binary patch literal 3556 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 literal 0 HcmV?d00001 diff --git a/assets/hbm/sounds/tool/geiger6.ogg b/assets/hbm/sounds/tool/geiger6.ogg new file mode 100644 index 0000000000000000000000000000000000000000..0690b42c0696c363136f64887df039edc1116900 GIT binary patch literal 4018 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 N002ovPDHLkV1ju~=0*Sj literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/gui/GUICoal.png b/assets/hbm/textures/gui/GUICoal.png index ccecfe45ed68d097c658642ee00f626ee388a9e1..0fbef726061f27a37dca71307696b7e07f9a7267 100644 GIT binary patch delta 1841 zcmZ9KX*Anu8;Ac9Ni0Riu{9kLss=UH4r)qE)DX3AwM~^l?Lm#ISd!2&-qv2Gr5crX zP*t_7T{>!1i=@qj5-F;-5?crrN#6hTyr16Z%X6M{e!uHn=eh4Xgp-?DJ%pGQxY1rBZcW`?- z&0Z`N)$_)|LjP-C|8ouI(#NiZ)YPe$p(m2!#WzP?77r2&c1gP7ThaIBr-_%6@EqPy z^VPTOBby-tT*bg-qSVG`LT7t>d&(w@H=rrz@=mV`Jrsci&JMF1XZ0pUQ0#uskvM6l zAATFCU^m$UnRHBda=Ck_Us6QdZr>5*OLcjQC~aV=EiG@?TcTo0D$rtBOxR2i&1R9l zCvNbC<6_cYO5^&dCYW*R7tj&e`7%*}Y5#uh_VS=5J)lcEvzA@>B6mWN6>HfRq=W%; z^YX$kwOu%h4UO$Anq_w}Q%tEFg6-uUjYW;FGsluzkupx8Bs)G!#9b!l2R(DQ*OL=( z$IS02OcPB>{4Ej=)@SqpH1>-}ZIGBNY-eI0?Ru=Cr6u>eU{dI2RU`>;#%=@cW!&qn zTOZ=~o~O`bKJ<|uGqfSt=dB@VT532+Y(S%nJB0l#&f^)rkY$}2T1=6FT|0i3vfHRb z|9d&e*j|tFl)$CZ{f#YT-tVo*!EdY@F6{~iM90`|=c2vdkm~mUtNFC0kd zrnAYCuAy={RbE?ql}($>RPB@BdhIATq{vk;IW1;?z-T9qre|j_WMdMhth0b~wU@XL zlK_Kp0F8nig5OB+Z6{e^vAYV8g#8|61+qW?;KmC~*N>8Vm0lFs(!Mu7$(V7Nv%zof1vNBZvx`u&vOJ{8GcmXzV7ljLb-C18uu1Y> z+v{BG=pk8s-*L*$y9PuE@<0=x3b-qyQ_w@Vh3)R{+d^RYTF|Jw5QMkIsKpxgHG?zY z{wSi#Yv9qe&K_~wc&>y@y9Hy`NU6`rb!~d36HiI@rxqM~K!LrY!d*4hd*BO@5I3l9 zG>1X#0PL*5*C_>3ML}BrqPkc$2#rd)z#Wcj{_9wubGsUpW_s4RD~TxD-@-H|`S=s;oD@BG6Ca=O%TB2b?f8q}=`e7Putu=NHNiFL#%$r#sr$1Pqnc=h;3A!n@`AMd1O# z)Rf0!taHt@kZOc%!5y!MF}_gIb+r(1$`p;rcbx=)(y3Sn4Xqa3$@=*F;-8=V$Vl`( z1W@-B;#w|GH#-6iyvt0y)^x6H0?lVR=s8t0%PMaxO)q6k3^SUWn~SGJMh;i*LZRI6 ziY(#UI?;11a%GIEe-MSheTg5`I>nmkL}PEVo$mUi*_vNvU;QKU+P4x#ml21H#PDy5 z@Cd{)R(whvH#{qGGASkQxI{#?9M_;;>Jxuv-sc-T^SaoCYzHZcS0GW9o6aG)n#uv=g#b$l>Q7##6)Q>wO5Bb`b z2F$LUKB&&QQS4qnzTz}E*QlYIQJM=R<8Zj#7^zijNJGxNM%?5pFPbQUSo8wnS;RoV c)OxXEMDWWV8QK2bdH_5ZY@C03c0MrUzb^NhCjbBd delta 1799 zcmV+i2l)8X5Umi9Gk*u807x|9(_(vp!0w zkpQ6G4msan3xIMXfcY^0m*va(ryu{d{K4t_Z~yW4Vt?PALjcfj+lKdFPnI7?oCCNU z*59PhKmBq3+FdBzOh*QHX78WA|I~<4fB>M~Ry*|9r}vL4CjqCO{Nwlcm-p^M;kW7Y z+uzSWc6UkeW+@cvBmii))eimZv%?<6+@zFJ8vNl;Yp;L&{)hRq*Z(^!_?`I#0PWV0 z%YdKXPJcW3;soEqQGR~eZ~EHesGv>)fOcz00Nhvm-K@Pg82oMF+1>k#rwVlv0JK{} z>Hy|L`^BpOzx-$VhnxFR!Swz0Q-ykzEro)r6)xv}tnu?vx*85sN`Kw(+C!has(lo& zb?^22{p>I3^?Jqrl1g`IOR}@e@48zHs5dzltR*SIc2~Nnm?#Z@jb9>PGF|r@2BhQYv<$SS?t6eOWPf)cmV7(C(!TrvnPij zrGMloo~iP^x7zu4T`F?fj;#bhmP+^DYUdvghdW0CF59t{0LYTP_x3&KPbsDA>+3XJ zsf>aw>HxA-S_d#5kJDf8_VvUhUX@YNc0+50X02Of5KcYh>{7eF_Q3p`Sp?{rREkGgW0J5k9C}dM--uE>!+ow@6#%<#B)X51HygD*4e-z3DE7_Jx;lW|+lrUI*{JQI&C~%vV68d@;PEamFPEO@ zjuiMdG_DSy#Ca^sE-x>aI()C!TMGnYYGfTizu!;i=jX-SjcB#=&&)!=NPi%_H5GZHUkpH36fZ=c`90I9)67Y~Arw}OT(EUyfjjsc^ zzP@%{8jhsWI)Hs{?)mD~tN9T~QA+hn-h6d992RSfiqR7wclN3XuihP z0i>k!Lsc4A2hi*FbbhEv<3{QLTJ=k`7I>)O$MBq#{1zaDhw1=800g1Kv&q%~*yplc zm2A&;wueJ?Qc9D_2O<*y5SSH#wA1)@I36nkX{Yh+ zSP|%WtO%r?#=Mps=(T5d^;SE zRe@<8s{)tf6aWGf01%h}pjBqWf66#XDRnxX&SW$i*|`wRYy{9bJ3Fg&L*Ni50Lxh2 pfsV8XHh(oDEFU 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 literal 10346 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 diff --git a/assets/hbm/textures/gui/gui_refinery.png b/assets/hbm/textures/gui/gui_refinery.png index 86aff482962c4238a5071a3b76d624b10b70290e..fd4ced3ab3cf57e926ad0b3a6cb58de78ad6e509 100644 GIT binary patch literal 2640 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 japd1}&~M-W9$RPpG@WHu1B;~&uPwBVM-uN5sog literal 2711 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 diff --git a/assets/hbm/textures/items/biomass.png b/assets/hbm/textures/items/biomass.png new file mode 100755 index 0000000000000000000000000000000000000000..f1ee5f5e3b3b139741ff7db07203de5f9e83b644 GIT binary patch literal 501 zcmVhlu^zVw$4wvNVG&d!-|%$^gxH+f+GqRt-rvLX!281g(5p{5MH7|w z_v|UK^3hPbu9MH_fmP~^b_gzic&<#-#4rpBg#z{ZDQPKE4c>h_SD8!(+qNl}%fxZa zYPI6>(uOAL?bp}$l~OCr=W~4DXEK=}grHO^VObVI5Kyn5B7``c!1?@AIgUdZhOF0X zJkLW)Nfbr6u1k_6Os5Ha=jf5a#nqYWbUMUwj1U6Xbs3FD>~=d$(_}iG634rHc+cSC z>P)rUZF;>PQc8T^XR%nY*=%qehuLh#_4Thk7`S`9`BGK2T8$tG&@>IpvKWuY=({!+4@Q7u$mk^nt!H0J$A8fsV*tZ00000NkvXXu0mjf&<5o; literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/biomass_alt.png b/assets/hbm/textures/items/biomass_alt.png new file mode 100755 index 0000000000000000000000000000000000000000..3e0eee5eb63ef896f9d3eec141c7807bcd4f7ca7 GIT binary patch literal 525 zcmV+o0`mQdP)PTLF#MZz`bLc~EelO?55f`S(jh?f)k z0|f87^42@`PK>Ul=t6IziwYbeD`aHo$Y7g}o%Lg58`EQ_v$u<6xH|JrpS$<{em@V- z1MdsxA=fN|2*PS6od&8;Y{F;~xLqoRWYKcR-UwD^5RNVf9w*!}6`UckN?~a*xg-gD zGmN+SxvzM6pU)wsAvmBy1Ti)**D6_7c&po)92sOU_K8%sNJr;I{9QJ7VkPb$su&&_MSHeR_1ABP9^S*uX83ND@dpD$wQt1VW$R$z z@1cJ|5xsqVywpAtC|tmI$;Ic540|m)qy1rCzld_g;B^Pshz)mQ6OTP0R@bPh`Oa4iAT2&EY&dO9g?8ZYn3 Z!0^T2t^1UwZ70xU44$rjF6*2UngDmJb&CK1 literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/centrifuge_element.png b/assets/hbm/textures/items/centrifuge_element.png index 4e0460a14506b9fdda46e1c2ff480547581e43f2..7a4a24dccbf92ebc0b0d41793db4353c26b45bbb 100644 GIT binary patch delta 187 zcmV;s07UPj zVGc((Gv2ufp3^PrfSXEDx4zBr^qB>?nMZVyb3WeZ*4nf?JwNd`@XZTD`Sk0*fjHU#YO(WuK*FD)_Trn phKNjo@H3TC4tGC6RSmnh@&ahMGi|l%bH@Mx002ovPDHLkV1j<)Q?~#B delta 257 zcmV+c0sj8i0i6PnB!2;OQb$4nuFf3k00004XF*Lt006O%3;baP00009a7bBm000id z000id0mpBsWB>pF7<5HgbW?9;ba!ELWdLwtX>N2bZe?^JG%heMHD!e|WdHyGj!8s8 zR5(xVj=c?lAQXhz!VTPj%7v(@Y+Qpi>@A#wZJykV5Plv;LwalRC2-t*K@rgqVi?g{ z6R7hXF$5So=g3<7C=o*py!Si=#+a_82|yg?Klm&d{s9E>2fyH>;G7kgCBZ(SQud1r zK&dByyzUp5#If-p3UH=%2~Tae2@+v|A&-NwdA||E_mH{(^>4nhmtu`+00000NkvXX Hu0mjf4?<(( diff --git a/assets/hbm/textures/items/gas_bio.png b/assets/hbm/textures/items/gas_bio.png new file mode 100644 index 0000000000000000000000000000000000000000..83ddfc3fc9435f0b96a880df5cc3fced7d6914e3 GIT binary patch literal 225 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf`GN6+1HTj4*bLd)PHO(pJ;YV? z+~CjsZ}T7iKUL22zxcVqgD-5tdS~aIaUIo?%rVAXRCoKeG8|H*_ z_5c1@{?t=odtl0t_WOGOj;jxR*^A#B3Yah~=iXPNutst{;}NDgaXU8j2QBVoVJOrz V{(eWieLK*N44$rjF6*2UngBVvS-$`P literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/warhead_mirv.png b/assets/hbm/textures/items/warhead_mirv.png index 466952c7cd15c9d919ceba8cafc67d55d9d94619..9c01939b8e15f2a570adec272c27155be69629d9 100644 GIT binary patch delta 158 zcmV;P0Ac_B0lNW^C4X~5NmK|32nc)#WQYI&0CGu0K~y-6%~GopfFKZD9Rry!AQJcg zzk3x@_}^xECr>}wX7IV2m&cJ;G9CE0G+AqfClN@3APJICYlZjT%;AR?UIEBCcehfC31HR}Ko{7k$`_Ak2dv&DnC8^f>;M1& M07*qoM6N<$f<^~HQUCw| delta 225 zcmdnZ_>XadYJIw+uOkD)#(wTUiL49^44efXk;M!Qe1|}oQB=dL0VpU@;u=vBoS#-w zo>-L1P>`6JSE84fTB2a0XP{@9V_fG4R8!;W;uvD#zqIcn=K%!)XX{DI7G1yf3sqYk zY#w)hc^oKJ=|8{YN2_f9hR3{RDto^(REEFdh{}#KJoaOSQdtX6=Y6eBJX1L0H+K8j zGcfk9sNq==(R$@3+olSh5683?&F1|Oki2Vm_zj1)BuR#!ZmmiI>0APBQ*OG zi*!9GrL1+!i^FY~J)LtHV^$^eJOi-L!)Z9SLpmfYJIw+uOkD)#(wTUiL49^44efXk;M!Qe1|}oQB=dL0VpU@;u=vBoS#-w zo>-L1P>`6JSE84fTB2a0XP{@9V_fG4RFm)N;uvD#zqIcl?*RoKW=TzD1Fqlt6HoDb zE1H^2Ic{t5q4U|haF5ESDNDY;Q~2F6<;a=tsq$vMhFO{*D>^Sn{gXH06CSftP| z8R5E&Ie;;MYt6BQuiZrqHEaw@S}xP?`?qsAtK1jX^q;V)Z##SB=OyPO^BT?q?PlbP0l+XkK7|=@R diff --git a/assets/hbm/textures/items/warhead_nuclear.png b/assets/hbm/textures/items/warhead_nuclear.png index b80e8097bf28dbc22f1c6647ae501c107183fc35..617344c6f04efd935e5a9e3795088488124256d6 100644 GIT binary patch delta 211 zcmV;^04)FX0q_BkC4X~5NmK|32nc)#WQYI&0H;YrK~y-6-I5^=!!Qs8r%|O_9A*|6 z=>NaMPY4SOwowXNTWRcA1uf~o)$Pi6Uic;6``vrL_hyEk**V8Jj`TuqSLSJ&07xm3 zQexXSLI~A-C1kTC0Ah^YkfCRmge1%iGi$DMKfhpEmK;_zNlZmQQw2EZFf&33m7dq= z24v=WMiMc`a)%a|-}oti5b$=yS4nnw9`VS!uE&`|v&ukKm{yIy!UIr;O%$U*M}hzV N002ovPDHLkV1h;^Syli5 delta 215 zcmeys_=RzTYJIw+uOkD)#(wTUiL49^44efXk;M!Qe1|}oQB=dL0VpU@;u=vBoS#-w zo>-L1P>`6JSE84fTB2a0XP{@9V_fG4R8!>X;uvD#f3)u)?*RoKX30)LiPpcbHBBC_G;yt*k}IGyAN=8{17R65sCShY1BlUW=Mvs5X+o9-Mx#rkY!75}}{U#o%E OGkCiCxvX 0) { + List list = new ArrayList(); + + if(x < 30) + list.add(1); + if(x > 10 && x < 40) + list.add(2); + if(x > 30 && x < 60) + list.add(3); + if(x > 50 && x < 80) + list.add(4); + if(x > 70 && x < 100) + list.add(5); + if(x > 90) + list.add(6); + + world.playSoundAtEntity(entity, "hbm:item.geiger" + list.get(rand.nextInt(list.size())), 1.0F, 1.0F); + } else if(rand.nextInt(50) == 0) { + world.playSoundAtEntity(entity, "hbm:item.geiger"+ (1 + rand.nextInt(1)), 1.0F, 1.0F); + } + } + } + + static void setInt(ItemStack stack, int i, String name) { + if(!stack.hasTagCompound()) + stack.stackTagCompound = new NBTTagCompound(); + + stack.stackTagCompound.setInteger(name, i); + } + + static int getInt(ItemStack stack, String name) { + if(stack.hasTagCompound()) + return stack.stackTagCompound.getInteger(name); + + return 0; + } + + public static int check(World world, int x, int y, int z, int radius) { + int rads = 0; + int r = radius; + int r2 = r * r; + int r22 = r2 / 2; + for (int xx = -r; xx < r; xx++) { + int X = xx + x; + int XX = xx * xx; + for (int yy = -r; yy < r; yy++) { + int Y = yy + y; + int YY = XX + yy * yy; + for (int zz = -r; zz < r; zz++) { + int Z = zz + z; + int ZZ = YY + zz * zz; + if(ZZ < r22 / 3) { + rads += getRad(world.getBlock(X, Y, Z), 3); + } else if(ZZ < r22 / 3 * 2) { + rads += getRad(world.getBlock(X, Y, Z), 2); + } else if(ZZ < r22) { + rads += getRad(world.getBlock(X, Y, Z), 1); + } + } + } + } + + return rads; + } + + //level 1: farthest, 3: nearest + public static int getRad(Block b, int level) { + int i = 0; + + if(b == ModBlocks.waste_trinitite) { + i = 3; + } + if(b == ModBlocks.waste_trinitite_red) { + i = 3; + } + if(b == ModBlocks.ore_uranium) { + i = 2; + } + if(b == ModBlocks.ore_nether_plutonium) { + i = 15; + } + if(b == ModBlocks.block_trinitite) { + i = 20; + } + if(b == ModBlocks.block_waste) { + i = 25; + } + if(b == ModBlocks.waste_earth) { + i = 2; + } + if(b == ModBlocks.waste_mycelium) { + i = 7; + } + if(b == ModBlocks.block_uranium) { + i = 10; + } + if(b == ModBlocks.yellow_barrel) { + i = 30; + } + + return i * level; + } + +} diff --git a/com/hbm/main/ClientProxy.java b/com/hbm/main/ClientProxy.java index 725f1af78..0b15f12a8 100644 --- a/com/hbm/main/ClientProxy.java +++ b/com/hbm/main/ClientProxy.java @@ -35,6 +35,7 @@ import com.hbm.entity.grenade.EntityGrenadeStrong; import com.hbm.entity.grenade.EntityGrenadeTau; import com.hbm.entity.grenade.EntityGrenadeZOMG; import com.hbm.entity.item.EntityMinecartTest; +import com.hbm.entity.logic.EntityNukeExplosionAdvanced; import com.hbm.entity.missile.EntityBombletSelena; import com.hbm.entity.missile.EntityBombletTheta; import com.hbm.entity.missile.EntityMIRV; @@ -435,6 +436,8 @@ public class ClientProxy extends ServerProxy RenderingRegistry.registerEntityRenderingHandler(EntityMinerBeam.class, new RenderBeam3()); RenderingRegistry.registerEntityRenderingHandler(EntitySparkBeam.class, new RenderBeam4()); RenderingRegistry.registerEntityRenderingHandler(EntityLN2.class, new RenderLN2(ModItems.energy_ball)); + + RenderingRegistry.registerEntityRenderingHandler(EntityNukeExplosionAdvanced.class, new RenderSnowball(ModItems.energy_ball)); RenderingRegistry.registerEntityRenderingHandler(EntityMinecartTest.class, new RenderMinecartTest()); diff --git a/com/hbm/main/CraftingManager.java b/com/hbm/main/CraftingManager.java index 45faf1d53..60274a054 100644 --- a/com/hbm/main/CraftingManager.java +++ b/com/hbm/main/CraftingManager.java @@ -349,6 +349,20 @@ public class CraftingManager { GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 8), new Object[] { ModItems.rod_dual_schrabidium_fuel_depleted }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 16), new Object[] { ModItems.rod_quad_schrabidium_fuel_depleted }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.biomass, 4), new Object[] { Items.melon, Items.melon, Items.melon, Items.melon, Items.melon, Items.melon, Items.melon }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.biomass, 4), new Object[] { Items.apple, Items.apple, Items.apple, Items.apple, Items.apple, Items.apple, Items.apple, Items.apple, Items.apple }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.biomass, 4), new Object[] { Items.rotten_flesh, Items.rotten_flesh, Items.rotten_flesh, Items.rotten_flesh, Items.rotten_flesh, Items.rotten_flesh, Items.rotten_flesh }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.biomass, 4), new Object[] { Items.carrot, Items.carrot, Items.carrot, Items.carrot, Items.carrot, Items.carrot, Items.carrot, Items.carrot, Items.carrot }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.biomass, 4), new Object[] { Items.potato, Items.potato, Items.potato, Items.potato, Items.potato, Items.potato, Items.potato, Items.potato, Items.potato }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.biomass, 4), new Object[] { Items.poisonous_potato, Items.poisonous_potato, Items.poisonous_potato, Items.poisonous_potato, Items.poisonous_potato, Items.poisonous_potato, Items.poisonous_potato, Items.poisonous_potato, Items.poisonous_potato }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.biomass, 4), new Object[] { Items.potato, Items.potato, Items.potato, Items.potato, Items.potato, Items.potato, Items.potato, Items.potato, Items.potato }); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.biomass, 4), new Object[] { "treeSapling", "treeSapling", "treeSapling", "treeSapling", "treeSapling", "treeSapling", "treeSapling" })); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.biomass, 4), new Object[] { "treeLeaves", "treeLeaves", "treeLeaves", "treeLeaves", "treeLeaves" })); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.biomass, 8), new Object[] { Blocks.pumpkin, Blocks.pumpkin, Blocks.pumpkin, Blocks.pumpkin, Blocks.pumpkin, Blocks.pumpkin }); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.biomass, 6), new Object[] { "logWood", "logWood", "logWood" })); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.biomass, 4), new Object[] { "plankWood", "plankWood", "plankWood", "plankWood", "plankWood", "plankWood", "plankWood", "plankWood", "plankWood" })); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.biomass, 8), new Object[] { Blocks.hay_block, Blocks.hay_block }); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.part_lithium), new Object[] { "P", "D", "P", 'P', "plateSteel", 'D', "dustLithium" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.part_beryllium), new Object[] { "P", "D", "P", 'P', "plateSteel", 'D', "dustBeryllium" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.part_carbon), new Object[] { "P", "D", "P", 'P', "plateSteel", 'D', "dustCoal" })); diff --git a/com/hbm/tileentity/deco/TileEntityYellowBarrel.java b/com/hbm/tileentity/deco/TileEntityYellowBarrel.java index e66ae93d5..22a1001dd 100644 --- a/com/hbm/tileentity/deco/TileEntityYellowBarrel.java +++ b/com/hbm/tileentity/deco/TileEntityYellowBarrel.java @@ -5,6 +5,7 @@ import java.util.List; import com.hbm.entity.mob.EntityNuclearCreeper; import com.hbm.lib.Library; +import com.hbm.lib.ModDamageSource; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -85,9 +86,11 @@ public class TileEntityYellowBarrel extends TileEntity { this.worldObj.spawnEntityInWorld(creep); } else if(entity instanceof EntityLivingBase && !(entity instanceof EntityNuclearCreeper) && !(entity instanceof EntityMooshroom) && !(entity instanceof EntityZombie)) { - ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.poison.getId(), 2 * 60 * 20, 2)); - ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.wither.getId(), 20, 4)); - ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.moveSlowdown.getId(), 1 * 60 * 20, 1)); + ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.poison.getId(), 60 * 20, 1)); + ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.wither.getId(), 20, 0)); + ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.moveSlowdown.getId(), 30 * 20, 1)); + ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.confusion.id, 30 * 20, 0)); + entity.attackEntityFrom(ModDamageSource.radiation, 2.5F); } } } diff --git a/com/hbm/tileentity/machine/TileEntityMachineDiesel.java b/com/hbm/tileentity/machine/TileEntityMachineDiesel.java index c417400d8..a82b9b1f2 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineDiesel.java +++ b/com/hbm/tileentity/machine/TileEntityMachineDiesel.java @@ -232,12 +232,7 @@ public class TileEntityMachineDiesel extends TileEntity implements ISidedInvento } public boolean hasAcceptableFuel() { - FluidType type = tank.getTankType(); - if(type.name().equals(FluidType.DIESEL.name())) - return true; - if(type.name().equals(FluidType.PETROIL.name())) - return true; - return false; + return getHEFromFuel() > 0; } public int getHEFromFuel() { @@ -246,6 +241,8 @@ public class TileEntityMachineDiesel extends TileEntity implements ISidedInvento return 250; if(type.name().equals(FluidType.PETROIL.name())) return 150; + if(type.name().equals(FluidType.BIOFUEL.name())) + return 200; return 0; } diff --git a/com/hbm/tileentity/machine/TileEntityReactorMultiblock.java b/com/hbm/tileentity/machine/TileEntityReactorMultiblock.java index 3aa55ebbe..c81e4a3e7 100644 --- a/com/hbm/tileentity/machine/TileEntityReactorMultiblock.java +++ b/com/hbm/tileentity/machine/TileEntityReactorMultiblock.java @@ -10,9 +10,12 @@ import com.hbm.blocks.machine.MachineGenerator; import com.hbm.entity.logic.EntityNukeExplosionAdvanced; import com.hbm.entity.mob.EntityNuclearCreeper; import com.hbm.explosion.ExplosionParticle; +import com.hbm.handler.FluidTypeHandler.FluidType; import com.hbm.interfaces.IConsumer; +import com.hbm.interfaces.IFluidContainer; import com.hbm.interfaces.IReactor; import com.hbm.interfaces.ISource; +import com.hbm.inventory.FluidTank; import com.hbm.items.ModItems; import com.hbm.items.special.ItemFuelRod; import com.hbm.lib.Library; @@ -35,12 +38,8 @@ import net.minecraft.util.MathHelper; import net.minecraft.util.Vec3; import net.minecraft.world.World; -public class TileEntityReactorMultiblock extends TileEntity implements ISidedInventory, IReactor, ISource { +public class TileEntityReactorMultiblock extends TileEntity implements ISidedInventory, ISource, IFluidContainer { - public int water; - public final static int waterMax = 10000000; - public int cool; - public final static int coolMax = 10000000; public int heat; public final static int heatMax = 1000000; public int power; @@ -48,13 +47,17 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv private ItemStack slots[]; public int age = 0; public List list = new ArrayList(); + public FluidTank[] tanks; public boolean isLoaded = false; private String customName; public TileEntityReactorMultiblock() { - slots = new ItemStack[34]; + slots = new ItemStack[36]; + tanks = new FluidTank[2]; + tanks[0] = new FluidTank(FluidType.WATER, 128000, 0); + tanks[1] = new FluidTank(FluidType.COOLANT, 64000, 1); } @Override public int getSizeInventory() { @@ -169,8 +172,8 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv super.readFromNBT(nbt); NBTTagList list = nbt.getTagList("items", 10); - water = nbt.getInteger("water"); - cool = nbt.getInteger("cool"); + tanks[0].readFromNBT(nbt, "water"); + tanks[1].readFromNBT(nbt, "coolant"); power = nbt.getInteger("power"); heat = nbt.getInteger("heat"); @@ -190,8 +193,8 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); - nbt.setInteger("water", water); - nbt.setInteger("cool", cool); + tanks[0].writeToNBT(nbt, "water"); + tanks[1].writeToNBT(nbt, "coolant"); nbt.setInteger("power", power); nbt.setInteger("heat", heat); NBTTagList list = new NBTTagList(); @@ -222,83 +225,13 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv if(age == 9 || age == 19) ffgeuaInit(); - //if(!worldObj.isRemote) + if(!worldObj.isRemote) { - if(slots[30] != null && slots[30].getItem() == Items.water_bucket && this.water + 250000 <= waterMax) - { - this.slots[30].stackSize--; - this.water += 250000; - if(this.slots[30].stackSize == 0) - { - this.slots[30] = this.slots[30].getItem().getContainerItem(this.slots[30]); - } - } - if(slots[30] != null && slots[30].getItem() == ModItems.rod_water && this.water + 250000 <= waterMax) - { - this.slots[30].stackSize--; - this.water += 250000; - if(this.slots[30].stackSize == 0) - { - this.slots[30] = this.slots[30].getItem().getContainerItem(this.slots[30]); - } - } - if(slots[30] != null && slots[30].getItem() == ModItems.rod_dual_water && this.water + 500000 <= waterMax) - { - this.slots[30].stackSize--; - this.water += 500000; - if(this.slots[30].stackSize == 0) - { - this.slots[30] = this.slots[30].getItem().getContainerItem(this.slots[30]); - } - } - if(slots[30] != null && slots[30].getItem() == ModItems.rod_quad_water && this.water + 1000000 <= waterMax) - { - this.slots[30].stackSize--; - this.water += 1000000; - if(this.slots[30].stackSize == 0) - { - this.slots[30] = this.slots[30].getItem().getContainerItem(this.slots[30]); - } - } - if(slots[30] != null && slots[30].getItem() == ModItems.inf_water) - { - this.water = waterMax; - } + tanks[0].loadTank(30, 31, slots); + tanks[1].loadTank(32, 33, slots); - if(slots[31] != null && slots[31].getItem() == ModItems.rod_coolant && this.cool + 250000 <= coolMax) - { - this.slots[31].stackSize--; - this.cool += 250000; - if(this.slots[31].stackSize == 0) - { - this.slots[31] = this.slots[31].getItem().getContainerItem(this.slots[31]); - } - } - - if(slots[31] != null && slots[31].getItem() == ModItems.rod_dual_coolant && this.cool + 500000 <= coolMax) - { - this.slots[31].stackSize--; - this.cool += 500000; - if(this.slots[31].stackSize == 0) - { - this.slots[31] = this.slots[31].getItem().getContainerItem(this.slots[31]); - } - } - - if(slots[31] != null && slots[31].getItem() == ModItems.rod_quad_coolant && this.cool + 1000000 <= coolMax) - { - this.slots[31].stackSize--; - this.cool += 1000000; - if(this.slots[31].stackSize == 0) - { - this.slots[31] = this.slots[31].getItem().getContainerItem(this.slots[31]); - } - } - - if(slots[31] != null && slots[31].getItem() == ModItems.inf_coolant) - { - this.cool = coolMax; - } + for(int i = 0; i < 2; i++) + tanks[i].updateTank(xCoord, yCoord, zCoord); if(hasFuse()) @@ -493,19 +426,19 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv ((slots[28] != null && !(slots[28].getItem() instanceof ItemFuelRod)) || slots[28] == null) && ((slots[29] != null && !(slots[29].getItem() instanceof ItemFuelRod)) || slots[29] == null)) { - if(this.heat - 10 >= 0 && this.cool - 10 >= 0) + if(this.heat - 10 >= 0 && tanks[1].getFill() - 2 >= 0) { this.heat -= 10; - this.cool -= 2; + this.tanks[1].setFill(tanks[1].getFill() - 2); } - if(this.heat < 10 && this.cool != 0) + if(this.heat < 10 && heat != 0 && this.tanks[1].getFill() != 0) { this.heat--; - this.cool--; + this.tanks[1].setFill(tanks[1].getFill() - 1); } - if(this.heat != 0 && this.cool == 0) + if(this.heat != 0 && this.tanks[1].getFill() == 0) { this.heat--; } @@ -589,7 +522,6 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv } - @Override public boolean isStructureValid(World world) { if(world.getBlock(this.xCoord, this.yCoord, this.zCoord) == ModBlocks.reactor_computer && world.getBlock(this.xCoord, this.yCoord + 1, this.zCoord) == ModBlocks.reactor_conductor && @@ -628,7 +560,6 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv return false; } - @Override public boolean isCoatingValid(World world) { if(world.getBlock(this.xCoord - 1, this.yCoord + 2, this.zCoord - 1)== ModBlocks.brick_concrete && world.getBlock(this.xCoord + 1, this.yCoord + 2, this.zCoord + 1)== ModBlocks.brick_concrete && @@ -689,47 +620,34 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv return false; } - @Override - public int getWaterScaled(int i) { - return (water * i) / waterMax; - } - - @Override - public int getCoolantScaled(int i) { - return (cool * i) / coolMax; - } - - @Override public int getPowerScaled(int i) { return (power * i) / maxPower; } - @Override public int getHeatScaled(int i) { return (heat * i) / heatMax; } - @Override public boolean hasFuse() { return slots[33] != null && (slots[33].getItem() == ModItems.fuse || slots[33].getItem() == ModItems.screwdriver); } - + public void attemptPower(int i) { - if(this.water - i >= 0) + if(this.tanks[0].getFill() - i >= 0) { this.power += i; - this.water -= i; + this.tanks[0].setFill(tanks[0].getFill() - i); } } - + public void attemptHeat(int i) { Random rand = new Random(); - int j = rand.nextInt(i); + int j = rand.nextInt(i + 1); - if(this.cool - j >= 0) + if(this.tanks[1].getFill() - j >= 0) { - this.cool -= j; + this.tanks[1].setFill(tanks[1].getFill() - j); } else { this.heat += i; } @@ -793,4 +711,16 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv public void clearList() { this.list.clear(); } + + @Override + public void setFillstate(int fill, int index) { + if(index < 2 && tanks[index] != null) + tanks[index].setFill(fill); + } + + @Override + public void setType(FluidType type, int index) { + if(index < 2 && tanks[index] != null) + tanks[index].setTankType(type); + } }