make sniffer health attributes configurable

This commit is contained in:
granny
2023-03-21 23:35:58 -07:00
parent 20115a4b2e
commit ac3a469545
38 changed files with 238 additions and 213 deletions

View File

@@ -34,7 +34,7 @@ index 7b1ca8fd2908b8a02ec2cd1966a31e06eaa2dd1f..b86329a18dc83073462049da975dd71b
@Override
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index ff1bccf8c6a3b9adda11981b5d59bdfa82c1367a..cbbef7730e7743c05ddc8011eab77f05829132f5 100644
index e8798de526e2836308eca8e5f4a4388aa7e9d3c0..1152cdb64ff72358292400d33a4a4f3ca88eff75 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -286,6 +286,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -474,6 +474,22 @@ index f30aad7e722f895b8f6966f042021fc80f470994..eaf2e6b9865a36b7c648bd1205db922a
// Purpur end
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java b/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java
index 47a9e7a036e647c05d8abebdda4cab0d69aac997..bc74bae29b8426ced84e203edb0c41065062f422 100644
--- a/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java
+++ b/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java
@@ -96,6 +96,11 @@ public class Sniffer extends Animal {
public boolean isControllable() {
return level.purpurConfig.snifferControllable;
}
+
+ @Override
+ public void initAttributes() {
+ this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.snifferMaxHealth);
+ }
// Purpur end
// CraftBukkit start - SPIGOT-7295: moved from constructor to appropriate location
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
index d4561ddfd79e80414ce006d54b90a45345017378..09ed5144c448f7620b5c856a9fa12da07ec0cce6 100644
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
@@ -1220,7 +1236,7 @@ index 774da46962f70e73d31ea523eb5bfc286f38856d..d2324e2dbd72fcd5a8ab562bc3b6e530
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index de0b2d79435f55f35f1063094ac9c674b186fc79..4a831f434f27a117fdcd1364a18deb026d1638e4 100644
index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1c4ef7e78 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -112,94 +112,181 @@ public class PurpurWorldConfig {
@@ -1895,7 +1911,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..4a831f434f27a117fdcd1364a18deb02
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -456,146 +797,288 @@ public class PurpurWorldConfig {
@@ -456,189 +797,361 @@ public class PurpurWorldConfig {
phantomFlameDamage = (float) getDouble("mobs.phantom.flames.damage", phantomFlameDamage);
phantomFlameFireTime = getInt("mobs.phantom.flames.fire-time", phantomFlameFireTime);
phantomAllowGriefing = getBoolean("mobs.phantom.allow-griefing", phantomAllowGriefing);
@@ -2184,7 +2200,15 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..4a831f434f27a117fdcd1364a18deb02
}
public boolean snifferRidable = false;
@@ -609,36 +1092,64 @@ public class PurpurWorldConfig {
public boolean snifferRidableInWater = false;
public boolean snifferControllable = true;
+ public double snifferMaxHealth = 14.0D;
private void snifferSettings() {
snifferRidable = getBoolean("mobs.sniffer.ridable", snifferRidable);
snifferRidableInWater = getBoolean("mobs.sniffer.ridable-in-water", snifferRidableInWater);
snifferControllable = getBoolean("mobs.sniffer.controllable", snifferControllable);
+ snifferMaxHealth = getDouble("mobs.sniffer.attributes.max_health", snifferMaxHealth);
}
public boolean squidRidable = false;
public boolean squidControllable = true;
@@ -2249,7 +2273,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..4a831f434f27a117fdcd1364a18deb02
}
public boolean tadpoleRidable = false;
@@ -653,64 +1164,125 @@ public class PurpurWorldConfig {
@@ -653,64 +1166,125 @@ public class PurpurWorldConfig {
public boolean traderLlamaRidable = false;
public boolean traderLlamaRidableInWater = false;
public boolean traderLlamaControllable = true;
@@ -2375,7 +2399,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..4a831f434f27a117fdcd1364a18deb02
}
public boolean wardenRidable = false;
@@ -725,81 +1297,165 @@ public class PurpurWorldConfig {
@@ -725,81 +1299,165 @@ public class PurpurWorldConfig {
public boolean witchRidable = false;
public boolean witchRidableInWater = false;
public boolean witchControllable = true;