Compare commits

...

20 Commits

Author SHA1 Message Date
5ad363ed47 Update overrides/groovy/postInit/Post-Initial/Main/General/Misc/fluidCrafting.groovy 2025-01-18 12:37:30 -06:00
37411c0cf8 Disabled lost cities special bed block 2025-01-08 12:39:45 -06:00
b70646b32d Gregified new immersive vehicle recipes 2025-01-07 23:59:45 -06:00
751593f704 Titan moon inf oil reserves 2025-01-07 23:58:50 -06:00
7e179e9cfe Added overwold vein and fluid gen to Hypron 2025-01-07 23:58:07 -06:00
9b33afb193 Disabled draconium generation on other planets 2025-01-07 23:51:36 -06:00
a810b3aa2b Fixed minecart steel wheels recipe collision 2025-01-07 17:03:08 -06:00
98296a4f96 Changed BoP wood recipes 2025-01-07 17:02:28 -06:00
aa5c51fde6 Reduced Immersive Vehicles fuel usage by 20%. Added High Octane Gas to
avgas
2025-01-07 17:01:23 -06:00
580c2c0947 Updated mts official content pack 2025-01-07 16:53:46 -06:00
3ced128b72 Changed minecart wheels recipe for piston conflict 2025-01-07 12:16:11 -06:00
828548e90b Updated Nomi Labs. Added FTBUtils 2025-01-07 12:03:30 -06:00
0a5d274bce Opencomputers control unit recipe conflict with mv circuit 2025-01-04 12:10:01 -06:00
79d60e4acd ImmersiveVehicles seatbench Buzzsaw -> BuzzSaw 2025-01-02 22:03:59 -06:00
51d74f06a5 immersiveVehicles piston recipe conflict 2025-01-02 17:18:39 -06:00
155dab9a50 immersiveVehicles.groovy replace thermal expansion tank with gt drum 2024-12-31 17:38:14 -06:00
34e910a718 MTS Enginefordfe428 recipie not working 2024-12-30 17:07:11 -06:00
f51c1d7c04 Removed ftbutils keybinds 2024-12-23 12:19:19 -06:00
c60b004b70 Added libnine for lazy ae2 2024-12-23 11:54:24 -06:00
07bcbb7f8d Manifest.json malformed 2024-12-18 16:54:13 -06:00
66 changed files with 735 additions and 1651 deletions

View File

@ -1,134 +0,0 @@
# FOR DEVELOPMENT, DO NOT EDIT THIS FILE! EDIT THE TEMPlATES INSTEAD!
# See https://github.com/Nomi-CEu/Nomi-CEu/wiki/Part-2:-Contributing-Information#section-5-template-information!
name: Bug Report
description: "Crashes or unintended behaviors arising from Nomi CEu's mods, configurations, or custom scripts."
labels: bug
body:
- type: markdown
attributes:
value: "Note: If you need general tech support for things like server configuration, or general game support (how to I make this?), Discord is a better venue. Please open an issue only if there is a clear bug with the pack or if you have been asked to by one of the Discord staff."
- type: dropdown
id: version
attributes:
label: Nomi CEu Version
description: The version of Nomi CEu you were using when this bug was encountered. If you do not know what it is, check the title of your instance window. If you do not see your version here, please update to the newest alpha, beta or release of the pack.
options:
- "Nightly"
- 1.7.3
- 1.7.2
- 1.7.1
- 1.7a
- 1.7
- 1.7-beta-6a
- 1.7-beta-6
- 1.7-beta-5c
- 1.7-beta-5b
- 1.7-beta-5a
- 1.7-beta-5
- 1.7-alpha-4
- 1.7-alpha-3
- 1.7-alpha-2a
- 1.7-alpha-2
- 1.7-alpha-1
- 1.6.1b
- 1.6.1a
- 1.6.1-beta-4
- 1.6.1-beta-3a
- 1.6.1-beta-2
- 1.6.1-alpha-1
- 1.6
validations:
required: true
- type: input
id: launcher
attributes:
label: Launcher
description: "What launcher you were using when you experienced this issue. If you were using the CurseForge Launcher, please try to see if the issue occurs on a different launcher."
placeholder: "Example: Prism Launcher"
validations:
required: true
- type: textarea
id: changed
attributes:
label: Configurations or Mods Changed
description: Any changed configs, and removed or added mods. Make sure to also include the version of any mods you have added. If you have not changed any configurations, and not removed or added any mods, please leave this field blank.
placeholder: |
Example:
Changed Loliasm Config: B:onDemandAnimatedTextures to false.
Added AE2 Fluid Crafting Rework: Version 2.4.18-r.
validations:
required: false
- type: textarea
id: environment
attributes:
label: Environment
description: "How you were playing on the world, and the Nightly Specification (if relevant). Typical answers include: Singleplayer, Open to LAN, Forge Server, Sponge Server, or Mohist Server. If you selected Nightly as your version, please also specify the Nightly Hash (the 7 random characters), and the Nightly Branch."
placeholder: |
Example: Singleplayer
Example For Nightly: Singleplayer, Nightly main 7ga03fj
Example For Nightly On Dev Branch: Singleplayer, Nightly dev/gt-2.8 1asdf83
validations:
required: true
- type: dropdown
id: mode
attributes:
label: Mode
description: "What pack mode were you using when you came across this error?"
options:
- "Normal Mode"
- "Expert Mode"
- "Both Modes"
- "N/A"
validations:
required: true
- type: textarea
id: problem
attributes:
label: What Happened
description: What happened, of which you believe is a bug. Attach screenshots here as necessary.
placeholder: "Example: Produced one X but Y was not consumed."
validations:
required: true
- type: textarea
id: expected
attributes:
label: Expected Behavior
description: What you expected to happen. Attach screenshots here as necessary.
placeholder: "Example: Expected to produce X by consuming Y."
validations:
required: true
- type: textarea
id: reproduction
attributes:
label: Reproduction Steps
description: |
How do you trigger this bug? Please walk us through it step by step.
Please leave this field blank if this is not applicable. (Quest Isuses, JEI Issues, Tooltip Issues, etc.)
placeholder: |
1.
2.
3.
...
validations:
required: false
- type: textarea
id: logs
attributes:
label: Logs
description: "If your client crashed as a result of this bug, please upload the generated crash log. This is found in your launcher's Nomi CEu instance, in a folder called `crash-reports`. If there was no crash, but instead an error screen, please upload your `latest.log`, found in a folder called `logs`. If there was a script error, please upload your `crafttweaker.log`, found in your base instance folder, instead. Otherwise, please leave this field blank."
placeholder: "You can upload into a external site like paste-bin, and send the link, or just drag the file into this text field."
validations:
required: false
- type: textarea
id: additional-info
attributes:
label: Additional Information
description: Any additional information you wish to provide. Please add anything which did not fit into the other sections here.
placeholder: "Example: This is likely caused by X because..."
validations:
required: false
- type: markdown
attributes:
value: Thank you for taking the time to fill out this bug report.

View File

@ -1,129 +0,0 @@
# FOR DEVELOPMENT, DO NOT EDIT THIS FILE! EDIT THE TEMPlATES INSTEAD!
# See https://github.com/Nomi-CEu/Nomi-CEu/wiki/Part-2:-Contributing-Information#section-5-template-information!
name: Feature Request
description: Suggest an idea, including mod additions or addon scripts, for Nomi CEu.
labels: enhancement
body:
- type: markdown
attributes:
value: "Note: balancing ideas should use this template, but only for changes. However, if its a problem, not a change, like `X material always runs out`, please use the `Bug Report` Template."
- type: dropdown
id: version
attributes:
label: Nomi CEu Version
description: The version of Nomi CEu you are using as the basis for this feature request. If you do not know what it is, check the title of your instance window. f you do not see your version here, please update to the newest alpha, beta or release of the pack.
options:
- "Nightly"
- 1.7.3
- 1.7.2
- 1.7.1
- 1.7a
- 1.7
- 1.7-beta-6a
- 1.7-beta-6
- 1.7-beta-5c
- 1.7-beta-5b
- 1.7-beta-5a
- 1.7-beta-5
- 1.7-alpha-4
- 1.7-alpha-3
- 1.7-alpha-2a
- 1.7-alpha-2
- 1.7-alpha-1
- 1.6.1b
- 1.6.1a
- 1.6.1-beta-4
- 1.6.1-beta-3a
- 1.6.1-beta-2
- 1.6.1-alpha-1
- 1.6
validations:
required: true
- type: input
id: launcher
attributes:
label: Launcher
description: "What launcher you were using when you experienced this issue. If you were using the CurseForge Launcher, please try to see if the issue occurs on a different launcher."
placeholder: "Example: Prism Launcher"
validations:
required: true
- type: textarea
id: changed
attributes:
label: Configurations or Mods Changed
description: Any changed configs, and removed or added mods. Make sure to also include the version of any mods you have added. If you have not changed any configurations, and not removed or added any mods, please leave this field blank.
placeholder: |
Example:
Changed Loliasm Config: B:onDemandAnimatedTextures to false.
Added AE2 Fluid Crafting Rework: Version 2.4.18-r.
validations:
required: false
- type: textarea
id: environment
attributes:
label: Environment
description: "How you were playing on the world, and the Nightly Specification (if relevant). Typical answers include: Singleplayer, Open to LAN, Forge Server, Sponge Server, or Mohist Server. If you selected Nightly as your version, please also specify the Nightly Hash (the 7 random characters), and the Nightly Branch."
placeholder: |
Example: Singleplayer
Example For Nightly: Singleplayer, Nightly main 7ga03fj
Example For Nightly On Dev Branch: Singleplayer, Nightly dev/gt-2.8 1asdf83
validations:
required: true
- type: dropdown
id: mode
attributes:
label: Mode
description: "What pack mode is this feature request related to?"
options:
- "Normal Mode"
- "Expert Mode"
- "Both Modes"
- "N/A"
validations:
required: true
- type: textarea
id: problem
attributes:
label: Related Problem
description: If the feature you wish to change is related to a problem, please desscribe it. Leave this field blank if it is not related to a problem.
placeholder: "Example: I'm always frustrated when..."
validations:
required: false
- type: textarea
id: solution
attributes:
label: Your Solution
description: Describe the solution you would like to have happen.
placeholder: "Example: If I could..."
validations:
required: true
- type: textarea
id: work
attributes:
label: How Will Your Solution Work
description: |
Describe how the solution will fix the problem, or add to the pack.
If you are suggesting a mod, please describe what the mod does, and how it will add to the pack.
placeholder: "Example: If X was done, than Y will get a use, and..."
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: "Alternatives You've Considered"
description: "What alternatives have you considered that might help solve the problem? If you aren't sure, or this is not related to a problem, please leave this field blank."
placeholder: "Example: Otherwise, we can also do Z..."
validations:
required: false
- type: textarea
id: additional-info
attributes:
label: Additional Information
description: "Add any other context or screenshots about the feature request here. If you are suggesting a mod, please also add a link to the mod's CurseForge page."
placeholder: "Example: This main motive for this idea is because X..."
validations:
required: false
- type: markdown
attributes:
value: Thank you for taking the time to fill out this feature request.

View File

@ -1,5 +0,0 @@
blank_issues_enabled: false
contact_links:
- name: Nomi-CEu Discord
url: https://discord.com/invite/zwQzqP8b6q
about: Join us on Discord to discuss questions, gameplay advice, bugs, beta releases, and more.

View File

@ -1,412 +0,0 @@
name: Build Pack
on:
workflow_dispatch:
inputs:
tag:
description: Tag to Checkout and Release.
required: false
type: string
release_type:
description: The Release Type.
required: true
type: choice
default: 'Release'
options:
- 'Release'
- 'Beta Release'
- 'Alpha Release'
- 'Cutting Edge Build'
changelog_url:
description: Where to download the Changelog File from. See CONTRIBUTING.md for more information.
required: false
type: string
changelog_cf_url:
description: Where to download the CF Changelog File from. See CONTRIBUTING.md for more information.
required: false
type: string
changelog_branch:
description: Branch to download changelog Files from. See CONTRIBUTING.md for more information.
required: false
type: string
compare_tag:
description: Tag(s) to compare against. If specifying multiple, seperate by commas. (Spaces allowed). See CONTRIBUTING.md for more information.
required: false
type: string
separate_upload:
description: Whether to upload each zip (Client, Server, Lang) and the changelogs seperately. If not set, will just upload all six files into one artifact (Built Pack).
required: true
type: boolean
skip_changelog:
description: Whether to skip changelog generation.
type: boolean
default: false
required: true
workflow_call:
inputs:
tag:
description: Tag to Checkout and Release.
required: false
type: string
release_type:
description: The Release Type.
required: false
default: Release
type: string
changelog_url:
description: Where to download the Changelog File from. See CONTRIBUTING.md for more information.
required: false
type: string
changelog_cf_url:
description: Where to download the CF Changelog File from. See CONTRIBUTING.md for more information.
required: false
type: string
changelog_branch:
description: Branch to download changelog Files from. See CONTRIBUTING.md for more information.
required: false
type: string
compare_tag:
description: Tag to compare to. See CONTRIBUTING.md for more information.
required: false
type: string
separate_upload:
description: Whether to upload each zip (Client, Server & Lang) and the changelogs seperately. If not set, will just upload all five files into one artifact (Built Pack).
required: false
default: false
type: boolean
head_ref:
type: string
required: false
true_sha:
type: string
required: false
skip_changelog:
description: Whether to skip changelog generation.
type: boolean
default: false
required: false
env:
GITHUB_TAG: ${{ inputs.tag }}
RELEASE_TYPE: ${{ inputs.release_type }}
HEAD_REF: ${{ inputs.head_ref }}
TRUE_SHA: ${{ inputs.true_sha }}
SKIP_CHANGELOG: ${{ inputs.skip_changelog }}
jobs:
buildSingle:
name: Build Pack (${{ inputs.tag }})
runs-on: ubuntu-latest
if: ${{ !inputs.separate_upload }}
steps:
- name: Checkout Ref
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: ${{ inputs.tag }}
- name: Restore NPM Cached Files
uses: actions/cache@v4
id: npm-cache
with:
path: |
~/.npm
./tools/node_modules
key: ${{ runner.os }}-npm-${{ hashFiles('./tools/package-lock.json') }}
restore-keys: ${{ runner.os }}-npm-
- name: Restore Build Cached Files
uses: actions/cache@v4
id: build-cache
with:
path: |
./.cache
key: ${{ runner.os }}-build-${{ hashFiles('./.cache', './manifest.json') }}
restore-keys: ${{ runner.os }}-build-
- name: Setup NodeJS v20
uses: actions/setup-node@v4
with:
node-version: 20
check-latest: true
- name: Setup NPM Packages
if: steps.npm-cache.outputs.cache-hit != 'true'
working-directory: ./tools
run: npm ci
- name: Check Environmental Variables
working-directory: ./tools
run: npm run gulp check
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CURSEFORGE_PROJECT_ID: ${{ secrets.CURSEFORGE_PROJECT_ID }}
CURSEFORGE_API_TOKEN: ${{ secrets.CURSEFORGE_API_TOKEN }}
CFCORE_API_TOKEN: ${{ secrets.CFCORE_API_TOKEN }}
- name: Build and Zip Pack
working-directory: ./tools
run: npm run gulp
env:
CFCORE_API_TOKEN: ${{ secrets.CFCORE_API_TOKEN }}
CHANGELOG_BRANCH: ${{ inputs.changelog_branch }}
CHANGELOG_URL: ${{ inputs.changelog_url }}
CHANGELOG_CF_URL: ${{ inputs.changelog_cf_url }}
COMPARE_TAG: ${{ inputs.compare_tag }}
- name: Upload All Files
uses: actions/upload-artifact@v4
with:
name: Built Pack
path: |
./build/**/*.zip
./build/*.md
if-no-files-found: error
compression-level: 0
makeNames:
name: Make Artifact Names and Changelogs (${{ inputs.tag }})
runs-on: ubuntu-latest
if: ${{ inputs.separate_upload }}
outputs:
client: ${{ steps.artifactNames.outputs.client }}
server: ${{ steps.artifactNames.outputs.server }}
lang: ${{ steps.artifactNames.outputs.lang }}
mmc: ${{ steps.artifactNames.outputs.mmc }}
steps:
- name: Checkout Ref
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: ${{ inputs.tag }}
- name: Restore NPM Cached Files
uses: actions/cache@v4
id: npm-cache
with:
path: |
~/.npm
./tools/node_modules
key: ${{ runner.os }}-npm-${{ hashFiles('./tools/package-lock.json') }}
restore-keys: ${{ runner.os }}-npm-
- name: Setup NodeJS v20
uses: actions/setup-node@v4
with:
node-version: 20
check-latest: true
- name: Setup NPM Packages
if: steps.npm-cache.outputs.cache-hit != 'true'
working-directory: ./tools
run: npm ci
- name: Check Environmental Variables
working-directory: ./tools
run: npm run gulp check
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CURSEFORGE_PROJECT_ID: ${{ secrets.CURSEFORGE_PROJECT_ID }}
CURSEFORGE_API_TOKEN: ${{ secrets.CURSEFORGE_API_TOKEN }}
CFCORE_API_TOKEN: ${{ secrets.CFCORE_API_TOKEN }}
- name: Make Artifact Names
id: artifactNames
working-directory: ./tools
run: npm run gulp makeArtifactNames
- name: Make Changelogs
if: ${{ !inputs.skip_changelog }}
working-directory: ./tools
run: npm run gulp buildChangelog
env:
CFCORE_API_TOKEN: ${{ secrets.CFCORE_API_TOKEN }}
CHANGELOG_BRANCH: ${{ inputs.changelog_branch }}
CHANGELOG_URL: ${{ inputs.changelog_url }}
CHANGELOG_CF_URL: ${{ inputs.changelog_cf_url }}
COMPARE_TAG: ${{ inputs.compare_tag }}
- name: Upload Changelogs
if: ${{ !inputs.skip_changelog }}
uses: actions/upload-artifact@v4
with:
name: Changelogs
path: ./build/*.md
if-no-files-found: error
compression-level: 9
buildClient:
name: Build Pack Client (${{ inputs.tag }})
runs-on: ubuntu-latest
if: ${{ inputs.separate_upload }}
needs: makeNames
steps:
- name: Checkout Ref
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: ${{ inputs.tag }}
- name: Restore NPM Cached Files
uses: actions/cache@v4
id: npm-cache
with:
path: |
~/.npm
./tools/node_modules
key: ${{ runner.os }}-npm-${{ hashFiles('./tools/package-lock.json') }}
restore-keys: ${{ runner.os }}-npm-
- name: Setup NodeJS v20
uses: actions/setup-node@v4
with:
node-version: 20
check-latest: true
- name: Setup NPM Packages
if: steps.npm-cache.outputs.cache-hit != 'true'
working-directory: ./tools
run: npm ci
- name: Download Changelog Artifacts
if: ${{ !inputs.skip_changelog }}
uses: actions/download-artifact@v4
with:
name: Changelogs
path: ./build/
- name: Build Client
working-directory: ./tools
run: npm run gulp buildClient
env:
CFCORE_API_TOKEN: ${{ secrets.CFCORE_API_TOKEN }}
MADE_CHANGELOG: true # Changelog Already Exists
- name: Upload Client Zip
uses: actions/upload-artifact@v4
with:
name: ${{ needs.makeNames.outputs.client }}
path: ./build/client/**/*
if-no-files-found: error
compression-level: 9
buildServer:
name: Build Pack Server (${{ inputs.tag }})
runs-on: ubuntu-latest
if: ${{ inputs.separate_upload }}
needs: makeNames
steps:
- name: Checkout Ref
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: ${{ inputs.tag }}
- name: Restore NPM Cached Files
uses: actions/cache@v4
id: npm-cache
with:
path: |
~/.npm
./tools/node_modules
key: ${{ runner.os }}-npm-${{ hashFiles('./tools/package-lock.json') }}
restore-keys: ${{ runner.os }}-npm-
- name: Restore Build Cached Files
uses: actions/cache@v4
id: build-cache
with:
path: |
./.cache
key: ${{ runner.os }}-build-${{ hashFiles('./.cache', './manifest.json') }}
restore-keys: ${{ runner.os }}-build-
- name: Setup NodeJS v20
uses: actions/setup-node@v4
with:
node-version: 20
check-latest: true
- name: Setup NPM Packages
if: steps.npm-cache.outputs.cache-hit != 'true'
working-directory: ./tools
run: npm ci
- name: Download Changelog Artifacts
if: ${{ !inputs.skip_changelog }}
uses: actions/download-artifact@v4
with:
name: Changelogs
path: ./build/
- name: Build Server
working-directory: ./tools
run: npm run gulp buildServer
env:
CFCORE_API_TOKEN: ${{ secrets.CFCORE_API_TOKEN }}
MADE_CHANGELOG: true # Changelog Already Exists
- name: Upload Server Zip
uses: actions/upload-artifact@v4
with:
name: ${{ needs.makeNames.outputs.server }}
path: ./build/server/**/*
if-no-files-found: error
compression-level: 9
buildLang:
name: Build Pack Lang and Changelogs (${{ inputs.tag }})
runs-on: ubuntu-latest
if: ${{ inputs.separate_upload }}
needs: makeNames
steps:
- name: Checkout Ref
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: ${{ inputs.tag }}
- name: Restore NPM Cached Files
uses: actions/cache@v4
id: npm-cache
with:
path: |
~/.npm
./tools/node_modules
key: ${{ runner.os }}-npm-${{ hashFiles('./tools/package-lock.json') }}
restore-keys: ${{ runner.os }}-npm-
- name: Setup NodeJS v20
uses: actions/setup-node@v4
with:
node-version: 20
check-latest: true
- name: Setup NPM Packages
if: steps.npm-cache.outputs.cache-hit != 'true'
working-directory: ./tools
run: npm ci
- name: Download Changelog Artifacts
if: ${{ !inputs.skip_changelog }}
uses: actions/download-artifact@v4
with:
name: Changelogs
path: ./build/
- name: Build Lang
working-directory: ./tools
run: npm run gulp buildLang
env:
CFCORE_API_TOKEN: ${{ secrets.CFCORE_API_TOKEN }}
MADE_CHANGELOG: true # Changelog Already Exists
- name: Upload Lang Zip
uses: actions/upload-artifact@v4
with:
name: ${{ needs.makeNames.outputs.lang }}
path: ./build/lang/**/*
if-no-files-found: error
compression-level: 9

View File

@ -1,43 +0,0 @@
name: Checks
on:
push:
pull_request:
jobs:
checks:
name: Checks
runs-on: ubuntu-latest
steps:
- name: Checkout Ref
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Restore NPM Cached Files
uses: actions/cache@v4
id: npm-cache
with:
path: |
~/.npm
./tools/node_modules
key: ${{ runner.os }}-npm-${{ hashFiles('./tools/package-lock.json') }}
restore-keys: ${{ runner.os }}-npm-
- name: Setup NodeJS v20
uses: actions/setup-node@v4
with:
node-version: 20
check-latest: true
- name: Setup NPM Packages
if: steps.npm-cache.outputs.cache-hit != 'true'
working-directory: ./tools
run: npm ci
- name: Check Buildscripts
working-directory: ./tools
run: npm run check
- name: Check QB
working-directory: ./tools
run: npm run gulp checkQB

View File

@ -1,128 +0,0 @@
name: Create Changelog
on:
workflow_dispatch:
inputs:
tag:
description: Tag to checkout.
required: false
release_type:
description: Release Type
type: choice
required: true
default: 'Release'
options:
- 'Release'
- 'Beta Release'
- 'Alpha Release'
- 'Cutting Edge Build'
compare_tag:
description: Tag(s) to compare against. If not set, will use the tag before `Tag`. If specifying multiple, seperate by commas. (Spaces allowed).
required: false
branch:
description: Branch to push changelog to. If not set, changelog will just be uploaded as an artifact.
required: false
test:
description: Whether to test commits. If true, then any parsing errors will throw an error.
required: false
type: boolean
default: false
workflow_call:
inputs:
tag:
description: Tag to make changelog at.
type: string
required: false
release_type:
description: Release Type.
type: string
required: true
compare_tag:
description: Tag to compare against.
type: string
required: false
branch:
description: Branch to push changelog to. If not set, will not push. Will still be uploaded as artifact.
type: string
required: false
test:
description: Whether to test commits. If true, then any parsing errors will throw an error.
required: false
type: boolean
default: false
jobs:
deploy:
name: Create Changelog (${{ inputs.tag }})
runs-on: ubuntu-latest
env:
GITHUB_TAG: ${{ inputs.tag }}
RELEASE_TYPE: ${{ inputs.release_type }}
steps:
- name: Get Token
id: token
uses: actions/create-github-app-token@v1
with:
app-id: ${{ secrets.APP_ID }}
private-key: ${{ secrets.APP_KEY }}
owner: Nomi-CEu
- name: Checkout Repo
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: ${{ inputs.tag }}
token: ${{ steps.token.outputs.token }}
- name: Restore NPM Cached Files
uses: actions/cache@v4
id: npm-cache
with:
path: |
~/.npm
./tools/node_modules
key: ${{ runner.os }}-npm-${{ hashFiles('./tools/package-lock.json') }}
restore-keys: ${{ runner.os }}-npm-
- name: Setup NodeJS v20
uses: actions/setup-node@v4
with:
node-version: 20
check-latest: true
- name: Setup NPM Packages
if: steps.npm-cache.outputs.cache-hit != 'true'
working-directory: ./tools
run: npm ci
- name: Create Changelog
working-directory: ./tools
run: npm run gulp createChangelog
env:
CFCORE_API_TOKEN: ${{ secrets.CFCORE_API_TOKEN }}
COMPARE_TAG: ${{ inputs.compare_tag }}
TEST_CHANGELOG: ${{ inputs.test }}
- name: Commit and Push Changelog
if: ${{ inputs.branch }}
uses: "stefanzweifel/git-auto-commit-action@v5"
id: "commit-template"
with:
commit_message: "Upload Changelogs for Release ${{ inputs.tag }}"
commit_author: nomi-ceu-management[bot] <155502507+nomi-ceu-management[bot]@users.noreply.github.com>
commit_user_name: nomi-ceu-management[bot]
commit_user_email: 155502507+nomi-ceu-management[bot]@users.noreply.github.com
branch: ${{ inputs.branch }}
create_branch: true
- name: Upload Changelog
uses: actions/upload-artifact@v4
with:
name: Changelogs
path: |
./CHANGELOG.md
./CHANGELOG_CF.md
if-no-files-found: error
compression-level: 9

View File

@ -1,78 +0,0 @@
name: "Deploy to GitHub Releases & CurseForge"
on:
workflow_dispatch:
inputs:
tag:
description: Tag to Checkout and Release.
required: true
type: string
release_type:
description: The Release Type.
required: true
type: choice
default: 'Release'
options:
- 'Release'
- 'Beta Release'
- 'Alpha Release'
changelog_url:
description: Where to download the Changelog File from. See CONTRIBUTING.md for more information.
required: false
type: string
changelog_cf_url:
description: Where to download the CF Changelog File from. See CONTRIBUTING.md for more information.
required: false
type: string
changelog_branch:
description: Branch to download changelog Files from. See CONTRIBUTING.md for more information.
required: false
type: string
compare_tag:
description: Tag(s) to compare against. If specifying multiple, seperate by commas. (Spaces allowed). See CONTRIBUTING.md for more information.
required: false
type: string
deploy_to_gh:
description: Whether to deploy to GitHub Releases.
required: true
type: boolean
default: true
deploy_to_cf:
description: Whether to deploy to CurseForge.
required: true
type: boolean
default: true
jobs:
build:
name: Build Pack (${{ inputs.tag }})
uses: ./.github/workflows/buildpack.yml
with:
tag: ${{ inputs.tag }}
release_type: ${{ inputs.release_type }}
changelog_url: ${{ inputs.changelog_url }}
changelog_cf_url: ${{ inputs.changelog_cf_url }}
changelog_branch: ${{ inputs.changelog_branch }}
compare_tag: ${{ inputs.compare_tag }}
secrets: inherit
deployGH:
name: Deploy to GitHub Releases (${{ inputs.tag }})
if: ${{ inputs.deploy_to_gh }}
needs: build
uses: ./.github/workflows/deploygh.yml
with:
tag: ${{ inputs.tag }}
release_type: ${{ inputs.release_type }}
secrets: inherit
deployCF:
name: Deploy to CurseForge (${{ inputs.tag }})
if: ${{ inputs.deploy_to_cf }}
needs: build
uses: ./.github/workflows/deploycf.yml
with:
tag: ${{ inputs.tag }}
release_type: ${{ inputs.release_type }}
secrets: inherit

View File

@ -1,69 +0,0 @@
name: "[NOT CALLABLE] Deploy To CurseForge"
on:
workflow_call:
inputs:
tag:
description: The Release Tag.
required: true
type: string
release_type:
description: The Release Type. This is the formatted version.
required: true
type: string
jobs:
deployCF:
name: Deploy to CurseForge (${{ inputs.tag }})
runs-on: ubuntu-latest
env:
GITHUB_TAG: ${{ github.event.inputs.tag }}
steps:
- name: Checkout Tag
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Restore NPM Cached Files
uses: actions/cache@v4
id: npm-cache
with:
path: |
~/.npm
./tools/node_modules
key: ${{ runner.os }}-npm-${{ hashFiles('./tools/package-lock.json') }}
restore-keys: ${{ runner.os }}-npm-
- name: Setup NodeJS v20
uses: actions/setup-node@v4
with:
node-version: 20
check-latest: true
- name: Setup NPM Packages
if: steps.npm-cache.outputs.cache-hit != 'true'
working-directory: ./tools
run: npm ci
- name: Check Environmental Variables
working-directory: ./tools
run: npm run gulp check
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CURSEFORGE_PROJECT_ID: ${{ secrets.CURSEFORGE_PROJECT_ID }}
CURSEFORGE_API_TOKEN: ${{ secrets.CURSEFORGE_API_TOKEN }}
CFCORE_API_TOKEN: ${{ secrets.CFCORE_API_TOKEN }}
- name: Download Built Artifacts
uses: actions/download-artifact@v4
with:
name: Built Pack
path: ./build/
- name: Deploy to CurseForge
env:
CURSEFORGE_PROJECT_ID: ${{ secrets.CURSEFORGE_PROJECT_ID }}
CURSEFORGE_API_TOKEN: ${{ secrets.CURSEFORGE_API_TOKEN }}
RELEASE_TYPE: ${{ inputs.release_type }}
working-directory: ./tools
run: npm run gulp deployCurseForge

View File

@ -1,78 +0,0 @@
name: "[NOT CALLABLE] Deploy To Github Releases"
on:
workflow_call:
inputs:
tag:
description: The Release Tag.
required: true
type: string
release_type:
description: The Release Type. This is the formatted version.
required: true
type: string
jobs:
deployGH:
name: Deploy to GitHub Releases (${{ inputs.tag }})
runs-on: ubuntu-latest
env:
GITHUB_TAG: ${{ inputs.tag }}
steps:
- name: Get Token
id: token
uses: actions/create-github-app-token@v1
with:
app-id: ${{ secrets.APP_ID }}
private-key: ${{ secrets.APP_KEY }}
owner: Nomi-CEu
- name: Checkout Tag
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Restore NPM Cached Files
uses: actions/cache@v4
id: npm-cache
with:
path: |
~/.npm
./tools/node_modules
key: ${{ runner.os }}-npm-${{ hashFiles('./tools/package-lock.json') }}
restore-keys: ${{ runner.os }}-npm-
- name: Setup NodeJS v20
uses: actions/setup-node@v4
with:
node-version: 20
check-latest: true
- name: Setup NPM Packages
if: steps.npm-cache.outputs.cache-hit != 'true'
working-directory: ./tools
run: npm ci
- name: Check Environmental Variables
working-directory: ./tools
run: npm run gulp check
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CURSEFORGE_PROJECT_ID: ${{ secrets.CURSEFORGE_PROJECT_ID }}
CURSEFORGE_API_TOKEN: ${{ secrets.CURSEFORGE_API_TOKEN }}
CFCORE_API_TOKEN: ${{ secrets.CFCORE_API_TOKEN }}
- name: Download Built Artifacts
uses: actions/download-artifact@v4
with:
name: Built Pack
path: ./build/
- name: Deploy to GitHub Releases
env:
GITHUB_TOKEN: ${{ steps.token.outputs.token }}
CURSEFORGE_PROJECT_ID: ${{ secrets.CURSEFORGE_PROJECT_ID }}
CURSEFORGE_API_TOKEN: ${{ secrets.CURSEFORGE_API_TOKEN }}
RELEASE_TYPE: ${{ inputs.release_type }}
working-directory: ./tools
run: npm run gulp deployReleases

View File

@ -1,183 +0,0 @@
# This workflow file tests PRs made from forks. Disable this if it is considered too much of a security risk (although many efforts have been taken to reduce risk)
# If workflow enabled, make sure to set the environment used to need a specific team (admin-devs), and default GITHUB_TOKEN perms to read!
# See https://securitylab.github.com/research/github-actions-preventing-pwn-requests/ for more information!
# Actions taken to reduce risk:
# This workflow is only started if a PR has the 'fork-build' label, and when the deployment to `forkprbuildpack` is approved (by admin-devs)
# Only the CFCORE_API_TOKEN secret is accessed, meaning it is the only one revealed, meaning that the other secrets cannot be used by nodejs tools
# GITHUB_TOKEN permissions are set to read
name: "[NOT CALLABLE] Fork PR Build Pack"
on:
pull_request_target:
types:
- synchronize
- labeled
paths-ignore:
- "README.md"
# if a second commit is pushed quickly after the first, cancel the first one's build
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number }}
cancel-in-progress: true
permissions:
contents: read
env:
HEAD_REF: ${{ github.head_ref }}
HEAD_REPO: ${{ github.event.pull_request.head.repo.owner.login }}
TRUE_SHA: ${{ github.event.pull_request.head.sha }}
SKIP_CHANGELOG: true
jobs:
setup:
# Only continue if we are in base Nomi-CEu Repo, pull request is from fork and pr has fork-build label
if: "${{ github.repository_owner == 'Nomi-CEu' && github.event.pull_request.head.repo.owner.login != 'Nomi-CEu' && contains(github.event.pull_request.labels.*.name, 'fork-build') }}"
name: Setup (${{ github.event.pull_request.head.sha }})
runs-on: ubuntu-latest
environment: fork-pr-build-pack
outputs:
client: ${{ steps.artifactNames.outputs.client }}
server: ${{ steps.artifactNames.outputs.server }}
lang: ${{ steps.artifactNames.outputs.lang }}
mmc: ${{ steps.artifactNames.outputs.mmc }}
steps:
- name: Checkout Ref
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: ${{ github.event.pull_request.head.sha }}
persist-credentials: false
# Don't use cache to prevent cache poisoning
- name: Setup NodeJS v20
uses: actions/setup-node@v4
with:
node-version: 20
check-latest: true
- name: Setup NPM Packages
working-directory: ./tools
run: npm ci
- name: Make Artifact Names
id: artifactNames
working-directory: ./tools
run: npm run gulp makeArtifactNames
buildClient:
name: Build Fork PR Client (${{ github.event.pull_request.head.sha }})
runs-on: ubuntu-latest
needs: setup
steps:
- name: Checkout Ref
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: ${{ github.event.pull_request.head.sha }}
persist-credentials: false
# Don't use cache to prevent cache poisoning
- name: Setup NodeJS v20
uses: actions/setup-node@v4
with:
node-version: 20
check-latest: true
- name: Setup NPM Packages
working-directory: ./tools
run: npm ci
- name: Build Client
working-directory: ./tools
run: npm run gulp buildClient
env:
CFCORE_API_TOKEN: ${{ secrets.CFCORE_API_TOKEN }}
- name: Upload Client Zip
uses: actions/upload-artifact@v4
with:
name: ${{ needs.setup.outputs.client }}
path: ./build/client/**/*
if-no-files-found: error
compression-level: 9
buildServer:
name: Build Fork PR Server (${{ github.event.pull_request.head.sha }})
runs-on: ubuntu-latest
needs: setup
steps:
- name: Checkout Ref
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: ${{ github.event.pull_request.head.sha }}
persist-credentials: false
# Don't use cache to prevent cache poisoning
- name: Setup NodeJS v20
uses: actions/setup-node@v4
with:
node-version: 20
check-latest: true
- name: Setup NPM Packages
working-directory: ./tools
run: npm ci
- name: Build Server
working-directory: ./tools
run: npm run gulp buildServer
env:
CFCORE_API_TOKEN: ${{ secrets.CFCORE_API_TOKEN }}
- name: Upload Server Zip
uses: actions/upload-artifact@v4
with:
name: ${{ needs.setup.outputs.server }}
path: ./build/server/**/*
if-no-files-found: error
compression-level: 9
buildLang:
name: Build Fork PR Lang (${{ github.event.pull_request.head.sha }})
runs-on: ubuntu-latest
needs: setup
steps:
- name: Checkout Ref
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: ${{ github.event.pull_request.head.sha }}
persist-credentials: false
# Don't use cache to prevent cache poisoning
- name: Setup NodeJS v20
uses: actions/setup-node@v4
with:
node-version: 20
check-latest: true
- name: Setup NPM Packages
working-directory: ./tools
run: npm ci
- name: Build Lang
working-directory: ./tools
run: npm run gulp buildLang
env:
CFCORE_API_TOKEN: ${{ secrets.CFCORE_API_TOKEN }}
- name: Upload Lang Zip
uses: actions/upload-artifact@v4
with:
name: ${{ needs.setup.outputs.lang }}
path: ./build/lang/**/*
if-no-files-found: error
compression-level: 9

View File

@ -1,43 +0,0 @@
name: Create Release Commit & Changelog
on:
workflow_dispatch:
inputs:
tag:
description: Tag to Create & Create Changelog At.
required: true
release_type:
description: Release Type.
type: choice
required: true
default: 'Release'
options:
- 'Release'
- 'Beta Release'
- 'Alpha Release'
compare_tag:
description: Tag(s) to compare against. If not set, will use the tag before `Tag`. If specifying multiple, seperate by commas. (Spaces allowed).
required: false
branch:
description: Branch to push changelog to. If not set, changelog will just be uploaded as an artifact.
required: false
jobs:
releaseCommit:
name: Create Release Commit (${{ inputs.tag }})
uses: ./.github/workflows/releasecommit.yml
with:
tag: ${{ inputs.tag }}
release_type: ${{ inputs.release_type }}
secrets: inherit
createChangelog:
name: Create Changelog (${{ inputs.tag }})
needs: releaseCommit
uses: ./.github/workflows/createchangelog.yml
with:
tag: ${{ inputs.tag }}
release_type: ${{ inputs.release_type }}
compare_tag: ${{ inputs.compare_tag }}
branch: ${{ inputs.branch }}
secrets: inherit

View File

@ -1,132 +0,0 @@
name: Create Release Commit
on:
workflow_dispatch:
inputs:
tag:
description: |
Tag to release (aka 1.6.1a, 1.6.1-beta-3, 2.0, etc.).
If this is just a release, then the version will be grabbed from the top line of version.txt. However, this field is needed if version.txt does not exist or is empty.
type: string
required: false
release_type:
description: 'Release Type. Will be ignored if not a release.'
type: choice
required: false
default: 'Release'
options:
- 'Release'
- 'Beta Release'
- 'Alpha Release'
update_files:
description: |
Whether this commit is just to update files. version.txt will not be changed. This is used when the templates are changed, and the main files need to be updated.
type: boolean
required: true
default: false
workflow_call:
inputs:
tag:
description: |
Tag to release (aka 1.6.1a, 1.6.1-beta-3, 2.0, etc.).
If this is just a release, then the version will be grabbed from the top line of version.txt. However, this field is needed if version.txt does not exist or is empty.
type: string
required: false
release_type:
description: 'Release Type. Will be ignored if not a release.'
type: string
required: false
update_files:
description: |
Whether this commit is just to update files. version.txt will not be changed. This is used when the templates are changed, and the main files need to be updated.
type: boolean
required: false
default: false
jobs:
createReleaseCommit:
name: Create Release Commit (${{ inputs.version }})
runs-on: ubuntu-latest
env:
UPDATE_FILES: ${{ inputs.update_files }}
GITHUB_TAG: ${{ inputs.tag }}
RELEASE_TYPE: ${{ inputs.release_type }}
steps:
- name: Get Token
id: token
uses: actions/create-github-app-token@v1
with:
app-id: ${{ secrets.APP_ID }}
private-key: ${{ secrets.APP_KEY }}
owner: Nomi-CEu
- name: Checkout Repo
uses: actions/checkout@v4
with:
fetch-depth: 0
token: ${{ steps.token.outputs.token }}
- name: Restore NPM Cached Files
uses: actions/cache@v4
id: npm-cache
with:
path: |
~/.npm
./tools/node_modules
key: ${{ runner.os }}-npm-${{ hashFiles('./tools/package-lock.json') }}
restore-keys: ${{ runner.os }}-npm-
- name: Setup NodeJS v20
uses: actions/setup-node@v4
with:
node-version: 20
check-latest: true
- name: Setup NPM Packages
if: steps.npm-cache.outputs.cache-hit != 'true'
working-directory: ./tools
run: npm ci
- name: Check Environmental Variables
working-directory: ./tools
run: npm run gulp check
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CURSEFORGE_PROJECT_ID: ${{ secrets.CURSEFORGE_PROJECT_ID }}
CURSEFORGE_API_TOKEN: ${{ secrets.CURSEFORGE_API_TOKEN }}
CFCORE_API_TOKEN: ${{ secrets.CFCORE_API_TOKEN }}
- name: Update Files
working-directory: ./tools
run: npm run gulp updateFilesAll
- name: Commit and Push Release Changes
uses: stefanzweifel/git-auto-commit-action@v5
id: commit-release
if: ${{ !inputs.update_files }}
with:
commit_message: "${{ inputs.release_type }} ${{ inputs.tag }}\n\n[NO CATEGORY]"
commit_author: nomi-ceu-management[bot] <155502507+nomi-ceu-management[bot]@users.noreply.github.com>
commit_user_name: nomi-ceu-management[bot]
commit_user_email: 155502507+nomi-ceu-management[bot]@users.noreply.github.com
tagging_message: "${{ inputs.tag }}"
- name: Commit and Push Update Changes
uses: stefanzweifel/git-auto-commit-action@v5
id: commit-update
if: ${{ inputs.update_files }}
with:
commit_message: "Update Issue, Server and Version Config Files from Templates\n\n[SKIP]"
commit_author: nomi-ceu-management[bot] <155502507+nomi-ceu-management[bot]@users.noreply.github.com>
commit_user_name: nomi-ceu-management[bot]
commit_user_email: 155502507+nomi-ceu-management[bot]@users.noreply.github.com
- name: Throw Error if No Changes were Detected
if: ${{ steps.commit-release.outputs.changes_detected == 'false' || steps.commit-update.outputs.changes_detected == 'false' }}
run: |
echo "No Changes were Detected. Most likely, this is an error."
exit 1

View File

@ -1,74 +0,0 @@
name: Release Commit & Deploy
on:
workflow_dispatch:
inputs:
tag:
description: Tag to Make and Release.
required: true
type: string
release_type:
description: The Release Type.
required: true
type: choice
default: 'Release'
options:
- 'Release'
- 'Beta Release'
- 'Alpha Release'
compare_tag:
description: Tag(s) to compare against. If specifying multiple, seperate by commas. (Spaces allowed). See CONTRIBUTING.md for more information.
required: false
type: string
deploy_to_gh:
description: Whether to deploy to GitHub Releases.
required: true
type: boolean
default: true
deploy_to_cf:
description: Whether to deploy to CurseForge.
required: true
type: boolean
default: true
jobs:
releaseCommit:
name: Create Release Commit (${{ inputs.tag }})
uses: ./.github/workflows/releasecommit.yml
with:
tag: ${{ inputs.tag }}
release_type: ${{ inputs.release_type }}
secrets: inherit
build:
name: Build Pack (${{ inputs.tag }})
needs: releaseCommit
uses: ./.github/workflows/buildpack.yml
with:
tag: ${{ inputs.tag }}
release_type: ${{ inputs.release_type }}
changelog_url: ${{ inputs.changelog_url }}
changelog_cf_url: ${{ inputs.changelog_cf_url }}
changelog_branch: ${{ inputs.changelog_branch }}
compare_tag: ${{ inputs.compare_tag }}
secrets: inherit
deployGH:
name: Deploy to GitHub Releases (${{ inputs.tag }})
if: ${{ inputs.deploy_to_gh }}
needs: build
uses: ./.github/workflows/deploygh.yml
with:
tag: ${{ inputs.tag }}
release_type: ${{ inputs.release_type }}
secrets: inherit
deployCF:
name: Deploy to CurseForge (${{ inputs.tag }})
if: ${{ inputs.deploy_to_cf }}
needs: build
uses: ./.github/workflows/deploycf.yml
with:
tag: ${{ inputs.tag }}
release_type: ${{ inputs.release_type }}
secrets: inherit

View File

@ -1,36 +0,0 @@
# Test Builds pack from pushes and pull requests in same repo.
name: "[NOT CALLABLE] Test Build Pack"
on:
push:
branches:
- main
- test-buildscript*
- dev/*
paths-ignore:
- "README.md"
pull_request:
paths-ignore:
- "README.md"
types:
- opened
- reopened
- synchronize
# if a second commit is pushed quickly after the first, cancel the first one's build
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
# Only allow runs from commits to Nomi-CEu Branches or from pull requests from Nomi-CEu repo without dev/ (That is handled by push)
if: "${{ github.repository_owner == 'Nomi-CEu' && ( !github.event.pull_request || ( github.event.pull_request.head.repo.owner.login == 'Nomi-CEu' && !startsWith(github.head_ref, 'dev/') ) ) }}"
name: Test Build Pack
uses: ./.github/workflows/buildpack.yml
with:
separate_upload: true
head_ref: ${{ github.head_ref }}
true_sha: ${{ github.event.pull_request.head.sha }}
skip_changelog: ${{ github.event.pull_request != null }}
secrets: inherit

View File

@ -1,18 +0,0 @@
name: Test Commit Syntax
on:
workflow_dispatch:
push:
branches:
- main
- test-buildscript*
jobs:
testCommits:
if: "${{ github.repository_owner == 'Nomi-CEu' }}"
name: Test Commits
uses: ./.github/workflows/createchangelog.yml
with:
release_type: "Cutting Edge Build"
test: true
secrets: inherit

View File

@ -1,54 +0,0 @@
# Tells Nomi-CEu-Translations to Update English Lang
name: "Update English Lang in Nomi-CEu-Translations"
on:
workflow_dispatch:
push:
branches:
# Only Update English Lang on Branch Main
- main
paths:
# Specify the path to 'assets' folder, suffixed by '/**/[eE][nN]_[uU][sS].lang', then another one, suffixed by '/**/[eE][nN]-[uU][sS].lang' (Can't use character group [-_])
# This also activates on QB Json Change, as if that happens, the QB Lang most likely needs to be changed.
- "overrides/resources/**/[eE][nN]_[uU][sS].lang"
- "overrides/resources/**/[eE][nN]-[uU][sS].lang"
- "overrides/config/betterquesting/DefaultQuests.json" # Normal QB Json in Default Config
- "overrides/config/betterquesting/saved_quests/ExpertQuests.json" # Expert QB Json in Default Config
- "overrides/config-overrides/normal/betterquesting/DefaultQuests.json" # Normal QB Json in Config Overrides
- "overrides/config-overrides/expert/betterquesting/DefaultQuests.json" # Expert QB Json in Config Overrides
jobs:
updateLang:
name: Update English Lang in Nomi-CEu-Translations
runs-on: ubuntu-latest
# Prevent Workflow from Running on Forks
if: "${{ github.repository_owner == 'Nomi-CEu' }}"
steps:
# We have to use a custom app token, as the default GITHUB_TOKEN only has access to the base repo.
# Nomi-CEu-Management has access to all of Nomi-CEu's Repos.
- name: Get Token
id: token
uses: actions/create-github-app-token@v1
with:
# Shared Org Secret: Contains the Nomi-CEu-Management App ID (773030)
app-id: ${{ secrets.APP_ID }}
# Shared Org Secret: Contains the Nomi-CEu-Management App's Private Key.
# run `cat {PEM_FILE_PATH} | base64 -w 0 && echo` to encode the key first if changing the key.
# Paste the output of the command into the secret value.
private-key: ${{ secrets.APP_KEY }}
owner: Nomi-CEu
- name: Dispatch Workflow
uses: actions/github-script@v5
with:
github-token: ${{ steps.token.outputs.token }}
# A Javascript Function Body to send the Workflow Dispatch Event.
script: |
await github.rest.repos.createDispatchEvent({
owner: "Nomi-CEu",
repo: "Nomi-CEu-Translations",
event_type: "update_english_lang",
client_payload: {
module: "nomi-ceu",
},
});

View File

@ -15,9 +15,19 @@
"author": "__tracer",
"name": "nomi-ceu",
"files": [
{
"projectID": 322344,
"fileID": 3509087,
"required": true
},
{
"projectID": 237102,
"fileID": 3157548,
"required": true
},
{
"projectID": 292217,
"fileID": 5621528,
"fileID": 6017244,
"required": true
},
{
@ -49,12 +59,13 @@
"projectID": 223008,
"fileID": 5741939,
"required": true
{,
},
{
"projectID": 220318,
"fileID": 3558882,
"required": true
},
{
"projectID": 32274,
"fileID": 5172461,
"required": true
@ -753,7 +764,7 @@
},
{
"projectID": 932060,
"fileID": 5981309,
"fileID": 6051550,
"required": true
},
{

View File

@ -345,6 +345,20 @@ World {
# Add the ID of any mod's dimensions that you don't want Draconium Ore generated in.
I:oreGenDimentionBlacklist <
100
101
102
103
104
201
105
106
107
108
109
110
111
119
>
# Setting this to false will just completely disable ALL DE world gen!

View File

@ -23,6 +23,14 @@
{
"dimID": 119,
"dimName": "Void"
},
{
"dimID": 108,
"dimName": "Titan"
},
{
"dimId": 201,
"dimName": "Hypron"
}
]
}

View File

@ -13,6 +13,7 @@
"fluid": "oil_heavy",
"dimension_filter": [
"name:overworld",
"dimension_id:201",
"name:lostcities"
],
"biome_modifier": {

View File

@ -12,6 +12,7 @@
},
"dimension_filter": [
"name:overworld",
"dimension_id:201",
"name:lostcities"
],
"fluid": "oil_light"

View File

@ -12,6 +12,7 @@
},
"dimension_filter": [
"name:overworld",
"dimension_id:201",
"name:lostcities"
],
"fluid": "natural_gas"

View File

@ -13,6 +13,7 @@
"fluid": "oil",
"dimension_filter": [
"name:overworld",
"dimension_id:201",
"name:lostcities"
],
"biome_modifier": {

View File

@ -12,6 +12,7 @@
},
"dimension_filter": [
"name:overworld",
"dimension_id:201",
"name:lostcities"
],
"fluid": "oil_medium"

View File

@ -13,6 +13,7 @@
"fluid": "salt_water",
"dimension_filter": [
"name:overworld",
"dimension_id:201",
"name:lostcities"
],
"biome_modifier": {

View File

@ -0,0 +1,17 @@
{
"weight": 600,
"name": "Titan Infinite Heavy Oil Deposit",
"yield": {
"min": 160,
"max": 160
},
"depletion": {
"amount": 0,
"chance": 0,
"depleted_yield": 80
},
"dimension_filter": [
"dimension_id:108"
],
"fluid": "oil_heavy"
}

View File

@ -0,0 +1,17 @@
{
"weight": 600,
"name": "Titan Infinite light Oil Deposit",
"yield": {
"min": 160,
"max": 160
},
"depletion": {
"amount": 0,
"chance": 0,
"depleted_yield": 80
},
"dimension_filter": [
"dimension_id:108"
],
"fluid": "oil_light"
}

View File

@ -0,0 +1,17 @@
{
"weight": 600,
"name": "Titan Infinite Raw Oil Deposit",
"yield": {
"min": 160,
"max": 160
},
"depletion": {
"amount": 0,
"chance": 0,
"depleted_yield": 80
},
"dimension_filter": [
"dimension_id:108"
],
"fluid": "oil"
}

View File

@ -0,0 +1,17 @@
{
"weight": 600,
"name": "Titan Infinite Medium Oil Deposit",
"yield": {
"min": 160,
"max": 160
},
"depletion": {
"amount": 0,
"chance": 0,
"depleted_yield": 80
},
"dimension_filter": [
"dimension_id:108"
],
"fluid": "oil_medium"
}

View File

@ -12,6 +12,7 @@
},
"dimension_filter": [
"dimension_id:111",
"dimension_id:201",
"dimension_id:0"
],
"filler": {

View File

@ -13,6 +13,7 @@
},
"dimension_filter": [
"dimension_id:111",
"dimension_id:201",
"dimension_id:0"
],
"filler": {

View File

@ -13,6 +13,7 @@
},
"dimension_filter": [
"dimension_id:111",
"dimension_id:201",
"dimension_id:0"
],
"filler": {

View File

@ -12,6 +12,7 @@
},
"dimension_filter": [
"dimension_id:111",
"dimension_id:201",
"dimension_id:0"
],
"filler": {

View File

@ -12,6 +12,7 @@
},
"dimension_filter": [
"dimension_id:111",
"dimension_id:201",
"dimension_id:0"
],
"filler": {

View File

@ -12,6 +12,7 @@
},
"dimension_filter": [
"dimension_id:111",
"dimension_id:201",
"dimension_id:0"
],
"filler": {

View File

@ -12,6 +12,7 @@
},
"dimension_filter": [
"dimension_id:111",
"dimension_id:201",
"dimension_id:0"
],
"filler": {

View File

@ -12,6 +12,7 @@
},
"dimension_filter": [
"dimension_id:111",
"dimension_id:201",
"dimension_id:0"
],
"filler": {

View File

@ -12,6 +12,7 @@
},
"dimension_filter": [
"dimension_id:111",
"dimension_id:201",
"dimension_id:0"
],
"filler": {

View File

@ -12,6 +12,7 @@
},
"dimension_filter": [
"dimension_id:111",
"dimension_id:201",
"dimension_id:0"
],
"filler": {

View File

@ -12,6 +12,7 @@
},
"dimension_filter": [
"dimension_id:111",
"dimension_id:201",
"dimension_id:0"
],
"filler": {

View File

@ -12,6 +12,7 @@
},
"dimension_filter": [
"dimension_id:111",
"dimension_id:201",
"dimension_id:0"
],
"filler": {

View File

@ -12,6 +12,7 @@
},
"dimension_filter": [
"dimension_id:111",
"dimension_id:201",
"dimension_id:0"
],
"filler": {

View File

@ -12,6 +12,7 @@
},
"dimension_filter": [
"dimension_id:111",
"dimension_id:201",
"dimension_id:0"
],
"filler": {

View File

@ -12,6 +12,7 @@
},
"dimension_filter": [
"dimension_id:111",
"dimension_id:201",
"dimension_id:0"
],
"filler": {

View File

@ -12,6 +12,7 @@
},
"dimension_filter": [
"dimension_id:111",
"dimension_id:201",
"dimension_id:0"
],
"filler": {

View File

@ -13,6 +13,7 @@
},
"dimension_filter": [
"dimension_id:111",
"dimension_id:201",
"dimension_id:0"
],
"filler": {

View File

@ -12,6 +12,7 @@
},
"dimension_filter": [
"dimension_id:111",
"dimension_id:201",
"dimension_id:0"
],
"filler": {

View File

@ -12,6 +12,7 @@
},
"dimension_filter": [
"dimension_id:111",
"dimension_id:201",
"dimension_id:0"
],
"filler": {

View File

@ -12,6 +12,7 @@
},
"dimension_filter": [
"dimension_id:111",
"dimension_id:201",
"dimension_id:0"
],
"filler": {

View File

@ -12,6 +12,7 @@
},
"dimension_filter": [
"dimension_id:111",
"dimension_id:201",
"dimension_id:0"
],
"filler": {

View File

@ -12,6 +12,7 @@
},
"dimension_filter": [
"dimension_id:111",
"dimension_id:201",
"dimension_id:0"
],
"filler": {

View File

@ -12,6 +12,7 @@
},
"dimension_filter": [
"dimension_id:111",
"dimension_id:201",
"dimension_id:0"
],
"filler": {

View File

@ -23,6 +23,7 @@
},
"dimension_filter": [
"dimension_id:111",
"dimension_id:201",
"dimension_id:0"
],
"filler": {

View File

@ -13,6 +13,7 @@
},
"dimension_filter": [
"dimension_id:111",
"dimension_id:201",
"dimension_id:0"
],
"filler": {

View File

@ -12,6 +12,7 @@
},
"dimension_filter": [
"dimension_id:111",
"dimension_id:201",
"dimension_id:0"
],
"filler": {

View File

@ -12,6 +12,7 @@
},
"dimension_filter": [
"dimension_id:111",
"dimension_id:201",
"dimension_id:0"
],
"filler": {

View File

@ -12,6 +12,7 @@
},
"dimension_filter": [
"dimension_id:111",
"dimension_id:201",
"dimension_id:0"
],
"filler": {

View File

@ -12,6 +12,7 @@
},
"dimension_filter": [
"dimension_id:111",
"dimension_id:201",
"dimension_id:0"
],
"filler": {

View File

@ -86,7 +86,7 @@ general {
>
# Block to put underneath a bed so that it qualifies as a teleporter bed [default: minecraft:diamond_block]
S:specialBedBlock=minecraft:diamond_block
S:specialBedBlock=minecraft:command_block
# Config version. Do not modify this manually!
I:version=7

View File

@ -69,7 +69,7 @@
"comment": "Factor to apply to car movement. 1 is the realistic value, but this makes vehicles move too fast for Minecraft. Adjust with caution."
},
"fuelUsageFactor": {
"value": 2.0,
"value": 1.6,
"comment": "Factor times which engines use fuel. Change this if you think engines use fuel too fast or slow. Setting it to 0 will disable fuel and allow engines to run without it."
},
"engineHoursFactor": {
@ -246,7 +246,8 @@
},
"avgas": {
"methanol": 0.6,
"gasoline": 1.0
"gasoline": 1.0,
"gasoline_premium": 1.6
},
"gasoline": {
"gasoline": 1.0,

View File

@ -295,6 +295,21 @@
]
}
},
"bulletflare_red": {
"commonMaterialLists": [
[
"oredict:dustMagnesium:1",
"oredict:pipeTinyFluidAluminium:1",
"oredict:dustGunpowder:1",
"oredict:dyeRed:2"
]
],
"extraMaterialLists": {
"": [
[]
]
}
},
"beacon_tower": {
"commonMaterialLists": [
[
@ -326,6 +341,14 @@
]
}
},
"glovebox_skyhawk": {
"commonMaterialLists": [],
"extraMaterialLists": {
"": [
[]
]
}
},
"instrument_aircraft_attitude": {
"commonMaterialLists": [
[
@ -584,6 +607,21 @@
]
}
},
"gunflaregun": {
"commonMaterialLists": [
[
"oredict:pipeTinyFluidSteel:1",
"oredict:plateRubber:1",
"oredict:platePlastic:1",
"oredict:screwSteel:4"
]
],
"extraMaterialLists": {
"": [
[]
]
}
},
"comanche": {
"commonMaterialLists": [
[
@ -876,6 +914,14 @@
]
}
},
"ocpbutter": {
"commonMaterialLists": [
[
"minecraft:milk_bucket:1",
"minecraft:clock:1"
]
]
},
"sign_speedlimit": {
"commonMaterialLists": [
[
@ -1044,36 +1090,161 @@
"extraMaterialLists": {
"_birch": [
[
"tags:birch_logs:4"
"minecraft:birch_slab:24",
"tags:birch_logs:2",
"minecraft:birch_planks:8"
]
],
"_oak": [
[
"tags:logs:4"
"tags:wooden_slabs:24",
"tags:logs:2",
"tags:planks:8"
]
],
"_darkoak": [
[
"tags:dark_oak_logs:4"
"minecraft:dark_oak_slab:24",
"tags:dark_oak_logs:2",
"minecraft:dark_oak_planks:8"
]
],
"_jungle": [
[
"tags:jungle_logs:4"
"minecraft:jungle_slab:24",
"tags:jungle_logs:2",
"minecraft:jungle_planks:8"
]
],
"_spruce": [
[
"tags:spruce_logs:4"
"minecraft:spruce_slab:24",
"tags:spruce_logs:2",
"minecraft:spruce_planks:8"
]
],
"_acacia": [
[
"tags:acacia_logs:4"
"minecraft:acacia_slab:24",
"tags:acacia_logs:2",
"minecraft:acacia_planks:8"
]
]
}
},
"skyhawk": {
"commonMaterialLists": [
[
"oredict:plateAluminium:50",
"minecraft:lever:8",
"minecraft:stone_button:10",
"oredict:screwSteel:45",
"oredict:circuitMv:4",
"oredict:ringSteel:19",
"oredict:wireFineCopper:64",
"mts:mtsofficialpack.headlight:8",
"oredict:paneGlassColorless:7",
"gregtech:meta_item_1:128:10",
"oredict:plateRubber:10",
"oredict:platePlastic:15",
"oredict:batteryLv:1",
"oredict:screwAluminium:45",
"mts:mtsofficialpack.gunflaregun:1"
]
],
"extraMaterialLists": {
"_coffee": [
[
"tags:dyes/brown:4",
"tags:dyes/orange:2",
"tags:dyes/yellow:7"
]
],
"_blackorange": [
[
"tags:dyes/orange:2",
"tags:dyes/black:5"
]
],
"_blue": [
[
"tags:dyes/light_blue:2",
"tags:dyes/blue:4"
]
],
"_bluered": [],
"_green": [
[
"tags:dyes/blue:5",
"tags:dyes/red:3"
]
],
"_blackyellow": [
[
"tags:dyes/yellow:4",
"tags:dyes/black:2"
]
],
"_butter": [
[
"tags:dyes/yellow:4",
"tags:dyes/blue:7"
]
],
"_red": [
[
"tags:dyes/black:1",
"tags:dyes/red:5"
]
]
}
},
"brigbeddump": {
"commonMaterialLists": [
[
"oredict:plateSteel:20",
"oredict:screwSteel:20"
]
],
"extraMaterialLists": {
"": [
[]
],
"_sand": [
[]
],
"_gold": [
[]
],
"_copper": [
[]
],
"_podzol": [
[]
],
"_iron": [
[]
],
"_moss": [
[]
],
"_cobble": [
[]
],
"_hay": [
[]
],
"_nether": [
[]
],
"_coal": [
[]
],
"_dirt": [
[]
]
}
},
"brigbedflat": {
"commonMaterialLists": [
[
@ -1266,6 +1437,14 @@
]
}
},
"dump_storage": {
"commonMaterialLists": [],
"extraMaterialLists": {
"": [
[]
]
}
},
"sign_turn_left": {
"commonMaterialLists": [
[
@ -1279,6 +1458,16 @@
]
}
},
"snail_sculpture": {
"commonMaterialLists": [
[]
],
"extraMaterialLists": {
"": [
[]
]
}
},
"instrument_aircraft_electric": {
"commonMaterialLists": [
[
@ -1410,6 +1599,21 @@
]
}
},
"bulletflare_yellow": {
"commonMaterialLists": [
[
"oredict:dustMagnesium:1",
"oredict:pipeTinyFluidAluminium:1",
"oredict:dustGunpowder:1",
"oredict:dyeRed:2"
]
],
"extraMaterialLists": {
"": [
[]
]
}
},
"ammocrate_shell37": {
"commonMaterialLists": [
[
@ -1429,6 +1633,11 @@
]
}
},
"spring": {
"commonMaterialLists": [
[]
]
},
"signalcontroller": {
"commonMaterialLists": [
[
@ -1584,6 +1793,11 @@
]
}
},
"repairkit": {
"commonMaterialLists": [
[]
]
},
"instrument_car_spedometer_blk": {
"commonMaterialLists": [
[
@ -1750,19 +1964,6 @@
]
}
},
"brigbeddump": {
"commonMaterialLists": [
[
"oredict:plateSteel:20",
"oredict:screwSteel:20"
]
],
"extraMaterialLists": {
"": [
[]
]
}
},
"scoutbedpickup": {
"commonMaterialLists": [
[
@ -1992,6 +2193,14 @@
]
}
},
"dump_dropper": {
"commonMaterialLists": [],
"extraMaterialLists": {
"": [
[]
]
}
},
"telephonebooth": {
"commonMaterialLists": [
[
@ -2052,6 +2261,14 @@
]
}
},
"dump_hopper": {
"commonMaterialLists": [],
"extraMaterialLists": {
"": [
[]
]
}
},
"spraycan_black": {
"commonMaterialLists": [
[
@ -2236,6 +2453,36 @@
]
]
},
"bulletflare_white": {
"commonMaterialLists": [
[
"oredict:dustMagnesium:1",
"oredict:pipeTinyFluidAluminium:1",
"oredict:dustGunpowder:1",
"oredict:dyeWhite:2"
]
],
"extraMaterialLists": {
"": [
[]
]
}
},
"bulletflare_green": {
"commonMaterialLists": [
[
"oredict:dustMagnesium:1",
"oredict:pipeTinyFluidAluminium:1",
"oredict:dustGunpowder:1",
"oredict:dyeGreen:2"
]
],
"extraMaterialLists": {
"": [
[]
]
}
},
"instrument_car_clock": {
"commonMaterialLists": [
[
@ -2270,6 +2517,22 @@
]
}
},
"spraycan_glow": {
"commonMaterialLists": [
[
"oredict:platePlastic:1",
"oredict:pipeNormalFluidAluminium:1",
"tags:dyes/cyan:4",
"minecraft:glowstone_dust:8",
"minecraft:water_bucket:1"
]
],
"extraMaterialLists": {
"": [
[]
]
}
},
"circuit": {
"commonMaterialLists": [
[]
@ -2600,6 +2863,38 @@
[]
]
},
"paint_glow": {
"commonMaterialLists": [
[]
],
"extraMaterialLists": {
"": [
[]
]
}
},
"bomblet_bombrack": {
"commonMaterialLists": [
[
]
],
"extraMaterialLists": {
"": [
[]
]
}
},
"bomblet": {
"commonMaterialLists": [
[
]
],
"extraMaterialLists": {
"": [
[]
]
}
},
"pole_flashingsignal_red": {
"commonMaterialLists": [
[
@ -2846,9 +3141,22 @@
"sign_crosswalk": {
"commonMaterialLists": [
[
"oredict:plateAluminium:1",
"oredict:dyeBlue:1",
"oredict:dyeBlack:1"
"mts:mtsofficialpack.plating:1"
]
],
"extraMaterialLists": {
"": [
[]
]
}
},
"bulletflare_rainbow": {
"commonMaterialLists": [
[
"oredict:dustMagnesium:1",
"oredict:pipeTinyFluidAluminium:1",
"oredict:dustGunpowder:1",
"minecraft:magmaCream:2"
]
],
"extraMaterialLists": {
@ -2867,6 +3175,21 @@
]
}
},
"bulletflare_blue": {
"commonMaterialLists": [
[
"oredict:dustMagnesium:1",
"oredict:pipeTinyFluidAluminium:1",
"oredict:dustGunpowder:1",
"oredict:dyeBlue:2"
]
],
"extraMaterialLists": {
"": [
[]
]
}
},
"wheellarge": {
"commonMaterialLists": [
[
@ -2895,6 +3218,14 @@
]
]
},
"dump_placer": {
"commonMaterialLists": [],
"extraMaterialLists": {
"": [
[]
]
}
},
"gunobserver": {
"commonMaterialLists": [
[
@ -2914,6 +3245,18 @@
]
}
},
"testingmodule1": {
"commonMaterialLists": [
[
"minecraft:barrier:1"
]
],
"extraMaterialLists": {
"": [
[]
]
}
},
"sign_priority": {
"commonMaterialLists": [
[
@ -3048,7 +3391,7 @@
"oredict:plateSteel:32",
"oredict:screwSteel:64",
"oredict:wireFineCopper:32",
"oredict:gregtech:meta_item_1:127:1",
"gregtech:meta_item_1:127:1",
"oredict:circuitLv:4"
]
],

View File

@ -40,7 +40,7 @@ for (var entry : [0: 'glass', 20: 'covered', 40: 'smart', 60: 'dense_smart', 500
.output(output)
.input(cables, fluidIng(fluid('water')))
.setInputTooltip(1, IngredientFluidBucket.getInputTooltip(fluid('water')))
.replace().register()
.register()
}
// Paper

View File

@ -37,9 +37,6 @@ addOverride('key.draconicevolution.toolConfig', KeyModifier.SHIFT, Keyboard.KEY_
// Its also replaced by a different mod, FindMyItemsAndFluids.
addOverride('key.xu2.searchforitems', Keyboard.KEY_NONE)
addOverride('key.ftbutilities.nbt', Keyboard.KEY_NONE)
addOverride('key.ftbutilities.trash', Keyboard.KEY_NONE)
addOverride('key.groovyscript.reload', Keyboard.KEY_NONE)
// Doesn't affect ability to move bookmarks for some reason?

View File

@ -0,0 +1,198 @@
import com.nomiceu.nomilabs.groovy.ChangeRecipeBuilder
import com.nomiceu.nomilabs.groovy.ChangeRecipeBuilderCollection
import com.nomiceu.nomilabs.util.LabsModeHelper
import gregtech.api.recipes.RecipeBuilder
import gregtech.api.metatileentity.multiblock.CleanroomType
import gregtech.api.recipes.ingredients.GTRecipeItemInput
import gregtech.api.recipes.ingredients.nbtmatch.NBTCondition
import gregtech.api.recipes.ingredients.nbtmatch.NBTMatcher
import net.minecraft.item.ItemStack
import net.minecraftforge.fluids.FluidStack
import gregtech.loaders.WoodTypeEntry
import gregtech.loaders.recipe.WoodRecipeLoader
def newWoods = Arrays.asList(
new WoodTypeEntry.Builder("biomesoplenty", "sacred_oak")
.planks(item("biomesoplenty:planks_0", 0), "sacred_oak_planks")
.log(item("biomesoplenty:log_0", 4)).removeCharcoalRecipe()
.door(item("biomesoplenty:sacred_oak_door"), "sacred_oak_door")
.slab(item("biomesoplenty:wood_slab_0", 0), "sacred_oak_wooden_slab")
.fence(item("biomesoplenty:sacred_oak_fence"), "sacred_oak_fence")
.fenceGate(item("biomesoplenty:sacred_oak_fence_gate"), "sacred_oak_fence_gate")
.stairs(item("biomesoplenty:sacred_oak_stairs"), "sacred_oak_stairs")
.boat(item("biomesoplenty:boat_sacred_oak"), "boat_sacred_oak")
.registerAllUnificationInfo()
.build(),
new WoodTypeEntry.Builder("biomesoplenty", "cherry")
.planks(item("biomesoplenty:planks_0", 1), "cherry_planks")
.log(item("biomesoplenty:log_0", 5)).removeCharcoalRecipe()
.door(item("biomesoplenty:cherry_door"), "cherry_door")
.slab(item("biomesoplenty:wood_slab_0", 1), "cherry_wooden_slab")
.fence(item("biomesoplenty:cherry_fence"), "cherry_fence")
.fenceGate(item("biomesoplenty:cherry_fence_gate"), "cherry_fence_gate")
.stairs(item("biomesoplenty:cherry_stairs"), "cherry_stairs")
.boat(item("biomesoplenty:boat_cherry"), "boat_cherry")
.registerAllUnificationInfo()
.build(),
new WoodTypeEntry.Builder("biomesoplenty", "umbran")
.planks(item("biomesoplenty:planks_0", 2), "umbran_planks")
.log(item("biomesoplenty:log_0", 6)).removeCharcoalRecipe()
.door(item("biomesoplenty:umbran_door"), "umbran_door")
.slab(item("biomesoplenty:wood_slab_0", 2), "umbran_wooden_slab")
.fence(item("biomesoplenty:umbran_fence"), "umbran_fence")
.fenceGate(item("biomesoplenty:umbran_fence_gate"), "umbran_fence_gate")
.stairs(item("biomesoplenty:umbran_stairs"), "umbran_stairs")
.boat(item("biomesoplenty:boat_umbran"), "boat_umbran")
.registerAllUnificationInfo()
.build(),
new WoodTypeEntry.Builder("biomesoplenty", "fir")
.planks(item("biomesoplenty:planks_0", 3), "fir_planks")
.log(item("biomesoplenty:log_0", 7)).removeCharcoalRecipe()
.door(item("biomesoplenty:fir_door"), "fir_door")
.slab(item("biomesoplenty:wood_slab_0", 3), "fir_wooden_slab")
.fence(item("biomesoplenty:fir_fence"), "fir_fence")
.fenceGate(item("biomesoplenty:fir_fence_gate"), "fir_fence_gate")
.stairs(item("biomesoplenty:fir_stairs"), "fir_stairs")
.boat(item("biomesoplenty:boat_fir"), "boat_fir")
.registerAllUnificationInfo()
.build(),
new WoodTypeEntry.Builder("biomesoplenty", "ethereal")
.planks(item("biomesoplenty:planks_0", 4), "ethereal_planks")
.log(item("biomesoplenty:log_1", 4)).removeCharcoalRecipe()
.door(item("biomesoplenty:ethereal_door"), "ethereal_door")
.slab(item("biomesoplenty:wood_slab_0", 4), "ethereal_wooden_slab")
.fence(item("biomesoplenty:ethereal_fence"), "ethereal_fence")
.fenceGate(item("biomesoplenty:ethereal_fence_gate"), "ethereal_fence_gate")
.stairs(item("biomesoplenty:ethereal_stairs"), "ethereal_stairs")
.boat(item("biomesoplenty:boat_ethereal"), "boat_ethereal")
.registerAllUnificationInfo()
.build(),
new WoodTypeEntry.Builder("biomesoplenty", "magic")
.planks(item("biomesoplenty:planks_0", 5), "magic_planks")
.log(item("biomesoplenty:log_1", 5)).removeCharcoalRecipe()
.door(item("biomesoplenty:magic_door"), "magic_door")
.slab(item("biomesoplenty:wood_slab_0", 5), "magic_wooden_slab")
.fence(item("biomesoplenty:magic_fence"), "magic_fence")
.fenceGate(item("biomesoplenty:magic_fence_gate"), "magic_fence_gate")
.stairs(item("biomesoplenty:magic_stairs"), "magic_stairs")
.boat(item("biomesoplenty:boat_magic"), "boat_magic")
.registerAllUnificationInfo()
.build(),
new WoodTypeEntry.Builder("biomesoplenty", "mangrove")
.planks(item("biomesoplenty:planks_0", 6), "mangrove_planks")
.log(item("biomesoplenty:log_1", 6)).removeCharcoalRecipe()
.door(item("biomesoplenty:mangrove_door"), "mangrove_door")
.slab(item("biomesoplenty:wood_slab_0", 6), "mangrove_wooden_slab")
.fence(item("biomesoplenty:mangrove_fence"), "mangrove_fence")
.fenceGate(item("biomesoplenty:mangrove_fence_gate"), "mangrove_fence_gate")
.stairs(item("biomesoplenty:mangrove_stairs"), "mangrove_stairs")
.boat(item("biomesoplenty:boat_mangrove"), "boat_mangrove")
.registerAllUnificationInfo()
.build(),
new WoodTypeEntry.Builder("biomesoplenty", "palm")
.planks(item("biomesoplenty:planks_0", 7), "palm_planks")
.log(item("biomesoplenty:log_1", 7)).removeCharcoalRecipe()
.door(item("biomesoplenty:palm_door"), "palm_door")
.slab(item("biomesoplenty:wood_slab_0", 7), "palm_wooden_slab")
.fence(item("biomesoplenty:palm_fence"), "palm_fence")
.fenceGate(item("biomesoplenty:palm_fence_gate"), "palm_fence_gate")
.stairs(item("biomesoplenty:palm_stairs"), "palm_stairs")
.boat(item("biomesoplenty:boat_palm"), "boat_palm")
.registerAllUnificationInfo()
.build(),
new WoodTypeEntry.Builder("biomesoplenty", "redwood")
.planks(item("biomesoplenty:planks_0", 8), "redwood_planks")
.log(item("biomesoplenty:log_2", 4)).removeCharcoalRecipe()
.door(item("biomesoplenty:redwood_door"), "redwood_door")
.slab(item("biomesoplenty:wood_slab_1", 0), "redwood_wooden_slab")
.fence(item("biomesoplenty:redwood_fence"), "redwood_fence")
.fenceGate(item("biomesoplenty:redwood_fence_gate"), "redwood_fence_gate")
.stairs(item("biomesoplenty:redwood_stairs"), "redwood_stairs")
.boat(item("biomesoplenty:boat_redwood"), "boat_redwood")
.registerAllUnificationInfo()
.build(),
new WoodTypeEntry.Builder("biomesoplenty", "willow")
.planks(item("biomesoplenty:planks_0", 9), "willow_planks")
.log(item("biomesoplenty:log_2", 5)).removeCharcoalRecipe()
.door(item("biomesoplenty:willow_door"), "willow_door")
.slab(item("biomesoplenty:wood_slab_1", 1), "willow_wooden_slab")
.fence(item("biomesoplenty:willow_fence"), "willow_fence")
.fenceGate(item("biomesoplenty:willow_fence_gate"), "willow_fence_gate")
.stairs(item("biomesoplenty:willow_stairs"), "willow_stairs")
.boat(item("biomesoplenty:boat_willow"), "boat_willow")
.registerAllUnificationInfo()
.build(),
new WoodTypeEntry.Builder("biomesoplenty", "pine")
.planks(item("biomesoplenty:planks_0", 10), "pine_planks")
.log(item("biomesoplenty:log_2", 6)).removeCharcoalRecipe()
.door(item("biomesoplenty:pine_door"), "pine_door")
.slab(item("biomesoplenty:wood_slab_1", 2), "pine_wooden_slab")
.fence(item("biomesoplenty:pine_fence"), "pine_fence")
.fenceGate(item("biomesoplenty:pine_fence_gate"), "pine_fence_gate")
.stairs(item("biomesoplenty:pine_stairs"), "pine_stairs")
.boat(item("biomesoplenty:boat_pine"), "boat_pine")
.registerAllUnificationInfo()
.build(),
new WoodTypeEntry.Builder("biomesoplenty", "hellbark")
.planks(item("biomesoplenty:planks_0", 11), "hellbark_planks")
.log(item("biomesoplenty:log_2", 7)).removeCharcoalRecipe()
.door(item("biomesoplenty:hellbark_door"), "hellbark_door")
.slab(item("biomesoplenty:wood_slab_1", 3), "hellbark_wooden_slab")
.fence(item("biomesoplenty:hellbark_fence"), "hellbark_fence")
.fenceGate(item("biomesoplenty:hellbark_fence_gate"), "hellbark_fence_gate")
.stairs(item("biomesoplenty:hellbark_stairs"), "hellbark_stairs")
.boat(item("biomesoplenty:boat_hellbark"), "boat_hellbark")
.registerAllUnificationInfo()
.build(),
new WoodTypeEntry.Builder("biomesoplenty", "jacaranda")
.planks(item("biomesoplenty:planks_0", 12), "jacaranda_planks")
.log(item("biomesoplenty:log_3", 4)).removeCharcoalRecipe()
.door(item("biomesoplenty:jacaranda_door"), "jacaranda_door")
.slab(item("biomesoplenty:wood_slab_1", 4), "jacaranda_wooden_slab")
.fence(item("biomesoplenty:jacaranda_fence"), "jacaranda_fence")
.fenceGate(item("biomesoplenty:jacaranda_fence_gate"), "jacaranda_fence_gate")
.stairs(item("biomesoplenty:jacaranda_stairs"), "jacaranda_stairs")
.boat(item("biomesoplenty:boat_jacaranda"), "boat_jacaranda")
.registerAllUnificationInfo()
.build(),
new WoodTypeEntry.Builder("biomesoplenty", "mahogany")
.planks(item("biomesoplenty:planks_0", 13), "mahogany_planks")
.log(item("biomesoplenty:log_3", 5)).removeCharcoalRecipe()
.door(item("biomesoplenty:mahogany_door"), "mahogany_door")
.slab(item("biomesoplenty:wood_slab_1", 5), "mahogany_wooden_slab")
.fence(item("biomesoplenty:mahogany_fence"), "mahogany_fence")
.fenceGate(item("biomesoplenty:mahogany_fence_gate"), "mahogany_fence_gate")
.stairs(item("biomesoplenty:mahogany_stairs"), "mahogany_stairs")
.boat(item("biomesoplenty:boat_mahogany"), "boat_mahogany")
.registerAllUnificationInfo()
.build(),
new WoodTypeEntry.Builder("biomesoplenty", "ebony")
.planks(item("biomesoplenty:planks_0", 14), "ebony_planks")
.log(item("biomesoplenty:log_3", 6)).removeCharcoalRecipe()
.door(item("biomesoplenty:ebony_door"), "ebony_door")
.slab(item("biomesoplenty:wood_slab_1", 6), "ebony_wooden_slab")
.fence(item("biomesoplenty:ebony_fence"), "ebony_fence")
.fenceGate(item("biomesoplenty:ebony_fence_gate"), "ebony_fence_gate")
.stairs(item("biomesoplenty:ebony_stairs"), "ebony_stairs")
.boat(item("biomesoplenty:boat_ebony"), "boat_ebony")
.registerAllUnificationInfo()
.build(),
new WoodTypeEntry.Builder("biomesoplenty", "eucalyptus")
.planks(item("biomesoplenty:planks_0", 15), "eucalyptus_planks")
.log(item("biomesoplenty:log_3", 7)).removeCharcoalRecipe()
.door(item("biomesoplenty:eucalyptus_door"), "eucalyptus_door")
.slab(item("biomesoplenty:wood_slab_1", 7), "eucalyptus_wooden_slab")
.fence(item("biomesoplenty:eucalyptus_fence"), "eucalyptus_fence")
.fenceGate(item("biomesoplenty:eucalyptus_fence_gate"), "eucalyptus_fence_gate")
.stairs(item("biomesoplenty:eucalyptus_stairs"), "eucalyptus_stairs")
.boat(item("biomesoplenty:boat_eucalyptus"), "boat_eucalyptus")
.registerAllUnificationInfo()
.build(),
)
def woodRecipeLoader = new WoodRecipeLoader()
for (entry : newWoods) {
woodRecipeLoader.registerWoodTypeRecipe(entry)
}

View File

@ -97,7 +97,7 @@ mods.gregtech.assembler.recipeBuilder()
crafting.removeByOutput(item("mts:mts.seatbench"))
mods.gregtech.assembler.recipeBuilder()
.inputs(ore("toolHeadBuzzsawSteel"), metaitem("electric.motor.hv"), ore("plateIron") * 4)
.inputs(ore("toolHeadBuzzSawSteel"), metaitem("electric.motor.hv"), ore("plateIron") * 4)
.outputs(item("mts:mts.seatbench"))
.duration(200).EUt(VHA[LV])
.buildAndRegister()
@ -110,7 +110,7 @@ crafting.shapedBuilder()
'TFF')
.key("P", ore("pipeTinyFluidSteel"))
.key("S", ore("slabWood"))
.key("T", item("thermalexpansion:tank", 0))
.key("T", item("gregtech:machine", 1611))
.key("F", ore("frameGtWood"))
.replace().register()
@ -198,6 +198,8 @@ removeAndHideItemIgnoreNBT(item('mts:mtsofficialpack.processor'))
removeAndHideItemIgnoreNBT(item('mts:mtsofficialpack.screws'))
removeAndHideItemIgnoreNBT(item('mts:mtsofficialpack.smallarmscartridge'))
removeAndHideItemIgnoreNBT(item('mts:mtsofficialpack.solidfuel'))
removeAndHideItemIgnoreNBT(item('mts:mtsofficialpack.explosives'))
removeAndHideItemIgnoreNBT(item('mts:mtsofficialpack.spring'))
mods.jei.ingredient.hide(item('mts:mtsofficialpack.ft17_blue'))
mods.jei.ingredient.hide(item('mts:mtsofficialpack.ft17_gray'))
@ -253,6 +255,8 @@ mods.jei.ingredient.hide(item('mts:mtsofficialpack.processor'))
mods.jei.ingredient.hide(item('mts:mtsofficialpack.screws'))
mods.jei.ingredient.hide(item('mts:mtsofficialpack.smallarmscartridge'))
mods.jei.ingredient.hide(item('mts:mtsofficialpack.solidfuel'))
mods.jei.ingredient.hide(item('mts:mtsofficialpack.explosives'))
mods.jei.ingredient.hide(item('mts:mtsofficialpack.spring'))
crafting.removeByOutput(item("mts:mtsofficialpack.blowtorch"))
mods.gregtech.assembler.recipeBuilder()
@ -275,11 +279,21 @@ crafting.shapedBuilder()
.key("W", ore("wireFineCopper"))
.replace().register()
// recipe conflict with minecart wheels
mods.gregtech.assembler.removeByInput(20, [metaitem("stickSteel"), metaitem("ringSteel") * 2], [null])
mods.gregtech.assembler.recipeBuilder()
.inputs(ore("stickSteel"), ore("ringSteel") * 2)
.outputs(item("gregtech:meta_item_1", 269))
.duration(60).EUt(20)
.circuitMeta(11)
.buildAndRegister()
crafting.removeByOutput(item("mts:mtsofficialpack.piston"))
mods.gregtech.assembler.recipeBuilder()
.inputs(ore("plateSteel"), ore("stickSteel") * 2, ore("ringSteel") * 2, ore("screwSteel") * 2)
.outputs(item("mts:mtsofficialpack.piston"))
.duration(200).EUt(VHA[LV])
.circuitMeta(10)
.buildAndRegister()
crafting.removeByOutput(item("mts:mtsofficialpack.sparkplug"))
@ -294,3 +308,12 @@ crafting.shapelessBuilder()
.output(item("mts:mtsofficialpack.extinguisherfoam"))
.input(item("mts:mtsofficialpack.watercannon_proj"))
.replace().register()
crafting.removeByOutput(item("mts:mtsofficialpack.repairkit"))
mods.gregtech.assembler.recipeBuilder()
.inputs(item("mts:mtsofficialpack.blowtorch"), item("mts:mts.jumperpack"), item("mts:mts.wrench"), ore("wireFineCopper") * 64, item("gregtech:machine", 1627), ore("plateDoubleSteel") * 32, ore("ingotSolderingAlloy") * 16)
.outputs(item("mts:mtsofficialpack.repairkit"))
.circuitMeta(11)
.duration(400).EUt(VHA[MV])
.buildAndRegister()

View File

@ -345,12 +345,14 @@ mods.gregtech.circuitAssembler.recipeBuilder()
.outputs(item("opencomputers:material", 11))
.fluidInputs(fluid("soldering_alloy") * 72)
.duration(350).EUt(VHA[LV])
.circuitMeta(1)
.buildAndRegister()
mods.gregtech.circuitAssembler.recipeBuilder()
.inputs(ore("componentTransistor") * 4, ore("circuitMv"))
.outputs(item("opencomputers:material", 11))
.fluidInputs(fluid("tin") * 144)
.duration(350).EUt(VHA[LV])
.circuitMeta(1)
.buildAndRegister()
// disk platter