mirror of
https://github.com/Crazy-Crew/CrazyAuctions.git
synced 2025-01-07 19:28:10 +01:00
a bit of cleanup
This commit is contained in:
parent
a433903bda
commit
f6da775719
@ -69,7 +69,7 @@ public class Methods {
|
||||
|
||||
public static Player getPlayer(String name) {
|
||||
try {
|
||||
return Bukkit.getServer().getPlayer(UUID.fromString(name));
|
||||
return plugin.getServer().getPlayer(UUID.fromString(name));
|
||||
} catch (Exception e) {
|
||||
return null;
|
||||
}
|
||||
@ -84,11 +84,11 @@ public class Methods {
|
||||
}
|
||||
|
||||
public static OfflinePlayer getOfflinePlayer(String name) {
|
||||
return Bukkit.getServer().getOfflinePlayer(UUID.fromString(name));
|
||||
return plugin.getServer().getOfflinePlayer(UUID.fromString(name));
|
||||
}
|
||||
|
||||
public static boolean isOnline(String name) {
|
||||
for (Player player : Bukkit.getServer().getOnlinePlayers()) {
|
||||
for (Player player : plugin.getServer().getOnlinePlayers()) {
|
||||
if (player.getName().equalsIgnoreCase(name)) {
|
||||
return true;
|
||||
}
|
||||
@ -98,7 +98,7 @@ public class Methods {
|
||||
}
|
||||
|
||||
public static boolean isOnline(String name, CommandSender p) {
|
||||
for (Player player : Bukkit.getServer().getOnlinePlayers()) {
|
||||
for (Player player : plugin.getServer().getOnlinePlayers()) {
|
||||
if (player.getName().equalsIgnoreCase(name)) {
|
||||
return true;
|
||||
}
|
||||
@ -111,6 +111,7 @@ public class Methods {
|
||||
public static boolean hasPermission(Player player, String perm) {
|
||||
if (!player.hasPermission("crazyauctions." + perm)) {
|
||||
player.sendMessage(Messages.NO_PERMISSION.getMessage(player));
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -121,6 +122,7 @@ public class Methods {
|
||||
if (sender instanceof Player player) {
|
||||
if (!player.hasPermission("crazyauctions." + perm)) {
|
||||
player.sendMessage(Messages.NO_PERMISSION.getMessage(player));
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -132,10 +134,13 @@ public class Methods {
|
||||
|
||||
public static List<ItemStack> getPage(List<ItemStack> list, Integer page) {
|
||||
List<ItemStack> items = new ArrayList<>();
|
||||
|
||||
if (page <= 0) page = 1;
|
||||
|
||||
int max = 45;
|
||||
int index = page * max - max;
|
||||
int endIndex = index >= list.size() ? list.size() - 1 : index + max;
|
||||
|
||||
for (; index < endIndex; index++) {
|
||||
if (index < list.size()) items.add(list.get(index));
|
||||
}
|
||||
@ -154,7 +159,9 @@ public class Methods {
|
||||
|
||||
public static List<Integer> getPageInts(List<Integer> list, Integer page) {
|
||||
List<Integer> items = new ArrayList<>();
|
||||
|
||||
if (page <= 0) page = 1;
|
||||
|
||||
int max = 45;
|
||||
int index = page * max - max;
|
||||
int endIndex = index >= list.size() ? list.size() - 1 : index + max;
|
||||
@ -163,10 +170,12 @@ public class Methods {
|
||||
if (index < list.size()) items.add(list.get(index));
|
||||
}
|
||||
|
||||
for (; items.size() == 0; page--) {
|
||||
for (; items.isEmpty(); page--) {
|
||||
if (page <= 0) break;
|
||||
|
||||
index = page * max - max;
|
||||
endIndex = index >= list.size() ? list.size() - 1 : index + max;
|
||||
|
||||
for (; index < endIndex; index++) {
|
||||
if (index < list.size()) items.add(list.get(index));
|
||||
}
|
||||
@ -178,23 +187,30 @@ public class Methods {
|
||||
public static int getMaxPage(List<ItemStack> list) {
|
||||
int maxPage = 1;
|
||||
int amount = list.size();
|
||||
|
||||
for (; amount > 45; amount -= 45, maxPage++) ;
|
||||
|
||||
return maxPage;
|
||||
}
|
||||
|
||||
public static String convertToTime(long time) {
|
||||
Calendar C = Calendar.getInstance();
|
||||
Calendar cal = Calendar.getInstance();
|
||||
|
||||
cal.setTimeInMillis(time);
|
||||
|
||||
int total = ((int) (cal.getTimeInMillis() / 1000) - (int) (C.getTimeInMillis() / 1000));
|
||||
int D = 0;
|
||||
int H = 0;
|
||||
int M = 0;
|
||||
int S = 0;
|
||||
|
||||
for (; total > 86400; total -= 86400, D++) ;
|
||||
for (; total > 3600; total -= 3600, H++) ;
|
||||
for (; total > 60; total -= 60, M++) ;
|
||||
|
||||
S += total;
|
||||
|
||||
return D + "d " + H + "h " + M + "m " + S + "s ";
|
||||
}
|
||||
|
||||
@ -205,12 +221,15 @@ public class Methods {
|
||||
if (i.contains("D") || i.contains("d")) {
|
||||
cal.add(Calendar.DATE, Integer.parseInt(i.replace("D", "").replace("d", "")));
|
||||
}
|
||||
|
||||
if (i.contains("H") || i.contains("h")) {
|
||||
cal.add(Calendar.HOUR, Integer.parseInt(i.replace("H", "").replace("h", "")));
|
||||
}
|
||||
|
||||
if (i.contains("M") || i.contains("m")) {
|
||||
cal.add(Calendar.MINUTE, Integer.parseInt(i.replace("M", "").replace("m", "")));
|
||||
}
|
||||
|
||||
if (i.contains("S") || i.contains("s")) {
|
||||
cal.add(Calendar.SECOND, Integer.parseInt(i.replace("S", "").replace("s", "")));
|
||||
}
|
||||
@ -225,16 +244,20 @@ public class Methods {
|
||||
|
||||
public static void updateAuction() {
|
||||
FileConfiguration data = Files.data.getConfiguration();
|
||||
|
||||
Calendar cal = Calendar.getInstance();
|
||||
Calendar expireTime = Calendar.getInstance();
|
||||
Calendar fullExpireTime = Calendar.getInstance();
|
||||
|
||||
boolean shouldSave = false;
|
||||
|
||||
if (data.contains("OutOfTime/Cancelled")) {
|
||||
for (String i : data.getConfigurationSection("OutOfTime/Cancelled").getKeys(false)) {
|
||||
fullExpireTime.setTimeInMillis(data.getLong("OutOfTime/Cancelled." + i + ".Full-Time"));
|
||||
|
||||
if (cal.after(fullExpireTime)) {
|
||||
data.set("OutOfTime/Cancelled." + i, null);
|
||||
|
||||
shouldSave = true;
|
||||
}
|
||||
}
|
||||
@ -247,12 +270,13 @@ public class Methods {
|
||||
|
||||
if (cal.after(expireTime)) {
|
||||
int num = 1;
|
||||
|
||||
for (; data.contains("OutOfTime/Cancelled." + num); num++) ;
|
||||
|
||||
if (data.getBoolean("Items." + i + ".Biddable") && !data.getString("Items." + i + ".TopBidder").equalsIgnoreCase("None") && plugin.getSupport().getMoney(getPlayer(data.getString("Items." + i + ".TopBidder"))) >= data.getInt("Items." + i + ".Price")) {
|
||||
String winner = data.getString("Items." + i + ".TopBidder");
|
||||
String seller = data.getString("Items." + i + ".Seller");
|
||||
Long price = data.getLong("Items." + i + ".Price");
|
||||
long price = data.getLong("Items." + i + ".Price");
|
||||
|
||||
plugin.getSupport().addMoney(getOfflinePlayer(seller), price);
|
||||
plugin.getSupport().removeMoney(getOfflinePlayer(winner), price);
|
||||
@ -265,7 +289,9 @@ public class Methods {
|
||||
|
||||
if (isOnline(winner) && getPlayer(winner) != null) {
|
||||
Player player = getPlayer(winner);
|
||||
Bukkit.getPluginManager().callEvent(new AuctionWinBidEvent(player, Methods.fromBase64(data.getString("Items." + i + ".Item")), price));
|
||||
|
||||
plugin.getServer().getPluginManager().callEvent(new AuctionWinBidEvent(player, Methods.fromBase64(data.getString("Items." + i + ".Item")), price));
|
||||
|
||||
if (player != null) {
|
||||
player.sendMessage(Messages.WIN_BIDDING.getMessage(player, placeholders));
|
||||
}
|
||||
@ -273,6 +299,7 @@ public class Methods {
|
||||
|
||||
if (isOnline(seller) && getPlayer(seller) != null) {
|
||||
Player player = getPlayer(seller);
|
||||
|
||||
if (player != null) {
|
||||
player.sendMessage(Messages.SOMEONE_WON_PLAYERS_BID.getMessage(player, placeholders));
|
||||
}
|
||||
@ -291,7 +318,8 @@ public class Methods {
|
||||
}
|
||||
|
||||
AuctionExpireEvent event = new AuctionExpireEvent(player, Methods.fromBase64(data.getString("Items." + i + ".Item")));
|
||||
Bukkit.getPluginManager().callEvent(event);
|
||||
plugin.getServer().getPluginManager().callEvent(event);
|
||||
|
||||
data.set("OutOfTime/Cancelled." + num + ".Seller", data.getString("Items." + i + ".Seller"));
|
||||
data.set("OutOfTime/Cancelled." + num + ".Full-Time", fullExpireTime.getTimeInMillis());
|
||||
data.set("OutOfTime/Cancelled." + num + ".StoreID", data.getInt("Items." + i + ".StoreID"));
|
||||
@ -310,15 +338,13 @@ public class Methods {
|
||||
public static String getPrice(String ID, Boolean Expired) {
|
||||
long price = 0L;
|
||||
|
||||
if (Expired) {
|
||||
FileConfiguration configuration = Files.data.getConfiguration();
|
||||
FileConfiguration configuration = Files.data.getConfiguration();
|
||||
|
||||
if (Expired) {
|
||||
if (configuration.contains("OutOfTime/Cancelled." + ID + ".Price")) {
|
||||
price = configuration.getLong("OutOfTime/Cancelled." + ID + ".Price");
|
||||
}
|
||||
} else {
|
||||
FileConfiguration configuration = Files.data.getConfiguration();
|
||||
|
||||
if (configuration.contains("Items." + ID + ".Price")) {
|
||||
price = configuration.getLong("Items." + ID + ".Price");
|
||||
}
|
||||
|
@ -24,11 +24,11 @@ public class CrazyManager {
|
||||
}
|
||||
|
||||
public boolean isSellingEnabled() {
|
||||
return sellingEnabled;
|
||||
return this.sellingEnabled;
|
||||
}
|
||||
|
||||
public boolean isBiddingEnabled() {
|
||||
return biddingEnabled;
|
||||
return this.biddingEnabled;
|
||||
}
|
||||
|
||||
public ArrayList<ItemStack> getItems(Player player, ShopType type) {
|
||||
|
@ -41,6 +41,7 @@ public enum Category {
|
||||
|
||||
private static ArrayList<Material> getArmor() {
|
||||
ArrayList<Material> ma = new ArrayList<>();
|
||||
|
||||
ma.add(Material.GOLDEN_HELMET);
|
||||
ma.add(Material.GOLDEN_CHESTPLATE);
|
||||
ma.add(Material.GOLDEN_LEGGINGS);
|
||||
@ -71,6 +72,7 @@ public enum Category {
|
||||
|
||||
private static ArrayList<Material> getTools() {
|
||||
ArrayList<Material> ma = new ArrayList<>();
|
||||
|
||||
ma.add(Material.WOODEN_PICKAXE);
|
||||
ma.add(Material.WOODEN_AXE);
|
||||
ma.add(Material.WOODEN_SHOVEL);
|
||||
@ -95,11 +97,13 @@ public enum Category {
|
||||
ma.add(Material.NETHERITE_AXE);
|
||||
ma.add(Material.NETHERITE_HOE);
|
||||
ma.add(Material.NETHERITE_SHOVEL);
|
||||
|
||||
return ma;
|
||||
}
|
||||
|
||||
private static ArrayList<Material> getWeapons() {
|
||||
ArrayList<Material> ma = new ArrayList<>();
|
||||
|
||||
ma.add(Material.GOLDEN_PICKAXE);
|
||||
ma.add(Material.GOLDEN_AXE);
|
||||
ma.add(Material.GOLDEN_SHOVEL);
|
||||
@ -113,44 +117,53 @@ public enum Category {
|
||||
ma.add(Material.BOW);
|
||||
ma.add(Material.NETHERITE_SWORD);
|
||||
ma.add(Material.NETHERITE_AXE);
|
||||
|
||||
return ma;
|
||||
}
|
||||
|
||||
private static ArrayList<Material> getFood() {
|
||||
ArrayList<Material> ma = new ArrayList<>();
|
||||
|
||||
for (Material m : Material.values()) {
|
||||
if (m.isEdible()) {
|
||||
if (m != Material.POTION) ma.add(m);
|
||||
}
|
||||
}
|
||||
|
||||
return ma;
|
||||
}
|
||||
|
||||
private static ArrayList<Material> getPotions() {
|
||||
ArrayList<Material> ma = new ArrayList<>();
|
||||
|
||||
ma.add(Material.POTION);
|
||||
ma.add(Material.SPLASH_POTION);
|
||||
ma.add(Material.LINGERING_POTION);
|
||||
|
||||
return ma;
|
||||
}
|
||||
|
||||
private static ArrayList<Material> getBlocks() {
|
||||
ArrayList<Material> ma = new ArrayList<>();
|
||||
|
||||
for (Material m : Material.values()) {
|
||||
if (m.isBlock()) {
|
||||
ma.add(m);
|
||||
}
|
||||
}
|
||||
|
||||
return ma;
|
||||
}
|
||||
|
||||
private static ArrayList<Material> getOthers() {
|
||||
ArrayList<Material> ma = new ArrayList<>();
|
||||
|
||||
for (Material m : Material.values()) {
|
||||
if (!(getArmor().contains(m) || getTools().contains(m) || getWeapons().contains(m) || getFood().contains(m) || getPotions().contains(m) || getBlocks().contains(m))) {
|
||||
ma.add(m);
|
||||
}
|
||||
}
|
||||
|
||||
return ma;
|
||||
}
|
||||
|
||||
@ -158,10 +171,10 @@ public enum Category {
|
||||
* @return Returns the type name as a string.
|
||||
*/
|
||||
public String getName() {
|
||||
return name;
|
||||
return this.name;
|
||||
}
|
||||
|
||||
public ArrayList<Material> getItems() {
|
||||
return items;
|
||||
return this.items;
|
||||
}
|
||||
}
|
@ -31,6 +31,6 @@ public enum ShopType {
|
||||
* @return Returns the type name as a string.
|
||||
*/
|
||||
public String getName() {
|
||||
return name;
|
||||
return this.name;
|
||||
}
|
||||
}
|
@ -42,14 +42,14 @@ public class AuctionBuyEvent extends Event {
|
||||
}
|
||||
|
||||
public Player getPlayer() {
|
||||
return player;
|
||||
return this.player;
|
||||
}
|
||||
|
||||
public ItemStack getItem() {
|
||||
return item;
|
||||
return this.item;
|
||||
}
|
||||
|
||||
public long getPrice() {
|
||||
return price;
|
||||
return this.price;
|
||||
}
|
||||
}
|
@ -59,22 +59,22 @@ public class AuctionCancelledEvent extends Event {
|
||||
}
|
||||
|
||||
public OfflinePlayer getOfflinePlayer() {
|
||||
return offlinePlayer;
|
||||
return this.offlinePlayer;
|
||||
}
|
||||
|
||||
public Player getOnlinePlayer() {
|
||||
return onlinePlayer;
|
||||
return this.onlinePlayer;
|
||||
}
|
||||
|
||||
public boolean isOnline() {
|
||||
return isOnline;
|
||||
return this.isOnline;
|
||||
}
|
||||
|
||||
public ItemStack getItem() {
|
||||
return item;
|
||||
return this.item;
|
||||
}
|
||||
|
||||
public Reasons getReason() {
|
||||
return reason;
|
||||
return this.reason;
|
||||
}
|
||||
}
|
@ -55,18 +55,18 @@ public class AuctionExpireEvent extends Event {
|
||||
}
|
||||
|
||||
public OfflinePlayer getOfflinePlayer() {
|
||||
return offlinePlayer;
|
||||
return this.offlinePlayer;
|
||||
}
|
||||
|
||||
public Player getOnlinePlayer() {
|
||||
return onlinePlayer;
|
||||
return this.onlinePlayer;
|
||||
}
|
||||
|
||||
public boolean isOnline() {
|
||||
return isOnline;
|
||||
return this.isOnline;
|
||||
}
|
||||
|
||||
public ItemStack getItem() {
|
||||
return item;
|
||||
return this.item;
|
||||
}
|
||||
}
|
@ -45,18 +45,18 @@ public class AuctionListEvent extends Event {
|
||||
}
|
||||
|
||||
public Player getPlayer() {
|
||||
return player;
|
||||
return this.player;
|
||||
}
|
||||
|
||||
public ShopType getShopType() {
|
||||
return shop;
|
||||
return this.shop;
|
||||
}
|
||||
|
||||
public ItemStack getItem() {
|
||||
return item;
|
||||
return this.item;
|
||||
}
|
||||
|
||||
public long getPrice() {
|
||||
return price;
|
||||
return this.price;
|
||||
}
|
||||
}
|
@ -38,14 +38,14 @@ public class AuctionNewBidEvent extends Event {
|
||||
}
|
||||
|
||||
public Player getPlayer() {
|
||||
return player;
|
||||
return this.player;
|
||||
}
|
||||
|
||||
public ItemStack getItem() {
|
||||
return item;
|
||||
return this.item;
|
||||
}
|
||||
|
||||
public long getBid() {
|
||||
return bid;
|
||||
return this.bid;
|
||||
}
|
||||
}
|
@ -41,14 +41,14 @@ public class AuctionWinBidEvent extends Event {
|
||||
}
|
||||
|
||||
public Player getPlayer() {
|
||||
return player;
|
||||
return this.player;
|
||||
}
|
||||
|
||||
public ItemStack getItem() {
|
||||
return item;
|
||||
return this.item;
|
||||
}
|
||||
|
||||
public long getBid() {
|
||||
return bid;
|
||||
return this.bid;
|
||||
}
|
||||
}
|
@ -43,6 +43,7 @@ public class AuctionCommand implements CommandExecutor {
|
||||
if (args.length == 0) {
|
||||
if (!(sender instanceof Player player)) {
|
||||
sender.sendMessage(Messages.PLAYERS_ONLY.getMessage(sender));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -53,6 +54,7 @@ public class AuctionCommand implements CommandExecutor {
|
||||
if (config.contains("Settings.Category-Page-Opens-First")) {
|
||||
if (config.getBoolean("Settings.Category-Page-Opens-First")) {
|
||||
GuiListener.openCategories(player, ShopType.SELL);
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@ -74,6 +76,7 @@ public class AuctionCommand implements CommandExecutor {
|
||||
}
|
||||
|
||||
sender.sendMessage(Messages.HELP.getMessage(sender));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -88,6 +91,7 @@ public class AuctionCommand implements CommandExecutor {
|
||||
this.crazyManager.load();
|
||||
|
||||
sender.sendMessage(Messages.RELOAD.getMessage(sender));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -98,15 +102,18 @@ public class AuctionCommand implements CommandExecutor {
|
||||
|
||||
if (!(sender instanceof Player player)) {
|
||||
sender.sendMessage(Messages.PLAYERS_ONLY.getMessage(sender));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
if (args.length >= 2) {
|
||||
GuiListener.openViewer(player, args[1], 1);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
sender.sendMessage(Messages.CRAZYAUCTIONS_VIEW.getMessage(sender));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -117,10 +124,12 @@ public class AuctionCommand implements CommandExecutor {
|
||||
|
||||
if (!(sender instanceof Player player)) {
|
||||
sender.sendMessage(Messages.PLAYERS_ONLY.getMessage(sender));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
GuiListener.openPlayersExpiredList(player, 1);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -129,16 +138,19 @@ public class AuctionCommand implements CommandExecutor {
|
||||
|
||||
if (!(sender instanceof Player player)) {
|
||||
sender.sendMessage(Messages.PLAYERS_ONLY.getMessage(sender));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
GuiListener.openPlayersCurrentList(player, 1);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
case "sell", "bid" -> {
|
||||
if (!(sender instanceof Player player)) {
|
||||
sender.sendMessage(Messages.PLAYERS_ONLY.getMessage(sender));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -146,6 +158,7 @@ public class AuctionCommand implements CommandExecutor {
|
||||
if (args[0].equalsIgnoreCase("sell")) {
|
||||
if (!crazyManager.isSellingEnabled()) {
|
||||
player.sendMessage(Messages.SELLING_DISABLED.getMessage(sender));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -155,6 +168,7 @@ public class AuctionCommand implements CommandExecutor {
|
||||
if (args[0].equalsIgnoreCase("bid")) {
|
||||
if (!crazyManager.isBiddingEnabled()) {
|
||||
player.sendMessage(Messages.BIDDING_DISABLED.getMessage(sender));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -166,28 +180,34 @@ public class AuctionCommand implements CommandExecutor {
|
||||
|
||||
if (args.length >= 3) {
|
||||
if (!Methods.isInt(args[2])) {
|
||||
HashMap<String, String> placeholders = new HashMap<>();
|
||||
Map<String, String> placeholders = new HashMap<>();
|
||||
placeholders.put("%Arg%", args[2]);
|
||||
placeholders.put("%arg%", args[2]);
|
||||
|
||||
player.sendMessage(Messages.NOT_A_NUMBER.getMessage(sender, placeholders));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
amount = Integer.parseInt(args[2]);
|
||||
|
||||
if (amount <= 0) amount = 1;
|
||||
if (amount > item.getAmount()) amount = item.getAmount();
|
||||
}
|
||||
|
||||
if (!Methods.isLong(args[1])) {
|
||||
HashMap<String, String> placeholders = new HashMap<>();
|
||||
Map<String, String> placeholders = new HashMap<>();
|
||||
placeholders.put("%Arg%", args[1]);
|
||||
placeholders.put("%arg%", args[1]);
|
||||
|
||||
player.sendMessage(Messages.NOT_A_NUMBER.getMessage(sender, placeholders));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
if (Methods.getItemInHand(player).getType() == Material.AIR) {
|
||||
player.sendMessage(Messages.DOESNT_HAVE_ITEM_IN_HAND.getMessage(sender));
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -196,20 +216,24 @@ public class AuctionCommand implements CommandExecutor {
|
||||
if (args[0].equalsIgnoreCase("bid")) {
|
||||
if (price < config.getLong("Settings.Minimum-Bid-Price", 100)) {
|
||||
player.sendMessage(Messages.BID_PRICE_TO_LOW.getMessage(sender));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
if (price > config.getLong("Settings.Max-Beginning-Bid-Price", 1000000)) {
|
||||
player.sendMessage(Messages.BID_PRICE_TO_HIGH.getMessage(sender));
|
||||
|
||||
return true;
|
||||
}
|
||||
} else {
|
||||
if (price < config.getLong("Settings.Minimum-Sell-Price", 10)) {
|
||||
player.sendMessage(Messages.SELL_PRICE_TO_LOW.getMessage(sender));
|
||||
|
||||
return true;
|
||||
}
|
||||
if (price > config.getLong("Settings.Max-Beginning-Sell-Price", 1000000)) {
|
||||
player.sendMessage(Messages.SELL_PRICE_TO_HIGH.getMessage(sender));
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@ -233,6 +257,7 @@ public class AuctionCommand implements CommandExecutor {
|
||||
|
||||
if (perm.startsWith("crazyauctions.bid.")) {
|
||||
perm = perm.replace("crazyauctions.bid.", "");
|
||||
|
||||
if (Methods.isInt(perm)) {
|
||||
if (Integer.parseInt(perm) > BidLimit) {
|
||||
BidLimit = Integer.parseInt(perm);
|
||||
@ -258,6 +283,7 @@ public class AuctionCommand implements CommandExecutor {
|
||||
if (args[0].equalsIgnoreCase("sell")) {
|
||||
if (crazyManager.getItems(player, ShopType.SELL).size() >= SellLimit) {
|
||||
player.sendMessage(Messages.MAX_ITEMS.getMessage(sender));
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@ -265,6 +291,7 @@ public class AuctionCommand implements CommandExecutor {
|
||||
if (args[0].equalsIgnoreCase("bid")) {
|
||||
if (crazyManager.getItems(player, ShopType.BID).size() >= BidLimit) {
|
||||
player.sendMessage(Messages.MAX_ITEMS.getMessage(sender));
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@ -272,6 +299,7 @@ public class AuctionCommand implements CommandExecutor {
|
||||
|
||||
if (config.getStringList("Settings.BlackList").contains(item.getType().getKey().getKey())) {
|
||||
player.sendMessage(Messages.ITEM_BLACKLISTED.getMessage(sender));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -338,10 +366,10 @@ public class AuctionCommand implements CommandExecutor {
|
||||
|
||||
this.plugin.getServer().getPluginManager().callEvent(new AuctionListEvent(player, type, stack, price));
|
||||
|
||||
HashMap<String, String> placeholders = new HashMap<>();
|
||||
|
||||
Map<String, String> placeholders = new HashMap<>();
|
||||
placeholders.put("%Price%", String.valueOf(price));
|
||||
placeholders.put("%price%", String.valueOf(price));
|
||||
|
||||
player.sendMessage(Messages.ADDED_ITEM_TO_AUCTION.getMessage(sender, placeholders));
|
||||
|
||||
if (item.getAmount() <= 1 || (item.getAmount() - amount) <= 0) {
|
||||
@ -358,6 +386,7 @@ public class AuctionCommand implements CommandExecutor {
|
||||
|
||||
default -> {
|
||||
sender.sendMessage(Methods.getPrefix("&cPlease do /crazyauctions help for more information."));
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@ -368,6 +397,7 @@ public class AuctionCommand implements CommandExecutor {
|
||||
|
||||
private ArrayList<Material> getDamageableItems() {
|
||||
ArrayList<Material> ma = new ArrayList<>();
|
||||
|
||||
ma.add(Material.GOLDEN_HELMET);
|
||||
ma.add(Material.GOLDEN_CHESTPLATE);
|
||||
ma.add(Material.GOLDEN_LEGGINGS);
|
||||
|
@ -18,6 +18,7 @@ public class AuctionTab implements TabCompleter {
|
||||
@Override
|
||||
public List<String> onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String commandLabel, String[] args) {
|
||||
List<String> completions = new ArrayList<>();
|
||||
|
||||
if (args.length == 1) { // /voucher
|
||||
if (hasPermission(sender, "access")) {
|
||||
completions.add("help");
|
||||
@ -25,17 +26,20 @@ public class AuctionTab implements TabCompleter {
|
||||
completions.add("expired");
|
||||
completions.add("listed");
|
||||
}
|
||||
|
||||
if (hasPermission(sender, "test")) completions.add("test");
|
||||
if (hasPermission(sender, "admin")) completions.add("reload");
|
||||
if (hasPermission(sender, "view")) completions.add("view");
|
||||
if (hasPermission(sender, "sell")) completions.add("sell");
|
||||
if (hasPermission(sender, "bid")) completions.add("bid");
|
||||
|
||||
return StringUtil.copyPartialMatches(args[0], completions, new ArrayList<>());
|
||||
} else if (args.length == 2) { // /crazyauctions arg0
|
||||
switch (args[0].toLowerCase()) {
|
||||
case "bid", "sell" -> completions.addAll(Arrays.asList("50", "100", "250", "500", "1000", "2500", "5000", "10000"));
|
||||
case "view" -> completions.addAll(this.plugin.getServer().getOnlinePlayers().stream().map(Player::getName).toList());
|
||||
}
|
||||
|
||||
return StringUtil.copyPartialMatches(args[1], completions, new ArrayList<>());
|
||||
} else if (args.length == 3) { // /crazyauctions arg0 arg1
|
||||
switch (args[0].toLowerCase()) {
|
||||
|
@ -12,7 +12,6 @@ import com.badbones69.crazyauctions.api.enums.ShopType;
|
||||
import com.badbones69.crazyauctions.api.events.AuctionBuyEvent;
|
||||
import com.badbones69.crazyauctions.api.events.AuctionCancelledEvent;
|
||||
import com.badbones69.crazyauctions.api.events.AuctionNewBidEvent;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
import org.bukkit.Sound;
|
||||
@ -39,15 +38,16 @@ public class GuiListener implements Listener {
|
||||
private static final CrazyAuctions plugin = CrazyAuctions.get();
|
||||
private static final CrazyManager crazyManager = plugin.getCrazyManager();
|
||||
|
||||
private static final HashMap<UUID, Integer> bidding = new HashMap<>();
|
||||
private static final HashMap<UUID, String> biddingID = new HashMap<>();
|
||||
private static final HashMap<UUID, ShopType> shopType = new HashMap<>(); // Shop Type
|
||||
private static final HashMap<UUID, Category> shopCategory = new HashMap<>(); // Category Type
|
||||
private static final HashMap<UUID, List<Integer>> List = new HashMap<>();
|
||||
private static final HashMap<UUID, String> IDs = new HashMap<>();
|
||||
private static final Map<UUID, Integer> bidding = new HashMap<>();
|
||||
private static final Map<UUID, String> biddingID = new HashMap<>();
|
||||
private static final Map<UUID, ShopType> shopType = new HashMap<>(); // Shop Type
|
||||
private static final Map<UUID, Category> shopCategory = new HashMap<>(); // Category Type
|
||||
private static final Map<UUID, List<Integer>> List = new HashMap<>();
|
||||
private static final Map<UUID, String> IDs = new HashMap<>();
|
||||
|
||||
public static void openShop(Player player, ShopType sell, Category cat, int page) {
|
||||
Methods.updateAuction();
|
||||
|
||||
FileConfiguration config = Files.config.getConfiguration();
|
||||
FileConfiguration data = Files.data.getConfiguration();
|
||||
List<ItemStack> items = new ArrayList<>();
|
||||
@ -55,6 +55,7 @@ public class GuiListener implements Listener {
|
||||
|
||||
if (!data.contains("Items")) {
|
||||
data.set("Items.Clear", null);
|
||||
|
||||
Files.data.save();
|
||||
}
|
||||
|
||||
@ -202,11 +203,13 @@ public class GuiListener implements Listener {
|
||||
|
||||
for (ItemStack item : Methods.getPage(items, page)) {
|
||||
int slot = inv.firstEmpty();
|
||||
|
||||
inv.setItem(slot, item);
|
||||
}
|
||||
|
||||
List<Integer> Id = new ArrayList<>(Methods.getPageInts(ID, page));
|
||||
List.put(player.getUniqueId(), Id);
|
||||
|
||||
player.openInventory(inv);
|
||||
}
|
||||
|
||||
@ -215,6 +218,7 @@ public class GuiListener implements Listener {
|
||||
FileConfiguration config = Files.config.getConfiguration();
|
||||
|
||||
Inventory inv = plugin.getServer().createInventory(null, 54, Methods.color(config.getString("Settings.Categories")));
|
||||
|
||||
List<String> options = new ArrayList<>();
|
||||
|
||||
options.add("OtherSettings.Back");
|
||||
@ -254,14 +258,17 @@ public class GuiListener implements Listener {
|
||||
|
||||
public static void openPlayersCurrentList(Player player, int page) {
|
||||
Methods.updateAuction();
|
||||
|
||||
FileConfiguration config = Files.config.getConfiguration();
|
||||
FileConfiguration data = Files.data.getConfiguration();
|
||||
|
||||
List<ItemStack> items = new ArrayList<>();
|
||||
List<Integer> ID = new ArrayList<>();
|
||||
|
||||
Inventory inv = plugin.getServer().createInventory(null, 54, Methods.color(config.getString("Settings.Players-Current-Items")));
|
||||
|
||||
List<String> options = new ArrayList<>();
|
||||
|
||||
options.add("Back");
|
||||
options.add("WhatIsThis.CurrentItems");
|
||||
|
||||
@ -317,14 +324,18 @@ public class GuiListener implements Listener {
|
||||
}
|
||||
|
||||
List<Integer> Id = new ArrayList<>(Methods.getPageInts(ID, page));
|
||||
|
||||
List.put(player.getUniqueId(), Id);
|
||||
|
||||
player.openInventory(inv);
|
||||
}
|
||||
|
||||
public static void openPlayersExpiredList(Player player, int page) {
|
||||
Methods.updateAuction();
|
||||
|
||||
FileConfiguration config = Files.config.getConfiguration();
|
||||
FileConfiguration data = Files.data.getConfiguration();
|
||||
|
||||
List<ItemStack> items = new ArrayList<>();
|
||||
List<Integer> ID = new ArrayList<>();
|
||||
|
||||
@ -357,11 +368,12 @@ public class GuiListener implements Listener {
|
||||
}
|
||||
|
||||
int maxPage = Methods.getMaxPage(items);
|
||||
|
||||
for (; page > maxPage; page--);
|
||||
|
||||
Inventory inv = plugin.getServer().createInventory(null, 54, Methods.color(config.getString("Settings.Cancelled/Expired-Items") + " #" + page));
|
||||
List<String> options = new ArrayList<>();
|
||||
|
||||
List<String> options = new ArrayList<>();
|
||||
options.add("Back");
|
||||
options.add("PreviousPage");
|
||||
options.add("Return");
|
||||
@ -390,11 +402,14 @@ public class GuiListener implements Listener {
|
||||
|
||||
for (ItemStack item : Methods.getPage(items, page)) {
|
||||
int slot = inv.firstEmpty();
|
||||
|
||||
inv.setItem(slot, item);
|
||||
}
|
||||
|
||||
List<Integer> Id = new ArrayList<>(Methods.getPageInts(ID, page));
|
||||
|
||||
List.put(player.getUniqueId(), Id);
|
||||
|
||||
player.openInventory(inv);
|
||||
}
|
||||
|
||||
@ -406,13 +421,16 @@ public class GuiListener implements Listener {
|
||||
|
||||
if (!data.contains("Items." + ID)) {
|
||||
openShop(player, ShopType.SELL, shopCategory.get(player.getUniqueId()), 1);
|
||||
|
||||
player.sendMessage(Messages.ITEM_DOESNT_EXIST.getMessage(player));
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
Inventory inv = Bukkit.createInventory(null, 9, Methods.color(config.getString("Settings.Buying-Item")));
|
||||
Inventory inv = plugin.getServer().createInventory(null, 9, Methods.color(config.getString("Settings.Buying-Item")));
|
||||
|
||||
List<String> options = new ArrayList<>();
|
||||
|
||||
options.add("Confirm");
|
||||
options.add("Cancel");
|
||||
|
||||
@ -472,21 +490,26 @@ public class GuiListener implements Listener {
|
||||
inv.setItem(4, itemBuilder.build());
|
||||
|
||||
IDs.put(player.getUniqueId(), ID);
|
||||
|
||||
player.openInventory(inv);
|
||||
}
|
||||
|
||||
public static void openBidding(Player player, String ID) {
|
||||
Methods.updateAuction();
|
||||
|
||||
FileConfiguration config = Files.config.getConfiguration();
|
||||
FileConfiguration data = Files.data.getConfiguration();
|
||||
|
||||
if (!data.contains("Items." + ID)) {
|
||||
openShop(player, ShopType.BID, shopCategory.get(player.getUniqueId()), 1);
|
||||
|
||||
player.sendMessage(Messages.ITEM_DOESNT_EXIST.getMessage(player));
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
Inventory inv = plugin.getServer().createInventory(null, 27, Methods.color(config.getString("Settings.Bidding-On-Item")));
|
||||
|
||||
if (!bidding.containsKey(player.getUniqueId())) bidding.put(player.getUniqueId(), 0);
|
||||
|
||||
inv.setItem(9, new ItemBuilder().setMaterial(Material.LIME_STAINED_GLASS_PANE).setName("&a+1").setAmount(1).build());
|
||||
@ -512,11 +535,13 @@ public class GuiListener implements Listener {
|
||||
|
||||
FileConfiguration config = Files.config.getConfiguration();
|
||||
FileConfiguration data = Files.data.getConfiguration();
|
||||
|
||||
List<ItemStack> items = new ArrayList<>();
|
||||
List<Integer> ID = new ArrayList<>();
|
||||
|
||||
if (!data.contains("Items")) {
|
||||
data.set("Items.Clear", null);
|
||||
|
||||
Files.data.save();
|
||||
}
|
||||
|
||||
@ -578,11 +603,13 @@ public class GuiListener implements Listener {
|
||||
}
|
||||
|
||||
int maxPage = Methods.getMaxPage(items);
|
||||
|
||||
for (; page > maxPage; page--);
|
||||
|
||||
Inventory inv = plugin.getServer().createInventory(null, 54, Methods.color(config.getString("Settings.GUIName") + " #" + page));
|
||||
|
||||
List<String> options = new ArrayList<>();
|
||||
|
||||
options.add("WhatIsThis.Viewing");
|
||||
|
||||
for (String o : options) {
|
||||
@ -607,10 +634,12 @@ public class GuiListener implements Listener {
|
||||
|
||||
for (ItemStack item : Methods.getPage(items, page)) {
|
||||
int slot = inv.firstEmpty();
|
||||
|
||||
inv.setItem(slot, item);
|
||||
}
|
||||
|
||||
List.put(player.getUniqueId(), new ArrayList<>(Methods.getPageInts(ID, page)));
|
||||
|
||||
player.openInventory(inv);
|
||||
}
|
||||
|
||||
@ -628,6 +657,7 @@ public class GuiListener implements Listener {
|
||||
|
||||
if (config.contains("Settings.GUISettings.OtherSettings.Bidding.Lore")) {
|
||||
List<String> lore = new ArrayList<>();
|
||||
|
||||
for (String l : config.getStringList("Settings.GUISettings.OtherSettings.Bidding.Lore")) {
|
||||
lore.add(l.replace("%Bid%", String.valueOf(bid))
|
||||
.replace("%bid%", String.valueOf(bid))
|
||||
@ -644,7 +674,9 @@ public class GuiListener implements Listener {
|
||||
private static ItemStack getBiddingItem(String ID) {
|
||||
FileConfiguration config = Files.config.getConfiguration();
|
||||
FileConfiguration data = Files.data.getConfiguration();
|
||||
|
||||
ItemStack item = Methods.fromBase64(data.getString("Items." + ID + ".Item"));
|
||||
|
||||
List<String> lore = new ArrayList<>();
|
||||
|
||||
String price = Methods.getPrice(ID, false);
|
||||
@ -698,7 +730,9 @@ public class GuiListener implements Listener {
|
||||
|
||||
private void playSoldSound(@NotNull Player player) {
|
||||
FileConfiguration config = Files.config.getConfiguration();
|
||||
|
||||
String sound = config.getString("Settings.Sold-Item-Sound", "");
|
||||
|
||||
if (sound.isEmpty()) return;
|
||||
|
||||
try {
|
||||
@ -709,6 +743,7 @@ public class GuiListener implements Listener {
|
||||
@EventHandler
|
||||
public void onInvClose(InventoryCloseEvent e) {
|
||||
FileConfiguration config = Files.config.getConfiguration();
|
||||
|
||||
Player player = (Player) e.getPlayer();
|
||||
|
||||
if (e.getView().getTitle().contains(Methods.color(config.getString("Settings.Bidding-On-Item")))) bidding.remove(player);
|
||||
@ -718,6 +753,7 @@ public class GuiListener implements Listener {
|
||||
public void onInvClick(InventoryClickEvent e) {
|
||||
FileConfiguration config = Files.config.getConfiguration();
|
||||
FileConfiguration data = Files.data.getConfiguration();
|
||||
|
||||
Player player = (Player) e.getWhoClicked();
|
||||
final Inventory inv = e.getClickedInventory();
|
||||
|
||||
@ -735,13 +771,17 @@ public class GuiListener implements Listener {
|
||||
for (Category cat : Category.values()) {
|
||||
if (item.getItemMeta().getDisplayName().equals(Methods.color(config.getString("Settings.GUISettings.Category-Settings." + cat.getName() + ".Name")))) {
|
||||
openShop(player, shopType.get(player.getUniqueId()), cat, 1);
|
||||
|
||||
playClick(player);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (item.getItemMeta().getDisplayName().equals(Methods.color(config.getString("Settings.GUISettings.OtherSettings.Back.Name")))) {
|
||||
openShop(player, shopType.get(player.getUniqueId()), shopCategory.get(player.getUniqueId()), 1);
|
||||
|
||||
playClick(player);
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -767,24 +807,30 @@ public class GuiListener implements Listener {
|
||||
String topBidder = data.getString("Items." + ID + ".TopBidder");
|
||||
|
||||
if (plugin.getSupport().getMoney(player) < bid) {
|
||||
HashMap<String, String> placeholders = new HashMap<>();
|
||||
Map<String, String> placeholders = new HashMap<>();
|
||||
|
||||
placeholders.put("%Money_Needed%", (bid - plugin.getSupport().getMoney(player)) + "");
|
||||
placeholders.put("%money_needed%", (bid - plugin.getSupport().getMoney(player)) + "");
|
||||
|
||||
player.sendMessage(Messages.NEED_MORE_MONEY.getMessage(player, placeholders));
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (data.getLong("Items." + ID + ".Price") > bid) {
|
||||
player.sendMessage(Messages.BID_MORE_MONEY.getMessage(player));
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (data.getLong("Items." + ID + ".Price") >= bid && !topBidder.equalsIgnoreCase("None")) {
|
||||
player.sendMessage(Messages.BID_MORE_MONEY.getMessage(player));
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
Bukkit.getPluginManager().callEvent(new AuctionNewBidEvent(player, Methods.fromBase64(data.getString("Items." + ID + ".Item")), bid));
|
||||
plugin.getServer().getPluginManager().callEvent(new AuctionNewBidEvent(player, Methods.fromBase64(data.getString("Items." + ID + ".Item")), bid));
|
||||
|
||||
data.set("Items." + ID + ".Price", bid);
|
||||
data.set("Items." + ID + ".TopBidder", player.getUniqueId().toString());
|
||||
|
||||
@ -815,13 +861,19 @@ public class GuiListener implements Listener {
|
||||
if (item.getItemMeta().getDisplayName().equals(Methods.color(price))) {
|
||||
try {
|
||||
bidding.put(player.getUniqueId(), (bidding.get(player.getUniqueId()) + priceEdits.get(price)));
|
||||
|
||||
inv.setItem(4, getBiddingItem(biddingID.get(player.getUniqueId())));
|
||||
|
||||
inv.setItem(13, getBiddingGlass(player, biddingID.get(player.getUniqueId())));
|
||||
|
||||
playClick(player);
|
||||
|
||||
return;
|
||||
} catch (Exception ex) {
|
||||
player.closeInventory();
|
||||
|
||||
player.sendMessage(Messages.ITEM_DOESNT_EXIST.getMessage(player));
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -844,62 +896,87 @@ public class GuiListener implements Listener {
|
||||
if (item.getItemMeta().hasDisplayName()) {
|
||||
if (item.getItemMeta().getDisplayName().equals(Methods.color(config.getString("Settings.GUISettings.OtherSettings.NextPage.Name")))) {
|
||||
Methods.updateAuction();
|
||||
|
||||
int page = Integer.parseInt(e.getView().getTitle().split("#")[1]);
|
||||
|
||||
openShop(player, shopType.get(player.getUniqueId()), shopCategory.get(player.getUniqueId()), page + 1);
|
||||
|
||||
playClick(player);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (item.getItemMeta().getDisplayName().equals(Methods.color(config.getString("Settings.GUISettings.OtherSettings.PreviousPage.Name")))) {
|
||||
Methods.updateAuction();
|
||||
|
||||
int page = Integer.parseInt(e.getView().getTitle().split("#")[1]);
|
||||
|
||||
if (page == 1) page++;
|
||||
|
||||
openShop(player, shopType.get(player.getUniqueId()), shopCategory.get(player.getUniqueId()), page - 1);
|
||||
|
||||
playClick(player);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (item.getItemMeta().getDisplayName().equals(Methods.color(config.getString("Settings.GUISettings.OtherSettings.Refesh.Name")))) {
|
||||
Methods.updateAuction();
|
||||
|
||||
int page = Integer.parseInt(e.getView().getTitle().split("#")[1]);
|
||||
|
||||
openShop(player, shopType.get(player.getUniqueId()), shopCategory.get(player.getUniqueId()), page);
|
||||
|
||||
playClick(player);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (item.getItemMeta().getDisplayName().equals(Methods.color(config.getString("Settings.GUISettings.OtherSettings.Bidding/Selling.Selling.Name")))) {
|
||||
openShop(player, ShopType.BID, shopCategory.get(player.getUniqueId()), 1);
|
||||
|
||||
playClick(player);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (item.getItemMeta().getDisplayName().equals(Methods.color(config.getString("Settings.GUISettings.OtherSettings.Bidding/Selling.Bidding.Name")))) {
|
||||
openShop(player, ShopType.SELL, shopCategory.get(player.getUniqueId()), 1);
|
||||
|
||||
playClick(player);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (item.getItemMeta().getDisplayName().equals(Methods.color(config.getString("Settings.GUISettings.OtherSettings.Cancelled/ExpiredItems.Name")))) {
|
||||
openPlayersExpiredList(player, 1);
|
||||
|
||||
playClick(player);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (item.getItemMeta().getDisplayName().equals(Methods.color(config.getString("Settings.GUISettings.OtherSettings.SellingItems.Name")))) {
|
||||
openPlayersCurrentList(player, 1);
|
||||
|
||||
playClick(player);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (item.getItemMeta().getDisplayName().equals(Methods.color(config.getString("Settings.GUISettings.OtherSettings.Category1.Name")))) {
|
||||
openCategories(player, shopType.get(player.getUniqueId()));
|
||||
|
||||
playClick(player);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (item.getItemMeta().getDisplayName().equals(Methods.color(config.getString("Settings.GUISettings.OtherSettings.Category2.Name")))) {
|
||||
openCategories(player, shopType.get(player.getUniqueId()));
|
||||
|
||||
playClick(player);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
@ -929,7 +1006,8 @@ public class GuiListener implements Listener {
|
||||
if (player.hasPermission("crazyauctions.admin") || player.hasPermission("crazyauctions.force-end")) {
|
||||
if (e.getAction() == InventoryAction.MOVE_TO_OTHER_INVENTORY) {
|
||||
int num = 1;
|
||||
for (; data.contains("OutOfTime/Cancelled." + num); num++) ;
|
||||
for (; data.contains("OutOfTime/Cancelled." + num); num++);
|
||||
|
||||
String seller = data.getString("Items." + i + ".Seller");
|
||||
Player sellerPlayer = Methods.getPlayer(seller);
|
||||
|
||||
@ -938,17 +1016,24 @@ public class GuiListener implements Listener {
|
||||
}
|
||||
|
||||
AuctionCancelledEvent event = new AuctionCancelledEvent((sellerPlayer != null ? sellerPlayer : Methods.getOfflinePlayer(seller)), Methods.fromBase64(data.getString("Items." + ID + ".Item")), Reasons.ADMIN_FORCE_CANCEL);
|
||||
Bukkit.getPluginManager().callEvent(event);
|
||||
plugin.getServer().getPluginManager().callEvent(event);
|
||||
|
||||
data.set("OutOfTime/Cancelled." + num + ".Seller", data.getString("Items." + i + ".Seller"));
|
||||
data.set("OutOfTime/Cancelled." + num + ".Full-Time", data.getLong("Items." + i + ".Full-Time"));
|
||||
data.set("OutOfTime/Cancelled." + num + ".StoreID", data.getInt("Items." + i + ".StoreID"));
|
||||
data.set("OutOfTime/Cancelled." + num + ".Item", data.getString("Items." + ID + ".Item"));
|
||||
data.set("Items." + i, null);
|
||||
|
||||
Files.data.save();
|
||||
|
||||
player.sendMessage(Messages.ADMIN_FORCE_CANCELLED.getMessage(player));
|
||||
|
||||
playClick(player);
|
||||
|
||||
int page = Integer.parseInt(e.getView().getTitle().split("#")[1]);
|
||||
|
||||
openShop(player, shopType.get(player.getUniqueId()), shopCategory.get(player.getUniqueId()), page);
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -966,8 +1051,11 @@ public class GuiListener implements Listener {
|
||||
}
|
||||
|
||||
inv.setItem(slot, itemBuilder.build());
|
||||
|
||||
playClick(player);
|
||||
Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, runnable, 3 * 20);
|
||||
|
||||
plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, runnable, 3 * 20);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
@ -985,7 +1073,9 @@ public class GuiListener implements Listener {
|
||||
|
||||
inv.setItem(slot, itemBuilder.build());
|
||||
playClick(player);
|
||||
Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, runnable, 3 * 20);
|
||||
|
||||
plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, runnable, 3 * 20);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
@ -1001,16 +1091,21 @@ public class GuiListener implements Listener {
|
||||
}
|
||||
|
||||
inv.setItem(slot, itemBuilder.build());
|
||||
|
||||
playClick(player);
|
||||
Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, runnable, 3 * 20);
|
||||
|
||||
plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, runnable, 3 * 20);
|
||||
return;
|
||||
}
|
||||
|
||||
playClick(player);
|
||||
|
||||
openBidding(player, i);
|
||||
|
||||
biddingID.put(player.getUniqueId(), i);
|
||||
} else {
|
||||
playClick(player);
|
||||
|
||||
openBuying(player, i);
|
||||
}
|
||||
|
||||
@ -1021,8 +1116,11 @@ public class GuiListener implements Listener {
|
||||
|
||||
if (!T) {
|
||||
playClick(player);
|
||||
|
||||
openShop(player, shopType.get(player.getUniqueId()), shopCategory.get(player.getUniqueId()), 1);
|
||||
|
||||
player.sendMessage(Messages.ITEM_DOESNT_EXIST.getMessage(player));
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -1049,25 +1147,33 @@ public class GuiListener implements Listener {
|
||||
|
||||
if (!data.contains("Items." + ID)) {
|
||||
playClick(player);
|
||||
|
||||
openShop(player, shopType.get(player.getUniqueId()), shopCategory.get(player.getUniqueId()), 1);
|
||||
|
||||
player.sendMessage(Messages.ITEM_DOESNT_EXIST.getMessage(player));
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (Methods.isInvFull(player)) {
|
||||
playClick(player);
|
||||
|
||||
player.closeInventory();
|
||||
player.sendMessage(Messages.INVENTORY_FULL.getMessage(player));
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (plugin.getSupport().getMoney(player) < cost) {
|
||||
playClick(player);
|
||||
player.closeInventory();
|
||||
HashMap<String, String> placeholders = new HashMap<>();
|
||||
|
||||
Map<String, String> placeholders = new HashMap<>();
|
||||
placeholders.put("%Money_Needed%", (cost - plugin.getSupport().getMoney(player)) + "");
|
||||
placeholders.put("%money_needed%", (cost - plugin.getSupport().getMoney(player)) + "");
|
||||
|
||||
player.sendMessage(Messages.NEED_MORE_MONEY.getMessage(player, placeholders));
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
@ -1077,7 +1183,7 @@ public class GuiListener implements Listener {
|
||||
plugin.getSupport().removeMoney(player, cost);
|
||||
plugin.getSupport().addMoney(Methods.getOfflinePlayer(seller), cost);
|
||||
|
||||
HashMap<String, String> placeholders = new HashMap<>();
|
||||
Map<String, String> placeholders = new HashMap<>();
|
||||
|
||||
String price = Methods.getPrice(ID, false);
|
||||
|
||||
@ -1098,16 +1204,22 @@ public class GuiListener implements Listener {
|
||||
}
|
||||
|
||||
player.getInventory().addItem(i);
|
||||
|
||||
data.set("Items." + ID, null);
|
||||
Files.data.save();
|
||||
|
||||
playClick(player);
|
||||
|
||||
openShop(player, shopType.get(player.getUniqueId()), shopCategory.get(player.getUniqueId()), 1);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (item.getItemMeta().getDisplayName().equals(Methods.color(config.getString("Settings.GUISettings.OtherSettings.Cancel.Name")))) {
|
||||
openShop(player, shopType.get(player.getUniqueId()), shopCategory.get(player.getUniqueId()), 1);
|
||||
|
||||
playClick(player);
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -1118,6 +1230,7 @@ public class GuiListener implements Listener {
|
||||
|
||||
if (e.getView().getTitle().contains(Methods.color(config.getString("Settings.Players-Current-Items")))) {
|
||||
e.setCancelled(true);
|
||||
|
||||
int slot = e.getRawSlot();
|
||||
|
||||
if (slot <= inv.getSize()) {
|
||||
@ -1128,7 +1241,9 @@ public class GuiListener implements Listener {
|
||||
if (item.getItemMeta().hasDisplayName()) {
|
||||
if (item.getItemMeta().getDisplayName().equals(Methods.color(config.getString("Settings.GUISettings.OtherSettings.Back.Name")))) {
|
||||
openShop(player, shopType.get(player.getUniqueId()), shopCategory.get(player.getUniqueId()), 1);
|
||||
|
||||
playClick(player);
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -1142,18 +1257,26 @@ public class GuiListener implements Listener {
|
||||
int ID = data.getInt("Items." + i + ".StoreID");
|
||||
if (id == ID) {
|
||||
player.sendMessage(Messages.CANCELLED_ITEM.getMessage(player));
|
||||
|
||||
AuctionCancelledEvent event = new AuctionCancelledEvent(player, Methods.fromBase64(data.getString("Items." + i + ".Item")), Reasons.PLAYER_FORCE_CANCEL);
|
||||
Bukkit.getPluginManager().callEvent(event);
|
||||
plugin.getServer().getPluginManager().callEvent(event);
|
||||
|
||||
int num = 1;
|
||||
for (; data.contains("OutOfTime/Cancelled." + num); num++) ;
|
||||
|
||||
data.set("OutOfTime/Cancelled." + num + ".Seller", data.getString("Items." + i + ".Seller"));
|
||||
data.set("OutOfTime/Cancelled." + num + ".Full-Time", data.getLong("Items." + i + ".Full-Time"));
|
||||
data.set("OutOfTime/Cancelled." + num + ".StoreID", data.getInt("Items." + i + ".StoreID"));
|
||||
data.set("OutOfTime/Cancelled." + num + ".Item", data.getString("Items." + i + ".Item"));
|
||||
|
||||
data.set("Items." + i, null);
|
||||
|
||||
Files.data.save();
|
||||
|
||||
playClick(player);
|
||||
|
||||
openPlayersCurrentList(player, 1);
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -1161,8 +1284,11 @@ public class GuiListener implements Listener {
|
||||
|
||||
if (!T) {
|
||||
playClick(player);
|
||||
|
||||
openShop(player, shopType.get(player.getUniqueId()), shopCategory.get(player.getUniqueId()), 1);
|
||||
|
||||
player.sendMessage(Messages.ITEM_DOESNT_EXIST.getMessage(player));
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -1174,39 +1300,54 @@ public class GuiListener implements Listener {
|
||||
|
||||
if (e.getView().getTitle().contains(Methods.color(config.getString("Settings.Cancelled/Expired-Items")))) {
|
||||
e.setCancelled(true);
|
||||
|
||||
final int slot = e.getRawSlot();
|
||||
|
||||
if (slot <= inv.getSize()) {
|
||||
if (e.getCurrentItem() != null) {
|
||||
final ItemStack item = e.getCurrentItem();
|
||||
|
||||
if (item.hasItemMeta()) {
|
||||
if (item.getItemMeta().hasDisplayName()) {
|
||||
if (item.getItemMeta().getDisplayName().equals(Methods.color(config.getString("Settings.GUISettings.OtherSettings.Back.Name")))) {
|
||||
Methods.updateAuction();
|
||||
|
||||
playClick(player);
|
||||
|
||||
openShop(player, shopType.get(player.getUniqueId()), shopCategory.get(player.getUniqueId()), 1);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (item.getItemMeta().getDisplayName().equals(Methods.color(config.getString("Settings.GUISettings.OtherSettings.PreviousPage.Name")))) {
|
||||
Methods.updateAuction();
|
||||
|
||||
int page = Integer.parseInt(e.getView().getTitle().split("#")[1]);
|
||||
|
||||
if (page == 1) page++;
|
||||
|
||||
playClick(player);
|
||||
|
||||
openPlayersExpiredList(player, (page - 1));
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (item.getItemMeta().getDisplayName().equals(Methods.color(config.getString("Settings.GUISettings.OtherSettings.Return.Name")))) {
|
||||
Methods.updateAuction();
|
||||
|
||||
int page = Integer.parseInt(e.getView().getTitle().split("#")[1]);
|
||||
|
||||
if (data.contains("OutOfTime/Cancelled")) {
|
||||
for (String i : data.getConfigurationSection("OutOfTime/Cancelled").getKeys(false)) {
|
||||
if (data.getString("OutOfTime/Cancelled." + i + ".Seller").equalsIgnoreCase(player.getUniqueId().toString())) {
|
||||
if (Methods.isInvFull(player)) {
|
||||
player.sendMessage(Messages.INVENTORY_FULL.getMessage(player));
|
||||
|
||||
break;
|
||||
} else {
|
||||
player.getInventory().addItem(Methods.fromBase64(data.getString("OutOfTime/Cancelled." + i + ".Item")));
|
||||
|
||||
data.set("OutOfTime/Cancelled." + i, null);
|
||||
}
|
||||
}
|
||||
@ -1214,17 +1355,25 @@ public class GuiListener implements Listener {
|
||||
}
|
||||
|
||||
player.sendMessage(Messages.GOT_ITEM_BACK.getMessage(player));
|
||||
|
||||
Files.data.save();
|
||||
|
||||
playClick(player);
|
||||
|
||||
openPlayersExpiredList(player, page);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (item.getItemMeta().getDisplayName().equals(Methods.color(config.getString("Settings.GUISettings.OtherSettings.NextPage.Name")))) {
|
||||
Methods.updateAuction();
|
||||
|
||||
int page = Integer.parseInt(e.getView().getTitle().split("#")[1]);
|
||||
|
||||
playClick(player);
|
||||
|
||||
openPlayersExpiredList(player, (page + 1));
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -1232,21 +1381,30 @@ public class GuiListener implements Listener {
|
||||
if (List.containsKey(player.getUniqueId())) {
|
||||
if (List.get(player.getUniqueId()).size() >= slot) {
|
||||
int id = List.get(player.getUniqueId()).get(slot);
|
||||
|
||||
boolean T = false;
|
||||
|
||||
if (data.contains("OutOfTime/Cancelled")) {
|
||||
for (String i : data.getConfigurationSection("OutOfTime/Cancelled").getKeys(false)) {
|
||||
int ID = data.getInt("OutOfTime/Cancelled." + i + ".StoreID");
|
||||
|
||||
if (id == ID) {
|
||||
if (!Methods.isInvFull(player)) {
|
||||
player.sendMessage(Messages.GOT_ITEM_BACK.getMessage(player));
|
||||
|
||||
player.getInventory().addItem(Methods.fromBase64(data.getString("OutOfTime/Cancelled." + i + ".Item")));
|
||||
|
||||
data.set("OutOfTime/Cancelled." + i, null);
|
||||
|
||||
Files.data.save();
|
||||
|
||||
playClick(player);
|
||||
|
||||
openPlayersExpiredList(player, 1);
|
||||
} else {
|
||||
player.sendMessage(Messages.INVENTORY_FULL.getMessage(player));
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -1254,7 +1412,9 @@ public class GuiListener implements Listener {
|
||||
|
||||
if (!T) {
|
||||
playClick(player);
|
||||
|
||||
openShop(player, shopType.get(player.getUniqueId()), shopCategory.get(player.getUniqueId()), 1);
|
||||
|
||||
player.sendMessage(Messages.ITEM_DOESNT_EXIST.getMessage(player));
|
||||
}
|
||||
}
|
||||
|
@ -14,32 +14,32 @@ public class VaultSupport {
|
||||
private Economy vault = null;
|
||||
|
||||
public Economy getVault() {
|
||||
return vault;
|
||||
return this.vault;
|
||||
}
|
||||
|
||||
public void loadVault() {
|
||||
RegisteredServiceProvider<Economy> serviceProvider = this.plugin.getServer().getServicesManager().getRegistration(Economy.class);
|
||||
|
||||
if (serviceProvider != null) vault = serviceProvider.getProvider();
|
||||
if (serviceProvider != null) this.vault = serviceProvider.getProvider();
|
||||
}
|
||||
|
||||
public Long getMoney(@NotNull Player player) {
|
||||
return (long) vault.getBalance(player);
|
||||
public long getMoney(@NotNull Player player) {
|
||||
return (long) this.vault.getBalance(player);
|
||||
}
|
||||
|
||||
public void removeMoney(@NotNull Player player, Long amount) {
|
||||
vault.withdrawPlayer(player, amount);
|
||||
public void removeMoney(@NotNull Player player, long amount) {
|
||||
this.vault.withdrawPlayer(player, amount);
|
||||
}
|
||||
|
||||
public void removeMoney(@NotNull OfflinePlayer player, Long amount) {
|
||||
vault.withdrawPlayer(player, amount);
|
||||
public void removeMoney(@NotNull OfflinePlayer player, long amount) {
|
||||
this.vault.withdrawPlayer(player, amount);
|
||||
}
|
||||
|
||||
public void addMoney(Player player, Long amount) {
|
||||
vault.depositPlayer(player, amount);
|
||||
public void addMoney(Player player, long amount) {
|
||||
this.vault.depositPlayer(player, amount);
|
||||
}
|
||||
|
||||
public void addMoney(OfflinePlayer player, Long amount) {
|
||||
vault.depositPlayer(player, amount);
|
||||
public void addMoney(OfflinePlayer player, long amount) {
|
||||
this.vault.depositPlayer(player, amount);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user