diff options
Diffstat (limited to 'src/main/java/net/tylermurphy/hideAndSeek/util')
-rw-r--r-- | src/main/java/net/tylermurphy/hideAndSeek/util/Packet.java | 18 | ||||
-rw-r--r-- | src/main/java/net/tylermurphy/hideAndSeek/util/Version.java | 45 |
2 files changed, 45 insertions, 18 deletions
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/util/Packet.java b/src/main/java/net/tylermurphy/hideAndSeek/util/Packet.java index 18913da..9cb17ce 100644 --- a/src/main/java/net/tylermurphy/hideAndSeek/util/Packet.java +++ b/src/main/java/net/tylermurphy/hideAndSeek/util/Packet.java @@ -21,7 +21,6 @@ package net.tylermurphy.hideAndSeek.util; import java.lang.reflect.InvocationTargetException; -import org.bukkit.Sound; import org.bukkit.entity.Player; import com.comphenix.protocol.PacketType; @@ -29,29 +28,12 @@ import com.comphenix.protocol.ProtocolLibrary; import com.comphenix.protocol.ProtocolManager; import com.comphenix.protocol.events.PacketContainer; import com.comphenix.protocol.wrappers.WrappedDataWatcher; -import com.comphenix.protocol.wrappers.EnumWrappers.SoundCategory; import com.comphenix.protocol.wrappers.WrappedDataWatcher.Registry; import com.comphenix.protocol.wrappers.WrappedDataWatcher.Serializer; public class Packet { private static final ProtocolManager protocolManager = ProtocolLibrary.getProtocolManager(); - - public static void playSound(Player player, Sound sound, float volume, float pitch) { - PacketContainer packet = protocolManager.createPacket(PacketType.Play.Server.NAMED_SOUND_EFFECT); - packet.getSoundCategories().write(0, SoundCategory.MASTER); - packet.getSoundEffects().write(0, sound); - packet.getIntegers().write(0, (int)(player.getLocation().getX() * 8.0)); - packet.getIntegers().write(1, (int)(player.getLocation().getY() * 8.0)); - packet.getIntegers().write(2, (int)(player.getLocation().getZ() * 8.0)); - packet.getFloat().write(0, volume); - packet.getFloat().write(1, pitch); - try { - protocolManager.sendServerPacket(player, packet); - } catch (InvocationTargetException e) { - e.printStackTrace(); - } - } public static void setGlow(Player player, Player target, boolean glowing) { PacketContainer packet = protocolManager.createPacket(PacketType.Play.Server.ENTITY_METADATA); diff --git a/src/main/java/net/tylermurphy/hideAndSeek/util/Version.java b/src/main/java/net/tylermurphy/hideAndSeek/util/Version.java new file mode 100644 index 0000000..96854db --- /dev/null +++ b/src/main/java/net/tylermurphy/hideAndSeek/util/Version.java @@ -0,0 +1,45 @@ +package net.tylermurphy.hideAndSeek.util; + +import org.bukkit.Bukkit; + +import java.util.HashMap; +import java.util.Map; + +public class Version { + + private static final Map<String,Boolean> CACHE = new HashMap<>(); + + public static boolean atLeast(String testVersion){ + + + if(CACHE.containsKey(testVersion)) return CACHE.get(testVersion); + + String[] serverCheckTemp = Bukkit.getBukkitVersion().substring(2,Bukkit.getBukkitVersion().indexOf('-')).split("\\."); + int[] serverCheck = new int[serverCheckTemp.length]; + for(int i=0; i<serverCheck.length; i++){ + serverCheck[i] = Integer.parseInt(serverCheckTemp[i]); + } + + String[] customCheckTemp = testVersion.substring(2).split("\\."); + int[] customCheck = new int[customCheckTemp.length]; + for(int i=0; i<customCheck.length; i++){ + customCheck[i] = Integer.parseInt(customCheckTemp[i]); + } + + boolean result = getResult(customCheck, serverCheck); + CACHE.put(testVersion, result); + return result; + } + + private static boolean getResult(int[] customCheck, int[] serverCheck){ + if(customCheck[0] > serverCheck[0]) return false; + else if(customCheck[0] < serverCheck[0]) return true; + else { + if (customCheck.length == 1 && serverCheck.length == 1) return true; + else if(customCheck.length == 2 && serverCheck.length == 2){ + return customCheck[1] <= serverCheck[1]; + } + else return serverCheck.length == 2; + } + } +} |