Working snippets (without autocomplete)

This commit is contained in:
cyberpwn 2021-08-29 22:53:37 -04:00
parent 875adc8bdf
commit 2a22d25975
2 changed files with 12 additions and 2 deletions

View File

@ -405,7 +405,7 @@ public class IrisData implements ExclusionStrategy, TypeAdapterFactory {
if(r.startsWith("snippet/" + snippetType + "/")) if(r.startsWith("snippet/" + snippetType + "/"))
{ {
File f = new File(getDataFolder(), r); File f = new File(getDataFolder(), r + ".json");
if(f.exists()) if(f.exists())
{ {

View File

@ -523,20 +523,30 @@ public class SchemaBuilder {
d.add(fancyType); d.add(fancyType);
d.add(getDescription(k.getType())); 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 { try {
k.setAccessible(true); k.setAccessible(true);
Object value = k.get(cl.newInstance()); Object value = k.get(cl.newInstance());
if (value != null) { if (value != null) {
if (value instanceof List) { if (value instanceof List) {
d.add(" ");
d.add("* Default Value is an empty list"); d.add("* Default Value is an empty list");
} else if (!cl.isPrimitive() && !(value instanceof Number) && !(value instanceof String) && !(cl.isEnum())) { } 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)"); d.add("* Default Value is a default object (create this object to see default properties)");
} else { } else {
d.add(" ");
d.add("* Default Value is " + value); d.add("* Default Value is " + value);
} }
} }
} catch (Throwable ignored) { } catch (Throwable ignored) {
} }