mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-18 08:57:44 +01:00
Upstream has released updates that appears to apply and compile correctly Paper Changes: b75eeca0 Boost light task priority to ensure it doesnt hold up chunk loads 3d2bc848 Ensure VillagerTrades doesn't load async - fixes #3495 e470f1ef Add more information to Timing Reports f4a47db6 Improve Thread Pool usage to allow single threads for single cpu servers a4fe910f Fix sounds when using worldedit regen command 70ad51a8 Updated Upstream (Bukkit/CraftBukkit) d7cfa4fa Improve legacy format serialization more
789 lines
32 KiB
Diff
789 lines
32 KiB
Diff
From 8db2d5025aab7f822846298a5ad6534f14f259cb 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 7bea362132..68bad6a13a 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 net.pl3x.purpur.command.PurpurCommand;
|
|
import org.bukkit.Bukkit;
|
|
@@ -194,4 +196,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
|
|
|