--- a/net/minecraft/server/commands/EnchantCommand.java +++ b/net/minecraft/server/commands/EnchantCommand.java @@ -67,7 +_,7 @@ final CommandSourceStack source, final Collection targets, final Holder enchantmentHolder, final int level ) throws CommandSyntaxException { Enchantment enchantment = enchantmentHolder.value(); - if (level > enchantment.getMaxLevel()) { + if (!org.purpurmc.purpur.PurpurConfig.allowUnsafeEnchantCommand && level > enchantment.getMaxLevel()) { // Purpur - Config to allow unsafe enchants throw ERROR_LEVEL_TOO_HIGH.create(level, enchantment.getMaxLevel()); } else { int success = 0; @@ -77,7 +_,7 @@ ItemStack item = target.getMainHandItem(); if (!item.isEmpty()) { if (enchantment.canEnchant(item) - && EnchantmentHelper.isEnchantmentCompatible(EnchantmentHelper.getEnchantmentsForCrafting(item).keySet(), enchantmentHolder)) { + && EnchantmentHelper.isEnchantmentCompatible(EnchantmentHelper.getEnchantmentsForCrafting(item).keySet(), enchantmentHolder) || (org.purpurmc.purpur.PurpurConfig.allowUnsafeEnchantCommand && !mainHandItem.hasEnchantment(enchantment))) { // Purpur - Config to allow unsafe enchants item.enchant(enchantmentHolder, level); success++; } else if (targets.size() == 1) {