Retroactive World Generation (RWG)

As a server administrator there is been one issue that has vexed me throughout every minecraft update and adding mods with new blocks that are in world generation. You have explore new regions for new blocks to generate. I was hoping a plug-in could be developed to force individual mods to to generate new blocks within a existing world. I believe this process is called retroactive world generation and a few mods have it implemented such as Thaumcraft, Thermal Expansion, and Ars Magica .

Is it technically possible in the sponge api to create a plug-in implementing retroactive world generation for sponge and Forge mods?


technically possible, yes, but not really related to sponge API itself, youd need to know what the mod generates, check if its in, and generate according to its settings most likely.

Unless there’s a generic method the concept is totally useless. Otherwise someone would have to be writing for specific mods. Generic method would need to read what mod wants to generate upon world generation and implement it within existing chunks according to the seed. I would’ve thought that would’ve been on the API level to expose those functions.

The only way i see is forge mods providing explicit support for something like this. Im not too familiar with world generators, though, so you might be able to do some tinkery with determining what isnt vanilla in it?

I don’t have the skills the program something like this as I’m just beginning to teach myself programming for the first time using sponge. I’m hoping someone else might take an interest as I know would be a benefit to the community and I might even be willing to put a little money towards it too.

If you want to be able to program, id suggest going with learning Java by itself first. Teaching yourself though an API is one of the worst ways to learn a language, as you cant separate between API and actual java.

Well I suppose you’re right. I’m kind of doing both but I need an outlet to keep myself motivated which will be sponge.

well actually, i managed to teach myself that way although admittedly it isn’t the best. i didn’t have the problem of distinguishing classes between normal java and an api’s, though.

on the topic, the problem with performing this is choosing which areas of chunks should be replaced so as to not replace man-made objects build by players. using this system, if not implemented correctly, a player can wake up the next morning with a random mod block replacing one of his floor blocks in his house the moment you load up that new mod.

we have yet to really see how we can interact with mods world generators and whether or not we’ll be able to screw with it so well seeing we’re just an api that tries to work around their implementations of mods; it may not be possible at all for some mods that don’t explicitly define their world generators. of course, instead of using the mod’s world generator i guess a plugin developer who knows how the mod generates things into the world can emulate the same result on their own without referencing the mod at all.

Years ago, I was livid to find that I can’t print ChatColor.AQUA with System.out.println in a command line app.

Don’t be me. Learn Java =)


my answer was more on the account of the multiple newbies posting on Its quite disheartening to see people trying to throw themselves at the language and failing to do anything meaningful :confused:

yeah, i can see where you’re coming from on that.
yay, internet.

Would someone mind pointing me to a beginners tutorial for Java that uses IntelliJ?

It’s a shame it’s gotten horribly off-topic but it’s important. If anyone else has interest in this please post about mod retroactive world generation as a plug-in.

This concept just to be clear this isn’t about retroactively generating new biomes. Only new blocks or structures that are in existing biomes.

don’t need to have a tutorial pointed at a specific ide to learn java. functions are similar, you can easily look up what to do in intellij for things they do in eclipse or something. the java documentation is always there though its not entirely user-friendly

You’re right you don’t need to learn Java using a specific IDE. But it does make it a lot easier. I suppose I get easily discouraged when I have to go to multiple sources for information to learn one subject. The nature of the beast.

Its hard work, but its rewarding in the end. Once you go though the very basics you could try make calculator functions, then learn some graphic functions and make tictactoe. If the problem is motivation, you can PM me and il try to find something for your level.

This sounds like it would require a block logging plugin to implement?

not necessarily, but we would need some way to detect blocks that’re player-made.

That would most likely require a block logger.

1 Like

for some reason i thought of the anti-grief utility and not a generic block logger

also, it could be possible to have sponge implement that ability on its own; otherwise, yeah, it needs one.