Default World Generator (port)
First: This project started as a port of fireball1725's 1.7.10 mod: Default World Generator to 1.8.9. To aid in projects by myself and others that use mods the use or create alternative "World Types" in a pack.
As of version 1.12-2.3:
I received this mod under the MIT license, and thus am redistributing it under the same license.
This means it can be freely used in any modpack. However if you translate this post into another language, please do try and link back to this post.
How To Use:
Note this page contains instructions for v2.0 and above (running on mc1.12+)
For information on how to use the older versions please see:
* MC 1.9.*, 1.10.* and 1.11.*: See these instructions!
* MC 1.8.9: See: See the original text config instructions!
In v2.0+ all options are only available inside the Minecraft client.
1) Load the Minecraft title screen
2) Click Mods
3) Select Default World Generator
4) Press configure
At this point you will be in the editor gui.
* If you only want one default, and to not pop up the list to choose a world type, everything must be not listed, in this case the first element is considered the primary, and will be used to set the users world type defaults
* Seeds are now locked with generator/world type if not left blank. This allows pre made chunk data in the datapacks.
* World Name is part of the default new world name
* pngs for custom icons when using a set of listed configurations go into config/defaultworldgenerator-port/*.png (once there you can press the icon button to toggle through them)
* The init commands are just commands (like "say Hello World") that run every time a single player world is loaded, or a server world is started. These can be used to run mcfunctions, or set gamerules and be different for each preset. (A very useful thing might be to run "gamerule gameLoopFunction <packname:presetname>" to kick off a background function each tick for your pack)
* the "datapacks" represent any file in the directory and subdirectors of that listed. The listed directories must be in config/defaultworldgenerator-port/<name> Thus if you wanted to change the endermite loot table in the common datapack you would include the file config/defaultworldgenerator-port/common/data/loot_tables/minecraft/entities/endermite.json
Unlike the previous versions, these sets of files will automatically sync to the save file when the pack is updated.
A series of videos covering more advance configuration concepts and ideas will be here soon.
Whats New (Changelog):
While this started as a simple port over time the mod has had many additions, tweaks, and even an overhaul for 1.12. Here are the changes in reverse chronological order:
- [as of v1.12-2.3]: Integration with Pack Mode. set a preset to use a specific mode you have configured with CraftTweaker/Pack Mode. This is then enforced for the preset, thus automatically informing the user a restart is needed, and setting the mode when a world is loaded.
- [as of v1.12-2.0]: Initial commands, a set of command that can be run every time the server is started (or single player is loaded) can set difficulty, gamerules, and mcfunctions
- [as of v1.12-2.0]: each world can support one or more "data packs" file sets, these are now also moved into config/defaultworldgenerator-port/ (ex. config/defaultworldgenerator-port/common/data/loot_tables/minecraft/entities/endermite.json for the 1.11.* endermite loot table example)
- [as of v1.12-2.0]: seed is now locked down when the world type is locked (This allows the "data pack" feature to inject existing worlds into a new game, since the seed must match to avoid cliffs.
- [as of v1.12-2.0]: Added toggle on the structures button for force or disable it
- [as of v1.12-2.0]: Dedicated server now asks what preset you want to use (if multiple are active) otherwise forces the preset (rather than just pre-defaulting it if there was no server.properties.
- [as of v1.12-2.0]: Allow for multiple presets, and letting the user choose before the world is launched
- [as of v1.12-2.0]: Changed config to a binary config (now must be configured in client)
- [as of v1.11.2-1.0]: Default World Data: If you have a directory in the root of your pack named DefaultWorldData, the files from this directory will be copied into new game saves (or the first time you load a world after you add this directory) this allows you to inject loot_tables and structures into new worlds that will override the mc/mod defaults. (example DefaultWorldData/data/loot_tables/minecraft/entities/endermite.json will override the endermite loot_table)
- [as of v1.11.2-1.0]: Bonus Chest can be enabled by default (and optionally locked down) either in the gui config or config file
- [as of v1.9.4-0.4]: In Client GUI for advanced configuration (enter from the title screen -> Mods -> Default World Generator -> config) Here all settings can be set from within the Minecraft client, in addition the world generators are selected from a list of valid entries, and customization uses the relevant customization gui) All settings can be edited from the gui, so you do not need to manually edit the config, just copy it into your modpack when you are done.
- [as of v1.9.4-0.4]: ability to set a recommended seed, note this can be overwritten by the user if they manually do so even if the world type is locked, however it will be used by default when a new world is selected, and by default when a server instance is created.
- The superflat config has been removed in favor of simply having "S:CustomizationJson=", this is json if you are using the "customized" world generator, but is really the "preset" string in both "customized" and "flat".. This hopefully will work for most world type customization.
- Fixed a minor glitch I've noticed in 1.7.10, if you change a default a customization one, say superflat. You were unable to configure it, now the defaults fully override-able by the user unless its configured to be locked.
- Server Support. This version of the mod is no longer client only, and will not crash on a server, furthermore it attempt to start the server with the presets configured, so you do not need to remember to set level-type every time you configure a new instance.