Skip to content

Built-in custom mappings for parity#6447

Merged
valaphee merged 13 commits into
masterfrom
builtin-custom-mappings
Jul 10, 2026
Merged

Built-in custom mappings for parity#6447
valaphee merged 13 commits into
masterfrom
builtin-custom-mappings

Conversation

@valaphee

@valaphee valaphee commented Jun 8, 2026

Copy link
Copy Markdown
Member

Fixes #5094, #6380, #6164

also moved the furnace_minecart mapping there, to remove that edge-case

Copilot AI review requested due to automatic review settings June 8, 2026 19:59

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Adds built-in (code-defined) custom block/item mappings that are registered via lifecycle events, intended to improve Java/Bedrock parity for specific blocks/items referenced in the linked issues (obsidian break time, mushroom block states, test blocks visibility, furnace minecart item mapping).

Changes:

  • Registers built-in custom block overrides (obsidian/crying obsidian, mushroom blocks, test blocks) through GeyserDefineCustomBlocksEvent.
  • Registers a built-in custom item definition (furnace minecart) through GeyserDefineCustomItemsEvent.
  • Refactors custom item population flow so ItemRegistryPopulator always calls the custom item populator, with the config gate moved into CustomItemRegistryPopulator.

Reviewed changes

Copilot reviewed 4 out of 5 changed files in this pull request and generated 10 comments.

File Description
core/src/main/java/org/geysermc/geyser/registry/populator/ItemRegistryPopulator.java Removes custom-content gating/special-casing and relies on the custom item populator for enablement checks.
core/src/main/java/org/geysermc/geyser/registry/populator/CustomItemRegistryPopulator.java Adds early-return when custom content is disabled.
core/src/main/java/org/geysermc/geyser/registry/mappings/BuiltInMappings.java Introduces built-in registrations for parity-related custom block overrides and a furnace minecart custom item definition.
core/src/main/java/org/geysermc/geyser/GeyserImpl.java Subscribes built-in mappings to custom block/item lifecycle events during initialization.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread core/src/main/java/org/geysermc/geyser/registry/mappings/BuiltInMappings.java Outdated
Comment thread core/src/main/java/org/geysermc/geyser/registry/mappings/BuiltInMappings.java Outdated
Comment thread core/src/main/java/org/geysermc/geyser/registry/mappings/BuiltInMappings.java Outdated
Comment thread core/src/main/java/org/geysermc/geyser/registry/mappings/BuiltInMappings.java Outdated
Comment thread core/src/main/java/org/geysermc/geyser/registry/mappings/BuiltInMappings.java Outdated
Comment thread core/src/main/java/org/geysermc/geyser/registry/mappings/BuiltInMappings.java Outdated
Comment thread core/src/main/java/org/geysermc/geyser/registry/mappings/BuiltInMappings.java Outdated
Comment thread core/src/main/java/org/geysermc/geyser/registry/mappings/BuiltInMappings.java Outdated
@Camotoy

Camotoy commented Jun 8, 2026

Copy link
Copy Markdown
Member

This looks clean and I like it. Would you mind adding comments on each mapping addition explaining its use-case?

Novampr
Novampr previously requested changes Jun 8, 2026

@Novampr Novampr left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This + most of the copilot reviews, but otherwise this is looking good 👀

Comment thread core/src/main/java/org/geysermc/geyser/registry/mappings/BuiltInMappings.java Outdated
Copilot AI review requested due to automatic review settings June 8, 2026 21:04
@valaphee valaphee force-pushed the builtin-custom-mappings branch from f0b4c89 to afcd909 Compare June 8, 2026 21:07

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 4 out of 5 changed files in this pull request and generated 6 comments.

Comment thread core/src/main/java/org/geysermc/geyser/registry/mappings/BuiltInMappings.java Outdated
Comment thread core/src/main/java/org/geysermc/geyser/registry/mappings/BuiltInMappings.java Outdated
Comment thread core/src/main/java/org/geysermc/geyser/registry/mappings/BuiltInMappings.java Outdated
Comment thread core/src/main/java/org/geysermc/geyser/registry/mappings/BuiltInMappings.java Outdated
Copilot AI review requested due to automatic review settings June 8, 2026 21:24

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 4 out of 5 changed files in this pull request and generated 1 comment.

Comment thread core/src/main/java/org/geysermc/geyser/registry/mappings/BuiltInMappings.java Outdated
Copilot AI review requested due to automatic review settings June 9, 2026 05:04

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 4 out of 5 changed files in this pull request and generated 5 comments.

Comment thread core/src/main/resources/GeyserIntegratedPack.mcpack
@valaphee valaphee changed the title Built-in custom mappings for parity mappings Built-in custom mappings for parity Jun 11, 2026
Copilot AI review requested due to automatic review settings June 11, 2026 17:11
@valaphee valaphee force-pushed the builtin-custom-mappings branch from 593c5a4 to e0100e9 Compare June 11, 2026 17:11

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 4 out of 5 changed files in this pull request and generated 4 comments.

Comment thread core/src/main/java/org/geysermc/geyser/GeyserImpl.java
@valaphee valaphee force-pushed the builtin-custom-mappings branch from e0100e9 to 827feb2 Compare June 18, 2026 17:05

@onebeastchris onebeastchris left a comment

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.

Please PR the GeyserIntegratedPack changes into the repo first - other than that, LGTM. Would be a lovely parity addition, and i could retire my extension for the obsidian breaking fix :p

@onebeastchris onebeastchris added the PR: Feature When a PR implements a new feature label Jul 10, 2026
@valaphee

valaphee commented Jul 10, 2026

Copy link
Copy Markdown
Member Author

Please PR the GeyserIntegratedPack changes into the repo first - other than that, LGTM. Would be a lovely parity addition, and i could retire my extension for the obsidian breaking fix :p

There is a PR GeyserMC/GeyserIntegratedPack#78 ^^

valaphee added 3 commits July 10, 2026 18:29
# Conflicts:
#	core/src/main/java/org/geysermc/geyser/registry/populator/CustomItemRegistryPopulator.java
#	core/src/main/resources/GeyserIntegratedPack.mcpack
@valaphee valaphee merged commit 9882412 into master Jul 10, 2026
3 checks passed
@valaphee valaphee deleted the builtin-custom-mappings branch July 10, 2026 19:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

PR: Feature When a PR implements a new feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Obsidian & Crying Obsidian block breaking times are different

5 participants