generated from PurpurMC/Tentacles
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
dc5904c
commit fb2dd3f
Showing
2 changed files
with
109 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 | ||
From: MrFishCakes <[email protected]> | ||
Date: Wed, 30 Aug 2023 22:55:05 +0100 | ||
Subject: [PATCH] Graphite Permissions | ||
|
||
|
||
diff --git a/src/main/java/org/bukkit/util/permissions/CommandPermissions.java b/src/main/java/org/bukkit/util/permissions/CommandPermissions.java | ||
index d5a42707d365ffd72532bbb1a59a1ca7145f9918..85d061a379cc9d29d47714d71586bd4a8c750a31 100644 | ||
--- a/src/main/java/org/bukkit/util/permissions/CommandPermissions.java | ||
+++ b/src/main/java/org/bukkit/util/permissions/CommandPermissions.java | ||
@@ -19,6 +19,7 @@ public final class CommandPermissions { | ||
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 | ||
+ DefaultPermissions.registerPermission(PREFIX + "graphite", "Allows the user to use the graphite command", PermissionDefault.OP, commands); // Graphite | ||
|
||
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 10627d2a11251a8cb01bbc3f6242d66f3505a16e..9068b19c83b522c55d04c92b33bc4849d8d56ba8 100644 | ||
--- a/src/main/java/org/bukkit/util/permissions/DefaultPermissions.java | ||
+++ b/src/main/java/org/bukkit/util/permissions/DefaultPermissions.java | ||
@@ -90,6 +90,7 @@ public final class DefaultPermissions { | ||
BroadcastPermissions.registerPermissions(parent); | ||
|
||
PurpurPermissions.registerPermissions(); // Purpur | ||
+ org.graphitemc.graphite.GraphitePermissions.registerPermissions(); // Graphite | ||
|
||
parent.recalculatePermissibles(); | ||
} | ||
diff --git a/src/main/java/org/graphitemc/graphite/GraphitePermissions.java b/src/main/java/org/graphitemc/graphite/GraphitePermissions.java | ||
new file mode 100644 | ||
index 0000000000000000000000000000000000000000..b7083aeee29563d9bd2a0090f4bb4743c2291cd2 | ||
--- /dev/null | ||
+++ b/src/main/java/org/graphitemc/graphite/GraphitePermissions.java | ||
@@ -0,0 +1,30 @@ | ||
+package org.graphitemc.graphite; | ||
+ | ||
+import org.bukkit.Bukkit; | ||
+import org.bukkit.World; | ||
+import org.bukkit.permissions.Permission; | ||
+import org.bukkit.permissions.PermissionDefault; | ||
+import org.jetbrains.annotations.NotNull; | ||
+ | ||
+import static org.bukkit.util.permissions.DefaultPermissions.registerPermission; | ||
+ | ||
+public final class GraphitePermissions { | ||
+ | ||
+ private static final String ROOT = "graphite"; | ||
+ private static final String PREFIX = ROOT + "."; | ||
+ | ||
+ @NotNull | ||
+ public static Permission registerPermissions() { | ||
+ final Permission graphite = registerPermission(ROOT, "Gives the user ability to use all Graphite utilities and commands", PermissionDefault.FALSE); | ||
+ | ||
+ Permission itemFrame = registerPermission(PREFIX + "itemframe.invisible", "Allow changing of item frame invisibility in all levels", PermissionDefault.FALSE, graphite); | ||
+ for (World world : Bukkit.getWorlds()) { | ||
+ registerPermission(PREFIX + "itemframe.invisible." + world.getName(), "Allow changing of items frame invisibility in " + world.getName(), PermissionDefault.FALSE, itemFrame); | ||
+ } | ||
+ itemFrame.recalculatePermissibles(); | ||
+ | ||
+ graphite.recalculatePermissibles(); | ||
+ return graphite; | ||
+ } | ||
+ | ||
+} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 | ||
From: MrFishCakes <[email protected]> | ||
Date: Wed, 30 Aug 2023 23:16:52 +0100 | ||
Subject: [PATCH] Invisible Item Frames | ||
|
||
Shift-right click an item frame with correct permission to make it invisible | ||
|
||
diff --git a/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java b/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java | ||
index 182faba889dc15a3500c5919cad8a5483a53033a..40adcdc9a894532387dccc503b1aafcb716d3146 100644 | ||
--- a/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java | ||
+++ b/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java | ||
@@ -555,4 +555,19 @@ public class ItemFrame extends HangingEntity { | ||
|
||
return (float) Mth.wrapDegrees(180 + enumdirection.get2DDataValue() * 90 + this.getRotation() * 45 + i); | ||
} | ||
+ // Graphite start - Invisible Item Frames | ||
+ @Override | ||
+ public InteractionResult interactAt(Player player, Vec3 hitPos, InteractionHand hand) { | ||
+ if (this.level().graphiteConfiguration().misc.invisibleItemFrames && player.isShiftKeyDown() && | ||
+ player.getBukkitEntity().hasPermission("graphite.itemframe.invisible." + this.level().getWorld().getName())) { | ||
+ player.swing(InteractionHand.MAIN_HAND); | ||
+ this.setInvisible(!isInvisible()); | ||
+ this.setRotation(getRotation() - 1); // Prevents item from being rotated | ||
+ | ||
+ return InteractionResult.PASS; | ||
+ } | ||
+ | ||
+ return super.interactAt(player, hitPos, hand); | ||
+ } | ||
+ // Graphite end - Invisible Item Frames | ||
} | ||
diff --git a/src/main/java/org/graphitemc/graphite/configuration/LevelConfigurations.java b/src/main/java/org/graphitemc/graphite/configuration/LevelConfigurations.java | ||
index f28ed2644e4e58955851ef928e56b5bb6a548e94..8304ad66e42985fd90dbeba2d4def9b42ce2895f 100644 | ||
--- a/src/main/java/org/graphitemc/graphite/configuration/LevelConfigurations.java | ||
+++ b/src/main/java/org/graphitemc/graphite/configuration/LevelConfigurations.java | ||
@@ -50,6 +50,7 @@ public class LevelConfigurations extends ConfigurationPart { | ||
|
||
public boolean fixMC31819 = true; | ||
public boolean fixMC93018 = true; | ||
+ public boolean invisibleItemFrames = true; | ||
|
||
public Recipes recipes; | ||
|