mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-06-23 02:37:47 +02:00
Upstream Paper's upgrade to vineflower 12.0.0 (#1782)
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
--- a/net/minecraft/commands/Commands.java
|
||||
+++ b/net/minecraft/commands/Commands.java
|
||||
@@ -268,11 +_,11 @@
|
||||
@@ -267,11 +_,11 @@
|
||||
JfrCommand.register(this.dispatcher);
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
RaidCommand.register(this.dispatcher, context);
|
||||
DebugPathCommand.register(this.dispatcher);
|
||||
DebugMobSpawningCommand.register(this.dispatcher);
|
||||
@@ -300,6 +_,14 @@
|
||||
@@ -299,6 +_,14 @@
|
||||
StopCommand.register(this.dispatcher);
|
||||
TransferCommand.register(this.dispatcher);
|
||||
WhitelistCommand.register(this.dispatcher);
|
||||
@@ -29,7 +29,7 @@
|
||||
}
|
||||
|
||||
if (commandSelection.includeIntegrated) {
|
||||
@@ -522,6 +_,7 @@
|
||||
@@ -521,6 +_,7 @@
|
||||
private void runSync(ServerPlayer player, java.util.Collection<String> bukkit, RootCommandNode<CommandSourceStack> root) {
|
||||
// Paper end - Perf: Async command map building
|
||||
new com.destroystokyo.paper.event.brigadier.AsyncPlayerSendCommandsEvent<CommandSourceStack>(player.getBukkitEntity(), (RootCommandNode) root, true).callEvent(); // Paper - Brigadier API
|
||||
@@ -37,7 +37,7 @@
|
||||
org.bukkit.event.player.PlayerCommandSendEvent event = new org.bukkit.event.player.PlayerCommandSendEvent(player.getBukkitEntity(), new java.util.LinkedHashSet<>(bukkit));
|
||||
event.getPlayer().getServer().getPluginManager().callEvent(event);
|
||||
|
||||
@@ -532,6 +_,8 @@
|
||||
@@ -531,6 +_,8 @@
|
||||
}
|
||||
}
|
||||
// CraftBukkit end
|
||||
|
||||
@@ -1,38 +1,42 @@
|
||||
--- a/net/minecraft/commands/arguments/selector/EntitySelector.java
|
||||
+++ b/net/minecraft/commands/arguments/selector/EntitySelector.java
|
||||
@@ -206,26 +_,27 @@
|
||||
@@ -210,30 +_,31 @@
|
||||
this.checkPermissions(sender);
|
||||
if (this.playerName != null) {
|
||||
ServerPlayer result = sender.getServer().getPlayerList().getPlayerByName(this.playerName);
|
||||
- return result == null ? List.of() : List.of(result);
|
||||
+ return result == null || !canSee(sender, result) ? List.of() : List.of(result); // Purpur - Hide hidden players from entity selector
|
||||
} else if (this.entityUUID != null) {
|
||||
}
|
||||
|
||||
if (this.entityUUID != null) {
|
||||
ServerPlayer result = sender.getServer().getPlayerList().getPlayer(this.entityUUID);
|
||||
- return result == null ? List.of() : List.of(result);
|
||||
+ return result == null || !canSee(sender, result) ? List.of() : List.of(result); // Purpur - Hide hidden players from entity selector
|
||||
} else {
|
||||
Vec3 pos = this.position.apply(sender.getPosition());
|
||||
AABB absoluteAabb = this.getAbsoluteAabb(pos);
|
||||
Predicate<Entity> predicate = this.getPredicate(pos, absoluteAabb, null);
|
||||
if (this.currentEntity) {
|
||||
- return sender.getEntity() instanceof ServerPlayer player && predicate.test(player) ? List.of(player) : List.of();
|
||||
+ return sender.getEntity() instanceof ServerPlayer player && predicate.test(player) && canSee(sender, player) ? List.of(player) : List.of(); // Purpur - Hide hidden players from entity selector
|
||||
} else {
|
||||
int limit = this.getResultLimit();
|
||||
List<ServerPlayer> result;
|
||||
if (this.isWorldLimited()) {
|
||||
result = sender.getLevel().getPlayers(predicate, limit);
|
||||
+ result.removeIf(entityplayer3 -> !canSee(sender, entityplayer3)); // Purpur - Hide hidden players from entity selector
|
||||
} else {
|
||||
result = new ObjectArrayList<>();
|
||||
}
|
||||
|
||||
for (ServerPlayer player : sender.getServer().getPlayerList().getPlayers()) {
|
||||
- if (predicate.test(player)) {
|
||||
+ if (predicate.test(player) && canSee(sender, player)) { // Purpur - Hide hidden players from entity selector
|
||||
result.add(player);
|
||||
if (result.size() >= limit) {
|
||||
return result;
|
||||
@@ -283,4 +_,10 @@
|
||||
Vec3 pos = this.position.apply(sender.getPosition());
|
||||
AABB absoluteAabb = this.getAbsoluteAabb(pos);
|
||||
Predicate<Entity> predicate = this.getPredicate(pos, absoluteAabb, null);
|
||||
if (this.currentEntity) {
|
||||
- return sender.getEntity() instanceof ServerPlayer player && predicate.test(player) ? List.of(player) : List.of();
|
||||
+ return sender.getEntity() instanceof ServerPlayer player && predicate.test(player) && canSee(sender, player) ? List.of(player) : List.of(); // Purpur - Hide hidden players from entity selector
|
||||
}
|
||||
|
||||
int limit = this.getResultLimit();
|
||||
List<ServerPlayer> result;
|
||||
if (this.isWorldLimited()) {
|
||||
result = sender.getLevel().getPlayers(predicate, limit);
|
||||
+ result.removeIf(entityplayer3 -> !canSee(sender, entityplayer3)); // Purpur - Hide hidden players from entity selector
|
||||
} else {
|
||||
result = new ObjectArrayList<>();
|
||||
|
||||
for (ServerPlayer player : sender.getServer().getPlayerList().getPlayers()) {
|
||||
- if (predicate.test(player)) {
|
||||
+ if (predicate.test(player) && canSee(sender, player)) { // Purpur - Hide hidden players from entity selector
|
||||
result.add(player);
|
||||
if (result.size() >= limit) {
|
||||
return result;
|
||||
@@ -289,4 +_,10 @@
|
||||
public static Component joinNames(final List<? extends Entity> entities) {
|
||||
return ComponentUtils.formatList(entities, Entity::getDisplayName);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user