it compiles \o/

This commit is contained in:
granny
2023-03-16 02:12:43 -07:00
parent 3c0d4f1d84
commit 55dbafe799
64 changed files with 599 additions and 814 deletions

View File

@@ -2694,6 +2694,19 @@ index e2935115c8d41af1d623da4f0d4f73de80386129..e9f1d53599168c4c4b44a14b44514302
+ if (level.purpurConfig.zombieHorseCanSwim) goalSelector.addGoal(0, new net.minecraft.world.entity.ai.goal.FloatGoal(this)); // Purpur + if (level.purpurConfig.zombieHorseCanSwim) goalSelector.addGoal(0, new net.minecraft.world.entity.ai.goal.FloatGoal(this)); // Purpur
} }
} }
diff --git a/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java b/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java
index 5719172a31f005ce419f365011d53712a9b2820f..64a8318d95455810cb096059bcfd8e64d0f5d6f6 100644
--- a/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java
+++ b/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java
@@ -273,7 +273,7 @@ public class Sniffer extends Animal {
}
@Override
- protected void jumpFromGround() {
+ public void jumpFromGround() { // Purpur - protected -> public
super.jumpFromGround();
double d = this.moveControl.getSpeedModifier();
if (d > 0.0D) {
diff --git a/src/main/java/net/minecraft/world/entity/boss/EnderDragonPart.java b/src/main/java/net/minecraft/world/entity/boss/EnderDragonPart.java diff --git a/src/main/java/net/minecraft/world/entity/boss/EnderDragonPart.java b/src/main/java/net/minecraft/world/entity/boss/EnderDragonPart.java
index de84a00ce2d2b7c654b08164489624e124568346..998c72513df1dcd2b1316b320b3d5e7ca8e69fd4 100644 index de84a00ce2d2b7c654b08164489624e124568346..998c72513df1dcd2b1316b320b3d5e7ca8e69fd4 100644
--- a/src/main/java/net/minecraft/world/entity/boss/EnderDragonPart.java --- a/src/main/java/net/minecraft/world/entity/boss/EnderDragonPart.java
@@ -5082,7 +5095,7 @@ index c4f4a26e016eea744f587461af80461074d48303..10b109de5abc015b61a896d363ad37a0
public void tick() { public void tick() {
super.tick(); super.tick();
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
index 57a0dbb23a32123d30c3b3572f4d129be9d97847..57c05450bab104273c6532b6534568df0284a5d8 100644 index 57a0dbb23a32123d30c3b3572f4d129be9d97847..fa6938626c64ed17a2f56739d5801494ea6f3be1 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -1442,4 +1442,27 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { @@ -1442,4 +1442,27 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
@@ -5093,7 +5106,7 @@ index 57a0dbb23a32123d30c3b3572f4d129be9d97847..57c05450bab104273c6532b6534568df
+ // Purpur start + // Purpur start
+ @Override + @Override
+ public org.bukkit.entity.Player getRider() { + public org.bukkit.entity.Player getRider() {
+ Player rider = getHandle().getRider(); + net.minecraft.world.entity.player.Player rider = getHandle().getRider();
+ return rider != null ? (org.bukkit.entity.Player) rider.getBukkitEntity() : null; + return rider != null ? (org.bukkit.entity.Player) rider.getBukkitEntity() : null;
+ } + }
+ +
@@ -5109,7 +5122,7 @@ index 57a0dbb23a32123d30c3b3572f4d129be9d97847..57c05450bab104273c6532b6534568df
+ +
+ @Override + @Override
+ public boolean isRidableInWater() { + public boolean isRidableInWater() {
+ return getHandle().rideableUnderWater(); + return !getHandle().dismountsUnderwater();
+ } + }
+ // Purpur end + // Purpur end
} }
@@ -6263,7 +6276,7 @@ index 0000000000000000000000000000000000000000..ba2a37dad43e238e54632975abea8ee6
+} +}
diff --git a/src/main/java/org/purpurmc/purpur/entity/DolphinSpit.java b/src/main/java/org/purpurmc/purpur/entity/DolphinSpit.java diff --git a/src/main/java/org/purpurmc/purpur/entity/DolphinSpit.java b/src/main/java/org/purpurmc/purpur/entity/DolphinSpit.java
new file mode 100644 new file mode 100644
index 0000000000000000000000000000000000000000..d55f7611599b2a339293688861100cb8dae9f6c6 index 0000000000000000000000000000000000000000..602df34e3ec0d05f58737a54a1e8585e8730095c
--- /dev/null --- /dev/null
+++ b/src/main/java/org/purpurmc/purpur/entity/DolphinSpit.java +++ b/src/main/java/org/purpurmc/purpur/entity/DolphinSpit.java
@@ -0,0 +1,99 @@ @@ -0,0 +1,99 @@
@@ -6352,7 +6365,7 @@ index 0000000000000000000000000000000000000000..d55f7611599b2a339293688861100cb8
+ protected void onHitEntity(EntityHitResult entityHitResult) { + protected void onHitEntity(EntityHitResult entityHitResult) {
+ Entity shooter = this.getOwner(); + Entity shooter = this.getOwner();
+ if (shooter instanceof LivingEntity) { + if (shooter instanceof LivingEntity) {
+ entityHitResult.getEntity().hurt(DamageSource.indirectMobAttack(this, (LivingEntity) shooter).setProjectile(), level.purpurConfig.dolphinSpitDamage); + entityHitResult.getEntity().hurt(entityHitResult.getEntity().damageSources().mobProjectile(this, (LivingEntity) shooter), level.purpurConfig.dolphinSpitDamage);
+ } + }
+ } + }
+ +
@@ -6368,7 +6381,7 @@ index 0000000000000000000000000000000000000000..d55f7611599b2a339293688861100cb8
+} +}
diff --git a/src/main/java/org/purpurmc/purpur/entity/PhantomFlames.java b/src/main/java/org/purpurmc/purpur/entity/PhantomFlames.java diff --git a/src/main/java/org/purpurmc/purpur/entity/PhantomFlames.java b/src/main/java/org/purpurmc/purpur/entity/PhantomFlames.java
new file mode 100644 new file mode 100644
index 0000000000000000000000000000000000000000..2eca8317e991ec46cc88a4c7d6d8b50152ba4ea7 index 0000000000000000000000000000000000000000..9ee7fc642d05fd61d91d09c754c6f0680bc39e56
--- /dev/null --- /dev/null
+++ b/src/main/java/org/purpurmc/purpur/entity/PhantomFlames.java +++ b/src/main/java/org/purpurmc/purpur/entity/PhantomFlames.java
@@ -0,0 +1,114 @@ @@ -0,0 +1,114 @@
@@ -6466,7 +6479,7 @@ index 0000000000000000000000000000000000000000..2eca8317e991ec46cc88a4c7d6d8b501
+ if (shooter instanceof LivingEntity) { + if (shooter instanceof LivingEntity) {
+ Entity target = entityHitResult.getEntity(); + Entity target = entityHitResult.getEntity();
+ if (canGrief || (target instanceof LivingEntity && !(target instanceof ArmorStand))) { + if (canGrief || (target instanceof LivingEntity && !(target instanceof ArmorStand))) {
+ boolean hurt = target.hurt(DamageSource.indirectMobAttack(this, (LivingEntity) shooter).setProjectile(), level.purpurConfig.phantomFlameDamage); + boolean hurt = target.hurt(target.damageSources().mobProjectile(this, (LivingEntity) shooter), level.purpurConfig.phantomFlameDamage);
+ if (hurt && level.purpurConfig.phantomFlameFireTime > 0) { + if (hurt && level.purpurConfig.phantomFlameFireTime > 0) {
+ target.setSecondsOnFire(level.purpurConfig.phantomFlameFireTime); + target.setSecondsOnFire(level.purpurConfig.phantomFlameFireTime);
+ } + }

View File

@@ -474,278 +474,6 @@ index f30aad7e722f895b8f6966f042021fc80f470994..eaf2e6b9865a36b7c648bd1205db922a
// Purpur end // Purpur end
@Override @Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
index 37882a393d7c17a9437145ab5fe1f74370681146..40323720d9ded9e3bc5eb2f16b43bb801f6f833c 100644
--- a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
+++ b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
@@ -314,6 +314,23 @@ public class Camel extends AbstractHorse implements PlayerRideableJumping, Rider
return this.dashCooldown;
}
+ // Purpur start
+ @Override
+ public float generateRandomMaxHealth(net.minecraft.util.RandomSource random) {
+ return (float) generateRandomMaxHealth(this.level.purpurConfig.camelMaxHealthMin, this.level.purpurConfig.camelMaxHealthMax);
+ }
+
+ @Override
+ public double generateRandomJumpStrength(net.minecraft.util.RandomSource random) {
+ return generateRandomJumpStrength(this.level.purpurConfig.camelJumpStrengthMin, this.level.purpurConfig.camelJumpStrengthMax);
+ }
+
+ @Override
+ public double generateRandomSpeed(net.minecraft.util.RandomSource random) {
+ return generateRandomSpeed(this.level.purpurConfig.camelMovementSpeedMin, this.level.purpurConfig.camelMovementSpeedMax);
+ }
+ // Purpur end
+
@Override
protected SoundEvent getAmbientSound() {
return SoundEvents.CAMEL_AMBIENT;
diff --git a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
index a9805129f0aaba5f0c2751d463019844eb3b347d..44c1da8784cfeac754f5b43c1ac3bff12c4a262d 100644
--- a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
+++ b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
@@ -104,6 +104,11 @@ public class Goat extends Animal {
public boolean isControllable() {
return level.purpurConfig.goatControllable;
}
+
+ @Override
+ public void initAttributes() {
+ this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.goatMaxHealth);
+ }
// Purpur end
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
index f404bee067c7666fd4cf4818c9b093d54a43d5de..f9c8b5965c898ac57d4c8652e19c1f841f86cca7 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
@@ -155,6 +155,32 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
public boolean isRidable() {
return false; // vanilla handles
}
+
+ @Override
+ public void initAttributes() {
+ this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.generateRandomMaxHealth(this.random));
+ this.getAttribute(Attributes.MOVEMENT_SPEED).setBaseValue(this.generateRandomSpeed(this.random));
+ this.getAttribute(Attributes.JUMP_STRENGTH).setBaseValue(this.generateRandomJumpStrength(this.random));
+ }
+
+ protected double generateRandomMaxHealth(double min, double max) {
+ if (min == max) return min;
+ int diff = Mth.floor(max - min);
+ double base = max - diff;
+ int first = Mth.floor((double) diff / 2);
+ int rest = diff - first;
+ return base + random.nextInt(first + 1) + random.nextInt(rest + 1);
+ }
+
+ protected double generateRandomJumpStrength(double min, double max) {
+ if (min == max) return min;
+ return min + (max - min) * this.random.nextDouble();
+ }
+
+ protected double generateRandomSpeed(double min, double max) {
+ if (min == max) return min;
+ return min + (max - min) * this.random.nextDouble();
+ }
// Purpur end
@Override
@@ -1255,7 +1281,7 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
entityData = new AgeableMob.AgeableMobGroupData(0.2F);
}
- this.randomizeAttributes(world.getRandom());
+ // this.randomizeAttributes(world.getRandom()); // Purpur - replaced by initAttributes()
return super.finalizeSpawn(world, difficulty, spawnReason, (SpawnGroupData) entityData, entityNbt);
}
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java b/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java
index 8f7cd5c3c786ff94fc9b890ec488a461b7edced0..1bf1bff1332cca89ba2df11f397473701b61fc7e 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java
@@ -20,6 +20,21 @@ public class Donkey extends AbstractChestedHorse {
public boolean dismountsUnderwater() {
return !level.purpurConfig.donkeyRidableInWater || super.dismountsUnderwater();
}
+
+ @Override
+ public float generateRandomMaxHealth(net.minecraft.util.RandomSource random) {
+ return (float) generateRandomMaxHealth(this.level.purpurConfig.donkeyMaxHealthMin, this.level.purpurConfig.donkeyMaxHealthMax);
+ }
+
+ @Override
+ public double generateRandomJumpStrength(net.minecraft.util.RandomSource random) {
+ return generateRandomJumpStrength(this.level.purpurConfig.donkeyJumpStrengthMin, this.level.purpurConfig.donkeyJumpStrengthMax);
+ }
+
+ @Override
+ public double generateRandomSpeed(net.minecraft.util.RandomSource random) {
+ return generateRandomSpeed(this.level.purpurConfig.donkeyMovementSpeedMin, this.level.purpurConfig.donkeyMovementSpeedMax);
+ }
// Purpur end
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java b/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java
index c653a3d459fd8c1c4728cd5a0e63c6b3707792d9..ac8ba7652e0ca9f940152de09dc6cac564b99a2e 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java
@@ -45,6 +45,21 @@ public class Horse extends AbstractHorse implements VariantHolder<Variant> {
public boolean dismountsUnderwater() {
return !level.purpurConfig.horseRidableInWater || super.dismountsUnderwater();
}
+
+ @Override
+ public float generateRandomMaxHealth(RandomSource random) {
+ return (float) generateRandomMaxHealth(this.level.purpurConfig.horseMaxHealthMin, this.level.purpurConfig.horseMaxHealthMax);
+ }
+
+ @Override
+ public double generateRandomJumpStrength(RandomSource random) {
+ return generateRandomJumpStrength(this.level.purpurConfig.horseJumpStrengthMin, this.level.purpurConfig.horseJumpStrengthMax);
+ }
+
+ @Override
+ public double generateRandomSpeed(RandomSource random) {
+ return generateRandomSpeed(this.level.purpurConfig.horseMovementSpeedMin, this.level.purpurConfig.horseMovementSpeedMax);
+ }
// Purpur end
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
index 0352e21d54ce58d0ef36df8e68ce74389daa3b5c..b9ba6f7ea3b4b436ac28a7c15b58ee31b561d644 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
@@ -120,6 +120,21 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
public boolean isSaddled() {
return super.isSaddled() || (isTamed() && getSwag() != null);
}
+
+ @Override
+ public float generateRandomMaxHealth(RandomSource random) {
+ return (float) generateRandomMaxHealth(this.level.purpurConfig.llamaMaxHealthMin, this.level.purpurConfig.llamaMaxHealthMax);
+ }
+
+ @Override
+ public double generateRandomJumpStrength(RandomSource random) {
+ return generateRandomJumpStrength(this.level.purpurConfig.llamaJumpStrengthMin, this.level.purpurConfig.llamaJumpStrengthMax);
+ }
+
+ @Override
+ public double generateRandomSpeed(RandomSource random) {
+ return generateRandomSpeed(this.level.purpurConfig.llamaMovementSpeedMin, this.level.purpurConfig.llamaMovementSpeedMax);
+ }
// Purpur end
public boolean isTraderLlama() {
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java b/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java
index cb72039e1c69e76d5d1c99f5fb63819369c2a0d6..e5f6de903d533bbef0083d270618e2a59e7096d2 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java
@@ -19,6 +19,21 @@ public class Mule extends AbstractChestedHorse {
public boolean dismountsUnderwater() {
return !level.purpurConfig.muleRidableInWater || super.dismountsUnderwater();
}
+
+ @Override
+ public float generateRandomMaxHealth(net.minecraft.util.RandomSource random) {
+ return (float) generateRandomMaxHealth(this.level.purpurConfig.muleMaxHealthMin, this.level.purpurConfig.muleMaxHealthMax);
+ }
+
+ @Override
+ public double generateRandomJumpStrength(net.minecraft.util.RandomSource random) {
+ return generateRandomJumpStrength(this.level.purpurConfig.muleJumpStrengthMin, this.level.purpurConfig.muleJumpStrengthMax);
+ }
+
+ @Override
+ public double generateRandomSpeed(net.minecraft.util.RandomSource random) {
+ return generateRandomSpeed(this.level.purpurConfig.muleMovementSpeedMin, this.level.purpurConfig.muleMovementSpeedMax);
+ }
// Purpur end
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
index 7c891be8b94a6438910a53c0473393d49b19f5d9..e34e34a276a926c72c98bb1f9d2bacc26bde4d4f 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
@@ -33,6 +33,21 @@ public class SkeletonHorse extends AbstractHorse {
public boolean isTamed() {
return true;
}
+
+ @Override
+ public float generateRandomMaxHealth(RandomSource random) {
+ return (float) generateRandomMaxHealth(this.level.purpurConfig.skeletonHorseMaxHealthMin, this.level.purpurConfig.skeletonHorseMaxHealthMax);
+ }
+
+ @Override
+ public double generateRandomJumpStrength(RandomSource random) {
+ return generateRandomJumpStrength(this.level.purpurConfig.skeletonHorseJumpStrengthMin, this.level.purpurConfig.skeletonHorseJumpStrengthMax);
+ }
+
+ @Override
+ public double generateRandomSpeed(RandomSource random) {
+ return generateRandomSpeed(this.level.purpurConfig.skeletonHorseMovementSpeedMin, this.level.purpurConfig.skeletonHorseMovementSpeedMax);
+ }
// Purpur end
public static AttributeSupplier.Builder createAttributes() {
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
index 636e86c4f0c9739d1440e524c86eddce15bb3e63..540fcb9dff24208d363dcd416ad7adc3f6112776 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
@@ -47,6 +47,21 @@ public class TraderLlama extends Llama {
public boolean isSaddled() {
return super.isSaddled() || isTamed();
}
+
+ @Override
+ public float generateRandomMaxHealth(net.minecraft.util.RandomSource random) {
+ return (float) generateRandomMaxHealth(this.level.purpurConfig.traderLlamaMaxHealthMin, this.level.purpurConfig.traderLlamaMaxHealthMax);
+ }
+
+ @Override
+ public double generateRandomJumpStrength(net.minecraft.util.RandomSource random) {
+ return generateRandomJumpStrength(this.level.purpurConfig.traderLlamaJumpStrengthMin, this.level.purpurConfig.traderLlamaJumpStrengthMax);
+ }
+
+ @Override
+ public double generateRandomSpeed(net.minecraft.util.RandomSource random) {
+ return generateRandomSpeed(this.level.purpurConfig.traderLlamaMovementSpeedMin, this.level.purpurConfig.traderLlamaMovementSpeedMax);
+ }
// Purpur end
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
index e9f1d53599168c4c4b44a14b445143025c4be83a..22dbda04f4cb372063410bd10a3473631acef8af 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
@@ -31,6 +31,21 @@ public class ZombieHorse extends AbstractHorse {
public boolean isTamed() {
return true;
}
+
+ @Override
+ public float generateRandomMaxHealth(RandomSource random) {
+ return (float) generateRandomMaxHealth(this.level.purpurConfig.zombieHorseMaxHealthMin, this.level.purpurConfig.zombieHorseMaxHealthMax);
+ }
+
+ @Override
+ public double generateRandomJumpStrength(RandomSource random) {
+ return generateRandomJumpStrength(this.level.purpurConfig.zombieHorseJumpStrengthMin, this.level.purpurConfig.zombieHorseJumpStrengthMax);
+ }
+
+ @Override
+ public double generateRandomSpeed(RandomSource random) {
+ return generateRandomSpeed(this.level.purpurConfig.zombieHorseMovementSpeedMin, this.level.purpurConfig.zombieHorseMovementSpeedMax);
+ }
// Purpur end
public static AttributeSupplier.Builder createAttributes() {
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 diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
index d4561ddfd79e80414ce006d54b90a45345017378..09ed5144c448f7620b5c856a9fa12da07ec0cce6 100644 index d4561ddfd79e80414ce006d54b90a45345017378..09ed5144c448f7620b5c856a9fa12da07ec0cce6 100644
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java --- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
@@ -1492,10 +1220,10 @@ index 774da46962f70e73d31ea523eb5bfc286f38856d..d2324e2dbd72fcd5a8ab562bc3b6e530
@Override @Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 5925b4e4707818e70a94eb0e77327c6eaa669312..08b8d90ebdfd3937b6c32a7f18f08aeeaa4a8189 100644 index 5925b4e4707818e70a94eb0e77327c6eaa669312..9402abb6f417dc25fe6549a22239962ccda2cd49 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -112,94 +112,183 @@ public class PurpurWorldConfig { @@ -112,94 +112,181 @@ public class PurpurWorldConfig {
public boolean axolotlRidable = false; public boolean axolotlRidable = false;
public boolean axolotlControllable = true; public boolean axolotlControllable = true;
@@ -1567,13 +1295,12 @@ index 5925b4e4707818e70a94eb0e77327c6eaa669312..08b8d90ebdfd3937b6c32a7f18f08aee
+ blazeMaxHealth = getDouble("mobs.blaze.attributes.max_health", blazeMaxHealth); + blazeMaxHealth = getDouble("mobs.blaze.attributes.max_health", blazeMaxHealth);
+ } + }
+ +
+ public int camelBreedingTicks = 6000; + public double camelMaxHealthMin = 32.0D; // TODO: re-implement
+ public double camelMaxHealthMin = 32.0D; + public double camelMaxHealthMax = 32.0D; // TODO: re-implement
+ public double camelMaxHealthMax = 32.0D; + public double camelJumpStrengthMin = 0.42D; // TODO: re-implement
+ public double camelJumpStrengthMin = 0.42D; + public double camelJumpStrengthMax = 0.42D; // TODO: re-implement
+ public double camelJumpStrengthMax = 0.42D; + public double camelMovementSpeedMin = 0.09D; // TODO: re-implement
+ public double camelMovementSpeedMin = 0.09D; + public double camelMovementSpeedMax = 0.09D; // TODO: re-implement
+ public double camelMovementSpeedMax = 0.09D;
+ private void camelSettings() { + private void camelSettings() {
+ camelMaxHealthMin = getDouble("mobs.camel.attributes.max_health.min", camelMaxHealthMin); + camelMaxHealthMin = getDouble("mobs.camel.attributes.max_health.min", camelMaxHealthMin);
+ camelMaxHealthMax = getDouble("mobs.camel.attributes.max_health.max", camelMaxHealthMax); + camelMaxHealthMax = getDouble("mobs.camel.attributes.max_health.max", camelMaxHealthMax);
@@ -1581,7 +1308,6 @@ index 5925b4e4707818e70a94eb0e77327c6eaa669312..08b8d90ebdfd3937b6c32a7f18f08aee
+ camelJumpStrengthMax = getDouble("mobs.camel.attributes.jump_strength.max", camelJumpStrengthMax); + camelJumpStrengthMax = getDouble("mobs.camel.attributes.jump_strength.max", camelJumpStrengthMax);
+ camelMovementSpeedMin = getDouble("mobs.camel.attributes.movement_speed.min", camelMovementSpeedMin); + camelMovementSpeedMin = getDouble("mobs.camel.attributes.movement_speed.min", camelMovementSpeedMin);
+ camelMovementSpeedMax = getDouble("mobs.camel.attributes.movement_speed.max", camelMovementSpeedMax); + camelMovementSpeedMax = getDouble("mobs.camel.attributes.movement_speed.max", camelMovementSpeedMax);
+ camelBreedingTicks = getInt("mobs.camel.breeding-delay-ticks", camelBreedingTicks);
} }
public boolean catRidable = false; public boolean catRidable = false;
@@ -1679,7 +1405,7 @@ index 5925b4e4707818e70a94eb0e77327c6eaa669312..08b8d90ebdfd3937b6c32a7f18f08aee
} }
public boolean dolphinRidable = false; public boolean dolphinRidable = false;
@@ -207,80 +296,161 @@ public class PurpurWorldConfig { @@ -207,80 +294,161 @@ public class PurpurWorldConfig {
public int dolphinSpitCooldown = 20; public int dolphinSpitCooldown = 20;
public float dolphinSpitSpeed = 1.0F; public float dolphinSpitSpeed = 1.0F;
public float dolphinSpitDamage = 2.0F; public float dolphinSpitDamage = 2.0F;
@@ -1699,12 +1425,12 @@ index 5925b4e4707818e70a94eb0e77327c6eaa669312..08b8d90ebdfd3937b6c32a7f18f08aee
} }
public boolean donkeyRidableInWater = false; public boolean donkeyRidableInWater = false;
+ public double donkeyMaxHealthMin = 15.0D; + public double donkeyMaxHealthMin = 15.0D; // TODO: re-implement
+ public double donkeyMaxHealthMax = 30.0D; + public double donkeyMaxHealthMax = 30.0D; // TODO: re-implement
+ public double donkeyJumpStrengthMin = 0.5D; + public double donkeyJumpStrengthMin = 0.5D; // TODO: re-implement
+ public double donkeyJumpStrengthMax = 0.5D; + public double donkeyJumpStrengthMax = 0.5D; // TODO: re-implement
+ public double donkeyMovementSpeedMin = 0.175D; + public double donkeyMovementSpeedMin = 0.175D; // TODO: re-implement
+ public double donkeyMovementSpeedMax = 0.175D; + public double donkeyMovementSpeedMax = 0.175D; // TODO: re-implement
private void donkeySettings() { private void donkeySettings() {
donkeyRidableInWater = getBoolean("mobs.donkey.ridable-in-water", donkeyRidableInWater); donkeyRidableInWater = getBoolean("mobs.donkey.ridable-in-water", donkeyRidableInWater);
+ if (PurpurConfig.version < 10) { + if (PurpurConfig.version < 10) {
@@ -1841,7 +1567,7 @@ index 5925b4e4707818e70a94eb0e77327c6eaa669312..08b8d90ebdfd3937b6c32a7f18f08aee
} }
public boolean frogRidable = false; public boolean frogRidable = false;
@@ -298,147 +468,316 @@ public class PurpurWorldConfig { @@ -298,147 +466,316 @@ public class PurpurWorldConfig {
public boolean ghastRidableInWater = false; public boolean ghastRidableInWater = false;
public boolean ghastControllable = true; public boolean ghastControllable = true;
public double ghastMaxY = 320D; public double ghastMaxY = 320D;
@@ -1934,12 +1660,12 @@ index 5925b4e4707818e70a94eb0e77327c6eaa669312..08b8d90ebdfd3937b6c32a7f18f08aee
} }
public boolean horseRidableInWater = false; public boolean horseRidableInWater = false;
+ public double horseMaxHealthMin = 15.0D; + public double horseMaxHealthMin = 15.0D; // TODO: re-implement
+ public double horseMaxHealthMax = 30.0D; + public double horseMaxHealthMax = 30.0D; // TODO: re-implement
+ public double horseJumpStrengthMin = 0.4D; + public double horseJumpStrengthMin = 0.4D; // TODO: re-implement
+ public double horseJumpStrengthMax = 1.0D; + public double horseJumpStrengthMax = 1.0D; // TODO: re-implement
+ public double horseMovementSpeedMin = 0.1125D; + public double horseMovementSpeedMin = 0.1125D; // TODO: re-implement
+ public double horseMovementSpeedMax = 0.3375D; + public double horseMovementSpeedMax = 0.3375D; // TODO: re-implement
private void horseSettings() { private void horseSettings() {
horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater); horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater);
+ if (PurpurConfig.version < 10) { + if (PurpurConfig.version < 10) {
@@ -2020,12 +1746,12 @@ index 5925b4e4707818e70a94eb0e77327c6eaa669312..08b8d90ebdfd3937b6c32a7f18f08aee
public boolean llamaRidable = false; public boolean llamaRidable = false;
public boolean llamaRidableInWater = false; public boolean llamaRidableInWater = false;
public boolean llamaControllable = true; public boolean llamaControllable = true;
+ public double llamaMaxHealthMin = 15.0D; + public double llamaMaxHealthMin = 15.0D; // TODO: re-implement
+ public double llamaMaxHealthMax = 30.0D; + public double llamaMaxHealthMax = 30.0D; // TODO: re-implement
+ public double llamaJumpStrengthMin = 0.5D; + public double llamaJumpStrengthMin = 0.5D; // TODO: re-implement
+ public double llamaJumpStrengthMax = 0.5D; + public double llamaJumpStrengthMax = 0.5D; // TODO: re-implement
+ public double llamaMovementSpeedMin = 0.175D; + public double llamaMovementSpeedMin = 0.175D; // TODO: re-implement
+ public double llamaMovementSpeedMax = 0.175D; + public double llamaMovementSpeedMax = 0.175D; // TODO: re-implement
private void llamaSettings() { private void llamaSettings() {
llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable); llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable);
llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater); llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater);
@@ -2084,12 +1810,12 @@ index 5925b4e4707818e70a94eb0e77327c6eaa669312..08b8d90ebdfd3937b6c32a7f18f08aee
} }
public boolean muleRidableInWater = false; public boolean muleRidableInWater = false;
+ public double muleMaxHealthMin = 15.0D; + public double muleMaxHealthMin = 15.0D; // TODO: re-implement
+ public double muleMaxHealthMax = 30.0D; + public double muleMaxHealthMax = 30.0D; // TODO: re-implement
+ public double muleJumpStrengthMin = 0.5D; + public double muleJumpStrengthMin = 0.5D; // TODO: re-implement
+ public double muleJumpStrengthMax = 0.5D; + public double muleJumpStrengthMax = 0.5D; // TODO: re-implement
+ public double muleMovementSpeedMin = 0.175D; + public double muleMovementSpeedMin = 0.175D; // TODO: re-implement
+ public double muleMovementSpeedMax = 0.175D; + public double muleMovementSpeedMax = 0.175D; // TODO: re-implement
private void muleSettings() { private void muleSettings() {
muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater); muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater);
+ if (PurpurConfig.version < 10) { + if (PurpurConfig.version < 10) {
@@ -2158,7 +1884,7 @@ index 5925b4e4707818e70a94eb0e77327c6eaa669312..08b8d90ebdfd3937b6c32a7f18f08aee
} }
public boolean phantomRidable = false; public boolean phantomRidable = false;
@@ -448,6 +787,10 @@ public class PurpurWorldConfig { @@ -448,6 +785,10 @@ public class PurpurWorldConfig {
public float phantomFlameDamage = 1.0F; public float phantomFlameDamage = 1.0F;
public int phantomFlameFireTime = 8; public int phantomFlameFireTime = 8;
public boolean phantomAllowGriefing = false; public boolean phantomAllowGriefing = false;
@@ -2169,7 +1895,7 @@ index 5925b4e4707818e70a94eb0e77327c6eaa669312..08b8d90ebdfd3937b6c32a7f18f08aee
private void phantomSettings() { private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -456,180 +799,350 @@ public class PurpurWorldConfig { @@ -456,180 +797,350 @@ public class PurpurWorldConfig {
phantomFlameDamage = (float) getDouble("mobs.phantom.flames.damage", phantomFlameDamage); phantomFlameDamage = (float) getDouble("mobs.phantom.flames.damage", phantomFlameDamage);
phantomFlameFireTime = getInt("mobs.phantom.flames.fire-time", phantomFlameFireTime); phantomFlameFireTime = getInt("mobs.phantom.flames.fire-time", phantomFlameFireTime);
phantomAllowGriefing = getBoolean("mobs.phantom.allow-griefing", phantomAllowGriefing); phantomAllowGriefing = getBoolean("mobs.phantom.allow-griefing", phantomAllowGriefing);
@@ -2394,12 +2120,12 @@ index 5925b4e4707818e70a94eb0e77327c6eaa669312..08b8d90ebdfd3937b6c32a7f18f08aee
public boolean skeletonHorseRidableInWater = true; public boolean skeletonHorseRidableInWater = true;
public boolean skeletonHorseCanSwim = false; public boolean skeletonHorseCanSwim = false;
+ public double skeletonHorseMaxHealthMin = 15.0D; + public double skeletonHorseMaxHealthMin = 15.0D; // TODO: re-implement
+ public double skeletonHorseMaxHealthMax = 15.0D; + public double skeletonHorseMaxHealthMax = 15.0D; // TODO: re-implement
+ public double skeletonHorseJumpStrengthMin = 0.4D; + public double skeletonHorseJumpStrengthMin = 0.4D; // TODO: re-implement
+ public double skeletonHorseJumpStrengthMax = 1.0D; + public double skeletonHorseJumpStrengthMax = 1.0D; // TODO: re-implement
+ public double skeletonHorseMovementSpeedMin = 0.2D; + public double skeletonHorseMovementSpeedMin = 0.2D; // TODO: re-implement
+ public double skeletonHorseMovementSpeedMax = 0.2D; + public double skeletonHorseMovementSpeedMax = 0.2D; // TODO: re-implement
private void skeletonHorseSettings() { private void skeletonHorseSettings() {
skeletonHorseRidableInWater = getBoolean("mobs.skeleton_horse.ridable-in-water", skeletonHorseRidableInWater); skeletonHorseRidableInWater = getBoolean("mobs.skeleton_horse.ridable-in-water", skeletonHorseRidableInWater);
skeletonHorseCanSwim = getBoolean("mobs.skeleton_horse.can-swim", skeletonHorseCanSwim); skeletonHorseCanSwim = getBoolean("mobs.skeleton_horse.can-swim", skeletonHorseCanSwim);
@@ -2520,16 +2246,16 @@ index 5925b4e4707818e70a94eb0e77327c6eaa669312..08b8d90ebdfd3937b6c32a7f18f08aee
} }
public boolean tadpoleRidable = false; public boolean tadpoleRidable = false;
@@ -644,64 +1157,125 @@ public class PurpurWorldConfig { @@ -644,64 +1155,125 @@ public class PurpurWorldConfig {
public boolean traderLlamaRidable = false; public boolean traderLlamaRidable = false;
public boolean traderLlamaRidableInWater = false; public boolean traderLlamaRidableInWater = false;
public boolean traderLlamaControllable = true; public boolean traderLlamaControllable = true;
+ public double traderLlamaMaxHealthMin = 15.0D; + public double traderLlamaMaxHealthMin = 15.0D; // TODO: re-implement
+ public double traderLlamaMaxHealthMax = 30.0D; + public double traderLlamaMaxHealthMax = 30.0D; // TODO: re-implement
+ public double traderLlamaJumpStrengthMin = 0.5D; + public double traderLlamaJumpStrengthMin = 0.5D; // TODO: re-implement
+ public double traderLlamaJumpStrengthMax = 0.5D; + public double traderLlamaJumpStrengthMax = 0.5D; // TODO: re-implement
+ public double traderLlamaMovementSpeedMin = 0.175D; + public double traderLlamaMovementSpeedMin = 0.175D; // TODO: re-implement
+ public double traderLlamaMovementSpeedMax = 0.175D; + public double traderLlamaMovementSpeedMax = 0.175D; // TODO: re-implement
private void traderLlamaSettings() { private void traderLlamaSettings() {
traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable); traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable);
traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater); traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater);
@@ -2646,7 +2372,7 @@ index 5925b4e4707818e70a94eb0e77327c6eaa669312..08b8d90ebdfd3937b6c32a7f18f08aee
} }
public boolean wardenRidable = false; public boolean wardenRidable = false;
@@ -716,81 +1290,165 @@ public class PurpurWorldConfig { @@ -716,81 +1288,165 @@ public class PurpurWorldConfig {
public boolean witchRidable = false; public boolean witchRidable = false;
public boolean witchRidableInWater = false; public boolean witchRidableInWater = false;
public boolean witchControllable = true; public boolean witchControllable = true;
@@ -2753,12 +2479,12 @@ index 5925b4e4707818e70a94eb0e77327c6eaa669312..08b8d90ebdfd3937b6c32a7f18f08aee
public boolean zombieHorseRidableInWater = false; public boolean zombieHorseRidableInWater = false;
public boolean zombieHorseCanSwim = false; public boolean zombieHorseCanSwim = false;
+ public double zombieHorseMaxHealthMin = 15.0D; + public double zombieHorseMaxHealthMin = 15.0D; // TODO: re-implement
+ public double zombieHorseMaxHealthMax = 15.0D; + public double zombieHorseMaxHealthMax = 15.0D; // TODO: re-implement
+ public double zombieHorseJumpStrengthMin = 0.4D; + public double zombieHorseJumpStrengthMin = 0.4D; // TODO: re-implement
+ public double zombieHorseJumpStrengthMax = 1.0D; + public double zombieHorseJumpStrengthMax = 1.0D; // TODO: re-implement
+ public double zombieHorseMovementSpeedMin = 0.2D; + public double zombieHorseMovementSpeedMin = 0.2D; // TODO: re-implement
+ public double zombieHorseMovementSpeedMax = 0.2D; + public double zombieHorseMovementSpeedMax = 0.2D; // TODO: re-implement
private void zombieHorseSettings() { private void zombieHorseSettings() {
zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater); zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater);
zombieHorseCanSwim = getBoolean("mobs.zombie_horse.can-swim", zombieHorseCanSwim); zombieHorseCanSwim = getBoolean("mobs.zombie_horse.can-swim", zombieHorseCanSwim);

View File

@@ -25,7 +25,7 @@ index 721971f7618751a2e95f1c49fdc48a9c0c672cab..7b141c495095afcd9c8b04c059d692e8
double d = this.llama.distanceToSqr(this.llama.getCaravanHead()); double d = this.llama.distanceToSqr(this.llama.getCaravanHead());
if (d > 676.0D) { if (d > 676.0D) {
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
index 3de18e1389559678b229a334fb98946810c3f214..35fb0f92a94d141c98b3cd8927c76c35a921e04e 100644 index 0352e21d54ce58d0ef36df8e68ce74389daa3b5c..8adca393017dcc2e44a7379b971cd2a4704bc570 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java --- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
@@ -73,6 +73,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V @@ -73,6 +73,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
@@ -36,7 +36,7 @@ index 3de18e1389559678b229a334fb98946810c3f214..35fb0f92a94d141c98b3cd8927c76c35
public Llama(EntityType<? extends Llama> type, Level world) { public Llama(EntityType<? extends Llama> type, Level world) {
super(type, world); super(type, world);
@@ -169,7 +170,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V @@ -154,7 +155,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
if (!this.inventory.getItem(1).isEmpty()) { if (!this.inventory.getItem(1).isEmpty()) {
nbt.put("DecorItem", this.inventory.getItem(1).save(new CompoundTag())); nbt.put("DecorItem", this.inventory.getItem(1).save(new CompoundTag()));
} }
@@ -45,7 +45,7 @@ index 3de18e1389559678b229a334fb98946810c3f214..35fb0f92a94d141c98b3cd8927c76c35
} }
@Override @Override
@@ -180,7 +181,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V @@ -165,7 +166,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
if (nbt.contains("DecorItem", 10)) { if (nbt.contains("DecorItem", 10)) {
this.inventory.setItem(1, ItemStack.of(nbt.getCompound("DecorItem"))); this.inventory.setItem(1, ItemStack.of(nbt.getCompound("DecorItem")));
} }
@@ -54,7 +54,7 @@ index 3de18e1389559678b229a334fb98946810c3f214..35fb0f92a94d141c98b3cd8927c76c35
this.updateContainerEquipment(); this.updateContainerEquipment();
} }
@@ -521,6 +522,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V @@ -506,6 +507,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
public void leaveCaravan() { public void leaveCaravan() {
if (this.caravanHead != null) { if (this.caravanHead != null) {
@@ -62,7 +62,7 @@ index 3de18e1389559678b229a334fb98946810c3f214..35fb0f92a94d141c98b3cd8927c76c35
this.caravanHead.caravanTail = null; this.caravanHead.caravanTail = null;
} }
@@ -528,6 +530,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V @@ -513,6 +515,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
} }
public void joinCaravan(Llama llama) { public void joinCaravan(Llama llama) {

View File

@@ -37,10 +37,10 @@ index cbbef7730e7743c05ddc8011eab77f05829132f5..d0437c2d10c44883c90861666dc2cd88
} }
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
index f9c8b5965c898ac57d4c8652e19c1f841f86cca7..48866a9dd0da91c870eff2153a8505f6d2a6a622 100644 index f404bee067c7666fd4cf4818c9b093d54a43d5de..271535fc770cb5a9b849bebe49b3040c72f616ea 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java --- a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
@@ -373,7 +373,7 @@ public abstract class AbstractHorse extends Animal implements ContainerListener, @@ -347,7 +347,7 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
@Override @Override
protected int calculateFallDamage(float fallDistance, float damageMultiplier) { protected int calculateFallDamage(float fallDistance, float damageMultiplier) {
@@ -50,7 +50,7 @@ index f9c8b5965c898ac57d4c8652e19c1f841f86cca7..48866a9dd0da91c870eff2153a8505f6
protected int getInventorySize() { protected int getInventorySize() {
diff --git a/src/main/java/net/minecraft/world/entity/monster/Giant.java b/src/main/java/net/minecraft/world/entity/monster/Giant.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Giant.java b/src/main/java/net/minecraft/world/entity/monster/Giant.java
index 8b1942b396606f0c989645a6ac587fbdd26a3dc5..c1c5e884f00398032196ee71b55b348fcfce21ce 100644 index a57299a152eb05d49fed58eda6aaa29c0b5f1362..c1e5447a11b5bcdbd34e3d6538f977efd5b4692b 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Giant.java --- a/src/main/java/net/minecraft/world/entity/monster/Giant.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Giant.java +++ b/src/main/java/net/minecraft/world/entity/monster/Giant.java
@@ -12,6 +12,7 @@ import net.minecraft.world.level.LevelReader; @@ -12,6 +12,7 @@ import net.minecraft.world.level.LevelReader;

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Giants AI settings
diff --git a/src/main/java/net/minecraft/world/entity/monster/Giant.java b/src/main/java/net/minecraft/world/entity/monster/Giant.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Giant.java b/src/main/java/net/minecraft/world/entity/monster/Giant.java
index c1c5e884f00398032196ee71b55b348fcfce21ce..ed032918fb33d60c2d60d4db9275dddf88dd72d9 100644 index c1e5447a11b5bcdbd34e3d6538f977efd5b4692b..fcdf1b04e3dde0562b993794165c2fb649a634bf 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Giant.java --- a/src/main/java/net/minecraft/world/entity/monster/Giant.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Giant.java +++ b/src/main/java/net/minecraft/world/entity/monster/Giant.java
@@ -1,13 +1,36 @@ @@ -1,13 +1,36 @@
@@ -120,10 +120,10 @@ index c1c5e884f00398032196ee71b55b348fcfce21ce..ed032918fb33d60c2d60d4db9275dddf
} }
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a5b2f8611d5270f9188b257b7adcf209da51e1ec..287523fa1d4348f42c08655e50350ab9f92ed2ad 100644 index d019d11be86bacf04a13c2db31b632ac6b6b923a..39e8c47af17dadce6e253a803954b50341dcba9c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -551,6 +551,10 @@ public class PurpurWorldConfig { @@ -549,6 +549,10 @@ public class PurpurWorldConfig {
public double giantMovementSpeed = 0.5D; public double giantMovementSpeed = 0.5D;
public double giantAttackDamage = 50.0D; public double giantAttackDamage = 50.0D;
public double giantMaxHealth = 100.0D; public double giantMaxHealth = 100.0D;
@@ -134,7 +134,7 @@ index a5b2f8611d5270f9188b257b7adcf209da51e1ec..287523fa1d4348f42c08655e50350ab9
private void giantSettings() { private void giantSettings() {
giantRidable = getBoolean("mobs.giant.ridable", giantRidable); giantRidable = getBoolean("mobs.giant.ridable", giantRidable);
giantRidableInWater = getBoolean("mobs.giant.ridable-in-water", giantRidableInWater); giantRidableInWater = getBoolean("mobs.giant.ridable-in-water", giantRidableInWater);
@@ -567,6 +571,10 @@ public class PurpurWorldConfig { @@ -565,6 +569,10 @@ public class PurpurWorldConfig {
set("mobs.giant.attributes.max_health", oldValue); set("mobs.giant.attributes.max_health", oldValue);
} }
giantMaxHealth = getDouble("mobs.giant.attributes.max_health", giantMaxHealth); giantMaxHealth = getDouble("mobs.giant.attributes.max_health", giantMaxHealth);

View File

@@ -30,18 +30,18 @@ index ffde1d129c5434e7748cbdaac9109cbd3d0d29bc..057f4b71ff295cf6fed9cc5b86aa4034
entityhorseskeleton.setPos((double) blockposition.getX(), (double) blockposition.getY(), (double) blockposition.getZ()); entityhorseskeleton.setPos((double) blockposition.getX(), (double) blockposition.getY(), (double) blockposition.getZ());
this.addFreshEntity(entityhorseskeleton, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.LIGHTNING); // CraftBukkit 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 diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 287523fa1d4348f42c08655e50350ab9f92ed2ad..07abcaf1c11c073e10b6d602715fb94c9643d9f3 100644 index 39e8c47af17dadce6e253a803954b50341dcba9c..fd9f7d6c52454e520411ab76142c7b93c04b6205 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1470,6 +1470,7 @@ public class PurpurWorldConfig { @@ -1468,6 +1468,7 @@ public class PurpurWorldConfig {
public double zombieHorseJumpStrengthMax = 1.0D; public double zombieHorseJumpStrengthMax = 1.0D; // TODO: re-implement
public double zombieHorseMovementSpeedMin = 0.2D; public double zombieHorseMovementSpeedMin = 0.2D; // TODO: re-implement
public double zombieHorseMovementSpeedMax = 0.2D; public double zombieHorseMovementSpeedMax = 0.2D; // TODO: re-implement
+ public double zombieHorseSpawnChance = 0.0D; + public double zombieHorseSpawnChance = 0.0D;
private void zombieHorseSettings() { private void zombieHorseSettings() {
zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater); zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater);
zombieHorseCanSwim = getBoolean("mobs.zombie_horse.can-swim", zombieHorseCanSwim); zombieHorseCanSwim = getBoolean("mobs.zombie_horse.can-swim", zombieHorseCanSwim);
@@ -1485,6 +1486,7 @@ public class PurpurWorldConfig { @@ -1483,6 +1484,7 @@ public class PurpurWorldConfig {
zombieHorseJumpStrengthMax = getDouble("mobs.zombie_horse.attributes.jump_strength.max", zombieHorseJumpStrengthMax); zombieHorseJumpStrengthMax = getDouble("mobs.zombie_horse.attributes.jump_strength.max", zombieHorseJumpStrengthMax);
zombieHorseMovementSpeedMin = getDouble("mobs.zombie_horse.attributes.movement_speed.min", zombieHorseMovementSpeedMin); zombieHorseMovementSpeedMin = getDouble("mobs.zombie_horse.attributes.movement_speed.min", zombieHorseMovementSpeedMin);
zombieHorseMovementSpeedMax = getDouble("mobs.zombie_horse.attributes.movement_speed.max", zombieHorseMovementSpeedMax); 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 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 97164b0d799d768a48741075bdf154e1a0478f13..445c8ef18e3c82598b27ebaa6a859d4dd1baf5ef 100644 index b128c8bf3c655464d0c279f32eb9a1968fcccc71..c368ac6f35ff4b309079b4895dcd3792f3b6b69e 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java --- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java +++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
@@ -142,6 +142,14 @@ public class Creeper extends Monster implements PowerableMob { @@ -142,6 +142,14 @@ public class Creeper extends Monster implements PowerableMob {
@@ -24,10 +24,10 @@ index 97164b0d799d768a48741075bdf154e1a0478f13..445c8ef18e3c82598b27ebaa6a859d4d
@Override @Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 07abcaf1c11c073e10b6d602715fb94c9643d9f3..dfb42c035a57893b63c5eced7252a2c16e623506 100644 index fd9f7d6c52454e520411ab76142c7b93c04b6205..c466f442711ac2b8956e67f0cddca349e635a6f9 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -342,6 +342,7 @@ public class PurpurWorldConfig { @@ -340,6 +340,7 @@ public class PurpurWorldConfig {
public boolean creeperRidableInWater = false; public boolean creeperRidableInWater = false;
public boolean creeperControllable = true; public boolean creeperControllable = true;
public double creeperMaxHealth = 20.0D; public double creeperMaxHealth = 20.0D;
@@ -35,7 +35,7 @@ index 07abcaf1c11c073e10b6d602715fb94c9643d9f3..dfb42c035a57893b63c5eced7252a2c1
private void creeperSettings() { private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -352,6 +353,7 @@ public class PurpurWorldConfig { @@ -350,6 +351,7 @@ public class PurpurWorldConfig {
set("mobs.creeper.attributes.max_health", oldValue); set("mobs.creeper.attributes.max_health", oldValue);
} }
creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth); creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Rabbit naturally spawn toast and killer
diff --git a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
index 5aaac79bafc7f5531a6e3fe0d93a0f66dc0b315a..5e8ff7dd3ff4c27dfad16da9dd8d0a9f1b94ccb2 100644 index 76dcd7430dbadc6b925f58b670a9eb59078b2882..92da91319f59745f43529b9ddae032a8f60f693d 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java --- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java +++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
@@ -465,10 +465,23 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> { @@ -465,10 +465,23 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
@@ -33,10 +33,10 @@ index 5aaac79bafc7f5531a6e3fe0d93a0f66dc0b315a..5e8ff7dd3ff4c27dfad16da9dd8d0a9f
int i = world.getRandom().nextInt(100); 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 diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index dfb42c035a57893b63c5eced7252a2c16e623506..230a6bc6207a6889859b97b91666bc584a2c7629 100644 index c466f442711ac2b8956e67f0cddca349e635a6f9..15ec6db30230a6b3ce20c9d4dd2128c056a9f475 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -985,6 +985,8 @@ public class PurpurWorldConfig { @@ -983,6 +983,8 @@ public class PurpurWorldConfig {
public boolean rabbitRidableInWater = false; public boolean rabbitRidableInWater = false;
public boolean rabbitControllable = true; public boolean rabbitControllable = true;
public double rabbitMaxHealth = 3.0D; public double rabbitMaxHealth = 3.0D;
@@ -45,7 +45,7 @@ index dfb42c035a57893b63c5eced7252a2c16e623506..230a6bc6207a6889859b97b91666bc58
private void rabbitSettings() { private void rabbitSettings() {
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable); rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater); rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
@@ -995,6 +997,8 @@ public class PurpurWorldConfig { @@ -993,6 +995,8 @@ public class PurpurWorldConfig {
set("mobs.rabbit.attributes.max_health", oldValue); set("mobs.rabbit.attributes.max_health", oldValue);
} }
rabbitMaxHealth = getDouble("mobs.rabbit.attributes.max_health", rabbitMaxHealth); rabbitMaxHealth = getDouble("mobs.rabbit.attributes.max_health", rabbitMaxHealth);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Tulips change fox type
diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
index 4883c2a03921da28cbf2bd1978030a9dadbcda52..e2cf88d55aeb1cf8f55292e9171a1b44872bba34 100644 index 7a6239897d03a0502addc42853414e6d0caa42c3..2119cdd90228f9034781b9496640b159343afbd8 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java --- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java +++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
@@ -35,6 +35,7 @@ import net.minecraft.util.RandomSource; @@ -35,6 +35,7 @@ import net.minecraft.util.RandomSource;
@@ -75,10 +75,10 @@ index 4883c2a03921da28cbf2bd1978030a9dadbcda52..e2cf88d55aeb1cf8f55292e9171a1b44
// Paper start - Cancellable death event // Paper start - Cancellable death event
protected org.bukkit.event.entity.EntityDeathEvent dropAllDeathLoot(DamageSource source) { 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 diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 230a6bc6207a6889859b97b91666bc584a2c7629..86f2ad9c0107fa1c288cfd17810ed7ef0ef51895 100644 index 15ec6db30230a6b3ce20c9d4dd2128c056a9f475..0ddb21b3f4735082206341bb7e8a7e1bbe318021 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -506,6 +506,7 @@ public class PurpurWorldConfig { @@ -504,6 +504,7 @@ public class PurpurWorldConfig {
public boolean foxRidableInWater = false; public boolean foxRidableInWater = false;
public boolean foxControllable = true; public boolean foxControllable = true;
public double foxMaxHealth = 10.0D; public double foxMaxHealth = 10.0D;
@@ -86,7 +86,7 @@ index 230a6bc6207a6889859b97b91666bc584a2c7629..86f2ad9c0107fa1c288cfd17810ed7ef
private void foxSettings() { private void foxSettings() {
foxRidable = getBoolean("mobs.fox.ridable", foxRidable); foxRidable = getBoolean("mobs.fox.ridable", foxRidable);
foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater); foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater);
@@ -516,6 +517,7 @@ public class PurpurWorldConfig { @@ -514,6 +515,7 @@ public class PurpurWorldConfig {
set("mobs.fox.attributes.max_health", oldValue); set("mobs.fox.attributes.max_health", oldValue);
} }
foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth); foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Breedable Polar Bears
diff --git a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java diff --git a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
index 0f3234cca23f015651c12076e7064dcd16ecb9d1..dedc36ea78a97fc1303a8b3b328dd1fbef09c25c 100644 index e7b6e42aabe30b7804bf2d98d2b4d393621e1d7b..e439ce2c0752ee772df888ccccf9d97e45a83b1c 100644
--- a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java --- a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
+++ b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java +++ b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
@@ -97,6 +97,27 @@ public class PolarBear extends Animal implements NeutralMob { @@ -97,6 +97,27 @@ public class PolarBear extends Animal implements NeutralMob {
@@ -59,10 +59,10 @@ index 0f3234cca23f015651c12076e7064dcd16ecb9d1..dedc36ea78a97fc1303a8b3b328dd1fb
this.goalSelector.addGoal(5, new RandomStrollGoal(this, 1.0D)); this.goalSelector.addGoal(5, new RandomStrollGoal(this, 1.0D));
this.goalSelector.addGoal(6, new LookAtPlayerGoal(this, Player.class, 6.0F)); 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 diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 86f2ad9c0107fa1c288cfd17810ed7ef0ef51895..06b082617f2852eab62d7c3c803a502a2e1b303e 100644 index 0ddb21b3f4735082206341bb7e8a7e1bbe318021..8e60360c55b156bfeea4a0f87621e34ce07a2149 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -957,6 +957,8 @@ public class PurpurWorldConfig { @@ -955,6 +955,8 @@ public class PurpurWorldConfig {
public boolean polarBearRidableInWater = false; public boolean polarBearRidableInWater = false;
public boolean polarBearControllable = true; public boolean polarBearControllable = true;
public double polarBearMaxHealth = 30.0D; public double polarBearMaxHealth = 30.0D;
@@ -71,7 +71,7 @@ index 86f2ad9c0107fa1c288cfd17810ed7ef0ef51895..06b082617f2852eab62d7c3c803a502a
private void polarBearSettings() { private void polarBearSettings() {
polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable); polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable);
polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater); polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater);
@@ -967,6 +969,9 @@ public class PurpurWorldConfig { @@ -965,6 +967,9 @@ public class PurpurWorldConfig {
set("mobs.polar_bear.attributes.max_health", oldValue); set("mobs.polar_bear.attributes.max_health", oldValue);
} }
polarBearMaxHealth = getDouble("mobs.polar_bear.attributes.max_health", polarBearMaxHealth); polarBearMaxHealth = getDouble("mobs.polar_bear.attributes.max_health", polarBearMaxHealth);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Chickens can retaliate
diff --git a/src/main/java/net/minecraft/world/entity/animal/Chicken.java b/src/main/java/net/minecraft/world/entity/animal/Chicken.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Chicken.java b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
index c20f1346a8cf4ee5089dc7c4fc6b3dc36e561dd0..7b668c675b1d8ad55e1e72c8adb08a4ddcb51613 100644 index f28e6daa41e99f1279c79e2392a76ca6f51c1b4b..4b66412d04a28e3ee0a6e6c5fa0f3f4bf633d2d8 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Chicken.java --- a/src/main/java/net/minecraft/world/entity/animal/Chicken.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Chicken.java +++ b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
@@ -73,6 +73,9 @@ public class Chicken extends Animal { @@ -73,6 +73,9 @@ public class Chicken extends Animal {
@@ -51,10 +51,10 @@ index c20f1346a8cf4ee5089dc7c4fc6b3dc36e561dd0..7b668c675b1d8ad55e1e72c8adb08a4d
@Override @Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 06b082617f2852eab62d7c3c803a502a2e1b303e..6d9c429b91aef725bc0da88c790ef63417595208 100644 index 8e60360c55b156bfeea4a0f87621e34ce07a2149..b2f115a84c02f33e0bf3bd4270868cff613e3f1e 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -296,6 +296,7 @@ public class PurpurWorldConfig { @@ -294,6 +294,7 @@ public class PurpurWorldConfig {
public boolean chickenRidableInWater = false; public boolean chickenRidableInWater = false;
public boolean chickenControllable = true; public boolean chickenControllable = true;
public double chickenMaxHealth = 4.0D; public double chickenMaxHealth = 4.0D;
@@ -62,7 +62,7 @@ index 06b082617f2852eab62d7c3c803a502a2e1b303e..6d9c429b91aef725bc0da88c790ef634
private void chickenSettings() { private void chickenSettings() {
chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable); chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable);
chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater); chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater);
@@ -306,6 +307,7 @@ public class PurpurWorldConfig { @@ -304,6 +305,7 @@ public class PurpurWorldConfig {
set("mobs.chicken.attributes.max_health", oldValue); set("mobs.chicken.attributes.max_health", oldValue);
} }
chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth); chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth);

View File

@@ -51,10 +51,10 @@ index 5f407535298a31a34cfe114dd863fd6a9b977707..29c7e33fe961020e5a0007287fe9b663
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 652f9dc1dc0f31f72d15d2fa99406b4860109b1f..2532c4496504fb8ef2c022c7e90b1505db9c6c54 100644 index 659306ff7e8dac205de885ebb2b3feee641c6e26..5e4e8c515d8b2c6c4530b047f4f654bb55d9808f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -269,6 +269,9 @@ public class PurpurWorldConfig { @@ -267,6 +267,9 @@ public class PurpurWorldConfig {
public boolean catRidableInWater = false; public boolean catRidableInWater = false;
public boolean catControllable = true; public boolean catControllable = true;
public double catMaxHealth = 10.0D; public double catMaxHealth = 10.0D;
@@ -64,7 +64,7 @@ index 652f9dc1dc0f31f72d15d2fa99406b4860109b1f..2532c4496504fb8ef2c022c7e90b1505
private void catSettings() { private void catSettings() {
catRidable = getBoolean("mobs.cat.ridable", catRidable); catRidable = getBoolean("mobs.cat.ridable", catRidable);
catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater); catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater);
@@ -279,6 +282,9 @@ public class PurpurWorldConfig { @@ -277,6 +280,9 @@ public class PurpurWorldConfig {
set("mobs.cat.attributes.max_health", oldValue); set("mobs.cat.attributes.max_health", oldValue);
} }
catMaxHealth = getDouble("mobs.cat.attributes.max_health", catMaxHealth); catMaxHealth = getDouble("mobs.cat.attributes.max_health", catMaxHealth);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Cows eat mushrooms
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java
index 7eecdb4be5ee7de39ccb86b4bfe98491f8cba9b6..8744649fbd3f11485d5862d6f1fb32ea27f11e77 100644 index 29720c0681b5c08e3a7ac5b07c6d83a1760297f1..757b846bb1591c36e6b4413e3a8534986a84233f 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Cow.java --- a/src/main/java/net/minecraft/world/entity/animal/Cow.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java +++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java
@@ -2,6 +2,7 @@ package net.minecraft.world.entity.animal; @@ -2,6 +2,7 @@ package net.minecraft.world.entity.animal;
@@ -114,10 +114,10 @@ index 7eecdb4be5ee7de39ccb86b4bfe98491f8cba9b6..8744649fbd3f11485d5862d6f1fb32ea
+ // Purpur end + // Purpur end
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 2532c4496504fb8ef2c022c7e90b1505db9c6c54..4a4df6ec68ee91287f26033d333895f78c66ced5 100644 index 5e4e8c515d8b2c6c4530b047f4f654bb55d9808f..b3b1f1f657be2b01d497ad6feff5ed58de3af3e8 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -339,6 +339,7 @@ public class PurpurWorldConfig { @@ -337,6 +337,7 @@ public class PurpurWorldConfig {
public boolean cowRidableInWater = false; public boolean cowRidableInWater = false;
public boolean cowControllable = true; public boolean cowControllable = true;
public double cowMaxHealth = 10.0D; public double cowMaxHealth = 10.0D;
@@ -125,7 +125,7 @@ index 2532c4496504fb8ef2c022c7e90b1505db9c6c54..4a4df6ec68ee91287f26033d333895f7
private void cowSettings() { private void cowSettings() {
cowRidable = getBoolean("mobs.cow.ridable", cowRidable); cowRidable = getBoolean("mobs.cow.ridable", cowRidable);
cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater); cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater);
@@ -349,6 +350,7 @@ public class PurpurWorldConfig { @@ -347,6 +348,7 @@ public class PurpurWorldConfig {
set("mobs.cow.attributes.max_health", oldValue); set("mobs.cow.attributes.max_health", oldValue);
} }
cowMaxHealth = getDouble("mobs.cow.attributes.max_health", cowMaxHealth); cowMaxHealth = getDouble("mobs.cow.attributes.max_health", cowMaxHealth);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Pigs give saddle back
diff --git a/src/main/java/net/minecraft/world/entity/animal/Pig.java b/src/main/java/net/minecraft/world/entity/animal/Pig.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Pig.java b/src/main/java/net/minecraft/world/entity/animal/Pig.java
index 05db8fa5da085bb3843c11a70affe4c39b6dcd00..2ef7c9b1f10676117fff7b92d12a5dafe64fd7e0 100644 index 03844563434133a8fab4db4c597d35d4a745a12f..97e2b3a4445d195021a67567c4b0c3346095e7e8 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Pig.java --- a/src/main/java/net/minecraft/world/entity/animal/Pig.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Pig.java +++ b/src/main/java/net/minecraft/world/entity/animal/Pig.java
@@ -174,6 +174,17 @@ public class Pig extends Animal implements ItemSteerable, Saddleable { @@ -174,6 +174,17 @@ public class Pig extends Animal implements ItemSteerable, Saddleable {
@@ -27,10 +27,10 @@ index 05db8fa5da085bb3843c11a70affe4c39b6dcd00..2ef7c9b1f10676117fff7b92d12a5daf
if (!this.level.isClientSide) { if (!this.level.isClientSide) {
player.startRiding(this); player.startRiding(this);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 4a4df6ec68ee91287f26033d333895f78c66ced5..174b13ea9882567e46e35e5b66e9becaebe16c59 100644 index b3b1f1f657be2b01d497ad6feff5ed58de3af3e8..9fcf8bdd944cf0c7a91cd3032e40d53c44fde9ce 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -908,6 +908,7 @@ public class PurpurWorldConfig { @@ -906,6 +906,7 @@ public class PurpurWorldConfig {
public boolean pigRidableInWater = false; public boolean pigRidableInWater = false;
public boolean pigControllable = true; public boolean pigControllable = true;
public double pigMaxHealth = 10.0D; public double pigMaxHealth = 10.0D;
@@ -38,7 +38,7 @@ index 4a4df6ec68ee91287f26033d333895f78c66ced5..174b13ea9882567e46e35e5b66e9beca
private void pigSettings() { private void pigSettings() {
pigRidable = getBoolean("mobs.pig.ridable", pigRidable); pigRidable = getBoolean("mobs.pig.ridable", pigRidable);
pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater); pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater);
@@ -918,6 +919,7 @@ public class PurpurWorldConfig { @@ -916,6 +917,7 @@ public class PurpurWorldConfig {
set("mobs.pig.attributes.max_health", oldValue); set("mobs.pig.attributes.max_health", oldValue);
} }
pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth); pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Snowman drop and put back pumpkin
diff --git a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java diff --git a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
index 3fd7acc96c6c5cd59668c1b5a5a09bd3d188646d..1e24151eef61208db194db612d065922edc16ab1 100644 index 6f6542f57ed942de91957edf49ef8d92b5233aa8..b6431dbb41163f9ef0d43e96fcf89750c5a6eef7 100644
--- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java --- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
+++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java +++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
@@ -191,6 +191,14 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM @@ -191,6 +191,14 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
@@ -32,10 +32,10 @@ index 3fd7acc96c6c5cd59668c1b5a5a09bd3d188646d..1e24151eef61208db194db612d065922
this.forceDrops = false; // CraftBukkit this.forceDrops = false; // CraftBukkit
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 174b13ea9882567e46e35e5b66e9becaebe16c59..d2a3f83acb4c7586651a73aa6b2cb7b14f7b89b7 100644 index 9fcf8bdd944cf0c7a91cd3032e40d53c44fde9ce..06f0fa854cef604fd36073734f4bbf42f3ea497e 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1171,6 +1171,8 @@ public class PurpurWorldConfig { @@ -1169,6 +1169,8 @@ public class PurpurWorldConfig {
public boolean snowGolemControllable = true; public boolean snowGolemControllable = true;
public boolean snowGolemLeaveTrailWhenRidden = false; public boolean snowGolemLeaveTrailWhenRidden = false;
public double snowGolemMaxHealth = 4.0D; public double snowGolemMaxHealth = 4.0D;
@@ -44,7 +44,7 @@ index 174b13ea9882567e46e35e5b66e9becaebe16c59..d2a3f83acb4c7586651a73aa6b2cb7b1
private void snowGolemSettings() { private void snowGolemSettings() {
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable); snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater); snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
@@ -1182,6 +1184,8 @@ public class PurpurWorldConfig { @@ -1180,6 +1182,8 @@ public class PurpurWorldConfig {
set("mobs.snow_golem.attributes.max_health", oldValue); set("mobs.snow_golem.attributes.max_health", oldValue);
} }
snowGolemMaxHealth = getDouble("mobs.snow_golem.attributes.max_health", snowGolemMaxHealth); snowGolemMaxHealth = getDouble("mobs.snow_golem.attributes.max_health", snowGolemMaxHealth);

View File

@@ -18,10 +18,10 @@ index 09ed5144c448f7620b5c856a9fa12da07ec0cce6..1612705ba8cf58286a00b4d542541d17
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index d2a3f83acb4c7586651a73aa6b2cb7b14f7b89b7..5b12598509f16dd44f8c256143db6e30c9bd014a 100644 index 06f0fa854cef604fd36073734f4bbf42f3ea497e..4e33ff9bed768bbcb11a6fbdabfc2b72952b593f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -452,6 +452,7 @@ public class PurpurWorldConfig { @@ -450,6 +450,7 @@ public class PurpurWorldConfig {
public boolean enderDragonControllable = true; public boolean enderDragonControllable = true;
public double enderDragonMaxY = 320D; public double enderDragonMaxY = 320D;
public double enderDragonMaxHealth = 200.0D; public double enderDragonMaxHealth = 200.0D;
@@ -29,7 +29,7 @@ index d2a3f83acb4c7586651a73aa6b2cb7b14f7b89b7..5b12598509f16dd44f8c256143db6e30
private void enderDragonSettings() { private void enderDragonSettings() {
enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable); enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable);
enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater); enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater);
@@ -467,6 +468,7 @@ public class PurpurWorldConfig { @@ -465,6 +466,7 @@ public class PurpurWorldConfig {
set("mobs.ender_dragon.attributes.max_health", oldValue); set("mobs.ender_dragon.attributes.max_health", oldValue);
} }
enderDragonMaxHealth = getDouble("mobs.ender_dragon.attributes.max_health", enderDragonMaxHealth); enderDragonMaxHealth = getDouble("mobs.ender_dragon.attributes.max_health", enderDragonMaxHealth);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add enderman and creeper griefing controls
diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java 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 445c8ef18e3c82598b27ebaa6a859d4dd1baf5ef..bdcd271d3755803edc315f7a5484236ad524b1a3 100644 index c368ac6f35ff4b309079b4895dcd3792f3b6b69e..ccdf278afc5eab5e05649d54ef30d1c27b8b9daa 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java --- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java +++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
@@ -361,7 +361,7 @@ public class Creeper extends Monster implements PowerableMob { @@ -361,7 +361,7 @@ public class Creeper extends Monster implements PowerableMob {
@@ -18,7 +18,7 @@ index 445c8ef18e3c82598b27ebaa6a859d4dd1baf5ef..bdcd271d3755803edc315f7a5484236a
this.spawnLingeringCloud(); this.spawnLingeringCloud();
} else { } else {
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
index 94bfabd8d7b4e860a99518b390ad2b7b5ef02070..da8d81bfba08f1e6e2b789e960b1d39692bb990b 100644 index 6e93faa6debeba159664401a49ddd5ca159abf80..7e67e034cf8b4459f274975567b9c25d7349abf1 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java --- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java +++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
@@ -530,6 +530,7 @@ public class EnderMan extends Monster implements NeutralMob { @@ -530,6 +530,7 @@ public class EnderMan extends Monster implements NeutralMob {
@@ -38,10 +38,10 @@ index 94bfabd8d7b4e860a99518b390ad2b7b5ef02070..da8d81bfba08f1e6e2b789e960b1d396
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index d488ad7fe6119426f6ef269a8916514dddec91a6..dc2d5b50ce5d236fd2de0f82e307f62946df5109 100644 index e17d6ef06c6125e88986aa01243a6b96360c8114..5bd1546082466cac963cce61c72d2698267f3554 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -439,6 +439,7 @@ public class PurpurWorldConfig { @@ -437,6 +437,7 @@ public class PurpurWorldConfig {
public boolean creeperControllable = true; public boolean creeperControllable = true;
public double creeperMaxHealth = 20.0D; public double creeperMaxHealth = 20.0D;
public double creeperChargedChance = 0.0D; public double creeperChargedChance = 0.0D;
@@ -49,7 +49,7 @@ index d488ad7fe6119426f6ef269a8916514dddec91a6..dc2d5b50ce5d236fd2de0f82e307f629
private void creeperSettings() { private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -450,6 +451,7 @@ public class PurpurWorldConfig { @@ -448,6 +449,7 @@ public class PurpurWorldConfig {
} }
creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth); creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth);
creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance); creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance);
@@ -57,7 +57,7 @@ index d488ad7fe6119426f6ef269a8916514dddec91a6..dc2d5b50ce5d236fd2de0f82e307f629
} }
public boolean dolphinRidable = false; public boolean dolphinRidable = false;
@@ -556,6 +558,7 @@ public class PurpurWorldConfig { @@ -554,6 +556,7 @@ public class PurpurWorldConfig {
public boolean endermanRidableInWater = false; public boolean endermanRidableInWater = false;
public boolean endermanControllable = true; public boolean endermanControllable = true;
public double endermanMaxHealth = 40.0D; public double endermanMaxHealth = 40.0D;
@@ -65,7 +65,7 @@ index d488ad7fe6119426f6ef269a8916514dddec91a6..dc2d5b50ce5d236fd2de0f82e307f629
private void endermanSettings() { private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -566,6 +569,7 @@ public class PurpurWorldConfig { @@ -564,6 +567,7 @@ public class PurpurWorldConfig {
set("mobs.enderman.attributes.max_health", oldValue); set("mobs.enderman.attributes.max_health", oldValue);
} }
endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth); endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth);

View File

@@ -30,7 +30,7 @@ index ca96b893e22de3ae7c11d5cded51edf70bdcb6f2..d4ab27de59e9c533789f062e74ceb453
// CraftBukkit start // CraftBukkit start
private CraftMerchant craftMerchant; private CraftMerchant craftMerchant;
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index 94cdb6695a8991c446358854e437ad00970fecc9..fba5e98f5cbbfe03b33bb213b24a7293e19006ca 100644 index 9c3541a3506f270dd79e52103c4f83ad0df0ae94..3240df0e30b882b8d112e6d92187c1bda0f6973b 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -172,6 +172,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -172,6 +172,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -42,7 +42,7 @@ index 94cdb6695a8991c446358854e437ad00970fecc9..fba5e98f5cbbfe03b33bb213b24a7293
@Override @Override
diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
index 649f6a8bb9adac0369e8c57eef0dc35cc21f97b9..92384fecfe804e282c5c05eec0df32b29e0ee97e 100644 index d2324e2dbd72fcd5a8ab562bc3b6e53088647137..c61e4ee036c60c6eaeabccd9785fb690520fdcf2 100644
--- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java --- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
+++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java +++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
@@ -111,6 +111,7 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill @@ -111,6 +111,7 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
@@ -54,10 +54,10 @@ index 649f6a8bb9adac0369e8c57eef0dc35cc21f97b9..92384fecfe804e282c5c05eec0df32b2
this.goalSelector.addGoal(8, new WaterAvoidingRandomStrollGoal(this, 0.35D)); this.goalSelector.addGoal(8, new WaterAvoidingRandomStrollGoal(this, 0.35D));
this.goalSelector.addGoal(9, new InteractGoal(this, Player.class, 3.0F, 1.0F)); 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 diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index dc2d5b50ce5d236fd2de0f82e307f62946df5109..f8a90dd0600a3b0306b6a3ed72f3067881bc3e3b 100644 index 5bd1546082466cac963cce61c72d2698267f3554..d9ab35ffe3b5c10209b0d3c9de1bb7a66b38e6fe 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1426,6 +1426,7 @@ public class PurpurWorldConfig { @@ -1424,6 +1424,7 @@ public class PurpurWorldConfig {
public boolean villagerRidableInWater = false; public boolean villagerRidableInWater = false;
public boolean villagerControllable = true; public boolean villagerControllable = true;
public double villagerMaxHealth = 20.0D; public double villagerMaxHealth = 20.0D;
@@ -65,7 +65,7 @@ index dc2d5b50ce5d236fd2de0f82e307f62946df5109..f8a90dd0600a3b0306b6a3ed72f30678
private void villagerSettings() { private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1436,6 +1437,7 @@ public class PurpurWorldConfig { @@ -1434,6 +1435,7 @@ public class PurpurWorldConfig {
set("mobs.villager.attributes.max_health", oldValue); set("mobs.villager.attributes.max_health", oldValue);
} }
villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth); villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth);
@@ -73,7 +73,7 @@ index dc2d5b50ce5d236fd2de0f82e307f62946df5109..f8a90dd0600a3b0306b6a3ed72f30678
} }
public boolean vindicatorRidable = false; public boolean vindicatorRidable = false;
@@ -1458,6 +1460,7 @@ public class PurpurWorldConfig { @@ -1456,6 +1458,7 @@ public class PurpurWorldConfig {
public boolean wanderingTraderRidableInWater = false; public boolean wanderingTraderRidableInWater = false;
public boolean wanderingTraderControllable = true; public boolean wanderingTraderControllable = true;
public double wanderingTraderMaxHealth = 20.0D; public double wanderingTraderMaxHealth = 20.0D;
@@ -81,7 +81,7 @@ index dc2d5b50ce5d236fd2de0f82e307f62946df5109..f8a90dd0600a3b0306b6a3ed72f30678
private void wanderingTraderSettings() { private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable); wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater); wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
@@ -1468,6 +1471,7 @@ public class PurpurWorldConfig { @@ -1466,6 +1469,7 @@ public class PurpurWorldConfig {
set("mobs.wandering_trader.attributes.max_health", oldValue); set("mobs.wandering_trader.attributes.max_health", oldValue);
} }
wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth); wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth);

View File

@@ -17,7 +17,7 @@ index 76d8bab7cc1bdbd1946af60a1a2ffef1c7ef4415..636b073f839393c0095f178131e54d18
// Paper start - drop leash variable // Paper start - drop leash variable
org.bukkit.event.player.PlayerUnleashEntityEvent event = CraftEventFactory.callPlayerUnleashEntityEvent(this, player, hand, !player.getAbilities().instabuild); org.bukkit.event.player.PlayerUnleashEntityEvent event = CraftEventFactory.callPlayerUnleashEntityEvent(this, player, hand, !player.getAbilities().instabuild);
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index fba5e98f5cbbfe03b33bb213b24a7293e19006ca..f4f7bd3d0e84e4dd22815742565d810c37efdc10 100644 index 3240df0e30b882b8d112e6d92187c1bda0f6973b..cb8ea90c03bcd5ad81d9478abcd556838143850e 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -179,6 +179,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -179,6 +179,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -33,7 +33,7 @@ index fba5e98f5cbbfe03b33bb213b24a7293e19006ca..f4f7bd3d0e84e4dd22815742565d810c
@Override @Override
diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
index 92384fecfe804e282c5c05eec0df32b29e0ee97e..347c58d8f616d1bfe1c669809465cc37983db6e6 100644 index c61e4ee036c60c6eaeabccd9785fb690520fdcf2..fbbeacb94aeda40e9fc5c0553ab68948de9019c4 100644
--- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java --- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
+++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java +++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
@@ -89,6 +89,11 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill @@ -89,6 +89,11 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
@@ -49,10 +49,10 @@ index 92384fecfe804e282c5c05eec0df32b29e0ee97e..347c58d8f616d1bfe1c669809465cc37
@Override @Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f8a90dd0600a3b0306b6a3ed72f3067881bc3e3b..e936a56089d0f0823c6fc2103b21c1549127ec84 100644 index d9ab35ffe3b5c10209b0d3c9de1bb7a66b38e6fe..a8d607729fe645bfc2cd51d2374876c4dcfb389c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1427,6 +1427,7 @@ public class PurpurWorldConfig { @@ -1425,6 +1425,7 @@ public class PurpurWorldConfig {
public boolean villagerControllable = true; public boolean villagerControllable = true;
public double villagerMaxHealth = 20.0D; public double villagerMaxHealth = 20.0D;
public boolean villagerFollowEmeraldBlock = false; public boolean villagerFollowEmeraldBlock = false;
@@ -60,7 +60,7 @@ index f8a90dd0600a3b0306b6a3ed72f3067881bc3e3b..e936a56089d0f0823c6fc2103b21c154
private void villagerSettings() { private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1438,6 +1439,7 @@ public class PurpurWorldConfig { @@ -1436,6 +1437,7 @@ public class PurpurWorldConfig {
} }
villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth); villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth);
villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock); villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock);
@@ -68,7 +68,7 @@ index f8a90dd0600a3b0306b6a3ed72f3067881bc3e3b..e936a56089d0f0823c6fc2103b21c154
} }
public boolean vindicatorRidable = false; public boolean vindicatorRidable = false;
@@ -1461,6 +1463,7 @@ public class PurpurWorldConfig { @@ -1459,6 +1461,7 @@ public class PurpurWorldConfig {
public boolean wanderingTraderControllable = true; public boolean wanderingTraderControllable = true;
public double wanderingTraderMaxHealth = 20.0D; public double wanderingTraderMaxHealth = 20.0D;
public boolean wanderingTraderFollowEmeraldBlock = false; public boolean wanderingTraderFollowEmeraldBlock = false;
@@ -76,7 +76,7 @@ index f8a90dd0600a3b0306b6a3ed72f3067881bc3e3b..e936a56089d0f0823c6fc2103b21c154
private void wanderingTraderSettings() { private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable); wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater); wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
@@ -1472,6 +1475,7 @@ public class PurpurWorldConfig { @@ -1470,6 +1473,7 @@ public class PurpurWorldConfig {
} }
wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth); wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth);
wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock); wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock);

View File

@@ -18,7 +18,7 @@ index b7fd8e70413c38923d0719aff803449e392383ac..11d7aef930ca283950f7b353b033f3ec
public ServerEntity(ServerLevel worldserver, Entity entity, int i, boolean flag, Consumer<Packet<?>> consumer, Set<ServerPlayerConnection> trackedPlayers) { public ServerEntity(ServerLevel worldserver, Entity entity, int i, boolean flag, Consumer<Packet<?>> consumer, Set<ServerPlayerConnection> trackedPlayers) {
this.trackedPlayers = trackedPlayers; this.trackedPlayers = trackedPlayers;
diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
index d47b3ac633e7936d30abfda6fc46c2c7412d76fe..e7b5a5a1eb62095688b00a8ea35b0636c081790b 100644 index d47b3ac633e7936d30abfda6fc46c2c7412d76fe..1b7784666312d50a957d023c2bf869194ee9e593 100644
--- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java --- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
+++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
@@ -55,6 +55,12 @@ public class ItemEntity extends Entity implements TraceableEntity { @@ -55,6 +55,12 @@ public class ItemEntity extends Entity implements TraceableEntity {
@@ -40,10 +40,10 @@ index d47b3ac633e7936d30abfda6fc46c2c7412d76fe..e7b5a5a1eb62095688b00a8ea35b0636
return false; return false;
+ // Purpur start + // Purpur start
+ } else if ( + } else if (
+ (immuneToCactus && source == DamageSource.CACTUS) || + (immuneToCactus && source.is(net.minecraft.world.damagesource.DamageTypes.CACTUS)) ||
+ (immuneToFire && (source.isFire() || source == DamageSource.IN_FIRE)) || + (immuneToFire && (source.is(DamageTypeTags.IS_FIRE) && source.is(net.minecraft.world.damagesource.DamageTypes.IN_FIRE)) ||
+ (immuneToLightning && source == DamageSource.LIGHTNING_BOLT) || + (immuneToLightning && source.is(net.minecraft.world.damagesource.DamageTypes.LIGHTNING_BOLT)) ||
+ (immuneToExplosion && source.isExplosion()) + (immuneToExplosion && source.is(DamageTypeTags.IS_EXPLOSION)))
+ ) { + ) {
+ return false; + return false;
+ // Purpur end + // Purpur end
@@ -115,7 +115,7 @@ index a925b5c490e7129b27370aa57b5fad1cf05530c6..09001578b88658c44d0661d340a0ee0f
+ // Purpur end + // Purpur end
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 6874fba170f4dee579788025e5d8fae9c75b9535..cb09d85bcac1f54d76b8b336ddc2093e3afb42ef 100644 index 55b7f582c6bc06412900e843c3263a69e67d2af5..ead0ea1613da4a23fe20283555f3dd7e55299073 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -127,6 +127,49 @@ public class PurpurWorldConfig { @@ -127,6 +127,49 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable jockey options
diff --git a/src/main/java/net/minecraft/world/entity/monster/Drowned.java b/src/main/java/net/minecraft/world/entity/monster/Drowned.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Drowned.java b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
index 0d246aabc114145c349ac251364856530672c9e3..68b5be9b8b0a243ef8f1fed35c921854e1664741 100644 index edfc149ef228954fe0900439c8bf25f4249b28e2..9005034e99e0398cf7b2cca528fbe55d4baa2e9d 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java --- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java +++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
@@ -93,6 +93,21 @@ public class Drowned extends Zombie implements RangedAttackMob { @@ -93,6 +93,21 @@ public class Drowned extends Zombie implements RangedAttackMob {
@@ -31,7 +31,7 @@ index 0d246aabc114145c349ac251364856530672c9e3..68b5be9b8b0a243ef8f1fed35c921854
@Override @Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/Husk.java b/src/main/java/net/minecraft/world/entity/monster/Husk.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Husk.java b/src/main/java/net/minecraft/world/entity/monster/Husk.java
index e41cc68649c79dd4ce7455f36112e8347e7c84e6..22daf7d11890a2e9276928ac9b242edf932e11cb 100644 index 80bb77199791a312216e8366275e5b0e1c8b14fa..874e3a4adf3d4e688a240f29888ee0bbaaacc9dc 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Husk.java --- a/src/main/java/net/minecraft/world/entity/monster/Husk.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Husk.java +++ b/src/main/java/net/minecraft/world/entity/monster/Husk.java
@@ -47,6 +47,21 @@ public class Husk extends Zombie { @@ -47,6 +47,21 @@ public class Husk extends Zombie {
@@ -57,7 +57,7 @@ index e41cc68649c79dd4ce7455f36112e8347e7c84e6..22daf7d11890a2e9276928ac9b242edf
public static boolean checkHuskSpawnRules(EntityType<Husk> type, ServerLevelAccessor world, MobSpawnType spawnReason, BlockPos pos, RandomSource random) { public static boolean checkHuskSpawnRules(EntityType<Husk> type, ServerLevelAccessor world, MobSpawnType spawnReason, BlockPos pos, RandomSource random) {
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
index 62f607a3d34511a7f3b90739265ea1b825b517de..05cb9eff1ce0d5af9efcd47033878feb22397a2d 100644 index afe866e4a41a824bcfb9aa70779c52381386c472..4a38fec232e2a087f8ef3f7a0c8fff17ddd714d0 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java --- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java +++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
@@ -126,6 +126,18 @@ public class Zombie extends Monster { @@ -126,6 +126,18 @@ public class Zombie extends Monster {
@@ -115,7 +115,7 @@ index 62f607a3d34511a7f3b90739265ea1b825b517de..05cb9eff1ce0d5af9efcd47033878feb
} }
} }
diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
index 5bd562ce81955ea8c75e08f69d4a033040a6c679..24bd4b83b37e65606db9b371db458dcc4a16d419 100644 index d24e41ac992972d1679c279b10290c01db73a5b5..0f12e4ac6eab349418328a80a2b02fa27ce3f39b 100644
--- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java --- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java +++ b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
@@ -104,6 +104,21 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder { @@ -104,6 +104,21 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
@@ -141,7 +141,7 @@ index 5bd562ce81955ea8c75e08f69d4a033040a6c679..24bd4b83b37e65606db9b371db458dcc
@Override @Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java b/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java b/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
index aca84be04c50188612f69ee20e9a0948fe5e5b7f..9bec6222a8145f84f4b748e8c96e02fa0d6f14d2 100644 index cdeb39d02b618b648681ca51a592b7b3508e46f5..b5b4cb3fefd769f5d8ec5b60b4b41ffb023d19c5 100644
--- a/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java --- a/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java +++ b/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
@@ -83,6 +83,21 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob { @@ -83,6 +83,21 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob {
@@ -167,10 +167,10 @@ index aca84be04c50188612f69ee20e9a0948fe5e5b7f..9bec6222a8145f84f4b748e8c96e02fa
@Override @Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index cb09d85bcac1f54d76b8b336ddc2093e3afb42ef..5f01c36ee74d1cec94be0a5c54920c80327fd1ea 100644 index 803d2da4dd2922adfdb6bcb261073b89024b87f5..8d0c535b30bf61f56f5f62c851fdc627f25a9be6 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -590,6 +590,9 @@ public class PurpurWorldConfig { @@ -588,6 +588,9 @@ public class PurpurWorldConfig {
public boolean drownedControllable = true; public boolean drownedControllable = true;
public double drownedMaxHealth = 20.0D; public double drownedMaxHealth = 20.0D;
public double drownedSpawnReinforcements = 0.1D; public double drownedSpawnReinforcements = 0.1D;
@@ -180,7 +180,7 @@ index cb09d85bcac1f54d76b8b336ddc2093e3afb42ef..5f01c36ee74d1cec94be0a5c54920c80
private void drownedSettings() { private void drownedSettings() {
drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable); drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable);
drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater); drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater);
@@ -601,6 +604,9 @@ public class PurpurWorldConfig { @@ -599,6 +602,9 @@ public class PurpurWorldConfig {
} }
drownedMaxHealth = getDouble("mobs.drowned.attributes.max_health", drownedMaxHealth); drownedMaxHealth = getDouble("mobs.drowned.attributes.max_health", drownedMaxHealth);
drownedSpawnReinforcements = getDouble("mobs.drowned.attributes.spawn_reinforcements", drownedSpawnReinforcements); drownedSpawnReinforcements = getDouble("mobs.drowned.attributes.spawn_reinforcements", drownedSpawnReinforcements);
@@ -190,7 +190,7 @@ index cb09d85bcac1f54d76b8b336ddc2093e3afb42ef..5f01c36ee74d1cec94be0a5c54920c80
} }
public boolean elderGuardianRidable = false; public boolean elderGuardianRidable = false;
@@ -849,6 +855,9 @@ public class PurpurWorldConfig { @@ -847,6 +853,9 @@ public class PurpurWorldConfig {
public boolean huskControllable = true; public boolean huskControllable = true;
public double huskMaxHealth = 20.0D; public double huskMaxHealth = 20.0D;
public double huskSpawnReinforcements = 0.1D; public double huskSpawnReinforcements = 0.1D;
@@ -200,7 +200,7 @@ index cb09d85bcac1f54d76b8b336ddc2093e3afb42ef..5f01c36ee74d1cec94be0a5c54920c80
private void huskSettings() { private void huskSettings() {
huskRidable = getBoolean("mobs.husk.ridable", huskRidable); huskRidable = getBoolean("mobs.husk.ridable", huskRidable);
huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater); huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater);
@@ -860,6 +869,9 @@ public class PurpurWorldConfig { @@ -858,6 +867,9 @@ public class PurpurWorldConfig {
} }
huskMaxHealth = getDouble("mobs.husk.attributes.max_health", huskMaxHealth); huskMaxHealth = getDouble("mobs.husk.attributes.max_health", huskMaxHealth);
huskSpawnReinforcements = getDouble("mobs.husk.attributes.spawn_reinforcements", huskSpawnReinforcements); huskSpawnReinforcements = getDouble("mobs.husk.attributes.spawn_reinforcements", huskSpawnReinforcements);
@@ -210,7 +210,7 @@ index cb09d85bcac1f54d76b8b336ddc2093e3afb42ef..5f01c36ee74d1cec94be0a5c54920c80
} }
public boolean illusionerRidable = false; public boolean illusionerRidable = false;
@@ -1665,6 +1677,9 @@ public class PurpurWorldConfig { @@ -1663,6 +1675,9 @@ public class PurpurWorldConfig {
public boolean zombieControllable = true; public boolean zombieControllable = true;
public double zombieMaxHealth = 20.0D; public double zombieMaxHealth = 20.0D;
public double zombieSpawnReinforcements = 0.1D; public double zombieSpawnReinforcements = 0.1D;
@@ -220,7 +220,7 @@ index cb09d85bcac1f54d76b8b336ddc2093e3afb42ef..5f01c36ee74d1cec94be0a5c54920c80
private void zombieSettings() { private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -1676,6 +1691,9 @@ public class PurpurWorldConfig { @@ -1674,6 +1689,9 @@ public class PurpurWorldConfig {
} }
zombieMaxHealth = getDouble("mobs.zombie.attributes.max_health", zombieMaxHealth); zombieMaxHealth = getDouble("mobs.zombie.attributes.max_health", zombieMaxHealth);
zombieSpawnReinforcements = getDouble("mobs.zombie.attributes.spawn_reinforcements", zombieSpawnReinforcements); zombieSpawnReinforcements = getDouble("mobs.zombie.attributes.spawn_reinforcements", zombieSpawnReinforcements);
@@ -230,7 +230,7 @@ index cb09d85bcac1f54d76b8b336ddc2093e3afb42ef..5f01c36ee74d1cec94be0a5c54920c80
} }
public boolean zombieHorseRidableInWater = false; public boolean zombieHorseRidableInWater = false;
@@ -1710,6 +1728,9 @@ public class PurpurWorldConfig { @@ -1708,6 +1726,9 @@ public class PurpurWorldConfig {
public boolean zombieVillagerControllable = true; public boolean zombieVillagerControllable = true;
public double zombieVillagerMaxHealth = 20.0D; public double zombieVillagerMaxHealth = 20.0D;
public double zombieVillagerSpawnReinforcements = 0.1D; public double zombieVillagerSpawnReinforcements = 0.1D;
@@ -240,7 +240,7 @@ index cb09d85bcac1f54d76b8b336ddc2093e3afb42ef..5f01c36ee74d1cec94be0a5c54920c80
private void zombieVillagerSettings() { private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -1721,6 +1742,9 @@ public class PurpurWorldConfig { @@ -1719,6 +1740,9 @@ public class PurpurWorldConfig {
} }
zombieVillagerMaxHealth = getDouble("mobs.zombie_villager.attributes.max_health", zombieVillagerMaxHealth); zombieVillagerMaxHealth = getDouble("mobs.zombie_villager.attributes.max_health", zombieVillagerMaxHealth);
zombieVillagerSpawnReinforcements = getDouble("mobs.zombie_villager.attributes.spawn_reinforcements", zombieVillagerSpawnReinforcements); zombieVillagerSpawnReinforcements = getDouble("mobs.zombie_villager.attributes.spawn_reinforcements", zombieVillagerSpawnReinforcements);
@@ -250,7 +250,7 @@ index cb09d85bcac1f54d76b8b336ddc2093e3afb42ef..5f01c36ee74d1cec94be0a5c54920c80
} }
public boolean zombifiedPiglinRidable = false; public boolean zombifiedPiglinRidable = false;
@@ -1728,6 +1752,9 @@ public class PurpurWorldConfig { @@ -1726,6 +1750,9 @@ public class PurpurWorldConfig {
public boolean zombifiedPiglinControllable = true; public boolean zombifiedPiglinControllable = true;
public double zombifiedPiglinMaxHealth = 20.0D; public double zombifiedPiglinMaxHealth = 20.0D;
public double zombifiedPiglinSpawnReinforcements = 0.0D; public double zombifiedPiglinSpawnReinforcements = 0.0D;
@@ -260,7 +260,7 @@ index cb09d85bcac1f54d76b8b336ddc2093e3afb42ef..5f01c36ee74d1cec94be0a5c54920c80
private void zombifiedPiglinSettings() { private void zombifiedPiglinSettings() {
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable); zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater); zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
@@ -1739,5 +1766,8 @@ public class PurpurWorldConfig { @@ -1737,5 +1764,8 @@ public class PurpurWorldConfig {
} }
zombifiedPiglinMaxHealth = getDouble("mobs.zombified_piglin.attributes.max_health", zombifiedPiglinMaxHealth); zombifiedPiglinMaxHealth = getDouble("mobs.zombified_piglin.attributes.max_health", zombifiedPiglinMaxHealth);
zombifiedPiglinSpawnReinforcements = getDouble("mobs.zombified_piglin.attributes.spawn_reinforcements", zombifiedPiglinSpawnReinforcements); zombifiedPiglinSpawnReinforcements = getDouble("mobs.zombified_piglin.attributes.spawn_reinforcements", zombifiedPiglinSpawnReinforcements);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Phantoms attracted to crystals and crystals shoot phantoms
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java
index 64f17b4a22454b59968787089253eaba0a04c1f2..d3ca70fac31b7ff64035e0a311e1db7e5a611816 100644 index 64f17b4a22454b59968787089253eaba0a04c1f2..b373f9e4b5a2604bcbccd36cd3de961f3a41cd32 100644
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java --- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java +++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java
@@ -30,6 +30,12 @@ public class EndCrystal extends Entity { @@ -30,6 +30,12 @@ public class EndCrystal extends Entity {
@@ -44,7 +44,7 @@ index 64f17b4a22454b59968787089253eaba0a04c1f2..d3ca70fac31b7ff64035e0a311e1db7e
+ if (targetPhantom.hasLineOfSight(this)) { + if (targetPhantom.hasLineOfSight(this)) {
+ if (phantomDamageCooldown <= 0) { + if (phantomDamageCooldown <= 0) {
+ phantomDamageCooldown = 20; + phantomDamageCooldown = 20;
+ targetPhantom.hurt(DamageSource.indirectMagic(this, this), level.purpurConfig.phantomAttackedByCrystalDamage); + targetPhantom.hurt(targetPhantom.damageSources().indirectMagic(this, this), level.purpurConfig.phantomAttackedByCrystalDamage);
+ } + }
+ } else { + } else {
+ forgetPhantom(); // no longer in sight + forgetPhantom(); // no longer in sight
@@ -73,7 +73,7 @@ index 64f17b4a22454b59968787089253eaba0a04c1f2..d3ca70fac31b7ff64035e0a311e1db7e
@Override @Override
protected void addAdditionalSaveData(CompoundTag nbt) { protected void addAdditionalSaveData(CompoundTag nbt) {
diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
index 5ee85ed1f5ae3d50c17591ffa92d79b218454b7d..7514bcdcc29c9d10393aaf8c08cee635efdbd3fe 100644 index cabe7101fc6e43ece67f7e4f647dd2eef1255c60..f608e7dcdb899608ff2f4d19b274861170c9694a 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java --- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java +++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
@@ -49,6 +49,7 @@ public class Phantom extends FlyingMob implements Enemy { @@ -49,6 +49,7 @@ public class Phantom extends FlyingMob implements Enemy {
@@ -258,10 +258,10 @@ index 5ee85ed1f5ae3d50c17591ffa92d79b218454b7d..7514bcdcc29c9d10393aaf8c08cee635
private float speed = 0.1F; 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 diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 5f01c36ee74d1cec94be0a5c54920c80327fd1ea..6d343b2a737cf4aeb0f6fe2aee55bb7088e9b73f 100644 index 8d0c535b30bf61f56f5f62c851fdc627f25a9be6..ae0942b76923d34ac80885d6fe6e0a2ee7932a84 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1067,6 +1067,9 @@ public class PurpurWorldConfig { @@ -1065,6 +1065,9 @@ public class PurpurWorldConfig {
public String phantomAttackDamage = "6 + size"; public String phantomAttackDamage = "6 + size";
public Map<Integer, Double> phantomMaxHealthCache = new HashMap<>(); public Map<Integer, Double> phantomMaxHealthCache = new HashMap<>();
public Map<Integer, Double> phantomAttackDamageCache = new HashMap<>(); public Map<Integer, Double> phantomAttackDamageCache = new HashMap<>();
@@ -271,7 +271,7 @@ index 5f01c36ee74d1cec94be0a5c54920c80327fd1ea..6d343b2a737cf4aeb0f6fe2aee55bb70
private void phantomSettings() { private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -1088,6 +1091,9 @@ public class PurpurWorldConfig { @@ -1086,6 +1089,9 @@ public class PurpurWorldConfig {
phantomAttackDamage = getString("mobs.phantom.attributes.attack_damage", phantomAttackDamage); phantomAttackDamage = getString("mobs.phantom.attributes.attack_damage", phantomAttackDamage);
phantomMaxHealthCache.clear(); phantomMaxHealthCache.clear();
phantomAttackDamageCache.clear(); phantomAttackDamageCache.clear();

View File

@@ -40,10 +40,10 @@ index e8ae4449696d73c8c9b8b27d4d2e20db933a72cc..f55c50f6637a4f930b15565d6ac82bb4
for (int l = 0; l < k; ++l) { for (int l = 0; l < k; ++l) {
// Paper start // Paper start
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 6d343b2a737cf4aeb0f6fe2aee55bb7088e9b73f..25e392910e20edd7bdaf6e1be20d5ff075cde65e 100644 index ae0942b76923d34ac80885d6fe6e0a2ee7932a84..76818776d647dea7cdad6ff532dac696b8258c06 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1070,6 +1070,12 @@ public class PurpurWorldConfig { @@ -1068,6 +1068,12 @@ public class PurpurWorldConfig {
public double phantomAttackedByCrystalRadius = 0.0D; public double phantomAttackedByCrystalRadius = 0.0D;
public float phantomAttackedByCrystalDamage = 1.0F; public float phantomAttackedByCrystalDamage = 1.0F;
public double phantomOrbitCrystalRadius = 0.0D; public double phantomOrbitCrystalRadius = 0.0D;
@@ -56,7 +56,7 @@ index 6d343b2a737cf4aeb0f6fe2aee55bb7088e9b73f..25e392910e20edd7bdaf6e1be20d5ff0
private void phantomSettings() { private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -1094,6 +1100,12 @@ public class PurpurWorldConfig { @@ -1092,6 +1098,12 @@ public class PurpurWorldConfig {
phantomAttackedByCrystalRadius = getDouble("mobs.phantom.attacked-by-crystal-range", phantomAttackedByCrystalRadius); phantomAttackedByCrystalRadius = getDouble("mobs.phantom.attacked-by-crystal-range", phantomAttackedByCrystalRadius);
phantomAttackedByCrystalDamage = (float) getDouble("mobs.phantom.attacked-by-crystal-damage", phantomAttackedByCrystalDamage); phantomAttackedByCrystalDamage = (float) getDouble("mobs.phantom.attacked-by-crystal-damage", phantomAttackedByCrystalDamage);
phantomOrbitCrystalRadius = getDouble("mobs.phantom.orbit-crystal-radius", phantomOrbitCrystalRadius); 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 diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 0b1b14746be9aa10fb5d48b820395b505e79cb74..b60cdc090e21de74a4b8a54385ce2d9e4f9e3820 100644 index c85d096834fea5ed4f6805267226b34cf0bb79ac..3ddbfdfe9422f7c1f87f9a26d35ad11507b93573 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1444,6 +1444,7 @@ public class PurpurWorldConfig { @@ -1442,6 +1442,7 @@ public class PurpurWorldConfig {
public boolean squidRidable = false; public boolean squidRidable = false;
public boolean squidControllable = true; public boolean squidControllable = true;
public double squidMaxHealth = 10.0D; public double squidMaxHealth = 10.0D;
@@ -16,7 +16,7 @@ index 0b1b14746be9aa10fb5d48b820395b505e79cb74..b60cdc090e21de74a4b8a54385ce2d9e
private void squidSettings() { private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable); squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
squidControllable = getBoolean("mobs.squid.controllable", squidControllable); squidControllable = getBoolean("mobs.squid.controllable", squidControllable);
@@ -1453,6 +1454,7 @@ public class PurpurWorldConfig { @@ -1451,6 +1452,7 @@ public class PurpurWorldConfig {
set("mobs.squid.attributes.max_health", oldValue); set("mobs.squid.attributes.max_health", oldValue);
} }
squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth); squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Phantoms burn in light
diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
index 7514bcdcc29c9d10393aaf8c08cee635efdbd3fe..223aa8f7f8ea2a15e4dcf62aef3521382c9ab7cd 100644 index f608e7dcdb899608ff2f4d19b274861170c9694a..b35d737cf492f16952deff21098e48b6949d98ff 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java --- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java +++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
@@ -50,6 +50,7 @@ public class Phantom extends FlyingMob implements Enemy { @@ -50,6 +50,7 @@ public class Phantom extends FlyingMob implements Enemy {
@@ -53,10 +53,10 @@ index 7514bcdcc29c9d10393aaf8c08cee635efdbd3fe..223aa8f7f8ea2a15e4dcf62aef352138
list.sort(Comparator.comparing((Entity e) -> { return e.getY(); }).reversed()); // CraftBukkit - decompile error list.sort(Comparator.comparing((Entity e) -> { return e.getY(); }).reversed()); // CraftBukkit - decompile error
Iterator iterator = list.iterator(); Iterator iterator = list.iterator();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b60cdc090e21de74a4b8a54385ce2d9e4f9e3820..d53a80f1a5040fa96977febaffb8ae089c577651 100644 index 3ddbfdfe9422f7c1f87f9a26d35ad11507b93573..9c4a016d9567e0e6737e60d7518a23537ef87bd7 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1125,6 +1125,9 @@ public class PurpurWorldConfig { @@ -1123,6 +1123,9 @@ public class PurpurWorldConfig {
public double phantomSpawnLocalDifficultyChance = 3.0D; public double phantomSpawnLocalDifficultyChance = 3.0D;
public int phantomSpawnMinPerAttempt = 1; public int phantomSpawnMinPerAttempt = 1;
public int phantomSpawnMaxPerAttempt = -1; public int phantomSpawnMaxPerAttempt = -1;
@@ -66,7 +66,7 @@ index b60cdc090e21de74a4b8a54385ce2d9e4f9e3820..d53a80f1a5040fa96977febaffb8ae08
private void phantomSettings() { private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -1155,6 +1158,9 @@ public class PurpurWorldConfig { @@ -1153,6 +1156,9 @@ public class PurpurWorldConfig {
phantomSpawnLocalDifficultyChance = getDouble("mobs.phantom.spawn.local-difficulty-chance", phantomSpawnLocalDifficultyChance); phantomSpawnLocalDifficultyChance = getDouble("mobs.phantom.spawn.local-difficulty-chance", phantomSpawnLocalDifficultyChance);
phantomSpawnMinPerAttempt = getInt("mobs.phantom.spawn.per-attempt.min", phantomSpawnMinPerAttempt); phantomSpawnMinPerAttempt = getInt("mobs.phantom.spawn.per-attempt.min", phantomSpawnMinPerAttempt);
phantomSpawnMaxPerAttempt = getInt("mobs.phantom.spawn.per-attempt.max", phantomSpawnMaxPerAttempt); phantomSpawnMaxPerAttempt = getInt("mobs.phantom.spawn.per-attempt.max", phantomSpawnMaxPerAttempt);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable villager breeding
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index f4f7bd3d0e84e4dd22815742565d810c37efdc10..07a78cc272cd1c4857034c3374295e3c34563a2d 100644 index cb8ea90c03bcd5ad81d9478abcd556838143850e..ab3497bd22beffaf7a66bdd502b9e1bfc6478881 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -775,7 +775,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -775,7 +775,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -18,10 +18,10 @@ index f4f7bd3d0e84e4dd22815742565d810c37efdc10..07a78cc272cd1c4857034c3374295e3c
private boolean hungry() { private boolean hungry() {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index d53a80f1a5040fa96977febaffb8ae089c577651..d1cd6f374f4ea26bfbb40a8918a34082e72be491 100644 index 9c4a016d9567e0e6737e60d7518a23537ef87bd7..c0fa33bf963055dee50b03cec6e284fa02f41c61 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1602,6 +1602,7 @@ public class PurpurWorldConfig { @@ -1600,6 +1600,7 @@ public class PurpurWorldConfig {
public double villagerMaxHealth = 20.0D; public double villagerMaxHealth = 20.0D;
public boolean villagerFollowEmeraldBlock = false; public boolean villagerFollowEmeraldBlock = false;
public boolean villagerCanBeLeashed = false; public boolean villagerCanBeLeashed = false;
@@ -29,7 +29,7 @@ index d53a80f1a5040fa96977febaffb8ae089c577651..d1cd6f374f4ea26bfbb40a8918a34082
private void villagerSettings() { private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1614,6 +1615,7 @@ public class PurpurWorldConfig { @@ -1612,6 +1613,7 @@ public class PurpurWorldConfig {
villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth); villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth);
villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock); villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock);
villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed); villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add vindicator johnny spawn chance
diff --git a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
index c3b8bce2d8e1dccb619267923964e06abfed8762..021550a0465dd1fd152b4c2e763014058730e8ca 100644 index 32c7836fcceaeee018dd965f77ac1d2c2ab45ea0..5e732fd80cd0ac814e56c741717e333500fcc334 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java --- a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java +++ b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
@@ -154,6 +154,12 @@ public class Vindicator extends AbstractIllager { @@ -154,6 +154,12 @@ public class Vindicator extends AbstractIllager {
@@ -22,10 +22,10 @@ index c3b8bce2d8e1dccb619267923964e06abfed8762..021550a0465dd1fd152b4c2e76301405
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 68dda88f2d6eea8fb84f3db5877375e33a87b204..88bd6c7e9902002dcdb5997ae5294fd5f99a2142 100644 index 33913d10ac708aa682a9384c016097ed20c91a20..30ae5a63acc91b943c6c08b5e44e4648a3d7f3e6 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1629,6 +1629,7 @@ public class PurpurWorldConfig { @@ -1627,6 +1627,7 @@ public class PurpurWorldConfig {
public boolean vindicatorRidableInWater = false; public boolean vindicatorRidableInWater = false;
public boolean vindicatorControllable = true; public boolean vindicatorControllable = true;
public double vindicatorMaxHealth = 24.0D; public double vindicatorMaxHealth = 24.0D;
@@ -33,7 +33,7 @@ index 68dda88f2d6eea8fb84f3db5877375e33a87b204..88bd6c7e9902002dcdb5997ae5294fd5
private void vindicatorSettings() { private void vindicatorSettings() {
vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable); vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable);
vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater); vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater);
@@ -1639,6 +1640,7 @@ public class PurpurWorldConfig { @@ -1637,6 +1638,7 @@ public class PurpurWorldConfig {
set("mobs.vindicator.attributes.max_health", oldValue); set("mobs.vindicator.attributes.max_health", oldValue);
} }
vindicatorMaxHealth = getDouble("mobs.vindicator.attributes.max_health", vindicatorMaxHealth); vindicatorMaxHealth = getDouble("mobs.vindicator.attributes.max_health", vindicatorMaxHealth);

View File

@@ -17,10 +17,10 @@ index 0accc5595461ce92259e3f819a9837aabd442d77..3b65375703732966d0fcbbb68ba0805e
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 05404b37c6a1974ead2f630cf5405c9489cc6463..7e7c373e7e4b49e43722f006b643b4a760b8ecfe 100644 index 8be6041d428f229f250ec4ed3de23d436371e8b9..4b72a70baa59c4411900a0f152d144318e8636fa 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -612,6 +612,7 @@ public class PurpurWorldConfig { @@ -610,6 +610,7 @@ public class PurpurWorldConfig {
public float dolphinSpitSpeed = 1.0F; public float dolphinSpitSpeed = 1.0F;
public float dolphinSpitDamage = 2.0F; public float dolphinSpitDamage = 2.0F;
public double dolphinMaxHealth = 10.0D; public double dolphinMaxHealth = 10.0D;
@@ -28,7 +28,7 @@ index 05404b37c6a1974ead2f630cf5405c9489cc6463..7e7c373e7e4b49e43722f006b643b4a7
private void dolphinSettings() { private void dolphinSettings() {
dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable); dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable);
dolphinControllable = getBoolean("mobs.dolphin.controllable", dolphinControllable); dolphinControllable = getBoolean("mobs.dolphin.controllable", dolphinControllable);
@@ -624,6 +625,7 @@ public class PurpurWorldConfig { @@ -622,6 +623,7 @@ public class PurpurWorldConfig {
set("mobs.dolphin.attributes.max_health", oldValue); set("mobs.dolphin.attributes.max_health", oldValue);
} }
dolphinMaxHealth = getDouble("mobs.dolphin.attributes.max_health", dolphinMaxHealth); dolphinMaxHealth = getDouble("mobs.dolphin.attributes.max_health", dolphinMaxHealth);

View File

@@ -54,10 +54,10 @@ index ffc76354ead6937daf366c3d87bcb51d3e4c47f5..5b98d42b5d6bc07265fbb017e51a6281
+ // Purpur + // Purpur
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 7e7c373e7e4b49e43722f006b643b4a760b8ecfe..73039cf2e685514a7c6a553310c27c4d42b06054 100644 index 4b72a70baa59c4411900a0f152d144318e8636fa..c5b4db93286c73a49ff3f48e5a761f1ccb96780b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1469,6 +1469,7 @@ public class PurpurWorldConfig { @@ -1467,6 +1467,7 @@ public class PurpurWorldConfig {
public boolean squidControllable = true; public boolean squidControllable = true;
public double squidMaxHealth = 10.0D; public double squidMaxHealth = 10.0D;
public boolean squidImmuneToEAR = true; public boolean squidImmuneToEAR = true;
@@ -65,7 +65,7 @@ index 7e7c373e7e4b49e43722f006b643b4a760b8ecfe..73039cf2e685514a7c6a553310c27c4d
private void squidSettings() { private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable); squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
squidControllable = getBoolean("mobs.squid.controllable", squidControllable); squidControllable = getBoolean("mobs.squid.controllable", squidControllable);
@@ -1479,6 +1480,7 @@ public class PurpurWorldConfig { @@ -1477,6 +1478,7 @@ public class PurpurWorldConfig {
} }
squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth); squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth);
squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR); squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR);

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Customizable wither health and healing
Adds the ability to customize the health of the wither, as well as the amount that it heals, and how often. Adds the ability to customize the health of the wither, as well as the amount that it heals, and how often.
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
index 18ecfcc97b17f3009057c97159a24583d3dc61e5..b4a8c219f609ba9f707edd0afe8abb69c7c0a510 100644 index 52cf58145788da4cb0ec447d1cf485f86141d1d8..631349e333fcc8285b7f23dec86275d0f0bee0ca 100644
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java +++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
@@ -529,8 +529,10 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @@ -529,8 +529,10 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
@@ -23,10 +23,10 @@ index 18ecfcc97b17f3009057c97159a24583d3dc61e5..b4a8c219f609ba9f707edd0afe8abb69
this.bossEvent.setProgress(this.getHealth() / this.getMaxHealth()); 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 diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 049aed0affed3a169c79fbd8371bf452a249e65a..f24ea5c30b5a608ee3b0d5dc7e17af1447391471 100644 index 4603aacc827aef7dd71096525703932ac3aed0c8..69984de957b742137588a5d5be7f7c2539515e2e 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1708,6 +1708,8 @@ public class PurpurWorldConfig { @@ -1706,6 +1706,8 @@ public class PurpurWorldConfig {
public boolean witherControllable = true; public boolean witherControllable = true;
public double witherMaxY = 320D; public double witherMaxY = 320D;
public double witherMaxHealth = 300.0D; public double witherMaxHealth = 300.0D;
@@ -35,7 +35,7 @@ index 049aed0affed3a169c79fbd8371bf452a249e65a..f24ea5c30b5a608ee3b0d5dc7e17af14
private void witherSettings() { private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -1723,6 +1725,8 @@ public class PurpurWorldConfig { @@ -1721,6 +1723,8 @@ public class PurpurWorldConfig {
set("mobs.wither.attributes.max_health", oldValue); set("mobs.wither.attributes.max_health", oldValue);
} }
witherMaxHealth = getDouble("mobs.wither.attributes.max_health", witherMaxHealth); witherMaxHealth = getDouble("mobs.wither.attributes.max_health", witherMaxHealth);

View File

@@ -21,7 +21,7 @@ index a08c00b8c0488d18be5e182f7892e5ab71d12247..338f693d098b6ab507c30f6411c9a952
ignored.add("goal_selector_1"); ignored.add("goal_selector_1");
ignored.add("goal_selector_2"); ignored.add("goal_selector_2");
diff --git a/src/main/java/net/minecraft/world/entity/monster/Drowned.java b/src/main/java/net/minecraft/world/entity/monster/Drowned.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Drowned.java b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
index 68b5be9b8b0a243ef8f1fed35c921854e1664741..e141dc0e13206bfdfbd39116edbcd49887a76cd2 100644 index 9005034e99e0398cf7b2cca528fbe55d4baa2e9d..25b71ea8f18946a5de60eee5a075309033312a5c 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java --- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java +++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
@@ -120,7 +120,19 @@ public class Drowned extends Zombie implements RangedAttackMob { @@ -120,7 +120,19 @@ public class Drowned extends Zombie implements RangedAttackMob {
@@ -46,7 +46,7 @@ index 68b5be9b8b0a243ef8f1fed35c921854e1664741..e141dc0e13206bfdfbd39116edbcd498
this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, Axolotl.class, true, false)); this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, Axolotl.class, true, false));
this.targetSelector.addGoal(5, new NearestAttackableTargetGoal<>(this, Turtle.class, 10, true, false, Turtle.BABY_ON_LAND_SELECTOR)); this.targetSelector.addGoal(5, new NearestAttackableTargetGoal<>(this, Turtle.class, 10, true, false, Turtle.BABY_ON_LAND_SELECTOR));
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
index 05cb9eff1ce0d5af9efcd47033878feb22397a2d..35e1e8264d9f1e30b37ad598adab478b4c99ada3 100644 index 4a38fec232e2a087f8ef3f7a0c8fff17ddd714d0..0d4abed58cd14f7804e61c6e6a62891c71fb9f0a 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java --- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java +++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
@@ -156,7 +156,19 @@ public class Zombie extends Monster { @@ -156,7 +156,19 @@ public class Zombie extends Monster {
@@ -71,10 +71,10 @@ index 05cb9eff1ce0d5af9efcd47033878feb22397a2d..35e1e8264d9f1e30b37ad598adab478b
this.targetSelector.addGoal(5, new NearestAttackableTargetGoal<>(this, Turtle.class, 10, true, false, Turtle.BABY_ON_LAND_SELECTOR)); 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 diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 185d1055a5f9567707f5464c447a3d496ad1331d..29bca2e7ba8c0f57d65695ec846d625a88a687a3 100644 index 4556563c317ca919cddf354e97eb581cb8371916..5bf6c17747fcd7059b9a434f7f185f432e90bee4 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1841,6 +1841,7 @@ public class PurpurWorldConfig { @@ -1839,6 +1839,7 @@ public class PurpurWorldConfig {
public boolean zombieJockeyOnlyBaby = true; public boolean zombieJockeyOnlyBaby = true;
public double zombieJockeyChance = 0.05D; public double zombieJockeyChance = 0.05D;
public boolean zombieJockeyTryExistingChickens = true; public boolean zombieJockeyTryExistingChickens = true;
@@ -82,7 +82,7 @@ index 185d1055a5f9567707f5464c447a3d496ad1331d..29bca2e7ba8c0f57d65695ec846d625a
private void zombieSettings() { private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -1855,6 +1856,7 @@ public class PurpurWorldConfig { @@ -1853,6 +1854,7 @@ public class PurpurWorldConfig {
zombieJockeyOnlyBaby = getBoolean("mobs.zombie.jockey.only-babies", zombieJockeyOnlyBaby); zombieJockeyOnlyBaby = getBoolean("mobs.zombie.jockey.only-babies", zombieJockeyOnlyBaby);
zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance); zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance);
zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens); zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens);

View File

@@ -58,10 +58,10 @@ index de1bf4aea2661763948aba01d93e7685f3ef73cb..c396874d24ae535b4c07649e303e60b7
float f1 = Mth.cos(f) * 0.2F; float f1 = Mth.cos(f) * 0.2F;
float f2 = -0.1F + this.squid.getRandom().nextFloat() * 0.2F; float f2 = -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 diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 29bca2e7ba8c0f57d65695ec846d625a88a687a3..19f16d8b71ba7fe636326ef0990134518c7ab1ed 100644 index 5bf6c17747fcd7059b9a434f7f185f432e90bee4..bbb562478d11f4bf4b4f4efc228b911a736506a4 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -904,10 +904,12 @@ public class PurpurWorldConfig { @@ -902,10 +902,12 @@ public class PurpurWorldConfig {
public boolean glowSquidRidable = false; public boolean glowSquidRidable = false;
public boolean glowSquidControllable = true; public boolean glowSquidControllable = true;
public double glowSquidMaxHealth = 10.0D; public double glowSquidMaxHealth = 10.0D;
@@ -74,7 +74,7 @@ index 29bca2e7ba8c0f57d65695ec846d625a88a687a3..19f16d8b71ba7fe636326ef099013451
} }
public boolean goatRidable = false; public boolean goatRidable = false;
@@ -1528,6 +1530,7 @@ public class PurpurWorldConfig { @@ -1526,6 +1528,7 @@ public class PurpurWorldConfig {
public double squidMaxHealth = 10.0D; public double squidMaxHealth = 10.0D;
public boolean squidImmuneToEAR = true; public boolean squidImmuneToEAR = true;
public double squidOffsetWaterCheck = 0.0D; public double squidOffsetWaterCheck = 0.0D;
@@ -82,7 +82,7 @@ index 29bca2e7ba8c0f57d65695ec846d625a88a687a3..19f16d8b71ba7fe636326ef099013451
private void squidSettings() { private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable); squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
squidControllable = getBoolean("mobs.squid.controllable", squidControllable); squidControllable = getBoolean("mobs.squid.controllable", squidControllable);
@@ -1539,6 +1542,7 @@ public class PurpurWorldConfig { @@ -1537,6 +1540,7 @@ public class PurpurWorldConfig {
squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth); squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth);
squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR); squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR);
squidOffsetWaterCheck = getDouble("mobs.squid.water-offset-check", squidOffsetWaterCheck); squidOffsetWaterCheck = getDouble("mobs.squid.water-offset-check", squidOffsetWaterCheck);

View File

@@ -316,7 +316,7 @@ index eaf2e6b9865a36b7c648bd1205db922a62cd7ee8..1af75e173958c192b8f53b7e17e75d98
@Override @Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java diff --git a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
index 40323720d9ded9e3bc5eb2f16b43bb801f6f833c..14386280e7ab006787054ca17503ec8ef0ab9621 100644 index 37882a393d7c17a9437145ab5fe1f74370681146..b07c09d0e9c4eae564913eb599e2f72af79a1bf0 100644
--- a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java --- a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
+++ b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java +++ b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
@@ -83,6 +83,13 @@ public class Camel extends AbstractHorse implements PlayerRideableJumping, Rider @@ -83,6 +83,13 @@ public class Camel extends AbstractHorse implements PlayerRideableJumping, Rider
@@ -349,12 +349,12 @@ index 00bac64a6417b9e34c2b441a13e80052ad66a2c1..61c604a05eedb1928bdac8c8544b0cad
@Override @Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java diff --git a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
index 44c1da8784cfeac754f5b43c1ac3bff12c4a262d..9fc6241c08aabfb4e21ee1eb4fb15226c718e0a4 100644 index a9805129f0aaba5f0c2751d463019844eb3b347d..b627fee1cb19f476f45921f1fae7624b27ff7280 100644
--- a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java --- a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
+++ b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java +++ b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
@@ -109,6 +109,11 @@ public class Goat extends Animal { @@ -104,6 +104,11 @@ public class Goat extends Animal {
public void initAttributes() { public boolean isControllable() {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.goatMaxHealth); return level.purpurConfig.goatControllable;
} }
+ +
+ @Override + @Override
@@ -365,12 +365,12 @@ index 44c1da8784cfeac754f5b43c1ac3bff12c4a262d..9fc6241c08aabfb4e21ee1eb4fb15226
@Override @Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java b/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java b/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java
index 1bf1bff1332cca89ba2df11f397473701b61fc7e..56746fca617a0ede20b6d71e8f2a39400f529b25 100644 index 8f7cd5c3c786ff94fc9b890ec488a461b7edced0..efe381ff8d43295bcaf0d4fb7ff75f2bf46391eb 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java --- a/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java
@@ -35,6 +35,11 @@ public class Donkey extends AbstractChestedHorse { @@ -20,6 +20,11 @@ public class Donkey extends AbstractChestedHorse {
public double generateRandomSpeed(net.minecraft.util.RandomSource random) { public boolean dismountsUnderwater() {
return generateRandomSpeed(this.level.purpurConfig.donkeyMovementSpeedMin, this.level.purpurConfig.donkeyMovementSpeedMax); return !level.purpurConfig.donkeyRidableInWater || super.dismountsUnderwater();
} }
+ +
+ @Override + @Override
@@ -381,12 +381,12 @@ index 1bf1bff1332cca89ba2df11f397473701b61fc7e..56746fca617a0ede20b6d71e8f2a3940
@Override @Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java b/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java b/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java
index ac8ba7652e0ca9f940152de09dc6cac564b99a2e..7984e920034af1cfa68179f82b9a51c5345cceb5 100644 index c653a3d459fd8c1c4728cd5a0e63c6b3707792d9..2dbcebf7c370d4f5a51b5a23e67306c6c1ab83ba 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java --- a/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java
@@ -60,6 +60,11 @@ public class Horse extends AbstractHorse implements VariantHolder<Variant> { @@ -45,6 +45,11 @@ public class Horse extends AbstractHorse implements VariantHolder<Variant> {
public double generateRandomSpeed(RandomSource random) { public boolean dismountsUnderwater() {
return generateRandomSpeed(this.level.purpurConfig.horseMovementSpeedMin, this.level.purpurConfig.horseMovementSpeedMax); return !level.purpurConfig.horseRidableInWater || super.dismountsUnderwater();
} }
+ +
+ @Override + @Override
@@ -397,12 +397,12 @@ index ac8ba7652e0ca9f940152de09dc6cac564b99a2e..7984e920034af1cfa68179f82b9a51c5
@Override @Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
index a7238c95aa7bdf98c9fcd82d993bdf63e2feb1fa..d83ab783d5faeea8af25826ec24a337abb852e98 100644 index 8adca393017dcc2e44a7379b971cd2a4704bc570..4165c7d54d00e356767dc56be86f5bff6aa8e8bb 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java --- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
@@ -136,6 +136,11 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V @@ -121,6 +121,11 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
public double generateRandomSpeed(RandomSource random) { public boolean isSaddled() {
return generateRandomSpeed(this.level.purpurConfig.llamaMovementSpeedMin, this.level.purpurConfig.llamaMovementSpeedMax); return super.isSaddled() || (isTamed() && getSwag() != null);
} }
+ +
+ @Override + @Override
@@ -413,12 +413,12 @@ index a7238c95aa7bdf98c9fcd82d993bdf63e2feb1fa..d83ab783d5faeea8af25826ec24a337a
public boolean isTraderLlama() { public boolean isTraderLlama() {
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java b/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java b/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java
index e5f6de903d533bbef0083d270618e2a59e7096d2..205a738ce558eb0d2686e945b5831151fe7f1c2f 100644 index cb72039e1c69e76d5d1c99f5fb63819369c2a0d6..ddb31f39182f7e2dd3c3a0b521563a0983b548cd 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java --- a/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java
@@ -34,6 +34,11 @@ public class Mule extends AbstractChestedHorse { @@ -19,6 +19,11 @@ public class Mule extends AbstractChestedHorse {
public double generateRandomSpeed(net.minecraft.util.RandomSource random) { public boolean dismountsUnderwater() {
return generateRandomSpeed(this.level.purpurConfig.muleMovementSpeedMin, this.level.purpurConfig.muleMovementSpeedMax); return !level.purpurConfig.muleRidableInWater || super.dismountsUnderwater();
} }
+ +
+ @Override + @Override
@@ -429,12 +429,12 @@ index e5f6de903d533bbef0083d270618e2a59e7096d2..205a738ce558eb0d2686e945b5831151
@Override @Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
index e34e34a276a926c72c98bb1f9d2bacc26bde4d4f..244e38548c1ccbf0720dc074a2385d21f5edd7ad 100644 index 7c891be8b94a6438910a53c0473393d49b19f5d9..33250d34cc6e2733330f9c4a42f498b2bbc73b33 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java --- a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
@@ -48,6 +48,11 @@ public class SkeletonHorse extends AbstractHorse { @@ -33,6 +33,11 @@ public class SkeletonHorse extends AbstractHorse {
public double generateRandomSpeed(RandomSource random) { public boolean isTamed() {
return generateRandomSpeed(this.level.purpurConfig.skeletonHorseMovementSpeedMin, this.level.purpurConfig.skeletonHorseMovementSpeedMax); return true;
} }
+ +
+ @Override + @Override
@@ -445,12 +445,12 @@ index e34e34a276a926c72c98bb1f9d2bacc26bde4d4f..244e38548c1ccbf0720dc074a2385d21
public static AttributeSupplier.Builder createAttributes() { public static AttributeSupplier.Builder createAttributes() {
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
index 540fcb9dff24208d363dcd416ad7adc3f6112776..494bd7180a8c0dc6bfdff5c2fb989efefaaf77ee 100644 index 636e86c4f0c9739d1440e524c86eddce15bb3e63..e723506f1fced33e945340392545e7970ddeb6cc 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java --- a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
@@ -62,6 +62,11 @@ public class TraderLlama extends Llama { @@ -47,6 +47,11 @@ public class TraderLlama extends Llama {
public double generateRandomSpeed(net.minecraft.util.RandomSource random) { public boolean isSaddled() {
return generateRandomSpeed(this.level.purpurConfig.traderLlamaMovementSpeedMin, this.level.purpurConfig.traderLlamaMovementSpeedMax); return super.isSaddled() || isTamed();
} }
+ +
+ @Override + @Override
@@ -461,12 +461,12 @@ index 540fcb9dff24208d363dcd416ad7adc3f6112776..494bd7180a8c0dc6bfdff5c2fb989efe
@Override @Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
index 22dbda04f4cb372063410bd10a3473631acef8af..2b3c197ff241f19ba251f08e080129280b3219f3 100644 index e9f1d53599168c4c4b44a14b445143025c4be83a..df438bc84c5b90f2fc66965f926dc2efeb6563c1 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java --- a/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
@@ -46,6 +46,11 @@ public class ZombieHorse extends AbstractHorse { @@ -31,6 +31,11 @@ public class ZombieHorse extends AbstractHorse {
public double generateRandomSpeed(RandomSource random) { public boolean isTamed() {
return generateRandomSpeed(this.level.purpurConfig.zombieHorseMovementSpeedMin, this.level.purpurConfig.zombieHorseMovementSpeedMax); return true;
} }
+ +
+ @Override + @Override
@@ -476,6 +476,24 @@ index 22dbda04f4cb372063410bd10a3473631acef8af..2b3c197ff241f19ba251f08e08012928
// Purpur end // Purpur end
public static AttributeSupplier.Builder createAttributes() { public static AttributeSupplier.Builder createAttributes() {
diff --git a/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java b/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java
index 64a8318d95455810cb096059bcfd8e64d0f5d6f6..a2a73dc4bdef972cfaf23934fec814fba6e4d5a3 100644
--- a/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java
+++ b/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java
@@ -79,6 +79,13 @@ public class Sniffer extends Animal {
this.setPathfindingMalus(BlockPathTypes.WATER, -2.0F);
}
+ // Purpur start
+ @Override
+ public int getPurpurBreedTime() {
+ return this.level.purpurConfig.snifferBreedingTicks;
+ }
+ // Purpur end
+
// Paper start
@Override
protected void defineSynchedData() {
diff --git a/src/main/java/net/minecraft/world/entity/monster/Strider.java b/src/main/java/net/minecraft/world/entity/monster/Strider.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Strider.java b/src/main/java/net/minecraft/world/entity/monster/Strider.java
index b512ac4b75e53c272a3c41fb5b66c84b6b0e9847..fbc2e3f0b73608a999619469cd701692cb1cb788 100644 index b512ac4b75e53c272a3c41fb5b66c84b6b0e9847..fbc2e3f0b73608a999619469cd701692cb1cb788 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Strider.java --- a/src/main/java/net/minecraft/world/entity/monster/Strider.java
@@ -509,7 +527,7 @@ index 9cc42b4a1ea0d2315350e038034dfe7171668658..8e837ce3069ca05bcc93ea93f94c7934
@Override @Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 2ca801b99afa3b7c880b8266c841445262905651..eeb5f3d5c108eef5a43dc68f75b4b2147c28f560 100644 index bd46b5fa3404a4a64fefe1165735c03d9c2ec0db..d7669999bcf294c71c4238ccbeade1cdddd59400 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -510,10 +510,12 @@ public class PurpurWorldConfig { @@ -510,10 +510,12 @@ public class PurpurWorldConfig {
@@ -541,7 +559,23 @@ index 2ca801b99afa3b7c880b8266c841445262905651..eeb5f3d5c108eef5a43dc68f75b4b214
} }
public boolean blazeRidable = false; public boolean blazeRidable = false;
@@ -601,6 +605,7 @@ public class PurpurWorldConfig { @@ -577,6 +581,7 @@ public class PurpurWorldConfig {
blazeMaxHealth = getDouble("mobs.blaze.attributes.max_health", blazeMaxHealth);
}
+ public int camelBreedingTicks = 6000;
public double camelMaxHealthMin = 32.0D; // TODO: re-implement
public double camelMaxHealthMax = 32.0D; // TODO: re-implement
public double camelJumpStrengthMin = 0.42D; // TODO: re-implement
@@ -590,6 +595,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);
+ camelBreedingTicks = getInt("mobs.camel.breeding-delay-ticks", camelBreedingTicks);
}
public boolean catRidable = false;
@@ -599,6 +605,7 @@ public class PurpurWorldConfig {
public int catSpawnDelay = 1200; public int catSpawnDelay = 1200;
public int catSpawnSwampHutScanRange = 16; public int catSpawnSwampHutScanRange = 16;
public int catSpawnVillageScanRange = 48; public int catSpawnVillageScanRange = 48;
@@ -549,7 +583,7 @@ index 2ca801b99afa3b7c880b8266c841445262905651..eeb5f3d5c108eef5a43dc68f75b4b214
private void catSettings() { private void catSettings() {
catRidable = getBoolean("mobs.cat.ridable", catRidable); catRidable = getBoolean("mobs.cat.ridable", catRidable);
catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater); catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater);
@@ -614,6 +619,7 @@ public class PurpurWorldConfig { @@ -612,6 +619,7 @@ public class PurpurWorldConfig {
catSpawnDelay = getInt("mobs.cat.spawn-delay", catSpawnDelay); catSpawnDelay = getInt("mobs.cat.spawn-delay", catSpawnDelay);
catSpawnSwampHutScanRange = getInt("mobs.cat.scan-range-for-other-cats.swamp-hut", catSpawnSwampHutScanRange); catSpawnSwampHutScanRange = getInt("mobs.cat.scan-range-for-other-cats.swamp-hut", catSpawnSwampHutScanRange);
catSpawnVillageScanRange = getInt("mobs.cat.scan-range-for-other-cats.village", catSpawnVillageScanRange); catSpawnVillageScanRange = getInt("mobs.cat.scan-range-for-other-cats.village", catSpawnVillageScanRange);
@@ -557,7 +591,7 @@ index 2ca801b99afa3b7c880b8266c841445262905651..eeb5f3d5c108eef5a43dc68f75b4b214
} }
public boolean caveSpiderRidable = false; public boolean caveSpiderRidable = false;
@@ -637,6 +643,7 @@ public class PurpurWorldConfig { @@ -635,6 +643,7 @@ public class PurpurWorldConfig {
public boolean chickenControllable = true; public boolean chickenControllable = true;
public double chickenMaxHealth = 4.0D; public double chickenMaxHealth = 4.0D;
public boolean chickenRetaliate = false; public boolean chickenRetaliate = false;
@@ -565,7 +599,7 @@ index 2ca801b99afa3b7c880b8266c841445262905651..eeb5f3d5c108eef5a43dc68f75b4b214
private void chickenSettings() { private void chickenSettings() {
chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable); chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable);
chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater); chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater);
@@ -648,6 +655,7 @@ public class PurpurWorldConfig { @@ -646,6 +655,7 @@ public class PurpurWorldConfig {
} }
chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth); chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth);
chickenRetaliate = getBoolean("mobs.chicken.retaliate", chickenRetaliate); chickenRetaliate = getBoolean("mobs.chicken.retaliate", chickenRetaliate);
@@ -573,7 +607,7 @@ index 2ca801b99afa3b7c880b8266c841445262905651..eeb5f3d5c108eef5a43dc68f75b4b214
} }
public boolean codRidable = false; public boolean codRidable = false;
@@ -669,6 +677,7 @@ public class PurpurWorldConfig { @@ -667,6 +677,7 @@ public class PurpurWorldConfig {
public boolean cowControllable = true; public boolean cowControllable = true;
public double cowMaxHealth = 10.0D; public double cowMaxHealth = 10.0D;
public int cowFeedMushrooms = 0; public int cowFeedMushrooms = 0;
@@ -581,7 +615,7 @@ index 2ca801b99afa3b7c880b8266c841445262905651..eeb5f3d5c108eef5a43dc68f75b4b214
private void cowSettings() { private void cowSettings() {
cowRidable = getBoolean("mobs.cow.ridable", cowRidable); cowRidable = getBoolean("mobs.cow.ridable", cowRidable);
cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater); cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater);
@@ -680,6 +689,7 @@ public class PurpurWorldConfig { @@ -678,6 +689,7 @@ public class PurpurWorldConfig {
} }
cowMaxHealth = getDouble("mobs.cow.attributes.max_health", cowMaxHealth); cowMaxHealth = getDouble("mobs.cow.attributes.max_health", cowMaxHealth);
cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms); cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms);
@@ -589,15 +623,15 @@ index 2ca801b99afa3b7c880b8266c841445262905651..eeb5f3d5c108eef5a43dc68f75b4b214
} }
public boolean creeperRidable = false; public boolean creeperRidable = false;
@@ -731,6 +741,7 @@ public class PurpurWorldConfig { @@ -729,6 +741,7 @@ public class PurpurWorldConfig {
public double donkeyJumpStrengthMax = 0.5D; public double donkeyJumpStrengthMax = 0.5D; // TODO: re-implement
public double donkeyMovementSpeedMin = 0.175D; public double donkeyMovementSpeedMin = 0.175D; // TODO: re-implement
public double donkeyMovementSpeedMax = 0.175D; public double donkeyMovementSpeedMax = 0.175D; // TODO: re-implement
+ public int donkeyBreedingTicks = 6000; + public int donkeyBreedingTicks = 6000;
private void donkeySettings() { private void donkeySettings() {
donkeyRidableInWater = getBoolean("mobs.donkey.ridable-in-water", donkeyRidableInWater); donkeyRidableInWater = getBoolean("mobs.donkey.ridable-in-water", donkeyRidableInWater);
if (PurpurConfig.version < 10) { if (PurpurConfig.version < 10) {
@@ -746,6 +757,7 @@ public class PurpurWorldConfig { @@ -744,6 +757,7 @@ public class PurpurWorldConfig {
donkeyJumpStrengthMax = getDouble("mobs.donkey.attributes.jump_strength.max", donkeyJumpStrengthMax); donkeyJumpStrengthMax = getDouble("mobs.donkey.attributes.jump_strength.max", donkeyJumpStrengthMax);
donkeyMovementSpeedMin = getDouble("mobs.donkey.attributes.movement_speed.min", donkeyMovementSpeedMin); donkeyMovementSpeedMin = getDouble("mobs.donkey.attributes.movement_speed.min", donkeyMovementSpeedMin);
donkeyMovementSpeedMax = getDouble("mobs.donkey.attributes.movement_speed.max", donkeyMovementSpeedMax); donkeyMovementSpeedMax = getDouble("mobs.donkey.attributes.movement_speed.max", donkeyMovementSpeedMax);
@@ -605,7 +639,7 @@ index 2ca801b99afa3b7c880b8266c841445262905651..eeb5f3d5c108eef5a43dc68f75b4b214
} }
public boolean drownedRidable = false; public boolean drownedRidable = false;
@@ -865,6 +877,7 @@ public class PurpurWorldConfig { @@ -863,6 +877,7 @@ public class PurpurWorldConfig {
public boolean foxControllable = true; public boolean foxControllable = true;
public double foxMaxHealth = 10.0D; public double foxMaxHealth = 10.0D;
public boolean foxTypeChangesWithTulips = false; public boolean foxTypeChangesWithTulips = false;
@@ -613,7 +647,7 @@ index 2ca801b99afa3b7c880b8266c841445262905651..eeb5f3d5c108eef5a43dc68f75b4b214
private void foxSettings() { private void foxSettings() {
foxRidable = getBoolean("mobs.fox.ridable", foxRidable); foxRidable = getBoolean("mobs.fox.ridable", foxRidable);
foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater); foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater);
@@ -876,17 +889,20 @@ public class PurpurWorldConfig { @@ -874,17 +889,20 @@ public class PurpurWorldConfig {
} }
foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth); foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth);
foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips); foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips);
@@ -634,7 +668,7 @@ index 2ca801b99afa3b7c880b8266c841445262905651..eeb5f3d5c108eef5a43dc68f75b4b214
} }
public boolean ghastRidable = false; public boolean ghastRidable = false;
@@ -954,11 +970,13 @@ public class PurpurWorldConfig { @@ -952,11 +970,13 @@ public class PurpurWorldConfig {
public boolean goatRidableInWater = false; public boolean goatRidableInWater = false;
public boolean goatControllable = true; public boolean goatControllable = true;
public double goatMaxHealth = 10.0D; public double goatMaxHealth = 10.0D;
@@ -648,7 +682,7 @@ index 2ca801b99afa3b7c880b8266c841445262905651..eeb5f3d5c108eef5a43dc68f75b4b214
} }
public boolean guardianRidable = false; public boolean guardianRidable = false;
@@ -979,6 +997,7 @@ public class PurpurWorldConfig { @@ -977,6 +997,7 @@ public class PurpurWorldConfig {
public boolean hoglinRidableInWater = false; public boolean hoglinRidableInWater = false;
public boolean hoglinControllable = true; public boolean hoglinControllable = true;
public double hoglinMaxHealth = 40.0D; public double hoglinMaxHealth = 40.0D;
@@ -656,7 +690,7 @@ index 2ca801b99afa3b7c880b8266c841445262905651..eeb5f3d5c108eef5a43dc68f75b4b214
private void hoglinSettings() { private void hoglinSettings() {
hoglinRidable = getBoolean("mobs.hoglin.ridable", hoglinRidable); hoglinRidable = getBoolean("mobs.hoglin.ridable", hoglinRidable);
hoglinRidableInWater = getBoolean("mobs.hoglin.ridable-in-water", hoglinRidableInWater); hoglinRidableInWater = getBoolean("mobs.hoglin.ridable-in-water", hoglinRidableInWater);
@@ -989,6 +1008,7 @@ public class PurpurWorldConfig { @@ -987,6 +1008,7 @@ public class PurpurWorldConfig {
set("mobs.hoglin.attributes.max_health", oldValue); set("mobs.hoglin.attributes.max_health", oldValue);
} }
hoglinMaxHealth = getDouble("mobs.hoglin.attributes.max_health", hoglinMaxHealth); hoglinMaxHealth = getDouble("mobs.hoglin.attributes.max_health", hoglinMaxHealth);
@@ -664,15 +698,15 @@ index 2ca801b99afa3b7c880b8266c841445262905651..eeb5f3d5c108eef5a43dc68f75b4b214
} }
public boolean horseRidableInWater = false; public boolean horseRidableInWater = false;
@@ -998,6 +1018,7 @@ public class PurpurWorldConfig { @@ -996,6 +1018,7 @@ public class PurpurWorldConfig {
public double horseJumpStrengthMax = 1.0D; public double horseJumpStrengthMax = 1.0D; // TODO: re-implement
public double horseMovementSpeedMin = 0.1125D; public double horseMovementSpeedMin = 0.1125D; // TODO: re-implement
public double horseMovementSpeedMax = 0.3375D; public double horseMovementSpeedMax = 0.3375D; // TODO: re-implement
+ public int horseBreedingTicks = 6000; + public int horseBreedingTicks = 6000;
private void horseSettings() { private void horseSettings() {
horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater); horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater);
if (PurpurConfig.version < 10) { if (PurpurConfig.version < 10) {
@@ -1013,6 +1034,7 @@ public class PurpurWorldConfig { @@ -1011,6 +1034,7 @@ public class PurpurWorldConfig {
horseJumpStrengthMax = getDouble("mobs.horse.attributes.jump_strength.max", horseJumpStrengthMax); horseJumpStrengthMax = getDouble("mobs.horse.attributes.jump_strength.max", horseJumpStrengthMax);
horseMovementSpeedMin = getDouble("mobs.horse.attributes.movement_speed.min", horseMovementSpeedMin); horseMovementSpeedMin = getDouble("mobs.horse.attributes.movement_speed.min", horseMovementSpeedMin);
horseMovementSpeedMax = getDouble("mobs.horse.attributes.movement_speed.max", horseMovementSpeedMax); horseMovementSpeedMax = getDouble("mobs.horse.attributes.movement_speed.max", horseMovementSpeedMax);
@@ -680,15 +714,15 @@ index 2ca801b99afa3b7c880b8266c841445262905651..eeb5f3d5c108eef5a43dc68f75b4b214
} }
public boolean huskRidable = false; public boolean huskRidable = false;
@@ -1090,6 +1112,7 @@ public class PurpurWorldConfig { @@ -1088,6 +1112,7 @@ public class PurpurWorldConfig {
public double llamaJumpStrengthMax = 0.5D; public double llamaJumpStrengthMax = 0.5D; // TODO: re-implement
public double llamaMovementSpeedMin = 0.175D; public double llamaMovementSpeedMin = 0.175D; // TODO: re-implement
public double llamaMovementSpeedMax = 0.175D; public double llamaMovementSpeedMax = 0.175D; // TODO: re-implement
+ public int llamaBreedingTicks = 6000; + public int llamaBreedingTicks = 6000;
private void llamaSettings() { private void llamaSettings() {
llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable); llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable);
llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater); llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater);
@@ -1107,6 +1130,7 @@ public class PurpurWorldConfig { @@ -1105,6 +1130,7 @@ public class PurpurWorldConfig {
llamaJumpStrengthMax = getDouble("mobs.llama.attributes.jump_strength.max", llamaJumpStrengthMax); llamaJumpStrengthMax = getDouble("mobs.llama.attributes.jump_strength.max", llamaJumpStrengthMax);
llamaMovementSpeedMin = getDouble("mobs.llama.attributes.movement_speed.min", llamaMovementSpeedMin); llamaMovementSpeedMin = getDouble("mobs.llama.attributes.movement_speed.min", llamaMovementSpeedMin);
llamaMovementSpeedMax = getDouble("mobs.llama.attributes.movement_speed.max", llamaMovementSpeedMax); llamaMovementSpeedMax = getDouble("mobs.llama.attributes.movement_speed.max", llamaMovementSpeedMax);
@@ -696,7 +730,7 @@ index 2ca801b99afa3b7c880b8266c841445262905651..eeb5f3d5c108eef5a43dc68f75b4b214
} }
public boolean magmaCubeRidable = false; public boolean magmaCubeRidable = false;
@@ -1135,6 +1159,7 @@ public class PurpurWorldConfig { @@ -1133,6 +1159,7 @@ public class PurpurWorldConfig {
public boolean mooshroomRidableInWater = false; public boolean mooshroomRidableInWater = false;
public boolean mooshroomControllable = true; public boolean mooshroomControllable = true;
public double mooshroomMaxHealth = 10.0D; public double mooshroomMaxHealth = 10.0D;
@@ -704,7 +738,7 @@ index 2ca801b99afa3b7c880b8266c841445262905651..eeb5f3d5c108eef5a43dc68f75b4b214
private void mooshroomSettings() { private void mooshroomSettings() {
mooshroomRidable = getBoolean("mobs.mooshroom.ridable", mooshroomRidable); mooshroomRidable = getBoolean("mobs.mooshroom.ridable", mooshroomRidable);
mooshroomRidableInWater = getBoolean("mobs.mooshroom.ridable-in-water", mooshroomRidableInWater); mooshroomRidableInWater = getBoolean("mobs.mooshroom.ridable-in-water", mooshroomRidableInWater);
@@ -1145,6 +1170,7 @@ public class PurpurWorldConfig { @@ -1143,6 +1170,7 @@ public class PurpurWorldConfig {
set("mobs.mooshroom.attributes.max_health", oldValue); set("mobs.mooshroom.attributes.max_health", oldValue);
} }
mooshroomMaxHealth = getDouble("mobs.mooshroom.attributes.max_health", mooshroomMaxHealth); mooshroomMaxHealth = getDouble("mobs.mooshroom.attributes.max_health", mooshroomMaxHealth);
@@ -712,15 +746,15 @@ index 2ca801b99afa3b7c880b8266c841445262905651..eeb5f3d5c108eef5a43dc68f75b4b214
} }
public boolean muleRidableInWater = false; public boolean muleRidableInWater = false;
@@ -1154,6 +1180,7 @@ public class PurpurWorldConfig { @@ -1152,6 +1180,7 @@ public class PurpurWorldConfig {
public double muleJumpStrengthMax = 0.5D; public double muleJumpStrengthMax = 0.5D; // TODO: re-implement
public double muleMovementSpeedMin = 0.175D; public double muleMovementSpeedMin = 0.175D; // TODO: re-implement
public double muleMovementSpeedMax = 0.175D; public double muleMovementSpeedMax = 0.175D; // TODO: re-implement
+ public int muleBreedingTicks = 6000; + public int muleBreedingTicks = 6000;
private void muleSettings() { private void muleSettings() {
muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater); muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater);
if (PurpurConfig.version < 10) { if (PurpurConfig.version < 10) {
@@ -1169,12 +1196,14 @@ public class PurpurWorldConfig { @@ -1167,12 +1196,14 @@ public class PurpurWorldConfig {
muleJumpStrengthMax = getDouble("mobs.mule.attributes.jump_strength.max", muleJumpStrengthMax); muleJumpStrengthMax = getDouble("mobs.mule.attributes.jump_strength.max", muleJumpStrengthMax);
muleMovementSpeedMin = getDouble("mobs.mule.attributes.movement_speed.min", muleMovementSpeedMin); muleMovementSpeedMin = getDouble("mobs.mule.attributes.movement_speed.min", muleMovementSpeedMin);
muleMovementSpeedMax = getDouble("mobs.mule.attributes.movement_speed.max", muleMovementSpeedMax); muleMovementSpeedMax = getDouble("mobs.mule.attributes.movement_speed.max", muleMovementSpeedMax);
@@ -735,7 +769,7 @@ index 2ca801b99afa3b7c880b8266c841445262905651..eeb5f3d5c108eef5a43dc68f75b4b214
private void ocelotSettings() { private void ocelotSettings() {
ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable); ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable);
ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater); ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater);
@@ -1185,12 +1214,14 @@ public class PurpurWorldConfig { @@ -1183,12 +1214,14 @@ public class PurpurWorldConfig {
set("mobs.ocelot.attributes.max_health", oldValue); set("mobs.ocelot.attributes.max_health", oldValue);
} }
ocelotMaxHealth = getDouble("mobs.ocelot.attributes.max_health", ocelotMaxHealth); ocelotMaxHealth = getDouble("mobs.ocelot.attributes.max_health", ocelotMaxHealth);
@@ -750,7 +784,7 @@ index 2ca801b99afa3b7c880b8266c841445262905651..eeb5f3d5c108eef5a43dc68f75b4b214
private void pandaSettings() { private void pandaSettings() {
pandaRidable = getBoolean("mobs.panda.ridable", pandaRidable); pandaRidable = getBoolean("mobs.panda.ridable", pandaRidable);
pandaRidableInWater = getBoolean("mobs.panda.ridable-in-water", pandaRidableInWater); pandaRidableInWater = getBoolean("mobs.panda.ridable-in-water", pandaRidableInWater);
@@ -1201,6 +1232,7 @@ public class PurpurWorldConfig { @@ -1199,6 +1232,7 @@ public class PurpurWorldConfig {
set("mobs.panda.attributes.max_health", oldValue); set("mobs.panda.attributes.max_health", oldValue);
} }
pandaMaxHealth = getDouble("mobs.panda.attributes.max_health", pandaMaxHealth); pandaMaxHealth = getDouble("mobs.panda.attributes.max_health", pandaMaxHealth);
@@ -758,7 +792,7 @@ index 2ca801b99afa3b7c880b8266c841445262905651..eeb5f3d5c108eef5a43dc68f75b4b214
} }
public boolean parrotRidable = false; public boolean parrotRidable = false;
@@ -1284,6 +1316,7 @@ public class PurpurWorldConfig { @@ -1282,6 +1316,7 @@ public class PurpurWorldConfig {
public boolean pigControllable = true; public boolean pigControllable = true;
public double pigMaxHealth = 10.0D; public double pigMaxHealth = 10.0D;
public boolean pigGiveSaddleBack = false; public boolean pigGiveSaddleBack = false;
@@ -766,7 +800,7 @@ index 2ca801b99afa3b7c880b8266c841445262905651..eeb5f3d5c108eef5a43dc68f75b4b214
private void pigSettings() { private void pigSettings() {
pigRidable = getBoolean("mobs.pig.ridable", pigRidable); pigRidable = getBoolean("mobs.pig.ridable", pigRidable);
pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater); pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater);
@@ -1295,6 +1328,7 @@ public class PurpurWorldConfig { @@ -1293,6 +1328,7 @@ public class PurpurWorldConfig {
} }
pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth); pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth);
pigGiveSaddleBack = getBoolean("mobs.pig.give-saddle-back", pigGiveSaddleBack); pigGiveSaddleBack = getBoolean("mobs.pig.give-saddle-back", pigGiveSaddleBack);
@@ -774,7 +808,7 @@ index 2ca801b99afa3b7c880b8266c841445262905651..eeb5f3d5c108eef5a43dc68f75b4b214
} }
public boolean piglinRidable = false; public boolean piglinRidable = false;
@@ -1351,6 +1385,7 @@ public class PurpurWorldConfig { @@ -1349,6 +1385,7 @@ public class PurpurWorldConfig {
public double polarBearMaxHealth = 30.0D; public double polarBearMaxHealth = 30.0D;
public String polarBearBreedableItemString = ""; public String polarBearBreedableItemString = "";
public Item polarBearBreedableItem = null; public Item polarBearBreedableItem = null;
@@ -782,7 +816,7 @@ index 2ca801b99afa3b7c880b8266c841445262905651..eeb5f3d5c108eef5a43dc68f75b4b214
private void polarBearSettings() { private void polarBearSettings() {
polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable); polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable);
polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater); polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater);
@@ -1364,6 +1399,7 @@ public class PurpurWorldConfig { @@ -1362,6 +1399,7 @@ public class PurpurWorldConfig {
polarBearBreedableItemString = getString("mobs.polar_bear.breedable-item", polarBearBreedableItemString); polarBearBreedableItemString = getString("mobs.polar_bear.breedable-item", polarBearBreedableItemString);
Item item = BuiltInRegistries.ITEM.get(new ResourceLocation(polarBearBreedableItemString)); Item item = BuiltInRegistries.ITEM.get(new ResourceLocation(polarBearBreedableItemString));
if (item != Items.AIR) polarBearBreedableItem = item; if (item != Items.AIR) polarBearBreedableItem = item;
@@ -790,7 +824,7 @@ index 2ca801b99afa3b7c880b8266c841445262905651..eeb5f3d5c108eef5a43dc68f75b4b214
} }
public boolean pufferfishRidable = false; public boolean pufferfishRidable = false;
@@ -1386,6 +1422,7 @@ public class PurpurWorldConfig { @@ -1384,6 +1422,7 @@ public class PurpurWorldConfig {
public double rabbitMaxHealth = 3.0D; public double rabbitMaxHealth = 3.0D;
public double rabbitNaturalToast = 0.0D; public double rabbitNaturalToast = 0.0D;
public double rabbitNaturalKiller = 0.0D; public double rabbitNaturalKiller = 0.0D;
@@ -798,7 +832,7 @@ index 2ca801b99afa3b7c880b8266c841445262905651..eeb5f3d5c108eef5a43dc68f75b4b214
private void rabbitSettings() { private void rabbitSettings() {
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable); rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater); rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
@@ -1398,6 +1435,7 @@ public class PurpurWorldConfig { @@ -1396,6 +1435,7 @@ public class PurpurWorldConfig {
rabbitMaxHealth = getDouble("mobs.rabbit.attributes.max_health", rabbitMaxHealth); rabbitMaxHealth = getDouble("mobs.rabbit.attributes.max_health", rabbitMaxHealth);
rabbitNaturalToast = getDouble("mobs.rabbit.spawn-toast-chance", rabbitNaturalToast); rabbitNaturalToast = getDouble("mobs.rabbit.spawn-toast-chance", rabbitNaturalToast);
rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller); rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller);
@@ -806,7 +840,7 @@ index 2ca801b99afa3b7c880b8266c841445262905651..eeb5f3d5c108eef5a43dc68f75b4b214
} }
public boolean ravagerRidable = false; public boolean ravagerRidable = false;
@@ -1434,6 +1472,7 @@ public class PurpurWorldConfig { @@ -1432,6 +1472,7 @@ public class PurpurWorldConfig {
public boolean sheepRidableInWater = false; public boolean sheepRidableInWater = false;
public boolean sheepControllable = true; public boolean sheepControllable = true;
public double sheepMaxHealth = 8.0D; public double sheepMaxHealth = 8.0D;
@@ -814,7 +848,7 @@ index 2ca801b99afa3b7c880b8266c841445262905651..eeb5f3d5c108eef5a43dc68f75b4b214
private void sheepSettings() { private void sheepSettings() {
sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable); sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable);
sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater); sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater);
@@ -1444,6 +1483,7 @@ public class PurpurWorldConfig { @@ -1442,6 +1483,7 @@ public class PurpurWorldConfig {
set("mobs.sheep.attributes.max_health", oldValue); set("mobs.sheep.attributes.max_health", oldValue);
} }
sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth); sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth);
@@ -822,7 +856,19 @@ index 2ca801b99afa3b7c880b8266c841445262905651..eeb5f3d5c108eef5a43dc68f75b4b214
} }
public boolean shulkerRidable = false; public boolean shulkerRidable = false;
@@ -1619,6 +1659,7 @@ public class PurpurWorldConfig { @@ -1561,6 +1603,11 @@ public class PurpurWorldConfig {
snowGolemPutPumpkinBack = getBoolean("mobs.snow_golem.pumpkin-can-be-added-back", snowGolemPutPumpkinBack);
}
+ public int snifferBreedingTicks = 6000;
+ private void snifferSettings() {
+ snifferBreedingTicks = getInt("mobs.sniffer.breeding-delay-ticks", chickenBreedingTicks);
+ }
+
public boolean squidRidable = false;
public boolean squidControllable = true;
public double squidMaxHealth = 10.0D;
@@ -1617,6 +1664,7 @@ public class PurpurWorldConfig {
public boolean striderRidableInWater = false; public boolean striderRidableInWater = false;
public boolean striderControllable = true; public boolean striderControllable = true;
public double striderMaxHealth = 20.0D; public double striderMaxHealth = 20.0D;
@@ -830,7 +876,7 @@ index 2ca801b99afa3b7c880b8266c841445262905651..eeb5f3d5c108eef5a43dc68f75b4b214
private void striderSettings() { private void striderSettings() {
striderRidable = getBoolean("mobs.strider.ridable", striderRidable); striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater); striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
@@ -1629,6 +1670,7 @@ public class PurpurWorldConfig { @@ -1627,6 +1675,7 @@ public class PurpurWorldConfig {
set("mobs.strider.attributes.max_health", oldValue); set("mobs.strider.attributes.max_health", oldValue);
} }
striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth); striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth);
@@ -838,15 +884,15 @@ index 2ca801b99afa3b7c880b8266c841445262905651..eeb5f3d5c108eef5a43dc68f75b4b214
} }
public boolean tadpoleRidable = false; public boolean tadpoleRidable = false;
@@ -1649,6 +1691,7 @@ public class PurpurWorldConfig { @@ -1647,6 +1696,7 @@ public class PurpurWorldConfig {
public double traderLlamaJumpStrengthMax = 0.5D; public double traderLlamaJumpStrengthMax = 0.5D; // TODO: re-implement
public double traderLlamaMovementSpeedMin = 0.175D; public double traderLlamaMovementSpeedMin = 0.175D; // TODO: re-implement
public double traderLlamaMovementSpeedMax = 0.175D; public double traderLlamaMovementSpeedMax = 0.175D; // TODO: re-implement
+ public int traderLlamaBreedingTicks = 6000; + public int traderLlamaBreedingTicks = 6000;
private void traderLlamaSettings() { private void traderLlamaSettings() {
traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable); traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable);
traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater); traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater);
@@ -1666,6 +1709,7 @@ public class PurpurWorldConfig { @@ -1664,6 +1714,7 @@ public class PurpurWorldConfig {
traderLlamaJumpStrengthMax = getDouble("mobs.trader_llama.attributes.jump_strength.max", traderLlamaJumpStrengthMax); traderLlamaJumpStrengthMax = getDouble("mobs.trader_llama.attributes.jump_strength.max", traderLlamaJumpStrengthMax);
traderLlamaMovementSpeedMin = getDouble("mobs.trader_llama.attributes.movement_speed.min", traderLlamaMovementSpeedMin); traderLlamaMovementSpeedMin = getDouble("mobs.trader_llama.attributes.movement_speed.min", traderLlamaMovementSpeedMin);
traderLlamaMovementSpeedMax = getDouble("mobs.trader_llama.attributes.movement_speed.max", traderLlamaMovementSpeedMax); traderLlamaMovementSpeedMax = getDouble("mobs.trader_llama.attributes.movement_speed.max", traderLlamaMovementSpeedMax);
@@ -854,7 +900,7 @@ index 2ca801b99afa3b7c880b8266c841445262905651..eeb5f3d5c108eef5a43dc68f75b4b214
} }
public boolean tropicalFishRidable = false; public boolean tropicalFishRidable = false;
@@ -1686,6 +1730,7 @@ public class PurpurWorldConfig { @@ -1684,6 +1735,7 @@ public class PurpurWorldConfig {
public boolean turtleRidableInWater = false; public boolean turtleRidableInWater = false;
public boolean turtleControllable = true; public boolean turtleControllable = true;
public double turtleMaxHealth = 30.0D; public double turtleMaxHealth = 30.0D;
@@ -862,7 +908,7 @@ index 2ca801b99afa3b7c880b8266c841445262905651..eeb5f3d5c108eef5a43dc68f75b4b214
private void turtleSettings() { private void turtleSettings() {
turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable); turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable);
turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater); turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater);
@@ -1696,6 +1741,7 @@ public class PurpurWorldConfig { @@ -1694,6 +1746,7 @@ public class PurpurWorldConfig {
set("mobs.turtle.attributes.max_health", oldValue); set("mobs.turtle.attributes.max_health", oldValue);
} }
turtleMaxHealth = getDouble("mobs.turtle.attributes.max_health", turtleMaxHealth); turtleMaxHealth = getDouble("mobs.turtle.attributes.max_health", turtleMaxHealth);
@@ -870,7 +916,7 @@ index 2ca801b99afa3b7c880b8266c841445262905651..eeb5f3d5c108eef5a43dc68f75b4b214
} }
public boolean vexRidable = false; public boolean vexRidable = false;
@@ -1723,6 +1769,7 @@ public class PurpurWorldConfig { @@ -1721,6 +1774,7 @@ public class PurpurWorldConfig {
public boolean villagerFollowEmeraldBlock = false; public boolean villagerFollowEmeraldBlock = false;
public boolean villagerCanBeLeashed = false; public boolean villagerCanBeLeashed = false;
public boolean villagerCanBreed = true; public boolean villagerCanBreed = true;
@@ -878,7 +924,7 @@ index 2ca801b99afa3b7c880b8266c841445262905651..eeb5f3d5c108eef5a43dc68f75b4b214
private void villagerSettings() { private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1736,6 +1783,7 @@ public class PurpurWorldConfig { @@ -1734,6 +1788,7 @@ public class PurpurWorldConfig {
villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock); villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock);
villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed); villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);
villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed); villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed);
@@ -886,7 +932,7 @@ index 2ca801b99afa3b7c880b8266c841445262905651..eeb5f3d5c108eef5a43dc68f75b4b214
} }
public boolean vindicatorRidable = false; public boolean vindicatorRidable = false;
@@ -1847,6 +1895,7 @@ public class PurpurWorldConfig { @@ -1845,6 +1900,7 @@ public class PurpurWorldConfig {
public boolean wolfRidableInWater = false; public boolean wolfRidableInWater = false;
public boolean wolfControllable = true; public boolean wolfControllable = true;
public double wolfMaxHealth = 8.0D; public double wolfMaxHealth = 8.0D;
@@ -894,7 +940,7 @@ index 2ca801b99afa3b7c880b8266c841445262905651..eeb5f3d5c108eef5a43dc68f75b4b214
private void wolfSettings() { private void wolfSettings() {
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable); wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater); wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater);
@@ -1857,6 +1906,7 @@ public class PurpurWorldConfig { @@ -1855,6 +1911,7 @@ public class PurpurWorldConfig {
set("mobs.wolf.attributes.max_health", oldValue); set("mobs.wolf.attributes.max_health", oldValue);
} }
wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth); wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth);

View File

@@ -10,7 +10,7 @@ If min-shoot-interval-ticks and max-shoot-interval-ticks are both set to
0, snow golems won't shoot any snowballs. 0, snow golems won't shoot any snowballs.
diff --git a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java diff --git a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
index 1e24151eef61208db194db612d065922edc16ab1..423dbacfd06c723781d72376159e7e88bfcea383 100644 index b6431dbb41163f9ef0d43e96fcf89750c5a6eef7..5ae7f8dcb39cdf9bfc760f47a6745b819b6596b2 100644
--- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java --- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
+++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java +++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
@@ -79,7 +79,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM @@ -79,7 +79,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
@@ -23,7 +23,7 @@ index 1e24151eef61208db194db612d065922edc16ab1..423dbacfd06c723781d72376159e7e88
this.goalSelector.addGoal(3, new LookAtPlayerGoal(this, Player.class, 6.0F)); this.goalSelector.addGoal(3, new LookAtPlayerGoal(this, Player.class, 6.0F));
this.goalSelector.addGoal(4, new RandomLookAroundGoal(this)); 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 diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 991dae6f29cc919de49533d03478cb3b6c16106d..a57f0c86a2a80721e176fc805d69c27f97bddbfd 100644 index 3745b401457a60df0f4f6436a52bedc130acca25..01bca5885f0dd14fbb746c635116ac41a2b73bb5 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1605,6 +1605,10 @@ public class PurpurWorldConfig { @@ -1605,6 +1605,10 @@ public class PurpurWorldConfig {
@@ -47,4 +47,4 @@ index 991dae6f29cc919de49533d03478cb3b6c16106d..a57f0c86a2a80721e176fc805d69c27f
+ snowGolemAttackDistance = getDouble("mobs.snow_golem.attack-distance", snowGolemAttackDistance); + snowGolemAttackDistance = getDouble("mobs.snow_golem.attack-distance", snowGolemAttackDistance);
} }
public boolean squidRidable = false; public int snifferBreedingTicks = 6000;

View File

@@ -143,7 +143,7 @@ index cb1d91f9fe98f21c2afbe3894dfd9bca3bdd3ba6..d2703432af207c74ea8d298a784329c3
brain.setMemory(MemoryModuleType.SECONDARY_JOB_SITE, list); brain.setMemory(MemoryModuleType.SECONDARY_JOB_SITE, list);
} else { } else {
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index 07a78cc272cd1c4857034c3374295e3c34563a2d..b1b6013c6499cc734c9b1d67e81511e3b51193af 100644 index ab3497bd22beffaf7a66bdd502b9e1bfc6478881..c5651a1c4ece3bf911401533e41be7c92455d5dc 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -220,7 +220,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -220,7 +220,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -181,10 +181,10 @@ index ac70c2c03241e73943bd517a8c69dd05e0873634..0318663a824d2a9515f867a075d148c3
public static final VillagerProfession FISHERMAN = register("fisherman", PoiTypes.FISHERMAN, SoundEvents.VILLAGER_WORK_FISHERMAN); public static final VillagerProfession FISHERMAN = register("fisherman", PoiTypes.FISHERMAN, SoundEvents.VILLAGER_WORK_FISHERMAN);
public static final VillagerProfession FLETCHER = register("fletcher", PoiTypes.FLETCHER, SoundEvents.VILLAGER_WORK_FLETCHER); public static final VillagerProfession FLETCHER = register("fletcher", PoiTypes.FLETCHER, SoundEvents.VILLAGER_WORK_FLETCHER);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a57f0c86a2a80721e176fc805d69c27f97bddbfd..a2ccc51e5ff401064256301e75186cdf506d27cf 100644 index 01bca5885f0dd14fbb746c635116ac41a2b73bb5..8896e4b02f1a659561c2462c59ffeb13d419d6e8 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1795,6 +1795,8 @@ public class PurpurWorldConfig { @@ -1800,6 +1800,8 @@ public class PurpurWorldConfig {
public boolean villagerCanBeLeashed = false; public boolean villagerCanBeLeashed = false;
public boolean villagerCanBreed = true; public boolean villagerCanBreed = true;
public int villagerBreedingTicks = 6000; public int villagerBreedingTicks = 6000;
@@ -193,7 +193,7 @@ index a57f0c86a2a80721e176fc805d69c27f97bddbfd..a2ccc51e5ff401064256301e75186cdf
private void villagerSettings() { private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1809,6 +1811,8 @@ public class PurpurWorldConfig { @@ -1814,6 +1816,8 @@ public class PurpurWorldConfig {
villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed); villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);
villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed); villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed);
villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks); villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks);

View File

@@ -13,7 +13,7 @@ to the Piglin being angry, even though the player never hit them.
This patch adds a toggle to disable this behavior. This patch adds a toggle to disable this behavior.
diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java b/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java b/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
index 9bec6222a8145f84f4b748e8c96e02fa0d6f14d2..2ff0166a26ede86e8410b003a5e7f051559dd05d 100644 index b5b4cb3fefd769f5d8ec5b60b4b41ffb023d19c5..65d035647f7caf23647ec00beb20a4a27d1a9a55 100644
--- a/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java --- a/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java +++ b/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
@@ -152,7 +152,7 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob { @@ -152,7 +152,7 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob {
@@ -35,10 +35,10 @@ index 9bec6222a8145f84f4b748e8c96e02fa0d6f14d2..2ff0166a26ede86e8410b003a5e7f051
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a2ccc51e5ff401064256301e75186cdf506d27cf..4b3821ee75d011d6927ff05a68be3b0cc8680b50 100644 index 8896e4b02f1a659561c2462c59ffeb13d419d6e8..427e89ea6014bd3668632ef5cda87b59dc97d5f0 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2039,6 +2039,7 @@ public class PurpurWorldConfig { @@ -2044,6 +2044,7 @@ public class PurpurWorldConfig {
public boolean zombifiedPiglinJockeyOnlyBaby = true; public boolean zombifiedPiglinJockeyOnlyBaby = true;
public double zombifiedPiglinJockeyChance = 0.05D; public double zombifiedPiglinJockeyChance = 0.05D;
public boolean zombifiedPiglinJockeyTryExistingChickens = true; public boolean zombifiedPiglinJockeyTryExistingChickens = true;
@@ -46,7 +46,7 @@ index a2ccc51e5ff401064256301e75186cdf506d27cf..4b3821ee75d011d6927ff05a68be3b0c
private void zombifiedPiglinSettings() { private void zombifiedPiglinSettings() {
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable); zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater); zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
@@ -2053,5 +2054,6 @@ public class PurpurWorldConfig { @@ -2058,5 +2059,6 @@ public class PurpurWorldConfig {
zombifiedPiglinJockeyOnlyBaby = getBoolean("mobs.zombified_piglin.jockey.only-babies", zombifiedPiglinJockeyOnlyBaby); zombifiedPiglinJockeyOnlyBaby = getBoolean("mobs.zombified_piglin.jockey.only-babies", zombifiedPiglinJockeyOnlyBaby);
zombifiedPiglinJockeyChance = getDouble("mobs.zombified_piglin.jockey.chance", zombifiedPiglinJockeyChance); zombifiedPiglinJockeyChance = getDouble("mobs.zombified_piglin.jockey.chance", zombifiedPiglinJockeyChance);
zombifiedPiglinJockeyTryExistingChickens = getBoolean("mobs.zombified_piglin.jockey.try-existing-chickens", zombifiedPiglinJockeyTryExistingChickens); zombifiedPiglinJockeyTryExistingChickens = getBoolean("mobs.zombified_piglin.jockey.try-existing-chickens", zombifiedPiglinJockeyTryExistingChickens);

View File

@@ -7,7 +7,7 @@ Configurable chance to spawn a wolf that is rabid.
Rabid wolves attack all players, mobs, and animals. Rabid wolves attack all players, mobs, and animals.
diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
index 681957332f620801bf79050ec6526441e344455b..0eeb717079c5160d894b1e321e5191e3547b6eb7 100644 index 8e5b38aaba602ef8bd2ee615569fa25fd979531b..a38cea2dead98ffb1a555df7a494d2e12ab504f5 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java --- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java +++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
@@ -10,6 +10,7 @@ import net.minecraft.network.syncher.EntityDataAccessor; @@ -10,6 +10,7 @@ import net.minecraft.network.syncher.EntityDataAccessor;
@@ -222,10 +222,10 @@ index e43fd3e59fd8c74828ae65965fade27f56beef65..b2f133c8baabba1cffa6e92ea0f85453
+ // Purpur end + // Purpur end
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 4b3821ee75d011d6927ff05a68be3b0cc8680b50..2e94ace75a2cb836e26fae2d5075ad52830fb683 100644 index 427e89ea6014bd3668632ef5cda87b59dc97d5f0..0d320ce7d833bbddbecb39b96dddf459f9babaf5 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1924,6 +1924,8 @@ public class PurpurWorldConfig { @@ -1929,6 +1929,8 @@ public class PurpurWorldConfig {
public boolean wolfRidableInWater = false; public boolean wolfRidableInWater = false;
public boolean wolfControllable = true; public boolean wolfControllable = true;
public double wolfMaxHealth = 8.0D; public double wolfMaxHealth = 8.0D;
@@ -234,7 +234,7 @@ index 4b3821ee75d011d6927ff05a68be3b0cc8680b50..2e94ace75a2cb836e26fae2d5075ad52
public int wolfBreedingTicks = 6000; public int wolfBreedingTicks = 6000;
private void wolfSettings() { private void wolfSettings() {
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable); wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
@@ -1935,6 +1937,8 @@ public class PurpurWorldConfig { @@ -1940,6 +1942,8 @@ public class PurpurWorldConfig {
set("mobs.wolf.attributes.max_health", oldValue); set("mobs.wolf.attributes.max_health", oldValue);
} }
wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth); wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth);

View File

@@ -7,7 +7,7 @@ This allows for the server to set a default collar color when a wolf or cat is t
Resets to RED when the value is invalid. Resets to RED when the value is invalid.
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java
index 2930100746d9119f410f2cc87847993a850b9a1c..d34e2830e13a3cc4ff84ba207858ebe99fe751c2 100644 index 7b3faddc9731ef34708f4caed51c48868159d4c6..dc79deffd450d676a0950c726c505501b0204817 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Cat.java --- a/src/main/java/net/minecraft/world/entity/animal/Cat.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java +++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java
@@ -345,6 +345,14 @@ public class Cat extends TamableAnimal implements VariantHolder<CatVariant> { @@ -345,6 +345,14 @@ public class Cat extends TamableAnimal implements VariantHolder<CatVariant> {
@@ -26,7 +26,7 @@ index 2930100746d9119f410f2cc87847993a850b9a1c..d34e2830e13a3cc4ff84ba207858ebe9
@Override @Override
public Cat getBreedOffspring(ServerLevel world, AgeableMob entity) { public Cat getBreedOffspring(ServerLevel world, AgeableMob entity) {
diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
index 0eeb717079c5160d894b1e321e5191e3547b6eb7..a530ee1dfe4aa3fb77a05927b78184aeabd1df85 100644 index a38cea2dead98ffb1a555df7a494d2e12ab504f5..06f2225743e27c7f1f0eb15ee6beedc57c8a3b4f 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java --- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java +++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
@@ -201,6 +201,12 @@ public class Wolf extends TamableAnimal implements NeutralMob { @@ -201,6 +201,12 @@ public class Wolf extends TamableAnimal implements NeutralMob {
@@ -43,7 +43,7 @@ index 0eeb717079c5160d894b1e321e5191e3547b6eb7..a530ee1dfe4aa3fb77a05927b78184ae
@Override @Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 2e94ace75a2cb836e26fae2d5075ad52830fb683..d00cd3297b6524f702a0f251b34ba9bd09d951f6 100644 index 0d320ce7d833bbddbecb39b96dddf459f9babaf5..056d74886fc50508de302c75f32e5d541f142a3f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -621,6 +621,7 @@ public class PurpurWorldConfig { @@ -621,6 +621,7 @@ public class PurpurWorldConfig {
@@ -66,7 +66,7 @@ index 2e94ace75a2cb836e26fae2d5075ad52830fb683..d00cd3297b6524f702a0f251b34ba9bd
} }
public boolean caveSpiderRidable = false; public boolean caveSpiderRidable = false;
@@ -1924,6 +1930,7 @@ public class PurpurWorldConfig { @@ -1929,6 +1935,7 @@ public class PurpurWorldConfig {
public boolean wolfRidableInWater = false; public boolean wolfRidableInWater = false;
public boolean wolfControllable = true; public boolean wolfControllable = true;
public double wolfMaxHealth = 8.0D; public double wolfMaxHealth = 8.0D;
@@ -74,7 +74,7 @@ index 2e94ace75a2cb836e26fae2d5075ad52830fb683..d00cd3297b6524f702a0f251b34ba9bd
public boolean wolfMilkCuresRabies = true; public boolean wolfMilkCuresRabies = true;
public double wolfNaturalRabid = 0.0D; public double wolfNaturalRabid = 0.0D;
public int wolfBreedingTicks = 6000; public int wolfBreedingTicks = 6000;
@@ -1937,6 +1944,11 @@ public class PurpurWorldConfig { @@ -1942,6 +1949,11 @@ public class PurpurWorldConfig {
set("mobs.wolf.attributes.max_health", oldValue); set("mobs.wolf.attributes.max_health", oldValue);
} }
wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth); wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Striders give saddle back
diff --git a/src/main/java/net/minecraft/world/entity/monster/Strider.java b/src/main/java/net/minecraft/world/entity/monster/Strider.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Strider.java b/src/main/java/net/minecraft/world/entity/monster/Strider.java
index d586c311d19b981427f5977b4ec84e4d1abe5e97..4ab0a053d6b3c8d57f6420114c649d2ec3a565fc 100644 index fbc2e3f0b73608a999619469cd701692cb1cb788..7d10e81669177d0df5c6eba79a2aac46122daea6 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Strider.java --- a/src/main/java/net/minecraft/world/entity/monster/Strider.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Strider.java +++ b/src/main/java/net/minecraft/world/entity/monster/Strider.java
@@ -486,6 +486,19 @@ public class Strider extends Animal implements ItemSteerable, Saddleable { @@ -486,6 +486,19 @@ public class Strider extends Animal implements ItemSteerable, Saddleable {
@@ -29,10 +29,10 @@ index d586c311d19b981427f5977b4ec84e4d1abe5e97..4ab0a053d6b3c8d57f6420114c649d2e
if (!this.level.isClientSide) { if (!this.level.isClientSide) {
player.startRiding(this); player.startRiding(this);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 9cdbc268c4ca2296d0126a974e1bd04bb67eebdd..89b0e3753ae2c4728e337ee080d17abc2403040c 100644 index 84577116234c339e378b8bada2476b2f596ff228..8871243460a9ecb89fa02aba138b5d00d49382b9 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1698,6 +1698,7 @@ public class PurpurWorldConfig { @@ -1703,6 +1703,7 @@ public class PurpurWorldConfig {
public boolean striderControllable = true; public boolean striderControllable = true;
public double striderMaxHealth = 20.0D; public double striderMaxHealth = 20.0D;
public int striderBreedingTicks = 6000; public int striderBreedingTicks = 6000;
@@ -40,7 +40,7 @@ index 9cdbc268c4ca2296d0126a974e1bd04bb67eebdd..89b0e3753ae2c4728e337ee080d17abc
private void striderSettings() { private void striderSettings() {
striderRidable = getBoolean("mobs.strider.ridable", striderRidable); striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater); striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
@@ -1709,6 +1710,7 @@ public class PurpurWorldConfig { @@ -1714,6 +1715,7 @@ public class PurpurWorldConfig {
} }
striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth); striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth);
striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks); striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks);

View File

@@ -374,7 +374,7 @@ index 1942649e868fc985a488034c411a6721595ecc67..7495e0e8beedad59fff24ebf189b58b3
} }
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 1314ab21523e5fa5acdbf24a7c811988f9dbf98b..730c5227e3bab35999375acd7cd0a33ad17fc3ce 100644 index 8f7f57238578409db62286274ed2e33e58d09458..adf0e0f34f7fd4d38e6a801fa3f20dbfe4769c99 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -117,8 +117,11 @@ public class PurpurWorldConfig { @@ -117,8 +117,11 @@ public class PurpurWorldConfig {
@@ -628,8 +628,8 @@ index 1314ab21523e5fa5acdbf24a7c811988f9dbf98b..730c5227e3bab35999375acd7cd0a33a
+ snowGolemBypassMobGriefing = getBoolean("mobs.snow_golem.bypass-mob-griefing", snowGolemBypassMobGriefing); + snowGolemBypassMobGriefing = getBoolean("mobs.snow_golem.bypass-mob-griefing", snowGolemBypassMobGriefing);
} }
public boolean squidRidable = false; public int snifferBreedingTicks = 6000;
@@ -1825,6 +1864,7 @@ public class PurpurWorldConfig { @@ -1830,6 +1869,7 @@ public class PurpurWorldConfig {
public int villagerBreedingTicks = 6000; public int villagerBreedingTicks = 6000;
public boolean villagerClericsFarmWarts = false; public boolean villagerClericsFarmWarts = false;
public boolean villagerClericFarmersThrowWarts = true; public boolean villagerClericFarmersThrowWarts = true;
@@ -637,7 +637,7 @@ index 1314ab21523e5fa5acdbf24a7c811988f9dbf98b..730c5227e3bab35999375acd7cd0a33a
private void villagerSettings() { private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1841,6 +1881,7 @@ public class PurpurWorldConfig { @@ -1846,6 +1886,7 @@ public class PurpurWorldConfig {
villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks); villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks);
villagerClericsFarmWarts = getBoolean("mobs.villager.clerics-farm-warts", villagerClericsFarmWarts); villagerClericsFarmWarts = getBoolean("mobs.villager.clerics-farm-warts", villagerClericsFarmWarts);
villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts); villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts);
@@ -645,7 +645,7 @@ index 1314ab21523e5fa5acdbf24a7c811988f9dbf98b..730c5227e3bab35999375acd7cd0a33a
} }
public boolean vindicatorRidable = false; public boolean vindicatorRidable = false;
@@ -1913,6 +1954,7 @@ public class PurpurWorldConfig { @@ -1918,6 +1959,7 @@ public class PurpurWorldConfig {
public double witherMaxHealth = 300.0D; public double witherMaxHealth = 300.0D;
public float witherHealthRegenAmount = 1.0f; public float witherHealthRegenAmount = 1.0f;
public int witherHealthRegenDelay = 20; public int witherHealthRegenDelay = 20;
@@ -653,7 +653,7 @@ index 1314ab21523e5fa5acdbf24a7c811988f9dbf98b..730c5227e3bab35999375acd7cd0a33a
private void witherSettings() { private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -1930,6 +1972,7 @@ public class PurpurWorldConfig { @@ -1935,6 +1977,7 @@ public class PurpurWorldConfig {
witherMaxHealth = getDouble("mobs.wither.attributes.max_health", witherMaxHealth); witherMaxHealth = getDouble("mobs.wither.attributes.max_health", witherMaxHealth);
witherHealthRegenAmount = (float) getDouble("mobs.wither.health-regen-amount", witherHealthRegenAmount); witherHealthRegenAmount = (float) getDouble("mobs.wither.health-regen-amount", witherHealthRegenAmount);
witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay); witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay);
@@ -661,7 +661,7 @@ index 1314ab21523e5fa5acdbf24a7c811988f9dbf98b..730c5227e3bab35999375acd7cd0a33a
} }
public boolean witherSkeletonRidable = false; public boolean witherSkeletonRidable = false;
@@ -2001,6 +2044,7 @@ public class PurpurWorldConfig { @@ -2006,6 +2049,7 @@ public class PurpurWorldConfig {
public double zombieJockeyChance = 0.05D; public double zombieJockeyChance = 0.05D;
public boolean zombieJockeyTryExistingChickens = true; public boolean zombieJockeyTryExistingChickens = true;
public boolean zombieAggressiveTowardsVillagerWhenLagging = true; public boolean zombieAggressiveTowardsVillagerWhenLagging = true;
@@ -669,7 +669,7 @@ index 1314ab21523e5fa5acdbf24a7c811988f9dbf98b..730c5227e3bab35999375acd7cd0a33a
private void zombieSettings() { private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -2016,6 +2060,7 @@ public class PurpurWorldConfig { @@ -2021,6 +2065,7 @@ public class PurpurWorldConfig {
zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance); zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance);
zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens); zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens);
zombieAggressiveTowardsVillagerWhenLagging = getBoolean("mobs.zombie.aggressive-towards-villager-when-lagging", zombieAggressiveTowardsVillagerWhenLagging); zombieAggressiveTowardsVillagerWhenLagging = getBoolean("mobs.zombie.aggressive-towards-villager-when-lagging", zombieAggressiveTowardsVillagerWhenLagging);

View File

@@ -1,6 +1,6 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: YouHaveTrouble <garrenpolska@gmail.com> From: granny <granny@purpurmc.org>
Date: Fri, 5 Feb 2021 01:11:22 +0100 Date: Thu, 16 Mar 2023 02:43:15 -0700
Subject: [PATCH] Toggle for water sensitive mob damage Subject: [PATCH] Toggle for water sensitive mob damage
@@ -427,10 +427,10 @@ index 1af75e173958c192b8f53b7e17e75d980cbbbcbc..5e705c84e5deeb3b3bdede80bf2acd9a
@Override @Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java diff --git a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
index 9fc6241c08aabfb4e21ee1eb4fb15226c718e0a4..85d08932d2941f2e75d2449d1a7a6223d529e295 100644 index b627fee1cb19f476f45921f1fae7624b27ff7280..e47d4b920737cca51fa4003e79030258685d7e1a 100644
--- a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java --- a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
+++ b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java +++ b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
@@ -114,6 +114,11 @@ public class Goat extends Animal { @@ -109,6 +109,11 @@ public class Goat extends Animal {
public int getPurpurBreedTime() { public int getPurpurBreedTime() {
return this.level.purpurConfig.goatBreedingTicks; return this.level.purpurConfig.goatBreedingTicks;
} }
@@ -443,10 +443,10 @@ index 9fc6241c08aabfb4e21ee1eb4fb15226c718e0a4..85d08932d2941f2e75d2449d1a7a6223
@Override @Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java b/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java b/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java
index 56746fca617a0ede20b6d71e8f2a39400f529b25..c71127d7adb24a1bd14641b79839666412d08662 100644 index efe381ff8d43295bcaf0d4fb7ff75f2bf46391eb..1b2838de60399e83fe6de91b368bfc5d9aa7a805 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java --- a/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java
@@ -40,6 +40,11 @@ public class Donkey extends AbstractChestedHorse { @@ -25,6 +25,11 @@ public class Donkey extends AbstractChestedHorse {
public int getPurpurBreedTime() { public int getPurpurBreedTime() {
return this.level.purpurConfig.donkeyBreedingTicks; return this.level.purpurConfig.donkeyBreedingTicks;
} }
@@ -459,10 +459,10 @@ index 56746fca617a0ede20b6d71e8f2a39400f529b25..c71127d7adb24a1bd14641b798396664
@Override @Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java b/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java b/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java
index 7984e920034af1cfa68179f82b9a51c5345cceb5..22f8d501e2dfb765f0cf3f199efed7c5b1067581 100644 index 2dbcebf7c370d4f5a51b5a23e67306c6c1ab83ba..02c090a15271a2d597278d01c850d842b4e7a9fd 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java --- a/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java
@@ -65,6 +65,11 @@ public class Horse extends AbstractHorse implements VariantHolder<Variant> { @@ -50,6 +50,11 @@ public class Horse extends AbstractHorse implements VariantHolder<Variant> {
public int getPurpurBreedTime() { public int getPurpurBreedTime() {
return this.level.purpurConfig.horseBreedingTicks; return this.level.purpurConfig.horseBreedingTicks;
} }
@@ -475,10 +475,10 @@ index 7984e920034af1cfa68179f82b9a51c5345cceb5..22f8d501e2dfb765f0cf3f199efed7c5
@Override @Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
index d83ab783d5faeea8af25826ec24a337abb852e98..ce31da2f68c5468703ee24e546b829e9006e1eab 100644 index 4165c7d54d00e356767dc56be86f5bff6aa8e8bb..185749df0c7c08f625145a29810ffed6042550bb 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java --- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
@@ -141,6 +141,11 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V @@ -126,6 +126,11 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
public int getPurpurBreedTime() { public int getPurpurBreedTime() {
return this.level.purpurConfig.llamaBreedingTicks; return this.level.purpurConfig.llamaBreedingTicks;
} }
@@ -491,10 +491,10 @@ index d83ab783d5faeea8af25826ec24a337abb852e98..ce31da2f68c5468703ee24e546b829e9
public boolean isTraderLlama() { public boolean isTraderLlama() {
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java b/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java b/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java
index 205a738ce558eb0d2686e945b5831151fe7f1c2f..32ade7ae57c5fe598e51c8f2d805b280f00e8a2e 100644 index ddb31f39182f7e2dd3c3a0b521563a0983b548cd..5bcbe92441bf51f4303bb7dacd4c439ce160c1a9 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java --- a/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java
@@ -39,6 +39,11 @@ public class Mule extends AbstractChestedHorse { @@ -24,6 +24,11 @@ public class Mule extends AbstractChestedHorse {
public int getPurpurBreedTime() { public int getPurpurBreedTime() {
return this.level.purpurConfig.muleBreedingTicks; return this.level.purpurConfig.muleBreedingTicks;
} }
@@ -507,10 +507,10 @@ index 205a738ce558eb0d2686e945b5831151fe7f1c2f..32ade7ae57c5fe598e51c8f2d805b280
@Override @Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
index 244e38548c1ccbf0720dc074a2385d21f5edd7ad..a0a28c3d682bd96ac65151293fb8429de42c905c 100644 index 33250d34cc6e2733330f9c4a42f498b2bbc73b33..6b97898fae19e755b57eb13e2577e774024ba1e3 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java --- a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
@@ -53,6 +53,11 @@ public class SkeletonHorse extends AbstractHorse { @@ -38,6 +38,11 @@ public class SkeletonHorse extends AbstractHorse {
public int getPurpurBreedTime() { public int getPurpurBreedTime() {
return 6000; return 6000;
} }
@@ -523,10 +523,10 @@ index 244e38548c1ccbf0720dc074a2385d21f5edd7ad..a0a28c3d682bd96ac65151293fb8429d
public static AttributeSupplier.Builder createAttributes() { public static AttributeSupplier.Builder createAttributes() {
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
index 494bd7180a8c0dc6bfdff5c2fb989efefaaf77ee..02b6f2ce6831eb68442d1a4b47764426830dedb5 100644 index e723506f1fced33e945340392545e7970ddeb6cc..86e14420d499e0dccbd7a8dcae2623feef1328aa 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java --- a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
@@ -67,6 +67,11 @@ public class TraderLlama extends Llama { @@ -52,6 +52,11 @@ public class TraderLlama extends Llama {
public int getPurpurBreedTime() { public int getPurpurBreedTime() {
return this.level.purpurConfig.traderLlamaBreedingTicks; return this.level.purpurConfig.traderLlamaBreedingTicks;
} }
@@ -539,10 +539,10 @@ index 494bd7180a8c0dc6bfdff5c2fb989efefaaf77ee..02b6f2ce6831eb68442d1a4b47764426
@Override @Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
index 2b3c197ff241f19ba251f08e080129280b3219f3..a3e33c2a7bbabc0e295c5ed93ca6030b39b10efb 100644 index df438bc84c5b90f2fc66965f926dc2efeb6563c1..89b4748289230ca63fbf6de41e82b7dd7fa768b1 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java --- a/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
@@ -51,6 +51,11 @@ public class ZombieHorse extends AbstractHorse { @@ -36,6 +36,11 @@ public class ZombieHorse extends AbstractHorse {
public int getPurpurBreedTime() { public int getPurpurBreedTime() {
return 6000; return 6000;
} }
@@ -1197,7 +1197,7 @@ index fbbeacb94aeda40e9fc5c0553ab68948de9019c4..64c8890a54a10abd454a62671fbabfcf
@Override @Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index eab135372764fe2be0244cddadaa8891bba0fb45..fb2aa8f5e3d7e53c5eac037e5dfca25a03e6ca9c 100644 index 1cada527ffee79197c54f2504b3c4616746f8e9c..efee0da104d1ad78d7a4c99338f530727d2d2be0 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -577,11 +577,13 @@ public class PurpurWorldConfig { @@ -577,11 +577,13 @@ public class PurpurWorldConfig {
@@ -1372,8 +1372,8 @@ index eab135372764fe2be0244cddadaa8891bba0fb45..fb2aa8f5e3d7e53c5eac037e5dfca25a
public boolean donkeyRidableInWater = false; public boolean donkeyRidableInWater = false;
@@ -816,6 +838,7 @@ public class PurpurWorldConfig { @@ -816,6 +838,7 @@ public class PurpurWorldConfig {
public double donkeyMovementSpeedMin = 0.175D; public double donkeyMovementSpeedMin = 0.175D; // TODO: re-implement
public double donkeyMovementSpeedMax = 0.175D; public double donkeyMovementSpeedMax = 0.175D; // TODO: re-implement
public int donkeyBreedingTicks = 6000; public int donkeyBreedingTicks = 6000;
+ public boolean donkeyTakeDamageFromWater = false; + public boolean donkeyTakeDamageFromWater = false;
private void donkeySettings() { private void donkeySettings() {
@@ -1587,8 +1587,8 @@ index eab135372764fe2be0244cddadaa8891bba0fb45..fb2aa8f5e3d7e53c5eac037e5dfca25a
public boolean horseRidableInWater = false; public boolean horseRidableInWater = false;
@@ -1103,6 +1153,7 @@ public class PurpurWorldConfig { @@ -1103,6 +1153,7 @@ public class PurpurWorldConfig {
public double horseMovementSpeedMin = 0.1125D; public double horseMovementSpeedMin = 0.1125D; // TODO: re-implement
public double horseMovementSpeedMax = 0.3375D; public double horseMovementSpeedMax = 0.3375D; // TODO: re-implement
public int horseBreedingTicks = 6000; public int horseBreedingTicks = 6000;
+ public boolean horseTakeDamageFromWater = false; + public boolean horseTakeDamageFromWater = false;
private void horseSettings() { private void horseSettings() {
@@ -1651,8 +1651,8 @@ index eab135372764fe2be0244cddadaa8891bba0fb45..fb2aa8f5e3d7e53c5eac037e5dfca25a
public boolean llamaRidable = false; public boolean llamaRidable = false;
@@ -1197,6 +1255,7 @@ public class PurpurWorldConfig { @@ -1197,6 +1255,7 @@ public class PurpurWorldConfig {
public double llamaMovementSpeedMin = 0.175D; public double llamaMovementSpeedMin = 0.175D; // TODO: re-implement
public double llamaMovementSpeedMax = 0.175D; public double llamaMovementSpeedMax = 0.175D; // TODO: re-implement
public int llamaBreedingTicks = 6000; public int llamaBreedingTicks = 6000;
+ public boolean llamaTakeDamageFromWater = false; + public boolean llamaTakeDamageFromWater = false;
private void llamaSettings() { private void llamaSettings() {
@@ -1699,8 +1699,8 @@ index eab135372764fe2be0244cddadaa8891bba0fb45..fb2aa8f5e3d7e53c5eac037e5dfca25a
public boolean muleRidableInWater = false; public boolean muleRidableInWater = false;
@@ -1265,6 +1329,7 @@ public class PurpurWorldConfig { @@ -1265,6 +1329,7 @@ public class PurpurWorldConfig {
public double muleMovementSpeedMin = 0.175D; public double muleMovementSpeedMin = 0.175D; // TODO: re-implement
public double muleMovementSpeedMax = 0.175D; public double muleMovementSpeedMax = 0.175D; // TODO: re-implement
public int muleBreedingTicks = 6000; public int muleBreedingTicks = 6000;
+ public boolean muleTakeDamageFromWater = false; + public boolean muleTakeDamageFromWater = false;
private void muleSettings() { private void muleSettings() {
@@ -1980,9 +1980,9 @@ index eab135372764fe2be0244cddadaa8891bba0fb45..fb2aa8f5e3d7e53c5eac037e5dfca25a
public boolean skeletonHorseRidableInWater = true; public boolean skeletonHorseRidableInWater = true;
@@ -1640,6 +1740,7 @@ public class PurpurWorldConfig { @@ -1640,6 +1740,7 @@ public class PurpurWorldConfig {
public double skeletonHorseJumpStrengthMax = 1.0D; public double skeletonHorseJumpStrengthMax = 1.0D; // TODO: re-implement
public double skeletonHorseMovementSpeedMin = 0.2D; public double skeletonHorseMovementSpeedMin = 0.2D; // TODO: re-implement
public double skeletonHorseMovementSpeedMax = 0.2D; public double skeletonHorseMovementSpeedMax = 0.2D; // TODO: re-implement
+ public boolean skeletonHorseTakeDamageFromWater = false; + public boolean skeletonHorseTakeDamageFromWater = false;
private void skeletonHorseSettings() { private void skeletonHorseSettings() {
skeletonHorseRidableInWater = getBoolean("mobs.skeleton_horse.ridable-in-water", skeletonHorseRidableInWater); skeletonHorseRidableInWater = getBoolean("mobs.skeleton_horse.ridable-in-water", skeletonHorseRidableInWater);
@@ -2026,8 +2026,8 @@ index eab135372764fe2be0244cddadaa8891bba0fb45..fb2aa8f5e3d7e53c5eac037e5dfca25a
+ snowGolemTakeDamageFromWater = getBoolean("mobs.snow_golem.takes-damage-from-water", snowGolemTakeDamageFromWater); + snowGolemTakeDamageFromWater = getBoolean("mobs.snow_golem.takes-damage-from-water", snowGolemTakeDamageFromWater);
} }
public boolean squidRidable = false; public int snifferBreedingTicks = 6000;
@@ -1717,6 +1823,7 @@ public class PurpurWorldConfig { @@ -1722,6 +1828,7 @@ public class PurpurWorldConfig {
public boolean squidImmuneToEAR = true; public boolean squidImmuneToEAR = true;
public double squidOffsetWaterCheck = 0.0D; public double squidOffsetWaterCheck = 0.0D;
public boolean squidsCanFly = false; public boolean squidsCanFly = false;
@@ -2035,7 +2035,7 @@ index eab135372764fe2be0244cddadaa8891bba0fb45..fb2aa8f5e3d7e53c5eac037e5dfca25a
private void squidSettings() { private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable); squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
squidControllable = getBoolean("mobs.squid.controllable", squidControllable); squidControllable = getBoolean("mobs.squid.controllable", squidControllable);
@@ -1729,12 +1836,14 @@ public class PurpurWorldConfig { @@ -1734,12 +1841,14 @@ public class PurpurWorldConfig {
squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR); squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR);
squidOffsetWaterCheck = getDouble("mobs.squid.water-offset-check", squidOffsetWaterCheck); squidOffsetWaterCheck = getDouble("mobs.squid.water-offset-check", squidOffsetWaterCheck);
squidsCanFly = getBoolean("mobs.squid.can-fly", squidsCanFly); squidsCanFly = getBoolean("mobs.squid.can-fly", squidsCanFly);
@@ -2050,7 +2050,7 @@ index eab135372764fe2be0244cddadaa8891bba0fb45..fb2aa8f5e3d7e53c5eac037e5dfca25a
private void spiderSettings() { private void spiderSettings() {
spiderRidable = getBoolean("mobs.spider.ridable", spiderRidable); spiderRidable = getBoolean("mobs.spider.ridable", spiderRidable);
spiderRidableInWater = getBoolean("mobs.spider.ridable-in-water", spiderRidableInWater); spiderRidableInWater = getBoolean("mobs.spider.ridable-in-water", spiderRidableInWater);
@@ -1745,12 +1854,14 @@ public class PurpurWorldConfig { @@ -1750,12 +1859,14 @@ public class PurpurWorldConfig {
set("mobs.spider.attributes.max_health", oldValue); set("mobs.spider.attributes.max_health", oldValue);
} }
spiderMaxHealth = getDouble("mobs.spider.attributes.max_health", spiderMaxHealth); spiderMaxHealth = getDouble("mobs.spider.attributes.max_health", spiderMaxHealth);
@@ -2065,7 +2065,7 @@ index eab135372764fe2be0244cddadaa8891bba0fb45..fb2aa8f5e3d7e53c5eac037e5dfca25a
private void straySettings() { private void straySettings() {
strayRidable = getBoolean("mobs.stray.ridable", strayRidable); strayRidable = getBoolean("mobs.stray.ridable", strayRidable);
strayRidableInWater = getBoolean("mobs.stray.ridable-in-water", strayRidableInWater); strayRidableInWater = getBoolean("mobs.stray.ridable-in-water", strayRidableInWater);
@@ -1761,6 +1872,7 @@ public class PurpurWorldConfig { @@ -1766,6 +1877,7 @@ public class PurpurWorldConfig {
set("mobs.stray.attributes.max_health", oldValue); set("mobs.stray.attributes.max_health", oldValue);
} }
strayMaxHealth = getDouble("mobs.stray.attributes.max_health", strayMaxHealth); strayMaxHealth = getDouble("mobs.stray.attributes.max_health", strayMaxHealth);
@@ -2073,7 +2073,7 @@ index eab135372764fe2be0244cddadaa8891bba0fb45..fb2aa8f5e3d7e53c5eac037e5dfca25a
} }
public boolean striderRidable = false; public boolean striderRidable = false;
@@ -1769,6 +1881,7 @@ public class PurpurWorldConfig { @@ -1774,6 +1886,7 @@ public class PurpurWorldConfig {
public double striderMaxHealth = 20.0D; public double striderMaxHealth = 20.0D;
public int striderBreedingTicks = 6000; public int striderBreedingTicks = 6000;
public boolean striderGiveSaddleBack = false; public boolean striderGiveSaddleBack = false;
@@ -2081,7 +2081,7 @@ index eab135372764fe2be0244cddadaa8891bba0fb45..fb2aa8f5e3d7e53c5eac037e5dfca25a
private void striderSettings() { private void striderSettings() {
striderRidable = getBoolean("mobs.strider.ridable", striderRidable); striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater); striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
@@ -1781,6 +1894,7 @@ public class PurpurWorldConfig { @@ -1786,6 +1899,7 @@ public class PurpurWorldConfig {
striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth); striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth);
striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks); striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks);
striderGiveSaddleBack = getBoolean("mobs.strider.give-saddle-back", striderGiveSaddleBack); striderGiveSaddleBack = getBoolean("mobs.strider.give-saddle-back", striderGiveSaddleBack);
@@ -2089,15 +2089,15 @@ index eab135372764fe2be0244cddadaa8891bba0fb45..fb2aa8f5e3d7e53c5eac037e5dfca25a
} }
public boolean tadpoleRidable = false; public boolean tadpoleRidable = false;
@@ -1802,6 +1916,7 @@ public class PurpurWorldConfig { @@ -1807,6 +1921,7 @@ public class PurpurWorldConfig {
public double traderLlamaMovementSpeedMin = 0.175D; public double traderLlamaMovementSpeedMin = 0.175D; // TODO: re-implement
public double traderLlamaMovementSpeedMax = 0.175D; public double traderLlamaMovementSpeedMax = 0.175D; // TODO: re-implement
public int traderLlamaBreedingTicks = 6000; public int traderLlamaBreedingTicks = 6000;
+ public boolean traderLlamaTakeDamageFromWater = false; + public boolean traderLlamaTakeDamageFromWater = false;
private void traderLlamaSettings() { private void traderLlamaSettings() {
traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable); traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable);
traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater); traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater);
@@ -1820,11 +1935,13 @@ public class PurpurWorldConfig { @@ -1825,11 +1940,13 @@ public class PurpurWorldConfig {
traderLlamaMovementSpeedMin = getDouble("mobs.trader_llama.attributes.movement_speed.min", traderLlamaMovementSpeedMin); traderLlamaMovementSpeedMin = getDouble("mobs.trader_llama.attributes.movement_speed.min", traderLlamaMovementSpeedMin);
traderLlamaMovementSpeedMax = getDouble("mobs.trader_llama.attributes.movement_speed.max", traderLlamaMovementSpeedMax); traderLlamaMovementSpeedMax = getDouble("mobs.trader_llama.attributes.movement_speed.max", traderLlamaMovementSpeedMax);
traderLlamaBreedingTicks = getInt("mobs.trader_llama.breeding-delay-ticks", traderLlamaBreedingTicks); traderLlamaBreedingTicks = getInt("mobs.trader_llama.breeding-delay-ticks", traderLlamaBreedingTicks);
@@ -2111,7 +2111,7 @@ index eab135372764fe2be0244cddadaa8891bba0fb45..fb2aa8f5e3d7e53c5eac037e5dfca25a
private void tropicalFishSettings() { private void tropicalFishSettings() {
tropicalFishRidable = getBoolean("mobs.tropical_fish.ridable", tropicalFishRidable); tropicalFishRidable = getBoolean("mobs.tropical_fish.ridable", tropicalFishRidable);
tropicalFishControllable = getBoolean("mobs.tropical_fish.controllable", tropicalFishControllable); tropicalFishControllable = getBoolean("mobs.tropical_fish.controllable", tropicalFishControllable);
@@ -1834,6 +1951,7 @@ public class PurpurWorldConfig { @@ -1839,6 +1956,7 @@ public class PurpurWorldConfig {
set("mobs.tropical_fish.attributes.max_health", oldValue); set("mobs.tropical_fish.attributes.max_health", oldValue);
} }
tropicalFishMaxHealth = getDouble("mobs.tropical_fish.attributes.max_health", tropicalFishMaxHealth); tropicalFishMaxHealth = getDouble("mobs.tropical_fish.attributes.max_health", tropicalFishMaxHealth);
@@ -2119,7 +2119,7 @@ index eab135372764fe2be0244cddadaa8891bba0fb45..fb2aa8f5e3d7e53c5eac037e5dfca25a
} }
public boolean turtleRidable = false; public boolean turtleRidable = false;
@@ -1841,6 +1959,7 @@ public class PurpurWorldConfig { @@ -1846,6 +1964,7 @@ public class PurpurWorldConfig {
public boolean turtleControllable = true; public boolean turtleControllable = true;
public double turtleMaxHealth = 30.0D; public double turtleMaxHealth = 30.0D;
public int turtleBreedingTicks = 6000; public int turtleBreedingTicks = 6000;
@@ -2127,7 +2127,7 @@ index eab135372764fe2be0244cddadaa8891bba0fb45..fb2aa8f5e3d7e53c5eac037e5dfca25a
private void turtleSettings() { private void turtleSettings() {
turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable); turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable);
turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater); turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater);
@@ -1852,6 +1971,7 @@ public class PurpurWorldConfig { @@ -1857,6 +1976,7 @@ public class PurpurWorldConfig {
} }
turtleMaxHealth = getDouble("mobs.turtle.attributes.max_health", turtleMaxHealth); turtleMaxHealth = getDouble("mobs.turtle.attributes.max_health", turtleMaxHealth);
turtleBreedingTicks = getInt("mobs.turtle.breeding-delay-ticks", turtleBreedingTicks); turtleBreedingTicks = getInt("mobs.turtle.breeding-delay-ticks", turtleBreedingTicks);
@@ -2135,7 +2135,7 @@ index eab135372764fe2be0244cddadaa8891bba0fb45..fb2aa8f5e3d7e53c5eac037e5dfca25a
} }
public boolean vexRidable = false; public boolean vexRidable = false;
@@ -1859,6 +1979,7 @@ public class PurpurWorldConfig { @@ -1864,6 +1984,7 @@ public class PurpurWorldConfig {
public boolean vexControllable = true; public boolean vexControllable = true;
public double vexMaxY = 320D; public double vexMaxY = 320D;
public double vexMaxHealth = 14.0D; public double vexMaxHealth = 14.0D;
@@ -2143,7 +2143,7 @@ index eab135372764fe2be0244cddadaa8891bba0fb45..fb2aa8f5e3d7e53c5eac037e5dfca25a
private void vexSettings() { private void vexSettings() {
vexRidable = getBoolean("mobs.vex.ridable", vexRidable); vexRidable = getBoolean("mobs.vex.ridable", vexRidable);
vexRidableInWater = getBoolean("mobs.vex.ridable-in-water", vexRidableInWater); vexRidableInWater = getBoolean("mobs.vex.ridable-in-water", vexRidableInWater);
@@ -1870,6 +1991,7 @@ public class PurpurWorldConfig { @@ -1875,6 +1996,7 @@ public class PurpurWorldConfig {
set("mobs.vex.attributes.max_health", oldValue); set("mobs.vex.attributes.max_health", oldValue);
} }
vexMaxHealth = getDouble("mobs.vex.attributes.max_health", vexMaxHealth); vexMaxHealth = getDouble("mobs.vex.attributes.max_health", vexMaxHealth);
@@ -2151,7 +2151,7 @@ index eab135372764fe2be0244cddadaa8891bba0fb45..fb2aa8f5e3d7e53c5eac037e5dfca25a
} }
public boolean villagerRidable = false; public boolean villagerRidable = false;
@@ -1883,6 +2005,7 @@ public class PurpurWorldConfig { @@ -1888,6 +2010,7 @@ public class PurpurWorldConfig {
public boolean villagerClericsFarmWarts = false; public boolean villagerClericsFarmWarts = false;
public boolean villagerClericFarmersThrowWarts = true; public boolean villagerClericFarmersThrowWarts = true;
public boolean villagerBypassMobGriefing = false; public boolean villagerBypassMobGriefing = false;
@@ -2159,7 +2159,7 @@ index eab135372764fe2be0244cddadaa8891bba0fb45..fb2aa8f5e3d7e53c5eac037e5dfca25a
private void villagerSettings() { private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1900,6 +2023,7 @@ public class PurpurWorldConfig { @@ -1905,6 +2028,7 @@ public class PurpurWorldConfig {
villagerClericsFarmWarts = getBoolean("mobs.villager.clerics-farm-warts", villagerClericsFarmWarts); villagerClericsFarmWarts = getBoolean("mobs.villager.clerics-farm-warts", villagerClericsFarmWarts);
villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts); villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts);
villagerBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerBypassMobGriefing); villagerBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerBypassMobGriefing);
@@ -2167,7 +2167,7 @@ index eab135372764fe2be0244cddadaa8891bba0fb45..fb2aa8f5e3d7e53c5eac037e5dfca25a
} }
public boolean vindicatorRidable = false; public boolean vindicatorRidable = false;
@@ -1907,6 +2031,7 @@ public class PurpurWorldConfig { @@ -1912,6 +2036,7 @@ public class PurpurWorldConfig {
public boolean vindicatorControllable = true; public boolean vindicatorControllable = true;
public double vindicatorMaxHealth = 24.0D; public double vindicatorMaxHealth = 24.0D;
public double vindicatorJohnnySpawnChance = 0D; public double vindicatorJohnnySpawnChance = 0D;
@@ -2175,7 +2175,7 @@ index eab135372764fe2be0244cddadaa8891bba0fb45..fb2aa8f5e3d7e53c5eac037e5dfca25a
private void vindicatorSettings() { private void vindicatorSettings() {
vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable); vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable);
vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater); vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater);
@@ -1918,6 +2043,7 @@ public class PurpurWorldConfig { @@ -1923,6 +2048,7 @@ public class PurpurWorldConfig {
} }
vindicatorMaxHealth = getDouble("mobs.vindicator.attributes.max_health", vindicatorMaxHealth); vindicatorMaxHealth = getDouble("mobs.vindicator.attributes.max_health", vindicatorMaxHealth);
vindicatorJohnnySpawnChance = getDouble("mobs.vindicator.johnny.spawn-chance", vindicatorJohnnySpawnChance); vindicatorJohnnySpawnChance = getDouble("mobs.vindicator.johnny.spawn-chance", vindicatorJohnnySpawnChance);
@@ -2183,7 +2183,7 @@ index eab135372764fe2be0244cddadaa8891bba0fb45..fb2aa8f5e3d7e53c5eac037e5dfca25a
} }
public boolean wanderingTraderRidable = false; public boolean wanderingTraderRidable = false;
@@ -1926,6 +2052,7 @@ public class PurpurWorldConfig { @@ -1931,6 +2057,7 @@ public class PurpurWorldConfig {
public double wanderingTraderMaxHealth = 20.0D; public double wanderingTraderMaxHealth = 20.0D;
public boolean wanderingTraderFollowEmeraldBlock = false; public boolean wanderingTraderFollowEmeraldBlock = false;
public boolean wanderingTraderCanBeLeashed = false; public boolean wanderingTraderCanBeLeashed = false;
@@ -2191,7 +2191,7 @@ index eab135372764fe2be0244cddadaa8891bba0fb45..fb2aa8f5e3d7e53c5eac037e5dfca25a
private void wanderingTraderSettings() { private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable); wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater); wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
@@ -1938,6 +2065,7 @@ public class PurpurWorldConfig { @@ -1943,6 +2070,7 @@ public class PurpurWorldConfig {
wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth); wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth);
wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock); wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock);
wanderingTraderCanBeLeashed = getBoolean("mobs.wandering_trader.can-be-leashed", wanderingTraderCanBeLeashed); wanderingTraderCanBeLeashed = getBoolean("mobs.wandering_trader.can-be-leashed", wanderingTraderCanBeLeashed);
@@ -2199,7 +2199,7 @@ index eab135372764fe2be0244cddadaa8891bba0fb45..fb2aa8f5e3d7e53c5eac037e5dfca25a
} }
public boolean wardenRidable = false; public boolean wardenRidable = false;
@@ -1953,6 +2081,7 @@ public class PurpurWorldConfig { @@ -1958,6 +2086,7 @@ public class PurpurWorldConfig {
public boolean witchRidableInWater = false; public boolean witchRidableInWater = false;
public boolean witchControllable = true; public boolean witchControllable = true;
public double witchMaxHealth = 26.0D; public double witchMaxHealth = 26.0D;
@@ -2207,7 +2207,7 @@ index eab135372764fe2be0244cddadaa8891bba0fb45..fb2aa8f5e3d7e53c5eac037e5dfca25a
private void witchSettings() { private void witchSettings() {
witchRidable = getBoolean("mobs.witch.ridable", witchRidable); witchRidable = getBoolean("mobs.witch.ridable", witchRidable);
witchRidableInWater = getBoolean("mobs.witch.ridable-in-water", witchRidableInWater); witchRidableInWater = getBoolean("mobs.witch.ridable-in-water", witchRidableInWater);
@@ -1963,6 +2092,7 @@ public class PurpurWorldConfig { @@ -1968,6 +2097,7 @@ public class PurpurWorldConfig {
set("mobs.witch.attributes.max_health", oldValue); set("mobs.witch.attributes.max_health", oldValue);
} }
witchMaxHealth = getDouble("mobs.witch.attributes.max_health", witchMaxHealth); witchMaxHealth = getDouble("mobs.witch.attributes.max_health", witchMaxHealth);
@@ -2215,7 +2215,7 @@ index eab135372764fe2be0244cddadaa8891bba0fb45..fb2aa8f5e3d7e53c5eac037e5dfca25a
} }
public boolean witherRidable = false; public boolean witherRidable = false;
@@ -1973,6 +2103,7 @@ public class PurpurWorldConfig { @@ -1978,6 +2108,7 @@ public class PurpurWorldConfig {
public float witherHealthRegenAmount = 1.0f; public float witherHealthRegenAmount = 1.0f;
public int witherHealthRegenDelay = 20; public int witherHealthRegenDelay = 20;
public boolean witherBypassMobGriefing = false; public boolean witherBypassMobGriefing = false;
@@ -2223,7 +2223,7 @@ index eab135372764fe2be0244cddadaa8891bba0fb45..fb2aa8f5e3d7e53c5eac037e5dfca25a
private void witherSettings() { private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -1991,12 +2122,14 @@ public class PurpurWorldConfig { @@ -1996,12 +2127,14 @@ public class PurpurWorldConfig {
witherHealthRegenAmount = (float) getDouble("mobs.wither.health-regen-amount", witherHealthRegenAmount); witherHealthRegenAmount = (float) getDouble("mobs.wither.health-regen-amount", witherHealthRegenAmount);
witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay); witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay);
witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing); witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing);
@@ -2238,7 +2238,7 @@ index eab135372764fe2be0244cddadaa8891bba0fb45..fb2aa8f5e3d7e53c5eac037e5dfca25a
private void witherSkeletonSettings() { private void witherSkeletonSettings() {
witherSkeletonRidable = getBoolean("mobs.wither_skeleton.ridable", witherSkeletonRidable); witherSkeletonRidable = getBoolean("mobs.wither_skeleton.ridable", witherSkeletonRidable);
witherSkeletonRidableInWater = getBoolean("mobs.wither_skeleton.ridable-in-water", witherSkeletonRidableInWater); witherSkeletonRidableInWater = getBoolean("mobs.wither_skeleton.ridable-in-water", witherSkeletonRidableInWater);
@@ -2007,6 +2140,7 @@ public class PurpurWorldConfig { @@ -2012,6 +2145,7 @@ public class PurpurWorldConfig {
set("mobs.wither_skeleton.attributes.max_health", oldValue); set("mobs.wither_skeleton.attributes.max_health", oldValue);
} }
witherSkeletonMaxHealth = getDouble("mobs.wither_skeleton.attributes.max_health", witherSkeletonMaxHealth); witherSkeletonMaxHealth = getDouble("mobs.wither_skeleton.attributes.max_health", witherSkeletonMaxHealth);
@@ -2246,7 +2246,7 @@ index eab135372764fe2be0244cddadaa8891bba0fb45..fb2aa8f5e3d7e53c5eac037e5dfca25a
} }
public boolean wolfRidable = false; public boolean wolfRidable = false;
@@ -2017,6 +2151,7 @@ public class PurpurWorldConfig { @@ -2022,6 +2156,7 @@ public class PurpurWorldConfig {
public boolean wolfMilkCuresRabies = true; public boolean wolfMilkCuresRabies = true;
public double wolfNaturalRabid = 0.0D; public double wolfNaturalRabid = 0.0D;
public int wolfBreedingTicks = 6000; public int wolfBreedingTicks = 6000;
@@ -2254,7 +2254,7 @@ index eab135372764fe2be0244cddadaa8891bba0fb45..fb2aa8f5e3d7e53c5eac037e5dfca25a
private void wolfSettings() { private void wolfSettings() {
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable); wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater); wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater);
@@ -2035,12 +2170,14 @@ public class PurpurWorldConfig { @@ -2040,12 +2175,14 @@ public class PurpurWorldConfig {
wolfMilkCuresRabies = getBoolean("mobs.wolf.milk-cures-rabid-wolves", wolfMilkCuresRabies); wolfMilkCuresRabies = getBoolean("mobs.wolf.milk-cures-rabid-wolves", wolfMilkCuresRabies);
wolfNaturalRabid = getDouble("mobs.wolf.spawn-rabid-chance", wolfNaturalRabid); wolfNaturalRabid = getDouble("mobs.wolf.spawn-rabid-chance", wolfNaturalRabid);
wolfBreedingTicks = getInt("mobs.wolf.breeding-delay-ticks", wolfBreedingTicks); wolfBreedingTicks = getInt("mobs.wolf.breeding-delay-ticks", wolfBreedingTicks);
@@ -2269,7 +2269,7 @@ index eab135372764fe2be0244cddadaa8891bba0fb45..fb2aa8f5e3d7e53c5eac037e5dfca25a
private void zoglinSettings() { private void zoglinSettings() {
zoglinRidable = getBoolean("mobs.zoglin.ridable", zoglinRidable); zoglinRidable = getBoolean("mobs.zoglin.ridable", zoglinRidable);
zoglinRidableInWater = getBoolean("mobs.zoglin.ridable-in-water", zoglinRidableInWater); zoglinRidableInWater = getBoolean("mobs.zoglin.ridable-in-water", zoglinRidableInWater);
@@ -2051,6 +2188,7 @@ public class PurpurWorldConfig { @@ -2056,6 +2193,7 @@ public class PurpurWorldConfig {
set("mobs.zoglin.attributes.max_health", oldValue); set("mobs.zoglin.attributes.max_health", oldValue);
} }
zoglinMaxHealth = getDouble("mobs.zoglin.attributes.max_health", zoglinMaxHealth); zoglinMaxHealth = getDouble("mobs.zoglin.attributes.max_health", zoglinMaxHealth);
@@ -2277,7 +2277,7 @@ index eab135372764fe2be0244cddadaa8891bba0fb45..fb2aa8f5e3d7e53c5eac037e5dfca25a
} }
public boolean zombieRidable = false; public boolean zombieRidable = false;
@@ -2063,6 +2201,7 @@ public class PurpurWorldConfig { @@ -2068,6 +2206,7 @@ public class PurpurWorldConfig {
public boolean zombieJockeyTryExistingChickens = true; public boolean zombieJockeyTryExistingChickens = true;
public boolean zombieAggressiveTowardsVillagerWhenLagging = true; public boolean zombieAggressiveTowardsVillagerWhenLagging = true;
public boolean zombieBypassMobGriefing = false; public boolean zombieBypassMobGriefing = false;
@@ -2285,7 +2285,7 @@ index eab135372764fe2be0244cddadaa8891bba0fb45..fb2aa8f5e3d7e53c5eac037e5dfca25a
private void zombieSettings() { private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -2079,6 +2218,7 @@ public class PurpurWorldConfig { @@ -2084,6 +2223,7 @@ public class PurpurWorldConfig {
zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens); zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens);
zombieAggressiveTowardsVillagerWhenLagging = getBoolean("mobs.zombie.aggressive-towards-villager-when-lagging", zombieAggressiveTowardsVillagerWhenLagging); zombieAggressiveTowardsVillagerWhenLagging = getBoolean("mobs.zombie.aggressive-towards-villager-when-lagging", zombieAggressiveTowardsVillagerWhenLagging);
zombieBypassMobGriefing = getBoolean("mobs.zombie.bypass-mob-griefing", zombieBypassMobGriefing); zombieBypassMobGriefing = getBoolean("mobs.zombie.bypass-mob-griefing", zombieBypassMobGriefing);
@@ -2293,15 +2293,15 @@ index eab135372764fe2be0244cddadaa8891bba0fb45..fb2aa8f5e3d7e53c5eac037e5dfca25a
} }
public boolean zombieHorseRidableInWater = false; public boolean zombieHorseRidableInWater = false;
@@ -2090,6 +2230,7 @@ public class PurpurWorldConfig { @@ -2095,6 +2235,7 @@ public class PurpurWorldConfig {
public double zombieHorseMovementSpeedMin = 0.2D; public double zombieHorseMovementSpeedMin = 0.2D; // TODO: re-implement
public double zombieHorseMovementSpeedMax = 0.2D; public double zombieHorseMovementSpeedMax = 0.2D; // TODO: re-implement
public double zombieHorseSpawnChance = 0.0D; public double zombieHorseSpawnChance = 0.0D;
+ public boolean zombieHorseTakeDamageFromWater = false; + public boolean zombieHorseTakeDamageFromWater = false;
private void zombieHorseSettings() { private void zombieHorseSettings() {
zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater); zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater);
zombieHorseCanSwim = getBoolean("mobs.zombie_horse.can-swim", zombieHorseCanSwim); zombieHorseCanSwim = getBoolean("mobs.zombie_horse.can-swim", zombieHorseCanSwim);
@@ -2106,6 +2247,7 @@ public class PurpurWorldConfig { @@ -2111,6 +2252,7 @@ public class PurpurWorldConfig {
zombieHorseMovementSpeedMin = getDouble("mobs.zombie_horse.attributes.movement_speed.min", zombieHorseMovementSpeedMin); zombieHorseMovementSpeedMin = getDouble("mobs.zombie_horse.attributes.movement_speed.min", zombieHorseMovementSpeedMin);
zombieHorseMovementSpeedMax = getDouble("mobs.zombie_horse.attributes.movement_speed.max", zombieHorseMovementSpeedMax); zombieHorseMovementSpeedMax = getDouble("mobs.zombie_horse.attributes.movement_speed.max", zombieHorseMovementSpeedMax);
zombieHorseSpawnChance = getDouble("mobs.zombie_horse.spawn-chance", zombieHorseSpawnChance); zombieHorseSpawnChance = getDouble("mobs.zombie_horse.spawn-chance", zombieHorseSpawnChance);
@@ -2309,7 +2309,7 @@ index eab135372764fe2be0244cddadaa8891bba0fb45..fb2aa8f5e3d7e53c5eac037e5dfca25a
} }
public boolean zombieVillagerRidable = false; public boolean zombieVillagerRidable = false;
@@ -2116,6 +2258,7 @@ public class PurpurWorldConfig { @@ -2121,6 +2263,7 @@ public class PurpurWorldConfig {
public boolean zombieVillagerJockeyOnlyBaby = true; public boolean zombieVillagerJockeyOnlyBaby = true;
public double zombieVillagerJockeyChance = 0.05D; public double zombieVillagerJockeyChance = 0.05D;
public boolean zombieVillagerJockeyTryExistingChickens = true; public boolean zombieVillagerJockeyTryExistingChickens = true;
@@ -2317,7 +2317,7 @@ index eab135372764fe2be0244cddadaa8891bba0fb45..fb2aa8f5e3d7e53c5eac037e5dfca25a
private void zombieVillagerSettings() { private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -2130,6 +2273,7 @@ public class PurpurWorldConfig { @@ -2135,6 +2278,7 @@ public class PurpurWorldConfig {
zombieVillagerJockeyOnlyBaby = getBoolean("mobs.zombie_villager.jockey.only-babies", zombieVillagerJockeyOnlyBaby); zombieVillagerJockeyOnlyBaby = getBoolean("mobs.zombie_villager.jockey.only-babies", zombieVillagerJockeyOnlyBaby);
zombieVillagerJockeyChance = getDouble("mobs.zombie_villager.jockey.chance", zombieVillagerJockeyChance); zombieVillagerJockeyChance = getDouble("mobs.zombie_villager.jockey.chance", zombieVillagerJockeyChance);
zombieVillagerJockeyTryExistingChickens = getBoolean("mobs.zombie_villager.jockey.try-existing-chickens", zombieVillagerJockeyTryExistingChickens); zombieVillagerJockeyTryExistingChickens = getBoolean("mobs.zombie_villager.jockey.try-existing-chickens", zombieVillagerJockeyTryExistingChickens);
@@ -2325,7 +2325,7 @@ index eab135372764fe2be0244cddadaa8891bba0fb45..fb2aa8f5e3d7e53c5eac037e5dfca25a
} }
public boolean zombifiedPiglinRidable = false; public boolean zombifiedPiglinRidable = false;
@@ -2141,6 +2285,7 @@ public class PurpurWorldConfig { @@ -2146,6 +2290,7 @@ public class PurpurWorldConfig {
public double zombifiedPiglinJockeyChance = 0.05D; public double zombifiedPiglinJockeyChance = 0.05D;
public boolean zombifiedPiglinJockeyTryExistingChickens = true; public boolean zombifiedPiglinJockeyTryExistingChickens = true;
public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = true; public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = true;
@@ -2333,7 +2333,7 @@ index eab135372764fe2be0244cddadaa8891bba0fb45..fb2aa8f5e3d7e53c5eac037e5dfca25a
private void zombifiedPiglinSettings() { private void zombifiedPiglinSettings() {
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable); zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater); zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
@@ -2156,5 +2301,6 @@ public class PurpurWorldConfig { @@ -2161,5 +2306,6 @@ public class PurpurWorldConfig {
zombifiedPiglinJockeyChance = getDouble("mobs.zombified_piglin.jockey.chance", zombifiedPiglinJockeyChance); zombifiedPiglinJockeyChance = getDouble("mobs.zombified_piglin.jockey.chance", zombifiedPiglinJockeyChance);
zombifiedPiglinJockeyTryExistingChickens = getBoolean("mobs.zombified_piglin.jockey.try-existing-chickens", zombifiedPiglinJockeyTryExistingChickens); zombifiedPiglinJockeyTryExistingChickens = getBoolean("mobs.zombified_piglin.jockey.try-existing-chickens", zombifiedPiglinJockeyTryExistingChickens);
zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry); zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry);

View File

@@ -29,7 +29,7 @@ index 0c329f66d0a26b881ddddf4c555850f6ce0481bc..2a4dce1a5ffa3902a50044b14e6c02b3
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 301df967ea1e440ebd422b398ec963cd88683ab1..d4c78ebd34109b8364e51089ed383ee06f18e48a 100644 index 6b5486a76aa65e46af46eeaf4252e37b6d98d3cc..d7a87f582ba3f9f1af1605313208212011c53c58 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -947,6 +947,7 @@ public class PurpurWorldConfig { @@ -947,6 +947,7 @@ public class PurpurWorldConfig {
@@ -48,7 +48,7 @@ index 301df967ea1e440ebd422b398ec963cd88683ab1..d4c78ebd34109b8364e51089ed383ee0
} }
public boolean endermanRidable = false; public boolean endermanRidable = false;
@@ -2143,6 +2145,7 @@ public class PurpurWorldConfig { @@ -2148,6 +2150,7 @@ public class PurpurWorldConfig {
public int witherHealthRegenDelay = 20; public int witherHealthRegenDelay = 20;
public boolean witherBypassMobGriefing = false; public boolean witherBypassMobGriefing = false;
public boolean witherTakeDamageFromWater = false; public boolean witherTakeDamageFromWater = false;
@@ -56,7 +56,7 @@ index 301df967ea1e440ebd422b398ec963cd88683ab1..d4c78ebd34109b8364e51089ed383ee0
private void witherSettings() { private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -2162,6 +2165,7 @@ public class PurpurWorldConfig { @@ -2167,6 +2170,7 @@ public class PurpurWorldConfig {
witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay); witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay);
witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing); witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing);
witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater); witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater);

View File

@@ -19,10 +19,10 @@ index 7b141c495095afcd9c8b04c059d692e829259e7a..ad30f2d678cfc4b0d693e84e6e152c63
List<Entity> list = this.llama.level.getEntities(this.llama, this.llama.getBoundingBox().inflate(9.0D, 4.0D, 9.0D), (entity) -> { List<Entity> list = this.llama.level.getEntities(this.llama, this.llama.getBoundingBox().inflate(9.0D, 4.0D, 9.0D), (entity) -> {
EntityType<?> entityType = entity.getType(); EntityType<?> entityType = entity.getType();
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
index 5db7ddd3f4bd79dbcb241aad2abf96ade57ae4c4..c8d3f2ffb0f4d5586921421cda8acf27f7afe4b8 100644 index 185749df0c7c08f625145a29810ffed6042550bb..3f3e6633a3de2ceb5a082777a24ff0451bd27976 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java --- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
@@ -540,7 +540,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V @@ -525,7 +525,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
} }
public void joinCaravan(Llama llama) { public void joinCaravan(Llama llama) {
@@ -32,11 +32,11 @@ index 5db7ddd3f4bd79dbcb241aad2abf96ade57ae4c4..c8d3f2ffb0f4d5586921421cda8acf27
this.caravanHead.caravanTail = this; this.caravanHead.caravanTail = this;
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index d287d56cd606087cee9dcd7f6baabd593976ab42..1c6bb583b73a02957cb85fa9ecd0b1edc53c3d0d 100644 index 941811c1070f10302c10bb404e8d782224a796e4..bac8dc98ad761a510de5eb411a33365863a2da7a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1327,6 +1327,7 @@ public class PurpurWorldConfig { @@ -1327,6 +1327,7 @@ public class PurpurWorldConfig {
public double llamaMovementSpeedMax = 0.175D; public double llamaMovementSpeedMax = 0.175D; // TODO: re-implement
public int llamaBreedingTicks = 6000; public int llamaBreedingTicks = 6000;
public boolean llamaTakeDamageFromWater = false; public boolean llamaTakeDamageFromWater = false;
+ public boolean llamaJoinCaravans = true; + public boolean llamaJoinCaravans = true;

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add config for villager trading
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index b76320dc4a6c438b963380bba3fe26dcc181588b..93c763cc3929d9723369469cf4070a38d2bbf3f3 100644 index 937105ae414c0ef809b79300a1a932053d1c1a14..1649070edaf0812dd480429cd6d07af84def8311 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -361,7 +361,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -361,7 +361,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -18,7 +18,7 @@ index b76320dc4a6c438b963380bba3fe26dcc181588b..93c763cc3929d9723369469cf4070a38
} }
diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
index c3bf2f1fac8326fda97360587f59bc1163b26e38..b5f475a64d087d10dced539bc16050e72fce020e 100644 index 64c8890a54a10abd454a62671fbabfcf9720b7c0..e06f3ee85dde587f1146d4a3d70e8a2e5b9a128b 100644
--- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java --- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
+++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java +++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
@@ -152,7 +152,7 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill @@ -152,7 +152,7 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
@@ -31,10 +31,10 @@ index c3bf2f1fac8326fda97360587f59bc1163b26e38..b5f475a64d087d10dced539bc16050e7
this.openTradingScreen(player, this.getDisplayName(), 1); 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 diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 8ae7369fa0d951a6562b2484a5f6e9be28d9a73d..9daabef9ff8be2a921b4042e3a3790b040805a31 100644 index 5454a4aa35095ea2fdb6def38dc49c3cc4ec7474..0b63e4ef8789382001cc7fe579e678172651bd14 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2106,6 +2106,7 @@ public class PurpurWorldConfig { @@ -2111,6 +2111,7 @@ public class PurpurWorldConfig {
public boolean villagerClericFarmersThrowWarts = true; public boolean villagerClericFarmersThrowWarts = true;
public boolean villagerBypassMobGriefing = false; public boolean villagerBypassMobGriefing = false;
public boolean villagerTakeDamageFromWater = false; public boolean villagerTakeDamageFromWater = false;
@@ -42,7 +42,7 @@ index 8ae7369fa0d951a6562b2484a5f6e9be28d9a73d..9daabef9ff8be2a921b4042e3a3790b0
private void villagerSettings() { private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2124,6 +2125,7 @@ public class PurpurWorldConfig { @@ -2129,6 +2130,7 @@ public class PurpurWorldConfig {
villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts); villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts);
villagerBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerBypassMobGriefing); villagerBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerBypassMobGriefing);
villagerTakeDamageFromWater = getBoolean("mobs.villager.takes-damage-from-water", villagerTakeDamageFromWater); villagerTakeDamageFromWater = getBoolean("mobs.villager.takes-damage-from-water", villagerTakeDamageFromWater);
@@ -50,7 +50,7 @@ index 8ae7369fa0d951a6562b2484a5f6e9be28d9a73d..9daabef9ff8be2a921b4042e3a3790b0
} }
public boolean vindicatorRidable = false; public boolean vindicatorRidable = false;
@@ -2153,6 +2155,7 @@ public class PurpurWorldConfig { @@ -2158,6 +2160,7 @@ public class PurpurWorldConfig {
public boolean wanderingTraderFollowEmeraldBlock = false; public boolean wanderingTraderFollowEmeraldBlock = false;
public boolean wanderingTraderCanBeLeashed = false; public boolean wanderingTraderCanBeLeashed = false;
public boolean wanderingTraderTakeDamageFromWater = false; public boolean wanderingTraderTakeDamageFromWater = false;
@@ -58,7 +58,7 @@ index 8ae7369fa0d951a6562b2484a5f6e9be28d9a73d..9daabef9ff8be2a921b4042e3a3790b0
private void wanderingTraderSettings() { private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable); wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater); wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
@@ -2166,6 +2169,7 @@ public class PurpurWorldConfig { @@ -2171,6 +2174,7 @@ public class PurpurWorldConfig {
wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock); wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock);
wanderingTraderCanBeLeashed = getBoolean("mobs.wandering_trader.can-be-leashed", wanderingTraderCanBeLeashed); wanderingTraderCanBeLeashed = getBoolean("mobs.wandering_trader.can-be-leashed", wanderingTraderCanBeLeashed);
wanderingTraderTakeDamageFromWater = getBoolean("mobs.wandering_trader.takes-damage-from-water", wanderingTraderTakeDamageFromWater); wanderingTraderTakeDamageFromWater = getBoolean("mobs.wandering_trader.takes-damage-from-water", wanderingTraderTakeDamageFromWater);

View File

@@ -18,10 +18,10 @@ index 093a00e52062868b4fbf358b307513d0f599f69d..ba753735f3cbb2cb3d0a491d1bd94a04
if (!event.isCancelled()) { if (!event.isCancelled()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index deb9b89415088a57b7a658d8017ace00155f0956..319a58d0cfeae9395d0f41a6f4a97ca89b3c4df5 100644 index 186d24b7b671665ee7cedc7b53cb98ede17ac0ca..4f40b284691f67b0ba8ddfd73d321dbc134444ab 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2273,6 +2273,7 @@ public class PurpurWorldConfig { @@ -2278,6 +2278,7 @@ public class PurpurWorldConfig {
public boolean witherBypassMobGriefing = false; public boolean witherBypassMobGriefing = false;
public boolean witherTakeDamageFromWater = false; public boolean witherTakeDamageFromWater = false;
public boolean witherCanRideVehicles = false; public boolean witherCanRideVehicles = false;
@@ -29,7 +29,7 @@ index deb9b89415088a57b7a658d8017ace00155f0956..319a58d0cfeae9395d0f41a6f4a97ca8
private void witherSettings() { private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -2293,6 +2294,7 @@ public class PurpurWorldConfig { @@ -2298,6 +2299,7 @@ public class PurpurWorldConfig {
witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing); witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing);
witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater); witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater);
witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles); witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles);

View File

@@ -18,10 +18,10 @@ index 87f9e03fb5e095396e054a84be60ec455d3fbd35..3d2e3c7dd3bf5c8f483a933e9f686858
this.tickTimer = 0; this.tickTimer = 0;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 56b27b640d1cf772c1fe466d51b3aea84065f1ee..eb1d45c456f28bd49131f835b8e8a65253b0ce74 100644 index f5ba56624339ff8b3ac87eb2f42ad5339bf83e3c..13877fd45731680332b84c3580ddc0ac5050ad02 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2577,4 +2577,9 @@ public class PurpurWorldConfig { @@ -2582,4 +2582,9 @@ public class PurpurWorldConfig {
zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry); zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry);
zombifiedPiglinTakeDamageFromWater = getBoolean("mobs.zombified_piglin.takes-damage-from-water", zombifiedPiglinTakeDamageFromWater); zombifiedPiglinTakeDamageFromWater = getBoolean("mobs.zombified_piglin.takes-damage-from-water", zombifiedPiglinTakeDamageFromWater);
} }

View File

@@ -24,7 +24,7 @@ index bedccb8717d08d5a60058445b04ddff149e7d36c..5293ffca3da94c9c485a87d1232b6a90
+ // Purpur end + // Purpur end
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 078d5d8248e8d0bb7f055579628f7d032fef4767..132f66e24a84de83327b3cd14069fe3cd4fc21f8 100644 index ff30b8356a3f3e012f8184fc32d91028a95f1e3a..7eeef57472233160eef67069589ddc22e5cc8222 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -714,6 +714,11 @@ public class PurpurWorldConfig { @@ -714,6 +714,11 @@ public class PurpurWorldConfig {
@@ -39,7 +39,7 @@ index 078d5d8248e8d0bb7f055579628f7d032fef4767..132f66e24a84de83327b3cd14069fe3c
public boolean chestOpenWithBlockOnTop = false; public boolean chestOpenWithBlockOnTop = false;
private void chestSettings() { private void chestSettings() {
chestOpenWithBlockOnTop = getBoolean("blocks.chest.open-with-solid-block-on-top", chestOpenWithBlockOnTop); chestOpenWithBlockOnTop = getBoolean("blocks.chest.open-with-solid-block-on-top", chestOpenWithBlockOnTop);
@@ -2738,3 +2743,4 @@ public class PurpurWorldConfig { @@ -2743,3 +2748,4 @@ public class PurpurWorldConfig {
hungerStarvationDamage = (float) getDouble("hunger.starvation-damage", hungerStarvationDamage); hungerStarvationDamage = (float) getDouble("hunger.starvation-damage", hungerStarvationDamage);
} }
} }

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Customizeable Zombie Villager curing times
diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
index cd1e454b1e178b5bb2c2a9b83bdab2b70206bde3..4ec10cf9613d03da66fb03bec3e9b06ec5b56c7a 100644 index 1084adce8dc55b19ed9d90c0c5ad6675fff0afc5..9d981e392143baa43b6006ca9ef319fd538c304a 100644
--- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java --- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java +++ b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
@@ -218,7 +218,7 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder { @@ -218,7 +218,7 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
@@ -18,10 +18,10 @@ index cd1e454b1e178b5bb2c2a9b83bdab2b70206bde3..4ec10cf9613d03da66fb03bec3e9b06e
return InteractionResult.SUCCESS; return InteractionResult.SUCCESS;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index d7a06f73ee7c1861a0228cb37dbd6e14e938fd17..c0ff231020261a78202b0dfb35a14b86415353a0 100644 index b89017929fa6f5353620ce47d06a79346d960286..9500363b31d9fcaec0b647778ff331378626d76b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2722,6 +2722,8 @@ public class PurpurWorldConfig { @@ -2727,6 +2727,8 @@ public class PurpurWorldConfig {
public double zombieVillagerJockeyChance = 0.05D; public double zombieVillagerJockeyChance = 0.05D;
public boolean zombieVillagerJockeyTryExistingChickens = true; public boolean zombieVillagerJockeyTryExistingChickens = true;
public boolean zombieVillagerTakeDamageFromWater = false; public boolean zombieVillagerTakeDamageFromWater = false;
@@ -30,7 +30,7 @@ index d7a06f73ee7c1861a0228cb37dbd6e14e938fd17..c0ff231020261a78202b0dfb35a14b86
private void zombieVillagerSettings() { private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -2737,6 +2739,8 @@ public class PurpurWorldConfig { @@ -2742,6 +2744,8 @@ public class PurpurWorldConfig {
zombieVillagerJockeyChance = getDouble("mobs.zombie_villager.jockey.chance", zombieVillagerJockeyChance); zombieVillagerJockeyChance = getDouble("mobs.zombie_villager.jockey.chance", zombieVillagerJockeyChance);
zombieVillagerJockeyTryExistingChickens = getBoolean("mobs.zombie_villager.jockey.try-existing-chickens", zombieVillagerJockeyTryExistingChickens); zombieVillagerJockeyTryExistingChickens = getBoolean("mobs.zombie_villager.jockey.try-existing-chickens", zombieVillagerJockeyTryExistingChickens);
zombieVillagerTakeDamageFromWater = getBoolean("mobs.zombie_villager.takes-damage-from-water", zombieVillagerTakeDamageFromWater); zombieVillagerTakeDamageFromWater = getBoolean("mobs.zombie_villager.takes-damage-from-water", zombieVillagerTakeDamageFromWater);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Toggle for Wither's spawn sound
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
index d0e293d308c842a37c9d42219b05266d3e51c68e..f23a43b5bf5cc45f96d2e62bd3fdff8c6bbf38b2 100644 index cb869ddaeed10f8edd0a327553bfe5dcbb405e3d..588ff25c19f7c0acc627f2d8425dbae56193bf85 100644
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java +++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
@@ -429,7 +429,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @@ -429,7 +429,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
@@ -18,10 +18,10 @@ index d0e293d308c842a37c9d42219b05266d3e51c68e..f23a43b5bf5cc45f96d2e62bd3fdff8c
// this.world.globalLevelEvent(1023, new BlockPosition(this), 0); // this.world.globalLevelEvent(1023, new BlockPosition(this), 0);
int viewDistance = ((ServerLevel) this.level).getCraftServer().getViewDistance() * 16; 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 diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index ace4b438823a3580517360e0fa587d5d5562c804..1316968cc4422f8bf60fae492fb4b1056f56111e 100644 index f3fc30796a2b117595ae306add12242e6b54e41d..bb4c60d16ad2dc618b08a9cc7c1c6f3d5f57b3dd 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2567,6 +2567,7 @@ public class PurpurWorldConfig { @@ -2572,6 +2572,7 @@ public class PurpurWorldConfig {
public boolean witherTakeDamageFromWater = false; public boolean witherTakeDamageFromWater = false;
public boolean witherCanRideVehicles = false; public boolean witherCanRideVehicles = false;
public float witherExplosionRadius = 1.0F; public float witherExplosionRadius = 1.0F;
@@ -29,7 +29,7 @@ index ace4b438823a3580517360e0fa587d5d5562c804..1316968cc4422f8bf60fae492fb4b105
private void witherSettings() { private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -2588,6 +2589,7 @@ public class PurpurWorldConfig { @@ -2593,6 +2594,7 @@ public class PurpurWorldConfig {
witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater); witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater);
witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles); witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles);
witherExplosionRadius = (float) getDouble("mobs.wither.explosion-radius", witherExplosionRadius); witherExplosionRadius = (float) getDouble("mobs.wither.explosion-radius", witherExplosionRadius);

View File

@@ -77,10 +77,10 @@ index 963a596154091b79ca139af6274aa323518ad1ad..4dcac3899a500d8586580bcfd5b4516e
}); });
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 749e884f3b1149a5d875867ac9fa31b85b72ac40..f69dc640303076cb05ef335c373e0edf19833da4 100644 index 34c454ebca52787c77c7db4b197fe2092235f06f..b151ecb65760b18bed6498db598f3de329975998 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2786,5 +2786,28 @@ public class PurpurWorldConfig { @@ -2791,5 +2791,28 @@ public class PurpurWorldConfig {
private void hungerSettings() { private void hungerSettings() {
hungerStarvationDamage = (float) getDouble("hunger.starvation-damage", hungerStarvationDamage); hungerStarvationDamage = (float) getDouble("hunger.starvation-damage", hungerStarvationDamage);
} }

View File

@@ -47,10 +47,10 @@ index 6b909d41ccdf6c1ac3ac0c4e673ff52f0d14a238..b8f69063cec4d31c9d9525a04c46ed89
if (dripChance < f1) { if (dripChance < f1) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f69dc640303076cb05ef335c373e0edf19833da4..912b53d574e3dc329f3727706ffe9c8b6a98b3b6 100644 index b151ecb65760b18bed6498db598f3de329975998..5db387cf0b8e0fdf31da1f5b957332381590f4b3 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2809,5 +2809,16 @@ public class PurpurWorldConfig { @@ -2814,5 +2814,16 @@ public class PurpurWorldConfig {
}); });
conduitBlocks = conduitBlockList.toArray(Block[]::new); conduitBlocks = conduitBlockList.toArray(Block[]::new);
} }

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Option for beds to explode on villager sleep
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index 93c763cc3929d9723369469cf4070a38d2bbf3f3..b522104b5dc814216d2054b1197d5b0e59206a1e 100644 index 1649070edaf0812dd480429cd6d07af84def8311..4f114d7cf5e6429e74bcf3653568beb1a944b6ae 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -1098,6 +1098,12 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -1098,6 +1098,12 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -14,7 +14,7 @@ index 93c763cc3929d9723369469cf4070a38d2bbf3f3..b522104b5dc814216d2054b1197d5b0e
public void startSleeping(BlockPos pos) { public void startSleeping(BlockPos pos) {
+ // Purpur start + // Purpur start
+ if (level.purpurConfig.bedExplodeOnVillagerSleep && this.level.getBlockState(pos).getBlock() instanceof net.minecraft.world.level.block.BedBlock) { + if (level.purpurConfig.bedExplodeOnVillagerSleep && this.level.getBlockState(pos).getBlock() instanceof net.minecraft.world.level.block.BedBlock) {
+ this.level.explode(null, DamageSource.explosion(this, null), null, (double) pos.getX() + 0.5D, (double) pos.getY() + 0.5D, (double) pos.getZ() + 0.5D, (float) this.level.purpurConfig.bedExplosionPower, this.level.purpurConfig.bedExplosionFire, this.level.purpurConfig.bedExplosionEffect); + this.level.explode(null, (double) pos.getX() + 0.5D, (double) pos.getY() + 0.5D, (double) pos.getZ() + 0.5D, (float) this.level.purpurConfig.bedExplosionPower, this.level.purpurConfig.bedExplosionFire, this.level.purpurConfig.bedExplosionEffect);
+ return; + return;
+ } + }
+ // Purpur end + // Purpur end
@@ -22,7 +22,7 @@ index 93c763cc3929d9723369469cf4070a38d2bbf3f3..b522104b5dc814216d2054b1197d5b0e
this.brain.setMemory(MemoryModuleType.LAST_SLEPT, this.level.getGameTime()); // CraftBukkit - decompile error this.brain.setMemory(MemoryModuleType.LAST_SLEPT, this.level.getGameTime()); // CraftBukkit - decompile error
this.brain.eraseMemory(MemoryModuleType.WALK_TARGET); this.brain.eraseMemory(MemoryModuleType.WALK_TARGET);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index d99280d34614bc01303ad0de23dc39400131b915..06d6dacdf928c67fd336da111c1c50142aab523f 100644 index e38e3ab793a26e47b0a7882757e0dd99985070c8..d8ae27755319b4655286099ca38d054c07874b8a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -720,6 +720,7 @@ public class PurpurWorldConfig { @@ -720,6 +720,7 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add option to disable zombie villagers cure
diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
index 4ec10cf9613d03da66fb03bec3e9b06ec5b56c7a..c51e04e90e6a5b5b549666fe739491c148d6268d 100644 index 9d981e392143baa43b6006ca9ef319fd538c304a..ce644b92598f70872e365584844eaefaccfd52dc 100644
--- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java --- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java +++ b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
@@ -212,7 +212,7 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder { @@ -212,7 +212,7 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
@@ -18,10 +18,10 @@ index 4ec10cf9613d03da66fb03bec3e9b06ec5b56c7a..c51e04e90e6a5b5b549666fe739491c1
itemstack.shrink(1); itemstack.shrink(1);
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 26cd4abf4e14122ad9e02542c4a901c00eb9c471..607084be7f666146e1fc8abeb08332e04207a172 100644 index 7c9708769c402a3724bf20d29ee1d5de368f32b3..613dffca78f5120d0c905e62f2f60b1763cd0c55 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2786,6 +2786,7 @@ public class PurpurWorldConfig { @@ -2791,6 +2791,7 @@ public class PurpurWorldConfig {
public boolean zombieVillagerTakeDamageFromWater = false; public boolean zombieVillagerTakeDamageFromWater = false;
public int zombieVillagerCuringTimeMin = 3600; public int zombieVillagerCuringTimeMin = 3600;
public int zombieVillagerCuringTimeMax = 6000; public int zombieVillagerCuringTimeMax = 6000;
@@ -29,7 +29,7 @@ index 26cd4abf4e14122ad9e02542c4a901c00eb9c471..607084be7f666146e1fc8abeb08332e0
private void zombieVillagerSettings() { private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -2803,6 +2804,7 @@ public class PurpurWorldConfig { @@ -2808,6 +2809,7 @@ public class PurpurWorldConfig {
zombieVillagerTakeDamageFromWater = getBoolean("mobs.zombie_villager.takes-damage-from-water", zombieVillagerTakeDamageFromWater); zombieVillagerTakeDamageFromWater = getBoolean("mobs.zombie_villager.takes-damage-from-water", zombieVillagerTakeDamageFromWater);
zombieVillagerCuringTimeMin = getInt("mobs.zombie_villager.curing_time.min", zombieVillagerCuringTimeMin); zombieVillagerCuringTimeMin = getInt("mobs.zombie_villager.curing_time.min", zombieVillagerCuringTimeMin);
zombieVillagerCuringTimeMax = getInt("mobs.zombie_villager.curing_time.max", zombieVillagerCuringTimeMax); zombieVillagerCuringTimeMax = getInt("mobs.zombie_villager.curing_time.max", zombieVillagerCuringTimeMax);

View File

@@ -421,10 +421,10 @@ index 5e705c84e5deeb3b3bdede80bf2acd9a252e3972..d61d9a7e7fa4d360dc740fdcb31efd02
@Override @Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java diff --git a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
index 85d08932d2941f2e75d2449d1a7a6223d529e295..9d813827c27823c2e01341330cda1a64c4cdd315 100644 index e47d4b920737cca51fa4003e79030258685d7e1a..f61843b76ad0dd50ed0ccaaf5f83a0c63e460343 100644
--- a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java --- a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
+++ b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java +++ b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
@@ -119,6 +119,11 @@ public class Goat extends Animal { @@ -114,6 +114,11 @@ public class Goat extends Animal {
public boolean isSensitiveToWater() { public boolean isSensitiveToWater() {
return this.level.purpurConfig.goatTakeDamageFromWater; return this.level.purpurConfig.goatTakeDamageFromWater;
} }
@@ -437,10 +437,10 @@ index 85d08932d2941f2e75d2449d1a7a6223d529e295..9d813827c27823c2e01341330cda1a64
@Override @Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java b/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java b/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java
index c71127d7adb24a1bd14641b79839666412d08662..bdf6078b6cc8409a664ac1ae387a2738f56378b5 100644 index 1b2838de60399e83fe6de91b368bfc5d9aa7a805..8c856583daa8c7c9821adb8195218c06266fda3e 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java --- a/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/Donkey.java
@@ -45,6 +45,11 @@ public class Donkey extends AbstractChestedHorse { @@ -30,6 +30,11 @@ public class Donkey extends AbstractChestedHorse {
public boolean isSensitiveToWater() { public boolean isSensitiveToWater() {
return this.level.purpurConfig.donkeyTakeDamageFromWater; return this.level.purpurConfig.donkeyTakeDamageFromWater;
} }
@@ -453,10 +453,10 @@ index c71127d7adb24a1bd14641b79839666412d08662..bdf6078b6cc8409a664ac1ae387a2738
@Override @Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java b/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java b/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java
index 22f8d501e2dfb765f0cf3f199efed7c5b1067581..b737eb9d32b3a460d0832155b8c64faf1ebb44f1 100644 index 02c090a15271a2d597278d01c850d842b4e7a9fd..d7ac9a61e341af66eccde3cb425e7054620c19fc 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java --- a/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/Horse.java
@@ -70,6 +70,11 @@ public class Horse extends AbstractHorse implements VariantHolder<Variant> { @@ -55,6 +55,11 @@ public class Horse extends AbstractHorse implements VariantHolder<Variant> {
public boolean isSensitiveToWater() { public boolean isSensitiveToWater() {
return this.level.purpurConfig.horseTakeDamageFromWater; return this.level.purpurConfig.horseTakeDamageFromWater;
} }
@@ -469,10 +469,10 @@ index 22f8d501e2dfb765f0cf3f199efed7c5b1067581..b737eb9d32b3a460d0832155b8c64faf
@Override @Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
index 670a78292aa069b4e37eb1b46089e9f907f0a440..0b06ef5537cf781b9954fcdfc9423f1987cb5674 100644 index 3f3e6633a3de2ceb5a082777a24ff0451bd27976..80cdace3ac83dd7186d417e83408f684a13512ae 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java --- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
@@ -146,6 +146,11 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V @@ -131,6 +131,11 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
public boolean isSensitiveToWater() { public boolean isSensitiveToWater() {
return this.level.purpurConfig.llamaTakeDamageFromWater; return this.level.purpurConfig.llamaTakeDamageFromWater;
} }
@@ -485,10 +485,10 @@ index 670a78292aa069b4e37eb1b46089e9f907f0a440..0b06ef5537cf781b9954fcdfc9423f19
public boolean isTraderLlama() { public boolean isTraderLlama() {
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java b/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java b/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java
index 32ade7ae57c5fe598e51c8f2d805b280f00e8a2e..b7cb49c03fc8ae655d3c596c872f988e7c863cf6 100644 index 5bcbe92441bf51f4303bb7dacd4c439ce160c1a9..6466c988be66cf851f753d2ed70762e32f972815 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java --- a/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/Mule.java
@@ -44,6 +44,11 @@ public class Mule extends AbstractChestedHorse { @@ -29,6 +29,11 @@ public class Mule extends AbstractChestedHorse {
public boolean isSensitiveToWater() { public boolean isSensitiveToWater() {
return this.level.purpurConfig.muleTakeDamageFromWater; return this.level.purpurConfig.muleTakeDamageFromWater;
} }
@@ -501,10 +501,10 @@ index 32ade7ae57c5fe598e51c8f2d805b280f00e8a2e..b7cb49c03fc8ae655d3c596c872f988e
@Override @Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
index a0a28c3d682bd96ac65151293fb8429de42c905c..9ed43b3cb5b60e80387fc39caa9cc4711c4e1fd6 100644 index 6b97898fae19e755b57eb13e2577e774024ba1e3..93ea9e8bb1f8d7746f122b2939e00c98ce6fec10 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java --- a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
@@ -58,6 +58,11 @@ public class SkeletonHorse extends AbstractHorse { @@ -43,6 +43,11 @@ public class SkeletonHorse extends AbstractHorse {
public boolean isSensitiveToWater() { public boolean isSensitiveToWater() {
return this.level.purpurConfig.skeletonHorseTakeDamageFromWater; return this.level.purpurConfig.skeletonHorseTakeDamageFromWater;
} }
@@ -517,10 +517,10 @@ index a0a28c3d682bd96ac65151293fb8429de42c905c..9ed43b3cb5b60e80387fc39caa9cc471
public static AttributeSupplier.Builder createAttributes() { public static AttributeSupplier.Builder createAttributes() {
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
index 02b6f2ce6831eb68442d1a4b47764426830dedb5..71f61ffc206eb6c098978bfc4e36944e61c4e320 100644 index 86e14420d499e0dccbd7a8dcae2623feef1328aa..df250bace02459d35c7eca4e2703ff2263397265 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java --- a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
@@ -72,6 +72,11 @@ public class TraderLlama extends Llama { @@ -57,6 +57,11 @@ public class TraderLlama extends Llama {
public boolean isSensitiveToWater() { public boolean isSensitiveToWater() {
return this.level.purpurConfig.traderLlamaTakeDamageFromWater; return this.level.purpurConfig.traderLlamaTakeDamageFromWater;
} }
@@ -533,10 +533,10 @@ index 02b6f2ce6831eb68442d1a4b47764426830dedb5..71f61ffc206eb6c098978bfc4e36944e
@Override @Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
index a3e33c2a7bbabc0e295c5ed93ca6030b39b10efb..bf97ed859e178a1028de413eb136fdeb40fac8ef 100644 index 89b4748289230ca63fbf6de41e82b7dd7fa768b1..d48dc9bbb89c3122a6010d4561464fe4258dac42 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java --- a/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
@@ -56,6 +56,11 @@ public class ZombieHorse extends AbstractHorse { @@ -41,6 +41,11 @@ public class ZombieHorse extends AbstractHorse {
public boolean isSensitiveToWater() { public boolean isSensitiveToWater() {
return this.level.purpurConfig.zombieHorseTakeDamageFromWater; return this.level.purpurConfig.zombieHorseTakeDamageFromWater;
} }
@@ -1125,7 +1125,7 @@ index fd8f5ef1842eaa8676893fcd53f550ab5ccb3b93..b6165a1d513bea0d441289eb0df05ea8
public static AttributeSupplier.Builder createAttributes() { public static AttributeSupplier.Builder createAttributes() {
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index 7a7e200f79a1055217139992d26561bd54164677..6b97c1b84ee64f0f7cf7fb329a5123a3acc512d0 100644 index 4f114d7cf5e6429e74bcf3653568beb1a944b6ae..92adb537f342f3da41c91cf2c3141425e68e3cb7 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -189,6 +189,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -189,6 +189,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -1157,7 +1157,7 @@ index e06f3ee85dde587f1146d4a3d70e8a2e5b9a128b..2e9dd920e5c3943cba4c53ec2a2b48ee
@Override @Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 06dbb9b24a27552133a57573ffa44e22671dc7ff..cc5b1dfd4f28823a40185ea70928a5b90a3e9835 100644 index 8a9f7b7d831d2b812f4833835bcba68845f42f39..2261e51166b9bf487bb109977b6db9630b5c9631 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1013,12 +1013,14 @@ public class PurpurWorldConfig { @@ -1013,12 +1013,14 @@ public class PurpurWorldConfig {
@@ -1335,7 +1335,7 @@ index 06dbb9b24a27552133a57573ffa44e22671dc7ff..cc5b1dfd4f28823a40185ea70928a5b9
public boolean donkeyRidableInWater = false; public boolean donkeyRidableInWater = false;
@@ -1293,6 +1315,7 @@ public class PurpurWorldConfig { @@ -1293,6 +1315,7 @@ public class PurpurWorldConfig {
public double donkeyMovementSpeedMax = 0.175D; public double donkeyMovementSpeedMax = 0.175D; // TODO: re-implement
public int donkeyBreedingTicks = 6000; public int donkeyBreedingTicks = 6000;
public boolean donkeyTakeDamageFromWater = false; public boolean donkeyTakeDamageFromWater = false;
+ public boolean donkeyAlwaysDropExp = false; + public boolean donkeyAlwaysDropExp = false;
@@ -1540,7 +1540,7 @@ index 06dbb9b24a27552133a57573ffa44e22671dc7ff..cc5b1dfd4f28823a40185ea70928a5b9
public boolean horseRidableInWater = false; public boolean horseRidableInWater = false;
@@ -1633,6 +1681,7 @@ public class PurpurWorldConfig { @@ -1633,6 +1681,7 @@ public class PurpurWorldConfig {
public double horseMovementSpeedMax = 0.3375D; public double horseMovementSpeedMax = 0.3375D; // TODO: re-implement
public int horseBreedingTicks = 6000; public int horseBreedingTicks = 6000;
public boolean horseTakeDamageFromWater = false; public boolean horseTakeDamageFromWater = false;
+ public boolean horseAlwaysDropExp = false; + public boolean horseAlwaysDropExp = false;
@@ -1652,7 +1652,7 @@ index 06dbb9b24a27552133a57573ffa44e22671dc7ff..cc5b1dfd4f28823a40185ea70928a5b9
public boolean muleRidableInWater = false; public boolean muleRidableInWater = false;
@@ -1815,6 +1877,7 @@ public class PurpurWorldConfig { @@ -1815,6 +1877,7 @@ public class PurpurWorldConfig {
public double muleMovementSpeedMax = 0.175D; public double muleMovementSpeedMax = 0.175D; // TODO: re-implement
public int muleBreedingTicks = 6000; public int muleBreedingTicks = 6000;
public boolean muleTakeDamageFromWater = false; public boolean muleTakeDamageFromWater = false;
+ public boolean muleAlwaysDropExp = false; + public boolean muleAlwaysDropExp = false;
@@ -1938,8 +1938,8 @@ index 06dbb9b24a27552133a57573ffa44e22671dc7ff..cc5b1dfd4f28823a40185ea70928a5b9
public boolean skeletonHorseRidableInWater = true; public boolean skeletonHorseRidableInWater = true;
@@ -2260,6 +2358,7 @@ public class PurpurWorldConfig { @@ -2260,6 +2358,7 @@ public class PurpurWorldConfig {
public double skeletonHorseMovementSpeedMin = 0.2D; public double skeletonHorseMovementSpeedMin = 0.2D; // TODO: re-implement
public double skeletonHorseMovementSpeedMax = 0.2D; public double skeletonHorseMovementSpeedMax = 0.2D; // TODO: re-implement
public boolean skeletonHorseTakeDamageFromWater = false; public boolean skeletonHorseTakeDamageFromWater = false;
+ public boolean skeletonHorseAlwaysDropExp = false; + public boolean skeletonHorseAlwaysDropExp = false;
private void skeletonHorseSettings() { private void skeletonHorseSettings() {
@@ -1984,8 +1984,8 @@ index 06dbb9b24a27552133a57573ffa44e22671dc7ff..cc5b1dfd4f28823a40185ea70928a5b9
+ snowGolemAlwaysDropExp = getBoolean("mobs.snow_golem.always-drop-exp", snowGolemAlwaysDropExp); + snowGolemAlwaysDropExp = getBoolean("mobs.snow_golem.always-drop-exp", snowGolemAlwaysDropExp);
} }
public boolean squidRidable = false; public int snifferBreedingTicks = 6000;
@@ -2343,6 +2447,7 @@ public class PurpurWorldConfig { @@ -2348,6 +2452,7 @@ public class PurpurWorldConfig {
public double squidOffsetWaterCheck = 0.0D; public double squidOffsetWaterCheck = 0.0D;
public boolean squidsCanFly = false; public boolean squidsCanFly = false;
public boolean squidTakeDamageFromWater = false; public boolean squidTakeDamageFromWater = false;
@@ -1993,7 +1993,7 @@ index 06dbb9b24a27552133a57573ffa44e22671dc7ff..cc5b1dfd4f28823a40185ea70928a5b9
private void squidSettings() { private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable); squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
squidControllable = getBoolean("mobs.squid.controllable", squidControllable); squidControllable = getBoolean("mobs.squid.controllable", squidControllable);
@@ -2356,6 +2461,7 @@ public class PurpurWorldConfig { @@ -2361,6 +2466,7 @@ public class PurpurWorldConfig {
squidOffsetWaterCheck = getDouble("mobs.squid.water-offset-check", squidOffsetWaterCheck); squidOffsetWaterCheck = getDouble("mobs.squid.water-offset-check", squidOffsetWaterCheck);
squidsCanFly = getBoolean("mobs.squid.can-fly", squidsCanFly); squidsCanFly = getBoolean("mobs.squid.can-fly", squidsCanFly);
squidTakeDamageFromWater = getBoolean("mobs.squid.takes-damage-from-water", squidTakeDamageFromWater); squidTakeDamageFromWater = getBoolean("mobs.squid.takes-damage-from-water", squidTakeDamageFromWater);
@@ -2001,7 +2001,7 @@ index 06dbb9b24a27552133a57573ffa44e22671dc7ff..cc5b1dfd4f28823a40185ea70928a5b9
} }
public boolean spiderRidable = false; public boolean spiderRidable = false;
@@ -2363,6 +2469,7 @@ public class PurpurWorldConfig { @@ -2368,6 +2474,7 @@ public class PurpurWorldConfig {
public boolean spiderControllable = true; public boolean spiderControllable = true;
public double spiderMaxHealth = 16.0D; public double spiderMaxHealth = 16.0D;
public boolean spiderTakeDamageFromWater = false; public boolean spiderTakeDamageFromWater = false;
@@ -2009,7 +2009,7 @@ index 06dbb9b24a27552133a57573ffa44e22671dc7ff..cc5b1dfd4f28823a40185ea70928a5b9
private void spiderSettings() { private void spiderSettings() {
spiderRidable = getBoolean("mobs.spider.ridable", spiderRidable); spiderRidable = getBoolean("mobs.spider.ridable", spiderRidable);
spiderRidableInWater = getBoolean("mobs.spider.ridable-in-water", spiderRidableInWater); spiderRidableInWater = getBoolean("mobs.spider.ridable-in-water", spiderRidableInWater);
@@ -2374,6 +2481,7 @@ public class PurpurWorldConfig { @@ -2379,6 +2486,7 @@ public class PurpurWorldConfig {
} }
spiderMaxHealth = getDouble("mobs.spider.attributes.max_health", spiderMaxHealth); spiderMaxHealth = getDouble("mobs.spider.attributes.max_health", spiderMaxHealth);
spiderTakeDamageFromWater = getBoolean("mobs.spider.takes-damage-from-water", spiderTakeDamageFromWater); spiderTakeDamageFromWater = getBoolean("mobs.spider.takes-damage-from-water", spiderTakeDamageFromWater);
@@ -2017,7 +2017,7 @@ index 06dbb9b24a27552133a57573ffa44e22671dc7ff..cc5b1dfd4f28823a40185ea70928a5b9
} }
public boolean strayRidable = false; public boolean strayRidable = false;
@@ -2381,6 +2489,7 @@ public class PurpurWorldConfig { @@ -2386,6 +2494,7 @@ public class PurpurWorldConfig {
public boolean strayControllable = true; public boolean strayControllable = true;
public double strayMaxHealth = 20.0D; public double strayMaxHealth = 20.0D;
public boolean strayTakeDamageFromWater = false; public boolean strayTakeDamageFromWater = false;
@@ -2025,7 +2025,7 @@ index 06dbb9b24a27552133a57573ffa44e22671dc7ff..cc5b1dfd4f28823a40185ea70928a5b9
private void straySettings() { private void straySettings() {
strayRidable = getBoolean("mobs.stray.ridable", strayRidable); strayRidable = getBoolean("mobs.stray.ridable", strayRidable);
strayRidableInWater = getBoolean("mobs.stray.ridable-in-water", strayRidableInWater); strayRidableInWater = getBoolean("mobs.stray.ridable-in-water", strayRidableInWater);
@@ -2392,6 +2501,7 @@ public class PurpurWorldConfig { @@ -2397,6 +2506,7 @@ public class PurpurWorldConfig {
} }
strayMaxHealth = getDouble("mobs.stray.attributes.max_health", strayMaxHealth); strayMaxHealth = getDouble("mobs.stray.attributes.max_health", strayMaxHealth);
strayTakeDamageFromWater = getBoolean("mobs.stray.takes-damage-from-water", strayTakeDamageFromWater); strayTakeDamageFromWater = getBoolean("mobs.stray.takes-damage-from-water", strayTakeDamageFromWater);
@@ -2033,7 +2033,7 @@ index 06dbb9b24a27552133a57573ffa44e22671dc7ff..cc5b1dfd4f28823a40185ea70928a5b9
} }
public boolean striderRidable = false; public boolean striderRidable = false;
@@ -2401,6 +2511,7 @@ public class PurpurWorldConfig { @@ -2406,6 +2516,7 @@ public class PurpurWorldConfig {
public int striderBreedingTicks = 6000; public int striderBreedingTicks = 6000;
public boolean striderGiveSaddleBack = false; public boolean striderGiveSaddleBack = false;
public boolean striderTakeDamageFromWater = true; public boolean striderTakeDamageFromWater = true;
@@ -2041,7 +2041,7 @@ index 06dbb9b24a27552133a57573ffa44e22671dc7ff..cc5b1dfd4f28823a40185ea70928a5b9
private void striderSettings() { private void striderSettings() {
striderRidable = getBoolean("mobs.strider.ridable", striderRidable); striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater); striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
@@ -2414,6 +2525,7 @@ public class PurpurWorldConfig { @@ -2419,6 +2530,7 @@ public class PurpurWorldConfig {
striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks); striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks);
striderGiveSaddleBack = getBoolean("mobs.strider.give-saddle-back", striderGiveSaddleBack); striderGiveSaddleBack = getBoolean("mobs.strider.give-saddle-back", striderGiveSaddleBack);
striderTakeDamageFromWater = getBoolean("mobs.strider.takes-damage-from-water", striderTakeDamageFromWater); striderTakeDamageFromWater = getBoolean("mobs.strider.takes-damage-from-water", striderTakeDamageFromWater);
@@ -2049,15 +2049,15 @@ index 06dbb9b24a27552133a57573ffa44e22671dc7ff..cc5b1dfd4f28823a40185ea70928a5b9
} }
public boolean tadpoleRidable = false; public boolean tadpoleRidable = false;
@@ -2436,6 +2548,7 @@ public class PurpurWorldConfig { @@ -2441,6 +2553,7 @@ public class PurpurWorldConfig {
public double traderLlamaMovementSpeedMax = 0.175D; public double traderLlamaMovementSpeedMax = 0.175D; // TODO: re-implement
public int traderLlamaBreedingTicks = 6000; public int traderLlamaBreedingTicks = 6000;
public boolean traderLlamaTakeDamageFromWater = false; public boolean traderLlamaTakeDamageFromWater = false;
+ public boolean traderLlamaAlwaysDropExp = false; + public boolean traderLlamaAlwaysDropExp = false;
private void traderLlamaSettings() { private void traderLlamaSettings() {
traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable); traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable);
traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater); traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater);
@@ -2455,12 +2568,14 @@ public class PurpurWorldConfig { @@ -2460,12 +2573,14 @@ public class PurpurWorldConfig {
traderLlamaMovementSpeedMax = getDouble("mobs.trader_llama.attributes.movement_speed.max", traderLlamaMovementSpeedMax); traderLlamaMovementSpeedMax = getDouble("mobs.trader_llama.attributes.movement_speed.max", traderLlamaMovementSpeedMax);
traderLlamaBreedingTicks = getInt("mobs.trader_llama.breeding-delay-ticks", traderLlamaBreedingTicks); traderLlamaBreedingTicks = getInt("mobs.trader_llama.breeding-delay-ticks", traderLlamaBreedingTicks);
traderLlamaTakeDamageFromWater = getBoolean("mobs.trader_llama.takes-damage-from-water", traderLlamaTakeDamageFromWater); traderLlamaTakeDamageFromWater = getBoolean("mobs.trader_llama.takes-damage-from-water", traderLlamaTakeDamageFromWater);
@@ -2072,7 +2072,7 @@ index 06dbb9b24a27552133a57573ffa44e22671dc7ff..cc5b1dfd4f28823a40185ea70928a5b9
private void tropicalFishSettings() { private void tropicalFishSettings() {
tropicalFishRidable = getBoolean("mobs.tropical_fish.ridable", tropicalFishRidable); tropicalFishRidable = getBoolean("mobs.tropical_fish.ridable", tropicalFishRidable);
tropicalFishControllable = getBoolean("mobs.tropical_fish.controllable", tropicalFishControllable); tropicalFishControllable = getBoolean("mobs.tropical_fish.controllable", tropicalFishControllable);
@@ -2471,6 +2586,7 @@ public class PurpurWorldConfig { @@ -2476,6 +2591,7 @@ public class PurpurWorldConfig {
} }
tropicalFishMaxHealth = getDouble("mobs.tropical_fish.attributes.max_health", tropicalFishMaxHealth); tropicalFishMaxHealth = getDouble("mobs.tropical_fish.attributes.max_health", tropicalFishMaxHealth);
tropicalFishTakeDamageFromWater = getBoolean("mobs.tropical_fish.takes-damage-from-water", tropicalFishTakeDamageFromWater); tropicalFishTakeDamageFromWater = getBoolean("mobs.tropical_fish.takes-damage-from-water", tropicalFishTakeDamageFromWater);
@@ -2080,7 +2080,7 @@ index 06dbb9b24a27552133a57573ffa44e22671dc7ff..cc5b1dfd4f28823a40185ea70928a5b9
} }
public boolean turtleRidable = false; public boolean turtleRidable = false;
@@ -2479,6 +2595,7 @@ public class PurpurWorldConfig { @@ -2484,6 +2600,7 @@ public class PurpurWorldConfig {
public double turtleMaxHealth = 30.0D; public double turtleMaxHealth = 30.0D;
public int turtleBreedingTicks = 6000; public int turtleBreedingTicks = 6000;
public boolean turtleTakeDamageFromWater = false; public boolean turtleTakeDamageFromWater = false;
@@ -2088,7 +2088,7 @@ index 06dbb9b24a27552133a57573ffa44e22671dc7ff..cc5b1dfd4f28823a40185ea70928a5b9
private void turtleSettings() { private void turtleSettings() {
turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable); turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable);
turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater); turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater);
@@ -2491,6 +2608,7 @@ public class PurpurWorldConfig { @@ -2496,6 +2613,7 @@ public class PurpurWorldConfig {
turtleMaxHealth = getDouble("mobs.turtle.attributes.max_health", turtleMaxHealth); turtleMaxHealth = getDouble("mobs.turtle.attributes.max_health", turtleMaxHealth);
turtleBreedingTicks = getInt("mobs.turtle.breeding-delay-ticks", turtleBreedingTicks); turtleBreedingTicks = getInt("mobs.turtle.breeding-delay-ticks", turtleBreedingTicks);
turtleTakeDamageFromWater = getBoolean("mobs.turtle.takes-damage-from-water", turtleTakeDamageFromWater); turtleTakeDamageFromWater = getBoolean("mobs.turtle.takes-damage-from-water", turtleTakeDamageFromWater);
@@ -2096,7 +2096,7 @@ index 06dbb9b24a27552133a57573ffa44e22671dc7ff..cc5b1dfd4f28823a40185ea70928a5b9
} }
public boolean vexRidable = false; public boolean vexRidable = false;
@@ -2499,6 +2617,7 @@ public class PurpurWorldConfig { @@ -2504,6 +2622,7 @@ public class PurpurWorldConfig {
public double vexMaxY = 320D; public double vexMaxY = 320D;
public double vexMaxHealth = 14.0D; public double vexMaxHealth = 14.0D;
public boolean vexTakeDamageFromWater = false; public boolean vexTakeDamageFromWater = false;
@@ -2104,7 +2104,7 @@ index 06dbb9b24a27552133a57573ffa44e22671dc7ff..cc5b1dfd4f28823a40185ea70928a5b9
private void vexSettings() { private void vexSettings() {
vexRidable = getBoolean("mobs.vex.ridable", vexRidable); vexRidable = getBoolean("mobs.vex.ridable", vexRidable);
vexRidableInWater = getBoolean("mobs.vex.ridable-in-water", vexRidableInWater); vexRidableInWater = getBoolean("mobs.vex.ridable-in-water", vexRidableInWater);
@@ -2511,6 +2630,7 @@ public class PurpurWorldConfig { @@ -2516,6 +2635,7 @@ public class PurpurWorldConfig {
} }
vexMaxHealth = getDouble("mobs.vex.attributes.max_health", vexMaxHealth); vexMaxHealth = getDouble("mobs.vex.attributes.max_health", vexMaxHealth);
vexTakeDamageFromWater = getBoolean("mobs.vex.takes-damage-from-water", vexTakeDamageFromWater); vexTakeDamageFromWater = getBoolean("mobs.vex.takes-damage-from-water", vexTakeDamageFromWater);
@@ -2112,7 +2112,7 @@ index 06dbb9b24a27552133a57573ffa44e22671dc7ff..cc5b1dfd4f28823a40185ea70928a5b9
} }
public boolean villagerRidable = false; public boolean villagerRidable = false;
@@ -2526,6 +2646,7 @@ public class PurpurWorldConfig { @@ -2531,6 +2651,7 @@ public class PurpurWorldConfig {
public boolean villagerBypassMobGriefing = false; public boolean villagerBypassMobGriefing = false;
public boolean villagerTakeDamageFromWater = false; public boolean villagerTakeDamageFromWater = false;
public boolean villagerAllowTrading = true; public boolean villagerAllowTrading = true;
@@ -2120,7 +2120,7 @@ index 06dbb9b24a27552133a57573ffa44e22671dc7ff..cc5b1dfd4f28823a40185ea70928a5b9
private void villagerSettings() { private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2545,6 +2666,7 @@ public class PurpurWorldConfig { @@ -2550,6 +2671,7 @@ public class PurpurWorldConfig {
villagerBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerBypassMobGriefing); villagerBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerBypassMobGriefing);
villagerTakeDamageFromWater = getBoolean("mobs.villager.takes-damage-from-water", villagerTakeDamageFromWater); villagerTakeDamageFromWater = getBoolean("mobs.villager.takes-damage-from-water", villagerTakeDamageFromWater);
villagerAllowTrading = getBoolean("mobs.villager.allow-trading", villagerAllowTrading); villagerAllowTrading = getBoolean("mobs.villager.allow-trading", villagerAllowTrading);
@@ -2128,7 +2128,7 @@ index 06dbb9b24a27552133a57573ffa44e22671dc7ff..cc5b1dfd4f28823a40185ea70928a5b9
} }
public boolean vindicatorRidable = false; public boolean vindicatorRidable = false;
@@ -2553,6 +2675,7 @@ public class PurpurWorldConfig { @@ -2558,6 +2680,7 @@ public class PurpurWorldConfig {
public double vindicatorMaxHealth = 24.0D; public double vindicatorMaxHealth = 24.0D;
public double vindicatorJohnnySpawnChance = 0D; public double vindicatorJohnnySpawnChance = 0D;
public boolean vindicatorTakeDamageFromWater = false; public boolean vindicatorTakeDamageFromWater = false;
@@ -2136,7 +2136,7 @@ index 06dbb9b24a27552133a57573ffa44e22671dc7ff..cc5b1dfd4f28823a40185ea70928a5b9
private void vindicatorSettings() { private void vindicatorSettings() {
vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable); vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable);
vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater); vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater);
@@ -2565,6 +2688,7 @@ public class PurpurWorldConfig { @@ -2570,6 +2693,7 @@ public class PurpurWorldConfig {
vindicatorMaxHealth = getDouble("mobs.vindicator.attributes.max_health", vindicatorMaxHealth); vindicatorMaxHealth = getDouble("mobs.vindicator.attributes.max_health", vindicatorMaxHealth);
vindicatorJohnnySpawnChance = getDouble("mobs.vindicator.johnny.spawn-chance", vindicatorJohnnySpawnChance); vindicatorJohnnySpawnChance = getDouble("mobs.vindicator.johnny.spawn-chance", vindicatorJohnnySpawnChance);
vindicatorTakeDamageFromWater = getBoolean("mobs.vindicator.takes-damage-from-water", vindicatorTakeDamageFromWater); vindicatorTakeDamageFromWater = getBoolean("mobs.vindicator.takes-damage-from-water", vindicatorTakeDamageFromWater);
@@ -2144,7 +2144,7 @@ index 06dbb9b24a27552133a57573ffa44e22671dc7ff..cc5b1dfd4f28823a40185ea70928a5b9
} }
public boolean wanderingTraderRidable = false; public boolean wanderingTraderRidable = false;
@@ -2575,6 +2699,7 @@ public class PurpurWorldConfig { @@ -2580,6 +2704,7 @@ public class PurpurWorldConfig {
public boolean wanderingTraderCanBeLeashed = false; public boolean wanderingTraderCanBeLeashed = false;
public boolean wanderingTraderTakeDamageFromWater = false; public boolean wanderingTraderTakeDamageFromWater = false;
public boolean wanderingTraderAllowTrading = true; public boolean wanderingTraderAllowTrading = true;
@@ -2152,7 +2152,7 @@ index 06dbb9b24a27552133a57573ffa44e22671dc7ff..cc5b1dfd4f28823a40185ea70928a5b9
private void wanderingTraderSettings() { private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable); wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater); wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
@@ -2589,6 +2714,7 @@ public class PurpurWorldConfig { @@ -2594,6 +2719,7 @@ public class PurpurWorldConfig {
wanderingTraderCanBeLeashed = getBoolean("mobs.wandering_trader.can-be-leashed", wanderingTraderCanBeLeashed); wanderingTraderCanBeLeashed = getBoolean("mobs.wandering_trader.can-be-leashed", wanderingTraderCanBeLeashed);
wanderingTraderTakeDamageFromWater = getBoolean("mobs.wandering_trader.takes-damage-from-water", wanderingTraderTakeDamageFromWater); wanderingTraderTakeDamageFromWater = getBoolean("mobs.wandering_trader.takes-damage-from-water", wanderingTraderTakeDamageFromWater);
wanderingTraderAllowTrading = getBoolean("mobs.wandering_trader.allow-trading", wanderingTraderAllowTrading); wanderingTraderAllowTrading = getBoolean("mobs.wandering_trader.allow-trading", wanderingTraderAllowTrading);
@@ -2160,7 +2160,7 @@ index 06dbb9b24a27552133a57573ffa44e22671dc7ff..cc5b1dfd4f28823a40185ea70928a5b9
} }
public boolean wardenRidable = false; public boolean wardenRidable = false;
@@ -2605,6 +2731,7 @@ public class PurpurWorldConfig { @@ -2610,6 +2736,7 @@ public class PurpurWorldConfig {
public boolean witchControllable = true; public boolean witchControllable = true;
public double witchMaxHealth = 26.0D; public double witchMaxHealth = 26.0D;
public boolean witchTakeDamageFromWater = false; public boolean witchTakeDamageFromWater = false;
@@ -2168,7 +2168,7 @@ index 06dbb9b24a27552133a57573ffa44e22671dc7ff..cc5b1dfd4f28823a40185ea70928a5b9
private void witchSettings() { private void witchSettings() {
witchRidable = getBoolean("mobs.witch.ridable", witchRidable); witchRidable = getBoolean("mobs.witch.ridable", witchRidable);
witchRidableInWater = getBoolean("mobs.witch.ridable-in-water", witchRidableInWater); witchRidableInWater = getBoolean("mobs.witch.ridable-in-water", witchRidableInWater);
@@ -2616,6 +2743,7 @@ public class PurpurWorldConfig { @@ -2621,6 +2748,7 @@ public class PurpurWorldConfig {
} }
witchMaxHealth = getDouble("mobs.witch.attributes.max_health", witchMaxHealth); witchMaxHealth = getDouble("mobs.witch.attributes.max_health", witchMaxHealth);
witchTakeDamageFromWater = getBoolean("mobs.witch.takes-damage-from-water", witchTakeDamageFromWater); witchTakeDamageFromWater = getBoolean("mobs.witch.takes-damage-from-water", witchTakeDamageFromWater);
@@ -2176,7 +2176,7 @@ index 06dbb9b24a27552133a57573ffa44e22671dc7ff..cc5b1dfd4f28823a40185ea70928a5b9
} }
public boolean witherRidable = false; public boolean witherRidable = false;
@@ -2630,6 +2758,7 @@ public class PurpurWorldConfig { @@ -2635,6 +2763,7 @@ public class PurpurWorldConfig {
public boolean witherCanRideVehicles = false; public boolean witherCanRideVehicles = false;
public float witherExplosionRadius = 1.0F; public float witherExplosionRadius = 1.0F;
public boolean witherPlaySpawnSound = true; public boolean witherPlaySpawnSound = true;
@@ -2184,7 +2184,7 @@ index 06dbb9b24a27552133a57573ffa44e22671dc7ff..cc5b1dfd4f28823a40185ea70928a5b9
private void witherSettings() { private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -2652,6 +2781,7 @@ public class PurpurWorldConfig { @@ -2657,6 +2786,7 @@ public class PurpurWorldConfig {
witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles); witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles);
witherExplosionRadius = (float) getDouble("mobs.wither.explosion-radius", witherExplosionRadius); witherExplosionRadius = (float) getDouble("mobs.wither.explosion-radius", witherExplosionRadius);
witherPlaySpawnSound = getBoolean("mobs.wither.play-spawn-sound", witherPlaySpawnSound); witherPlaySpawnSound = getBoolean("mobs.wither.play-spawn-sound", witherPlaySpawnSound);
@@ -2192,7 +2192,7 @@ index 06dbb9b24a27552133a57573ffa44e22671dc7ff..cc5b1dfd4f28823a40185ea70928a5b9
} }
public boolean witherSkeletonRidable = false; public boolean witherSkeletonRidable = false;
@@ -2659,6 +2789,7 @@ public class PurpurWorldConfig { @@ -2664,6 +2794,7 @@ public class PurpurWorldConfig {
public boolean witherSkeletonControllable = true; public boolean witherSkeletonControllable = true;
public double witherSkeletonMaxHealth = 20.0D; public double witherSkeletonMaxHealth = 20.0D;
public boolean witherSkeletonTakeDamageFromWater = false; public boolean witherSkeletonTakeDamageFromWater = false;
@@ -2200,7 +2200,7 @@ index 06dbb9b24a27552133a57573ffa44e22671dc7ff..cc5b1dfd4f28823a40185ea70928a5b9
private void witherSkeletonSettings() { private void witherSkeletonSettings() {
witherSkeletonRidable = getBoolean("mobs.wither_skeleton.ridable", witherSkeletonRidable); witherSkeletonRidable = getBoolean("mobs.wither_skeleton.ridable", witherSkeletonRidable);
witherSkeletonRidableInWater = getBoolean("mobs.wither_skeleton.ridable-in-water", witherSkeletonRidableInWater); witherSkeletonRidableInWater = getBoolean("mobs.wither_skeleton.ridable-in-water", witherSkeletonRidableInWater);
@@ -2670,6 +2801,7 @@ public class PurpurWorldConfig { @@ -2675,6 +2806,7 @@ public class PurpurWorldConfig {
} }
witherSkeletonMaxHealth = getDouble("mobs.wither_skeleton.attributes.max_health", witherSkeletonMaxHealth); witherSkeletonMaxHealth = getDouble("mobs.wither_skeleton.attributes.max_health", witherSkeletonMaxHealth);
witherSkeletonTakeDamageFromWater = getBoolean("mobs.wither_skeleton.takes-damage-from-water", witherSkeletonTakeDamageFromWater); witherSkeletonTakeDamageFromWater = getBoolean("mobs.wither_skeleton.takes-damage-from-water", witherSkeletonTakeDamageFromWater);
@@ -2208,7 +2208,7 @@ index 06dbb9b24a27552133a57573ffa44e22671dc7ff..cc5b1dfd4f28823a40185ea70928a5b9
} }
public boolean wolfRidable = false; public boolean wolfRidable = false;
@@ -2681,6 +2813,7 @@ public class PurpurWorldConfig { @@ -2686,6 +2818,7 @@ public class PurpurWorldConfig {
public double wolfNaturalRabid = 0.0D; public double wolfNaturalRabid = 0.0D;
public int wolfBreedingTicks = 6000; public int wolfBreedingTicks = 6000;
public boolean wolfTakeDamageFromWater = false; public boolean wolfTakeDamageFromWater = false;
@@ -2216,7 +2216,7 @@ index 06dbb9b24a27552133a57573ffa44e22671dc7ff..cc5b1dfd4f28823a40185ea70928a5b9
private void wolfSettings() { private void wolfSettings() {
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable); wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater); wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater);
@@ -2700,6 +2833,7 @@ public class PurpurWorldConfig { @@ -2705,6 +2838,7 @@ public class PurpurWorldConfig {
wolfNaturalRabid = getDouble("mobs.wolf.spawn-rabid-chance", wolfNaturalRabid); wolfNaturalRabid = getDouble("mobs.wolf.spawn-rabid-chance", wolfNaturalRabid);
wolfBreedingTicks = getInt("mobs.wolf.breeding-delay-ticks", wolfBreedingTicks); wolfBreedingTicks = getInt("mobs.wolf.breeding-delay-ticks", wolfBreedingTicks);
wolfTakeDamageFromWater = getBoolean("mobs.wolf.takes-damage-from-water", wolfTakeDamageFromWater); wolfTakeDamageFromWater = getBoolean("mobs.wolf.takes-damage-from-water", wolfTakeDamageFromWater);
@@ -2224,7 +2224,7 @@ index 06dbb9b24a27552133a57573ffa44e22671dc7ff..cc5b1dfd4f28823a40185ea70928a5b9
} }
public boolean zoglinRidable = false; public boolean zoglinRidable = false;
@@ -2707,6 +2841,7 @@ public class PurpurWorldConfig { @@ -2712,6 +2846,7 @@ public class PurpurWorldConfig {
public boolean zoglinControllable = true; public boolean zoglinControllable = true;
public double zoglinMaxHealth = 40.0D; public double zoglinMaxHealth = 40.0D;
public boolean zoglinTakeDamageFromWater = false; public boolean zoglinTakeDamageFromWater = false;
@@ -2232,7 +2232,7 @@ index 06dbb9b24a27552133a57573ffa44e22671dc7ff..cc5b1dfd4f28823a40185ea70928a5b9
private void zoglinSettings() { private void zoglinSettings() {
zoglinRidable = getBoolean("mobs.zoglin.ridable", zoglinRidable); zoglinRidable = getBoolean("mobs.zoglin.ridable", zoglinRidable);
zoglinRidableInWater = getBoolean("mobs.zoglin.ridable-in-water", zoglinRidableInWater); zoglinRidableInWater = getBoolean("mobs.zoglin.ridable-in-water", zoglinRidableInWater);
@@ -2718,6 +2853,7 @@ public class PurpurWorldConfig { @@ -2723,6 +2858,7 @@ public class PurpurWorldConfig {
} }
zoglinMaxHealth = getDouble("mobs.zoglin.attributes.max_health", zoglinMaxHealth); zoglinMaxHealth = getDouble("mobs.zoglin.attributes.max_health", zoglinMaxHealth);
zoglinTakeDamageFromWater = getBoolean("mobs.zoglin.takes-damage-from-water", zoglinTakeDamageFromWater); zoglinTakeDamageFromWater = getBoolean("mobs.zoglin.takes-damage-from-water", zoglinTakeDamageFromWater);
@@ -2240,7 +2240,7 @@ index 06dbb9b24a27552133a57573ffa44e22671dc7ff..cc5b1dfd4f28823a40185ea70928a5b9
} }
public boolean zombieRidable = false; public boolean zombieRidable = false;
@@ -2731,6 +2867,7 @@ public class PurpurWorldConfig { @@ -2736,6 +2872,7 @@ public class PurpurWorldConfig {
public boolean zombieAggressiveTowardsVillagerWhenLagging = true; public boolean zombieAggressiveTowardsVillagerWhenLagging = true;
public boolean zombieBypassMobGriefing = false; public boolean zombieBypassMobGriefing = false;
public boolean zombieTakeDamageFromWater = false; public boolean zombieTakeDamageFromWater = false;
@@ -2248,7 +2248,7 @@ index 06dbb9b24a27552133a57573ffa44e22671dc7ff..cc5b1dfd4f28823a40185ea70928a5b9
private void zombieSettings() { private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -2748,6 +2885,7 @@ public class PurpurWorldConfig { @@ -2753,6 +2890,7 @@ public class PurpurWorldConfig {
zombieAggressiveTowardsVillagerWhenLagging = getBoolean("mobs.zombie.aggressive-towards-villager-when-lagging", zombieAggressiveTowardsVillagerWhenLagging); zombieAggressiveTowardsVillagerWhenLagging = getBoolean("mobs.zombie.aggressive-towards-villager-when-lagging", zombieAggressiveTowardsVillagerWhenLagging);
zombieBypassMobGriefing = getBoolean("mobs.zombie.bypass-mob-griefing", zombieBypassMobGriefing); zombieBypassMobGriefing = getBoolean("mobs.zombie.bypass-mob-griefing", zombieBypassMobGriefing);
zombieTakeDamageFromWater = getBoolean("mobs.zombie.takes-damage-from-water", zombieTakeDamageFromWater); zombieTakeDamageFromWater = getBoolean("mobs.zombie.takes-damage-from-water", zombieTakeDamageFromWater);
@@ -2256,15 +2256,15 @@ index 06dbb9b24a27552133a57573ffa44e22671dc7ff..cc5b1dfd4f28823a40185ea70928a5b9
} }
public boolean zombieHorseRidableInWater = false; public boolean zombieHorseRidableInWater = false;
@@ -2760,6 +2898,7 @@ public class PurpurWorldConfig { @@ -2765,6 +2903,7 @@ public class PurpurWorldConfig {
public double zombieHorseMovementSpeedMax = 0.2D; public double zombieHorseMovementSpeedMax = 0.2D; // TODO: re-implement
public double zombieHorseSpawnChance = 0.0D; public double zombieHorseSpawnChance = 0.0D;
public boolean zombieHorseTakeDamageFromWater = false; public boolean zombieHorseTakeDamageFromWater = false;
+ public boolean zombieHorseAlwaysDropExp = false; + public boolean zombieHorseAlwaysDropExp = false;
private void zombieHorseSettings() { private void zombieHorseSettings() {
zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater); zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater);
zombieHorseCanSwim = getBoolean("mobs.zombie_horse.can-swim", zombieHorseCanSwim); zombieHorseCanSwim = getBoolean("mobs.zombie_horse.can-swim", zombieHorseCanSwim);
@@ -2777,6 +2916,7 @@ public class PurpurWorldConfig { @@ -2782,6 +2921,7 @@ public class PurpurWorldConfig {
zombieHorseMovementSpeedMax = getDouble("mobs.zombie_horse.attributes.movement_speed.max", zombieHorseMovementSpeedMax); zombieHorseMovementSpeedMax = getDouble("mobs.zombie_horse.attributes.movement_speed.max", zombieHorseMovementSpeedMax);
zombieHorseSpawnChance = getDouble("mobs.zombie_horse.spawn-chance", zombieHorseSpawnChance); zombieHorseSpawnChance = getDouble("mobs.zombie_horse.spawn-chance", zombieHorseSpawnChance);
zombieHorseTakeDamageFromWater = getBoolean("mobs.zombie_horse.takes-damage-from-water", zombieHorseTakeDamageFromWater); zombieHorseTakeDamageFromWater = getBoolean("mobs.zombie_horse.takes-damage-from-water", zombieHorseTakeDamageFromWater);
@@ -2272,7 +2272,7 @@ index 06dbb9b24a27552133a57573ffa44e22671dc7ff..cc5b1dfd4f28823a40185ea70928a5b9
} }
public boolean zombieVillagerRidable = false; public boolean zombieVillagerRidable = false;
@@ -2791,6 +2931,7 @@ public class PurpurWorldConfig { @@ -2796,6 +2936,7 @@ public class PurpurWorldConfig {
public int zombieVillagerCuringTimeMin = 3600; public int zombieVillagerCuringTimeMin = 3600;
public int zombieVillagerCuringTimeMax = 6000; public int zombieVillagerCuringTimeMax = 6000;
public boolean zombieVillagerCureEnabled = true; public boolean zombieVillagerCureEnabled = true;
@@ -2280,7 +2280,7 @@ index 06dbb9b24a27552133a57573ffa44e22671dc7ff..cc5b1dfd4f28823a40185ea70928a5b9
private void zombieVillagerSettings() { private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -2809,6 +2950,7 @@ public class PurpurWorldConfig { @@ -2814,6 +2955,7 @@ public class PurpurWorldConfig {
zombieVillagerCuringTimeMin = getInt("mobs.zombie_villager.curing_time.min", zombieVillagerCuringTimeMin); zombieVillagerCuringTimeMin = getInt("mobs.zombie_villager.curing_time.min", zombieVillagerCuringTimeMin);
zombieVillagerCuringTimeMax = getInt("mobs.zombie_villager.curing_time.max", zombieVillagerCuringTimeMax); zombieVillagerCuringTimeMax = getInt("mobs.zombie_villager.curing_time.max", zombieVillagerCuringTimeMax);
zombieVillagerCureEnabled = getBoolean("mobs.zombie_villager.cure.enabled", zombieVillagerCureEnabled); zombieVillagerCureEnabled = getBoolean("mobs.zombie_villager.cure.enabled", zombieVillagerCureEnabled);
@@ -2288,7 +2288,7 @@ index 06dbb9b24a27552133a57573ffa44e22671dc7ff..cc5b1dfd4f28823a40185ea70928a5b9
} }
public boolean zombifiedPiglinRidable = false; public boolean zombifiedPiglinRidable = false;
@@ -2821,6 +2963,7 @@ public class PurpurWorldConfig { @@ -2826,6 +2968,7 @@ public class PurpurWorldConfig {
public boolean zombifiedPiglinJockeyTryExistingChickens = true; public boolean zombifiedPiglinJockeyTryExistingChickens = true;
public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = true; public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = true;
public boolean zombifiedPiglinTakeDamageFromWater = false; public boolean zombifiedPiglinTakeDamageFromWater = false;
@@ -2296,7 +2296,7 @@ index 06dbb9b24a27552133a57573ffa44e22671dc7ff..cc5b1dfd4f28823a40185ea70928a5b9
private void zombifiedPiglinSettings() { private void zombifiedPiglinSettings() {
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable); zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater); zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
@@ -2837,6 +2980,7 @@ public class PurpurWorldConfig { @@ -2842,6 +2985,7 @@ public class PurpurWorldConfig {
zombifiedPiglinJockeyTryExistingChickens = getBoolean("mobs.zombified_piglin.jockey.try-existing-chickens", zombifiedPiglinJockeyTryExistingChickens); zombifiedPiglinJockeyTryExistingChickens = getBoolean("mobs.zombified_piglin.jockey.try-existing-chickens", zombifiedPiglinJockeyTryExistingChickens);
zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry); zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry);
zombifiedPiglinTakeDamageFromWater = getBoolean("mobs.zombified_piglin.takes-damage-from-water", zombifiedPiglinTakeDamageFromWater); zombifiedPiglinTakeDamageFromWater = getBoolean("mobs.zombified_piglin.takes-damage-from-water", zombifiedPiglinTakeDamageFromWater);

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 diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 0da0fe3bba883633422a516bf32452772b32ac41..8a38970579e9ffefb4dcb09a6970b2573a6e0a2d 100644 index 10dbf4f3fb5b5acb87496c0f06da1d29f7a26521..6da57caf6ed0deb17bb99d0ba0a7344ff5143767 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1024,9 +1024,20 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -1024,9 +1024,20 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -32,7 +32,7 @@ index 0da0fe3bba883633422a516bf32452772b32ac41..8a38970579e9ffefb4dcb09a6970b257
// Purpur start // Purpur start
if (entity instanceof LivingEntity entityliving) { 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 diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 077c1769df4dbebfe5d0c5759b9766d12ee8b601..559c010dcb476ba7a54b64550a384634180c2a09 100644 index 9622f8be1d3a4c46ad63868cc237c5ca6f1a25f5..84d3449f19e91098797c9e32139024f5419477b5 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1265,6 +1265,7 @@ public class PurpurWorldConfig { @@ -1265,6 +1265,7 @@ public class PurpurWorldConfig {
@@ -83,7 +83,7 @@ index 077c1769df4dbebfe5d0c5759b9766d12ee8b601..559c010dcb476ba7a54b64550a384634
} }
public boolean skeletonHorseRidableInWater = true; public boolean skeletonHorseRidableInWater = true;
@@ -2876,6 +2882,7 @@ public class PurpurWorldConfig { @@ -2881,6 +2887,7 @@ public class PurpurWorldConfig {
public boolean zombieBypassMobGriefing = false; public boolean zombieBypassMobGriefing = false;
public boolean zombieTakeDamageFromWater = false; public boolean zombieTakeDamageFromWater = false;
public boolean zombieAlwaysDropExp = false; public boolean zombieAlwaysDropExp = false;
@@ -91,7 +91,7 @@ index 077c1769df4dbebfe5d0c5759b9766d12ee8b601..559c010dcb476ba7a54b64550a384634
private void zombieSettings() { private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -2894,6 +2901,7 @@ public class PurpurWorldConfig { @@ -2899,6 +2906,7 @@ public class PurpurWorldConfig {
zombieBypassMobGriefing = getBoolean("mobs.zombie.bypass-mob-griefing", zombieBypassMobGriefing); zombieBypassMobGriefing = getBoolean("mobs.zombie.bypass-mob-griefing", zombieBypassMobGriefing);
zombieTakeDamageFromWater = getBoolean("mobs.zombie.takes-damage-from-water", zombieTakeDamageFromWater); zombieTakeDamageFromWater = getBoolean("mobs.zombie.takes-damage-from-water", zombieTakeDamageFromWater);
zombieAlwaysDropExp = getBoolean("mobs.zombie.always-drop-exp", zombieAlwaysDropExp); zombieAlwaysDropExp = getBoolean("mobs.zombie.always-drop-exp", zombieAlwaysDropExp);

View File

@@ -9,7 +9,7 @@ This patch adds a config option to allow the minimum demand to instead
be configurable. be configurable.
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index 1e3bc16aee307948e6d42a39aa17db96d14bd43b..a74498a97eb486a2bda63beb96ee0b8075122d2a 100644 index 92adb537f342f3da41c91cf2c3141425e68e3cb7..598f03c777c729b13a97d328ffb4a450415b66d6 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -535,7 +535,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -535,7 +535,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -40,10 +40,10 @@ index fd50d1c2435b82215bc5b3fdbe5044d426bc342e..68ffea572045634f1ad67a6954d480e6
public ItemStack assemble() { public ItemStack assemble() {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 94a6a30f186b0080920d1260df896cf62ef85ed4..10c4d336ccee50d1849c84c08536747169495ba7 100644 index b76778dde88408667e43c0ea54906051157067b0..12aac9a21d8ded7429bcda4dc62fcd52787982a8 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2678,6 +2678,7 @@ public class PurpurWorldConfig { @@ -2683,6 +2683,7 @@ public class PurpurWorldConfig {
public boolean villagerTakeDamageFromWater = false; public boolean villagerTakeDamageFromWater = false;
public boolean villagerAllowTrading = true; public boolean villagerAllowTrading = true;
public boolean villagerAlwaysDropExp = false; public boolean villagerAlwaysDropExp = false;
@@ -51,7 +51,7 @@ index 94a6a30f186b0080920d1260df896cf62ef85ed4..10c4d336ccee50d1849c84c085367471
private void villagerSettings() { private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2698,6 +2699,7 @@ public class PurpurWorldConfig { @@ -2703,6 +2704,7 @@ public class PurpurWorldConfig {
villagerTakeDamageFromWater = getBoolean("mobs.villager.takes-damage-from-water", villagerTakeDamageFromWater); villagerTakeDamageFromWater = getBoolean("mobs.villager.takes-damage-from-water", villagerTakeDamageFromWater);
villagerAllowTrading = getBoolean("mobs.villager.allow-trading", villagerAllowTrading); villagerAllowTrading = getBoolean("mobs.villager.allow-trading", villagerAllowTrading);
villagerAlwaysDropExp = getBoolean("mobs.villager.always-drop-exp", villagerAlwaysDropExp); villagerAlwaysDropExp = getBoolean("mobs.villager.always-drop-exp", villagerAlwaysDropExp);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Lobotomize stuck villagers
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index a74498a97eb486a2bda63beb96ee0b8075122d2a..5800a7de5529fdb2f348ce75d4fcc1a066b5fd1f 100644 index 598f03c777c729b13a97d328ffb4a450415b66d6..45579a592f519b54df5761a22f4abb0deff7feb6 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -139,6 +139,8 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -139,6 +139,8 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -29,8 +29,8 @@ index a74498a97eb486a2bda63beb96ee0b8075122d2a..5800a7de5529fdb2f348ce75d4fcc1a0
+ interval *= 2; + interval *= 2;
+ } + }
+ if (this.level.getGameTime() % interval == 0) { + if (this.level.getGameTime() % interval == 0) {
+ // offset Y for short blocks like dirt_path/farmland + // offset Y for short blocks like dirt_path/farmland TODO: check that it works
+ this.isLobotomized = !canTravelFrom(new BlockPos(getX(), getY() + 0.0625D, getZ())); + this.isLobotomized = !canTravelFrom(this.getBlockPosBelowThatAffectsMyMovement());
+ +
+ if (this.isLobotomized) { + if (this.isLobotomized) {
+ this.notLobotomizedCount = 0; + this.notLobotomizedCount = 0;
@@ -108,10 +108,10 @@ index a1a8ac55e572156671e47317ba061855be79e5ac..ec3fb8865211bd7625103c37af7b96df
+ // Purpur end + // Purpur end
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 10c4d336ccee50d1849c84c08536747169495ba7..88e100d58727b3b37083e6fa1d6bb32a88f01841 100644 index 12aac9a21d8ded7429bcda4dc62fcd52787982a8..da09ff6ee051cc811fdcbbe134126bc98b9964fa 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2679,6 +2679,8 @@ public class PurpurWorldConfig { @@ -2684,6 +2684,8 @@ public class PurpurWorldConfig {
public boolean villagerAllowTrading = true; public boolean villagerAllowTrading = true;
public boolean villagerAlwaysDropExp = false; public boolean villagerAlwaysDropExp = false;
public int villagerMinimumDemand = 0; public int villagerMinimumDemand = 0;
@@ -120,7 +120,7 @@ index 10c4d336ccee50d1849c84c08536747169495ba7..88e100d58727b3b37083e6fa1d6bb32a
private void villagerSettings() { private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2700,6 +2702,17 @@ public class PurpurWorldConfig { @@ -2705,6 +2707,17 @@ public class PurpurWorldConfig {
villagerAllowTrading = getBoolean("mobs.villager.allow-trading", villagerAllowTrading); villagerAllowTrading = getBoolean("mobs.villager.allow-trading", villagerAllowTrading);
villagerAlwaysDropExp = getBoolean("mobs.villager.always-drop-exp", villagerAlwaysDropExp); villagerAlwaysDropExp = getBoolean("mobs.villager.always-drop-exp", villagerAlwaysDropExp);
villagerMinimumDemand = getInt("mobs.villager.minimum-demand", villagerMinimumDemand); villagerMinimumDemand = getInt("mobs.villager.minimum-demand", villagerMinimumDemand);

View File

@@ -17,10 +17,10 @@ index 98373e013748817209b811d4adbb40a8787242a6..567b501f4de7556e55e2418d2f5700b4
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 88e100d58727b3b37083e6fa1d6bb32a88f01841..6a94ed9fc3a40b95dfba420935b0103098bcdbc6 100644 index da09ff6ee051cc811fdcbbe134126bc98b9964fa..8908383b77c638ef3d224c5c7d055eca959efee4 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2681,6 +2681,7 @@ public class PurpurWorldConfig { @@ -2686,6 +2686,7 @@ public class PurpurWorldConfig {
public int villagerMinimumDemand = 0; public int villagerMinimumDemand = 0;
public boolean villagerLobotomizeEnabled = false; public boolean villagerLobotomizeEnabled = false;
public int villagerLobotomizeCheckInterval = 100; public int villagerLobotomizeCheckInterval = 100;
@@ -28,7 +28,7 @@ index 88e100d58727b3b37083e6fa1d6bb32a88f01841..6a94ed9fc3a40b95dfba420935b01030
private void villagerSettings() { private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2713,6 +2714,7 @@ public class PurpurWorldConfig { @@ -2718,6 +2719,7 @@ public class PurpurWorldConfig {
} }
villagerLobotomizeEnabled = getBoolean("mobs.villager.lobotomize.enabled", villagerLobotomizeEnabled); villagerLobotomizeEnabled = getBoolean("mobs.villager.lobotomize.enabled", villagerLobotomizeEnabled);
villagerLobotomizeCheckInterval = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheckInterval); villagerLobotomizeCheckInterval = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheckInterval);

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Implement configurable search radius for villagers to spawn
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index 5800a7de5529fdb2f348ce75d4fcc1a066b5fd1f..59aca9a0ec9696f4461b6331abfe1314f239e64f 100644 index 45579a592f519b54df5761a22f4abb0deff7feb6..d5fce1215d99de3393d06fdc65939920386b9318 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -1088,6 +1088,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -1088,6 +1088,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -18,10 +18,10 @@ index 5800a7de5529fdb2f348ce75d4fcc1a066b5fd1f..59aca9a0ec9696f4461b6331abfe1314
AABB axisalignedbb = this.getBoundingBox().inflate(10.0D, 10.0D, 10.0D); AABB axisalignedbb = this.getBoundingBox().inflate(10.0D, 10.0D, 10.0D);
List<Villager> list = world.getEntitiesOfClass(Villager.class, axisalignedbb); 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 diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 6167910078b7beb8a8a56e2a5794e8c882fdc6a1..2832e0694661faba7d6238f9cdfdcbbef6240833 100644 index 2d6b1f21daa9813e50c5e8ae1773169ba4f63ef2..a333c3daae7e6416ec1ff897ca5fc6629c31a9c8 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2692,6 +2692,8 @@ public class PurpurWorldConfig { @@ -2697,6 +2697,8 @@ public class PurpurWorldConfig {
public boolean villagerLobotomizeEnabled = false; public boolean villagerLobotomizeEnabled = false;
public int villagerLobotomizeCheckInterval = 100; public int villagerLobotomizeCheckInterval = 100;
public boolean villagerDisplayTradeItem = true; public boolean villagerDisplayTradeItem = true;
@@ -30,7 +30,7 @@ index 6167910078b7beb8a8a56e2a5794e8c882fdc6a1..2832e0694661faba7d6238f9cdfdcbbe
private void villagerSettings() { private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2725,6 +2727,8 @@ public class PurpurWorldConfig { @@ -2730,6 +2732,8 @@ public class PurpurWorldConfig {
villagerLobotomizeEnabled = getBoolean("mobs.villager.lobotomize.enabled", villagerLobotomizeEnabled); villagerLobotomizeEnabled = getBoolean("mobs.villager.lobotomize.enabled", villagerLobotomizeEnabled);
villagerLobotomizeCheckInterval = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheckInterval); villagerLobotomizeCheckInterval = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheckInterval);
villagerDisplayTradeItem = getBoolean("mobs.villager.display-trade-item", villagerDisplayTradeItem); villagerDisplayTradeItem = getBoolean("mobs.villager.display-trade-item", villagerDisplayTradeItem);

View File

@@ -56,7 +56,7 @@ index 7bbfa2f8ac29dd32b100d356b285b5e5bd6615fe..ebe9dd5533710cc9f74801c13c71f8a1
damageTypeRegisterable.register(FALLING_ANVIL, new DamageType("anvil", 0.1F)); damageTypeRegisterable.register(FALLING_ANVIL, new DamageType("anvil", 0.1F));
damageTypeRegisterable.register(FALLING_STALACTITE, new DamageType("fallingStalactite", 0.1F)); damageTypeRegisterable.register(FALLING_STALACTITE, new DamageType("fallingStalactite", 0.1F));
diff --git a/src/main/java/net/minecraft/world/level/block/StonecutterBlock.java b/src/main/java/net/minecraft/world/level/block/StonecutterBlock.java diff --git a/src/main/java/net/minecraft/world/level/block/StonecutterBlock.java b/src/main/java/net/minecraft/world/level/block/StonecutterBlock.java
index 0a95842c53a9d0286c57bcb42db97e468e30fb7d..b6742a1efcceb0fb950d995101b6be16b0d05978 100644 index 0a95842c53a9d0286c57bcb42db97e468e30fb7d..0882e67c5cf876e0fc58a4ca4accb4be40418983 100644
--- a/src/main/java/net/minecraft/world/level/block/StonecutterBlock.java --- a/src/main/java/net/minecraft/world/level/block/StonecutterBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/StonecutterBlock.java +++ b/src/main/java/net/minecraft/world/level/block/StonecutterBlock.java
@@ -92,4 +92,16 @@ public class StonecutterBlock extends Block { @@ -92,4 +92,16 @@ public class StonecutterBlock extends Block {
@@ -69,7 +69,7 @@ index 0a95842c53a9d0286c57bcb42db97e468e30fb7d..b6742a1efcceb0fb950d995101b6be16
+ public void stepOn(Level level, BlockPos pos, BlockState state, net.minecraft.world.entity.Entity entity) { + public void stepOn(Level level, BlockPos pos, BlockState state, net.minecraft.world.entity.Entity entity) {
+ if (level.purpurConfig.stonecutterDamage > 0.0F && entity instanceof net.minecraft.world.entity.LivingEntity) { + if (level.purpurConfig.stonecutterDamage > 0.0F && entity instanceof net.minecraft.world.entity.LivingEntity) {
+ org.bukkit.craftbukkit.event.CraftEventFactory.blockDamage = level.getWorld().getBlockAt(pos.getX(), pos.getY(), pos.getZ()); + org.bukkit.craftbukkit.event.CraftEventFactory.blockDamage = level.getWorld().getBlockAt(pos.getX(), pos.getY(), pos.getZ());
+ entity.hurt(net.minecraft.world.damagesource.DamageSource.STONECUTTER, level.purpurConfig.stonecutterDamage); + entity.hurt(entity.damageSources().stonecutter(), level.purpurConfig.stonecutterDamage);
+ org.bukkit.craftbukkit.event.CraftEventFactory.blockDamage = null; + org.bukkit.craftbukkit.event.CraftEventFactory.blockDamage = null;
+ } + }
+ super.stepOn(level, pos, state, entity); + super.stepOn(level, pos, state, entity);
@@ -99,7 +99,7 @@ index 17a7fab20b4174273354fdc2fc700b7f2d669a98..a7578e112e80ed2585a7eb4fff9542f6
return BlockPathTypes.STICKY_HONEY; return BlockPathTypes.STICKY_HONEY;
} else if (blockState.is(Blocks.COCOA)) { } else if (blockState.is(Blocks.COCOA)) {
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index 15dabf8da91c003ee69934b7c59ef123a9ebc535..162faa8b3de4262d03416fcbd39e3349b754d324 100644 index debba52be7ba896f5a96a2ffa4e502101627a576..a20866374badffdda0ea10f83fb74347240fee19 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1057,6 +1057,10 @@ public class CraftEventFactory { @@ -1057,6 +1057,10 @@ public class CraftEventFactory {
@@ -107,7 +107,7 @@ index 15dabf8da91c003ee69934b7c59ef123a9ebc535..162faa8b3de4262d03416fcbd39e3349
} else if (sourceType == DamageTypes.IN_FIRE) { } else if (sourceType == DamageTypes.IN_FIRE) {
cause = DamageCause.FIRE; cause = DamageCause.FIRE;
+ // Purpur start + // Purpur start
+ } else if (source == DamageSource.STONECUTTER) { + } else if (sourceType == DamageTypes.STONE_CUTTER) {
+ cause = DamageCause.CONTACT; + cause = DamageCause.CONTACT;
+ // Purpur end + // Purpur end
} else { } else {
@@ -129,7 +129,7 @@ index 636c032127c2026509764745f805ae0693e4a983..3734f6279005872eac6697e6e22c3a2e
public static boolean advancementOnlyBroadcastToAffectedPlayer = false; public static boolean advancementOnlyBroadcastToAffectedPlayer = false;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 2832e0694661faba7d6238f9cdfdcbbef6240833..89323ca8142bea7125c18720bbf26dddbf9f94e5 100644 index a333c3daae7e6416ec1ff897ca5fc6629c31a9c8..608db11e2569ea93b5192cc443c580ebf837f70d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -992,6 +992,11 @@ public class PurpurWorldConfig { @@ -992,6 +992,11 @@ public class PurpurWorldConfig {

View File

@@ -1470,7 +1470,7 @@ index d61d9a7e7fa4d360dc740fdcb31efd028452fe61..e46105d1d15b4f8d24f726cc75be3020
Optional<Integer> optional = this.getBrain().getMemory(MemoryModuleType.PLAY_DEAD_TICKS); Optional<Integer> optional = this.getBrain().getMemory(MemoryModuleType.PLAY_DEAD_TICKS);
diff --git a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java diff --git a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
index 14386280e7ab006787054ca17503ec8ef0ab9621..ed07b29820ba7032bab439a7f5db0e2d0ea3e0b8 100644 index b07c09d0e9c4eae564913eb599e2f72af79a1bf0..a8cda7d3809485f4491e378db5ae6699e9ed5c13 100644
--- a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java --- a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
+++ b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java +++ b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
@@ -156,13 +156,13 @@ public class Camel extends AbstractHorse implements PlayerRideableJumping, Rider @@ -156,13 +156,13 @@ public class Camel extends AbstractHorse implements PlayerRideableJumping, Rider
@@ -1534,10 +1534,10 @@ index f12bd0227af77bec164f2938957c0c8100be9d03..16cc27ad7c152c5ea0854ba095a72ea3
} }
diff --git a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java diff --git a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
index 9d813827c27823c2e01341330cda1a64c4cdd315..ac91fe2c9b0c293789c4e0273823ddf5601b666d 100644 index f61843b76ad0dd50ed0ccaaf5f83a0c63e460343..07fa6220417a3df8f2471d74e1c3cb22d245fd06 100644
--- a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java --- a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
+++ b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java +++ b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
@@ -230,10 +230,10 @@ public class Goat extends Animal { @@ -225,10 +225,10 @@ public class Goat extends Animal {
this.level.getProfiler().push("goatBrain"); this.level.getProfiler().push("goatBrain");
if ((getRider() == null || !this.isControllable())/* && this.behaviorTick++ % this.activatedPriority == 0*/) // Pufferfish // Purpur - only use brain if no rider TODO: uncomment when including Pufferfish if ((getRider() == null || !this.isControllable())/* && this.behaviorTick++ % this.activatedPriority == 0*/) // Pufferfish // Purpur - only use brain if no rider TODO: uncomment when including Pufferfish
this.getBrain().tick((ServerLevel) this.level, this); this.getBrain().tick((ServerLevel) this.level, this);
@@ -1636,7 +1636,7 @@ index a268f6a39b972f91ca04d6b0004efda4cf086e10..d72221ab3e6d92a1bb5b8303ce3152f8
if ((this.tickCount + this.getId()) % 120 == 0) { if ((this.tickCount + this.getId()) % 120 == 0) {
Warden.applyDarknessAround(worldserver, this.position(), this, 20); Warden.applyDarknessAround(worldserver, this.position(), this, 20);
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index 87e1782baf0f5d083c23dd848952e8eac51e40f0..9c5d1426c19309048bd33e7a44818b7edbe6a431 100644 index d5fce1215d99de3393d06fdc65939920386b9318..9d19f6701acd9b5e430263347ee8a9925b9c49c2 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -332,7 +332,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -332,7 +332,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Fire Immunity API
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index f68b42f80bb8d76d08589f2d3047da1e07984092..9f73c9c9109686ff9d2a87465b887747a9b18d6b 100644 index ffe329e624b4d7db6c2b6f49f31093ab02116214..099b7da30aaf2dca7fe556d26c1395f662fbf80a 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -399,6 +399,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -399,6 +399,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -50,12 +50,12 @@ index f68b42f80bb8d76d08589f2d3047da1e07984092..9f73c9c9109686ff9d2a87465b887747
} catch (Throwable throwable) { } catch (Throwable throwable) {
CrashReport crashreport = CrashReport.forThrowable(throwable, "Loading entity NBT"); CrashReport crashreport = CrashReport.forThrowable(throwable, "Loading entity NBT");
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
index 93fe0bbdd4ea1507035533eb40b0eae6a0a890cb..ba92b2756d7dbf7b2074c5871f8dc25b2e32c18b 100644 index 0db19dfbec593b9fd6f22970960fbe967bd7c280..9f1017e2e51bd6e0c9a6a59663e1acbf17675f3b 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -1473,5 +1473,15 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { @@ -1473,5 +1473,15 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
public boolean isRidableInWater() { public boolean isRidableInWater() {
return getHandle().rideableUnderWater(); return !getHandle().dismountsUnderwater();
} }
+ +
+ @Override + @Override

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Added got ram event
diff --git a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java diff --git a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
index cc319c0d2d34d72709c7bd60282c474d2698dc25..98647e14240b0d72d780331a2823cba78610d01a 100644 index 07fa6220417a3df8f2471d74e1c3cb22d245fd06..e59af521c1a7145996d91b282c0063fdb8e64347 100644
--- a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java --- a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
+++ b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java +++ b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
@@ -425,6 +425,7 @@ public class Goat extends Animal { @@ -420,6 +420,7 @@ public class Goat extends Animal {
// Paper start - Goat ram API // Paper start - Goat ram API
public void ram(net.minecraft.world.entity.LivingEntity entity) { public void ram(net.minecraft.world.entity.LivingEntity entity) {

View File

@@ -5,19 +5,19 @@ Subject: [PATCH] End Crystal Cramming
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java
index a1a604fd9ba128ffb4bf4ab017188ef85627d223..c107761467c7574bdcfc956e0ffc7ee9698d8867 100644 index a4fc0e9cb52bb5937effe5cd09f8bbefcf8dd531..e3fe5f18c77e36479eaeb7edfd2a3eb919c342d6 100644
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java --- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java +++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java
@@ -83,6 +83,7 @@ public class EndCrystal extends Entity { @@ -83,6 +83,7 @@ public class EndCrystal extends Entity {
} }
} }
// Paper end // Paper end
+ if (this.level.purpurConfig.endCrystalCramming > 0 && this.level.getEntitiesOfClass(EndCrystal.class, getBoundingBox()).size() > this.level.purpurConfig.endCrystalCramming) this.hurt(DamageSource.CRAMMING, 6.0F); // Purpur + if (this.level.purpurConfig.endCrystalCramming > 0 && this.level.getEntitiesOfClass(EndCrystal.class, getBoundingBox()).size() > this.level.purpurConfig.endCrystalCramming) this.hurt(this.damageSources().cramming(), 6.0F); // Purpur
} }
// Purpur start // Purpur start
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index db8e647e043c7d89c8cf7b5c13dd290e7d8b3050..9efeff43abf589fbb2ffe865cdc010d1ddf7db63 100644 index 69b04d74e3a44b01fc24c67ce9ce627ce2b5a992..ea8e4ad5ba1d5894747e11674bbc63ba57c9a061 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -848,6 +848,7 @@ public class PurpurWorldConfig { @@ -848,6 +848,7 @@ public class PurpurWorldConfig {