Skip to content

Commit

Permalink
Fixes #1
Browse files Browse the repository at this point in the history
  • Loading branch information
LaxWasHere committed Feb 22, 2018
1 parent e6be17f commit 8e3f9cc
Show file tree
Hide file tree
Showing 5 changed files with 94 additions and 7 deletions.
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<groupId>net.poweredbyawesome</groupId>
<artifactId>PlayerVaultsGUI</artifactId>
<version>0.1.1</version>
<version>0.1.2</version>
<packaging>jar</packaging>

<name>PlayerVaultsGUI</name>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,18 @@
import net.milkbowl.vault.economy.EconomyResponse;
import net.milkbowl.vault.permission.Permission;
import net.poweredbyawesome.playervaultsgui.commands.VaultBuyCommand;
import net.poweredbyawesome.playervaultsgui.commands.VaultGiveCommand;
import net.poweredbyawesome.playervaultsgui.commands.VaultGuiCommand;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.Action;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.RegisteredServiceProvider;
import org.bukkit.plugin.java.JavaPlugin;
Expand All @@ -25,7 +29,7 @@ public final class PlayerVaultsGUI extends JavaPlugin implements Listener {
public static Economy econ = null;
private static Permission perms = null;
private boolean isVault = false;
ItemStack menuItem = ItemBuilder.start(Material.CHEST).name("&f[&4Player Vaults Menu&f]").lore("&7Vaults For Players", "&7Hold and Right Click", "&7[&aRight-Click To Open&7]", "&4&m---------------------").build();
public ItemStack menuItem = null;

@Override
public void onEnable() {
Expand All @@ -34,7 +38,14 @@ public void onEnable() {
Bukkit.getPluginManager().registerEvents(this, this);
getCommand("pvbuy").setExecutor(new VaultBuyCommand(this));
getCommand("pvgui").setExecutor(new VaultGuiCommand(this));
getCommand("pvgive").setExecutor(new VaultGiveCommand(this));
PaginatedGUI.prepare(this);
makeItem();
}

public void makeItem() {
String item = getConfig().getString("key.item");
menuItem = ItemBuilder.start(Material.valueOf(item.split(":")[0])).data(Short.valueOf(item.split(":")[1])).name(getConfig().getString("key.name")).lore(getConfig().getStringList("key.lore")).build();
}

// @EventHandler
Expand All @@ -44,10 +55,29 @@ public void onEnable() {
// }
// }
//
// @EventHandler
// public void onJoin(PlayerJoinEvent ev) {
// ev.getPlayer().getInventory().setItemInMainHand(menuItem);
// }
@EventHandler
public void onJoin(PlayerJoinEvent ev) {
if (!ev.getPlayer().hasPlayedBefore() && getConfig().getBoolean("key.firstjoin")) {
ev.getPlayer().getInventory().addItem(menuItem);
}
}

@EventHandler
public void onInteract(PlayerInteractEvent ev) {
if (ev.getAction() == Action.RIGHT_CLICK_BLOCK || ev.getAction() == Action.RIGHT_CLICK_AIR) {
if (ev.getPlayer().getItemInHand().equals(menuItem)) {
ev.setCancelled(true);
if (getConfig().getBoolean("key.consume")) {
ItemStack itemStack = menuItem;
itemStack.setAmount(ev.getPlayer().getItemInHand().getAmount() -1);
ev.getPlayer().setItemInHand(itemStack);
ev.getPlayer().updateInventory();
ev.getPlayer().sendMessage(ChatColor.translateAlternateColorCodes('&', getConfig().getString("messages.consumeKey")));
}
new WindowManager(this, ev.getPlayer()).openVaultGUI();
}
}
}

public void checkVault() {
if (!setupEconomy()) {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
package net.poweredbyawesome.playervaultsgui.commands;

import net.poweredbyawesome.playervaultsgui.PlayerVaultsGUI;
import org.apache.commons.lang.StringUtils;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;

public class VaultGiveCommand implements CommandExecutor {

PlayerVaultsGUI plugin;

public VaultGiveCommand(PlayerVaultsGUI playerVaultsGUI) {
this.plugin = playerVaultsGUI;
}

/**
* Executes the given command, returning its success
*
* @param sender Source of the command
* @param command Command which was executed
* @param label Alias of the command which was used
* @param args Passed command arguments
* @return true if a valid command, otherwise false
*/
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if (sender.hasPermission("playervaults.gui.give") && args.length >= 2) {
Player p = Bukkit.getPlayer(args[0]);
if (p != null && StringUtils.isNumeric(args[1])) {
ItemStack key = plugin.menuItem;
key.setAmount(Integer.valueOf(args[1]));
p.getInventory().addItem(key);
} else {
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', "&7[&bPV&7|&aGUI&7]&c Usage: /pvgive <Player> <Amount>"));
}
}
return false;
}
}
12 changes: 12 additions & 0 deletions src/main/resources/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,22 @@ locked:
- "&7[&aLeft-Click&7] To Purchase"
- "&3Cost&6: &2$&a<COST>"
- "&c&m--------------------"
key:
consume: false
firstJoin: true
name: "&f[&4Player Vaults Menu&f]"
item: 'CHEST:0'
lore:
- "&c&m--------------------"
- "&7Vaults For Players"
- "&7Hold and Right Click"
- "&7[&aRight-Click To Open&7]"
- "&c&m--------------------"
messages:
buySuccess: "&aYou bought &7Vault #<VAULTNUM>"
noVaultAccess: "&cPlease buy the previous vault first!"
vaultLocked: "&cThis vault is locked"
consumeKey: "&aYou used a menu key"
defaultcost: 10000
vaults:
1:
Expand Down
3 changes: 2 additions & 1 deletion src/main/resources/plugin.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,5 @@ depend: [PlayerVaults, Vault]
authors: [LaxWasHere]
commands:
pvbuy:
pvgui:
pvgui:
pvgive:

0 comments on commit 8e3f9cc

Please sign in to comment.