From 7730c8f89a7e7c82e7a313a9c254669cf07924ea Mon Sep 17 00:00:00 2001 From: DevDyna Date: Fri, 19 Jun 2026 21:05:15 +0200 Subject: [PATCH 1/3] fixed bonemeal interaction with harvestable cause conflicts --- .../common/events/VanillaHarvestable.java | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/devdyna/cakesticklib/setup/common/events/VanillaHarvestable.java b/src/main/java/com/devdyna/cakesticklib/setup/common/events/VanillaHarvestable.java index 7da28a6..441db4a 100644 --- a/src/main/java/com/devdyna/cakesticklib/setup/common/events/VanillaHarvestable.java +++ b/src/main/java/com/devdyna/cakesticklib/setup/common/events/VanillaHarvestable.java @@ -5,6 +5,8 @@ import com.devdyna.cakesticklib.api.factories.plants.*; import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.item.BoneMealItem; import net.minecraft.world.item.ItemStack; import net.neoforged.bus.api.SubscribeEvent; import net.neoforged.neoforge.event.entity.player.PlayerInteractEvent; @@ -16,16 +18,25 @@ public static void harvestVanillaCrops(PlayerInteractEvent.RightClickBlock event var level = event.getLevel(); var player = event.getEntity(); var hand = event.getHand(); + var item = event.getItemStack(); if (!Harvestable.getConfig()) return; - List check = VanillaPlants.checkReplant(level, pos,player,hand); + if (player.isSpectator()) + return; + + + //prevent bonemeal usage conflict + if (!(item.getItem() instanceof BoneMealItem) && hand.equals(InteractionHand.MAIN_HAND)) { + List check = VanillaPlants.checkReplant(level, pos, player, hand); - if (check != null && hand.equals(InteractionHand.MAIN_HAND)) - check.forEach(i -> player.addItem(i)); - + if (check != null) { + check.forEach(i -> player.addItem(i)); + event.setCanceled(true); + event.setCancellationResult(InteractionResult.SUCCESS); + } + } - } } \ No newline at end of file From 795b37d4657edac920eed7fd908fe92100596956 Mon Sep 17 00:00:00 2001 From: DevDyna Date: Fri, 19 Jun 2026 21:12:04 +0200 Subject: [PATCH 2/3] added a blacklist blocktag to harvestable event --- .../cakesticklib/setup/common/events/VanillaHarvestable.java | 3 +++ .../com/devdyna/cakesticklib/setup/registry/LibTags.java | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/src/main/java/com/devdyna/cakesticklib/setup/common/events/VanillaHarvestable.java b/src/main/java/com/devdyna/cakesticklib/setup/common/events/VanillaHarvestable.java index 441db4a..e465dcd 100644 --- a/src/main/java/com/devdyna/cakesticklib/setup/common/events/VanillaHarvestable.java +++ b/src/main/java/com/devdyna/cakesticklib/setup/common/events/VanillaHarvestable.java @@ -3,6 +3,7 @@ import java.util.*; import com.devdyna.cakesticklib.api.factories.plants.*; +import com.devdyna.cakesticklib.setup.registry.LibTags; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; @@ -26,6 +27,8 @@ public static void harvestVanillaCrops(PlayerInteractEvent.RightClickBlock event if (player.isSpectator()) return; + if (level.getBlockState(pos).is(LibTags.Blocks.HARVESTABLE_BLACKLIST)) + return; //prevent bonemeal usage conflict if (!(item.getItem() instanceof BoneMealItem) && hand.equals(InteractionHand.MAIN_HAND)) { diff --git a/src/main/java/com/devdyna/cakesticklib/setup/registry/LibTags.java b/src/main/java/com/devdyna/cakesticklib/setup/registry/LibTags.java index df78933..f90bdb0 100644 --- a/src/main/java/com/devdyna/cakesticklib/setup/registry/LibTags.java +++ b/src/main/java/com/devdyna/cakesticklib/setup/registry/LibTags.java @@ -1,5 +1,7 @@ package com.devdyna.cakesticklib.setup.registry; +import static com.devdyna.cakesticklib.CakeStickLib.MODULE_ID; + import com.devdyna.cakesticklib.CakeStickLib; import com.devdyna.cakesticklib.api.RegistryUtils; @@ -19,6 +21,9 @@ public class Blocks { public static void register(IEventBus bus) { } + public static final TagKey HARVESTABLE_BLACKLIST = RegistryUtils + .tagBlock(MODULE_ID, "harvestable/blacklist"); + //storage_blocks public static final TagKey STEEL_BLOCK = RegistryUtils .tagBlock("c", "storage_blocks/steel"); From be5a1bb7832b9c5b45c348ae63ec043c0b99954b Mon Sep 17 00:00:00 2001 From: DevDyna Date: Fri, 19 Jun 2026 21:12:07 +0200 Subject: [PATCH 3/3] Update gradle.properties --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index e20dce0..87c0daf 100644 --- a/gradle.properties +++ b/gradle.properties @@ -12,7 +12,7 @@ neo_version=26.1.2.75 mod_id=cakesticklib mod_name=CakeStickLib mod_license=Ora Et Labora License -mod_version=1.11.1-hotfix1 +mod_version=1.11.1-hotfix2 mod_group_id=com.devdyna.cakestick mod_authors=DevDyna mod_description=A standalone port of Synergy API to unify most of the code