200 patches

This commit is contained in:
granny
2023-09-23 04:04:39 -07:00
parent 6230542841
commit 87e5f450c3
101 changed files with 909 additions and 877 deletions

View File

@@ -24,10 +24,10 @@ index 1776906e886edd511bfbe96b8a345438a3cd66f8..7efae60a9a9269703a1fa7cd280b5b96
return;
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b996cafed3083c3d9604005a054f0b4511bbf383..8a43f22c9bcd20d2c1efbc18bce827551af77309 100644
index 41d694ec386530f97044ff6aa98f4e436cadddd7..957fb2554554be7912f434b999a9ddd31681b92a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -414,8 +414,10 @@ public class PurpurWorldConfig {
@@ -410,8 +410,10 @@ public class PurpurWorldConfig {
}
public boolean farmlandGetsMoistFromBelow = false;

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add adjustable breeding cooldown to config
diff --git a/src/main/java/net/minecraft/world/entity/animal/Animal.java b/src/main/java/net/minecraft/world/entity/animal/Animal.java
index c2f61ed153260692c96af4f20bc5b7d55cbbc380..43f01ce3064fdc0bb46beab6ea001942f1506200 100644
index be105a4460e9bf2ef4b72a307fa31291c37d5e0e..5fe0b2301dbd1bedaa26254f7f88931c2022d709 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Animal.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Animal.java
@@ -154,7 +154,7 @@ public abstract class Animal extends AgeableMob {
@@ -149,7 +149,7 @@ public abstract class Animal extends AgeableMob {
if (this.isFood(itemstack)) {
int i = this.getAge();
@@ -17,7 +17,7 @@ index c2f61ed153260692c96af4f20bc5b7d55cbbc380..43f01ce3064fdc0bb46beab6ea001942
this.usePlayerItem(player, hand, itemstack);
this.setInLove(player);
return InteractionResult.SUCCESS;
@@ -236,12 +236,20 @@ public abstract class Animal extends AgeableMob {
@@ -231,12 +231,20 @@ public abstract class Animal extends AgeableMob {
AgeableMob entityageable = this.getBreedOffspring(world, other);
if (entityageable != null) {
@@ -42,10 +42,10 @@ index c2f61ed153260692c96af4f20bc5b7d55cbbc380..43f01ce3064fdc0bb46beab6ea001942
EntityBreedEvent entityBreedEvent = org.bukkit.craftbukkit.event.CraftEventFactory.callEntityBreedEvent(entityageable, this, other, breeder, this.breedItem, experience);
if (entityBreedEvent.isCancelled()) {
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index a4c45ee8a5c6e55a6f9abde401cc06f13bd0b018..84ac5db63a51d1490fcf625d10ed0952d671017e 100644
index 1f23c66694d601d0cb52fb637407ada5f9975420..282ec5085a8076790d2a24e7979b36c06a9bcba0 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -194,6 +194,49 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -193,6 +193,49 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
}
// Paper end - fix and optimise world upgrading
@@ -95,7 +95,7 @@ index a4c45ee8a5c6e55a6f9abde401cc06f13bd0b018..84ac5db63a51d1490fcf625d10ed0952
public CraftWorld getWorld() {
return this.world;
}
@@ -289,6 +332,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -214,6 +257,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot
this.paperConfig = paperWorldConfigCreator.apply(this.spigotConfig); // Paper
this.purpurConfig = new org.purpurmc.purpur.PurpurWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), env); // Purpur
@@ -104,7 +104,7 @@ index a4c45ee8a5c6e55a6f9abde401cc06f13bd0b018..84ac5db63a51d1490fcf625d10ed0952
this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 8a43f22c9bcd20d2c1efbc18bce827551af77309..7bc980fee2727359a9a2ecc66f31f3569cf8491f 100644
index 957fb2554554be7912f434b999a9ddd31681b92a..ff50c24f3a6e2dd0eb5d4e23cc9a38647e2c1194 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -115,6 +115,7 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Make entity breeding times configurable
diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerMakeLove.java b/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerMakeLove.java
index 645d204fe2c727637a6a547aad7d4db1279628ae..8be2f612c9e8a64b0aad6bb54450cdfb12b3c19e 100644
index 0cc411dd39d981187c9e9a3c5eb8043b19a09b98..f7032f4ea55f5aca293c2640686238b7af0f9c80 100644
--- a/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerMakeLove.java
+++ b/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerMakeLove.java
@@ -127,8 +127,10 @@ public class VillagerMakeLove extends Behavior<Villager> {
@@ -22,7 +22,7 @@ index 645d204fe2c727637a6a547aad7d4db1279628ae..8be2f612c9e8a64b0aad6bb54450cdfb
// CraftBukkit end
world.broadcastEntityEvent(entityvillager2, (byte) 12);
diff --git a/src/main/java/net/minecraft/world/entity/animal/Animal.java b/src/main/java/net/minecraft/world/entity/animal/Animal.java
index 43f01ce3064fdc0bb46beab6ea001942f1506200..8773b1072016a3bbf025959e9ab827704ec17fc6 100644
index 5fe0b2301dbd1bedaa26254f7f88931c2022d709..2e268aa614522b40fbffabce4017b228db5bcba8 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Animal.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Animal.java
@@ -42,6 +42,7 @@ public abstract class Animal extends AgeableMob {
@@ -33,7 +33,7 @@ index 43f01ce3064fdc0bb46beab6ea001942f1506200..8773b1072016a3bbf025959e9ab82770
protected Animal(EntityType<? extends Animal> type, Level world) {
super(type, world);
@@ -277,8 +278,10 @@ public abstract class Animal extends AgeableMob {
@@ -272,8 +273,10 @@ public abstract class Animal extends AgeableMob {
entityplayer.awardStat(Stats.ANIMALS_BRED);
CriteriaTriggers.BRED_ANIMALS.trigger(entityplayer, this, entityanimal, entityageable);
} // Paper
@@ -63,10 +63,10 @@ index e7f95639a442cf602fef0ed7aec0f5f96aa6fd92..fd917f72b4b4d4af1ae36feab38deac2
public int getRemainingPersistentAngerTime() {
return (Integer) this.entityData.get(Bee.DATA_REMAINING_ANGER_TIME);
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 49a6ac765e71b311c91cbfd4cf9cde2daa729239..ffa2128b63e5e45c2a41e31a6b8b6e8df0bf9be4 100644
index 87642c1c2c1f39a1c2029797bab73f60c19a1080..a5b1cc957b824f8cc36693128ce05f5d556cf7d7 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Cat.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java
@@ -127,6 +127,11 @@ public class Cat extends TamableAnimal implements VariantHolder<CatVariant> {
@@ -128,6 +128,11 @@ public class Cat extends TamableAnimal implements VariantHolder<CatVariant> {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.catMaxHealth);
}
@@ -79,10 +79,10 @@ index 49a6ac765e71b311c91cbfd4cf9cde2daa729239..ffa2128b63e5e45c2a41e31a6b8b6e8d
return this.getVariant().texture();
}
diff --git a/src/main/java/net/minecraft/world/entity/animal/Chicken.java b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
index 0f49705e3c7adf033cee9d0746319885c830224f..86b910cbb8d0e19dc9ae53078e730495bf4a3b87 100644
index bc3094493d7d25eaf50da8fdd74eacae25692b09..b142e5c489e9fe65b7258f541ef121b2cd020886 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Chicken.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
@@ -79,6 +79,11 @@ public class Chicken extends Animal {
@@ -80,6 +80,11 @@ public class Chicken extends Animal {
}
}
@@ -95,10 +95,10 @@ index 0f49705e3c7adf033cee9d0746319885c830224f..86b910cbb8d0e19dc9ae53078e730495
protected void registerGoals() {
this.goalSelector.addGoal(0, new FloatGoal(this));
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java
index 28c7e240b7dd1957ccb6a45608b1d052a32dc18a..f9cce30eef4a5bffeb27c48a6c7ee361803560c5 100644
index d42c8bcd85ffb1e00d2883485bf22981611b0bc3..c501704251e5b23f697efc307ebdc906cd2e5acd 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Cow.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java
@@ -66,6 +66,11 @@ public class Cow extends Animal {
@@ -69,6 +69,11 @@ public class Cow extends Animal {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.cowMaxHealth);
}
@@ -111,10 +111,10 @@ index 28c7e240b7dd1957ccb6a45608b1d052a32dc18a..f9cce30eef4a5bffeb27c48a6c7ee361
protected void registerGoals() {
this.goalSelector.addGoal(0, new FloatGoal(this));
diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
index cedc4dac776dde310dbf1a22272ce54b14ca2c9e..2cf00af66b73e1891fadcabcf83307873cbed710 100644
index f26fa004e1372f8711e76bc7fa4cdb383b989755..b13429e254bd056cf942f39d46976ff0ef2a97f3 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
@@ -186,6 +186,11 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
@@ -188,6 +188,11 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.foxMaxHealth);
}
@@ -126,7 +126,7 @@ index cedc4dac776dde310dbf1a22272ce54b14ca2c9e..2cf00af66b73e1891fadcabcf8330787
@Override
protected void defineSynchedData() {
super.defineSynchedData();
@@ -981,8 +986,10 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
@@ -991,8 +996,10 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
CriteriaTriggers.BRED_ANIMALS.trigger(entityplayer2, this.animal, this.partner, entityfox);
}
@@ -140,7 +140,7 @@ index cedc4dac776dde310dbf1a22272ce54b14ca2c9e..2cf00af66b73e1891fadcabcf8330787
this.partner.resetLove();
worldserver.addFreshEntityWithPassengers(entityfox, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.BREEDING); // CraftBukkit - added SpawnReason
diff --git a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
index b27c0f21354a78025f9d1664c560fb8799bced91..7fd50f60aab2fa49a8227f313352a2ee251904c8 100644
index c83e5d58ca5db1e63e099f36006043f7e78ea56f..cdf2bd4b2aa43b1d45fb0f0e8c4a14057ca39525 100644
--- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
+++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
@@ -85,6 +85,11 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
@@ -156,10 +156,10 @@ index b27c0f21354a78025f9d1664c560fb8799bced91..7fd50f60aab2fa49a8227f313352a2ee
public float getWalkTargetValue(BlockPos pos, LevelReader world) {
return world.getBlockState(pos.below()).is(Blocks.MYCELIUM) ? 10.0F : world.getPathfindingCostFromLightLevels(pos);
diff --git a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
index 20da70182312f4c30e21528add44540ea2b60e42..11c1bebcf6751e4b2ce9b1f5d53ad0a54d7f0be9 100644
index 14daac1a87e32e0ff0a610aef256e20cbfe50001..3fe751839e4a1bc266b0d9508e1e3384e8f7f41e 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
@@ -90,6 +90,11 @@ public class Ocelot extends Animal {
@@ -92,6 +92,11 @@ public class Ocelot extends Animal {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.ocelotMaxHealth);
}
@@ -172,10 +172,10 @@ index 20da70182312f4c30e21528add44540ea2b60e42..11c1bebcf6751e4b2ce9b1f5d53ad0a5
return (Boolean) this.entityData.get(Ocelot.DATA_TRUSTING);
}
diff --git a/src/main/java/net/minecraft/world/entity/animal/Panda.java b/src/main/java/net/minecraft/world/entity/animal/Panda.java
index 81f502b19cfcfcd39f3d3b5754b6bce9c2645ccb..7052601a8a4253459c552c2d721c90f3fb36de10 100644
index 2832d7cbcfad43b3f0f6c33504cff68add85601d..e91f950b64f80fb86795c570f7f119c159315472 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Panda.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Panda.java
@@ -143,6 +143,11 @@ public class Panda extends Animal {
@@ -146,6 +146,11 @@ public class Panda extends Animal {
setAttributes();
}
@@ -188,10 +188,10 @@ index 81f502b19cfcfcd39f3d3b5754b6bce9c2645ccb..7052601a8a4253459c552c2d721c90f3
public boolean canTakeItem(ItemStack stack) {
EquipmentSlot enumitemslot = Mob.getEquipmentSlotForItem(stack);
diff --git a/src/main/java/net/minecraft/world/entity/animal/Parrot.java b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
index 1e0d8d276ef5eb2cc11a1effb5808de7f8f211d5..8b349259676ab8c891bf019c93ea62f7a84c4866 100644
index fa8f9fdb873a65d3685b808c20b2d069dc1f3a90..2e671558ddeb7602c16c3684f87a9ce850e95aa2 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Parrot.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
@@ -196,6 +196,11 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
@@ -197,6 +197,11 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.parrotMaxHealth);
}
@@ -204,10 +204,10 @@ index 1e0d8d276ef5eb2cc11a1effb5808de7f8f211d5..8b349259676ab8c891bf019c93ea62f7
@Override
public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData, @Nullable CompoundTag entityNbt) {
diff --git a/src/main/java/net/minecraft/world/entity/animal/Pig.java b/src/main/java/net/minecraft/world/entity/animal/Pig.java
index ff98a81f7104bbaf67ed85b8ad0946edf2a8c368..921efb89b4acf34e5e90f9b8faae16fb3b1b5002 100644
index dc27fa0df90f8eefc20bf76ff58b1b2ebaacf120..42bf69eb86b9ccfb5afaf17e319bf34ce055e033 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Pig.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Pig.java
@@ -86,6 +86,11 @@ public class Pig extends Animal implements ItemSteerable, Saddleable {
@@ -89,6 +89,11 @@ public class Pig extends Animal implements ItemSteerable, Saddleable {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.pigMaxHealth);
}
@@ -220,7 +220,7 @@ index ff98a81f7104bbaf67ed85b8ad0946edf2a8c368..921efb89b4acf34e5e90f9b8faae16fb
protected void registerGoals() {
this.goalSelector.addGoal(0, new FloatGoal(this));
diff --git a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
index b2cf680e377f849a7cc17136ebca3cf33e34048c..0df9900ecf211f3a0bcfab6daa931fddf9bfd3c2 100644
index 0377d40198b88512b1f204a31367c2db039a7f9c..6eefdf7de7edee63b14bffc60557e9779312270c 100644
--- a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
+++ b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
@@ -120,6 +120,11 @@ public class PolarBear extends Animal implements NeutralMob {
@@ -236,10 +236,10 @@ index b2cf680e377f849a7cc17136ebca3cf33e34048c..0df9900ecf211f3a0bcfab6daa931fdd
@Override
public AgeableMob getBreedOffspring(ServerLevel world, AgeableMob entity) {
diff --git a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
index 6d5213d26dbd9d36c5cbe6056091d9e5c85e23c4..787391763cac2ae6ed9c178c44616b992849e819 100644
index 106600ad9712d9a4fdf6770e81b40606b2f9b9b2..c25776ef9805f3f4e31ca5b027e6577526e48819 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
@@ -142,6 +142,11 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
@@ -143,6 +143,11 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
public void initAttributes() {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.rabbitMaxHealth);
}
@@ -252,10 +252,10 @@ index 6d5213d26dbd9d36c5cbe6056091d9e5c85e23c4..787391763cac2ae6ed9c178c44616b99
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/Sheep.java b/src/main/java/net/minecraft/world/entity/animal/Sheep.java
index 3d212b09258b9777079d4bc7ce950f529cdce69e..c3b79c109e895cb4460571c8816b210455126f1d 100644
index c24299cb482beaef3e2e860475c66e068fa03eb1..284c9780e18f51b6ebd32b7eb7a9d3e47b4d0288 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Sheep.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Sheep.java
@@ -139,6 +139,11 @@ public class Sheep extends Animal implements Shearable {
@@ -141,6 +141,11 @@ public class Sheep extends Animal implements Shearable {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.sheepMaxHealth);
}
@@ -268,10 +268,10 @@ index 3d212b09258b9777079d4bc7ce950f529cdce69e..c3b79c109e895cb4460571c8816b2104
protected void registerGoals() {
this.eatBlockGoal = new EatBlockGoal(this);
diff --git a/src/main/java/net/minecraft/world/entity/animal/Turtle.java b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
index 6ae82b6293f236fc926f411de2badc496b35399b..4a5cc7eaac2bc093a0f5a457b93b6f4560d739ca 100644
index 4b76c207c7f1eee6bdceebeeba50779557a2662a..6ff7d09066e3f175c3b9404febac9ef9940dc8d5 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
@@ -105,6 +105,11 @@ public class Turtle extends Animal {
@@ -108,6 +108,11 @@ public class Turtle extends Animal {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.turtleMaxHealth);
}
@@ -284,10 +284,10 @@ index 6ae82b6293f236fc926f411de2badc496b35399b..4a5cc7eaac2bc093a0f5a457b93b6f45
this.entityData.set(Turtle.HOME_POS, pos.immutable()); // Paper - called with mutablepos...
}
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 1a27e811169a58515c796344ffa1bb3c46d1014a..d8c73365915e67b38292c96a9601f983f121bdf9 100644
index eecdb1f1d49951cb8a294d176afd12c68fb6c3b1..39a923e48750bd960f64aad248c10dd390afc239 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
@@ -130,6 +130,11 @@ public class Wolf extends TamableAnimal implements NeutralMob {
@@ -132,6 +132,11 @@ public class Wolf extends TamableAnimal implements NeutralMob {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.wolfMaxHealth);
}
@@ -300,7 +300,7 @@ index 1a27e811169a58515c796344ffa1bb3c46d1014a..d8c73365915e67b38292c96a9601f983
protected void registerGoals() {
this.goalSelector.addGoal(1, new FloatGoal(this));
diff --git a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
index e1c0c122dde56b8dd797d1278340260150025cf9..acf44bf3d22d7b2ac7a02b3167cf577403942908 100644
index ab04ea644615d2118d6fb1da95968cbb3139a6a2..9faac858cc33895e6e7458b0deb72f225b158246 100644
--- a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
+++ b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
@@ -120,6 +120,11 @@ public class Axolotl extends Animal implements LerpingModel, VariantHolder<Axolo
@@ -316,10 +316,10 @@ index e1c0c122dde56b8dd797d1278340260150025cf9..acf44bf3d22d7b2ac7a02b3167cf5774
public Map<String, Vector3f> getModelRotationValues() {
return this.modelRotationValues;
diff --git a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
index 5ec8815cc69f5abe03a29224650edfb153c9f5d0..8073a3a0df7d75a29419303c85d7dadd9f94be99 100644
index 85a557b50498bb83eeec4125aa2ae14f3bfaaab8..f44261137f12354640170206ca7bfb6d991dc7a0 100644
--- a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
+++ b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
@@ -89,6 +89,10 @@ public class Camel extends AbstractHorse implements PlayerRideableJumping, Rider
@@ -91,6 +91,10 @@ public class Camel extends AbstractHorse implements PlayerRideableJumping, Saddl
public boolean dismountsUnderwater() {
return level().purpurConfig.useDismountsUnderwaterTag ? super.dismountsUnderwater() : !level().purpurConfig.camelRidableInWater;
}
@@ -331,10 +331,10 @@ index 5ec8815cc69f5abe03a29224650edfb153c9f5d0..8073a3a0df7d75a29419303c85d7dadd
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java b/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java
index f189e0493286d58fbe16a30912b3a1dc4cd4c3e5..840b61241c44e92b3053157492f4389f46179e81 100644
index fe54027f5ec0f88077bf95d3c4cd9a291c4dfa73..7ac51b7c53c89f15661a1fe0b00d07de40f64d81 100644
--- a/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java
+++ b/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java
@@ -136,6 +136,10 @@ public class Frog extends Animal implements VariantHolder<FrogVariant> {
@@ -138,6 +138,10 @@ public class Frog extends Animal implements VariantHolder<FrogVariant> {
}
// Purpur end
@@ -346,10 +346,10 @@ index f189e0493286d58fbe16a30912b3a1dc4cd4c3e5..840b61241c44e92b3053157492f4389f
protected Brain.Provider<Frog> brainProvider() {
return Brain.provider(MEMORY_TYPES, SENSOR_TYPES);
diff --git a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
index ec956339b02fc9da53563d67c0eeaa91a3c3a8ee..d7580f06f2f619cb283faa61bdd4e7cc127fc08b 100644
index e82904142e32fe2da62e2cd00b8436b94de8c048..09489e5e736eb296d0361fd4ea4530e4869864b3 100644
--- a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
+++ b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
@@ -107,6 +107,11 @@ public class Goat extends Animal {
@@ -109,6 +109,11 @@ public class Goat extends Animal {
}
// Purpur end
@@ -394,10 +394,10 @@ index 92339f5a07dcb6bf7eb1bce6d584464ebd8430b5..0251ded48eb5bdf96f0e67f6456aa159
protected void randomizeAttributes(RandomSource random) {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue((double)generateMaxHealth(random::nextInt));
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
index 72fe2dd69a9ae51e14ec91a83eac2dd74bd76cca..ad9d061979f5856cba9769b91357b3c75cd9a794 100644
index 15a08abe94cb97de1450ff42cfb924a537b9eb5c..1c0d0f14659e0a64e6b3b3998f59f90cd5b59726 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
@@ -138,6 +138,11 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
@@ -140,6 +140,11 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
return generateSpeed(this.level().purpurConfig.llamaMovementSpeedMin, this.level().purpurConfig.llamaMovementSpeedMax);
}
@@ -426,10 +426,10 @@ index abbeb305b2d09e9c4c02ade603adac5ceb34bdd0..1de48560ac5a1db8845c98c812b2e9f9
protected SoundEvent getAmbientSound() {
return SoundEvents.MULE_AMBIENT;
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
index 33e30545c303e28a99249151891c7568bf1a164d..d80257183a4ecdb515e344adcf66b757aa576202 100644
index 8ffba7c368f936ea5cdfc46c5fa76c3feb63e1ac..bd83a2b82908d0beb91bd2937e263d6681a691f6 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
@@ -50,6 +50,11 @@ public class SkeletonHorse extends AbstractHorse {
@@ -53,6 +53,11 @@ public class SkeletonHorse extends AbstractHorse {
return generateSpeed(this.level().purpurConfig.skeletonHorseMovementSpeedMin, this.level().purpurConfig.skeletonHorseMovementSpeedMax);
}
@@ -458,10 +458,10 @@ index 4abb9d5fedf63eba9dc3f716d44ea11806607af0..3632fcb124be8cf77d9bebf7b861a481
public boolean isTraderLlama() {
return true;
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
index 973c5045137850905126db91238dd8e59db7ddf6..cc821385394121dcd7a9f314fa34a3f540f113a6 100644
index 2e6b55a01e022252245c16ed310920bcba072975..fba4eec4490e389b8b102d40542b9340d8ac559e 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
@@ -48,6 +48,11 @@ public class ZombieHorse extends AbstractHorse {
@@ -49,6 +49,11 @@ public class ZombieHorse extends AbstractHorse {
return generateSpeed(this.level().purpurConfig.zombieHorseMovementSpeedMin, this.level().purpurConfig.zombieHorseMovementSpeedMax);
}
@@ -474,10 +474,10 @@ index 973c5045137850905126db91238dd8e59db7ddf6..cc821385394121dcd7a9f314fa34a3f5
return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0D).add(Attributes.MOVEMENT_SPEED, (double)0.2F);
}
diff --git a/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java b/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java
index e46751dacee17e81933345266049675d0b11ee49..3ab900c53469327b8d686da81ed5b4aaaddb7440 100644
index a5fd822713b56ebb2bec51364be715570ec056bb..42bfc59462f320e95c13075c8541c4c4c98a6879 100644
--- a/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java
+++ b/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java
@@ -112,6 +112,11 @@ public class Sniffer extends Animal {
@@ -113,6 +113,11 @@ public class Sniffer extends Animal {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.snifferMaxHealth);
}
@@ -490,7 +490,7 @@ index e46751dacee17e81933345266049675d0b11ee49..3ab900c53469327b8d686da81ed5b4aa
@Override
protected void defineSynchedData() {
diff --git a/src/main/java/net/minecraft/world/entity/monster/Strider.java b/src/main/java/net/minecraft/world/entity/monster/Strider.java
index eedfd4dffdc5586a0b50769b17c5515e5ccac916..93dca4758ed995373fe1585930f225604a4153fa 100644
index 9b853fd05a3a851cb08d7f849b51f2b220780982..10136a5062d154456c962e7d1a99c2dedbd568ed 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Strider.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Strider.java
@@ -122,6 +122,11 @@ public class Strider extends Animal implements ItemSteerable, Saddleable {
@@ -506,10 +506,10 @@ index eedfd4dffdc5586a0b50769b17c5515e5ccac916..93dca4758ed995373fe1585930f22560
BlockPos.MutableBlockPos blockposition_mutableblockposition = pos.mutable();
diff --git a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
index 66f2695403a04c2e9540bf2ec290bf1cc5a377ca..bd72dc99752faca3180ecb165b11406ada1a564e 100644
index 0365afdc6188d155f9d44812055fa8310114e06a..2c3a5b36e8fa1b5cfd5774296d5a9ca0c69b4db7 100644
--- a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
+++ b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
@@ -89,6 +89,11 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
@@ -91,6 +91,11 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.hoglinMaxHealth);
}
@@ -522,10 +522,10 @@ index 66f2695403a04c2e9540bf2ec290bf1cc5a377ca..bd72dc99752faca3180ecb165b11406a
public boolean canBeLeashed(Player player) {
return !this.isLeashed();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 7bc980fee2727359a9a2ecc66f31f3569cf8491f..4df745bede2ecc5e9ee4129b980f9edfd8969d4f 100644
index ff50c24f3a6e2dd0eb5d4e23cc9a38647e2c1194..48de43f61f90e2610e04d04803b374cead07f655 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -505,10 +505,12 @@ public class PurpurWorldConfig {
@@ -501,10 +501,12 @@ public class PurpurWorldConfig {
public boolean axolotlRidable = false;
public boolean axolotlControllable = true;
public double axolotlMaxHealth = 14.0D;
@@ -538,7 +538,7 @@ index 7bc980fee2727359a9a2ecc66f31f3569cf8491f..4df745bede2ecc5e9ee4129b980f9edf
}
public boolean batRidable = false;
@@ -548,6 +550,7 @@ public class PurpurWorldConfig {
@@ -544,6 +546,7 @@ public class PurpurWorldConfig {
public boolean beeControllable = true;
public double beeMaxY = 320D;
public double beeMaxHealth = 10.0D;
@@ -546,7 +546,7 @@ index 7bc980fee2727359a9a2ecc66f31f3569cf8491f..4df745bede2ecc5e9ee4129b980f9edf
private void beeSettings() {
beeRidable = getBoolean("mobs.bee.ridable", beeRidable);
beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater);
@@ -559,6 +562,7 @@ public class PurpurWorldConfig {
@@ -555,6 +558,7 @@ public class PurpurWorldConfig {
set("mobs.bee.attributes.max_health", oldValue);
}
beeMaxHealth = getDouble("mobs.bee.attributes.max_health", beeMaxHealth);
@@ -554,7 +554,7 @@ index 7bc980fee2727359a9a2ecc66f31f3569cf8491f..4df745bede2ecc5e9ee4129b980f9edf
}
public boolean blazeRidable = false;
@@ -586,6 +590,7 @@ public class PurpurWorldConfig {
@@ -582,6 +586,7 @@ public class PurpurWorldConfig {
public double camelJumpStrengthMax = 0.42D;
public double camelMovementSpeedMin = 0.09D;
public double camelMovementSpeedMax = 0.09D;
@@ -562,7 +562,7 @@ index 7bc980fee2727359a9a2ecc66f31f3569cf8491f..4df745bede2ecc5e9ee4129b980f9edf
private void camelSettings() {
camelRidableInWater = getBoolean("mobs.camel.ridable-in-water", camelRidableInWater);
camelMaxHealthMin = getDouble("mobs.camel.attributes.max_health.min", camelMaxHealthMin);
@@ -594,6 +599,7 @@ public class PurpurWorldConfig {
@@ -590,6 +595,7 @@ public class PurpurWorldConfig {
camelJumpStrengthMax = getDouble("mobs.camel.attributes.jump_strength.max", camelJumpStrengthMax);
camelMovementSpeedMin = getDouble("mobs.camel.attributes.movement_speed.min", camelMovementSpeedMin);
camelMovementSpeedMax = getDouble("mobs.camel.attributes.movement_speed.max", camelMovementSpeedMax);
@@ -570,7 +570,7 @@ index 7bc980fee2727359a9a2ecc66f31f3569cf8491f..4df745bede2ecc5e9ee4129b980f9edf
}
public boolean catRidable = false;
@@ -603,6 +609,7 @@ public class PurpurWorldConfig {
@@ -599,6 +605,7 @@ public class PurpurWorldConfig {
public int catSpawnDelay = 1200;
public int catSpawnSwampHutScanRange = 16;
public int catSpawnVillageScanRange = 48;
@@ -578,7 +578,7 @@ index 7bc980fee2727359a9a2ecc66f31f3569cf8491f..4df745bede2ecc5e9ee4129b980f9edf
private void catSettings() {
catRidable = getBoolean("mobs.cat.ridable", catRidable);
catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater);
@@ -616,6 +623,7 @@ public class PurpurWorldConfig {
@@ -612,6 +619,7 @@ public class PurpurWorldConfig {
catSpawnDelay = getInt("mobs.cat.spawn-delay", catSpawnDelay);
catSpawnSwampHutScanRange = getInt("mobs.cat.scan-range-for-other-cats.swamp-hut", catSpawnSwampHutScanRange);
catSpawnVillageScanRange = getInt("mobs.cat.scan-range-for-other-cats.village", catSpawnVillageScanRange);
@@ -586,7 +586,7 @@ index 7bc980fee2727359a9a2ecc66f31f3569cf8491f..4df745bede2ecc5e9ee4129b980f9edf
}
public boolean caveSpiderRidable = false;
@@ -639,6 +647,7 @@ public class PurpurWorldConfig {
@@ -635,6 +643,7 @@ public class PurpurWorldConfig {
public boolean chickenControllable = true;
public double chickenMaxHealth = 4.0D;
public boolean chickenRetaliate = false;
@@ -594,7 +594,7 @@ index 7bc980fee2727359a9a2ecc66f31f3569cf8491f..4df745bede2ecc5e9ee4129b980f9edf
private void chickenSettings() {
chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable);
chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater);
@@ -650,6 +659,7 @@ public class PurpurWorldConfig {
@@ -646,6 +655,7 @@ public class PurpurWorldConfig {
}
chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth);
chickenRetaliate = getBoolean("mobs.chicken.retaliate", chickenRetaliate);
@@ -602,7 +602,7 @@ index 7bc980fee2727359a9a2ecc66f31f3569cf8491f..4df745bede2ecc5e9ee4129b980f9edf
}
public boolean codRidable = false;
@@ -671,6 +681,7 @@ public class PurpurWorldConfig {
@@ -667,6 +677,7 @@ public class PurpurWorldConfig {
public boolean cowControllable = true;
public double cowMaxHealth = 10.0D;
public int cowFeedMushrooms = 0;
@@ -610,7 +610,7 @@ index 7bc980fee2727359a9a2ecc66f31f3569cf8491f..4df745bede2ecc5e9ee4129b980f9edf
private void cowSettings() {
cowRidable = getBoolean("mobs.cow.ridable", cowRidable);
cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater);
@@ -682,6 +693,7 @@ public class PurpurWorldConfig {
@@ -678,6 +689,7 @@ public class PurpurWorldConfig {
}
cowMaxHealth = getDouble("mobs.cow.attributes.max_health", cowMaxHealth);
cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms);
@@ -618,7 +618,7 @@ index 7bc980fee2727359a9a2ecc66f31f3569cf8491f..4df745bede2ecc5e9ee4129b980f9edf
}
public boolean creeperRidable = false;
@@ -733,6 +745,7 @@ public class PurpurWorldConfig {
@@ -729,6 +741,7 @@ public class PurpurWorldConfig {
public double donkeyJumpStrengthMax = 0.5D;
public double donkeyMovementSpeedMin = 0.175D;
public double donkeyMovementSpeedMax = 0.175D;
@@ -626,7 +626,7 @@ index 7bc980fee2727359a9a2ecc66f31f3569cf8491f..4df745bede2ecc5e9ee4129b980f9edf
private void donkeySettings() {
donkeyRidableInWater = getBoolean("mobs.donkey.ridable-in-water", donkeyRidableInWater);
if (PurpurConfig.version < 10) {
@@ -748,6 +761,7 @@ public class PurpurWorldConfig {
@@ -744,6 +757,7 @@ public class PurpurWorldConfig {
donkeyJumpStrengthMax = getDouble("mobs.donkey.attributes.jump_strength.max", donkeyJumpStrengthMax);
donkeyMovementSpeedMin = getDouble("mobs.donkey.attributes.movement_speed.min", donkeyMovementSpeedMin);
donkeyMovementSpeedMax = getDouble("mobs.donkey.attributes.movement_speed.max", donkeyMovementSpeedMax);
@@ -634,7 +634,7 @@ index 7bc980fee2727359a9a2ecc66f31f3569cf8491f..4df745bede2ecc5e9ee4129b980f9edf
}
public boolean drownedRidable = false;
@@ -867,6 +881,7 @@ public class PurpurWorldConfig {
@@ -863,6 +877,7 @@ public class PurpurWorldConfig {
public boolean foxControllable = true;
public double foxMaxHealth = 10.0D;
public boolean foxTypeChangesWithTulips = false;
@@ -642,7 +642,7 @@ index 7bc980fee2727359a9a2ecc66f31f3569cf8491f..4df745bede2ecc5e9ee4129b980f9edf
private void foxSettings() {
foxRidable = getBoolean("mobs.fox.ridable", foxRidable);
foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater);
@@ -878,17 +893,20 @@ public class PurpurWorldConfig {
@@ -874,17 +889,20 @@ public class PurpurWorldConfig {
}
foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth);
foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips);
@@ -663,7 +663,7 @@ index 7bc980fee2727359a9a2ecc66f31f3569cf8491f..4df745bede2ecc5e9ee4129b980f9edf
}
public boolean ghastRidable = false;
@@ -956,11 +974,13 @@ public class PurpurWorldConfig {
@@ -952,11 +970,13 @@ public class PurpurWorldConfig {
public boolean goatRidableInWater = true;
public boolean goatControllable = true;
public double goatMaxHealth = 10.0D;
@@ -677,7 +677,7 @@ index 7bc980fee2727359a9a2ecc66f31f3569cf8491f..4df745bede2ecc5e9ee4129b980f9edf
}
public boolean guardianRidable = false;
@@ -981,6 +1001,7 @@ public class PurpurWorldConfig {
@@ -977,6 +997,7 @@ public class PurpurWorldConfig {
public boolean hoglinRidableInWater = true;
public boolean hoglinControllable = true;
public double hoglinMaxHealth = 40.0D;
@@ -685,7 +685,7 @@ index 7bc980fee2727359a9a2ecc66f31f3569cf8491f..4df745bede2ecc5e9ee4129b980f9edf
private void hoglinSettings() {
hoglinRidable = getBoolean("mobs.hoglin.ridable", hoglinRidable);
hoglinRidableInWater = getBoolean("mobs.hoglin.ridable-in-water", hoglinRidableInWater);
@@ -991,6 +1012,7 @@ public class PurpurWorldConfig {
@@ -987,6 +1008,7 @@ public class PurpurWorldConfig {
set("mobs.hoglin.attributes.max_health", oldValue);
}
hoglinMaxHealth = getDouble("mobs.hoglin.attributes.max_health", hoglinMaxHealth);
@@ -693,7 +693,7 @@ index 7bc980fee2727359a9a2ecc66f31f3569cf8491f..4df745bede2ecc5e9ee4129b980f9edf
}
public boolean horseRidableInWater = false;
@@ -1000,6 +1022,7 @@ public class PurpurWorldConfig {
@@ -996,6 +1018,7 @@ public class PurpurWorldConfig {
public double horseJumpStrengthMax = 1.0D;
public double horseMovementSpeedMin = 0.1125D;
public double horseMovementSpeedMax = 0.3375D;
@@ -701,7 +701,7 @@ index 7bc980fee2727359a9a2ecc66f31f3569cf8491f..4df745bede2ecc5e9ee4129b980f9edf
private void horseSettings() {
horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater);
if (PurpurConfig.version < 10) {
@@ -1015,6 +1038,7 @@ public class PurpurWorldConfig {
@@ -1011,6 +1034,7 @@ public class PurpurWorldConfig {
horseJumpStrengthMax = getDouble("mobs.horse.attributes.jump_strength.max", horseJumpStrengthMax);
horseMovementSpeedMin = getDouble("mobs.horse.attributes.movement_speed.min", horseMovementSpeedMin);
horseMovementSpeedMax = getDouble("mobs.horse.attributes.movement_speed.max", horseMovementSpeedMax);
@@ -709,7 +709,7 @@ index 7bc980fee2727359a9a2ecc66f31f3569cf8491f..4df745bede2ecc5e9ee4129b980f9edf
}
public boolean huskRidable = false;
@@ -1092,6 +1116,7 @@ public class PurpurWorldConfig {
@@ -1088,6 +1112,7 @@ public class PurpurWorldConfig {
public double llamaJumpStrengthMax = 0.5D;
public double llamaMovementSpeedMin = 0.175D;
public double llamaMovementSpeedMax = 0.175D;
@@ -717,7 +717,7 @@ index 7bc980fee2727359a9a2ecc66f31f3569cf8491f..4df745bede2ecc5e9ee4129b980f9edf
private void llamaSettings() {
llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable);
llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater);
@@ -1109,6 +1134,7 @@ public class PurpurWorldConfig {
@@ -1105,6 +1130,7 @@ public class PurpurWorldConfig {
llamaJumpStrengthMax = getDouble("mobs.llama.attributes.jump_strength.max", llamaJumpStrengthMax);
llamaMovementSpeedMin = getDouble("mobs.llama.attributes.movement_speed.min", llamaMovementSpeedMin);
llamaMovementSpeedMax = getDouble("mobs.llama.attributes.movement_speed.max", llamaMovementSpeedMax);
@@ -725,7 +725,7 @@ index 7bc980fee2727359a9a2ecc66f31f3569cf8491f..4df745bede2ecc5e9ee4129b980f9edf
}
public boolean magmaCubeRidable = false;
@@ -1137,6 +1163,7 @@ public class PurpurWorldConfig {
@@ -1133,6 +1159,7 @@ public class PurpurWorldConfig {
public boolean mooshroomRidableInWater = true;
public boolean mooshroomControllable = true;
public double mooshroomMaxHealth = 10.0D;
@@ -733,7 +733,7 @@ index 7bc980fee2727359a9a2ecc66f31f3569cf8491f..4df745bede2ecc5e9ee4129b980f9edf
private void mooshroomSettings() {
mooshroomRidable = getBoolean("mobs.mooshroom.ridable", mooshroomRidable);
mooshroomRidableInWater = getBoolean("mobs.mooshroom.ridable-in-water", mooshroomRidableInWater);
@@ -1147,6 +1174,7 @@ public class PurpurWorldConfig {
@@ -1143,6 +1170,7 @@ public class PurpurWorldConfig {
set("mobs.mooshroom.attributes.max_health", oldValue);
}
mooshroomMaxHealth = getDouble("mobs.mooshroom.attributes.max_health", mooshroomMaxHealth);
@@ -741,7 +741,7 @@ index 7bc980fee2727359a9a2ecc66f31f3569cf8491f..4df745bede2ecc5e9ee4129b980f9edf
}
public boolean muleRidableInWater = false;
@@ -1156,6 +1184,7 @@ public class PurpurWorldConfig {
@@ -1152,6 +1180,7 @@ public class PurpurWorldConfig {
public double muleJumpStrengthMax = 0.5D;
public double muleMovementSpeedMin = 0.175D;
public double muleMovementSpeedMax = 0.175D;
@@ -749,7 +749,7 @@ index 7bc980fee2727359a9a2ecc66f31f3569cf8491f..4df745bede2ecc5e9ee4129b980f9edf
private void muleSettings() {
muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater);
if (PurpurConfig.version < 10) {
@@ -1171,12 +1200,14 @@ public class PurpurWorldConfig {
@@ -1167,12 +1196,14 @@ public class PurpurWorldConfig {
muleJumpStrengthMax = getDouble("mobs.mule.attributes.jump_strength.max", muleJumpStrengthMax);
muleMovementSpeedMin = getDouble("mobs.mule.attributes.movement_speed.min", muleMovementSpeedMin);
muleMovementSpeedMax = getDouble("mobs.mule.attributes.movement_speed.max", muleMovementSpeedMax);
@@ -764,7 +764,7 @@ index 7bc980fee2727359a9a2ecc66f31f3569cf8491f..4df745bede2ecc5e9ee4129b980f9edf
private void ocelotSettings() {
ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable);
ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater);
@@ -1187,12 +1218,14 @@ public class PurpurWorldConfig {
@@ -1183,12 +1214,14 @@ public class PurpurWorldConfig {
set("mobs.ocelot.attributes.max_health", oldValue);
}
ocelotMaxHealth = getDouble("mobs.ocelot.attributes.max_health", ocelotMaxHealth);
@@ -779,7 +779,7 @@ index 7bc980fee2727359a9a2ecc66f31f3569cf8491f..4df745bede2ecc5e9ee4129b980f9edf
private void pandaSettings() {
pandaRidable = getBoolean("mobs.panda.ridable", pandaRidable);
pandaRidableInWater = getBoolean("mobs.panda.ridable-in-water", pandaRidableInWater);
@@ -1203,6 +1236,7 @@ public class PurpurWorldConfig {
@@ -1199,6 +1232,7 @@ public class PurpurWorldConfig {
set("mobs.panda.attributes.max_health", oldValue);
}
pandaMaxHealth = getDouble("mobs.panda.attributes.max_health", pandaMaxHealth);
@@ -787,7 +787,7 @@ index 7bc980fee2727359a9a2ecc66f31f3569cf8491f..4df745bede2ecc5e9ee4129b980f9edf
}
public boolean parrotRidable = false;
@@ -1286,6 +1320,7 @@ public class PurpurWorldConfig {
@@ -1282,6 +1316,7 @@ public class PurpurWorldConfig {
public boolean pigControllable = true;
public double pigMaxHealth = 10.0D;
public boolean pigGiveSaddleBack = false;
@@ -795,7 +795,7 @@ index 7bc980fee2727359a9a2ecc66f31f3569cf8491f..4df745bede2ecc5e9ee4129b980f9edf
private void pigSettings() {
pigRidable = getBoolean("mobs.pig.ridable", pigRidable);
pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater);
@@ -1297,6 +1332,7 @@ public class PurpurWorldConfig {
@@ -1293,6 +1328,7 @@ public class PurpurWorldConfig {
}
pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth);
pigGiveSaddleBack = getBoolean("mobs.pig.give-saddle-back", pigGiveSaddleBack);
@@ -803,7 +803,7 @@ index 7bc980fee2727359a9a2ecc66f31f3569cf8491f..4df745bede2ecc5e9ee4129b980f9edf
}
public boolean piglinRidable = false;
@@ -1353,6 +1389,7 @@ public class PurpurWorldConfig {
@@ -1349,6 +1385,7 @@ public class PurpurWorldConfig {
public double polarBearMaxHealth = 30.0D;
public String polarBearBreedableItemString = "";
public Item polarBearBreedableItem = null;
@@ -811,7 +811,7 @@ index 7bc980fee2727359a9a2ecc66f31f3569cf8491f..4df745bede2ecc5e9ee4129b980f9edf
private void polarBearSettings() {
polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable);
polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater);
@@ -1366,6 +1403,7 @@ public class PurpurWorldConfig {
@@ -1362,6 +1399,7 @@ public class PurpurWorldConfig {
polarBearBreedableItemString = getString("mobs.polar_bear.breedable-item", polarBearBreedableItemString);
Item item = BuiltInRegistries.ITEM.get(new ResourceLocation(polarBearBreedableItemString));
if (item != Items.AIR) polarBearBreedableItem = item;
@@ -819,7 +819,7 @@ index 7bc980fee2727359a9a2ecc66f31f3569cf8491f..4df745bede2ecc5e9ee4129b980f9edf
}
public boolean pufferfishRidable = false;
@@ -1388,6 +1426,7 @@ public class PurpurWorldConfig {
@@ -1384,6 +1422,7 @@ public class PurpurWorldConfig {
public double rabbitMaxHealth = 3.0D;
public double rabbitNaturalToast = 0.0D;
public double rabbitNaturalKiller = 0.0D;
@@ -827,7 +827,7 @@ index 7bc980fee2727359a9a2ecc66f31f3569cf8491f..4df745bede2ecc5e9ee4129b980f9edf
private void rabbitSettings() {
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
@@ -1400,6 +1439,7 @@ public class PurpurWorldConfig {
@@ -1396,6 +1435,7 @@ public class PurpurWorldConfig {
rabbitMaxHealth = getDouble("mobs.rabbit.attributes.max_health", rabbitMaxHealth);
rabbitNaturalToast = getDouble("mobs.rabbit.spawn-toast-chance", rabbitNaturalToast);
rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller);
@@ -835,7 +835,7 @@ index 7bc980fee2727359a9a2ecc66f31f3569cf8491f..4df745bede2ecc5e9ee4129b980f9edf
}
public boolean ravagerRidable = false;
@@ -1436,6 +1476,7 @@ public class PurpurWorldConfig {
@@ -1432,6 +1472,7 @@ public class PurpurWorldConfig {
public boolean sheepRidableInWater = true;
public boolean sheepControllable = true;
public double sheepMaxHealth = 8.0D;
@@ -843,7 +843,7 @@ index 7bc980fee2727359a9a2ecc66f31f3569cf8491f..4df745bede2ecc5e9ee4129b980f9edf
private void sheepSettings() {
sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable);
sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater);
@@ -1446,6 +1487,7 @@ public class PurpurWorldConfig {
@@ -1442,6 +1483,7 @@ public class PurpurWorldConfig {
set("mobs.sheep.attributes.max_health", oldValue);
}
sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth);
@@ -851,7 +851,7 @@ index 7bc980fee2727359a9a2ecc66f31f3569cf8491f..4df745bede2ecc5e9ee4129b980f9edf
}
public boolean shulkerRidable = false;
@@ -1569,11 +1611,13 @@ public class PurpurWorldConfig {
@@ -1565,11 +1607,13 @@ public class PurpurWorldConfig {
public boolean snifferRidableInWater = true;
public boolean snifferControllable = true;
public double snifferMaxHealth = 14.0D;
@@ -865,7 +865,7 @@ index 7bc980fee2727359a9a2ecc66f31f3569cf8491f..4df745bede2ecc5e9ee4129b980f9edf
}
public boolean squidRidable = false;
@@ -1632,6 +1676,7 @@ public class PurpurWorldConfig {
@@ -1628,6 +1672,7 @@ public class PurpurWorldConfig {
public boolean striderRidableInWater = false;
public boolean striderControllable = true;
public double striderMaxHealth = 20.0D;
@@ -873,7 +873,7 @@ index 7bc980fee2727359a9a2ecc66f31f3569cf8491f..4df745bede2ecc5e9ee4129b980f9edf
private void striderSettings() {
striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
@@ -1642,6 +1687,7 @@ public class PurpurWorldConfig {
@@ -1638,6 +1683,7 @@ public class PurpurWorldConfig {
set("mobs.strider.attributes.max_health", oldValue);
}
striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth);
@@ -881,7 +881,7 @@ index 7bc980fee2727359a9a2ecc66f31f3569cf8491f..4df745bede2ecc5e9ee4129b980f9edf
}
public boolean tadpoleRidable = false;
@@ -1662,6 +1708,7 @@ public class PurpurWorldConfig {
@@ -1658,6 +1704,7 @@ public class PurpurWorldConfig {
public double traderLlamaJumpStrengthMax = 0.5D;
public double traderLlamaMovementSpeedMin = 0.175D;
public double traderLlamaMovementSpeedMax = 0.175D;
@@ -889,7 +889,7 @@ index 7bc980fee2727359a9a2ecc66f31f3569cf8491f..4df745bede2ecc5e9ee4129b980f9edf
private void traderLlamaSettings() {
traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable);
traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater);
@@ -1679,6 +1726,7 @@ public class PurpurWorldConfig {
@@ -1675,6 +1722,7 @@ public class PurpurWorldConfig {
traderLlamaJumpStrengthMax = getDouble("mobs.trader_llama.attributes.jump_strength.max", traderLlamaJumpStrengthMax);
traderLlamaMovementSpeedMin = getDouble("mobs.trader_llama.attributes.movement_speed.min", traderLlamaMovementSpeedMin);
traderLlamaMovementSpeedMax = getDouble("mobs.trader_llama.attributes.movement_speed.max", traderLlamaMovementSpeedMax);
@@ -897,7 +897,7 @@ index 7bc980fee2727359a9a2ecc66f31f3569cf8491f..4df745bede2ecc5e9ee4129b980f9edf
}
public boolean tropicalFishRidable = false;
@@ -1699,6 +1747,7 @@ public class PurpurWorldConfig {
@@ -1695,6 +1743,7 @@ public class PurpurWorldConfig {
public boolean turtleRidableInWater = true;
public boolean turtleControllable = true;
public double turtleMaxHealth = 30.0D;
@@ -905,7 +905,7 @@ index 7bc980fee2727359a9a2ecc66f31f3569cf8491f..4df745bede2ecc5e9ee4129b980f9edf
private void turtleSettings() {
turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable);
turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater);
@@ -1709,6 +1758,7 @@ public class PurpurWorldConfig {
@@ -1705,6 +1754,7 @@ public class PurpurWorldConfig {
set("mobs.turtle.attributes.max_health", oldValue);
}
turtleMaxHealth = getDouble("mobs.turtle.attributes.max_health", turtleMaxHealth);
@@ -913,7 +913,7 @@ index 7bc980fee2727359a9a2ecc66f31f3569cf8491f..4df745bede2ecc5e9ee4129b980f9edf
}
public boolean vexRidable = false;
@@ -1736,6 +1786,7 @@ public class PurpurWorldConfig {
@@ -1732,6 +1782,7 @@ public class PurpurWorldConfig {
public boolean villagerFollowEmeraldBlock = false;
public boolean villagerCanBeLeashed = false;
public boolean villagerCanBreed = true;
@@ -921,7 +921,7 @@ index 7bc980fee2727359a9a2ecc66f31f3569cf8491f..4df745bede2ecc5e9ee4129b980f9edf
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1749,6 +1800,7 @@ public class PurpurWorldConfig {
@@ -1745,6 +1796,7 @@ public class PurpurWorldConfig {
villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock);
villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);
villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed);
@@ -929,7 +929,7 @@ index 7bc980fee2727359a9a2ecc66f31f3569cf8491f..4df745bede2ecc5e9ee4129b980f9edf
}
public boolean vindicatorRidable = false;
@@ -1860,6 +1912,7 @@ public class PurpurWorldConfig {
@@ -1856,6 +1908,7 @@ public class PurpurWorldConfig {
public boolean wolfRidableInWater = true;
public boolean wolfControllable = true;
public double wolfMaxHealth = 8.0D;
@@ -937,7 +937,7 @@ index 7bc980fee2727359a9a2ecc66f31f3569cf8491f..4df745bede2ecc5e9ee4129b980f9edf
private void wolfSettings() {
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater);
@@ -1870,6 +1923,7 @@ public class PurpurWorldConfig {
@@ -1866,6 +1919,7 @@ public class PurpurWorldConfig {
set("mobs.wolf.attributes.max_health", oldValue);
}
wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth);

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Apply display names from item forms of entities to entities
diff --git a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
index 5524a69952130ec38e151509ba7733459146d1b0..76222084727c269d376d0df5702204c0bdf59d81 100644
index 41d6127ef781a2119dc41f18b4831d9e150ba0fa..111b8ffab08b7a3b20cee2533586c19cf89518d7 100644
--- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
+++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
@@ -606,7 +606,7 @@ public class ArmorStand extends LivingEntity {
@@ -619,7 +619,7 @@ public class ArmorStand extends LivingEntity {
private org.bukkit.event.entity.EntityDeathEvent brokenByPlayer(DamageSource damageSource) { // Paper
ItemStack itemstack = new ItemStack(Items.ARMOR_STAND);
@@ -38,7 +38,7 @@ index 759ecd79534a7706f7d4a63eb9dacbefcfe54674..182faba889dc15a3500c5919cad8a548
if (!itemstack.isEmpty()) {
diff --git a/src/main/java/net/minecraft/world/entity/decoration/Painting.java b/src/main/java/net/minecraft/world/entity/decoration/Painting.java
index d5784a19cec98eb199a51acd9e1f4de8c6bf7265..4b3a8e4a084585d56dd10a08405463b1a677368b 100644
index 03c065d0ad97d29f3586ba2bf3cd207b867ed634..62cdc36a21c0203ed98d2946a1efdf549a5ca3ea 100644
--- a/src/main/java/net/minecraft/world/entity/decoration/Painting.java
+++ b/src/main/java/net/minecraft/world/entity/decoration/Painting.java
@@ -159,7 +159,13 @@ public class Painting extends HangingEntity implements VariantHolder<Holder<Pain
@@ -57,10 +57,10 @@ index d5784a19cec98eb199a51acd9e1f4de8c6bf7265..4b3a8e4a084585d56dd10a08405463b1
}
diff --git a/src/main/java/net/minecraft/world/entity/vehicle/Boat.java b/src/main/java/net/minecraft/world/entity/vehicle/Boat.java
index 2173bcd1686756fca85e819495145563fcf8b209..a7ab9e2284d4a1ae6f5601adc3dfac534bce26fc 100644
index 96f4ef06d16483bd4bb88cc36207d5bdc4bd1280..c314febb75a85ef12051bde392c5b57e9c5d85ac 100644
--- a/src/main/java/net/minecraft/world/entity/vehicle/Boat.java
+++ b/src/main/java/net/minecraft/world/entity/vehicle/Boat.java
@@ -223,7 +223,13 @@ public class Boat extends Entity implements VariantHolder<Boat.Type> {
@@ -242,7 +242,13 @@ public class Boat extends Entity implements VariantHolder<Boat.Type> {
}
protected void destroy(DamageSource source) {
@@ -136,7 +136,7 @@ index b2ad6d230de2c29f371178bccde1111c7532ee70..6667926519a0f1c151e53f59cce36e74
if (((HangingEntity) object).survives()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 4df745bede2ecc5e9ee4129b980f9edfd8969d4f..f04861a5ca426b1c53b6d3ec4d3514bcaa9789a2 100644
index 48de43f61f90e2610e04d04803b374cead07f655..6f08b0556b0c8e4d4547ee7982c083972a8e1043 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -97,8 +97,10 @@ public class PurpurWorldConfig {

View File

@@ -17,7 +17,7 @@ index 2941c16ef486345b57ab2dfcd26f0272285d3b5a..7cc6812bf6f2ba015f65fd1fc1eaac02
((Mob) newEntityLiving).setPersistenceRequired();
// Paper end
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f04861a5ca426b1c53b6d3ec4d3514bcaa9789a2..db678a5ee139920d51ba2fb179f1d01feab3c973 100644
index 6f08b0556b0c8e4d4547ee7982c083972a8e1043..28584fe38e7eebf6c4a4e5e84ff064db18067d63 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -98,9 +98,11 @@ public class PurpurWorldConfig {

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.
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 3861f367ac01028139cc6db35fb9a1e20cb39457..f49cbb9fcd13afc10aa76ac80128162a902ae345 100644
index 8b4129b8f0f6a368ae6b168aac404316f12797bb..1985461125defcc2ce40c44408f223ab479e0525 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
@@ -494,7 +494,7 @@ public class EnderMan extends Monster implements NeutralMob {
@@ -495,7 +495,7 @@ public class EnderMan extends Monster implements NeutralMob {
@Override
public boolean requiresCustomPersistence() {
@@ -21,10 +21,10 @@ index 3861f367ac01028139cc6db35fb9a1e20cb39457..f49cbb9fcd13afc10aa76ac80128162a
private static class EndermanFreezeWhenLookedAt extends Goal {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index db678a5ee139920d51ba2fb179f1d01feab3c973..6fdef95d12988207bb682ba165e135a94e505a58 100644
index 28584fe38e7eebf6c4a4e5e84ff064db18067d63..da8485add57441b426a526cde2a83fd7d0cd8d22 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -837,6 +837,7 @@ public class PurpurWorldConfig {
@@ -833,6 +833,7 @@ public class PurpurWorldConfig {
public boolean endermanControllable = true;
public double endermanMaxHealth = 40.0D;
public boolean endermanAllowGriefing = true;
@@ -32,7 +32,7 @@ index db678a5ee139920d51ba2fb179f1d01feab3c973..6fdef95d12988207bb682ba165e135a9
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -848,6 +849,7 @@ public class PurpurWorldConfig {
@@ -844,6 +845,7 @@ public class PurpurWorldConfig {
}
endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth);
endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing);

View File

@@ -18,10 +18,10 @@ index 718e120c9768cf716b32d3d652f53f1dda925168..b90cedad282e95a067aca176fafa9f72
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 6fdef95d12988207bb682ba165e135a94e505a58..e9778b0e02fb94eeea2e8c6e2680b6564b11d399 100644
index da8485add57441b426a526cde2a83fd7d0cd8d22..d6c4a63fad4bf17ea2aa2f0e364ccd99478e5c70 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -354,6 +354,11 @@ public class PurpurWorldConfig {
@@ -350,6 +350,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
index 049a6b2186ff31ac9a815ac501b75488e2e19266..50747e73ab0a37073e431db82d79b1ebc024d347 100644
index 574ef1a38fa65b2eb92c9168de27279efd4dd81c..a6dc66e4e6d53146fff3f7c6af10d9c743343568 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -1302,7 +1302,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
@@ -1299,7 +1299,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
RandomSource randomsource = world.getRandom();
this.getAttribute(Attributes.FOLLOW_RANGE).addPermanentModifier(new AttributeModifier("Random spawn bonus", randomsource.triangle(0.0D, 0.11485000000000001D), AttributeModifier.Operation.MULTIPLY_BASE));
@@ -18,7 +18,7 @@ index 049a6b2186ff31ac9a815ac501b75488e2e19266..50747e73ab0a37073e431db82d79b1eb
} else {
this.setLeftHanded(false);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e9778b0e02fb94eeea2e8c6e2680b6564b11d399..4968d157692e71c54be0fd76069ece3ba0294e5f 100644
index d6c4a63fad4bf17ea2aa2f0e364ccd99478e5c70..ed11a1ca61ef0401936cd612e463a2ad4111585f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -156,8 +156,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
index 8ed1a18cd1b33e1776dbf3b2294ab633f243daae..8419775b8c2c6c8d246d0011d81f540cd09cb403 100644
index 7879d0e0b55977a372189649cfd3ac25afdaec50..255811157c36ac8018652cb031490221f998414b 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1113,7 +1113,16 @@ public class ServerPlayer extends Player {
@@ -1107,7 +1107,16 @@ public class ServerPlayer extends Player {
if (this.isInvulnerableTo(source)) {
return false;
} else {
@@ -25,9 +25,9 @@ index 8ed1a18cd1b33e1776dbf3b2294ab633f243daae..8419775b8c2c6c8d246d0011d81f540c
+ // Purpur end
boolean flag = this.server.isDedicatedServer() && this.isPvpAllowed() && source.is(DamageTypeTags.IS_FALL);
if (!flag && isSpawnInvulnerable() && !source.is(DamageTypeTags.BYPASSES_INVULNERABILITY)) { // Purpur
if (!flag && this.spawnInvulnerableTime > 0 && !source.is(DamageTypeTags.BYPASSES_INVULNERABILITY)) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 4968d157692e71c54be0fd76069ece3ba0294e5f..e3dbb3d81494ecdcedd06e7e16cc17a2d4e15112 100644
index ed11a1ca61ef0401936cd612e463a2ad4111585f..3ecf34286db35cebad22bf09bd1f15d61908a2a1 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -112,6 +112,7 @@ public class PurpurWorldConfig {

View File

@@ -23,10 +23,10 @@ index bd9dd01e9140c2ad0ab9859b9a455f73ab04a253..d3da7487f911ff791dca5f7b546dccda
this.goalSelector.addGoal(3, new LookAtPlayerGoal(this, Player.class, 6.0F));
this.goalSelector.addGoal(4, new RandomLookAroundGoal(this));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e3dbb3d81494ecdcedd06e7e16cc17a2d4e15112..7518f375450448b2f5aa71a999a2b213f78b7583 100644
index 3ecf34286db35cebad22bf09bd1f15d61908a2a1..30635734e1109b0313039f01b46f0836eb5bdd70 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1609,6 +1609,10 @@ public class PurpurWorldConfig {
@@ -1605,6 +1605,10 @@ public class PurpurWorldConfig {
public double snowGolemMaxHealth = 4.0D;
public boolean snowGolemDropsPumpkin = true;
public boolean snowGolemPutPumpkinBack = false;
@@ -37,7 +37,7 @@ index e3dbb3d81494ecdcedd06e7e16cc17a2d4e15112..7518f375450448b2f5aa71a999a2b213
private void snowGolemSettings() {
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
@@ -1622,6 +1626,10 @@ public class PurpurWorldConfig {
@@ -1618,6 +1622,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);

View File

@@ -136,10 +136,10 @@ index cb1d91f9fe98f21c2afbe3894dfd9bca3bdd3ba6..d2703432af207c74ea8d298a784329c3
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 7d13a5308161d4093023b732bed7d06152f54737..605171aedb4f54dcd16837ad1e36097653a26ab6 100644
index a3064132c1ecdbff0414d1c3048a400cef6bad59..b2d3fbe3574069691e6ee3718a095163bac9fc5f 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -223,7 +223,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -222,7 +222,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
brain.addActivity(Activity.PLAY, VillagerGoalPackages.getPlayPackage(0.5F));
} else {
brain.setSchedule(Schedule.VILLAGER_DEFAULT);
@@ -148,7 +148,7 @@ index 7d13a5308161d4093023b732bed7d06152f54737..605171aedb4f54dcd16837ad1e360976
}
brain.addActivity(Activity.CORE, VillagerGoalPackages.getCorePackage(villagerprofession, 0.5F));
@@ -978,6 +978,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -973,6 +973,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
public boolean hasFarmSeeds() {
return this.getInventory().hasAnyMatching((itemstack) -> {
@@ -174,10 +174,10 @@ index ac70c2c03241e73943bd517a8c69dd05e0873634..0318663a824d2a9515f867a075d148c3
public static final VillagerProfession FISHERMAN = register("fisherman", PoiTypes.FISHERMAN, SoundEvents.VILLAGER_WORK_FISHERMAN);
public static final VillagerProfession FLETCHER = register("fletcher", PoiTypes.FLETCHER, SoundEvents.VILLAGER_WORK_FLETCHER);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 7518f375450448b2f5aa71a999a2b213f78b7583..ab7a771a80d5288f79dca65fff3f984536d02d9a 100644
index 30635734e1109b0313039f01b46f0836eb5bdd70..fe18b304ae649e93aefea3461a22151e7b7bdb40 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1812,6 +1812,8 @@ public class PurpurWorldConfig {
@@ -1808,6 +1808,8 @@ public class PurpurWorldConfig {
public boolean villagerCanBeLeashed = false;
public boolean villagerCanBreed = true;
public int villagerBreedingTicks = 6000;
@@ -186,7 +186,7 @@ index 7518f375450448b2f5aa71a999a2b213f78b7583..ab7a771a80d5288f79dca65fff3f9845
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1826,6 +1828,8 @@ public class PurpurWorldConfig {
@@ -1822,6 +1824,8 @@ public class PurpurWorldConfig {
villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);
villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed);
villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks);

View File

@@ -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 3d61b27c23d90e87fdfc8c170eafc116716ac047..67fd554cfd6b848ca1f2cf804ad4543ad2c88845 100644
index 764477c39e690d6373e17c77687809418e0de884..b2d77117309e81db60e7e50911247793fa829755 100644
--- a/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
@@ -152,7 +152,7 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob {
@@ -148,7 +148,7 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob {
this.maybeAlertOthers();
}
@@ -25,7 +25,7 @@ index 3d61b27c23d90e87fdfc8c170eafc116716ac047..67fd554cfd6b848ca1f2cf804ad4543a
this.lastHurtByPlayerTime = this.tickCount;
}
@@ -207,7 +207,7 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob {
@@ -203,7 +203,7 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob {
this.ticksUntilNextAlert = ZombifiedPiglin.ALERT_INTERVAL.sample(this.random);
}
@@ -35,10 +35,10 @@ index 3d61b27c23d90e87fdfc8c170eafc116716ac047..67fd554cfd6b848ca1f2cf804ad4543a
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index ab7a771a80d5288f79dca65fff3f984536d02d9a..b1d2c6b15c8d9977e8d8fcfe61485dab67cd9684 100644
index fe18b304ae649e93aefea3461a22151e7b7bdb40..592ad59fb71d6d638301f5dd0c1b5b9f01fb1df8 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2056,6 +2056,7 @@ public class PurpurWorldConfig {
@@ -2052,6 +2052,7 @@ public class PurpurWorldConfig {
public boolean zombifiedPiglinJockeyOnlyBaby = true;
public double zombifiedPiglinJockeyChance = 0.05D;
public boolean zombifiedPiglinJockeyTryExistingChickens = true;
@@ -46,7 +46,7 @@ index ab7a771a80d5288f79dca65fff3f984536d02d9a..b1d2c6b15c8d9977e8d8fcfe61485dab
private void zombifiedPiglinSettings() {
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
@@ -2070,5 +2071,6 @@ public class PurpurWorldConfig {
@@ -2066,5 +2067,6 @@ public class PurpurWorldConfig {
zombifiedPiglinJockeyOnlyBaby = getBoolean("mobs.zombified_piglin.jockey.only-babies", zombifiedPiglinJockeyOnlyBaby);
zombifiedPiglinJockeyChance = getDouble("mobs.zombified_piglin.jockey.chance", zombifiedPiglinJockeyChance);
zombifiedPiglinJockeyTryExistingChickens = getBoolean("mobs.zombified_piglin.jockey.try-existing-chickens", zombifiedPiglinJockeyTryExistingChickens);

View File

@@ -7,7 +7,7 @@ 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 d8c73365915e67b38292c96a9601f983f121bdf9..f39b278bc520a4785e9fa472bccd836ad1daac85 100644
index 39a923e48750bd960f64aad248c10dd390afc239..6a822abe936aed83da595980e0f698354a205b0b 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
@@ -10,6 +10,7 @@ import net.minecraft.network.syncher.EntityDataAccessor;
@@ -55,7 +55,7 @@ index d8c73365915e67b38292c96a9601f983f121bdf9..f39b278bc520a4785e9fa472bccd836a
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.gameevent.GameEvent;
import net.minecraft.world.level.pathfinder.BlockPathTypes;
@@ -84,6 +91,37 @@ public class Wolf extends TamableAnimal implements NeutralMob {
@@ -86,6 +93,37 @@ public class Wolf extends TamableAnimal implements NeutralMob {
return entitytypes == EntityType.SHEEP || entitytypes == EntityType.RABBIT || entitytypes == EntityType.FOX;
};
@@ -93,7 +93,7 @@ index d8c73365915e67b38292c96a9601f983f121bdf9..f39b278bc520a4785e9fa472bccd836a
private static final float START_HEALTH = 8.0F;
private static final float TAME_HEALTH = 20.0F;
private float interestedAngle;
@@ -135,6 +173,37 @@ public class Wolf extends TamableAnimal implements NeutralMob {
@@ -137,6 +175,37 @@ public class Wolf extends TamableAnimal implements NeutralMob {
return this.level().purpurConfig.wolfBreedingTicks;
}
@@ -131,7 +131,7 @@ index d8c73365915e67b38292c96a9601f983f121bdf9..f39b278bc520a4785e9fa472bccd836a
@Override
protected void registerGoals() {
this.goalSelector.addGoal(1, new FloatGoal(this));
@@ -142,6 +211,7 @@ public class Wolf extends TamableAnimal implements NeutralMob {
@@ -144,6 +213,7 @@ public class Wolf extends TamableAnimal implements NeutralMob {
this.goalSelector.addGoal(1, new Wolf.WolfPanicGoal(1.5D));
this.goalSelector.addGoal(2, new SitWhenOrderedToGoal(this));
this.goalSelector.addGoal(3, new Wolf.WolfAvoidEntityGoal<>(this, Llama.class, 24.0F, 1.5D, 1.5D));
@@ -139,7 +139,7 @@ index d8c73365915e67b38292c96a9601f983f121bdf9..f39b278bc520a4785e9fa472bccd836a
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));
@@ -155,7 +225,7 @@ public class Wolf extends TamableAnimal implements NeutralMob {
@@ -157,7 +227,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());
this.targetSelector.addGoal(4, new NearestAttackableTargetGoal<>(this, Player.class, 10, true, false, this::isAngryAt));
@@ -148,7 +148,7 @@ index d8c73365915e67b38292c96a9601f983f121bdf9..f39b278bc520a4785e9fa472bccd836a
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));
@@ -182,6 +252,7 @@ public class Wolf extends TamableAnimal implements NeutralMob {
@@ -184,6 +254,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 d8c73365915e67b38292c96a9601f983f121bdf9..f39b278bc520a4785e9fa472bccd836a
this.addPersistentAngerSaveData(nbt);
}
@@ -191,6 +262,10 @@ public class Wolf extends TamableAnimal implements NeutralMob {
@@ -193,6 +264,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 d8c73365915e67b38292c96a9601f983f121bdf9..f39b278bc520a4785e9fa472bccd836a
this.readPersistentAngerSaveData(this.level(), nbt);
}
@@ -235,6 +310,11 @@ public class Wolf extends TamableAnimal implements NeutralMob {
@@ -237,6 +312,11 @@ public class Wolf extends TamableAnimal implements NeutralMob {
public void tick() {
super.tick();
if (this.isAlive()) {
@@ -179,7 +179,7 @@ index d8c73365915e67b38292c96a9601f983f121bdf9..f39b278bc520a4785e9fa472bccd836a
this.interestedAngleO = this.interestedAngle;
if (this.isInterested()) {
this.interestedAngle += (1.0F - this.interestedAngle) * 0.4F;
@@ -450,6 +530,19 @@ public class Wolf extends TamableAnimal implements NeutralMob {
@@ -452,6 +532,19 @@ public class Wolf extends TamableAnimal implements NeutralMob {
}
return InteractionResult.SUCCESS;
@@ -221,10 +221,10 @@ index e16459c9cfcac790edd6d912750d32c68387cbbc..890938ad866e2c588f3f819230ba121b
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b1d2c6b15c8d9977e8d8fcfe61485dab67cd9684..839f95b52f3ca44ea479d09b37f7b8aaa67f9672 100644
index 592ad59fb71d6d638301f5dd0c1b5b9f01fb1df8..0c0d5c6dd4d2ed8c5b71acc47fcc9faafd3212b7 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1941,6 +1941,8 @@ public class PurpurWorldConfig {
@@ -1937,6 +1937,8 @@ public class PurpurWorldConfig {
public boolean wolfRidableInWater = true;
public boolean wolfControllable = true;
public double wolfMaxHealth = 8.0D;
@@ -233,7 +233,7 @@ index b1d2c6b15c8d9977e8d8fcfe61485dab67cd9684..839f95b52f3ca44ea479d09b37f7b8aa
public int wolfBreedingTicks = 6000;
private void wolfSettings() {
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
@@ -1952,6 +1954,8 @@ public class PurpurWorldConfig {
@@ -1948,6 +1950,8 @@ public class PurpurWorldConfig {
set("mobs.wolf.attributes.max_health", oldValue);
}
wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth);

View File

@@ -7,10 +7,10 @@ This allows for the server to set a default collar color when a wolf or cat is t
Resets to RED when the value is invalid.
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 ffa2128b63e5e45c2a41e31a6b8b6e8df0bf9be4..956f125c9ae62537570bb9870be66872f3519f6a 100644
index a5b1cc957b824f8cc36693128ce05f5d556cf7d7..fff1da136b618ca8b9256b55996dc1d01dacd7b8 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Cat.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java
@@ -345,6 +345,14 @@ public class Cat extends TamableAnimal implements VariantHolder<CatVariant> {
@@ -346,6 +346,14 @@ public class Cat extends TamableAnimal implements VariantHolder<CatVariant> {
return Mth.lerp(tickDelta, this.relaxStateOneAmountO, this.relaxStateOneAmount);
}
@@ -26,10 +26,10 @@ index ffa2128b63e5e45c2a41e31a6b8b6e8df0bf9be4..956f125c9ae62537570bb9870be66872
@Override
public Cat getBreedOffspring(ServerLevel world, AgeableMob entity) {
diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
index f39b278bc520a4785e9fa472bccd836ad1daac85..8d71d0ad4bf8e0df8ded9ebce6f39e66dd632bb5 100644
index 6a822abe936aed83da595980e0f698354a205b0b..bbecb3894d0f4a24442e8833f4d828e6173287da 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
@@ -204,6 +204,12 @@ public class Wolf extends TamableAnimal implements NeutralMob {
@@ -206,6 +206,12 @@ public class Wolf extends TamableAnimal implements NeutralMob {
return super.finalizeSpawn(world, difficulty, type, data, nbt);
}
@@ -43,10 +43,10 @@ index f39b278bc520a4785e9fa472bccd836ad1daac85..8d71d0ad4bf8e0df8ded9ebce6f39e66
protected void registerGoals() {
this.goalSelector.addGoal(1, new FloatGoal(this));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 839f95b52f3ca44ea479d09b37f7b8aaa67f9672..5ddb33b3f6811ddea949b08ed72e9355489b9167 100644
index 0c0d5c6dd4d2ed8c5b71acc47fcc9faafd3212b7..96d21c69da492eb6646e3cc71029cbe6208c6406 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -625,6 +625,7 @@ public class PurpurWorldConfig {
@@ -621,6 +621,7 @@ public class PurpurWorldConfig {
public int catSpawnSwampHutScanRange = 16;
public int catSpawnVillageScanRange = 48;
public int catBreedingTicks = 6000;
@@ -54,7 +54,7 @@ index 839f95b52f3ca44ea479d09b37f7b8aaa67f9672..5ddb33b3f6811ddea949b08ed72e9355
private void catSettings() {
catRidable = getBoolean("mobs.cat.ridable", catRidable);
catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater);
@@ -639,6 +640,11 @@ public class PurpurWorldConfig {
@@ -635,6 +636,11 @@ public class PurpurWorldConfig {
catSpawnSwampHutScanRange = getInt("mobs.cat.scan-range-for-other-cats.swamp-hut", catSpawnSwampHutScanRange);
catSpawnVillageScanRange = getInt("mobs.cat.scan-range-for-other-cats.village", catSpawnVillageScanRange);
catBreedingTicks = getInt("mobs.cat.breeding-delay-ticks", catBreedingTicks);
@@ -66,7 +66,7 @@ index 839f95b52f3ca44ea479d09b37f7b8aaa67f9672..5ddb33b3f6811ddea949b08ed72e9355
}
public boolean caveSpiderRidable = false;
@@ -1941,6 +1947,7 @@ public class PurpurWorldConfig {
@@ -1937,6 +1943,7 @@ public class PurpurWorldConfig {
public boolean wolfRidableInWater = true;
public boolean wolfControllable = true;
public double wolfMaxHealth = 8.0D;
@@ -74,7 +74,7 @@ index 839f95b52f3ca44ea479d09b37f7b8aaa67f9672..5ddb33b3f6811ddea949b08ed72e9355
public boolean wolfMilkCuresRabies = true;
public double wolfNaturalRabid = 0.0D;
public int wolfBreedingTicks = 6000;
@@ -1954,6 +1961,11 @@ public class PurpurWorldConfig {
@@ -1950,6 +1957,11 @@ public class PurpurWorldConfig {
set("mobs.wolf.attributes.max_health", oldValue);
}
wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Phantom flames on swoop
diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
index 899a7d3989b51456600787ae09b1736f83bf9a65..076a881412d40ce6a8f5e5f83f7598bfa08f199c 100644
index 6849b2ad3b2db840a1af35ef069490506449c861..0f13a3f38760f1117bd545702db7a5b168d9e273 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
@@ -243,6 +243,7 @@ public class Phantom extends FlyingMob implements Enemy {
@@ -244,6 +244,7 @@ public class Phantom extends FlyingMob implements Enemy {
this.level().addParticle(ParticleTypes.MYCELIUM, this.getX() - (double) f2, this.getY() + (double) f4, this.getZ() - (double) f3, 0.0D, 0.0D, 0.0D);
}
@@ -17,10 +17,10 @@ index 899a7d3989b51456600787ae09b1736f83bf9a65..076a881412d40ce6a8f5e5f83f7598bf
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 5ddb33b3f6811ddea949b08ed72e9355489b9167..d755e920048324ae17a08fee7546a4b2fb594f7c 100644
index 96d21c69da492eb6646e3cc71029cbe6208c6406..e7a9a9c1a5261076f810d58a7be137354ac14d1a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1303,6 +1303,7 @@ public class PurpurWorldConfig {
@@ -1299,6 +1299,7 @@ public class PurpurWorldConfig {
public int phantomBurnInLight = 0;
public boolean phantomIgnorePlayersWithTorch = false;
public boolean phantomBurnInDaylight = true;
@@ -28,7 +28,7 @@ index 5ddb33b3f6811ddea949b08ed72e9355489b9167..d755e920048324ae17a08fee7546a4b2
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -1336,6 +1337,7 @@ public class PurpurWorldConfig {
@@ -1332,6 +1333,7 @@ public class PurpurWorldConfig {
phantomBurnInLight = getInt("mobs.phantom.burn-in-light", phantomBurnInLight);
phantomBurnInDaylight = getBoolean("mobs.phantom.burn-in-daylight", phantomBurnInDaylight);
phantomIgnorePlayersWithTorch = getBoolean("mobs.phantom.ignore-players-with-torch", phantomIgnorePlayersWithTorch);

View File

@@ -17,10 +17,10 @@ index 5e22d175b1048a58802cdf64ac70a8b56329e915..d81946b400f208c39941128ce823ff77
return world.getBlockState(blockposition1).isRedstoneConductor(world, blockposition1);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index d755e920048324ae17a08fee7546a4b2fb594f7c..57cb484499525278fe2664ccba83503e9344a874 100644
index e7a9a9c1a5261076f810d58a7be137354ac14d1a..74a210a911211d38be77a6d00a0c032c14f48aad 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -423,6 +423,11 @@ public class PurpurWorldConfig {
@@ -419,6 +419,11 @@ public class PurpurWorldConfig {
}
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Implement TPSBar
diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java
index e5b1b6ad32c48a4ba13b4930954fad18669677ad..4e721dfca7559620d8ce65a6703f2089a839f4a0 100644
index 637648e03985868c1fe420f84fa778b06deb23ee..e1887523b0b6a0479544385932f54ab1de0295ae 100644
--- a/src/main/java/net/minecraft/commands/Commands.java
+++ b/src/main/java/net/minecraft/commands/Commands.java
@@ -227,6 +227,7 @@ public class Commands {
@@ -233,6 +233,7 @@ public class Commands {
org.purpurmc.purpur.command.CreditsCommand.register(this.dispatcher); // Purpur
org.purpurmc.purpur.command.DemoCommand.register(this.dispatcher); // Purpur
org.purpurmc.purpur.command.PingCommand.register(this.dispatcher); // Purpur
@@ -17,10 +17,10 @@ index e5b1b6ad32c48a4ba13b4930954fad18669677ad..4e721dfca7559620d8ce65a6703f2089
if (environment.includeIntegrated) {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index fd3a85a2b0e2dca36044535f8ff77fec63f73aee..d87e3a201d0fddd4c212de1de98ca2870e481149 100644
index 58bd3a05621a2a513efdaa81d63e6c3fff1b3b35..43bd000ff6e91e23198799f74fd0895f0a02fcc1 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1022,6 +1022,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1003,6 +1003,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.safeShutdown(waitForShutdown, false);
}
public void safeShutdown(boolean waitForShutdown, boolean isRestarting) {
@@ -29,29 +29,29 @@ index fd3a85a2b0e2dca36044535f8ff77fec63f73aee..d87e3a201d0fddd4c212de1de98ca287
this.hasLoggedStop = true; // Paper
if (isDebugging()) io.papermc.paper.util.TraceUtil.dumpTraceForThread("Server stopped"); // Paper
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index f8e39a8d6bb1b910ac71931a51d8a36d49d30d10..8089e9ff60c6f7a5f06bbb46b53b07d6a588cea3 100644
index 546c233c0049c88610baa405f932bbd1d8ddf2fb..f7e15e75333ae24ab97483aedccb60bb631a506d 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -350,6 +350,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -347,6 +347,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
DedicatedServer.LOGGER.info("JMX monitoring enabled");
}
if (gg.pufferfish.pufferfish.PufferfishConfig.enableAsyncMobSpawning) mobSpawnExecutor.start(); // Pufferfish
+ org.purpurmc.purpur.task.BossBarTask.startAll(); // Purpur
return true;
}
}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index b72790d23165073cd7529262577cd89ce9e518dd..2e04d1b93dc0ca8b83697d5743250c47c98b81f5 100644
index 255811157c36ac8018652cb031490221f998414b..51bad65820a89ddd5f5266ce855da2dd788d559d 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -280,6 +280,7 @@ public class ServerPlayer extends Player {
@@ -275,6 +275,7 @@ public class ServerPlayer extends Player {
public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper
public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - there are a lot of changes to do if we change all methods leading to the event
public boolean purpurClient = false; // Purpur
public boolean acceptingResourcePack = false; // Purpur
+ private boolean tpsBar = false; // Purpur
// Paper start - replace player chunk loader
private final java.util.concurrent.atomic.AtomicReference<io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances> viewDistances = new java.util.concurrent.atomic.AtomicReference<>(new io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances(-1, -1, -1));
public io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.PlayerChunkLoaderData chunkLoader;
@@ -560,6 +561,7 @@ public class ServerPlayer extends Player {
}
}
@@ -68,7 +68,7 @@ index b72790d23165073cd7529262577cd89ce9e518dd..2e04d1b93dc0ca8b83697d5743250c47
}
// CraftBukkit start - World fallback code, either respawn location or global spawn
@@ -2794,5 +2797,13 @@ public class ServerPlayer extends Player {
@@ -2767,5 +2770,13 @@ public class ServerPlayer extends Player {
this.server.getPlayerList().respawn(this, toLevel, true, to, !toLevel.paperConfig().environment.disableTeleportationSuffocationCheck, org.bukkit.event.player.PlayerRespawnEvent.RespawnReason.DEATH);
}
}
@@ -83,10 +83,10 @@ index b72790d23165073cd7529262577cd89ce9e518dd..2e04d1b93dc0ca8b83697d5743250c47
// Purpur end
}
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 9cecf7d3e2f860f9de5dd13a352d8d7ed6f95266..9a60fa370f37179a7460b316d26e601197b478c7 100644
index c6adced2551977dff3000dce8f6c0b35c295e85e..d711decc32169f662818d8db60d3dd8182efbc00 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -484,6 +484,7 @@ public abstract class PlayerList {
@@ -467,6 +467,7 @@ public abstract class PlayerList {
scoreboard.addPlayerToTeam(player.getScoreboardName(), collideRuleTeam);
}
// Paper end
@@ -94,7 +94,7 @@ index 9cecf7d3e2f860f9de5dd13a352d8d7ed6f95266..9a60fa370f37179a7460b316d26e6011
// CraftBukkit - Moved from above, added world
PlayerList.LOGGER.info("{}[{}] logged in with entity id {} at ([{}]{}, {}, {})", player.getName().getString(), s1, player.getId(), worldserver1.serverLevelData.getLevelName(), player.getX(), player.getY(), player.getZ());
}
@@ -593,6 +594,7 @@ public abstract class PlayerList {
@@ -580,6 +581,7 @@ public abstract class PlayerList {
}
public net.kyori.adventure.text.Component remove(ServerPlayer entityplayer, net.kyori.adventure.text.Component leaveMessage) {
// Paper end

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Striders give saddle back
diff --git a/src/main/java/net/minecraft/world/entity/monster/Strider.java b/src/main/java/net/minecraft/world/entity/monster/Strider.java
index 93dca4758ed995373fe1585930f225604a4153fa..4c077c94b654f54465ece2aa45c5ead0a417ad0d 100644
index 10136a5062d154456c962e7d1a99c2dedbd568ed..64503362c42daa39dcfa270bc50b0e2187f13a01 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Strider.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Strider.java
@@ -486,6 +486,19 @@ public class Strider extends Animal implements ItemSteerable, Saddleable {
@@ -484,6 +484,19 @@ public class Strider extends Animal implements ItemSteerable, Saddleable {
public InteractionResult mobInteract(Player player, InteractionHand hand) {
boolean flag = this.isFood(player.getItemInHand(hand));
@@ -29,10 +29,10 @@ index 93dca4758ed995373fe1585930f225604a4153fa..4c077c94b654f54465ece2aa45c5ead0
if (!this.level().isClientSide) {
player.startRiding(this);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 57cb484499525278fe2664ccba83503e9344a874..a0607bcc0da66718928c0ca6e0e02a5a4a56eaf4 100644
index 74a210a911211d38be77a6d00a0c032c14f48aad..a877974c3b3336ae49da1bcf56b66427d1748c35 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1715,6 +1715,7 @@ public class PurpurWorldConfig {
@@ -1711,6 +1711,7 @@ public class PurpurWorldConfig {
public boolean striderControllable = true;
public double striderMaxHealth = 20.0D;
public int striderBreedingTicks = 6000;
@@ -40,7 +40,7 @@ index 57cb484499525278fe2664ccba83503e9344a874..a0607bcc0da66718928c0ca6e0e02a5a
private void striderSettings() {
striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
@@ -1726,6 +1727,7 @@ public class PurpurWorldConfig {
@@ -1722,6 +1723,7 @@ public class PurpurWorldConfig {
}
striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth);
striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] PlayerBookTooLargeEvent
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 8126b1a67e62077c8a78f13deee767236665d7fa..6c5b0d1d8fe7fae29dc1ed449e0412c9f449acf9 100644
index 2976ddef7292f3cdf14353d20b1e4e2085dbb1a8..4b48e20b88724ef7253c11ffd0f5787d40b37217 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1279,10 +1279,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -1147,10 +1147,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
int maxBookPageSize = io.papermc.paper.configuration.GlobalConfiguration.get().itemValidation.bookSize.pageMax;
double multiplier = Math.max(0.3D, Math.min(1D, io.papermc.paper.configuration.GlobalConfiguration.get().itemValidation.bookSize.totalMultiplier));
long byteAllowed = maxBookPageSize;
@@ -21,7 +21,7 @@ index 8126b1a67e62077c8a78f13deee767236665d7fa..6c5b0d1d8fe7fae29dc1ed449e0412c9
server.scheduleOnMain(() -> this.disconnect("Book too large!", org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_ACTION)); // Paper - kick event cause
return;
}
@@ -1306,6 +1308,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -1174,6 +1176,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
if (byteTotal > byteAllowed) {
ServerGamePacketListenerImpl.LOGGER.warn(this.player.getScoreboardName() + " tried to send too large of a book. Book Size: " + byteTotal + " - Allowed: "+ byteAllowed + " - Pages: " + pageList.size());

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Full netherite armor grants fire resistance
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index fa2a0cc24bbe31abd49ce0f3f41bab2aa5d9c81f..04e816f01db7d2de7ffa9bbaaa72daadaab34831 100644
index dd7e47ddde00e0b4f3b9833c1793246547ba0cf2..a21feaa31c6aa3c7f2198b3b4a84af101aa16988 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -366,6 +366,16 @@ public abstract class Player extends LivingEntity {
@@ -367,6 +367,16 @@ public abstract class Player extends LivingEntity {
this.addEffect(new MobEffectInstance(MobEffects.WATER_BREATHING, 200, 0, false, false, true), org.bukkit.event.entity.EntityPotionEffectEvent.Cause.TURTLE_HELMET); // CraftBukkit
}
@@ -26,7 +26,7 @@ index fa2a0cc24bbe31abd49ce0f3f41bab2aa5d9c81f..04e816f01db7d2de7ffa9bbaaa72daad
protected ItemCooldowns createItemCooldowns() {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a0607bcc0da66718928c0ca6e0e02a5a4a56eaf4..2606c631d93c8e7b99b0ac1fffffa6b0ce388679 100644
index a877974c3b3336ae49da1bcf56b66427d1748c35..be24ad68043d014d23879dfe4730c582a7b81689 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -295,6 +295,19 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Fix rotating UP/DOWN CW and CCW
diff --git a/src/main/java/net/minecraft/core/Direction.java b/src/main/java/net/minecraft/core/Direction.java
index d0a8092bf57a29ab7c00ec0ddf52a9fdb2a33267..defe5951938ce3a7b7f83017d4af36bb49ff5be0 100644
index 392406722b0a040c1d41fdc1154d75d39f6e9c86..b805e57d5a67d77d226cd8154e970050e2e8ef4a 100644
--- a/src/main/java/net/minecraft/core/Direction.java
+++ b/src/main/java/net/minecraft/core/Direction.java
@@ -238,6 +238,12 @@ public enum Direction implements StringRepresentable {
@@ -253,6 +253,12 @@ public enum Direction implements StringRepresentable {
case EAST:
var10000 = SOUTH;
break;
@@ -21,7 +21,7 @@ index d0a8092bf57a29ab7c00ec0ddf52a9fdb2a33267..defe5951938ce3a7b7f83017d4af36bb
default:
throw new IllegalStateException("Unable to get Y-rotated facing of " + this);
}
@@ -350,6 +356,12 @@ public enum Direction implements StringRepresentable {
@@ -365,6 +371,12 @@ public enum Direction implements StringRepresentable {
case EAST:
var10000 = NORTH;
break;

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add mobGriefing bypass to everything affected
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 5b6b650e9fc477176d3229c28141d61ad50a2cda..47d1c9cd74454cb0ff2b3e0bcad40a3208129c7a 100644
index de704fea146a758f27dc5c476ef08b58b4524e53..73f3853b4e554fc75b9f49f11df1060bd6340261 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1772,7 +1772,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -1793,7 +1793,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
boolean flag = false;
if (this.dead && adversary instanceof WitherBoss) { // Paper
@@ -18,10 +18,10 @@ index 5b6b650e9fc477176d3229c28141d61ad50a2cda..47d1c9cd74454cb0ff2b3e0bcad40a32
BlockState iblockdata = Blocks.WITHER_ROSE.defaultBlockState();
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index 50747e73ab0a37073e431db82d79b1ebc024d347..6ae71386cdc0d30defd9a86b97f5e619d2dbf5fe 100644
index a6dc66e4e6d53146fff3f7c6af10d9c743343568..6766e78c961d17a6f380f6814c9ddb120b374d5f 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -703,7 +703,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
@@ -702,7 +702,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
public void aiStep() {
super.aiStep();
this.level().getProfiler().push("looting");
@@ -92,10 +92,10 @@ index 509317a26c79f453335df1c19dc4c9ec570046af..8e4d673e4f2d7f50ea5ed13794da08b1
} else if (this.nextStartTick > 0) {
--this.nextStartTick;
diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
index 2cf00af66b73e1891fadcabcf83307873cbed710..2a6f6753ce9b7ab899256edc181a92c19021822b 100644
index b13429e254bd056cf942f39d46976ff0ef2a97f3..948760c9ee6ba921a7f1b4200fc77aa13f198984 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
@@ -1377,7 +1377,7 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
@@ -1385,7 +1385,7 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
}
protected void onReachedTarget() {
@@ -105,10 +105,10 @@ index 2cf00af66b73e1891fadcabcf83307873cbed710..2a6f6753ce9b7ab899256edc181a92c1
if (iblockdata.is(Blocks.SWEET_BERRY_BUSH)) {
diff --git a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
index 787391763cac2ae6ed9c178c44616b992849e819..0187af6c3380c1880ae1e3b8982b1543ae9da4a5 100644
index c25776ef9805f3f4e31ca5b027e6577526e48819..86502ef70f2213191d1348ef98969c5c93a6cb95 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
@@ -633,7 +633,7 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
@@ -634,7 +634,7 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
@Override
public boolean canUse() {
if (this.nextStartTick <= 0) {
@@ -131,10 +131,10 @@ index d3da7487f911ff791dca5f7b546dccda751fe44c..84e0a41620fd52af0cd22dc92fd13ee4
}
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
index 3898653acb6127c88a94b5e7111a9cfecb2d136e..8f71c3b94ed17fd72e6bacce7d0a8e3943c37c36 100644
index 4149a7aea12cac04a2dfe29e071047de461eb3f4..0d16d486c7efc9a8c4c0db648175cacee5aa3a04 100644
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
@@ -612,7 +612,7 @@ public class EnderDragon extends Mob implements Enemy {
@@ -603,7 +603,7 @@ public class EnderDragon extends Mob implements Enemy {
BlockState iblockdata = this.level().getBlockState(blockposition);
if (!iblockdata.isAir() && !iblockdata.is(BlockTags.DRAGON_TRANSPARENT)) {
@@ -144,10 +144,10 @@ index 3898653acb6127c88a94b5e7111a9cfecb2d136e..8f71c3b94ed17fd72e6bacce7d0a8e39
// flag1 = this.level().removeBlock(blockposition, false) || flag1;
flag1 = true;
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
index 8796b779ac0550e32c7313b1280278de48070baf..97be7061d3cccac7b64f4b1a234ccbd83e2b7407 100644
index b395d5c85f26ca4252d3f8f886b2ee5a7892af5f..17432b434c899a4d075e4619b4a2bfe3d5761b49 100644
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
@@ -492,7 +492,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
@@ -485,7 +485,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
if (this.destroyBlocksTick > 0) {
--this.destroyBlocksTick;
@@ -157,10 +157,10 @@ index 8796b779ac0550e32c7313b1280278de48070baf..97be7061d3cccac7b64f4b1a234ccbd8
j = Mth.floor(this.getX());
int i1 = Mth.floor(this.getZ());
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 f49cbb9fcd13afc10aa76ac80128162a902ae345..65a6073a976ce0924ce3a9c7a34253b7e5a9fcec 100644
index 1985461125defcc2ce40c44408f223ab479e0525..58b3163898cf75c5e8bff020e65e8abe4af92000 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
@@ -542,7 +542,15 @@ public class EnderMan extends Monster implements NeutralMob {
@@ -543,7 +543,15 @@ public class EnderMan extends Monster implements NeutralMob {
@Override
public boolean canUse() {
if (!enderman.level().purpurConfig.endermanAllowGriefing) return false; // Purpur
@@ -177,7 +177,7 @@ index f49cbb9fcd13afc10aa76ac80128162a902ae345..65a6073a976ce0924ce3a9c7a34253b7
}
@Override
@@ -588,7 +596,15 @@ public class EnderMan extends Monster implements NeutralMob {
@@ -589,7 +597,15 @@ public class EnderMan extends Monster implements NeutralMob {
@Override
public boolean canUse() {
if (!enderman.level().purpurConfig.endermanAllowGriefing) return false; // Purpur
@@ -195,10 +195,10 @@ index f49cbb9fcd13afc10aa76ac80128162a902ae345..65a6073a976ce0924ce3a9c7a34253b7
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/Evoker.java b/src/main/java/net/minecraft/world/entity/monster/Evoker.java
index f71a70a72ba0bb01c26291ad9dbdd3b01bbf6ee7..ea2a2c56f94d03b73a5e3a06f91aee7fcb0867f4 100644
index 86999c7932216871b4b6e06d68168e3b48038a18..fbcb6b4cf4234d6eba989210012ab360c1b323a4 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Evoker.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Evoker.java
@@ -341,7 +341,7 @@ public class Evoker extends SpellcasterIllager {
@@ -345,7 +345,7 @@ public class Evoker extends SpellcasterIllager {
return false;
} else if (Evoker.this.tickCount < this.nextAttackTickCount) {
return false;
@@ -208,10 +208,10 @@ index f71a70a72ba0bb01c26291ad9dbdd3b01bbf6ee7..ea2a2c56f94d03b73a5e3a06f91aee7f
} else {
List<Sheep> list = Evoker.this.level().getNearbyEntities(Sheep.class, this.wololoTargeting, Evoker.this, Evoker.this.getBoundingBox().inflate(16.0D, 4.0D, 16.0D));
diff --git a/src/main/java/net/minecraft/world/entity/monster/Ravager.java b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
index 92b14a6056dfbf07852fc0ee0e3eaf7b4c1657a4..ab13d20dda5a8af471fd459950e7c3e2215e59db 100644
index 28795558000d76fd255faabc79cc45600efa2c92..5aa00878c4c7be4a38137a93b1a2cf1c468422ea 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Ravager.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
@@ -193,7 +193,7 @@ public class Ravager extends Raider {
@@ -176,7 +176,7 @@ public class Ravager extends Raider {
this.getAttribute(Attributes.MOVEMENT_SPEED).setBaseValue(Mth.lerp(0.1D, d1, d0));
}
@@ -221,10 +221,10 @@ index 92b14a6056dfbf07852fc0ee0e3eaf7b4c1657a4..ab13d20dda5a8af471fd459950e7c3e2
AABB axisalignedbb = this.getBoundingBox().inflate(0.2D);
Iterator iterator = BlockPos.betweenClosed(Mth.floor(axisalignedbb.minX), Mth.floor(axisalignedbb.minY), Mth.floor(axisalignedbb.minZ), Mth.floor(axisalignedbb.maxX), Mth.floor(axisalignedbb.maxY), Mth.floor(axisalignedbb.maxZ)).iterator();
diff --git a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
index 43b330e263ebe20b76629c350bf7773220f6583e..8f813469ece9f57b19335a155e97d73ed8ce1478 100644
index 1738f0a251e4cab2eb3f122e83366afb02201765..49a37d294bac8205ac0a795daa300ccc8170c8a8 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
@@ -208,7 +208,7 @@ public class Silverfish extends Monster {
@@ -210,7 +210,7 @@ public class Silverfish extends Monster {
continue;
}
// CraftBukkit end
@@ -233,7 +233,7 @@ index 43b330e263ebe20b76629c350bf7773220f6583e..8f813469ece9f57b19335a155e97d73e
world.destroyBlock(blockposition1, true, this.silverfish);
} else {
world.setBlock(blockposition1, ((InfestedBlock) block).hostStateByInfested(world.getBlockState(blockposition1)), 3);
@@ -246,7 +246,7 @@ public class Silverfish extends Monster {
@@ -248,7 +248,7 @@ public class Silverfish extends Monster {
} else {
RandomSource randomsource = this.mob.getRandom();
@@ -243,10 +243,10 @@ index 43b330e263ebe20b76629c350bf7773220f6583e..8f813469ece9f57b19335a155e97d73e
BlockPos blockposition = BlockPos.containing(this.mob.getX(), this.mob.getY() + 0.5D, this.mob.getZ()).relative(this.selectedDirection);
BlockState iblockdata = this.mob.level().getBlockState(blockposition);
diff --git a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
index e45c061931c5ca03e204b78e60010a906d3ec945..e2e9545a583deb1e2bbdcb76e459d8bd481d5d77 100644
index 7507b22e4ec079f359974d7e05eff3b29e59c8e6..f7ea134aa7ea4d783e3bbe53eefd04d62d7e732a 100644
--- a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
+++ b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
@@ -429,7 +429,7 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
@@ -423,7 +423,7 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
@Override
public boolean wantsToPickUp(ItemStack stack) {
@@ -284,10 +284,10 @@ index 251e6bc87eb02ec4372062ef22b21249ac5164ff..6b60597a0e837054b0d1891c1e6e5e7c
// CraftBukkit start - fire ExplosionPrimeEvent
ExplosionPrimeEvent event = new ExplosionPrimeEvent((org.bukkit.entity.Explosive) this.getBukkitEntity());
diff --git a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
index cd0629581bae5f805842157af36c2d838e01bee3..b0a559dfefac693bda8692a30fbaa5ac8062ef27 100644
index a90317100d32974e481e14476843f66997a2cf3a..6b9236704d063b09b7948f378670e35b4ab98ffb 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
@@ -326,6 +326,6 @@ public abstract class Projectile extends Entity implements TraceableEntity {
@@ -296,6 +296,6 @@ public abstract class Projectile extends Entity implements TraceableEntity {
public boolean mayInteract(Level world, BlockPos pos) {
Entity entity = this.getOwner();
@@ -309,7 +309,7 @@ index 04c2ea1ff44af72ae48e2d6b7b912b1c14285038..7839d856b3f924f0c87b298d9a1e3b15
// CraftBukkit end
}
diff --git a/src/main/java/net/minecraft/world/entity/raid/Raider.java b/src/main/java/net/minecraft/world/entity/raid/Raider.java
index 57fdcdaf54fd1c92a6e51a3a81789029096e5abe..822dd4265ce02252afadbc652064450b7dfd7e0d 100644
index cdbc925ef61b8b439415f0a89368227890bcecb2..300411e88cdaef7e0ce280edbd5f18fa8d004a33 100644
--- a/src/main/java/net/minecraft/world/entity/raid/Raider.java
+++ b/src/main/java/net/minecraft/world/entity/raid/Raider.java
@@ -319,7 +319,7 @@ public abstract class Raider extends PatrollingMonster {
@@ -322,10 +322,10 @@ index 57fdcdaf54fd1c92a6e51a3a81789029096e5abe..822dd4265ce02252afadbc652064450b
if (this.mob.hasActiveRaid() && !this.mob.getCurrentRaid().isOver() && this.mob.canBeLeader() && !ItemStack.matches(this.mob.getItemBySlot(EquipmentSlot.HEAD), Raid.getLeaderBannerInstance())) {
diff --git a/src/main/java/net/minecraft/world/level/block/CropBlock.java b/src/main/java/net/minecraft/world/level/block/CropBlock.java
index decb8caa67bc5f4525e4d92fedf465a17171fceb..5ba5a510b30917235e135ccda1b7c98cb7dd93ec 100644
index 6365ddea0c23bc5d4009d98915f2b39aed2a0328..c7ba8503b2722e5d9ce0699b959cd6be01128055 100644
--- a/src/main/java/net/minecraft/world/level/block/CropBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/CropBlock.java
@@ -168,7 +168,7 @@ public class CropBlock extends BushBlock implements BonemealableBlock {
@@ -172,7 +172,7 @@ public class CropBlock extends BushBlock implements BonemealableBlock {
@Override
public void entityInside(BlockState state, Level world, BlockPos pos, Entity entity) {
if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper
@@ -348,10 +348,10 @@ index 7efae60a9a9269703a1fa7cd280b5b96557ec73e..e7b5f54d2fc53878e9466ccca972df21
org.bukkit.event.Cancellable cancellable;
if (entity instanceof Player) {
diff --git a/src/main/java/net/minecraft/world/level/block/PowderSnowBlock.java b/src/main/java/net/minecraft/world/level/block/PowderSnowBlock.java
index 7e04ecba2a14be0f0d47c917368abd2a2bd64a05..5c944e39e611201c6ae4dad14511a54c451204f6 100644
index e6fcea4482d5d87ed78beefad4c57bc86089460f..1626eb90a6b348ad9735b82452f52d4560075a03 100644
--- a/src/main/java/net/minecraft/world/level/block/PowderSnowBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/PowderSnowBlock.java
@@ -72,7 +72,7 @@ public class PowderSnowBlock extends Block implements BucketPickup {
@@ -73,7 +73,7 @@ public class PowderSnowBlock extends Block implements BucketPickup {
if (!world.isClientSide) {
// CraftBukkit start
if (entity.isOnFire() && entity.mayInteract(world, pos)) {
@@ -361,10 +361,10 @@ index 7e04ecba2a14be0f0d47c917368abd2a2bd64a05..5c944e39e611201c6ae4dad14511a54c
}
// CraftBukkit end
diff --git a/src/main/java/net/minecraft/world/level/block/TurtleEggBlock.java b/src/main/java/net/minecraft/world/level/block/TurtleEggBlock.java
index e53294e9c4bb3e832acbdc82bebc0df94523c7e4..86360fad47e4cda64b02ce4c8c0227649ed69a5d 100644
index 18feb559f9fd157dd4a01faf2b2bb18df2a64675..9c834e3deed07eb70e6a57df2db732c1e2334737 100644
--- a/src/main/java/net/minecraft/world/level/block/TurtleEggBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/TurtleEggBlock.java
@@ -211,7 +211,7 @@ public class TurtleEggBlock extends Block {
@@ -213,7 +213,7 @@ public class TurtleEggBlock extends Block {
}
if (entity instanceof Player) return true;
@@ -374,7 +374,7 @@ index e53294e9c4bb3e832acbdc82bebc0df94523c7e4..86360fad47e4cda64b02ce4c8c022764
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 2606c631d93c8e7b99b0ac1fffffa6b0ce388679..ce4855a70ad684c33420bf84c701fb46ad46e021 100644
index be24ad68043d014d23879dfe4730c582a7b81689..499595ee7ab97559f562ecfbf4479a6b75506d9d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -115,8 +115,11 @@ public class PurpurWorldConfig {
@@ -401,7 +401,7 @@ index 2606c631d93c8e7b99b0ac1fffffa6b0ce388679..ce4855a70ad684c33420bf84c701fb46
tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight);
voidDamageHeight = getDouble("gameplay-mechanics.void-damage-height", voidDamageHeight);
voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt);
@@ -448,9 +454,11 @@ public class PurpurWorldConfig {
@@ -444,9 +450,11 @@ public class PurpurWorldConfig {
dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils);
}
@@ -413,7 +413,7 @@ index 2606c631d93c8e7b99b0ac1fffffa6b0ce388679..ce4855a70ad684c33420bf84c701fb46
farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow);
farmlandAlpha = getBoolean("blocks.farmland.use-alpha-farmland", farmlandAlpha);
}
@@ -475,6 +483,11 @@ public class PurpurWorldConfig {
@@ -471,6 +479,11 @@ public class PurpurWorldConfig {
lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether);
}
@@ -425,7 +425,7 @@ index 2606c631d93c8e7b99b0ac1fffffa6b0ce388679..ce4855a70ad684c33420bf84c701fb46
public boolean respawnAnchorExplode = true;
public double respawnAnchorExplosionPower = 5.0D;
public boolean respawnAnchorExplosionFire = true;
@@ -504,10 +517,12 @@ public class PurpurWorldConfig {
@@ -500,10 +513,12 @@ public class PurpurWorldConfig {
public boolean turtleEggsBreakFromExpOrbs = true;
public boolean turtleEggsBreakFromItems = true;
public boolean turtleEggsBreakFromMinecarts = true;
@@ -438,7 +438,7 @@ index 2606c631d93c8e7b99b0ac1fffffa6b0ce388679..ce4855a70ad684c33420bf84c701fb46
}
public int waterInfiniteRequiredSources = 2;
@@ -741,6 +756,7 @@ public class PurpurWorldConfig {
@@ -737,6 +752,7 @@ public class PurpurWorldConfig {
public double creeperMaxHealth = 20.0D;
public double creeperChargedChance = 0.0D;
public boolean creeperAllowGriefing = true;
@@ -446,7 +446,7 @@ index 2606c631d93c8e7b99b0ac1fffffa6b0ce388679..ce4855a70ad684c33420bf84c701fb46
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -753,6 +769,7 @@ public class PurpurWorldConfig {
@@ -749,6 +765,7 @@ public class PurpurWorldConfig {
creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth);
creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance);
creeperAllowGriefing = getBoolean("mobs.creeper.allow-griefing", creeperAllowGriefing);
@@ -454,7 +454,7 @@ index 2606c631d93c8e7b99b0ac1fffffa6b0ce388679..ce4855a70ad684c33420bf84c701fb46
}
public boolean dolphinRidable = false;
@@ -847,6 +864,7 @@ public class PurpurWorldConfig {
@@ -843,6 +860,7 @@ public class PurpurWorldConfig {
public double enderDragonMaxY = 320D;
public double enderDragonMaxHealth = 200.0D;
public boolean enderDragonAlwaysDropsFullExp = false;
@@ -462,7 +462,7 @@ index 2606c631d93c8e7b99b0ac1fffffa6b0ce388679..ce4855a70ad684c33420bf84c701fb46
private void enderDragonSettings() {
enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable);
enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater);
@@ -863,6 +881,7 @@ public class PurpurWorldConfig {
@@ -859,6 +877,7 @@ public class PurpurWorldConfig {
}
enderDragonMaxHealth = getDouble("mobs.ender_dragon.attributes.max_health", enderDragonMaxHealth);
enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp);
@@ -470,7 +470,7 @@ index 2606c631d93c8e7b99b0ac1fffffa6b0ce388679..ce4855a70ad684c33420bf84c701fb46
}
public boolean endermanRidable = false;
@@ -871,6 +890,7 @@ public class PurpurWorldConfig {
@@ -867,6 +886,7 @@ public class PurpurWorldConfig {
public double endermanMaxHealth = 40.0D;
public boolean endermanAllowGriefing = true;
public boolean endermanDespawnEvenWithBlock = false;
@@ -478,7 +478,7 @@ index 2606c631d93c8e7b99b0ac1fffffa6b0ce388679..ce4855a70ad684c33420bf84c701fb46
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -883,6 +903,7 @@ public class PurpurWorldConfig {
@@ -879,6 +899,7 @@ public class PurpurWorldConfig {
endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth);
endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing);
endermanDespawnEvenWithBlock = getBoolean("mobs.enderman.can-despawn-with-held-block", endermanDespawnEvenWithBlock);
@@ -486,7 +486,7 @@ index 2606c631d93c8e7b99b0ac1fffffa6b0ce388679..ce4855a70ad684c33420bf84c701fb46
}
public boolean endermiteRidable = false;
@@ -905,6 +926,7 @@ public class PurpurWorldConfig {
@@ -901,6 +922,7 @@ public class PurpurWorldConfig {
public boolean evokerRidableInWater = true;
public boolean evokerControllable = true;
public double evokerMaxHealth = 24.0D;
@@ -494,7 +494,7 @@ index 2606c631d93c8e7b99b0ac1fffffa6b0ce388679..ce4855a70ad684c33420bf84c701fb46
private void evokerSettings() {
evokerRidable = getBoolean("mobs.evoker.ridable", evokerRidable);
evokerRidableInWater = getBoolean("mobs.evoker.ridable-in-water", evokerRidableInWater);
@@ -915,6 +937,7 @@ public class PurpurWorldConfig {
@@ -911,6 +933,7 @@ public class PurpurWorldConfig {
set("mobs.evoker.attributes.max_health", oldValue);
}
evokerMaxHealth = getDouble("mobs.evoker.attributes.max_health", evokerMaxHealth);
@@ -502,7 +502,7 @@ index 2606c631d93c8e7b99b0ac1fffffa6b0ce388679..ce4855a70ad684c33420bf84c701fb46
}
public boolean foxRidable = false;
@@ -923,6 +946,7 @@ public class PurpurWorldConfig {
@@ -919,6 +942,7 @@ public class PurpurWorldConfig {
public double foxMaxHealth = 10.0D;
public boolean foxTypeChangesWithTulips = false;
public int foxBreedingTicks = 6000;
@@ -510,7 +510,7 @@ index 2606c631d93c8e7b99b0ac1fffffa6b0ce388679..ce4855a70ad684c33420bf84c701fb46
private void foxSettings() {
foxRidable = getBoolean("mobs.fox.ridable", foxRidable);
foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater);
@@ -935,6 +959,7 @@ public class PurpurWorldConfig {
@@ -931,6 +955,7 @@ public class PurpurWorldConfig {
foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth);
foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips);
foxBreedingTicks = getInt("mobs.fox.breeding-delay-ticks", foxBreedingTicks);
@@ -518,7 +518,7 @@ index 2606c631d93c8e7b99b0ac1fffffa6b0ce388679..ce4855a70ad684c33420bf84c701fb46
}
public boolean frogRidable = false;
@@ -1382,6 +1407,7 @@ public class PurpurWorldConfig {
@@ -1378,6 +1403,7 @@ public class PurpurWorldConfig {
public boolean piglinRidableInWater = true;
public boolean piglinControllable = true;
public double piglinMaxHealth = 16.0D;
@@ -526,7 +526,7 @@ index 2606c631d93c8e7b99b0ac1fffffa6b0ce388679..ce4855a70ad684c33420bf84c701fb46
private void piglinSettings() {
piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable);
piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater);
@@ -1392,6 +1418,7 @@ public class PurpurWorldConfig {
@@ -1388,6 +1414,7 @@ public class PurpurWorldConfig {
set("mobs.piglin.attributes.max_health", oldValue);
}
piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth);
@@ -534,7 +534,7 @@ index 2606c631d93c8e7b99b0ac1fffffa6b0ce388679..ce4855a70ad684c33420bf84c701fb46
}
public boolean piglinBruteRidable = false;
@@ -1414,6 +1441,7 @@ public class PurpurWorldConfig {
@@ -1410,6 +1437,7 @@ public class PurpurWorldConfig {
public boolean pillagerRidableInWater = true;
public boolean pillagerControllable = true;
public double pillagerMaxHealth = 24.0D;
@@ -542,7 +542,7 @@ index 2606c631d93c8e7b99b0ac1fffffa6b0ce388679..ce4855a70ad684c33420bf84c701fb46
private void pillagerSettings() {
pillagerRidable = getBoolean("mobs.pillager.ridable", pillagerRidable);
pillagerRidableInWater = getBoolean("mobs.pillager.ridable-in-water", pillagerRidableInWater);
@@ -1424,6 +1452,7 @@ public class PurpurWorldConfig {
@@ -1420,6 +1448,7 @@ public class PurpurWorldConfig {
set("mobs.pillager.attributes.max_health", oldValue);
}
pillagerMaxHealth = getDouble("mobs.pillager.attributes.max_health", pillagerMaxHealth);
@@ -550,7 +550,7 @@ index 2606c631d93c8e7b99b0ac1fffffa6b0ce388679..ce4855a70ad684c33420bf84c701fb46
}
public boolean polarBearRidable = false;
@@ -1470,6 +1499,7 @@ public class PurpurWorldConfig {
@@ -1466,6 +1495,7 @@ public class PurpurWorldConfig {
public double rabbitNaturalToast = 0.0D;
public double rabbitNaturalKiller = 0.0D;
public int rabbitBreedingTicks = 6000;
@@ -558,7 +558,7 @@ index 2606c631d93c8e7b99b0ac1fffffa6b0ce388679..ce4855a70ad684c33420bf84c701fb46
private void rabbitSettings() {
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
@@ -1483,12 +1513,14 @@ public class PurpurWorldConfig {
@@ -1479,12 +1509,14 @@ public class PurpurWorldConfig {
rabbitNaturalToast = getDouble("mobs.rabbit.spawn-toast-chance", rabbitNaturalToast);
rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller);
rabbitBreedingTicks = getInt("mobs.rabbit.breeding-delay-ticks", rabbitBreedingTicks);
@@ -573,7 +573,7 @@ index 2606c631d93c8e7b99b0ac1fffffa6b0ce388679..ce4855a70ad684c33420bf84c701fb46
private void ravagerSettings() {
ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable);
ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater);
@@ -1499,6 +1531,7 @@ public class PurpurWorldConfig {
@@ -1495,6 +1527,7 @@ public class PurpurWorldConfig {
set("mobs.ravager.attributes.max_health", oldValue);
}
ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth);
@@ -581,7 +581,7 @@ index 2606c631d93c8e7b99b0ac1fffffa6b0ce388679..ce4855a70ad684c33420bf84c701fb46
}
public boolean salmonRidable = false;
@@ -1520,6 +1553,7 @@ public class PurpurWorldConfig {
@@ -1516,6 +1549,7 @@ public class PurpurWorldConfig {
public boolean sheepControllable = true;
public double sheepMaxHealth = 8.0D;
public int sheepBreedingTicks = 6000;
@@ -589,7 +589,7 @@ index 2606c631d93c8e7b99b0ac1fffffa6b0ce388679..ce4855a70ad684c33420bf84c701fb46
private void sheepSettings() {
sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable);
sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater);
@@ -1531,6 +1565,7 @@ public class PurpurWorldConfig {
@@ -1527,6 +1561,7 @@ public class PurpurWorldConfig {
}
sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth);
sheepBreedingTicks = getInt("mobs.sheep.breeding-delay-ticks", sheepBreedingTicks);
@@ -597,7 +597,7 @@ index 2606c631d93c8e7b99b0ac1fffffa6b0ce388679..ce4855a70ad684c33420bf84c701fb46
}
public boolean shulkerRidable = false;
@@ -1553,6 +1588,7 @@ public class PurpurWorldConfig {
@@ -1549,6 +1584,7 @@ public class PurpurWorldConfig {
public boolean silverfishRidableInWater = true;
public boolean silverfishControllable = true;
public double silverfishMaxHealth = 8.0D;
@@ -605,7 +605,7 @@ index 2606c631d93c8e7b99b0ac1fffffa6b0ce388679..ce4855a70ad684c33420bf84c701fb46
private void silverfishSettings() {
silverfishRidable = getBoolean("mobs.silverfish.ridable", silverfishRidable);
silverfishRidableInWater = getBoolean("mobs.silverfish.ridable-in-water", silverfishRidableInWater);
@@ -1563,6 +1599,7 @@ public class PurpurWorldConfig {
@@ -1559,6 +1595,7 @@ public class PurpurWorldConfig {
set("mobs.silverfish.attributes.max_health", oldValue);
}
silverfishMaxHealth = getDouble("mobs.silverfish.attributes.max_health", silverfishMaxHealth);
@@ -613,7 +613,7 @@ index 2606c631d93c8e7b99b0ac1fffffa6b0ce388679..ce4855a70ad684c33420bf84c701fb46
}
public boolean skeletonRidable = false;
@@ -1639,6 +1676,7 @@ public class PurpurWorldConfig {
@@ -1635,6 +1672,7 @@ public class PurpurWorldConfig {
public int snowGolemSnowBallMax = 20;
public float snowGolemSnowBallModifier = 10.0F;
public double snowGolemAttackDistance = 1.25D;
@@ -621,7 +621,7 @@ index 2606c631d93c8e7b99b0ac1fffffa6b0ce388679..ce4855a70ad684c33420bf84c701fb46
private void snowGolemSettings() {
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
@@ -1656,6 +1694,7 @@ public class PurpurWorldConfig {
@@ -1652,6 +1690,7 @@ public class PurpurWorldConfig {
snowGolemSnowBallMax = getInt("mobs.snow_golem.max-shoot-interval-ticks", snowGolemSnowBallMax);
snowGolemSnowBallModifier = (float) getDouble("mobs.snow_golem.snow-ball-modifier", snowGolemSnowBallModifier);
snowGolemAttackDistance = getDouble("mobs.snow_golem.attack-distance", snowGolemAttackDistance);
@@ -629,7 +629,7 @@ index 2606c631d93c8e7b99b0ac1fffffa6b0ce388679..ce4855a70ad684c33420bf84c701fb46
}
public boolean snifferRidable = false;
@@ -1842,6 +1881,7 @@ public class PurpurWorldConfig {
@@ -1838,6 +1877,7 @@ public class PurpurWorldConfig {
public int villagerBreedingTicks = 6000;
public boolean villagerClericsFarmWarts = false;
public boolean villagerClericFarmersThrowWarts = true;
@@ -637,7 +637,7 @@ index 2606c631d93c8e7b99b0ac1fffffa6b0ce388679..ce4855a70ad684c33420bf84c701fb46
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1858,6 +1898,7 @@ public class PurpurWorldConfig {
@@ -1854,6 +1894,7 @@ public class PurpurWorldConfig {
villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks);
villagerClericsFarmWarts = getBoolean("mobs.villager.clerics-farm-warts", villagerClericsFarmWarts);
villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts);
@@ -645,7 +645,7 @@ index 2606c631d93c8e7b99b0ac1fffffa6b0ce388679..ce4855a70ad684c33420bf84c701fb46
}
public boolean vindicatorRidable = false;
@@ -1930,6 +1971,7 @@ public class PurpurWorldConfig {
@@ -1926,6 +1967,7 @@ public class PurpurWorldConfig {
public double witherMaxHealth = 300.0D;
public float witherHealthRegenAmount = 1.0f;
public int witherHealthRegenDelay = 20;
@@ -653,7 +653,7 @@ index 2606c631d93c8e7b99b0ac1fffffa6b0ce388679..ce4855a70ad684c33420bf84c701fb46
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -1947,6 +1989,7 @@ public class PurpurWorldConfig {
@@ -1943,6 +1985,7 @@ public class PurpurWorldConfig {
witherMaxHealth = getDouble("mobs.wither.attributes.max_health", witherMaxHealth);
witherHealthRegenAmount = (float) getDouble("mobs.wither.health-regen-amount", witherHealthRegenAmount);
witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay);
@@ -661,7 +661,7 @@ index 2606c631d93c8e7b99b0ac1fffffa6b0ce388679..ce4855a70ad684c33420bf84c701fb46
}
public boolean witherSkeletonRidable = false;
@@ -2018,6 +2061,7 @@ public class PurpurWorldConfig {
@@ -2014,6 +2057,7 @@ public class PurpurWorldConfig {
public double zombieJockeyChance = 0.05D;
public boolean zombieJockeyTryExistingChickens = true;
public boolean zombieAggressiveTowardsVillagerWhenLagging = true;
@@ -669,7 +669,7 @@ index 2606c631d93c8e7b99b0ac1fffffa6b0ce388679..ce4855a70ad684c33420bf84c701fb46
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -2033,6 +2077,7 @@ public class PurpurWorldConfig {
@@ -2029,6 +2073,7 @@ public class PurpurWorldConfig {
zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance);
zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens);
zombieAggressiveTowardsVillagerWhenLagging = getBoolean("mobs.zombie.aggressive-towards-villager-when-lagging", zombieAggressiveTowardsVillagerWhenLagging);

View File

@@ -22,7 +22,7 @@ index e46d84750bdd7c940f400efda226e12a3fdc3848..6343cd0c33cafb30225cfae17ea1cf15
// org.bukkit.event.block.NotePlayEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callNotePlayEvent(world, pos, state.getValue(NoteBlock.INSTRUMENT), state.getValue(NoteBlock.NOTE));
// if (event.isCancelled()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index ce4855a70ad684c33420bf84c701fb46ad46e021..028b6aa20c2d83d8a4eb7dabccc4f2451723000e 100644
index 499595ee7ab97559f562ecfbf4479a6b75506d9d..8c624ac93c3a24bb472217ae89dc8c9c82192407 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -118,6 +118,7 @@ public class PurpurWorldConfig {

View File

@@ -74,10 +74,10 @@ index 9717b37aef9f487502e696c209ae209ab3b8f000..7291e4056b8e46ab59b71818388ac55f
blockEntity.teleportCooldown = 100;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
index 912d9e4b3168cf89bd263ba63e049a791beefc90..283836981f5ed94dfc8999c3c5450213a1f2cfc1 100644
index 083bc0c2cdab2d1d54e66bb41f12f92fbc176d19..2ed4e15e6fcd0d00556f772f6fa48e5817a2de2d 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -601,6 +601,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
@@ -600,6 +600,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
// Paper end
if ((!ignorePassengers && this.entity.isVehicle()) || this.entity.isRemoved()) { // Paper - Teleport passenger API
@@ -89,10 +89,10 @@ index 912d9e4b3168cf89bd263ba63e049a791beefc90..283836981f5ed94dfc8999c3c5450213
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index c6ede1fac5c68f2912a9c401765bd10b09afe7f9..5965b4e91e63a3d3b64e5193399ae3b6d774120b 100644
index b2fa6e8316a13a27a01a42bb8943472ca12d9249..a0523c36af5a2e33f8f46663794a8df68409f80f 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1355,6 +1355,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1357,6 +1357,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
if (entity.isVehicle() && !ignorePassengers) { // Paper - Teleport API
@@ -104,7 +104,7 @@ index c6ede1fac5c68f2912a9c401765bd10b09afe7f9..5965b4e91e63a3d3b64e5193399ae3b6
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 028b6aa20c2d83d8a4eb7dabccc4f2451723000e..f047edb4f52efaaa89463af0c4741b404459f6c4 100644
index 8c624ac93c3a24bb472217ae89dc8c9c82192407..d430af5942337e7f19a5085dc9124c9266c137c7 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -117,6 +117,7 @@ public class PurpurWorldConfig {

View File

@@ -37,10 +37,10 @@ index e7b5f54d2fc53878e9466ccca972df21f10a7d67..56e66fcd840d0d3681ba671d1ffc51b2
if (!CraftEventFactory.callEntityChangeBlockEvent(entity, pos, Blocks.DIRT.defaultBlockState())) {
return;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f047edb4f52efaaa89463af0c4741b404459f6c4..afd1db5d51690191ad3836dfe8de305b1c1a29f0 100644
index d430af5942337e7f19a5085dc9124c9266c137c7..a27a2fb4d9643ed0d2cb4bbad8c09052978e123c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -461,10 +461,16 @@ public class PurpurWorldConfig {
@@ -457,10 +457,16 @@ public class PurpurWorldConfig {
public boolean farmlandBypassMobGriefing = false;
public boolean farmlandGetsMoistFromBelow = false;
public boolean farmlandAlpha = false;

View File

@@ -17,10 +17,10 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 105b093cd0353a45197615e9fcdf06e72a0aad00..e45f4570ef8334f319dcee39e2f343b91da62fce 100644
index 7a7f6368eae5cdad69d2ad4e2b8bcc547fb3853c..98aabe27bdac88cd7a533e0bb4dcf3f70d49e738 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -1876,7 +1876,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -1825,7 +1825,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
return this.isInWater() || flag;
}
@@ -30,7 +30,7 @@ index 105b093cd0353a45197615e9fcdf06e72a0aad00..e45f4570ef8334f319dcee39e2f343b9
if (entity instanceof Boat) {
diff --git a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
index 76222084727c269d376d0df5702204c0bdf59d81..b48a3d318a14889c68a1de5c1997b1090aab4029 100644
index 111b8ffab08b7a3b20cee2533586c19cf89518d7..5a50423c64e2b9d0a213e769dafd8930cfacbf66 100644
--- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
+++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
@@ -99,10 +99,12 @@ public class ArmorStand extends LivingEntity {
@@ -46,7 +46,7 @@ index 76222084727c269d376d0df5702204c0bdf59d81..b48a3d318a14889c68a1de5c1997b109
this.handItems = NonNullList.withSize(2, ItemStack.EMPTY);
this.armorItems = NonNullList.withSize(4, ItemStack.EMPTY);
this.headPose = ArmorStand.DEFAULT_HEAD_POSE;
@@ -1017,4 +1019,18 @@ public class ArmorStand extends LivingEntity {
@@ -1025,4 +1027,18 @@ public class ArmorStand extends LivingEntity {
}
// Paper end
// Paper end
@@ -66,7 +66,7 @@ index 76222084727c269d376d0df5702204c0bdf59d81..b48a3d318a14889c68a1de5c1997b109
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index afd1db5d51690191ad3836dfe8de305b1c1a29f0..14e708b579fc8cbb648fc01d96439a05a6abe239 100644
index a27a2fb4d9643ed0d2cb4bbad8c09052978e123c..4352f37b8568c7e9ce8cce66c2a1b36d6d9f8520 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -99,10 +99,16 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Fix stuck in portals
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index de7c199c0df87a1c1a0157328fa52351f74a0d3d..540c7b650deefa4a1a0e4f86650d9f3c56091566 100644
index 51bad65820a89ddd5f5266ce855da2dd788d559d..6d1bb046bad2a3d28ee64a06f69c3c377109fd10 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1272,6 +1272,7 @@ public class ServerPlayer extends Player {
@@ -1266,6 +1266,7 @@ public class ServerPlayer extends Player {
playerlist.sendPlayerPermissionLevel(this);
worldserver1.removePlayerImmediately(this, Entity.RemovalReason.CHANGED_DIMENSION);
this.unsetRemoved();
@@ -17,10 +17,10 @@ index de7c199c0df87a1c1a0157328fa52351f74a0d3d..540c7b650deefa4a1a0e4f86650d9f3c
// CraftBukkit end
this.setServerLevel(worldserver);
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index e45f4570ef8334f319dcee39e2f343b91da62fce..36e9b635f81f2799cd210075bced9e976a90a351 100644
index 98aabe27bdac88cd7a533e0bb4dcf3f70d49e738..f30846c16cad822a08093572dc429b13d32b9e41 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3060,12 +3060,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -3072,12 +3072,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
return Vec3.directionFromRotation(this.getRotationVector());
}
@@ -37,10 +37,10 @@ index e45f4570ef8334f319dcee39e2f343b91da62fce..36e9b635f81f2799cd210075bced9e97
this.isInsidePortal = true;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 14e708b579fc8cbb648fc01d96439a05a6abe239..c72af60345ac9704118ff9d19295d1a663a1e985 100644
index 4352f37b8568c7e9ce8cce66c2a1b36d6d9f8520..10c019d14fb20835a01c31dc4546d1c70cde6948 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -335,6 +335,7 @@ public class PurpurWorldConfig {
@@ -333,6 +333,7 @@ public class PurpurWorldConfig {
public int playerDeathExpDropMax = 100;
public boolean teleportIfOutsideBorder = false;
public boolean totemOfUndyingWorksInInventory = false;
@@ -48,7 +48,7 @@ index 14e708b579fc8cbb648fc01d96439a05a6abe239..c72af60345ac9704118ff9d19295d1a6
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -352,6 +353,7 @@ public class PurpurWorldConfig {
@@ -348,6 +349,7 @@ public class PurpurWorldConfig {
playerDeathExpDropMax = getInt("gameplay-mechanics.player.exp-dropped-on-death.maximum", playerDeathExpDropMax);
teleportIfOutsideBorder = getBoolean("gameplay-mechanics.player.teleport-if-outside-border", teleportIfOutsideBorder);
totemOfUndyingWorksInInventory = getBoolean("gameplay-mechanics.player.totem-of-undying-works-in-inventory", totemOfUndyingWorksInInventory);

View File

@@ -7,23 +7,23 @@ Adds a configuration option that ensures a player in Creative always tames a tam
This essentially allows Creative mode players to tame animals on their first try.
diff --git a/src/main/java/net/minecraft/world/entity/ai/goal/RunAroundLikeCrazyGoal.java b/src/main/java/net/minecraft/world/entity/ai/goal/RunAroundLikeCrazyGoal.java
index 7fc5b5d624b61a3de9c71e975b51d20c5800be00..8fb070b1ae11d34b2fa420ded58097d421263cab 100644
index b0944fa1f3849dd24cd010fa0a6638f5fd7179d1..a3074ec9b430c9d0a0ef33fe353db643849fab7d 100644
--- a/src/main/java/net/minecraft/world/entity/ai/goal/RunAroundLikeCrazyGoal.java
+++ b/src/main/java/net/minecraft/world/entity/ai/goal/RunAroundLikeCrazyGoal.java
@@ -66,7 +66,7 @@ public class RunAroundLikeCrazyGoal extends Goal {
@@ -67,7 +67,7 @@ public class RunAroundLikeCrazyGoal extends Goal {
int i = this.horse.getTemper();
int j = this.horse.getMaxTemper();
- if (j > 0 && this.horse.getRandom().nextInt(j) < i && !CraftEventFactory.callEntityTameEvent(this.horse, ((CraftHumanEntity) this.horse.getBukkitEntity().getPassenger()).getHandle()).isCancelled()) { // CraftBukkit - fire EntityTameEvent
+ if ((this.horse.level().purpurConfig.alwaysTameInCreative && ((Player) entity).getAbilities().instabuild) || (j > 0 && this.horse.getRandom().nextInt(j) < i && !CraftEventFactory.callEntityTameEvent(this.horse, ((CraftHumanEntity) this.horse.getBukkitEntity().getPassenger()).getHandle()).isCancelled())) { // CraftBukkit - fire EntityTameEvent // Purpur
this.horse.tameWithName((Player) entity);
this.horse.tameWithName(entityhuman);
return;
}
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 1554e4a0e068e06ec121adf56421f8332132f062..7f1763b820a0c5dc69bdf6cdf14a97a283ba5916 100644
index 9279eb3c7a8affbecba1a8b27ca0685021676f39..9a40cd8d7d4789a8b43f5194bdc67dc6753eed21 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Cat.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java
@@ -470,7 +470,7 @@ public class Cat extends TamableAnimal implements VariantHolder<CatVariant> {
@@ -471,7 +471,7 @@ public class Cat extends TamableAnimal implements VariantHolder<CatVariant> {
}
} else if (this.isFood(itemstack)) {
this.usePlayerItem(player, hand, itemstack);
@@ -33,10 +33,10 @@ index 1554e4a0e068e06ec121adf56421f8332132f062..7f1763b820a0c5dc69bdf6cdf14a97a2
this.setOrderedToSit(true);
this.level().broadcastEntityEvent(this, (byte) 7);
diff --git a/src/main/java/net/minecraft/world/entity/animal/Parrot.java b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
index 583cbd4e891647d974b3ca4fc51d4aae6d2acb88..4c64feca8d78b907406cc409bd6beef4b3bd35f3 100644
index a2c2c453c83bcc99ffebe8566f04288f01fa120a..5c7400bab81b87e908010bab6684b072c51a8adc 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Parrot.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
@@ -334,7 +334,7 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
@@ -335,7 +335,7 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
}
if (!this.level().isClientSide) {
@@ -46,10 +46,10 @@ index 583cbd4e891647d974b3ca4fc51d4aae6d2acb88..4c64feca8d78b907406cc409bd6beef4
this.level().broadcastEntityEvent(this, (byte) 7);
} else {
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 f3c3db958c359b3b032bd54c7732f16fce108ec3..c967302542eeac0bad33c3b53b7d5b2aea7defbb 100644
index f79dff635b09300f8d2cff0562f71587496ed33d..6b51886e383992f35e0313bd9cc012354190a87d 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
@@ -530,7 +530,7 @@ public class Wolf extends TamableAnimal implements NeutralMob {
@@ -532,7 +532,7 @@ public class Wolf extends TamableAnimal implements NeutralMob {
}
// CraftBukkit - added event call and isCancelled check.
@@ -59,7 +59,7 @@ index f3c3db958c359b3b032bd54c7732f16fce108ec3..c967302542eeac0bad33c3b53b7d5b2a
this.navigation.stop();
this.setTarget((LivingEntity) null);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index d077e5c5bc108d7ad37caf8339be449fe27960a1..9f136f87117de89eac06da9e79fb844b20fe5967 100644
index 8c16a4920f484fb0dfd58daf7d3ec87c1eec6135..9a358b9fef97017d019a1779254221ff66ea0c9f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -117,6 +117,7 @@ public class PurpurWorldConfig {

View File

@@ -53,10 +53,10 @@ index ef0098e46bda8abc456f2bb5929d874c6aeb8698..564d17bc460e2a04947ff9676fbf4c8b
this.onDestroyedBy(source);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 9f136f87117de89eac06da9e79fb844b20fe5967..b16a62ea9e57d4114fc9f0c5c9fce0c14983cea0 100644
index 9a358b9fef97017d019a1779254221ff66ea0c9f..af6ef0660e5d0a6c5c2033105ee29328dd06418a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -468,6 +468,43 @@ public class PurpurWorldConfig {
@@ -464,6 +464,43 @@ public class PurpurWorldConfig {
dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils);
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configs for if Wither/Ender Dragon can ride vehicles
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
index 9986dbe52ad38fcc0f642401a932428afc39c9f6..a907930813b0a3176354b4b307576d9ff3b0c5ca 100644
index 1588c4ec1ff1d9f1eca8b6c7971a2cdd1f98efb3..82d81fd2edff9df0bb4ff116d9274887a316d0a8 100644
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
@@ -1196,6 +1196,7 @@ public class EnderDragon extends Mob implements Enemy {
@@ -1187,6 +1187,7 @@ public class EnderDragon extends Mob implements Enemy {
@Override
protected boolean canRide(Entity entity) {
@@ -17,10 +17,10 @@ index 9986dbe52ad38fcc0f642401a932428afc39c9f6..a907930813b0a3176354b4b307576d9f
}
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
index 76f88b96e4965e61a620d8e8809411a0711bf02e..8d882e6ef4e199258866f30f5548a6feae4582da 100644
index 6056180cf792534b450cb00977b5f7bc011d0ae4..257cd3ea1830b46d1c51242cd639c4f0e21c8774 100644
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
@@ -738,6 +738,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
@@ -731,6 +731,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
@Override
protected boolean canRide(Entity entity) {
@@ -29,10 +29,10 @@ index 76f88b96e4965e61a620d8e8809411a0711bf02e..8d882e6ef4e199258866f30f5548a6fe
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b16a62ea9e57d4114fc9f0c5c9fce0c14983cea0..fd2865f5be6bffd8fcbbac35151e9dde2149ab8d 100644
index af6ef0660e5d0a6c5c2033105ee29328dd06418a..55941d33fd619db4f25e29d51b1bc8a522bb29ba 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -951,6 +951,7 @@ public class PurpurWorldConfig {
@@ -947,6 +947,7 @@ public class PurpurWorldConfig {
public boolean enderDragonAlwaysDropsFullExp = false;
public boolean enderDragonBypassMobGriefing = false;
public boolean enderDragonTakeDamageFromWater = false;
@@ -40,7 +40,7 @@ index b16a62ea9e57d4114fc9f0c5c9fce0c14983cea0..fd2865f5be6bffd8fcbbac35151e9dde
private void enderDragonSettings() {
enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable);
enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater);
@@ -969,6 +970,7 @@ public class PurpurWorldConfig {
@@ -965,6 +966,7 @@ public class PurpurWorldConfig {
enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp);
enderDragonBypassMobGriefing = getBoolean("mobs.ender_dragon.bypass-mob-griefing", enderDragonBypassMobGriefing);
enderDragonTakeDamageFromWater = getBoolean("mobs.ender_dragon.takes-damage-from-water", enderDragonTakeDamageFromWater);
@@ -48,7 +48,7 @@ index b16a62ea9e57d4114fc9f0c5c9fce0c14983cea0..fd2865f5be6bffd8fcbbac35151e9dde
}
public boolean endermanRidable = false;
@@ -2160,6 +2162,7 @@ public class PurpurWorldConfig {
@@ -2156,6 +2158,7 @@ public class PurpurWorldConfig {
public int witherHealthRegenDelay = 20;
public boolean witherBypassMobGriefing = false;
public boolean witherTakeDamageFromWater = false;
@@ -56,7 +56,7 @@ index b16a62ea9e57d4114fc9f0c5c9fce0c14983cea0..fd2865f5be6bffd8fcbbac35151e9dde
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -2179,6 +2182,7 @@ public class PurpurWorldConfig {
@@ -2175,6 +2178,7 @@ public class PurpurWorldConfig {
witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay);
witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing);
witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Dont run with scissors!
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 6c5b0d1d8fe7fae29dc1ed449e0412c9f449acf9..7ac39b9f7a0afabe4a6fde954a85f0d4f53a01df 100644
index 4b48e20b88724ef7253c11ffd0f5787d40b37217..fe4f8517f1d3614568be697720908609776f353e 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1741,6 +1741,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -1609,6 +1609,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
this.player.resetFallDistance();
}
@@ -22,8 +22,8 @@ index 6c5b0d1d8fe7fae29dc1ed449e0412c9f449acf9..7ac39b9f7a0afabe4a6fde954a85f0d4
this.player.checkMovementStatistics(this.player.getX() - d3, this.player.getY() - d4, this.player.getZ() - d5);
this.lastGoodX = this.player.getX();
this.lastGoodY = this.player.getY();
@@ -1785,6 +1792,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
}
@@ -1660,6 +1667,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
return false;
}
// Paper end - optimise out extra getCubes
+
@@ -37,7 +37,7 @@ index 6c5b0d1d8fe7fae29dc1ed449e0412c9f449acf9..7ac39b9f7a0afabe4a6fde954a85f0d4
AABB axisalignedbb1 = this.player.getBoundingBox().move(newX - this.player.getX(), newY - this.player.getY(), newZ - this.player.getZ());
Iterable<VoxelShape> iterable = world.getCollisions(this.player, axisalignedbb1.deflate(9.999999747378752E-6D));
diff --git a/src/main/java/net/minecraft/world/damagesource/CombatTracker.java b/src/main/java/net/minecraft/world/damagesource/CombatTracker.java
index c12d7bacf2c54f268b1bc5e46250a083ca041415..c6f8ae130b75fbb0ad41f9a5917e934e33fd3043 100644
index 9c99b2e365aacb8309f29acb9025faccd2c676b3..9e3608650c44ef5fa724c3aea86603d7bd02429c 100644
--- a/src/main/java/net/minecraft/world/damagesource/CombatTracker.java
+++ b/src/main/java/net/minecraft/world/damagesource/CombatTracker.java
@@ -99,6 +99,11 @@ public class CombatTracker {
@@ -107,7 +107,7 @@ index 61e3bce901bdbf111ffc06521b0e6d5369fce051..ea9d99990b718beaef4bee3ff7534065
public static String serverModName = "Purpur";
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index fd2865f5be6bffd8fcbbac35151e9dde2149ab8d..dec3823baee9264ea5257993d9b30df337e2d9bd 100644
index 55941d33fd619db4f25e29d51b1bc8a522bb29ba..651448bc3b84686b675349f0e72c699ce506ab82 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -197,6 +197,10 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] One Punch Man!
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 97dfdf4f5730d9f7c162f127bab38833cf757b4d..5ae73f8f86b0f55890b961cdbb8a31ff0ffc6209 100644
index 73f3853b4e554fc75b9f49f11df1060bd6340261..4af38169c6b541cb5087542f0c49420db5c9a7b9 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -2297,6 +2297,20 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -2305,6 +2305,20 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
}
@@ -30,10 +30,10 @@ index 97dfdf4f5730d9f7c162f127bab38833cf757b4d..5ae73f8f86b0f55890b961cdbb8a31ff
if (human) {
// PAIL: Be sure to drag all this code from the EntityHuman subclass each update.
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index dec3823baee9264ea5257993d9b30df337e2d9bd..c0a6940d923a85c923502c07df11cceba093cc95 100644
index 651448bc3b84686b675349f0e72c699ce506ab82..50d10795981069b031170ef0de3a50603541f1c8 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -346,6 +346,7 @@ public class PurpurWorldConfig {
@@ -344,6 +344,7 @@ public class PurpurWorldConfig {
public boolean teleportIfOutsideBorder = false;
public boolean totemOfUndyingWorksInInventory = false;
public boolean playerFixStuckPortal = false;
@@ -41,7 +41,7 @@ index dec3823baee9264ea5257993d9b30df337e2d9bd..c0a6940d923a85c923502c07df11cceb
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -364,6 +365,7 @@ public class PurpurWorldConfig {
@@ -360,6 +361,7 @@ public class PurpurWorldConfig {
teleportIfOutsideBorder = getBoolean("gameplay-mechanics.player.teleport-if-outside-border", teleportIfOutsideBorder);
totemOfUndyingWorksInInventory = getBoolean("gameplay-mechanics.player.totem-of-undying-works-in-inventory", totemOfUndyingWorksInInventory);
playerFixStuckPortal = getBoolean("gameplay-mechanics.player.fix-stuck-in-portal", playerFixStuckPortal);

View File

@@ -8,10 +8,10 @@ Subject: [PATCH] Configurable Ender Pearl cooldown, damage, and Endermite RNG
- Endermite spawn chance
diff --git a/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java b/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java
index e8114d89a3129e56c0329410a49ded63cc77cb4c..5c12355ed8b9eb1367173dd956975db279e2fb73 100644
index e02d5dcbf69bd68b2f567c1a16a44ab59955f871..daf6701b20d03090ab4896e0c1897850300a2fea 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java
@@ -68,7 +68,7 @@ public class ThrownEnderpearl extends ThrowableItemProjectile {
@@ -67,7 +67,7 @@ public class ThrownEnderpearl extends ThrowableItemProjectile {
Bukkit.getPluginManager().callEvent(teleEvent);
if (!teleEvent.isCancelled() && entityplayer.connection.isAcceptingMessages()) {
@@ -20,7 +20,7 @@ index e8114d89a3129e56c0329410a49ded63cc77cb4c..5c12355ed8b9eb1367173dd956975db2
Endermite entityendermite = (Endermite) EntityType.ENDERMITE.create(this.level());
if (entityendermite != null) {
@@ -84,7 +84,7 @@ public class ThrownEnderpearl extends ThrowableItemProjectile {
@@ -83,7 +83,7 @@ public class ThrownEnderpearl extends ThrowableItemProjectile {
entityplayer.connection.teleport(teleEvent.getTo());
entity.resetFallDistance();
CraftEventFactory.entityDamage = this;
@@ -43,7 +43,7 @@ index 749ab72edc0d2e9c6f1161415ab8d59d3d6ca976..897c202c0905040072a06fdfa2032a7f
// Paper end
if (user instanceof net.minecraft.server.level.ServerPlayer) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c0a6940d923a85c923502c07df11cceba093cc95..02f332f2d1497668fbdf2e430d757f8699dc3a9a 100644
index 50d10795981069b031170ef0de3a50603541f1c8..c09528388118f2386de3de14b8c1cb8896ebf556 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -201,6 +201,10 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Config to ignore nearby mobs when sleeping
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 08532053face8fcba4a808830d618d2e5f0da8ee..fe1591b8ae12eaffdd44b23c4c55f580512f293e 100644
index 6d1bb046bad2a3d28ee64a06f69c3c377109fd10..6b61c985be3c19221b229542f0d0e902d085a772 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1430,7 +1430,7 @@ public class ServerPlayer extends Player {
@@ -1423,7 +1423,7 @@ public class ServerPlayer extends Player {
return entitymonster.isPreventingPlayerRest(this);
});
@@ -18,10 +18,10 @@ index 08532053face8fcba4a808830d618d2e5f0da8ee..fe1591b8ae12eaffdd44b23c4c55f580
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 02f332f2d1497668fbdf2e430d757f8699dc3a9a..7db005d02e762163c403a8358281afc2fa4f2df1 100644
index c09528388118f2386de3de14b8c1cb8896ebf556..33db128ff2046a7a36eb5d70b35d10947f83a931 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -355,6 +355,7 @@ public class PurpurWorldConfig {
@@ -353,6 +353,7 @@ public class PurpurWorldConfig {
public boolean totemOfUndyingWorksInInventory = false;
public boolean playerFixStuckPortal = false;
public boolean creativeOnePunch = false;
@@ -29,7 +29,7 @@ index 02f332f2d1497668fbdf2e430d757f8699dc3a9a..7db005d02e762163c403a8358281afc2
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -374,6 +375,7 @@ public class PurpurWorldConfig {
@@ -370,6 +371,7 @@ public class PurpurWorldConfig {
totemOfUndyingWorksInInventory = getBoolean("gameplay-mechanics.player.totem-of-undying-works-in-inventory", totemOfUndyingWorksInInventory);
playerFixStuckPortal = getBoolean("gameplay-mechanics.player.fix-stuck-in-portal", playerFixStuckPortal);
creativeOnePunch = getBoolean("gameplay-mechanics.player.one-punch-in-creative", creativeOnePunch);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add back player spawned endermite API
diff --git a/src/main/java/net/minecraft/world/entity/monster/Endermite.java b/src/main/java/net/minecraft/world/entity/monster/Endermite.java
index cb0a2d522176a2d1d9785f95d205d4d924912a32..0cbf5a32611848e15e83eb0fc6f16c68337753c5 100644
index 936add0eb7204af7dc507c786cb82e0d7a76d5dc..c0c3ab5dbf5987e543e6cdd1a814d2ec3ec17939 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Endermite.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Endermite.java
@@ -31,6 +31,7 @@ import net.minecraft.world.level.block.state.BlockState;
@@ -32,6 +32,7 @@ import org.joml.Vector3f;
public class Endermite extends Monster {
private static final int MAX_LIFE = 2400;
public int life;
@@ -16,7 +16,7 @@ index cb0a2d522176a2d1d9785f95d205d4d924912a32..0cbf5a32611848e15e83eb0fc6f16c68
public Endermite(EntityType<? extends Endermite> type, Level world) {
super(type, world);
@@ -64,6 +65,14 @@ public class Endermite extends Monster {
@@ -65,6 +66,14 @@ public class Endermite extends Monster {
return this.level().purpurConfig.endermiteTakeDamageFromWater;
}
@@ -31,7 +31,7 @@ index cb0a2d522176a2d1d9785f95d205d4d924912a32..0cbf5a32611848e15e83eb0fc6f16c68
@Override
protected void registerGoals() {
this.goalSelector.addGoal(1, new FloatGoal(this));
@@ -116,12 +125,14 @@ public class Endermite extends Monster {
@@ -117,12 +126,14 @@ public class Endermite extends Monster {
public void readAdditionalSaveData(CompoundTag nbt) {
super.readAdditionalSaveData(nbt);
this.life = nbt.getInt("Lifetime");
@@ -47,10 +47,10 @@ index cb0a2d522176a2d1d9785f95d205d4d924912a32..0cbf5a32611848e15e83eb0fc6f16c68
@Override
diff --git a/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java b/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java
index 5c12355ed8b9eb1367173dd956975db279e2fb73..d7359c675707eade00f9b737fd67ef8d066e813f 100644
index daf6701b20d03090ab4896e0c1897850300a2fea..fb0f29b714344f0ac3e7f6bd809ac57a21061156 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java
@@ -72,6 +72,7 @@ public class ThrownEnderpearl extends ThrowableItemProjectile {
@@ -71,6 +71,7 @@ public class ThrownEnderpearl extends ThrowableItemProjectile {
Endermite entityendermite = (Endermite) EntityType.ENDERMITE.create(this.level());
if (entityendermite != null) {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Config Enderman aggressiveness towards Endermites
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 d4d4ad5dfa776a39eabb840ed5b49acb8d37f587..ea596b7344f1849a8c6a8d536881c9a8b9cadb86 100644
index 5678d1026053e12c332b27a95c83d5de01116922..442355953084513b148083d80783ee3bc815dee9 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
@@ -132,7 +132,7 @@ public class EnderMan extends Monster implements NeutralMob {
@@ -134,7 +134,7 @@ public class EnderMan extends Monster implements NeutralMob {
this.targetSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
this.targetSelector.addGoal(1, new EnderMan.EndermanLookForPlayerGoal(this, this::isAngryAt));
this.targetSelector.addGoal(2, new HurtByTargetGoal(this, new Class[0]));
@@ -18,10 +18,10 @@ index d4d4ad5dfa776a39eabb840ed5b49acb8d37f587..ea596b7344f1849a8c6a8d536881c9a8
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 7db005d02e762163c403a8358281afc2fa4f2df1..a10a43afa33a025e89474786810db45241c145c5 100644
index 33db128ff2046a7a36eb5d70b35d10947f83a931..fd7d88ed631d4b4675ce457f4e2de731223254aa 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1001,6 +1001,8 @@ public class PurpurWorldConfig {
@@ -997,6 +997,8 @@ public class PurpurWorldConfig {
public boolean endermanDespawnEvenWithBlock = false;
public boolean endermanBypassMobGriefing = false;
public boolean endermanTakeDamageFromWater = true;
@@ -30,7 +30,7 @@ index 7db005d02e762163c403a8358281afc2fa4f2df1..a10a43afa33a025e89474786810db452
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -1010,11 +1012,17 @@ public class PurpurWorldConfig {
@@ -1006,11 +1008,17 @@ public class PurpurWorldConfig {
set("mobs.enderman.attributes.max-health", null);
set("mobs.enderman.attributes.max_health", oldValue);
}

View File

@@ -7,10 +7,10 @@ Prevents Enderman from becoming aggresive towards players that are wearing a Dra
Adds functionality to a useless item!
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 ea596b7344f1849a8c6a8d536881c9a8b9cadb86..f4bf81ebcc792c8e04fa700e84b13b3b688dbdac 100644
index 442355953084513b148083d80783ee3bc815dee9..a1c0109ee60de59674f0014557ae401b7d5f479d 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
@@ -269,7 +269,7 @@ public class EnderMan extends Monster implements NeutralMob {
@@ -271,7 +271,7 @@ public class EnderMan extends Monster implements NeutralMob {
// Paper end
ItemStack itemstack = (ItemStack) player.getInventory().armor.get(3);
@@ -20,10 +20,10 @@ index ea596b7344f1849a8c6a8d536881c9a8b9cadb86..f4bf81ebcc792c8e04fa700e84b13b3b
} else {
Vec3 vec3d = player.getViewVector(1.0F).normalize();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a10a43afa33a025e89474786810db45241c145c5..27581d6a560398e4e18425cfccd80e1dd9ec4dde 100644
index fd7d88ed631d4b4675ce457f4e2de731223254aa..de246177d3fd248f0d926321b8696b1d13c507ed 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1003,6 +1003,8 @@ public class PurpurWorldConfig {
@@ -999,6 +999,8 @@ public class PurpurWorldConfig {
public boolean endermanTakeDamageFromWater = true;
public boolean endermanAggroEndermites = true;
public boolean endermanAggroEndermitesOnlyIfPlayerSpawned = false;
@@ -32,7 +32,7 @@ index a10a43afa33a025e89474786810db45241c145c5..27581d6a560398e4e18425cfccd80e1d
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -1023,6 +1025,8 @@ public class PurpurWorldConfig {
@@ -1019,6 +1021,8 @@ public class PurpurWorldConfig {
endermanTakeDamageFromWater = getBoolean("mobs.enderman.takes-damage-from-water", endermanTakeDamageFromWater);
endermanAggroEndermites = getBoolean("mobs.enderman.aggressive-towards-endermites", endermanAggroEndermites);
endermanAggroEndermitesOnlyIfPlayerSpawned = getBoolean("mobs.enderman.aggressive-towards-endermites-only-spawned-by-player-thrown-ender-pearls", endermanAggroEndermitesOnlyIfPlayerSpawned);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Tick fluids config
diff --git a/src/main/java/net/minecraft/world/level/block/LiquidBlock.java b/src/main/java/net/minecraft/world/level/block/LiquidBlock.java
index bbabe4ad8afcc3a2069f6e9d4a9adcb643266894..55419bd653f7f5391fa13cd15a0b00fbff5e9c39 100644
index 4a1830f85f47014da63e4584f411d13f0f0cd8b3..17b3dbb83fd9eb6ecdd58c1ac6446410b4bc3a51 100644
--- a/src/main/java/net/minecraft/world/level/block/LiquidBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/LiquidBlock.java
@@ -105,7 +105,7 @@ public class LiquidBlock extends Block implements BucketPickup {
@@ -107,7 +107,7 @@ public class LiquidBlock extends Block implements BucketPickup {
@Override
public void onPlace(BlockState state, Level world, BlockPos pos, BlockState oldState, boolean notify) {
@@ -17,7 +17,7 @@ index bbabe4ad8afcc3a2069f6e9d4a9adcb643266894..55419bd653f7f5391fa13cd15a0b00fb
world.scheduleTick(pos, state.getFluidState().getType(), this.getFlowSpeed(world, pos)); // Paper
}
@@ -133,7 +133,7 @@ public class LiquidBlock extends Block implements BucketPickup {
@@ -135,7 +135,7 @@ public class LiquidBlock extends Block implements BucketPickup {
@Override
public BlockState updateShape(BlockState state, Direction direction, BlockState neighborState, LevelAccessor world, BlockPos pos, BlockPos neighborPos) {
@@ -26,7 +26,7 @@ index bbabe4ad8afcc3a2069f6e9d4a9adcb643266894..55419bd653f7f5391fa13cd15a0b00fb
world.scheduleTick(pos, state.getFluidState().getType(), this.fluid.getTickDelay(world));
}
@@ -142,7 +142,7 @@ public class LiquidBlock extends Block implements BucketPickup {
@@ -144,7 +144,7 @@ public class LiquidBlock extends Block implements BucketPickup {
@Override
public void neighborChanged(BlockState state, Level world, BlockPos pos, Block sourceBlock, BlockPos sourcePos, boolean notify) {
@@ -36,7 +36,7 @@ index bbabe4ad8afcc3a2069f6e9d4a9adcb643266894..55419bd653f7f5391fa13cd15a0b00fb
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 27581d6a560398e4e18425cfccd80e1dd9ec4dde..ea25998e4855b6e900ed96e1d814231da97ea325 100644
index de246177d3fd248f0d926321b8696b1d13c507ed..1e3825e70f7e9baeb76d520d945d51369457377f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -129,6 +129,7 @@ public class PurpurWorldConfig {

View File

@@ -19,10 +19,10 @@ index 849f0c7c6d13df00d90211a48d8b56ab156812b8..3fc9528201fb96d6a0f905afe0b6a82e
List<Entity> list = this.llama.level().getEntities(this.llama, this.llama.getBoundingBox().inflate(9.0D, 4.0D, 9.0D), (entity) -> {
EntityType<?> entityType = entity.getType();
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
index b7450d182ecf10ef17ac9eb3fce04e4334013c91..fac46dd905f9a634cff393494f6ff0404eb17fb7 100644
index d0717a81ae7b3c55fb47917508b456408484658b..fb6bca763fcbb249c86c1e360274d4458df19bfc 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
@@ -539,7 +539,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
@@ -519,7 +519,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
}
public void joinCaravan(Llama llama) {
@@ -32,10 +32,10 @@ index b7450d182ecf10ef17ac9eb3fce04e4334013c91..fac46dd905f9a634cff393494f6ff040
this.caravanHead.caravanTail = this;
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index ea25998e4855b6e900ed96e1d814231da97ea325..eed4919f50c081fc98ec448b99ee34083f72aa26 100644
index 1e3825e70f7e9baeb76d520d945d51369457377f..e4cb4cb242eb6daa8bddea6c777cc6f578ff2610 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1335,6 +1335,7 @@ public class PurpurWorldConfig {
@@ -1331,6 +1331,7 @@ public class PurpurWorldConfig {
public double llamaMovementSpeedMax = 0.175D;
public int llamaBreedingTicks = 6000;
public boolean llamaTakeDamageFromWater = false;
@@ -43,7 +43,7 @@ index ea25998e4855b6e900ed96e1d814231da97ea325..eed4919f50c081fc98ec448b99ee3408
private void llamaSettings() {
llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable);
llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater);
@@ -1354,6 +1355,7 @@ public class PurpurWorldConfig {
@@ -1350,6 +1351,7 @@ public class PurpurWorldConfig {
llamaMovementSpeedMax = getDouble("mobs.llama.attributes.movement_speed.max", llamaMovementSpeedMax);
llamaBreedingTicks = getInt("mobs.llama.breeding-delay-ticks", llamaBreedingTicks);
llamaTakeDamageFromWater = getBoolean("mobs.llama.takes-damage-from-water", llamaTakeDamageFromWater);

View File

@@ -50,10 +50,10 @@ index e8191f0df3420d5a531cf226547a177732ff65ea..fd3b1e92a626402112bbd371a0ac1264
private void spawnLingeringCloud() {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index eed4919f50c081fc98ec448b99ee34083f72aa26..f477176dd6ba0b093fe81f11acfe98ddb25723cd 100644
index e4cb4cb242eb6daa8bddea6c777cc6f578ff2610..4b01a7b2584871aa17c4cb08a0e2e630630b4e6c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -855,6 +855,7 @@ public class PurpurWorldConfig {
@@ -851,6 +851,7 @@ public class PurpurWorldConfig {
public boolean creeperAllowGriefing = true;
public boolean creeperBypassMobGriefing = false;
public boolean creeperTakeDamageFromWater = false;
@@ -61,7 +61,7 @@ index eed4919f50c081fc98ec448b99ee34083f72aa26..f477176dd6ba0b093fe81f11acfe98dd
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -869,6 +870,7 @@ public class PurpurWorldConfig {
@@ -865,6 +866,7 @@ public class PurpurWorldConfig {
creeperAllowGriefing = getBoolean("mobs.creeper.allow-griefing", creeperAllowGriefing);
creeperBypassMobGriefing = getBoolean("mobs.creeper.bypass-mob-griefing", creeperBypassMobGriefing);
creeperTakeDamageFromWater = getBoolean("mobs.creeper.takes-damage-from-water", creeperTakeDamageFromWater);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable ravager griefable blocks list
diff --git a/src/main/java/net/minecraft/world/entity/monster/Ravager.java b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
index d56e80014621dbd7e445f2f753807bd2b751310d..1de85b0a3aafb725452197de245e884cacdb4e3b 100644
index 0992e3729fdfa945660affb7eb7efcff63f37210..5e717433ef29d02669ee2e95454c69c36cbafc24 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Ravager.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
@@ -208,7 +208,7 @@ public class Ravager extends Raider {
@@ -191,7 +191,7 @@ public class Ravager extends Raider {
BlockState iblockdata = this.level().getBlockState(blockposition);
Block block = iblockdata.getBlock();
@@ -18,10 +18,10 @@ index d56e80014621dbd7e445f2f753807bd2b751310d..1de85b0a3aafb725452197de245e884c
if (!CraftEventFactory.callEntityChangeBlockEvent(this, blockposition, iblockdata.getFluidState().createLegacyBlock())) { // Paper - fix wrong block state
continue;
diff --git a/src/main/java/net/minecraft/world/level/block/CropBlock.java b/src/main/java/net/minecraft/world/level/block/CropBlock.java
index 5ba5a510b30917235e135ccda1b7c98cb7dd93ec..373fda589014c71c07170ec6707d5ff66d46ddd5 100644
index c7ba8503b2722e5d9ce0699b959cd6be01128055..3f429f083f45d34effc273ccaa5db4da089f7355 100644
--- a/src/main/java/net/minecraft/world/level/block/CropBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/CropBlock.java
@@ -168,7 +168,7 @@ public class CropBlock extends BushBlock implements BonemealableBlock {
@@ -172,7 +172,7 @@ public class CropBlock extends BushBlock implements BonemealableBlock {
@Override
public void entityInside(BlockState state, Level world, BlockPos pos, Entity entity) {
if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper
@@ -31,10 +31,10 @@ index 5ba5a510b30917235e135ccda1b7c98cb7dd93ec..373fda589014c71c07170ec6707d5ff6
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f477176dd6ba0b093fe81f11acfe98ddb25723cd..b946f607cd1689e6eae4759e100500c4db5c647f 100644
index 4b01a7b2584871aa17c4cb08a0e2e630630b4e6c..25972a20c4930d718e4f039d4d19c35d4adb0f03 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1707,6 +1707,7 @@ public class PurpurWorldConfig {
@@ -1703,6 +1703,7 @@ public class PurpurWorldConfig {
public double ravagerMaxHealth = 100.0D;
public boolean ravagerBypassMobGriefing = false;
public boolean ravagerTakeDamageFromWater = false;
@@ -42,7 +42,7 @@ index f477176dd6ba0b093fe81f11acfe98ddb25723cd..b946f607cd1689e6eae4759e100500c4
private void ravagerSettings() {
ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable);
ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater);
@@ -1719,6 +1720,23 @@ public class PurpurWorldConfig {
@@ -1715,6 +1716,23 @@ public class PurpurWorldConfig {
ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth);
ravagerBypassMobGriefing = getBoolean("mobs.ravager.bypass-mob-griefing", ravagerBypassMobGriefing);
ravagerTakeDamageFromWater = getBoolean("mobs.ravager.takes-damage-from-water", ravagerTakeDamageFromWater);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Sneak to bulk process composter
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
index 618ab9a2903f6d4139acd4aaa2e6db0a26e88ba9..26f78343b5ecaafc3252654848c21a5405379c0e 100644
index 1b0302df0ed420fd7f9d6803d796abf7d3192ceb..51a74d7ba4006523dfaffba40ffcbe117a6df406 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
@@ -578,7 +578,7 @@ public class ServerPlayerGameMode {
@@ -576,7 +576,7 @@ public class ServerPlayerGameMode {
boolean flag1 = player.isSecondaryUseActive() && flag;
ItemStack itemstack1 = stack.copy();
@@ -90,10 +90,10 @@ index 10d3912ef043eefdf89105332e29b0d2bf4a5539..596b77306f690a2298835f0f0fea1abe
int i = (Integer) state.getValue(ComposterBlock.LEVEL);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b946f607cd1689e6eae4759e100500c4db5c647f..57f5792a06e55c7d7e9f0bf20c89c5d4337abd8d 100644
index 25972a20c4930d718e4f039d4d19c35d4adb0f03..f23be13aa229537dd6f9247a3008981e4ee098bc 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -483,6 +483,11 @@ public class PurpurWorldConfig {
@@ -479,6 +479,11 @@ public class PurpurWorldConfig {
chestOpenWithBlockOnTop = getBoolean("blocks.chest.open-with-solid-block-on-top", chestOpenWithBlockOnTop);
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Config for skipping night
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 0e8452f6a8300992f397fb15db763304d72fe3b9..49c412f46854ee877de1721b08629e8a3cd319f9 100644
index 3d890b71e4b5f44cd822fb0036d87bc5a6014d4e..5e832faa8b1ff45b0d4e01ab197cadfb2c480452 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -805,7 +805,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -713,7 +713,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
int i = this.getGameRules().getInt(GameRules.RULE_PLAYERS_SLEEPING_PERCENTAGE);
long j;
@@ -18,10 +18,10 @@ index 0e8452f6a8300992f397fb15db763304d72fe3b9..49c412f46854ee877de1721b08629e8a
j = this.levelData.getDayTime() + 24000L;
TimeSkipEvent event = new TimeSkipEvent(this.getWorld(), TimeSkipEvent.SkipReason.NIGHT_SKIP, (j - j % 24000L) - this.getDayTime());
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 57f5792a06e55c7d7e9f0bf20c89c5d4337abd8d..c324b47449148a2b07b748cca456faa67c9358ba 100644
index f23be13aa229537dd6f9247a3008981e4ee098bc..4cc6a3bdcb5eabfe2ee441ec41bd2cfdfacf0000 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -358,6 +358,7 @@ public class PurpurWorldConfig {
@@ -356,6 +356,7 @@ public class PurpurWorldConfig {
public boolean playerFixStuckPortal = false;
public boolean creativeOnePunch = false;
public boolean playerSleepNearMonsters = false;
@@ -29,7 +29,7 @@ index 57f5792a06e55c7d7e9f0bf20c89c5d4337abd8d..c324b47449148a2b07b748cca456faa6
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -378,6 +379,7 @@ public class PurpurWorldConfig {
@@ -374,6 +375,7 @@ public class PurpurWorldConfig {
playerFixStuckPortal = getBoolean("gameplay-mechanics.player.fix-stuck-in-portal", playerFixStuckPortal);
creativeOnePunch = getBoolean("gameplay-mechanics.player.one-punch-in-creative", creativeOnePunch);
playerSleepNearMonsters = getBoolean("gameplay-mechanics.player.sleep-ignore-nearby-mobs", playerSleepNearMonsters);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add config for villager trading
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index 01a1732ca13300b60979d250ebf156ca68bb014f..444dbab9a1c95d1f8bc97e165e5302473a29c7e8 100644
index a41dc80579375eb3fd8be9b2169c4affd134f6fa..d24f970c50c1a4937b66e7eb6e3edc1d3b61a07e 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -371,7 +371,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -366,7 +366,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
return tryRide(player, hand, InteractionResult.sidedSuccess(this.level().isClientSide)); // Purpur
} else {
if (level().purpurConfig.villagerRidable && itemstack.isEmpty()) return tryRide(player, hand); // Purpur
@@ -18,10 +18,10 @@ index 01a1732ca13300b60979d250ebf156ca68bb014f..444dbab9a1c95d1f8bc97e165e530247
}
diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
index 5c6f1d3ffa2a2b6990d2406b14679e8286f60729..68d263a7647e395d981014f7cc761fe76fc74cb6 100644
index 502ff11b909537f98339d3bef49f324e69d2f0fe..bb18a29281df797e05d828caed0a604329209cba 100644
--- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
+++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
@@ -149,7 +149,7 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
@@ -153,7 +153,7 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
return tryRide(player, hand, InteractionResult.sidedSuccess(this.level().isClientSide)); // Purpur
} else {
if (level().purpurConfig.wanderingTraderRidable && itemstack.isEmpty()) return tryRide(player, hand); // Purpur
@@ -31,10 +31,10 @@ index 5c6f1d3ffa2a2b6990d2406b14679e8286f60729..68d263a7647e395d981014f7cc761fe7
this.openTradingScreen(player, this.getDisplayName(), 1);
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c324b47449148a2b07b748cca456faa67c9358ba..37ee42c46d469e11dc48eb292442beaac3e74445 100644
index 4cc6a3bdcb5eabfe2ee441ec41bd2cfdfacf0000..0eb757ba6523e23271a08ec8af66fd6fb581ce27 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2127,6 +2127,7 @@ public class PurpurWorldConfig {
@@ -2123,6 +2123,7 @@ public class PurpurWorldConfig {
public boolean villagerClericFarmersThrowWarts = true;
public boolean villagerBypassMobGriefing = false;
public boolean villagerTakeDamageFromWater = false;
@@ -42,7 +42,7 @@ index c324b47449148a2b07b748cca456faa67c9358ba..37ee42c46d469e11dc48eb292442beaa
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2145,6 +2146,7 @@ public class PurpurWorldConfig {
@@ -2141,6 +2142,7 @@ public class PurpurWorldConfig {
villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts);
villagerBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerBypassMobGriefing);
villagerTakeDamageFromWater = getBoolean("mobs.villager.takes-damage-from-water", villagerTakeDamageFromWater);
@@ -50,7 +50,7 @@ index c324b47449148a2b07b748cca456faa67c9358ba..37ee42c46d469e11dc48eb292442beaa
}
public boolean vindicatorRidable = false;
@@ -2174,6 +2176,7 @@ public class PurpurWorldConfig {
@@ -2170,6 +2172,7 @@ public class PurpurWorldConfig {
public boolean wanderingTraderFollowEmeraldBlock = false;
public boolean wanderingTraderCanBeLeashed = false;
public boolean wanderingTraderTakeDamageFromWater = false;
@@ -58,7 +58,7 @@ index c324b47449148a2b07b748cca456faa67c9358ba..37ee42c46d469e11dc48eb292442beaa
private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
@@ -2187,6 +2190,7 @@ public class PurpurWorldConfig {
@@ -2183,6 +2186,7 @@ public class PurpurWorldConfig {
wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock);
wanderingTraderCanBeLeashed = getBoolean("mobs.wandering_trader.can-be-leashed", wanderingTraderCanBeLeashed);
wanderingTraderTakeDamageFromWater = getBoolean("mobs.wandering_trader.takes-damage-from-water", wanderingTraderTakeDamageFromWater);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Drowning Settings
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 36e9b635f81f2799cd210075bced9e976a90a351..dbd61da31192896ced9839cf8a3b123a6625ae60 100644
index f30846c16cad822a08093572dc429b13d32b9e41..dcfa461492623e70b65dfb090c8a078fe88613cd 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3305,7 +3305,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -3321,7 +3321,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
}
public int getMaxAirSupply() {
@@ -18,10 +18,10 @@ index 36e9b635f81f2799cd210075bced9e976a90a351..dbd61da31192896ced9839cf8a3b123a
public int getAirSupply() {
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 9a4ac87ae3cc766ba4080cf5b4f3743d13bd6266..217a0082f7f260678253f31e381a432099555177 100644
index 4af38169c6b541cb5087542f0c49420db5c9a7b9..b6a17432cf41a686df2449dc260fdc3941698c9b 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -439,7 +439,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -440,7 +440,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
if (flag1) {
this.setAirSupply(this.decreaseAirSupply(this.getAirSupply()));
@@ -30,7 +30,7 @@ index 9a4ac87ae3cc766ba4080cf5b4f3743d13bd6266..217a0082f7f260678253f31e381a4320
this.setAirSupply(0);
Vec3 vec3d = this.getDeltaMovement();
@@ -451,7 +451,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -452,7 +452,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.level().addParticle(ParticleTypes.BUBBLE, this.getX() + d2, this.getY() + d3, this.getZ() + d4, vec3d.x, vec3d.y, vec3d.z);
}
@@ -40,7 +40,7 @@ index 9a4ac87ae3cc766ba4080cf5b4f3743d13bd6266..217a0082f7f260678253f31e381a4320
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 37ee42c46d469e11dc48eb292442beaac3e74445..f7e9f7ebb35dcbcbd8dce440824e4729e0239503 100644
index 0eb757ba6523e23271a08ec8af66fd6fb581ce27..50dbb896e7bfcb009d0a1819f8b994cff668a06d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -164,6 +164,15 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Break individual slabs when sneaking
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
index 26f78343b5ecaafc3252654848c21a5405379c0e..b9e9f20842274024dd1e2a0253666002c914a2b2 100644
index 51a74d7ba4006523dfaffba40ffcbe117a6df406..dbb08ce85ad38b325f02700e879f92c06d897268 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
@@ -398,6 +398,7 @@ public class ServerPlayerGameMode {
@@ -396,6 +396,7 @@ public class ServerPlayerGameMode {
} else {capturedBlockEntity = true;} // Paper end
return false;
}
@@ -17,10 +17,10 @@ index 26f78343b5ecaafc3252654848c21a5405379c0e..b9e9f20842274024dd1e2a0253666002
// CraftBukkit end
diff --git a/src/main/java/net/minecraft/world/level/block/SlabBlock.java b/src/main/java/net/minecraft/world/level/block/SlabBlock.java
index 18b603d646081926343dea108b55d641df1c2c34..370772b1297b78bcc7419684015830a87c4d9a17 100644
index ea8c78af35b0ddc0d08adfccfc78770b867e5df6..88cfa41f90d4ad395b96fd0b69ac0bdefe06ed2d 100644
--- a/src/main/java/net/minecraft/world/level/block/SlabBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/SlabBlock.java
@@ -130,4 +130,25 @@ public class SlabBlock extends Block implements SimpleWaterloggedBlock {
@@ -131,4 +131,25 @@ public class SlabBlock extends Block implements SimpleWaterloggedBlock {
return false;
}
}
@@ -47,10 +47,10 @@ index 18b603d646081926343dea108b55d641df1c2c34..370772b1297b78bcc7419684015830a8
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f7e9f7ebb35dcbcbd8dce440824e4729e0239503..fcd78eb993ed41ae560bd76d8f090a3e5931e707 100644
index 50dbb896e7bfcb009d0a1819f8b994cff668a06d..1c9cba09dc987651f8533b0324578472ca2d5b02 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -604,6 +604,11 @@ public class PurpurWorldConfig {
@@ -600,6 +600,11 @@ public class PurpurWorldConfig {
}
}

View File

@@ -24,10 +24,10 @@ index 55c245d0dfa369dc6de2197ae37335fba4fae4ae..c9b40515f4c2ff1eedfc9510930c3bae
return false;
} else {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index fcd78eb993ed41ae560bd76d8f090a3e5931e707..99fefdf8f5d34189a0e046cd9dd9ad9a240c3948 100644
index 1c9cba09dc987651f8533b0324578472ca2d5b02..cf044d358a2f1fe4bdb9240502ab889dd7156cb2 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -569,6 +569,13 @@ public class PurpurWorldConfig {
@@ -565,6 +565,13 @@ public class PurpurWorldConfig {
furnaceUseLavaFromUnderneath = getBoolean("blocks.furnace.use-lava-from-underneath", furnaceUseLavaFromUnderneath);
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Config to show Armor Stand arms on spawn
diff --git a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
index b48a3d318a14889c68a1de5c1997b1090aab4029..4c5f20bafe589fbd4a034408edb721ac79bbc666 100644
index 5a50423c64e2b9d0a213e769dafd8930cfacbf66..b735c8029685bc4cca5998b36b52249dc51df1a2 100644
--- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
+++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
@@ -114,6 +114,7 @@ public class ArmorStand extends LivingEntity {
@@ -17,7 +17,7 @@ index b48a3d318a14889c68a1de5c1997b1090aab4029..4c5f20bafe589fbd4a034408edb721ac
public ArmorStand(Level world, double x, double y, double z) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 99fefdf8f5d34189a0e046cd9dd9ad9a240c3948..3610fe6652e156066745ecac3551d6610a868603 100644
index cf044d358a2f1fe4bdb9240502ab889dd7156cb2..be0d58ead54c70b5aa94732a90e15a49fe28f6a6 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -102,6 +102,7 @@ public class PurpurWorldConfig {

View File

@@ -67,10 +67,10 @@ index c028a7158e41a0754abb8e24dcd647633fbf3fe8..cd65d32f4af016d4937e598c71386a30
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 3610fe6652e156066745ecac3551d6610a868603..761f8546ce1314e488aaa21faa0a912b64699c2b 100644
index be0d58ead54c70b5aa94732a90e15a49fe28f6a6..13d2d69181ceb9c211e675c58930649bd67005ed 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -508,6 +508,16 @@ public class PurpurWorldConfig {
@@ -504,6 +504,16 @@ public class PurpurWorldConfig {
dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils);
}

View File

@@ -74,10 +74,10 @@ index 8a7c30e316db4960b0b62ca0e366c19febead214..fdf2bf10a533c3d4ee145880e6949dad
((ServerPlayer) player).connection.send(new ClientboundContainerSetDataPacket(containerId, 0, cost.get()));
}
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
index 34068bd89cb4c111e468d85fb01e51d99efb3349..5b83025cbf657ed9576b8d667ca3436af5e0b20c 100644
index c9d1e2af3afd7a9320b589ede8ff29ffbaf9297d..5f80eceb805c22c58ce19ab371abfd90feada854 100644
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
@@ -1208,6 +1208,12 @@ public final class ItemStack {
@@ -1213,6 +1213,12 @@ public final class ItemStack {
return this.tag != null && this.tag.contains("Enchantments", 9) ? !this.tag.getList("Enchantments", 10).isEmpty() : false;
}

View File

@@ -8,10 +8,10 @@ Allows the total area and radius of water blocks the sponge can absorb to be cha
Co-authored by: granny <granny@purpurmc.org>
diff --git a/src/main/java/net/minecraft/world/level/block/SpongeBlock.java b/src/main/java/net/minecraft/world/level/block/SpongeBlock.java
index 4bce895268542531598a01a1bccd8ac1ed703b7d..709dd0af07f2439d7c7e8b5cd0677580dc3f6278 100644
index d810f6bf9a8a354e5b8994e51ec3672428277dde..e7b19fa84d9dce28dd88a3b4adcb83576dcb98a8 100644
--- a/src/main/java/net/minecraft/world/level/block/SpongeBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/SpongeBlock.java
@@ -48,7 +48,7 @@ public class SpongeBlock extends Block {
@@ -51,7 +51,7 @@ public class SpongeBlock extends Block {
private boolean removeWaterBreadthFirstSearch(Level world, BlockPos pos) {
BlockStateListPopulator blockList = new BlockStateListPopulator(world); // CraftBukkit - Use BlockStateListPopulator
@@ -21,10 +21,10 @@ index 4bce895268542531598a01a1bccd8ac1ed703b7d..709dd0af07f2439d7c7e8b5cd0677580
int i = aenumdirection.length;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 761f8546ce1314e488aaa21faa0a912b64699c2b..347d2f5d5a8d380cea2fd483a68423375fc76908 100644
index 13d2d69181ceb9c211e675c58930649bd67005ed..2b6817d593f1f501055d57cb08be873917823b05 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -633,6 +633,13 @@ public class PurpurWorldConfig {
@@ -629,6 +629,13 @@ public class PurpurWorldConfig {
spawnerDeactivateByRedstone = getBoolean("blocks.spawner.deactivate-by-redstone", spawnerDeactivateByRedstone);
}

View File

@@ -96,10 +96,10 @@ index 06c2f30b77a2c8aecc65e0c305f643d53798f364..6d1573161f0d8c7999f84925ba7bbf53
entitythrowntrident.pickup = AbstractArrow.Pickup.CREATIVE_ONLY;
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 347d2f5d5a8d380cea2fd483a68423375fc76908..683c1b7a3cc283b7806d5fa9784aba2d96f962f8 100644
index 2b6817d593f1f501055d57cb08be873917823b05..82dfee00977a201b14cd13a2b88a8d76e5955fca 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -426,6 +426,23 @@ public class PurpurWorldConfig {
@@ -422,6 +422,23 @@ public class PurpurWorldConfig {
//}
}

View File

@@ -18,10 +18,10 @@ index 7fddb6fa8fd30ef88346a59f7867aae792f13772..40893e71fe8447b695350273bef9623b
} else {
int j = pos.getX();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 683c1b7a3cc283b7806d5fa9784aba2d96f962f8..46364a5178218bee2de43f4725efe15ab7521b3b 100644
index 82dfee00977a201b14cd13a2b88a8d76e5955fca..4bd01834faafc8bbfb29818063c9acd42d44a8fa 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -619,6 +619,11 @@ public class PurpurWorldConfig {
@@ -615,6 +615,11 @@ public class PurpurWorldConfig {
powderSnowBypassMobGriefing = getBoolean("blocks.powder_snow.bypass-mob-griefing", powderSnowBypassMobGriefing);
}

View File

@@ -31,10 +31,10 @@ index 2c085c4a154cb0f8a1d38453f43474a764398784..589b437e7c97c846410f293e2f014bdc
pos = pos.below();
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 46364a5178218bee2de43f4725efe15ab7521b3b..52a903facc05e61e36b0919946c4a18604ebcd92 100644
index 4bd01834faafc8bbfb29818063c9acd42d44a8fa..b71f78d71d88e051cb12bf1cf09abb909a4d0465 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1651,6 +1651,7 @@ public class PurpurWorldConfig {
@@ -1647,6 +1647,7 @@ public class PurpurWorldConfig {
public double piglinMaxHealth = 16.0D;
public boolean piglinBypassMobGriefing = false;
public boolean piglinTakeDamageFromWater = false;
@@ -42,7 +42,7 @@ index 46364a5178218bee2de43f4725efe15ab7521b3b..52a903facc05e61e36b0919946c4a186
private void piglinSettings() {
piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable);
piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater);
@@ -1663,6 +1664,7 @@ public class PurpurWorldConfig {
@@ -1659,6 +1660,7 @@ public class PurpurWorldConfig {
piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth);
piglinBypassMobGriefing = getBoolean("mobs.piglin.bypass-mob-griefing", piglinBypassMobGriefing);
piglinTakeDamageFromWater = getBoolean("mobs.piglin.takes-damage-from-water", piglinTakeDamageFromWater);

View File

@@ -18,7 +18,7 @@ index 41c9f074203915c31c1ae7a160ce509c13383f84..a16a1df28258d605cf5908dbe19bda5d
public BeehiveBlockEntity(BlockPos pos, BlockState state) {
super(BlockEntityType.BEEHIVE, pos, state);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 0ebd43cf4163e2f3b06d1f6475421c03e08a1bd5..a212357e968393f4d303364e63092defad3d7835 100644
index 5697ce5ead8dc7e463206a56d489c99c861a9bb1..85a41b50a1f0a89264585ecd621e7e5a1de67efc 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -250,6 +250,7 @@ public class PurpurConfig {

View File

@@ -18,10 +18,10 @@ index f40ab9d5b18c189ba9b572e49243640bd44362d1..b4687453256ead43cf5288994316c7bf
if (!event.isCancelled()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 52a903facc05e61e36b0919946c4a18604ebcd92..2188706d89a36500da3571d2761b830f7c8fe60f 100644
index b71f78d71d88e051cb12bf1cf09abb909a4d0465..714e605d56a35c69c057fa810e6a18649cb8cba0 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2294,6 +2294,7 @@ public class PurpurWorldConfig {
@@ -2290,6 +2290,7 @@ public class PurpurWorldConfig {
public boolean witherBypassMobGriefing = false;
public boolean witherTakeDamageFromWater = false;
public boolean witherCanRideVehicles = false;
@@ -29,7 +29,7 @@ index 52a903facc05e61e36b0919946c4a18604ebcd92..2188706d89a36500da3571d2761b830f
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -2314,6 +2315,7 @@ public class PurpurWorldConfig {
@@ -2310,6 +2311,7 @@ public class PurpurWorldConfig {
witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing);
witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater);
witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Gamemode extra permissions
diff --git a/src/main/java/net/minecraft/commands/CommandSourceStack.java b/src/main/java/net/minecraft/commands/CommandSourceStack.java
index f03fd95412883a3a5bbe2b91c603874bf147e6cb..873659dcf8c8431f21bd2b23b8d7bdb4ea7e03e8 100644
index 756651db912068c837197a972e95bc66ab9d4a70..106b27d507b16297a0a88b3b5beaaf3d0ef7e2c6 100644
--- a/src/main/java/net/minecraft/commands/CommandSourceStack.java
+++ b/src/main/java/net/minecraft/commands/CommandSourceStack.java
@@ -227,6 +227,19 @@ public class CommandSourceStack implements SharedSuggestionProvider, com.destroy
@@ -223,6 +223,19 @@ public class CommandSourceStack implements SharedSuggestionProvider, com.destroy
}
// CraftBukkit end

View File

@@ -36,10 +36,10 @@ index 744d91546d1a810f60a43c15ed74b4158f341a4a..354538daefa603f6df5a139b6bff87db
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 2188706d89a36500da3571d2761b830f7c8fe60f..5baac1391199d4877c566beb45b5eaca29cfbff2 100644
index 714e605d56a35c69c057fa810e6a18649cb8cba0..99c7e2ff1dfdb7e9bb755c6081232c1c64c96396 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -614,6 +614,11 @@ public class PurpurWorldConfig {
@@ -610,6 +610,11 @@ public class PurpurWorldConfig {
lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether);
}

View File

@@ -5,19 +5,19 @@ Subject: [PATCH] Configurable broadcast settings
diff --git a/src/main/java/net/minecraft/server/PlayerAdvancements.java b/src/main/java/net/minecraft/server/PlayerAdvancements.java
index 52891c4a4260d1938f2f4565b5219ad303555638..69d349613f01ab0ac1890734657da52984704f29 100644
index 0b3a06027f2c600960cd88159803be187c4d0317..533a348acb53c8e7590f3d81c19e53a655101713 100644
--- a/src/main/java/net/minecraft/server/PlayerAdvancements.java
+++ b/src/main/java/net/minecraft/server/PlayerAdvancements.java
@@ -250,6 +250,7 @@ public class PlayerAdvancements {
advancement.getRewards().grant(this.player);
// Paper start - Add Adventure message to PlayerAdvancementDoneEvent
if (message != null && this.player.level().getGameRules().getBoolean(GameRules.RULE_ANNOUNCE_ADVANCEMENTS)) {
+ if (org.purpurmc.purpur.PurpurConfig.advancementOnlyBroadcastToAffectedPlayer) this.player.sendMessage(message); else // Purpur
this.playerList.broadcastSystemMessage(io.papermc.paper.adventure.PaperAdventure.asVanilla(message), false);
// Paper end
}
@@ -247,6 +247,7 @@ public class PlayerAdvancements {
advancement.value().display().ifPresent((advancementdisplay) -> {
// Paper start - Add Adventure message to PlayerAdvancementDoneEvent
if (event.message() != null && this.player.level().getGameRules().getBoolean(GameRules.RULE_ANNOUNCE_ADVANCEMENTS)) {
+ if (org.purpurmc.purpur.PurpurConfig.advancementOnlyBroadcastToAffectedPlayer) this.player.sendMessage(message); else // Purpur
this.playerList.broadcastSystemMessage(io.papermc.paper.adventure.PaperAdventure.asVanilla(event.message()), false);
// Paper end
}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index ea7a533546c53539355ea1501b027399e6ba1bd8..784634596696521cfbd58e85392183dd96b843b0 100644
index 6b61c985be3c19221b229542f0d0e902d085a772..e2627f8bb71375eccaff4706b74285263e28f2b1 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1004,6 +1004,7 @@ public class ServerPlayer extends Player {
@@ -29,7 +29,7 @@ index ea7a533546c53539355ea1501b027399e6ba1bd8..784634596696521cfbd58e85392183dd
if (scoreboardteambase.getDeathMessageVisibility() == Team.Visibility.HIDE_FOR_OTHER_TEAMS) {
this.server.getPlayerList().broadcastSystemToTeam(this, ichatbasecomponent);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 3d0fc534454cd8b543e4fa55aa9dfe1e55ee1b49..6420f7043f7f88eef90051db9af8c6567945c553 100644
index a66c35ce86437311b38d1787c766bbe179cc5dfa..a0f45333ef049ac950295504bb7526f949dcbede 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -203,6 +203,18 @@ public class PurpurConfig {

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Configurable mob blindness
Ported from https://github.com/raltsmc/mobblindness
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 217a0082f7f260678253f31e381a432099555177..cdae47c490555efad0eb2d2ae6498888aeaf21bd 100644
index b6a17432cf41a686df2449dc260fdc3941698c9b..2e89a05402dd895eee4a27a345318baeabbd1f96 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1036,6 +1036,17 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -1037,6 +1037,17 @@ public abstract class LivingEntity extends Entity implements Attackable {
if (entitytypes == EntityType.SKELETON && itemstack.is(Items.SKELETON_SKULL) || entitytypes == EntityType.ZOMBIE && itemstack.is(Items.ZOMBIE_HEAD) || entitytypes == EntityType.PIGLIN && itemstack.is(Items.PIGLIN_HEAD) || entitytypes == EntityType.PIGLIN_BRUTE && itemstack.is(Items.PIGLIN_HEAD) || entitytypes == EntityType.CREEPER && itemstack.is(Items.CREEPER_HEAD)) {
d0 *= 0.5D;
}
@@ -28,7 +28,7 @@ index 217a0082f7f260678253f31e381a432099555177..cdae47c490555efad0eb2d2ae6498888
return d0;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 5baac1391199d4877c566beb45b5eaca29cfbff2..08f0f4d9c7abb4db26f11655f2544e1af3775531 100644
index 99c7e2ff1dfdb7e9bb755c6081232c1c64c96396..01b3d8263d24f6b58da087c751c001a6bd5c723c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -132,6 +132,7 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Hide hidden players from entity selector
diff --git a/src/main/java/net/minecraft/commands/arguments/selector/EntitySelector.java b/src/main/java/net/minecraft/commands/arguments/selector/EntitySelector.java
index f25b9330e068c7d9e12cb57a7761cfef9ebaf7bc..7e66aaa960ce7b6dda7c064d4c6856cc4b368b58 100644
index 73c15a0c56a103ba4e62f0a51af8d42566b07245..d630c5a1aed706265d1e077da540c0bf723b838d 100644
--- a/src/main/java/net/minecraft/commands/arguments/selector/EntitySelector.java
+++ b/src/main/java/net/minecraft/commands/arguments/selector/EntitySelector.java
@@ -200,10 +200,10 @@ public class EntitySelector {
@@ -21,8 +21,8 @@ index f25b9330e068c7d9e12cb57a7761cfef9ebaf7bc..7e66aaa960ce7b6dda7c064d4c6856cc
} else {
Vec3 vec3d = (Vec3) this.position.apply(source.getPosition());
Predicate<Entity> predicate = this.getPredicate(vec3d);
@@ -213,7 +213,7 @@ public class EntitySelector {
ServerPlayer entityplayer1 = (ServerPlayer) source.getEntity();
@@ -215,7 +215,7 @@ public class EntitySelector {
ServerPlayer entityplayer1 = (ServerPlayer) entity;
if (predicate.test(entityplayer1)) {
- return Lists.newArrayList(new ServerPlayer[]{entityplayer1});
@@ -30,7 +30,7 @@ index f25b9330e068c7d9e12cb57a7761cfef9ebaf7bc..7e66aaa960ce7b6dda7c064d4c6856cc
}
}
@@ -224,6 +224,7 @@ public class EntitySelector {
@@ -226,6 +226,7 @@ public class EntitySelector {
if (this.isWorldLimited()) {
object = source.getLevel().getPlayers(predicate, i);
@@ -38,7 +38,7 @@ index f25b9330e068c7d9e12cb57a7761cfef9ebaf7bc..7e66aaa960ce7b6dda7c064d4c6856cc
} else {
object = Lists.newArrayList();
Iterator iterator = source.getServer().getPlayerList().getPlayers().iterator();
@@ -231,7 +232,7 @@ public class EntitySelector {
@@ -233,7 +234,7 @@ public class EntitySelector {
while (iterator.hasNext()) {
ServerPlayer entityplayer2 = (ServerPlayer) iterator.next();
@@ -47,7 +47,7 @@ index f25b9330e068c7d9e12cb57a7761cfef9ebaf7bc..7e66aaa960ce7b6dda7c064d4c6856cc
((List) object).add(entityplayer2);
if (((List) object).size() >= i) {
return (List) object;
@@ -276,4 +277,10 @@ public class EntitySelector {
@@ -278,4 +279,10 @@ public class EntitySelector {
public static Component joinNames(List<? extends Entity> entities) {
return ComponentUtils.formatList(entities, Entity::getDisplayName);
}
@@ -59,7 +59,7 @@ index f25b9330e068c7d9e12cb57a7761cfef9ebaf7bc..7e66aaa960ce7b6dda7c064d4c6856cc
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 6420f7043f7f88eef90051db9af8c6567945c553..3efda1177f3141851f8f1580b462e3a839303845 100644
index a0f45333ef049ac950295504bb7526f949dcbede..8b2ec98b74f441b36acb94e0c6477ddaa2d333e8 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -246,6 +246,7 @@ public class PurpurConfig {

View File

@@ -21,10 +21,10 @@ index fd3b1e92a626402112bbd371a0ac1264a2c19c32..a8bc27c858c6ddec2ff2f84b5c1dc51c
// CraftBukkit end
this.dead = true;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 08f0f4d9c7abb4db26f11655f2544e1af3775531..7057382f67491b6b21b66c81e0ccaf8b59b04c1b 100644
index 01b3d8263d24f6b58da087c751c001a6bd5c723c..ae367a21e60425f5720a3532e2a6d99cafa9e33f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -932,6 +932,7 @@ public class PurpurWorldConfig {
@@ -928,6 +928,7 @@ public class PurpurWorldConfig {
public boolean creeperBypassMobGriefing = false;
public boolean creeperTakeDamageFromWater = false;
public boolean creeperExplodeWhenKilled = false;
@@ -32,7 +32,7 @@ index 08f0f4d9c7abb4db26f11655f2544e1af3775531..7057382f67491b6b21b66c81e0ccaf8b
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -947,6 +948,7 @@ public class PurpurWorldConfig {
@@ -943,6 +944,7 @@ public class PurpurWorldConfig {
creeperBypassMobGriefing = getBoolean("mobs.creeper.bypass-mob-griefing", creeperBypassMobGriefing);
creeperTakeDamageFromWater = getBoolean("mobs.creeper.takes-damage-from-water", creeperTakeDamageFromWater);
creeperExplodeWhenKilled = getBoolean("mobs.creeper.explode-when-killed", creeperExplodeWhenKilled);

View File

@@ -25,10 +25,10 @@ index 58539d29b8e2a8c0676cc574f64e7d61613e1451..1ffb8e1c386fc85796432281ac407a93
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 7057382f67491b6b21b66c81e0ccaf8b59b04c1b..956b1281d0484c86ee7642b1732de489679dc3d9 100644
index ae367a21e60425f5720a3532e2a6d99cafa9e33f..db9c2ac59a8a1a1659ab44420d9583d224be2c05 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1390,6 +1390,8 @@ public class PurpurWorldConfig {
@@ -1386,6 +1386,8 @@ public class PurpurWorldConfig {
public boolean ironGolemCanSwim = false;
public double ironGolemMaxHealth = 100.0D;
public boolean ironGolemTakeDamageFromWater = false;
@@ -37,7 +37,7 @@ index 7057382f67491b6b21b66c81e0ccaf8b59b04c1b..956b1281d0484c86ee7642b1732de489
private void ironGolemSettings() {
ironGolemRidable = getBoolean("mobs.iron_golem.ridable", ironGolemRidable);
ironGolemRidableInWater = getBoolean("mobs.iron_golem.ridable-in-water", ironGolemRidableInWater);
@@ -1402,6 +1404,8 @@ public class PurpurWorldConfig {
@@ -1398,6 +1400,8 @@ public class PurpurWorldConfig {
}
ironGolemMaxHealth = getDouble("mobs.iron_golem.attributes.max_health", ironGolemMaxHealth);
ironGolemTakeDamageFromWater = getBoolean("mobs.iron_golem.takes-damage-from-water", ironGolemTakeDamageFromWater);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Breedable parrots
diff --git a/src/main/java/net/minecraft/world/entity/animal/Parrot.java b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
index 4c64feca8d78b907406cc409bd6beef4b3bd35f3..6e8fc61b04796da5a8820812b5e88110f774b77a 100644
index 5c7400bab81b87e908010bab6684b072c51a8adc..364a2d9f7a77e10862c84398d5fade7e9a401dbb 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Parrot.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
@@ -226,6 +226,7 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
@@ -227,6 +227,7 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
protected void registerGoals() {
//this.goalSelector.addGoal(0, new PanicGoal(this, 1.25D)); // Purpur - move down
this.goalSelector.addGoal(0, new FloatGoal(this));
@@ -16,7 +16,7 @@ index 4c64feca8d78b907406cc409bd6beef4b3bd35f3..6e8fc61b04796da5a8820812b5e88110
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
this.goalSelector.addGoal(1, new PanicGoal(this, 1.25D)); // Purpur
this.goalSelector.addGoal(1, new LookAtPlayerGoal(this, Player.class, 8.0F));
@@ -342,6 +343,7 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
@@ -343,6 +344,7 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
}
}
@@ -24,7 +24,7 @@ index 4c64feca8d78b907406cc409bd6beef4b3bd35f3..6e8fc61b04796da5a8820812b5e88110
return InteractionResult.sidedSuccess(this.level().isClientSide);
} else if (itemstack.is(Parrot.POISONOUS_FOOD)) {
if (!player.getAbilities().instabuild) {
@@ -367,7 +369,7 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
@@ -368,7 +370,7 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
@Override
public boolean isFood(ItemStack stack) {
@@ -33,7 +33,7 @@ index 4c64feca8d78b907406cc409bd6beef4b3bd35f3..6e8fc61b04796da5a8820812b5e88110
}
public static boolean checkParrotSpawnRules(EntityType<Parrot> type, LevelAccessor world, MobSpawnType spawnReason, BlockPos pos, RandomSource random) {
@@ -379,13 +381,13 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
@@ -380,13 +382,13 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
@Override
public boolean canMate(Animal other) {
@@ -50,10 +50,10 @@ index 4c64feca8d78b907406cc409bd6beef4b3bd35f3..6e8fc61b04796da5a8820812b5e88110
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 956b1281d0484c86ee7642b1732de489679dc3d9..f06d6863c2f48f59817e7d1d1f3ea928c29140bb 100644
index db9c2ac59a8a1a1659ab44420d9583d224be2c05..0e3f1a9a9518ba0942c8ef148d965dbcfc070258 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1560,6 +1560,7 @@ public class PurpurWorldConfig {
@@ -1556,6 +1556,7 @@ public class PurpurWorldConfig {
public double parrotMaxY = 320D;
public double parrotMaxHealth = 6.0D;
public boolean parrotTakeDamageFromWater = false;
@@ -61,7 +61,7 @@ index 956b1281d0484c86ee7642b1732de489679dc3d9..f06d6863c2f48f59817e7d1d1f3ea928
private void parrotSettings() {
parrotRidable = getBoolean("mobs.parrot.ridable", parrotRidable);
parrotRidableInWater = getBoolean("mobs.parrot.ridable-in-water", parrotRidableInWater);
@@ -1572,6 +1573,7 @@ public class PurpurWorldConfig {
@@ -1568,6 +1569,7 @@ public class PurpurWorldConfig {
}
parrotMaxHealth = getDouble("mobs.parrot.attributes.max_health", parrotMaxHealth);
parrotTakeDamageFromWater = getBoolean("mobs.parrot.takes-damage-from-water", parrotTakeDamageFromWater);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable powered rail boost modifier
diff --git a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
index 5cdcc5792f19766d2d55d16859f8e0f68bd6479b..b99b94c6ec4767aba16d82eaca8b2761d779b226 100644
index 9d9d9cf2366441b453b66f91c53e7a0fe0c01e8f..faf449dfb4f95a300796db46833f3b6a51cb961b 100644
--- a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
+++ b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
@@ -724,7 +724,7 @@ public abstract class AbstractMinecart extends Entity {
@@ -18,7 +18,7 @@ index 5cdcc5792f19766d2d55d16859f8e0f68bd6479b..b99b94c6ec4767aba16d82eaca8b2761
Vec3 vec3d5 = this.getDeltaMovement();
double d21 = vec3d5.x;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f06d6863c2f48f59817e7d1d1f3ea928c29140bb..7684e05000e1913b4ee04b87b6304f7a4b73e82a 100644
index 0e3f1a9a9518ba0942c8ef148d965dbcfc070258..09ca13ad75c972cbf92a1dfc9b3835ccc1cd11d1 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -275,6 +275,7 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add config change multiplier critical damage value
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index 04e816f01db7d2de7ffa9bbaaa72daadaab34831..81ba8875f0077ac1be80533061bcb0e632c13ded 100644
index a21feaa31c6aa3c7f2198b3b4a84af101aa16988..65c92a2feffd878c12082239b0c41444a0f21d57 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -1313,7 +1313,7 @@ public abstract class Player extends LivingEntity {
@@ -1319,7 +1319,7 @@ public abstract class Player extends LivingEntity {
flag2 = flag2 && !this.level().paperConfig().entities.behavior.disablePlayerCrits; // Paper
flag2 = flag2 && !this.isSprinting();
if (flag2) {
@@ -18,10 +18,10 @@ index 04e816f01db7d2de7ffa9bbaaa72daadaab34831..81ba8875f0077ac1be80533061bcb0e6
f += f1;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 7684e05000e1913b4ee04b87b6304f7a4b73e82a..6e5b055117023afe69ed8226ef0caf246f7560b4 100644
index 09ca13ad75c972cbf92a1dfc9b3835ccc1cd11d1..3aedf02206c4581b201e4dd0cefe0b6524e6f38b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -374,6 +374,7 @@ public class PurpurWorldConfig {
@@ -372,6 +372,7 @@ public class PurpurWorldConfig {
public boolean creativeOnePunch = false;
public boolean playerSleepNearMonsters = false;
public boolean playersSkipNight = true;
@@ -29,7 +29,7 @@ index 7684e05000e1913b4ee04b87b6304f7a4b73e82a..6e5b055117023afe69ed8226ef0caf24
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -395,6 +396,7 @@ public class PurpurWorldConfig {
@@ -391,6 +392,7 @@ public class PurpurWorldConfig {
creativeOnePunch = getBoolean("gameplay-mechanics.player.one-punch-in-creative", creativeOnePunch);
playerSleepNearMonsters = getBoolean("gameplay-mechanics.player.sleep-ignore-nearby-mobs", playerSleepNearMonsters);
playersSkipNight = getBoolean("gameplay-mechanics.player.can-skip-night", playersSkipNight);

View File

@@ -19,10 +19,10 @@ index 7e1edcc7b9f170b7c649437c2f0dd78c0bab9be4..5f8ac1fdac2c334951261f2b9702f5e7
BlockPos blockposition1 = pos.offset(world.random.nextInt(16) - world.random.nextInt(16), world.random.nextInt(8) - world.random.nextInt(8), world.random.nextInt(16) - world.random.nextInt(16));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 6e5b055117023afe69ed8226ef0caf246f7560b4..9486f753b7c33a324431171ab017d43889887908 100644
index 3aedf02206c4581b201e4dd0cefe0b6524e6f38b..2abe6192ab9caac24aae3c8488cf0ee3cb3173d7 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -541,6 +541,11 @@ public class PurpurWorldConfig {
@@ -537,6 +537,11 @@ public class PurpurWorldConfig {
});
}

View File

@@ -5,20 +5,20 @@ Subject: [PATCH] Config for unverified username message
diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
index 878001928327d92423d5f7f6d5ce8772d6fa477f..b4b88a3d4dc66c44ca8f3bad1025c17a9993ac1d 100644
index ff2dd53e9e943aa929188fd9d4c35498b78c497a..e615e417627840d645db259bc9640a0471a52b05 100644
--- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
@@ -340,7 +340,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener,
ServerLoginPacketListenerImpl.this.gameProfile = gameprofile;
ServerLoginPacketListenerImpl.this.state = ServerLoginPacketListenerImpl.State.READY_TO_ACCEPT;
@@ -296,7 +296,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener,
ServerLoginPacketListenerImpl.LOGGER.warn("Failed to verify username but will let them in anyway!");
ServerLoginPacketListenerImpl.this.startClientVerification(ServerLoginPacketListenerImpl.this.createOfflineProfile(s1)); // Spigot
} else {
- ServerLoginPacketListenerImpl.this.disconnect(Component.translatable("multiplayer.disconnect.unverified_username"));
+ ServerLoginPacketListenerImpl.this.disconnect(org.purpurmc.purpur.PurpurConfig.unverifiedUsername.equals("default") ? Component.translatable("multiplayer.disconnect.unverified_username") : io.papermc.paper.adventure.PaperAdventure.asVanilla(net.kyori.adventure.text.minimessage.MiniMessage.miniMessage().deserialize(org.purpurmc.purpur.PurpurConfig.unverifiedUsername))); // Purpur
ServerLoginPacketListenerImpl.LOGGER.error("Username '{}' tried to join with an invalid session", gameprofile.getName());
ServerLoginPacketListenerImpl.LOGGER.error("Username '{}' tried to join with an invalid session", s1);
}
} catch (AuthenticationUnavailableException authenticationunavailableexception) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 3efda1177f3141851f8f1580b462e3a839303845..566e71e92f7bc58dc6c5518c91cbd07dd157cb12 100644
index 8b2ec98b74f441b36acb94e0c6477ddaa2d333e8..bda7ebcedcfc7086dcbd3a402e4c5ace3c508037 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -184,6 +184,7 @@ public class PurpurConfig {

View File

@@ -9,10 +9,10 @@ creating an itemstack using the TileEntity's NBT data (how it handles it for
creative players) instead of routing it through the LootableBuilder.
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
index b9e9f20842274024dd1e2a0253666002c914a2b2..1e0d07949e8b4450a400625a23d386024192eef1 100644
index dbb08ce85ad38b325f02700e879f92c06d897268..0488fe39acf7191754707b7c8f424e6a3e32c152 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
@@ -429,7 +429,7 @@ public class ServerPlayerGameMode {
@@ -427,7 +427,7 @@ public class ServerPlayerGameMode {
ItemStack mainHandStack = null; // Paper
boolean isCorrectTool = false; // Paper
@@ -22,10 +22,10 @@ index b9e9f20842274024dd1e2a0253666002c914a2b2..1e0d07949e8b4450a400625a23d38602
} else {
ItemStack itemstack = this.player.getMainHandItem();
diff --git a/src/main/java/net/minecraft/world/level/block/ShulkerBoxBlock.java b/src/main/java/net/minecraft/world/level/block/ShulkerBoxBlock.java
index b51155ad12515b2d0dd0f202580b9f455c114d9a..dd6c82a418ee299d7a5614cb0260949c198b4149 100644
index d5fe3b8e2f5a8899f6afeb0600764284a617f261..2b513fc2f6c33963e43093cb08594bff946d72fa 100644
--- a/src/main/java/net/minecraft/world/level/block/ShulkerBoxBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/ShulkerBoxBlock.java
@@ -137,7 +137,7 @@ public class ShulkerBoxBlock extends BaseEntityBlock {
@@ -135,7 +135,7 @@ public class ShulkerBoxBlock extends BaseEntityBlock {
public void playerWillDestroy(Level world, BlockPos pos, BlockState state, Player player) {
BlockEntity blockEntity = world.getBlockEntity(pos);
if (blockEntity instanceof ShulkerBoxBlockEntity shulkerBoxBlockEntity) {
@@ -35,10 +35,10 @@ index b51155ad12515b2d0dd0f202580b9f455c114d9a..dd6c82a418ee299d7a5614cb0260949c
blockEntity.saveToItem(itemStack);
if (shulkerBoxBlockEntity.hasCustomName()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 9486f753b7c33a324431171ab017d43889887908..c1c76db494392cb00e58847ba4a01a08b9027fc8 100644
index 2abe6192ab9caac24aae3c8488cf0ee3cb3173d7..bb01e0a0e92d9c6fad33129fe61a2a53779f44ff 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -661,6 +661,11 @@ public class PurpurWorldConfig {
@@ -657,6 +657,11 @@ public class PurpurWorldConfig {
}
}

View File

@@ -31,10 +31,10 @@ index a16a1df28258d605cf5908dbe19bda5d71ad4f45..7b82842b97ce795745cf6ee6399f618c
return false;
} else {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c1c76db494392cb00e58847ba4a01a08b9027fc8..bd485bc18e7012f14a7f85cda26f8a1ec2b0cca0 100644
index bb01e0a0e92d9c6fad33129fe61a2a53779f44ff..f398039b41bc014c61dec0e932af4a93400bd252 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -773,6 +773,8 @@ public class PurpurWorldConfig {
@@ -769,6 +769,8 @@ public class PurpurWorldConfig {
public double beeMaxHealth = 10.0D;
public int beeBreedingTicks = 6000;
public boolean beeTakeDamageFromWater = false;
@@ -43,7 +43,7 @@ index c1c76db494392cb00e58847ba4a01a08b9027fc8..bd485bc18e7012f14a7f85cda26f8a1e
private void beeSettings() {
beeRidable = getBoolean("mobs.bee.ridable", beeRidable);
beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater);
@@ -786,6 +788,8 @@ public class PurpurWorldConfig {
@@ -782,6 +784,8 @@ public class PurpurWorldConfig {
beeMaxHealth = getDouble("mobs.bee.attributes.max_health", beeMaxHealth);
beeBreedingTicks = getInt("mobs.bee.breeding-delay-ticks", beeBreedingTicks);
beeTakeDamageFromWater = getBoolean("mobs.bee.takes-damage-from-water", beeTakeDamageFromWater);

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] API for any mob to burn daylight
Co-authored by: Encode42 <me@encode42.dev>
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index dbd61da31192896ced9839cf8a3b123a6625ae60..68be1bb59c7e5176c82ed128be5296a2511212ec 100644
index dcfa461492623e70b65dfb090c8a078fe88613cd..70625c6337d3a68c27c046115186fbf76196588d 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -497,6 +497,21 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -490,6 +490,21 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
return true;
}
@@ -32,10 +32,10 @@ index dbd61da31192896ced9839cf8a3b123a6625ae60..68be1bb59c7e5176c82ed128be5296a2
return this.hardCollides;
}
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 011ed6108e3caf3836809fb1d065714ba360c589..5964f72d866539722082d6a9d1ebb3ec7dc960ab 100644
index 2e89a05402dd895eee4a27a345318baeabbd1f96..7e4d059882a804edc7d6536d4ee409c1822c5b2a 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -263,6 +263,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -264,6 +264,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
public org.bukkit.craftbukkit.entity.CraftLivingEntity getBukkitLivingEntity() { return (org.bukkit.craftbukkit.entity.CraftLivingEntity) super.getBukkitEntity(); } // Paper
public boolean silentDeath = false; // Paper - mark entity as dying silently for cancellable death event
public net.kyori.adventure.util.TriState frictionState = net.kyori.adventure.util.TriState.NOT_SET; // Paper
@@ -43,7 +43,7 @@ index 011ed6108e3caf3836809fb1d065714ba360c589..5964f72d866539722082d6a9d1ebb3ec
@Override
public float getBukkitYaw() {
@@ -804,6 +805,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -805,6 +806,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
dataresult.resultOrPartial(logger::error).ifPresent((nbtbase) -> {
nbt.put("Brain", nbtbase);
});
@@ -51,7 +51,7 @@ index 011ed6108e3caf3836809fb1d065714ba360c589..5964f72d866539722082d6a9d1ebb3ec
}
@Override
@@ -888,6 +890,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -889,6 +891,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.brain = this.makeBrain(new Dynamic(NbtOps.INSTANCE, nbt.get("Brain")));
}
@@ -63,7 +63,7 @@ index 011ed6108e3caf3836809fb1d065714ba360c589..5964f72d866539722082d6a9d1ebb3ec
}
// CraftBukkit start
@@ -3541,6 +3548,27 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -3544,6 +3551,27 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.hurt(this.damageSources().drown(), 1.0F);
}
@@ -92,10 +92,10 @@ index 011ed6108e3caf3836809fb1d065714ba360c589..5964f72d866539722082d6a9d1ebb3ec
public boolean isSensitiveToWater() {
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index 6ae71386cdc0d30defd9a86b97f5e619d2dbf5fe..1910f1ad22b2d2b79ad0161d20dcc9772ff2bd7f 100644
index 6766e78c961d17a6f380f6814c9ddb120b374d5f..eafc2eb59616fa4a310a5eee0844a9957cd9f4de 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -1746,17 +1746,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
@@ -1749,17 +1749,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
}
public boolean isSunBurnTick() {
@@ -115,7 +115,7 @@ index 6ae71386cdc0d30defd9a86b97f5e619d2dbf5fe..1910f1ad22b2d2b79ad0161d20dcc977
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java b/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java
index b31076f93fda4db8306135a2679be598063b2e09..de9b2bc63b46e6728acde9e7a6a7cda9b6441897 100644
index 2dbcfd847dd5b6db587b291a8a7a6e278949c3a9..f35637a105d5aa12fb57c2456f2b2a7db12a49f0 100644
--- a/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java
+++ b/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java
@@ -66,6 +66,7 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo
@@ -191,10 +191,10 @@ index b31076f93fda4db8306135a2679be598063b2e09..de9b2bc63b46e6728acde9e7a6a7cda9
// Paper end
diff --git a/src/main/java/net/minecraft/world/entity/monster/Husk.java b/src/main/java/net/minecraft/world/entity/monster/Husk.java
index 31706620960f5f153565f3cf64e32d0f4d10feb8..1df39e11d4fe3146fba9a0605c623384513311ac 100644
index b361078339f01881ee6806049ecc2490fd5cf6bf..481a6cf3dfc2948d80071920b905b488de8737e5 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Husk.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Husk.java
@@ -20,6 +20,7 @@ public class Husk extends Zombie {
@@ -22,6 +22,7 @@ public class Husk extends Zombie {
public Husk(EntityType<? extends Husk> type, Level world) {
super(type, world);
@@ -202,7 +202,7 @@ index 31706620960f5f153565f3cf64e32d0f4d10feb8..1df39e11d4fe3146fba9a0605c623384
}
// Purpur start
@@ -75,7 +76,7 @@ public class Husk extends Zombie {
@@ -77,7 +78,7 @@ public class Husk extends Zombie {
@Override
public boolean isSunSensitive() {
@@ -212,10 +212,10 @@ index 31706620960f5f153565f3cf64e32d0f4d10feb8..1df39e11d4fe3146fba9a0605c623384
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
index 7c9f6076f68de295e882e69137ac573db8d9698b..8605dfe152a09f31492226b1eb2a5eb39db9fcbc 100644
index 030b81dd8c52ddb300e73d792f9c4cea4e8a8d46..1d4a292a37069408420ca90b1c2784229781f93f 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
@@ -60,6 +60,7 @@ public class Phantom extends FlyingMob implements Enemy {
@@ -61,6 +61,7 @@ public class Phantom extends FlyingMob implements Enemy {
this.xpReward = 5;
this.moveControl = new Phantom.PhantomMoveControl(this);
this.lookControl = new Phantom.PhantomLookControl(this);
@@ -223,7 +223,7 @@ index 7c9f6076f68de295e882e69137ac573db8d9698b..8605dfe152a09f31492226b1eb2a5eb3
}
// Purpur start
@@ -253,16 +254,7 @@ public class Phantom extends FlyingMob implements Enemy {
@@ -254,16 +255,7 @@ public class Phantom extends FlyingMob implements Enemy {
@Override
public void aiStep() {
@@ -241,7 +241,7 @@ index 7c9f6076f68de295e882e69137ac573db8d9698b..8605dfe152a09f31492226b1eb2a5eb3
super.aiStep();
}
@@ -290,7 +282,7 @@ public class Phantom extends FlyingMob implements Enemy {
@@ -291,7 +283,7 @@ public class Phantom extends FlyingMob implements Enemy {
if (nbt.hasUUID("Paper.SpawningEntity")) {
this.spawningEntity = nbt.getUUID("Paper.SpawningEntity");
}
@@ -250,7 +250,7 @@ index 7c9f6076f68de295e882e69137ac573db8d9698b..8605dfe152a09f31492226b1eb2a5eb3
this.shouldBurnInDay = nbt.getBoolean("Paper.ShouldBurnInDay");
}
// Paper end
@@ -307,7 +299,7 @@ public class Phantom extends FlyingMob implements Enemy {
@@ -308,7 +300,7 @@ public class Phantom extends FlyingMob implements Enemy {
if (this.spawningEntity != null) {
nbt.putUUID("Paper.SpawningEntity", this.spawningEntity);
}
@@ -259,7 +259,7 @@ index 7c9f6076f68de295e882e69137ac573db8d9698b..8605dfe152a09f31492226b1eb2a5eb3
// Paper end
}
@@ -373,8 +365,14 @@ public class Phantom extends FlyingMob implements Enemy {
@@ -378,8 +370,14 @@ public class Phantom extends FlyingMob implements Enemy {
}
public void setSpawningEntity(java.util.UUID entity) { this.spawningEntity = entity; }
@@ -277,10 +277,10 @@ index 7c9f6076f68de295e882e69137ac573db8d9698b..8605dfe152a09f31492226b1eb2a5eb3
// Paper end
private static enum AttackPhase {
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
index a676d66dcb5ee72e6d8ffef4e210a3d2c8d605f2..0bc90b6d5c5a3cb3477d41336a9bb1130ff32fa1 100644
index cb4a50f0259465eff425aac468cb409976b4de13..143ac5fac02a29516d03b69008b1345555857640 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
@@ -95,11 +95,12 @@ public class Zombie extends Monster {
@@ -96,11 +96,12 @@ public class Zombie extends Monster {
private int inWaterTime;
public int conversionTime;
private int lastTick = MinecraftServer.currentTick; // CraftBukkit - add field
@@ -294,7 +294,7 @@ index a676d66dcb5ee72e6d8ffef4e210a3d2c8d605f2..0bc90b6d5c5a3cb3477d41336a9bb113
}
public Zombie(Level world) {
@@ -295,30 +296,7 @@ public class Zombie extends Monster {
@@ -296,30 +297,7 @@ public class Zombie extends Monster {
@Override
public void aiStep() {
@@ -326,7 +326,7 @@ index a676d66dcb5ee72e6d8ffef4e210a3d2c8d605f2..0bc90b6d5c5a3cb3477d41336a9bb113
super.aiStep();
}
@@ -356,6 +334,7 @@ public class Zombie extends Monster {
@@ -357,6 +335,7 @@ public class Zombie extends Monster {
}
@@ -334,7 +334,7 @@ index a676d66dcb5ee72e6d8ffef4e210a3d2c8d605f2..0bc90b6d5c5a3cb3477d41336a9bb113
public boolean isSunSensitive() {
return this.shouldBurnInDay; // Paper - use api value instead
}
@@ -485,7 +464,7 @@ public class Zombie extends Monster {
@@ -486,7 +465,7 @@ public class Zombie extends Monster {
nbt.putBoolean("CanBreakDoors", this.canBreakDoors());
nbt.putInt("InWaterTime", this.isInWater() ? this.inWaterTime : -1);
nbt.putInt("DrownedConversionTime", this.isUnderWaterConverting() ? this.conversionTime : -1);
@@ -343,7 +343,7 @@ index a676d66dcb5ee72e6d8ffef4e210a3d2c8d605f2..0bc90b6d5c5a3cb3477d41336a9bb113
}
@Override
@@ -499,7 +478,7 @@ public class Zombie extends Monster {
@@ -500,7 +479,7 @@ public class Zombie extends Monster {
}
// Paper start
if (nbt.contains("Paper.ShouldBurnInDay")) {
@@ -353,11 +353,11 @@ index a676d66dcb5ee72e6d8ffef4e210a3d2c8d605f2..0bc90b6d5c5a3cb3477d41336a9bb113
// Paper end
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
index 283836981f5ed94dfc8999c3c5450213a1f2cfc1..feeca8d318fa0b7b22e728baa3bf3269d42bf0a6 100644
index 2ed4e15e6fcd0d00556f772f6fa48e5817a2de2d..431e3cedde33b33202be1d44bf066323997f21f8 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -224,6 +224,11 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
this.entityType = (type != null) ? type : EntityType.UNKNOWN;
@@ -223,6 +223,11 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
this.entityType = CraftEntityType.minecraftToBukkit(entity.getType());
}
+ @Override
@@ -369,7 +369,7 @@ index 283836981f5ed94dfc8999c3c5450213a1f2cfc1..feeca8d318fa0b7b22e728baa3bf3269
/*
* Order is *EXTREMELY* important -- keep it right! =D
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
index 88fc33afb4a88d8c8b0a41331791f1ca87b8a8fd..0c9dec743ca3d83e3443c8be31c2c1589bbfa585 100644
index 1001beea3538a9723074421047dc3fbecf063d02..a6934034c9fc8e3f04365d7595fccbe68fc093b6 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -1116,5 +1116,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {

View File

@@ -0,0 +1,99 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: DoctaEnkoda <bierquejason@gmail.com>
Date: Sat, 23 Sep 2023 03:59:15 -0700
Subject: [PATCH] Config MobEffect by world
diff --git a/src/main/java/net/minecraft/world/effect/HungerMobEffect.java b/src/main/java/net/minecraft/world/effect/HungerMobEffect.java
index 3aad6bd0a1fb7bb3f9b7dab2c10c875864900750..31bd845130e363dd11c225dfd1e9dd896aea8aac 100644
--- a/src/main/java/net/minecraft/world/effect/HungerMobEffect.java
+++ b/src/main/java/net/minecraft/world/effect/HungerMobEffect.java
@@ -15,7 +15,7 @@ class HungerMobEffect extends MobEffect {
if (entity instanceof Player) {
Player entityhuman = (Player) entity;
- entityhuman.causeFoodExhaustion(0.005F * (float) (amplifier + 1), org.bukkit.event.entity.EntityExhaustionEvent.ExhaustionReason.HUNGER_EFFECT); // CraftBukkit - EntityExhaustionEvent
+ entityhuman.causeFoodExhaustion(entity.level().purpurConfig.humanHungerExhaustionAmount * (float) (amplifier + 1), org.bukkit.event.entity.EntityExhaustionEvent.ExhaustionReason.HUNGER_EFFECT); // CraftBukkit - EntityExhaustionEvent // Purpur
}
}
diff --git a/src/main/java/net/minecraft/world/effect/PoisonMobEffect.java b/src/main/java/net/minecraft/world/effect/PoisonMobEffect.java
index f8a8b825d21a7223a9839abda20825702985b7ad..41a853cd0f7d9aaa3d23df1c49a30fb29f19d14e 100644
--- a/src/main/java/net/minecraft/world/effect/PoisonMobEffect.java
+++ b/src/main/java/net/minecraft/world/effect/PoisonMobEffect.java
@@ -11,8 +11,8 @@ class PoisonMobEffect extends MobEffect {
@Override
public void applyEffectTick(LivingEntity entity, int amplifier) {
super.applyEffectTick(entity, amplifier);
- if (entity.getHealth() > 1.0F) {
- entity.hurt(entity.damageSources().poison, 1.0F); // CraftBukkit - DamageSource.MAGIC -> CraftEventFactory.POISON
+ if (entity.getHealth() > entity.level().purpurConfig.entityMinimalHealthPoison) { // Purpur
+ entity.hurt(entity.damageSources().poison, entity.level().purpurConfig.entityPoisonDegenerationAmount); // CraftBukkit - DamageSource.MAGIC -> CraftEventFactory.POISON // Purpur
}
}
diff --git a/src/main/java/net/minecraft/world/effect/RegenerationMobEffect.java b/src/main/java/net/minecraft/world/effect/RegenerationMobEffect.java
index 551b20f86347aeca4824b7a424ad7de7c0ff072e..f3b0158615af234a816caa67bfbce2e1517b28e2 100644
--- a/src/main/java/net/minecraft/world/effect/RegenerationMobEffect.java
+++ b/src/main/java/net/minecraft/world/effect/RegenerationMobEffect.java
@@ -12,7 +12,7 @@ class RegenerationMobEffect extends MobEffect {
public void applyEffectTick(LivingEntity entity, int amplifier) {
super.applyEffectTick(entity, amplifier);
if (entity.getHealth() < entity.getMaxHealth()) {
- entity.heal(1.0F, org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason.MAGIC_REGEN); // CraftBukkit
+ entity.heal(entity.level().purpurConfig.entityHealthRegenAmount, RegainReason.MAGIC_REGEN); // CraftBukkit // Purpur
}
}
diff --git a/src/main/java/net/minecraft/world/effect/SaturationMobEffect.java b/src/main/java/net/minecraft/world/effect/SaturationMobEffect.java
index b994ae09621934df2cdd6a83a7d8ecb44649fb16..c2b812c992db1ac9cd391da902c8d819a6ec2e6d 100644
--- a/src/main/java/net/minecraft/world/effect/SaturationMobEffect.java
+++ b/src/main/java/net/minecraft/world/effect/SaturationMobEffect.java
@@ -23,7 +23,7 @@ class SaturationMobEffect extends InstantenousMobEffect {
int oldFoodLevel = entityhuman.getFoodData().foodLevel;
org.bukkit.event.entity.FoodLevelChangeEvent event = CraftEventFactory.callFoodLevelChangeEvent(entityhuman, amplifier + 1 + oldFoodLevel);
if (!event.isCancelled()) {
- entityhuman.getFoodData().eat(event.getFoodLevel() - oldFoodLevel, 1.0F);
+ entityhuman.getFoodData().eat(event.getFoodLevel() - oldFoodLevel, entity.level().purpurConfig.humanSaturationRegenAmount); // Purpur
}
((CraftPlayer) entityhuman.getBukkitEntity()).sendHealthUpdate();
diff --git a/src/main/java/net/minecraft/world/effect/WitherMobEffect.java b/src/main/java/net/minecraft/world/effect/WitherMobEffect.java
index 1f9e0c139988c4c44a26552881647d36965aa4fa..b8d612d22aca74a08b53393c0723a2ae3a0b9ddf 100644
--- a/src/main/java/net/minecraft/world/effect/WitherMobEffect.java
+++ b/src/main/java/net/minecraft/world/effect/WitherMobEffect.java
@@ -10,7 +10,7 @@ class WitherMobEffect extends MobEffect {
@Override
public void applyEffectTick(LivingEntity entity, int amplifier) {
super.applyEffectTick(entity, amplifier);
- entity.hurt(entity.damageSources().wither(), 1.0F);
+ entity.hurt(entity.damageSources().wither(), entity.level().purpurConfig.entityWitherDegenerationAmount); // Purpur
}
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f398039b41bc014c61dec0e932af4a93400bd252..bef591a3392c4fe94bd91d38071381c09f8293a4 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -331,6 +331,21 @@ public class PurpurWorldConfig {
poweredRailBoostModifier = getDouble("gameplay-mechanics.minecart.powered-rail.boost-modifier", poweredRailBoostModifier);
}
+ public float entityHealthRegenAmount = 1.0F;
+ public float entityMinimalHealthPoison = 1.0F;
+ public float entityPoisonDegenerationAmount = 1.0F;
+ public float entityWitherDegenerationAmount = 1.0F;
+ public float humanHungerExhaustionAmount = 0.005F;
+ public float humanSaturationRegenAmount = 1.0F;
+ private void mobEffectSettings() {
+ entityHealthRegenAmount = (float) getDouble("gameplay-mechanics.mob-effects.health-regen-amount", entityHealthRegenAmount);
+ entityMinimalHealthPoison = (float) getDouble("gameplay-mechanics.mob-effects.minimal-health-poison-amount", entityMinimalHealthPoison);
+ entityPoisonDegenerationAmount = (float) getDouble("gameplay-mechanics.mob-effects.poison-degeneration-amount", entityPoisonDegenerationAmount);
+ entityWitherDegenerationAmount = (float) getDouble("gameplay-mechanics.mob-effects.wither-degeneration-amount", entityWitherDegenerationAmount);
+ humanHungerExhaustionAmount = (float) getDouble("gameplay-mechanics.mob-effects.hunger-exhaustion-amount", humanHungerExhaustionAmount);
+ humanSaturationRegenAmount = (float) getDouble("gameplay-mechanics.mob-effects.saturation-regen-amount", humanSaturationRegenAmount);
+ }
+
public boolean catSpawning;
public boolean patrolSpawning;
public boolean phantomSpawning;

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Beacon Activation Range Configurable
diff --git a/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java
index 3b866e2c20ee7bfc981ff09b29065530de993778..12578b377b6e939971fb2dcba08637df60643e37 100644
index f13943db6f2fb923c52dcf9e8bf7000041d0a362..a5f9747be5503dd24abd98f11cfa8229448ca3bf 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java
@@ -84,6 +84,16 @@ public class BeaconBlockEntity extends BlockEntity implements MenuProvider, Name
@@ -88,6 +88,16 @@ public class BeaconBlockEntity extends BlockEntity implements MenuProvider, Name
public double getEffectRange() {
if (this.effectRange < 0) {
@@ -26,10 +26,10 @@ index 3b866e2c20ee7bfc981ff09b29065530de993778..12578b377b6e939971fb2dcba08637df
} else {
return effectRange;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f95596f39021e3da3155c3175a6fcec8c6eb7ff9..0eb16c3d850a92f3dc99e5daad9c3b6faba97137 100644
index bef591a3392c4fe94bd91d38071381c09f8293a4..456a3cbadb5dbce0dfdafe4320c5006205a032bd 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -508,6 +508,17 @@ public class PurpurWorldConfig {
@@ -504,6 +504,17 @@ public class PurpurWorldConfig {
anvilColorsUseMiniMessage = getBoolean("blocks.anvil.use-mini-message", anvilColorsUseMiniMessage);
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add toggle for sand duping fix
diff --git a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
index 18eaccb39a4c81338a8cbebe3de03934913ac2a4..7ad5583f05b608d5a34a33fb77c5bf91f25de9a1 100644
index 9105418b29c89f092378da11b14e3d324332a2ba..cf99a4c45bd9cdd886bd7b220d8f95dd64d79227 100644
--- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
+++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
@@ -133,7 +133,7 @@ public class FallingBlockEntity extends Entity {
@@ -27,10 +27,10 @@ index 18eaccb39a4c81338a8cbebe3de03934913ac2a4..7ad5583f05b608d5a34a33fb77c5bf91
}
// Paper end - fix sand duping
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 0eb16c3d850a92f3dc99e5daad9c3b6faba97137..3dc0ce7a13238c5545fbf878af86f4c185e8931a 100644
index 456a3cbadb5dbce0dfdafe4320c5006205a032bd..ce9a971ce1b9657823988395cb37b109a7b3410e 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -687,6 +687,11 @@ public class PurpurWorldConfig {
@@ -683,6 +683,11 @@ public class PurpurWorldConfig {
}
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add toggle for end portal safe teleporting
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 68be1bb59c7e5176c82ed128be5296a2511212ec..c99d273b8d686872d5699e4490769786951256e1 100644
index 70625c6337d3a68c27c046115186fbf76196588d..e78d85a313f585ec9c7fe9895402591b7b10d6b9 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3134,7 +3134,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -3146,7 +3146,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
}
this.processPortalCooldown();
@@ -45,10 +45,10 @@ index f80f6da484f4144e743079e5104bf503419074b2..2deddc746e43896584bd65ba8e7971a8
entity.portalWorld = ((ServerLevel)world);
entity.portalBlock = pos.immutable();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 3dc0ce7a13238c5545fbf878af86f4c185e8931a..5c949339f386f805606e7d8f36785d44d53eb0f3 100644
index ce9a971ce1b9657823988395cb37b109a7b3410e..db5156b0781cedc56929f73d3183b853b26ff4f7 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -635,6 +635,11 @@ public class PurpurWorldConfig {
@@ -631,6 +631,11 @@ public class PurpurWorldConfig {
furnaceUseLavaFromUnderneath = getBoolean("blocks.furnace.use-lava-from-underneath", furnaceUseLavaFromUnderneath);
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Make lightning rod range configurable
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 49c412f46854ee877de1721b08629e8a3cd319f9..fea5481c98e4cbcaecb9f4adef35b7340ad0c9b8 100644
index 5e832faa8b1ff45b0d4e01ab197cadfb2c480452..e759e4c772f5bd296554950ac4251ffcb3e78548 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -1136,7 +1136,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -1033,7 +1033,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
return holder.is(PoiTypes.LIGHTNING_ROD);
}, (blockposition1) -> {
return blockposition1.getY() == this.getHeight(Heightmap.Types.WORLD_SURFACE, blockposition1.getX(), blockposition1.getZ()) - 1;
@@ -18,7 +18,7 @@ index 49c412f46854ee877de1721b08629e8a3cd319f9..fea5481c98e4cbcaecb9f4adef35b734
return optional.map((blockposition1) -> {
return blockposition1.above(1);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 2aaa4cff8d02c35bfe194b548027be904e1cf982..6919c6779e54526b7666eb6b21556b7b752bf053 100644
index cb0125f7aaa514578465d455b2b1fab98d7b13c1..b1450f979efb13a31f96b0638d415f807c5c6a4f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -270,6 +270,7 @@ public class PurpurConfig {

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Burp delay, burp after eating food fills hunger bar
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index 81ba8875f0077ac1be80533061bcb0e632c13ded..bea9f52a6240794d45128659a62487f48f9f03dd 100644
index 65c92a2feffd878c12082239b0c41444a0f21d57..e46327725cbdae34b769c8d125594618099cb8b4 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -188,6 +188,7 @@ public abstract class Player extends LivingEntity {
@@ -189,6 +189,7 @@ public abstract class Player extends LivingEntity {
public net.kyori.adventure.util.TriState flyingFallDamage = net.kyori.adventure.util.TriState.NOT_SET;
// Paper end
public int sixRowEnderchestSlotCount = -1; // Purpur
@@ -17,7 +17,7 @@ index 81ba8875f0077ac1be80533061bcb0e632c13ded..bea9f52a6240794d45128659a62487f4
// CraftBukkit start
public boolean fauxSleeping;
@@ -263,6 +264,12 @@ public abstract class Player extends LivingEntity {
@@ -264,6 +265,12 @@ public abstract class Player extends LivingEntity {
@Override
public void tick() {
@@ -30,7 +30,7 @@ index 81ba8875f0077ac1be80533061bcb0e632c13ded..bea9f52a6240794d45128659a62487f4
this.noPhysics = this.isSpectator();
if (this.isSpectator()) {
this.setOnGround(false);
@@ -2380,7 +2387,7 @@ public abstract class Player extends LivingEntity {
@@ -2382,7 +2389,7 @@ public abstract class Player extends LivingEntity {
public ItemStack eat(Level world, ItemStack stack) {
this.getFoodData().eat(stack.getItem(), stack);
this.awardStat(Stats.ITEM_USED.get(stack.getItem()));
@@ -55,10 +55,10 @@ index 2038df72f8d7d33d4105de8129628daf21de6f0f..31ec6022b305df0ae02364c916ecf184
public void eat(Item item, ItemStack stack) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 5c949339f386f805606e7d8f36785d44d53eb0f3..fb5028401408c4e335e4dde2ba845aa75d1115be 100644
index db5156b0781cedc56929f73d3183b853b26ff4f7..01463f9279fd69b4afc42d9161a4da0473dc3ed8 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -390,6 +390,8 @@ public class PurpurWorldConfig {
@@ -388,6 +388,8 @@ public class PurpurWorldConfig {
public boolean playerSleepNearMonsters = false;
public boolean playersSkipNight = true;
public double playerCriticalDamageMultiplier = 1.5D;
@@ -67,7 +67,7 @@ index 5c949339f386f805606e7d8f36785d44d53eb0f3..fb5028401408c4e335e4dde2ba845aa7
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -412,6 +414,8 @@ public class PurpurWorldConfig {
@@ -408,6 +410,8 @@ public class PurpurWorldConfig {
playerSleepNearMonsters = getBoolean("gameplay-mechanics.player.sleep-ignore-nearby-mobs", playerSleepNearMonsters);
playersSkipNight = getBoolean("gameplay-mechanics.player.can-skip-night", playersSkipNight);
playerCriticalDamageMultiplier = getDouble("gameplay-mechanics.player.critical-damage-multiplier", playerCriticalDamageMultiplier);

View File

@@ -5,11 +5,11 @@ Subject: [PATCH] Allow player join full server by permission
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 9a60fa370f37179a7460b316d26e601197b478c7..43fdebcd107a7ca08b93de1d649b4d5e6acf5e81 100644
index d711decc32169f662818d8db60d3dd8182efbc00..ad4f678de4aeeb7bb3d624f44dacc2c1d5200b1e 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -749,7 +749,7 @@ public abstract class PlayerList {
event.disallow(PlayerLoginEvent.Result.KICK_BANNED, PaperAdventure.asAdventure(ichatmutablecomponent)); // Paper - Adventure
@@ -736,7 +736,7 @@ public abstract class PlayerList {
event.disallow(PlayerLoginEvent.Result.KICK_BANNED, io.papermc.paper.adventure.PaperAdventure.asAdventure(ichatmutablecomponent)); // Paper - Adventure
} else {
// return this.players.size() >= this.maxPlayers && !this.canBypassPlayerLimit(gameprofile) ? IChatBaseComponent.translatable("multiplayer.disconnect.server_full") : null;
- if (this.players.size() >= this.maxPlayers && !this.canBypassPlayerLimit(gameprofile)) {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add portal waiting option & permission bypass
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index bea9f52a6240794d45128659a62487f48f9f03dd..528aeec3f322ee2094098093e6016e41ff382cf3 100644
index e46327725cbdae34b769c8d125594618099cb8b4..05c089d6e89cf017998bfab88aa9b2d124bf7f86 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -189,6 +189,7 @@ public abstract class Player extends LivingEntity {
@@ -190,6 +190,7 @@ public abstract class Player extends LivingEntity {
// Paper end
public int sixRowEnderchestSlotCount = -1; // Purpur
public int burpDelay = 0; // Purpur
@@ -16,7 +16,7 @@ index bea9f52a6240794d45128659a62487f48f9f03dd..528aeec3f322ee2094098093e6016e41
// CraftBukkit start
public boolean fauxSleeping;
@@ -469,7 +470,7 @@ public abstract class Player extends LivingEntity {
@@ -474,7 +475,7 @@ public abstract class Player extends LivingEntity {
@Override
public int getPortalWaitTime() {
@@ -26,7 +26,7 @@ index bea9f52a6240794d45128659a62487f48f9f03dd..528aeec3f322ee2094098093e6016e41
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
index 5fe9a0985432ac6cdd28a2a138854a24f10e42ba..9163bb797a22daedbc822ecc2ad33683a2d8a022 100644
index 017e97c1618b8ee4640b36a0ec1b07026047bfc3..cf124ad445fd5e8adb1114aca5113e274d950a4a 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
@@ -266,6 +266,7 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
@@ -38,10 +38,10 @@ index 5fe9a0985432ac6cdd28a2a138854a24f10e42ba..9163bb797a22daedbc822ecc2ad33683
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index fb5028401408c4e335e4dde2ba845aa75d1115be..1b8d6ad995e7944f4b8c098c8f4df34b8670b859 100644
index 01463f9279fd69b4afc42d9161a4da0473dc3ed8..3f39347665b1b88a3068b258ec7a6923890961f5 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -392,6 +392,8 @@ public class PurpurWorldConfig {
@@ -390,6 +390,8 @@ public class PurpurWorldConfig {
public double playerCriticalDamageMultiplier = 1.5D;
public int playerBurpDelay = 10;
public boolean playerBurpWhenFull = false;
@@ -50,7 +50,7 @@ index fb5028401408c4e335e4dde2ba845aa75d1115be..1b8d6ad995e7944f4b8c098c8f4df34b
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -416,6 +418,8 @@ public class PurpurWorldConfig {
@@ -412,6 +414,8 @@ public class PurpurWorldConfig {
playerCriticalDamageMultiplier = getDouble("gameplay-mechanics.player.critical-damage-multiplier", playerCriticalDamageMultiplier);
playerBurpDelay = getInt("gameplay-mechanics.player.burp-delay", playerBurpDelay);
playerBurpWhenFull = getBoolean("gameplay-mechanics.player.burp-when-full", playerBurpWhenFull);

View File

@@ -13,10 +13,10 @@ Subject: [PATCH] Shulker spawn from bullet options
(7 - 1) / 5.0 = 1.2 1.0 - 1.2 = -0.2 0% (6 other shulkers)
diff --git a/src/main/java/net/minecraft/world/entity/monster/Shulker.java b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
index 27b05a4657ba201096973640d7a8cbabdd69f053..a0b19ffbdb64c40d8b92ed82104dde323b466190 100644
index 69e1f7d1737a8410ff36d4226c15090e72529658..786fe41cc743817f2ed613969c7eeec9fc001b4b 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
@@ -511,12 +511,21 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
@@ -503,12 +503,21 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
Vec3 vec3d = this.position();
AABB axisalignedbb = this.getBoundingBox();
@@ -43,7 +43,7 @@ index 27b05a4657ba201096973640d7a8cbabdd69f053..a0b19ffbdb64c40d8b92ed82104dde32
if (entityshulker != null) {
entityshulker.setVariant(this.getVariant());
@@ -628,7 +637,7 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
@@ -620,7 +629,7 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
@Override
public Optional<DyeColor> getVariant() {
@@ -68,10 +68,10 @@ index 88e1c2431d51d8cdc3d555b711e506648225d289..ac8735cc9d127fc1f867b40d4000c033
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 1b8d6ad995e7944f4b8c098c8f4df34b8670b859..9da836e7bf5f2ab51eb323b035dfc02ef390cc40 100644
index 3f39347665b1b88a3068b258ec7a6923890961f5..60f15c3cebdcfde4938d0088b7d5b053af7ecc8e 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1930,6 +1930,11 @@ public class PurpurWorldConfig {
@@ -1926,6 +1926,11 @@ public class PurpurWorldConfig {
public boolean shulkerControllable = true;
public double shulkerMaxHealth = 30.0D;
public boolean shulkerTakeDamageFromWater = false;
@@ -83,7 +83,7 @@ index 1b8d6ad995e7944f4b8c098c8f4df34b8670b859..9da836e7bf5f2ab51eb323b035dfc02e
private void shulkerSettings() {
shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable);
shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater);
@@ -1941,6 +1946,11 @@ public class PurpurWorldConfig {
@@ -1937,6 +1942,11 @@ public class PurpurWorldConfig {
}
shulkerMaxHealth = getDouble("mobs.shulker.attributes.max_health", shulkerMaxHealth);
shulkerTakeDamageFromWater = getBoolean("mobs.shulker.takes-damage-from-water", shulkerTakeDamageFromWater);

View File

@@ -18,7 +18,7 @@ index e6f8cb165f7e3da5f0edfc952d14059516de8acf..31f5ed9dd1727eee24804a384817d2b7
public static final Item SOUL_CAMPFIRE = registerBlock(Blocks.SOUL_CAMPFIRE);
public static final Item SHROOMLIGHT = registerBlock(Blocks.SHROOMLIGHT);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 9da836e7bf5f2ab51eb323b035dfc02ef390cc40..6c8c3272bd1c5f9c2082cdcbf5af2d03ade69517 100644
index 60f15c3cebdcfde4938d0088b7d5b053af7ecc8e..2e810dafa23b92ba844a53d970c6e2206f8b3819 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -220,6 +220,7 @@ public class PurpurWorldConfig {

View File

@@ -34,10 +34,10 @@ index 902f831ea001145f73691b96f2fca8245a4fc05a..9346d634dd2b8cb3d89aa7ccf12fec6f
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 6c8c3272bd1c5f9c2082cdcbf5af2d03ade69517..32be01402d3966a64dbc0b3f63289638163a1e70 100644
index 2e810dafa23b92ba844a53d970c6e2206f8b3819..e49cd59e4fc687c9365d722f12948378e29b9327 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1076,6 +1076,7 @@ public class PurpurWorldConfig {
@@ -1072,6 +1072,7 @@ public class PurpurWorldConfig {
public double drownedJockeyChance = 0.05D;
public boolean drownedJockeyTryExistingChickens = true;
public boolean drownedTakeDamageFromWater = false;
@@ -45,7 +45,7 @@ index 6c8c3272bd1c5f9c2082cdcbf5af2d03ade69517..32be01402d3966a64dbc0b3f63289638
private void drownedSettings() {
drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable);
drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater);
@@ -1091,6 +1092,7 @@ public class PurpurWorldConfig {
@@ -1087,6 +1088,7 @@ public class PurpurWorldConfig {
drownedJockeyChance = getDouble("mobs.drowned.jockey.chance", drownedJockeyChance);
drownedJockeyTryExistingChickens = getBoolean("mobs.drowned.jockey.try-existing-chickens", drownedJockeyTryExistingChickens);
drownedTakeDamageFromWater = getBoolean("mobs.drowned.takes-damage-from-water", drownedTakeDamageFromWater);

View File

@@ -18,10 +18,10 @@ index 31ec6022b305df0ae02364c916ecf18425a0bc36..e54af9ff2a786e919b8261aa27509be9
this.tickTimer = 0;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 32be01402d3966a64dbc0b3f63289638163a1e70..1d7510da470ae85a622f6954027e163e9825f07f 100644
index e49cd59e4fc687c9365d722f12948378e29b9327..9061a6819cbe7d9da35ff5f8fd8c49bb1128d346 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2587,4 +2587,9 @@ public class PurpurWorldConfig {
@@ -2583,4 +2583,9 @@ public class PurpurWorldConfig {
zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry);
zombifiedPiglinTakeDamageFromWater = getBoolean("mobs.zombified_piglin.takes-damage-from-water", zombifiedPiglinTakeDamageFromWater);
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add uptime command
diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java
index 4e721dfca7559620d8ce65a6703f2089a839f4a0..7aae9e3c60ba15b8dcd8174a4d70866edebb6cca 100644
index e1887523b0b6a0479544385932f54ab1de0295ae..e254f7c498c5a1608afe130b2dd4d3d037069f25 100644
--- a/src/main/java/net/minecraft/commands/Commands.java
+++ b/src/main/java/net/minecraft/commands/Commands.java
@@ -227,6 +227,7 @@ public class Commands {
@@ -233,6 +233,7 @@ public class Commands {
org.purpurmc.purpur.command.CreditsCommand.register(this.dispatcher); // Purpur
org.purpurmc.purpur.command.DemoCommand.register(this.dispatcher); // Purpur
org.purpurmc.purpur.command.PingCommand.register(this.dispatcher); // Purpur
@@ -17,10 +17,10 @@ index 4e721dfca7559620d8ce65a6703f2089a839f4a0..7aae9e3c60ba15b8dcd8174a4d70866e
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index d87e3a201d0fddd4c212de1de98ca2870e481149..49286716235f3bd49cbc42ef693daafba746f930 100644
index 43bd000ff6e91e23198799f74fd0895f0a02fcc1..caaa154082fef69c6bf3ff6101242de5b037c583 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -293,6 +293,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -288,6 +288,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
public org.bukkit.command.ConsoleCommandSender console;
//public ConsoleReader reader; // Paper
public static int currentTick = 0; // Paper - Further improve tick loop

View File

@@ -151,10 +151,10 @@ index 21212462e6b415e96536a27b2c009d1562f18946..193bcb12152347f5f02ce18b01ba918e
return InteractionResult.PASS;
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 1d7510da470ae85a622f6954027e163e9825f07f..773bfaa4a05e86c700089e08a1bdfe637ef98870 100644
index 9061a6819cbe7d9da35ff5f8fd8c49bb1128d346..c2bc762175dfab4f64b00c56bbb28ff26b3cad73 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -511,6 +511,206 @@ public class PurpurWorldConfig {
@@ -507,6 +507,206 @@ public class PurpurWorldConfig {
});
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Store placer on Block when placed
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
index 5b83025cbf657ed9576b8d667ca3436af5e0b20c..832cf93ee9d29e9eb324909ab04be8e769ce1f67 100644
index 5f80eceb805c22c58ce19ab371abfd90feada854..dfb2852a4fa1a8b8ffe7817c3cf63d87abaf1a82 100644
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
@@ -427,6 +427,7 @@ public final class ItemStack {
@@ -432,6 +432,7 @@ public final class ItemStack {
world.preventPoiUpdated = true; // CraftBukkit - SPIGOT-5710
for (BlockState blockstate : blocks) {
blockstate.update(true, false);
@@ -16,7 +16,7 @@ index 5b83025cbf657ed9576b8d667ca3436af5e0b20c..832cf93ee9d29e9eb324909ab04be8e7
}
world.preventPoiUpdated = false;
@@ -456,6 +457,7 @@ public final class ItemStack {
@@ -461,6 +462,7 @@ public final class ItemStack {
if (!(block.getBlock() instanceof BaseEntityBlock)) { // Containers get placed automatically
block.getBlock().onPlace(block, world, newblockposition, oldBlock, true, context); // Paper - pass context
}
@@ -25,7 +25,7 @@ index 5b83025cbf657ed9576b8d667ca3436af5e0b20c..832cf93ee9d29e9eb324909ab04be8e7
world.notifyAndUpdatePhysics(newblockposition, null, oldBlock, block, world.getBlockState(newblockposition), updateFlag, 512); // send null chunk as chunk.k() returns false by this point
}
diff --git a/src/main/java/net/minecraft/world/level/block/Block.java b/src/main/java/net/minecraft/world/level/block/Block.java
index fdd9c61b7248e92dbcbec91cd6fe4c6310bba237..48682f0ebec49a04e36f96423cda483a6736fd24 100644
index d4cbff18adb62073a1dceb189043789620af6877..f65b54919d19d2ddc7261cc36853babbaef3c822 100644
--- a/src/main/java/net/minecraft/world/level/block/Block.java
+++ b/src/main/java/net/minecraft/world/level/block/Block.java
@@ -430,7 +430,17 @@ public class Block extends BlockBehaviour implements ItemLike {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Customizable sleeping actionbar messages
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index fea5481c98e4cbcaecb9f4adef35b7340ad0c9b8..df8efd93ad6ab30974e3025187cd234b37111129 100644
index e759e4c772f5bd296554950ac4251ffcb3e78548..bbb3052a3b2704e25696457d53d0940664fa263a 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -1185,11 +1185,27 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -1082,11 +1082,27 @@ public class ServerLevel extends Level implements WorldGenLevel {
if (this.canSleepThroughNights()) {
if (!this.getServer().isSingleplayer() || this.getServer().isPublished()) {
int i = this.getGameRules().getInt(GameRules.RULE_PLAYERS_SLEEPING_PERCENTAGE);
@@ -38,10 +38,10 @@ index fea5481c98e4cbcaecb9f4adef35b7340ad0c9b8..df8efd93ad6ab30974e3025187cd234b
}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index b760d9352d85cd5494009a2388a425b85f8daec4..3edbc1da87608090aa3e764736716cebbfe0c3dd 100644
index e2627f8bb71375eccaff4706b74285263e28f2b1..1bc77fccc2cc1bb0f532e476156f952fdf9e3897 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1471,7 +1471,19 @@ public class ServerPlayer extends Player {
@@ -1464,7 +1464,19 @@ public class ServerPlayer extends Player {
});
if (!this.serverLevel().canSleepThroughNights()) {

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] option to disable shulker box items from dropping contents
diff --git a/src/main/java/net/minecraft/world/item/BlockItem.java b/src/main/java/net/minecraft/world/item/BlockItem.java
index 65c69432da4bc042cd975e01fcf62b09843cf202..dc45899a677cef389fca23938e201daeaafaa4a3 100644
index e483186a5292b3b53bfb1af4d56f55fcc1a6106c..ec58193ebd73130f14dc5d8f51caa913b2036fc5 100644
--- a/src/main/java/net/minecraft/world/item/BlockItem.java
+++ b/src/main/java/net/minecraft/world/item/BlockItem.java
@@ -288,7 +288,7 @@ public class BlockItem extends Item {
@@ -19,7 +19,7 @@ index 65c69432da4bc042cd975e01fcf62b09843cf202..dc45899a677cef389fca23938e201dae
CompoundTag nbttagcompound = BlockItem.getBlockEntityData(itemstack);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 773bfaa4a05e86c700089e08a1bdfe637ef98870..2a51d9aeaf34f3160d55d500566574b139ce975a 100644
index c2bc762175dfab4f64b00c56bbb28ff26b3cad73..8a6b73793bab42e683e22a54d8b801d65baf5fe5 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -221,6 +221,7 @@ public class PurpurWorldConfig {

View File

@@ -11,7 +11,7 @@ PARTIAL: big_dripleaf with PARTIAL tilt will change to FULL tilt after 10 ticks
UNSTABLE: big_dripleaf with FULL tilt will change back to no tilt after 100 ticks
diff --git a/src/main/java/net/minecraft/world/level/block/BigDripleafBlock.java b/src/main/java/net/minecraft/world/level/block/BigDripleafBlock.java
index 5921f7ebb56e1d5d3004ae327271873093cff357..c7bb655983d2ee2c6461d23d6fa921def1a9a74c 100644
index 54cf35b0c48d96ecfb27ff13cd685c16a1cd616b..1822ea0c72cc1685aab86a44f75c791bc5c595fa 100644
--- a/src/main/java/net/minecraft/world/level/block/BigDripleafBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/BigDripleafBlock.java
@@ -236,7 +236,7 @@ public class BigDripleafBlock extends HorizontalDirectionalBlock implements Bone
@@ -24,10 +24,10 @@ index 5921f7ebb56e1d5d3004ae327271873093cff357..c7bb655983d2ee2c6461d23d6fa921de
if (i != -1) {
world.scheduleTick(blockposition, (Block) this, i);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 2a51d9aeaf34f3160d55d500566574b139ce975a..cc62c282b33a3cfa1a5328f50702e2cbbeaf1978 100644
index 8a6b73793bab42e683e22a54d8b801d65baf5fe5..5909f27cf58efdfdb4a86909a86bf396ad9c740b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -752,6 +752,22 @@ public class PurpurWorldConfig {
@@ -748,6 +748,22 @@ public class PurpurWorldConfig {
}
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Player ridable in water option
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index 528aeec3f322ee2094098093e6016e41ff382cf3..0a9d8b22c7127b87826d9d256a5f36c34f2bfc0f 100644
index 05c089d6e89cf017998bfab88aa9b2d124bf7f86..52b4ffc17ac913bf64cf6a6b7a37ae6e5af9bd87 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -2104,6 +2104,11 @@ public abstract class Player extends LivingEntity {
@@ -2110,6 +2110,11 @@ public abstract class Player extends LivingEntity {
return this.inventory.armor;
}
@@ -21,10 +21,10 @@ index 528aeec3f322ee2094098093e6016e41ff382cf3..0a9d8b22c7127b87826d9d256a5f36c3
if (!this.isPassenger() && this.onGround() && !this.isInWater() && !this.isInPowderSnow) {
if (this.getShoulderEntityLeft().isEmpty()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index cc62c282b33a3cfa1a5328f50702e2cbbeaf1978..633b9f3c4b1477c84241446ae7994a48c59342cf 100644
index 5909f27cf58efdfdb4a86909a86bf396ad9c740b..d0098fc7906ab1b6be5e720978540380e479a02f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -398,6 +398,7 @@ public class PurpurWorldConfig {
@@ -396,6 +396,7 @@ public class PurpurWorldConfig {
public boolean playerBurpWhenFull = false;
public int playerPortalWaitTime = 80;
public int playerCreativePortalWaitTime = 1;
@@ -32,7 +32,7 @@ index cc62c282b33a3cfa1a5328f50702e2cbbeaf1978..633b9f3c4b1477c84241446ae7994a48
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -424,6 +425,7 @@ public class PurpurWorldConfig {
@@ -420,6 +421,7 @@ public class PurpurWorldConfig {
playerBurpWhenFull = getBoolean("gameplay-mechanics.player.burp-when-full", playerBurpWhenFull);
playerPortalWaitTime = getInt("gameplay-mechanics.player.portal-wait-time", playerPortalWaitTime);
playerCreativePortalWaitTime = getInt("gameplay-mechanics.player.creative-portal-wait-time", playerCreativePortalWaitTime);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Config to disable Enderman teleport on projectile hit
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 f4bf81ebcc792c8e04fa700e84b13b3b688dbdac..50e1e1b7b9340689a2310e7100c3fe33e5ad0940 100644
index a1c0109ee60de59674f0014557ae401b7d5f479d..cdee97c300cf14ed44e59080f67db485615fa7fb 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
@@ -448,6 +448,7 @@ public class EnderMan extends Monster implements NeutralMob {
@@ -449,6 +449,7 @@ public class EnderMan extends Monster implements NeutralMob {
} else {
flag1 = flag && this.hurtWithCleanWater(source, (ThrownPotion) source.getDirectEntity(), amount);
@@ -17,10 +17,10 @@ index f4bf81ebcc792c8e04fa700e84b13b3b688dbdac..50e1e1b7b9340689a2310e7100c3fe33
for (int i = 0; i < 64; ++i) {
if (this.teleport()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 633b9f3c4b1477c84241446ae7994a48c59342cf..7e2e60fd2fbe7181bfbd1aeacdb0b4b295c0d9c7 100644
index d0098fc7906ab1b6be5e720978540380e479a02f..0319fa5cb86e40520228bbdbd41e51c38cb4ffd6 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1373,6 +1373,7 @@ public class PurpurWorldConfig {
@@ -1369,6 +1369,7 @@ public class PurpurWorldConfig {
public boolean endermanAggroEndermitesOnlyIfPlayerSpawned = false;
public boolean endermanIgnorePlayerDragonHead = false;
public boolean endermanDisableStareAggro = false;
@@ -28,7 +28,7 @@ index 633b9f3c4b1477c84241446ae7994a48c59342cf..7e2e60fd2fbe7181bfbd1aeacdb0b4b2
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -1395,6 +1396,7 @@ public class PurpurWorldConfig {
@@ -1391,6 +1392,7 @@ public class PurpurWorldConfig {
endermanAggroEndermitesOnlyIfPlayerSpawned = getBoolean("mobs.enderman.aggressive-towards-endermites-only-spawned-by-player-thrown-ender-pearls", endermanAggroEndermitesOnlyIfPlayerSpawned);
endermanIgnorePlayerDragonHead = getBoolean("mobs.enderman.ignore-players-wearing-dragon-head", endermanIgnorePlayerDragonHead);
endermanDisableStareAggro = getBoolean("mobs.enderman.disable-player-stare-aggression", endermanDisableStareAggro);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add compass command
diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java
index 7aae9e3c60ba15b8dcd8174a4d70866edebb6cca..5f6cc8b16af6dce3b74f0c2c662b0ecf84ae8d36 100644
index e254f7c498c5a1608afe130b2dd4d3d037069f25..af712f089e7919fa0bd3946866fd3486fab19f76 100644
--- a/src/main/java/net/minecraft/commands/Commands.java
+++ b/src/main/java/net/minecraft/commands/Commands.java
@@ -229,6 +229,7 @@ public class Commands {
@@ -235,6 +235,7 @@ public class Commands {
org.purpurmc.purpur.command.PingCommand.register(this.dispatcher); // Purpur
org.purpurmc.purpur.command.UptimeCommand.register(this.dispatcher); // Purpur
org.purpurmc.purpur.command.TPSBarCommand.register(this.dispatcher); // Purpur
@@ -17,17 +17,17 @@ index 7aae9e3c60ba15b8dcd8174a4d70866edebb6cca..5f6cc8b16af6dce3b74f0c2c662b0ecf
if (environment.includeIntegrated) {
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 3edbc1da87608090aa3e764736716cebbfe0c3dd..cc313235863910b4978f96d594abff0a20c13e18 100644
index 1bc77fccc2cc1bb0f532e476156f952fdf9e3897..3e08dcd1a46adc6ef769f2cfc85970ad9cbbdd10 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -281,6 +281,7 @@ public class ServerPlayer extends Player {
@@ -276,6 +276,7 @@ public class ServerPlayer extends Player {
public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - there are a lot of changes to do if we change all methods leading to the event
public boolean purpurClient = false; // Purpur
public boolean acceptingResourcePack = false; // Purpur
private boolean tpsBar = false; // Purpur
+ private boolean compassBar = false; // Purpur
// Paper start - replace player chunk loader
private final java.util.concurrent.atomic.AtomicReference<io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances> viewDistances = new java.util.concurrent.atomic.AtomicReference<>(new io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances(-1, -1, -1));
public io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.PlayerChunkLoaderData chunkLoader;
@@ -562,6 +563,7 @@ public class ServerPlayer extends Player {
}
@@ -44,7 +44,7 @@ index 3edbc1da87608090aa3e764736716cebbfe0c3dd..cc313235863910b4978f96d594abff0a
}
// CraftBukkit start - World fallback code, either respawn location or global spawn
@@ -2819,5 +2822,13 @@ public class ServerPlayer extends Player {
@@ -2792,5 +2795,13 @@ public class ServerPlayer extends Player {
public void tpsBar(boolean tpsBar) {
this.tpsBar = tpsBar;
}
@@ -89,7 +89,7 @@ index 9a9c4826dab3de9e63ba984f8b2e1b3b7aa5a98b..62fa79eccbb6f679c0460a6dfd457c40
hideHiddenPlayersFromEntitySelector = getBoolean("settings.command.hide-hidden-players-from-entity-selector", hideHiddenPlayersFromEntitySelector);
uptimeFormat = getString("settings.command.uptime.format", uptimeFormat);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 7e2e60fd2fbe7181bfbd1aeacdb0b4b295c0d9c7..29b070ecd5d6d08f3c6127e499ed90e53112624d 100644
index 0319fa5cb86e40520228bbdbd41e51c38cb4ffd6..3d5d4d444aa4e7e7226c6296677d3cc630af54e2 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -222,6 +222,7 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Toggle for kinetic damage
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 4c5a0644918dc912feef17470d7fcfd1a3b14d88..84d24e624bb3e81df174d5d6de0af3ab3967c4da 100644
index 7e4d059882a804edc7d6536d4ee409c1822c5b2a..7c91aa226517d9d574f102e3e4976904b419e657 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -2894,6 +2894,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -2903,6 +2903,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
if (f3 > 0.0F) {
this.playSound(this.getFallDamageSound((int) f3), 1.0F, 1.0F);
@@ -17,7 +17,7 @@ index 4c5a0644918dc912feef17470d7fcfd1a3b14d88..84d24e624bb3e81df174d5d6de0af3ab
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 29b070ecd5d6d08f3c6127e499ed90e53112624d..08ad56494ce3f99b9f3a2b61d3033aec94e9db7e 100644
index 3d5d4d444aa4e7e7226c6296677d3cc630af54e2..45b89ffe9b7a61d9c4d0508d533131d54e363549 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -182,12 +182,14 @@ public class PurpurWorldConfig {

View File

@@ -18,7 +18,7 @@ index 7b45d6b9a005036ca5051d089a7be792eb87012f..8806c97ecc6bdd8a64c2d82bb2f58f46
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 08ad56494ce3f99b9f3a2b61d3033aec94e9db7e..d13188a1207352a6ee5ff9c9ed633e7f834a81c9 100644
index 45b89ffe9b7a61d9c4d0508d533131d54e363549..8cece9543a87ac86a8320fef4a23b39dbc76ab5c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -369,6 +369,11 @@ public class PurpurWorldConfig {

Some files were not shown because too many files have changed in this diff Show More