diff --git a/gradle.properties b/gradle.properties index e78741be4..0fb1b0369 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,9 +1,9 @@ group = org.purpurmc.purpur version=26.1-R0.1-SNAPSHOT -mcVersion=26.1 +mcVersion = 26.1 apiVersion = 26.1 -paperCommit = 03853ba2fc406fc5466f3e764beaac6a4826c601 +paperCommit = 8ad1ef1dc6aa692f639607a2829068bd6eecc813 org.gradle.configuration-cache = true org.gradle.caching = true diff --git a/purpur-api/paper-patches/files/src/main/java/org/bukkit/World.java.patch b/purpur-api/paper-patches/files/src/main/java/org/bukkit/World.java.patch index 9484cb37f..09ebcaa71 100644 --- a/purpur-api/paper-patches/files/src/main/java/org/bukkit/World.java.patch +++ b/purpur-api/paper-patches/files/src/main/java/org/bukkit/World.java.patch @@ -1,6 +1,6 @@ --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -4468,6 +_,100 @@ +@@ -4467,6 +_,100 @@ @Nullable public DragonBattle getEnderDragonBattle(); diff --git a/purpur-server/minecraft-patches/features/0001-Ridables.patch b/purpur-server/minecraft-patches/features/0001-Ridables.patch index ad030db11..030cc29b6 100644 --- a/purpur-server/minecraft-patches/features/0001-Ridables.patch +++ b/purpur-server/minecraft-patches/features/0001-Ridables.patch @@ -30,7 +30,7 @@ index e9b3c2a767dc6ecc5044e45c51e3231c68768316..50ac39c620aae79d9111089eb55d979d profiler.push(() -> level + " " + level.dimension().identifier()); profiler.push("tick"); diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java -index 37dbb1724b63f266ced21be72f4b6429c239c9ef..2d74b41a44f65285a38d42a33a83177685601375 100644 +index 53617e830a1d16cb54b7385b0993b9121062a741..af825adf9d92ed36b430e48505944a2533f2692c 100644 --- a/net/minecraft/server/level/ServerLevel.java +++ b/net/minecraft/server/level/ServerLevel.java @@ -235,6 +235,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ServerEntityGet @@ -42,7 +42,7 @@ index 37dbb1724b63f266ced21be72f4b6429c239c9ef..2d74b41a44f65285a38d42a33a831776 @Override public @Nullable LevelChunk getChunkIfLoaded(int x, int z) { diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java -index 25e3229ba9ede30d125e566c06b58a36c96bc776..e5d9c8e6999f3b7a40269fc5b06da4878a114046 100644 +index f171cafaa24367c16057f33c2fedff659de47187..6b86ec9a15357ab48a36f6d42c09ee2715c95430 100644 --- a/net/minecraft/server/level/ServerPlayer.java +++ b/net/minecraft/server/level/ServerPlayer.java @@ -759,6 +759,15 @@ public class ServerPlayer extends Player { @@ -75,7 +75,7 @@ index a81b553a209834883a99ae971fed18d3a6d2ff32..2162dc6a29d89193030d263c9f810420 if (itemType == Items.WATER_BUCKET && target instanceof net.minecraft.world.entity.animal.Bucketable && target instanceof LivingEntity && resendData) { target.resendPossiblyDesyncedEntityData(ServerGamePacketListenerImpl.this.player); // Paper - The entire mob gets deleted, so resend it diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java -index ce4d619ea9a5abb3f1bcbd4098a75c8d6155a7a7..65d63d55c74b1e336fc745e51ed2d6cf9f5747eb 100644 +index 8b15ca2c245acc3241ba1847f8a79629f8fcd9ef..036512b44ffe707eb9a0ac013672aaacf810a7c1 100644 --- a/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java @@ -3159,6 +3159,13 @@ public abstract class Entity @@ -153,7 +153,7 @@ index ce4d619ea9a5abb3f1bcbd4098a75c8d6155a7a7..65d63d55c74b1e336fc745e51ed2d6cf + // Purpur end - Ridables } diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java -index dccca794a79665db0dedddc6a42885a5738abd42..5a14b813628c7656e2ab0497ed3e13a3bf45117b 100644 +index 98cc7f98a48f2f3bae9b3365ddec0e4d9aeed610..12ccae16354c2d90192a979a87ec92258449aad0 100644 --- a/net/minecraft/world/entity/LivingEntity.java +++ b/net/minecraft/world/entity/LivingEntity.java @@ -243,9 +243,9 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin @@ -243,7 +243,7 @@ index dccca794a79665db0dedddc6a42885a5738abd42..5a14b813628c7656e2ab0497ed3e13a3 // Paper end - Add EntityMoveEvent if (this.level() instanceof ServerLevel serverLevel && this.isSensitiveToWater() && this.isInWaterOrRain()) { diff --git a/net/minecraft/world/entity/Mob.java b/net/minecraft/world/entity/Mob.java -index 3ad8b4973534975fcf313e01f9cf77b447de8a2f..be578b5d4430e934342d3e80b70a1ea56b020a5c 100644 +index 1e4f5bb32482b1e6510ab0322b42d2619f4a6c09..4c419772d7270dedf3d27d7147444decae2729d1 100644 --- a/net/minecraft/world/entity/Mob.java +++ b/net/minecraft/world/entity/Mob.java @@ -156,8 +156,8 @@ public abstract class Mob extends LivingEntity implements Targeting, EquipmentUs @@ -257,7 +257,7 @@ index 3ad8b4973534975fcf313e01f9cf77b447de8a2f..be578b5d4430e934342d3e80b70a1ea5 this.jumpControl = new JumpControl(this); this.bodyRotationControl = this.createBodyControl(); this.navigation = this.createNavigation(level); -@@ -597,6 +597,7 @@ public abstract class Mob extends LivingEntity implements Targeting, EquipmentUs +@@ -602,6 +602,7 @@ public abstract class Mob extends LivingEntity implements Targeting, EquipmentUs } } } else { @@ -265,7 +265,7 @@ index 3ad8b4973534975fcf313e01f9cf77b447de8a2f..be578b5d4430e934342d3e80b70a1ea5 this.igniteForSeconds(8.0F); } } -@@ -1361,7 +1362,7 @@ public abstract class Mob extends LivingEntity implements Targeting, EquipmentUs +@@ -1366,7 +1367,7 @@ public abstract class Mob extends LivingEntity implements Targeting, EquipmentUs } protected InteractionResult mobInteract(final Player player, final InteractionHand hand) { @@ -274,7 +274,7 @@ index 3ad8b4973534975fcf313e01f9cf77b447de8a2f..be578b5d4430e934342d3e80b70a1ea5 } protected void usePlayerItem(final Player player, final InteractionHand hand, final ItemStack itemStack) { -@@ -1704,4 +1705,58 @@ public abstract class Mob extends LivingEntity implements Targeting, EquipmentUs +@@ -1709,4 +1710,58 @@ public abstract class Mob extends LivingEntity implements Targeting, EquipmentUs public float chargeSpeedModifier() { return 1.0F; } @@ -4807,7 +4807,7 @@ index fe82f97689305de64caa52ef648308431f4aebb1..59265f8286a32a1fe7de1986df78b441 public boolean doHurtTarget(final ServerLevel level, final Entity target) { if (super.doHurtTarget(level, target)) { diff --git a/net/minecraft/world/entity/monster/spider/Spider.java b/net/minecraft/world/entity/monster/spider/Spider.java -index 90b9d94aec11bc3c83601290dfa2522c4ed63682..66189a304eb7f59da08679a7157ec882aa7396fc 100644 +index c1280f4a7d49f46068c2bb514a662991114709ea..ce03474ce732b46826eb3adb628addaddb1b2851 100644 --- a/net/minecraft/world/entity/monster/spider/Spider.java +++ b/net/minecraft/world/entity/monster/spider/Spider.java @@ -52,15 +52,34 @@ public class Spider extends Monster { @@ -4991,7 +4991,7 @@ index 4e5f6cf6c8ffc965fd3e6b3069998d2b39e4e779..dfb43d27865674f4f13050682eda38af public boolean isSunSensitive() { return false; diff --git a/net/minecraft/world/entity/monster/zombie/Zombie.java b/net/minecraft/world/entity/monster/zombie/Zombie.java -index 84aeb8f0a7418843f28a13f433532bda1ea40ce1..004c70e25fbcf269cf5d8b7b5961341fd3f4e374 100644 +index b0c8610dd3b8f7cf14db2d2f3169dfac106c0fee..e76895db48b00150a749a6e3d1fb2807dc9852bd 100644 --- a/net/minecraft/world/entity/monster/zombie/Zombie.java +++ b/net/minecraft/world/entity/monster/zombie/Zombie.java @@ -113,11 +113,30 @@ public class Zombie extends Monster { @@ -5082,7 +5082,7 @@ index 2d294595b2d9e4daaf221482514329126d59f077..eb3ec4314603f61a041740d5b5e52165 protected void addBehaviourGoals() { this.goalSelector.addGoal(1, new SpearUseGoal<>(this, 1.0, 1.0, 10.0F, 2.0F)); diff --git a/net/minecraft/world/entity/npc/villager/Villager.java b/net/minecraft/world/entity/npc/villager/Villager.java -index 6f7499343ee271486b1a7bc697df94871ee92204..a711cfcce0130dbc8e758568215e7a411774c5e4 100644 +index 0f313abe1f7b2e9862d8231d71ce531c9f89a4cc..82813c07433f27b1186800e70df380a6b90644ec 100644 --- a/net/minecraft/world/entity/npc/villager/Villager.java +++ b/net/minecraft/world/entity/npc/villager/Villager.java @@ -252,6 +252,28 @@ public class Villager extends AbstractVillager implements VillagerDataHolder, Re diff --git a/purpur-server/minecraft-patches/features/0015-Add-mobGriefing-override-to-everything-affected.patch b/purpur-server/minecraft-patches/features/0015-Add-mobGriefing-override-to-everything-affected.patch index 88b78ea42..15fae31e4 100644 --- a/purpur-server/minecraft-patches/features/0015-Add-mobGriefing-override-to-everything-affected.patch +++ b/purpur-server/minecraft-patches/features/0015-Add-mobGriefing-override-to-everything-affected.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add mobGriefing override to everything affected diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java -index 2e7e5c4c42bcdb6135a088ffe0a7a8f4558dc12c..7146381e06ed1b946ce43dca293f52da05b46314 100644 +index 9b7b285251aff741d8f2c19b3b558f81e77c0aaa..bf817c8cf1308a2621f387305b8d29af96a99f7f 100644 --- a/net/minecraft/world/entity/LivingEntity.java +++ b/net/minecraft/world/entity/LivingEntity.java @@ -1950,7 +1950,7 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin @@ -18,10 +18,10 @@ index 2e7e5c4c42bcdb6135a088ffe0a7a8f4558dc12c..7146381e06ed1b946ce43dca293f52da BlockState state = Blocks.WITHER_ROSE.defaultBlockState(); if (this.level().getBlockState(pos).isAir() && state.canSurvive(this.level(), pos)) { diff --git a/net/minecraft/world/entity/Mob.java b/net/minecraft/world/entity/Mob.java -index be578b5d4430e934342d3e80b70a1ea56b020a5c..43f1a9287d2a3010d35a88d58df3e950f1011eec 100644 +index 4c419772d7270dedf3d27d7147444decae2729d1..7fe31c03780625ead30d4e629da4cca3bcf5b18c 100644 --- a/net/minecraft/world/entity/Mob.java +++ b/net/minecraft/world/entity/Mob.java -@@ -560,7 +560,7 @@ public abstract class Mob extends LivingEntity implements Targeting, EquipmentUs +@@ -565,7 +565,7 @@ public abstract class Mob extends LivingEntity implements Targeting, EquipmentUs && this.canPickUpLoot() && this.isAlive() && !this.dead @@ -131,7 +131,7 @@ index 3aefbdc3e537bc53bba296c7876dee93c95a77ca..4d79ce89c21ba0b973bbda01bf53665e } diff --git a/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java -index 7e39604a02561880a10d4bcebcd76135f9c1a122..51ca6a3fa75f3aef715d786a21327452390dde94 100644 +index 671ad18c0d18f9773ef7b868a8d1d33d574986fb..a2e686c76d7080064c993712e0c0321b48fbb179 100644 --- a/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java +++ b/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java @@ -541,7 +541,7 @@ public class EnderDragon extends Mob implements Enemy { @@ -320,7 +320,7 @@ index a47e5e38ef5c13da3827174121c1ec4b9ffbbce2..0dfb632b339b24564744b1f5c0d52d7f } diff --git a/net/minecraft/world/level/block/FarmlandBlock.java b/net/minecraft/world/level/block/FarmlandBlock.java -index 8bc58baa1542443235b57633d1e563f3487a2421..b51bb36da00bdfd25724579c0a4fb572abeefd81 100644 +index d4a7099782965fe2c24c4e5fc48aab07a3f1ec45..830067a48d60d8fe85e0878cff2a7ad41cc7aed2 100644 --- a/net/minecraft/world/level/block/FarmlandBlock.java +++ b/net/minecraft/world/level/block/FarmlandBlock.java @@ -113,7 +113,7 @@ public class FarmlandBlock extends Block { diff --git a/purpur-server/minecraft-patches/features/0017-API-for-any-mob-to-burn-daylight.patch b/purpur-server/minecraft-patches/features/0017-API-for-any-mob-to-burn-daylight.patch index f50c04041..5b0cefdb5 100644 --- a/purpur-server/minecraft-patches/features/0017-API-for-any-mob-to-burn-daylight.patch +++ b/purpur-server/minecraft-patches/features/0017-API-for-any-mob-to-burn-daylight.patch @@ -6,7 +6,7 @@ Subject: [PATCH] API for any mob to burn daylight Co-authored by: Encode42 diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java -index afcdf4aa479e27c858afab01191344e14a1f4ecc..5d581af745468f61048448c8a845990538662e3f 100644 +index 036512b44ffe707eb9a0ac013672aaacf810a7c1..461d02c149b1864fdec12667abaff9080d5efe5a 100644 --- a/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java @@ -452,6 +452,21 @@ public abstract class Entity @@ -32,7 +32,7 @@ index afcdf4aa479e27c858afab01191344e14a1f4ecc..5d581af745468f61048448c8a8459905 this.type = type; this.level = level; diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java -index 7146381e06ed1b946ce43dca293f52da05b46314..08324c0a0e87eb0ed8ea111389a3a9111031e034 100644 +index bf817c8cf1308a2621f387305b8d29af96a99f7f..b8c805694fae68ed2bcc5470d6ee53c2de6443ab 100644 --- a/net/minecraft/world/entity/LivingEntity.java +++ b/net/minecraft/world/entity/LivingEntity.java @@ -291,6 +291,7 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin @@ -98,10 +98,10 @@ index 7146381e06ed1b946ce43dca293f52da05b46314..08324c0a0e87eb0ed8ea111389a3a911 protected void applyInput() { diff --git a/net/minecraft/world/entity/Mob.java b/net/minecraft/world/entity/Mob.java -index 43f1a9287d2a3010d35a88d58df3e950f1011eec..44e3e723d6a796917e73012dbd03d4b36cb11a0e 100644 +index 7fe31c03780625ead30d4e629da4cca3bcf5b18c..6651a03adb5cb18db71d814b57d2d754497cc782 100644 --- a/net/minecraft/world/entity/Mob.java +++ b/net/minecraft/world/entity/Mob.java -@@ -550,9 +550,9 @@ public abstract class Mob extends LivingEntity implements Targeting, EquipmentUs +@@ -555,9 +555,9 @@ public abstract class Mob extends LivingEntity implements Targeting, EquipmentUs @Override public void aiStep() { super.aiStep(); @@ -113,7 +113,7 @@ index 43f1a9287d2a3010d35a88d58df3e950f1011eec..44e3e723d6a796917e73012dbd03d4b3 ProfilerFiller profiler = Profiler.get(); profiler.push("looting"); -@@ -604,16 +604,8 @@ public abstract class Mob extends LivingEntity implements Targeting, EquipmentUs +@@ -609,16 +609,8 @@ public abstract class Mob extends LivingEntity implements Targeting, EquipmentUs } public boolean isSunBurnTick() { @@ -265,7 +265,7 @@ index 8d6262e99fb3ad98d3142ee069f07d2370ca0778..02e935edd7a6cabbf2e6fcc6c96a9601 @Override diff --git a/net/minecraft/world/entity/monster/zombie/Zombie.java b/net/minecraft/world/entity/monster/zombie/Zombie.java -index 0777e4e0c3aa932699f124c83a571ce913327740..dffb152543d06380618c36cf89374b7d11336039 100644 +index 6693ae88aa5780189faba8649346579f5b95b77e..f8eccfab70e7d99dd74965a506837e620515b6d1 100644 --- a/net/minecraft/world/entity/monster/zombie/Zombie.java +++ b/net/minecraft/world/entity/monster/zombie/Zombie.java @@ -102,11 +102,12 @@ public class Zombie extends Monster { diff --git a/purpur-server/minecraft-patches/features/0021-Per-mob-mob_griefing-loot-pickup-override.patch b/purpur-server/minecraft-patches/features/0021-Per-mob-mob_griefing-loot-pickup-override.patch index e8f82cc50..6ed4b4efb 100644 --- a/purpur-server/minecraft-patches/features/0021-Per-mob-mob_griefing-loot-pickup-override.patch +++ b/purpur-server/minecraft-patches/features/0021-Per-mob-mob_griefing-loot-pickup-override.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Per mob mob_griefing loot pickup override diff --git a/net/minecraft/world/entity/Mob.java b/net/minecraft/world/entity/Mob.java -index 44e3e723d6a796917e73012dbd03d4b36cb11a0e..34ce53202f0b1baaaaf2e5ae1bb9aede9f70aa62 100644 +index 6651a03adb5cb18db71d814b57d2d754497cc782..eda42a44b69f9aece81a71b2e4d3fa009ed80629 100644 --- a/net/minecraft/world/entity/Mob.java +++ b/net/minecraft/world/entity/Mob.java -@@ -560,7 +560,7 @@ public abstract class Mob extends LivingEntity implements Targeting, EquipmentUs +@@ -565,7 +565,7 @@ public abstract class Mob extends LivingEntity implements Targeting, EquipmentUs && this.canPickUpLoot() && this.isAlive() && !this.dead @@ -17,7 +17,7 @@ index 44e3e723d6a796917e73012dbd03d4b36cb11a0e..34ce53202f0b1baaaaf2e5ae1bb9aede Vec3i pickupReach = this.getPickupReach(); for (ItemEntity entity : this.level() -@@ -579,6 +579,12 @@ public abstract class Mob extends LivingEntity implements Targeting, EquipmentUs +@@ -584,6 +584,12 @@ public abstract class Mob extends LivingEntity implements Targeting, EquipmentUs profiler.pop(); } @@ -256,7 +256,7 @@ index 5d60b230eeaec9d37e286019b8d4276cfa85a9ea..55b2bd676f2e9633fc8250bcd984424e public boolean isSunSensitive() { return this.shouldBurnInDay; // Purpur - moved to LivingEntity; keep methods for ABI compatibility - API for any mob to burn daylight diff --git a/net/minecraft/world/entity/monster/zombie/Zombie.java b/net/minecraft/world/entity/monster/zombie/Zombie.java -index 68070943966aac17e1878f6730781cf2b603be7a..88552e60c0b6b4bd68c3b82e84f2a7493803e6ec 100644 +index cb1a685b136f06ab5884c269678cc9384af1dfed..a0b1399d8ea3aeb583dd0c0f1b5ec6300eacf28d 100644 --- a/net/minecraft/world/entity/monster/zombie/Zombie.java +++ b/net/minecraft/world/entity/monster/zombie/Zombie.java @@ -167,6 +167,13 @@ public class Zombie extends Monster { @@ -310,7 +310,7 @@ index 9e893c0c033dcc2273275b92048d9b1a941d93f2..54ba4d2e8305e2d9ba0c9e71bae67bfd protected void addBehaviourGoals() { this.goalSelector.addGoal(1, new SpearUseGoal<>(this, 1.0, 1.0, 10.0F, 2.0F)); diff --git a/net/minecraft/world/entity/npc/villager/Villager.java b/net/minecraft/world/entity/npc/villager/Villager.java -index 297eba0bcf340f83c5d12ced343ccbfc738d4d35..dab982eed3c702486c1daaa480d795723102e164 100644 +index b2130b1222321d066fdae4786fb25f59bbcf3fa5..e715a0b96a0758b6675091d3b9ce154ea41fd01c 100644 --- a/net/minecraft/world/entity/npc/villager/Villager.java +++ b/net/minecraft/world/entity/npc/villager/Villager.java @@ -298,6 +298,13 @@ public class Villager extends AbstractVillager implements VillagerDataHolder, Re diff --git a/purpur-server/minecraft-patches/sources/net/minecraft/world/entity/Mob.java.patch b/purpur-server/minecraft-patches/sources/net/minecraft/world/entity/Mob.java.patch index 13a334664..4f02f69bd 100644 --- a/purpur-server/minecraft-patches/sources/net/minecraft/world/entity/Mob.java.patch +++ b/purpur-server/minecraft-patches/sources/net/minecraft/world/entity/Mob.java.patch @@ -8,15 +8,15 @@ protected Mob(final EntityType type, final Level level) { super(type, level); -@@ -298,6 +_,7 @@ +@@ -303,6 +_,7 @@ target = null; } } + if (target instanceof net.minecraft.server.level.ServerPlayer) this.ticksSinceLastInteraction = 0; // Purpur - Entity lifespan - this.target = this.asValidTarget(target); + this.target = target; return true; // CraftBukkit end -@@ -341,7 +_,27 @@ +@@ -346,7 +_,27 @@ } profiler.pop(); @@ -45,7 +45,7 @@ @Override protected void playHurtSound(final DamageSource source) { -@@ -445,6 +_,7 @@ +@@ -450,6 +_,7 @@ output.putString("Paper.DespawnInPeacefulOverride", this.despawnInPeacefulOverride.name()); } // Paper end - allow changing despawnInPeaceful @@ -53,7 +53,7 @@ } @Override -@@ -472,6 +_,7 @@ +@@ -477,6 +_,7 @@ this.lootTableSeed = input.getLongOr("DeathLootTableSeed", 0L); this.setNoAi(input.getBooleanOr("NoAI", false)); this.aware = input.getBooleanOr("Bukkit.Aware", true); // CraftBukkit @@ -61,7 +61,7 @@ // Paper start - allow changing despawnInPeaceful this.despawnInPeacefulOverride = readDespawnInPeacefulOverride(input); } -@@ -1250,7 +_,7 @@ +@@ -1255,7 +_,7 @@ ); } @@ -70,7 +70,7 @@ return groupData; } -@@ -1607,6 +_,7 @@ +@@ -1612,6 +_,7 @@ } this.postPiercingAttack(); diff --git a/purpur-server/minecraft-patches/sources/net/minecraft/world/entity/ai/goal/RunAroundLikeCrazyGoal.java.patch b/purpur-server/minecraft-patches/sources/net/minecraft/world/entity/ai/goal/RunAroundLikeCrazyGoal.java.patch index 1a81c2233..6ba9cadd9 100644 --- a/purpur-server/minecraft-patches/sources/net/minecraft/world/entity/ai/goal/RunAroundLikeCrazyGoal.java.patch +++ b/purpur-server/minecraft-patches/sources/net/minecraft/world/entity/ai/goal/RunAroundLikeCrazyGoal.java.patch @@ -4,8 +4,8 @@ if (passenger instanceof Player player) { int temper = this.horse.getTemper(); int maxTemper = this.horse.getMaxTemper(); -- if (maxTemper > 0 && this.horse.getRandom().nextInt(maxTemper) < temper && !org.bukkit.craftbukkit.event.CraftEventFactory.callEntityTameEvent(this.horse, ((org.bukkit.craftbukkit.entity.CraftHumanEntity) this.horse.getBukkitEntity().getPassenger()).getHandle()).isCancelled()) { // CraftBukkit - fire EntityTameEvent -+ if (((this.horse.level().purpurConfig.alwaysTameInCreative && player.hasInfiniteMaterials()) || (maxTemper > 0 && this.horse.getRandom().nextInt(maxTemper) < temper)) && !org.bukkit.craftbukkit.event.CraftEventFactory.callEntityTameEvent(this.horse, ((org.bukkit.craftbukkit.entity.CraftHumanEntity) this.horse.getBukkitEntity().getPassenger()).getHandle()).isCancelled()) { // CraftBukkit - fire EntityTameEvent // Purpur - Config to always tame in Creative +- if (maxTemper > 0 && this.horse.getRandom().nextInt(maxTemper) < temper && !org.bukkit.craftbukkit.event.CraftEventFactory.callEntityTameEvent(this.horse, player).isCancelled()) { // CraftBukkit - fire EntityTameEvent ++ if (((this.horse.level().purpurConfig.alwaysTameInCreative && player.hasInfiniteMaterials()) || (maxTemper > 0 && this.horse.getRandom().nextInt(maxTemper) < temper)) && !org.bukkit.craftbukkit.event.CraftEventFactory.callEntityTameEvent(this.horse, player).isCancelled()) { // CraftBukkit - fire EntityTameEvent // Purpur - Config to always tame in Creative this.horse.tameWithName(player); return; } diff --git a/purpur-server/minecraft-patches/sources/net/minecraft/world/level/block/ChestBlock.java.patch b/purpur-server/minecraft-patches/sources/net/minecraft/world/level/block/ChestBlock.java.patch index a4633db1b..f911caf3f 100644 --- a/purpur-server/minecraft-patches/sources/net/minecraft/world/level/block/ChestBlock.java.patch +++ b/purpur-server/minecraft-patches/sources/net/minecraft/world/level/block/ChestBlock.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/level/block/ChestBlock.java +++ b/net/minecraft/world/level/block/ChestBlock.java -@@ -380,6 +_,7 @@ +@@ -352,6 +_,7 @@ } public static boolean isBlockedChestByBlock(final BlockGetter level, final BlockPos pos) { diff --git a/purpur-server/paper-patches/features/0002-Ridables.patch b/purpur-server/paper-patches/features/0002-Ridables.patch index d287e77af..0555ea9a0 100644 --- a/purpur-server/paper-patches/features/0002-Ridables.patch +++ b/purpur-server/paper-patches/features/0002-Ridables.patch @@ -36,7 +36,7 @@ index c5a866735d7d918ea58306ea2299a8b82be52f3f..d6ddbcff911ce4c97a20883af10d2b47 + // Purpur end - Ridables } diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 29124cd1cf3b8fcbaa82430f6aecac5662d0a9b8..ad65c2c26195ffa423a59ae6b67d910d528aee09 100644 +index 1651f3cc24120acffb073c2b736fbd410358f630..60bc33303bc2084ff13634d0997b6d811611433d 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -646,6 +646,15 @@ public class CraftEventFactory { @@ -55,7 +55,7 @@ index 29124cd1cf3b8fcbaa82430f6aecac5662d0a9b8..ad65c2c26195ffa423a59ae6b67d910d return event; } -@@ -1167,6 +1176,7 @@ public class CraftEventFactory { +@@ -1158,6 +1167,7 @@ public class CraftEventFactory { EntityDamageEvent event; if (damager != null) { event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), damagee.getBukkitEntity(), cause, bukkitDamageSource, modifiers, modifierFunctions, critical); diff --git a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/CraftServer.java.patch b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/CraftServer.java.patch index 907c0266d..b51301f8d 100644 --- a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/CraftServer.java.patch +++ b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/CraftServer.java.patch @@ -106,7 +106,7 @@ @Override public List getRecipesFor(ItemStack result) { Preconditions.checkArgument(result != null, "ItemStack cannot be null"); -@@ -2736,6 +_,18 @@ +@@ -2733,6 +_,18 @@ return CraftServer.this.console.paperConfigurations.createLegacyObject(CraftServer.this.console); } @@ -125,7 +125,7 @@ @Override public void restart() { CraftServer.this.restart(); -@@ -2971,4 +_,18 @@ +@@ -2968,4 +_,18 @@ public void allowPausing(final Plugin plugin, final boolean value) { this.console.addPluginAllowingSleep(plugin.getName(), value); } diff --git a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/CraftWorld.java.patch b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/CraftWorld.java.patch index df14d6c73..7492521be 100644 --- a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/CraftWorld.java.patch +++ b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/CraftWorld.java.patch @@ -1,6 +1,6 @@ --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1924,6 +_,52 @@ +@@ -1925,6 +_,52 @@ return (this.getHandle().getDragonFight() == null) ? null : new CraftDragonBattle(this.getHandle().getDragonFight()); } diff --git a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java.patch b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java.patch index 7a2d0a451..036932c94 100644 --- a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java.patch +++ b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java.patch @@ -1,6 +1,6 @@ --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java -@@ -145,4 +_,53 @@ +@@ -143,4 +_,53 @@ public UUID getThrower() { return Optionull.map(this.getHandle().thrower, EntityReference::getUUID); } diff --git a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java.patch b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java.patch index 0708b4d47..7fa3193dd 100644 --- a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java.patch +++ b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java.patch @@ -1,6 +1,6 @@ --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -@@ -672,4 +_,285 @@ +@@ -686,4 +_,285 @@ } // Paper end - data component API diff --git a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java.patch b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java.patch index b3ee98816..dde31a20a 100644 --- a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java.patch +++ b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java.patch @@ -1,6 +1,6 @@ --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -486,7 +_,7 @@ +@@ -485,7 +_,7 @@ @Override public com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() {