mirror of
https://github.com/EssentialsX/Essentials.git
synced 2024-11-18 16:45:37 +01:00
Update home count to include the bed home if set, this does not prevent people from setting a bed home if they are at max.
This commit is contained in:
parent
78cd64c388
commit
9b731cc39c
@ -4,6 +4,7 @@ import static com.earth2me.essentials.I18n._;
|
|||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
|
import org.bukkit.Material;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
@ -149,6 +150,17 @@ public abstract class UserData extends PlayerExtension implements IConf
|
|||||||
return new ArrayList<String>(homes.keySet());
|
return new ArrayList<String>(homes.keySet());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getHomeCount()
|
||||||
|
{
|
||||||
|
int count = getHomes().size();
|
||||||
|
Location bed = getBedSpawnLocation();
|
||||||
|
if (bed != null && bed.getBlock().getType() == Material.BED_BLOCK)
|
||||||
|
{
|
||||||
|
count++;
|
||||||
|
}
|
||||||
|
return count;
|
||||||
|
}
|
||||||
|
|
||||||
public void setHome(String name, Location loc)
|
public void setHome(String name, Location loc)
|
||||||
{
|
{
|
||||||
//Invalid names will corrupt the yaml
|
//Invalid names will corrupt the yaml
|
||||||
|
@ -29,10 +29,11 @@ public class Commandsethome extends EssentialsCommand
|
|||||||
{
|
{
|
||||||
if (user.isAuthorized("essentials.sethome.multiple"))
|
if (user.isAuthorized("essentials.sethome.multiple"))
|
||||||
{
|
{
|
||||||
if ("bed".equals(args[0].toLowerCase(Locale.ENGLISH))) {
|
if ("bed".equals(args[0].toLowerCase(Locale.ENGLISH)))
|
||||||
|
{
|
||||||
throw new NotEnoughArgumentsException();
|
throw new NotEnoughArgumentsException();
|
||||||
}
|
}
|
||||||
if ((user.isAuthorized("essentials.sethome.multiple.unlimited")) || (user.getHomes().size() < ess.getSettings().getHomeLimit(user))
|
if ((user.isAuthorized("essentials.sethome.multiple.unlimited")) || (user.getHomeCount() < ess.getSettings().getHomeLimit(user))
|
||||||
|| (user.getHomes().contains(args[0].toLowerCase(Locale.ENGLISH))))
|
|| (user.getHomes().contains(args[0].toLowerCase(Locale.ENGLISH))))
|
||||||
{
|
{
|
||||||
user.setHome(args[0].toLowerCase(Locale.ENGLISH));
|
user.setHome(args[0].toLowerCase(Locale.ENGLISH));
|
||||||
@ -66,7 +67,8 @@ public class Commandsethome extends EssentialsCommand
|
|||||||
{
|
{
|
||||||
name = "home";
|
name = "home";
|
||||||
}
|
}
|
||||||
if ("bed".equals(name.toLowerCase(Locale.ENGLISH))) {
|
if ("bed".equals(name.toLowerCase(Locale.ENGLISH)))
|
||||||
|
{
|
||||||
throw new NotEnoughArgumentsException();
|
throw new NotEnoughArgumentsException();
|
||||||
}
|
}
|
||||||
usersHome.setHome(name, user.getLocation());
|
usersHome.setHome(name, user.getLocation());
|
||||||
|
Loading…
Reference in New Issue
Block a user