mirror of
https://github.com/BentoBoxWorld/BentoBox.git
synced 2025-02-20 06:11:37 +01:00
Fixes coop and trust invites when team invites are not allowed
If a member or sub-owner has coop or trust invite capability and not team invite rank, and confirm invites is on, then the invites were not working. Fixes https://github.com/BentoBoxWorld/BentoBox/issues/1452
This commit is contained in:
parent
0f7ca6ac60
commit
23522a297f
@ -50,16 +50,17 @@ public class IslandTeamInviteAcceptCommand extends ConfirmableCommand {
|
|||||||
user.sendMessage("commands.island.team.invite.errors.invalid-invite");
|
user.sendMessage("commands.island.team.invite.errors.invalid-invite");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
// Check rank to of inviter
|
|
||||||
Island island = getIslands().getIsland(getWorld(), prospectiveOwnerUUID);
|
|
||||||
String inviteUsage = getParent().getSubCommand("invite").map(CompositeCommand::getUsage).orElse("");
|
|
||||||
if (island == null || island.getRank(prospectiveOwnerUUID) < island.getRankCommand(inviteUsage)) {
|
|
||||||
user.sendMessage("commands.island.team.invite.errors.invalid-invite");
|
|
||||||
itc.removeInvite(playerUUID);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
Invite invite = itc.getInvite(playerUUID);
|
Invite invite = itc.getInvite(playerUUID);
|
||||||
if (invite.getType().equals(Type.TEAM)) {
|
if (invite.getType().equals(Type.TEAM)) {
|
||||||
|
// Check rank to of inviter
|
||||||
|
Island island = getIslands().getIsland(getWorld(), prospectiveOwnerUUID);
|
||||||
|
String inviteUsage = getParent().getSubCommand("invite").map(CompositeCommand::getUsage).orElse("");
|
||||||
|
if (island == null || island.getRank(prospectiveOwnerUUID) < island.getRankCommand(inviteUsage)) {
|
||||||
|
user.sendMessage("commands.island.team.invite.errors.invalid-invite");
|
||||||
|
itc.removeInvite(playerUUID);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
// Check if player is already in a team
|
// Check if player is already in a team
|
||||||
if (getIslands().inTeam(getWorld(), playerUUID)) {
|
if (getIslands().inTeam(getWorld(), playerUUID)) {
|
||||||
user.sendMessage("commands.island.team.invite.errors.you-already-are-in-team");
|
user.sendMessage("commands.island.team.invite.errors.you-already-are-in-team");
|
||||||
@ -82,10 +83,10 @@ public class IslandTeamInviteAcceptCommand extends ConfirmableCommand {
|
|||||||
// Get the invite
|
// Get the invite
|
||||||
Invite invite = itc.getInvite(playerUUID);
|
Invite invite = itc.getInvite(playerUUID);
|
||||||
switch (invite.getType()) {
|
switch (invite.getType()) {
|
||||||
case COOP -> askConfirmation(user, () -> acceptCoopInvite(user, invite));
|
case COOP -> askConfirmation(user, () -> acceptCoopInvite(user, invite));
|
||||||
case TRUST -> askConfirmation(user, () -> acceptTrustInvite(user, invite));
|
case TRUST -> askConfirmation(user, () -> acceptTrustInvite(user, invite));
|
||||||
default -> askConfirmation(user, user.getTranslation("commands.island.team.invite.accept.confirmation"),
|
default -> askConfirmation(user, user.getTranslation("commands.island.team.invite.accept.confirmation"),
|
||||||
() -> acceptTeamInvite(user, invite));
|
() -> acceptTeamInvite(user, invite));
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user