You are viewing a potentially older version of this package. View all versions.
ZetaArcade-WeatherInjector-1.1.2 icon

WeatherInjector

Addon for WeatherRegistry to overwrite what vanilla weathers are registered on moons

Date uploaded 2 days ago
Version 1.1.2
Download link ZetaArcade-WeatherInjector-1.1.2.zip
Downloads 1202
Dependency string ZetaArcade-WeatherInjector-1.1.2

This mod requires the following mods to function

mrov-WeatherRegistry-0.7.5 icon
mrov-WeatherRegistry

A mod for controlling the game's weather system.

Preferred version: 0.7.5
mrov-MrovLib-0.3.8 icon
mrov-MrovLib

Common methods for my mods.

Preferred version: 0.3.8

README

WeatherInjector

WARNING, this mod was made explicitly for use within my own modpack since i wanted to overwrite what weathers are registered to some vanilla moons for balancing purposes. By messing with this tool yourself, you acknowledge you're able to add vanilla weather to moons may not support them properly (Both vanilla and modded), which can break the balance or just straight up not work. If you would like a modded moon to support a vanilla weather that it currently does not, contact the moon dev and ask them about it!

How it works

Whilst WeatherRegistry lets you whitelist/blacklist weathers from moons, this only works if the weather is REGISTERED to the moon. All modded weathers are registered to every moon, so it is not an issue for them. But some vanilla weathers are not registered on some moons (E.g. Flooded isn't registered on Titan, Rainy isn't registered on Wesley's Gratar moon), meaning no amount of WeatherReg config stuff you do will allow them to spawn. This tool bypasses that. Its a beefed up version of my other mod Dusted, allowing for more weathers to be injected than just DustClouds.

For each vanilla weather (Except Eclipsed, as that seems to already be registered on every moon) you can specify a list of moon names in the config, along with a pair of weather variables.

What are "weather variables"? Well, as Mrov (Creator of WeatherRegistry) kindly explained to me:

those are two magic numbers that determine some variables about the weathers:

-foggy uses a radom fog density value between val1 and val2

-stormy uses val1 to determine how frequently it should strike

-flooded makes water rise from val1 to val2

-eclipsed spawns val1 amount of enemies when you land on the moon

Rainy and DustClouds likely don't use the values, though mrov speculated Rainy might use the values to control how many puddles spawn.

Within the config you can specify the weather variables for each moon you want to register the weather on. The default values in the config are all the vanilla default values, so you can use those as a basis. For example, Adamance's default Flooded stuff is Adamance@-3@-24;, meaning the water goes from a height of -3 to -24 across the day (Thats why the water starts high and ends up low!). You could swap these values around to make it flood more traditionally, or increase/decrease them!

When you inject a weather into a moon that doesn't have it registered (E.g. Flooded into Titan), this mod will add the weather so it can now spawn in, using the variables you specified.

When you inject a weather into a moon that already supports the weather, this mod will instead overwrite those weather variables (E.g. Injecting Flooded into Adamance will let you change the flood height)

These special values cannot usually be edited by anyone except the moon devs or other mods. This allows for some really interesting stuff, like changing how many enemies initially spawn during Eclipsed, or changing the direction a moon will flood!

Debug Mode

When enabled, landing on a moon will list in the log all of it's registered weathers AND weather variables. Useful if say, you want to know the Y coordinates used on a moon for when it floods, and to also check that this mod is injecting the weathers properly!

Disclaimers

Much like my other mod DustClouds, weather registering doesn't happen until after WeatherRegistry has initialized. In other words, the weathers wont be registered onto the moons by Day 1 of the save file, but will appear from Day 2 onwards.

If for some reason you wanted to use this mod with DustClouds, it will work fine, though this mod will overwrite entries from DustClouds if you inject into the same moon. This mod likely requires both clients and host to have it, along with identical configs.

This mod was made for v73, but seeing as it doesn't network anything on it's own side, it may work on earlier versions.

Credits

  • Mrov, for writing the intial code for Dusted which i used as a basis for this mod.

CHANGELOG

1.1.2

  • Removed Embrion from default Rainy config, whoopsies!

1.1.1

  • Cleared the default config entries for DustClouds, since otherwise by default it would register DustClouds to every moon. Now, the default values for the config reflect vanilla!

1.1.0

  • Completely rewrote the mod and the way how configs are handled. It's now much less messy, and supports tags from Mrovlib (All/Company/Vanilla/Modded), LLL tags, scene names, level names and level display names!
  • When you try to register a weather to a moon, it now correctly de-registers the same weather from the moon first before injecting, allowing you to overwrite the variables and prevents there being duplicate weathers registered.
  • Eclipsed is now supported!
  • Added a DebugMode for logging all the registered weathers (+associated weather variables) for a moon when you land on it.

1.0.0

  • Initial Release