13
0
geforkt von Mirrors/Paper

Some small touchups to the GUI (#11505)

As noted on the issue, the method here can blow up in
certain cases, the GUI logic already handles "the mouse is missing",
and so, we'll just catch this and move on.

Misc fix - There is probably an issue report for this somewhere,
but, the details section utilised the bukkit singleton to try to get
the TPS from the server. We already have the MinecraftServer instance
passed into us, and so we'll just get the information directly from there instead.

Fixes: #11494
Dieser Commit ist enthalten in:
Shane Freeder 2024-10-21 00:10:10 +01:00
Ursprung 9ad769150f
Commit 5912598c02
2 geänderte Dateien mit 20 neuen und 3 gelöschten Zeilen

Datei anzeigen

@ -15,7 +15,12 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
GraphData data = RAMGraph.DATA.peekLast();
Vector<String> vector = new Vector<>();
+
+ double[] tps = org.bukkit.Bukkit.getTPS();
+ // Follows CraftServer#getTPS
+ double[] tps = new double[] {
+ server.tps1.getAverage(),
+ server.tps5.getAverage(),
+ server.tps15.getAverage()
+ };
+ String[] tpsAvg = new String[tps.length];
+
+ for ( int g = 0; g < tps.length; g++) {

Datei anzeigen

@ -313,7 +313,14 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ Runtime jvm = Runtime.getRuntime();
+ DATA.add(new GraphData(jvm.totalMemory(), jvm.freeMemory(), jvm.maxMemory()));
+
+ PointerInfo pointerInfo = MouseInfo.getPointerInfo();
+ PointerInfo pointerInfo = null;
+ // I think I recall spotting a bug report where this throwed an exception once
+ // not sure it's of concern here
+ try {
+ pointerInfo = MouseInfo.getPointerInfo();
+ } catch (NullPointerException | ArrayIndexOutOfBoundsException ignored) {
+ // https://bugs.openjdk.org/browse/JDK-6840067
+ }
+ if (pointerInfo != null) {
+ Point point = pointerInfo.getLocation();
+ if (point != null) {
@ -360,7 +367,12 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ graphics.setColor(new Color(0xFF000000));
+ graphics.drawRect(0, 0, 348, 100);
+
+ Point m = getMousePosition();
+ Point m = null;
+ try {
+ m = getMousePosition();
+ } catch (NullPointerException ignored) {
+ // https://bugs.openjdk.org/browse/JDK-6840067
+ }
+ if (m != null && m.x > 0 && m.x < 348 && m.y > 0 && m.y < 100) {
+ GraphData data = DATA.get(m.x);
+ int used = data.getUsedPercent();