diff --git a/src/main/java/world/bentobox/bentobox/api/commands/admin/team/AdminTeamAddCommand.java b/src/main/java/world/bentobox/bentobox/api/commands/admin/team/AdminTeamAddCommand.java index 29d3599d7..99c7b754b 100644 --- a/src/main/java/world/bentobox/bentobox/api/commands/admin/team/AdminTeamAddCommand.java +++ b/src/main/java/world/bentobox/bentobox/api/commands/admin/team/AdminTeamAddCommand.java @@ -54,7 +54,7 @@ public class AdminTeamAddCommand extends CompositeCommand { new IslandInfo(island).showMembers(user); return false; } - if (getIWM().getWorldSettings(getWorld()).isTeamMembersDropIsland() && island.inTeam(targetUUID)) { + if (getIWM().getWorldSettings(getWorld()).isDisallowTeamMemberIslands() && island.inTeam(targetUUID)) { user.sendMessage("commands.island.team.invite.errors.already-on-team"); return false; } diff --git a/src/main/java/world/bentobox/bentobox/api/commands/island/IslandCreateCommand.java b/src/main/java/world/bentobox/bentobox/api/commands/island/IslandCreateCommand.java index 15655d4ce..77d38cff3 100644 --- a/src/main/java/world/bentobox/bentobox/api/commands/island/IslandCreateCommand.java +++ b/src/main/java/world/bentobox/bentobox/api/commands/island/IslandCreateCommand.java @@ -51,7 +51,7 @@ public class IslandCreateCommand extends CompositeCommand { } } // Check if this player is on a team in this world - if (getIWM().getWorldSettings(getWorld()).isTeamMembersDropIsland() + if (getIWM().getWorldSettings(getWorld()).isDisallowTeamMemberIslands() && getIslands().inTeam(getWorld(), user.getUniqueId()) && island != null && !user.getUniqueId().equals(island.getOwner())) { // Team members who are not owners cannot make additional islands diff --git a/src/main/java/world/bentobox/bentobox/api/commands/island/team/IslandTeamInviteAcceptCommand.java b/src/main/java/world/bentobox/bentobox/api/commands/island/team/IslandTeamInviteAcceptCommand.java index 35c3188b3..101412fc7 100644 --- a/src/main/java/world/bentobox/bentobox/api/commands/island/team/IslandTeamInviteAcceptCommand.java +++ b/src/main/java/world/bentobox/bentobox/api/commands/island/team/IslandTeamInviteAcceptCommand.java @@ -61,7 +61,7 @@ public class IslandTeamInviteAcceptCommand extends ConfirmableCommand { } // Check if player is already in a team - if (getIWM().getWorldSettings(getWorld()).isTeamMembersDropIsland() + if (getIWM().getWorldSettings(getWorld()).isDisallowTeamMemberIslands() && getIslands().inTeam(getWorld(), playerUUID)) { user.sendMessage("commands.island.team.invite.errors.you-already-are-in-team"); return false; @@ -82,8 +82,14 @@ public class IslandTeamInviteAcceptCommand extends ConfirmableCommand { switch (invite.getType()) { case COOP -> askConfirmation(user, () -> acceptCoopInvite(user, invite)); case TRUST -> askConfirmation(user, () -> acceptTrustInvite(user, invite)); - default -> askConfirmation(user, user.getTranslation("commands.island.team.invite.accept.confirmation"), - () -> acceptTeamInvite(user, invite)); + default -> { + if (getIWM().getWorldSettings(getWorld()).isDisallowTeamMemberIslands()) { + askConfirmation(user, user.getTranslation("commands.island.team.invite.accept.confirmation"), + () -> acceptTeamInvite(user, invite)); + } else { + acceptTeamInvite(user, invite); + } + } } return true; } @@ -156,7 +162,7 @@ public class IslandTeamInviteAcceptCommand extends ConfirmableCommand { user.sendMessage("commands.island.team.invite.errors.island-is-full"); return; } - if (getIWM().getWorldSettings(getWorld()).isTeamMembersDropIsland()) { + if (getIWM().getWorldSettings(getWorld()).isDisallowTeamMemberIslands()) { // Remove the player's other islands getIslands().removePlayer(getWorld(), user.getUniqueId()); } @@ -166,7 +172,7 @@ public class IslandTeamInviteAcceptCommand extends ConfirmableCommand { getIslands().setJoinTeam(teamIsland, user.getUniqueId()); // Move player to team's island getIslands().homeTeleportAsync(getWorld(), user.getPlayer()).thenRun(() -> { - if (getIWM().getWorldSettings(getWorld()).isTeamMembersDropIsland()) { + if (getIWM().getWorldSettings(getWorld()).isDisallowTeamMemberIslands()) { // Delete the old islands islands.forEach(island -> getIslands().deleteIsland(island, true, user.getUniqueId())); } diff --git a/src/main/java/world/bentobox/bentobox/api/commands/island/team/IslandTeamInviteCommand.java b/src/main/java/world/bentobox/bentobox/api/commands/island/team/IslandTeamInviteCommand.java index 30cfbfea8..77a37dd30 100644 --- a/src/main/java/world/bentobox/bentobox/api/commands/island/team/IslandTeamInviteCommand.java +++ b/src/main/java/world/bentobox/bentobox/api/commands/island/team/IslandTeamInviteCommand.java @@ -105,7 +105,7 @@ public class IslandTeamInviteCommand extends CompositeCommand { } // Player cannot invite someone already on a team - if (getIWM().getWorldSettings(getWorld()).isTeamMembersDropIsland() + if (getIWM().getWorldSettings(getWorld()).isDisallowTeamMemberIslands() && getIslands().inTeam(getWorld(), invitedPlayerUUID)) { user.sendMessage("commands.island.team.invite.errors.already-on-team"); return false; @@ -171,7 +171,7 @@ public class IslandTeamInviteCommand extends CompositeCommand { // Send message to online player invitedPlayer.sendMessage("commands.island.team.invite.name-has-invited-you", TextVariables.NAME, user.getName(), TextVariables.DISPLAY_NAME, user.getDisplayName()); invitedPlayer.sendMessage("commands.island.team.invite.to-accept-or-reject", TextVariables.LABEL, getTopLabel()); - if (getIWM().getWorldSettings(getWorld()).isTeamMembersDropIsland() + if (getIWM().getWorldSettings(getWorld()).isDisallowTeamMemberIslands() && getIslands().hasIsland(getWorld(), invitedPlayer.getUniqueId())) { invitedPlayer.sendMessage("commands.island.team.invite.you-will-lose-your-island"); } diff --git a/src/main/java/world/bentobox/bentobox/api/configuration/WorldSettings.java b/src/main/java/world/bentobox/bentobox/api/configuration/WorldSettings.java index 4f964892c..5efd73f59 100644 --- a/src/main/java/world/bentobox/bentobox/api/configuration/WorldSettings.java +++ b/src/main/java/world/bentobox/bentobox/api/configuration/WorldSettings.java @@ -649,7 +649,7 @@ public interface WorldSettings extends ConfigObject { * Remove islands when players join a team and not allow players to have other islands if they are in a team. * @return true or false */ - default boolean isTeamMembersDropIsland() { + default boolean isDisallowTeamMemberIslands() { return true; } }