From 1fb362807a428fe5b8f634a65769f8d9ebac0ddf Mon Sep 17 00:00:00 2001 From: HbmMods Date: Tue, 26 Feb 2019 20:49:04 +0100 Subject: [PATCH] strong emp, 50AE ammo, amgen --- assets/hbm/lang/de_DE.lang | 4 + assets/hbm/lang/en_US.lang | 4 + assets/hbm/models/vault_frame.mtl | 11 -- .../hbm/textures/blocks/machine_amgen_top.png | Bin 386 -> 338 bytes assets/hbm/textures/items/ammo_357_desh.png | Bin 0 -> 232 bytes assets/hbm/textures/items/ammo_50ae.png | Bin 0 -> 178 bytes assets/hbm/textures/items/ammo_50ae_ap.png | Bin 0 -> 182 bytes assets/hbm/textures/items/ammo_50ae_du.png | Bin 0 -> 229 bytes assets/hbm/textures/items/ammo_folly_du.png | Bin 436 -> 435 bytes .../textures/items/assembly_actionexpress.png | Bin 0 -> 265 bytes assets/hbm/textures/items/assembly_desh.png | Bin 0 -> 314 bytes assets/hbm/textures/items/casing_44.png | Bin 193 -> 191 bytes assets/hbm/textures/items/folly_bullet_du.png | Bin 288 -> 290 bytes .../hbm/textures/items/missile_emp_strong.png | Bin 0 -> 373 bytes .../textures/models/reactor_small_base.png | Bin 722 -> 1891 bytes com/hbm/blocks/bomb/LaunchPad.java | 11 ++ com/hbm/blocks/test/TestEventTester.java | 12 +- com/hbm/entity/logic/EntityEMP.java | 129 ++++++++++++++++-- .../missile/EntityMissileEMPStrong.java | 9 +- com/hbm/inventory/MachineRecipes.java | 3 + com/hbm/items/ModItems.java | 18 +++ com/hbm/main/ClientProxy.java | 8 +- com/hbm/main/CraftingManager.java | 3 + com/hbm/packet/ParticleBurstPacket.java | 2 +- com/hbm/packet/TEMissilePacket.java | 2 + .../render/entity/RenderMissileStrong.java | 3 + .../tileentity/RenderLaunchPadTier1.java | 6 + 27 files changed, 199 insertions(+), 26 deletions(-) delete mode 100644 assets/hbm/models/vault_frame.mtl create mode 100644 assets/hbm/textures/items/ammo_357_desh.png create mode 100644 assets/hbm/textures/items/ammo_50ae.png create mode 100644 assets/hbm/textures/items/ammo_50ae_ap.png create mode 100644 assets/hbm/textures/items/ammo_50ae_du.png create mode 100644 assets/hbm/textures/items/assembly_actionexpress.png create mode 100644 assets/hbm/textures/items/assembly_desh.png create mode 100644 assets/hbm/textures/items/missile_emp_strong.png diff --git a/assets/hbm/lang/de_DE.lang b/assets/hbm/lang/de_DE.lang index 2920ad664..f1d0f6949 100644 --- a/assets/hbm/lang/de_DE.lang +++ b/assets/hbm/lang/de_DE.lang @@ -674,6 +674,7 @@ item.assembly_pip.name=Verdorbener .44er Patronensatz item.assembly_nopip.name=.44er Patronensatz item.assembly_smg.name=9mm Patronensatz item.assembly_uzi.name=.22 LR Patronensatz +item.assembly_actionexpress.name=.50 AE Patronensatz item.assembly_calamity.name=.50 BMG Patronensatz item.assembly_lacunae.name=5mm Patronensatz @@ -1379,6 +1380,9 @@ item.ammo_20gauge_wither.name=Kaliber 20 Schrot (Wither) item.ammo_5mm.name=5mm Patrone item.ammo_5mm_explosive.name=5mm Patrone (Explosiv) item.ammo_5mm_du.name=5mm Patrone (DU) +item.ammo_50ae.name=.50 AE Patrone +item.ammo_50ae_ap.name=.50 AE Patrone (Panzerbrechend) +item.ammo_50ae_du.name=.50 AE Patrone (DU) item.ammo_50bmg.name=.50 BMG Patrone item.ammo_50bmg_incendiary.name=.50 BMG Patrone (Brand) item.ammo_50bmg_explosive.name=.50 BMG Patrone (Explosiv) diff --git a/assets/hbm/lang/en_US.lang b/assets/hbm/lang/en_US.lang index e8408f4f3..1b0b492ae 100644 --- a/assets/hbm/lang/en_US.lang +++ b/assets/hbm/lang/en_US.lang @@ -674,6 +674,7 @@ item.assembly_pip.name=Tainted Bullet Assembly item.assembly_nopip.name=.44 Magnum Assembly item.assembly_smg.name=9mm Assembly item.assembly_uzi.name=.22 LR Assembly +item.assembly_actionexpress.name=.50 AE Assembly item.assembly_calamity.name=.50 BMG Assembly item.assembly_lacunae.name=.5mm Assembly @@ -1379,6 +1380,9 @@ item.ammo_20gauge_wither.name=20 Gauge Buckshot (Withering) item.ammo_5mm.name=5mm Round item.ammo_5mm_explosive.name=5mm Round (Explosive) item.ammo_5mm_du.name=5mm Round (DU) +item.ammo_50ae.name=.50 AE Round +item.ammo_50ae_ap.name=.50 AE Round (Armor Piercing) +item.ammo_50ae_du.name=.50 AE Round (DU) item.ammo_50bmg.name=.50 BMG Round item.ammo_50bmg_incendiary.name=.50 BMG Round (Incendiary) item.ammo_50bmg_explosive.name=.50 BMG Round (Explosive) diff --git a/assets/hbm/models/vault_frame.mtl b/assets/hbm/models/vault_frame.mtl deleted file mode 100644 index f40deaf3f..000000000 --- a/assets/hbm/models/vault_frame.mtl +++ /dev/null @@ -1,11 +0,0 @@ -# Blender MTL File: 'vault_frame_new.blend' -# Material Count: 1 - -newmtl None -Ns 0 -Ka 0.000000 0.000000 0.000000 -Kd 0.8 0.8 0.8 -Ks 0.8 0.8 0.8 -d 1 -illum 2 -map_Kd /home/hbm/Schreibtisch/Java/New Nuke Mod/src/main/java/assets/hbm/textures/models/vault_frame.png diff --git a/assets/hbm/textures/blocks/machine_amgen_top.png b/assets/hbm/textures/blocks/machine_amgen_top.png index 0e5a9c901b6f50e1484ff1d93d5d4875ab212efe..2f4c6a554d0b19d7ebba27608ba4b4acac2debde 100644 GIT binary patch delta 295 zcmV+?0oeY61JVMJG=B+6L_t(Ijos5dPQySD#qqyqyofYdq;ZG@LKIXqNFbWrf+kYx z+<_x-ha7{7mJ84z(IEt_SpWY3zyO89i-P_oUhnd0f`Z8RDVst^Jq!e5MwqU3Eh zMN|kDR?@jOV&`ItLdmiWsDP-IY1%_o>jc3Jvp~1INt@@r$A7FuL=fj>wHq2UVWuWLZX%B&aABY^nbFi8Sruocp>&?|thj&zHF9 tpx@uZ%uvkT?JU delta 343 zcmV-d0jU1c0)hjOG=DisL_t(Ijn$LAN&`_4M$gXNYYakC_)`Ro(Zb3`P;7h)n?P#c z!AI~N@)%aOzJQHjC((!o6ifuOF}riuVle^9Mq=kQhk+>$AKyf+=5ZE6Kt%WpU6Q1H zj$%ZGU|}J8zl8JNktB*=dt@9(yxy0942WiObt|D%Ho{v2Re#M5f*J7#WbYePtIVCW z4;FejOA!&odxxmf?=AyyaCE}O?p`5P@>^Ahsv_S8W&wcH?lou2^+H<6Z_QH7Y?^_p z0MOptr_wm2-6_wc-dv(8#RhS8hxgm7LjE+EWbkcJ9^7$0dMKod&Nujf8APq-aW)(d z$yT07`|GGE7Eo+1qslXGRL6TiZK5lsSf$5H=a(us5|&DaedJA?WDpIuac0zNikYEW pz_DU+zE6I^dk;j2$U-zTz5uy~PynHYPJI9X002ovPDHLkV1f+eoaq1n diff --git a/assets/hbm/textures/items/ammo_357_desh.png b/assets/hbm/textures/items/ammo_357_desh.png new file mode 100644 index 0000000000000000000000000000000000000000..1161087cabead0e2e2530218dad46901690fbea0 GIT binary patch literal 232 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vfw}HD<`W=<2mLYR!+rZGg*80-#UAyzCLa9 z2Y=QJ48OKUx`w!ZdFIgP8FYPTs{90l*$oU;qBHdki}bzMn7-kBRb{!&H+kFKGhXv9 zhlw&g*J<8&pOZn)^(q-2i`hC38 dVz2#6)@?B+v)cXB#DPv_@O1TaS?83{1OVY@RXG3v literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/ammo_50ae.png b/assets/hbm/textures/items/ammo_50ae.png new file mode 100644 index 0000000000000000000000000000000000000000..ec71e1e0b56edf8493485fdc20fe50974fd485ff GIT binary patch literal 178 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfN`!Gi}02hutGm^)Z?cBtIyVwJ4e5h=N^=I_}L zPhaP=-LDYheef_X^}*9b)%&b_Y}WA9?8#x_U0}h}*2rkV{PE}Me4hFH|FpR)pJWq| d?q%j@IKEM;x%=4W#XyT0JYD@<);T3K0RUGsLx2DP literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/ammo_50ae_du.png b/assets/hbm/textures/items/ammo_50ae_du.png new file mode 100644 index 0000000000000000000000000000000000000000..c115966ea1511c5840e5397799053679efbbef70 GIT binary patch literal 229 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfMO~A_p?$G zQW6pp3PSfCJ8<~ysSi(I=eOy{*BgI%RLtlj+>-{Bd+;zV^}*A`)CUjS686M7lrj1= zO>dvt*gu^&k0XwG!_J0?hRdufk`5cWPh357fT7nd=fTg@`8@OY|7mkqKFM}qQQ-$> Z2HUkJGa8TkRRZ0~;OXk;vd$@?2>|wLUO)f< literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/ammo_folly_du.png b/assets/hbm/textures/items/ammo_folly_du.png index 34e22d6afb6f0a1f0ae7ab7040ad0f0a03620029..ca37c31ee6090bdf29195a2cb689e59349dc5eb0 100644 GIT binary patch delta 393 zcmV;40e1eh1G58=G=FMIL_t(oh3%EWO2aT1$Nx4aZR)dl(~F9TQW;1=kiEq2UW(7r z*YL1|uz|=1BJ}9qqqjC|SmSA-RfbLImP`Lo8rtTcU%&6m7r?QOY$qm3qN=KbloC=( zq-kp9<=HOo`#u;)+L!^Hy<90m2nZo~I(g7_Fv1OpN8k|;r_bj`bzq!=rlxX^O})V# zF0DO`0PgE+_|ylZ?9aQ~>OwcAZ)E!c_^p^ms8oeD*47@*Q((OdUd5Xp&%DLq0s4~B z36^D<;+%tXj(;!=Q4|HrvP4;y5JKoHj^ob0Mm5k}JPbpVsXOI71p~kUFaS6QFlt13 zp6kxHs|yMt_6HCIL8}|~A?K~Q^P#a^E>$xE09q*k&`QI2JnrP(>7&(ZrJ7;i-ixBp nwXg+hf<#gDufOwM;9NhlB&QD__u0(=0000G=FPJL_t(oh3%C;PlPZS#vd=1e=d&hCVmq}29qPsx3a2(EN*v; z4lX1nCe9{KE`9(;Rz8O$4yDkXbud@UnTxc7U3d~gf%ff>r*Gc^mbGU(Filg@wkJK=vL;zoTswS@g=nKKx+xswEO(XzFe3i{qb!S zfHRWH%&}%k~pr8Uq+RV48H> z(mKJ4q7c6C!+-aE1VI2wDeAgLUDsfY$t#MY-f^`YP$v(9KxgPqSw9OVfC*p%unwSA zh^nfRm2X!SWQ>gm;CWuB8V(`rrMUN@k>|Nk9RSc-0sx(5h~v0d>|UM9vJ|TAn>(dc o=E4R@1qs9O*Z9_VfpvWX3Mi<^9J@L-00000NkvXXt^-0~g4h4Ex&QzG diff --git a/assets/hbm/textures/items/assembly_actionexpress.png b/assets/hbm/textures/items/assembly_actionexpress.png new file mode 100644 index 0000000000000000000000000000000000000000..d505a56f827a18a45b0dce09bc12f3f43d73ebca GIT binary patch literal 265 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfKaSXBO zO-@+AUQkf*!(Y6cgNd1$`Hx=YjYmK0t9rTPTwmNvbh>ut?8#FHjvhSKa8`hwz5PEM z8{2>TnjZ~H=bU;je_#Lc*ZIR|Pknf*Eq-|V`u&nMk2gvP#BZJ}IGxev&KjOQHftiD zb`&w{^J_E9>r01Os;yb1!thGk!C>7-$p;S}e28~&Xi#x}z-D1#@#p%53kP0Jdal3U z(5Cj^)Q3M$=kw^t)jAt8$Z@mt$t3*w@Q^v?ax1s^gNt4IQkrZGae_7sQ@>g&0sX?@ M>FVdQ&MBb@0P@pkn*aa+ literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/assembly_desh.png b/assets/hbm/textures/items/assembly_desh.png new file mode 100644 index 0000000000000000000000000000000000000000..fd44063b0aef7ea47d0b2cfaa9aa3ef674c18522 GIT binary patch literal 314 zcmV-A0mc4_P)Zq}7==HouHBGwfkq+{gWD}bB%h!s=#(uTxknk1ymaCw zAhD$$*pee;>x%SeNU$)5N^O?B$r!)yz27q2l?spoT<3XO{n774(ZJGuF4nSGD<#*Hgr<5YE zYrfi+=jGD-h!T4$CBi~Ir1EFwM%z8fvVgLXD M07*qoM6N<$f=ai8#sB~S literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/casing_44.png b/assets/hbm/textures/items/casing_44.png index 439189a43481ad1cef380f51865b91fcea1cb2d1..eee52bf5f448b3341b22bdaf349b05ed005f02ab 100644 GIT binary patch delta 147 zcmV;E0Brxk0lxu|G=FwUL_t(IjqOq~3cxT3w53Zj-XHP`*R1(*-jJs_#?fw}P*d8e zP)qDqW9OqhV7-L|JL6RgNYlZK!QVLQ^ zFf*7LQ55CD2H&V+@ZLRy;%9<-IgyGCWC=^mocyVAft9vm;BO_^nL`mD<=IQ%7_>M2 zoQOa~ST*Ox9%dMV1VNBMYu$17P#K|2@w88j(eu_g22(qLVg<>vQaIAx;#1vl4I^0a w1UlDv;1NbpR>%n6SJ>Y7MVyN4dxO8}1$QAvw-N!j0{{R307*qoM6N<$g2zy6$p8QV delta 244 zcmVMuK4#g(aI0&(66KSb$I_@rC-dzH8RL@mlj42@mq?C|Sf^%-|^<0O8Ab{`t zAR-VE;y6}~0c}(Rly7h1qO*g3HF2Q?cmWYoBYzw1tpKNk<86Jd*zg~MZ^KP)d+03Mv6ovJVZK%HdZLmKZsAVWS#DQ_dB2AUs#B+5TR`4&jR)B_Dn^bb4LYd0K6@8 zps80_YsFeCRaIfFJ<(O!O4BsroD*3i?HzJ@@eXUP$eJv&KhjSW`vTXOp5;AUJ#6dB zj~il)0CZgkfcHMvU5pp!oK#iC<1;+HzW^YwHE4}eioWkL#*FDQihOh6y)P(RY3daK zF-DY90E7_GTIaa;zW5?A#W^Qq@@BKa7(+@ak25-$9eSV`BPk_}F@z8R&{{K}&vVYN z0$takl*)z1nB0BJK?h^U5CSPBwAKv6khcMoE$p+KF~7qw4B6RqjYm2AH=fHUxhR=e Tz6-sQ00000NkvXXu0mjfM5LO& literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/models/reactor_small_base.png b/assets/hbm/textures/models/reactor_small_base.png index b3ba457be9ae02316bf28e11bae3bbcf2b977ff9..7c726d44c03bfab55a97d48916453a0346a86e6f 100644 GIT binary patch delta 1876 zcmV-a2dntf1>+8oB!2;OQb$4nuFf3k00004XF*Lt006O%3;baP00009a7bBm000id z000id0mpBsWB>pF7<5HgbW?9;ba!ELWdLwtX>N2bZe?^JG%hhNHDpIvQUCx3)Ja4^ zRA@u(npsm-M-+uq@B{LYA7GV*B~B0GKs3%Xf&wbD%mf62fPX0SJjKeB)Bo-8ZF(L1 zHs@aMrC;)pUA3x*)4hAGz56tMfM5Q%|C%*7H@hcKp16k(AG$}69$Ed_vuCcMp}{?W z{@n3A4?Mel`?l3n=6f3H#-cZF+;CT}Tya;gUUk>6Uw8HO^#!1hXTr^!H;u%#YuAi) z%6v~F-H0O27k?HO+{cd}-PF{So1UI_v$L~qZf?%XnVFfa&GVt5A$RZIJy%y(XIV&@ z?`fnP5fu>#un-HgXb3%neoS${;?QV>a3mNk-9jQnPhdfnAs|^y$VujV8tE1i zVQUaol`%0uU8hbg2hA&^fSo!VSw<^CxffZXX zhWyvm)ELg5J?k!9xNxNH-5xsT2Fq~>_#kR*Y_!W@2pnsiwh0ma@#BY)4#m(eB_waX zV*V=bZSNLb$HbCrA79Ms>%0F{13$FDw4U(v=~DwDB;@hq$My{W5I%F} zjDI_K?wq@L@#2xTcYEmg{{8#b(LXxr-VVPr42{2cqf;N;pMT9d^>_A0HdYa9 z9hq~lM?bkYWAi2iL95%Js{!L;(|Q0OB8`B&j6fWmKY!j`x^(GC+q*q*(kk z{`sJYwf7F$7=7Wr9Gr2@L$jG6u)Miny??Uxcgc((qpLLrKFDSO%0 zZDW*rh$G;|z_e@Xe{c2q)$QtqwVk3u5D_BGjzmZZgn7AnFF@S(Zhtzqx{r1#dwSdxSO^)2+um(qM#>QqpIU6C_+^(UvSX71V?81c;X8Nk6o`p||5K+_AsYd zb9;}K1fsRG*MuNQkdRVaH}7so9ey#wv9t+}39(9rrqm-?qA4XP6omj~%YRQlVj@UM zw)GRAk}FK!4M5!CVGg*8(*e2gy*|#UO)-(Y8~TJnth055T%wQ>A|5 z3lhRJIGB)1_iT*a-QB8{l@+(Nv}E7y)K&7Em9@1s_xbbZ+?#M{sXVesob-DnBp-u* z!SgL@sXWYqQUxmg9#Q1?_kZ`R_V)HN&<2$Vk^eZ_d4PP#!yM2dgx?258qwX*lHmUbD&eI z90!bNvc~iKEWop^t*t5qg`)JnXdI%+VBD^h2SP#~Cl;bBiU{#+V}E0#3T$p}nizy= z>&3+5b}EldNF^!70gw>LAYgrcz3Sk&&BTx)o(YU)E0UqOT`3O<5fAGi3aLUURR<6x z(t4(T`gmvJcBMRWg)liw(J{vO@N^;iBCF_%9H35iC`+MI9(viuBg;s+do#`mef57d zxSHDE-LJnLeE1xcw0~`IV31W7!fdG>^5A5o4OkEG!!In4@L(`|6OYQ^w3>@ed2BkFJX8^wM8#??90AMs4NqrH!KIH$vpp>TjEG=C<(wmI*PspL!JHnyayGH+n9Gbl&^rqPd#eihd zd5V?Aa2!YJKC)acMZahY0FL7nePEl-vaCjDVHg^~V@3!eg0Vcn7?YZ}?VYl50FN0V zgb3Fvr8H%X;eW;1yV|p>FCVx1%HGEVV+>&!HjXJ}B;(cFDOZ_!3s*~n>SRzgv<1m4 zcGuK|JU3YrQ%ZB2@B3SAZOxw1n+;JtBY%F^Os_wD%FFNS>*rFbI*wCYor;+#+IX5h zqc<7pjga0nyRwkK_rDsSSC?yV;R4uvDo{Bo)P(F{pMNlbr_5wj&wRymR}+?Hr9eeU zS9WZXBTPmvWZ(bFXNVje2_dE{NlA!IO2=a}pKIGT2qC%cKK`yDL_U;D%QG~O0RR`5H>G9=fFG*P1yH_^1h?15 griPbkbd@;%0ifi44Fs^zuK)l507*qoM6N<$g3MS&(EtDd diff --git a/com/hbm/blocks/bomb/LaunchPad.java b/com/hbm/blocks/bomb/LaunchPad.java index 6cc164d06..ad9cebf14 100644 --- a/com/hbm/blocks/bomb/LaunchPad.java +++ b/com/hbm/blocks/bomb/LaunchPad.java @@ -15,6 +15,7 @@ import com.hbm.entity.missile.EntityMissileClusterStrong; import com.hbm.entity.missile.EntityMissileDoomsday; import com.hbm.entity.missile.EntityMissileDrill; import com.hbm.entity.missile.EntityMissileEMP; +import com.hbm.entity.missile.EntityMissileEMPStrong; import com.hbm.entity.missile.EntityMissileEndo; import com.hbm.entity.missile.EntityMissileExo; import com.hbm.entity.missile.EntityMissileGeneric; @@ -444,6 +445,16 @@ public class LaunchPad extends BlockContainer implements IBomb { p_149695_1_.spawnEntityInWorld(missile); entity.power -= 75000; + entity.slots[0] = null; + p_149695_1_.playSoundEffect(x, y, z, "hbm:weapon.missileTakeOff", 2.0F, 1.0F); + } + if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_emp_strong && entity.power >= 75000) + { + EntityMissileEMPStrong missile = new EntityMissileEMPStrong(p_149695_1_, x + 0.5F, y + 2F, z + 0.5F, xCoord, zCoord); + if (!p_149695_1_.isRemote) + p_149695_1_.spawnEntityInWorld(missile); + entity.power -= 75000; + entity.slots[0] = null; p_149695_1_.playSoundEffect(x, y, z, "hbm:weapon.missileTakeOff", 2.0F, 1.0F); } diff --git a/com/hbm/blocks/test/TestEventTester.java b/com/hbm/blocks/test/TestEventTester.java index 2ea621ca9..52006ee7e 100644 --- a/com/hbm/blocks/test/TestEventTester.java +++ b/com/hbm/blocks/test/TestEventTester.java @@ -11,6 +11,7 @@ import com.hbm.blocks.ModBlocks; import com.hbm.entity.effect.EntityBlackHole; import com.hbm.entity.effect.EntityCloudFleija; import com.hbm.entity.effect.EntityCloudFleijaRainbow; +import com.hbm.entity.logic.EntityEMP; import com.hbm.entity.missile.EntityMinerRocket; import com.hbm.entity.projectile.EntityBurningFOEQ; import com.hbm.entity.projectile.EntityMeteor; @@ -375,13 +376,22 @@ public class TestEventTester extends Block { ExplosionLarge.explode(worldObj, par2 + 0.5, par3 + 0.5, par4 + 0.5, 5, false, false, false); }*/ - if(!worldObj.isRemote) { + /*if(!worldObj.isRemote) { EntityMinerRocket rocket = new EntityMinerRocket(worldObj); rocket.posX = par2 + 0.5; rocket.posY = 100; rocket.posZ = par4 + 0.5; worldObj.spawnEntityInWorld(rocket); + }*/ + + if(!worldObj.isRemote) { + EntityEMP emp = new EntityEMP(worldObj); + emp.posX = par2 + 0.5; + emp.posY = par3 + 0.5; + emp.posZ = par4 + 0.5; + + worldObj.spawnEntityInWorld(emp); } /*if(!worldObj.isRemote) { diff --git a/com/hbm/entity/logic/EntityEMP.java b/com/hbm/entity/logic/EntityEMP.java index 117e5aa7f..5b07f1797 100644 --- a/com/hbm/entity/logic/EntityEMP.java +++ b/com/hbm/entity/logic/EntityEMP.java @@ -1,28 +1,141 @@ package com.hbm.entity.logic; +import java.util.ArrayList; +import java.util.List; + +import com.hbm.blocks.ModBlocks; +import com.hbm.entity.effect.EntityEMPBlast; +import com.hbm.explosion.ExplosionLarge; +import com.hbm.interfaces.IConsumer; +import com.hbm.interfaces.ISource; +import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.ParticleBurstPacket; + +import cofh.api.energy.IEnergyProvider; +import net.minecraft.block.Block; import net.minecraft.entity.Entity; +import net.minecraft.init.Blocks; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; public class EntityEMP extends Entity { + + List machines; + int life = 2 * 60 * 20; public EntityEMP(World p_i1582_1_) { super(p_i1582_1_); } + + @Override + public void onUpdate() { + + if(!worldObj.isRemote) { + if(machines == null) { + allocate(); + } else { + shock(); + } + + if(this.ticksExisted > life) + this.setDead(); + } + } + + private void allocate() { + + machines = new ArrayList(); + + int radius = 100; + + for(int x = -radius; x <= radius; x++) { + + int x2 = (int) Math.pow(x, 2); + + for(int y = -radius; y <= radius; y++) { + + int y2 = (int) Math.pow(y, 2); + + for(int z = -radius; z <= radius; z++) { + + int z2 = (int) Math.pow(z, 2); + + if(Math.sqrt(x2 + y2 + z2) <= radius) { + add((int)posX + x, (int)posY + y, (int)posZ + z); + } + } + } + } + } + + private void shock() { + + for(int i = 0; i < machines.size(); i++) { + emp( + machines.get(i)[0], + machines.get(i)[1], + machines.get(i)[2] + ); + } + } + + private void add(int x, int y, int z) { + TileEntity te = worldObj.getTileEntity(x, y, z); + + if (te != null && te instanceof ISource) { + machines.add(new int[] { x, y, z }); + } else if (te != null && te instanceof IConsumer) { + machines.add(new int[] { x, y, z }); + } else if (te != null && te instanceof IEnergyProvider) { + machines.add(new int[] { x, y, z }); + } + } + + private void emp(int x, int y, int z) { + + Block b = worldObj.getBlock(x,y,z); + TileEntity te = worldObj.getTileEntity(x, y, z); + + boolean flag = false; + + if (te != null && te instanceof ISource) { + + ((ISource)te).setSPower(0); + flag = true; + } + if (te != null && te instanceof IConsumer) { + + ((IConsumer)te).setPower(0); + flag = true; + } + if (te != null && te instanceof IEnergyProvider) { + + ((IEnergyProvider)te).extractEnergy(ForgeDirection.UP, ((IEnergyProvider)te).getEnergyStored(ForgeDirection.UP), false); + ((IEnergyProvider)te).extractEnergy(ForgeDirection.DOWN, ((IEnergyProvider)te).getEnergyStored(ForgeDirection.DOWN), false); + ((IEnergyProvider)te).extractEnergy(ForgeDirection.NORTH, ((IEnergyProvider)te).getEnergyStored(ForgeDirection.NORTH), false); + ((IEnergyProvider)te).extractEnergy(ForgeDirection.SOUTH, ((IEnergyProvider)te).getEnergyStored(ForgeDirection.SOUTH), false); + ((IEnergyProvider)te).extractEnergy(ForgeDirection.EAST, ((IEnergyProvider)te).getEnergyStored(ForgeDirection.EAST), false); + ((IEnergyProvider)te).extractEnergy(ForgeDirection.WEST, ((IEnergyProvider)te).getEnergyStored(ForgeDirection.WEST), false); + flag = true; + } + + if(flag && rand.nextInt(20) == 0) { + + PacketDispatcher.wrapper.sendToAll(new ParticleBurstPacket(x, y, z, Block.getIdFromBlock(Blocks.stained_glass), 3)); + + } + + } @Override protected void entityInit() { } @Override - protected void readEntityFromNBT(NBTTagCompound nbt) { - // TODO Auto-generated method stub - - } + protected void readEntityFromNBT(NBTTagCompound nbt) { } @Override - protected void writeEntityToNBT(NBTTagCompound nbt) { - // TODO Auto-generated method stub - - } + protected void writeEntityToNBT(NBTTagCompound nbt) { } } diff --git a/com/hbm/entity/missile/EntityMissileEMPStrong.java b/com/hbm/entity/missile/EntityMissileEMPStrong.java index a65f531d7..07c4e4bce 100644 --- a/com/hbm/entity/missile/EntityMissileEMPStrong.java +++ b/com/hbm/entity/missile/EntityMissileEMPStrong.java @@ -3,6 +3,7 @@ package com.hbm.entity.missile; import java.util.ArrayList; import java.util.List; +import com.hbm.entity.logic.EntityEMP; import com.hbm.explosion.ExplosionLarge; import com.hbm.items.ModItems; @@ -21,7 +22,13 @@ public class EntityMissileEMPStrong extends EntityMissileBaseAdvanced { @Override public void onImpact() { - ExplosionLarge.explode(worldObj, posX, posY, posZ, 25.0F, true, true, true); + + EntityEMP emp = new EntityEMP(worldObj); + emp.posX = posX; + emp.posY = posY; + emp.posZ = posZ; + + worldObj.spawnEntityInWorld(emp); } @Override diff --git a/com/hbm/inventory/MachineRecipes.java b/com/hbm/inventory/MachineRecipes.java index b3ceca587..c72f8c4d6 100644 --- a/com/hbm/inventory/MachineRecipes.java +++ b/com/hbm/inventory/MachineRecipes.java @@ -659,6 +659,8 @@ public class MachineRecipes { if(input.getItem() == ModItems.assembly_calamity) return new ItemStack(ModItems.ammo_50bmg); + if(input.getItem() == ModItems.assembly_actionexpress) + return new ItemStack(ModItems.ammo_50ae); } return null; @@ -736,6 +738,7 @@ public class MachineRecipes { recipes.put(new Object[] { i_stamps_9, new ItemStack(ModItems.assembly_lacunae) }, getPressResultNN(i_stamps_9.get(0).getItem(), ModItems.assembly_lacunae)); recipes.put(new Object[] { i_stamps_9, new ItemStack(Items.gold_ingot) }, getPressResultNN(i_stamps_9.get(0).getItem(), Items.gold_ingot)); + recipes.put(new Object[] { i_stamps_50, new ItemStack(ModItems.assembly_actionexpress) }, getPressResultNN(i_stamps_50.get(0).getItem(), ModItems.assembly_actionexpress)); recipes.put(new Object[] { i_stamps_50, new ItemStack(ModItems.assembly_calamity) }, getPressResultNN(i_stamps_50.get(0).getItem(), ModItems.assembly_calamity)); return recipes; diff --git a/com/hbm/items/ModItems.java b/com/hbm/items/ModItems.java index 3c9509e20..fe596c268 100644 --- a/com/hbm/items/ModItems.java +++ b/com/hbm/items/ModItems.java @@ -325,6 +325,7 @@ public class ModItems { public static Item assembly_nopip; public static Item assembly_smg; public static Item assembly_uzi; + public static Item assembly_actionexpress; public static Item assembly_calamity; public static Item assembly_lacunae; @@ -793,6 +794,7 @@ public class ModItems { public static Item missile_incendiary_strong; public static Item missile_cluster_strong; public static Item missile_buster_strong; + public static Item missile_emp_strong; public static Item missile_burst; public static Item missile_inferno; public static Item missile_rain; @@ -829,6 +831,7 @@ public class ModItems { public static Item ammo_20gauge_caustic; public static Item ammo_20gauge_shock; public static Item ammo_20gauge_wither; + public static Item ammo_357_desh; public static Item ammo_44; public static Item ammo_44_ap; public static Item ammo_44_du; @@ -842,6 +845,9 @@ public class ModItems { public static Item ammo_9mm_du; public static Item ammo_22lr; public static Item ammo_22lr_ap; + public static Item ammo_50ae; + public static Item ammo_50ae_ap; + public static Item ammo_50ae_du; public static Item ammo_50bmg; public static Item ammo_50bmg_incendiary; public static Item ammo_50bmg_explosive; @@ -1910,6 +1916,7 @@ public class ModItems { assembly_nopip = new Item().setUnlocalizedName("assembly_nopip").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_nopip"); assembly_smg = new Item().setUnlocalizedName("assembly_smg").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_smg"); assembly_uzi = new Item().setUnlocalizedName("assembly_uzi").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_uzi"); + assembly_actionexpress = new Item().setUnlocalizedName("assembly_actionexpress").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_actionexpress"); assembly_calamity = new Item().setUnlocalizedName("assembly_calamity").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_calamity"); assembly_lacunae = new Item().setUnlocalizedName("assembly_lacunae").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_lacunae"); folly_shell = new Item().setUnlocalizedName("folly_shell").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":folly_shell"); @@ -2254,6 +2261,7 @@ public class ModItems { missile_incendiary_strong = new Item().setUnlocalizedName("missile_incendiary_strong").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_incendiary_strong"); missile_cluster_strong = new Item().setUnlocalizedName("missile_cluster_strong").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_cluster_strong"); missile_buster_strong = new Item().setUnlocalizedName("missile_buster_strong").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_buster_strong"); + missile_emp_strong = new Item().setUnlocalizedName("missile_emp_strong").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_emp_strong"); missile_burst = new Item().setUnlocalizedName("missile_burst").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_burst"); missile_inferno = new Item().setUnlocalizedName("missile_inferno").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_inferno"); missile_rain = new Item().setUnlocalizedName("missile_rain").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_rain"); @@ -2295,10 +2303,14 @@ public class ModItems { ammo_9mm = new ItemAmmo().setUnlocalizedName("ammo_9mm").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_9mm"); ammo_9mm_ap = new ItemAmmo().setUnlocalizedName("ammo_9mm_ap").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_9mm_ap"); ammo_9mm_du = new ItemAmmo().setUnlocalizedName("ammo_9mm_du").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_9mm_du"); + ammo_50ae = new ItemAmmo().setUnlocalizedName("ammo_50ae").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_50ae"); + ammo_50ae_ap = new ItemAmmo().setUnlocalizedName("ammo_50ae_ap").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_50ae_ap"); + ammo_50ae_du = new ItemAmmo().setUnlocalizedName("ammo_50ae_du").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_50ae_du"); ammo_50bmg = new ItemAmmo().setUnlocalizedName("ammo_50bmg").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_50bmg"); ammo_50bmg_incendiary = new ItemAmmo().setUnlocalizedName("ammo_50bmg_incendiary").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_50bmg_incendiary"); ammo_50bmg_explosive = new ItemAmmo().setUnlocalizedName("ammo_50bmg_explosive").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_50bmg_explosive"); ammo_50bmg_du = new ItemAmmo().setUnlocalizedName("ammo_50bmg_du").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_50bmg_du"); + ammo_357_desh = new ItemAmmo().setUnlocalizedName("ammo_357_desh").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_357_desh"); ammo_44 = new ItemAmmo().setUnlocalizedName("ammo_44").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_44"); ammo_44_ap = new ItemAmmo().setUnlocalizedName("ammo_44_ap").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_44_ap"); ammo_44_du = new ItemAmmo().setUnlocalizedName("ammo_44_du").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_44_du"); @@ -3431,6 +3443,7 @@ public class ModItems { GameRegistry.registerItem(assembly_smg, assembly_smg.getUnlocalizedName()); GameRegistry.registerItem(assembly_uzi, assembly_uzi.getUnlocalizedName()); GameRegistry.registerItem(assembly_lacunae, assembly_lacunae.getUnlocalizedName()); + GameRegistry.registerItem(assembly_actionexpress, assembly_actionexpress.getUnlocalizedName()); GameRegistry.registerItem(assembly_calamity, assembly_calamity.getUnlocalizedName()); //Folly Parts @@ -3905,6 +3918,7 @@ public class ModItems { GameRegistry.registerItem(missile_incendiary_strong, missile_incendiary_strong.getUnlocalizedName()); GameRegistry.registerItem(missile_cluster_strong, missile_cluster_strong.getUnlocalizedName()); GameRegistry.registerItem(missile_buster_strong, missile_buster_strong.getUnlocalizedName()); + GameRegistry.registerItem(missile_emp_strong, missile_emp_strong.getUnlocalizedName()); GameRegistry.registerItem(missile_burst, missile_burst.getUnlocalizedName()); GameRegistry.registerItem(missile_inferno, missile_inferno.getUnlocalizedName()); GameRegistry.registerItem(missile_rain, missile_rain.getUnlocalizedName()); @@ -4004,6 +4018,7 @@ public class ModItems { GameRegistry.registerItem(gun_revolver_schrabidium_ammo, gun_revolver_schrabidium_ammo.getUnlocalizedName()); GameRegistry.registerItem(gun_revolver_cursed_ammo, gun_revolver_cursed_ammo.getUnlocalizedName()); GameRegistry.registerItem(gun_revolver_nightmare_ammo, gun_revolver_nightmare_ammo.getUnlocalizedName()); + GameRegistry.registerItem(ammo_357_desh, ammo_357_desh.getUnlocalizedName()); GameRegistry.registerItem(gun_revolver_nightmare2_ammo, gun_revolver_nightmare2_ammo.getUnlocalizedName()); GameRegistry.registerItem(gun_revolver_pip_ammo, gun_revolver_pip_ammo.getUnlocalizedName()); GameRegistry.registerItem(gun_revolver_nopip_ammo, gun_revolver_nopip_ammo.getUnlocalizedName()); @@ -4056,6 +4071,9 @@ public class ModItems { GameRegistry.registerItem(ammo_9mm_du, ammo_9mm_du.getUnlocalizedName()); GameRegistry.registerItem(ammo_22lr, ammo_22lr.getUnlocalizedName()); GameRegistry.registerItem(ammo_22lr_ap, ammo_22lr_ap.getUnlocalizedName()); + GameRegistry.registerItem(ammo_50ae, ammo_50ae.getUnlocalizedName()); + GameRegistry.registerItem(ammo_50ae_ap, ammo_50ae_ap.getUnlocalizedName()); + GameRegistry.registerItem(ammo_50ae_du, ammo_50ae_du.getUnlocalizedName()); GameRegistry.registerItem(ammo_50bmg, ammo_50bmg.getUnlocalizedName()); GameRegistry.registerItem(ammo_50bmg_incendiary, ammo_50bmg_incendiary.getUnlocalizedName()); GameRegistry.registerItem(ammo_50bmg_explosive, ammo_50bmg_explosive.getUnlocalizedName()); diff --git a/com/hbm/main/ClientProxy.java b/com/hbm/main/ClientProxy.java index 9ef2e7a39..221db1440 100644 --- a/com/hbm/main/ClientProxy.java +++ b/com/hbm/main/ClientProxy.java @@ -7,13 +7,11 @@ import net.minecraftforge.client.model.AdvancedModelLoader; import net.minecraftforge.common.MinecraftForge; import com.hbm.blocks.ModBlocks; -import com.hbm.blocks.machine.TileEntityGeiger; +import com.hbm.blocks.machine.*; import com.hbm.entity.effect.*; import com.hbm.entity.grenade.*; import com.hbm.entity.item.EntityMinecartTest; -import com.hbm.entity.logic.EntityBomber; -import com.hbm.entity.logic.EntityDeathBlast; -import com.hbm.entity.logic.EntityNukeExplosionAdvanced; +import com.hbm.entity.logic.*; import com.hbm.entity.missile.*; import com.hbm.entity.mob.*; import com.hbm.entity.particle.*; @@ -332,6 +330,7 @@ public class ClientProxy extends ServerProxy RenderingRegistry.registerEntityRenderingHandler(EntityMissileIncendiaryStrong.class, new RenderMissileStrong()); RenderingRegistry.registerEntityRenderingHandler(EntityMissileClusterStrong.class, new RenderMissileStrong()); RenderingRegistry.registerEntityRenderingHandler(EntityMissileBusterStrong.class, new RenderMissileStrong()); + RenderingRegistry.registerEntityRenderingHandler(EntityMissileEMPStrong.class, new RenderMissileStrong()); RenderingRegistry.registerEntityRenderingHandler(EntityMissileBurst.class, new RenderMissileHuge()); RenderingRegistry.registerEntityRenderingHandler(EntityMissileInferno.class, new RenderMissileHuge()); @@ -394,6 +393,7 @@ public class ClientProxy extends ServerProxy RenderingRegistry.registerEntityRenderingHandler(EntityRubble.class, new RenderRubble()); RenderingRegistry.registerEntityRenderingHandler(EntityShrapnel.class, new RenderShrapnel()); RenderingRegistry.registerEntityRenderingHandler(EntityOilSpill.class, new RenderEmpty()); + RenderingRegistry.registerEntityRenderingHandler(EntityEMP.class, new RenderEmpty()); RenderingRegistry.registerEntityRenderingHandler(EntitySmokeFX.class, new MultiCloudRenderer(new Item[] { ModItems.smoke1, ModItems.smoke2, ModItems.smoke3, ModItems.smoke4, ModItems.smoke5, ModItems.smoke6, ModItems.smoke7, ModItems.smoke8 })); RenderingRegistry.registerEntityRenderingHandler(EntityBSmokeFX.class, new MultiCloudRenderer(new Item[] { ModItems.b_smoke1, ModItems.b_smoke2, ModItems.b_smoke3, ModItems.b_smoke4, ModItems.b_smoke5, ModItems.b_smoke6, ModItems.b_smoke7, ModItems.b_smoke8 })); diff --git a/com/hbm/main/CraftingManager.java b/com/hbm/main/CraftingManager.java index 40ced53ee..f659c4dbc 100644 --- a/com/hbm/main/CraftingManager.java +++ b/com/hbm/main/CraftingManager.java @@ -875,6 +875,7 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ammo_20gauge_flechette, 8), new Object[] { " I ", "GCL", " P ", 'I', ModItems.pellet_flechette, 'G', ModItems.cordite, 'C', ModItems.casing_buckshot, 'P', ModItems.primer_buckshot, 'L', "plateCopper" })); GameRegistry.addRecipe(new ItemStack(ModItems.gun_revolver_nightmare2_ammo, 8), new Object[] { "I", "C", "P", 'I', ModItems.powder_power, 'C', ModItems.casing_buckshot, 'P', ModItems.primer_buckshot }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.assembly_calamity, 8), new Object[] { " I ", "GCG", " P ", 'I', "ingotLead", 'G', ModItems.cordite, 'C', ModItems.casing_50, 'P', ModItems.primer_50 })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.assembly_actionexpress, 8), new Object[] { " I", "GC", " P", 'I', "ingotLead", 'G', ModItems.cordite, 'C', ModItems.casing_50, 'P', ModItems.primer_50 })); GameRegistry.addRecipe(new ItemStack(ModItems.ammo_12gauge_incendiary, 8), new Object[] { "BBB", "BAB", "BBB", 'B', ModItems.ammo_12gauge, 'A', ModItems.powder_fire }); GameRegistry.addRecipe(new ItemStack(ModItems.ammo_20gauge_incendiary, 8), new Object[] { "BBB", "BAB", "BBB", 'B', ModItems.ammo_20gauge, 'A', ModItems.powder_fire }); @@ -893,6 +894,8 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(ModItems.ammo_50bmg_incendiary, 8), new Object[] { "BBB", "BAB", "BBB", 'B', ModItems.ammo_50bmg, 'A', ModItems.powder_fire }); GameRegistry.addRecipe(new ItemStack(ModItems.ammo_50bmg_explosive, 8), new Object[] { "BBB", "BAB", "BBB", 'B', ModItems.ammo_50bmg, 'A', Blocks.tnt }); GameRegistry.addRecipe(new ItemStack(ModItems.ammo_50bmg_du, 8), new Object[] { "BBB", "BAB", "BBB", 'B', ModItems.ammo_50bmg, 'A', ModItems.ingot_u238 }); + GameRegistry.addRecipe(new ItemStack(ModItems.ammo_50ae_ap, 8), new Object[] { "BBB", "BAB", "BBB", 'B', ModItems.ammo_50ae, 'A', ModItems.ingot_dura_steel }); + GameRegistry.addRecipe(new ItemStack(ModItems.ammo_50ae_du, 8), new Object[] { "BBB", "BAB", "BBB", 'B', ModItems.ammo_50ae, 'A', ModItems.ingot_u238 }); GameRegistry.addRecipe(new ItemStack(ModItems.folly_bullet, 1), new Object[] { " S ", "STS", "SMS", 'S', ModItems.ingot_starmetal, 'T', ModItems.powder_magic, 'M', ModBlocks.block_meteor }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.folly_bullet_nuclear, 1), new Object[] { " N ", "UTU", "UTU", 'N', ModItems.gun_fatman_ammo, 'U', "ingotIron", 'T', "blockTungsten" })); diff --git a/com/hbm/packet/ParticleBurstPacket.java b/com/hbm/packet/ParticleBurstPacket.java index 1e6e90db9..ecf92b0dd 100644 --- a/com/hbm/packet/ParticleBurstPacket.java +++ b/com/hbm/packet/ParticleBurstPacket.java @@ -56,7 +56,7 @@ public class ParticleBurstPacket implements IMessage { @Override public IMessage onMessage(ParticleBurstPacket m, MessageContext ctx) { - Minecraft.getMinecraft().effectRenderer.addBlockDestroyEffects(m.x, m.y, m.z, Block.getBlockById(m.block), (m.meta << 12)); + Minecraft.getMinecraft().effectRenderer.addBlockDestroyEffects(m.x, m.y, m.z, Block.getBlockById(m.block), m.meta); return null; } diff --git a/com/hbm/packet/TEMissilePacket.java b/com/hbm/packet/TEMissilePacket.java index e6861a355..33a5ad205 100644 --- a/com/hbm/packet/TEMissilePacket.java +++ b/com/hbm/packet/TEMissilePacket.java @@ -78,6 +78,8 @@ public class TEMissilePacket implements IMessage { type = 23; if(stack.getItem() == ModItems.missile_emp) type = 24; + if(stack.getItem() == ModItems.missile_emp_strong) + type = 25; } } diff --git a/com/hbm/render/entity/RenderMissileStrong.java b/com/hbm/render/entity/RenderMissileStrong.java index bb90f35da..82ff62a31 100644 --- a/com/hbm/render/entity/RenderMissileStrong.java +++ b/com/hbm/render/entity/RenderMissileStrong.java @@ -4,6 +4,7 @@ import org.lwjgl.opengl.GL11; import com.hbm.entity.missile.EntityMissileBusterStrong; import com.hbm.entity.missile.EntityMissileClusterStrong; +import com.hbm.entity.missile.EntityMissileEMPStrong; import com.hbm.entity.missile.EntityMissileIncendiaryStrong; import com.hbm.entity.missile.EntityMissileStrong; import com.hbm.lib.RefStrings; @@ -36,6 +37,8 @@ public class RenderMissileStrong extends Render { bindTexture(ResourceManager.missileStrong_CL_tex); if(p_76986_1_ instanceof EntityMissileBusterStrong) bindTexture(ResourceManager.missileStrong_BU_tex); + if(p_76986_1_ instanceof EntityMissileEMPStrong) + bindTexture(ResourceManager.missileStrong_EMP_tex); ResourceManager.missileStrong.renderAll(); GL11.glPopMatrix(); } diff --git a/com/hbm/render/tileentity/RenderLaunchPadTier1.java b/com/hbm/render/tileentity/RenderLaunchPadTier1.java index 9acfc2904..f2734be69 100644 --- a/com/hbm/render/tileentity/RenderLaunchPadTier1.java +++ b/com/hbm/render/tileentity/RenderLaunchPadTier1.java @@ -212,6 +212,12 @@ public class RenderLaunchPadTier1 extends TileEntitySpecialRenderer { bindTexture(ResourceManager.missileMicroEMP_tex); ResourceManager.missileTaint.renderAll(); } + if(state == 25) + { + GL11.glScalef(1.5F, 1.5F, 1.5F); + bindTexture(ResourceManager.missileStrong_EMP_tex); + ResourceManager.missileStrong.renderAll(); + } GL11.glEnable(GL11.GL_CULL_FACE);