summaryrefslogtreewikicommitdiff
path: root/src/main/java/net
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/net')
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/Main.java31
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/command/map/Status.java3
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/command/util/CommandGroup.java2
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/database/Database.java17
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/game/listener/DisguiseHandler.java5
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/util/packet/EntityMetadataPacket.java17
6 files changed, 49 insertions, 26 deletions
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/Main.java b/src/main/java/net/tylermurphy/hideAndSeek/Main.java
index 36d92ee..be1c445 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/Main.java
+++ b/src/main/java/net/tylermurphy/hideAndSeek/Main.java
@@ -34,6 +34,7 @@ public class Main extends JavaPlugin implements Listener {
private static Main instance;
private static int version;
+ private static int sub_version;
private Database database;
private Board board;
@@ -189,12 +190,28 @@ public class Main extends JavaPlugin implements Listener {
}
private void updateVersion(){
- Matcher matcher = Pattern.compile("MC: \\d\\.(\\d+)").matcher(Bukkit.getVersion());
+ Matcher matcher = Pattern.compile("MC: \\d\\.(\\d+).(\\d+)").matcher(Bukkit.getVersion());
if (matcher.find()) {
version = Integer.parseInt(matcher.group(1));
- } else {
- throw new IllegalArgumentException("Failed to parse server version from: " + Bukkit.getVersion());
- }
+ sub_version = Integer.parseInt(matcher.group(2));
+
+ getLogger().info("Identified server version: " + version);
+ getLogger().info("Identified server sub version: " + sub_version);
+
+ return;
+ }
+
+ matcher = Pattern.compile("MC: \\d\\.(\\d+)").matcher(Bukkit.getVersion());
+ if (matcher.find()) {
+ version = Integer.parseInt(matcher.group(1));
+ sub_version = 0;
+
+ getLogger().info("Identified server version: " + version);
+
+ return;
+ }
+
+ throw new IllegalArgumentException("Failed to parse server version from: " + Bukkit.getVersion());
}
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command cmd, @NotNull String label, String[] args) {
@@ -244,6 +261,10 @@ public class Main extends JavaPlugin implements Listener {
return version >= v;
}
+ public boolean supports(int v, int s){
+ return (version == v) ? sub_version >= s : version >= v;
+ }
+
public java.util.List<String> getWorlds() {
java.util.List<String> worlds = new ArrayList<>();
File[] containers = getWorldContainer().listFiles();
@@ -268,4 +289,4 @@ public class Main extends JavaPlugin implements Listener {
Bukkit.getServer().getScheduler().runTask(this, task);
}
-} \ No newline at end of file
+}
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/command/map/Status.java b/src/main/java/net/tylermurphy/hideAndSeek/command/map/Status.java
index 90615e5..79036b1 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/command/map/Status.java
+++ b/src/main/java/net/tylermurphy/hideAndSeek/command/map/Status.java
@@ -49,6 +49,7 @@ public class Status implements ICommand {
}
if (map.isBlockHuntEnabled() && map.getBlockHunt().isEmpty()) {
msg = msg + "\n" + message("SETUP_BLOCKHUNT");
+ count++;
}
if (count < 1) {
sender.sendMessage(messagePrefix + message("SETUP_COMPLETE"));
@@ -76,4 +77,4 @@ public class Status implements ICommand {
return null;
}
-} \ No newline at end of file
+}
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/command/util/CommandGroup.java b/src/main/java/net/tylermurphy/hideAndSeek/command/util/CommandGroup.java
index 06e9c33..80e531e 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/command/util/CommandGroup.java
+++ b/src/main/java/net/tylermurphy/hideAndSeek/command/util/CommandGroup.java
@@ -51,7 +51,7 @@ public class CommandGroup {
if (data == null) {
player.sendMessage(
- String.format("%s%sKenshin's Hide and Seek %s(%s1.7.2%s)\n", ChatColor.AQUA, ChatColor.BOLD, ChatColor.GRAY, ChatColor.WHITE, ChatColor.GRAY) +
+ String.format("%s%sKenshin's Hide and Seek %s(%s1.7.3%s)\n", ChatColor.AQUA, ChatColor.BOLD, ChatColor.GRAY, ChatColor.WHITE, ChatColor.GRAY) +
String.format("%sAuthor: %s[KenshinEto]\n", ChatColor.GRAY, ChatColor.WHITE) +
String.format("%sHelp Command: %s/hs %shelp", ChatColor.GRAY, ChatColor.AQUA, ChatColor.WHITE)
);
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/database/Database.java b/src/main/java/net/tylermurphy/hideAndSeek/database/Database.java
index 1c56fe7..58c13cc 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/database/Database.java
+++ b/src/main/java/net/tylermurphy/hideAndSeek/database/Database.java
@@ -1,21 +1,22 @@
package net.tylermurphy.hideAndSeek.database;
-import com.google.common.io.ByteStreams;
-import net.tylermurphy.hideAndSeek.Main;
-import net.tylermurphy.hideAndSeek.database.connections.DatabaseConnection;
-import net.tylermurphy.hideAndSeek.database.connections.MySQLConnection;
-import net.tylermurphy.hideAndSeek.database.connections.SQLiteConnection;
+import static net.tylermurphy.hideAndSeek.configuration.Config.databaseType;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
+import java.nio.Buffer;
import java.nio.ByteBuffer;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.UUID;
-import static net.tylermurphy.hideAndSeek.configuration.Config.databasePort;
-import static net.tylermurphy.hideAndSeek.configuration.Config.databaseType;
+import com.google.common.io.ByteStreams;
+
+import net.tylermurphy.hideAndSeek.Main;
+import net.tylermurphy.hideAndSeek.database.connections.DatabaseConnection;
+import net.tylermurphy.hideAndSeek.database.connections.MySQLConnection;
+import net.tylermurphy.hideAndSeek.database.connections.SQLiteConnection;
public class Database {
@@ -96,7 +97,7 @@ public class Database {
ByteBuffer buffer = ByteBuffer.allocate(16);
try {
buffer.put(ByteStreams.toByteArray(is));
- buffer.flip();
+ ((Buffer)buffer).flip();
return new UUID(buffer.getLong(), buffer.getLong());
} catch (IOException e) {
Main.getInstance().getLogger().severe("IO Error: " + e.getMessage());
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/game/listener/DisguiseHandler.java b/src/main/java/net/tylermurphy/hideAndSeek/game/listener/DisguiseHandler.java
index 68eb26b..3f99d2e 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/game/listener/DisguiseHandler.java
+++ b/src/main/java/net/tylermurphy/hideAndSeek/game/listener/DisguiseHandler.java
@@ -9,6 +9,7 @@ import com.comphenix.protocol.events.PacketContainer;
import com.comphenix.protocol.events.PacketEvent;
import com.comphenix.protocol.wrappers.EnumWrappers;
import com.comphenix.protocol.wrappers.WrappedEnumEntityUseAction;
+import com.comphenix.protocol.wrappers.EnumWrappers.EntityUseAction;
import com.cryptomorin.xseries.XSound;
import com.cryptomorin.xseries.messages.ActionBar;
import net.tylermurphy.hideAndSeek.Main;
@@ -54,9 +55,9 @@ public class DisguiseHandler implements Listener {
PacketContainer packet = event.getPacket();
// only left click attacks
- WrappedEnumEntityUseAction action = packet.getEnumEntityUseActions().getValues().stream().findFirst().orElse(null);
+ EntityUseAction action = packet.getEntityUseActions().getValues().stream().findFirst().orElse(null);
if (action == null) return;
- if (action.getAction() != EnumWrappers.EntityUseAction.ATTACK) return;
+ if (action != EnumWrappers.EntityUseAction.ATTACK) return;
Player player = event.getPlayer();
int id = packet.getIntegers().read(0);
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/util/packet/EntityMetadataPacket.java b/src/main/java/net/tylermurphy/hideAndSeek/util/packet/EntityMetadataPacket.java
index d77a227..051e4ae 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/util/packet/EntityMetadataPacket.java
+++ b/src/main/java/net/tylermurphy/hideAndSeek/util/packet/EntityMetadataPacket.java
@@ -4,6 +4,9 @@ import com.comphenix.protocol.PacketType;
import com.comphenix.protocol.wrappers.WrappedDataValue;
import com.comphenix.protocol.wrappers.WrappedDataWatcher;
import com.comphenix.protocol.wrappers.WrappedWatchableObject;
+
+import net.tylermurphy.hideAndSeek.Main;
+
import org.bukkit.entity.Entity;
import org.jetbrains.annotations.NotNull;
@@ -36,12 +39,7 @@ public class EntityMetadataPacket extends AbstractPacket {
public void writeMetadata() {
- // thank you to
- // https://www.spigotmc.org/threads/unable-to-modify-entity-metadata-packet-using-protocollib-1-19-3.582442/
-
- try {
- // 1.19.3 And Up
- Class.forName("com.comphenix.protocol.wrappers.WrappedDataValue");
+ if (Main.getInstance().supports(19, 3)) {
final List<WrappedDataValue> wrappedDataValueList = new ArrayList<>();
@@ -60,11 +58,12 @@ public class EntityMetadataPacket extends AbstractPacket {
packet.getDataValueCollectionModifier().write(0, wrappedDataValueList);
- } catch (ClassCastException | ClassNotFoundException ignored) {
- // 1.9 to 1.19.2 And Up
+ } else {
+
packet.getWatchableCollectionModifier().write(0, watcher.getWatchableObjects());
+
}
}
-} \ No newline at end of file
+}