diff --git a/libs/MythicMobs-4.5.1.jar b/libs/MythicMobs-4.5.5.jar similarity index 83% rename from libs/MythicMobs-4.5.1.jar rename to libs/MythicMobs-4.5.5.jar index 9060a4a7..69b64443 100644 Binary files a/libs/MythicMobs-4.5.1.jar and b/libs/MythicMobs-4.5.5.jar differ diff --git a/pom.xml b/pom.xml index 88ac5e19..da773e08 100644 --- a/pom.xml +++ b/pom.xml @@ -64,9 +64,9 @@ io.lumine.xikage.mythicmobs MythicMobs - 4.5.1 + 4.5.5 system - ${basedir}/libs/MythicMobs-4.5.1.jar + ${basedir}/libs/MythicMobs-4.5.5.jar @@ -176,4 +176,4 @@ - \ No newline at end of file + diff --git a/src/main/java/com/gamingmesh/jobs/CMILib/ItemManager.java b/src/main/java/com/gamingmesh/jobs/CMILib/ItemManager.java index 5986b060..9a2a926c 100644 --- a/src/main/java/com/gamingmesh/jobs/CMILib/ItemManager.java +++ b/src/main/java/com/gamingmesh/jobs/CMILib/ItemManager.java @@ -20,6 +20,7 @@ import org.bukkit.entity.EntityType; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.Recipe; import org.bukkit.inventory.meta.SkullMeta; +import org.bukkit.potion.PotionType; import com.gamingmesh.jobs.CMILib.VersionChecker.Version; @@ -360,6 +361,195 @@ public class ItemManager { } } + public enum CMIPotionType { + Awkward(373, 16, "Awkard Potion"), + Fire_Resistance_1(373, 8195, "Fire Resistance Potion"), + Fire_Resistance_2(373, 8259, "Fire Resistance potion 2"), + Harming_1(373, 8204, "Harming Potion"), + Harming_2(373, 8236, "Harming Potion 2"), + Healing_1(373, 8197, "Healing Potion"), + Healing_2(373, 8229, "Healing Potion 2"), + Invisibility_1(373, 8206, "Invisibility Potion"), + Invisibility_2(373, 8270, "Invisibility Potion 2"), + Leaping_1(373, 8267, "Leaping Potion"), + Leaping_2(373, 8235, "Leaping Potion 2"), + Luck(-1, -1, "Luck Potion"), + Mundane(373, 64, "Mundane Potion"), + Night_Vision_1(373, 8198, "Night Vision Potion"), + Night_Vision_2(373, 8262, "Night Vision Potion 2"), + Poison_1(373, 8196, "Poison Potion"), + Poison_2(373, 8228, "Poison Potion 2"), + Poison_3(373, 8260, "Poison Potion 3"), + Poison_4(373, 8292, "Poison Potion 4"), + Regeneration_1(373, 8193, "Regeneration Potion"), + Regeneration_2(373, 8225, "Regeneration Potion 2"), + Regeneration_3(373, 8257, "Regeneration Potion 3"), + Regeneration_4(373, 8289, "Regeneration Potion 4"), + Slow_Falling_1(-1, -1, "Slow Falling Potion"), + Slow_Falling_2(-1, -1, "Slow Falling Potion 2"), + Slowness_1(373, 8202, "Slowness Potion"), + Slowness_2(373, 8266, "Slowness Potion 2"), + Strength_1(373, 8201, "Strength Potion"), + Strength_2(373, 8233, "Strength Potion 2"), + Strength_3(373, 8265, "Strength Potion 3"), + Strength_4(373, 8297, "Strength Potion 4"), + Swiftness_1(373, 8194, "Swiftness Potion"), + Swiftness_2(373, 8226, "Swiftness Potion 2"), + Swiftness_3(373, 8258, "Swiftness Potion 3"), + Swiftness_4(373, 8290, "Swiftness Potion 4"), + Thick(373, 32, "Thick Potion"), + Turtle_Master_1(-1, -1, "Turtle Master Potion"), + Turtle_Master_2(-1, -1, "Turtle Master Potion 2"), + Turtle_Master_3(-1, -1, "Turtle Master Potion 3"), + Water_Breathing_1(373, 8205, "Water Breathing Potion"), + Water_Breathing_2(373, 8269, "Water Breathing Potion 2"), + Weakness_1(373, 8200, "Weakness Potion"), + Weakness_2(373, 8264, "Weakness Potion 2"), + Water(373, 0, "Water Potion"); + + private int id; + private int subId; + private String name; + PotionType type = null; + + CMIPotionType(int id, int subId, String name) { + this.id = id; + this.subId = subId; + this.name = name; + } + + public int getId() { + return id; + } + + public int getSubId() { + return subId; + } + + public String getName() { + return name; + } + + public String getOneWordName() { + return name.replace(" ", ""); + } + + public static CMIPotionType getById(int id) { + for (CMIPotionType one : CMIPotionType.values()) { + if (one.getId() == id) + return one; + } + return CMIPotionType.Water; + } + + public static CMIPotionType getByType(PotionType potion) { + return getByName(potion.toString()); + } + + public static CMIPotionType getByName(String name) { + String main = name; + String sub = null; + + if (name.contains("_")) { + main = name.split("_")[0]; + sub = name.split("_")[1]; + } + if (name.contains(":")) { + main = name.split(":")[0]; + sub = name.split(":")[1]; + } + + String updated = (main + (sub == null ? "" : sub)).toLowerCase(); + String reverse = ((sub == null ? "" : sub) + main).toLowerCase(); + + CMIPotionType type = null; + + Integer id = null; + try { + id = Integer.parseInt(main); + } catch (Throwable e) { + } + + for (CMIPotionType one : CMIPotionType.values()) { + if (one.name().replace("_", "").equalsIgnoreCase(updated) || one.name.replace(" ", "").equalsIgnoreCase(updated)) { + type = one; + break; + } + } + if (type == null) + for (CMIPotionType one : CMIPotionType.values()) { + if (one.name.replace("_", "").contains(updated)) { + type = one; + break; + } + } + + if (sub != null) { + if (type == null) + for (CMIPotionType one : CMIPotionType.values()) { + if (one.name().replace("_", "").equalsIgnoreCase(reverse) || one.name.replace(" ", "").equalsIgnoreCase(reverse)) { + type = one; + break; + } + } + if (type == null) + for (CMIPotionType one : CMIPotionType.values()) { + if (one.name.replace("_", "").contains(reverse)) { + type = one; + break; + } + } + } + + if (id != null) { + if (type == null) + for (CMIPotionType one : CMIPotionType.values()) { + if (one.getId() == id) { + type = one; + break; + } + } + } + + if (type == null) + for (CMIPotionType one : CMIPotionType.values()) { + if (one.name.contains("_")) + continue; + if (one.name.equalsIgnoreCase(main)) { + type = one; + break; + } + } + + return type; + } + + public PotionType getType() { + if (type != null) + return type; + for (PotionType one : PotionType.values()) { + if (one.toString().equalsIgnoreCase(this.name())) { + type = one; + break; + } + } + return type; + } + + public static String getRealNameByType(PotionType type) { + if (type == null) + return null; + CMIPotionType ctype = CMIPotionType.getByType(type); + if (ctype != null) + return ctype.getName(); + String name = type.name(); + + name = name.toLowerCase().replace("_", " "); + name = name.substring(0, 1).toUpperCase() + name.substring(1); + return name; + } + } + public enum CMIEntityType { PLAYER(-1, "Player"), DROPPED_ITEM(1, "Item"), @@ -1224,53 +1414,6 @@ public class ItemManager { PORKCHOP(319, 0, 30896, "Raw Porkchop"), POTATO(392, 0, 21088, "Potato", "Potatoitem"), POTATOES(142, 0, 10879, "Potatoes"), - - // Potions - POTION(373, 0, 24020, "Potion", "POTION_WATER"), - POTION_AWKWARD(373, 16, 24020, "Awkard Potion"), - POTION_FIRE_RESISTANCE_1(373, 8195, 24020, "Fire Resistance Potion"), - POTION_FIRE_RESISTANCE_2(373, 8259, 24020, "Fire Resistance potion 2"), - POTION_HARMING_1(373, 8204, 24020, "Harming Potion"), - POTION_HARMING_2(373, 8236, 24020, "Harming Potion 2"), - POTION_HEALING_1(373, 8197, 24020, "Healing Potion"), - POTION_HEALING_2(373, 8229, 24020, "Healing Potion 2"), - POTION_INVISIBILITY_1(373, 8206, 24020, "Invisibility Potion"), - POTION_INVISIBILITY_2(373, 8270, 24020, "Invisibility Potion 2"), - POTION_LEAPING_1(373, 8267, 24020, "Leaping Potion"), - POTION_LEAPING_2(373, 8235, 24020, "Leaping Potion 2"), - POTION_LUCK(-1, -1, 24020, "Luck Potion"), - POTION_MUNDANE(373, 64, 24020, "Mundane Potion"), - POTION_NIGHT_VISION_1(373, 8198, 24020, "Night Vision Potion"), - POTION_NIGHT_VISION_2(373, 8262, 24020, "Night Vision Potion 2"), - POTION_POISON_1(373, 8196, 24020, "Poison Potion"), - POTION_POISON_2(373, 8228, 24020, "Poison Potion 2"), - POTION_POISON_3(373, 8260, 24020, "Poison Potion 3"), - POTION_POISON_4(373, 8292, 24020, "Poison Potion 4"), - POTION_REGENERATION_1(373, 8193, 24020, "Regeneration Potion"), - POTION_REGENERATION_2(373, 8225, 24020, "Regeneration Potion 2"), - POTION_REGENERATION_3(373, 8257, 24020, "Regeneration Potion 3"), - POTION_REGENERATION_4(373, 8289, 24020, "Regeneration Potion 4"), - POTION_SLOW_FALLING_1(-1, -1, 24020, "Slow Falling Potion"), - POTION_SLOW_FALLING_2(-1, -1, 24020, "Slow Falling Potion 2"), - POTION_SLOWNESS_1(373, 8202, 24020, "Slowness Potion"), - POTION_SLOWNESS_2(373, 8266, 24020, "Slowness Potion 2"), - POTION_STRENGTH_1(373, 8201, 24020, "Strength Potion"), - POTION_STRENGTH_2(373, 8233, 24020, "Strength Potion 2"), - POTION_STRENGTH_3(373, 8265, 24020, "Strength Potion 3"), - POTION_STRENGTH_4(373, 8297, 24020, "Strength Potion 4"), - POTION_SWIFTNESS_1(373, 8194, 24020, "Swiftness Potion"), - POTION_SWIFTNESS_2(373, 8226, 24020, "Swiftness Potion 2"), - POTION_SWIFTNESS_3(373, 8258, 24020, "Swiftness Potion 3"), - POTION_SWIFTNESS_4(373, 8290, 24020, "Swiftness Potion 4"), - POTION_THICK(373, 32, 24020, "Thick Potion"), - POTION_TURTLE_MASTER_1(-1, -1, -1, "Turtle Master Potion"), - POTION_TURTLE_MASTER_2(-1, -1, -1, "Turtle Master Potion 2"), - POTION_TURTLE_MASTER_3(-1, -1, -1, "Turtle Master Potion 3"), - POTION_WATER_BREATHING_1(373, 8205, 24020, "Water Breathing Potion"), - POTION_WATER_BREATHING_2(373, 8269, 24020, "Water Breathing Potion 2"), - POTION_WEAKNESS_1(373, 8200, 24020, "Weakness Potion"), - POTION_WEAKNESS_2(373, 8264, 24020, "Weakness Potion 2"), - POTTED_ACACIA_SAPLING(-1, -1, 14096, "Potted Acacia Sapling"), POTTED_ALLIUM(-1, -1, 13184, "Potted Allium"), POTTED_AZURE_BLUET(-1, -1, 8754, "Potted Azure Bluet"), @@ -2082,69 +2225,6 @@ public class ItemManager { return false; } - public static boolean isPotion(Material mat) { - CMIMaterial m = CMIMaterial.get(mat); - if (m == null) - return false; - return m.isPotion(); - } - - public boolean isPotion() { - switch (this) { - case LINGERING_POTION: - case SPLASH_POTION: - - case POTION: - case POTION_AWKWARD: - case POTION_FIRE_RESISTANCE_1: - case POTION_FIRE_RESISTANCE_2: - case POTION_HARMING_1: - case POTION_HARMING_2: - case POTION_HEALING_1: - case POTION_HEALING_2: - case POTION_INVISIBILITY_1: - case POTION_INVISIBILITY_2: - case POTION_LEAPING_1: - case POTION_LEAPING_2: - case POTION_LUCK: - case POTION_MUNDANE: - case POTION_NIGHT_VISION_1: - case POTION_NIGHT_VISION_2: - case POTION_POISON_1: - case POTION_POISON_2: - case POTION_POISON_3: - case POTION_POISON_4: - case POTION_REGENERATION_1: - case POTION_REGENERATION_2: - case POTION_REGENERATION_3: - case POTION_REGENERATION_4: - case POTION_SLOW_FALLING_1: - case POTION_SLOW_FALLING_2: - case POTION_SLOWNESS_1: - case POTION_SLOWNESS_2: - case POTION_STRENGTH_1: - case POTION_STRENGTH_2: - case POTION_STRENGTH_3: - case POTION_STRENGTH_4: - case POTION_SWIFTNESS_1: - case POTION_SWIFTNESS_2: - case POTION_SWIFTNESS_3: - case POTION_SWIFTNESS_4: - case POTION_THICK: - case POTION_TURTLE_MASTER_1: - case POTION_TURTLE_MASTER_2: - case POTION_TURTLE_MASTER_3: - case POTION_WATER_BREATHING_1: - case POTION_WATER_BREATHING_2: - case POTION_WEAKNESS_1: - case POTION_WEAKNESS_2: - return true; - default: - break; - } - return false; - } - public static boolean isBoat(Material mat) { CMIMaterial m = CMIMaterial.get(mat); if (m == null) diff --git a/src/main/java/com/gamingmesh/jobs/Gui/GuiManager.java b/src/main/java/com/gamingmesh/jobs/Gui/GuiManager.java index f2ba0585..640a7ba4 100644 --- a/src/main/java/com/gamingmesh/jobs/Gui/GuiManager.java +++ b/src/main/java/com/gamingmesh/jobs/Gui/GuiManager.java @@ -27,9 +27,6 @@ public class GuiManager { public HashMap GuiList = new HashMap<>(); - public GuiManager() { - } - public void CloseInventories() { for (Entry one : GuiList.entrySet()) { Player player = Bukkit.getPlayer(one.getKey()); diff --git a/src/main/java/com/gamingmesh/jobs/ItemBoostManager.java b/src/main/java/com/gamingmesh/jobs/ItemBoostManager.java index 4400329c..6c322619 100644 --- a/src/main/java/com/gamingmesh/jobs/ItemBoostManager.java +++ b/src/main/java/com/gamingmesh/jobs/ItemBoostManager.java @@ -24,10 +24,6 @@ public class ItemBoostManager { private static HashMap items = new HashMap<>(); private static HashMap legacy = new HashMap<>(); - public ItemBoostManager() { - - } - public static void load() { ConfigReader cfg = null; diff --git a/src/main/java/com/gamingmesh/jobs/Jobs.java b/src/main/java/com/gamingmesh/jobs/Jobs.java index 256374a8..50b696fc 100644 --- a/src/main/java/com/gamingmesh/jobs/Jobs.java +++ b/src/main/java/com/gamingmesh/jobs/Jobs.java @@ -174,7 +174,7 @@ public class Jobs extends JavaPlugin { try { Class.forName("com.gmail.nossr50.datatypes.skills.SuperAbilityType"); getServer().getPluginManager().registerEvents(new McMMO2_X_listener(this), this); - } catch (Exception e) { + } catch (Throwable e) { getServer().getPluginManager().registerEvents(new McMMO1_X_listener(this), this); } } @@ -853,9 +853,9 @@ public class Jobs extends JavaPlugin { getServer().getPluginManager().registerEvents(new JobsListener(this), this); getServer().getPluginManager().registerEvents(new JobsPaymentListener(this), this); - + if (getMcMMOManager().CheckmcMMO()) - setMcMMOlistener(); + setMcMMOlistener(); setMyPetManager(); setWorldGuard(); diff --git a/src/main/java/com/gamingmesh/jobs/McMMO/McMMO1_X_listener.java b/src/main/java/com/gamingmesh/jobs/McMMO/McMMO1_X_listener.java index f004383f..f4c4e6fe 100644 --- a/src/main/java/com/gamingmesh/jobs/McMMO/McMMO1_X_listener.java +++ b/src/main/java/com/gamingmesh/jobs/McMMO/McMMO1_X_listener.java @@ -14,7 +14,6 @@ import com.gamingmesh.jobs.Jobs; import com.gamingmesh.jobs.actions.ItemActionInfo; import com.gamingmesh.jobs.container.ActionType; import com.gamingmesh.jobs.container.JobsPlayer; -import com.gamingmesh.jobs.stuff.Debug; import com.gmail.nossr50.events.skills.abilities.McMMOPlayerAbilityActivateEvent; import com.gmail.nossr50.events.skills.abilities.McMMOPlayerAbilityDeactivateEvent; import com.gmail.nossr50.events.skills.repair.McMMOPlayerRepairCheckEvent; diff --git a/src/main/java/com/gamingmesh/jobs/McMMO/McMMO2_X_listener.java b/src/main/java/com/gamingmesh/jobs/McMMO/McMMO2_X_listener.java index ca9914fd..39e64eb8 100644 --- a/src/main/java/com/gamingmesh/jobs/McMMO/McMMO2_X_listener.java +++ b/src/main/java/com/gamingmesh/jobs/McMMO/McMMO2_X_listener.java @@ -13,7 +13,6 @@ import com.gamingmesh.jobs.Jobs; import com.gamingmesh.jobs.actions.ItemActionInfo; import com.gamingmesh.jobs.container.ActionType; import com.gamingmesh.jobs.container.JobsPlayer; -import com.gmail.nossr50.datatypes.skills.SuperAbilityType; import com.gmail.nossr50.events.skills.abilities.McMMOPlayerAbilityActivateEvent; import com.gmail.nossr50.events.skills.abilities.McMMOPlayerAbilityDeactivateEvent; import com.gmail.nossr50.events.skills.repair.McMMOPlayerRepairCheckEvent; diff --git a/src/main/java/com/gamingmesh/jobs/McMMO/McMMOManager.java b/src/main/java/com/gamingmesh/jobs/McMMO/McMMOManager.java index 56fcdc92..10e38a03 100644 --- a/src/main/java/com/gamingmesh/jobs/McMMO/McMMOManager.java +++ b/src/main/java/com/gamingmesh/jobs/McMMO/McMMOManager.java @@ -15,10 +15,6 @@ public class McMMOManager { private HashMap> map = new HashMap<>(); - public McMMOManager() { - // TODO Auto-generated constructor stub - } - public double getMultiplier(Player player) { if (player == null) diff --git a/src/main/java/com/gamingmesh/jobs/PlayerManager.java b/src/main/java/com/gamingmesh/jobs/PlayerManager.java index aa023f4c..577f1d6b 100644 --- a/src/main/java/com/gamingmesh/jobs/PlayerManager.java +++ b/src/main/java/com/gamingmesh/jobs/PlayerManager.java @@ -56,7 +56,6 @@ import com.gamingmesh.jobs.dao.JobsDAO; import com.gamingmesh.jobs.dao.JobsDAOData; import com.gamingmesh.jobs.economy.PaymentData; import com.gamingmesh.jobs.economy.PointsData; -import com.gamingmesh.jobs.stuff.Debug; import com.gamingmesh.jobs.stuff.PerformCommands; public class PlayerManager { @@ -73,9 +72,6 @@ public class PlayerManager { private HashMap PlayerIDMap = new HashMap<>(); private HashMap PlayerNameMap = new HashMap<>(); - public PlayerManager() { - } - public PointsData getPointsData() { return PointsDatabase; } @@ -789,14 +785,14 @@ public class PlayerManager { Object itemName = Jobs.getReflections().getNbt(item, "JobsItemBoost"); - if (itemName == null || ((String) itemName).isEmpty()) { + if (itemName == null || itemName.toString().isEmpty()) { // Checking old boost items and converting to new format if needed if (Jobs.getReflections().hasNbt(item, "JobsItemBoost")) { for (Job one : Jobs.getJobs()) { itemName = Jobs.getReflections().getNbt(item, "JobsItemBoost", one.getName()); if (itemName != null) { - JobItems b = ItemBoostManager.getItemByKey((String) itemName); + JobItems b = ItemBoostManager.getItemByKey(itemName.toString()); if (b != null) { ItemStack ic = Jobs.getReflections().setNbt(item, "JobsItemBoost", b.getNode()); item.setItemMeta(ic.getItemMeta()); @@ -808,7 +804,7 @@ public class PlayerManager { if (itemName == null) return null; } - JobItems b = ItemBoostManager.getItemByKey((String) itemName); + JobItems b = ItemBoostManager.getItemByKey(itemName.toString()); if (b == null) return null; diff --git a/src/main/java/com/gamingmesh/jobs/actions/PotionDrinkInfo.java b/src/main/java/com/gamingmesh/jobs/actions/PotionDrinkInfo.java index 781d7170..36313c45 100644 --- a/src/main/java/com/gamingmesh/jobs/actions/PotionDrinkInfo.java +++ b/src/main/java/com/gamingmesh/jobs/actions/PotionDrinkInfo.java @@ -1,31 +1,26 @@ -/** - * Jobs Plugin for Bukkit - * Copyright (C) 2011 Zak Ford - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - package com.gamingmesh.jobs.actions; -import org.bukkit.inventory.ItemStack; +import org.bukkit.potion.PotionType; import com.gamingmesh.jobs.container.ActionInfo; import com.gamingmesh.jobs.container.ActionType; +import com.gamingmesh.jobs.container.BaseActionInfo; -public class PotionDrinkInfo extends MaterialActionInfo implements ActionInfo { - @SuppressWarnings("deprecation") - public PotionDrinkInfo(ItemStack potion, ActionType type) { - super(potion.getType(), potion.getData().getData(), type); +public class PotionDrinkInfo extends BaseActionInfo implements ActionInfo { + private PotionType potion; + + public PotionDrinkInfo(PotionType potion, ActionType type) { + super(type); + this.potion = potion; + } + + @Override + public String getName() { + return potion.name(); + } + + @Override + public String getNameWithSub() { + return getName(); } } diff --git a/src/main/java/com/gamingmesh/jobs/commands/list/editjobs.java b/src/main/java/com/gamingmesh/jobs/commands/list/editjobs.java index 577e123c..8017ed53 100644 --- a/src/main/java/com/gamingmesh/jobs/commands/list/editjobs.java +++ b/src/main/java/com/gamingmesh/jobs/commands/list/editjobs.java @@ -13,6 +13,8 @@ import org.bukkit.inventory.ItemStack; import com.gamingmesh.jobs.Jobs; import com.gamingmesh.jobs.CMILib.ItemManager.CMIEntityType; import com.gamingmesh.jobs.CMILib.ItemManager.CMIMaterial; +import com.gamingmesh.jobs.CMILib.ItemManager.CMIPotionType; +import com.gamingmesh.jobs.CMILib.ItemReflection; import com.gamingmesh.jobs.commands.Cmd; import com.gamingmesh.jobs.commands.JobCommand; import com.gamingmesh.jobs.container.ActionType; @@ -372,6 +374,9 @@ public class editjobs implements Cmd { ItemStack item = Jobs.getNms().getItemInMainHand(player); key = item.getType().name() + "-" + item.getData().getData(); break; + case "offhand": + item = ItemReflection.getItemInOffHand(player); + key = item.getType().name() + "-" + item.getData().getData(); case "looking": case "lookingat": Block block = Util.getTargetBlock(player, 30); @@ -416,6 +421,7 @@ public class editjobs implements Cmd { case CRAFT: case BREW: case BREAK: + case STRIPLOGS: material = CMIMaterial.get(myKey + (subType)); if (material == null) @@ -442,7 +448,7 @@ public class editjobs implements Cmd { } - c: if (material != null) { + c: if (material != null && material.getMaterial() != null) { // Need to include thos ones and count as regular blocks switch (key.replace("_", "").toLowerCase()) { @@ -463,22 +469,22 @@ public class editjobs implements Cmd { break c; } - if (actionT == ActionType.BREAK || actionT == ActionType.PLACE) { + if (actionT == ActionType.BREAK || actionT == ActionType.PLACE || actionT == ActionType.STRIPLOGS) { if (!material.isBlock()) { - player.sendMessage(ChatColor.GOLD + "Job " + job.getName() + " has an invalid " + actionT.getName() + " type property: " + key - + "! Material must be a block!"); + player.sendMessage(ChatColor.GOLD + "Job " + job.getName() + " has an invalid " + actionT.getName() + " type property: " + material + + "(" + key + ")! Material must be a block!"); break; } } if (material == CMIMaterial.REDSTONE_ORE && actionT == ActionType.BREAK && Version.isCurrentLower(Version.v1_13_R1)) { player.sendMessage(ChatColor.GOLD + "Job " + job.getName() + " is using REDSTONE_ORE instead of GLOWING_REDSTONE_ORE."); - player.sendMessage(ChatColor.GOLD + "Automatically changing block to GLOWING_REDSTONE_ORE. Please update your configuration."); + player.sendMessage(ChatColor.GOLD + "Automatically changing block to GLOWING_REDSTONE_ORE. Please update your configuration."); player.sendMessage(ChatColor.GOLD + "In vanilla minecraft, REDSTONE_ORE changes to GLOWING_REDSTONE_ORE when interacted with."); player.sendMessage(ChatColor.GOLD + "In the future, Jobs using REDSTONE_ORE instead of GLOWING_REDSTONE_ORE may fail to work correctly."); material = CMIMaterial.LEGACY_GLOWING_REDSTONE_ORE; } else if (material == CMIMaterial.LEGACY_GLOWING_REDSTONE_ORE && actionT == ActionType.BREAK && Version.isCurrentEqualOrHigher(Version.v1_13_R1)) { player.sendMessage(ChatColor.GOLD + "Job " + job.getName() + " is using GLOWING_REDSTONE_ORE instead of REDSTONE_ORE."); - player.sendMessage(ChatColor.GOLD + "Automatically changing block to REDSTONE_ORE. Please update your configuration."); + player.sendMessage(ChatColor.GOLD + "Automatically changing block to REDSTONE_ORE. Please update your configuration."); material = CMIMaterial.REDSTONE_ORE; } @@ -487,10 +493,10 @@ public class editjobs implements Cmd { } else if (actionT == ActionType.KILL || actionT == ActionType.TAME || actionT == ActionType.BREED || actionT == ActionType.MILK) { // check entities - EntityType entity = EntityType.fromName(key); + EntityType entity = EntityType.fromName(myKey.toUpperCase()); if (entity == null) { try { - entity = EntityType.valueOf(key.toUpperCase()); + entity = EntityType.valueOf(myKey.toUpperCase()); } catch (IllegalArgumentException e) { } } @@ -504,6 +510,7 @@ public class editjobs implements Cmd { Jobs.getGCManager().setBreederFinder(true); } + if (entity == null) { switch (key.toLowerCase()) { case "skeletonwither": type = CMIEntityType.WITHER_SKELETON.name(); @@ -541,6 +548,7 @@ public class editjobs implements Cmd { meta = "1"; break; } + } } else if (actionT == ActionType.ENCHANT) { Enchantment enchant = Enchantment.getByName(myKey); @@ -553,9 +561,9 @@ public class editjobs implements Cmd { } } type = myKey; - } else if (actionT == ActionType.CUSTOMKILL || actionT == ActionType.SHEAR || actionT == ActionType.MMKILL) { + } else if (actionT == ActionType.CUSTOMKILL || actionT == ActionType.SHEAR || actionT == ActionType.MMKILL) type = myKey; - } else if (actionT == ActionType.EXPLORE) { + else if (actionT == ActionType.EXPLORE) { type = myKey; int amount = 10; try { @@ -566,8 +574,15 @@ public class editjobs implements Cmd { } Jobs.getExplore().setExploreEnabled(); Jobs.getExplore().setPlayerAmount(amount + 1); - } else if (actionT == ActionType.CRAFT && myKey.startsWith("!")) { + } else if (actionT == ActionType.CRAFT && myKey.startsWith("!")) type = myKey.substring(1, myKey.length()); + else if (actionT == ActionType.DRINK) { + type = myKey; + CMIPotionType potion = CMIPotionType.valueOf(myKey); + if (potion != null) { + type = potion.toString(); + id = potion.getId(); + } } if (type == null) { diff --git a/src/main/java/com/gamingmesh/jobs/config/ConfigManager.java b/src/main/java/com/gamingmesh/jobs/config/ConfigManager.java index 8b1db251..cddf38db 100644 --- a/src/main/java/com/gamingmesh/jobs/config/ConfigManager.java +++ b/src/main/java/com/gamingmesh/jobs/config/ConfigManager.java @@ -46,6 +46,7 @@ import com.gamingmesh.jobs.ItemBoostManager; import com.gamingmesh.jobs.Jobs; import com.gamingmesh.jobs.CMILib.ItemManager.CMIEntityType; import com.gamingmesh.jobs.CMILib.ItemManager.CMIMaterial; +import com.gamingmesh.jobs.CMILib.ItemManager.CMIPotionType; import com.gamingmesh.jobs.container.ActionType; import com.gamingmesh.jobs.container.BoostMultiplier; import com.gamingmesh.jobs.container.CurrencyType; @@ -233,7 +234,7 @@ public class ConfigManager { } - c: if (material != null) { + c: if (material != null && material.getMaterial() != null) { // Need to include thos ones and count as regular blocks switch (myKey.replace("_", "").toLowerCase()) { @@ -359,9 +360,9 @@ public class ConfigManager { } } type = myKey; - } else if (actionType == ActionType.CUSTOMKILL || actionType == ActionType.SHEAR || actionType == ActionType.MMKILL) { + } else if (actionType == ActionType.CUSTOMKILL || actionType == ActionType.SHEAR || actionType == ActionType.MMKILL) type = myKey; - } else if (actionType == ActionType.EXPLORE) { + else if (actionType == ActionType.EXPLORE) { type = myKey; int amount = 10; try { @@ -372,13 +373,18 @@ public class ConfigManager { } Jobs.getExplore().setExploreEnabled(); Jobs.getExplore().setPlayerAmount(amount); - } else if (actionType == ActionType.CRAFT && myKey.startsWith("!")) { + } else if (actionType == ActionType.CRAFT && myKey.startsWith("!")) type = myKey.substring(1, myKey.length()); - } else if (actionType == ActionType.DRINK) { + else if (actionType == ActionType.DRINK) { type = myKey; - PotionType potion = PotionType.valueOf(myKey); - if (potion != null) - type = potion.name().toString().replace("_", "").toLowerCase(); + try { + PotionType potion = PotionType.valueOf(myKey); + if (potion != null) + type = potion.name().toString().replace("_", "").toLowerCase(); + } catch (IllegalArgumentException i) { + // Ignoring the not invalid potion + // Jobs.getPluginLogger().warning("Job " + jobKey + " has an invalid potion " + myKey + "!"); + } } if (type == null) { @@ -884,7 +890,7 @@ public class ConfigManager { kv = getKeyValue(sqsection.getString("Target"), actionType, jobName); else if (sqsection.isList("Target")) { for (int i = 0; i < sqsection.getStringList("Target").size(); i++) { - kv = getKeyValue(sqsection.getStringList("Target").get(i), actionType, jobName); + kv = getKeyValue(sqsection.getStringList("Target").get(i), actionType, jobName); } } @@ -1126,9 +1132,9 @@ public class ConfigManager { } } type = myKey; - } else if (actionType == ActionType.CUSTOMKILL || actionType == ActionType.SHEAR || actionType == ActionType.MMKILL) { + } else if (actionType == ActionType.CUSTOMKILL || actionType == ActionType.SHEAR || actionType == ActionType.MMKILL) type = myKey; - } else if (actionType == ActionType.EXPLORE) { + else if (actionType == ActionType.EXPLORE) { type = myKey; int amount = 10; try { @@ -1142,13 +1148,16 @@ public class ConfigManager { } else if (actionType == ActionType.CRAFT && myKey.startsWith("!")) type = myKey.substring(1, myKey.length()); else if (actionType == ActionType.DRINK) { - type = myKey; + // type = myKey; try { - PotionType potion = PotionType.valueOf(myKey); - if (potion != null) - type = potion.name().toString().replace("_", "").toLowerCase(); + CMIPotionType potion = CMIPotionType.getByName(key); + if (potion != null) { + type = potion.toString(); + id = potion.getId(); + } } catch (IllegalArgumentException i) { - Jobs.getPluginLogger().warning("Job" + jobKey + " has an invalid potion " + myKey + "!"); + // Ignoring the not invalid potion + Jobs.getPluginLogger().warning("Job " + jobKey + " has an invalid potion " + key + "!"); } } diff --git a/src/main/java/com/gamingmesh/jobs/config/NameTranslatorManager.java b/src/main/java/com/gamingmesh/jobs/config/NameTranslatorManager.java index a41080a7..03361561 100644 --- a/src/main/java/com/gamingmesh/jobs/config/NameTranslatorManager.java +++ b/src/main/java/com/gamingmesh/jobs/config/NameTranslatorManager.java @@ -13,6 +13,7 @@ import com.gamingmesh.jobs.Jobs; import com.gamingmesh.jobs.CMILib.ConfigReader; import com.gamingmesh.jobs.CMILib.ItemManager.CMIEntityType; import com.gamingmesh.jobs.CMILib.ItemManager.CMIMaterial; +import com.gamingmesh.jobs.CMILib.ItemManager.CMIPotionType; import com.gamingmesh.jobs.container.JobInfo; import com.gamingmesh.jobs.container.NameList; import com.gamingmesh.jobs.stuff.Util; @@ -496,33 +497,24 @@ public class NameTranslatorManager { c.get("ColorList." + cn.getId() + "-" + cn.toString(), name); }*/ - for (CMIMaterial one : CMIMaterial.values()) { - if (one.getMaterial() == null) - continue; - - if (!one.isPotion()) - continue; - - String n = one.getLegacyId() + (one.getLegacyData() == -1 ? "" : ":" + one.getLegacyData()); + for (CMIPotionType one : CMIPotionType.values()) { + String n = String.valueOf(one.getSubId()); String name = null; - if (c.getC().isConfigurationSection("PotionNamesList." + n)) { + if (c.getC().isConfigurationSection("PotionNamesList." + n)) name = c.getC().getString("PotionNamesList." + n + ".Name"); - } if (name == null) { - n = one.getLegacyData() + "-" + one.toString(); - if (c.getC().isConfigurationSection("PotionNamesList." + n)) { + n = n + "-" + one.toString(); + if (c.getC().isConfigurationSection("PotionNamesList." + n)) name = c.getC().getString("PotionNamesList." + n); - } } - if (name == null) { + if (name == null) name = one.getName(); - } - c.get("PotionNamesList." + one.getLegacyData() + "-" + one.toString(), name); + c.get("PotionNamesList." + one.getSubId() + "-" + one.toString(), name); } c.save(); diff --git a/src/main/java/com/gamingmesh/jobs/config/RestrictedAreaManager.java b/src/main/java/com/gamingmesh/jobs/config/RestrictedAreaManager.java index 8bc22b6f..b4b9c849 100644 --- a/src/main/java/com/gamingmesh/jobs/config/RestrictedAreaManager.java +++ b/src/main/java/com/gamingmesh/jobs/config/RestrictedAreaManager.java @@ -22,9 +22,6 @@ public class RestrictedAreaManager { protected HashMap restrictedAreas = new HashMap<>(); - public RestrictedAreaManager() { - } - public boolean isExist(String name) { for (Entry area : restrictedAreas.entrySet()) { if (area.getKey().equalsIgnoreCase(name)) diff --git a/src/main/java/com/gamingmesh/jobs/config/RestrictedBlockManager.java b/src/main/java/com/gamingmesh/jobs/config/RestrictedBlockManager.java index 7b3f24d2..ef83adf9 100644 --- a/src/main/java/com/gamingmesh/jobs/config/RestrictedBlockManager.java +++ b/src/main/java/com/gamingmesh/jobs/config/RestrictedBlockManager.java @@ -13,9 +13,6 @@ public class RestrictedBlockManager { public HashMap restrictedBlocksTimer = new HashMap<>(); - public RestrictedBlockManager() { - } - /** * Method to load the restricted areas configuration * diff --git a/src/main/java/com/gamingmesh/jobs/config/ShopManager.java b/src/main/java/com/gamingmesh/jobs/config/ShopManager.java index 7544d441..de2621b2 100644 --- a/src/main/java/com/gamingmesh/jobs/config/ShopManager.java +++ b/src/main/java/com/gamingmesh/jobs/config/ShopManager.java @@ -34,9 +34,6 @@ public class ShopManager { public List list = new ArrayList<>(); public HashMap GuiList = new HashMap<>(); - public ShopManager() { - } - public List getShopItemList() { return list; } diff --git a/src/main/java/com/gamingmesh/jobs/container/JobConditions.java b/src/main/java/com/gamingmesh/jobs/container/JobConditions.java index 3a26ed8b..1cfe0464 100644 --- a/src/main/java/com/gamingmesh/jobs/container/JobConditions.java +++ b/src/main/java/com/gamingmesh/jobs/container/JobConditions.java @@ -37,7 +37,7 @@ public class JobConditions { int jobLevel = 0; try { jobLevel = Integer.valueOf(one.toLowerCase().replace("j:", "").split("-")[1]); - } catch (Exception e) { + } catch (Throwable e) { continue; } requiresJobs.put(jobName, jobLevel); diff --git a/src/main/java/com/gamingmesh/jobs/dao/JobsMySQL.java b/src/main/java/com/gamingmesh/jobs/dao/JobsMySQL.java index fcf9e3b2..cadec4c1 100644 --- a/src/main/java/com/gamingmesh/jobs/dao/JobsMySQL.java +++ b/src/main/java/com/gamingmesh/jobs/dao/JobsMySQL.java @@ -56,9 +56,8 @@ public class JobsMySQL extends JobsDAO { prest.setString(1, database); prest.setString(2, getPrefix() + "config"); res = prest.executeQuery(); - if (res.next()) { + if (res.next()) rows = res.getInt(1); - } } finally { close(res); close(prest); @@ -131,10 +130,10 @@ public class JobsMySQL extends JobsDAO { statement.close(); } catch (SQLException e) { Jobs.consoleMsg("&cCould not create table, SQLException: " + e.getMessage()); - this.close(statement); + close(statement); return false; } finally { - this.close(statement); + close(statement); } return true; } @@ -176,7 +175,7 @@ public class JobsMySQL extends JobsDAO { return false; } catch (SQLException e) { Jobs.consoleMsg("Not a table |" + "SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME ='" + table + "';" + "|"); - JobsDAO.close(statement); + close(statement); return false; } } diff --git a/src/main/java/com/gamingmesh/jobs/dao/JobsSQLite.java b/src/main/java/com/gamingmesh/jobs/dao/JobsSQLite.java index 163f14cc..73c335a6 100644 --- a/src/main/java/com/gamingmesh/jobs/dao/JobsSQLite.java +++ b/src/main/java/com/gamingmesh/jobs/dao/JobsSQLite.java @@ -11,8 +11,6 @@ import com.gamingmesh.jobs.Jobs; import com.gamingmesh.jobs.dao.JobsManager.DataBaseType; public class JobsSQLite extends JobsDAO { - @SuppressWarnings("unused") - private Jobs plugin; public void initialize() { try { @@ -22,8 +20,7 @@ public class JobsSQLite extends JobsDAO { } } - public JobsSQLite initialize(Jobs plugin, File dir) { - this.plugin = plugin; + public JobsSQLite initialize(File dir) { if (!dir.exists()) dir.mkdirs(); try { diff --git a/src/main/java/com/gamingmesh/jobs/economy/PointsData.java b/src/main/java/com/gamingmesh/jobs/economy/PointsData.java index 3c630a30..1111b06b 100644 --- a/src/main/java/com/gamingmesh/jobs/economy/PointsData.java +++ b/src/main/java/com/gamingmesh/jobs/economy/PointsData.java @@ -10,9 +10,6 @@ public class PointsData { private HashMap Pointbase = new HashMap<>(); - public PointsData() { - } - public HashMap getPointBase() { return Pointbase; } diff --git a/src/main/java/com/gamingmesh/jobs/listeners/JobsPaymentListener.java b/src/main/java/com/gamingmesh/jobs/listeners/JobsPaymentListener.java index b3046a5e..f9abdda9 100644 --- a/src/main/java/com/gamingmesh/jobs/listeners/JobsPaymentListener.java +++ b/src/main/java/com/gamingmesh/jobs/listeners/JobsPaymentListener.java @@ -78,6 +78,7 @@ import org.bukkit.inventory.AnvilInventory; import org.bukkit.inventory.EnchantingInventory; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; +import org.bukkit.inventory.meta.PotionMeta; import org.bukkit.metadata.FixedMetadataValue; import org.bukkit.metadata.MetadataValue; import org.bukkit.projectiles.ProjectileSource; @@ -774,29 +775,25 @@ public class JobsPaymentListener implements Listener { if (resultStack == null) return; - if (inv.getItem(1).getType() != Material.ENCHANTED_BOOK) { - // Checking if this is only item rename - ItemStack FirstSlot = null; - try { - FirstSlot = inv.getItem(0); - } catch (NullPointerException e) { - return; - } - if (FirstSlot == null) - return; - - String OriginalName = null; - String NewName = null; - if (FirstSlot.hasItemMeta()) - if (FirstSlot.getItemMeta().getDisplayName() != null) - OriginalName = FirstSlot.getItemMeta().getDisplayName(); - if (resultStack.hasItemMeta()) - if (resultStack.getItemMeta().getDisplayName() != null) - NewName = resultStack.getItemMeta().getDisplayName(); - if (OriginalName != NewName && inv.getItem(1) == null) - if (!Jobs.getGCManager().PayForRenaming) - return; + // Checking if this is only item rename + ItemStack FirstSlot = null; + try { + FirstSlot = inv.getItem(0); + } catch (NullPointerException e) { + return; } + if (FirstSlot == null) + return; + + String OriginalName = null; + String NewName = null; + if (FirstSlot.hasItemMeta() && FirstSlot.getItemMeta().getDisplayName() != null) + OriginalName = FirstSlot.getItemMeta().getDisplayName(); + if (resultStack.hasItemMeta() && resultStack.getItemMeta().getDisplayName() != null) + NewName = resultStack.getItemMeta().getDisplayName(); + if (OriginalName != NewName && inv.getItem(1) == null) + if (!Jobs.getGCManager().PayForRenaming) + return; // Check for world permissions if (!Jobs.getPermissionHandler().hasWorldPermission(player, player.getLocation().getWorld().getName())) @@ -1593,8 +1590,15 @@ public class JobsPaymentListener implements Listener { if (jPlayer == null) return; + if (event.getItem().getType() != Material.POTION) + return; + // Player drinking a potion - Jobs.action(jPlayer, new PotionDrinkInfo(Jobs.getNms().getItemInMainHand(p), ActionType.DRINK)); + PotionMeta meta = (PotionMeta) event.getItem().getItemMeta(); + if (meta == null) + return; + + Jobs.action(jPlayer, new PotionDrinkInfo(meta.getBasePotionData().getType(), ActionType.DRINK)); } @EventHandler diff --git a/src/main/java/com/gamingmesh/jobs/listeners/PistonProtectionListener.java b/src/main/java/com/gamingmesh/jobs/listeners/PistonProtectionListener.java index 45200be4..30c0d0c7 100644 --- a/src/main/java/com/gamingmesh/jobs/listeners/PistonProtectionListener.java +++ b/src/main/java/com/gamingmesh/jobs/listeners/PistonProtectionListener.java @@ -13,9 +13,6 @@ import com.gamingmesh.jobs.Jobs; public class PistonProtectionListener implements Listener { - public PistonProtectionListener() { - } - @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void OnBlockMove(BlockPistonExtendEvent event) { diff --git a/src/main/java/com/gamingmesh/jobs/stuff/TabComplete.java b/src/main/java/com/gamingmesh/jobs/stuff/TabComplete.java index ea1feb8b..d3f247d7 100644 --- a/src/main/java/com/gamingmesh/jobs/stuff/TabComplete.java +++ b/src/main/java/com/gamingmesh/jobs/stuff/TabComplete.java @@ -22,9 +22,6 @@ import com.gamingmesh.jobs.container.JobProgression; import com.gamingmesh.jobs.container.JobsPlayer; public class TabComplete implements TabCompleter { - public TabComplete() { - Debug.D("created tab complete"); - } @Override public List onTabComplete(CommandSender sender, Command command, String label, String[] args) { diff --git a/src/main/resources/jobConfig.yml b/src/main/resources/jobConfig.yml index b67f19e9..8ff84ccf 100644 --- a/src/main/resources/jobConfig.yml +++ b/src/main/resources/jobConfig.yml @@ -227,13 +227,13 @@ Jobs: experience: 1.0 # payment for drinking a potion Drink: - potion: + water: income: 0.5 experience: 2.0 - potion_regeneration_2: + regeneration_2: income: 1.3 experience: 2.0 - potion_healing_1: + healing_1: income: 1.4 experience: 2.0 # payment for breaking a block with tnt