public static void init() { BookLoader.registerPageType(ContentMaterial.ID, ContentMaterial.class); BookLoader.registerPageType(ContentModifier.ID, ContentModifier.class); BookLoader.registerPageType(ContentModifierFortify.ID, ContentModifierFortify.class); BookLoader.registerPageType(ContentTool.ID, ContentTool.class); BookLoader.registerPageType(ContentSingleStatMultMaterial.ID, ContentSingleStatMultMaterial.class); BookLoader.registerPageType(ContentImageText2.ID, ContentImageText2.class); INSTANCE.addRepository(new FileRepository(Util.resource("book"))); INSTANCE.addTransformer(new ToolSectionTransformer()); INSTANCE.addTransformer(new MaterialSectionTransformer()); INSTANCE.addTransformer(new ModifierSectionTransformer()); INSTANCE.addTransformer(new BowMaterialSectionTransformer()); INSTANCE.addTransformer(BookTransformer.IndexTranformer()); } }
@Override public void preInit() { bookLoader = new BookLoader(); }
/** * Adds a book to the loader, and returns a reference object * Be warned that the returned BookData object is not immediately populated, and is instead populated when the resources are loaded/reloaded * * @param name The name of the book, modid: will be automatically appended to the front of the name unless that is already added * @param repositories All the repositories the book will load the sections from * @return The book object, not immediately populated */ public static BookData registerBook(String name, BookRepository... repositories) { return registerBook(name, true, true, repositories); }
String data = source.resourceToString(pageInfo); if(!data.isEmpty()) { Class<? extends PageContent> ctype = BookLoader.getPageType(type); content = BookLoader.getPageType(type).newInstance(); } catch(InstantiationException | IllegalAccessException | NullPointerException e) { content = new ContentError("Failed to create a page of type \"" + type + "\", perhaps the type is not registered?");
BookLoader.updateSavedPage(mc.player, item, ""); } else if(page != null && page.parent != null) { BookLoader.updateSavedPage(mc.player, item, page.parent.name + "." + page.name);
public BookLoader() { wrapper.registerPacketServer(PacketUpdateSavedPage.class); // Register page types registerPageType("blank", ContentBlank.class); registerPageType("text", ContentText.class); registerPageType("image", ContentImage.class); registerPageType("image with text below", ContentImageText.class); registerPageType("text with image below", ContentTextImage.class); registerPageType("text with left image etch", ContentTextLeftImage.class); registerPageType("text with right image etch", ContentTextRightImage.class); registerPageType("crafting", ContentCrafting.class); registerPageType("smelting", ContentSmelting.class); registerPageType("smithing", ContentSmithing.class); registerPageType("block interaction", ContentBlockInteraction.class); registerPageType("structure", ContentStructure.class); // Register action protocols StringActionProcessor.registerProtocol(new ProtocolGoToPage()); StringActionProcessor.registerProtocol(new ProtocolGoToPage(true, ProtocolGoToPage.GO_TO_RTN)); }