Skip to content

Cutting board display placement intercepts valid non-knife cutting tools (shears/axe/pickaxe salvage & stripping unusable) #8

Description

@tcm5025

Versions: Culinary Compat 1.0.9-beta (behavior unchanged in 1.0.12-beta per decompile), Farmer's Delight 1.20.1-1.3.1, Forge 47 / MC 1.20.1, dedicated server.

What happens

With an item already on a Farmer's Delight cutting board, right-clicking with any tool that is not in forge:tools/knives places 1 of the held tool onto the board as a display item instead of processing the cutting recipe.

Repro: place a leather helmet on a cutting board, right-click with vanilla shears → the shears are deposited into the display slots; the FD salvage recipe (farmersdelight:salvaging/leather_armor, tool = shears_dig / #forge:shears) never runs.

Why

The mixin fd.CuttingBoardUse#culinarycompat$multiUse is @Inject(method="use", at=@At("HEAD"), cancellable=true). When the held stack is non-empty, not tagged forge:tools/knives, the board is occupied, and slot 0 has count ≤ 1, it inserts the held item into the extras handler and cancels with SUCCESS — so CuttingBoardBlockEntity.processItemUsingTool is unreachable for every non-knife tool.

In our pack that gates ~140 of 297 cutting recipes: all axe recipes (FD's own log stripping/tree bark), pickaxe recipes (coral, FD amethyst salvaging), shovel (FD clay), hoe (FD chest-boat salvaging), shears (FD leather-armor salvage, Supplementaries quiver), plus item-specific tools (Ends Delight's nether star, Twilight Delight's minotaur axe).

Suggested fix

Before treating the held item as a display extra, check whether the (board item, held item) pair matches any CuttingBoardRecipe — if it does, return without cancelling so FD's normal processing runs. A cheaper heuristic (held item exposes any ToolAction, or is damageable) would cover most cases, and a config toggle for the extras-placement feature would help packs that hit edge cases.

Workaround we're using

A datapack adding minecraft:shears, #forge:shears, #minecraft:axes/pickaxes/shovels/hoes (+ the two item-specific tools) to forge:tools/knives, so the gate lets them through. Works, but it pollutes the knives tag for every other consumer.

Thanks for the mod — the CFB/FD bridging is great on our family server; this one interaction is the only rough edge we've hit.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions