Hi all, I just started developing a new plugin called "seasons" that works a lot like the battle pass idea that has been implemented into a lot of games recently. I have a general idea of how I am going to structure the plugin, but I thought I would ask if anyone has any ideas on how to most effectively structure this. A tier can be reached only after completing the tier before it. This is done by completing a challenge like 'kill x mobs' or 'vote x times', stuff like that I have a 'Tier' class which defines the parameters for a single tier: reward, reward type, and the challenge required to reach the tier. I also have a tierHandler class which takes all the data from the 'Tier' section of my config and instantiates each tier defined in the config and puts them into an arrayList. This is the general structure of my config file: Spoiler: Config.yml Code (Text): Tiers: 0: challenge: - type: 'KILLS' - entity: 'PIG' - count: '10' reward: - Type: 'BLOCK' - Data: 'STONE' 1: next tier and so on... I guess my most pressing question is what is the best way to parse all of this data into a single tier class?