Skip to content

Commit 0d73fb7

Browse files
committed
Merge branch 'master' into feature/use-java-8-and-spigot-api
# Conflicts: # build.gradle.kts
2 parents 0c97efb + 788fda2 commit 0d73fb7

File tree

2 files changed

+30
-1
lines changed

2 files changed

+30
-1
lines changed
+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
44
networkTimeout=10000
55
zipStoreBase=GRADLE_USER_HOME
66
zipStorePath=wrapper/dists

src/main/java/at/helpch/placeholderapi/expansion/server/util/ServerUtil.java

+29
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
package at.helpch.placeholderapi.expansion.server.util;
22

3+
import io.papermc.paper.ServerBuildInfo;
34
import org.bukkit.Bukkit;
45

56
import java.lang.reflect.Field;
67
import java.lang.reflect.InvocationTargetException;
78
import java.lang.reflect.Method;
89
import java.util.Map;
10+
import java.util.OptionalInt;
911
import java.util.TreeMap;
1012

1113
public final class ServerUtil {
@@ -35,6 +37,9 @@ public final class ServerUtil {
3537
}
3638

3739
private static String findVariant() {
40+
if (hasServerBuildInfo())
41+
return getVariant0();
42+
3843
for (final Map.Entry<String, String> entry : variants.entrySet()) {
3944
try {
4045
Class.forName(entry.getKey());
@@ -99,6 +104,9 @@ private static Field getTpsHandler() {
99104
}
100105

101106
private static String findBuild() {
107+
if (hasServerBuildInfo())
108+
return getBuild0();
109+
102110
String[] buildParts = Bukkit.getVersion().split("-");
103111

104112
switch (getVariant().toLowerCase()) {
@@ -159,4 +167,25 @@ public static double[] getTps() {
159167
}
160168
}
161169

170+
// Available since recent 1.20.6 versions of Paper. Allows easier retrieval of certain info.
171+
private static boolean hasServerBuildInfo() {
172+
try {
173+
Class.forName("io.papermc.paper.ServerBuildInfo");
174+
return true;
175+
} catch(ClassNotFoundException ignored) {
176+
return false;
177+
}
178+
}
179+
180+
private static String getVariant0() {
181+
return ServerBuildInfo.buildInfo().brandName();
182+
}
183+
184+
private static String getBuild0() {
185+
OptionalInt buildNumber = ServerBuildInfo.buildInfo().buildNumber();
186+
if (buildNumber.isEmpty())
187+
return "Unknown";
188+
189+
return String.valueOf(buildNumber.getAsInt());
190+
}
162191
}

0 commit comments

Comments
 (0)