From ea9a782975c517033b019732fffb54b5220a1ff2 Mon Sep 17 00:00:00 2001 From: sky Date: Sat, 21 Dec 2019 20:35:35 +0800 Subject: [PATCH] Fix Reflection --- .../taboolib/module/db/local/LocalPlayer.java | 2 + .../module/lite/SimpleReflection.java | 54 +++++++++---------- .../scala/io/izzel/tlibscala/AsyncTask.scala | 1 - .../scala/io/izzel/tlibscala/Example.scala | 1 - 4 files changed, 29 insertions(+), 29 deletions(-) diff --git a/src/main/scala/io/izzel/taboolib/module/db/local/LocalPlayer.java b/src/main/scala/io/izzel/taboolib/module/db/local/LocalPlayer.java index 1307c51..ddc8dc2 100644 --- a/src/main/scala/io/izzel/taboolib/module/db/local/LocalPlayer.java +++ b/src/main/scala/io/izzel/taboolib/module/db/local/LocalPlayer.java @@ -31,6 +31,7 @@ public class LocalPlayer { files.forEach((name, file) -> { try { file.save(toFile(name)); + } catch (NullPointerException ignored) { } catch (Throwable t) { t.printStackTrace(); } @@ -43,6 +44,7 @@ public class LocalPlayer { if (toPlayer(name) == null) { try { files.remove(name).save(toFile(name)); + } catch (NullPointerException ignored) { } catch (Throwable t) { t.printStackTrace(); } diff --git a/src/main/scala/io/izzel/taboolib/module/lite/SimpleReflection.java b/src/main/scala/io/izzel/taboolib/module/lite/SimpleReflection.java index 279c416..d693498 100644 --- a/src/main/scala/io/izzel/taboolib/module/lite/SimpleReflection.java +++ b/src/main/scala/io/izzel/taboolib/module/lite/SimpleReflection.java @@ -63,50 +63,50 @@ public class SimpleReflection { } public static void setFieldValue(Class nmsClass, Object instance, String fieldName, Object value) { + Map fields = fieldCached.get(nmsClass.getName()); + if (fields == null) { + throw new RuntimeException("Not Found Cache."); + } + Field field = fields.get(fieldName); + if (value == null) { + throw new RuntimeException("Not Found Field."); + } try { - Map fields = fieldCached.get(nmsClass.getName()); - if (fields == null) { - throw new RuntimeException("Not Found Cache."); - } - Field field = fields.get(fieldName); - if (value == null) { - throw new RuntimeException("Not Found Field."); - } field.set(instance, value); - } catch (Exception e) { + } catch (IllegalAccessException e) { e.printStackTrace(); } } public static Object getFieldValue(Class nmsClass, Object instance, String fieldName) { + Map fields = fieldCached.get(nmsClass.getName()); + if (fields == null) { + throw new RuntimeException("Not Found Cache."); + } + Field field = fields.get(fieldName); + if (field == null) { + throw new RuntimeException("Not Found Field."); + } try { - Map fields = fieldCached.get(nmsClass.getName()); - if (fields == null) { - throw new RuntimeException("Not Found Cache."); - } - Field field = fields.get(fieldName); - if (field == null) { - throw new RuntimeException("Not Found Field."); - } return field.get(instance); - } catch (Exception e) { + } catch (IllegalAccessException e) { e.printStackTrace(); } return null; } public static T getFieldValue(Class nmsClass, Object instance, String fieldName, T def) { + Map fields = fieldCached.get(nmsClass.getName()); + if (fields == null) { + throw new RuntimeException("Not Found Cache."); + } + Field field = fields.get(fieldName); + if (field == null) { + throw new RuntimeException("Not Found Field."); + } try { - Map fields = fieldCached.get(nmsClass.getName()); - if (fields == null) { - throw new RuntimeException("Not Found Cache."); - } - Field field = fields.get(fieldName); - if (field == null) { - throw new RuntimeException("Not Found Field."); - } return (T) field.get(instance); - } catch (Exception e) { + } catch (IllegalAccessException e) { e.printStackTrace(); } return def; diff --git a/src/main/scala/io/izzel/tlibscala/AsyncTask.scala b/src/main/scala/io/izzel/tlibscala/AsyncTask.scala index 0f5c6ce..06e88b0 100644 --- a/src/main/scala/io/izzel/tlibscala/AsyncTask.scala +++ b/src/main/scala/io/izzel/tlibscala/AsyncTask.scala @@ -15,5 +15,4 @@ object AsyncTask { def apply(init: Long, period: Long)(task: => Any)(implicit plugin: Plugin): Int = { ScalaTaskExecutor(task).runTaskTimerAsynchronously(plugin, init, period).getTaskId } - } diff --git a/src/main/scala/io/izzel/tlibscala/Example.scala b/src/main/scala/io/izzel/tlibscala/Example.scala index 6a9b843..0ac507f 100644 --- a/src/main/scala/io/izzel/tlibscala/Example.scala +++ b/src/main/scala/io/izzel/tlibscala/Example.scala @@ -29,5 +29,4 @@ class Example extends JavaPlugin with Listener { class a assert(this == JavaPlugin.getProvidingPlugin(classOf[a])) } - }