From 8624e546305022d4493f6dde81a73db25fa40aae Mon Sep 17 00:00:00 2001 From: Duy Tran Khanh Date: Sun, 2 Jan 2022 06:25:40 +0700 Subject: [PATCH] Bug fix: NPE when setting inherited fields Unable to insert id=null java.lang.NoSuchFieldException: id at java.lang.Class.getDeclaredField(Class.java:2070) at net.kdt.pojavlaunch.Tools.insertSafety(Tools.java:544) at net.kdt.pojavlaunch.Tools.getVersionInfo(Tools.java:466) at net.kdt.pojavlaunch.PLaunchApp.launchMinecraft(PLaunchApp.java:61) at net.kdt.pojavlaunch.uikit.UIKit.callback_SurfaceViewController_launchMi necraft(UIKit.java:104) at net.kdt.pojavlaunch.uikit.UIKit.launchUI(Native Method) at net.kdt.pojavlaunch.PLaunchApp.main(PLaunchApp.java:40) --- JavaApp/src/main/java/net/kdt/pojavlaunch/Tools.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/JavaApp/src/main/java/net/kdt/pojavlaunch/Tools.java b/JavaApp/src/main/java/net/kdt/pojavlaunch/Tools.java index 3ede47ea..8613a50b 100644 --- a/JavaApp/src/main/java/net/kdt/pojavlaunch/Tools.java +++ b/JavaApp/src/main/java/net/kdt/pojavlaunch/Tools.java @@ -541,10 +541,10 @@ public final class Tools for (String key : keyArr) { Object value = null; try { - Field fieldA = fromVer.getClass().getDeclaredField(key); + Field fieldA = fromVer.getClass().getField(key); value = fieldA.get(fromVer); if (((value instanceof String) && !((String) value).isEmpty()) || value != null) { - Field fieldB = targetVer.getClass().getDeclaredField(key); + Field fieldB = targetVer.getClass().getField(key); fieldB.set(targetVer, value); } } catch (Throwable th) {