Upstream Paper's upgrade to vineflower 12.0.0 (#1782)

This commit is contained in:
granny
2026-05-31 16:42:41 -07:00
committed by GitHub
parent dc4a255969
commit 3fe5edd4b5
116 changed files with 1321 additions and 1333 deletions

View File

@@ -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

View File

@@ -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);
}