Quests/Persistent data?

Figure out what you need first.

And initially, don’t worry about your storage structure. Use something else to input static data in your initial stages, rather than loading during all of the testing. Once you’re fairly sure what you need, then look at the sort of storage structure you’re going to use.

As for the structure, how you’re reading/filling in your data should not be causing that large of an effect. Except that you’ll need to have some form of loading order to ensure that you can get all of your references straight before you start filling in stuff.

That makes sense.

Should it be wise to have a QuestManager clasd to do all the checking once the data is in? I need something in Java to actually check things globally like if I meet the requirements to start the quest. Basically a system that looks around and says, “Hey, Player is talking with the npc that starts quest x. Has he started it already or should it be started now? Does he even meet the requirements? Is he just finishing now? How do I even know?”

Basically a system that takes this quest data and is able to link it with the game world and player’s status.