From 2a22d259753e5daf3d7d5c4b5a24a61d6b6aadbb Mon Sep 17 00:00:00 2001 From: cyberpwn Date: Sun, 29 Aug 2021 22:53:37 -0400 Subject: [PATCH] Working snippets (without autocomplete) --- .../java/com/volmit/iris/core/loader/IrisData.java | 2 +- .../com/volmit/iris/core/project/SchemaBuilder.java | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/volmit/iris/core/loader/IrisData.java b/src/main/java/com/volmit/iris/core/loader/IrisData.java index a9a326e8d..944c790ad 100644 --- a/src/main/java/com/volmit/iris/core/loader/IrisData.java +++ b/src/main/java/com/volmit/iris/core/loader/IrisData.java @@ -405,7 +405,7 @@ public class IrisData implements ExclusionStrategy, TypeAdapterFactory { if(r.startsWith("snippet/" + snippetType + "/")) { - File f = new File(getDataFolder(), r); + File f = new File(getDataFolder(), r + ".json"); if(f.exists()) { diff --git a/src/main/java/com/volmit/iris/core/project/SchemaBuilder.java b/src/main/java/com/volmit/iris/core/project/SchemaBuilder.java index 52f854ca0..a707201ac 100644 --- a/src/main/java/com/volmit/iris/core/project/SchemaBuilder.java +++ b/src/main/java/com/volmit/iris/core/project/SchemaBuilder.java @@ -523,20 +523,30 @@ public class SchemaBuilder { d.add(fancyType); d.add(getDescription(k.getType())); + if(k.getType().isAnnotationPresent(Snippet.class)) + { + String sm = k.getType().getDeclaredAnnotation(Snippet.class).value(); + d.add(" "); + d.add("You can instead specify \"snippet/" + sm + "/some-name.json\" to use a snippet file instead of specifying it here."); + } + try { k.setAccessible(true); Object value = k.get(cl.newInstance()); if (value != null) { if (value instanceof List) { + d.add(" "); d.add("* Default Value is an empty list"); } else if (!cl.isPrimitive() && !(value instanceof Number) && !(value instanceof String) && !(cl.isEnum())) { + d.add(" "); d.add("* Default Value is a default object (create this object to see default properties)"); } else { + d.add(" "); d.add("* Default Value is " + value); } } - } catch (Throwable ignored) { + } catch (Throwable ignored) { }