diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 00000000..b5c25f05 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,22 @@ +node { + def mvnHome + stage('Preparation') { + checkout scm + // Get the Maven tool. + // ** NOTE: This 'M3' Maven tool must be configured + // ** in the global configuration. + mvnHome = tool 'M3' + } + stage('Build') { + // Run the maven build + if (isUnix()) { + sh "'${mvnHome}/bin/mvn' -Dmaven.test.failure.ignore clean package" + } else { + bat(/"${mvnHome}\bin\mvn" -Dmaven.test.failure.ignore clean package/) + } + } + stage('Results') { + junit allowEmptyResults: true, testResults: '**/target/surefire-reports/TEST-*.xml' + archive 'target/*.jar' + } +} \ No newline at end of file diff --git a/README.md b/README.md index 29abeaad..9c481934 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ HyperConomy is the all in one economy and shop plugin. It can be a simple chest Installation --------- -* Download HyperConomy releases from [BukkitDev](http://dev.bukkit.org/bukkit-plugins/hyperconomy/files/) or get the latest [development build](http://regalowl.net:8081/job/HyperConomy/). +* Download HyperConomy releases from [BukkitDev](http://dev.bukkit.org/projects/hyperconomy/files/) or get the latest [development build](http://regalowl.net:8081/job/HyperConomy/). * Place the HyperConomy jar file your plugins folder. * Restart your server. @@ -49,7 +49,7 @@ Releases Add-ons --------- -[HyperMerchant](http://dev.bukkit.org/bukkit-plugins/hypermerchant/) +[HyperMerchant](http://dev.bukkit.org/projects/hypermerchant/) HyperMerchant is a graphical user interface for your players to use to interact with HyperConomy shops. It is also includes the ability to easily create Citizens npc shopkeepers for your HyperConomy shops. @@ -76,7 +76,7 @@ Links [Documentation Wiki](https://github.com/RegalOwl/HyperConomy-Documentation) -[BukkitDev Page](http://dev.bukkit.org/bukkit-plugins/hyperconomy/) +[BukkitDev Page](http://dev.bukkit.org/projects/hyperconomy/) [Spigot Page](https://www.spigotmc.org/resources/hyperconomy.4602/) diff --git a/pom.xml b/pom.xml index ced80467..3f76f26d 100644 --- a/pom.xml +++ b/pom.xml @@ -7,9 +7,13 @@ HyperConomy HyperConomy creates a global market that can be accessed via designated shops. Prices follow a hyperbolic curve, and vary based on the stock of the item or enchantment. Everything in the market can be customized, from the items themselves to the names of the shops. HyperConomy supports every item in Minecraft, even the normally impossible to obtain ones. It allows a great deal of control over the economy, allowing you to edit any setting without a server restart. + + Iskariot-repo + https://www.iskariot.info/jenkins/plugin/repository/everything/ + Articdive-repo - http://ci.articdive.cf/plugin/repository/everything/ + https://nexus.articdive.de/repository/maven-snapshots/ Sonatype-public @@ -34,7 +38,7 @@ org.spigotmc spigot-api - 1.12.2-R0.1-SNAPSHOT + 1.13-R0.1-SNAPSHOT provided @@ -165,8 +169,8 @@ maven-compiler-plugin 3.7.0 - 1.6 - 1.6 + 1.8 + 1.8 diff --git a/src/main/java/regalowl/hyperconomy/DataManager.java b/src/main/java/regalowl/hyperconomy/DataManager.java index 1c756839..cb96d69d 100755 --- a/src/main/java/regalowl/hyperconomy/DataManager.java +++ b/src/main/java/regalowl/hyperconomy/DataManager.java @@ -103,11 +103,7 @@ public void handleHyperEvent(HyperEvent event) { if (devent.loadType == DataLoadType.START) { if (loadActive) {return;} loadActive = true; - new Thread(new Runnable() { - public void run() { - loadEconomies(); - } - }).start(); + new Thread(() -> loadEconomies()).start(); } else if (devent.loadType == DataLoadType.CHEST_SHOPS) { loadAllCategories(); hc.getHyperEventHandler().fireEventFromAsyncThread(new DataLoadEvent(DataLoadType.COMPLETE)); @@ -443,8 +439,8 @@ public HyperEconomy getDefaultEconomy() { public boolean economyExists(String economy) { - if (economy.equalsIgnoreCase("base")) return false; if (economy == null || economy == "") {return false;} + if (economy.equalsIgnoreCase("base")) return false; for (Map.Entry entry : economies.entrySet()) { HyperEconomy he = entry.getValue(); if (he.getName().equalsIgnoreCase(economy)) { diff --git a/src/main/java/regalowl/hyperconomy/HyperAPI.java b/src/main/java/regalowl/hyperconomy/HyperAPI.java index e72401fe..724a9c16 100644 --- a/src/main/java/regalowl/hyperconomy/HyperAPI.java +++ b/src/main/java/regalowl/hyperconomy/HyperAPI.java @@ -1,16 +1,6 @@ package regalowl.hyperconomy; import java.util.ArrayList; - - - - - - - - - - import java.util.UUID; import regalowl.hyperconomy.account.HyperPlayer; @@ -42,40 +32,27 @@ public HyperAPI(HyperConomy hc) { public String getPlayerShop(HyperPlayer player) { Shop shop = hc.getHyperShopManager().getShop(player); - if (null == shop){ - return ""; - } else { - return shop.getName(); - } + return shop == null ? "" : shop.getName(); } + @Override public boolean checkHash(String player, String SHA256Hash) { - if (hc.getHyperPlayerManager().hyperPlayerExists(player)) { - if (hc.getHyperPlayerManager().getHyperPlayer(player).getHash().equals(SHA256Hash)) { - return true; - } else { - return false; - } - } else { - return false; - } + return hc.getHyperPlayerManager().hyperPlayerExists(player) + && hc.getHyperPlayerManager().getHyperPlayer(player).getHash().equals(SHA256Hash); } - + @Override public String getSalt(String player) { - if (hc.getHyperPlayerManager().hyperPlayerExists(player)) { - return hc.getHyperPlayerManager().getHyperPlayer(player).getSalt(); - } else { - return ""; - } + return hc.getHyperPlayerManager().hyperPlayerExists(player) ? "" + : hc.getHyperPlayerManager().getHyperPlayer(player).getSalt(); } - + @Override public String getDefaultServerShopAccountName() { return hc.getConf().getString("shop.default-server-shop-account"); } - + @Override public boolean isItemDisplay(HItem item) { try { if (item == null) { @@ -93,10 +70,12 @@ public boolean isItemDisplay(HItem item) { } } + @Override public Shop getShop(String name) { return hc.getHyperShopManager().getShop(name); } + @Override public ServerShop getServerShop(String name) { Shop s = hc.getHyperShopManager().getShop(name); if (s instanceof ServerShop) { @@ -105,6 +84,7 @@ public ServerShop getServerShop(String name) { return null; } + @Override public PlayerShop getPlayerShop(String name) { Shop s = hc.getHyperShopManager().getShop(name); if (s instanceof PlayerShop) { @@ -135,52 +115,45 @@ public ArrayList getPlayerShopList() { return playerShops; } - + @Override public EnchantmentClass getEnchantmentClass(HItemStack stack) { return EnchantmentClass.fromString(stack.getMaterial()); } - - - - - + @Override public TradeObject getHyperObject(String name, String economy) { HyperEconomy he = hc.getDataManager().getEconomy(economy); return he.getTradeObject(name); } + @Override public TradeObject getHyperObject(HItemStack stack, String economy) { HyperEconomy he = hc.getDataManager().getEconomy(economy); return he.getTradeObject(stack); } + + @Override public TradeObject getHyperObject(HItemStack stack, String economy, Shop s) { HyperEconomy he = hc.getDataManager().getEconomy(economy); return he.getTradeObject(stack, s); } + + @Override public TradeObject getHyperObject(String name, String economy, Shop s) { HyperEconomy he = hc.getDataManager().getEconomy(economy); return he.getTradeObject(name, s); } - - - + @Override public HyperPlayer getHyperPlayer(String name) { HyperPlayerManager hpm = hc.getHyperPlayerManager(); - if (hpm.hyperPlayerExists(name)) { - return hpm.getHyperPlayer(name); - } else { - return null; - } + return hpm.hyperPlayerExists(name) ? hpm.getHyperPlayer(name) : null; } + + @Override public HyperPlayer getHyperPlayer(UUID uuid) { HyperPlayerManager hpm = hc.getHyperPlayerManager(); - if (hpm.hyperPlayerExistsWithUUID(uuid)) { - return hpm.getHyperPlayer(uuid); - } else { - return null; - } + return hpm.hyperPlayerExistsWithUUID(uuid) ? hpm.getHyperPlayer(uuid) : null; } @Override public boolean hyperPlayerExists(String name) { @@ -199,10 +172,7 @@ public HyperPlayer createHyperPlayer(String name) { return hpm.getHyperPlayer(name); } - - - - + @Override public ArrayList getEnchantmentHyperObjects(HItemStack stack, String player) { DataManager dm = hc.getDataManager(); ArrayList objects = new ArrayList(); @@ -215,6 +185,7 @@ public ArrayList getEnchantmentHyperObjects(HItemStack stack, Strin return objects; } + @Override public TransactionResponse buy(HyperPlayer hp, TradeObject o, int amount) { PlayerTransaction pt = new PlayerTransaction(TransactionType.BUY); pt.setHyperObject(o); @@ -222,6 +193,7 @@ public TransactionResponse buy(HyperPlayer hp, TradeObject o, int amount) { return hp.processTransaction(pt); } + @Override public TransactionResponse buy(HyperPlayer hp, TradeObject o, int amount, Shop shop) { PlayerTransaction pt = new PlayerTransaction(TransactionType.BUY); pt.setHyperObject(o); @@ -230,6 +202,7 @@ public TransactionResponse buy(HyperPlayer hp, TradeObject o, int amount, Shop s return hp.processTransaction(pt); } + @Override public TransactionResponse sell(HyperPlayer hp, TradeObject o, int amount ) { PlayerTransaction pt = new PlayerTransaction(TransactionType.SELL); pt.setHyperObject(o); @@ -237,6 +210,7 @@ public TransactionResponse sell(HyperPlayer hp, TradeObject o, int amount ) { return hp.processTransaction(pt); } + @Override public TransactionResponse sell(HyperPlayer hp, TradeObject o, int amount, Shop shop) { PlayerTransaction pt = new PlayerTransaction(TransactionType.SELL); pt.setHyperObject(o); @@ -245,11 +219,13 @@ public TransactionResponse sell(HyperPlayer hp, TradeObject o, int amount, Shop return hp.processTransaction(pt); } + @Override public TransactionResponse sellAll(HyperPlayer hp) { Sellall sa = new Sellall(hc); return sa.sellAll(hp, null); } + @Override public ArrayList getAvailableObjects(HyperPlayer p) { Shop s = hc.getHyperShopManager().getShop(p); if (s != null) { @@ -258,6 +234,7 @@ public ArrayList getAvailableObjects(HyperPlayer p) { return new ArrayList(); } + @Override public ArrayList getAvailableObjects(HyperPlayer p, int startingPosition, int limit) { ArrayList availableObjects = getAvailableObjects(p); ArrayList availableSubset = new ArrayList(); @@ -269,6 +246,7 @@ public ArrayList getAvailableObjects(HyperPlayer p, int startingPos return availableSubset; } + @Override public ArrayList getAvailableObjects(String shopname) { Shop s = hc.getHyperShopManager().getShop(shopname); if (s != null) { @@ -277,6 +255,7 @@ public ArrayList getAvailableObjects(String shopname) { return new ArrayList(); } + @Override public ArrayList getAvailableObjects(String shopname, int startingPosition, int limit) { ArrayList availableObjects = getAvailableObjects(shopname); ArrayList availableSubset = new ArrayList(); @@ -288,8 +267,7 @@ public ArrayList getAvailableObjects(String shopname, int startingP return availableSubset; } - - + @Override public TransactionResponse sellAll(HyperPlayer hp, HInventory inventory) { DataManager em = hc.getDataManager(); HyperEconomy he = hp.getHyperEconomy(); @@ -323,11 +301,4 @@ public boolean addItemToEconomy(HItemStack stack, String economyName, String req return true; //return ai.addItem(hobj, economyName); } - - - - - - - } diff --git a/src/main/java/regalowl/hyperconomy/HyperConomy.java b/src/main/java/regalowl/hyperconomy/HyperConomy.java index e42ac127..4933caef 100644 --- a/src/main/java/regalowl/hyperconomy/HyperConomy.java +++ b/src/main/java/regalowl/hyperconomy/HyperConomy.java @@ -1,6 +1,19 @@ package regalowl.hyperconomy; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.PrintStream; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.concurrent.atomic.AtomicBoolean; + +import org.bukkit.Material; +import org.bukkit.enchantments.Enchantment; +import org.bukkit.plugin.java.JavaPlugin; +import org.bukkit.potion.PotionEffectType; + import regalowl.hyperconomy.account.HyperBankManager; import regalowl.hyperconomy.account.HyperPlayerManager; import regalowl.hyperconomy.api.API; @@ -94,8 +107,6 @@ import regalowl.simpledatalib.sql.SQLRead; import regalowl.simpledatalib.sql.SQLWrite; -import java.util.concurrent.atomic.AtomicBoolean; - public class HyperConomy implements HyperEventListener, SDLEventListener { private transient MineCraftConnector mc; @@ -194,6 +205,51 @@ public void load() { //dp.enable(); waitingForLibraries.set(true); lm = new LibraryManager(this,heh); + if (Arrays.asList(((JavaPlugin) mc).getDataFolder().list()).contains("debug.mode")) + dumpMaterialList(); + } + + /** + * Dumps all Materials and Enchantments into materials.log (LEGCY_ Materials are + * omitted!) + */ + public void dumpMaterialList() { + ArrayList listMaterials = new ArrayList<>(); + ArrayList listEnchantments = new ArrayList<>(); + ArrayList listPotions = new ArrayList<>(); + try (PrintStream out = new PrintStream(new File(((JavaPlugin) mc).getDataFolder(), "materials.list"))) { + for (Material m : Material.values()) { + if (m == null || ("" + m).startsWith("LEGACY_")) + continue; + listMaterials.add("" + m); + } + for (Enchantment e : Enchantment.values()) { + if (e == null || ("" + e).startsWith("LEGACY_")) + continue; + listEnchantments.add("" + e + " - LevelRange: " + e.getStartLevel() + "-" + e.getMaxLevel() + + " - Target: " + e.getItemTarget() + " - isTreasure: " + e.isTreasure()); + } + for (PotionEffectType p : PotionEffectType.values()) { + if (p == null || ("" + p).startsWith("LEGACY_")) + continue; + listEnchantments + .add("" + p + " - DurationMod: " + p.getDurationModifier() + " - Color: " + p.getColor() + + " - Instant: " + p.isInstant()); + } + Collections.sort(listMaterials); + Collections.sort(listEnchantments); + Collections.sort(listPotions); + for (String s : listMaterials) + out.println(s); + for (String s : listEnchantments) + out.println(s); + for (String s : listPotions) + out.println(s); + ((JavaPlugin) mc).getLogger().info("Material list written!" + " Materials: " + listMaterials.size() + + "; Enchantments: " + listEnchantments.size() + "; Potions: " + listPotions.size()); + } catch (FileNotFoundException e) { + e.printStackTrace(); + } } public void enable() { diff --git a/src/main/java/regalowl/hyperconomy/HyperEconomy.java b/src/main/java/regalowl/hyperconomy/HyperEconomy.java index ddde8201..a45f17c3 100644 --- a/src/main/java/regalowl/hyperconomy/HyperEconomy.java +++ b/src/main/java/regalowl/hyperconomy/HyperEconomy.java @@ -274,7 +274,7 @@ public synchronized TradeObject getTradeObject(HEnchantment enchant, Shop s) { for (TradeObject ho:tradeObjects) { if (ho.getType() != TradeObjectType.ENCHANTMENT) {continue;} if (!ho.matchesEnchantment(enchant)) {continue;} - return (TradeObject) ((PlayerShop) s).getPlayerShopObject(ho); + return ((PlayerShop) s).getPlayerShopObject(ho); } } else { for (TradeObject ho:tradeObjects) { @@ -294,7 +294,7 @@ public synchronized TradeObject getTradeObject(HItemStack stack, Shop s) { TradeObject ho = tradeObjectsStackMap.get(stack.getStackComparisonData()); if (ho == null) return null; if (s != null && s instanceof PlayerShop) { - return (TradeObject) ((PlayerShop) s).getPlayerShopObject(ho); + return ((PlayerShop) s).getPlayerShopObject(ho); } return ho; } @@ -303,7 +303,7 @@ public synchronized TradeObject getTradeObject(String name, Shop s) { String sname = name.toLowerCase(); if (s != null && s instanceof PlayerShop) { if (tradeObjectsNameMap.containsKey(sname)) { - return (TradeObject) ((PlayerShop) s).getPlayerShopObject(tradeObjectsNameMap.get(sname)); + return ((PlayerShop) s).getPlayerShopObject(tradeObjectsNameMap.get(sname)); } else { hc.getDebugMode().debugWriteMessage("getTradeObject() returning null for given name: ["+name+"], shop: ["+s.getName()+"]"); return null; diff --git a/src/main/java/regalowl/hyperconomy/account/HyperAccount.java b/src/main/java/regalowl/hyperconomy/account/HyperAccount.java index 5c98fa4e..1ef8a2d6 100755 --- a/src/main/java/regalowl/hyperconomy/account/HyperAccount.java +++ b/src/main/java/regalowl/hyperconomy/account/HyperAccount.java @@ -2,16 +2,81 @@ import java.io.Serializable; +/** + * This interface defines all necessary functions of a {@link HyperAccount} + * + * @author Pingger + * @author RegalOwl + */ public interface HyperAccount extends Serializable { - - public String getName(); - public double getBalance(); + /** + * Deposits the given amount into the {@link HyperAccount} + * + * @param amount the amount to deposit + */ public void deposit(double amount); - public void withdraw(double amount); - public void setName(String newName); - public void setBalance(double balance); - public boolean hasBalance(double balance); + + /** + * @return the Balance of the {@link HyperAccount} + */ + public double getBalance(); + + /** + * @return the Name of the {@link HyperAccount} + */ + public String getName(); + + /** + * Sends a message to this {@link HyperAccount}. Actual effect is implementation + * dependent + * + * @param message + */ public void sendMessage(String message); + /** + * Sets this {@link HyperAccount}'s Balance to the given value + * + * @param balance the balance to set + */ + public void setBalance(double balance); + + /** + * Changes the Name of this {@link HyperAccount} + * + * @param newName the new Name to assign + */ + public void setName(String newName); + + /** + * Withdraws the amount from the {@link HyperAccount} + * + * @param amount the amount to withdraw + */ + public void withdraw(double amount); + + /** + * Checks if this {@link HyperAccount} has the given Balance or more. + * + * @param balance the balance to at least have + * @return true, if {@link HyperAccount#getBalance()}>=balance + */ + default boolean hasBalance(double balance) { + return getBalance() >= balance; + } + /** + * Updates this {@link HyperAccount}'s Balance. Positive Value deposits, + * negative Value withdraws. Zero/NaN does nothing. + * + * @param amount the amount to deposit/withdraw from this {@link HyperAccount} + */ + default void updateBalance(double amount) { + if (amount > 0) { + deposit(amount); + } else if (amount < 0) { + withdraw(amount); + } + // on 0 do nothing, because no change + } } diff --git a/src/main/java/regalowl/hyperconomy/account/HyperBank.java b/src/main/java/regalowl/hyperconomy/account/HyperBank.java index b5bc95df..137f486a 100755 --- a/src/main/java/regalowl/hyperconomy/account/HyperBank.java +++ b/src/main/java/regalowl/hyperconomy/account/HyperBank.java @@ -240,6 +240,7 @@ private void saveMembers() { hc.getSQLWrite().addToQueue(ws); } + @Override public void sendMessage(String message) { for (HyperPlayer owner: getOwners()) { owner.sendMessage(message); diff --git a/src/main/java/regalowl/hyperconomy/account/HyperBankManager.java b/src/main/java/regalowl/hyperconomy/account/HyperBankManager.java index 5c778174..550d0189 100644 --- a/src/main/java/regalowl/hyperconomy/account/HyperBankManager.java +++ b/src/main/java/regalowl/hyperconomy/account/HyperBankManager.java @@ -26,11 +26,7 @@ public void handleHyperEvent(HyperEvent event) { if (event instanceof DataLoadEvent) { DataLoadEvent devent = (DataLoadEvent)event; if (!(devent.loadType == DataLoadType.PLAYER)) return; - new Thread(new Runnable() { - public void run() { - loadData(); - } - }).start(); + new Thread(() -> loadData()).start(); } } diff --git a/src/main/java/regalowl/hyperconomy/account/HyperPlayer.java b/src/main/java/regalowl/hyperconomy/account/HyperPlayer.java index 139eb0c6..ea677282 100644 --- a/src/main/java/regalowl/hyperconomy/account/HyperPlayer.java +++ b/src/main/java/regalowl/hyperconomy/account/HyperPlayer.java @@ -3,8 +3,6 @@ import java.util.HashMap; import java.util.UUID; -import regalowl.simpledatalib.CommonFunctions; -import regalowl.simpledatalib.sql.SQLWrite; import regalowl.hyperconomy.DataManager; import regalowl.hyperconomy.HyperConomy; import regalowl.hyperconomy.HyperEconomy; @@ -16,6 +14,8 @@ import regalowl.hyperconomy.transaction.PlayerTransaction; import regalowl.hyperconomy.transaction.TransactionProcessor; import regalowl.hyperconomy.transaction.TransactionResponse; +import regalowl.simpledatalib.CommonFunctions; +import regalowl.simpledatalib.sql.SQLWrite; @@ -129,6 +129,7 @@ public boolean validUUID() { return validUUID; } + @Override public String getName() { if (name == null || name == "") { return uuid; @@ -154,6 +155,7 @@ public HyperEconomy getHyperEconomy() { return em.getEconomy(economy); } + @Override public double getBalance() { if (hc.getMC().useExternalEconomy()) { checkExternalAccount(); @@ -203,6 +205,7 @@ public void delete() { hc.getSQLWrite().performDelete("hyperconomy_players", conditions); } + @Override public void setName(String name) { hc.getHyperPlayerManager().removeHyperPlayer(this); HashMap conditions = new HashMap(); @@ -272,6 +275,7 @@ public HInventory getInventory() { return hc.getMC().getInventory(this); } + @Override public void sendMessage(String message) { hc.getMC().sendMessage(this, message); } @@ -350,6 +354,7 @@ public boolean hasBuyPermission(Shop s) { } + @Override public boolean hasBalance(double amount) { if ((getBalance() - amount) >= 0) { return true; @@ -358,6 +363,7 @@ public boolean hasBalance(double amount) { } + @Override public void setBalance(double balance) { if (hc.getMC().useExternalEconomy()) { checkExternalAccount(); @@ -379,8 +385,11 @@ public void setInternalBalance(double balance) { hc.getHyperEventHandler().fireEvent(new HyperPlayerModificationEvent(this)); } + @Override public void deposit(double amount) { - if (hc.getMC().useExternalEconomy()) { + if (amount < 0) { + withdraw(-amount); + } else if (hc.getMC().useExternalEconomy()) { checkExternalAccount(); hc.getMC().getEconomyProvider().depositAccount(name, amount); hc.getLog().writeAuditLog(name, "deposit", amount, hc.getMC().getEconomyProvider().getEconomyName()); @@ -397,8 +406,11 @@ public void deposit(double amount) { } + @Override public void withdraw(double amount) { - if (hc.getMC().useExternalEconomy()) { + if (amount < 0) { + deposit(-amount); + } else if (hc.getMC().useExternalEconomy()) { checkExternalAccount(); hc.getMC().getEconomyProvider().withdrawAccount(name, amount); hc.getLog().writeAuditLog(name, "withdrawal", amount, hc.getMC().getEconomyProvider().getEconomyName()); @@ -442,7 +454,7 @@ public int getTotalXpPoints() { public int getLvlFromXP(int exp) { double lvlraw = (Math.sqrt((exp * 7.0) + 25.0) - 5.0) * (2.0 / 7.0); int lvl = (int) Math.floor(lvlraw); - if ((double) lvl > lvlraw) { + if (lvl > lvlraw) { lvl = lvl - 1; } return lvl; diff --git a/src/main/java/regalowl/hyperconomy/account/HyperPlayerManager.java b/src/main/java/regalowl/hyperconomy/account/HyperPlayerManager.java index e28fd5d8..049a2e86 100644 --- a/src/main/java/regalowl/hyperconomy/account/HyperPlayerManager.java +++ b/src/main/java/regalowl/hyperconomy/account/HyperPlayerManager.java @@ -40,13 +40,10 @@ public void handleHyperEvent(HyperEvent event) { if (event instanceof DataLoadEvent) { DataLoadEvent devent = (DataLoadEvent)event; if (devent.loadType == DataLoadType.ECONOMY) { - new Thread(new Runnable() { - public void run() { - loadData(); - } - }).start(); + new Thread(() -> loadData()).start(); } else if (devent.loadType == DataLoadType.BANK) { hc.getMC().runTask(new Runnable() { + @Override public void run() { if (!hc.getDataManager().accountExists(defaultServerShopAccount)) { HyperPlayer defaultAccount = new HyperPlayer(hc, defaultServerShopAccount); @@ -101,6 +98,7 @@ private void loadData() { } playerData.close(); hc.getMC().runTask(new Runnable() { + @Override public void run() { for (HyperPlayer hp:hyperPlayers.values()) { hp.validate(); diff --git a/src/main/java/regalowl/hyperconomy/bukkit/BukkitCommon.java b/src/main/java/regalowl/hyperconomy/bukkit/BukkitCommon.java index aea5b04b..61c2eb30 100644 --- a/src/main/java/regalowl/hyperconomy/bukkit/BukkitCommon.java +++ b/src/main/java/regalowl/hyperconomy/bukkit/BukkitCommon.java @@ -14,7 +14,6 @@ import org.bukkit.FireworkEffect.Builder; import org.bukkit.Location; import org.bukkit.Material; - import org.bukkit.block.Block; import org.bukkit.block.BlockFace; import org.bukkit.block.BlockState; @@ -123,7 +122,7 @@ protected Sign getSign(HLocation l) { protected boolean isTransactionSign(HLocation l) { Block b = getBlock(l); - if (b != null && b.getType().equals(Material.SIGN_POST) || b != null && b.getType().equals(Material.WALL_SIGN)) { + if (b != null && (b.getType().equals(Material.SIGN) || b.getType().equals(Material.WALL_SIGN))) { Sign s = (Sign) b.getState(); String line3 = ChatColor.stripColor(s.getLine(2)).trim(); if (line3.equalsIgnoreCase("[sell:buy]") || line3.equalsIgnoreCase("[sell]") || line3.equalsIgnoreCase("[buy]")) { @@ -135,7 +134,7 @@ protected boolean isTransactionSign(HLocation l) { protected boolean isInfoSign(HLocation l) { Block b = getBlock(l); - if (b != null && b.getType().equals(Material.SIGN_POST) || b != null && b.getType().equals(Material.WALL_SIGN)) { + if (b != null && (b.getType().equals(Material.SIGN) || b.getType().equals(Material.WALL_SIGN))) { Sign s = (Sign) b.getState(); String type = ChatColor.stripColor(s.getLine(2)).trim().replace(":", "").replace(" ", ""); if (SignType.isSignType(type)) return true; @@ -412,7 +411,7 @@ public HItemStack getSerializableItemStack(ItemStack s) { while (it.hasNext()) { Enchantment e = it.next(); int lvl = enchants.get(e); - enchantments.add(new HEnchantment(e.getName(), lvl)); + enchantments.add(new HEnchantment(e.getKey().getKey(), lvl)); } ArrayList itemFlags = new ArrayList(); Set flags = im.getItemFlags(); @@ -436,7 +435,7 @@ public HItemStack getSerializableItemStack(ItemStack s) { while (iter.hasNext()) { Enchantment e = iter.next(); int lvl = stored.get(e); - storedEnchantments.add(new HEnchantment(e.getName(), lvl)); + storedEnchantments.add(new HEnchantment(e.getKey().getKey(), lvl)); } itemMeta = new HEnchantmentStorageMeta(displayName, lore, itemFlags, unbreakable, repairCost, storedEnchantments); } else if (im instanceof BookMeta) { @@ -532,7 +531,7 @@ public ItemStack getItemStack(HItemStack hItemStack) { itemMeta.setDisplayName(hItemMeta.getDisplayName()); itemMeta.setLore(hItemMeta.getLore()); for (HEnchantment se:hItemMeta.getEnchantments()) { - itemMeta.addEnchant(Enchantment.getByName(se.getEnchantmentName()), se.getLvl(), true); + itemMeta.addEnchant(Enchantment.getByKey(se.getEnchantmentKey()), se.getLvl(), true); } for (HItemFlag f:hItemMeta.getItemFlags()) { itemMeta.addItemFlags(ItemFlag.valueOf(f.getItemFlag())); @@ -546,7 +545,7 @@ public ItemStack getItemStack(HItemStack hItemStack) { HEnchantmentStorageMeta sItemMeta = (HEnchantmentStorageMeta)hItemMeta; EnchantmentStorageMeta esm = (EnchantmentStorageMeta)itemMeta; for (HEnchantment se:sItemMeta.getEnchantments()) { - esm.addStoredEnchant(Enchantment.getByName(se.getEnchantmentName()), se.getLvl(), true); + esm.addStoredEnchant(Enchantment.getByKey(se.getEnchantmentKey()), se.getLvl(), true); } } else if (hItemMeta instanceof HBookMeta) { HBookMeta sItemMeta = (HBookMeta)hItemMeta; diff --git a/src/main/java/regalowl/hyperconomy/bukkit/BukkitConnector.java b/src/main/java/regalowl/hyperconomy/bukkit/BukkitConnector.java index 9d8041a9..c6c531dd 100644 --- a/src/main/java/regalowl/hyperconomy/bukkit/BukkitConnector.java +++ b/src/main/java/regalowl/hyperconomy/bukkit/BukkitConnector.java @@ -9,16 +9,13 @@ import java.util.concurrent.atomic.AtomicLong; import java.util.logging.Logger; -import net.milkbowl.vault.Vault; -import net.milkbowl.vault.economy.Economy; - import org.bukkit.Bukkit; import org.bukkit.Chunk; import org.bukkit.GameMode; +import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.OfflinePlayer; import org.bukkit.World; -import org.bukkit.Location; import org.bukkit.block.Block; import org.bukkit.block.BlockFace; import org.bukkit.block.BlockState; @@ -43,6 +40,8 @@ import org.bukkit.scheduler.BukkitTask; import org.bukkit.util.Vector; +import net.milkbowl.vault.Vault; +import net.milkbowl.vault.economy.Economy; import regalowl.hyperconomy.HyperConomy; import regalowl.hyperconomy.InternalEconomy; import regalowl.hyperconomy.account.HyperPlayer; @@ -98,14 +97,17 @@ public BukkitCommon getBukkitCommon() { public void onLoad() { if (hc == null) hc = new HyperConomy(this); hc.load(); + getLogger().info("Loaded"); } @Override public void onEnable() { hc.enable(); + getLogger().info("Enabled"); } @Override public void onDisable() { hc.disable(false); + getLogger().info("Disabled"); } @Override public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { @@ -344,8 +346,8 @@ public HLocation getLocation(HyperPlayer hp) { @Override public boolean conflictsWith(HEnchantment e1, HEnchantment e2) { - Enchantment ench1 = Enchantment.getByName(e1.getEnchantmentName()); - Enchantment ench2 = Enchantment.getByName(e2.getEnchantmentName()); + Enchantment ench1 = Enchantment.getByKey(e1.getEnchantmentKey()); + Enchantment ench2 = Enchantment.getByKey(e2.getEnchantmentKey()); return ench1.conflictsWith(ench2); } @@ -641,7 +643,7 @@ public ChestShop getChestShop(HLocation location) { public boolean canHoldChestShopSign(HLocation l) { Block b = common.getBlock(l); Material m = b.getType(); - if (m == Material.ICE || m == Material.LEAVES || m == Material.SAND || m == Material.GRAVEL || m == Material.SIGN || m == Material.SIGN_POST || m == Material.TNT) { + if (m == Material.ICE|| m == Material.BIRCH_LEAVES|| m == Material.ACACIA_LEAVES || m == Material.BIRCH_LEAVES|| m == Material.DARK_OAK_LEAVES|| m == Material.JUNGLE_LEAVES || m == Material.OAK_LEAVES|| m == Material.SPRUCE_LEAVES || m == Material.SAND || m == Material.GRAVEL || m == Material.SIGN || m == Material.SIGN || m == Material.TNT) { return false; } return true; @@ -664,7 +666,7 @@ public String removeColor(String text) { public HSign getSign(HLocation location) { if (location == null) return null; Block b = common.getLocation(location).getBlock(); - if (b != null && (b.getType().equals(Material.SIGN_POST) || b.getType().equals(Material.WALL_SIGN))) { + if (b != null && (b.getType().equals(Material.SIGN) || b.getType().equals(Material.WALL_SIGN))) { Sign s = (Sign) b.getState(); boolean isWallSign = (b.getType().equals(Material.WALL_SIGN)) ? true:false; ArrayList lines = new ArrayList(); diff --git a/src/main/java/regalowl/hyperconomy/bukkit/BukkitEconomy.java b/src/main/java/regalowl/hyperconomy/bukkit/BukkitEconomy.java index 3b75b8e7..8f40adef 100644 --- a/src/main/java/regalowl/hyperconomy/bukkit/BukkitEconomy.java +++ b/src/main/java/regalowl/hyperconomy/bukkit/BukkitEconomy.java @@ -88,11 +88,7 @@ public boolean hasBank(String bankName) { public double getBankBalance(String bankName) { if (bankName == null || bankName.equals("")) return 0; EconomyResponse response = e.bankBalance(bankName); - if (response.type.equals(ResponseType.SUCCESS)) { - return response.balance; - } else { - return 0; - } + return response.type.equals(ResponseType.SUCCESS) ? response.balance : 0; } @Override diff --git a/src/main/java/regalowl/hyperconomy/bukkit/BukkitFrameShop.java b/src/main/java/regalowl/hyperconomy/bukkit/BukkitFrameShop.java index 5e9cf3e6..0f801e3b 100644 --- a/src/main/java/regalowl/hyperconomy/bukkit/BukkitFrameShop.java +++ b/src/main/java/regalowl/hyperconomy/bukkit/BukkitFrameShop.java @@ -79,9 +79,7 @@ public BukkitFrameShop(HyperConomy hc, short mapId, HLocation l, TradeObject ho, this.to = ho; this.tradeAmount = amount; this.s = s; - if (ho != null) { - render(); - } + render(); } @Override diff --git a/src/main/java/regalowl/hyperconomy/bukkit/BukkitFrameShopHandler.java b/src/main/java/regalowl/hyperconomy/bukkit/BukkitFrameShopHandler.java index 01b8e95d..01306f95 100644 --- a/src/main/java/regalowl/hyperconomy/bukkit/BukkitFrameShopHandler.java +++ b/src/main/java/regalowl/hyperconomy/bukkit/BukkitFrameShopHandler.java @@ -50,10 +50,12 @@ public BukkitFrameShopHandler(MineCraftConnector mc) { private void load() { new Thread(new Runnable() { + @Override public void run() { frameShops.clear(); dbData = hc.getSQLRead().select("SELECT * FROM hyperconomy_frame_shops"); hc.getMC().runTask(new Runnable() { + @Override public void run() { while (dbData.next()) { double x = dbData.getDouble("X"); @@ -89,11 +91,13 @@ public FrameShop getFrameShop(HLocation l) { return null; } + @Override public boolean frameShopExists(HLocation l) { if (getFrameShop(l) != null) return true; return false; } + @Override public void removeFrameShop(HLocation l) { HLocation loc = new HLocation(l); loc.convertToBlockLocation(); @@ -102,6 +106,7 @@ public void removeFrameShop(HLocation l) { } } + @Override public void createFrameShop(HLocation l, TradeObject ho, Shop s) { HLocation loc = new HLocation(l); loc.convertToBlockLocation(); diff --git a/src/main/java/regalowl/hyperconomy/bukkit/BukkitListener.java b/src/main/java/regalowl/hyperconomy/bukkit/BukkitListener.java index 11c0ac1f..659d4fba 100644 --- a/src/main/java/regalowl/hyperconomy/bukkit/BukkitListener.java +++ b/src/main/java/regalowl/hyperconomy/bukkit/BukkitListener.java @@ -21,6 +21,7 @@ import org.bukkit.event.block.SignChangeEvent; import org.bukkit.event.entity.CreatureSpawnEvent; import org.bukkit.event.entity.EntityExplodeEvent; +import org.bukkit.event.entity.EntityPickupItemEvent; import org.bukkit.event.inventory.InventoryClickEvent; import org.bukkit.event.inventory.InventoryCloseEvent; import org.bukkit.event.inventory.InventoryDragEvent; @@ -29,7 +30,6 @@ import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.event.player.PlayerItemHeldEvent; import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerPickupItemEvent; import org.bukkit.event.player.PlayerQuitEvent; import org.bukkit.event.world.ChunkLoadEvent; import org.bukkit.event.world.ChunkUnloadEvent; @@ -371,7 +371,7 @@ public void onPickupDisplayCreatureSpawn(CreatureSpawnEvent event) { } @EventHandler - public void onPlayerPickupItemDisplayEvent(PlayerPickupItemEvent event) { + public void onPlayerPickupItemDisplayEvent(EntityPickupItemEvent event) { Item item = event.getItem(); if (!event.isCancelled()) { List meta = item.getMetadata("HyperConomy"); diff --git a/src/main/java/regalowl/hyperconomy/bukkit/Economy_HyperConomy.java b/src/main/java/regalowl/hyperconomy/bukkit/Economy_HyperConomy.java index 36077908..46752e02 100755 --- a/src/main/java/regalowl/hyperconomy/bukkit/Economy_HyperConomy.java +++ b/src/main/java/regalowl/hyperconomy/bukkit/Economy_HyperConomy.java @@ -39,18 +39,13 @@ public Economy_HyperConomy(HyperConomy hc) { } @Override public boolean isEnabled() { - if (hc == null) { - return false; - } else { - return hc.getMC().isEnabled(); - } + return hc == null ? false : hc.getMC().isEnabled(); } @Override public String getName() { return name; } - @Override public double getBalance(String playerName) { return hc.getEconomyAPI().getAccountBalance(playerName); @@ -68,7 +63,6 @@ public double getBalance(OfflinePlayer player, String world) { return getBalance(player.getName(), world); } - @Override public boolean createPlayerAccount(String playerName) { hc.getEconomyAPI().createAccount(playerName); @@ -87,7 +81,6 @@ public boolean createPlayerAccount(OfflinePlayer player, String worldName) { return createPlayerAccount(player.getName()); } - @Override public EconomyResponse withdrawPlayer(String playerName, double amount) { if (amount < 0) { @@ -117,8 +110,6 @@ public EconomyResponse withdrawPlayer(OfflinePlayer player, String worldName, do return withdrawPlayer(player.getName(), amount); } - - @Override public EconomyResponse depositPlayer(String playerName, double amount) { if (amount < 0) { @@ -144,7 +135,6 @@ public EconomyResponse depositPlayer(OfflinePlayer player, String worldName, dou return depositPlayer(player.getName(), amount); } - @Override public String format(double amount) { return hc.getEconomyAPI().getAmountAsString(amount); @@ -158,7 +148,6 @@ public String currencyNamePlural() { return hc.getEconomyAPI().currencyNamePlural(); } - @Override public boolean has(String playerName, double amount) { return hc.getEconomyAPI().accountHasBalance(playerName, amount); @@ -176,7 +165,6 @@ public boolean has(OfflinePlayer player, String worldName, double amount) { return has(player.getName(), amount); } - @Override public boolean hasAccount(String playerName) { return hc.getEconomyAPI().hasAccount(playerName); @@ -200,9 +188,6 @@ public int fractionalDigits() { return hc.getEconomyAPI().fractionalDigits(); } - - - @Override public EconomyResponse createBank(String name, String player) { DataManager dm = hc.getDataManager(); @@ -347,27 +332,4 @@ public List getBanks() { public boolean hasBankSupport() { return true; } - - - - - - - - - - - - - - - - - - - - - - - } \ No newline at end of file diff --git a/src/main/java/regalowl/hyperconomy/bukkit/NBTTools.java b/src/main/java/regalowl/hyperconomy/bukkit/NBTTools.java index 2a4a0d72..dbb7739f 100644 --- a/src/main/java/regalowl/hyperconomy/bukkit/NBTTools.java +++ b/src/main/java/regalowl/hyperconomy/bukkit/NBTTools.java @@ -30,8 +30,7 @@ public class NBTTools { private Method nbtTagCompoundGetDoubleMethod; private Method nbtTagCompoundSetBooleanMethod; private Method nbtTagCompoundGetBooleanMethod; - @SuppressWarnings("rawtypes") - private Class nbtTagCompound; + private Class nbtTagCompound; private boolean loadedSuccessfully = false; @SuppressWarnings("unchecked") @@ -42,7 +41,7 @@ public NBTTools() { version = version.substring(version.lastIndexOf(".") + 1, version.length()); craftItemStackClass = Class.forName("org.bukkit.craftbukkit." + version + ".inventory.CraftItemStack"); nbtTagCompound = Class.forName("net.minecraft.server." + version + ".NBTTagCompound"); - Object nbtTag = nbtTagCompound.newInstance(); + Object nbtTag = nbtTagCompound.getDeclaredConstructor().newInstance(); @SuppressWarnings("rawtypes") Class nbtBase = Class.forName("net.minecraft.server." + version + ".NBTBase"); craftItemStackAsNMSCopyMethod = craftItemStackClass.getMethod("asNMSCopy", ItemStack.class); @@ -53,7 +52,7 @@ public NBTTools() { nmsItemStackGetTagMethod = nmsItemStack.getClass().getMethod("getTag"); nmsItemStackSetTagMethod = nmsItemStack.getClass().getMethod("setTag", nbtTag.getClass()); nbtTagCompoundHasKeyMethod = nbtTag.getClass().getMethod("hasKey", String.class); - nbtTagCompoundCMethod = nbtTag.getClass().getMethod("c"); + nbtTagCompoundCMethod = nbtTag.getClass().getMethod("getKeys"); nbtTagCompoundSetMethod = nbtTag.getClass().getMethod("set", String.class, nbtBase); nbtTagCompoundGetCompoundMethod = nbtTag.getClass().getMethod("getCompound", String.class); nbtTagCompoundSetStringMethod = nbtTag.getClass().getMethod("setString", String.class, String.class); @@ -133,7 +132,7 @@ public void setNBTTag(Object nmsItemStack, Object nbtTag) { } public Object generateNBTTag() { try { - return nbtTagCompound.newInstance(); + return nbtTagCompound.getDeclaredConstructor().newInstance(); } catch (Exception e) { e.printStackTrace(); return null; diff --git a/src/main/java/regalowl/hyperconomy/command/Additem.java b/src/main/java/regalowl/hyperconomy/command/Additem.java index 4e840607..99e828e9 100644 --- a/src/main/java/regalowl/hyperconomy/command/Additem.java +++ b/src/main/java/regalowl/hyperconomy/command/Additem.java @@ -30,6 +30,7 @@ public Additem(HyperConomy hc) { } + @Override public CommandData onCommand(CommandData data) { if (!validate(data)) return data; try { diff --git a/src/main/java/regalowl/hyperconomy/command/Audit.java b/src/main/java/regalowl/hyperconomy/command/Audit.java index c249c6af..0815008b 100644 --- a/src/main/java/regalowl/hyperconomy/command/Audit.java +++ b/src/main/java/regalowl/hyperconomy/command/Audit.java @@ -40,14 +40,16 @@ public CommandData onCommand(CommandData d) { return data; } new Thread(new Runnable() { - public void run() { + @Override + public void run() { HyperAccount ha = dm.getAccount(account); account = ha.getName(); cbalance = ha.getBalance(); logbalance = getHyperLogTotal(account, "sale") - getHyperLogTotal(account, "purchase"); auditbalance = getAuditLogTotal(account); hc.getMC().runTask(new Runnable() { - public void run() { + @Override + public void run() { if (hp == null) { hc.getMC().logInfo(L.get("LINE_BREAK")); hc.getMC().logInfo(L.f(L.get("AUDIT_TRUE"), cbalance)); diff --git a/src/main/java/regalowl/hyperconomy/command/Browseshop.java b/src/main/java/regalowl/hyperconomy/command/Browseshop.java index 40124069..67ed77b0 100644 --- a/src/main/java/regalowl/hyperconomy/command/Browseshop.java +++ b/src/main/java/regalowl/hyperconomy/command/Browseshop.java @@ -3,13 +3,6 @@ import java.util.ArrayList; import java.util.Collections; - - - - - - -import regalowl.simpledatalib.CommonFunctions; import regalowl.hyperconomy.HyperConomy; import regalowl.hyperconomy.HyperEconomy; import regalowl.hyperconomy.shop.HyperShopManager; @@ -20,6 +13,7 @@ import regalowl.hyperconomy.tradeobject.TradeObject; import regalowl.hyperconomy.tradeobject.TradeObjectStatus; import regalowl.hyperconomy.tradeobject.TradeObjectType; +import regalowl.simpledatalib.CommonFunctions; public class Browseshop extends BaseCommand implements HyperCommand { @@ -80,9 +74,7 @@ public CommandData onCommand(CommandData data) { } Shop shop = null; if (hp != null) { - if (!hsm.inAnyShop(hp)) { - shop = null; - } else { + if (hsm.inAnyShop(hp)) { shop = hsm.getShop(hp); } } diff --git a/src/main/java/regalowl/hyperconomy/command/HcCommand.java b/src/main/java/regalowl/hyperconomy/command/HcCommand.java index fa3aa844..bed03c90 100644 --- a/src/main/java/regalowl/hyperconomy/command/HcCommand.java +++ b/src/main/java/regalowl/hyperconomy/command/HcCommand.java @@ -14,6 +14,7 @@ public HcCommand(HyperConomy hc) { super(hc, false); } + @Override public CommandData onCommand(CommandData data) { String args[] = data.getArgs(); HyperLock hl = hc.getHyperLock(); diff --git a/src/main/java/regalowl/hyperconomy/command/Hcdata.java b/src/main/java/regalowl/hyperconomy/command/Hcdata.java index 78a27f32..5429ee0c 100644 --- a/src/main/java/regalowl/hyperconomy/command/Hcdata.java +++ b/src/main/java/regalowl/hyperconomy/command/Hcdata.java @@ -43,6 +43,7 @@ public CommandData onCommand(CommandData data) { table = args[1]; if (table.equalsIgnoreCase("all")) { new Thread(new Runnable() { + @Override public void run() { for (String table:tables) { QueryResult data = hc.getSQLRead().select("SELECT * FROM hyperconomy_" + table); @@ -59,6 +60,7 @@ public void run() { return data; } new Thread(new Runnable() { + @Override public void run() { QueryResult data = hc.getSQLRead().select("SELECT * FROM hyperconomy_" + table); ft.makeFolder(folderPath + File.separator + "import_export"); diff --git a/src/main/java/regalowl/hyperconomy/command/Hctest.java b/src/main/java/regalowl/hyperconomy/command/Hctest.java index d6069532..1a8fb977 100755 --- a/src/main/java/regalowl/hyperconomy/command/Hctest.java +++ b/src/main/java/regalowl/hyperconomy/command/Hctest.java @@ -9,6 +9,7 @@ public Hctest(HyperConomy hc) { super(hc, false); } + @Override public CommandData onCommand(CommandData data) { if (!validate(data)) return data; /* diff --git a/src/main/java/regalowl/hyperconomy/command/Hyperlog.java b/src/main/java/regalowl/hyperconomy/command/Hyperlog.java index 8008109e..c89e9f8c 100644 --- a/src/main/java/regalowl/hyperconomy/command/Hyperlog.java +++ b/src/main/java/regalowl/hyperconomy/command/Hyperlog.java @@ -110,10 +110,12 @@ public CommandData onCommand(CommandData data) { statement += " ORDER BY TIME DESC"; new Thread(new Runnable() { - public void run() { + @Override + public void run() { result = getHyperLog(statement); hc.getMC().runTask(new Runnable() { - public void run() { + @Override + public void run() { int m = result.size(); if (m > 100) { m = 100; diff --git a/src/main/java/regalowl/hyperconomy/command/Lowstock.java b/src/main/java/regalowl/hyperconomy/command/Lowstock.java index bac5e191..b852ed3a 100644 --- a/src/main/java/regalowl/hyperconomy/command/Lowstock.java +++ b/src/main/java/regalowl/hyperconomy/command/Lowstock.java @@ -39,7 +39,8 @@ public CommandData onCommand(CommandData data) { } ArrayList allObjects = he.getTradeObjects(s); Collections.sort(allObjects, new Comparator(){ - public int compare(TradeObject to1, TradeObject to2) { + @Override + public int compare(TradeObject to1, TradeObject to2) { Double s1 = to1.getStock(); Double s2 = to2.getStock(); return s1.compareTo(s2); diff --git a/src/main/java/regalowl/hyperconomy/command/Repairsigns.java b/src/main/java/regalowl/hyperconomy/command/Repairsigns.java index 06b9c73b..9605719d 100644 --- a/src/main/java/regalowl/hyperconomy/command/Repairsigns.java +++ b/src/main/java/regalowl/hyperconomy/command/Repairsigns.java @@ -116,6 +116,7 @@ public CommandData onCommand(CommandData data) { if (signsRepaired > 0) { hc.getInfoSignHandler().reloadSigns(); hc.getMC().runTaskLater(new Runnable() { + @Override public void run() { hc.getInfoSignHandler().updateSigns(); } diff --git a/src/main/java/regalowl/hyperconomy/command/Topitems.java b/src/main/java/regalowl/hyperconomy/command/Topitems.java index 99d5eaea..ad05a6fa 100644 --- a/src/main/java/regalowl/hyperconomy/command/Topitems.java +++ b/src/main/java/regalowl/hyperconomy/command/Topitems.java @@ -39,7 +39,8 @@ public CommandData onCommand(CommandData data) { } ArrayList allObjects = he.getTradeObjects(s); Collections.sort(allObjects, new Comparator(){ - public int compare(TradeObject to1, TradeObject to2) { + @Override + public int compare(TradeObject to1, TradeObject to2) { Double s1 = to1.getStock(); Double s2 = to2.getStock(); if (s1 < s2) return 1; diff --git a/src/main/java/regalowl/hyperconomy/display/InfoSign.java b/src/main/java/regalowl/hyperconomy/display/InfoSign.java index e46f2ab2..941cd222 100644 --- a/src/main/java/regalowl/hyperconomy/display/InfoSign.java +++ b/src/main/java/regalowl/hyperconomy/display/InfoSign.java @@ -336,6 +336,7 @@ private void updateHistorySign(int timevalueHours, int timevalue, String inc) { this.timeValue = timevalue; this.increment = inc; new Thread(new Runnable() { + @Override public void run() { String percentchange = hc.getHistory().getPercentChange(to, timeValueHours); String colorcode = getcolorCode(percentchange); @@ -345,6 +346,7 @@ public void run() { line3 = line3.substring(0, 13) + ")"; } hc.getMC().runTask(new Runnable() { + @Override public void run() { HSign s = getSign(); if (s != null) { diff --git a/src/main/java/regalowl/hyperconomy/display/InfoSignHandler.java b/src/main/java/regalowl/hyperconomy/display/InfoSignHandler.java index 67a50790..e06e313a 100644 --- a/src/main/java/regalowl/hyperconomy/display/InfoSignHandler.java +++ b/src/main/java/regalowl/hyperconomy/display/InfoSignHandler.java @@ -47,10 +47,12 @@ private void loadSigns() { signCounter.set(0); infoSigns.clear(); new Thread(new Runnable() { + @Override public void run() { SQLRead sr = hc.getSQLRead(); dbData = sr.select("SELECT * FROM hyperconomy_info_signs"); hc.getMC().runTask(new Runnable() { + @Override public void run() { while (dbData.next()) { HLocation l = new HLocation(dbData.getString("WORLD"), dbData.getInt("X"),dbData.getInt("Y"),dbData.getInt("Z")); @@ -87,7 +89,7 @@ public void handleHyperEvent(HyperEvent event) { if (hp.hasPermission("hyperconomy.createsign")) { String[] lines = s.getLines(); String economy = "default"; - if (hp != null && hp.getEconomy() != null) { + if (hp.getEconomy() != null) { economy = hp.getEconomy(); } String objectName = lines[0].trim() + lines[1].trim(); @@ -145,6 +147,7 @@ private class SignUpdater { SignUpdater() { currentSign = 0; updateTaskId = hc.getMC().runRepeatingTask(new Runnable() { + @Override public void run() { if (currentSign >= infoSigns.size()) { if (repeatUpdate.get()) { diff --git a/src/main/java/regalowl/hyperconomy/display/ItemDisplayHandler.java b/src/main/java/regalowl/hyperconomy/display/ItemDisplayHandler.java index 55f5c564..8a8e60f3 100644 --- a/src/main/java/regalowl/hyperconomy/display/ItemDisplayHandler.java +++ b/src/main/java/regalowl/hyperconomy/display/ItemDisplayHandler.java @@ -54,10 +54,12 @@ public void loadDisplays() { try { unloadDisplays(); new Thread(new Runnable() { + @Override public void run() { SQLRead sr = hc.getSQLRead(); dbData = sr.select("SELECT * FROM hyperconomy_item_displays"); hc.getMC().runTask(new Runnable() { + @Override public void run() { while (dbData.next()) { String w = dbData.getString("WORLD"); @@ -99,6 +101,7 @@ public void unloadDisplays() { public void startRefreshThread() { refreshthreadid = hc.getMC().runRepeatingTask(new Runnable() { + @Override public void run() { for (ItemDisplay display:displays) { display.refresh(); diff --git a/src/main/java/regalowl/hyperconomy/event/HyperEventHandler.java b/src/main/java/regalowl/hyperconomy/event/HyperEventHandler.java index 05e8f5e4..f4bb1452 100755 --- a/src/main/java/regalowl/hyperconomy/event/HyperEventHandler.java +++ b/src/main/java/regalowl/hyperconomy/event/HyperEventHandler.java @@ -39,6 +39,8 @@ private class EventFire implements Runnable { public EventFire(HyperEvent event) { this.event = event; } + + @Override public void run() { fireEvent(event); } diff --git a/src/main/java/regalowl/hyperconomy/gui/CategoryEditor.java b/src/main/java/regalowl/hyperconomy/gui/CategoryEditor.java index bfe488e5..e2bc5751 100644 --- a/src/main/java/regalowl/hyperconomy/gui/CategoryEditor.java +++ b/src/main/java/regalowl/hyperconomy/gui/CategoryEditor.java @@ -6,21 +6,20 @@ import java.util.ArrayList; import java.util.Collections; +import javax.swing.JButton; import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JList; import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.JTextField; import javax.swing.ListSelectionModel; import javax.swing.SwingUtilities; import javax.swing.border.EmptyBorder; import javax.swing.event.MouseInputAdapter; -import javax.swing.JList; -import javax.swing.JScrollPane; import regalowl.hyperconomy.tradeobject.TradeObject; -import javax.swing.JLabel; -import javax.swing.JButton; -import javax.swing.JTextField; - public class CategoryEditor extends JFrame { @@ -79,6 +78,7 @@ public CategoryEditor(TradeObject to, ObjectPanel ePanel) { addNewCategoryButton.setBounds(164, 489, 244, 25); contentPane.add(addNewCategoryButton); addNewCategoryButton.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent event) { String text = newCategoryField.getText(); if (text == null || text == "") return; @@ -98,6 +98,7 @@ public void actionPerformed(ActionEvent event) { JButton btnClose = new JButton("Close"); btnClose.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { dispose(); } diff --git a/src/main/java/regalowl/hyperconomy/gui/CompositeDataEditor.java b/src/main/java/regalowl/hyperconomy/gui/CompositeDataEditor.java index b5463bf4..37615553 100644 --- a/src/main/java/regalowl/hyperconomy/gui/CompositeDataEditor.java +++ b/src/main/java/regalowl/hyperconomy/gui/CompositeDataEditor.java @@ -3,12 +3,12 @@ import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; -import javax.swing.border.EmptyBorder; -import javax.swing.JTextArea; import javax.swing.JScrollPane; -import javax.swing.JButton; +import javax.swing.JTextArea; +import javax.swing.border.EmptyBorder; import regalowl.hyperconomy.tradeobject.TradeObject; @@ -51,6 +51,7 @@ public CompositeDataEditor(TradeObject to) { saveButton.setBounds(185, 475, 117, 25); contentPane.add(saveButton); saveButton.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent event) { tradeObject.setCompositeData(dataTextArea.getText()); dataEditor.dispose(); diff --git a/src/main/java/regalowl/hyperconomy/gui/DataEditor.java b/src/main/java/regalowl/hyperconomy/gui/DataEditor.java index 9fe0f8d3..d58d4466 100644 --- a/src/main/java/regalowl/hyperconomy/gui/DataEditor.java +++ b/src/main/java/regalowl/hyperconomy/gui/DataEditor.java @@ -3,12 +3,12 @@ import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; -import javax.swing.border.EmptyBorder; -import javax.swing.JTextArea; import javax.swing.JScrollPane; -import javax.swing.JButton; +import javax.swing.JTextArea; +import javax.swing.border.EmptyBorder; import regalowl.hyperconomy.tradeobject.TradeObject; @@ -51,6 +51,7 @@ public DataEditor(TradeObject to) { saveButton.setBounds(185, 475, 117, 25); contentPane.add(saveButton); saveButton.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent event) { tradeObject.setData(dataTextArea.getText()); dataEditor.dispose(); diff --git a/src/main/java/regalowl/hyperconomy/gui/GUIConnector.java b/src/main/java/regalowl/hyperconomy/gui/GUIConnector.java index d267c157..65cddb04 100644 --- a/src/main/java/regalowl/hyperconomy/gui/GUIConnector.java +++ b/src/main/java/regalowl/hyperconomy/gui/GUIConnector.java @@ -2,11 +2,10 @@ -import regalowl.hyperconomy.api.MineCraftConnector; import regalowl.hyperconomy.api.ServerConnectionType; import regalowl.hyperconomy.util.DefaultConnector; -public class GUIConnector extends DefaultConnector implements MineCraftConnector { +public class GUIConnector extends DefaultConnector { diff --git a/src/main/java/regalowl/hyperconomy/gui/MainPanel.java b/src/main/java/regalowl/hyperconomy/gui/MainPanel.java index 4fc52692..342eae24 100644 --- a/src/main/java/regalowl/hyperconomy/gui/MainPanel.java +++ b/src/main/java/regalowl/hyperconomy/gui/MainPanel.java @@ -83,6 +83,7 @@ public class MainPanel implements SDLEventListener, HyperEventListener { */ public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { + @Override public void run() { try { new MainPanel(); @@ -232,6 +233,7 @@ public void windowClosing(java.awt.event.WindowEvent windowEvent) { gbc_btnCloneSelected.gridy = 3; panel.add(btnCloneSelected, gbc_btnCloneSelected); btnCloneSelected.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { String newName = addEconomyNameField.getText(); if (newName == null || newName.equals("")) return; @@ -246,6 +248,7 @@ public void actionPerformed(ActionEvent e) { JButton btnUpdateEconomy = new JButton("Update Economy"); btnUpdateEconomy.setToolTipText("Changes will be applied to all objects in the economy."); btnUpdateEconomy.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent event) { String type = newValueType.getSelectedItem().toString(); HyperEconomy he = getSelectedEconomy(); @@ -363,6 +366,7 @@ public void actionPerformed(ActionEvent event) { stockToMedianButton = new JButton("Set Stock to Median"); stockToMedianButton.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { if (JOptionPane.showConfirmDialog(frmEconomyEditor, "Are you sure you want to set stocks to their median value for this economy?", "Set Stock To Median", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE) == JOptionPane.YES_OPTION) { @@ -502,6 +506,7 @@ public void actionPerformed(ActionEvent e) { economySelectList.setToolTipText("Select an economy."); scrollPane.setViewportView(economySelectList); btnDeleteEconomy.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { HyperEconomy he = getSelectedEconomy(); if (he == null) return; @@ -516,6 +521,7 @@ public void actionPerformed(ActionEvent e) { } }); btnEditEconomy.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { HyperEconomy he = getSelectedEconomy(); if (he == null) return; @@ -524,6 +530,7 @@ public void actionPerformed(ActionEvent e) { } }); addEconomyButton.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { String newName = addEconomyNameField.getText(); if (newName == null || newName.equals("")) return; diff --git a/src/main/java/regalowl/hyperconomy/gui/ObjectPanel.java b/src/main/java/regalowl/hyperconomy/gui/ObjectPanel.java index a7286a5d..189bd153 100644 --- a/src/main/java/regalowl/hyperconomy/gui/ObjectPanel.java +++ b/src/main/java/regalowl/hyperconomy/gui/ObjectPanel.java @@ -110,6 +110,7 @@ private void initialize() { categoryComboBox = new JComboBox(); categoryComboBox.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { if (!loadingCategories) loadObjects(); } @@ -128,6 +129,7 @@ public void actionPerformed(ActionEvent e) { objectListScrollPane.setViewportView(listObjectSelector); listObjectSelector.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); listObjectSelector.addListSelectionListener(new ListSelectionListener() { + @Override public void valueChanged(ListSelectionEvent event) { TradeObject to = getSelectedObject(); if (to == null) return; @@ -375,6 +377,7 @@ public void valueChanged(ListSelectionEvent event) { editCategoriesButton = new JButton("Edit Categories"); editCategoriesButton.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { TradeObject to = getSelectedObject(); if (to == null) return; @@ -435,6 +438,7 @@ public void actionPerformed(ActionEvent e) { gbc_editCompositesButton.gridy = 15; settingsPanel.add(editCompositesButton, gbc_editCompositesButton); editCompositesButton.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent event) { TradeObject to = getSelectedObject(); if (to == null) return; @@ -450,6 +454,7 @@ public void actionPerformed(ActionEvent event) { gbc_btnEditObjectData.gridy = 16; settingsPanel.add(btnEditObjectData, gbc_btnEditObjectData); btnEditObjectData.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent event) { TradeObject to = getSelectedObject(); if (to == null) return; @@ -519,6 +524,7 @@ public void actionPerformed(ActionEvent event) { pricePanel.add(saveButton, gbc_saveButton); saveButton.setBackground(new Color(0, 51, 0)); saveButton.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent event) { if (fieldsUpdating) return; TradeObject to = getSelectedObject(); @@ -616,6 +622,7 @@ public void actionPerformed(ActionEvent event) { gbc_addObjectButton.gridy = 0; addNewPanel.add(addObjectButton, gbc_addObjectButton); addObjectButton.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { String newName = newItemNameField.getText(); String aliases = newName.replace("_", ""); @@ -641,6 +648,7 @@ public void actionPerformed(ActionEvent e) { addNewPanel.add(newItemNameField, gbc_newItemNameField); newItemNameField.setColumns(10); deleteButton.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent event) { if (fieldsUpdating) return; TradeObject to = getSelectedObject(); diff --git a/src/main/java/regalowl/hyperconomy/gui/RemoteGUIServer.java b/src/main/java/regalowl/hyperconomy/gui/RemoteGUIServer.java index b2da826d..2d4aa2a1 100644 --- a/src/main/java/regalowl/hyperconomy/gui/RemoteGUIServer.java +++ b/src/main/java/regalowl/hyperconomy/gui/RemoteGUIServer.java @@ -1,6 +1,5 @@ package regalowl.hyperconomy.gui; -import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.net.BindException; @@ -11,11 +10,11 @@ import java.util.Timer; import java.util.TimerTask; -import regalowl.simpledatalib.CommonFunctions; import regalowl.hyperconomy.HyperConomy; import regalowl.hyperconomy.HyperEconomy; import regalowl.hyperconomy.api.ServerConnectionType; import regalowl.hyperconomy.event.DataLoadEvent; +import regalowl.hyperconomy.event.DataLoadEvent.DataLoadType; import regalowl.hyperconomy.event.DisableEvent; import regalowl.hyperconomy.event.GUIChangeType; import regalowl.hyperconomy.event.HyperBankModificationEvent; @@ -23,14 +22,14 @@ import regalowl.hyperconomy.event.HyperEconomyDeletionEvent; import regalowl.hyperconomy.event.HyperEvent; import regalowl.hyperconomy.event.HyperEventListener; +import regalowl.hyperconomy.event.HyperPlayerModificationEvent; +import regalowl.hyperconomy.event.RequestGUIChangeEvent; +import regalowl.hyperconomy.event.ShopModificationEvent; import regalowl.hyperconomy.event.TradeObjectModificationEvent; import regalowl.hyperconomy.event.TradeObjectModificationType; -import regalowl.hyperconomy.event.DataLoadEvent.DataLoadType; import regalowl.hyperconomy.shop.PlayerShop; import regalowl.hyperconomy.tradeobject.TradeObject; -import regalowl.hyperconomy.event.HyperPlayerModificationEvent; -import regalowl.hyperconomy.event.RequestGUIChangeEvent; -import regalowl.hyperconomy.event.ShopModificationEvent; +import regalowl.simpledatalib.CommonFunctions; public class RemoteGUIServer implements HyperEventListener { @@ -81,6 +80,7 @@ public void handleHyperEvent(HyperEvent event) { new Thread(new Runnable() { + @Override public void run() { try { Socket socket = new Socket(); @@ -413,14 +413,12 @@ public void disable() { private void startServer() { hc.getDebugMode().debugWriteMessage("GUI Server started on port: " + listenPort); new Thread(new Runnable() { + @Override public void run() { while (runServer) { GUITransferObject incomingTransfer = null; - ServerSocket serverSocket = null; - Socket socket = null; - try { - serverSocket = new ServerSocket(listenPort); - socket = serverSocket.accept(); + try (ServerSocket serverSocket = new ServerSocket(listenPort); + Socket socket = serverSocket.accept()) { ObjectInputStream input = new ObjectInputStream(socket.getInputStream()); incomingTransfer = (GUITransferObject) input.readObject(); @@ -432,8 +430,6 @@ public void run() { ObjectOutputStream out = new ObjectOutputStream(socket.getOutputStream()); out.writeObject(response); out.flush(); - socket.close(); - serverSocket.close(); return; } resetDisconnectTimer = true; @@ -494,18 +490,12 @@ public void run() { out.writeObject(response); out.flush(); } - socket.close(); - serverSocket.close(); } catch (BindException be) { runServer = false; hc.getDebugMode().debugWriteError(be); hc.getDebugMode().debugWriteMessage("Remote GUI disabled. Port already in use by something else. Check your config."); } catch (Exception e) { - try { - hc.getDebugMode().debugWriteError(e); - if (socket != null) socket.close(); - if (serverSocket != null) serverSocket.close(); - } catch (IOException e1) {} + hc.getDebugMode().debugWriteError(e); } } } diff --git a/src/main/java/regalowl/hyperconomy/inventory/HEnchantment.java b/src/main/java/regalowl/hyperconomy/inventory/HEnchantment.java index ce92ae10..26a1f7f1 100644 --- a/src/main/java/regalowl/hyperconomy/inventory/HEnchantment.java +++ b/src/main/java/regalowl/hyperconomy/inventory/HEnchantment.java @@ -3,16 +3,18 @@ import java.util.HashMap; +import org.bukkit.NamespacedKey; + import regalowl.simpledatalib.CommonFunctions; public class HEnchantment { - private String enchantment; + private NamespacedKey enchantment; private int lvl; public HEnchantment(String enchantment, int lvl) { - this.enchantment = enchantment; + this.enchantment = NamespacedKey.minecraft(enchantment); this.lvl = lvl; } @@ -23,22 +25,26 @@ public HEnchantment(HEnchantment he) { public String serialize() { HashMap data = new HashMap(); - data.put("enchantment", enchantment); + data.put("enchantment", enchantment.getKey()); data.put("lvl", lvl+""); return CommonFunctions.implodeMap(data); } public HEnchantment(String serialized) { HashMap data = CommonFunctions.explodeMap(serialized); - this.enchantment = data.get("enchantment"); + this.enchantment = NamespacedKey.minecraft(data.get("enchantment")); this.lvl = Integer.parseInt(data.get("lvl")); } - public String getEnchantmentName() { + public NamespacedKey getEnchantmentKey() { return enchantment; } + public String getEnchantmentKeyString() { + return enchantment.getKey(); + } + public int getLvl() { return lvl; } @@ -71,4 +77,7 @@ public boolean equals(Object obj) { return true; } + public String toString() { + return enchantment.getNamespace() + ":" + enchantment.getKey() + "~" + lvl; + } } \ No newline at end of file diff --git a/src/main/java/regalowl/hyperconomy/inventory/HItemMeta.java b/src/main/java/regalowl/hyperconomy/inventory/HItemMeta.java index ebca5d7f..940308a5 100644 --- a/src/main/java/regalowl/hyperconomy/inventory/HItemMeta.java +++ b/src/main/java/regalowl/hyperconomy/inventory/HItemMeta.java @@ -101,7 +101,7 @@ public ArrayList displayInfo(HyperPlayer p, String color1, String color2 String enchantString = ""; if (enchantments != null && enchantments.size() > 0) { for(HEnchantment se:enchantments) { - enchantString += se.getEnchantmentName() + ","; + enchantString += se.getEnchantmentKey() + ","; } enchantString = enchantString.substring(0, enchantString.length() - 1); } diff --git a/src/main/java/regalowl/hyperconomy/inventory/HItemMetaFactory.java b/src/main/java/regalowl/hyperconomy/inventory/HItemMetaFactory.java index 599c7c6b..8033ff17 100644 --- a/src/main/java/regalowl/hyperconomy/inventory/HItemMetaFactory.java +++ b/src/main/java/regalowl/hyperconomy/inventory/HItemMetaFactory.java @@ -25,7 +25,7 @@ public static HItemMeta generate(HItemMeta meta) { switch (meta.getType()) { case ITEM: return new HItemMeta(meta); case BOOK: return new HBookMeta((HBookMeta)meta); - case ENCHANTMENT_STORAGE: return new HEnchantmentStorageMeta((HEnchantmentStorageMeta)meta); + case ENCHANTMENT_STORAGE: return new HEnchantmentStorageMeta(meta); case FIREWORK_EFFECT: return new HFireworkEffectMeta((HFireworkEffectMeta)meta); case FIREWORK: return new HFireworkMeta((HFireworkMeta)meta); case LEATHER_ARMOR: return new HLeatherArmorMeta((HLeatherArmorMeta)meta); diff --git a/src/main/java/regalowl/hyperconomy/inventory/HLeatherArmorMeta.java b/src/main/java/regalowl/hyperconomy/inventory/HLeatherArmorMeta.java index 5a8d3c68..4dee4b3b 100644 --- a/src/main/java/regalowl/hyperconomy/inventory/HLeatherArmorMeta.java +++ b/src/main/java/regalowl/hyperconomy/inventory/HLeatherArmorMeta.java @@ -29,6 +29,7 @@ public HLeatherArmorMeta(HLeatherArmorMeta meta) { this.color = new HColor(meta.color); } + @Override public String serialize() { HashMap data = super.getMap(); data.put("color", color.serialize()); diff --git a/src/main/java/regalowl/hyperconomy/inventory/HMapMeta.java b/src/main/java/regalowl/hyperconomy/inventory/HMapMeta.java index ba98230e..74618d35 100644 --- a/src/main/java/regalowl/hyperconomy/inventory/HMapMeta.java +++ b/src/main/java/regalowl/hyperconomy/inventory/HMapMeta.java @@ -28,6 +28,7 @@ public HMapMeta(HMapMeta meta) { isScaling = meta.isScaling; } + @Override public String serialize() { HashMap data = super.getMap(); data.put("isScaling", isScaling+""); diff --git a/src/main/java/regalowl/hyperconomy/inventory/HPotionMeta.java b/src/main/java/regalowl/hyperconomy/inventory/HPotionMeta.java index 1328e850..c1201309 100644 --- a/src/main/java/regalowl/hyperconomy/inventory/HPotionMeta.java +++ b/src/main/java/regalowl/hyperconomy/inventory/HPotionMeta.java @@ -37,6 +37,7 @@ public HPotionMeta(HPotionMeta meta) { this.potionData = new HPotionData(meta.potionData); } + @Override public String serialize() { HashMap data = super.getMap(); ArrayList sEffects = new ArrayList(); diff --git a/src/main/java/regalowl/hyperconomy/minecraft/HSign.java b/src/main/java/regalowl/hyperconomy/minecraft/HSign.java index d1334b72..603f2c67 100644 --- a/src/main/java/regalowl/hyperconomy/minecraft/HSign.java +++ b/src/main/java/regalowl/hyperconomy/minecraft/HSign.java @@ -75,6 +75,7 @@ private class SignUpdater { public SignUpdater(HSign sign) { this.s = sign; hc.getMC().runTask(new Runnable() { + @Override public void run() { hc.getMC().setSign(s); } diff --git a/src/main/java/regalowl/hyperconomy/multiserver/MultiServer.java b/src/main/java/regalowl/hyperconomy/multiserver/MultiServer.java index 8a87c5c3..563712c7 100644 --- a/src/main/java/regalowl/hyperconomy/multiserver/MultiServer.java +++ b/src/main/java/regalowl/hyperconomy/multiserver/MultiServer.java @@ -1,6 +1,5 @@ package regalowl.hyperconomy.multiserver; -import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.net.InetSocketAddress; @@ -10,7 +9,6 @@ import java.util.Timer; import java.util.TimerTask; -import regalowl.simpledatalib.CommonFunctions; import regalowl.hyperconomy.HyperConomy; import regalowl.hyperconomy.HyperEconomy; import regalowl.hyperconomy.account.HyperBank; @@ -21,13 +19,14 @@ import regalowl.hyperconomy.event.HyperBankModificationEvent; import regalowl.hyperconomy.event.HyperEvent; import regalowl.hyperconomy.event.HyperEventListener; -import regalowl.hyperconomy.event.TradeObjectModificationEvent; import regalowl.hyperconomy.event.HyperPlayerModificationEvent; import regalowl.hyperconomy.event.ShopModificationEvent; +import regalowl.hyperconomy.event.TradeObjectModificationEvent; import regalowl.hyperconomy.shop.HyperShopManager; import regalowl.hyperconomy.shop.PlayerShop; import regalowl.hyperconomy.shop.Shop; import regalowl.hyperconomy.tradeobject.TradeObject; +import regalowl.simpledatalib.CommonFunctions; public class MultiServer implements HyperEventListener { @@ -88,14 +87,13 @@ public void disable() { private void receiveUpdate() { new Thread(new Runnable() { + @Override public void run() { while (runServer) { MultiServerTransferObject transferObject = null; - ServerSocket serverSocket = null; - Socket sClientSocket = null; - try { - serverSocket = new ServerSocket(listenPort); - sClientSocket = serverSocket.accept(); + try (ServerSocket serverSocket = new ServerSocket(listenPort); + Socket sClientSocket = serverSocket.accept();) { + ObjectInputStream input = new ObjectInputStream(sClientSocket.getInputStream()); transferObject = (MultiServerTransferObject) input.readObject(); if (transferObject.getType() == MultiServerTransferType.MULTI_SERVER_REQUEST_UPDATE) { @@ -107,14 +105,8 @@ public void run() { ObjectOutputStream out = new ObjectOutputStream(sClientSocket.getOutputStream()); out.writeObject(new MultiServerTransferObject(MultiServerTransferType.MULTI_SERVER_UPDATE_SUCCESSFUL)); out.flush(); - sClientSocket.close(); - serverSocket.close(); } catch (Exception e) { - try { //hc.getDebugMode().debugWriteError(e); - if (sClientSocket != null) sClientSocket.close(); - if (serverSocket != null) serverSocket.close(); - } catch (IOException e1) {} } } } diff --git a/src/main/java/regalowl/hyperconomy/serializable/SerializableBookMeta.java b/src/main/java/regalowl/hyperconomy/serializable/SerializableBookMeta.java index 05445502..7defc18a 100644 --- a/src/main/java/regalowl/hyperconomy/serializable/SerializableBookMeta.java +++ b/src/main/java/regalowl/hyperconomy/serializable/SerializableBookMeta.java @@ -2,7 +2,6 @@ import java.io.ByteArrayInputStream; import java.io.ObjectInputStream; -import java.io.Serializable; import java.util.List; import org.bukkit.Material; @@ -14,7 +13,7 @@ -public class SerializableBookMeta extends SerializableItemMeta implements Serializable { +public class SerializableBookMeta extends SerializableItemMeta { private static final long serialVersionUID = -1095975801937823837L; private String author; diff --git a/src/main/java/regalowl/hyperconomy/serializable/SerializableColor.java b/src/main/java/regalowl/hyperconomy/serializable/SerializableColor.java index b83737a0..2bb9d228 100644 --- a/src/main/java/regalowl/hyperconomy/serializable/SerializableColor.java +++ b/src/main/java/regalowl/hyperconomy/serializable/SerializableColor.java @@ -2,14 +2,13 @@ import java.io.ByteArrayInputStream; import java.io.ObjectInputStream; -import java.io.Serializable; import org.bukkit.Color; import org.yaml.snakeyaml.external.biz.base64Coder.Base64Coder; -public class SerializableColor extends SerializableObject implements Serializable { +public class SerializableColor extends SerializableObject { private static final long serialVersionUID = 1194773802989404854L; diff --git a/src/main/java/regalowl/hyperconomy/serializable/SerializableEnchantment.java b/src/main/java/regalowl/hyperconomy/serializable/SerializableEnchantment.java index 4d0e7f42..684bdbbd 100644 --- a/src/main/java/regalowl/hyperconomy/serializable/SerializableEnchantment.java +++ b/src/main/java/regalowl/hyperconomy/serializable/SerializableEnchantment.java @@ -2,21 +2,21 @@ import java.io.ByteArrayInputStream; import java.io.ObjectInputStream; -import java.io.Serializable; +import org.bukkit.NamespacedKey; import org.bukkit.enchantments.Enchantment; import org.yaml.snakeyaml.external.biz.base64Coder.Base64Coder; -public class SerializableEnchantment extends SerializableObject implements Serializable { - private static final long serialVersionUID = 4510326523024526205L; +public class SerializableEnchantment extends SerializableObject { + private static final long serialVersionUID = -5705303756771850224L; private String enchantment; private int lvl; public SerializableEnchantment(Enchantment e, int lvl) { - this.enchantment = e.getName(); + this.enchantment = e.getKey().getKey(); this.lvl = lvl; } @@ -28,7 +28,7 @@ public SerializableEnchantment(String base64String) { ois.close(); if (!(o instanceof SerializableEnchantment)) {return;} SerializableEnchantment se = (SerializableEnchantment)o; - this.enchantment = se.getEnchantmentName(); + this.enchantment = se.getEnchantmentName().getKey(); this.lvl = se.getLvl(); } catch (Exception e) { @@ -36,11 +36,11 @@ public SerializableEnchantment(String base64String) { } public Enchantment getEnchantment() { - return Enchantment.getByName(enchantment); + return Enchantment.getByKey(NamespacedKey.minecraft(enchantment)); } - public String getEnchantmentName() { - return enchantment; + public NamespacedKey getEnchantmentName() { + return NamespacedKey.minecraft(enchantment); } public int getLvl() { diff --git a/src/main/java/regalowl/hyperconomy/serializable/SerializableEnchantmentStorageMeta.java b/src/main/java/regalowl/hyperconomy/serializable/SerializableEnchantmentStorageMeta.java index a9b8e1c1..5ab4e7db 100644 --- a/src/main/java/regalowl/hyperconomy/serializable/SerializableEnchantmentStorageMeta.java +++ b/src/main/java/regalowl/hyperconomy/serializable/SerializableEnchantmentStorageMeta.java @@ -2,7 +2,6 @@ import java.io.ByteArrayInputStream; import java.io.ObjectInputStream; -import java.io.Serializable; import java.util.ArrayList; import java.util.Iterator; import java.util.List; @@ -18,9 +17,9 @@ -public class SerializableEnchantmentStorageMeta extends SerializableItemMeta implements Serializable { +public class SerializableEnchantmentStorageMeta extends SerializableItemMeta { - private static final long serialVersionUID = -6050487153906386305L; + private static final long serialVersionUID = -797201926717838339L; private List storedEnchantments = new ArrayList(); @@ -64,7 +63,7 @@ public ItemMeta getItemMeta() { esm.addEnchant(se.getEnchantment(), se.getLvl(), true); } for (SerializableEnchantment se:storedEnchantments) { - esm.addStoredEnchant(Enchantment.getByName(se.getEnchantmentName()), se.getLvl(), true); + esm.addStoredEnchant(Enchantment.getByKey(se.getEnchantmentName()), se.getLvl(), true); } return esm; } diff --git a/src/main/java/regalowl/hyperconomy/serializable/SerializableFireworkEffect.java b/src/main/java/regalowl/hyperconomy/serializable/SerializableFireworkEffect.java index 70e2e951..9298f254 100644 --- a/src/main/java/regalowl/hyperconomy/serializable/SerializableFireworkEffect.java +++ b/src/main/java/regalowl/hyperconomy/serializable/SerializableFireworkEffect.java @@ -2,7 +2,6 @@ import java.io.ByteArrayInputStream; import java.io.ObjectInputStream; -import java.io.Serializable; import java.util.ArrayList; import java.util.List; @@ -13,7 +12,7 @@ -public class SerializableFireworkEffect extends SerializableObject implements Serializable { +public class SerializableFireworkEffect extends SerializableObject { private static final long serialVersionUID = 2644823685312321272L; private List colors = new ArrayList(); diff --git a/src/main/java/regalowl/hyperconomy/serializable/SerializableFireworkEffectMeta.java b/src/main/java/regalowl/hyperconomy/serializable/SerializableFireworkEffectMeta.java index 4af0306e..834328c2 100644 --- a/src/main/java/regalowl/hyperconomy/serializable/SerializableFireworkEffectMeta.java +++ b/src/main/java/regalowl/hyperconomy/serializable/SerializableFireworkEffectMeta.java @@ -2,7 +2,6 @@ import java.io.ByteArrayInputStream; import java.io.ObjectInputStream; -import java.io.Serializable; import org.bukkit.Material; import org.bukkit.inventory.ItemStack; @@ -13,7 +12,7 @@ -public class SerializableFireworkEffectMeta extends SerializableItemMeta implements Serializable { +public class SerializableFireworkEffectMeta extends SerializableItemMeta { private static final long serialVersionUID = -6227758269858375863L; private SerializableFireworkEffect effect; @@ -44,7 +43,7 @@ public SerializableFireworkEffectMeta(String base64String) { @Override public ItemMeta getItemMeta() { - ItemStack s = new ItemStack(Material.FIREWORK_CHARGE); + ItemStack s = new ItemStack(Material.FIREWORK_STAR); FireworkEffectMeta fem = (FireworkEffectMeta)s.getItemMeta(); fem.setDisplayName(displayName); fem.setLore(lore); diff --git a/src/main/java/regalowl/hyperconomy/serializable/SerializableFireworkMeta.java b/src/main/java/regalowl/hyperconomy/serializable/SerializableFireworkMeta.java index ab930fc7..a441ce0c 100644 --- a/src/main/java/regalowl/hyperconomy/serializable/SerializableFireworkMeta.java +++ b/src/main/java/regalowl/hyperconomy/serializable/SerializableFireworkMeta.java @@ -2,7 +2,6 @@ import java.io.ByteArrayInputStream; import java.io.ObjectInputStream; -import java.io.Serializable; import java.util.ArrayList; import java.util.List; @@ -16,7 +15,7 @@ -public class SerializableFireworkMeta extends SerializableItemMeta implements Serializable { +public class SerializableFireworkMeta extends SerializableItemMeta { private static final long serialVersionUID = 7131977924010280498L; private List effects = new ArrayList(); @@ -52,7 +51,7 @@ public SerializableFireworkMeta(String base64String) { @Override public ItemMeta getItemMeta() { - ItemStack s = new ItemStack(Material.FIREWORK); + ItemStack s = new ItemStack(Material.FIREWORK_ROCKET); FireworkMeta fm = (FireworkMeta)s.getItemMeta(); fm.setDisplayName(displayName); fm.setLore(lore); diff --git a/src/main/java/regalowl/hyperconomy/serializable/SerializableItemMeta.java b/src/main/java/regalowl/hyperconomy/serializable/SerializableItemMeta.java index 604bbfb3..41618c92 100644 --- a/src/main/java/regalowl/hyperconomy/serializable/SerializableItemMeta.java +++ b/src/main/java/regalowl/hyperconomy/serializable/SerializableItemMeta.java @@ -2,7 +2,6 @@ import java.io.ByteArrayInputStream; import java.io.ObjectInputStream; -import java.io.Serializable; import java.util.ArrayList; import java.util.Iterator; import java.util.List; @@ -18,7 +17,7 @@ -public class SerializableItemMeta extends SerializableObject implements Serializable { +public class SerializableItemMeta extends SerializableObject { private static final long serialVersionUID = 4510326523024526205L; diff --git a/src/main/java/regalowl/hyperconomy/serializable/SerializableItemStack.java b/src/main/java/regalowl/hyperconomy/serializable/SerializableItemStack.java index c9ea1705..e2f946ce 100644 --- a/src/main/java/regalowl/hyperconomy/serializable/SerializableItemStack.java +++ b/src/main/java/regalowl/hyperconomy/serializable/SerializableItemStack.java @@ -2,7 +2,6 @@ import java.io.ByteArrayInputStream; import java.io.ObjectInputStream; -import java.io.Serializable; import org.bukkit.ChatColor; import org.bukkit.Material; @@ -21,7 +20,7 @@ -public class SerializableItemStack extends SerializableObject implements Serializable { +public class SerializableItemStack extends SerializableObject { private static final long serialVersionUID = 8634824379403255552L; private String material; diff --git a/src/main/java/regalowl/hyperconomy/serializable/SerializableLeatherArmorMeta.java b/src/main/java/regalowl/hyperconomy/serializable/SerializableLeatherArmorMeta.java index 2632ad87..011119a4 100644 --- a/src/main/java/regalowl/hyperconomy/serializable/SerializableLeatherArmorMeta.java +++ b/src/main/java/regalowl/hyperconomy/serializable/SerializableLeatherArmorMeta.java @@ -2,7 +2,6 @@ import java.io.ByteArrayInputStream; import java.io.ObjectInputStream; -import java.io.Serializable; import org.bukkit.Material; import org.bukkit.inventory.ItemStack; @@ -13,7 +12,7 @@ -public class SerializableLeatherArmorMeta extends SerializableItemMeta implements Serializable { +public class SerializableLeatherArmorMeta extends SerializableItemMeta { private static final long serialVersionUID = -7716626610545205516L; private SerializableColor color; diff --git a/src/main/java/regalowl/hyperconomy/serializable/SerializableMapMeta.java b/src/main/java/regalowl/hyperconomy/serializable/SerializableMapMeta.java index a37908d8..dda4a3a7 100644 --- a/src/main/java/regalowl/hyperconomy/serializable/SerializableMapMeta.java +++ b/src/main/java/regalowl/hyperconomy/serializable/SerializableMapMeta.java @@ -2,7 +2,6 @@ import java.io.ByteArrayInputStream; import java.io.ObjectInputStream; -import java.io.Serializable; import org.bukkit.Material; import org.bukkit.inventory.ItemStack; @@ -13,7 +12,7 @@ -public class SerializableMapMeta extends SerializableItemMeta implements Serializable { +public class SerializableMapMeta extends SerializableItemMeta { private static final long serialVersionUID = -1095975801937823837L; diff --git a/src/main/java/regalowl/hyperconomy/serializable/SerializablePotionEffect.java b/src/main/java/regalowl/hyperconomy/serializable/SerializablePotionEffect.java index a65a1e85..24ccb550 100644 --- a/src/main/java/regalowl/hyperconomy/serializable/SerializablePotionEffect.java +++ b/src/main/java/regalowl/hyperconomy/serializable/SerializablePotionEffect.java @@ -2,7 +2,6 @@ import java.io.ByteArrayInputStream; import java.io.ObjectInputStream; -import java.io.Serializable; import org.bukkit.potion.PotionEffect; import org.bukkit.potion.PotionEffectType; @@ -10,7 +9,7 @@ -public class SerializablePotionEffect extends SerializableObject implements Serializable { +public class SerializablePotionEffect extends SerializableObject { private static final long serialVersionUID = 1194773802989404854L; diff --git a/src/main/java/regalowl/hyperconomy/serializable/SerializablePotionMeta.java b/src/main/java/regalowl/hyperconomy/serializable/SerializablePotionMeta.java index 3ad49297..63208fe6 100644 --- a/src/main/java/regalowl/hyperconomy/serializable/SerializablePotionMeta.java +++ b/src/main/java/regalowl/hyperconomy/serializable/SerializablePotionMeta.java @@ -2,7 +2,6 @@ import java.io.ByteArrayInputStream; import java.io.ObjectInputStream; -import java.io.Serializable; import java.util.ArrayList; import java.util.List; @@ -16,7 +15,7 @@ -public class SerializablePotionMeta extends SerializableItemMeta implements Serializable { +public class SerializablePotionMeta extends SerializableItemMeta { private static final long serialVersionUID = 7131977924010280498L; private List potionEffects = new ArrayList(); diff --git a/src/main/java/regalowl/hyperconomy/serializable/SerializableSkullMeta.java b/src/main/java/regalowl/hyperconomy/serializable/SerializableSkullMeta.java index ce39a777..9363693b 100644 --- a/src/main/java/regalowl/hyperconomy/serializable/SerializableSkullMeta.java +++ b/src/main/java/regalowl/hyperconomy/serializable/SerializableSkullMeta.java @@ -2,8 +2,9 @@ import java.io.ByteArrayInputStream; import java.io.ObjectInputStream; -import java.io.Serializable; +import java.util.UUID; +import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; @@ -13,17 +14,17 @@ -public class SerializableSkullMeta extends SerializableItemMeta implements Serializable { +public class SerializableSkullMeta extends SerializableItemMeta { - private static final long serialVersionUID = -1095975801937823837L; - - private String owner; + private static final long serialVersionUID = -711270187445211416L; + + private UUID owner; public SerializableSkullMeta(ItemMeta im) { super(im); if (im instanceof SkullMeta) { SkullMeta sm = (SkullMeta)im; - this.owner = sm.getOwner(); + this.owner = sm.getOwningPlayer().getUniqueId(); } } @@ -36,7 +37,7 @@ public SerializableSkullMeta(String base64String) { ois.close(); if (!(o instanceof SerializableSkullMeta)) {return;} SerializableSkullMeta ssm = (SerializableSkullMeta)o; - this.owner = ssm.getOwner(); + this.owner = ssm.getOwnerUUID(); } catch (Exception e) { } @@ -45,18 +46,22 @@ public SerializableSkullMeta(String base64String) { @Override public ItemMeta getItemMeta() { - ItemStack s = new ItemStack(Material.SKULL_ITEM); + ItemStack s = new ItemStack(Material.PLAYER_HEAD); SkullMeta sm = (SkullMeta)s.getItemMeta(); sm.setDisplayName(displayName); sm.setLore(lore); for (SerializableEnchantment se:enchantments) { sm.addEnchant(se.getEnchantment(), se.getLvl(), true); } - sm.setOwner(owner); + sm.setOwningPlayer(Bukkit.getOfflinePlayer(owner)); return sm; } - public String getOwner() { + public String getOwnerName() { + return Bukkit.getPlayer(owner).getDisplayName(); + } + + public UUID getOwnerUUID() { return owner; } diff --git a/src/main/java/regalowl/hyperconomy/shop/ChestShop.java b/src/main/java/regalowl/hyperconomy/shop/ChestShop.java index 6af0e03e..9bb71b0a 100644 --- a/src/main/java/regalowl/hyperconomy/shop/ChestShop.java +++ b/src/main/java/regalowl/hyperconomy/shop/ChestShop.java @@ -1,13 +1,10 @@ package regalowl.hyperconomy.shop; -import regalowl.simpledatalib.CommonFunctions; - import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; - import java.util.concurrent.atomic.AtomicBoolean; import regalowl.hyperconomy.HyperConomy; @@ -21,6 +18,7 @@ import regalowl.hyperconomy.minecraft.HSign; import regalowl.hyperconomy.tradeobject.TempTradeItem; import regalowl.hyperconomy.tradeobject.TradeObject; +import regalowl.simpledatalib.CommonFunctions; public class ChestShop { @@ -226,7 +224,7 @@ public long getPriceIncrement() { return priceIncrement; } public double getFractionalPriceIncrement() { - double p = (double)priceIncrement; + double p = priceIncrement; return p/100.0; } public void setPriceIncrement(long priceIncrement) { diff --git a/src/main/java/regalowl/hyperconomy/shop/ChestShopHandler.java b/src/main/java/regalowl/hyperconomy/shop/ChestShopHandler.java index 1370625f..f485bed1 100644 --- a/src/main/java/regalowl/hyperconomy/shop/ChestShopHandler.java +++ b/src/main/java/regalowl/hyperconomy/shop/ChestShopHandler.java @@ -3,10 +3,6 @@ -import regalowl.simpledatalib.CommonFunctions; -import regalowl.simpledatalib.sql.QueryResult; -import regalowl.simpledatalib.sql.SQLRead; - import java.util.ArrayList; import java.util.concurrent.ConcurrentHashMap; @@ -15,7 +11,6 @@ import regalowl.hyperconomy.HyperEconomy; import regalowl.hyperconomy.account.HyperAccount; import regalowl.hyperconomy.account.HyperPlayer; - import regalowl.hyperconomy.event.DataLoadEvent; import regalowl.hyperconomy.event.DataLoadEvent.DataLoadType; import regalowl.hyperconomy.event.HyperEvent; @@ -41,6 +36,9 @@ import regalowl.hyperconomy.transaction.TransactionResponse; import regalowl.hyperconomy.transaction.TransactionType; import regalowl.hyperconomy.util.LanguageFile; +import regalowl.simpledatalib.CommonFunctions; +import regalowl.simpledatalib.sql.QueryResult; +import regalowl.simpledatalib.sql.SQLRead; public class ChestShopHandler implements HyperEventListener { @@ -68,6 +66,7 @@ private void loadChestShops() { try { chestShops.clear(); new Thread(new Runnable() { + @Override public void run() { SQLRead sr = hc.getSQLRead(); QueryResult dbData = sr.select("SELECT * FROM hyperconomy_chest_shops"); @@ -900,7 +899,7 @@ private void handleSignChange(HSignChangeEvent event) { return; } - ChestShop newShop = new ChestShop(hc, cLoc, (HyperAccount)hp, 100); + ChestShop newShop = new ChestShop(hc, cLoc, hp, 100); newShop.initialize(); if (!newShop.isValid()) return; chestShops.put(cLoc, newShop); diff --git a/src/main/java/regalowl/hyperconomy/shop/GlobalShop.java b/src/main/java/regalowl/hyperconomy/shop/GlobalShop.java index 10582e3d..a43c475d 100644 --- a/src/main/java/regalowl/hyperconomy/shop/GlobalShop.java +++ b/src/main/java/regalowl/hyperconomy/shop/GlobalShop.java @@ -3,7 +3,6 @@ import java.util.ArrayList; import java.util.HashMap; -import regalowl.simpledatalib.CommonFunctions; import regalowl.hyperconomy.HyperConomy; import regalowl.hyperconomy.HyperEconomy; import regalowl.hyperconomy.account.HyperAccount; @@ -12,9 +11,10 @@ import regalowl.hyperconomy.event.ShopModificationEvent; import regalowl.hyperconomy.minecraft.HLocation; import regalowl.hyperconomy.tradeobject.TradeObject; +import regalowl.simpledatalib.CommonFunctions; -public class GlobalShop implements Shop, Comparable{ +public class GlobalShop implements Shop { private transient HyperConomy hc; private static final long serialVersionUID = -4886663609354167778L; diff --git a/src/main/java/regalowl/hyperconomy/shop/HyperShopManager.java b/src/main/java/regalowl/hyperconomy/shop/HyperShopManager.java index 50e4150e..f82a74e8 100644 --- a/src/main/java/regalowl/hyperconomy/shop/HyperShopManager.java +++ b/src/main/java/regalowl/hyperconomy/shop/HyperShopManager.java @@ -39,6 +39,7 @@ public void handleHyperEvent(HyperEvent event) { DataLoadEvent devent = (DataLoadEvent) event; if (!(devent.loadType == DataLoadType.DEFAULT_ACCOUNT)) return; new Thread(new Runnable() { + @Override public void run() { loadData(); } @@ -139,7 +140,8 @@ public void renameShop(String name, String newName) { } public void startShopCheck() { shopCheckTaskId = hc.getMC().runRepeatingTask(new Runnable() { - public void run() { + @Override + public void run() { for (Shop shop:shops.values()) { shop.updatePlayerStatus(); } diff --git a/src/main/java/regalowl/hyperconomy/shop/PlayerShop.java b/src/main/java/regalowl/hyperconomy/shop/PlayerShop.java index fcf9b910..225a77b3 100755 --- a/src/main/java/regalowl/hyperconomy/shop/PlayerShop.java +++ b/src/main/java/regalowl/hyperconomy/shop/PlayerShop.java @@ -4,10 +4,6 @@ import java.util.HashMap; import java.util.concurrent.ConcurrentHashMap; -import regalowl.simpledatalib.CommonFunctions; -import regalowl.simpledatalib.sql.BasicStatement; -import regalowl.simpledatalib.sql.QueryResult; -import regalowl.simpledatalib.sql.WriteStatement; import regalowl.hyperconomy.HyperConomy; import regalowl.hyperconomy.HyperEconomy; import regalowl.hyperconomy.account.HyperAccount; @@ -15,17 +11,20 @@ import regalowl.hyperconomy.account.HyperPlayer; import regalowl.hyperconomy.event.ShopModificationEvent; import regalowl.hyperconomy.minecraft.HLocation; -import regalowl.hyperconomy.tradeobject.BasicTradeObject; import regalowl.hyperconomy.tradeobject.BasicShopTradeObject; -import regalowl.hyperconomy.tradeobject.CompositeTradeItem; import regalowl.hyperconomy.tradeobject.CompositeShopTradeItem; +import regalowl.hyperconomy.tradeobject.CompositeTradeItem; +import regalowl.hyperconomy.tradeobject.ShopTradeEnchant; import regalowl.hyperconomy.tradeobject.TradeObject; import regalowl.hyperconomy.tradeobject.TradeObjectStatus; import regalowl.hyperconomy.tradeobject.TradeObjectType; -import regalowl.hyperconomy.tradeobject.ShopTradeEnchant; import regalowl.hyperconomy.util.LanguageFile; +import regalowl.simpledatalib.CommonFunctions; +import regalowl.simpledatalib.sql.BasicStatement; +import regalowl.simpledatalib.sql.QueryResult; +import regalowl.simpledatalib.sql.WriteStatement; -public class PlayerShop implements Shop, Comparable { +public class PlayerShop implements Shop { private transient HyperConomy hc; private static final long serialVersionUID = -159740615025262195L; @@ -164,10 +163,12 @@ private void loadPlayerShopObjects() { } + @Override public int compareTo(Shop s) { return name.compareTo(s.getName()); } + @Override public void setPoint1(String world, int x, int y, int z) { this.world = world; p1x = x; @@ -183,6 +184,7 @@ public void setPoint1(String world, int x, int y, int z) { hc.getSQLWrite().performUpdate("hyperconomy_shops", values, conditions); hc.getHyperEventHandler().fireEvent(new ShopModificationEvent(this)); } + @Override public void setPoint2(String world, int x, int y, int z) { this.world = world; p2x = x; @@ -198,14 +200,17 @@ public void setPoint2(String world, int x, int y, int z) { hc.getSQLWrite().performUpdate("hyperconomy_shops", values, conditions); hc.getHyperEventHandler().fireEvent(new ShopModificationEvent(this)); } + @Override public void setPoint1(HLocation l) { setPoint1(l.getWorld(), l.getBlockX(), l.getBlockY(), l.getBlockZ()); } + @Override public void setPoint2(HLocation l) { setPoint2(l.getWorld(), l.getBlockX(), l.getBlockY(), l.getBlockZ()); } + @Override public void setMessage(String message) { this.message = message; HashMap conditions = new HashMap(); @@ -216,11 +221,13 @@ public void setMessage(String message) { hc.getHyperEventHandler().fireEvent(new ShopModificationEvent(this)); } + @Override public void setDefaultMessage() { LanguageFile L = hc.getLanguageFile(); setMessage(L.get("SHOP_LINE_BREAK")+"%n&aWelcome to "+name+"%n&9Type &b/hc &9for help.%n"+L.get("SHOP_LINE_BREAK")); } + @Override public void setWorld(String world) { this.world = world; HashMap conditions = new HashMap(); @@ -231,6 +238,7 @@ public void setWorld(String world) { hc.getHyperEventHandler().fireEvent(new ShopModificationEvent(this)); } + @Override public void setName(String name) { HashMap conditions = new HashMap(); HashMap values = new HashMap(); @@ -241,6 +249,7 @@ public void setName(String name) { hc.getHyperEventHandler().fireEvent(new ShopModificationEvent(this)); } + @Override public void setEconomy(String economy) { this.economy = economy; HashMap conditions = new HashMap(); @@ -297,6 +306,7 @@ public boolean inShop(HyperPlayer hp) { return inShop(hp.getLocation()); } + @Override public void sendEntryMessage(HyperPlayer player) { if (message == "") {setDefaultMessage();} if (message.equalsIgnoreCase("none")) {return;} @@ -306,20 +316,24 @@ public void sendEntryMessage(HyperPlayer player) { } } + @Override public String getEconomy() { return economy; } + @Override public String getName() { return name; } + @Override public String getDisplayName() { return name.replace("_", " "); } + @Override public void saveAvailable() { HyperEconomy he = getHyperEconomy(); ArrayList unavailable = new ArrayList(); @@ -337,6 +351,7 @@ public void saveAvailable() { hc.getHyperEventHandler().fireEvent(new ShopModificationEvent(this)); } + @Override public boolean isStocked(TradeObject ho) { TradeObject pso = ho; if (!ho.isShopObject()) { @@ -346,15 +361,18 @@ public boolean isStocked(TradeObject ho) { if (pso.getStock() <= 0.0) {return false;} return true; } + @Override public boolean isStocked(String item) { return isStocked(getHyperEconomy().getTradeObject(item)); } + @Override public boolean isBanned(String to) { if (availableObjects.contains(to)) { return false; } return true; } + @Override public boolean isTradeable(TradeObject ho) { if (!isBanned(ho.getName())) { if (ho.isShopObject()) { @@ -366,6 +384,7 @@ public boolean isTradeable(TradeObject ho) { } return false; } + @Override public boolean isAvailable(TradeObject ho) { if (isTradeable(ho) && isStocked(ho)) { return true; @@ -374,6 +393,7 @@ public boolean isAvailable(TradeObject ho) { } + @Override public ArrayList getTradeableObjects() { ArrayList available = new ArrayList(); for (TradeObject pso:shopContents.values()) { @@ -392,6 +412,7 @@ public ArrayList getShopObjects() { return objects; } + @Override public void unBanAllObjects() { availableObjects.clear(); for (TradeObject ho:getHyperEconomy().getTradeObjects()) { @@ -399,10 +420,12 @@ public void unBanAllObjects() { } saveAvailable(); } + @Override public void banAllObjects() { availableObjects.clear(); saveAvailable(); } + @Override public void unBanObjects(ArrayList objects) { for (TradeObject ho:objects) { TradeObject add = null; @@ -417,6 +440,7 @@ public void unBanObjects(ArrayList objects) { } saveAvailable(); } + @Override public void banObjects(ArrayList objects) { for (TradeObject ho:objects) { TradeObject remove = null; @@ -434,34 +458,42 @@ public void banObjects(ArrayList objects) { + @Override public int getP1x() { return p1x; } + @Override public int getP1y() { return p1y; } + @Override public int getP1z() { return p1z; } + @Override public int getP2x() { return p2x; } + @Override public int getP2y() { return p2y; } + @Override public int getP2z() { return p2z; } + @Override public HLocation getLocation1() { return new HLocation(world, p1x, p1y, p1z); } + @Override public HLocation getLocation2() { return new HLocation(world, p2x, p2y, p2z); } @@ -470,6 +502,7 @@ public boolean getUseEconomyStock() { return useEconomyStock; } + @Override public HyperAccount getOwner() { if (ownerIsBank) { return hc.getHyperBankManager().getHyperBank(owner); @@ -478,6 +511,7 @@ public HyperAccount getOwner() { } } + @Override public void setOwner(HyperAccount owner) { this.owner = owner.getName(); if (owner instanceof HyperBank) ownerIsBank = true; @@ -504,6 +538,7 @@ public boolean isEmpty() { return true; } + @Override public void deleteShop() { HashMap conditions = new HashMap(); conditions.put("NAME", name); @@ -550,7 +585,8 @@ public TradeObject getPlayerShopObject(TradeObject hyperObject) { hc.getSQLWrite().addToQueue(ws); return pso; } else { - TradeObject pso = new BasicShopTradeObject(hc, name, (BasicTradeObject)hyperObject, 0.0, 0.0, 0.0, 100000, TradeObjectStatus.NONE, useEconomyStock); + TradeObject pso = new BasicShopTradeObject(hc, name, hyperObject, 0.0, 0.0, 0.0, 100000, + TradeObjectStatus.NONE, useEconomyStock); shopContents.put(hyperObject.getName(), pso); hc.getSQLWrite().addToQueue(ws); return pso; @@ -563,6 +599,7 @@ public boolean hasPlayerShopObject(TradeObject ho) { } + @Override public HyperEconomy getHyperEconomy() { HyperEconomy he = hc.getDataManager().getEconomy(economy); if (he == null) { @@ -574,6 +611,7 @@ public HyperEconomy getHyperEconomy() { + @Override public void updatePlayerStatus() { LanguageFile L = hc.getLanguageFile(); for (HyperPlayer p : hc.getHyperPlayerManager().getOnlinePlayers()) { @@ -596,6 +634,7 @@ public void updatePlayerStatus() { + @Override public int getVolume() { return Math.abs(p1x - p2x) * Math.abs(p1y - p2y) * Math.abs(p1z - p2z); } @@ -625,7 +664,7 @@ public boolean isAllowed(HyperAccount ha) { } if (ha instanceof HyperPlayer) { HyperPlayer hp = (HyperPlayer)ha; - if (hp != null && hp.hasPermission("hyperconomy.admin")) { + if (hp.hasPermission("hyperconomy.admin")) { return true; } } @@ -641,6 +680,7 @@ public void saveAllowed() { } + @Override public ArrayList getShopBlockLocations() { ArrayList shopBlockLocations = new ArrayList(); ArrayList xvals = new ArrayList(); @@ -683,6 +723,7 @@ public ArrayList getShopBlockLocations() { return shopBlockLocations; } + @Override public boolean intersectsShop(Shop s, int volumeLimit) { if (s.getVolume() > volumeLimit) {return false;} for (HLocation l:s.getShopBlockLocations()) { @@ -693,6 +734,7 @@ public boolean intersectsShop(Shop s, int volumeLimit) { return false; } + @Override public boolean deleted() { return deleted; } diff --git a/src/main/java/regalowl/hyperconomy/shop/ServerShop.java b/src/main/java/regalowl/hyperconomy/shop/ServerShop.java index 1d5b9160..21d18be5 100755 --- a/src/main/java/regalowl/hyperconomy/shop/ServerShop.java +++ b/src/main/java/regalowl/hyperconomy/shop/ServerShop.java @@ -3,7 +3,6 @@ import java.util.ArrayList; import java.util.HashMap; -import regalowl.simpledatalib.CommonFunctions; import regalowl.hyperconomy.HyperConomy; import regalowl.hyperconomy.HyperEconomy; import regalowl.hyperconomy.account.HyperAccount; @@ -13,8 +12,9 @@ import regalowl.hyperconomy.minecraft.HLocation; import regalowl.hyperconomy.tradeobject.TradeObject; import regalowl.hyperconomy.util.LanguageFile; +import regalowl.simpledatalib.CommonFunctions; -public class ServerShop implements Shop, Comparable{ +public class ServerShop implements Shop { private transient HyperConomy hc; private static final long serialVersionUID = 4242407361167946426L; @@ -115,10 +115,12 @@ public void setHyperConomy(HyperConomy hc) { this.hc = hc; } + @Override public int compareTo(Shop s) { return name.compareTo(s.getName()); } + @Override public void setPoint1(String world, int x, int y, int z) { this.world = world; p1x = x; @@ -134,6 +136,7 @@ public void setPoint1(String world, int x, int y, int z) { hc.getSQLWrite().performUpdate("hyperconomy_shops", values, conditions); hc.getHyperEventHandler().fireEvent(new ShopModificationEvent(this)); } + @Override public void setPoint2(String world, int x, int y, int z) { this.world = world; p2x = x; @@ -152,12 +155,15 @@ public void setPoint2(String world, int x, int y, int z) { + @Override public void setPoint1(HLocation l) { setPoint1(l.getWorld(), l.getBlockX(), l.getBlockY(), l.getBlockZ()); } + @Override public void setPoint2(HLocation l) { setPoint2(l.getWorld(), l.getBlockX(), l.getBlockY(), l.getBlockZ()); } + @Override public void setMessage(String message) { this.message = message; HashMap conditions = new HashMap(); @@ -168,11 +174,13 @@ public void setMessage(String message) { hc.getHyperEventHandler().fireEvent(new ShopModificationEvent(this)); } + @Override public void setDefaultMessage() { LanguageFile L = hc.getLanguageFile(); setMessage(L.get("SHOP_LINE_BREAK")+"%n&aWelcome to "+name+"%n&9Type &b/hc &9for help.%n"+L.get("SHOP_LINE_BREAK")); } + @Override public void setWorld(String world) { this.world = world; HashMap conditions = new HashMap(); @@ -183,6 +191,7 @@ public void setWorld(String world) { hc.getHyperEventHandler().fireEvent(new ShopModificationEvent(this)); } + @Override public void setName(String name) { HashMap conditions = new HashMap(); HashMap values = new HashMap(); @@ -192,6 +201,7 @@ public void setName(String name) { this.name = name; hc.getHyperEventHandler().fireEvent(new ShopModificationEvent(this)); } + @Override public void setEconomy(String economy) { this.economy = economy; HashMap conditions = new HashMap(); @@ -202,6 +212,7 @@ public void setEconomy(String economy) { hc.getHyperEventHandler().fireEvent(new ShopModificationEvent(this)); } + @Override public boolean inShop(int x, int y, int z, String world) { if (world == null) return false; if (world.equalsIgnoreCase(this.world)) { @@ -231,6 +242,7 @@ public boolean inShop(HyperPlayer hp) { } + @Override public void sendEntryMessage(HyperPlayer player) { if (message == "") {setDefaultMessage();} if (message.equalsIgnoreCase("none")) {return;} @@ -240,10 +252,12 @@ public void sendEntryMessage(HyperPlayer player) { } } + @Override public String getEconomy() { return economy; } + @Override public HyperEconomy getHyperEconomy() { HyperEconomy he = hc.getDataManager().getEconomy(economy); if (he == null) { @@ -253,15 +267,18 @@ public HyperEconomy getHyperEconomy() { return he; } + @Override public String getName() { return name; } + @Override public String getDisplayName() { return name.replace("_", " "); } + @Override public void saveAvailable() { HyperEconomy he = getHyperEconomy(); ArrayList unavailable = new ArrayList(); @@ -278,6 +295,7 @@ public void saveAvailable() { hc.getSQLWrite().performUpdate("hyperconomy_shops", values, conditions); } + @Override public boolean isStocked(TradeObject ho) { if (ho != null && ho.getStock() > 0) { return true; @@ -290,24 +308,29 @@ public boolean isBanned(TradeObject ho) { } return true; } + @Override public boolean isBanned(String name) { return isBanned(getHyperEconomy().getTradeObject(name)); } + @Override public boolean isTradeable(TradeObject ho) { if (!isBanned(ho)) { return true; } return false; } + @Override public boolean isStocked(String item) { return isStocked(getHyperEconomy().getTradeObject(item)); } + @Override public boolean isAvailable(TradeObject ho) { if (isTradeable(ho) && isStocked(ho)) { return true; } return false; } + @Override public ArrayList getTradeableObjects() { HyperEconomy he = getHyperEconomy(); ArrayList available = new ArrayList(); @@ -318,6 +341,7 @@ public ArrayList getTradeableObjects() { return available; } + @Override public void unBanAllObjects() { availableObjects.clear(); for (TradeObject ho:getHyperEconomy().getTradeObjects()) { @@ -325,10 +349,12 @@ public void unBanAllObjects() { } saveAvailable(); } + @Override public void banAllObjects() { availableObjects.clear(); saveAvailable(); } + @Override public void unBanObjects(ArrayList objects) { for (TradeObject ho:objects) { if (!availableObjects.contains(ho)) { @@ -337,6 +363,7 @@ public void unBanObjects(ArrayList objects) { } saveAvailable(); } + @Override public void banObjects(ArrayList objects) { for (TradeObject ho:objects) { if (availableObjects.contains(ho.getName())) { @@ -347,38 +374,47 @@ public void banObjects(ArrayList objects) { } + @Override public int getP1x() { return p1x; } + @Override public int getP1y() { return p1y; } + @Override public int getP1z() { return p1z; } + @Override public int getP2x() { return p2x; } + @Override public int getP2y() { return p2y; } + @Override public int getP2z() { return p2z; } + @Override public HLocation getLocation1() { return new HLocation(world, p1x, p1y, p1z); } + @Override public HLocation getLocation2() { return new HLocation(world, p2x, p2y, p2z); } + @Override public HyperAccount getOwner() { if (ownerIsBank) { return hc.getHyperBankManager().getHyperBank(owner); @@ -386,6 +422,7 @@ public HyperAccount getOwner() { return hc.getHyperPlayerManager().getHyperPlayer(owner); } } + @Override public void updatePlayerStatus() { LanguageFile L = hc.getLanguageFile(); for (HyperPlayer p : hc.getHyperPlayerManager().getOnlinePlayers()) { @@ -406,10 +443,12 @@ public void updatePlayerStatus() { } } + @Override public int getVolume() { return Math.abs(p1x - p2x) * Math.abs(p1y - p2y) * Math.abs(p1z - p2z); } + @Override public void deleteShop() { HashMap conditions = new HashMap(); conditions.put("NAME", name); @@ -419,6 +458,7 @@ public void deleteShop() { hc.getHyperEventHandler().fireEvent(new ShopModificationEvent(this)); } + @Override public void setOwner(HyperAccount owner) { this.owner = owner.getName(); if (owner instanceof HyperBank) ownerIsBank = true; @@ -433,6 +473,7 @@ public void setOwner(HyperAccount owner) { hc.getSQLWrite().performUpdate("hyperconomy_shops", values, conditions); } + @Override public ArrayList getShopBlockLocations() { ArrayList shopBlockLocations = new ArrayList(); ArrayList xvals = new ArrayList(); @@ -475,6 +516,7 @@ public ArrayList getShopBlockLocations() { return shopBlockLocations; } + @Override public boolean intersectsShop(Shop s, int volumeLimit) { if (s.getVolume() > volumeLimit) {return false;} for (HLocation l:s.getShopBlockLocations()) { @@ -485,6 +527,7 @@ public boolean intersectsShop(Shop s, int volumeLimit) { return false; } + @Override public boolean deleted() { return deleted; } diff --git a/src/main/java/regalowl/hyperconomy/shop/Shop.java b/src/main/java/regalowl/hyperconomy/shop/Shop.java index 25e89f9f..ae5cec59 100644 --- a/src/main/java/regalowl/hyperconomy/shop/Shop.java +++ b/src/main/java/regalowl/hyperconomy/shop/Shop.java @@ -16,6 +16,7 @@ public interface Shop extends Comparable, Serializable{ + @Override public int compareTo(Shop s); public void setHyperConomy(HyperConomy hc); public void setPoint1(String world, int x, int y, int z); diff --git a/src/main/java/regalowl/hyperconomy/timeeffects/TimeEffectsManager.java b/src/main/java/regalowl/hyperconomy/timeeffects/TimeEffectsManager.java index 2359933e..db5e49f9 100644 --- a/src/main/java/regalowl/hyperconomy/timeeffects/TimeEffectsManager.java +++ b/src/main/java/regalowl/hyperconomy/timeeffects/TimeEffectsManager.java @@ -41,6 +41,7 @@ public void disable() { private void startTimer() { timerTaskId = hc.getMC().runRepeatingTask(new Runnable() { + @Override public void run() { for (TimeEffect te:timeEffects) { te.subtractTime(10); diff --git a/src/main/java/regalowl/hyperconomy/tradeobject/BasicShopTradeObject.java b/src/main/java/regalowl/hyperconomy/tradeobject/BasicShopTradeObject.java index fde85b03..5d57f222 100755 --- a/src/main/java/regalowl/hyperconomy/tradeobject/BasicShopTradeObject.java +++ b/src/main/java/regalowl/hyperconomy/tradeobject/BasicShopTradeObject.java @@ -4,15 +4,15 @@ import java.util.ArrayList; import java.util.HashMap; -import regalowl.simpledatalib.sql.WriteStatement; import regalowl.hyperconomy.HyperConomy; import regalowl.hyperconomy.account.HyperPlayer; import regalowl.hyperconomy.event.TradeObjectModificationEvent; import regalowl.hyperconomy.event.TradeObjectModificationType; import regalowl.hyperconomy.inventory.HItemStack; import regalowl.hyperconomy.shop.PlayerShop; +import regalowl.simpledatalib.sql.WriteStatement; -public class BasicShopTradeObject extends BasicTradeObject implements TradeObject { +public class BasicShopTradeObject extends BasicTradeObject { private static final long serialVersionUID = -8506945265990355676L; protected String playerShop; diff --git a/src/main/java/regalowl/hyperconomy/tradeobject/BasicTradeObject.java b/src/main/java/regalowl/hyperconomy/tradeobject/BasicTradeObject.java index b169eb70..cdb7322c 100755 --- a/src/main/java/regalowl/hyperconomy/tradeobject/BasicTradeObject.java +++ b/src/main/java/regalowl/hyperconomy/tradeobject/BasicTradeObject.java @@ -7,8 +7,6 @@ import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import regalowl.simpledatalib.CommonFunctions; -import regalowl.simpledatalib.sql.SQLWrite; import regalowl.hyperconomy.HyperConomy; import regalowl.hyperconomy.HyperEconomy; import regalowl.hyperconomy.account.HyperPlayer; @@ -21,7 +19,8 @@ import regalowl.hyperconomy.inventory.HItemStack; import regalowl.hyperconomy.shop.PlayerShop; import regalowl.hyperconomy.shop.Shop; -import regalowl.hyperconomy.tradeobject.TradeObject; +import regalowl.simpledatalib.CommonFunctions; +import regalowl.simpledatalib.sql.SQLWrite; @@ -516,7 +515,7 @@ public void setCompositeData(String compositeData) { amount = ((double)top/(double)bottom); } else { int number = Integer.parseInt(amountString); - amount = (double)number; + amount = number; } TradeObject ho = hc.getDataManager().getEconomyIB(economy).getTradeObject(oname); if (this.components != null && ho != null) this.components.put(ho.getName(), amount); diff --git a/src/main/java/regalowl/hyperconomy/tradeobject/ComponentTradeItem.java b/src/main/java/regalowl/hyperconomy/tradeobject/ComponentTradeItem.java index 7be9b419..d4466fa5 100755 --- a/src/main/java/regalowl/hyperconomy/tradeobject/ComponentTradeItem.java +++ b/src/main/java/regalowl/hyperconomy/tradeobject/ComponentTradeItem.java @@ -11,7 +11,7 @@ import regalowl.hyperconomy.inventory.HItemStack; -public class ComponentTradeItem extends BasicTradeObject implements TradeObject { +public class ComponentTradeItem extends BasicTradeObject { private static final long serialVersionUID = -845888542311735442L; diff --git a/src/main/java/regalowl/hyperconomy/tradeobject/CompositeShopTradeItem.java b/src/main/java/regalowl/hyperconomy/tradeobject/CompositeShopTradeItem.java index aff7c83a..0e8d8136 100755 --- a/src/main/java/regalowl/hyperconomy/tradeobject/CompositeShopTradeItem.java +++ b/src/main/java/regalowl/hyperconomy/tradeobject/CompositeShopTradeItem.java @@ -10,7 +10,7 @@ -public class CompositeShopTradeItem extends BasicShopTradeObject implements TradeObject { +public class CompositeShopTradeItem extends BasicShopTradeObject { private static final long serialVersionUID = -6802879836491318792L; diff --git a/src/main/java/regalowl/hyperconomy/tradeobject/CompositeTradeItem.java b/src/main/java/regalowl/hyperconomy/tradeobject/CompositeTradeItem.java index e9176a7b..ab7bfd4c 100755 --- a/src/main/java/regalowl/hyperconomy/tradeobject/CompositeTradeItem.java +++ b/src/main/java/regalowl/hyperconomy/tradeobject/CompositeTradeItem.java @@ -5,10 +5,9 @@ import regalowl.hyperconomy.HyperConomy; import regalowl.hyperconomy.HyperEconomy; -import regalowl.hyperconomy.tradeobject.TradeObject; import regalowl.simpledatalib.CommonFunctions; -public class CompositeTradeItem extends ComponentTradeItem implements TradeObject { +public class CompositeTradeItem extends ComponentTradeItem { private static final long serialVersionUID = -2104610162054897073L; @@ -25,7 +24,7 @@ public CompositeTradeItem(HyperConomy hc, HyperEconomy he, String name, String e amount = ((double)top/(double)bottom); } else { int number = Integer.parseInt(amountString); - amount = (double)number; + amount = number; } TradeObject ho = he.getTradeObject(oname); this.components.put(ho.getName(), amount); diff --git a/src/main/java/regalowl/hyperconomy/tradeobject/ShopTradeEnchant.java b/src/main/java/regalowl/hyperconomy/tradeobject/ShopTradeEnchant.java index 93222999..412c5da3 100755 --- a/src/main/java/regalowl/hyperconomy/tradeobject/ShopTradeEnchant.java +++ b/src/main/java/regalowl/hyperconomy/tradeobject/ShopTradeEnchant.java @@ -6,7 +6,7 @@ import regalowl.hyperconomy.inventory.HEnchantment; -public class ShopTradeEnchant extends BasicShopTradeObject implements TradeObject { +public class ShopTradeEnchant extends BasicShopTradeObject { private static final long serialVersionUID = -213806188136759445L; diff --git a/src/main/java/regalowl/hyperconomy/tradeobject/TempTradeItem.java b/src/main/java/regalowl/hyperconomy/tradeobject/TempTradeItem.java index f913eaa7..7b983d86 100755 --- a/src/main/java/regalowl/hyperconomy/tradeobject/TempTradeItem.java +++ b/src/main/java/regalowl/hyperconomy/tradeobject/TempTradeItem.java @@ -8,7 +8,7 @@ import regalowl.hyperconomy.inventory.HItemStack; -public class TempTradeItem extends ComponentTradeItem implements TradeObject { +public class TempTradeItem extends ComponentTradeItem { private static final long serialVersionUID = 4228578172340543286L; diff --git a/src/main/java/regalowl/hyperconomy/tradeobject/TradeEnchant.java b/src/main/java/regalowl/hyperconomy/tradeobject/TradeEnchant.java index c1b43dbb..45e85fc7 100755 --- a/src/main/java/regalowl/hyperconomy/tradeobject/TradeEnchant.java +++ b/src/main/java/regalowl/hyperconomy/tradeobject/TradeEnchant.java @@ -11,7 +11,7 @@ import regalowl.hyperconomy.inventory.HEnchantment; import regalowl.hyperconomy.inventory.HInventory; -public class TradeEnchant extends BasicTradeObject implements TradeObject { +public class TradeEnchant extends BasicTradeObject { private static final long serialVersionUID = -6150719215822283210L; @@ -25,7 +25,7 @@ private HEnchantment getHEnchant() { } @Override public String getEnchantmentName() { - return getHEnchant().getEnchantmentName(); + return getHEnchant().getEnchantmentKeyString(); } diff --git a/src/main/java/regalowl/hyperconomy/tradeobject/TradeObject.java b/src/main/java/regalowl/hyperconomy/tradeobject/TradeObject.java index 0a883782..434cf495 100644 --- a/src/main/java/regalowl/hyperconomy/tradeobject/TradeObject.java +++ b/src/main/java/regalowl/hyperconomy/tradeobject/TradeObject.java @@ -25,6 +25,7 @@ public interface TradeObject extends Comparable, Serializable { /* (non-Javadoc) * @see java.lang.Comparable#compareTo(java.lang.Object) */ + @Override public int compareTo(TradeObject ho); @Override diff --git a/src/main/java/regalowl/hyperconomy/tradeobject/TradeXp.java b/src/main/java/regalowl/hyperconomy/tradeobject/TradeXp.java index 66fc842f..660ddc15 100755 --- a/src/main/java/regalowl/hyperconomy/tradeobject/TradeXp.java +++ b/src/main/java/regalowl/hyperconomy/tradeobject/TradeXp.java @@ -10,7 +10,7 @@ import regalowl.hyperconomy.account.HyperPlayer; -public class TradeXp extends BasicTradeObject implements TradeObject { +public class TradeXp extends BasicTradeObject { private static final long serialVersionUID = -5156550871200368032L; diff --git a/src/main/java/regalowl/hyperconomy/util/DatabaseUpdater.java b/src/main/java/regalowl/hyperconomy/util/DatabaseUpdater.java index 24387012..bf948711 100644 --- a/src/main/java/regalowl/hyperconomy/util/DatabaseUpdater.java +++ b/src/main/java/regalowl/hyperconomy/util/DatabaseUpdater.java @@ -5,6 +5,12 @@ import java.util.HashMap; import java.util.Map; +import regalowl.hyperconomy.HyperConomy; +import regalowl.hyperconomy.bukkit.BukkitConnector; +import regalowl.hyperconomy.inventory.HEnchantment; +import regalowl.hyperconomy.inventory.HItemStack; +import regalowl.hyperconomy.serializable.SerializableEnchantment; +import regalowl.hyperconomy.serializable.SerializableItemStack; import regalowl.simpledatalib.CommonFunctions; import regalowl.simpledatalib.file.FileConfiguration; import regalowl.simpledatalib.sql.Field; @@ -13,12 +19,6 @@ import regalowl.simpledatalib.sql.SQLRead; import regalowl.simpledatalib.sql.SQLWrite; import regalowl.simpledatalib.sql.Table; -import regalowl.hyperconomy.HyperConomy; -import regalowl.hyperconomy.bukkit.BukkitConnector; -import regalowl.hyperconomy.inventory.HEnchantment; -import regalowl.hyperconomy.inventory.HItemStack; -import regalowl.hyperconomy.serializable.SerializableEnchantment; -import regalowl.hyperconomy.serializable.SerializableItemStack; public class DatabaseUpdater { @@ -102,7 +102,9 @@ public boolean updateTables(QueryResult qr) { sw.addToQueue("UPDATE hyperconomy_objects SET DATA = '"+n.serialize()+"' WHERE NAME = '"+name+"'"); } else if (type.equalsIgnoreCase("ENCHANTMENT")) { SerializableEnchantment sis = new SerializableEnchantment(data); - HEnchantment n = new HEnchantment(sis.getEnchantmentName(), sis.getLvl()); + HEnchantment n = new HEnchantment( + sis.getEnchantmentName().getNamespace() + ":" + sis.getEnchantmentName().getKey(), + sis.getLvl()); sw.addToQueue("UPDATE hyperconomy_objects SET DATA = '"+n.serialize()+"' WHERE NAME = '"+name+"'"); } } diff --git a/src/main/java/regalowl/hyperconomy/util/History.java b/src/main/java/regalowl/hyperconomy/util/History.java index d025f754..30d7fdee 100644 --- a/src/main/java/regalowl/hyperconomy/util/History.java +++ b/src/main/java/regalowl/hyperconomy/util/History.java @@ -90,6 +90,7 @@ public void updateSetting(String setting, String value) { private void startTimer() { historylogtaskid = hc.getMC().runRepeatingTask(new Runnable() { + @Override public void run() { long currentTime = System.currentTimeMillis(); timeCounter += (currentTime - lastTime); @@ -98,6 +99,7 @@ public void run() { timeCounter = 0; writeHistoryValues(); hc.getMC().runTaskLater(new Runnable() { + @Override public void run() { if (isign != null) isign.updateSigns(); } diff --git a/src/main/java/regalowl/hyperconomy/util/LibraryManager.java b/src/main/java/regalowl/hyperconomy/util/LibraryManager.java index 8f78d93c..01046778 100644 --- a/src/main/java/regalowl/hyperconomy/util/LibraryManager.java +++ b/src/main/java/regalowl/hyperconomy/util/LibraryManager.java @@ -6,9 +6,7 @@ import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; -import java.lang.reflect.Method; import java.net.URL; -import java.net.URLClassLoader; import java.util.ArrayList; import java.util.Enumeration; import java.util.Iterator; @@ -17,6 +15,8 @@ import java.util.jar.JarEntry; import java.util.jar.JarFile; +import javax.management.loading.MLet; + import regalowl.hyperconomy.HyperConomy; import regalowl.hyperconomy.api.ServerConnectionType; import regalowl.hyperconomy.event.DataLoadEvent; @@ -52,6 +52,7 @@ public LibraryManager(HyperConomy hc, HyperEventHandler heh) { private class LibraryLoader implements Runnable { + @Override public void run() { FileTools ft = hc.getSimpleDataLib().getFileTools(); libFolder = hc.getSimpleDataLib().getStoragePath() + File.separator + "lib"; @@ -227,10 +228,13 @@ public synchronized void run() { private void addURL(URL url) { try { ClassLoader cl = ClassLoader.getSystemClassLoader(); - URLClassLoader loader = (URLClassLoader) cl; - Method method = URLClassLoader.class.getDeclaredMethod("addURL", new Class[] { URL.class }); - method.setAccessible(true); - method.invoke(loader, url); + MLet loader = new MLet(new URL[] { url }, cl); + loader.addURL(url); + try { + loader.close(); + } catch (Exception exc) { + // ignore, was already closed + } } catch (Exception e) { e.printStackTrace(); } diff --git a/src/main/java/regalowl/hyperconomy/util/UpdateChecker.java b/src/main/java/regalowl/hyperconomy/util/UpdateChecker.java index 2cb1276a..b73bb69e 100644 --- a/src/main/java/regalowl/hyperconomy/util/UpdateChecker.java +++ b/src/main/java/regalowl/hyperconomy/util/UpdateChecker.java @@ -42,6 +42,7 @@ public void runCheck() { hc.getMC().logInfo("[HyperConomy]Checking for updates..."); new Thread(new Runnable() { + @Override public void run() { try { URL url = new URL("https://api.curseforge.com/servermods/files?projectids=38059"); @@ -83,6 +84,7 @@ public void run() { upgradeAvailable = true; } hc.getMC().runTask(new Runnable() { + @Override public void run() { if (upgradeAvailable) { if (notifyInGame) notifyAdmins(); @@ -115,6 +117,7 @@ private String getType(String data) { private void notifyAdmins() { hc.getMC().runTaskLater(new Runnable() { + @Override public void run() { MessageBuilder mb = new MessageBuilder(hc, "NEW_VERSION_AVAILABLE"); mb.setValue(latestVersion); diff --git a/src/main/java/regalowl/hyperconomy/webpage/HyperWebAPI.java b/src/main/java/regalowl/hyperconomy/webpage/HyperWebAPI.java index 80daddf6..4e37436b 100755 --- a/src/main/java/regalowl/hyperconomy/webpage/HyperWebAPI.java +++ b/src/main/java/regalowl/hyperconomy/webpage/HyperWebAPI.java @@ -41,7 +41,8 @@ public HyperWebAPI(HyperConomy hc, String apiKey) { } - public void doGet(HttpServletRequest pRequest, HttpServletResponse pResponse) throws IOException, ServletException { + @Override + public void doGet(HttpServletRequest pRequest, HttpServletResponse pResponse) throws IOException, ServletException { pResponse.setContentType("text/html;charset=utf-8"); pResponse.setStatus(HttpServletResponse.SC_OK); String lUri = pRequest.getRequestURI(); @@ -61,15 +62,19 @@ public void doGet(HttpServletRequest pRequest, HttpServletResponse pResponse) th } /** - * Execute an treatement - * @param pUri Uri source - * @return The text that must be send to the client - * @throws InvocationTargetException InvocationTargetException - * @throws IllegalAccessException IllegalAccessException - * @throws InstantiationException InstantiationException - * @throws IllegalArgumentException IllegalArgumentException - */ - private String getObjects(String pUri) throws IllegalArgumentException, InstantiationException, IllegalAccessException, InvocationTargetException { + * Execute an treatement + * + * @param pUri Uri source + * @return The text that must be send to the client + * @throws InvocationTargetException InvocationTargetException + * @throws IllegalAccessException IllegalAccessException + * @throws InstantiationException InstantiationException + * @throws IllegalArgumentException IllegalArgumentException + * @throws SecurityException SecurityException + * @throws NoSuchMethodException NoSuchMethodException + */ + private String getObjects(String pUri) throws IllegalArgumentException, InstantiationException, + IllegalAccessException, InvocationTargetException, NoSuchMethodException, SecurityException { //Find all parts of the URI String[] lParts = pUri.split("/"); List lPartList = new ArrayList(); @@ -148,18 +153,23 @@ private String listMethods(String pClass) { } /** - * Call a method (pMethod) in an instance of pClass, with parameters (pParams) - * @param pClass Class to use - * @param pMethod Method to call - * @param pParams Parameters of the method - * @return the result of the method (or an exception) - * @throws IllegalAccessException IllegalAccessException - * @throws InstantiationException InstantiationException - * @throws InvocationTargetException InvocationTargetException - * @throws IllegalArgumentException IllegalArgumentException - */ + * Call a method (pMethod) in an instance of pClass, with parameters (pParams) + * + * @param pClass Class to use + * @param pMethod Method to call + * @param pParams Parameters of the method + * @return the result of the method (or an exception) + * @throws IllegalAccessException IllegalAccessException + * @throws InstantiationException InstantiationException + * @throws InvocationTargetException InvocationTargetException + * @throws IllegalArgumentException IllegalArgumentException + * @throws SecurityException SecurityException + * @throws NoSuchMethodException NoSuchMethodException + */ @SuppressWarnings("rawtypes") - private String callMethod(String pClass, String pMethod, List pParams) throws InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException { + private String callMethod(String pClass, String pMethod, List pParams) + throws InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, + NoSuchMethodException, SecurityException { String lReturn = ""; //Get the class @@ -174,7 +184,7 @@ private String callMethod(String pClass, String pMethod, List pParams) t } //Create the instance - Object lObject = lClass.newInstance(); + Object lObject = lClass.getDeclaredConstructor().newInstance(); //Table to call the method Object[] lArgs = new Object[lMethod.getParameterTypes().length]; @@ -210,7 +220,7 @@ else if (lType.isAssignableFrom(boolean.class)) { lArgs[lIndex] = Boolean.parseBoolean(pParams.get(lIndex)); } //It's a char else if (lType.isAssignableFrom(char.class)) { - lArgs[lIndex] = new Character(pParams.get(lIndex).charAt(0)); + lArgs[lIndex] = Character.valueOf(pParams.get(lIndex).charAt(0)); } //It's a player -> find by name else if (lType.isAssignableFrom(HyperPlayer.class)) { lArgs[lIndex] = hc.getHyperPlayerManager().getHyperPlayer(pParams.get(lIndex)); diff --git a/src/main/java/regalowl/hyperconomy/webpage/MainPage.java b/src/main/java/regalowl/hyperconomy/webpage/MainPage.java index 94bab26b..2794406f 100755 --- a/src/main/java/regalowl/hyperconomy/webpage/MainPage.java +++ b/src/main/java/regalowl/hyperconomy/webpage/MainPage.java @@ -50,6 +50,7 @@ public void disable() { pageUpdater.cancel(); } + @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=utf-8"); response.setStatus(HttpServletResponse.SC_OK); diff --git a/src/main/java/regalowl/hyperconomy/webpage/ShopPage.java b/src/main/java/regalowl/hyperconomy/webpage/ShopPage.java index 21ffe4d7..0a0a3e5b 100755 --- a/src/main/java/regalowl/hyperconomy/webpage/ShopPage.java +++ b/src/main/java/regalowl/hyperconomy/webpage/ShopPage.java @@ -53,6 +53,7 @@ public ShopPage(Shop shop, HyperConomy_Web hcw) { + @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=utf-8"); response.setStatus(HttpServletResponse.SC_OK); @@ -74,6 +75,7 @@ public void updatePage() { if (!initialLoad && modifiedSinceLastUpdate.size() == 0) return; new Thread(new Runnable() { + @Override public void run() { page = buildPage(s.getEconomy()); } diff --git a/src/main/java/regalowl/hyperconomy/webpage/WebHandler.java b/src/main/java/regalowl/hyperconomy/webpage/WebHandler.java index 99f0474c..88456061 100755 --- a/src/main/java/regalowl/hyperconomy/webpage/WebHandler.java +++ b/src/main/java/regalowl/hyperconomy/webpage/WebHandler.java @@ -44,6 +44,7 @@ public void handleHyperEvent(HyperEvent event) { public void startServer() { try { new Thread(new Runnable() { + @Override public void run() { System.setProperty("org.eclipse.jetty.LEVEL", "WARN"); server = new Server(hcw.getPort()); @@ -78,6 +79,7 @@ public void run() { public void addShop(Shop shop) { s = shop; new Thread(new Runnable() { + @Override public void run() { ShopPage sp = new ShopPage(s, hcw); shopPages.add(sp); diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index a9f0b709..d0650a3c 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -2,7 +2,8 @@ name: HyperConomy main: regalowl.hyperconomy.bukkit.BukkitConnector version: 0.975.8 author: RegalOwl -website: http://dev.bukkit.org/server-mods/hyperconomy/ +api-version: 1.13 +website: http://dev.bukkit.org/projects/hyperconomy/ softdepend: [HeroStronghold, Buycraft, Essentials, Vault] loadbefore: [] commands: