Exit | Home | Part 1 | Part 2 | Part 3 | Original Wiki

Part 2: Contributing Information

Section 1: Contributing Introduction and Guidelines

1.1: Introduction

You should have at least a basic knowledge of git, such as how to Clone & Fork Repos, make Branches, and make Pull Requests.

If not, please go learn that first, such as from a YouTube Video.

1.2: Setting It Up

  1. Fork this repository.
    • Unless you are contributing to other branches, you only need to include the main branch.
    • Be careful when contributing to other branches, as most of the time, the contributions should go to the main branch instead! Ask a maintainer if in doubt.
  2. Make a new branch, off the copied branch.
    • Name it something descriptive! This will prevent both you and us mixing up different branches.
    • When merging PRs, we usually Squash Merge, to keep the commit logs and changelogs clean and readable. This means that every PRs should go in a different branch.
    • Keep your fork's main branch in sync with our main branch, to allow for easy creating and updating of branches.
  3. Load up an instance of the current GitHub state.
    • Download the latest build from our Nightly Page. (Recommended)
      • Go to the Nightly Page.
      • Download the appropriate artifact (normally, client or MMC).
      • Import the zip file into your favorite launcher.
    • You can also get this from our automatic GHA builds (produces same files as above). This may be helpful if the nightly page is inactive, out of date, or down.
      • Go to our commit log on the main branch. Find the newest commit that has a green tick next to it.
        • If the newest commit has an orange dot, then wait for approximately 1-5 minutes, and it will be complete (and turn green),
      • Click on the green tick, and then click details next to the run labelled [NOT CALLABLE] Test Build Pack / Test Build Pack / Bu....
      • Click on the Summary button at the top of the sidebar (on the left).
      • Download the appropriate artifact (normally, client or MMC).
      • Import the zip file into your favorite launcher.
    • Another way is to download the zip file, on our GitHub page.
      • Click the Green Code Button on the right, above the code display.
      • Click Download ZIP.
      • Import into your favorite launcher.
      • This can not import correctly, or show some files incorrectly!
    • If applicable, you can also change your current instance, of the newest Nomi-CEu release, to the GitHub state. Download the relevant files for your contribution, and replace the files in your instance.
      • Be careful with this! Only do this if the other ways fail, if you are sure in your ability.
  4. Add commits
    • Add commits to implement your fix or feature!
    • It is highly recommended to clone your repo locally, so you can easily make and test changes.
    • Make sure that your implementation follows the rules given in that category, if applicable.
  5. PR it back!
    • In your description, mention discord discussions, issues fixed, etc.
    • Implement suggestions given to your PR.
    • If you are implementing a big feature, do this earlier, so we can suggest, and implement changes quicker!

1.3: Guidelines

These are some basic guidelines. Apart from these, please be appropriate, have common sense, and generally be kind.

  1. Keep your Commits, and Commit Descriptions, free of:
  2. Check for similar PRs! Also check for similar issues, which may have more information, and that you can link to!
  3. If your PR fixes an issue, have your PR auto-close it using GitHub's closing keywords.
  4. Make sure your Commit Messages are descriptive!
  5. Remember to make a new branch for each PR!
  6. Do not invoke any workflows! The only exceptions to this are:
    • If a maintainer asks you to do so
    • If your contribution is related to the workflow YAML or TypeScript files

Section 2: Quest Book Contributing

2.1: Introduction

This section introduces you to quest book contributing. Nomi-CEu uses a special system for the quest books, in order to allow for translations for both quest books.

Quest Book Editing is probably the easiest, but extremely important, contributions to Nomi-CEu. These provide a guideline for the player, and your contributions ensure that the quest book is kept up to date, and at the high standard that the Nomi Series's quest books are praised for.

Make sure you read the Guidelines! Especially for the quest book, profanity should not be present.

2.2: Embeds

Nomi-CEu, supports, via Nomi Labs, embedding copyable text and links in the description. See the Nomi Labs Wiki for more information.

2.3: Setting it Up

  1. Read through the steps in 1.2: Setting It Up. Follow steps 1 and 3.

    • If you decide to update your instance to the current GitHub state, you will need to update the Development Json Files, from the GitHub version.
  2. Replace the QB Jsons with the source files (VERY IMPORTANT)

  3. Edit the QB.
    There are two ways to do this:

    i. Using BQu's Edit Mode

    • This is the recommended way to edit the quest book.
    • Go into a world, where you have cheats enabled.
    • Load the relevant Development Json File.
      • /bq_admin default load for Normal Mode
      • /bq_admin default load ExpertQuests for Expert Mode, or just /bq_admin default load if your packmode is expert in that instance
    • Enable Edit Mode. Run /bq_admin edit true.
      • See this wiki page for more information on how to use edit mode, although it is pretty self-explanatory.
    • Save to the relevant Development Json File.
      • /bq_admin default save for Normal Mode
      • /bq_admin default save ExpertQuests for Expert Mode, or just /bq_admin default save if your packmode is expert in that instance

    ii. Editing the Quest Book Json Files:

    • This is not recommended, unless you are experienced.
    • After you are done, load the json file into your instance, to let BQu format it, to validate it, to add colours and/or formatting, and to check over your changes.
  4. Commit It, and PR it. For more information, see steps 4 and 5 in 1.2: Setting It Up.

    • Make sure to update both json files. These are:
      • /overrides/config/betterquesting/DefaultQuests.json and /overrides/config-overrides/normal/betterquesting/DefaultQuests.json for Normal Mode
      • /overrides/config/betterquesting/saved_quests/ExpertQuests.json and /overrides/config-overrides/expert/betterquesting/DefaultQuests.json for Expert Mode
    • The lang file and the built json file will automatically be created per build.

2.4: Guidelines

Section 3: Script and Config Contributing

3.1: Introduction

Scripts and Configs are the lifeblood of Nomi-CEu. They provide the stitching between mods, changes in difficulty, and much more. However, these contributions require at least basic programming knowledge. If you want to start off contributing, it is highly recommended you start with Quest Book Contributions.

As these contributions are more varied, less information is given, although if you are doing these contributions, you should be fine.

If you are contributing scripts, check if your feature or fix can be integrated with configs instead. This does not apply to recipes for a machine, or similar, of which that mod adds!

Follow all of these Guidelines.

3.2: Setting It Up

  1. Read through the steps in 1.2: Setting It Up. Follow those steps.
    • If you decide to update your instance to the current GitHub state, you will either need to update the scripts folder, or the config folder. Of course, if you are editing other files, then update those folders instead.
    • The Random Patches config files, the Server Property files, and the Issue Template files come from templates. Do not edit them. Read 5. Template Information for details, and how to edit them.
    • Check if your config change needs to be copied over to one, or both, of the same file, in config-overrides.

Section 4: Translation Contributing

4.1: Introduction

Translations are an important part of Nomi-CEu. They allow us to reach to people and places that it would otherwise not. This is an especially important contribution, as we cannot do this ourselves.

We encourage you to add new translations, or improve existing ones. Simply make a PR! You can grab the latest translations in lang builds, on our Nightly Page.

As usual, read through the steps in 1.2: Setting It Up, and the guidelines in 1.3: Guidelines.

A way to update language files, and inform translators what parts of which ones are out of date, is planned. When that is implemented, this file will be updated with the details.

4.2: Content Tweaker Translations

4.3: Quest Book Translations

4.4: Misc Translations

All mods that Nomi-CEu uses can have language files changed or added. Usually, their lang paths are in /resources/<modid>/lang. It is recommended to ask a maintainer, on Discord or GitHub, for information on how to do this, as this can be quite difficult.

Section 5: Template Information

The Random Patches config files, the Server Property files, and the Issue Template files come from templates. Therefore, these should not be edited, as they will be replaced by the template in the next update.

Instead, change the relevant file in /tools/templates/.