diff options
Diffstat (limited to 'src/main/java/net')
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 +} |