From 639ef099e75e80be478e9cf6e33aab83ed8c33c1 Mon Sep 17 00:00:00 2001 From: HbmMods Date: Fri, 23 Sep 2016 20:34:21 +0200 Subject: [PATCH] FWatz, new liquids, CMB furnace --- assets/hbm/lang/de_DE.lang | 26 +- assets/hbm/lang/en_US.lang | 24 +- assets/hbm/textures/blocks/acid_flowing.png | Bin 0 -> 4105 bytes .../textures/blocks/acid_flowing.png.mcmeta | 5 + assets/hbm/textures/blocks/acid_still.png | Bin 0 -> 4855 bytes .../hbm/textures/blocks/acid_still.png.mcmeta | 45 + assets/hbm/textures/blocks/cmb_brick.png | Bin 0 -> 327 bytes .../textures/blocks/cmb_brick_reinforced.png | Bin 0 -> 374 bytes assets/hbm/textures/blocks/fwatz_hatch.png | Bin 432 -> 468 bytes assets/hbm/textures/blocks/toxic_flowing.png | Bin 0 -> 4015 bytes .../textures/blocks/toxic_flowing.png.mcmeta | 5 + assets/hbm/textures/blocks/toxic_still.png | Bin 0 -> 4419 bytes .../textures/blocks/toxic_still.png.mcmeta | 45 + assets/hbm/textures/items/bucket_acid.png | Bin 0 -> 331 bytes assets/hbm/textures/items/bucket_toxic.png | Bin 0 -> 330 bytes .../hbm/textures/items/canister_superfuel.png | Bin 0 -> 264 bytes assets/hbm/textures/items/clip_fatman.png | Bin 0 -> 278 bytes assets/hbm/textures/items/clip_mp.png | Bin 0 -> 278 bytes .../textures/items/clip_revolver_cursed.png | Bin 0 -> 272 bytes .../hbm/textures/items/clip_revolver_lead.png | Bin 0 -> 334 bytes assets/hbm/textures/items/inf_antimatter.png | Bin 0 -> 275 bytes .../textures/items/inf_antischrabidium.png | Bin 0 -> 275 bytes assets/hbm/textures/items/overfuse.png | Bin 0 -> 385 bytes assets/hbm/textures/items/screwdriver.png | Bin 0 -> 282 bytes assets/hbm/textures/items/singularity_5.png | Bin 0 -> 339 bytes assets/hbm/textures/models/ModelMP.png | Bin 973 -> 1295 bytes com/hbm/blocks/AcidBlock.java | 119 +++ com/hbm/blocks/AcidFluid.java | 28 + com/hbm/blocks/BlockOre.java | 3 + com/hbm/blocks/FWatzCore.java | 26 +- com/hbm/blocks/FWatzHatch.java | 71 ++ com/hbm/blocks/ModBlocks.java | 28 + com/hbm/blocks/MudBlock.java | 98 ++ com/hbm/blocks/ToxicBlock.java | 145 +++ com/hbm/blocks/ToxicFluid.java | 28 + com/hbm/blocks/YellowBarrel.java | 8 +- com/hbm/gui/ContainerFWatzCore.java | 172 ++++ com/hbm/gui/ContainerMachineCMBFactory.java | 17 +- com/hbm/gui/GUIFWatzCore.java | 60 ++ com/hbm/gui/GUIMachineCMBFactory.java | 13 +- com/hbm/items/ItemBoy.java | 2 +- com/hbm/items/ItemClip.java | 32 + com/hbm/items/ItemCustomLore.java | 18 +- com/hbm/items/ItemDrop.java | 4 +- com/hbm/items/ItemFleija.java | 2 +- com/hbm/items/ItemFuelRod.java | 2 +- com/hbm/items/ItemGadget.java | 2 +- com/hbm/items/ItemManMike.java | 2 +- com/hbm/items/ItemMike.java | 2 +- com/hbm/items/ItemRadioactive.java | 206 ++++ com/hbm/items/ItemTsar.java | 2 +- com/hbm/items/ItemWandS.java | 12 +- com/hbm/items/ModItems.java | 100 +- com/hbm/items/WatzFuel.java | 2 +- com/hbm/lib/Library.java | 7 +- com/hbm/lib/ModDamageSource.java | 2 + com/hbm/main/GUIHandler.java | 19 + com/hbm/main/MainRegistry.java | 6 +- com/hbm/tileentity/TileEntityFWatzCore.java | 538 ++++++++++ .../TileEntityFusionMultiblock.java | 6 +- com/hbm/tileentity/TileEntityLaunchPad.java | 2 +- .../tileentity/TileEntityMachineBattery.java | 2 +- .../TileEntityMachineCMBFactory.java | 91 +- .../TileEntityMachineElectricFurnace.java | 2 +- ...eEntityMachineSchrabidiumTransmutator.java | 2 +- .../tileentity/TileEntityMachineShredder.java | 2 +- .../TileEntityReactorMultiblock.java | 4 +- com/hbm/world/FWatz.java | 937 ++++++++++++++++++ 68 files changed, 2884 insertions(+), 90 deletions(-) create mode 100644 assets/hbm/textures/blocks/acid_flowing.png create mode 100644 assets/hbm/textures/blocks/acid_flowing.png.mcmeta create mode 100644 assets/hbm/textures/blocks/acid_still.png create mode 100644 assets/hbm/textures/blocks/acid_still.png.mcmeta create mode 100644 assets/hbm/textures/blocks/cmb_brick.png create mode 100644 assets/hbm/textures/blocks/cmb_brick_reinforced.png create mode 100644 assets/hbm/textures/blocks/toxic_flowing.png create mode 100644 assets/hbm/textures/blocks/toxic_flowing.png.mcmeta create mode 100644 assets/hbm/textures/blocks/toxic_still.png create mode 100644 assets/hbm/textures/blocks/toxic_still.png.mcmeta create mode 100644 assets/hbm/textures/items/bucket_acid.png create mode 100644 assets/hbm/textures/items/bucket_toxic.png create mode 100644 assets/hbm/textures/items/canister_superfuel.png create mode 100644 assets/hbm/textures/items/clip_fatman.png create mode 100644 assets/hbm/textures/items/clip_mp.png create mode 100644 assets/hbm/textures/items/clip_revolver_cursed.png create mode 100644 assets/hbm/textures/items/clip_revolver_lead.png create mode 100644 assets/hbm/textures/items/inf_antimatter.png create mode 100644 assets/hbm/textures/items/inf_antischrabidium.png create mode 100644 assets/hbm/textures/items/overfuse.png create mode 100644 assets/hbm/textures/items/screwdriver.png create mode 100644 assets/hbm/textures/items/singularity_5.png create mode 100644 com/hbm/blocks/AcidBlock.java create mode 100644 com/hbm/blocks/AcidFluid.java create mode 100644 com/hbm/blocks/ToxicBlock.java create mode 100644 com/hbm/blocks/ToxicFluid.java create mode 100644 com/hbm/gui/ContainerFWatzCore.java create mode 100644 com/hbm/gui/GUIFWatzCore.java create mode 100644 com/hbm/items/ItemRadioactive.java create mode 100644 com/hbm/tileentity/TileEntityFWatzCore.java create mode 100644 com/hbm/world/FWatz.java diff --git a/assets/hbm/lang/de_DE.lang b/assets/hbm/lang/de_DE.lang index 1ff2586ef..5545525ad 100644 --- a/assets/hbm/lang/de_DE.lang +++ b/assets/hbm/lang/de_DE.lang @@ -14,6 +14,8 @@ death.attack.tauBlast=%1$s lud die XVL1456 zu lange auf und wurde in Stücke ger death.attack.chopperBullet=%1$s wurde von %2$s gerekt. death.attack.cmb=%1$s wurde von %2$s pulverisiert. death.attack.subAtomic=%1$s's Atome wurden von %2$s vernichtet. +death.attack.radiation=%1$s starb an Strahlenvergiftung. +death.attack.acid=%1$s fiel in Säure. item.redstone_sword.name=Redstoneschwert item.big_sword.name=Großes Schwert @@ -121,6 +123,7 @@ container.machineDiesel=Dieselgenerator tile.machine_shredder.name=Shredder container.machineShredder=Shredder tile.machine_combine_factory.name=CMB-Stahl Hochofen +container.machineCMB=CMB-Stahl Hochofen tile.factory_titanium_hull.name=Einfache Fabrikshülle tile.factory_titanium_furnace.name=Einfache Fabrikzugriffsluke @@ -271,6 +274,9 @@ tile.brick_concrete.name=Betonziegel tile.brick_obsidian.name=Obsidianziegel tile.brick_light.name=Helle Ziegel +tile.cmb_brick.name=CMB-Stahlfliese +tile.cmb_brick_reinforced.name=Verstärkte CMB-Ziegel + item.nugget_uranium.name=Urannugget item.nugget_plutonium.name=Plutoniumnugget item.nugget_neptunium.name=Neptuniumnugget @@ -353,6 +359,8 @@ item.inf_tritium.name=Unendlicher Tritiumtank item.inf_coolant.name=Unendlicher Kühlflüssigkeitstank item.inf_sulfur.name=Unendlicher Schwefeltank item.inf_diesel.name=Unendlicher Dieseltank +item.inf_antimatter.name=Unendlicher Antimaterietank +item.inf_antischrabidium.name=Unendlicher Antischrabidiumtank item.canister_empty.name=Leerer Kanister item.canister_fuel.name=Treibstoffkanister @@ -411,7 +419,7 @@ item.rod_waste.name=Atommüllstab item.rod_dual_waste.name=Doppelter Atommüllstab item.rod_quad_waste.name=Vierfacher Atommüllstab -item.gun_rpg.name=RPG +item.gun_rpg.name=Raketenwerfer item.gun_rpg_ammo.name=Rakete item.flame_pony.name=Bild eines Cartoon Ponys @@ -544,7 +552,7 @@ item.gun_revolver_cursed.name=Verfluchte Pistole item.gun_fatman.name=M42 Nukleares Katapult "Fat Man" item.gun_xvl1456.name=XVL1456 Tau-Kanone Prototyp item.gun_osipr.name=Standartausrüstung für Sicherheitskräfte -item.gun_mp.name=Des Pazifistens Machinegewehr +item.gun_mp.name=Des Pazifistens Maschinengewehr item.gun_zomg.name=Singularitätsbetriebener Paarvernichtungsstrahl "ZOMG Kanone" item.gun_super_shotgun.name=Super Shotgun item.gun_moist_nugget.name=Moisn-Nagant @@ -568,6 +576,10 @@ item.clip_revolver_schrabidium.name=Schrabidium-Muntionsbehälter item.clip_rpg.name=Raketenbehälter item.clip_xvl1456.name=Große Isotopenbox item.clip_osipr.name=AR2 Magazin +item.clip_revolver_lead.name=Box voll Atompatronen +item.clip_revolver_cursed.name=Magazin der Standardpistole des Britannischen Militärs +item.clip_fatman.name=Miniatombomben im Sechserpack +item.clip_mp.name=Magazin des Standardsturmgewehrs des Britannischen Militärs tile.block_schrabidium.name=Schrabidiumblock item.plate_gold.name=Goldplatte @@ -706,6 +718,9 @@ item.wand_k.name=Konstruktions-Zauberstab item.wand_s.name=Struktur-Zauberstab item.wand_d.name=Debug-Zauberstab +item.screwdriver.name=Schraubenzieher +item.overfuse.name=Singularitätsschraubenzieher + item.steel_helmet.name=Stahlhelm item.steel_plate.name=Stahlbrustpanzer item.steel_legs.name=Stahlbeinschutz @@ -774,7 +789,14 @@ item.pellet_advanced.name=Fortgeschrittenes Watzaufwertugspellet item.titanium_filter.name=Titanfilter tile.mud_block.name=Giftiger Schlamm +fluid.mud_fluid=Giftiger Schlamm item.bucket_mud.name=Eimer mit giftigem Schlamm +tile.acid_block.name=Säure +fluid.acid_fluid=Säure +item.bucket_acid.name=Säureeimer +tile.toxic_block.name=Stereotypischer grüner Schleim +fluid.toxic_fluid=Stereotypischer grüner Schleim +item.bucket_toxic.name=Eimer mit stereotypischem grünen Schleim item.tank_waste_0.name=Schlammcontainer item.tank_waste_1.name=Schlammcontainer item.tank_waste_2.name=Schlammcontainer diff --git a/assets/hbm/lang/en_US.lang b/assets/hbm/lang/en_US.lang index 9af113eda..e43e45594 100644 --- a/assets/hbm/lang/en_US.lang +++ b/assets/hbm/lang/en_US.lang @@ -14,6 +14,8 @@ death.attack.tauBlast=%1$s charged the XVL1456 for too long and was blown into p death.attack.chopperBullet=%1$s was rekt by %2$s. death.attack.cmb=%1$s was fizzeled by %2$s. death.attack.subAtomic=%1$s's atoms were annihilated by %2$s. +death.attack.radiation=%1$s died from radiation poisoning. +death.attack.acid=%1$s fell into acid. item.redstone_sword.name=Redstone Sword item.big_sword.name=Great Sword @@ -121,6 +123,7 @@ container.machineDiesel=Diesel Generator tile.machine_shredder.name=Shredder container.machineShredder=Shredder tile.machine_combine_factory.name=CMB Steel Furnace +container.machineCMB=CMB Steel Furnace tile.factory_titanium_hull.name=Basic Factory Casing tile.factory_titanium_furnace.name=Basic Factory Access Hatch @@ -271,6 +274,9 @@ tile.brick_concrete.name=Concrete Bricks tile.brick_obsidian.name=Obsidian Bricks tile.brick_light.name=Light Bricks +tile.cmb_brick.name=CMB Steel Tile +tile.cmb_brick_reinforced.name=Reinforced CMB Bricks + item.nugget_uranium.name=Uranium Nugget item.nugget_plutonium.name=Plutonium Nugget item.nugget_neptunium.name=Neptunium Nugget @@ -353,6 +359,8 @@ item.inf_tritium.name=Infinite Tritium Tank item.inf_coolant.name=Infinite Coolant Tank item.inf_sulfur.name=Infinite Sulfur Tank item.inf_diesel.name=Infinite Diesel Tank +item.inf_antimatter.name=Infinite Antimatter Tank +item.inf_antischrabidium.name=Infinite Antischrabidium Tank item.canister_empty.name=Empty Canister item.canister_fuel.name=Fuel Canister @@ -411,7 +419,7 @@ item.rod_waste.name=Nuclear Waste Rod item.rod_dual_waste.name=Nuclear Waste Dual Rod item.rod_quad_waste.name=Nuclear Waste Quad Rod -item.gun_rpg.name=RPG +item.gun_rpg.name=Rocket Launcher item.gun_rpg_ammo.name=Rocket item.flame_pony.name=Painting of a Cartoon Pony @@ -568,6 +576,10 @@ item.clip_revolver_schrabidium.name=Schrabidium Ammo Container item.clip_rpg.name=Rocket Container item.clip_xvl1456.name=Large Isotope Box item.clip_osipr.name=AR2 Magazine +item.clip_revolver_lead.name=Box of Nuclear Bullets +item.clip_revolver_cursed.name=Britannia Military Standard Issue Pisol Magazine +item.clip_fatman.name=Six Pack of Mini Nukes +item.clip_mp.name=Britannia Military Standard Issue Assult Rifle Magazine tile.block_schrabidium.name=Block of Schrabidium item.plate_gold.name=Gold Plate @@ -706,6 +718,9 @@ item.wand_k.name=Construction Wand item.wand_s.name=Structure Wand item.wand_d.name=Debug Wand +item.screwdriver.name=Screwdriver +item.overfuse.name=Singularity Screwdriver + item.steel_helmet.name=Steel Helmet item.steel_plate.name=Steel Chestplate item.steel_legs.name=Steel Leggings @@ -774,7 +789,14 @@ item.pellet_advanced.name=Advanced Watz Performance Improver item.titanium_filter.name=Titanium Filter tile.mud_block.name=Poisonous Mud +fluid.mud_fluid=Poisonous Mud item.bucket_mud.name=Bucket of Poisonous Mud +tile.acid_block.name=Acid +fluid.acid_fluid=Acid +item.bucket_acid.name=Bucket of Acid +tile.toxic_block.name=Stereotypical Green Ooze +fluid.toxic_fluid=Stereotypical Green Ooze +item.bucket_toxic.name=Bucket of Stereotypical Green Ooze item.tank_waste_0.name=Mud Container item.tank_waste_1.name=Mud Container item.tank_waste_2.name=Mud Container diff --git a/assets/hbm/textures/blocks/acid_flowing.png b/assets/hbm/textures/blocks/acid_flowing.png new file mode 100644 index 0000000000000000000000000000000000000000..1a0017f89ab441500c37c87dee35cc19c1a8cd48 GIT binary patch literal 4105 zcmeHK`8(9>`+xVzGImmp=_sT$2xBa1F|vlpG9uX;ni0m9tt>;+*s>*K8A6sBvNP6* zlWdKNV?UOINl0UaNn*su`JVGPe1G~p*Y#ZYeciu2&;5E{uh)G&@s_u42=Sld2LM3G z#Mr?4FiHc!e*nK@4!eGFy04DegtL)f!SeTegasS1Qw@&r8!`QafG>Wl=YcwZJBptg^&G}|2s=) zdtG#wE&glk!~sX@;Frw7;U)jK{)fQ-CjxMnp@PHn`239R0{}ok?C*Uf^1e&zVG$B& zcqb6)iwO)tJwyY3C=Z`NWgm2)w7N1(Srx9&<+Ta`f}th`x;BrTSvmI9DdS^C0%Pqe zFP>lbvupKk(*AW2IUCO1$Wgc|=enBWnd4+j^}N zN)E?5m@{^JQ{h)jPZESnyuEJ8mq682J30(dluFmY^G2~SHNI~wd>li%kU@kbpH#=p zy5T+s)Di6itxd$_;;mGzKCN!k)wy2GS{Mlrd&x&B_JH3VZKzTVVv!gK`n}^w8y^`nqTE_agMJ@HQO6LEaF7#7q#?moy?CvrXgH z^+-u8UgAf==P!4Yu|yJfZcxjgRtpc$&|T8D4Pi zR={u)oWQu-LY#V?ytOwB4MDZl?6l>11~>cAv_3G$ZeFS!o1YP_0lkk!e~`o*BS3Uf zbcUXgX_f>miKoyS^TD%PCJrw>m16+u6x6#L$&V2=`t2s9b3WG6+ev$hAee?ttmZyqa4s=>^oH^-tkow6KnYL5pY@&wSq&&T*D8h7rLAfkvQIuk>da{t`?>ob(P+NVEVzY@E>}`4!OqU`i+z}*zOyXK5l&B2G2|*a8=eAIhRwyluCG+a!nMBWhnp8qxZsN%ixi zMrVTT-q2~t7}yfNa z(m1vV-Zzy{^!{R4Vg7KwuELI1k>w{mJivpWFTX^i7yjs;!68m0U-mg9w(j}}CQQ3v zU(G2?TdhFSDAMwZS7zD?;^e)6KB_o8O#Dz>kcq0iS=(tuhmoo|e)D~7tjJXh=!xLD!@bW8&?tDDRDqmhL;s2#9GQMajTZ{B-z+m{-0dF9Sy0i$Y!c~ zjLluo65>T5B7ckBsg{cNb-xAi)#_TdFq!HXSI)|m(IS?M!UouxP5=HLeg@UNi zFV_k0u6*;v!@`WZUKa@9!Cf0C5@Z=+T_jOdJ$;P}O09B^5c$XzoeQxoLKbK0T zSK?yCinu|Rd;#s1XF_)v=&U^Tc7gR8{*^U&_%;n2FtDEt!*L8CVi&X*VuQsE)}IMX zv%kf$)qjB0q~zyh2VUiOXnUMr9E@W>kwRPx|C191=0PjxYkG46exr%@cx+KA@kbK) zQJPuDH-{Ks-|~rjN_HkHP7mat9BFUA;s25wO^KDkT4;8K&AGTo*rFQN77{wteOk3f`PDb6=#nFeA`7Yu(b;3q# zU#b6KrZtUCc#6b;+{|C~D0R2w9hy4T-*(p1@nvHp3GNV+=3fj8K$vP=-@aqP1tIgsfG=L~U-+A$U`QyZ0G(3)hScNkX+d>PGTywUs){=jqKVkKg#n`#5fk-hk9jQ=op`Katloa-nn4uPaAed`ecb zpt3>LMnC;?C~xk^-%o?3`6D2ZDI4FE6)m)_W4SOp#{RmN{z;2G;e>oQ6PNJqCn!hQtX?1r1K9L{CY8Fr{#ooB@S7})Mh#-^L z!^^dAwbJG)cAg&da83fhK}CXNU<{*E8I|!| z6%xs0d%N`+k<2%;EoV35Y&P5d9}Jp}ZSS;Of$}THtuVB~C%vEXYK%L91vAk@3K=sQ zp)YN_^g36ibHuBBddZEi4i$R;vhS_kjXNASt@C|97*-k_#%Vz%p(8b&1Y@m?g?CnTVj$^GF}0vfW-R5yPlvdw)o} zK}RqU{gzAp_i8uOjCi8yC71eFB|7KJb z>eJY4&ZphKG^2}-?N45$eqWLZ->JrsI!M}o<+yE5TuQMQRv|`e_P?T;-3oZ3mkpC+ z_ClzIk(#}aXl7Zn7t!9|2Q;d09P;sc@E1`AKsuZ8g ziC8ABAIw#8a_gDu1#)8Mz-s^Hf3Cq zaa}iiT^ZN>_Wd`$kMHa8IFIM+oZrst$5-@YqX$>%xaj}@S9Kq1nfxUa0GHHhDgU~V zafZJO;J15dVhF$+5deZh0U%%e{iCFuSHFjb)EGr(4Z-Wt&N1@wOf1NC6A0Sq;Q;bt(>0!CZG_crjO1B`Wo@h&jY z4JLa44hyDw!OuQ0Jpg8gz^`F2`yI^x01IOPKLHkTfG`D?egfh&`27nk&w-VBu(|-& z@R!yXDK-d{n@dz%MC$Ejn%xyz((0AHHM&3R^!uAv54RYPwjtzQ<`WXj=^@9(3E#zq z*xALM{lEGCzy6OUki$Vs_4lPK?hl{727sRVf9F!*%NL1%k6d2ba4%Cg2QOb+PkZ2Q zi*WUlcD487mzS26z9pwg^=bnEh=Hz_h8g^UNcw+)g*s^wBf|AfY;5TvAt6Xky^gLB zj38^Dt61DbJvPT^Qbi@p$Vcwu#^y<2q>AE2?{Qz*+W70?lQt1fZMnC{)xsP`!fOS& zwyt{KE507JC+20%%d8uaXR_#I{E?wB^n9DIdYk3wJ*tM4VEl_zT=EjI*vwncMk9` zt`97IPrZphCl{A^tOo4g+~!leUEe`I9pLoiaJMhNAcy<2YSo&R#&_oN>L~jYsq?7@ zo(HmCGgW@)(aCc}O!?|<&r}|t%}i!JJwNd@pTk)^7v66*8kUtAi!W6WNV|C;#+-ktiRm(V z`O8nck+Wx~%W|Wi2bj4}`H$1x=KD6XT*lX=%qAk*jTdeZ_3z862*ejf=51A=OfDP08KF!H2zl|YRat+#i&pT-b-i~X9+|m^hKq{9 zQ!3KP9&?=`vMZZWk}$C)r=Y5idtD=KeuMQ^j*sjXHq&x0k0^WjJ851)LNK<{JF>8_FG2A0_aqbq^ zkZ86;yJn3+W(8n0+L&>LR)X@iR=lua^*)N48OGmB~2JhRnzujqp$|d#@H6DNT zf5vHiId*CBG|_a{rLeN{Wf(31SME%#iGfLwX+OW%;*)z5JY+Fpq(igPvugVz+vG<5 z;TOmJxQwA6}9G?6S{5luT^>LM>m(HYhWMuTe0=+bDB7Xdo|->FvkOu zSI7-9C4I(t{Tq&Cf)D+jWhme9%?)+dJGInY_PPyg+A53&I6AHF5MthiBGWSq;~uUQ zOZMvKNa(U={l`HYKgINv!sl(I+!wbeIuDMfWfT3=*jsbUaUpt1&iBNhr$7J5*%J2r z{gPi?$U9z6QpN(>b!MQOzc^RWY4=~h<3C3UqY@H}_D$^0G~Q~n`|PEcSkWE^&qOI7 z4QUEBrs>wV&jhE$Ix|LJ*i!@ z*J~_PJvd4g_Cy}|-TaAK^hOHMCzYuN@=AH&YHQg#LOZhFk!Ru*pGb+2dcO_Eq-hf1 zMZDh8L#irecU#|TZ>v>Q1aIva-!3;^?<8E`mp8k@fi@}E_%De^m(p@$)sq(Kzm*UP zUqCef5tMsaOtaJpT{yy{ReVvj%f)Mc)#0@teZDS2W3-yLm3)Q^xt{5ydB2Zoj=a9} zNvzTUw{QDT@Z4m68bSICY}Sk2XRiQzr(RQ6%T$T>xG}S^jGDd&%~XI0aK`CzU8y+J z@M~T24kIkop2kNq@|;}P=18|$1+s=jNG#Wktiab zU+Od0J$oghRmdmbKS{u*S8;Faxt8IMSq=Ni^iW9v;%AMAcq#_Hd=7A{f!_nD`&2C=Gq1vSWLMdUV znJPrkkIMQdC1|lM6{Tbjk<=1&D zA(&r|5RLTO&MI?IuJS8wD!kvAO&vp5DYdu1nI&(bV2aa2*m7 z=5>!ZCqEa4F0@Jp)!gXH^~u_nhA4pTnrf-kH`{kDXQh#pyp52H!_><_OetO}*(`d` zVZsZxW?ZN`z4VY<9$jBqvMm_x)RCXEMFULCN*@kht zm*C~$YO&zl!MKgP>AFPzG2T|#QDYK=EBfb!X3=GKPTd^1g~h4T7xf#H;o9RXR$Niz zp6=-}^dYsiD27Zbj>}Axd^xNJ^lpLOCrnoO4%(pv_BRIu(!rJfBia)}@s&&CBXF!A zw(uMcZSWRE+f`#uY?3yiYBIqD_%T(yXbf%X@-m-@HdJObUCqto=8thfS=1-SY<%7W zgKG8n_c|X?!JP+WIMM6sJ^N18C`4me7{c4sy*_YtA;i3Vv(}@{SfJn*b#uU}`BdFU zdZ&!;7OKqoUuO0C0W*zt)OUi4pXd$A#v7t(=Zo1)99UykO$+hR+JxuM{kE%yrb5A>*pZVT$9f{|BJOAoeUz!ryaFg!gK3}rSbjlZ4QA)Rs z9kUK+grI`~#;kqU-Q%Z|cu~f@+rp2k#?4Z~eo^DL9EWp23(=>sNxBR%-5VOczTTw; zrSdOoyDBz^wPM9-LC=%02@$C6=~D>wS8Q-*`VCu;0V_0Pc}%1xw2rRW#&wK{?+=|a z;D_L(=A@=+GzpuPqEW%K+?9;$qTduZ;|#NVQjXynf+cwzo2RpPgt~`m8kxmntxa3n z?WJqTP=A>CjO->aeOEX;(>@_;!;!bdw%6*iuohIZr$@HL^qBx8`CAQ>lcbkNfTaM0 zea7~k%7^fmt}Bb&11zldTy%Wta#t4+IHDWO0IlPYuou$Yn?MjdEAQ0^OEF!-3qrV0 zC`1*a!*(-{BQ{Odw4hUwf@b30-a_si$&JEGVJ!1Q>AC`ta6+MH2r;}$2kOv<_iUN4 zBC6W|qSpOTU6#3fkjZ*qiyr4Vk)65P%(J9%bk+GsVV&U^8(gHoEZ7p}+uc(GY2u^j z^RK?4u#3vBm38et?(WxQYg&8nI%Y_1#e#8;Xc$3_^3t$I@s=iZf0L?SZd9ag`&lFb z$(B++2oP=jV9nc=N^`w}&j08~13}HN`f;$EP1c!TnlrJ}-6)ZU8DEl$syO0-yzg*+ z>w)pUDaL7nMTkUk{czvwp?p&QyO^npan_89sh-(k0uu^d0ICC4VRpXXuROaV^ORDH!pvXd>+(jQfzCe4iA**(3 zB8O@os*?&IHO{dKh)6)VB-pc1d?qP^^jv1J_{6~MMKMG(LI8rMV^$cKH@N%Zu0;Hk z)RXsxeh6`M=ncHBvbkBmVo@*JH^71L=||lxEeC@!=6)$vbmRn2Jp6Z-{qP>b1|=yw z=^T0|bdr$LjLNz;Dy#Ea@||OVp0%oaavbj~d8NX21Dot#OT#FAuB(W)XwAX&8(&{@ z3B`LomcIyn@Kvlx`rvi=?)xoG!?}f%#c%3c>i)fBqqt?#D0!JL0X^fkv)@E@vRj!_o|VxP@E zM6htwOu6%vlTCc724zz>H@k_OysS@bx3YA8Syv)+ieh5u%kJmtIYfR#_6oTsJV2X6 zcf~n|>2~&>R>8~zB_iah)MkscDmX2Zp1-?bb zil+kciV+l8WR!~F(xoS!L1&*jg}Y`{&3%`JrsPBXMc zu&}e2h-xq4?f6{|Sp1i=epM+NAd8M^`h8D$+W!EX>W}W<9dw=g8HmNY)Kza0~ z+imS-4e?zXj5hq*VS`!MjUr#V{z52`Q&ISaL|B-+;e8ICpjg*xS?qQhT#CB~#;??ot7E<}VE z#HQK-WPzkiP|qK0qtm<4664kv{@p8jfhr1)>aKTNb{iY>vF%W?wqgc<_muhY^}>Ui z!pqRSV$b{=xe4FgVA6&GC#?#Z7pIa#WbSC|=Oqo>i6@4kbhL&Y&78AK3Qct`d1TRi zMk!xn%`x1nz@^5o^%C;aPAI+x$;820#LT=By}Z;C1rt33 zJwt=FTwDi$ine>YIEGmGPrYQw*W@6=a)DpgR8{qB+bNFTu#9x4^vuk+j5ZDIANKV9 zPA&hZC*i9m^5pD>lS)c|=TEGgHBa&J4~IFsx4sq4oaG%mfAy=DjyEp5A{s6~H@G7l zE5d$6q(q{mu=?6J?ggtHg=43=uQ#91l&^kEY}>{S%T{jaZ=zfsZO1z}v9$TqhkHvd?v&yY0#LT=By}Z;C1rt33 zJwt=FTwDi$ik^A8IEGmG=T0!>I^-bW`kil4Q`8Gyog@bymZ=$ZZK1U~OuxGR)pKv% z1)B~gEI##g=cgt@St8hNFFJ)B{8jt#^$#}R@8#>wCUo>aQ{Z%{V^?GNw}-JY zQ20x1(|w*0Ry_w6jsM&(wjsI4xy+chwJ~0CzIso!;M1(QAtEWR5(v{k=;rHQ51y_ zDC($VFe)`fL4{z5-H8Y~;ziJp{ohm=Tt1f1vPuRUfwXCX z9GX0n*={zk8jZ`>W%V$po)*;eqN>%-p;FrYPXQbH{c*2%_pzqFhBKdA?#q%gJ86gx zZ3NZoseFE4Rdhp^NF|@&iv=da5`N%t+ln@Wt4Cj3s@E^D#32&`ayASG6I=zsJ%P*? znrlr6DwPwv$tE{O8v^`C*UCSS#Uv-JPN`901m0eps?>=s)zo7D2N^-f`U6x9RM+pSIgq)#`Drb|Mmg zA%VJ#nhW~j&&gXB7#rt&n64-2B6a-lKozAs>tCb1|fzq5nm&UJDHj~Noc>F{w z&e7o=YdaOp{oaKtVrs_HY zo00&~N7(7+0xW=W)*CeO~YLKF{+wDVOXo2py3;0sw%J zjkSftp_K&yPJoZ=&>POl`+8_VXj3~=0C=A!u!rIX050GX(#g{JJz!K07}fy#&46Jo zU{DVjGy(=qfIbz_YX|f?07MUf=mm88f%AjF`4K?-E1)$AXiWid2B0|$XnqGY=K4$?75teQdj<@_H?xMo|fKXIm zNQ6d+Uxcid22=y4X$}fr0RTZ+8w*pXsB5dF2@FY3B)QaM?gkLpeLLxAl9g#NBw?z{M~# zF-SIiy2}}9Ry{fID4Ym?ql7N@_*9ozlcR_j((5&=?+>YQCbtbE98*%C|G3$4b2|J@ z807&KhaBA=zSzC=nOJs_dd8g{^F5RE?qS!o#1XGbj^%uJT9Ml_+l>+mK*Y;5f`^eJwo%fxLLK}h7!{htDxT&N0vEQ zm3Yb)hEIXaFC*-3UW7`c`6!~O>G|=!AufD7VT6ElX_^-IUc;i0N{Yp^Lua5*Lm)I9 zFCH(|NB6%R90o`0U729G?(Qhc$+5eLJi8})a#PFmzk6_@OQt*VDLN`%+9lY{7s=*e zeM7ASJ?F^`QAz*PREbUtV&NKR`apGy1cg>B6>Pqd@J!}V9K;<*a@??=DDq{qBerRFzFRxnafDk~I=)puxAf zDuJaYFf13qHtmaK6?1GWLndgc5qAz5{J@MiQEj4K%LIxqu6^Z+fmGfd28G;*O}kB- zBhxBMtH#sey;cf|=*_6(Z(L$$kO_6FijTcfRpTCvn1$*7Hhb`Z8jp-`f{5gj46T+} zG{!COr67f42(DXrmWp^h&Wmv*uVcfm{WVa8pgn|tD-pNEDg9w|hbx@2G$>zkQa)(X zNS8J@2VI!tt33fSqKQ^!)XLptbetFBLWg4woKqyhGP2I$N&1%qG7Rn!(|Z&nS|P4I zUmiY)-ZH&~{rXc`_zAaa;Q2>KIb!-M>p6)1BiJI}g~J1K=atH?C|8*|>8dLdazSub zIOpTYIFfR^G-iVjKe#5bcrPQ6>XGB zAFin+lp>oc65Pk7E$*vF6D`b&9VD3~5fB*)PUF_zB$MY6G*9R|!teO%Do zD2_L}Tv>^7ggjy>6l)-QMR%y=LuJ&sYUxsPaX3Y-G!>kBImdG3J|+|Pf-}eG2+E`1 zR>wdT|BnQYitNqqf>^OsF#|xB@jaa!!BFY%7B(iCjL&iL;ul|W|uas zoUVYBIz}O7(g$^tWfYy{C9K)0@`~|Hrg|!{uhQRFj$}WzyLq3gTX3@C{dw_5?9^yg zD8<^Lx@wD4a#j5IPmpw%ZDp6S`uUPUB3xy#BFTi0lUgWFQ|#Yuou@xp;^dEqgRpa> z0d>k_zzzdR;41|a>y*i2vEKR=F`@F*e5cdh5mc!1oYAwqCw%lWO1m3E27_R|8{$HW z*wZ`p_BQ=(bD@cbj-I!6Sg&xNk4-T#en_4s%W3S`k!9^g#1LOwmV;|VvSm~OLZn_J zVb`q9`C<&~Isx~vOb7wa`mXe%(Wj9=X&q34XNOc5oeCCV{BBOR%PIZTUGIaWc z0@F^mW>VuVGbB$LVGccRd@ITurO2_XNfA@3Bt1^(Pb(N!|EI2&c2UX6$}=y2A%$2oY{7x;28$ zxwy37frs~2(RY-EyF5X(2(0Z9`D(1mk*9QoW5Ak(oexe3_IuRyB)7tq5#uu0Y~9o2 z%m%NJ)t%XKsZ}sF#+%Pdfn!Rt1B;KInfw=3viY(uGhEHF(L)NK{|J0D{)&IdN{}uu z=yRqdaWlB|C$r(K3TiF7L-E#5OytW3lgDO=jIzRJ3*HutqWU33i;nt2+V4%PgDTL6 zj(*fBnarOL8C`$og~@9oU$0HOcKp?Tm#WqU9chkRzwQiMlPL0y)RQX6D_WE7fVwya zZ&J@VzYIP9$^Rlf+U5e#3@&!Zzd-Qt-U?>$s76FY23=aBp$t+qlj0@ za2c9aWB)1*hV-9UB?^Q6Jg`f)0Z`pGB4;@1$(ivMVe2{MfZ!P)+iYP#B9nwqSy@@9 zmzxK5$M|UuxX4`EKi^=Hi6YnB`s%|{{j*bK2}uiBb^hdk)$D%%3v(Kd466>}Dy{y| z%|x2IC4i2`KhIjZsq6FbOy%xN^~T}W%1~v?@FiP*jM6od&A-^C^27G-sVgWjufGk{ zNLX8se8g_`l(kF^lg@SI+aez{Qqp_dsamwkT-jBxpmasExV}$>awm;E@#SpAl8r3* z3sW&zqMW*6)^ma{KF?0;^h1LD@D!_E0&7z*@Y0oFw>5evnli7^<|&I1xrc*mpR%K# znsrr9^w*_x&n9dPoKyKD8*Y%=`P)$e3oYF_4w{o4lKst-MG%v=rM>(CYAOE^a6!-f z%Vz?%`h#2cL~uRi0xenksNo8WQDt`dLH~6I6W9NdpoZ1+kG$@#-2V->hAnpP`k2yG zj%4Y0M|WI0i#L9b6`j)OH!RrT3MO@jqqf%XG3id7NeiB>L-Y7uPjOO&EQC(CrHclv6IsHN3JURDs{VTqe<)6OF?FnlbF%I+eBHqDdd(pwb`ax zOnp3dp)W=pDJ-oGX`N5@GJ=5|ZLjA(1QlvbID9c2lC*MijSUPED;7wCiHTL&rCmPD zwcg!9e2l{#32U0lq1clHVXxBUDvRLWw+GNPtuZt>UUWh!O+FJ|^&^iV<}34P9Bk#i zS7V#=NC-aoIs6oYo}*D9YJYodvV|B_dv(n=E1Dz*hrU6H+Tx|&iVU%3!@w;*ZhlB_F6q3`X)d~x3-w@)ZFt=FMk zz`ygK+W8?q5lJ7r^Ud&pxmw?)jo04qtX^KL74WYy%-K{XG*6Z7_Eaz5*#}QV3iS9^ zPLdCPZ&(9Ydv1$6zBB%NoukD5Haa?FaUyaXxgc?X*{u#3jWfDMpZc@E?M1Tj-fug` YVP<7NkBw%A{r$g-yjcJM222etwbh#e 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 X%`5fA?B^~(KQVZ^`njxgN@xNA3(0sx literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/bucket_toxic.png b/assets/hbm/textures/items/bucket_toxic.png new file mode 100644 index 0000000000000000000000000000000000000000..ad6f75c0d1f1b774ece675d0eec34cc416948971 GIT binary patch literal 330 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjSK$uZf!>a)(C|TkfQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXK3WilKlp#=(wkg zV~B&;?uwde~r(>PC;nhn8i2Vq)U4e(rQ* zQSR+63?WQ4yVr4_+_z3=djO~Y`h9$s2bb|GOgqA~DTju5MfnH+pboFyt=akR{08IgX>i_@% literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/canister_superfuel.png b/assets/hbm/textures/items/canister_superfuel.png new file mode 100644 index 0000000000000000000000000000000000000000..4a972cd72ed5492e9ecb43ab185f9830549f240b GIT binary patch literal 264 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjSK$uZf!>a)(C|TkfQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXK3WilKlp#sMXWO zF~q|EZ2v{x1_d6M-Q3I%?3rJ%STzS*RGpnTPg6zfL*kw%PQg{{75)eJ1ZHM$)n2;9 zAdA6?Lp)`&v-r);YrpC-B($y7^}J@sVXka(a*qG*I0#LT=By}Z;C1rt33 zJwt=FTwDi$irPF~978PplYjjGZ|^FxT0v97*&)vPY5k7fpX$G#X!u{9{;MfdfUWcJ zjT5f|O>Un&@n?G2wEy>CzW8zf*!8FX&uOkpkZMUxQs`O3ew4x6({lr(X;_#9+kqn= zq!FVdQ&MBb@02n7~3IG5A literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/clip_mp.png b/assets/hbm/textures/items/clip_mp.png new file mode 100644 index 0000000000000000000000000000000000000000..47f5e9ce900d5b7cea573179147921834d24b367 GIT binary patch literal 278 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv>0#LT=By}Z;C1rt33 zJwt=FTwDi$irPF~978Ppk51ai*ZmM3wzNqUac1#(7WiA)9mP3Ihd^ literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/clip_revolver_cursed.png b/assets/hbm/textures/items/clip_revolver_cursed.png new file mode 100644 index 0000000000000000000000000000000000000000..69ab127deef96d5c59879e772c001a551777abeb GIT binary patch literal 272 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv>0#LT=By}Z;C1rt33 zJwt=FTwDi$iW)p!978Ppk6v=*I;z0K5^!FT>qArx=VC;YFyRZRng5idEwLl zDoXQP9`+fuM6K>ITsG&k?9sgjEVds^9x-Vx)nQJse!z5zdGGg=Wd~S~Fv`jEzIa^E z9+f@$Z38!l{cJlssSC%WnSTfi+O_8J$1r>o$amhh+hz{O;qNN3vOD(I9dQr(0CWq3 Mr>mdKI;Vst0JwWxnE(I) literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/clip_revolver_lead.png b/assets/hbm/textures/items/clip_revolver_lead.png new file mode 100644 index 0000000000000000000000000000000000000000..6a8db96e26a2e77b316e5c7b21a94c5579837f39 GIT binary patch literal 334 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv>0#LT=By}Z;C1rt33 zJwt=FTwDi$iuQTBIEGmGFP*TFm&uUF_3m=N>71JwZBH+8@$#I=)+yCFuZc0D@g$GE zx;vY6N#motKmR-~59^ru|4{C^2WII7vyH#FpPOkvG012K6U*AIj%&ZR2Ay*7Zewuf z_;UaLL|zu<3EKsn9$cPhwW2hQB_fzRsb|k!f&1&ZSGYE9j%Qu*QZlyhimQZ6ubff1 z!gOVJzTHpHOB_?k`ZD2VcM0o?{Pb5RWKWnIDKlg+STdy4-gHWLTcDb4*c4wd`*mU! Z!{xtGx5RdQsRR0i!PC{xWt~$(697}!c_#n> literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/inf_antimatter.png b/assets/hbm/textures/items/inf_antimatter.png new file mode 100644 index 0000000000000000000000000000000000000000..25c43be1102e3970d1aa6c4096bb6cf36e3718ef GIT binary patch literal 275 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjSK$uZf!>a)(C|TkfQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXK1jNi|YVT(F9Ky z#}EturTrUu4=C`kyu7)8VH(4<1V*uXlh2>r zvLGUR>b0nJQ7N_)0-VV`3F*qg4KF72!lvI6;>1s;*b z3=DjSK$uZf!>a)(C|TkfQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXK1jNi|YVT(F9Ky z#}EturTrH<4=C`k%ATzJTgEWGfbqMg=K2p_JsY+DT4W@>zo4MBzhJt;QWeYR;?;g_ ztVg3(Z@CtiwlJ@OXQII|jxsYNmJYs`H;fjr>b_i_kuJ3$A(G8Yv*_p#2ha1T8S0+s z?zs@guzdsLId}gJ<_EurH5fQ-u;!|$VPjB=<5)D+(L6(fX`aWOr*=Yl%1i%!x9qmq Q3UnKTr>mdKI;Vst0Hc6iW&i*H literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/overfuse.png b/assets/hbm/textures/items/overfuse.png new file mode 100644 index 0000000000000000000000000000000000000000..e11c1f1ed342f773fcced38285dc307e73ee9ec6 GIT binary patch literal 385 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv>0#LT=By}Z;C1rt33 zJwqdBmh3k`MISv~978PpmrmHrb;v-ZRsY9&iw^z^Ynv4G=FZubT6|?=bFg^fiFr-@@mU`l|Oy;abI^L?a zh6@%LPf~G|Io`3zgFo?Z_Paxg&pcZ1HL%~Dm;5g2@bc5n{5LLmoh;p-3gm5nwQf#J z_ScZ2+n0BlY)q`1%D%_`_;Ze^IkFDiD-ZA6I(x^VO$@%@7j!b5-JCEZGv4CN!Haw* zeg|ip{I+}5)GYIA{aLnE+x7}Pdoca#t}ES+hh6wHW;xAp{%i2}SHkbm87sTx5A}rq ck-5Na@nii>@lTHxfSzaYboFyt=akR{0HsQw_W%F@ literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/screwdriver.png b/assets/hbm/textures/items/screwdriver.png new file mode 100644 index 0000000000000000000000000000000000000000..8e48e2af22081f7553f00d909355ae81b07591a2 GIT binary patch literal 282 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv>0#LT=By}Z;C1rt33 zJwqdBmh3k`MO~gQjv*HQODF8+Yf#{E-7THm^Z(hYGw1Z`>%OvauJ2-NcfRHA?y5sgb>L6tS+n)T^cBti0q3S01hbp|P+Gb}<=NQ?!Zg`XO1-syhe%eCp~B<>o>M9^%|@O_8+@*Ou$~}1 YgY|H*t9#pfpsN@>UHx3vIVCg!0R3ZSwg3PC literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/singularity_5.png b/assets/hbm/textures/items/singularity_5.png new file mode 100644 index 0000000000000000000000000000000000000000..922a3ab869d9add9a1a89df9d1f164bb26e7f2fa GIT binary patch literal 339 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=Dh+L6~vJ#O${~LCF%=h?3y^w370~qEv>0#LT=By}Z;C1rt33JwqdBmh3k`MHf6> z978Ppmrgv$d&q#twK{=wNg3<32luqOH!wZtJE)W@SoUJBtk1k7>)#xiI6>;=%2glh zkGxArYxn3j=v!R*>b`4mzyr(k-)5-oo<1#lp*okoNzJyi_g-hMPrb={{m{~af1NeU zIE$;Af)`F>VRU@(VTwcIybBx}2FCxnCV4C{FlT(*@n7~eIKU%5q70o44zd@Ry>XjCJfdS9gMFha_Gyk hRyj@-`+vMmpWn^n@}>vJ`hk99@O1TaS?83{1OTZ5erx~$ literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/models/ModelMP.png b/assets/hbm/textures/models/ModelMP.png index 48943c912c17a7c48af852470bfd3cef2487d3bc..4fd02a6e8e38bddc36ce15a4e90101116e818c03 100644 GIT binary patch delta 1252 zcmX@h-p@5bg^RH`$lZxy-8q?;6BVWF4>K_E9cDb9zaoW!fu+vV#WAEJ?(GcUyvGJS ztAT}-j1mqX3>9-C9fcT;lLdD)qtEjO)@SMQbkpxB{1v44rs@>+wv`}fxioj$vN zQFU8h`2G1-f%*CQ^XHX#l-RqUth+hG%G+ehBt{|C->J#3bS?&Xv3X2+Grf1^W*28o z$$EvrP4Q;S&I$1@O=)mJQ=OIds$}W>80YEB-?@HfxU;iQuHoA2Wqu*Qnsa1DVlRJk zeQmmH`l}baRtmcwUX~rTFJrIU_aNC=^U_5bH1)H=B(^k@z8Whe7~+izsZ*=ODC)>x_My5LenoDGo7FMOwE#Ou)c1? z5PW~r!LKdz-s=WRhOgf$udlCv`r+O$v%cxKA3E;p813Yo-Fa$9)!M%^*cTXTJ$_X` z_1ohUuLDK)`IKD>)5!34dlpm~zIaR7`HT4t%a<>I8t`WCx{o|ddo_J;2^-roO)Xt@ z>EV(Y`@Nfef0w>ou;ydf6tiU}nf_}|2(DNYJ8`?M#y>f({U`WeXk_N?+TVWZ*c7$5 zoTh8pwX(yXQrc(<^1Pn$?Fw=T(2lJ^G#lu>$+*q zl*5l}-4^VSyZOr~ZNFJ~&4&41r{Z0BjWT|;Z4*6N6vWs6U9#~}Rm$u8j2rA#<>ciJ zANadG)nCL`FKJTae7h^fQnUT|?;eLj+f83n&#>)()ciN(Qrd;u$0ww=8fr(+K6d-? z@qUo((NEpcHB9du_vLT>vG2Ol?8>J-88@d)ejly7@BP*jX>pdyQD#q{{0{4WU#+`o zX85^|X{k>i-?0Mvf6H>V``@EdjMvW*)IELb_|DRhYwI%n>v=)?o`p^MabmsKez%8a zi)y#`oQit#`aNUif>P5n%mEFjqPAT7`}*9kb_ea0F}dN7Ga1`~TrX{tpgPKmIJYD@< r);T3K0hv-It`Q}^`6;P63?Zq>8F{Jtex=!|MfzYN-+<*Wx!(c+bNpqR delta 930 zcmV;T16}-&3e5+QB#|)~f5HF&4#EKyC`y0;000?uMObuGZ)S9NVRB^vaA9d~bS`dX zbRaY?FfK7LtqKaj0009@Nkl-JxW*r`YC+EW_4l(%rpM>$)&e`M+cmFju;}S881sCaOQu zsDy=}542K(BXr;^COA0`*h=nm=p?89B0&Ki=#B{r=s;HrIj)OegnAr0oep&M6d$}E zhfZ>k7IL3w=fya5e>xrL#t8<{!S0k@pm(>3+VPX>fw~9u?}Fd@9T>97#*f7xz=!yh z^r*|BuNgn4fBplI=f5OR_>}ah%b~BCyud|T@%DabkAeFC&WD$8Wc8R_tU+Y$m!!o1`h>>yoCfN1+9Q=3grNDaO$p6u4BX=&<%?toe2fW= z>p2b7=d?#ET`;Rd@4REug;r6>GyS;7!|6R=80fgEf0cU-yFBm?<^i|Sne_G z^1wTcM|&@@KVXpVr}unepyQ@i?lJ7rI=xfmGU-CA zDCC)b+@p1Rr^sdCqi}iJ$x7N$GUsfuKHTTu~YDLLgRX_2kNozUbU;f)^O|;Je| 0) { - int i = diFurnace.getPowerScaled(88); - drawTexturedModalRect(guiLeft + 8, guiTop + 106 - i, 176, 160 - i, 16, i); + int i = diFurnace.getPowerScaled(52); + drawTexturedModalRect(guiLeft + 8, guiTop + 69 - i, 176, 52 - i, 16, i); } + if(diFurnace.waste > 0) { + int i = diFurnace.getWasteScaled(52); + drawTexturedModalRect(guiLeft + 26, guiTop + 69 - i, 192, 52 - i, 16, i); + } + + int j1 = diFurnace.getProgressScaled(24); + drawTexturedModalRect(guiLeft + 101, guiTop + 34, 208, 0, j1 + 1, 16); } } diff --git a/com/hbm/items/ItemBoy.java b/com/hbm/items/ItemBoy.java index d53f209d8..765b4ac81 100644 --- a/com/hbm/items/ItemBoy.java +++ b/com/hbm/items/ItemBoy.java @@ -6,7 +6,7 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -public class ItemBoy extends Item { +public class ItemBoy extends ItemRadioactive { @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) diff --git a/com/hbm/items/ItemClip.java b/com/hbm/items/ItemClip.java index ffef4713f..e15082788 100644 --- a/com/hbm/items/ItemClip.java +++ b/com/hbm/items/ItemClip.java @@ -84,6 +84,38 @@ public class ItemClip extends Item { } } + if(this == ModItems.clip_revolver_lead) + { + if (!player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_revolver_lead_ammo, 12))) + { + player.dropPlayerItemWithRandomChoice(new ItemStack(ModItems.gun_revolver_lead_ammo, 12), false); + } + } + + if(this == ModItems.clip_revolver_cursed) + { + if (!player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_revolver_cursed_ammo, 17))) + { + player.dropPlayerItemWithRandomChoice(new ItemStack(ModItems.gun_revolver_cursed_ammo, 17), false); + } + } + + if(this == ModItems.clip_fatman) + { + if (!player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_fatman_ammo, 6))) + { + player.dropPlayerItemWithRandomChoice(new ItemStack(ModItems.gun_fatman_ammo, 6), false); + } + } + + if(this == ModItems.clip_mp) + { + if (!player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_mp_ammo, 30))) + { + player.dropPlayerItemWithRandomChoice(new ItemStack(ModItems.gun_mp_ammo, 30), false); + } + } + return stack; } diff --git a/com/hbm/items/ItemCustomLore.java b/com/hbm/items/ItemCustomLore.java index 719691016..7e45f2fcf 100644 --- a/com/hbm/items/ItemCustomLore.java +++ b/com/hbm/items/ItemCustomLore.java @@ -2,12 +2,18 @@ package com.hbm.items; import java.util.List; +import com.hbm.lib.ModDamageSource; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; -public class ItemCustomLore extends Item { +public class ItemCustomLore extends ItemRadioactive { @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) @@ -346,6 +352,16 @@ public class ItemCustomLore extends Item { { list.add("It's super broken!"); } + + if(this == ModItems.screwdriver) + { + list.add("Could be used instead of a fuse..."); + } + + if(this == ModItems.overfuse) + { + list.add("Say what?"); + } } @Override diff --git a/com/hbm/items/ItemDrop.java b/com/hbm/items/ItemDrop.java index 2156d6ac6..21d48e702 100644 --- a/com/hbm/items/ItemDrop.java +++ b/com/hbm/items/ItemDrop.java @@ -169,8 +169,8 @@ public class ItemDrop extends Item { } if (itemstack.getItem() != null && itemstack.getItem() == ModItems.black_hole) { list.add("Contains a regular singularity"); - list.add("in the center. Too small to"); - list.add("stac stable. It's not the end"); + list.add("in the center. Large enough to"); + list.add("stay stable. It's not the end"); list.add("of the world as we know it,"); list.add("and I don't feel fine."); } diff --git a/com/hbm/items/ItemFleija.java b/com/hbm/items/ItemFleija.java index 49a274736..4449d0fd6 100644 --- a/com/hbm/items/ItemFleija.java +++ b/com/hbm/items/ItemFleija.java @@ -7,7 +7,7 @@ import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -public class ItemFleija extends Item{ +public class ItemFleija extends ItemRadioactive { @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) diff --git a/com/hbm/items/ItemFuelRod.java b/com/hbm/items/ItemFuelRod.java index cde8d371c..c924d7e3a 100644 --- a/com/hbm/items/ItemFuelRod.java +++ b/com/hbm/items/ItemFuelRod.java @@ -6,7 +6,7 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -public class ItemFuelRod extends Item { +public class ItemFuelRod extends ItemRadioactive { @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) diff --git a/com/hbm/items/ItemGadget.java b/com/hbm/items/ItemGadget.java index e8affe97a..33d4cb303 100644 --- a/com/hbm/items/ItemGadget.java +++ b/com/hbm/items/ItemGadget.java @@ -6,7 +6,7 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -public class ItemGadget extends Item { +public class ItemGadget extends ItemRadioactive { @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) diff --git a/com/hbm/items/ItemManMike.java b/com/hbm/items/ItemManMike.java index e2a1d9b3a..a5b89fe97 100644 --- a/com/hbm/items/ItemManMike.java +++ b/com/hbm/items/ItemManMike.java @@ -6,7 +6,7 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -public class ItemManMike extends Item { +public class ItemManMike extends ItemRadioactive { @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) diff --git a/com/hbm/items/ItemMike.java b/com/hbm/items/ItemMike.java index 9e127b11b..95f1bb6d7 100644 --- a/com/hbm/items/ItemMike.java +++ b/com/hbm/items/ItemMike.java @@ -6,7 +6,7 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -public class ItemMike extends Item { +public class ItemMike extends ItemRadioactive { @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) diff --git a/com/hbm/items/ItemRadioactive.java b/com/hbm/items/ItemRadioactive.java new file mode 100644 index 000000000..910e76a8d --- /dev/null +++ b/com/hbm/items/ItemRadioactive.java @@ -0,0 +1,206 @@ +package com.hbm.items; + +import com.hbm.lib.Library; +import com.hbm.lib.ModDamageSource; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.world.World; + +public class ItemRadioactive extends Item { + + public void onUpdate(ItemStack stack, World world, Entity entity, int i, boolean b) { + if((entity instanceof EntityPlayer && !Library.checkForHazmat((EntityPlayer)entity)) || !(entity instanceof EntityPlayer)) + { + doRadiationDamage(entity); + } + } + + public void doRadiationDamage(Entity entity) { + + //Ultra Deadly: Watz Fuel + //Strong: U235, Pu239, Pu240, all fuels except Schrabidium + //Medium: Plutonium, Neptunium, Pu238, RTG Pellet + //Weak: Uranium, U238 + //Incendiary: All radioactive powders + //Schrabidic: All Schrabidium related materials + + if (entity instanceof EntityLivingBase) { + + EntityLivingBase living = (EntityLivingBase)entity; + + //Ultra Deadly + + if (this == ModItems.pellet_hes || + this == ModItems.pellet_les || + this == ModItems.pellet_mes || + this == ModItems.pellet_neptunium || + this == ModItems.pellet_schrabidium) { + living.addPotionEffect(new PotionEffect(Potion.poison.id, 120 * 20, 4)); + living.addPotionEffect(new PotionEffect(Potion.wither.id, 30 * 20, 2)); + living.attackEntityFrom(ModDamageSource.radiation, 15); + } + + //Strong + + if (this == ModItems.ingot_u235 || + this == ModItems.ingot_pu239 || + this == ModItems.ingot_pu240 || + this == ModItems.ingot_uranium_fuel || + this == ModItems.ingot_plutonium_fuel || + this == ModItems.ingot_mox_fuel || + this == ModItems.rod_quad_u235 || + this == ModItems.rod_dual_u235 || + this == ModItems.rod_quad_pu239 || + this == ModItems.rod_dual_pu239 || + this == ModItems.rod_quad_pu240 || + this == ModItems.rod_dual_pu240 || + this == ModItems.rod_quad_uranium_fuel || + this == ModItems.rod_dual_uranium_fuel || + this == ModItems.rod_quad_plutonium_fuel || + this == ModItems.rod_dual_plutonium_fuel || + this == ModItems.rod_quad_mox_fuel || + this == ModItems.rod_dual_mox_fuel || + this == ModItems.rod_quad_uranium_fuel_depleted || + this == ModItems.rod_dual_uranium_fuel_depleted || + this == ModItems.rod_quad_plutonium_fuel_depleted || + this == ModItems.rod_dual_plutonium_fuel_depleted || + this == ModItems.rod_quad_mox_fuel_depleted || + this == ModItems.rod_dual_mox_fuel_depleted || + this == ModItems.boy_bullet || + this == ModItems.boy_target || + this == ModItems.gadget_core || + this == ModItems.man_core) { + living.addPotionEffect(new PotionEffect(Potion.poison.id, 45 * 20, 4)); + living.addPotionEffect(new PotionEffect(Potion.wither.id, 5 * 20, 2)); + living.attackEntityFrom(ModDamageSource.radiation, 3); + } + + //Strong Nuggets + + if (this == ModItems.nugget_u235 || + this == ModItems.nugget_pu239 || + this == ModItems.nugget_pu240 || + this == ModItems.nugget_uranium_fuel || + this == ModItems.nugget_plutonium_fuel || + this == ModItems.nugget_mox_fuel || + this == ModItems.rod_u235 || + this == ModItems.rod_pu239 || + this == ModItems.rod_pu240 || + this == ModItems.rod_uranium_fuel || + this == ModItems.rod_plutonium_fuel || + this == ModItems.rod_mox_fuel || + this == ModItems.rod_uranium_fuel_depleted || + this == ModItems.rod_plutonium_fuel_depleted || + this == ModItems.rod_mox_fuel_depleted) { + living.addPotionEffect(new PotionEffect(Potion.poison.id, 35 * 20, 4)); + living.addPotionEffect(new PotionEffect(Potion.wither.id, 1 * 20, 2)); + living.attackEntityFrom(ModDamageSource.radiation, 1); + } + + //Medium + + if (this == ModItems.ingot_neptunium || + this == ModItems.ingot_pu238 || + this == ModItems.ingot_plutonium || + this == ModItems.pellet_rtg || + this == ModItems.rod_quad_neptunium || + this == ModItems.rod_dual_neptunium || + this == ModItems.rod_quad_pu238 || + this == ModItems.rod_dual_pu238 || + this == ModItems.rod_quad_plutonium || + this == ModItems.rod_dual_plutonium || + this == ModItems.mike_core || + this == ModItems.tsar_core) { + living.addPotionEffect(new PotionEffect(Potion.poison.id, 25 * 20, 4)); + living.attackEntityFrom(ModDamageSource.radiation, 1); + } + + //Medium Nuggets + + if (this == ModItems.nugget_neptunium || + this == ModItems.nugget_pu238 || + this == ModItems.nugget_plutonium || + this == ModItems.rod_neptunium || + this == ModItems.rod_pu238 || + this == ModItems.rod_plutonium) { + living.addPotionEffect(new PotionEffect(Potion.poison.id, 15 * 20, 2)); + } + + //Weak + + if (this == ModItems.ingot_uranium || + this == ModItems.ingot_u238 || + this == ModItems.rod_quad_uranium || + this == ModItems.rod_dual_uranium || + this == ModItems.rod_quad_u238 || + this == ModItems.rod_dual_u238 || + this == ModItems.rod_quad_pu238 || + this == ModItems.rod_dual_pu238) { + living.addPotionEffect(new PotionEffect(Potion.poison.id, 15 * 20, 0)); + } + + //Weak Nuggets + + if (this == ModItems.nugget_uranium || + this == ModItems.nugget_u238 || + this == ModItems.rod_uranium || + this == ModItems.rod_u238 || + this == ModItems.cell_tritium || + this == ModItems.rod_tritium || + this == ModItems.rod_dual_tritium || + this == ModItems.rod_quad_tritium) { + living.addPotionEffect(new PotionEffect(Potion.poison.id, 5 * 20, 0)); + } + + //Powder + + if (this == ModItems.powder_neptunium) { + living.addPotionEffect(new PotionEffect(Potion.poison.id, 25 * 20, 4)); + living.attackEntityFrom(ModDamageSource.radiation, 1); + living.setFire(5); + } + + if (this == ModItems.powder_uranium) { + living.addPotionEffect(new PotionEffect(Potion.poison.id, 15 * 20, 0)); + living.setFire(5); + } + + //Schrabidic + + if (this == ModItems.ingot_schrabidium || + this == ModItems.ingot_schrabidium_fuel || + this == ModItems.ingot_hes || + this == ModItems.ingot_les || + this == ModItems.cell_sas3 || + this == ModItems.fleija_propellant) { + living.addPotionEffect(new PotionEffect(Potion.blindness.id, 2 * 60 * 20, 0)); + living.attackEntityFrom(ModDamageSource.radiation, 30); + } + + if (this == ModItems.nugget_schrabidium || + this == ModItems.nugget_schrabidium_fuel || + this == ModItems.nugget_hes || + this == ModItems.nugget_les) { + living.addPotionEffect(new PotionEffect(Potion.blindness.id, 2 * 60 * 20, 0)); + living.attackEntityFrom(ModDamageSource.radiation, 10); + } + + if (this == ModItems.plate_schrabidium) { + living.addPotionEffect(new PotionEffect(Potion.blindness.id, 2 * 60 * 20, 0)); + living.attackEntityFrom(ModDamageSource.radiation, 15); + } + + if (this == ModItems.powder_schrabidium) { + living.addPotionEffect(new PotionEffect(Potion.blindness.id, 2 * 60 * 20, 0)); + living.attackEntityFrom(ModDamageSource.radiation, 30); + living.setFire(5); + } + } + } +} diff --git a/com/hbm/items/ItemTsar.java b/com/hbm/items/ItemTsar.java index abd51e2e6..7c1731a31 100644 --- a/com/hbm/items/ItemTsar.java +++ b/com/hbm/items/ItemTsar.java @@ -6,7 +6,7 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -public class ItemTsar extends Item { +public class ItemTsar extends ItemRadioactive { @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) diff --git a/com/hbm/items/ItemWandS.java b/com/hbm/items/ItemWandS.java index 146b92f82..9c8b66c0c 100644 --- a/com/hbm/items/ItemWandS.java +++ b/com/hbm/items/ItemWandS.java @@ -3,6 +3,7 @@ package com.hbm.items; import java.util.List; import java.util.Random; +import com.hbm.world.FWatz; import com.hbm.world.FactoryAdvanced; import com.hbm.world.FactoryTitanium; import com.hbm.world.FusionReactor; @@ -46,6 +47,9 @@ public class ItemWandS extends Item { case 4: list.add("Structure: Watz Power Plant"); break; + case 5: + list.add("Structure: Fusionary Watz Plant"); + break; } } } @@ -82,6 +86,9 @@ public class ItemWandS extends Item { case 4: new Watz().generate(world, rand, x, up ? y : y - 12, z); break; + case 5: + new FWatz().generateHull(world, rand, x, up ? y : y - 18, z); + break; } } @@ -103,7 +110,7 @@ public class ItemWandS extends Item { int i = stack.stackTagCompound.getInteger("building"); i++; stack.stackTagCompound.setInteger("building", i); - if(i >= 5) { + if(i >= 6) { stack.stackTagCompound.setInteger("building", 0); } @@ -126,6 +133,9 @@ public class ItemWandS extends Item { case 4: player.addChatMessage(new ChatComponentText("Set Structure: Watz Power Plant")); break; + case 5: + player.addChatMessage(new ChatComponentText("Set Structure: Fusionary Watz Plant")); + break; default: player.addChatMessage(new ChatComponentText("Set Structure: Titanium Factory")); break; diff --git a/com/hbm/items/ModItems.java b/com/hbm/items/ModItems.java index 6c63f0484..02f774db1 100644 --- a/com/hbm/items/ModItems.java +++ b/com/hbm/items/ModItems.java @@ -250,6 +250,8 @@ public class ModItems { public static Item inf_tritium; public static Item inf_sulfur; public static Item inf_diesel; + public static Item inf_antimatter; + public static Item inf_antischrabidium; public static Item canister_empty; public static Item canister_fuel; @@ -482,6 +484,8 @@ public class ModItems { public static Item fuse; public static Item redcoil_capacitor; public static Item titanium_filter; + public static Item screwdriver; + public static Item overfuse; public static Item tank_waste; @@ -592,9 +596,13 @@ public class ModItems { public static Item clip_revolver_iron; public static Item clip_revolver; public static Item clip_revolver_gold; + public static Item clip_revolver_lead; public static Item clip_revolver_schrabidium; + public static Item clip_revolver_cursed; public static Item clip_rpg; + public static Item clip_fatman; public static Item clip_osipr; + public static Item clip_mp; public static Item clip_xvl1456; public static Item igniter; @@ -603,6 +611,8 @@ public class ModItems { public static Item remote; public static Item bucket_mud; + public static Item bucket_acid; + public static Item bucket_toxic; public static Item smoke1; public static Item smoke2; @@ -641,25 +651,25 @@ public class ModItems { test_nuke_tier1_target = new Item().setUnlocalizedName("test_nuke_tier1_target").setMaxStackSize(1).setCreativeTab(MainRegistry.tabTest).setTextureName(RefStrings.MODID + ":test_nuke_tier1_target"); test_nuke_tier2_target = new Item().setUnlocalizedName("test_nuke_tier2_target").setMaxStackSize(1).setCreativeTab(MainRegistry.tabTest).setTextureName(RefStrings.MODID + ":test_nuke_tier2_target"); - ingot_uranium = new Item().setUnlocalizedName("ingot_uranium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_uranium"); - ingot_u235 = new Item().setUnlocalizedName("ingot_u235").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_uranium"); - ingot_u238 = new Item().setUnlocalizedName("ingot_u238").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_uranium"); - ingot_plutonium = new Item().setUnlocalizedName("ingot_plutonium").setCreativeTab(MainRegistry.tabParts).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_plutonium"); - ingot_pu238 = new Item().setUnlocalizedName("ingot_pu238").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_plutonium"); - ingot_pu239 = new Item().setUnlocalizedName("ingot_pu239").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_plutonium"); - ingot_pu240 = new Item().setUnlocalizedName("ingot_pu240").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_plutonium"); + ingot_uranium = new ItemRadioactive().setUnlocalizedName("ingot_uranium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_uranium"); + ingot_u235 = new ItemRadioactive().setUnlocalizedName("ingot_u235").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_uranium"); + ingot_u238 = new ItemRadioactive().setUnlocalizedName("ingot_u238").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_uranium"); + ingot_plutonium = new ItemRadioactive().setUnlocalizedName("ingot_plutonium").setCreativeTab(MainRegistry.tabParts).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_plutonium"); + ingot_pu238 = new ItemRadioactive().setUnlocalizedName("ingot_pu238").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_plutonium"); + ingot_pu239 = new ItemRadioactive().setUnlocalizedName("ingot_pu239").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_plutonium"); + ingot_pu240 = new ItemRadioactive().setUnlocalizedName("ingot_pu240").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_plutonium"); ingot_neptunium = new ItemCustomLore().setUnlocalizedName("ingot_neptunium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_neptunium"); ingot_titanium = new Item().setUnlocalizedName("ingot_titanium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_titanium"); sulfur = new Item().setUnlocalizedName("sulfur").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":sulfur"); - ingot_uranium_fuel = new Item().setUnlocalizedName("ingot_uranium_fuel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_uranium"); - ingot_plutonium_fuel = new Item().setUnlocalizedName("ingot_plutonium_fuel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_plutonium"); - ingot_mox_fuel = new Item().setUnlocalizedName("ingot_mox_fuel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_mox_fuel"); - ingot_schrabidium_fuel = new Item().setUnlocalizedName("ingot_schrabidium_fuel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_schrabidium_fuel"); - nugget_uranium_fuel = new Item().setUnlocalizedName("nugget_uranium_fuel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_uranium"); - nugget_plutonium_fuel = new Item().setUnlocalizedName("nugget_plutonium_fuel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_plutonium"); - nugget_mox_fuel = new Item().setUnlocalizedName("nugget_mox_fuel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_mox_fuel"); - nugget_schrabidium_fuel = new Item().setUnlocalizedName("nugget_schrabidium_fuel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_schrabidium_fuel"); + ingot_uranium_fuel = new ItemRadioactive().setUnlocalizedName("ingot_uranium_fuel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_uranium"); + ingot_plutonium_fuel = new ItemRadioactive().setUnlocalizedName("ingot_plutonium_fuel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_plutonium"); + ingot_mox_fuel = new ItemRadioactive().setUnlocalizedName("ingot_mox_fuel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_mox_fuel"); + ingot_schrabidium_fuel = new ItemRadioactive().setUnlocalizedName("ingot_schrabidium_fuel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_schrabidium_fuel"); + nugget_uranium_fuel = new ItemRadioactive().setUnlocalizedName("nugget_uranium_fuel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_uranium"); + nugget_plutonium_fuel = new ItemRadioactive().setUnlocalizedName("nugget_plutonium_fuel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_plutonium"); + nugget_mox_fuel = new ItemRadioactive().setUnlocalizedName("nugget_mox_fuel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_mox_fuel"); + nugget_schrabidium_fuel = new ItemRadioactive().setUnlocalizedName("nugget_schrabidium_fuel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_schrabidium_fuel"); ingot_advanced_alloy = new Item().setUnlocalizedName("ingot_advanced_alloy").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_advanced_alloy"); niter = new Item().setUnlocalizedName("niter").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":salpeter"); @@ -688,14 +698,14 @@ public class ModItems { plate_mixed = new Item().setUnlocalizedName("plate_mixed").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":plate_mixed"); plate_paa = new ItemCustomLore().setUnlocalizedName("plate_paa").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":plate_paa"); - nugget_uranium = new Item().setUnlocalizedName("nugget_uranium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_uranium"); - nugget_u235 = new Item().setUnlocalizedName("nugget_u235").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_uranium"); - nugget_u238 = new Item().setUnlocalizedName("nugget_u238").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_uranium"); - nugget_plutonium = new Item().setUnlocalizedName("nugget_plutonium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_plutonium"); - nugget_pu238 = new Item().setUnlocalizedName("nugget_pu238").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_plutonium"); - nugget_pu239 = new Item().setUnlocalizedName("nugget_pu239").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_plutonium"); - nugget_pu240 = new Item().setUnlocalizedName("nugget_pu240").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_plutonium"); - nugget_neptunium = new Item().setUnlocalizedName("nugget_neptunium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_neptunium"); + nugget_uranium = new ItemRadioactive().setUnlocalizedName("nugget_uranium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_uranium"); + nugget_u235 = new ItemRadioactive().setUnlocalizedName("nugget_u235").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_uranium"); + nugget_u238 = new ItemRadioactive().setUnlocalizedName("nugget_u238").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_uranium"); + nugget_plutonium = new ItemRadioactive().setUnlocalizedName("nugget_plutonium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_plutonium"); + nugget_pu238 = new ItemRadioactive().setUnlocalizedName("nugget_pu238").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_plutonium"); + nugget_pu239 = new ItemRadioactive().setUnlocalizedName("nugget_pu239").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_plutonium"); + nugget_pu240 = new ItemRadioactive().setUnlocalizedName("nugget_pu240").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_plutonium"); + nugget_neptunium = new ItemRadioactive().setUnlocalizedName("nugget_neptunium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_neptunium"); plate_titanium = new Item().setUnlocalizedName("plate_titanium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":plate_titanium"); plate_aluminium = new Item().setUnlocalizedName("plate_aluminium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":plate_aluminium"); wire_red_copper = new Item().setUnlocalizedName("wire_red_copper").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":wire_red_copper"); @@ -705,15 +715,15 @@ public class ModItems { nugget_schrabidium = new ItemCustomLore().setUnlocalizedName("nugget_schrabidium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_schrabidium"); nugget_beryllium = new Item().setUnlocalizedName("nugget_beryllium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_beryllium"); hazmat_cloth = new Item().setUnlocalizedName("hazmat_cloth").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":hazmat_cloth"); - ingot_hes = new Item().setUnlocalizedName("ingot_hes").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_hes"); - ingot_les = new Item().setUnlocalizedName("ingot_les").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_les"); - nugget_hes = new Item().setUnlocalizedName("nugget_hes").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_hes"); - nugget_les = new Item().setUnlocalizedName("nugget_les").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_les"); + ingot_hes = new ItemRadioactive().setUnlocalizedName("ingot_hes").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_hes"); + ingot_les = new ItemRadioactive().setUnlocalizedName("ingot_les").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_les"); + nugget_hes = new ItemRadioactive().setUnlocalizedName("nugget_hes").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_hes"); + nugget_les = new ItemRadioactive().setUnlocalizedName("nugget_les").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_les"); plate_combine_steel = new Item().setUnlocalizedName("plate_combine_steel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":plate_combine_steel"); powder_lead = new Item().setUnlocalizedName("powder_lead").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":powder_lead"); powder_neptunium = new ItemCustomLore().setUnlocalizedName("powder_neptunium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":powder_neptunium"); - powder_schrabidium = new ItemCustomLore().setUnlocalizedName("powder_schrabidium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":powder_schrabidium"); + powder_schrabidium = new ItemRadioactive().setUnlocalizedName("powder_schrabidium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":powder_schrabidium"); powder_aluminium = new Item().setUnlocalizedName("powder_aluminium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":powder_aluminium"); powder_beryllium = new Item().setUnlocalizedName("powder_beryllium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":powder_beryllium"); powder_copper = new Item().setUnlocalizedName("powder_copper").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":powder_copper"); @@ -721,7 +731,7 @@ public class ModItems { powder_iron = new Item().setUnlocalizedName("powder_iron").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":powder_iron"); powder_titanium = new Item().setUnlocalizedName("powder_titanium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":powder_titanium"); powder_tungsten = new Item().setUnlocalizedName("powder_tungsten").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":powder_tungsten"); - powder_uranium = new Item().setUnlocalizedName("powder_uranium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":powder_uranium"); + powder_uranium = new ItemRadioactive().setUnlocalizedName("powder_uranium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":powder_uranium"); dust = new ItemCustomLore().setUnlocalizedName("dust").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":dust"); powder_advanced_alloy = new Item().setUnlocalizedName("powder_advanced_alloy").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":powder_advanced_alloy"); powder_coal = new Item().setUnlocalizedName("powder_coal").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":powder_coal"); @@ -823,12 +833,12 @@ public class ModItems { cell_puf6 = new Item().setUnlocalizedName("cell_puf6").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":cell_puf6"); cell_antimatter = new ItemDrop().setUnlocalizedName("cell_antimatter").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":cell_antimatter"); cell_deuterium = new Item().setUnlocalizedName("cell_deuterium").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":cell_deuterium"); - cell_tritium = new Item().setUnlocalizedName("cell_tritium").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":cell_tritium"); + cell_tritium = new ItemRadioactive().setUnlocalizedName("cell_tritium").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":cell_tritium"); cell_sas3 = new ItemCustomLore().setUnlocalizedName("cell_sas3").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":cell_sas3"); cell_anti_schrabidium = new ItemDrop().setUnlocalizedName("cell_anti_schrabidium").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":cell_anti_schrabidium"); singularity = new ItemDrop().setUnlocalizedName("singularity").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.nuclear_waste).setTextureName(RefStrings.MODID + ":singularity"); singularity_counter_resonant = new ItemDrop().setUnlocalizedName("singularity_counter_resonant").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.nuclear_waste).setTextureName(RefStrings.MODID + ":singularity_alt"); - singularity_super_heated = new ItemDrop().setUnlocalizedName("singularity_super_heated").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.nuclear_waste).setTextureName(RefStrings.MODID + ":singularity_3"); + singularity_super_heated = new ItemDrop().setUnlocalizedName("singularity_super_heated").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.nuclear_waste).setTextureName(RefStrings.MODID + ":singularity_5"); black_hole = new ItemDrop().setUnlocalizedName("black_hole").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.nuclear_waste).setTextureName(RefStrings.MODID + ":singularity_4"); crystal_xen = new ItemDrop().setUnlocalizedName("crystal_xen").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":crystal_xen"); inf_water = new Item().setUnlocalizedName("inf_water").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":inf_water"); @@ -837,6 +847,8 @@ public class ModItems { inf_tritium = new Item().setUnlocalizedName("inf_tritium").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":inf_tritium"); inf_sulfur = new Item().setUnlocalizedName("inf_sulfur").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":inf_sulfur"); inf_diesel = new Item().setUnlocalizedName("inf_diesel").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":inf_diesel"); + inf_antimatter = new Item().setUnlocalizedName("inf_antimatter").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":inf_antimatter"); + inf_antischrabidium = new Item().setUnlocalizedName("inf_antischrabidium").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":inf_antischrabidium"); blades_aluminium = new ItemBlades(1 * 1200).setUnlocalizedName("blades_aluminium").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":blades_aluminium"); blades_gold = new ItemBlades(5 * 1200).setUnlocalizedName("blades_gold").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":blades_gold"); @@ -1071,7 +1083,7 @@ public class ModItems { battery_generic = new ItemBattery(50).setUnlocalizedName("battery_generic").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_generic"); battery_advanced = new ItemBattery(200).setUnlocalizedName("battery_advanced").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_advanced"); - battery_schrabidium = new ItemBattery(1000).setUnlocalizedName("battery_schrabidium").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_schrabidium"); + battery_schrabidium = new ItemBattery(10000).setUnlocalizedName("battery_schrabidium").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_schrabidium"); battery_creative = new Item().setUnlocalizedName("battery_creative").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_creative"); fusion_core = new ItemBattery(5000).setUnlocalizedName("fusion_core").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":fusion_core"); @@ -1079,6 +1091,8 @@ public class ModItems { fuse = new ItemCustomLore().setUnlocalizedName("fuse").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":fuse"); redcoil_capacitor = new ItemCapacitor(10).setUnlocalizedName("redcoil_capacitor").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":redcoil_capacitor"); titanium_filter = new ItemCapacitor(72000).setUnlocalizedName("titanium_filter").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":titanium_filter"); + screwdriver = new ItemCustomLore().setUnlocalizedName("screwdriver").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":screwdriver"); + overfuse = new ItemCustomLore().setUnlocalizedName("overfuse").setMaxStackSize(1).setFull3D().setTextureName(RefStrings.MODID + ":overfuse"); factory_core_titanium = new ItemBattery(70400).setUnlocalizedName("factory_core_titanium").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":factory_core_titanium"); factory_core_advanced = new ItemBattery(41600).setUnlocalizedName("factory_core_advanced").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":factory_core_advanced"); @@ -1107,9 +1121,13 @@ public class ModItems { clip_revolver_iron = new ItemClip().setUnlocalizedName("clip_revolver_iron").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":clip_revolver_iron"); clip_revolver = new ItemClip().setUnlocalizedName("clip_revolver").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":clip_revolver"); clip_revolver_gold = new ItemClip().setUnlocalizedName("clip_revolver_gold").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":clip_revolver_gold"); + clip_revolver_lead = new ItemClip().setUnlocalizedName("clip_revolver_lead").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":clip_revolver_lead"); clip_revolver_schrabidium = new ItemClip().setUnlocalizedName("clip_revolver_schrabidium").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":clip_revolver_schrabidium"); + clip_revolver_cursed = new ItemClip().setUnlocalizedName("clip_revolver_cursed").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":clip_revolver_cursed"); clip_rpg = new ItemClip().setUnlocalizedName("clip_rpg").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":clip_rpg"); + clip_fatman = new ItemClip().setUnlocalizedName("clip_fatman").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":clip_fatman"); clip_osipr = new ItemClip().setUnlocalizedName("clip_osipr").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":clip_osipr"); + clip_mp = new ItemClip().setUnlocalizedName("clip_mp").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":clip_mp"); clip_xvl1456 = new ItemClip().setUnlocalizedName("clip_xvl1456").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":clip_xvl1456"); ingot_euphemium = new ItemCustomLore().setUnlocalizedName("ingot_euphemium").setTextureName(RefStrings.MODID + ":ingot_euphemium"); @@ -1197,6 +1215,8 @@ public class ModItems { crowbar = new ModSword(MainRegistry.enumToolMaterialSteel).setUnlocalizedName("crowbar").setFull3D().setTextureName(RefStrings.MODID + ":crowbar"); bucket_mud = new ItemModBucket(ModBlocks.mud_block).setUnlocalizedName("bucket_mud").setContainerItem(Items.bucket).setCreativeTab(MainRegistry.tabBlock).setTextureName(RefStrings.MODID + ":bucket_mud"); + bucket_acid = new ItemModBucket(ModBlocks.acid_block).setUnlocalizedName("bucket_acid").setContainerItem(Items.bucket).setCreativeTab(MainRegistry.tabBlock).setTextureName(RefStrings.MODID + ":bucket_acid"); + bucket_toxic = new ItemModBucket(ModBlocks.toxic_block).setUnlocalizedName("bucket_toxic").setContainerItem(Items.bucket).setCreativeTab(MainRegistry.tabBlock).setTextureName(RefStrings.MODID + ":bucket_toxic"); smoke1 = new Item().setUnlocalizedName("smoke1").setTextureName(RefStrings.MODID + ":smoke1"); smoke2 = new Item().setUnlocalizedName("smoke2").setTextureName(RefStrings.MODID + ":smoke2"); @@ -1215,9 +1235,13 @@ public class ModItems { b_smoke7 = new Item().setUnlocalizedName("b_smoke7").setTextureName(RefStrings.MODID + ":b_smoke7"); b_smoke8 = new Item().setUnlocalizedName("b_smoke8").setTextureName(RefStrings.MODID + ":b_smoke8"); energy_ball = new Item().setUnlocalizedName("energy_ball").setTextureName(RefStrings.MODID + ":energy_ball"); - + FluidContainerRegistry.registerFluidContainer(new FluidStack(ModBlocks.mud_fluid, 1000), new ItemStack(ModItems.bucket_mud)); + FluidContainerRegistry.registerFluidContainer(new FluidStack(ModBlocks.acid_fluid, 1000), new ItemStack(ModItems.bucket_acid)); + FluidContainerRegistry.registerFluidContainer(new FluidStack(ModBlocks.toxic_fluid, 1000), new ItemStack(ModItems.bucket_toxic)); BucketHandler.INSTANCE.buckets.put(ModBlocks.mud_block, ModItems.bucket_mud); + BucketHandler.INSTANCE.buckets.put(ModBlocks.acid_block, ModItems.bucket_acid); + BucketHandler.INSTANCE.buckets.put(ModBlocks.toxic_block, ModItems.bucket_toxic); MinecraftForge.EVENT_BUS.register(BucketHandler.INSTANCE); } @@ -1473,6 +1497,8 @@ public class ModItems { GameRegistry.registerItem(inf_tritium, inf_tritium.getUnlocalizedName()); GameRegistry.registerItem(inf_sulfur, inf_sulfur.getUnlocalizedName()); GameRegistry.registerItem(inf_diesel, inf_diesel.getUnlocalizedName()); + GameRegistry.registerItem(inf_antimatter, inf_antimatter.getUnlocalizedName()); + GameRegistry.registerItem(inf_antischrabidium, inf_antischrabidium.getUnlocalizedName()); //Large Tanks GameRegistry.registerItem(tank_waste, tank_waste.getUnlocalizedName()); @@ -1494,6 +1520,8 @@ public class ModItems { GameRegistry.registerItem(fuse, fuse.getUnlocalizedName()); GameRegistry.registerItem(redcoil_capacitor, redcoil_capacitor.getUnlocalizedName()); GameRegistry.registerItem(titanium_filter, titanium_filter.getUnlocalizedName()); + GameRegistry.registerItem(screwdriver, screwdriver.getUnlocalizedName()); + GameRegistry.registerItem(overfuse, overfuse.getUnlocalizedName()); //Shredder Blades GameRegistry.registerItem(blades_aluminium, blades_aluminium.getUnlocalizedName()); @@ -1661,10 +1689,14 @@ public class ModItems { GameRegistry.registerItem(clip_revolver_iron, clip_revolver_iron.getUnlocalizedName()); GameRegistry.registerItem(clip_revolver, clip_revolver.getUnlocalizedName()); GameRegistry.registerItem(clip_revolver_gold, clip_revolver_gold.getUnlocalizedName()); + GameRegistry.registerItem(clip_revolver_lead, clip_revolver_lead.getUnlocalizedName()); GameRegistry.registerItem(clip_revolver_schrabidium, clip_revolver_schrabidium.getUnlocalizedName()); + GameRegistry.registerItem(clip_revolver_cursed, clip_revolver_cursed.getUnlocalizedName()); GameRegistry.registerItem(clip_rpg, clip_rpg.getUnlocalizedName()); + GameRegistry.registerItem(clip_fatman, clip_fatman.getUnlocalizedName()); GameRegistry.registerItem(clip_xvl1456, clip_xvl1456.getUnlocalizedName()); GameRegistry.registerItem(clip_osipr, clip_osipr.getUnlocalizedName()); + GameRegistry.registerItem(clip_mp, clip_mp.getUnlocalizedName()); //Grenades GameRegistry.registerItem(grenade_generic, grenade_generic.getUnlocalizedName()); @@ -1850,6 +1882,8 @@ public class ModItems { //THIS is a bucket. GameRegistry.registerItem(bucket_mud, bucket_mud.getUnlocalizedName()); + GameRegistry.registerItem(bucket_acid, bucket_acid.getUnlocalizedName()); + GameRegistry.registerItem(bucket_toxic, bucket_toxic.getUnlocalizedName()); //Technical Items GameRegistry.registerItem(smoke1, smoke1.getUnlocalizedName()); diff --git a/com/hbm/items/WatzFuel.java b/com/hbm/items/WatzFuel.java index 2ca14c613..f680da2b8 100644 --- a/com/hbm/items/WatzFuel.java +++ b/com/hbm/items/WatzFuel.java @@ -6,7 +6,7 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -public class WatzFuel extends Item { +public class WatzFuel extends ItemRadioactive { public int power; public float powerMultiplier; diff --git a/com/hbm/lib/Library.java b/com/hbm/lib/Library.java index f1481f2c9..4fb6e82b1 100644 --- a/com/hbm/lib/Library.java +++ b/com/hbm/lib/Library.java @@ -182,6 +182,10 @@ public class Library { { return true; } + if(checkArmorPiece(player, ModItems.schrabidium_helmet, 3)) + { + return true; + } if(checkArmorPiece(player, ModItems.euphemium_helmet, 3)) { return true; @@ -200,7 +204,8 @@ public class Library { world.getBlock(x, y, z) == ModBlocks.reactor_conductor || world.getBlock(x, y, z) == ModBlocks.factory_titanium_conductor || world.getBlock(x, y, z) == ModBlocks.factory_advanced_conductor || - world.getBlock(x, y, z) == ModBlocks.watz_conductor) + world.getBlock(x, y, z) == ModBlocks.watz_conductor || + world.getBlock(x, y, z) == ModBlocks.fwatz_hatch) { return true; } diff --git a/com/hbm/lib/ModDamageSource.java b/com/hbm/lib/ModDamageSource.java index ce9ebae17..2ae9fa017 100644 --- a/com/hbm/lib/ModDamageSource.java +++ b/com/hbm/lib/ModDamageSource.java @@ -13,9 +13,11 @@ public class ModDamageSource extends DamageSource { public static DamageSource nuclearBlast = (new DamageSource("nuclearBlast")).setExplosion(); public static DamageSource mudPoisoning = (new DamageSource("mudPoisoning")).setDamageBypassesArmor(); + public static DamageSource acid = (new DamageSource("acid")).setDamageBypassesArmor(); public static DamageSource euthanizedSelf = (new DamageSource("euthanizedSelf")).setDamageBypassesArmor(); public static DamageSource euthanizedSelf2 = (new DamageSource("euthanizedSelf2")).setDamageBypassesArmor(); public static DamageSource tauBlast = (new DamageSource("tauBlast")).setDamageBypassesArmor(); + public static DamageSource radiation = (new DamageSource("radiation")).setDamageBypassesArmor(); public ModDamageSource(String p_i1566_1_) { super(p_i1566_1_); diff --git a/com/hbm/main/GUIHandler.java b/com/hbm/main/GUIHandler.java index efb1c4c18..a160d845a 100644 --- a/com/hbm/main/GUIHandler.java +++ b/com/hbm/main/GUIHandler.java @@ -9,6 +9,7 @@ import com.hbm.gui.ContainerConverterRfHe; import com.hbm.gui.ContainerCoreAdvanced; import com.hbm.gui.ContainerCoreTitanium; import com.hbm.gui.ContainerElectricFurnace; +import com.hbm.gui.ContainerFWatzCore; import com.hbm.gui.ContainerFusionMultiblock; import com.hbm.gui.ContainerGenerator; import com.hbm.gui.ContainerLaunchPadTier1; @@ -39,6 +40,7 @@ import com.hbm.gui.GUIConverterHeRf; import com.hbm.gui.GUIConverterRfHe; import com.hbm.gui.GUICoreAdvanced; import com.hbm.gui.GUICoreTitanium; +import com.hbm.gui.GUIFWatzCore; import com.hbm.gui.GUIFusionMultiblock; import com.hbm.gui.GUILaunchPadTier1; import com.hbm.gui.GUIMachineBattery; @@ -73,6 +75,7 @@ import com.hbm.tileentity.TileEntityConverterRfHe; import com.hbm.tileentity.TileEntityCoreAdvanced; import com.hbm.tileentity.TileEntityCoreTitanium; import com.hbm.tileentity.TileEntityDiFurnace; +import com.hbm.tileentity.TileEntityFWatzCore; import com.hbm.tileentity.TileEntityFusionMultiblock; import com.hbm.tileentity.TileEntityLaunchPad; import com.hbm.tileentity.TileEntityMachineBattery; @@ -378,6 +381,14 @@ public class GUIHandler implements IGuiHandler { return new ContainerMachineCMBFactory(player.inventory, (TileEntityMachineCMBFactory) entity); } } + + case ModBlocks.guiID_fwatz_multiblock: + { + if(entity instanceof TileEntityFWatzCore) + { + return new ContainerFWatzCore(player.inventory, (TileEntityFWatzCore) entity); + } + } } return null; } @@ -654,6 +665,14 @@ public class GUIHandler implements IGuiHandler { return new GUIMachineCMBFactory(player.inventory, (TileEntityMachineCMBFactory) entity); } } + + case ModBlocks.guiID_fwatz_multiblock: + { + if(entity instanceof TileEntityFWatzCore) + { + return new GUIFWatzCore(player.inventory, (TileEntityFWatzCore) entity); + } + } } } return null; diff --git a/com/hbm/main/MainRegistry.java b/com/hbm/main/MainRegistry.java index 5e933d76b..c2990d68a 100644 --- a/com/hbm/main/MainRegistry.java +++ b/com/hbm/main/MainRegistry.java @@ -96,9 +96,11 @@ import com.hbm.tileentity.TileEntityDecoPoleTop; import com.hbm.tileentity.TileEntityDecoSteelPoles; import com.hbm.tileentity.TileEntityDecoTapeRecorder; import com.hbm.tileentity.TileEntityDiFurnace; +import com.hbm.tileentity.TileEntityFWatzCore; import com.hbm.tileentity.TileEntityFusionMultiblock; import com.hbm.tileentity.TileEntityLaunchPad; import com.hbm.tileentity.TileEntityMachineBattery; +import com.hbm.tileentity.TileEntityMachineCMBFactory; import com.hbm.tileentity.TileEntityMachineCentrifuge; import com.hbm.tileentity.TileEntityMachineCoal; import com.hbm.tileentity.TileEntityMachineDeuterium; @@ -296,8 +298,10 @@ public class MainRegistry GameRegistry.registerTileEntity(TileEntityConverterRfHe.class, "tileentity_converter_rfhe"); GameRegistry.registerTileEntity(TileEntityMachineSchrabidiumTransmutator.class, "tileentity_schrabidium_transmutator"); GameRegistry.registerTileEntity(TileEntityMachineDiesel.class, "tileentity_diesel_generator"); - GameRegistry.registerTileEntity(TileEntityWatzCore.class, "tileentity_watz_powerplant"); + GameRegistry.registerTileEntity(TileEntityWatzCore.class, "tileentity_watz_multiblock"); GameRegistry.registerTileEntity(TileEntityMachineShredder.class, "tileentity_machine_shredder"); + GameRegistry.registerTileEntity(TileEntityMachineCMBFactory.class, "tileentity_machine_cmb"); + GameRegistry.registerTileEntity(TileEntityFWatzCore.class, "tileentity_fwatz_multiblock"); EntityRegistry.registerModEntity(EntityRocket.class, "entity_rocket", 0, this, 250, 1, true); EntityRegistry.registerModEntity(EntityNukeExplosion.class, "entity_nuke_explosion", 1, this, 250, 1, true); diff --git a/com/hbm/tileentity/TileEntityFWatzCore.java b/com/hbm/tileentity/TileEntityFWatzCore.java new file mode 100644 index 000000000..a8562af8d --- /dev/null +++ b/com/hbm/tileentity/TileEntityFWatzCore.java @@ -0,0 +1,538 @@ +package com.hbm.tileentity; + +import java.util.ArrayList; +import java.util.List; +import java.util.Random; + +import com.hbm.blocks.ModBlocks; +import com.hbm.calc.UnionOfTileEntitiesAndBooleans; +import com.hbm.entity.EntityNukeExplosionAdvanced; +import com.hbm.interfaces.IConductor; +import com.hbm.interfaces.IConsumer; +import com.hbm.interfaces.IReactor; +import com.hbm.interfaces.ISource; +import com.hbm.items.ModItems; +import com.hbm.items.WatzFuel; +import com.hbm.lib.Library; +import com.hbm.main.MainRegistry; +import com.hbm.world.FWatz; + +import net.minecraft.block.Block; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.inventory.ISidedInventory; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; + +public class TileEntityFWatzCore extends TileEntity implements ISidedInventory, IReactor, ISource { + + public int cool; + public final static int maxCool = 100000000; + public int power; + public final static int maxPower = 100000000; + public int amat; + public final static int maxAmat = 100000000; + public int aSchrab; + public final static int maxASchrab = 100000000; + public boolean cooldown = false; + + Random rand = new Random(); + + private ItemStack slots[]; + public int age = 0; + public List list = new ArrayList(); + + private String customName; + + public TileEntityFWatzCore() { + slots = new ItemStack[5]; + } + @Override + public int getSizeInventory() { + return slots.length; + } + + @Override + public ItemStack getStackInSlot(int i) { + return slots[i]; + } + + @Override + public ItemStack getStackInSlotOnClosing(int i) { + if(slots[i] != null) + { + ItemStack itemStack = slots[i]; + slots[i] = null; + return itemStack; + } else { + return null; + } + } + + @Override + public void setInventorySlotContents(int i, ItemStack itemStack) { + slots[i] = itemStack; + if(itemStack != null && itemStack.stackSize > getInventoryStackLimit()) + { + itemStack.stackSize = getInventoryStackLimit(); + } + } + + @Override + public String getInventoryName() { + return this.hasCustomInventoryName() ? this.customName : "container.fusionaryWatzPlant"; + } + + @Override + public boolean hasCustomInventoryName() { + return this.customName != null && this.customName.length() > 0; + } + + public void setCustomName(String name) { + this.customName = name; + } + + @Override + public int getInventoryStackLimit() { + return 64; + } + + @Override + public boolean isUseableByPlayer(EntityPlayer player) { + if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) + { + return false; + }else{ + return true; + } + } + + @Override + public void openInventory() {} + + @Override + public void closeInventory() {} + + @Override + public boolean isItemValidForSlot(int i, ItemStack itemStack) { + return true; + } + + @Override + public ItemStack decrStackSize(int i, int j) { + if(slots[i] != null) + { + if(slots[i].stackSize <= j) + { + ItemStack itemStack = slots[i]; + slots[i] = null; + return itemStack; + } + ItemStack itemStack1 = slots[i].splitStack(j); + if (slots[i].stackSize == 0) + { + slots[i] = null; + } + + return itemStack1; + } else { + return null; + } + } + + @Override + public int[] getAccessibleSlotsFromSide(int p_94128_1_) { + return null; + } + + @Override + public boolean canInsertItem(int p_102007_1_, ItemStack p_102007_2_, int p_102007_3_) { + return false; + } + + @Override + public boolean canExtractItem(int p_102008_1_, ItemStack p_102008_2_, int p_102008_3_) { + return false; + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + NBTTagList list = nbt.getTagList("items", 10); + + cool = nbt.getShort("cool") * 10000; + power = nbt.getShort("power") * 10000; + amat = nbt.getShort("amat") * 10000; + aSchrab = nbt.getShort("aSchrab") * 10000; + + slots = new ItemStack[getSizeInventory()]; + + for(int i = 0; i < list.tagCount(); i++) + { + NBTTagCompound nbt1 = list.getCompoundTagAt(i); + byte b0 = nbt1.getByte("slot"); + if(b0 >= 0 && b0 < slots.length) + { + slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); + } + } + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + nbt.setShort("cool", (short) (cool/10000)); + nbt.setShort("power", (short) (power/10000)); + nbt.setShort("amat", (short) (amat/10000)); + nbt.setShort("aSchrab", (short) (aSchrab/10000)); + NBTTagList list = new NBTTagList(); + + for(int i = 0; i < slots.length; i++) + { + if(slots[i] != null) + { + NBTTagCompound nbt1 = new NBTTagCompound(); + nbt1.setByte("slot", (byte)i); + slots[i].writeToNBT(nbt1); + list.appendTag(nbt1); + } + } + nbt.setTag("items", list); + } + + @Override + public boolean isStructureValid(World world) { + return FWatz.checkHull(world, this.xCoord, this.yCoord, this.zCoord); + } + + @Override + public boolean isCoatingValid(World world) { + { + return true; + } + + //return false; + } + + @Override + public boolean hasFuse() { + return slots[1] != null && (slots[1].getItem() == ModItems.fuse || slots[1].getItem() == ModItems.screwdriver); + } + + @Override + public int getCoolantScaled(int i) { + return (cool/100 * i) / (maxCool/100); + } + + @Override + public int getPowerScaled(int i) { + return (power/100 * i) / (maxPower/100); + } + + @Override + public int getWaterScaled(int i) { + return (amat/100 * i) / (maxAmat/100); + } + + @Override + public int getHeatScaled(int i) { + return (aSchrab/100 * i) / (maxASchrab/100); + } + + public int getSingularityType() { + + if(slots[2] != null) { + Item item = slots[2].getItem(); + + if(item == ModItems.singularity) + return 1; + if(item == ModItems.singularity_counter_resonant) + return 2; + if(item == ModItems.singularity_super_heated) + return 3; + if(item == ModItems.black_hole) + return 4; + if(item == ModItems.overfuse) + return 5; + } + + return 0; + } + + @Override + public void updateEntity() { + if (this.isStructureValid(this.worldObj) && !this.worldObj.isRemote) { + + age++; + if (age >= 20) { + age = 0; + } + + if (age == 9 || age == 19) + ffgeuaInit(); + + if (hasFuse() && getSingularityType() > 0) { + if(cooldown) { + + this.emptyPlasma(); + + int i = getSingularityType(); + + if(i == 1) + cool += 1500; + if(i == 2) + cool += 3000; + if(i == 3) + cool += 750; + if(i == 4) + cool += 7500; + if(i == 5) + cool += 150000; + + if(cool >= maxCool) { + cooldown = false; + cool = maxCool; + } + + } else { + int i = getSingularityType(); + + this.fillPlasma(); + + if(i == 1 && amat - 750 >= 0 && aSchrab - 750 >= 0) { + cool -= 150; + amat -= 750; + aSchrab -= 750; + power += 500000; + } + if(i == 2 && amat - 750 >= 0 && aSchrab - 350 >= 0) { + cool -= 75; + amat -= 350; + aSchrab -= 300; + power += 250000; + } + if(i == 3 && amat - 750 >= 0 && aSchrab - 1400 >= 0) { + cool -= 300; + amat -= 750; + aSchrab -= 1400; + power += 1000000; + } + if(i == 4 && amat - 1000 >= 0 && aSchrab - 1000 >= 0) { + cool -= 100; + amat -= 1000; + aSchrab -= 1000; + power += 1000000; + } + if(i == 5 && amat - 150 >= 0 && aSchrab - 150 >= 0) { + cool -= 150; + amat -= 150; + aSchrab -= 150; + power += 10000000; + } + + if(power > maxPower) + power = maxPower; + + if(cool <= 0) { + cooldown = true; + cool = 0; + } + } + } + + if(power > maxPower) + power = maxPower; + + if(power - 100 >= 0 && slots[0] != null && slots[0].getItem() == ModItems.battery_generic && slots[0].getItemDamage() > 0) + { + power -= 100; + slots[37].setItemDamage(slots[0].getItemDamage() - 1); + } + if(power - 100 >= 0 && slots[0] != null && slots[0].getItem() == ModItems.battery_advanced && slots[0].getItemDamage() > 0) + { + power -= 100; + slots[37].setItemDamage(slots[0].getItemDamage() - 1); + } + if(power - 100 >= 0 && slots[0] != null && slots[0].getItem() == ModItems.battery_schrabidium && slots[0].getItemDamage() > 0) + { + power -= 100; + slots[37].setItemDamage(slots[0].getItemDamage() - 1); + } + if(power - 100 >= 0 && slots[0] != null && slots[0].getItem() == ModItems.factory_core_titanium && slots[0].getItemDamage() > 0) + { + power -= 100; + slots[37].setItemDamage(slots[0].getItemDamage() - 1); + } + if(power - 100 >= 0 && slots[0] != null && slots[0].getItem() == ModItems.factory_core_advanced && slots[0].getItemDamage() > 0) + { + power -= 100; + slots[37].setItemDamage(slots[0].getItemDamage() - 1); + } + if(amat + 1000000 <= maxAmat && slots[3] != null && slots[3].getItem() == ModItems.cell_antimatter) + { + this.slots[3].stackSize--; + this.amat += 1000000; + if(this.slots[3].stackSize == 0) + { + this.slots[3] = null; + } + } + if(aSchrab + 1000000 <= maxASchrab && slots[4] != null && slots[4].getItem() == ModItems.cell_anti_schrabidium) + { + this.slots[4].stackSize--; + this.aSchrab += 1000000; + if(this.slots[4].stackSize == 0) + { + this.slots[4] = null; + } + } + + if(slots[3] != null && slots[3].getItem() == ModItems.inf_antimatter) + { + this.amat = maxAmat; + } + if(slots[4] != null && slots[4].getItem() == ModItems.inf_antischrabidium) + { + this.aSchrab = maxASchrab; + } + } + } + + public void fillPlasma() { + FWatz.fillPlasma(worldObj, this.xCoord, this.yCoord, this.zCoord); + } + + public void emptyPlasma() { + FWatz.emptyPlasma(worldObj, this.xCoord, this.yCoord, this.zCoord); + } + + public boolean isRunning() { + return FWatz.getPlasma(worldObj, this.xCoord, this.yCoord, this.zCoord) && this.isStructureValid(worldObj); + } + + @Override + public void ffgeua(int x, int y, int z, boolean newTact) { + Block block = this.worldObj.getBlock(x, y, z); + TileEntity tileentity = this.worldObj.getTileEntity(x, y, z); + + if(block == ModBlocks.factory_titanium_conductor && this.worldObj.getBlock(x, y + 1, z) == ModBlocks.factory_titanium_core) + { + tileentity = this.worldObj.getTileEntity(x, y + 1, z); + } + if(block == ModBlocks.factory_titanium_conductor && this.worldObj.getBlock(x, y - 1, z) == ModBlocks.factory_titanium_core) + { + tileentity = this.worldObj.getTileEntity(x, y - 1, z); + } + if(block == ModBlocks.factory_advanced_conductor && this.worldObj.getBlock(x, y + 1, z) == ModBlocks.factory_advanced_core) + { + tileentity = this.worldObj.getTileEntity(x, y + 1, z); + } + if(block == ModBlocks.factory_advanced_conductor && this.worldObj.getBlock(x, y - 1, z) == ModBlocks.factory_advanced_core) + { + tileentity = this.worldObj.getTileEntity(x, y - 1, z); + } + + if(tileentity instanceof IConductor) + { + if(tileentity instanceof TileEntityCable) + { + if(Library.checkUnionList(((TileEntityCable)tileentity).uoteab, this)) + { + for(int i = 0; i < ((TileEntityCable)tileentity).uoteab.size(); i++) + { + if(((TileEntityCable)tileentity).uoteab.get(i).source == this) + { + if(((TileEntityCable)tileentity).uoteab.get(i).ticked != newTact) + { + ((TileEntityCable)tileentity).uoteab.get(i).ticked = newTact; + ffgeua(x, y + 1, z, getTact()); + ffgeua(x, y - 1, z, getTact()); + ffgeua(x - 1, y, z, getTact()); + ffgeua(x + 1, y, z, getTact()); + ffgeua(x, y, z - 1, getTact()); + ffgeua(x, y, z + 1, getTact()); + } + } + } + } else { + ((TileEntityCable)tileentity).uoteab.add(new UnionOfTileEntitiesAndBooleans(this, newTact)); + } + } + if(tileentity instanceof TileEntityWireCoated) + { + if(Library.checkUnionList(((TileEntityWireCoated)tileentity).uoteab, this)) + { + for(int i = 0; i < ((TileEntityWireCoated)tileentity).uoteab.size(); i++) + { + if(((TileEntityWireCoated)tileentity).uoteab.get(i).source == this) + { + if(((TileEntityWireCoated)tileentity).uoteab.get(i).ticked != newTact) + { + ((TileEntityWireCoated)tileentity).uoteab.get(i).ticked = newTact; + ffgeua(x, y + 1, z, getTact()); + ffgeua(x, y - 1, z, getTact()); + ffgeua(x - 1, y, z, getTact()); + ffgeua(x + 1, y, z, getTact()); + ffgeua(x, y, z - 1, getTact()); + ffgeua(x, y, z + 1, getTact()); + } + } + } + } else { + ((TileEntityWireCoated)tileentity).uoteab.add(new UnionOfTileEntitiesAndBooleans(this, newTact)); + } + } + } + + if(tileentity instanceof IConsumer && newTact && !(tileentity instanceof TileEntityMachineBattery && ((TileEntityMachineBattery)tileentity).conducts)) + { + list.add((IConsumer)tileentity); + } + + if(!newTact) + { + int size = list.size(); + if(size > 0) + { + int part = this.power / size; + for(IConsumer consume : list) + { + if(consume.getPower() < consume.getMaxPower()) + { + if(consume.getMaxPower() - consume.getPower() >= part) + { + this.power -= part; + consume.setPower(consume.getPower() + part); + } else { + this.power -= consume.getMaxPower() - consume.getPower(); + consume.setPower(consume.getMaxPower()); + } + } + } + } + list.clear(); + } + } + + @Override + public void ffgeuaInit() { + ffgeua(this.xCoord + 10, this.yCoord - 11, this.zCoord, getTact()); + ffgeua(this.xCoord - 10, this.yCoord - 11, this.zCoord, getTact()); + ffgeua(this.xCoord, this.yCoord - 11, this.zCoord + 10, getTact()); + ffgeua(this.xCoord, this.yCoord - 11, this.zCoord - 10, getTact()); + } + + public boolean getTact() { + if(age >= 0 && age < 10) + { + return true; + } + + return false; + } +} diff --git a/com/hbm/tileentity/TileEntityFusionMultiblock.java b/com/hbm/tileentity/TileEntityFusionMultiblock.java index 6e3fddb01..952b611ae 100644 --- a/com/hbm/tileentity/TileEntityFusionMultiblock.java +++ b/com/hbm/tileentity/TileEntityFusionMultiblock.java @@ -942,7 +942,7 @@ public class TileEntityFusionMultiblock extends TileEntity implements ISidedInve @Override public boolean hasFuse() { - return false; + return slots[8] != null && (slots[8].getItem() == ModItems.fuse || slots[8].getItem() == ModItems.screwdriver); } @Override @@ -1074,7 +1074,7 @@ public class TileEntityFusionMultiblock extends TileEntity implements ISidedInve slots[5] != null && (slots[5].getItem() == ModItems.fusion_core || slots[5].getItem() == ModItems.energy_core) && slots[5].getItemDamage() == 0 && slots[6] != null && (slots[6].getItem() == ModItems.fusion_core || slots[6].getItem() == ModItems.energy_core) && slots[6].getItemDamage() == 0 && slots[7] != null && (slots[7].getItem() == ModItems.fusion_core || slots[7].getItem() == ModItems.energy_core) && slots[7].getItemDamage() == 0 && - slots[8] != null && slots[8].getItem() == ModItems.fuse && + hasFuse() && deut > 0 && trit > 0) { slots[4] = null; @@ -1148,7 +1148,7 @@ public class TileEntityFusionMultiblock extends TileEntity implements ISidedInve } public boolean isRunning() { - if(slots[8] != null && slots[8].getItem() == ModItems.fuse && ( + if(hasFuse() && ( worldObj.getBlock(xCoord + 4, yCoord, zCoord - 3) == ModBlocks.plasma || worldObj.getBlock(xCoord + 4, yCoord, zCoord - 2) == ModBlocks.plasma || worldObj.getBlock(xCoord + 4, yCoord, zCoord - 1) == ModBlocks.plasma || diff --git a/com/hbm/tileentity/TileEntityLaunchPad.java b/com/hbm/tileentity/TileEntityLaunchPad.java index a07fe4743..3de12d71d 100644 --- a/com/hbm/tileentity/TileEntityLaunchPad.java +++ b/com/hbm/tileentity/TileEntityLaunchPad.java @@ -210,7 +210,7 @@ public class TileEntityLaunchPad extends TileEntity implements ISidedInventory, slots[2].setItemDamage(slots[2].getItemDamage() + 1); } - if(power + 100 <= maxPower && slots[2] != null && slots[2].getItem() == ModItems.battery_schrabidium && slots[2].getItemDamage() < 1000) + if(power + 100 <= maxPower && slots[2] != null && slots[2].getItem() == ModItems.battery_schrabidium && slots[2].getItemDamage() < 10000) { power += 100; slots[2].setItemDamage(slots[2].getItemDamage() + 1); diff --git a/com/hbm/tileentity/TileEntityMachineBattery.java b/com/hbm/tileentity/TileEntityMachineBattery.java index c754afde9..e4b644250 100644 --- a/com/hbm/tileentity/TileEntityMachineBattery.java +++ b/com/hbm/tileentity/TileEntityMachineBattery.java @@ -250,7 +250,7 @@ public class TileEntityMachineBattery extends TileEntity implements ISidedInvent slots[0].setItemDamage(slots[0].getItemDamage() + 1); } - if(power + 100 <= maxPower && slots[0] != null && slots[0].getItem() == ModItems.battery_schrabidium && slots[0].getItemDamage() < 1000) + if(power + 100 <= maxPower && slots[0] != null && slots[0].getItem() == ModItems.battery_schrabidium && slots[0].getItemDamage() < 10000) { power += 100; slots[0].setItemDamage(slots[0].getItemDamage() + 1); diff --git a/com/hbm/tileentity/TileEntityMachineCMBFactory.java b/com/hbm/tileentity/TileEntityMachineCMBFactory.java index d71aebc51..264cf66e9 100644 --- a/com/hbm/tileentity/TileEntityMachineCMBFactory.java +++ b/com/hbm/tileentity/TileEntityMachineCMBFactory.java @@ -19,13 +19,14 @@ public class TileEntityMachineCMBFactory extends TileEntity implements ISidedInv public int power = 0; public int waste = 0; public int process = 0; + public int soundCycle = 0; public static final int maxFill = 1000; public static final int maxPower = 10000; public static final int processSpeed = 200; - private static final int[] slots_top = new int[] {3}; - private static final int[] slots_bottom = new int[] {4, 0, 1}; - private static final int[] slots_side = new int[] {0, 1, 2}; + private static final int[] slots_top = new int[] {1, 3}; + private static final int[] slots_bottom = new int[] {0, 2, 4}; + private static final int[] slots_side = new int[] {0, 2}; private String customName; @@ -107,15 +108,15 @@ public class TileEntityMachineCMBFactory extends TileEntity implements ISidedInv return true; break; case 1: - if(stack.getItem() == ModItems.rod_water || stack.getItem() == ModItems.rod_dual_water || stack.getItem() == ModItems.rod_quad_water || stack.getItem() == Items.water_bucket) + if(stack.getItem() == ModItems.ingot_magnetized_tungsten || stack.getItem() == ModItems.powder_magnetized_tungsten) return true; break; case 2: - if(stack.getItem() == ModItems.sulfur) + if(stack.getItem() == ModItems.bucket_mud || (stack.getItem() == ModItems.tank_waste && stack.getItemDamage() > 0)) return true; break; case 3: - if(stack.getItem() == ModItems.cell_empty) + if(stack.getItem() == ModItems.ingot_advanced_alloy || stack.getItem() == ModItems.powder_advanced_alloy) return true; break; } @@ -205,8 +206,8 @@ public class TileEntityMachineCMBFactory extends TileEntity implements ISidedInv if(i == 0 && itemStack.getItem() instanceof ItemBattery) if(itemStack.getItemDamage() == itemStack.getMaxDamage()) return true; - if(i == 1) - if(itemStack.getItem() == Items.bucket || itemStack.getItem() == ModItems.rod_empty || itemStack.getItem() == ModItems.rod_dual_empty || itemStack.getItem() == ModItems.rod_quad_empty) + if(i == 2) + if(itemStack.getItem() == Items.bucket || (itemStack.getItem() == ModItems.tank_waste && itemStack.getItemDamage() <= 0)) return true; return false; @@ -225,7 +226,18 @@ public class TileEntityMachineCMBFactory extends TileEntity implements ISidedInv } public boolean canProcess() { - return false; + + boolean b = false; + + if(waste > 0 && power > 0 && slots[1] != null && slots[3] != null && (slots[4] == null || slots[4].stackSize <= 60)) + { + boolean flag0 = slots[1].getItem() == ModItems.ingot_magnetized_tungsten || slots[1].getItem() == ModItems.powder_magnetized_tungsten; + boolean flag1 = slots[3].getItem() == ModItems.ingot_advanced_alloy || slots[3].getItem() == ModItems.powder_advanced_alloy; + + b = flag0 && flag1; + } + + return b; } public boolean isProcessing() { @@ -234,25 +246,28 @@ public class TileEntityMachineCMBFactory extends TileEntity implements ISidedInv public void process() { waste -= 1; - power -= 25; + power -= 3; process++; if(process >= processSpeed) { + slots[1].stackSize--; + if (slots[1].stackSize == 0) { + slots[1] = null; + } + slots[3].stackSize--; - - if(slots[3].stackSize == 0) - { + if (slots[3].stackSize == 0) { slots[3] = null; } if(slots[4] == null) { - slots[4] = new ItemStack(ModItems.cell_deuterium); + slots[4] = new ItemStack(ModItems.ingot_combine_steel, 4); } else { - slots[4].stackSize++; + slots[4].stackSize += 4; } process = 0; @@ -264,14 +279,58 @@ public class TileEntityMachineCMBFactory extends TileEntity implements ISidedInv if (!worldObj.isRemote) { - if (power + 100 <= maxPower && slots[0] != null && slots[0].getItem() == ModItems.energy_core + if (slots[0] != null && slots[0].getItem() == ModItems.battery_creative) { + power = maxPower; + } + + if (power + 100 <= maxPower && slots[0] != null && slots[0].getItem() == ModItems.battery_generic + && slots[0].getItemDamage() < 50) { + power += 100; + slots[0].setItemDamage(slots[0].getItemDamage() + 1); + } + + if (power + 100 <= maxPower && slots[0] != null && slots[0].getItem() == ModItems.battery_advanced + && slots[0].getItemDamage() < 200) { + power += 100; + slots[0].setItemDamage(slots[0].getItemDamage() + 1); + } + + if (power + 100 <= maxPower && slots[0] != null && slots[0].getItem() == ModItems.battery_schrabidium + && slots[0].getItemDamage() < 1000) { + power += 100; + slots[0].setItemDamage(slots[0].getItemDamage() + 1); + } + + if (power + 100 <= maxPower && slots[0] != null && slots[0].getItem() == ModItems.fusion_core && slots[0].getItemDamage() < 5000) { power += 100; slots[0].setItemDamage(slots[0].getItemDamage() + 1); } + if (power + 100 <= maxPower && slots[0] != null && slots[0].getItem() == ModItems.energy_core + && slots[0].getItemDamage() < 5000) { + power += 100; + slots[0].setItemDamage(slots[0].getItemDamage() + 1); + } + + if(waste + 500 <= maxFill && slots[2] != null && slots[2].getItem() == ModItems.bucket_mud) { + waste += 500; + slots[2] = new ItemStack(slots[2].getItem().getContainerItem()); + } + + if(waste + 500 <= maxFill && slots[2] != null && slots[2].getItem() == ModItems.tank_waste && slots[2].getItemDamage() > 0) { + waste += 500; + slots[2].setItemDamage(slots[2].getItemDamage() - 1); + } + if (canProcess()) { process(); + if(soundCycle == 0) + this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "minecart.base", 1.0F, 1.5F); + soundCycle++; + + if(soundCycle >= 25) + soundCycle = 0; } else { process = 0; } diff --git a/com/hbm/tileentity/TileEntityMachineElectricFurnace.java b/com/hbm/tileentity/TileEntityMachineElectricFurnace.java index a6bdfc8eb..695aad1aa 100644 --- a/com/hbm/tileentity/TileEntityMachineElectricFurnace.java +++ b/com/hbm/tileentity/TileEntityMachineElectricFurnace.java @@ -323,7 +323,7 @@ public class TileEntityMachineElectricFurnace extends TileEntity implements ISid slots[0].setItemDamage(slots[0].getItemDamage() + 1); } - if(power + 100 <= maxPower && slots[0] != null && slots[0].getItem() == ModItems.battery_schrabidium && slots[0].getItemDamage() < 1000) + if(power + 100 <= maxPower && slots[0] != null && slots[0].getItem() == ModItems.battery_schrabidium && slots[0].getItemDamage() < 10000) { power += 100; slots[0].setItemDamage(slots[0].getItemDamage() + 1); diff --git a/com/hbm/tileentity/TileEntityMachineSchrabidiumTransmutator.java b/com/hbm/tileentity/TileEntityMachineSchrabidiumTransmutator.java index 5d84f6402..c6dd4863d 100644 --- a/com/hbm/tileentity/TileEntityMachineSchrabidiumTransmutator.java +++ b/com/hbm/tileentity/TileEntityMachineSchrabidiumTransmutator.java @@ -284,7 +284,7 @@ public class TileEntityMachineSchrabidiumTransmutator extends TileEntity impleme } if (power + 100 <= maxPower && slots[3] != null && slots[3].getItem() == ModItems.battery_schrabidium - && slots[3].getItemDamage() < 1000) { + && slots[3].getItemDamage() < 10000) { power += 100; slots[3].setItemDamage(slots[3].getItemDamage() + 1); } diff --git a/com/hbm/tileentity/TileEntityMachineShredder.java b/com/hbm/tileentity/TileEntityMachineShredder.java index c3a95dde0..dd6a51133 100644 --- a/com/hbm/tileentity/TileEntityMachineShredder.java +++ b/com/hbm/tileentity/TileEntityMachineShredder.java @@ -277,7 +277,7 @@ public class TileEntityMachineShredder extends TileEntity implements ISidedInven slots[29].setItemDamage(slots[29].getItemDamage() + 1); } - if(power + 100 <= maxPower && slots[29] != null && slots[29].getItem() == ModItems.battery_schrabidium && slots[29].getItemDamage() < 1000) + if(power + 100 <= maxPower && slots[29] != null && slots[29].getItem() == ModItems.battery_schrabidium && slots[29].getItemDamage() < 10000) { power += 100; slots[29].setItemDamage(slots[29].getItemDamage() + 1); diff --git a/com/hbm/tileentity/TileEntityReactorMultiblock.java b/com/hbm/tileentity/TileEntityReactorMultiblock.java index d95bc8b46..3644b2d88 100644 --- a/com/hbm/tileentity/TileEntityReactorMultiblock.java +++ b/com/hbm/tileentity/TileEntityReactorMultiblock.java @@ -308,7 +308,7 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv } - if(slots[33] != null && slots[33].getItem() == ModItems.fuse) + if(hasFuse()) { for(int i = 0; i < 30; i++) { @@ -741,7 +741,7 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv @Override public boolean hasFuse() { - return false; + return slots[33] != null && (slots[33].getItem() == ModItems.fuse || slots[33].getItem() == ModItems.screwdriver); } public void attemptPower(int i) { diff --git a/com/hbm/world/FWatz.java b/com/hbm/world/FWatz.java new file mode 100644 index 000000000..ced3d09e8 --- /dev/null +++ b/com/hbm/world/FWatz.java @@ -0,0 +1,937 @@ +package com.hbm.world; + +import java.util.Random; + +import com.hbm.blocks.ModBlocks; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.init.Blocks; +import net.minecraft.world.World; +import net.minecraft.world.gen.feature.WorldGenerator; + +public class FWatz { + + static String[][] fwatz = new String[19][19]; + + static String s0101 = " XXX "; + static String s0102 = " XXX "; + static String s0103 = " "; + static String s0104 = " "; + static String s0105 = " "; + static String s0106 = " "; + static String s0107 = " "; + static String s0108 = " SSSSS "; + static String s0109 = "XX SSSSS XX"; + static String s0110 = "XX SSSSS XX"; + static String s0111 = "XX SSSSS XX"; + static String s0112 = " SSSSS "; + static String s0113 = " "; + static String s0114 = " "; + static String s0115 = " "; + static String s0116 = " "; + static String s0117 = " "; + static String s0118 = " XXX "; + static String s0119 = " XXX "; + + static String s0201 = " XHX "; + static String s0202 = " XXX "; + static String s0203 = " "; + static String s0204 = " "; + static String s0205 = " "; + static String s0206 = " "; + static String s0207 = " "; + static String s0208 = " SSSSS "; + static String s0209 = "XX STTTS XX"; + static String s0210 = "HX STTTS XH"; + static String s0211 = "XX STTTS XX"; + static String s0212 = " SSSSS "; + static String s0213 = " "; + static String s0214 = " "; + static String s0215 = " "; + static String s0216 = " "; + static String s0217 = " "; + static String s0218 = " XXX "; + static String s0219 = " XHX "; + + static String s0301 = " XXX "; + static String s0302 = " XXX "; + static String s0303 = " "; + static String s0304 = " "; + static String s0305 = " "; + static String s0306 = " "; + static String s0307 = " "; + static String s0308 = " SSSSS "; + static String s0309 = "XX STTTS XX"; + static String s0310 = "XX STTTS XX"; + static String s0311 = "XX STTTS XX"; + static String s0312 = " SSSSS "; + static String s0313 = " "; + static String s0314 = " "; + static String s0315 = " "; + static String s0316 = " "; + static String s0317 = " "; + static String s0318 = " XXX "; + static String s0319 = " XXX "; + + static String s0401 = " "; + static String s0402 = " XXX "; + static String s0403 = " XXX "; + static String s0404 = " X "; + static String s0405 = " X "; + static String s0406 = " X "; + static String s0407 = " X "; + static String s0408 = " SSXSS "; + static String s0409 = " XX STTTS XX "; + static String s0410 = " XXXXXXXTTTXXXXXXX "; + static String s0411 = " XX STTTS XX "; + static String s0412 = " SSXSS "; + static String s0413 = " X "; + static String s0414 = " X "; + static String s0415 = " X "; + static String s0416 = " X "; + static String s0417 = " XXX "; + static String s0418 = " XXX "; + static String s0419 = " "; + + static String s0501 = " "; + static String s0502 = " XXX "; + static String s0503 = " XXX "; + static String s0504 = " "; + static String s0505 = " "; + static String s0506 = " "; + static String s0507 = " "; + static String s0508 = " SSSSS "; + static String s0509 = " XX STTTS XX "; + static String s0510 = " XX STTTS XX "; + static String s0511 = " XX STTTS XX "; + static String s0512 = " SSSSS "; + static String s0513 = " "; + static String s0514 = " "; + static String s0515 = " "; + static String s0516 = " "; + static String s0517 = " XXX "; + static String s0518 = " XXX "; + static String s0519 = " "; + + static String s0601 = " "; + static String s0602 = " XXX "; + static String s0603 = " XXX "; + static String s0604 = " "; + static String s0605 = " "; + static String s0606 = " "; + static String s0607 = " "; + static String s0608 = " SSSSS "; + static String s0609 = " XX STTTS XX "; + static String s0610 = " XX STTTS XX "; + static String s0611 = " XX STTTS XX "; + static String s0612 = " SSSSS "; + static String s0613 = " "; + static String s0614 = " "; + static String s0615 = " "; + static String s0616 = " "; + static String s0617 = " XXX "; + static String s0618 = " XXX "; + static String s0619 = " "; + + static String s0701 = " "; + static String s0702 = " "; + static String s0703 = " XXX "; + static String s0704 = " XXX "; + static String s0705 = " "; + static String s0706 = " "; + static String s0707 = " "; + static String s0708 = " MMMMM "; + static String s0709 = " XX MMMMM XX "; + static String s0710 = " XX MMMMM XX "; + static String s0711 = " XX MMMMM XX "; + static String s0712 = " MMMMM "; + static String s0713 = " "; + static String s0714 = " "; + static String s0715 = " "; + static String s0716 = " XXX "; + static String s0717 = " XXX "; + static String s0718 = " "; + static String s0719 = " "; + + static String s0801 = " "; + static String s0802 = " "; + static String s0803 = " XXX "; + static String s0804 = " XXX "; + static String s0805 = " XXX "; + static String s0806 = " MMMMM "; + static String s0807 = " MMMMMMM "; + static String s0808 = " MMMMMMMMM "; + static String s0809 = " XXXMMMMMMMMMXXX "; + static String s0810 = " XXXMMMMMMMMMXXX "; + static String s0811 = " XXXMMMMMMMMMXXX "; + static String s0812 = " MMMMMMMMM "; + static String s0813 = " MMMMMMM "; + static String s0814 = " MMMMM "; + static String s0815 = " XXX "; + static String s0816 = " XXX "; + static String s0817 = " XXX "; + static String s0818 = " "; + static String s0819 = " "; + + static String s0901 = " "; + static String s0902 = " "; + static String s0903 = " XXX "; + static String s0904 = " XXX "; + static String s0905 = " MMMMM "; + static String s0906 = " MMMMMMM "; + static String s0907 = " MMMMMMMMM "; + static String s0908 = " MMMMPPPMMMM "; + static String s0909 = " XXMMMPPPPPMMMXX "; + static String s0910 = " XXMMMPPPPPMMMXX "; + static String s0911 = " XXMMMPPPPPMMMXX "; + static String s0912 = " MMMMPPPMMMM "; + static String s0913 = " MMMMMMMMM "; + static String s0914 = " MMMMMMM "; + static String s0915 = " MMMMM "; + static String s0916 = " XXX "; + static String s0917 = " XXX "; + static String s0918 = " "; + static String s0919 = " "; + + static String s1001 = " "; + static String s1002 = " "; + static String s1003 = " "; + static String s1004 = " XXX "; + static String s1005 = " MMMMMMM "; + static String s1006 = " MMMMMMMMM "; + static String s1007 = " MMMMPPPMMMM "; + static String s1008 = " MMMPPPPPMMM "; + static String s1009 = " XMMPPPPPPPMMX "; + static String s1010 = " XMMPPPPPPPMMX "; + static String s1011 = " XMMPPPPPPPMMX "; + static String s1012 = " MMMPPPPPMMM "; + static String s1013 = " MMMMPPPMMMM "; + static String s1014 = " MMMMMMMMM "; + static String s1015 = " MMMMMMM "; + static String s1016 = " XXX "; + static String s1017 = " "; + static String s1018 = " "; + static String s1019 = " "; + + static String s1101 = " "; + static String s1102 = " "; + static String s1103 = " "; + static String s1104 = " MMMMM "; + static String s1105 = " MMMMMMMMM "; + static String s1106 = " MMMMPPPMMMM "; + static String s1107 = " MMMPPPPPMMM "; + static String s1108 = " MMMPPPPPPPMMM "; + static String s1109 = " MMPPPMMMPPPMM "; + static String s1110 = " MMPPPMMMPPPMM "; + static String s1111 = " MMPPPMMMPPPMM "; + static String s1112 = " MMMPPPPPPPMMM "; + static String s1113 = " MMMPPPPPMMM "; + static String s1114 = " MMMMPPPMMMM "; + static String s1115 = " MMMMMMMMM "; + static String s1116 = " MMMMM "; + static String s1117 = " "; + static String s1118 = " "; + static String s1119 = " "; + + static String s1201 = " "; + static String s1202 = " "; + static String s1203 = " "; + static String s1204 = " MMMMM "; + static String s1205 = " MMMMMMMMM "; + static String s1206 = " MMMPPPPPMMM "; + static String s1207 = " MMPPPPPPPMM "; + static String s1208 = " MMPPPMMMPPPMM "; + static String s1209 = " MMPPMMMMMPPMM "; + static String s1210 = " MMPPMMCMMPPMM "; + static String s1211 = " MMPPMMMMMPPMM "; + static String s1212 = " MMPPPMMMPPPMM "; + static String s1213 = " MMPPPPPPPMM "; + static String s1214 = " MMMPPPPPMMM "; + static String s1215 = " MMMMMMMMM "; + static String s1216 = " MMMMM "; + static String s1217 = " "; + static String s1218 = " "; + static String s1219 = " "; + + static String s1301 = " "; + static String s1302 = " "; + static String s1303 = " "; + static String s1304 = " MMMMM "; + static String s1305 = " MMMMMMMMM "; + static String s1306 = " MMMPPPPPMMM "; + static String s1307 = " MMPPPPPPPMM "; + static String s1308 = " MMPPPMMMPPPMM "; + static String s1309 = " MMPPMMCMMPPMM "; + static String s1310 = " MMPPMC#CMPPMM "; + static String s1311 = " MMPPMMCMMPPMM "; + static String s1312 = " MMPPPMMMPPPMM "; + static String s1313 = " MMPPPPPPPMM "; + static String s1314 = " MMMPPPPPMMM "; + static String s1315 = " MMMMMMMMM "; + static String s1316 = " MMMMM "; + static String s1317 = " "; + static String s1318 = " "; + static String s1319 = " "; + + static String s1401 = " "; + static String s1402 = " "; + static String s1403 = " "; + static String s1404 = " MMMMM "; + static String s1405 = " MMMMMMMMM "; + static String s1406 = " MMMPPPPPMMM "; + static String s1407 = " MMPPPPPPPMM "; + static String s1408 = " MMPPPMMMPPPMM "; + static String s1409 = " MMPPMMMMMPPMM "; + static String s1410 = " MMPPMMCMMPPMM "; + static String s1411 = " MMPPMMMMMPPMM "; + static String s1412 = " MMPPPMMMPPPMM "; + static String s1413 = " MMPPPPPPPMM "; + static String s1414 = " MMMPPPPPMMM "; + static String s1415 = " MMMMMMMMM "; + static String s1416 = " MMMMM "; + static String s1417 = " "; + static String s1418 = " "; + static String s1419 = " "; + + static String s1501 = " "; + static String s1502 = " "; + static String s1503 = " "; + static String s1504 = " MMMMM "; + static String s1505 = " MMMMMMMMM "; + static String s1506 = " MMMMPPPMMMM "; + static String s1507 = " MMMPPPPPMMM "; + static String s1508 = " MMMPPPPPPPMMM "; + static String s1509 = " MMPPPMMMPPPMM "; + static String s1510 = " MMPPPMMMPPPMM "; + static String s1511 = " MMPPPMMMPPPMM "; + static String s1512 = " MMMPPPPPPPMMM "; + static String s1513 = " MMMPPPPPMMM "; + static String s1514 = " MMMMPPPMMMM "; + static String s1515 = " MMMMMMMMM "; + static String s1516 = " MMMMM "; + static String s1517 = " "; + static String s1518 = " "; + static String s1519 = " "; + + static String s1601 = " "; + static String s1602 = " "; + static String s1603 = " "; + static String s1604 = " "; + static String s1605 = " MMMMMMM "; + static String s1606 = " MMMMMMMMM "; + static String s1607 = " MMMMPPPMMMM "; + static String s1608 = " MMMPPPPPMMM "; + static String s1609 = " MMPPPPPPPMM "; + static String s1610 = " MMPPPPPPPMM "; + static String s1611 = " MMPPPPPPPMM "; + static String s1612 = " MMMPPPPPMMM "; + static String s1613 = " MMMMPPPMMMM "; + static String s1614 = " MMMMMMMMM "; + static String s1615 = " MMMMMMM "; + static String s1616 = " "; + static String s1617 = " "; + static String s1618 = " "; + static String s1619 = " "; + + static String s1701 = " "; + static String s1702 = " "; + static String s1703 = " "; + static String s1704 = " "; + static String s1705 = " MMMMM "; + static String s1706 = " MMMMMMM "; + static String s1707 = " MMMMMMMMM "; + static String s1708 = " MMMMPPPMMMM "; + static String s1709 = " MMMPPPPPMMM "; + static String s1710 = " MMMPPPPPMMM "; + static String s1711 = " MMMPPPPPMMM "; + static String s1712 = " MMMMPPPMMMM "; + static String s1713 = " MMMMMMMMM "; + static String s1714 = " MMMMMMM "; + static String s1715 = " MMMMM "; + static String s1716 = " "; + static String s1717 = " "; + static String s1718 = " "; + static String s1719 = " "; + + static String s1801 = " "; + static String s1802 = " "; + static String s1803 = " "; + static String s1804 = " "; + static String s1805 = " "; + static String s1806 = " MMMMM "; + static String s1807 = " MMMMMMM "; + static String s1808 = " MMMMMMMMM "; + static String s1809 = " MMMMMMMMM "; + static String s1810 = " MMMMMMMMM "; + static String s1811 = " MMMMMMMMM "; + static String s1812 = " MMMMMMMMM "; + static String s1813 = " MMMMMMM "; + static String s1814 = " MMMMM "; + static String s1815 = " "; + static String s1816 = " "; + static String s1817 = " "; + static String s1818 = " "; + static String s1819 = " "; + + static String s1901 = " "; + static String s1902 = " "; + static String s1903 = " "; + static String s1904 = " "; + static String s1905 = " "; + static String s1906 = " "; + static String s1907 = " "; + static String s1908 = " MMMMM "; + static String s1909 = " MMMMM "; + static String s1910 = " MMMMM "; + static String s1911 = " MMMMM "; + static String s1912 = " MMMMM "; + static String s1913 = " "; + static String s1914 = " "; + static String s1915 = " "; + static String s1916 = " "; + static String s1917 = " "; + static String s1918 = " "; + static String s1919 = " "; + + public void generateHull(World world, Random rand, int x, int y, int z) { + + x -= 9; + z -= 9; + + uniteStructure(); + + for(int i = 0; i < 19; i++) { + for(int j = 0; j < 19; j++) { + for(int k = 0; k < 19; k++) { + String c = fwatz[j][i].substring(k, k + 1); + Block b = Blocks.air; + + if(c.equals("X")) + b = ModBlocks.fwatz_scaffold; + if(c.equals("H")) + b = ModBlocks.fwatz_hatch; + if(c.equals("S")) + b = ModBlocks.fwatz_cooler; + if(c.equals("T")) + b = ModBlocks.fwatz_tank; + if(c.equals("M")) + b = ModBlocks.fwatz_conductor; + if(c.equals("C")) + b = ModBlocks.fwatz_computer; + if(c.equals("#")) + b = ModBlocks.fwatz_core; + + world.setBlock(x + i, y + j, z + k, b); + } + } + } + + world.setBlock(x + 0, y + 1, z + 9, ModBlocks.fwatz_hatch, 4, 3); + world.setBlock(x + 18, y + 1, z + 9, ModBlocks.fwatz_hatch, 5, 3); + world.setBlock(x + 9, y + 1, z + 18, ModBlocks.fwatz_hatch, 3, 3); + world.setBlock(x + 9, y + 1, z + 0, ModBlocks.fwatz_hatch, 2, 3); + + } + + public static boolean checkHull(World world, int x, int y, int z) { + x -= 9; + y -= 12; + z -= 9; + + uniteStructure(); + + boolean flag = true; + + for(int i = 0; i < 19; i++) { + for(int j = 0; j < 19; j++) { + for(int k = 0; k < 19; k++) { + String c = fwatz[j][i].substring(k, k + 1); + Block b = Blocks.air; + boolean flag2 = false; + + if(c.equals("X")) { + b = ModBlocks.fwatz_scaffold; + flag2 = true; + } + if(c.equals("H")) { + b = ModBlocks.fwatz_hatch; + flag2 = true; + } + if(c.equals("S")) { + b = ModBlocks.fwatz_cooler; + flag2 = true; + } + if(c.equals("T")) { + b = ModBlocks.fwatz_tank; + flag2 = true; + } + if(c.equals("M")) { + b = ModBlocks.fwatz_conductor; + flag2 = true; + } + if(c.equals("C")) { + b = ModBlocks.fwatz_computer; + flag2 = true; + } + if(c.equals("#")) { + b = ModBlocks.fwatz_core; + flag2 = true; + } + + if(flag2) + if(world.getBlock(x + i, y + j, z + k) != b) + flag = false; + } + } + } + + return flag; + } + + public static void fillPlasma(World world, int x, int y, int z) { + x -= 9; + y -= 12; + z -= 9; + + uniteStructure(); + + for(int i = 0; i < 19; i++) { + for(int j = 0; j < 19; j++) { + for(int k = 0; k < 19; k++) { + String c = fwatz[j][i].substring(k, k + 1); + + if(c.equals("P")) + world.setBlock(x + i, y + j, z + k, ModBlocks.fwatz_plasma); + } + } + } + } + + public static void emptyPlasma(World world, int x, int y, int z) { + x -= 9; + y -= 12; + z -= 9; + + uniteStructure(); + + for(int i = 0; i < 19; i++) { + for(int j = 0; j < 19; j++) { + for(int k = 0; k < 19; k++) { + String c = fwatz[j][i].substring(k, k + 1); + + if(c.equals("P") && world.getBlock(x + i, y + j, z + k) == ModBlocks.fwatz_plasma) + world.setBlock(x + i, y + j, z + k, Blocks.air); + } + } + } + } + + public static boolean getPlasma(World world, int x, int y, int z) { + x -= 9; + y -= 12; + z -= 9; + + uniteStructure(); + + boolean flag = false; + + for(int i = 0; i < 19; i++) { + for(int j = 0; j < 19; j++) { + for(int k = 0; k < 19; k++) { + String c = fwatz[j][i].substring(k, k + 1); + + if(c == "P" && world.getBlock(x + i, y + j, z + k) == ModBlocks.plasma) + flag = true; + } + } + } + + return flag; + } + + public static void uniteStructure() { + int x = 0; + fwatz[x][0] = s0101; + fwatz[x][1] = s0102; + fwatz[x][2] = s0103; + fwatz[x][3] = s0104; + fwatz[x][4] = s0105; + fwatz[x][5] = s0106; + fwatz[x][6] = s0107; + fwatz[x][7] = s0108; + fwatz[x][8] = s0109; + fwatz[x][9] = s0110; + fwatz[x][10] = s0111; + fwatz[x][11] = s0112; + fwatz[x][12] = s0113; + fwatz[x][13] = s0114; + fwatz[x][14] = s0115; + fwatz[x][15] = s0116; + fwatz[x][16] = s0117; + fwatz[x][17] = s0118; + fwatz[x][18] = s0119; + x++; + fwatz[x][0] = s0201; + fwatz[x][1] = s0202; + fwatz[x][2] = s0203; + fwatz[x][3] = s0204; + fwatz[x][4] = s0205; + fwatz[x][5] = s0206; + fwatz[x][6] = s0207; + fwatz[x][7] = s0208; + fwatz[x][8] = s0209; + fwatz[x][9] = s0210; + fwatz[x][10] = s0211; + fwatz[x][11] = s0212; + fwatz[x][12] = s0213; + fwatz[x][13] = s0214; + fwatz[x][14] = s0215; + fwatz[x][15] = s0216; + fwatz[x][16] = s0217; + fwatz[x][17] = s0218; + fwatz[x][18] = s0219; + x++; + fwatz[x][0] = s0301; + fwatz[x][1] = s0302; + fwatz[x][2] = s0303; + fwatz[x][3] = s0304; + fwatz[x][4] = s0305; + fwatz[x][5] = s0306; + fwatz[x][6] = s0307; + fwatz[x][7] = s0308; + fwatz[x][8] = s0309; + fwatz[x][9] = s0310; + fwatz[x][10] = s0311; + fwatz[x][11] = s0312; + fwatz[x][12] = s0313; + fwatz[x][13] = s0314; + fwatz[x][14] = s0315; + fwatz[x][15] = s0316; + fwatz[x][16] = s0317; + fwatz[x][17] = s0318; + fwatz[x][18] = s0319; + x++; + fwatz[x][0] = s0401; + fwatz[x][1] = s0402; + fwatz[x][2] = s0403; + fwatz[x][3] = s0404; + fwatz[x][4] = s0405; + fwatz[x][5] = s0406; + fwatz[x][6] = s0407; + fwatz[x][7] = s0408; + fwatz[x][8] = s0409; + fwatz[x][9] = s0410; + fwatz[x][10] = s0411; + fwatz[x][11] = s0412; + fwatz[x][12] = s0413; + fwatz[x][13] = s0414; + fwatz[x][14] = s0415; + fwatz[x][15] = s0416; + fwatz[x][16] = s0417; + fwatz[x][17] = s0418; + fwatz[x][18] = s0419; + x++; + fwatz[x][0] = s0501; + fwatz[x][1] = s0502; + fwatz[x][2] = s0503; + fwatz[x][3] = s0504; + fwatz[x][4] = s0505; + fwatz[x][5] = s0506; + fwatz[x][6] = s0507; + fwatz[x][7] = s0508; + fwatz[x][8] = s0509; + fwatz[x][9] = s0510; + fwatz[x][10] = s0511; + fwatz[x][11] = s0512; + fwatz[x][12] = s0513; + fwatz[x][13] = s0514; + fwatz[x][14] = s0515; + fwatz[x][15] = s0516; + fwatz[x][16] = s0517; + fwatz[x][17] = s0518; + fwatz[x][18] = s0519; + x++; + fwatz[x][0] = s0601; + fwatz[x][1] = s0602; + fwatz[x][2] = s0603; + fwatz[x][3] = s0604; + fwatz[x][4] = s0605; + fwatz[x][5] = s0606; + fwatz[x][6] = s0607; + fwatz[x][7] = s0608; + fwatz[x][8] = s0609; + fwatz[x][9] = s0610; + fwatz[x][10] = s0611; + fwatz[x][11] = s0612; + fwatz[x][12] = s0613; + fwatz[x][13] = s0614; + fwatz[x][14] = s0615; + fwatz[x][15] = s0616; + fwatz[x][16] = s0617; + fwatz[x][17] = s0618; + fwatz[x][18] = s0619; + x++; + fwatz[x][0] = s0701; + fwatz[x][1] = s0702; + fwatz[x][2] = s0703; + fwatz[x][3] = s0704; + fwatz[x][4] = s0705; + fwatz[x][5] = s0706; + fwatz[x][6] = s0707; + fwatz[x][7] = s0708; + fwatz[x][8] = s0709; + fwatz[x][9] = s0710; + fwatz[x][10] = s0711; + fwatz[x][11] = s0712; + fwatz[x][12] = s0713; + fwatz[x][13] = s0714; + fwatz[x][14] = s0715; + fwatz[x][15] = s0716; + fwatz[x][16] = s0717; + fwatz[x][17] = s0718; + fwatz[x][18] = s0719; + x++; + fwatz[x][0] = s0801; + fwatz[x][1] = s0802; + fwatz[x][2] = s0803; + fwatz[x][3] = s0804; + fwatz[x][4] = s0805; + fwatz[x][5] = s0806; + fwatz[x][6] = s0807; + fwatz[x][7] = s0808; + fwatz[x][8] = s0809; + fwatz[x][9] = s0810; + fwatz[x][10] = s0811; + fwatz[x][11] = s0812; + fwatz[x][12] = s0813; + fwatz[x][13] = s0814; + fwatz[x][14] = s0815; + fwatz[x][15] = s0816; + fwatz[x][16] = s0817; + fwatz[x][17] = s0818; + fwatz[x][18] = s0819; + x++; + fwatz[x][0] = s0901; + fwatz[x][1] = s0902; + fwatz[x][2] = s0903; + fwatz[x][3] = s0904; + fwatz[x][4] = s0905; + fwatz[x][5] = s0906; + fwatz[x][6] = s0907; + fwatz[x][7] = s0908; + fwatz[x][8] = s0909; + fwatz[x][9] = s0910; + fwatz[x][10] = s0911; + fwatz[x][11] = s0912; + fwatz[x][12] = s0913; + fwatz[x][13] = s0914; + fwatz[x][14] = s0915; + fwatz[x][15] = s0916; + fwatz[x][16] = s0917; + fwatz[x][17] = s0918; + fwatz[x][18] = s0919; + x++; + fwatz[x][0] = s1001; + fwatz[x][1] = s1002; + fwatz[x][2] = s1003; + fwatz[x][3] = s1004; + fwatz[x][4] = s1005; + fwatz[x][5] = s1006; + fwatz[x][6] = s1007; + fwatz[x][7] = s1008; + fwatz[x][8] = s1009; + fwatz[x][9] = s1010; + fwatz[x][10] = s1011; + fwatz[x][11] = s1012; + fwatz[x][12] = s1013; + fwatz[x][13] = s1014; + fwatz[x][14] = s1015; + fwatz[x][15] = s1016; + fwatz[x][16] = s1017; + fwatz[x][17] = s1018; + fwatz[x][18] = s1019; + x++; + fwatz[x][0] = s1101; + fwatz[x][1] = s1102; + fwatz[x][2] = s1103; + fwatz[x][3] = s1104; + fwatz[x][4] = s1105; + fwatz[x][5] = s1106; + fwatz[x][6] = s1107; + fwatz[x][7] = s1108; + fwatz[x][8] = s1109; + fwatz[x][9] = s1110; + fwatz[x][10] = s1111; + fwatz[x][11] = s1112; + fwatz[x][12] = s1113; + fwatz[x][13] = s1114; + fwatz[x][14] = s1115; + fwatz[x][15] = s1116; + fwatz[x][16] = s1117; + fwatz[x][17] = s1118; + fwatz[x][18] = s1119; + x++; + fwatz[x][0] = s1201; + fwatz[x][1] = s1202; + fwatz[x][2] = s1203; + fwatz[x][3] = s1204; + fwatz[x][4] = s1205; + fwatz[x][5] = s1206; + fwatz[x][6] = s1207; + fwatz[x][7] = s1208; + fwatz[x][8] = s1209; + fwatz[x][9] = s1210; + fwatz[x][10] = s1211; + fwatz[x][11] = s1212; + fwatz[x][12] = s1213; + fwatz[x][13] = s1214; + fwatz[x][14] = s1215; + fwatz[x][15] = s1216; + fwatz[x][16] = s1217; + fwatz[x][17] = s1218; + fwatz[x][18] = s1219; + x++; + fwatz[x][0] = s1301; + fwatz[x][1] = s1302; + fwatz[x][2] = s1303; + fwatz[x][3] = s1304; + fwatz[x][4] = s1305; + fwatz[x][5] = s1306; + fwatz[x][6] = s1307; + fwatz[x][7] = s1308; + fwatz[x][8] = s1309; + fwatz[x][9] = s1310; + fwatz[x][10] = s1311; + fwatz[x][11] = s1312; + fwatz[x][12] = s1313; + fwatz[x][13] = s1314; + fwatz[x][14] = s1315; + fwatz[x][15] = s1316; + fwatz[x][16] = s1317; + fwatz[x][17] = s1318; + fwatz[x][18] = s1319; + x++; + fwatz[x][0] = s1401; + fwatz[x][1] = s1402; + fwatz[x][2] = s1403; + fwatz[x][3] = s1404; + fwatz[x][4] = s1405; + fwatz[x][5] = s1406; + fwatz[x][6] = s1407; + fwatz[x][7] = s1408; + fwatz[x][8] = s1409; + fwatz[x][9] = s1410; + fwatz[x][10] = s1411; + fwatz[x][11] = s1412; + fwatz[x][12] = s1413; + fwatz[x][13] = s1414; + fwatz[x][14] = s1415; + fwatz[x][15] = s1416; + fwatz[x][16] = s1417; + fwatz[x][17] = s1418; + fwatz[x][18] = s1419; + x++; + fwatz[x][0] = s1501; + fwatz[x][1] = s1502; + fwatz[x][2] = s1503; + fwatz[x][3] = s1504; + fwatz[x][4] = s1505; + fwatz[x][5] = s1506; + fwatz[x][6] = s1507; + fwatz[x][7] = s1508; + fwatz[x][8] = s1509; + fwatz[x][9] = s1510; + fwatz[x][10] = s1511; + fwatz[x][11] = s1512; + fwatz[x][12] = s1513; + fwatz[x][13] = s1514; + fwatz[x][14] = s1515; + fwatz[x][15] = s1516; + fwatz[x][16] = s1517; + fwatz[x][17] = s1518; + fwatz[x][18] = s1519; + x++; + fwatz[x][0] = s1601; + fwatz[x][1] = s1602; + fwatz[x][2] = s1603; + fwatz[x][3] = s1604; + fwatz[x][4] = s1605; + fwatz[x][5] = s1606; + fwatz[x][6] = s1607; + fwatz[x][7] = s1608; + fwatz[x][8] = s1609; + fwatz[x][9] = s1610; + fwatz[x][10] = s1611; + fwatz[x][11] = s1612; + fwatz[x][12] = s1613; + fwatz[x][13] = s1614; + fwatz[x][14] = s1615; + fwatz[x][15] = s1616; + fwatz[x][16] = s1617; + fwatz[x][17] = s1618; + fwatz[x][18] = s1619; + x++; + fwatz[x][0] = s1701; + fwatz[x][1] = s1702; + fwatz[x][2] = s1703; + fwatz[x][3] = s1704; + fwatz[x][4] = s1705; + fwatz[x][5] = s1706; + fwatz[x][6] = s1707; + fwatz[x][7] = s1708; + fwatz[x][8] = s1709; + fwatz[x][9] = s1710; + fwatz[x][10] = s1711; + fwatz[x][11] = s1712; + fwatz[x][12] = s1713; + fwatz[x][13] = s1714; + fwatz[x][14] = s1715; + fwatz[x][15] = s1716; + fwatz[x][16] = s1717; + fwatz[x][17] = s1718; + fwatz[x][18] = s1719; + x++; + fwatz[x][0] = s1801; + fwatz[x][1] = s1802; + fwatz[x][2] = s1803; + fwatz[x][3] = s1804; + fwatz[x][4] = s1805; + fwatz[x][5] = s1806; + fwatz[x][6] = s1807; + fwatz[x][7] = s1808; + fwatz[x][8] = s1809; + fwatz[x][9] = s1810; + fwatz[x][10] = s1811; + fwatz[x][11] = s1812; + fwatz[x][12] = s1813; + fwatz[x][13] = s1814; + fwatz[x][14] = s1815; + fwatz[x][15] = s1816; + fwatz[x][16] = s1817; + fwatz[x][17] = s1818; + fwatz[x][18] = s1819; + x++; + fwatz[x][0] = s1901; + fwatz[x][1] = s1902; + fwatz[x][2] = s1903; + fwatz[x][3] = s1904; + fwatz[x][4] = s1905; + fwatz[x][5] = s1906; + fwatz[x][6] = s1907; + fwatz[x][7] = s1908; + fwatz[x][8] = s1909; + fwatz[x][9] = s1910; + fwatz[x][10] = s1911; + fwatz[x][11] = s1912; + fwatz[x][12] = s1913; + fwatz[x][13] = s1914; + fwatz[x][14] = s1915; + fwatz[x][15] = s1916; + fwatz[x][16] = s1917; + fwatz[x][17] = s1918; + fwatz[x][18] = s1919; + + } + +} \ No newline at end of file