mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-18 17:07:43 +01:00
57 lines
3.3 KiB
Diff
57 lines
3.3 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Owen1212055 <23108066+Owen1212055@users.noreply.github.com>
|
|
Date: Thu, 27 Oct 2022 23:12:45 -0400
|
|
Subject: [PATCH] Add attribute clamping and armor limit config
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/damagesource/CombatRules.java b/src/main/java/net/minecraft/world/damagesource/CombatRules.java
|
|
index ddc880ac0c8378bc1132be5deba746c1484c941c..7a8e4b9a9f2e1e5a9c38ad330c75df1f880d3e8b 100644
|
|
--- a/src/main/java/net/minecraft/world/damagesource/CombatRules.java
|
|
+++ b/src/main/java/net/minecraft/world/damagesource/CombatRules.java
|
|
@@ -12,7 +12,7 @@ public class CombatRules {
|
|
|
|
public static float getDamageAfterAbsorb(float damage, DamageSource source, float armor, float armorToughnesss) {
|
|
float f = 2.0F + armorToughnesss / 4.0F;
|
|
- float g = Mth.clamp(armor - damage / f, armor * 0.2F, 20.0F);
|
|
+ float g = Mth.clamp(armor - damage / f, armor * 0.2F, org.purpurmc.purpur.PurpurConfig.limitArmor ? 20F : Float.MAX_VALUE); // Purpur
|
|
float h = g / 25.0F;
|
|
float i = EnchantmentHelper.calculateArmorBreach(source.getEntity(), h);
|
|
float j = 1.0F - i;
|
|
@@ -20,7 +20,7 @@ public class CombatRules {
|
|
}
|
|
|
|
public static float getDamageAfterMagicAbsorb(float damageDealt, float protection) {
|
|
- float f = Mth.clamp(protection, 0.0F, 20.0F);
|
|
+ float f = Mth.clamp(protection, 0.0F, org.purpurmc.purpur.PurpurConfig.limitArmor ? 20F : Float.MAX_VALUE); // Purpur
|
|
return damageDealt * (1.0F - f / 25.0F);
|
|
}
|
|
}
|
|
diff --git a/src/main/java/net/minecraft/world/entity/ai/attributes/RangedAttribute.java b/src/main/java/net/minecraft/world/entity/ai/attributes/RangedAttribute.java
|
|
index f0703302e7dbbda88de8c648d20d87c55ed9b1e0..0ed72ec09443de7b62a5320841202b683a393314 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/ai/attributes/RangedAttribute.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/ai/attributes/RangedAttribute.java
|
|
@@ -29,6 +29,7 @@ public class RangedAttribute extends Attribute {
|
|
|
|
@Override
|
|
public double sanitizeValue(double value) {
|
|
+ //if (!org.purpurmc.purpur.PurpurConfig.clampAttributes) return Double.isNaN(value) ? this.minValue : value; // Purpur // Purpur - TODO: fix clamp enchant levels option
|
|
return Double.isNaN(value) ? this.minValue : Mth.clamp(value, this.minValue, this.maxValue);
|
|
}
|
|
}
|
|
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
|
index 1a5133d07b3da44b54e560320d0c7461250cd4d1..c895adeef1dcf3d16eb966233dd3a593eda314a8 100644
|
|
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
|
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
|
@@ -480,6 +480,11 @@ public class PurpurConfig {
|
|
usernameValidCharactersPattern = java.util.regex.Pattern.compile(setPattern == null || setPattern.isBlank() ? defaultPattern : setPattern);
|
|
}
|
|
|
|
+ public static boolean limitArmor = true;
|
|
+ private static void limitArmor() {
|
|
+ limitArmor = getBoolean("settings.limit-armor", limitArmor);
|
|
+ }
|
|
+
|
|
private static void blastResistanceSettings() {
|
|
getMap("settings.blast-resistance-overrides", Collections.emptyMap()).forEach((blockId, value) -> {
|
|
Block block = BuiltInRegistries.BLOCK.get(new ResourceLocation(blockId));
|