Skip to content

Commit 0815cb0

Browse files
committed
Add standing-in-own-town context
Signed-off-by: William <will27528@gmail.com>
1 parent a910d65 commit 0815cb0

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

bukkit/src/main/java/me/william278/husktowns/integrations/luckperms/calculators/PlayerAccessCalculator.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ public class PlayerAccessCalculator implements ContextCalculator<Player> {
1919
private static final String CAN_PLAYER_BUILD = "husktowns:can-build";
2020
private static final String CAN_PLAYER_OPEN_CONTAINERS = "husktowns:can-open-containers";
2121
private static final String CAN_PLAYER_INTERACT = "husktowns:can-interact";
22+
private static final String STANDING_IN_OWN_TOWN = "husktowns:standing-in-own-town";
2223

2324
@Override
2425
public void calculate(@NonNull Player target, @NonNull ContextConsumer consumer) {
@@ -44,10 +45,20 @@ public void calculate(@NonNull Player target, @NonNull ContextConsumer consumer)
4445
case CANNOT_PERFORM_ACTION_ADMIN_CLAIM, CANNOT_PERFORM_ACTION_DIFFERENT_TOWN, CANNOT_PERFORM_ACTION_NOT_IN_TOWN, CANNOT_PERFORM_ACTION_RESIDENT -> consumer.accept(CAN_PLAYER_INTERACT, "false");
4546
default -> consumer.accept(CAN_PLAYER_INTERACT, "true");
4647
}
48+
if (playerCache.isPlayerInTown(target.getUniqueId())) {
49+
if (playerCache.getPlayerTown(target.getUniqueId()).equals(chunk.getTown())) {
50+
consumer.accept(STANDING_IN_OWN_TOWN, "true");
51+
} else {
52+
consumer.accept(STANDING_IN_OWN_TOWN, "false");
53+
}
54+
} else {
55+
consumer.accept(STANDING_IN_OWN_TOWN, "false");
56+
}
4757
} else {
4858
consumer.accept(CAN_PLAYER_BUILD, "true");
4959
consumer.accept(CAN_PLAYER_OPEN_CONTAINERS, "true");
5060
consumer.accept(CAN_PLAYER_INTERACT, "true");
61+
consumer.accept(STANDING_IN_OWN_TOWN, "false");
5162
}
5263
} else {
5364
consumer.accept(CAN_PLAYER_BUILD, "false");

0 commit comments

Comments
 (0)