Skip to content

Fix Menril Resin and Liquid Chorus fluids being non-interactable in world#1658

Merged
rubensworks merged 4 commits intomaster-26from
copilot/fix-resin-fluid-interaction
Apr 13, 2026
Merged

Fix Menril Resin and Liquid Chorus fluids being non-interactable in world#1658
rubensworks merged 4 commits intomaster-26from
copilot/fix-resin-fluid-interaction

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 12, 2026

Both custom fluid blocks were missing block properties required by Minecraft/NeoForge for standard fluid behavior, making it impossible to place blocks in fluid space or pick up fluid with a bucket.

Root cause

BlockFluidMenrilResinConfig and BlockFluidLiquidChorusConfig were missing four block properties that vanilla fluid blocks (water/lava) require:

Property Effect of absence
.replaceable() Blocks cannot be placed where the fluid is
.liquid() Bucket interaction silently fails (item consumed, no pickup)
.pushReaction(PushReaction.DESTROY) Incorrect piston behavior
.noLootTable() Loot table generated for fluid block

Fix

// Before
(eConfig, properties) -> new BlockFluidMenrilResin(properties
        .noCollision()
        .strength(100.0F))

// After — matches vanilla water/lava block property pattern
(eConfig, properties) -> new BlockFluidMenrilResin(properties
        .replaceable()
        .noCollision()
        .strength(100.0F)
        .pushReaction(PushReaction.DESTROY)
        .noLootTable()
        .liquid())

Applied identically to both BlockFluidMenrilResinConfig and BlockFluidLiquidChorusConfig.

Tests

Added GameTestsFluids with four game tests covering block replacement and BucketPickup.pickupBlock() for both fluids.

Copilot AI and others added 2 commits April 12, 2026 17:50
…ushReaction properties to fluid block configs

Agent-Logs-Url: https://github.com/CyclopsMC/IntegratedDynamics/sessions/552eeed1-70cb-4522-b7d9-c1ed2444e6cb

Co-authored-by: rubensworks <440384+rubensworks@users.noreply.github.com>
…ion in fluid game tests

Agent-Logs-Url: https://github.com/CyclopsMC/IntegratedDynamics/sessions/552eeed1-70cb-4522-b7d9-c1ed2444e6cb

Co-authored-by: rubensworks <440384+rubensworks@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix interaction issues with resin fluid Fix Menril Resin and Liquid Chorus fluids being non-interactable in world Apr 12, 2026
@coveralls
Copy link
Copy Markdown

coveralls commented Apr 12, 2026

Coverage Status

coverage: 53.986% (+0.07%) from 53.92% — copilot/fix-resin-fluid-interaction into master-26

Component.literal("Menril resin fluid block was not placed"));

// Place a solid block where the fluid is
helper.setBlock(POS, Blocks.DIRT);
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Set block as player instead via an itemstack, because calling setBlock like this will not trigger a replaceable check.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated in b12dd89 — both replaceable tests now use helper.placeAt(player, dirtStack, POS.south(), Direction.NORTH) which calls ItemStack.useOn() via a UseOnContext, which in turn creates a BlockPlaceContext that checks canBeReplaced() on the fluid block at POS before allowing placement.

…, triggering actual replaceable check

Agent-Logs-Url: https://github.com/CyclopsMC/IntegratedDynamics/sessions/466f2fc5-34d9-429c-a672-a72b3931d363

Co-authored-by: rubensworks <440384+rubensworks@users.noreply.github.com>
Copilot AI requested a review from rubensworks April 12, 2026 18:57
@rubensworks rubensworks marked this pull request as ready for review April 13, 2026 14:32
@rubensworks rubensworks merged commit ad368fb into master-26 Apr 13, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[26.1.x][Neoforge] Resin Fluid can not be interacted with

3 participants