1
0
Fork 0
mirror of https://github.com/PaperMC/Paper.git synced 2025-02-16 18:31:53 +01:00

patches ...

This commit is contained in:
Jason Penilla 2023-12-05 20:00:14 -07:00
parent bb836b070a
commit 7725b39a8f
148 changed files with 59 additions and 53 deletions
patches/server
Add-API-for-quit-reason.patchAdd-BellRingEvent.patchAdd-Block-isValidTool.patchAdd-Destroy-Speed-API.patchAdd-EntityLoadCrossbowEvent.patchAdd-LivingEntity-clearActiveItem.patchAdd-OBSTRUCTED-reason-to-BedEnterResult.patchAdd-PlayerItemCooldownEvent.patchAdd-PlayerShearBlockEvent.patchAdd-PlayerTradeEvent-and-PlayerPurchaseEvent.patchAdd-PrepareResultEvent.patchAdd-StructuresLocateEvent.patchAdd-Wandering-Trader-spawn-rate-config-options.patchAdd-additional-open-container-api-to-HumanEntity.patchAdd-dropLeash-variable-to-EntityUnleashEvent.patchAdd-entity-liquid-API.patchAdd-fast-alternative-constructor-for-Rotations.patchAdd-getMainThreadExecutor-to-BukkitScheduler.patchAdd-getOfflinePlayerIfCached-String.patchAdd-ignore-discounts-API.patchAdd-methods-to-get-translation-keys.patchAdd-moon-phase-API.patchAdd-more-Evoker-API.patchAdd-playPickupItemAnimation-to-LivingEntity.patchAdd-recipe-to-cook-events.patchAdd-sendOpLevel-API.patchAdd-toggle-for-always-placing-the-dragon-egg.patchAdd-worldborder-events.patchAdd-zombie-targets-turtle-egg-config.patchAdded-PlayerLecternPageChangeEvent.patchAdded-PlayerLoomPatternSelectEvent.patchAdded-PlayerStonecutterRecipeSelectEvent.patchAdded-ServerResourcesReloadedEvent.patchAdded-WorldGameRuleChangeEvent.patchAdded-firing-of-PlayerChangeBeaconEffectEvent.patchAdded-missing-default-perms-for-commands.patchAdded-world-settings-for-mobs-picking-up-loot.patchAdditional-Block-Material-API-s.patchAllow-adding-items-to-BlockDropItemEvent.patchAllow-disabling-mob-spawner-spawn-egg-transformation.patchAllow-using-signs-inside-spawn-protection.patchAvoid-error-bubbling-up-when-item-stack-is-empty-in-.patchBeacon-API-custom-effect-ranges.patchBrand-support.patchBuffer-joins-to-world.patchCache-DataFixerUpper-Rewrite-Rules-on-demand.patchCache-block-data-strings.patchCache-burn-durations.patchClimbing-should-not-bypass-cramming-gamerule.patchCollision-option-for-requiring-a-player-participant.patchConfigurable-door-breaking-difficulty.patchConfigurable-max-leash-distance.patchConvert-legacy-attributes-in-Item-Meta.patchCreate-HoverEvent-from-ItemStack-Entity.patchDo-not-crash-from-invalid-ingredient-lists-in-Villag.patchDo-not-let-the-server-load-chunks-from-newer-version.patchDon-t-check-chunk-for-portal-on-world-gen-entity-add.patchDon-t-ignore-result-of-PlayerEditBookEvent.patchDon-t-require-FACING-data.patchDrop-carried-item-when-player-has-disconnected.patchEigencraft-redstone-implementation.patchEmpty-commands-shall-not-be-dispatched.patchEnhance-console-tab-completions-for-brigadier-comman.patchEntity-isTicking.patchEntityMoveEvent.patchExpand-world-key-API.patchExpose-LivingEntity-hurt-direction.patchExpose-Tracked-Players.patchExpose-protocol-version.patchExpose-the-Entity-Counter-to-allow-plugins-to-use-va.patchExpose-world-spawn-angle.patchExtend-block-drop-capture-to-capture-all-items-added.patchFix-AdvancementDataPlayer-leak-due-from-quitting-ear.patchFix-Concurrency-issue-in-ShufflingList.patchFix-CraftSound-backwards-compatibility.patchFix-Entity-Teleportation-and-cancel-velocity-if-tele.patchFix-Not-a-string-Map-Conversion-spam.patchFix-Player-spawnParticle-x-y-z-precision-loss.patchFix-PlayerItemConsumeEvent-cancelling-properly.patchFix-SPIGOT-5824-Bukkit-world-container-is-not-used.patchFix-SPIGOT-5885-Unable-to-disable-advancements.patchFix-SPIGOT-5989.patchFix-SpawnChangeEvent-not-firing-for-all-use-cases.patchFix-arrows-never-despawning-MC-125757.patchFix-client-lag-on-advancement-loading.patchFix-deop-kicking-non-whitelisted-player-when-white-l.patchFix-for-large-move-vectors-crashing-server.patchFix-harming-potion-dupe.patchFix-hex-colors-not-working-in-some-kick-messages.patchFix-interact-event-not-being-called-sometimes.patchFix-item-locations-dropped-from-campfires.patchFix-nerfed-slime-when-splitting.patchFix-regex-mistake-in-CB-NBT-int-deserialization.patchFix-some-rails-connecting-improperly.patchFix-villager-boat-exploit.patchFixed-TileEntityBell-memory-leak.patchImplement-API-to-get-Material-from-Boats-and-Minecar.patchImplement-BlockPreDispenseEvent.patchImplement-PlayerFlowerPotManipulateEvent.patchImplement-TargetHitEvent.patch

View file

@ -30,7 +30,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -0,0 +0,0 @@ public class ServerPlayer extends Player {
public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet<ServerPlayer> cachedSingleHashSet; // Paper
public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper
public com.destroystokyo.paper.event.entity.PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper
public @Nullable String clientBrandName = null; // Paper - Brand name
+ 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

View file

@ -42,7 +42,7 @@ diff --git a/src/main/java/net/minecraft/world/level/block/PumpkinBlock.java b/s
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/net/minecraft/world/level/block/PumpkinBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/PumpkinBlock.java
@@ -0,0 +0,0 @@ public class PumpkinBlock extends StemGrownBlock {
@@ -0,0 +0,0 @@ public class PumpkinBlock extends Block {
ItemStack itemStack = player.getItemInHand(hand);
if (itemStack.is(Items.SHEARS)) {
if (!world.isClientSide) {

View file

@ -31,9 +31,9 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
if (this.leashHolder != null) {
if (!this.isAlive() || !this.leashHolder.isAlive()) {
- this.level().getCraftServer().getPluginManager().callEvent(new EntityUnleashEvent(this.getBukkitEntity(), (!this.isAlive()) ? UnleashReason.PLAYER_UNLEASH : UnleashReason.HOLDER_GONE)); // CraftBukkit
- this.dropLeash(true, true);
- this.dropLeash(true, !this.leashHolder.pluginRemoved);// CraftBukkit - SPIGOT-7487: Don't drop leash, when the holder was removed by a plugin
+ // Paper start - drop leash variable
+ EntityUnleashEvent event = new EntityUnleashEvent(this.getBukkitEntity(), (!this.isAlive()) ? EntityUnleashEvent.UnleashReason.PLAYER_UNLEASH : EntityUnleashEvent.UnleashReason.HOLDER_GONE, true);
+ EntityUnleashEvent event = new EntityUnleashEvent(this.getBukkitEntity(), (!this.isAlive()) ? EntityUnleashEvent.UnleashReason.PLAYER_UNLEASH : EntityUnleashEvent.UnleashReason.HOLDER_GONE, !this.leashHolder.pluginRemoved);
+ this.level().getCraftServer().getPluginManager().callEvent(event); // CraftBukkit
+ this.dropLeash(true, event.isDropLeash());
+ // Paper end

View file

@ -39,7 +39,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ }
// Paper end
public net.minecraft.world.item.enchantment.Enchantment getHandle() {
@Override
diff --git a/src/test/java/io/papermc/paper/world/TranslationKeyTest.java b/src/test/java/io/papermc/paper/world/TranslationKeyTest.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/test/java/io/papermc/paper/world/TranslationKeyTest.java

View file

@ -0,0 +1,26 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: BrodyBeckwith <brody@beckwith.dev>
Date: Fri, 9 Oct 2020 20:30:12 -0400
Subject: [PATCH] Allow disabling mob spawner spawn egg transformation
diff --git a/src/main/java/net/minecraft/world/item/SpawnEggItem.java b/src/main/java/net/minecraft/world/item/SpawnEggItem.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/net/minecraft/world/item/SpawnEggItem.java
+++ b/src/main/java/net/minecraft/world/item/SpawnEggItem.java
@@ -0,0 +0,0 @@ public class SpawnEggItem extends Item {
EntityType entitytypes;
if (tileentity instanceof Spawner) {
+ if (!world.paperConfig().entities.spawning.disableMobSpawnerSpawnEggTransformation) { // Paper - add condition
Spawner spawner = (Spawner) tileentity;
entitytypes = this.getType(itemstack.getTag());
@@ -0,0 +0,0 @@ public class SpawnEggItem extends Item {
world.gameEvent((Entity) context.getPlayer(), GameEvent.BLOCK_CHANGE, blockposition);
itemstack.shrink(1);
return InteractionResult.CONSUME;
+ } // Paper - end if
} else {
BlockPos blockposition1;

View file

@ -11,7 +11,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
@@ -0,0 +0,0 @@ public class ServerPlayer extends Player {
public boolean isRealPlayer; // Paper
public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet<ServerPlayer> cachedSingleHashSet; // Paper
public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper
public com.destroystokyo.paper.event.entity.PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper
+ public @Nullable String clientBrandName = null; // Paper - Brand name
// Paper start - replace player chunk loader

View file

@ -8,7 +8,7 @@ diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/jav
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -0,0 +0,0 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -0,0 +0,0 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
}
public boolean isPushable() {
@ -32,11 +32,10 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ // Paper start - ignoreClimbing param
+ return pushable(entity, false);
+ }
+
+ public static Predicate<Entity> pushable(Entity entity, boolean ignoreClimbing) {
+ // Paper end
Team scoreboardteambase = entity.getTeam();
Team.CollisionRule scoreboardteambase_enumteampush = scoreboardteambase == null ? Team.CollisionRule.ALWAYS : scoreboardteambase.getCollisionRule();
PlayerTeam scoreboardteam = entity.getTeam();
Team.CollisionRule scoreboardteambase_enumteampush = scoreboardteam == null ? Team.CollisionRule.ALWAYS : scoreboardteam.getCollisionRule();
return (Predicate) (scoreboardteambase_enumteampush == Team.CollisionRule.NEVER ? Predicates.alwaysFalse() : EntitySelector.NO_SPECTATORS.and((entity1) -> {
- if (!entity1.canCollideWithBukkit(entity) || !entity.canCollideWithBukkit(entity1)) { // CraftBukkit - collidable API
@ -133,7 +132,7 @@ diff --git a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.j
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
+++ b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
@@ -0,0 +0,0 @@ public abstract class AbstractMinecart extends Entity {
@@ -0,0 +0,0 @@ public abstract class AbstractMinecart extends VehicleEntity {
}
@Override
@ -146,7 +145,7 @@ diff --git a/src/main/java/net/minecraft/world/entity/vehicle/Boat.java b/src/ma
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/net/minecraft/world/entity/vehicle/Boat.java
+++ b/src/main/java/net/minecraft/world/entity/vehicle/Boat.java
@@ -0,0 +0,0 @@ public class Boat extends Entity implements VariantHolder<Boat.Type> {
@@ -0,0 +0,0 @@ public class Boat extends VehicleEntity implements VariantHolder<Boat.Type> {
}
@Override

View file

@ -8,7 +8,7 @@ diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/jav
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -0,0 +0,0 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -0,0 +0,0 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
public void push(Entity entity) {
if (!this.isPassengerOfSameVehicle(entity)) {
if (!entity.noPhysics && !this.noPhysics) {
@ -20,7 +20,7 @@ diff --git a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.j
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
+++ b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
@@ -0,0 +0,0 @@ public abstract class AbstractMinecart extends Entity {
@@ -0,0 +0,0 @@ public abstract class AbstractMinecart extends VehicleEntity {
public void push(Entity entity) {
if (!this.level().isClientSide) {
if (!entity.noPhysics && !this.noPhysics) {
@ -32,7 +32,7 @@ diff --git a/src/main/java/net/minecraft/world/entity/vehicle/Boat.java b/src/ma
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/net/minecraft/world/entity/vehicle/Boat.java
+++ b/src/main/java/net/minecraft/world/entity/vehicle/Boat.java
@@ -0,0 +0,0 @@ public class Boat extends Entity implements VariantHolder<Boat.Type> {
@@ -0,0 +0,0 @@ public class Boat extends VehicleEntity implements VariantHolder<Boat.Type> {
@Override
public void push(Entity entity) {

View file

@ -8,7 +8,7 @@ diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/jav
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -0,0 +0,0 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -0,0 +0,0 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
public static int nextEntityId() {
return ENTITY_COUNTER.incrementAndGet();
}

View file

@ -9,7 +9,7 @@ diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/jav
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -0,0 +0,0 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -0,0 +0,0 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
void accept(Entity entity, double x, double y, double z);
}

View file

@ -47,9 +47,6 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ tracker.criterionData.remove(this); // Paper - fix AdvancementDataPlayer leak
}
protected abstract T createInstance(JsonObject obj, Optional<ContextAwarePredicate> predicate, DeserializationContext predicateDeserializer);
@@ -0,0 +0,0 @@ public abstract class SimpleCriterionTrigger<T extends SimpleCriterionTrigger.Si
protected void trigger(ServerPlayer player, Predicate<T> predicate) {
PlayerAdvancements playerAdvancements = player.getAdvancements();
- Set<CriterionTrigger.Listener<T>> set = this.players.get(playerAdvancements);

View file

@ -34,7 +34,7 @@ diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/jav
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -0,0 +0,0 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -0,0 +0,0 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
// CraftBukkit start
private static final int CURRENT_LEVEL = 2;
@ -42,7 +42,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
static boolean isLevelAtLeast(CompoundTag tag, int level) {
return tag.contains("Bukkit.updateLevel") && tag.getInt("Bukkit.updateLevel") >= level;
}
@@ -0,0 +0,0 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -0,0 +0,0 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
}
public void moveTo(double x, double y, double z, float yaw, float pitch) {

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