re-implement config changes for 1.20
wrincewind opened this issue ยท 9 comments
as discussed on discord, we could do with implementing more config changes from previous versions. Looking over the old ones, this list seems to be the most relevant. (Given tags and such, some of this can now be implemented in other, cleaner ways, but it's worth listing them here for completeness' sake; we can open up sub-issues as needed. For example the teleposer blacklist, i believe forge has some manner of 'don't teleport me please' blacklist that we can subscribe to)
- Teleposer blacklist (spawners should be allowed, as said this is likely an existing tag we should subscribe to - i believe Just Dire Things makes use of this, for example)
- ability to disable rituals
-
- maybe config files for each ritual so people (especially pack makers) can specify custom LP costs, will costs, etc?
- configurable values for base + awakened living armour points (currently 100/300)
- custom values for LP from sacrificing mobs (especially the dummy from MmmmMMMmMM!, should give 0 LP)
- generic sacrifice/self-sacrifice % buff/nerf
- whether to render beams between the routing nodes always, or only when holding the node router (or other routing items like filters, routers, etc, maybe?)
Probably worth checking older versions to see if i've missed anything of note.
Teleposer blacklist (spawners should be allowed, as said this is likely an existing tag we should subscribe to - i believe Just Dire Things makes use of this, for example)
Should probably just be a tag
custom values for LP from sacrificing mobs (especially the dummy from MmmmMMMmMM!, should give 0 LP)
This is extremely easy in Neoforge 1.21.x using Datamaps. Not sure how 1.20 implementation will look like
generic sacrifice/self-sacrifice % buff/nerf
Something like a global multiplier?
Custom LP sacrifice values is already a thing in 1.20 using a list of strings like "namespace:mob_type; 100" (minecraft as namespace can be omitted) so thats more a "add that dummy to it as a default entry so it doesnt default to 25"
And yes, wrince said on discord that it should be a global multiplier to buff or nerf either of the sacrifice ways globally
should probably be a tag
Agreed - mentioning it here more for completeness than anything
custom values for LP
Not sure when this config option was dropped; maybe look into how earlier versions handled it? I believe All The Mods 9 had this config set up for dummies though I forget what version that was in. (Is this already implemented in 1.20? best double-check, I might have forgotten to note that when I was compiling this list)
something like a global multiplier?
Yeah, or rather two - one for sacrifice, one for self sacrifice. If some pack wants to make one or the other impossible, or super cheap, it'd be fun to support that. I think 0x-100x are reasonable floors/ceilings for this? (well. Un-reasonable, but fun. You get what I mean. Or we just leave it without am upper limit and let people go nuts)
Right - not 100% what happens if it encounters a mod-name that doesn't exist, best be worth checking at least.
Following the code it just parses the name into a ResourceLocation and the number into an integer and stores it into a map, which it then asks for whatever is hit and either returns the saved integer or 25 if there is no entry for the mob.
So if something doesnt exist it shouldnt be bothering anyone either. Only issue could be if the ResourceLocation parsing throws.
I was just being complete, referencing everything i found in older versions. if it's in, great, one less thing to worry about :p