Skip to content

Commit

Permalink
update to 1.15
Browse files Browse the repository at this point in the history
  • Loading branch information
hafarooki committed Jan 2, 2020
1 parent 9bd7206 commit fcb8788
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 16 deletions.
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -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'
}
35 changes: 22 additions & 13 deletions src/main/java/net/starlegacy/explosionregen/NMSUtils.java
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand All @@ -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);
Expand Down
4 changes: 2 additions & 2 deletions src/main/resources/plugin.yml
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit fcb8788

Please sign in to comment.