just over halfway

This commit is contained in:
Ben Kerllenevich
2021-11-25 08:06:40 -05:00
parent 6463d0deb5
commit c718c87a1b
15 changed files with 92 additions and 94 deletions

View File

@@ -17,7 +17,7 @@ index 623f78c078fb3aa2665d7e8a37672438227bce6b..500c69e555c7247e20ef8cc59d834155
((Mob) newEntityLiving).setPersistenceRequired(); ((Mob) newEntityLiving).setPersistenceRequired();
// Paper end // Paper end
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 4a567fcc95561bbd40cbbb9533cfe81149fb1874..467c17a4b35d53da80d9eaa6d7fc5f0944413f5c 100644 index a4ec9fd7070fbc71a08a99e2d191464aff2fff20..9c3f2a19e7d4b01c21a82c69c202350d730ff7e7 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -102,9 +102,11 @@ public class PurpurWorldConfig { @@ -102,9 +102,11 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add twisting and weeping vines growth rates
diff --git a/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java b/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java diff --git a/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java b/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java
index 4c4d059ca5c93ed37bc4473911d265fcec56c396..f63e79ff0df4b4f152f74e55134dc72932e6ae55 100644 index 87dabe3c80b48bff52f2e3dbbaceb37a1a21e431..966fd0ecff8a0fa8a08edaeaad899ff13f8106f3 100644
--- a/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java --- a/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java +++ b/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java
@@ -80,4 +80,10 @@ public class CaveVinesBlock extends GrowingPlantHeadBlock implements Bonemealabl @@ -80,4 +80,10 @@ public class CaveVinesBlock extends GrowingPlantHeadBlock implements Bonemealabl
@@ -20,10 +20,10 @@ index 4c4d059ca5c93ed37bc4473911d265fcec56c396..f63e79ff0df4b4f152f74e55134dc729
+ // Purpur end + // Purpur end
} }
diff --git a/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java b/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java diff --git a/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java b/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java
index 3129c8db32fd79ab5917ffc93ee6dd5db58b1aad..9f1d43ad720750f9d50cc3cfbe1fc9b335cffd0d 100644 index def3b62feada5cebae4049883fa967b12f6f32b4..c4ba28ea8f73092c85b08bbec0d9197f2983ce23 100644
--- a/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java --- a/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java +++ b/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java
@@ -39,9 +39,11 @@ public abstract class GrowingPlantHeadBlock extends GrowingPlantBlock implements @@ -38,9 +38,11 @@ public abstract class GrowingPlantHeadBlock extends GrowingPlantBlock implements
return (Integer) state.getValue(GrowingPlantHeadBlock.AGE) < 25; return (Integer) state.getValue(GrowingPlantHeadBlock.AGE) < 25;
} }
@@ -82,10 +82,10 @@ index 35b2bad76c45b5a94ba7f2e9c7a8cfeb8c3f498b..d2cb1a7e7ea364cb8e2af4c4e756d8e4
+ // Purpur end + // Purpur end
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 467c17a4b35d53da80d9eaa6d7fc5f0944413f5c..4a4d8cc7f36c6733bb56680dcf599ffba3898eab 100644 index 9c3f2a19e7d4b01c21a82c69c202350d730ff7e7..d157860e20f7faa2a4e7f50e6fcad598e7794394 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -426,6 +426,11 @@ public class PurpurWorldConfig { @@ -402,6 +402,11 @@ public class PurpurWorldConfig {
} }
} }
@@ -97,7 +97,7 @@ index 467c17a4b35d53da80d9eaa6d7fc5f0944413f5c..4a4d8cc7f36c6733bb56680dcf599ffb
public boolean dispenserApplyCursedArmor = true; public boolean dispenserApplyCursedArmor = true;
public boolean dispenserPlaceAnvils = false; public boolean dispenserPlaceAnvils = false;
private void dispenserSettings() { private void dispenserSettings() {
@@ -502,6 +507,16 @@ public class PurpurWorldConfig { @@ -478,6 +483,16 @@ public class PurpurWorldConfig {
stonecutterDamage = (float) getDouble("blocks.stonecutter.damage", stonecutterDamage); stonecutterDamage = (float) getDouble("blocks.stonecutter.damage", stonecutterDamage);
} }

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Kelp weeping and twisting vines configurable max growth age
diff --git a/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java b/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java diff --git a/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java b/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java
index f63e79ff0df4b4f152f74e55134dc72932e6ae55..905ef84a959833c38898670126e0ac08da8d4ca2 100644 index 966fd0ecff8a0fa8a08edaeaad899ff13f8106f3..54f4683b7ad69f6bfb2e2b19842f0a418b20359a 100644
--- a/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java --- a/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java +++ b/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java
@@ -85,5 +85,9 @@ public class CaveVinesBlock extends GrowingPlantHeadBlock implements Bonemealabl @@ -85,5 +85,9 @@ public class CaveVinesBlock extends GrowingPlantHeadBlock implements Bonemealabl
@@ -19,10 +19,10 @@ index f63e79ff0df4b4f152f74e55134dc72932e6ae55..905ef84a959833c38898670126e0ac08
// Purpur end // Purpur end
} }
diff --git a/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java b/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java diff --git a/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java b/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java
index 9f1d43ad720750f9d50cc3cfbe1fc9b335cffd0d..1c3284f8bf7923361797a73077af0699fa58db29 100644 index c4ba28ea8f73092c85b08bbec0d9197f2983ce23..1914a145005dd2c44ac66efb313ac7837238f29b 100644
--- a/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java --- a/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java +++ b/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java
@@ -31,7 +31,7 @@ public abstract class GrowingPlantHeadBlock extends GrowingPlantBlock implements @@ -30,7 +30,7 @@ public abstract class GrowingPlantHeadBlock extends GrowingPlantBlock implements
@Override @Override
public BlockState getStateForPlacement(LevelAccessor world) { public BlockState getStateForPlacement(LevelAccessor world) {
@@ -31,7 +31,7 @@ index 9f1d43ad720750f9d50cc3cfbe1fc9b335cffd0d..1c3284f8bf7923361797a73077af0699
} }
@Override @Override
@@ -41,9 +41,11 @@ public abstract class GrowingPlantHeadBlock extends GrowingPlantBlock implements @@ -40,9 +40,11 @@ public abstract class GrowingPlantHeadBlock extends GrowingPlantBlock implements
public abstract double getGrowthModifier(ServerLevel world); // Purpur public abstract double getGrowthModifier(ServerLevel world); // Purpur
@@ -44,7 +44,7 @@ index 9f1d43ad720750f9d50cc3cfbe1fc9b335cffd0d..1c3284f8bf7923361797a73077af0699
BlockPos blockposition1 = pos.relative(this.growthDirection); BlockPos blockposition1 = pos.relative(this.growthDirection);
if (this.canGrowInto(world.getBlockState(blockposition1))) { if (this.canGrowInto(world.getBlockState(blockposition1))) {
@@ -96,13 +98,13 @@ public abstract class GrowingPlantHeadBlock extends GrowingPlantBlock implements @@ -103,13 +105,13 @@ public abstract class GrowingPlantHeadBlock extends GrowingPlantBlock implements
@Override @Override
public void performBonemeal(ServerLevel world, Random random, BlockPos pos, BlockState state) { public void performBonemeal(ServerLevel world, Random random, BlockPos pos, BlockState state) {
BlockPos blockposition1 = pos.relative(this.growthDirection); BlockPos blockposition1 = pos.relative(this.growthDirection);
@@ -103,10 +103,10 @@ index d2cb1a7e7ea364cb8e2af4c4e756d8e45bc0ca10..bb99dda3c5167f23b2500a1f37cbc1ca
// Purpur end // Purpur end
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 4a4d8cc7f36c6733bb56680dcf599ffba3898eab..821a925ff0499e84616b9fb9a6a541359d9ddd2c 100644 index d157860e20f7faa2a4e7f50e6fcad598e7794394..4037db3395073e5f27091e638555f41d6739d45e 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -427,8 +427,10 @@ public class PurpurWorldConfig { @@ -403,8 +403,10 @@ public class PurpurWorldConfig {
} }
public double caveVinesGrowthModifier = 0.10D; public double caveVinesGrowthModifier = 0.10D;
@@ -117,7 +117,7 @@ index 4a4d8cc7f36c6733bb56680dcf599ffba3898eab..821a925ff0499e84616b9fb9a6a54135
} }
public boolean dispenserApplyCursedArmor = true; public boolean dispenserApplyCursedArmor = true;
@@ -474,6 +476,11 @@ public class PurpurWorldConfig { @@ -450,6 +452,11 @@ public class PurpurWorldConfig {
waterInfiniteRequiredSources = getInt("blocks.water.infinite-required-sources", waterInfiniteRequiredSources); waterInfiniteRequiredSources = getInt("blocks.water.infinite-required-sources", waterInfiniteRequiredSources);
} }
@@ -129,7 +129,7 @@ index 4a4d8cc7f36c6733bb56680dcf599ffba3898eab..821a925ff0499e84616b9fb9a6a54135
public boolean respawnAnchorExplode = true; public boolean respawnAnchorExplode = true;
public double respawnAnchorExplosionPower = 5.0D; public double respawnAnchorExplosionPower = 5.0D;
public boolean respawnAnchorExplosionFire = true; public boolean respawnAnchorExplosionFire = true;
@@ -508,13 +515,17 @@ public class PurpurWorldConfig { @@ -484,13 +491,17 @@ public class PurpurWorldConfig {
} }
public double twistingVinesGrowthModifier = 0.10D; public double twistingVinesGrowthModifier = 0.10D;

View File

@@ -8,10 +8,10 @@ This should help to reduce the amount of dirt, gravel, grass, and etc.
that Endermen like to randomly place all over the world. that Endermen like to randomly place all over the world.
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 b9f8969cbe24661a5fa5fb4b46fdd159b76005cc..9003af124953bf6fb12e8bff8e10d5aa0a7f9fc1 100644 index 490b8d674a0f1ae75de89fcadb2894da55c32d4e..28d2ccc6b29b17a99a2828d044259adafa10922c 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
@@ -429,7 +429,7 @@ public class EnderMan extends Monster implements NeutralMob { @@ -453,7 +453,7 @@ public class EnderMan extends Monster implements NeutralMob {
@Override @Override
public boolean requiresCustomPersistence() { public boolean requiresCustomPersistence() {
@@ -21,10 +21,10 @@ index b9f8969cbe24661a5fa5fb4b46fdd159b76005cc..9003af124953bf6fb12e8bff8e10d5aa
private static class EndermanFreezeWhenLookedAt extends Goal { private static class EndermanFreezeWhenLookedAt extends Goal {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 821a925ff0499e84616b9fb9a6a541359d9ddd2c..d5d2a742a0ae58bb43a946386bba7e38ae8a4b61 100644 index 4037db3395073e5f27091e638555f41d6739d45e..a7ffef3041c104bb4d0de9fc9db348679f28dcd4 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -811,6 +811,7 @@ public class PurpurWorldConfig { @@ -787,6 +787,7 @@ public class PurpurWorldConfig {
public boolean endermanRidableInWater = false; public boolean endermanRidableInWater = false;
public double endermanMaxHealth = 40.0D; public double endermanMaxHealth = 40.0D;
public boolean endermanAllowGriefing = true; public boolean endermanAllowGriefing = true;
@@ -32,7 +32,7 @@ index 821a925ff0499e84616b9fb9a6a541359d9ddd2c..d5d2a742a0ae58bb43a946386bba7e38
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);
@@ -821,6 +822,7 @@ public class PurpurWorldConfig { @@ -797,6 +798,7 @@ public class PurpurWorldConfig {
} }
endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth); endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth);
endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing); endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing);

View File

@@ -18,7 +18,7 @@ index ed2f039c4042861bcfa2e41d8281eefd37daa9fa..d5d84893c77b4e60a19032d765d76bfd
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index d5d2a742a0ae58bb43a946386bba7e38ae8a4b61..e94f79558ea0c380957f7984b03cb9f90190dee2 100644 index a7ffef3041c104bb4d0de9fc9db348679f28dcd4..c8987ff98ad2ffd808cf647266f36bfade93edd4 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -295,6 +295,11 @@ public class PurpurWorldConfig { @@ -295,6 +295,11 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Changeable Mob Left Handed Chance
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index a268895fa22b81c164837a731d4bde51a68190c4..48fae807359382fd178bad91fc9cab9bba858dec 100644 index 198fe041d20e7ed21b47d5c22dcc121a8d388623..6a8347ceefd663066de5887fef8ebc82b30a1b93 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java --- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -1208,7 +1208,7 @@ public abstract class Mob extends LivingEntity { @@ -1223,7 +1223,7 @@ public abstract class Mob extends LivingEntity {
@Nullable @Nullable
public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData, @Nullable CompoundTag entityNbt) { public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData, @Nullable CompoundTag entityNbt) {
this.getAttribute(Attributes.FOLLOW_RANGE).addPermanentModifier(new AttributeModifier("Random spawn bonus", this.random.nextGaussian() * 0.05D, AttributeModifier.Operation.MULTIPLY_BASE)); this.getAttribute(Attributes.FOLLOW_RANGE).addPermanentModifier(new AttributeModifier("Random spawn bonus", this.random.nextGaussian() * 0.05D, AttributeModifier.Operation.MULTIPLY_BASE));
@@ -18,7 +18,7 @@ index a268895fa22b81c164837a731d4bde51a68190c4..48fae807359382fd178bad91fc9cab9b
} else { } else {
this.setLeftHanded(false); this.setLeftHanded(false);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index e94f79558ea0c380957f7984b03cb9f90190dee2..2b246ec320e6e1874329786887e72fd1b9884119 100644 index c8987ff98ad2ffd808cf647266f36bfade93edd4..acf77639758714e39e9da69946c3fd44b32e8c1c 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -130,8 +130,10 @@ public class PurpurWorldConfig { @@ -130,8 +130,10 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add boat fall damage config
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index dd3b3e4821dbd3a1fb73ddcc31c022175c18708d..d6bea7c9e925bd211b2de4b596dab77fe10d12ac 100644 index 48f19d3cfbf310344bf062b269a5f5eecc2887a5..1025696b877d8cffae2d34b6036a362612e9d706 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -989,7 +989,16 @@ public class ServerPlayer extends Player { @@ -1018,7 +1018,16 @@ public class ServerPlayer extends Player {
if (this.isInvulnerableTo(source)) { if (this.isInvulnerableTo(source)) {
return false; return false;
} else { } else {
@@ -27,7 +27,7 @@ index dd3b3e4821dbd3a1fb73ddcc31c022175c18708d..d6bea7c9e925bd211b2de4b596dab77f
if (!flag && isSpawnInvulnerable() && source != DamageSource.OUT_OF_WORLD) { // Purpur if (!flag && isSpawnInvulnerable() && source != DamageSource.OUT_OF_WORLD) { // Purpur
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 2b246ec320e6e1874329786887e72fd1b9884119..e351e19ab26a3143c7b05c66a2e69fd2f3b443ab 100644 index acf77639758714e39e9da69946c3fd44b32e8c1c..a47a309fbf877dee063bdf03047c4c627224898b 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -365,6 +365,7 @@ public class PurpurWorldConfig { @@ -365,6 +365,7 @@ public class PurpurWorldConfig {
@@ -38,7 +38,7 @@ index 2b246ec320e6e1874329786887e72fd1b9884119..e351e19ab26a3143c7b05c66a2e69fd2
public boolean disableDropsOnCrammingDeath = false; public boolean disableDropsOnCrammingDeath = false;
public boolean entitiesCanUsePortals = true; public boolean entitiesCanUsePortals = true;
public boolean milkCuresBadOmen = true; public boolean milkCuresBadOmen = true;
@@ -378,6 +379,7 @@ public class PurpurWorldConfig { @@ -377,6 +378,7 @@ public class PurpurWorldConfig {
private void miscGameplayMechanicsSettings() { private void miscGameplayMechanicsSettings() {
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending); useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand); boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand);

View File

@@ -10,10 +10,10 @@ 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 9ea7682c7cb4c4be1c44d3dd12dc6954d44d659e..3ea3085d9b4256c1a37c99e79550f9773e8c0f71 100644 index dbd005660d70918fe5a9d0f5c74f6b7d7fb03c3f..093211be0d86cc114cbb109d7ba01f491d7954b1 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
@@ -73,7 +73,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM @@ -74,7 +74,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
@Override @Override
protected void registerGoals() { protected void registerGoals() {
this.goalSelector.addGoal(0, new net.pl3x.purpur.entity.ai.HasRider(this)); // Purpur this.goalSelector.addGoal(0, new net.pl3x.purpur.entity.ai.HasRider(this)); // Purpur
@@ -23,10 +23,10 @@ index 9ea7682c7cb4c4be1c44d3dd12dc6954d44d659e..3ea3085d9b4256c1a37c99e79550f977
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/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index e351e19ab26a3143c7b05c66a2e69fd2f3b443ab..bab3327d5d04c9533e1992478d4f7798685a8e33 100644 index a47a309fbf877dee063bdf03047c4c627224898b..051024771f51409805ad76fe9a8d5fdc79a9999d 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1494,6 +1494,10 @@ public class PurpurWorldConfig { @@ -1470,6 +1470,10 @@ public class PurpurWorldConfig {
public double snowGolemMaxHealth = 4.0D; public double snowGolemMaxHealth = 4.0D;
public boolean snowGolemDropsPumpkin = true; public boolean snowGolemDropsPumpkin = true;
public boolean snowGolemPutPumpkinBack = false; public boolean snowGolemPutPumpkinBack = false;
@@ -37,7 +37,7 @@ index e351e19ab26a3143c7b05c66a2e69fd2f3b443ab..bab3327d5d04c9533e1992478d4f7798
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);
@@ -1506,6 +1510,10 @@ public class PurpurWorldConfig { @@ -1482,6 +1486,10 @@ public class PurpurWorldConfig {
snowGolemMaxHealth = getDouble("mobs.snow_golem.attributes.max_health", snowGolemMaxHealth); snowGolemMaxHealth = getDouble("mobs.snow_golem.attributes.max_health", snowGolemMaxHealth);
snowGolemDropsPumpkin = getBoolean("mobs.snow_golem.drop-pumpkin-when-sheared", snowGolemDropsPumpkin); snowGolemDropsPumpkin = getBoolean("mobs.snow_golem.drop-pumpkin-when-sheared", snowGolemDropsPumpkin);
snowGolemPutPumpkinBack = getBoolean("mobs.snow_golem.pumpkin-can-be-added-back", snowGolemPutPumpkinBack); snowGolemPutPumpkinBack = getBoolean("mobs.snow_golem.pumpkin-can-be-added-back", snowGolemPutPumpkinBack);

View File

@@ -5,10 +5,10 @@ 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 c942bcedcfb260141589465105091c67d6e762c9..08fd7d33b00b46440529dd841ab386952cb35b29 100644 index 145607300ed953e88b0f9fc1fc61bc34a6c92f84..eddaebb31f2c8372ea5bc38a77fda50a0e8844e2 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
@@ -142,6 +142,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -138,6 +138,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
return villageplacetype == PoiType.MEETING; return villageplacetype == PoiType.MEETING;
}); });
private final int brainTickOffset; // Purpur private final int brainTickOffset; // Purpur
@@ -16,7 +16,7 @@ index c942bcedcfb260141589465105091c67d6e762c9..08fd7d33b00b46440529dd841ab38695
public Villager(EntityType<? extends Villager> entityType, Level world) { public Villager(EntityType<? extends Villager> entityType, Level world) {
this(entityType, world, VillagerType.PLAINS); this(entityType, world, VillagerType.PLAINS);
@@ -183,6 +184,22 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -179,6 +180,22 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
public boolean canBeLeashed(Player player) { public boolean canBeLeashed(Player player) {
return level.purpurConfig.villagerCanBeLeashed && !this.isLeashed(); return level.purpurConfig.villagerCanBeLeashed && !this.isLeashed();
} }
@@ -39,7 +39,7 @@ index c942bcedcfb260141589465105091c67d6e762c9..08fd7d33b00b46440529dd841ab38695
// Purpur end // Purpur end
@Override @Override
@@ -280,10 +297,12 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -276,10 +293,12 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
protected void mobTick(boolean inactive) { protected void mobTick(boolean inactive) {
this.level.getProfiler().push("villagerBrain"); this.level.getProfiler().push("villagerBrain");
// Purpur start // Purpur start
@@ -47,16 +47,16 @@ index c942bcedcfb260141589465105091c67d6e762c9..08fd7d33b00b46440529dd841ab38695
boolean tick = (level.getGameTime() + brainTickOffset) % level.purpurConfig.villagerBrainTicks == 0; boolean tick = (level.getGameTime() + brainTickOffset) % level.purpurConfig.villagerBrainTicks == 0;
if (((ServerLevel) level).getServer().lagging ? tick : level.purpurConfig.villagerUseBrainTicksOnlyWhenLagging || tick) if (((ServerLevel) level).getServer().lagging ? tick : level.purpurConfig.villagerUseBrainTicksOnlyWhenLagging || tick)
// Purpur end // Purpur end
if (!inactive) this.getBrain().tick((ServerLevel) this.level, this); // CraftBukkit - decompile error // Paper if (!inactive) this.getBrain().tick((ServerLevel) this.level, this); // Paper
+ else if (shouldRestock()) restock(); // Purpur + else if (shouldRestock()) restock(); // Purpur
this.level.getProfiler().pop(); this.level.getProfiler().pop();
if (this.assignProfessionWhenSpawned) { if (this.assignProfessionWhenSpawned) {
this.assignProfessionWhenSpawned = false; this.assignProfessionWhenSpawned = false;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index bab3327d5d04c9533e1992478d4f7798685a8e33..b523f87b5ffdf4df5d806b1b512b241e60921c10 100644 index 051024771f51409805ad76fe9a8d5fdc79a9999d..82baa5223e5df968fb8b0ba989c1e1b7e9d60dec 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1667,6 +1667,8 @@ public class PurpurWorldConfig { @@ -1643,6 +1643,8 @@ public class PurpurWorldConfig {
public int villagerSpawnIronGolemLimit = 0; public int villagerSpawnIronGolemLimit = 0;
public boolean villagerCanBreed = true; public boolean villagerCanBreed = true;
public int villagerBreedingTicks = 6000; public int villagerBreedingTicks = 6000;
@@ -65,7 +65,7 @@ index bab3327d5d04c9533e1992478d4f7798685a8e33..b523f87b5ffdf4df5d806b1b512b241e
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);
@@ -1684,6 +1686,13 @@ public class PurpurWorldConfig { @@ -1660,6 +1662,13 @@ public class PurpurWorldConfig {
villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit); villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit);
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

@@ -8,7 +8,7 @@ farm Nether Wart. Reimplemented based on a feature of the carpet-extra
mod. mod.
diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/HarvestFarmland.java b/src/main/java/net/minecraft/world/entity/ai/behavior/HarvestFarmland.java diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/HarvestFarmland.java b/src/main/java/net/minecraft/world/entity/ai/behavior/HarvestFarmland.java
index 41b5652578e4a703cb6f03e82654b27ea6302b99..8d6d47456ce6f9870f1a682665780a301b92fec5 100644 index 1a96d3302c4d57cb0c2418c00598083d271316da..7d4457da2fe82ebe91b99cf91ae5e70b491d34e7 100644
--- a/src/main/java/net/minecraft/world/entity/ai/behavior/HarvestFarmland.java --- a/src/main/java/net/minecraft/world/entity/ai/behavior/HarvestFarmland.java
+++ b/src/main/java/net/minecraft/world/entity/ai/behavior/HarvestFarmland.java +++ b/src/main/java/net/minecraft/world/entity/ai/behavior/HarvestFarmland.java
@@ -34,6 +34,7 @@ public class HarvestFarmland extends Behavior<Villager> { @@ -34,6 +34,7 @@ public class HarvestFarmland extends Behavior<Villager> {
@@ -99,7 +99,7 @@ index 1150a541a270a3ce5c69895f5385800aa44c22f4..808da0b75fcf492a76c692e312aa33ef
throwHalfStack(villager, this.trades, villager2); throwHalfStack(villager, this.trades, villager2);
} }
diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerGoalPackages.java b/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerGoalPackages.java diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerGoalPackages.java b/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerGoalPackages.java
index 9d6bcbdb79a968f93319e7792c83245383ed0cea..480ca2615ae8bc17b6889a2df2282f81a54c242e 100644 index 70a3db78c4913c14f39ddee39e5fcdd0e741c971..1763764662e061d1f8de74b65de7fb5cc1caac5c 100644
--- a/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerGoalPackages.java --- a/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerGoalPackages.java
+++ b/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerGoalPackages.java +++ b/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerGoalPackages.java
@@ -23,8 +23,13 @@ public class VillagerGoalPackages { @@ -23,8 +23,13 @@ public class VillagerGoalPackages {
@@ -145,10 +145,10 @@ index b615dc2a2127f0874775d1707e96edfb4d95b987..72ae6b3282aac806ae11b87024ee940e
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 08fd7d33b00b46440529dd841ab386952cb35b29..678d11c2941026fa0bf9ca50ba0ff4d6b0ac078e 100644 index eddaebb31f2c8372ea5bc38a77fda50a0e8844e2..41ee7ebbe9689ee9d8d66463bb53eaf79b76117f 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
@@ -236,7 +236,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -232,7 +232,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
brain.addActivity(Activity.PLAY, VillagerGoalPackages.getPlayPackage(0.5F)); brain.addActivity(Activity.PLAY, VillagerGoalPackages.getPlayPackage(0.5F));
} else { } else {
brain.setSchedule(Schedule.VILLAGER_DEFAULT); brain.setSchedule(Schedule.VILLAGER_DEFAULT);
@@ -157,20 +157,18 @@ index 08fd7d33b00b46440529dd841ab386952cb35b29..678d11c2941026fa0bf9ca50ba0ff4d6
} }
brain.addActivity(Activity.CORE, VillagerGoalPackages.getCorePackage(villagerprofession, 0.5F)); brain.addActivity(Activity.CORE, VillagerGoalPackages.getCorePackage(villagerprofession, 0.5F));
@@ -985,7 +985,12 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -988,6 +988,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
} }
public boolean hasFarmSeeds() { public boolean hasFarmSeeds() {
- return this.getInventory().hasAnyOf((Set) ImmutableSet.of(Items.WHEAT_SEEDS, Items.POTATO, Items.CARROT, Items.BEETROOT_SEEDS));
+ // Purpur start + // Purpur start
+ if (this.level.purpurConfig.villagerClericsFarmWarts && this.getVillagerData().getProfession() == VillagerProfession.CLERIC) { + if (this.level.purpurConfig.villagerClericsFarmWarts && this.getVillagerData().getProfession() == VillagerProfession.CLERIC) {
+ return this.getInventory().hasAnyOf(ImmutableSet.of(Items.NETHER_WART)); + return this.getInventory().hasAnyOf(ImmutableSet.of(Items.NETHER_WART));
+ } + }
+ return this.getInventory().hasAnyOf(ImmutableSet.of(Items.WHEAT_SEEDS, Items.POTATO, Items.CARROT, Items.BEETROOT_SEEDS));
+ // Purpur end + // Purpur end
return this.getInventory().hasAnyOf(ImmutableSet.of(Items.WHEAT_SEEDS, Items.POTATO, Items.CARROT, Items.BEETROOT_SEEDS));
} }
@Override
diff --git a/src/main/java/net/minecraft/world/entity/npc/VillagerProfession.java b/src/main/java/net/minecraft/world/entity/npc/VillagerProfession.java diff --git a/src/main/java/net/minecraft/world/entity/npc/VillagerProfession.java b/src/main/java/net/minecraft/world/entity/npc/VillagerProfession.java
index 901fc6520d58a5fa5f2cf1b4fa78fec6008aa409..9050cd25663c71197c597aac0ab2e6121b76b13b 100644 index 901fc6520d58a5fa5f2cf1b4fa78fec6008aa409..9050cd25663c71197c597aac0ab2e6121b76b13b 100644
--- a/src/main/java/net/minecraft/world/entity/npc/VillagerProfession.java --- a/src/main/java/net/minecraft/world/entity/npc/VillagerProfession.java
@@ -185,10 +183,10 @@ index 901fc6520d58a5fa5f2cf1b4fa78fec6008aa409..9050cd25663c71197c597aac0ab2e612
public static final VillagerProfession FISHERMAN = register("fisherman", PoiType.FISHERMAN, SoundEvents.VILLAGER_WORK_FISHERMAN); public static final VillagerProfession FISHERMAN = register("fisherman", PoiType.FISHERMAN, SoundEvents.VILLAGER_WORK_FISHERMAN);
public static final VillagerProfession FLETCHER = register("fletcher", PoiType.FLETCHER, SoundEvents.VILLAGER_WORK_FLETCHER); public static final VillagerProfession FLETCHER = register("fletcher", PoiType.FLETCHER, SoundEvents.VILLAGER_WORK_FLETCHER);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index b523f87b5ffdf4df5d806b1b512b241e60921c10..4cdeae00f24a81e5b49333cd611c2152411cfaef 100644 index 82baa5223e5df968fb8b0ba989c1e1b7e9d60dec..b370d144c6e6c95af27669ebd31292843bf65e8c 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1669,6 +1669,8 @@ public class PurpurWorldConfig { @@ -1645,6 +1645,8 @@ public class PurpurWorldConfig {
public int villagerBreedingTicks = 6000; public int villagerBreedingTicks = 6000;
public boolean villagerLobotomizeEnabled = false; public boolean villagerLobotomizeEnabled = false;
public int villagerLobotomizeCheck = 60; public int villagerLobotomizeCheck = 60;
@@ -197,7 +195,7 @@ index b523f87b5ffdf4df5d806b1b512b241e60921c10..4cdeae00f24a81e5b49333cd611c2152
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);
@@ -1693,6 +1695,8 @@ public class PurpurWorldConfig { @@ -1669,6 +1671,8 @@ public class PurpurWorldConfig {
} }
villagerLobotomizeEnabled = getBoolean("mobs.villager.lobotomize.enabled", villagerLobotomizeEnabled); villagerLobotomizeEnabled = getBoolean("mobs.villager.lobotomize.enabled", villagerLobotomizeEnabled);
villagerLobotomizeCheck = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheck); villagerLobotomizeCheck = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheck);

View File

@@ -13,10 +13,10 @@ 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 96e727cd703a1da5f60ab07e47b6bc5265b309e4..50553ab4ea1e7c8ae58988ce959188408cb03913 100644 index 76f1bbec2b8ebe037de65ee5ec718e17a6081c13..f8b742ee8e637edd8e8b05aff2fcc7a75afe959a 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
@@ -137,7 +137,7 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob { @@ -138,7 +138,7 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob {
this.maybeAlertOthers(); this.maybeAlertOthers();
} }
@@ -25,7 +25,7 @@ index 96e727cd703a1da5f60ab07e47b6bc5265b309e4..50553ab4ea1e7c8ae58988ce95918840
this.lastHurtByPlayerTime = this.tickCount; this.lastHurtByPlayerTime = this.tickCount;
} }
@@ -192,7 +192,7 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob { @@ -193,7 +193,7 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob {
this.ticksUntilNextAlert = ZombifiedPiglin.ALERT_INTERVAL.sample(this.random); this.ticksUntilNextAlert = ZombifiedPiglin.ALERT_INTERVAL.sample(this.random);
} }
@@ -35,10 +35,10 @@ index 96e727cd703a1da5f60ab07e47b6bc5265b309e4..50553ab4ea1e7c8ae58988ce95918840
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 4cdeae00f24a81e5b49333cd611c2152411cfaef..3539cdb60b893693687219b689f30d1aa6c1d837 100644 index b370d144c6e6c95af27669ebd31292843bf65e8c..dc7076250f80fc294e14d37cc63233fe66fd9b7f 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1895,6 +1895,7 @@ public class PurpurWorldConfig { @@ -1871,6 +1871,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 4cdeae00f24a81e5b49333cd611c2152411cfaef..3539cdb60b893693687219b689f30d1a
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);
@@ -1908,5 +1909,6 @@ public class PurpurWorldConfig { @@ -1884,5 +1885,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

@@ -6,10 +6,10 @@ Subject: [PATCH] Spread out and optimise player list ticksSpread out and
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 7880893c132f95df4dcfea564b4c40c2b8256ea4..5655282578018c00a60d7ddc3fb48393da9cc2ee 100644 index 811629721c4e3babb5437031910185daf10d5784..122b6f4fd8334483d32dbe353c273dbec14086aa 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java --- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -1012,22 +1012,22 @@ public abstract class PlayerList { @@ -1007,22 +1007,22 @@ public abstract class PlayerList {
} }
public void tick() { public void tick() {
@@ -46,10 +46,10 @@ index 7880893c132f95df4dcfea564b4c40c2b8256ea4..5655282578018c00a60d7ddc3fb48393
public void broadcastAll(Packet<?> packet) { public void broadcastAll(Packet<?> packet) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index e72e2ec797526772dc9c490739f5b45e4d135c89..303de40046ac0e5802a0061a1118ee95897b6bfc 100644 index b927f741695c783b5c3a782ea669c7d76333c2bd..2fc276e0fc43d21ce9dd590991b564c65f6b249b 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1577,7 +1577,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -1526,7 +1526,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override @Override
public boolean canSee(Player player) { public boolean canSee(Player player) {

View File

@@ -7,16 +7,18 @@ 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 9ad96fec6110e26c0074c07fd8e2453e1d4271bb..055cc874ec5fb9c3268b566620bf62adda6aa85a 100644 index 2e20a37663f48bd606157e22d466267699c8ed21..1c971eaf2fca2d1cdc89809f673e49de107a4a46 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,22 +10,28 @@ import net.minecraft.network.syncher.EntityDataAccessor; @@ -11,6 +11,7 @@ import net.minecraft.network.syncher.EntityDataAccessor;
import net.minecraft.network.syncher.EntityDataSerializers; import net.minecraft.network.syncher.EntityDataSerializers;
import net.minecraft.network.syncher.SynchedEntityData; import net.minecraft.network.syncher.SynchedEntityData;
import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerLevel;
+import net.minecraft.server.level.ServerPlayer; +import net.minecraft.server.level.ServerPlayer;
import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundEvent;
import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundEvents;
import net.minecraft.tags.BlockTags;
@@ -18,9 +19,12 @@ import net.minecraft.tags.Tag;
import net.minecraft.util.Mth; import net.minecraft.util.Mth;
import net.minecraft.util.TimeUtil; import net.minecraft.util.TimeUtil;
import net.minecraft.util.valueproviders.UniformInt; import net.minecraft.util.valueproviders.UniformInt;
@@ -29,17 +31,15 @@ index 9ad96fec6110e26c0074c07fd8e2453e1d4271bb..055cc874ec5fb9c3268b566620bf62ad
import net.minecraft.world.entity.AgeableMob; import net.minecraft.world.entity.AgeableMob;
import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.EntityDimensions; import net.minecraft.world.entity.EntityDimensions;
import net.minecraft.world.entity.EntityType; @@ -30,6 +34,7 @@ import net.minecraft.world.entity.Mob;
import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.MobSpawnType;
import net.minecraft.world.entity.Mob;
+import net.minecraft.world.entity.MobSpawnType;
import net.minecraft.world.entity.NeutralMob; import net.minecraft.world.entity.NeutralMob;
import net.minecraft.world.entity.Pose; import net.minecraft.world.entity.Pose;
+import net.minecraft.world.entity.SpawnGroupData; +import net.minecraft.world.entity.SpawnGroupData;
import net.minecraft.world.entity.TamableAnimal; import net.minecraft.world.entity.TamableAnimal;
import net.minecraft.world.entity.ai.attributes.AttributeSupplier; import net.minecraft.world.entity.ai.attributes.AttributeSupplier;
import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.entity.ai.attributes.Attributes;
@@ -34,6 +40,7 @@ import net.minecraft.world.entity.ai.goal.BegGoal; @@ -38,6 +43,7 @@ import net.minecraft.world.entity.ai.goal.BegGoal;
import net.minecraft.world.entity.ai.goal.BreedGoal; import net.minecraft.world.entity.ai.goal.BreedGoal;
import net.minecraft.world.entity.ai.goal.FloatGoal; import net.minecraft.world.entity.ai.goal.FloatGoal;
import net.minecraft.world.entity.ai.goal.FollowOwnerGoal; import net.minecraft.world.entity.ai.goal.FollowOwnerGoal;
@@ -47,15 +47,15 @@ index 9ad96fec6110e26c0074c07fd8e2453e1d4271bb..055cc874ec5fb9c3268b566620bf62ad
import net.minecraft.world.entity.ai.goal.LeapAtTargetGoal; import net.minecraft.world.entity.ai.goal.LeapAtTargetGoal;
import net.minecraft.world.entity.ai.goal.LookAtPlayerGoal; import net.minecraft.world.entity.ai.goal.LookAtPlayerGoal;
import net.minecraft.world.entity.ai.goal.MeleeAttackGoal; import net.minecraft.world.entity.ai.goal.MeleeAttackGoal;
@@ -59,6 +66,7 @@ import net.minecraft.world.item.Item; @@ -64,6 +70,7 @@ import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Items; import net.minecraft.world.item.Items;
import net.minecraft.world.level.Level; import net.minecraft.world.level.Level;
import net.minecraft.world.level.LevelAccessor;
+import net.minecraft.world.level.ServerLevelAccessor; +import net.minecraft.world.level.ServerLevelAccessor;
import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.gameevent.GameEvent; import net.minecraft.world.level.gameevent.GameEvent;
import net.minecraft.world.phys.Vec3; import net.minecraft.world.phys.Vec3;
@@ -77,6 +85,37 @@ public class Wolf extends TamableAnimal implements NeutralMob { @@ -82,6 +89,37 @@ public class Wolf extends TamableAnimal implements NeutralMob {
return entitytypes == EntityType.SHEEP || entitytypes == EntityType.RABBIT || entitytypes == EntityType.FOX; return entitytypes == EntityType.SHEEP || entitytypes == EntityType.RABBIT || entitytypes == EntityType.FOX;
}; };
@@ -93,7 +93,7 @@ index 9ad96fec6110e26c0074c07fd8e2453e1d4271bb..055cc874ec5fb9c3268b566620bf62ad
private static final float START_HEALTH = 8.0F; private static final float START_HEALTH = 8.0F;
private static final float TAME_HEALTH = 20.0F; private static final float TAME_HEALTH = 20.0F;
private float interestedAngle; private float interestedAngle;
@@ -118,6 +157,37 @@ public class Wolf extends TamableAnimal implements NeutralMob { @@ -124,6 +162,37 @@ public class Wolf extends TamableAnimal implements NeutralMob {
public int getPurpurBreedTime() { public int getPurpurBreedTime() {
return this.level.purpurConfig.wolfBreedingTicks; return this.level.purpurConfig.wolfBreedingTicks;
} }
@@ -131,7 +131,7 @@ index 9ad96fec6110e26c0074c07fd8e2453e1d4271bb..055cc874ec5fb9c3268b566620bf62ad
// Purpur end // Purpur end
@Override @Override
@@ -126,6 +196,7 @@ public class Wolf extends TamableAnimal implements NeutralMob { @@ -132,6 +201,7 @@ public class Wolf extends TamableAnimal implements NeutralMob {
this.goalSelector.addGoal(1, new net.pl3x.purpur.entity.ai.HasRider(this)); // Purpur this.goalSelector.addGoal(1, new net.pl3x.purpur.entity.ai.HasRider(this)); // Purpur
this.goalSelector.addGoal(2, new SitWhenOrderedToGoal(this)); this.goalSelector.addGoal(2, new SitWhenOrderedToGoal(this));
this.goalSelector.addGoal(3, new Wolf.WolfAvoidEntityGoal<>(this, Llama.class, 24.0F, 1.5D, 1.5D)); this.goalSelector.addGoal(3, new Wolf.WolfAvoidEntityGoal<>(this, Llama.class, 24.0F, 1.5D, 1.5D));
@@ -139,16 +139,16 @@ index 9ad96fec6110e26c0074c07fd8e2453e1d4271bb..055cc874ec5fb9c3268b566620bf62ad
this.goalSelector.addGoal(4, new LeapAtTargetGoal(this, 0.4F)); this.goalSelector.addGoal(4, new LeapAtTargetGoal(this, 0.4F));
this.goalSelector.addGoal(5, new MeleeAttackGoal(this, 1.0D, true)); this.goalSelector.addGoal(5, new MeleeAttackGoal(this, 1.0D, true));
this.goalSelector.addGoal(6, new FollowOwnerGoal(this, 1.0D, 10.0F, 2.0F, false)); this.goalSelector.addGoal(6, new FollowOwnerGoal(this, 1.0D, 10.0F, 2.0F, false));
@@ -139,7 +210,7 @@ public class Wolf extends TamableAnimal implements NeutralMob { @@ -145,7 +215,7 @@ public class Wolf extends TamableAnimal implements NeutralMob {
this.targetSelector.addGoal(2, new OwnerHurtTargetGoal(this)); this.targetSelector.addGoal(2, new OwnerHurtTargetGoal(this));
this.targetSelector.addGoal(3, (new HurtByTargetGoal(this, new Class[0])).setAlertOthers(new Class[0])); // CraftBukkit - decompile error this.targetSelector.addGoal(3, (new HurtByTargetGoal(this, new Class[0])).setAlertOthers());
this.targetSelector.addGoal(4, new NearestAttackableTargetGoal<>(this, Player.class, 10, true, false, this::isAngryAt)); this.targetSelector.addGoal(4, new NearestAttackableTargetGoal<>(this, Player.class, 10, true, false, this::isAngryAt));
- this.targetSelector.addGoal(5, new NonTameRandomTargetGoal<>(this, Animal.class, false, Wolf.PREY_SELECTOR)); - this.targetSelector.addGoal(5, new NonTameRandomTargetGoal<>(this, Animal.class, false, Wolf.PREY_SELECTOR));
+ // this.targetSelector.addGoal(5, new NonTameRandomTargetGoal<>(this, Animal.class, false, Wolf.PREY_SELECTOR)); // Purpur - moved to updatePathfinders() + // this.targetSelector.addGoal(5, new NonTameRandomTargetGoal<>(this, Animal.class, false, Wolf.PREY_SELECTOR)); // Purpur - moved to updatePathfinders()
this.targetSelector.addGoal(6, new NonTameRandomTargetGoal<>(this, Turtle.class, false, Turtle.BABY_ON_LAND_SELECTOR)); this.targetSelector.addGoal(6, new NonTameRandomTargetGoal<>(this, Turtle.class, false, Turtle.BABY_ON_LAND_SELECTOR));
this.targetSelector.addGoal(7, new NearestAttackableTargetGoal<>(this, AbstractSkeleton.class, false)); this.targetSelector.addGoal(7, new NearestAttackableTargetGoal<>(this, AbstractSkeleton.class, false));
this.targetSelector.addGoal(8, new ResetUniversalAngerTargetGoal<>(this, true)); this.targetSelector.addGoal(8, new ResetUniversalAngerTargetGoal<>(this, true));
@@ -184,6 +255,7 @@ public class Wolf extends TamableAnimal implements NeutralMob { @@ -190,6 +260,7 @@ public class Wolf extends TamableAnimal implements NeutralMob {
public void addAdditionalSaveData(CompoundTag nbt) { public void addAdditionalSaveData(CompoundTag nbt) {
super.addAdditionalSaveData(nbt); super.addAdditionalSaveData(nbt);
nbt.putByte("CollarColor", (byte) this.getCollarColor().getId()); nbt.putByte("CollarColor", (byte) this.getCollarColor().getId());
@@ -156,7 +156,7 @@ index 9ad96fec6110e26c0074c07fd8e2453e1d4271bb..055cc874ec5fb9c3268b566620bf62ad
this.addPersistentAngerSaveData(nbt); this.addPersistentAngerSaveData(nbt);
} }
@@ -193,6 +265,10 @@ public class Wolf extends TamableAnimal implements NeutralMob { @@ -199,6 +270,10 @@ public class Wolf extends TamableAnimal implements NeutralMob {
if (nbt.contains("CollarColor", 99)) { if (nbt.contains("CollarColor", 99)) {
this.setCollarColor(DyeColor.byId(nbt.getInt("CollarColor"))); this.setCollarColor(DyeColor.byId(nbt.getInt("CollarColor")));
} }
@@ -167,7 +167,7 @@ index 9ad96fec6110e26c0074c07fd8e2453e1d4271bb..055cc874ec5fb9c3268b566620bf62ad
this.readPersistentAngerSaveData(this.level, nbt); this.readPersistentAngerSaveData(this.level, nbt);
} }
@@ -237,6 +313,11 @@ public class Wolf extends TamableAnimal implements NeutralMob { @@ -243,6 +318,11 @@ public class Wolf extends TamableAnimal implements NeutralMob {
public void tick() { public void tick() {
super.tick(); super.tick();
if (this.isAlive()) { if (this.isAlive()) {
@@ -179,7 +179,7 @@ index 9ad96fec6110e26c0074c07fd8e2453e1d4271bb..055cc874ec5fb9c3268b566620bf62ad
this.interestedAngleO = this.interestedAngle; this.interestedAngleO = this.interestedAngle;
if (this.isInterested()) { if (this.isInterested()) {
this.interestedAngle += (1.0F - this.interestedAngle) * 0.4F; this.interestedAngle += (1.0F - this.interestedAngle) * 0.4F;
@@ -434,6 +515,20 @@ public class Wolf extends TamableAnimal implements NeutralMob { @@ -440,6 +520,20 @@ public class Wolf extends TamableAnimal implements NeutralMob {
return InteractionResult.SUCCESS; return InteractionResult.SUCCESS;
} }
@@ -201,10 +201,10 @@ index 9ad96fec6110e26c0074c07fd8e2453e1d4271bb..055cc874ec5fb9c3268b566620bf62ad
return super.mobInteract(player, hand); return super.mobInteract(player, hand);
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 3539cdb60b893693687219b689f30d1aa6c1d837..b6967a953b8e3bf96653ce6f32af2c5a4a9d0509 100644 index dc7076250f80fc294e14d37cc63233fe66fd9b7f..01a72ba50885024b02bdb473b45855438b72520a 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1788,6 +1788,8 @@ public class PurpurWorldConfig { @@ -1764,6 +1764,8 @@ public class PurpurWorldConfig {
public boolean wolfRidable = false; public boolean wolfRidable = false;
public boolean wolfRidableInWater = false; public boolean wolfRidableInWater = false;
public double wolfMaxHealth = 8.0D; public double wolfMaxHealth = 8.0D;
@@ -213,7 +213,7 @@ index 3539cdb60b893693687219b689f30d1aa6c1d837..b6967a953b8e3bf96653ce6f32af2c5a
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);
@@ -1798,6 +1800,8 @@ public class PurpurWorldConfig { @@ -1774,6 +1776,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

@@ -9,10 +9,10 @@ Resets to RED when the value is invalid.
test test
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 bad5b47f3df186c77e578d5953cf1798179639d3..8355aa65b6f8be5027370fada8758510b774b4b2 100644 index 8f6c3e9eaefc0a15aefde7119f2e123894d434b7..bc088e237e6f1f2a4cde766b7586a621f1cb54e2 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
@@ -366,6 +366,14 @@ public class Cat extends TamableAnimal { @@ -367,6 +367,14 @@ public class Cat extends TamableAnimal {
return Mth.lerp(tickDelta, this.relaxStateOneAmountO, this.relaxStateOneAmount); return Mth.lerp(tickDelta, this.relaxStateOneAmountO, this.relaxStateOneAmount);
} }
@@ -26,12 +26,12 @@ index bad5b47f3df186c77e578d5953cf1798179639d3..8355aa65b6f8be5027370fada8758510
+ +
@Override @Override
public Cat getBreedOffspring(ServerLevel world, AgeableMob entity) { public Cat getBreedOffspring(ServerLevel world, AgeableMob entity) {
Cat entitycat = (Cat) EntityType.CAT.create((Level) world); Cat entitycat = (Cat) EntityType.CAT.create(world);
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 055cc874ec5fb9c3268b566620bf62adda6aa85a..bad3b1e32a8c8035542243a69028b3a8622019b8 100644 index 1c971eaf2fca2d1cdc89809f673e49de107a4a46..a669a00d68807ed451a1b0def7a92e17ffb7bee1 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
@@ -188,6 +188,12 @@ public class Wolf extends TamableAnimal implements NeutralMob { @@ -193,6 +193,12 @@ public class Wolf extends TamableAnimal implements NeutralMob {
this.updatePathfinders(false); this.updatePathfinders(false);
return super.finalizeSpawn(world, difficulty, type, data, nbt); return super.finalizeSpawn(world, difficulty, type, data, nbt);
} }
@@ -45,10 +45,10 @@ index 055cc874ec5fb9c3268b566620bf62adda6aa85a..bad3b1e32a8c8035542243a69028b3a8
@Override @Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index b6967a953b8e3bf96653ce6f32af2c5a4a9d0509..0bf9306bb31e975101dccc3df4c776f16af84391 100644 index 01a72ba50885024b02bdb473b45855438b72520a..f690607739f7f040d633dc64632ecd514c5b601e 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -614,6 +614,7 @@ public class PurpurWorldConfig { @@ -590,6 +590,7 @@ public class PurpurWorldConfig {
public boolean catRidable = false; public boolean catRidable = false;
public boolean catRidableInWater = false; public boolean catRidableInWater = false;
@@ -56,7 +56,7 @@ index b6967a953b8e3bf96653ce6f32af2c5a4a9d0509..0bf9306bb31e975101dccc3df4c776f1
public double catMaxHealth = 10.0D; public double catMaxHealth = 10.0D;
public int catSpawnDelay = 1200; public int catSpawnDelay = 1200;
public int catSpawnSwampHutScanRange = 16; public int catSpawnSwampHutScanRange = 16;
@@ -627,6 +628,11 @@ public class PurpurWorldConfig { @@ -603,6 +604,11 @@ public class PurpurWorldConfig {
set("mobs.cat.attributes.max-health", null); set("mobs.cat.attributes.max-health", null);
set("mobs.cat.attributes.max_health", oldValue); set("mobs.cat.attributes.max_health", oldValue);
} }
@@ -68,7 +68,7 @@ index b6967a953b8e3bf96653ce6f32af2c5a4a9d0509..0bf9306bb31e975101dccc3df4c776f1
catMaxHealth = getDouble("mobs.cat.attributes.max_health", catMaxHealth); catMaxHealth = getDouble("mobs.cat.attributes.max_health", catMaxHealth);
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);
@@ -1788,6 +1794,7 @@ public class PurpurWorldConfig { @@ -1764,6 +1770,7 @@ public class PurpurWorldConfig {
public boolean wolfRidable = false; public boolean wolfRidable = false;
public boolean wolfRidableInWater = false; public boolean wolfRidableInWater = false;
public double wolfMaxHealth = 8.0D; public double wolfMaxHealth = 8.0D;
@@ -76,7 +76,7 @@ index b6967a953b8e3bf96653ce6f32af2c5a4a9d0509..0bf9306bb31e975101dccc3df4c776f1
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;
@@ -1800,6 +1807,11 @@ public class PurpurWorldConfig { @@ -1776,6 +1783,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);