Simply using the SnakeYaml default (which in turn defaults to Class.forName) appears to be enough to get the classes for our custom configuration. This avoid Bukkit depreciation.

This commit is contained in:
md_5 2012-12-19 19:10:02 +11:00 committed by KHobbits
parent 9ba5f43315
commit e2e6bb3876

View file

@ -284,7 +284,8 @@ public class BukkitConstructor extends Constructor
final Field typeDefField = Constructor.class.getDeclaredField("typeDefinitions");
typeDefField.setAccessible(true);
typeDefinitions = (Map<Class<? extends Object>, TypeDescription>)typeDefField.get((Constructor)BukkitConstructor.this);
if (typeDefinitions == null) {
if (typeDefinitions == null)
{
throw new NullPointerException();
}
}
@ -402,29 +403,4 @@ public class BukkitConstructor extends Constructor
return object;
}
}
@Override
protected Class<?> getClassForNode(final Node node)
{
Class<?> clazz;
final String name = node.getTag().getClassName();
if (plugin == null)
{
clazz = super.getClassForNode(node);
}
else
{
final JavaPluginLoader jpl = (JavaPluginLoader)plugin.getPluginLoader();
clazz = jpl.getClassByName(name);
}
if (clazz == null)
{
throw new YAMLException("Class not found: " + name);
}
else
{
return clazz;
}
}
}