From 88c1d100e92a51106254302bd9b4d36088a60f45 Mon Sep 17 00:00:00 2001 From: NorbiPeti Date: Wed, 23 Oct 2019 02:40:34 +0200 Subject: [PATCH] Using parent & hopefully fixed #109 --- .travis.yml | 3 +-- pom.xml | 22 +++++------------- .../broadcaster/PlayerListWatcher.java | 23 +++++++------------ 3 files changed, 15 insertions(+), 33 deletions(-) diff --git a/.travis.yml b/.travis.yml index 1d962ae..7a60b95 100755 --- a/.travis.yml +++ b/.travis.yml @@ -9,9 +9,8 @@ before_install: | # Wget BuildTools and run if cached folder not found fi language: java jdk: - - oraclejdk8 + - oraclejdk11 sudo: true -dist: trusty # Needed for Java 8, although we might not need Java 8 deploy: # deploy develop to the staging environment - provider: script diff --git a/pom.xml b/pom.xml index 20b2069..65d6d72 100755 --- a/pom.xml +++ b/pom.xml @@ -2,6 +2,12 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 + + com.github.TBMCPlugins.ButtonCore + CorePOM + master-SNAPSHOT + + com.github.TBMCPlugins DiscordPlugin master-SNAPSHOT @@ -34,22 +40,6 @@ DiscordPlugin - - maven-compiler-plugin - 3.6.2 - - 10 - 10 - - - - org.apache.maven.plugins maven-shade-plugin diff --git a/src/main/java/buttondevteam/discordplugin/broadcaster/PlayerListWatcher.java b/src/main/java/buttondevteam/discordplugin/broadcaster/PlayerListWatcher.java index 6bfb220..a424555 100755 --- a/src/main/java/buttondevteam/discordplugin/broadcaster/PlayerListWatcher.java +++ b/src/main/java/buttondevteam/discordplugin/broadcaster/PlayerListWatcher.java @@ -142,22 +142,15 @@ public class PlayerListWatcher { } }); plist = currentPL; - try { - Field mpf = mock.getClass().getField("maxPlayers"); - mpf.setAccessible(true); - Field modf = mpf.getClass().getDeclaredField("modifiers"); - modf.setAccessible(true); - modf.set(mpf, mpf.getModifiers() & ~Modifier.FINAL); - mpf.set(mock, mpf.get(plist)); - } catch (NoSuchFieldException ignored) { - //The field no longer exists on 1.14 + for (var plc = dplc; plc != null; plc = plc.getSuperclass()) { //Set all fields + for (var f : plc.getDeclaredFields()) { + f.setAccessible(true); + Field modf = f.getClass().getDeclaredField("modifiers"); + modf.setAccessible(true); + modf.set(f, f.getModifiers() & ~Modifier.FINAL); + f.set(mock, f.get(plist)); + } } - Field plf = mock.getClass().getField("players"); - plf.setAccessible(true); - Field modf = plf.getClass().getDeclaredField("modifiers"); - modf.setAccessible(true); - modf.set(plf, plf.getModifiers() & ~Modifier.FINAL); - plf.set(mock, plf.get(plist)); } try { server.getClass().getMethod("a", dplc).invoke(server, up ? mock : plist);