diff --git a/src/main/java/ch/njol/skript/expressions/ExprPlayerProtocolVersion.java b/src/main/java/ch/njol/skript/expressions/ExprPlayerProtocolVersion.java
new file mode 100644
index 00000000000..55b079b2820
--- /dev/null
+++ b/src/main/java/ch/njol/skript/expressions/ExprPlayerProtocolVersion.java
@@ -0,0 +1,59 @@
+/**
+ * This file is part of Skript.
+ *
+ * Skript is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Skript is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Skript. If not, see .
+ *
+ * Copyright Peter Güttinger, SkriptLang team and contributors
+ */
+package ch.njol.skript.expressions;
+
+import ch.njol.skript.Skript;
+import ch.njol.skript.doc.*;
+import ch.njol.skript.expressions.base.SimplePropertyExpression;
+import org.bukkit.entity.Player;
+import org.eclipse.jdt.annotation.Nullable;
+
+@Name("Player Protocol Version")
+@Description("Player's protocol version. For more information and list of protocol versions visit wiki.vg.")
+@Examples({"command /protocolversion <player>:",
+ "\ttrigger:",
+ "\t\tsend \"Protocol version of %arg-1%: %protocol version of arg-1%\""})
+@Since("INSERT VERSION")
+@RequiredPlugins("Paper 1.12.2 or newer")
+public class ExprPlayerProtocolVersion extends SimplePropertyExpression {
+
+ static {
+ if (Skript.classExists("com.destroystokyo.paper.network.NetworkClient")) {
+ register(ExprPlayerProtocolVersion.class, Integer.class, "protocol version", "players");
+ }
+ }
+
+ @Override
+ @Nullable
+ public Integer convert(Player player) {
+ int version = player.getProtocolVersion();
+ return version == -1 ? null : version;
+ }
+
+ @Override
+ public Class extends Integer> getReturnType() {
+ return Integer.class;
+ }
+
+ @Override
+ protected String getPropertyName() {
+ return "protocol version";
+ }
+
+}
diff --git a/src/main/java/ch/njol/skript/expressions/ExprProtocolVersion.java b/src/main/java/ch/njol/skript/expressions/ExprProtocolVersion.java
index 7689e55a4d9..276685c8347 100644
--- a/src/main/java/ch/njol/skript/expressions/ExprProtocolVersion.java
+++ b/src/main/java/ch/njol/skript/expressions/ExprProtocolVersion.java
@@ -59,7 +59,7 @@
public class ExprProtocolVersion extends SimpleExpression {
static {
- Skript.registerExpression(ExprProtocolVersion.class, Long.class, ExpressionType.SIMPLE, "[the] [(sent|required|fake)] protocol version [number]");
+ Skript.registerExpression(ExprProtocolVersion.class, Long.class, ExpressionType.SIMPLE, "[the] [server] [(sent|required|fake)] protocol version [number]");
}
private static final boolean PAPER_EVENT_EXISTS = Skript.classExists("com.destroystokyo.paper.event.server.PaperServerListPingEvent");