ChiriVulpes / soulus

A Minecraft mod. You must sift through the ashes of the dead to restore life to the world.
https://soulus.info
Other
3 stars 3 forks source link

Compatibility with Botania (and other mods) #31

Closed Thyriel closed 6 years ago

Thyriel commented 6 years ago

Hi,

it seems there is some incompatibility when mob spawns are disabled by soulus and Botania mod:

1) Fel pumpkin (with 2 iron bars underneath) spawn a blaze that drops 6 or more blaze powder (only way to get into nether with botanias garden of glass sky variant). But something in soulus messes the drops, those blazes are just dropping nothing when enabled in creatures.json: { "minecraft:blaze": { "spawn_chance": 1.0, "drops": {} }, removes these drops as well as "drops": { "summoned": { "has_xp": true, "whitelisted_drops": [ "*" ], "blacklisted_drops": [] } }

2) Guardian of Gaia: As this is not a classical entity id (at least i can't find it even with /ct entities) it doesn't seem possible to whitelist the spawning in creatures.json (afaik it's just a player copy but soulus still prevents that from spawning)

3) Mod Wildcards are not working in creatures.json (like an entry for "botania:*" to whitelist all creatures from a mod at once.

Conclusion: As there's for sure quite a lot other mods adding things like these (and you need anyway to configure essences for every mob you add with another mod) you should consider changing your default creatures.json from a whitelist to a blacklist. If the default creatures.json would just list every vanilla mob / creature one by one with a spawn chance of 0.0 you would still disable all spawns, but you would not break any other mods as their mobs don't get touched at all until they are configured. The wildcard entry at the end with spawn chance 0.0 just breaks too much other mods and their features. (And imho it's pretty hard to know every little spawning trick of every mod you add when making a modpack) Or alternativetly add the ability to use mod wildcards in creatures.json and change the wildcard entry at the end of it to "minecraft:*".

ChiriVulpes commented 6 years ago
  1. You want "drops": { "all": { "has_xp": true, "whitelisted_drops": [ "*" ], "blacklisted_drops": [] } } "all" = all entities, "summoned" = only entities summoned by the summoner, "spawned" = all entities that weren't summoned by the summoner.

I'll take a look at 2. and 3. tho.

I like the idea of only affecting vanilla creatures, I'll probably do that for next update. As for the moment, actually, it is a blacklist. Not providing any entries makes all creatures spawn like normal. If you change the *.*.* entry to *.*.minecraft:*, it should function as you want it to. This is likely what I'll change it to for next version.

Thyriel commented 6 years ago

With working like a whitelist atm i ment that it's somehow acting like that because of the wildcard entry at the end that forbids all spawns. With that entry all things that you want to be able to spawn naturally (or by a mechanic) you need to whitelist again with an entry, which somehow has a pretty wide effect on a lot of things (like goldfarm with nether portals not working, iron golem farm not working, and so on...)

I could fix Botania in the meantime by completely changing my creatures.json to that: (only effects overworld = sky world, and allows animals to spawn too) https://pastebin.com/4EjcU5Z9

Btw i really like the idea in the new update with profiles :) You should also do that with essences.json, that way you could maybe even deliver default configs for some popular mods that add creatures

ChiriVulpes commented 6 years ago

botania:* works for me... tested with the "pixie" created from elementium armor.

"botania:*": {
    "spawn_chance": 1.0,
    "drops": {
        "summoned": {
            "has_xp": true,
            "whitelisted_drops": [
                "*"
            ],
            "blacklisted_drops": []
        }
    }
}

I also looked into the botania source code, it looks like the gaia gaurdian is probably botania:doppleganger

Yes, at some point I'll add support for more mods, but it's much farther on my todo than other things. I don't play with many other mods, so it's a lot of work for something that doesn't have as much benefit as adding more content to my own mod.

Thyriel commented 6 years ago

Ok that's weird. When i tried "botania:*" it changed the file to .err and created a new empty file. Maybe i had something else broken in it

ChiriVulpes commented 6 years ago

If you send me the .err file I can figure out what went wrong with it

Thyriel commented 6 years ago

nvm, i deleted it already but thanks :)

ChiriVulpes commented 6 years ago

So I think all the issues in this have been addressed, correct? I made a separate issue, #32, for changing the default configs to minecraft:* instead of *. Besides that I think all this was just questions. I'm going to tentatively close this but feel free to comment again if I missed something.

Thyriel commented 6 years ago

yes, much thanks :)