nineMinecraft is a joke site.
nineMinecraft is in no way affiliated with Modrinth or 9minecraft. (And frankly, who wants to be affiliated with the latter?)
WorldTools

WorldTools

Mod

WorldTools is a powerful Minecraft mod that allows you to capture and save high-detail snapshots of server worlds locally.

Client AdventureManagementUtility

11.2k downloads
80 followers
Filter loader...
Filter versions...
  • Fixed: Resolved an issue where certain objects were not saved due to being dropped following a buffer overflow.

  • 🌐 New Language: Traditional Chinese support added! A big thanks to @yichifauzi for contributing this translation.

  • Enhanced Commands: Simplified command structure for starting and stopping tools:

    • worldtools start <name>
    • worldtools stop

⚡ Key Highlights

  • Full Upgrade to Minecraft 1.21.1
    Seamlessly supports all the latest changes and dependencies for Minecraft 1.21.1.

  • New Language Additions

    • 🌐 Russian: Thanks to inf20100629 and CrowTheBest for adding full Russian localization!
    • 🌐 Chinese: Big thanks to APRme for adding Chinese language support!
  • Enhancements

    • Added support for Crafter, Lectern, Chest Boats, Chest Minecarts, and Hopper Minecarts.

🔧 Fixes & Improvements

  • Bobby Compatibility Fix: Ensure smoother integration and avoid glitches with Bobby.
  • Lithium Compatibility: Optimized for improved performance when using Lithium mod.

📜 Other Noteworthy Updates

  • Watermark removed for a cleaner user experience.
  • Upgraded internal tooling and dependencies, including a bump to Gradle wrapper.

This version makes WorldTools more powerful and compatible than ever. Update now to experience all the improvements!

📦 Uncategorized

  • 1.20.4 port rfresh2
  • fix fabric access widener not being remapped rfresh2
  • Cleanup, optimization more visual feedback Avanatiker
  • Singleplayer download warning Avanatiker
  • Typo Avanatiker
  • fix block entities not being saved after chunk unload rfresh2
  • loom 1.5 rfresh2
  • fix world save zipping step rfresh2
  • don't cache chunks and entities unless we're capturing rfresh2
  • Add support for saving Maps rfresh2
  • bump version to 1.2.0 rfresh2
  • simplify local capture mixin rfresh2
  • sync translations rfresh2
  • fix gradle and publishing rfresh2
  • disable entity NBT modification by default rfresh2
  • debug setting to enable save logging rfresh2
  • update translations rfresh2
  • Initialize WT version string correctly on forge rfresh2
  • Use Forge Chunk Load/Unload events instead of mixin rfresh2
  • bump version 1.2.1 rfresh2
  • disable github releases action until repo perms are fixed rfresh2
  • don't add author to entity nbt if modifyNbt setting disabled rfresh2
  • modifyNBT -> modifyEntityNbt rfresh2
  • swap out changelog generator action rfresh2
  • fix syntax rfresh2
  • update actions versions rfresh2
  • configure dependabot to update github actions rfresh2
  • upsert container contents from previously saved chunks rfresh2
  • bump version to 1.2.2 rfresh2
  • remove logspam when reading empty block entities from saved world rfresh2
  • handle edge case where player removes all items from container during save rfresh2
  • don't save empty or null chunks if they somehow get cached rfresh2
  • prevent entity duplication on reload rfresh2
  • future compat for saving containers rfresh2
  • Move block interaction mixin to common rfresh2
  • throw if we fail to write level.dat rfresh2
  • migrate to fabric api for client chunk events rfresh2
  • remove loaded and killed entities from cache rfresh2
  • only while capturing rfresh2
  • update missing container render to only render floor box rfresh2
  • update mod release name rfresh2
  • update release and build actions rfresh2
  • prevent more saving entity duplication and stale data rfresh2
  • prevent missed entity removals for obvious removals near player rfresh2
  • update release workflow rfresh2
  • ensure cache is cleared and events are not invoked while not capturing rfresh2
  • remove LastDeathLocation from stored player nbt rfresh2
  • only save maps we've seen during the capture rfresh2
  • increase max world save name to 64 characters rfresh2
  • Create fr_fr.json (#21) Calvineries
  • bump version to 1.2.3 rfresh2
  • fix french translation rfresh2
  • save the capture when user dc's during capture rfresh2
  • update generated changelog formatting rfresh2
  • use architectury ExpectPlatform to wire in version getter rfresh2
  • hide experimental world GUI setting rfresh2
  • ender chest caching support rfresh2
  • bump version to 1.2.4 rfresh2
  • Rewrite, proper container caching and new config layout Avanatiker
  • Update de_de.json P529
  • Fix typos Avanatiker
  • Add flat generator Avanatiker
  • Fix gen issues Avanatiker
  • Nonnull contract Avanatiker
  • New languages P529
  • Create en_pt.json YoMo2b2t
  • Escape quotation mark Avanatiker
  • fix text coloring on menu screen rfresh2
  • Safer disconnect handling Avanatiker
  • Portuguese: New language thanks to Nasder Avanatiker
  • Update french Avanatiker
  • Fix experimental screen mixin Avanatiker

📦 Uncategorized

  • 1.20.2 port rfresh2
  • fix build workflow rfresh2
  • update mod metadata rfresh2
  • update actions tag rfresh2
  • fix gradle and publishing rfresh2
  • disable entity NBT modification by default rfresh2
  • debug setting to enable save logging rfresh2
  • update translations rfresh2
  • Initialize WT version string correctly on forge rfresh2
  • Use Forge Chunk Load/Unload events instead of mixin rfresh2
  • bump version 1.2.1 rfresh2
  • disable github releases action until repo perms are fixed rfresh2
  • don't add author to entity nbt if modifyNbt setting disabled rfresh2
  • modifyNBT -> modifyEntityNbt rfresh2
  • swap out changelog generator action rfresh2
  • fix syntax rfresh2
  • update actions versions rfresh2
  • configure dependabot to update github actions rfresh2
  • upsert container contents from previously saved chunks rfresh2
  • bump version to 1.2.2 rfresh2
  • remove logspam when reading empty block entities from saved world rfresh2
  • handle edge case where player removes all items from container during save rfresh2
  • don't save empty or null chunks if they somehow get cached rfresh2
  • prevent entity duplication on reload rfresh2
  • future compat for saving containers rfresh2
  • Move block interaction mixin to common rfresh2
  • throw if we fail to write level.dat rfresh2
  • migrate to fabric api for client chunk events rfresh2
  • remove loaded and killed entities from cache rfresh2
  • only while capturing rfresh2
  • update missing container render to only render floor box rfresh2
  • update mod release name rfresh2
  • update release and build actions rfresh2
  • prevent more saving entity duplication and stale data rfresh2
  • prevent missed entity removals for obvious removals near player rfresh2
  • update release workflow rfresh2
  • ensure cache is cleared and events are not invoked while not capturing rfresh2
  • remove LastDeathLocation from stored player nbt rfresh2
  • only save maps we've seen during the capture rfresh2
  • increase max world save name to 64 characters rfresh2
  • Create fr_fr.json (#21) Calvineries
  • bump version to 1.2.3 rfresh2
  • fix french translation rfresh2
  • save the capture when user dc's during capture rfresh2
  • update generated changelog formatting rfresh2
  • use architectury ExpectPlatform to wire in version getter rfresh2
  • hide experimental world GUI setting rfresh2
  • ender chest caching support rfresh2
  • bump version to 1.2.4 rfresh2
  • Rewrite, proper container caching and new config layout Avanatiker
  • Update de_de.json P529
  • Fix typos Avanatiker
  • Add flat generator Avanatiker
  • Fix gen issues Avanatiker
  • Nonnull contract Avanatiker
  • New languages P529
  • Create en_pt.json YoMo2b2t
  • Escape quotation mark Avanatiker
  • fix text coloring on menu screen rfresh2
  • Safer disconnect handling Avanatiker
  • Portuguese: New language thanks to Nasder Avanatiker
  • Update french Avanatiker

📦 Uncategorized

  • fix fabric access widener not being remapped rfresh2
  • fix block entities not being saved after chunk unload rfresh2
  • update loom and kotlin rfresh2
  • fix world save zipping step rfresh2
  • didn't mean to commit this lol rfresh2
  • don't cache chunks and entities unless we're capturing rfresh2
  • Add support for saving Maps rfresh2
  • Cherry-pick divergence from 1.20.4 branch Avanatiker
  • bump version to 1.2.0 rfresh2
  • update translations rfresh2
  • syncing from 1.20.4 rfresh2
  • update actions tag rfresh2
  • fix gradle and publishing rfresh2
  • disable entity NBT modification by default rfresh2
  • debug setting to enable save logging rfresh2
  • update translations rfresh2
  • Initialize WT version string correctly on forge rfresh2
  • Use Forge Chunk Load/Unload events instead of mixin rfresh2
  • bump version 1.2.1 rfresh2
  • disable github releases action until repo perms are fixed rfresh2
  • don't add author to entity nbt if modifyNbt setting disabled rfresh2
  • modifyNBT -> modifyEntityNbt rfresh2
  • swap out changelog generator action rfresh2
  • fix syntax rfresh2
  • update actions versions rfresh2
  • configure dependabot to update github actions rfresh2
  • upsert container contents from previously saved chunks rfresh2
  • bump version to 1.2.2 rfresh2
  • remove logspam when reading empty block entities from saved world rfresh2
  • handle edge case where player removes all items from container during save rfresh2
  • don't save empty or null chunks if they somehow get cached rfresh2
  • prevent entity duplication on reload rfresh2
  • future compat for saving containers rfresh2
  • Move block interaction mixin to common rfresh2
  • throw if we fail to write level.dat rfresh2
  • migrate to fabric api for client chunk events rfresh2
  • remove loaded and killed entities from cache rfresh2
  • only while capturing rfresh2
  • update missing container render to only render floor box rfresh2
  • update mod release name rfresh2
  • update release and build actions rfresh2
  • prevent more saving entity duplication and stale data rfresh2
  • prevent missed entity removals for obvious removals near player rfresh2
  • update release workflow rfresh2
  • ensure cache is cleared and events are not invoked while not capturing rfresh2
  • remove LastDeathLocation from stored player nbt rfresh2
  • only save maps we've seen during the capture rfresh2
  • increase max world save name to 64 characters rfresh2
  • Create fr_fr.json (#21) Calvineries
  • bump version to 1.2.3 rfresh2
  • fix french translation rfresh2
  • save the capture when user dc's during capture rfresh2
  • update generated changelog formatting rfresh2
  • use architectury ExpectPlatform to wire in version getter rfresh2
  • hide experimental world GUI setting rfresh2
  • ender chest caching support rfresh2
  • bump version to 1.2.4 rfresh2
  • Rewrite, proper container caching and new config layout Avanatiker
  • Update de_de.json P529
  • Fix typos Avanatiker
  • Add flat generator Avanatiker
  • Fix gen issues Avanatiker
  • Nonnull contract Avanatiker
  • New languages P529
  • Create en_pt.json YoMo2b2t
  • Merge pull request #24 from YoMo2b2t/master P529
  • Escape quotation mark Avanatiker
  • fix text coloring on menu screen rfresh2
  • Safer disconnect handling Avanatiker
  • Portuguese: New language thanks to Nasder Avanatiker
  • Update french Avanatiker

📦 Uncategorized

  • 1.20.2 port rfresh2
  • fix build workflow rfresh2
  • update mod metadata rfresh2
  • update actions tag rfresh2
  • fix gradle and publishing rfresh2
  • disable entity NBT modification by default rfresh2
  • debug setting to enable save logging rfresh2
  • update translations rfresh2
  • Initialize WT version string correctly on forge rfresh2
  • Use Forge Chunk Load/Unload events instead of mixin rfresh2
  • bump version 1.2.1 rfresh2
  • disable github releases action until repo perms are fixed rfresh2
  • don't add author to entity nbt if modifyNbt setting disabled rfresh2
  • modifyNBT -> modifyEntityNbt rfresh2
  • swap out changelog generator action rfresh2
  • fix syntax rfresh2
  • update actions versions rfresh2
  • configure dependabot to update github actions rfresh2
  • upsert container contents from previously saved chunks rfresh2
  • bump version to 1.2.2 rfresh2
  • remove logspam when reading empty block entities from saved world rfresh2
  • handle edge case where player removes all items from container during save rfresh2
  • don't save empty or null chunks if they somehow get cached rfresh2
  • prevent entity duplication on reload rfresh2
  • future compat for saving containers rfresh2
  • Move block interaction mixin to common rfresh2
  • throw if we fail to write level.dat rfresh2
  • migrate to fabric api for client chunk events rfresh2
  • remove loaded and killed entities from cache rfresh2
  • only while capturing rfresh2
  • update missing container render to only render floor box rfresh2
  • update mod release name rfresh2
  • update release and build actions rfresh2
  • prevent more saving entity duplication and stale data rfresh2
  • prevent missed entity removals for obvious removals near player rfresh2
  • update release workflow rfresh2
  • ensure cache is cleared and events are not invoked while not capturing rfresh2
  • remove LastDeathLocation from stored player nbt rfresh2
  • only save maps we've seen during the capture rfresh2
  • increase max world save name to 64 characters rfresh2
  • Create fr_fr.json (#21) Calvineries
  • bump version to 1.2.3 rfresh2
  • fix french translation rfresh2
  • save the capture when user dc's during capture rfresh2
  • update generated changelog formatting rfresh2

📦 Uncategorized

  • 1.20.4 port rfresh2
  • fix fabric access widener not being remapped rfresh2
  • Cleanup, optimization more visual feedback Avanatiker
  • Singleplayer download warning Avanatiker
  • Typo Avanatiker
  • fix block entities not being saved after chunk unload rfresh2
  • loom 1.5 rfresh2
  • fix world save zipping step rfresh2
  • don't cache chunks and entities unless we're capturing rfresh2
  • Add support for saving Maps rfresh2
  • bump version to 1.2.0 rfresh2
  • simplify local capture mixin rfresh2
  • sync translations rfresh2
  • fix gradle and publishing rfresh2
  • disable entity NBT modification by default rfresh2
  • debug setting to enable save logging rfresh2
  • update translations rfresh2
  • Initialize WT version string correctly on forge rfresh2
  • Use Forge Chunk Load/Unload events instead of mixin rfresh2
  • bump version 1.2.1 rfresh2
  • disable github releases action until repo perms are fixed rfresh2
  • don't add author to entity nbt if modifyNbt setting disabled rfresh2
  • modifyNBT -> modifyEntityNbt rfresh2
  • swap out changelog generator action rfresh2
  • fix syntax rfresh2
  • update actions versions rfresh2
  • configure dependabot to update github actions rfresh2
  • upsert container contents from previously saved chunks rfresh2
  • bump version to 1.2.2 rfresh2
  • remove logspam when reading empty block entities from saved world rfresh2
  • handle edge case where player removes all items from container during save rfresh2
  • don't save empty or null chunks if they somehow get cached rfresh2
  • prevent entity duplication on reload rfresh2
  • future compat for saving containers rfresh2
  • Move block interaction mixin to common rfresh2
  • throw if we fail to write level.dat rfresh2
  • migrate to fabric api for client chunk events rfresh2
  • remove loaded and killed entities from cache rfresh2
  • only while capturing rfresh2
  • update missing container render to only render floor box rfresh2
  • update mod release name rfresh2
  • update release and build actions rfresh2
  • prevent more saving entity duplication and stale data rfresh2
  • prevent missed entity removals for obvious removals near player rfresh2
  • update release workflow rfresh2
  • ensure cache is cleared and events are not invoked while not capturing rfresh2
  • remove LastDeathLocation from stored player nbt rfresh2
  • only save maps we've seen during the capture rfresh2
  • increase max world save name to 64 characters rfresh2
  • Create fr_fr.json (#21) Calvineries
  • bump version to 1.2.3 rfresh2
  • fix french translation rfresh2
  • save the capture when user dc's during capture rfresh2
  • update generated changelog formatting rfresh2

📦 Uncategorized

  • fix fabric access widener not being remapped rfresh2
  • fix block entities not being saved after chunk unload rfresh2
  • update loom and kotlin rfresh2
  • fix world save zipping step rfresh2
  • didn't mean to commit this lol rfresh2
  • don't cache chunks and entities unless we're capturing rfresh2
  • Add support for saving Maps rfresh2
  • Cherry-pick divergence from 1.20.4 branch Avanatiker
  • bump version to 1.2.0 rfresh2
  • update translations rfresh2
  • syncing from 1.20.4 rfresh2
  • update actions tag rfresh2
  • fix gradle and publishing rfresh2
  • disable entity NBT modification by default rfresh2
  • debug setting to enable save logging rfresh2
  • update translations rfresh2
  • Initialize WT version string correctly on forge rfresh2
  • Use Forge Chunk Load/Unload events instead of mixin rfresh2
  • bump version 1.2.1 rfresh2
  • disable github releases action until repo perms are fixed rfresh2
  • don't add author to entity nbt if modifyNbt setting disabled rfresh2
  • modifyNBT -> modifyEntityNbt rfresh2
  • swap out changelog generator action rfresh2
  • fix syntax rfresh2
  • update actions versions rfresh2
  • configure dependabot to update github actions rfresh2
  • upsert container contents from previously saved chunks rfresh2
  • bump version to 1.2.2 rfresh2
  • remove logspam when reading empty block entities from saved world rfresh2
  • handle edge case where player removes all items from container during save rfresh2
  • don't save empty or null chunks if they somehow get cached rfresh2
  • prevent entity duplication on reload rfresh2
  • future compat for saving containers rfresh2
  • Move block interaction mixin to common rfresh2
  • throw if we fail to write level.dat rfresh2
  • migrate to fabric api for client chunk events rfresh2
  • remove loaded and killed entities from cache rfresh2
  • only while capturing rfresh2
  • update missing container render to only render floor box rfresh2
  • update mod release name rfresh2
  • update release and build actions rfresh2
  • prevent more saving entity duplication and stale data rfresh2
  • prevent missed entity removals for obvious removals near player rfresh2
  • update release workflow rfresh2
  • ensure cache is cleared and events are not invoked while not capturing rfresh2
  • remove LastDeathLocation from stored player nbt rfresh2
  • only save maps we've seen during the capture rfresh2
  • increase max world save name to 64 characters rfresh2
  • Create fr_fr.json (#21) Calvineries
  • bump version to 1.2.3 rfresh2
  • fix french translation rfresh2
  • save the capture when user dc's during capture rfresh2
  • update generated changelog formatting rfresh2

📦 Uncategorized

  • 1.20.2 port
    • PR: #0
  • fix build workflow
    • PR: #0
  • update mod metadata
    • PR: #0
  • update actions tag
    • PR: #0
  • fix gradle and publishing
    • PR: #0
  • disable entity NBT modification by default
    • PR: #0
  • debug setting to enable save logging
    • PR: #0
  • update translations
    • PR: #0
  • Initialize WT version string correctly on forge
    • PR: #0
  • Use Forge Chunk Load/Unload events instead of mixin
    • PR: #0
  • bump version 1.2.1
    • PR: #0
  • disable github releases action until repo perms are fixed
    • PR: #0
  • don't add author to entity nbt if modifyNbt setting disabled
    • PR: #0
  • modifyNBT -> modifyEntityNbt
    • PR: #0
  • swap out changelog generator action
    • PR: #0
  • fix syntax
    • PR: #0
  • update actions versions
    • PR: #0
  • configure dependabot to update github actions
    • PR: #0
  • upsert container contents from previously saved chunks
    • PR: #0
  • bump version to 1.2.2
    • PR: #0
  • remove logspam when reading empty block entities from saved world
    • PR: #0
  • handle edge case where player removes all items from container during save
    • PR: #0
  • don't save empty or null chunks if they somehow get cached
    • PR: #0
  • prevent entity duplication on reload
    • PR: #0
  • future compat for saving containers
    • PR: #0
  • Move block interaction mixin to common
    • PR: #0
  • throw if we fail to write level.dat
    • PR: #0
  • migrate to fabric api for client chunk events
    • PR: #0
  • remove loaded and killed entities from cache
    • PR: #0
  • only while capturing
    • PR: #0
  • update missing container render to only render floor box
    • PR: #0
  • update mod release name
    • PR: #0
  • update release and build actions
    • PR: #0
  • prevent more saving entity duplication and stale data
    • PR: #0
  • prevent missed entity removals for obvious removals near player
    • PR: #0
  • update release workflow
    • PR: #0

📦 Uncategorized

  • 1.20.4 port
    • PR: #0
  • fix fabric access widener not being remapped
    • PR: #0
  • Cleanup, optimization more visual feedback
    • PR: #0
  • Singleplayer download warning
    • PR: #0
  • Typo
    • PR: #0
  • fix block entities not being saved after chunk unload
    • PR: #0
  • loom 1.5
    • PR: #0
  • fix world save zipping step
    • PR: #0
  • don't cache chunks and entities unless we're capturing
    • PR: #0
  • Add support for saving Maps
    • PR: #0
  • bump version to 1.2.0
    • PR: #0
  • simplify local capture mixin
    • PR: #0
  • sync translations
    • PR: #0
  • fix gradle and publishing
    • PR: #0
  • disable entity NBT modification by default
    • PR: #0
  • debug setting to enable save logging
    • PR: #0
  • update translations
    • PR: #0
  • Initialize WT version string correctly on forge
    • PR: #0
  • Use Forge Chunk Load/Unload events instead of mixin
    • PR: #0
  • bump version 1.2.1
    • PR: #0
  • disable github releases action until repo perms are fixed
    • PR: #0
  • don't add author to entity nbt if modifyNbt setting disabled
    • PR: #0
  • modifyNBT -> modifyEntityNbt
    • PR: #0
  • swap out changelog generator action
    • PR: #0
  • fix syntax
    • PR: #0
  • update actions versions
    • PR: #0
  • configure dependabot to update github actions
    • PR: #0
  • upsert container contents from previously saved chunks
    • PR: #0
  • bump version to 1.2.2
    • PR: #0
  • remove logspam when reading empty block entities from saved world
    • PR: #0
  • handle edge case where player removes all items from container during save
    • PR: #0
  • don't save empty or null chunks if they somehow get cached
    • PR: #0
  • prevent entity duplication on reload
    • PR: #0
  • future compat for saving containers
    • PR: #0
  • Move block interaction mixin to common
    • PR: #0
  • throw if we fail to write level.dat
    • PR: #0
  • migrate to fabric api for client chunk events
    • PR: #0
  • remove loaded and killed entities from cache
    • PR: #0
  • only while capturing
    • PR: #0
  • update missing container render to only render floor box
    • PR: #0
  • update mod release name
    • PR: #0
  • update release and build actions
    • PR: #0
  • prevent more saving entity duplication and stale data
    • PR: #0
  • prevent missed entity removals for obvious removals near player
    • PR: #0
  • update release workflow
    • PR: #0

External resources


Project members

Constructor

Owner


Technical information

Client side
required
Server side
unsupported
Project ID