Home›Java›Mods›WorldGit
WorldGit
ModsJava

WorldGit

Java mod listed for Minecraft 1.21. Downloads from the MC Java Mods app on Android.

by Alex_Tang · on Modrinth

⬇ Download on Modrinth

WorldGit

WorldGit is a Paper plugin for Minecraft 1.21.11 that introduces a Git-like workflow for collaborative world building.

Players branch a selected region from the protected main world into an isolated branch world, edit safely, submit their work for review, and merge approved changes back into the main world. The main world stays read-only except through explicit merges.

For the Chinese version, see README.zh-CN.md.

Target Stack

Core Features

Runtime Dependencies

Install these plugins on the Paper 1.21.11 test server:

LuckPerms is optional and only needed if you want to manage permissions through it.

Build

./gradlew build

Output JAR:

build/libs/worldgit-1.1.0.jar

Installation

  1. Copy the built JAR to the server plugins/ directory.
  2. Make sure WorldEdit and Multiverse-Core are also installed.
  3. Start the server once to generate plugins/WorldGit/config.yml.
  4. Edit the config if needed.
  5. Restart the server.

Default Configuration

main-world: "world"
max-region-size-x: 50
max-region-size-z: 50
use-full-height: false
max-active-branches: 2

backup:
  enabled: true
  interval-minutes: 30
  max-backups: 10
  directory: "backups"

branch-world:
  prefix: "wg_"

database:
  file: "worldgit.db"

Commands

Player Commands

Admin Commands

Player Menu

Permissions

Player Permissions

Admin Permissions

Workflow

Terminology

Create a Branch

  1. Stand in the main world.
  2. Select a cuboid region with WorldEdit.
  3. Run /wg create.
  4. Edit inside the generated branch world.

Rebase and Resolve Conflicts

  1. Open the branch-detail UI from the player menu.
  2. If the main world has overlapping updates since your base revision, the branch is marked stale.
  3. Click Rebase to replay your region onto the latest main-world revision.
  4. If auto-merge is possible, the branch becomes clean immediately.
  5. If conflicts remain, open Conflict Center.
  6. Resolve each conflict group with:
    • mine
    • theirs
    • manual fix in-world, then mark resolved
  7. Once all conflict groups are resolved, the branch becomes clean again.

Submit, Review, and Merge

  1. Run /wg submit [id] or submit through the branch-detail UI.
  2. If the branch is stale, submission is rejected until it is rebased.
  3. An admin reviews the branch.
  4. Once approved, the branch becomes read-only.
  5. If you want to keep editing after approval, run /wg forceedit [id] first.
  6. After editing again, re-submit the branch for a fresh review.
  7. If the main world changes after approval but before merge, the approval is revoked automatically.
  8. Rebase the branch again, resolve conflicts if needed, and submit for re-review.
  9. If the branch is still current, run /wg confirm [id], enter a merge message, and merge it back into the main world.

World Protection Coverage

The plugin blocks direct edits in the configured main world, including:

Admins with worldgit.admin.bypass can bypass player-driven protection checks.

Paper 1.21.11 Test Checklist

Environment Setup

  1. Start a fresh Paper 1.21.11 server.
  2. Install WorldEdit, Multiverse-Core, and WorldGit.
  3. Confirm all three plugins load without errors.
  4. Confirm the main world name matches config.yml.

Branch Creation

  1. Join as a player with worldgit.branch.create.
  2. Select a small cuboid region in the main world.
  3. Run /wg create.
  4. Verify:
    • A branch record exists in SQLite
    • A branch world named like wg_<id> exists
    • The selected blocks were copied correctly
    • A base snapshot exists for the branch
    • The branch stores a base revision

Protection

  1. Try placing and breaking blocks in the main world.
  2. Try buckets, bone meal, item frames, and armor stands in the main world.
  3. Verify all changes are blocked unless the player has worldgit.admin.bypass.

Rebase, Review, and Merge

  1. Let player A and player B create overlapping branches from the same region.
  2. Let player A edit and merge first.
  3. On player B, run /wg submit.
  4. Verify submission is rejected and the branch is marked stale.
  5. Use the branch-detail UI to run Rebase.
  6. If conflicts appear, verify Conflict Center can:
    • list groups
    • accept mine
    • accept theirs
    • teleport for manual repair
    • mark a group resolved
  7. After the branch is clean, submit it again.
  8. Approve with /wg review approve <id>.
  9. Before merging, let another overlapping branch update the main world again.
  10. Run /wg confirm <id>.
  11. Verify the approval is revoked automatically and the branch must be rebased and re-reviewed.
  12. Complete the second rebase and submit again.
  13. Approve once more, then merge.
  14. Verify:
    • Players are moved out safely
    • Blocks are merged into the main world
    • A short-lived merge lock is created and released
    • A world commit entry is recorded
    • The branch world is unloaded after merge and can be reopened from merge history if needed
    • The branch is marked MERGED
    • Merge history shows builders, approver, merger, merge message, and region coordinates

Recovery

  1. Start a merge.
  2. Stop the server during the merge or rebase process.
  3. Restart the server.
  4. Verify incomplete merge and rebase state is recovered cleanly.

Backup

  1. Run /wg admin backup.
  2. Verify a backup appears under the configured backup directory.
  3. If scheduled backups are enabled, verify old backups are pruned.

Notes

Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

File checked by MCModsHub

These come from our own check of the pack file, not from the source page.

Explore more