From 68be5350b4d9e82026073fe46fee0c490d235e51 Mon Sep 17 00:00:00 2001 From: Chubbyduck1 Date: Fri, 22 May 2026 18:04:21 -0400 Subject: [PATCH] fix: ViewerEngine#canSpawnFor skipping global rules when viewer rules pass, and incorrectly responding to failed rules --- .../java/me/tofaa/entitylib/ve/ViewerEngine.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/api/src/main/java/me/tofaa/entitylib/ve/ViewerEngine.java b/api/src/main/java/me/tofaa/entitylib/ve/ViewerEngine.java index 3431e08..8c61b4e 100644 --- a/api/src/main/java/me/tofaa/entitylib/ve/ViewerEngine.java +++ b/api/src/main/java/me/tofaa/entitylib/ve/ViewerEngine.java @@ -121,8 +121,19 @@ public void clearTracked() { * @return true if the user passed and did not fail any rules, false otherwise */ public boolean canSpawnFor(User user, WrapperEntity entity) { - if (!entity.getViewerRules().isEmpty() && entity.getViewerRules().stream().allMatch(rule -> rule.shouldSee(user))) return true; - return globalRules.stream().allMatch(rule -> rule.shouldSee(user)); + for (ViewerRule rule : entity.getViewerRules()) { + if (!rule.shouldSee(user)) { + return false; + } + } + + for (ViewerRule rule : this.globalRules) { + if (!rule.shouldSee(user)) { + return false; + } + } + + return true; } /**