From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Ben Kerllenevich Date: Thu, 18 Mar 2021 12:25:29 -0400 Subject: [PATCH] Allow infinity on crossbows diff --git a/src/main/java/net/minecraft/world/item/CrossbowItem.java b/src/main/java/net/minecraft/world/item/CrossbowItem.java index 1f52feb5684ee1bab710e1557cf69b43b4d4dfd4..d2bb5c84e1895f28afed03d1868a79338e4f3e58 100644 --- a/src/main/java/net/minecraft/world/item/CrossbowItem.java +++ b/src/main/java/net/minecraft/world/item/CrossbowItem.java @@ -107,7 +107,7 @@ public class CrossbowItem extends ProjectileWeaponItem { return CrossbowItem.tryLoadProjectiles(shooter, crossbow, true); } private static boolean tryLoadProjectiles(LivingEntity shooter, ItemStack crossbow, boolean consume) { - List list = draw(crossbow, shooter.getProjectile(crossbow), shooter, consume); + List list = draw(crossbow, shooter.getProjectile(crossbow), shooter, (org.purpurmc.purpur.PurpurConfig.allowCrossbowInfinity && EnchantmentHelper.getItemEnchantmentLevel(Enchantments.INFINITY, crossbow) > 0) || consume); // Paper end - Add EntityLoadCrossbowEvent if (!list.isEmpty()) { crossbow.set(DataComponents.CHARGED_PROJECTILES, ChargedProjectiles.of(list)); diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java index 0587b0c7f34ae90f0d06f29d58fafbcf5b80ff13..c60d0d1861fd24b74bfa93228357f27d524f4ce7 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -284,6 +284,7 @@ public class PurpurConfig { } public static boolean allowInfinityMending = false; + public static boolean allowCrossbowInfinity = true; private static void enchantmentSettings() { if (version < 5) { boolean oldValue = getBoolean("settings.enchantment.allow-infinite-and-mending-together", false); @@ -291,6 +292,7 @@ public class PurpurConfig { set("settings.enchantment.allow-infinite-and-mending-together", null); } allowInfinityMending = getBoolean("settings.enchantment.allow-infinity-and-mending-together", allowInfinityMending); + allowCrossbowInfinity = getBoolean("settings.enchantment.allow-infinity-on-crossbow", allowCrossbowInfinity); } public static boolean endermanShortHeight = false;