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

View file

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

View file

@ -14,6 +14,7 @@ import java.util.*;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
import org.bukkit.ChatColor; import org.bukkit.ChatColor;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.event.EventPriority; import org.bukkit.event.EventPriority;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
@ -211,23 +212,28 @@ public class Settings implements ISettings
} }
@Override @Override
public Object getKit(String name) public Map<String, Object> getKit(String name)
{ {
Map<String, Object> kits = (Map<String, Object>)config.get("kits"); name = name.replace('.', '_').replace('/', '_');
for (Map.Entry<String, Object> entry : kits.entrySet()) 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; return null;
} }
@Override @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 @Override
@ -328,7 +334,7 @@ public class Settings implements ISettings
@Override @Override
public IText getAnnounceNewPlayerFormat() 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 @Override

View file

@ -32,16 +32,16 @@ public class Commandkit extends EssentialsCommand
else else
{ {
final String kitName = args[0].toLowerCase(Locale.ENGLISH); 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)) if (!user.isAuthorized("essentials.kit." + kitName))
{ {
throw new Exception(_("noKitPermission", "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); final Trade charge = new Trade("kit-" + kitName, ess);
charge.isAffordableFor(user); charge.isAffordableFor(user);