mirror of
https://github.com/PaperMC/Paper.git
synced 2025-08-07 15:42:19 -07:00
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:
committed by
Nassim Jahnke
parent
39203a65e0
commit
a24f9b204c
@@ -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) {
|
||||
|
@@ -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++;
|
||||
|
@@ -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) {
|
||||
|
@@ -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;
|
||||
}
|
||||
|
||||
|
@@ -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(
|
||||
|
@@ -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())) {
|
||||
|
@@ -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;
|
||||
|
@@ -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 -> {
|
||||
|
@@ -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();
|
||||
|
@@ -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 {
|
||||
|
Reference in New Issue
Block a user