diff options
author | Zereff06 <Zereff06@gmail.com> | 2023-01-17 09:11:54 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-17 08:11:54 +0100 |
commit | 96e62f4f7be62321ae612a5640abbab09f77949c (patch) | |
tree | 15684bdaf08c03025bf4d19e5a5992212eb72e12 | |
parent | 97950d68ebdbbe63fbe1d46e09c07487e7123c58 (diff) | |
download | GT5-Unofficial-96e62f4f7be62321ae612a5640abbab09f77949c.tar.gz GT5-Unofficial-96e62f4f7be62321ae612a5640abbab09f77949c.tar.bz2 GT5-Unofficial-96e62f4f7be62321ae612a5640abbab09f77949c.zip |
two fix -> Isamill (#489)
* fix -> isaMill damage when not work
* fix-> armor reduction
20 armor points add 80% damage reduction, more points add more damage reduction
* spotless Apply
-rw-r--r-- | src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IsaMill.java | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IsaMill.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IsaMill.java index 931621cdde..9c10ad0357 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IsaMill.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IsaMill.java @@ -213,7 +213,7 @@ public class GregtechMetaTileEntity_IsaMill extends GregtechMeta_MultiBlockBase< this.mMillingBallBuses.clear(); } } - if (aTick % 20 == 0) { + if (aTick % 20 == 0 && isMachineRunning()) { checkForEntities(aBaseMetaTileEntity, aTick); } super.onPostTick(aBaseMetaTileEntity, aTick); @@ -255,15 +255,13 @@ public class GregtechMetaTileEntity_IsaMill extends GregtechMeta_MultiBlockBase< continue; } else { if (aFoundEntity.getHealth() > 0) { - EntityUtils.doDamage( - aFoundEntity, mIsaMillDamageSource, (int) (aFoundEntity.getMaxHealth() / 5)); + EntityUtils.doDamage(aFoundEntity, mIsaMillDamageSource, getPlayerDamageValue(aPlayer, 10)); if ((aBaseMetaTileEntity.isClientSide()) && (aBaseMetaTileEntity.isActive())) { generateParticles(aFoundEntity); } } } - } - if (aFoundEntity.getHealth() > 0) { + } else if (aFoundEntity.getHealth() > 0) { EntityUtils.doDamage( aFoundEntity, mIsaMillDamageSource, Math.max(1, (int) (aFoundEntity.getMaxHealth() / 3))); if ((aBaseMetaTileEntity.isClientSide()) && (aBaseMetaTileEntity.isActive())) { @@ -273,6 +271,12 @@ public class GregtechMetaTileEntity_IsaMill extends GregtechMeta_MultiBlockBase< } } } + // 20 armor points add 80% damage reduction, more points add more damage reduction + private int getPlayerDamageValue(EntityPlayer player, int damage) { + int armorValue = player.getTotalArmorValue(); + int reducedDamage = (int) (damage - damage * (armorValue * 0.04)); + return Math.max(reducedDamage, 0); + } private static final AutoMap<EntityLivingBase> getEntities(AutoMap<BlockPos> aPositionsToCheck, World aWorld) { AutoMap<EntityLivingBase> aEntities = new AutoMap<EntityLivingBase>(); |