ITADN

Admin team kick on multi-island players kicks from all islands at once

#2963Opentastybento 创建于 2026-05-05
Type: Bug
T
tastybentocommented
Spun off from #2908 (item 2). ### Background `disallow-team-member-islands: false` lets a player be a member of multiple islands. When an admin runs `/bbox team kick <player>`, the current behaviour in `AdminTeamKickCommand` (since the multi-island rework) iterates `getIslands().getIslands(world, target)` and removes the player from **every** island they are a member of. See `src/main/java/world/bentobox/bentobox/api/commands/admin/team/AdminTeamKickCommand.java` lines 61–82. ### Problem - The original report in #2908 was that admin kick refused to kick because it could not disambiguate which island. The current code side-steps that by kicking from all of them, which is a sharper tool than most admins expect. - An admin who wants to kick a member from one specific island has no way to scope the action. - The success message `commands.admin.team.kick.success-all` is shown for what looks to the admin like a single-target operation. ### Proposal Default to the single island the admin is standing on (`getIslandAt(user.getLocation())`), and add either: 1. an explicit island-uuid argument: `/bbox team kick <player> [island-uuid]`, or 2. an `--all` flag to opt into the current sweep-all behaviour. Either form should keep the per-island `success` message for single-island kicks and reserve `success-all` for the explicit broadcast case. ### Acceptance - Admin standing on island A kicking a player who is also on island B only removes them from A. - An explicit form exists for the legacy "kick from everywhere" behaviour, with a clear confirmation/message. - Tab completion hints at the optional island selector when the target is on more than one island.
0 条评论