BentoBoxWorld / InvSwitcher

World inventory switcher. Handles health, exp, advancements, inventory, etc.
Eclipse Public License 2.0
2 stars 5 forks source link

Player-Attribute Management (Inventory, Health, Hunger etc.) per Island #27

Open RedstoneFuture opened 1 month ago

RedstoneFuture commented 1 month ago

Is your feature request related to a problem?

I use the BSkyBlock Add-On, in which we only have the option to "reset" player attributes (inventory, ...) for island-joining or island-leaving. However, resetting only makes sense to me if the player does not switch between the islands normally or gets another island, but only if he really resets his island. I think it would make sense to have one inventory per island. This could also be useful for other attributes (Health, Hunger, EXP, Enderchest).

Currrent config snipped from BSkyBlock:

  reset:
    # How many resets a player is allowed (manage with /bsbadmin reset add/remove/reset/set command)
    # Value of -1 means unlimited, 0 means hardcore - no resets.
    # Example, 2 resets means they get 2 resets or 3 islands lifetime
    reset-limit: -1
    # Kicked or leaving players lose resets
    # Players who leave a team will lose an island reset chance
    # If a player has zero resets left and leaves a team, they cannot make a new
    # island by themselves and can only join a team.
    # Leave this true to avoid players exploiting free islands
    leavers-lose-reset: false
    # Allow kicked players to keep their inventory.
    # Overrides the on-leave inventory reset for kicked players.
    kicked-keep-inventory: false
    on-join:
      # What the addon should reset when the player joins or creates an island
      # Reset Money - if this is true, will reset the player's money to the starting money
      # Recommendation is that this is set to true, but if you run multi-worlds
      # make sure your economy handles multi-worlds too.
      money: true
      # Reset inventory - if true, the player's inventory will be cleared.
      # Note: if you have MultiInv running or a similar inventory control plugin, that
      # plugin may still reset the inventory when the world changes.
      inventory: true
      # Reset health - if true, the player's health will be reset.
      # Added since 1.8.0.
      health: true
      # Reset hunger - if true, the player's hunger will be reset.
      # Added since 1.8.0.
      hunger: true
      # Reset experience points - if true, the player's experience will be reset.
      # Added since 1.8.0.
      exp: true
      # Reset Ender Chest - if true, the player's Ender Chest will be cleared.
      ender-chest: true
    on-leave:
      # What the plugin should reset when the player leaves or is kicked from an island
      # Reset Money - if this is true, will reset the player's money to the starting money
      # Recommendation is that this is set to true, but if you run multi-worlds
      # make sure your economy handles multi-worlds too.
      money: false
      # Reset inventory - if true, the player's inventory will be cleared.
      # Note: if you have MultiInv running or a similar inventory control plugin, that
      # plugin may still reset the inventory when the world changes.
      inventory: false
      # Reset health - if true, the player's health will be reset.
      # Added since 1.8.0.
      health: false
      # Reset hunger - if true, the player's hunger will be reset.
      # Added since 1.8.0.
      hunger: false
      # Reset experience - if true, the player's experience will be reset.
      # Added since 1.8.0.
      exp: false
      # Reset Ender Chest - if true, the player's Ender Chest will be cleared.
      ender-chest: false

Describe the solution you'd like.

I suggest for the improvement an optional player-attribute separation per island (also if it's in the same world!) in which you can build (most tiers). When players visit other islands, the inventory does not have to change, which makes trading possible. However, when I switch between the islands where I build, there should be no reset, but an optional inventory switch should be possible.

Attention: This is associated with corresponding effort and must of course be reconsidered. Practical experience would be necessary here in order to validate what should be configurable and what can be built in as a fixed behavior.

Problems / discussion points:

Describe alternatives you've considered.

tbd.

Agreements

Other

grafik

tastybento commented 1 month ago

I'm shifting this to the InvSwitcher project.

So, just to clarify:

There are some edge cases - what do you think about these:

Let's try and hammer these out.