2018-03-27 01:42:26 +02:00
|
|
|
package com.massivecraft.factions.cmd;
|
|
|
|
|
2019-09-14 21:13:01 +02:00
|
|
|
import com.massivecraft.factions.FactionsPlugin;
|
2018-03-27 01:42:26 +02:00
|
|
|
import com.massivecraft.factions.struct.Permission;
|
|
|
|
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 {
|
2019-09-15 11:02:53 +02:00
|
|
|
public CmdGetVault() {
|
|
|
|
super();
|
|
|
|
this.aliases.add("getvault");
|
2019-08-24 19:18:50 +02:00
|
|
|
|
2019-09-15 11:02:53 +02:00
|
|
|
this.requirements = new CommandRequirements.Builder(Permission.GETVAULT)
|
|
|
|
.playerOnly()
|
|
|
|
.memberOnly()
|
|
|
|
.build();
|
|
|
|
}
|
2019-08-24 19:18:50 +02:00
|
|
|
|
2019-09-15 11:02:53 +02:00
|
|
|
@Override
|
|
|
|
public void perform(CommandContext context) {
|
|
|
|
if (!FactionsPlugin.getInstance().getConfig().getBoolean("fvault.Enabled")) {
|
|
|
|
context.fPlayer.sendMessage("This command is disabled!");
|
|
|
|
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")));
|
2019-08-24 19:18:50 +02:00
|
|
|
|
|
|
|
|
2019-09-15 11:02:53 +02:00
|
|
|
//check if vault is set
|
|
|
|
if (vaultLocation != null) {
|
|
|
|
context.msg(TL.COMMAND_GETVAULT_ALREADYSET);
|
|
|
|
return;
|
|
|
|
}
|
2019-08-24 19:18:50 +02:00
|
|
|
|
|
|
|
|
2019-09-15 11:02:53 +02:00
|
|
|
//has enough money?
|
|
|
|
int amount = FactionsPlugin.getInstance().getConfig().getInt("fvault.Price");
|
|
|
|
if (!context.fPlayer.hasMoney(amount)) {
|
|
|
|
return;
|
|
|
|
}
|
2019-08-24 19:18:50 +02:00
|
|
|
|
|
|
|
|
2019-09-15 11:02:53 +02:00
|
|
|
//success :)
|
|
|
|
context.fPlayer.takeMoney(amount);
|
|
|
|
context.player.getInventory().addItem(vault);
|
|
|
|
context.fPlayer.msg(TL.COMMAND_GETVAULT_RECEIVE);
|
2019-08-24 19:18:50 +02:00
|
|
|
|
2019-09-15 11:02:53 +02:00
|
|
|
}
|
2019-08-24 19:18:50 +02:00
|
|
|
|
2019-09-15 11:02:53 +02:00
|
|
|
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;
|
|
|
|
}
|
2019-08-24 19:18:50 +02:00
|
|
|
|
2019-09-15 11:02:53 +02:00
|
|
|
@Override
|
|
|
|
public TL getUsageTranslation() {
|
|
|
|
return TL.COMMAND_GETVAULT_DESCRIPTION;
|
|
|
|
}
|
2018-03-27 01:42:26 +02:00
|
|
|
|
|
|
|
}
|