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 0f6504a7160bc304b3af554f8740c65e2987cd37..a3614405a92f26f19fb1df24f685cb7c081333db 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_ARROWS, 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 6714c095714c3a34464b9190be964ceaac718d45..11b8f16a39011500d28f72e9c40fc3ca4b0f0fad 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;