This post is a technical look into the mod’s development process and may not be of general interest. You have been warned.
I’ve been officially working on the Extrabiomes rewrite for a few days now, and am on track to release a very broken alpha build for people to play around with on Friday.
Because so much behavior will be duplicated between the planned submods, and because so much communication is desired between them, I am implementing as much logic as possible in a separate mod – Extrabiomes:Core.
If installed by itself, Core won’t offer very much functionality. Eventually, I have plans to add some general biome tweaking options to Core that will allow you to modify vanilla behaviors and the like – but that isn’t a high priority right now.
One of the biggest things Core will do is eliminate redundant logic for things like config files and tree generation. This way, we don’t wind up in a situation where we are maintaining 12 different mods, each with 12 different copies of my improved leaf decay system. Instead, they will be able to hook into Core for that. It certainly isn’t a new idea, any time a single developer or group has to maintain multiple similar products they are likely to consider doing this sort of thing.
The other thing Core does is allow me to communicate between mods. I have written a system that allows submods to fire off events to inform Core of their features or ask Core for its status. Right now, I’m not doing anything terribly exciting with it.
For example, Autumn Woods is registering itself with Core and Core then actually handles registering the biome with Minecraft. Additionally, Core keeps a list of every biome any registered submod provides, so when Autumn Woods needs to choose a biome id, it asks Core. If I implemented Meadows with this system (which I will soon), Core would know the biome ID’s requested by both mods and would be able to log a conflict just a little more intelligently than if there was no communication going on.
Currently, the Autumn Woods biome is generating in world and setting its temperature, humidity, and grass color appropriately. But I haven’t ported any trees or flowers over yet, so it looks kind of funny:
It’s not much to look at yet, but it will be more interesting very soon. I plan on implementing flowers tonight and will write trees tomorrow.