1.0.0 • Published 2 years ago

mc-even-better-questing v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

mc-even-better-questing

NodeJS CLI tool for modpack makers, who using mod Better Questing for Minecraft 1.12

This tool do two things:

  1. Splits DefaultQuests.json into different files for easier version-control managment and diff changes.
  2. Generate .lang files instead of static strings in Chapter/Quests names/desctiptions.

Command Line demo

Usage

  1. Install latest NodeJS for Windows or Unix

  2. Open console, navigate to your Minecraft directory

    > cd C:/Instances/MyModpack
  3. Run:

    > npx mc-even-better-questing

Program flow:

  1. DefaultQuests.json object keys would be sorted.

    This is useful because when working on a modpack, the order of the keys in the .json file can change, which is why simply changing 1 quest in the Better Questing game editor will show 2000 lines of code diff in source control.

  2. Edit mode of BQ would be always set to 0.

    Because I always forget to do it in game.

  3. Generate .lang files.

    By default, you should store your lang files in directory resources/betterquesting/lang/*.lang. If you need not only en_us, you should create empty files with lang codes, for example zh_cn.lang.
    mc-even-better-questing would find all localizable text in DefaultQuests.json and replace it with lang codes, same time creating respective lang entries in .lang file:

    DefaultQuests.json
    - "desc:8": "Stores up to a 2x2x2 area as a cell."
    + "desc:8": "bq.quest1443.desc",
    en_us.lang
    + bq.quest1443.desc=Stores up to a 2x2x2 area as a cell.
  4. Split all quests in different files.

    The tool would create derictory ./betterquesting/ with structure

    - betterquesting
      - Chapters
        - {Name of chapter 1}
          - {Name of quest 1}.json
          - {Name of quest 2}.json
          - {...}
        - {Name of chapter 2}
        - {...}
      __props.json

    This is very useful if this folder is added to version control. Every time a contributor adds changes to the quests, they can be diff-checked in more than just one bulky file.

  5. One bonus feature - if any quest called exactly [Complete This Chapter], every quest in this chapter, that has no dependents, would be connected to it.

Options

OptionDescriptionTypeDefault
-c, --changeShould program preform source changes to DefaultQuests.json. If --no-change is set, only keys sorting would be performedbooleantrue
-q, --questsPath to file DefaultQuests.json, generated by Better Questing modstringconfig/betterquesting/DefaultQuests.json
-e, --completeName of quest that would require all other quests in this chapter as requirementstringComplete This Chapter
-o, --outputOutput directory path for splitted JSONsstringbetterquesting
-p, --langPathDirectory with lang files, like "en_us.lang"stringresources/betterquesting/lang/
-x, --langPrefixPrefix that would be added to lang codesstringbq

Author