Fixing kits for new config classes.

This commit is contained in:
KHobbits 2012-02-22 12:32:51 +00:00
parent e1749fecd1
commit e5b91dae73
4 changed files with 26 additions and 18 deletions

View file

@ -8,6 +8,7 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
import org.bukkit.ChatColor;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.event.EventPriority;
@ -39,9 +40,9 @@ public interface ISettings extends IConf
double getHealCooldown();
Object getKit(String name);
Map<String, Object> getKit(String name);
Map<String, Object> getKits();
ConfigurationSection getKits();
String getLocale();

View file

@ -5,6 +5,7 @@ import com.earth2me.essentials.commands.NoChargeException;
import com.earth2me.essentials.craftbukkit.InventoryWorkaround;
import java.util.*;
import org.bukkit.Material;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.inventory.ItemStack;
@ -15,16 +16,16 @@ public class Kit
{
try
{
final Map<String, Object> kits = ess.getSettings().getKits();
final ConfigurationSection kits = ess.getSettings().getKits();
final StringBuilder list = new StringBuilder();
for (String kiteItem : kits.keySet())
for (String kiteItem : kits.getKeys(false))
{
if (user.isAuthorized("essentials.kit." + kiteItem.toLowerCase(Locale.ENGLISH)))
{
list.append(" ").append(kiteItem);
}
}
return list.toString();
return list.toString().trim();
}
catch (Exception ex)
{

View file

@ -14,6 +14,7 @@ import java.util.*;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.bukkit.ChatColor;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.event.EventPriority;
import org.bukkit.inventory.ItemStack;
@ -211,23 +212,28 @@ public class Settings implements ISettings
}
@Override
public Object getKit(String name)
public Map<String, Object> getKit(String name)
{
Map<String, Object> kits = (Map<String, Object>)config.get("kits");
for (Map.Entry<String, Object> entry : kits.entrySet())
name = name.replace('.', '_').replace('/', '_');
if (config.isConfigurationSection("kits"))
{
if (entry.getKey().equalsIgnoreCase(name.replace('.', '_').replace('/', '_')))
final ConfigurationSection kits = getKits();
if (kits.isConfigurationSection(name))
{
return entry.getValue();
}
return kits.getConfigurationSection(name).getValues(true);
}
}
return null;
}
@Override
public Map<String, Object> getKits()
public ConfigurationSection getKits()
{
return (Map<String, Object>)config.get("kits");
if (config.isConfigurationSection("kits"))
{
return config.getConfigurationSection("kits");
}
return null;
}
@Override
@ -328,7 +334,7 @@ public class Settings implements ISettings
@Override
public IText getAnnounceNewPlayerFormat()
{
return new SimpleTextInput(Util.replaceColor(config.getString("newbies.announce-format", "&dWelcome {DISPLAYNAME} to the server!")));
return new SimpleTextInput(Util.replaceColor(config.getString("newbies.announce-format", "&dWelcome {DISPLAYNAME} to the server!")));
}
@Override

View file

@ -32,16 +32,16 @@ public class Commandkit extends EssentialsCommand
else
{
final String kitName = args[0].toLowerCase(Locale.ENGLISH);
final Object kit = ess.getSettings().getKit(kitName);
final Map<String, Object> kit = ess.getSettings().getKit(kitName);
if (!user.isAuthorized("essentials.kit." + kitName))
{
throw new Exception(_("noKitPermission", "essentials.kit." + kitName));
}
final Map<String, Object> els = (Map<String, Object>)kit;
final List<String> items = Kit.getItems(user, els);
final List<String> items = Kit.getItems(user, kit);
Kit.checkTime(user, kitName, els);
Kit.checkTime(user, kitName, kit);
final Trade charge = new Trade("kit-" + kitName, ess);
charge.isAffordableFor(user);