diff --git a/gradle.properties b/gradle.properties index c1e78b05f..055aa3e06 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ group = org.purpurmc.purpur version = 1.21.5-R0.1-SNAPSHOT mcVersion = 1.21.5 -paperCommit = e87320d5f2c5ef7b784b2680835e0e9c101b9e30 +paperCommit = 320f25cb04f183c18c16595100897622c88ce073 org.gradle.configuration-cache = true org.gradle.caching = true diff --git a/purpur-api/build.gradle.kts.patch b/purpur-api/build.gradle.kts.patch index 755a5bb4e..7dc5f4924 100644 --- a/purpur-api/build.gradle.kts.patch +++ b/purpur-api/build.gradle.kts.patch @@ -28,7 +28,7 @@ } } } -@@ -165,8 +_,10 @@ +@@ -165,16 +_,18 @@ val services = objects.newInstance() tasks.withType { @@ -40,6 +40,30 @@ options.use() options.isDocFilesSubDirs = true options.links( + "https://guava.dev/releases/33.3.1-jre/api/docs/", +- "https://javadoc.io/doc/org.yaml/snakeyaml/2.2/", +- "https://javadoc.io/doc/org.jetbrains/annotations/$annotationsVersion/", +- "https://javadoc.io/doc/org.joml/joml/1.10.8/", +- "https://www.javadoc.io/doc/com.google.code.gson/gson/2.11.0", ++ // "https://javadoc.io/doc/org.yaml/snakeyaml/2.2/", ++ // "https://javadoc.io/doc/org.jetbrains/annotations/$annotationsVersion/", ++ // "https://javadoc.io/doc/org.joml/joml/1.10.8/", ++ // "https://www.javadoc.io/doc/com.google.code.gson/gson/2.11.0", + "https://jspecify.dev/docs/api/", + "https://jd.advntr.dev/api/$adventureVersion/", + "https://jd.advntr.dev/key/$adventureVersion/", +@@ -183,9 +_,9 @@ + "https://jd.advntr.dev/text-serializer-legacy/$adventureVersion/", + "https://jd.advntr.dev/text-serializer-plain/$adventureVersion/", + "https://jd.advntr.dev/text-logger-slf4j/$adventureVersion/", +- "https://javadoc.io/doc/org.slf4j/slf4j-api/$slf4jVersion/", ++ // "https://javadoc.io/doc/org.slf4j/slf4j-api/$slf4jVersion/", + "https://logging.apache.org/log4j/2.x/javadoc/log4j-api/", +- "https://javadoc.io/doc/org.apache.maven.resolver/maven-resolver-api/1.7.3", ++ // "https://javadoc.io/doc/org.apache.maven.resolver/maven-resolver-api/1.7.3", + ) + options.tags("apiNote:a:API Note:") + @@ -199,11 +_,11 @@ } diff --git a/purpur-api/paper-patches/files/src/main/java/org/bukkit/entity/Villager.java.patch b/purpur-api/paper-patches/files/src/main/java/org/bukkit/entity/Villager.java.patch index 083a0d057..55d5c2802 100644 --- a/purpur-api/paper-patches/files/src/main/java/org/bukkit/entity/Villager.java.patch +++ b/purpur-api/paper-patches/files/src/main/java/org/bukkit/entity/Villager.java.patch @@ -1,9 +1,9 @@ --- a/src/main/java/org/bukkit/entity/Villager.java +++ b/src/main/java/org/bukkit/entity/Villager.java -@@ -391,4 +_,13 @@ - * reputation regardless of its impact and the player associated. +@@ -408,4 +_,13 @@ + * Demand is still updated even if all events are canceled. */ - public void clearReputations(); + public void restock(); + + // Purpur start + /** diff --git a/purpur-server/minecraft-patches/sources/net/minecraft/server/commands/GiveCommand.java.patch b/purpur-server/minecraft-patches/sources/net/minecraft/server/commands/GiveCommand.java.patch index 557923162..f48a78f28 100644 --- a/purpur-server/minecraft-patches/sources/net/minecraft/server/commands/GiveCommand.java.patch +++ b/purpur-server/minecraft-patches/sources/net/minecraft/server/commands/GiveCommand.java.patch @@ -6,5 +6,5 @@ boolean flag = serverPlayer.getInventory().add(itemStack1); + if (org.purpurmc.purpur.PurpurConfig.disableGiveCommandDrops) continue; // Purpur - add config option for toggling give command dropping if (flag && itemStack1.isEmpty()) { - ItemEntity itemEntity = serverPlayer.drop(itemStack, false); + ItemEntity itemEntity = serverPlayer.drop(itemStack, false, false, false, null); // Paper - do not fire PlayerDropItemEvent for /give command if (itemEntity != null) { diff --git a/purpur-server/minecraft-patches/sources/net/minecraft/world/entity/npc/Villager.java.patch b/purpur-server/minecraft-patches/sources/net/minecraft/world/entity/npc/Villager.java.patch index 71cb36d56..d87abdef5 100644 --- a/purpur-server/minecraft-patches/sources/net/minecraft/world/entity/npc/Villager.java.patch +++ b/purpur-server/minecraft-patches/sources/net/minecraft/world/entity/npc/Villager.java.patch @@ -104,7 +104,7 @@ @@ -504,7 +_,7 @@ - private void updateDemand() { + public void updateDemand() { for (MerchantOffer merchantOffer : this.getOffers()) { - merchantOffer.updateDemand(); + merchantOffer.updateDemand(this.level().purpurConfig.villagerMinimumDemand); // Purpur - Configurable minimum demand for trades diff --git a/purpur-server/minecraft-patches/sources/net/minecraft/world/level/block/SpongeBlock.java.patch b/purpur-server/minecraft-patches/sources/net/minecraft/world/level/block/SpongeBlock.java.patch index ab343ffb3..92a63d004 100644 --- a/purpur-server/minecraft-patches/sources/net/minecraft/world/level/block/SpongeBlock.java.patch +++ b/purpur-server/minecraft-patches/sources/net/minecraft/world/level/block/SpongeBlock.java.patch @@ -19,7 +19,7 @@ + if (!fluidState.is(FluidTags.WATER) && (!level.purpurConfig.spongeAbsorbsLava || !fluidState.is(FluidTags.LAVA)) && (!level.purpurConfig.spongeAbsorbsWaterFromMud || !blockState.is(Blocks.MUD))) { // Purpur - Option for sponges to work on lava and mud return BlockPos.TraversalNodeStatus.SKIP; } else if (blockState.getBlock() instanceof BucketPickup bucketPickup - && !bucketPickup.pickupBlock(null, blockList, blockPos, blockState).isEmpty()) { // CraftBukkit + && !bucketPickup.pickupBlock(null, level, blockPos, blockState).isEmpty()) { @@ -76,6 +_,10 @@ } else { if (blockState.getBlock() instanceof LiquidBlock) { diff --git a/purpur-server/paper-patches/features/0005-API-for-any-mob-to-burn-daylight.patch b/purpur-server/paper-patches/features/0005-API-for-any-mob-to-burn-daylight.patch index 2d98f9323..07071c224 100644 --- a/purpur-server/paper-patches/features/0005-API-for-any-mob-to-burn-daylight.patch +++ b/purpur-server/paper-patches/features/0005-API-for-any-mob-to-burn-daylight.patch @@ -24,10 +24,10 @@ index 2c87953a3b99c5e776fe06271d5cba5cc355bf53..395951c968e95adffa97e1851d104faf Preconditions.checkArgument(entity != null, "Unknown entity"); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 78846e0abe010997b6a5da04f2be4b5ffba5dd0a..5f30621d717bd0728ddc074072ab7a02c487b253 100644 +index 69d92e708bac7925ff30e403e94200236536b670..fc4fa99a993a017676da2be3cb254399d421bce1 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -1165,4 +1165,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -1167,4 +1167,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { public CombatTracker getCombatTracker() { return this.getHandle().getCombatTracker().paperCombatTracker; } diff --git a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java.patch b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java.patch index a73b21afb..fa1f1bdc9 100644 --- a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java.patch +++ b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java.patch @@ -1,6 +1,6 @@ --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -513,7 +_,7 @@ +@@ -514,7 +_,7 @@ net.minecraft.server.level.ServerPlayer nmsKiller = killer == null ? null : ((CraftPlayer) killer).getHandle(); this.getHandle().setLastHurtByMob(nmsKiller); if (nmsKiller != null) { diff --git a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java.patch b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java.patch index 266f13c33..e5121d85f 100644 --- a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java.patch +++ b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java.patch @@ -1,10 +1,9 @@ --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java -@@ -380,4 +_,12 @@ - public void clearReputations() { - getHandle().getGossips().gossips.clear(); +@@ -390,4 +_,11 @@ + public void restock() { + getHandle().restock(); } -+ // Paper end + + // Purpur start - Lobotomize stuck villagers + @Override