mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-01 12:41:50 +01:00
52a05907c7
Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: 97c59261 PR-1073: Make Biome an interface a38581aa Fix further javadoc errors 8271c490 Fix javadoc error 8a9ecf29 PR-1072: Fix bad naming for Vault State methods 6dd58108 PR-1071: Make Fluid an interface and add missing entry ed2cdfc3 PR-1070: Make Attribute an interface and align names with the new minecraft ones 63472efb PR-1069: Add missing winter drop experimental annotation to pale boats CraftBukkit Changes: 7235ad7b0 PR-1501: Make Biome an interface 602904003 PR-1500: Rename implementation for Vault State methods 75f26f79f PR-1499: Make Fluid an interface and add missing entry 4cfd87adc PR-1498: Make Attribute an interface and align names with the new minecraft ones 6bb0db5cb SPIGOT-7928: ExactChoice acts as MaterialChoice 3eaf3a13c SPIGOT-7929: Error when setting EquippableComponent abbf57bac SPIGOT-7930: Fix spawning entities with SummonEntityEffect 92d6ab6cf PR-1497: Move boat field rename entries to below key renaming, so that keys are also renamed abfe292aa PR-1496: Use correct Fluid class on Tags type check c7aab7fa7 SPIGOT-7923: Fix Dispenser logic to avoid firing empty projectiles
42 lines
2.1 KiB
Diff
42 lines
2.1 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Doc <nachito94@msn.com>
|
|
Date: Sun, 6 Oct 2024 16:45:20 -0300
|
|
Subject: [PATCH] Add AnvilView#bypassEnchantmentLevelRestriction
|
|
|
|
Anvils, by default, limit applied enchantment levels to their respective
|
|
maximum level. The added API enables plugins to disable this behaviour,
|
|
allowing enchantments that are overleveled to be applied via the anvil.
|
|
|
|
diff --git a/src/main/java/org/bukkit/inventory/view/AnvilView.java b/src/main/java/org/bukkit/inventory/view/AnvilView.java
|
|
index 8963fefac4ce14d0239b92380ca6d3e6b5e5bb25..3c1aa1e036bee08304c1cdca59f6a5bc0ba306c0 100644
|
|
--- a/src/main/java/org/bukkit/inventory/view/AnvilView.java
|
|
+++ b/src/main/java/org/bukkit/inventory/view/AnvilView.java
|
|
@@ -65,4 +65,28 @@ public interface AnvilView extends InventoryView {
|
|
* @param levels the levels to set
|
|
*/
|
|
void setMaximumRepairCost(int levels);
|
|
+
|
|
+ // Paper start - bypass anvil level restrictions
|
|
+ /**
|
|
+ * Returns whether this view will bypass the vanilla enchantment level restriction
|
|
+ * when applying enchantments to an item or not.
|
|
+ * <p>
|
|
+ * By default, vanilla will limit enchantments applied to items to the respective
|
|
+ * {@link org.bukkit.enchantments.Enchantment#getMaxLevel()}, even if the applied enchantment itself is above said
|
|
+ * limit.
|
|
+ * Disabling this limit via {@link AnvilView#bypassEnchantmentLevelRestriction(boolean)} allows for, e.g., enchanted
|
|
+ * books to be applied fully, even if their enchantments are beyond the limit.
|
|
+ *
|
|
+ * @return {@code true} if this view bypasses the vanilla restrictions.
|
|
+ */
|
|
+ boolean bypassesEnchantmentLevelRestriction();
|
|
+
|
|
+ /**
|
|
+ * Sets if enchantments applied via this anvil view may bypass vanilla's level restrictions.
|
|
+ *
|
|
+ * @param bypassEnchantmentLevelRestriction if this view bypasses the vanilla level restrictions.
|
|
+ * @see AnvilView#bypassesEnchantmentLevelRestriction()
|
|
+ */
|
|
+ void bypassEnchantmentLevelRestriction(boolean bypassEnchantmentLevelRestriction);
|
|
+ // Paper end - bypass anvil level restrictions
|
|
}
|