From 995886672bbd7d1d3e6ae1fe4786a21462b8066f Mon Sep 17 00:00:00 2001 From: SeanOMik Date: Mon, 20 Jul 2020 12:16:31 -0500 Subject: [PATCH] Update for 1.16 while still supporting 1.15 --- pom.xml | 14 ++++++++------ .../listeners/BlockBreakListener.java | 5 +---- .../listeners/BlockPlaceListener.java | 11 +++-------- .../listeners/PlayerInteractListener.java | 6 +----- .../seanomik/energeticstorage/utils/Utils.java | 15 +++++++++++++++ 5 files changed, 28 insertions(+), 23 deletions(-) diff --git a/pom.xml b/pom.xml index 941b40c..fafc0ac 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ net.seanomik energeticstorage - 0.2.2-SNAPSHOT + 0.2-SNAPSHOT jar EnergeticStorage @@ -40,7 +40,9 @@ shade - D:\Code\java\spigotPlugins\_TEST_SERVER_1.15.2_\plugins\EnergeticStorage-MC-v1.15.X-v${project.version}.jar + + + D:\Code\java\spigotPlugins\_TEST_SERVER_1.16.1_\plugins\EnergeticStorage-MC-v${project.version}.jar false @@ -63,7 +65,7 @@ de.tr7zw.changeme.nbtapi - de.tr7zw.nbtapi + de.tr7zw.nbtapi.energeticstorage @@ -101,19 +103,19 @@ org.spigotmc spigot - 1.16.1-R0.1-SNAPSHOT + 1.15.2-R0.1-SNAPSHOT provided de.tr7zw item-nbt-api 2.4.1 - compile + com.github.WesJD.AnvilGUI anvilgui - ef71db62ecd6e14405eb7891d7d1c58341b9e61e + ef71db62ec diff --git a/src/main/java/net/seanomik/energeticstorage/listeners/BlockBreakListener.java b/src/main/java/net/seanomik/energeticstorage/listeners/BlockBreakListener.java index 434a477..cc00bb3 100644 --- a/src/main/java/net/seanomik/energeticstorage/listeners/BlockBreakListener.java +++ b/src/main/java/net/seanomik/energeticstorage/listeners/BlockBreakListener.java @@ -1,7 +1,5 @@ package net.seanomik.energeticstorage.listeners; -import de.tr7zw.changeme.nbtapi.NBTTileEntity; -import net.seanomik.energeticstorage.Skulls; import net.seanomik.energeticstorage.files.PlayersFile; import net.seanomik.energeticstorage.objects.ESDrive; import net.seanomik.energeticstorage.objects.ESSystem; @@ -28,8 +26,7 @@ public class BlockBreakListener implements Listener { Block block = event.getBlock(); Player player = event.getPlayer(); - NBTTileEntity blockNBT = new NBTTileEntity(block.getState()); - if (blockNBT.getCompound("SkullOwner").getCompound("Properties").getCompoundList("textures").get(0).getString("Value").equals(Skulls.Computer.getTexture())) { + if (Utils.isBlockASystem(block)) { ESSystem esSystem = Utils.findSystemAtLocation(block.getLocation()); if (esSystem != null) { diff --git a/src/main/java/net/seanomik/energeticstorage/listeners/BlockPlaceListener.java b/src/main/java/net/seanomik/energeticstorage/listeners/BlockPlaceListener.java index 3c17dcb..3a56082 100644 --- a/src/main/java/net/seanomik/energeticstorage/listeners/BlockPlaceListener.java +++ b/src/main/java/net/seanomik/energeticstorage/listeners/BlockPlaceListener.java @@ -14,10 +14,7 @@ import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.block.BlockPlaceEvent; -import java.util.Arrays; -import java.util.LinkedList; -import java.util.List; -import java.util.UUID; +import java.util.*; public class BlockPlaceListener implements Listener { @@ -27,9 +24,7 @@ public class BlockPlaceListener implements Listener { Block block = event.getBlock(); Player player = event.getPlayer(); - NBTTileEntity blockNBT = new NBTTileEntity(block.getState()); - - if (blockNBT.getCompound("SkullOwner").getCompound("Properties").getCompoundList("textures").get(0).getString("Value").equals(Skulls.Computer.getTexture())) { + if (Utils.isBlockASystem(block)) { if (PermissionChecks.canCreateSystem(player)) { ESSystem newSystem = new ESSystem(player.getUniqueId(), UUID.randomUUID(), block.getLocation()); PlayersFile.savePlayerSystem(newSystem); @@ -41,7 +36,7 @@ public class BlockPlaceListener implements Listener { Reference.ES_SYSTEMS.replace(player.getUniqueId(), playerESSystems); } else { - Reference.ES_SYSTEMS.put(player.getUniqueId(), Arrays.asList(newSystem)); + Reference.ES_SYSTEMS.put(player.getUniqueId(), Collections.singletonList(newSystem)); } } } diff --git a/src/main/java/net/seanomik/energeticstorage/listeners/PlayerInteractListener.java b/src/main/java/net/seanomik/energeticstorage/listeners/PlayerInteractListener.java index bc7f7d6..f6231f1 100644 --- a/src/main/java/net/seanomik/energeticstorage/listeners/PlayerInteractListener.java +++ b/src/main/java/net/seanomik/energeticstorage/listeners/PlayerInteractListener.java @@ -1,7 +1,5 @@ package net.seanomik.energeticstorage.listeners; -import de.tr7zw.changeme.nbtapi.NBTTileEntity; -import net.seanomik.energeticstorage.Skulls; import net.seanomik.energeticstorage.objects.ESSystem; import net.seanomik.energeticstorage.utils.PermissionChecks; import net.seanomik.energeticstorage.utils.Reference; @@ -24,9 +22,7 @@ public class PlayerInteractListener implements Listener { Block block = event.getClickedBlock(); Player player = event.getPlayer(); - NBTTileEntity blockNBT = new NBTTileEntity(block.getState()); - - if (blockNBT.getCompound("SkullOwner").getCompound("Properties").getCompoundList("textures").get(0).getString("Value").equals(Skulls.Computer.getTexture())) { + if (Utils.isBlockASystem(block)) { event.setCancelled(true); ESSystem esSystem = Utils.findSystemAtLocation(block.getLocation()); diff --git a/src/main/java/net/seanomik/energeticstorage/utils/Utils.java b/src/main/java/net/seanomik/energeticstorage/utils/Utils.java index ce6163d..5cfadec 100644 --- a/src/main/java/net/seanomik/energeticstorage/utils/Utils.java +++ b/src/main/java/net/seanomik/energeticstorage/utils/Utils.java @@ -1,10 +1,13 @@ package net.seanomik.energeticstorage.utils; +import de.tr7zw.changeme.nbtapi.NBTTileEntity; +import net.seanomik.energeticstorage.Skulls; import net.seanomik.energeticstorage.objects.ESSystem; import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.World; +import org.bukkit.block.Block; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; @@ -124,4 +127,16 @@ public class Utils { return false; } + + public static boolean isBlockASystem(Block block) { + NBTTileEntity blockNBT = new NBTTileEntity(block.getState()); + String version = Bukkit.getServer().getClass().getPackage().getName().split("\\.")[3]; + if (version.equals("v1_15_R1")) { + return blockNBT.getCompound("Owner").getCompound("Properties").getCompoundList("textures").get(0).getString("Value").equals(Skulls.Computer.getTexture()); + } else if (version.equals("v1_16_R1")) { + return blockNBT.getCompound("SkullOwner").getCompound("Properties").getCompoundList("textures").get(0).getString("Value").equals(Skulls.Computer.getTexture()); + } + + return false; + } }