Option for default of blacklist with configurable white list for blocks/fluids
Aedda opened this issue ยท 17 comments
One element of Mystcraft which always bothered me was its preference to white list all mod blocks and fluids, some of which can be extremely OP, some extremely laggy like the liquified glowstone. This was further compounded by the fact that mods may in the future include new fluid or block types which again would auto enable.
As I've just generated a test dimension in RFTools with a fluid I would rather not have in my worlds it reminded me of this issue.
If possible could we have the option to only allow blocks and fluids on a whitelist? This way if a mod added fluids or blocks at a later time, or new mods were added doing the same they would not end up generating as Dimlets as well as ensuring the install default is the most restricted contentwise and therefore the least likely to cause unexpected problems.
The Vanilla blocks and fluids should obviously be automatically white-listed as well as any added by RFTools.
No but in rftools 1.7.10 you also have the option to blacklist dimlets. Just not as flexible as in 1.10.2
Yeah I need that too or a way to disable dimlets. :I As for now I just made them expensive as hell but that isn't the right way :I
Disabling individual dimlets is already possible by setting dimlet ids to -1 in dimlets.cfg like this:
knowndimlets {
I:dimlet.Liquid.cryotheum=-1
I:dimlet.Material.tile.clayHardenedStained4=-1
}
Ah okay thanks, but that cfg is empty, so I can just copy the name from the main cfg in the dimlets.cfg? :D Thanks, that helps me a ALOT :D
Disabling individual dimlets is cumbersome when considering mod interactions.
Is there a way, or can you add a way, to blacklist an entire mod's materials?
I have RFTools and Minechem in a personal pack and I'm struggling to find useful dimlets. Minechem registers about 280 different chemical liquids, and RFTools happily generated dimlets based on these. I find vastly more liquid liquid Hypophosphite dimlets and similarly niche or useless materials than I do useful dimlets.
As a short-term fix, I can dump all the materials and script something to generate the right format for disabling all 280+ liquids, but not all users can.
McJty: Thanks for this great Mod, your time and effort are appreciated :)
For anyone else landing here like me, you can use '/rftdim dumprarity' and go pull all the potential dimlet keys out of the client log. They get spit out in the log in a seemingly random order with respect to ID, but sorting by ID should put all the liquids/materials/biomes together in groups. There's no indication of which mod a given material came from, but MineChem's materials are fairly easy to identify.
After building a dimlets.cfg using the keys I wanted to blacklist, I found they still existed in my single player world. There is a saves\WorldName\data\RFToolsDimletMapping.dat that did not automatically update with my changes. I deleted this file and the offending liquid dimlets were removed.
Existing dimlets will inherit the type of whatever new dimlet got their ID. If the ID is unused, the dimlet will show an error in-game, but appears otherwise functional.
So I disabled some liquids and just discovered a disabled liquid :I? Is it possible to discover them but not to use them or is this sort of a bug?
How did you discover it? Dimlets that were previously generated before being blacklisted will remain in the game. I need to check exactly what you can do with them though. In short, I need to work a bit more on the blacklisting system in general :-)
That is great and all but that is an entirely different request/issue to the one in the initial issue above. Which was a default of no blocks or fluids from any mod, and having to white list specific blocks and fluids before they could be used. I will try to explain why this is so very important...
Thermal Expansion did not have the laggy floaty Energized Glowstone fluid at one point. Then it did, a new fluid was added to an existing mod. Mystcraft handles this by automatically white-listing that fluid or block and tossing it in newly made worlds. There was nothing wrong with any of the other Thermal Expansion fluids, some were even fun in worlds. But Energized Glowstone broke worlds.
Turning off all Thermal Expansion fluids would make no sense, as only 1 fluid causes a problem. Expecting the user to know which fluid is crashing their world in order to blacklist it also makes no sense to me.
In my humble opinion the best way to handle new blocks and fluids is to add them to a config, and disable them from the start, then the user can turn them on if they feel safe doing so. This keeps inexperienced users from being exposed to those new fluids and blocks which may be untested as used by RFTools.
The same applies to installing a new mod, some of the fluids may be good, some may be bad. It is better to assume they are all bad, and allow them to be white listed than to assume they are all good and make players disable them manually which typically will not happen until after they have an unloadable world or are stuck in one due to lag.
So to recap, it would be very useful to have the option for all non-Vanilla and non-RFTools blocks/fluids to be disabled initially, for all mods. And then allow turning individual blocks, and fluids back on. In addition to allowing entire mods to be enabled. Basically exactly the opposite of yarrim's request.
I can consider that but it will not be default as that would not be a compatible change.
An option would be fine, could also make it a default option when creating the config for the first time. New users would have it the new way while existing users would not. So nothing should break.
That's also problematic since I recommend to people to delete configs when they upgrade RFTools :-)
So RFTools would then think it is a fresh world.