From 556ed61200a1a7e8477aeb46e41f3e53f9ab66f5 Mon Sep 17 00:00:00 2001
From: emilyy-dev <35617540+emilyy-dev@users.noreply.github.com>
Date: Tue, 31 Aug 2021 12:29:55 -0300
Subject: [PATCH 1/2] Add 'is-op' context calculator
---
pom.xml | 2 +-
.../extracontexts/ExtraContextsPlugin.java | 2 ++
.../calculators/OpCalculator.java | 25 +++++++++++++++++++
src/main/resources/config.yml | 6 +++++
4 files changed, 34 insertions(+), 1 deletion(-)
create mode 100644 src/main/java/me/lucko/extracontexts/calculators/OpCalculator.java
diff --git a/pom.xml b/pom.xml
index 2b810f6..40928be 100644
--- a/pom.xml
+++ b/pom.xml
@@ -91,7 +91,7 @@
org.bukkit
bukkit
- 1.12-R0.1-SNAPSHOT
+ 1.12.2-R0.1-SNAPSHOT
provided
diff --git a/src/main/java/me/lucko/extracontexts/ExtraContextsPlugin.java b/src/main/java/me/lucko/extracontexts/ExtraContextsPlugin.java
index c5fa578..b4a16c8 100644
--- a/src/main/java/me/lucko/extracontexts/ExtraContextsPlugin.java
+++ b/src/main/java/me/lucko/extracontexts/ExtraContextsPlugin.java
@@ -1,6 +1,7 @@
package me.lucko.extracontexts;
import me.lucko.extracontexts.calculators.HasPlayedBeforeCalculator;
+import me.lucko.extracontexts.calculators.OpCalculator;
import me.lucko.extracontexts.calculators.PlaceholderApiCalculator;
import me.lucko.extracontexts.calculators.TeamCalculator;
import me.lucko.extracontexts.calculators.WhitelistedCalculator;
@@ -56,6 +57,7 @@ private void setup() {
register("worldguard-region", "WorldGuard", WorldGuardRegionCalculator::new);
register("worldguard-flag", "WorldGuard", WorldGuardFlagCalculator::new);
register("whitelisted", null, WhitelistedCalculator::new);
+ register("is-op", null, OpCalculator::new);
register("team", null, TeamCalculator::new);
register("has-played-before", null, HasPlayedBeforeCalculator::new);
register("placeholderapi", "PlaceholderAPI", () -> new PlaceholderApiCalculator(getConfig().getConfigurationSection("placeholderapi-placeholders")));
diff --git a/src/main/java/me/lucko/extracontexts/calculators/OpCalculator.java b/src/main/java/me/lucko/extracontexts/calculators/OpCalculator.java
new file mode 100644
index 0000000..222a159
--- /dev/null
+++ b/src/main/java/me/lucko/extracontexts/calculators/OpCalculator.java
@@ -0,0 +1,25 @@
+package me.lucko.extracontexts.calculators;
+
+import net.luckperms.api.context.ContextCalculator;
+import net.luckperms.api.context.ContextConsumer;
+import net.luckperms.api.context.ContextSet;
+import net.luckperms.api.context.ImmutableContextSet;
+
+import org.bukkit.entity.Player;
+
+public class OpCalculator implements ContextCalculator {
+ private static final String KEY = "is-op";
+
+ @Override
+ public void calculate(Player target, ContextConsumer consumer) {
+ consumer.accept(KEY, String.valueOf(target.isOp()));
+ }
+
+ @Override
+ public ContextSet estimatePotentialContexts() {
+ return ImmutableContextSet.builder()
+ .add(KEY, "true")
+ .add(KEY, "false")
+ .build();
+ }
+}
diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml
index 1feb575..513d053 100644
--- a/src/main/resources/config.yml
+++ b/src/main/resources/config.yml
@@ -25,6 +25,12 @@ worldguard-flag: false
# e.g. whitelisted=true
whitelisted: false
+# Provides the 'is-op' context.
+# Returns if the player is a server operator or not.
+#
+# e.g. is-op=true
+is-op: false
+
# Provides the 'team' context.
# Returns the name of the team the players is in.
#
From 4d32410d4e22130995ccc81ddca51665445e4916 Mon Sep 17 00:00:00 2001
From: Emily <35617540+emilyy-dev@users.noreply.github.com>
Date: Tue, 31 Aug 2021 12:33:26 -0300
Subject: [PATCH 2/2] Update README.md
---
README.md | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 1fa0aef..c529609 100644
--- a/README.md
+++ b/README.md
@@ -50,6 +50,14 @@ e.g.
> whitelisted=true
+___
+#### `is-op`
+Returns if the player is a server operator or not
+
+e.g.
+
+> is-op=true
+
___
#### `team`
Returns the name of the team the players is in
@@ -80,4 +88,4 @@ placeholderapi-placeholders:
> allowflight=true
-___
\ No newline at end of file
+___