From 6f3212ec0aa93a0df171607aeba33dcde4d0781b Mon Sep 17 00:00:00 2001 From: HbmMods Date: Sun, 13 Jan 2019 15:13:27 +0100 Subject: [PATCH] folly prototype, more alt ammo, bolt action laser pointer --- assets/hbm/lang/de_DE.lang | 12 +- assets/hbm/lang/en_US.lang | 12 +- assets/hbm/sounds.json | 6 + assets/hbm/sounds/weapon/follyAquired.ogg | Bin 0 -> 5511 bytes assets/hbm/sounds/weapon/follyAquiredAlt.ogg | Bin 0 -> 5910 bytes assets/hbm/sounds/weapon/follyBuzzer.ogg | Bin 0 -> 9364 bytes assets/hbm/sounds/weapon/follyClose.ogg | Bin 0 -> 8917 bytes assets/hbm/sounds/weapon/follyFire.ogg | Bin 0 -> 13866 bytes assets/hbm/sounds/weapon/follyOpen.ogg | Bin 0 -> 8002 bytes assets/hbm/sounds/weapon/follyReload.ogg | Bin 0 -> 14065 bytes assets/hbm/textures/items/ammo_22lr.png | Bin 0 -> 211 bytes assets/hbm/textures/items/ammo_22lr_ap.png | Bin 0 -> 255 bytes assets/hbm/textures/items/ammo_44.png | Bin 0 -> 221 bytes assets/hbm/textures/items/ammo_44_ap.png | Bin 0 -> 247 bytes assets/hbm/textures/items/ammo_44_pip.png | Bin 0 -> 242 bytes ...un_folly_ammo_taint.png => ammo_folly.png} | Bin ...un_folly_ammo_du.png => ammo_folly_du.png} | Bin ...mmo_nuclear.png => ammo_folly_nuclear.png} | Bin .../hbm/textures/items/chem_icon_CORDITE.png | Bin 0 -> 394 bytes assets/hbm/textures/items/cordite.png | Bin 349 -> 344 bytes assets/hbm/textures/items/folly_bullet_du.png | Bin 0 -> 288 bytes .../textures/items/folly_bullet_nuclear.png | Bin 0 -> 165 bytes .../hbm/textures/items/pellets_flechette.png | Bin 0 -> 257 bytes assets/hbm/textures/misc/overlay_misc.png | Bin 2628 -> 3399 bytes assets/hbm/textures/models/ModelFolly.png | Bin 0 -> 895 bytes .../entity/projectile/EntityBulletBase.java | 5 + com/hbm/handler/BulletConfiguration.java | 4 +- com/hbm/interfaces/IHoldableWeapon.java | 7 +- com/hbm/inventory/MachineRecipes.java | 11 + com/hbm/items/ModItems.java | 54 ++- com/hbm/items/tool/ItemChemistryTemplate.java | 5 +- com/hbm/items/weapon/GunFolly.java | 118 +++++++ com/hbm/items/weapon/GunLacunae.java | 6 + com/hbm/items/weapon/GunUZI.java | 6 + com/hbm/items/weapon/ItemGunBase.java | 6 + com/hbm/main/ClientProxy.java | 1 + com/hbm/main/ModEventHandlerClient.java | 9 +- com/hbm/render/entity/RenderRocket.java | 8 +- com/hbm/render/item/ItemRenderOverkill.java | 34 ++ com/hbm/render/misc/RenderScreenOverlay.java | 46 +++ com/hbm/render/model/ModelBoltAction.java | 19 ++ com/hbm/render/model/ModelFolly.java | 322 ++++++++++++++++++ 42 files changed, 669 insertions(+), 22 deletions(-) create mode 100644 assets/hbm/sounds/weapon/follyAquired.ogg create mode 100644 assets/hbm/sounds/weapon/follyAquiredAlt.ogg create mode 100644 assets/hbm/sounds/weapon/follyBuzzer.ogg create mode 100644 assets/hbm/sounds/weapon/follyClose.ogg create mode 100644 assets/hbm/sounds/weapon/follyFire.ogg create mode 100644 assets/hbm/sounds/weapon/follyOpen.ogg create mode 100644 assets/hbm/sounds/weapon/follyReload.ogg create mode 100644 assets/hbm/textures/items/ammo_22lr.png create mode 100644 assets/hbm/textures/items/ammo_22lr_ap.png create mode 100644 assets/hbm/textures/items/ammo_44.png create mode 100644 assets/hbm/textures/items/ammo_44_ap.png create mode 100644 assets/hbm/textures/items/ammo_44_pip.png rename assets/hbm/textures/items/{gun_folly_ammo_taint.png => ammo_folly.png} (100%) rename assets/hbm/textures/items/{gun_folly_ammo_du.png => ammo_folly_du.png} (100%) rename assets/hbm/textures/items/{gun_folly_ammo_nuclear.png => ammo_folly_nuclear.png} (100%) create mode 100644 assets/hbm/textures/items/chem_icon_CORDITE.png create mode 100644 assets/hbm/textures/items/folly_bullet_du.png create mode 100644 assets/hbm/textures/items/folly_bullet_nuclear.png create mode 100644 assets/hbm/textures/items/pellets_flechette.png create mode 100644 assets/hbm/textures/models/ModelFolly.png create mode 100644 com/hbm/items/weapon/GunFolly.java create mode 100644 com/hbm/render/model/ModelFolly.java diff --git a/assets/hbm/lang/de_DE.lang b/assets/hbm/lang/de_DE.lang index bb1ca5af9..ffa0dd054 100644 --- a/assets/hbm/lang/de_DE.lang +++ b/assets/hbm/lang/de_DE.lang @@ -129,6 +129,7 @@ chem.NITAN=NITAN-Supertreibstoff mischen chem.DYN_SCHRAB=Schrabidium-Dynosynthese chem.DYN_EUPH=Euphemium-Dynosynthese chem.DYN_DNT=Dineutronium-Dynosynthese +chem.CORDITE=Korditherstellung item.record.lc.desc=Valve - Diabolic Adrenaline Guitar/Lambda Core item.record.ss.desc=Valve - Sector Sweep @@ -1361,9 +1362,14 @@ item.ammo_50bmg_incendiary.name=.50 BMG Patrone (Brand) item.ammo_50bmg_explosive.name=.50 BMG Patrone (Explosiv) item.ammo_9mm.name=9mm Patrone item.ammo_9mm_ap.name=9mm Patrone (Panzerbrechend) -item.gun_folly_ammo_taint.name=Silbernes Geschoss (Original) -item.gun_folly_ammo_nuclear.name=Silbernes Geschoss (Atomar) -item.gun_folly_ammo_du.name=Silbernes Geschoss (DU, Nicht-Explosiv) +item.ammo_22lr.name=.22 LR Patrone +item.ammo_22lr_ap.name=.22 LR Patrone (Panzerbrechend) +item.ammo_folly_taint.name=Silbernes Geschoss (Original) +item.ammo_folly_nuclear.name=Silbernes Geschoss (Atomar) +item.ammo_folly_du.name=Silbernes Geschoss (DU, Nicht-Explosiv) +item.ammo_44.name=.44 Magnum Patrone +item.ammo_44_ap.name=.44 Magnum Patrone (Panzerbrechend) +item.ammo_44_pip.name=.44 Magnum Patrone (Güterwagon) item.cordite.name=Kordit diff --git a/assets/hbm/lang/en_US.lang b/assets/hbm/lang/en_US.lang index 84075effb..b086ab976 100644 --- a/assets/hbm/lang/en_US.lang +++ b/assets/hbm/lang/en_US.lang @@ -129,6 +129,7 @@ chem.NITAN=NITAN Super Fuel Mixing chem.DYN_SCHRAB=Schrabidium Dynosynthesis chem.DYN_EUPH=Euphemium Dynosynthesis chem.DYN_DNT=Dineutronium Dynosynthesis +chem.CORDITE=Cordite Production item.record.lc.desc=Valve - Diabolic Adrenaline Guitar/Lambda Core item.record.ss.desc=Valve - Sector Sweep @@ -1361,9 +1362,14 @@ item.ammo_50bmg_incendiary.name=.50 BMG Round (Incendiary) item.ammo_50bmg_explosive.name=.50 BMG Round (Explosive) item.ammo_9mm.name=9mm Round item.ammo_9mm_ap.name=9mm Round (Armor Piercing) -item.gun_folly_ammo_taint.name=Silver Bullet (Original) -item.gun_folly_ammo_nuclear.name=Silver Bullet (Nuclear) -item.gun_folly_ammo_du.name=Silver Bullet (DU, Non-Explosive) +item.ammo_22lr.name=.22 LR Round +item.ammo_22lr_ap.name=.22 LR Round (Armor Piercing) +item.ammo_folly.name=Silver Bullet (Original) +item.ammo_folly_nuclear.name=Silver Bullet (Nuclear) +item.ammo_folly_du.name=Silver Bullet (DU, Non-Explosive) +item.ammo_44.name=.44 Magnum Bullet +item.ammo_44_ap.name=.44 Magnum Bullet (Armor Piercing) +item.ammo_44_pip.name=.44 Magnum Bullet (Boxcar) item.cordite.name=Cordite diff --git a/assets/hbm/sounds.json b/assets/hbm/sounds.json index fe222eda2..8df77013c 100644 --- a/assets/hbm/sounds.json +++ b/assets/hbm/sounds.json @@ -93,6 +93,12 @@ "weapon.lacunaeSpinup": {"category": "player", "sounds": [{"name": "weapon/lacunaeSpinup", "stream": false}]}, "weapon.lacunaeSpindown": {"category": "player", "sounds": [{"name": "weapon/lacunaeSpindown", "stream": false}]}, "weapon.lacunaeShoot": {"category": "player", "sounds": [{"name": "weapon/lacunaeShoot", "stream": false}]}, + "weapon.follyOpen": {"category": "player", "sounds": [{"name": "weapon/follyOpen", "stream": false}]}, + "weapon.follyClose": {"category": "player", "sounds": [{"name": "weapon/follyClose", "stream": false}]}, + "weapon.follyReload": {"category": "player", "sounds": [{"name": "weapon/follyReload", "stream": false}]}, + "weapon.follyBuzzer": {"category": "player", "sounds": [{"name": "weapon/follyBuzzer", "stream": false}]}, + "weapon.follyAquired": {"category": "player", "sounds": [{"name": "weapon/follyAquiredAlt", "stream": false}]}, + "weapon.follyFire": {"category": "player", "sounds": [{"name": "weapon/follyFire", "stream": false}]}, "weapon.reloadTurret": {"category": "player", "sounds": [{"name": "weapon/reloadTurret", "stream": false}]}, "weapon.switchmode1": {"category": "player", "sounds": [{"name": "weapon/switchmode1", "stream": false}]}, diff --git a/assets/hbm/sounds/weapon/follyAquired.ogg b/assets/hbm/sounds/weapon/follyAquired.ogg new file mode 100644 index 0000000000000000000000000000000000000000..7d07176120ac5ff38c40ae8333818a7c438d7fdf GIT binary patch literal 5511 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 jKDFU%64F literal 0 HcmV?d00001 diff --git a/assets/hbm/sounds/weapon/follyAquiredAlt.ogg b/assets/hbm/sounds/weapon/follyAquiredAlt.ogg new file mode 100644 index 0000000000000000000000000000000000000000..aaaae0c23350f1a51cb38a19283a3e111e5dfa1d GIT binary patch literal 5910 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'(qYbl5V()sh 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 literal 0 HcmV?d00001 diff --git a/assets/hbm/sounds/weapon/follyBuzzer.ogg b/assets/hbm/sounds/weapon/follyBuzzer.ogg new file mode 100644 index 0000000000000000000000000000000000000000..88e5c1295de9e0f8883167f2694c6bd0d39fce88 GIT binary patch literal 9364 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 OqD*)r>Jyrpcxg5JX9o0Me1B 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 JEnk57e*lneVweB` literal 0 HcmV?d00001 diff --git a/assets/hbm/sounds/weapon/follyFire.ogg b/assets/hbm/sounds/weapon/follyFire.ogg new file mode 100644 index 0000000000000000000000000000000000000000..c33d550bd730171216b7f83393f033459508704d GIT binary patch literal 13866 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 H65#&;EA!DQ literal 0 HcmV?d00001 diff --git a/assets/hbm/sounds/weapon/follyOpen.ogg b/assets/hbm/sounds/weapon/follyOpen.ogg new file mode 100644 index 0000000000000000000000000000000000000000..57ce982d294b7f071951e4a858053ffe57fb66e9 GIT binary patch literal 8002 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 literal 0 HcmV?d00001 diff --git a/assets/hbm/sounds/weapon/follyReload.ogg b/assets/hbm/sounds/weapon/follyReload.ogg new file mode 100644 index 0000000000000000000000000000000000000000..eb24d346ac53b8e596ad8e0400136411c4783a79 GIT binary patch literal 14065 zcmeHtXH*nH)9xTSDIg$WLBbN292O)?&N*kvu;eU31O<_tL0B>@OAwHp5tW>CRuDmQ z5KyAPUGxp#d;fgrp6~v;=l1EHsjjZB>VCSXx_V|c?Co`cJHS6u;5|=`TN3|5%LR=V z&DYJ-3g&goxFcJBdqbtCXn$@^Xd1UI|CMfA-qzUs>cAxuyZMjw4gIeo4phA%%-w-Y z!_%J58D^#bM?IYq9Ul*`01q#Z03GYM%&>oD$gOfT%)f1!q-FHc07(D{!2fO7FN&oXAC+vW#mBOJ3TjdcV2>mW}1`3lCHY7svHtE9dNjJem%Y{+G zU;#zVP%Pn1P}nC9)~J_VJWb?b7y_&@FV}ebrb6+hBjBM*0%ufV_ELW2e{F!J6ca+R zr1~hrdiK|EdG~ll4eW!r#T8k zq6wH?DOLmzIwjVhc|dg|ggA<)E99RbhfpZrEx@f1Ud~$0Gr9{`t`?@rQmpq+%8Y6j z-pKMA>0i&{9YIkASw;kKl-x#ESDq2xUy7yLe+qnz#r}67 zkRA%JA>mDM3ei7@iJDNromAn^dQ++at4x50Cpa{Yp&IwawMgYAp?c$FW?GM2v;=J@ z11y8VoHdsy@Mf^cGgy0rkP$w@~&XZ$s0{VB11-N>2OYK%T4R({dY-i5~_9|1uQO*fCl6dnW$8Bf5vqL zSxtBjfxXqOh{~#Q7!>Lo2Y8D>-8obdDOx0fWvtdwN<+MLV-S{#8EuhQq=I7HPi~SEP|0I4 zRQ`t&l%XH8#Hjp_GRG*o*f_eF7Rr14kJE?o|Fne~(XB19f7(Kg2xaL1j;;T3XaB!~ z|JM;9LTzL9$NbcWQKu1H% zr1e(HfZ=0{GEKb_u76jhZAj_mm${pTeD~+kOJ~z1`*)QFX?}~QSrgj_ez_(#Q?fGr ze^>oi3gww8+)*1iPd>pv`{XVZWs3%ctfIOE0CB5^syWo| z%fXQ_ICB*A)*q7k=OF!aVA7Lfqfq*&9D6vC+$g_VI+C@FjYv)pg^K3aTi8R9UEhFL z;pG^B^c{d8&dMl<1r-xTAxq0pTEsL+<;J0U(|RyCN*5|vf|ZqRABmw1O`^6aRQ&P^ z8Cd{>-?Dc;9m|eG)lj~A+GoYTzyXfZfZ8^Qtk!wfQD*P$v#*^=x#QfiYmJRwlD7dYSP&0-?JPizkZ=eu{Bkh#n>;5PXvj6xW=%?OR z+(OSbONNRI)KJjXaQp+yzp(k(rXz2spoPnMQ5S{3EoDOmyo{~2hQQPS6|pqDKyBZ< z3k?A90|Oh#yF;z7AOxYp=YZNU-R_r?6rnMwko*;qG#-6eiZ%}Je=L6zKoPa%6RKx! z1F9KGh1-Zqxzs)8Z*27^z`DIC|BL$HD*g|Pm;jfa5U?pRS0(aEY245PHKS-DsLA<2 zQIzhfE)5}*juB?2FCu3Tqd;M-%u7BhjGdn{W6Y7`bypfv(QT-^ot2Ve992<5$_IfI z%~%nALKU5g>gmGRO1sjGouqKgbQ~dRb1#V+8j`eQc(GPOylLA6Q5&!@l1Ct;4 z@D*6`BJ#e2p+Jp#a%AlyWILtZ{WNijh;`5;tzJrV0lJ2!2s2a3H)vd&-zw4RG3arm zIPT_!V1TmRJMX*seIisJgRuF~q4c7nK;Q>z&6xtk#N$JjHV)42-hR(Q!Xjc4P|gpP zD1c|EQz?_AtSr=vf|80FL__Y0KIv!R>(;a*u>|z9(-zQe)Aw6yLF6@(Ks7qtrEF%vJMS zh2zjdSXQtL$IxL*qTjTB9@%@}(zJ%7iS9Q~DaI1F+o$YTT)H9>JOk6R2Cp5ie&sBZ z&%Any4S|fW?n^3l*kR3h>YZYHOzD@JqOIyL*H^hx`&jN=KXd7Dd?*U$CiU%-w-}zs zw+ssgCb)?%`pwTs^{}|}UNrxJlo6OqqSxB?6A;ixX{KB+b7le6)*}8dF@o6ZF^*PV+yJ?$5CPv2CETxH< z>iQk1(@9LVO}gwPw4!b`!>IPH{**+Z{%YwL+YE}?v@lPCYTt8LHQ&etx-#)hitvvj z;;yHGm+QsoYr42JZz%=!T_y~byoBBGb)DfKDlC5l>+2;FppR30zh|Go`28KxV+Z`^ z=9)6?y6Px7U}lH?gl%i#NmDS=2DfCkoNcmtUVHB=41wltpmgT0xs%i6%}HfEKp z!Q$|)M9c4;73c}rl<%?i3L`zb91GL9?v;tq6e=32rfg+NOvEUub2)AfQEmm3;)N7l zieYSj4%eL=h}qihFH_%kIJ)*;?n{~v$IYNr5kHyR73|y%g=MnRZ71R>8$?Qv(A6ZA zqote*;z@}hCvvPuky}>!-{%Wz%X;@LLHzgzj1hKy-n}xSTQ`_%-UgJL>|Moftw?=zBuJ~12-v8ScCtg}+&{N&5L8+fqhge4~GG;>8 z3k$?IGr;Or>df#F@?Mpk$! zOSLOI2Pj+{_j-ZN)lI5AUpLtAQM1#Xi=8EJm%>4Uz3{_#DqRmPzWuNoT|2CMpZ2Y^ z{P5Cjzn{Ot0A1V6mq)&CDvr65b;K4HFq2$GNid0Klc%P(ERC#YY(SrqHUjs4i1$j-f8MG$=lwMW>PIPihb7$CQ* zHF2>*K#W&UHuDu`!za8xdHtrA%kO&6`+Q9vBpE(FwQ}Pg|kuf+KuCKQZJL`+MP!d5nMs7IOfgenn2KT0c);99qu)`&&l`PLzO83* zUA~kspZz3R7R1})qA6oGRc|jP%-Ua|?b*DJ?701|-JK~#Jo`H2+g^QFV=)&!VnF4+5R`O~O-!K(n2f-yIFgUn~4R)DF~IAXvA_QhGM;w5C|k z@XFd3Va$y3-&wH<#D^S)hbk_9BO>H)4|%5&!Jt7uJHK(?T@MGDCo{Vmv<{@=u*{qe zWL(_4WGO0sbPOf3EIoJKk426m}-E;uI};1bgXed-_~lP9fA`F*Vm)8o4JS6QYowG79XzCU8BH^^ZSrEh;)JR( zJh>v&m$PZIpUGuG@9OEUO4`UxjMf%6p}G0R!w?##M`7f{B+;Lk_lxHZ(Qkp$^`+X-o64KQ0A`$S9!`$ z4~~5YZY+J>{6*2ACS+p9vv%y`g}FVGZIpZjSTF+>oCg1XRkY;S%@V=#zWNg&T(NrLye8)fH3*He#LlOo}RM0c|{w(F3I(1 zk~L3>?c;5|uZPr_{4BC!0cQk+d6ls**uJZ)lvsdUyX`mWJUH*&hdd3(>&ZWsSaPh? zk8*Y@6snx8@5{l_e)Hkn5&0bXl0F#Y$zi?akJ;gQf4c17wxAIXJyz(VXU(titdBho z4RxlqBLOuLhIXO$rf_4}Yx!8F=}x-Xeqk4p@Q*||@BunQMo4yywXyDp_C4HEU4C`@ zNSqm{6WoKIV+^e>Px~}5Np})(fKKdE!X_Ma)4!d5^XscK0@AtHb14BB53hF~tjGB! zk(fG`=(hd!R$AX(7*z=@JETK?_V+Upjgw9&ItM+v3-UJ(5yne^=n?-70Kx#$v6nW7 zaH1%Du=DLUNistv(OvGatBkOAH>%QF+v?fscM}MUWL@v*F8gbM`r=RC8K*MYosKHM zAs-o1;%hkhKK<5!eCuaRrY-5wu%T`6EPLn(6-O(L?_QBuM*HmyADvMjy~{Sd6P zlzVY;$iW5{z(^(RhYrYd)D;TQWWTv*(pKTqjhjd)7+>I`0FbWxBF z?BoR_!Ev`uyR(n5E{S%&ZBJsj_uSja-GvkvB{ql_Ij4wS7v4a@Dh~)#-5##^K*|9s zGxbh2K%b5ix;-~@(u~swu4B6+S;F;kyh6X)oSN{*FOs(bqdh5;5&C0goA9Sl&`(dN zWL+gj7ke%If|s`E*6lU)ls3Y#$~tjXIQRln@I+VjZTQYz zODKiI^GM5OtQ-;fMkDf}cd=N=2CCS2;)I8Ko=`t1{U{`)6cRFQB%MW5x8zh*=#%I6 zAtK@=i@Ux-SEp3UMx4bdT(HDJaBV8<*WyC@^D9=|fGfv7!t?htEnk^r8Gm&=(~Ge6 z`lTYsKp+1!w9p6LDOy*(c^du@AZ@BYtO!0I8bcx5Le&T|0}aQ*!=!nF!+P-|tP^ z`j6a=OO5Gf6fcf~Pue>;1fQ~Q4kIUp_tu$!@IH{x8`v|h1 zfJ|N5UG13n5{_OqMI2vVE^`3C6}8Ew38Ppb-+6G}XH&i)npTUu91-=i5ni%&{?he1 zw62|ZR(DVL-Rh)-2V(;-09A>^qYGdwH2jT8r@4)nVDR&&Cf8d!UZXlB=PSI=4^oF+ ztbD{5$IBOg-vcX@-jjV(R35)nVT~cgx9f{{KqsJA92?Z#qA&ia^?SQZ-Nbu@|7p9t z*Biv#k`fw7YhJu*D7SPfZvHVEV7kpM&G+@ZPSUe2j_EWVF*rBDa`~%C-D$Vu+Q+$K zv>o9X9Lfq-BP%jwjkYa~GNNk(4nOcDW0ZXfoFh<>waa`s5)^2c>FZ*mlx9o8+-XBG z(`nOV!w1f1{C0Gdtie^-?sxbtQ1Qb4_x&xQ9Asu-FFDjeud|3`rL@de{!K%p78n-3 z{(Wt*)}TLO-C?@(dhPlZk3YX};EmFg#kyWv>f_%udcll`$zJBe%kND^`S**jc6j2@ zYW!(_#`q3jQ#r==`F5JH`0{9f8wf@ZQZ!WF#TRO4q{>N!t@K$xYIm%yZ_jCT!EMkK z_(*oMQ4n0AVx1uYSMCrxdpGQ*d$X6)s4%+ww8uUJn-Idh?Qq9>v78~WC!?1C?js0v zvl{!Q4@IFcnq|;q)l?g`Nx#=xL}~Kq6NOX?=+VyF5U_SUFmL-vc|xYQ-=!wdKTW|o zcN#hzkk$KIn!X-citNp?Vq;ya@9$XN;N?G7J4QfYZ~?VR<&yWOc7p?1W!;o!ErL(D zHOx4=Pup70^^y!c2FD3qc=+8$M_5OGF6JgJIVD&vJ5=iWdu@t5q2fMGgkr zDY0PE@MY_hx?xE9vPPZw+r9L)_$)gS4jtel0uIq-Lp-FTR7xZJs`^t{%?QRGTe#Jp zVZ#(%opHAi-^l*+W;Xr9VWR#|9V=|Y$4xWbS0!XhlWU_F8^L`AF1Ctcx`0xE_1BsL1fm zI2n-}d}i>J-k6ex4K6XToG6PZp0-JyYI|_mBdJz}v+2m-Hl3`Ix>YHtkcb_B8OPZ} zyE)H<`V!Vg#}R*Z&)yctCG*W{bdh}BR#{wgRcOcb)$GvdwwIR!L|FKt)=SJDTZ7}Z zoXSVSvW)_Fn1spUVA+LiIzPv*w>|Hxz`&Wd&9d2!uFKF-**ikeEz&@`17ve_8ZYn=RH;W z8*DB97xeAb_@V`r}PL;GqbSn;w{#T@Wk z3Yy)A`)haAWwTYZ*!+}+OOs1aMr@@YJ^uaHA4U zjJ#Hk?(1ojkF&W*n4_(&a^Lex+|$!DSxeHy&HQ5OD_V!<|J`CkN8>OeEBBy4Z&+g# zgWmYF{EDinfG8Yqh3)-!yQ6{U$^~jkU|89Ec*FD=BgCcdi{7(B531IAljWgr(X`t{ zHFI!u9ElISX08kRC4!&Wx*UXkYrP!z3p#Si?d+5KQY{o!&=! z=R_r_%Z--?(O1Pvd=x4*0>^({4o>N9M(g zv}FM_3l)ba-+wnZwG&2)=}>ay+J$$tqKrU_nrxC%toSDb^>+*EV`Nhsj+`z>gH-Vq zKJSFYe)F*}_HLMLSB}}a$B(C~MV7*VJM9zYKaMtI?4Ua+iR56kH6nL;RT*IHyzva@ z5vkMlPg_Jg9K6o`(A!9+nXt8#4|dQWyUxH9k-Vr;jiF{V9HDAu$awtoz0uC|d8URS z`{m^Z2kwQqR08Xxg}5hIfv}s4RH(BNFCyuI%d}npx5ppCx_>_dw*^0OGpQS!74qJl zC|7???=m@APC46YRXN(F!o~}J(rws%R!rm2VlJkmyf}Pzctd!!P_H)6=aaCG!-Kz6 zKAYyEGW=r7F!v$wVZUKMN4unr$a#P6ake4jO9JAWLB55%hqazUaHFYs1vJETqX#8r zvhz%h+xV)hr`TsMgB@BvyXu^*234U4TUHrNlROOEdjaLyHcwvN%`PerMO(2zWRMfV z6jICt>PtSQPrfIHDpyUGFXqr>tXm3W(rrbD?e_WXHAJUeU*8ta|W7%g{sU)0Uxq_yd2@iNfS{vD;S z7>2LdfO63LuPzhwbMv_rfvquL#Nv5Zx1KKD$8pGziTK)92w@FDGhNnssjNXR!GySf z0uYsw6I(nzkWk-MNupY%usSaZe15r|Xm&j`M*65hhug}oseu?!oz;IXZ#Js~QNKa6 zs%nYC=v^dl6|!J?wvo_`Sko0=E7>CzzkI)89qh8;Du&2f#FYJ_uYuLxQlvrO@R06> z>2GMr`5-nmby2Z*%NKLsNoITya`jWf@74yFR^d#Y*YTY^vi#-zfv)>^Z06;Yj&>J5 z$v>Cxge&~)qddy?YFk_D+^JGd!XV!A9+{~bXyJ)i*^eH9o4NG)U37>bsQHRY-YEkM zku*@9DuM}1@U?U`x-(&t!&|hld8lVUrTak0hRFb-WKSp-6RRuU+^ObZW9x8*O&CV$bPrVCUOO z_p!ntvT-(gFngk-`h+Ej3PeaF3FnF>B_-=UkL!dCQ^4SMseQUB(|#IofnkD|;e2wN z+L-f2TbdH@X!|PP*tg^eES?G-`wjbQu3#%{_!#S`rIsMK#w9H@av&kpCUumoe2b^3 z^i--X#E-sL9H7VDs`Nyk!pveMDxOEve3b1x^(vY30DDc9iq?ebH)hSr%a9q)4kPv{ z6P^p+f|L@H@?0lkT?`68dR_XtVxg;h=<_9EJA&%{9|wvp-MSoOxhX}H_SRNC+S>L{ ztS_G(t^exqSaPT`Q5!yh#e1wAoRupjlJZ(V(&q%vLxfz52Pb@^vF^uZ;c|kanKi*h z0kboq6??1a{>{y0NXL;3sJB7Bhn=rK(YkbgaC#Bd1HGZvUX2>j+MpwUIUe;dF!ih5 z*v%SjIq>J_7qr2S^ylJs*V6;*UT=yk&fDR~5|Qikis#D_T#_mS7%smotaSq)I#TvK zmR-0GV$xAhfAC1}cUMdkK}bLe|vm~ z2L-u`#;93K)9%ttL$f1A8!NjUBL`K*i6I=)Ob4?GF1B|ZR%r$Mez_5A1;#fE(y6u@ zj&`p}FGuS+kZ)lR?l{@R`5o}HWJ8f<>!WhoHtX*mS%u=!7w*e_o2+Get6il}vV^qc z%{@EixTuRo?|QZv8G{V+NVLC`s0>Y8jym`zUh`_nObhYVgvS6*zFg(+IAHdbm;Hg~ zX5P*smeC=B+seDXsaLN{tkpQyhe*@`iAz;mw9|e%3$3TS&}}l~-57OA-kfR#A(B}) zXPB8PnfKzxAN})U4lDm;&z_w9jyOm3mW{1hs9?L&qh-IttDU9OOZzt+em1J_w|B?S ztv?6uz8^Z?Eei3sHW?i@7@m30U}925P}71;E=i9=l29jTw6q2eq3e-Ra2+-7)x*Af zE8T~kME{b4l75TYKV1UZ5C^J!rXx;2<{)3@dxMvqF>ZHJetz@*acjk=#hHN9cS|N^ zFbwfzRB$xbYW!s-sKNRvG#tUSsxjOlls7e>J5Kz9MnpenLh|xAp+s=_3Pbt>LcpiM zel~cpiPpayTYzFhM(1$`k-?x27+qqa>msD>DITtdyH2udrDQH3Xu*NYqZc=@&cFz@$sER2;464K_6i|Lzdo4%xV@98}}S{tjD2=8Ku`^$Bw>o_JH8GF}#w zoCGur$V_w|H$RqVvu*J`gQvfK(>eXPb@9g|_t3LIhNRz@4~nUyrGs4+l@DQH7$p@q zv)%kDS?e4@gEjfZj?3dx1QrdivxE26ar9%7*!`)3`&?p#8q`euoW;d%Qc#yS2KfEWAB6M z=WcGiT)f{;{?syd>5afHZn1OK7{SdqqIK`t{I+O)@#<=pw&VAQ_VKSG`>k&tO?G^l zQ{wIgY36L1bE%!i`jkj?QXN`x^53S3GLZ2^7nO^Vqkcq}h>efdpj!_&lD;@-8taqJyNUSd6-6ciP8 zZJM~;-%V}Qsm@mOT`KaPELuFcxlZ~{y=P0s4=^)7hKJiMy1?aEG6fAFlH zxkvlKMO&xbs>zq<%GLJz4>wA1z;A*9TIH!@oC2vG)pE-^N|o13BG!qLRk0rps=zNF zuw`D|JQg?GoeR3SaM;XH-Z3#6;7e_O*q4>jvHJ6w-F5Z7jLYA9%@5TdGrK+ex#SSw zd%o7Rl45$bsKXjOyT)+zz2@MXe8m33d39#QiKB+cYqdwg!Ca;%ZbO^YHu%RaXLC0J z(^EPUrUlZv^Y=zXW4}0`2AXfr1cBEo9C0c}1?S}~Gq@c5L@?%;2PLX&2M0FO({tao zH#+*y_m@_WH#48_63D$C$SxZ>8`C)Czib&^m)Pj;!frd%t%m!XA0PvnM~-?+T(+|6 z(k+y)+B1X(h1+|5nNN*}FJ-tCDESUC-`ty(VP8<(6LR6g251+Yb?&Uv;D5O5(lYa6 z<|EKhNGM-gjag0f`SVTkUPBx1jPl#6PeHC{UT$6TqX9p5WCkC3b-~=cR6X4~TAq*I zoO-s|Z#CpTS$@3ci*29yt z18$udzwhPi%HBOb5lHGnJGC<>gC~dS&NMnI32rW|8M?N=lKc7h3jy=_M+}tFdo)Opdx_f6m{+;`L z=wdql;j-(qYZ0rH4}0HshTj(ZE-F?8YbMP`w3t4%#~1oDVM>- zl0iwMxheOWmkZoAci8K(PVok&?@?w@?lVC(IOV)(mTRi(veOIXY2jk;S`2bgVWC9V zQ&IoGZ8?FNPVMBgldm@H@Ho2&7G=kLGyudoF@n?Iw=#hzkDd!JIC?;z_ z)lOFjK7T$vB<~mv7XQUcc@y{RQPv7LsCa(~2o!POEX4l-3LD>VR@06WC z`@}QW26nP?)XyEXtxMXQQ&i9rFa8 zEgp&%?A2NddfAqIVJ?AR#IX7m8 z!s^W3{1*5dST=On!P`#PVU+3Ea-C#cRoW%p#&byjNL^;^XI_G-H=O#3CIbE(I#D`8ddg4`?N%6S2UhdJTKDaNAt9vtC<9_%*_ za&eE7#E6F02K7YKM3&vjYRr9t#)7=!X-kjUKHj)JceAA}*zA!t_86i%Z3BQo##Nshqm{8W~>6k`H`F{rz&TRN_{@ z!NbOc45^&aP=%2p4@#p73h_^}x^R3-VErvh3;4 z%w6U=Gm-1Y`JZW|DJkxYvR)JwT4EVlgD;O?xt&*j*{q7Bc#3T|uMq}2dW(4F5XL>_ zL^Utg2y*z&G=~%>A>^QwIxHSGzk|zw8V~0l+XFg|zT}29UwRZ#1;q>{vzB8F=*sID z8sZ=ZPxK4(+q#_C#amXwl8okS5Js;pc{;}|`C=%0E&JwUL{QwAhB%5vD3 zP4$kYi!Vbe$UW(-#)g{Pw;jhj;?^V?V=2hl=t%<3({@YZ;hi5dqZSsSkjFBdb;#Vd zigPtlofdS*ISLV&{ zUFlLfnpnMghTb9~UkLr&KW^}MSmIr@n^QeAFJ4cRdY33+ZAY*gqtxTU2P>9YWabxL zpYni8DHN*9P;s|l89H-`HLxc-7*CB)fADoG)mLU4d2E0?r!Oday#O{&b#F}Qj+loY zD=g?vCP~W9cqu&PC?!ZJQ0Z^BvoGR1+uT?Asp>d9)JR1+LI^GBMdWHwZzIg)R+z*| zgAe&A;zF%O8jO8dSR{h%{y5XTSAmUpDc!-VtGsgM6&>i%z}jQEWUlIMT`!yL zECF}}Qd`6#(Rf_<#EoOtLu4TG-5z_Fs-QmZDPOapt@~4RFN8%IMJM)TY#a@9syC>( zr+PBwBTqk1#O^gO>Z9cPZzDYzw{>rurYta|ij_P+tV&*A6coZFsfZs!*X$e9Y2KV?7T9*gXAVd2`CorsCHV>6a;HTay?V8vHV-)K-o*WPM>3~p$ zcfFOIZxi|YhlXsn2b770FH(3f2HiWW=PjT`c5G9J*o9lNQ{B8$-4S3lem;iR4vBVZ zc2oi&d!)?+n2jJKM6Celx-qNbUCIuzR?Qe1xIR8b75~Wl)Lv|qDLX_w=R{_pT zdRY!;|MsVm>6xIFr|->~2m~MRXgzEsZb1C7V;4>TB>tYRqPfcm4Se)6y8pxw!RZ*5 zCxZE=Mx1r4?A+LW#IZiYWp&KB>zQj+GYq-8pD{j($D;A9N6sdMe4~}MTowKLgtP)f zAfbw|~qt&CZzQU`cFOV%3b)d*#8O!nav6q>EAbGA}|5sfs8|p6H>lx8Br~ zRe)btzj$q4G%V=<;{~tw#6YMqO^tPZb@h1xh7;Lmanzq?vdQUx<>dZwI#c;nR}N=( zv*bm9J1P|9@$F3vp4d5ng)+>NcOAvw$eOYJ4hz^8$mb-~*0>x(m{qI^F0hAN6E ze3KzRvXwYZspx9qMN{?Cm{*QrzyDzu0|)ui&X$K&ZW6NU@Q76*4xg_`j5RO`2}?^E z0-L}EqK6DK5ir?sD8ACfmS(tZ_}vO6d6>6Adbq#~Z5IviN-I3;=b6M?Z9}4JMwmrW zDMQ6FG7%*VuVR<-B!5IQxkJW~7f$rg8sc$`%9K;Y1pR18dg=BT0?MWqpG!0j6S<(r z^EJ*kHhkh|s7u+qhol&jKU0UO6{ci;k$!zyt2+m$o+#ZXBt)*LcPZ>uzgem zHU_fw-eUazsTrM?C7bJt%a%7pFI8yEkMbbNim0mW8?b<+dr)rulk~R*kvy|a-!ENq zcZTNSL;+Yzls8ALGPB)a2B(ue6`2~_D$m_L9`U%X=b#=-&i9s@I#eqv$TryvzHcz|Z}cq6eQAMPW0Rs*v?*Ro!#7uS+b{ z>l+(`XgN=%_}l!abTsvjk8No)a=Fpzj+KR1g0`B!MKV72p!;zA{&Zh_391op_t;|t K4L2T};(q}!kR}rV literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/ammo_22lr.png b/assets/hbm/textures/items/ammo_22lr.png new file mode 100644 index 0000000000000000000000000000000000000000..d6444f096ead64163a0adcdf655c06020db8d1ab GIT binary patch literal 211 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfekEk=gJ6pP!RU zm@RV_(iF(tdCSV?`39*r)sZ{wMzU#$2xRz@(vj za%U8^dLMQ<`Nc&#^jVC}@j2XqyKr>mdKI;Vst E0ED7YivR!s literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/ammo_22lr_ap.png b/assets/hbm/textures/items/ammo_22lr_ap.png new file mode 100644 index 0000000000000000000000000000000000000000..a78f15e463006a80390c184aa33765f4d1d324d8 GIT binary patch literal 255 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfF zlvP|33>MF=)|Qr?EB*YaijD2(F%brN3BC2l*s5PXXFGjU$3iNOv+vX9hO1(BON?xn zmNib|XK*e8mtBv}z3p?$zWL$3u}jLDhPNj#RL4Ja z{={(1JEPVKF$ T`Ao}!?ql$D^>bP0l+XkKMvhs~ literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/ammo_44_ap.png b/assets/hbm/textures/items/ammo_44_ap.png new file mode 100644 index 0000000000000000000000000000000000000000..477af43638470cfdc2a483cd2c984379a9cc2cf9 GIT binary patch literal 247 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf9Y5h_we{0)O ziNm|r`CL{BYRF+`SSk|awPeb5^(AM1?@RafbXc=VXFlUQGY>nq1(~xHS{$-_zso(3 tDGGne5PLnb$1(ftCLN3Cd8SqI@;~`q4kaG^w*}~O22WQ%mvv4FO#nA4VwnH{ literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/ammo_44_pip.png b/assets/hbm/textures/items/ammo_44_pip.png new file mode 100644 index 0000000000000000000000000000000000000000..b0b384f74e654cdb7b3a2891f2054ab849c4304e GIT binary patch literal 242 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf&Dud$tvJ9g()Ulai+8)%f$T&cW*~2h8^e?o_wCCp?$KMIm3?K;-AiK&2hROwq}`h zPtBqx7WMbVc5<^A8Qfe?T$pOH{=lw{^8%K}aZ2o8T-LCQ?V7yE%HwfwPW<6nTUyMl ouha2ZVyDc4DXUUH&#qy-RjvMX{g>#CKu0rpy85}Sb4q9e0Qn1AegFUf literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/gun_folly_ammo_taint.png b/assets/hbm/textures/items/ammo_folly.png similarity index 100% rename from assets/hbm/textures/items/gun_folly_ammo_taint.png rename to assets/hbm/textures/items/ammo_folly.png diff --git a/assets/hbm/textures/items/gun_folly_ammo_du.png b/assets/hbm/textures/items/ammo_folly_du.png similarity index 100% rename from assets/hbm/textures/items/gun_folly_ammo_du.png rename to assets/hbm/textures/items/ammo_folly_du.png diff --git a/assets/hbm/textures/items/gun_folly_ammo_nuclear.png b/assets/hbm/textures/items/ammo_folly_nuclear.png similarity index 100% rename from assets/hbm/textures/items/gun_folly_ammo_nuclear.png rename to assets/hbm/textures/items/ammo_folly_nuclear.png diff --git a/assets/hbm/textures/items/chem_icon_CORDITE.png b/assets/hbm/textures/items/chem_icon_CORDITE.png new file mode 100644 index 0000000000000000000000000000000000000000..9738c1b09b5ed3c0e8d1162377843e5664524237 GIT binary patch literal 394 zcmV;50d@X~P)5xhK8g?I+w@fETjU`5 zY9X=&53512hvE{6(jH3Zxci^~%rLv~ABdx{iKDRTyBqz6{P+-{RLSAv6M)yZcg-_~ zh%e7i4S?^t><&j}wvFek$ffMe^)85`u$kF5rfIM{9PvGux~@^GyqO&jSvE}r!}#8> zREbh0=c1shF4|r1f@`$uxs;rX0%2K9CU^LrtC#dfP^u)C65n%Cs$^!{)OF3dDD+uX zU4|V@r}x?c&~ebV(KgXrV;qHz=d3ijRn4WOsxHGdrfJ#$BuO%AACBj&v=e8!AlvRc zV&iM_dc7tH0@5^XS{2hYaFz>%Wsz<79d#X{B?D|W8-x&KS=Mm^+>kpFPNx&|`5Ylc oXP}RCY{3m~cFS(AP$#rKA=l}o!07*qoM6N<$f>JlJ4FCWD literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/cordite.png b/assets/hbm/textures/items/cordite.png index d7518590a2974c7972e6827ef69ddd2438315c2b..89152571d02957c5440f72b45d8bd0946517ddf5 100644 GIT binary patch delta 301 zcmV+|0n+~60@wnOG=C3CL_t(Ijm?rlYlJWmh2IwKb`MJl(ym&|Qu;3hp^Wn*)F>O;GU~5o1W>1B8@buV+vexr-P>7zU_#jVw)It$ziPUZlKPLJq?KLGa^E zq(P+7DFtKtk#5moTElc9B|4>Wzu#lKy+xKLGZXI#L>fX$WN88-jfgQ=Ytbn+o*C1x z6YO?(BLRRJ!H~u@2`|R7$XyyAM)5FJNC{(lFGi2xbiQnO(}FiGBF0eh8bV6Mj}MEx zTK!06k-Ovb(`;a~ delta 306 zcmV-20nPr{0^I_TG=CIHL_t(Ijm?t5YJ)%&MNf)0%_5XR+UV30O8-I-3U<|h&MJ^E zkx@%!5Er8&*hNqjO}cE}a^~Ip&b&Kt^A&|b7llE0>3;Q>`2B5G!05}{^6OFYb z{QCUp0DS2Ys{}^~q`M>6de%ELh{B+Aguu2fVwK=akG5?wrhi(byjw!HZ41jfdmB?> zOhr+a)O9n^EgFogpPp+?QI-?kHtm5wF2mdRJ%-LNQ%D#EW)^0vMM#loNIWd32`S^~iU9sTUm?@mO zGT-W*Ui`gSrjn5Jp$R>jiY!Z}ObBW!&U^bcroCCA;r(v~B>}-l7Gb@NxgpF`^79`p z+T2`cTDXvAI?xnBD1T88D#k89UHeqHdoB!OX>v<8EQk%HX&FLF*NOU|dTCi5TT za80}9f4;w4U`^O&re{aKJmb}1G~W8BPOHFr!K#c2P8Cd*^Q^1um`*A0cv91PIC)^pUXO@geCyih-}>e literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/folly_bullet_nuclear.png b/assets/hbm/textures/items/folly_bullet_nuclear.png new file mode 100644 index 0000000000000000000000000000000000000000..93e75604d67ef857a629610c79f0019eb59682e3 GIT binary patch literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf+@0odV$r zQ>T8NpTX?GD8Z(1+pkA^#rvj4Q-+)W4SY0Y*k+2mtzZ;kW;od;6P%@;Yz4eLTHR z+MJKbW-K_@wSv90*7w$jfZN*?mwk0^k*nD7zIsZ~a+>8l`IoHhlk-p5?Q@+2^aF#ZtDnm{r-UW| DXToJ~ literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/misc/overlay_misc.png b/assets/hbm/textures/misc/overlay_misc.png index 63a6ccfe9eee7488178f334d22ea8160d09b060a..79ecbce749c54ddff26a0b4594c5099222dfd000 100644 GIT binary patch literal 3399 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 delta 2524 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 VY;1WiO>bmnY({TvY 0) { + timer--; + + if(timer % 20 == 0 && timer != 0) + world.playSoundAtEntity(entity, "hbm:weapon.follyBuzzer", 1.0F, 1.0F); + + if(timer == 0) + world.playSoundAtEntity(entity, "hbm:weapon.follyAquired", 1.0F, 1.0F); + + setTimer(stack, timer); + } + } + } + + //0: closed, empty, + //1: open, empty + //2: open, full + //3: closed, full + public static void setState(ItemStack stack, int i) { + writeNBT(stack, "state", i); + } + + public static int getState(ItemStack stack) { + return readNBT(stack, "state"); + } + + public static void setTimer(ItemStack stack, int i) { + writeNBT(stack, "timer", i); + } + + public static int getTimer(ItemStack stack) { + return readNBT(stack, "timer"); + } + + private static void writeNBT(ItemStack stack, String key, int value) { + + if(!stack.hasTagCompound()) + stack.stackTagCompound = new NBTTagCompound(); + + stack.stackTagCompound.setInteger(key, value); + } + + private static int readNBT(ItemStack stack, String key) { + + if(!stack.hasTagCompound()) + return 0; + + return stack.stackTagCompound.getInteger(key); + } + +} diff --git a/com/hbm/items/weapon/GunLacunae.java b/com/hbm/items/weapon/GunLacunae.java index 8aca078a1..8caf88181 100644 --- a/com/hbm/items/weapon/GunLacunae.java +++ b/com/hbm/items/weapon/GunLacunae.java @@ -8,6 +8,7 @@ import com.hbm.entity.projectile.EntityBullet; import com.hbm.interfaces.IHoldableWeapon; import com.hbm.items.ModItems; import com.hbm.main.MainRegistry; +import com.hbm.render.misc.RenderScreenOverlay.Crosshair; import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentHelper; @@ -142,4 +143,9 @@ public class GunLacunae extends Item implements IHoldableWeapon { return multimap; } + + @Override + public Crosshair getCrosshair() { + return Crosshair.L_CIRCLE; + } } diff --git a/com/hbm/items/weapon/GunUZI.java b/com/hbm/items/weapon/GunUZI.java index 13fbaaa88..0e2066c2c 100644 --- a/com/hbm/items/weapon/GunUZI.java +++ b/com/hbm/items/weapon/GunUZI.java @@ -7,6 +7,7 @@ import com.google.common.collect.Multimap; import com.hbm.entity.projectile.EntityBullet; import com.hbm.interfaces.IHoldableWeapon; import com.hbm.items.ModItems; +import com.hbm.render.misc.RenderScreenOverlay.Crosshair; import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentHelper; @@ -126,4 +127,9 @@ public class GunUZI extends Item implements IHoldableWeapon { new AttributeModifier(field_111210_e, "Weapon modifier", 2.5D, 0)); return multimap; } + + @Override + public Crosshair getCrosshair() { + return Crosshair.L_CROSS; + } } diff --git a/com/hbm/items/weapon/ItemGunBase.java b/com/hbm/items/weapon/ItemGunBase.java index 04e17c3fd..9161059ca 100644 --- a/com/hbm/items/weapon/ItemGunBase.java +++ b/com/hbm/items/weapon/ItemGunBase.java @@ -9,6 +9,7 @@ import com.hbm.handler.GunConfiguration; import com.hbm.interfaces.IHoldableWeapon; import com.hbm.packet.GunButtonPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.render.misc.RenderScreenOverlay.Crosshair; import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.eventhandler.SubscribeEvent; @@ -250,4 +251,9 @@ public class ItemGunBase extends Item implements IHoldableWeapon { return stack.stackTagCompound.getInteger(key); } + @Override + public Crosshair getCrosshair() { + return Crosshair.L_CLASSIC; + } + } diff --git a/com/hbm/main/ClientProxy.java b/com/hbm/main/ClientProxy.java index 6f10c2529..c16681589 100644 --- a/com/hbm/main/ClientProxy.java +++ b/com/hbm/main/ClientProxy.java @@ -253,6 +253,7 @@ public class ClientProxy extends ServerProxy MinecraftForgeClient.registerItemRenderer(ModItems.gun_minigun, new ItemRenderOverkill()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_avenger, new ItemRenderOverkill()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_lacunae, new ItemRenderOverkill()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_folly, new ItemRenderOverkill()); MinecraftForgeClient.registerItemRenderer(ModItems.multitool_dig, new ItemRenderMultitool()); MinecraftForgeClient.registerItemRenderer(ModItems.multitool_silk, new ItemRenderMultitool()); diff --git a/com/hbm/main/ModEventHandlerClient.java b/com/hbm/main/ModEventHandlerClient.java index b6573fbd3..7a6782ab2 100644 --- a/com/hbm/main/ModEventHandlerClient.java +++ b/com/hbm/main/ModEventHandlerClient.java @@ -10,6 +10,7 @@ import com.hbm.lib.Library; import com.hbm.packet.GunButtonPacket; import com.hbm.packet.PacketDispatcher; import com.hbm.render.misc.RenderScreenOverlay; +import com.hbm.render.misc.RenderScreenOverlay.Crosshair; import com.hbm.saveddata.RadEntitySavedData; import com.hbm.saveddata.RadiationSavedData; import com.hbm.sound.MovingSoundChopper; @@ -36,7 +37,7 @@ import net.minecraftforge.client.event.sound.PlaySoundEvent17; public class ModEventHandlerClient { @SubscribeEvent - public void onOverlayRender(RenderGameOverlayEvent event) { + public void onOverlayRender(RenderGameOverlayEvent.Pre event) { EntityPlayer player = Minecraft.getMinecraft().thePlayer; @@ -54,6 +55,8 @@ public class ModEventHandlerClient { } } else if(event.type == ElementType.CROSSHAIRS && player.getHeldItem() != null && player.getHeldItem().getItem() instanceof IHoldableWeapon) { event.setCanceled(true); + + RenderScreenOverlay.renderCustomCrosshairs(event.resolution, Minecraft.getMinecraft().ingameGUI, ((IHoldableWeapon)player.getHeldItem().getItem()).getCrosshair()); } } @@ -82,12 +85,12 @@ public class ModEventHandlerClient { if(event.button == 0 && !item.m1 && !item.m2) { item.m1 = true; PacketDispatcher.wrapper.sendToServer(new GunButtonPacket(true, (byte) 0)); - System.out.println("M1"); + //System.out.println("M1"); } else if(event.button == 1 && !item.m2 && !item.m1) { item.m2 = true; PacketDispatcher.wrapper.sendToServer(new GunButtonPacket(true, (byte) 1)); - System.out.println("M2"); + //System.out.println("M2"); } } diff --git a/com/hbm/render/entity/RenderRocket.java b/com/hbm/render/entity/RenderRocket.java index 67a68bb85..fd0fb34a9 100644 --- a/com/hbm/render/entity/RenderRocket.java +++ b/com/hbm/render/entity/RenderRocket.java @@ -1,5 +1,7 @@ package com.hbm.render.entity; +import java.util.Random; + import org.lwjgl.opengl.GL11; import cpw.mods.fml.relauncher.Side; @@ -32,6 +34,10 @@ public class RenderRocket extends Render { GL11.glRotatef(rocket.prevRotationPitch + (rocket.rotationPitch - rocket.prevRotationPitch) * p_76986_9_ + 180, 0.0F, 0.0F, 1.0F); GL11.glScalef(1.5F, 1.5F, 1.5F); + + + GL11.glRotatef(new Random(rocket.getEntityId()).nextInt(360), + 1.0F, 0.0F, 0.0F); if (rocket instanceof EntityBullet && ((EntityBullet) rocket).getIsChopper()) { bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/models/emplacer.png")); @@ -156,7 +162,7 @@ public class RenderRocket extends Render { Tessellator tess = Tessellator.instance; - float red = 0.125F; + float red = 0.25F; float green = 0.0F; float blue = 1.0F; diff --git a/com/hbm/render/item/ItemRenderOverkill.java b/com/hbm/render/item/ItemRenderOverkill.java index 2c8ebd669..35bb7ffbd 100644 --- a/com/hbm/render/item/ItemRenderOverkill.java +++ b/com/hbm/render/item/ItemRenderOverkill.java @@ -3,6 +3,7 @@ package com.hbm.render.item; import org.lwjgl.opengl.GL11; import com.hbm.items.ModItems; +import com.hbm.items.weapon.GunFolly; import com.hbm.lib.RefStrings; import com.hbm.main.MainRegistry; import com.hbm.render.model.ModelCalBarrel; @@ -11,6 +12,7 @@ import com.hbm.render.model.ModelCalStock; import com.hbm.render.model.ModelDash; import com.hbm.render.model.ModelDefabricator; import com.hbm.render.model.ModelEuthanasia; +import com.hbm.render.model.ModelFolly; import com.hbm.render.model.ModelGun; import com.hbm.render.model.ModelHP; import com.hbm.render.model.ModelJack; @@ -38,6 +40,7 @@ public class ItemRenderOverkill implements IItemRenderer { protected ModelTwiGun rgottp; protected ModelPip pip; protected ModelLacunae lacunae; + protected ModelFolly folly; protected ModelCalBarrel barrel; protected ModelCalStock stock; @@ -56,6 +59,7 @@ public class ItemRenderOverkill implements IItemRenderer { stock = new ModelCalStock(); saddle = new ModelCalDualStock(); lacunae = new ModelLacunae(); + folly = new ModelFolly(); } @Override @@ -114,6 +118,8 @@ public class ItemRenderOverkill implements IItemRenderer { Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelLacunaeAvenger.png")); if(item.getItem() == ModItems.gun_lacunae) Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelLacunaeReal.png")); + if(item.getItem() == ModItems.gun_folly) + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelFolly.png")); GL11.glRotatef(-135.0F, 0.0F, 0.0F, 1.0F); GL11.glTranslatef(-0.5F, 0.0F, -0.2F); @@ -141,6 +147,12 @@ public class ItemRenderOverkill implements IItemRenderer { GL11.glTranslatef(0.5F, 0.3F, -0.2F); } + if(item.getItem() == ModItems.gun_folly) { + GL11.glRotatef(-20.0F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(5.0F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(-0.2F, 0.0F, -0.2F); + } + if(item.getItem() == ModItems.gun_jack) powerJack.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); if(item.getItem() == ModItems.gun_spark) @@ -182,6 +194,12 @@ public class ItemRenderOverkill implements IItemRenderer { item.getItem() == ModItems.gun_avenger) lacunae.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, f); + if(item.getItem() == ModItems.gun_folly) { + int state = GunFolly.getState(item); + int time = GunFolly.getTimer(item); + folly.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, state, time); + } + GL11.glPopMatrix(); break; case EQUIPPED: @@ -215,6 +233,8 @@ public class ItemRenderOverkill implements IItemRenderer { Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelLacunaeAvenger.png")); if(item.getItem() == ModItems.gun_lacunae) Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelLacunaeReal.png")); + if(item.getItem() == ModItems.gun_folly) + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelFolly.png")); GL11.glRotatef(-200.0F, 0.0F, 0.0F, 1.0F); GL11.glRotatef(75.0F, 0.0F, 1.0F, 0.0F); @@ -296,6 +316,12 @@ public class ItemRenderOverkill implements IItemRenderer { item.getItem() == ModItems.gun_minigun || item.getItem() == ModItems.gun_avenger) lacunae.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, f); + + if(item.getItem() == ModItems.gun_folly) { + int state = GunFolly.getState(item); + int time = GunFolly.getTimer(item); + folly.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, state, time); + } GL11.glPopMatrix(); break; case ENTITY: @@ -329,6 +355,8 @@ public class ItemRenderOverkill implements IItemRenderer { Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelLacunaeAvenger.png")); if(item.getItem() == ModItems.gun_lacunae) Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelLacunaeReal.png")); + if(item.getItem() == ModItems.gun_folly) + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelFolly.png")); GL11.glRotatef(180.0F, 1.0F, 0.0F, 0.0F); @@ -392,6 +420,12 @@ public class ItemRenderOverkill implements IItemRenderer { item.getItem() == ModItems.gun_minigun || item.getItem() == ModItems.gun_avenger) lacunae.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, f); + + if(item.getItem() == ModItems.gun_folly) { + int state = GunFolly.getState(item); + int time = GunFolly.getTimer(item); + folly.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, state, time); + } GL11.glPopMatrix(); break; default: break; diff --git a/com/hbm/render/misc/RenderScreenOverlay.java b/com/hbm/render/misc/RenderScreenOverlay.java index a3597656f..5d524d45f 100644 --- a/com/hbm/render/misc/RenderScreenOverlay.java +++ b/com/hbm/render/misc/RenderScreenOverlay.java @@ -1,5 +1,7 @@ package com.hbm.render.misc; +import static net.minecraftforge.client.event.RenderGameOverlayEvent.ElementType.CROSSHAIRS; + import org.lwjgl.opengl.GL11; import com.hbm.lib.RefStrings; @@ -82,4 +84,48 @@ public class RenderScreenOverlay { return (int) Math.min(cur / max * scale, scale); } + + public static void renderCustomCrosshairs(ScaledResolution resolution, Gui gui, Crosshair cross) { + + int size = cross.size; + + Minecraft.getMinecraft().renderEngine.bindTexture(misc); + GL11.glEnable(GL11.GL_BLEND); + OpenGlHelper.glBlendFunc(GL11.GL_ONE_MINUS_DST_COLOR, GL11.GL_ONE_MINUS_SRC_COLOR, 1, 0); + gui.drawTexturedModalRect(resolution.getScaledWidth() / 2 - (size / 2), resolution.getScaledHeight() / 2 - (size / 2), cross.x, cross.y, size, size); + OpenGlHelper.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, 1, 0); + GL11.glDisable(GL11.GL_BLEND); + } + + public enum Crosshair { + + CROSS(1, 55, 16), + CIRCLE(19, 55, 16), + SEMI(37, 55, 16), + KRUCK(55, 55, 16), + DUAL(1, 73, 16), + SPLIT(19, 73, 16), + CLASSIC(37, 73, 16), + BOX(55, 73, 16), + L_CROSS(0, 90, 32), + L_KRUCK(32, 90, 32), + L_CLASSIC(64, 90, 32), + L_CIRCLE(96, 90, 32), + L_SPLIT(0, 122, 32), + L_ARROWS(32, 122, 32), + L_BOX(64, 122, 32), + L_CIRCUMFLEX(96, 122, 32), + L_RAD(0, 154, 32); + + public int x; + public int y; + public int size; + + private Crosshair(int x, int y, int size) { + this.x = x; + this.y = y; + this.size = size; + } + } + } diff --git a/com/hbm/render/model/ModelBoltAction.java b/com/hbm/render/model/ModelBoltAction.java index d0603bde0..82d6b7f5c 100644 --- a/com/hbm/render/model/ModelBoltAction.java +++ b/com/hbm/render/model/ModelBoltAction.java @@ -201,6 +201,25 @@ public class ModelBoltAction extends ModelBase { Pointer.render(f5); HandleBottom.render(f5); HandleGrip.render(f5); + + + + GL11.glPushMatrix(); + GL11.glDisable(GL11.GL_TEXTURE_2D); + GL11.glDisable(GL11.GL_LIGHTING); + + Tessellator tessellator = Tessellator.instance; + int color = 0x00FF00; + + tessellator.startDrawing(3); + tessellator.setColorOpaque_I(color); + tessellator.addVertex(-32F / 16F, 0 + 4F / 16F, 0); + tessellator.addVertex(-150, 0, 0); + tessellator.draw(); + + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glEnable(GL11.GL_TEXTURE_2D); + GL11.glPopMatrix(); } public void renderAnim(Entity entity, float f, float f1, float f2, float f3, float f4, float f5, float rot, float tran) { diff --git a/com/hbm/render/model/ModelFolly.java b/com/hbm/render/model/ModelFolly.java new file mode 100644 index 000000000..cdf189d7d --- /dev/null +++ b/com/hbm/render/model/ModelFolly.java @@ -0,0 +1,322 @@ +// Date: 13.01.2019 13:32:43 +// Template version 1.1 +// Java generated by Techne +// Keep in mind that you still need to fill in some blanks +// - ZeuX + +package com.hbm.render.model; + +import org.lwjgl.opengl.GL11; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.entity.Entity; + +public class ModelFolly extends ModelBase { + // fields + ModelRenderer SB1; + ModelRenderer SB2; + ModelRenderer SB3; + ModelRenderer SB4; + ModelRenderer SB5; + ModelRenderer SB6; + ModelRenderer SB7; + ModelRenderer SB8; + ModelRenderer SP; + ModelRenderer B1; + ModelRenderer B2; + ModelRenderer B3; + ModelRenderer SF1; + ModelRenderer SF2; + ModelRenderer SF3; + ModelRenderer SF4; + ModelRenderer P1; + ModelRenderer P2; + ModelRenderer P3; + ModelRenderer P4; + ModelRenderer Grip; + ModelRenderer SPointer; + + public ModelFolly() { + textureWidth = 64; + textureHeight = 64; + + SB1 = new ModelRenderer(this, 0, 0); + SB1.addBox(-16F, -1F, 0F, 16, 1, 3); + SB1.setRotationPoint(0F, 4F, -1.5F); + SB1.setTextureSize(64, 32); + SB1.mirror = true; + setRotation(SB1, 0F, 0F, 0F); + SB2 = new ModelRenderer(this, 0, 16); + SB2.addBox(-16F, -1.5F, 0F, 16, 1, 1); + SB2.setRotationPoint(0F, 4F, 1F); + SB2.setTextureSize(64, 32); + SB2.mirror = true; + setRotation(SB2, 0F, 0F, 0F); + SB3 = new ModelRenderer(this, 0, 18); + SB3.addBox(-16F, -1.5F, 0F, 16, 1, 1); + SB3.setRotationPoint(0F, 4F, -2F); + SB3.setTextureSize(64, 32); + SB3.mirror = true; + setRotation(SB3, 0F, 0F, 0F); + SB4 = new ModelRenderer(this, 0, 8); + SB4.addBox(-16F, -4F, 0F, 16, 3, 1); + SB4.setRotationPoint(0F, 4F, -2.5F); + SB4.setTextureSize(64, 32); + SB4.mirror = true; + setRotation(SB4, 0F, 0F, 0F); + SB5 = new ModelRenderer(this, 0, 12); + SB5.addBox(-16F, -4F, 0F, 16, 3, 1); + SB5.setRotationPoint(0F, 4F, 1.5F); + SB5.setTextureSize(64, 32); + SB5.mirror = true; + setRotation(SB5, 0F, 0F, 0F); + SB6 = new ModelRenderer(this, 0, 20); + SB6.addBox(-16F, -4.5F, 0F, 16, 1, 1); + SB6.setRotationPoint(0F, 4F, 1F); + SB6.setTextureSize(64, 32); + SB6.mirror = true; + setRotation(SB6, 0F, 0F, 0F); + SB7 = new ModelRenderer(this, 0, 22); + SB7.addBox(-16F, -4.5F, 0F, 16, 1, 1); + SB7.setRotationPoint(0F, 4F, -2F); + SB7.setTextureSize(64, 32); + SB7.mirror = true; + setRotation(SB7, 0F, 0F, 0F); + SB8 = new ModelRenderer(this, 0, 4); + SB8.addBox(-16F, -5F, 0F, 16, 1, 3); + SB8.setRotationPoint(0F, 4F, -1.5F); + SB8.setTextureSize(64, 32); + SB8.mirror = true; + setRotation(SB8, 0F, 0F, 0F); + SP = new ModelRenderer(this, 58, 0); + SP.addBox(0F, -4F, 0F, 0, 3, 3); + SP.setRotationPoint(-0.5F, 4F, -1.5F); + SP.setTextureSize(64, 32); + SP.mirror = true; + setRotation(SP, 0F, 0F, 0F); + B1 = new ModelRenderer(this, 0, 40); + B1.addBox(0F, 0F, 0F, 5, 5, 3); + B1.setRotationPoint(0F, -1F, -1.5F); + B1.setTextureSize(64, 32); + B1.mirror = true; + setRotation(B1, 0F, 0F, 0F); + B2 = new ModelRenderer(this, 0, 48); + B2.addBox(0F, 0F, 0F, 5, 3, 5); + B2.setRotationPoint(0F, 0F, -2.5F); + B2.setTextureSize(64, 32); + B2.mirror = true; + setRotation(B2, 0F, 0F, 0F); + B3 = new ModelRenderer(this, 0, 56); + B3.addBox(0F, 0F, 0F, 5, 4, 4); + B3.setRotationPoint(0F, -0.5F, -2F); + B3.setTextureSize(64, 32); + B3.mirror = true; + setRotation(B3, 0F, 0F, 0F); + SF1 = new ModelRenderer(this, 0, 24); + SF1.addBox(-32F, -1.5F, 0F, 16, 1, 3); + SF1.setRotationPoint(0F, 4F, -1.5F); + SF1.setTextureSize(64, 32); + SF1.mirror = true; + setRotation(SF1, 0F, 0F, 0F); + SF2 = new ModelRenderer(this, 0, 28); + SF2.addBox(-32F, -4.5F, 0F, 16, 1, 3); + SF2.setRotationPoint(0F, 4F, -1.5F); + SF2.setTextureSize(64, 32); + SF2.mirror = true; + setRotation(SF2, 0F, 0F, 0F); + SF3 = new ModelRenderer(this, 0, 32); + SF3.addBox(-32F, -4F, 0F, 16, 3, 1); + SF3.setRotationPoint(0F, 4F, -2F); + SF3.setTextureSize(64, 32); + SF3.mirror = true; + setRotation(SF3, 0F, 0F, 0F); + SF4 = new ModelRenderer(this, 0, 36); + SF4.addBox(-32F, -4F, 0F, 16, 3, 1); + SF4.setRotationPoint(0F, 4F, 1F); + SF4.setTextureSize(64, 32); + SF4.mirror = true; + setRotation(SF4, 0F, 0F, 0F); + P1 = new ModelRenderer(this, 58, 6); + P1.addBox(0F, 0F, 0F, 1, 4, 2); + P1.setRotationPoint(5F, 1F, -1F); + P1.setTextureSize(64, 32); + P1.mirror = true; + setRotation(P1, 0F, 0F, 0F); + P2 = new ModelRenderer(this, 52, 0); + P2.addBox(-1F, -2F, 0F, 1, 2, 2); + P2.setRotationPoint(6F, 1F, -1F); + P2.setTextureSize(64, 32); + P2.mirror = true; + setRotation(P2, 0F, 0F, -0.5235988F); + P3 = new ModelRenderer(this, 42, 0); + P3.addBox(0F, 0F, 0F, 1, 1, 4); + P3.setRotationPoint(4.5F, 1F, -2F); + P3.setTextureSize(64, 32); + P3.mirror = true; + setRotation(P3, 0F, 0F, 0F); + P4 = new ModelRenderer(this, 44, 5); + P4.addBox(0F, 0F, 0F, 5, 1, 2); + P4.setRotationPoint(0F, 4F, -1F); + P4.setTextureSize(64, 32); + P4.mirror = true; + setRotation(P4, 0F, 0F, 0F); + Grip = new ModelRenderer(this, 52, 8); + Grip.addBox(0F, 0F, 0F, 2, 4, 1); + Grip.setRotationPoint(2F, 5F, -0.5F); + Grip.setTextureSize(64, 32); + Grip.mirror = true; + setRotation(Grip, 0F, 0F, -0.2617994F); + SPointer = new ModelRenderer(this, 56, 13); + SPointer.addBox(-32F, -0.5F, 0F, 3, 1, 1); + SPointer.setRotationPoint(0F, 4F, -0.5F); + SPointer.setTextureSize(64, 32); + SPointer.mirror = true; + setRotation(SPointer, 0F, 0F, 0F); + } + + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { + super.render(entity, f, f1, f2, f3, f4, f5); + setRotationAngles(f, f1, f2, f3, f4, f5, entity); + SB1.render(f5); + SB2.render(f5); + SB3.render(f5); + SB4.render(f5); + SB5.render(f5); + SB6.render(f5); + SB7.render(f5); + SB8.render(f5); + SP.render(f5); + B1.render(f5); + B2.render(f5); + B3.render(f5); + SF1.render(f5); + SF2.render(f5); + SF3.render(f5); + SF4.render(f5); + P1.render(f5); + P2.render(f5); + P3.render(f5); + P4.render(f5); + Grip.render(f5); + SPointer.render(f5); + } + + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5, int state, int timer) { + super.render(entity, f, f1, f2, f3, f4, f5); + setRotationAngles(f, f1, f2, f3, f4, f5, entity); + + float rotate = (float) (Math.PI * -70D / 180D); + + if(state == 1 || state == 2) { + SB1.rotateAngleZ = rotate; + SB2.rotateAngleZ = rotate; + SB3.rotateAngleZ = rotate; + SB4.rotateAngleZ = rotate; + SB5.rotateAngleZ = rotate; + SB6.rotateAngleZ = rotate; + SB7.rotateAngleZ = rotate; + SB8.rotateAngleZ = rotate; + SP.rotateAngleZ = rotate; + SPointer.rotateAngleZ = rotate; + SF1.rotateAngleZ = rotate; + SF2.rotateAngleZ = rotate; + SF3.rotateAngleZ = rotate; + SF4.rotateAngleZ = rotate; + } else { + SB1.rotateAngleZ = 0; + SB2.rotateAngleZ = 0; + SB3.rotateAngleZ = 0; + SB4.rotateAngleZ = 0; + SB5.rotateAngleZ = 0; + SB6.rotateAngleZ = 0; + SB7.rotateAngleZ = 0; + SB8.rotateAngleZ = 0; + SP.rotateAngleZ = 0; + SPointer.rotateAngleZ = 0; + SF1.rotateAngleZ = 0; + SF2.rotateAngleZ = 0; + SF3.rotateAngleZ = 0; + SF4.rotateAngleZ = 0; + } + + SB1.render(f5); + SB2.render(f5); + SB3.render(f5); + SB4.render(f5); + SB5.render(f5); + SB6.render(f5); + SB7.render(f5); + SB8.render(f5); + + if(state == 2 || state == 3) { + SP.render(f5); + } + + B1.render(f5); + B2.render(f5); + B3.render(f5); + SF1.render(f5); + SF2.render(f5); + SF3.render(f5); + SF4.render(f5); + P1.render(f5); + P2.render(f5); + P3.render(f5); + P4.render(f5); + Grip.render(f5); + SPointer.render(f5); + + if(state == 3 && timer > -1) { + GL11.glPushMatrix(); + GL11.glDisable(GL11.GL_TEXTURE_2D); + GL11.glDisable(GL11.GL_LIGHTING); + + Tessellator tessellator = Tessellator.instance; + int color = 0x00FF00; + + if(timer == 0) + color = 0xFF0000; + + tessellator.startDrawing(3); + tessellator.setColorOpaque_I(color); + tessellator.addVertex(-32F / 16F, 0 + 4F / 16F, 0); + tessellator.addVertex(-150, timer, 0); + tessellator.draw(); + + tessellator.startDrawing(3); + tessellator.setColorOpaque_I(color); + tessellator.addVertex(-32F / 16F, 0 + 4F / 16F, 0); + tessellator.addVertex(-150, -timer, 0); + tessellator.draw(); + + tessellator.startDrawing(3); + tessellator.setColorOpaque_I(color); + tessellator.addVertex(-32F / 16F, 0 + 4F / 16F, 0); + tessellator.addVertex(-150, 0, timer); + tessellator.draw(); + + tessellator.startDrawing(3); + tessellator.setColorOpaque_I(color); + tessellator.addVertex(-32F / 16F, 0 + 4F / 16F, 0); + tessellator.addVertex(-150, 0, -timer); + tessellator.draw(); + + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glEnable(GL11.GL_TEXTURE_2D); + GL11.glPopMatrix(); + } + } + + private void setRotation(ModelRenderer model, float x, float y, float z) { + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } + + public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { + super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); + } + +}