Skip to content

Feature: Default Home Player Setting for /home #6

@derrickmehaffy

Description

@derrickmehaffy

Scope

Allow players to designate one of their homes as the "default" home, which is used when they type /home without specifying a home name. Currently /home without a name always teleports to the home named "home".

Implementation Details

  • Add a per-player setting to store the default home name (persisted in player home data)
  • When a player runs /home without arguments:
    1. Check if the player has a configured default home
    2. If yes, teleport to that home
    3. If no (or the default home was deleted), fall back to the home named "home"
    4. If neither exists, show an error message suggesting they set a default
  • Add a way to set the default home:
    • GUI: Add a "Set as Default" button on the Home Detail page (star icon or similar)
    • Command: /homes default <name> to set via command
  • Visual indicator in the Homes List GUI showing which home is the default (e.g., star icon, gold highlight, or "[Default]" label)
  • The default setting should survive home renames

Risks and Alternatives

  • Risk: Migration concern — existing players expect /home to go to "home". The fallback to "home" named home preserves backward compatibility.
  • Risk: If the default home is deleted, need graceful fallback. Already handled by falling back to "home" named home.
  • Alternative: Could use /home 1 (numeric index) instead of named defaults. Less intuitive.
  • Alternative: Could make /home always open the GUI instead. Different UX philosophy — some players prefer quick teleport.

References and Media

  • Current /home command implementation: HomeCommand.java
  • Home data model: data/Home.java
  • Player homes storage: storage/json/JsonHomeStorage.java

Confirmation

  • I have searched existing issues to ensure this is not a duplicate
  • I have considered the scope and impact of this feature

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions