-
-
Notifications
You must be signed in to change notification settings - Fork 478
Add new permissions and register some existing ones #1157
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 1 commit
Commits
Show all changes
4 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next
Next commit
Add new permissions and register some existing ones
- Loading branch information
commit 4479d3a5bca7ac0e2f508ee34579a9605aad0df0
There are no files selected for viewing
This file contains hidden or 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,27 @@ | ||
| From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 | ||
| From: Rhythmic <mc.ADHDMC@gmail.com> | ||
| Date: Thu, 13 Oct 2022 20:09:13 -0700 | ||
| Subject: [PATCH] Add Additional Permissions | ||
|
|
||
|
|
||
| diff --git a/src/main/java/org/bukkit/util/permissions/PurpurPermissions.java b/src/main/java/org/bukkit/util/permissions/PurpurPermissions.java | ||
| index bed91e726faae389536c8725061f23f069ba6b21..baec4c87d7ea4d54934ca22fd1eb7b46dd69061b 100644 | ||
| --- a/src/main/java/org/bukkit/util/permissions/PurpurPermissions.java | ||
| +++ b/src/main/java/org/bukkit/util/permissions/PurpurPermissions.java | ||
| @@ -41,7 +41,15 @@ public final class PurpurPermissions { | ||
| DefaultPermissions.registerPermission(PREFIX + "drop.spawners", "Allows the user to drop spawner cage when broken with diamond pickaxe with silk touch", PermissionDefault.FALSE, purpur); | ||
| DefaultPermissions.registerPermission(PREFIX + "place.spawners", "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); | ||
| + DefaultPermissions.registerPermission(PREFIX + "mending_shift_click", "Allows the user to use shift-right-click to mend items", PermissionDefault.FALSE, purpur); | ||
| + DefaultPermissions.registerPermission(PREFIX + "inventory_totem", "Uses a totem from anywhere in the user's inventory on death", PermissionDefault.FALSE, purpur); | ||
| + | ||
| + Permission anvil = DefaultPermissions.registerPermission(PREFIX + "anvil", "Allows the user to use all anvil color and format abilities", PermissionDefault.FALSE, purpur); | ||
| + DefaultPermissions.registerPermission(PREFIX + "anvil.color", "Allows the user to use color codes in an anvil", PermissionDefault.FALSE, anvil); | ||
| + DefaultPermissions.registerPermission(PREFIX + "anvil.minimessage", "Allows the user to use minimessage tags in an anvil", PermissionDefault.FALSE, anvil); | ||
| + DefaultPermissions.registerPermission(PREFIX + "anvil.remove_italics", "Allows the user to remove italics in an anvil", PermissionDefault.FALSE, anvil); | ||
| + DefaultPermissions.registerPermission(PREFIX + "anvil.format", "Allows the user to use format codes in an anvil", PermissionDefault.FALSE, anvil); | ||
| + anvil.recalculatePermissibles(); | ||
|
|
||
| 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); |
This file contains hidden or 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,74 @@ | ||
| From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 | ||
| From: Rhythmic <mc.ADHDMC@gmail.com> | ||
| Date: Thu, 13 Oct 2022 20:09:12 -0700 | ||
| Subject: [PATCH] Add Additional Permissions | ||
|
|
||
|
|
||
| diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java | ||
| index 194e9e341b9d1a966d0d78af19120422d7b7eb0a..4816b5bd54ae6e080af4c19df43d57e852e76146 100644 | ||
| --- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java | ||
| +++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java | ||
| @@ -607,7 +607,7 @@ public class ServerPlayerGameMode { | ||
|
|
||
| // Purpur start | ||
| public boolean shiftClickMended(ItemStack itemstack) { | ||
| - if (this.player.level.purpurConfig.shiftRightClickRepairsMendingPoints > 0 && this.player.isShiftKeyDown()) { | ||
| + if (this.player.level.purpurConfig.shiftRightClickRepairsMendingPoints > 0 && this.player.isShiftKeyDown() && this.player.getBukkitEntity().hasPermission("purpur.mending_shift_click")) { | ||
| int points = Math.min(this.player.totalExperience, this.player.level.purpurConfig.shiftRightClickRepairsMendingPoints); | ||
| if (points > 0 && itemstack.isDamaged() && net.minecraft.world.item.enchantment.EnchantmentHelper.getItemEnchantmentLevel(net.minecraft.world.item.enchantment.Enchantments.MENDING, itemstack) > 0) { | ||
| this.player.giveExperiencePoints(-points); | ||
| diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java | ||
| index ad4bd5fa9bcd085a1eb99c4da5fc95ebc126d028..1fc877194950ee754e9ffdbe3ff9b80bb316560f 100644 | ||
| --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java | ||
| +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java | ||
| @@ -1574,8 +1574,7 @@ public abstract class LivingEntity extends Entity { | ||
| } | ||
|
|
||
| // Purpur start | ||
| - if (level.purpurConfig.totemOfUndyingWorksInInventory && this instanceof ServerPlayer && (itemstack == null || itemstack.getItem() != Items.TOTEM_OF_UNDYING)) { | ||
| - ServerPlayer player = (ServerPlayer) this; | ||
| + if (level.purpurConfig.totemOfUndyingWorksInInventory && this instanceof ServerPlayer player && (itemstack == null || itemstack.getItem() != Items.TOTEM_OF_UNDYING) && player.getBukkitEntity().hasPermission("purpur.inventory_totem")) { | ||
| for (ItemStack item : player.getInventory().items) { | ||
| if (item.getItem() == Items.TOTEM_OF_UNDYING) { | ||
| itemstack1 = item; | ||
| diff --git a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java | ||
| index 4a3d216006037b308d71f7784e5fef4d6278bde7..8142c631628666b1eb7637e8e4c7b9328b7b447f 100644 | ||
| --- a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java | ||
| +++ b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java | ||
| @@ -15,6 +15,7 @@ import net.minecraft.world.item.enchantment.EnchantmentHelper; | ||
| import net.minecraft.world.level.block.AnvilBlock; | ||
| import net.minecraft.world.level.block.state.BlockState; | ||
| import org.apache.commons.lang3.StringUtils; | ||
| +import org.bukkit.craftbukkit.entity.CraftHumanEntity; | ||
| import org.slf4j.Logger; | ||
|
|
||
| // CraftBukkit start | ||
| @@ -282,16 +283,23 @@ public class AnvilMenu extends ItemCombinerMenu { | ||
| b1 = 1; | ||
| i += b1; | ||
| // Purpur start | ||
| - if (player != null && player.level.purpurConfig.anvilAllowColors && player.getBukkitEntity().hasPermission("purpur.anvil.color")) { | ||
| + CraftHumanEntity bukkitPlayer = player.getBukkitEntity(); | ||
| + if (player != null && player.level.purpurConfig.anvilAllowColors) { | ||
| final net.kyori.adventure.text.Component renameTextComponent; | ||
| - if (player.level.purpurConfig.anvilColorsUseMiniMessage && player.getBukkitEntity().hasPermission("purpur.anvil.minimessage")) { | ||
| + if (player.level.purpurConfig.anvilColorsUseMiniMessage && bukkitPlayer.hasPermission("purpur.anvil.minimessage")) { | ||
| renameTextComponent = net.kyori.adventure.text.minimessage.MiniMessage.miniMessage().deserialize(itemName); | ||
| - } else if (itemName.startsWith("&r") && player.getBukkitEntity().hasPermission("purpur.anvil.remove_italics")) { | ||
| + itemstack1.setHoverName(io.papermc.paper.adventure.PaperAdventure.asVanilla(renameTextComponent)); | ||
| + } else if (itemName.startsWith("&r") && bukkitPlayer.hasPermission("purpur.anvil.remove_italics")) { | ||
| renameTextComponent = net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacyAmpersand().deserialize(itemName.substring(2)).decoration(net.kyori.adventure.text.format.TextDecoration.ITALIC, false); | ||
| - } else { | ||
| + itemstack1.setHoverName(io.papermc.paper.adventure.PaperAdventure.asVanilla(renameTextComponent)); | ||
| + } else if (bukkitPlayer.hasPermission("purpur.anvil.color")) { | ||
| renameTextComponent = net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacyAmpersand().deserialize(itemName); | ||
| + itemstack1.setHoverName(io.papermc.paper.adventure.PaperAdventure.asVanilla(renameTextComponent)); | ||
| + } else if (player.getBukkitEntity().hasPermission("purpur.anvil.format")){ | ||
| + itemName = itemName.replaceAll("(?i)&([l-or])", "\u00a7$1"); | ||
| + renameTextComponent = net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().deserialize(itemName); | ||
| + itemstack1.setHoverName(io.papermc.paper.adventure.PaperAdventure.asVanilla(renameTextComponent)); | ||
| } | ||
| - itemstack1.setHoverName(io.papermc.paper.adventure.PaperAdventure.asVanilla(renameTextComponent)); | ||
| } else | ||
| // Purpur end | ||
| itemstack1.setHoverName(Component.literal(this.itemName)); | ||
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.