From d1be63d69ad128213a689c240ed73a7b5724ee55 Mon Sep 17 00:00:00 2001 From: Daniel Hazelton Date: Tue, 3 Nov 2026 00:06:41 -0500 Subject: [PATCH 1/2] reapply the fix --- .../moddev/mc/mmdlib/item/ItemCrossbow.java | 26 +++++++++++++------ 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/src/main/java/zone/moddev/mc/mmdlib/item/ItemCrossbow.java b/src/main/java/zone/moddev/mc/mmdlib/item/ItemCrossbow.java index 563112f..2e97afb 100644 --- a/src/main/java/zone/moddev/mc/mmdlib/item/ItemCrossbow.java +++ b/src/main/java/zone/moddev/mc/mmdlib/item/ItemCrossbow.java @@ -46,14 +46,19 @@ private boolean getOtherFlag(final EntityPlayer entityPlayer, final ItemStack it private void doFireBolt(final ItemStack itemStack, final EntityPlayer entityPlayer, final World worldIn, final float f, final ItemStack stack, final boolean flag1) { - if (!(worldIn.isRemote)) { + if (worldIn.isRemote) { return; } final Item item = itemStack.getItem(); - final ItemBolt itemBolt = ((ItemBolt) (item instanceof ItemBolt + final Item boltItem = item instanceof ItemBolt ? item - : Materials.getMaterialByName(MaterialNames.IRON).getItem(Names.BOLT))); + : Materials.getMaterialByName(MaterialNames.IRON).getItem(Names.BOLT); + if (!(boltItem instanceof ItemBolt)) { + return; + } + + final ItemBolt itemBolt = (ItemBolt) boltItem; final EntityCustomBolt entityBolt = itemBolt.createBolt(worldIn, itemStack, entityPlayer); entityBolt.shoot(entityPlayer, entityPlayer.rotationPitch, entityPlayer.rotationYaw, 0.0F, f * 3.0F, 1.0F); @@ -170,15 +175,20 @@ protected boolean isBolt(@Nonnull final ItemStack stack) { public ActionResult onItemRightClick(final World worldIn, final EntityPlayer playerIn, final EnumHand handIn) { final ItemStack itemStack = playerIn.getHeldItem(handIn); - // Check for specific Arrows + // Check for specific Bolts final boolean flag = !this.myFindAmmo(playerIn).isEmpty(); + final ActionResult ret = net.minecraftforge.event.ForgeEventFactory + .onArrowNock(itemStack, worldIn, playerIn, handIn, flag); + if (ret != null) { + return ret; + } + if (!playerIn.capabilities.isCreativeMode && !flag) { return new ActionResult<>(EnumActionResult.FAIL, itemStack); - } else { - playerIn.setActiveHand(handIn); - return flag ? new ActionResult<>(EnumActionResult.PASS, itemStack) - : new ActionResult<>(EnumActionResult.FAIL, itemStack); } + + playerIn.setActiveHand(handIn); + return new ActionResult<>(EnumActionResult.SUCCESS, itemStack); } } From d3c2fa9e147fc18ea6eb1ea5543e2f2887b28203 Mon Sep 17 00:00:00 2001 From: Daniel Hazelton Date: Tue, 3 Nov 2026 00:37:45 -0500 Subject: [PATCH 2/2] fix the CI failure --- gradle/verification/source-baseline.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/verification/source-baseline.json b/gradle/verification/source-baseline.json index 5c6b244..28cd027 100644 --- a/gradle/verification/source-baseline.json +++ b/gradle/verification/source-baseline.json @@ -306,7 +306,7 @@ "src/main/java/com/mcmoddev/lib/ioc/MMDResourceLocation.java": "66fbf6977eb110313eb4a15dda1dd3faadd470c7beeadf6fbba6f0fde18f8c3c", "src/main/java/com/mcmoddev/lib/item/GenericMMDItem.java": "290df70f5a6f8234904117d5d5a69a018940cb6eb5e5a296efee9a63c6f6dba3", "src/main/java/com/mcmoddev/lib/item/ItemBolt.java": "3e7c61a1708b70b6bf72f028423b2271943e76f311dd92885b53184b0f12b660", - "src/main/java/com/mcmoddev/lib/item/ItemCrossbow.java": "0a3807adf3c03b8ec90aefec8cb7b57b7a1fa737bf5b49bf922b1f75b7d06980", + "src/main/java/com/mcmoddev/lib/item/ItemCrossbow.java": "ed16f4883d78787ab20c8b9ad4ad3cc8f1ea608538ad0de1c9d91266217a7f21", "src/main/java/com/mcmoddev/lib/item/ItemMMDAnvilBlock.java": "4f37c5d1c005d278681f0871b556a4a2181ee3fe6f2207174b5d35be4eb49110", "src/main/java/com/mcmoddev/lib/item/ItemMMDArmor.java": "355aa4fc4d3ed92420d99a87a2c0feaa4d6b98bce783c39a5257b6f46d6a8e0e", "src/main/java/com/mcmoddev/lib/item/ItemMMDArrow.java": "4605204b5d6c295b9103ac05b4b5d76bb3d28c455072b501452e345176e360ca",