-
Notifications
You must be signed in to change notification settings - Fork 0
Description
This issue is more of a roadmap for some steady changes for DwarfCraft to come and will evolve over time as work starts.
The goal is to modernize DwarfCraft in terms of code style, Minecraft features/changes, and removing old technical debt. This will be no easy task and will likely be outside the scope of the 1.20 milestone and will probably be pushed further out as the scope of work increases.
I began some of this work with DwarfCraft 4 by improving some data structures with a massive push towards JSON data files for skills and effects instead of tables baked into a database. I would like to make more changes to the DwarfCraft database and find more ways to discourage editing of the database directly. This was one of the reasons behind the push of data files. While having the data files is cleaner and more user-friendly it also separates them from the database which should be read-only.
In terms of technical debt, DwarfCraft carries a lot of legacy code in terms of the way it calculates the result of effects. It's super unclear when editing effects how it will affect the leveling of the actual skill and what all the different variables are when defining them. This needs to be improved and give more control over how you can define an effect.
Finally, with these improvements, I hope it will be more trivial to update skills and effects allowing us the update a lot of outdated skills and add a few new ones with the changes that Minecraft has undergone over the years.
- Discontinue dwarfcraft.db; move player and trainer data to json files
- Remove sqlite and mysql support and dependencies
- Remove trainer deposit cap of three deposits