Skip to content

Implement Flatpack Creation and Placement in POHs

Roderik requested to merge roderik_7/test-rs-server:FlatpackFurniturePOH into master

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

Merge request reports