UnknownStudio/UDPLib

setPages method in BookUtils.java can improve performance

Closed this issue · 0 comments

	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));