mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 08:27:43 +01:00
just over halfway
This commit is contained in:
@@ -17,7 +17,7 @@ index 623f78c078fb3aa2665d7e8a37672438227bce6b..500c69e555c7247e20ef8cc59d834155
|
||||
((Mob) newEntityLiving).setPersistenceRequired();
|
||||
// Paper end
|
||||
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
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -102,9 +102,11 @@ public class PurpurWorldConfig {
|
||||
@@ -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
|
||||
index 4c4d059ca5c93ed37bc4473911d265fcec56c396..f63e79ff0df4b4f152f74e55134dc72932e6ae55 100644
|
||||
index 87dabe3c80b48bff52f2e3dbbaceb37a1a21e431..966fd0ecff8a0fa8a08edaeaad899ff13f8106f3 100644
|
||||
--- a/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
|
||||
@@ -20,10 +20,10 @@ index 4c4d059ca5c93ed37bc4473911d265fcec56c396..f63e79ff0df4b4f152f74e55134dc729
|
||||
+ // 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
|
||||
index 3129c8db32fd79ab5917ffc93ee6dd5db58b1aad..9f1d43ad720750f9d50cc3cfbe1fc9b335cffd0d 100644
|
||||
index def3b62feada5cebae4049883fa967b12f6f32b4..c4ba28ea8f73092c85b08bbec0d9197f2983ce23 100644
|
||||
--- a/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;
|
||||
}
|
||||
|
||||
@@ -82,10 +82,10 @@ index 35b2bad76c45b5a94ba7f2e9c7a8cfeb8c3f498b..d2cb1a7e7ea364cb8e2af4c4e756d8e4
|
||||
+ // Purpur end
|
||||
}
|
||||
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
|
||||
+++ 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 dispenserPlaceAnvils = false;
|
||||
private void dispenserSettings() {
|
||||
@@ -502,6 +507,16 @@ public class PurpurWorldConfig {
|
||||
@@ -478,6 +483,16 @@ public class PurpurWorldConfig {
|
||||
stonecutterDamage = (float) getDouble("blocks.stonecutter.damage", stonecutterDamage);
|
||||
}
|
||||
|
||||
@@ -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
|
||||
index f63e79ff0df4b4f152f74e55134dc72932e6ae55..905ef84a959833c38898670126e0ac08da8d4ca2 100644
|
||||
index 966fd0ecff8a0fa8a08edaeaad899ff13f8106f3..54f4683b7ad69f6bfb2e2b19842f0a418b20359a 100644
|
||||
--- a/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
|
||||
@@ -19,10 +19,10 @@ index f63e79ff0df4b4f152f74e55134dc72932e6ae55..905ef84a959833c38898670126e0ac08
|
||||
// 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
|
||||
index 9f1d43ad720750f9d50cc3cfbe1fc9b335cffd0d..1c3284f8bf7923361797a73077af0699fa58db29 100644
|
||||
index c4ba28ea8f73092c85b08bbec0d9197f2983ce23..1914a145005dd2c44ac66efb313ac7837238f29b 100644
|
||||
--- a/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
|
||||
public BlockState getStateForPlacement(LevelAccessor world) {
|
||||
@@ -31,7 +31,7 @@ index 9f1d43ad720750f9d50cc3cfbe1fc9b335cffd0d..1c3284f8bf7923361797a73077af0699
|
||||
}
|
||||
|
||||
@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
|
||||
|
||||
@@ -44,7 +44,7 @@ index 9f1d43ad720750f9d50cc3cfbe1fc9b335cffd0d..1c3284f8bf7923361797a73077af0699
|
||||
BlockPos blockposition1 = pos.relative(this.growthDirection);
|
||||
|
||||
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
|
||||
public void performBonemeal(ServerLevel world, Random random, BlockPos pos, BlockState state) {
|
||||
BlockPos blockposition1 = pos.relative(this.growthDirection);
|
||||
@@ -103,10 +103,10 @@ index d2cb1a7e7ea364cb8e2af4c4e756d8e45bc0ca10..bb99dda3c5167f23b2500a1f37cbc1ca
|
||||
// Purpur end
|
||||
}
|
||||
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
|
||||
+++ 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;
|
||||
@@ -117,7 +117,7 @@ index 4a4d8cc7f36c6733bb56680dcf599ffba3898eab..821a925ff0499e84616b9fb9a6a54135
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
@@ -129,7 +129,7 @@ index 4a4d8cc7f36c6733bb56680dcf599ffba3898eab..821a925ff0499e84616b9fb9a6a54135
|
||||
public boolean respawnAnchorExplode = true;
|
||||
public double respawnAnchorExplosionPower = 5.0D;
|
||||
public boolean respawnAnchorExplosionFire = true;
|
||||
@@ -508,13 +515,17 @@ public class PurpurWorldConfig {
|
||||
@@ -484,13 +491,17 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
|
||||
public double twistingVinesGrowthModifier = 0.10D;
|
||||
@@ -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.
|
||||
|
||||
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
|
||||
+++ 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
|
||||
public boolean requiresCustomPersistence() {
|
||||
@@ -21,10 +21,10 @@ index b9f8969cbe24661a5fa5fb4b46fdd159b76005cc..9003af124953bf6fb12e8bff8e10d5aa
|
||||
|
||||
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
|
||||
index 821a925ff0499e84616b9fb9a6a541359d9ddd2c..d5d2a742a0ae58bb43a946386bba7e38ae8a4b61 100644
|
||||
index 4037db3395073e5f27091e638555f41d6739d45e..a7ffef3041c104bb4d0de9fc9db348679f28dcd4 100644
|
||||
--- a/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 double endermanMaxHealth = 40.0D;
|
||||
public boolean endermanAllowGriefing = true;
|
||||
@@ -32,7 +32,7 @@ index 821a925ff0499e84616b9fb9a6a541359d9ddd2c..d5d2a742a0ae58bb43a946386bba7e38
|
||||
private void endermanSettings() {
|
||||
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
|
||||
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);
|
||||
endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing);
|
||||
@@ -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
|
||||
index d5d2a742a0ae58bb43a946386bba7e38ae8a4b61..e94f79558ea0c380957f7984b03cb9f90190dee2 100644
|
||||
index a7ffef3041c104bb4d0de9fc9db348679f28dcd4..c8987ff98ad2ffd808cf647266f36bfade93edd4 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -295,6 +295,11 @@ public class PurpurWorldConfig {
|
||||
@@ -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
|
||||
index a268895fa22b81c164837a731d4bde51a68190c4..48fae807359382fd178bad91fc9cab9bba858dec 100644
|
||||
index 198fe041d20e7ed21b47d5c22dcc121a8d388623..6a8347ceefd663066de5887fef8ebc82b30a1b93 100644
|
||||
--- a/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
|
||||
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));
|
||||
@@ -18,7 +18,7 @@ index a268895fa22b81c164837a731d4bde51a68190c4..48fae807359382fd178bad91fc9cab9b
|
||||
} else {
|
||||
this.setLeftHanded(false);
|
||||
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
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -130,8 +130,10 @@ public class PurpurWorldConfig {
|
||||
@@ -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
|
||||
index dd3b3e4821dbd3a1fb73ddcc31c022175c18708d..d6bea7c9e925bd211b2de4b596dab77fe10d12ac 100644
|
||||
index 48f19d3cfbf310344bf062b269a5f5eecc2887a5..1025696b877d8cffae2d34b6036a362612e9d706 100644
|
||||
--- a/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)) {
|
||||
return false;
|
||||
} else {
|
||||
@@ -27,7 +27,7 @@ index dd3b3e4821dbd3a1fb73ddcc31c022175c18708d..d6bea7c9e925bd211b2de4b596dab77f
|
||||
|
||||
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
|
||||
index 2b246ec320e6e1874329786887e72fd1b9884119..e351e19ab26a3143c7b05c66a2e69fd2f3b443ab 100644
|
||||
index acf77639758714e39e9da69946c3fd44b32e8c1c..a47a309fbf877dee063bdf03047c4c627224898b 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -365,6 +365,7 @@ public class PurpurWorldConfig {
|
||||
@@ -38,7 +38,7 @@ index 2b246ec320e6e1874329786887e72fd1b9884119..e351e19ab26a3143c7b05c66a2e69fd2
|
||||
public boolean disableDropsOnCrammingDeath = false;
|
||||
public boolean entitiesCanUsePortals = true;
|
||||
public boolean milkCuresBadOmen = true;
|
||||
@@ -378,6 +379,7 @@ public class PurpurWorldConfig {
|
||||
@@ -377,6 +378,7 @@ public class PurpurWorldConfig {
|
||||
private void miscGameplayMechanicsSettings() {
|
||||
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
|
||||
boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand);
|
||||
@@ -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.
|
||||
|
||||
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
|
||||
+++ 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
|
||||
protected void registerGoals() {
|
||||
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(4, new RandomLookAroundGoal(this));
|
||||
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
|
||||
+++ 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 boolean snowGolemDropsPumpkin = true;
|
||||
public boolean snowGolemPutPumpkinBack = false;
|
||||
@@ -37,7 +37,7 @@ index e351e19ab26a3143c7b05c66a2e69fd2f3b443ab..bab3327d5d04c9533e1992478d4f7798
|
||||
private void snowGolemSettings() {
|
||||
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
|
||||
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);
|
||||
snowGolemDropsPumpkin = getBoolean("mobs.snow_golem.drop-pumpkin-when-sheared", snowGolemDropsPumpkin);
|
||||
snowGolemPutPumpkinBack = getBoolean("mobs.snow_golem.pumpkin-can-be-added-back", snowGolemPutPumpkinBack);
|
||||
@@ -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
|
||||
index c942bcedcfb260141589465105091c67d6e762c9..08fd7d33b00b46440529dd841ab386952cb35b29 100644
|
||||
index 145607300ed953e88b0f9fc1fc61bc34a6c92f84..eddaebb31f2c8372ea5bc38a77fda50a0e8844e2 100644
|
||||
--- a/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;
|
||||
});
|
||||
private final int brainTickOffset; // Purpur
|
||||
@@ -16,7 +16,7 @@ index c942bcedcfb260141589465105091c67d6e762c9..08fd7d33b00b46440529dd841ab38695
|
||||
|
||||
public Villager(EntityType<? extends Villager> entityType, Level world) {
|
||||
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) {
|
||||
return level.purpurConfig.villagerCanBeLeashed && !this.isLeashed();
|
||||
}
|
||||
@@ -39,7 +39,7 @@ index c942bcedcfb260141589465105091c67d6e762c9..08fd7d33b00b46440529dd841ab38695
|
||||
// Purpur end
|
||||
|
||||
@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) {
|
||||
this.level.getProfiler().push("villagerBrain");
|
||||
// Purpur start
|
||||
@@ -47,16 +47,16 @@ index c942bcedcfb260141589465105091c67d6e762c9..08fd7d33b00b46440529dd841ab38695
|
||||
boolean tick = (level.getGameTime() + brainTickOffset) % level.purpurConfig.villagerBrainTicks == 0;
|
||||
if (((ServerLevel) level).getServer().lagging ? tick : level.purpurConfig.villagerUseBrainTicksOnlyWhenLagging || tick)
|
||||
// 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
|
||||
this.level.getProfiler().pop();
|
||||
if (this.assignProfessionWhenSpawned) {
|
||||
this.assignProfessionWhenSpawned = false;
|
||||
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
|
||||
+++ 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 boolean villagerCanBreed = true;
|
||||
public int villagerBreedingTicks = 6000;
|
||||
@@ -65,7 +65,7 @@ index bab3327d5d04c9533e1992478d4f7798685a8e33..b523f87b5ffdf4df5d806b1b512b241e
|
||||
private void villagerSettings() {
|
||||
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
|
||||
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);
|
||||
villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed);
|
||||
villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks);
|
||||
@@ -8,7 +8,7 @@ farm Nether Wart. Reimplemented based on a feature of the carpet-extra
|
||||
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
|
||||
index 41b5652578e4a703cb6f03e82654b27ea6302b99..8d6d47456ce6f9870f1a682665780a301b92fec5 100644
|
||||
index 1a96d3302c4d57cb0c2418c00598083d271316da..7d4457da2fe82ebe91b99cf91ae5e70b491d34e7 100644
|
||||
--- a/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> {
|
||||
@@ -99,7 +99,7 @@ index 1150a541a270a3ce5c69895f5385800aa44c22f4..808da0b75fcf492a76c692e312aa33ef
|
||||
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
|
||||
index 9d6bcbdb79a968f93319e7792c83245383ed0cea..480ca2615ae8bc17b6889a2df2282f81a54c242e 100644
|
||||
index 70a3db78c4913c14f39ddee39e5fcdd0e741c971..1763764662e061d1f8de74b65de7fb5cc1caac5c 100644
|
||||
--- a/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 {
|
||||
@@ -145,10 +145,10 @@ index b615dc2a2127f0874775d1707e96edfb4d95b987..72ae6b3282aac806ae11b87024ee940e
|
||||
brain.setMemory(MemoryModuleType.SECONDARY_JOB_SITE, list);
|
||||
} 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
|
||||
index 08fd7d33b00b46440529dd841ab386952cb35b29..678d11c2941026fa0bf9ca50ba0ff4d6b0ac078e 100644
|
||||
index eddaebb31f2c8372ea5bc38a77fda50a0e8844e2..41ee7ebbe9689ee9d8d66463bb53eaf79b76117f 100644
|
||||
--- a/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));
|
||||
} else {
|
||||
brain.setSchedule(Schedule.VILLAGER_DEFAULT);
|
||||
@@ -157,20 +157,18 @@ index 08fd7d33b00b46440529dd841ab386952cb35b29..678d11c2941026fa0bf9ca50ba0ff4d6
|
||||
}
|
||||
|
||||
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() {
|
||||
- return this.getInventory().hasAnyOf((Set) ImmutableSet.of(Items.WHEAT_SEEDS, Items.POTATO, Items.CARROT, Items.BEETROOT_SEEDS));
|
||||
+ // Purpur start
|
||||
+ 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.WHEAT_SEEDS, Items.POTATO, Items.CARROT, Items.BEETROOT_SEEDS));
|
||||
+ // 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
|
||||
index 901fc6520d58a5fa5f2cf1b4fa78fec6008aa409..9050cd25663c71197c597aac0ab2e6121b76b13b 100644
|
||||
--- 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 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
|
||||
index b523f87b5ffdf4df5d806b1b512b241e60921c10..4cdeae00f24a81e5b49333cd611c2152411cfaef 100644
|
||||
index 82baa5223e5df968fb8b0ba989c1e1b7e9d60dec..b370d144c6e6c95af27669ebd31292843bf65e8c 100644
|
||||
--- a/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 boolean villagerLobotomizeEnabled = false;
|
||||
public int villagerLobotomizeCheck = 60;
|
||||
@@ -197,7 +195,7 @@ index b523f87b5ffdf4df5d806b1b512b241e60921c10..4cdeae00f24a81e5b49333cd611c2152
|
||||
private void villagerSettings() {
|
||||
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
|
||||
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);
|
||||
villagerLobotomizeCheck = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheck);
|
||||
@@ -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.
|
||||
|
||||
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
|
||||
+++ 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();
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@ index 96e727cd703a1da5f60ab07e47b6bc5265b309e4..50553ab4ea1e7c8ae58988ce95918840
|
||||
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);
|
||||
}
|
||||
|
||||
@@ -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
|
||||
index 4cdeae00f24a81e5b49333cd611c2152411cfaef..3539cdb60b893693687219b689f30d1aa6c1d837 100644
|
||||
index b370d144c6e6c95af27669ebd31292843bf65e8c..dc7076250f80fc294e14d37cc63233fe66fd9b7f 100644
|
||||
--- a/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 double zombifiedPiglinJockeyChance = 0.05D;
|
||||
public boolean zombifiedPiglinJockeyTryExistingChickens = true;
|
||||
@@ -46,7 +46,7 @@ index 4cdeae00f24a81e5b49333cd611c2152411cfaef..3539cdb60b893693687219b689f30d1a
|
||||
private void zombifiedPiglinSettings() {
|
||||
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
|
||||
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);
|
||||
zombifiedPiglinJockeyChance = getDouble("mobs.zombified_piglin.jockey.chance", zombifiedPiglinJockeyChance);
|
||||
zombifiedPiglinJockeyTryExistingChickens = getBoolean("mobs.zombified_piglin.jockey.try-existing-chickens", zombifiedPiglinJockeyTryExistingChickens);
|
||||
@@ -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
|
||||
index 7880893c132f95df4dcfea564b4c40c2b8256ea4..5655282578018c00a60d7ddc3fb48393da9cc2ee 100644
|
||||
index 811629721c4e3babb5437031910185daf10d5784..122b6f4fd8334483d32dbe353c273dbec14086aa 100644
|
||||
--- a/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() {
|
||||
@@ -46,10 +46,10 @@ index 7880893c132f95df4dcfea564b4c40c2b8256ea4..5655282578018c00a60d7ddc3fb48393
|
||||
|
||||
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
|
||||
index e72e2ec797526772dc9c490739f5b45e4d135c89..303de40046ac0e5802a0061a1118ee95897b6bfc 100644
|
||||
index b927f741695c783b5c3a782ea669c7d76333c2bd..2fc276e0fc43d21ce9dd590991b564c65f6b249b 100644
|
||||
--- a/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
|
||||
public boolean canSee(Player player) {
|
||||
@@ -7,16 +7,18 @@ Configurable chance to spawn a wolf that is rabid.
|
||||
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
|
||||
index 9ad96fec6110e26c0074c07fd8e2453e1d4271bb..055cc874ec5fb9c3268b566620bf62adda6aa85a 100644
|
||||
index 2e20a37663f48bd606157e22d466267699c8ed21..1c971eaf2fca2d1cdc89809f673e49de107a4a46 100644
|
||||
--- a/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.SynchedEntityData;
|
||||
import net.minecraft.server.level.ServerLevel;
|
||||
+import net.minecraft.server.level.ServerPlayer;
|
||||
import net.minecraft.sounds.SoundEvent;
|
||||
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.TimeUtil;
|
||||
import net.minecraft.util.valueproviders.UniformInt;
|
||||
@@ -29,17 +31,15 @@ index 9ad96fec6110e26c0074c07fd8e2453e1d4271bb..055cc874ec5fb9c3268b566620bf62ad
|
||||
import net.minecraft.world.entity.AgeableMob;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
import net.minecraft.world.entity.EntityDimensions;
|
||||
import net.minecraft.world.entity.EntityType;
|
||||
import net.minecraft.world.entity.LivingEntity;
|
||||
import net.minecraft.world.entity.Mob;
|
||||
+import net.minecraft.world.entity.MobSpawnType;
|
||||
@@ -30,6 +34,7 @@ import net.minecraft.world.entity.Mob;
|
||||
import net.minecraft.world.entity.MobSpawnType;
|
||||
import net.minecraft.world.entity.NeutralMob;
|
||||
import net.minecraft.world.entity.Pose;
|
||||
+import net.minecraft.world.entity.SpawnGroupData;
|
||||
import net.minecraft.world.entity.TamableAnimal;
|
||||
import net.minecraft.world.entity.ai.attributes.AttributeSupplier;
|
||||
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.FloatGoal;
|
||||
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.LookAtPlayerGoal;
|
||||
import net.minecraft.world.entity.ai.goal.MeleeAttackGoal;
|
||||
@@ -59,6 +66,7 @@ import net.minecraft.world.item.Item;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
@@ -64,6 +70,7 @@ import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.Items;
|
||||
import net.minecraft.world.level.Level;
|
||||
import net.minecraft.world.level.LevelAccessor;
|
||||
+import net.minecraft.world.level.ServerLevelAccessor;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.level.gameevent.GameEvent;
|
||||
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;
|
||||
};
|
||||
@@ -93,7 +93,7 @@ index 9ad96fec6110e26c0074c07fd8e2453e1d4271bb..055cc874ec5fb9c3268b566620bf62ad
|
||||
private static final float START_HEALTH = 8.0F;
|
||||
private static final float TAME_HEALTH = 20.0F;
|
||||
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() {
|
||||
return this.level.purpurConfig.wolfBreedingTicks;
|
||||
}
|
||||
@@ -131,7 +131,7 @@ index 9ad96fec6110e26c0074c07fd8e2453e1d4271bb..055cc874ec5fb9c3268b566620bf62ad
|
||||
// Purpur end
|
||||
|
||||
@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(2, new SitWhenOrderedToGoal(this));
|
||||
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(5, new MeleeAttackGoal(this, 1.0D, true));
|
||||
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(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(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(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(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) {
|
||||
super.addAdditionalSaveData(nbt);
|
||||
nbt.putByte("CollarColor", (byte) this.getCollarColor().getId());
|
||||
@@ -156,7 +156,7 @@ index 9ad96fec6110e26c0074c07fd8e2453e1d4271bb..055cc874ec5fb9c3268b566620bf62ad
|
||||
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)) {
|
||||
this.setCollarColor(DyeColor.byId(nbt.getInt("CollarColor")));
|
||||
}
|
||||
@@ -167,7 +167,7 @@ index 9ad96fec6110e26c0074c07fd8e2453e1d4271bb..055cc874ec5fb9c3268b566620bf62ad
|
||||
|
||||
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() {
|
||||
super.tick();
|
||||
if (this.isAlive()) {
|
||||
@@ -179,7 +179,7 @@ index 9ad96fec6110e26c0074c07fd8e2453e1d4271bb..055cc874ec5fb9c3268b566620bf62ad
|
||||
this.interestedAngleO = this.interestedAngle;
|
||||
if (this.isInterested()) {
|
||||
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;
|
||||
}
|
||||
@@ -201,10 +201,10 @@ index 9ad96fec6110e26c0074c07fd8e2453e1d4271bb..055cc874ec5fb9c3268b566620bf62ad
|
||||
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
|
||||
index 3539cdb60b893693687219b689f30d1aa6c1d837..b6967a953b8e3bf96653ce6f32af2c5a4a9d0509 100644
|
||||
index dc7076250f80fc294e14d37cc63233fe66fd9b7f..01a72ba50885024b02bdb473b45855438b72520a 100644
|
||||
--- a/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 wolfRidableInWater = false;
|
||||
public double wolfMaxHealth = 8.0D;
|
||||
@@ -213,7 +213,7 @@ index 3539cdb60b893693687219b689f30d1aa6c1d837..b6967a953b8e3bf96653ce6f32af2c5a
|
||||
public int wolfBreedingTicks = 6000;
|
||||
private void wolfSettings() {
|
||||
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);
|
||||
}
|
||||
wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth);
|
||||
@@ -9,10 +9,10 @@ Resets to RED when the value is invalid.
|
||||
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
|
||||
index bad5b47f3df186c77e578d5953cf1798179639d3..8355aa65b6f8be5027370fada8758510b774b4b2 100644
|
||||
index 8f6c3e9eaefc0a15aefde7119f2e123894d434b7..bc088e237e6f1f2a4cde766b7586a621f1cb54e2 100644
|
||||
--- a/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);
|
||||
}
|
||||
|
||||
@@ -26,12 +26,12 @@ index bad5b47f3df186c77e578d5953cf1798179639d3..8355aa65b6f8be5027370fada8758510
|
||||
+
|
||||
@Override
|
||||
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
|
||||
index 055cc874ec5fb9c3268b566620bf62adda6aa85a..bad3b1e32a8c8035542243a69028b3a8622019b8 100644
|
||||
index 1c971eaf2fca2d1cdc89809f673e49de107a4a46..a669a00d68807ed451a1b0def7a92e17ffb7bee1 100644
|
||||
--- a/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);
|
||||
return super.finalizeSpawn(world, difficulty, type, data, nbt);
|
||||
}
|
||||
@@ -45,10 +45,10 @@ index 055cc874ec5fb9c3268b566620bf62adda6aa85a..bad3b1e32a8c8035542243a69028b3a8
|
||||
|
||||
@Override
|
||||
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
|
||||
+++ 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 catRidableInWater = false;
|
||||
@@ -56,7 +56,7 @@ index b6967a953b8e3bf96653ce6f32af2c5a4a9d0509..0bf9306bb31e975101dccc3df4c776f1
|
||||
public double catMaxHealth = 10.0D;
|
||||
public int catSpawnDelay = 1200;
|
||||
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", oldValue);
|
||||
}
|
||||
@@ -68,7 +68,7 @@ index b6967a953b8e3bf96653ce6f32af2c5a4a9d0509..0bf9306bb31e975101dccc3df4c776f1
|
||||
catMaxHealth = getDouble("mobs.cat.attributes.max_health", catMaxHealth);
|
||||
catSpawnDelay = getInt("mobs.cat.spawn-delay", catSpawnDelay);
|
||||
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 wolfRidableInWater = false;
|
||||
public double wolfMaxHealth = 8.0D;
|
||||
@@ -76,7 +76,7 @@ index b6967a953b8e3bf96653ce6f32af2c5a4a9d0509..0bf9306bb31e975101dccc3df4c776f1
|
||||
public boolean wolfMilkCuresRabies = true;
|
||||
public double wolfNaturalRabid = 0.0D;
|
||||
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);
|
||||
}
|
||||
wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth);
|
||||
Reference in New Issue
Block a user