diff --git a/Bukkit/src/main/java/com/plotsquared/bukkit/BukkitMain.java b/Bukkit/src/main/java/com/plotsquared/bukkit/BukkitMain.java index 21608bb30..059d65d46 100644 --- a/Bukkit/src/main/java/com/plotsquared/bukkit/BukkitMain.java +++ b/Bukkit/src/main/java/com/plotsquared/bukkit/BukkitMain.java @@ -177,7 +177,7 @@ public final class BukkitMain extends JavaPlugin implements Listener, IPlotMain e.printStackTrace(); PS.debug(StringMan.getString(Bukkit.getBukkitVersion())); PS.debug(StringMan.getString(Bukkit.getBukkitVersion().split("-")[0].split("\\."))); - return new int[]{1, 10, 0}; + return new int[]{1, 13, 0}; } } return this.version; @@ -680,6 +680,9 @@ public final class BukkitMain extends JavaPlugin implements Listener, IPlotMain } catch (ClassNotFoundException | NoSuchFieldException | NoSuchMethodException e) { PS.debug(SendChunk.class + " does not support " + StringMan.getString(getServerVersion())); MainUtil.canSendChunk = false; + } + if (PS.get().checkVersion(getServerVersion(), BukkitVersion.v1_13_0)) { + return QueueProvider.of(BukkitLocalQueue.class, BukkitLocalQueue.class); } if (PS.get().checkVersion(getServerVersion(), BukkitVersion.v1_9_0)) { return QueueProvider.of(BukkitLocalQueue_1_9.class, BukkitLocalQueue.class); @@ -918,4 +921,4 @@ public final class BukkitMain extends JavaPlugin implements Listener, IPlotMain } return names; } -} +} \ No newline at end of file diff --git a/Bukkit/src/main/java/com/plotsquared/bukkit/util/BukkitVersion.java b/Bukkit/src/main/java/com/plotsquared/bukkit/util/BukkitVersion.java index df8424cd8..cdf36fff9 100644 --- a/Bukkit/src/main/java/com/plotsquared/bukkit/util/BukkitVersion.java +++ b/Bukkit/src/main/java/com/plotsquared/bukkit/util/BukkitVersion.java @@ -1,6 +1,7 @@ package com.plotsquared.bukkit.util; public class BukkitVersion { + public static int[] v1_13_0 = {1, 13, 0}; public static int[] v1_12_1 = {1, 12, 1}; public static int[] v1_12_0 = {1, 12, 0}; public static int[] v1_11_0 = {1, 11, 0}; diff --git a/Bukkit/src/main/java/com/plotsquared/bukkit/util/NbtFactory.java b/Bukkit/src/main/java/com/plotsquared/bukkit/util/NbtFactory.java index f1795005d..69690cc8c 100644 --- a/Bukkit/src/main/java/com/plotsquared/bukkit/util/NbtFactory.java +++ b/Bukkit/src/main/java/com/plotsquared/bukkit/util/NbtFactory.java @@ -73,11 +73,12 @@ public class NbtFactory { ClassLoader loader = NbtFactory.class.getClassLoader(); String packageName = getPackageName(); + String craftpackageName = getCraftPackageName(); Class offlinePlayer = loader.loadClass(packageName + ".CraftOfflinePlayer"); // Prepare NBT this.COMPOUND_CLASS = getMethod(0, Modifier.STATIC, offlinePlayer, "getData").getReturnType(); - this.BASE_CLASS = this.COMPOUND_CLASS.getSuperclass(); + this.BASE_CLASS = loader.loadClass(craftpackageName + ".NBTBase"); this.NBT_GET_TYPE = getMethod(0, Modifier.STATIC, this.BASE_CLASS, "getTypeId"); this.NBT_CREATE_TAG = getMethod(Modifier.STATIC, 0, this.BASE_CLASS, "createTag", byte.class); @@ -400,9 +401,14 @@ public class NbtFactory { return name; } else { // Fallback - return "org.bukkit.craftbukkit.v1_7_R3"; + return "org.bukkit.craftbukkit.v1_13_R1"; } } + + private String getCraftPackageName() { + String version = Bukkit.getServer().getClass().getPackage().getName().replace(".", ",").split(",")[3]; + return "net.minecraft.server." + version; + } @SuppressWarnings("unchecked") private Map getDataMap(Object handle) { diff --git a/Bukkit/src/main/java/com/plotsquared/bukkit/util/block/GenChunk.java b/Bukkit/src/main/java/com/plotsquared/bukkit/util/block/GenChunk.java index 414239c9d..13d4394ce 100644 --- a/Bukkit/src/main/java/com/plotsquared/bukkit/util/block/GenChunk.java +++ b/Bukkit/src/main/java/com/plotsquared/bukkit/util/block/GenChunk.java @@ -8,6 +8,7 @@ import com.intellectualcrafters.plot.util.block.ScopedLocalBlockQueue; import com.plotsquared.bukkit.util.BukkitUtil; import java.util.Arrays; import org.bukkit.Chunk; +import org.bukkit.Material; import org.bukkit.World; import org.bukkit.block.Biome; import org.bukkit.generator.ChunkGenerator.BiomeGrid; @@ -115,7 +116,7 @@ public class GenChunk extends ScopedLocalBlockQueue { @Override public boolean setBlock(int x, int y, int z, int id, int data) { if (this.result == null) { - this.cd.setBlock(x, y, z, id, (byte) data); + this.cd.setBlock(x, y, z, new MaterialData(Material.getMaterial(id), (byte) data)); return true; } int i = MainUtil.CACHE_I[y][x][z];