Updated Upstream (Bukkit/CraftBukkit) (#9485)

Upstream has released updates that appear to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
82af5dc6 SPIGOT-7396: Add PlayerSignOpenEvent
3f0281ca SPIGOT-7063, PR-763: Add DragonBattle#initiateRespawn with custom EnderCrystals
f83c8df4 PR-873: Add PlayerRecipeBookClickEvent
14560d39 SPIGOT-7435: Add TeleportCause#EXIT_BED
2cc6db92 SPIGOT-7422, PR-887: Add API to set sherds on decorated pots
36022f02 PR-883: Add ItemFactory#getSpawnEgg
12eb5c46 PR-881: Update Scoreboard Javadocs, remove explicit exception throwing
f6d8d44a PR-882: Add modern time API methods to ban API
21a7b710 Upgrade some Maven plugins to reduce warnings
11fd1225 PR-886: Deprecate the SmithingRecipe constructor as it now does nothing
dbd1761d SPIGOT-7406: Improve documentation for getDragonBattle

CraftBukkit Changes:
d548daac2 SPIGOT-7446: BlockState#update not updating a spawner's type to null
70e0bc050 SPIGOT-7447: Fix --forceUpgrade
6752f1d63 SPIGOT-7396: Add PlayerSignOpenEvent
847b4cad5 SPIGOT-7063, PR-1071: Add DragonBattle#initiateRespawn with custom EnderCrystals
c335a555f PR-1212: Add PlayerRecipeBookClickEvent
4be756ecb SPIGOT-7445: Fix opening smithing inventory
db70bd6ed SPIGOT-7441: Fix issue placing certain items in creative/op
f7fa6d993 SPIGOT-7435: Add TeleportCause#EXIT_BED
b435e8e8d SPIGOT-7349: Player#setDisplayName not working when message/format unmodified
a2fafdd1d PR-1232: Re-add fix for player rotation
7cf863de1 PR-1233: Remove some old MC bug fixes now fixed in vanilla
08ec344ad Fix ChunkGenerator#generateCaves never being called
5daeb502a SPIGOT-7422, PR-1228: Add API to set sherds on decorated pots
52faa6b32 PR-1224: Add ItemFactory#getSpawnEgg
01cae71b7 SPIGOT-7429: Fix LEFT_CLICK_AIR not working for passable entities and spectators
a94277a18 PR-1223: Remove non-existent scoreboard display name/prefix/suffix limits
36b107660 PR-1225: Add modern time API methods to ban API
59ead25bc Upgrade some Maven plugins to reduce warnings
202fc5c4e Increase outdated build delay
ce545de57 SPIGOT-7398: TextDisplay#setInterpolationDuration incorrectly updates the line width

Spigot Changes:
b41c46db Rebuild patches
3374045a SPIGOT-7431: Fix EntityMountEvent returning opposite entities
0ca4eb66 Rebuild patches
This commit is contained in:
Jake Potrebic 2023-08-05 17:21:59 -07:00 committed by GitHub
parent 69a801305d
commit 2fa8efce9b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
348 changed files with 1393 additions and 1258 deletions

View file

@ -172,7 +172,7 @@ index 0000000000000000000000000000000000000000..f7d5f785f659aa905000d974f573e43f
+}
diff --git a/pom.xml b/pom.xml
deleted file mode 100644
index 76dce1e84f5f8f61a866eb3bbdc3e23cc8cc7a5a..0000000000000000000000000000000000000000
index 241fad1f18c4eaf4283b8179981d1d6e90cd746c..0000000000000000000000000000000000000000
--- a/pom.xml
+++ /dev/null
@@ -1,587 +0,0 @@
@ -462,7 +462,7 @@ index 76dce1e84f5f8f61a866eb3bbdc3e23cc8cc7a5a..00000000000000000000000000000000
- <plugin>
- <groupId>net.md-5</groupId>
- <artifactId>scriptus</artifactId>
- <version>0.4.1</version>
- <version>0.5.0</version>
- <executions>
- <execution>
- <id>ex-spigot</id>
@ -548,7 +548,7 @@ index 76dce1e84f5f8f61a866eb3bbdc3e23cc8cc7a5a..00000000000000000000000000000000
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-shade-plugin</artifactId>
- <version>3.4.1</version>
- <version>3.5.0</version>
- <executions>
- <execution>
- <phase>package</phase>

View file

@ -79,7 +79,7 @@ index f7d5f785f659aa905000d974f573e43f841e7fc0..59579c22db8e028782f284942fb1e4f9
exclude("org/bukkit/craftbukkit/inventory/ItemStack*Test.class")
}
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index 4849578ebb117e63a497a1f0365d25a140da4a3e..6c5c05efb58ba8ea919ea14a04ea7e9bc2d702b1 100644
index 23e88fde465853629c4371d1e1a44d1af493ca3e..5a39201392fefe8da495244fdbc380e882ec938f 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -209,7 +209,7 @@ public class Main {
@ -90,7 +90,7 @@ index 4849578ebb117e63a497a1f0365d25a140da4a3e..6c5c05efb58ba8ea919ea14a04ea7e9b
+ Date buildDate = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z").parse(Main.class.getPackage().getImplementationVendor()); // Paper
Calendar deadline = Calendar.getInstance();
deadline.add(Calendar.DAY_OF_YEAR, -7);
deadline.add(Calendar.DAY_OF_YEAR, -21);
diff --git a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
index 93046379d0cefd5d3236fc59e698809acdc18f80..774556a62eb240da42e84db4502e2ed43495be17 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java

View file

@ -4600,10 +4600,10 @@ index cda55e481ddbcc1de5478125c5db20ebba168e7d..bacd4d875642cd93c3185f788745dd73
this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 2f6568effdece27775cacfddf2c9657163aac6ad..81156003f28b68e420d992d6e8d57c5185a9543b 100644
index 9aa71c85b630590b49a922fcc8d4badd01d46db4..3f5d20c65d9980b57f676d56a074c8e34a0e2fc8 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -913,6 +913,7 @@ public final class CraftServer implements Server {
@@ -914,6 +914,7 @@ public final class CraftServer implements Server {
}
org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot
@ -4612,7 +4612,7 @@ index 2f6568effdece27775cacfddf2c9657163aac6ad..81156003f28b68e420d992d6e8d57c51
world.serverLevelData.setDifficulty(config.difficulty);
world.setSpawnSettings(config.spawnMonsters, config.spawnAnimals);
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index 6c5c05efb58ba8ea919ea14a04ea7e9bc2d702b1..2cd2456e73543490d98f0318883f51a7d9bcaa34 100644
index 5a39201392fefe8da495244fdbc380e882ec938f..e8fb9e3454282ad328e6bc0d078142285d9cfa76 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -141,6 +141,19 @@ public class Main {

View file

@ -94,7 +94,7 @@ index 41d6569c00db3d467f6e90d33ebd261529b89f4c..5f051cb22ae77f4d8994b07ac5b963bd
};
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 8eb949b43e8b403f3d98e36066cabd7cb9ab0e63..a9e30b7b3a666d83b3c595a7975693ccfcf3e8f9 100644
index a6e12acf65068a2eaea75a7df877f6145a229195..b45950f3fec4540f9a65c7704a34125d9e588dcb 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1775,7 +1775,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@ -201,31 +201,6 @@ index 769614aeb4ca914abcf0f770240a3d4c916f08cd..6c9d163b9f857806461dc72e54713f1a
return InteractionResult.PASS;
}
}
diff --git a/src/main/java/net/minecraft/world/level/block/SignBlock.java b/src/main/java/net/minecraft/world/level/block/SignBlock.java
index 91bb294be2cd8ab3467a62006a5a2751e0bec4ba..5ab7df0042391cb621ed78a187dc20333e344186 100644
--- a/src/main/java/net/minecraft/world/level/block/SignBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/SignBlock.java
@@ -76,18 +76,9 @@ public abstract class SignBlock extends BaseEntityBlock implements SimpleWaterlo
public InteractionResult use(BlockState state, Level world, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hit) {
ItemStack itemStack = player.getItemInHand(hand);
Item item = itemStack.getItem();
- Item signBlockEntity = itemStack.getItem();
- SignApplicator var10000;
- if (signBlockEntity instanceof SignApplicator signApplicator) {
- var10000 = signApplicator;
- } else {
- var10000 = null;
- }
-
- SignApplicator signApplicator2 = var10000;
+ SignApplicator signApplicator2 = item instanceof SignApplicator signApplicator ? signApplicator : null; // Paper - decompile fixes
boolean bl = signApplicator2 != null && player.mayBuild();
- BlockEntity bl2 = world.getBlockEntity(pos);
- if (bl2 instanceof SignBlockEntity signBlockEntity) {
+ if (world.getBlockEntity(pos) instanceof SignBlockEntity signBlockEntity) { // Paper - decompile fixes
if (!world.isClientSide) {
boolean bl2 = signBlockEntity.isFacingFrontText(player);
SignText signText = signBlockEntity.getText(bl2);
diff --git a/src/main/java/net/minecraft/world/level/block/WallHangingSignBlock.java b/src/main/java/net/minecraft/world/level/block/WallHangingSignBlock.java
index db48010e633165972d2eac339dd7d1fd5a2f5bd8..d818d3ea6d28aa6ffb62127d4efd585d6f2935d1 100644
--- a/src/main/java/net/minecraft/world/level/block/WallHangingSignBlock.java

View file

@ -68,10 +68,10 @@ index 161ad6ab1443b2ce33a2d7d91d189c855db0453b..15a9736a870055d639d03063c7cf67fd
this.registryAccess = registryManager;
this.structureTemplateManager = structureTemplateManager;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 81156003f28b68e420d992d6e8d57c5185a9543b..d4ad78d3da64bda424d754f514af192543fb6f0b 100644
index 3f5d20c65d9980b57f676d56a074c8e34a0e2fc8..b7c6c204795592dd5480338043d0da521a916190 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2354,7 +2354,13 @@ public final class CraftServer implements Server {
@@ -2355,7 +2355,13 @@ public final class CraftServer implements Server {
Preconditions.checkArgument(key != null, "NamespacedKey key cannot be null");
LootDataManager registry = this.getServer().getLootData();

View file

@ -5526,7 +5526,7 @@ index e6c4379b0fd7c1338e1713281cd9515cb54acecb..a63e7ee5c42bd51312155feab31c6ec4
throw new SkipPacketException(var10);
} else {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index a9e30b7b3a666d83b3c595a7975693ccfcf3e8f9..9b34e401040a45393afbb9e984ff421a89f744a0 100644
index b45950f3fec4540f9a65c7704a34125d9e588dcb..d2a858f4e15920649aaa39fdebfad5b50a788cc5 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -296,6 +296,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@ -6551,7 +6551,7 @@ index ebae711991a3ae35e35c2cffa8d928677c205492..7be97441aed66fa3a21d13ad2211b3e0
public ServerLevel(MinecraftServer minecraftserver, Executor executor, LevelStorageSource.LevelStorageAccess convertable_conversionsession, PrimaryLevelData iworlddataserver, ResourceKey<Level> resourcekey, LevelStem worlddimension, ChunkProgressListener worldloadlistener, boolean flag, long i, List<CustomSpawner> list, boolean flag1, @Nullable RandomSequences randomsequences, org.bukkit.World.Environment env, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider) {
// IRegistryCustom.Dimension iregistrycustom_dimension = minecraftserver.registryAccess(); // CraftBukkit - decompile error
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 4a2205fca9b9487b92b120ece69f1548bf764056..ba89c0d7ae99e53350249365d0e035e6f14e1c5f 100644
index 07220c52935369555f652bdd94692eec910d0fe2..d06430d59259849715e1457a75fd4f52406a34c2 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -255,6 +255,8 @@ public class ServerPlayer extends Player {
@ -6646,7 +6646,7 @@ index 337e0a7b3c14e1b1a28744920e0dc0a69e0c5a87..f5829ae484d93b547a5437b85a962134
@Override
public void tell(R runnable) {
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 6b94211e45eff227277b5630292a855dd0254238..923b9243d97f9a741009f443d2c126b638fbb753 100644
index 4d344101aa082c297611daa4d1b0006b85fcb7c8..78c7c779209972186b1244fb678d7208b38e30e3 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -323,6 +323,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@ -6711,10 +6711,10 @@ index a0b5895abc88d297045e05f25bb09527991d43f0..6e0bd0eab0b06a4ac3042496bbb91292
super(type, world);
this.xpReward = 5;
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
index 6e0f74b8b59923e2ecddb6720dad2ca39de91fa6..c2b93eaf73ce038559611c272b6e3ecc2bcb903b 100644
index 194c67d034daf6c584e903721aaf067a243302d5..3f18fb61a47dda559a6997af9c6c043423dd206a 100644
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
@@ -789,6 +789,25 @@ public final class ItemStack {
@@ -793,6 +793,25 @@ public final class ItemStack {
return this.tag != null ? this.tag.getList("Enchantments", 10) : new ListTag();
}
@ -6740,7 +6740,7 @@ index 6e0f74b8b59923e2ecddb6720dad2ca39de91fa6..c2b93eaf73ce038559611c272b6e3ecc
public void setTag(@Nullable CompoundTag nbt) {
this.tag = nbt;
if (this.getItem().canBeDepleted()) {
@@ -1179,6 +1198,7 @@ public final class ItemStack {
@@ -1183,6 +1202,7 @@ public final class ItemStack {
// CraftBukkit start
@Deprecated
public void setItem(Item item) {

View file

@ -1825,6 +1825,26 @@ index 825ab7534f1ad9787ae2a6c2bf9a300f52cbfc95..53be8a43d784db5e8450c242adeb06f3
+ }
+ // Paper end
}
diff --git a/src/main/java/net/minecraft/network/chat/ChatType.java b/src/main/java/net/minecraft/network/chat/ChatType.java
index 618a9335faf9df4a7d0cc971a8e62a0e3b239aa3..375b6d1d1bb491680bdb9f664ed10a9cce1a9cfa 100644
--- a/src/main/java/net/minecraft/network/chat/ChatType.java
+++ b/src/main/java/net/minecraft/network/chat/ChatType.java
@@ -26,6 +26,7 @@ public record ChatType(ChatTypeDecoration chat, ChatTypeDecoration narration) {
public static final ResourceKey<ChatType> TEAM_MSG_COMMAND_INCOMING = create("team_msg_command_incoming");
public static final ResourceKey<ChatType> TEAM_MSG_COMMAND_OUTGOING = create("team_msg_command_outgoing");
public static final ResourceKey<ChatType> EMOTE_COMMAND = create("emote_command");
+ public static final ResourceKey<ChatType> RAW = create("raw"); // Paper
private static ResourceKey<ChatType> create(String id) {
return ResourceKey.create(Registries.CHAT_TYPE, new ResourceLocation(id));
@@ -39,6 +40,7 @@ public record ChatType(ChatTypeDecoration chat, ChatTypeDecoration narration) {
messageTypeRegisterable.register(TEAM_MSG_COMMAND_INCOMING, new ChatType(ChatTypeDecoration.teamMessage("chat.type.team.text"), ChatTypeDecoration.withSender("chat.type.text.narrate")));
messageTypeRegisterable.register(TEAM_MSG_COMMAND_OUTGOING, new ChatType(ChatTypeDecoration.teamMessage("chat.type.team.sent"), ChatTypeDecoration.withSender("chat.type.text.narrate")));
messageTypeRegisterable.register(EMOTE_COMMAND, new ChatType(ChatTypeDecoration.withSender("chat.type.emote"), ChatTypeDecoration.withSender("chat.type.emote")));
+ messageTypeRegisterable.register(RAW, new ChatType(new ChatTypeDecoration("%s", java.util.List.of(ChatTypeDecoration.Parameter.CONTENT), Style.EMPTY), new ChatTypeDecoration("%s", java.util.List.of(ChatTypeDecoration.Parameter.CONTENT), Style.EMPTY))); // Paper
}
public static ChatType.Bound bind(ResourceKey<ChatType> typeKey, Entity entity) {
diff --git a/src/main/java/net/minecraft/network/chat/Component.java b/src/main/java/net/minecraft/network/chat/Component.java
index 8f5e07047f88138422ae82143a80427be869a760..37fc353c3e59dd5af2fd6c58ac084fb0e6e155d7 100644
--- a/src/main/java/net/minecraft/network/chat/Component.java
@ -2169,7 +2189,7 @@ index 5f051cb22ae77f4d8994b07ac5b963bd0ff05673..7952635a963e28cb670c8f4869664103
list.forEach((loader) -> {
Registry<?> registry = loader.getFirst();
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 9b34e401040a45393afbb9e984ff421a89f744a0..3250a9310b57351d6d832a8ef42837d990cf6c99 100644
index d2a858f4e15920649aaa39fdebfad5b50a788cc5..049755ed087a764cd1f0d7df82c21eef7538fbbf 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -194,6 +194,7 @@ import org.bukkit.craftbukkit.SpigotTimings; // Spigot
@ -2282,7 +2302,7 @@ index 9b34e401040a45393afbb9e984ff421a89f744a0..3250a9310b57351d6d832a8ef42837d9
}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index ba89c0d7ae99e53350249365d0e035e6f14e1c5f..dc87e56cfcd59bc1505f5b3c0363038e790271a0 100644
index d06430d59259849715e1457a75fd4f52406a34c2..a0856fc649c50309258f015e623502dd46aeeab4 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -161,6 +161,7 @@ import net.minecraft.world.scores.Score;
@ -2387,7 +2407,7 @@ index ba89c0d7ae99e53350249365d0e035e6f14e1c5f..dc87e56cfcd59bc1505f5b3c0363038e
// CraftBukkit end
this.chatVisibility = packet.chatVisibility();
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index ac24831757556215b0723d0fe7dc0ee0c47745db..e2c735f674db15dde5e5baea04af0a1bfb51b58c 100644
index a1a499f8b2a5a12e60b40d716dd539bc438d0128..8205b7cdc235ae7ebd4db6fe9383f5eeb0132438 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -187,6 +187,8 @@ import net.minecraft.world.phys.shapes.VoxelShape;
@ -2399,7 +2419,7 @@ index ac24831757556215b0723d0fe7dc0ee0c47745db..e2c735f674db15dde5e5baea04af0a1b
import com.mojang.datafixers.util.Pair;
import java.util.Arrays;
import java.util.concurrent.ExecutionException;
@@ -252,7 +254,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -254,7 +256,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
private static final int NO_BLOCK_UPDATES_TO_ACK = -1;
private static final int TRACKED_MESSAGE_DISCONNECT_THRESHOLD = 4096;
private static final Component CHAT_VALIDATION_FAILED = Component.translatable("multiplayer.disconnect.chat_validation_failed");
@ -2408,7 +2428,7 @@ index ac24831757556215b0723d0fe7dc0ee0c47745db..e2c735f674db15dde5e5baea04af0a1b
private final MinecraftServer server;
public ServerPlayer player;
private int tickCount;
@@ -440,14 +442,17 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -442,14 +444,17 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
return this.server.isSingleplayerOwner(this.player.getGameProfile());
}
@ -2432,7 +2452,7 @@ index ac24831757556215b0723d0fe7dc0ee0c47745db..e2c735f674db15dde5e5baea04af0a1b
// CraftBukkit start - fire PlayerKickEvent
if (this.processedDisconnect) {
return;
@@ -456,7 +461,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -458,7 +463,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
Waitable waitable = new Waitable() {
@Override
protected Object evaluate() {
@ -2441,7 +2461,7 @@ index ac24831757556215b0723d0fe7dc0ee0c47745db..e2c735f674db15dde5e5baea04af0a1b
return null;
}
};
@@ -473,9 +478,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -475,9 +480,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
return;
}
@ -2453,7 +2473,7 @@ index ac24831757556215b0723d0fe7dc0ee0c47745db..e2c735f674db15dde5e5baea04af0a1b
if (this.cserver.getServer().isRunning()) {
this.cserver.getPluginManager().callEvent(event);
@@ -487,7 +492,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -489,7 +494,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
}
this.player.kickLeaveMessage = event.getLeaveMessage(); // CraftBukkit - SPIGOT-3034: Forward leave message to PlayerQuitEvent
// Send the possibly modified leave message
@ -2462,7 +2482,7 @@ index ac24831757556215b0723d0fe7dc0ee0c47745db..e2c735f674db15dde5e5baea04af0a1b
// CraftBukkit end
this.connection.send(new ClientboundDisconnectPacket(ichatbasecomponent), PacketSendListener.thenRun(() -> {
@@ -1786,9 +1791,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -1788,9 +1793,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
*/
this.player.disconnect();
@ -2477,7 +2497,7 @@ index ac24831757556215b0723d0fe7dc0ee0c47745db..e2c735f674db15dde5e5baea04af0a1b
}
// CraftBukkit end
this.player.getTextFilter().leave();
@@ -1885,11 +1892,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -1887,11 +1894,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
}
CompletableFuture<FilteredText> completablefuture = this.filterTextPacket(playerchatmessage.signedContent());
@ -2491,7 +2511,7 @@ index ac24831757556215b0723d0fe7dc0ee0c47745db..e2c735f674db15dde5e5baea04af0a1b
this.broadcastChatMessage(playerchatmessage1);
}, this.server.chatExecutor); // CraftBukkit - async chat
@@ -1995,7 +2002,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -1997,7 +2004,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
Optional<LastSeenMessages> optional = this.unpackAndApplyLastSeen(acknowledgment);
if (this.player.isRemoved() || this.player.getChatVisibility() == ChatVisiblity.HIDDEN) { // CraftBukkit - dead men tell no tales
@ -2500,7 +2520,7 @@ index ac24831757556215b0723d0fe7dc0ee0c47745db..e2c735f674db15dde5e5baea04af0a1b
return Optional.empty();
} else {
this.player.resetLastActionTime();
@@ -2053,7 +2060,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -2055,7 +2062,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
this.handleCommand(s);
} else if (this.player.getChatVisibility() == ChatVisiblity.SYSTEM) {
// Do nothing, this is coming from a plugin
@ -2514,7 +2534,7 @@ index ac24831757556215b0723d0fe7dc0ee0c47745db..e2c735f674db15dde5e5baea04af0a1b
Player player = this.getCraftPlayer();
AsyncPlayerChatEvent event = new AsyncPlayerChatEvent(async, player, s, new LazyPlayerSet(this.server));
String originalFormat = event.getFormat(), originalMessage = event.getMessage();
@@ -2183,7 +2195,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -2179,7 +2191,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
}
});
} else if (this.player.getChatVisibility() == ChatVisiblity.SYSTEM) { // Re-add "Command Only" flag check
@ -2825,7 +2845,7 @@ index 4c62df5a3781ec9df4a5c5f1b528649e6e8a62d1..affd1b8c7589ba59330dc0b6fc803cce
}
diff --git a/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java
index f0c08f3a5094e1faaed70ffdc0eb5b6dd16ed500..8b26e90c0e7affb23fe8f92d757fe3a690b858ec 100644
index 0a4da811ff200268f40accad7d1f232c80201309..5bd28e1f475aeadaa626a4e9e9e2a1b3a28675f4 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java
@@ -211,22 +211,22 @@ public class SignBlockEntity extends BlockEntity implements CommandSource { // C
@ -2878,10 +2898,10 @@ index 614e567eb1ef10ac7514909a8425e29ac3627d3d..60596c4ac2ebb8caf19d65591624275b
}
collection = icons;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index d4ad78d3da64bda424d754f514af192543fb6f0b..1ad584aedc0212a1e65affcbb518162328042719 100644
index b7c6c204795592dd5480338043d0da521a916190..fef313265a5e3f2aea5ed8f767782f4157ec7435 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -611,8 +611,10 @@ public final class CraftServer implements Server {
@@ -612,8 +612,10 @@ public final class CraftServer implements Server {
}
@Override
@ -2892,7 +2912,7 @@ index d4ad78d3da64bda424d754f514af192543fb6f0b..1ad584aedc0212a1e65affcbb5181623
}
@Override
@@ -1468,7 +1470,15 @@ public final class CraftServer implements Server {
@@ -1469,7 +1471,15 @@ public final class CraftServer implements Server {
return this.configuration.getInt("settings.spawn-radius", -1);
}
@ -2908,7 +2928,7 @@ index d4ad78d3da64bda424d754f514af192543fb6f0b..1ad584aedc0212a1e65affcbb5181623
public String getShutdownMessage() {
return this.configuration.getString("settings.shutdown-message");
}
@@ -1636,7 +1646,20 @@ public final class CraftServer implements Server {
@@ -1637,7 +1647,20 @@ public final class CraftServer implements Server {
}
@Override
@ -2929,7 +2949,7 @@ index d4ad78d3da64bda424d754f514af192543fb6f0b..1ad584aedc0212a1e65affcbb5181623
Set<CommandSender> recipients = new HashSet<>();
for (Permissible permissible : this.getPluginManager().getPermissionSubscriptions(permission)) {
if (permissible instanceof CommandSender && permissible.hasPermission(permission)) {
@@ -1644,14 +1667,14 @@ public final class CraftServer implements Server {
@@ -1645,14 +1668,14 @@ public final class CraftServer implements Server {
}
}
@ -2946,7 +2966,7 @@ index d4ad78d3da64bda424d754f514af192543fb6f0b..1ad584aedc0212a1e65affcbb5181623
for (CommandSender recipient : recipients) {
recipient.sendMessage(message);
@@ -1914,6 +1937,14 @@ public final class CraftServer implements Server {
@@ -1915,6 +1938,14 @@ public final class CraftServer implements Server {
return CraftInventoryCreator.INSTANCE.createInventory(owner, type);
}
@ -2961,7 +2981,7 @@ index d4ad78d3da64bda424d754f514af192543fb6f0b..1ad584aedc0212a1e65affcbb5181623
@Override
public Inventory createInventory(InventoryHolder owner, InventoryType type, String title) {
Preconditions.checkArgument(type != null, "InventoryType cannot be null");
@@ -1928,13 +1959,28 @@ public final class CraftServer implements Server {
@@ -1929,13 +1960,28 @@ public final class CraftServer implements Server {
return CraftInventoryCreator.INSTANCE.createInventory(owner, size);
}
@ -2990,7 +3010,7 @@ index d4ad78d3da64bda424d754f514af192543fb6f0b..1ad584aedc0212a1e65affcbb5181623
public Merchant createMerchant(String title) {
return new CraftMerchantCustom(title == null ? InventoryType.MERCHANT.getDefaultTitle() : title);
}
@@ -1999,6 +2045,17 @@ public final class CraftServer implements Server {
@@ -2000,6 +2046,17 @@ public final class CraftServer implements Server {
return Thread.currentThread().equals(console.serverThread) || this.console.hasStopped() || !org.spigotmc.AsyncCatcher.enabled; // All bets are off if we have shut down (e.g. due to watchdog)
}
@ -3008,7 +3028,7 @@ index d4ad78d3da64bda424d754f514af192543fb6f0b..1ad584aedc0212a1e65affcbb5181623
@Override
public String getMotd() {
return this.console.getMotd();
@@ -2433,4 +2490,53 @@ public final class CraftServer implements Server {
@@ -2434,4 +2491,53 @@ public final class CraftServer implements Server {
return this.spigot;
}
// Spigot end
@ -3134,7 +3154,7 @@ index 153143b06fc088f3142a8fa17f153d8a344169d8..d01388bbadf3069357cf52463f4104a1
// Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index 2cd2456e73543490d98f0318883f51a7d9bcaa34..a210752cbf3f97b3782f85b3330972e8becfd2f3 100644
index e8fb9e3454282ad328e6bc0d078142285d9cfa76..ab22205c758768cd0c8a4fc6bca3d7de2e823078 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -20,6 +20,12 @@ public class Main {
@ -3244,10 +3264,10 @@ index 0beb96dc896f63003e1b1ae458b73902bdbe648a..102eb86bad3000f258775ac06ecd1a6d
public String getCustomName() {
EnchantmentTableBlockEntity enchant = this.getSnapshot();
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java b/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java
index 833c1a96a956503d997a80364433c45bfa7c5a96..6ca423ca58f486eec05c55faf055e0cdbabde709 100644
index 8ea2349ffcfa55bd20343edd4551aa26c88901a6..a19504cf5c98b4d8070dc1ffe322b84e1896d84a 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java
@@ -25,6 +25,23 @@ public class CraftSign<T extends SignBlockEntity> extends CraftBlockEntityState<
@@ -27,6 +27,23 @@ public class CraftSign<T extends SignBlockEntity> extends CraftBlockEntityState<
this.back = new CraftSignSide(this.getSnapshot().getBackText());
}
@ -3271,7 +3291,7 @@ index 833c1a96a956503d997a80364433c45bfa7c5a96..6ca423ca58f486eec05c55faf055e0cd
@Override
public String[] getLines() {
return this.front.getLines();
@@ -114,6 +131,20 @@ public class CraftSign<T extends SignBlockEntity> extends CraftBlockEntityState<
@@ -120,6 +137,20 @@ public class CraftSign<T extends SignBlockEntity> extends CraftBlockEntityState<
((CraftPlayer) player).getHandle().openTextEdit(handle, Side.FRONT == side);
}
@ -3653,10 +3673,10 @@ index 446fdca49a5a6999626a7ee3a1d5c168b15a09dd..f9863e138994f6c7a7975a852f106faa
public boolean isOp() {
return true;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 14bb6b7555f4e9d69b50e0c54d50e770e21d6ed5..845288cc687e7cc8a7ec2cb632c8c679dcaa3d34 100644
index 9e884e903f877f8fef036307142cee3b574e829b..498fb1db3091013cbd58aabf8361f961c8a3e755 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -292,14 +292,39 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -294,14 +294,39 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public String getDisplayName() {
@ -3696,7 +3716,7 @@ index 14bb6b7555f4e9d69b50e0c54d50e770e21d6ed5..845288cc687e7cc8a7ec2cb632c8c679
@Override
public String getPlayerListName() {
return this.getHandle().listName == null ? getName() : CraftChatMessage.fromComponent(this.getHandle().listName);
@@ -318,42 +343,42 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -320,42 +345,42 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
}
@ -3748,7 +3768,7 @@ index 14bb6b7555f4e9d69b50e0c54d50e770e21d6ed5..845288cc687e7cc8a7ec2cb632c8c679
this.getHandle().connection.send(packet);
}
@@ -385,6 +410,23 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -387,6 +412,23 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.getHandle().connection.disconnect(message == null ? "" : message);
}
@ -3772,7 +3792,7 @@ index 14bb6b7555f4e9d69b50e0c54d50e770e21d6ed5..845288cc687e7cc8a7ec2cb632c8c679
@Override
public void setCompassTarget(Location loc) {
Preconditions.checkArgument(loc != null, "Location cannot be null");
@@ -679,6 +721,24 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -681,6 +723,24 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.getHandle().connection.send(packet);
}
@ -3797,7 +3817,7 @@ index 14bb6b7555f4e9d69b50e0c54d50e770e21d6ed5..845288cc687e7cc8a7ec2cb632c8c679
@Override
public void sendSignChange(Location loc, String[] lines) {
this.sendSignChange(loc, lines, DyeColor.BLACK);
@@ -702,6 +762,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -704,6 +764,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
if (this.getHandle().connection == null) return;
Component[] components = CraftSign.sanitizeLines(lines);
@ -3809,7 +3829,7 @@ index 14bb6b7555f4e9d69b50e0c54d50e770e21d6ed5..845288cc687e7cc8a7ec2cb632c8c679
SignBlockEntity sign = new SignBlockEntity(CraftLocation.toBlockPosition(loc), Blocks.OAK_SIGN.defaultBlockState());
SignText text = sign.getFrontText();
text = text.setColor(net.minecraft.world.item.DyeColor.byId(dyeColor.getWoolData()));
@@ -711,7 +776,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -713,7 +778,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
sign.setText(text, true);
@ -3819,7 +3839,7 @@ index 14bb6b7555f4e9d69b50e0c54d50e770e21d6ed5..845288cc687e7cc8a7ec2cb632c8c679
}
@Override
@@ -1636,7 +1702,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1668,7 +1734,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void setResourcePack(String url) {
@ -3828,7 +3848,7 @@ index 14bb6b7555f4e9d69b50e0c54d50e770e21d6ed5..845288cc687e7cc8a7ec2cb632c8c679
}
@Override
@@ -1651,7 +1717,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1683,7 +1749,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void setResourcePack(String url, byte[] hash, boolean force) {
@ -3837,7 +3857,7 @@ index 14bb6b7555f4e9d69b50e0c54d50e770e21d6ed5..845288cc687e7cc8a7ec2cb632c8c679
}
@Override
@@ -1667,6 +1733,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1699,6 +1765,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
}
@ -3859,7 +3879,7 @@ index 14bb6b7555f4e9d69b50e0c54d50e770e21d6ed5..845288cc687e7cc8a7ec2cb632c8c679
public void addChannel(String channel) {
Preconditions.checkState(this.channels.size() < 128, "Cannot register channel '%s'. Too many channels registered!", channel);
channel = StandardMessenger.validateAndCorrectChannel(channel);
@@ -2065,6 +2146,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2097,6 +2178,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return (this.getHandle().clientViewDistance == null) ? Bukkit.getViewDistance() : this.getHandle().clientViewDistance;
}
@ -3872,7 +3892,7 @@ index 14bb6b7555f4e9d69b50e0c54d50e770e21d6ed5..845288cc687e7cc8a7ec2cb632c8c679
@Override
public int getPing() {
return this.getHandle().latency;
@@ -2115,6 +2202,252 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2147,6 +2234,252 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return this.getHandle().allowsListing();
}
@ -4126,7 +4146,7 @@ index 14bb6b7555f4e9d69b50e0c54d50e770e21d6ed5..845288cc687e7cc8a7ec2cb632c8c679
private final Player.Spigot spigot = new Player.Spigot()
{
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftTextDisplay.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftTextDisplay.java
index 2becf197a5c2d94f23f72a9b20cb2cd05a0807df..99096c1e3f045e4a99335faedfb8e77e99690299 100644
index 1cd2af11e8fd43ebc9fd5e0dfc53ac2de4532399..7bfb83d3ac38c5c270d77d9794a55a363ac6302b 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftTextDisplay.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftTextDisplay.java
@@ -38,6 +38,17 @@ public class CraftTextDisplay extends CraftDisplay implements TextDisplay {
@ -4148,10 +4168,10 @@ index 2becf197a5c2d94f23f72a9b20cb2cd05a0807df..99096c1e3f045e4a99335faedfb8e77e
@Override
public int getLineWidth() {
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index 41dc65eeabcece351423209c6289890bfda4de5c..8c9e545b8508172be51c9f244d7067509d32aef9 100644
index f0e5a161db33fbef97d8f29cb1ac8ea32e8e837f..db30af9b6b9e737066c8a011e4dfe377f800f523 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -851,9 +851,9 @@ public class CraftEventFactory {
@@ -877,9 +877,9 @@ public class CraftEventFactory {
return event;
}
@ -4163,7 +4183,7 @@ index 41dc65eeabcece351423209c6289890bfda4de5c..8c9e545b8508172be51c9f244d706750
event.setKeepInventory(keepInventory);
event.setKeepLevel(victim.keepLevel); // SPIGOT-2222: pre-set keepLevel
org.bukkit.World world = entity.getWorld();
@@ -878,7 +878,7 @@ public class CraftEventFactory {
@@ -904,7 +904,7 @@ public class CraftEventFactory {
* Server methods
*/
public static ServerListPingEvent callServerListPingEvent(Server craftServer, InetAddress address, String motd, int numPlayers, int maxPlayers) {
@ -4173,7 +4193,7 @@ index 41dc65eeabcece351423209c6289890bfda4de5c..8c9e545b8508172be51c9f244d706750
return event;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java
index 51caf09aa96b6e1f3e856061050fd6128fa736d9..301e89f638e38ad216d545a3cb5b7375695e6fe6 100644
index bfaa48cfda08c2716f61032b71d38285a9f715e8..1b526fff47e5a3d9a5325c73966dd2bf3dbbdc19 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java
@@ -72,6 +72,13 @@ public class CraftContainer extends AbstractContainerMenu {
@ -4295,26 +4315,26 @@ index 4dd9a80af9901287ab6740b072f2b89678c3d0cb..b2586684295b295a3196a2a9cf724cec
public String getTitle() {
return this.title;
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
index fb58cfd68c8ababbf9486c9a5a1795b1ac9d5817..b187c4f436ac44a529675869dbf5bfddc4fac86f 100644
index 87f57266d4cb3a89a38cf7871e5872d29f6d15b9..45872e28cabc655c170bee163d471acf5d913c00 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
@@ -437,4 +437,17 @@ public final class CraftItemFactory implements ItemFactory {
public Material updateMaterial(ItemMeta meta, Material material) throws IllegalArgumentException {
return ((CraftMetaItem) meta).updateMaterial(material);
@@ -456,4 +456,17 @@ public final class CraftItemFactory implements ItemFactory {
return CraftMagicNumbers.getMaterial(nmsItem);
}
+
+ // Paper start
+ // Paper start - Adventure
+ @Override
+ public net.kyori.adventure.text.event.HoverEvent<net.kyori.adventure.text.event.HoverEvent.ShowItem> asHoverEvent(final ItemStack item, final java.util.function.UnaryOperator<net.kyori.adventure.text.event.HoverEvent.ShowItem> op) {
+ final net.minecraft.nbt.CompoundTag tag = CraftItemStack.asNMSCopy(item).getTag();
+ return net.kyori.adventure.text.event.HoverEvent.showItem(op.apply(net.kyori.adventure.text.event.HoverEvent.ShowItem.of(item.getType().getKey(), item.getAmount(), io.papermc.paper.adventure.PaperAdventure.asBinaryTagHolder(tag))));
+ return net.kyori.adventure.text.event.HoverEvent.showItem(op.apply(net.kyori.adventure.text.event.HoverEvent.ShowItem.showItem(item.getType().getKey(), item.getAmount(), io.papermc.paper.adventure.PaperAdventure.asBinaryTagHolder(tag))));
+ }
+
+ @Override
+ public net.kyori.adventure.text.@org.jetbrains.annotations.NotNull Component displayName(@org.jetbrains.annotations.NotNull ItemStack itemStack) {
+ return io.papermc.paper.adventure.PaperAdventure.asAdventure(CraftItemStack.asNMSCopy(itemStack).getDisplayName());
+ }
+ // Paper end
+ // Paper end - Adventure
}
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMerchantCustom.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMerchantCustom.java
index 9e05a8515c5f6f340182e91150fcad8bbf80a22b..adf22ce4f0bcd3bd57dc2030c6c92d3df96566e3 100644
@ -4758,7 +4778,7 @@ index b47f18b1e448807a17ca9f2ae9609680233da837..9683d7d103af66fffd68c11abc38fb4f
}
diff --git a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftObjective.java b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftObjective.java
index b49cc2880fbecfd48d07c2e390c9e2aa2e09b848..de5f382656f9fd08f6ae1795c69743c604d62d5c 100644
index 6c6d41569e0c7e4d4d17b63b81b955a6dc30afa0..ef1b0b716b11327a8f2856f51545aaba355ce74e 100644
--- a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftObjective.java
+++ b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftObjective.java
@@ -31,6 +31,21 @@ final class CraftObjective extends CraftScoreboardComponent implements Objective
@ -4781,28 +4801,28 @@ index b49cc2880fbecfd48d07c2e390c9e2aa2e09b848..de5f382656f9fd08f6ae1795c69743c6
+ }
+ // Paper end
@Override
public String getDisplayName() throws IllegalStateException {
public String getDisplayName() {
this.checkState();
diff --git a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboard.java b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboard.java
index f978617eaa74ff1fa0ab0acec3b6ccd14e2db55d..2471a6d0b7a8086cf4c0a41b10c05ed50d790d11 100644
index e9cdca6d5fac186ef18167e183518ecade7b4471..3f09420ba9268ac1dc5440c0739744370c0de319 100644
--- a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboard.java
+++ b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboard.java
@@ -27,6 +27,33 @@ public final class CraftScoreboard implements org.bukkit.scoreboard.Scoreboard {
public CraftObjective registerNewObjective(String name, String criteria) throws IllegalArgumentException {
public CraftObjective registerNewObjective(String name, String criteria) {
return this.registerNewObjective(name, criteria, name);
}
+ // Paper start
+ // Paper start - Adventure
+ @Override
+ public CraftObjective registerNewObjective(String name, String criteria, net.kyori.adventure.text.Component displayName) {
+ return registerNewObjective(name, CraftCriteria.getFromBukkit(criteria), displayName, RenderType.INTEGER);
+ return this.registerNewObjective(name, CraftCriteria.getFromBukkit(criteria), displayName, RenderType.INTEGER);
+ }
+ @Override
+ public CraftObjective registerNewObjective(String name, String criteria, net.kyori.adventure.text.Component displayName, RenderType renderType) {
+ return registerNewObjective(name, CraftCriteria.getFromBukkit(criteria), displayName, renderType);
+ return this.registerNewObjective(name, CraftCriteria.getFromBukkit(criteria), displayName, renderType);
+ }
+ @Override
+ public CraftObjective registerNewObjective(String name, Criteria criteria, net.kyori.adventure.text.Component displayName) throws IllegalArgumentException {
+ return registerNewObjective(name, criteria, displayName, RenderType.INTEGER);
+ return this.registerNewObjective(name, criteria, displayName, RenderType.INTEGER);
+ }
+ @Override
+ public CraftObjective registerNewObjective(String name, Criteria criteria, net.kyori.adventure.text.Component displayName, RenderType renderType) throws IllegalArgumentException {
@ -4814,33 +4834,32 @@ index f978617eaa74ff1fa0ab0acec3b6ccd14e2db55d..2471a6d0b7a8086cf4c0a41b10c05ed5
+ Preconditions.checkArgument(renderType != null, "RenderType cannot be null");
+ Preconditions.checkArgument(name.length() <= Short.MAX_VALUE, "The name '%s' is longer than the limit of 32767 characters (%s)", name, name.length());
+ Preconditions.checkArgument(this.board.getObjective(name) == null, "An objective of name '%s' already exists", name);
+ net.minecraft.world.scores.Objective objective = board.addObjective(name, ((CraftCriteria) criteria).criteria, io.papermc.paper.adventure.PaperAdventure.asVanilla(displayName), CraftScoreboardTranslations.fromBukkitRender(renderType));
+ net.minecraft.world.scores.Objective objective = this.board.addObjective(name, ((CraftCriteria) criteria).criteria, io.papermc.paper.adventure.PaperAdventure.asVanilla(displayName), CraftScoreboardTranslations.fromBukkitRender(renderType));
+ return new CraftObjective(this, objective);
+ }
+ // Paper end
+ // Paper end - Adventure
@Override
public CraftObjective registerNewObjective(String name, String criteria, String displayName) throws IllegalArgumentException {
@@ -45,16 +72,7 @@ public final class CraftScoreboard implements org.bukkit.scoreboard.Scoreboard {
public CraftObjective registerNewObjective(String name, String criteria, String displayName) {
@@ -45,15 +72,7 @@ public final class CraftScoreboard implements org.bukkit.scoreboard.Scoreboard {
@Override
public CraftObjective registerNewObjective(String name, Criteria criteria, String displayName, RenderType renderType) throws IllegalArgumentException {
public CraftObjective registerNewObjective(String name, Criteria criteria, String displayName, RenderType renderType) {
- Preconditions.checkArgument(name != null, "Objective name cannot be null");
- Preconditions.checkArgument(criteria != null, "Criteria cannot be null");
- Preconditions.checkArgument(displayName != null, "Display name cannot be null");
- Preconditions.checkArgument(renderType != null, "RenderType cannot be null");
- Preconditions.checkArgument(name.length() <= Short.MAX_VALUE, "The name '%s' is longer than the limit of 32767 characters (%s)", name, name.length());
- Preconditions.checkArgument(displayName.length() <= 128, "The display name '%s' is longer than the limit of 128 characters (%s)", displayName, displayName.length());
- Preconditions.checkArgument(this.board.getObjective(name) == null, "An objective of name '%s' already exists", name);
-
- net.minecraft.world.scores.Objective objective = this.board.addObjective(name, ((CraftCriteria) criteria).criteria, CraftChatMessage.fromStringOrNull(displayName), CraftScoreboardTranslations.fromBukkitRender(renderType));
- return new CraftObjective(this, objective);
+ return registerNewObjective(name, criteria, net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().deserialize(displayName), renderType); // Paper
+ return this.registerNewObjective(name, criteria, net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().deserialize(displayName), renderType); // Paper - Adventure
}
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftTeam.java b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftTeam.java
index 4de9d57559e3787089a542fd912e5b28973fe73e..772206a43950db2726bd79911438e2aec2d7189c 100644
index 5540a766bc7edf8985058e29cc419c2c6b1d4428..baff11728120fda1740d5e15163760f50fe1cd1d 100644
--- a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftTeam.java
+++ b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftTeam.java
@@ -26,6 +26,63 @@ final class CraftTeam extends CraftScoreboardComponent implements Team {
@ -4906,7 +4925,7 @@ index 4de9d57559e3787089a542fd912e5b28973fe73e..772206a43950db2726bd79911438e2ae
+ // Paper end
@Override
public String getDisplayName() throws IllegalStateException {
public String getDisplayName() {
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftChatMessage.java b/src/main/java/org/bukkit/craftbukkit/util/CraftChatMessage.java
index 78ea79b66cc9e90402ef5cdc2e5e04e0c74b1c26..4fede2161792ba3e7cdf0cc5a1f533188becc6f7 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftChatMessage.java

View file

@ -615,10 +615,10 @@ index 2ac30ef2dd72582f2b7f6a05b1f94b12b44fafc9..a01d423f44b3e547b4fa4d6654f9df63
this.setPvpAllowed(dedicatedserverproperties.pvp);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 1ad584aedc0212a1e65affcbb518162328042719..c50f9e73d4301db8cc1043237ca8767fafea9828 100644
index fef313265a5e3f2aea5ed8f767782f4157ec7435..06cfbdfaa849cac2decf8900bb0dc28a11f3fead 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -937,6 +937,7 @@ public final class CraftServer implements Server {
@@ -938,6 +938,7 @@ public final class CraftServer implements Server {
this.commandMap.clearCommands();
this.reloadData();
org.spigotmc.SpigotConfig.registerCommands(); // Spigot
@ -626,7 +626,7 @@ index 1ad584aedc0212a1e65affcbb518162328042719..c50f9e73d4301db8cc1043237ca8767f
this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*");
this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions");
@@ -2530,6 +2531,34 @@ public final class CraftServer implements Server {
@@ -2531,6 +2532,34 @@ public final class CraftServer implements Server {
// Paper end
// Paper start

View file

@ -6972,10 +6972,10 @@ index 35e7f8e7b19c217fa5f3f55abb0f8b9cd6b16f18..72c2f0bf9434e09a0dd51294d3a2200f
Bootstrap.validate();
Util.startTimerHackThread();
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index c50f9e73d4301db8cc1043237ca8767fafea9828..533017ee385cd070178af14cffb4dc0e600b28d8 100644
index 06cfbdfaa849cac2decf8900bb0dc28a11f3fead..b8cc3cd61472b1b9103316b79a40e7893d333ee4 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -271,7 +271,8 @@ public final class CraftServer implements Server {
@@ -272,7 +272,8 @@ public final class CraftServer implements Server {
private final CraftCommandMap commandMap = new CraftCommandMap(this);
private final SimpleHelpMap helpMap = new SimpleHelpMap(this);
private final StandardMessenger messenger = new StandardMessenger();
@ -6985,7 +6985,7 @@ index c50f9e73d4301db8cc1043237ca8767fafea9828..533017ee385cd070178af14cffb4dc0e
private final StructureManager structureManager;
protected final DedicatedServer console;
protected final DedicatedPlayerList playerList;
@@ -421,24 +422,7 @@ public final class CraftServer implements Server {
@@ -422,24 +423,7 @@ public final class CraftServer implements Server {
}
public void loadPlugins() {
@ -7011,7 +7011,7 @@ index c50f9e73d4301db8cc1043237ca8767fafea9828..533017ee385cd070178af14cffb4dc0e
}
public void enablePlugins(PluginLoadOrder type) {
@@ -527,15 +511,17 @@ public final class CraftServer implements Server {
@@ -528,15 +512,17 @@ public final class CraftServer implements Server {
private void enablePlugin(Plugin plugin) {
try {
List<Permission> perms = plugin.getDescription().getPermissions();
@ -7035,7 +7035,7 @@ index c50f9e73d4301db8cc1043237ca8767fafea9828..533017ee385cd070178af14cffb4dc0e
this.pluginManager.enablePlugin(plugin);
} catch (Throwable ex) {
@@ -961,6 +947,7 @@ public final class CraftServer implements Server {
@@ -962,6 +948,7 @@ public final class CraftServer implements Server {
"This plugin is not properly shutting down its async tasks when it is being reloaded. This may cause conflicts with the newly loaded version of the plugin"
));
}

View file

@ -732,7 +732,7 @@ index fc4dcd801480fe6d89a985de411baa9a3a66f6ef..4a1148a76020089caf01f888f87afdbb
} catch (Exception exception) {
if (listener.shouldPropagateHandlingExceptions()) {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 3250a9310b57351d6d832a8ef42837d990cf6c99..f0cd94f877a83485ab8e96e1c4e00bf658f227b7 100644
index 049755ed087a764cd1f0d7df82c21eef7538fbbf..6994fff6ce9b946adba7dabf84b165f404495257 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -189,7 +189,7 @@ import org.bukkit.event.player.AsyncPlayerChatPreviewEvent;
@ -1270,10 +1270,10 @@ index 7be97441aed66fa3a21d13ad2211b3e0e08120c0..7cb5abfa89f842194325d26c6e95b494
this.entityManager.saveAll();
} else {
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index e2c735f674db15dde5e5baea04af0a1bfb51b58c..6aa687542ee86b1c8273d9ed26bca0999a742c64 100644
index 8205b7cdc235ae7ebd4db6fe9383f5eeb0132438..0c8bf95ae50a089a5d075d965b4df655aaece4e6 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -339,7 +339,6 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -341,7 +341,6 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@Override
public void tick() {
@ -1281,7 +1281,7 @@ index e2c735f674db15dde5e5baea04af0a1bfb51b58c..6aa687542ee86b1c8273d9ed26bca099
if (this.ackBlockChangesUpTo > -1) {
this.send(new ClientboundBlockChangedAckPacket(this.ackBlockChangesUpTo));
this.ackBlockChangesUpTo = -1;
@@ -420,7 +419,6 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -422,7 +421,6 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
this.player.resetLastActionTime(); // CraftBukkit - SPIGOT-854
this.disconnect(Component.translatable("multiplayer.disconnect.idling"));
}
@ -1289,7 +1289,7 @@ index e2c735f674db15dde5e5baea04af0a1bfb51b58c..6aa687542ee86b1c8273d9ed26bca099
}
@@ -2147,7 +2145,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -2143,7 +2141,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
}
private void handleCommand(String s) {
@ -1298,7 +1298,7 @@ index e2c735f674db15dde5e5baea04af0a1bfb51b58c..6aa687542ee86b1c8273d9ed26bca099
if ( org.spigotmc.SpigotConfig.logCommands ) // Spigot
this.LOGGER.info(this.player.getScoreboardName() + " issued server command: " + s);
@@ -2157,7 +2155,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -2153,7 +2151,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
this.cserver.getPluginManager().callEvent(event);
if (event.isCancelled()) {
@ -1307,7 +1307,7 @@ index e2c735f674db15dde5e5baea04af0a1bfb51b58c..6aa687542ee86b1c8273d9ed26bca099
return;
}
@@ -2170,7 +2168,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -2166,7 +2164,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
java.util.logging.Logger.getLogger(ServerGamePacketListenerImpl.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
return;
} finally {
@ -1341,7 +1341,7 @@ index d3dc7752aadf36985660d04dcb4377a69dfeddff..b922654c0b0b1b0d03beb20bb1944b81
public UserWhiteList getWhiteList() {
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 923b9243d97f9a741009f443d2c126b638fbb753..bbc5ef297b740ab769e8c030e5af6f573259d953 100644
index 78c7c779209972186b1244fb678d7208b38e30e3..8fdac0e7bb0b9374ebdb82673d0579fff22af5e3 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -134,7 +134,6 @@ import org.bukkit.craftbukkit.event.CraftPortalEvent;
@ -1632,10 +1632,10 @@ index 0eb09ce5c850d85ffd7229d27cf06b3e0edda11b..cc1d7626a82881c4410d65c6a33dadae
};
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 533017ee385cd070178af14cffb4dc0e600b28d8..f5a973a54e9f194891aac409151933f1779b8d28 100644
index b8cc3cd61472b1b9103316b79a40e7893d333ee4..4167b82564c51000e1ea9bffb234145775fc2993 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -371,7 +371,7 @@ public final class CraftServer implements Server {
@@ -372,7 +372,7 @@ public final class CraftServer implements Server {
this.saveCommandsConfig();
this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*");
this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions");
@ -1644,7 +1644,7 @@ index 533017ee385cd070178af14cffb4dc0e600b28d8..f5a973a54e9f194891aac409151933f1
this.overrideSpawnLimits();
console.autosavePeriod = this.configuration.getInt("ticks-per.autosave");
this.warningState = WarningState.value(this.configuration.getString("settings.deprecated-verbose"));
@@ -2447,12 +2447,31 @@ public final class CraftServer implements Server {
@@ -2448,12 +2448,31 @@ public final class CraftServer implements Server {
private final org.bukkit.Server.Spigot spigot = new org.bukkit.Server.Spigot()
{
@ -1846,10 +1846,10 @@ index b0ffa23faf62629043dfd613315eaf9c5fcc2cfe..00000000000000000000000000000000
- }
-}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 845288cc687e7cc8a7ec2cb632c8c679dcaa3d34..57d714cc8724db1fe75ec5acf6cb0f20dc9bce12 100644
index 498fb1db3091013cbd58aabf8361f961c8a3e755..cf87f197d860567746dcae2a15946fed0b1a1d85 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2523,6 +2523,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2555,6 +2555,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
CraftPlayer.this.getHandle().connection.send(new net.minecraft.network.protocol.game.ClientboundSystemChatPacket(components, position == net.md_5.bungee.api.ChatMessageType.ACTION_BAR));
}

View file

@ -7,10 +7,10 @@ Subject: [PATCH] Add command line option to load extra plugin jars not in the
ex: java -jar paperclip.jar nogui -add-plugin=/path/to/plugin.jar -add-plugin=/path/to/another/plugin_jar.jar
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index f5a973a54e9f194891aac409151933f1779b8d28..a3bd22e4b37a03800e3261b769433d47d0c21ff7 100644
index 4167b82564c51000e1ea9bffb234145775fc2993..6e2a6901ce9204b232afa1ff390dfe1a453b20a2 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -425,6 +425,35 @@ public final class CraftServer implements Server {
@@ -426,6 +426,35 @@ public final class CraftServer implements Server {
io.papermc.paper.plugin.entrypoint.LaunchEntryPointHandler.INSTANCE.enter(io.papermc.paper.plugin.entrypoint.Entrypoint.PLUGIN); // Paper - replace implementation
}
@ -47,7 +47,7 @@ index f5a973a54e9f194891aac409151933f1779b8d28..a3bd22e4b37a03800e3261b769433d47
if (type == PluginLoadOrder.STARTUP) {
this.helpMap.clear();
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index a210752cbf3f97b3782f85b3330972e8becfd2f3..1d86415570b906ecf2f2c6915694ee26210d2219 100644
index ab22205c758768cd0c8a4fc6bca3d7de2e823078..ff955d3a20bf953770cc81f8b89a6d4425a5f813 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -159,6 +159,12 @@ public class Main {

View file

@ -16829,7 +16829,7 @@ index 72c2f0bf9434e09a0dd51294d3a2200f1e0ed1b1..5d56c35d6d3478dbc53e4f5c3547d4dc
DedicatedServer dedicatedserver1 = new DedicatedServer(optionset, worldLoader.get(), thread, convertable_conversionsession, resourcepackrepository, worldstem, dedicatedserversettings, DataFixers.getDataFixer(), services, LoggerChunkProgressListener::new);
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index f0cd94f877a83485ab8e96e1c4e00bf658f227b7..bea4e947577ee2f5fd680eb932409283f8504ee7 100644
index 6994fff6ce9b946adba7dabf84b165f404495257..ce9f408ff7394d931bc015c08e9db8221b8f7f39 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -300,7 +300,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@ -20180,7 +20180,7 @@ index 7cb5abfa89f842194325d26c6e95b49460c5968f..995be2fd84ce343d7430d9658f91868e
@Override
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index dc87e56cfcd59bc1505f5b3c0363038e790271a0..172ea32dfc93b2a2f28b5cdd520c07f8a04f2665 100644
index a0856fc649c50309258f015e623502dd46aeeab4..5a18f4649b64d47f429eb6c1dbb6238aab3eacd2 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -260,6 +260,48 @@ public class ServerPlayer extends Player {
@ -20485,10 +20485,10 @@ index e96a0ca47e4701ba187555bd92c968345bc85677..73b96f804079288e9c5fcc11da54e61e
+ // Paper end
}
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 6aa687542ee86b1c8273d9ed26bca0999a742c64..142ffdf61b8f69e9d948b75a424de97ee31e1a87 100644
index 0c8bf95ae50a089a5d075d965b4df655aaece4e6..713cd247615f91fc0f762e59eae35a376ffce754 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -788,6 +788,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -790,6 +790,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
this.disconnect(Component.translatable("disconnect.spam"));
return;
}
@ -20654,7 +20654,7 @@ index 12e72ad737b1219fcdf88d344d41621d9fd5feec..e0bfeebeaac1aaea64bc07cdfdf7790e
if (flag1) {
++this.converted;
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index bbc5ef297b740ab769e8c030e5af6f573259d953..17841455d5afd60eca367591b06e22f69ee23ae4 100644
index 8fdac0e7bb0b9374ebdb82673d0579fff22af5e3..48ac0559e32a1b6b26a00978cf9ef6a1c13e674b 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -327,6 +327,58 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@ -22646,10 +22646,10 @@ index bf4b2f89d3a7133155c6272379c742318b2c1514..33677ec811ceab939c419bf7d31b9958
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index a3bd22e4b37a03800e3261b769433d47d0c21ff7..db1895c2227fd41d9d6ce3f8f0ca2ceb41610f9d 100644
index 6e2a6901ce9204b232afa1ff390dfe1a453b20a2..2d0d6dbcb515de0d81079a1d6b68c9b2bd973893 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1184,7 +1184,7 @@ public final class CraftServer implements Server {
@@ -1185,7 +1185,7 @@ public final class CraftServer implements Server {
this.console.addLevel(internal);
this.getServer().prepareLevels(internal.getChunkSource().chunkMap.progressListener, internal);
@ -22658,7 +22658,7 @@ index a3bd22e4b37a03800e3261b769433d47d0c21ff7..db1895c2227fd41d9d6ce3f8f0ca2ceb
this.pluginManager.callEvent(new WorldLoadEvent(internal.getWorld()));
return internal.getWorld();
@@ -1228,7 +1228,7 @@ public final class CraftServer implements Server {
@@ -1229,7 +1229,7 @@ public final class CraftServer implements Server {
}
handle.getChunkSource().close(save);
@ -22667,7 +22667,7 @@ index a3bd22e4b37a03800e3261b769433d47d0c21ff7..db1895c2227fd41d9d6ce3f8f0ca2ceb
handle.convertable.close();
} catch (Exception ex) {
this.getLogger().log(Level.SEVERE, null, ex);
@@ -2059,7 +2059,7 @@ public final class CraftServer implements Server {
@@ -2060,7 +2060,7 @@ public final class CraftServer implements Server {
@Override
public boolean isPrimaryThread() {
@ -22796,10 +22796,10 @@ index d01388bbadf3069357cf52463f4104a1be4d2b56..b3dfa35bc41191883814c78693a0d958
// Spigot start
private final org.bukkit.World.Spigot spigot = new org.bukkit.World.Spigot()
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 57d714cc8724db1fe75ec5acf6cb0f20dc9bce12..5eb25bb87443b533029ac49dead86173b7ab55eb 100644
index cf87f197d860567746dcae2a15946fed0b1a1d85..3b1dbfe6f03e62ac9e12066d41516de157f99719 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -193,6 +193,48 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -195,6 +195,48 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.firstPlayed = System.currentTimeMillis();
}
@ -22849,7 +22849,7 @@ index 57d714cc8724db1fe75ec5acf6cb0f20dc9bce12..5eb25bb87443b533029ac49dead86173
return this.getHandle().getGameProfile();
}
diff --git a/src/main/java/org/bukkit/craftbukkit/generator/CustomChunkGenerator.java b/src/main/java/org/bukkit/craftbukkit/generator/CustomChunkGenerator.java
index 2f0dea0f9540d07f8b38029652fd66c1871dd97c..a7fe78e655a0f4a2c4464e334ea04cf95b9afcd0 100644
index 02173e8d859d6731836239e0d2dff2be4680e7d1..c3972ba41ad61af4c423e6f942ac984dc61716f0 100644
--- a/src/main/java/org/bukkit/craftbukkit/generator/CustomChunkGenerator.java
+++ b/src/main/java/org/bukkit/craftbukkit/generator/CustomChunkGenerator.java
@@ -265,7 +265,7 @@ public class CustomChunkGenerator extends InternalChunkGenerator {

View file

@ -19,10 +19,10 @@ index bea4e947577ee2f5fd680eb932409283f8504ee7..b9a49f92e38daf4f80b6d3bf465eb9d2
public SystemReport fillSystemReport(SystemReport details) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index db1895c2227fd41d9d6ce3f8f0ca2ceb41610f9d..4a45d0d4d2e8d7bd0728225a70b9d469058bfa3e 100644
index 2d0d6dbcb515de0d81079a1d6b68c9b2bd973893..d5731088df47fa49e3248dfbcd755de7cd91efbd 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -262,7 +262,7 @@ import org.yaml.snakeyaml.error.MarkedYAMLException;
@@ -263,7 +263,7 @@ import org.yaml.snakeyaml.error.MarkedYAMLException;
import net.md_5.bungee.api.chat.BaseComponent; // Spigot
public final class CraftServer implements Server {
@ -32,11 +32,11 @@ index db1895c2227fd41d9d6ce3f8f0ca2ceb41610f9d..4a45d0d4d2e8d7bd0728225a70b9d469
private final String bukkitVersion = Versioning.getBukkitVersion();
private final Logger logger = Logger.getLogger("Minecraft");
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index 1d86415570b906ecf2f2c6915694ee26210d2219..d9424ce7726eba4a352444b53d31c788d0923049 100644
index ff955d3a20bf953770cc81f8b89a6d4425a5f813..268192b06592eaa56a454e0f02b2d848f766d9ac 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -240,12 +240,25 @@ public class Main {
deadline.add(Calendar.DAY_OF_YEAR, -7);
deadline.add(Calendar.DAY_OF_YEAR, -21);
if (buildDate.before(deadline.getTime())) {
System.err.println("*** Error, this build is outdated ***");
- System.err.println("*** Please download a new build as per instructions from https://www.spigotmc.org/go/outdated-spigot ***");

View file

@ -137,10 +137,10 @@ index be6e3e21ad62da01e5e2dd78e300cbc8efdbeb42..ea98625fe7c00743b8df74a24e6d4b75
for(Player player : this.players()) {
if (EntitySelector.NO_SPECTATORS.test(player) && EntitySelector.LIVING_ENTITY_STILL_ALIVE.test(player)) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 5eb25bb87443b533029ac49dead86173b7ab55eb..7bcf858bf9a0ab97a89efc26a22376c46229d1ca 100644
index 3b1dbfe6f03e62ac9e12066d41516de157f99719..d5f858f07a0b93e439acf676f4c5eefa61f50db0 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2202,8 +2202,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2234,8 +2234,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public String getLocale() {
return this.getHandle().locale;

View file

@ -145,10 +145,10 @@ index b9a49f92e38daf4f80b6d3bf465eb9d249606976..71c8bb318b2e99b7d0b91196ac0b1b5b
this.startMetricsRecordingTick();
this.profiler.push("tick");
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 4a45d0d4d2e8d7bd0728225a70b9d469058bfa3e..68692c36a0db6ac3048dcfac91c154974e5e917f 100644
index d5731088df47fa49e3248dfbcd755de7cd91efbd..9b725fe12c6f81b02ebea7a12a7c1312a27c6cb1 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2472,6 +2472,17 @@ public final class CraftServer implements Server {
@@ -2473,6 +2473,17 @@ public final class CraftServer implements Server {
return CraftMagicNumbers.INSTANCE;
}

View file

@ -5,10 +5,10 @@ Subject: [PATCH] Only refresh abilities if needed
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 7bcf858bf9a0ab97a89efc26a22376c46229d1ca..908cff4daf9c4218c8f93fdb7df9e9fa65b06d6f 100644
index d5f858f07a0b93e439acf676f4c5eefa61f50db0..bd570b123d571437e8b2af8c1e68e0d5d66ee37b 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1877,12 +1877,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1909,12 +1909,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void setFlying(boolean value) {

View file

@ -30,10 +30,10 @@ index 1ef48b8415242942f00c6a76faa1de2865e11358..bcf0d4cfbfbae254bc74ad6389af372a
this.locale = packet.language;
// Paper start
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 908cff4daf9c4218c8f93fdb7df9e9fa65b06d6f..705734e2f26f8deab8ac9ad929d7b5e29181ace3 100644
index bd570b123d571437e8b2af8c1e68e0d5d66ee37b..f5e4713bd9f6d0661f4e8d45c0b7cfffcb2bce57 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2202,8 +2202,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2234,8 +2234,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public String getLocale() {

View file

@ -21,10 +21,10 @@ character.
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 142ffdf61b8f69e9d948b75a424de97ee31e1a87..bd6b4a13b18bd13a6024c92a247503a87102e7c5 100644
index 713cd247615f91fc0f762e59eae35a376ffce754..c69a2da951af082b8dc90baf35b7e020ffda0b5e 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2044,7 +2044,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -2046,7 +2046,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
return true;
}
@ -33,7 +33,7 @@ index 142ffdf61b8f69e9d948b75a424de97ee31e1a87..bd6b4a13b18bd13a6024c92a247503a8
for (int i = 0; i < message.length(); ++i) {
if (!SharedConstants.isAllowedChatCharacter(message.charAt(i))) {
return true;
@@ -2061,7 +2061,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -2063,7 +2063,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
}
OutgoingChatMessage outgoing = OutgoingChatMessage.create(original);
@ -42,7 +42,7 @@ index 142ffdf61b8f69e9d948b75a424de97ee31e1a87..bd6b4a13b18bd13a6024c92a247503a8
this.handleCommand(s);
} else if (this.player.getChatVisibility() == ChatVisiblity.SYSTEM) {
// Do nothing, this is coming from a plugin
@@ -2151,7 +2151,29 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -2147,7 +2147,29 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
}
}
@ -74,10 +74,10 @@ index 142ffdf61b8f69e9d948b75a424de97ee31e1a87..bd6b4a13b18bd13a6024c92a247503a8
if ( org.spigotmc.SpigotConfig.logCommands ) // Spigot
this.LOGGER.info(this.player.getScoreboardName() + " issued server command: " + s);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 68692c36a0db6ac3048dcfac91c154974e5e917f..06bb2fd95dd0193101f8ee4e9082df0c079a3dd7 100644
index 9b725fe12c6f81b02ebea7a12a7c1312a27c6cb1..40c874d8f6a4d281078aadc34602bfbc6389df2a 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -885,6 +885,28 @@ public final class CraftServer implements Server {
@@ -886,6 +886,28 @@ public final class CraftServer implements Server {
Preconditions.checkArgument(commandLine != null, "commandLine cannot be null");
org.spigotmc.AsyncCatcher.catchOp("command dispatch"); // Spigot
@ -107,10 +107,10 @@ index 68692c36a0db6ac3048dcfac91c154974e5e917f..06bb2fd95dd0193101f8ee4e9082df0c
return true;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 705734e2f26f8deab8ac9ad929d7b5e29181ace3..d96e0bb4277d83602d4062dc33e6e420a28bf2da 100644
index f5e4713bd9f6d0661f4e8d45c0b7cfffcb2bce57..d9031a89cc087fef8c39bcb93c68d07b8b2ab474 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -490,7 +490,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -492,7 +492,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
if (this.getHandle().connection == null) return;

View file

@ -5,10 +5,10 @@ Subject: [PATCH] Expose server CommandMap
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 06bb2fd95dd0193101f8ee4e9082df0c079a3dd7..bb7f5364a3aa9680cd0cef1bd3e12ccf69491358 100644
index 40c874d8f6a4d281078aadc34602bfbc6389df2a..a4d530e81a319ea53122760e352083b9708f9f04 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2034,6 +2034,7 @@ public final class CraftServer implements Server {
@@ -2035,6 +2035,7 @@ public final class CraftServer implements Server {
return this.helpMap;
}

View file

@ -63,7 +63,7 @@ index bd808eb312ade7122973a47f4b96505829511da5..bf0f9cab7c66c089f35b851e799ba4a4
// Paper end
buf.writeComponent(this.text);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index d96e0bb4277d83602d4062dc33e6e420a28bf2da..268cd764c1543a9a7e43013f47a81aaa5a55d108 100644
index d9031a89cc087fef8c39bcb93c68d07b8b2ab474..b6f8885196f806174f7d611c778fc1f74129d6d4 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1,5 +1,6 @@
@ -73,7 +73,7 @@ index d96e0bb4277d83602d4062dc33e6e420a28bf2da..268cd764c1543a9a7e43013f47a81aaa
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableSet;
import com.google.common.io.BaseEncoding;
@@ -332,6 +333,100 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -334,6 +335,100 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
}

View file

@ -5,10 +5,10 @@ Subject: [PATCH] Add velocity warnings
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index bb7f5364a3aa9680cd0cef1bd3e12ccf69491358..bc8d567d549ae8fb3a972cb93b50de82daf9fb49 100644
index a4d530e81a319ea53122760e352083b9708f9f04..81758ba9193fad39a291c635c41d2cdbef34c1c2 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -298,6 +298,7 @@ public final class CraftServer implements Server {
@@ -299,6 +299,7 @@ public final class CraftServer implements Server {
public boolean ignoreVanillaPermissions = false;
private final List<CraftPlayer> playerView;
public int reloadCount;

View file

@ -16,10 +16,10 @@ The wanted destination was on top of the emerald block however the player ended
This only is the case if the player is teleporting between worlds.
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 268cd764c1543a9a7e43013f47a81aaa5a55d108..78d31da062792c12f069e929ebe89ab5a624b7d8 100644
index b6f8885196f806174f7d611c778fc1f74129d6d4..3ec282a272257996fad17c3ac23b334aca344bb0 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1158,7 +1158,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1160,7 +1160,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
entity.connection.teleport(to);
} else {
// The respawn reason should never be used if the passed location is non null.

View file

@ -5,10 +5,10 @@ Subject: [PATCH] Complete resource pack API
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index bd6b4a13b18bd13a6024c92a247503a87102e7c5..f4972161eace2af0c857374a7fa36a98fa0fb857 100644
index c69a2da951af082b8dc90baf35b7e020ffda0b5e..cad7df80d4914b533ce9db1a10b5923b5ffe578b 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1758,8 +1758,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -1760,8 +1760,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
ServerGamePacketListenerImpl.LOGGER.info("Disconnecting {} due to resource pack rejection", this.player.getName());
this.disconnect(Component.translatable("multiplayer.requiredTexturePrompt.disconnect"));
}
@ -23,10 +23,10 @@ index bd6b4a13b18bd13a6024c92a247503a87102e7c5..f4972161eace2af0c857374a7fa36a98
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 78d31da062792c12f069e929ebe89ab5a624b7d8..c64bc467994609d6cc49c598435cac997ea619e5 100644
index 3ec282a272257996fad17c3ac23b334aca344bb0..87c597ad5e7cc76db7a5da4e3d97e044ce9f8594 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -187,6 +187,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -189,6 +189,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
private double healthScale = 20;
private CraftWorldBorder clientWorldBorder = null;
private BorderChangeListener clientWorldBorderListener = this.createWorldBorderListener();
@ -37,7 +37,7 @@ index 78d31da062792c12f069e929ebe89ab5a624b7d8..c64bc467994609d6cc49c598435cac99
public CraftPlayer(CraftServer server, ServerPlayer entity) {
super(server, entity);
@@ -2325,6 +2329,45 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2357,6 +2361,45 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public boolean getAffectsSpawning() {
return this.getHandle().affectsSpawning;
}

View file

@ -16,10 +16,10 @@ modify that. Under the previous logic, plugins were unable (cleanly) override pe
A config option has been added for those who depend on the previous behavior, but I don't expect that.
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index bc8d567d549ae8fb3a972cb93b50de82daf9fb49..7ad781b0270b95bae7f28fdad1e94a1ea75090fc 100644
index 81758ba9193fad39a291c635c41d2cdbef34c1c2..49dada0a2b97552f080cda0b928f284ff02a25a3 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -459,6 +459,7 @@ public final class CraftServer implements Server {
@@ -460,6 +460,7 @@ public final class CraftServer implements Server {
if (type == PluginLoadOrder.STARTUP) {
this.helpMap.clear();
this.helpMap.initializeGeneralTopics();
@ -27,7 +27,7 @@ index bc8d567d549ae8fb3a972cb93b50de82daf9fb49..7ad781b0270b95bae7f28fdad1e94a1e
}
Plugin[] plugins = this.pluginManager.getPlugins();
@@ -478,7 +479,7 @@ public final class CraftServer implements Server {
@@ -479,7 +480,7 @@ public final class CraftServer implements Server {
this.commandMap.registerServerAliases();
DefaultPermissions.registerCorePermissions();
CraftDefaultPermissions.registerCorePermissions();

View file

@ -6,10 +6,10 @@ Subject: [PATCH] Allow Reloading of Custom Permissions
https://github.com/PaperMC/Paper/issues/49
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 7ad781b0270b95bae7f28fdad1e94a1ea75090fc..89ba5fb4be6ae481b1765506ed6a0bd37faaa9b6 100644
index 49dada0a2b97552f080cda0b928f284ff02a25a3..3ce3ecec506930910c0c39a16d89e94ab79ae6f3 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2638,5 +2638,23 @@ public final class CraftServer implements Server {
@@ -2639,5 +2639,23 @@ public final class CraftServer implements Server {
}
return this.adventure$audiences;
}

View file

@ -7,10 +7,10 @@ Metadata is not meant to persist reload as things break badly with non primitive
This will remove metadata on reload so it does not crash everything if a plugin uses it.
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 89ba5fb4be6ae481b1765506ed6a0bd37faaa9b6..05cb57584949679130bf7c5d7d3524463d6c9e7b 100644
index 3ce3ecec506930910c0c39a16d89e94ab79ae6f3..7d6b5007c386ec174ccaf0abc48862f2f7cd8789 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -972,8 +972,16 @@ public final class CraftServer implements Server {
@@ -973,8 +973,16 @@ public final class CraftServer implements Server {
world.spigotConfig.init(); // Spigot
}

View file

@ -18,7 +18,7 @@ For consistency, the old API methods now forward to use the
ItemMeta API equivalents, and should deprecate the old API's.
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
index c2b93eaf73ce038559611c272b6e3ecc2bcb903b..940caf9b7526019ace656ff88146f198ba6b62ed 100644
index 3f18fb61a47dda559a6997af9c6c043423dd206a..c33660718c0ea281d7bcdb15df0568d4d46547e2 100644
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
@@ -156,6 +156,23 @@ public final class ItemStack {
@ -53,7 +53,7 @@ index c2b93eaf73ce038559611c272b6e3ecc2bcb903b..940caf9b7526019ace656ff88146f198
this.getItem().verifyTagAfterLoad(this.tag);
}
@@ -810,6 +828,7 @@ public final class ItemStack {
@@ -814,6 +832,7 @@ public final class ItemStack {
public void setTag(@Nullable CompoundTag nbt) {
this.tag = nbt;
@ -61,7 +61,7 @@ index c2b93eaf73ce038559611c272b6e3ecc2bcb903b..940caf9b7526019ace656ff88146f198
if (this.getItem().canBeDepleted()) {
this.setDamageValue(this.getDamageValue());
}
@@ -1107,6 +1126,7 @@ public final class ItemStack {
@@ -1111,6 +1130,7 @@ public final class ItemStack {
ListTag nbttaglist = this.tag.getList("Enchantments", 10);
nbttaglist.add(EnchantmentHelper.storeEnchantment(EnchantmentHelper.getEnchantmentId(enchantment), (byte) level));

View file

@ -44,10 +44,10 @@ index d8ecc90465dfc54319d7f2478979e9aaee42f5a2..45a93601ff9ec79db0ceefb92eecfc97
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index c64bc467994609d6cc49c598435cac997ea619e5..8b594be03e0627789e5b724cbc08329795ed46e5 100644
index 87c597ad5e7cc76db7a5da4e3d97e044ce9f8594..875784e3d1d89c8fd5e4e3f9cec2e37c93e17570 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2122,6 +2122,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2154,6 +2154,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
public void setRealHealth(double health) {

View file

@ -22,10 +22,10 @@ index a5d57cc862036012d83b090bb1b3ccf4115a88b3..21068f766b75c414d5818073b7dca083
static final ServerboundInteractPacket.Action ATTACK_ACTION = new ServerboundInteractPacket.Action() {
@Override
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index b6e86042d050cf95c8c9a94809bcf49736e5bd9a..3fb87f80087747c6f888e8bb0bf3deb40aa9419e 100644
index cad7df80d4914b533ce9db1a10b5923b5ffe578b..ae66a8a222bc27986bab0f7896e0eacfd6044b31 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2544,8 +2544,37 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -2543,8 +2543,37 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
});
}
}

View file

@ -43,10 +43,10 @@ index da98f074ccd5a40c635824112c97fd174c393cb1..6599f874d9f97e9ef4862039ecad7277
} else {
String[] astring1 = astring;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 05cb57584949679130bf7c5d7d3524463d6c9e7b..a8b26d4360f57665afe8e39ab1ba87a7d6d15867 100644
index 7d6b5007c386ec174ccaf0abc48862f2f7cd8789..0a0ea4d8159a5ee8ca640d8c39f2ff78889a4712 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1743,7 +1743,7 @@ public final class CraftServer implements Server {
@@ -1744,7 +1744,7 @@ public final class CraftServer implements Server {
// Spigot Start
GameProfile profile = null;
// Only fetch an online UUID in online mode

View file

@ -5,10 +5,10 @@ Subject: [PATCH] Configurable packet in spam threshold
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 3fb87f80087747c6f888e8bb0bf3deb40aa9419e..50872f8d2a9046f7fee57b5d0e9c5af48927dafc 100644
index ae66a8a222bc27986bab0f7896e0eacfd6044b31..a73395c9c599f4f83738672a925e2852ca784cf7 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1598,13 +1598,14 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -1600,13 +1600,14 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
// Spigot start - limit place/interactions
private int limitedPackets;
private long lastLimitedPacket = -1;

View file

@ -5,10 +5,10 @@ Subject: [PATCH] Configurable flying kick messages
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 3ac549815895e6cbb43cbfc04377337f8b7ebd43..c33b94701a8c4f3198671405d32467d9645bf87f 100644
index a73395c9c599f4f83738672a925e2852ca784cf7..631eaf856daa09151e62e192296ba143213d6f29 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -355,7 +355,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -357,7 +357,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
if (this.clientIsFloating && !this.player.isSleeping() && !this.player.isPassenger() && !this.player.isDeadOrDying()) {
if (++this.aboveGroundTickCount > 80) {
ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked for floating too long!", this.player.getName().getString());
@ -17,7 +17,7 @@ index 3ac549815895e6cbb43cbfc04377337f8b7ebd43..c33b94701a8c4f3198671405d32467d9
return;
}
} else {
@@ -374,7 +374,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -376,7 +376,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
if (this.clientVehicleIsFloating && this.player.getRootVehicle().getControllingPassenger() == this.player) {
if (++this.aboveGroundVehicleTickCount > 80) {
ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked for floating a vehicle too long!", this.player.getName().getString());

View file

@ -28,10 +28,10 @@ index f9704b20e71564ac721a24655b2792c689edf6ba..e04f3f1159c5d5fa2e3956a36e95f8af
entitywitch.finalizeSpawn(world, world.getCurrentDifficultyAt(entitywitch.blockPosition()), MobSpawnType.CONVERSION, (SpawnGroupData) null, (CompoundTag) null);
entitywitch.setNoAi(this.isNoAi());
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index 8c9e545b8508172be51c9f244d7067509d32aef9..e9355d4594d1a3d1dbbdd7be5207f1a384546d5d 100644
index db30af9b6b9e737066c8a011e4dfe377f800f523..3849e30f8fad46feefaa901283ad776a93561e23 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1212,6 +1212,14 @@ public class CraftEventFactory {
@@ -1238,6 +1238,14 @@ public class CraftEventFactory {
return !event.isCancelled();
}

View file

@ -6,10 +6,10 @@ Subject: [PATCH] Allow Reloading of Command Aliases
Reload the aliases stored in commands.yml
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index a8b26d4360f57665afe8e39ab1ba87a7d6d15867..9acc18ca45cc4e55bcd8a1624f27245a7ae81096 100644
index 0a0ea4d8159a5ee8ca640d8c39f2ff78889a4712..6014cf7de9a6a41b0c5ff03bfd2c88d55edd53e3 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2664,5 +2664,24 @@ public final class CraftServer implements Server {
@@ -2665,5 +2665,24 @@ public final class CraftServer implements Server {
DefaultPermissions.registerCorePermissions();
CraftDefaultPermissions.registerCorePermissions();
}

View file

@ -18,10 +18,10 @@ index 93c83cfedc7d3a169ad0504aa6e63f600873501b..9dffdfe5bbd0517e9a2c6a6770eea07b
--this.count;
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index e9355d4594d1a3d1dbbdd7be5207f1a384546d5d..5fe27d6aad6d904234543bd5fc8fe3d7c1852840 100644
index 3849e30f8fad46feefaa901283ad776a93561e23..505f4658dc7b92bf22071e43963ce66f5f2f655b 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1165,6 +1165,17 @@ public class CraftEventFactory {
@@ -1191,6 +1191,17 @@ public class CraftEventFactory {
return event;
}

View file

@ -6,10 +6,10 @@ Subject: [PATCH] Add ProjectileCollideEvent
Deprecated now and replaced with ProjectileHitEvent
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index 5fe27d6aad6d904234543bd5fc8fe3d7c1852840..515e8886d04668598b6725ba11f75f40ed35d4e7 100644
index 505f4658dc7b92bf22071e43963ce66f5f2f655b..ceb8d024888425248cb40eb3fbbe39fc4be1207b 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1309,6 +1309,17 @@ public class CraftEventFactory {
@@ -1335,6 +1335,17 @@ public class CraftEventFactory {
return CraftItemStack.asNMSCopy(bitem);
}
@ -27,7 +27,7 @@ index 5fe27d6aad6d904234543bd5fc8fe3d7c1852840..515e8886d04668598b6725ba11f75f40
public static ProjectileLaunchEvent callProjectileLaunchEvent(Entity entity) {
Projectile bukkitEntity = (Projectile) entity.getBukkitEntity();
ProjectileLaunchEvent event = new ProjectileLaunchEvent(bukkitEntity);
@@ -1333,8 +1344,15 @@ public class CraftEventFactory {
@@ -1359,8 +1370,15 @@ public class CraftEventFactory {
if (position.getType() == HitResult.Type.ENTITY) {
hitEntity = ((EntityHitResult) position).getEntity().getBukkitEntity();
}

View file

@ -26,10 +26,10 @@ index 32ef3edebe94a2014168b7e438752a80b2687e5f..ab6c58eed6707ab7b0aa3e7549a871ad
// Paper end
buf.writeComponent(this.text);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 8b594be03e0627789e5b724cbc08329795ed46e5..1ad53070a0725daa0622598de82382dd3e26624d 100644
index 875784e3d1d89c8fd5e4e3f9cec2e37c93e17570..bef8c20e784244acf17128a68adfe5612812a612 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -338,6 +338,29 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -340,6 +340,29 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
// Paper start

View file

@ -6,7 +6,7 @@ Subject: [PATCH] Properly fix item duplication bug
Credit to prplz for figuring out the real issue
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index b4ea4c63a6cd767684d6c3c68a192a90c82d2e91..6051ad00973c80ad3478e2ff9063c268489f358b 100644
index 9e182c4cdf54c9ca7701660df72052d5c8936a55..5c855a15f7847ca37c263755f643eeb1fd79668b 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -2392,7 +2392,7 @@ public class ServerPlayer extends Player {
@ -19,10 +19,10 @@ index b4ea4c63a6cd767684d6c3c68a192a90c82d2e91..6051ad00973c80ad3478e2ff9063c268
@Override
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 2deb6ba6ec38314d65500a1ef15269401d90a1c2..38d8a2d5fa3e911c99e3e06c99ea18afbe89c0b3 100644
index 631eaf856daa09151e62e192296ba143213d6f29..12ce6ef8163fa46c1f5bc1f88011cd862b8bad89 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -3152,7 +3152,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -3160,7 +3160,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
}
public final boolean isDisconnected() {

View file

@ -44,10 +44,10 @@ index b16add0be6ac782a7e40be0cdeea4c1829a19d4e..288910fb168ddc5d3a61971778b8038a
@Override
diff --git a/src/main/java/net/minecraft/world/item/CrossbowItem.java b/src/main/java/net/minecraft/world/item/CrossbowItem.java
index da12a95c230129a3a57dc3d2d7d64012dd8bbae6..9bea5e94c246d843f3d67680ffb57075bd9d3467 100644
index ac7371882d15746e9353865635d0bb716f890c53..ba570f1c9654e1004e068a1efe2118f36c954505 100644
--- a/src/main/java/net/minecraft/world/item/CrossbowItem.java
+++ b/src/main/java/net/minecraft/world/item/CrossbowItem.java
@@ -221,6 +221,7 @@ public class CrossbowItem extends ProjectileWeaponItem implements Vanishable {
@@ -217,6 +217,7 @@ public class CrossbowItem extends ProjectileWeaponItem implements Vanishable {
if (flag1) {
object = new FireworkRocketEntity(world, projectile, shooter, shooter.getX(), shooter.getEyeY() - 0.15000000596046448D, shooter.getZ(), true);

View file

@ -14,10 +14,10 @@ To be converted into a Paper-API event at some point in the future?
public net.minecraft.world.entity.player.Player removeEntitiesOnShoulder()V
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 7a4b763e4b7005cf7df75ca9217897faed433b39..c5df103a1addefb1c11132a4b406bcdf3e8f455f 100644
index 12ce6ef8163fa46c1f5bc1f88011cd862b8bad89..42994574854cae3ca288c8ab7698a95a44693314 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2332,6 +2332,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -2331,6 +2331,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
switch (packet.getAction()) {
case PRESS_SHIFT_KEY:
this.player.setShiftKeyDown(true);

View file

@ -6,10 +6,10 @@ Subject: [PATCH] Add configuration option to prevent player names from being
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 9acc18ca45cc4e55bcd8a1624f27245a7ae81096..fd608bb0423b7dc2076035210cb816134c9ce4c0 100644
index 6014cf7de9a6a41b0c5ff03bfd2c88d55edd53e3..14d51e174f6acdc3606faa5ccd6ba3f1e8cf4749 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2683,5 +2683,10 @@ public final class CraftServer implements Server {
@@ -2684,5 +2684,10 @@ public final class CraftServer implements Server {
commandMap.registerServerAliases();
return true;
}

View file

@ -389,10 +389,10 @@ index bc96f426d488d2a206b763dccdc4034fe24f269d..82db70c548336ada2af556251b8ae8d1
this.bans = new UserBanList(PlayerList.USERBANLIST_FILE);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index fd608bb0423b7dc2076035210cb816134c9ce4c0..059d43512dae19515abdeeb49c36c7e8b7f64cf5 100644
index 14d51e174f6acdc3606faa5ccd6ba3f1e8cf4749..8f407e9abe705a18e8b47902291ece9c42eab51c 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -43,7 +43,6 @@ import java.util.logging.Level;
@@ -44,7 +44,6 @@ import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.stream.Collectors;
import javax.imageio.ImageIO;
@ -400,7 +400,7 @@ index fd608bb0423b7dc2076035210cb816134c9ce4c0..059d43512dae19515abdeeb49c36c7e8
import net.minecraft.advancements.Advancement;
import net.minecraft.commands.CommandSourceStack;
import net.minecraft.commands.Commands;
@@ -1311,9 +1310,13 @@ public final class CraftServer implements Server {
@@ -1312,9 +1311,13 @@ public final class CraftServer implements Server {
return this.logger;
}
@ -415,7 +415,7 @@ index fd608bb0423b7dc2076035210cb816134c9ce4c0..059d43512dae19515abdeeb49c36c7e8
@Override
public PluginCommand getPluginCommand(String name) {
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index b74b300fbb27fe93b150ecba874e05dfa57a1371..21b1636ca97865c05de26dfca7e4f86b8e66dee8 100644
index 4646911b65129d49b2398c7d86f2d6aa9213fe97..c5a403bc04fcb7a0fbc1dd1fe9ebf374e6a62af3 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -13,7 +13,6 @@ import java.util.logging.Logger;

View file

@ -83,10 +83,10 @@ index 2fdfc17ef3daf9fb5cc32c807292c71e256d5356..e3394864e29357fec036f9e616472aea
b1 = 0;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 059d43512dae19515abdeeb49c36c7e8b7f64cf5..e72b64dd855a824a2bb8b8791df845f1d9f000e1 100644
index 8f407e9abe705a18e8b47902291ece9c42eab51c..06c215af9d6d4e73cd2bb6d799c35b890cc48e50 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -525,6 +525,7 @@ public final class CraftServer implements Server {
@@ -526,6 +526,7 @@ public final class CraftServer implements Server {
}
node = clone;
}
@ -94,7 +94,7 @@ index 059d43512dae19515abdeeb49c36c7e8b7f64cf5..e72b64dd855a824a2bb8b8791df845f1
dispatcher.getDispatcher().getRoot().addChild(node);
} else {
@@ -914,7 +915,13 @@ public final class CraftServer implements Server {
@@ -915,7 +916,13 @@ public final class CraftServer implements Server {
// Spigot start
if (!org.spigotmc.SpigotConfig.unknownCommandMessage.isEmpty()) {

View file

@ -631,10 +631,10 @@ index 4038bb76339d43f18770624bd7fecc79b8d7f2a9..2456edc11b29a92b1648937cd3dd6a9a
String s1 = name.toLowerCase(Locale.ROOT);
GameProfileCache.GameProfileInfo usercache_usercacheentry = (GameProfileCache.GameProfileInfo) this.profilesByName.get(s1);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index e72b64dd855a824a2bb8b8791df845f1d9f000e1..2bed3141b49789324e4e7bbec802f50ac3745edf 100644
index 06c215af9d6d4e73cd2bb6d799c35b890cc48e50..648c29d0c06655e88f450872e8bc672f38eaec26 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -260,6 +260,9 @@ import org.yaml.snakeyaml.error.MarkedYAMLException;
@@ -261,6 +261,9 @@ import org.yaml.snakeyaml.error.MarkedYAMLException;
import net.md_5.bungee.api.chat.BaseComponent; // Spigot
@ -644,7 +644,7 @@ index e72b64dd855a824a2bb8b8791df845f1d9f000e1..2bed3141b49789324e4e7bbec802f50a
public final class CraftServer implements Server {
private final String serverName = "Paper"; // Paper
private final String serverVersion;
@@ -302,6 +305,7 @@ public final class CraftServer implements Server {
@@ -303,6 +306,7 @@ public final class CraftServer implements Server {
static {
ConfigurationSerialization.registerClass(CraftOfflinePlayer.class);
ConfigurationSerialization.registerClass(CraftPlayerProfile.class);
@ -652,7 +652,7 @@ index e72b64dd855a824a2bb8b8791df845f1d9f000e1..2bed3141b49789324e4e7bbec802f50a
CraftItemFactory.instance();
}
@@ -2698,5 +2702,37 @@ public final class CraftServer implements Server {
@@ -2699,5 +2703,37 @@ public final class CraftServer implements Server {
public boolean suggestPlayerNamesWhenNullTabCompletions() {
return io.papermc.paper.configuration.GlobalConfiguration.get().commands.suggestPlayerNamesWhenNullTabCompletions;
}

View file

@ -7,18 +7,18 @@ This will take a Bukkit ItemStack and run it through any conversions a server pr
to ensure it meets latest minecraft expectations.
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
index b187c4f436ac44a529675869dbf5bfddc4fac86f..878f69460aed825d5d3204030af2aaa731a99875 100644
index 45872e28cabc655c170bee163d471acf5d913c00..7e9e365fdce960bb266a4616d4bdc6d434cb2187 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
@@ -449,5 +449,11 @@ public final class CraftItemFactory implements ItemFactory {
public net.kyori.adventure.text.@org.jetbrains.annotations.NotNull Component displayName(@org.jetbrains.annotations.NotNull ItemStack itemStack) {
@@ -469,4 +469,11 @@ public final class CraftItemFactory implements ItemFactory {
return io.papermc.paper.adventure.PaperAdventure.asAdventure(CraftItemStack.asNMSCopy(itemStack).getDisplayName());
}
// Paper end - Adventure
+
+ // Paper start
+ // Paper start - ensure server conversions API
+ @Override
+ public ItemStack ensureServerConversions(ItemStack item) {
+ return CraftItemStack.asCraftMirror(CraftItemStack.asNMSCopy(item));
+ }
// Paper end
+ // Paper end - ensure server conversions API
}

View file

@ -8,14 +8,15 @@ Currently the server only supports the English language. To override this,
You must replace the language file embedded in the server jar.
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
index 878f69460aed825d5d3204030af2aaa731a99875..f8475390d69bef6f3eca5a57d5f44021fabf4942 100644
index 7e9e365fdce960bb266a4616d4bdc6d434cb2187..5aece14ec931f4c564e847a2797e92da8ffb569b 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
@@ -455,5 +455,18 @@ public final class CraftItemFactory implements ItemFactory {
public ItemStack ensureServerConversions(ItemStack item) {
@@ -476,4 +476,19 @@ public final class CraftItemFactory implements ItemFactory {
return CraftItemStack.asCraftMirror(CraftItemStack.asNMSCopy(item));
}
// Paper end - ensure server conversions API
+
+ // Paper start - add getI18NDisplayName
+ @Override
+ public String getI18NDisplayName(ItemStack item) {
+ net.minecraft.world.item.ItemStack nms = null;
@ -28,5 +29,5 @@ index 878f69460aed825d5d3204030af2aaa731a99875..f8475390d69bef6f3eca5a57d5f44021
+
+ return nms != null ? net.minecraft.locale.Language.getInstance().getOrDefault(nms.getItem().getDescriptionId(nms)) : null;
+ }
// Paper end
+ // Paper end - add getI18NDisplayName
}

View file

@ -31,12 +31,12 @@ index 8ff786c366332588a2df053438f23cc9fb7e2b84..c887d34171f89c731d76c4ca92c70be2
Bootstrap.isBootstrapped = true;
Instant instant = Instant.now();
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index 21b1636ca97865c05de26dfca7e4f86b8e66dee8..65c7b9bd1f8dcbe87f75967f35ac91b6a2016844 100644
index c5a403bc04fcb7a0fbc1dd1fe9ebf374e6a62af3..c79afabed432ca9094967ae0e48b04133dc4c51b 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -257,10 +257,12 @@ public class Main {
Calendar deadline = Calendar.getInstance();
deadline.add(Calendar.DAY_OF_YEAR, -7);
deadline.add(Calendar.DAY_OF_YEAR, -21);
if (buildDate.before(deadline.getTime())) {
- System.err.println("*** Error, this build is outdated ***");
+ // Paper start - This is some stupid bullshit

View file

@ -5,10 +5,10 @@ Subject: [PATCH] Add PlayerJumpEvent
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index c5df103a1addefb1c11132a4b406bcdf3e8f455f..c720c85361110083b2dd622ab52791ded1f784a1 100644
index 42994574854cae3ca288c8ab7698a95a44693314..79769e770e04f0852fabed7dc7367e87bd5be310 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1292,7 +1292,34 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -1294,7 +1294,34 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
boolean flag = d7 > 0.0D;
if (this.player.onGround() && !packet.isOnGround() && flag) {

View file

@ -15,10 +15,10 @@ also adding some additional logging in order to help work out what is causing
random disconnections for clients.
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index c720c85361110083b2dd622ab52791ded1f784a1..04bff597b77e37ee90abecc2dabf8919c1ef4082 100644
index 79769e770e04f0852fabed7dc7367e87bd5be310..924f520702723b3f44ac990f6222102119d16e9c 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -3111,14 +3111,18 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -3119,14 +3119,18 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@Override
public void handleKeepAlive(ServerboundKeepAlivePacket packet) {

View file

@ -90,10 +90,10 @@ index 77d7f070cce1a47e41b5d4f5a1cc8c778352a126..a3b610cb1ed97a635677bc46ccdf0463
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 1ad53070a0725daa0622598de82382dd3e26624d..afe1de50ef9123df5138f29b0cfc75a8a7923af1 100644
index bef8c20e784244acf17128a68adfe5612812a612..1adad65a3a9a547a4383cc0caa21a6445d072200 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -284,6 +284,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -286,6 +286,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
}

View file

@ -17,10 +17,10 @@ from networking or during connections flood of chunk packets on slower clients,
at the cost of dead connections being kept open for longer.
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 04bff597b77e37ee90abecc2dabf8919c1ef4082..e206753e5b34b6ab7bd241a77a67e0cdcfa662d1 100644
index 924f520702723b3f44ac990f6222102119d16e9c..31bbd7f9db45f73e34b3cddcf4e66ccd034a1d10 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -259,7 +259,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -261,7 +261,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
public ServerPlayer player;
private int tickCount;
private int ackBlockChangesUpTo = -1;
@ -29,7 +29,7 @@ index 04bff597b77e37ee90abecc2dabf8919c1ef4082..e206753e5b34b6ab7bd241a77a67e0cd
private boolean keepAlivePending;
private long keepAliveChallenge;
// CraftBukkit start - multithreaded fields
@@ -297,6 +297,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -299,6 +299,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
private final LastSeenMessagesValidator lastSeenMessages;
private final MessageSignatureCache messageSignatureCache;
private final FutureChain chatMessageChain;
@ -37,7 +37,7 @@ index 04bff597b77e37ee90abecc2dabf8919c1ef4082..e206753e5b34b6ab7bd241a77a67e0cd
public ServerGamePacketListenerImpl(MinecraftServer server, Connection connection, ServerPlayer player) {
this.lastChatTimeStamp = new AtomicReference(Instant.EPOCH);
@@ -388,18 +389,25 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -390,18 +391,25 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
}
this.server.getProfiler().push("keepAlive");

View file

@ -16,10 +16,10 @@ Also adds isCommand and getLocation to the sync TabCompleteEvent
Co-authored-by: Aikar <aikar@aikar.co>
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index e206753e5b34b6ab7bd241a77a67e0cdcfa662d1..1d593c32abbae6ca59bad0075993c58e18a01c72 100644
index 31bbd7f9db45f73e34b3cddcf4e66ccd034a1d10..e97e0ea9c44a959c17849eac3fcecf4eff04d275 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -788,12 +788,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -790,12 +790,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
}
@ -38,7 +38,7 @@ index e206753e5b34b6ab7bd241a77a67e0cdcfa662d1..1d593c32abbae6ca59bad0075993c58e
return;
}
// Paper start
@@ -804,18 +808,45 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -806,18 +810,45 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
}
// Paper end
// CraftBukkit end
@ -91,10 +91,10 @@ index e206753e5b34b6ab7bd241a77a67e0cdcfa662d1..1d593c32abbae6ca59bad0075993c58e
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 2bed3141b49789324e4e7bbec802f50ac3745edf..ffeaa65893c576203c7b342a8689a45d3d0722bb 100644
index 648c29d0c06655e88f450872e8bc672f38eaec26..57674358b958226ff575eafffa872e76d6f0f5fa 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2148,7 +2148,7 @@ public final class CraftServer implements Server {
@@ -2149,7 +2149,7 @@ public final class CraftServer implements Server {
offers = this.tabCompleteChat(player, message);
}

View file

@ -14,10 +14,10 @@ public net.minecraft.world.entity.ExperienceOrb durabilityToXp(I)I
public net.minecraft.world.entity.ExperienceOrb xpToDurability(I)I
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index afe1de50ef9123df5138f29b0cfc75a8a7923af1..3abaf7072089b06287f959cbc356acc4c912605b 100644
index 1adad65a3a9a547a4383cc0caa21a6445d072200..063150563e35a3eeb6999f1b5b34de3f60318f66 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1506,7 +1506,37 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1538,7 +1538,37 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
@Override

View file

@ -9,10 +9,10 @@ This can be useful for changing name or skins after a player has logged in.
public-f net.minecraft.world.entity.player.Player gameProfile
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 1d593c32abbae6ca59bad0075993c58e18a01c72..da4c4e917cb850d03a4eb51ec9777e93932b552c 100644
index e97e0ea9c44a959c17849eac3fcecf4eff04d275..3580ce27843ab4e379360e2f63c8783e66384956 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1538,7 +1538,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -1540,7 +1540,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
this.internalTeleport(dest.getX(), dest.getY(), dest.getZ(), dest.getYaw(), dest.getPitch(), Collections.emptySet());
}
@ -40,10 +40,10 @@ index 6b31b0894e52ad6fc397624e50587ec04e46c099..0c7f280bae81bbb492d5780a43e5ffda
playerName = gameProfile.getName();
uniqueId = gameProfile.getId();
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
index f0a81fa99f5923813858b77c9a1c682418c928ff..712006c27570dcbcefe173484e74d1bb0763e926 100644
index b17fe83bcd7bde44ee8c1f872fffa8bf40707c50..aac78c13361b19efa7b43a0c95458390f1ba8340 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
@@ -79,8 +79,8 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa
@@ -81,8 +81,8 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa
}
@Override
@ -55,10 +55,10 @@ index f0a81fa99f5923813858b77c9a1c682418c928ff..712006c27570dcbcefe173484e74d1bb
public Server getServer() {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 3abaf7072089b06287f959cbc356acc4c912605b..39bf1e520f54abdf83dd9fd16d2f1aec58cc551b 100644
index 063150563e35a3eeb6999f1b5b34de3f60318f66..f0c07965f129c17a3258964b7bf73f9f9b6fc63e 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -86,6 +86,7 @@ import net.minecraft.world.food.FoodData;
@@ -88,6 +88,7 @@ import net.minecraft.world.food.FoodData;
import net.minecraft.world.inventory.AbstractContainerMenu;
import net.minecraft.world.level.GameType;
import net.minecraft.world.level.block.Blocks;
@ -66,7 +66,7 @@ index 3abaf7072089b06287f959cbc356acc4c912605b..39bf1e520f54abdf83dd9fd16d2f1aec
import net.minecraft.world.level.block.entity.SignBlockEntity;
import net.minecraft.world.level.block.entity.SignText;
import net.minecraft.world.level.border.BorderChangeListener;
@@ -267,11 +268,6 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -269,11 +270,6 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return server.getPlayer(getUniqueId()) != null;
}
@ -78,7 +78,7 @@ index 3abaf7072089b06287f959cbc356acc4c912605b..39bf1e520f54abdf83dd9fd16d2f1aec
@Override
public InetSocketAddress getAddress() {
if (this.getHandle().connection == null) return null;
@@ -1656,8 +1652,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1688,8 +1684,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
private void untrackAndHideEntity(org.bukkit.entity.Entity entity) {
// Remove this entity from the hidden player's EntityTrackerEntry
@ -95,7 +95,7 @@ index 3abaf7072089b06287f959cbc356acc4c912605b..39bf1e520f54abdf83dd9fd16d2f1aec
ChunkMap.TrackedEntity entry = tracker.entityMap.get(other.getId());
if (entry != null) {
entry.removePlayer(this.getHandle());
@@ -1670,8 +1673,6 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1702,8 +1705,6 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.getHandle().connection.send(new ClientboundPlayerInfoRemovePacket(List.of(otherPlayer.getUUID())));
}
}
@ -104,7 +104,7 @@ index 3abaf7072089b06287f959cbc356acc4c912605b..39bf1e520f54abdf83dd9fd16d2f1aec
}
void resetAndHideEntity(org.bukkit.entity.Entity entity) {
@@ -1748,8 +1749,38 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1780,8 +1781,38 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
if (entry != null && !entry.seenBy.contains(this.getHandle().connection)) {
entry.updatePlayer(this.getHandle());
}
@ -144,7 +144,7 @@ index 3abaf7072089b06287f959cbc356acc4c912605b..39bf1e520f54abdf83dd9fd16d2f1aec
}
void resetAndShowEntity(org.bukkit.entity.Entity entity) {
@@ -1762,6 +1793,36 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1794,6 +1825,36 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.trackAndShowEntity(entity);
}
}

View file

@ -9,10 +9,10 @@ In Offline Mode, will return an Offline UUID
This is a more performant way to obtain a UUID for a name than loading an OfflinePlayer
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index ffeaa65893c576203c7b342a8689a45d3d0722bb..78a2fdb466c56d75568af5f7d5398baf4ba8532c 100644
index 57674358b958226ff575eafffa872e76d6f0f5fa..b78c1362a2396f950f50e7ee093bbdd6ab1823f7 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1746,6 +1746,25 @@ public final class CraftServer implements Server {
@@ -1747,6 +1747,25 @@ public final class CraftServer implements Server {
return recipients.size();
}

View file

@ -9,10 +9,10 @@ e.g. servers which allow and support the usage of mod packs.
provide an optional flag to disable this check, at your own risk.
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 39bf1e520f54abdf83dd9fd16d2f1aec58cc551b..b89714e6f136cb661b962911988c04481ddb0801 100644
index f0c07965f129c17a3258964b7bf73f9f9b6fc63e..8dee7e74434356885b81e2a36664f8324ceacf57 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -191,6 +191,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -193,6 +193,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
// Paper start
private org.bukkit.event.player.PlayerResourcePackStatusEvent.Status resourcePackStatus;
private String resourcePackHash;
@ -20,7 +20,7 @@ index 39bf1e520f54abdf83dd9fd16d2f1aec58cc551b..b89714e6f136cb661b962911988c0448
// Paper end
public CraftPlayer(CraftServer server, ServerPlayer entity) {
@@ -2031,7 +2032,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2063,7 +2064,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
// Paper end
public void addChannel(String channel) {

View file

@ -5,30 +5,19 @@ Subject: [PATCH] Add openSign method to HumanEntity
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java b/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java
index 6ca423ca58f486eec05c55faf055e0cdbabde709..f48b5204e59ab0c840fc08ecb9abf5facbae9be1 100644
index a19504cf5c98b4d8070dc1ffe322b84e1896d84a..f1ba0fd5d17fb1a26cf09848d4125ecfab39eddb 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java
@@ -120,7 +120,7 @@ public class CraftSign<T extends SignBlockEntity> extends CraftBlockEntityState<
super.applyTo(sign);
}
@@ -134,6 +134,7 @@ public class CraftSign<T extends SignBlockEntity> extends CraftBlockEntityState<
return;
}
- public static void openSign(Sign sign, Player player, Side side) {
+ public static void openSign(Sign sign, org.bukkit.entity.HumanEntity player, Side side) { // Paper - change move open sign to HumanEntity
Preconditions.checkArgument(sign != null, "sign == null");
Preconditions.checkArgument(side != null, "side == null");
Preconditions.checkArgument(sign.isPlaced(), "Sign must be placed");
@@ -128,7 +128,8 @@ public class CraftSign<T extends SignBlockEntity> extends CraftBlockEntityState<
SignBlockEntity handle = ((CraftSign<?>) sign).getTileEntity();
- ((CraftPlayer) player).getHandle().openTextEdit(handle, Side.FRONT == side);
+ handle.setAllowedPlayerEditor(player.getUniqueId()); // Paper
+ ((org.bukkit.craftbukkit.entity.CraftHumanEntity) player).getHandle().openTextEdit(handle, Side.FRONT == side); // Paper - change move open sign to HumanEntity
((CraftPlayer) player).getHandle().openTextEdit(handle, Side.FRONT == side);
}
// Paper start
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
index 2f5704b19148f390402c0823030806ba96860286..f59733b6918dcbbb2190f76d8b8841a2d8818cdf 100644
index 2f5704b19148f390402c0823030806ba96860286..74f1af3dccddf52965e5c91277be3592649e8cfa 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
@@ -626,6 +626,12 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
@ -38,7 +27,7 @@ index 2f5704b19148f390402c0823030806ba96860286..f59733b6918dcbbb2190f76d8b8841a2
+ // Paper start - move open sign method to HumanEntity
+ @Override
+ public void openSign(final org.bukkit.block.Sign sign, final org.bukkit.block.sign.Side side) {
+ org.bukkit.craftbukkit.block.CraftSign.openSign(sign, this, side);
+ org.bukkit.craftbukkit.block.CraftSign.openSign(sign, (CraftPlayer) this, side);
+ }
+ // Paper end
@Override

View file

@ -5,17 +5,17 @@ Subject: [PATCH] Add config to disable ender dragon legacy check
diff --git a/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java b/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java
index c2b0eaaa1c4b74d04ba1781711208cbebd7b356c..35304d7a60348a2b4e1eec43418086086502e4ab 100644
index 077a3085045333551e67145e010c5074a35d1f9c..bf405efcd44b9d6fdc838d722d67ff7f78ceedce 100644
--- a/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java
+++ b/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java
@@ -97,6 +97,10 @@ public class EndDragonFight {
}
public EndDragonFight(ServerLevel world, long gatewaysSeed, EndDragonFight.Data data, BlockPos origin) {
@@ -106,6 +106,10 @@ public class EndDragonFight {
this.ticksSinceLastPlayerScan = 21;
this.skipArenaLoadedCheck = false;
this.needsStateScanning = true;
+ // Paper start
+ this.needsStateScanning = world.paperConfig().entities.spawning.scanForLegacyEnderDragon;
+ if (!this.needsStateScanning) this.dragonKilled = true;
+ // Paper end
this.level = world;
this.origin = origin;
this.validPlayer = EntitySelector.ENTITY_STILL_ALIVE.and(EntitySelector.withinDistance((double)origin.getX(), (double)(128 + origin.getY()), (double)origin.getZ(), 192.0D));
this.validPlayer = EntitySelector.ENTITY_STILL_ALIVE.and(EntitySelector.withinDistance((double) origin.getX(), (double) (128 + origin.getY()), (double) origin.getZ(), 192.0D));

View file

@ -29,7 +29,7 @@ index 68257f257dd3b167e237482c8d149590103896b2..33ce550ea68d4862e0966ed827200cf4
}
// 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 dda3b911fcaa294ec7b8e9d696880fcb8325f69c..8e2340ca473c8cacfe9d888091834986bad101ce 100644
index 3842caf61e388aa65b3a18c587480a7dabb8341b..bd7b8ede44a5971b034ffb75fbddbadda8f42702 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -682,7 +682,7 @@ public class ServerPlayer extends Player {
@ -75,10 +75,10 @@ index dda3b911fcaa294ec7b8e9d696880fcb8325f69c..8e2340ca473c8cacfe9d888091834986
this.doCloseContainer();
}
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index da4c4e917cb850d03a4eb51ec9777e93932b552c..c6a1b0b23d6591c482fc63abc15e5cdbce072a28 100644
index 3580ce27843ab4e379360e2f63c8783e66384956..b87df5c04ad2c9abe112cccfde27c04f7e3a78e7 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -220,6 +220,7 @@ import org.bukkit.event.inventory.ClickType;
@@ -222,6 +222,7 @@ import org.bukkit.event.inventory.ClickType;
import org.bukkit.event.inventory.CraftItemEvent;
import org.bukkit.event.inventory.InventoryAction;
import org.bukkit.event.inventory.InventoryClickEvent;
@ -86,7 +86,7 @@ index da4c4e917cb850d03a4eb51ec9777e93932b552c..c6a1b0b23d6591c482fc63abc15e5cdb
import org.bukkit.event.inventory.InventoryCreativeEvent;
import org.bukkit.event.inventory.InventoryType.SlotType;
import org.bukkit.event.inventory.SmithItemEvent;
@@ -2682,10 +2683,15 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -2681,10 +2682,15 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@Override
public void handleContainerClose(ServerboundContainerClosePacket packet) {
@ -173,10 +173,10 @@ index f59733b6918dcbbb2190f76d8b8841a2d8818cdf..ba6105a970381d642cd7955754cc4713
@Override
public boolean isBlocking() {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index b89714e6f136cb661b962911988c04481ddb0801..3bdb53c3a41da6d4d3a641f790741a3c79e1734a 100644
index 8dee7e74434356885b81e2a36664f8324ceacf57..10493d2cced7603f1d3910ff6e428d23abc45c24 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1188,7 +1188,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1190,7 +1190,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
// Close any foreign inventory
if (this.getHandle().containerMenu != this.getHandle().inventoryMenu) {
@ -186,10 +186,10 @@ index b89714e6f136cb661b962911988c04481ddb0801..3bdb53c3a41da6d4d3a641f790741a3c
// Check if the fromWorld and toWorld are the same.
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index 515e8886d04668598b6725ba11f75f40ed35d4e7..251f09a79092cce312dc107c9f2f712cbb287ce9 100644
index ceb8d024888425248cb40eb3fbbe39fc4be1207b..4942ea5a66af310eac646a6be20e997d53ab99fb 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1278,7 +1278,7 @@ public class CraftEventFactory {
@@ -1304,7 +1304,7 @@ public class CraftEventFactory {
public static AbstractContainerMenu callInventoryOpenEvent(ServerPlayer player, AbstractContainerMenu container, boolean cancelled) {
if (player.containerMenu != player.inventoryMenu) { // fire INVENTORY_CLOSE if one already open
@ -198,7 +198,7 @@ index 515e8886d04668598b6725ba11f75f40ed35d4e7..251f09a79092cce312dc107c9f2f712c
}
CraftServer server = player.level().getCraftServer();
@@ -1452,8 +1452,18 @@ public class CraftEventFactory {
@@ -1478,8 +1478,18 @@ public class CraftEventFactory {
return event;
}

View file

@ -16,10 +16,10 @@ Refresh the player inventory when PlayerInteractEntityEvent is
cancelled to avoid this problem.
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index c6a1b0b23d6591c482fc63abc15e5cdbce072a28..c0c9c45dd550a323ae6c6dbe72de90a7d1258878 100644
index b87df5c04ad2c9abe112cccfde27c04f7e3a78e7..189f6f41a09b09ba9fa2131857918898086256ba 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2564,6 +2564,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -2563,6 +2563,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
}
if (event.isCancelled()) {

View file

@ -89,10 +89,10 @@ index 1beff41c02fb4c22b5474da7c514be2f50f16055..8a53284a5846b25864352e18a5e6b2de
public boolean isClientSide() {
return this.isClientSide;
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index 251f09a79092cce312dc107c9f2f712cbb287ce9..6c64de07bda20df15809dadc69d0d8ad05028677 100644
index 4942ea5a66af310eac646a6be20e997d53ab99fb..53af54ffecd7fdb20588d75a8c32003cb89a75b1 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1315,6 +1315,14 @@ public class CraftEventFactory {
@@ -1341,6 +1341,14 @@ public class CraftEventFactory {
Projectile projectile = (Projectile) entity.getBukkitEntity();
org.bukkit.entity.Entity collided = position.getEntity().getBukkitEntity();
com.destroystokyo.paper.event.entity.ProjectileCollideEvent event = new com.destroystokyo.paper.event.entity.ProjectileCollideEvent(projectile, collided);

View file

@ -22,10 +22,10 @@ to take the burden of this into their own hand without having to rely on
plugins doing unsafe things.
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index c0c9c45dd550a323ae6c6dbe72de90a7d1258878..7e9955db343f2539210c4f89cf566db1e4e3600d 100644
index 189f6f41a09b09ba9fa2131857918898086256ba..739239c9ee8c3642a6d96238c11dddf7a848e4fd 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -265,6 +265,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -267,6 +267,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
private long keepAliveChallenge;
// CraftBukkit start - multithreaded fields
private final AtomicInteger chatSpamTickCount = new AtomicInteger();
@ -33,7 +33,7 @@ index c0c9c45dd550a323ae6c6dbe72de90a7d1258878..7e9955db343f2539210c4f89cf566db1
// CraftBukkit end
private int dropSpamTickCount;
private double firstGoodX;
@@ -413,6 +414,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -415,6 +416,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
this.server.getProfiler().pop();
// CraftBukkit start
for (int spam; (spam = this.chatSpamTickCount.get()) > 0 && !this.chatSpamTickCount.compareAndSet(spam, spam - 1); ) ;
@ -41,7 +41,7 @@ index c0c9c45dd550a323ae6c6dbe72de90a7d1258878..7e9955db343f2539210c4f89cf566db1
/* Use thread-safe field access instead
if (this.chatSpamTickCount > 0) {
--this.chatSpamTickCount;
@@ -797,7 +799,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -799,7 +801,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
public void handleCustomCommandSuggestions(ServerboundCommandSuggestionPacket packet) {
// PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel()); // Paper - run this async
// CraftBukkit start

View file

@ -33,10 +33,10 @@ index 24f62f9c4d288297d7a324e806745cc1449d7b4c..29eadf85e11c2261218fa406b29455da
com.destroystokyo.paper.Metrics.PaperMetrics.startMetrics();
com.destroystokyo.paper.VersionHistoryManager.INSTANCE.getClass(); // load version history now
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 78a2fdb466c56d75568af5f7d5398baf4ba8532c..b4df2dccee19bc529bcd76698ce0009e35bc271d 100644
index b78c1362a2396f950f50e7ee093bbdd6ab1823f7..2a4cddc0ed4d71b6db9112ff1397da5ddb433c1d 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -934,6 +934,7 @@ public final class CraftServer implements Server {
@@ -935,6 +935,7 @@ public final class CraftServer implements Server {
@Override
public void reload() {
@ -44,7 +44,7 @@ index 78a2fdb466c56d75568af5f7d5398baf4ba8532c..b4df2dccee19bc529bcd76698ce0009e
this.reloadCount++;
this.configuration = YamlConfiguration.loadConfiguration(this.getConfigFile());
this.commandsConfiguration = YamlConfiguration.loadConfiguration(this.getCommandsConfigFile());
@@ -1023,6 +1024,7 @@ public final class CraftServer implements Server {
@@ -1024,6 +1025,7 @@ public final class CraftServer implements Server {
this.enablePlugins(PluginLoadOrder.STARTUP);
this.enablePlugins(PluginLoadOrder.POSTWORLD);
this.getPluginManager().callEvent(new ServerLoadEvent(ServerLoadEvent.LoadType.RELOAD));

View file

@ -5,10 +5,10 @@ Subject: [PATCH] Expose attack cooldown methods for Player
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 3bdb53c3a41da6d4d3a641f790741a3c79e1734a..3421f446849bd4feded248406bd4748416e4d9fa 100644
index 10493d2cced7603f1d3910ff6e428d23abc45c24..cd52349a272f4e0b440f6e1bc96e072687117e9f 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2785,6 +2785,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2817,6 +2817,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return this.adventure$pointers;
}

View file

@ -19,7 +19,7 @@ public net.minecraft.world.entity.LivingEntity getDeathSound()Lnet/minecraft/sou
public net.minecraft.world.entity.LivingEntity getSoundVolume()F
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 8e2340ca473c8cacfe9d888091834986bad101ce..0282a467268564c55d9d6e10b0602f952b2ca7ae 100644
index bd7b8ede44a5971b034ffb75fbddbadda8f42702..41e0b2826bae59e48fef7e35caeb3ce6e46031ea 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -243,6 +243,10 @@ public class ServerPlayer extends Player {
@ -392,10 +392,10 @@ index 719f68f96e58ddcdd3592131c691d21263c81915..a35a0952ce8e1fc42e92734786d531c7
this.gameEvent(GameEvent.ENTITY_DIE);
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 3421f446849bd4feded248406bd4748416e4d9fa..7db1f6ae9ee30293086f6b0d5fe86965f278c87e 100644
index cd52349a272f4e0b440f6e1bc96e072687117e9f..2a4dff1b9bf64b5fc073bbc943def71b289f7730 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2285,7 +2285,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2317,7 +2317,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void sendHealthUpdate() {
FoodData foodData = this.getHandle().getFoodData();
@ -412,10 +412,10 @@ index 3421f446849bd4feded248406bd4748416e4d9fa..7db1f6ae9ee30293086f6b0d5fe86965
public void injectScaledMaxHealth(Collection<AttributeInstance> collection, boolean force) {
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index 6c64de07bda20df15809dadc69d0d8ad05028677..9064f07fcbe0067c4b78cde026e58ae68f1aa4b9 100644
index 53af54ffecd7fdb20588d75a8c32003cb89a75b1..eaca76dfec9cbe3cbb9972a0c9cf30599816fcda 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -837,9 +837,16 @@ public class CraftEventFactory {
@@ -863,9 +863,16 @@ public class CraftEventFactory {
public static EntityDeathEvent callEntityDeathEvent(net.minecraft.world.entity.LivingEntity victim, List<org.bukkit.inventory.ItemStack> drops) {
CraftLivingEntity entity = (CraftLivingEntity) victim.getBukkitEntity();
EntityDeathEvent event = new EntityDeathEvent(entity, drops, victim.getExpReward());
@ -432,7 +432,7 @@ index 6c64de07bda20df15809dadc69d0d8ad05028677..9064f07fcbe0067c4b78cde026e58ae6
victim.expToDrop = event.getDroppedExp();
for (org.bukkit.inventory.ItemStack stack : event.getDrops()) {
@@ -856,8 +863,15 @@ public class CraftEventFactory {
@@ -882,8 +889,15 @@ public class CraftEventFactory {
PlayerDeathEvent event = new PlayerDeathEvent(entity, drops, victim.getExpReward(), 0, deathMessage, stringDeathMessage); // Paper - Adventure
event.setKeepInventory(keepInventory);
event.setKeepLevel(victim.keepLevel); // SPIGOT-2222: pre-set keepLevel
@ -448,7 +448,7 @@ index 6c64de07bda20df15809dadc69d0d8ad05028677..9064f07fcbe0067c4b78cde026e58ae6
victim.keepLevel = event.getKeepLevel();
victim.newLevel = event.getNewLevel();
@@ -874,6 +888,31 @@ public class CraftEventFactory {
@@ -900,6 +914,31 @@ public class CraftEventFactory {
return event;
}

View file

@ -5,10 +5,10 @@ Subject: [PATCH] Allow chests to be placed with NBT data
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
index 940caf9b7526019ace656ff88146f198ba6b62ed..7d80eded30109982fd3a1b815ba5dff4b699689a 100644
index c33660718c0ea281d7bcdb15df0568d4d46547e2..0caf3eeb7984e842f7a0bdfed3021d0b231a0dd0 100644
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
@@ -377,6 +377,7 @@ public final class ItemStack {
@@ -381,6 +381,7 @@ public final class ItemStack {
enuminteractionresult = InteractionResult.FAIL; // cancel placement
// PAIL: Remove this when MC-99075 fixed
placeEvent.getPlayer().updateInventory();

View file

@ -6,10 +6,10 @@ Subject: [PATCH] Add option to prevent players from moving into unloaded
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 7e9955db343f2539210c4f89cf566db1e4e3600d..9a6caf7b445b033c30f8972ebcc9947b99fa44ef 100644
index 739239c9ee8c3642a6d96238c11dddf7a848e4fd..67e423040969a175983dba5bacd675f6b57e88ff 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -567,9 +567,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -569,9 +569,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
double d0 = entity.getX();
double d1 = entity.getY();
double d2 = entity.getZ();
@ -22,7 +22,7 @@ index 7e9955db343f2539210c4f89cf566db1e4e3600d..9a6caf7b445b033c30f8972ebcc9947b
float f = Mth.wrapDegrees(packet.getYRot());
float f1 = Mth.wrapDegrees(packet.getXRot());
double d6 = d3 - this.vehicleFirstGoodX;
@@ -604,6 +604,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -606,6 +606,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
}
speed *= 2f; // TODO: Get the speed of the vehicle instead of the player
@ -39,7 +39,7 @@ index 7e9955db343f2539210c4f89cf566db1e4e3600d..9a6caf7b445b033c30f8972ebcc9947b
if (d10 - d9 > Math.max(100.0D, Math.pow((double) (org.spigotmc.SpigotConfig.movedTooQuicklyMultiplier * (float) i * speed), 2)) && !this.isSingleplayerOwner()) {
// CraftBukkit end
ServerGamePacketListenerImpl.LOGGER.warn("{} (vehicle of {}) moved too quickly! {},{},{}", new Object[]{entity.getName().getString(), this.player.getName().getString(), d6, d7, d8});
@@ -1257,9 +1267,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -1259,9 +1269,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
this.allowedPlayerTicks = 20; // CraftBukkit
} else {
this.awaitingTeleportTime = this.tickCount;
@ -52,7 +52,7 @@ index 7e9955db343f2539210c4f89cf566db1e4e3600d..9a6caf7b445b033c30f8972ebcc9947b
float f = Mth.wrapDegrees(packet.getYRot(this.player.getYRot()));
float f1 = Mth.wrapDegrees(packet.getXRot(this.player.getXRot()));
@@ -1314,6 +1324,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -1316,6 +1326,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
} else {
speed = this.player.getAbilities().walkingSpeed * 10f;
}

View file

@ -161,7 +161,7 @@ index 0000000000000000000000000000000000000000..224d4b2cc45b0d02230a76caee9c8857
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java
index 301e89f638e38ad216d545a3cb5b7375695e6fe6..081e6c7ce4a0185ba75e48bbb581fd531cdb10a8 100644
index 1b526fff47e5a3d9a5325c73966dd2bf3dbbdc19..633e6f4922ccaf59979a22885162f42c65bf628a 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java
@@ -49,7 +49,7 @@ public class CraftContainer extends AbstractContainerMenu {
@ -182,7 +182,7 @@ index 301e89f638e38ad216d545a3cb5b7375695e6fe6..081e6c7ce4a0185ba75e48bbb581fd53
}
// Paper end
@@ -246,6 +246,10 @@ public class CraftContainer extends AbstractContainerMenu {
@@ -247,6 +247,10 @@ public class CraftContainer extends AbstractContainerMenu {
this.lastSlots = delegate.lastSlots;
this.slots = delegate.slots;
this.remoteSlots = delegate.remoteSlots;

View file

@ -59,10 +59,10 @@ index 7adf7d1248680e591638298f13f5ae88788f5e4c..bdf11a98614c9c12d3112f437651be81
this.level.destroyBlockProgress(this.player.getId(), pos, -1);
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 9a6caf7b445b033c30f8972ebcc9947b99fa44ef..42ef3a732ae94502ad921b881f55d6882de2199c 100644
index 67e423040969a175983dba5bacd675f6b57e88ff..f3a786825b76dc70170ec57db1b3baa9c5033c34 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1662,6 +1662,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -1664,6 +1664,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
case START_DESTROY_BLOCK:
case ABORT_DESTROY_BLOCK:
case STOP_DESTROY_BLOCK:

View file

@ -18,10 +18,10 @@ index e3467aaf6d0c8d486b84362e3c20b3fe631b50ff..8f16640fc2f1233c10392d7e32a54d78
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index b4df2dccee19bc529bcd76698ce0009e35bc271d..d8f53e9cefcd286687f092fd09714a62263567f1 100644
index 2a4cddc0ed4d71b6db9112ff1397da5ddb433c1d..4b3749c20f0530f3b1268827dfe8f7ee898322fb 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2724,6 +2724,16 @@ public final class CraftServer implements Server {
@@ -2725,6 +2725,16 @@ public final class CraftServer implements Server {
return io.papermc.paper.configuration.GlobalConfiguration.get().commands.suggestPlayerNamesWhenNullTabCompletions;
}

View file

@ -6,10 +6,10 @@ Subject: [PATCH] Book Size Limits
Puts some limits on the size of books.
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 42ef3a732ae94502ad921b881f55d6882de2199c..5b99f5147ae44b3e9f0310a2a133d8b1d6ab5614 100644
index f3a786825b76dc70170ec57db1b3baa9c5033c34..d85f9e09820594edcf984cede8711069566ec5fe 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1124,6 +1124,45 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -1126,6 +1126,45 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@Override
public void handleEditBook(ServerboundEditBookPacket packet) {

View file

@ -40,10 +40,10 @@ index 2bccba03bb12cf17a82c1e54c2bb10535b7c8964..5657493e215a17f3132f9d4114248751
GameProfileCache usercache = this.server.getProfileCache();
String s;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
index 712006c27570dcbcefe173484e74d1bb0763e926..ef48315b98aa39ed245fb7619cf594bfb767931a 100644
index aac78c13361b19efa7b43a0c95458390f1ba8340..f572a74b85df36a6da76b78ec29d807273867537 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
@@ -249,6 +249,61 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa
@@ -261,6 +261,61 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa
return this.getData() != null;
}
@ -106,10 +106,10 @@ index 712006c27570dcbcefe173484e74d1bb0763e926..ef48315b98aa39ed245fb7619cf594bf
public Location getLastDeathLocation() {
if (this.getData().contains("LastDeathLocation", 10)) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 7db1f6ae9ee30293086f6b0d5fe86965f278c87e..7afaa37d1d6d98fa79f91493897cfe68daf4698c 100644
index 2a4dff1b9bf64b5fc073bbc943def71b289f7730..22b8b61f260f91d7c79b3772af3134a81db304ac 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -192,6 +192,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -194,6 +194,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
private org.bukkit.event.player.PlayerResourcePackStatusEvent.Status resourcePackStatus;
private String resourcePackHash;
private static final boolean DISABLE_CHANNEL_LIMIT = System.getProperty("paper.disableChannelLimit") != null; // Paper - add a flag to disable the channel limit
@ -117,7 +117,7 @@ index 7db1f6ae9ee30293086f6b0d5fe86965f278c87e..7afaa37d1d6d98fa79f91493897cfe68
// Paper end
public CraftPlayer(CraftServer server, ServerPlayer entity) {
@@ -1903,6 +1904,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1935,6 +1936,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.firstPlayed = firstPlayed;
}
@ -136,7 +136,7 @@ index 7db1f6ae9ee30293086f6b0d5fe86965f278c87e..7afaa37d1d6d98fa79f91493897cfe68
public void readExtraData(CompoundTag nbttagcompound) {
this.hasPlayedBefore = true;
if (nbttagcompound.contains("bukkit")) {
@@ -1925,6 +1938,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1957,6 +1970,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
public void setExtraData(CompoundTag nbttagcompound) {
@ -145,7 +145,7 @@ index 7db1f6ae9ee30293086f6b0d5fe86965f278c87e..7afaa37d1d6d98fa79f91493897cfe68
if (!nbttagcompound.contains("bukkit")) {
nbttagcompound.put("bukkit", new CompoundTag());
}
@@ -1939,6 +1954,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1971,6 +1986,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
data.putLong("firstPlayed", this.getFirstPlayed());
data.putLong("lastPlayed", System.currentTimeMillis());
data.putString("lastKnownName", handle.getScoreboardName());

View file

@ -12,10 +12,10 @@ Player we will look at limiting the scope of this change. It appears to
be unintentional in the few cases we've seen so far.
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 7afaa37d1d6d98fa79f91493897cfe68daf4698c..de73f58180c083557a73078c45e57dbabf5429e8 100644
index 22b8b61f260f91d7c79b3772af3134a81db304ac..4714d063f18806187fbd39315467ce467e30c6a2 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2832,6 +2832,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2864,6 +2864,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public void resetCooldown() {
getHandle().resetAttackStrengthTicker();
}

View file

@ -10,7 +10,7 @@ Adds CommandRegisteredEvent
- Allows manipulating the CommandNode to add more children/metadata for the client
diff --git a/build.gradle.kts b/build.gradle.kts
index cfaa988f64c4b994b918e2f947c58dd8743a9dfb..527e39bcd6aea7560b5d8ef37377c2f37da5c1ca 100644
index e6d66db4b5fe4385c34329897c8277e4bc814129..6807a91d4d55dc90e2820caa855a44844c87b7e2 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -14,6 +14,7 @@ val alsoShade: Configuration by configurations.creating
@ -131,10 +131,10 @@ index b7f1569c662df13f278fc704cabec0400ba7c382..87ce129e1d592bcf68169feb559f44d5
if (commandnode2.canUse(source)) {
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 5b99f5147ae44b3e9f0310a2a133d8b1d6ab5614..1dceea00a4299904b7205ef38f8993d092f5ff69 100644
index d85f9e09820594edcf984cede8711069566ec5fe..9a134d65ebb4d004cc1a92fd832975e307667a03 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -840,8 +840,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -842,8 +842,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
ParseResults<CommandSourceStack> parseresults = this.server.getCommands().getDispatcher().parse(stringreader, this.player.createCommandSourceStack());
this.server.getCommands().getDispatcher().getCompletionSuggestions(parseresults).thenAccept((suggestions) -> {
@ -149,7 +149,7 @@ index 5b99f5147ae44b3e9f0310a2a133d8b1d6ab5614..1dceea00a4299904b7205ef38f8993d0
});
});
}
@@ -856,7 +860,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -858,7 +862,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
builder.suggest(completion.suggestion(), PaperAdventure.asVanilla(completion.tooltip()));
}
});

View file

@ -22,10 +22,10 @@ it only impacts data sent from the client.
Set -DPaper.maxSignLength=XX to change limit or -1 to disable
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 1dceea00a4299904b7205ef38f8993d092f5ff69..417852dd515f436aabb89468a2b282b044e5de06 100644
index 9a134d65ebb4d004cc1a92fd832975e307667a03..9358e4edc7265326c0ec32e60f596b0f61ee690f 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -300,6 +300,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -302,6 +302,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
private final MessageSignatureCache messageSignatureCache;
private final FutureChain chatMessageChain;
private static final long KEEPALIVE_LIMIT = Long.getLong("paper.playerconnection.keepalive", 30) * 1000; // Paper - provide property to set keepalive limit
@ -33,7 +33,7 @@ index 1dceea00a4299904b7205ef38f8993d092f5ff69..417852dd515f436aabb89468a2b282b0
public ServerGamePacketListenerImpl(MinecraftServer server, Connection connection, ServerPlayer player) {
this.lastChatTimeStamp = new AtomicReference(Instant.EPOCH);
@@ -3201,7 +3202,19 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -3209,7 +3210,19 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@Override
public void handleSignUpdate(ServerboundSignUpdatePacket packet) {

View file

@ -5,10 +5,10 @@ Subject: [PATCH] Fix CB call to changed postToMainThread method
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 417852dd515f436aabb89468a2b282b044e5de06..bd70158d200f0bd9e52e46c9b5c8c7261a1646f5 100644
index 9358e4edc7265326c0ec32e60f596b0f61ee690f..7f63eef706021e05ddb01ddc38ce672e5b0a5531 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -515,7 +515,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -517,7 +517,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
Objects.requireNonNull(this.connection);
// CraftBukkit - Don't wait

View file

@ -5,10 +5,10 @@ Subject: [PATCH] Expose the internal current tick
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index d8f53e9cefcd286687f092fd09714a62263567f1..7aa2682a8f6086550a3f27072dc7ec2425b3c116 100644
index 4b3749c20f0530f3b1268827dfe8f7ee898322fb..7dae9866289e776c57e498121f79c1154809822d 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2765,5 +2765,10 @@ public final class CraftServer implements Server {
@@ -2766,5 +2766,10 @@ public final class CraftServer implements Server {
profile.getProperties().putAll(((CraftPlayer)player).getHandle().getGameProfile().getProperties());
return new com.destroystokyo.paper.profile.CraftPlayerProfile(profile);
}

View file

@ -1573,10 +1573,10 @@ index b738e1f7debac7d70910d5ac908ca9d4f60640d5..269ebe8e8826a0c89e471cb59b503900
public CraftChunk(net.minecraft.world.level.chunk.LevelChunk chunk) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 7aa2682a8f6086550a3f27072dc7ec2425b3c116..3ad73272d67c1ffc0cdb1f119132490318c79abf 100644
index 7dae9866289e776c57e498121f79c1154809822d..e5eedc1ff0b60414406bb0b131e3b0170991f046 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2294,7 +2294,7 @@ public final class CraftServer implements Server {
@@ -2295,7 +2295,7 @@ public final class CraftServer implements Server {
public ChunkGenerator.ChunkData createChunkData(World world) {
Preconditions.checkArgument(world != null, "World cannot be null");
ServerLevel handle = ((CraftWorld) world).getHandle();

View file

@ -5,10 +5,10 @@ Subject: [PATCH] add hand to BlockMultiPlaceEvent
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index 9064f07fcbe0067c4b78cde026e58ae68f1aa4b9..2739c8424da929642d5ae029bfd75f8c302ac767 100644
index eaca76dfec9cbe3cbb9972a0c9cf30599816fcda..ee7a7b80f96712830ea92daefb4454df70def170 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -374,13 +374,18 @@ public class CraftEventFactory {
@@ -399,13 +399,18 @@ public class CraftEventFactory {
}
org.bukkit.inventory.ItemStack item;

View file

@ -184,10 +184,10 @@ index cd57953e31c1f0f51553be113d84760f24b061b0..36112a1ab7306deb3cc38b103f22f7c1
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 3ad73272d67c1ffc0cdb1f119132490318c79abf..286eb9b9618798e0937fc73c846b92b1d64bb8f3 100644
index e5eedc1ff0b60414406bb0b131e3b0170991f046..6b7dc90df1d023d867f0eec30edd0e49f49899a1 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2549,6 +2549,16 @@ public final class CraftServer implements Server {
@@ -2550,6 +2550,16 @@ public final class CraftServer implements Server {
net.minecraft.server.MinecraftServer.getServer().tps15.getAverage()
};
}

View file

@ -6,10 +6,10 @@ Subject: [PATCH] Expose MinecraftServer#isRunning
This allows for plugins to detect if the server is actually turning off in onDisable rather than just plugins reloading.
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 286eb9b9618798e0937fc73c846b92b1d64bb8f3..97474f1835bb92446b2d63db40791310676d936c 100644
index 6b7dc90df1d023d867f0eec30edd0e49f49899a1..8d104a58a5ebe4e019d398f17286527f2d33dac7 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2780,5 +2780,10 @@ public final class CraftServer implements Server {
@@ -2781,5 +2781,10 @@ public final class CraftServer implements Server {
public int getCurrentTick() {
return net.minecraft.server.MinecraftServer.currentTick;
}

View file

@ -116,10 +116,10 @@ index 65d17836785774d0f196321ba741ffd05a9db36e..fd34a2ace2efc819b06674ceab44ff78
if (getMainArm() != packet.mainHand()) {
PlayerChangedMainHandEvent event = new PlayerChangedMainHandEvent(this.getBukkitEntity(), getMainArm() == HumanoidArm.LEFT ? MainHand.LEFT : MainHand.RIGHT);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index de73f58180c083557a73078c45e57dbabf5429e8..0e5ff317d541a077f822bc0229e71915c2faf3c0 100644
index 4714d063f18806187fbd39315467ce467e30c6a2..8094fbb1aa84c93cf6660e2c7a32772bfc3ec62f 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -601,6 +601,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -603,6 +603,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
connection.disconnect(message == null ? net.kyori.adventure.text.Component.empty() : message);
}
}

View file

@ -16,7 +16,7 @@ So even if something NEW comes up, it would be impossible to drop the
same item twice because the source was destroyed.
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index e1e9bc47e2e666ac5355d3b6a91a1a2dbd46e691..f5c1de9671bf823a7f2fa78acfa8f9065d6eb517 100644
index d7cf9ca3a1002463b09ed709f3003d0528a3ff0b..ce4b2ec2ad6138b754ced976521d1c73eb4193a8 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2449,11 +2449,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@ -135,10 +135,10 @@ index a35a0952ce8e1fc42e92734786d531c7e10b34d7..498c6664fcfb028111031691348bfa2e
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index 2739c8424da929642d5ae029bfd75f8c302ac767..9a9896e9424298c564a11a541448b54198461e62 100644
index ee7a7b80f96712830ea92daefb4454df70def170..81c77354a856956283fc149980a9a09e99b544f5 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -840,6 +840,11 @@ public class CraftEventFactory {
@@ -866,6 +866,11 @@ public class CraftEventFactory {
}
public static EntityDeathEvent callEntityDeathEvent(net.minecraft.world.entity.LivingEntity victim, List<org.bukkit.inventory.ItemStack> drops) {
@ -150,7 +150,7 @@ index 2739c8424da929642d5ae029bfd75f8c302ac767..9a9896e9424298c564a11a541448b541
CraftLivingEntity entity = (CraftLivingEntity) victim.getBukkitEntity();
EntityDeathEvent event = new EntityDeathEvent(entity, drops, victim.getExpReward());
populateFields(victim, event); // Paper - make cancellable
@@ -853,11 +858,13 @@ public class CraftEventFactory {
@@ -879,11 +884,13 @@ public class CraftEventFactory {
playDeathSound(victim, event);
// Paper end
victim.expToDrop = event.getDroppedExp();

View file

@ -5,10 +5,10 @@ Subject: [PATCH] Validate PickItem Packet and kick for invalid
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index bd70158d200f0bd9e52e46c9b5c8c7261a1646f5..fbc5b78c0356d2bbe7a5eb48424e9d701251ac25 100644
index 7f63eef706021e05ddb01ddc38ce672e5b0a5531..2f220a0b42aae276f9fb7a3f4ec5d2890b61af16 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -967,7 +967,14 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -969,7 +969,14 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@Override
public void handlePickItem(ServerboundPickItemPacket packet) {
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel());

View file

@ -5,10 +5,10 @@ Subject: [PATCH] Expose game version
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 97474f1835bb92446b2d63db40791310676d936c..d0545e5543f60ca30ca885407cca442365644e84 100644
index 8d104a58a5ebe4e019d398f17286527f2d33dac7..c3855d89f7d9b8c17b53d7ed34734d32f338fbc5 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -579,6 +579,13 @@ public final class CraftServer implements Server {
@@ -580,6 +580,13 @@ public final class CraftServer implements Server {
return this.bukkitVersion;
}

View file

@ -74,10 +74,10 @@ index 0c7f280bae81bbb492d5780a43e5ffda0f58756a..238a7bc87ab49da1f0fa3c733dd512fd
this.connection.send(new ClientboundDisconnectPacket(ichatmutablecomponent));
this.connection.disconnect(ichatmutablecomponent);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index d0545e5543f60ca30ca885407cca442365644e84..11a254484d078769085b278eb338d320d30b5a5a 100644
index c3855d89f7d9b8c17b53d7ed34734d32f338fbc5..704572fb2b62afccf0a130b8430c78d306587b65 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1025,6 +1025,7 @@ public final class CraftServer implements Server {
@@ -1026,6 +1026,7 @@ public final class CraftServer implements Server {
plugin.getDescription().getFullName(),
"This plugin is not properly shutting down its async tasks when it is being reloaded. This may cause conflicts with the newly loaded version of the plugin"
));

View file

@ -5,10 +5,10 @@ Subject: [PATCH] Prevent teleporting dead entities
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index fbc5b78c0356d2bbe7a5eb48424e9d701251ac25..5257f7f32f5fea130fb391e32300d803a7fbb3a8 100644
index 2f220a0b42aae276f9fb7a3f4ec5d2890b61af16..b7c1bc87b91c1056419681a09624efefc924815f 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1615,6 +1615,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -1617,6 +1617,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
}
public void internalTeleport(double d0, double d1, double d2, float f, float f1, Set<RelativeMovement> set) { // Paper

View file

@ -792,10 +792,10 @@ index 4379b9948f1eecfe6fd7dea98e298ad5f761019a..3f081183521603824430709886a9cc31
LOOK,
JUMP,
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 11a254484d078769085b278eb338d320d30b5a5a..94f938225f665a9b75e910ae2c8bb4617191d0aa 100644
index 704572fb2b62afccf0a130b8430c78d306587b65..900e38b7ac712cdbc64ec580ee7f2e09e1ceccc3 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2793,5 +2793,11 @@ public final class CraftServer implements Server {
@@ -2794,5 +2794,11 @@ public final class CraftServer implements Server {
public boolean isStopping() {
return net.minecraft.server.MinecraftServer.getServer().hasStopped();
}

View file

@ -5,10 +5,10 @@ Subject: [PATCH] Option for maximum exp value when merging orbs
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index 9a9896e9424298c564a11a541448b54198461e62..274c88c8bc2b1936e4db003709c17bcc73cf6b27 100644
index 81c77354a856956283fc149980a9a09e99b544f5..f120e9f2fa6919419f354f164d415a16a19ea9b0 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -661,16 +661,30 @@ public class CraftEventFactory {
@@ -686,16 +686,30 @@ public class CraftEventFactory {
net.minecraft.world.entity.ExperienceOrb xp = (net.minecraft.world.entity.ExperienceOrb) entity;
double radius = world.spigotConfig.expMerge;
if (radius > 0) {

View file

@ -9,10 +9,10 @@ Plugins can cancel this if they want to ensure experience orbs do not lose impor
metadata such as spawn reason, or conditionally move data from source to target.
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index 274c88c8bc2b1936e4db003709c17bcc73cf6b27..722160b12bbeb2f4ffe1c0a2916042f5a0bad6d5 100644
index f120e9f2fa6919419f354f164d415a16a19ea9b0..10eb0eed4bf0cc93e4e32c282735c2863f10837c 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -671,7 +671,7 @@ public class CraftEventFactory {
@@ -696,7 +696,7 @@ public class CraftEventFactory {
if (e instanceof net.minecraft.world.entity.ExperienceOrb) {
net.minecraft.world.entity.ExperienceOrb loopItem = (net.minecraft.world.entity.ExperienceOrb) e;
// Paper start

View file

@ -22,10 +22,10 @@ index f4ad35b55cacd5c1c3e4d81d4a9cf9675349ce79..53876c0d957e2d151e93744eff606060
// CraftBukkit end
if (this.getConnection() != null) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 94f938225f665a9b75e910ae2c8bb4617191d0aa..3f94c9aa16ba5a6bba0f7711acf6eae3201666fd 100644
index 900e38b7ac712cdbc64ec580ee7f2e09e1ceccc3..6134dfb1b64c8ab88053f62aea5341ead2563db7 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1035,6 +1035,31 @@ public final class CraftServer implements Server {
@@ -1036,6 +1036,31 @@ public final class CraftServer implements Server {
org.spigotmc.WatchdogThread.hasStarted = true; // Paper - Disable watchdog early timeout on reload
}

View file

@ -14,10 +14,10 @@ behaviour, we need to move all of this dangerous logic outside
of the move call and into an appropriate place in the tick method.
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 5257f7f32f5fea130fb391e32300d803a7fbb3a8..ae91463a28de87f939ad7dde1674dcb1139ef197 100644
index b7c1bc87b91c1056419681a09624efefc924815f..7e2f2c503f0af6b63ae496beb7cd9b34e61b16c9 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1441,6 +1441,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -1443,6 +1443,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
this.player.move(MoverType.PLAYER, new Vec3(d6, d7, d8));
this.player.onGround = packet.isOnGround(); // CraftBukkit - SPIGOT-5810, SPIGOT-5835, SPIGOT-6828: reset by this.player.move

View file

@ -5,25 +5,51 @@ Subject: [PATCH] Add and implement PlayerRecipeBookClickEvent
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index ae91463a28de87f939ad7dde1674dcb1139ef197..d48dfd41d81ccd0931a410b9e2b9a11b604a451b 100644
index 7e2f2c503f0af6b63ae496beb7cd9b34e61b16c9..dbae4102766837af9b173773c3d1a09439a1d606 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -3117,9 +3117,15 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -3116,16 +3116,40 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
if (!this.player.containerMenu.stillValid(this.player)) {
ServerGamePacketListenerImpl.LOGGER.debug("Player {} interacted with invalid menu {}", this.player, this.player.containerMenu);
} else {
- this.server.getRecipeManager().byKey(packet.getRecipe()).ifPresent((irecipe) -> {
- ((RecipeBookMenu) this.player.containerMenu).handlePlacement(packet.isShiftDown(), irecipe, this.player);
- });
+ // Paper start - fire event for clicking recipes in the recipe book
+ com.destroystokyo.paper.event.player.PlayerRecipeBookClickEvent event = new com.destroystokyo.paper.event.player.PlayerRecipeBookClickEvent(
+ player.getBukkitEntity(), org.bukkit.craftbukkit.util.CraftNamespacedKey.fromMinecraft(packet.getRecipe()), packet.isShiftDown());
+ if (event.callEvent() && this.player.containerMenu instanceof RecipeBookMenu<?> recipeBookMenu) { // check if inventory changed during event handling
+ this.server.getRecipeManager().byKey(org.bukkit.craftbukkit.util.CraftNamespacedKey.toMinecraft(event.getRecipe())).ifPresent((irecipe) -> {
+ recipeBookMenu.handlePlacement(event.isMakeAll(), irecipe, this.player);
+ });
+ // Paper start
+ ResourceLocation recipeName = packet.getRecipe();
+ boolean makeAll = packet.isShiftDown();
+ com.destroystokyo.paper.event.player.PlayerRecipeBookClickEvent paperEvent = new com.destroystokyo.paper.event.player.PlayerRecipeBookClickEvent(
+ this.player.getBukkitEntity(), org.bukkit.craftbukkit.util.CraftNamespacedKey.fromMinecraft(recipeName), makeAll
+ );
+ if (!paperEvent.callEvent()) {
+ return;
+ }
+ recipeName = CraftNamespacedKey.toMinecraft(paperEvent.getRecipe());
+ makeAll = paperEvent.isMakeAll();
+ if (org.bukkit.event.player.PlayerRecipeBookClickEvent.getHandlerList().getRegisteredListeners().length > 0) {
+ // Paper end
// CraftBukkit start - implement PlayerRecipeBookClickEvent
- org.bukkit.inventory.Recipe recipe = this.cserver.getRecipe(CraftNamespacedKey.fromMinecraft(packet.getRecipe()));
+ org.bukkit.inventory.Recipe recipe = this.cserver.getRecipe(CraftNamespacedKey.fromMinecraft(recipeName)); // Paper
if (recipe == null) {
return;
}
- org.bukkit.event.player.PlayerRecipeBookClickEvent event = CraftEventFactory.callRecipeBookClickEvent(this.player, recipe, packet.isShiftDown());
+ // Paper start
+ org.bukkit.event.player.PlayerRecipeBookClickEvent event = CraftEventFactory.callRecipeBookClickEvent(this.player, recipe, makeAll);
+ recipeName = CraftNamespacedKey.toMinecraft(((org.bukkit.Keyed) event.getRecipe()).getKey());
+ makeAll = event.isShiftClick();
+ }
+ if (!(this.player.containerMenu instanceof RecipeBookMenu<?>)) {
+ return;
+ }
+ // Paper end
// Cast to keyed should be safe as the recipe will never be a MerchantRecipe.
- this.server.getRecipeManager().byKey(CraftNamespacedKey.toMinecraft(((org.bukkit.Keyed) event.getRecipe()).getKey())).ifPresent((irecipe) -> {
- ((RecipeBookMenu) this.player.containerMenu).handlePlacement(event.isShiftClick(), irecipe, this.player);
+ // Paper start
+ final boolean finalMakeAll = makeAll;
+ this.server.getRecipeManager().byKey(recipeName).ifPresent((irecipe) -> {
+ ((RecipeBookMenu) this.player.containerMenu).handlePlacement(finalMakeAll, irecipe, this.player);
+ // Paper end
});
// CraftBukkit end
}
}
}

View file

@ -18,10 +18,10 @@ index 58a1a54b676922ef0862dcab98e7aada5de80311..cf47536a2e37d53406fc9cb3f09095e0
return false;
} else if (this.player.blockActionRestricted(this.level, pos, this.gameModeForPlayer)) {
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index d48dfd41d81ccd0931a410b9e2b9a11b604a451b..bd7407f9c294fc5157ec2644e9440f799a19935e 100644
index dbae4102766837af9b173773c3d1a09439a1d606..f7c21abf2a783dc69c7fbe5719b4ca563a9deb65 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -878,7 +878,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -880,7 +880,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel());
if (!this.server.isCommandBlockEnabled()) {
this.player.sendSystemMessage(Component.translatable("advMode.notEnabled"));
@ -30,7 +30,7 @@ index d48dfd41d81ccd0931a410b9e2b9a11b604a451b..bd7407f9c294fc5157ec2644e9440f79
this.player.sendSystemMessage(Component.translatable("advMode.notAllowed"));
} else {
BaseCommandBlock commandblocklistenerabstract = null;
@@ -945,7 +945,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -947,7 +947,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel());
if (!this.server.isCommandBlockEnabled()) {
this.player.sendSystemMessage(Component.translatable("advMode.notEnabled"));

View file

@ -8,7 +8,7 @@ makes it so that the server keeps the last difficulty used instead
of restoring the server.properties every single load.
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 53876c0d957e2d151e93744eff60606096f02e66..53c0246acda9fe1242710260e250429ae51eceb8 100644
index 7668cceb6dcf0eafbd00abb24deaefe9729d261a..d1555152399221947283a68c2054cf4a93377666 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -798,7 +798,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@ -76,7 +76,7 @@ index 6a4c7783146ff6b6703e9ae814134a8d1086cf7f..1ffd3854239862414e6ceecf2764ba3d
@Override
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 6dcac005b57234983d0ed05fe825a16c98eb4557..2040b2defecb484ee7b46a885e924483387ee8fe 100644
index 15a70bad66eb2508f58ff184061c2d19e45297e1..f80645fe0e1f9ad2a70ea33c5dc6a8c02ff262ec 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1203,7 +1203,7 @@ public class ServerPlayer extends Player {
@ -89,10 +89,10 @@ index 6dcac005b57234983d0ed05fe825a16c98eb4557..2040b2defecb484ee7b46a885e924483
playerlist.sendPlayerPermissionLevel(this);
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index bd7407f9c294fc5157ec2644e9440f799a19935e..087278f151c5ae45b64cf3b7318528bd90155b24 100644
index f7c21abf2a783dc69c7fbe5719b4ca563a9deb65..a3d7f9cc074ce83815938a77c6119af95790d7e7 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -3355,7 +3355,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -3381,7 +3381,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
public void handleChangeDifficulty(ServerboundChangeDifficultyPacket packet) {
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel());
if (this.player.hasPermissions(2) || this.isSingleplayerOwner()) {
@ -102,10 +102,10 @@ index bd7407f9c294fc5157ec2644e9440f799a19935e..087278f151c5ae45b64cf3b7318528bd
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 3f94c9aa16ba5a6bba0f7711acf6eae3201666fd..0135e667fc745015882a00248a523396814093e6 100644
index 6134dfb1b64c8ab88053f62aea5341ead2563db7..a910974f8e6f6f5a4cc63d8060a62ac21dfe0d01 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -974,8 +974,8 @@ public final class CraftServer implements Server {
@@ -975,8 +975,8 @@ public final class CraftServer implements Server {
org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot
this.console.paperConfigurations.reloadConfigs(this.console);
for (ServerLevel world : this.console.getAllLevels()) {

View file

@ -22,10 +22,10 @@ wants it to collect even faster, they can restore that setting back to 1 instead
Not adding it to .getType() though to keep behavior consistent with vanilla for performance reasons.
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 0135e667fc745015882a00248a523396814093e6..bc809752e187b3b2e5ecdc514e19596a5ec4c338 100644
index a910974f8e6f6f5a4cc63d8060a62ac21dfe0d01..878fab611ed590e815f268af11dff27cef8d7fde 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -379,7 +379,7 @@ public final class CraftServer implements Server {
@@ -380,7 +380,7 @@ public final class CraftServer implements Server {
this.overrideSpawnLimits();
console.autosavePeriod = this.configuration.getInt("ticks-per.autosave");
this.warningState = WarningState.value(this.configuration.getString("settings.deprecated-verbose"));
@ -34,7 +34,7 @@ index 0135e667fc745015882a00248a523396814093e6..bc809752e187b3b2e5ecdc514e19596a
this.minimumAPI = this.configuration.getString("settings.minimum-api");
this.loadIcon();
@@ -954,7 +954,7 @@ public final class CraftServer implements Server {
@@ -955,7 +955,7 @@ public final class CraftServer implements Server {
this.console.setMotd(config.motd);
this.overrideSpawnLimits();
this.warningState = WarningState.value(this.configuration.getString("settings.deprecated-verbose"));

View file

@ -94,10 +94,10 @@ index 8734a129244271b370f965fcbf488a14ce04684a..00f01ab2eff69c18b50ec07b7623af66
private void setupRecipeList(Container input, ItemStack stack) {
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index 722160b12bbeb2f4ffe1c0a2916042f5a0bad6d5..ad14e77c163c52e57bd21a60aee4cc729ed1236d 100644
index 10eb0eed4bf0cc93e4e32c282735c2863f10837c..7dc806760dbb26befde605d991d57660862484a1 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1641,26 +1641,53 @@ public class CraftEventFactory {
@@ -1667,26 +1667,53 @@ public class CraftEventFactory {
return event;
}

View file

@ -5,10 +5,10 @@ Subject: [PATCH] Brand support
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 087278f151c5ae45b64cf3b7318528bd90155b24..435f02e4189754c60f589d13feae8fbc138e4afc 100644
index a3d7f9cc074ce83815938a77c6119af95790d7e7..6f43de26f3d757dc14572c2d42dd8b6694e9fb0a 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -302,6 +302,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -304,6 +304,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
private static final long KEEPALIVE_LIMIT = Long.getLong("paper.playerconnection.keepalive", 30) * 1000; // Paper - provide property to set keepalive limit
private static final int MAX_SIGN_LINE_LENGTH = Integer.getInteger("Paper.maxSignLength", 80); // Paper
@ -17,7 +17,7 @@ index 087278f151c5ae45b64cf3b7318528bd90155b24..435f02e4189754c60f589d13feae8fbc
public ServerGamePacketListenerImpl(MinecraftServer server, Connection connection, ServerPlayer player) {
this.lastChatTimeStamp = new AtomicReference(Instant.EPOCH);
this.lastSeenMessages = new LastSeenMessagesValidator(20);
@@ -3310,6 +3312,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -3336,6 +3338,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
private static final ResourceLocation CUSTOM_REGISTER = new ResourceLocation("register");
private static final ResourceLocation CUSTOM_UNREGISTER = new ResourceLocation("unregister");
@ -26,7 +26,7 @@ index 087278f151c5ae45b64cf3b7318528bd90155b24..435f02e4189754c60f589d13feae8fbc
@Override
public void handleCustomPayload(ServerboundCustomPayloadPacket packet) {
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel());
@@ -3337,6 +3341,15 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -3363,6 +3367,15 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
try {
byte[] data = new byte[packet.data.readableBytes()];
packet.data.readBytes(data);
@ -42,7 +42,7 @@ index 087278f151c5ae45b64cf3b7318528bd90155b24..435f02e4189754c60f589d13feae8fbc
this.cserver.getMessenger().dispatchIncomingMessage(this.player.getBukkitEntity(), packet.identifier.toString(), data);
} catch (Exception ex) {
ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t dispatch custom payload", ex);
@@ -3346,6 +3359,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -3372,6 +3385,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
}
@ -56,10 +56,10 @@ index 087278f151c5ae45b64cf3b7318528bd90155b24..435f02e4189754c60f589d13feae8fbc
return (!this.player.joining && !this.connection.isConnected()) || this.processedDisconnect; // Paper
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 0e5ff317d541a077f822bc0229e71915c2faf3c0..d6bf91d33b4491a051ae977d24f90c68dcfb433c 100644
index 8094fbb1aa84c93cf6660e2c7a32772bfc3ec62f..82229144f798eab2aacadb71250765c4e956b701 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2949,6 +2949,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2981,6 +2981,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
// Paper end
};

View file

@ -7,10 +7,10 @@ Add a new event, BellRingEvent, to trigger whenever a player rings a
village bell. Passes along the bell block and the player who rang it.
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index ad14e77c163c52e57bd21a60aee4cc729ed1236d..0104ccb2bede7c2297261c022e04ffec6327eb85 100644
index 7dc806760dbb26befde605d991d57660862484a1..ab6f24426031d47d25fcf94421569a3276cdca9a 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -340,10 +340,11 @@ public class CraftEventFactory {
@@ -365,10 +365,11 @@ public class CraftEventFactory {
return tradeSelectEvent;
}

View file

@ -5,10 +5,10 @@ Subject: [PATCH] PortalCreateEvent needs to know its entity
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
index dcb01c399d2b30d907bfc51584215d9300b6d23e..5ebc5e760ac43b88678977ced06b8d72f8358a68 100644
index ee274fb9c8292a807e438902cc5d7f49c30d6627..34e54233d54f21cf4304c39e53aa6a7fb06a67cf 100644
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
@@ -448,7 +448,7 @@ public final class ItemStack {
@@ -452,7 +452,7 @@ public final class ItemStack {
net.minecraft.world.level.block.state.BlockState block = world.getBlockState(newblockposition);
if (!(block.getBlock() instanceof BaseEntityBlock)) { // Containers get placed automatically

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