Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
2 tasks done
RedstoneFuture opened this issue Jun 5, 2024 · 1 comment
Open
2 tasks done
Assignees
Labels
Under investigation The issue is being investigated

Comments

@RedstoneFuture
Copy link

RedstoneFuture commented Jun 5, 2024

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:

  • the tier system is dynamic as far as I can see and does not make a binary distinction between "can build" and "can't build"
  • the team system with its behaviors must also be considered somehow

Describe alternatives you've considered.

tbd.

Agreements

  • I have searched for and ensured there isn't already an open issue regarding this.
  • I have ensured the feature I'm requesting isn't already in the latest supported BentoBox build or Addons.

Other

grafik

@tastybento
Copy link
Member

I'm shifting this to the InvSwitcher project.

So, just to clarify:

  • If a user switches between islands and they are associated with that island then their inventory will switch per island.
  • If a user visits an island then their inventory won't.

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

  • What rank gets a dedicated inventory per island? Coops and above? Or Members and above only?
  • When does the inventory change? With skyblock, it's teleporting potentially, but with AcidIsland or with a SkyBlock world where islands can be bridged, I assume the switch will occur at the border?
  • How about worn items? Would their armor, etc. be switched out? It would just magically disappear/switch?
  • Right now, exp, hunger, etc. are switched, would these be switched if you are in the same world? I'd recommend not.

Let's try and hammer these out.

@tastybento tastybento self-assigned this Jun 5, 2024
@tastybento tastybento added the Under investigation The issue is being investigated label Jun 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Under investigation The issue is being investigated
Projects
None yet
Development

No branches or pull requests

2 participants