diff --git a/pom.xml b/pom.xml
index d027543..3347cf6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
4.0.0
mineverse.Aust1n46.chat
VentureChat
- 3.4.2_1.19_patch
+ 3.4.4
https://bitbucket.org/Aust1n46/venturechat/src/master
https://bitbucket.org/Aust1n46/venturechat/src/master
diff --git a/src/main/java/mineverse/Aust1n46/chat/utilities/Format.java b/src/main/java/mineverse/Aust1n46/chat/utilities/Format.java
index 8878080..dfd2070 100644
--- a/src/main/java/mineverse/Aust1n46/chat/utilities/Format.java
+++ b/src/main/java/mineverse/Aust1n46/chat/utilities/Format.java
@@ -449,7 +449,11 @@ public class Format {
public static PacketContainer createPacketPlayOutChat(String json) {
final PacketContainer container;
- if (VersionHandler.isUnder_1_19()) {
+ if (VersionHandler.isAbove_1_19()) {
+ container = new PacketContainer(PacketType.Play.Server.SYSTEM_CHAT);
+ container.getStrings().write(0, json);
+ container.getBooleans().write(0, false);
+ } else if (VersionHandler.isUnder_1_19()) {
WrappedChatComponent component = WrappedChatComponent.fromJson(json);
container = new PacketContainer(PacketType.Play.Server.CHAT);
container.getModifier().writeDefaults();
@@ -464,7 +468,11 @@ public class Format {
public static PacketContainer createPacketPlayOutChat(WrappedChatComponent component) {
final PacketContainer container;
- if (VersionHandler.isUnder_1_19()) {
+ if (VersionHandler.isAbove_1_19()) {
+ container = new PacketContainer(PacketType.Play.Server.SYSTEM_CHAT);
+ container.getStrings().write(0, component.getJson());
+ container.getBooleans().write(0, false);
+ } else if (VersionHandler.isUnder_1_19()) {
container = new PacketContainer(PacketType.Play.Server.CHAT);
container.getModifier().writeDefaults();
container.getChatComponents().write(0, component);
diff --git a/src/main/java/mineverse/Aust1n46/chat/versions/VersionHandler.java b/src/main/java/mineverse/Aust1n46/chat/versions/VersionHandler.java
index 53a2a74..6447bb2 100644
--- a/src/main/java/mineverse/Aust1n46/chat/versions/VersionHandler.java
+++ b/src/main/java/mineverse/Aust1n46/chat/versions/VersionHandler.java
@@ -1,67 +1,77 @@
package mineverse.Aust1n46.chat.versions;
-import org.bukkit.Bukkit;
+import com.comphenix.protocol.utility.MinecraftVersion;
-//This class contains methods for determining what version of Minecraft the server is running.
-public class VersionHandler {
+public final class VersionHandler {
+
+ public static final MinecraftVersion SERVER_VERSION = MinecraftVersion.getCurrentVersion();
+ private static final MinecraftVersion MC1_19 = new MinecraftVersion(1, 19, 0);
+ private static final MinecraftVersion MC1_19_1 = new MinecraftVersion(1, 19, 1);
+
+ private VersionHandler() {
+ }
public static boolean is1_7() {
- return Bukkit.getVersion().contains("1.7");
+ return SERVER_VERSION.getMinor() == 7 && SERVER_VERSION.getMajor() == 1;
}
-
+
public static boolean is1_8() {
- return Bukkit.getVersion().contains("1.8");
+ return SERVER_VERSION.getMinor() == 8 && SERVER_VERSION.getMajor() == 1;
}
-
+
public static boolean is1_9() {
- return Bukkit.getVersion().contains("1.9");
+ return SERVER_VERSION.getMinor() == 9 && SERVER_VERSION.getMajor() == 1;
}
-
+
public static boolean is1_10() {
- return Bukkit.getVersion().contains("1.10");
+ return SERVER_VERSION.getMinor() == 10 && SERVER_VERSION.getMajor() == 1;
}
-
+
public static boolean is1_11() {
- return Bukkit.getVersion().contains("1.11");
+ return SERVER_VERSION.getMinor() == 11 && SERVER_VERSION.getMajor() == 1;
}
-
+
public static boolean is1_12() {
- return Bukkit.getVersion().contains("1.12");
+ return SERVER_VERSION.getMinor() == 12 && SERVER_VERSION.getMajor() == 1;
}
-
+
public static boolean is1_13() {
- return Bukkit.getVersion().contains("1.13");
+ return SERVER_VERSION.getMinor() == 13 && SERVER_VERSION.getMajor() == 1;
}
-
+
public static boolean is1_14() {
- return Bukkit.getVersion().contains("1.14");
+ return SERVER_VERSION.getBuild() != 4 && SERVER_VERSION.getMinor() == 14 && SERVER_VERSION.getMajor() == 1;
}
-
+
public static boolean is1_14_4() {
- return Bukkit.getVersion().contains("1.14.4");
+ return SERVER_VERSION.getBuild() == 4 && SERVER_VERSION.getMinor() == 14 && SERVER_VERSION.getMajor() == 1;
}
-
+
public static boolean is1_15() {
- return Bukkit.getVersion().contains("1.15");
+ return SERVER_VERSION.getMinor() == 15 && SERVER_VERSION.getMajor() == 1;
}
-
+
public static boolean is1_16() {
- return Bukkit.getVersion().contains("1.16");
+ return SERVER_VERSION.getMinor() == 16 && SERVER_VERSION.getMajor() == 1;
}
-
+
public static boolean is1_17() {
- return Bukkit.getVersion().contains("1.17");
+ return SERVER_VERSION.getMinor() == 17 && SERVER_VERSION.getMajor() == 1;
}
-
+
public static boolean is1_18() {
- return Bukkit.getVersion().contains("1.18");
+ return SERVER_VERSION.getMinor() == 18 && SERVER_VERSION.getMajor() == 1;
}
-
+
public static boolean is1_19() {
- return Bukkit.getVersion().contains("1.19");
+ return SERVER_VERSION.getBuild() == 0 && SERVER_VERSION.getMinor() == 19 && SERVER_VERSION.getMajor() == 1;
}
-
+
public static boolean isUnder_1_19() {
- return is1_7() || is1_8() || is1_9() || is1_10() || is1_11() || is1_12() || is1_13() || is1_14() || is1_15() || is1_16() || is1_17() || is1_18();
+ return !SERVER_VERSION.isAtLeast(MC1_19);
+ }
+
+ public static boolean isAbove_1_19() {
+ return SERVER_VERSION.isAtLeast(MC1_19_1);
}
}