BentoBoxWorld / BentoBox

Expandable Minecraft server plugin for island-type games like SkyBlock or AcidIsland.
https://bentobox.world
Eclipse Public License 2.0
334 stars 136 forks source link

/is expel does not actually expel players. #1376

Open partydev opened 4 years ago

partydev commented 4 years ago

Description

Describe the bug

/is expel sends both players a message that the player has been expelled, but that player is not teleported anywhere. There is no spawn set and the player does not have an island.

Steps to reproduce the behavior

  1. Do not set an island spawn
  2. Go onto someone else's island
  3. Have that person expel you
  4. You will not be moved

    Expected behavior

    Expelled player gets teleported away.

    Environment

BentoBox Version (Mandatory)
[11:56:20 INFO]: Running Invalid 1.15.2.
[11:56:20 INFO]: BentoBox version: 1.13.1
[11:56:20 INFO]: Database: MARIADB
[11:56:20 INFO]: Loaded Game Worlds:
[11:56:20 INFO]: skyblock (Skyblock): Overworld
[11:56:20 INFO]: Loaded Addons:
[11:56:20 INFO]: Biomes 1.7.0 (ENABLED)
[11:56:20 INFO]: BSkyBlock 1.13.1 (ENABLED)
[11:56:20 INFO]: ControlPanel 1.7.0 (ENABLED)
[11:56:20 INFO]: DimensionalTrees 1.6.0 (ENABLED)
[11:56:20 INFO]: IslandFly 1.7.3 (ENABLED)
[11:56:20 INFO]: Level 2.0.0 (ENABLED)
[11:56:20 INFO]: Limits 1.12.2 (ENABLED)
[11:56:20 INFO]: MagicCobblestoneGenerator 1.7.0.2 (ENABLED)
[11:56:20 INFO]: TwerkingForTrees 1.3.0 (ENABLED)
[11:56:20 INFO]: Warps 1.9.3 (ENABLED)

Running Tuinity-106

tastybento commented 4 years ago

This is as expected. If the player has no island, and there is no spawn set, then there is nowhere to send the player.

Poslovitch commented 4 years ago

This is as expected. If the player has no island, and there is no spawn set, then there is nowhere to send the player.

That is wrong. If the player has no island, it also tries to create one for it.

https://github.com/BentoBoxWorld/BentoBox/blob/d6b2a88b32c3cd4c745f9328cacada40558b85e2/src/main/java/world/bentobox/bentobox/api/commands/island/IslandExpelCommand.java#L126-L135

That seemingly doesn't work.

We could also add some code to execute "/spawn" and eventually a config option for this.

tastybento commented 4 years ago

I stand corrected. I forgot that was done. In ASkyBlock it did /spawn. I'll check if that island creation thing is working. Not sure if this is the right approach though, maybe just kill the player?

BONNe commented 4 years ago

I would suggest config option... like it is with the user command.

Just a command what will happen when player is expelled.

Poslovitch commented 4 years ago

Agreed.

partydev commented 4 years ago

The issue is that we have created on spawn on a separate world, so we cannot create an /is spawn. We would prefer they just issue a specified command as @BONNe said. Provides more flexibility.

tastybento commented 4 years ago

Noted.