mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
Close #17 - Add configurable max level for enchantments
This commit is contained in:
@@ -112,6 +112,14 @@ packet-limiter
|
||||
- **default**: "Sent too many packets"
|
||||
- **description**: The message player sees when being kicked from packet limiter
|
||||
|
||||
* enchantment
|
||||
* <enchantment id>
|
||||
* max-level
|
||||
- **default**: 1 through 5
|
||||
- **description**: Maximum level the enchantment can be
|
||||
.. note::
|
||||
Enchantment level lore is rendered client side. Levels above 11 do not have a lang entry in the locale file. Use a resource pack to overcome this.
|
||||
|
||||
blocks
|
||||
~~~~~~
|
||||
* barrel
|
||||
|
||||
51
patches/api/0033-Configurable-enchantment-max-level.patch
Normal file
51
patches/api/0033-Configurable-enchantment-max-level.patch
Normal file
@@ -0,0 +1,51 @@
|
||||
From 6d7f676b7f8b78017aae8671972c1fcaf6a92b0b Mon Sep 17 00:00:00 2001
|
||||
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
|
||||
Date: Wed, 1 Apr 2020 19:18:29 -0500
|
||||
Subject: [PATCH] Configurable enchantment max level
|
||||
|
||||
---
|
||||
src/main/java/org/bukkit/enchantments/Enchantment.java | 9 +++++++++
|
||||
.../java/org/bukkit/enchantments/EnchantmentWrapper.java | 7 +++++++
|
||||
2 files changed, 16 insertions(+)
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/enchantments/Enchantment.java b/src/main/java/org/bukkit/enchantments/Enchantment.java
|
||||
index d1885f178..b277428d6 100644
|
||||
--- a/src/main/java/org/bukkit/enchantments/Enchantment.java
|
||||
+++ b/src/main/java/org/bukkit/enchantments/Enchantment.java
|
||||
@@ -232,6 +232,15 @@ public abstract class Enchantment implements Keyed {
|
||||
*/
|
||||
public abstract int getMaxLevel();
|
||||
|
||||
+ // Purpur start
|
||||
+ /**
|
||||
+ * Sets the maximum level that this Enchantment may become.
|
||||
+ *
|
||||
+ * @param maxLevel Maximum level of the Enchantment
|
||||
+ */
|
||||
+ public abstract void setMaxLevel(int maxLevel);
|
||||
+ // Purpur end
|
||||
+
|
||||
/**
|
||||
* Gets the level that this Enchantment should start at
|
||||
*
|
||||
diff --git a/src/main/java/org/bukkit/enchantments/EnchantmentWrapper.java b/src/main/java/org/bukkit/enchantments/EnchantmentWrapper.java
|
||||
index 9566e4306..67e31fee3 100644
|
||||
--- a/src/main/java/org/bukkit/enchantments/EnchantmentWrapper.java
|
||||
+++ b/src/main/java/org/bukkit/enchantments/EnchantmentWrapper.java
|
||||
@@ -27,6 +27,13 @@ public class EnchantmentWrapper extends Enchantment {
|
||||
return getEnchantment().getMaxLevel();
|
||||
}
|
||||
|
||||
+ // Purpur start
|
||||
+ @Override
|
||||
+ public void setMaxLevel(int maxLevel) {
|
||||
+ getEnchantment().setMaxLevel(maxLevel);
|
||||
+ }
|
||||
+ // Purpur end
|
||||
+
|
||||
@Override
|
||||
public int getStartLevel() {
|
||||
return getEnchantment().getStartLevel();
|
||||
--
|
||||
2.24.0
|
||||
|
||||
788
patches/server/0115-Configurable-enchantment-max-level.patch
Normal file
788
patches/server/0115-Configurable-enchantment-max-level.patch
Normal file
@@ -0,0 +1,788 @@
|
||||
From c401fe87188ba7b2328ee37f8acd6479d6a8fb58 Mon Sep 17 00:00:00 2001
|
||||
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
|
||||
Date: Wed, 1 Apr 2020 17:21:42 -0500
|
||||
Subject: [PATCH] Configurable enchantment max level
|
||||
|
||||
---
|
||||
src/main/java/net/minecraft/server/Enchantment.java | 12 ++++++++++--
|
||||
.../net/minecraft/server/EnchantmentArrowDamage.java | 6 +-----
|
||||
.../minecraft/server/EnchantmentArrowKnockback.java | 6 +-----
|
||||
.../net/minecraft/server/EnchantmentBinding.java | 6 +-----
|
||||
.../minecraft/server/EnchantmentDepthStrider.java | 6 +-----
|
||||
.../net/minecraft/server/EnchantmentDigging.java | 6 +-----
|
||||
.../net/minecraft/server/EnchantmentDurability.java | 6 +-----
|
||||
.../java/net/minecraft/server/EnchantmentFire.java | 6 +-----
|
||||
.../net/minecraft/server/EnchantmentFlameArrows.java | 6 +-----
|
||||
.../net/minecraft/server/EnchantmentFrostWalker.java | 6 +-----
|
||||
.../minecraft/server/EnchantmentInfiniteArrows.java | 6 +-----
|
||||
.../net/minecraft/server/EnchantmentKnockback.java | 6 +-----
|
||||
.../net/minecraft/server/EnchantmentLootBonus.java | 6 +-----
|
||||
.../java/net/minecraft/server/EnchantmentLure.java | 6 +-----
|
||||
.../net/minecraft/server/EnchantmentMending.java | 6 +-----
|
||||
.../net/minecraft/server/EnchantmentMultishot.java | 6 +-----
|
||||
.../java/net/minecraft/server/EnchantmentOxygen.java | 6 +-----
|
||||
.../net/minecraft/server/EnchantmentPiercing.java | 6 +-----
|
||||
.../net/minecraft/server/EnchantmentProtection.java | 7 +------
|
||||
.../net/minecraft/server/EnchantmentQuickCharge.java | 6 +-----
|
||||
.../net/minecraft/server/EnchantmentSilkTouch.java | 6 +-----
|
||||
.../net/minecraft/server/EnchantmentSweeping.java | 6 +-----
|
||||
.../java/net/minecraft/server/EnchantmentThorns.java | 6 +-----
|
||||
.../server/EnchantmentTridentChanneling.java | 6 +-----
|
||||
.../minecraft/server/EnchantmentTridentImpaling.java | 6 +-----
|
||||
.../minecraft/server/EnchantmentTridentLoyalty.java | 6 +-----
|
||||
.../minecraft/server/EnchantmentTridentRiptide.java | 6 +-----
|
||||
.../net/minecraft/server/EnchantmentVanishing.java | 6 +-----
|
||||
.../net/minecraft/server/EnchantmentWaterWorker.java | 6 +-----
|
||||
.../minecraft/server/EnchantmentWeaponDamage.java | 6 +-----
|
||||
src/main/java/net/pl3x/purpur/PurpurConfig.java | 10 ++++++++++
|
||||
.../craftbukkit/enchantments/CraftEnchantment.java | 7 +++++++
|
||||
32 files changed, 56 insertions(+), 148 deletions(-)
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Enchantment.java b/src/main/java/net/minecraft/server/Enchantment.java
|
||||
index 70cd4a4837..0ab96ea34e 100644
|
||||
--- a/src/main/java/net/minecraft/server/Enchantment.java
|
||||
+++ b/src/main/java/net/minecraft/server/Enchantment.java
|
||||
@@ -44,9 +44,17 @@ public abstract class Enchantment {
|
||||
return 1;
|
||||
}
|
||||
|
||||
- public int getMaxLevel() {
|
||||
- return 1;
|
||||
+ // Purpur start
|
||||
+ private int maxLevel = 1;
|
||||
+
|
||||
+ public final int getMaxLevel() {
|
||||
+ return maxLevel;
|
||||
+ }
|
||||
+
|
||||
+ public final void setMaxLevel(int maxLevel) {
|
||||
+ this.maxLevel = maxLevel;
|
||||
}
|
||||
+ // Purpur end
|
||||
|
||||
public int a(int i) {
|
||||
return 1 + i * 10;
|
||||
diff --git a/src/main/java/net/minecraft/server/EnchantmentArrowDamage.java b/src/main/java/net/minecraft/server/EnchantmentArrowDamage.java
|
||||
index ffa1d19cb9..1040e7e08b 100644
|
||||
--- a/src/main/java/net/minecraft/server/EnchantmentArrowDamage.java
|
||||
+++ b/src/main/java/net/minecraft/server/EnchantmentArrowDamage.java
|
||||
@@ -4,6 +4,7 @@ public class EnchantmentArrowDamage extends Enchantment {
|
||||
|
||||
public EnchantmentArrowDamage(Enchantment.Rarity enchantment_rarity, EnumItemSlot... aenumitemslot) {
|
||||
super(enchantment_rarity, EnchantmentSlotType.BOW, aenumitemslot);
|
||||
+ setMaxLevel(5); // Purpur
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -15,9 +16,4 @@ public class EnchantmentArrowDamage extends Enchantment {
|
||||
public int b(int i) {
|
||||
return this.a(i) + 15;
|
||||
}
|
||||
-
|
||||
- @Override
|
||||
- public int getMaxLevel() {
|
||||
- return 5;
|
||||
- }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EnchantmentArrowKnockback.java b/src/main/java/net/minecraft/server/EnchantmentArrowKnockback.java
|
||||
index 9103f3c614..67f487b9e4 100644
|
||||
--- a/src/main/java/net/minecraft/server/EnchantmentArrowKnockback.java
|
||||
+++ b/src/main/java/net/minecraft/server/EnchantmentArrowKnockback.java
|
||||
@@ -4,6 +4,7 @@ public class EnchantmentArrowKnockback extends Enchantment {
|
||||
|
||||
public EnchantmentArrowKnockback(Enchantment.Rarity enchantment_rarity, EnumItemSlot... aenumitemslot) {
|
||||
super(enchantment_rarity, EnchantmentSlotType.BOW, aenumitemslot);
|
||||
+ setMaxLevel(2); // Purpur
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -15,9 +16,4 @@ public class EnchantmentArrowKnockback extends Enchantment {
|
||||
public int b(int i) {
|
||||
return this.a(i) + 25;
|
||||
}
|
||||
-
|
||||
- @Override
|
||||
- public int getMaxLevel() {
|
||||
- return 2;
|
||||
- }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EnchantmentBinding.java b/src/main/java/net/minecraft/server/EnchantmentBinding.java
|
||||
index b49154b13e..ec4dad3cf2 100644
|
||||
--- a/src/main/java/net/minecraft/server/EnchantmentBinding.java
|
||||
+++ b/src/main/java/net/minecraft/server/EnchantmentBinding.java
|
||||
@@ -4,6 +4,7 @@ public class EnchantmentBinding extends Enchantment {
|
||||
|
||||
public EnchantmentBinding(Enchantment.Rarity enchantment_rarity, EnumItemSlot... aenumitemslot) {
|
||||
super(enchantment_rarity, EnchantmentSlotType.WEARABLE, aenumitemslot);
|
||||
+ setMaxLevel(1); // Purpur
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -16,11 +17,6 @@ public class EnchantmentBinding extends Enchantment {
|
||||
return 50;
|
||||
}
|
||||
|
||||
- @Override
|
||||
- public int getMaxLevel() {
|
||||
- return 1;
|
||||
- }
|
||||
-
|
||||
@Override
|
||||
public boolean isTreasure() {
|
||||
return true;
|
||||
diff --git a/src/main/java/net/minecraft/server/EnchantmentDepthStrider.java b/src/main/java/net/minecraft/server/EnchantmentDepthStrider.java
|
||||
index 669fbd2685..07d566cd9e 100644
|
||||
--- a/src/main/java/net/minecraft/server/EnchantmentDepthStrider.java
|
||||
+++ b/src/main/java/net/minecraft/server/EnchantmentDepthStrider.java
|
||||
@@ -4,6 +4,7 @@ public class EnchantmentDepthStrider extends Enchantment {
|
||||
|
||||
public EnchantmentDepthStrider(Enchantment.Rarity enchantment_rarity, EnumItemSlot... aenumitemslot) {
|
||||
super(enchantment_rarity, EnchantmentSlotType.ARMOR_FEET, aenumitemslot);
|
||||
+ setMaxLevel(3); // Purpur
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -16,11 +17,6 @@ public class EnchantmentDepthStrider extends Enchantment {
|
||||
return this.a(i) + 15;
|
||||
}
|
||||
|
||||
- @Override
|
||||
- public int getMaxLevel() {
|
||||
- return 3;
|
||||
- }
|
||||
-
|
||||
@Override
|
||||
public boolean a(Enchantment enchantment) {
|
||||
return super.a(enchantment) && enchantment != Enchantments.FROST_WALKER;
|
||||
diff --git a/src/main/java/net/minecraft/server/EnchantmentDigging.java b/src/main/java/net/minecraft/server/EnchantmentDigging.java
|
||||
index 798b3c250c..16a7c38bc0 100644
|
||||
--- a/src/main/java/net/minecraft/server/EnchantmentDigging.java
|
||||
+++ b/src/main/java/net/minecraft/server/EnchantmentDigging.java
|
||||
@@ -4,6 +4,7 @@ public class EnchantmentDigging extends Enchantment {
|
||||
|
||||
protected EnchantmentDigging(Enchantment.Rarity enchantment_rarity, EnumItemSlot... aenumitemslot) {
|
||||
super(enchantment_rarity, EnchantmentSlotType.DIGGER, aenumitemslot);
|
||||
+ setMaxLevel(5); // Purpur
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -16,11 +17,6 @@ public class EnchantmentDigging extends Enchantment {
|
||||
return super.a(i) + 50;
|
||||
}
|
||||
|
||||
- @Override
|
||||
- public int getMaxLevel() {
|
||||
- return 5;
|
||||
- }
|
||||
-
|
||||
@Override
|
||||
public boolean canEnchant(ItemStack itemstack) {
|
||||
return itemstack.getItem() == Items.SHEARS ? true : super.canEnchant(itemstack);
|
||||
diff --git a/src/main/java/net/minecraft/server/EnchantmentDurability.java b/src/main/java/net/minecraft/server/EnchantmentDurability.java
|
||||
index c946326fbc..6deccef554 100644
|
||||
--- a/src/main/java/net/minecraft/server/EnchantmentDurability.java
|
||||
+++ b/src/main/java/net/minecraft/server/EnchantmentDurability.java
|
||||
@@ -6,6 +6,7 @@ public class EnchantmentDurability extends Enchantment {
|
||||
|
||||
protected EnchantmentDurability(Enchantment.Rarity enchantment_rarity, EnumItemSlot... aenumitemslot) {
|
||||
super(enchantment_rarity, EnchantmentSlotType.BREAKABLE, aenumitemslot);
|
||||
+ setMaxLevel(3); // Purpur
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -18,11 +19,6 @@ public class EnchantmentDurability extends Enchantment {
|
||||
return super.a(i) + 50;
|
||||
}
|
||||
|
||||
- @Override
|
||||
- public int getMaxLevel() {
|
||||
- return 3;
|
||||
- }
|
||||
-
|
||||
@Override
|
||||
public boolean canEnchant(ItemStack itemstack) {
|
||||
return itemstack.e() ? true : super.canEnchant(itemstack);
|
||||
diff --git a/src/main/java/net/minecraft/server/EnchantmentFire.java b/src/main/java/net/minecraft/server/EnchantmentFire.java
|
||||
index c4da4378cb..f2664c18e2 100644
|
||||
--- a/src/main/java/net/minecraft/server/EnchantmentFire.java
|
||||
+++ b/src/main/java/net/minecraft/server/EnchantmentFire.java
|
||||
@@ -4,6 +4,7 @@ public class EnchantmentFire extends Enchantment {
|
||||
|
||||
protected EnchantmentFire(Enchantment.Rarity enchantment_rarity, EnumItemSlot... aenumitemslot) {
|
||||
super(enchantment_rarity, EnchantmentSlotType.WEAPON, aenumitemslot);
|
||||
+ setMaxLevel(2); // Purpur
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -15,9 +16,4 @@ public class EnchantmentFire extends Enchantment {
|
||||
public int b(int i) {
|
||||
return super.a(i) + 50;
|
||||
}
|
||||
-
|
||||
- @Override
|
||||
- public int getMaxLevel() {
|
||||
- return 2;
|
||||
- }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EnchantmentFlameArrows.java b/src/main/java/net/minecraft/server/EnchantmentFlameArrows.java
|
||||
index a0b4da25b8..af3db770f8 100644
|
||||
--- a/src/main/java/net/minecraft/server/EnchantmentFlameArrows.java
|
||||
+++ b/src/main/java/net/minecraft/server/EnchantmentFlameArrows.java
|
||||
@@ -4,6 +4,7 @@ public class EnchantmentFlameArrows extends Enchantment {
|
||||
|
||||
public EnchantmentFlameArrows(Enchantment.Rarity enchantment_rarity, EnumItemSlot... aenumitemslot) {
|
||||
super(enchantment_rarity, EnchantmentSlotType.BOW, aenumitemslot);
|
||||
+ setMaxLevel(1); // Purpur
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -15,9 +16,4 @@ public class EnchantmentFlameArrows extends Enchantment {
|
||||
public int b(int i) {
|
||||
return 50;
|
||||
}
|
||||
-
|
||||
- @Override
|
||||
- public int getMaxLevel() {
|
||||
- return 1;
|
||||
- }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EnchantmentFrostWalker.java b/src/main/java/net/minecraft/server/EnchantmentFrostWalker.java
|
||||
index b5de6c740c..8c4fd331c8 100644
|
||||
--- a/src/main/java/net/minecraft/server/EnchantmentFrostWalker.java
|
||||
+++ b/src/main/java/net/minecraft/server/EnchantmentFrostWalker.java
|
||||
@@ -10,6 +10,7 @@ public class EnchantmentFrostWalker extends Enchantment {
|
||||
|
||||
public EnchantmentFrostWalker(Enchantment.Rarity enchantment_rarity, EnumItemSlot... aenumitemslot) {
|
||||
super(enchantment_rarity, EnchantmentSlotType.ARMOR_FEET, aenumitemslot);
|
||||
+ setMaxLevel(2); // Purpur
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -27,11 +28,6 @@ public class EnchantmentFrostWalker extends Enchantment {
|
||||
return true;
|
||||
}
|
||||
|
||||
- @Override
|
||||
- public int getMaxLevel() {
|
||||
- return 2;
|
||||
- }
|
||||
-
|
||||
public static void a(EntityLiving entityliving, World world, BlockPosition blockposition, int i) {
|
||||
if (entityliving.onGround) {
|
||||
IBlockData iblockdata = Blocks.FROSTED_ICE.getBlockData();
|
||||
diff --git a/src/main/java/net/minecraft/server/EnchantmentInfiniteArrows.java b/src/main/java/net/minecraft/server/EnchantmentInfiniteArrows.java
|
||||
index 408cfa4609..1dbedc0adb 100644
|
||||
--- a/src/main/java/net/minecraft/server/EnchantmentInfiniteArrows.java
|
||||
+++ b/src/main/java/net/minecraft/server/EnchantmentInfiniteArrows.java
|
||||
@@ -4,6 +4,7 @@ public class EnchantmentInfiniteArrows extends Enchantment {
|
||||
|
||||
public EnchantmentInfiniteArrows(Enchantment.Rarity enchantment_rarity, EnumItemSlot... aenumitemslot) {
|
||||
super(enchantment_rarity, EnchantmentSlotType.BOW, aenumitemslot);
|
||||
+ setMaxLevel(1); // Purpur
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -16,11 +17,6 @@ public class EnchantmentInfiniteArrows extends Enchantment {
|
||||
return 50;
|
||||
}
|
||||
|
||||
- @Override
|
||||
- public int getMaxLevel() {
|
||||
- return 1;
|
||||
- }
|
||||
-
|
||||
@Override
|
||||
public boolean a(Enchantment enchantment) {
|
||||
return enchantment instanceof EnchantmentMending ? false : super.a(enchantment);
|
||||
diff --git a/src/main/java/net/minecraft/server/EnchantmentKnockback.java b/src/main/java/net/minecraft/server/EnchantmentKnockback.java
|
||||
index 362ce7bc47..04062c2557 100644
|
||||
--- a/src/main/java/net/minecraft/server/EnchantmentKnockback.java
|
||||
+++ b/src/main/java/net/minecraft/server/EnchantmentKnockback.java
|
||||
@@ -4,6 +4,7 @@ public class EnchantmentKnockback extends Enchantment {
|
||||
|
||||
protected EnchantmentKnockback(Enchantment.Rarity enchantment_rarity, EnumItemSlot... aenumitemslot) {
|
||||
super(enchantment_rarity, EnchantmentSlotType.WEAPON, aenumitemslot);
|
||||
+ setMaxLevel(2); // Purpur
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -15,9 +16,4 @@ public class EnchantmentKnockback extends Enchantment {
|
||||
public int b(int i) {
|
||||
return super.a(i) + 50;
|
||||
}
|
||||
-
|
||||
- @Override
|
||||
- public int getMaxLevel() {
|
||||
- return 2;
|
||||
- }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EnchantmentLootBonus.java b/src/main/java/net/minecraft/server/EnchantmentLootBonus.java
|
||||
index b5232faccc..c27e20e066 100644
|
||||
--- a/src/main/java/net/minecraft/server/EnchantmentLootBonus.java
|
||||
+++ b/src/main/java/net/minecraft/server/EnchantmentLootBonus.java
|
||||
@@ -4,6 +4,7 @@ public class EnchantmentLootBonus extends Enchantment {
|
||||
|
||||
protected EnchantmentLootBonus(Enchantment.Rarity enchantment_rarity, EnchantmentSlotType enchantmentslottype, EnumItemSlot... aenumitemslot) {
|
||||
super(enchantment_rarity, enchantmentslottype, aenumitemslot);
|
||||
+ setMaxLevel(3); // Purpur
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -16,11 +17,6 @@ public class EnchantmentLootBonus extends Enchantment {
|
||||
return super.a(i) + 50;
|
||||
}
|
||||
|
||||
- @Override
|
||||
- public int getMaxLevel() {
|
||||
- return 3;
|
||||
- }
|
||||
-
|
||||
@Override
|
||||
public boolean a(Enchantment enchantment) {
|
||||
return super.a(enchantment) && enchantment != Enchantments.SILK_TOUCH;
|
||||
diff --git a/src/main/java/net/minecraft/server/EnchantmentLure.java b/src/main/java/net/minecraft/server/EnchantmentLure.java
|
||||
index 1ffb91c570..c5a9e61f9a 100644
|
||||
--- a/src/main/java/net/minecraft/server/EnchantmentLure.java
|
||||
+++ b/src/main/java/net/minecraft/server/EnchantmentLure.java
|
||||
@@ -4,6 +4,7 @@ public class EnchantmentLure extends Enchantment {
|
||||
|
||||
protected EnchantmentLure(Enchantment.Rarity enchantment_rarity, EnchantmentSlotType enchantmentslottype, EnumItemSlot... aenumitemslot) {
|
||||
super(enchantment_rarity, enchantmentslottype, aenumitemslot);
|
||||
+ setMaxLevel(3); // Purpur
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -15,9 +16,4 @@ public class EnchantmentLure extends Enchantment {
|
||||
public int b(int i) {
|
||||
return super.a(i) + 50;
|
||||
}
|
||||
-
|
||||
- @Override
|
||||
- public int getMaxLevel() {
|
||||
- return 3;
|
||||
- }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EnchantmentMending.java b/src/main/java/net/minecraft/server/EnchantmentMending.java
|
||||
index dafc29399f..ace2e19a6f 100644
|
||||
--- a/src/main/java/net/minecraft/server/EnchantmentMending.java
|
||||
+++ b/src/main/java/net/minecraft/server/EnchantmentMending.java
|
||||
@@ -4,6 +4,7 @@ public class EnchantmentMending extends Enchantment {
|
||||
|
||||
public EnchantmentMending(Enchantment.Rarity enchantment_rarity, EnumItemSlot... aenumitemslot) {
|
||||
super(enchantment_rarity, EnchantmentSlotType.BREAKABLE, aenumitemslot);
|
||||
+ setMaxLevel(1); // Purpur
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -20,9 +21,4 @@ public class EnchantmentMending extends Enchantment {
|
||||
public boolean isTreasure() {
|
||||
return true;
|
||||
}
|
||||
-
|
||||
- @Override
|
||||
- public int getMaxLevel() {
|
||||
- return 1;
|
||||
- }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EnchantmentMultishot.java b/src/main/java/net/minecraft/server/EnchantmentMultishot.java
|
||||
index 6f423e7536..5fb8a624c2 100644
|
||||
--- a/src/main/java/net/minecraft/server/EnchantmentMultishot.java
|
||||
+++ b/src/main/java/net/minecraft/server/EnchantmentMultishot.java
|
||||
@@ -4,6 +4,7 @@ public class EnchantmentMultishot extends Enchantment {
|
||||
|
||||
public EnchantmentMultishot(Enchantment.Rarity enchantment_rarity, EnumItemSlot... aenumitemslot) {
|
||||
super(enchantment_rarity, EnchantmentSlotType.CROSSBOW, aenumitemslot);
|
||||
+ setMaxLevel(1); // Purpur
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -16,11 +17,6 @@ public class EnchantmentMultishot extends Enchantment {
|
||||
return 50;
|
||||
}
|
||||
|
||||
- @Override
|
||||
- public int getMaxLevel() {
|
||||
- return 1;
|
||||
- }
|
||||
-
|
||||
@Override
|
||||
public boolean a(Enchantment enchantment) {
|
||||
return super.a(enchantment) && enchantment != Enchantments.PIERCING;
|
||||
diff --git a/src/main/java/net/minecraft/server/EnchantmentOxygen.java b/src/main/java/net/minecraft/server/EnchantmentOxygen.java
|
||||
index c1bc97f6ef..a5726d36df 100644
|
||||
--- a/src/main/java/net/minecraft/server/EnchantmentOxygen.java
|
||||
+++ b/src/main/java/net/minecraft/server/EnchantmentOxygen.java
|
||||
@@ -4,6 +4,7 @@ public class EnchantmentOxygen extends Enchantment {
|
||||
|
||||
public EnchantmentOxygen(Enchantment.Rarity enchantment_rarity, EnumItemSlot... aenumitemslot) {
|
||||
super(enchantment_rarity, EnchantmentSlotType.ARMOR_HEAD, aenumitemslot);
|
||||
+ setMaxLevel(3);// Purpur
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -15,9 +16,4 @@ public class EnchantmentOxygen extends Enchantment {
|
||||
public int b(int i) {
|
||||
return this.a(i) + 30;
|
||||
}
|
||||
-
|
||||
- @Override
|
||||
- public int getMaxLevel() {
|
||||
- return 3;
|
||||
- }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EnchantmentPiercing.java b/src/main/java/net/minecraft/server/EnchantmentPiercing.java
|
||||
index 1a2e8e31f9..0e8993e86e 100644
|
||||
--- a/src/main/java/net/minecraft/server/EnchantmentPiercing.java
|
||||
+++ b/src/main/java/net/minecraft/server/EnchantmentPiercing.java
|
||||
@@ -4,6 +4,7 @@ public class EnchantmentPiercing extends Enchantment {
|
||||
|
||||
public EnchantmentPiercing(Enchantment.Rarity enchantment_rarity, EnumItemSlot... aenumitemslot) {
|
||||
super(enchantment_rarity, EnchantmentSlotType.CROSSBOW, aenumitemslot);
|
||||
+ setMaxLevel(4); // Purpur
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -16,11 +17,6 @@ public class EnchantmentPiercing extends Enchantment {
|
||||
return 50;
|
||||
}
|
||||
|
||||
- @Override
|
||||
- public int getMaxLevel() {
|
||||
- return 4;
|
||||
- }
|
||||
-
|
||||
@Override
|
||||
public boolean a(Enchantment enchantment) {
|
||||
return super.a(enchantment) && enchantment != Enchantments.MULTISHOT;
|
||||
diff --git a/src/main/java/net/minecraft/server/EnchantmentProtection.java b/src/main/java/net/minecraft/server/EnchantmentProtection.java
|
||||
index 416e57caa0..b29cb54677 100644
|
||||
--- a/src/main/java/net/minecraft/server/EnchantmentProtection.java
|
||||
+++ b/src/main/java/net/minecraft/server/EnchantmentProtection.java
|
||||
@@ -10,7 +10,7 @@ public class EnchantmentProtection extends Enchantment {
|
||||
if (enchantmentprotection_damagetype == EnchantmentProtection.DamageType.FALL) {
|
||||
this.itemTarget = EnchantmentSlotType.ARMOR_FEET;
|
||||
}
|
||||
-
|
||||
+ setMaxLevel(4); // Purpur
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -23,11 +23,6 @@ public class EnchantmentProtection extends Enchantment {
|
||||
return this.a(i) + this.a.c();
|
||||
}
|
||||
|
||||
- @Override
|
||||
- public int getMaxLevel() {
|
||||
- return 4;
|
||||
- }
|
||||
-
|
||||
@Override
|
||||
public int a(int i, DamageSource damagesource) {
|
||||
return damagesource.ignoresInvulnerability() ? 0 : (this.a == EnchantmentProtection.DamageType.ALL ? i : (this.a == EnchantmentProtection.DamageType.FIRE && damagesource.isFire() ? i * 2 : (this.a == EnchantmentProtection.DamageType.FALL && damagesource == DamageSource.FALL ? i * 3 : (this.a == EnchantmentProtection.DamageType.EXPLOSION && damagesource.isExplosion() ? i * 2 : (this.a == EnchantmentProtection.DamageType.PROJECTILE && damagesource.b() ? i * 2 : 0)))));
|
||||
diff --git a/src/main/java/net/minecraft/server/EnchantmentQuickCharge.java b/src/main/java/net/minecraft/server/EnchantmentQuickCharge.java
|
||||
index e624b63aaf..762642ce5a 100644
|
||||
--- a/src/main/java/net/minecraft/server/EnchantmentQuickCharge.java
|
||||
+++ b/src/main/java/net/minecraft/server/EnchantmentQuickCharge.java
|
||||
@@ -4,6 +4,7 @@ public class EnchantmentQuickCharge extends Enchantment {
|
||||
|
||||
public EnchantmentQuickCharge(Enchantment.Rarity enchantment_rarity, EnumItemSlot... aenumitemslot) {
|
||||
super(enchantment_rarity, EnchantmentSlotType.CROSSBOW, aenumitemslot);
|
||||
+ setMaxLevel(3); // Purpur
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -15,9 +16,4 @@ public class EnchantmentQuickCharge extends Enchantment {
|
||||
public int b(int i) {
|
||||
return 50;
|
||||
}
|
||||
-
|
||||
- @Override
|
||||
- public int getMaxLevel() {
|
||||
- return 3;
|
||||
- }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EnchantmentSilkTouch.java b/src/main/java/net/minecraft/server/EnchantmentSilkTouch.java
|
||||
index 04aa8e1d5d..d0eac6dbc1 100644
|
||||
--- a/src/main/java/net/minecraft/server/EnchantmentSilkTouch.java
|
||||
+++ b/src/main/java/net/minecraft/server/EnchantmentSilkTouch.java
|
||||
@@ -4,6 +4,7 @@ public class EnchantmentSilkTouch extends Enchantment {
|
||||
|
||||
protected EnchantmentSilkTouch(Enchantment.Rarity enchantment_rarity, EnumItemSlot... aenumitemslot) {
|
||||
super(enchantment_rarity, EnchantmentSlotType.DIGGER, aenumitemslot);
|
||||
+ setMaxLevel(1); // Purpur
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -16,11 +17,6 @@ public class EnchantmentSilkTouch extends Enchantment {
|
||||
return super.a(i) + 50;
|
||||
}
|
||||
|
||||
- @Override
|
||||
- public int getMaxLevel() {
|
||||
- return 1;
|
||||
- }
|
||||
-
|
||||
@Override
|
||||
public boolean a(Enchantment enchantment) {
|
||||
return super.a(enchantment) && enchantment != Enchantments.LOOT_BONUS_BLOCKS;
|
||||
diff --git a/src/main/java/net/minecraft/server/EnchantmentSweeping.java b/src/main/java/net/minecraft/server/EnchantmentSweeping.java
|
||||
index a20b1c8f5b..7804e0a0a8 100644
|
||||
--- a/src/main/java/net/minecraft/server/EnchantmentSweeping.java
|
||||
+++ b/src/main/java/net/minecraft/server/EnchantmentSweeping.java
|
||||
@@ -4,6 +4,7 @@ public class EnchantmentSweeping extends Enchantment {
|
||||
|
||||
public EnchantmentSweeping(Enchantment.Rarity enchantment_rarity, EnumItemSlot... aenumitemslot) {
|
||||
super(enchantment_rarity, EnchantmentSlotType.WEAPON, aenumitemslot);
|
||||
+ setMaxLevel(3); // Purpur
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -16,11 +17,6 @@ public class EnchantmentSweeping extends Enchantment {
|
||||
return this.a(i) + 15;
|
||||
}
|
||||
|
||||
- @Override
|
||||
- public int getMaxLevel() {
|
||||
- return 3;
|
||||
- }
|
||||
-
|
||||
public static float e(int i) {
|
||||
return 1.0F - 1.0F / (float) (i + 1);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EnchantmentThorns.java b/src/main/java/net/minecraft/server/EnchantmentThorns.java
|
||||
index fd0255c890..df7c9b24b5 100644
|
||||
--- a/src/main/java/net/minecraft/server/EnchantmentThorns.java
|
||||
+++ b/src/main/java/net/minecraft/server/EnchantmentThorns.java
|
||||
@@ -7,6 +7,7 @@ public class EnchantmentThorns extends Enchantment {
|
||||
|
||||
public EnchantmentThorns(Enchantment.Rarity enchantment_rarity, EnumItemSlot... aenumitemslot) {
|
||||
super(enchantment_rarity, EnchantmentSlotType.ARMOR_CHEST, aenumitemslot);
|
||||
+ setMaxLevel(3); // Purpur
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -19,11 +20,6 @@ public class EnchantmentThorns extends Enchantment {
|
||||
return super.a(i) + 50;
|
||||
}
|
||||
|
||||
- @Override
|
||||
- public int getMaxLevel() {
|
||||
- return 3;
|
||||
- }
|
||||
-
|
||||
@Override
|
||||
public boolean canEnchant(ItemStack itemstack) {
|
||||
return itemstack.getItem() instanceof ItemArmor ? true : super.canEnchant(itemstack);
|
||||
diff --git a/src/main/java/net/minecraft/server/EnchantmentTridentChanneling.java b/src/main/java/net/minecraft/server/EnchantmentTridentChanneling.java
|
||||
index 14115ecc78..2533b2cab2 100644
|
||||
--- a/src/main/java/net/minecraft/server/EnchantmentTridentChanneling.java
|
||||
+++ b/src/main/java/net/minecraft/server/EnchantmentTridentChanneling.java
|
||||
@@ -4,6 +4,7 @@ public class EnchantmentTridentChanneling extends Enchantment {
|
||||
|
||||
public EnchantmentTridentChanneling(Enchantment.Rarity enchantment_rarity, EnumItemSlot... aenumitemslot) {
|
||||
super(enchantment_rarity, EnchantmentSlotType.TRIDENT, aenumitemslot);
|
||||
+ setMaxLevel(1); // Purpur
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -16,11 +17,6 @@ public class EnchantmentTridentChanneling extends Enchantment {
|
||||
return 50;
|
||||
}
|
||||
|
||||
- @Override
|
||||
- public int getMaxLevel() {
|
||||
- return 1;
|
||||
- }
|
||||
-
|
||||
@Override
|
||||
public boolean a(Enchantment enchantment) {
|
||||
return super.a(enchantment);
|
||||
diff --git a/src/main/java/net/minecraft/server/EnchantmentTridentImpaling.java b/src/main/java/net/minecraft/server/EnchantmentTridentImpaling.java
|
||||
index f64fc401e8..b47d8284f8 100644
|
||||
--- a/src/main/java/net/minecraft/server/EnchantmentTridentImpaling.java
|
||||
+++ b/src/main/java/net/minecraft/server/EnchantmentTridentImpaling.java
|
||||
@@ -4,6 +4,7 @@ public class EnchantmentTridentImpaling extends Enchantment {
|
||||
|
||||
public EnchantmentTridentImpaling(Enchantment.Rarity enchantment_rarity, EnumItemSlot... aenumitemslot) {
|
||||
super(enchantment_rarity, EnchantmentSlotType.TRIDENT, aenumitemslot);
|
||||
+ setMaxLevel(5); // Purpur
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -16,11 +17,6 @@ public class EnchantmentTridentImpaling extends Enchantment {
|
||||
return this.a(i) + 20;
|
||||
}
|
||||
|
||||
- @Override
|
||||
- public int getMaxLevel() {
|
||||
- return 5;
|
||||
- }
|
||||
-
|
||||
@Override
|
||||
public float a(int i, EnumMonsterType enummonstertype) {
|
||||
return enummonstertype == EnumMonsterType.e ? (float) i * 2.5F : 0.0F;
|
||||
diff --git a/src/main/java/net/minecraft/server/EnchantmentTridentLoyalty.java b/src/main/java/net/minecraft/server/EnchantmentTridentLoyalty.java
|
||||
index dd91bed6e4..826f4d8750 100644
|
||||
--- a/src/main/java/net/minecraft/server/EnchantmentTridentLoyalty.java
|
||||
+++ b/src/main/java/net/minecraft/server/EnchantmentTridentLoyalty.java
|
||||
@@ -4,6 +4,7 @@ public class EnchantmentTridentLoyalty extends Enchantment {
|
||||
|
||||
public EnchantmentTridentLoyalty(Enchantment.Rarity enchantment_rarity, EnumItemSlot... aenumitemslot) {
|
||||
super(enchantment_rarity, EnchantmentSlotType.TRIDENT, aenumitemslot);
|
||||
+ setMaxLevel(3); // Purpur
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -16,11 +17,6 @@ public class EnchantmentTridentLoyalty extends Enchantment {
|
||||
return 50;
|
||||
}
|
||||
|
||||
- @Override
|
||||
- public int getMaxLevel() {
|
||||
- return 3;
|
||||
- }
|
||||
-
|
||||
@Override
|
||||
public boolean a(Enchantment enchantment) {
|
||||
return super.a(enchantment);
|
||||
diff --git a/src/main/java/net/minecraft/server/EnchantmentTridentRiptide.java b/src/main/java/net/minecraft/server/EnchantmentTridentRiptide.java
|
||||
index 0f669dc7ac..81d6ccc35b 100644
|
||||
--- a/src/main/java/net/minecraft/server/EnchantmentTridentRiptide.java
|
||||
+++ b/src/main/java/net/minecraft/server/EnchantmentTridentRiptide.java
|
||||
@@ -4,6 +4,7 @@ public class EnchantmentTridentRiptide extends Enchantment {
|
||||
|
||||
public EnchantmentTridentRiptide(Enchantment.Rarity enchantment_rarity, EnumItemSlot... aenumitemslot) {
|
||||
super(enchantment_rarity, EnchantmentSlotType.TRIDENT, aenumitemslot);
|
||||
+ setMaxLevel(3); // Purpur
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -16,11 +17,6 @@ public class EnchantmentTridentRiptide extends Enchantment {
|
||||
return 50;
|
||||
}
|
||||
|
||||
- @Override
|
||||
- public int getMaxLevel() {
|
||||
- return 3;
|
||||
- }
|
||||
-
|
||||
@Override
|
||||
public boolean a(Enchantment enchantment) {
|
||||
return super.a(enchantment) && enchantment != Enchantments.LOYALTY && enchantment != Enchantments.CHANNELING;
|
||||
diff --git a/src/main/java/net/minecraft/server/EnchantmentVanishing.java b/src/main/java/net/minecraft/server/EnchantmentVanishing.java
|
||||
index 4ef59d7f17..5d7b6ca57a 100644
|
||||
--- a/src/main/java/net/minecraft/server/EnchantmentVanishing.java
|
||||
+++ b/src/main/java/net/minecraft/server/EnchantmentVanishing.java
|
||||
@@ -4,6 +4,7 @@ public class EnchantmentVanishing extends Enchantment {
|
||||
|
||||
public EnchantmentVanishing(Enchantment.Rarity enchantment_rarity, EnumItemSlot... aenumitemslot) {
|
||||
super(enchantment_rarity, EnchantmentSlotType.ALL, aenumitemslot);
|
||||
+ setMaxLevel(1); // Purpur
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -16,11 +17,6 @@ public class EnchantmentVanishing extends Enchantment {
|
||||
return 50;
|
||||
}
|
||||
|
||||
- @Override
|
||||
- public int getMaxLevel() {
|
||||
- return 1;
|
||||
- }
|
||||
-
|
||||
@Override
|
||||
public boolean isTreasure() {
|
||||
return true;
|
||||
diff --git a/src/main/java/net/minecraft/server/EnchantmentWaterWorker.java b/src/main/java/net/minecraft/server/EnchantmentWaterWorker.java
|
||||
index cf0999095e..bea57861bf 100644
|
||||
--- a/src/main/java/net/minecraft/server/EnchantmentWaterWorker.java
|
||||
+++ b/src/main/java/net/minecraft/server/EnchantmentWaterWorker.java
|
||||
@@ -4,6 +4,7 @@ public class EnchantmentWaterWorker extends Enchantment {
|
||||
|
||||
public EnchantmentWaterWorker(Enchantment.Rarity enchantment_rarity, EnumItemSlot... aenumitemslot) {
|
||||
super(enchantment_rarity, EnchantmentSlotType.ARMOR_HEAD, aenumitemslot);
|
||||
+ setMaxLevel(1); // Purpur
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -15,9 +16,4 @@ public class EnchantmentWaterWorker extends Enchantment {
|
||||
public int b(int i) {
|
||||
return this.a(i) + 40;
|
||||
}
|
||||
-
|
||||
- @Override
|
||||
- public int getMaxLevel() {
|
||||
- return 1;
|
||||
- }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EnchantmentWeaponDamage.java b/src/main/java/net/minecraft/server/EnchantmentWeaponDamage.java
|
||||
index 4571cdf021..aa3cbd523a 100644
|
||||
--- a/src/main/java/net/minecraft/server/EnchantmentWeaponDamage.java
|
||||
+++ b/src/main/java/net/minecraft/server/EnchantmentWeaponDamage.java
|
||||
@@ -11,6 +11,7 @@ public class EnchantmentWeaponDamage extends Enchantment {
|
||||
public EnchantmentWeaponDamage(Enchantment.Rarity enchantment_rarity, int i, EnumItemSlot... aenumitemslot) {
|
||||
super(enchantment_rarity, EnchantmentSlotType.WEAPON, aenumitemslot);
|
||||
this.a = i;
|
||||
+ setMaxLevel(5); // Purpur
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -23,11 +24,6 @@ public class EnchantmentWeaponDamage extends Enchantment {
|
||||
return this.a(i) + EnchantmentWeaponDamage.g[this.a];
|
||||
}
|
||||
|
||||
- @Override
|
||||
- public int getMaxLevel() {
|
||||
- return 5;
|
||||
- }
|
||||
-
|
||||
@Override
|
||||
public float a(int i, EnumMonsterType enummonstertype) {
|
||||
return this.a == 0 ? 1.0F + (float) Math.max(0, i - 1) * 0.5F : (this.a == 1 && enummonstertype == EnumMonsterType.UNDEAD ? (float) i * 2.5F : (this.a == 2 && enummonstertype == EnumMonsterType.ARTHROPOD ? (float) i * 2.5F : 0.0F));
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
index 850a7ac24d..bb5ba4f137 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
@@ -1,6 +1,8 @@
|
||||
package net.pl3x.purpur;
|
||||
|
||||
import com.google.common.base.Throwables;
|
||||
+import net.minecraft.server.Enchantment;
|
||||
+import net.minecraft.server.IRegistry;
|
||||
import net.minecraft.server.MinecraftServer;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.Command;
|
||||
@@ -204,4 +206,12 @@ public class PurpurConfig {
|
||||
private static void timingsSettings() {
|
||||
getString("settings.timings.url", "https://timings.pl3x.net");
|
||||
}
|
||||
+
|
||||
+ private static void enchantmentSettings() {
|
||||
+ for (Enchantment enchantment : IRegistry.ENCHANTMENT) {
|
||||
+ String name = IRegistry.ENCHANTMENT.getKey(enchantment).getKey();
|
||||
+ int maxLevel = getInt("settings.enchantment." + name + ".max-level", enchantment.getMaxLevel());
|
||||
+ enchantment.setMaxLevel(maxLevel);
|
||||
+ }
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/enchantments/CraftEnchantment.java b/src/main/java/org/bukkit/craftbukkit/enchantments/CraftEnchantment.java
|
||||
index 64ceeda1af..0e9fa34411 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/enchantments/CraftEnchantment.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/enchantments/CraftEnchantment.java
|
||||
@@ -23,6 +23,13 @@ public class CraftEnchantment extends Enchantment {
|
||||
return target.getMaxLevel();
|
||||
}
|
||||
|
||||
+ // Purpur start
|
||||
+ @Override
|
||||
+ public void setMaxLevel(int maxLevel) {
|
||||
+ target.setMaxLevel(maxLevel);
|
||||
+ }
|
||||
+ // Purpur end
|
||||
+
|
||||
@Override
|
||||
public int getStartLevel() {
|
||||
return target.getStartLevel();
|
||||
--
|
||||
2.24.0
|
||||
|
||||
Reference in New Issue
Block a user