diff --git a/pom.xml b/pom.xml
index eeb1ea54..ddf9cce8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
4.0.0
Jobs
jobs
- 4.9.2
+ 4.9.3
Jobs
http://maven.apache.org
@@ -64,9 +64,9 @@
io.lumine.xikage.mythicmobs
MythicMobs
- 4.1.0
+ 4.5.0
system
- ${basedir}/libs/MythicMobs-4.1.0.jar
+ ${basedir}/libs/MythicMobs-4.5.0.jar
@@ -154,14 +154,14 @@
1.7
-
-
-
-
-
-
-
-
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ 2.3.1
+
+ C:\Users\Arte\Desktop\Server 1.13\plugins
+
+
diff --git a/src/main/java/com/gamingmesh/jobs/CMILib/ItemManager.java b/src/main/java/com/gamingmesh/jobs/CMILib/ItemManager.java
index 3436df69..0b3d0f4e 100644
--- a/src/main/java/com/gamingmesh/jobs/CMILib/ItemManager.java
+++ b/src/main/java/com/gamingmesh/jobs/CMILib/ItemManager.java
@@ -21,7 +21,6 @@ import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.Recipe;
import org.bukkit.inventory.meta.SkullMeta;
-import com.gamingmesh.jobs.Jobs;
import com.gamingmesh.jobs.CMILib.VersionChecker.Version;
public class ItemManager {
@@ -30,7 +29,6 @@ public class ItemManager {
static HashMap byBukkitName = new HashMap<>();
static HashMap byMojangName = new HashMap<>();
static HashMap byMaterial = new HashMap<>();
- private final static Version version = Jobs.getVersionCheckManager().getVersion();
@SuppressWarnings("deprecation")
public static void load() {
@@ -1222,50 +1220,44 @@ public class ItemManager {
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, 24020, "Turtle Master Potion"),
- POTION_TURTLE_MASTER_2(-1, -1, 24020, "Turtle Master Potion 2"),
- POTION_TURTLE_MASTER_3(-1, -1, 24020, "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"),
+ POTION(373, 0, 24020, "Potion"),
+ AWKWARD_POTION(373, 16, 24020, "Awkard Potion"),
+ THICK_POTION(373, 32, 24020, "Thick Potion"),
+ MUNDANE_POTION(373, 64, 24020, "Mundane Potion"),
+ REGENERATION_POTION(373, 8193, 24020, "Regeneration Potion"),
+ SWIFTNESS_POTION(373, 8194, 24020, "Swiftness Potion"),
+ FIRE_RESISTANCE_POTION(373, 8195, 24020, "Fire Resistance Potion"),
+ POISON_POTION(373, 8196, 24020, "Poison Potion"),
+ HEALING_POTION(373, 8197, 24020, "Healing Potion"),
+ NIGHT_VISION_POTION(373, 8198, 24020, "Night Vision Potion"),
+ WEAKNESS_POTION(373, 8200, 24020, "Weakness Potion"),
+ STRENGTH_POTION(373, 8201, 24020, "Strenght Potion"),
+ SLOWNESS_POTION(373, 8202, 24020, "Slowness Potion"),
+ HARMING_POTION(373, 8204, 24020, "Harming Potion"),
+ WATER_BREATHING_POTION(373, 8205, 24020, "Water Breathing Potion"),
+ INVISIBILITY_POTION(373, 8206, 24020, "Invisibility Potion"),
+ REGENERATION_POTION2(373, 8225, 24020, "Regeneration Potion"),
+ SWIFTNESS_POTION2(373, 8226, 24020, "Swiftness Potion2"),
+ POISON_POTION2(373, 8228, 24020, "Poison Potion2"),
+ HEALING_POTION2(373, 8229, 24020, "Healing Potion2"),
+ STRENGTH_POTION2(373, 8233, 24020, "Strength Potion2"),
+ LEAPING_POTION2(373, 8235, 24020, "Leaping Potion2"),
+ HARMING_POTION2(373, 8236, 24020, "Harming Potion2"),
+ REGENERATION_POTION3(373, 8257, 24020, "Regeneration Potion3"),
+ SWIFTNESS_POTION3(373, 8258, 24020, "Swiftness Potion3"),
+ FIRE_RESISTANCE_POTION3(373, 8259, 24020, "Fire Resistance potion3"),
+ POISON_POTION3(373, 8260, 24020, "Poison Potion3"),
+ NIGHT_VISION_POTION2(373, 8262, 24020, "Night Vision Potion2"),
+ WEAKNESS_POTION2(373, 8264, 24020, "Weakness Potion2"),
+ STRENGTH_POTION3(373, 8265, 24020, "Strength Potion3"),
+ SLOWNESS_POTION2(373, 8266, 24020, "Slowness Potion2"),
+ LEAPING_POTION3(373, 8267, 24020, "Leaping Potion3"),
+ WATER_BREATHING_POTION2(373, 8269, 24020, "Water Breathing Potion2"),
+ INVISIBILITY_POTION2(373, 8270, 24020, "Invisibility Potion2"),
+ REGENERATION_POTION4(373, 8289, 24020, "Regeneration Potion4"),
+ SWIFTNESS_POTION4(373, 8290, 24020, "Swiftness Potion4"),
+ POISON_POTION4(373, 8292, 24020, "Poison Potion4"),
+ STRENGTH_POTION4(373, 8297, 24020, "Strength Potion4"),
POTTED_ACACIA_SAPLING(-1, -1, 14096, "Potted Acacia Sapling"),
POTTED_ALLIUM(-1, -1, 13184, "Potted Allium"),
@@ -1538,40 +1530,39 @@ public class ItemManager {
LEGACY_STATIONARY_WATER(9, 0, -1, "Stationary Water"),
LEGACY_STATIONARY_LAVA(11, 0, -1, "Stationary Lava"),
LEGACY_BURNING_FURNACE(62, 0, -1, "Burning Furnace"),
- LEGACY_NETHER_WARTS(115, -1, -1, "Nether Warts"),
+ LEGACY_NETHER_WARTS(115, 0, -1, "Nether Warts"),
LEGACY_IRON_DOOR_BLOCK(71, 0, -1, "Iron Door Block"),
LEGACY_GLOWING_REDSTON_ORE(74, 0, -1, "Glowing Redstone Ore"),
- LEGACY_SUGAR_CANE_BLOCK(83, -1, -1, "Sugar Cane Block"),
+ LEGACY_SUGAR_CANE_BLOCK(83, 0, -1, "Sugar Cane Block"),
LEGACY_RAW_FISH(349, 0, -1, "Raw Fish"),
LEGACY_SKULL(144, 0, -1, "Skull"),
-
-// LEGACY_SIGN_POST(63, -1, -1, "Sign Post", ""),
-// LEGACY_REDSTONE_TORCH_OFF(75, -1, -1, "LEGACY_REDSTONE_TORCH_OFF", ""),
-// LEGACY_CAKE_BLOCK(92, -1, -1, "LEGACY_CAKE_BLOCK", ""),
+ LEGACY_SIGN_POST(63, 0, -1, "Sign Post"),
+ LEGACY_BED_BLOCK(26, 0, -1, "Bed Block"),
+ LEGACY_REDSTONE_TORCH_OFF(75, 0, -1, "Redstone Torch Off"),
+ LEGACY_CAKE_BLOCK(92, 0, -1, "Cake Block"),
LEGACY_DIODE_BLOCK_OFF(93, 0, -1, "Diode Block Off"),
LEGACY_DIODE_BLOCK_ON(94, 0, -1, "Diode Block On"),
// LEGACY_BREWING_STAND(117, -1, -1, "LEGACY_BREWING_STAND", ""),
-// LEGACY_CAULDRON(118, -1, -1, "LEGACY_CAULDRON", ""),
+// LEGACY_CAULDRON(118, 0, -1, "LEGACY_CAULDRON", ""),
// LEGACY_REDSTONE_LAMP_ON(124, -1, -1, "LEGACY_REDSTONE_LAMP_ON", ""),
// LEGACY_WOOD_DOUBLE_STEP(125, -1, -1, "LEGACY_WOOD_DOUBLE_STEP", ""),
// LEGACY_FLOWER_POT(140, -1, -1, "LEGACY_FLOWER_POT", ""),
- LEGACY_REDSTONE_COMPARATOR_OFF(149, 0, -1, "Redstone Comparator Off"),
- LEGACY_REDSTONE_COMPARATOR_ON(150, 0, -1, "Redstone Comparator On"),
+ LEGACY_REDSTONE_COMPARATOR_OFF(149, 0, -1, "Redstone Comparator Off", ""),
+ LEGACY_REDSTONE_COMPARATOR_ON(150, 0, -1, "Redstone Comparator On", ""),
// LEGACY_STANDING_BANNER(176, -1, -1, "LEGACY_STANDING_BANNER", ""),
// LEGACY_WALL_BANNER(177, -1, -1, "LEGACY_WALL_BANNER", ""),
// LEGACY_DAYLIGHT_DETECTOR_INVERTED(178, -1, -1, "LEGACY_DAYLIGHT_DETECTOR_INVERTED", ""),
// LEGACY_DOUBLE_STONE_SLAB2(181, -1, -1, "LEGACY_DOUBLE_STONE_SLAB2", ""),
-// LEGACY_PURPUR_DOUBLE_SLAB(204, -1, -1, "LEGACY_PURPUR_DOUBLE_SLAB", ""),
-// LEGACY_COMMAND_REPEATING(210, -1, -1, "LEGACY_COMMAND_REPEATING", ""),
-// LEGACY_COMMAND_CHAIN(211, -1, -1, "LEGACY_COMMAND_CHAIN", ""),
-
LEGACY_WOODEN_DOOR_BLOCK(64, 0, -1, "Wooden Door Block"),
LEGACY_SPRUCE_DOOR(193, 0, -1, "Spruce Door Block"),
LEGACY_BIRCH_DOOR(194, 0, -1, "Birch Door Block"),
LEGACY_JUNGLE_DOOR(195, 0, -1, "Jungle Door Block"),
LEGACY_ACACIA_DOOR(196, 0, -1, "Acacia Door Block"),
LEGACY_DARK_OAK_DOOR(197, 0, -1, "Dark Oak Door Block"),
- LEGACY_WHEAT(59, 0, -1, "Wheat Block", "Crops");
+// LEGACY_PURPUR_DOUBLE_SLAB(204, -1, -1, "LEGACY_PURPUR_DOUBLE_SLAB", ""),
+// LEGACY_COMMAND_REPEATING(210, -1, -1, "LEGACY_COMMAND_REPEATING", ""),
+// LEGACY_COMMAND_CHAIN(211, -1, -1, "LEGACY_COMMAND_CHAIN", ""),
+ LEGACY_WHEAT(59, 0, -1, "Wheat Block");
private int legacyId;
private int legacyData;
@@ -1599,12 +1590,12 @@ public class ItemManager {
}
public int getLegacyId() {
- return legacyId;
+ return this.legacyId;
}
public int getId() {
- if (version.isEqualOrHigher(Version.v1_13_R1)) {
- return id;
+ if (Version.isCurrentEqualOrHigher(Version.v1_13_R1)) {
+ return this.id;
}
return getLegacyId();
}
@@ -1613,7 +1604,6 @@ public class ItemManager {
return mat == null ? null : mat;
}
- @SuppressWarnings("deprecation")
public void updateMaterial() {
if (mat == null) {
for (Material one : Material.class.getEnumConstants()) {
@@ -1653,7 +1643,6 @@ public class ItemManager {
return newItemStack(1);
}
- @SuppressWarnings("deprecation")
public ItemStack newItemStack(int amount) {
if (mat == null) {
for (Material one : Material.class.getEnumConstants()) {
@@ -1663,21 +1652,19 @@ public class ItemManager {
break;
}
}
- if (version.isEqualOrHigher(Version.v1_13_R1)) {
+ if (Version.isCurrentEqualOrHigher(Version.v1_13_R1)) {
ItemStack stack = new ItemStack(mat == null ? Material.STONE : mat);
stack.setAmount(amount);
return stack;
}
-
ItemStack stack = new ItemStack(mat == null ? Material.STONE : mat, 1, (short) this.getLegacyData());
stack.setAmount(amount);
return stack;
-
}
@Deprecated
public short getData() {
- if (version.isEqualOrHigher(Version.v1_13_R1)) {
+ if (Version.isCurrentEqualOrHigher(Version.v1_13_R1)) {
return 0;
}
return (short) legacyData;
@@ -1689,7 +1676,7 @@ public class ItemManager {
public static CMIMaterial getRandom(CMIMaterial mat) {
- List ls = new ArrayList<>();
+ List ls = new ArrayList();
for (CMIMaterial one : CMIMaterial.values()) {
if (one.getLegacyId() == -1)
@@ -1715,10 +1702,30 @@ public class ItemManager {
return ls.isEmpty() ? CMIMaterial.NONE : ls.get(0);
}
+ public CMIMaterial getByColorId(int id) {
+ return getByColorId(this, id);
+ }
+
+ public static CMIMaterial getByColorId(CMIMaterial mat, int id) {
+ if (mat == null)
+ return CMIMaterial.NONE;
+ for (CMIMaterial one : CMIMaterial.values()) {
+ if (one.getLegacyId() == -1)
+ continue;
+ if (one.getLegacyId() != mat.getLegacyId())
+ continue;
+ if (one.getLegacyData() == id)
+ return one;
+ }
+
+ return mat;
+ }
+
public static CMIMaterial get(String id) {
+ if (id == null)
+ return CMIMaterial.NONE;
Integer ids = null;
Integer data = null;
-
id = id.replace("_", "").replace(" ", "").toLowerCase();
try {
ids = Integer.parseInt(id);
@@ -1798,18 +1805,13 @@ public class ItemManager {
return one;
if (one.getName().replace("_", "").replace(" ", "").equalsIgnoreCase(id))
return one;
-
}
- for (CMIMaterial one : CMIMaterial.values()) {
- if (one.name().replace("_", "").toLowerCase().endsWith(id))
- return one;
- }
-
return CMIMaterial.NONE;
}
- @SuppressWarnings("deprecation")
public static CMIMaterial get(Material mat) {
+ if (mat == null)
+ return CMIMaterial.NONE;
for (CMIMaterial one : CMIMaterial.values()) {
if (one.getMaterial() == null)
continue;
@@ -1820,7 +1822,6 @@ public class ItemManager {
return CMIMaterial.NONE;
}
- @SuppressWarnings("deprecation")
public static CMIMaterial get(int id) {
for (CMIMaterial one : CMIMaterial.values()) {
if (one.getMaterial() == null)
@@ -1838,12 +1839,13 @@ public class ItemManager {
}
public static CMIMaterial get(ItemStack item) {
+ if (item == null)
+ return CMIMaterial.NONE;
// if (CMIMaterial.isMonsterEgg(item.getType())) {
// int tid = CMI.getInstance().getNMS().getEggId(item);
// return get(item.getType().getId(), tid);
// }
- @SuppressWarnings("deprecation")
- CMIMaterial m = get(item.getType().getId(), item.getData().getData());
+ CMIMaterial m = Version.isCurrentEqualOrHigher(Version.v1_13_R1) ? get(item.getType().getId()) : get(item.getType().getId(), item.getData().getData());
if (m == null) {
CMIItemStack cm = byBukkitName.get(item.getType().toString().toLowerCase().replace("_", ""));
@@ -1854,13 +1856,15 @@ public class ItemManager {
return m == null ? CMIMaterial.NONE : m;
}
- @SuppressWarnings("deprecation")
public static CMIMaterial get(Block block) {
+ if (block == null)
+ return CMIMaterial.NONE;
byte data = block.getData();
if (block.getState() instanceof Skull) {
Skull skull = (Skull) block.getState();
data = (byte) skull.getSkullType().ordinal();
}
+
CMIMaterial m = get(block.getType().getId(), data);
if (m == null) {
CMIItemStack cm = byBukkitName.get(block.getType().toString().replace("_", "").toLowerCase());
@@ -2032,6 +2036,96 @@ public class ItemManager {
return false;
}
+ public static boolean isStairs(Material mat) {
+ CMIMaterial m = CMIMaterial.get(mat);
+ if (m == null)
+ return false;
+ return m.isStairs();
+ }
+
+ public boolean isStairs() {
+ switch (this) {
+ case ACACIA_STAIRS:
+ case BIRCH_STAIRS:
+ case BRICK_STAIRS:
+ case COBBLESTONE_STAIRS:
+ case DARK_OAK_STAIRS:
+ case DARK_PRISMARINE_STAIRS:
+ case JUNGLE_STAIRS:
+ case NETHER_BRICK_STAIRS:
+ case OAK_STAIRS:
+ case PRISMARINE_BRICK_STAIRS:
+ case PRISMARINE_STAIRS:
+ case PURPUR_STAIRS:
+ case QUARTZ_STAIRS:
+ case RED_SANDSTONE_STAIRS:
+ case SANDSTONE_STAIRS:
+ case SPRUCE_STAIRS:
+ case STONE_BRICK_STAIRS:
+ return true;
+ default:
+ break;
+ }
+ 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 POTION:
+ case LINGERING_POTION:
+ case SPLASH_POTION:
+
+ case AWKWARD_POTION:
+ case THICK_POTION:
+ case MUNDANE_POTION:
+ case REGENERATION_POTION:
+ case SWIFTNESS_POTION:
+ case FIRE_RESISTANCE_POTION:
+ case POISON_POTION:
+ case HEALING_POTION:
+ case NIGHT_VISION_POTION:
+ case WEAKNESS_POTION:
+ case STRENGTH_POTION:
+ case SLOWNESS_POTION:
+ case HARMING_POTION:
+ case WATER_BREATHING_POTION:
+ case INVISIBILITY_POTION:
+ case REGENERATION_POTION2:
+ case SWIFTNESS_POTION2:
+ case POISON_POTION2:
+ case HEALING_POTION2:
+ case STRENGTH_POTION2:
+ case LEAPING_POTION2:
+ case HARMING_POTION2:
+ case REGENERATION_POTION3:
+ case SWIFTNESS_POTION3:
+ case FIRE_RESISTANCE_POTION3:
+ case POISON_POTION3:
+ case NIGHT_VISION_POTION2:
+ case WEAKNESS_POTION2:
+ case STRENGTH_POTION3:
+ case SLOWNESS_POTION2:
+ case LEAPING_POTION3:
+ case WATER_BREATHING_POTION2:
+ case INVISIBILITY_POTION2:
+ case REGENERATION_POTION4:
+ case SWIFTNESS_POTION4:
+ case POISON_POTION4:
+ case STRENGTH_POTION4:
+ return true;
+ default:
+ break;
+ }
+ return false;
+ }
+
public static boolean isBoat(Material mat) {
CMIMaterial m = CMIMaterial.get(mat);
if (m == null)
@@ -2130,66 +2224,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 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 isWool(Material mat) {
CMIMaterial m = CMIMaterial.get(mat);
if (m == null)
@@ -2222,6 +2256,38 @@ public class ItemManager {
return false;
}
+ public static boolean isCarpet(Material mat) {
+ CMIMaterial m = CMIMaterial.get(mat);
+ if (m == null)
+ return false;
+ return m.isCarpet();
+ }
+
+ public boolean isCarpet() {
+ switch (this) {
+ case BLACK_CARPET:
+ case BLUE_CARPET:
+ case BROWN_CARPET:
+ case CYAN_CARPET:
+ case GRAY_CARPET:
+ case GREEN_CARPET:
+ case LIGHT_BLUE_CARPET:
+ case LIGHT_GRAY_CARPET:
+ case LIME_CARPET:
+ case MAGENTA_CARPET:
+ case ORANGE_CARPET:
+ case PINK_CARPET:
+ case PURPLE_CARPET:
+ case RED_CARPET:
+ case WHITE_CARPET:
+ case YELLOW_CARPET:
+ return true;
+ default:
+ break;
+ }
+ return false;
+ }
+
public static boolean isShulkerBox(Material mat) {
CMIMaterial m = CMIMaterial.get(mat);
if (m == null)
@@ -2255,6 +2321,26 @@ public class ItemManager {
return false;
}
+ public static boolean isLeatherArmor(Material mat) {
+ CMIMaterial m = CMIMaterial.get(mat);
+ if (m == null)
+ return false;
+ return m.isLeatherArmor();
+ }
+
+ public boolean isLeatherArmor() {
+ switch (this) {
+ case LEATHER_BOOTS:
+ case LEATHER_CHESTPLATE:
+ case LEATHER_HELMET:
+ case LEATHER_LEGGINGS:
+ return true;
+ default:
+ break;
+ }
+ return false;
+ }
+
public static boolean isAir(Material mat) {
CMIMaterial m = CMIMaterial.get(mat);
if (m == null)
@@ -2285,6 +2371,14 @@ public class ItemManager {
switch (this) {
case OAK_DOOR:
case IRON_DOOR:
+
+ case LEGACY_SPRUCE_DOOR:
+ case LEGACY_BIRCH_DOOR:
+ case LEGACY_JUNGLE_DOOR:
+ case LEGACY_ACACIA_DOOR:
+ case LEGACY_DARK_OAK_DOOR:
+ case LEGACY_WOODEN_DOOR_BLOCK:
+
// case SPRUCE_DOOR_ITEM:
// case BIRCH_DOOR_ITEM:
// case JUNGLE_DOOR_ITEM:
@@ -2327,6 +2421,99 @@ public class ItemManager {
return false;
}
+ public static boolean isFence(Material mat) {
+ CMIMaterial m = CMIMaterial.get(mat);
+ if (m == null)
+ return false;
+ return m.isFence();
+ }
+
+ public boolean isFence() {
+ switch (this) {
+ case ACACIA_FENCE:
+ case BIRCH_FENCE:
+ case DARK_OAK_FENCE:
+ case JUNGLE_FENCE:
+ case NETHER_BRICK_FENCE:
+ case OAK_FENCE:
+ case SPRUCE_FENCE:
+ return true;
+ default:
+ break;
+ }
+ return false;
+ }
+
+ public static boolean isGlassPane(Material mat) {
+ CMIMaterial m = CMIMaterial.get(mat);
+ if (m == null)
+ return false;
+ return m.isGlassPane();
+ }
+
+ public boolean isGlassPane() {
+ switch (this) {
+ case BLACK_STAINED_GLASS_PANE:
+ case BLUE_STAINED_GLASS_PANE:
+ case BROWN_STAINED_GLASS_PANE:
+ case CYAN_STAINED_GLASS_PANE:
+ case GRAY_STAINED_GLASS_PANE:
+ case GREEN_STAINED_GLASS_PANE:
+ case LIGHT_BLUE_STAINED_GLASS_PANE:
+ case LIGHT_GRAY_STAINED_GLASS_PANE:
+ case LIME_STAINED_GLASS_PANE:
+ case MAGENTA_STAINED_GLASS_PANE:
+ case ORANGE_STAINED_GLASS_PANE:
+ case PINK_STAINED_GLASS_PANE:
+ case PURPLE_STAINED_GLASS_PANE:
+ case RED_STAINED_GLASS_PANE:
+ case WHITE_STAINED_GLASS_PANE:
+ case YELLOW_STAINED_GLASS_PANE:
+ case GLASS_PANE:
+ return true;
+ default:
+ break;
+ }
+ return false;
+ }
+
+ public static boolean isSign(Material mat) {
+ CMIMaterial m = CMIMaterial.get(mat);
+ if (m == null)
+ return false;
+ return m.isSign();
+ }
+
+ public boolean isSign() {
+ switch (this) {
+ case SIGN:
+ case WALL_SIGN:
+ case LEGACY_SIGN_POST:
+ return true;
+ default:
+ break;
+ }
+ return false;
+ }
+
+ public static boolean isWall(Material mat) {
+ CMIMaterial m = CMIMaterial.get(mat);
+ if (m == null)
+ return false;
+ return m.isWall();
+ }
+
+ public boolean isWall() {
+ switch (this) {
+ case COBBLESTONE_WALL:
+ case MOSSY_COBBLESTONE_WALL:
+ return true;
+ default:
+ break;
+ }
+ return false;
+ }
+
public static boolean isTrapDoor(Material mat) {
CMIMaterial m = CMIMaterial.get(mat);
if (m == null)
@@ -2392,17 +2579,13 @@ public class ItemManager {
case CYAN_DYE:
case LIGHT_GRAY_DYE:
case GRAY_DYE:
- case BLACK_DYE:
case PINK_DYE:
- case BLUE_DYE:
- case BROWN_DYE:
case LIME_DYE:
case DANDELION_YELLOW:
case LIGHT_BLUE_DYE:
case MAGENTA_DYE:
case ORANGE_DYE:
case BONE_MEAL:
- case WHITE_DYE:
return true;
default:
break;
@@ -2455,26 +2638,25 @@ public class ItemManager {
return false;
}
- @SuppressWarnings("deprecation")
public static SlabType getSlabType(Block block) {
if (!isSlab(block.getType()))
return SlabType.NOTSLAB;
+
if (Version.isCurrentEqualOrHigher(Version.v1_13_R1)) {
if (block.getBlockData() instanceof org.bukkit.block.data.type.Slab) {
org.bukkit.block.data.type.Slab slab = (org.bukkit.block.data.type.Slab) block.getBlockData();
- org.bukkit.block.data.type.Slab.Type t = slab.getType();
- switch (t.toString()) {
- case "TOP":
+ switch (slab.getType()) {
+ case TOP:
return SlabType.TOP;
- case "BOTTOM":
+ case BOTTOM:
return SlabType.BOTTOM;
- case "DOUBLE":
+ case DOUBLE:
return SlabType.DOUBLE;
}
+
}
return SlabType.NOTSLAB;
}
-
if (block.getType().name().contains("STEP")) {
switch (CMIMaterial.get(block).getLegacyId()) {
case 44:
@@ -2519,6 +2701,7 @@ public class ItemManager {
}
}
}
+
return SlabType.NOTSLAB;
}
diff --git a/src/main/java/com/gamingmesh/jobs/commands/list/explored.java b/src/main/java/com/gamingmesh/jobs/commands/list/explored.java
index 20a8a2f4..5b60f530 100644
--- a/src/main/java/com/gamingmesh/jobs/commands/list/explored.java
+++ b/src/main/java/com/gamingmesh/jobs/commands/list/explored.java
@@ -29,7 +29,7 @@ public class explored implements Cmd {
if (!worlds.containsKey(world.getName())) {
sender.sendMessage(Jobs.getLanguage().getMessage("command.explored.error.noexplore"));
- return false;
+ return true;
}
ExploreRegion regions = worlds.get(world.getName());
diff --git a/src/main/java/com/gamingmesh/jobs/container/ExploreChunk.java b/src/main/java/com/gamingmesh/jobs/container/ExploreChunk.java
index adb80bc4..ebb18685 100644
--- a/src/main/java/com/gamingmesh/jobs/container/ExploreChunk.java
+++ b/src/main/java/com/gamingmesh/jobs/container/ExploreChunk.java
@@ -8,9 +8,9 @@ import com.gamingmesh.jobs.Jobs;
public class ExploreChunk {
- private int x;
- private int z;
- private Set playerNames = new HashSet<>();
+ private int x;
+ private int z;
+ private Set playerNames = new HashSet<>();
private Integer dbId = null;
private boolean updated = false;
diff --git a/src/main/java/com/gamingmesh/jobs/container/ExploreRegion.java b/src/main/java/com/gamingmesh/jobs/container/ExploreRegion.java
index e5070770..e3553e08 100644
--- a/src/main/java/com/gamingmesh/jobs/container/ExploreRegion.java
+++ b/src/main/java/com/gamingmesh/jobs/container/ExploreRegion.java
@@ -6,9 +6,9 @@ import org.bukkit.Chunk;
public class ExploreRegion {
- int x;
- int z;
- private HashMap chunks = new HashMap<>();
+ int x;
+ int z;
+ private HashMap chunks = new HashMap<>();
public ExploreRegion(int x, int z) {
this.x = x;
diff --git a/src/main/java/com/gamingmesh/jobs/container/ExploreRespond.java b/src/main/java/com/gamingmesh/jobs/container/ExploreRespond.java
index cd860405..b55c642c 100644
--- a/src/main/java/com/gamingmesh/jobs/container/ExploreRespond.java
+++ b/src/main/java/com/gamingmesh/jobs/container/ExploreRespond.java
@@ -2,8 +2,8 @@ package com.gamingmesh.jobs.container;
public class ExploreRespond {
- private int count;
- private boolean newChunk = false;
+ private int count;
+ private boolean newChunk = false;
public ExploreRespond(int count, boolean newChunk) {
this.count = count;
diff --git a/src/main/java/com/gamingmesh/jobs/listeners/JobsListener.java b/src/main/java/com/gamingmesh/jobs/listeners/JobsListener.java
index 891fa00b..e76f065e 100644
--- a/src/main/java/com/gamingmesh/jobs/listeners/JobsListener.java
+++ b/src/main/java/com/gamingmesh/jobs/listeners/JobsListener.java
@@ -81,6 +81,7 @@ import com.gamingmesh.jobs.container.JobProgression;
import com.gamingmesh.jobs.container.JobsArmorChangeEvent;
import com.gamingmesh.jobs.container.JobsArmorChangeEvent.EquipMethod;
import com.gamingmesh.jobs.container.JobsPlayer;
+import com.gamingmesh.jobs.stuff.Debug;
import com.gamingmesh.jobs.stuff.Util;
public class JobsListener implements Listener {
@@ -728,7 +729,6 @@ public class JobsListener implements Listener {
public void onChunkChangeMove(PlayerMoveEvent event) {
if (event.isCancelled())
return;
-
if (event.getPlayer() == null || !event.getPlayer().isOnline())
return;
diff --git a/src/main/java/com/gamingmesh/jobs/listeners/JobsPaymentListener.java b/src/main/java/com/gamingmesh/jobs/listeners/JobsPaymentListener.java
index 5f22ac9e..73c2d589 100644
--- a/src/main/java/com/gamingmesh/jobs/listeners/JobsPaymentListener.java
+++ b/src/main/java/com/gamingmesh/jobs/listeners/JobsPaymentListener.java
@@ -241,18 +241,18 @@ public class JobsPaymentListener implements Listener {
// Fix bug when the player has not joined a job, milk a cow and get paid
for (com.gamingmesh.jobs.container.Job jobs : Jobs.getJobs()) {
- if (jPlayer.isInJob(jobs) && Jobs.getGCManager().CowMilkingTimer > 0) {
- if (cow.hasMetadata(CowMetadata)) {
- long time = cow.getMetadata(CowMetadata).get(0).asLong();
- if (System.currentTimeMillis() < time + Jobs.getGCManager().CowMilkingTimer) {
- long timer = ((Jobs.getGCManager().CowMilkingTimer - (System.currentTimeMillis() - time)) / 1000);
- jPlayer.getPlayer().sendMessage(Jobs.getLanguage().getMessage("message.cowtimer", "%time%", timer));
+ if (jPlayer.isInJob(jobs) && Jobs.getGCManager().CowMilkingTimer > 0) {
+ if (cow.hasMetadata(CowMetadata)) {
+ long time = cow.getMetadata(CowMetadata).get(0).asLong();
+ if (System.currentTimeMillis() < time + Jobs.getGCManager().CowMilkingTimer) {
+ long timer = ((Jobs.getGCManager().CowMilkingTimer - (System.currentTimeMillis() - time)) / 1000);
+ jPlayer.getPlayer().sendMessage(Jobs.getLanguage().getMessage("message.cowtimer", "%time%", timer));
- if (Jobs.getGCManager().CancelCowMilking)
- event.setCancelled(true);
- return;
- }
+ if (Jobs.getGCManager().CancelCowMilking)
+ event.setCancelled(true);
+ return;
}
+ }
}
}
@@ -1522,11 +1522,12 @@ public class JobsPaymentListener implements Listener {
// make sure plugin is enabled
if (!plugin.isEnabled())
return;
+
//disabling plugin in world
if (event.getPlayer() != null && !Jobs.getGCManager().canPerformActionInWorld(event.getPlayer().getWorld()))
return;
- if (event.isCancelled())
- return;
+ if (event.isCancelled())
+ return;
if (!Jobs.getExplore().isExploreEnabled())
return;
@@ -1535,9 +1536,8 @@ public class JobsPaymentListener implements Listener {
if (!player.isOnline())
return;
- if (!Jobs.getGCManager().payExploringWhenFlying() && player.isFlying())
+ if (!Jobs.getGCManager().payExploringWhenFlying() && player.isOnGround())
return;
-
ExploreRespond respond = Jobs.getExplore().ChunkRespond(player, event.getNewChunk());
if (!respond.isNewChunk())