Implement Flatpack Creation and Placement in POHs
What has been done in this MR?
- Implemented the ability for players to make flatpack furniture on the workbench in their POH.
- Players can make furniture flatpacks on their workbench with the authentic interface and get cons. exp.
- Players can use the flatpacks on corresponding building hotspots to place the furniture but without getting exp.
- Fixed a bug that showed the wrong names for tables when building dining room tables
- Added a dev option to teleport to the players house using "::to house" or "::to poh" (Couldn't find an existing command for this)
What should testers check?
- Check that workbench caps the flatpacks that can be created to the corresponding max cons level for said workbench
- ie. the most basic workbench/table can only make flatpacks for furniture up to lvl 20, the next one up till cons. lvl 40, etc..
- Check that the workbench produces the correct flatpack for selected furniture.
- Check that flatpack items can only be built in the correct hotspot. ie. no placing a table on a chair hotspot.
- Check that correct resources are removed when making flatpacks.
- Check no resources besides the flatpack are removed and no exp rewarded when placing a flatpack in the poh
- Check that after having made flatpacks players can build normally, ie flatpack logic is removed and players can build normally when building on a hotspot after having made flatpacks (in a single login session).
- Check that no other game breaking behaviour is introduced that I havn't thought of ;)
Implementation Method
The implementation is not as elegant as it could be. However, with most of the construction skill being written in java, I figure it will be remade in Kotlin at some point anyway. If I need to make a separate method for creating flatpacks that is fully independent from the existing construction code, I could... Let me know if anyone thinks that is REALLY necessary though. (In my own testing everything works smoothly and as desired with this implementation.)-
I have tested these changes thoroughly. -
I used the relevant Zaros tool for any JSON edits where possible, and have attached screenshots of any changes. No JSON Edits