Skip to content

WorldGen API v4#514

Draft
Tides wants to merge 14 commits into
1.21.xfrom
worldgen-api-v4
Draft

WorldGen API v4#514
Tides wants to merge 14 commits into
1.21.xfrom
worldgen-api-v4

Conversation

@Tides
Copy link
Copy Markdown
Member

@Tides Tides commented Apr 6, 2026

Introduces a major refactor of the world and dimension system in the API, replacing the previous IWorld-centric model with a new ILevel abstraction.

The most important changes are:

World/Level Abstraction Refactor

  • Introduced the new ILevel interface to represent a game level (world or dimension), replacing many usages of IWorld. Updated related interfaces and classes to use ILevel instead of IWOrld.

  • Added IDimension interface extending ILevel, with a reference to its parent IWorld.

  • Updated IPacketBroadcaster methods to use ILevel instead of IWorld and renamed parameters accordingly.

World and Dimension Management

  • Added ILevelFactory interface for creating worlds and dimensions, registering generators, and initialization logic.

  • Updated and renamed the world generator interface to ILevelGenerator (from IWorldGenerator), with methods now taking ILevel instead of IWorld.

  • Added ILevelManager property to the IServer interface for managing worlds.

Dimension and World Generation Settings

  • These settings are just following what I've seen in the level.dat file for mojang/modded mc world saves, I won't document much on these as its subject to change

These changes lay the groundwork for more robust handling of multiple dimensions and advanced world generation, and should make future extensions and maintenance easier~

I'm not quite done with these changes yet but I should have something ready soon ^ ^

@github-actions github-actions Bot added api Relates to Obsidian.API commands Relates to Obsidian.Commands nbt Relates to Obsidian.Nbt tests Relates to Obsidian.Tests labels Apr 6, 2026
@Tides Tides added epic Very cool server Relates to the server implementation world generation Relates to world generation performance Performance related issue priority: high Very important and removed tests Relates to Obsidian.Tests nbt Relates to Obsidian.Nbt commands Relates to Obsidian.Commands labels Apr 6, 2026
@github-actions github-actions Bot added commands Relates to Obsidian.Commands github-actions Relates to the project workflow nbt Relates to Obsidian.Nbt tests Relates to Obsidian.Tests labels Apr 6, 2026
@Tides Tides removed tests Relates to Obsidian.Tests nbt Relates to Obsidian.Nbt labels Apr 6, 2026
@Tides Tides removed commands Relates to Obsidian.Commands github-actions Relates to the project workflow labels Apr 6, 2026
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 20, 2026

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: caf047d6-78d9-4ff5-b3d5-79806319d7b2

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch worldgen-api-v4

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions Bot added commands Relates to Obsidian.Commands github-actions Relates to the project workflow nbt Relates to Obsidian.Nbt tests Relates to Obsidian.Tests labels Apr 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api Relates to Obsidian.API commands Relates to Obsidian.Commands epic Very cool github-actions Relates to the project workflow nbt Relates to Obsidian.Nbt performance Performance related issue priority: high Very important server Relates to the server implementation tests Relates to Obsidian.Tests world generation Relates to world generation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant