setPages method in BookUtils.java can improve performance
Closed this issue · 0 comments
berberman commented
static Result setPages(BookMeta book, String... pages){
List<Object> listPages = (List<Object>) ReflectionUtils.getField(PackageType.CRAFTBUKKIT_INVENTORY.getClass("CraftMetaBook"),true,"pages").get(book);
Object ChatSerializer = ReflectionUtils.PackageType.MINECRAFT_SERVER.getClass("IChatBaseComponent$ChatSerializer").newInstance();
Method ChatSerializer_a = ReflectionUtils.getMethod(ReflectionUtils.PackageType.MINECRAFT_SERVER
.getClass("IChatBaseComponent$ChatSerializer"), "a", String.class);
for (String page : pages)
listPages.add(ChatSerializer_a.invoke(ChatSerializer, page));
return Result.success();
}
The method a(String)
in ChatSerializer you call by reflection is static, so it's redundant to create new a instance to be the receiver. Like this:
listPages.add(ChatSerializer_a.invoke(null, page));