add missing armadillo & bogged options, closes #1527

This commit is contained in:
granny
2024-06-13 17:06:34 -07:00
parent cc56332b4e
commit f1c87e4fee
85 changed files with 772 additions and 633 deletions

View File

@@ -2092,6 +2092,34 @@ index 991e3274091c4e25eebc6debd44653e5b566eedb..09502b15c20f401c3b56ecedc4d3b515
this.getBrain().tick((ServerLevel) this.level(), this);
this.level().getProfiler().pop();
this.level().getProfiler().push("allayActivityUpdate");
diff --git a/src/main/java/net/minecraft/world/entity/animal/armadillo/Armadillo.java b/src/main/java/net/minecraft/world/entity/animal/armadillo/Armadillo.java
index b38281f963377cc82b360e8457da7cad033b8c36..921b545d1abe74b8301dbd56e39b254a14817f77 100644
--- a/src/main/java/net/minecraft/world/entity/animal/armadillo/Armadillo.java
+++ b/src/main/java/net/minecraft/world/entity/animal/armadillo/Armadillo.java
@@ -77,6 +77,23 @@ public class Armadillo extends Animal {
return Mob.createMobAttributes().add(Attributes.MAX_HEALTH, 12.0D).add(Attributes.MOVEMENT_SPEED, 0.14D);
}
+ // Purpur start
+ @Override
+ public boolean isRidable() {
+ return level().purpurConfig.armadilloRidable;
+ }
+
+ @Override
+ public boolean dismountsUnderwater() {
+ return level().purpurConfig.useDismountsUnderwaterTag ? super.dismountsUnderwater() : !level().purpurConfig.armadilloRidableInWater;
+ }
+
+ @Override
+ public boolean isControllable() {
+ return level().purpurConfig.armadilloControllable;
+ }
+ // Purpur end
+
@Override
protected void defineSynchedData(SynchedEntityData.Builder builder) {
super.defineSynchedData(builder);
diff --git a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
index a8cc6ddbf45370fe632e5c5fb7ceef3d299e62a4..045ac081120f65987251d04d1522a5b7197e1d88 100644
--- a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
@@ -3112,6 +3140,34 @@ index aee2fa184bc5723dfd3d54f460a173982d874c8b..0e1aa9a00284ce43436b1290f9ebe243
this.nextHeightOffsetChangeTick--;
if (this.nextHeightOffsetChangeTick <= 0) {
this.nextHeightOffsetChangeTick = 100;
diff --git a/src/main/java/net/minecraft/world/entity/monster/Bogged.java b/src/main/java/net/minecraft/world/entity/monster/Bogged.java
index e9f9b041ae7195e9d23bd446454b1d8c47a1ace1..a01b87f4adcb868d3cc5c24f2423f58d96ebf7fa 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Bogged.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Bogged.java
@@ -45,6 +45,23 @@ public class Bogged extends AbstractSkeleton implements Shearable {
super(type, world);
}
+ // Purpur start
+ @Override
+ public boolean isRidable() {
+ return level().purpurConfig.boggedRidable;
+ }
+
+ @Override
+ public boolean dismountsUnderwater() {
+ return level().purpurConfig.useDismountsUnderwaterTag ? super.dismountsUnderwater() : !level().purpurConfig.boggedRidableInWater;
+ }
+
+ @Override
+ public boolean isControllable() {
+ return level().purpurConfig.boggedControllable;
+ }
+ // Purpur end
+
@Override
protected void defineSynchedData(SynchedEntityData.Builder builder) {
super.defineSynchedData(builder);
diff --git a/src/main/java/net/minecraft/world/entity/monster/CaveSpider.java b/src/main/java/net/minecraft/world/entity/monster/CaveSpider.java
index 87e4b300ac248f6c13d9b4a8f24fd78b24b565b4..504996c8309fcd11de1dd166dee12d7e7db8db56 100644
--- a/src/main/java/net/minecraft/world/entity/monster/CaveSpider.java
@@ -5137,10 +5193,10 @@ index 4f015144be0a7a448c6c2b0765232c02ad405d09..169722178ba7cd9543a029741e81d025
+ }
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 5f0732c2b8f85185b6dfc1db3119c22e8be7f5da..3eae97d610d8f61528b87039723ef4ce2dc75c91 100644
index 5f0732c2b8f85185b6dfc1db3119c22e8be7f5da..bb64706d04fb25dcd564799c26fad231086ff827 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -89,4 +89,726 @@ public class PurpurWorldConfig {
@@ -89,4 +89,744 @@ public class PurpurWorldConfig {
final Map<String, Object> value = PurpurConfig.getMap("world-settings." + worldName + "." + path, null);
return value.isEmpty() ? fallback : value;
}
@@ -5165,6 +5221,15 @@ index 5f0732c2b8f85185b6dfc1db3119c22e8be7f5da..3eae97d610d8f61528b87039723ef4ce
+ allayControllable = getBoolean("mobs.allay.controllable", allayControllable);
+ }
+
+ public boolean armadilloRidable = false;
+ public boolean armadilloRidableInWater = true;
+ public boolean armadilloControllable = true;
+ private void armadilloSettings() {
+ armadilloRidable = getBoolean("mobs.armadillo.ridable", armadilloRidable);
+ armadilloRidableInWater = getBoolean("mobs.armadillo.ridable-in-water", armadilloRidableInWater);
+ armadilloControllable = getBoolean("mobs.armadillo.controllable", armadilloControllable);
+ }
+
+ public boolean axolotlRidable = false;
+ public boolean axolotlControllable = true;
+ private void axolotlSettings() {
@@ -5205,6 +5270,15 @@ index 5f0732c2b8f85185b6dfc1db3119c22e8be7f5da..3eae97d610d8f61528b87039723ef4ce
+ blazeMaxY = getDouble("mobs.blaze.ridable-max-y", blazeMaxY);
+ }
+
+ public boolean boggedRidable = false;
+ public boolean boggedRidableInWater = true;
+ public boolean boggedControllable = true;
+ private void boggedSettings() {
+ boggedRidable = getBoolean("mobs.bogged.ridable", boggedRidable);
+ boggedRidableInWater = getBoolean("mobs.bogged.ridable-in-water", boggedRidableInWater);
+ boggedControllable = getBoolean("mobs.bogged.controllable", boggedControllable);
+ }
+
+ public boolean camelRidableInWater = false;
+ private void camelSettings() {
+ camelRidableInWater = getBoolean("mobs.camel.ridable-in-water", camelRidableInWater);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable entity base attributes
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index b976ea5d919f73c406adea90603f4a78b761fd25..28c8860d145eb34911e1a54a15597d8c873df872 100644
index 757aeb4b715b17d3f239b495899b0d8874811db8..5e9be6af06d02ae46aa51ec24771a92cce443652 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -163,7 +163,7 @@ import org.bukkit.plugin.PluginManager;
@@ -34,7 +34,7 @@ index aa76a24421cdb3908a3544d92eb3d1e3c2ebedc4..8211c152e6f4232e82e452b08047e457
protected ParticleOptions getInkParticle() {
return ParticleTypes.GLOW_SQUID_INK;
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index f790211062a14b5d70dac178c31bfc7033779222..9ddc0cf7107cff08ac3ae75c51b3119161304820 100644
index 8623501c6f6567d146f9314f151629b5c25af289..0b542d2cb370b4ca9d04256264c8e8592743aa2f 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -301,6 +301,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -460,6 +460,22 @@ index 92cc8a9b033052d5f510792d916c60cb2b90f07c..3235ed40d502722e888656776ba1a218
@Override
protected void registerGoals() {
this.goalSelector.addGoal(1, new FloatGoal(this));
diff --git a/src/main/java/net/minecraft/world/entity/animal/armadillo/Armadillo.java b/src/main/java/net/minecraft/world/entity/animal/armadillo/Armadillo.java
index 921b545d1abe74b8301dbd56e39b254a14817f77..2c4a353c86521bf3018cd17748c8cb29330732d2 100644
--- a/src/main/java/net/minecraft/world/entity/animal/armadillo/Armadillo.java
+++ b/src/main/java/net/minecraft/world/entity/animal/armadillo/Armadillo.java
@@ -92,6 +92,11 @@ public class Armadillo extends Animal {
public boolean isControllable() {
return level().purpurConfig.armadilloControllable;
}
+
+ @Override
+ public void initAttributes() {
+ this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.armadilloMaxHealth);
+ }
// Purpur end
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
index 045ac081120f65987251d04d1522a5b7197e1d88..414ff28670c3d36dc78e3df4d39b6d4eb3ec1e77 100644
--- a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
@@ -817,6 +833,22 @@ index 0e1aa9a00284ce43436b1290f9ebe243c4d09fdc..220deda05517fd200070f823ad7af075
@Override
protected void registerGoals() {
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
diff --git a/src/main/java/net/minecraft/world/entity/monster/Bogged.java b/src/main/java/net/minecraft/world/entity/monster/Bogged.java
index a01b87f4adcb868d3cc5c24f2423f58d96ebf7fa..ebec95ca146591f170d9e31bbc774e88806269a2 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Bogged.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Bogged.java
@@ -60,6 +60,11 @@ public class Bogged extends AbstractSkeleton implements Shearable {
public boolean isControllable() {
return level().purpurConfig.boggedControllable;
}
+
+ @Override
+ public void initAttributes() {
+ this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.boggedMaxHealth);
+ }
// Purpur end
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/CaveSpider.java b/src/main/java/net/minecraft/world/entity/monster/CaveSpider.java
index 504996c8309fcd11de1dd166dee12d7e7db8db56..562f73dd5e617c10382c50be86ce88f4de1a4fe1 100644
--- a/src/main/java/net/minecraft/world/entity/monster/CaveSpider.java
@@ -1507,10 +1539,20 @@ index 6bdf3d1e3652a661282d61f1dc2bfc2712339953..ac3cca0db4478841f91d966bd49ca4e5
protected void registerGoals() {
this.goalSelector.addGoal(0, new FloatGoal(this));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 3eae97d610d8f61528b87039723ef4ce2dc75c91..e248395ad5f5f012aeefecf367d54f90cade0996 100644
index bb64706d04fb25dcd564799c26fad231086ff827..767d977cf47b0c7d94c248091f3ce98d6383ae04 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -112,99 +112,190 @@ public class PurpurWorldConfig {
@@ -113,116 +113,211 @@ public class PurpurWorldConfig {
public boolean armadilloRidable = false;
public boolean armadilloRidableInWater = true;
public boolean armadilloControllable = true;
+ public double armadilloMaxHealth = 12.0D;
private void armadilloSettings() {
armadilloRidable = getBoolean("mobs.armadillo.ridable", armadilloRidable);
armadilloRidableInWater = getBoolean("mobs.armadillo.ridable-in-water", armadilloRidableInWater);
armadilloControllable = getBoolean("mobs.armadillo.controllable", armadilloControllable);
+ armadilloMaxHealth = getDouble("mobs.armadillo.attributes.max_health", armadilloMaxHealth);
}
public boolean axolotlRidable = false;
public boolean axolotlControllable = true;
@@ -1589,6 +1631,17 @@ index 3eae97d610d8f61528b87039723ef4ce2dc75c91..e248395ad5f5f012aeefecf367d54f90
+ blazeMaxHealth = getDouble("mobs.blaze.attributes.max_health", blazeMaxHealth);
}
public boolean boggedRidable = false;
public boolean boggedRidableInWater = true;
public boolean boggedControllable = true;
+ public double boggedMaxHealth = 16.0D;
private void boggedSettings() {
boggedRidable = getBoolean("mobs.bogged.ridable", boggedRidable);
boggedRidableInWater = getBoolean("mobs.bogged.ridable-in-water", boggedRidableInWater);
boggedControllable = getBoolean("mobs.bogged.controllable", boggedControllable);
+ boggedMaxHealth = getDouble("mobs.bogged.attributes.max_health", boggedMaxHealth);
}
public boolean camelRidableInWater = false;
+ public double camelMaxHealthMin = 32.0D;
+ public double camelMaxHealthMax = 32.0D;
@@ -1701,7 +1754,7 @@ index 3eae97d610d8f61528b87039723ef4ce2dc75c91..e248395ad5f5f012aeefecf367d54f90
}
public boolean dolphinRidable = false;
@@ -212,80 +303,161 @@ public class PurpurWorldConfig {
@@ -230,80 +325,161 @@ public class PurpurWorldConfig {
public int dolphinSpitCooldown = 20;
public float dolphinSpitSpeed = 1.0F;
public float dolphinSpitDamage = 2.0F;
@@ -1863,7 +1916,7 @@ index 3eae97d610d8f61528b87039723ef4ce2dc75c91..e248395ad5f5f012aeefecf367d54f90
}
public boolean frogRidable = false;
@@ -303,147 +475,316 @@ public class PurpurWorldConfig {
@@ -321,147 +497,316 @@ public class PurpurWorldConfig {
public boolean ghastRidableInWater = true;
public boolean ghastControllable = true;
public double ghastMaxY = 320D;
@@ -2180,7 +2233,7 @@ index 3eae97d610d8f61528b87039723ef4ce2dc75c91..e248395ad5f5f012aeefecf367d54f90
}
public boolean phantomRidable = false;
@@ -453,6 +794,10 @@ public class PurpurWorldConfig {
@@ -471,6 +816,10 @@ public class PurpurWorldConfig {
public float phantomFlameDamage = 1.0F;
public int phantomFlameFireTime = 8;
public boolean phantomAllowGriefing = false;
@@ -2191,7 +2244,7 @@ index 3eae97d610d8f61528b87039723ef4ce2dc75c91..e248395ad5f5f012aeefecf367d54f90
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -461,191 +806,363 @@ public class PurpurWorldConfig {
@@ -479,191 +828,363 @@ 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);
@@ -2555,7 +2608,7 @@ index 3eae97d610d8f61528b87039723ef4ce2dc75c91..e248395ad5f5f012aeefecf367d54f90
}
public boolean tadpoleRidable = false;
@@ -660,64 +1177,125 @@ public class PurpurWorldConfig {
@@ -678,64 +1199,125 @@ public class PurpurWorldConfig {
public boolean traderLlamaRidable = false;
public boolean traderLlamaRidableInWater = false;
public boolean traderLlamaControllable = true;
@@ -2681,7 +2734,7 @@ index 3eae97d610d8f61528b87039723ef4ce2dc75c91..e248395ad5f5f012aeefecf367d54f90
}
public boolean wardenRidable = false;
@@ -732,83 +1310,167 @@ public class PurpurWorldConfig {
@@ -750,83 +1332,167 @@ public class PurpurWorldConfig {
public boolean witchRidable = false;
public boolean witchRidableInWater = true;
public boolean witchControllable = true;

View File

@@ -71,10 +71,10 @@ index 9602e59cbebeedc85ea75d2a41d3e74f0ff45b46..ca53c5b45c119dce1c713dbf931251f8
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index ac44ee7789b96e60e6d1d964d64ca33a3d3c2c62..fb61cd498955fee2dec15fa584273a6e19ca58c9 100644
index aba1a09a949da1e1c70caf665b078c8979a5f746..a4e540f63746bf36d679fd632e0cf9924a0d2370 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -554,6 +554,10 @@ public class PurpurWorldConfig {
@@ -576,6 +576,10 @@ public class PurpurWorldConfig {
public double giantMovementSpeed = 0.5D;
public double giantAttackDamage = 50.0D;
public double giantMaxHealth = 100.0D;
@@ -85,7 +85,7 @@ index ac44ee7789b96e60e6d1d964d64ca33a3d3c2c62..fb61cd498955fee2dec15fa584273a6e
private void giantSettings() {
giantRidable = getBoolean("mobs.giant.ridable", giantRidable);
giantRidableInWater = getBoolean("mobs.giant.ridable-in-water", giantRidableInWater);
@@ -570,6 +574,10 @@ public class PurpurWorldConfig {
@@ -592,6 +596,10 @@ public class PurpurWorldConfig {
set("mobs.giant.attributes.max_health", oldValue);
}
giantMaxHealth = getDouble("mobs.giant.attributes.max_health", giantMaxHealth);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Zombie horse naturally spawn
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index fc791a66d299905798c2c1ca542467e4c7933caf..b02d9db8442b209a9df27e417be71b11d426878b 100644
index 6247659f33c3d21d33ec1f510523403616ea9c4f..a95dbe12a188e6bc0e65759a34ccd89cb795a2b8 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -1006,10 +1006,18 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -30,10 +30,10 @@ index fc791a66d299905798c2c1ca542467e4c7933caf..b02d9db8442b209a9df27e417be71b11
entityhorseskeleton.setPos((double) blockposition.getX(), (double) blockposition.getY(), (double) blockposition.getZ());
this.addFreshEntity(entityhorseskeleton, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.LIGHTNING); // CraftBukkit
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index fb61cd498955fee2dec15fa584273a6e19ca58c9..41822b9b050f4267cc0151ea85682523f89af57f 100644
index a4e540f63746bf36d679fd632e0cf9924a0d2370..72172293aedfef696b6649946746d39edf056363 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1487,6 +1487,7 @@ public class PurpurWorldConfig {
@@ -1509,6 +1509,7 @@ public class PurpurWorldConfig {
public double zombieHorseJumpStrengthMax = 1.0D;
public double zombieHorseMovementSpeedMin = 0.2D;
public double zombieHorseMovementSpeedMax = 0.2D;
@@ -41,7 +41,7 @@ index fb61cd498955fee2dec15fa584273a6e19ca58c9..41822b9b050f4267cc0151ea85682523
private void zombieHorseSettings() {
zombieHorseRidable = getBoolean("mobs.zombie_horse.ridable", zombieHorseRidable);
zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater);
@@ -1503,6 +1504,7 @@ public class PurpurWorldConfig {
@@ -1525,6 +1526,7 @@ public class PurpurWorldConfig {
zombieHorseJumpStrengthMax = getDouble("mobs.zombie_horse.attributes.jump_strength.max", zombieHorseJumpStrengthMax);
zombieHorseMovementSpeedMin = getDouble("mobs.zombie_horse.attributes.movement_speed.min", zombieHorseMovementSpeedMin);
zombieHorseMovementSpeedMax = getDouble("mobs.zombie_horse.attributes.movement_speed.max", zombieHorseMovementSpeedMax);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Charged creeper naturally spawn
diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
index 624ae0e10ef9f51d484e45ec9a15e4a120bf2af2..84114356ea4c06998572c03f2e2a75b49e539980 100644
index c64a544bd267204d963cfa213d832e7cea45a7f3..72152e1c8fcebd9eaf19d9ee2952b7d7348e79d1 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
@@ -257,6 +257,14 @@ public class Creeper extends Monster implements PowerableMob {
@@ -24,10 +24,10 @@ index 624ae0e10ef9f51d484e45ec9a15e4a120bf2af2..84114356ea4c06998572c03f2e2a75b4
protected SoundEvent getHurtSound(DamageSource source) {
return SoundEvents.CREEPER_HURT;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 41822b9b050f4267cc0151ea85682523f89af57f..e033ef722d9b6336f1cbc6bdf404f35c34b45db9 100644
index 72172293aedfef696b6649946746d39edf056363..4a05d99d81fd487fda33ec2aee7f981bb24766aa 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -345,6 +345,7 @@ public class PurpurWorldConfig {
@@ -367,6 +367,7 @@ public class PurpurWorldConfig {
public boolean creeperRidableInWater = true;
public boolean creeperControllable = true;
public double creeperMaxHealth = 20.0D;
@@ -35,7 +35,7 @@ index 41822b9b050f4267cc0151ea85682523f89af57f..e033ef722d9b6336f1cbc6bdf404f35c
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -355,6 +356,7 @@ public class PurpurWorldConfig {
@@ -377,6 +378,7 @@ public class PurpurWorldConfig {
set("mobs.creeper.attributes.max_health", oldValue);
}
creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth);

View File

@@ -33,10 +33,10 @@ index 9eb1158213064ddb37ae76e445b5861b963a1f55..4abcde662ed78b16632ee575f695ee43
int i = world.getRandom().nextInt(100);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e033ef722d9b6336f1cbc6bdf404f35c34b45db9..a96aa7f127467a6ea8025c09f4e336f1910cc8af 100644
index 4a05d99d81fd487fda33ec2aee7f981bb24766aa..0a3a3a776e533b56ee3f67fca64bf76f514b1ab0 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -988,6 +988,8 @@ public class PurpurWorldConfig {
@@ -1010,6 +1010,8 @@ public class PurpurWorldConfig {
public boolean rabbitRidableInWater = true;
public boolean rabbitControllable = true;
public double rabbitMaxHealth = 3.0D;
@@ -45,7 +45,7 @@ index e033ef722d9b6336f1cbc6bdf404f35c34b45db9..a96aa7f127467a6ea8025c09f4e336f1
private void rabbitSettings() {
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
@@ -998,6 +1000,8 @@ public class PurpurWorldConfig {
@@ -1020,6 +1022,8 @@ public class PurpurWorldConfig {
set("mobs.rabbit.attributes.max_health", oldValue);
}
rabbitMaxHealth = getDouble("mobs.rabbit.attributes.max_health", rabbitMaxHealth);

View File

@@ -59,10 +59,10 @@ index 8666d82775570b812d5bdd80336c8e14db6ddf47..d1866f0f07e4d023241229a45b55031a
// Paper start - Cancellable death event
protected org.bukkit.event.entity.EntityDeathEvent dropAllDeathLoot(DamageSource source) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a96aa7f127467a6ea8025c09f4e336f1910cc8af..d084d5ef20b2fb4d3b5479cb51003fb82a0358fc 100644
index 0a3a3a776e533b56ee3f67fca64bf76f514b1ab0..7d1dd19a08ff1d57f9c9bd4b19851804427d6ef9 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -509,6 +509,7 @@ public class PurpurWorldConfig {
@@ -531,6 +531,7 @@ public class PurpurWorldConfig {
public boolean foxRidableInWater = true;
public boolean foxControllable = true;
public double foxMaxHealth = 10.0D;
@@ -70,7 +70,7 @@ index a96aa7f127467a6ea8025c09f4e336f1910cc8af..d084d5ef20b2fb4d3b5479cb51003fb8
private void foxSettings() {
foxRidable = getBoolean("mobs.fox.ridable", foxRidable);
foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater);
@@ -519,6 +520,7 @@ public class PurpurWorldConfig {
@@ -541,6 +542,7 @@ public class PurpurWorldConfig {
set("mobs.fox.attributes.max_health", oldValue);
}
foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth);

View File

@@ -59,10 +59,10 @@ index 00afde0ec4811992aac306a42d473026b7e7e468..067bb175c457d6de089f18826dfce6c3
this.goalSelector.addGoal(5, new RandomStrollGoal(this, 1.0));
this.goalSelector.addGoal(6, new LookAtPlayerGoal(this, Player.class, 6.0F));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index d084d5ef20b2fb4d3b5479cb51003fb82a0358fc..ae6383c3d8435caba2bae551f36e3562e724361a 100644
index 7d1dd19a08ff1d57f9c9bd4b19851804427d6ef9..5b161e6d980f44183e3a6c532bb330e82ff228b1 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -960,6 +960,8 @@ public class PurpurWorldConfig {
@@ -982,6 +982,8 @@ public class PurpurWorldConfig {
public boolean polarBearRidableInWater = true;
public boolean polarBearControllable = true;
public double polarBearMaxHealth = 30.0D;
@@ -71,7 +71,7 @@ index d084d5ef20b2fb4d3b5479cb51003fb82a0358fc..ae6383c3d8435caba2bae551f36e3562
private void polarBearSettings() {
polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable);
polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater);
@@ -970,6 +972,9 @@ public class PurpurWorldConfig {
@@ -992,6 +994,9 @@ public class PurpurWorldConfig {
set("mobs.polar_bear.attributes.max_health", oldValue);
}
polarBearMaxHealth = getDouble("mobs.polar_bear.attributes.max_health", polarBearMaxHealth);

View File

@@ -51,10 +51,10 @@ index a7c76e1d89f54f0dc3b27a8a8db168ea4570bf60..14210dac8a4fa8caaf69ec830f83d155
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index ae6383c3d8435caba2bae551f36e3562e724361a..4cd6d9309ed81956d59063fe4d229c6f930922ed 100644
index 5b161e6d980f44183e3a6c532bb330e82ff228b1..ef4f35a59d716b7927a280c4da372268ad2ff395 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -299,6 +299,7 @@ public class PurpurWorldConfig {
@@ -321,6 +321,7 @@ public class PurpurWorldConfig {
public boolean chickenRidableInWater = false;
public boolean chickenControllable = true;
public double chickenMaxHealth = 4.0D;
@@ -62,7 +62,7 @@ index ae6383c3d8435caba2bae551f36e3562e724361a..4cd6d9309ed81956d59063fe4d229c6f
private void chickenSettings() {
chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable);
chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater);
@@ -309,6 +310,7 @@ public class PurpurWorldConfig {
@@ -331,6 +332,7 @@ public class PurpurWorldConfig {
set("mobs.chicken.attributes.max_health", oldValue);
}
chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth);

View File

@@ -46,10 +46,10 @@ index e0e5046c84941a8d17e18c177f3daea9cb631940..d503d7a5837dbeb98e58dbe8f7e5de45
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 6649787fc15ca06ec2d4e7ac7b0ff061c4d4de82..c9dbbe9dde5b463bdde68604d6e5b1c2902d57fa 100644
index bc42fbcb073b8b6f278e256ac66fd514e747a1fe..ebf1e3abed78f8a2d90764b8f0c5481bcfbc8de5 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -272,6 +272,9 @@ public class PurpurWorldConfig {
@@ -294,6 +294,9 @@ public class PurpurWorldConfig {
public boolean catRidableInWater = true;
public boolean catControllable = true;
public double catMaxHealth = 10.0D;
@@ -59,7 +59,7 @@ index 6649787fc15ca06ec2d4e7ac7b0ff061c4d4de82..c9dbbe9dde5b463bdde68604d6e5b1c2
private void catSettings() {
catRidable = getBoolean("mobs.cat.ridable", catRidable);
catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater);
@@ -282,6 +285,9 @@ public class PurpurWorldConfig {
@@ -304,6 +307,9 @@ public class PurpurWorldConfig {
set("mobs.cat.attributes.max_health", oldValue);
}
catMaxHealth = getDouble("mobs.cat.attributes.max_health", catMaxHealth);

View File

@@ -99,10 +99,10 @@ index 478663c16a5763dda9a6c3edbafc843b8dfe06f2..bf5935fbd8e3edfb1221dd06ea1e1a2c
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c9dbbe9dde5b463bdde68604d6e5b1c2902d57fa..ab5960b9104d362852ee3d6ba151cf78dd58a0ee 100644
index ebf1e3abed78f8a2d90764b8f0c5481bcfbc8de5..ebffa181f84ed8d2c246e104727186231061b5e2 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -342,6 +342,7 @@ public class PurpurWorldConfig {
@@ -364,6 +364,7 @@ public class PurpurWorldConfig {
public boolean cowRidableInWater = true;
public boolean cowControllable = true;
public double cowMaxHealth = 10.0D;
@@ -110,7 +110,7 @@ index c9dbbe9dde5b463bdde68604d6e5b1c2902d57fa..ab5960b9104d362852ee3d6ba151cf78
private void cowSettings() {
cowRidable = getBoolean("mobs.cow.ridable", cowRidable);
cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater);
@@ -352,6 +353,7 @@ public class PurpurWorldConfig {
@@ -374,6 +375,7 @@ public class PurpurWorldConfig {
set("mobs.cow.attributes.max_health", oldValue);
}
cowMaxHealth = getDouble("mobs.cow.attributes.max_health", cowMaxHealth);

View File

@@ -27,10 +27,10 @@ index a365573c5c5e640f165701bc79f7c605674c5709..4f84406304114abbaff9f96a5df6a486
if (!this.level().isClientSide) {
player.startRiding(this);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index ab5960b9104d362852ee3d6ba151cf78dd58a0ee..1c530384c9040236ce525329f37913cdd3e424ff 100644
index ebffa181f84ed8d2c246e104727186231061b5e2..65924f91027841a91ed10de7301b39646ab1696c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -911,6 +911,7 @@ public class PurpurWorldConfig {
@@ -933,6 +933,7 @@ public class PurpurWorldConfig {
public boolean pigRidableInWater = false;
public boolean pigControllable = true;
public double pigMaxHealth = 10.0D;
@@ -38,7 +38,7 @@ index ab5960b9104d362852ee3d6ba151cf78dd58a0ee..1c530384c9040236ce525329f37913cd
private void pigSettings() {
pigRidable = getBoolean("mobs.pig.ridable", pigRidable);
pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater);
@@ -921,6 +922,7 @@ public class PurpurWorldConfig {
@@ -943,6 +944,7 @@ public class PurpurWorldConfig {
set("mobs.pig.attributes.max_health", oldValue);
}
pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth);

View File

@@ -24,10 +24,10 @@ index a54893d51cc1ce204e59a6ffe8b84228775af4da..0060414b1d5afde56372ce121e9d37a1
return tryRide(player, hand); // Purpur
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 1c530384c9040236ce525329f37913cdd3e424ff..acec5455e9c16508ae474e1307e3cc234d17e6ee 100644
index 65924f91027841a91ed10de7301b39646ab1696c..bc428f01d431b9d63d6a64607fa2e294c4b122f3 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1176,6 +1176,7 @@ public class PurpurWorldConfig {
@@ -1198,6 +1198,7 @@ public class PurpurWorldConfig {
public boolean snowGolemControllable = true;
public boolean snowGolemLeaveTrailWhenRidden = false;
public double snowGolemMaxHealth = 4.0D;
@@ -35,7 +35,7 @@ index 1c530384c9040236ce525329f37913cdd3e424ff..acec5455e9c16508ae474e1307e3cc23
private void snowGolemSettings() {
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
@@ -1187,6 +1188,7 @@ public class PurpurWorldConfig {
@@ -1209,6 +1210,7 @@ public class PurpurWorldConfig {
set("mobs.snow_golem.attributes.max_health", oldValue);
}
snowGolemMaxHealth = getDouble("mobs.snow_golem.attributes.max_health", snowGolemMaxHealth);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Ender dragon always drop full exp
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 0a7f87ac09f9ef6ad69974090f0d6f437d232b11..f751444603e4a1a2ef53e7232b5abfff82c316e8 100644
index ba4c479b68c9b23e2d4f2cffa0cc8dfb12fd8c9e..ff2faa3ad719378b21f84a7839b4e0c60ea5f66f 100644
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
@@ -747,7 +747,7 @@ public class EnderDragon extends Mob implements Enemy {
@@ -18,10 +18,10 @@ index 0a7f87ac09f9ef6ad69974090f0d6f437d232b11..f751444603e4a1a2ef53e7232b5abfff
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index acec5455e9c16508ae474e1307e3cc234d17e6ee..a9d6c6713a098ca87d62b43d491bc2d9a8590741 100644
index bc428f01d431b9d63d6a64607fa2e294c4b122f3..2e851587620aca4366da17f3fe1fd79eb4d48ca0 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -455,6 +455,7 @@ public class PurpurWorldConfig {
@@ -477,6 +477,7 @@ public class PurpurWorldConfig {
public boolean enderDragonControllable = true;
public double enderDragonMaxY = 320D;
public double enderDragonMaxHealth = 200.0D;
@@ -29,7 +29,7 @@ index acec5455e9c16508ae474e1307e3cc234d17e6ee..a9d6c6713a098ca87d62b43d491bc2d9
private void enderDragonSettings() {
enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable);
enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater);
@@ -470,6 +471,7 @@ public class PurpurWorldConfig {
@@ -492,6 +493,7 @@ public class PurpurWorldConfig {
set("mobs.ender_dragon.attributes.max_health", oldValue);
}
enderDragonMaxHealth = getDouble("mobs.ender_dragon.attributes.max_health", enderDragonMaxHealth);

View File

@@ -38,10 +38,10 @@ index 3abfc4f449552ec60a1f7c4e3faa9fd0ebfdc300..89275ac02fcfab963b520efae6135d6f
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a5ec746fc30af0093430bb7a7f6848081220ec57..b266fc52508106f1f0f449b8eb900e4c04316fec 100644
index ce91250794af7d121f6752509135f37d68cd3e7c..d5e4e2fbee5061d4ea267310e0458dff3f905e32 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -437,6 +437,7 @@ public class PurpurWorldConfig {
@@ -459,6 +459,7 @@ public class PurpurWorldConfig {
public boolean creeperControllable = true;
public double creeperMaxHealth = 20.0D;
public double creeperChargedChance = 0.0D;
@@ -49,7 +49,7 @@ index a5ec746fc30af0093430bb7a7f6848081220ec57..b266fc52508106f1f0f449b8eb900e4c
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -448,6 +449,7 @@ public class PurpurWorldConfig {
@@ -470,6 +471,7 @@ public class PurpurWorldConfig {
}
creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth);
creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance);
@@ -57,7 +57,7 @@ index a5ec746fc30af0093430bb7a7f6848081220ec57..b266fc52508106f1f0f449b8eb900e4c
}
public boolean dolphinRidable = false;
@@ -554,6 +556,7 @@ public class PurpurWorldConfig {
@@ -576,6 +578,7 @@ public class PurpurWorldConfig {
public boolean endermanRidableInWater = true;
public boolean endermanControllable = true;
public double endermanMaxHealth = 40.0D;
@@ -65,7 +65,7 @@ index a5ec746fc30af0093430bb7a7f6848081220ec57..b266fc52508106f1f0f449b8eb900e4c
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -564,6 +567,7 @@ public class PurpurWorldConfig {
@@ -586,6 +589,7 @@ public class PurpurWorldConfig {
set("mobs.enderman.attributes.max_health", oldValue);
}
endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth);

View File

@@ -54,10 +54,10 @@ index ac3cca0db4478841f91d966bd49ca4e5b5e91229..30f13bc35a96950f05b065b5c7783083
this.goalSelector.addGoal(8, new WaterAvoidingRandomStrollGoal(this, 0.35D));
this.goalSelector.addGoal(9, new InteractGoal(this, Player.class, 3.0F, 1.0F));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b266fc52508106f1f0f449b8eb900e4c04316fec..f42a1205a66f4842ca43aad456dcb42481c041e9 100644
index d5e4e2fbee5061d4ea267310e0458dff3f905e32..851014c5c02491cdbe778844251d3ec6a4236ff8 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1435,6 +1435,7 @@ public class PurpurWorldConfig {
@@ -1457,6 +1457,7 @@ public class PurpurWorldConfig {
public boolean villagerRidableInWater = true;
public boolean villagerControllable = true;
public double villagerMaxHealth = 20.0D;
@@ -65,7 +65,7 @@ index b266fc52508106f1f0f449b8eb900e4c04316fec..f42a1205a66f4842ca43aad456dcb424
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1445,6 +1446,7 @@ public class PurpurWorldConfig {
@@ -1467,6 +1468,7 @@ public class PurpurWorldConfig {
set("mobs.villager.attributes.max_health", oldValue);
}
villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth);
@@ -73,7 +73,7 @@ index b266fc52508106f1f0f449b8eb900e4c04316fec..f42a1205a66f4842ca43aad456dcb424
}
public boolean vindicatorRidable = false;
@@ -1467,6 +1469,7 @@ public class PurpurWorldConfig {
@@ -1489,6 +1491,7 @@ public class PurpurWorldConfig {
public boolean wanderingTraderRidableInWater = true;
public boolean wanderingTraderControllable = true;
public double wanderingTraderMaxHealth = 20.0D;
@@ -81,7 +81,7 @@ index b266fc52508106f1f0f449b8eb900e4c04316fec..f42a1205a66f4842ca43aad456dcb424
private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
@@ -1477,6 +1480,7 @@ public class PurpurWorldConfig {
@@ -1499,6 +1502,7 @@ public class PurpurWorldConfig {
set("mobs.wandering_trader.attributes.max_health", oldValue);
}
wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Allow leashing villagers
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index 26b03594b6ccd69ca35156472e27543d11ba2077..3d5f08d673f6b95c8f87070345f1fb200b5f4bde 100644
index 3fdb1ba2e9249cda6f09406cfbf4cc677a258f13..a0e0d3ca25bf047a5520a3ed47f93ab97377b8b4 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -1450,6 +1450,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti
@@ -49,10 +49,10 @@ index 30f13bc35a96950f05b065b5c77830834e5792d1..9d5eaaf1869a3ecb61947ab0c09af558
protected void registerGoals() {
this.goalSelector.addGoal(0, new FloatGoal(this));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f42a1205a66f4842ca43aad456dcb42481c041e9..c07064174a0ef81a9bbe628251ee1346af890ae0 100644
index 851014c5c02491cdbe778844251d3ec6a4236ff8..28ca277a383eefbc96f07e05d98d4a9f460807af 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1436,6 +1436,7 @@ public class PurpurWorldConfig {
@@ -1458,6 +1458,7 @@ public class PurpurWorldConfig {
public boolean villagerControllable = true;
public double villagerMaxHealth = 20.0D;
public boolean villagerFollowEmeraldBlock = false;
@@ -60,7 +60,7 @@ index f42a1205a66f4842ca43aad456dcb42481c041e9..c07064174a0ef81a9bbe628251ee1346
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1447,6 +1448,7 @@ public class PurpurWorldConfig {
@@ -1469,6 +1470,7 @@ public class PurpurWorldConfig {
}
villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth);
villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock);
@@ -68,7 +68,7 @@ index f42a1205a66f4842ca43aad456dcb42481c041e9..c07064174a0ef81a9bbe628251ee1346
}
public boolean vindicatorRidable = false;
@@ -1470,6 +1472,7 @@ public class PurpurWorldConfig {
@@ -1492,6 +1494,7 @@ public class PurpurWorldConfig {
public boolean wanderingTraderControllable = true;
public double wanderingTraderMaxHealth = 20.0D;
public boolean wanderingTraderFollowEmeraldBlock = false;
@@ -76,7 +76,7 @@ index f42a1205a66f4842ca43aad456dcb42481c041e9..c07064174a0ef81a9bbe628251ee1346
private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
@@ -1481,6 +1484,7 @@ public class PurpurWorldConfig {
@@ -1503,6 +1506,7 @@ public class PurpurWorldConfig {
}
wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth);
wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock);

View File

@@ -167,10 +167,10 @@ index 138f3f6a9b0754d54e5f8000962bb52b224f677d..75c34d9fcc4b33d30b18f1ce4c8749a0
public void setPersistentAngerTarget(@Nullable UUID angryAt) {
this.persistentAngerTarget = angryAt;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 62074152a0a494bbde4c39074942425a8b850ffd..7fabef36d3f9a5294a62ed956010d7ef853e00ab 100644
index 06acffbb57d961d1c8a48bce5983b063146181f3..803387f232c25ed43c252fa05335e5e1915048ff 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -588,6 +588,9 @@ public class PurpurWorldConfig {
@@ -610,6 +610,9 @@ public class PurpurWorldConfig {
public boolean drownedControllable = true;
public double drownedMaxHealth = 20.0D;
public double drownedSpawnReinforcements = 0.1D;
@@ -180,7 +180,7 @@ index 62074152a0a494bbde4c39074942425a8b850ffd..7fabef36d3f9a5294a62ed956010d7ef
private void drownedSettings() {
drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable);
drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater);
@@ -599,6 +602,9 @@ public class PurpurWorldConfig {
@@ -621,6 +624,9 @@ public class PurpurWorldConfig {
}
drownedMaxHealth = getDouble("mobs.drowned.attributes.max_health", drownedMaxHealth);
drownedSpawnReinforcements = getDouble("mobs.drowned.attributes.spawn_reinforcements", drownedSpawnReinforcements);
@@ -190,7 +190,7 @@ index 62074152a0a494bbde4c39074942425a8b850ffd..7fabef36d3f9a5294a62ed956010d7ef
}
public boolean elderGuardianRidable = false;
@@ -847,6 +853,9 @@ public class PurpurWorldConfig {
@@ -869,6 +875,9 @@ public class PurpurWorldConfig {
public boolean huskControllable = true;
public double huskMaxHealth = 20.0D;
public double huskSpawnReinforcements = 0.1D;
@@ -200,7 +200,7 @@ index 62074152a0a494bbde4c39074942425a8b850ffd..7fabef36d3f9a5294a62ed956010d7ef
private void huskSettings() {
huskRidable = getBoolean("mobs.husk.ridable", huskRidable);
huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater);
@@ -858,6 +867,9 @@ public class PurpurWorldConfig {
@@ -880,6 +889,9 @@ public class PurpurWorldConfig {
}
huskMaxHealth = getDouble("mobs.husk.attributes.max_health", huskMaxHealth);
huskSpawnReinforcements = getDouble("mobs.husk.attributes.spawn_reinforcements", huskSpawnReinforcements);
@@ -210,7 +210,7 @@ index 62074152a0a494bbde4c39074942425a8b850ffd..7fabef36d3f9a5294a62ed956010d7ef
}
public boolean illusionerRidable = false;
@@ -1674,6 +1686,9 @@ public class PurpurWorldConfig {
@@ -1696,6 +1708,9 @@ public class PurpurWorldConfig {
public boolean zombieControllable = true;
public double zombieMaxHealth = 20.0D;
public double zombieSpawnReinforcements = 0.1D;
@@ -220,7 +220,7 @@ index 62074152a0a494bbde4c39074942425a8b850ffd..7fabef36d3f9a5294a62ed956010d7ef
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -1685,6 +1700,9 @@ public class PurpurWorldConfig {
@@ -1707,6 +1722,9 @@ public class PurpurWorldConfig {
}
zombieMaxHealth = getDouble("mobs.zombie.attributes.max_health", zombieMaxHealth);
zombieSpawnReinforcements = getDouble("mobs.zombie.attributes.spawn_reinforcements", zombieSpawnReinforcements);
@@ -230,7 +230,7 @@ index 62074152a0a494bbde4c39074942425a8b850ffd..7fabef36d3f9a5294a62ed956010d7ef
}
public boolean zombieHorseRidable = false;
@@ -1721,6 +1739,9 @@ public class PurpurWorldConfig {
@@ -1743,6 +1761,9 @@ public class PurpurWorldConfig {
public boolean zombieVillagerControllable = true;
public double zombieVillagerMaxHealth = 20.0D;
public double zombieVillagerSpawnReinforcements = 0.1D;
@@ -240,7 +240,7 @@ index 62074152a0a494bbde4c39074942425a8b850ffd..7fabef36d3f9a5294a62ed956010d7ef
private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -1732,6 +1753,9 @@ public class PurpurWorldConfig {
@@ -1754,6 +1775,9 @@ public class PurpurWorldConfig {
}
zombieVillagerMaxHealth = getDouble("mobs.zombie_villager.attributes.max_health", zombieVillagerMaxHealth);
zombieVillagerSpawnReinforcements = getDouble("mobs.zombie_villager.attributes.spawn_reinforcements", zombieVillagerSpawnReinforcements);
@@ -250,7 +250,7 @@ index 62074152a0a494bbde4c39074942425a8b850ffd..7fabef36d3f9a5294a62ed956010d7ef
}
public boolean zombifiedPiglinRidable = false;
@@ -1739,6 +1763,9 @@ public class PurpurWorldConfig {
@@ -1761,6 +1785,9 @@ public class PurpurWorldConfig {
public boolean zombifiedPiglinControllable = true;
public double zombifiedPiglinMaxHealth = 20.0D;
public double zombifiedPiglinSpawnReinforcements = 0.0D;
@@ -260,7 +260,7 @@ index 62074152a0a494bbde4c39074942425a8b850ffd..7fabef36d3f9a5294a62ed956010d7ef
private void zombifiedPiglinSettings() {
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
@@ -1750,5 +1777,8 @@ public class PurpurWorldConfig {
@@ -1772,5 +1799,8 @@ public class PurpurWorldConfig {
}
zombifiedPiglinMaxHealth = getDouble("mobs.zombified_piglin.attributes.max_health", zombifiedPiglinMaxHealth);
zombifiedPiglinSpawnReinforcements = getDouble("mobs.zombified_piglin.attributes.spawn_reinforcements", zombifiedPiglinSpawnReinforcements);

View File

@@ -256,10 +256,10 @@ index 01e8eaecec61e664838b5d7f18a9c3e730f00ddf..e0b1b0106fd3bbb6764d1b0a58ab2810
private float speed = 0.1F;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 7fabef36d3f9a5294a62ed956010d7ef853e00ab..e1652079b92a5c951b5191997803e9d486892c61 100644
index 803387f232c25ed43c252fa05335e5e1915048ff..bfa1ed9e0927f919648ab67ae49681fcd1286e3a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1065,6 +1065,9 @@ public class PurpurWorldConfig {
@@ -1087,6 +1087,9 @@ public class PurpurWorldConfig {
public String phantomAttackDamage = "6 + size";
public Map<Integer, Double> phantomMaxHealthCache = new HashMap<>();
public Map<Integer, Double> phantomAttackDamageCache = new HashMap<>();
@@ -269,7 +269,7 @@ index 7fabef36d3f9a5294a62ed956010d7ef853e00ab..e1652079b92a5c951b5191997803e9d4
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -1086,6 +1089,9 @@ public class PurpurWorldConfig {
@@ -1108,6 +1111,9 @@ public class PurpurWorldConfig {
phantomAttackDamage = getString("mobs.phantom.attributes.attack_damage", phantomAttackDamage);
phantomMaxHealthCache.clear();
phantomAttackDamageCache.clear();

View File

@@ -40,10 +40,10 @@ index 1b1b475ca27e799e251d6f8a8c9fe1a4fd8bae83..04f67f7b43d2f461c776c76614dc3e5f
for (int l = 0; l < k; ++l) {
// Paper start - PhantomPreSpawnEvent
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e1652079b92a5c951b5191997803e9d486892c61..10de2140aa89f75e7f67b38f6c1286f4330d127b 100644
index bfa1ed9e0927f919648ab67ae49681fcd1286e3a..07f3b64e5d117957262ce6c8290052d707d17508 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1068,6 +1068,12 @@ public class PurpurWorldConfig {
@@ -1090,6 +1090,12 @@ public class PurpurWorldConfig {
public double phantomAttackedByCrystalRadius = 0.0D;
public float phantomAttackedByCrystalDamage = 1.0F;
public double phantomOrbitCrystalRadius = 0.0D;
@@ -56,7 +56,7 @@ index e1652079b92a5c951b5191997803e9d486892c61..10de2140aa89f75e7f67b38f6c1286f4
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -1092,6 +1098,12 @@ public class PurpurWorldConfig {
@@ -1114,6 +1120,12 @@ public class PurpurWorldConfig {
phantomAttackedByCrystalRadius = getDouble("mobs.phantom.attacked-by-crystal-range", phantomAttackedByCrystalRadius);
phantomAttackedByCrystalDamage = (float) getDouble("mobs.phantom.attacked-by-crystal-damage", phantomAttackedByCrystalDamage);
phantomOrbitCrystalRadius = getDouble("mobs.phantom.orbit-crystal-radius", phantomOrbitCrystalRadius);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Squid EAR immunity
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 98e6faaeeaf8a983f9d730591a9d85c314c112d3..27d279d76fd3632fd023edded3b10630629ec132 100644
index 859ea7beb9f9644d45f805c1ecc18e7b87be67a7..1da67c207b18e4c0eaf9a822360dbbe3215e7a6d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1453,6 +1453,7 @@ public class PurpurWorldConfig {
@@ -1475,6 +1475,7 @@ public class PurpurWorldConfig {
public boolean squidRidable = false;
public boolean squidControllable = true;
public double squidMaxHealth = 10.0D;
@@ -16,7 +16,7 @@ index 98e6faaeeaf8a983f9d730591a9d85c314c112d3..27d279d76fd3632fd023edded3b10630
private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
squidControllable = getBoolean("mobs.squid.controllable", squidControllable);
@@ -1462,6 +1463,7 @@ public class PurpurWorldConfig {
@@ -1484,6 +1485,7 @@ public class PurpurWorldConfig {
set("mobs.squid.attributes.max_health", oldValue);
}
squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth);

View File

@@ -51,10 +51,10 @@ index e0b1b0106fd3bbb6764d1b0a58ab2810181cac02..1ddccb9fa438682c2ebad7c071c7a4f8
list.sort(Comparator.comparing((Entity e) -> { return e.getY(); }).reversed()); // CraftBukkit - decompile error
Iterator iterator = list.iterator();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 27d279d76fd3632fd023edded3b10630629ec132..dcd9f80eb69e34b514f57158568e4cb59e9860ec 100644
index 1da67c207b18e4c0eaf9a822360dbbe3215e7a6d..2c6167946e8186f378142b0cd02b71abf1780bea 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1123,6 +1123,9 @@ public class PurpurWorldConfig {
@@ -1145,6 +1145,9 @@ public class PurpurWorldConfig {
public double phantomSpawnLocalDifficultyChance = 3.0D;
public int phantomSpawnMinPerAttempt = 1;
public int phantomSpawnMaxPerAttempt = -1;
@@ -64,7 +64,7 @@ index 27d279d76fd3632fd023edded3b10630629ec132..dcd9f80eb69e34b514f57158568e4cb5
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -1153,6 +1156,9 @@ public class PurpurWorldConfig {
@@ -1175,6 +1178,9 @@ public class PurpurWorldConfig {
phantomSpawnLocalDifficultyChance = getDouble("mobs.phantom.spawn.local-difficulty-chance", phantomSpawnLocalDifficultyChance);
phantomSpawnMinPerAttempt = getInt("mobs.phantom.spawn.per-attempt.min", phantomSpawnMinPerAttempt);
phantomSpawnMaxPerAttempt = getInt("mobs.phantom.spawn.per-attempt.max", phantomSpawnMaxPerAttempt);

View File

@@ -18,10 +18,10 @@ index 051940da69567274f48485f060cbc3ac21a0907f..6de74d992bd8b2845ab98d56201e7eea
private boolean hungry() {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index dcd9f80eb69e34b514f57158568e4cb59e9860ec..df4f384032f398fc9852e753dee820ffa33e10bb 100644
index 2c6167946e8186f378142b0cd02b71abf1780bea..2a8ec23926af200a8bd8d33ecd930387117fc71b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1611,6 +1611,7 @@ public class PurpurWorldConfig {
@@ -1633,6 +1633,7 @@ public class PurpurWorldConfig {
public double villagerMaxHealth = 20.0D;
public boolean villagerFollowEmeraldBlock = false;
public boolean villagerCanBeLeashed = false;
@@ -29,7 +29,7 @@ index dcd9f80eb69e34b514f57158568e4cb59e9860ec..df4f384032f398fc9852e753dee820ff
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1623,6 +1624,7 @@ public class PurpurWorldConfig {
@@ -1645,6 +1646,7 @@ public class PurpurWorldConfig {
villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth);
villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock);
villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);

View File

@@ -22,10 +22,10 @@ index e270da29fdab5060b6a936bba67c433a78c54b5b..61f1778d454cebaab5580179614ff48a
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index be916fe3a8bc8996be8b0835e3bd8f7920c15055..7b584d5c8460e90dfea250591e4ca36cb1db004a 100644
index 1c4446ce2ca2e9c9d3d85a38752a6f27f8121d12..8df777ce71b649de697bbf9b77636f3a30df3d1c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1638,6 +1638,7 @@ public class PurpurWorldConfig {
@@ -1660,6 +1660,7 @@ public class PurpurWorldConfig {
public boolean vindicatorRidableInWater = true;
public boolean vindicatorControllable = true;
public double vindicatorMaxHealth = 24.0D;
@@ -33,7 +33,7 @@ index be916fe3a8bc8996be8b0835e3bd8f7920c15055..7b584d5c8460e90dfea250591e4ca36c
private void vindicatorSettings() {
vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable);
vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater);
@@ -1648,6 +1649,7 @@ public class PurpurWorldConfig {
@@ -1670,6 +1671,7 @@ public class PurpurWorldConfig {
set("mobs.vindicator.attributes.max_health", oldValue);
}
vindicatorMaxHealth = getDouble("mobs.vindicator.attributes.max_health", vindicatorMaxHealth);

View File

@@ -17,10 +17,10 @@ index 4f294b3ecf061f34046b52bf2b6a3d0ff1ed347b..366d583926e7e33a8c1e5a803bb75a45
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 4c80796777c5a90c5e7a9e8ef0beedfcb49f0aa9..b9faaf71e0cd5918b072d068bbc2096aa2805616 100644
index d6ebaed09f0b84ec7641ad660f47aed95fdac1b9..dff99dafb0869106fc8f70ee583ba8e269e07777 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -610,6 +610,7 @@ public class PurpurWorldConfig {
@@ -632,6 +632,7 @@ public class PurpurWorldConfig {
public float dolphinSpitSpeed = 1.0F;
public float dolphinSpitDamage = 2.0F;
public double dolphinMaxHealth = 10.0D;
@@ -28,7 +28,7 @@ index 4c80796777c5a90c5e7a9e8ef0beedfcb49f0aa9..b9faaf71e0cd5918b072d068bbc2096a
private void dolphinSettings() {
dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable);
dolphinControllable = getBoolean("mobs.dolphin.controllable", dolphinControllable);
@@ -622,6 +623,7 @@ public class PurpurWorldConfig {
@@ -644,6 +645,7 @@ public class PurpurWorldConfig {
set("mobs.dolphin.attributes.max_health", oldValue);
}
dolphinMaxHealth = getDouble("mobs.dolphin.attributes.max_health", dolphinMaxHealth);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Stop squids floating on top of water
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 9b653134ad71a6d3ff22dfaa15390e3cd7b4453a..b3fe632b18e5dfa18d37ef23a5a62f3a0f9ccf42 100644
index 6734cc459682328c7bfe8714a190a5765165e17b..44e20e9921f89238088458ba4c22c0997aae899b 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -4516,6 +4516,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -54,10 +54,10 @@ index 92394960fc76886f393cba02ac33c57739a4b383..494808b7bc2fb296b78e229ce138a937
+ // Purpur
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b9faaf71e0cd5918b072d068bbc2096aa2805616..56f34c0a0f7bc94a90bb1db32f8e30a590a3b38c 100644
index dff99dafb0869106fc8f70ee583ba8e269e07777..0ca54a08809ff058912a82e3a8e611cbfe61b682 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1478,6 +1478,7 @@ public class PurpurWorldConfig {
@@ -1500,6 +1500,7 @@ public class PurpurWorldConfig {
public boolean squidControllable = true;
public double squidMaxHealth = 10.0D;
public boolean squidImmuneToEAR = true;
@@ -65,7 +65,7 @@ index b9faaf71e0cd5918b072d068bbc2096aa2805616..56f34c0a0f7bc94a90bb1db32f8e30a5
private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
squidControllable = getBoolean("mobs.squid.controllable", squidControllable);
@@ -1488,6 +1489,7 @@ public class PurpurWorldConfig {
@@ -1510,6 +1511,7 @@ public class PurpurWorldConfig {
}
squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth);
squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR);

View File

@@ -23,10 +23,10 @@ index 0cc32342cf6c65466dd1e45f9097ca89b01036e4..8d2894bb1ae70f63c8fa67de3e9f7c6a
this.bossEvent.setProgress(this.getHealth() / this.getMaxHealth());
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 1f25407aafba71762a482f0b1982302fed14387f..beea39d7cdbca783de7248a5c40ea2c7ab02e5b5 100644
index 7d08647a6eaf217b3c4504b0953ba1f824104359..ccd5741f4fb91874fdca7c49b9c4c90eefc3b1b1 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1717,6 +1717,8 @@ public class PurpurWorldConfig {
@@ -1739,6 +1739,8 @@ public class PurpurWorldConfig {
public boolean witherControllable = true;
public double witherMaxY = 320D;
public double witherMaxHealth = 300.0D;
@@ -35,7 +35,7 @@ index 1f25407aafba71762a482f0b1982302fed14387f..beea39d7cdbca783de7248a5c40ea2c7
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -1732,6 +1734,8 @@ public class PurpurWorldConfig {
@@ -1754,6 +1756,8 @@ public class PurpurWorldConfig {
set("mobs.wither.attributes.max_health", oldValue);
}
witherMaxHealth = getDouble("mobs.wither.attributes.max_health", witherMaxHealth);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add option to disable zombie aggressiveness towards villagers
diff --git a/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java b/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java
index c72d6bccf7d72d08d388c65936a89c92261c7860..ee746753515c9cea8dd246f4f56e6781956726c1 100644
index 06455d65c4605ce092bf5300d432087f24186741..750fd2809f6d5d5896904cad0f65029b03bda849 100644
--- a/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java
+++ b/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java
@@ -137,6 +137,10 @@ public class MobGoalHelper {
@@ -70,10 +70,10 @@ index 555b86925b8d848fad40a838dd98607db8741e3b..3d42b2ea26217243dba96174ff0eadbc
this.targetSelector.addGoal(5, new NearestAttackableTargetGoal<>(this, Turtle.class, 10, true, false, Turtle.BABY_ON_LAND_SELECTOR));
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 8a577d78d63adc799de71f96b45320372c346552..69c433dd27be4a67052d73620c80d48ed6566034 100644
index 047f702ee2600036ac0478eb24fbbe6ba426f5c2..88a4e38445dda48e9f9bcc3c9be6ca9fb5ff5760 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1851,6 +1851,7 @@ public class PurpurWorldConfig {
@@ -1873,6 +1873,7 @@ public class PurpurWorldConfig {
public boolean zombieJockeyOnlyBaby = true;
public double zombieJockeyChance = 0.05D;
public boolean zombieJockeyTryExistingChickens = true;
@@ -81,7 +81,7 @@ index 8a577d78d63adc799de71f96b45320372c346552..69c433dd27be4a67052d73620c80d48e
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -1865,6 +1866,7 @@ public class PurpurWorldConfig {
@@ -1887,6 +1888,7 @@ public class PurpurWorldConfig {
zombieJockeyOnlyBaby = getBoolean("mobs.zombie.jockey.only-babies", zombieJockeyOnlyBaby);
zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance);
zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens);

View File

@@ -58,10 +58,10 @@ index c562eeb5e865a57fbc595de47c5d4e2b90430026..f0261117a4f8ae240b3b991053deaf8d
float g = Mth.cos(f) * 0.2F;
float h = -0.1F + this.squid.getRandom().nextFloat() * 0.2F;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 69c433dd27be4a67052d73620c80d48ed6566034..636f1a2962ee48a42a644b241569f08e7d57097c 100644
index 88a4e38445dda48e9f9bcc3c9be6ca9fb5ff5760..935bf96285bd7927f0b2294c7731a865a54e4585 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -903,10 +903,12 @@ public class PurpurWorldConfig {
@@ -925,10 +925,12 @@ public class PurpurWorldConfig {
public boolean glowSquidRidable = false;
public boolean glowSquidControllable = true;
public double glowSquidMaxHealth = 10.0D;
@@ -74,7 +74,7 @@ index 69c433dd27be4a67052d73620c80d48ed6566034..636f1a2962ee48a42a644b241569f08e
}
public boolean goatRidable = false;
@@ -1538,6 +1540,7 @@ public class PurpurWorldConfig {
@@ -1560,6 +1562,7 @@ public class PurpurWorldConfig {
public double squidMaxHealth = 10.0D;
public boolean squidImmuneToEAR = true;
public double squidOffsetWaterCheck = 0.0D;
@@ -82,7 +82,7 @@ index 69c433dd27be4a67052d73620c80d48ed6566034..636f1a2962ee48a42a644b241569f08e
private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
squidControllable = getBoolean("mobs.squid.controllable", squidControllable);
@@ -1549,6 +1552,7 @@ public class PurpurWorldConfig {
@@ -1571,6 +1574,7 @@ public class PurpurWorldConfig {
squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth);
squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR);
squidOffsetWaterCheck = getDouble("mobs.squid.water-offset-check", squidOffsetWaterCheck);

View File

@@ -300,21 +300,21 @@ index 3235ed40d502722e888656776ba1a218f198f53e..2267f8da1c27ff54b2ced59ef15eb453
protected void registerGoals() {
this.goalSelector.addGoal(1, new FloatGoal(this));
diff --git a/src/main/java/net/minecraft/world/entity/animal/armadillo/Armadillo.java b/src/main/java/net/minecraft/world/entity/animal/armadillo/Armadillo.java
index b38281f963377cc82b360e8457da7cad033b8c36..29412208e329e9fc211b844822a2fc3328a5bc89 100644
index 2c4a353c86521bf3018cd17748c8cb29330732d2..c9740f5588cf4db0c8257c47e96cef7a743cca45 100644
--- a/src/main/java/net/minecraft/world/entity/animal/armadillo/Armadillo.java
+++ b/src/main/java/net/minecraft/world/entity/animal/armadillo/Armadillo.java
@@ -469,4 +469,11 @@ public class Armadillo extends Animal {
return this.animationDuration;
}
@@ -97,6 +97,11 @@ public class Armadillo extends Animal {
public void initAttributes() {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.armadilloMaxHealth);
}
+
+ // Purpur start
+ @Override
+ public int getPurpurBreedTime() {
+ return 6000;
+ return this.level().purpurConfig.armadilloBreedingTicks;
+ }
+ // Purpur end
}
// Purpur end
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
index 414ff28670c3d36dc78e3df4d39b6d4eb3ec1e77..97ba327398d84db09c81cee860b40642b428ea48 100644
--- a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
@@ -538,10 +538,22 @@ index 3bfc073fb142e3446044a42c33be6c30587cc3c4..a770ae0e13c4dad296dfb8f33259408e
public boolean canBeLeashed(Player player) {
return !this.isLeashed();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 37292c309b465fce3b601a3ff8400e58c5a74308..8ba5fc8813ef1cb34f7df801f6d7b2ed42b1c052 100644
index b02249716f8a30e520a852ddfb5be645c6102c20..0217eb56c0e7799ac6a07bdfc42396fc9486e9cb 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -502,10 +502,12 @@ public class PurpurWorldConfig {
@@ -503,20 +503,24 @@ public class PurpurWorldConfig {
public boolean armadilloRidableInWater = true;
public boolean armadilloControllable = true;
public double armadilloMaxHealth = 12.0D;
+ public int armadilloBreedingTicks = 6000;
private void armadilloSettings() {
armadilloRidable = getBoolean("mobs.armadillo.ridable", armadilloRidable);
armadilloRidableInWater = getBoolean("mobs.armadillo.ridable-in-water", armadilloRidableInWater);
armadilloControllable = getBoolean("mobs.armadillo.controllable", armadilloControllable);
armadilloMaxHealth = getDouble("mobs.armadillo.attributes.max_health", armadilloMaxHealth);
+ armadilloBreedingTicks = getInt("mobs.armadillo.breeding-delay-ticks", armadilloBreedingTicks);
}
public boolean axolotlRidable = false;
public boolean axolotlControllable = true;
public double axolotlMaxHealth = 14.0D;
@@ -554,7 +566,7 @@ index 37292c309b465fce3b601a3ff8400e58c5a74308..8ba5fc8813ef1cb34f7df801f6d7b2ed
}
public boolean batRidable = false;
@@ -545,6 +547,7 @@ public class PurpurWorldConfig {
@@ -556,6 +560,7 @@ public class PurpurWorldConfig {
public boolean beeControllable = true;
public double beeMaxY = 320D;
public double beeMaxHealth = 10.0D;
@@ -562,7 +574,7 @@ index 37292c309b465fce3b601a3ff8400e58c5a74308..8ba5fc8813ef1cb34f7df801f6d7b2ed
private void beeSettings() {
beeRidable = getBoolean("mobs.bee.ridable", beeRidable);
beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater);
@@ -556,6 +559,7 @@ public class PurpurWorldConfig {
@@ -567,6 +572,7 @@ public class PurpurWorldConfig {
set("mobs.bee.attributes.max_health", oldValue);
}
beeMaxHealth = getDouble("mobs.bee.attributes.max_health", beeMaxHealth);
@@ -570,7 +582,7 @@ index 37292c309b465fce3b601a3ff8400e58c5a74308..8ba5fc8813ef1cb34f7df801f6d7b2ed
}
public boolean blazeRidable = false;
@@ -583,6 +587,7 @@ public class PurpurWorldConfig {
@@ -605,6 +611,7 @@ public class PurpurWorldConfig {
public double camelJumpStrengthMax = 0.42D;
public double camelMovementSpeedMin = 0.09D;
public double camelMovementSpeedMax = 0.09D;
@@ -578,7 +590,7 @@ index 37292c309b465fce3b601a3ff8400e58c5a74308..8ba5fc8813ef1cb34f7df801f6d7b2ed
private void camelSettings() {
camelRidableInWater = getBoolean("mobs.camel.ridable-in-water", camelRidableInWater);
camelMaxHealthMin = getDouble("mobs.camel.attributes.max_health.min", camelMaxHealthMin);
@@ -591,6 +596,7 @@ public class PurpurWorldConfig {
@@ -613,6 +620,7 @@ public class PurpurWorldConfig {
camelJumpStrengthMax = getDouble("mobs.camel.attributes.jump_strength.max", camelJumpStrengthMax);
camelMovementSpeedMin = getDouble("mobs.camel.attributes.movement_speed.min", camelMovementSpeedMin);
camelMovementSpeedMax = getDouble("mobs.camel.attributes.movement_speed.max", camelMovementSpeedMax);
@@ -586,7 +598,7 @@ index 37292c309b465fce3b601a3ff8400e58c5a74308..8ba5fc8813ef1cb34f7df801f6d7b2ed
}
public boolean catRidable = false;
@@ -600,6 +606,7 @@ public class PurpurWorldConfig {
@@ -622,6 +630,7 @@ public class PurpurWorldConfig {
public int catSpawnDelay = 1200;
public int catSpawnSwampHutScanRange = 16;
public int catSpawnVillageScanRange = 48;
@@ -594,7 +606,7 @@ index 37292c309b465fce3b601a3ff8400e58c5a74308..8ba5fc8813ef1cb34f7df801f6d7b2ed
private void catSettings() {
catRidable = getBoolean("mobs.cat.ridable", catRidable);
catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater);
@@ -613,6 +620,7 @@ public class PurpurWorldConfig {
@@ -635,6 +644,7 @@ public class PurpurWorldConfig {
catSpawnDelay = getInt("mobs.cat.spawn-delay", catSpawnDelay);
catSpawnSwampHutScanRange = getInt("mobs.cat.scan-range-for-other-cats.swamp-hut", catSpawnSwampHutScanRange);
catSpawnVillageScanRange = getInt("mobs.cat.scan-range-for-other-cats.village", catSpawnVillageScanRange);
@@ -602,7 +614,7 @@ index 37292c309b465fce3b601a3ff8400e58c5a74308..8ba5fc8813ef1cb34f7df801f6d7b2ed
}
public boolean caveSpiderRidable = false;
@@ -636,6 +644,7 @@ public class PurpurWorldConfig {
@@ -658,6 +668,7 @@ public class PurpurWorldConfig {
public boolean chickenControllable = true;
public double chickenMaxHealth = 4.0D;
public boolean chickenRetaliate = false;
@@ -610,7 +622,7 @@ index 37292c309b465fce3b601a3ff8400e58c5a74308..8ba5fc8813ef1cb34f7df801f6d7b2ed
private void chickenSettings() {
chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable);
chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater);
@@ -647,6 +656,7 @@ public class PurpurWorldConfig {
@@ -669,6 +680,7 @@ public class PurpurWorldConfig {
}
chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth);
chickenRetaliate = getBoolean("mobs.chicken.retaliate", chickenRetaliate);
@@ -618,7 +630,7 @@ index 37292c309b465fce3b601a3ff8400e58c5a74308..8ba5fc8813ef1cb34f7df801f6d7b2ed
}
public boolean codRidable = false;
@@ -668,6 +678,7 @@ public class PurpurWorldConfig {
@@ -690,6 +702,7 @@ public class PurpurWorldConfig {
public boolean cowControllable = true;
public double cowMaxHealth = 10.0D;
public int cowFeedMushrooms = 0;
@@ -626,7 +638,7 @@ index 37292c309b465fce3b601a3ff8400e58c5a74308..8ba5fc8813ef1cb34f7df801f6d7b2ed
private void cowSettings() {
cowRidable = getBoolean("mobs.cow.ridable", cowRidable);
cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater);
@@ -679,6 +690,7 @@ public class PurpurWorldConfig {
@@ -701,6 +714,7 @@ public class PurpurWorldConfig {
}
cowMaxHealth = getDouble("mobs.cow.attributes.max_health", cowMaxHealth);
cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms);
@@ -634,7 +646,7 @@ index 37292c309b465fce3b601a3ff8400e58c5a74308..8ba5fc8813ef1cb34f7df801f6d7b2ed
}
public boolean creeperRidable = false;
@@ -730,6 +742,7 @@ public class PurpurWorldConfig {
@@ -752,6 +766,7 @@ public class PurpurWorldConfig {
public double donkeyJumpStrengthMax = 0.5D;
public double donkeyMovementSpeedMin = 0.175D;
public double donkeyMovementSpeedMax = 0.175D;
@@ -642,7 +654,7 @@ index 37292c309b465fce3b601a3ff8400e58c5a74308..8ba5fc8813ef1cb34f7df801f6d7b2ed
private void donkeySettings() {
donkeyRidableInWater = getBoolean("mobs.donkey.ridable-in-water", donkeyRidableInWater);
if (PurpurConfig.version < 10) {
@@ -745,6 +758,7 @@ public class PurpurWorldConfig {
@@ -767,6 +782,7 @@ public class PurpurWorldConfig {
donkeyJumpStrengthMax = getDouble("mobs.donkey.attributes.jump_strength.max", donkeyJumpStrengthMax);
donkeyMovementSpeedMin = getDouble("mobs.donkey.attributes.movement_speed.min", donkeyMovementSpeedMin);
donkeyMovementSpeedMax = getDouble("mobs.donkey.attributes.movement_speed.max", donkeyMovementSpeedMax);
@@ -650,7 +662,7 @@ index 37292c309b465fce3b601a3ff8400e58c5a74308..8ba5fc8813ef1cb34f7df801f6d7b2ed
}
public boolean drownedRidable = false;
@@ -864,6 +878,7 @@ public class PurpurWorldConfig {
@@ -886,6 +902,7 @@ public class PurpurWorldConfig {
public boolean foxControllable = true;
public double foxMaxHealth = 10.0D;
public boolean foxTypeChangesWithTulips = false;
@@ -658,7 +670,7 @@ index 37292c309b465fce3b601a3ff8400e58c5a74308..8ba5fc8813ef1cb34f7df801f6d7b2ed
private void foxSettings() {
foxRidable = getBoolean("mobs.fox.ridable", foxRidable);
foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater);
@@ -875,17 +890,20 @@ public class PurpurWorldConfig {
@@ -897,17 +914,20 @@ public class PurpurWorldConfig {
}
foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth);
foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips);
@@ -679,7 +691,7 @@ index 37292c309b465fce3b601a3ff8400e58c5a74308..8ba5fc8813ef1cb34f7df801f6d7b2ed
}
public boolean ghastRidable = false;
@@ -953,11 +971,13 @@ public class PurpurWorldConfig {
@@ -975,11 +995,13 @@ public class PurpurWorldConfig {
public boolean goatRidableInWater = true;
public boolean goatControllable = true;
public double goatMaxHealth = 10.0D;
@@ -693,7 +705,7 @@ index 37292c309b465fce3b601a3ff8400e58c5a74308..8ba5fc8813ef1cb34f7df801f6d7b2ed
}
public boolean guardianRidable = false;
@@ -978,6 +998,7 @@ public class PurpurWorldConfig {
@@ -1000,6 +1022,7 @@ public class PurpurWorldConfig {
public boolean hoglinRidableInWater = true;
public boolean hoglinControllable = true;
public double hoglinMaxHealth = 40.0D;
@@ -701,7 +713,7 @@ index 37292c309b465fce3b601a3ff8400e58c5a74308..8ba5fc8813ef1cb34f7df801f6d7b2ed
private void hoglinSettings() {
hoglinRidable = getBoolean("mobs.hoglin.ridable", hoglinRidable);
hoglinRidableInWater = getBoolean("mobs.hoglin.ridable-in-water", hoglinRidableInWater);
@@ -988,6 +1009,7 @@ public class PurpurWorldConfig {
@@ -1010,6 +1033,7 @@ public class PurpurWorldConfig {
set("mobs.hoglin.attributes.max_health", oldValue);
}
hoglinMaxHealth = getDouble("mobs.hoglin.attributes.max_health", hoglinMaxHealth);
@@ -709,7 +721,7 @@ index 37292c309b465fce3b601a3ff8400e58c5a74308..8ba5fc8813ef1cb34f7df801f6d7b2ed
}
public boolean horseRidableInWater = false;
@@ -997,6 +1019,7 @@ public class PurpurWorldConfig {
@@ -1019,6 +1043,7 @@ public class PurpurWorldConfig {
public double horseJumpStrengthMax = 1.0D;
public double horseMovementSpeedMin = 0.1125D;
public double horseMovementSpeedMax = 0.3375D;
@@ -717,7 +729,7 @@ index 37292c309b465fce3b601a3ff8400e58c5a74308..8ba5fc8813ef1cb34f7df801f6d7b2ed
private void horseSettings() {
horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater);
if (PurpurConfig.version < 10) {
@@ -1012,6 +1035,7 @@ public class PurpurWorldConfig {
@@ -1034,6 +1059,7 @@ public class PurpurWorldConfig {
horseJumpStrengthMax = getDouble("mobs.horse.attributes.jump_strength.max", horseJumpStrengthMax);
horseMovementSpeedMin = getDouble("mobs.horse.attributes.movement_speed.min", horseMovementSpeedMin);
horseMovementSpeedMax = getDouble("mobs.horse.attributes.movement_speed.max", horseMovementSpeedMax);
@@ -725,7 +737,7 @@ index 37292c309b465fce3b601a3ff8400e58c5a74308..8ba5fc8813ef1cb34f7df801f6d7b2ed
}
public boolean huskRidable = false;
@@ -1089,6 +1113,7 @@ public class PurpurWorldConfig {
@@ -1111,6 +1137,7 @@ public class PurpurWorldConfig {
public double llamaJumpStrengthMax = 0.5D;
public double llamaMovementSpeedMin = 0.175D;
public double llamaMovementSpeedMax = 0.175D;
@@ -733,7 +745,7 @@ index 37292c309b465fce3b601a3ff8400e58c5a74308..8ba5fc8813ef1cb34f7df801f6d7b2ed
private void llamaSettings() {
llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable);
llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater);
@@ -1106,6 +1131,7 @@ public class PurpurWorldConfig {
@@ -1128,6 +1155,7 @@ public class PurpurWorldConfig {
llamaJumpStrengthMax = getDouble("mobs.llama.attributes.jump_strength.max", llamaJumpStrengthMax);
llamaMovementSpeedMin = getDouble("mobs.llama.attributes.movement_speed.min", llamaMovementSpeedMin);
llamaMovementSpeedMax = getDouble("mobs.llama.attributes.movement_speed.max", llamaMovementSpeedMax);
@@ -741,7 +753,7 @@ index 37292c309b465fce3b601a3ff8400e58c5a74308..8ba5fc8813ef1cb34f7df801f6d7b2ed
}
public boolean magmaCubeRidable = false;
@@ -1134,6 +1160,7 @@ public class PurpurWorldConfig {
@@ -1156,6 +1184,7 @@ public class PurpurWorldConfig {
public boolean mooshroomRidableInWater = true;
public boolean mooshroomControllable = true;
public double mooshroomMaxHealth = 10.0D;
@@ -749,7 +761,7 @@ index 37292c309b465fce3b601a3ff8400e58c5a74308..8ba5fc8813ef1cb34f7df801f6d7b2ed
private void mooshroomSettings() {
mooshroomRidable = getBoolean("mobs.mooshroom.ridable", mooshroomRidable);
mooshroomRidableInWater = getBoolean("mobs.mooshroom.ridable-in-water", mooshroomRidableInWater);
@@ -1144,6 +1171,7 @@ public class PurpurWorldConfig {
@@ -1166,6 +1195,7 @@ public class PurpurWorldConfig {
set("mobs.mooshroom.attributes.max_health", oldValue);
}
mooshroomMaxHealth = getDouble("mobs.mooshroom.attributes.max_health", mooshroomMaxHealth);
@@ -757,7 +769,7 @@ index 37292c309b465fce3b601a3ff8400e58c5a74308..8ba5fc8813ef1cb34f7df801f6d7b2ed
}
public boolean muleRidableInWater = false;
@@ -1153,6 +1181,7 @@ public class PurpurWorldConfig {
@@ -1175,6 +1205,7 @@ public class PurpurWorldConfig {
public double muleJumpStrengthMax = 0.5D;
public double muleMovementSpeedMin = 0.175D;
public double muleMovementSpeedMax = 0.175D;
@@ -765,7 +777,7 @@ index 37292c309b465fce3b601a3ff8400e58c5a74308..8ba5fc8813ef1cb34f7df801f6d7b2ed
private void muleSettings() {
muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater);
if (PurpurConfig.version < 10) {
@@ -1168,12 +1197,14 @@ public class PurpurWorldConfig {
@@ -1190,12 +1221,14 @@ public class PurpurWorldConfig {
muleJumpStrengthMax = getDouble("mobs.mule.attributes.jump_strength.max", muleJumpStrengthMax);
muleMovementSpeedMin = getDouble("mobs.mule.attributes.movement_speed.min", muleMovementSpeedMin);
muleMovementSpeedMax = getDouble("mobs.mule.attributes.movement_speed.max", muleMovementSpeedMax);
@@ -780,7 +792,7 @@ index 37292c309b465fce3b601a3ff8400e58c5a74308..8ba5fc8813ef1cb34f7df801f6d7b2ed
private void ocelotSettings() {
ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable);
ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater);
@@ -1184,12 +1215,14 @@ public class PurpurWorldConfig {
@@ -1206,12 +1239,14 @@ public class PurpurWorldConfig {
set("mobs.ocelot.attributes.max_health", oldValue);
}
ocelotMaxHealth = getDouble("mobs.ocelot.attributes.max_health", ocelotMaxHealth);
@@ -795,7 +807,7 @@ index 37292c309b465fce3b601a3ff8400e58c5a74308..8ba5fc8813ef1cb34f7df801f6d7b2ed
private void pandaSettings() {
pandaRidable = getBoolean("mobs.panda.ridable", pandaRidable);
pandaRidableInWater = getBoolean("mobs.panda.ridable-in-water", pandaRidableInWater);
@@ -1200,6 +1233,7 @@ public class PurpurWorldConfig {
@@ -1222,6 +1257,7 @@ public class PurpurWorldConfig {
set("mobs.panda.attributes.max_health", oldValue);
}
pandaMaxHealth = getDouble("mobs.panda.attributes.max_health", pandaMaxHealth);
@@ -803,7 +815,7 @@ index 37292c309b465fce3b601a3ff8400e58c5a74308..8ba5fc8813ef1cb34f7df801f6d7b2ed
}
public boolean parrotRidable = false;
@@ -1283,6 +1317,7 @@ public class PurpurWorldConfig {
@@ -1305,6 +1341,7 @@ public class PurpurWorldConfig {
public boolean pigControllable = true;
public double pigMaxHealth = 10.0D;
public boolean pigGiveSaddleBack = false;
@@ -811,7 +823,7 @@ index 37292c309b465fce3b601a3ff8400e58c5a74308..8ba5fc8813ef1cb34f7df801f6d7b2ed
private void pigSettings() {
pigRidable = getBoolean("mobs.pig.ridable", pigRidable);
pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater);
@@ -1294,6 +1329,7 @@ public class PurpurWorldConfig {
@@ -1316,6 +1353,7 @@ public class PurpurWorldConfig {
}
pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth);
pigGiveSaddleBack = getBoolean("mobs.pig.give-saddle-back", pigGiveSaddleBack);
@@ -819,7 +831,7 @@ index 37292c309b465fce3b601a3ff8400e58c5a74308..8ba5fc8813ef1cb34f7df801f6d7b2ed
}
public boolean piglinRidable = false;
@@ -1350,6 +1386,7 @@ public class PurpurWorldConfig {
@@ -1372,6 +1410,7 @@ public class PurpurWorldConfig {
public double polarBearMaxHealth = 30.0D;
public String polarBearBreedableItemString = "";
public Item polarBearBreedableItem = null;
@@ -827,7 +839,7 @@ index 37292c309b465fce3b601a3ff8400e58c5a74308..8ba5fc8813ef1cb34f7df801f6d7b2ed
private void polarBearSettings() {
polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable);
polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater);
@@ -1363,6 +1400,7 @@ public class PurpurWorldConfig {
@@ -1385,6 +1424,7 @@ public class PurpurWorldConfig {
polarBearBreedableItemString = getString("mobs.polar_bear.breedable-item", polarBearBreedableItemString);
Item item = BuiltInRegistries.ITEM.get(new ResourceLocation(polarBearBreedableItemString));
if (item != Items.AIR) polarBearBreedableItem = item;
@@ -835,7 +847,7 @@ index 37292c309b465fce3b601a3ff8400e58c5a74308..8ba5fc8813ef1cb34f7df801f6d7b2ed
}
public boolean pufferfishRidable = false;
@@ -1385,6 +1423,7 @@ public class PurpurWorldConfig {
@@ -1407,6 +1447,7 @@ public class PurpurWorldConfig {
public double rabbitMaxHealth = 3.0D;
public double rabbitNaturalToast = 0.0D;
public double rabbitNaturalKiller = 0.0D;
@@ -843,7 +855,7 @@ index 37292c309b465fce3b601a3ff8400e58c5a74308..8ba5fc8813ef1cb34f7df801f6d7b2ed
private void rabbitSettings() {
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
@@ -1397,6 +1436,7 @@ public class PurpurWorldConfig {
@@ -1419,6 +1460,7 @@ public class PurpurWorldConfig {
rabbitMaxHealth = getDouble("mobs.rabbit.attributes.max_health", rabbitMaxHealth);
rabbitNaturalToast = getDouble("mobs.rabbit.spawn-toast-chance", rabbitNaturalToast);
rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller);
@@ -851,7 +863,7 @@ index 37292c309b465fce3b601a3ff8400e58c5a74308..8ba5fc8813ef1cb34f7df801f6d7b2ed
}
public boolean ravagerRidable = false;
@@ -1433,6 +1473,7 @@ public class PurpurWorldConfig {
@@ -1455,6 +1497,7 @@ public class PurpurWorldConfig {
public boolean sheepRidableInWater = true;
public boolean sheepControllable = true;
public double sheepMaxHealth = 8.0D;
@@ -859,7 +871,7 @@ index 37292c309b465fce3b601a3ff8400e58c5a74308..8ba5fc8813ef1cb34f7df801f6d7b2ed
private void sheepSettings() {
sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable);
sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater);
@@ -1443,6 +1484,7 @@ public class PurpurWorldConfig {
@@ -1465,6 +1508,7 @@ public class PurpurWorldConfig {
set("mobs.sheep.attributes.max_health", oldValue);
}
sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth);
@@ -867,7 +879,7 @@ index 37292c309b465fce3b601a3ff8400e58c5a74308..8ba5fc8813ef1cb34f7df801f6d7b2ed
}
public boolean shulkerRidable = false;
@@ -1566,11 +1608,13 @@ public class PurpurWorldConfig {
@@ -1588,11 +1632,13 @@ public class PurpurWorldConfig {
public boolean snifferRidableInWater = true;
public boolean snifferControllable = true;
public double snifferMaxHealth = 14.0D;
@@ -877,11 +889,11 @@ index 37292c309b465fce3b601a3ff8400e58c5a74308..8ba5fc8813ef1cb34f7df801f6d7b2ed
snifferRidableInWater = getBoolean("mobs.sniffer.ridable-in-water", snifferRidableInWater);
snifferControllable = getBoolean("mobs.sniffer.controllable", snifferControllable);
snifferMaxHealth = getDouble("mobs.sniffer.attributes.max_health", snifferMaxHealth);
+ snifferBreedingTicks = getInt("mobs.sniffer.breeding-delay-ticks", chickenBreedingTicks);
+ snifferBreedingTicks = getInt("mobs.sniffer.breeding-delay-ticks", snifferBreedingTicks);
}
public boolean squidRidable = false;
@@ -1629,6 +1673,7 @@ public class PurpurWorldConfig {
@@ -1651,6 +1697,7 @@ public class PurpurWorldConfig {
public boolean striderRidableInWater = false;
public boolean striderControllable = true;
public double striderMaxHealth = 20.0D;
@@ -889,7 +901,7 @@ index 37292c309b465fce3b601a3ff8400e58c5a74308..8ba5fc8813ef1cb34f7df801f6d7b2ed
private void striderSettings() {
striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
@@ -1639,6 +1684,7 @@ public class PurpurWorldConfig {
@@ -1661,6 +1708,7 @@ public class PurpurWorldConfig {
set("mobs.strider.attributes.max_health", oldValue);
}
striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth);
@@ -897,7 +909,7 @@ index 37292c309b465fce3b601a3ff8400e58c5a74308..8ba5fc8813ef1cb34f7df801f6d7b2ed
}
public boolean tadpoleRidable = false;
@@ -1659,6 +1705,7 @@ public class PurpurWorldConfig {
@@ -1681,6 +1729,7 @@ public class PurpurWorldConfig {
public double traderLlamaJumpStrengthMax = 0.5D;
public double traderLlamaMovementSpeedMin = 0.175D;
public double traderLlamaMovementSpeedMax = 0.175D;
@@ -905,7 +917,7 @@ index 37292c309b465fce3b601a3ff8400e58c5a74308..8ba5fc8813ef1cb34f7df801f6d7b2ed
private void traderLlamaSettings() {
traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable);
traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater);
@@ -1676,6 +1723,7 @@ public class PurpurWorldConfig {
@@ -1698,6 +1747,7 @@ public class PurpurWorldConfig {
traderLlamaJumpStrengthMax = getDouble("mobs.trader_llama.attributes.jump_strength.max", traderLlamaJumpStrengthMax);
traderLlamaMovementSpeedMin = getDouble("mobs.trader_llama.attributes.movement_speed.min", traderLlamaMovementSpeedMin);
traderLlamaMovementSpeedMax = getDouble("mobs.trader_llama.attributes.movement_speed.max", traderLlamaMovementSpeedMax);
@@ -913,7 +925,7 @@ index 37292c309b465fce3b601a3ff8400e58c5a74308..8ba5fc8813ef1cb34f7df801f6d7b2ed
}
public boolean tropicalFishRidable = false;
@@ -1696,6 +1744,7 @@ public class PurpurWorldConfig {
@@ -1718,6 +1768,7 @@ public class PurpurWorldConfig {
public boolean turtleRidableInWater = true;
public boolean turtleControllable = true;
public double turtleMaxHealth = 30.0D;
@@ -921,7 +933,7 @@ index 37292c309b465fce3b601a3ff8400e58c5a74308..8ba5fc8813ef1cb34f7df801f6d7b2ed
private void turtleSettings() {
turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable);
turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater);
@@ -1706,6 +1755,7 @@ public class PurpurWorldConfig {
@@ -1728,6 +1779,7 @@ public class PurpurWorldConfig {
set("mobs.turtle.attributes.max_health", oldValue);
}
turtleMaxHealth = getDouble("mobs.turtle.attributes.max_health", turtleMaxHealth);
@@ -929,7 +941,7 @@ index 37292c309b465fce3b601a3ff8400e58c5a74308..8ba5fc8813ef1cb34f7df801f6d7b2ed
}
public boolean vexRidable = false;
@@ -1733,6 +1783,7 @@ public class PurpurWorldConfig {
@@ -1755,6 +1807,7 @@ public class PurpurWorldConfig {
public boolean villagerFollowEmeraldBlock = false;
public boolean villagerCanBeLeashed = false;
public boolean villagerCanBreed = true;
@@ -937,7 +949,7 @@ index 37292c309b465fce3b601a3ff8400e58c5a74308..8ba5fc8813ef1cb34f7df801f6d7b2ed
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1746,6 +1797,7 @@ public class PurpurWorldConfig {
@@ -1768,6 +1821,7 @@ public class PurpurWorldConfig {
villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock);
villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);
villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed);
@@ -945,7 +957,7 @@ index 37292c309b465fce3b601a3ff8400e58c5a74308..8ba5fc8813ef1cb34f7df801f6d7b2ed
}
public boolean vindicatorRidable = false;
@@ -1857,6 +1909,7 @@ public class PurpurWorldConfig {
@@ -1879,6 +1933,7 @@ public class PurpurWorldConfig {
public boolean wolfRidableInWater = true;
public boolean wolfControllable = true;
public double wolfMaxHealth = 8.0D;
@@ -953,7 +965,7 @@ index 37292c309b465fce3b601a3ff8400e58c5a74308..8ba5fc8813ef1cb34f7df801f6d7b2ed
private void wolfSettings() {
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater);
@@ -1867,6 +1920,7 @@ public class PurpurWorldConfig {
@@ -1889,6 +1944,7 @@ public class PurpurWorldConfig {
set("mobs.wolf.attributes.max_health", oldValue);
}
wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth);

View File

@@ -21,10 +21,10 @@ index cb307a9419399e33a895376a584456f084691965..052a0c168268b7e788953063f54c3769
private static class EndermanFreezeWhenLookedAt extends Goal {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 548ad445ed73c5009c93cadb0ee8e39acdbd737c..2afd56fd352f7a0bd2028a2b9b238f3d1d8fe14a 100644
index 49d105df72c8f67fe48c39f03d840ccaa90b7c73..7c7b1cba2d50b1a4eda66ee4cde9137f01735e63 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -834,6 +834,7 @@ public class PurpurWorldConfig {
@@ -858,6 +858,7 @@ public class PurpurWorldConfig {
public boolean endermanControllable = true;
public double endermanMaxHealth = 40.0D;
public boolean endermanAllowGriefing = true;
@@ -32,7 +32,7 @@ index 548ad445ed73c5009c93cadb0ee8e39acdbd737c..2afd56fd352f7a0bd2028a2b9b238f3d
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -845,6 +846,7 @@ public class PurpurWorldConfig {
@@ -869,6 +870,7 @@ public class PurpurWorldConfig {
}
endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth);
endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing);

View File

@@ -23,10 +23,10 @@ index 0060414b1d5afde56372ce121e9d37a1668cd03b..ee4d4a4fe314ee9bce69c96dd65d84ed
this.goalSelector.addGoal(3, new LookAtPlayerGoal(this, Player.class, 6.0F));
this.goalSelector.addGoal(4, new RandomLookAroundGoal(this));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 8a0a018ff9119afe4ada2f30f98b260a523f2e70..51d9cdfce0cdcf2daa882fdcc75123c925396d10 100644
index 62a56a447e1a5c97e0f1bf6d0901d4ad1e4e6ef7..a51830db95db7256ddefa9da89f39471f2d169ec 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1607,6 +1607,10 @@ public class PurpurWorldConfig {
@@ -1631,6 +1631,10 @@ public class PurpurWorldConfig {
public boolean snowGolemLeaveTrailWhenRidden = false;
public double snowGolemMaxHealth = 4.0D;
public boolean snowGolemPutPumpkinBack = false;
@@ -37,7 +37,7 @@ index 8a0a018ff9119afe4ada2f30f98b260a523f2e70..51d9cdfce0cdcf2daa882fdcc75123c9
private void snowGolemSettings() {
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
@@ -1619,6 +1623,10 @@ public class PurpurWorldConfig {
@@ -1643,6 +1647,10 @@ public class PurpurWorldConfig {
}
snowGolemMaxHealth = getDouble("mobs.snow_golem.attributes.max_health", snowGolemMaxHealth);
snowGolemPutPumpkinBack = getBoolean("mobs.snow_golem.pumpkin-can-be-added-back", snowGolemPutPumpkinBack);

View File

@@ -174,10 +174,10 @@ index 1316f4475802e17039800cc6128e1b065328beb7..d02e2d1aceac651e06a3a3698b7ac64d
"farmer",
PoiTypes.FARMER,
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 51d9cdfce0cdcf2daa882fdcc75123c925396d10..f20f4622871b840ba18a78bb0806028ba706f74e 100644
index a51830db95db7256ddefa9da89f39471f2d169ec..13cb926fa98b187a0a36beb164179f0085fd8369 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1809,6 +1809,8 @@ public class PurpurWorldConfig {
@@ -1833,6 +1833,8 @@ public class PurpurWorldConfig {
public boolean villagerCanBeLeashed = false;
public boolean villagerCanBreed = true;
public int villagerBreedingTicks = 6000;
@@ -186,7 +186,7 @@ index 51d9cdfce0cdcf2daa882fdcc75123c925396d10..f20f4622871b840ba18a78bb0806028b
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1823,6 +1825,8 @@ public class PurpurWorldConfig {
@@ -1847,6 +1849,8 @@ public class PurpurWorldConfig {
villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);
villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed);
villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks);

View File

@@ -35,10 +35,10 @@ index 75c34d9fcc4b33d30b18f1ce4c8749a068744abc..6be751e2d434982a35bbbece4f4fc463
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f20f4622871b840ba18a78bb0806028ba706f74e..d621f330f954a12635d8c87c5ff66dae7448a856 100644
index 13cb926fa98b187a0a36beb164179f0085fd8369..43e02a35c742aced64c0b9700da9a71c15532478 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2055,6 +2055,7 @@ public class PurpurWorldConfig {
@@ -2079,6 +2079,7 @@ public class PurpurWorldConfig {
public boolean zombifiedPiglinJockeyOnlyBaby = true;
public double zombifiedPiglinJockeyChance = 0.05D;
public boolean zombifiedPiglinJockeyTryExistingChickens = true;
@@ -46,7 +46,7 @@ index f20f4622871b840ba18a78bb0806028ba706f74e..d621f330f954a12635d8c87c5ff66dae
private void zombifiedPiglinSettings() {
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
@@ -2069,5 +2070,6 @@ public class PurpurWorldConfig {
@@ -2093,5 +2094,6 @@ public class PurpurWorldConfig {
zombifiedPiglinJockeyOnlyBaby = getBoolean("mobs.zombified_piglin.jockey.only-babies", zombifiedPiglinJockeyOnlyBaby);
zombifiedPiglinJockeyChance = getDouble("mobs.zombified_piglin.jockey.chance", zombifiedPiglinJockeyChance);
zombifiedPiglinJockeyTryExistingChickens = getBoolean("mobs.zombified_piglin.jockey.try-existing-chickens", zombifiedPiglinJockeyTryExistingChickens);

View File

@@ -182,10 +182,10 @@ index 86574da257731de7646a712ed73384955fe35aa3..e223234dd64b0e41441c3b9f649f0b64
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 5dfc4f4144feab63ca2244e2e4a20af9fbd8ef02..89cc7b46a2dd15afd7db711f2e01fa8c7035a5bd 100644
index 43e02a35c742aced64c0b9700da9a71c15532478..1a82ac75760dbddca5b37cb97b27cee18c831b83 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1938,6 +1938,8 @@ public class PurpurWorldConfig {
@@ -1962,6 +1962,8 @@ public class PurpurWorldConfig {
public boolean wolfRidableInWater = true;
public boolean wolfControllable = true;
public double wolfMaxHealth = 8.0D;
@@ -194,7 +194,7 @@ index 5dfc4f4144feab63ca2244e2e4a20af9fbd8ef02..89cc7b46a2dd15afd7db711f2e01fa8c
public int wolfBreedingTicks = 6000;
private void wolfSettings() {
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
@@ -1949,6 +1951,8 @@ public class PurpurWorldConfig {
@@ -1973,6 +1975,8 @@ public class PurpurWorldConfig {
set("mobs.wolf.attributes.max_health", oldValue);
}
wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth);

View File

@@ -43,10 +43,10 @@ index 073014d44a3ccfca9bb5a387843e22917de13bb4..3b7392852fd8b3c88969b46eeee3aefd
protected void registerGoals() {
this.goalSelector.addGoal(1, new FloatGoal(this));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 89cc7b46a2dd15afd7db711f2e01fa8c7035a5bd..ce273c9ae2c6c9a37f288200b32403a9dc7baa49 100644
index 1a82ac75760dbddca5b37cb97b27cee18c831b83..f31198ce92832670cff37a182cb25ac978fa7347 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -622,6 +622,7 @@ public class PurpurWorldConfig {
@@ -646,6 +646,7 @@ public class PurpurWorldConfig {
public int catSpawnSwampHutScanRange = 16;
public int catSpawnVillageScanRange = 48;
public int catBreedingTicks = 6000;
@@ -54,7 +54,7 @@ index 89cc7b46a2dd15afd7db711f2e01fa8c7035a5bd..ce273c9ae2c6c9a37f288200b32403a9
private void catSettings() {
catRidable = getBoolean("mobs.cat.ridable", catRidable);
catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater);
@@ -636,6 +637,11 @@ public class PurpurWorldConfig {
@@ -660,6 +661,11 @@ public class PurpurWorldConfig {
catSpawnSwampHutScanRange = getInt("mobs.cat.scan-range-for-other-cats.swamp-hut", catSpawnSwampHutScanRange);
catSpawnVillageScanRange = getInt("mobs.cat.scan-range-for-other-cats.village", catSpawnVillageScanRange);
catBreedingTicks = getInt("mobs.cat.breeding-delay-ticks", catBreedingTicks);
@@ -66,7 +66,7 @@ index 89cc7b46a2dd15afd7db711f2e01fa8c7035a5bd..ce273c9ae2c6c9a37f288200b32403a9
}
public boolean caveSpiderRidable = false;
@@ -1938,6 +1944,7 @@ public class PurpurWorldConfig {
@@ -1962,6 +1968,7 @@ public class PurpurWorldConfig {
public boolean wolfRidableInWater = true;
public boolean wolfControllable = true;
public double wolfMaxHealth = 8.0D;
@@ -74,7 +74,7 @@ index 89cc7b46a2dd15afd7db711f2e01fa8c7035a5bd..ce273c9ae2c6c9a37f288200b32403a9
public boolean wolfMilkCuresRabies = true;
public double wolfNaturalRabid = 0.0D;
public int wolfBreedingTicks = 6000;
@@ -1951,6 +1958,11 @@ public class PurpurWorldConfig {
@@ -1975,6 +1982,11 @@ public class PurpurWorldConfig {
set("mobs.wolf.attributes.max_health", oldValue);
}
wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth);

View File

@@ -17,10 +17,10 @@ index 1ddccb9fa438682c2ebad7c071c7a4f8dd00b463..c15d75472d4d92baeb87a147832e17e3
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index d73268340e5201181f42084fbe47883a22d062cc..4fbd94117f356388a40d1a7f7faf75b08e6b7dbe 100644
index f31198ce92832670cff37a182cb25ac978fa7347..5a08c6a200dfa721e230aeeb0439301a5ae301d0 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1300,6 +1300,7 @@ public class PurpurWorldConfig {
@@ -1324,6 +1324,7 @@ public class PurpurWorldConfig {
public int phantomBurnInLight = 0;
public boolean phantomIgnorePlayersWithTorch = false;
public boolean phantomBurnInDaylight = true;
@@ -28,7 +28,7 @@ index d73268340e5201181f42084fbe47883a22d062cc..4fbd94117f356388a40d1a7f7faf75b0
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -1333,6 +1334,7 @@ public class PurpurWorldConfig {
@@ -1357,6 +1358,7 @@ public class PurpurWorldConfig {
phantomBurnInLight = getInt("mobs.phantom.burn-in-light", phantomBurnInLight);
phantomBurnInDaylight = getBoolean("mobs.phantom.burn-in-daylight", phantomBurnInDaylight);
phantomIgnorePlayersWithTorch = getBoolean("mobs.phantom.ignore-players-with-torch", phantomIgnorePlayersWithTorch);

View File

@@ -29,10 +29,10 @@ index 5f1166ccd64509a70323e2713f3ab58674d83105..741eedcd9e0e29b57d2b3caf5aef1aef
if (!this.level().isClientSide) {
player.startRiding(this);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 50bf456b7e87a77e50b938488abde4cf577d1228..3f83dee1fc6a847d8f56cc230a6de1223d4f3964 100644
index bcb0780b0f1aa5063a1481031e5fcf8cf3fa4884..91630e23b9568418e74a59958bb8f1728095e6fd 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1712,6 +1712,7 @@ public class PurpurWorldConfig {
@@ -1736,6 +1736,7 @@ public class PurpurWorldConfig {
public boolean striderControllable = true;
public double striderMaxHealth = 20.0D;
public int striderBreedingTicks = 6000;
@@ -40,7 +40,7 @@ index 50bf456b7e87a77e50b938488abde4cf577d1228..3f83dee1fc6a847d8f56cc230a6de122
private void striderSettings() {
striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
@@ -1723,6 +1724,7 @@ public class PurpurWorldConfig {
@@ -1747,6 +1748,7 @@ public class PurpurWorldConfig {
}
striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth);
striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks);

View File

@@ -375,7 +375,7 @@ index c7377d04ceac3ea624117439783a443c6d6f6d08..0c732cfbd9ce50198a3f85ae8ef2263d
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 076d26136c46fdf1eba18fde04c0fe8e28efa2bd..aca1e2c31ae757041bbdc12931d1ff0ba6c33b87 100644
index b6d625af2acb61f867739624b975d369efe547e0..4ee6c06c6e04bb9dd6150fa4a00b5b1787f34072 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -115,8 +115,11 @@ public class PurpurWorldConfig {
@@ -439,7 +439,7 @@ index 076d26136c46fdf1eba18fde04c0fe8e28efa2bd..aca1e2c31ae757041bbdc12931d1ff0b
}
public int waterInfiniteRequiredSources = 2;
@@ -738,6 +753,7 @@ public class PurpurWorldConfig {
@@ -762,6 +777,7 @@ public class PurpurWorldConfig {
public double creeperMaxHealth = 20.0D;
public double creeperChargedChance = 0.0D;
public boolean creeperAllowGriefing = true;
@@ -447,7 +447,7 @@ index 076d26136c46fdf1eba18fde04c0fe8e28efa2bd..aca1e2c31ae757041bbdc12931d1ff0b
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -750,6 +766,7 @@ public class PurpurWorldConfig {
@@ -774,6 +790,7 @@ public class PurpurWorldConfig {
creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth);
creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance);
creeperAllowGriefing = getBoolean("mobs.creeper.allow-griefing", creeperAllowGriefing);
@@ -455,7 +455,7 @@ index 076d26136c46fdf1eba18fde04c0fe8e28efa2bd..aca1e2c31ae757041bbdc12931d1ff0b
}
public boolean dolphinRidable = false;
@@ -844,6 +861,7 @@ public class PurpurWorldConfig {
@@ -868,6 +885,7 @@ public class PurpurWorldConfig {
public double enderDragonMaxY = 320D;
public double enderDragonMaxHealth = 200.0D;
public boolean enderDragonAlwaysDropsFullExp = false;
@@ -463,7 +463,7 @@ index 076d26136c46fdf1eba18fde04c0fe8e28efa2bd..aca1e2c31ae757041bbdc12931d1ff0b
private void enderDragonSettings() {
enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable);
enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater);
@@ -860,6 +878,7 @@ public class PurpurWorldConfig {
@@ -884,6 +902,7 @@ public class PurpurWorldConfig {
}
enderDragonMaxHealth = getDouble("mobs.ender_dragon.attributes.max_health", enderDragonMaxHealth);
enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp);
@@ -471,7 +471,7 @@ index 076d26136c46fdf1eba18fde04c0fe8e28efa2bd..aca1e2c31ae757041bbdc12931d1ff0b
}
public boolean endermanRidable = false;
@@ -868,6 +887,7 @@ public class PurpurWorldConfig {
@@ -892,6 +911,7 @@ public class PurpurWorldConfig {
public double endermanMaxHealth = 40.0D;
public boolean endermanAllowGriefing = true;
public boolean endermanDespawnEvenWithBlock = false;
@@ -479,7 +479,7 @@ index 076d26136c46fdf1eba18fde04c0fe8e28efa2bd..aca1e2c31ae757041bbdc12931d1ff0b
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -880,6 +900,7 @@ public class PurpurWorldConfig {
@@ -904,6 +924,7 @@ public class PurpurWorldConfig {
endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth);
endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing);
endermanDespawnEvenWithBlock = getBoolean("mobs.enderman.can-despawn-with-held-block", endermanDespawnEvenWithBlock);
@@ -487,7 +487,7 @@ index 076d26136c46fdf1eba18fde04c0fe8e28efa2bd..aca1e2c31ae757041bbdc12931d1ff0b
}
public boolean endermiteRidable = false;
@@ -902,6 +923,7 @@ public class PurpurWorldConfig {
@@ -926,6 +947,7 @@ public class PurpurWorldConfig {
public boolean evokerRidableInWater = true;
public boolean evokerControllable = true;
public double evokerMaxHealth = 24.0D;
@@ -495,7 +495,7 @@ index 076d26136c46fdf1eba18fde04c0fe8e28efa2bd..aca1e2c31ae757041bbdc12931d1ff0b
private void evokerSettings() {
evokerRidable = getBoolean("mobs.evoker.ridable", evokerRidable);
evokerRidableInWater = getBoolean("mobs.evoker.ridable-in-water", evokerRidableInWater);
@@ -912,6 +934,7 @@ public class PurpurWorldConfig {
@@ -936,6 +958,7 @@ public class PurpurWorldConfig {
set("mobs.evoker.attributes.max_health", oldValue);
}
evokerMaxHealth = getDouble("mobs.evoker.attributes.max_health", evokerMaxHealth);
@@ -503,7 +503,7 @@ index 076d26136c46fdf1eba18fde04c0fe8e28efa2bd..aca1e2c31ae757041bbdc12931d1ff0b
}
public boolean foxRidable = false;
@@ -920,6 +943,7 @@ public class PurpurWorldConfig {
@@ -944,6 +967,7 @@ public class PurpurWorldConfig {
public double foxMaxHealth = 10.0D;
public boolean foxTypeChangesWithTulips = false;
public int foxBreedingTicks = 6000;
@@ -511,7 +511,7 @@ index 076d26136c46fdf1eba18fde04c0fe8e28efa2bd..aca1e2c31ae757041bbdc12931d1ff0b
private void foxSettings() {
foxRidable = getBoolean("mobs.fox.ridable", foxRidable);
foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater);
@@ -932,6 +956,7 @@ public class PurpurWorldConfig {
@@ -956,6 +980,7 @@ public class PurpurWorldConfig {
foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth);
foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips);
foxBreedingTicks = getInt("mobs.fox.breeding-delay-ticks", foxBreedingTicks);
@@ -519,7 +519,7 @@ index 076d26136c46fdf1eba18fde04c0fe8e28efa2bd..aca1e2c31ae757041bbdc12931d1ff0b
}
public boolean frogRidable = false;
@@ -1379,6 +1404,7 @@ public class PurpurWorldConfig {
@@ -1403,6 +1428,7 @@ public class PurpurWorldConfig {
public boolean piglinRidableInWater = true;
public boolean piglinControllable = true;
public double piglinMaxHealth = 16.0D;
@@ -527,7 +527,7 @@ index 076d26136c46fdf1eba18fde04c0fe8e28efa2bd..aca1e2c31ae757041bbdc12931d1ff0b
private void piglinSettings() {
piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable);
piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater);
@@ -1389,6 +1415,7 @@ public class PurpurWorldConfig {
@@ -1413,6 +1439,7 @@ public class PurpurWorldConfig {
set("mobs.piglin.attributes.max_health", oldValue);
}
piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth);
@@ -535,7 +535,7 @@ index 076d26136c46fdf1eba18fde04c0fe8e28efa2bd..aca1e2c31ae757041bbdc12931d1ff0b
}
public boolean piglinBruteRidable = false;
@@ -1411,6 +1438,7 @@ public class PurpurWorldConfig {
@@ -1435,6 +1462,7 @@ public class PurpurWorldConfig {
public boolean pillagerRidableInWater = true;
public boolean pillagerControllable = true;
public double pillagerMaxHealth = 24.0D;
@@ -543,7 +543,7 @@ index 076d26136c46fdf1eba18fde04c0fe8e28efa2bd..aca1e2c31ae757041bbdc12931d1ff0b
private void pillagerSettings() {
pillagerRidable = getBoolean("mobs.pillager.ridable", pillagerRidable);
pillagerRidableInWater = getBoolean("mobs.pillager.ridable-in-water", pillagerRidableInWater);
@@ -1421,6 +1449,7 @@ public class PurpurWorldConfig {
@@ -1445,6 +1473,7 @@ public class PurpurWorldConfig {
set("mobs.pillager.attributes.max_health", oldValue);
}
pillagerMaxHealth = getDouble("mobs.pillager.attributes.max_health", pillagerMaxHealth);
@@ -551,7 +551,7 @@ index 076d26136c46fdf1eba18fde04c0fe8e28efa2bd..aca1e2c31ae757041bbdc12931d1ff0b
}
public boolean polarBearRidable = false;
@@ -1467,6 +1496,7 @@ public class PurpurWorldConfig {
@@ -1491,6 +1520,7 @@ public class PurpurWorldConfig {
public double rabbitNaturalToast = 0.0D;
public double rabbitNaturalKiller = 0.0D;
public int rabbitBreedingTicks = 6000;
@@ -559,7 +559,7 @@ index 076d26136c46fdf1eba18fde04c0fe8e28efa2bd..aca1e2c31ae757041bbdc12931d1ff0b
private void rabbitSettings() {
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
@@ -1480,12 +1510,14 @@ public class PurpurWorldConfig {
@@ -1504,12 +1534,14 @@ public class PurpurWorldConfig {
rabbitNaturalToast = getDouble("mobs.rabbit.spawn-toast-chance", rabbitNaturalToast);
rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller);
rabbitBreedingTicks = getInt("mobs.rabbit.breeding-delay-ticks", rabbitBreedingTicks);
@@ -574,7 +574,7 @@ index 076d26136c46fdf1eba18fde04c0fe8e28efa2bd..aca1e2c31ae757041bbdc12931d1ff0b
private void ravagerSettings() {
ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable);
ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater);
@@ -1496,6 +1528,7 @@ public class PurpurWorldConfig {
@@ -1520,6 +1552,7 @@ public class PurpurWorldConfig {
set("mobs.ravager.attributes.max_health", oldValue);
}
ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth);
@@ -582,7 +582,7 @@ index 076d26136c46fdf1eba18fde04c0fe8e28efa2bd..aca1e2c31ae757041bbdc12931d1ff0b
}
public boolean salmonRidable = false;
@@ -1517,6 +1550,7 @@ public class PurpurWorldConfig {
@@ -1541,6 +1574,7 @@ public class PurpurWorldConfig {
public boolean sheepControllable = true;
public double sheepMaxHealth = 8.0D;
public int sheepBreedingTicks = 6000;
@@ -590,7 +590,7 @@ index 076d26136c46fdf1eba18fde04c0fe8e28efa2bd..aca1e2c31ae757041bbdc12931d1ff0b
private void sheepSettings() {
sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable);
sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater);
@@ -1528,6 +1562,7 @@ public class PurpurWorldConfig {
@@ -1552,6 +1586,7 @@ public class PurpurWorldConfig {
}
sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth);
sheepBreedingTicks = getInt("mobs.sheep.breeding-delay-ticks", sheepBreedingTicks);
@@ -598,7 +598,7 @@ index 076d26136c46fdf1eba18fde04c0fe8e28efa2bd..aca1e2c31ae757041bbdc12931d1ff0b
}
public boolean shulkerRidable = false;
@@ -1550,6 +1585,7 @@ public class PurpurWorldConfig {
@@ -1574,6 +1609,7 @@ public class PurpurWorldConfig {
public boolean silverfishRidableInWater = true;
public boolean silverfishControllable = true;
public double silverfishMaxHealth = 8.0D;
@@ -606,7 +606,7 @@ index 076d26136c46fdf1eba18fde04c0fe8e28efa2bd..aca1e2c31ae757041bbdc12931d1ff0b
private void silverfishSettings() {
silverfishRidable = getBoolean("mobs.silverfish.ridable", silverfishRidable);
silverfishRidableInWater = getBoolean("mobs.silverfish.ridable-in-water", silverfishRidableInWater);
@@ -1560,6 +1596,7 @@ public class PurpurWorldConfig {
@@ -1584,6 +1620,7 @@ public class PurpurWorldConfig {
set("mobs.silverfish.attributes.max_health", oldValue);
}
silverfishMaxHealth = getDouble("mobs.silverfish.attributes.max_health", silverfishMaxHealth);
@@ -614,7 +614,7 @@ index 076d26136c46fdf1eba18fde04c0fe8e28efa2bd..aca1e2c31ae757041bbdc12931d1ff0b
}
public boolean skeletonRidable = false;
@@ -1637,6 +1674,7 @@ public class PurpurWorldConfig {
@@ -1661,6 +1698,7 @@ public class PurpurWorldConfig {
public int snowGolemSnowBallMax = 20;
public float snowGolemSnowBallModifier = 10.0F;
public double snowGolemAttackDistance = 1.25D;
@@ -622,7 +622,7 @@ index 076d26136c46fdf1eba18fde04c0fe8e28efa2bd..aca1e2c31ae757041bbdc12931d1ff0b
private void snowGolemSettings() {
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
@@ -1653,6 +1691,7 @@ public class PurpurWorldConfig {
@@ -1677,6 +1715,7 @@ public class PurpurWorldConfig {
snowGolemSnowBallMax = getInt("mobs.snow_golem.max-shoot-interval-ticks", snowGolemSnowBallMax);
snowGolemSnowBallModifier = (float) getDouble("mobs.snow_golem.snow-ball-modifier", snowGolemSnowBallModifier);
snowGolemAttackDistance = getDouble("mobs.snow_golem.attack-distance", snowGolemAttackDistance);
@@ -630,7 +630,7 @@ index 076d26136c46fdf1eba18fde04c0fe8e28efa2bd..aca1e2c31ae757041bbdc12931d1ff0b
}
public boolean snifferRidable = false;
@@ -1839,6 +1878,7 @@ public class PurpurWorldConfig {
@@ -1863,6 +1902,7 @@ public class PurpurWorldConfig {
public int villagerBreedingTicks = 6000;
public boolean villagerClericsFarmWarts = false;
public boolean villagerClericFarmersThrowWarts = true;
@@ -638,7 +638,7 @@ index 076d26136c46fdf1eba18fde04c0fe8e28efa2bd..aca1e2c31ae757041bbdc12931d1ff0b
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1855,6 +1895,7 @@ public class PurpurWorldConfig {
@@ -1879,6 +1919,7 @@ public class PurpurWorldConfig {
villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks);
villagerClericsFarmWarts = getBoolean("mobs.villager.clerics-farm-warts", villagerClericsFarmWarts);
villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts);
@@ -646,7 +646,7 @@ index 076d26136c46fdf1eba18fde04c0fe8e28efa2bd..aca1e2c31ae757041bbdc12931d1ff0b
}
public boolean vindicatorRidable = false;
@@ -1927,6 +1968,7 @@ public class PurpurWorldConfig {
@@ -1951,6 +1992,7 @@ public class PurpurWorldConfig {
public double witherMaxHealth = 300.0D;
public float witherHealthRegenAmount = 1.0f;
public int witherHealthRegenDelay = 20;
@@ -654,7 +654,7 @@ index 076d26136c46fdf1eba18fde04c0fe8e28efa2bd..aca1e2c31ae757041bbdc12931d1ff0b
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -1944,6 +1986,7 @@ public class PurpurWorldConfig {
@@ -1968,6 +2010,7 @@ public class PurpurWorldConfig {
witherMaxHealth = getDouble("mobs.wither.attributes.max_health", witherMaxHealth);
witherHealthRegenAmount = (float) getDouble("mobs.wither.health-regen-amount", witherHealthRegenAmount);
witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay);
@@ -662,7 +662,7 @@ index 076d26136c46fdf1eba18fde04c0fe8e28efa2bd..aca1e2c31ae757041bbdc12931d1ff0b
}
public boolean witherSkeletonRidable = false;
@@ -2015,6 +2058,7 @@ public class PurpurWorldConfig {
@@ -2039,6 +2082,7 @@ public class PurpurWorldConfig {
public double zombieJockeyChance = 0.05D;
public boolean zombieJockeyTryExistingChickens = true;
public boolean zombieAggressiveTowardsVillagerWhenLagging = true;
@@ -670,7 +670,7 @@ index 076d26136c46fdf1eba18fde04c0fe8e28efa2bd..aca1e2c31ae757041bbdc12931d1ff0b
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -2030,6 +2074,7 @@ public class PurpurWorldConfig {
@@ -2054,6 +2098,7 @@ public class PurpurWorldConfig {
zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance);
zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens);
zombieAggressiveTowardsVillagerWhenLagging = getBoolean("mobs.zombie.aggressive-towards-villager-when-lagging", zombieAggressiveTowardsVillagerWhenLagging);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Configs for if Wither/Ender Dragon can ride vehicles
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 bf657ed6a27ce5da5621a3e14b0bf41ea0c4c8c9..3da1f7a6e443954e4976dd59391ea19b9c903cf7 100644
index cf8d41f85bbd89c3fb4613372fd550bda004504b..52e1dd6e064dc03312e18ca515a24e7d3e9be957 100644
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
@@ -1188,6 +1188,7 @@ public class EnderDragon extends Mob implements Enemy {
@@ -29,10 +29,10 @@ index 948e5747d8d280695dd903a29b9c9f9dae9a44c1..6752a0039fac041e9bdd25327cdf20d3
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 9de44dd59e69d709490290cf07b7c75889ac8387..d56aa23ea97e6cd7e1b5824fc46d1b6c0ee23a2d 100644
index ca36a967a5c3684d7a3410f0c3beab5c72dc42ed..6f1a41c30f78ca88ddd1109889d0afe4aad226a2 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -948,6 +948,7 @@ public class PurpurWorldConfig {
@@ -972,6 +972,7 @@ public class PurpurWorldConfig {
public boolean enderDragonAlwaysDropsFullExp = false;
public boolean enderDragonBypassMobGriefing = false;
public boolean enderDragonTakeDamageFromWater = false;
@@ -40,7 +40,7 @@ index 9de44dd59e69d709490290cf07b7c75889ac8387..d56aa23ea97e6cd7e1b5824fc46d1b6c
private void enderDragonSettings() {
enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable);
enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater);
@@ -966,6 +967,7 @@ public class PurpurWorldConfig {
@@ -990,6 +991,7 @@ public class PurpurWorldConfig {
enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp);
enderDragonBypassMobGriefing = getBoolean("mobs.ender_dragon.bypass-mob-griefing", enderDragonBypassMobGriefing);
enderDragonTakeDamageFromWater = getBoolean("mobs.ender_dragon.takes-damage-from-water", enderDragonTakeDamageFromWater);
@@ -48,7 +48,7 @@ index 9de44dd59e69d709490290cf07b7c75889ac8387..d56aa23ea97e6cd7e1b5824fc46d1b6c
}
public boolean endermanRidable = false;
@@ -2157,6 +2159,7 @@ public class PurpurWorldConfig {
@@ -2181,6 +2183,7 @@ public class PurpurWorldConfig {
public int witherHealthRegenDelay = 20;
public boolean witherBypassMobGriefing = false;
public boolean witherTakeDamageFromWater = false;
@@ -56,7 +56,7 @@ index 9de44dd59e69d709490290cf07b7c75889ac8387..d56aa23ea97e6cd7e1b5824fc46d1b6c
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -2176,6 +2179,7 @@ public class PurpurWorldConfig {
@@ -2200,6 +2203,7 @@ public class PurpurWorldConfig {
witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay);
witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing);
witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater);

View File

@@ -18,10 +18,10 @@ index 17b044e58d2ed33ed16e60f4fd4f63b2ee3f854d..4821aec304399c64cbcff741334567a0
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index afcde828b7f39affd26cf3a52b744e0b37140694..3736b6a5be1c4eea48416c48822675e394b821f1 100644
index 39f612bbe47c20e718c82d8259fd784139457608..5ff45015f6a902eacfbd7978d2abdcd64af43e0f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -998,6 +998,8 @@ public class PurpurWorldConfig {
@@ -1022,6 +1022,8 @@ public class PurpurWorldConfig {
public boolean endermanDespawnEvenWithBlock = false;
public boolean endermanBypassMobGriefing = false;
public boolean endermanTakeDamageFromWater = true;
@@ -30,7 +30,7 @@ index afcde828b7f39affd26cf3a52b744e0b37140694..3736b6a5be1c4eea48416c48822675e3
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -1007,11 +1009,17 @@ public class PurpurWorldConfig {
@@ -1031,11 +1033,17 @@ public class PurpurWorldConfig {
set("mobs.enderman.attributes.max-health", null);
set("mobs.enderman.attributes.max_health", oldValue);
}

View File

@@ -20,10 +20,10 @@ index 4821aec304399c64cbcff741334567a08b840c0a..b361c6b4ca17b9d466555037235a5660
} else {
Vec3 vec3d = player.getViewVector(1.0F).normalize();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 3736b6a5be1c4eea48416c48822675e394b821f1..e3e0a5c0f241e7fe1fdd2be1bd1afe7752628b9e 100644
index 5ff45015f6a902eacfbd7978d2abdcd64af43e0f..55f557d7e2aa8af8ae1ddf7a4225786ec5dca66f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1000,6 +1000,8 @@ public class PurpurWorldConfig {
@@ -1024,6 +1024,8 @@ public class PurpurWorldConfig {
public boolean endermanTakeDamageFromWater = true;
public boolean endermanAggroEndermites = true;
public boolean endermanAggroEndermitesOnlyIfPlayerSpawned = false;
@@ -32,7 +32,7 @@ index 3736b6a5be1c4eea48416c48822675e394b821f1..e3e0a5c0f241e7fe1fdd2be1bd1afe77
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -1020,6 +1022,8 @@ public class PurpurWorldConfig {
@@ -1044,6 +1046,8 @@ public class PurpurWorldConfig {
endermanTakeDamageFromWater = getBoolean("mobs.enderman.takes-damage-from-water", endermanTakeDamageFromWater);
endermanAggroEndermites = getBoolean("mobs.enderman.aggressive-towards-endermites", endermanAggroEndermites);
endermanAggroEndermitesOnlyIfPlayerSpawned = getBoolean("mobs.enderman.aggressive-towards-endermites-only-spawned-by-player-thrown-ender-pearls", endermanAggroEndermitesOnlyIfPlayerSpawned);

View File

@@ -32,10 +32,10 @@ index 876b06fd6a371caa6cc71026a3b2f7a111c89dc8..6f744c07d01d5e01dda5aa5cdcf9a29f
this.caravanHead.caravanTail = this;
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index da536052d5ed82e143081efa954a1ed501ce989b..76d0e6d1982167723e13a6621750730e59a86831 100644
index dded70c26660fca43ce3972732c8c6d4b97f97d3..00da299988f63aae34c409064074e30fd9bf3aa5 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1332,6 +1332,7 @@ public class PurpurWorldConfig {
@@ -1356,6 +1356,7 @@ public class PurpurWorldConfig {
public double llamaMovementSpeedMax = 0.175D;
public int llamaBreedingTicks = 6000;
public boolean llamaTakeDamageFromWater = false;
@@ -43,7 +43,7 @@ index da536052d5ed82e143081efa954a1ed501ce989b..76d0e6d1982167723e13a6621750730e
private void llamaSettings() {
llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable);
llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater);
@@ -1351,6 +1352,7 @@ public class PurpurWorldConfig {
@@ -1375,6 +1376,7 @@ public class PurpurWorldConfig {
llamaMovementSpeedMax = getDouble("mobs.llama.attributes.movement_speed.max", llamaMovementSpeedMax);
llamaBreedingTicks = getInt("mobs.llama.breeding-delay-ticks", llamaBreedingTicks);
llamaTakeDamageFromWater = getBoolean("mobs.llama.takes-damage-from-water", llamaTakeDamageFromWater);

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Config to make Creepers explode on death
Creepers exploded after being killed in the alpha days. This brings that back.
diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
index a9523b156eb88646ef82ee857d5f68360b12a753..af6f2fd2f2f48b8057cfb0462a0e72a86a1f83e3 100644
index 1d5fe70f910afa3a21cc0f53327c83fd27d94e0e..4ef5824685f7938f549062a9becf5b7c3c1f7604 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
@@ -65,6 +65,7 @@ public class Creeper extends Monster implements PowerableMob {
@@ -50,10 +50,10 @@ index a9523b156eb88646ef82ee857d5f68360b12a753..af6f2fd2f2f48b8057cfb0462a0e72a8
private void spawnLingeringCloud() {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 3045fff19b9f9c35ed1b2e14894f6b5aa8442817..3a730b7d187ba043fc8f3f0ca7412ec44e352fba 100644
index 00da299988f63aae34c409064074e30fd9bf3aa5..d0a175c7a42ab8cb11a5b965a5951542b38d054f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -852,6 +852,7 @@ public class PurpurWorldConfig {
@@ -876,6 +876,7 @@ public class PurpurWorldConfig {
public boolean creeperAllowGriefing = true;
public boolean creeperBypassMobGriefing = false;
public boolean creeperTakeDamageFromWater = false;
@@ -61,7 +61,7 @@ index 3045fff19b9f9c35ed1b2e14894f6b5aa8442817..3a730b7d187ba043fc8f3f0ca7412ec4
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -866,6 +867,7 @@ public class PurpurWorldConfig {
@@ -890,6 +891,7 @@ public class PurpurWorldConfig {
creeperAllowGriefing = getBoolean("mobs.creeper.allow-griefing", creeperAllowGriefing);
creeperBypassMobGriefing = getBoolean("mobs.creeper.bypass-mob-griefing", creeperBypassMobGriefing);
creeperTakeDamageFromWater = getBoolean("mobs.creeper.takes-damage-from-water", creeperTakeDamageFromWater);

View File

@@ -31,10 +31,10 @@ index 2af4c365743b2956939335512f74e0a1d84298f7..a69e7e8da81bd13578d230cc1e3f0f90
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 3a730b7d187ba043fc8f3f0ca7412ec44e352fba..9ec5bae4a4caee44d84dd77b8be6b5c4b4b05b3e 100644
index d0a175c7a42ab8cb11a5b965a5951542b38d054f..8d4b0fdcd40439981723a51759d6e68f0528846f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1704,6 +1704,7 @@ public class PurpurWorldConfig {
@@ -1728,6 +1728,7 @@ public class PurpurWorldConfig {
public double ravagerMaxHealth = 100.0D;
public boolean ravagerBypassMobGriefing = false;
public boolean ravagerTakeDamageFromWater = false;
@@ -42,7 +42,7 @@ index 3a730b7d187ba043fc8f3f0ca7412ec44e352fba..9ec5bae4a4caee44d84dd77b8be6b5c4
private void ravagerSettings() {
ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable);
ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater);
@@ -1716,6 +1717,23 @@ public class PurpurWorldConfig {
@@ -1740,6 +1741,23 @@ public class PurpurWorldConfig {
ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth);
ravagerBypassMobGriefing = getBoolean("mobs.ravager.bypass-mob-griefing", ravagerBypassMobGriefing);
ravagerTakeDamageFromWater = getBoolean("mobs.ravager.takes-damage-from-water", ravagerTakeDamageFromWater);

View File

@@ -31,10 +31,10 @@ index c192f4cc5fd9cb0cf40083c4297f649ab909649d..0d11200ab580cc306602c29c61f76195
this.openTradingScreen(player, this.getDisplayName(), 1);
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 94f0eea598ee9908dd58efd7f4d5f6841bc9a003..9ad20a137f6cf35776e0e9cafe03c0dd475501b0 100644
index a457b2c3fbf8d8c7c90e4568cd4fbeaa7a59599c..06945b8ffefb2ab8a9a5c6c7623f4a41fc81356c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2124,6 +2124,7 @@ public class PurpurWorldConfig {
@@ -2148,6 +2148,7 @@ public class PurpurWorldConfig {
public boolean villagerClericFarmersThrowWarts = true;
public boolean villagerBypassMobGriefing = false;
public boolean villagerTakeDamageFromWater = false;
@@ -42,7 +42,7 @@ index 94f0eea598ee9908dd58efd7f4d5f6841bc9a003..9ad20a137f6cf35776e0e9cafe03c0dd
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2142,6 +2143,7 @@ public class PurpurWorldConfig {
@@ -2166,6 +2167,7 @@ public class PurpurWorldConfig {
villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts);
villagerBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerBypassMobGriefing);
villagerTakeDamageFromWater = getBoolean("mobs.villager.takes-damage-from-water", villagerTakeDamageFromWater);
@@ -50,7 +50,7 @@ index 94f0eea598ee9908dd58efd7f4d5f6841bc9a003..9ad20a137f6cf35776e0e9cafe03c0dd
}
public boolean vindicatorRidable = false;
@@ -2171,6 +2173,7 @@ public class PurpurWorldConfig {
@@ -2195,6 +2197,7 @@ public class PurpurWorldConfig {
public boolean wanderingTraderFollowEmeraldBlock = false;
public boolean wanderingTraderCanBeLeashed = false;
public boolean wanderingTraderTakeDamageFromWater = false;
@@ -58,7 +58,7 @@ index 94f0eea598ee9908dd58efd7f4d5f6841bc9a003..9ad20a137f6cf35776e0e9cafe03c0dd
private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
@@ -2184,6 +2187,7 @@ public class PurpurWorldConfig {
@@ -2208,6 +2211,7 @@ public class PurpurWorldConfig {
wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock);
wanderingTraderCanBeLeashed = getBoolean("mobs.wandering_trader.can-be-leashed", wanderingTraderCanBeLeashed);
wanderingTraderTakeDamageFromWater = getBoolean("mobs.wandering_trader.takes-damage-from-water", wanderingTraderTakeDamageFromWater);

View File

@@ -31,10 +31,10 @@ index 67060b7446535fc352d221d9fe3928d1d6ffcf54..8d5e841d8cc69bf09a9f1b6248633a72
pos = pos.below();
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 57ac8480bc6bb324366bbdd30718eb5df6a7d69b..518973f15f10d68039675dfcedfbeb5d2324a989 100644
index ff178d4c2db6f4ce600ec0cc7ee2e00994efbc68..a2b832b0cfd2325e1cf6ed7b673a7837c808d419 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1648,6 +1648,7 @@ public class PurpurWorldConfig {
@@ -1672,6 +1672,7 @@ public class PurpurWorldConfig {
public double piglinMaxHealth = 16.0D;
public boolean piglinBypassMobGriefing = false;
public boolean piglinTakeDamageFromWater = false;
@@ -42,7 +42,7 @@ index 57ac8480bc6bb324366bbdd30718eb5df6a7d69b..518973f15f10d68039675dfcedfbeb5d
private void piglinSettings() {
piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable);
piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater);
@@ -1660,6 +1661,7 @@ public class PurpurWorldConfig {
@@ -1684,6 +1685,7 @@ public class PurpurWorldConfig {
piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth);
piglinBypassMobGriefing = getBoolean("mobs.piglin.bypass-mob-griefing", piglinBypassMobGriefing);
piglinTakeDamageFromWater = getBoolean("mobs.piglin.takes-damage-from-water", piglinTakeDamageFromWater);

View File

@@ -18,10 +18,10 @@ index c753f715710ec4bb8337e035ac5a4c11371a84a0..a60d7f7baab005afc532ecec7aa22c53
if (!event.isCancelled()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 518973f15f10d68039675dfcedfbeb5d2324a989..3a298515545972bb06a2f214aa35fb579bbac3de 100644
index a2b832b0cfd2325e1cf6ed7b673a7837c808d419..fe8955f3c5891b1127f80744bb7c7418352b246c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2291,6 +2291,7 @@ public class PurpurWorldConfig {
@@ -2315,6 +2315,7 @@ public class PurpurWorldConfig {
public boolean witherBypassMobGriefing = false;
public boolean witherTakeDamageFromWater = false;
public boolean witherCanRideVehicles = false;
@@ -29,7 +29,7 @@ index 518973f15f10d68039675dfcedfbeb5d2324a989..3a298515545972bb06a2f214aa35fb57
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -2311,6 +2312,7 @@ public class PurpurWorldConfig {
@@ -2335,6 +2336,7 @@ public class PurpurWorldConfig {
witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing);
witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater);
witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Config for health to impact Creeper explosion radius
diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
index af6f2fd2f2f48b8057cfb0462a0e72a86a1f83e3..039ae2b694800e0bcd9844be85ad29a001ce52c0 100644
index 4ef5824685f7938f549062a9becf5b7c3c1f7604..b029cff4f64c8cb146b2a23fa5d497c8d27134db 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
@@ -370,9 +370,10 @@ public class Creeper extends Monster implements PowerableMob {
@@ -21,10 +21,10 @@ index af6f2fd2f2f48b8057cfb0462a0e72a86a1f83e3..039ae2b694800e0bcd9844be85ad29a0
// CraftBukkit end
this.dead = true;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index bc6d8925d1124a138af8918146764ed2bc7b9f27..77af32b0e98aaf49add6ca97ff00c6024bcc2cfd 100644
index bbc52aff2bd53b41f3f4156876d332a3df2f8eec..0c8a4ae5aaf472fcabafd9fdcf10aca3d3ba8e82 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -929,6 +929,7 @@ public class PurpurWorldConfig {
@@ -953,6 +953,7 @@ public class PurpurWorldConfig {
public boolean creeperBypassMobGriefing = false;
public boolean creeperTakeDamageFromWater = false;
public boolean creeperExplodeWhenKilled = false;
@@ -32,7 +32,7 @@ index bc6d8925d1124a138af8918146764ed2bc7b9f27..77af32b0e98aaf49add6ca97ff00c602
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -944,6 +945,7 @@ public class PurpurWorldConfig {
@@ -968,6 +969,7 @@ public class PurpurWorldConfig {
creeperBypassMobGriefing = getBoolean("mobs.creeper.bypass-mob-griefing", creeperBypassMobGriefing);
creeperTakeDamageFromWater = getBoolean("mobs.creeper.takes-damage-from-water", creeperTakeDamageFromWater);
creeperExplodeWhenKilled = getBoolean("mobs.creeper.explode-when-killed", creeperExplodeWhenKilled);

View File

@@ -25,10 +25,10 @@ index 9c86d86a6d89585cfbdace89e66866f496da86cb..fa81b12fc38a20b8ec39155259fb75c1
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 77af32b0e98aaf49add6ca97ff00c6024bcc2cfd..0e8829422bd7239523c80048be1aa8c3a17480b1 100644
index 0c8a4ae5aaf472fcabafd9fdcf10aca3d3ba8e82..77fc605bac101503a763ed4b28a2dc733ef950bb 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1387,6 +1387,8 @@ public class PurpurWorldConfig {
@@ -1411,6 +1411,8 @@ public class PurpurWorldConfig {
public boolean ironGolemCanSwim = false;
public double ironGolemMaxHealth = 100.0D;
public boolean ironGolemTakeDamageFromWater = false;
@@ -37,7 +37,7 @@ index 77af32b0e98aaf49add6ca97ff00c6024bcc2cfd..0e8829422bd7239523c80048be1aa8c3
private void ironGolemSettings() {
ironGolemRidable = getBoolean("mobs.iron_golem.ridable", ironGolemRidable);
ironGolemRidableInWater = getBoolean("mobs.iron_golem.ridable-in-water", ironGolemRidableInWater);
@@ -1399,6 +1401,8 @@ public class PurpurWorldConfig {
@@ -1423,6 +1425,8 @@ public class PurpurWorldConfig {
}
ironGolemMaxHealth = getDouble("mobs.iron_golem.attributes.max_health", ironGolemMaxHealth);
ironGolemTakeDamageFromWater = getBoolean("mobs.iron_golem.takes-damage-from-water", ironGolemTakeDamageFromWater);

View File

@@ -50,10 +50,10 @@ index 490d7f8ac402f50a2f2f90ca032169784a402c0f..65be3dd9bc6994cac828ed45b74a577b
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 0e8829422bd7239523c80048be1aa8c3a17480b1..77f8952da7ee8476b685e6aef1f8e2441bca068e 100644
index 77fc605bac101503a763ed4b28a2dc733ef950bb..9f784d1523180d7444ea56e1741907c141191b1a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1557,6 +1557,7 @@ public class PurpurWorldConfig {
@@ -1581,6 +1581,7 @@ public class PurpurWorldConfig {
public double parrotMaxY = 320D;
public double parrotMaxHealth = 6.0D;
public boolean parrotTakeDamageFromWater = false;
@@ -61,7 +61,7 @@ index 0e8829422bd7239523c80048be1aa8c3a17480b1..77f8952da7ee8476b685e6aef1f8e244
private void parrotSettings() {
parrotRidable = getBoolean("mobs.parrot.ridable", parrotRidable);
parrotRidableInWater = getBoolean("mobs.parrot.ridable-in-water", parrotRidableInWater);
@@ -1569,6 +1570,7 @@ public class PurpurWorldConfig {
@@ -1593,6 +1594,7 @@ public class PurpurWorldConfig {
}
parrotMaxHealth = getDouble("mobs.parrot.attributes.max_health", parrotMaxHealth);
parrotTakeDamageFromWater = getBoolean("mobs.parrot.takes-damage-from-water", parrotTakeDamageFromWater);

View File

@@ -31,10 +31,10 @@ index f52823146944d333f2d050e90261b570ba66f5dd..d8efb00c325448d566c59418fe22268c
return false;
} else {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 9c9fea719a90e49147b6c2ae342a1437ea8b9be3..b3d24e076aef331f26ed5035f2015680f4a5c732 100644
index 877084314fa51292ed597b073a2d4ec05854ddb4..e4148482239d8a5db7f02aa5678929b13b58b94d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -765,6 +765,8 @@ public class PurpurWorldConfig {
@@ -778,6 +778,8 @@ public class PurpurWorldConfig {
public double beeMaxHealth = 10.0D;
public int beeBreedingTicks = 6000;
public boolean beeTakeDamageFromWater = false;
@@ -43,7 +43,7 @@ index 9c9fea719a90e49147b6c2ae342a1437ea8b9be3..b3d24e076aef331f26ed5035f2015680
private void beeSettings() {
beeRidable = getBoolean("mobs.bee.ridable", beeRidable);
beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater);
@@ -778,6 +780,8 @@ public class PurpurWorldConfig {
@@ -791,6 +793,8 @@ public class PurpurWorldConfig {
beeMaxHealth = getDouble("mobs.bee.attributes.max_health", beeMaxHealth);
beeBreedingTicks = getInt("mobs.bee.breeding-delay-ticks", beeBreedingTicks);
beeTakeDamageFromWater = getBoolean("mobs.bee.takes-damage-from-water", beeTakeDamageFromWater);

View File

@@ -68,10 +68,10 @@ index 2202798612cad53aff28c499b8909a7292a37ad5..5ed2b7d15686fc9aa6dc7c03c337433c
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 8e92de376b23fc2efcc4e5e65cd988d176399f9f..fbac1586ee666fa9ca22fb0bf2797b0913bf3788 100644
index 6fdc949215bbc7a0e77dd3b3b5e16e5ecf34b6d8..c61fc22105be2c70a06bb88aa1912fa5349d6f60 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1908,6 +1908,11 @@ public class PurpurWorldConfig {
@@ -1932,6 +1932,11 @@ public class PurpurWorldConfig {
public boolean shulkerControllable = true;
public double shulkerMaxHealth = 30.0D;
public boolean shulkerTakeDamageFromWater = false;
@@ -83,7 +83,7 @@ index 8e92de376b23fc2efcc4e5e65cd988d176399f9f..fbac1586ee666fa9ca22fb0bf2797b09
private void shulkerSettings() {
shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable);
shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater);
@@ -1919,6 +1924,11 @@ public class PurpurWorldConfig {
@@ -1943,6 +1948,11 @@ public class PurpurWorldConfig {
}
shulkerMaxHealth = getDouble("mobs.shulker.attributes.max_health", shulkerMaxHealth);
shulkerTakeDamageFromWater = getBoolean("mobs.shulker.takes-damage-from-water", shulkerTakeDamageFromWater);

View File

@@ -26,10 +26,10 @@ index f037d50f26f7532f11a71790448de7a71644b6ca..b3a79dc4357ad4392101353fbc99aac1
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e880950eed7bda56e008c5a365314d175aa8ddb7..a23b90e4beba29adbe36e2dda2f7d85d5fd37693 100644
index a3f6823471d7d93e2759fc8d905213cb53a01e9c..ab8317fd0b1714ff8c0aa18ddbd2fcd194b5f4d4 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1054,6 +1054,7 @@ public class PurpurWorldConfig {
@@ -1078,6 +1078,7 @@ public class PurpurWorldConfig {
public double drownedJockeyChance = 0.05D;
public boolean drownedJockeyTryExistingChickens = true;
public boolean drownedTakeDamageFromWater = false;
@@ -37,7 +37,7 @@ index e880950eed7bda56e008c5a365314d175aa8ddb7..a23b90e4beba29adbe36e2dda2f7d85d
private void drownedSettings() {
drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable);
drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater);
@@ -1069,6 +1070,7 @@ public class PurpurWorldConfig {
@@ -1093,6 +1094,7 @@ public class PurpurWorldConfig {
drownedJockeyChance = getDouble("mobs.drowned.jockey.chance", drownedJockeyChance);
drownedJockeyTryExistingChickens = getBoolean("mobs.drowned.jockey.try-existing-chickens", drownedJockeyTryExistingChickens);
drownedTakeDamageFromWater = getBoolean("mobs.drowned.takes-damage-from-water", drownedTakeDamageFromWater);

View File

@@ -18,10 +18,10 @@ index 08a6cca64ddd49826a0bbddd7711187c73bb4997..dd72d6a79139ff33f26a32b71283ce0b
this.tickTimer = 0;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b3a999c8ecaaf9e0dae83d0fe10f9f927f592b58..a9a2b09b985e3e4eb69d4ae16dfd40f46be936d6 100644
index ab8317fd0b1714ff8c0aa18ddbd2fcd194b5f4d4..85e32ea2fa7b7da97848e98b398674281e50d3d2 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2567,4 +2567,9 @@ public class PurpurWorldConfig {
@@ -2591,4 +2591,9 @@ public class PurpurWorldConfig {
zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry);
zombifiedPiglinTakeDamageFromWater = getBoolean("mobs.zombified_piglin.takes-damage-from-water", zombifiedPiglinTakeDamageFromWater);
}

View File

@@ -17,10 +17,10 @@ index b361c6b4ca17b9d466555037235a5660caa5c9bd..21a570d09ad3e19e6c709ff1152db7d2
for (int i = 0; i < 64; ++i) {
if (this.teleport()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index ee356e3174791f3c54abb8ddbf30694a3e9a87dc..ae67aa6cf66e64d5e7506c0ca7193a9ba8a986ce 100644
index b94ad1875401682430b1336985d1c02c8ee05bef..42b12cadcfa4c8add6fca32db1a4e86c44ea9700 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1425,6 +1425,7 @@ public class PurpurWorldConfig {
@@ -1449,6 +1449,7 @@ public class PurpurWorldConfig {
public boolean endermanAggroEndermitesOnlyIfPlayerSpawned = false;
public boolean endermanIgnorePlayerDragonHead = false;
public boolean endermanDisableStareAggro = false;
@@ -28,7 +28,7 @@ index ee356e3174791f3c54abb8ddbf30694a3e9a87dc..ae67aa6cf66e64d5e7506c0ca7193a9b
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -1447,6 +1448,7 @@ public class PurpurWorldConfig {
@@ -1471,6 +1472,7 @@ public class PurpurWorldConfig {
endermanAggroEndermitesOnlyIfPlayerSpawned = getBoolean("mobs.enderman.aggressive-towards-endermites-only-spawned-by-player-thrown-ender-pearls", endermanAggroEndermitesOnlyIfPlayerSpawned);
endermanIgnorePlayerDragonHead = getBoolean("mobs.enderman.ignore-players-wearing-dragon-head", endermanIgnorePlayerDragonHead);
endermanDisableStareAggro = getBoolean("mobs.enderman.disable-player-stare-aggression", endermanDisableStareAggro);

View File

@@ -18,10 +18,10 @@ index 2ec3a09135f85a5de68e77511f3f213adf08712c..d909138942212ee090ff513b1817414c
return InteractionResult.SUCCESS;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 4513d3e5441e1b68e890836e168c64e9b363f466..69753e7dc0fbc59a6e9d84479a5141a740e2fd15 100644
index 3a819f6ca87f4f7e4a2354a273714818009d3bd7..b47a8a0f9da5bb92ed20c9f98c375b2deac826d4 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2828,6 +2828,8 @@ public class PurpurWorldConfig {
@@ -2852,6 +2852,8 @@ public class PurpurWorldConfig {
public double zombieVillagerJockeyChance = 0.05D;
public boolean zombieVillagerJockeyTryExistingChickens = true;
public boolean zombieVillagerTakeDamageFromWater = false;
@@ -30,7 +30,7 @@ index 4513d3e5441e1b68e890836e168c64e9b363f466..69753e7dc0fbc59a6e9d84479a5141a7
private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -2843,6 +2845,8 @@ public class PurpurWorldConfig {
@@ -2867,6 +2869,8 @@ public class PurpurWorldConfig {
zombieVillagerJockeyChance = getDouble("mobs.zombie_villager.jockey.chance", zombieVillagerJockeyChance);
zombieVillagerJockeyTryExistingChickens = getBoolean("mobs.zombie_villager.jockey.try-existing-chickens", zombieVillagerJockeyTryExistingChickens);
zombieVillagerTakeDamageFromWater = getBoolean("mobs.zombie_villager.takes-damage-from-water", zombieVillagerTakeDamageFromWater);

View File

@@ -18,10 +18,10 @@ index 01d193d2584b62897687bd088fb590de8a4ab279..a030fe21a88a9486cc8367710a96af67
// this.level().globalLevelEvent(1023, new BlockPosition(this), 0);
int viewDistance = ((ServerLevel) this.level()).getCraftServer().getViewDistance() * 16;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b69e224dc04758fec2bd0a2631848f4dc5a67b85..eb64ddde8162833ae522ea88befc2c837a3e6b53 100644
index b86fe53c03a5af5cf0de6e749345cf86d82b4342..c2a6fa99729edf2926d437c2ef676966445501f2 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2673,6 +2673,7 @@ public class PurpurWorldConfig {
@@ -2697,6 +2697,7 @@ public class PurpurWorldConfig {
public boolean witherTakeDamageFromWater = false;
public boolean witherCanRideVehicles = false;
public float witherExplosionRadius = 1.0F;
@@ -29,7 +29,7 @@ index b69e224dc04758fec2bd0a2631848f4dc5a67b85..eb64ddde8162833ae522ea88befc2c83
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -2694,6 +2695,7 @@ public class PurpurWorldConfig {
@@ -2718,6 +2719,7 @@ public class PurpurWorldConfig {
witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater);
witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles);
witherExplosionRadius = (float) getDouble("mobs.wither.explosion-radius", witherExplosionRadius);

View File

@@ -97,10 +97,10 @@ index c1759aeb3e6ad0e4eb66cba3da1b120dd1dce812..1a91bc2e422db0eba65694ac046f1b36
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a673122f46d4e4ad48e8c42e2d50e5ea2870df24..25c361154866194de70c5d2365c25b4c0148e877 100644
index f24f9d3a1bb5587f26ce396238c5d6f564dda6e7..6ce7f636a24a096e451d31f8ea529e49efb3399a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2894,4 +2894,27 @@ public class PurpurWorldConfig {
@@ -2918,4 +2918,27 @@ public class PurpurWorldConfig {
private void hungerSettings() {
hungerStarvationDamage = (float) getDouble("hunger.starvation-damage", hungerStarvationDamage);
}

View File

@@ -47,10 +47,10 @@ index a2bd54dae4b0460d200f6d5300194a7ef5a28830..bf189a171530abfc9bba5db5a305feb3
if (dripChance < f1) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 25c361154866194de70c5d2365c25b4c0148e877..0227caeb0efa2b9aa1d9e8cb1cb13997ebbb7a1c 100644
index 6ce7f636a24a096e451d31f8ea529e49efb3399a..829bff6c8ba4e97b9ff72847e312c33e4f9c3cfb 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2917,4 +2917,15 @@ public class PurpurWorldConfig {
@@ -2941,4 +2941,15 @@ public class PurpurWorldConfig {
});
conduitBlocks = conduitBlockList.toArray(Block[]::new);
}

View File

@@ -29,10 +29,10 @@ index 796f0a3d8dc8faf202e912fe44afb898d286a895..39b980eeb863fda008259a4b52e39393
protected void registerGoals() {
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 70c7596c3a652ec10a7b744ec9b7d3a736281836..eef92b08d29af3e77821da58ab1910f940bba6ae 100644
index 3d8064515223bae87f499d2496bc1faf74e77639..594c8834f4c23866862deec2d97ff3a5d35037b0 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2235,6 +2235,7 @@ public class PurpurWorldConfig {
@@ -2259,6 +2259,7 @@ public class PurpurWorldConfig {
public double shulkerSpawnFromBulletNearbyRange = 8.0D;
public String shulkerSpawnFromBulletNearbyEquation = "(nearby - 1) / 5.0";
public boolean shulkerSpawnFromBulletRandomColor = false;
@@ -40,7 +40,7 @@ index 70c7596c3a652ec10a7b744ec9b7d3a736281836..eef92b08d29af3e77821da58ab1910f9
private void shulkerSettings() {
shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable);
shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater);
@@ -2251,6 +2252,7 @@ public class PurpurWorldConfig {
@@ -2275,6 +2276,7 @@ public class PurpurWorldConfig {
shulkerSpawnFromBulletNearbyRange = getDouble("mobs.shulker.spawn-from-bullet.nearby-range", shulkerSpawnFromBulletNearbyRange);
shulkerSpawnFromBulletNearbyEquation = getString("mobs.shulker.spawn-from-bullet.nearby-equation", shulkerSpawnFromBulletNearbyEquation);
shulkerSpawnFromBulletRandomColor = getBoolean("mobs.shulker.spawn-from-bullet.random-color", shulkerSpawnFromBulletRandomColor);

View File

@@ -48,10 +48,10 @@ index 38112239035b0c66c429c0762199867e70e0a67a..e539eefb6e6d3172611d1f9185a11380
public static AttributeSupplier.Builder createAttributes() {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index fb785f51d7774d31ed50f71f8048301fc2561ed0..b1a941d2747ca93354c9abb67df8419114f27ff7 100644
index 28b497ad67d73a34c1eb09a5a3709d72823f9b5c..49a95c186ae1d2c8cf4474c9009304d3ee575494 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1333,6 +1333,7 @@ public class PurpurWorldConfig {
@@ -1357,6 +1357,7 @@ public class PurpurWorldConfig {
public double dolphinMaxHealth = 10.0D;
public boolean dolphinDisableTreasureSearching = false;
public boolean dolphinTakeDamageFromWater = false;
@@ -59,7 +59,7 @@ index fb785f51d7774d31ed50f71f8048301fc2561ed0..b1a941d2747ca93354c9abb67df84191
private void dolphinSettings() {
dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable);
dolphinControllable = getBoolean("mobs.dolphin.controllable", dolphinControllable);
@@ -1347,6 +1348,7 @@ public class PurpurWorldConfig {
@@ -1371,6 +1372,7 @@ public class PurpurWorldConfig {
dolphinMaxHealth = getDouble("mobs.dolphin.attributes.max_health", dolphinMaxHealth);
dolphinDisableTreasureSearching = getBoolean("mobs.dolphin.disable-treasure-searching", dolphinDisableTreasureSearching);
dolphinTakeDamageFromWater = getBoolean("mobs.dolphin.takes-damage-from-water", dolphinTakeDamageFromWater);

View File

@@ -61,10 +61,10 @@ index c519883f4ed3772378b5563401b8c557dc315ace..78f00014c034949b6559ca948b1b78fa
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 0c705b36e729b45e802770f4e21a7bfbc9919b86..d5e06e7510193239f4e085cb315f736636c690d5 100644
index 49a95c186ae1d2c8cf4474c9009304d3ee575494..83e477e180e20bf04ebd926b12aba37792d0e9bd 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1282,7 +1282,14 @@ public class PurpurWorldConfig {
@@ -1306,7 +1306,14 @@ public class PurpurWorldConfig {
public int cowFeedMushrooms = 0;
public int cowBreedingTicks = 6000;
public boolean cowTakeDamageFromWater = false;
@@ -79,7 +79,7 @@ index 0c705b36e729b45e802770f4e21a7bfbc9919b86..d5e06e7510193239f4e085cb315f7366
cowRidable = getBoolean("mobs.cow.ridable", cowRidable);
cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater);
cowControllable = getBoolean("mobs.cow.controllable", cowControllable);
@@ -1295,6 +1302,8 @@ public class PurpurWorldConfig {
@@ -1319,6 +1326,8 @@ public class PurpurWorldConfig {
cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms);
cowBreedingTicks = getInt("mobs.cow.breeding-delay-ticks", cowBreedingTicks);
cowTakeDamageFromWater = getBoolean("mobs.cow.takes-damage-from-water", cowTakeDamageFromWater);

View File

@@ -60,10 +60,10 @@ index 53f7659aed2378b36f1923a0208c7f86048eb85b..d5a5e51e23328deac09d6990539d8207
this.armorDropChances[EquipmentSlot.HEAD.getIndex()] = 0.0F;
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 613dcb1b68169c724dbf63a6327dab5b50dd4a8d..1b7ebd3fe3cefd1ca26957835a93e103641ddb7a 100644
index 867820c14f2f22ee6dc2c744bf9de109d4d9daff..64276ffc7fb0cb27928442b0b4dc2f6db4ff46b8 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1675,6 +1675,13 @@ public class PurpurWorldConfig {
@@ -1699,6 +1699,13 @@ public class PurpurWorldConfig {
guardianTakeDamageFromWater = getBoolean("mobs.guardian.takes-damage-from-water", guardianTakeDamageFromWater);
}

View File

@@ -18,10 +18,10 @@ index d909138942212ee090ff513b1817414c93457425..fe43c744cccdc07d5e449ce3ede85f4c
if (!this.level().isClientSide) {
this.startConverting(player.getUUID(), this.random.nextInt(level().purpurConfig.zombieVillagerCuringTimeMax - level().purpurConfig.zombieVillagerCuringTimeMin + 1) + level().purpurConfig.zombieVillagerCuringTimeMin); // Purpur
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index d005e045f5fc2a9442fb070ebf984f34785ecc9e..8d4c3c4a06d40841e8446485364393e36e686fdd 100644
index 89a02d8e24fb8519eea6d25d4f91cef197b2b3cb..2d514ebbde1f97276cbb33bed640ec6adfa4cb5a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2894,6 +2894,7 @@ public class PurpurWorldConfig {
@@ -2918,6 +2918,7 @@ public class PurpurWorldConfig {
public boolean zombieVillagerTakeDamageFromWater = false;
public int zombieVillagerCuringTimeMin = 3600;
public int zombieVillagerCuringTimeMax = 6000;
@@ -29,7 +29,7 @@ index d005e045f5fc2a9442fb070ebf984f34785ecc9e..8d4c3c4a06d40841e8446485364393e3
private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -2911,6 +2912,7 @@ public class PurpurWorldConfig {
@@ -2935,6 +2936,7 @@ public class PurpurWorldConfig {
zombieVillagerTakeDamageFromWater = getBoolean("mobs.zombie_villager.takes-damage-from-water", zombieVillagerTakeDamageFromWater);
zombieVillagerCuringTimeMin = getInt("mobs.zombie_villager.curing_time.min", zombieVillagerCuringTimeMin);
zombieVillagerCuringTimeMax = getInt("mobs.zombie_villager.curing_time.max", zombieVillagerCuringTimeMax);

File diff suppressed because it is too large Load Diff

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Mob head visibility percent
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 549579f2bc2e1fd23ece1ead543e3e5242f52ce0..119d2e57995fa20f34b88963b93c945ff87e0cab 100644
index c1e275fb53c4c173d80ae27087048f0f3902c2ad..4744b0dd3f5e9e5f2d92bd8604610bc133977931 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1071,9 +1071,20 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -32,10 +32,10 @@ index 549579f2bc2e1fd23ece1ead543e3e5242f52ce0..119d2e57995fa20f34b88963b93c945f
// Purpur start
if (entity instanceof LivingEntity entityliving) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 9ed53d42189f7f7562ed96b4af39a02db2cb2ff5..77ee5bc60d953e72c6695ce1ce19276f61ae2057 100644
index 2bd0a18e58a0b953adaa7d875bf0ae21b472c20a..2e4c53de39c7a439245017bf5cb4c1aec4b5b30b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1369,6 +1369,7 @@ public class PurpurWorldConfig {
@@ -1393,6 +1393,7 @@ public class PurpurWorldConfig {
public boolean creeperExplodeWhenKilled = false;
public boolean creeperHealthRadius = false;
public boolean creeperAlwaysDropExp = false;
@@ -43,7 +43,7 @@ index 9ed53d42189f7f7562ed96b4af39a02db2cb2ff5..77ee5bc60d953e72c6695ce1ce19276f
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -1386,6 +1387,7 @@ public class PurpurWorldConfig {
@@ -1410,6 +1411,7 @@ public class PurpurWorldConfig {
creeperExplodeWhenKilled = getBoolean("mobs.creeper.explode-when-killed", creeperExplodeWhenKilled);
creeperHealthRadius = getBoolean("mobs.creeper.health-impacts-explosion", creeperHealthRadius);
creeperAlwaysDropExp = getBoolean("mobs.creeper.always-drop-exp", creeperAlwaysDropExp);
@@ -51,7 +51,7 @@ index 9ed53d42189f7f7562ed96b4af39a02db2cb2ff5..77ee5bc60d953e72c6695ce1ce19276f
}
public boolean dolphinRidable = false;
@@ -2172,6 +2174,7 @@ public class PurpurWorldConfig {
@@ -2196,6 +2198,7 @@ public class PurpurWorldConfig {
public boolean piglinTakeDamageFromWater = false;
public int piglinPortalSpawnModifier = 2000;
public boolean piglinAlwaysDropExp = false;
@@ -59,7 +59,7 @@ index 9ed53d42189f7f7562ed96b4af39a02db2cb2ff5..77ee5bc60d953e72c6695ce1ce19276f
private void piglinSettings() {
piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable);
piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater);
@@ -2186,6 +2189,7 @@ public class PurpurWorldConfig {
@@ -2210,6 +2213,7 @@ public class PurpurWorldConfig {
piglinTakeDamageFromWater = getBoolean("mobs.piglin.takes-damage-from-water", piglinTakeDamageFromWater);
piglinPortalSpawnModifier = getInt("mobs.piglin.portal-spawn-modifier", piglinPortalSpawnModifier);
piglinAlwaysDropExp = getBoolean("mobs.piglin.always-drop-exp", piglinAlwaysDropExp);
@@ -67,7 +67,7 @@ index 9ed53d42189f7f7562ed96b4af39a02db2cb2ff5..77ee5bc60d953e72c6695ce1ce19276f
}
public boolean piglinBruteRidable = false;
@@ -2445,6 +2449,7 @@ public class PurpurWorldConfig {
@@ -2469,6 +2473,7 @@ public class PurpurWorldConfig {
public double skeletonMaxHealth = 20.0D;
public boolean skeletonTakeDamageFromWater = false;
public boolean skeletonAlwaysDropExp = false;
@@ -75,7 +75,7 @@ index 9ed53d42189f7f7562ed96b4af39a02db2cb2ff5..77ee5bc60d953e72c6695ce1ce19276f
private void skeletonSettings() {
skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable);
skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater);
@@ -2457,6 +2462,7 @@ public class PurpurWorldConfig {
@@ -2481,6 +2486,7 @@ public class PurpurWorldConfig {
skeletonMaxHealth = getDouble("mobs.skeleton.attributes.max_health", skeletonMaxHealth);
skeletonTakeDamageFromWater = getBoolean("mobs.skeleton.takes-damage-from-water", skeletonTakeDamageFromWater);
skeletonAlwaysDropExp = getBoolean("mobs.skeleton.always-drop-exp", skeletonAlwaysDropExp);
@@ -83,7 +83,7 @@ index 9ed53d42189f7f7562ed96b4af39a02db2cb2ff5..77ee5bc60d953e72c6695ce1ce19276f
}
public boolean skeletonHorseRidable = false;
@@ -2991,6 +2997,7 @@ public class PurpurWorldConfig {
@@ -3015,6 +3021,7 @@ public class PurpurWorldConfig {
public boolean zombieBypassMobGriefing = false;
public boolean zombieTakeDamageFromWater = false;
public boolean zombieAlwaysDropExp = false;
@@ -91,7 +91,7 @@ index 9ed53d42189f7f7562ed96b4af39a02db2cb2ff5..77ee5bc60d953e72c6695ce1ce19276f
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -3009,6 +3016,7 @@ public class PurpurWorldConfig {
@@ -3033,6 +3040,7 @@ public class PurpurWorldConfig {
zombieBypassMobGriefing = getBoolean("mobs.zombie.bypass-mob-griefing", zombieBypassMobGriefing);
zombieTakeDamageFromWater = getBoolean("mobs.zombie.takes-damage-from-water", zombieTakeDamageFromWater);
zombieAlwaysDropExp = getBoolean("mobs.zombie.always-drop-exp", zombieAlwaysDropExp);

View File

@@ -126,10 +126,10 @@ index 69cdccca01fe7d10e6d958e16d91efe08f699505..3b74931ae4e3a869d8db38c119e57b44
}
diff --git a/src/main/java/net/minecraft/world/entity/monster/Bogged.java b/src/main/java/net/minecraft/world/entity/monster/Bogged.java
index e9f9b041ae7195e9d23bd446454b1d8c47a1ace1..03b1023e182744a84d324bdad082cc1b9e574e30 100644
index ebec95ca146591f170d9e31bbc774e88806269a2..fed6e686c29ad0117731a80294e6725f41d8bf77 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Bogged.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Bogged.java
@@ -159,7 +159,7 @@ public class Bogged extends AbstractSkeleton implements Shearable {
@@ -181,7 +181,7 @@ public class Bogged extends AbstractSkeleton implements Shearable {
// Paper start - shear drops API
@Override
@@ -139,7 +139,7 @@ index e9f9b041ae7195e9d23bd446454b1d8c47a1ace1..03b1023e182744a84d324bdad082cc1b
this.generateShearedMushrooms(drops::add);
return drops;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index cd27c2a3343133d688592791bec2a031410ff93f..91d5c175752f6ee850adada6802c8af8f833d9c7 100644
index 15d6e06c21643eb57386e3f0c0e89fcb7ac77c4b..9f128a6a76ee2297e8efdf9371d74fc7998328ce 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -391,6 +391,7 @@ public class PurpurConfig {

View File

@@ -17,10 +17,10 @@ index 926c30db9b28a30fe5d6c8d20f3972dec0d7b4d0..221c0051c7a0e20c1b7a464df26eb63c
++this.timeSinceSting;
if (this.timeSinceSting % 5 == 0 && this.random.nextInt(Mth.clamp(1200 - this.timeSinceSting, 1, 1200)) == 0) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 77ee5bc60d953e72c6695ce1ce19276f61ae2057..c57bf82ab2ef1827b76f57ed8aff9aee08706fb3 100644
index 2e4c53de39c7a439245017bf5cb4c1aec4b5b30b..c1da3aa2ccf8a90bfbbc02ca3b289d99d803be9a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1170,6 +1170,7 @@ public class PurpurWorldConfig {
@@ -1183,6 +1183,7 @@ public class PurpurWorldConfig {
public boolean beeCanWorkAtNight = false;
public boolean beeCanWorkInRain = false;
public boolean beeAlwaysDropExp = false;
@@ -28,7 +28,7 @@ index 77ee5bc60d953e72c6695ce1ce19276f61ae2057..c57bf82ab2ef1827b76f57ed8aff9aee
private void beeSettings() {
beeRidable = getBoolean("mobs.bee.ridable", beeRidable);
beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater);
@@ -1186,6 +1187,7 @@ public class PurpurWorldConfig {
@@ -1199,6 +1200,7 @@ public class PurpurWorldConfig {
beeCanWorkAtNight = getBoolean("mobs.bee.can-work-at-night", beeCanWorkAtNight);
beeCanWorkInRain = getBoolean("mobs.bee.can-work-in-rain", beeCanWorkInRain);
beeAlwaysDropExp = getBoolean("mobs.bee.always-drop-exp", beeAlwaysDropExp);

View File

@@ -22,10 +22,10 @@ index 0d81540d048cd4a08962bd24d3bdd49db708f83f..26077bd6eeedbdae84613188cb0f336a
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 38f417bde3e05124a9ebc23c2c5ea2f4d9d7cefe..b66b8eda76779e3e5807907dc3ce28e4504299a0 100644
index d67c94b024ec3769f011b68ce353fc0adb3564a0..c751331118e37df2bab7d8e05e4a3dc9ee95dee4 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2112,6 +2112,8 @@ public class PurpurWorldConfig {
@@ -2136,6 +2136,8 @@ public class PurpurWorldConfig {
public boolean phantomFlamesOnSwoop = false;
public boolean phantomTakeDamageFromWater = false;
public boolean phantomAlwaysDropExp = false;
@@ -34,7 +34,7 @@ index 38f417bde3e05124a9ebc23c2c5ea2f4d9d7cefe..b66b8eda76779e3e5807907dc3ce28e4
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -2148,6 +2150,13 @@ public class PurpurWorldConfig {
@@ -2172,6 +2174,13 @@ public class PurpurWorldConfig {
phantomFlamesOnSwoop = getBoolean("mobs.phantom.flames-on-swoop", phantomFlamesOnSwoop);
phantomTakeDamageFromWater = getBoolean("mobs.phantom.takes-damage-from-water", phantomTakeDamageFromWater);
phantomAlwaysDropExp = getBoolean("mobs.phantom.always-drop-exp", phantomAlwaysDropExp);

View File

@@ -40,10 +40,10 @@ index 0efc8d997b34302c3e0a5d7ec73a11a940dbeefe..af157881d440b34cfe79fbc9b03cc9ef
public ItemStack assemble() {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b66b8eda76779e3e5807907dc3ce28e4504299a0..e9bd0ab6bdfe6662ac26732bb91c3c21e91c4225 100644
index c751331118e37df2bab7d8e05e4a3dc9ee95dee4..0af1661cd5e8b803430a4adcdeb2275ab4876776 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2793,6 +2793,7 @@ public class PurpurWorldConfig {
@@ -2817,6 +2817,7 @@ public class PurpurWorldConfig {
public boolean villagerTakeDamageFromWater = false;
public boolean villagerAllowTrading = true;
public boolean villagerAlwaysDropExp = false;
@@ -51,7 +51,7 @@ index b66b8eda76779e3e5807907dc3ce28e4504299a0..e9bd0ab6bdfe6662ac26732bb91c3c21
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2813,6 +2814,7 @@ public class PurpurWorldConfig {
@@ -2837,6 +2838,7 @@ public class PurpurWorldConfig {
villagerTakeDamageFromWater = getBoolean("mobs.villager.takes-damage-from-water", villagerTakeDamageFromWater);
villagerAllowTrading = getBoolean("mobs.villager.allow-trading", villagerAllowTrading);
villagerAlwaysDropExp = getBoolean("mobs.villager.always-drop-exp", villagerAlwaysDropExp);

View File

@@ -104,10 +104,10 @@ index 6c15d40979fd3e3d246a447c432b321fbf29ada3..6ace76a829c88e2e747dbbcce0a6582c
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e9bd0ab6bdfe6662ac26732bb91c3c21e91c4225..bf5c8eb060d88681166d4fff1704c8c63e6327ab 100644
index 0af1661cd5e8b803430a4adcdeb2275ab4876776..eb68b8ca8921be15839fae902df4f73cbf754c8a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2794,6 +2794,9 @@ public class PurpurWorldConfig {
@@ -2818,6 +2818,9 @@ public class PurpurWorldConfig {
public boolean villagerAllowTrading = true;
public boolean villagerAlwaysDropExp = false;
public int villagerMinimumDemand = 0;
@@ -117,7 +117,7 @@ index e9bd0ab6bdfe6662ac26732bb91c3c21e91c4225..bf5c8eb060d88681166d4fff1704c8c6
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2815,6 +2818,18 @@ public class PurpurWorldConfig {
@@ -2839,6 +2842,18 @@ public class PurpurWorldConfig {
villagerAllowTrading = getBoolean("mobs.villager.allow-trading", villagerAllowTrading);
villagerAlwaysDropExp = getBoolean("mobs.villager.always-drop-exp", villagerAlwaysDropExp);
villagerMinimumDemand = getInt("mobs.villager.minimum-demand", villagerMinimumDemand);

View File

@@ -17,10 +17,10 @@ index 18dad0825616c4167a0a7555689ee64910a87e09..6945992491027d43eca4f1ca697ad45c
&& this.lookTime > 0
&& entity.getBrain().getMemory(MemoryModuleType.INTERACTION_TARGET).isPresent();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index bf5c8eb060d88681166d4fff1704c8c63e6327ab..aec0e4eec5095c12c7f52e5f955a6a04d05c9819 100644
index eb68b8ca8921be15839fae902df4f73cbf754c8a..7594779136bc9ba3c7ed159bd47f4eac674367c4 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2797,6 +2797,7 @@ public class PurpurWorldConfig {
@@ -2821,6 +2821,7 @@ public class PurpurWorldConfig {
public boolean villagerLobotomizeEnabled = false;
public int villagerLobotomizeCheckInterval = 100;
public boolean villagerLobotomizeWaitUntilTradeLocked = false;
@@ -28,7 +28,7 @@ index bf5c8eb060d88681166d4fff1704c8c63e6327ab..aec0e4eec5095c12c7f52e5f955a6a04
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2830,6 +2831,7 @@ public class PurpurWorldConfig {
@@ -2854,6 +2855,7 @@ public class PurpurWorldConfig {
villagerLobotomizeEnabled = getBoolean("mobs.villager.lobotomize.enabled", villagerLobotomizeEnabled);
villagerLobotomizeCheckInterval = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheckInterval);
villagerLobotomizeWaitUntilTradeLocked = getBoolean("mobs.villager.lobotomize.wait-until-trade-locked", villagerLobotomizeWaitUntilTradeLocked);

View File

@@ -18,10 +18,10 @@ index dd74825c04543ae8c0bb1ab5eef6c8a152b621fd..dcf580d852ede8ea01f5d91944a224ec
AABB axisalignedbb = this.getBoundingBox().inflate(10.0D, 10.0D, 10.0D);
List<Villager> list = world.getEntitiesOfClass(Villager.class, axisalignedbb);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index ebce13b3a25f26c22bbe8a25d38b76027b630401..31497cad3276cc2e9bd5a0e745619eb04fecf25a 100644
index 1f4a19bc5c2c0e39eb4190b159aa95c147ab61bb..5eda0c83dde230af7b90aa7e630bf988f2a25b02 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2808,6 +2808,8 @@ public class PurpurWorldConfig {
@@ -2832,6 +2832,8 @@ public class PurpurWorldConfig {
public int villagerLobotomizeCheckInterval = 100;
public boolean villagerLobotomizeWaitUntilTradeLocked = false;
public boolean villagerDisplayTradeItem = true;
@@ -30,7 +30,7 @@ index ebce13b3a25f26c22bbe8a25d38b76027b630401..31497cad3276cc2e9bd5a0e745619eb0
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2842,6 +2844,8 @@ public class PurpurWorldConfig {
@@ -2866,6 +2868,8 @@ public class PurpurWorldConfig {
villagerLobotomizeCheckInterval = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheckInterval);
villagerLobotomizeWaitUntilTradeLocked = getBoolean("mobs.villager.lobotomize.wait-until-trade-locked", villagerLobotomizeWaitUntilTradeLocked);
villagerDisplayTradeItem = getBoolean("mobs.villager.display-trade-item", villagerDisplayTradeItem);

View File

@@ -94,10 +94,10 @@ index 1aae461eed332fe31c1449c47d0928f655c740da..9eb6ed001bfc578311300977dda6f3f1
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 59cabf7be670c05af5c5a24080fb65e318f5a843..e7f825ae88c7752468537c7df8c8fec6c1e0c983 100644
index 659d2f3981d901ff8b7daa135aa7e449314a669e..1cdda64daf34c72a65bc382d0d2bb17f92e86bed 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2491,6 +2491,7 @@ public class PurpurWorldConfig {
@@ -2515,6 +2515,7 @@ public class PurpurWorldConfig {
public boolean skeletonTakeDamageFromWater = false;
public boolean skeletonAlwaysDropExp = false;
public double skeletonHeadVisibilityPercent = 0.5D;
@@ -105,7 +105,7 @@ index 59cabf7be670c05af5c5a24080fb65e318f5a843..e7f825ae88c7752468537c7df8c8fec6
private void skeletonSettings() {
skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable);
skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater);
@@ -2504,6 +2505,7 @@ public class PurpurWorldConfig {
@@ -2528,6 +2529,7 @@ public class PurpurWorldConfig {
skeletonTakeDamageFromWater = getBoolean("mobs.skeleton.takes-damage-from-water", skeletonTakeDamageFromWater);
skeletonAlwaysDropExp = getBoolean("mobs.skeleton.always-drop-exp", skeletonAlwaysDropExp);
skeletonHeadVisibilityPercent = getDouble("mobs.skeleton.head-visibility-percent", skeletonHeadVisibilityPercent);

View File

@@ -137,10 +137,10 @@ index d47bc2f54c4722a0b8c419b99ee57eb3cb25d750..fdeabdcc781b605d6f3ee18528fd380f
+ // Purpur
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e7f825ae88c7752468537c7df8c8fec6c1e0c983..38f161e102c5202c79108ad150ff42af1a75658c 100644
index 1cdda64daf34c72a65bc382d0d2bb17f92e86bed..43197f65e98c155e40de1e600ab5db747877f0b2 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1528,6 +1528,11 @@ public class PurpurWorldConfig {
@@ -1552,6 +1552,11 @@ public class PurpurWorldConfig {
elderGuardianAlwaysDropExp = getBoolean("mobs.elder_guardian.always-drop-exp", elderGuardianAlwaysDropExp);
}

View File

@@ -1535,10 +1535,10 @@ index 09502b15c20f401c3b56ecedc4d3b515384d654f..bca7b7192debb3a34a08047010a2438e
}
diff --git a/src/main/java/net/minecraft/world/entity/animal/armadillo/Armadillo.java b/src/main/java/net/minecraft/world/entity/animal/armadillo/Armadillo.java
index 29412208e329e9fc211b844822a2fc3328a5bc89..f8790ab5b7c1279719271ee57c00f4f2d6ce9714 100644
index c9740f5588cf4db0c8257c47e96cef7a743cca45..412efb69786e767953864e5f5b44f5cf83a52061 100644
--- a/src/main/java/net/minecraft/world/entity/animal/armadillo/Armadillo.java
+++ b/src/main/java/net/minecraft/world/entity/animal/armadillo/Armadillo.java
@@ -130,12 +130,12 @@ public class Armadillo extends Animal {
@@ -157,12 +157,12 @@ public class Armadillo extends Animal {
@Override
protected void customServerAiStep() {

View File

@@ -18,10 +18,10 @@ index 8515e6360c1630385884a60f652f65fdefeaf540..e80307198b051cbcd9f72b36e4592768
org.bukkit.event.entity.EntityShootBowEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callEntityShootBowEvent(this, this.getMainHandItem(), entityarrow.getPickupItem(), entityarrow, net.minecraft.world.InteractionHand.MAIN_HAND, 0.8F, true); // Paper
if (event.isCancelled()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 8763375984c9cbd9d4862a0130602e11a55292f5..7b028800a99d627a9efcd2a718e281ab7a67cfad 100644
index 8ba75ecdb350796cf2b5f8b710db78e1f741d390..ed36fe26478af919f7589e3f4543735f332dbea9 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2511,6 +2511,8 @@ public class PurpurWorldConfig {
@@ -2535,6 +2535,8 @@ public class PurpurWorldConfig {
public boolean skeletonAlwaysDropExp = false;
public double skeletonHeadVisibilityPercent = 0.5D;
public int skeletonFeedWitherRoses = 0;
@@ -30,7 +30,7 @@ index 8763375984c9cbd9d4862a0130602e11a55292f5..7b028800a99d627a9efcd2a718e281ab
private void skeletonSettings() {
skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable);
skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater);
@@ -2525,6 +2527,18 @@ public class PurpurWorldConfig {
@@ -2549,6 +2551,18 @@ public class PurpurWorldConfig {
skeletonAlwaysDropExp = getBoolean("mobs.skeleton.always-drop-exp", skeletonAlwaysDropExp);
skeletonHeadVisibilityPercent = getDouble("mobs.skeleton.head-visibility-percent", skeletonHeadVisibilityPercent);
skeletonFeedWitherRoses = getInt("mobs.skeleton.feed-wither-roses", skeletonFeedWitherRoses);

View File

@@ -24,10 +24,10 @@ index 137ec75ee803789deb7b1ca93dd9369c9af362b9..ca95d25af3e9a0536868b0c7fd8e7d2f
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index fabe1529ca30dabb93287dfae4cc15ea8c11f69f..6d4d76eff2372edd7ecceb619c3b6650bd779fa2 100644
index bf3bc461f7ec2ea4f9bf45cc59bd2189708667eb..cac0df286dcdb64a72786a35d7df4e056441d97f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1418,6 +1418,7 @@ public class PurpurWorldConfig {
@@ -1442,6 +1442,7 @@ public class PurpurWorldConfig {
public boolean creeperHealthRadius = false;
public boolean creeperAlwaysDropExp = false;
public double creeperHeadVisibilityPercent = 0.5D;
@@ -35,7 +35,7 @@ index fabe1529ca30dabb93287dfae4cc15ea8c11f69f..6d4d76eff2372edd7ecceb619c3b6650
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -1436,6 +1437,7 @@ public class PurpurWorldConfig {
@@ -1460,6 +1461,7 @@ public class PurpurWorldConfig {
creeperHealthRadius = getBoolean("mobs.creeper.health-impacts-explosion", creeperHealthRadius);
creeperAlwaysDropExp = getBoolean("mobs.creeper.always-drop-exp", creeperAlwaysDropExp);
creeperHeadVisibilityPercent = getDouble("mobs.creeper.head-visibility-percent", creeperHeadVisibilityPercent);

View File

@@ -42,10 +42,10 @@ index f1f352ec0e51f5db59254841a06c176c5a876fc9..dff0e7b08b973a1b29f916e63d3e4778
+ // Purpur end - Shears can defuse TNT
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 03819b5d991d91c2e7f5e2eae50e1a7e4197336b..bd1ae536d975b5a3c54063834fd05255f15d8dad 100644
index 1a417bb1f55a1525ec2e80ab9de07412173f31be..9fbe25458260f7a7a71f0684d12756697e7dacb4 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -3282,4 +3282,11 @@ public class PurpurWorldConfig {
@@ -3306,4 +3306,11 @@ public class PurpurWorldConfig {
cauldronDripstoneWaterFillChance = (float) getDouble("blocks.cauldron.fill-chances.dripstone-water", cauldronDripstoneWaterFillChance);
cauldronDripstoneLavaFillChance = (float) getDouble("blocks.cauldron.fill-chances.dripstone-lava", cauldronDripstoneLavaFillChance);
}

View File

@@ -18,10 +18,10 @@ index 5668aca08732e317c7bccacf1cfaae7d8666bce6..07dc8a43f4e8c54a94696b84896d32f6
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index bd1ae536d975b5a3c54063834fd05255f15d8dad..0f4a926937d07f76144cd1146b48bfdadaf887b5 100644
index 9fbe25458260f7a7a71f0684d12756697e7dacb4..8579bc24ff63f42f85791cdc6e167392561b6424 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2097,6 +2097,7 @@ public class PurpurWorldConfig {
@@ -2121,6 +2121,7 @@ public class PurpurWorldConfig {
public int ocelotBreedingTicks = 6000;
public boolean ocelotTakeDamageFromWater = false;
public boolean ocelotAlwaysDropExp = false;
@@ -29,7 +29,7 @@ index bd1ae536d975b5a3c54063834fd05255f15d8dad..0f4a926937d07f76144cd1146b48bfda
private void ocelotSettings() {
ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable);
ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater);
@@ -2110,6 +2111,7 @@ public class PurpurWorldConfig {
@@ -2134,6 +2135,7 @@ public class PurpurWorldConfig {
ocelotBreedingTicks = getInt("mobs.ocelot.breeding-delay-ticks", ocelotBreedingTicks);
ocelotTakeDamageFromWater = getBoolean("mobs.ocelot.takes-damage-from-water", ocelotTakeDamageFromWater);
ocelotAlwaysDropExp = getBoolean("mobs.ocelot.always-drop-exp", ocelotAlwaysDropExp);

View File

@@ -29,10 +29,10 @@ index e25af9af8f87e6762716749c367658bf6bda9e34..b7d5c0b0e3741fcf04c4bac21a82fc41
piglin.getBrain().eraseMemory(MemoryModuleType.WALK_TARGET);
piglin.getNavigation().stop();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 0f4a926937d07f76144cd1146b48bfdadaf887b5..27eadd84aed6d109e278b0ee450fc2c302f61aba 100644
index 8579bc24ff63f42f85791cdc6e167392561b6424..6bc41d7c2d395065e5353856ebaee52ded653a22 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2266,6 +2266,7 @@ public class PurpurWorldConfig {
@@ -2290,6 +2290,7 @@ public class PurpurWorldConfig {
public int piglinPortalSpawnModifier = 2000;
public boolean piglinAlwaysDropExp = false;
public double piglinHeadVisibilityPercent = 0.5D;
@@ -40,7 +40,7 @@ index 0f4a926937d07f76144cd1146b48bfdadaf887b5..27eadd84aed6d109e278b0ee450fc2c3
private void piglinSettings() {
piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable);
piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater);
@@ -2281,6 +2282,7 @@ public class PurpurWorldConfig {
@@ -2305,6 +2306,7 @@ public class PurpurWorldConfig {
piglinPortalSpawnModifier = getInt("mobs.piglin.portal-spawn-modifier", piglinPortalSpawnModifier);
piglinAlwaysDropExp = getBoolean("mobs.piglin.always-drop-exp", piglinAlwaysDropExp);
piglinHeadVisibilityPercent = getDouble("mobs.piglin.head-visibility-percent", piglinHeadVisibilityPercent);

View File

@@ -31,10 +31,10 @@ index 92731b6b593289e9f583c9b705b219e81fcd8e73..9104d7010bda6f9f73b478c11490ef9c
// Paper end - optimise POI access
if (path != null && path.canReach()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 43d91390274c8cc8863e0aceb20837415b915166..710511db0e882d9795c2a1ff31570fbb05fbb0f1 100644
index 0bd5657b95fb99e16a04b8de5edb8d8cd481d5aa..93d76ef7483bf8760971abe5803d8afe778792ca 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2896,6 +2896,8 @@ public class PurpurWorldConfig {
@@ -2920,6 +2920,8 @@ public class PurpurWorldConfig {
public boolean villagerDisplayTradeItem = true;
public int villagerSpawnIronGolemRadius = 0;
public int villagerSpawnIronGolemLimit = 0;
@@ -43,7 +43,7 @@ index 43d91390274c8cc8863e0aceb20837415b915166..710511db0e882d9795c2a1ff31570fbb
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2932,6 +2934,8 @@ public class PurpurWorldConfig {
@@ -2956,6 +2958,8 @@ public class PurpurWorldConfig {
villagerDisplayTradeItem = getBoolean("mobs.villager.display-trade-item", villagerDisplayTradeItem);
villagerSpawnIronGolemRadius = getInt("mobs.villager.spawn-iron-golem.radius", villagerSpawnIronGolemRadius);
villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit);

View File

@@ -18,10 +18,10 @@ index 9551bd7c9bed37cf17910e7f71b82ed20fb2d759..dbfcca8adb7afa7a3101f22c2bc48aff
this.goalSelector.addGoal(5, new WaterAvoidingRandomStrollGoal(this, 0.4D));
this.goalSelector.addGoal(6, new LookAtPlayerGoal(this, Player.class, 6.0F));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 710511db0e882d9795c2a1ff31570fbb05fbb0f1..d8de8710d9b8cf2ae5c434b2b0b27e76ffbbe4bf 100644
index 93d76ef7483bf8760971abe5803d8afe778792ca..d8184b10271eab447b3645c65d19328387cc24d3 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2412,6 +2412,7 @@ public class PurpurWorldConfig {
@@ -2436,6 +2436,7 @@ public class PurpurWorldConfig {
public boolean ravagerTakeDamageFromWater = false;
public List<Block> ravagerGriefableBlocks = new ArrayList<>();
public boolean ravagerAlwaysDropExp = false;
@@ -29,7 +29,7 @@ index 710511db0e882d9795c2a1ff31570fbb05fbb0f1..d8de8710d9b8cf2ae5c434b2b0b27e76
private void ravagerSettings() {
ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable);
ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater);
@@ -2442,6 +2443,7 @@ public class PurpurWorldConfig {
@@ -2466,6 +2467,7 @@ public class PurpurWorldConfig {
}
});
ravagerAlwaysDropExp = getBoolean("mobs.ravager.always-drop-exp", ravagerAlwaysDropExp);