The Twilight Forest

The Twilight Forest

143M Downloads

In-game Book/Guide/Documentation Specs

Drullkus opened this issue · 2 comments

commented

Book Functionality

  • Book item acts as a "gate" to accessing registered "knowledge" to player, like Thaumcraft, acting as reference while exploring. Major difference being far more mundane and modest than Thaumcraft's Thaumonomicon gui.
  • Book gui should be custom, instead of being regular like vanilla's plain scribable books.
    • Scales with window size.
    • Can have bookmarks.
      • Bookmarks set by book will be on top.
      • Bookmarks set by player will be on bottom.
  • More knowledge will be added to the book iteratively as the player progresses, discovering new biomes and killing mobs, including bosses.
    • Knowledge can also be added to book by adding "Torn-out Page" items.
      • If an entry ideally has multiple pages, rename item to "Torn-out Pages" instead.
      • Kobolds can drop "Torn-out Page(s)" items, to replace the Lost Explorer's books, if a player stumbles into a "locked" biome or "locked" structure.
        • Make Kobolds drop a page for making portal when player acquires an activation item. Cooldown should be every hour or so for kobolds spawning to give this. The only instance of kobolds appearing in the overworld!
  • Make the book content addable via json. This would make things massively easier to modify and move around. Would also allow modpackers to modify book contents.
    • Each type can have a page, or no page. It can also contain multiple pages.
      • folder: Acts as a grouper of topics and more folders.
        • Consider these like folders. These folders can also contain folders.
        • table_of_contents: Table of Contents.
          • enable: A boolean, if true, a ToC will be added to this folder in the front. False will not add a ToC.
          • depth: Integer of depth limit of listing topics.
          • mode: Mode of displaying topics.
            • Different types:
              • text: Plain text list of linkable titles. Allows depth.
              • icons: Text list of linkable titles with icons to the left. Allows depth.
              • gallery: "Gallery" of icons. Disallows depth. Tooltip shows title.
        • title: Title of content. Providing a translation key is optional.
        • bookmarked: A boolean to render a bookmark on top. Will show icon.
        • item: ItemStack to be presented as an icon. If invalid, defer to image. Should use common ItemStack deserializer provided by Vanilla.
        • image: Image to be presented as an icon. If invalid, defer to a default symbol or something.
        • criteria: A list of unlock criteria. If not assigned or empty, this group will be automatically unlocked.
        • contents: A list of ResourceLocations pointing to more content.
      • topic: Will contain content.
        • title: Title of content. Providing a translation key is optional.
        • bookmarked: A boolean to render a bookmark on top. Will show icon.
        • item: ItemStack to be presented as an icon. If invalid, defer to image. Should use common ItemStack deserializer provided by Vanilla.
        • image: Image to be presented as an icon. If invalid, defer to a default symbol or something.
        • criteria: A list of unlock criteria. If not assigned or empty, this topic will be automatically unlocked.
        • content: A list of content.
          • Each content object in-code must provide a height it requires for the book gui renderer, considering the height or width of its own content, including "spillovers" to next pages, if permitted.
            • title: Single-line fanciable title.
              • text: A string. Providing a translation key is optional in place. Add a parser to parse any formatting too.
              • criteria: A list of unlock criteria. If not assigned or empty, this paragraph will be automatically unlocked.
            • paragraph: Regular paragraph. Spilling over to next page is fine.
              • text: A list of text strings. Providing a translation key is optional in place. Add a parser to parse any formatting or hyperlinking too.
              • criteria: A list of unlock criteria. If not assigned or empty, this paragraph will be automatically unlocked.
            • image: An image to be rendered, without any border. Should be used for sketches of things. Spilling over to next page not allowed.
              • criteria: A list of unlock criteria. If not assigned or empty, this image will be automatically unlocked.
            • items: A list of items. Spilling over to next page allowed.
              • criteria: A list of unlock criteria. If not assigned or empty, this list will be automatically unlocked.
            • polaroid: An image to be rendered, with a polaroid frame. Image will be masked and scaled. Spilling over to next page not allowed.
              • criteria: A list of unlock criteria. If not assigned or empty, this image will be automatically unlocked.
            • polaroid_3d: A world of blocks to be rendered, with a polaroid frame. Visuals will be masked to fit frame. Image description too if provided. Spilling over to next page not allowed.
              • blocks: A list of layers of rows of blocks. Stacks in Y axis.
                • A list of rows of blocks. Stacks in Z axis.
                  • A list of blocks. Stacks in X axis. Can be block IDs or a character proxy.
              • index: A list of character proxy keys to add blocks to. Think crafting recipes.
              • criteria: A list of unlock criteria. If not assigned or empty, this visual will be automatically unlocked.
            • crafting_recipe: Display a crafting recipe.
              • criteria: A list of unlock criteria. If not assigned or empty, this recipe listing will be automatically unlocked.
    • Initialize this on world load, as well as adding a command for reloading since that it can't be attached to vanilla's /reload command.
  • Book content is unlockable with criteria, but due to advancement system being so deeply integrated into Minecraft without events or any other such exposure, we will need to make our own criteria system. Blah! Unless we can somehow shove in our own notifying listeners to the advancement triggers or whatever it’s called... hmmm.
  • Book pages can be flipped from start to finish, but Pages can be "hyper-linked" from page to page. "Table of Contents"-type pages are listd of these.
  • History of last pages visited. Would be an array of previous pages seen. Would serve as an easy "go back" thing.
  • Last page - Index
    • Is a dynamic list of all titles of topics in book.
    • Hardcoded to be last page of book.
    • Will have a text field to filter out the list

Book Content

This should be added all added via json. Androsa and Killer Demon can help flesh this out if they'd like. These are to be written in the eye of an explorer, and avoid explaining lore to keep the visual storytelling narrative. Keep descriptions to observations. Names are also essentially in the eyes of the explorer, avoiding true names of structures. "Explorer" should be abiguously the player themselves or some one who has long before the player entered the Forest themselves.

Non-locked stuff is prioritized over locked stuff in terms of ordering. Secondary ordering prioritization should follow old progression line (swamp -> dark forest -> snow area) despite newer delineated progression line, just for consistency. After that, order them by when the player would encounter them, and lastly, order them by rarity/threat level. If ordering lists, order the group of lists by whichever one of their child elements is considered first.

A lot, if not perhaps all, will be locked until a piece is discovered.

  • Book: Main Folder
    • World: Folder
      • Portal: Explains how to assemble a portal. Unlocked as kobold drop or player entered Twilight Dimension.
      • Magic Map: Explain to player to use a magic map to explore the world.
      • Biomes: Folder
        • General Biomes: Lists and describes all regular biomes. (Canopy, Plains, Firefly Forest, etc)
        • Deep Mushroom Forest
        • Twilight Lake
        • Enchanted Forest
        • Swamp
        • Fire Swamp
        • Dark Forest: Should also cover Center.
        • Snow Forest
        • Glacier
      • Landmarks: Folder
        • Minor Landmarks: Lists and describes all minor landmarks (Huts, stone circles, etc)
        • Hedge Maze
        • Hollow Hill
        • Naga Courtyard
        • Lich Tower
        • Labyrinth
        • Hydra Lair
        • Knight Stronghold
        • Dark Tower
        • Yeti Caves
        • Aurora Palace
        • Troll Caves
        • Giant House
        • Final Castle
    • Entities: Folder
      • Animals: Lists and describes all animals. Includes Quest Ram for now too.
      • Enemies: Folder
        • Kobold: Describes Kobold. Entry should be written as if Kobolds are pathetic.
        • Undead: Lists and describes Skeletal Druid, Wraith, Snow Guardians.
        • Wolves: Lists and describes Hostile Wolf, Mistwolf, Winter Wolf.
        • Arthopods: Lists and describes Hedge Spider, Swarm Spider, Mosquito Swarm, Slime Beetle, Fire Beetle, Pinch Beetle, King Spider, Towerwood Borer, Carminite Broodling.
        • Goblins: Lists and describes Redcap Goblin, Redcap Sapper, Block-and-Chain Goblin, and Goblin Knight (will be listed as so, but will really be Upper and Lower Goblin). Add a joke about not skipping leg day, for Lower Goblin.
        • Death Tome
        • Maze Slime
        • Minotaur
        • Ghasts: Lists and describes Carminite Ghastling and Carminite Ghastguard.
        • Yeti
        • Troll
        • Giants: Lists and describes Giant Miner and Armored Giant.
        • Ice Cores: Lists and describes the Stable Ice Core and Unstable Ice Core.
        • Castle Guardians: Lists and describes Castle Guardian, and others.
        • Adherent
        • Harbringer Cube
        • Bosses: Folder
          • Naga
          • Lich
          • Minoshroom
          • Hydra
          • Knight Phantom
          • Ur-Ghast
          • Alpha Yeti
          • Snow Queen
    • Treasures: Folder of notable loot or craftables.
      • Foods
      • Armors: Lists tiers of armors
      • Tools: Lists tiers of tools
      • Charms: Charms of Life and Keeping.
      • Crumble Horn
      • Uncrafting Table
      • Magic Trees
      • Trophies
      • Scepters
      • Mazebreaker
      • Carminite
      • Ice Bomb
      • Bows
      • Giant Blocks
    • Index
commented

Hi! I was wondering if it is possible for someone like me to help writing, or updating this book with text, images, or else in java or ... . Do you have some template that I may be able to fill, expand (mostly copy and paste), then share?