mirror of https://github.com/YatopiaMC/Yatopia.git
114 lines
7.6 KiB
Diff
114 lines
7.6 KiB
Diff
From 0000000000000000000000000000000000000000 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
|
|
|
|
|
|
diff --git a/src/main/java/org/bukkit/util/permissions/CommandPermissions.java b/src/main/java/org/bukkit/util/permissions/CommandPermissions.java
|
|
index 7763d6101ac61900db1e2310966b99584539fd0e..d5a42707d365ffd72532bbb1a59a1ca7145f9918 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 e1a4ddf2c07cdd242fa8054a0152522fe4039e85..8e481e3815f5645ee92f0d229e5ff25c8fc9a6c2 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 0000000000000000000000000000000000000000..deedffb4aca00a9ff27a47a09ec7087e5566ad29
|
|
--- /dev/null
|
|
+++ b/src/main/java/org/bukkit/util/permissions/PurpurPermissions.java
|
|
@@ -0,0 +1,76 @@
|
|
+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 + "enderchest.rows.six", "Gives the user six rows of enderchest space", org.bukkit.permissions.PermissionDefault.FALSE);
|
|
+ DefaultPermissions.registerPermission(PREFIX + "enderchest.rows.five", "Gives the user five rows of enderchest space", org.bukkit.permissions.PermissionDefault.FALSE);
|
|
+ DefaultPermissions.registerPermission(PREFIX + "enderchest.rows.four", "Gives the user four rows of enderchest space", org.bukkit.permissions.PermissionDefault.FALSE);
|
|
+ DefaultPermissions.registerPermission(PREFIX + "enderchest.rows.three", "Gives the user three rows of enderchest space", org.bukkit.permissions.PermissionDefault.FALSE);
|
|
+ DefaultPermissions.registerPermission(PREFIX + "enderchest.rows.two", "Gives the user two rows of enderchest space", org.bukkit.permissions.PermissionDefault.FALSE);
|
|
+ DefaultPermissions.registerPermission(PREFIX + "enderchest.rows.one", "Gives the user one row of enderchest space", org.bukkit.permissions.PermissionDefault.FALSE);
|
|
+
|
|
+ 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);
|
|
+
|
|
+ DefaultPermissions.registerPermission(PREFIX + "anvil.color", "Allows the user to use color codes on anvils", PermissionDefault.FALSE, purpur);
|
|
+
|
|
+ Permission book = DefaultPermissions.registerPermission(PREFIX + "book", "Allows the user to use color codes on books", PermissionDefault.FALSE, purpur);
|
|
+ DefaultPermissions.registerPermission(PREFIX + "book.color.edit", "Allows the user to use color codes on books when editing", PermissionDefault.FALSE, book);
|
|
+ DefaultPermissions.registerPermission(PREFIX + "book.color.sign", "Allows the user to use color codes on books when signing", PermissionDefault.FALSE, book);
|
|
+ book.recalculatePermissibles();
|
|
+
|
|
+ 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;
|
|
+ }
|
|
+}
|