diff --git a/pom.xml b/pom.xml
index 303348a..06b1b43 100644
--- a/pom.xml
+++ b/pom.xml
@@ -100,7 +100,7 @@
org.bukkit
bukkit
- 1.11-R0.1-SNAPSHOT
+ 1.13-R0.1-SNAPSHOT
provided
diff --git a/src/main/java/com/garbagemule/MobArena/ArenaClass.java b/src/main/java/com/garbagemule/MobArena/ArenaClass.java
index 9166741..4049f03 100644
--- a/src/main/java/com/garbagemule/MobArena/ArenaClass.java
+++ b/src/main/java/com/garbagemule/MobArena/ArenaClass.java
@@ -220,12 +220,12 @@ public class ArenaClass
* Used by isWeapon() to determine if an ItemStack is a weapon type.
*/
private static EnumSet weaponTypes = EnumSet.of(
- WOOD_SWORD, GOLD_SWORD, STONE_SWORD, IRON_SWORD, DIAMOND_SWORD,
- WOOD_AXE, GOLD_AXE, STONE_AXE, IRON_AXE, DIAMOND_AXE,
- WOOD_PICKAXE, GOLD_PICKAXE, STONE_PICKAXE, IRON_PICKAXE, DIAMOND_PICKAXE,
- WOOD_SPADE, GOLD_SPADE, STONE_SPADE, IRON_SPADE, DIAMOND_SPADE,
- WOOD_HOE, GOLD_HOE, STONE_HOE, IRON_HOE, DIAMOND_HOE,
- BOW, FISHING_ROD, FLINT_AND_STEEL, SHEARS, CARROT_STICK, SHIELD
+ WOODEN_SWORD, GOLDEN_SWORD, STONE_SWORD, IRON_SWORD, DIAMOND_SWORD,
+ WOODEN_AXE, GOLDEN_AXE, STONE_AXE, IRON_AXE, DIAMOND_AXE,
+ WOODEN_PICKAXE, GOLDEN_PICKAXE, STONE_PICKAXE, IRON_PICKAXE, DIAMOND_PICKAXE,
+ WOODEN_SHOVEL, GOLDEN_SHOVEL, STONE_SHOVEL, IRON_SHOVEL, DIAMOND_SHOVEL,
+ WOODEN_HOE, GOLDEN_HOE, STONE_HOE, IRON_HOE, DIAMOND_HOE,
+ BOW, FISHING_ROD, FLINT_AND_STEEL, SHEARS, CARROT_ON_A_STICK, SHIELD
);
/**
@@ -258,28 +258,28 @@ public class ArenaClass
case CHAINMAIL_HELMET:
case IRON_HELMET:
case DIAMOND_HELMET:
- case GOLD_HELMET:
+ case GOLDEN_HELMET:
return HELMET;
case LEATHER_CHESTPLATE:
case CHAINMAIL_CHESTPLATE:
case IRON_CHESTPLATE:
case DIAMOND_CHESTPLATE:
- case GOLD_CHESTPLATE:
+ case GOLDEN_CHESTPLATE:
return CHESTPLATE;
case LEATHER_LEGGINGS:
case CHAINMAIL_LEGGINGS:
case IRON_LEGGINGS:
case DIAMOND_LEGGINGS:
- case GOLD_LEGGINGS:
+ case GOLDEN_LEGGINGS:
return LEGGINGS;
case LEATHER_BOOTS:
case CHAINMAIL_BOOTS:
case IRON_BOOTS:
case DIAMOND_BOOTS:
- case GOLD_BOOTS:
+ case GOLDEN_BOOTS:
return BOOTS;
default:
diff --git a/src/main/java/com/garbagemule/MobArena/ArenaImpl.java b/src/main/java/com/garbagemule/MobArena/ArenaImpl.java
index 332495b..856cdd3 100644
--- a/src/main/java/com/garbagemule/MobArena/ArenaImpl.java
+++ b/src/main/java/com/garbagemule/MobArena/ArenaImpl.java
@@ -989,9 +989,9 @@ public class ArenaImpl implements Arena
private Material bardingFromAmount(int amount) {
switch ((amount >> 3) % 4) {
- case 1: return Material.IRON_BARDING;
- case 2: return Material.GOLD_BARDING;
- case 3: return Material.DIAMOND_BARDING;
+ case 1: return Material.IRON_HORSE_ARMOR;
+ case 2: return Material.GOLDEN_HORSE_ARMOR;
+ case 3: return Material.DIAMOND_HORSE_ARMOR;
default: return null;
}
}
diff --git a/src/main/java/com/garbagemule/MobArena/ArenaListener.java b/src/main/java/com/garbagemule/MobArena/ArenaListener.java
index f733aee..3f2f009 100644
--- a/src/main/java/com/garbagemule/MobArena/ArenaListener.java
+++ b/src/main/java/com/garbagemule/MobArena/ArenaListener.java
@@ -307,7 +307,7 @@ public class ArenaListener
// Otherwise, block was placed during a session.
arena.addBlock(b);
- if (b.getType() == Material.WOODEN_DOOR || b.getType() == Material.IRON_DOOR_BLOCK) {
+ if (b.getType().name().endsWith("_DOOR")) {
// For doors, add the block just above (so we get both halves)
arena.addBlock(b.getRelative(0, 1, 0));
}
@@ -393,7 +393,6 @@ public class ArenaListener
private boolean isWater(Block block) {
switch (block.getType()) {
case WATER:
- case STATIONARY_WATER:
return true;
default:
return false;
@@ -534,7 +533,7 @@ public class ArenaListener
// Cakes and liquids should just get removed. If player-placed block, drop as item.
Material mat = state.getType();
- if (mat == Material.CAKE_BLOCK || mat == Material.WATER || mat == Material.LAVA)
+ if (mat == Material.CAKE || mat == Material.WATER || mat == Material.LAVA)
arena.removeBlock(b);
else if (arena.removeBlock(b))
arena.getWorld().dropItemNaturally(b.getLocation(), new ItemStack(state.getType(), 1));
@@ -852,19 +851,19 @@ public class ArenaListener
private static final EnumSet REPAIRABLE_TYPES = EnumSet.of(
// Tools and swords
- Material.GOLD_AXE, Material.GOLD_HOE, Material.GOLD_PICKAXE, Material.GOLD_SPADE, Material.GOLD_SWORD,
- Material.WOOD_AXE, Material.WOOD_HOE, Material.WOOD_PICKAXE, Material.WOOD_SPADE, Material.WOOD_SWORD,
- Material.STONE_AXE, Material.STONE_HOE, Material.STONE_PICKAXE, Material.STONE_SPADE, Material.STONE_SWORD,
- Material.IRON_AXE, Material.IRON_HOE, Material.IRON_PICKAXE, Material.IRON_SPADE, Material.IRON_SWORD,
- Material.DIAMOND_AXE, Material.DIAMOND_HOE, Material.DIAMOND_PICKAXE, Material.DIAMOND_SPADE, Material.DIAMOND_SWORD,
+ Material.GOLDEN_AXE, Material.GOLDEN_HOE, Material.GOLDEN_PICKAXE, Material.GOLDEN_SHOVEL, Material.GOLDEN_SWORD,
+ Material.WOODEN_AXE, Material.WOODEN_HOE, Material.WOODEN_PICKAXE, Material.WOODEN_SHOVEL, Material.WOODEN_SWORD,
+ Material.STONE_AXE, Material.STONE_HOE, Material.STONE_PICKAXE, Material.STONE_SHOVEL, Material.STONE_SWORD,
+ Material.IRON_AXE, Material.IRON_HOE, Material.IRON_PICKAXE, Material.IRON_SHOVEL, Material.IRON_SWORD,
+ Material.DIAMOND_AXE, Material.DIAMOND_HOE, Material.DIAMOND_PICKAXE, Material.DIAMOND_SHOVEL, Material.DIAMOND_SWORD,
// Armor
Material.LEATHER_HELMET, Material.LEATHER_CHESTPLATE, Material.LEATHER_LEGGINGS, Material.LEATHER_BOOTS,
- Material.GOLD_HELMET, Material.GOLD_CHESTPLATE, Material.GOLD_LEGGINGS, Material.GOLD_BOOTS,
+ Material.GOLDEN_HELMET, Material.GOLDEN_CHESTPLATE, Material.GOLDEN_LEGGINGS, Material.GOLDEN_BOOTS,
Material.CHAINMAIL_HELMET, Material.CHAINMAIL_CHESTPLATE, Material.CHAINMAIL_LEGGINGS, Material.CHAINMAIL_BOOTS,
Material.IRON_HELMET, Material.IRON_CHESTPLATE, Material.IRON_LEGGINGS, Material.IRON_BOOTS,
Material.DIAMOND_HELMET, Material.DIAMOND_CHESTPLATE, Material.DIAMOND_LEGGINGS, Material.DIAMOND_BOOTS,
// Misc
- Material.BOW, Material.FLINT_AND_STEEL, Material.FISHING_ROD, Material.SHEARS, Material.CARROT_STICK, Material.SHIELD
+ Material.BOW, Material.FLINT_AND_STEEL, Material.FISHING_ROD, Material.SHEARS, Material.CARROT_ON_A_STICK, Material.SHIELD
);
private void repairWeapon(Player p) {
diff --git a/src/main/java/com/garbagemule/MobArena/ArenaMasterImpl.java b/src/main/java/com/garbagemule/MobArena/ArenaMasterImpl.java
index a0daa8c..93e5600 100644
--- a/src/main/java/com/garbagemule/MobArena/ArenaMasterImpl.java
+++ b/src/main/java/com/garbagemule/MobArena/ArenaMasterImpl.java
@@ -57,7 +57,7 @@ public class ArenaMasterImpl implements ArenaMaster
this.classes = new HashMap<>();
this.allowedCommands = new HashSet<>();
- this.spawnsPets = new SpawnsPets(Material.BONE, Material.RAW_FISH);
+ this.spawnsPets = new SpawnsPets(Material.BONE, Material.SALMON);
this.joinInterruptTimer = new JoinInterruptTimer();
}
diff --git a/src/main/java/com/garbagemule/MobArena/MAUtils.java b/src/main/java/com/garbagemule/MobArena/MAUtils.java
index 46d20b8..18f0484 100644
--- a/src/main/java/com/garbagemule/MobArena/MAUtils.java
+++ b/src/main/java/com/garbagemule/MobArena/MAUtils.java
@@ -10,7 +10,9 @@ import com.garbagemule.MobArena.util.TextUtils;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.World;
+import org.bukkit.block.BlockFace;
import org.bukkit.block.Sign;
+import org.bukkit.block.data.Rotatable;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Ocelot;
@@ -359,9 +361,11 @@ public class MAUtils
// Place the hippie signs
//Iterator iterator = am.getClasses().iterator();
Iterator iterator = am.getClasses().keySet().iterator();
+ Rotatable signData = (Rotatable) Material.SIGN.createBlockData();
+ signData.setRotation(BlockFace.NORTH);
for (int i = lx1+2; i <= lx2-2; i++) // Signs
{
- world.getBlockAt(i,ly1+1,lz2-1).setTypeIdAndData(63, (byte)0x8, false);
+ world.getBlockAt(i,ly1+1,lz2-1).setBlockData(signData);
Sign sign = (Sign) world.getBlockAt(i,ly1+1,lz2-1).getState();
sign.setLine(0, TextUtils.camelCase(iterator.next()));
sign.update();
diff --git a/src/main/java/com/garbagemule/MobArena/ServerVersionCheck.java b/src/main/java/com/garbagemule/MobArena/ServerVersionCheck.java
index bdde3d9..4595616 100644
--- a/src/main/java/com/garbagemule/MobArena/ServerVersionCheck.java
+++ b/src/main/java/com/garbagemule/MobArena/ServerVersionCheck.java
@@ -7,8 +7,8 @@ import java.util.StringJoiner;
class ServerVersionCheck {
- private static final String[] EXACTS = {"1.11", "1.12"};
- private static final String[] PREFIXES = {"1.11.", "1.12."};
+ private static final String[] EXACTS = {"1.13"};
+ private static final String[] PREFIXES = {"1.13."};
static void check(Server server) {
String version = getMinecraftVersion(server);
diff --git a/src/main/java/com/garbagemule/MobArena/commands/setup/SetupCommand.java b/src/main/java/com/garbagemule/MobArena/commands/setup/SetupCommand.java
index c06873a..706128c 100644
--- a/src/main/java/com/garbagemule/MobArena/commands/setup/SetupCommand.java
+++ b/src/main/java/com/garbagemule/MobArena/commands/setup/SetupCommand.java
@@ -161,31 +161,31 @@ public class SetupCommand implements Command, Listener {
private ItemStack[] getToolbox() {
// Arena region tool
ItemStack areg = makeTool(
- Material.GOLD_AXE, AREG_NAME,
+ Material.GOLDEN_AXE, AREG_NAME,
color("Set &ep1"),
color("Set &ep2")
);
// Warps tool
ItemStack warps = makeTool(
- Material.GOLD_HOE, WARPS_NAME,
+ Material.GOLDEN_HOE, WARPS_NAME,
color("&eSet &rselected warp"),
color("&eCycle &rbetween warps")
);
// Spawns tool
ItemStack spawns = makeTool(
- Material.GOLD_SWORD, SPAWNS_NAME,
+ Material.GOLDEN_SWORD, SPAWNS_NAME,
color("&eAdd &rspawnpoint on block"),
color("&eRemove &rspawnpoint on block")
);
// Chests tool
ItemStack chests = makeTool(
- Material.GOLD_SPADE, CHESTS_NAME,
+ Material.GOLDEN_SHOVEL, CHESTS_NAME,
color("&eAdd &rcontainer"),
color("&eRemove &rcontainer")
);
// Lobby region tool
ItemStack lreg = makeTool(
- Material.GOLD_AXE, LREG_NAME,
+ Material.GOLDEN_AXE, LREG_NAME,
color("Set &el1"),
color("Set &el2")
);
@@ -640,7 +640,7 @@ public class SetupCommand implements Command, Listener {
toShow.equals("spec") ? region.getSpecWarp() :
toShow.equals("spectator") ? region.getSpecWarp() :
toShow.equals("exit") ? region.getExitWarp() : null;
- region.showBlock(player, loc, 35, (byte) 14);
+ region.showBlock(player, loc);
return this;
}
diff --git a/src/main/java/com/garbagemule/MobArena/region/ArenaRegion.java b/src/main/java/com/garbagemule/MobArena/region/ArenaRegion.java
index 9347df8..ffb9939 100644
--- a/src/main/java/com/garbagemule/MobArena/region/ArenaRegion.java
+++ b/src/main/java/com/garbagemule/MobArena/region/ArenaRegion.java
@@ -11,9 +11,11 @@ import com.garbagemule.MobArena.util.Enums;
import org.bukkit.ChatColor;
import org.bukkit.Chunk;
import org.bukkit.Location;
+import org.bukkit.Material;
import org.bukkit.World;
import org.bukkit.block.Block;
import org.bukkit.block.BlockState;
+import org.bukkit.block.data.BlockData;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.entity.Player;
@@ -650,18 +652,19 @@ public class ArenaRegion
showBlocks(p, map.values());
}
- public void showBlock(final Player p, final Location loc, final int id, final byte data) {
+ public void showBlock(final Player p, final Location loc) {
+ BlockData wool = Material.RED_WOOL.createBlockData();
arena.scheduleTask(new Runnable() {
@Override
public void run() {
- p.sendBlockChange(loc, id, data);
+ p.sendBlockChange(loc, wool);
arena.scheduleTask(new Runnable() {
@Override
public void run() {
if (!p.isOnline()) return;
Block b = loc.getBlock();
- p.sendBlockChange(loc, b.getTypeId(), b.getData());
+ p.sendBlockChange(loc, b.getBlockData());
}
}, 100);
}
@@ -669,6 +672,7 @@ public class ArenaRegion
}
private void showBlocks(final Player p, final Collection points) {
+ BlockData wool = Material.RED_WOOL.createBlockData();
arena.scheduleTask(new Runnable() {
@Override
public void run() {
@@ -677,7 +681,7 @@ public class ArenaRegion
for (Location l : points) {
Block b = l.getBlock();
blocks.put(l, b.getState());
- p.sendBlockChange(l, 35, (byte) 14);
+ p.sendBlockChange(l, wool);
}
arena.scheduleTask(new Runnable() {
public void run() {
@@ -690,10 +694,9 @@ public class ArenaRegion
for (Map.Entry entry : blocks.entrySet()) {
Location l = entry.getKey();
BlockState b = entry.getValue();
- int id = b.getTypeId();
- byte data = b.getRawData();
+ BlockData data = b.getBlockData();
- p.sendBlockChange(l, id, data);
+ p.sendBlockChange(l, data);
}
}
}, 100);
diff --git a/src/main/java/com/garbagemule/MobArena/repairable/Repairable.java b/src/main/java/com/garbagemule/MobArena/repairable/Repairable.java
index 57db87e..76eb918 100644
--- a/src/main/java/com/garbagemule/MobArena/repairable/Repairable.java
+++ b/src/main/java/com/garbagemule/MobArena/repairable/Repairable.java
@@ -3,6 +3,7 @@ package com.garbagemule.MobArena.repairable;
import org.bukkit.Material;
import org.bukkit.World;
import org.bukkit.block.BlockState;
+import org.bukkit.block.data.BlockData;
public interface Repairable
{
@@ -11,8 +12,7 @@ public interface Repairable
BlockState getState();
Material getType();
- int getId();
- byte getData();
+ BlockData getData();
World getWorld();
int getX();
diff --git a/src/main/java/com/garbagemule/MobArena/repairable/RepairableAttachable.java b/src/main/java/com/garbagemule/MobArena/repairable/RepairableAttachable.java
index 655fafe..f77449c 100644
--- a/src/main/java/com/garbagemule/MobArena/repairable/RepairableAttachable.java
+++ b/src/main/java/com/garbagemule/MobArena/repairable/RepairableAttachable.java
@@ -1,5 +1,6 @@
package com.garbagemule.MobArena.repairable;
+import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.block.BlockFace;
import org.bukkit.block.BlockState;
@@ -23,14 +24,14 @@ public class RepairableAttachable extends RepairableBlock
y = attached.getY();
z = attached.getZ();
- state.getBlock().setTypeId(1);
+ state.getBlock().setType(Material.STONE);
}
public void repair()
{
Block b = getWorld().getBlockAt(x,y,z);
- if (b.getTypeId() == 0)
- b.setTypeId(1);
+ if (b.getType() == Material.AIR)
+ b.setType(Material.STONE);
super.repair();
}
diff --git a/src/main/java/com/garbagemule/MobArena/repairable/RepairableBed.java b/src/main/java/com/garbagemule/MobArena/repairable/RepairableBed.java
index db1a642..70249c6 100644
--- a/src/main/java/com/garbagemule/MobArena/repairable/RepairableBed.java
+++ b/src/main/java/com/garbagemule/MobArena/repairable/RepairableBed.java
@@ -19,6 +19,6 @@ public class RepairableBed extends RepairableBlock
return;
super.repair();
- other.getBlock().setTypeIdAndData(getId(), (byte) (getData() + 8), false);
+ other.getBlock().setBlockData(other.getBlockData());
}
}
diff --git a/src/main/java/com/garbagemule/MobArena/repairable/RepairableBlock.java b/src/main/java/com/garbagemule/MobArena/repairable/RepairableBlock.java
index a4d5b34..467d4f7 100644
--- a/src/main/java/com/garbagemule/MobArena/repairable/RepairableBlock.java
+++ b/src/main/java/com/garbagemule/MobArena/repairable/RepairableBlock.java
@@ -3,14 +3,15 @@ package com.garbagemule.MobArena.repairable;
import org.bukkit.Material;
import org.bukkit.World;
import org.bukkit.block.BlockState;
+import org.bukkit.block.data.BlockData;
public class RepairableBlock implements Repairable
{
private BlockState state;
private World world;
- private int id, x, y, z;
+ private BlockData data;
+ private int x, y, z;
private Material type;
- private byte data;
public RepairableBlock(BlockState state)
{
@@ -22,9 +23,8 @@ public class RepairableBlock implements Repairable
y = state.getY();
z = state.getZ();
- id = state.getTypeId();
+ data = state.getBlockData();
type = state.getType();
- data = state.getRawData();
}
/**
@@ -32,7 +32,7 @@ public class RepairableBlock implements Repairable
*/
public void repair()
{
- world.getBlockAt(x,y,z).setTypeIdAndData(id, data, false);
+ world.getBlockAt(x,y,z).setBlockData(data);
}
public BlockState getState()
@@ -50,12 +50,7 @@ public class RepairableBlock implements Repairable
return type;
}
- public int getId()
- {
- return id;
- }
-
- public byte getData()
+ public BlockData getData()
{
return data;
}
diff --git a/src/main/java/com/garbagemule/MobArena/repairable/RepairableComparator.java b/src/main/java/com/garbagemule/MobArena/repairable/RepairableComparator.java
index f2f7b6b..22b0473 100644
--- a/src/main/java/com/garbagemule/MobArena/repairable/RepairableComparator.java
+++ b/src/main/java/com/garbagemule/MobArena/repairable/RepairableComparator.java
@@ -1,11 +1,11 @@
package com.garbagemule.MobArena.repairable;
import org.bukkit.Material;
-import org.bukkit.material.Attachable;
-import org.bukkit.material.Bed;
-import org.bukkit.material.Door;
-import org.bukkit.material.MaterialData;
-import org.bukkit.material.Redstone;
+import org.bukkit.block.data.Attachable;
+import org.bukkit.block.data.BlockData;
+import org.bukkit.block.data.type.Bed;
+import org.bukkit.block.data.type.Door;
+import org.bukkit.block.data.type.RedstoneWire;
import java.util.Comparator;
@@ -28,8 +28,8 @@ public class RepairableComparator implements Comparator
private boolean restoreLast(Repairable r)
{
Material t = r.getType();
- MaterialData m = r.getState().getData();
+ BlockData data = r.getData();
- return (m instanceof Attachable || m instanceof Redstone || m instanceof Door || m instanceof Bed || t == Material.STATIONARY_LAVA || t == Material.STATIONARY_WATER || t == Material.FIRE);
+ return (data instanceof Attachable || data instanceof RedstoneWire || data instanceof Door || data instanceof Bed || t == Material.LAVA || t == Material.WATER || t == Material.FIRE);
}
}
diff --git a/src/main/java/com/garbagemule/MobArena/repairable/RepairableDoor.java b/src/main/java/com/garbagemule/MobArena/repairable/RepairableDoor.java
index c6fe66e..f27cb99 100644
--- a/src/main/java/com/garbagemule/MobArena/repairable/RepairableDoor.java
+++ b/src/main/java/com/garbagemule/MobArena/repairable/RepairableDoor.java
@@ -1,5 +1,6 @@
package com.garbagemule.MobArena.repairable;
+import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.block.BlockFace;
import org.bukkit.block.BlockState;
@@ -27,10 +28,10 @@ public class RepairableDoor extends RepairableAttachable//RepairableBlock
return;
Block b = getWorld().getBlockAt(x,y,z);
- if (b.getTypeId() == 0)
- b.setTypeId(1);
+ if (b.getType() == Material.AIR)
+ b.setType(Material.STONE);
super.repair();
- other.getBlock().setTypeIdAndData(getId(), (byte) (getData() + 8), false);
+ other.getBlock().setBlockData(other.getBlockData());
}
}
diff --git a/src/main/java/com/garbagemule/MobArena/things/Equippable.java b/src/main/java/com/garbagemule/MobArena/things/Equippable.java
index 9293298..dfa99d8 100644
--- a/src/main/java/com/garbagemule/MobArena/things/Equippable.java
+++ b/src/main/java/com/garbagemule/MobArena/things/Equippable.java
@@ -15,28 +15,28 @@ class Equippable {
Material.LEATHER_HELMET,
Material.IRON_HELMET,
Material.CHAINMAIL_HELMET,
- Material.GOLD_HELMET,
+ Material.GOLDEN_HELMET,
Material.DIAMOND_HELMET
);
private static EnumSet chestplates = EnumSet.of(
Material.LEATHER_CHESTPLATE,
Material.IRON_CHESTPLATE,
Material.CHAINMAIL_CHESTPLATE,
- Material.GOLD_CHESTPLATE,
+ Material.GOLDEN_CHESTPLATE,
Material.DIAMOND_CHESTPLATE
);
private static EnumSet leggings = EnumSet.of(
Material.LEATHER_LEGGINGS,
Material.IRON_LEGGINGS,
Material.CHAINMAIL_LEGGINGS,
- Material.GOLD_LEGGINGS,
+ Material.GOLDEN_LEGGINGS,
Material.DIAMOND_LEGGINGS
);
private static EnumSet boots = EnumSet.of(
Material.LEATHER_BOOTS,
Material.IRON_BOOTS,
Material.CHAINMAIL_BOOTS,
- Material.GOLD_BOOTS,
+ Material.GOLDEN_BOOTS,
Material.DIAMOND_BOOTS
);
diff --git a/src/main/java/com/garbagemule/MobArena/util/ClassChests.java b/src/main/java/com/garbagemule/MobArena/util/ClassChests.java
index f02e57c..073203b 100644
--- a/src/main/java/com/garbagemule/MobArena/util/ClassChests.java
+++ b/src/main/java/com/garbagemule/MobArena/util/ClassChests.java
@@ -48,7 +48,7 @@ public class ClassChests {
Block blockBehind = blockBelow.getRelative(backwards);
// If the block below this sign is a class sign, swap the order
- if (blockBelow.getType() == Material.WALL_SIGN || blockBelow.getType() == Material.SIGN_POST) {
+ if (blockBelow.getType() == Material.WALL_SIGN || blockBelow.getType() == Material.SIGN) {
String className = ChatColor.stripColor(((Sign) blockBelow.getState()).getLine(0)).toLowerCase();
if (arena.getClasses().containsKey(className)) {
blockSign = blockBehind; // Use blockSign as a temp while swapping
diff --git a/src/main/java/com/garbagemule/MobArena/util/ItemParser.java b/src/main/java/com/garbagemule/MobArena/util/ItemParser.java
index 824fc1d..8e09960 100644
--- a/src/main/java/com/garbagemule/MobArena/util/ItemParser.java
+++ b/src/main/java/com/garbagemule/MobArena/util/ItemParser.java
@@ -1,43 +1,21 @@
package com.garbagemule.MobArena.util;
import org.bukkit.Bukkit;
-import org.bukkit.DyeColor;
import org.bukkit.Material;
+import org.bukkit.NamespacedKey;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.EnchantmentStorageMeta;
import org.bukkit.inventory.meta.PotionMeta;
-import org.bukkit.material.Dye;
-import org.bukkit.material.MaterialData;
-import org.bukkit.material.Wool;
import org.bukkit.potion.PotionData;
import org.bukkit.potion.PotionType;
import java.util.ArrayList;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
import java.util.Optional;
public class ItemParser
{
- private static final Map POTION_TYPE_MAP = new HashMap<>();
- static {
- POTION_TYPE_MAP.put((short) 8193, PotionType.REGEN);
- POTION_TYPE_MAP.put((short) 8194, PotionType.SPEED);
- POTION_TYPE_MAP.put((short) 8195, PotionType.FIRE_RESISTANCE);
- POTION_TYPE_MAP.put((short) 8196, PotionType.POISON);
- POTION_TYPE_MAP.put((short) 8197, PotionType.INSTANT_HEAL);
- POTION_TYPE_MAP.put((short) 8198, PotionType.NIGHT_VISION);
- POTION_TYPE_MAP.put((short) 8200, PotionType.WEAKNESS);
- POTION_TYPE_MAP.put((short) 8201, PotionType.STRENGTH);
- POTION_TYPE_MAP.put((short) 8202, PotionType.SLOWNESS);
- POTION_TYPE_MAP.put((short) 8203, PotionType.JUMP);
- POTION_TYPE_MAP.put((short) 8204, PotionType.INSTANT_DAMAGE);
- POTION_TYPE_MAP.put((short) 8205, PotionType.WATER_BREATHING);
- POTION_TYPE_MAP.put((short) 8206, PotionType.INVISIBILITY);
- }
-
public static List parseItems(String s) {
if (s == null) {
return new ArrayList<>(1);
@@ -118,12 +96,7 @@ public class ItemParser
return withPotionMeta(stack, data);
}
- MaterialData md = getData(data, type);
- if (md == null) {
- return null;
- }
-
- return md.toItemStack(stack.getAmount());
+ return stack;
}
private static ItemStack withPotionMeta(ItemStack stack, String data) {
@@ -138,29 +111,6 @@ public class ItemParser
}
private static PotionType getPotionType(String data) {
- if (data.matches("[0-9]+")) {
- short d = Short.parseShort(data);
-
- // Compensate for splash potions
- if (d > (2 * 8192)) {
- d -= 8192;
- }
-
- boolean extended = (d & 64) > 0;
- boolean upgraded = (d & 32) > 0;
- if (extended) {
- d -= 64;
- }
- if (upgraded) {
- d -= 32;
- }
-
- PotionType type = POTION_TYPE_MAP.get(d);
- if (type != null) {
- warn(type.name(), data);
- }
- return type;
- }
try {
return PotionType.valueOf(data.toUpperCase());
} catch (IllegalArgumentException e) {
@@ -169,65 +119,9 @@ public class ItemParser
}
private static Optional getType(String item) {
- if (item.matches("(-)?[1-9][0-9]*")) {
- Material type = Material.getMaterial(Integer.parseInt(item));
- if (type == null) {
- return Optional.empty();
- }
-
- warn(type.name(), item);
-
- return Optional.of(type);
- }
return Optional.ofNullable(Material.getMaterial(item.toUpperCase()));
}
- private static MaterialData getData(String data, Material type) {
- if (type == Material.INK_SACK) {
- return getDyeData(data);
- }
- if (type == Material.WOOL) {
- return getWoolData(data);
- }
- return null;
- }
-
- private static Wool getWoolData(String data) {
- if (data.matches("(-)?[1-9][0-9]*")) {
- DyeColor color = DyeColor.getByWoolData(Byte.parseByte(data));
- if (color == null) {
- return null;
- }
-
- warn(color.name(), data);
-
- return new Wool(color);
- }
- try {
- return new Wool(DyeColor.valueOf(data.toUpperCase()));
- } catch (IllegalArgumentException e) {
- return null;
- }
- }
-
- private static Dye getDyeData(String data) {
- if (data.matches("(-)?[1-9][0-9]*")) {
- DyeColor color = DyeColor.getByDyeData(Byte.parseByte(data));
- if (color == null) {
- return null;
- }
-
- warn(color.name(), data);
-
- return new Dye(color);
- }
- try {
- return new Dye(DyeColor.valueOf(data.toUpperCase()));
- } catch (IllegalArgumentException e) {
- return null;
- }
- }
-
private static int getAmount(String amount) {
if (amount.matches("(-)?[1-9][0-9]*")) {
return Integer.parseInt(amount);
@@ -246,7 +140,7 @@ public class ItemParser
private static void addEnchantment(ItemStack stack, String ench) {
String[] parts = ench.split(":");
- if (parts.length != 2 || !parts[1].matches("[0-9]*")) {
+ if (parts.length != 2) {
return;
}
@@ -266,25 +160,6 @@ public class ItemParser
}
private static Enchantment getEnchantment(String ench) {
- if (ench.matches("[1-9][0-9]*")) {
- Enchantment enchantment = Enchantment.getById(Integer.parseInt(ench));
- if (enchantment == null) {
- return null;
- }
-
- warn(enchantment.getName(), ench);
-
- return enchantment;
- }
- return Enchantment.getByName(ench.toUpperCase());
- }
-
- private static void warn(String name, String value) {
- String msg = String.format(
- "Consider using '%s' instead of '%s'",
- name.toLowerCase(),
- value
- );
- Bukkit.getLogger().warning("[MobArena] " + msg);
+ return Enchantment.getByKey(NamespacedKey.minecraft(ench));
}
}
diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml
index 8d0c39f..8acd934 100644
--- a/src/main/resources/plugin.yml
+++ b/src/main/resources/plugin.yml
@@ -2,6 +2,7 @@ name: ${project.name}
author: garbagemule
main: com.garbagemule.MobArena.MobArena
version: '${project.version}'
+api-version: 1.13
softdepend: [Multiverse-Core,Towny,Heroes,MagicSpells,Vault]
commands:
ma:
diff --git a/src/main/resources/res/classes.yml b/src/main/resources/res/classes.yml
index 736ab38..1878fd3 100644
--- a/src/main/resources/res/classes.yml
+++ b/src/main/resources/res/classes.yml
@@ -6,7 +6,7 @@ Tank:
armor: diamond_helmet, diamond_chestplate, diamond_leggings, diamond_boots
effects: slow, health_boost
Archer:
- items: wood_sword, bow, arrow:256, potion:instant_heal:3, bone
+ items: wooden_sword, bow, arrow:256, potion:instant_heal:3, bone
armor: leather_helmet, leather_chestplate, leather_leggings, leather_boots
effects: speed
Chemist:
diff --git a/src/main/resources/res/global-settings.yml b/src/main/resources/res/global-settings.yml
index 5bf3b99..eb382ca 100644
--- a/src/main/resources/res/global-settings.yml
+++ b/src/main/resources/res/global-settings.yml
@@ -4,4 +4,4 @@ update-notification: true
prefix: '&a[MobArena] '
pet-items:
wolf: bone
- ocelot: raw_fish
+ ocelot: salmon
diff --git a/src/main/resources/res/rewards.yml b/src/main/resources/res/rewards.yml
index ef24487..452f5c5 100644
--- a/src/main/resources/res/rewards.yml
+++ b/src/main/resources/res/rewards.yml
@@ -4,6 +4,6 @@ waves:
'5': dirt:4, gravel:4, stone:4
'10': iron_ingot:10, gold_ingot:8
after:
- '7': minecart, storage_minecart, powered_minecart
- '13': iron_sword, iron_pickaxe, iron_spade
+ '7': minecart, chest_minecart, furnace_minecart
+ '13': iron_sword, iron_pickaxe, iron_shovel
'16': diamond_sword
\ No newline at end of file