Move.
This commit is contained in:
parent
461585aebd
commit
fd8c48bbd6
|
@ -3,7 +3,7 @@ package us.tastybento.bskyblock.commands;
|
|||
import org.bukkit.command.CommandSender;
|
||||
import us.tastybento.bskyblock.api.commands.CompositeCommand;
|
||||
import us.tastybento.bskyblock.commands.island.IslandAboutCommand;
|
||||
import us.tastybento.bskyblock.commands.island.IslandTeamCommand;
|
||||
import us.tastybento.bskyblock.commands.island.teams.IslandTeamCommand;
|
||||
import us.tastybento.bskyblock.config.Settings;
|
||||
|
||||
public class IslandCommand extends CompositeCommand {
|
||||
|
|
|
@ -1,18 +1,58 @@
|
|||
package us.tastybento.bskyblock.commands.island;
|
||||
package us.tastybento.bskyblock.commands.island.teams;
|
||||
|
||||
import java.util.Calendar;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import com.google.common.collect.BiMap;
|
||||
import com.google.common.collect.HashBiMap;
|
||||
|
||||
import us.tastybento.bskyblock.api.commands.CommandArgument;
|
||||
import us.tastybento.bskyblock.config.Settings;
|
||||
import us.tastybento.bskyblock.util.VaultHelper;
|
||||
|
||||
public abstract class AbstractIslandTeamCommandArgument extends CommandArgument {
|
||||
|
||||
protected final static boolean DEBUG = false;
|
||||
protected BiMap<UUID, UUID> inviteList = HashBiMap.create();
|
||||
// The time a player has to wait until they can reset their island again
|
||||
protected HashMap<UUID, Long> resetWaitTime = new HashMap<>();
|
||||
protected Set<UUID> leavingPlayers = new HashSet<>();
|
||||
protected Set<UUID> kickingPlayers = new HashSet<>();
|
||||
protected CommandSender sender;
|
||||
protected Player player;
|
||||
protected UUID playerUUID;
|
||||
|
||||
public AbstractIslandTeamCommandArgument(String label, String... aliases) {
|
||||
super(label,aliases);
|
||||
}
|
||||
|
||||
protected boolean checkTeamPerm() {
|
||||
if (!isPlayer(sender)) {
|
||||
sender.sendMessage(getLocale(sender).get("general.errors.use-in-game"));
|
||||
return false;
|
||||
}
|
||||
player = (Player)sender;
|
||||
playerUUID = player.getUniqueId();
|
||||
if (!VaultHelper.hasPerm(player, Settings.PERMPREFIX + "team")) {
|
||||
sender.sendMessage(ChatColor.RED + getLocale(sender).get("general.errors.no-permission"));
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets a timeout for player into the Hashmap resetWaitTime
|
||||
*
|
||||
* @param player
|
||||
*/
|
||||
protected void setResetWaitTime(final Player player) {
|
||||
resetWaitTime.put(player.getUniqueId(), Calendar.getInstance().getTimeInMillis() + Settings.resetWait * 1000);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,105 @@
|
|||
package us.tastybento.bskyblock.commands.island;
|
||||
package us.tastybento.bskyblock.commands.island.teams;
|
||||
|
||||
public class IslandInviteAcceptCommand {
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
import us.tastybento.bskyblock.api.events.team.TeamEvent;
|
||||
import us.tastybento.bskyblock.api.events.team.TeamEvent.TeamReason;
|
||||
import us.tastybento.bskyblock.config.Settings;
|
||||
import us.tastybento.bskyblock.database.objects.Island;
|
||||
|
||||
public class IslandInviteAcceptCommand extends AbstractIslandTeamCommandArgument {
|
||||
|
||||
public IslandInviteAcceptCommand() {
|
||||
super("accept");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean execute(CommandSender sender, String[] args) {
|
||||
// Check team perm and get variables set
|
||||
if (!checkTeamPerm()) return true;
|
||||
if(!inviteList.containsKey(playerUUID))
|
||||
return true;
|
||||
// Check if player has been invited
|
||||
if (!inviteList.containsKey(playerUUID)) {
|
||||
player.sendMessage(ChatColor.RED + getLocale(sender).get("invite.error.NoOneInvitedYou"));
|
||||
return true;
|
||||
}
|
||||
// Check if player is already in a team
|
||||
if (getPlayers().inTeam(playerUUID)) {
|
||||
player.sendMessage(ChatColor.RED + getLocale(sender).get("invite.error.YouAreAlreadyOnATeam"));
|
||||
return true;
|
||||
}
|
||||
// Get the team leader
|
||||
UUID prospectiveTeamLeaderUUID = inviteList.get(playerUUID);
|
||||
if (!getIslands().hasIsland(prospectiveTeamLeaderUUID)) {
|
||||
player.sendMessage(ChatColor.RED + getLocale(sender).get("invite.error.InvalidInvite"));
|
||||
inviteList.remove(playerUUID);
|
||||
return true;
|
||||
}
|
||||
if (DEBUG)
|
||||
plugin.getLogger().info("DEBUG: Invite is valid");
|
||||
// Fire event so add-ons can run commands, etc.
|
||||
TeamEvent event = TeamEvent.builder()
|
||||
.island(getIslands()
|
||||
.getIsland(prospectiveTeamLeaderUUID))
|
||||
.reason(TeamReason.JOIN)
|
||||
.involvedPlayer(playerUUID)
|
||||
.build();
|
||||
plugin.getServer().getPluginManager().callEvent(event);
|
||||
if (event.isCancelled()) return true;
|
||||
// Remove the invite
|
||||
if (DEBUG)
|
||||
plugin.getLogger().info("DEBUG: Removing player from invite list");
|
||||
inviteList.remove(playerUUID);
|
||||
// Put player into Spectator mode
|
||||
player.setGameMode(GameMode.SPECTATOR);
|
||||
// Get the player's island - may be null if the player has no island
|
||||
Island island = getIslands().getIsland(playerUUID);
|
||||
// Get the team's island
|
||||
Island teamIsland = getIslands().getIsland(prospectiveTeamLeaderUUID);
|
||||
// Clear the player's inventory
|
||||
player.getInventory().clear();
|
||||
// Move player to team's island
|
||||
Location newHome = getIslands().getSafeHomeLocation(prospectiveTeamLeaderUUID, 1);
|
||||
player.teleport(newHome);
|
||||
// Remove player as owner of the old island
|
||||
getIslands().removePlayer(playerUUID);
|
||||
// Add the player as a team member of the new island
|
||||
getIslands().setJoinTeam(teamIsland, playerUUID);
|
||||
// Set the player's home
|
||||
getPlayers().setHomeLocation(playerUUID, player.getLocation());
|
||||
// Delete the old island
|
||||
getIslands().deleteIsland(island, true);
|
||||
// Set the cooldown
|
||||
setResetWaitTime(player);
|
||||
// Reset deaths
|
||||
if (Settings.teamJoinDeathReset) {
|
||||
getPlayers().setDeaths(playerUUID, 0);
|
||||
}
|
||||
// Put player back into normal mode
|
||||
player.setGameMode(GameMode.SURVIVAL);
|
||||
|
||||
player.sendMessage(ChatColor.GREEN + getLocale(sender).get("invite.youHaveJoinedAnIsland").replace("[label]", Settings.ISLANDCOMMAND));
|
||||
|
||||
if (plugin.getServer().getPlayer(inviteList.get(playerUUID)) != null) {
|
||||
plugin.getServer().getPlayer(inviteList.get(playerUUID)).sendMessage(
|
||||
ChatColor.GREEN + getLocale(sender).get("invite.hasJoinedYourIsland").replace("[name]", player.getName()));
|
||||
}
|
||||
getIslands().save(false);
|
||||
if (DEBUG)
|
||||
plugin.getLogger().info("DEBUG: After save " + getIslands().getIsland(prospectiveTeamLeaderUUID).getMembers().toString());
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Set<String> tabComplete(CommandSender sender, String[] args) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,55 @@
|
|||
package us.tastybento.bskyblock.commands.island;
|
||||
package us.tastybento.bskyblock.commands.island.teams;
|
||||
|
||||
public class IslandInviteRejectCommand {
|
||||
import java.util.Set;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
import us.tastybento.bskyblock.api.events.team.TeamEvent;
|
||||
import us.tastybento.bskyblock.api.events.team.TeamEvent.TeamReason;
|
||||
|
||||
public class IslandInviteRejectCommand extends AbstractIslandTeamCommandArgument {
|
||||
|
||||
public IslandInviteRejectCommand() {
|
||||
super("reject");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean execute(CommandSender sender, String[] args) {
|
||||
// Check team perm and get variables set
|
||||
if (!checkTeamPerm()) return true;
|
||||
// Reject /island reject
|
||||
if (inviteList.containsKey(playerUUID)) {
|
||||
// Fire event so add-ons can run commands, etc.
|
||||
TeamEvent event = TeamEvent.builder()
|
||||
.island(getIslands()
|
||||
.getIsland(inviteList.get(playerUUID)))
|
||||
.reason(TeamReason.REJECT)
|
||||
.involvedPlayer(playerUUID)
|
||||
.build();
|
||||
plugin.getServer().getPluginManager().callEvent(event);
|
||||
if (event.isCancelled()) return true;
|
||||
|
||||
// Remove this player from the global invite list
|
||||
inviteList.remove(player.getUniqueId());
|
||||
player.sendMessage(ChatColor.GREEN + getLocale(playerUUID).get("reject.youHaveRejectedInvitation"));
|
||||
// If the leader is online tell them directly
|
||||
// about the rejection
|
||||
if (Bukkit.getPlayer(inviteList.get(playerUUID)) != null) {
|
||||
Bukkit.getPlayer(inviteList.get(playerUUID)).sendMessage(
|
||||
ChatColor.RED + getLocale(playerUUID).get("reject.nameHasRejectedInvite").replace("[name]", player.getName()));
|
||||
}
|
||||
|
||||
} else {
|
||||
// Someone typed /island reject and had not been invited
|
||||
player.sendMessage(ChatColor.RED + getLocale(playerUUID).get("reject.youHaveNotBeenInvited"));
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<String> tabComplete(CommandSender sender, String[] args) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,25 @@
|
|||
package us.tastybento.bskyblock.commands.island;
|
||||
package us.tastybento.bskyblock.commands.island.teams;
|
||||
|
||||
public class IslandLeaveCommand {
|
||||
}
|
||||
import java.util.Set;
|
||||
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
public class IslandLeaveCommand extends AbstractIslandTeamCommandArgument {
|
||||
|
||||
public IslandLeaveCommand(String label, String[] aliases) {
|
||||
super(label, aliases);
|
||||
// TODO Auto-generated constructor stub
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean execute(CommandSender sender, String[] args) {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<String> tabComplete(CommandSender sender, String[] args) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
package us.tastybento.bskyblock.commands.island;
|
||||
package us.tastybento.bskyblock.commands.island.teams;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
|
@ -6,16 +6,13 @@ import java.util.UUID;
|
|||
import org.apache.commons.lang.math.NumberUtils;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.permissions.PermissionAttachmentInfo;
|
||||
|
||||
import us.tastybento.bskyblock.api.commands.CommandArgument;
|
||||
import us.tastybento.bskyblock.api.events.team.TeamEvent;
|
||||
import us.tastybento.bskyblock.api.events.team.TeamEvent.TeamReason;
|
||||
import us.tastybento.bskyblock.config.Settings;
|
||||
import us.tastybento.bskyblock.util.VaultHelper;
|
||||
|
||||
public class IslandTeamCommand extends CommandArgument {
|
||||
public class IslandTeamCommand extends AbstractIslandTeamCommandArgument {
|
||||
|
||||
private static final boolean DEBUG = false;
|
||||
|
||||
|
@ -26,16 +23,9 @@ public class IslandTeamCommand extends CommandArgument {
|
|||
|
||||
@Override
|
||||
public boolean execute(CommandSender sender, String[] args) {
|
||||
if (!isPlayer(sender)) {
|
||||
sender.sendMessage(getLocale(sender).get("general.errors.use-in-game"));
|
||||
return true;
|
||||
}
|
||||
Player player = (Player)sender;
|
||||
UUID playerUUID = player.getUniqueId();
|
||||
if (!VaultHelper.hasPerm(player, Settings.PERMPREFIX + "team")) {
|
||||
sender.sendMessage(ChatColor.RED + getLocale(sender).get("general.errors.no-permission"));
|
||||
return true;
|
||||
}
|
||||
// Check team perm and get variables set
|
||||
if (!checkTeamPerm()) return true;
|
||||
|
||||
if (DEBUG)
|
||||
plugin.getLogger().info("DEBUG: executing team command for " + playerUUID);
|
||||
// Fire event so add-ons can run commands, etc.
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package us.tastybento.bskyblock.commands.island;
|
||||
package us.tastybento.bskyblock.commands.island.teams;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
@ -16,7 +16,6 @@ import us.tastybento.bskyblock.api.events.team.TeamEvent;
|
|||
import us.tastybento.bskyblock.api.events.team.TeamEvent.TeamReason;
|
||||
import us.tastybento.bskyblock.config.Settings;
|
||||
import us.tastybento.bskyblock.util.Util;
|
||||
import us.tastybento.bskyblock.util.VaultHelper;
|
||||
|
||||
public class IslandTeamInviteCommand extends AbstractIslandTeamCommandArgument {
|
||||
|
||||
|
@ -26,16 +25,9 @@ public class IslandTeamInviteCommand extends AbstractIslandTeamCommandArgument {
|
|||
|
||||
@Override
|
||||
public boolean execute(CommandSender sender, String[] args) {
|
||||
if (!isPlayer(sender)) {
|
||||
sender.sendMessage(getLocale(sender).get("general.errors.use-in-game"));
|
||||
return true;
|
||||
}
|
||||
Player player = (Player)sender;
|
||||
UUID playerUUID = player.getUniqueId();
|
||||
if (!VaultHelper.hasPerm(player, Settings.PERMPREFIX + "team")) {
|
||||
sender.sendMessage(ChatColor.RED + getLocale(sender).get("general.errors.no-permission"));
|
||||
return true;
|
||||
}
|
||||
// Check team perm and get variables set
|
||||
if (!checkTeamPerm()) return true;
|
||||
|
||||
// Player issuing the command must have an island
|
||||
if (!getPlayers().hasIsland(playerUUID)) {
|
||||
// If the player is in a team, they are not the leader
|
||||
|
@ -46,7 +38,6 @@ public class IslandTeamInviteCommand extends AbstractIslandTeamCommandArgument {
|
|||
}
|
||||
if (args.length == 0 || args.length > 1) {
|
||||
// Invite label with no name, i.e., /island invite - tells the player who has invited them so far
|
||||
//TODO
|
||||
if (inviteList.containsKey(playerUUID)) {
|
||||
OfflinePlayer inviter = plugin.getServer().getOfflinePlayer(inviteList.get(playerUUID));
|
||||
player.sendMessage(ChatColor.GOLD + getLocale(sender).get("invite.nameHasInvitedYou").replace("[name]", inviter.getName()));
|
||||
|
|
|
@ -1,4 +1,25 @@
|
|||
package us.tastybento.bskyblock.commands.island;
|
||||
package us.tastybento.bskyblock.commands.island.teams;
|
||||
|
||||
public class IslandTeamKickCommand {
|
||||
}
|
||||
import java.util.Set;
|
||||
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
public class IslandTeamKickCommand extends AbstractIslandTeamCommandArgument {
|
||||
|
||||
public IslandTeamKickCommand(String label, String[] aliases) {
|
||||
super(label, aliases);
|
||||
// TODO Auto-generated constructor stub
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean execute(CommandSender sender, String[] args) {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<String> tabComplete(CommandSender sender, String[] args) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
}
|
|
@ -1,4 +1,134 @@
|
|||
package us.tastybento.bskyblock.commands.island;
|
||||
package us.tastybento.bskyblock.commands.island.teams;
|
||||
|
||||
public class IslandTeamPromoteCommand {
|
||||
}
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.apache.commons.lang.math.NumberUtils;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.permissions.PermissionAttachmentInfo;
|
||||
|
||||
import us.tastybento.bskyblock.api.events.team.TeamEvent;
|
||||
import us.tastybento.bskyblock.api.events.team.TeamEvent.TeamReason;
|
||||
import us.tastybento.bskyblock.config.Settings;
|
||||
import us.tastybento.bskyblock.database.objects.Island;
|
||||
|
||||
public class IslandTeamPromoteCommand extends AbstractIslandTeamCommandArgument {
|
||||
|
||||
public IslandTeamPromoteCommand() {
|
||||
super("promote", "makeleader");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean execute(CommandSender sender, String[] args) {
|
||||
// Check team perm and get variables set
|
||||
if (!checkTeamPerm()) return true;
|
||||
// Can use if in a team
|
||||
boolean inTeam = plugin.getPlayers().inTeam(playerUUID);
|
||||
UUID teamLeaderUUID = plugin.getIslands().getTeamLeader(playerUUID);
|
||||
if (!(inTeam && teamLeaderUUID.equals(playerUUID))) {
|
||||
return true;
|
||||
}
|
||||
plugin.getLogger().info("DEBUG: arg[0] = " + args[0]);
|
||||
UUID targetUUID = getPlayers().getUUID(args[0]);
|
||||
if (targetUUID == null) {
|
||||
player.sendMessage(ChatColor.RED + getLocale(playerUUID).get("general.errors.unknown-player"));
|
||||
return true;
|
||||
}
|
||||
if (!getPlayers().inTeam(playerUUID)) {
|
||||
player.sendMessage(ChatColor.RED + getLocale(playerUUID).get("makeleader.errorYouMustBeInTeam"));
|
||||
return true;
|
||||
}
|
||||
if (!teamLeaderUUID.equals(playerUUID)) {
|
||||
player.sendMessage(ChatColor.RED + getLocale(playerUUID).get("makeleader.errorNotYourIsland"));
|
||||
return true;
|
||||
}
|
||||
if (targetUUID.equals(playerUUID)) {
|
||||
player.sendMessage(ChatColor.RED + getLocale(playerUUID).get("makeleader.errorGeneralError"));
|
||||
return true;
|
||||
}
|
||||
if (!plugin.getIslands().getMembers(playerUUID).contains(targetUUID)) {
|
||||
player.sendMessage(ChatColor.RED + getLocale(playerUUID).get("makeleader.errorThatPlayerIsNotInTeam"));
|
||||
return true;
|
||||
}
|
||||
// Fire event so add-ons can run commands, etc.
|
||||
TeamEvent event = TeamEvent.builder().island(getIslands().getIsland(playerUUID)).reason(TeamReason.MAKELEADER).involvedPlayer(targetUUID).build();
|
||||
plugin.getServer().getPluginManager().callEvent(event);
|
||||
if (event.isCancelled()) return true;
|
||||
|
||||
// target is the new leader
|
||||
getIslands().getIsland(playerUUID).setOwner(targetUUID);
|
||||
player.sendMessage(ChatColor.GREEN
|
||||
+ getLocale(playerUUID).get("makeleader.nameIsNowTheOwner").replace("[name]", getPlayers().getName(targetUUID)));
|
||||
|
||||
// Check if online
|
||||
Player target = plugin.getServer().getPlayer(targetUUID);
|
||||
if (target == null) {
|
||||
// TODO offline messaging
|
||||
//plugin.getMessages().setMessage(targetPlayer, getLocale(playerUUID).get("makeleader.youAreNowTheOwner"));
|
||||
|
||||
} else {
|
||||
// Online
|
||||
plugin.getServer().getPlayer(targetUUID).sendMessage(ChatColor.GREEN + getLocale(targetUUID).get("makeleader.youAreNowTheOwner"));
|
||||
// Check if new leader has a lower range permission than the island size
|
||||
boolean hasARangePerm = false;
|
||||
int range = Settings.islandProtectionRange;
|
||||
// Check for zero protection range
|
||||
Island islandByOwner = getIslands().getIsland(targetUUID);
|
||||
if (islandByOwner.getProtectionRange() == 0) {
|
||||
plugin.getLogger().warning("Player " + player.getName() + "'s island had a protection range of 0. Setting to default " + range);
|
||||
islandByOwner.setProtectionRange(range);
|
||||
}
|
||||
for (PermissionAttachmentInfo perms : target.getEffectivePermissions()) {
|
||||
if (perms.getPermission().startsWith(Settings.PERMPREFIX + "island.range.")) {
|
||||
if (perms.getPermission().contains(Settings.PERMPREFIX + "island.range.*")) {
|
||||
// Ignore
|
||||
break;
|
||||
} else {
|
||||
String[] spl = perms.getPermission().split(Settings.PERMPREFIX + "island.range.");
|
||||
if (spl.length > 1) {
|
||||
if (!NumberUtils.isDigits(spl[1])) {
|
||||
plugin.getLogger().severe("Player " + player.getName() + " has permission: " + perms.getPermission() + " <-- the last part MUST be a number! Ignoring...");
|
||||
|
||||
} else {
|
||||
hasARangePerm = true;
|
||||
range = Math.max(range, Integer.valueOf(spl[1]));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// Only set the island range if the player has a perm to override the default
|
||||
if (hasARangePerm) {
|
||||
// Do some sanity checking
|
||||
if (range % 2 != 0) {
|
||||
range--;
|
||||
}
|
||||
// Get island range
|
||||
|
||||
// Range can go up or down
|
||||
if (range != islandByOwner.getProtectionRange()) {
|
||||
player.sendMessage(getLocale(targetUUID).get("admin.SetRangeUpdated").replace("[number]", String.valueOf(range)));
|
||||
target.sendMessage(getLocale(targetUUID).get("admin.SetRangeUpdated").replace("[number]", String.valueOf(range)));
|
||||
plugin.getLogger().info(
|
||||
"Makeleader: Island protection range changed from " + islandByOwner.getProtectionRange() + " to "
|
||||
+ range + " for " + player.getName() + " due to permission.");
|
||||
}
|
||||
islandByOwner.setProtectionRange(range);
|
||||
}
|
||||
}
|
||||
getIslands().save(true);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<String> tabComplete(CommandSender sender, String[] args) {
|
||||
Set<String> result = new HashSet<>();
|
||||
for (UUID member : plugin.getIslands().getMembers(playerUUID)) {
|
||||
result.add(plugin.getServer().getOfflinePlayer(member).getName());
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
package us.tastybento.bskyblock.commands.island;
|
||||
package us.tastybento.bskyblock.commands.island.teams;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
|
@ -30,9 +30,6 @@ public class IslandTeamUninviteCommand extends AbstractIslandTeamCommandArgument
|
|||
sender.sendMessage(ChatColor.RED + getLocale(sender).get("general.errors.no-permission"));
|
||||
return true;
|
||||
}
|
||||
// Get the invite list
|
||||
// TODO
|
||||
|
||||
// Can only use if you have an invite out there
|
||||
if(!inviteList.inverse().containsKey(playerUUID)) {
|
||||
return true;
|
||||
|
@ -62,7 +59,6 @@ public class IslandTeamUninviteCommand extends AbstractIslandTeamCommandArgument
|
|||
|
||||
@Override
|
||||
public Set<String> tabComplete(CommandSender sender, String[] args) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue