mirror of
https://github.com/PaperMC/Paper.git
synced 2025-02-16 18:31:53 +01:00
patches ...
This commit is contained in:
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
|
@ -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
|
||||
|
|
@ -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) {
|
|
@ -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
|
|
@ -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
|
|
@ -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;
|
||||
|
|
@ -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
|
|
@ -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
|
|
@ -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) {
|
|
@ -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();
|
||||
}
|
|
@ -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);
|
||||
}
|
|
@ -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);
|
|
@ -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
Loading…
Add table
Reference in a new issue