summaryrefslogtreewikicommitdiff
path: root/src/main/java/net/tylermurphy/hideAndSeek/util
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/net/tylermurphy/hideAndSeek/util')
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/util/Packet.java18
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/util/Version.java45
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;
+ }
+ }
+}