From 3c1bc30e449cb1395ca2fa35d03dcf4a9b3bb9b2 Mon Sep 17 00:00:00 2001 From: luisc Date: Sat, 4 Dec 2021 12:46:53 -0600 Subject: [PATCH] Floor values are set for max health, combat regen, health regen, melee damage, and projectile damage when changing them now. --- src/main/java/noppes/npcs/DataStats.java | 7 +++++-- .../java/noppes/npcs/client/gui/SubGuiNpcProjectiles.java | 2 +- .../java/noppes/npcs/client/gui/mainmenu/GuiNpcStats.java | 6 +++--- .../java/noppes/npcs/scripted/entity/ScriptLivingBase.java | 5 +++-- src/main/java/noppes/npcs/scripted/entity/ScriptNpc.java | 6 +++--- .../noppes/npcs/scripted/interfaces/IEntityLivingBase.java | 2 +- 6 files changed, 16 insertions(+), 12 deletions(-) diff --git a/src/main/java/noppes/npcs/DataStats.java b/src/main/java/noppes/npcs/DataStats.java index d841d596c..48672d31f 100644 --- a/src/main/java/noppes/npcs/DataStats.java +++ b/src/main/java/noppes/npcs/DataStats.java @@ -8,6 +8,9 @@ import noppes.npcs.constants.EnumPotionType; import noppes.npcs.entity.EntityNPCInterface; import noppes.npcs.util.ValueUtil; +import java.math.RoundingMode; +import java.text.DecimalFormat; + public class DataStats { private float attackStrength = 5; @@ -173,12 +176,12 @@ public class DataStats { return attackStrength; } public void setAttackStrength(float strength){ - attackStrength = strength; + attackStrength = (float)(Math.floor(strength)); npc.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(attackStrength); } public void setMaxHealth(double maxHealth) { - this.maxHealth = maxHealth; + this.maxHealth = Math.floor(maxHealth); npc.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(maxHealth); } } diff --git a/src/main/java/noppes/npcs/client/gui/SubGuiNpcProjectiles.java b/src/main/java/noppes/npcs/client/gui/SubGuiNpcProjectiles.java index dea73dc45..9d9c764d7 100644 --- a/src/main/java/noppes/npcs/client/gui/SubGuiNpcProjectiles.java +++ b/src/main/java/noppes/npcs/client/gui/SubGuiNpcProjectiles.java @@ -81,7 +81,7 @@ public class SubGuiNpcProjectiles extends SubGuiInterface implements ITextfieldL public void unFocused(GuiNpcTextField textfield) { if(textfield.id == 1){ - stats.pDamage = Float.parseFloat(textfield.getText()); + stats.pDamage = (float)(Math.floor(Float.parseFloat(textfield.getText()))); } else if(textfield.id == 2){ stats.pImpact = textfield.getInteger(); diff --git a/src/main/java/noppes/npcs/client/gui/mainmenu/GuiNpcStats.java b/src/main/java/noppes/npcs/client/gui/mainmenu/GuiNpcStats.java index 447458af3..ae41dd9be 100644 --- a/src/main/java/noppes/npcs/client/gui/mainmenu/GuiNpcStats.java +++ b/src/main/java/noppes/npcs/client/gui/mainmenu/GuiNpcStats.java @@ -83,17 +83,17 @@ public class GuiNpcStats extends GuiNPCInterface2 implements ITextfieldListener, @Override public void unFocused(GuiNpcTextField textfield){ if(textfield.id == 0){ - stats.maxHealth = Double.parseDouble(textfield.getText()); + stats.maxHealth = Math.floor(Double.parseDouble(textfield.getText())); npc.heal((float)(stats.maxHealth)); } else if(textfield.id == 1){ stats.aggroRange = textfield.getInteger(); } else if(textfield.id == 14){ - stats.healthRegen = Float.parseFloat(textfield.getText()); + stats.healthRegen = (float)(Math.floor(Float.parseFloat(textfield.getText()))); } else if(textfield.id == 16){ - stats.combatRegen = Float.parseFloat(textfield.getText()); + stats.combatRegen = (float)(Math.floor(Float.parseFloat(textfield.getText()))); } } diff --git a/src/main/java/noppes/npcs/scripted/entity/ScriptLivingBase.java b/src/main/java/noppes/npcs/scripted/entity/ScriptLivingBase.java index efbab1cd8..ea06ad025 100644 --- a/src/main/java/noppes/npcs/scripted/entity/ScriptLivingBase.java +++ b/src/main/java/noppes/npcs/scripted/entity/ScriptLivingBase.java @@ -1,6 +1,7 @@ package noppes.npcs.scripted.entity; import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.item.ItemStack; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; @@ -49,8 +50,8 @@ public class ScriptLivingBase extends ScriptEntity extends ScriptLiving imp * @param strength The ranged strength */ public void setRangedStrength(float strength){ - npc.stats.pDamage = strength; + npc.stats.pDamage = (float)(Math.floor(strength)); } /** @@ -897,7 +897,7 @@ public class ScriptNpc extends ScriptLiving imp * @param regen The combat health regen per second */ public void setCombatRegen(float regen){ - npc.stats.combatRegen = regen; + npc.stats.combatRegen = (float)(Math.floor(regen)); } /** @@ -911,7 +911,7 @@ public class ScriptNpc extends ScriptLiving imp * @param regen The health regen per second when not in combat */ public void setHealthRegen(float regen){ - npc.stats.healthRegen = regen; + npc.stats.healthRegen = (float)(Math.floor(regen)); } @Override diff --git a/src/main/java/noppes/npcs/scripted/interfaces/IEntityLivingBase.java b/src/main/java/noppes/npcs/scripted/interfaces/IEntityLivingBase.java index 1fc2b472d..846a7ed8b 100644 --- a/src/main/java/noppes/npcs/scripted/interfaces/IEntityLivingBase.java +++ b/src/main/java/noppes/npcs/scripted/interfaces/IEntityLivingBase.java @@ -19,7 +19,7 @@ public interface IEntityLivingBase extends IEntity