when saving to the database, only save non-default values. this reduces the size of the questbook significantly - reportedly around 50% by both Nomifactory and DJ2.
deprecate NBTReplaceUtil and add NBTUtil, which simplifies code related to these operations.
fix an error where trying to load quests from the new database would error due to simply not clearing current quests (this used to happen when calling QuestDatabase.INSTANCE.readFromNBT(nbt1.getTagList("questDatabase", 10), false);, with the false causes a QuestDatabase.INSTANCE.reset(); to be called. however, due to breaking the database into separate files, this method is no longer called, and reset didnt get copied over).
similarly, readded questID, lineID, and order tags to the quest database and questline when running save, as those are called via the writeToNBT methods, which are unused in this context (only used in saveLegacy).
update the questbook format from 2.0.0 to 2.1.0.
difference from #109:
expanded significantly on what NBTUtil does.
added more default things, fixed a few situations where NBT data tags were changed.
apply reduction to saving and loading in the new save/load layout.
changes in this PR:
NBTReplaceUtil
and addNBTUtil
, which simplifies code related to these operations.QuestDatabase.INSTANCE.readFromNBT(nbt1.getTagList("questDatabase", 10), false);
, with thefalse
causes aQuestDatabase.INSTANCE.reset();
to be called. however, due to breaking the database into separate files, this method is no longer called, and reset didnt get copied over).questID
,lineID
, andorder
tags to the quest database and questline when runningsave
, as those are called via thewriteToNBT
methods, which are unused in this context (only used insaveLegacy
).2.0.0
to2.1.0
.difference from #109:
NBTUtil
does.supersedes #109