This commit is contained in:
Ben Kerllenevich
2021-11-25 09:03:05 -05:00
parent a7f145d54c
commit 708c0d05bf
6 changed files with 28 additions and 26 deletions

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Hide hidden players from entity selector
diff --git a/src/main/java/net/minecraft/commands/arguments/selector/EntitySelector.java b/src/main/java/net/minecraft/commands/arguments/selector/EntitySelector.java
index 35cc3bba20afd4a47160cc674415ba6a3a0ec0ec..eaa1af57bdf4cb890706e839cbbae15f00933391 100644
index 35cc3bba20afd4a47160cc674415ba6a3a0ec0ec..39c8cb9494aa516a3d828010a8e3329db9d25707 100644
--- a/src/main/java/net/minecraft/commands/arguments/selector/EntitySelector.java
+++ b/src/main/java/net/minecraft/commands/arguments/selector/EntitySelector.java
@@ -184,10 +184,10 @@ public class EntitySelector {
@@ -13,11 +13,11 @@ index 35cc3bba20afd4a47160cc674415ba6a3a0ec0ec..eaa1af57bdf4cb890706e839cbbae15f
if (this.playerName != null) {
entityplayer = source.getServer().getPlayerList().getPlayerByName(this.playerName);
- return (List) (entityplayer == null ? Collections.emptyList() : Lists.newArrayList(new ServerPlayer[]{entityplayer}));
+ return entityplayer == null || !canSee(commandlistenerwrapper, entityplayer) ? Collections.emptyList() : Lists.newArrayList(entityplayer); // Purpur
+ return entityplayer == null || !canSee(source, entityplayer) ? Collections.emptyList() : Lists.newArrayList(entityplayer); // Purpur
} else if (this.entityUUID != null) {
entityplayer = source.getServer().getPlayerList().getPlayer(this.entityUUID);
- return (List) (entityplayer == null ? Collections.emptyList() : Lists.newArrayList(new ServerPlayer[]{entityplayer}));
+ return entityplayer == null || !canSee(commandlistenerwrapper, entityplayer) ? Collections.emptyList() : Lists.newArrayList(entityplayer); // Purpur
+ return entityplayer == null || !canSee(source, entityplayer) ? Collections.emptyList() : Lists.newArrayList(entityplayer); // Purpur
} else {
Vec3 vec3d = (Vec3) this.position.apply(source.getPosition());
Predicate<Entity> predicate = this.getPredicate(vec3d);
@@ -26,7 +26,7 @@ index 35cc3bba20afd4a47160cc674415ba6a3a0ec0ec..eaa1af57bdf4cb890706e839cbbae15f
if (predicate.test(entityplayer1)) {
- return Lists.newArrayList(new ServerPlayer[]{entityplayer1});
+ return !canSee(commandlistenerwrapper, entityplayer1) ? Collections.emptyList() : Lists.newArrayList(entityplayer1); // Purpur
+ return !canSee(source, entityplayer1) ? Collections.emptyList() : Lists.newArrayList(entityplayer1); // Purpur
}
}
@@ -34,7 +34,7 @@ index 35cc3bba20afd4a47160cc674415ba6a3a0ec0ec..eaa1af57bdf4cb890706e839cbbae15f
if (this.isWorldLimited()) {
object = source.getLevel().getPlayers(predicate);
+ ((List) object).removeIf(entityplayer3 -> !canSee(commandlistenerwrapper, (ServerPlayer) entityplayer3)); // Purpur
+ ((List) object).removeIf(entityplayer3 -> !canSee(source, (ServerPlayer) entityplayer3)); // Purpur
} else {
object = Lists.newArrayList();
Iterator iterator = source.getServer().getPlayerList().getPlayers().iterator();
@@ -43,7 +43,7 @@ index 35cc3bba20afd4a47160cc674415ba6a3a0ec0ec..eaa1af57bdf4cb890706e839cbbae15f
ServerPlayer entityplayer2 = (ServerPlayer) iterator.next();
- if (predicate.test(entityplayer2)) {
+ if (predicate.test(entityplayer2) && canSee(commandlistenerwrapper, entityplayer2)) { // Purpur
+ if (predicate.test(entityplayer2) && canSee(source, entityplayer2)) { // Purpur
((List) object).add(entityplayer2);
}
}