1.21.6 dev

Co-authored-by: Bjarne Koll <git@lynxplay.dev>
Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
Co-authored-by: Jason Penilla <11360596+jpenilla@users.noreply.github.com>
Co-authored-by: Lulu13022002 <41980282+Lulu13022002@users.noreply.github.com>
Co-authored-by: Noah van der Aa <ndvdaa@gmail.com>
Co-authored-by: Owen1212055 <23108066+Owen1212055@users.noreply.github.com>
Co-authored-by: Spottedleaf <Spottedleaf@users.noreply.github.com>
This commit is contained in:
Bjarne Koll
2025-05-28 13:23:32 +02:00
committed by Nassim Jahnke
parent 39203a65e0
commit a24f9b204c
788 changed files with 41006 additions and 6324 deletions

View File

@@ -1,6 +1,6 @@
--- a/net/minecraft/server/commands/BanPlayerCommands.java
+++ b/net/minecraft/server/commands/BanPlayerCommands.java
@@ -55,7 +_,7 @@
@@ -57,7 +_,7 @@
);
ServerPlayer player = source.getServer().getPlayerList().getPlayer(gameProfile.getId());
if (player != null) {

View File

@@ -1,6 +1,6 @@
--- a/net/minecraft/server/commands/DeOpCommands.java
+++ b/net/minecraft/server/commands/DeOpCommands.java
@@ -35,7 +_,7 @@
@@ -39,7 +_,7 @@
if (playerList.isOp(gameProfile)) {
playerList.deop(gameProfile);
i++;

View File

@@ -1,6 +1,6 @@
--- a/net/minecraft/server/commands/EffectCommands.java
+++ b/net/minecraft/server/commands/EffectCommands.java
@@ -180,7 +_,7 @@
@@ -182,7 +_,7 @@
for (Entity entity : targets) {
if (entity instanceof LivingEntity) {
MobEffectInstance mobEffectInstance = new MobEffectInstance(effect, i1, amplifier, false, showParticles);
@@ -9,7 +9,7 @@
i++;
}
}
@@ -210,7 +_,7 @@
@@ -212,7 +_,7 @@
int i = 0;
for (Entity entity : targets) {
@@ -18,7 +18,7 @@
i++;
}
}
@@ -235,7 +_,7 @@
@@ -237,7 +_,7 @@
int i = 0;
for (Entity entity : targets) {

View File

@@ -1,18 +1,20 @@
--- a/net/minecraft/server/commands/GameModeCommand.java
+++ b/net/minecraft/server/commands/GameModeCommand.java
@@ -54,9 +_,14 @@
int i = 0;
@@ -69,9 +_,16 @@
}
for (ServerPlayer serverPlayer : players) {
- if (serverPlayer.setGameMode(gameType)) {
+ // Paper start - Expand PlayerGameModeChangeEvent
+ org.bukkit.event.player.PlayerGameModeChangeEvent event = serverPlayer.setGameMode(gameType, org.bukkit.event.player.PlayerGameModeChangeEvent.Cause.COMMAND, net.kyori.adventure.text.Component.empty());
+ if (event != null && !event.isCancelled()) {
logGamemodeChange(source.getSource(), serverPlayer, gameType);
i++;
+ } else if (event != null && event.cancelMessage() != null) {
+ source.getSource().sendSuccess(() -> io.papermc.paper.adventure.PaperAdventure.asVanilla(event.cancelMessage()), true);
+ // Paper end - Expand PlayerGameModeChangeEvent
}
private static boolean setGameMode(CommandSourceStack source, ServerPlayer player, GameType gameMode) {
- if (player.setGameMode(gameMode)) {
+ // Paper start
+ org.bukkit.event.player.PlayerGameModeChangeEvent event = player.setGameMode(gameMode, org.bukkit.event.player.PlayerGameModeChangeEvent.Cause.COMMAND, net.kyori.adventure.text.Component.empty());
+ if (event != null && !event.isCancelled()) {
+ // Paper end
logGamemodeChange(source, player, gameMode);
return true;
+ } else if (event != null && event.cancelMessage() != null) {
+ source.sendSuccess(() -> io.papermc.paper.adventure.PaperAdventure.asVanilla(event.cancelMessage()), true);
+ return false;
+ // Paper end - Expand PlayerGameModeChangeEvent
} else {
return false;
}

View File

@@ -1,6 +1,6 @@
--- a/net/minecraft/server/commands/GiveCommand.java
+++ b/net/minecraft/server/commands/GiveCommand.java
@@ -51,6 +_,7 @@
@@ -54,6 +_,7 @@
private static int giveItem(CommandSourceStack source, ItemInput item, Collection<ServerPlayer> targets, int count) throws CommandSyntaxException {
ItemStack itemStack = item.createItemStack(1, false);
@@ -8,25 +8,7 @@
int maxStackSize = itemStack.getMaxStackSize();
int i = maxStackSize * 100;
if (count > i) {
@@ -66,7 +_,7 @@
ItemStack itemStack1 = item.createItemStack(min, false);
boolean flag = serverPlayer.getInventory().add(itemStack1);
if (flag && itemStack1.isEmpty()) {
- ItemEntity itemEntity = serverPlayer.drop(itemStack, false);
+ ItemEntity itemEntity = serverPlayer.drop(itemStack, false, false, false, null); // Paper - do not fire PlayerDropItemEvent for /give command
if (itemEntity != null) {
itemEntity.makeFakeItem();
}
@@ -84,7 +_,7 @@
);
serverPlayer.containerMenu.broadcastChanges();
} else {
- ItemEntity itemEntity = serverPlayer.drop(itemStack1, false);
+ ItemEntity itemEntity = serverPlayer.drop(itemStack1, false, false, false, null); // Paper - do not fire PlayerDropItemEvent for /give command
if (itemEntity != null) {
itemEntity.setNoPickUpDelay();
itemEntity.setTarget(serverPlayer.getUUID());
@@ -95,11 +_,11 @@
@@ -98,11 +_,11 @@
if (targets.size() == 1) {
source.sendSuccess(

View File

@@ -1,6 +1,6 @@
--- a/net/minecraft/server/commands/KickCommand.java
+++ b/net/minecraft/server/commands/KickCommand.java
@@ -48,7 +_,7 @@
@@ -50,7 +_,7 @@
for (ServerPlayer serverPlayer : players) {
if (!source.getServer().isSingleplayerOwner(serverPlayer.getGameProfile())) {

View File

@@ -1,6 +1,6 @@
--- a/net/minecraft/server/commands/LocateCommand.java
+++ b/net/minecraft/server/commands/LocateCommand.java
@@ -202,6 +_,6 @@
@@ -199,6 +_,6 @@
private static float dist(int x1, int z1, int x2, int z2) {
int i = x2 - x1;
int i1 = z2 - z1;

View File

@@ -34,4 +34,4 @@
+ // CraftBukkit end
public static void register(CommandDispatcher<CommandSourceStack> dispatcher) {
dispatcher.register(Commands.literal("reload").requires(source -> source.hasPermission(2)).executes(context -> {
dispatcher.register(Commands.literal("reload").requires(Commands.hasPermission(2)).executes(commandContext -> {

View File

@@ -1,11 +1,11 @@
--- a/net/minecraft/server/commands/RideCommand.java
+++ b/net/minecraft/server/commands/RideCommand.java
@@ -58,7 +_,7 @@
@@ -60,7 +_,7 @@
Entity vehicle1 = target.getVehicle();
if (vehicle1 != null) {
throw ERROR_ALREADY_RIDING.create(target.getDisplayName(), vehicle1.getDisplayName());
- } else if (vehicle.getType() == EntityType.PLAYER) {
+ } else if (vehicle.getType() == EntityType.PLAYER && !io.papermc.paper.configuration.GlobalConfiguration.get().commands.rideCommandAllowPlayerAsVehicle) { // Paper - allow player as vehicle
throw ERROR_MOUNTING_PLAYER.create();
} else if (target.getSelfAndPassengers().anyMatch(passenger -> passenger == vehicle)) {
} else if (target.getSelfAndPassengers().anyMatch(entity -> entity == vehicle)) {
throw ERROR_MOUNTING_LOOP.create();

View File

@@ -1,6 +1,6 @@
--- a/net/minecraft/server/commands/WorldBorderCommand.java
+++ b/net/minecraft/server/commands/WorldBorderCommand.java
@@ -135,7 +_,7 @@
@@ -136,7 +_,7 @@
}
private static int setDamageBuffer(CommandSourceStack source, float distance) throws CommandSyntaxException {
@@ -9,7 +9,7 @@
if (worldBorder.getDamageSafeZone() == distance) {
throw ERROR_SAME_DAMAGE_BUFFER.create();
} else {
@@ -146,7 +_,7 @@
@@ -147,7 +_,7 @@
}
private static int setDamageAmount(CommandSourceStack source, float damagePerBlock) throws CommandSyntaxException {
@@ -18,7 +18,7 @@
if (worldBorder.getDamagePerBlock() == damagePerBlock) {
throw ERROR_SAME_DAMAGE_AMOUNT.create();
} else {
@@ -159,7 +_,7 @@
@@ -160,7 +_,7 @@
}
private static int setWarningTime(CommandSourceStack source, int time) throws CommandSyntaxException {
@@ -27,7 +27,7 @@
if (worldBorder.getWarningTime() == time) {
throw ERROR_SAME_WARNING_TIME.create();
} else {
@@ -170,7 +_,7 @@
@@ -171,7 +_,7 @@
}
private static int setWarningDistance(CommandSourceStack source, int distance) throws CommandSyntaxException {
@@ -36,7 +36,7 @@
if (worldBorder.getWarningBlocks() == distance) {
throw ERROR_SAME_WARNING_DISTANCE.create();
} else {
@@ -181,13 +_,13 @@
@@ -182,13 +_,13 @@
}
private static int getSize(CommandSourceStack source) {
@@ -52,7 +52,7 @@
if (worldBorder.getCenterX() == pos.x && worldBorder.getCenterZ() == pos.y) {
throw ERROR_SAME_CENTER.create();
} else if (!(Math.abs(pos.x) > 2.9999984E7) && !(Math.abs(pos.y) > 2.9999984E7)) {
@@ -205,7 +_,7 @@
@@ -206,7 +_,7 @@
}
private static int setSize(CommandSourceStack source, double newSize, long time) throws CommandSyntaxException {