Comments (3)
I think the least intrusive solution would be to have a JSON property that contains the full set of default blacklisted items that was known by the last version to write the config. If that property is missing a default blacklisted item, then add that item to the user's blacklist.
So for example, if a user has this config.json
(note that mantis_blade
is missing):
{
"rollDownWeaponBlacklist": {
"projectile_launcher": true
},
"rollDownWeaponDefaultBlacklist": {
"projectile_launcher": true
},
"rollDownDelay": 1,
"rollDownItemBlacklist": {
"outfit_01__q305__hazmat_": true
},
"rollDownItemDefaultBlacklist": {
"outfit_01__q305__hazmat_": true
},
"autoRoll": true
}
And init.lua
has this:
function BetterSleeves:ResetConfig()
self.autoRoll = true
self.rollDownDelay = 1.0
self.rollDownItemDefaultBlacklist = {
["outfit_01__q305__hazmat_"] = true,
}
self.rollDownItemBlacklist = self.rollDownItemDefaultBlacklist
self.rollDownWeaponDefaultBlacklist = {
["mantis_blade"] = true,
["projectile_launcher"] = true,
}
self.rollDownWeaponBlacklist = self.rollDownWeaponDefaultBlacklist
end
You can identify that the user's rollDownWeaponDefaultBlacklist
does not have mantis_blade
in it, and therefore it needs to be added to their rollDownItemBlacklist
.
from cp77-bettersleeves.
Sorry I didn't respond earlier. I have already thought of a possible solution, which is adding a version to the config file. That will allow me to make even bigger changes to the config file and still being able to migrate from older versions. Thanks for the tip though
from cp77-bettersleeves.
Should be fixed with 713ca30
from cp77-bettersleeves.
Related Issues (2)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cp77-bettersleeves.