From 8d481b21a0f6f897105d680a7fa33fa686c49001 Mon Sep 17 00:00:00 2001 From: Bob Date: Tue, 24 Nov 2020 23:59:10 +0100 Subject: [PATCH] fixed beta food, some crunchy stuff --- .../textures/blocks/block_plating_tier2.png | Bin 435 -> 0 bytes .../textures/blocks/block_plating_tier5.png | Bin 423 -> 0 bytes .../hbm/textures/blocks/hadron_access.png | Bin 0 -> 469 bytes .../{coil_alloy.png => hadron_coil_alloy.png} | Bin .../{coil_base.png => hadron_coil_base.png} | Bin ...bidium.png => hadron_coil_schrabidium.png} | Bin ...tarmetal.png => hadron_coil_starmetal.png} | Bin .../hbm/textures/blocks/hadron_core.png | Bin 0 -> 674 bytes .../hbm/textures/blocks/hadron_core_in.png | Bin 0 -> 511 bytes .../hbm/textures/blocks/hadron_core_out.png | Bin 0 -> 525 bytes .../hbm/textures/blocks/hadron_diode.png | Bin 0 -> 443 bytes ...ticle_diode_in.png => hadron_diode_in.png} | Bin ...cle_diode_out.png => hadron_diode_out.png} | Bin ...k_plating_tier4.png => hadron_plating.png} | Bin .../textures/blocks/hadron_plating_black.png | Bin 0 -> 330 bytes ...ting_tier1.png => hadron_plating_blue.png} | Bin .../textures/blocks/hadron_plating_glass.png | Bin 0 -> 303 bytes .../blocks/hadron_plating_striped.png | Bin 0 -> 524 bytes .../textures/blocks/hadron_plating_voltz.png | Bin 0 -> 465 bytes ...ng_tier3.png => hadron_plating_yellow.png} | Bin .../hbm/textures/blocks/hadron_power.png | Bin 0 -> 660 bytes src/main/java/com/hbm/blocks/ModBlocks.java | 68 ++++++++++- .../hbm/blocks/machine/BlockHadronCoil.java | 11 ++ .../hbm/blocks/machine/BlockHadronDiode.java | 81 +++++++++++++ .../blocks/machine/BlockHadronPlating.java | 12 ++ src/main/java/com/hbm/items/ModItems.java | 2 +- src/main/java/com/hbm/main/MainRegistry.java | 1 + .../java/com/hbm/main/ModEventHandler.java | 34 +++--- .../machine/TileEntityHadronDiode.java | 107 ++++++++++++++++++ .../java/com/hbm/util/ContaminationUtil.java | 3 + 30 files changed, 304 insertions(+), 15 deletions(-) delete mode 100644 src/main/java/assets/hbm/textures/blocks/block_plating_tier2.png delete mode 100644 src/main/java/assets/hbm/textures/blocks/block_plating_tier5.png create mode 100644 src/main/java/assets/hbm/textures/blocks/hadron_access.png rename src/main/java/assets/hbm/textures/blocks/{coil_alloy.png => hadron_coil_alloy.png} (100%) rename src/main/java/assets/hbm/textures/blocks/{coil_base.png => hadron_coil_base.png} (100%) rename src/main/java/assets/hbm/textures/blocks/{coil_schrabidium.png => hadron_coil_schrabidium.png} (100%) rename src/main/java/assets/hbm/textures/blocks/{coil_starmetal.png => hadron_coil_starmetal.png} (100%) create mode 100644 src/main/java/assets/hbm/textures/blocks/hadron_core.png create mode 100644 src/main/java/assets/hbm/textures/blocks/hadron_core_in.png create mode 100644 src/main/java/assets/hbm/textures/blocks/hadron_core_out.png create mode 100644 src/main/java/assets/hbm/textures/blocks/hadron_diode.png rename src/main/java/assets/hbm/textures/blocks/{particle_diode_in.png => hadron_diode_in.png} (100%) rename src/main/java/assets/hbm/textures/blocks/{particle_diode_out.png => hadron_diode_out.png} (100%) rename src/main/java/assets/hbm/textures/blocks/{block_plating_tier4.png => hadron_plating.png} (100%) create mode 100644 src/main/java/assets/hbm/textures/blocks/hadron_plating_black.png rename src/main/java/assets/hbm/textures/blocks/{block_plating_tier1.png => hadron_plating_blue.png} (100%) create mode 100644 src/main/java/assets/hbm/textures/blocks/hadron_plating_glass.png create mode 100644 src/main/java/assets/hbm/textures/blocks/hadron_plating_striped.png create mode 100644 src/main/java/assets/hbm/textures/blocks/hadron_plating_voltz.png rename src/main/java/assets/hbm/textures/blocks/{block_plating_tier3.png => hadron_plating_yellow.png} (100%) create mode 100644 src/main/java/assets/hbm/textures/blocks/hadron_power.png create mode 100644 src/main/java/com/hbm/blocks/machine/BlockHadronCoil.java create mode 100644 src/main/java/com/hbm/blocks/machine/BlockHadronDiode.java create mode 100644 src/main/java/com/hbm/blocks/machine/BlockHadronPlating.java create mode 100644 src/main/java/com/hbm/tileentity/machine/TileEntityHadronDiode.java diff --git a/src/main/java/assets/hbm/textures/blocks/block_plating_tier2.png b/src/main/java/assets/hbm/textures/blocks/block_plating_tier2.png deleted file mode 100644 index 4a68fde13e2f2a0f82cf7a30a2d03b7245642697..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 435 zcmV;k0ZjghP)g~r5QM+?cCW%p+)yD=ri+9`h3H6!XlVGA{0}N5q;zR4 zAt6f;1^X$Y@Xm4+_nzZewiT+qS>4>u&20Di)5mJ1V8t;XYbo@**jsP^P90XbmBP>U z8h6LtTD4Yf!fv=3=8n5l+?dVJxnHeuE3Nr__UvKWNS@AKc5%Vn=+5TE?H#>&!QHUp z{Jwh6^~L2;@}GAf`0?rusU#zi^q|1pSuU59QjSg@hJlD66?7p|**uv3_xk(IN!c&H zeIXU3M5jP0yx%G~{pVC}$*H6ZAtgRt_#d)D^oKlnDmf*pCJ)A(A4hkZoDwxODJZx( zUY<@)B~^hk>Frp~2gtwPUh(zi1u5}&tH8_X!Q-3{O#)V7Y!6)%Ca)(s8 zhDsGd{38f3FeGb^wK$@_@wq_1}s&8qx; z_(K*YOJ*jSobs;Eq757S;h)8P&i!_ast8$>#mQ%8qK&w(Lu~B3Wk-25(jYN26Xn~L z(w(i}B!9V9(!~Y~$K0{7!NRObU9Z>VoZpwP$2=lS>df6BI>r$jgw zPV&?gv<&{|*}^G}Y~hF}N*Jm-P5XUh3#a#l#c1J!@AETzL#v_RIgJ7`9ow2 z2d`K^-h=dd&&SB0E}f?ztA@qP5D)i!Z1QTgqLc#R;JnUYy60oE>#wiSu;GA~!D2qA zTXuBbks=|U=v!$B)hl>~0DP$3RjzlH`|XzUXjmB54Y5Pi2Zdk~2M69hp}6a+!=7g$+X3AR>(+W2d%tZnlL zw9+C!#7amJFyRt|MRw+5u^)E{VsfzT&fI*wd2cs6zqp?hTQKMFd;Oe)$oq(M|Br&- zS`0^1FtNpWJb@t#A_kF#F@7gvnCPRr&!V~6#`JpxX3k;AqOs8mfi?vaSrA9t)@(+n z-Nd9Acmy%{{q+&+d^ZozQ0Jg3FdRAR_1jG&2CaWUGs)I*0}Y z)r_1Fyku(>5C>J~NsJss1k0l=7gTjnnW0nxCyCfD1pSA?bHGp)FxO!i% zYFf!=s5%&`jc~mGh5ko3B_Hm5qW{rN$)`s@7!Tf{Dqe*$$QUnAuh&CS6sdD%yFYDD zV!U;1ad2|C0DF7y3hmu0xUqGHyyZ};gGd%R$kRLce`bNIPu5VNR0k&OA4aF$ggSr2 zBiUCw5bco%gI+v1=)MI`Dd8a!0j&O{G00000 LNkvXXu0mjfP0YjW literal 0 HcmV?d00001 diff --git a/src/main/java/assets/hbm/textures/blocks/coil_alloy.png b/src/main/java/assets/hbm/textures/blocks/hadron_coil_alloy.png similarity index 100% rename from src/main/java/assets/hbm/textures/blocks/coil_alloy.png rename to src/main/java/assets/hbm/textures/blocks/hadron_coil_alloy.png diff --git a/src/main/java/assets/hbm/textures/blocks/coil_base.png b/src/main/java/assets/hbm/textures/blocks/hadron_coil_base.png similarity index 100% rename from src/main/java/assets/hbm/textures/blocks/coil_base.png rename to src/main/java/assets/hbm/textures/blocks/hadron_coil_base.png diff --git a/src/main/java/assets/hbm/textures/blocks/coil_schrabidium.png b/src/main/java/assets/hbm/textures/blocks/hadron_coil_schrabidium.png similarity index 100% rename from src/main/java/assets/hbm/textures/blocks/coil_schrabidium.png rename to src/main/java/assets/hbm/textures/blocks/hadron_coil_schrabidium.png diff --git a/src/main/java/assets/hbm/textures/blocks/coil_starmetal.png b/src/main/java/assets/hbm/textures/blocks/hadron_coil_starmetal.png similarity index 100% rename from src/main/java/assets/hbm/textures/blocks/coil_starmetal.png rename to src/main/java/assets/hbm/textures/blocks/hadron_coil_starmetal.png diff --git a/src/main/java/assets/hbm/textures/blocks/hadron_core.png b/src/main/java/assets/hbm/textures/blocks/hadron_core.png new file mode 100644 index 0000000000000000000000000000000000000000..4d58fc6895c85e35c364841a908f6c0457b3970a GIT binary patch literal 674 zcmV;T0$u%yP)~ub28-ZU>K3YKhAdJrkz{z$dcWQqJA_12w9|8V9?s#M!;@QHUVcFH@69v%q8kXEZj7=~n7HWW}w zkg`vgHi(yep!J>>TGmSVApwRRXmN=czm!1Fxbls4I% z^>7@AYPCwCP{45td~a5|C0dKR-{YRN~;^fG`XJu-3A@y^RopBuNlLpp+t)%aNw(Qv{_H z)>@({!dg2PNRosoipKZBU_h-_r}1VMnccH%g~FYTmrWy#N3J literal 0 HcmV?d00001 diff --git a/src/main/java/assets/hbm/textures/blocks/hadron_core_in.png b/src/main/java/assets/hbm/textures/blocks/hadron_core_in.png new file mode 100644 index 0000000000000000000000000000000000000000..477cfb6fd6a1216659005e1d941991a39b8fed3f GIT binary patch literal 511 zcmV&>co@`2~w62V_Uf)XE)(`eUjy;r~Lo^+3%&ZUau?P_X&ak-}iYd|5q)~bNohv z=Xr1L*R?PVYn^o)3EuMm-I56#01j-B@)3Z3 zzt40!MQe>QhOTw=JP#=)=d&|E?w0KL`?i6_pRl3Yeg{Bn zO`4{pX-XJ|wfcU`gbh+kN7A)jxQ=Gc;y1$*xGo4GII!Vv^#s6hIApO{(ChWkTGQ!t zVD**X+c~#Fyne(eie6gPckL>Qf}$wg>Bbn|eR|~P=6##ME*r)e0J;x9>VoUWUwpf| z%|Q}EP?jZ^%Y{D=AD!TEzo0Bjlu`&GFvg&istKAu$!s=r&O-d8l%D~(6{3aRB=GHA zhhf;7u=#xM^5*bd50anfIeDIwWtnp~#4jk~7oEd5Ge@1xW>X0vkWwOq;I;l=vm{9n zjRwbYUfoY;uInCk)@?8tv_9~CpFGb2P)gx>UQJ*Pq9{5NSWz6uwFuzh<2?Y&n@e`P z9RU4)pXqdpF@~}%=~_p}ame$W^Ye2?qY)2h7k`b;E|5|pr6f&Lj4^1fF~%H^U}lkWf+4u>oj3wpgC z#+c(h+-_OvN4iS22^`14^E|ZHTvtEq=Q{?~miSRQ_mWf@v)lv0#siPri^(ELeevsvxD z-|t!8T-H%;VmAqd&9&>gt%S|z^SW<_=QKznNfMGIA&R2fy)4UC|G)hY`p8NL3(9Yt P00000NkvXXu0mjf`(NZ5 literal 0 HcmV?d00001 diff --git a/src/main/java/assets/hbm/textures/blocks/hadron_diode.png b/src/main/java/assets/hbm/textures/blocks/hadron_diode.png new file mode 100644 index 0000000000000000000000000000000000000000..a8355baf93250cbb1bb42222eabc1688b450fdbe GIT binary patch literal 443 zcmV;s0Yv_ZP)jdZ&6pZo95|G6<5jgCSHeBVb1!MV5&Q%WJM z0MGNz`YI-+%y~t%X0z!eRIQ3jDM^xq3;X9_FreG*o+S^5Lwda)T5Gh{7-RARMbdu1 zckcT2x<06Z_3CE2-x-T4@%00h523|asz!jwkPVw}`mq1dzM zc|6YNdDkE)2bg`|aX+0hPHszbt%!v!f&i^G(GhM)iCNK}j2!`MMXc`mx{*&%ko)~U zoleIoB5V=uJ!`E|(<$xAU-E9Z<8U}&j3LW1j4`f=b$hnYQ52nEqIlO*N=F^^^h1a0o$d$JU zLz44LGNC-rm6^fJAfihRtq~ETC;|~dL=ZDG=6UuT2Qf6x7-I~qwYvZjAwRj4YQb9;gVG>#*ZBzbh6rU~1&K}5U=6-A-TvLH>Fdub#p%Tm{Mg)!z;Y=8ETVN66Y#(u+~CE;GFw% czK=WR55AXY+_>-%?*IS*07*qoM6N<$g6yD%s{jB1 literal 0 HcmV?d00001 diff --git a/src/main/java/assets/hbm/textures/blocks/block_plating_tier1.png b/src/main/java/assets/hbm/textures/blocks/hadron_plating_blue.png similarity index 100% rename from src/main/java/assets/hbm/textures/blocks/block_plating_tier1.png rename to src/main/java/assets/hbm/textures/blocks/hadron_plating_blue.png diff --git a/src/main/java/assets/hbm/textures/blocks/hadron_plating_glass.png b/src/main/java/assets/hbm/textures/blocks/hadron_plating_glass.png new file mode 100644 index 0000000000000000000000000000000000000000..a87e07642f60dc2af81455046db3263b420f0ba4 GIT binary patch literal 303 zcmV+~0nq-5P)}p?^ zZOgLA-Qn&qvt}RNnHi>Of|-FNUha+%LV1yeqgCh3^NbkdS-{M&@4JzdyBh#(f%ONkNyrxH3Vi?+L3{E(NZ7}QXeA^YN9eodA7er zPec-uU}dJ=OVw;pzxQ{?ao|M~F-DMV#CNOD`3E#r^JprnbHD%q002ovPDHLkV1nfj Be5(Ke literal 0 HcmV?d00001 diff --git a/src/main/java/assets/hbm/textures/blocks/hadron_plating_striped.png b/src/main/java/assets/hbm/textures/blocks/hadron_plating_striped.png new file mode 100644 index 0000000000000000000000000000000000000000..f514ed96fde456c3295004b60c2a161eef238c80 GIT binary patch literal 524 zcmV+n0`vWeP)dsA9iVrCgQqsn}CY$8WjEmPk6KQC=p8MT%?woVom(TZ&J>yk$ z3g;Y%2+ld|?-aqzAod{7s5awl#?1J*cMoQLc=n8^uYY9&BEs9|8U}+t*b_KMsI~vh z!5`k;fmt7CqcL2mRI<@%gnT{^B0^_t73?{^%o8@>3^JIA@M-TZh#AhUV{jUSW|eET z8V-IuTnI-|grCQcpdwHS*r@kFM3gCayItgRxrNF}l3+TWLW1J)i$j-te zcKha)wp9cY6i;4uK|~mj$DsY4BK#6>o`uZ}stQ#FF*DfHwP7>EZgT}h?7_L~D|gyO zNKg=Yp38YDczYEp0U-$dY{Qm?MFa*pcd#Jm%iu<%fv<-TAVHuas7ELNiu8ZZmnp|_ zjLBpI6-Bjm1QCI&R4VqqT|nVh{z}`avSM>PU3iitaNoaG&8!dS)}a!zhFwI}X&0dq zAd=dywvMvda5#j&_*F7J!$!R~r@Y%-!Ex_5LP(v}qmy)j=Vw~a3iu0bOpPhr#R13w O0000qWz?pDtdA8MYpFcOX|8ta$z!=@ay}V-(O$+xxHn*UQ<;SRaNo+`N`kij(>M|Y`0s= zvP48sRiw-601G$~thMcA3r(#kaL$oZBBex(u~|VxD2n3TD1vjYmE9%w-lM85iOuE! z{Jg&AZMVa{zG9tYv)SOTt{U*m3;y|;#bVJ&&npbw&eO7rtjenrLTIO}YM-FHZ`TJ0 zcp$`x_r3+^Y-Y1rI-O2bRn;na|M)mh2Ex-5{_&CJa@n2C;c)0H$ZPb#1Nk|!0vWr$ z9vBD%f(s9Zr~BjP<_vy#Al%=xTCIpN_P`g1WQ=JWvVx%6{yosUffyrp46LdR81OL? zLbz}rAf<$v&*v$-npuas-rs&W7zW_G+HCRe(PA^6Z>9V)Ck0V@!kO<-8IO!^c#K|#n6m#(_ zHR6LFQc4d;xST#y%`UnK;c~zBk)T%`^y-K)fm&y2gxh`fwhJw>*Lr&Gt*e6^JkObQaaAl zod9c7vb7pxN+ebzg`0ki;hK-tX=YVzSO3zw-|&M^3nWT#|(V0000= 1000) { - if(entity.attackEntityFrom(ModDamageSource.radiation, entity.getMaxHealth() * 100)) { - entity.getEntityData().setFloat("hfr_radiation", 0); - if(entity instanceof EntityPlayer) - ((EntityPlayer)entity).triggerAchievement(MainRegistry.achRadDeath); - } + entity.attackEntityFrom(ModDamageSource.radiation, 1000F); + entity.getEntityData().setFloat("hfr_radiation", 0); - //.attackEntityFrom ensures the recentlyHit var is set to enable drops. - //if the attack is canceled, then nothing will drop. - //that's what you get for trying to cheat death - entity.setHealth(0); + if(entity.getHealth() > 0) { + entity.setHealth(0); + entity.onDeath(ModDamageSource.radiation); + } + + if(entity instanceof EntityPlayer) + ((EntityPlayer)entity).triggerAchievement(MainRegistry.achRadDeath); } else if(eRad >= 800) { if(event.world.rand.nextInt(300) == 0) @@ -463,13 +466,18 @@ public class ModEventHandler /// BETA HEALTH START /// if(player.getUniqueID().toString().equals(Library.Dr_Nostalgia)) { - if(player.getFoodStats().getFoodLevel() < 10) { - player.getFoodStats().setFoodLevel(10); - } if(player.getFoodStats().getFoodLevel() > 10) { player.heal(player.getFoodStats().getFoodLevel() - 10); - player.getFoodStats().setFoodLevel(10); + } + + if(player.getFoodStats().getFoodLevel() != 10) { + + // Why can't you be normal?? + try { + Field food = ReflectionHelper.findField(FoodStats.class, "field_149334_b", "foodLevel"); + food.setInt(player.getFoodStats(), 10); + } catch(Exception e) { } } } /// BETA HEALTH END /// diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityHadronDiode.java b/src/main/java/com/hbm/tileentity/machine/TileEntityHadronDiode.java new file mode 100644 index 000000000..d77c5339a --- /dev/null +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityHadronDiode.java @@ -0,0 +1,107 @@ +package com.hbm.tileentity.machine; + +import com.hbm.tileentity.TileEntityTickingBase; + +import net.minecraft.nbt.NBTTagCompound; +import net.minecraftforge.common.util.ForgeDirection; + +public class TileEntityHadronDiode extends TileEntityTickingBase { + + int age = 0; + boolean fatherIAskOfYouToUpdateMe = false; + + public DiodeConfig[] sides = new DiodeConfig[6]; + + @Override + public String getInventoryName() { + return ""; + } + + @Override + public void updateEntity() { + + if(!worldObj.isRemote) { + age++; + + if(age >= 20) { + age = 0; + sendSides(); + } + } else { + + if(fatherIAskOfYouToUpdateMe) { + fatherIAskOfYouToUpdateMe = false; + worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); + } + } + } + + public void sendSides() { + + NBTTagCompound data = new NBTTagCompound(); + + for(int i = 0; i < 6; i++) { + + if(sides[i] != null) + data.setInteger("" + i, sides[i].ordinal()); + } + + this.networkPack(data, 250); + } + + @Override + public void networkUnpack(NBTTagCompound nbt) { + + for(int i = 0; i < 6; i++) { + sides[i] = DiodeConfig.values()[nbt.getInteger("" + i)]; + } + + worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); + } + + public DiodeConfig getConfig(int side) { + + if(ForgeDirection.getOrientation(side) == ForgeDirection.UNKNOWN) + return DiodeConfig.NONE; + + DiodeConfig conf = sides[side]; + + if(conf == null) + return DiodeConfig.NONE; + + return conf; + } + + public void setConfig(int side, int config) { + sides[side] = DiodeConfig.values()[config]; + this.markDirty(); + sendSides(); + } + + public static enum DiodeConfig { + NONE, + IN, + OUT + } + + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + + for(int i = 0; i < 6; i++) { + sides[i] = DiodeConfig.values()[nbt.getInteger("side_" + i)]; + } + + fatherIAskOfYouToUpdateMe = true; + } + + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + + for(int i = 0; i < 6; i++) { + + if(sides[i] != null) { + nbt.setInteger("side_" + i, sides[i].ordinal()); + } + } + } +} diff --git a/src/main/java/com/hbm/util/ContaminationUtil.java b/src/main/java/com/hbm/util/ContaminationUtil.java index 1d972769f..ebde485dc 100644 --- a/src/main/java/com/hbm/util/ContaminationUtil.java +++ b/src/main/java/com/hbm/util/ContaminationUtil.java @@ -42,6 +42,9 @@ public class ContaminationUtil { if(e instanceof EntityPlayer && ((EntityPlayer)e).capabilities.isCreativeMode) return; + if(e instanceof EntityPlayer && e.ticksExisted < 200) + return; + EntityLivingBase entity = (EntityLivingBase)e; f *= calculateRadiationMod(entity);