From e486dd7445c57066257af7278c17eee8945396a0 Mon Sep 17 00:00:00 2001 From: Owen1212055 <23108066+Owen1212055@users.noreply.github.com> Date: Wed, 23 Oct 2024 10:08:40 -0400 Subject: [PATCH] Patch --- ...Add-option-for-console-having-all-permissions.patch | 0 .../server/Add-villager-reputation-API.patch | 4 ++-- ...EntityRaider-respects-game-and-entity-rules-f.patch | 10 +++++----- .../ExperienceOrb-merging-stacking-API-and-fixes.patch | 0 ...ftScheduler-runTaskTimerAsynchronously-Plugin.patch | 0 .../server/Fix-PotionEffect-ignores-icon-flag.patch | 0 .../Fix-missing-chunks-due-to-integer-overflow.patch | 0 .../Fix-piston-physics-inconsistency-MC-188840.patch | 8 +++----- .../server/Fix-villager-trading-demand-MC-163962.patch | 0 .../server/Implement-Mob-Goal-API.patch | 2 +- .../server/Maps-shouldn-t-load-chunks.patch | 2 +- patches/{unapplied => }/server/Potential-bed-API.patch | 10 +--------- .../Prevent-position-desync-causing-tp-exploit.patch | 0 ...d-based-lookup-for-Treasure-Maps-Fixes-lag-fr.patch | 2 +- .../server/Wait-for-Async-Tasks-during-shutdown.patch | 0 15 files changed, 14 insertions(+), 24 deletions(-) rename patches/{unapplied => }/server/Add-option-for-console-having-all-permissions.patch (100%) rename patches/{unapplied => }/server/Add-villager-reputation-API.patch (98%) rename patches/{unapplied => }/server/Ensure-EntityRaider-respects-game-and-entity-rules-f.patch (69%) rename patches/{unapplied => }/server/ExperienceOrb-merging-stacking-API-and-fixes.patch (100%) rename patches/{unapplied => }/server/Fix-CraftScheduler-runTaskTimerAsynchronously-Plugin.patch (100%) rename patches/{unapplied => }/server/Fix-PotionEffect-ignores-icon-flag.patch (100%) rename patches/{unapplied => }/server/Fix-missing-chunks-due-to-integer-overflow.patch (100%) rename patches/{unapplied => }/server/Fix-piston-physics-inconsistency-MC-188840.patch (92%) rename patches/{unapplied => }/server/Fix-villager-trading-demand-MC-163962.patch (100%) rename patches/{unapplied => }/server/Implement-Mob-Goal-API.patch (99%) rename patches/{unapplied => }/server/Maps-shouldn-t-load-chunks.patch (97%) rename patches/{unapplied => }/server/Potential-bed-API.patch (75%) rename patches/{unapplied => }/server/Prevent-position-desync-causing-tp-exploit.patch (100%) rename patches/{unapplied => }/server/Use-seed-based-lookup-for-Treasure-Maps-Fixes-lag-fr.patch (94%) rename patches/{unapplied => }/server/Wait-for-Async-Tasks-during-shutdown.patch (100%) diff --git a/patches/unapplied/server/Add-option-for-console-having-all-permissions.patch b/patches/server/Add-option-for-console-having-all-permissions.patch similarity index 100% rename from patches/unapplied/server/Add-option-for-console-having-all-permissions.patch rename to patches/server/Add-option-for-console-having-all-permissions.patch diff --git a/patches/unapplied/server/Add-villager-reputation-API.patch b/patches/server/Add-villager-reputation-API.patch similarity index 98% rename from patches/unapplied/server/Add-villager-reputation-API.patch rename to patches/server/Add-villager-reputation-API.patch index fc989627769..ac9403e6ed7 100644 --- a/patches/unapplied/server/Add-villager-reputation-API.patch +++ b/patches/server/Add-villager-reputation-API.patch @@ -60,9 +60,9 @@ diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java b/sr index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java -@@ -0,0 +0,0 @@ import org.bukkit.entity.Villager; - import org.bukkit.entity.ZombieVillager; +@@ -0,0 +0,0 @@ import org.bukkit.entity.ZombieVillager; import org.bukkit.event.entity.CreatureSpawnEvent; + import org.bukkit.event.entity.EntityTransformEvent; +// Paper start +import com.destroystokyo.paper.entity.villager.Reputation; diff --git a/patches/unapplied/server/Ensure-EntityRaider-respects-game-and-entity-rules-f.patch b/patches/server/Ensure-EntityRaider-respects-game-and-entity-rules-f.patch similarity index 69% rename from patches/unapplied/server/Ensure-EntityRaider-respects-game-and-entity-rules-f.patch rename to patches/server/Ensure-EntityRaider-respects-game-and-entity-rules-f.patch index 81491558a1a..6a47f9d2d66 100644 --- a/patches/unapplied/server/Ensure-EntityRaider-respects-game-and-entity-rules-f.patch +++ b/patches/server/Ensure-EntityRaider-respects-game-and-entity-rules-f.patch @@ -10,10 +10,10 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 --- a/src/main/java/net/minecraft/world/entity/raid/Raider.java +++ b/src/main/java/net/minecraft/world/entity/raid/Raider.java @@ -0,0 +0,0 @@ public abstract class Raider extends PatrollingMonster { + } - @Override - public boolean canUse() { + private boolean cannotPickUpBanner() { + if (!this.mob.level().getGameRules().getBoolean(net.minecraft.world.level.GameRules.RULE_MOBGRIEFING) || !this.mob.canPickUpLoot()) return false; // Paper - respect game and entity rules for picking up items - Raid raid = this.mob.getCurrentRaid(); - - if (this.mob.hasActiveRaid() && !this.mob.getCurrentRaid().isOver() && this.mob.canBeLeader() && !ItemStack.matches(this.mob.getItemBySlot(EquipmentSlot.HEAD), Raid.getLeaderBannerInstance(this.mob.registryAccess().lookupOrThrow(Registries.BANNER_PATTERN)))) { + if (!this.mob.hasActiveRaid()) { + return true; + } else if (this.mob.getCurrentRaid().isOver()) { diff --git a/patches/unapplied/server/ExperienceOrb-merging-stacking-API-and-fixes.patch b/patches/server/ExperienceOrb-merging-stacking-API-and-fixes.patch similarity index 100% rename from patches/unapplied/server/ExperienceOrb-merging-stacking-API-and-fixes.patch rename to patches/server/ExperienceOrb-merging-stacking-API-and-fixes.patch diff --git a/patches/unapplied/server/Fix-CraftScheduler-runTaskTimerAsynchronously-Plugin.patch b/patches/server/Fix-CraftScheduler-runTaskTimerAsynchronously-Plugin.patch similarity index 100% rename from patches/unapplied/server/Fix-CraftScheduler-runTaskTimerAsynchronously-Plugin.patch rename to patches/server/Fix-CraftScheduler-runTaskTimerAsynchronously-Plugin.patch diff --git a/patches/unapplied/server/Fix-PotionEffect-ignores-icon-flag.patch b/patches/server/Fix-PotionEffect-ignores-icon-flag.patch similarity index 100% rename from patches/unapplied/server/Fix-PotionEffect-ignores-icon-flag.patch rename to patches/server/Fix-PotionEffect-ignores-icon-flag.patch diff --git a/patches/unapplied/server/Fix-missing-chunks-due-to-integer-overflow.patch b/patches/server/Fix-missing-chunks-due-to-integer-overflow.patch similarity index 100% rename from patches/unapplied/server/Fix-missing-chunks-due-to-integer-overflow.patch rename to patches/server/Fix-missing-chunks-due-to-integer-overflow.patch diff --git a/patches/unapplied/server/Fix-piston-physics-inconsistency-MC-188840.patch b/patches/server/Fix-piston-physics-inconsistency-MC-188840.patch similarity index 92% rename from patches/unapplied/server/Fix-piston-physics-inconsistency-MC-188840.patch rename to patches/server/Fix-piston-physics-inconsistency-MC-188840.patch index 638a857c763..a2b717d0d85 100644 --- a/patches/unapplied/server/Fix-piston-physics-inconsistency-MC-188840.patch +++ b/patches/server/Fix-piston-physics-inconsistency-MC-188840.patch @@ -36,7 +36,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 --- a/src/main/java/net/minecraft/world/level/block/piston/PistonBaseBlock.java +++ b/src/main/java/net/minecraft/world/level/block/piston/PistonBaseBlock.java @@ -0,0 +0,0 @@ public class PistonBaseBlock extends DirectionalBlock { - } + BlockState iblockdata2; for (j = list.size() - 1; j >= 0; --j) { - blockposition3 = (BlockPos) list.get(j); @@ -48,16 +48,14 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 + // Paper end - fix a variety of piston desync dupes blockposition3 = blockposition3.relative(enumdirection1); map.remove(blockposition3); - BlockState iblockdata2 = (BlockState) Blocks.MOVING_PISTON.defaultBlockState().setValue(PistonBaseBlock.FACING, dir); - + iblockdata2 = (BlockState) Blocks.MOVING_PISTON.defaultBlockState().setValue(PistonBaseBlock.FACING, dir); world.setBlock(blockposition3, iblockdata2, 68); -- world.setBlockEntity(MovingPistonBlock.newMovingBlockEntity(blockposition3, iblockdata2, (BlockState) list1.get(j), dir, retract, false)); + // Paper start - fix a variety of piston desync dupes + if (!allowDesync) { + iblockdata1 = world.getBlockState(oldPos); + map.replace(oldPos, iblockdata1); + } -+ world.setBlockEntity(MovingPistonBlock.newMovingBlockEntity(blockposition3, iblockdata2, allowDesync ? list1.get(j) : iblockdata1, dir, retract, false)); + world.setBlockEntity(MovingPistonBlock.newMovingBlockEntity(blockposition3, iblockdata2, (BlockState) list1.get(j), dir, extend, false)); + if (!allowDesync) { + world.setBlock(oldPos, Blocks.AIR.defaultBlockState(), Block.UPDATE_CLIENTS | Block.UPDATE_KNOWN_SHAPE | Block.UPDATE_MOVE_BY_PISTON | 1024); // set air to prevent later physics updates from seeing this block + } diff --git a/patches/unapplied/server/Fix-villager-trading-demand-MC-163962.patch b/patches/server/Fix-villager-trading-demand-MC-163962.patch similarity index 100% rename from patches/unapplied/server/Fix-villager-trading-demand-MC-163962.patch rename to patches/server/Fix-villager-trading-demand-MC-163962.patch diff --git a/patches/unapplied/server/Implement-Mob-Goal-API.patch b/patches/server/Implement-Mob-Goal-API.patch similarity index 99% rename from patches/unapplied/server/Implement-Mob-Goal-API.patch rename to patches/server/Implement-Mob-Goal-API.patch index 3ffc41a5116..10603c6b374 100644 --- a/patches/unapplied/server/Implement-Mob-Goal-API.patch +++ b/patches/server/Implement-Mob-Goal-API.patch @@ -762,7 +762,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 --- a/src/main/java/net/minecraft/world/entity/ai/goal/Goal.java +++ b/src/main/java/net/minecraft/world/entity/ai/goal/Goal.java @@ -0,0 +0,0 @@ public abstract class Goal { - return Mth.positiveCeilDiv(serverTicks, 2); + return (ServerLevel)world; } + // Paper start - Mob goal api diff --git a/patches/unapplied/server/Maps-shouldn-t-load-chunks.patch b/patches/server/Maps-shouldn-t-load-chunks.patch similarity index 97% rename from patches/unapplied/server/Maps-shouldn-t-load-chunks.patch rename to patches/server/Maps-shouldn-t-load-chunks.patch index 7dc4a2394fc..6b34d6fadfb 100644 --- a/patches/unapplied/server/Maps-shouldn-t-load-chunks.patch +++ b/patches/server/Maps-shouldn-t-load-chunks.patch @@ -18,7 +18,7 @@ diff --git a/src/main/java/net/minecraft/world/item/MapItem.java b/src/main/java index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 --- a/src/main/java/net/minecraft/world/item/MapItem.java +++ b/src/main/java/net/minecraft/world/item/MapItem.java -@@ -0,0 +0,0 @@ public class MapItem extends ComplexItem { +@@ -0,0 +0,0 @@ public class MapItem extends Item { int r = (j / i + o - 64) * i; int s = (k / i + p - 64) * i; Multiset multiset = LinkedHashMultiset.create(); diff --git a/patches/unapplied/server/Potential-bed-API.patch b/patches/server/Potential-bed-API.patch similarity index 75% rename from patches/unapplied/server/Potential-bed-API.patch rename to patches/server/Potential-bed-API.patch index de10d553a14..097bac92aa2 100644 --- a/patches/unapplied/server/Potential-bed-API.patch +++ b/patches/server/Potential-bed-API.patch @@ -11,14 +11,6 @@ diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -@@ -0,0 +0,0 @@ import net.minecraft.nbt.CompoundTag; - import net.minecraft.network.chat.Component; - import net.minecraft.network.protocol.game.ClientboundOpenScreenPacket; - import net.minecraft.network.protocol.game.ServerboundContainerClosePacket; -+import net.minecraft.server.level.ServerLevel; - import net.minecraft.server.level.ServerPlayer; - import net.minecraft.world.MenuProvider; - import net.minecraft.world.entity.Entity; @@ -0,0 +0,0 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { return this.getHandle().sleepCounter; } @@ -32,7 +24,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 + return null; + } + -+ ServerLevel worldServer = handle.server.getLevel(handle.getRespawnDimension()); ++ net.minecraft.server.level.ServerLevel worldServer = handle.server.getLevel(handle.getRespawnDimension()); + if (worldServer == null) { + return null; + } diff --git a/patches/unapplied/server/Prevent-position-desync-causing-tp-exploit.patch b/patches/server/Prevent-position-desync-causing-tp-exploit.patch similarity index 100% rename from patches/unapplied/server/Prevent-position-desync-causing-tp-exploit.patch rename to patches/server/Prevent-position-desync-causing-tp-exploit.patch diff --git a/patches/unapplied/server/Use-seed-based-lookup-for-Treasure-Maps-Fixes-lag-fr.patch b/patches/server/Use-seed-based-lookup-for-Treasure-Maps-Fixes-lag-fr.patch similarity index 94% rename from patches/unapplied/server/Use-seed-based-lookup-for-Treasure-Maps-Fixes-lag-fr.patch rename to patches/server/Use-seed-based-lookup-for-Treasure-Maps-Fixes-lag-fr.patch index 28408264c79..7f901af6bf7 100644 --- a/patches/unapplied/server/Use-seed-based-lookup-for-Treasure-Maps-Fixes-lag-fr.patch +++ b/patches/server/Use-seed-based-lookup-for-Treasure-Maps-Fixes-lag-fr.patch @@ -9,7 +9,7 @@ diff --git a/src/main/java/net/minecraft/world/item/MapItem.java b/src/main/java index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 --- a/src/main/java/net/minecraft/world/item/MapItem.java +++ b/src/main/java/net/minecraft/world/item/MapItem.java -@@ -0,0 +0,0 @@ public class MapItem extends ComplexItem { +@@ -0,0 +0,0 @@ public class MapItem extends Item { for (int n = 0; n < 128; n++) { for (int o = 0; o < 128; o++) { diff --git a/patches/unapplied/server/Wait-for-Async-Tasks-during-shutdown.patch b/patches/server/Wait-for-Async-Tasks-during-shutdown.patch similarity index 100% rename from patches/unapplied/server/Wait-for-Async-Tasks-during-shutdown.patch rename to patches/server/Wait-for-Async-Tasks-during-shutdown.patch