Format and check for null section

This commit is contained in:
Trent Hensler 2018-03-02 13:57:36 -08:00
parent d490bb8366
commit 81a33de33a
7 changed files with 23 additions and 15 deletions

View File

@ -11,7 +11,9 @@ import com.massivecraft.factions.zcore.fperms.gui.PermissableActionGUI;
import com.massivecraft.factions.zcore.fperms.gui.PermissableRelationGUI; import com.massivecraft.factions.zcore.fperms.gui.PermissableRelationGUI;
import com.massivecraft.factions.zcore.util.TL; import com.massivecraft.factions.zcore.util.TL;
import java.util.*; import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
public class CmdPerm extends FCommand { public class CmdPerm extends FCommand {

View File

@ -7,7 +7,6 @@ import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.zcore.util.TL; import com.massivecraft.factions.zcore.util.TL;
import com.massivecraft.factions.zcore.util.TagReplacer; import com.massivecraft.factions.zcore.util.TagReplacer;
import com.massivecraft.factions.zcore.util.TagUtil; import com.massivecraft.factions.zcore.util.TagUtil;
import me.clip.placeholderapi.PlaceholderAPI;
import mkremins.fanciful.FancyMessage; import mkremins.fanciful.FancyMessage;
import java.util.ArrayList; import java.util.ArrayList;

View File

@ -10,6 +10,7 @@ import org.bukkit.inventory.meta.ItemMeta;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.logging.Level;
public enum PermissableAction { public enum PermissableAction {
BAN("ban"), BAN("ban"),
@ -72,15 +73,21 @@ public enum PermissableAction {
// Utility method to build items for F Perm GUI // Utility method to build items for F Perm GUI
public ItemStack buildItem(FPlayer fme, Permissable permissable) { public ItemStack buildItem(FPlayer fme, Permissable permissable) {
final ConfigurationSection ACTION_CONFIG = P.p.getConfig().getConfigurationSection("fperm-gui.action"); final ConfigurationSection section = P.p.getConfig().getConfigurationSection("fperm-gui.action");
String displayName = replacePlaceholers(ACTION_CONFIG.getString("placeholder-item.name"), fme, permissable); if (section == null) {
P.p.log(Level.WARNING, "Attempted to build f perm GUI but config section not present.");
P.p.log(Level.WARNING, "Copy your config, allow the section to generate, then copy it back to your old config.");
return new ItemStack(Material.AIR);
}
String displayName = replacePlaceholers(section.getString("placeholder-item.name"), fme, permissable);
List<String> lore = new ArrayList<>(); List<String> lore = new ArrayList<>();
if (ACTION_CONFIG.getString("materials." + name().toLowerCase().replace('_', '-')) == null) { if (section.getString("materials." + name().toLowerCase().replace('_', '-')) == null) {
return null; return null;
} }
Material material = Material.matchMaterial(ACTION_CONFIG.getString("materials." + name().toLowerCase().replace('_', '-'))); Material material = Material.matchMaterial(section.getString("materials." + name().toLowerCase().replace('_', '-')));
if (material == null) { if (material == null) {
material = Material.STAINED_CLAY; material = Material.STAINED_CLAY;
} }
@ -91,8 +98,9 @@ public enum PermissableAction {
} }
DyeColor dyeColor = null; DyeColor dyeColor = null;
try { try {
dyeColor = DyeColor.valueOf(ACTION_CONFIG.getString("access." + access.name().toLowerCase())); dyeColor = DyeColor.valueOf(section.getString("access." + access.name().toLowerCase()));
} catch (Exception exception) {} } catch (Exception exception) {
}
ItemStack item = new ItemStack(material); ItemStack item = new ItemStack(material);
ItemMeta itemMeta = item.getItemMeta(); ItemMeta itemMeta = item.getItemMeta();
@ -101,7 +109,7 @@ public enum PermissableAction {
item.setDurability(dyeColor.getWoolData()); item.setDurability(dyeColor.getWoolData());
} }
for (String loreLine : ACTION_CONFIG.getStringList("placeholder-item.lore")) { for (String loreLine : section.getStringList("placeholder-item.lore")) {
lore.add(replacePlaceholers(loreLine, fme, permissable)); lore.add(replacePlaceholers(loreLine, fme, permissable));
} }

View File

@ -1,7 +1,6 @@
package com.massivecraft.factions.zcore.fperms.gui; package com.massivecraft.factions.zcore.fperms.gui;
import org.bukkit.event.inventory.ClickType; import org.bukkit.event.inventory.ClickType;
import org.bukkit.event.inventory.InventoryAction;
public interface PermissionGUI { public interface PermissionGUI {