Chunk-Pregenerator

Mods
13,082,034 Downloads Last Updated: Jul 4, 2022 Game Version: 1.19   +2

1.12 Documentation

Table of Contents:
Command Information: Click Me
Command Suggestions: Click Me
InGame Gui Documentation: Click Me
 

Features:

  • Very userfriendly:
    The Pregenerator has a lot of features to make it more userfriendly
    There a AutoComplete feature that provides a number of options that can be used (if the command needs it),
    the Help Feature that provides information on every single command and on every single parameter if needed.
    If a Suggestion is needed that feature is present for every command that explains you also what each suggestion does.
    Its formatting is also used to highlight split points to make it easier readable.
    On top of that you can customize the Text Output based on what is needed.
    Also for those who like to play while its running there is a UI feature that is toggeable and fully customizeable too.

  • Dynamic CPU Allocation:
    The Pregenerator is designed to be fully dynamic on its usage,
    That means it will not generate 10 chunks and then let the game play,
    it will generate as many chunks as it can fit into a certain customizable time frame (default 40MS) and then give the CPU back to the game.
    This time frame can be set freely and also how much it should be used.

  • Playeable while Pregenerating:
    The Pregenerator is Designed to be used while playing the game,
    While it uses as much CPU as provided it will make sure that the game has priority over the generation.
    That can be controlled too, so that its optional that the pregenerator prioritizes the game.
    This allows to do the Pregeneration to be happening while you actually play.

  • Very Fast Chunk Generation Check:
    The Pregenerator uses a couple tricks to find out if a Chunk was already generated.
    There is the normal check (PostProcessingOnly) that is not really fast but has a 100% accuracy even on already generated chunks,
    and there is the fast check which is as fast as the HHD/SSD can handle it, but that one looses accuracy because it checks not so deepply.
    This faster check allows to check this fast that it can check 40k chunks within seconds.
    While the higher accuracy one checks only around 20-50 in a second, but for just generation a basic check that is faster is enough the higher accuracy is for its own set of things.

  • Faster Chunk Generation:
    The Chunk Pregenerator has a faster generation logic then other Pregenerators,
    that is not achieved by hacking into the game and changing things.
    There are certain checks that reduce generation speed down by a lot, these are not required and can be not used without any harm,
    that allows the pregenerator to run at least 20-50% faster then other ones.

  • Very Efficient Memory Managment:
    The Chunk Pregenerator has a Special Memory handler that keeps track of its own memory usage,
    and makes sure that everything that it creates get cleaned up.
    That has ofcourse its limits and it can't cleanup everything if someone makes a mistake.
    But compared to the other options its targeted at bigger scale generations.

  • Type Based Generation Options:
    The Chunk Pregenerator has not only normal Generation options,
    it also has a terrain only generation which allows to create a Fog of war effect.
    This effect on the other hand doesn't remove the full Generation lag since only the terrain is created and Chunks still cause lag when a player comes nearby,
    But while the terrain only option is not lagfree it allows to have a worldview without the features inside of a world and provide for multiplayer a fair option for everyone.

  • Retrogen:
    The Chunk Ppregenerator has a Retrogen Feature that allows you to regenerate certain mod elements in the area of the World that you want to regenerate in.
    Without the need of actual players loading chunks for you.
    Selection of which generators should be used can be done via gui with easy to see which ones are selected and which ones are not. Same goes for the command. Autocomplete feature supports that too.
    Duplicated retorgens get skipped and only the last retrogeneration is keept track of  so you can run them multiple times if wanted.
  • Dimension Loading:
    The Chunk Pregenerator will automatically load Dimensions that it is requested to Pregenerate in.
    It will also keep that dimension loaded without any extra lag or causing any sort of prevention of unloading dimensions.
    But it will prevent the unload feature of its own command so that you can not unload the dimension it is working in.

  • A Task List:
    The Chunk Pregenerator has a Tasklist where it stores the Current & Other tasks in that need to be executed.
    That means you can add a bunch of work tasks at once and it will go through every single one of them.
    On top of that this List can be viewed and changed at any given time of the Pregeneration.
    You can remove every single Index individually and they don't have to be in the first or last point.
    On top of that if the Pregenerator Crashes it will remember that it crashed and continues the task after a certain waiting time.

  • ModPack Support:
    The Pregenerator has a Command Called. LoadFromFile that loads tasks from a txt file.
    This feature has been expanded on. It automatically checks on a World Creation if a "onWorldCreation.txt" exists,
    If that is the case it will automatically run it with its instructions, allowing modpackdevs to pregenerate automatically for their users to provide a better experience.
    On top of that if the config Folder is the first time generated it will also generate a example file.

  • World Control:
    The Pregenerator has a couple World Controlling features to use.
    It Allows to Delete Unlaoded Chunks while being in the game.
    Make Savezones for Structures where they can not be generate
    Remove Already Generated Structures from the World,
    Or Just cleanup Entities/TileEntities on a World or per Chunk Basis.
    These features can be either accessed from the GUI (by pressing I while in the game) or via commands.
    (The TileEntity/Entity Cleanup is only accessable via GUI and the other only via commands).
    These are just some features to help people to remove things they don't want or just cleanup their world.

  • Intigrated Profiler:
    The Chunk Pregenerator has a Intigrated Profiler.
    Now this Profiler is very basic and can not replace other Profiler mods,
    but it is full UI Based Allowing to find issues inside of the World.
    It lists the Lag of the Server / Each Dimension without causing any lag,
    It also lists the Server Ram at the given moment, how many packets that are being processed by the Server.
    On top of that it has a detailed info for 1 Dimension (Selectable) that show things that some other profilers don't provide.
    It lists how many BlockTicks Listed up, How many TileEntities/Tickable/TileEntities/Entities there are, how many BlockChanges happen in the World,
    It also provides a lastTick & Average Values of most of these things.
    These functions cause very little lag by itself but it can be turned on or off whenever its needed.
    On top of that these things can be seen by any user that has the mod installed on the client and it will cause no extra lag to the server by viewing it.

 

Downsides:

  • Restart Suggested:
    The Pregenerator has a lot of things implemented to make a clean and none memory leaking progression but after a huge generation or a lot of tiny generations its still suggested to restart the game to make sure that everything is cleaned up. To Prevent issues.
  • Memory Usage:
    The Pregenerator generates Every Single Position where it should and can generate Chunks, for larger generations that takes up a huge chunk of memory. Make sure when you generating chunks that you leave 1-2GB free if you see that you get close to max memory usage split up the tasks.

 

How to Retrogen:

If you want to retrogen you have to options for selecting:
Via GUI:
You can access the Gui will can be accessed by the world view which can be accessed by pressing the "I" key.

You enable all the handlers you want to retrogenerate and then go to the retrogen step.

Via Commands:
You use the /pregen gen selectRetrogenerator command to select the retrogenerator.
For adding you would use /pregen gen selectRetrogenerator add com.rwtema.densores.WorldGenOres
Or for removing you would use: /pregen gen selectRetrogenerator remove com.rwtema.densores.WorldGenOres
These can be also auto selected by hitting tab. This mod supports that fully.

So how do you run a retrogeneration. Very simple. You create a normal pregen task like you would for a pregeneration.
with /pregen gen startradius square 0 0 100 0 Retrogen
The "Retrogen" at the end will tell the pregenerator to run a Retrogeneration instead of a Pregeneration.
Thats about it.