diff --git a/src/main/java/harmonised/pmmo/features/mobscaling/MobAttributeHandler.java b/src/main/java/harmonised/pmmo/features/mobscaling/MobAttributeHandler.java index 1164071e..f0f5df2d 100644 --- a/src/main/java/harmonised/pmmo/features/mobscaling/MobAttributeHandler.java +++ b/src/main/java/harmonised/pmmo/features/mobscaling/MobAttributeHandler.java @@ -30,9 +30,9 @@ @Mod.EventBusSubscriber(modid=Reference.MOD_ID, bus=Mod.EventBusSubscriber.Bus.FORGE) public class MobAttributeHandler { - private static final UUID GLOBAL_DIMENSION_ADDITION_MODIFIER_ID = UUID.fromString("c95a6e8c-a1c3-4177-9118-1e2cf49b7fcd"); - private static final UUID GLOBAL_DIMENSION_MULTIPLY_BASE_MODIFIER_ID = UUID.fromString("c95a6e8c-a1c3-4177-9118-1e2cf49b7fce"); - private static final UUID GLOBAL_DIMENSION_MULTIPLY_TOTAL_MODIFIER_ID = UUID.fromString("c95a6e8c-a1c3-4177-9118-1e2cf49b7fcf"); + private static final UUID ADDITION_MODIFIER_ID = UUID.fromString("c95a6e8c-a1c3-4177-9118-1e2cf49b7fcd"); + private static final UUID MULTIPLY_BASE_MODIFIER_ID = UUID.fromString("c95a6e8c-a1c3-4177-9118-1e2cf49b7fce"); + private static final UUID MULTIPLY_TOTAL_MODIFIER_ID = UUID.fromString("c95a6e8c-a1c3-4177-9118-1e2cf49b7fcf"); /**Used for balancing purposes to ensure configurations do not exceed known limits.*/ private static final Map CAPS = Map.of( new ResourceLocation("generic.max_health"), 1024f, @@ -120,9 +120,9 @@ private static void computeAndApplyModifiers(LivingEntity entity, List modifiers) { - modifiers.forEach((attributeStr, amount) -> { + private static void applyModifiers(LivingEntity entity, UUID modifierId, AttributeModifier.Operation operation, Map collapsedModifiers) { + collapsedModifiers.forEach((attributeStr, amount) -> { if (Math.abs(amount) < 0.0001f) return; var attributeLocation = new ResourceLocation(attributeStr); var attribute = ForgeRegistries.ATTRIBUTES.getValue(attributeLocation); @@ -166,7 +166,7 @@ private static HashMap collapseModifiers(List modif return modifierMap; } - private static void applyMobScaling(HashMap modifiers, LivingEntity entity, Map> config, List nearbyPlayers, int difficultyScale) { + private static void applyMobScaling(HashMap collapsedModifiers, LivingEntity entity, Map> config, List nearbyPlayers, int difficultyScale) { config.forEach((attributeName, configMap) -> { var attributeScalingConfig = config.getOrDefault(attributeName, new HashMap<>()); if (attributeScalingConfig.isEmpty()) return; @@ -181,17 +181,17 @@ private static void applyMobScaling(HashMap modifiers, LivingEnt var bonus = getBonus(nearbyPlayers, attributeScalingConfig, difficultyScale, baseValue, cap); if (Math.abs(bonus) < 0.0001f) return; - if (modifiers.containsKey(attributeName)) { - modifiers.put(attributeName, modifiers.get(attributeName) + bonus); + if (collapsedModifiers.containsKey(attributeName)) { + collapsedModifiers.put(attributeName, collapsedModifiers.get(attributeName) + bonus); } else { - modifiers.put(attributeName, (double) bonus); + collapsedModifiers.put(attributeName, (double) bonus); } }); } - private static void applyBossMultiplier(HashMap modifiers, float multiplier) { + private static void applyBossMultiplier(HashMap collapsedModifiers, float multiplier) { if (Math.abs(multiplier - 1f) < 0.0001f) return; - modifiers.replaceAll((attribute, value) -> value * multiplier); + collapsedModifiers.replaceAll((attribute, value) -> value * multiplier); }