From 932a5768b005a464e448c8a4e0e267bebf55e497 Mon Sep 17 00:00:00 2001 From: Driftay Date: Thu, 9 Apr 2020 17:53:05 -0400 Subject: [PATCH] Fixed Small NPE With Grace if GraceSystem was set to false --- .../massivecraft/factions/FactionsPlugin.java | 5 +++- .../factions/cmd/CmdGetVault.java | 29 +++++-------------- 2 files changed, 12 insertions(+), 22 deletions(-) diff --git a/src/main/java/com/massivecraft/factions/FactionsPlugin.java b/src/main/java/com/massivecraft/factions/FactionsPlugin.java index 67971470..18c5b5a0 100755 --- a/src/main/java/com/massivecraft/factions/FactionsPlugin.java +++ b/src/main/java/com/massivecraft/factions/FactionsPlugin.java @@ -295,13 +295,16 @@ public class FactionsPlugin extends MPlugin { new MissionHandler(this), new FChestListener(), new MenuListener(), - timerManager.graceTimer, new AntiChestListener() }; for (Listener eventListener : eventsListener) getServer().getPluginManager().registerEvents(eventListener, this); + if(Conf.useGraceSystem){ + getServer().getPluginManager().registerEvents(timerManager.graceTimer, this); + } + this.getCommand(refCommand).setExecutor(cmdBase); if (!CommodoreProvider.isSupported()) this.getCommand(refCommand).setTabCompleter(this); diff --git a/src/main/java/com/massivecraft/factions/cmd/CmdGetVault.java b/src/main/java/com/massivecraft/factions/cmd/CmdGetVault.java index e7572ffe..5ece58fc 100644 --- a/src/main/java/com/massivecraft/factions/cmd/CmdGetVault.java +++ b/src/main/java/com/massivecraft/factions/cmd/CmdGetVault.java @@ -2,10 +2,10 @@ package com.massivecraft.factions.cmd; import com.massivecraft.factions.FactionsPlugin; import com.massivecraft.factions.struct.Permission; +import com.massivecraft.factions.util.ItemBuilder; import com.massivecraft.factions.zcore.util.TL; import org.bukkit.Location; import org.bukkit.Material; -import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; public class CmdGetVault extends FCommand { @@ -30,9 +30,13 @@ public class CmdGetVault extends FCommand { context.fPlayer.msg(TL.GENERIC_DISABLED, "Faction Vaults"); return; } - Location vaultLocation = context.faction.getVault(); - ItemStack vault = FactionsPlugin.getInstance().createItem(Material.CHEST, 1, (short) 0, FactionsPlugin.getInstance().color(FactionsPlugin.getInstance().getConfig().getString("fvault.Item.Name")), FactionsPlugin.getInstance().colorList(FactionsPlugin.getInstance().getConfig().getStringList("fvault.Item.Lore"))); + Location vaultLocation = context.faction.getVault(); + ItemStack vault = new ItemBuilder(Material.CHEST) + .amount(1) + .name(FactionsPlugin.getInstance().getConfig().getString("fvault.Item.Name")) + .lore(FactionsPlugin.getInstance().getConfig().getStringList("fvault.Item.Lore")) + .build(); //check if vault is set if (vaultLocation != null) { @@ -40,36 +44,19 @@ public class CmdGetVault extends FCommand { return; } - //has enough money? int amount = FactionsPlugin.getInstance().getConfig().getInt("fvault.Price"); if (!context.fPlayer.hasMoney(amount)) { return; } - if (!context.fPlayer.takeMoney(amount)) { - return; - } - //success :) + context.fPlayer.takeMoney(amount); context.player.getInventory().addItem(vault); context.fPlayer.msg(TL.COMMAND_GETVAULT_RECEIVE); } - public boolean inventoryContains(Inventory inventory, ItemStack item) { - int count = 0; - ItemStack[] items = inventory.getContents(); - for (int i = 0; i < items.length; i++) { - if (items[i] != null && items[i].getType() == item.getType() && items[i].getDurability() == item.getDurability()) { - count += items[i].getAmount(); - } - if (count >= item.getAmount()) { - return true; - } - } - return false; - } @Override public TL getUsageTranslation() {