I managed to easily get the design and mocked up elements done well within the time limit. From there I jumped right into learning how to make the tables and lists actually load data from Citizens. This involved deciphering the loading process of the plugin. I soon found that I would be unable to use the default plugin and would need to rewrite a few parts. They mostly revolved around the relative folder the plugin was launched from. The things I did were:
- I copied and refactored a few functions to remove all mention of Entity and Server.
- I needed to create an abstracted implementation of World for Location.
- Since the npc data isn’t stored in some list in the plugin (it was a list/map of HumanNPC which extended Entity), I need to manage it in the editor.
One of the easiest things to get was the NPC types, as the loading of them (.jars) was completely separate from everything else.
My current state is learning about JTable’s and Focus Listeners so that I can have the NPCDetailsPanel show the details of the NPC. I’ve managed to load the NPC data and populate the index table.
So far I’ve spent 6 hours (2 for planning) on this project. Exploring new areas such as tables and it’s listeners is really eating away at the time spent as I don’t believe I’m doing the standard approach.