mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
109 lines
6.0 KiB
Diff
109 lines
6.0 KiB
Diff
From fcb0b116da939c6649d1dad9ad8b0e1e01caaad0 Mon Sep 17 00:00:00 2001
|
|
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
|
|
Date: Fri, 5 Jun 2020 23:32:38 -0500
|
|
Subject: [PATCH] Default permissions
|
|
|
|
---
|
|
.../util/permissions/CommandPermissions.java | 1 +
|
|
.../util/permissions/DefaultPermissions.java | 2 +
|
|
.../util/permissions/PurpurPermissions.java | 62 +++++++++++++++++++
|
|
3 files changed, 65 insertions(+)
|
|
create mode 100644 src/main/java/org/bukkit/util/permissions/PurpurPermissions.java
|
|
|
|
diff --git a/src/main/java/org/bukkit/util/permissions/CommandPermissions.java b/src/main/java/org/bukkit/util/permissions/CommandPermissions.java
|
|
index 7763d6101..d5a42707d 100644
|
|
--- a/src/main/java/org/bukkit/util/permissions/CommandPermissions.java
|
|
+++ b/src/main/java/org/bukkit/util/permissions/CommandPermissions.java
|
|
@@ -18,6 +18,7 @@ public final class CommandPermissions {
|
|
DefaultPermissions.registerPermission(PREFIX + "plugins", "Allows the user to view the list of plugins running on this server", PermissionDefault.TRUE, commands);
|
|
DefaultPermissions.registerPermission(PREFIX + "reload", "Allows the user to reload the server settings", PermissionDefault.OP, commands);
|
|
DefaultPermissions.registerPermission(PREFIX + "version", "Allows the user to view the version of the server", PermissionDefault.TRUE, commands);
|
|
+ DefaultPermissions.registerPermission(PREFIX + "purpur", "Allows the user to use the purpur command", PermissionDefault.OP, commands); // Purpur
|
|
|
|
commands.recalculatePermissibles();
|
|
return commands;
|
|
diff --git a/src/main/java/org/bukkit/util/permissions/DefaultPermissions.java b/src/main/java/org/bukkit/util/permissions/DefaultPermissions.java
|
|
index e1a4ddf2c..8e481e381 100644
|
|
--- a/src/main/java/org/bukkit/util/permissions/DefaultPermissions.java
|
|
+++ b/src/main/java/org/bukkit/util/permissions/DefaultPermissions.java
|
|
@@ -89,6 +89,8 @@ public final class DefaultPermissions {
|
|
CommandPermissions.registerPermissions(parent);
|
|
BroadcastPermissions.registerPermissions(parent);
|
|
|
|
+ PurpurPermissions.registerPermissions(); // Purpur
|
|
+
|
|
parent.recalculatePermissibles();
|
|
}
|
|
}
|
|
diff --git a/src/main/java/org/bukkit/util/permissions/PurpurPermissions.java b/src/main/java/org/bukkit/util/permissions/PurpurPermissions.java
|
|
new file mode 100644
|
|
index 000000000..64fdd9230
|
|
--- /dev/null
|
|
+++ b/src/main/java/org/bukkit/util/permissions/PurpurPermissions.java
|
|
@@ -0,0 +1,62 @@
|
|
+package org.bukkit.util.permissions;
|
|
+
|
|
+import org.bukkit.entity.Entity;
|
|
+import org.bukkit.entity.EntityType;
|
|
+import org.bukkit.entity.Mob;
|
|
+import org.bukkit.permissions.Permission;
|
|
+import org.bukkit.permissions.PermissionDefault;
|
|
+import org.jetbrains.annotations.NotNull;
|
|
+
|
|
+import java.util.HashSet;
|
|
+import java.util.Set;
|
|
+
|
|
+public final class PurpurPermissions {
|
|
+ private static final String ROOT = "purpur";
|
|
+ private static final String PREFIX = ROOT + ".";
|
|
+ private static final Set<String> mobs = new HashSet<>();
|
|
+
|
|
+ private PurpurPermissions() {
|
|
+ for (EntityType mob : EntityType.values()) {
|
|
+ Class<? extends Entity> clazz = mob.getEntityClass();
|
|
+ if (clazz != null && clazz.isAssignableFrom(Mob.class)) {
|
|
+ mobs.add(mob.getName());
|
|
+ }
|
|
+ }
|
|
+ }
|
|
+
|
|
+ @NotNull
|
|
+ public static Permission registerPermissions() {
|
|
+ Permission purpur = DefaultPermissions.registerPermission(ROOT, "Gives the user the ability to use all Purpur utilities and commands");
|
|
+
|
|
+ DefaultPermissions.registerPermission(PREFIX + "debug.f3n", "Allows the user to use F3+N keybind to swap gamemodes", PermissionDefault.FALSE, purpur);
|
|
+
|
|
+ DefaultPermissions.registerPermission(PREFIX + "drop.spawner", "Allows the user to drop spawner cage when broken with diamond pickaxe with silk touch", PermissionDefault.FALSE, purpur);
|
|
+ DefaultPermissions.registerPermission(PREFIX + "place.spawner", "Allows the user to place spawner cage in the world", PermissionDefault.FALSE, purpur);
|
|
+
|
|
+ Permission sign = DefaultPermissions.registerPermission(PREFIX + "sign", "Allows the user to use all sign abilities", PermissionDefault.FALSE, purpur);
|
|
+ DefaultPermissions.registerPermission(PREFIX + "sign.click.opens.editor", "Allows the user to click signs to open sign editor", PermissionDefault.FALSE, sign);
|
|
+ DefaultPermissions.registerPermission(PREFIX + "sign.color", "Allows the user to use color codes on signs", PermissionDefault.FALSE, sign);
|
|
+ DefaultPermissions.registerPermission(PREFIX + "sign.style", "Allows the user to use style codes on signs", PermissionDefault.FALSE, sign);
|
|
+ DefaultPermissions.registerPermission(PREFIX + "sign.magic", "Allows the user to use magic/obfuscate code on signs", PermissionDefault.FALSE, sign);
|
|
+ sign.recalculatePermissibles();
|
|
+
|
|
+ Permission ride = DefaultPermissions.registerPermission("allow.ride", "Allows the user to ride all mobs", PermissionDefault.FALSE);
|
|
+ for (String mob : mobs) {
|
|
+ DefaultPermissions.registerPermission("allow.ride." + mob, "Allows the user to ride " + mob, PermissionDefault.FALSE, ride);
|
|
+ }
|
|
+ ride.recalculatePermissibles();
|
|
+
|
|
+ Permission special = DefaultPermissions.registerPermission("allow.special", "Allows the user to use all mobs special abilities", PermissionDefault.FALSE);
|
|
+ for (String mob : mobs) {
|
|
+ DefaultPermissions.registerPermission("allow.special." + mob, "Allows the user to use " + mob + " special ability", PermissionDefault.FALSE, special);
|
|
+ }
|
|
+ special.recalculatePermissibles();
|
|
+
|
|
+ Permission powered = DefaultPermissions.registerPermission("allow.powered", "Allows the user to toggle all mobs powered state", PermissionDefault.FALSE);
|
|
+ DefaultPermissions.registerPermission("allow.powered.creeper", "Allows the user to toggle creeper powered state", PermissionDefault.FALSE, powered);
|
|
+ powered.recalculatePermissibles();
|
|
+
|
|
+ purpur.recalculatePermissibles();
|
|
+ return purpur;
|
|
+ }
|
|
+}
|
|
--
|
|
2.24.0
|
|
|