p a t c h e s

This commit is contained in:
Jason Penilla 2023-12-05 21:49:31 -07:00
parent 2053d6ace7
commit 29e137669e
No known key found for this signature in database
GPG key ID: 0E75A301420E48F8
24 changed files with 68 additions and 68 deletions

View file

@ -7,10 +7,10 @@ Subject: [PATCH] Add methods to find targets for lightning strikes
public net.minecraft.server.level.ServerLevel findLightningRod(Lnet/minecraft/core/BlockPos;)Ljava/util/Optional;
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 4cc1cd4924aed4fddd46db9f8c76e45e7bfc661a..dceddff95dd9b152e25f656b95cc71025a123099 100644
index d2e173c644ca005afd124b30566a01c22bcb7e0e..d5709319497a5589665388afd61307dc7755332d 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -976,6 +976,11 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -994,6 +994,11 @@ public class ServerLevel extends Level implements WorldGenLevel {
}
protected BlockPos findLightningTargetAround(BlockPos pos) {
@ -22,7 +22,7 @@ index 4cc1cd4924aed4fddd46db9f8c76e45e7bfc661a..dceddff95dd9b152e25f656b95cc7102
BlockPos blockposition1 = this.getHeightmapPos(Heightmap.Types.MOTION_BLOCKING, pos);
Optional<BlockPos> optional = this.findLightningRod(blockposition1);
@@ -990,6 +995,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -1008,6 +1013,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
if (!list.isEmpty()) {
return ((LivingEntity) list.get(this.random.nextInt(list.size()))).blockPosition();
} else {
@ -31,10 +31,10 @@ index 4cc1cd4924aed4fddd46db9f8c76e45e7bfc661a..dceddff95dd9b152e25f656b95cc7102
blockposition1 = blockposition1.above(2);
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 40cf3f53f46537bfa4fb4c2bedc93cc840084606..874fdf7c0e710e5f685c592ff341025f852bc4b0 100644
index a5a6a1a946451e3f3f4f88eccb30eb3e870c58de..19db9c2447ffc2321e2f8a3b86f561d29b9eb6de 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -701,6 +701,23 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -702,6 +702,23 @@ public class CraftWorld extends CraftRegionAccessor implements World {
return (LightningStrike) lightning.getBukkitEntity();
}

View file

@ -81,10 +81,10 @@ index 0000000000000000000000000000000000000000..68044b8439c302114240d0ae4da93ab3
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
index 9c06e1b5853de70eb9fad444b2a97acd25328bc4..19c07e2c4b6010bf673f79e58fdbaa41275c4fba 100644
index 5045af60302e1929d9f904cb74214c3c15cfe60d..33988ab25aba60c75bffbd39da5562333875d0c1 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -563,6 +563,18 @@ public final class CraftMagicNumbers implements UnsafeValues {
@@ -560,6 +560,18 @@ public final class CraftMagicNumbers implements UnsafeValues {
public int getProtocolVersion() {
return net.minecraft.SharedConstants.getCurrentVersion().getProtocolVersion();
}

View file

@ -84,16 +84,16 @@ index 0000000000000000000000000000000000000000..1705f65d897114dd0813f6d366124cef
+ }
+}
diff --git a/src/main/java/net/minecraft/advancements/DisplayInfo.java b/src/main/java/net/minecraft/advancements/DisplayInfo.java
index a6ea13198a2de14d57472681b5a2b30baf3c4280..11b26d14b863075d776884544629cdd23f219298 100644
index d357deb8a9e1d4043f5fb3302b957b20ffc0cc32..d83acd5eac3d7d1893b1b97ab0b0764c06da016b 100644
--- a/src/main/java/net/minecraft/advancements/DisplayInfo.java
+++ b/src/main/java/net/minecraft/advancements/DisplayInfo.java
@@ -29,6 +29,7 @@ public class DisplayInfo {
@@ -24,6 +24,7 @@ public class DisplayInfo {
private final boolean hidden;
private float x;
private float y;
+ public final io.papermc.paper.advancement.AdvancementDisplay paper = new io.papermc.paper.advancement.PaperAdvancementDisplay(this); // Paper
public DisplayInfo(ItemStack icon, Component title, Component description, @Nullable ResourceLocation background, FrameType frame, boolean showToast, boolean announceToChat, boolean hidden) {
public DisplayInfo(ItemStack icon, Component title, Component description, Optional<ResourceLocation> background, AdvancementType frame, boolean showToast, boolean announceToChat, boolean hidden) {
this.title = title;
diff --git a/src/main/java/org/bukkit/craftbukkit/advancement/CraftAdvancement.java b/src/main/java/org/bukkit/craftbukkit/advancement/CraftAdvancement.java
index 52baf818579a6841b77ff80e42f4f1b9f635ea08..bd640e0d8d796ee114ff787def7e07edbeffc0a5 100644
@ -152,7 +152,7 @@ index 52baf818579a6841b77ff80e42f4f1b9f635ea08..bd640e0d8d796ee114ff787def7e07ed
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/advancement/CraftAdvancementDisplay.java b/src/main/java/org/bukkit/craftbukkit/advancement/CraftAdvancementDisplay.java
index 4aa8cda2bf72627b153e636a408fb3971caf2309..e29d7c6e1cef10a76c8630855fada11cee583d30 100644
index 8ca86852319d7463f60832bc98b825b0b4325995..62ada73302c6b3ce3fb2dcc8c31a1d9c0ac4fd09 100644
--- a/src/main/java/org/bukkit/craftbukkit/advancement/CraftAdvancementDisplay.java
+++ b/src/main/java/org/bukkit/craftbukkit/advancement/CraftAdvancementDisplay.java
@@ -6,6 +6,7 @@ import org.bukkit.craftbukkit.inventory.CraftItemStack;
@ -164,7 +164,7 @@ index 4aa8cda2bf72627b153e636a408fb3971caf2309..e29d7c6e1cef10a76c8630855fada11c
private final DisplayInfo handle;
diff --git a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java
index e0c1131687fffd7f215505caafe6ef2292ac8672..51e60a68484b590906d83541e56f31305e683bc0 100644
index 812819e814cfbdb542051a7dbfe123d3c59e66bd..61d00421b295103a6964b22fe0dfaf097bd7a671 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java
@@ -56,6 +56,7 @@ public class Commodore
@ -175,7 +175,7 @@ index e0c1131687fffd7f215505caafe6ef2292ac8672..51e60a68484b590906d83541e56f3130
private static final Map<String, String> SEARCH_AND_REMOVE = initReplacementsMap();
private static Map<String, String> initReplacementsMap()
{
@@ -454,6 +455,11 @@ public class Commodore
@@ -457,6 +458,11 @@ public class Commodore
super.visitMethodInsn(opcode, owner, name, "()Lcom/destroystokyo/paper/profile/PlayerProfile;", itf);
return;
}

View file

@ -5,10 +5,10 @@ Subject: [PATCH] Add ItemFactory#getSpawnEgg API
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
index 2251c06ae08a846129b1cef4842c112708a6ecf4..50fa1f903b99edadaa3470c2a6e15a32ff23bc85 100644
index 866106d0d773e407a0cdd8614818cba4ab910040..259489c7d0f4b5ce3e8f4294f4f853e9b51ded0b 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
@@ -567,4 +567,19 @@ public final class CraftItemFactory implements ItemFactory {
@@ -570,4 +570,19 @@ public final class CraftItemFactory implements ItemFactory {
new net.md_5.bungee.api.chat.TextComponent(customName));
}
// Paper end - bungee hover events
@ -29,10 +29,10 @@ index 2251c06ae08a846129b1cef4842c112708a6ecf4..50fa1f903b99edadaa3470c2a6e15a32
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java
index 51e60a68484b590906d83541e56f31305e683bc0..1f30da05f0dd1d0f67ff7ec544e8f8455e2ef516 100644
index 61d00421b295103a6964b22fe0dfaf097bd7a671..2a75bd263dce91bc64601f96b622ed6d4fb18fe6 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java
@@ -461,6 +461,16 @@ public class Commodore
@@ -464,6 +464,16 @@ public class Commodore
return;
}
// Paper end

View file

@ -28,10 +28,10 @@ index df8c88bfa749e02f633350446101dcce05db7ac1..1a0f86b5a632469942e33c237c247d2d
+ // Paper end
}
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index 4bbd46618ec0f00e0aee7f681335bcbdb375c439..8dd7a1405997a7e90aab01ca7c20a616b15ca761 100644
index e77a2d3a321313e8476068d895dfb39cb152f7e6..9193e0fb5c2a545907c084322b548722312a5583 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -1268,7 +1268,7 @@ public abstract class Player extends LivingEntity {
@@ -1263,7 +1263,7 @@ public abstract class Player extends LivingEntity {
flag1 = true;
}
@ -40,7 +40,7 @@ index 4bbd46618ec0f00e0aee7f681335bcbdb375c439..8dd7a1405997a7e90aab01ca7c20a616
flag2 = flag2 && !this.level().paperConfig().entities.behavior.disablePlayerCrits; // Paper
flag2 = flag2 && !this.isSprinting();
@@ -1308,7 +1308,7 @@ public abstract class Player extends LivingEntity {
@@ -1303,7 +1303,7 @@ public abstract class Player extends LivingEntity {
}
Vec3 vec3d = target.getDeltaMovement();
@ -49,7 +49,7 @@ index 4bbd46618ec0f00e0aee7f681335bcbdb375c439..8dd7a1405997a7e90aab01ca7c20a616
if (flag5) {
if (i > 0) {
@@ -1336,7 +1336,7 @@ public abstract class Player extends LivingEntity {
@@ -1331,7 +1331,7 @@ public abstract class Player extends LivingEntity {
if (entityliving != this && entityliving != target && !this.isAlliedTo((Entity) entityliving) && (!(entityliving instanceof ArmorStand) || !((ArmorStand) entityliving).isMarker()) && this.distanceToSqr((Entity) entityliving) < 9.0D) {
// CraftBukkit start - Only apply knockback if the damage hits
@ -59,19 +59,19 @@ index 4bbd46618ec0f00e0aee7f681335bcbdb375c439..8dd7a1405997a7e90aab01ca7c20a616
}
// CraftBukkit end
diff --git a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
index 53de7f516aee20cb7b5db0648dea1c38d74e5d96..df7e044a585579534b3cad260abd74c945911dff 100644
index 004c130fc03dc01ef75fabdb4ef1ef711e33cb95..ae4319c2532855315bc45995a39d7eb98961b939 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
@@ -372,6 +372,7 @@ public abstract class AbstractArrow extends Projectile {
@@ -379,6 +379,7 @@ public abstract class AbstractArrow extends Projectile {
}
}
+ if (this.isCritArrow()) damagesource = damagesource.critical(); // Paper - add critical damage API
boolean flag = entity.getType() == EntityType.ENDERMAN;
int k = entity.getRemainingFireTicks();
boolean flag1 = entity.getType().is(EntityTypeTags.DEFLECTS_ARROWS);
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index e09fe6cb64556820fe50e5a771c9f91eebdb8da4..b0062d414cec76c47ab6b30738706d1e9ed3646c 100644
index 9bb9be0c73386c3f1c49f8831402789e92e23c0f..cc679e7042c5a5fba2ce34598f2c1eaf49bb065f 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1046,7 +1046,7 @@ public class CraftEventFactory {

View file

@ -7,10 +7,10 @@ Subject: [PATCH] Add isCollidable methods to various places
public net.minecraft.world.level.block.state.BlockBehaviour hasCollision
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
index 29be71311755de77ce854f874b1fe2b093b997cf..6027b675ca032d7c8f6d43624dcfca69d26849ff 100644
index ce297420f695404356655b1df2847a32fb98ec59..068b3735b6c50a7a2053c7dc39856f728fb7218a 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
@@ -456,6 +456,11 @@ public class CraftBlock implements Block {
@@ -457,6 +457,11 @@ public class CraftBlock implements Block {
public boolean isSolid() {
return this.getNMS().blocksMotion();
}
@ -39,10 +39,10 @@ index aca63719790429d3d7c7c59a1931a98221c70fc0..31bb92c026a4a2de0e8d3500f6ecf35b
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
index 19c07e2c4b6010bf673f79e58fdbaa41275c4fba..4e4852a1973df20023b7213b18b032d7244a4c1f 100644
index 33988ab25aba60c75bffbd39da5562333875d0c1..da0d44cf18888945ed24d941af0f1a3562156e50 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -575,6 +575,12 @@ public final class CraftMagicNumbers implements UnsafeValues {
@@ -572,6 +572,12 @@ public final class CraftMagicNumbers implements UnsafeValues {
var supplier = net.minecraft.world.entity.ai.attributes.DefaultAttributes.getSupplier((net.minecraft.world.entity.EntityType<? extends net.minecraft.world.entity.LivingEntity>) net.minecraft.core.registries.BuiltInRegistries.ENTITY_TYPE.get(CraftNamespacedKey.toMinecraft(bukkitEntityKey)));
return new io.papermc.paper.attribute.UnmodifiableAttributeMap(supplier);
}

View file

@ -6,7 +6,7 @@ Subject: [PATCH] Add API for resetting a single score
It was only possible to reset all scores for a specific entry, instead of resetting only specific scores.
diff --git a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScore.java b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScore.java
index 510f5ce6c4ea16b5ef5b6942311aa6f43b0083be..552a548d5fc72707a3ab56595c1586c0cf70e836 100644
index a7f53c135bae2a464e7cd28bf8e990d692c63d63..426a99e839986eb9c25cf4e65191f5a5a1efab6c 100644
--- a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScore.java
+++ b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScore.java
@@ -68,4 +68,12 @@ final class CraftScore implements Score {

View file

@ -7,10 +7,10 @@ Subject: [PATCH] Add Raw Byte Entity Serialization
public net.minecraft.world.entity.Entity setLevel(Lnet/minecraft/world/level/Level;)V
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 44c63a57cc6bb992ae6788e23cc23300d43430f0..80ab060e9252d3284f9696ef739e96a35fead3e4 100644
index 5f642ba64877a3ba53f69b8cffd99ed8c56a3d3f..430f36da1e40d8427f24994ab16e68da79f575d2 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2146,6 +2146,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -2157,6 +2157,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
}
}
@ -27,10 +27,10 @@ index 44c63a57cc6bb992ae6788e23cc23300d43430f0..80ab060e9252d3284f9696ef739e96a3
return this.isPassenger() ? false : this.saveAsPassenger(nbt);
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
index af7fec4029a5b6cd11a401d31b327c32ba79667b..0c0e3727cc1d911a9949fcaf6dcd0820b172edc0 100644
index 6065336cd30e6400bd8875768f06c44a4be0a1e1..32fd3b7067894bc442bc5a74dbcf60164a8fd70f 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -1387,5 +1387,15 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
@@ -1431,5 +1431,15 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
}
return set;
}
@ -47,10 +47,10 @@ index af7fec4029a5b6cd11a401d31b327c32ba79667b..0c0e3727cc1d911a9949fcaf6dcd0820
// Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
index 4e4852a1973df20023b7213b18b032d7244a4c1f..170fd09370ebf8c14116933fd505c8096904a281 100644
index da0d44cf18888945ed24d941af0f1a3562156e50..ef59fcd13f8835001fcc6fba6165ffd6c35784fa 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -486,6 +486,29 @@ public final class CraftMagicNumbers implements UnsafeValues {
@@ -483,6 +483,29 @@ public final class CraftMagicNumbers implements UnsafeValues {
return CraftItemStack.asCraftMirror(net.minecraft.world.item.ItemStack.of(ca.spottedleaf.dataconverter.minecraft.MCDataConverter.convertTag(ca.spottedleaf.dataconverter.minecraft.datatypes.MCTypeRegistry.ITEM_STACK, compound, dataVersion, getDataVersion())));
}

View file

@ -33,10 +33,10 @@ index 899008b2980d13f1be6280cd8cb959c53a29bebf..f875507241ac6769545e91cd3285232b
private RedirectModifier<S> modifier = null;
private boolean forks;
diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java
index 5fd7e5aa0644fda8e2f7f57eef9a6f0011534cb9..b201fd131864751bea1e926c6b23f9742eae1c8e 100644
index 094eb2d3aff11c861490e04cc054918bff5e2d87..154cbcab900f4697f280a88d6307682a26f46bfc 100644
--- a/src/main/java/net/minecraft/commands/Commands.java
+++ b/src/main/java/net/minecraft/commands/Commands.java
@@ -237,6 +237,13 @@ public class Commands {
@@ -257,6 +257,13 @@ public class Commands {
}
this.vanillaCommandNodes.addAll(this.dispatcher.getRoot().getChildren()); // Paper

View file

@ -9,10 +9,10 @@ chunk through it. This should also be OK from a leak prevention/
state desync POV because the TE is getting unloaded anyways.
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index dceddff95dd9b152e25f656b95cc71025a123099..d65e3cfeb8c6e7d26c03af8870d328c2f4094541 100644
index d5709319497a5589665388afd61307dc7755332d..938a07d2e90ea2516b064d930b38e8908be91055 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -1555,9 +1555,13 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -1574,9 +1574,13 @@ public class ServerLevel extends Level implements WorldGenLevel {
// Spigot Start
for (net.minecraft.world.level.block.entity.BlockEntity tileentity : chunk.getBlockEntities().values()) {
if (tileentity instanceof net.minecraft.world.Container) {
@ -28,10 +28,10 @@ index dceddff95dd9b152e25f656b95cc71025a123099..d65e3cfeb8c6e7d26c03af8870d328c2
}
// Spigot End
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index c358a078bdbb672b41f606cf83353fc35bcb4b15..0ee7c54e4e46bc35e5a7b01ddd408bdbe0e3d1c1 100644
index b1be9c5d7346841ea4c0f9b8aec5e7c4d9367dc8..5035609b0a4160c2671ee9939e2d8bbf17749370 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1617,6 +1617,18 @@ public class ServerPlayer extends Player {
@@ -1629,6 +1629,18 @@ public class ServerPlayer extends Player {
this.connection.send(new ClientboundContainerClosePacket(this.containerMenu.containerId));
this.doCloseContainer();
}
@ -51,7 +51,7 @@ index c358a078bdbb672b41f606cf83353fc35bcb4b15..0ee7c54e4e46bc35e5a7b01ddd408bdb
@Override
public void doCloseContainer() {
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index 8dd7a1405997a7e90aab01ca7c20a616b15ca761..85799b95bab12b5a060246f20364e9440e56a3ed 100644
index 9193e0fb5c2a545907c084322b548722312a5583..bce494bb7bc1ce20809ac7d355f04aa7aad78308 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -508,6 +508,11 @@ public abstract class Player extends LivingEntity {

View file

@ -7,10 +7,10 @@ Separate lookup and state access locks prevent lookups
from stalling simple state access/write calls
diff --git a/src/main/java/net/minecraft/server/players/GameProfileCache.java b/src/main/java/net/minecraft/server/players/GameProfileCache.java
index eac9658fa4cab7a651e10e4e18c679e040e4aed0..f4d903ed4342c3100c30deda291dfd6dd4e1ef40 100644
index 4dc08b0abf0a1edb51cc586d1a89444ba790ca7f..13e05a9e42ba89d37c423d819da33f2f67fa9eac 100644
--- a/src/main/java/net/minecraft/server/players/GameProfileCache.java
+++ b/src/main/java/net/minecraft/server/players/GameProfileCache.java
@@ -60,6 +60,11 @@ public class GameProfileCache {
@@ -61,6 +61,11 @@ public class GameProfileCache {
@Nullable
private Executor executor;
@ -22,7 +22,7 @@ index eac9658fa4cab7a651e10e4e18c679e040e4aed0..f4d903ed4342c3100c30deda291dfd6d
public GameProfileCache(GameProfileRepository profileRepository, File cacheFile) {
this.profileRepository = profileRepository;
this.file = cacheFile;
@@ -67,11 +72,13 @@ public class GameProfileCache {
@@ -68,11 +73,13 @@ public class GameProfileCache {
}
private void safeAdd(GameProfileCache.GameProfileInfo entry) {
@ -36,7 +36,7 @@ index eac9658fa4cab7a651e10e4e18c679e040e4aed0..f4d903ed4342c3100c30deda291dfd6d
}
private static Optional<GameProfile> lookupGameProfile(GameProfileRepository repository, String name) {
@@ -126,17 +133,20 @@ public class GameProfileCache {
@@ -129,17 +136,20 @@ public class GameProfileCache {
// Paper start
public @Nullable GameProfile getProfileIfCached(String name) {
@ -57,7 +57,7 @@ index eac9658fa4cab7a651e10e4e18c679e040e4aed0..f4d903ed4342c3100c30deda291dfd6d
GameProfileCache.GameProfileInfo usercache_usercacheentry = (GameProfileCache.GameProfileInfo) this.profilesByName.get(s1);
boolean flag = false;
@@ -152,8 +162,12 @@ public class GameProfileCache {
@@ -155,8 +165,12 @@ public class GameProfileCache {
if (usercache_usercacheentry != null) {
usercache_usercacheentry.setLastAccess(this.getNextOperation());
optional = Optional.of(usercache_usercacheentry.getProfile());
@ -70,7 +70,7 @@ index eac9658fa4cab7a651e10e4e18c679e040e4aed0..f4d903ed4342c3100c30deda291dfd6d
if (optional.isPresent()) {
this.add((GameProfile) optional.get());
flag = false;
@@ -165,6 +179,7 @@ public class GameProfileCache {
@@ -168,6 +182,7 @@ public class GameProfileCache {
}
return optional;
@ -78,7 +78,7 @@ index eac9658fa4cab7a651e10e4e18c679e040e4aed0..f4d903ed4342c3100c30deda291dfd6d
}
public CompletableFuture<Optional<GameProfile>> getAsync(String username) {
@@ -189,6 +204,7 @@ public class GameProfileCache {
@@ -192,6 +207,7 @@ public class GameProfileCache {
}
public Optional<GameProfile> get(UUID uuid) {
@ -86,7 +86,7 @@ index eac9658fa4cab7a651e10e4e18c679e040e4aed0..f4d903ed4342c3100c30deda291dfd6d
GameProfileCache.GameProfileInfo usercache_usercacheentry = (GameProfileCache.GameProfileInfo) this.profilesByUUID.get(uuid);
if (usercache_usercacheentry == null) {
@@ -197,6 +213,7 @@ public class GameProfileCache {
@@ -200,6 +216,7 @@ public class GameProfileCache {
usercache_usercacheentry.setLastAccess(this.getNextOperation());
return Optional.of(usercache_usercacheentry.getProfile());
}
@ -94,7 +94,7 @@ index eac9658fa4cab7a651e10e4e18c679e040e4aed0..f4d903ed4342c3100c30deda291dfd6d
}
public void setExecutor(Executor executor) {
@@ -277,7 +294,7 @@ public class GameProfileCache {
@@ -280,7 +297,7 @@ public class GameProfileCache {
JsonArray jsonarray = new JsonArray();
DateFormat dateformat = GameProfileCache.createDateFormat();
@ -103,7 +103,7 @@ index eac9658fa4cab7a651e10e4e18c679e040e4aed0..f4d903ed4342c3100c30deda291dfd6d
jsonarray.add(GameProfileCache.writeGameProfile(usercache_usercacheentry, dateformat));
});
String s = this.gson.toJson(jsonarray);
@@ -318,8 +335,19 @@ public class GameProfileCache {
@@ -321,8 +338,19 @@ public class GameProfileCache {
}
private Stream<GameProfileCache.GameProfileInfo> getTopMRUProfiles(int limit) {

View file

@ -17,10 +17,10 @@ Async catch modifications to critical entity state
Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index f9c9c3b2f9c6796e4799a829dffc86b90b62559f..e6251951d677e2ac71e738070914997e01086be0 100644
index 711842dda404b5e0ecbb753ce08dfdf70b556c20..ef031bf9df047534e154fb3b288d76df3bed89cc 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1544,6 +1544,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -1571,6 +1571,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
public void internalTeleport(double d0, double d1, double d2, float f, float f1, Set<RelativeMovement> set) { // Paper
@ -29,10 +29,10 @@ index f9c9c3b2f9c6796e4799a829dffc86b90b62559f..e6251951d677e2ac71e738070914997e
if (player.isRemoved()) {
LOGGER.info("Attempt to teleport removed player {} restricted", player.getScoreboardName());
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index eca3c85b2b24a59b6c3b316e2535f2a4354f50f9..bbeb81980b847a65f8d57eb6caf26aae63ee2061 100644
index b0e8a2f4a223cfe3652ad45c26bcf96f21bb7853..46e3f01c2158ec327a0daa232be1e7fb6d40a90e 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1119,7 +1119,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -1118,7 +1118,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
public boolean addEffect(MobEffectInstance mobeffect, @Nullable Entity entity, EntityPotionEffectEvent.Cause cause) {
@ -42,7 +42,7 @@ index eca3c85b2b24a59b6c3b316e2535f2a4354f50f9..bbeb81980b847a65f8d57eb6caf26aae
this.effectsToProcess.add(new ProcessableEffect(mobeffect, cause));
return true;
diff --git a/src/main/java/net/minecraft/world/level/entity/PersistentEntitySectionManager.java b/src/main/java/net/minecraft/world/level/entity/PersistentEntitySectionManager.java
index 47bab513feec217d875192afef61f3af95b93d24..d3fb277878adb26c7d80cf21f27070380fdfacd1 100644
index bbbf6dd8e566ecdca8794e3b03765fe7e426a2bd..66ab901956ca394c251c420338643d39817a1b7e 100644
--- a/src/main/java/net/minecraft/world/level/entity/PersistentEntitySectionManager.java
+++ b/src/main/java/net/minecraft/world/level/entity/PersistentEntitySectionManager.java
@@ -77,6 +77,7 @@ public class PersistentEntitySectionManager<T extends EntityAccess> implements A
@ -149,7 +149,7 @@ index 47bab513feec217d875192afef61f3af95b93d24..d3fb277878adb26c7d80cf21f2707038
LongSet longset = this.getAllChunksToSave();
while (!longset.isEmpty()) {
@@ -446,6 +460,7 @@ public class PersistentEntitySectionManager<T extends EntityAccess> implements A
@@ -451,6 +465,7 @@ public class PersistentEntitySectionManager<T extends EntityAccess> implements A
long i = SectionPos.asLong(blockposition);
if (i != this.currentSectionKey) {
@ -157,7 +157,7 @@ index 47bab513feec217d875192afef61f3af95b93d24..d3fb277878adb26c7d80cf21f2707038
Visibility visibility = this.currentSection.getStatus();
if (!this.currentSection.remove(this.entity)) {
@@ -500,6 +515,7 @@ public class PersistentEntitySectionManager<T extends EntityAccess> implements A
@@ -505,6 +520,7 @@ public class PersistentEntitySectionManager<T extends EntityAccess> implements A
@Override
public void onRemove(Entity.RemovalReason reason) {
@ -166,10 +166,10 @@ index 47bab513feec217d875192afef61f3af95b93d24..d3fb277878adb26c7d80cf21f2707038
PersistentEntitySectionManager.LOGGER.warn("Entity {} wasn't found in section {} (destroying due to {})", new Object[]{this.entity, SectionPos.of(this.currentSectionKey), reason});
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
index c5f8b461b8315d3db029dea2d5f7e9a764fc3443..0faed04c7794dd4fd758a151d15ad5956e4f4907 100644
index faf32ed224f5471d8994ad09e493c1fb724904a0..68d827b95a67f2fb65ed806221bb4e7e906a05f4 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -464,6 +464,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
@@ -465,6 +465,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
@Override
public boolean addPotionEffect(PotionEffect effect, boolean force) {

View file

@ -278,10 +278,10 @@ index 9df761f5cf043e8d2dffa711c20ab32fe2992331..d08c7b0b52065980f1f13c5533ff6355
// Paper start - add parameters and int ret type
spawnCategoryForChunk(group, world, chunk, checker, runner, Integer.MAX_VALUE, null);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index b18bf7b943fe2bb009babf9414559b832a51d505..443ffc28a387c6d29f841288da1bf93e45f30c9b 100644
index 0b422ba3241b31ad9e4f227bcb5033df2545d84b..dcb3bc211b834aa6fd4cb19197debc93df3f4839 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2247,6 +2247,11 @@ public final class CraftServer implements Server {
@@ -2279,6 +2279,11 @@ public final class CraftServer implements Server {
@Override
public int getSpawnLimit(SpawnCategory spawnCategory) {
@ -294,10 +294,10 @@ index b18bf7b943fe2bb009babf9414559b832a51d505..443ffc28a387c6d29f841288da1bf93e
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 874fdf7c0e710e5f685c592ff341025f852bc4b0..e45d6bcf2d604b7412f8c19469ee6f0f9a5e727a 100644
index 19db9c2447ffc2321e2f8a3b86f561d29b9eb6de..3a5843b50a5cc5110bf484f9697674e5bfc9699f 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -1707,9 +1707,14 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -1713,9 +1713,14 @@ public class CraftWorld extends CraftRegionAccessor implements World {
Preconditions.checkArgument(spawnCategory != null, "SpawnCategory cannot be null");
Preconditions.checkArgument(CraftSpawnCategory.isValidForLimits(spawnCategory), "SpawnCategory.%s are not supported", spawnCategory);

View file

@ -13,10 +13,10 @@ Paper recently reverted this optimisation, so it's been reintroduced
here.
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index eea2b7f9c566b5a21fa7da7d1321469a12c45b5a..6bd9b680fa1e84d058ada2354fa6a5b876185dc4 100644
index 0e679bbbc000c32b840e5f3155a3c275216b20b5..58394bbf228f96f717e5318cd016caf9d2f09343 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -455,6 +455,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -458,6 +458,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@Override
public final LevelChunk getChunk(int chunkX, int chunkZ) { // Paper - final to help inline