mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-20 09:57:43 +01:00
Separate unsafe-enchants anvil and command toggle
This commit is contained in:
@@ -5,7 +5,7 @@ Subject: [PATCH] Config to allow for unsafe enchants
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/commands/EnchantCommand.java b/src/main/java/net/minecraft/server/commands/EnchantCommand.java
|
diff --git a/src/main/java/net/minecraft/server/commands/EnchantCommand.java b/src/main/java/net/minecraft/server/commands/EnchantCommand.java
|
||||||
index 514cc0e8805045549eacde6c280859aa2dc4a91d..4c8eeb66a9368597330957dd3c1486344b53b863 100644
|
index 514cc0e8805045549eacde6c280859aa2dc4a91d..f43fe5becfdbe9973b1cfa43c71bbad2ad61daac 100644
|
||||||
--- a/src/main/java/net/minecraft/server/commands/EnchantCommand.java
|
--- a/src/main/java/net/minecraft/server/commands/EnchantCommand.java
|
||||||
+++ b/src/main/java/net/minecraft/server/commands/EnchantCommand.java
|
+++ b/src/main/java/net/minecraft/server/commands/EnchantCommand.java
|
||||||
@@ -44,7 +44,7 @@ public class EnchantCommand {
|
@@ -44,7 +44,7 @@ public class EnchantCommand {
|
||||||
@@ -13,7 +13,7 @@ index 514cc0e8805045549eacde6c280859aa2dc4a91d..4c8eeb66a9368597330957dd3c148634
|
|||||||
|
|
||||||
private static int enchant(CommandSourceStack source, Collection<? extends Entity> targets, Enchantment enchantment, int level) throws CommandSyntaxException {
|
private static int enchant(CommandSourceStack source, Collection<? extends Entity> targets, Enchantment enchantment, int level) throws CommandSyntaxException {
|
||||||
- if (level > enchantment.getMaxLevel()) {
|
- if (level > enchantment.getMaxLevel()) {
|
||||||
+ if (!org.purpurmc.purpur.PurpurConfig.allowUnsafeEnchants && level > enchantment.getMaxLevel()) { // Purpur
|
+ if (!org.purpurmc.purpur.PurpurConfig.allowUnsafeEnchantCommand && level > enchantment.getMaxLevel()) { // Purpur
|
||||||
throw ERROR_LEVEL_TOO_HIGH.create(level, enchantment.getMaxLevel());
|
throw ERROR_LEVEL_TOO_HIGH.create(level, enchantment.getMaxLevel());
|
||||||
} else {
|
} else {
|
||||||
int i = 0;
|
int i = 0;
|
||||||
@@ -22,7 +22,7 @@ index 514cc0e8805045549eacde6c280859aa2dc4a91d..4c8eeb66a9368597330957dd3c148634
|
|||||||
ItemStack itemStack = livingEntity.getMainHandItem();
|
ItemStack itemStack = livingEntity.getMainHandItem();
|
||||||
if (!itemStack.isEmpty()) {
|
if (!itemStack.isEmpty()) {
|
||||||
- if (enchantment.canEnchant(itemStack) && EnchantmentHelper.isEnchantmentCompatible(EnchantmentHelper.getEnchantments(itemStack).keySet(), enchantment)) {
|
- if (enchantment.canEnchant(itemStack) && EnchantmentHelper.isEnchantmentCompatible(EnchantmentHelper.getEnchantments(itemStack).keySet(), enchantment)) {
|
||||||
+ if ((enchantment.canEnchant(itemStack) && EnchantmentHelper.isEnchantmentCompatible(EnchantmentHelper.getEnchantments(itemStack).keySet(), enchantment)) || (org.purpurmc.purpur.PurpurConfig.allowUnsafeEnchants && !itemStack.hasEnchantment(enchantment))) { // Purpur
|
+ if ((enchantment.canEnchant(itemStack) && EnchantmentHelper.isEnchantmentCompatible(EnchantmentHelper.getEnchantments(itemStack).keySet(), enchantment)) || (org.purpurmc.purpur.PurpurConfig.allowUnsafeEnchantCommand && !itemStack.hasEnchantment(enchantment))) { // Purpur
|
||||||
itemStack.enchant(enchantment, level);
|
itemStack.enchant(enchantment, level);
|
||||||
++i;
|
++i;
|
||||||
} else if (targets.size() == 1) {
|
} else if (targets.size() == 1) {
|
||||||
@@ -75,22 +75,24 @@ index ac8a90253f45a43486c1677c576231313d2d3e09..a95df369e8cdd7b7b1e31a463fdbae90
|
|||||||
this.getOrCreateTag().put(key, element);
|
this.getOrCreateTag().put(key, element);
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||||
index e1c4af38a7eac438b3304f11121c754e451c5bd6..1de373851215803ace0da2058781da5d68500eb9 100644
|
index 956be9847fc4f34643d9d563c0edc16dfa5ccbbe..12c0774967881168e7abc6fcb8db315458bbce8d 100644
|
||||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||||
@@ -280,6 +280,7 @@ public class PurpurConfig {
|
@@ -280,6 +280,8 @@ public class PurpurConfig {
|
||||||
|
|
||||||
public static boolean allowInfinityMending = false;
|
public static boolean allowInfinityMending = false;
|
||||||
public static boolean allowCrossbowInfinity = false;
|
public static boolean allowCrossbowInfinity = false;
|
||||||
+ public static boolean allowUnsafeEnchants = false;
|
+ public static boolean allowUnsafeEnchants = false;
|
||||||
|
+ public static boolean allowUnsafeEnchantCommand = false;
|
||||||
private static void enchantmentSettings() {
|
private static void enchantmentSettings() {
|
||||||
if (version < 5) {
|
if (version < 5) {
|
||||||
boolean oldValue = getBoolean("settings.enchantment.allow-infinite-and-mending-together", false);
|
boolean oldValue = getBoolean("settings.enchantment.allow-infinite-and-mending-together", false);
|
||||||
@@ -288,6 +289,7 @@ public class PurpurConfig {
|
@@ -288,6 +290,8 @@ public class PurpurConfig {
|
||||||
}
|
}
|
||||||
allowInfinityMending = getBoolean("settings.enchantment.allow-infinity-and-mending-together", allowInfinityMending);
|
allowInfinityMending = getBoolean("settings.enchantment.allow-infinity-and-mending-together", allowInfinityMending);
|
||||||
allowCrossbowInfinity = getBoolean("settings.enchantment.allow-infinity-on-crossbow", allowCrossbowInfinity);
|
allowCrossbowInfinity = getBoolean("settings.enchantment.allow-infinity-on-crossbow", allowCrossbowInfinity);
|
||||||
+ allowUnsafeEnchants = getBoolean("settings.enchantment.allow-unsafe-enchants", allowUnsafeEnchants);
|
+ allowUnsafeEnchants = getBoolean("settings.enchantment.allow-unsafe-enchants", allowUnsafeEnchants);
|
||||||
|
+ allowUnsafeEnchantCommand = getBoolean("settings.enchantment.allow-unsafe-enchant-command", allowUnsafeEnchants); // allowUnsafeEnchants as default for backwards compatability
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean endermanShortHeight = false;
|
public static boolean endermanShortHeight = false;
|
||||||
|
|||||||
@@ -67,10 +67,10 @@ index 9e83f2dea73461f698185f5ffdb6060e422b9494..6b503d7bdd0eb202ff3466dc1f691102
|
|||||||
// CraftBukkit start
|
// CraftBukkit start
|
||||||
// this.setPlayerList(new DedicatedPlayerList(this, this.registryHolder, this.playerDataStorage)); // Spigot - moved up
|
// this.setPlayerList(new DedicatedPlayerList(this, this.registryHolder, this.playerDataStorage)); // Spigot - moved up
|
||||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||||
index 147175986954fbcc66a960efd65c3f60cd6016d3..a685ca0952fa401bb7e588051c7ae832a525a65b 100644
|
index 2657f8e49058f7801c2435d499e6133e912021ac..3462a34a7d8e2bbf4c19c02a0b9f19ad5ccdc00f 100644
|
||||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||||
@@ -420,4 +420,9 @@ public class PurpurConfig {
|
@@ -422,4 +422,9 @@ public class PurpurConfig {
|
||||||
private static void tpsCatchup() {
|
private static void tpsCatchup() {
|
||||||
tpsCatchup = getBoolean("settings.tps-catchup", tpsCatchup);
|
tpsCatchup = getBoolean("settings.tps-catchup", tpsCatchup);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,10 +18,10 @@ index 5f154db373026ca78b812f9247dc9288d6826cb0..547158e80c501aec66f4ffc96c0a496a
|
|||||||
char c = in.charAt(i);
|
char c = in.charAt(i);
|
||||||
|
|
||||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||||
index a685ca0952fa401bb7e588051c7ae832a525a65b..7a9080e68113a629ccbd31695a6afc86cc2285f9 100644
|
index 3462a34a7d8e2bbf4c19c02a0b9f19ad5ccdc00f..73b4aeb50ba60e5708bca6a7762b8c44be9c9287 100644
|
||||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||||
@@ -425,4 +425,11 @@ public class PurpurConfig {
|
@@ -427,4 +427,11 @@ public class PurpurConfig {
|
||||||
private static void networkSettings() {
|
private static void networkSettings() {
|
||||||
useUPnP = getBoolean("settings.network.upnp-port-forwarding", useUPnP);
|
useUPnP = getBoolean("settings.network.upnp-port-forwarding", useUPnP);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -158,7 +158,7 @@ index 6b8a1535086aae7e4e3229d05615fb903188f507..60af917083de1b790b1d93d61835a669
|
|||||||
public int getMinCost(int level) {
|
public int getMinCost(int level) {
|
||||||
return 15 + (level - 1) * 9;
|
return 15 + (level - 1) * 9;
|
||||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||||
index 7a9080e68113a629ccbd31695a6afc86cc2285f9..ce52c5ddfe1687e8ff9f94711da437147564164a 100644
|
index 73b4aeb50ba60e5708bca6a7762b8c44be9c9287..9ea922b7b41b1805d94ea18f437dd52fd756a821 100644
|
||||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||||
@@ -373,6 +373,7 @@ public class PurpurConfig {
|
@@ -373,6 +373,7 @@ public class PurpurConfig {
|
||||||
@@ -167,13 +167,13 @@ index 7a9080e68113a629ccbd31695a6afc86cc2285f9..ce52c5ddfe1687e8ff9f94711da43714
|
|||||||
public static boolean allowCrossbowInfinity = false;
|
public static boolean allowCrossbowInfinity = false;
|
||||||
+ public static boolean allowShearsLooting = false;
|
+ public static boolean allowShearsLooting = false;
|
||||||
public static boolean allowUnsafeEnchants = false;
|
public static boolean allowUnsafeEnchants = false;
|
||||||
|
public static boolean allowUnsafeEnchantCommand = false;
|
||||||
private static void enchantmentSettings() {
|
private static void enchantmentSettings() {
|
||||||
if (version < 5) {
|
@@ -383,6 +384,7 @@ public class PurpurConfig {
|
||||||
@@ -382,6 +383,7 @@ public class PurpurConfig {
|
|
||||||
}
|
}
|
||||||
allowInfinityMending = getBoolean("settings.enchantment.allow-infinity-and-mending-together", allowInfinityMending);
|
allowInfinityMending = getBoolean("settings.enchantment.allow-infinity-and-mending-together", allowInfinityMending);
|
||||||
allowCrossbowInfinity = getBoolean("settings.enchantment.allow-infinity-on-crossbow", allowCrossbowInfinity);
|
allowCrossbowInfinity = getBoolean("settings.enchantment.allow-infinity-on-crossbow", allowCrossbowInfinity);
|
||||||
+ allowShearsLooting = getBoolean("settings.enchantment.allow-looting-on-shears", allowShearsLooting);
|
+ allowShearsLooting = getBoolean("settings.enchantment.allow-looting-on-shears", allowShearsLooting);
|
||||||
allowUnsafeEnchants = getBoolean("settings.enchantment.allow-unsafe-enchants", allowUnsafeEnchants);
|
allowUnsafeEnchants = getBoolean("settings.enchantment.allow-unsafe-enchants", allowUnsafeEnchants);
|
||||||
|
allowUnsafeEnchantCommand = getBoolean("settings.enchantment.allow-unsafe-enchant-command", allowUnsafeEnchants); // allowUnsafeEnchants as default for backwards compatability
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -69,10 +69,10 @@ index 513343d225a71e242b0f237eefcd25147709d9d1..1f65bba67cd4fab1dee115f24b213075
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||||
index ce52c5ddfe1687e8ff9f94711da437147564164a..2c3607fc71c0d11b935a58bbad6afe4b0c436883 100644
|
index 9ea922b7b41b1805d94ea18f437dd52fd756a821..acf676c756ef6b99631f4fc8e0297548465c8fe0 100644
|
||||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||||
@@ -434,4 +434,57 @@ public class PurpurConfig {
|
@@ -436,4 +436,57 @@ public class PurpurConfig {
|
||||||
String setPattern = getString("settings.username-valid-characters", defaultPattern);
|
String setPattern = getString("settings.username-valid-characters", defaultPattern);
|
||||||
usernameValidCharactersPattern = java.util.regex.Pattern.compile(setPattern == null || setPattern.isBlank() ? defaultPattern : setPattern);
|
usernameValidCharactersPattern = java.util.regex.Pattern.compile(setPattern == null || setPattern.isBlank() ? defaultPattern : setPattern);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,10 +31,10 @@ index 7b8f9cf06833860d0fc02399822e6aea214883ed..03701c154e7bfad5314f3ed0e51866a2
|
|||||||
}
|
}
|
||||||
// Paper end
|
// Paper end
|
||||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||||
index 2c3607fc71c0d11b935a58bbad6afe4b0c436883..231209f3ed97cd3dfa4fd3ccb9a84b234413107e 100644
|
index acf676c756ef6b99631f4fc8e0297548465c8fe0..c8f9a0ac70840af6086f5ebd80066d43dccf8386 100644
|
||||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||||
@@ -424,8 +424,10 @@ public class PurpurConfig {
|
@@ -426,8 +426,10 @@ public class PurpurConfig {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean useUPnP = false;
|
public static boolean useUPnP = false;
|
||||||
|
|||||||
Reference in New Issue
Block a user