Skip to content

Setup GUI #70

Description

@ez-plugins

Feature request: Add setup GUI for configuring EzShops

Summary

Add an in-game setup GUI that helps server owners configure EzShops based on their server type and the shop features they want to enable.

The goal is to make the first setup easier, especially for server owners who do not want to manually edit multiple configuration files before using the plugin.

Problem

EzShops has multiple possible use cases, such as server shops, player shops, and economy-focused gameplay. However, different server types need different defaults.

For example:

  • SMP servers usually want simple shops and player shops.
  • Prison servers often need stronger economy/shop progression.
  • Some servers only want admin/server shops.
  • Some servers want player marketplaces or more advanced shop systems.

Right now, setup requires the user to understand the available features and configure them manually.

Proposed solution

Add a setup GUI that can be opened with a command, for example:

/ezshops setup

The GUI should guide the server owner through a basic setup flow.

Setup flow

1. Choose game mode

The first screen should ask what type of server EzShops is being configured for.

Possible options:

  • SMP
  • Prison
  • Factions
  • Skyblock
  • Survival
  • Custom / Advanced

Each game mode can apply different recommended defaults.

Example:

  • SMP: enable normal shops and player shops
  • Prison: enable stronger economy-focused shop defaults
  • Factions: optionally enable team/faction-related shop behavior later
  • Custom: let the user manually select everything

2. Choose main features

The second screen should allow the owner to choose which major EzShops features should be enabled.

Possible feature toggles:

  • Server Shops
  • Player Shops
  • Admin Shops
  • Buy/Sell Shops
  • Quick Sell
  • Dynamic Pricing
  • Daily Specials
  • Sign Shops
  • Marketplace / Player Marketplace
  • Stock Market
  • Team/Faction Shop Bonuses, if supported

Each option should clearly show whether it is enabled or disabled.

3. Apply recommended defaults

After choosing the game mode and features, EzShops should generate or update the relevant configuration values.

The setup should:

  • Enable selected features
  • Disable unselected features
  • Apply sane defaults based on the selected game mode
  • Avoid overwriting existing configuration without warning
  • Show a confirmation screen before saving

4. Confirmation screen

Before applying changes, show a final overview:

Game mode: SMP

Enabled features:

  • Server Shops
  • Player Shops
  • Quick Sell

Disabled features:

  • Stock Market
  • Daily Specials
  • Team Bonuses

Buttons:

  • Confirm & Save
  • Go Back
  • Cancel

Acceptance criteria

  • Add /ezshops setup command.
  • Add a setup GUI with a game mode selection screen.
  • Add a feature selection screen.
  • Add a confirmation screen before saving changes.
  • Save selected options to the relevant configuration files.
  • Do not silently overwrite existing custom config values.
  • Add clear messages after setup completion.
  • Add permissions for the setup command, for example ezshops.setup.
  • Add basic tests where possible for the setup flow/config generation logic.
  • Document the setup GUI in the README or docs.

Notes

This would make EzShops easier to install for new users and would reduce configuration mistakes. It also makes the plugin feel more polished and beginner-friendly.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions