From fcb87882ba1d3ba87bbe8858fdda025dfd185fe7 Mon Sep 17 00:00:00 2001 From: miclebrick Date: Thu, 2 Jan 2020 15:32:32 -0500 Subject: [PATCH] update to 1.15 --- build.gradle | 2 +- .../starlegacy/explosionregen/NMSUtils.java | 35 ++++++++++++------- src/main/resources/plugin.yml | 4 +-- 3 files changed, 25 insertions(+), 16 deletions(-) diff --git a/build.gradle b/build.gradle index 140cec4..909712c 100644 --- a/build.gradle +++ b/build.gradle @@ -18,5 +18,5 @@ repositories { } dependencies { - compileOnly 'org.spigotmc:spigot:1.14.4-R0.1-SNAPSHOT' + compileOnly 'org.spigotmc:spigot:1.15.1-R0.1-SNAPSHOT' } diff --git a/src/main/java/net/starlegacy/explosionregen/NMSUtils.java b/src/main/java/net/starlegacy/explosionregen/NMSUtils.java index 8ccd421..8f5324d 100644 --- a/src/main/java/net/starlegacy/explosionregen/NMSUtils.java +++ b/src/main/java/net/starlegacy/explosionregen/NMSUtils.java @@ -3,16 +3,26 @@ import com.google.common.io.ByteArrayDataInput; import com.google.common.io.ByteArrayDataOutput; import com.google.common.io.ByteStreams; -import net.minecraft.server.v1_14_R1.*; import org.bukkit.block.Block; -import org.bukkit.craftbukkit.v1_14_R1.CraftWorld; + +import net.minecraft.server.v1_15_R1.*; +import org.bukkit.craftbukkit.v1_15_R1.*; import javax.annotation.Nullable; -import java.io.IOException; public class NMSUtils { @Nullable public static byte[] getTileEntity(Block block) { + try { + return completeGetTileEntity(block); + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + // separate method for version compatibility + private static byte[] completeGetTileEntity(Block block) throws Exception { BlockPosition blockPosition = new BlockPosition(block.getX(), block.getY(), block.getZ()); WorldServer worldServer = ((CraftWorld) block.getWorld()).getHandle(); TileEntity tileEntity = worldServer.getTileEntity(blockPosition); @@ -22,23 +32,22 @@ public static byte[] getTileEntity(Block block) { NBTTagCompound nbt = new NBTTagCompound(); tileEntity.save(nbt); ByteArrayDataOutput output = ByteStreams.newDataOutput(); + nbt.write(output); + return output.toByteArray(); + } + + public static void setTileEntity(Block block, byte[] bytes) { try { - nbt.write(output); - return output.toByteArray(); - } catch (IOException e) { + completeSetTileEntity(block, bytes); + } catch (Exception e) { e.printStackTrace(); - return null; } } - public static void setTileEntity(Block block, byte[] bytes) { + private static void completeSetTileEntity(Block block, byte[] bytes) throws Exception { NBTTagCompound nbt = new NBTTagCompound(); ByteArrayDataInput input = ByteStreams.newDataInput(bytes); - try { - nbt.load(input, 0, new NBTReadLimiter(bytes.length * 10)); - } catch (IOException e) { - e.printStackTrace(); - } + NBTTagCompound.a.b(input, 0, new NBTReadLimiter(bytes.length * 10)); BlockPosition blockPosition = new BlockPosition(block.getX(), block.getY(), block.getZ()); WorldServer worldServer = ((CraftWorld) block.getWorld()).getHandle(); TileEntity tileEntity = TileEntity.create(nbt); diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 78494dd..2b9cac3 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,8 +1,8 @@ name: ExplosionRegen -version: 2.4.0 +version: 2.5.0 main: net.starlegacy.explosionregen.ExplosionRegenPlugin authors: ["MicleBrick"] -api-version: 1.14 +api-version: 1.15 commands: regen: permission: explosionregen.regen