mirror of
https://github.com/Crazy-Crew/CrazyAuctions.git
synced 2024-11-25 12:25:20 +01:00
v1.2.6 Update
Added: - New options to disable and enable the Selling and Bidding features. - New messages in the Messages.yml. Changes: - Recoded how the whole messaging system works. - Recoded the file system and how all yml files are accessed and controlled.
This commit is contained in:
parent
9d44a5d701
commit
a709c220ee
12
pom.xml
12
pom.xml
@ -6,7 +6,7 @@
|
||||
|
||||
<groupId>me.badbones69</groupId>
|
||||
<artifactId>crazyauctions</artifactId>
|
||||
<version>1.2.5.1</version>
|
||||
<version>1.2.6</version>
|
||||
|
||||
<repositories>
|
||||
<repository>
|
||||
@ -17,6 +17,10 @@
|
||||
<id>vault-repo</id>
|
||||
<url>http://nexus.hc.to/content/repositories/pub_releases</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>reserve-repo</id>
|
||||
<url>https://dl.bintray.com/theneweconomy/java/</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
|
||||
<dependencies>
|
||||
@ -32,6 +36,12 @@
|
||||
<version>1.6</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.tnemc</groupId>
|
||||
<artifactId>Reserve</artifactId>
|
||||
<version>0.1.0.10</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
|
@ -1,12 +1,10 @@
|
||||
package me.badbones69.crazyauctions;
|
||||
|
||||
import com.massivestats.MassiveStats;
|
||||
import me.badbones69.crazyauctions.api.Category;
|
||||
import me.badbones69.crazyauctions.api.CrazyAuctions;
|
||||
import me.badbones69.crazyauctions.api.SettingsManager;
|
||||
import me.badbones69.crazyauctions.api.ShopType;
|
||||
import me.badbones69.crazyauctions.api.*;
|
||||
import me.badbones69.crazyauctions.api.FileManager.Files;
|
||||
import me.badbones69.crazyauctions.api.events.AuctionListEvent;
|
||||
import me.badbones69.crazyauctions.controlers.GUI;
|
||||
import me.badbones69.crazyauctions.controllers.GUI;
|
||||
import me.badbones69.crazyauctions.currency.Vault;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
@ -22,18 +20,19 @@ import org.bukkit.plugin.java.JavaPlugin;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Random;
|
||||
|
||||
public class Main extends JavaPlugin implements Listener {
|
||||
|
||||
public static SettingsManager settings = SettingsManager.getInstance();
|
||||
public static CrazyAuctions auc = CrazyAuctions.getInstance();
|
||||
public static FileManager fileManager = FileManager.getInstance();
|
||||
public static CrazyAuctions crazyAuctions = CrazyAuctions.getInstance();
|
||||
|
||||
@Override
|
||||
public void onEnable() {
|
||||
saveDefaultConfig();
|
||||
settings.setup(this);
|
||||
// Methods.hasUpdate();
|
||||
fileManager.logInfo(true).setup(this);
|
||||
crazyAuctions.loadCrazyAuctions();
|
||||
Bukkit.getServer().getPluginManager().registerEvents(this, this);
|
||||
Bukkit.getServer().getPluginManager().registerEvents(new GUI(), this);
|
||||
Methods.updateAuction();
|
||||
@ -45,13 +44,14 @@ public class Main extends JavaPlugin implements Listener {
|
||||
MassiveStats massiveStats = new MassiveStats(this);
|
||||
}catch(Exception e) {
|
||||
}
|
||||
Messages.addMissingMessages();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDisable() {
|
||||
int file = 0;
|
||||
Bukkit.getScheduler().cancelTask(file);
|
||||
settings.saveData();
|
||||
Files.DATA.saveFile();
|
||||
}
|
||||
|
||||
public boolean onCommand(CommandSender sender, Command cmd, String commandLable, String[] args) {
|
||||
@ -59,40 +59,42 @@ public class Main extends JavaPlugin implements Listener {
|
||||
if(args.length == 0) {
|
||||
if(!Methods.hasPermission(sender, "Access")) return true;
|
||||
if(!(sender instanceof Player)) {
|
||||
sender.sendMessage(Methods.getPrefix() + Methods.color(settings.getMsg().getString("Messages.Players-Only")));
|
||||
sender.sendMessage(Messages.PLAYERS_ONLY.getMessage());
|
||||
return true;
|
||||
}
|
||||
Player player = (Player) sender;
|
||||
if(settings.getConfig().contains("Settings.Category-Page-Opens-First")) {
|
||||
if(settings.getConfig().getBoolean("Settings.Category-Page-Opens-First")) {
|
||||
GUI.openCateories(player, ShopType.SELL);
|
||||
if(Files.CONFIG.getFile().contains("Settings.Category-Page-Opens-First")) {
|
||||
if(Files.CONFIG.getFile().getBoolean("Settings.Category-Page-Opens-First")) {
|
||||
GUI.openCategories(player, ShopType.SELL);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
GUI.openShop(player, ShopType.SELL, Category.NONE, 1);
|
||||
if(crazyAuctions.isSellingEnabled()) {
|
||||
GUI.openShop(player, ShopType.SELL, Category.NONE, 1);
|
||||
}else if(crazyAuctions.isBiddingEnabled()) {
|
||||
GUI.openShop(player, ShopType.BID, Category.NONE, 1);
|
||||
}else {
|
||||
player.sendMessage(Methods.getPrefix() + Methods.color("&cThe bidding and selling options are both disabled. Please contact the admin about this."));
|
||||
}
|
||||
return true;
|
||||
}
|
||||
if(args.length >= 1) {
|
||||
if(args[0].equalsIgnoreCase("Help")) {// CA Help
|
||||
if(!Methods.hasPermission(sender, "Access")) return true;
|
||||
for(String msg : settings.getMsg().getStringList("Messages.Help-Menu")) {
|
||||
sender.sendMessage(Methods.color(msg));
|
||||
}
|
||||
sender.sendMessage(Messages.HELP.getMessage());
|
||||
return true;
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("Reload")) {// CA Reload
|
||||
if(!Methods.hasPermission(sender, "Admin")) return true;
|
||||
settings.reloadConfig();
|
||||
settings.reloadData();
|
||||
settings.reloadMsg();
|
||||
settings.setup(this);
|
||||
sender.sendMessage(Methods.getPrefix() + Methods.color(settings.getMsg().getString("Messages.Reload")));
|
||||
fileManager.logInfo(true).setup(this);
|
||||
crazyAuctions.loadCrazyAuctions();
|
||||
sender.sendMessage(Messages.RELOAD.getMessage());
|
||||
return true;
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("View")) {// CA Reload
|
||||
if(args[0].equalsIgnoreCase("View")) {// CA View <Player>
|
||||
if(!Methods.hasPermission(sender, "View")) return true;
|
||||
if(!(sender instanceof Player)) {
|
||||
sender.sendMessage(Methods.getPrefix() + Methods.color(settings.getMsg().getString("Messages.Players-Only")));
|
||||
sender.sendMessage(Messages.PLAYERS_ONLY.getMessage());
|
||||
return true;
|
||||
}
|
||||
if(args.length >= 2) {
|
||||
@ -100,13 +102,13 @@ public class Main extends JavaPlugin implements Listener {
|
||||
GUI.openViewer(player, args[1], 1);
|
||||
return true;
|
||||
}
|
||||
sender.sendMessage(Methods.getPrefix() + Methods.color("&c/CA View <Player>"));
|
||||
sender.sendMessage(Messages.CRAZYAUCTIONS_VIEW.getMessage());
|
||||
return true;
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("Expired") || args[0].equalsIgnoreCase("Collect")) {// CA Expired
|
||||
if(!Methods.hasPermission(sender, "Access")) return true;
|
||||
if(!(sender instanceof Player)) {
|
||||
sender.sendMessage(Methods.getPrefix() + Methods.color(settings.getMsg().getString("Messages.Players-Only")));
|
||||
sender.sendMessage(Messages.PLAYERS_ONLY.getMessage());
|
||||
return true;
|
||||
}
|
||||
Player player = (Player) sender;
|
||||
@ -116,7 +118,7 @@ public class Main extends JavaPlugin implements Listener {
|
||||
if(args[0].equalsIgnoreCase("Listed")) {// CA Listed
|
||||
if(!Methods.hasPermission(sender, "Access")) return true;
|
||||
if(!(sender instanceof Player)) {
|
||||
sender.sendMessage(Methods.getPrefix() + Methods.color(settings.getMsg().getString("Messages.Players-Only")));
|
||||
sender.sendMessage(Messages.PLAYERS_ONLY.getMessage());
|
||||
return true;
|
||||
}
|
||||
Player player = (Player) sender;
|
||||
@ -125,22 +127,32 @@ public class Main extends JavaPlugin implements Listener {
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("Sell") || args[0].equalsIgnoreCase("Bid")) {// /CA Sell/Bid <Price> [Amount of Items]
|
||||
if(!(sender instanceof Player)) {
|
||||
sender.sendMessage(Methods.getPrefix() + Methods.color(settings.getMsg().getString("Messages.Players-Only")));
|
||||
sender.sendMessage(Messages.PLAYERS_ONLY.getMessage());
|
||||
return true;
|
||||
}
|
||||
if(args.length >= 2) {
|
||||
Player player = (Player) sender;
|
||||
if(args[0].equalsIgnoreCase("Sell")) {
|
||||
if(!crazyAuctions.isSellingEnabled()) {
|
||||
player.sendMessage(Messages.SELLING_DISABLED.getMessage());
|
||||
return true;
|
||||
}
|
||||
if(!Methods.hasPermission(player, "Sell")) return true;
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("Bid")) {
|
||||
if(!crazyAuctions.isBiddingEnabled()) {
|
||||
player.sendMessage(Messages.BIDDING_DISABLED.getMessage());
|
||||
return true;
|
||||
}
|
||||
if(!Methods.hasPermission(player, "Bid")) return true;
|
||||
}
|
||||
ItemStack item = Methods.getItemInHand(player);
|
||||
int amount = item.getAmount();
|
||||
if(args.length >= 3) {
|
||||
if(!Methods.isInt(args[2])) {
|
||||
player.sendMessage(Methods.getPrefix() + Methods.color(settings.getMsg().getString("Messages.Not-A-Number").replaceAll("%Arg%", args[2]).replaceAll("%arg%", args[2])));
|
||||
HashMap<String, String> placeholders = new HashMap<>();
|
||||
placeholders.put("%Arg%", args[2]);
|
||||
player.sendMessage(Messages.NOT_A_NUMBER.getMessage(placeholders));
|
||||
return true;
|
||||
}
|
||||
amount = Integer.parseInt(args[2]);
|
||||
@ -148,30 +160,32 @@ public class Main extends JavaPlugin implements Listener {
|
||||
if(amount > item.getAmount()) amount = item.getAmount();
|
||||
}
|
||||
if(!Methods.isLong(args[1])) {
|
||||
player.sendMessage(Methods.getPrefix() + Methods.color(settings.getMsg().getString("Messages.Not-A-Number").replaceAll("%Arg%", args[1]).replaceAll("%arg%", args[1])));
|
||||
HashMap<String, String> placeholders = new HashMap<>();
|
||||
placeholders.put("%Arg%", args[1]);
|
||||
player.sendMessage(Messages.NOT_A_NUMBER.getMessage(placeholders));
|
||||
return true;
|
||||
}
|
||||
if(Methods.getItemInHand(player).getType() == Material.AIR) {
|
||||
player.sendMessage(Methods.getPrefix() + Methods.color(settings.getMsg().getString("Messages.Doesnt-Have-Item-In-Hand")));
|
||||
player.sendMessage(Messages.DOSENT_HAVE_ITEM_IN_HAND.getMessage());
|
||||
return false;
|
||||
}
|
||||
Long price = Long.parseLong(args[1]);
|
||||
if(args[0].equalsIgnoreCase("Bid")) {
|
||||
if(price < settings.getConfig().getLong("Settings.Minimum-Bid-Price")) {
|
||||
player.sendMessage(Methods.getPrefix() + Methods.color(settings.getMsg().getString("Messages.Bid-Price-To-Low")));
|
||||
if(price < Files.CONFIG.getFile().getLong("Settings.Minimum-Bid-Price")) {
|
||||
player.sendMessage(Messages.BID_PRICE_TO_LOW.getMessage());
|
||||
return true;
|
||||
}
|
||||
if(price > settings.getConfig().getLong("Settings.Max-Beginning-Bid-Price")) {
|
||||
player.sendMessage(Methods.getPrefix() + Methods.color(settings.getMsg().getString("Messages.Bid-Price-To-High")));
|
||||
if(price > Files.CONFIG.getFile().getLong("Settings.Max-Beginning-Bid-Price")) {
|
||||
player.sendMessage(Messages.BID_PRICE_TO_HIGH.getMessage());
|
||||
return true;
|
||||
}
|
||||
}else {
|
||||
if(price < settings.getConfig().getLong("Settings.Minimum-Sell-Price")) {
|
||||
player.sendMessage(Methods.getPrefix() + Methods.color(settings.getMsg().getString("Messages.Sell-Price-To-Low")));
|
||||
if(price < Files.CONFIG.getFile().getLong("Settings.Minimum-Sell-Price")) {
|
||||
player.sendMessage(Messages.SELL_PRICE_TO_LOW.getMessage());
|
||||
return true;
|
||||
}
|
||||
if(price > settings.getConfig().getLong("Settings.Max-Beginning-Sell-Price")) {
|
||||
player.sendMessage(Methods.getPrefix() + Methods.color(settings.getMsg().getString("Messages.Sell-Price-To-High")));
|
||||
if(price > Files.CONFIG.getFile().getLong("Settings.Max-Beginning-Sell-Price")) {
|
||||
player.sendMessage(Messages.SELL_PRICE_TO_HIGH.getMessage());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@ -210,29 +224,29 @@ public class Main extends JavaPlugin implements Listener {
|
||||
}
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("Sell")) {
|
||||
if(auc.getItems(player, ShopType.SELL).size() >= SellLimit) {
|
||||
player.sendMessage(Methods.getPrefix() + Methods.color(settings.getMsg().getString("Messages.Max-Items")));
|
||||
if(crazyAuctions.getItems(player, ShopType.SELL).size() >= SellLimit) {
|
||||
player.sendMessage(Messages.MAX_ITEMS.getMessage());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("Bid")) {
|
||||
if(auc.getItems(player, ShopType.BID).size() >= BidLimit) {
|
||||
player.sendMessage(Methods.getPrefix() + Methods.color(settings.getMsg().getString("Messages.Max-Items")));
|
||||
if(crazyAuctions.getItems(player, ShopType.BID).size() >= BidLimit) {
|
||||
player.sendMessage(Messages.MAX_ITEMS.getMessage());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
for(String id : settings.getConfig().getStringList("Settings.BlackList")) {
|
||||
for(String id : Files.CONFIG.getFile().getStringList("Settings.BlackList")) {
|
||||
if(item.getType() == Methods.makeItem(id, 1).getType()) {
|
||||
player.sendMessage(Methods.getPrefix() + Methods.color(settings.getMsg().getString("Messages.Item-BlackListed")));
|
||||
player.sendMessage(Messages.ITEM_BLACKLISTED.getMessage());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if(!settings.getConfig().getBoolean("Settings.Allow-Damaged-Items")) {
|
||||
if(!Files.CONFIG.getFile().getBoolean("Settings.Allow-Damaged-Items")) {
|
||||
for(Material i : getDamageableItems()) {
|
||||
if(item.getType() == i) {
|
||||
if(item.getDurability() > 0) {
|
||||
player.sendMessage(Methods.getPrefix() + Methods.color(settings.getMsg().getString("Messages.Item-Damaged")));
|
||||
player.sendMessage(Messages.ITEM_DAMAGED.getMessage());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@ -241,38 +255,40 @@ public class Main extends JavaPlugin implements Listener {
|
||||
String seller = player.getName();
|
||||
int num = 1;
|
||||
Random r = new Random();
|
||||
for(; settings.getData().contains("Items." + num); num++) ;
|
||||
settings.getData().set("Items." + num + ".Price", price);
|
||||
settings.getData().set("Items." + num + ".Seller", seller);
|
||||
for(; Files.DATA.getFile().contains("Items." + num); num++) ;
|
||||
Files.DATA.getFile().set("Items." + num + ".Price", price);
|
||||
Files.DATA.getFile().set("Items." + num + ".Seller", seller);
|
||||
if(args[0].equalsIgnoreCase("Bid")) {
|
||||
settings.getData().set("Items." + num + ".Time-Till-Expire", Methods.convertToMill(settings.getConfig().getString("Settings.Bid-Time")));
|
||||
Files.DATA.getFile().set("Items." + num + ".Time-Till-Expire", Methods.convertToMill(Files.CONFIG.getFile().getString("Settings.Bid-Time")));
|
||||
}else {
|
||||
settings.getData().set("Items." + num + ".Time-Till-Expire", Methods.convertToMill(settings.getConfig().getString("Settings.Sell-Time")));
|
||||
Files.DATA.getFile().set("Items." + num + ".Time-Till-Expire", Methods.convertToMill(Files.CONFIG.getFile().getString("Settings.Sell-Time")));
|
||||
}
|
||||
settings.getData().set("Items." + num + ".Full-Time", Methods.convertToMill(settings.getConfig().getString("Settings.Full-Expire-Time")));
|
||||
Files.DATA.getFile().set("Items." + num + ".Full-Time", Methods.convertToMill(Files.CONFIG.getFile().getString("Settings.Full-Expire-Time")));
|
||||
int id = r.nextInt(999999);
|
||||
// Runs 3x to check for same ID.
|
||||
for(String i : settings.getData().getConfigurationSection("Items").getKeys(false))
|
||||
if(settings.getData().getInt("Items." + i + ".StoreID") == id) id = r.nextInt(Integer.MAX_VALUE);
|
||||
for(String i : settings.getData().getConfigurationSection("Items").getKeys(false))
|
||||
if(settings.getData().getInt("Items." + i + ".StoreID") == id) id = r.nextInt(Integer.MAX_VALUE);
|
||||
for(String i : settings.getData().getConfigurationSection("Items").getKeys(false))
|
||||
if(settings.getData().getInt("Items." + i + ".StoreID") == id) id = r.nextInt(Integer.MAX_VALUE);
|
||||
settings.getData().set("Items." + num + ".StoreID", id);
|
||||
for(String i : Files.DATA.getFile().getConfigurationSection("Items").getKeys(false))
|
||||
if(Files.DATA.getFile().getInt("Items." + i + ".StoreID") == id) id = r.nextInt(Integer.MAX_VALUE);
|
||||
for(String i : Files.DATA.getFile().getConfigurationSection("Items").getKeys(false))
|
||||
if(Files.DATA.getFile().getInt("Items." + i + ".StoreID") == id) id = r.nextInt(Integer.MAX_VALUE);
|
||||
for(String i : Files.DATA.getFile().getConfigurationSection("Items").getKeys(false))
|
||||
if(Files.DATA.getFile().getInt("Items." + i + ".StoreID") == id) id = r.nextInt(Integer.MAX_VALUE);
|
||||
Files.DATA.getFile().set("Items." + num + ".StoreID", id);
|
||||
ShopType type = ShopType.SELL;
|
||||
if(args[0].equalsIgnoreCase("Bid")) {
|
||||
settings.getData().set("Items." + num + ".Biddable", true);
|
||||
Files.DATA.getFile().set("Items." + num + ".Biddable", true);
|
||||
type = ShopType.BID;
|
||||
}else {
|
||||
settings.getData().set("Items." + num + ".Biddable", false);
|
||||
Files.DATA.getFile().set("Items." + num + ".Biddable", false);
|
||||
}
|
||||
settings.getData().set("Items." + num + ".TopBidder", "None");
|
||||
Files.DATA.getFile().set("Items." + num + ".TopBidder", "None");
|
||||
ItemStack I = item.clone();
|
||||
I.setAmount(amount);
|
||||
settings.getData().set("Items." + num + ".Item", I);
|
||||
settings.saveData();
|
||||
Files.DATA.getFile().set("Items." + num + ".Item", I);
|
||||
Files.DATA.saveFile();
|
||||
Bukkit.getPluginManager().callEvent(new AuctionListEvent(player, type, I, price));
|
||||
player.sendMessage(Methods.getPrefix() + Methods.color(settings.getMsg().getString("Messages.Added-Item-To-Auction").replaceAll("%Price%", price + "").replaceAll("%price%", price + "")));
|
||||
HashMap<String, String> placeholders = new HashMap<>();
|
||||
placeholders.put("%Price%", price + "");
|
||||
player.sendMessage(Messages.ADDED_ITEM_TO_AUCTION.getMessage(placeholders));
|
||||
if(item.getAmount() <= 1 || (item.getAmount() - amount) <= 0) {
|
||||
Methods.setItemInHand(player, new ItemStack(Material.AIR));
|
||||
}else {
|
||||
@ -280,12 +296,12 @@ public class Main extends JavaPlugin implements Listener {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
sender.sendMessage(Methods.getPrefix() + Methods.color("/CA Sell/Bid <Price> [Amount of items]"));
|
||||
sender.sendMessage(Messages.CRAZYAUCTIONS_SELL_BID.getMessage());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
sender.sendMessage(Methods.getPrefix() + Methods.color("/CA Help"));
|
||||
sender.sendMessage(Messages.CRAZYAUCTIONS_HELP.getMessage());
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,8 @@
|
||||
package me.badbones69.crazyauctions;
|
||||
|
||||
import me.badbones69.crazyauctions.api.FileManager;
|
||||
import me.badbones69.crazyauctions.api.FileManager.Files;
|
||||
import me.badbones69.crazyauctions.api.Messages;
|
||||
import me.badbones69.crazyauctions.api.events.AuctionWinBidEvent;
|
||||
import me.badbones69.crazyauctions.currency.CurrencyManager;
|
||||
import org.bukkit.*;
|
||||
@ -12,25 +15,27 @@ import org.bukkit.inventory.meta.ItemMeta;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
|
||||
import java.text.NumberFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
|
||||
public class Methods {
|
||||
|
||||
public static Plugin plugin = Bukkit.getServer().getPluginManager().getPlugin("CrazyAuctions");
|
||||
private static FileManager fileManager = FileManager.getInstance();
|
||||
|
||||
public static String color(String msg) {
|
||||
return ChatColor.translateAlternateColorCodes('&', msg);
|
||||
}
|
||||
|
||||
public static String removeColor(String msg) {
|
||||
return ChatColor.stripColor(msg);
|
||||
public static String getPrefix() {
|
||||
return color(Files.CONFIG.getFile().getString("Settings.Prefix"));
|
||||
}
|
||||
|
||||
public static String getPrefix() {
|
||||
return color(Main.settings.getConfig().getString("Settings.Prefix"));
|
||||
public static String getPrefix(String msg) {
|
||||
return color(Files.CONFIG.getFile().getString("Settings.Prefix") + msg);
|
||||
}
|
||||
|
||||
public static String removeColor(String msg) {
|
||||
return ChatColor.stripColor(msg);
|
||||
}
|
||||
|
||||
public static ItemStack makeItem(String type, int amount) {
|
||||
@ -41,7 +46,7 @@ public class Methods {
|
||||
ty = Integer.parseInt(b[1]);
|
||||
}
|
||||
Material m = Material.matchMaterial(type);
|
||||
ItemStack item = null;
|
||||
ItemStack item;
|
||||
try {
|
||||
item = new ItemStack(m, amount, (short) ty);
|
||||
}catch(Exception e) {
|
||||
@ -58,7 +63,7 @@ public class Methods {
|
||||
ty = Integer.parseInt(b[1]);
|
||||
}
|
||||
Material m = Material.matchMaterial(type);
|
||||
ItemStack item = null;
|
||||
ItemStack item;
|
||||
try {
|
||||
item = new ItemStack(m, amount, (short) ty);
|
||||
}catch(Exception e) {
|
||||
@ -79,7 +84,7 @@ public class Methods {
|
||||
ty = Integer.parseInt(b[1]);
|
||||
}
|
||||
Material m = Material.matchMaterial(type);
|
||||
ItemStack item = null;
|
||||
ItemStack item;
|
||||
try {
|
||||
item = new ItemStack(m, amount, (short) ty);
|
||||
}catch(Exception e) {
|
||||
@ -222,13 +227,13 @@ public class Methods {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
p.sendMessage(color(Main.settings.getMsg().getString("Messages.Not-Online")));
|
||||
p.sendMessage(Messages.NOT_ONLINE.getMessage());
|
||||
return false;
|
||||
}
|
||||
|
||||
public static boolean hasPermission(Player player, String perm) {
|
||||
if(!player.hasPermission("crazyauctions." + perm)) {
|
||||
player.sendMessage(color(Main.settings.getMsg().getString("Messages.No-Permission")));
|
||||
player.sendMessage(Messages.NO_PERMISSION.getMessage());
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
@ -238,7 +243,7 @@ public class Methods {
|
||||
if(sender instanceof Player) {
|
||||
Player player = (Player) sender;
|
||||
if(!player.hasPermission("crazyauctions." + perm)) {
|
||||
player.sendMessage(color(Main.settings.getMsg().getString("Messages.No-Permission")));
|
||||
player.sendMessage(Messages.NO_PERMISSION.getMessage());
|
||||
return false;
|
||||
}else {
|
||||
return true;
|
||||
@ -331,15 +336,11 @@ public class Methods {
|
||||
}
|
||||
|
||||
public static boolean isInvFull(Player player) {
|
||||
if(player.getInventory().firstEmpty() == -1) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
return player.getInventory().firstEmpty() == -1;
|
||||
}
|
||||
|
||||
public static void updateAuction() {
|
||||
FileConfiguration data = Main.settings.getData();
|
||||
FileConfiguration msg = Main.settings.getMsg();
|
||||
FileConfiguration data = Files.DATA.getFile();
|
||||
Calendar cal = Calendar.getInstance();
|
||||
Calendar expireTime = Calendar.getInstance();
|
||||
Calendar fullExpireTime = Calendar.getInstance();
|
||||
@ -364,14 +365,17 @@ public class Methods {
|
||||
Long price = data.getLong("Items." + i + ".Price");
|
||||
CurrencyManager.addMoney(Methods.getOfflinePlayer(seller), price);
|
||||
CurrencyManager.removeMoney(Methods.getOfflinePlayer(winner), price);
|
||||
HashMap<String, String> placeholders = new HashMap<>();
|
||||
placeholders.put("%Price%", getPrice(i, false));
|
||||
placeholders.put("%Player%", winner);
|
||||
if(Methods.isOnline(winner)) {
|
||||
Player player = Methods.getPlayer(winner);
|
||||
Bukkit.getPluginManager().callEvent(new AuctionWinBidEvent(player, data.getItemStack("Items." + i + ".Item"), price));
|
||||
player.sendMessage(Methods.getPrefix() + Methods.color(msg.getString("Messages.Win-Bidding").replaceAll("%Price%", getPrice(i, false)).replaceAll("%price%", getPrice(i, false))));
|
||||
player.sendMessage(Messages.WIN_BIDDING.getMessage(placeholders));
|
||||
}
|
||||
if(Methods.isOnline(seller)) {
|
||||
Player player = Methods.getPlayer(seller);
|
||||
player.sendMessage(Methods.getPrefix() + Methods.color(msg.getString("Messages.Someone-Won-Players-Bid").replaceAll("%Price%", getPrice(i, false)).replaceAll("%price%", getPrice(i, false)).replaceAll("%Player%", winner).replaceAll("%player%", winner)));
|
||||
player.sendMessage(Messages.SOMEONE_WON_PLAYERS_BID.getMessage(placeholders));
|
||||
}
|
||||
data.set("OutOfTime/Cancelled." + num + ".Seller", winner);
|
||||
data.set("OutOfTime/Cancelled." + num + ".Full-Time", fullExpireTime.getTimeInMillis());
|
||||
@ -381,7 +385,7 @@ public class Methods {
|
||||
String seller = data.getString("Items." + i + ".Seller");
|
||||
if(Methods.isOnline(seller)) {
|
||||
Player player = Methods.getPlayer(seller);
|
||||
player.sendMessage(Methods.getPrefix() + Methods.color(msg.getString("Messages.Item-Has-Expired")));
|
||||
player.sendMessage(Messages.ITEM_HAS_EXPIRED.getMessage());
|
||||
}
|
||||
data.set("OutOfTime/Cancelled." + num + ".Seller", data.getString("Items." + i + ".Seller"));
|
||||
data.set("OutOfTime/Cancelled." + num + ".Full-Time", fullExpireTime.getTimeInMillis());
|
||||
@ -392,18 +396,18 @@ public class Methods {
|
||||
}
|
||||
}
|
||||
}
|
||||
Main.settings.saveData();
|
||||
Files.DATA.saveFile();
|
||||
}
|
||||
|
||||
public static String getPrice(String ID, Boolean Expired) {
|
||||
Long price = 0L;
|
||||
if(Expired) {
|
||||
if(Main.settings.getData().contains("OutOfTime/Cancelled." + ID + ".Price")) {
|
||||
price = Main.settings.getData().getLong("OutOfTime/Cancelled." + ID + ".Price");
|
||||
if(Files.DATA.getFile().contains("OutOfTime/Cancelled." + ID + ".Price")) {
|
||||
price = Files.DATA.getFile().getLong("OutOfTime/Cancelled." + ID + ".Price");
|
||||
}
|
||||
}else {
|
||||
if(Main.settings.getData().contains("Items." + ID + ".Price")) {
|
||||
price = Main.settings.getData().getLong("Items." + ID + ".Price");
|
||||
if(Files.DATA.getFile().contains("Items." + ID + ".Price")) {
|
||||
price = Files.DATA.getFile().getLong("Items." + ID + ".Price");
|
||||
}
|
||||
}
|
||||
return NumberFormat.getNumberInstance().format(price);
|
||||
|
@ -1,6 +1,6 @@
|
||||
package me.badbones69.crazyauctions.api;
|
||||
|
||||
import me.badbones69.crazyauctions.Main;
|
||||
import me.badbones69.crazyauctions.api.FileManager.Files;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
@ -9,18 +9,39 @@ import java.util.ArrayList;
|
||||
|
||||
public class CrazyAuctions {
|
||||
|
||||
public static CrazyAuctions instance;
|
||||
private static CrazyAuctions instance = new CrazyAuctions();
|
||||
private FileManager fileManager = FileManager.getInstance();
|
||||
private Boolean sellingEnabled;
|
||||
private Boolean biddingEnabled;
|
||||
|
||||
public static CrazyAuctions getInstance() {
|
||||
if(instance == null) {
|
||||
instance = new CrazyAuctions();
|
||||
}
|
||||
return instance;
|
||||
}
|
||||
|
||||
public void loadCrazyAuctions() {
|
||||
if(Files.CONFIG.getFile().contains("Settings.Feature-Toggle.Selling")) {
|
||||
this.sellingEnabled = Files.CONFIG.getFile().getBoolean("Settings.Feature-Toggle.Selling");
|
||||
}else {
|
||||
this.sellingEnabled = true;
|
||||
}
|
||||
if(Files.CONFIG.getFile().contains("Settings.Feature-Toggle.Bidding")) {
|
||||
this.biddingEnabled = Files.CONFIG.getFile().getBoolean("Settings.Feature-Toggle.Bidding");
|
||||
}else {
|
||||
this.biddingEnabled = true;
|
||||
}
|
||||
}
|
||||
|
||||
public Boolean isSellingEnabled() {
|
||||
return sellingEnabled;
|
||||
}
|
||||
|
||||
public Boolean isBiddingEnabled() {
|
||||
return biddingEnabled;
|
||||
}
|
||||
|
||||
public ArrayList<ItemStack> getItems(Player player) {
|
||||
FileConfiguration data = Main.settings.getData();
|
||||
ArrayList<ItemStack> items = new ArrayList<ItemStack>();
|
||||
FileConfiguration data = Files.DATA.getFile();
|
||||
ArrayList<ItemStack> items = new ArrayList<>();
|
||||
if(data.contains("Items")) {
|
||||
for(String i : data.getConfigurationSection("Items").getKeys(false)) {
|
||||
if(data.getString("Items." + i + ".Seller").equalsIgnoreCase(player.getName())) {
|
||||
@ -32,8 +53,8 @@ public class CrazyAuctions {
|
||||
}
|
||||
|
||||
public ArrayList<ItemStack> getItems(Player player, ShopType type) {
|
||||
FileConfiguration data = Main.settings.getData();
|
||||
ArrayList<ItemStack> items = new ArrayList<ItemStack>();
|
||||
FileConfiguration data = Files.DATA.getFile();
|
||||
ArrayList<ItemStack> items = new ArrayList<>();
|
||||
if(data.contains("Items")) {
|
||||
for(String i : data.getConfigurationSection("Items").getKeys(false)) {
|
||||
if(data.getString("Items." + i + ".Seller").equalsIgnoreCase(player.getName())) {
|
||||
|
465
src/main/java/me/badbones69/crazyauctions/api/FileManager.java
Normal file
465
src/main/java/me/badbones69/crazyauctions/api/FileManager.java
Normal file
@ -0,0 +1,465 @@
|
||||
package me.badbones69.crazyauctions.api;
|
||||
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BadBones69
|
||||
* @version v1.0
|
||||
*
|
||||
*/
|
||||
public class FileManager {
|
||||
|
||||
private Plugin plugin;
|
||||
private String prefix = "";
|
||||
private Boolean log = false;
|
||||
private HashMap<Files, File> files = new HashMap<>();
|
||||
private ArrayList<String> homeFolders = new ArrayList<>();
|
||||
private ArrayList<CustomFile> customFiles = new ArrayList<>();
|
||||
private HashMap<String, String> autoGenerateFiles = new HashMap<>();
|
||||
private HashMap<Files, FileConfiguration> configurations = new HashMap<>();
|
||||
|
||||
private static FileManager instance = new FileManager();
|
||||
|
||||
public static FileManager getInstance() {
|
||||
return instance;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets up the plugin and loads all necessary files.
|
||||
* @param plugin The plugin this is getting loading for.
|
||||
*/
|
||||
public FileManager setup(Plugin plugin) {
|
||||
prefix = "[" + plugin.getName() + "] ";
|
||||
this.plugin = plugin;
|
||||
if(!plugin.getDataFolder().exists()) {
|
||||
plugin.getDataFolder().mkdirs();
|
||||
}
|
||||
files.clear();
|
||||
customFiles.clear();
|
||||
//Loads all the normal static files.
|
||||
for(Files file : Files.values()) {
|
||||
File newFile = new File(plugin.getDataFolder(), file.getFileLocation());
|
||||
if(log) System.out.println(prefix + "Loading the " + file.getFileName());
|
||||
if(!newFile.exists()) {
|
||||
try {
|
||||
File serverFile = new File(plugin.getDataFolder(), "/" + file.getFileLocation());
|
||||
InputStream jarFile = getClass().getResourceAsStream("/" + file.getFileLocation());
|
||||
copyFile(jarFile, serverFile);
|
||||
}catch(Exception e) {
|
||||
if(log) System.out.println(prefix + "Failed to load " + file.getFileName());
|
||||
e.printStackTrace();
|
||||
continue;
|
||||
}
|
||||
}
|
||||
files.put(file, newFile);
|
||||
configurations.put(file, YamlConfiguration.loadConfiguration(newFile));
|
||||
if(log) System.out.println(prefix + "Successfully loaded " + file.getFileName());
|
||||
}
|
||||
//Starts to load all the custom files.
|
||||
if(homeFolders.size() > 0) {
|
||||
if(log) System.out.println(prefix + "Loading custom files.");
|
||||
for(String homeFolder : homeFolders) {
|
||||
File homeFile = new File(plugin.getDataFolder(), "/" + homeFolder);
|
||||
if(homeFile.exists()) {
|
||||
String[] list = homeFile.list();
|
||||
if(list != null) {
|
||||
for(String name : list) {
|
||||
if(name.endsWith(".yml")) {
|
||||
CustomFile file = new CustomFile(name, homeFolder, plugin);
|
||||
if(file.exists()) {
|
||||
customFiles.add(file);
|
||||
if(log) System.out.println(prefix + "Loaded new custom file: " + homeFolder + "/" + name + ".");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}else {
|
||||
homeFile.mkdir();
|
||||
if(log) System.out.println(prefix + "The folder " + homeFolder + "/ was not found so it was created.");
|
||||
for(String fileName : autoGenerateFiles.keySet()) {
|
||||
if(autoGenerateFiles.get(fileName).equalsIgnoreCase(homeFolder)) {
|
||||
homeFolder = autoGenerateFiles.get(fileName);
|
||||
try {
|
||||
File serverFile = new File(plugin.getDataFolder(), homeFolder + "/" + fileName);
|
||||
InputStream jarFile = getClass().getResourceAsStream(homeFolder + "/" + fileName);
|
||||
copyFile(jarFile, serverFile);
|
||||
if(fileName.toLowerCase().endsWith(".yml")) {
|
||||
customFiles.add(new CustomFile(fileName, homeFolder, plugin));
|
||||
}
|
||||
if(log) System.out.println(prefix + "Created new default file: " + homeFolder + "/" + fileName + ".");
|
||||
}catch(Exception e) {
|
||||
if(log) System.out.println(prefix + "Failed to create new default file: " + homeFolder + "/" + fileName + "!");
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if(log) System.out.println(prefix + "Finished loading custom files.");
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Turn on the logger system for the FileManager.
|
||||
* @param log True to turn it on and false for it to be off.
|
||||
*/
|
||||
public FileManager logInfo(Boolean log) {
|
||||
this.log = log;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the logger is logging in console.
|
||||
* @return True if it is and false if it isn't.
|
||||
*/
|
||||
public Boolean isLogging() {
|
||||
return log;
|
||||
}
|
||||
|
||||
/**
|
||||
* Register a folder that has custom files in it. Make sure to have a "/" in front of the folder name.
|
||||
* @param homeFolder The folder that has custom files in it.
|
||||
*/
|
||||
public FileManager registerCustomFilesFolder(String homeFolder) {
|
||||
homeFolders.add(homeFolder);
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Unregister a folder that has custom files in it. Make sure to have a "/" in front of the folder name.
|
||||
* @param homeFolder The folder with custom files in it.
|
||||
*/
|
||||
public FileManager unregisterCustomFilesFolder(String homeFolder) {
|
||||
homeFolders.remove(homeFolder);
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Register a file that needs to be generated when it's home folder doesn't exist. Make sure to have a "/" in front of the home folder's name.
|
||||
* @param fileName The name of the file you want to auto-generate when the folder doesn't exist.
|
||||
* @param homeFolder The folder that has custom files in it.
|
||||
*/
|
||||
public FileManager registerDefaultGenerateFiles(String fileName, String homeFolder) {
|
||||
autoGenerateFiles.put(fileName, homeFolder);
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Unregister a file that doesn't need to be generated when it's home folder doesn't exist. Make sure to have a "/" in front of the home folder's name.
|
||||
* @param fileName The file that you want to remove from auto-generating.
|
||||
*/
|
||||
public FileManager unregisterDefaultGenerateFiles(String fileName) {
|
||||
autoGenerateFiles.remove(fileName);
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the file from the system.
|
||||
* @return The file from the system.
|
||||
*/
|
||||
public FileConfiguration getFile(Files file) {
|
||||
return configurations.get(file);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a custom file from the loaded custom files instead of a hardcoded one.
|
||||
* This allows you to get custom files like Per player data files.
|
||||
* @param name Name of the crate you want. (Without the .yml)
|
||||
* @return The custom file you wanted otherwise if not found will return null.
|
||||
*/
|
||||
public CustomFile getFile(String name) {
|
||||
for(CustomFile file : customFiles) {
|
||||
if(file.getName().toLowerCase().equalsIgnoreCase(name.toLowerCase())) {
|
||||
return file;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Saves the file from the loaded state to the file system.
|
||||
*/
|
||||
public void saveFile(Files file) {
|
||||
try {
|
||||
configurations.get(file).save(files.get(file));
|
||||
}catch(IOException e) {
|
||||
System.out.println(prefix + "Could not save " + file.getFileName() + "!");
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Save a custom file.
|
||||
* @param name The name of the custom file.
|
||||
*/
|
||||
public void saveFile(String name) {
|
||||
CustomFile file = getFile(name);
|
||||
if(file != null) {
|
||||
try {
|
||||
file.getFile().save(new File(plugin.getDataFolder(), file.getHomeFolder() + "/" + file.getFileName()));
|
||||
if(log) System.out.println(prefix + "Successfuly saved the " + file.getFileName() + ".");
|
||||
}catch(Exception e) {
|
||||
System.out.println(prefix + "Could not save " + file.getFileName() + "!");
|
||||
e.printStackTrace();
|
||||
}
|
||||
}else {
|
||||
if(log) System.out.println(prefix + "The file " + name + ".yml could not be found!");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Save a custom file.
|
||||
* @param file The custom file you are saving.
|
||||
* @return True if the file saved correct and false if there was an error.
|
||||
*/
|
||||
public Boolean saveFile(CustomFile file) {
|
||||
return file.saveFile();
|
||||
}
|
||||
|
||||
/**
|
||||
* Overrides the loaded state file and loads the file systems file.
|
||||
*/
|
||||
public void reloadFile(Files file) {
|
||||
configurations.put(file, YamlConfiguration.loadConfiguration(files.get(file)));
|
||||
}
|
||||
|
||||
/**
|
||||
* Overrides the loaded state file and loads the file systems file.
|
||||
*/
|
||||
public void reloadFile(String name) {
|
||||
CustomFile file = getFile(name);
|
||||
if(file != null) {
|
||||
try {
|
||||
file.file = YamlConfiguration.loadConfiguration(new File(plugin.getDataFolder(), "/" + file.getHomeFolder() + "/" + file.getFileName()));
|
||||
if(log) System.out.println(prefix + "Successfuly reload the " + file.getFileName() + ".");
|
||||
}catch(Exception e) {
|
||||
System.out.println(prefix + "Could not reload the " + file.getFileName() + "!");
|
||||
e.printStackTrace();
|
||||
}
|
||||
}else {
|
||||
if(log) System.out.println(prefix + "The file " + name + ".yml could not be found!");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Overrides the loaded state file and loads the filesystems file.
|
||||
* @return True if it reloaded correct and false if the file wasn't found.
|
||||
*/
|
||||
public Boolean reloadFile(CustomFile file) {
|
||||
return file.reloadFile();
|
||||
}
|
||||
|
||||
/**
|
||||
* Was found here: https://bukkit.org/threads/extracting-file-from-jar.16962
|
||||
*/
|
||||
private void copyFile(InputStream in, File out) throws Exception {
|
||||
try(FileOutputStream fos = new FileOutputStream(out)) {
|
||||
byte[] buf = new byte[1024];
|
||||
int i;
|
||||
while((i = in.read(buf)) != -1) {
|
||||
fos.write(buf, 0, i);
|
||||
}
|
||||
}finally {
|
||||
if(in != null) {
|
||||
in.close();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public enum Files {
|
||||
|
||||
//ENUM_NAME("FileName.yml", "FilePath.yml"),
|
||||
CONFIG("config.yml", "config.yml"),
|
||||
DATA("Data.yml", "Data.yml"),
|
||||
MESSAGES("Messages.yml", "Messages.yml");
|
||||
|
||||
private String fileName;
|
||||
private String fileLocation;
|
||||
|
||||
/**
|
||||
* The files that the server will try and load.
|
||||
* @param fileName The file name that will be in the plugin's folder.
|
||||
* @param fileLocation The location the file is in while in the Jar.
|
||||
*/
|
||||
private Files(String fileName, String fileLocation) {
|
||||
this.fileName = fileName;
|
||||
this.fileLocation = fileLocation;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the name of the file.
|
||||
* @return The name of the file.
|
||||
*/
|
||||
public String getFileName() {
|
||||
return fileName;
|
||||
}
|
||||
|
||||
/**
|
||||
* The location the jar it is at.
|
||||
* @return The location in the jar the file is in.
|
||||
*/
|
||||
public String getFileLocation() {
|
||||
return fileLocation;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the file from the system.
|
||||
* @return The file from the system.
|
||||
*/
|
||||
public FileConfiguration getFile() {
|
||||
return getInstance().getFile(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Saves the file from the loaded state to the file system.
|
||||
*/
|
||||
public void saveFile() {
|
||||
getInstance().saveFile(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Overrides the loaded state file and loads the file systems file.
|
||||
*/
|
||||
public void relaodFile() {
|
||||
getInstance().reloadFile(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public class CustomFile {
|
||||
|
||||
private String name;
|
||||
private Plugin plugin;
|
||||
private String fileName;
|
||||
private String homeFolder;
|
||||
private FileConfiguration file;
|
||||
|
||||
/**
|
||||
* A custom file that is being made.
|
||||
* @param name Name of the file.
|
||||
* @param homeFolder The home folder of the file.
|
||||
* @param plugin The plugin the files belong to.
|
||||
*/
|
||||
public CustomFile(String name, String homeFolder, Plugin plugin) {
|
||||
this.name = name.replace(".yml", "");
|
||||
this.plugin = plugin;
|
||||
this.fileName = name;
|
||||
this.homeFolder = homeFolder;
|
||||
if(new File(plugin.getDataFolder(), "/" + homeFolder).exists()) {
|
||||
if(new File(plugin.getDataFolder(), "/" + homeFolder + "/" + name).exists()) {
|
||||
file = YamlConfiguration.loadConfiguration(new File(plugin.getDataFolder(), "/" + homeFolder + "/" + name));
|
||||
}else {
|
||||
file = null;
|
||||
}
|
||||
}else {
|
||||
new File(plugin.getDataFolder(), "/" + homeFolder).mkdir();
|
||||
if(log) System.out.println(prefix + "The folder " + homeFolder + "/ was not found so it was created.");
|
||||
file = null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the name of the file without the .yml part.
|
||||
* @return The name of the file without the .yml.
|
||||
*/
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the full name of the file.
|
||||
* @return Full name of the file.
|
||||
*/
|
||||
public String getFileName() {
|
||||
return fileName;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the name of the home folder of the file.
|
||||
* @return The name of the home folder the files are in.
|
||||
*/
|
||||
public String getHomeFolder() {
|
||||
return homeFolder;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the plugin the file belongs to.
|
||||
* @return The plugin the file belongs to.
|
||||
*/
|
||||
public Plugin getPlugin() {
|
||||
return plugin;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the ConfigurationFile.
|
||||
* @return The ConfigurationFile of this file.
|
||||
*/
|
||||
public FileConfiguration getFile() {
|
||||
return file;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the file actually exists in the file system.
|
||||
* @return True if it does and false if it doesn't.
|
||||
*/
|
||||
public Boolean exists() {
|
||||
return file != null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Save the custom file.
|
||||
* @return True if it saved correct and false if something went wrong.
|
||||
*/
|
||||
public Boolean saveFile() {
|
||||
if(file != null) {
|
||||
try {
|
||||
file.save(new File(plugin.getDataFolder(), homeFolder + "/" + fileName));
|
||||
if(log) System.out.println(prefix + "Successfuly saved the " + fileName + ".");
|
||||
return true;
|
||||
}catch(Exception e) {
|
||||
System.out.println(prefix + "Could not save " + fileName + "!");
|
||||
e.printStackTrace();
|
||||
return false;
|
||||
}
|
||||
}else {
|
||||
if(log) System.out.println(prefix + "There was a null custom file that could not be found!");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Overrides the loaded state file and loads the filesystems file.
|
||||
* @return True if it reloaded correct and false if the file wasn't found or errored.
|
||||
*/
|
||||
public Boolean reloadFile() {
|
||||
if(file != null) {
|
||||
try {
|
||||
file = YamlConfiguration.loadConfiguration(new File(plugin.getDataFolder(), "/" + homeFolder + "/" + fileName));
|
||||
if(log) System.out.println(prefix + "Successfuly reload the " + fileName + ".");
|
||||
return true;
|
||||
}catch(Exception e) {
|
||||
System.out.println(prefix + "Could not reload the " + fileName + "!");
|
||||
e.printStackTrace();
|
||||
}
|
||||
}else {
|
||||
if(log) System.out.println(prefix + "There was a null custom file that was not found!");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
211
src/main/java/me/badbones69/crazyauctions/api/Messages.java
Normal file
211
src/main/java/me/badbones69/crazyauctions/api/Messages.java
Normal file
@ -0,0 +1,211 @@
|
||||
package me.badbones69.crazyauctions.api;
|
||||
|
||||
import me.badbones69.crazyauctions.Methods;
|
||||
import me.badbones69.crazyauctions.api.FileManager.Files;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
public enum Messages {
|
||||
|
||||
PLAYERS_ONLY("Players-Only", "&cOnly players can use this command."),
|
||||
RELOAD("Reload", "&7You have just reloaded the Crazy Auctions Files."),
|
||||
NEED_MORE_MONEY("Need-More-Money", "&cYou are in need of &a$%Money_Needed%&c."),
|
||||
INVENTORY_FULL("Inventory-Full", "&cYour inventory is too full. Please open up some space to buy that."),
|
||||
NO_PERMISSION("No-Permission", "&cYou do not have permission to use that command!"),
|
||||
NOT_ONLINE("Not-Online", "&cThat player is not online at this time."),
|
||||
DOSENT_HAVE_ITEM_IN_HAND("Doesnt-Have-Item-In-Hand", "&cYou must have an item in your hand."),
|
||||
NOT_A_NUMBER("Not-A-Number", "&c%Arg% is not a number."),
|
||||
GOT_ITEM_BACK("Got-Item-Back", "&7Your item has been returned."),
|
||||
CANCELLED_ITEM("Cancelled-Item", "&7You have cancelled an item on the auction list, return your items with /ah expired."),
|
||||
ITEM_HAS_EXPIRED("Item-Has-Expired", "&7An item you have in the Crazy Auctions has just expired."),
|
||||
ADMIN_FORCE_CENCELLED("Admin-Force-Cancelled", "&7You have just force cancelled a sale."),
|
||||
ADMIN_FORCE_CANCELLED_TO_PLAYER("Admin-Force-Cancelled-To-Player", "&cOne of your items was just force cancelled by an Admin."),
|
||||
ITEM_DOESNT_EXIST("Item-Doesnt-Exist", "&cThat item isnt in the crazy auctions any more."),
|
||||
MAX_ITEMS("Max-Items", "&cYou cant list any more items to the Crazy Auctions."),
|
||||
ITEM_BLACKLISTED("Item-BlackListed", "&cThat item is not allowed to be sold here."),
|
||||
ITEM_DAMAGED("Item-Damaged", "&cThat item is damaged and is not allowed to be sold here."),
|
||||
SOLD_MESSAGE("Sold-Msg", "&7Thank you for buying this item."),
|
||||
BID_MORE_MONEY("Bid-More-Money", "&cYour bid is to low, please bid more."),
|
||||
NOT_A_CURRENCY("Not-A-Currency", "&cThat is not a currency. Please use Money or Tokens ."),
|
||||
SELL_PRICE_TO_LOW("Sell-Price-To-Low", "&cYour sell price is to low the minimum is &a$10&c."),
|
||||
SELL_PRICE_TO_HIGH("Sell-Price-To-High", "&cYour sell price is to high the maximum is &a$1000000&c."),
|
||||
BID_PRICE_TO_LOW("Bid-Price-To-Low", "&cYour starting bid price is to low the minimum is &a$100&c."),
|
||||
BID_PRICE_TO_HIGH("Bid-Price-To-High", "&cYour starting bid price is to high the maximum is &a$1000000&c."),
|
||||
BOUGHT_ITEM("Bought-Item", "&7You have just bought a item for &a$%Price%&7."),
|
||||
WIN_BIDDING("Win-Bidding", "&7You have just won a bid for &a$%Price%&7. Do /Ah Collect to collect your winnings."),
|
||||
PLAYER_BOUGHT_ITEM("Player-Bought-Item", "&7%Player% has bought your item for &a$%Price%."),
|
||||
SOMEONE_WON_PLAYERS_BID("Someone-Won-Players-Bid", "&7%Player% has won your item you from a bid for &a$%Price%."),
|
||||
ADDED_ITEM_TO_AUCTION("Added-Item-To-Auction", "&7You have just added a item to the crazy auctions for &a$%Price%&7."),
|
||||
BID_MESSAGE("Bid-Msg", "&7You have just bid &a$%Bid% &7on that item."),
|
||||
SELLING_DISABLED("Selling-Disabled", "&cThe selling option is disabled."),
|
||||
BIDDING_DISABLED("Bidding-Disabled", "&cThe bidding option is disabled."),
|
||||
CRAZYAUCTIONS_HELP("CrazyAuctions-Help", "&c/ah help"),
|
||||
CRAZYAUCTIONS_VIEW("CrazyAuctions-View", "&c/ah view <player>"),
|
||||
CRAZYAUCTIONS_SELL_BID("CrazyAuctions-Sell-Bid", "&c/ah sell/bid <price> [amount of items]"),
|
||||
HELP("Help-Menu", Arrays.asList(
|
||||
"&e-- &6Crazy Auctions Help &e--",
|
||||
"&9/Ah - &eOpens the crazy auction.",
|
||||
"&9/Ah View <Player> - &eSee what a player is selling.",
|
||||
"&9/Ah Sell/Bid <Price> [Amount of items] - &eList the item you are holding on the crazy auction.",
|
||||
"&9/Ah Expired/Collect - &eView and manage your cancelled and expired items.",
|
||||
"&9/Ah Listed - &eView and manage the items you are selling.",
|
||||
"&9/Ah Help - &eView this help menu."));
|
||||
|
||||
private String path;
|
||||
private String defaultMessage;
|
||||
private List<String> defaultListMessage;
|
||||
private static FileManager fileManager = FileManager.getInstance();
|
||||
|
||||
private Messages(String path, String defaultMessage) {
|
||||
this.path = path;
|
||||
this.defaultMessage = defaultMessage;
|
||||
}
|
||||
|
||||
private Messages(String path, List<String> defaultListMessage) {
|
||||
this.path = path;
|
||||
this.defaultListMessage = defaultListMessage;
|
||||
}
|
||||
|
||||
public String getMessage() {
|
||||
if(isList()) {
|
||||
if(exists()) {
|
||||
return Methods.color(convertList(Files.MESSAGES.getFile().getStringList("Messages." + path)));
|
||||
}else {
|
||||
return Methods.color(convertList(getDefaultListMessage()));
|
||||
}
|
||||
}else {
|
||||
if(exists()) {
|
||||
return Methods.getPrefix(Files.MESSAGES.getFile().getString("Messages." + path));
|
||||
}else {
|
||||
return Methods.getPrefix(getDefaultMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public String getMessage(HashMap<String, String> placeholders) {
|
||||
String message;
|
||||
if(isList()) {
|
||||
if(exists()) {
|
||||
message = Methods.color(convertList(Files.MESSAGES.getFile().getStringList("Messages." + path), placeholders));
|
||||
}else {
|
||||
message = Methods.color(convertList(getDefaultListMessage(), placeholders));
|
||||
}
|
||||
}else {
|
||||
if(exists()) {
|
||||
message = Methods.getPrefix(Files.MESSAGES.getFile().getString("Messages." + path));
|
||||
}else {
|
||||
message = Methods.getPrefix(getDefaultMessage());
|
||||
}
|
||||
for(String ph : placeholders.keySet()) {
|
||||
if(message.contains(ph)) {
|
||||
message = message.replaceAll(ph, placeholders.get(ph)).replaceAll(ph, placeholders.get(ph).toLowerCase());
|
||||
}
|
||||
}
|
||||
}
|
||||
return message;
|
||||
}
|
||||
|
||||
public String getMessageNoPrefix() {
|
||||
if(isList()) {
|
||||
if(exists()) {
|
||||
return Methods.color(convertList(Files.MESSAGES.getFile().getStringList("Messages." + path)));
|
||||
}else {
|
||||
return Methods.color(convertList(getDefaultListMessage()));
|
||||
}
|
||||
}else {
|
||||
if(exists()) {
|
||||
return Methods.color(Files.MESSAGES.getFile().getString("Messages." + path));
|
||||
}else {
|
||||
return Methods.color(getDefaultMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public String getMessageNoPrefix(HashMap<String, String> placeholders) {
|
||||
String message;
|
||||
if(isList()) {
|
||||
if(exists()) {
|
||||
message = Methods.color(convertList(Files.MESSAGES.getFile().getStringList("Messages." + path), placeholders));
|
||||
}else {
|
||||
message = Methods.color(convertList(getDefaultListMessage(), placeholders));
|
||||
}
|
||||
}else {
|
||||
if(exists()) {
|
||||
message = Methods.color(Files.MESSAGES.getFile().getString("Messages." + path));
|
||||
}else {
|
||||
message = Methods.color(getDefaultMessage());
|
||||
}
|
||||
for(String ph : placeholders.keySet()) {
|
||||
if(message.contains(ph)) {
|
||||
message = message.replaceAll(ph, placeholders.get(ph)).replaceAll(ph, placeholders.get(ph).toLowerCase());
|
||||
}
|
||||
}
|
||||
}
|
||||
return message;
|
||||
}
|
||||
|
||||
public static String convertList(List<String> list) {
|
||||
String message = "";
|
||||
for(String m : list) {
|
||||
message += Methods.color(m) + "\n";
|
||||
}
|
||||
return message;
|
||||
}
|
||||
|
||||
public static String convertList(List<String> list, HashMap<String, String> placeholders) {
|
||||
String message = "";
|
||||
for(String m : list) {
|
||||
message += Methods.color(m) + "\n";
|
||||
}
|
||||
for(String ph : placeholders.keySet()) {
|
||||
message = Methods.color(message.replaceAll(ph, placeholders.get(ph))).replaceAll(ph, placeholders.get(ph).toLowerCase());
|
||||
}
|
||||
return message;
|
||||
}
|
||||
|
||||
public static void addMissingMessages() {
|
||||
FileConfiguration messages = Files.MESSAGES.getFile();
|
||||
Boolean saveFile = false;
|
||||
for(Messages message : values()) {
|
||||
if(!messages.contains("Messages." + message.getPath())) {
|
||||
saveFile = true;
|
||||
if(message.getDefaultMessage() != null) {
|
||||
messages.set("Messages." + message.getPath(), message.getDefaultMessage());
|
||||
}else {
|
||||
messages.set("Messages." + message.getPath(), message.getDefaultListMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
if(saveFile) {
|
||||
Files.MESSAGES.saveFile();
|
||||
}
|
||||
}
|
||||
|
||||
private Boolean exists() {
|
||||
return Files.MESSAGES.getFile().contains("Messages." + path);
|
||||
}
|
||||
|
||||
private Boolean isList() {
|
||||
if(Files.MESSAGES.getFile().contains("Messages." + path)) {
|
||||
return !Files.MESSAGES.getFile().getStringList("Messages." + path).isEmpty();
|
||||
}else {
|
||||
return defaultMessage == null;
|
||||
}
|
||||
}
|
||||
|
||||
private String getPath() {
|
||||
return path;
|
||||
}
|
||||
|
||||
private String getDefaultMessage() {
|
||||
return defaultMessage;
|
||||
}
|
||||
|
||||
private List<String> getDefaultListMessage() {
|
||||
return defaultListMessage;
|
||||
}
|
||||
|
||||
}
|
@ -1,140 +0,0 @@
|
||||
package me.badbones69.crazyauctions.api;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
import org.bukkit.plugin.PluginDescriptionFile;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
|
||||
public class SettingsManager {
|
||||
|
||||
static SettingsManager instance = new SettingsManager();
|
||||
|
||||
public static SettingsManager getInstance() {
|
||||
return instance;
|
||||
}
|
||||
|
||||
Plugin p;
|
||||
|
||||
FileConfiguration config;
|
||||
File cfile;
|
||||
|
||||
FileConfiguration data;
|
||||
File dfile;
|
||||
|
||||
FileConfiguration msg;
|
||||
File mfile;
|
||||
|
||||
public void setup(Plugin p) {
|
||||
if(!p.getDataFolder().exists()) {
|
||||
p.getDataFolder().mkdir();
|
||||
}
|
||||
|
||||
cfile = new File(p.getDataFolder(), "config.yml");
|
||||
if(!cfile.exists()) {
|
||||
try {
|
||||
File en = new File(p.getDataFolder(), "/config.yml");
|
||||
InputStream E = getClass().getResourceAsStream("/config.yml");
|
||||
copyFile(E, en);
|
||||
}catch(Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
config = YamlConfiguration.loadConfiguration(cfile);
|
||||
|
||||
dfile = new File(p.getDataFolder(), "Data.yml");
|
||||
if(!dfile.exists()) {
|
||||
try {
|
||||
File en = new File(p.getDataFolder(), "/Data.yml");
|
||||
InputStream E = getClass().getResourceAsStream("/Data.yml");
|
||||
copyFile(E, en);
|
||||
}catch(Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
data = YamlConfiguration.loadConfiguration(dfile);
|
||||
|
||||
mfile = new File(p.getDataFolder(), "Messages.yml");
|
||||
if(!mfile.exists()) {
|
||||
try {
|
||||
File en = new File(p.getDataFolder(), "/Messages.yml");
|
||||
InputStream E = getClass().getResourceAsStream("/Messages.yml");
|
||||
copyFile(E, en);
|
||||
}catch(Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
msg = YamlConfiguration.loadConfiguration(mfile);
|
||||
}
|
||||
public FileConfiguration getData() {
|
||||
return data;
|
||||
}
|
||||
public FileConfiguration getMsg() {
|
||||
return msg;
|
||||
}
|
||||
public void saveData() {
|
||||
try {
|
||||
data.save(dfile);
|
||||
}catch(IOException e) {
|
||||
Bukkit.getServer().getLogger().severe(ChatColor.RED + "Could not save Data.yml!");
|
||||
}
|
||||
}
|
||||
public void saveMsg() {
|
||||
try {
|
||||
msg.save(mfile);
|
||||
}catch(IOException e) {
|
||||
Bukkit.getServer().getLogger().severe(ChatColor.RED + "Could not save Messages.yml!");
|
||||
}
|
||||
}
|
||||
public void reloadData() {
|
||||
data = YamlConfiguration.loadConfiguration(dfile);
|
||||
}
|
||||
public void reloadMsg() {
|
||||
msg = YamlConfiguration.loadConfiguration(mfile);
|
||||
}
|
||||
public FileConfiguration getConfig() {
|
||||
return config;
|
||||
}
|
||||
|
||||
public void saveConfig() {
|
||||
try {
|
||||
config.save(cfile);
|
||||
}catch(IOException e) {
|
||||
Bukkit.getServer().getLogger().severe(ChatColor.RED + "Could not save config.yml!");
|
||||
}
|
||||
}
|
||||
|
||||
public void reloadConfig() {
|
||||
config = YamlConfiguration.loadConfiguration(cfile);
|
||||
}
|
||||
|
||||
public PluginDescriptionFile getDesc() {
|
||||
return p.getDescription();
|
||||
}
|
||||
public static void copyFile(InputStream in, File out) throws Exception { // https://bukkit.org/threads/extracting-file-from-jar.16962/
|
||||
InputStream fis = in;
|
||||
FileOutputStream fos = new FileOutputStream(out);
|
||||
try {
|
||||
byte[] buf = new byte[1024];
|
||||
int i = 0;
|
||||
while((i = fis.read(buf)) != -1) {
|
||||
fos.write(buf, 0, i);
|
||||
}
|
||||
}catch(Exception e) {
|
||||
throw e;
|
||||
}finally {
|
||||
if(fis != null) {
|
||||
fis.close();
|
||||
}
|
||||
if(fos != null) {
|
||||
fos.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -4,24 +4,24 @@ public enum ShopType {
|
||||
|
||||
SELL("Sell"), BID("Bid");
|
||||
|
||||
String Name;
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* @param name Name of the Shop Type.
|
||||
* @param name name of the Shop Type.
|
||||
*/
|
||||
private ShopType(String name) {
|
||||
this.Name = name;
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Returns the type name as a string.
|
||||
*/
|
||||
public String getName() {
|
||||
return Name;
|
||||
return name;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param name Name of the Type you want.
|
||||
* @param name name of the Type you want.
|
||||
* @return Returns the Type as a Enum.
|
||||
*/
|
||||
public static ShopType getFromName(String name) {
|
||||
|
@ -1,8 +1,10 @@
|
||||
package me.badbones69.crazyauctions.controlers;
|
||||
package me.badbones69.crazyauctions.controllers;
|
||||
|
||||
import me.badbones69.crazyauctions.Main;
|
||||
import me.badbones69.crazyauctions.Methods;
|
||||
import me.badbones69.crazyauctions.api.Category;
|
||||
import me.badbones69.crazyauctions.api.CrazyAuctions;
|
||||
import me.badbones69.crazyauctions.api.FileManager.Files;
|
||||
import me.badbones69.crazyauctions.api.Messages;
|
||||
import me.badbones69.crazyauctions.api.ShopType;
|
||||
import me.badbones69.crazyauctions.api.events.AuctionBuyEvent;
|
||||
import me.badbones69.crazyauctions.api.events.AuctionNewBidEvent;
|
||||
@ -33,18 +35,18 @@ public class GUI implements Listener {
|
||||
private static HashMap<Player, Category> Cat = new HashMap<>(); // Category Type
|
||||
private static HashMap<Player, List<Integer>> List = new HashMap<>();
|
||||
private static HashMap<Player, String> IDs = new HashMap<>();
|
||||
|
||||
public static Plugin plugin = Bukkit.getServer().getPluginManager().getPlugin("CrazyAuctions");
|
||||
private static CrazyAuctions crazyAuctions = CrazyAuctions.getInstance();
|
||||
private static Plugin plugin = Bukkit.getServer().getPluginManager().getPlugin("CrazyAuctions");
|
||||
|
||||
public static void openShop(Player player, ShopType sell, Category cat, int page) {
|
||||
Methods.updateAuction();
|
||||
FileConfiguration config = Main.settings.getConfig();
|
||||
FileConfiguration data = Main.settings.getData();
|
||||
FileConfiguration config = Files.CONFIG.getFile();
|
||||
FileConfiguration data = Files.DATA.getFile();
|
||||
List<ItemStack> items = new ArrayList<>();
|
||||
List<Integer> ID = new ArrayList<>();
|
||||
if(!data.contains("Items")) {
|
||||
data.set("Items.Clear", null);
|
||||
Main.settings.saveData();
|
||||
Files.DATA.saveFile();
|
||||
}
|
||||
if(cat != null) {
|
||||
Cat.put(player, cat);
|
||||
@ -90,12 +92,16 @@ public class GUI implements Listener {
|
||||
options.add("Category2");
|
||||
if(sell == ShopType.SELL) {
|
||||
Type.put(player, ShopType.SELL);
|
||||
options.add("Bidding/Selling.Selling");
|
||||
if(crazyAuctions.isBiddingEnabled()) {
|
||||
options.add("Bidding/Selling.Selling");
|
||||
}
|
||||
options.add("WhatIsThis.SellingShop");
|
||||
}
|
||||
if(sell == ShopType.BID) {
|
||||
Type.put(player, ShopType.BID);
|
||||
options.add("Bidding/Selling.Bidding");
|
||||
if(crazyAuctions.isSellingEnabled()) {
|
||||
options.add("Bidding/Selling.Bidding");
|
||||
}
|
||||
options.add("WhatIsThis.BiddingShop");
|
||||
}
|
||||
for(String o : options) {
|
||||
@ -127,9 +133,9 @@ public class GUI implements Listener {
|
||||
player.openInventory(inv);
|
||||
}
|
||||
|
||||
public static void openCateories(Player player, ShopType shop) {
|
||||
public static void openCategories(Player player, ShopType shop) {
|
||||
Methods.updateAuction();
|
||||
FileConfiguration config = Main.settings.getConfig();
|
||||
FileConfiguration config = Files.CONFIG.getFile();
|
||||
Inventory inv = Bukkit.createInventory(null, 54, Methods.color(config.getString("Settings.Categories")));
|
||||
List<String> options = new ArrayList<>();
|
||||
options.add("OtherSettings.Back");
|
||||
@ -163,8 +169,8 @@ public class GUI implements Listener {
|
||||
|
||||
public static void openPlayersCurrentList(Player player, int page) {
|
||||
Methods.updateAuction();
|
||||
FileConfiguration config = Main.settings.getConfig();
|
||||
FileConfiguration data = Main.settings.getData();
|
||||
FileConfiguration config = Files.CONFIG.getFile();
|
||||
FileConfiguration data = Files.DATA.getFile();
|
||||
List<ItemStack> items = new ArrayList<>();
|
||||
List<Integer> ID = new ArrayList<>();
|
||||
Inventory inv = Bukkit.createInventory(null, 54, Methods.color(config.getString("Settings.Players-Current-Items")));
|
||||
@ -209,8 +215,8 @@ public class GUI implements Listener {
|
||||
|
||||
public static void openPlayersExpiredList(Player player, int page) {
|
||||
Methods.updateAuction();
|
||||
FileConfiguration config = Main.settings.getConfig();
|
||||
FileConfiguration data = Main.settings.getData();
|
||||
FileConfiguration config = Files.CONFIG.getFile();
|
||||
FileConfiguration data = Files.DATA.getFile();
|
||||
List<ItemStack> items = new ArrayList<>();
|
||||
List<Integer> ID = new ArrayList<>();
|
||||
if(data.contains("OutOfTime/Cancelled")) {
|
||||
@ -260,12 +266,11 @@ public class GUI implements Listener {
|
||||
|
||||
public static void openBuying(Player player, String ID) {
|
||||
Methods.updateAuction();
|
||||
FileConfiguration config = Main.settings.getConfig();
|
||||
FileConfiguration data = Main.settings.getData();
|
||||
FileConfiguration msg = Main.settings.getMsg();
|
||||
FileConfiguration config = Files.CONFIG.getFile();
|
||||
FileConfiguration data = Files.DATA.getFile();
|
||||
if(!data.contains("Items." + ID)) {
|
||||
openShop(player, ShopType.SELL, Cat.get(player), 1);
|
||||
player.sendMessage(Methods.getPrefix() + Methods.color(msg.getString("Messages.Item-Doesnt-Exist")));
|
||||
player.sendMessage(Messages.ITEM_DOESNT_EXIST.getMessage());
|
||||
return;
|
||||
}
|
||||
Inventory inv = Bukkit.createInventory(null, 9, Methods.color(config.getString("Settings.Buying-Item")));
|
||||
@ -306,12 +311,11 @@ public class GUI implements Listener {
|
||||
|
||||
public static void openBidding(Player player, String ID) {
|
||||
Methods.updateAuction();
|
||||
FileConfiguration config = Main.settings.getConfig();
|
||||
FileConfiguration data = Main.settings.getData();
|
||||
FileConfiguration msg = Main.settings.getMsg();
|
||||
FileConfiguration config = Files.CONFIG.getFile();
|
||||
FileConfiguration data = Files.DATA.getFile();
|
||||
if(!data.contains("Items." + ID)) {
|
||||
openShop(player, ShopType.BID, Cat.get(player), 1);
|
||||
player.sendMessage(Methods.getPrefix() + Methods.color(msg.getString("Messages.Item-Doesnt-Exist")));
|
||||
player.sendMessage(Messages.ITEM_DOESNT_EXIST.getMessage());
|
||||
return;
|
||||
}
|
||||
Inventory inv = Bukkit.createInventory(null, 27, Methods.color(config.getString("Settings.Bidding-On-Item")));
|
||||
@ -333,13 +337,13 @@ public class GUI implements Listener {
|
||||
|
||||
public static void openViewer(Player player, String other, int page) {
|
||||
Methods.updateAuction();
|
||||
FileConfiguration config = Main.settings.getConfig();
|
||||
FileConfiguration data = Main.settings.getData();
|
||||
FileConfiguration config = Files.CONFIG.getFile();
|
||||
FileConfiguration data = Files.DATA.getFile();
|
||||
List<ItemStack> items = new ArrayList<>();
|
||||
List<Integer> ID = new ArrayList<>();
|
||||
if(!data.contains("Items")) {
|
||||
data.set("Items.Clear", null);
|
||||
Main.settings.saveData();
|
||||
Files.DATA.saveFile();
|
||||
}
|
||||
if(data.contains("Items")) {
|
||||
for(String i : data.getConfigurationSection("Items").getKeys(false)) {
|
||||
@ -392,7 +396,7 @@ public class GUI implements Listener {
|
||||
}
|
||||
|
||||
public static ItemStack getBiddingGlass(Player player, String ID) {
|
||||
FileConfiguration config = Main.settings.getConfig();
|
||||
FileConfiguration config = Files.CONFIG.getFile();
|
||||
String id = config.getString("Settings.GUISettings.OtherSettings.Bidding.Item");
|
||||
String name = config.getString("Settings.GUISettings.OtherSettings.Bidding.Name");
|
||||
ItemStack item;
|
||||
@ -410,8 +414,8 @@ public class GUI implements Listener {
|
||||
}
|
||||
|
||||
public static ItemStack getBiddingItem(Player player, String ID) {
|
||||
FileConfiguration config = Main.settings.getConfig();
|
||||
FileConfiguration data = Main.settings.getData();
|
||||
FileConfiguration config = Files.CONFIG.getFile();
|
||||
FileConfiguration data = Files.DATA.getFile();
|
||||
String seller = data.getString("Items." + ID + ".Seller");
|
||||
String topbidder = data.getString("Items." + ID + ".TopBidder");
|
||||
ItemStack item = data.getItemStack("Items." + ID + ".Item");
|
||||
@ -424,7 +428,7 @@ public class GUI implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void onInvClose(InventoryCloseEvent e) {
|
||||
FileConfiguration config = Main.settings.getConfig();
|
||||
FileConfiguration config = Files.CONFIG.getFile();
|
||||
Inventory inv = e.getInventory();
|
||||
Player player = (Player) e.getPlayer();
|
||||
if(inv != null) {
|
||||
@ -436,9 +440,8 @@ public class GUI implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void onInvClick(InventoryClickEvent e) {
|
||||
FileConfiguration config = Main.settings.getConfig();
|
||||
FileConfiguration data = Main.settings.getData();
|
||||
FileConfiguration msg = Main.settings.getMsg();
|
||||
FileConfiguration config = Files.CONFIG.getFile();
|
||||
FileConfiguration data = Files.DATA.getFile();
|
||||
Player player = (Player) e.getWhoClicked();
|
||||
final Inventory inv = e.getInventory();
|
||||
if(inv != null) {
|
||||
@ -480,22 +483,26 @@ public class GUI implements Listener {
|
||||
int bid = bidding.get(player);
|
||||
String topBidder = data.getString("Items." + ID + ".TopBidder");
|
||||
if(CurrencyManager.getMoney(player) < bid) {
|
||||
player.sendMessage(Methods.getPrefix() + Methods.color(msg.getString("Messages.Need-More-Money").replaceAll("%Money_Needed%", (bid - CurrencyManager.getMoney(player)) + "").replaceAll("%money_needed%", (bid - CurrencyManager.getMoney(player)) + "")));
|
||||
HashMap<String, String> placeholders = new HashMap<>();
|
||||
placeholders.put("%Money_Needed%", (bid - CurrencyManager.getMoney(player)) + "");
|
||||
player.sendMessage(Messages.NEED_MORE_MONEY.getMessage(placeholders));
|
||||
return;
|
||||
}
|
||||
if(data.getLong("Items." + ID + ".Price") > bid) {
|
||||
player.sendMessage(Methods.getPrefix() + Methods.color(msg.getString("Messages.Bid-More-Money")));
|
||||
player.sendMessage(Messages.BID_MORE_MONEY.getMessage());
|
||||
return;
|
||||
}
|
||||
if(data.getLong("Items." + ID + ".Price") >= bid && !topBidder.equalsIgnoreCase("None")) {
|
||||
player.sendMessage(Methods.getPrefix() + Methods.color(msg.getString("Messages.Bid-More-Money")));
|
||||
player.sendMessage(Messages.BID_MORE_MONEY.getMessage());
|
||||
return;
|
||||
}
|
||||
Bukkit.getPluginManager().callEvent(new AuctionNewBidEvent(player, data.getItemStack("Items." + ID + ".Item"), bid));
|
||||
data.set("Items." + ID + ".Price", bid);
|
||||
data.set("Items." + ID + ".TopBidder", player.getName());
|
||||
player.sendMessage(Methods.getPrefix() + Methods.color(msg.getString("Messages.Bid-Msg").replaceAll("%Bid%", bid + "").replaceAll("%bid%", bid + "")));
|
||||
Main.settings.saveData();
|
||||
HashMap<String, String> placeholders = new HashMap<>();
|
||||
placeholders.put("%Bid%", bid + "");
|
||||
player.sendMessage(Messages.BID_MESSAGE.getMessage(placeholders));
|
||||
Files.DATA.saveFile();
|
||||
bidding.put(player, 0);
|
||||
player.closeInventory();
|
||||
playClick(player);
|
||||
@ -520,7 +527,7 @@ public class GUI implements Listener {
|
||||
return;
|
||||
}catch(Exception ex) {
|
||||
player.closeInventory();
|
||||
player.sendMessage(Methods.getPrefix() + Methods.color(msg.getString("Messages.Item-Doesnt-Exist")));
|
||||
player.sendMessage(Messages.ITEM_DOESNT_EXIST.getMessage());
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -581,12 +588,12 @@ public class GUI implements Listener {
|
||||
return;
|
||||
}
|
||||
if(item.getItemMeta().getDisplayName().equals(Methods.color(config.getString("Settings.GUISettings.OtherSettings.Category1.Name")))) {
|
||||
openCateories(player, Type.get(player));
|
||||
openCategories(player, Type.get(player));
|
||||
playClick(player);
|
||||
return;
|
||||
}
|
||||
if(item.getItemMeta().getDisplayName().equals(Methods.color(config.getString("Settings.GUISettings.OtherSettings.Category2.Name")))) {
|
||||
openCateories(player, Type.get(player));
|
||||
openCategories(player, Type.get(player));
|
||||
playClick(player);
|
||||
return;
|
||||
}
|
||||
@ -614,15 +621,15 @@ public class GUI implements Listener {
|
||||
String seller = data.getString("Items." + i + ".Seller");
|
||||
if(Methods.isOnline(seller)) {
|
||||
Player S = Methods.getPlayer(seller);
|
||||
S.sendMessage(Methods.getPrefix() + Methods.color(msg.getString("Messages.Admin-Force-Cancelled-To-Player")));
|
||||
S.sendMessage(Messages.ADMIN_FORCE_CANCELLED_TO_PLAYER.getMessage());
|
||||
}
|
||||
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.getItemStack("Items." + i + ".Item"));
|
||||
data.set("Items." + i, null);
|
||||
Main.settings.saveData();
|
||||
player.sendMessage(Methods.getPrefix() + Methods.color(msg.getString("Messages.Admin-Force-Cancelled")));
|
||||
Files.DATA.saveFile();
|
||||
player.sendMessage(Messages.ADMIN_FORCE_CENCELLED.getMessage());
|
||||
playClick(player);
|
||||
int page = Integer.parseInt(inv.getName().split("#")[1]);
|
||||
openShop(player, Type.get(player), Cat.get(player), page);
|
||||
@ -687,7 +694,7 @@ public class GUI implements Listener {
|
||||
if(!T) {
|
||||
playClick(player);
|
||||
openShop(player, Type.get(player), Cat.get(player), 1);
|
||||
player.sendMessage(Methods.getPrefix() + Methods.color(msg.getString("Messages.Item-Doesnt-Exist")));
|
||||
player.sendMessage(Messages.ITEM_DOESNT_EXIST.getMessage());
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -710,33 +717,38 @@ public class GUI implements Listener {
|
||||
if(!data.contains("Items." + ID)) {
|
||||
playClick(player);
|
||||
openShop(player, Type.get(player), Cat.get(player), 1);
|
||||
player.sendMessage(Methods.getPrefix() + Methods.color(msg.getString("Messages.Item-Doesnt-Exist")));
|
||||
player.sendMessage(Messages.ITEM_DOESNT_EXIST.getMessage());
|
||||
return;
|
||||
}
|
||||
if(Methods.isInvFull(player)) {
|
||||
playClick(player);
|
||||
player.closeInventory();
|
||||
player.sendMessage(Methods.getPrefix() + Methods.color(msg.getString("Messages.Inventory-Full")));
|
||||
player.sendMessage(Messages.INVENTORY_FULL.getMessage());
|
||||
return;
|
||||
}
|
||||
if(CurrencyManager.getMoney(player) < cost) {
|
||||
playClick(player);
|
||||
player.closeInventory();
|
||||
player.sendMessage(Methods.getPrefix() + Methods.color(msg.getString("Messages.Need-More-Money").replaceAll("%Money_Needed%", (cost - CurrencyManager.getMoney(player)) + "").replaceAll("%money_needed%", (cost - CurrencyManager.getMoney(player)) + "")));
|
||||
HashMap<String, String> placeholders = new HashMap<>();
|
||||
placeholders.put("%Money_Needed%", (cost - CurrencyManager.getMoney(player)) + "");
|
||||
player.sendMessage(Messages.NEED_MORE_MONEY.getMessage(placeholders));
|
||||
return;
|
||||
}
|
||||
ItemStack i = data.getItemStack("Items." + ID + ".Item");
|
||||
Bukkit.getPluginManager().callEvent(new AuctionBuyEvent(player, i, cost));
|
||||
CurrencyManager.removeMoney(player, cost);
|
||||
CurrencyManager.addMoney(Methods.getOfflinePlayer(seller), cost);
|
||||
player.sendMessage(Methods.getPrefix() + Methods.color(msg.getString("Messages.Bought-Item").replaceAll("%Price%", Methods.getPrice(ID, false)).replaceAll("%price%", Methods.getPrice(ID, false))));
|
||||
HashMap<String, String> placeholders = new HashMap<>();
|
||||
placeholders.put("%Price%", Methods.getPrice(ID, false));
|
||||
placeholders.put("%Player%", player.getName());
|
||||
player.sendMessage(Messages.BOUGHT_ITEM.getMessage(placeholders));
|
||||
if(Methods.isOnline(seller)) {
|
||||
Player sell = Methods.getPlayer(seller);
|
||||
sell.sendMessage(Methods.getPrefix() + Methods.color(msg.getString("Messages.Player-Bought-Item").replaceAll("%Price%", Methods.getPrice(ID, false)).replaceAll("%price%", Methods.getPrice(ID, false)).replaceAll("%Player%", player.getName()).replaceAll("%player%", player.getName())));
|
||||
sell.sendMessage(Messages.PLAYER_BOUGHT_ITEM.getMessage(placeholders));
|
||||
}
|
||||
player.getInventory().addItem(i);
|
||||
data.set("Items." + ID, null);
|
||||
Main.settings.saveData();
|
||||
Files.DATA.saveFile();
|
||||
playClick(player);
|
||||
openShop(player, Type.get(player), Cat.get(player), 1);
|
||||
return;
|
||||
@ -772,7 +784,7 @@ public class GUI implements Listener {
|
||||
for(String i : data.getConfigurationSection("Items").getKeys(false)) {
|
||||
int ID = data.getInt("Items." + i + ".StoreID");
|
||||
if(id == ID) {
|
||||
player.sendMessage(Methods.getPrefix() + Methods.color(msg.getString("Messages.Cancelled-Item")));
|
||||
player.sendMessage(Messages.CANCELLED_ITEM.getMessage());
|
||||
int num = 1;
|
||||
for(; data.contains("OutOfTime/Cancelled." + num); num++) ;
|
||||
data.set("OutOfTime/Cancelled." + num + ".Seller", data.getString("Items." + i + ".Seller"));
|
||||
@ -780,7 +792,7 @@ public class GUI implements Listener {
|
||||
data.set("OutOfTime/Cancelled." + num + ".StoreID", data.getInt("Items." + i + ".StoreID"));
|
||||
data.set("OutOfTime/Cancelled." + num + ".Item", data.getItemStack("Items." + i + ".Item"));
|
||||
data.set("Items." + i, null);
|
||||
Main.settings.saveData();
|
||||
Files.DATA.saveFile();
|
||||
playClick(player);
|
||||
openPlayersCurrentList(player, 1);
|
||||
return;
|
||||
@ -790,7 +802,7 @@ public class GUI implements Listener {
|
||||
if(!T) {
|
||||
playClick(player);
|
||||
openShop(player, Type.get(player), Cat.get(player), 1);
|
||||
player.sendMessage(Methods.getPrefix() + Methods.color(msg.getString("Messages.Item-Doesnt-Exist")));
|
||||
player.sendMessage(Messages.ITEM_DOESNT_EXIST.getMessage());
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -827,7 +839,7 @@ public class GUI implements Listener {
|
||||
for(String i : data.getConfigurationSection("OutOfTime/Cancelled").getKeys(false)) {
|
||||
if(data.getString("OutOfTime/Cancelled." + i + ".Seller").equalsIgnoreCase(player.getName())) {
|
||||
if(Methods.isInvFull(player)) {
|
||||
player.sendMessage(Methods.getPrefix() + Methods.color(Main.settings.getMsg().getString("Messages.Inventory-Full")));
|
||||
player.sendMessage(Messages.INVENTORY_FULL.getMessage());
|
||||
break;
|
||||
}else {
|
||||
player.getInventory().addItem(data.getItemStack("OutOfTime/Cancelled." + i + ".Item"));
|
||||
@ -836,8 +848,8 @@ public class GUI implements Listener {
|
||||
}
|
||||
}
|
||||
}
|
||||
player.sendMessage(Methods.getPrefix() + Methods.color(msg.getString("Messages.Got-Item-Back")));
|
||||
Main.settings.saveData();
|
||||
player.sendMessage(Messages.GOT_ITEM_BACK.getMessage());
|
||||
Files.DATA.saveFile();
|
||||
playClick(player);
|
||||
openPlayersExpiredList(player, page);
|
||||
return;
|
||||
@ -858,16 +870,16 @@ public class GUI implements Listener {
|
||||
int ID = data.getInt("OutOfTime/Cancelled." + i + ".StoreID");
|
||||
if(id == ID) {
|
||||
if(!Methods.isInvFull(player)) {
|
||||
player.sendMessage(Methods.getPrefix() + Methods.color(msg.getString("Messages.Got-Item-Back")));
|
||||
player.sendMessage(Messages.GOT_ITEM_BACK.getMessage());
|
||||
ItemStack IT = data.getItemStack("OutOfTime/Cancelled." + i + ".Item");
|
||||
player.getInventory().addItem(IT);
|
||||
data.set("OutOfTime/Cancelled." + i, null);
|
||||
Main.settings.saveData();
|
||||
Files.DATA.saveFile();
|
||||
playClick(player);
|
||||
openPlayersExpiredList(player, 1);
|
||||
return;
|
||||
}else {
|
||||
player.sendMessage(Methods.getPrefix() + Methods.color(msg.getString("Messages.Inventory-Full")));
|
||||
player.sendMessage(Messages.INVENTORY_FULL.getMessage());
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -876,7 +888,7 @@ public class GUI implements Listener {
|
||||
if(!T) {
|
||||
playClick(player);
|
||||
openShop(player, Type.get(player), Cat.get(player), 1);
|
||||
player.sendMessage(Methods.getPrefix() + Methods.color(msg.getString("Messages.Item-Doesnt-Exist")));
|
||||
player.sendMessage(Messages.ITEM_DOESNT_EXIST.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -887,9 +899,9 @@ public class GUI implements Listener {
|
||||
}
|
||||
|
||||
private static void playClick(Player player) {
|
||||
if(Main.settings.getConfig().contains("Settings.Sounds.Toggle")) {
|
||||
if(Main.settings.getConfig().getBoolean("Settings.Sounds.Toggle")) {
|
||||
String sound = Main.settings.getConfig().getString("Settings.Sounds.Sound");
|
||||
if(Files.CONFIG.getFile().contains("Settings.Sounds.Toggle")) {
|
||||
if(Files.CONFIG.getFile().getBoolean("Settings.Sounds.Toggle")) {
|
||||
String sound = Files.CONFIG.getFile().getString("Settings.Sounds.Sound");
|
||||
try {
|
||||
player.playSound(player.getLocation(), Sound.valueOf(sound), 1, 1);
|
||||
}catch(Exception e) {
|
@ -1,6 +1,6 @@
|
||||
package me.badbones69.crazyauctions.currency;
|
||||
|
||||
import me.badbones69.crazyauctions.Main;
|
||||
import me.badbones69.crazyauctions.api.FileManager.Files;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
import org.bukkit.entity.Player;
|
||||
@ -9,36 +9,36 @@ public enum CurrencyManager { // Currency Manager
|
||||
|
||||
VAULT("Vault", "Money");
|
||||
|
||||
String PluginName, Name;
|
||||
private String pluginName, name;
|
||||
|
||||
/**
|
||||
* @param pluginname
|
||||
* Name of the Plugin.
|
||||
* name of the Plugin.
|
||||
* @param name
|
||||
* Name of the Currency.
|
||||
* name of the Currency.
|
||||
*/
|
||||
private CurrencyManager(String pluginname, String name) {
|
||||
this.PluginName = pluginname;
|
||||
this.Name = name;
|
||||
this.pluginName = pluginname;
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Returns the Currency name as a string.
|
||||
*/
|
||||
public String getName() {
|
||||
return Name;
|
||||
return name;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Returns the Currency name as a string.
|
||||
*/
|
||||
public String getPluginName() {
|
||||
return PluginName;
|
||||
return pluginName;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param name
|
||||
* Name of the Type you want.
|
||||
* name of the Type you want.
|
||||
* @return Returns the Currency as a Enum.
|
||||
*/
|
||||
public static CurrencyManager getFromName(String name) {
|
||||
@ -55,10 +55,8 @@ public enum CurrencyManager { // Currency Manager
|
||||
* @return Returns true if the server has the plugin.
|
||||
*/
|
||||
public Boolean hasPlugin() {
|
||||
if(Bukkit.getServer().getPluginManager().getPlugin(PluginName) != null) {
|
||||
if(Main.settings.getConfig().getBoolean("Settings.Currencies." + PluginName + ".Enabled")) {
|
||||
return true;
|
||||
}
|
||||
if(Bukkit.getServer().getPluginManager().getPlugin(pluginName) != null) {
|
||||
return Files.CONFIG.getFile().getBoolean("Settings.Currencies." + pluginName + ".Enabled");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@ -67,8 +65,6 @@ public enum CurrencyManager { // Currency Manager
|
||||
*
|
||||
* @param player
|
||||
* Player you want the currency from.
|
||||
* @param type
|
||||
* Type of currency you want to get.
|
||||
* @return Returns the amount they have of the currency
|
||||
*/
|
||||
public static Long getMoney(Player player) {
|
||||
@ -79,8 +75,6 @@ public enum CurrencyManager { // Currency Manager
|
||||
*
|
||||
* @param player
|
||||
* Player you want the currency from.
|
||||
* @param type
|
||||
* Type of currency you want to take from.
|
||||
* @param amount
|
||||
* The amount you want to take.
|
||||
*/
|
||||
@ -92,8 +86,6 @@ public enum CurrencyManager { // Currency Manager
|
||||
*
|
||||
* @param player
|
||||
* Player you want the currency from.
|
||||
* @param type
|
||||
* Type of currency you want to take from.
|
||||
* @param amount
|
||||
* The amount you want to take.
|
||||
*/
|
||||
@ -105,8 +97,6 @@ public enum CurrencyManager { // Currency Manager
|
||||
*
|
||||
* @param player
|
||||
* Player you want the currency from.
|
||||
* @param type
|
||||
* Type of currency you want to add to.
|
||||
* @param amount
|
||||
* The amount you want to add.
|
||||
*/
|
||||
@ -118,12 +108,11 @@ public enum CurrencyManager { // Currency Manager
|
||||
*
|
||||
* @param player
|
||||
* Player you want the currency from.
|
||||
* @param type
|
||||
* Type of currency you want to add to.
|
||||
* @param amount
|
||||
* The amount you want to add.
|
||||
*/
|
||||
public static void addMoney(OfflinePlayer player, Long amount) {
|
||||
Vault.addMoney(player, amount);
|
||||
}
|
||||
|
||||
}
|
@ -13,10 +13,7 @@ public class Vault {
|
||||
public static EconomyResponse r;
|
||||
|
||||
public static boolean hasVault() {
|
||||
if(Bukkit.getServer().getPluginManager().getPlugin("Vault") != null) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
return Bukkit.getServer().getPluginManager().getPlugin("Vault") != null;
|
||||
}
|
||||
|
||||
public static boolean setupEconomy() {
|
||||
|
@ -8,27 +8,32 @@ Messages:
|
||||
Doesnt-Have-Item-In-Hand: '&cYou must have an item in your hand.'
|
||||
Not-A-Number: '&c%Arg% is not a number.'
|
||||
Got-Item-Back: '&7Your item has been returned.'
|
||||
Cancelled-Item: '&7You have cancelled an item on the auction list, return your items with /ah expired.'
|
||||
Cancelled-Item: '&7You have canceled an item on the auction list, return your items with /ah expired.'
|
||||
Item-Has-Expired: '&7An item you have in the Crazy Auctions has just expired.'
|
||||
Admin-Force-Cancelled: '&7You have just force cancelled a sale.'
|
||||
Admin-Force-Cancelled-To-Player: '&cOne of your items was just force cancelled by an Admin.'
|
||||
Item-Doesnt-Exist: '&cThat item isnt in the crazy auctions any more.'
|
||||
Max-Items: '&cYou cant list any more items to the Crazy Auctions.'
|
||||
Admin-Force-Cancelled: '&7You have just force canceled a sale.'
|
||||
Admin-Force-Cancelled-To-Player: '&cOne of your items was just force canceled by an Admin.'
|
||||
Item-Doesnt-Exist: '&cThat item isn''t in the crazy auctions any more.'
|
||||
Max-Items: '&cYou can''t list any more items to the Crazy Auctions.'
|
||||
Item-BlackListed: '&cThat item is not allowed to be sold here.'
|
||||
Item-Damaged: '&cThat item is damaged and is not allowed to be sold here.'
|
||||
Sold-Msg: '&7Thank you for buying this item.'
|
||||
Bid-More-Money: '&cYour bid is to low, please bid more.'
|
||||
Not-A-Currency: '&cThat is not a currency. Please use Money or Tokens.' #Remove Tokens if you do not have TokenManager.
|
||||
Sell-Price-To-Low: '&cYour sell price is to low the minimum is &a$10&c.'
|
||||
Sell-Price-To-High: '&cYour sell price is to high the maximum is &a$1000000&c.'
|
||||
Sell-Price-To-High: '&cYour sell price is too high the maximum is &a$1000000&c.'
|
||||
Bid-Price-To-Low: '&cYour starting bid price is to low the minimum is &a$100&c.'
|
||||
Bid-Price-To-High: '&cYour starting bid price is to high the maximum is &a$1000000&c.'
|
||||
Bought-Item: '&7You have just bought a item for &a$%Price%&7.'
|
||||
Bid-Price-To-High: '&cYour starting bid price is too high the maximum is &a$1000000&c.'
|
||||
Bought-Item: '&7You have just bought an item for &a$%Price%&7.'
|
||||
Win-Bidding: '&7You have just won a bid for &a$%Price%&7. Do /Ah Collect to collect your winnings.'
|
||||
Player-Bought-Item: '&7%Player% has bought your item for &a$%Price%.'
|
||||
Someone-Won-Players-Bid: '&7%Player% has won your item you from a bid for &a$%Price%.'
|
||||
Added-Item-To-Auction: '&7You have just added a item to the crazy auctions for &a$%Price%&7.'
|
||||
Added-Item-To-Auction: '&7You have just added an item to the crazy auctions for &a$%Price%&7.'
|
||||
Bid-Msg: '&7You have just bid &a$%Bid% &7on that item.'
|
||||
Selling-Disabled: '&cThe selling option is disabled.'
|
||||
Bidding-Disabled: '&cThe bidding option is disabled.'
|
||||
CrazyAuctions-Help: '&c/ah help'
|
||||
CrazyAuctions-View: '&c/ah view <player>'
|
||||
CrazyAuctions-Sell-Bid: '&c/ah sell/bid <price> [amount of items]'
|
||||
Help-Menu:
|
||||
- '&e-- &6Crazy Auctions Help &e--'
|
||||
- '&9/Ah - &eOpens the crazy auction.'
|
||||
|
@ -16,6 +16,9 @@ Settings:
|
||||
Max-Beginning-Bid-Price: 1000000 #Maximum starting bid.
|
||||
Allow-Damaged-Items: False #Allow items that have been damaged.
|
||||
Category-Page-Opens-First: False #If set to true the categories page will open when they do /CA.
|
||||
Feature-Toggle: #Toggle if a feature is on or off.
|
||||
Selling: true #Able to use the selling part of the auction house.
|
||||
Bidding: true #Able to use the bidding part of the auction house.
|
||||
Sounds:
|
||||
Toggle: False #Disable the clicking sound.
|
||||
Sound: 'CLICK' #Make sure if you use 1.8 or lower you use the 1.8 sound and 1.9 and up use 1.9 sounds. The default sound is 1.8.
|
||||
|
Loading…
Reference in New Issue
Block a user