diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 6410118104..346150e1d9 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -1,23 +1,92 @@ -Contributing -============ - -* Use appropriate formatting - * Java - * 4 Spaces (No tabs PLEASE) - * Brackets on the same line - * Space between all keywords, operators and values - * Long lines are OK - do not break long lines unless there is a logical, tabular break pattern (for example initialising elements in a long array) or if Vanilla does so - * Generally you should explicitly use `this`. - * Generally you should use braces { } following `if ()` and `for ()` statements, even if it is only one line. - * Interfaces - do not put the prefix 'I' on the file name (example `Rotatable`, not `IRotatable`) - * JSON - * 2 Spaces indent (NO TABS) - * Keep arrays on the same line (do not wrap) - * Spaces after `,` and `:` - * Commits - * Use the [Conventional Commits](https://www.conventionalcommits.org/) specification when creating commits. - * Pull Requests - * Pull request titles must use the [Conventional Commits](https://www.conventionalcommits.org/) specification, just like commit names. -* Name all variables correctly -* All PRs require at least one successful review from a team member to merge - * Please do not submit simple PRs like minor readme changes or spelling fixes, unless they are a part of larger changes such as a new feature or bugfix. +Contributing to Galacticraft += + +Thanks for your interest in contributing to Galacticraft! + +## Testing and Bug Reports + +### Builds +> [!IMPORTANT] +> Galacticraft 5 is still under development!\ +> It is possible that saves will become corrupted and/or unloadable after updates.\ +> It is strongly discouraged to use these builds for anything but testing.\ +> No support will be provided regarding the use of these builds. + +Pre-alpha builds are created after every commit to the `main` branch of this repository.\ +They can be found on the [GitHub Actions][actions] tab (select a commit and look for "Artifacts" at the bottom). + +### Bug Reports +* Before opening a new bug report, please check to see if your issue has already been reported. +* Please create a separate bug report for each bug that you find. + * This makes it easier to keep track of what is and is not fixed. +* Please include either the commit hash (e.g., `a17fe4784ed658a9c70ecebd2173af755299d0cb`) +or the GitHub actions build number (e.g., #253) in your report. + * Commit hashes are preferred, but the build number is acceptable too. + * This helps us figure out when a bug may have been introduced, + or if there are any commit(s) that may have already fixed this bug. + +## Translations +Translations are submitted through [Crowdin][crowdin]. +If your language is missing, or you're having trouble accessing the site, +please get in touch on our [Discord server][discord]. + +## Contributing Code + +If you're planning on fixing an open bug, +please comment on the issue tracker to let people know that you're working on it. + +If you're planning on contributing a larger feature, +please get in contact with us [on Discord][discord], so that we can avoid duplicating work. + +Please try to keep pull requests focused on one feature or subsystem +to keep them small and ensure a quick review process. + +### Code style +Mainly: +* Indent using four spaces +* Braces `{}` go on the same line + +Overall, follow the style of the file you're in. +Feel free to use `var` for variables with obvious types. + +### Managing resources +> [!IMPORTANT] +> Do not manually edit or add any files to [`src/main/generated`][generated] as they will be deleted. + +#### Textures, Music and Complex Models +These (and other non-generatable) resources belong in the [`src/main/resources`] directory. + +#### Simple Models, Loot Tables, and Tags +These (and other generatable) resources are programmatically created using Minecraft's datagen system. +See the [`dev.galacticraft.mod.data`](/src/main/java/dev/galacticraft/mod/data) package to see how these are generated. + +### Before Committing Changes + +#### Data Generation +If you've added, removed, or otherwise modified resource generation code, +you'll need to re-run the data generator to see your changes. + +This can be found as the `Data Generation` configuration in your IDE, or run from Gradle: +```shell +./gradlew runDatagen +``` + +#### License Headers +If you've added any new classes, be sure to check that they have the standard [license header][license header] applied. + +If any files are missing the header, you can add it by executing the following Gradle task: +```shell +./gradlew updateLicenses +``` + +#### Commit Message +We use [conventional commits][conventional commits] specification to write commit messages. +However, we tend to squash-merge pull requests, so you are not required to do this. + + +[actions]: https://github.com/TeamGalacticraft/Galacticraft/actions/workflows/build.yml?query=branch%3Amain+is%3Asuccess +[conventional commits]: https://www.conventionalcommits.org +[crowdin]: https://teamgalacticraft.crowdin.com/galacticraft +[discord]: https://discord.gg/n3QqhMYyFK +[generated]: /src/main/generated +[license header]: /LICENSE_HEADER.txt diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index f94dd7d12d..ddca860a9b 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -1,4 +1,4 @@ -name: Bug Report +name: Bug Report (Generic) description: File a bug report labels: - 'status: triage' @@ -10,26 +10,14 @@ body: - type: markdown attributes: value: >- - Please note that support for compiling the mod is not currently provided. - For help with Galacticraft 4 and below, please use [TeamGalacticraft/Galacticraft-Legacy](https://github.com/TeamGalacticraft/Galacticraft-Legacy). For general Galacticraft help and support visit the [Galacticraft Central Discord](http://discord.galacticraftcentral.com/) - - type: dropdown - id: modloader - attributes: - label: Mod Loader - description: Which mod loader are you using? - options: - - Fabric - - Forge (NYI) - validations: - required: true - type: input id: version attributes: label: Version Information - description: What version (commit hash or branch) of Galacticraft are you using? + description: What version (commit hash or actions build number) of Galacticraft are you using? placeholder: 4cb9a5d validations: required: true @@ -38,20 +26,15 @@ body: attributes: label: Log or Crash Report description: >- - Please upload your log (latest.log or crash report) to [Github - Gist](https://gist.github.com/) + If relevant, upload your log (latest.log or crash report) to [GitHub + Gist](https://gist.github.com/) or another paste site and link it here. placeholder: 'https://gist.github.com/ghost/1a79a4d60de6718e8e5b326e338ae533' - validations: - required: true - type: textarea id: repro attributes: label: Reproduction steps - description: How do you trigger this bug? Please walk us through it step by step. + description: How do you trigger this bug? Please be as detailed as possible. value: | - 1. Do this - 2. Do that - 3. Crash! ... validations: required: true diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 5065ff8180..2639c1e690 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -5,7 +5,7 @@ contact_links: about: Please use GitHub discussions for feature requests. - name: Galacticraft Central Discord url: http://discord.galacticraftcentral.com/ - about: Please use this discord for general Galacticraft help and support. + about: Please use this discord for general Galacticraft (4) help and support. - name: Galacticraft Development Discord url: https://discord.gg/n3QqhMYyFK about: Please use this discord to discuss the development of, and help develop Galacticraft. diff --git a/.github/ISSUE_TEMPLATE/crash_report.yml b/.github/ISSUE_TEMPLATE/crash_report.yml new file mode 100644 index 0000000000..255796d22e --- /dev/null +++ b/.github/ISSUE_TEMPLATE/crash_report.yml @@ -0,0 +1,42 @@ +name: Bug Report (Crash) +description: File a crashing bug report +labels: + - 'status: triage' + - 'type: bug' +body: + - type: markdown + attributes: + value: Thanks for taking the time to submit a bug report! + - type: markdown + attributes: + value: >- + For help with Galacticraft 4 and below, please use [TeamGalacticraft/Galacticraft-Legacy](https://github.com/TeamGalacticraft/Galacticraft-Legacy). + + For general Galacticraft help and support visit the [Galacticraft Central Discord](http://discord.galacticraftcentral.com/) + - type: input + id: version + attributes: + label: Version Information + description: What version (commit hash or actions build number) of Galacticraft are you using? + placeholder: a17fe4784ed658a9c70ecebd2173af755299d0cb + validations: + required: true + - type: input + id: logs + attributes: + label: Log or Crash Report + description: >- + Please upload your log (latest.log or crash report) to [GitHub + Gist](https://gist.github.com/) or another paste site and link it here. + placeholder: 'https://gist.github.com/ghost/1a79a4d60de6718e8e5b326e338ae533' + validations: + required: true + - type: textarea + id: repro + attributes: + label: Reproduction steps + description: How do you trigger this crash? Please be as detailed as possible. + value: | + ... + validations: + required: true diff --git a/.github/PULL_REQUEST_TEMPLATE/bug_fix.md b/.github/PULL_REQUEST_TEMPLATE/bug_fix.md deleted file mode 100644 index ac6e988736..0000000000 --- a/.github/PULL_REQUEST_TEMPLATE/bug_fix.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -name: Bug Fix -about: Fix a bug -title: 'fix: ...' -labels: 'type: bug' -assignees: '' ---- - -## Pre checks -- [ ] I have read the [Contributing guidelines](https://github.com/TeamGalacticraft/Galacticraft/blob/main/.github/CONTRIBUTING.md). -- [ ] I have checked for existing pull requests committing the same bug fix. - -## Changes: - 1. - 2. - 3. diff --git a/.github/PULL_REQUEST_TEMPLATE/feature.md b/.github/PULL_REQUEST_TEMPLATE/feature.md deleted file mode 100644 index 0d835f7671..0000000000 --- a/.github/PULL_REQUEST_TEMPLATE/feature.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -name: Add Feature -about: Implement a feature in Galacticraft -title: 'feat: ...' -labels: 'type: feature' -assignees: '' ---- - -## Pre checks -- [ ] I have read the [Contributing guidelines](https://github.com/TeamGalacticraft/Galacticraft/blob/main/.github/CONTRIBUTING.md). -- [ ] I have checked for existing pull requests committing the same feature. - -## Changes: -1. -2. -3. - -## Screenshots: - diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4c095c193a..7427028ad8 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -12,12 +12,12 @@ jobs: uses: actions/checkout@v4 - name: Validate Gradle wrapper - uses: gradle/actions/wrapper-validation@v3 + uses: gradle/actions/wrapper-validation@v4 - - name: Setup JDK 17 + - name: Setup JDK 21 uses: actions/setup-java@v4 with: - java-version: 17 + java-version: 21 distribution: temurin - name: Cache Gradle diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 34dab95062..8015f18efd 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -15,12 +15,12 @@ jobs: uses: actions/checkout@v4 - name: Validate Gradle wrapper - uses: gradle/actions/wrapper-validation@v3 + uses: gradle/actions/wrapper-validation@v4 - - name: Setup JDK 17 + - name: Setup JDK 21 uses: actions/setup-java@v4 with: - java-version: 17 + java-version: 21 distribution: temurin - name: Restore Gradle cache diff --git a/.github/workflows/crowdin_push.yml b/.github/workflows/crowdin_push.yml index f0ed1bc0f2..c9f36a5d50 100644 --- a/.github/workflows/crowdin_push.yml +++ b/.github/workflows/crowdin_push.yml @@ -15,7 +15,7 @@ jobs: uses: actions/checkout@v4 - name: Crowdin Push - uses: crowdin/github-action@v1 + uses: crowdin/github-action@v2 with: upload_sources: true upload_translations: false diff --git a/.github/workflows/crowdin_sync.yml b/.github/workflows/crowdin_sync.yml index 2b27202310..06ed782b40 100644 --- a/.github/workflows/crowdin_sync.yml +++ b/.github/workflows/crowdin_sync.yml @@ -10,7 +10,7 @@ jobs: uses: actions/checkout@v4 - name: Crowdin Sync - uses: crowdin/github-action@v1 + uses: crowdin/github-action@v2 with: upload_sources: false upload_translations: false diff --git a/.github/workflows/pr_check.yml b/.github/workflows/pr_check.yml index 22c196767e..642960a1d0 100644 --- a/.github/workflows/pr_check.yml +++ b/.github/workflows/pr_check.yml @@ -12,12 +12,12 @@ jobs: uses: actions/checkout@v4 - name: Validate Gradle wrapper - uses: gradle/actions/wrapper-validation@v3 + uses: gradle/actions/wrapper-validation@v4 - - name: Setup JDK 17 + - name: Setup JDK 21 uses: actions/setup-java@v4 with: - java-version: 17 + java-version: 21 distribution: temurin - name: Cache Gradle diff --git a/README.md b/README.md index c7b5bd7c8f..489e1b7dde 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,19 @@ -[![](https://img.shields.io/github/actions/workflow/status/TeamGalacticraft/Galacticraft/build.yml?style=flat-square&logo=github)](https://github.com/TeamGalacticraft/Galacticraft/actions/workflows/build.yml?query=branch%3Amain) +[![](https://img.shields.io/github/actions/workflow/status/TeamGalacticraft/Galacticraft/build.yml?style=flat-square&logo=github)][actions] [![](https://img.shields.io/github/issues/TeamGalacticraft/Galacticraft?style=flat-square&logo=github)](https://github.com/TeamGalacticraft/Galacticraft/issues) [![](https://img.shields.io/github/issues-pr/TeamGalacticraft/Galacticraft?logo=github&style=flat-square)](https://github.com/TeamGalacticraft/Galacticraft/pulls) -[![](https://img.shields.io/discord/775251052517523467.svg?colorB=5865F2&label=discord&style=flat-square&logo=discord&logoColor=azure)](https://discord.gg/n3QqhMYyFK) -[![](https://img.shields.io/twitch/status/galacticraftdev.svg?style=flat-square&logo=twitch&logoColor=azure)](https://twitch.tv/galacticraftdev) +[![](https://img.shields.io/discord/775251052517523467.svg?colorB=5865F2&label=discord&style=flat-square&logo=discord&logoColor=azure)][discord] +[![](https://img.shields.io/twitch/status/galacticraftdev.svg?style=flat-square&logo=twitch&logoColor=azure)][twitch] # Galacticraft 5 The classic Minecraft space mod, rewritten from the ground up for modern versions of the game. ## Common Questions Here we answer a few common questions we get regarding the release of the mod.\ -More information can be found in the `#faq` channel in [our Discord](https://discord.gg/n3QqhMYyFK). +More information can be found in the `#faq` channel in [our Discord][discord]. -**When will Galacticraft 5 for 1.20+ be released?**\ +**When will Galacticraft 5 be released?**\ There is currently no ETA for a release. -Keep an eye out on [our Discord server](https://discord.gg/n3QqhMYyFK) for an alpha release announcement. +Keep an eye out on [our Discord server][discord] for an alpha release announcement. **Will Galacticraft 5 be on Forge?**\ Yes, Forge development will start *after* we have a survival-playable alpha build out for Fabric. @@ -22,12 +22,21 @@ Yes, Forge development will start *after* we have a survival-playable alpha buil No, Galacticraft 5 is a complete rewrite, and does not have backwards compatibility with the old addon api. ## Pre-Alpha Builds -Pre-alpha builds are available for each commit to the `main` branch of this repository in the [Actions tab](https://github.com/TeamGalacticraft/Galacticraft/actions/workflows/build.yml?query=branch%3Amain) on GitHub. -These builds are not production ready or survival playable, they exist solely for testing.\ -Please note that ***NO SUPPORT*** will be provided for the use of these builds and asking for such may result in a ban or mute, -consider this your one and only warning. +> [!IMPORTANT] +> Galacticraft 5 is still under development!\ +> It is possible that saves will become corrupted and/or unloadable after updates.\ +> It is strongly discouraged to use these builds for anything but testing.\ +> No support will be provided regarding the use of these builds. + +Pre-alpha builds are created after every commit to the `main` branch of this repository.\ +They can be found on the [GitHub Actions][actions] tab (select a commit and look for "Artifacts" at the bottom). ## Contributing We welcome and encourage community contributions, -but before you start please read our [contributing guidelines](https://github.com/TeamGalacticraft/Galacticraft/blob/main/.github/CONTRIBUTING.md).\ +but before you start please read our [contributing guidelines][contributing].\ Pull requests require at least one team member's approving review, and a successful build before they will be merged. + +[actions]: https://github.com/TeamGalacticraft/Galacticraft/actions/workflows/build.yml +[contributing]: https://github.com/TeamGalacticraft/Galacticraft/blob/main/.github/CONTRIBUTING.md +[discord]: https://discord.gg/n3QqhMYyFK +[twitch]: https://twitch.tv/galacticraftdev diff --git a/build.gradle.kts b/build.gradle.kts index d831e27668..c30d4cbd74 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -53,15 +53,15 @@ val objVersion = project.property("obj.version").toString() plugins { java `maven-publish` - id("fabric-loom") version("1.6-SNAPSHOT") + id("fabric-loom") version("1.7-SNAPSHOT") id("org.cadixdev.licenser") version("0.6.1") id("org.ajoberstar.grgit") version("5.2.2") - id("dev.galacticraft.mojarn") version("0.1.2") + id("dev.galacticraft.mojarn") version("0.4.0+10") } java { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 + sourceCompatibility = JavaVersion.VERSION_21 + targetCompatibility = JavaVersion.VERSION_21 withSourcesJar() withJavadocJar() @@ -135,7 +135,14 @@ loom { } afterEvaluate { - val mixinJarFile = configurations.compileClasspath.get().files { it.group == "net.fabricmc" && it.name == "sponge-mixin" }.first() + val mixinJarFile = configurations.runtimeClasspath.get().incoming.artifactView { + componentFilter { + it is ModuleComponentIdentifier + && it.group == "net.fabricmc" + && it.module == "sponge-mixin" + } + }.files.first() + configureEach { vmArg("-javaagent:$mixinJarFile") @@ -148,12 +155,8 @@ loom { repositories { mavenLocal() - maven("https://maven.galacticraft.net/repository/maven-releases/") { - content { - includeGroup("dev.galacticraft") - } - } - maven("https://maven.galacticraft.net/repository/maven-snapshots/") { + maven("https://repo.terradevelopment.net/repository/maven-releases/") { + // https://maven.galacticraft.net/repository/maven-releases content { includeGroup("dev.galacticraft") } @@ -247,8 +250,8 @@ dependencies { } multicompat(group = "mezz.jei", - api = "jei-$minecraftVersion-common-api", - extra = "jei-$minecraftVersion-fabric-api", + api = "jei-1.21-common-api", + extra = "jei-1.21-fabric-api", // runtime = "jei-$minecraftVersion-fabric", // we already have REI at runtime version = jeiVersion) { exclude(group = "net.fabricmc.fabric-api") @@ -273,21 +276,13 @@ tasks.processResources { } } -tasks.processTestResources { - inputs.property("version", project.version) - - filesMatching("fabric.mod.json") { - expand("version" to project.version) - } -} - tasks.javadoc { options.encoding = "UTF-8" } tasks.withType(JavaCompile::class) { options.encoding = "UTF-8" - options.release.set(17) + options.release.set(21) } tasks.jar { diff --git a/gradle.properties b/gradle.properties index 7449f8f454..e0223a8d46 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,8 +2,8 @@ org.gradle.jvmargs=-Xmx2G # Fabric Info -minecraft.version=1.20.4 -loader.version=0.15.7 +minecraft.version=1.21.1 +loader.version=0.15.11 yarn.build=3 # Mod Info @@ -12,15 +12,14 @@ mod.group=dev.galacticraft mod.name=Galacticraft # Dependencies -fabric.version=0.96.11+1.20.4 -cloth.config.version=13.0.121 -modmenu.version=9.0.0 -rei.version=14.0.688 -jei.version=17.3.0.49 -dynamicdimensions.version=0.6.0+8 -machinelib.version=0.4.2+48 -badpackets.version=0.6.1 -wthit.version=10.4.0 +fabric.version=0.102.1+1.21.1 +cloth.config.version=15.0.130 +modmenu.version=11.0.1 +rei.version=16.0.754 +jei.version=19.8.2.99 +dynamicdimensions.version=0.8.0+24 +machinelib.version=0.7.0+74 +badpackets.version=0.8.1 +wthit.version=12.3.0 obj.version=0.4.0 -architectury.version=11.1.17 -appleskin.version=mc1.20.3-2.5.1 \ No newline at end of file +architectury.version=13.0.6 diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index e6441136f3..a4b76b9530 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 381baa9cef..2b189974c2 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,7 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionSha256Sum=544c35d6bd849ae8a5ed0bcea39ba677dc40f49df7d1835561582da2009b961d -distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip +distributionSha256Sum=5b9c5eb3f9fc2c94abaea57d90bd78747ca117ddbbf96c859d3741181a12bf2a +distributionUrl=https\://services.gradle.org/distributions/gradle-8.10-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index 1aa94a4269..f5feea6d6b 100755 --- a/gradlew +++ b/gradlew @@ -15,6 +15,8 @@ # See the License for the specific language governing permissions and # limitations under the License. # +# SPDX-License-Identifier: Apache-2.0 +# ############################################################################## # @@ -55,7 +57,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. @@ -84,7 +86,8 @@ done # shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} # Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) -APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s +' "$PWD" ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum diff --git a/gradlew.bat b/gradlew.bat index 25da30dbde..9d21a21834 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -13,6 +13,8 @@ @rem See the License for the specific language governing permissions and @rem limitations under the License. @rem +@rem SPDX-License-Identifier: Apache-2.0 +@rem @if "%DEBUG%"=="" @echo off @rem ########################################################################## diff --git a/settings.gradle.kts b/settings.gradle.kts index c0cd8dda0e..41c306be2d 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,5 +1,11 @@ pluginManagement { repositories { + mavenLocal { + content { + includeGroup("dev.galacticraft") + includeGroup("dev.galacticraft.mojarn") + } + } maven("https://maven.fabricmc.net/") { name = "Fabric" content { @@ -8,7 +14,8 @@ pluginManagement { includeGroup("fabric-loom") } } - maven("https://maven.galacticraft.net/repository/maven-releases/") { + maven("https://repo.terradevelopment.net/repository/maven-releases/") { + // https://maven.galacticraft.net/repository/maven-releases content { includeGroup("dev.galacticraft") includeGroup("dev.galacticraft.mojarn") diff --git a/src/main/generated/README.md b/src/main/generated/README.md deleted file mode 100644 index 247a3cb073..0000000000 --- a/src/main/generated/README.md +++ /dev/null @@ -1,15 +0,0 @@ -# Generated resources -**This directory contains generated resources. Do not edit them directly as they can be overwritten (or deleted).** - - -### Adding more resources -Resources that cannot be generated (e.g. music, textures, languages, etc.) should be put into [src/main/resources](../resources). - -To generate additional resources, see the `dev.galacticraft.mod.data` package. - -### Updating generated resources -To regenerate resources, run the following command: -```bash -./gradlew runDatagen -``` -or the "Data Generation" run configuration in your IDE. diff --git a/src/main/generated/assets/galacticraft/blockstates/chiseled_moon_rock_brick.json b/src/main/generated/assets/galacticraft/blockstates/chiseled_moon_rock_brick.json new file mode 100644 index 0000000000..83cca4703a --- /dev/null +++ b/src/main/generated/assets/galacticraft/blockstates/chiseled_moon_rock_brick.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "galacticraft:block/chiseled_moon_rock_brick" + } + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/blockstates/cracked_moon_rock_brick.json b/src/main/generated/assets/galacticraft/blockstates/cracked_moon_rock_brick.json new file mode 100644 index 0000000000..95b3239006 --- /dev/null +++ b/src/main/generated/assets/galacticraft/blockstates/cracked_moon_rock_brick.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "galacticraft:block/cracked_moon_rock_brick" + } + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/blockstates/cracked_moon_rock_brick_slab.json b/src/main/generated/assets/galacticraft/blockstates/cracked_moon_rock_brick_slab.json new file mode 100644 index 0000000000..697d5a3091 --- /dev/null +++ b/src/main/generated/assets/galacticraft/blockstates/cracked_moon_rock_brick_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "galacticraft:block/cracked_moon_rock_brick_slab" + }, + "type=double": { + "model": "galacticraft:block/cracked_moon_rock_brick" + }, + "type=top": { + "model": "galacticraft:block/cracked_moon_rock_brick_slab_top" + } + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/blockstates/cracked_moon_rock_brick_stairs.json b/src/main/generated/assets/galacticraft/blockstates/cracked_moon_rock_brick_stairs.json new file mode 100644 index 0000000000..960120f66e --- /dev/null +++ b/src/main/generated/assets/galacticraft/blockstates/cracked_moon_rock_brick_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "galacticraft:block/cracked_moon_rock_brick_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "galacticraft:block/cracked_moon_rock_brick_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "galacticraft:block/cracked_moon_rock_brick_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "galacticraft:block/cracked_moon_rock_brick_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "galacticraft:block/cracked_moon_rock_brick_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "galacticraft:block/cracked_moon_rock_brick_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "galacticraft:block/cracked_moon_rock_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "galacticraft:block/cracked_moon_rock_brick_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "galacticraft:block/cracked_moon_rock_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "galacticraft:block/cracked_moon_rock_brick_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "galacticraft:block/cracked_moon_rock_brick_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "galacticraft:block/cracked_moon_rock_brick_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "galacticraft:block/cracked_moon_rock_brick_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "galacticraft:block/cracked_moon_rock_brick_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "galacticraft:block/cracked_moon_rock_brick_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "galacticraft:block/cracked_moon_rock_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "galacticraft:block/cracked_moon_rock_brick_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "galacticraft:block/cracked_moon_rock_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "galacticraft:block/cracked_moon_rock_brick_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "galacticraft:block/cracked_moon_rock_brick_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "galacticraft:block/cracked_moon_rock_brick_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "galacticraft:block/cracked_moon_rock_brick_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "galacticraft:block/cracked_moon_rock_brick_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "galacticraft:block/cracked_moon_rock_brick_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "galacticraft:block/cracked_moon_rock_brick_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "galacticraft:block/cracked_moon_rock_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "galacticraft:block/cracked_moon_rock_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "galacticraft:block/cracked_moon_rock_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "galacticraft:block/cracked_moon_rock_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "galacticraft:block/cracked_moon_rock_brick_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "galacticraft:block/cracked_moon_rock_brick_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "galacticraft:block/cracked_moon_rock_brick_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "galacticraft:block/cracked_moon_rock_brick_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "galacticraft:block/cracked_moon_rock_brick_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "galacticraft:block/cracked_moon_rock_brick_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "galacticraft:block/cracked_moon_rock_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "galacticraft:block/cracked_moon_rock_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "galacticraft:block/cracked_moon_rock_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "galacticraft:block/cracked_moon_rock_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "galacticraft:block/cracked_moon_rock_brick_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/blockstates/cracked_moon_rock_brick_wall.json b/src/main/generated/assets/galacticraft/blockstates/cracked_moon_rock_brick_wall.json new file mode 100644 index 0000000000..24e684318d --- /dev/null +++ b/src/main/generated/assets/galacticraft/blockstates/cracked_moon_rock_brick_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "galacticraft:block/cracked_moon_rock_brick_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "galacticraft:block/cracked_moon_rock_brick_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "galacticraft:block/cracked_moon_rock_brick_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "galacticraft:block/cracked_moon_rock_brick_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "galacticraft:block/cracked_moon_rock_brick_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "galacticraft:block/cracked_moon_rock_brick_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "galacticraft:block/cracked_moon_rock_brick_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "galacticraft:block/cracked_moon_rock_brick_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "galacticraft:block/cracked_moon_rock_brick_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/blockstates/moon_berry_bush.json b/src/main/generated/assets/galacticraft/blockstates/moon_berry_bush.json deleted file mode 100644 index cf9d16611b..0000000000 --- a/src/main/generated/assets/galacticraft/blockstates/moon_berry_bush.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "variants": { - "age=0": { - "model": "galacticraft:block/moon_berry_bush_stage0" - }, - "age=1": { - "model": "galacticraft:block/moon_berry_bush_stage1" - }, - "age=2": { - "model": "galacticraft:block/moon_berry_bush_stage2" - }, - "age=3": { - "model": "galacticraft:block/moon_berry_bush_stage3" - } - } -} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/blockstates/moon_rock_brick.json b/src/main/generated/assets/galacticraft/blockstates/moon_rock_brick.json new file mode 100644 index 0000000000..8a9c7f5dd8 --- /dev/null +++ b/src/main/generated/assets/galacticraft/blockstates/moon_rock_brick.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "galacticraft:block/moon_rock_brick" + } + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/blockstates/moon_rock_brick_slab.json b/src/main/generated/assets/galacticraft/blockstates/moon_rock_brick_slab.json new file mode 100644 index 0000000000..6da7f9c26f --- /dev/null +++ b/src/main/generated/assets/galacticraft/blockstates/moon_rock_brick_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "galacticraft:block/moon_rock_brick_slab" + }, + "type=double": { + "model": "galacticraft:block/moon_rock_brick" + }, + "type=top": { + "model": "galacticraft:block/moon_rock_brick_slab_top" + } + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/blockstates/moon_rock_brick_stairs.json b/src/main/generated/assets/galacticraft/blockstates/moon_rock_brick_stairs.json new file mode 100644 index 0000000000..0dbd9de77a --- /dev/null +++ b/src/main/generated/assets/galacticraft/blockstates/moon_rock_brick_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "galacticraft:block/moon_rock_brick_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "galacticraft:block/moon_rock_brick_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "galacticraft:block/moon_rock_brick_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "galacticraft:block/moon_rock_brick_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "galacticraft:block/moon_rock_brick_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "galacticraft:block/moon_rock_brick_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "galacticraft:block/moon_rock_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "galacticraft:block/moon_rock_brick_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "galacticraft:block/moon_rock_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "galacticraft:block/moon_rock_brick_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "galacticraft:block/moon_rock_brick_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "galacticraft:block/moon_rock_brick_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "galacticraft:block/moon_rock_brick_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "galacticraft:block/moon_rock_brick_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "galacticraft:block/moon_rock_brick_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "galacticraft:block/moon_rock_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "galacticraft:block/moon_rock_brick_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "galacticraft:block/moon_rock_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "galacticraft:block/moon_rock_brick_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "galacticraft:block/moon_rock_brick_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "galacticraft:block/moon_rock_brick_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "galacticraft:block/moon_rock_brick_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "galacticraft:block/moon_rock_brick_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "galacticraft:block/moon_rock_brick_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "galacticraft:block/moon_rock_brick_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "galacticraft:block/moon_rock_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "galacticraft:block/moon_rock_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "galacticraft:block/moon_rock_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "galacticraft:block/moon_rock_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "galacticraft:block/moon_rock_brick_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "galacticraft:block/moon_rock_brick_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "galacticraft:block/moon_rock_brick_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "galacticraft:block/moon_rock_brick_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "galacticraft:block/moon_rock_brick_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "galacticraft:block/moon_rock_brick_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "galacticraft:block/moon_rock_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "galacticraft:block/moon_rock_brick_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "galacticraft:block/moon_rock_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "galacticraft:block/moon_rock_brick_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "galacticraft:block/moon_rock_brick_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/blockstates/moon_rock_brick_wall.json b/src/main/generated/assets/galacticraft/blockstates/moon_rock_brick_wall.json new file mode 100644 index 0000000000..a483419a0a --- /dev/null +++ b/src/main/generated/assets/galacticraft/blockstates/moon_rock_brick_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "galacticraft:block/moon_rock_brick_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "galacticraft:block/moon_rock_brick_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "galacticraft:block/moon_rock_brick_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "galacticraft:block/moon_rock_brick_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "galacticraft:block/moon_rock_brick_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "galacticraft:block/moon_rock_brick_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "galacticraft:block/moon_rock_brick_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "galacticraft:block/moon_rock_brick_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "galacticraft:block/moon_rock_brick_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/blockstates/moon_rock_pillar.json b/src/main/generated/assets/galacticraft/blockstates/moon_rock_pillar.json new file mode 100644 index 0000000000..b81cac5797 --- /dev/null +++ b/src/main/generated/assets/galacticraft/blockstates/moon_rock_pillar.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "galacticraft:block/moon_rock_pillar", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "galacticraft:block/moon_rock_pillar" + }, + "axis=z": { + "model": "galacticraft:block/moon_rock_pillar", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/blockstates/olivine_basalt.json b/src/main/generated/assets/galacticraft/blockstates/olivine_basalt.json new file mode 100644 index 0000000000..2737a1707b --- /dev/null +++ b/src/main/generated/assets/galacticraft/blockstates/olivine_basalt.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "galacticraft:block/olivine_basalt" + } + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/blockstates/olivine_block.json b/src/main/generated/assets/galacticraft/blockstates/olivine_block.json new file mode 100644 index 0000000000..a39c7f101d --- /dev/null +++ b/src/main/generated/assets/galacticraft/blockstates/olivine_block.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "galacticraft:block/olivine_block", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "galacticraft:block/olivine_block" + }, + "axis=z": { + "model": "galacticraft:block/olivine_block", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/blockstates/olivine_cluster.json b/src/main/generated/assets/galacticraft/blockstates/olivine_cluster.json new file mode 100644 index 0000000000..a5aad5dcf1 --- /dev/null +++ b/src/main/generated/assets/galacticraft/blockstates/olivine_cluster.json @@ -0,0 +1,30 @@ +{ + "variants": { + "facing=down": { + "model": "galacticraft:block/olivine_cluster_vertical", + "x": 180 + }, + "facing=east": { + "model": "galacticraft:block/olivine_cluster_horizontal", + "x": 90, + "y": 90 + }, + "facing=north": { + "model": "galacticraft:block/olivine_cluster_horizontal", + "x": 90 + }, + "facing=south": { + "model": "galacticraft:block/olivine_cluster_horizontal", + "x": 90, + "y": 180 + }, + "facing=up": { + "model": "galacticraft:block/olivine_cluster_vertical" + }, + "facing=west": { + "model": "galacticraft:block/olivine_cluster_horizontal", + "x": 90, + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/blockstates/polished_moon_rock.json b/src/main/generated/assets/galacticraft/blockstates/polished_moon_rock.json new file mode 100644 index 0000000000..b8c1bd9b45 --- /dev/null +++ b/src/main/generated/assets/galacticraft/blockstates/polished_moon_rock.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "galacticraft:block/polished_moon_rock" + } + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/blockstates/polished_moon_rock_slab.json b/src/main/generated/assets/galacticraft/blockstates/polished_moon_rock_slab.json new file mode 100644 index 0000000000..764a7fa5ea --- /dev/null +++ b/src/main/generated/assets/galacticraft/blockstates/polished_moon_rock_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "galacticraft:block/polished_moon_rock_slab" + }, + "type=double": { + "model": "galacticraft:block/polished_moon_rock" + }, + "type=top": { + "model": "galacticraft:block/polished_moon_rock_slab_top" + } + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/blockstates/polished_moon_rock_stairs.json b/src/main/generated/assets/galacticraft/blockstates/polished_moon_rock_stairs.json new file mode 100644 index 0000000000..75efda909e --- /dev/null +++ b/src/main/generated/assets/galacticraft/blockstates/polished_moon_rock_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "galacticraft:block/polished_moon_rock_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "galacticraft:block/polished_moon_rock_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "galacticraft:block/polished_moon_rock_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "galacticraft:block/polished_moon_rock_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "galacticraft:block/polished_moon_rock_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "galacticraft:block/polished_moon_rock_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "galacticraft:block/polished_moon_rock_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "galacticraft:block/polished_moon_rock_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "galacticraft:block/polished_moon_rock_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "galacticraft:block/polished_moon_rock_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "galacticraft:block/polished_moon_rock_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "galacticraft:block/polished_moon_rock_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "galacticraft:block/polished_moon_rock_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "galacticraft:block/polished_moon_rock_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "galacticraft:block/polished_moon_rock_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "galacticraft:block/polished_moon_rock_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "galacticraft:block/polished_moon_rock_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "galacticraft:block/polished_moon_rock_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "galacticraft:block/polished_moon_rock_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "galacticraft:block/polished_moon_rock_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "galacticraft:block/polished_moon_rock_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "galacticraft:block/polished_moon_rock_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "galacticraft:block/polished_moon_rock_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "galacticraft:block/polished_moon_rock_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "galacticraft:block/polished_moon_rock_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "galacticraft:block/polished_moon_rock_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "galacticraft:block/polished_moon_rock_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "galacticraft:block/polished_moon_rock_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "galacticraft:block/polished_moon_rock_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "galacticraft:block/polished_moon_rock_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "galacticraft:block/polished_moon_rock_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "galacticraft:block/polished_moon_rock_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "galacticraft:block/polished_moon_rock_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "galacticraft:block/polished_moon_rock_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "galacticraft:block/polished_moon_rock_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "galacticraft:block/polished_moon_rock_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "galacticraft:block/polished_moon_rock_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "galacticraft:block/polished_moon_rock_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "galacticraft:block/polished_moon_rock_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "galacticraft:block/polished_moon_rock_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/blockstates/polished_moon_rock_wall.json b/src/main/generated/assets/galacticraft/blockstates/polished_moon_rock_wall.json new file mode 100644 index 0000000000..60b9cb08d3 --- /dev/null +++ b/src/main/generated/assets/galacticraft/blockstates/polished_moon_rock_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "galacticraft:block/polished_moon_rock_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "galacticraft:block/polished_moon_rock_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "galacticraft:block/polished_moon_rock_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "galacticraft:block/polished_moon_rock_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "galacticraft:block/polished_moon_rock_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "galacticraft:block/polished_moon_rock_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "galacticraft:block/polished_moon_rock_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "galacticraft:block/polished_moon_rock_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "galacticraft:block/polished_moon_rock_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/blockstates/rich_olivine_basalt.json b/src/main/generated/assets/galacticraft/blockstates/rich_olivine_basalt.json new file mode 100644 index 0000000000..dd6e3d8455 --- /dev/null +++ b/src/main/generated/assets/galacticraft/blockstates/rich_olivine_basalt.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "galacticraft:block/rich_olivine_basalt" + } + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/block/chiseled_moon_rock_brick.json b/src/main/generated/assets/galacticraft/models/block/chiseled_moon_rock_brick.json new file mode 100644 index 0000000000..6a7ec54bfa --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/block/chiseled_moon_rock_brick.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "galacticraft:block/chiseled_moon_rock_brick" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/block/cracked_moon_rock_brick.json b/src/main/generated/assets/galacticraft/models/block/cracked_moon_rock_brick.json new file mode 100644 index 0000000000..1ca53c6586 --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/block/cracked_moon_rock_brick.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "galacticraft:block/cracked_moon_rock_brick" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/block/cracked_moon_rock_brick_slab.json b/src/main/generated/assets/galacticraft/models/block/cracked_moon_rock_brick_slab.json new file mode 100644 index 0000000000..8f0455c8b7 --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/block/cracked_moon_rock_brick_slab.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "galacticraft:block/cracked_moon_rock_brick", + "side": "galacticraft:block/cracked_moon_rock_brick", + "top": "galacticraft:block/cracked_moon_rock_brick" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/block/cracked_moon_rock_brick_slab_top.json b/src/main/generated/assets/galacticraft/models/block/cracked_moon_rock_brick_slab_top.json new file mode 100644 index 0000000000..b385a55902 --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/block/cracked_moon_rock_brick_slab_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "galacticraft:block/cracked_moon_rock_brick", + "side": "galacticraft:block/cracked_moon_rock_brick", + "top": "galacticraft:block/cracked_moon_rock_brick" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/block/cracked_moon_rock_brick_stairs.json b/src/main/generated/assets/galacticraft/models/block/cracked_moon_rock_brick_stairs.json new file mode 100644 index 0000000000..5056ea6fdb --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/block/cracked_moon_rock_brick_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "galacticraft:block/cracked_moon_rock_brick", + "side": "galacticraft:block/cracked_moon_rock_brick", + "top": "galacticraft:block/cracked_moon_rock_brick" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/block/cracked_moon_rock_brick_stairs_inner.json b/src/main/generated/assets/galacticraft/models/block/cracked_moon_rock_brick_stairs_inner.json new file mode 100644 index 0000000000..065fd5c44c --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/block/cracked_moon_rock_brick_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "galacticraft:block/cracked_moon_rock_brick", + "side": "galacticraft:block/cracked_moon_rock_brick", + "top": "galacticraft:block/cracked_moon_rock_brick" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/block/cracked_moon_rock_brick_stairs_outer.json b/src/main/generated/assets/galacticraft/models/block/cracked_moon_rock_brick_stairs_outer.json new file mode 100644 index 0000000000..c3cd082c16 --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/block/cracked_moon_rock_brick_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "galacticraft:block/cracked_moon_rock_brick", + "side": "galacticraft:block/cracked_moon_rock_brick", + "top": "galacticraft:block/cracked_moon_rock_brick" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/block/cracked_moon_rock_brick_wall_inventory.json b/src/main/generated/assets/galacticraft/models/block/cracked_moon_rock_brick_wall_inventory.json new file mode 100644 index 0000000000..4c0756fe2f --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/block/cracked_moon_rock_brick_wall_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "galacticraft:block/cracked_moon_rock_brick" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/block/cracked_moon_rock_brick_wall_post.json b/src/main/generated/assets/galacticraft/models/block/cracked_moon_rock_brick_wall_post.json new file mode 100644 index 0000000000..740dba5dd4 --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/block/cracked_moon_rock_brick_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "galacticraft:block/cracked_moon_rock_brick" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/block/cracked_moon_rock_brick_wall_side.json b/src/main/generated/assets/galacticraft/models/block/cracked_moon_rock_brick_wall_side.json new file mode 100644 index 0000000000..8771fac6b3 --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/block/cracked_moon_rock_brick_wall_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side", + "textures": { + "wall": "galacticraft:block/cracked_moon_rock_brick" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/block/cracked_moon_rock_brick_wall_side_tall.json b/src/main/generated/assets/galacticraft/models/block/cracked_moon_rock_brick_wall_side_tall.json new file mode 100644 index 0000000000..805cdac8ed --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/block/cracked_moon_rock_brick_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "galacticraft:block/cracked_moon_rock_brick" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/block/moon_berry_bush_stage0.json b/src/main/generated/assets/galacticraft/models/block/moon_berry_bush_stage0.json deleted file mode 100644 index 2c4e8c0172..0000000000 --- a/src/main/generated/assets/galacticraft/models/block/moon_berry_bush_stage0.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cross", - "textures": { - "cross": "galacticraft:block/moon_berry_bush_stage0" - } -} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/block/moon_berry_bush_stage1.json b/src/main/generated/assets/galacticraft/models/block/moon_berry_bush_stage1.json deleted file mode 100644 index 695e588a88..0000000000 --- a/src/main/generated/assets/galacticraft/models/block/moon_berry_bush_stage1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cross", - "textures": { - "cross": "galacticraft:block/moon_berry_bush_stage1" - } -} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/block/moon_berry_bush_stage2.json b/src/main/generated/assets/galacticraft/models/block/moon_berry_bush_stage2.json deleted file mode 100644 index 6821996086..0000000000 --- a/src/main/generated/assets/galacticraft/models/block/moon_berry_bush_stage2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cross", - "textures": { - "cross": "galacticraft:block/moon_berry_bush_stage2" - } -} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/block/moon_berry_bush_stage3.json b/src/main/generated/assets/galacticraft/models/block/moon_berry_bush_stage3.json deleted file mode 100644 index 8c17b55b04..0000000000 --- a/src/main/generated/assets/galacticraft/models/block/moon_berry_bush_stage3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cross", - "textures": { - "cross": "galacticraft:block/moon_berry_bush_stage3" - } -} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/block/moon_rock_brick.json b/src/main/generated/assets/galacticraft/models/block/moon_rock_brick.json new file mode 100644 index 0000000000..c1693fea03 --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/block/moon_rock_brick.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "galacticraft:block/moon_rock_brick" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/block/moon_rock_brick_slab.json b/src/main/generated/assets/galacticraft/models/block/moon_rock_brick_slab.json new file mode 100644 index 0000000000..e3eb6bbd0d --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/block/moon_rock_brick_slab.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "galacticraft:block/moon_rock_brick", + "side": "galacticraft:block/moon_rock_brick", + "top": "galacticraft:block/moon_rock_brick" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/block/moon_rock_brick_slab_top.json b/src/main/generated/assets/galacticraft/models/block/moon_rock_brick_slab_top.json new file mode 100644 index 0000000000..20939fbf9b --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/block/moon_rock_brick_slab_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "galacticraft:block/moon_rock_brick", + "side": "galacticraft:block/moon_rock_brick", + "top": "galacticraft:block/moon_rock_brick" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/block/moon_rock_brick_stairs.json b/src/main/generated/assets/galacticraft/models/block/moon_rock_brick_stairs.json new file mode 100644 index 0000000000..865705034d --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/block/moon_rock_brick_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "galacticraft:block/moon_rock_brick", + "side": "galacticraft:block/moon_rock_brick", + "top": "galacticraft:block/moon_rock_brick" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/block/moon_rock_brick_stairs_inner.json b/src/main/generated/assets/galacticraft/models/block/moon_rock_brick_stairs_inner.json new file mode 100644 index 0000000000..6614a9266d --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/block/moon_rock_brick_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "galacticraft:block/moon_rock_brick", + "side": "galacticraft:block/moon_rock_brick", + "top": "galacticraft:block/moon_rock_brick" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/block/moon_rock_brick_stairs_outer.json b/src/main/generated/assets/galacticraft/models/block/moon_rock_brick_stairs_outer.json new file mode 100644 index 0000000000..f76f89e24f --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/block/moon_rock_brick_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "galacticraft:block/moon_rock_brick", + "side": "galacticraft:block/moon_rock_brick", + "top": "galacticraft:block/moon_rock_brick" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/block/moon_rock_brick_wall_inventory.json b/src/main/generated/assets/galacticraft/models/block/moon_rock_brick_wall_inventory.json new file mode 100644 index 0000000000..d5eb2d680f --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/block/moon_rock_brick_wall_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "galacticraft:block/moon_rock_brick" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/block/moon_rock_brick_wall_post.json b/src/main/generated/assets/galacticraft/models/block/moon_rock_brick_wall_post.json new file mode 100644 index 0000000000..93baa9f2f4 --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/block/moon_rock_brick_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "galacticraft:block/moon_rock_brick" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/block/moon_rock_brick_wall_side.json b/src/main/generated/assets/galacticraft/models/block/moon_rock_brick_wall_side.json new file mode 100644 index 0000000000..d9240aed0a --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/block/moon_rock_brick_wall_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side", + "textures": { + "wall": "galacticraft:block/moon_rock_brick" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/block/moon_rock_brick_wall_side_tall.json b/src/main/generated/assets/galacticraft/models/block/moon_rock_brick_wall_side_tall.json new file mode 100644 index 0000000000..050282a7d0 --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/block/moon_rock_brick_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "galacticraft:block/moon_rock_brick" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/block/moon_rock_pillar.json b/src/main/generated/assets/galacticraft/models/block/moon_rock_pillar.json new file mode 100644 index 0000000000..2f4c455e53 --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/block/moon_rock_pillar.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "galacticraft:block/moon_rock_pillar_top", + "side": "galacticraft:block/moon_rock_pillar_side" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/block/olivine_basalt.json b/src/main/generated/assets/galacticraft/models/block/olivine_basalt.json new file mode 100644 index 0000000000..c250585c2f --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/block/olivine_basalt.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "galacticraft:block/olivine_basalt" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/block/olivine_block.json b/src/main/generated/assets/galacticraft/models/block/olivine_block.json new file mode 100644 index 0000000000..3ab88d1124 --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/block/olivine_block.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "galacticraft:block/olivine_block_top", + "side": "galacticraft:block/olivine_block_side" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/block/olivine_cluster_horizontal.json b/src/main/generated/assets/galacticraft/models/block/olivine_cluster_horizontal.json new file mode 100644 index 0000000000..748befdec0 --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/block/olivine_cluster_horizontal.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "galacticraft:block/olivine_cluster_horizontal" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/block/olivine_cluster_vertical.json b/src/main/generated/assets/galacticraft/models/block/olivine_cluster_vertical.json new file mode 100644 index 0000000000..1d22d16665 --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/block/olivine_cluster_vertical.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "galacticraft:block/olivine_cluster_vertical" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/block/polished_moon_rock.json b/src/main/generated/assets/galacticraft/models/block/polished_moon_rock.json new file mode 100644 index 0000000000..976afdc451 --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/block/polished_moon_rock.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "galacticraft:block/polished_moon_rock" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/block/polished_moon_rock_slab.json b/src/main/generated/assets/galacticraft/models/block/polished_moon_rock_slab.json new file mode 100644 index 0000000000..db14656340 --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/block/polished_moon_rock_slab.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "galacticraft:block/polished_moon_rock", + "side": "galacticraft:block/polished_moon_rock", + "top": "galacticraft:block/polished_moon_rock" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/block/polished_moon_rock_slab_top.json b/src/main/generated/assets/galacticraft/models/block/polished_moon_rock_slab_top.json new file mode 100644 index 0000000000..bcd38806bf --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/block/polished_moon_rock_slab_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "galacticraft:block/polished_moon_rock", + "side": "galacticraft:block/polished_moon_rock", + "top": "galacticraft:block/polished_moon_rock" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/block/polished_moon_rock_stairs.json b/src/main/generated/assets/galacticraft/models/block/polished_moon_rock_stairs.json new file mode 100644 index 0000000000..bd1569d511 --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/block/polished_moon_rock_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "galacticraft:block/polished_moon_rock", + "side": "galacticraft:block/polished_moon_rock", + "top": "galacticraft:block/polished_moon_rock" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/block/polished_moon_rock_stairs_inner.json b/src/main/generated/assets/galacticraft/models/block/polished_moon_rock_stairs_inner.json new file mode 100644 index 0000000000..e97de19e4f --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/block/polished_moon_rock_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "galacticraft:block/polished_moon_rock", + "side": "galacticraft:block/polished_moon_rock", + "top": "galacticraft:block/polished_moon_rock" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/block/polished_moon_rock_stairs_outer.json b/src/main/generated/assets/galacticraft/models/block/polished_moon_rock_stairs_outer.json new file mode 100644 index 0000000000..452d93112a --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/block/polished_moon_rock_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "galacticraft:block/polished_moon_rock", + "side": "galacticraft:block/polished_moon_rock", + "top": "galacticraft:block/polished_moon_rock" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/block/polished_moon_rock_wall_inventory.json b/src/main/generated/assets/galacticraft/models/block/polished_moon_rock_wall_inventory.json new file mode 100644 index 0000000000..754a9df4e8 --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/block/polished_moon_rock_wall_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "galacticraft:block/polished_moon_rock" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/block/polished_moon_rock_wall_post.json b/src/main/generated/assets/galacticraft/models/block/polished_moon_rock_wall_post.json new file mode 100644 index 0000000000..1a82c81786 --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/block/polished_moon_rock_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "galacticraft:block/polished_moon_rock" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/block/polished_moon_rock_wall_side.json b/src/main/generated/assets/galacticraft/models/block/polished_moon_rock_wall_side.json new file mode 100644 index 0000000000..778b05524c --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/block/polished_moon_rock_wall_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side", + "textures": { + "wall": "galacticraft:block/polished_moon_rock" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/block/polished_moon_rock_wall_side_tall.json b/src/main/generated/assets/galacticraft/models/block/polished_moon_rock_wall_side_tall.json new file mode 100644 index 0000000000..c5012380af --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/block/polished_moon_rock_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "galacticraft:block/polished_moon_rock" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/block/rich_olivine_basalt.json b/src/main/generated/assets/galacticraft/models/block/rich_olivine_basalt.json new file mode 100644 index 0000000000..539eef33d2 --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/block/rich_olivine_basalt.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "galacticraft:block/rich_olivine_basalt" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/item/chiseled_moon_rock_brick.json b/src/main/generated/assets/galacticraft/models/item/chiseled_moon_rock_brick.json new file mode 100644 index 0000000000..f8c9a8e31f --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/item/chiseled_moon_rock_brick.json @@ -0,0 +1,3 @@ +{ + "parent": "galacticraft:block/chiseled_moon_rock_brick" +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/item/cracked_moon_rock_brick.json b/src/main/generated/assets/galacticraft/models/item/cracked_moon_rock_brick.json new file mode 100644 index 0000000000..a409c03b74 --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/item/cracked_moon_rock_brick.json @@ -0,0 +1,3 @@ +{ + "parent": "galacticraft:block/cracked_moon_rock_brick" +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/item/cracked_moon_rock_brick_slab.json b/src/main/generated/assets/galacticraft/models/item/cracked_moon_rock_brick_slab.json new file mode 100644 index 0000000000..567104c293 --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/item/cracked_moon_rock_brick_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "galacticraft:block/cracked_moon_rock_brick_slab" +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/item/cracked_moon_rock_brick_stairs.json b/src/main/generated/assets/galacticraft/models/item/cracked_moon_rock_brick_stairs.json new file mode 100644 index 0000000000..60c334a848 --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/item/cracked_moon_rock_brick_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "galacticraft:block/cracked_moon_rock_brick_stairs" +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/item/cracked_moon_rock_brick_wall.json b/src/main/generated/assets/galacticraft/models/item/cracked_moon_rock_brick_wall.json new file mode 100644 index 0000000000..3fa8cc7041 --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/item/cracked_moon_rock_brick_wall.json @@ -0,0 +1,3 @@ +{ + "parent": "galacticraft:block/cracked_moon_rock_brick_wall_inventory" +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/item/moon_berries.json b/src/main/generated/assets/galacticraft/models/item/moon_berries.json deleted file mode 100644 index 27b259dcbd..0000000000 --- a/src/main/generated/assets/galacticraft/models/item/moon_berries.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "galacticraft:item/moon_berries" - } -} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/item/moon_rock_brick.json b/src/main/generated/assets/galacticraft/models/item/moon_rock_brick.json new file mode 100644 index 0000000000..1498b6482b --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/item/moon_rock_brick.json @@ -0,0 +1,3 @@ +{ + "parent": "galacticraft:block/moon_rock_brick" +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/item/moon_rock_brick_slab.json b/src/main/generated/assets/galacticraft/models/item/moon_rock_brick_slab.json new file mode 100644 index 0000000000..88b7c09317 --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/item/moon_rock_brick_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "galacticraft:block/moon_rock_brick_slab" +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/item/moon_rock_brick_stairs.json b/src/main/generated/assets/galacticraft/models/item/moon_rock_brick_stairs.json new file mode 100644 index 0000000000..00442e2e43 --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/item/moon_rock_brick_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "galacticraft:block/moon_rock_brick_stairs" +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/item/moon_rock_brick_wall.json b/src/main/generated/assets/galacticraft/models/item/moon_rock_brick_wall.json new file mode 100644 index 0000000000..27a5b58320 --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/item/moon_rock_brick_wall.json @@ -0,0 +1,3 @@ +{ + "parent": "galacticraft:block/moon_rock_brick_wall_inventory" +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/item/moon_rock_pillar.json b/src/main/generated/assets/galacticraft/models/item/moon_rock_pillar.json new file mode 100644 index 0000000000..e66e259f5c --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/item/moon_rock_pillar.json @@ -0,0 +1,3 @@ +{ + "parent": "galacticraft:block/moon_rock_pillar" +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/item/olivine_basalt.json b/src/main/generated/assets/galacticraft/models/item/olivine_basalt.json new file mode 100644 index 0000000000..7832c3b3c8 --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/item/olivine_basalt.json @@ -0,0 +1,3 @@ +{ + "parent": "galacticraft:block/olivine_basalt" +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/item/olivine_block.json b/src/main/generated/assets/galacticraft/models/item/olivine_block.json new file mode 100644 index 0000000000..ae4b1bd610 --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/item/olivine_block.json @@ -0,0 +1,3 @@ +{ + "parent": "galacticraft:block/olivine_block" +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/item/olivine_cluster.json b/src/main/generated/assets/galacticraft/models/item/olivine_cluster.json new file mode 100644 index 0000000000..170edb065a --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/item/olivine_cluster.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "galacticraft:block/olivine_cluster_vertical" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/item/olivine_shard.json b/src/main/generated/assets/galacticraft/models/item/olivine_shard.json new file mode 100644 index 0000000000..582831a774 --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/item/olivine_shard.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "galacticraft:item/olivine_shard" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/item/polished_moon_rock.json b/src/main/generated/assets/galacticraft/models/item/polished_moon_rock.json new file mode 100644 index 0000000000..7e0c4d4189 --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/item/polished_moon_rock.json @@ -0,0 +1,3 @@ +{ + "parent": "galacticraft:block/polished_moon_rock" +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/item/polished_moon_rock_slab.json b/src/main/generated/assets/galacticraft/models/item/polished_moon_rock_slab.json new file mode 100644 index 0000000000..d000c92f8b --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/item/polished_moon_rock_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "galacticraft:block/polished_moon_rock_slab" +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/item/polished_moon_rock_stairs.json b/src/main/generated/assets/galacticraft/models/item/polished_moon_rock_stairs.json new file mode 100644 index 0000000000..8f1d11f170 --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/item/polished_moon_rock_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "galacticraft:block/polished_moon_rock_stairs" +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/item/polished_moon_rock_wall.json b/src/main/generated/assets/galacticraft/models/item/polished_moon_rock_wall.json new file mode 100644 index 0000000000..43da16aadf --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/item/polished_moon_rock_wall.json @@ -0,0 +1,3 @@ +{ + "parent": "galacticraft:block/polished_moon_rock_wall_inventory" +} \ No newline at end of file diff --git a/src/main/generated/assets/galacticraft/models/item/rich_olivine_basalt.json b/src/main/generated/assets/galacticraft/models/item/rich_olivine_basalt.json new file mode 100644 index 0000000000..cdd8e9a6f4 --- /dev/null +++ b/src/main/generated/assets/galacticraft/models/item/rich_olivine_basalt.json @@ -0,0 +1,3 @@ +{ + "parent": "galacticraft:block/rich_olivine_basalt" +} \ No newline at end of file diff --git a/src/main/generated/data/c/tags/block/clusters.json b/src/main/generated/data/c/tags/block/clusters.json new file mode 100644 index 0000000000..c2ddbd9133 --- /dev/null +++ b/src/main/generated/data/c/tags/block/clusters.json @@ -0,0 +1,5 @@ +{ + "values": [ + "galacticraft:olivine_cluster" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/c/tags/block/ores.json b/src/main/generated/data/c/tags/block/ores.json new file mode 100644 index 0000000000..f63a851d9d --- /dev/null +++ b/src/main/generated/data/c/tags/block/ores.json @@ -0,0 +1,22 @@ +{ + "values": [ + "galacticraft:silicon_ore", + "galacticraft:deepslate_silicon_ore", + "galacticraft:moon_copper_ore", + "galacticraft:lunaslate_copper_ore", + "galacticraft:olivine_basalt", + "galacticraft:rich_olivine_basalt", + "galacticraft:tin_ore", + "galacticraft:deepslate_tin_ore", + "galacticraft:moon_tin_ore", + "galacticraft:lunaslate_tin_ore", + "galacticraft:aluminum_ore", + "galacticraft:deepslate_aluminum_ore", + "galacticraft:asteroid_aluminum_ore", + "galacticraft:asteroid_iron_ore", + "galacticraft:asteroid_silicon_ore", + "galacticraft:desh_ore", + "galacticraft:ilmenite_ore", + "galacticraft:galena_ore" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/c/tags/blocks/ores.json b/src/main/generated/data/c/tags/blocks/ores.json deleted file mode 100644 index 966577899a..0000000000 --- a/src/main/generated/data/c/tags/blocks/ores.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "replace": false, - "values": [ - "galacticraft:silicon_ore", - "galacticraft:deepslate_silicon_ore", - "galacticraft:moon_copper_ore", - "galacticraft:lunaslate_copper_ore", - "galacticraft:tin_ore", - "galacticraft:deepslate_tin_ore", - "galacticraft:moon_tin_ore", - "galacticraft:lunaslate_tin_ore", - "galacticraft:asteroid_aluminum_ore", - "galacticraft:asteroid_iron_ore", - "galacticraft:asteroid_silicon_ore", - "galacticraft:aluminum_ore", - "galacticraft:deepslate_aluminum_ore", - "galacticraft:desh_ore", - "galacticraft:ilmenite_ore", - "galacticraft:galena_ore" - ] -} \ No newline at end of file diff --git a/src/main/generated/data/c/tags/fluids/fuel.json b/src/main/generated/data/c/tags/fluid/fuel.json similarity index 80% rename from src/main/generated/data/c/tags/fluids/fuel.json rename to src/main/generated/data/c/tags/fluid/fuel.json index f8639ed389..9cf08d4fd3 100644 --- a/src/main/generated/data/c/tags/fluids/fuel.json +++ b/src/main/generated/data/c/tags/fluid/fuel.json @@ -1,5 +1,4 @@ { - "replace": false, "values": [ "galacticraft:fuel_still", "galacticraft:fuel_flowing" diff --git a/src/main/generated/data/c/tags/fluids/oil.json b/src/main/generated/data/c/tags/fluid/oil.json similarity index 82% rename from src/main/generated/data/c/tags/fluids/oil.json rename to src/main/generated/data/c/tags/fluid/oil.json index 87c4fdbc7e..15ba6583e7 100644 --- a/src/main/generated/data/c/tags/fluids/oil.json +++ b/src/main/generated/data/c/tags/fluid/oil.json @@ -1,5 +1,4 @@ { - "replace": false, "values": [ "galacticraft:crude_oil_still", "galacticraft:crude_oil_flowing" diff --git a/src/main/generated/data/c/tags/fluid/oxygen.json b/src/main/generated/data/c/tags/fluid/oxygen.json new file mode 100644 index 0000000000..766ee87e69 --- /dev/null +++ b/src/main/generated/data/c/tags/fluid/oxygen.json @@ -0,0 +1,5 @@ +{ + "values": [ + "galacticraft:liquid_oxygen" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/c/tags/fluids/sulfuric_acid.json b/src/main/generated/data/c/tags/fluid/sulfuric_acid.json similarity index 83% rename from src/main/generated/data/c/tags/fluids/sulfuric_acid.json rename to src/main/generated/data/c/tags/fluid/sulfuric_acid.json index 5c939409c5..9f03740c75 100644 --- a/src/main/generated/data/c/tags/fluids/sulfuric_acid.json +++ b/src/main/generated/data/c/tags/fluid/sulfuric_acid.json @@ -1,5 +1,4 @@ { - "replace": false, "values": [ "galacticraft:sulfuric_acid_still", "galacticraft:sulfuric_acid_flowing" diff --git a/src/main/generated/data/c/tags/fluids/oxygen.json b/src/main/generated/data/c/tags/fluids/oxygen.json deleted file mode 100644 index 358f840239..0000000000 --- a/src/main/generated/data/c/tags/fluids/oxygen.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "replace": false, - "values": [ - "galacticraft:liquid_oxygen" - ] -} \ No newline at end of file diff --git a/src/main/generated/data/c/tags/item/clusters.json b/src/main/generated/data/c/tags/item/clusters.json new file mode 100644 index 0000000000..c2ddbd9133 --- /dev/null +++ b/src/main/generated/data/c/tags/item/clusters.json @@ -0,0 +1,5 @@ +{ + "values": [ + "galacticraft:olivine_cluster" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/c/tags/item/gems.json b/src/main/generated/data/c/tags/item/gems.json new file mode 100644 index 0000000000..21457ae9f2 --- /dev/null +++ b/src/main/generated/data/c/tags/item/gems.json @@ -0,0 +1,5 @@ +{ + "values": [ + "galacticraft:olivine_shard" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/c/tags/item/gems/silicon.json b/src/main/generated/data/c/tags/item/gems/silicon.json new file mode 100644 index 0000000000..41aef02ae8 --- /dev/null +++ b/src/main/generated/data/c/tags/item/gems/silicon.json @@ -0,0 +1,5 @@ +{ + "values": [ + "galacticraft:raw_silicon" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/c/tags/item/ingots/aluminum.json b/src/main/generated/data/c/tags/item/ingots/aluminum.json new file mode 100644 index 0000000000..fed9d59d21 --- /dev/null +++ b/src/main/generated/data/c/tags/item/ingots/aluminum.json @@ -0,0 +1,5 @@ +{ + "values": [ + "galacticraft:aluminum_ingot" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/c/tags/item/ingots/lead.json b/src/main/generated/data/c/tags/item/ingots/lead.json new file mode 100644 index 0000000000..8d01932290 --- /dev/null +++ b/src/main/generated/data/c/tags/item/ingots/lead.json @@ -0,0 +1,5 @@ +{ + "values": [ + "galacticraft:lead_ingot" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/c/tags/item/ingots/tin.json b/src/main/generated/data/c/tags/item/ingots/tin.json new file mode 100644 index 0000000000..18f9f04363 --- /dev/null +++ b/src/main/generated/data/c/tags/item/ingots/tin.json @@ -0,0 +1,5 @@ +{ + "values": [ + "galacticraft:tin_ingot" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/c/tags/item/ores.json b/src/main/generated/data/c/tags/item/ores.json new file mode 100644 index 0000000000..ec49ac1038 --- /dev/null +++ b/src/main/generated/data/c/tags/item/ores.json @@ -0,0 +1,22 @@ +{ + "values": [ + "galacticraft:silicon_ore", + "galacticraft:deepslate_silicon_ore", + "galacticraft:moon_copper_ore", + "galacticraft:lunaslate_copper_ore", + "galacticraft:olivine_basalt", + "galacticraft:rich_olivine_basalt", + "galacticraft:tin_ore", + "galacticraft:deepslate_tin_ore", + "galacticraft:moon_tin_ore", + "galacticraft:lunaslate_tin_ore", + "galacticraft:asteroid_aluminum_ore", + "galacticraft:asteroid_iron_ore", + "galacticraft:asteroid_silicon_ore", + "galacticraft:aluminum_ore", + "galacticraft:deepslate_aluminum_ore", + "galacticraft:desh_ore", + "galacticraft:ilmenite_ore", + "galacticraft:galena_ore" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/c/tags/item/plates/iron.json b/src/main/generated/data/c/tags/item/plates/iron.json new file mode 100644 index 0000000000..fda05bc0c9 --- /dev/null +++ b/src/main/generated/data/c/tags/item/plates/iron.json @@ -0,0 +1,5 @@ +{ + "values": [ + "galacticraft:compressed_iron" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/c/tags/item/plates/steel.json b/src/main/generated/data/c/tags/item/plates/steel.json new file mode 100644 index 0000000000..b1d7f0320b --- /dev/null +++ b/src/main/generated/data/c/tags/item/plates/steel.json @@ -0,0 +1,5 @@ +{ + "values": [ + "galacticraft:compressed_steel" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/c/tags/item/plates/tin.json b/src/main/generated/data/c/tags/item/plates/tin.json new file mode 100644 index 0000000000..8b6be4414f --- /dev/null +++ b/src/main/generated/data/c/tags/item/plates/tin.json @@ -0,0 +1,5 @@ +{ + "values": [ + "galacticraft:compressed_tin" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/c/tags/item/raw_materials/aluminum.json b/src/main/generated/data/c/tags/item/raw_materials/aluminum.json new file mode 100644 index 0000000000..52a58bb3dc --- /dev/null +++ b/src/main/generated/data/c/tags/item/raw_materials/aluminum.json @@ -0,0 +1,5 @@ +{ + "values": [ + "galacticraft:raw_aluminum" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/c/tags/item/raw_materials/lead.json b/src/main/generated/data/c/tags/item/raw_materials/lead.json new file mode 100644 index 0000000000..69ed09e40c --- /dev/null +++ b/src/main/generated/data/c/tags/item/raw_materials/lead.json @@ -0,0 +1,5 @@ +{ + "values": [ + "galacticraft:raw_lead" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/c/tags/item/raw_materials/tin.json b/src/main/generated/data/c/tags/item/raw_materials/tin.json new file mode 100644 index 0000000000..60fb451c54 --- /dev/null +++ b/src/main/generated/data/c/tags/item/raw_materials/tin.json @@ -0,0 +1,5 @@ +{ + "values": [ + "galacticraft:raw_tin" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/c/tags/items/aluminum_ingots.json b/src/main/generated/data/c/tags/items/aluminum_ingots.json deleted file mode 100644 index 2792ad8690..0000000000 --- a/src/main/generated/data/c/tags/items/aluminum_ingots.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "replace": false, - "values": [ - "galacticraft:aluminum_ingot" - ] -} \ No newline at end of file diff --git a/src/main/generated/data/c/tags/items/compressed_iron.json b/src/main/generated/data/c/tags/items/compressed_iron.json deleted file mode 100644 index 77e47b6ab1..0000000000 --- a/src/main/generated/data/c/tags/items/compressed_iron.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "replace": false, - "values": [ - "galacticraft:compressed_iron" - ] -} \ No newline at end of file diff --git a/src/main/generated/data/c/tags/items/compressed_steel.json b/src/main/generated/data/c/tags/items/compressed_steel.json deleted file mode 100644 index 69efc2b5e8..0000000000 --- a/src/main/generated/data/c/tags/items/compressed_steel.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "replace": false, - "values": [ - "galacticraft:compressed_steel" - ] -} \ No newline at end of file diff --git a/src/main/generated/data/c/tags/items/compressed_tin.json b/src/main/generated/data/c/tags/items/compressed_tin.json deleted file mode 100644 index fb4642d843..0000000000 --- a/src/main/generated/data/c/tags/items/compressed_tin.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "replace": false, - "values": [ - "galacticraft:compressed_tin" - ] -} \ No newline at end of file diff --git a/src/main/generated/data/c/tags/items/lead_ingots.json b/src/main/generated/data/c/tags/items/lead_ingots.json deleted file mode 100644 index c89f58442b..0000000000 --- a/src/main/generated/data/c/tags/items/lead_ingots.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "replace": false, - "values": [ - "galacticraft:lead_ingot" - ] -} \ No newline at end of file diff --git a/src/main/generated/data/c/tags/items/ores.json b/src/main/generated/data/c/tags/items/ores.json deleted file mode 100644 index 20170bb9ba..0000000000 --- a/src/main/generated/data/c/tags/items/ores.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "replace": false, - "values": [ - "galacticraft:silicon_ore", - "galacticraft:deepslate_silicon_ore", - "galacticraft:moon_copper_ore", - "galacticraft:lunaslate_copper_ore", - "galacticraft:tin_ore", - "galacticraft:deepslate_tin_ore", - "galacticraft:moon_tin_ore", - "galacticraft:lunaslate_tin_ore", - "galacticraft:aluminum_ore", - "galacticraft:deepslate_aluminum_ore", - "galacticraft:asteroid_aluminum_ore", - "galacticraft:asteroid_iron_ore", - "galacticraft:asteroid_silicon_ore", - "galacticraft:desh_ore", - "galacticraft:ilmenite_ore", - "galacticraft:galena_ore" - ] -} \ No newline at end of file diff --git a/src/main/generated/data/c/tags/items/raw_aluminum_ores.json b/src/main/generated/data/c/tags/items/raw_aluminum_ores.json deleted file mode 100644 index 1541b70bd0..0000000000 --- a/src/main/generated/data/c/tags/items/raw_aluminum_ores.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "replace": false, - "values": [ - "galacticraft:raw_aluminum" - ] -} \ No newline at end of file diff --git a/src/main/generated/data/c/tags/items/raw_lead_ores.json b/src/main/generated/data/c/tags/items/raw_lead_ores.json deleted file mode 100644 index c129ebe565..0000000000 --- a/src/main/generated/data/c/tags/items/raw_lead_ores.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "replace": false, - "values": [ - "galacticraft:raw_lead" - ] -} \ No newline at end of file diff --git a/src/main/generated/data/c/tags/items/raw_tin_ores.json b/src/main/generated/data/c/tags/items/raw_tin_ores.json deleted file mode 100644 index 4b7494e9ce..0000000000 --- a/src/main/generated/data/c/tags/items/raw_tin_ores.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "replace": false, - "values": [ - "galacticraft:raw_tin" - ] -} \ No newline at end of file diff --git a/src/main/generated/data/c/tags/items/silicons.json b/src/main/generated/data/c/tags/items/silicons.json deleted file mode 100644 index fe1ae16a0f..0000000000 --- a/src/main/generated/data/c/tags/items/silicons.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "replace": false, - "values": [ - "galacticraft:raw_silicon" - ] -} \ No newline at end of file diff --git a/src/main/generated/data/c/tags/items/tin_ingots.json b/src/main/generated/data/c/tags/items/tin_ingots.json deleted file mode 100644 index b3747a688b..0000000000 --- a/src/main/generated/data/c/tags/items/tin_ingots.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "replace": false, - "values": [ - "galacticraft:tin_ingot" - ] -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/advanced_wafer.json b/src/main/generated/data/galacticraft/advancement/recipes/advanced_wafer.json similarity index 100% rename from src/main/generated/data/galacticraft/advancements/recipes/advanced_wafer.json rename to src/main/generated/data/galacticraft/advancement/recipes/advanced_wafer.json diff --git a/src/main/generated/data/galacticraft/advancements/recipes/basic_wafer.json b/src/main/generated/data/galacticraft/advancement/recipes/basic_wafer.json similarity index 100% rename from src/main/generated/data/galacticraft/advancements/recipes/basic_wafer.json rename to src/main/generated/data/galacticraft/advancement/recipes/basic_wafer.json diff --git a/src/main/generated/data/galacticraft/advancements/recipes/blue_solar_wafer.json b/src/main/generated/data/galacticraft/advancement/recipes/blue_solar_wafer.json similarity index 100% rename from src/main/generated/data/galacticraft/advancements/recipes/blue_solar_wafer.json rename to src/main/generated/data/galacticraft/advancement/recipes/blue_solar_wafer.json diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/aluminum_decoration.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/aluminum_decoration.json new file mode 100644 index 0000000000..05ddb0c5bb --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/aluminum_decoration.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_aluminum": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_aluminum" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:aluminum_decoration" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_aluminum" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:aluminum_decoration" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/aluminum_decoration_slab.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/aluminum_decoration_slab.json new file mode 100644 index 0000000000..6a448059f6 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/aluminum_decoration_slab.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_aluminum_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:aluminum_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:aluminum_decoration_slab" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_aluminum_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:aluminum_decoration_slab" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/aluminum_decoration_slab_from_aluminum_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/aluminum_decoration_slab_from_aluminum_decoration_stonecutting.json new file mode 100644 index 0000000000..adbb008462 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/aluminum_decoration_slab_from_aluminum_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_aluminum_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:aluminum_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:aluminum_decoration_slab_from_aluminum_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_aluminum_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:aluminum_decoration_slab_from_aluminum_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/aluminum_decoration_stairs.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/aluminum_decoration_stairs.json new file mode 100644 index 0000000000..c1e95d3258 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/aluminum_decoration_stairs.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_aluminum_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:aluminum_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:aluminum_decoration_stairs" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_aluminum_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:aluminum_decoration_stairs" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/aluminum_decoration_stairs_from_aluminum_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/aluminum_decoration_stairs_from_aluminum_decoration_stonecutting.json new file mode 100644 index 0000000000..463a73e4ff --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/aluminum_decoration_stairs_from_aluminum_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_aluminum_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:aluminum_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:aluminum_decoration_stairs_from_aluminum_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_aluminum_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:aluminum_decoration_stairs_from_aluminum_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/aluminum_decoration_wall.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/aluminum_decoration_wall.json new file mode 100644 index 0000000000..dc19bd8852 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/aluminum_decoration_wall.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_aluminum_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:aluminum_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:aluminum_decoration_wall" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_aluminum_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:aluminum_decoration_wall" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/aluminum_decoration_wall_from_aluminum_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/aluminum_decoration_wall_from_aluminum_decoration_stonecutting.json new file mode 100644 index 0000000000..7ba1eca06b --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/aluminum_decoration_wall_from_aluminum_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_aluminum_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:aluminum_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:aluminum_decoration_wall_from_aluminum_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_aluminum_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:aluminum_decoration_wall_from_aluminum_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/bronze_decoration.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/bronze_decoration.json new file mode 100644 index 0000000000..7ead454b35 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/bronze_decoration.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_bronze": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_bronze" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:bronze_decoration" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_bronze" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:bronze_decoration" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/bronze_decoration_slab.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/bronze_decoration_slab.json new file mode 100644 index 0000000000..7cf4f7427e --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/bronze_decoration_slab.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bronze_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:bronze_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:bronze_decoration_slab" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_bronze_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:bronze_decoration_slab" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/bronze_decoration_slab_from_bronze_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/bronze_decoration_slab_from_bronze_decoration_stonecutting.json new file mode 100644 index 0000000000..9e7e30c4f2 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/bronze_decoration_slab_from_bronze_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bronze_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:bronze_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:bronze_decoration_slab_from_bronze_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_bronze_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:bronze_decoration_slab_from_bronze_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/bronze_decoration_stairs.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/bronze_decoration_stairs.json new file mode 100644 index 0000000000..a06190d113 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/bronze_decoration_stairs.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bronze_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:bronze_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:bronze_decoration_stairs" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_bronze_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:bronze_decoration_stairs" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/bronze_decoration_stairs_from_bronze_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/bronze_decoration_stairs_from_bronze_decoration_stonecutting.json new file mode 100644 index 0000000000..b3a9019b75 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/bronze_decoration_stairs_from_bronze_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bronze_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:bronze_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:bronze_decoration_stairs_from_bronze_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_bronze_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:bronze_decoration_stairs_from_bronze_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/bronze_decoration_wall.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/bronze_decoration_wall.json new file mode 100644 index 0000000000..5052725ca0 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/bronze_decoration_wall.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bronze_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:bronze_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:bronze_decoration_wall" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_bronze_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:bronze_decoration_wall" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/bronze_decoration_wall_from_bronze_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/bronze_decoration_wall_from_bronze_decoration_stonecutting.json new file mode 100644 index 0000000000..9400043cfd --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/bronze_decoration_wall_from_bronze_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bronze_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:bronze_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:bronze_decoration_wall_from_bronze_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_bronze_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:bronze_decoration_wall_from_bronze_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/chiseled_moon_rock_brick.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/chiseled_moon_rock_brick.json new file mode 100644 index 0000000000..7efd9df731 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/chiseled_moon_rock_brick.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_moon_rock_brick_slab": { + "conditions": { + "items": [ + { + "items": "galacticraft:moon_rock_brick_slab" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:chiseled_moon_rock_brick" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_moon_rock_brick_slab" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:chiseled_moon_rock_brick" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/chiseled_moon_rock_brick_from_moon_rock_brick_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/chiseled_moon_rock_brick_from_moon_rock_brick_stonecutting.json new file mode 100644 index 0000000000..b622465159 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/chiseled_moon_rock_brick_from_moon_rock_brick_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_moon_rock_brick": { + "conditions": { + "items": [ + { + "items": "galacticraft:moon_rock_brick" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:chiseled_moon_rock_brick_from_moon_rock_brick_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_moon_rock_brick" + ] + ], + "rewards": { + "recipes": [ + "minecraft:chiseled_moon_rock_brick_from_moon_rock_brick_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/chiseled_moon_rock_brick_from_moon_rock_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/chiseled_moon_rock_brick_from_moon_rock_stonecutting.json new file mode 100644 index 0000000000..a7cd830c16 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/chiseled_moon_rock_brick_from_moon_rock_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_moon_rock": { + "conditions": { + "items": [ + { + "items": "galacticraft:moon_rock" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:chiseled_moon_rock_brick_from_moon_rock_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_moon_rock" + ] + ], + "rewards": { + "recipes": [ + "minecraft:chiseled_moon_rock_brick_from_moon_rock_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cobbled_lunaslate_slab.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cobbled_lunaslate_slab.json new file mode 100644 index 0000000000..bfa9be11d2 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cobbled_lunaslate_slab.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cobbled_lunaslate": { + "conditions": { + "items": [ + { + "items": "galacticraft:cobbled_lunaslate" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:cobbled_lunaslate_slab" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cobbled_lunaslate" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:cobbled_lunaslate_slab" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cobbled_lunaslate_slab_from_cobbled_lunaslate_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cobbled_lunaslate_slab_from_cobbled_lunaslate_stonecutting.json new file mode 100644 index 0000000000..2e075ff887 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cobbled_lunaslate_slab_from_cobbled_lunaslate_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cobbled_lunaslate": { + "conditions": { + "items": [ + { + "items": "galacticraft:cobbled_lunaslate" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:cobbled_lunaslate_slab_from_cobbled_lunaslate_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cobbled_lunaslate" + ] + ], + "rewards": { + "recipes": [ + "minecraft:cobbled_lunaslate_slab_from_cobbled_lunaslate_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cobbled_lunaslate_stairs.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cobbled_lunaslate_stairs.json new file mode 100644 index 0000000000..0462444731 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cobbled_lunaslate_stairs.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cobbled_lunaslate": { + "conditions": { + "items": [ + { + "items": "galacticraft:cobbled_lunaslate" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:cobbled_lunaslate_stairs" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cobbled_lunaslate" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:cobbled_lunaslate_stairs" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cobbled_lunaslate_stairs_from_cobbled_lunaslate_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cobbled_lunaslate_stairs_from_cobbled_lunaslate_stonecutting.json new file mode 100644 index 0000000000..20f56d401e --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cobbled_lunaslate_stairs_from_cobbled_lunaslate_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cobbled_lunaslate": { + "conditions": { + "items": [ + { + "items": "galacticraft:cobbled_lunaslate" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:cobbled_lunaslate_stairs_from_cobbled_lunaslate_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cobbled_lunaslate" + ] + ], + "rewards": { + "recipes": [ + "minecraft:cobbled_lunaslate_stairs_from_cobbled_lunaslate_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cobbled_lunaslate_wall.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cobbled_lunaslate_wall.json new file mode 100644 index 0000000000..014632019c --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cobbled_lunaslate_wall.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cobbled_lunaslate": { + "conditions": { + "items": [ + { + "items": "galacticraft:cobbled_lunaslate" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:cobbled_lunaslate_wall" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cobbled_lunaslate" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:cobbled_lunaslate_wall" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cobbled_lunaslate_wall_from_cobbled_lunaslate_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cobbled_lunaslate_wall_from_cobbled_lunaslate_stonecutting.json new file mode 100644 index 0000000000..43c9d64de7 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cobbled_lunaslate_wall_from_cobbled_lunaslate_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cobbled_lunaslate": { + "conditions": { + "items": [ + { + "items": "galacticraft:cobbled_lunaslate" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:cobbled_lunaslate_wall_from_cobbled_lunaslate_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cobbled_lunaslate" + ] + ], + "rewards": { + "recipes": [ + "minecraft:cobbled_lunaslate_wall_from_cobbled_lunaslate_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/copper_decoration.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/copper_decoration.json new file mode 100644 index 0000000000..8f137a7853 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/copper_decoration.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_copper": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_copper" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:copper_decoration" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_copper" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:copper_decoration" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/copper_decoration_slab.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/copper_decoration_slab.json new file mode 100644 index 0000000000..d5f5c8bfcf --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/copper_decoration_slab.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_copper_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:copper_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:copper_decoration_slab" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_copper_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:copper_decoration_slab" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/copper_decoration_slab_from_copper_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/copper_decoration_slab_from_copper_decoration_stonecutting.json new file mode 100644 index 0000000000..f247538865 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/copper_decoration_slab_from_copper_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_copper_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:copper_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:copper_decoration_slab_from_copper_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_copper_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:copper_decoration_slab_from_copper_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/copper_decoration_stairs.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/copper_decoration_stairs.json new file mode 100644 index 0000000000..47bbe049a8 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/copper_decoration_stairs.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_copper_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:copper_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:copper_decoration_stairs" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_copper_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:copper_decoration_stairs" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/copper_decoration_stairs_from_copper_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/copper_decoration_stairs_from_copper_decoration_stonecutting.json new file mode 100644 index 0000000000..18f6ebd600 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/copper_decoration_stairs_from_copper_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_copper_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:copper_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:copper_decoration_stairs_from_copper_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_copper_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:copper_decoration_stairs_from_copper_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/copper_decoration_wall.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/copper_decoration_wall.json new file mode 100644 index 0000000000..d5b57896a8 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/copper_decoration_wall.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_copper_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:copper_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:copper_decoration_wall" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_copper_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:copper_decoration_wall" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/copper_decoration_wall_from_copper_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/copper_decoration_wall_from_copper_decoration_stonecutting.json new file mode 100644 index 0000000000..ed5da5ee47 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/copper_decoration_wall_from_copper_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_copper_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:copper_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:copper_decoration_wall_from_copper_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_copper_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:copper_decoration_wall_from_copper_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cracked_moon_basalt_brick_slab.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cracked_moon_basalt_brick_slab.json new file mode 100644 index 0000000000..84d1bf1dbb --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cracked_moon_basalt_brick_slab.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cracked_moon_basalt_brick": { + "conditions": { + "items": [ + { + "items": "galacticraft:cracked_moon_basalt_brick" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:cracked_moon_basalt_brick_slab" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cracked_moon_basalt_brick" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:cracked_moon_basalt_brick_slab" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cracked_moon_basalt_brick_slab_from_cracked_moon_basalt_brick_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cracked_moon_basalt_brick_slab_from_cracked_moon_basalt_brick_stonecutting.json new file mode 100644 index 0000000000..95c595bb73 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cracked_moon_basalt_brick_slab_from_cracked_moon_basalt_brick_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cracked_moon_basalt_brick": { + "conditions": { + "items": [ + { + "items": "galacticraft:cracked_moon_basalt_brick" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:cracked_moon_basalt_brick_slab_from_cracked_moon_basalt_brick_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cracked_moon_basalt_brick" + ] + ], + "rewards": { + "recipes": [ + "minecraft:cracked_moon_basalt_brick_slab_from_cracked_moon_basalt_brick_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cracked_moon_basalt_brick_stairs.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cracked_moon_basalt_brick_stairs.json new file mode 100644 index 0000000000..acae000d2c --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cracked_moon_basalt_brick_stairs.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cracked_moon_basalt_brick": { + "conditions": { + "items": [ + { + "items": "galacticraft:cracked_moon_basalt_brick" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:cracked_moon_basalt_brick_stairs" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cracked_moon_basalt_brick" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:cracked_moon_basalt_brick_stairs" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cracked_moon_basalt_brick_stairs_from_cracked_moon_basalt_brick_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cracked_moon_basalt_brick_stairs_from_cracked_moon_basalt_brick_stonecutting.json new file mode 100644 index 0000000000..7eb26fdf47 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cracked_moon_basalt_brick_stairs_from_cracked_moon_basalt_brick_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cracked_moon_basalt_brick": { + "conditions": { + "items": [ + { + "items": "galacticraft:cracked_moon_basalt_brick" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:cracked_moon_basalt_brick_stairs_from_cracked_moon_basalt_brick_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cracked_moon_basalt_brick" + ] + ], + "rewards": { + "recipes": [ + "minecraft:cracked_moon_basalt_brick_stairs_from_cracked_moon_basalt_brick_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cracked_moon_basalt_brick_wall.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cracked_moon_basalt_brick_wall.json new file mode 100644 index 0000000000..06bd097d60 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cracked_moon_basalt_brick_wall.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cracked_moon_basalt_brick": { + "conditions": { + "items": [ + { + "items": "galacticraft:cracked_moon_basalt_brick" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:cracked_moon_basalt_brick_wall" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cracked_moon_basalt_brick" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:cracked_moon_basalt_brick_wall" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cracked_moon_basalt_brick_wall_from_cracked_moon_basalt_brick_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cracked_moon_basalt_brick_wall_from_cracked_moon_basalt_brick_stonecutting.json new file mode 100644 index 0000000000..3938fcf103 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cracked_moon_basalt_brick_wall_from_cracked_moon_basalt_brick_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cracked_moon_basalt_brick": { + "conditions": { + "items": [ + { + "items": "galacticraft:cracked_moon_basalt_brick" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:cracked_moon_basalt_brick_wall_from_cracked_moon_basalt_brick_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cracked_moon_basalt_brick" + ] + ], + "rewards": { + "recipes": [ + "minecraft:cracked_moon_basalt_brick_wall_from_cracked_moon_basalt_brick_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cracked_moon_rock_brick.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cracked_moon_rock_brick.json new file mode 100644 index 0000000000..6f1fff2ca3 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cracked_moon_rock_brick.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_moon_rock_brick": { + "conditions": { + "items": [ + { + "items": "galacticraft:moon_rock_brick" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:cracked_moon_rock_brick" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_moon_rock_brick" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:cracked_moon_rock_brick" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cracked_moon_rock_brick_slab.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cracked_moon_rock_brick_slab.json new file mode 100644 index 0000000000..b4c5bd2da7 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cracked_moon_rock_brick_slab.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cracked_moon_rock_brick": { + "conditions": { + "items": [ + { + "items": "galacticraft:cracked_moon_rock_brick" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:cracked_moon_rock_brick_slab" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cracked_moon_rock_brick" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:cracked_moon_rock_brick_slab" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cracked_moon_rock_brick_slab_from_cracked_moon_rock_brick_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cracked_moon_rock_brick_slab_from_cracked_moon_rock_brick_stonecutting.json new file mode 100644 index 0000000000..9d7c731f2e --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cracked_moon_rock_brick_slab_from_cracked_moon_rock_brick_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cracked_moon_rock_brick": { + "conditions": { + "items": [ + { + "items": "galacticraft:cracked_moon_rock_brick" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:cracked_moon_rock_brick_slab_from_cracked_moon_rock_brick_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cracked_moon_rock_brick" + ] + ], + "rewards": { + "recipes": [ + "minecraft:cracked_moon_rock_brick_slab_from_cracked_moon_rock_brick_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cracked_moon_rock_brick_stairs.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cracked_moon_rock_brick_stairs.json new file mode 100644 index 0000000000..13d4ce11a1 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cracked_moon_rock_brick_stairs.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cracked_moon_rock_brick": { + "conditions": { + "items": [ + { + "items": "galacticraft:cracked_moon_rock_brick" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:cracked_moon_rock_brick_stairs" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cracked_moon_rock_brick" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:cracked_moon_rock_brick_stairs" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cracked_moon_rock_brick_stairs_from_cracked_moon_rock_brick_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cracked_moon_rock_brick_stairs_from_cracked_moon_rock_brick_stonecutting.json new file mode 100644 index 0000000000..26bf219266 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cracked_moon_rock_brick_stairs_from_cracked_moon_rock_brick_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cracked_moon_rock_brick": { + "conditions": { + "items": [ + { + "items": "galacticraft:cracked_moon_rock_brick" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:cracked_moon_rock_brick_stairs_from_cracked_moon_rock_brick_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cracked_moon_rock_brick" + ] + ], + "rewards": { + "recipes": [ + "minecraft:cracked_moon_rock_brick_stairs_from_cracked_moon_rock_brick_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cracked_moon_rock_brick_wall.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cracked_moon_rock_brick_wall.json new file mode 100644 index 0000000000..367b6a11e8 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cracked_moon_rock_brick_wall.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cracked_moon_rock_brick": { + "conditions": { + "items": [ + { + "items": "galacticraft:cracked_moon_rock_brick" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:cracked_moon_rock_brick_wall" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cracked_moon_rock_brick" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:cracked_moon_rock_brick_wall" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cracked_moon_rock_brick_wall_from_cracked_moon_rock_brick_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cracked_moon_rock_brick_wall_from_cracked_moon_rock_brick_stonecutting.json new file mode 100644 index 0000000000..9f3640d1c0 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/cracked_moon_rock_brick_wall_from_cracked_moon_rock_brick_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cracked_moon_rock_brick": { + "conditions": { + "items": [ + { + "items": "galacticraft:cracked_moon_rock_brick" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:cracked_moon_rock_brick_wall_from_cracked_moon_rock_brick_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cracked_moon_rock_brick" + ] + ], + "rewards": { + "recipes": [ + "minecraft:cracked_moon_rock_brick_wall_from_cracked_moon_rock_brick_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/dark_decoration_slab.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/dark_decoration_slab.json new file mode 100644 index 0000000000..1060707f59 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/dark_decoration_slab.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_dark_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:dark_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:dark_decoration_slab" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_dark_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:dark_decoration_slab" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/dark_decoration_slab_from_dark_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/dark_decoration_slab_from_dark_decoration_stonecutting.json new file mode 100644 index 0000000000..4c3ff656fa --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/dark_decoration_slab_from_dark_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_dark_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:dark_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:dark_decoration_slab_from_dark_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_dark_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:dark_decoration_slab_from_dark_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/dark_decoration_stairs.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/dark_decoration_stairs.json new file mode 100644 index 0000000000..10e2e0beb5 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/dark_decoration_stairs.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_dark_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:dark_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:dark_decoration_stairs" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_dark_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:dark_decoration_stairs" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/dark_decoration_stairs_from_dark_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/dark_decoration_stairs_from_dark_decoration_stonecutting.json new file mode 100644 index 0000000000..12d38c324a --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/dark_decoration_stairs_from_dark_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_dark_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:dark_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:dark_decoration_stairs_from_dark_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_dark_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:dark_decoration_stairs_from_dark_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/dark_decoration_wall.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/dark_decoration_wall.json new file mode 100644 index 0000000000..4ee57cecbf --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/dark_decoration_wall.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_dark_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:dark_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:dark_decoration_wall" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_dark_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:dark_decoration_wall" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/dark_decoration_wall_from_dark_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/dark_decoration_wall_from_dark_decoration_stonecutting.json new file mode 100644 index 0000000000..df47f93e4d --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/dark_decoration_wall_from_dark_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_dark_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:dark_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:dark_decoration_wall_from_dark_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_dark_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:dark_decoration_wall_from_dark_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/desh_block.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/desh_block.json new file mode 100644 index 0000000000..091f3e444d --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/desh_block.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_desh_ingot": { + "conditions": { + "items": [ + { + "items": "galacticraft:desh_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:desh_block" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_desh_ingot" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:desh_block" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_aluminum_decoration.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_aluminum_decoration.json new file mode 100644 index 0000000000..afa672853b --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_aluminum_decoration.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_aluminum": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_aluminum" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:detailed_aluminum_decoration" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_aluminum" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:detailed_aluminum_decoration" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_aluminum_decoration_slab.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_aluminum_decoration_slab.json new file mode 100644 index 0000000000..4406c84cdc --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_aluminum_decoration_slab.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_aluminum_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_aluminum_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:detailed_aluminum_decoration_slab" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_aluminum_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:detailed_aluminum_decoration_slab" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_aluminum_decoration_slab_from_detailed_aluminum_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_aluminum_decoration_slab_from_detailed_aluminum_decoration_stonecutting.json new file mode 100644 index 0000000000..b1748d0b83 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_aluminum_decoration_slab_from_detailed_aluminum_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_aluminum_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_aluminum_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:detailed_aluminum_decoration_slab_from_detailed_aluminum_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_aluminum_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:detailed_aluminum_decoration_slab_from_detailed_aluminum_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_aluminum_decoration_stairs.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_aluminum_decoration_stairs.json new file mode 100644 index 0000000000..10c0923567 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_aluminum_decoration_stairs.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_aluminum_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_aluminum_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:detailed_aluminum_decoration_stairs" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_aluminum_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:detailed_aluminum_decoration_stairs" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_aluminum_decoration_stairs_from_detailed_aluminum_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_aluminum_decoration_stairs_from_detailed_aluminum_decoration_stonecutting.json new file mode 100644 index 0000000000..b6fc563b7e --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_aluminum_decoration_stairs_from_detailed_aluminum_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_aluminum_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_aluminum_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:detailed_aluminum_decoration_stairs_from_detailed_aluminum_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_aluminum_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:detailed_aluminum_decoration_stairs_from_detailed_aluminum_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_aluminum_decoration_wall.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_aluminum_decoration_wall.json new file mode 100644 index 0000000000..e4bc750588 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_aluminum_decoration_wall.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_aluminum_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_aluminum_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:detailed_aluminum_decoration_wall" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_aluminum_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:detailed_aluminum_decoration_wall" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_aluminum_decoration_wall_from_detailed_aluminum_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_aluminum_decoration_wall_from_detailed_aluminum_decoration_stonecutting.json new file mode 100644 index 0000000000..52c84c8318 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_aluminum_decoration_wall_from_detailed_aluminum_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_aluminum_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_aluminum_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:detailed_aluminum_decoration_wall_from_detailed_aluminum_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_aluminum_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:detailed_aluminum_decoration_wall_from_detailed_aluminum_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_bronze_decoration.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_bronze_decoration.json new file mode 100644 index 0000000000..a8657a7baa --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_bronze_decoration.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_bronze": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_bronze" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:detailed_bronze_decoration" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_bronze" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:detailed_bronze_decoration" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_bronze_decoration_slab.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_bronze_decoration_slab.json new file mode 100644 index 0000000000..9539621730 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_bronze_decoration_slab.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_bronze_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_bronze_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:detailed_bronze_decoration_slab" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_bronze_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:detailed_bronze_decoration_slab" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_bronze_decoration_slab_from_detailed_bronze_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_bronze_decoration_slab_from_detailed_bronze_decoration_stonecutting.json new file mode 100644 index 0000000000..c1753bc53e --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_bronze_decoration_slab_from_detailed_bronze_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_bronze_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_bronze_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:detailed_bronze_decoration_slab_from_detailed_bronze_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_bronze_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:detailed_bronze_decoration_slab_from_detailed_bronze_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_bronze_decoration_stairs.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_bronze_decoration_stairs.json new file mode 100644 index 0000000000..1cbc42cf97 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_bronze_decoration_stairs.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_bronze_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_bronze_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:detailed_bronze_decoration_stairs" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_bronze_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:detailed_bronze_decoration_stairs" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_bronze_decoration_stairs_from_detailed_bronze_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_bronze_decoration_stairs_from_detailed_bronze_decoration_stonecutting.json new file mode 100644 index 0000000000..720e66e026 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_bronze_decoration_stairs_from_detailed_bronze_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_bronze_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_bronze_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:detailed_bronze_decoration_stairs_from_detailed_bronze_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_bronze_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:detailed_bronze_decoration_stairs_from_detailed_bronze_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_bronze_decoration_wall.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_bronze_decoration_wall.json new file mode 100644 index 0000000000..3539b5d473 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_bronze_decoration_wall.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_bronze_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_bronze_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:detailed_bronze_decoration_wall" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_bronze_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:detailed_bronze_decoration_wall" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_bronze_decoration_wall_from_detailed_bronze_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_bronze_decoration_wall_from_detailed_bronze_decoration_stonecutting.json new file mode 100644 index 0000000000..ef6831ba86 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_bronze_decoration_wall_from_detailed_bronze_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_bronze_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_bronze_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:detailed_bronze_decoration_wall_from_detailed_bronze_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_bronze_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:detailed_bronze_decoration_wall_from_detailed_bronze_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_copper_decoration.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_copper_decoration.json new file mode 100644 index 0000000000..5356ebdc0a --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_copper_decoration.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_copper": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_copper" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:detailed_copper_decoration" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_copper" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:detailed_copper_decoration" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_copper_decoration_slab.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_copper_decoration_slab.json new file mode 100644 index 0000000000..99e2dbed19 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_copper_decoration_slab.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_copper_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_copper_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:detailed_copper_decoration_slab" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_copper_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:detailed_copper_decoration_slab" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_copper_decoration_slab_from_detailed_copper_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_copper_decoration_slab_from_detailed_copper_decoration_stonecutting.json new file mode 100644 index 0000000000..a53df0745f --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_copper_decoration_slab_from_detailed_copper_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_copper_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_copper_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:detailed_copper_decoration_slab_from_detailed_copper_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_copper_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:detailed_copper_decoration_slab_from_detailed_copper_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_copper_decoration_stairs.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_copper_decoration_stairs.json new file mode 100644 index 0000000000..60c524361f --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_copper_decoration_stairs.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_copper_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_copper_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:detailed_copper_decoration_stairs" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_copper_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:detailed_copper_decoration_stairs" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_copper_decoration_stairs_from_detailed_copper_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_copper_decoration_stairs_from_detailed_copper_decoration_stonecutting.json new file mode 100644 index 0000000000..0c96eee9a6 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_copper_decoration_stairs_from_detailed_copper_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_copper_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_copper_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:detailed_copper_decoration_stairs_from_detailed_copper_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_copper_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:detailed_copper_decoration_stairs_from_detailed_copper_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_copper_decoration_wall.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_copper_decoration_wall.json new file mode 100644 index 0000000000..65e900d7dc --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_copper_decoration_wall.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_copper_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_copper_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:detailed_copper_decoration_wall" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_copper_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:detailed_copper_decoration_wall" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_copper_decoration_wall_from_detailed_copper_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_copper_decoration_wall_from_detailed_copper_decoration_stonecutting.json new file mode 100644 index 0000000000..28b8936820 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_copper_decoration_wall_from_detailed_copper_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_copper_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_copper_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:detailed_copper_decoration_wall_from_detailed_copper_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_copper_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:detailed_copper_decoration_wall_from_detailed_copper_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_dark_decoration_slab.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_dark_decoration_slab.json new file mode 100644 index 0000000000..71f45ac21c --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_dark_decoration_slab.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_dark_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_dark_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:detailed_dark_decoration_slab" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_dark_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:detailed_dark_decoration_slab" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_dark_decoration_slab_from_detailed_dark_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_dark_decoration_slab_from_detailed_dark_decoration_stonecutting.json new file mode 100644 index 0000000000..0be76d53f9 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_dark_decoration_slab_from_detailed_dark_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_dark_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_dark_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:detailed_dark_decoration_slab_from_detailed_dark_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_dark_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:detailed_dark_decoration_slab_from_detailed_dark_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_dark_decoration_stairs.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_dark_decoration_stairs.json new file mode 100644 index 0000000000..018817b5fe --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_dark_decoration_stairs.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_dark_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_dark_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:detailed_dark_decoration_stairs" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_dark_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:detailed_dark_decoration_stairs" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_dark_decoration_stairs_from_detailed_dark_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_dark_decoration_stairs_from_detailed_dark_decoration_stonecutting.json new file mode 100644 index 0000000000..d32ab5858f --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_dark_decoration_stairs_from_detailed_dark_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_dark_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_dark_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:detailed_dark_decoration_stairs_from_detailed_dark_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_dark_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:detailed_dark_decoration_stairs_from_detailed_dark_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_dark_decoration_wall.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_dark_decoration_wall.json new file mode 100644 index 0000000000..8ccc6edc33 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_dark_decoration_wall.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_dark_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_dark_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:detailed_dark_decoration_wall" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_dark_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:detailed_dark_decoration_wall" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_dark_decoration_wall_from_detailed_dark_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_dark_decoration_wall_from_detailed_dark_decoration_stonecutting.json new file mode 100644 index 0000000000..f87cf0c80c --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_dark_decoration_wall_from_detailed_dark_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_dark_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_dark_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:detailed_dark_decoration_wall_from_detailed_dark_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_dark_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:detailed_dark_decoration_wall_from_detailed_dark_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_iron_decoration.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_iron_decoration.json new file mode 100644 index 0000000000..2f21e72c59 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_iron_decoration.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_iron": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_iron" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:detailed_iron_decoration" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_iron" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:detailed_iron_decoration" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_iron_decoration_slab.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_iron_decoration_slab.json new file mode 100644 index 0000000000..83b64a85e1 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_iron_decoration_slab.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_iron_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_iron_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:detailed_iron_decoration_slab" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_iron_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:detailed_iron_decoration_slab" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_iron_decoration_slab_from_detailed_iron_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_iron_decoration_slab_from_detailed_iron_decoration_stonecutting.json new file mode 100644 index 0000000000..2f2098731d --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_iron_decoration_slab_from_detailed_iron_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_iron_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_iron_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:detailed_iron_decoration_slab_from_detailed_iron_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_iron_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:detailed_iron_decoration_slab_from_detailed_iron_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_iron_decoration_stairs.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_iron_decoration_stairs.json new file mode 100644 index 0000000000..903384b505 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_iron_decoration_stairs.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_iron_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_iron_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:detailed_iron_decoration_stairs" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_iron_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:detailed_iron_decoration_stairs" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_iron_decoration_stairs_from_detailed_iron_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_iron_decoration_stairs_from_detailed_iron_decoration_stonecutting.json new file mode 100644 index 0000000000..c4d10f66eb --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_iron_decoration_stairs_from_detailed_iron_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_iron_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_iron_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:detailed_iron_decoration_stairs_from_detailed_iron_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_iron_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:detailed_iron_decoration_stairs_from_detailed_iron_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_iron_decoration_wall.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_iron_decoration_wall.json new file mode 100644 index 0000000000..4f5a9e53ae --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_iron_decoration_wall.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_iron_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_iron_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:detailed_iron_decoration_wall" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_iron_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:detailed_iron_decoration_wall" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_iron_decoration_wall_from_detailed_iron_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_iron_decoration_wall_from_detailed_iron_decoration_stonecutting.json new file mode 100644 index 0000000000..f27ebad9e8 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_iron_decoration_wall_from_detailed_iron_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_iron_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_iron_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:detailed_iron_decoration_wall_from_detailed_iron_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_iron_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:detailed_iron_decoration_wall_from_detailed_iron_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_meteoric_iron_decoration.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_meteoric_iron_decoration.json new file mode 100644 index 0000000000..1baac4afbe --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_meteoric_iron_decoration.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_meteoric_iron": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_meteoric_iron" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:detailed_meteoric_iron_decoration" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_meteoric_iron" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:detailed_meteoric_iron_decoration" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_meteoric_iron_decoration_slab.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_meteoric_iron_decoration_slab.json new file mode 100644 index 0000000000..0e4792abfc --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_meteoric_iron_decoration_slab.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_meteoric_iron_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_meteoric_iron_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:detailed_meteoric_iron_decoration_slab" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_meteoric_iron_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:detailed_meteoric_iron_decoration_slab" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_meteoric_iron_decoration_slab_from_detailed_meteoric_iron_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_meteoric_iron_decoration_slab_from_detailed_meteoric_iron_decoration_stonecutting.json new file mode 100644 index 0000000000..41b96e6579 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_meteoric_iron_decoration_slab_from_detailed_meteoric_iron_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_meteoric_iron_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_meteoric_iron_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:detailed_meteoric_iron_decoration_slab_from_detailed_meteoric_iron_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_meteoric_iron_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:detailed_meteoric_iron_decoration_slab_from_detailed_meteoric_iron_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_meteoric_iron_decoration_stairs.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_meteoric_iron_decoration_stairs.json new file mode 100644 index 0000000000..0a01ec3924 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_meteoric_iron_decoration_stairs.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_meteoric_iron_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_meteoric_iron_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:detailed_meteoric_iron_decoration_stairs" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_meteoric_iron_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:detailed_meteoric_iron_decoration_stairs" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_meteoric_iron_decoration_stairs_from_detailed_meteoric_iron_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_meteoric_iron_decoration_stairs_from_detailed_meteoric_iron_decoration_stonecutting.json new file mode 100644 index 0000000000..bbfba61770 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_meteoric_iron_decoration_stairs_from_detailed_meteoric_iron_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_meteoric_iron_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_meteoric_iron_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:detailed_meteoric_iron_decoration_stairs_from_detailed_meteoric_iron_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_meteoric_iron_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:detailed_meteoric_iron_decoration_stairs_from_detailed_meteoric_iron_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_meteoric_iron_decoration_wall.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_meteoric_iron_decoration_wall.json new file mode 100644 index 0000000000..6bc8c25eb4 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_meteoric_iron_decoration_wall.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_meteoric_iron_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_meteoric_iron_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:detailed_meteoric_iron_decoration_wall" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_meteoric_iron_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:detailed_meteoric_iron_decoration_wall" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_meteoric_iron_decoration_wall_from_detailed_meteoric_iron_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_meteoric_iron_decoration_wall_from_detailed_meteoric_iron_decoration_stonecutting.json new file mode 100644 index 0000000000..9e099c378f --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_meteoric_iron_decoration_wall_from_detailed_meteoric_iron_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_meteoric_iron_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_meteoric_iron_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:detailed_meteoric_iron_decoration_wall_from_detailed_meteoric_iron_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_meteoric_iron_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:detailed_meteoric_iron_decoration_wall_from_detailed_meteoric_iron_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_steel_decoration.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_steel_decoration.json new file mode 100644 index 0000000000..c3d4c085f6 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_steel_decoration.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_steel": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_steel" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:detailed_steel_decoration" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_steel" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:detailed_steel_decoration" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_steel_decoration_slab.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_steel_decoration_slab.json new file mode 100644 index 0000000000..65e6474432 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_steel_decoration_slab.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_steel_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_steel_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:detailed_steel_decoration_slab" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_steel_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:detailed_steel_decoration_slab" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_steel_decoration_slab_from_detailed_steel_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_steel_decoration_slab_from_detailed_steel_decoration_stonecutting.json new file mode 100644 index 0000000000..d5b54df146 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_steel_decoration_slab_from_detailed_steel_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_steel_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_steel_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:detailed_steel_decoration_slab_from_detailed_steel_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_steel_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:detailed_steel_decoration_slab_from_detailed_steel_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_steel_decoration_stairs.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_steel_decoration_stairs.json new file mode 100644 index 0000000000..5744031934 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_steel_decoration_stairs.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_steel_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_steel_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:detailed_steel_decoration_stairs" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_steel_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:detailed_steel_decoration_stairs" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_steel_decoration_stairs_from_detailed_steel_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_steel_decoration_stairs_from_detailed_steel_decoration_stonecutting.json new file mode 100644 index 0000000000..2c767525d2 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_steel_decoration_stairs_from_detailed_steel_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_steel_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_steel_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:detailed_steel_decoration_stairs_from_detailed_steel_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_steel_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:detailed_steel_decoration_stairs_from_detailed_steel_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_steel_decoration_wall.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_steel_decoration_wall.json new file mode 100644 index 0000000000..9073f4f357 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_steel_decoration_wall.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_steel_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_steel_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:detailed_steel_decoration_wall" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_steel_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:detailed_steel_decoration_wall" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_steel_decoration_wall_from_detailed_steel_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_steel_decoration_wall_from_detailed_steel_decoration_stonecutting.json new file mode 100644 index 0000000000..bb2ca88ebe --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_steel_decoration_wall_from_detailed_steel_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_steel_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_steel_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:detailed_steel_decoration_wall_from_detailed_steel_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_steel_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:detailed_steel_decoration_wall_from_detailed_steel_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_tin_decoration.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_tin_decoration.json new file mode 100644 index 0000000000..544cc1922e --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_tin_decoration.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_tin": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_tin" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:detailed_tin_decoration" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_tin" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:detailed_tin_decoration" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_tin_decoration_slab.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_tin_decoration_slab.json new file mode 100644 index 0000000000..20c5c7281f --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_tin_decoration_slab.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_tin_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_tin_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:detailed_tin_decoration_slab" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_tin_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:detailed_tin_decoration_slab" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_tin_decoration_slab_from_detailed_tin_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_tin_decoration_slab_from_detailed_tin_decoration_stonecutting.json new file mode 100644 index 0000000000..fc8e67075d --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_tin_decoration_slab_from_detailed_tin_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_tin_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_tin_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:detailed_tin_decoration_slab_from_detailed_tin_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_tin_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:detailed_tin_decoration_slab_from_detailed_tin_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_tin_decoration_stairs.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_tin_decoration_stairs.json new file mode 100644 index 0000000000..ad6bad110f --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_tin_decoration_stairs.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_tin_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_tin_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:detailed_tin_decoration_stairs" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_tin_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:detailed_tin_decoration_stairs" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_tin_decoration_stairs_from_detailed_tin_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_tin_decoration_stairs_from_detailed_tin_decoration_stonecutting.json new file mode 100644 index 0000000000..7e354b56c0 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_tin_decoration_stairs_from_detailed_tin_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_tin_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_tin_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:detailed_tin_decoration_stairs_from_detailed_tin_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_tin_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:detailed_tin_decoration_stairs_from_detailed_tin_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_tin_decoration_wall.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_tin_decoration_wall.json new file mode 100644 index 0000000000..59e07f8d7b --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_tin_decoration_wall.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_tin_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_tin_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:detailed_tin_decoration_wall" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_tin_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:detailed_tin_decoration_wall" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_tin_decoration_wall_from_detailed_tin_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_tin_decoration_wall_from_detailed_tin_decoration_stonecutting.json new file mode 100644 index 0000000000..59366a57dd --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_tin_decoration_wall_from_detailed_tin_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_tin_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_tin_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:detailed_tin_decoration_wall_from_detailed_tin_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_tin_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:detailed_tin_decoration_wall_from_detailed_tin_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_titanium_decoration.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_titanium_decoration.json new file mode 100644 index 0000000000..1c71a24d06 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_titanium_decoration.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_titanium": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_titanium" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:detailed_titanium_decoration" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_titanium" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:detailed_titanium_decoration" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_titanium_decoration_slab.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_titanium_decoration_slab.json new file mode 100644 index 0000000000..345a5fff55 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_titanium_decoration_slab.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_titanium_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_titanium_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:detailed_titanium_decoration_slab" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_titanium_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:detailed_titanium_decoration_slab" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_titanium_decoration_slab_from_detailed_titanium_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_titanium_decoration_slab_from_detailed_titanium_decoration_stonecutting.json new file mode 100644 index 0000000000..879df9f6c5 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_titanium_decoration_slab_from_detailed_titanium_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_titanium_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_titanium_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:detailed_titanium_decoration_slab_from_detailed_titanium_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_titanium_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:detailed_titanium_decoration_slab_from_detailed_titanium_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_titanium_decoration_stairs.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_titanium_decoration_stairs.json new file mode 100644 index 0000000000..22eb9c0f9b --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_titanium_decoration_stairs.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_titanium_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_titanium_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:detailed_titanium_decoration_stairs" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_titanium_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:detailed_titanium_decoration_stairs" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_titanium_decoration_stairs_from_detailed_titanium_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_titanium_decoration_stairs_from_detailed_titanium_decoration_stonecutting.json new file mode 100644 index 0000000000..9e76558bf3 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_titanium_decoration_stairs_from_detailed_titanium_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_titanium_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_titanium_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:detailed_titanium_decoration_stairs_from_detailed_titanium_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_titanium_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:detailed_titanium_decoration_stairs_from_detailed_titanium_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_titanium_decoration_wall.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_titanium_decoration_wall.json new file mode 100644 index 0000000000..b85e6fe685 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_titanium_decoration_wall.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_titanium_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_titanium_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:detailed_titanium_decoration_wall" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_titanium_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:detailed_titanium_decoration_wall" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_titanium_decoration_wall_from_detailed_titanium_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_titanium_decoration_wall_from_detailed_titanium_decoration_stonecutting.json new file mode 100644 index 0000000000..8deeb7f586 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/detailed_titanium_decoration_wall_from_detailed_titanium_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_detailed_titanium_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:detailed_titanium_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:detailed_titanium_decoration_wall_from_detailed_titanium_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_detailed_titanium_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:detailed_titanium_decoration_wall_from_detailed_titanium_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/grating.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/grating.json new file mode 100644 index 0000000000..e949c98a88 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/grating.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_iron_bars": { + "conditions": { + "items": [ + { + "items": "minecraft:iron_bars" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:grating" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_iron_bars" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:grating" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/iron_decoration.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/iron_decoration.json new file mode 100644 index 0000000000..fd36fc033c --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/iron_decoration.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_iron": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_iron" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:iron_decoration" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_iron" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:iron_decoration" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/iron_decoration_slab.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/iron_decoration_slab.json new file mode 100644 index 0000000000..c2d426491c --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/iron_decoration_slab.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_iron_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:iron_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:iron_decoration_slab" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_iron_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:iron_decoration_slab" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/iron_decoration_slab_from_iron_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/iron_decoration_slab_from_iron_decoration_stonecutting.json new file mode 100644 index 0000000000..8b99266688 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/iron_decoration_slab_from_iron_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_iron_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:iron_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:iron_decoration_slab_from_iron_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_iron_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:iron_decoration_slab_from_iron_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/iron_decoration_stairs.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/iron_decoration_stairs.json new file mode 100644 index 0000000000..0f4b3df4a0 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/iron_decoration_stairs.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_iron_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:iron_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:iron_decoration_stairs" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_iron_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:iron_decoration_stairs" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/iron_decoration_stairs_from_iron_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/iron_decoration_stairs_from_iron_decoration_stonecutting.json new file mode 100644 index 0000000000..ab19b4cbf2 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/iron_decoration_stairs_from_iron_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_iron_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:iron_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:iron_decoration_stairs_from_iron_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_iron_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:iron_decoration_stairs_from_iron_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/iron_decoration_wall.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/iron_decoration_wall.json new file mode 100644 index 0000000000..104b98619e --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/iron_decoration_wall.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_iron_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:iron_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:iron_decoration_wall" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_iron_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:iron_decoration_wall" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/iron_decoration_wall_from_iron_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/iron_decoration_wall_from_iron_decoration_stonecutting.json new file mode 100644 index 0000000000..c319e8e6f1 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/iron_decoration_wall_from_iron_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_iron_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:iron_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:iron_decoration_wall_from_iron_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_iron_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:iron_decoration_wall_from_iron_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/lead_block.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/lead_block.json new file mode 100644 index 0000000000..c8f313d00e --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/lead_block.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_lead_ingot": { + "conditions": { + "items": [ + { + "items": "galacticraft:lead_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:lead_block" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_lead_ingot" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:lead_block" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/lunar_sapphire_block.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/lunar_sapphire_block.json new file mode 100644 index 0000000000..f8833b0407 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/lunar_sapphire_block.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_lunar_sapphire": { + "conditions": { + "items": [ + { + "items": "galacticraft:lunar_sapphire" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:lunar_sapphire_block" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_lunar_sapphire" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:lunar_sapphire_block" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/lunaslate_slab.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/lunaslate_slab.json new file mode 100644 index 0000000000..d60cfe023c --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/lunaslate_slab.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_lunaslate": { + "conditions": { + "items": [ + { + "items": "galacticraft:lunaslate" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:lunaslate_slab" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_lunaslate" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:lunaslate_slab" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/lunaslate_slab_from_lunaslate_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/lunaslate_slab_from_lunaslate_stonecutting.json new file mode 100644 index 0000000000..7e94686fe0 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/lunaslate_slab_from_lunaslate_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_lunaslate": { + "conditions": { + "items": [ + { + "items": "galacticraft:lunaslate" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:lunaslate_slab_from_lunaslate_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_lunaslate" + ] + ], + "rewards": { + "recipes": [ + "minecraft:lunaslate_slab_from_lunaslate_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/lunaslate_stairs.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/lunaslate_stairs.json new file mode 100644 index 0000000000..5595c54431 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/lunaslate_stairs.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_lunaslate": { + "conditions": { + "items": [ + { + "items": "galacticraft:lunaslate" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:lunaslate_stairs" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_lunaslate" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:lunaslate_stairs" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/lunaslate_stairs_from_lunaslate_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/lunaslate_stairs_from_lunaslate_stonecutting.json new file mode 100644 index 0000000000..cb832e833b --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/lunaslate_stairs_from_lunaslate_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_lunaslate": { + "conditions": { + "items": [ + { + "items": "galacticraft:lunaslate" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:lunaslate_stairs_from_lunaslate_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_lunaslate" + ] + ], + "rewards": { + "recipes": [ + "minecraft:lunaslate_stairs_from_lunaslate_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/lunaslate_wall.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/lunaslate_wall.json new file mode 100644 index 0000000000..03e9f07a4e --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/lunaslate_wall.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_lunaslate": { + "conditions": { + "items": [ + { + "items": "galacticraft:lunaslate" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:lunaslate_wall" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_lunaslate" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:lunaslate_wall" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/lunaslate_wall_from_lunaslate_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/lunaslate_wall_from_lunaslate_stonecutting.json new file mode 100644 index 0000000000..4f2af536a3 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/lunaslate_wall_from_lunaslate_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_lunaslate": { + "conditions": { + "items": [ + { + "items": "galacticraft:lunaslate" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:lunaslate_wall_from_lunaslate_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_lunaslate" + ] + ], + "rewards": { + "recipes": [ + "minecraft:lunaslate_wall_from_lunaslate_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/mars_cobblestone_slab.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/mars_cobblestone_slab.json new file mode 100644 index 0000000000..f2c02dabea --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/mars_cobblestone_slab.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_mars_cobblestone": { + "conditions": { + "items": [ + { + "items": "galacticraft:mars_cobblestone" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:mars_cobblestone_slab" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_mars_cobblestone" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:mars_cobblestone_slab" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/mars_cobblestone_slab_from_mars_cobblestone_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/mars_cobblestone_slab_from_mars_cobblestone_stonecutting.json new file mode 100644 index 0000000000..32b8c4bd3e --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/mars_cobblestone_slab_from_mars_cobblestone_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_mars_cobblestone": { + "conditions": { + "items": [ + { + "items": "galacticraft:mars_cobblestone" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:mars_cobblestone_slab_from_mars_cobblestone_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_mars_cobblestone" + ] + ], + "rewards": { + "recipes": [ + "minecraft:mars_cobblestone_slab_from_mars_cobblestone_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/mars_cobblestone_stairs.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/mars_cobblestone_stairs.json new file mode 100644 index 0000000000..e19220d840 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/mars_cobblestone_stairs.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_mars_cobblestone": { + "conditions": { + "items": [ + { + "items": "galacticraft:mars_cobblestone" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:mars_cobblestone_stairs" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_mars_cobblestone" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:mars_cobblestone_stairs" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/mars_cobblestone_stairs_from_mars_cobblestone_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/mars_cobblestone_stairs_from_mars_cobblestone_stonecutting.json new file mode 100644 index 0000000000..fdecbf488c --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/mars_cobblestone_stairs_from_mars_cobblestone_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_mars_cobblestone": { + "conditions": { + "items": [ + { + "items": "galacticraft:mars_cobblestone" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:mars_cobblestone_stairs_from_mars_cobblestone_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_mars_cobblestone" + ] + ], + "rewards": { + "recipes": [ + "minecraft:mars_cobblestone_stairs_from_mars_cobblestone_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/mars_cobblestone_wall.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/mars_cobblestone_wall.json new file mode 100644 index 0000000000..a192c3e2fd --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/mars_cobblestone_wall.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_mars_cobblestone": { + "conditions": { + "items": [ + { + "items": "galacticraft:mars_cobblestone" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:mars_cobblestone_wall" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_mars_cobblestone" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:mars_cobblestone_wall" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/mars_cobblestone_wall_from_mars_cobblestone_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/mars_cobblestone_wall_from_mars_cobblestone_stonecutting.json new file mode 100644 index 0000000000..09e28e48b6 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/mars_cobblestone_wall_from_mars_cobblestone_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_mars_cobblestone": { + "conditions": { + "items": [ + { + "items": "galacticraft:mars_cobblestone" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:mars_cobblestone_wall_from_mars_cobblestone_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_mars_cobblestone" + ] + ], + "rewards": { + "recipes": [ + "minecraft:mars_cobblestone_wall_from_mars_cobblestone_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/mars_stone_slab.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/mars_stone_slab.json new file mode 100644 index 0000000000..54600372f1 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/mars_stone_slab.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_mars_stone": { + "conditions": { + "items": [ + { + "items": "galacticraft:mars_stone" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:mars_stone_slab" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_mars_stone" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:mars_stone_slab" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/mars_stone_slab_from_mars_stone_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/mars_stone_slab_from_mars_stone_stonecutting.json new file mode 100644 index 0000000000..8256c02fa2 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/mars_stone_slab_from_mars_stone_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_mars_stone": { + "conditions": { + "items": [ + { + "items": "galacticraft:mars_stone" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:mars_stone_slab_from_mars_stone_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_mars_stone" + ] + ], + "rewards": { + "recipes": [ + "minecraft:mars_stone_slab_from_mars_stone_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/mars_stone_stairs.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/mars_stone_stairs.json new file mode 100644 index 0000000000..16e8d07dbd --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/mars_stone_stairs.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_mars_stone": { + "conditions": { + "items": [ + { + "items": "galacticraft:mars_stone" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:mars_stone_stairs" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_mars_stone" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:mars_stone_stairs" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/mars_stone_stairs_from_mars_stone_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/mars_stone_stairs_from_mars_stone_stonecutting.json new file mode 100644 index 0000000000..9c08bf9cb1 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/mars_stone_stairs_from_mars_stone_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_mars_stone": { + "conditions": { + "items": [ + { + "items": "galacticraft:mars_stone" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:mars_stone_stairs_from_mars_stone_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_mars_stone" + ] + ], + "rewards": { + "recipes": [ + "minecraft:mars_stone_stairs_from_mars_stone_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/mars_stone_wall.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/mars_stone_wall.json new file mode 100644 index 0000000000..5ac3e1601f --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/mars_stone_wall.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_mars_stone": { + "conditions": { + "items": [ + { + "items": "galacticraft:mars_stone" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:mars_stone_wall" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_mars_stone" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:mars_stone_wall" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/mars_stone_wall_from_mars_stone_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/mars_stone_wall_from_mars_stone_stonecutting.json new file mode 100644 index 0000000000..1b9a7ffb94 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/mars_stone_wall_from_mars_stone_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_mars_stone": { + "conditions": { + "items": [ + { + "items": "galacticraft:mars_stone" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:mars_stone_wall_from_mars_stone_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_mars_stone" + ] + ], + "rewards": { + "recipes": [ + "minecraft:mars_stone_wall_from_mars_stone_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/meteoric_iron_block.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/meteoric_iron_block.json new file mode 100644 index 0000000000..5cdc2108c5 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/meteoric_iron_block.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_meteoric_iron_ingot": { + "conditions": { + "items": [ + { + "items": "galacticraft:meteoric_iron_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:meteoric_iron_block" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_meteoric_iron_ingot" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:meteoric_iron_block" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/meteoric_iron_decoration.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/meteoric_iron_decoration.json new file mode 100644 index 0000000000..86fdaa40b9 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/meteoric_iron_decoration.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_meteoric_iron": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_meteoric_iron" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:meteoric_iron_decoration" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_meteoric_iron" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:meteoric_iron_decoration" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/meteoric_iron_decoration_slab.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/meteoric_iron_decoration_slab.json new file mode 100644 index 0000000000..c985be54bb --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/meteoric_iron_decoration_slab.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_meteoric_iron_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:meteoric_iron_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:meteoric_iron_decoration_slab" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_meteoric_iron_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:meteoric_iron_decoration_slab" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/meteoric_iron_decoration_slab_from_meteoric_iron_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/meteoric_iron_decoration_slab_from_meteoric_iron_decoration_stonecutting.json new file mode 100644 index 0000000000..aaf56c7a68 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/meteoric_iron_decoration_slab_from_meteoric_iron_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_meteoric_iron_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:meteoric_iron_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:meteoric_iron_decoration_slab_from_meteoric_iron_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_meteoric_iron_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:meteoric_iron_decoration_slab_from_meteoric_iron_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/meteoric_iron_decoration_stairs.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/meteoric_iron_decoration_stairs.json new file mode 100644 index 0000000000..5562f72845 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/meteoric_iron_decoration_stairs.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_meteoric_iron_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:meteoric_iron_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:meteoric_iron_decoration_stairs" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_meteoric_iron_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:meteoric_iron_decoration_stairs" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/meteoric_iron_decoration_stairs_from_meteoric_iron_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/meteoric_iron_decoration_stairs_from_meteoric_iron_decoration_stonecutting.json new file mode 100644 index 0000000000..99a8ff43fe --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/meteoric_iron_decoration_stairs_from_meteoric_iron_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_meteoric_iron_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:meteoric_iron_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:meteoric_iron_decoration_stairs_from_meteoric_iron_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_meteoric_iron_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:meteoric_iron_decoration_stairs_from_meteoric_iron_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/meteoric_iron_decoration_wall.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/meteoric_iron_decoration_wall.json new file mode 100644 index 0000000000..1fc51b2b6d --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/meteoric_iron_decoration_wall.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_meteoric_iron_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:meteoric_iron_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:meteoric_iron_decoration_wall" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_meteoric_iron_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:meteoric_iron_decoration_wall" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/meteoric_iron_decoration_wall_from_meteoric_iron_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/meteoric_iron_decoration_wall_from_meteoric_iron_decoration_stonecutting.json new file mode 100644 index 0000000000..e402794778 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/meteoric_iron_decoration_wall_from_meteoric_iron_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_meteoric_iron_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:meteoric_iron_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:meteoric_iron_decoration_wall_from_meteoric_iron_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_meteoric_iron_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:meteoric_iron_decoration_wall_from_meteoric_iron_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_basalt_brick_slab.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_basalt_brick_slab.json new file mode 100644 index 0000000000..eea838ea2a --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_basalt_brick_slab.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_moon_basalt_brick": { + "conditions": { + "items": [ + { + "items": "galacticraft:moon_basalt_brick" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:moon_basalt_brick_slab" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_moon_basalt_brick" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:moon_basalt_brick_slab" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_basalt_brick_slab_from_moon_basalt_brick_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_basalt_brick_slab_from_moon_basalt_brick_stonecutting.json new file mode 100644 index 0000000000..3e05bc67aa --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_basalt_brick_slab_from_moon_basalt_brick_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_moon_basalt_brick": { + "conditions": { + "items": [ + { + "items": "galacticraft:moon_basalt_brick" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:moon_basalt_brick_slab_from_moon_basalt_brick_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_moon_basalt_brick" + ] + ], + "rewards": { + "recipes": [ + "minecraft:moon_basalt_brick_slab_from_moon_basalt_brick_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_basalt_brick_stairs.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_basalt_brick_stairs.json new file mode 100644 index 0000000000..85aefb886b --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_basalt_brick_stairs.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_moon_basalt_brick": { + "conditions": { + "items": [ + { + "items": "galacticraft:moon_basalt_brick" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:moon_basalt_brick_stairs" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_moon_basalt_brick" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:moon_basalt_brick_stairs" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_basalt_brick_stairs_from_moon_basalt_brick_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_basalt_brick_stairs_from_moon_basalt_brick_stonecutting.json new file mode 100644 index 0000000000..2606ff94ee --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_basalt_brick_stairs_from_moon_basalt_brick_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_moon_basalt_brick": { + "conditions": { + "items": [ + { + "items": "galacticraft:moon_basalt_brick" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:moon_basalt_brick_stairs_from_moon_basalt_brick_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_moon_basalt_brick" + ] + ], + "rewards": { + "recipes": [ + "minecraft:moon_basalt_brick_stairs_from_moon_basalt_brick_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_basalt_brick_wall.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_basalt_brick_wall.json new file mode 100644 index 0000000000..39b6dcaab3 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_basalt_brick_wall.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_moon_basalt_brick": { + "conditions": { + "items": [ + { + "items": "galacticraft:moon_basalt_brick" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:moon_basalt_brick_wall" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_moon_basalt_brick" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:moon_basalt_brick_wall" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_basalt_brick_wall_from_moon_basalt_brick_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_basalt_brick_wall_from_moon_basalt_brick_stonecutting.json new file mode 100644 index 0000000000..fc3f1d593d --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_basalt_brick_wall_from_moon_basalt_brick_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_moon_basalt_brick": { + "conditions": { + "items": [ + { + "items": "galacticraft:moon_basalt_brick" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:moon_basalt_brick_wall_from_moon_basalt_brick_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_moon_basalt_brick" + ] + ], + "rewards": { + "recipes": [ + "minecraft:moon_basalt_brick_wall_from_moon_basalt_brick_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_basalt_slab.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_basalt_slab.json new file mode 100644 index 0000000000..8ce79830d2 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_basalt_slab.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_moon_basalt": { + "conditions": { + "items": [ + { + "items": "galacticraft:moon_basalt" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:moon_basalt_slab" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_moon_basalt" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:moon_basalt_slab" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_basalt_slab_from_moon_basalt_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_basalt_slab_from_moon_basalt_stonecutting.json new file mode 100644 index 0000000000..34b165b35f --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_basalt_slab_from_moon_basalt_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_moon_basalt": { + "conditions": { + "items": [ + { + "items": "galacticraft:moon_basalt" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:moon_basalt_slab_from_moon_basalt_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_moon_basalt" + ] + ], + "rewards": { + "recipes": [ + "minecraft:moon_basalt_slab_from_moon_basalt_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_basalt_stairs.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_basalt_stairs.json new file mode 100644 index 0000000000..4f36dcf90e --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_basalt_stairs.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_moon_basalt": { + "conditions": { + "items": [ + { + "items": "galacticraft:moon_basalt" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:moon_basalt_stairs" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_moon_basalt" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:moon_basalt_stairs" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_basalt_stairs_from_moon_basalt_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_basalt_stairs_from_moon_basalt_stonecutting.json new file mode 100644 index 0000000000..9b9e554901 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_basalt_stairs_from_moon_basalt_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_moon_basalt": { + "conditions": { + "items": [ + { + "items": "galacticraft:moon_basalt" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:moon_basalt_stairs_from_moon_basalt_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_moon_basalt" + ] + ], + "rewards": { + "recipes": [ + "minecraft:moon_basalt_stairs_from_moon_basalt_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_basalt_wall.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_basalt_wall.json new file mode 100644 index 0000000000..def851bdcc --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_basalt_wall.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_moon_basalt": { + "conditions": { + "items": [ + { + "items": "galacticraft:moon_basalt" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:moon_basalt_wall" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_moon_basalt" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:moon_basalt_wall" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_basalt_wall_from_moon_basalt_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_basalt_wall_from_moon_basalt_stonecutting.json new file mode 100644 index 0000000000..613bdd951b --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_basalt_wall_from_moon_basalt_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_moon_basalt": { + "conditions": { + "items": [ + { + "items": "galacticraft:moon_basalt" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:moon_basalt_wall_from_moon_basalt_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_moon_basalt" + ] + ], + "rewards": { + "recipes": [ + "minecraft:moon_basalt_wall_from_moon_basalt_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_rock.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_rock.json new file mode 100644 index 0000000000..711cd9acf2 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_rock.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cobbled_moon_rock": { + "conditions": { + "items": [ + { + "items": "galacticraft:cobbled_moon_rock" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:moon_rock" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cobbled_moon_rock" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:moon_rock" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_rock_brick.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_rock_brick.json new file mode 100644 index 0000000000..0463e06440 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_rock_brick.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_moon_rock": { + "conditions": { + "items": [ + { + "items": "galacticraft:moon_rock" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:moon_rock_brick" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_moon_rock" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:moon_rock_brick" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_rock_brick_from_moon_rock_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_rock_brick_from_moon_rock_stonecutting.json new file mode 100644 index 0000000000..c2a47d19c0 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_rock_brick_from_moon_rock_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_moon_rock": { + "conditions": { + "items": [ + { + "items": "galacticraft:moon_rock" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:moon_rock_brick_from_moon_rock_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_moon_rock" + ] + ], + "rewards": { + "recipes": [ + "minecraft:moon_rock_brick_from_moon_rock_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_rock_brick_slab.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_rock_brick_slab.json new file mode 100644 index 0000000000..f0586edb4a --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_rock_brick_slab.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_moon_rock_brick": { + "conditions": { + "items": [ + { + "items": "galacticraft:moon_rock_brick" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:moon_rock_brick_slab" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_moon_rock_brick" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:moon_rock_brick_slab" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_rock_brick_slab_from_moon_rock_brick_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_rock_brick_slab_from_moon_rock_brick_stonecutting.json new file mode 100644 index 0000000000..ef003aa3b3 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_rock_brick_slab_from_moon_rock_brick_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_moon_rock_brick": { + "conditions": { + "items": [ + { + "items": "galacticraft:moon_rock_brick" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:moon_rock_brick_slab_from_moon_rock_brick_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_moon_rock_brick" + ] + ], + "rewards": { + "recipes": [ + "minecraft:moon_rock_brick_slab_from_moon_rock_brick_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_rock_brick_stairs.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_rock_brick_stairs.json new file mode 100644 index 0000000000..2dc42be50c --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_rock_brick_stairs.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_moon_rock_brick": { + "conditions": { + "items": [ + { + "items": "galacticraft:moon_rock_brick" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:moon_rock_brick_stairs" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_moon_rock_brick" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:moon_rock_brick_stairs" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_rock_brick_stairs_from_moon_rock_brick_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_rock_brick_stairs_from_moon_rock_brick_stonecutting.json new file mode 100644 index 0000000000..2422cc871a --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_rock_brick_stairs_from_moon_rock_brick_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_moon_rock_brick": { + "conditions": { + "items": [ + { + "items": "galacticraft:moon_rock_brick" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:moon_rock_brick_stairs_from_moon_rock_brick_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_moon_rock_brick" + ] + ], + "rewards": { + "recipes": [ + "minecraft:moon_rock_brick_stairs_from_moon_rock_brick_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_rock_brick_wall.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_rock_brick_wall.json new file mode 100644 index 0000000000..5fc8f3f5fc --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_rock_brick_wall.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_moon_rock_brick": { + "conditions": { + "items": [ + { + "items": "galacticraft:moon_rock_brick" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:moon_rock_brick_wall" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_moon_rock_brick" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:moon_rock_brick_wall" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_rock_brick_wall_from_moon_rock_brick_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_rock_brick_wall_from_moon_rock_brick_stonecutting.json new file mode 100644 index 0000000000..ecae2cecd4 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_rock_brick_wall_from_moon_rock_brick_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_moon_rock_brick": { + "conditions": { + "items": [ + { + "items": "galacticraft:moon_rock_brick" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:moon_rock_brick_wall_from_moon_rock_brick_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_moon_rock_brick" + ] + ], + "rewards": { + "recipes": [ + "minecraft:moon_rock_brick_wall_from_moon_rock_brick_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_rock_pillar.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_rock_pillar.json new file mode 100644 index 0000000000..27fd9cf083 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_rock_pillar.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_moon_rock": { + "conditions": { + "items": [ + { + "items": "galacticraft:moon_rock" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:moon_rock_pillar" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_moon_rock" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:moon_rock_pillar" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_rock_slab.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_rock_slab.json new file mode 100644 index 0000000000..a4500ecd50 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_rock_slab.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_moon_rock": { + "conditions": { + "items": [ + { + "items": "galacticraft:moon_rock" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:moon_rock_slab" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_moon_rock" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:moon_rock_slab" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_rock_slab_from_moon_rock_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_rock_slab_from_moon_rock_stonecutting.json new file mode 100644 index 0000000000..207d5ca65c --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_rock_slab_from_moon_rock_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_moon_rock": { + "conditions": { + "items": [ + { + "items": "galacticraft:moon_rock" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:moon_rock_slab_from_moon_rock_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_moon_rock" + ] + ], + "rewards": { + "recipes": [ + "minecraft:moon_rock_slab_from_moon_rock_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_rock_stairs.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_rock_stairs.json new file mode 100644 index 0000000000..4f95f25c30 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_rock_stairs.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_moon_rock": { + "conditions": { + "items": [ + { + "items": "galacticraft:moon_rock" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:moon_rock_stairs" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_moon_rock" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:moon_rock_stairs" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_rock_stairs_from_moon_rock_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_rock_stairs_from_moon_rock_stonecutting.json new file mode 100644 index 0000000000..d8a8e31bb6 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_rock_stairs_from_moon_rock_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_moon_rock": { + "conditions": { + "items": [ + { + "items": "galacticraft:moon_rock" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:moon_rock_stairs_from_moon_rock_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_moon_rock" + ] + ], + "rewards": { + "recipes": [ + "minecraft:moon_rock_stairs_from_moon_rock_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_rock_wall.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_rock_wall.json new file mode 100644 index 0000000000..6fef941151 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_rock_wall.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_moon_rock": { + "conditions": { + "items": [ + { + "items": "galacticraft:moon_rock" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:moon_rock_wall" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_moon_rock" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:moon_rock_wall" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_rock_wall_from_moon_rock_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_rock_wall_from_moon_rock_stonecutting.json new file mode 100644 index 0000000000..fa60bdb220 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/moon_rock_wall_from_moon_rock_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_moon_rock": { + "conditions": { + "items": [ + { + "items": "galacticraft:moon_rock" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:moon_rock_wall_from_moon_rock_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_moon_rock" + ] + ], + "rewards": { + "recipes": [ + "minecraft:moon_rock_wall_from_moon_rock_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/polished_moon_rock.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/polished_moon_rock.json new file mode 100644 index 0000000000..ae78453b1d --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/polished_moon_rock.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_moon_rock_brick": { + "conditions": { + "items": [ + { + "items": "galacticraft:moon_rock_brick" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:polished_moon_rock" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_moon_rock_brick" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:polished_moon_rock" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/polished_moon_rock_from_moon_rock_brick_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/polished_moon_rock_from_moon_rock_brick_stonecutting.json new file mode 100644 index 0000000000..f46bcbb8d4 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/polished_moon_rock_from_moon_rock_brick_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_moon_rock_brick": { + "conditions": { + "items": [ + { + "items": "galacticraft:moon_rock_brick" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:polished_moon_rock_from_moon_rock_brick_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_moon_rock_brick" + ] + ], + "rewards": { + "recipes": [ + "minecraft:polished_moon_rock_from_moon_rock_brick_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/polished_moon_rock_slab.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/polished_moon_rock_slab.json new file mode 100644 index 0000000000..ead12c7fea --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/polished_moon_rock_slab.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_polished_moon_rock": { + "conditions": { + "items": [ + { + "items": "galacticraft:polished_moon_rock" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:polished_moon_rock_slab" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_polished_moon_rock" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:polished_moon_rock_slab" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/polished_moon_rock_slab_from_polished_moon_rock_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/polished_moon_rock_slab_from_polished_moon_rock_stonecutting.json new file mode 100644 index 0000000000..8b40bc300c --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/polished_moon_rock_slab_from_polished_moon_rock_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_polished_moon_rock": { + "conditions": { + "items": [ + { + "items": "galacticraft:polished_moon_rock" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:polished_moon_rock_slab_from_polished_moon_rock_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_polished_moon_rock" + ] + ], + "rewards": { + "recipes": [ + "minecraft:polished_moon_rock_slab_from_polished_moon_rock_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/polished_moon_rock_stairs.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/polished_moon_rock_stairs.json new file mode 100644 index 0000000000..c228915ade --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/polished_moon_rock_stairs.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_polished_moon_rock": { + "conditions": { + "items": [ + { + "items": "galacticraft:polished_moon_rock" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:polished_moon_rock_stairs" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_polished_moon_rock" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:polished_moon_rock_stairs" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/polished_moon_rock_stairs_from_polished_moon_rock_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/polished_moon_rock_stairs_from_polished_moon_rock_stonecutting.json new file mode 100644 index 0000000000..89b6338847 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/polished_moon_rock_stairs_from_polished_moon_rock_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_polished_moon_rock": { + "conditions": { + "items": [ + { + "items": "galacticraft:polished_moon_rock" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:polished_moon_rock_stairs_from_polished_moon_rock_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_polished_moon_rock" + ] + ], + "rewards": { + "recipes": [ + "minecraft:polished_moon_rock_stairs_from_polished_moon_rock_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/polished_moon_rock_wall.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/polished_moon_rock_wall.json new file mode 100644 index 0000000000..34d24626f9 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/polished_moon_rock_wall.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_polished_moon_rock": { + "conditions": { + "items": [ + { + "items": "galacticraft:polished_moon_rock" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:polished_moon_rock_wall" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_polished_moon_rock" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:polished_moon_rock_wall" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/polished_moon_rock_wall_from_polished_moon_rock_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/polished_moon_rock_wall_from_polished_moon_rock_stonecutting.json new file mode 100644 index 0000000000..fea8e47e42 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/polished_moon_rock_wall_from_polished_moon_rock_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_polished_moon_rock": { + "conditions": { + "items": [ + { + "items": "galacticraft:polished_moon_rock" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:polished_moon_rock_wall_from_polished_moon_rock_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_polished_moon_rock" + ] + ], + "rewards": { + "recipes": [ + "minecraft:polished_moon_rock_wall_from_polished_moon_rock_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/steel_decoration.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/steel_decoration.json new file mode 100644 index 0000000000..72b5ece98f --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/steel_decoration.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_steel": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_steel" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:steel_decoration" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_steel" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:steel_decoration" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/steel_decoration_slab.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/steel_decoration_slab.json new file mode 100644 index 0000000000..577c43cc2a --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/steel_decoration_slab.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_steel_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:steel_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:steel_decoration_slab" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_steel_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:steel_decoration_slab" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/steel_decoration_slab_from_steel_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/steel_decoration_slab_from_steel_decoration_stonecutting.json new file mode 100644 index 0000000000..1f21a3f90a --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/steel_decoration_slab_from_steel_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_steel_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:steel_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:steel_decoration_slab_from_steel_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_steel_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:steel_decoration_slab_from_steel_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/steel_decoration_stairs.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/steel_decoration_stairs.json new file mode 100644 index 0000000000..c0d5b286c5 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/steel_decoration_stairs.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_steel_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:steel_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:steel_decoration_stairs" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_steel_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:steel_decoration_stairs" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/steel_decoration_stairs_from_steel_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/steel_decoration_stairs_from_steel_decoration_stonecutting.json new file mode 100644 index 0000000000..7d745ff115 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/steel_decoration_stairs_from_steel_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_steel_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:steel_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:steel_decoration_stairs_from_steel_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_steel_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:steel_decoration_stairs_from_steel_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/steel_decoration_wall.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/steel_decoration_wall.json new file mode 100644 index 0000000000..421aa606c6 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/steel_decoration_wall.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_steel_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:steel_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:steel_decoration_wall" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_steel_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:steel_decoration_wall" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/steel_decoration_wall_from_steel_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/steel_decoration_wall_from_steel_decoration_stonecutting.json new file mode 100644 index 0000000000..fb37508de1 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/steel_decoration_wall_from_steel_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_steel_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:steel_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:steel_decoration_wall_from_steel_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_steel_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:steel_decoration_wall_from_steel_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/tin_decoration.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/tin_decoration.json new file mode 100644 index 0000000000..b131d1b5f7 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/tin_decoration.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_tin": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_tin" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:tin_decoration" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_tin" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:tin_decoration" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/tin_decoration_slab.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/tin_decoration_slab.json new file mode 100644 index 0000000000..9bdddb84e3 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/tin_decoration_slab.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:tin_decoration_slab" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_tin_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:tin_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_tin_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:tin_decoration_slab" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/tin_decoration_slab_from_tin_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/tin_decoration_slab_from_tin_decoration_stonecutting.json new file mode 100644 index 0000000000..c60a346625 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/tin_decoration_slab_from_tin_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:tin_decoration_slab_from_tin_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_tin_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:tin_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_tin_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:tin_decoration_slab_from_tin_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/tin_decoration_stairs.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/tin_decoration_stairs.json new file mode 100644 index 0000000000..8ebb66249d --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/tin_decoration_stairs.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:tin_decoration_stairs" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_tin_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:tin_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_tin_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:tin_decoration_stairs" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/tin_decoration_stairs_from_tin_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/tin_decoration_stairs_from_tin_decoration_stonecutting.json new file mode 100644 index 0000000000..711ca606c8 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/tin_decoration_stairs_from_tin_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:tin_decoration_stairs_from_tin_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_tin_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:tin_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_tin_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:tin_decoration_stairs_from_tin_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/tin_decoration_wall.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/tin_decoration_wall.json new file mode 100644 index 0000000000..3a0c3ed112 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/tin_decoration_wall.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:tin_decoration_wall" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_tin_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:tin_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_tin_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:tin_decoration_wall" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/tin_decoration_wall_from_tin_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/tin_decoration_wall_from_tin_decoration_stonecutting.json new file mode 100644 index 0000000000..1bf8180855 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/tin_decoration_wall_from_tin_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:tin_decoration_wall_from_tin_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_tin_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:tin_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_tin_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:tin_decoration_wall_from_tin_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/tin_ladder.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/tin_ladder.json new file mode 100644 index 0000000000..17bdd2d0f8 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/tin_ladder.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:tin_ladder" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_tin_ingot": { + "conditions": { + "items": [ + { + "items": "galacticraft:tin_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_tin_ingot" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:tin_ladder" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/titanium_block.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/titanium_block.json new file mode 100644 index 0000000000..99905cf104 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/titanium_block.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:titanium_block" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_titanium_ingot": { + "conditions": { + "items": [ + { + "items": "galacticraft:titanium_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_titanium_ingot" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:titanium_block" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/titanium_decoration.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/titanium_decoration.json new file mode 100644 index 0000000000..2ef5505cd6 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/titanium_decoration.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_titanium": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_titanium" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:titanium_decoration" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_titanium" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:titanium_decoration" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/titanium_decoration_slab.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/titanium_decoration_slab.json new file mode 100644 index 0000000000..7529da73e9 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/titanium_decoration_slab.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:titanium_decoration_slab" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_titanium_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:titanium_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_titanium_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:titanium_decoration_slab" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/titanium_decoration_slab_from_titanium_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/titanium_decoration_slab_from_titanium_decoration_stonecutting.json new file mode 100644 index 0000000000..41044c54e2 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/titanium_decoration_slab_from_titanium_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:titanium_decoration_slab_from_titanium_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_titanium_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:titanium_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_titanium_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:titanium_decoration_slab_from_titanium_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/titanium_decoration_stairs.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/titanium_decoration_stairs.json new file mode 100644 index 0000000000..8f794e493e --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/titanium_decoration_stairs.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:titanium_decoration_stairs" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_titanium_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:titanium_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_titanium_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:titanium_decoration_stairs" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/titanium_decoration_stairs_from_titanium_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/titanium_decoration_stairs_from_titanium_decoration_stonecutting.json new file mode 100644 index 0000000000..9976411220 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/titanium_decoration_stairs_from_titanium_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:titanium_decoration_stairs_from_titanium_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_titanium_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:titanium_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_titanium_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:titanium_decoration_stairs_from_titanium_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/titanium_decoration_wall.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/titanium_decoration_wall.json new file mode 100644 index 0000000000..36257a1906 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/titanium_decoration_wall.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:titanium_decoration_wall" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_titanium_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:titanium_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_titanium_decoration" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:titanium_decoration_wall" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/titanium_decoration_wall_from_titanium_decoration_stonecutting.json b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/titanium_decoration_wall_from_titanium_decoration_stonecutting.json new file mode 100644 index 0000000000..391d214347 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/building_blocks/titanium_decoration_wall_from_titanium_decoration_stonecutting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:titanium_decoration_wall_from_titanium_decoration_stonecutting" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_titanium_decoration": { + "conditions": { + "items": [ + { + "items": "galacticraft:titanium_decoration" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_titanium_decoration" + ] + ], + "rewards": { + "recipes": [ + "minecraft:titanium_decoration_wall_from_titanium_decoration_stonecutting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/combat/desh_sword.json b/src/main/generated/data/galacticraft/advancement/recipes/combat/desh_sword.json new file mode 100644 index 0000000000..a62a0e8571 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/combat/desh_sword.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_desh_ingot": { + "conditions": { + "items": [ + { + "items": "galacticraft:desh_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:desh_sword" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_desh_ingot" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:desh_sword" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/combat/heavy_duty_boots.json b/src/main/generated/data/galacticraft/advancement/recipes/combat/heavy_duty_boots.json new file mode 100644 index 0000000000..2a9090e0c7 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/combat/heavy_duty_boots.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_heavy_plating": { + "conditions": { + "items": [ + { + "items": "galacticraft:heavy_plating" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:heavy_duty_boots" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_heavy_plating" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:heavy_duty_boots" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/combat/heavy_duty_chestplate.json b/src/main/generated/data/galacticraft/advancement/recipes/combat/heavy_duty_chestplate.json new file mode 100644 index 0000000000..fb6170ed63 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/combat/heavy_duty_chestplate.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_heavy_plating": { + "conditions": { + "items": [ + { + "items": "galacticraft:heavy_plating" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:heavy_duty_chestplate" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_heavy_plating" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:heavy_duty_chestplate" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/combat/heavy_duty_helmet.json b/src/main/generated/data/galacticraft/advancement/recipes/combat/heavy_duty_helmet.json new file mode 100644 index 0000000000..6b7ba226c2 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/combat/heavy_duty_helmet.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_heavy_plating": { + "conditions": { + "items": [ + { + "items": "galacticraft:heavy_plating" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:heavy_duty_helmet" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_heavy_plating" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:heavy_duty_helmet" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/combat/heavy_duty_leggings.json b/src/main/generated/data/galacticraft/advancement/recipes/combat/heavy_duty_leggings.json new file mode 100644 index 0000000000..37bfdbadc5 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/combat/heavy_duty_leggings.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_heavy_plating": { + "conditions": { + "items": [ + { + "items": "galacticraft:heavy_plating" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:heavy_duty_leggings" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_heavy_plating" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:heavy_duty_leggings" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/combat/heavy_duty_sword.json b/src/main/generated/data/galacticraft/advancement/recipes/combat/heavy_duty_sword.json new file mode 100644 index 0000000000..49dfac34ec --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/combat/heavy_duty_sword.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_steel": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_steel" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:heavy_duty_sword" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_steel" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:heavy_duty_sword" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/combat/throwable_meteor_chunk.json b/src/main/generated/data/galacticraft/advancement/recipes/combat/throwable_meteor_chunk.json new file mode 100644 index 0000000000..a5a58d87be --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/combat/throwable_meteor_chunk.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_raw_meteoric_iron": { + "conditions": { + "items": [ + { + "items": "galacticraft:raw_meteoric_iron" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:throwable_meteor_chunk" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_raw_meteoric_iron" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:throwable_meteor_chunk" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/combat/titanium_boots_smithing.json b/src/main/generated/data/galacticraft/advancement/recipes/combat/titanium_boots_smithing.json new file mode 100644 index 0000000000..4c118cf9af --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/combat/titanium_boots_smithing.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_titanium": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_titanium" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:titanium_boots_smithing" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_titanium" + ] + ], + "rewards": { + "recipes": [ + "minecraft:titanium_boots_smithing" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/combat/titanium_chestplate_smithing.json b/src/main/generated/data/galacticraft/advancement/recipes/combat/titanium_chestplate_smithing.json new file mode 100644 index 0000000000..4e921f4d56 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/combat/titanium_chestplate_smithing.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_titanium": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_titanium" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:titanium_chestplate_smithing" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_titanium" + ] + ], + "rewards": { + "recipes": [ + "minecraft:titanium_chestplate_smithing" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/combat/titanium_helmet_smithing.json b/src/main/generated/data/galacticraft/advancement/recipes/combat/titanium_helmet_smithing.json new file mode 100644 index 0000000000..b5c3e61e43 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/combat/titanium_helmet_smithing.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_titanium": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_titanium" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:titanium_helmet_smithing" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_titanium" + ] + ], + "rewards": { + "recipes": [ + "minecraft:titanium_helmet_smithing" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/combat/titanium_leggings_smithing.json b/src/main/generated/data/galacticraft/advancement/recipes/combat/titanium_leggings_smithing.json new file mode 100644 index 0000000000..3500b1bfdf --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/combat/titanium_leggings_smithing.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_titanium": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_titanium" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:titanium_leggings_smithing" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_titanium" + ] + ], + "rewards": { + "recipes": [ + "minecraft:titanium_leggings_smithing" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/combat/titanium_sword_smithing.json b/src/main/generated/data/galacticraft/advancement/recipes/combat/titanium_sword_smithing.json new file mode 100644 index 0000000000..c6313a7233 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/combat/titanium_sword_smithing.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_titanium": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_titanium" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:titanium_sword_smithing" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_titanium" + ] + ], + "rewards": { + "recipes": [ + "minecraft:titanium_sword_smithing" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/compressed_aluminum.json b/src/main/generated/data/galacticraft/advancement/recipes/compressed_aluminum.json new file mode 100644 index 0000000000..41caebc6b4 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/compressed_aluminum.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_aluminum_ingot": { + "conditions": { + "items": [ + { + "items": "galacticraft:aluminum_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:compressed_aluminum" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_aluminum_ingot" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:compressed_aluminum" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/compressed_bronze.json b/src/main/generated/data/galacticraft/advancement/recipes/compressed_bronze.json similarity index 100% rename from src/main/generated/data/galacticraft/advancements/recipes/compressed_bronze.json rename to src/main/generated/data/galacticraft/advancement/recipes/compressed_bronze.json diff --git a/src/main/generated/data/galacticraft/advancement/recipes/compressed_copper.json b/src/main/generated/data/galacticraft/advancement/recipes/compressed_copper.json new file mode 100644 index 0000000000..b24cdee16d --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/compressed_copper.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_copper_ingot": { + "conditions": { + "items": [ + { + "items": "#c:ingots/copper" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:compressed_copper" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_copper_ingot" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:compressed_copper" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/compressed_desh.json b/src/main/generated/data/galacticraft/advancement/recipes/compressed_desh.json new file mode 100644 index 0000000000..356a77dd42 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/compressed_desh.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_desh_ingot": { + "conditions": { + "items": [ + { + "items": "galacticraft:desh_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:compressed_desh" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_desh_ingot" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:compressed_desh" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/compressed_iron.json b/src/main/generated/data/galacticraft/advancement/recipes/compressed_iron.json new file mode 100644 index 0000000000..53e9497b39 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/compressed_iron.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_iron_ingot": { + "conditions": { + "items": [ + { + "items": "#c:ingots/iron" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:compressed_iron" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_iron_ingot" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:compressed_iron" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/compressed_meteoric_iron.json b/src/main/generated/data/galacticraft/advancement/recipes/compressed_meteoric_iron.json similarity index 100% rename from src/main/generated/data/galacticraft/advancements/recipes/compressed_meteoric_iron.json rename to src/main/generated/data/galacticraft/advancement/recipes/compressed_meteoric_iron.json diff --git a/src/main/generated/data/galacticraft/advancement/recipes/compressed_steel.json b/src/main/generated/data/galacticraft/advancement/recipes/compressed_steel.json new file mode 100644 index 0000000000..15b1400990 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/compressed_steel.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_iron": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_iron" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:compressed_steel" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_iron" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:compressed_steel" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/compressed_steel_from_ingots.json b/src/main/generated/data/galacticraft/advancement/recipes/compressed_steel_from_ingots.json similarity index 100% rename from src/main/generated/data/galacticraft/advancements/recipes/compressed_steel_from_ingots.json rename to src/main/generated/data/galacticraft/advancement/recipes/compressed_steel_from_ingots.json diff --git a/src/main/generated/data/galacticraft/advancement/recipes/compressed_tin.json b/src/main/generated/data/galacticraft/advancement/recipes/compressed_tin.json new file mode 100644 index 0000000000..536f1cd3e2 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/compressed_tin.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:compressed_tin" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_tin_ingot": { + "conditions": { + "items": [ + { + "items": "galacticraft:tin_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_tin_ingot" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:compressed_tin" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/compressed_titanium.json b/src/main/generated/data/galacticraft/advancement/recipes/compressed_titanium.json new file mode 100644 index 0000000000..a6be28463a --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/compressed_titanium.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:compressed_titanium" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_titanium_ingot": { + "conditions": { + "items": [ + { + "items": "galacticraft:titanium_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_titanium_ingot" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:compressed_titanium" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/decorations/dashed_light_panel.json b/src/main/generated/data/galacticraft/advancement/recipes/decorations/dashed_light_panel.json new file mode 100644 index 0000000000..a2a9ab9915 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/decorations/dashed_light_panel.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_steel": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_steel" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:dashed_light_panel" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_steel" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:dashed_light_panel" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/decorations/diagonal_light_panel.json b/src/main/generated/data/galacticraft/advancement/recipes/decorations/diagonal_light_panel.json new file mode 100644 index 0000000000..64fb096ae5 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/decorations/diagonal_light_panel.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_steel": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_steel" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:diagonal_light_panel" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_steel" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:diagonal_light_panel" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/decorations/diagonal_light_panel_flipped.json b/src/main/generated/data/galacticraft/advancement/recipes/decorations/diagonal_light_panel_flipped.json new file mode 100644 index 0000000000..12037c7131 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/decorations/diagonal_light_panel_flipped.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_steel": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_steel" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:diagonal_light_panel_flipped" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_steel" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:diagonal_light_panel_flipped" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/decorations/glowstone_lantern.json b/src/main/generated/data/galacticraft/advancement/recipes/decorations/glowstone_lantern.json new file mode 100644 index 0000000000..3401f70702 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/decorations/glowstone_lantern.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_glowstone_torch": { + "conditions": { + "items": [ + { + "items": "galacticraft:glowstone_torch" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:glowstone_lantern" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_glowstone_torch" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:glowstone_lantern" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/decorations/glowstone_torch.json b/src/main/generated/data/galacticraft/advancement/recipes/decorations/glowstone_torch.json new file mode 100644 index 0000000000..b0692d9350 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/decorations/glowstone_torch.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_glowstone_dust": { + "conditions": { + "items": [ + { + "items": "minecraft:glowstone_dust" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:glowstone_torch" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_glowstone_dust" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:glowstone_torch" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/decorations/linear_light_panel.json b/src/main/generated/data/galacticraft/advancement/recipes/decorations/linear_light_panel.json new file mode 100644 index 0000000000..0677b5c755 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/decorations/linear_light_panel.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_steel": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_steel" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:linear_light_panel" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_steel" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:linear_light_panel" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/decorations/spotlight_light_panel.json b/src/main/generated/data/galacticraft/advancement/recipes/decorations/spotlight_light_panel.json new file mode 100644 index 0000000000..6306e97165 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/decorations/spotlight_light_panel.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_steel": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_steel" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:spotlight_light_panel" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_steel" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:spotlight_light_panel" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/decorations/square_light_panel.json b/src/main/generated/data/galacticraft/advancement/recipes/decorations/square_light_panel.json new file mode 100644 index 0000000000..5f241db592 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/decorations/square_light_panel.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_steel": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_steel" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:square_light_panel" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_steel" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:square_light_panel" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/decorations/vacuum_glass.json b/src/main/generated/data/galacticraft/advancement/recipes/decorations/vacuum_glass.json new file mode 100644 index 0000000000..1068c6084c --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/decorations/vacuum_glass.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:vacuum_glass" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_tin_ingot": { + "conditions": { + "items": [ + { + "items": "galacticraft:tin_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_tin_ingot" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:vacuum_glass" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/decorations/vacuum_glass_clear.json b/src/main/generated/data/galacticraft/advancement/recipes/decorations/vacuum_glass_clear.json new file mode 100644 index 0000000000..120c041b5c --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/decorations/vacuum_glass_clear.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_aluminum_ingot": { + "conditions": { + "items": [ + { + "items": "galacticraft:aluminum_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:vacuum_glass_clear" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_aluminum_ingot" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:vacuum_glass_clear" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/decorations/vacuum_glass_strong.json b/src/main/generated/data/galacticraft/advancement/recipes/decorations/vacuum_glass_strong.json new file mode 100644 index 0000000000..811a460561 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/decorations/vacuum_glass_strong.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_aluminum": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_aluminum" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:vacuum_glass_strong" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_aluminum" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:vacuum_glass_strong" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/food/beef_patty_from_campfire_cooking.json b/src/main/generated/data/galacticraft/advancement/recipes/food/beef_patty_from_campfire_cooking.json new file mode 100644 index 0000000000..57e25b0271 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/food/beef_patty_from_campfire_cooking.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ground_beef": { + "conditions": { + "items": [ + { + "items": "galacticraft:ground_beef" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:beef_patty_from_campfire_cooking" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ground_beef" + ] + ], + "rewards": { + "recipes": [ + "minecraft:beef_patty_from_campfire_cooking" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/food/beef_patty_from_smelting.json b/src/main/generated/data/galacticraft/advancement/recipes/food/beef_patty_from_smelting.json new file mode 100644 index 0000000000..aa654762bd --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/food/beef_patty_from_smelting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ground_beef": { + "conditions": { + "items": [ + { + "items": "galacticraft:ground_beef" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:beef_patty_from_smelting" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ground_beef" + ] + ], + "rewards": { + "recipes": [ + "minecraft:beef_patty_from_smelting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/food/beef_patty_from_smoking.json b/src/main/generated/data/galacticraft/advancement/recipes/food/beef_patty_from_smoking.json new file mode 100644 index 0000000000..269a1a97ff --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/food/beef_patty_from_smoking.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ground_beef": { + "conditions": { + "items": [ + { + "items": "galacticraft:ground_beef" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:beef_patty_from_smoking" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ground_beef" + ] + ], + "rewards": { + "recipes": [ + "minecraft:beef_patty_from_smoking" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/food/burger_bun.json b/src/main/generated/data/galacticraft/advancement/recipes/food/burger_bun.json new file mode 100644 index 0000000000..61052c8b0c --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/food/burger_bun.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_egg": { + "conditions": { + "items": [ + { + "items": "minecraft:egg" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:burger_bun" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_egg" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:burger_bun" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/food/cheese_slice.json b/src/main/generated/data/galacticraft/advancement/recipes/food/cheese_slice.json new file mode 100644 index 0000000000..7087ed3bd0 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/food/cheese_slice.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_moon_cheese_block": { + "conditions": { + "items": [ + { + "items": "galacticraft:moon_cheese_block" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:cheese_slice" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_moon_cheese_block" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:cheese_slice" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/food/cheeseburger.json b/src/main/generated/data/galacticraft/advancement/recipes/food/cheeseburger.json new file mode 100644 index 0000000000..68cfce93fd --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/food/cheeseburger.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ground_beef": { + "conditions": { + "items": [ + { + "items": "galacticraft:ground_beef" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:cheeseburger" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ground_beef" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:cheeseburger" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/food/ground_beef.json b/src/main/generated/data/galacticraft/advancement/recipes/food/ground_beef.json new file mode 100644 index 0000000000..563d0be478 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/food/ground_beef.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_beef": { + "conditions": { + "items": [ + { + "items": "minecraft:beef" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:ground_beef" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_beef" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:ground_beef" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/food/hot_throwable_meteor_chunk_from_blasting.json b/src/main/generated/data/galacticraft/advancement/recipes/food/hot_throwable_meteor_chunk_from_blasting.json new file mode 100644 index 0000000000..d419ec0935 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/food/hot_throwable_meteor_chunk_from_blasting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:hot_throwable_meteor_chunk_from_blasting" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_throwable_meteor_chunk": { + "conditions": { + "items": [ + { + "items": "galacticraft:throwable_meteor_chunk" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_throwable_meteor_chunk" + ] + ], + "rewards": { + "recipes": [ + "minecraft:hot_throwable_meteor_chunk_from_blasting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/food/hot_throwable_meteor_chunk_from_smelting.json b/src/main/generated/data/galacticraft/advancement/recipes/food/hot_throwable_meteor_chunk_from_smelting.json new file mode 100644 index 0000000000..7e4b91fe7b --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/food/hot_throwable_meteor_chunk_from_smelting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:hot_throwable_meteor_chunk_from_smelting" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_throwable_meteor_chunk": { + "conditions": { + "items": [ + { + "items": "galacticraft:throwable_meteor_chunk" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_throwable_meteor_chunk" + ] + ], + "rewards": { + "recipes": [ + "minecraft:hot_throwable_meteor_chunk_from_smelting" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/food/moon_cheese_block.json b/src/main/generated/data/galacticraft/advancement/recipes/food/moon_cheese_block.json new file mode 100644 index 0000000000..94e4fa5348 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/food/moon_cheese_block.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cheese_curd": { + "conditions": { + "items": [ + { + "items": "galacticraft:cheese_curd" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:moon_cheese_block" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cheese_curd" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:moon_cheese_block" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/heavy_plating.json b/src/main/generated/data/galacticraft/advancement/recipes/heavy_plating.json new file mode 100644 index 0000000000..6eeed5ce30 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/heavy_plating.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_bronze": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_bronze" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:heavy_plating" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_bronze" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:heavy_plating" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/heavy_plating_flipped.json b/src/main/generated/data/galacticraft/advancement/recipes/heavy_plating_flipped.json new file mode 100644 index 0000000000..9de0964457 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/heavy_plating_flipped.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_bronze": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_bronze" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:heavy_plating_flipped" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_bronze" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:heavy_plating_flipped" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/heavy_plating_t2.json b/src/main/generated/data/galacticraft/advancement/recipes/heavy_plating_t2.json new file mode 100644 index 0000000000..f69af287e7 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/heavy_plating_t2.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_meteoric_iron": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_meteoric_iron" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:heavy_plating_t2" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_meteoric_iron" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:heavy_plating_t2" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/heavy_plating_t3.json b/src/main/generated/data/galacticraft/advancement/recipes/heavy_plating_t3.json new file mode 100644 index 0000000000..7647deeca4 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/heavy_plating_t3.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_meteoric_iron": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_meteoric_iron" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:heavy_plating_t3" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_meteoric_iron" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:heavy_plating_t3" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/advanced_solar_panel.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/advanced_solar_panel.json new file mode 100644 index 0000000000..f04465f47b --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/advanced_solar_panel.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_advanced_wafer": { + "conditions": { + "items": [ + { + "items": "galacticraft:advanced_wafer" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:advanced_solar_panel" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_advanced_wafer" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:advanced_solar_panel" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/aluminum_ingot_from_blasting_aluminum_ore.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/aluminum_ingot_from_blasting_aluminum_ore.json new file mode 100644 index 0000000000..8a9a58697a --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/aluminum_ingot_from_blasting_aluminum_ore.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_aluminum_ore": { + "conditions": { + "items": [ + { + "items": "galacticraft:aluminum_ore" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:aluminum_ingot_from_blasting_aluminum_ore" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_aluminum_ore" + ] + ], + "rewards": { + "recipes": [ + "minecraft:aluminum_ingot_from_blasting_aluminum_ore" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/aluminum_ingot_from_blasting_deepslate_aluminum_ore.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/aluminum_ingot_from_blasting_deepslate_aluminum_ore.json new file mode 100644 index 0000000000..3511eb82b5 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/aluminum_ingot_from_blasting_deepslate_aluminum_ore.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_deepslate_aluminum_ore": { + "conditions": { + "items": [ + { + "items": "galacticraft:deepslate_aluminum_ore" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:aluminum_ingot_from_blasting_deepslate_aluminum_ore" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_deepslate_aluminum_ore" + ] + ], + "rewards": { + "recipes": [ + "minecraft:aluminum_ingot_from_blasting_deepslate_aluminum_ore" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/aluminum_ingot_from_blasting_raw_aluminum.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/aluminum_ingot_from_blasting_raw_aluminum.json new file mode 100644 index 0000000000..299f569bc8 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/aluminum_ingot_from_blasting_raw_aluminum.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_raw_aluminum": { + "conditions": { + "items": [ + { + "items": "galacticraft:raw_aluminum" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:aluminum_ingot_from_blasting_raw_aluminum" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_raw_aluminum" + ] + ], + "rewards": { + "recipes": [ + "minecraft:aluminum_ingot_from_blasting_raw_aluminum" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/aluminum_ingot_from_nuggets.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/aluminum_ingot_from_nuggets.json new file mode 100644 index 0000000000..09a14aa12d --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/aluminum_ingot_from_nuggets.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_aluminum_nugget": { + "conditions": { + "items": [ + { + "items": "galacticraft:aluminum_nugget" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:aluminum_ingot_from_nuggets" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_aluminum_nugget" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:aluminum_ingot_from_nuggets" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/aluminum_ingot_from_smelting_aluminum_ore.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/aluminum_ingot_from_smelting_aluminum_ore.json new file mode 100644 index 0000000000..fd30401f11 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/aluminum_ingot_from_smelting_aluminum_ore.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_aluminum_ore": { + "conditions": { + "items": [ + { + "items": "galacticraft:aluminum_ore" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:aluminum_ingot_from_smelting_aluminum_ore" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_aluminum_ore" + ] + ], + "rewards": { + "recipes": [ + "minecraft:aluminum_ingot_from_smelting_aluminum_ore" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/aluminum_ingot_from_smelting_deepslate_aluminum_ore.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/aluminum_ingot_from_smelting_deepslate_aluminum_ore.json new file mode 100644 index 0000000000..9ae3da8ab8 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/aluminum_ingot_from_smelting_deepslate_aluminum_ore.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_deepslate_aluminum_ore": { + "conditions": { + "items": [ + { + "items": "galacticraft:deepslate_aluminum_ore" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:aluminum_ingot_from_smelting_deepslate_aluminum_ore" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_deepslate_aluminum_ore" + ] + ], + "rewards": { + "recipes": [ + "minecraft:aluminum_ingot_from_smelting_deepslate_aluminum_ore" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/aluminum_ingot_from_smelting_raw_aluminum.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/aluminum_ingot_from_smelting_raw_aluminum.json new file mode 100644 index 0000000000..b879f49779 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/aluminum_ingot_from_smelting_raw_aluminum.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_raw_aluminum": { + "conditions": { + "items": [ + { + "items": "galacticraft:raw_aluminum" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:aluminum_ingot_from_smelting_raw_aluminum" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_raw_aluminum" + ] + ], + "rewards": { + "recipes": [ + "minecraft:aluminum_ingot_from_smelting_raw_aluminum" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/aluminum_nugget.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/aluminum_nugget.json new file mode 100644 index 0000000000..cda59bdd33 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/aluminum_nugget.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_aluminum_ingot": { + "conditions": { + "items": [ + { + "items": "galacticraft:aluminum_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:aluminum_nugget" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_aluminum_ingot" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:aluminum_nugget" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/aluminum_wire.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/aluminum_wire.json new file mode 100644 index 0000000000..50fe433c3a --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/aluminum_wire.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_glass_pane": { + "conditions": { + "items": [ + { + "items": "minecraft:glass_pane" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:aluminum_wire" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_glass_pane" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:aluminum_wire" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/ambient_thermal_controller.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/ambient_thermal_controller.json new file mode 100644 index 0000000000..d1374508ad --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/ambient_thermal_controller.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_oxygen_vent": { + "conditions": { + "items": [ + { + "items": "galacticraft:oxygen_vent" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:ambient_thermal_controller" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_oxygen_vent" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:ambient_thermal_controller" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/atmospheric_valve.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/atmospheric_valve.json new file mode 100644 index 0000000000..628187c85c --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/atmospheric_valve.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_desh_ingot": { + "conditions": { + "items": [ + { + "items": "galacticraft:desh_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:atmospheric_valve" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_desh_ingot" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:atmospheric_valve" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/basic_solar_panel.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/basic_solar_panel.json new file mode 100644 index 0000000000..d9bc0a0ec2 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/basic_solar_panel.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_basic_wafer": { + "conditions": { + "items": [ + { + "items": "galacticraft:basic_wafer" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:basic_solar_panel" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_basic_wafer" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:basic_solar_panel" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/battery.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/battery.json new file mode 100644 index 0000000000..f96b6c469c --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/battery.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_tin": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_tin" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:battery" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_tin" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:battery" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/beam_core.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/beam_core.json new file mode 100644 index 0000000000..d9267f5f22 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/beam_core.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_iron": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_iron" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:beam_core" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_iron" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:beam_core" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/black_parachute.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/black_parachute.json new file mode 100644 index 0000000000..03e8f24d35 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/black_parachute.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_black_dye": { + "conditions": { + "items": [ + { + "items": "galacticraft:white_parachute" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:black_parachute" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_black_dye" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:black_parachute" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/blue_parachute.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/blue_parachute.json new file mode 100644 index 0000000000..2c239856bc --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/blue_parachute.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_blue_dye": { + "conditions": { + "items": [ + { + "items": "galacticraft:white_parachute" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:blue_parachute" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_blue_dye" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:blue_parachute" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/brown_parachute.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/brown_parachute.json new file mode 100644 index 0000000000..9b2bbdd1f1 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/brown_parachute.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_brown_dye": { + "conditions": { + "items": [ + { + "items": "galacticraft:white_parachute" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:brown_parachute" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_brown_dye" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:brown_parachute" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/canvas.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/canvas.json new file mode 100644 index 0000000000..65f0f44d7e --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/canvas.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_string": { + "conditions": { + "items": [ + { + "items": "minecraft:string" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:canvas" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_string" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:canvas" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/carbon_fragments_from_charcoal.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/carbon_fragments_from_charcoal.json new file mode 100644 index 0000000000..f3ea202aa0 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/carbon_fragments_from_charcoal.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_charcoal": { + "conditions": { + "items": [ + { + "items": "minecraft:charcoal" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:carbon_fragments_from_charcoal" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_charcoal" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:carbon_fragments_from_charcoal" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/carbon_fragments_from_coal.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/carbon_fragments_from_coal.json new file mode 100644 index 0000000000..69f653df41 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/carbon_fragments_from_coal.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_coal": { + "conditions": { + "items": [ + { + "items": "#c:coal" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:carbon_fragments_from_coal" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_coal" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:carbon_fragments_from_coal" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/carbon_fragments_from_smelting_planks.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/carbon_fragments_from_smelting_planks.json new file mode 100644 index 0000000000..b9ed0409be --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/carbon_fragments_from_smelting_planks.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_planks": { + "conditions": { + "items": [ + { + "items": "#minecraft:planks" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:carbon_fragments_from_smelting_planks" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_planks" + ] + ], + "rewards": { + "recipes": [ + "minecraft:carbon_fragments_from_smelting_planks" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/circuit_fabricator.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/circuit_fabricator.json new file mode 100644 index 0000000000..d0ea2d72db --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/circuit_fabricator.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_aluminum_ingot": { + "conditions": { + "items": [ + { + "items": "galacticraft:aluminum_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:circuit_fabricator" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_aluminum_ingot" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:circuit_fabricator" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/coal_generator.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/coal_generator.json new file mode 100644 index 0000000000..38e0334f17 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/coal_generator.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_aluminum_ingot": { + "conditions": { + "items": [ + { + "items": "galacticraft:aluminum_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:coal_generator" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_aluminum_ingot" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:coal_generator" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/compressor.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/compressor.json new file mode 100644 index 0000000000..7a99acff28 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/compressor.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_aluminum_ingot": { + "conditions": { + "items": [ + { + "items": "galacticraft:aluminum_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:compressor" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_aluminum_ingot" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:compressor" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/copper_canister.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/copper_canister.json new file mode 100644 index 0000000000..647062e0cf --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/copper_canister.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_copper_ingot": { + "conditions": { + "items": [ + { + "items": "minecraft:copper_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:copper_canister" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_copper_ingot" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:copper_canister" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/copper_ingot_from_blasting_lunaslate_copper_ore.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/copper_ingot_from_blasting_lunaslate_copper_ore.json new file mode 100644 index 0000000000..27acdad6c7 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/copper_ingot_from_blasting_lunaslate_copper_ore.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_lunaslate_copper_ore": { + "conditions": { + "items": [ + { + "items": "galacticraft:lunaslate_copper_ore" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:copper_ingot_from_blasting_lunaslate_copper_ore" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_lunaslate_copper_ore" + ] + ], + "rewards": { + "recipes": [ + "minecraft:copper_ingot_from_blasting_lunaslate_copper_ore" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/copper_ingot_from_blasting_moon_copper_ore.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/copper_ingot_from_blasting_moon_copper_ore.json new file mode 100644 index 0000000000..e0aaeee18b --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/copper_ingot_from_blasting_moon_copper_ore.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_moon_copper_ore": { + "conditions": { + "items": [ + { + "items": "galacticraft:moon_copper_ore" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:copper_ingot_from_blasting_moon_copper_ore" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_moon_copper_ore" + ] + ], + "rewards": { + "recipes": [ + "minecraft:copper_ingot_from_blasting_moon_copper_ore" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/copper_ingot_from_smelting_lunaslate_copper_ore.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/copper_ingot_from_smelting_lunaslate_copper_ore.json new file mode 100644 index 0000000000..cb829509ea --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/copper_ingot_from_smelting_lunaslate_copper_ore.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_lunaslate_copper_ore": { + "conditions": { + "items": [ + { + "items": "galacticraft:lunaslate_copper_ore" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:copper_ingot_from_smelting_lunaslate_copper_ore" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_lunaslate_copper_ore" + ] + ], + "rewards": { + "recipes": [ + "minecraft:copper_ingot_from_smelting_lunaslate_copper_ore" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/copper_ingot_from_smelting_moon_copper_ore.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/copper_ingot_from_smelting_moon_copper_ore.json new file mode 100644 index 0000000000..866f138012 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/copper_ingot_from_smelting_moon_copper_ore.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_moon_copper_ore": { + "conditions": { + "items": [ + { + "items": "galacticraft:moon_copper_ore" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:copper_ingot_from_smelting_moon_copper_ore" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_moon_copper_ore" + ] + ], + "rewards": { + "recipes": [ + "minecraft:copper_ingot_from_smelting_moon_copper_ore" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/cyan_parachute.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/cyan_parachute.json new file mode 100644 index 0000000000..e5592fa325 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/cyan_parachute.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cyan_dye": { + "conditions": { + "items": [ + { + "items": "galacticraft:white_parachute" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:cyan_parachute" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cyan_dye" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:cyan_parachute" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/desh_boots.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/desh_boots.json new file mode 100644 index 0000000000..d5ba682ec2 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/desh_boots.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_desh_ingot": { + "conditions": { + "items": [ + { + "items": "galacticraft:desh_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:desh_boots" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_desh_ingot" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:desh_boots" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/desh_chestplate.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/desh_chestplate.json new file mode 100644 index 0000000000..405f2a0f5d --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/desh_chestplate.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_desh_ingot": { + "conditions": { + "items": [ + { + "items": "galacticraft:desh_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:desh_chestplate" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_desh_ingot" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:desh_chestplate" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/desh_helmet.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/desh_helmet.json new file mode 100644 index 0000000000..1ac2f0fdb7 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/desh_helmet.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_desh_ingot": { + "conditions": { + "items": [ + { + "items": "galacticraft:desh_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:desh_helmet" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_desh_ingot" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:desh_helmet" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/desh_ingot_from_blasting_desh_ore.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/desh_ingot_from_blasting_desh_ore.json new file mode 100644 index 0000000000..ce72566c9a --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/desh_ingot_from_blasting_desh_ore.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_desh_ore": { + "conditions": { + "items": [ + { + "items": "galacticraft:desh_ore" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:desh_ingot_from_blasting_desh_ore" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_desh_ore" + ] + ], + "rewards": { + "recipes": [ + "minecraft:desh_ingot_from_blasting_desh_ore" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/desh_ingot_from_blasting_raw_desh.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/desh_ingot_from_blasting_raw_desh.json new file mode 100644 index 0000000000..5ce05eb6d7 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/desh_ingot_from_blasting_raw_desh.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_raw_desh": { + "conditions": { + "items": [ + { + "items": "galacticraft:raw_desh" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:desh_ingot_from_blasting_raw_desh" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_raw_desh" + ] + ], + "rewards": { + "recipes": [ + "minecraft:desh_ingot_from_blasting_raw_desh" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/desh_ingot_from_block.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/desh_ingot_from_block.json new file mode 100644 index 0000000000..881ff68501 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/desh_ingot_from_block.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_desh_block": { + "conditions": { + "items": [ + { + "items": "galacticraft:desh_block" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:desh_ingot_from_block" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_desh_block" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:desh_ingot_from_block" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/desh_ingot_from_nuggets.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/desh_ingot_from_nuggets.json new file mode 100644 index 0000000000..e9c1a71d7f --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/desh_ingot_from_nuggets.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_desh_nugget": { + "conditions": { + "items": [ + { + "items": "galacticraft:desh_nugget" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:desh_ingot_from_nuggets" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_desh_nugget" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:desh_ingot_from_nuggets" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/desh_ingot_from_smelting_desh_ore.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/desh_ingot_from_smelting_desh_ore.json new file mode 100644 index 0000000000..086463d4ac --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/desh_ingot_from_smelting_desh_ore.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_desh_ore": { + "conditions": { + "items": [ + { + "items": "galacticraft:desh_ore" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:desh_ingot_from_smelting_desh_ore" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_desh_ore" + ] + ], + "rewards": { + "recipes": [ + "minecraft:desh_ingot_from_smelting_desh_ore" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/desh_ingot_from_smelting_raw_desh.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/desh_ingot_from_smelting_raw_desh.json new file mode 100644 index 0000000000..9069f5ef9a --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/desh_ingot_from_smelting_raw_desh.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_raw_desh": { + "conditions": { + "items": [ + { + "items": "galacticraft:raw_desh" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:desh_ingot_from_smelting_raw_desh" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_raw_desh" + ] + ], + "rewards": { + "recipes": [ + "minecraft:desh_ingot_from_smelting_raw_desh" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/desh_leggings.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/desh_leggings.json new file mode 100644 index 0000000000..31b485f6b4 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/desh_leggings.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_desh_ingot": { + "conditions": { + "items": [ + { + "items": "galacticraft:desh_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:desh_leggings" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_desh_ingot" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:desh_leggings" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/desh_nugget.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/desh_nugget.json new file mode 100644 index 0000000000..4c89c23144 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/desh_nugget.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_desh_ingot": { + "conditions": { + "items": [ + { + "items": "galacticraft:desh_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:desh_nugget" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_desh_ingot" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:desh_nugget" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/desh_stick.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/desh_stick.json new file mode 100644 index 0000000000..b1db94004b --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/desh_stick.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_desh_stick": { + "conditions": { + "items": [ + { + "items": "galacticraft:desh_stick" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:desh_stick" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_desh_stick" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:desh_stick" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/electric_arc_furnace.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/electric_arc_furnace.json new file mode 100644 index 0000000000..0c3de13727 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/electric_arc_furnace.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_advanced_wafer": { + "conditions": { + "items": [ + { + "items": "galacticraft:advanced_wafer" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:electric_arc_furnace" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_advanced_wafer" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:electric_arc_furnace" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/electric_compressor.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/electric_compressor.json new file mode 100644 index 0000000000..4c7746d5a5 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/electric_compressor.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_aluminum_ingot": { + "conditions": { + "items": [ + { + "items": "galacticraft:aluminum_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:electric_compressor" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_aluminum_ingot" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:electric_compressor" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/electric_compressor_upgrade.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/electric_compressor_upgrade.json new file mode 100644 index 0000000000..8cd1621fec --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/electric_compressor_upgrade.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_aluminum_ingot": { + "conditions": { + "items": [ + { + "items": "galacticraft:aluminum_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:electric_compressor_upgrade" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_aluminum_ingot" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:electric_compressor_upgrade" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/electric_furnace.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/electric_furnace.json new file mode 100644 index 0000000000..02d7f70136 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/electric_furnace.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_basic_wafer": { + "conditions": { + "items": [ + { + "items": "galacticraft:basic_wafer" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:electric_furnace" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_basic_wafer" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:electric_furnace" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/energy_storage_module.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/energy_storage_module.json new file mode 100644 index 0000000000..dd95863cd2 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/energy_storage_module.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_battery": { + "conditions": { + "items": [ + { + "items": "galacticraft:battery" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:energy_storage_module" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_battery" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:energy_storage_module" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/fluid_manipulator.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/fluid_manipulator.json new file mode 100644 index 0000000000..cd9c3da9e2 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/fluid_manipulator.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_meteoric_iron_ingot": { + "conditions": { + "items": [ + { + "items": "galacticraft:meteoric_iron_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:fluid_manipulator" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_meteoric_iron_ingot" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:fluid_manipulator" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/fluid_pipe_walkway.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/fluid_pipe_walkway.json new file mode 100644 index 0000000000..6ee36b617d --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/fluid_pipe_walkway.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:fluid_pipe_walkway" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_walkway": { + "conditions": { + "items": [ + { + "items": "galacticraft:walkway" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_walkway" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:fluid_pipe_walkway" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/fluid_pipe_walkway_shapeless.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/fluid_pipe_walkway_shapeless.json new file mode 100644 index 0000000000..702efe0560 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/fluid_pipe_walkway_shapeless.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:fluid_pipe_walkway_shapeless" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_walkway": { + "conditions": { + "items": [ + { + "items": "galacticraft:walkway" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_walkway" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:fluid_pipe_walkway_shapeless" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/food_canner.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/food_canner.json new file mode 100644 index 0000000000..ecf8d58c85 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/food_canner.json @@ -0,0 +1,38 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_oxygen_concentrator": { + "conditions": { + "items": [ + { +<<<<<<<< HEAD:src/main/generated/data/galacticraft/advancement/recipes/misc/food_canner.json + "items": [ + "galacticraft:oxygen_concentrator" + ] +======== + "items": "galacticraft:tin_canister" +>>>>>>>> upstream/main:src/main/generated/data/galacticraft/advancement/recipes/food/canned_beef.json + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:food_canner" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_oxygen_concentrator" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:food_canner" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/frequency_module.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/frequency_module.json new file mode 100644 index 0000000000..69fbdd65a9 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/frequency_module.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_aluminum": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_aluminum" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:frequency_module" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_aluminum" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:frequency_module" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/fuel_loader.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/fuel_loader.json new file mode 100644 index 0000000000..71c66c2774 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/fuel_loader.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_fuel_bucket": { + "conditions": { + "items": [ + { + "items": "galacticraft:fuel_bucket" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:fuel_loader" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_fuel_bucket" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:fuel_loader" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/full_solar_panel.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/full_solar_panel.json new file mode 100644 index 0000000000..17296d153a --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/full_solar_panel.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_single_solar_module": { + "conditions": { + "items": [ + { + "items": "galacticraft:single_solar_module" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:full_solar_panel" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_single_solar_module" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:full_solar_panel" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/glass_fluid_pipe.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/glass_fluid_pipe.json new file mode 100644 index 0000000000..72ddaa4193 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/glass_fluid_pipe.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_glass_pane": { + "conditions": { + "items": [ + { + "items": "minecraft:glass_pane" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:glass_fluid_pipe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_glass_pane" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:glass_fluid_pipe" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/gray_parachute.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/gray_parachute.json new file mode 100644 index 0000000000..b12a04688c --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/gray_parachute.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_gray_dye": { + "conditions": { + "items": [ + { + "items": "galacticraft:white_parachute" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:gray_parachute" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_gray_dye" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:gray_parachute" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/green_parachute.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/green_parachute.json new file mode 100644 index 0000000000..34b80be474 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/green_parachute.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_green_dye": { + "conditions": { + "items": [ + { + "items": "galacticraft:white_parachute" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:green_parachute" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_green_dye" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:green_parachute" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/iron_ingot_from_blasting_iron_shard.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/iron_ingot_from_blasting_iron_shard.json new file mode 100644 index 0000000000..f1eec292f9 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/iron_ingot_from_blasting_iron_shard.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_iron_shard": { + "conditions": { + "items": [ + { + "items": "galacticraft:iron_shard" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:iron_ingot_from_blasting_iron_shard" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_iron_shard" + ] + ], + "rewards": { + "recipes": [ + "minecraft:iron_ingot_from_blasting_iron_shard" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/iron_ingot_from_smelting_iron_shard.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/iron_ingot_from_smelting_iron_shard.json new file mode 100644 index 0000000000..82944d893a --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/iron_ingot_from_smelting_iron_shard.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_iron_shard": { + "conditions": { + "items": [ + { + "items": "galacticraft:iron_shard" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:iron_ingot_from_smelting_iron_shard" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_iron_shard" + ] + ], + "rewards": { + "recipes": [ + "minecraft:iron_ingot_from_smelting_iron_shard" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/isothermal_fabric.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/isothermal_fabric.json new file mode 100644 index 0000000000..d0481a9dcb --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/isothermal_fabric.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_desh_ingot": { + "conditions": { + "items": [ + { + "items": "galacticraft:desh_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:isothermal_fabric" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_desh_ingot" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:isothermal_fabric" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/large_oxygen_tank.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/large_oxygen_tank.json new file mode 100644 index 0000000000..bbf9f48440 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/large_oxygen_tank.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:large_oxygen_tank" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_tin_canister": { + "conditions": { + "items": [ + { + "items": "galacticraft:tin_canister" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_tin_canister" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:large_oxygen_tank" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/lead_ingot_from_blasting_galena_ore.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/lead_ingot_from_blasting_galena_ore.json new file mode 100644 index 0000000000..ee3d9416c9 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/lead_ingot_from_blasting_galena_ore.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_galena_ore": { + "conditions": { + "items": [ + { + "items": "galacticraft:galena_ore" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:lead_ingot_from_blasting_galena_ore" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_galena_ore" + ] + ], + "rewards": { + "recipes": [ + "minecraft:lead_ingot_from_blasting_galena_ore" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/lead_ingot_from_blasting_raw_lead.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/lead_ingot_from_blasting_raw_lead.json new file mode 100644 index 0000000000..7c36eaa0f7 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/lead_ingot_from_blasting_raw_lead.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_raw_lead": { + "conditions": { + "items": [ + { + "items": "galacticraft:raw_lead" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:lead_ingot_from_blasting_raw_lead" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_raw_lead" + ] + ], + "rewards": { + "recipes": [ + "minecraft:lead_ingot_from_blasting_raw_lead" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/lead_ingot_from_block.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/lead_ingot_from_block.json new file mode 100644 index 0000000000..9bced11944 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/lead_ingot_from_block.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_lead_block": { + "conditions": { + "items": [ + { + "items": "galacticraft:lead_block" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:lead_ingot_from_block" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_lead_block" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:lead_ingot_from_block" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/lead_ingot_from_nuggets.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/lead_ingot_from_nuggets.json new file mode 100644 index 0000000000..3596b34b35 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/lead_ingot_from_nuggets.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_lead_nugget": { + "conditions": { + "items": [ + { + "items": "galacticraft:lead_nugget" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:lead_ingot_from_nuggets" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_lead_nugget" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:lead_ingot_from_nuggets" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/lead_ingot_from_smelting_galena_ore.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/lead_ingot_from_smelting_galena_ore.json new file mode 100644 index 0000000000..d98780531e --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/lead_ingot_from_smelting_galena_ore.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_galena_ore": { + "conditions": { + "items": [ + { + "items": "galacticraft:galena_ore" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:lead_ingot_from_smelting_galena_ore" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_galena_ore" + ] + ], + "rewards": { + "recipes": [ + "minecraft:lead_ingot_from_smelting_galena_ore" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/lead_ingot_from_smelting_raw_lead.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/lead_ingot_from_smelting_raw_lead.json new file mode 100644 index 0000000000..348724daf0 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/lead_ingot_from_smelting_raw_lead.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_raw_lead": { + "conditions": { + "items": [ + { + "items": "galacticraft:raw_lead" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:lead_ingot_from_smelting_raw_lead" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_raw_lead" + ] + ], + "rewards": { + "recipes": [ + "minecraft:lead_ingot_from_smelting_raw_lead" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/lead_nugget.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/lead_nugget.json new file mode 100644 index 0000000000..e774211ba5 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/lead_nugget.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_lead_ingot": { + "conditions": { + "items": [ + { + "items": "galacticraft:lead_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:lead_nugget" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_lead_ingot" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:lead_nugget" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/light_blue_parachute.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/light_blue_parachute.json new file mode 100644 index 0000000000..809bf1f825 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/light_blue_parachute.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_light_blue_dye": { + "conditions": { + "items": [ + { + "items": "galacticraft:white_parachute" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:light_blue_parachute" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_light_blue_dye" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:light_blue_parachute" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/light_gray_parachute.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/light_gray_parachute.json new file mode 100644 index 0000000000..d25fb65ee4 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/light_gray_parachute.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_light_gray_dye": { + "conditions": { + "items": [ + { + "items": "galacticraft:white_parachute" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:light_gray_parachute" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_light_gray_dye" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:light_gray_parachute" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/lime_parachute.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/lime_parachute.json new file mode 100644 index 0000000000..de809f49f2 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/lime_parachute.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_lime_dye": { + "conditions": { + "items": [ + { + "items": "galacticraft:white_parachute" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:lime_parachute" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_lime_dye" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:lime_parachute" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/lunar_sapphire_from_block.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/lunar_sapphire_from_block.json new file mode 100644 index 0000000000..5a16ad80da --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/lunar_sapphire_from_block.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_lunar_sapphire_block": { + "conditions": { + "items": [ + { + "items": "galacticraft:lunar_sapphire_block" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:lunar_sapphire_from_block" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_lunar_sapphire_block" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:lunar_sapphire_from_block" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/magenta_parachute.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/magenta_parachute.json new file mode 100644 index 0000000000..d729eca046 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/magenta_parachute.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_magenta_dye": { + "conditions": { + "items": [ + { + "items": "galacticraft:white_parachute" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:magenta_parachute" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_magenta_dye" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:magenta_parachute" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/medium_oxygen_tank.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/medium_oxygen_tank.json new file mode 100644 index 0000000000..7bdd488389 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/medium_oxygen_tank.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:medium_oxygen_tank" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_tin_canister": { + "conditions": { + "items": [ + { + "items": "galacticraft:tin_canister" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_tin_canister" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:medium_oxygen_tank" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/meteoric_iron_ingot_from_blasting_raw_meteoric_iron.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/meteoric_iron_ingot_from_blasting_raw_meteoric_iron.json new file mode 100644 index 0000000000..9b76b635f7 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/meteoric_iron_ingot_from_blasting_raw_meteoric_iron.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_raw_meteoric_iron": { + "conditions": { + "items": [ + { + "items": "galacticraft:raw_meteoric_iron" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:meteoric_iron_ingot_from_blasting_raw_meteoric_iron" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_raw_meteoric_iron" + ] + ], + "rewards": { + "recipes": [ + "minecraft:meteoric_iron_ingot_from_blasting_raw_meteoric_iron" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/meteoric_iron_ingot_from_block.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/meteoric_iron_ingot_from_block.json new file mode 100644 index 0000000000..11b6f17231 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/meteoric_iron_ingot_from_block.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_meteoric_iron_block": { + "conditions": { + "items": [ + { + "items": "galacticraft:meteoric_iron_block" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:meteoric_iron_ingot_from_block" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_meteoric_iron_block" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:meteoric_iron_ingot_from_block" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/meteoric_iron_ingot_from_nuggets.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/meteoric_iron_ingot_from_nuggets.json new file mode 100644 index 0000000000..ac46074fe3 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/meteoric_iron_ingot_from_nuggets.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_meteoric_iron_nugget": { + "conditions": { + "items": [ + { + "items": "galacticraft:meteoric_iron_nugget" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:meteoric_iron_ingot_from_nuggets" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_meteoric_iron_nugget" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:meteoric_iron_ingot_from_nuggets" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/meteoric_iron_ingot_from_smelting_raw_meteoric_iron.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/meteoric_iron_ingot_from_smelting_raw_meteoric_iron.json new file mode 100644 index 0000000000..ba6ae18356 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/meteoric_iron_ingot_from_smelting_raw_meteoric_iron.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_raw_meteoric_iron": { + "conditions": { + "items": [ + { + "items": "galacticraft:raw_meteoric_iron" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:meteoric_iron_ingot_from_smelting_raw_meteoric_iron" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_raw_meteoric_iron" + ] + ], + "rewards": { + "recipes": [ + "minecraft:meteoric_iron_ingot_from_smelting_raw_meteoric_iron" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/meteoric_iron_nugget.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/meteoric_iron_nugget.json new file mode 100644 index 0000000000..51b1191aa2 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/meteoric_iron_nugget.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_meteoric_iron_ingot": { + "conditions": { + "items": [ + { + "items": "galacticraft:meteoric_iron_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:meteoric_iron_nugget" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_meteoric_iron_ingot" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:meteoric_iron_nugget" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/nose_cone.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/nose_cone.json new file mode 100644 index 0000000000..1e80d2ef6c --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/nose_cone.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_heavy_plating": { + "conditions": { + "items": [ + { + "items": "galacticraft:heavy_plating" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:nose_cone" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_heavy_plating" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:nose_cone" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/olivine_block_from_shards.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/olivine_block_from_shards.json new file mode 100644 index 0000000000..351e23f164 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/olivine_block_from_shards.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_olivine_shard": { + "conditions": { + "items": [ + { + "items": "galacticraft:olivine_shard" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:olivine_block_from_shards" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_olivine_shard" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:olivine_block_from_shards" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/orange_parachute.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/orange_parachute.json new file mode 100644 index 0000000000..894e2eb22b --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/orange_parachute.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_orange_dye": { + "conditions": { + "items": [ + { + "items": "galacticraft:white_parachute" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:orange_parachute" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_orange_dye" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:orange_parachute" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/orion_drive.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/orion_drive.json new file mode 100644 index 0000000000..cbeebbf6c7 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/orion_drive.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ilmenite_ore": { + "conditions": { + "items": [ + { + "items": "galacticraft:ilmenite_ore" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:orion_drive" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ilmenite_ore" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:orion_drive" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/oxygen_bubble_distributor.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/oxygen_bubble_distributor.json new file mode 100644 index 0000000000..47500505f8 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/oxygen_bubble_distributor.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_steel": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_steel" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:oxygen_bubble_distributor" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_steel" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:oxygen_bubble_distributor" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/oxygen_collector.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/oxygen_collector.json new file mode 100644 index 0000000000..de1577c0d0 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/oxygen_collector.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_oxygen_concentrator": { + "conditions": { + "items": [ + { + "items": "galacticraft:oxygen_concentrator" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:oxygen_collector" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_oxygen_concentrator" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:oxygen_collector" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/oxygen_compressor.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/oxygen_compressor.json new file mode 100644 index 0000000000..2a035804f5 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/oxygen_compressor.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_oxygen_concentrator": { + "conditions": { + "items": [ + { + "items": "galacticraft:oxygen_concentrator" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:oxygen_compressor" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_oxygen_concentrator" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:oxygen_compressor" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/oxygen_concentrator.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/oxygen_concentrator.json new file mode 100644 index 0000000000..d6f71120c9 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/oxygen_concentrator.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_oxygen_vent": { + "conditions": { + "items": [ + { + "items": "galacticraft:oxygen_vent" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:oxygen_concentrator" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_oxygen_vent" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:oxygen_concentrator" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/oxygen_decompressor.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/oxygen_decompressor.json new file mode 100644 index 0000000000..78be25a662 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/oxygen_decompressor.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_oxygen_concentrator": { + "conditions": { + "items": [ + { + "items": "galacticraft:oxygen_concentrator" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:oxygen_decompressor" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_oxygen_concentrator" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:oxygen_decompressor" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/oxygen_fan.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/oxygen_fan.json new file mode 100644 index 0000000000..30ae2fdaf4 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/oxygen_fan.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_basic_wafer": { + "conditions": { + "items": [ + { + "items": "galacticraft:basic_wafer" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:oxygen_fan" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_basic_wafer" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:oxygen_fan" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/oxygen_gear.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/oxygen_gear.json new file mode 100644 index 0000000000..e17d8ff088 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/oxygen_gear.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_glass_fluid_pipe": { + "conditions": { + "items": [ + { + "items": "galacticraft:glass_fluid_pipe" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:oxygen_gear" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_glass_fluid_pipe" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:oxygen_gear" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/oxygen_mask.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/oxygen_mask.json new file mode 100644 index 0000000000..49d3afccf7 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/oxygen_mask.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_glass_pane": { + "conditions": { + "items": [ + { + "items": "minecraft:glass_pane" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:oxygen_mask" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_glass_pane" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:oxygen_mask" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/oxygen_sealer.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/oxygen_sealer.json new file mode 100644 index 0000000000..ca7b4c6501 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/oxygen_sealer.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_oxygen_fan": { + "conditions": { + "items": [ + { + "items": "galacticraft:oxygen_fan" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:oxygen_sealer" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_oxygen_fan" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:oxygen_sealer" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/oxygen_storage_module.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/oxygen_storage_module.json new file mode 100644 index 0000000000..71d669fe76 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/oxygen_storage_module.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_large_oxygen_tank": { + "conditions": { + "items": [ + { + "items": "galacticraft:large_oxygen_tank" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:oxygen_storage_module" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_large_oxygen_tank" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:oxygen_storage_module" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/oxygen_vent.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/oxygen_vent.json new file mode 100644 index 0000000000..be08e91944 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/oxygen_vent.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_tin": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_tin" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:oxygen_vent" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_tin" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:oxygen_vent" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/pink_parachute.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/pink_parachute.json new file mode 100644 index 0000000000..0e5cb63101 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/pink_parachute.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_pink_dye": { + "conditions": { + "items": [ + { + "items": "galacticraft:white_parachute" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:pink_parachute" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_pink_dye" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:pink_parachute" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/purple_parachute.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/purple_parachute.json new file mode 100644 index 0000000000..0f6a93290b --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/purple_parachute.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_purple_dye": { + "conditions": { + "items": [ + { + "items": "galacticraft:white_parachute" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:purple_parachute" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_purple_dye" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:purple_parachute" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/red_parachute.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/red_parachute.json new file mode 100644 index 0000000000..c718e12a4b --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/red_parachute.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_red_dye": { + "conditions": { + "items": [ + { + "items": "galacticraft:white_parachute" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:red_parachute" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_red_dye" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:red_parachute" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/refinery.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/refinery.json new file mode 100644 index 0000000000..0294e39c42 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/refinery.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_crude_oil_bucket": { + "conditions": { + "items": [ + { + "items": "galacticraft:crude_oil_bucket" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:refinery" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_crude_oil_bucket" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:refinery" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/rocket_engine.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/rocket_engine.json new file mode 100644 index 0000000000..89a3a6189f --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/rocket_engine.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_heavy_plating": { + "conditions": { + "items": [ + { + "items": "galacticraft:heavy_plating" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:rocket_engine" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_heavy_plating" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:rocket_engine" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/rocket_fin.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/rocket_fin.json new file mode 100644 index 0000000000..9412a1bf27 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/rocket_fin.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_heavy_plating": { + "conditions": { + "items": [ + { + "items": "galacticraft:heavy_plating" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:rocket_fin" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_heavy_plating" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:rocket_fin" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/rocket_workbench.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/rocket_workbench.json new file mode 100644 index 0000000000..f7011cbe32 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/rocket_workbench.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_advanced_wafer": { + "conditions": { + "items": [ + { + "items": "galacticraft:advanced_wafer" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:rocket_workbench" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_advanced_wafer" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:rocket_workbench" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/sealable_aluminum_wire.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/sealable_aluminum_wire.json new file mode 100644 index 0000000000..a4892b4785 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/sealable_aluminum_wire.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_aluminum_wire": { + "conditions": { + "items": [ + { + "items": "galacticraft:aluminum_wire" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:sealable_aluminum_wire" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_aluminum_wire" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:sealable_aluminum_wire" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/sensor_glasses.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/sensor_glasses.json new file mode 100644 index 0000000000..74a910714a --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/sensor_glasses.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_sensor_lens": { + "conditions": { + "items": [ + { + "items": "galacticraft:sensor_lens" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:sensor_glasses" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_sensor_lens" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:sensor_glasses" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/sensor_lens.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/sensor_lens.json new file mode 100644 index 0000000000..1e5b041393 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/sensor_lens.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_meteoric_iron": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_meteoric_iron" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:sensor_lens" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_meteoric_iron" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:sensor_lens" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/single_solar_module.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/single_solar_module.json new file mode 100644 index 0000000000..5b5830cad9 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/single_solar_module.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_solar_array_wafer": { + "conditions": { + "items": [ + { + "items": "galacticraft:solar_array_wafer" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:single_solar_module" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_solar_array_wafer" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:single_solar_module" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/small_oxygen_tank.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/small_oxygen_tank.json new file mode 100644 index 0000000000..5e4a73e8f1 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/small_oxygen_tank.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:small_oxygen_tank" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_tin_canister": { + "conditions": { + "items": [ + { + "items": "galacticraft:tin_canister" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_tin_canister" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:small_oxygen_tank" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/standard_wrench.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/standard_wrench.json new file mode 100644 index 0000000000..090981fa5a --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/standard_wrench.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_steel": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_steel" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:standard_wrench" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_steel" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:standard_wrench" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/steel_pole.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/steel_pole.json new file mode 100644 index 0000000000..3d82694e7b --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/steel_pole.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_steel": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_steel" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:steel_pole" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_steel" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:steel_pole" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/thermal_cloth.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/thermal_cloth.json new file mode 100644 index 0000000000..18da7fee1d --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/thermal_cloth.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:thermal_cloth" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_wool": { + "conditions": { + "items": [ + { + "items": "#minecraft:wool" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_wool" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:thermal_cloth" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/thermal_padding_boots.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/thermal_padding_boots.json new file mode 100644 index 0000000000..47ad3f25a1 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/thermal_padding_boots.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:thermal_padding_boots" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_thermal_cloth": { + "conditions": { + "items": [ + { + "items": "galacticraft:thermal_cloth" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_thermal_cloth" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:thermal_padding_boots" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/thermal_padding_chestpiece.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/thermal_padding_chestpiece.json new file mode 100644 index 0000000000..2f7b2bda81 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/thermal_padding_chestpiece.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:thermal_padding_chestpiece" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_thermal_cloth": { + "conditions": { + "items": [ + { + "items": "galacticraft:thermal_cloth" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_thermal_cloth" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:thermal_padding_chestpiece" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/thermal_padding_helmet.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/thermal_padding_helmet.json new file mode 100644 index 0000000000..b9cf018948 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/thermal_padding_helmet.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:thermal_padding_helmet" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_thermal_cloth": { + "conditions": { + "items": [ + { + "items": "galacticraft:thermal_cloth" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_thermal_cloth" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:thermal_padding_helmet" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/thermal_padding_leggings.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/thermal_padding_leggings.json new file mode 100644 index 0000000000..057f34822d --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/thermal_padding_leggings.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:thermal_padding_leggings" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_thermal_cloth": { + "conditions": { + "items": [ + { + "items": "galacticraft:thermal_cloth" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_thermal_cloth" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:thermal_padding_leggings" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/tin_canister.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/tin_canister.json new file mode 100644 index 0000000000..978d878324 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/tin_canister.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:tin_canister" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_tin_ingot": { + "conditions": { + "items": [ + { + "items": "galacticraft:tin_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_tin_ingot" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:tin_canister" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/tin_ingot_from_blasting_deepslate_tin_ore.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/tin_ingot_from_blasting_deepslate_tin_ore.json new file mode 100644 index 0000000000..9024aaf15a --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/tin_ingot_from_blasting_deepslate_tin_ore.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_deepslate_tin_ore": { + "conditions": { + "items": [ + { + "items": "galacticraft:deepslate_tin_ore" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:tin_ingot_from_blasting_deepslate_tin_ore" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_deepslate_tin_ore" + ] + ], + "rewards": { + "recipes": [ + "minecraft:tin_ingot_from_blasting_deepslate_tin_ore" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/tin_ingot_from_blasting_moon_tin_ore.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/tin_ingot_from_blasting_moon_tin_ore.json new file mode 100644 index 0000000000..c5fefe1d1a --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/tin_ingot_from_blasting_moon_tin_ore.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_moon_tin_ore": { + "conditions": { + "items": [ + { + "items": "galacticraft:moon_tin_ore" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:tin_ingot_from_blasting_moon_tin_ore" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_moon_tin_ore" + ] + ], + "rewards": { + "recipes": [ + "minecraft:tin_ingot_from_blasting_moon_tin_ore" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/tin_ingot_from_blasting_raw_tin.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/tin_ingot_from_blasting_raw_tin.json new file mode 100644 index 0000000000..891a36c23e --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/tin_ingot_from_blasting_raw_tin.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_raw_tin": { + "conditions": { + "items": [ + { + "items": "galacticraft:raw_tin" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:tin_ingot_from_blasting_raw_tin" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_raw_tin" + ] + ], + "rewards": { + "recipes": [ + "minecraft:tin_ingot_from_blasting_raw_tin" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/tin_ingot_from_blasting_tin_ore.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/tin_ingot_from_blasting_tin_ore.json new file mode 100644 index 0000000000..914c125c09 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/tin_ingot_from_blasting_tin_ore.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:tin_ingot_from_blasting_tin_ore" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_tin_ore": { + "conditions": { + "items": [ + { + "items": "galacticraft:tin_ore" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_tin_ore" + ] + ], + "rewards": { + "recipes": [ + "minecraft:tin_ingot_from_blasting_tin_ore" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/tin_ingot_from_nuggets.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/tin_ingot_from_nuggets.json new file mode 100644 index 0000000000..1ebafe3a20 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/tin_ingot_from_nuggets.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:tin_ingot_from_nuggets" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_tin_nugget": { + "conditions": { + "items": [ + { + "items": "galacticraft:tin_nugget" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_tin_nugget" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:tin_ingot_from_nuggets" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/tin_ingot_from_smelting_deepslate_tin_ore.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/tin_ingot_from_smelting_deepslate_tin_ore.json new file mode 100644 index 0000000000..c392e48d65 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/tin_ingot_from_smelting_deepslate_tin_ore.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_deepslate_tin_ore": { + "conditions": { + "items": [ + { + "items": "galacticraft:deepslate_tin_ore" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:tin_ingot_from_smelting_deepslate_tin_ore" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_deepslate_tin_ore" + ] + ], + "rewards": { + "recipes": [ + "minecraft:tin_ingot_from_smelting_deepslate_tin_ore" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/tin_ingot_from_smelting_moon_tin_ore.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/tin_ingot_from_smelting_moon_tin_ore.json new file mode 100644 index 0000000000..c1a09a2ad6 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/tin_ingot_from_smelting_moon_tin_ore.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_moon_tin_ore": { + "conditions": { + "items": [ + { + "items": "galacticraft:moon_tin_ore" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:tin_ingot_from_smelting_moon_tin_ore" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_moon_tin_ore" + ] + ], + "rewards": { + "recipes": [ + "minecraft:tin_ingot_from_smelting_moon_tin_ore" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/tin_ingot_from_smelting_raw_tin.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/tin_ingot_from_smelting_raw_tin.json new file mode 100644 index 0000000000..b900869af2 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/tin_ingot_from_smelting_raw_tin.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_raw_tin": { + "conditions": { + "items": [ + { + "items": "galacticraft:raw_tin" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:tin_ingot_from_smelting_raw_tin" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_raw_tin" + ] + ], + "rewards": { + "recipes": [ + "minecraft:tin_ingot_from_smelting_raw_tin" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/tin_ingot_from_smelting_tin_ore.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/tin_ingot_from_smelting_tin_ore.json new file mode 100644 index 0000000000..78e36dc930 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/tin_ingot_from_smelting_tin_ore.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:tin_ingot_from_smelting_tin_ore" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_tin_ore": { + "conditions": { + "items": [ + { + "items": "galacticraft:tin_ore" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_tin_ore" + ] + ], + "rewards": { + "recipes": [ + "minecraft:tin_ingot_from_smelting_tin_ore" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/tin_nugget.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/tin_nugget.json new file mode 100644 index 0000000000..93a91128a4 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/tin_nugget.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:tin_nugget" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_tin_ingot": { + "conditions": { + "items": [ + { + "items": "galacticraft:tin_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_tin_ingot" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:tin_nugget" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/titanium_ingot_from_blasting_ilmenite_ore.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/titanium_ingot_from_blasting_ilmenite_ore.json new file mode 100644 index 0000000000..64b963e8cf --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/titanium_ingot_from_blasting_ilmenite_ore.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ilmenite_ore": { + "conditions": { + "items": [ + { + "items": "galacticraft:ilmenite_ore" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:titanium_ingot_from_blasting_ilmenite_ore" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ilmenite_ore" + ] + ], + "rewards": { + "recipes": [ + "minecraft:titanium_ingot_from_blasting_ilmenite_ore" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/titanium_ingot_from_blasting_raw_titanium.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/titanium_ingot_from_blasting_raw_titanium.json new file mode 100644 index 0000000000..e416b841d4 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/titanium_ingot_from_blasting_raw_titanium.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_raw_titanium": { + "conditions": { + "items": [ + { + "items": "galacticraft:raw_titanium" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:titanium_ingot_from_blasting_raw_titanium" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_raw_titanium" + ] + ], + "rewards": { + "recipes": [ + "minecraft:titanium_ingot_from_blasting_raw_titanium" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/titanium_ingot_from_block.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/titanium_ingot_from_block.json new file mode 100644 index 0000000000..68e6b1e5b8 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/titanium_ingot_from_block.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:titanium_ingot_from_block" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_titanium_block": { + "conditions": { + "items": [ + { + "items": "galacticraft:titanium_block" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_titanium_block" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:titanium_ingot_from_block" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/titanium_ingot_from_nuggets.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/titanium_ingot_from_nuggets.json new file mode 100644 index 0000000000..a8d5e1811d --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/titanium_ingot_from_nuggets.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:titanium_ingot_from_nuggets" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_titanium_nugget": { + "conditions": { + "items": [ + { + "items": "galacticraft:titanium_nugget" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_titanium_nugget" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:titanium_ingot_from_nuggets" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/titanium_ingot_from_smelting_ilmenite_ore.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/titanium_ingot_from_smelting_ilmenite_ore.json new file mode 100644 index 0000000000..5ffddf7836 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/titanium_ingot_from_smelting_ilmenite_ore.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ilmenite_ore": { + "conditions": { + "items": [ + { + "items": "galacticraft:ilmenite_ore" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:titanium_ingot_from_smelting_ilmenite_ore" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ilmenite_ore" + ] + ], + "rewards": { + "recipes": [ + "minecraft:titanium_ingot_from_smelting_ilmenite_ore" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/titanium_ingot_from_smelting_raw_titanium.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/titanium_ingot_from_smelting_raw_titanium.json new file mode 100644 index 0000000000..0b49ba3a92 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/titanium_ingot_from_smelting_raw_titanium.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_raw_titanium": { + "conditions": { + "items": [ + { + "items": "galacticraft:raw_titanium" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:titanium_ingot_from_smelting_raw_titanium" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_raw_titanium" + ] + ], + "rewards": { + "recipes": [ + "minecraft:titanium_ingot_from_smelting_raw_titanium" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/titanium_nugget.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/titanium_nugget.json new file mode 100644 index 0000000000..4141df3414 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/titanium_nugget.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:titanium_nugget" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_titanium_ingot": { + "conditions": { + "items": [ + { + "items": "galacticraft:titanium_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_titanium_ingot" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:titanium_nugget" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/walkway.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/walkway.json new file mode 100644 index 0000000000..48111576c2 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/walkway.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_titanium": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_titanium" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:walkway" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_titanium" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:walkway" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/white_parachute.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/white_parachute.json new file mode 100644 index 0000000000..825377fd1a --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/white_parachute.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_canvas": { + "conditions": { + "items": [ + { + "items": "galacticraft:canvas" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:white_parachute" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_canvas" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:white_parachute" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/wire_walkway.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/wire_walkway.json new file mode 100644 index 0000000000..52f8a8bfeb --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/wire_walkway.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:wire_walkway" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_walkway": { + "conditions": { + "items": [ + { + "items": "galacticraft:walkway" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_walkway" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:wire_walkway" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/wire_walkway_shapeless.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/wire_walkway_shapeless.json new file mode 100644 index 0000000000..aae6dc460d --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/wire_walkway_shapeless.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:wire_walkway_shapeless" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_walkway": { + "conditions": { + "items": [ + { + "items": "galacticraft:walkway" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_walkway" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:wire_walkway_shapeless" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/misc/yellow_parachute.json b/src/main/generated/data/galacticraft/advancement/recipes/misc/yellow_parachute.json new file mode 100644 index 0000000000..08062f8dd0 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/misc/yellow_parachute.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:yellow_parachute" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_yellow_dye": { + "conditions": { + "items": [ + { + "items": "galacticraft:white_parachute" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_yellow_dye" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:yellow_parachute" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/solar_array_wafer.json b/src/main/generated/data/galacticraft/advancement/recipes/solar_array_wafer.json similarity index 100% rename from src/main/generated/data/galacticraft/advancements/recipes/solar_array_wafer.json rename to src/main/generated/data/galacticraft/advancement/recipes/solar_array_wafer.json diff --git a/src/main/generated/data/galacticraft/advancement/recipes/tools/desh_axe.json b/src/main/generated/data/galacticraft/advancement/recipes/tools/desh_axe.json new file mode 100644 index 0000000000..11ec2b8423 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/tools/desh_axe.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_desh_ingot": { + "conditions": { + "items": [ + { + "items": "galacticraft:desh_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:desh_axe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_desh_ingot" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:desh_axe" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/tools/desh_axe_flipped.json b/src/main/generated/data/galacticraft/advancement/recipes/tools/desh_axe_flipped.json new file mode 100644 index 0000000000..d83aba7a06 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/tools/desh_axe_flipped.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_desh_ingot": { + "conditions": { + "items": [ + { + "items": "galacticraft:desh_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:desh_axe_flipped" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_desh_ingot" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:desh_axe_flipped" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/tools/desh_hoe.json b/src/main/generated/data/galacticraft/advancement/recipes/tools/desh_hoe.json new file mode 100644 index 0000000000..7d83543932 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/tools/desh_hoe.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_desh_ingot": { + "conditions": { + "items": [ + { + "items": "galacticraft:desh_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:desh_hoe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_desh_ingot" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:desh_hoe" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/tools/desh_hoe_flipped.json b/src/main/generated/data/galacticraft/advancement/recipes/tools/desh_hoe_flipped.json new file mode 100644 index 0000000000..31f7091cdb --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/tools/desh_hoe_flipped.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_desh_ingot": { + "conditions": { + "items": [ + { + "items": "galacticraft:desh_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:desh_hoe_flipped" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_desh_ingot" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:desh_hoe_flipped" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/tools/desh_pickaxe.json b/src/main/generated/data/galacticraft/advancement/recipes/tools/desh_pickaxe.json new file mode 100644 index 0000000000..7576228489 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/tools/desh_pickaxe.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_desh_ingot": { + "conditions": { + "items": [ + { + "items": "galacticraft:desh_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:desh_pickaxe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_desh_ingot" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:desh_pickaxe" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/tools/desh_shovel.json b/src/main/generated/data/galacticraft/advancement/recipes/tools/desh_shovel.json new file mode 100644 index 0000000000..1b8429bed4 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/tools/desh_shovel.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_desh_ingot": { + "conditions": { + "items": [ + { + "items": "galacticraft:desh_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:desh_shovel" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_desh_ingot" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:desh_shovel" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/tools/heavy_duty_axe.json b/src/main/generated/data/galacticraft/advancement/recipes/tools/heavy_duty_axe.json new file mode 100644 index 0000000000..b70e4d6721 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/tools/heavy_duty_axe.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_steel": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_steel" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:heavy_duty_axe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_steel" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:heavy_duty_axe" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/tools/heavy_duty_axe_flipped.json b/src/main/generated/data/galacticraft/advancement/recipes/tools/heavy_duty_axe_flipped.json new file mode 100644 index 0000000000..2a4419dd84 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/tools/heavy_duty_axe_flipped.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_steel": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_steel" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:heavy_duty_axe_flipped" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_steel" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:heavy_duty_axe_flipped" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/tools/heavy_duty_hoe.json b/src/main/generated/data/galacticraft/advancement/recipes/tools/heavy_duty_hoe.json new file mode 100644 index 0000000000..fa7109dddb --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/tools/heavy_duty_hoe.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_steel": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_steel" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:heavy_duty_hoe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_steel" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:heavy_duty_hoe" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/tools/heavy_duty_hoe_flipped.json b/src/main/generated/data/galacticraft/advancement/recipes/tools/heavy_duty_hoe_flipped.json new file mode 100644 index 0000000000..93a072c7cf --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/tools/heavy_duty_hoe_flipped.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_steel": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_steel" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:heavy_duty_hoe_flipped" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_steel" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:heavy_duty_hoe_flipped" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/tools/heavy_duty_pickaxe.json b/src/main/generated/data/galacticraft/advancement/recipes/tools/heavy_duty_pickaxe.json new file mode 100644 index 0000000000..08fdb95777 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/tools/heavy_duty_pickaxe.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_steel": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_steel" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:heavy_duty_pickaxe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_steel" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:heavy_duty_pickaxe" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/tools/heavy_duty_shovel.json b/src/main/generated/data/galacticraft/advancement/recipes/tools/heavy_duty_shovel.json new file mode 100644 index 0000000000..5704159302 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/tools/heavy_duty_shovel.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_steel": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_steel" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:heavy_duty_shovel" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_steel" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:heavy_duty_shovel" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/tools/titanium_axe_smithing.json b/src/main/generated/data/galacticraft/advancement/recipes/tools/titanium_axe_smithing.json new file mode 100644 index 0000000000..d72925d29d --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/tools/titanium_axe_smithing.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_titanium": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_titanium" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:titanium_axe_smithing" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_titanium" + ] + ], + "rewards": { + "recipes": [ + "minecraft:titanium_axe_smithing" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/tools/titanium_hoe_smithing.json b/src/main/generated/data/galacticraft/advancement/recipes/tools/titanium_hoe_smithing.json new file mode 100644 index 0000000000..7cb2f3e230 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/tools/titanium_hoe_smithing.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_titanium": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_titanium" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:titanium_hoe_smithing" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_titanium" + ] + ], + "rewards": { + "recipes": [ + "minecraft:titanium_hoe_smithing" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/tools/titanium_pickaxe_smithing.json b/src/main/generated/data/galacticraft/advancement/recipes/tools/titanium_pickaxe_smithing.json new file mode 100644 index 0000000000..ffe5c948e9 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/tools/titanium_pickaxe_smithing.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_titanium": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_titanium" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:titanium_pickaxe_smithing" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_titanium" + ] + ], + "rewards": { + "recipes": [ + "minecraft:titanium_pickaxe_smithing" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/tools/titanium_shovel_smithing.json b/src/main/generated/data/galacticraft/advancement/recipes/tools/titanium_shovel_smithing.json new file mode 100644 index 0000000000..d5d08cfb7f --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/tools/titanium_shovel_smithing.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_titanium": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_titanium" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "minecraft:titanium_shovel_smithing" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_titanium" + ] + ], + "rewards": { + "recipes": [ + "minecraft:titanium_shovel_smithing" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/transportation/fueling_pad.json b/src/main/generated/data/galacticraft/advancement/recipes/transportation/fueling_pad.json new file mode 100644 index 0000000000..7ce57161d0 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/transportation/fueling_pad.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_compressed_steel": { + "conditions": { + "items": [ + { + "items": "galacticraft:compressed_steel" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:fueling_pad" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_compressed_steel" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:fueling_pad" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancement/recipes/transportation/rocket_launch_pad.json b/src/main/generated/data/galacticraft/advancement/recipes/transportation/rocket_launch_pad.json new file mode 100644 index 0000000000..69b116ef42 --- /dev/null +++ b/src/main/generated/data/galacticraft/advancement/recipes/transportation/rocket_launch_pad.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_iron_block": { + "conditions": { + "items": [ + { + "items": "minecraft:iron_block" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "galacticraft:rocket_launch_pad" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_iron_block" + ] + ], + "rewards": { + "recipes": [ + "galacticraft:rocket_launch_pad" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/aluminum_decoration.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/aluminum_decoration.json deleted file mode 100644 index 326dbccfac..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/aluminum_decoration.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_aluminum": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_aluminum" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:aluminum_decoration" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_aluminum" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:aluminum_decoration" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/aluminum_decoration_slab.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/aluminum_decoration_slab.json deleted file mode 100644 index 5da42f29ac..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/aluminum_decoration_slab.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_aluminum_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:aluminum_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:aluminum_decoration_slab" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_aluminum_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:aluminum_decoration_slab" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/aluminum_decoration_stairs.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/aluminum_decoration_stairs.json deleted file mode 100644 index 5af224e4e8..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/aluminum_decoration_stairs.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_aluminum_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:aluminum_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:aluminum_decoration_stairs" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_aluminum_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:aluminum_decoration_stairs" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/aluminum_decoration_wall.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/aluminum_decoration_wall.json deleted file mode 100644 index 141cc9b010..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/aluminum_decoration_wall.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_aluminum_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:aluminum_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:aluminum_decoration_wall" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_aluminum_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:aluminum_decoration_wall" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/bronze_decoration.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/bronze_decoration.json deleted file mode 100644 index 292a11a2b1..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/bronze_decoration.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_bronze": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_bronze" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:bronze_decoration" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_bronze" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:bronze_decoration" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/bronze_decoration_slab.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/bronze_decoration_slab.json deleted file mode 100644 index e4c1e75d35..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/bronze_decoration_slab.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_bronze_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:bronze_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:bronze_decoration_slab" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_bronze_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:bronze_decoration_slab" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/bronze_decoration_stairs.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/bronze_decoration_stairs.json deleted file mode 100644 index ea8273c1e5..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/bronze_decoration_stairs.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_bronze_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:bronze_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:bronze_decoration_stairs" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_bronze_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:bronze_decoration_stairs" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/bronze_decoration_wall.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/bronze_decoration_wall.json deleted file mode 100644 index 609ef2d30d..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/bronze_decoration_wall.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_bronze_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:bronze_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:bronze_decoration_wall" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_bronze_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:bronze_decoration_wall" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/cobbled_lunaslate_slab.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/cobbled_lunaslate_slab.json deleted file mode 100644 index 68ca547f16..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/cobbled_lunaslate_slab.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_cobbled_lunaslate": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:cobbled_lunaslate" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:cobbled_lunaslate_slab" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_cobbled_lunaslate" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:cobbled_lunaslate_slab" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/cobbled_lunaslate_stairs.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/cobbled_lunaslate_stairs.json deleted file mode 100644 index 06b03c4009..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/cobbled_lunaslate_stairs.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_cobbled_lunaslate": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:cobbled_lunaslate" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:cobbled_lunaslate_stairs" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_cobbled_lunaslate" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:cobbled_lunaslate_stairs" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/cobbled_lunaslate_wall.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/cobbled_lunaslate_wall.json deleted file mode 100644 index 3eb74e5a45..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/cobbled_lunaslate_wall.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_cobbled_lunaslate": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:cobbled_lunaslate" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:cobbled_lunaslate_wall" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_cobbled_lunaslate" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:cobbled_lunaslate_wall" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/copper_decoration.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/copper_decoration.json deleted file mode 100644 index 302784f1d4..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/copper_decoration.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_copper": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_copper" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:copper_decoration" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_copper" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:copper_decoration" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/copper_decoration_slab.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/copper_decoration_slab.json deleted file mode 100644 index 443bd0ec26..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/copper_decoration_slab.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_copper_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:copper_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:copper_decoration_slab" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_copper_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:copper_decoration_slab" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/copper_decoration_stairs.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/copper_decoration_stairs.json deleted file mode 100644 index 30a3ad402a..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/copper_decoration_stairs.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_copper_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:copper_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:copper_decoration_stairs" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_copper_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:copper_decoration_stairs" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/copper_decoration_wall.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/copper_decoration_wall.json deleted file mode 100644 index f3a509ffc9..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/copper_decoration_wall.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_copper_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:copper_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:copper_decoration_wall" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_copper_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:copper_decoration_wall" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/cracked_moon_basalt_brick_slab.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/cracked_moon_basalt_brick_slab.json deleted file mode 100644 index ae060e541c..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/cracked_moon_basalt_brick_slab.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_cracked_moon_basalt_brick": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:cracked_moon_basalt_brick" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:cracked_moon_basalt_brick_slab" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_cracked_moon_basalt_brick" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:cracked_moon_basalt_brick_slab" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/cracked_moon_basalt_brick_stairs.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/cracked_moon_basalt_brick_stairs.json deleted file mode 100644 index 71965a29b7..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/cracked_moon_basalt_brick_stairs.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_cracked_moon_basalt_brick": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:cracked_moon_basalt_brick" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:cracked_moon_basalt_brick_stairs" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_cracked_moon_basalt_brick" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:cracked_moon_basalt_brick_stairs" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/cracked_moon_basalt_brick_wall.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/cracked_moon_basalt_brick_wall.json deleted file mode 100644 index 5aca373761..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/cracked_moon_basalt_brick_wall.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_cracked_moon_basalt_brick": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:cracked_moon_basalt_brick" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:cracked_moon_basalt_brick_wall" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_cracked_moon_basalt_brick" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:cracked_moon_basalt_brick_wall" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/dark_decoration_slab.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/dark_decoration_slab.json deleted file mode 100644 index 35e65054ae..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/dark_decoration_slab.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_dark_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:dark_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:dark_decoration_slab" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_dark_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:dark_decoration_slab" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/dark_decoration_stairs.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/dark_decoration_stairs.json deleted file mode 100644 index d43a3d2311..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/dark_decoration_stairs.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_dark_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:dark_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:dark_decoration_stairs" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_dark_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:dark_decoration_stairs" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/dark_decoration_wall.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/dark_decoration_wall.json deleted file mode 100644 index de6de01ab3..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/dark_decoration_wall.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_dark_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:dark_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:dark_decoration_wall" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_dark_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:dark_decoration_wall" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/desh_block.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/desh_block.json deleted file mode 100644 index 3e6d8140ca..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/desh_block.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_desh_ingot": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:desh_ingot" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:desh_block" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_desh_ingot" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:desh_block" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_aluminum_decoration.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_aluminum_decoration.json deleted file mode 100644 index 0dbe3994b0..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_aluminum_decoration.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_aluminum": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_aluminum" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:detailed_aluminum_decoration" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_aluminum" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:detailed_aluminum_decoration" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_aluminum_decoration_slab.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_aluminum_decoration_slab.json deleted file mode 100644 index 38004141e6..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_aluminum_decoration_slab.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_detailed_aluminum_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:detailed_aluminum_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:detailed_aluminum_decoration_slab" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_detailed_aluminum_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:detailed_aluminum_decoration_slab" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_aluminum_decoration_stairs.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_aluminum_decoration_stairs.json deleted file mode 100644 index d25c806852..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_aluminum_decoration_stairs.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_detailed_aluminum_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:detailed_aluminum_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:detailed_aluminum_decoration_stairs" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_detailed_aluminum_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:detailed_aluminum_decoration_stairs" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_aluminum_decoration_wall.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_aluminum_decoration_wall.json deleted file mode 100644 index 18c0c0a0f9..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_aluminum_decoration_wall.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_detailed_aluminum_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:detailed_aluminum_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:detailed_aluminum_decoration_wall" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_detailed_aluminum_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:detailed_aluminum_decoration_wall" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_bronze_decoration.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_bronze_decoration.json deleted file mode 100644 index 7dbab4b190..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_bronze_decoration.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_bronze": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_bronze" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:detailed_bronze_decoration" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_bronze" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:detailed_bronze_decoration" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_bronze_decoration_slab.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_bronze_decoration_slab.json deleted file mode 100644 index f7ba53a379..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_bronze_decoration_slab.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_detailed_bronze_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:detailed_bronze_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:detailed_bronze_decoration_slab" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_detailed_bronze_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:detailed_bronze_decoration_slab" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_bronze_decoration_stairs.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_bronze_decoration_stairs.json deleted file mode 100644 index 2410c160d6..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_bronze_decoration_stairs.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_detailed_bronze_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:detailed_bronze_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:detailed_bronze_decoration_stairs" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_detailed_bronze_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:detailed_bronze_decoration_stairs" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_bronze_decoration_wall.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_bronze_decoration_wall.json deleted file mode 100644 index 1c96b9b6da..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_bronze_decoration_wall.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_detailed_bronze_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:detailed_bronze_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:detailed_bronze_decoration_wall" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_detailed_bronze_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:detailed_bronze_decoration_wall" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_copper_decoration.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_copper_decoration.json deleted file mode 100644 index 02fbade9cf..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_copper_decoration.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_copper": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_copper" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:detailed_copper_decoration" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_copper" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:detailed_copper_decoration" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_copper_decoration_slab.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_copper_decoration_slab.json deleted file mode 100644 index 73e5168628..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_copper_decoration_slab.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_detailed_copper_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:detailed_copper_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:detailed_copper_decoration_slab" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_detailed_copper_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:detailed_copper_decoration_slab" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_copper_decoration_stairs.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_copper_decoration_stairs.json deleted file mode 100644 index 5612b948fa..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_copper_decoration_stairs.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_detailed_copper_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:detailed_copper_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:detailed_copper_decoration_stairs" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_detailed_copper_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:detailed_copper_decoration_stairs" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_copper_decoration_wall.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_copper_decoration_wall.json deleted file mode 100644 index 149cbfa3ef..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_copper_decoration_wall.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_detailed_copper_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:detailed_copper_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:detailed_copper_decoration_wall" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_detailed_copper_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:detailed_copper_decoration_wall" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_dark_decoration_slab.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_dark_decoration_slab.json deleted file mode 100644 index b98fc71847..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_dark_decoration_slab.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_detailed_dark_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:detailed_dark_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:detailed_dark_decoration_slab" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_detailed_dark_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:detailed_dark_decoration_slab" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_dark_decoration_stairs.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_dark_decoration_stairs.json deleted file mode 100644 index 8d1d276cbd..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_dark_decoration_stairs.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_detailed_dark_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:detailed_dark_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:detailed_dark_decoration_stairs" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_detailed_dark_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:detailed_dark_decoration_stairs" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_dark_decoration_wall.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_dark_decoration_wall.json deleted file mode 100644 index 48529fbfd9..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_dark_decoration_wall.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_detailed_dark_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:detailed_dark_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:detailed_dark_decoration_wall" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_detailed_dark_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:detailed_dark_decoration_wall" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_iron_decoration.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_iron_decoration.json deleted file mode 100644 index cf25230236..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_iron_decoration.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_iron": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_iron" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:detailed_iron_decoration" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_iron" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:detailed_iron_decoration" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_iron_decoration_slab.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_iron_decoration_slab.json deleted file mode 100644 index ac83c4f1a2..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_iron_decoration_slab.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_detailed_iron_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:detailed_iron_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:detailed_iron_decoration_slab" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_detailed_iron_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:detailed_iron_decoration_slab" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_iron_decoration_stairs.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_iron_decoration_stairs.json deleted file mode 100644 index 8e839acc4b..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_iron_decoration_stairs.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_detailed_iron_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:detailed_iron_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:detailed_iron_decoration_stairs" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_detailed_iron_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:detailed_iron_decoration_stairs" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_iron_decoration_wall.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_iron_decoration_wall.json deleted file mode 100644 index 3bbad60622..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_iron_decoration_wall.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_detailed_iron_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:detailed_iron_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:detailed_iron_decoration_wall" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_detailed_iron_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:detailed_iron_decoration_wall" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_meteoric_iron_decoration.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_meteoric_iron_decoration.json deleted file mode 100644 index f98020223c..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_meteoric_iron_decoration.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_meteoric_iron": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_meteoric_iron" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:detailed_meteoric_iron_decoration" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_meteoric_iron" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:detailed_meteoric_iron_decoration" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_meteoric_iron_decoration_slab.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_meteoric_iron_decoration_slab.json deleted file mode 100644 index 93dc96ed61..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_meteoric_iron_decoration_slab.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_detailed_meteoric_iron_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:detailed_meteoric_iron_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:detailed_meteoric_iron_decoration_slab" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_detailed_meteoric_iron_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:detailed_meteoric_iron_decoration_slab" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_meteoric_iron_decoration_stairs.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_meteoric_iron_decoration_stairs.json deleted file mode 100644 index bbb50f5f10..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_meteoric_iron_decoration_stairs.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_detailed_meteoric_iron_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:detailed_meteoric_iron_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:detailed_meteoric_iron_decoration_stairs" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_detailed_meteoric_iron_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:detailed_meteoric_iron_decoration_stairs" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_meteoric_iron_decoration_wall.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_meteoric_iron_decoration_wall.json deleted file mode 100644 index f6c73a2235..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_meteoric_iron_decoration_wall.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_detailed_meteoric_iron_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:detailed_meteoric_iron_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:detailed_meteoric_iron_decoration_wall" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_detailed_meteoric_iron_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:detailed_meteoric_iron_decoration_wall" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_steel_decoration.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_steel_decoration.json deleted file mode 100644 index 8839bd823d..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_steel_decoration.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_steel": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_steel" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:detailed_steel_decoration" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_steel" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:detailed_steel_decoration" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_steel_decoration_slab.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_steel_decoration_slab.json deleted file mode 100644 index c31ce6fdb3..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_steel_decoration_slab.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_detailed_steel_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:detailed_steel_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:detailed_steel_decoration_slab" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_detailed_steel_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:detailed_steel_decoration_slab" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_steel_decoration_stairs.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_steel_decoration_stairs.json deleted file mode 100644 index 007829b076..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_steel_decoration_stairs.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_detailed_steel_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:detailed_steel_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:detailed_steel_decoration_stairs" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_detailed_steel_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:detailed_steel_decoration_stairs" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_steel_decoration_wall.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_steel_decoration_wall.json deleted file mode 100644 index 3d6022607f..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_steel_decoration_wall.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_detailed_steel_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:detailed_steel_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:detailed_steel_decoration_wall" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_detailed_steel_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:detailed_steel_decoration_wall" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_tin_decoration.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_tin_decoration.json deleted file mode 100644 index b578184635..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_tin_decoration.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_tin": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_tin" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:detailed_tin_decoration" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_tin" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:detailed_tin_decoration" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_tin_decoration_slab.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_tin_decoration_slab.json deleted file mode 100644 index 41512054f6..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_tin_decoration_slab.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_detailed_tin_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:detailed_tin_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:detailed_tin_decoration_slab" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_detailed_tin_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:detailed_tin_decoration_slab" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_tin_decoration_stairs.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_tin_decoration_stairs.json deleted file mode 100644 index 73eba3c488..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_tin_decoration_stairs.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_detailed_tin_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:detailed_tin_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:detailed_tin_decoration_stairs" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_detailed_tin_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:detailed_tin_decoration_stairs" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_tin_decoration_wall.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_tin_decoration_wall.json deleted file mode 100644 index 46a5f91ae1..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_tin_decoration_wall.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_detailed_tin_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:detailed_tin_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:detailed_tin_decoration_wall" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_detailed_tin_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:detailed_tin_decoration_wall" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_titanium_decoration.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_titanium_decoration.json deleted file mode 100644 index 8501041a91..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_titanium_decoration.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_titanium": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_titanium" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:detailed_titanium_decoration" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_titanium" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:detailed_titanium_decoration" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_titanium_decoration_slab.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_titanium_decoration_slab.json deleted file mode 100644 index 853aa27e84..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_titanium_decoration_slab.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_detailed_titanium_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:detailed_titanium_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:detailed_titanium_decoration_slab" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_detailed_titanium_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:detailed_titanium_decoration_slab" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_titanium_decoration_stairs.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_titanium_decoration_stairs.json deleted file mode 100644 index 7b49fab88f..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_titanium_decoration_stairs.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_detailed_titanium_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:detailed_titanium_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:detailed_titanium_decoration_stairs" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_detailed_titanium_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:detailed_titanium_decoration_stairs" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_titanium_decoration_wall.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_titanium_decoration_wall.json deleted file mode 100644 index 4fcecea1d1..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/detailed_titanium_decoration_wall.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_detailed_titanium_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:detailed_titanium_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:detailed_titanium_decoration_wall" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_detailed_titanium_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:detailed_titanium_decoration_wall" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/grating.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/grating.json deleted file mode 100644 index 01d8ddec7c..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/grating.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_iron_bars": { - "conditions": { - "items": [ - { - "items": [ - "minecraft:iron_bars" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:grating" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_iron_bars" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:grating" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/iron_decoration.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/iron_decoration.json deleted file mode 100644 index 89ad0ac1b1..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/iron_decoration.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_iron": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_iron" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:iron_decoration" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_iron" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:iron_decoration" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/iron_decoration_slab.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/iron_decoration_slab.json deleted file mode 100644 index 4aed5764c8..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/iron_decoration_slab.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_iron_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:iron_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:iron_decoration_slab" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_iron_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:iron_decoration_slab" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/iron_decoration_stairs.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/iron_decoration_stairs.json deleted file mode 100644 index 436466b989..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/iron_decoration_stairs.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_iron_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:iron_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:iron_decoration_stairs" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_iron_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:iron_decoration_stairs" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/iron_decoration_wall.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/iron_decoration_wall.json deleted file mode 100644 index f920d7e5f9..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/iron_decoration_wall.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_iron_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:iron_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:iron_decoration_wall" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_iron_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:iron_decoration_wall" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/lead_block.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/lead_block.json deleted file mode 100644 index d40ce0c4c8..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/lead_block.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_lead_ingot": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:lead_ingot" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:lead_block" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_lead_ingot" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:lead_block" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/lunar_sapphire_block.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/lunar_sapphire_block.json deleted file mode 100644 index e2191e67af..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/lunar_sapphire_block.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_lunar_sapphire": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:lunar_sapphire" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:lunar_sapphire_block" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_lunar_sapphire" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:lunar_sapphire_block" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/lunaslate_slab.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/lunaslate_slab.json deleted file mode 100644 index 12e40c6c74..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/lunaslate_slab.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_lunaslate": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:lunaslate" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:lunaslate_slab" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_lunaslate" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:lunaslate_slab" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/lunaslate_stairs.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/lunaslate_stairs.json deleted file mode 100644 index 6e5581bdfc..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/lunaslate_stairs.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_lunaslate": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:lunaslate" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:lunaslate_stairs" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_lunaslate" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:lunaslate_stairs" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/lunaslate_wall.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/lunaslate_wall.json deleted file mode 100644 index def8fa83ca..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/lunaslate_wall.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_lunaslate": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:lunaslate" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:lunaslate_wall" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_lunaslate" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:lunaslate_wall" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/mars_cobblestone_slab.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/mars_cobblestone_slab.json deleted file mode 100644 index e9d3a3c233..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/mars_cobblestone_slab.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_mars_cobblestone": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:mars_cobblestone" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:mars_cobblestone_slab" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_mars_cobblestone" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:mars_cobblestone_slab" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/mars_cobblestone_stairs.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/mars_cobblestone_stairs.json deleted file mode 100644 index a73abdbb2a..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/mars_cobblestone_stairs.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_mars_cobblestone": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:mars_cobblestone" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:mars_cobblestone_stairs" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_mars_cobblestone" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:mars_cobblestone_stairs" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/mars_cobblestone_wall.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/mars_cobblestone_wall.json deleted file mode 100644 index 7c5a0dc332..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/mars_cobblestone_wall.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_mars_cobblestone": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:mars_cobblestone" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:mars_cobblestone_wall" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_mars_cobblestone" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:mars_cobblestone_wall" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/mars_stone_slab.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/mars_stone_slab.json deleted file mode 100644 index 851650e8f0..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/mars_stone_slab.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_mars_stone": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:mars_stone" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:mars_stone_slab" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_mars_stone" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:mars_stone_slab" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/mars_stone_stairs.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/mars_stone_stairs.json deleted file mode 100644 index 04efa7e112..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/mars_stone_stairs.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_mars_stone": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:mars_stone" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:mars_stone_stairs" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_mars_stone" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:mars_stone_stairs" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/mars_stone_wall.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/mars_stone_wall.json deleted file mode 100644 index eb19f36941..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/mars_stone_wall.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_mars_stone": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:mars_stone" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:mars_stone_wall" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_mars_stone" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:mars_stone_wall" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/meteoric_iron_block.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/meteoric_iron_block.json deleted file mode 100644 index d7bb9a1ec4..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/meteoric_iron_block.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_meteoric_iron_ingot": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:meteoric_iron_ingot" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:meteoric_iron_block" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_meteoric_iron_ingot" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:meteoric_iron_block" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/meteoric_iron_decoration.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/meteoric_iron_decoration.json deleted file mode 100644 index 3ec5e389b2..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/meteoric_iron_decoration.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_meteoric_iron": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_meteoric_iron" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:meteoric_iron_decoration" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_meteoric_iron" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:meteoric_iron_decoration" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/meteoric_iron_decoration_slab.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/meteoric_iron_decoration_slab.json deleted file mode 100644 index f608da4112..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/meteoric_iron_decoration_slab.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_meteoric_iron_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:meteoric_iron_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:meteoric_iron_decoration_slab" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_meteoric_iron_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:meteoric_iron_decoration_slab" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/meteoric_iron_decoration_stairs.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/meteoric_iron_decoration_stairs.json deleted file mode 100644 index 23640a7ab2..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/meteoric_iron_decoration_stairs.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_meteoric_iron_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:meteoric_iron_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:meteoric_iron_decoration_stairs" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_meteoric_iron_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:meteoric_iron_decoration_stairs" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/meteoric_iron_decoration_wall.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/meteoric_iron_decoration_wall.json deleted file mode 100644 index 60aad4296c..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/meteoric_iron_decoration_wall.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_meteoric_iron_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:meteoric_iron_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:meteoric_iron_decoration_wall" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_meteoric_iron_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:meteoric_iron_decoration_wall" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/moon_basalt_brick_slab.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/moon_basalt_brick_slab.json deleted file mode 100644 index ba20ff4bc5..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/moon_basalt_brick_slab.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_moon_basalt_brick": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:moon_basalt_brick" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:moon_basalt_brick_slab" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_moon_basalt_brick" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:moon_basalt_brick_slab" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/moon_basalt_brick_stairs.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/moon_basalt_brick_stairs.json deleted file mode 100644 index dd583ebb3d..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/moon_basalt_brick_stairs.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_moon_basalt_brick": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:moon_basalt_brick" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:moon_basalt_brick_stairs" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_moon_basalt_brick" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:moon_basalt_brick_stairs" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/moon_basalt_brick_wall.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/moon_basalt_brick_wall.json deleted file mode 100644 index 749b477147..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/moon_basalt_brick_wall.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_moon_basalt_brick": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:moon_basalt_brick" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:moon_basalt_brick_wall" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_moon_basalt_brick" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:moon_basalt_brick_wall" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/moon_basalt_slab.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/moon_basalt_slab.json deleted file mode 100644 index 457353dad5..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/moon_basalt_slab.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_moon_basalt": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:moon_basalt" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:moon_basalt_slab" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_moon_basalt" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:moon_basalt_slab" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/moon_basalt_stairs.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/moon_basalt_stairs.json deleted file mode 100644 index da2806c3ac..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/moon_basalt_stairs.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_moon_basalt": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:moon_basalt" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:moon_basalt_stairs" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_moon_basalt" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:moon_basalt_stairs" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/moon_basalt_wall.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/moon_basalt_wall.json deleted file mode 100644 index 7117376ba8..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/moon_basalt_wall.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_moon_basalt": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:moon_basalt" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:moon_basalt_wall" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_moon_basalt" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:moon_basalt_wall" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/steel_decoration.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/steel_decoration.json deleted file mode 100644 index 10a2d278dd..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/steel_decoration.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_steel": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_steel" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:steel_decoration" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_steel" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:steel_decoration" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/steel_decoration_slab.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/steel_decoration_slab.json deleted file mode 100644 index d7a0096139..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/steel_decoration_slab.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_steel_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:steel_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:steel_decoration_slab" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_steel_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:steel_decoration_slab" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/steel_decoration_stairs.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/steel_decoration_stairs.json deleted file mode 100644 index 94fdfbf6ba..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/steel_decoration_stairs.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_steel_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:steel_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:steel_decoration_stairs" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_steel_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:steel_decoration_stairs" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/steel_decoration_wall.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/steel_decoration_wall.json deleted file mode 100644 index 86d7314e30..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/steel_decoration_wall.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_steel_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:steel_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:steel_decoration_wall" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_steel_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:steel_decoration_wall" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/tin_decoration.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/tin_decoration.json deleted file mode 100644 index b06e289095..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/tin_decoration.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_tin": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_tin" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:tin_decoration" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_tin" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:tin_decoration" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/tin_decoration_slab.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/tin_decoration_slab.json deleted file mode 100644 index bc20319022..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/tin_decoration_slab.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:tin_decoration_slab" - }, - "trigger": "minecraft:recipe_unlocked" - }, - "has_tin_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:tin_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_tin_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:tin_decoration_slab" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/tin_decoration_stairs.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/tin_decoration_stairs.json deleted file mode 100644 index fc95d4922f..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/tin_decoration_stairs.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:tin_decoration_stairs" - }, - "trigger": "minecraft:recipe_unlocked" - }, - "has_tin_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:tin_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_tin_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:tin_decoration_stairs" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/tin_decoration_wall.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/tin_decoration_wall.json deleted file mode 100644 index 851273ca15..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/tin_decoration_wall.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:tin_decoration_wall" - }, - "trigger": "minecraft:recipe_unlocked" - }, - "has_tin_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:tin_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_tin_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:tin_decoration_wall" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/tin_ladder.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/tin_ladder.json deleted file mode 100644 index f6d8af3fc9..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/tin_ladder.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:tin_ladder" - }, - "trigger": "minecraft:recipe_unlocked" - }, - "has_tin_ingot": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:tin_ingot" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_tin_ingot" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:tin_ladder" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/titanium_block.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/titanium_block.json deleted file mode 100644 index 210ee24d64..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/titanium_block.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:titanium_block" - }, - "trigger": "minecraft:recipe_unlocked" - }, - "has_titanium_ingot": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:titanium_ingot" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_titanium_ingot" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:titanium_block" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/titanium_decoration.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/titanium_decoration.json deleted file mode 100644 index d687795b33..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/titanium_decoration.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_titanium": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_titanium" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:titanium_decoration" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_titanium" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:titanium_decoration" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/titanium_decoration_slab.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/titanium_decoration_slab.json deleted file mode 100644 index e3a5934db6..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/titanium_decoration_slab.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:titanium_decoration_slab" - }, - "trigger": "minecraft:recipe_unlocked" - }, - "has_titanium_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:titanium_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_titanium_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:titanium_decoration_slab" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/titanium_decoration_stairs.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/titanium_decoration_stairs.json deleted file mode 100644 index 9e5a5a1b71..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/titanium_decoration_stairs.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:titanium_decoration_stairs" - }, - "trigger": "minecraft:recipe_unlocked" - }, - "has_titanium_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:titanium_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_titanium_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:titanium_decoration_stairs" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/titanium_decoration_wall.json b/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/titanium_decoration_wall.json deleted file mode 100644 index 5f780a5895..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/building_blocks/titanium_decoration_wall.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:titanium_decoration_wall" - }, - "trigger": "minecraft:recipe_unlocked" - }, - "has_titanium_decoration": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:titanium_decoration" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_titanium_decoration" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:titanium_decoration_wall" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/combat/desh_sword.json b/src/main/generated/data/galacticraft/advancements/recipes/combat/desh_sword.json deleted file mode 100644 index 7925925ca5..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/combat/desh_sword.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_desh_ingot": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:desh_ingot" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:desh_sword" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_desh_ingot" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:desh_sword" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/combat/heavy_duty_boots.json b/src/main/generated/data/galacticraft/advancements/recipes/combat/heavy_duty_boots.json deleted file mode 100644 index b7bcf02d21..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/combat/heavy_duty_boots.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_heavy_plating": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:heavy_plating" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:heavy_duty_boots" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_heavy_plating" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:heavy_duty_boots" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/combat/heavy_duty_chestplate.json b/src/main/generated/data/galacticraft/advancements/recipes/combat/heavy_duty_chestplate.json deleted file mode 100644 index af99139aa2..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/combat/heavy_duty_chestplate.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_heavy_plating": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:heavy_plating" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:heavy_duty_chestplate" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_heavy_plating" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:heavy_duty_chestplate" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/combat/heavy_duty_helmet.json b/src/main/generated/data/galacticraft/advancements/recipes/combat/heavy_duty_helmet.json deleted file mode 100644 index 542a7ab235..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/combat/heavy_duty_helmet.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_heavy_plating": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:heavy_plating" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:heavy_duty_helmet" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_heavy_plating" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:heavy_duty_helmet" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/combat/heavy_duty_leggings.json b/src/main/generated/data/galacticraft/advancements/recipes/combat/heavy_duty_leggings.json deleted file mode 100644 index d7c4e7eaa6..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/combat/heavy_duty_leggings.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_heavy_plating": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:heavy_plating" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:heavy_duty_leggings" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_heavy_plating" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:heavy_duty_leggings" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/combat/heavy_duty_sword.json b/src/main/generated/data/galacticraft/advancements/recipes/combat/heavy_duty_sword.json deleted file mode 100644 index bfd37dfdb0..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/combat/heavy_duty_sword.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_steel": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_steel" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:heavy_duty_sword" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_steel" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:heavy_duty_sword" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/combat/throwable_meteor_chunk.json b/src/main/generated/data/galacticraft/advancements/recipes/combat/throwable_meteor_chunk.json deleted file mode 100644 index c8e9d148f2..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/combat/throwable_meteor_chunk.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_raw_meteoric_iron": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:raw_meteoric_iron" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:throwable_meteor_chunk" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_raw_meteoric_iron" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:throwable_meteor_chunk" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/combat/titanium_boots_smithing.json b/src/main/generated/data/galacticraft/advancements/recipes/combat/titanium_boots_smithing.json deleted file mode 100644 index dec2a34c2b..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/combat/titanium_boots_smithing.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_titanium": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_titanium" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "minecraft:titanium_boots_smithing" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_titanium" - ] - ], - "rewards": { - "recipes": [ - "minecraft:titanium_boots_smithing" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/combat/titanium_chestplate_smithing.json b/src/main/generated/data/galacticraft/advancements/recipes/combat/titanium_chestplate_smithing.json deleted file mode 100644 index 5a9fb6fdbd..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/combat/titanium_chestplate_smithing.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_titanium": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_titanium" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "minecraft:titanium_chestplate_smithing" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_titanium" - ] - ], - "rewards": { - "recipes": [ - "minecraft:titanium_chestplate_smithing" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/combat/titanium_helmet_smithing.json b/src/main/generated/data/galacticraft/advancements/recipes/combat/titanium_helmet_smithing.json deleted file mode 100644 index e3e090b6d4..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/combat/titanium_helmet_smithing.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_titanium": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_titanium" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "minecraft:titanium_helmet_smithing" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_titanium" - ] - ], - "rewards": { - "recipes": [ - "minecraft:titanium_helmet_smithing" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/combat/titanium_leggings_smithing.json b/src/main/generated/data/galacticraft/advancements/recipes/combat/titanium_leggings_smithing.json deleted file mode 100644 index 56f8e72968..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/combat/titanium_leggings_smithing.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_titanium": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_titanium" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "minecraft:titanium_leggings_smithing" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_titanium" - ] - ], - "rewards": { - "recipes": [ - "minecraft:titanium_leggings_smithing" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/combat/titanium_sword_smithing.json b/src/main/generated/data/galacticraft/advancements/recipes/combat/titanium_sword_smithing.json deleted file mode 100644 index 9fea02449f..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/combat/titanium_sword_smithing.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_titanium": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_titanium" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "minecraft:titanium_sword_smithing" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_titanium" - ] - ], - "rewards": { - "recipes": [ - "minecraft:titanium_sword_smithing" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/compressed_aluminum.json b/src/main/generated/data/galacticraft/advancements/recipes/compressed_aluminum.json deleted file mode 100644 index bc0e68f271..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/compressed_aluminum.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_aluminum_ingot": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:aluminum_ingot" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:compressed_aluminum" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_aluminum_ingot" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:compressed_aluminum" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/compressed_copper.json b/src/main/generated/data/galacticraft/advancements/recipes/compressed_copper.json deleted file mode 100644 index b4a1beb547..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/compressed_copper.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_copper_ingot": { - "conditions": { - "items": [ - { - "tag": "c:copper_ingots" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:compressed_copper" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_copper_ingot" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:compressed_copper" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/compressed_desh.json b/src/main/generated/data/galacticraft/advancements/recipes/compressed_desh.json deleted file mode 100644 index 92853c9be4..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/compressed_desh.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_desh_ingot": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:desh_ingot" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:compressed_desh" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_desh_ingot" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:compressed_desh" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/compressed_iron.json b/src/main/generated/data/galacticraft/advancements/recipes/compressed_iron.json deleted file mode 100644 index bc0f0a278b..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/compressed_iron.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_iron_ingot": { - "conditions": { - "items": [ - { - "tag": "c:iron_ingots" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:compressed_iron" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_iron_ingot" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:compressed_iron" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/compressed_steel.json b/src/main/generated/data/galacticraft/advancements/recipes/compressed_steel.json deleted file mode 100644 index 9b7b58ee68..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/compressed_steel.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_iron": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_iron" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:compressed_steel" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_iron" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:compressed_steel" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/compressed_tin.json b/src/main/generated/data/galacticraft/advancements/recipes/compressed_tin.json deleted file mode 100644 index ecf25a2438..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/compressed_tin.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:compressed_tin" - }, - "trigger": "minecraft:recipe_unlocked" - }, - "has_tin_ingot": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:tin_ingot" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_tin_ingot" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:compressed_tin" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/compressed_titanium.json b/src/main/generated/data/galacticraft/advancements/recipes/compressed_titanium.json deleted file mode 100644 index a3047942a7..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/compressed_titanium.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:compressed_titanium" - }, - "trigger": "minecraft:recipe_unlocked" - }, - "has_titanium_ingot": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:titanium_ingot" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_titanium_ingot" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:compressed_titanium" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/decorations/dashed_light_panel.json b/src/main/generated/data/galacticraft/advancements/recipes/decorations/dashed_light_panel.json deleted file mode 100644 index 95d0641f35..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/decorations/dashed_light_panel.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_steel": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_steel" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:dashed_light_panel" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_steel" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:dashed_light_panel" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/decorations/diagonal_light_panel.json b/src/main/generated/data/galacticraft/advancements/recipes/decorations/diagonal_light_panel.json deleted file mode 100644 index 74d1a97262..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/decorations/diagonal_light_panel.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_steel": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_steel" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:diagonal_light_panel" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_steel" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:diagonal_light_panel" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/decorations/diagonal_light_panel_flipped.json b/src/main/generated/data/galacticraft/advancements/recipes/decorations/diagonal_light_panel_flipped.json deleted file mode 100644 index fb4d4a029f..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/decorations/diagonal_light_panel_flipped.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_steel": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_steel" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:diagonal_light_panel_flipped" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_steel" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:diagonal_light_panel_flipped" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/decorations/glowstone_lantern.json b/src/main/generated/data/galacticraft/advancements/recipes/decorations/glowstone_lantern.json deleted file mode 100644 index ecfe50972d..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/decorations/glowstone_lantern.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_glowstone_torch": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:glowstone_torch" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:glowstone_lantern" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_glowstone_torch" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:glowstone_lantern" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/decorations/glowstone_torch.json b/src/main/generated/data/galacticraft/advancements/recipes/decorations/glowstone_torch.json deleted file mode 100644 index 3715109868..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/decorations/glowstone_torch.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_glowstone_dust": { - "conditions": { - "items": [ - { - "items": [ - "minecraft:glowstone_dust" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:glowstone_torch" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_glowstone_dust" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:glowstone_torch" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/decorations/linear_light_panel.json b/src/main/generated/data/galacticraft/advancements/recipes/decorations/linear_light_panel.json deleted file mode 100644 index 65800b1cb1..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/decorations/linear_light_panel.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_steel": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_steel" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:linear_light_panel" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_steel" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:linear_light_panel" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/decorations/spotlight_light_panel.json b/src/main/generated/data/galacticraft/advancements/recipes/decorations/spotlight_light_panel.json deleted file mode 100644 index 88d7c80eec..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/decorations/spotlight_light_panel.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_steel": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_steel" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:spotlight_light_panel" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_steel" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:spotlight_light_panel" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/decorations/square_light_panel.json b/src/main/generated/data/galacticraft/advancements/recipes/decorations/square_light_panel.json deleted file mode 100644 index c6605664bb..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/decorations/square_light_panel.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_steel": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_steel" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:square_light_panel" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_steel" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:square_light_panel" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/decorations/vacuum_glass.json b/src/main/generated/data/galacticraft/advancements/recipes/decorations/vacuum_glass.json deleted file mode 100644 index 80928128a2..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/decorations/vacuum_glass.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:vacuum_glass" - }, - "trigger": "minecraft:recipe_unlocked" - }, - "has_tin_ingot": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:tin_ingot" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_tin_ingot" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:vacuum_glass" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/decorations/vacuum_glass_clear.json b/src/main/generated/data/galacticraft/advancements/recipes/decorations/vacuum_glass_clear.json deleted file mode 100644 index 588c83cd8f..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/decorations/vacuum_glass_clear.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_aluminum_ingot": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:aluminum_ingot" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:vacuum_glass_clear" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_aluminum_ingot" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:vacuum_glass_clear" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/decorations/vacuum_glass_strong.json b/src/main/generated/data/galacticraft/advancements/recipes/decorations/vacuum_glass_strong.json deleted file mode 100644 index b570c59c99..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/decorations/vacuum_glass_strong.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_aluminum": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_aluminum" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:vacuum_glass_strong" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_aluminum" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:vacuum_glass_strong" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/food/beef_patty_from_campfire_cooking.json b/src/main/generated/data/galacticraft/advancements/recipes/food/beef_patty_from_campfire_cooking.json deleted file mode 100644 index 00a8fa6daf..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/food/beef_patty_from_campfire_cooking.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_ground_beef": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:ground_beef" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "minecraft:beef_patty_from_campfire_cooking" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_ground_beef" - ] - ], - "rewards": { - "recipes": [ - "minecraft:beef_patty_from_campfire_cooking" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/food/beef_patty_from_smelting.json b/src/main/generated/data/galacticraft/advancements/recipes/food/beef_patty_from_smelting.json deleted file mode 100644 index 2a247b1f0d..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/food/beef_patty_from_smelting.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_ground_beef": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:ground_beef" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "minecraft:beef_patty_from_smelting" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_ground_beef" - ] - ], - "rewards": { - "recipes": [ - "minecraft:beef_patty_from_smelting" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/food/beef_patty_from_smoking.json b/src/main/generated/data/galacticraft/advancements/recipes/food/beef_patty_from_smoking.json deleted file mode 100644 index 42fcb4f5b3..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/food/beef_patty_from_smoking.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_ground_beef": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:ground_beef" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "minecraft:beef_patty_from_smoking" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_ground_beef" - ] - ], - "rewards": { - "recipes": [ - "minecraft:beef_patty_from_smoking" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/food/burger_bun.json b/src/main/generated/data/galacticraft/advancements/recipes/food/burger_bun.json deleted file mode 100644 index b3e1806527..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/food/burger_bun.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_egg": { - "conditions": { - "items": [ - { - "items": [ - "minecraft:egg" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:burger_bun" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_egg" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:burger_bun" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/food/cheese_slice.json b/src/main/generated/data/galacticraft/advancements/recipes/food/cheese_slice.json deleted file mode 100644 index 4593f342db..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/food/cheese_slice.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_moon_cheese_block": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:moon_cheese_block" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:cheese_slice" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_moon_cheese_block" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:cheese_slice" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/food/cheeseburger.json b/src/main/generated/data/galacticraft/advancements/recipes/food/cheeseburger.json deleted file mode 100644 index c0a493e0c9..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/food/cheeseburger.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_ground_beef": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:ground_beef" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:cheeseburger" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_ground_beef" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:cheeseburger" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/food/ground_beef.json b/src/main/generated/data/galacticraft/advancements/recipes/food/ground_beef.json deleted file mode 100644 index 06e0a16233..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/food/ground_beef.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_beef": { - "conditions": { - "items": [ - { - "items": [ - "minecraft:beef" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:ground_beef" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_beef" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:ground_beef" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/food/hot_throwable_meteor_chunk_from_blasting.json b/src/main/generated/data/galacticraft/advancements/recipes/food/hot_throwable_meteor_chunk_from_blasting.json deleted file mode 100644 index 30295c3353..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/food/hot_throwable_meteor_chunk_from_blasting.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_the_recipe": { - "conditions": { - "recipe": "minecraft:hot_throwable_meteor_chunk_from_blasting" - }, - "trigger": "minecraft:recipe_unlocked" - }, - "has_throwable_meteor_chunk": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:throwable_meteor_chunk" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_throwable_meteor_chunk" - ] - ], - "rewards": { - "recipes": [ - "minecraft:hot_throwable_meteor_chunk_from_blasting" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/food/hot_throwable_meteor_chunk_from_smelting.json b/src/main/generated/data/galacticraft/advancements/recipes/food/hot_throwable_meteor_chunk_from_smelting.json deleted file mode 100644 index 99960b8387..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/food/hot_throwable_meteor_chunk_from_smelting.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_the_recipe": { - "conditions": { - "recipe": "minecraft:hot_throwable_meteor_chunk_from_smelting" - }, - "trigger": "minecraft:recipe_unlocked" - }, - "has_throwable_meteor_chunk": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:throwable_meteor_chunk" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_throwable_meteor_chunk" - ] - ], - "rewards": { - "recipes": [ - "minecraft:hot_throwable_meteor_chunk_from_smelting" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/food/moon_cheese_block.json b/src/main/generated/data/galacticraft/advancements/recipes/food/moon_cheese_block.json deleted file mode 100644 index a808fe359b..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/food/moon_cheese_block.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_cheese_curd": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:cheese_curd" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:moon_cheese_block" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_cheese_curd" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:moon_cheese_block" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/heavy_plating.json b/src/main/generated/data/galacticraft/advancements/recipes/heavy_plating.json deleted file mode 100644 index 8a5c9140a4..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/heavy_plating.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_bronze": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_bronze" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:heavy_plating" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_bronze" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:heavy_plating" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/heavy_plating_flipped.json b/src/main/generated/data/galacticraft/advancements/recipes/heavy_plating_flipped.json deleted file mode 100644 index ff2fcb472d..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/heavy_plating_flipped.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_bronze": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_bronze" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:heavy_plating_flipped" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_bronze" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:heavy_plating_flipped" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/heavy_plating_t2.json b/src/main/generated/data/galacticraft/advancements/recipes/heavy_plating_t2.json deleted file mode 100644 index 92db2025ed..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/heavy_plating_t2.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_meteoric_iron": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_meteoric_iron" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:heavy_plating_t2" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_meteoric_iron" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:heavy_plating_t2" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/heavy_plating_t3.json b/src/main/generated/data/galacticraft/advancements/recipes/heavy_plating_t3.json deleted file mode 100644 index 7a10a04563..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/heavy_plating_t3.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_meteoric_iron": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_meteoric_iron" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:heavy_plating_t3" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_meteoric_iron" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:heavy_plating_t3" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/advanced_solar_panel.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/advanced_solar_panel.json deleted file mode 100644 index 29e0c50aae..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/advanced_solar_panel.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_advanced_wafer": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:advanced_wafer" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:advanced_solar_panel" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_advanced_wafer" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:advanced_solar_panel" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/aluminum_ingot_from_blasting_aluminum_ore.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/aluminum_ingot_from_blasting_aluminum_ore.json deleted file mode 100644 index fdf6c29c37..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/aluminum_ingot_from_blasting_aluminum_ore.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_aluminum_ore": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:aluminum_ore" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "minecraft:aluminum_ingot_from_blasting_aluminum_ore" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_aluminum_ore" - ] - ], - "rewards": { - "recipes": [ - "minecraft:aluminum_ingot_from_blasting_aluminum_ore" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/aluminum_ingot_from_blasting_deepslate_aluminum_ore.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/aluminum_ingot_from_blasting_deepslate_aluminum_ore.json deleted file mode 100644 index 8248ddf05f..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/aluminum_ingot_from_blasting_deepslate_aluminum_ore.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_deepslate_aluminum_ore": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:deepslate_aluminum_ore" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "minecraft:aluminum_ingot_from_blasting_deepslate_aluminum_ore" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_deepslate_aluminum_ore" - ] - ], - "rewards": { - "recipes": [ - "minecraft:aluminum_ingot_from_blasting_deepslate_aluminum_ore" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/aluminum_ingot_from_blasting_raw_aluminum.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/aluminum_ingot_from_blasting_raw_aluminum.json deleted file mode 100644 index f77dbf56ce..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/aluminum_ingot_from_blasting_raw_aluminum.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_raw_aluminum": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:raw_aluminum" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "minecraft:aluminum_ingot_from_blasting_raw_aluminum" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_raw_aluminum" - ] - ], - "rewards": { - "recipes": [ - "minecraft:aluminum_ingot_from_blasting_raw_aluminum" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/aluminum_ingot_from_nuggets.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/aluminum_ingot_from_nuggets.json deleted file mode 100644 index 7cb95cd919..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/aluminum_ingot_from_nuggets.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_aluminum_nugget": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:aluminum_nugget" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:aluminum_ingot_from_nuggets" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_aluminum_nugget" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:aluminum_ingot_from_nuggets" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/aluminum_ingot_from_smelting_aluminum_ore.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/aluminum_ingot_from_smelting_aluminum_ore.json deleted file mode 100644 index f8ab09ac2d..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/aluminum_ingot_from_smelting_aluminum_ore.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_aluminum_ore": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:aluminum_ore" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "minecraft:aluminum_ingot_from_smelting_aluminum_ore" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_aluminum_ore" - ] - ], - "rewards": { - "recipes": [ - "minecraft:aluminum_ingot_from_smelting_aluminum_ore" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/aluminum_ingot_from_smelting_deepslate_aluminum_ore.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/aluminum_ingot_from_smelting_deepslate_aluminum_ore.json deleted file mode 100644 index 3562584589..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/aluminum_ingot_from_smelting_deepslate_aluminum_ore.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_deepslate_aluminum_ore": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:deepslate_aluminum_ore" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "minecraft:aluminum_ingot_from_smelting_deepslate_aluminum_ore" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_deepslate_aluminum_ore" - ] - ], - "rewards": { - "recipes": [ - "minecraft:aluminum_ingot_from_smelting_deepslate_aluminum_ore" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/aluminum_ingot_from_smelting_raw_aluminum.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/aluminum_ingot_from_smelting_raw_aluminum.json deleted file mode 100644 index 2e6a6353ac..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/aluminum_ingot_from_smelting_raw_aluminum.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_raw_aluminum": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:raw_aluminum" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "minecraft:aluminum_ingot_from_smelting_raw_aluminum" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_raw_aluminum" - ] - ], - "rewards": { - "recipes": [ - "minecraft:aluminum_ingot_from_smelting_raw_aluminum" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/aluminum_nugget.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/aluminum_nugget.json deleted file mode 100644 index 554f51bf35..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/aluminum_nugget.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_aluminum_ingot": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:aluminum_ingot" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:aluminum_nugget" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_aluminum_ingot" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:aluminum_nugget" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/aluminum_wire.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/aluminum_wire.json deleted file mode 100644 index c0f6bad3ba..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/aluminum_wire.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_glass_pane": { - "conditions": { - "items": [ - { - "items": [ - "minecraft:glass_pane" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:aluminum_wire" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_glass_pane" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:aluminum_wire" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/ambient_thermal_controller.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/ambient_thermal_controller.json deleted file mode 100644 index 8cd934dbf5..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/ambient_thermal_controller.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_oxygen_vent": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:oxygen_vent" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:ambient_thermal_controller" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_oxygen_vent" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:ambient_thermal_controller" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/atmospheric_valve.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/atmospheric_valve.json deleted file mode 100644 index 6a8608c628..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/atmospheric_valve.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_desh_ingot": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:desh_ingot" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:atmospheric_valve" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_desh_ingot" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:atmospheric_valve" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/basic_solar_panel.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/basic_solar_panel.json deleted file mode 100644 index bdf25a91e4..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/basic_solar_panel.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_basic_wafer": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:basic_wafer" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:basic_solar_panel" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_basic_wafer" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:basic_solar_panel" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/battery.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/battery.json deleted file mode 100644 index 41952bbc99..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/battery.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_tin": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_tin" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:battery" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_tin" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:battery" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/beam_core.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/beam_core.json deleted file mode 100644 index 61e4903bd4..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/beam_core.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_iron": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_iron" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:beam_core" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_iron" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:beam_core" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/black_parachute.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/black_parachute.json deleted file mode 100644 index ba26e9a3ed..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/black_parachute.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_black_dye": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:white_parachute" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:black_parachute" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_black_dye" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:black_parachute" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/blue_parachute.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/blue_parachute.json deleted file mode 100644 index e93a4ee6a6..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/blue_parachute.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_blue_dye": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:white_parachute" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:blue_parachute" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_blue_dye" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:blue_parachute" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/brown_parachute.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/brown_parachute.json deleted file mode 100644 index f2d54b553b..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/brown_parachute.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_brown_dye": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:white_parachute" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:brown_parachute" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_brown_dye" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:brown_parachute" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/canvas.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/canvas.json deleted file mode 100644 index ec3a062d49..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/canvas.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_string": { - "conditions": { - "items": [ - { - "items": [ - "minecraft:string" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:canvas" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_string" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:canvas" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/carbon_fragments_from_charcoal.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/carbon_fragments_from_charcoal.json deleted file mode 100644 index ffe0ad06b4..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/carbon_fragments_from_charcoal.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_charcoal": { - "conditions": { - "items": [ - { - "items": [ - "minecraft:charcoal" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:carbon_fragments_from_charcoal" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_charcoal" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:carbon_fragments_from_charcoal" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/carbon_fragments_from_coal.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/carbon_fragments_from_coal.json deleted file mode 100644 index e27af979e9..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/carbon_fragments_from_coal.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_coal": { - "conditions": { - "items": [ - { - "tag": "c:coal" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:carbon_fragments_from_coal" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_coal" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:carbon_fragments_from_coal" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/carbon_fragments_from_smelting_planks.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/carbon_fragments_from_smelting_planks.json deleted file mode 100644 index 768f9ad608..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/carbon_fragments_from_smelting_planks.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_planks": { - "conditions": { - "items": [ - { - "tag": "minecraft:planks" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "minecraft:carbon_fragments_from_smelting_planks" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ], - "rewards": { - "recipes": [ - "minecraft:carbon_fragments_from_smelting_planks" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/circuit_fabricator.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/circuit_fabricator.json deleted file mode 100644 index 5a8700b9f5..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/circuit_fabricator.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_aluminum_ingot": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:aluminum_ingot" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:circuit_fabricator" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_aluminum_ingot" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:circuit_fabricator" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/coal_generator.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/coal_generator.json deleted file mode 100644 index dc45853bc6..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/coal_generator.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_aluminum_ingot": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:aluminum_ingot" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:coal_generator" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_aluminum_ingot" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:coal_generator" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/compressor.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/compressor.json deleted file mode 100644 index ab7106fe13..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/compressor.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_aluminum_ingot": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:aluminum_ingot" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:compressor" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_aluminum_ingot" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:compressor" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/copper_canister.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/copper_canister.json deleted file mode 100644 index 9d3d675be3..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/copper_canister.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_copper_ingot": { - "conditions": { - "items": [ - { - "items": [ - "minecraft:copper_ingot" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:copper_canister" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_copper_ingot" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:copper_canister" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/copper_ingot_from_blasting_lunaslate_copper_ore.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/copper_ingot_from_blasting_lunaslate_copper_ore.json deleted file mode 100644 index 652e219508..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/copper_ingot_from_blasting_lunaslate_copper_ore.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_lunaslate_copper_ore": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:lunaslate_copper_ore" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "minecraft:copper_ingot_from_blasting_lunaslate_copper_ore" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_lunaslate_copper_ore" - ] - ], - "rewards": { - "recipes": [ - "minecraft:copper_ingot_from_blasting_lunaslate_copper_ore" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/copper_ingot_from_blasting_moon_copper_ore.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/copper_ingot_from_blasting_moon_copper_ore.json deleted file mode 100644 index ea6aba0977..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/copper_ingot_from_blasting_moon_copper_ore.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_moon_copper_ore": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:moon_copper_ore" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "minecraft:copper_ingot_from_blasting_moon_copper_ore" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_moon_copper_ore" - ] - ], - "rewards": { - "recipes": [ - "minecraft:copper_ingot_from_blasting_moon_copper_ore" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/copper_ingot_from_smelting_lunaslate_copper_ore.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/copper_ingot_from_smelting_lunaslate_copper_ore.json deleted file mode 100644 index 57ec2d72ab..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/copper_ingot_from_smelting_lunaslate_copper_ore.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_lunaslate_copper_ore": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:lunaslate_copper_ore" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "minecraft:copper_ingot_from_smelting_lunaslate_copper_ore" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_lunaslate_copper_ore" - ] - ], - "rewards": { - "recipes": [ - "minecraft:copper_ingot_from_smelting_lunaslate_copper_ore" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/copper_ingot_from_smelting_moon_copper_ore.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/copper_ingot_from_smelting_moon_copper_ore.json deleted file mode 100644 index bdb309ad5c..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/copper_ingot_from_smelting_moon_copper_ore.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_moon_copper_ore": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:moon_copper_ore" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "minecraft:copper_ingot_from_smelting_moon_copper_ore" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_moon_copper_ore" - ] - ], - "rewards": { - "recipes": [ - "minecraft:copper_ingot_from_smelting_moon_copper_ore" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/cyan_parachute.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/cyan_parachute.json deleted file mode 100644 index fde4a9a93a..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/cyan_parachute.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_cyan_dye": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:white_parachute" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:cyan_parachute" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_cyan_dye" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:cyan_parachute" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/desh_boots.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/desh_boots.json deleted file mode 100644 index 433076ae22..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/desh_boots.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_desh_ingot": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:desh_ingot" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:desh_boots" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_desh_ingot" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:desh_boots" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/desh_chestplate.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/desh_chestplate.json deleted file mode 100644 index c9fc9fa153..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/desh_chestplate.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_desh_ingot": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:desh_ingot" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:desh_chestplate" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_desh_ingot" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:desh_chestplate" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/desh_helmet.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/desh_helmet.json deleted file mode 100644 index 23a460ec1f..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/desh_helmet.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_desh_ingot": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:desh_ingot" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:desh_helmet" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_desh_ingot" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:desh_helmet" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/desh_ingot_from_blasting_desh_ore.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/desh_ingot_from_blasting_desh_ore.json deleted file mode 100644 index 97d7579b74..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/desh_ingot_from_blasting_desh_ore.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_desh_ore": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:desh_ore" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "minecraft:desh_ingot_from_blasting_desh_ore" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_desh_ore" - ] - ], - "rewards": { - "recipes": [ - "minecraft:desh_ingot_from_blasting_desh_ore" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/desh_ingot_from_blasting_raw_desh.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/desh_ingot_from_blasting_raw_desh.json deleted file mode 100644 index 1c61433f3d..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/desh_ingot_from_blasting_raw_desh.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_raw_desh": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:raw_desh" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "minecraft:desh_ingot_from_blasting_raw_desh" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_raw_desh" - ] - ], - "rewards": { - "recipes": [ - "minecraft:desh_ingot_from_blasting_raw_desh" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/desh_ingot_from_block.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/desh_ingot_from_block.json deleted file mode 100644 index f50f15c4c8..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/desh_ingot_from_block.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_desh_block": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:desh_block" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:desh_ingot_from_block" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_desh_block" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:desh_ingot_from_block" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/desh_ingot_from_nuggets.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/desh_ingot_from_nuggets.json deleted file mode 100644 index 0aaad28f56..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/desh_ingot_from_nuggets.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_desh_nugget": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:desh_nugget" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:desh_ingot_from_nuggets" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_desh_nugget" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:desh_ingot_from_nuggets" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/desh_ingot_from_smelting_desh_ore.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/desh_ingot_from_smelting_desh_ore.json deleted file mode 100644 index 5c2e82f996..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/desh_ingot_from_smelting_desh_ore.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_desh_ore": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:desh_ore" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "minecraft:desh_ingot_from_smelting_desh_ore" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_desh_ore" - ] - ], - "rewards": { - "recipes": [ - "minecraft:desh_ingot_from_smelting_desh_ore" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/desh_ingot_from_smelting_raw_desh.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/desh_ingot_from_smelting_raw_desh.json deleted file mode 100644 index d4b505fa81..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/desh_ingot_from_smelting_raw_desh.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_raw_desh": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:raw_desh" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "minecraft:desh_ingot_from_smelting_raw_desh" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_raw_desh" - ] - ], - "rewards": { - "recipes": [ - "minecraft:desh_ingot_from_smelting_raw_desh" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/desh_leggings.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/desh_leggings.json deleted file mode 100644 index b5c75f783c..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/desh_leggings.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_desh_ingot": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:desh_ingot" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:desh_leggings" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_desh_ingot" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:desh_leggings" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/desh_nugget.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/desh_nugget.json deleted file mode 100644 index 3e0c78fee1..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/desh_nugget.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_desh_ingot": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:desh_ingot" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:desh_nugget" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_desh_ingot" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:desh_nugget" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/desh_stick.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/desh_stick.json deleted file mode 100644 index 555af6f449..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/desh_stick.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_desh_stick": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:desh_stick" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:desh_stick" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_desh_stick" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:desh_stick" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/electric_arc_furnace.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/electric_arc_furnace.json deleted file mode 100644 index d006172318..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/electric_arc_furnace.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_advanced_wafer": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:advanced_wafer" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:electric_arc_furnace" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_advanced_wafer" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:electric_arc_furnace" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/electric_compressor.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/electric_compressor.json deleted file mode 100644 index ec2d40afdc..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/electric_compressor.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_aluminum_ingot": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:aluminum_ingot" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:electric_compressor" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_aluminum_ingot" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:electric_compressor" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/electric_compressor_upgrade.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/electric_compressor_upgrade.json deleted file mode 100644 index 605501a831..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/electric_compressor_upgrade.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_aluminum_ingot": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:aluminum_ingot" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:electric_compressor_upgrade" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_aluminum_ingot" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:electric_compressor_upgrade" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/electric_furnace.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/electric_furnace.json deleted file mode 100644 index 33c5cfc78b..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/electric_furnace.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_basic_wafer": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:basic_wafer" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:electric_furnace" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_basic_wafer" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:electric_furnace" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/energy_storage_module.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/energy_storage_module.json deleted file mode 100644 index bfcc0edbfa..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/energy_storage_module.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_battery": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:battery" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:energy_storage_module" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_battery" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:energy_storage_module" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/fluid_manipulator.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/fluid_manipulator.json deleted file mode 100644 index 8b1562ef8a..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/fluid_manipulator.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_meteoric_iron_ingot": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:meteoric_iron_ingot" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:fluid_manipulator" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_meteoric_iron_ingot" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:fluid_manipulator" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/fluid_pipe_walkway.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/fluid_pipe_walkway.json deleted file mode 100644 index 7c33bb0c01..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/fluid_pipe_walkway.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:fluid_pipe_walkway" - }, - "trigger": "minecraft:recipe_unlocked" - }, - "has_walkway": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:walkway" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_walkway" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:fluid_pipe_walkway" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/fluid_pipe_walkway_shapeless.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/fluid_pipe_walkway_shapeless.json deleted file mode 100644 index d590aff8a9..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/fluid_pipe_walkway_shapeless.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:fluid_pipe_walkway_shapeless" - }, - "trigger": "minecraft:recipe_unlocked" - }, - "has_walkway": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:walkway" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_walkway" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:fluid_pipe_walkway_shapeless" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/food_canner.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/food_canner.json deleted file mode 100644 index 918b29a18e..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/food_canner.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_oxygen_concentrator": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:oxygen_concentrator" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:food_canner" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_oxygen_concentrator" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:food_canner" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/frequency_module.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/frequency_module.json deleted file mode 100644 index 500182ccb5..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/frequency_module.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_aluminum": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_aluminum" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:frequency_module" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_aluminum" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:frequency_module" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/full_solar_panel.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/full_solar_panel.json deleted file mode 100644 index 259dc47307..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/full_solar_panel.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_single_solar_module": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:single_solar_module" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:full_solar_panel" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_single_solar_module" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:full_solar_panel" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/glass_fluid_pipe.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/glass_fluid_pipe.json deleted file mode 100644 index ba8a9ae15e..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/glass_fluid_pipe.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_glass_pane": { - "conditions": { - "items": [ - { - "items": [ - "minecraft:glass_pane" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:glass_fluid_pipe" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_glass_pane" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:glass_fluid_pipe" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/gray_parachute.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/gray_parachute.json deleted file mode 100644 index 18608f41a8..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/gray_parachute.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_gray_dye": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:white_parachute" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:gray_parachute" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_gray_dye" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:gray_parachute" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/green_parachute.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/green_parachute.json deleted file mode 100644 index 9b04d678e2..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/green_parachute.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_green_dye": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:white_parachute" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:green_parachute" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_green_dye" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:green_parachute" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/iron_ingot_from_blasting_iron_shard.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/iron_ingot_from_blasting_iron_shard.json deleted file mode 100644 index 20a1fe878f..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/iron_ingot_from_blasting_iron_shard.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_iron_shard": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:iron_shard" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "minecraft:iron_ingot_from_blasting_iron_shard" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_iron_shard" - ] - ], - "rewards": { - "recipes": [ - "minecraft:iron_ingot_from_blasting_iron_shard" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/iron_ingot_from_smelting_iron_shard.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/iron_ingot_from_smelting_iron_shard.json deleted file mode 100644 index d8bdaea79a..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/iron_ingot_from_smelting_iron_shard.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_iron_shard": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:iron_shard" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "minecraft:iron_ingot_from_smelting_iron_shard" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_iron_shard" - ] - ], - "rewards": { - "recipes": [ - "minecraft:iron_ingot_from_smelting_iron_shard" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/isothermal_fabric.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/isothermal_fabric.json deleted file mode 100644 index b3d0eccbb4..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/isothermal_fabric.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_desh_ingot": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:desh_ingot" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:isothermal_fabric" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_desh_ingot" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:isothermal_fabric" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/large_oxygen_tank.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/large_oxygen_tank.json deleted file mode 100644 index d78127948b..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/large_oxygen_tank.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:large_oxygen_tank" - }, - "trigger": "minecraft:recipe_unlocked" - }, - "has_tin_canister": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:tin_canister" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_tin_canister" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:large_oxygen_tank" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/lead_ingot_from_blasting_galena_ore.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/lead_ingot_from_blasting_galena_ore.json deleted file mode 100644 index 4d25d5e7e8..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/lead_ingot_from_blasting_galena_ore.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_galena_ore": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:galena_ore" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "minecraft:lead_ingot_from_blasting_galena_ore" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_galena_ore" - ] - ], - "rewards": { - "recipes": [ - "minecraft:lead_ingot_from_blasting_galena_ore" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/lead_ingot_from_blasting_raw_lead.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/lead_ingot_from_blasting_raw_lead.json deleted file mode 100644 index e78c2cd136..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/lead_ingot_from_blasting_raw_lead.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_raw_lead": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:raw_lead" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "minecraft:lead_ingot_from_blasting_raw_lead" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_raw_lead" - ] - ], - "rewards": { - "recipes": [ - "minecraft:lead_ingot_from_blasting_raw_lead" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/lead_ingot_from_block.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/lead_ingot_from_block.json deleted file mode 100644 index f2219e7e41..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/lead_ingot_from_block.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_lead_block": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:lead_block" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:lead_ingot_from_block" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_lead_block" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:lead_ingot_from_block" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/lead_ingot_from_nuggets.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/lead_ingot_from_nuggets.json deleted file mode 100644 index ced4dc306f..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/lead_ingot_from_nuggets.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_lead_nugget": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:lead_nugget" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:lead_ingot_from_nuggets" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_lead_nugget" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:lead_ingot_from_nuggets" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/lead_ingot_from_smelting_galena_ore.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/lead_ingot_from_smelting_galena_ore.json deleted file mode 100644 index c32722a412..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/lead_ingot_from_smelting_galena_ore.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_galena_ore": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:galena_ore" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "minecraft:lead_ingot_from_smelting_galena_ore" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_galena_ore" - ] - ], - "rewards": { - "recipes": [ - "minecraft:lead_ingot_from_smelting_galena_ore" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/lead_ingot_from_smelting_raw_lead.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/lead_ingot_from_smelting_raw_lead.json deleted file mode 100644 index 7fd3fb8bd7..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/lead_ingot_from_smelting_raw_lead.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_raw_lead": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:raw_lead" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "minecraft:lead_ingot_from_smelting_raw_lead" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_raw_lead" - ] - ], - "rewards": { - "recipes": [ - "minecraft:lead_ingot_from_smelting_raw_lead" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/lead_nugget.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/lead_nugget.json deleted file mode 100644 index 6ddb235c94..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/lead_nugget.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_lead_ingot": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:lead_ingot" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:lead_nugget" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_lead_ingot" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:lead_nugget" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/light_blue_parachute.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/light_blue_parachute.json deleted file mode 100644 index 2da9cd3487..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/light_blue_parachute.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_light_blue_dye": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:white_parachute" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:light_blue_parachute" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_light_blue_dye" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:light_blue_parachute" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/light_gray_parachute.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/light_gray_parachute.json deleted file mode 100644 index 98c8d7eb54..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/light_gray_parachute.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_light_gray_dye": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:white_parachute" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:light_gray_parachute" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_light_gray_dye" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:light_gray_parachute" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/lime_parachute.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/lime_parachute.json deleted file mode 100644 index 80fab16bc9..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/lime_parachute.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_lime_dye": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:white_parachute" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:lime_parachute" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_lime_dye" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:lime_parachute" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/lunar_sapphire_from_block.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/lunar_sapphire_from_block.json deleted file mode 100644 index fb3c4eae81..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/lunar_sapphire_from_block.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_lunar_sapphire_block": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:lunar_sapphire_block" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:lunar_sapphire_from_block" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_lunar_sapphire_block" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:lunar_sapphire_from_block" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/magenta_parachute.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/magenta_parachute.json deleted file mode 100644 index b827b30c19..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/magenta_parachute.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_magenta_dye": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:white_parachute" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:magenta_parachute" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_magenta_dye" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:magenta_parachute" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/medium_oxygen_tank.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/medium_oxygen_tank.json deleted file mode 100644 index be7cc13348..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/medium_oxygen_tank.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:medium_oxygen_tank" - }, - "trigger": "minecraft:recipe_unlocked" - }, - "has_tin_canister": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:tin_canister" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_tin_canister" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:medium_oxygen_tank" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/meteoric_iron_ingot_from_blasting_raw_meteoric_iron.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/meteoric_iron_ingot_from_blasting_raw_meteoric_iron.json deleted file mode 100644 index c19a93257e..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/meteoric_iron_ingot_from_blasting_raw_meteoric_iron.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_raw_meteoric_iron": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:raw_meteoric_iron" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "minecraft:meteoric_iron_ingot_from_blasting_raw_meteoric_iron" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_raw_meteoric_iron" - ] - ], - "rewards": { - "recipes": [ - "minecraft:meteoric_iron_ingot_from_blasting_raw_meteoric_iron" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/meteoric_iron_ingot_from_block.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/meteoric_iron_ingot_from_block.json deleted file mode 100644 index 032732711c..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/meteoric_iron_ingot_from_block.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_meteoric_iron_block": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:meteoric_iron_block" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:meteoric_iron_ingot_from_block" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_meteoric_iron_block" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:meteoric_iron_ingot_from_block" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/meteoric_iron_ingot_from_nuggets.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/meteoric_iron_ingot_from_nuggets.json deleted file mode 100644 index 0fc72fb635..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/meteoric_iron_ingot_from_nuggets.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_meteoric_iron_nugget": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:meteoric_iron_nugget" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:meteoric_iron_ingot_from_nuggets" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_meteoric_iron_nugget" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:meteoric_iron_ingot_from_nuggets" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/meteoric_iron_ingot_from_smelting_raw_meteoric_iron.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/meteoric_iron_ingot_from_smelting_raw_meteoric_iron.json deleted file mode 100644 index 1a2ed5b5e7..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/meteoric_iron_ingot_from_smelting_raw_meteoric_iron.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_raw_meteoric_iron": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:raw_meteoric_iron" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "minecraft:meteoric_iron_ingot_from_smelting_raw_meteoric_iron" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_raw_meteoric_iron" - ] - ], - "rewards": { - "recipes": [ - "minecraft:meteoric_iron_ingot_from_smelting_raw_meteoric_iron" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/meteoric_iron_nugget.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/meteoric_iron_nugget.json deleted file mode 100644 index eebbf3a439..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/meteoric_iron_nugget.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_meteoric_iron_ingot": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:meteoric_iron_ingot" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:meteoric_iron_nugget" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_meteoric_iron_ingot" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:meteoric_iron_nugget" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/nose_cone.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/nose_cone.json deleted file mode 100644 index 3175dcbebe..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/nose_cone.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_heavy_plating": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:heavy_plating" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:nose_cone" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_heavy_plating" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:nose_cone" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/orange_parachute.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/orange_parachute.json deleted file mode 100644 index b85581d93a..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/orange_parachute.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_orange_dye": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:white_parachute" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:orange_parachute" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_orange_dye" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:orange_parachute" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/orion_drive.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/orion_drive.json deleted file mode 100644 index 9addcc46a3..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/orion_drive.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_ilmenite_ore": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:ilmenite_ore" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:orion_drive" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_ilmenite_ore" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:orion_drive" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/oxygen_bubble_distributor.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/oxygen_bubble_distributor.json deleted file mode 100644 index 8c0e5e7b00..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/oxygen_bubble_distributor.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_steel": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_steel" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:oxygen_bubble_distributor" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_steel" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:oxygen_bubble_distributor" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/oxygen_collector.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/oxygen_collector.json deleted file mode 100644 index 37cdc322e7..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/oxygen_collector.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_oxygen_concentrator": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:oxygen_concentrator" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:oxygen_collector" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_oxygen_concentrator" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:oxygen_collector" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/oxygen_compressor.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/oxygen_compressor.json deleted file mode 100644 index 8becab622a..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/oxygen_compressor.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_oxygen_concentrator": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:oxygen_concentrator" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:oxygen_compressor" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_oxygen_concentrator" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:oxygen_compressor" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/oxygen_concentrator.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/oxygen_concentrator.json deleted file mode 100644 index 401445053f..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/oxygen_concentrator.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_oxygen_vent": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:oxygen_vent" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:oxygen_concentrator" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_oxygen_vent" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:oxygen_concentrator" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/oxygen_decompressor.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/oxygen_decompressor.json deleted file mode 100644 index 9f8dec190b..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/oxygen_decompressor.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_oxygen_concentrator": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:oxygen_concentrator" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:oxygen_decompressor" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_oxygen_concentrator" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:oxygen_decompressor" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/oxygen_fan.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/oxygen_fan.json deleted file mode 100644 index e892116a75..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/oxygen_fan.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_basic_wafer": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:basic_wafer" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:oxygen_fan" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_basic_wafer" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:oxygen_fan" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/oxygen_gear.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/oxygen_gear.json deleted file mode 100644 index 259ef5d440..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/oxygen_gear.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_glass_fluid_pipe": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:glass_fluid_pipe" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:oxygen_gear" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_glass_fluid_pipe" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:oxygen_gear" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/oxygen_mask.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/oxygen_mask.json deleted file mode 100644 index 060963dec4..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/oxygen_mask.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_glass_pane": { - "conditions": { - "items": [ - { - "items": [ - "minecraft:glass_pane" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:oxygen_mask" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_glass_pane" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:oxygen_mask" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/oxygen_sealer.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/oxygen_sealer.json deleted file mode 100644 index c58eff3ef4..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/oxygen_sealer.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_oxygen_fan": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:oxygen_fan" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:oxygen_sealer" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_oxygen_fan" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:oxygen_sealer" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/oxygen_storage_module.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/oxygen_storage_module.json deleted file mode 100644 index df11530dd3..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/oxygen_storage_module.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_large_oxygen_tank": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:large_oxygen_tank" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:oxygen_storage_module" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_large_oxygen_tank" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:oxygen_storage_module" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/oxygen_vent.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/oxygen_vent.json deleted file mode 100644 index ffdc66ef98..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/oxygen_vent.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_tin": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_tin" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:oxygen_vent" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_tin" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:oxygen_vent" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/pink_parachute.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/pink_parachute.json deleted file mode 100644 index 2f3b89913c..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/pink_parachute.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_pink_dye": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:white_parachute" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:pink_parachute" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_pink_dye" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:pink_parachute" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/purple_parachute.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/purple_parachute.json deleted file mode 100644 index aeb7dd5adb..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/purple_parachute.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_purple_dye": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:white_parachute" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:purple_parachute" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_purple_dye" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:purple_parachute" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/red_parachute.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/red_parachute.json deleted file mode 100644 index 042c515a3e..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/red_parachute.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_red_dye": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:white_parachute" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:red_parachute" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_red_dye" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:red_parachute" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/refinery.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/refinery.json deleted file mode 100644 index 1e55273fdb..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/refinery.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_crude_oil_bucket": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:crude_oil_bucket" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:refinery" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_crude_oil_bucket" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:refinery" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/rocket_engine.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/rocket_engine.json deleted file mode 100644 index 189f298be2..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/rocket_engine.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_heavy_plating": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:heavy_plating" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:rocket_engine" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_heavy_plating" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:rocket_engine" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/rocket_fin.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/rocket_fin.json deleted file mode 100644 index 29917ea7db..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/rocket_fin.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_heavy_plating": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:heavy_plating" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:rocket_fin" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_heavy_plating" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:rocket_fin" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/rocket_workbench.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/rocket_workbench.json deleted file mode 100644 index 4105f94746..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/rocket_workbench.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_advanced_wafer": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:advanced_wafer" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:rocket_workbench" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_advanced_wafer" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:rocket_workbench" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/sealable_aluminum_wire.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/sealable_aluminum_wire.json deleted file mode 100644 index 2c09ac39e7..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/sealable_aluminum_wire.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_aluminum_wire": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:aluminum_wire" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:sealable_aluminum_wire" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_aluminum_wire" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:sealable_aluminum_wire" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/sensor_glasses.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/sensor_glasses.json deleted file mode 100644 index 03d3beed6d..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/sensor_glasses.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_sensor_lens": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:sensor_lens" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:sensor_glasses" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_sensor_lens" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:sensor_glasses" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/sensor_lens.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/sensor_lens.json deleted file mode 100644 index 3a67263d4f..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/sensor_lens.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_meteoric_iron": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_meteoric_iron" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:sensor_lens" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_meteoric_iron" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:sensor_lens" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/single_solar_module.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/single_solar_module.json deleted file mode 100644 index 1abf578802..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/single_solar_module.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_solar_array_wafer": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:solar_array_wafer" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:single_solar_module" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_solar_array_wafer" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:single_solar_module" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/small_oxygen_tank.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/small_oxygen_tank.json deleted file mode 100644 index 71e9ee51b8..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/small_oxygen_tank.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:small_oxygen_tank" - }, - "trigger": "minecraft:recipe_unlocked" - }, - "has_tin_canister": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:tin_canister" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_tin_canister" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:small_oxygen_tank" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/standard_wrench.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/standard_wrench.json deleted file mode 100644 index bf74fb52fb..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/standard_wrench.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_steel": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_steel" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:standard_wrench" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_steel" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:standard_wrench" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/steel_pole.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/steel_pole.json deleted file mode 100644 index fe4015913c..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/steel_pole.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_steel": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_steel" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:steel_pole" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_steel" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:steel_pole" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/thermal_cloth.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/thermal_cloth.json deleted file mode 100644 index d80abdebce..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/thermal_cloth.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:thermal_cloth" - }, - "trigger": "minecraft:recipe_unlocked" - }, - "has_wool": { - "conditions": { - "items": [ - { - "tag": "minecraft:wool" - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_wool" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:thermal_cloth" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/thermal_padding_boots.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/thermal_padding_boots.json deleted file mode 100644 index 9eef69ce18..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/thermal_padding_boots.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:thermal_padding_boots" - }, - "trigger": "minecraft:recipe_unlocked" - }, - "has_thermal_cloth": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:thermal_cloth" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_thermal_cloth" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:thermal_padding_boots" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/thermal_padding_chestpiece.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/thermal_padding_chestpiece.json deleted file mode 100644 index c0bea409be..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/thermal_padding_chestpiece.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:thermal_padding_chestpiece" - }, - "trigger": "minecraft:recipe_unlocked" - }, - "has_thermal_cloth": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:thermal_cloth" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_thermal_cloth" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:thermal_padding_chestpiece" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/thermal_padding_helmet.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/thermal_padding_helmet.json deleted file mode 100644 index b497e66f7e..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/thermal_padding_helmet.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:thermal_padding_helmet" - }, - "trigger": "minecraft:recipe_unlocked" - }, - "has_thermal_cloth": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:thermal_cloth" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_thermal_cloth" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:thermal_padding_helmet" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/thermal_padding_leggings.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/thermal_padding_leggings.json deleted file mode 100644 index 5444f63429..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/thermal_padding_leggings.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:thermal_padding_leggings" - }, - "trigger": "minecraft:recipe_unlocked" - }, - "has_thermal_cloth": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:thermal_cloth" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_thermal_cloth" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:thermal_padding_leggings" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/tin_canister.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/tin_canister.json deleted file mode 100644 index b121421b60..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/tin_canister.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:tin_canister" - }, - "trigger": "minecraft:recipe_unlocked" - }, - "has_tin_ingot": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:tin_ingot" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_tin_ingot" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:tin_canister" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/tin_ingot_from_blasting_deepslate_tin_ore.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/tin_ingot_from_blasting_deepslate_tin_ore.json deleted file mode 100644 index 6d6fc42668..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/tin_ingot_from_blasting_deepslate_tin_ore.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_deepslate_tin_ore": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:deepslate_tin_ore" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "minecraft:tin_ingot_from_blasting_deepslate_tin_ore" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_deepslate_tin_ore" - ] - ], - "rewards": { - "recipes": [ - "minecraft:tin_ingot_from_blasting_deepslate_tin_ore" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/tin_ingot_from_blasting_moon_tin_ore.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/tin_ingot_from_blasting_moon_tin_ore.json deleted file mode 100644 index 9d6595ef77..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/tin_ingot_from_blasting_moon_tin_ore.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_moon_tin_ore": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:moon_tin_ore" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "minecraft:tin_ingot_from_blasting_moon_tin_ore" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_moon_tin_ore" - ] - ], - "rewards": { - "recipes": [ - "minecraft:tin_ingot_from_blasting_moon_tin_ore" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/tin_ingot_from_blasting_raw_tin.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/tin_ingot_from_blasting_raw_tin.json deleted file mode 100644 index 4db7e679f8..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/tin_ingot_from_blasting_raw_tin.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_raw_tin": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:raw_tin" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "minecraft:tin_ingot_from_blasting_raw_tin" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_raw_tin" - ] - ], - "rewards": { - "recipes": [ - "minecraft:tin_ingot_from_blasting_raw_tin" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/tin_ingot_from_blasting_tin_ore.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/tin_ingot_from_blasting_tin_ore.json deleted file mode 100644 index 7f17c19ff6..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/tin_ingot_from_blasting_tin_ore.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_the_recipe": { - "conditions": { - "recipe": "minecraft:tin_ingot_from_blasting_tin_ore" - }, - "trigger": "minecraft:recipe_unlocked" - }, - "has_tin_ore": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:tin_ore" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_tin_ore" - ] - ], - "rewards": { - "recipes": [ - "minecraft:tin_ingot_from_blasting_tin_ore" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/tin_ingot_from_nuggets.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/tin_ingot_from_nuggets.json deleted file mode 100644 index 2d4c2f2ee7..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/tin_ingot_from_nuggets.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:tin_ingot_from_nuggets" - }, - "trigger": "minecraft:recipe_unlocked" - }, - "has_tin_nugget": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:tin_nugget" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_tin_nugget" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:tin_ingot_from_nuggets" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/tin_ingot_from_smelting_deepslate_tin_ore.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/tin_ingot_from_smelting_deepslate_tin_ore.json deleted file mode 100644 index 86ef4d9a60..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/tin_ingot_from_smelting_deepslate_tin_ore.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_deepslate_tin_ore": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:deepslate_tin_ore" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "minecraft:tin_ingot_from_smelting_deepslate_tin_ore" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_deepslate_tin_ore" - ] - ], - "rewards": { - "recipes": [ - "minecraft:tin_ingot_from_smelting_deepslate_tin_ore" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/tin_ingot_from_smelting_moon_tin_ore.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/tin_ingot_from_smelting_moon_tin_ore.json deleted file mode 100644 index b12b6f2c1a..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/tin_ingot_from_smelting_moon_tin_ore.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_moon_tin_ore": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:moon_tin_ore" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "minecraft:tin_ingot_from_smelting_moon_tin_ore" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_moon_tin_ore" - ] - ], - "rewards": { - "recipes": [ - "minecraft:tin_ingot_from_smelting_moon_tin_ore" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/tin_ingot_from_smelting_raw_tin.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/tin_ingot_from_smelting_raw_tin.json deleted file mode 100644 index 8632d8008a..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/tin_ingot_from_smelting_raw_tin.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_raw_tin": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:raw_tin" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "minecraft:tin_ingot_from_smelting_raw_tin" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_raw_tin" - ] - ], - "rewards": { - "recipes": [ - "minecraft:tin_ingot_from_smelting_raw_tin" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/tin_ingot_from_smelting_tin_ore.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/tin_ingot_from_smelting_tin_ore.json deleted file mode 100644 index e46d9c3672..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/tin_ingot_from_smelting_tin_ore.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_the_recipe": { - "conditions": { - "recipe": "minecraft:tin_ingot_from_smelting_tin_ore" - }, - "trigger": "minecraft:recipe_unlocked" - }, - "has_tin_ore": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:tin_ore" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_tin_ore" - ] - ], - "rewards": { - "recipes": [ - "minecraft:tin_ingot_from_smelting_tin_ore" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/tin_nugget.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/tin_nugget.json deleted file mode 100644 index ef4f0086ad..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/tin_nugget.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:tin_nugget" - }, - "trigger": "minecraft:recipe_unlocked" - }, - "has_tin_ingot": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:tin_ingot" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_tin_ingot" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:tin_nugget" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/titanium_ingot_from_blasting_ilmenite_ore.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/titanium_ingot_from_blasting_ilmenite_ore.json deleted file mode 100644 index 8a900c7c4d..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/titanium_ingot_from_blasting_ilmenite_ore.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_ilmenite_ore": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:ilmenite_ore" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "minecraft:titanium_ingot_from_blasting_ilmenite_ore" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_ilmenite_ore" - ] - ], - "rewards": { - "recipes": [ - "minecraft:titanium_ingot_from_blasting_ilmenite_ore" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/titanium_ingot_from_blasting_raw_titanium.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/titanium_ingot_from_blasting_raw_titanium.json deleted file mode 100644 index 0da1d66c54..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/titanium_ingot_from_blasting_raw_titanium.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_raw_titanium": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:raw_titanium" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "minecraft:titanium_ingot_from_blasting_raw_titanium" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_raw_titanium" - ] - ], - "rewards": { - "recipes": [ - "minecraft:titanium_ingot_from_blasting_raw_titanium" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/titanium_ingot_from_block.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/titanium_ingot_from_block.json deleted file mode 100644 index 297fe7cd51..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/titanium_ingot_from_block.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:titanium_ingot_from_block" - }, - "trigger": "minecraft:recipe_unlocked" - }, - "has_titanium_block": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:titanium_block" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_titanium_block" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:titanium_ingot_from_block" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/titanium_ingot_from_nuggets.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/titanium_ingot_from_nuggets.json deleted file mode 100644 index 19997282bb..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/titanium_ingot_from_nuggets.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:titanium_ingot_from_nuggets" - }, - "trigger": "minecraft:recipe_unlocked" - }, - "has_titanium_nugget": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:titanium_nugget" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_titanium_nugget" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:titanium_ingot_from_nuggets" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/titanium_ingot_from_smelting_ilmenite_ore.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/titanium_ingot_from_smelting_ilmenite_ore.json deleted file mode 100644 index d829425c6d..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/titanium_ingot_from_smelting_ilmenite_ore.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_ilmenite_ore": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:ilmenite_ore" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "minecraft:titanium_ingot_from_smelting_ilmenite_ore" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_ilmenite_ore" - ] - ], - "rewards": { - "recipes": [ - "minecraft:titanium_ingot_from_smelting_ilmenite_ore" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/titanium_ingot_from_smelting_raw_titanium.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/titanium_ingot_from_smelting_raw_titanium.json deleted file mode 100644 index 62419d719d..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/titanium_ingot_from_smelting_raw_titanium.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_raw_titanium": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:raw_titanium" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "minecraft:titanium_ingot_from_smelting_raw_titanium" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_raw_titanium" - ] - ], - "rewards": { - "recipes": [ - "minecraft:titanium_ingot_from_smelting_raw_titanium" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/titanium_nugget.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/titanium_nugget.json deleted file mode 100644 index b37f736b05..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/titanium_nugget.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:titanium_nugget" - }, - "trigger": "minecraft:recipe_unlocked" - }, - "has_titanium_ingot": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:titanium_ingot" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_titanium_ingot" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:titanium_nugget" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/walkway.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/walkway.json deleted file mode 100644 index 90bf5eb798..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/walkway.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_titanium": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_titanium" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:walkway" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_titanium" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:walkway" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/white_parachute.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/white_parachute.json deleted file mode 100644 index 7691de55ee..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/white_parachute.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_canvas": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:canvas" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:white_parachute" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_canvas" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:white_parachute" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/wire_walkway.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/wire_walkway.json deleted file mode 100644 index da613b4575..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/wire_walkway.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:wire_walkway" - }, - "trigger": "minecraft:recipe_unlocked" - }, - "has_walkway": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:walkway" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_walkway" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:wire_walkway" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/wire_walkway_shapeless.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/wire_walkway_shapeless.json deleted file mode 100644 index 4e9abb91cb..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/wire_walkway_shapeless.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:wire_walkway_shapeless" - }, - "trigger": "minecraft:recipe_unlocked" - }, - "has_walkway": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:walkway" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_walkway" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:wire_walkway_shapeless" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/misc/yellow_parachute.json b/src/main/generated/data/galacticraft/advancements/recipes/misc/yellow_parachute.json deleted file mode 100644 index c42273fa9f..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/misc/yellow_parachute.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:yellow_parachute" - }, - "trigger": "minecraft:recipe_unlocked" - }, - "has_yellow_dye": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:white_parachute" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_yellow_dye" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:yellow_parachute" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/tools/desh_axe.json b/src/main/generated/data/galacticraft/advancements/recipes/tools/desh_axe.json deleted file mode 100644 index e0809b9dd0..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/tools/desh_axe.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_desh_ingot": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:desh_ingot" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:desh_axe" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_desh_ingot" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:desh_axe" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/tools/desh_axe_flipped.json b/src/main/generated/data/galacticraft/advancements/recipes/tools/desh_axe_flipped.json deleted file mode 100644 index c1e553dc8f..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/tools/desh_axe_flipped.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_desh_ingot": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:desh_ingot" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:desh_axe_flipped" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_desh_ingot" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:desh_axe_flipped" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/tools/desh_hoe.json b/src/main/generated/data/galacticraft/advancements/recipes/tools/desh_hoe.json deleted file mode 100644 index c6e152c115..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/tools/desh_hoe.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_desh_ingot": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:desh_ingot" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:desh_hoe" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_desh_ingot" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:desh_hoe" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/tools/desh_hoe_flipped.json b/src/main/generated/data/galacticraft/advancements/recipes/tools/desh_hoe_flipped.json deleted file mode 100644 index df601e6d82..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/tools/desh_hoe_flipped.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_desh_ingot": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:desh_ingot" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:desh_hoe_flipped" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_desh_ingot" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:desh_hoe_flipped" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/tools/desh_pickaxe.json b/src/main/generated/data/galacticraft/advancements/recipes/tools/desh_pickaxe.json deleted file mode 100644 index c94fa55e95..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/tools/desh_pickaxe.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_desh_ingot": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:desh_ingot" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:desh_pickaxe" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_desh_ingot" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:desh_pickaxe" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/tools/desh_shovel.json b/src/main/generated/data/galacticraft/advancements/recipes/tools/desh_shovel.json deleted file mode 100644 index aaaa836ac4..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/tools/desh_shovel.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_desh_ingot": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:desh_ingot" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:desh_shovel" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_desh_ingot" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:desh_shovel" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/tools/heavy_duty_axe.json b/src/main/generated/data/galacticraft/advancements/recipes/tools/heavy_duty_axe.json deleted file mode 100644 index 7b60bd383a..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/tools/heavy_duty_axe.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_steel": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_steel" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:heavy_duty_axe" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_steel" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:heavy_duty_axe" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/tools/heavy_duty_axe_flipped.json b/src/main/generated/data/galacticraft/advancements/recipes/tools/heavy_duty_axe_flipped.json deleted file mode 100644 index 776b58fff5..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/tools/heavy_duty_axe_flipped.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_steel": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_steel" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:heavy_duty_axe_flipped" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_steel" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:heavy_duty_axe_flipped" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/tools/heavy_duty_hoe.json b/src/main/generated/data/galacticraft/advancements/recipes/tools/heavy_duty_hoe.json deleted file mode 100644 index 300d7e017b..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/tools/heavy_duty_hoe.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_steel": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_steel" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:heavy_duty_hoe" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_steel" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:heavy_duty_hoe" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/tools/heavy_duty_hoe_flipped.json b/src/main/generated/data/galacticraft/advancements/recipes/tools/heavy_duty_hoe_flipped.json deleted file mode 100644 index 27734bea84..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/tools/heavy_duty_hoe_flipped.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_steel": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_steel" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:heavy_duty_hoe_flipped" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_steel" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:heavy_duty_hoe_flipped" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/tools/heavy_duty_pickaxe.json b/src/main/generated/data/galacticraft/advancements/recipes/tools/heavy_duty_pickaxe.json deleted file mode 100644 index 511aa6e9e9..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/tools/heavy_duty_pickaxe.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_steel": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_steel" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:heavy_duty_pickaxe" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_steel" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:heavy_duty_pickaxe" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/tools/heavy_duty_shovel.json b/src/main/generated/data/galacticraft/advancements/recipes/tools/heavy_duty_shovel.json deleted file mode 100644 index 4574412bb5..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/tools/heavy_duty_shovel.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_steel": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_steel" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:heavy_duty_shovel" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_steel" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:heavy_duty_shovel" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/tools/titanium_axe_smithing.json b/src/main/generated/data/galacticraft/advancements/recipes/tools/titanium_axe_smithing.json deleted file mode 100644 index 505915c2be..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/tools/titanium_axe_smithing.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_titanium": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_titanium" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "minecraft:titanium_axe_smithing" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_titanium" - ] - ], - "rewards": { - "recipes": [ - "minecraft:titanium_axe_smithing" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/tools/titanium_hoe_smithing.json b/src/main/generated/data/galacticraft/advancements/recipes/tools/titanium_hoe_smithing.json deleted file mode 100644 index 552fa6999a..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/tools/titanium_hoe_smithing.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_titanium": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_titanium" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "minecraft:titanium_hoe_smithing" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_titanium" - ] - ], - "rewards": { - "recipes": [ - "minecraft:titanium_hoe_smithing" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/tools/titanium_pickaxe_smithing.json b/src/main/generated/data/galacticraft/advancements/recipes/tools/titanium_pickaxe_smithing.json deleted file mode 100644 index b097025607..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/tools/titanium_pickaxe_smithing.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_titanium": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_titanium" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "minecraft:titanium_pickaxe_smithing" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_titanium" - ] - ], - "rewards": { - "recipes": [ - "minecraft:titanium_pickaxe_smithing" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/tools/titanium_shovel_smithing.json b/src/main/generated/data/galacticraft/advancements/recipes/tools/titanium_shovel_smithing.json deleted file mode 100644 index d02a734121..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/tools/titanium_shovel_smithing.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_titanium": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_titanium" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "minecraft:titanium_shovel_smithing" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_titanium" - ] - ], - "rewards": { - "recipes": [ - "minecraft:titanium_shovel_smithing" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/transportation/fueling_pad.json b/src/main/generated/data/galacticraft/advancements/recipes/transportation/fueling_pad.json deleted file mode 100644 index 91880f5c83..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/transportation/fueling_pad.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_compressed_steel": { - "conditions": { - "items": [ - { - "items": [ - "galacticraft:compressed_steel" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:fueling_pad" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_compressed_steel" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:fueling_pad" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/advancements/recipes/transportation/rocket_launch_pad.json b/src/main/generated/data/galacticraft/advancements/recipes/transportation/rocket_launch_pad.json deleted file mode 100644 index b5b9061300..0000000000 --- a/src/main/generated/data/galacticraft/advancements/recipes/transportation/rocket_launch_pad.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_iron_block": { - "conditions": { - "items": [ - { - "items": [ - "minecraft:iron_block" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "galacticraft:rocket_launch_pad" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_iron_block" - ] - ], - "rewards": { - "recipes": [ - "galacticraft:rocket_launch_pad" - ] - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/banner_pattern/rocket.json b/src/main/generated/data/galacticraft/banner_pattern/rocket.json new file mode 100644 index 0000000000..a5457081bd --- /dev/null +++ b/src/main/generated/data/galacticraft/banner_pattern/rocket.json @@ -0,0 +1,4 @@ +{ + "asset_id": "galacticraft:rocket", + "translation_key": "banner_pattern.galacticraft.rocket" +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/dimension_type/moon.json b/src/main/generated/data/galacticraft/dimension_type/moon.json index 0123cdd3aa..b4d2a56cfb 100644 --- a/src/main/generated/data/galacticraft/dimension_type/moon.json +++ b/src/main/generated/data/galacticraft/dimension_type/moon.json @@ -13,10 +13,8 @@ "monster_spawn_block_light_limit": 0, "monster_spawn_light_level": { "type": "minecraft:uniform", - "value": { - "max_inclusive": 7, - "min_inclusive": 0 - } + "max_inclusive": 7, + "min_inclusive": 0 }, "natural": true, "piglin_safe": false, diff --git a/src/main/generated/data/galacticraft/dimension_type/venus.json b/src/main/generated/data/galacticraft/dimension_type/venus.json index d23582d501..44c647f056 100644 --- a/src/main/generated/data/galacticraft/dimension_type/venus.json +++ b/src/main/generated/data/galacticraft/dimension_type/venus.json @@ -13,10 +13,8 @@ "monster_spawn_block_light_limit": 0, "monster_spawn_light_level": { "type": "minecraft:uniform", - "value": { - "max_inclusive": 7, - "min_inclusive": 0 - } + "max_inclusive": 7, + "min_inclusive": 0 }, "natural": false, "piglin_safe": false, diff --git a/src/main/generated/data/galacticraft/celestial_body/asteroid.json b/src/main/generated/data/galacticraft/galacticraft/celestial_body/asteroid.json similarity index 100% rename from src/main/generated/data/galacticraft/celestial_body/asteroid.json rename to src/main/generated/data/galacticraft/galacticraft/celestial_body/asteroid.json diff --git a/src/main/generated/data/galacticraft/celestial_body/earth.json b/src/main/generated/data/galacticraft/galacticraft/celestial_body/earth.json similarity index 100% rename from src/main/generated/data/galacticraft/celestial_body/earth.json rename to src/main/generated/data/galacticraft/galacticraft/celestial_body/earth.json diff --git a/src/main/generated/data/galacticraft/celestial_body/jupiter.json b/src/main/generated/data/galacticraft/galacticraft/celestial_body/jupiter.json similarity index 100% rename from src/main/generated/data/galacticraft/celestial_body/jupiter.json rename to src/main/generated/data/galacticraft/galacticraft/celestial_body/jupiter.json diff --git a/src/main/generated/data/galacticraft/celestial_body/mars.json b/src/main/generated/data/galacticraft/galacticraft/celestial_body/mars.json similarity index 100% rename from src/main/generated/data/galacticraft/celestial_body/mars.json rename to src/main/generated/data/galacticraft/galacticraft/celestial_body/mars.json diff --git a/src/main/generated/data/galacticraft/celestial_body/mercury.json b/src/main/generated/data/galacticraft/galacticraft/celestial_body/mercury.json similarity index 100% rename from src/main/generated/data/galacticraft/celestial_body/mercury.json rename to src/main/generated/data/galacticraft/galacticraft/celestial_body/mercury.json diff --git a/src/main/generated/data/galacticraft/celestial_body/moon.json b/src/main/generated/data/galacticraft/galacticraft/celestial_body/moon.json similarity index 100% rename from src/main/generated/data/galacticraft/celestial_body/moon.json rename to src/main/generated/data/galacticraft/galacticraft/celestial_body/moon.json diff --git a/src/main/generated/data/galacticraft/celestial_body/neptune.json b/src/main/generated/data/galacticraft/galacticraft/celestial_body/neptune.json similarity index 100% rename from src/main/generated/data/galacticraft/celestial_body/neptune.json rename to src/main/generated/data/galacticraft/galacticraft/celestial_body/neptune.json diff --git a/src/main/generated/data/galacticraft/celestial_body/saturn.json b/src/main/generated/data/galacticraft/galacticraft/celestial_body/saturn.json similarity index 100% rename from src/main/generated/data/galacticraft/celestial_body/saturn.json rename to src/main/generated/data/galacticraft/galacticraft/celestial_body/saturn.json diff --git a/src/main/generated/data/galacticraft/celestial_body/sol.json b/src/main/generated/data/galacticraft/galacticraft/celestial_body/sol.json similarity index 100% rename from src/main/generated/data/galacticraft/celestial_body/sol.json rename to src/main/generated/data/galacticraft/galacticraft/celestial_body/sol.json diff --git a/src/main/generated/data/galacticraft/celestial_body/uranus.json b/src/main/generated/data/galacticraft/galacticraft/celestial_body/uranus.json similarity index 100% rename from src/main/generated/data/galacticraft/celestial_body/uranus.json rename to src/main/generated/data/galacticraft/galacticraft/celestial_body/uranus.json diff --git a/src/main/generated/data/galacticraft/celestial_body/venus.json b/src/main/generated/data/galacticraft/galacticraft/celestial_body/venus.json similarity index 100% rename from src/main/generated/data/galacticraft/celestial_body/venus.json rename to src/main/generated/data/galacticraft/galacticraft/celestial_body/venus.json diff --git a/src/main/generated/data/galacticraft/celestial_teleporter/direct.json b/src/main/generated/data/galacticraft/galacticraft/celestial_teleporter/direct.json similarity index 100% rename from src/main/generated/data/galacticraft/celestial_teleporter/direct.json rename to src/main/generated/data/galacticraft/galacticraft/celestial_teleporter/direct.json diff --git a/src/main/generated/data/galacticraft/celestial_teleporter/lander.json b/src/main/generated/data/galacticraft/galacticraft/celestial_teleporter/lander.json similarity index 100% rename from src/main/generated/data/galacticraft/celestial_teleporter/lander.json rename to src/main/generated/data/galacticraft/galacticraft/celestial_teleporter/lander.json diff --git a/src/main/generated/data/galacticraft/celestial_teleporter/overworld.json b/src/main/generated/data/galacticraft/galacticraft/celestial_teleporter/overworld.json similarity index 100% rename from src/main/generated/data/galacticraft/celestial_teleporter/overworld.json rename to src/main/generated/data/galacticraft/galacticraft/celestial_teleporter/overworld.json diff --git a/src/main/generated/data/galacticraft/galaxy/milky_way.json b/src/main/generated/data/galacticraft/galacticraft/galaxy/milky_way.json similarity index 100% rename from src/main/generated/data/galacticraft/galaxy/milky_way.json rename to src/main/generated/data/galacticraft/galacticraft/galaxy/milky_way.json diff --git a/src/main/generated/data/galacticraft/rocket_body/tier_1.json b/src/main/generated/data/galacticraft/galacticraft/rocket_body/tier_1.json similarity index 100% rename from src/main/generated/data/galacticraft/rocket_body/tier_1.json rename to src/main/generated/data/galacticraft/galacticraft/rocket_body/tier_1.json diff --git a/src/main/generated/data/galacticraft/rocket_booster/tier_1.json b/src/main/generated/data/galacticraft/galacticraft/rocket_booster/tier_1.json similarity index 100% rename from src/main/generated/data/galacticraft/rocket_booster/tier_1.json rename to src/main/generated/data/galacticraft/galacticraft/rocket_booster/tier_1.json diff --git a/src/main/generated/data/galacticraft/rocket_cone/advanced_cone.json b/src/main/generated/data/galacticraft/galacticraft/rocket_cone/advanced_cone.json similarity index 100% rename from src/main/generated/data/galacticraft/rocket_cone/advanced_cone.json rename to src/main/generated/data/galacticraft/galacticraft/rocket_cone/advanced_cone.json diff --git a/src/main/generated/data/galacticraft/rocket_cone/sloped_cone.json b/src/main/generated/data/galacticraft/galacticraft/rocket_cone/sloped_cone.json similarity index 100% rename from src/main/generated/data/galacticraft/rocket_cone/sloped_cone.json rename to src/main/generated/data/galacticraft/galacticraft/rocket_cone/sloped_cone.json diff --git a/src/main/generated/data/galacticraft/rocket_cone/tier_1.json b/src/main/generated/data/galacticraft/galacticraft/rocket_cone/tier_1.json similarity index 100% rename from src/main/generated/data/galacticraft/rocket_cone/tier_1.json rename to src/main/generated/data/galacticraft/galacticraft/rocket_cone/tier_1.json diff --git a/src/main/generated/data/galacticraft/rocket_engine/tier_1.json b/src/main/generated/data/galacticraft/galacticraft/rocket_engine/tier_1.json similarity index 100% rename from src/main/generated/data/galacticraft/rocket_engine/tier_1.json rename to src/main/generated/data/galacticraft/galacticraft/rocket_engine/tier_1.json diff --git a/src/main/generated/data/galacticraft/rocket_fin/tier_1.json b/src/main/generated/data/galacticraft/galacticraft/rocket_fin/tier_1.json similarity index 100% rename from src/main/generated/data/galacticraft/rocket_fin/tier_1.json rename to src/main/generated/data/galacticraft/galacticraft/rocket_fin/tier_1.json diff --git a/src/main/generated/data/galacticraft/rocket_upgrade/storage.json b/src/main/generated/data/galacticraft/galacticraft/rocket_upgrade/storage.json similarity index 100% rename from src/main/generated/data/galacticraft/rocket_upgrade/storage.json rename to src/main/generated/data/galacticraft/galacticraft/rocket_upgrade/storage.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/advanced_solar_panel.json b/src/main/generated/data/galacticraft/loot_table/blocks/advanced_solar_panel.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/advanced_solar_panel.json rename to src/main/generated/data/galacticraft/loot_table/blocks/advanced_solar_panel.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/air_lock_controller.json b/src/main/generated/data/galacticraft/loot_table/blocks/air_lock_controller.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/air_lock_controller.json rename to src/main/generated/data/galacticraft/loot_table/blocks/air_lock_controller.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/air_lock_frame.json b/src/main/generated/data/galacticraft/loot_table/blocks/air_lock_frame.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/air_lock_frame.json rename to src/main/generated/data/galacticraft/loot_table/blocks/air_lock_frame.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/air_lock_seal.json b/src/main/generated/data/galacticraft/loot_table/blocks/air_lock_seal.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/air_lock_seal.json rename to src/main/generated/data/galacticraft/loot_table/blocks/air_lock_seal.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/aluminum_decoration.json b/src/main/generated/data/galacticraft/loot_table/blocks/aluminum_decoration.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/aluminum_decoration.json rename to src/main/generated/data/galacticraft/loot_table/blocks/aluminum_decoration.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/aluminum_decoration_slab.json b/src/main/generated/data/galacticraft/loot_table/blocks/aluminum_decoration_slab.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/aluminum_decoration_slab.json rename to src/main/generated/data/galacticraft/loot_table/blocks/aluminum_decoration_slab.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/aluminum_decoration_stairs.json b/src/main/generated/data/galacticraft/loot_table/blocks/aluminum_decoration_stairs.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/aluminum_decoration_stairs.json rename to src/main/generated/data/galacticraft/loot_table/blocks/aluminum_decoration_stairs.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/aluminum_decoration_wall.json b/src/main/generated/data/galacticraft/loot_table/blocks/aluminum_decoration_wall.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/aluminum_decoration_wall.json rename to src/main/generated/data/galacticraft/loot_table/blocks/aluminum_decoration_wall.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/aluminum_ore.json b/src/main/generated/data/galacticraft/loot_table/blocks/aluminum_ore.json similarity index 75% rename from src/main/generated/data/galacticraft/loot_tables/blocks/aluminum_ore.json rename to src/main/generated/data/galacticraft/loot_table/blocks/aluminum_ore.json index 81c65c5224..c5eb4e17a5 100644 --- a/src/main/generated/data/galacticraft/loot_tables/blocks/aluminum_ore.json +++ b/src/main/generated/data/galacticraft/loot_table/blocks/aluminum_ore.json @@ -13,14 +13,16 @@ { "condition": "minecraft:match_tool", "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } } - } - ] + ] + } } } ], diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/aluminum_wire.json b/src/main/generated/data/galacticraft/loot_table/blocks/aluminum_wire.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/aluminum_wire.json rename to src/main/generated/data/galacticraft/loot_table/blocks/aluminum_wire.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/asteroid_aluminum_ore.json b/src/main/generated/data/galacticraft/loot_table/blocks/asteroid_aluminum_ore.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/asteroid_aluminum_ore.json rename to src/main/generated/data/galacticraft/loot_table/blocks/asteroid_aluminum_ore.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/asteroid_iron_ore.json b/src/main/generated/data/galacticraft/loot_table/blocks/asteroid_iron_ore.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/asteroid_iron_ore.json rename to src/main/generated/data/galacticraft/loot_table/blocks/asteroid_iron_ore.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/asteroid_rock.json b/src/main/generated/data/galacticraft/loot_table/blocks/asteroid_rock.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/asteroid_rock.json rename to src/main/generated/data/galacticraft/loot_table/blocks/asteroid_rock.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/asteroid_rock_block_1.json b/src/main/generated/data/galacticraft/loot_table/blocks/asteroid_rock_block_1.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/asteroid_rock_block_1.json rename to src/main/generated/data/galacticraft/loot_table/blocks/asteroid_rock_block_1.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/asteroid_rock_block_2.json b/src/main/generated/data/galacticraft/loot_table/blocks/asteroid_rock_block_2.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/asteroid_rock_block_2.json rename to src/main/generated/data/galacticraft/loot_table/blocks/asteroid_rock_block_2.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/asteroid_silicon_ore.json b/src/main/generated/data/galacticraft/loot_table/blocks/asteroid_silicon_ore.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/asteroid_silicon_ore.json rename to src/main/generated/data/galacticraft/loot_table/blocks/asteroid_silicon_ore.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/basic_solar_panel.json b/src/main/generated/data/galacticraft/loot_table/blocks/basic_solar_panel.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/basic_solar_panel.json rename to src/main/generated/data/galacticraft/loot_table/blocks/basic_solar_panel.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/black_candle_moon_cheese_block.json b/src/main/generated/data/galacticraft/loot_table/blocks/black_candle_moon_cheese_block.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/black_candle_moon_cheese_block.json rename to src/main/generated/data/galacticraft/loot_table/blocks/black_candle_moon_cheese_block.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/blue_candle_moon_cheese_block.json b/src/main/generated/data/galacticraft/loot_table/blocks/blue_candle_moon_cheese_block.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/blue_candle_moon_cheese_block.json rename to src/main/generated/data/galacticraft/loot_table/blocks/blue_candle_moon_cheese_block.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/bronze_decoration.json b/src/main/generated/data/galacticraft/loot_table/blocks/bronze_decoration.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/bronze_decoration.json rename to src/main/generated/data/galacticraft/loot_table/blocks/bronze_decoration.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/bronze_decoration_slab.json b/src/main/generated/data/galacticraft/loot_table/blocks/bronze_decoration_slab.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/bronze_decoration_slab.json rename to src/main/generated/data/galacticraft/loot_table/blocks/bronze_decoration_slab.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/bronze_decoration_stairs.json b/src/main/generated/data/galacticraft/loot_table/blocks/bronze_decoration_stairs.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/bronze_decoration_stairs.json rename to src/main/generated/data/galacticraft/loot_table/blocks/bronze_decoration_stairs.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/bronze_decoration_wall.json b/src/main/generated/data/galacticraft/loot_table/blocks/bronze_decoration_wall.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/bronze_decoration_wall.json rename to src/main/generated/data/galacticraft/loot_table/blocks/bronze_decoration_wall.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/brown_candle_moon_cheese_block.json b/src/main/generated/data/galacticraft/loot_table/blocks/brown_candle_moon_cheese_block.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/brown_candle_moon_cheese_block.json rename to src/main/generated/data/galacticraft/loot_table/blocks/brown_candle_moon_cheese_block.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/candle_moon_cheese_block.json b/src/main/generated/data/galacticraft/loot_table/blocks/candle_moon_cheese_block.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/candle_moon_cheese_block.json rename to src/main/generated/data/galacticraft/loot_table/blocks/candle_moon_cheese_block.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/cavernous_vines.json b/src/main/generated/data/galacticraft/loot_table/blocks/cavernous_vines.json similarity index 84% rename from src/main/generated/data/galacticraft/loot_tables/blocks/cavernous_vines.json rename to src/main/generated/data/galacticraft/loot_table/blocks/cavernous_vines.json index 8f057dc74c..61927b5f35 100644 --- a/src/main/generated/data/galacticraft/loot_tables/blocks/cavernous_vines.json +++ b/src/main/generated/data/galacticraft/loot_table/blocks/cavernous_vines.json @@ -7,9 +7,7 @@ { "condition": "minecraft:match_tool", "predicate": { - "items": [ - "minecraft:shears" - ] + "items": "minecraft:shears" } } ], diff --git a/src/main/generated/data/galacticraft/loot_table/blocks/chiseled_moon_rock_brick.json b/src/main/generated/data/galacticraft/loot_table/blocks/chiseled_moon_rock_brick.json new file mode 100644 index 0000000000..749d477fbc --- /dev/null +++ b/src/main/generated/data/galacticraft/loot_table/blocks/chiseled_moon_rock_brick.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "galacticraft:chiseled_moon_rock_brick" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/circuit_fabricator.json b/src/main/generated/data/galacticraft/loot_table/blocks/circuit_fabricator.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/circuit_fabricator.json rename to src/main/generated/data/galacticraft/loot_table/blocks/circuit_fabricator.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/coal_generator.json b/src/main/generated/data/galacticraft/loot_table/blocks/coal_generator.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/coal_generator.json rename to src/main/generated/data/galacticraft/loot_table/blocks/coal_generator.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/cobbled_lunaslate.json b/src/main/generated/data/galacticraft/loot_table/blocks/cobbled_lunaslate.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/cobbled_lunaslate.json rename to src/main/generated/data/galacticraft/loot_table/blocks/cobbled_lunaslate.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/cobbled_lunaslate_slab.json b/src/main/generated/data/galacticraft/loot_table/blocks/cobbled_lunaslate_slab.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/cobbled_lunaslate_slab.json rename to src/main/generated/data/galacticraft/loot_table/blocks/cobbled_lunaslate_slab.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/cobbled_lunaslate_stairs.json b/src/main/generated/data/galacticraft/loot_table/blocks/cobbled_lunaslate_stairs.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/cobbled_lunaslate_stairs.json rename to src/main/generated/data/galacticraft/loot_table/blocks/cobbled_lunaslate_stairs.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/cobbled_lunaslate_wall.json b/src/main/generated/data/galacticraft/loot_table/blocks/cobbled_lunaslate_wall.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/cobbled_lunaslate_wall.json rename to src/main/generated/data/galacticraft/loot_table/blocks/cobbled_lunaslate_wall.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/cobbled_moon_rock.json b/src/main/generated/data/galacticraft/loot_table/blocks/cobbled_moon_rock.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/cobbled_moon_rock.json rename to src/main/generated/data/galacticraft/loot_table/blocks/cobbled_moon_rock.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/cobbled_moon_rock_slab.json b/src/main/generated/data/galacticraft/loot_table/blocks/cobbled_moon_rock_slab.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/cobbled_moon_rock_slab.json rename to src/main/generated/data/galacticraft/loot_table/blocks/cobbled_moon_rock_slab.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/cobbled_moon_rock_stairs.json b/src/main/generated/data/galacticraft/loot_table/blocks/cobbled_moon_rock_stairs.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/cobbled_moon_rock_stairs.json rename to src/main/generated/data/galacticraft/loot_table/blocks/cobbled_moon_rock_stairs.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/cobbled_moon_rock_wall.json b/src/main/generated/data/galacticraft/loot_table/blocks/cobbled_moon_rock_wall.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/cobbled_moon_rock_wall.json rename to src/main/generated/data/galacticraft/loot_table/blocks/cobbled_moon_rock_wall.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/compressor.json b/src/main/generated/data/galacticraft/loot_table/blocks/compressor.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/compressor.json rename to src/main/generated/data/galacticraft/loot_table/blocks/compressor.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/copper_decoration.json b/src/main/generated/data/galacticraft/loot_table/blocks/copper_decoration.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/copper_decoration.json rename to src/main/generated/data/galacticraft/loot_table/blocks/copper_decoration.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/copper_decoration_slab.json b/src/main/generated/data/galacticraft/loot_table/blocks/copper_decoration_slab.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/copper_decoration_slab.json rename to src/main/generated/data/galacticraft/loot_table/blocks/copper_decoration_slab.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/copper_decoration_stairs.json b/src/main/generated/data/galacticraft/loot_table/blocks/copper_decoration_stairs.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/copper_decoration_stairs.json rename to src/main/generated/data/galacticraft/loot_table/blocks/copper_decoration_stairs.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/copper_decoration_wall.json b/src/main/generated/data/galacticraft/loot_table/blocks/copper_decoration_wall.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/copper_decoration_wall.json rename to src/main/generated/data/galacticraft/loot_table/blocks/copper_decoration_wall.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/cracked_moon_basalt_brick.json b/src/main/generated/data/galacticraft/loot_table/blocks/cracked_moon_basalt_brick.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/cracked_moon_basalt_brick.json rename to src/main/generated/data/galacticraft/loot_table/blocks/cracked_moon_basalt_brick.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/cracked_moon_basalt_brick_slab.json b/src/main/generated/data/galacticraft/loot_table/blocks/cracked_moon_basalt_brick_slab.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/cracked_moon_basalt_brick_slab.json rename to src/main/generated/data/galacticraft/loot_table/blocks/cracked_moon_basalt_brick_slab.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/cracked_moon_basalt_brick_stairs.json b/src/main/generated/data/galacticraft/loot_table/blocks/cracked_moon_basalt_brick_stairs.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/cracked_moon_basalt_brick_stairs.json rename to src/main/generated/data/galacticraft/loot_table/blocks/cracked_moon_basalt_brick_stairs.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/cracked_moon_basalt_brick_wall.json b/src/main/generated/data/galacticraft/loot_table/blocks/cracked_moon_basalt_brick_wall.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/cracked_moon_basalt_brick_wall.json rename to src/main/generated/data/galacticraft/loot_table/blocks/cracked_moon_basalt_brick_wall.json diff --git a/src/main/generated/data/galacticraft/loot_table/blocks/cracked_moon_rock_brick.json b/src/main/generated/data/galacticraft/loot_table/blocks/cracked_moon_rock_brick.json new file mode 100644 index 0000000000..04a23f6c6c --- /dev/null +++ b/src/main/generated/data/galacticraft/loot_table/blocks/cracked_moon_rock_brick.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "galacticraft:cracked_moon_rock_brick" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/loot_table/blocks/cracked_moon_rock_brick_slab.json b/src/main/generated/data/galacticraft/loot_table/blocks/cracked_moon_rock_brick_slab.json new file mode 100644 index 0000000000..0380e1cb9f --- /dev/null +++ b/src/main/generated/data/galacticraft/loot_table/blocks/cracked_moon_rock_brick_slab.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "galacticraft:cracked_moon_rock_brick_slab" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/loot_table/blocks/cracked_moon_rock_brick_stairs.json b/src/main/generated/data/galacticraft/loot_table/blocks/cracked_moon_rock_brick_stairs.json new file mode 100644 index 0000000000..45b47a14b5 --- /dev/null +++ b/src/main/generated/data/galacticraft/loot_table/blocks/cracked_moon_rock_brick_stairs.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "galacticraft:cracked_moon_rock_brick_stairs" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/loot_table/blocks/cracked_moon_rock_brick_wall.json b/src/main/generated/data/galacticraft/loot_table/blocks/cracked_moon_rock_brick_wall.json new file mode 100644 index 0000000000..03c4c55a38 --- /dev/null +++ b/src/main/generated/data/galacticraft/loot_table/blocks/cracked_moon_rock_brick_wall.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "galacticraft:cracked_moon_rock_brick_wall" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/cryogenic_chamber.json b/src/main/generated/data/galacticraft/loot_table/blocks/cryogenic_chamber.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/cryogenic_chamber.json rename to src/main/generated/data/galacticraft/loot_table/blocks/cryogenic_chamber.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/cyan_candle_moon_cheese_block.json b/src/main/generated/data/galacticraft/loot_table/blocks/cyan_candle_moon_cheese_block.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/cyan_candle_moon_cheese_block.json rename to src/main/generated/data/galacticraft/loot_table/blocks/cyan_candle_moon_cheese_block.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/dark_decoration.json b/src/main/generated/data/galacticraft/loot_table/blocks/dark_decoration.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/dark_decoration.json rename to src/main/generated/data/galacticraft/loot_table/blocks/dark_decoration.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/dark_decoration_slab.json b/src/main/generated/data/galacticraft/loot_table/blocks/dark_decoration_slab.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/dark_decoration_slab.json rename to src/main/generated/data/galacticraft/loot_table/blocks/dark_decoration_slab.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/dark_decoration_stairs.json b/src/main/generated/data/galacticraft/loot_table/blocks/dark_decoration_stairs.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/dark_decoration_stairs.json rename to src/main/generated/data/galacticraft/loot_table/blocks/dark_decoration_stairs.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/dark_decoration_wall.json b/src/main/generated/data/galacticraft/loot_table/blocks/dark_decoration_wall.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/dark_decoration_wall.json rename to src/main/generated/data/galacticraft/loot_table/blocks/dark_decoration_wall.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/dashed_light_panel.json b/src/main/generated/data/galacticraft/loot_table/blocks/dashed_light_panel.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/dashed_light_panel.json rename to src/main/generated/data/galacticraft/loot_table/blocks/dashed_light_panel.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/deepslate_aluminum_ore.json b/src/main/generated/data/galacticraft/loot_table/blocks/deepslate_aluminum_ore.json similarity index 75% rename from src/main/generated/data/galacticraft/loot_tables/blocks/deepslate_aluminum_ore.json rename to src/main/generated/data/galacticraft/loot_table/blocks/deepslate_aluminum_ore.json index 81c65c5224..c5eb4e17a5 100644 --- a/src/main/generated/data/galacticraft/loot_tables/blocks/deepslate_aluminum_ore.json +++ b/src/main/generated/data/galacticraft/loot_table/blocks/deepslate_aluminum_ore.json @@ -13,14 +13,16 @@ { "condition": "minecraft:match_tool", "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } } - } - ] + ] + } } } ], diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/deepslate_silicon_ore.json b/src/main/generated/data/galacticraft/loot_table/blocks/deepslate_silicon_ore.json similarity index 80% rename from src/main/generated/data/galacticraft/loot_tables/blocks/deepslate_silicon_ore.json rename to src/main/generated/data/galacticraft/loot_table/blocks/deepslate_silicon_ore.json index b082a675f2..0f7bbb0ae7 100644 --- a/src/main/generated/data/galacticraft/loot_tables/blocks/deepslate_silicon_ore.json +++ b/src/main/generated/data/galacticraft/loot_table/blocks/deepslate_silicon_ore.json @@ -13,14 +13,16 @@ { "condition": "minecraft:match_tool", "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } } - } - ] + ] + } } } ], diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/deepslate_tin_ore.json b/src/main/generated/data/galacticraft/loot_table/blocks/deepslate_tin_ore.json similarity index 75% rename from src/main/generated/data/galacticraft/loot_tables/blocks/deepslate_tin_ore.json rename to src/main/generated/data/galacticraft/loot_table/blocks/deepslate_tin_ore.json index 5d92523861..c2b4a8bc05 100644 --- a/src/main/generated/data/galacticraft/loot_tables/blocks/deepslate_tin_ore.json +++ b/src/main/generated/data/galacticraft/loot_table/blocks/deepslate_tin_ore.json @@ -13,14 +13,16 @@ { "condition": "minecraft:match_tool", "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } } - } - ] + ] + } } } ], diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/dense_ice.json b/src/main/generated/data/galacticraft/loot_table/blocks/dense_ice.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/dense_ice.json rename to src/main/generated/data/galacticraft/loot_table/blocks/dense_ice.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/desh_block.json b/src/main/generated/data/galacticraft/loot_table/blocks/desh_block.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/desh_block.json rename to src/main/generated/data/galacticraft/loot_table/blocks/desh_block.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/desh_ore.json b/src/main/generated/data/galacticraft/loot_table/blocks/desh_ore.json similarity index 75% rename from src/main/generated/data/galacticraft/loot_tables/blocks/desh_ore.json rename to src/main/generated/data/galacticraft/loot_table/blocks/desh_ore.json index 02eeaec61b..2dacc6b8f7 100644 --- a/src/main/generated/data/galacticraft/loot_tables/blocks/desh_ore.json +++ b/src/main/generated/data/galacticraft/loot_table/blocks/desh_ore.json @@ -13,14 +13,16 @@ { "condition": "minecraft:match_tool", "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } } - } - ] + ] + } } } ], diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/detailed_aluminum_decoration.json b/src/main/generated/data/galacticraft/loot_table/blocks/detailed_aluminum_decoration.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/detailed_aluminum_decoration.json rename to src/main/generated/data/galacticraft/loot_table/blocks/detailed_aluminum_decoration.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/detailed_aluminum_decoration_slab.json b/src/main/generated/data/galacticraft/loot_table/blocks/detailed_aluminum_decoration_slab.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/detailed_aluminum_decoration_slab.json rename to src/main/generated/data/galacticraft/loot_table/blocks/detailed_aluminum_decoration_slab.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/detailed_aluminum_decoration_stairs.json b/src/main/generated/data/galacticraft/loot_table/blocks/detailed_aluminum_decoration_stairs.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/detailed_aluminum_decoration_stairs.json rename to src/main/generated/data/galacticraft/loot_table/blocks/detailed_aluminum_decoration_stairs.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/detailed_aluminum_decoration_wall.json b/src/main/generated/data/galacticraft/loot_table/blocks/detailed_aluminum_decoration_wall.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/detailed_aluminum_decoration_wall.json rename to src/main/generated/data/galacticraft/loot_table/blocks/detailed_aluminum_decoration_wall.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/detailed_bronze_decoration.json b/src/main/generated/data/galacticraft/loot_table/blocks/detailed_bronze_decoration.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/detailed_bronze_decoration.json rename to src/main/generated/data/galacticraft/loot_table/blocks/detailed_bronze_decoration.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/detailed_bronze_decoration_slab.json b/src/main/generated/data/galacticraft/loot_table/blocks/detailed_bronze_decoration_slab.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/detailed_bronze_decoration_slab.json rename to src/main/generated/data/galacticraft/loot_table/blocks/detailed_bronze_decoration_slab.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/detailed_bronze_decoration_stairs.json b/src/main/generated/data/galacticraft/loot_table/blocks/detailed_bronze_decoration_stairs.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/detailed_bronze_decoration_stairs.json rename to src/main/generated/data/galacticraft/loot_table/blocks/detailed_bronze_decoration_stairs.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/detailed_bronze_decoration_wall.json b/src/main/generated/data/galacticraft/loot_table/blocks/detailed_bronze_decoration_wall.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/detailed_bronze_decoration_wall.json rename to src/main/generated/data/galacticraft/loot_table/blocks/detailed_bronze_decoration_wall.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/detailed_copper_decoration.json b/src/main/generated/data/galacticraft/loot_table/blocks/detailed_copper_decoration.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/detailed_copper_decoration.json rename to src/main/generated/data/galacticraft/loot_table/blocks/detailed_copper_decoration.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/detailed_copper_decoration_slab.json b/src/main/generated/data/galacticraft/loot_table/blocks/detailed_copper_decoration_slab.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/detailed_copper_decoration_slab.json rename to src/main/generated/data/galacticraft/loot_table/blocks/detailed_copper_decoration_slab.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/detailed_copper_decoration_stairs.json b/src/main/generated/data/galacticraft/loot_table/blocks/detailed_copper_decoration_stairs.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/detailed_copper_decoration_stairs.json rename to src/main/generated/data/galacticraft/loot_table/blocks/detailed_copper_decoration_stairs.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/detailed_copper_decoration_wall.json b/src/main/generated/data/galacticraft/loot_table/blocks/detailed_copper_decoration_wall.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/detailed_copper_decoration_wall.json rename to src/main/generated/data/galacticraft/loot_table/blocks/detailed_copper_decoration_wall.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/detailed_dark_decoration.json b/src/main/generated/data/galacticraft/loot_table/blocks/detailed_dark_decoration.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/detailed_dark_decoration.json rename to src/main/generated/data/galacticraft/loot_table/blocks/detailed_dark_decoration.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/detailed_dark_decoration_slab.json b/src/main/generated/data/galacticraft/loot_table/blocks/detailed_dark_decoration_slab.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/detailed_dark_decoration_slab.json rename to src/main/generated/data/galacticraft/loot_table/blocks/detailed_dark_decoration_slab.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/detailed_dark_decoration_stairs.json b/src/main/generated/data/galacticraft/loot_table/blocks/detailed_dark_decoration_stairs.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/detailed_dark_decoration_stairs.json rename to src/main/generated/data/galacticraft/loot_table/blocks/detailed_dark_decoration_stairs.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/detailed_dark_decoration_wall.json b/src/main/generated/data/galacticraft/loot_table/blocks/detailed_dark_decoration_wall.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/detailed_dark_decoration_wall.json rename to src/main/generated/data/galacticraft/loot_table/blocks/detailed_dark_decoration_wall.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/detailed_iron_decoration.json b/src/main/generated/data/galacticraft/loot_table/blocks/detailed_iron_decoration.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/detailed_iron_decoration.json rename to src/main/generated/data/galacticraft/loot_table/blocks/detailed_iron_decoration.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/detailed_iron_decoration_slab.json b/src/main/generated/data/galacticraft/loot_table/blocks/detailed_iron_decoration_slab.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/detailed_iron_decoration_slab.json rename to src/main/generated/data/galacticraft/loot_table/blocks/detailed_iron_decoration_slab.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/detailed_iron_decoration_stairs.json b/src/main/generated/data/galacticraft/loot_table/blocks/detailed_iron_decoration_stairs.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/detailed_iron_decoration_stairs.json rename to src/main/generated/data/galacticraft/loot_table/blocks/detailed_iron_decoration_stairs.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/detailed_iron_decoration_wall.json b/src/main/generated/data/galacticraft/loot_table/blocks/detailed_iron_decoration_wall.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/detailed_iron_decoration_wall.json rename to src/main/generated/data/galacticraft/loot_table/blocks/detailed_iron_decoration_wall.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/detailed_meteoric_iron_decoration.json b/src/main/generated/data/galacticraft/loot_table/blocks/detailed_meteoric_iron_decoration.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/detailed_meteoric_iron_decoration.json rename to src/main/generated/data/galacticraft/loot_table/blocks/detailed_meteoric_iron_decoration.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/detailed_meteoric_iron_decoration_slab.json b/src/main/generated/data/galacticraft/loot_table/blocks/detailed_meteoric_iron_decoration_slab.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/detailed_meteoric_iron_decoration_slab.json rename to src/main/generated/data/galacticraft/loot_table/blocks/detailed_meteoric_iron_decoration_slab.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/detailed_meteoric_iron_decoration_stairs.json b/src/main/generated/data/galacticraft/loot_table/blocks/detailed_meteoric_iron_decoration_stairs.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/detailed_meteoric_iron_decoration_stairs.json rename to src/main/generated/data/galacticraft/loot_table/blocks/detailed_meteoric_iron_decoration_stairs.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/detailed_meteoric_iron_decoration_wall.json b/src/main/generated/data/galacticraft/loot_table/blocks/detailed_meteoric_iron_decoration_wall.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/detailed_meteoric_iron_decoration_wall.json rename to src/main/generated/data/galacticraft/loot_table/blocks/detailed_meteoric_iron_decoration_wall.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/detailed_steel_decoration.json b/src/main/generated/data/galacticraft/loot_table/blocks/detailed_steel_decoration.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/detailed_steel_decoration.json rename to src/main/generated/data/galacticraft/loot_table/blocks/detailed_steel_decoration.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/detailed_steel_decoration_slab.json b/src/main/generated/data/galacticraft/loot_table/blocks/detailed_steel_decoration_slab.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/detailed_steel_decoration_slab.json rename to src/main/generated/data/galacticraft/loot_table/blocks/detailed_steel_decoration_slab.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/detailed_steel_decoration_stairs.json b/src/main/generated/data/galacticraft/loot_table/blocks/detailed_steel_decoration_stairs.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/detailed_steel_decoration_stairs.json rename to src/main/generated/data/galacticraft/loot_table/blocks/detailed_steel_decoration_stairs.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/detailed_steel_decoration_wall.json b/src/main/generated/data/galacticraft/loot_table/blocks/detailed_steel_decoration_wall.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/detailed_steel_decoration_wall.json rename to src/main/generated/data/galacticraft/loot_table/blocks/detailed_steel_decoration_wall.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/detailed_tin_decoration.json b/src/main/generated/data/galacticraft/loot_table/blocks/detailed_tin_decoration.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/detailed_tin_decoration.json rename to src/main/generated/data/galacticraft/loot_table/blocks/detailed_tin_decoration.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/detailed_tin_decoration_slab.json b/src/main/generated/data/galacticraft/loot_table/blocks/detailed_tin_decoration_slab.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/detailed_tin_decoration_slab.json rename to src/main/generated/data/galacticraft/loot_table/blocks/detailed_tin_decoration_slab.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/detailed_tin_decoration_stairs.json b/src/main/generated/data/galacticraft/loot_table/blocks/detailed_tin_decoration_stairs.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/detailed_tin_decoration_stairs.json rename to src/main/generated/data/galacticraft/loot_table/blocks/detailed_tin_decoration_stairs.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/detailed_tin_decoration_wall.json b/src/main/generated/data/galacticraft/loot_table/blocks/detailed_tin_decoration_wall.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/detailed_tin_decoration_wall.json rename to src/main/generated/data/galacticraft/loot_table/blocks/detailed_tin_decoration_wall.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/detailed_titanium_decoration.json b/src/main/generated/data/galacticraft/loot_table/blocks/detailed_titanium_decoration.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/detailed_titanium_decoration.json rename to src/main/generated/data/galacticraft/loot_table/blocks/detailed_titanium_decoration.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/detailed_titanium_decoration_slab.json b/src/main/generated/data/galacticraft/loot_table/blocks/detailed_titanium_decoration_slab.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/detailed_titanium_decoration_slab.json rename to src/main/generated/data/galacticraft/loot_table/blocks/detailed_titanium_decoration_slab.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/detailed_titanium_decoration_stairs.json b/src/main/generated/data/galacticraft/loot_table/blocks/detailed_titanium_decoration_stairs.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/detailed_titanium_decoration_stairs.json rename to src/main/generated/data/galacticraft/loot_table/blocks/detailed_titanium_decoration_stairs.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/detailed_titanium_decoration_wall.json b/src/main/generated/data/galacticraft/loot_table/blocks/detailed_titanium_decoration_wall.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/detailed_titanium_decoration_wall.json rename to src/main/generated/data/galacticraft/loot_table/blocks/detailed_titanium_decoration_wall.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/diagonal_light_panel.json b/src/main/generated/data/galacticraft/loot_table/blocks/diagonal_light_panel.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/diagonal_light_panel.json rename to src/main/generated/data/galacticraft/loot_table/blocks/diagonal_light_panel.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/electric_arc_furnace.json b/src/main/generated/data/galacticraft/loot_table/blocks/electric_arc_furnace.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/electric_arc_furnace.json rename to src/main/generated/data/galacticraft/loot_table/blocks/electric_arc_furnace.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/electric_compressor.json b/src/main/generated/data/galacticraft/loot_table/blocks/electric_compressor.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/electric_compressor.json rename to src/main/generated/data/galacticraft/loot_table/blocks/electric_compressor.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/electric_furnace.json b/src/main/generated/data/galacticraft/loot_table/blocks/electric_furnace.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/electric_furnace.json rename to src/main/generated/data/galacticraft/loot_table/blocks/electric_furnace.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/energy_storage_module.json b/src/main/generated/data/galacticraft/loot_table/blocks/energy_storage_module.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/energy_storage_module.json rename to src/main/generated/data/galacticraft/loot_table/blocks/energy_storage_module.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/fallen_meteor.json b/src/main/generated/data/galacticraft/loot_table/blocks/fallen_meteor.json similarity index 77% rename from src/main/generated/data/galacticraft/loot_tables/blocks/fallen_meteor.json rename to src/main/generated/data/galacticraft/loot_table/blocks/fallen_meteor.json index 1a352f9f1b..159e64d072 100644 --- a/src/main/generated/data/galacticraft/loot_tables/blocks/fallen_meteor.json +++ b/src/main/generated/data/galacticraft/loot_table/blocks/fallen_meteor.json @@ -13,14 +13,16 @@ { "condition": "minecraft:match_tool", "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } } - } - ] + ] + } } } ], diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/fluid_pipe_walkway.json b/src/main/generated/data/galacticraft/loot_table/blocks/fluid_pipe_walkway.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/fluid_pipe_walkway.json rename to src/main/generated/data/galacticraft/loot_table/blocks/fluid_pipe_walkway.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/food_canner.json b/src/main/generated/data/galacticraft/loot_table/blocks/food_canner.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/food_canner.json rename to src/main/generated/data/galacticraft/loot_table/blocks/food_canner.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/fuel_loader.json b/src/main/generated/data/galacticraft/loot_table/blocks/fuel_loader.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/fuel_loader.json rename to src/main/generated/data/galacticraft/loot_table/blocks/fuel_loader.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/fueling_pad.json b/src/main/generated/data/galacticraft/loot_table/blocks/fueling_pad.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/fueling_pad.json rename to src/main/generated/data/galacticraft/loot_table/blocks/fueling_pad.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/galena_ore.json b/src/main/generated/data/galacticraft/loot_table/blocks/galena_ore.json similarity index 75% rename from src/main/generated/data/galacticraft/loot_tables/blocks/galena_ore.json rename to src/main/generated/data/galacticraft/loot_table/blocks/galena_ore.json index 0acc90c068..26abbf31d3 100644 --- a/src/main/generated/data/galacticraft/loot_tables/blocks/galena_ore.json +++ b/src/main/generated/data/galacticraft/loot_table/blocks/galena_ore.json @@ -13,14 +13,16 @@ { "condition": "minecraft:match_tool", "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } } - } - ] + ] + } } } ], diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/glass_fluid_pipe.json b/src/main/generated/data/galacticraft/loot_table/blocks/glass_fluid_pipe.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/glass_fluid_pipe.json rename to src/main/generated/data/galacticraft/loot_table/blocks/glass_fluid_pipe.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/glowstone_lantern.json b/src/main/generated/data/galacticraft/loot_table/blocks/glowstone_lantern.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/glowstone_lantern.json rename to src/main/generated/data/galacticraft/loot_table/blocks/glowstone_lantern.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/glowstone_torch.json b/src/main/generated/data/galacticraft/loot_table/blocks/glowstone_torch.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/glowstone_torch.json rename to src/main/generated/data/galacticraft/loot_table/blocks/glowstone_torch.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/grating.json b/src/main/generated/data/galacticraft/loot_table/blocks/grating.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/grating.json rename to src/main/generated/data/galacticraft/loot_table/blocks/grating.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/gray_candle_moon_cheese_block.json b/src/main/generated/data/galacticraft/loot_table/blocks/gray_candle_moon_cheese_block.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/gray_candle_moon_cheese_block.json rename to src/main/generated/data/galacticraft/loot_table/blocks/gray_candle_moon_cheese_block.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/green_candle_moon_cheese_block.json b/src/main/generated/data/galacticraft/loot_table/blocks/green_candle_moon_cheese_block.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/green_candle_moon_cheese_block.json rename to src/main/generated/data/galacticraft/loot_table/blocks/green_candle_moon_cheese_block.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/hard_venus_rock.json b/src/main/generated/data/galacticraft/loot_table/blocks/hard_venus_rock.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/hard_venus_rock.json rename to src/main/generated/data/galacticraft/loot_table/blocks/hard_venus_rock.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/heavy_sealable_aluminum_wire.json b/src/main/generated/data/galacticraft/loot_table/blocks/heavy_sealable_aluminum_wire.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/heavy_sealable_aluminum_wire.json rename to src/main/generated/data/galacticraft/loot_table/blocks/heavy_sealable_aluminum_wire.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/ilmenite_ore.json b/src/main/generated/data/galacticraft/loot_table/blocks/ilmenite_ore.json similarity index 75% rename from src/main/generated/data/galacticraft/loot_tables/blocks/ilmenite_ore.json rename to src/main/generated/data/galacticraft/loot_table/blocks/ilmenite_ore.json index 6c7dbe4e04..e9c13151e6 100644 --- a/src/main/generated/data/galacticraft/loot_tables/blocks/ilmenite_ore.json +++ b/src/main/generated/data/galacticraft/loot_table/blocks/ilmenite_ore.json @@ -13,14 +13,16 @@ { "condition": "minecraft:match_tool", "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } } - } - ] + ] + } } } ], diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/iron_decoration.json b/src/main/generated/data/galacticraft/loot_table/blocks/iron_decoration.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/iron_decoration.json rename to src/main/generated/data/galacticraft/loot_table/blocks/iron_decoration.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/iron_decoration_slab.json b/src/main/generated/data/galacticraft/loot_table/blocks/iron_decoration_slab.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/iron_decoration_slab.json rename to src/main/generated/data/galacticraft/loot_table/blocks/iron_decoration_slab.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/iron_decoration_stairs.json b/src/main/generated/data/galacticraft/loot_table/blocks/iron_decoration_stairs.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/iron_decoration_stairs.json rename to src/main/generated/data/galacticraft/loot_table/blocks/iron_decoration_stairs.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/iron_decoration_wall.json b/src/main/generated/data/galacticraft/loot_table/blocks/iron_decoration_wall.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/iron_decoration_wall.json rename to src/main/generated/data/galacticraft/loot_table/blocks/iron_decoration_wall.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/lead_block.json b/src/main/generated/data/galacticraft/loot_table/blocks/lead_block.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/lead_block.json rename to src/main/generated/data/galacticraft/loot_table/blocks/lead_block.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/light_blue_candle_moon_cheese_block.json b/src/main/generated/data/galacticraft/loot_table/blocks/light_blue_candle_moon_cheese_block.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/light_blue_candle_moon_cheese_block.json rename to src/main/generated/data/galacticraft/loot_table/blocks/light_blue_candle_moon_cheese_block.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/light_gray_candle_moon_cheese_block.json b/src/main/generated/data/galacticraft/loot_table/blocks/light_gray_candle_moon_cheese_block.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/light_gray_candle_moon_cheese_block.json rename to src/main/generated/data/galacticraft/loot_table/blocks/light_gray_candle_moon_cheese_block.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/lime_candle_moon_cheese_block.json b/src/main/generated/data/galacticraft/loot_table/blocks/lime_candle_moon_cheese_block.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/lime_candle_moon_cheese_block.json rename to src/main/generated/data/galacticraft/loot_table/blocks/lime_candle_moon_cheese_block.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/linear_light_panel.json b/src/main/generated/data/galacticraft/loot_table/blocks/linear_light_panel.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/linear_light_panel.json rename to src/main/generated/data/galacticraft/loot_table/blocks/linear_light_panel.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/lunar_cartography_table.json b/src/main/generated/data/galacticraft/loot_table/blocks/lunar_cartography_table.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/lunar_cartography_table.json rename to src/main/generated/data/galacticraft/loot_table/blocks/lunar_cartography_table.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/lunar_sapphire_block.json b/src/main/generated/data/galacticraft/loot_table/blocks/lunar_sapphire_block.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/lunar_sapphire_block.json rename to src/main/generated/data/galacticraft/loot_table/blocks/lunar_sapphire_block.json diff --git a/src/main/generated/data/galacticraft/loot_table/blocks/lunaslate.json b/src/main/generated/data/galacticraft/loot_table/blocks/lunaslate.json new file mode 100644 index 0000000000..813e7e25dd --- /dev/null +++ b/src/main/generated/data/galacticraft/loot_table/blocks/lunaslate.json @@ -0,0 +1,46 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + } + ], + "name": "galacticraft:lunaslate" + }, + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "name": "galacticraft:cobbled_lunaslate" + } + ] + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/lunaslate_copper_ore.json b/src/main/generated/data/galacticraft/loot_table/blocks/lunaslate_copper_ore.json similarity index 79% rename from src/main/generated/data/galacticraft/loot_tables/blocks/lunaslate_copper_ore.json rename to src/main/generated/data/galacticraft/loot_table/blocks/lunaslate_copper_ore.json index 077224bed2..7753d3093d 100644 --- a/src/main/generated/data/galacticraft/loot_tables/blocks/lunaslate_copper_ore.json +++ b/src/main/generated/data/galacticraft/loot_table/blocks/lunaslate_copper_ore.json @@ -13,14 +13,16 @@ { "condition": "minecraft:match_tool", "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } } - } - ] + ] + } } } ], diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/lunaslate_slab.json b/src/main/generated/data/galacticraft/loot_table/blocks/lunaslate_slab.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/lunaslate_slab.json rename to src/main/generated/data/galacticraft/loot_table/blocks/lunaslate_slab.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/lunaslate_stairs.json b/src/main/generated/data/galacticraft/loot_table/blocks/lunaslate_stairs.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/lunaslate_stairs.json rename to src/main/generated/data/galacticraft/loot_table/blocks/lunaslate_stairs.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/lunaslate_tin_ore.json b/src/main/generated/data/galacticraft/loot_table/blocks/lunaslate_tin_ore.json similarity index 75% rename from src/main/generated/data/galacticraft/loot_tables/blocks/lunaslate_tin_ore.json rename to src/main/generated/data/galacticraft/loot_table/blocks/lunaslate_tin_ore.json index ec9800f262..70e2f04ce8 100644 --- a/src/main/generated/data/galacticraft/loot_tables/blocks/lunaslate_tin_ore.json +++ b/src/main/generated/data/galacticraft/loot_table/blocks/lunaslate_tin_ore.json @@ -13,14 +13,16 @@ { "condition": "minecraft:match_tool", "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } } - } - ] + ] + } } } ], diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/lunaslate_wall.json b/src/main/generated/data/galacticraft/loot_table/blocks/lunaslate_wall.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/lunaslate_wall.json rename to src/main/generated/data/galacticraft/loot_table/blocks/lunaslate_wall.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/magenta_candle_moon_cheese_block.json b/src/main/generated/data/galacticraft/loot_table/blocks/magenta_candle_moon_cheese_block.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/magenta_candle_moon_cheese_block.json rename to src/main/generated/data/galacticraft/loot_table/blocks/magenta_candle_moon_cheese_block.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/mars_cobblestone.json b/src/main/generated/data/galacticraft/loot_table/blocks/mars_cobblestone.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/mars_cobblestone.json rename to src/main/generated/data/galacticraft/loot_table/blocks/mars_cobblestone.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/mars_cobblestone_slab.json b/src/main/generated/data/galacticraft/loot_table/blocks/mars_cobblestone_slab.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/mars_cobblestone_slab.json rename to src/main/generated/data/galacticraft/loot_table/blocks/mars_cobblestone_slab.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/mars_cobblestone_stairs.json b/src/main/generated/data/galacticraft/loot_table/blocks/mars_cobblestone_stairs.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/mars_cobblestone_stairs.json rename to src/main/generated/data/galacticraft/loot_table/blocks/mars_cobblestone_stairs.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/mars_cobblestone_wall.json b/src/main/generated/data/galacticraft/loot_table/blocks/mars_cobblestone_wall.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/mars_cobblestone_wall.json rename to src/main/generated/data/galacticraft/loot_table/blocks/mars_cobblestone_wall.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/mars_copper_ore.json b/src/main/generated/data/galacticraft/loot_table/blocks/mars_copper_ore.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/mars_copper_ore.json rename to src/main/generated/data/galacticraft/loot_table/blocks/mars_copper_ore.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/mars_iron_ore.json b/src/main/generated/data/galacticraft/loot_table/blocks/mars_iron_ore.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/mars_iron_ore.json rename to src/main/generated/data/galacticraft/loot_table/blocks/mars_iron_ore.json diff --git a/src/main/generated/data/galacticraft/loot_table/blocks/mars_stone.json b/src/main/generated/data/galacticraft/loot_table/blocks/mars_stone.json new file mode 100644 index 0000000000..ba64e709f8 --- /dev/null +++ b/src/main/generated/data/galacticraft/loot_table/blocks/mars_stone.json @@ -0,0 +1,46 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + } + ], + "name": "galacticraft:mars_stone" + }, + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "name": "galacticraft:mars_cobblestone" + } + ] + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/mars_stone_slab.json b/src/main/generated/data/galacticraft/loot_table/blocks/mars_stone_slab.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/mars_stone_slab.json rename to src/main/generated/data/galacticraft/loot_table/blocks/mars_stone_slab.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/mars_stone_stairs.json b/src/main/generated/data/galacticraft/loot_table/blocks/mars_stone_stairs.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/mars_stone_stairs.json rename to src/main/generated/data/galacticraft/loot_table/blocks/mars_stone_stairs.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/mars_stone_wall.json b/src/main/generated/data/galacticraft/loot_table/blocks/mars_stone_wall.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/mars_stone_wall.json rename to src/main/generated/data/galacticraft/loot_table/blocks/mars_stone_wall.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/mars_sub_surface_rock.json b/src/main/generated/data/galacticraft/loot_table/blocks/mars_sub_surface_rock.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/mars_sub_surface_rock.json rename to src/main/generated/data/galacticraft/loot_table/blocks/mars_sub_surface_rock.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/mars_surface_rock.json b/src/main/generated/data/galacticraft/loot_table/blocks/mars_surface_rock.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/mars_surface_rock.json rename to src/main/generated/data/galacticraft/loot_table/blocks/mars_surface_rock.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/mars_tin_ore.json b/src/main/generated/data/galacticraft/loot_table/blocks/mars_tin_ore.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/mars_tin_ore.json rename to src/main/generated/data/galacticraft/loot_table/blocks/mars_tin_ore.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/meteoric_iron_block.json b/src/main/generated/data/galacticraft/loot_table/blocks/meteoric_iron_block.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/meteoric_iron_block.json rename to src/main/generated/data/galacticraft/loot_table/blocks/meteoric_iron_block.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/meteoric_iron_decoration.json b/src/main/generated/data/galacticraft/loot_table/blocks/meteoric_iron_decoration.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/meteoric_iron_decoration.json rename to src/main/generated/data/galacticraft/loot_table/blocks/meteoric_iron_decoration.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/meteoric_iron_decoration_slab.json b/src/main/generated/data/galacticraft/loot_table/blocks/meteoric_iron_decoration_slab.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/meteoric_iron_decoration_slab.json rename to src/main/generated/data/galacticraft/loot_table/blocks/meteoric_iron_decoration_slab.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/meteoric_iron_decoration_stairs.json b/src/main/generated/data/galacticraft/loot_table/blocks/meteoric_iron_decoration_stairs.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/meteoric_iron_decoration_stairs.json rename to src/main/generated/data/galacticraft/loot_table/blocks/meteoric_iron_decoration_stairs.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/meteoric_iron_decoration_wall.json b/src/main/generated/data/galacticraft/loot_table/blocks/meteoric_iron_decoration_wall.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/meteoric_iron_decoration_wall.json rename to src/main/generated/data/galacticraft/loot_table/blocks/meteoric_iron_decoration_wall.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/moon_basalt.json b/src/main/generated/data/galacticraft/loot_table/blocks/moon_basalt.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/moon_basalt.json rename to src/main/generated/data/galacticraft/loot_table/blocks/moon_basalt.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/moon_basalt_brick.json b/src/main/generated/data/galacticraft/loot_table/blocks/moon_basalt_brick.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/moon_basalt_brick.json rename to src/main/generated/data/galacticraft/loot_table/blocks/moon_basalt_brick.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/moon_basalt_brick_slab.json b/src/main/generated/data/galacticraft/loot_table/blocks/moon_basalt_brick_slab.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/moon_basalt_brick_slab.json rename to src/main/generated/data/galacticraft/loot_table/blocks/moon_basalt_brick_slab.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/moon_basalt_brick_stairs.json b/src/main/generated/data/galacticraft/loot_table/blocks/moon_basalt_brick_stairs.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/moon_basalt_brick_stairs.json rename to src/main/generated/data/galacticraft/loot_table/blocks/moon_basalt_brick_stairs.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/moon_basalt_brick_wall.json b/src/main/generated/data/galacticraft/loot_table/blocks/moon_basalt_brick_wall.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/moon_basalt_brick_wall.json rename to src/main/generated/data/galacticraft/loot_table/blocks/moon_basalt_brick_wall.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/moon_basalt_slab.json b/src/main/generated/data/galacticraft/loot_table/blocks/moon_basalt_slab.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/moon_basalt_slab.json rename to src/main/generated/data/galacticraft/loot_table/blocks/moon_basalt_slab.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/moon_basalt_stairs.json b/src/main/generated/data/galacticraft/loot_table/blocks/moon_basalt_stairs.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/moon_basalt_stairs.json rename to src/main/generated/data/galacticraft/loot_table/blocks/moon_basalt_stairs.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/moon_basalt_wall.json b/src/main/generated/data/galacticraft/loot_table/blocks/moon_basalt_wall.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/moon_basalt_wall.json rename to src/main/generated/data/galacticraft/loot_table/blocks/moon_basalt_wall.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/moon_cheese_block.json b/src/main/generated/data/galacticraft/loot_table/blocks/moon_cheese_block.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/moon_cheese_block.json rename to src/main/generated/data/galacticraft/loot_table/blocks/moon_cheese_block.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/moon_copper_ore.json b/src/main/generated/data/galacticraft/loot_table/blocks/moon_copper_ore.json similarity index 79% rename from src/main/generated/data/galacticraft/loot_tables/blocks/moon_copper_ore.json rename to src/main/generated/data/galacticraft/loot_table/blocks/moon_copper_ore.json index 077224bed2..7753d3093d 100644 --- a/src/main/generated/data/galacticraft/loot_tables/blocks/moon_copper_ore.json +++ b/src/main/generated/data/galacticraft/loot_table/blocks/moon_copper_ore.json @@ -13,14 +13,16 @@ { "condition": "minecraft:match_tool", "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } } - } - ] + ] + } } } ], diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/moon_dirt.json b/src/main/generated/data/galacticraft/loot_table/blocks/moon_dirt.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/moon_dirt.json rename to src/main/generated/data/galacticraft/loot_table/blocks/moon_dirt.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/moon_dirt_path.json b/src/main/generated/data/galacticraft/loot_table/blocks/moon_dirt_path.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/moon_dirt_path.json rename to src/main/generated/data/galacticraft/loot_table/blocks/moon_dirt_path.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/moon_dungeon_brick.json b/src/main/generated/data/galacticraft/loot_table/blocks/moon_dungeon_brick.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/moon_dungeon_brick.json rename to src/main/generated/data/galacticraft/loot_table/blocks/moon_dungeon_brick.json diff --git a/src/main/generated/data/galacticraft/loot_table/blocks/moon_rock.json b/src/main/generated/data/galacticraft/loot_table/blocks/moon_rock.json new file mode 100644 index 0000000000..6a78d73d85 --- /dev/null +++ b/src/main/generated/data/galacticraft/loot_table/blocks/moon_rock.json @@ -0,0 +1,46 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + } + ], + "name": "galacticraft:moon_rock" + }, + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "name": "galacticraft:cobbled_moon_rock" + } + ] + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/loot_table/blocks/moon_rock_brick.json b/src/main/generated/data/galacticraft/loot_table/blocks/moon_rock_brick.json new file mode 100644 index 0000000000..894dc80e7b --- /dev/null +++ b/src/main/generated/data/galacticraft/loot_table/blocks/moon_rock_brick.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "galacticraft:moon_rock_brick" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/loot_table/blocks/moon_rock_brick_slab.json b/src/main/generated/data/galacticraft/loot_table/blocks/moon_rock_brick_slab.json new file mode 100644 index 0000000000..1c8b0c3b1d --- /dev/null +++ b/src/main/generated/data/galacticraft/loot_table/blocks/moon_rock_brick_slab.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "galacticraft:moon_rock_brick_slab" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/loot_table/blocks/moon_rock_brick_stairs.json b/src/main/generated/data/galacticraft/loot_table/blocks/moon_rock_brick_stairs.json new file mode 100644 index 0000000000..7313d7bb3b --- /dev/null +++ b/src/main/generated/data/galacticraft/loot_table/blocks/moon_rock_brick_stairs.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "galacticraft:moon_rock_brick_stairs" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/loot_table/blocks/moon_rock_brick_wall.json b/src/main/generated/data/galacticraft/loot_table/blocks/moon_rock_brick_wall.json new file mode 100644 index 0000000000..3441d3789a --- /dev/null +++ b/src/main/generated/data/galacticraft/loot_table/blocks/moon_rock_brick_wall.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "galacticraft:moon_rock_brick_wall" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/loot_table/blocks/moon_rock_pillar.json b/src/main/generated/data/galacticraft/loot_table/blocks/moon_rock_pillar.json new file mode 100644 index 0000000000..5c04a44fd4 --- /dev/null +++ b/src/main/generated/data/galacticraft/loot_table/blocks/moon_rock_pillar.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "galacticraft:moon_rock_pillar" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/moon_rock_slab.json b/src/main/generated/data/galacticraft/loot_table/blocks/moon_rock_slab.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/moon_rock_slab.json rename to src/main/generated/data/galacticraft/loot_table/blocks/moon_rock_slab.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/moon_rock_stairs.json b/src/main/generated/data/galacticraft/loot_table/blocks/moon_rock_stairs.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/moon_rock_stairs.json rename to src/main/generated/data/galacticraft/loot_table/blocks/moon_rock_stairs.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/moon_rock_wall.json b/src/main/generated/data/galacticraft/loot_table/blocks/moon_rock_wall.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/moon_rock_wall.json rename to src/main/generated/data/galacticraft/loot_table/blocks/moon_rock_wall.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/moon_surface_rock.json b/src/main/generated/data/galacticraft/loot_table/blocks/moon_surface_rock.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/moon_surface_rock.json rename to src/main/generated/data/galacticraft/loot_table/blocks/moon_surface_rock.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/moon_tin_ore.json b/src/main/generated/data/galacticraft/loot_table/blocks/moon_tin_ore.json similarity index 75% rename from src/main/generated/data/galacticraft/loot_tables/blocks/moon_tin_ore.json rename to src/main/generated/data/galacticraft/loot_table/blocks/moon_tin_ore.json index 6f06d43633..711799f697 100644 --- a/src/main/generated/data/galacticraft/loot_tables/blocks/moon_tin_ore.json +++ b/src/main/generated/data/galacticraft/loot_table/blocks/moon_tin_ore.json @@ -13,14 +13,16 @@ { "condition": "minecraft:match_tool", "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } } - } - ] + ] + } } } ], diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/moon_turf.json b/src/main/generated/data/galacticraft/loot_table/blocks/moon_turf.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/moon_turf.json rename to src/main/generated/data/galacticraft/loot_table/blocks/moon_turf.json diff --git a/src/main/generated/data/galacticraft/loot_table/blocks/olivine_basalt.json b/src/main/generated/data/galacticraft/loot_table/blocks/olivine_basalt.json new file mode 100644 index 0000000000..34e6dc1e6e --- /dev/null +++ b/src/main/generated/data/galacticraft/loot_table/blocks/olivine_basalt.json @@ -0,0 +1,63 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + } + ], + "name": "galacticraft:olivine_basalt" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 2.0, + "min": 1.0 + }, + "function": "minecraft:set_count" + }, + { + "enchantment": "minecraft:fortune", + "formula": "minecraft:uniform_bonus_count", + "function": "minecraft:apply_bonus", + "parameters": { + "bonusMultiplier": 1 + } + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "galacticraft:olivine_shard" + } + ] + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/loot_table/blocks/olivine_block.json b/src/main/generated/data/galacticraft/loot_table/blocks/olivine_block.json new file mode 100644 index 0000000000..8d8cc3bf56 --- /dev/null +++ b/src/main/generated/data/galacticraft/loot_table/blocks/olivine_block.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "galacticraft:olivine_block" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/loot_table/blocks/olivine_cluster.json b/src/main/generated/data/galacticraft/loot_table/blocks/olivine_cluster.json new file mode 100644 index 0000000000..d6c7b8e47d --- /dev/null +++ b/src/main/generated/data/galacticraft/loot_table/blocks/olivine_cluster.json @@ -0,0 +1,80 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + } + ], + "name": "galacticraft:olivine_cluster" + }, + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "items": "#minecraft:cluster_max_harvestables" + } + } + ], + "functions": [ + { + "add": false, + "count": 4.0, + "function": "minecraft:set_count" + }, + { + "enchantment": "minecraft:fortune", + "formula": "minecraft:ore_drops", + "function": "minecraft:apply_bonus" + } + ], + "name": "galacticraft:olivine_shard" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 2.0, + "function": "minecraft:set_count" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "galacticraft:olivine_shard" + } + ] + } + ] + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/orange_candle_moon_cheese_block.json b/src/main/generated/data/galacticraft/loot_table/blocks/orange_candle_moon_cheese_block.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/orange_candle_moon_cheese_block.json rename to src/main/generated/data/galacticraft/loot_table/blocks/orange_candle_moon_cheese_block.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/oxygen_bubble_distributor.json b/src/main/generated/data/galacticraft/loot_table/blocks/oxygen_bubble_distributor.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/oxygen_bubble_distributor.json rename to src/main/generated/data/galacticraft/loot_table/blocks/oxygen_bubble_distributor.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/oxygen_collector.json b/src/main/generated/data/galacticraft/loot_table/blocks/oxygen_collector.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/oxygen_collector.json rename to src/main/generated/data/galacticraft/loot_table/blocks/oxygen_collector.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/oxygen_compressor.json b/src/main/generated/data/galacticraft/loot_table/blocks/oxygen_compressor.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/oxygen_compressor.json rename to src/main/generated/data/galacticraft/loot_table/blocks/oxygen_compressor.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/oxygen_decompressor.json b/src/main/generated/data/galacticraft/loot_table/blocks/oxygen_decompressor.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/oxygen_decompressor.json rename to src/main/generated/data/galacticraft/loot_table/blocks/oxygen_decompressor.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/oxygen_sealer.json b/src/main/generated/data/galacticraft/loot_table/blocks/oxygen_sealer.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/oxygen_sealer.json rename to src/main/generated/data/galacticraft/loot_table/blocks/oxygen_sealer.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/oxygen_storage_module.json b/src/main/generated/data/galacticraft/loot_table/blocks/oxygen_storage_module.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/oxygen_storage_module.json rename to src/main/generated/data/galacticraft/loot_table/blocks/oxygen_storage_module.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/parachest.json b/src/main/generated/data/galacticraft/loot_table/blocks/parachest.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/parachest.json rename to src/main/generated/data/galacticraft/loot_table/blocks/parachest.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/pink_candle_moon_cheese_block.json b/src/main/generated/data/galacticraft/loot_table/blocks/pink_candle_moon_cheese_block.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/pink_candle_moon_cheese_block.json rename to src/main/generated/data/galacticraft/loot_table/blocks/pink_candle_moon_cheese_block.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/player_transport_tube.json b/src/main/generated/data/galacticraft/loot_table/blocks/player_transport_tube.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/player_transport_tube.json rename to src/main/generated/data/galacticraft/loot_table/blocks/player_transport_tube.json diff --git a/src/main/generated/data/galacticraft/loot_table/blocks/polished_moon_rock.json b/src/main/generated/data/galacticraft/loot_table/blocks/polished_moon_rock.json new file mode 100644 index 0000000000..aa776e564c --- /dev/null +++ b/src/main/generated/data/galacticraft/loot_table/blocks/polished_moon_rock.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "galacticraft:polished_moon_rock" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/loot_table/blocks/polished_moon_rock_slab.json b/src/main/generated/data/galacticraft/loot_table/blocks/polished_moon_rock_slab.json new file mode 100644 index 0000000000..d27948ff91 --- /dev/null +++ b/src/main/generated/data/galacticraft/loot_table/blocks/polished_moon_rock_slab.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "galacticraft:polished_moon_rock_slab" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/loot_table/blocks/polished_moon_rock_stairs.json b/src/main/generated/data/galacticraft/loot_table/blocks/polished_moon_rock_stairs.json new file mode 100644 index 0000000000..8131b1f018 --- /dev/null +++ b/src/main/generated/data/galacticraft/loot_table/blocks/polished_moon_rock_stairs.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "galacticraft:polished_moon_rock_stairs" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/loot_table/blocks/polished_moon_rock_wall.json b/src/main/generated/data/galacticraft/loot_table/blocks/polished_moon_rock_wall.json new file mode 100644 index 0000000000..b3e97b8bd6 --- /dev/null +++ b/src/main/generated/data/galacticraft/loot_table/blocks/polished_moon_rock_wall.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "galacticraft:polished_moon_rock_wall" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/pumice.json b/src/main/generated/data/galacticraft/loot_table/blocks/pumice.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/pumice.json rename to src/main/generated/data/galacticraft/loot_table/blocks/pumice.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/purple_candle_moon_cheese_block.json b/src/main/generated/data/galacticraft/loot_table/blocks/purple_candle_moon_cheese_block.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/purple_candle_moon_cheese_block.json rename to src/main/generated/data/galacticraft/loot_table/blocks/purple_candle_moon_cheese_block.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/red_candle_moon_cheese_block.json b/src/main/generated/data/galacticraft/loot_table/blocks/red_candle_moon_cheese_block.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/red_candle_moon_cheese_block.json rename to src/main/generated/data/galacticraft/loot_table/blocks/red_candle_moon_cheese_block.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/refinery.json b/src/main/generated/data/galacticraft/loot_table/blocks/refinery.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/refinery.json rename to src/main/generated/data/galacticraft/loot_table/blocks/refinery.json diff --git a/src/main/generated/data/galacticraft/loot_table/blocks/rich_olivine_basalt.json b/src/main/generated/data/galacticraft/loot_table/blocks/rich_olivine_basalt.json new file mode 100644 index 0000000000..d5f4644945 --- /dev/null +++ b/src/main/generated/data/galacticraft/loot_table/blocks/rich_olivine_basalt.json @@ -0,0 +1,63 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + } + ], + "name": "galacticraft:rich_olivine_basalt" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 4.0, + "min": 3.0 + }, + "function": "minecraft:set_count" + }, + { + "enchantment": "minecraft:fortune", + "formula": "minecraft:uniform_bonus_count", + "function": "minecraft:apply_bonus", + "parameters": { + "bonusMultiplier": 1 + } + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "galacticraft:olivine_shard" + } + ] + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/rocket_launch_pad.json b/src/main/generated/data/galacticraft/loot_table/blocks/rocket_launch_pad.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/rocket_launch_pad.json rename to src/main/generated/data/galacticraft/loot_table/blocks/rocket_launch_pad.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/rocket_workbench.json b/src/main/generated/data/galacticraft/loot_table/blocks/rocket_workbench.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/rocket_workbench.json rename to src/main/generated/data/galacticraft/loot_table/blocks/rocket_workbench.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/scorched_venus_rock.json b/src/main/generated/data/galacticraft/loot_table/blocks/scorched_venus_rock.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/scorched_venus_rock.json rename to src/main/generated/data/galacticraft/loot_table/blocks/scorched_venus_rock.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/sealable_aluminum_wire.json b/src/main/generated/data/galacticraft/loot_table/blocks/sealable_aluminum_wire.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/sealable_aluminum_wire.json rename to src/main/generated/data/galacticraft/loot_table/blocks/sealable_aluminum_wire.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/silicon_block.json b/src/main/generated/data/galacticraft/loot_table/blocks/silicon_block.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/silicon_block.json rename to src/main/generated/data/galacticraft/loot_table/blocks/silicon_block.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/silicon_ore.json b/src/main/generated/data/galacticraft/loot_table/blocks/silicon_ore.json similarity index 79% rename from src/main/generated/data/galacticraft/loot_tables/blocks/silicon_ore.json rename to src/main/generated/data/galacticraft/loot_table/blocks/silicon_ore.json index 9ee15d5681..9168968f96 100644 --- a/src/main/generated/data/galacticraft/loot_tables/blocks/silicon_ore.json +++ b/src/main/generated/data/galacticraft/loot_table/blocks/silicon_ore.json @@ -13,14 +13,16 @@ { "condition": "minecraft:match_tool", "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } } - } - ] + ] + } } } ], diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/soft_venus_rock.json b/src/main/generated/data/galacticraft/loot_table/blocks/soft_venus_rock.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/soft_venus_rock.json rename to src/main/generated/data/galacticraft/loot_table/blocks/soft_venus_rock.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/spotlight_light_panel.json b/src/main/generated/data/galacticraft/loot_table/blocks/spotlight_light_panel.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/spotlight_light_panel.json rename to src/main/generated/data/galacticraft/loot_table/blocks/spotlight_light_panel.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/square_light_panel.json b/src/main/generated/data/galacticraft/loot_table/blocks/square_light_panel.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/square_light_panel.json rename to src/main/generated/data/galacticraft/loot_table/blocks/square_light_panel.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/steel_decoration.json b/src/main/generated/data/galacticraft/loot_table/blocks/steel_decoration.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/steel_decoration.json rename to src/main/generated/data/galacticraft/loot_table/blocks/steel_decoration.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/steel_decoration_slab.json b/src/main/generated/data/galacticraft/loot_table/blocks/steel_decoration_slab.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/steel_decoration_slab.json rename to src/main/generated/data/galacticraft/loot_table/blocks/steel_decoration_slab.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/steel_decoration_stairs.json b/src/main/generated/data/galacticraft/loot_table/blocks/steel_decoration_stairs.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/steel_decoration_stairs.json rename to src/main/generated/data/galacticraft/loot_table/blocks/steel_decoration_stairs.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/steel_decoration_wall.json b/src/main/generated/data/galacticraft/loot_table/blocks/steel_decoration_wall.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/steel_decoration_wall.json rename to src/main/generated/data/galacticraft/loot_table/blocks/steel_decoration_wall.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/tin_decoration.json b/src/main/generated/data/galacticraft/loot_table/blocks/tin_decoration.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/tin_decoration.json rename to src/main/generated/data/galacticraft/loot_table/blocks/tin_decoration.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/tin_decoration_slab.json b/src/main/generated/data/galacticraft/loot_table/blocks/tin_decoration_slab.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/tin_decoration_slab.json rename to src/main/generated/data/galacticraft/loot_table/blocks/tin_decoration_slab.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/tin_decoration_stairs.json b/src/main/generated/data/galacticraft/loot_table/blocks/tin_decoration_stairs.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/tin_decoration_stairs.json rename to src/main/generated/data/galacticraft/loot_table/blocks/tin_decoration_stairs.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/tin_decoration_wall.json b/src/main/generated/data/galacticraft/loot_table/blocks/tin_decoration_wall.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/tin_decoration_wall.json rename to src/main/generated/data/galacticraft/loot_table/blocks/tin_decoration_wall.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/tin_ladder.json b/src/main/generated/data/galacticraft/loot_table/blocks/tin_ladder.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/tin_ladder.json rename to src/main/generated/data/galacticraft/loot_table/blocks/tin_ladder.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/tin_ore.json b/src/main/generated/data/galacticraft/loot_table/blocks/tin_ore.json similarity index 75% rename from src/main/generated/data/galacticraft/loot_tables/blocks/tin_ore.json rename to src/main/generated/data/galacticraft/loot_table/blocks/tin_ore.json index 8a4ae02c57..6783d088b6 100644 --- a/src/main/generated/data/galacticraft/loot_tables/blocks/tin_ore.json +++ b/src/main/generated/data/galacticraft/loot_table/blocks/tin_ore.json @@ -13,14 +13,16 @@ { "condition": "minecraft:match_tool", "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } } - } - ] + ] + } } } ], diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/titanium_block.json b/src/main/generated/data/galacticraft/loot_table/blocks/titanium_block.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/titanium_block.json rename to src/main/generated/data/galacticraft/loot_table/blocks/titanium_block.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/titanium_decoration.json b/src/main/generated/data/galacticraft/loot_table/blocks/titanium_decoration.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/titanium_decoration.json rename to src/main/generated/data/galacticraft/loot_table/blocks/titanium_decoration.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/titanium_decoration_slab.json b/src/main/generated/data/galacticraft/loot_table/blocks/titanium_decoration_slab.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/titanium_decoration_slab.json rename to src/main/generated/data/galacticraft/loot_table/blocks/titanium_decoration_slab.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/titanium_decoration_stairs.json b/src/main/generated/data/galacticraft/loot_table/blocks/titanium_decoration_stairs.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/titanium_decoration_stairs.json rename to src/main/generated/data/galacticraft/loot_table/blocks/titanium_decoration_stairs.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/titanium_decoration_wall.json b/src/main/generated/data/galacticraft/loot_table/blocks/titanium_decoration_wall.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/titanium_decoration_wall.json rename to src/main/generated/data/galacticraft/loot_table/blocks/titanium_decoration_wall.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/unlit_lantern.json b/src/main/generated/data/galacticraft/loot_table/blocks/unlit_lantern.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/unlit_lantern.json rename to src/main/generated/data/galacticraft/loot_table/blocks/unlit_lantern.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/unlit_torch.json b/src/main/generated/data/galacticraft/loot_table/blocks/unlit_torch.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/unlit_torch.json rename to src/main/generated/data/galacticraft/loot_table/blocks/unlit_torch.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/vacuum_glass.json b/src/main/generated/data/galacticraft/loot_table/blocks/vacuum_glass.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/vacuum_glass.json rename to src/main/generated/data/galacticraft/loot_table/blocks/vacuum_glass.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/vacuum_glass_clear.json b/src/main/generated/data/galacticraft/loot_table/blocks/vacuum_glass_clear.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/vacuum_glass_clear.json rename to src/main/generated/data/galacticraft/loot_table/blocks/vacuum_glass_clear.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/vacuum_glass_strong.json b/src/main/generated/data/galacticraft/loot_table/blocks/vacuum_glass_strong.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/vacuum_glass_strong.json rename to src/main/generated/data/galacticraft/loot_table/blocks/vacuum_glass_strong.json diff --git a/src/main/generated/data/galacticraft/loot_table/blocks/vapor_spout.json b/src/main/generated/data/galacticraft/loot_table/blocks/vapor_spout.json new file mode 100644 index 0000000000..026e5693d2 --- /dev/null +++ b/src/main/generated/data/galacticraft/loot_table/blocks/vapor_spout.json @@ -0,0 +1,46 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + } + ], + "name": "galacticraft:vapor_spout" + }, + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "name": "galacticraft:soft_venus_rock" + } + ] + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/loot_table/blocks/volcanic_rock.json b/src/main/generated/data/galacticraft/loot_table/blocks/volcanic_rock.json new file mode 100644 index 0000000000..a29f52d3f3 --- /dev/null +++ b/src/main/generated/data/galacticraft/loot_table/blocks/volcanic_rock.json @@ -0,0 +1,32 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "galacticraft:volcanic_rock" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/walkway.json b/src/main/generated/data/galacticraft/loot_table/blocks/walkway.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/walkway.json rename to src/main/generated/data/galacticraft/loot_table/blocks/walkway.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/white_candle_moon_cheese_block.json b/src/main/generated/data/galacticraft/loot_table/blocks/white_candle_moon_cheese_block.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/white_candle_moon_cheese_block.json rename to src/main/generated/data/galacticraft/loot_table/blocks/white_candle_moon_cheese_block.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/wire_walkway.json b/src/main/generated/data/galacticraft/loot_table/blocks/wire_walkway.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/wire_walkway.json rename to src/main/generated/data/galacticraft/loot_table/blocks/wire_walkway.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/yellow_candle_moon_cheese_block.json b/src/main/generated/data/galacticraft/loot_table/blocks/yellow_candle_moon_cheese_block.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/blocks/yellow_candle_moon_cheese_block.json rename to src/main/generated/data/galacticraft/loot_table/blocks/yellow_candle_moon_cheese_block.json diff --git a/src/main/generated/data/galacticraft/loot_tables/entities/arch_grey.json b/src/main/generated/data/galacticraft/loot_table/entities/arch_grey.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/entities/arch_grey.json rename to src/main/generated/data/galacticraft/loot_table/entities/arch_grey.json diff --git a/src/main/generated/data/galacticraft/loot_tables/entities/comet_cube.json b/src/main/generated/data/galacticraft/loot_table/entities/comet_cube.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/entities/comet_cube.json rename to src/main/generated/data/galacticraft/loot_table/entities/comet_cube.json diff --git a/src/main/generated/data/galacticraft/loot_tables/entities/evolved_creeper.json b/src/main/generated/data/galacticraft/loot_table/entities/evolved_creeper.json similarity index 88% rename from src/main/generated/data/galacticraft/loot_tables/entities/evolved_creeper.json rename to src/main/generated/data/galacticraft/loot_table/entities/evolved_creeper.json index 17af7ebb28..084841c7cb 100644 --- a/src/main/generated/data/galacticraft/loot_tables/entities/evolved_creeper.json +++ b/src/main/generated/data/galacticraft/loot_table/entities/evolved_creeper.json @@ -22,7 +22,8 @@ "max": 1.0, "min": 0.0 }, - "function": "minecraft:looting_enchant" + "enchantment": "minecraft:looting", + "function": "minecraft:enchanted_count_increase" } ], "name": "minecraft:gunpowder" @@ -35,7 +36,7 @@ "conditions": [ { "condition": "minecraft:entity_properties", - "entity": "killer", + "entity": "attacker", "predicate": { "type": "#minecraft:skeletons" } diff --git a/src/main/generated/data/galacticraft/loot_tables/entities/evolved_evoker.json b/src/main/generated/data/galacticraft/loot_table/entities/evolved_evoker.json similarity index 90% rename from src/main/generated/data/galacticraft/loot_tables/entities/evolved_evoker.json rename to src/main/generated/data/galacticraft/loot_table/entities/evolved_evoker.json index 021e723227..6f2d0f2648 100644 --- a/src/main/generated/data/galacticraft/loot_tables/entities/evolved_evoker.json +++ b/src/main/generated/data/galacticraft/loot_table/entities/evolved_evoker.json @@ -37,7 +37,8 @@ "max": 1.0, "min": 0.0 }, - "function": "minecraft:looting_enchant" + "enchantment": "minecraft:looting", + "function": "minecraft:enchanted_count_increase" } ], "name": "minecraft:emerald" diff --git a/src/main/generated/data/galacticraft/loot_tables/entities/evolved_pillager.json b/src/main/generated/data/galacticraft/loot_table/entities/evolved_pillager.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/entities/evolved_pillager.json rename to src/main/generated/data/galacticraft/loot_table/entities/evolved_pillager.json diff --git a/src/main/generated/data/galacticraft/loot_tables/entities/evolved_skeleton.json b/src/main/generated/data/galacticraft/loot_table/entities/evolved_skeleton.json similarity index 85% rename from src/main/generated/data/galacticraft/loot_tables/entities/evolved_skeleton.json rename to src/main/generated/data/galacticraft/loot_table/entities/evolved_skeleton.json index 9295f08df8..8ec4cd34cb 100644 --- a/src/main/generated/data/galacticraft/loot_tables/entities/evolved_skeleton.json +++ b/src/main/generated/data/galacticraft/loot_table/entities/evolved_skeleton.json @@ -22,7 +22,8 @@ "max": 1.0, "min": 0.0 }, - "function": "minecraft:looting_enchant" + "enchantment": "minecraft:looting", + "function": "minecraft:enchanted_count_increase" } ], "name": "minecraft:arrow" @@ -51,7 +52,8 @@ "max": 1.0, "min": 0.0 }, - "function": "minecraft:looting_enchant" + "enchantment": "minecraft:looting", + "function": "minecraft:enchanted_count_increase" } ], "name": "minecraft:bone" diff --git a/src/main/generated/data/galacticraft/loot_tables/entities/evolved_skeleton_boss.json b/src/main/generated/data/galacticraft/loot_table/entities/evolved_skeleton_boss.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/entities/evolved_skeleton_boss.json rename to src/main/generated/data/galacticraft/loot_table/entities/evolved_skeleton_boss.json diff --git a/src/main/generated/data/galacticraft/loot_tables/entities/evolved_spider.json b/src/main/generated/data/galacticraft/loot_table/entities/evolved_spider.json similarity index 86% rename from src/main/generated/data/galacticraft/loot_tables/entities/evolved_spider.json rename to src/main/generated/data/galacticraft/loot_table/entities/evolved_spider.json index 4b5d916492..e9278aa9a7 100644 --- a/src/main/generated/data/galacticraft/loot_tables/entities/evolved_spider.json +++ b/src/main/generated/data/galacticraft/loot_table/entities/evolved_spider.json @@ -22,7 +22,8 @@ "max": 1.0, "min": 0.0 }, - "function": "minecraft:looting_enchant" + "enchantment": "minecraft:looting", + "function": "minecraft:enchanted_count_increase" } ], "name": "minecraft:string" @@ -56,7 +57,8 @@ "max": 1.0, "min": 0.0 }, - "function": "minecraft:looting_enchant" + "enchantment": "minecraft:looting", + "function": "minecraft:enchanted_count_increase" } ], "name": "minecraft:spider_eye" diff --git a/src/main/generated/data/galacticraft/loot_tables/entities/evolved_vindicator.json b/src/main/generated/data/galacticraft/loot_table/entities/evolved_vindicator.json similarity index 88% rename from src/main/generated/data/galacticraft/loot_tables/entities/evolved_vindicator.json rename to src/main/generated/data/galacticraft/loot_table/entities/evolved_vindicator.json index a5c107e7c4..1d75849ab5 100644 --- a/src/main/generated/data/galacticraft/loot_tables/entities/evolved_vindicator.json +++ b/src/main/generated/data/galacticraft/loot_table/entities/evolved_vindicator.json @@ -27,7 +27,8 @@ "max": 1.0, "min": 0.0 }, - "function": "minecraft:looting_enchant" + "enchantment": "minecraft:looting", + "function": "minecraft:enchanted_count_increase" } ], "name": "minecraft:emerald" diff --git a/src/main/generated/data/galacticraft/loot_table/entities/evolved_zombie.json b/src/main/generated/data/galacticraft/loot_table/entities/evolved_zombie.json new file mode 100644 index 0000000000..d2e5718d0d --- /dev/null +++ b/src/main/generated/data/galacticraft/loot_table/entities/evolved_zombie.json @@ -0,0 +1,107 @@ +{ + "type": "minecraft:entity", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 2.0, + "min": 0.0 + }, + "function": "minecraft:set_count" + }, + { + "count": { + "type": "minecraft:uniform", + "max": 1.0, + "min": 0.0 + }, + "enchantment": "minecraft:looting", + "function": "minecraft:enchanted_count_increase" + } + ], + "name": "minecraft:rotten_flesh" + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:killed_by_player" + }, + { + "condition": "minecraft:random_chance_with_enchanted_bonus", + "enchanted_chance": { + "type": "minecraft:linear", + "base": 0.035, + "per_level_above_first": 0.01 + }, + "enchantment": "minecraft:looting", + "unenchanted_chance": 0.025 + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:iron_ingot" + }, + { + "type": "minecraft:item", + "name": "minecraft:carrot" + }, + { + "type": "minecraft:item", + "functions": [ + { + "conditions": [ + { + "condition": "minecraft:any_of", + "terms": [ + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "flags": { + "is_on_fire": true + } + } + }, + { + "condition": "minecraft:entity_properties", + "entity": "direct_attacker", + "predicate": { + "equipment": { + "mainhand": { + "predicates": { + "minecraft:enchantments": [ + { + "enchantments": "#minecraft:smelts_loot" + } + ] + } + } + } + } + } + ] + } + ], + "function": "minecraft:furnace_smelt" + } + ], + "name": "minecraft:potato" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "galacticraft:entities/evolved_zombie" +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/loot_tables/entities/gazer.json b/src/main/generated/data/galacticraft/loot_table/entities/gazer.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/entities/gazer.json rename to src/main/generated/data/galacticraft/loot_table/entities/gazer.json diff --git a/src/main/generated/data/galacticraft/loot_tables/entities/grey.json b/src/main/generated/data/galacticraft/loot_table/entities/grey.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/entities/grey.json rename to src/main/generated/data/galacticraft/loot_table/entities/grey.json diff --git a/src/main/generated/data/galacticraft/loot_tables/entities/oli_grub.json b/src/main/generated/data/galacticraft/loot_table/entities/oli_grub.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/entities/oli_grub.json rename to src/main/generated/data/galacticraft/loot_table/entities/oli_grub.json diff --git a/src/main/generated/data/galacticraft/loot_tables/entities/rumbler.json b/src/main/generated/data/galacticraft/loot_table/entities/rumbler.json similarity index 100% rename from src/main/generated/data/galacticraft/loot_tables/entities/rumbler.json rename to src/main/generated/data/galacticraft/loot_table/entities/rumbler.json diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/lunaslate.json b/src/main/generated/data/galacticraft/loot_tables/blocks/lunaslate.json deleted file mode 100644 index 19689f043e..0000000000 --- a/src/main/generated/data/galacticraft/loot_tables/blocks/lunaslate.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "conditions": [ - { - "condition": "minecraft:match_tool", - "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 - } - } - ] - } - } - ], - "name": "galacticraft:lunaslate" - }, - { - "type": "minecraft:item", - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], - "name": "galacticraft:cobbled_lunaslate" - } - ] - } - ], - "rolls": 1.0 - } - ] -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/mars_stone.json b/src/main/generated/data/galacticraft/loot_tables/blocks/mars_stone.json deleted file mode 100644 index 34e702ea32..0000000000 --- a/src/main/generated/data/galacticraft/loot_tables/blocks/mars_stone.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "conditions": [ - { - "condition": "minecraft:match_tool", - "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 - } - } - ] - } - } - ], - "name": "galacticraft:mars_stone" - }, - { - "type": "minecraft:item", - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], - "name": "galacticraft:mars_cobblestone" - } - ] - } - ], - "rolls": 1.0 - } - ] -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/moon_rock.json b/src/main/generated/data/galacticraft/loot_tables/blocks/moon_rock.json deleted file mode 100644 index 8a10197dfe..0000000000 --- a/src/main/generated/data/galacticraft/loot_tables/blocks/moon_rock.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "conditions": [ - { - "condition": "minecraft:match_tool", - "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 - } - } - ] - } - } - ], - "name": "galacticraft:moon_rock" - }, - { - "type": "minecraft:item", - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], - "name": "galacticraft:cobbled_moon_rock" - } - ] - } - ], - "rolls": 1.0 - } - ] -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/vapor_spout.json b/src/main/generated/data/galacticraft/loot_tables/blocks/vapor_spout.json deleted file mode 100644 index 05e56e5fd0..0000000000 --- a/src/main/generated/data/galacticraft/loot_tables/blocks/vapor_spout.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "conditions": [ - { - "condition": "minecraft:match_tool", - "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 - } - } - ] - } - } - ], - "name": "galacticraft:vapor_spout" - }, - { - "type": "minecraft:item", - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], - "name": "galacticraft:soft_venus_rock" - } - ] - } - ], - "rolls": 1.0 - } - ] -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/loot_tables/blocks/volcanic_rock.json b/src/main/generated/data/galacticraft/loot_tables/blocks/volcanic_rock.json deleted file mode 100644 index 0c42f393fa..0000000000 --- a/src/main/generated/data/galacticraft/loot_tables/blocks/volcanic_rock.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "bonus_rolls": 0.0, - "conditions": [ - { - "condition": "minecraft:match_tool", - "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 - } - } - ] - } - } - ], - "entries": [ - { - "type": "minecraft:item", - "name": "galacticraft:volcanic_rock" - } - ], - "rolls": 1.0 - } - ] -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/loot_tables/entities/evolved_zombie.json b/src/main/generated/data/galacticraft/loot_tables/entities/evolved_zombie.json deleted file mode 100644 index a97824711d..0000000000 --- a/src/main/generated/data/galacticraft/loot_tables/entities/evolved_zombie.json +++ /dev/null @@ -1,79 +0,0 @@ -{ - "type": "minecraft:entity", - "pools": [ - { - "bonus_rolls": 0.0, - "entries": [ - { - "type": "minecraft:item", - "functions": [ - { - "add": false, - "count": { - "type": "minecraft:uniform", - "max": 2.0, - "min": 0.0 - }, - "function": "minecraft:set_count" - }, - { - "count": { - "type": "minecraft:uniform", - "max": 1.0, - "min": 0.0 - }, - "function": "minecraft:looting_enchant" - } - ], - "name": "minecraft:rotten_flesh" - } - ], - "rolls": 1.0 - }, - { - "bonus_rolls": 0.0, - "conditions": [ - { - "condition": "minecraft:killed_by_player" - }, - { - "chance": 0.025, - "condition": "minecraft:random_chance_with_looting", - "looting_multiplier": 0.01 - } - ], - "entries": [ - { - "type": "minecraft:item", - "name": "minecraft:iron_ingot" - }, - { - "type": "minecraft:item", - "name": "minecraft:carrot" - }, - { - "type": "minecraft:item", - "functions": [ - { - "conditions": [ - { - "condition": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "flags": { - "is_on_fire": true - } - } - } - ], - "function": "minecraft:furnace_smelt" - } - ], - "name": "minecraft:potato" - } - ], - "rolls": 1.0 - } - ], - "random_sequence": "galacticraft:entities/evolved_zombie" -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/advanced_solar_panel.json b/src/main/generated/data/galacticraft/recipe/advanced_solar_panel.json new file mode 100644 index 0000000000..4c02d78b77 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/advanced_solar_panel.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "A": { + "item": "galacticraft:advanced_wafer" + }, + "F": { + "item": "galacticraft:full_solar_panel" + }, + "P": { + "item": "galacticraft:steel_pole" + }, + "S": { + "item": "galacticraft:compressed_steel" + }, + "W": { + "item": "galacticraft:heavy_sealable_aluminum_wire" + } + }, + "pattern": [ + "SFS", + "SPS", + "WAW" + ], + "result": { + "count": 1, + "id": "galacticraft:advanced_solar_panel" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/aluminum_decoration.json b/src/main/generated/data/galacticraft/recipe/aluminum_decoration.json new file mode 100644 index 0000000000..97aa3f0250 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/aluminum_decoration.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "minecraft:stone" + }, + "X": { + "item": "galacticraft:compressed_aluminum" + } + }, + "pattern": [ + "## ", + "##X" + ], + "result": { + "count": 4, + "id": "galacticraft:aluminum_decoration" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/aluminum_decoration_slab.json b/src/main/generated/data/galacticraft/recipe/aluminum_decoration_slab.json new file mode 100644 index 0000000000..4c85697a7e --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/aluminum_decoration_slab.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:aluminum_decoration" + } + }, + "pattern": [ + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:aluminum_decoration_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/aluminum_decoration_slab_from_aluminum_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/aluminum_decoration_slab_from_aluminum_decoration_stonecutting.json new file mode 100644 index 0000000000..276a19aecf --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/aluminum_decoration_slab_from_aluminum_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:aluminum_decoration" + }, + "result": { + "count": 2, + "id": "galacticraft:aluminum_decoration_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/aluminum_decoration_stairs.json b/src/main/generated/data/galacticraft/recipe/aluminum_decoration_stairs.json new file mode 100644 index 0000000000..0a0490f974 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/aluminum_decoration_stairs.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:aluminum_decoration" + } + }, + "pattern": [ + "# ", + "## ", + "###" + ], + "result": { + "count": 4, + "id": "galacticraft:aluminum_decoration_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/aluminum_decoration_stairs_from_aluminum_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/aluminum_decoration_stairs_from_aluminum_decoration_stonecutting.json new file mode 100644 index 0000000000..74271b416b --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/aluminum_decoration_stairs_from_aluminum_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:aluminum_decoration" + }, + "result": { + "count": 1, + "id": "galacticraft:aluminum_decoration_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/aluminum_decoration_wall.json b/src/main/generated/data/galacticraft/recipe/aluminum_decoration_wall.json new file mode 100644 index 0000000000..a2fcc5815b --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/aluminum_decoration_wall.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:aluminum_decoration" + } + }, + "pattern": [ + "###", + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:aluminum_decoration_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/aluminum_decoration_wall_from_aluminum_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/aluminum_decoration_wall_from_aluminum_decoration_stonecutting.json new file mode 100644 index 0000000000..f97cbdee43 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/aluminum_decoration_wall_from_aluminum_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:aluminum_decoration" + }, + "result": { + "count": 1, + "id": "galacticraft:aluminum_decoration_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/aluminum_ingot_from_blasting_aluminum_ore.json b/src/main/generated/data/galacticraft/recipe/aluminum_ingot_from_blasting_aluminum_ore.json new file mode 100644 index 0000000000..e3b68c94db --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/aluminum_ingot_from_blasting_aluminum_ore.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:blasting", + "category": "misc", + "cookingtime": 100, + "experience": 0.7, + "group": "aluminum_ingot", + "ingredient": { + "item": "galacticraft:aluminum_ore" + }, + "result": { + "id": "galacticraft:aluminum_ingot" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/aluminum_ingot_from_blasting_deepslate_aluminum_ore.json b/src/main/generated/data/galacticraft/recipe/aluminum_ingot_from_blasting_deepslate_aluminum_ore.json new file mode 100644 index 0000000000..f3ac629c7c --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/aluminum_ingot_from_blasting_deepslate_aluminum_ore.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:blasting", + "category": "misc", + "cookingtime": 100, + "experience": 0.7, + "group": "aluminum_ingot", + "ingredient": { + "item": "galacticraft:deepslate_aluminum_ore" + }, + "result": { + "id": "galacticraft:aluminum_ingot" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/aluminum_ingot_from_blasting_raw_aluminum.json b/src/main/generated/data/galacticraft/recipe/aluminum_ingot_from_blasting_raw_aluminum.json new file mode 100644 index 0000000000..e7df33f4c4 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/aluminum_ingot_from_blasting_raw_aluminum.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:blasting", + "category": "misc", + "cookingtime": 100, + "experience": 0.7, + "group": "aluminum_ingot", + "ingredient": { + "item": "galacticraft:raw_aluminum" + }, + "result": { + "id": "galacticraft:aluminum_ingot" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/aluminum_ingot_from_nuggets.json b/src/main/generated/data/galacticraft/recipe/aluminum_ingot_from_nuggets.json new file mode 100644 index 0000000000..0447461108 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/aluminum_ingot_from_nuggets.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "group": "aluminum_ingot", + "key": { + "#": { + "item": "galacticraft:aluminum_nugget" + } + }, + "pattern": [ + "###", + "###", + "###" + ], + "result": { + "count": 1, + "id": "galacticraft:aluminum_ingot" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/aluminum_ingot_from_smelting_aluminum_ore.json b/src/main/generated/data/galacticraft/recipe/aluminum_ingot_from_smelting_aluminum_ore.json new file mode 100644 index 0000000000..03eed98cd9 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/aluminum_ingot_from_smelting_aluminum_ore.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "category": "misc", + "cookingtime": 200, + "experience": 0.7, + "group": "aluminum_ingot", + "ingredient": { + "item": "galacticraft:aluminum_ore" + }, + "result": { + "id": "galacticraft:aluminum_ingot" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/aluminum_ingot_from_smelting_deepslate_aluminum_ore.json b/src/main/generated/data/galacticraft/recipe/aluminum_ingot_from_smelting_deepslate_aluminum_ore.json new file mode 100644 index 0000000000..f02d5234f9 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/aluminum_ingot_from_smelting_deepslate_aluminum_ore.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "category": "misc", + "cookingtime": 200, + "experience": 0.7, + "group": "aluminum_ingot", + "ingredient": { + "item": "galacticraft:deepslate_aluminum_ore" + }, + "result": { + "id": "galacticraft:aluminum_ingot" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/aluminum_ingot_from_smelting_raw_aluminum.json b/src/main/generated/data/galacticraft/recipe/aluminum_ingot_from_smelting_raw_aluminum.json new file mode 100644 index 0000000000..666d873610 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/aluminum_ingot_from_smelting_raw_aluminum.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "category": "misc", + "cookingtime": 200, + "experience": 0.7, + "group": "aluminum_ingot", + "ingredient": { + "item": "galacticraft:raw_aluminum" + }, + "result": { + "id": "galacticraft:aluminum_ingot" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/aluminum_nugget.json b/src/main/generated/data/galacticraft/recipe/aluminum_nugget.json new file mode 100644 index 0000000000..138c800c16 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/aluminum_nugget.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "galacticraft:aluminum_ingot" + } + ], + "result": { + "count": 9, + "id": "galacticraft:aluminum_nugget" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/aluminum_wire.json b/src/main/generated/data/galacticraft/recipe/aluminum_wire.json new file mode 100644 index 0000000000..60303d6ff8 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/aluminum_wire.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "A": { + "item": "galacticraft:aluminum_ingot" + }, + "W": { + "item": "minecraft:white_wool" + } + }, + "pattern": [ + "WWW", + "AAA", + "WWW" + ], + "result": { + "count": 6, + "id": "galacticraft:aluminum_wire" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/ambient_thermal_controller.json b/src/main/generated/data/galacticraft/recipe/ambient_thermal_controller.json new file mode 100644 index 0000000000..5977d9a881 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/ambient_thermal_controller.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "item": "galacticraft:compressed_bronze" + }, + "R": { + "tag": "c:dusts/redstone" + }, + "S": { + "item": "galacticraft:compressed_steel" + }, + "V": { + "item": "galacticraft:oxygen_vent" + }, + "W": { + "item": "galacticraft:basic_wafer" + } + }, + "pattern": [ + "RVR", + "BSB", + "BWB" + ], + "result": { + "count": 1, + "id": "galacticraft:ambient_thermal_controller" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/atmospheric_valve.json b/src/main/generated/data/galacticraft/recipe/atmospheric_valve.json new file mode 100644 index 0000000000..a864424dc2 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/atmospheric_valve.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "D": { + "item": "galacticraft:desh_ingot" + }, + "V": { + "item": "galacticraft:oxygen_vent" + } + }, + "pattern": [ + "DVD", + " D " + ], + "result": { + "count": 1, + "id": "galacticraft:atmospheric_valve" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/basic_solar_panel.json b/src/main/generated/data/galacticraft/recipe/basic_solar_panel.json new file mode 100644 index 0000000000..5ad5fab7a5 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/basic_solar_panel.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "item": "galacticraft:basic_wafer" + }, + "F": { + "item": "galacticraft:full_solar_panel" + }, + "P": { + "item": "galacticraft:steel_pole" + }, + "S": { + "item": "galacticraft:compressed_steel" + }, + "W": { + "item": "galacticraft:aluminum_wire" + } + }, + "pattern": [ + "SFS", + "SPS", + "WBW" + ], + "result": { + "count": 1, + "id": "galacticraft:basic_solar_panel" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/battery.json b/src/main/generated/data/galacticraft/recipe/battery.json new file mode 100644 index 0000000000..9c49309b8c --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/battery.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "tag": "c:coal" + }, + "R": { + "tag": "c:dusts/redstone" + }, + "T": { + "item": "galacticraft:compressed_tin" + } + }, + "pattern": [ + " T ", + "TRT", + "TCT" + ], + "result": { + "count": 1, + "id": "galacticraft:battery" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/beam_core.json b/src/main/generated/data/galacticraft/recipe/beam_core.json new file mode 100644 index 0000000000..77f5499643 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/beam_core.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "G": { + "tag": "c:glass_panes" + }, + "I": { + "tag": "c:plates/iron" + }, + "R": { + "tag": "c:dusts/redstone" + } + }, + "pattern": [ + "RIR", + "IGI", + "RIR" + ], + "result": { + "count": 1, + "id": "galacticraft:beam_core" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/beef_patty_from_campfire_cooking.json b/src/main/generated/data/galacticraft/recipe/beef_patty_from_campfire_cooking.json new file mode 100644 index 0000000000..bbf5ec75f6 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/beef_patty_from_campfire_cooking.json @@ -0,0 +1,12 @@ +{ + "type": "minecraft:campfire_cooking", + "category": "food", + "cookingtime": 600, + "experience": 1.0, + "ingredient": { + "item": "galacticraft:ground_beef" + }, + "result": { + "id": "galacticraft:beef_patty" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/beef_patty_from_smelting.json b/src/main/generated/data/galacticraft/recipe/beef_patty_from_smelting.json new file mode 100644 index 0000000000..d66641f5d4 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/beef_patty_from_smelting.json @@ -0,0 +1,12 @@ +{ + "type": "minecraft:smelting", + "category": "food", + "cookingtime": 200, + "experience": 1.0, + "ingredient": { + "item": "galacticraft:ground_beef" + }, + "result": { + "id": "galacticraft:beef_patty" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/beef_patty_from_smoking.json b/src/main/generated/data/galacticraft/recipe/beef_patty_from_smoking.json new file mode 100644 index 0000000000..dd44ba9ce2 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/beef_patty_from_smoking.json @@ -0,0 +1,12 @@ +{ + "type": "minecraft:smoking", + "category": "food", + "cookingtime": 100, + "experience": 1.0, + "ingredient": { + "item": "galacticraft:ground_beef" + }, + "result": { + "id": "galacticraft:beef_patty" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/black_parachute.json b/src/main/generated/data/galacticraft/recipe/black_parachute.json new file mode 100644 index 0000000000..8e588a27af --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/black_parachute.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "galacticraft:white_parachute" + }, + { + "item": "minecraft:black_dye" + } + ], + "result": { + "count": 1, + "id": "galacticraft:black_parachute" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/blue_parachute.json b/src/main/generated/data/galacticraft/recipe/blue_parachute.json new file mode 100644 index 0000000000..c481fa2afd --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/blue_parachute.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "galacticraft:white_parachute" + }, + { + "item": "minecraft:blue_dye" + } + ], + "result": { + "count": 1, + "id": "galacticraft:blue_parachute" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/bronze_decoration.json b/src/main/generated/data/galacticraft/recipe/bronze_decoration.json new file mode 100644 index 0000000000..5e43ee41f7 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/bronze_decoration.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "minecraft:stone" + }, + "X": { + "item": "galacticraft:compressed_bronze" + } + }, + "pattern": [ + "## ", + "##X" + ], + "result": { + "count": 4, + "id": "galacticraft:bronze_decoration" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/bronze_decoration_slab.json b/src/main/generated/data/galacticraft/recipe/bronze_decoration_slab.json new file mode 100644 index 0000000000..1dcf6f37e2 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/bronze_decoration_slab.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:bronze_decoration" + } + }, + "pattern": [ + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:bronze_decoration_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/bronze_decoration_slab_from_bronze_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/bronze_decoration_slab_from_bronze_decoration_stonecutting.json new file mode 100644 index 0000000000..68469cb9a7 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/bronze_decoration_slab_from_bronze_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:bronze_decoration" + }, + "result": { + "count": 2, + "id": "galacticraft:bronze_decoration_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/bronze_decoration_stairs.json b/src/main/generated/data/galacticraft/recipe/bronze_decoration_stairs.json new file mode 100644 index 0000000000..e58fab3a64 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/bronze_decoration_stairs.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:bronze_decoration" + } + }, + "pattern": [ + "# ", + "## ", + "###" + ], + "result": { + "count": 4, + "id": "galacticraft:bronze_decoration_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/bronze_decoration_stairs_from_bronze_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/bronze_decoration_stairs_from_bronze_decoration_stonecutting.json new file mode 100644 index 0000000000..7e44c4909b --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/bronze_decoration_stairs_from_bronze_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:bronze_decoration" + }, + "result": { + "count": 1, + "id": "galacticraft:bronze_decoration_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/bronze_decoration_wall.json b/src/main/generated/data/galacticraft/recipe/bronze_decoration_wall.json new file mode 100644 index 0000000000..dcd5bef265 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/bronze_decoration_wall.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:bronze_decoration" + } + }, + "pattern": [ + "###", + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:bronze_decoration_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/bronze_decoration_wall_from_bronze_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/bronze_decoration_wall_from_bronze_decoration_stonecutting.json new file mode 100644 index 0000000000..dcf6a6b1a3 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/bronze_decoration_wall_from_bronze_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:bronze_decoration" + }, + "result": { + "count": 1, + "id": "galacticraft:bronze_decoration_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/brown_parachute.json b/src/main/generated/data/galacticraft/recipe/brown_parachute.json new file mode 100644 index 0000000000..90023268d6 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/brown_parachute.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "galacticraft:white_parachute" + }, + { + "item": "minecraft:brown_dye" + } + ], + "result": { + "count": 1, + "id": "galacticraft:brown_parachute" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/burger_bun.json b/src/main/generated/data/galacticraft/recipe/burger_bun.json new file mode 100644 index 0000000000..8aa2610a03 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/burger_bun.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:wheat" + }, + { + "item": "minecraft:wheat" + }, + { + "item": "minecraft:egg" + }, + { + "item": "minecraft:milk_bucket" + } + ], + "result": { + "count": 2, + "id": "galacticraft:burger_bun" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/canvas.json b/src/main/generated/data/galacticraft/recipe/canvas.json new file mode 100644 index 0000000000..4357dd2741 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/canvas.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "I": { + "item": "minecraft:stick" + }, + "S": { + "item": "minecraft:string" + } + }, + "pattern": [ + "SSI", + "SSS", + "ISS" + ], + "result": { + "count": 1, + "id": "galacticraft:canvas" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/carbon_fragments_from_charcoal.json b/src/main/generated/data/galacticraft/recipe/carbon_fragments_from_charcoal.json new file mode 100644 index 0000000000..05c8307db8 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/carbon_fragments_from_charcoal.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:charcoal" + } + ], + "result": { + "count": 3, + "id": "galacticraft:carbon_fragments" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/carbon_fragments_from_coal.json b/src/main/generated/data/galacticraft/recipe/carbon_fragments_from_coal.json new file mode 100644 index 0000000000..ddbd8465c0 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/carbon_fragments_from_coal.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "c:coal" + } + ], + "result": { + "count": 3, + "id": "galacticraft:carbon_fragments" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/carbon_fragments_from_smelting_planks.json b/src/main/generated/data/galacticraft/recipe/carbon_fragments_from_smelting_planks.json new file mode 100644 index 0000000000..9a01ff91f9 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/carbon_fragments_from_smelting_planks.json @@ -0,0 +1,12 @@ +{ + "type": "minecraft:smelting", + "category": "misc", + "cookingtime": 200, + "experience": 0.1, + "ingredient": { + "tag": "minecraft:planks" + }, + "result": { + "id": "galacticraft:carbon_fragments" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/cheese_slice.json b/src/main/generated/data/galacticraft/recipe/cheese_slice.json new file mode 100644 index 0000000000..8c1589afdd --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/cheese_slice.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "galacticraft:moon_cheese_block" + } + ], + "result": { + "count": 6, + "id": "galacticraft:cheese_slice" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/cheeseburger.json b/src/main/generated/data/galacticraft/recipe/cheeseburger.json new file mode 100644 index 0000000000..8878aabbae --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/cheeseburger.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "galacticraft:cheese_slice" + }, + { + "item": "galacticraft:beef_patty" + }, + { + "item": "galacticraft:burger_bun" + } + ], + "result": { + "count": 1, + "id": "galacticraft:cheeseburger" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/chiseled_moon_rock_brick.json b/src/main/generated/data/galacticraft/recipe/chiseled_moon_rock_brick.json new file mode 100644 index 0000000000..166fd9655c --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/chiseled_moon_rock_brick.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:moon_rock_brick_slab" + } + }, + "pattern": [ + "#", + "#" + ], + "result": { + "count": 1, + "id": "galacticraft:chiseled_moon_rock_brick" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/chiseled_moon_rock_brick_from_moon_rock_brick_stonecutting.json b/src/main/generated/data/galacticraft/recipe/chiseled_moon_rock_brick_from_moon_rock_brick_stonecutting.json new file mode 100644 index 0000000000..662d944fe9 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/chiseled_moon_rock_brick_from_moon_rock_brick_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:moon_rock_brick" + }, + "result": { + "count": 1, + "id": "galacticraft:chiseled_moon_rock_brick" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/chiseled_moon_rock_brick_from_moon_rock_stonecutting.json b/src/main/generated/data/galacticraft/recipe/chiseled_moon_rock_brick_from_moon_rock_stonecutting.json new file mode 100644 index 0000000000..b31ca26e45 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/chiseled_moon_rock_brick_from_moon_rock_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:moon_rock" + }, + "result": { + "count": 1, + "id": "galacticraft:chiseled_moon_rock_brick" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/circuit_fabricator.json b/src/main/generated/data/galacticraft/recipe/circuit_fabricator.json new file mode 100644 index 0000000000..ca76e7a142 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/circuit_fabricator.json @@ -0,0 +1,33 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "A": { + "item": "galacticraft:aluminum_ingot" + }, + "B": { + "item": "minecraft:stone_button" + }, + "F": { + "item": "minecraft:furnace" + }, + "L": { + "item": "minecraft:lever" + }, + "R": { + "item": "minecraft:redstone_torch" + }, + "W": { + "item": "galacticraft:aluminum_wire" + } + }, + "pattern": [ + "ALA", + "BFB", + "WRW" + ], + "result": { + "count": 1, + "id": "galacticraft:circuit_fabricator" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/coal_generator.json b/src/main/generated/data/galacticraft/recipe/coal_generator.json new file mode 100644 index 0000000000..484aebfd75 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/coal_generator.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "A": { + "item": "galacticraft:aluminum_ingot" + }, + "C": { + "tag": "c:ingots/copper" + }, + "F": { + "item": "minecraft:furnace" + }, + "W": { + "item": "galacticraft:aluminum_wire" + } + }, + "pattern": [ + "CCC", + "AFA", + "AWA" + ], + "result": { + "count": 1, + "id": "galacticraft:coal_generator" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/cobbled_lunaslate_slab.json b/src/main/generated/data/galacticraft/recipe/cobbled_lunaslate_slab.json new file mode 100644 index 0000000000..f31600d28f --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/cobbled_lunaslate_slab.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:cobbled_lunaslate" + } + }, + "pattern": [ + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:cobbled_lunaslate_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/cobbled_lunaslate_slab_from_cobbled_lunaslate_stonecutting.json b/src/main/generated/data/galacticraft/recipe/cobbled_lunaslate_slab_from_cobbled_lunaslate_stonecutting.json new file mode 100644 index 0000000000..eda1e1617d --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/cobbled_lunaslate_slab_from_cobbled_lunaslate_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:cobbled_lunaslate" + }, + "result": { + "count": 2, + "id": "galacticraft:cobbled_lunaslate_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/cobbled_lunaslate_stairs.json b/src/main/generated/data/galacticraft/recipe/cobbled_lunaslate_stairs.json new file mode 100644 index 0000000000..ab1f36ee6a --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/cobbled_lunaslate_stairs.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:cobbled_lunaslate" + } + }, + "pattern": [ + "# ", + "## ", + "###" + ], + "result": { + "count": 4, + "id": "galacticraft:cobbled_lunaslate_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/cobbled_lunaslate_stairs_from_cobbled_lunaslate_stonecutting.json b/src/main/generated/data/galacticraft/recipe/cobbled_lunaslate_stairs_from_cobbled_lunaslate_stonecutting.json new file mode 100644 index 0000000000..ef875e4f68 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/cobbled_lunaslate_stairs_from_cobbled_lunaslate_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:cobbled_lunaslate" + }, + "result": { + "count": 1, + "id": "galacticraft:cobbled_lunaslate_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/cobbled_lunaslate_wall.json b/src/main/generated/data/galacticraft/recipe/cobbled_lunaslate_wall.json new file mode 100644 index 0000000000..2c8fbe0dbb --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/cobbled_lunaslate_wall.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:cobbled_lunaslate" + } + }, + "pattern": [ + "###", + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:cobbled_lunaslate_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/cobbled_lunaslate_wall_from_cobbled_lunaslate_stonecutting.json b/src/main/generated/data/galacticraft/recipe/cobbled_lunaslate_wall_from_cobbled_lunaslate_stonecutting.json new file mode 100644 index 0000000000..4244800d15 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/cobbled_lunaslate_wall_from_cobbled_lunaslate_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:cobbled_lunaslate" + }, + "result": { + "count": 1, + "id": "galacticraft:cobbled_lunaslate_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/compressing/compressed_aluminum.json b/src/main/generated/data/galacticraft/recipe/compressing/compressed_aluminum.json new file mode 100644 index 0000000000..304d3bac4f --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/compressing/compressed_aluminum.json @@ -0,0 +1,15 @@ +{ + "type": "galacticraft:compressing_shapeless", + "ingredients": [ + { + "tag": "c:ingots/aluminum" + }, + { + "tag": "c:ingots/aluminum" + } + ], + "result": { + "count": 1, + "id": "galacticraft:compressed_aluminum" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/compressing/compressed_bronze.json b/src/main/generated/data/galacticraft/recipe/compressing/compressed_bronze.json similarity index 77% rename from src/main/generated/data/galacticraft/recipes/compressing/compressed_bronze.json rename to src/main/generated/data/galacticraft/recipe/compressing/compressed_bronze.json index 135cda0f23..f9b5a8c3da 100644 --- a/src/main/generated/data/galacticraft/recipes/compressing/compressed_bronze.json +++ b/src/main/generated/data/galacticraft/recipe/compressing/compressed_bronze.json @@ -9,6 +9,7 @@ } ], "result": { - "item": "galacticraft:compressed_bronze" + "count": 1, + "id": "galacticraft:compressed_bronze" } } \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/compressing/compressed_copper.json b/src/main/generated/data/galacticraft/recipe/compressing/compressed_copper.json new file mode 100644 index 0000000000..91ea5b3437 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/compressing/compressed_copper.json @@ -0,0 +1,15 @@ +{ + "type": "galacticraft:compressing_shapeless", + "ingredients": [ + { + "tag": "c:ingots/copper" + }, + { + "tag": "c:ingots/copper" + } + ], + "result": { + "count": 1, + "id": "galacticraft:compressed_copper" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/compressing/compressed_desh.json b/src/main/generated/data/galacticraft/recipe/compressing/compressed_desh.json new file mode 100644 index 0000000000..b8ce2d078b --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/compressing/compressed_desh.json @@ -0,0 +1,12 @@ +{ + "type": "galacticraft:compressing_shapeless", + "ingredients": [ + { + "item": "galacticraft:desh_ingot" + } + ], + "result": { + "count": 1, + "id": "galacticraft:compressed_desh" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/compressing/compressed_iron.json b/src/main/generated/data/galacticraft/recipe/compressing/compressed_iron.json new file mode 100644 index 0000000000..f6ae7f5b6e --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/compressing/compressed_iron.json @@ -0,0 +1,15 @@ +{ + "type": "galacticraft:compressing_shapeless", + "ingredients": [ + { + "tag": "c:ingots/iron" + }, + { + "tag": "c:ingots/iron" + } + ], + "result": { + "count": 1, + "id": "galacticraft:compressed_iron" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/compressing/compressed_meteoric_iron.json b/src/main/generated/data/galacticraft/recipe/compressing/compressed_meteoric_iron.json new file mode 100644 index 0000000000..a6d1fc2be8 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/compressing/compressed_meteoric_iron.json @@ -0,0 +1,12 @@ +{ + "type": "galacticraft:compressing_shapeless", + "ingredients": [ + { + "item": "galacticraft:meteoric_iron_ingot" + } + ], + "result": { + "count": 1, + "id": "galacticraft:compressed_meteoric_iron" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/compressing/compressed_steel.json b/src/main/generated/data/galacticraft/recipe/compressing/compressed_steel.json new file mode 100644 index 0000000000..9e032e07c7 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/compressing/compressed_steel.json @@ -0,0 +1,18 @@ +{ + "type": "galacticraft:compressing_shapeless", + "ingredients": [ + { + "tag": "c:coal" + }, + { + "item": "galacticraft:compressed_iron" + }, + { + "tag": "c:coal" + } + ], + "result": { + "count": 1, + "id": "galacticraft:compressed_steel" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/compressing/compressed_steel_from_ingots.json b/src/main/generated/data/galacticraft/recipe/compressing/compressed_steel_from_ingots.json new file mode 100644 index 0000000000..f8655193bd --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/compressing/compressed_steel_from_ingots.json @@ -0,0 +1,15 @@ +{ + "type": "galacticraft:compressing_shapeless", + "ingredients": [ + { + "tag": "c:ingots/steel" + }, + { + "tag": "c:ingots/steel" + } + ], + "result": { + "count": 1, + "id": "galacticraft:compressed_steel" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/compressing/compressed_tin.json b/src/main/generated/data/galacticraft/recipe/compressing/compressed_tin.json new file mode 100644 index 0000000000..29eccb66b6 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/compressing/compressed_tin.json @@ -0,0 +1,15 @@ +{ + "type": "galacticraft:compressing_shapeless", + "ingredients": [ + { + "tag": "c:ingots/tin" + }, + { + "tag": "c:ingots/tin" + } + ], + "result": { + "count": 1, + "id": "galacticraft:compressed_tin" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/compressing/compressed_titanium.json b/src/main/generated/data/galacticraft/recipe/compressing/compressed_titanium.json new file mode 100644 index 0000000000..81503f1218 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/compressing/compressed_titanium.json @@ -0,0 +1,15 @@ +{ + "type": "galacticraft:compressing_shapeless", + "ingredients": [ + { + "item": "galacticraft:titanium_ingot" + }, + { + "item": "galacticraft:titanium_ingot" + } + ], + "result": { + "count": 1, + "id": "galacticraft:compressed_titanium" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/compressing/heavy_plating.json b/src/main/generated/data/galacticraft/recipe/compressing/heavy_plating.json new file mode 100644 index 0000000000..8d66721b9e --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/compressing/heavy_plating.json @@ -0,0 +1,22 @@ +{ + "type": "galacticraft:compressing_shaped", + "key": { + "A": { + "item": "galacticraft:compressed_aluminum" + }, + "B": { + "item": "galacticraft:compressed_bronze" + }, + "S": { + "item": "galacticraft:compressed_steel" + } + }, + "pattern": [ + "BAS", + "BAS" + ], + "result": { + "count": 2, + "id": "galacticraft:heavy_plating" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/compressing/heavy_plating_flipped.json b/src/main/generated/data/galacticraft/recipe/compressing/heavy_plating_flipped.json new file mode 100644 index 0000000000..3d1d5b8e8d --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/compressing/heavy_plating_flipped.json @@ -0,0 +1,22 @@ +{ + "type": "galacticraft:compressing_shaped", + "key": { + "A": { + "item": "galacticraft:compressed_aluminum" + }, + "B": { + "item": "galacticraft:compressed_bronze" + }, + "S": { + "item": "galacticraft:compressed_steel" + } + }, + "pattern": [ + "SAB", + "SAB" + ], + "result": { + "count": 2, + "id": "galacticraft:heavy_plating" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/compressing/heavy_plating_t2.json b/src/main/generated/data/galacticraft/recipe/compressing/heavy_plating_t2.json new file mode 100644 index 0000000000..89d2fcfa0c --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/compressing/heavy_plating_t2.json @@ -0,0 +1,15 @@ +{ + "type": "galacticraft:compressing_shapeless", + "ingredients": [ + { + "item": "galacticraft:heavy_plating" + }, + { + "item": "galacticraft:compressed_meteoric_iron" + } + ], + "result": { + "count": 1, + "id": "galacticraft:heavy_plating_t2" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/compressing/heavy_plating_t3.json b/src/main/generated/data/galacticraft/recipe/compressing/heavy_plating_t3.json new file mode 100644 index 0000000000..45bb033497 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/compressing/heavy_plating_t3.json @@ -0,0 +1,15 @@ +{ + "type": "galacticraft:compressing_shapeless", + "ingredients": [ + { + "item": "galacticraft:heavy_plating_t2" + }, + { + "item": "galacticraft:compressed_desh" + } + ], + "result": { + "count": 1, + "id": "galacticraft:heavy_plating_t3" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/compressor.json b/src/main/generated/data/galacticraft/recipe/compressor.json new file mode 100644 index 0000000000..bfbeb906e5 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/compressor.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "A": { + "item": "minecraft:anvil" + }, + "C": { + "tag": "c:ingots/copper" + }, + "I": { + "item": "galacticraft:aluminum_ingot" + }, + "W": { + "item": "galacticraft:basic_wafer" + } + }, + "pattern": [ + "IAI", + "ICI", + "IWI" + ], + "result": { + "count": 1, + "id": "galacticraft:compressor" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/copper_canister.json b/src/main/generated/data/galacticraft/recipe/copper_canister.json new file mode 100644 index 0000000000..452edccec7 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/copper_canister.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "X": { + "item": "minecraft:copper_ingot" + } + }, + "pattern": [ + "X X", + "X X", + "XXX" + ], + "result": { + "count": 2, + "id": "galacticraft:copper_canister" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/copper_decoration.json b/src/main/generated/data/galacticraft/recipe/copper_decoration.json new file mode 100644 index 0000000000..d76be45974 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/copper_decoration.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "minecraft:stone" + }, + "X": { + "item": "galacticraft:compressed_copper" + } + }, + "pattern": [ + "## ", + "##X" + ], + "result": { + "count": 4, + "id": "galacticraft:copper_decoration" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/copper_decoration_slab.json b/src/main/generated/data/galacticraft/recipe/copper_decoration_slab.json new file mode 100644 index 0000000000..881b3924c0 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/copper_decoration_slab.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:copper_decoration" + } + }, + "pattern": [ + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:copper_decoration_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/copper_decoration_slab_from_copper_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/copper_decoration_slab_from_copper_decoration_stonecutting.json new file mode 100644 index 0000000000..4b22f52743 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/copper_decoration_slab_from_copper_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:copper_decoration" + }, + "result": { + "count": 2, + "id": "galacticraft:copper_decoration_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/copper_decoration_stairs.json b/src/main/generated/data/galacticraft/recipe/copper_decoration_stairs.json new file mode 100644 index 0000000000..bf5bd61c1c --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/copper_decoration_stairs.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:copper_decoration" + } + }, + "pattern": [ + "# ", + "## ", + "###" + ], + "result": { + "count": 4, + "id": "galacticraft:copper_decoration_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/copper_decoration_stairs_from_copper_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/copper_decoration_stairs_from_copper_decoration_stonecutting.json new file mode 100644 index 0000000000..9b08d987b2 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/copper_decoration_stairs_from_copper_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:copper_decoration" + }, + "result": { + "count": 1, + "id": "galacticraft:copper_decoration_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/copper_decoration_wall.json b/src/main/generated/data/galacticraft/recipe/copper_decoration_wall.json new file mode 100644 index 0000000000..484fdc3ff9 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/copper_decoration_wall.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:copper_decoration" + } + }, + "pattern": [ + "###", + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:copper_decoration_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/copper_decoration_wall_from_copper_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/copper_decoration_wall_from_copper_decoration_stonecutting.json new file mode 100644 index 0000000000..f446a737a7 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/copper_decoration_wall_from_copper_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:copper_decoration" + }, + "result": { + "count": 1, + "id": "galacticraft:copper_decoration_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/copper_ingot_from_blasting_lunaslate_copper_ore.json b/src/main/generated/data/galacticraft/recipe/copper_ingot_from_blasting_lunaslate_copper_ore.json new file mode 100644 index 0000000000..6787798dba --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/copper_ingot_from_blasting_lunaslate_copper_ore.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:blasting", + "category": "misc", + "cookingtime": 100, + "experience": 0.7, + "group": "copper_ingot", + "ingredient": { + "item": "galacticraft:lunaslate_copper_ore" + }, + "result": { + "id": "minecraft:copper_ingot" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/copper_ingot_from_blasting_moon_copper_ore.json b/src/main/generated/data/galacticraft/recipe/copper_ingot_from_blasting_moon_copper_ore.json new file mode 100644 index 0000000000..852913e1b2 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/copper_ingot_from_blasting_moon_copper_ore.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:blasting", + "category": "misc", + "cookingtime": 100, + "experience": 0.7, + "group": "copper_ingot", + "ingredient": { + "item": "galacticraft:moon_copper_ore" + }, + "result": { + "id": "minecraft:copper_ingot" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/copper_ingot_from_smelting_lunaslate_copper_ore.json b/src/main/generated/data/galacticraft/recipe/copper_ingot_from_smelting_lunaslate_copper_ore.json new file mode 100644 index 0000000000..a46be2cc06 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/copper_ingot_from_smelting_lunaslate_copper_ore.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "category": "misc", + "cookingtime": 200, + "experience": 0.7, + "group": "copper_ingot", + "ingredient": { + "item": "galacticraft:lunaslate_copper_ore" + }, + "result": { + "id": "minecraft:copper_ingot" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/copper_ingot_from_smelting_moon_copper_ore.json b/src/main/generated/data/galacticraft/recipe/copper_ingot_from_smelting_moon_copper_ore.json new file mode 100644 index 0000000000..1b46d79f1b --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/copper_ingot_from_smelting_moon_copper_ore.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "category": "misc", + "cookingtime": 200, + "experience": 0.7, + "group": "copper_ingot", + "ingredient": { + "item": "galacticraft:moon_copper_ore" + }, + "result": { + "id": "minecraft:copper_ingot" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/cracked_moon_basalt_brick_slab.json b/src/main/generated/data/galacticraft/recipe/cracked_moon_basalt_brick_slab.json new file mode 100644 index 0000000000..b66c8ac34c --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/cracked_moon_basalt_brick_slab.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:cracked_moon_basalt_brick" + } + }, + "pattern": [ + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:cracked_moon_basalt_brick_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/cracked_moon_basalt_brick_slab_from_cracked_moon_basalt_brick_stonecutting.json b/src/main/generated/data/galacticraft/recipe/cracked_moon_basalt_brick_slab_from_cracked_moon_basalt_brick_stonecutting.json new file mode 100644 index 0000000000..72eba0fff3 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/cracked_moon_basalt_brick_slab_from_cracked_moon_basalt_brick_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:cracked_moon_basalt_brick" + }, + "result": { + "count": 2, + "id": "galacticraft:cracked_moon_basalt_brick_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/cracked_moon_basalt_brick_stairs.json b/src/main/generated/data/galacticraft/recipe/cracked_moon_basalt_brick_stairs.json new file mode 100644 index 0000000000..fe49967fa6 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/cracked_moon_basalt_brick_stairs.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:cracked_moon_basalt_brick" + } + }, + "pattern": [ + "# ", + "## ", + "###" + ], + "result": { + "count": 4, + "id": "galacticraft:cracked_moon_basalt_brick_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/cracked_moon_basalt_brick_stairs_from_cracked_moon_basalt_brick_stonecutting.json b/src/main/generated/data/galacticraft/recipe/cracked_moon_basalt_brick_stairs_from_cracked_moon_basalt_brick_stonecutting.json new file mode 100644 index 0000000000..d15226b938 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/cracked_moon_basalt_brick_stairs_from_cracked_moon_basalt_brick_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:cracked_moon_basalt_brick" + }, + "result": { + "count": 1, + "id": "galacticraft:cracked_moon_basalt_brick_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/cracked_moon_basalt_brick_wall.json b/src/main/generated/data/galacticraft/recipe/cracked_moon_basalt_brick_wall.json new file mode 100644 index 0000000000..508d9753d1 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/cracked_moon_basalt_brick_wall.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:cracked_moon_basalt_brick" + } + }, + "pattern": [ + "###", + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:cracked_moon_basalt_brick_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/cracked_moon_basalt_brick_wall_from_cracked_moon_basalt_brick_stonecutting.json b/src/main/generated/data/galacticraft/recipe/cracked_moon_basalt_brick_wall_from_cracked_moon_basalt_brick_stonecutting.json new file mode 100644 index 0000000000..e0be91364a --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/cracked_moon_basalt_brick_wall_from_cracked_moon_basalt_brick_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:cracked_moon_basalt_brick" + }, + "result": { + "count": 1, + "id": "galacticraft:cracked_moon_basalt_brick_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/cracked_moon_rock_brick.json b/src/main/generated/data/galacticraft/recipe/cracked_moon_rock_brick.json new file mode 100644 index 0000000000..b7c5cd759a --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/cracked_moon_rock_brick.json @@ -0,0 +1,12 @@ +{ + "type": "minecraft:smelting", + "category": "blocks", + "cookingtime": 200, + "experience": 0.1, + "ingredient": { + "item": "galacticraft:moon_rock_brick" + }, + "result": { + "id": "galacticraft:cracked_moon_rock_brick" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/cracked_moon_rock_brick_slab.json b/src/main/generated/data/galacticraft/recipe/cracked_moon_rock_brick_slab.json new file mode 100644 index 0000000000..16988176f9 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/cracked_moon_rock_brick_slab.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:cracked_moon_rock_brick" + } + }, + "pattern": [ + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:cracked_moon_rock_brick_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/cracked_moon_rock_brick_slab_from_cracked_moon_rock_brick_stonecutting.json b/src/main/generated/data/galacticraft/recipe/cracked_moon_rock_brick_slab_from_cracked_moon_rock_brick_stonecutting.json new file mode 100644 index 0000000000..465e4d9695 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/cracked_moon_rock_brick_slab_from_cracked_moon_rock_brick_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:cracked_moon_rock_brick" + }, + "result": { + "count": 2, + "id": "galacticraft:cracked_moon_rock_brick_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/cracked_moon_rock_brick_stairs.json b/src/main/generated/data/galacticraft/recipe/cracked_moon_rock_brick_stairs.json new file mode 100644 index 0000000000..eeaabee85f --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/cracked_moon_rock_brick_stairs.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:cracked_moon_rock_brick" + } + }, + "pattern": [ + "# ", + "## ", + "###" + ], + "result": { + "count": 4, + "id": "galacticraft:cracked_moon_rock_brick_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/cracked_moon_rock_brick_stairs_from_cracked_moon_rock_brick_stonecutting.json b/src/main/generated/data/galacticraft/recipe/cracked_moon_rock_brick_stairs_from_cracked_moon_rock_brick_stonecutting.json new file mode 100644 index 0000000000..05b58cf102 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/cracked_moon_rock_brick_stairs_from_cracked_moon_rock_brick_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:cracked_moon_rock_brick" + }, + "result": { + "count": 1, + "id": "galacticraft:cracked_moon_rock_brick_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/cracked_moon_rock_brick_wall.json b/src/main/generated/data/galacticraft/recipe/cracked_moon_rock_brick_wall.json new file mode 100644 index 0000000000..aed68a5585 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/cracked_moon_rock_brick_wall.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:cracked_moon_rock_brick" + } + }, + "pattern": [ + "###", + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:cracked_moon_rock_brick_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/cracked_moon_rock_brick_wall_from_cracked_moon_rock_brick_stonecutting.json b/src/main/generated/data/galacticraft/recipe/cracked_moon_rock_brick_wall_from_cracked_moon_rock_brick_stonecutting.json new file mode 100644 index 0000000000..2fee40f1a7 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/cracked_moon_rock_brick_wall_from_cracked_moon_rock_brick_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:cracked_moon_rock_brick" + }, + "result": { + "count": 1, + "id": "galacticraft:cracked_moon_rock_brick_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/cyan_parachute.json b/src/main/generated/data/galacticraft/recipe/cyan_parachute.json new file mode 100644 index 0000000000..32f143615e --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/cyan_parachute.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "galacticraft:white_parachute" + }, + { + "item": "minecraft:cyan_dye" + } + ], + "result": { + "count": 1, + "id": "galacticraft:cyan_parachute" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/dark_decoration_slab.json b/src/main/generated/data/galacticraft/recipe/dark_decoration_slab.json new file mode 100644 index 0000000000..e7d14c06fe --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/dark_decoration_slab.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:dark_decoration" + } + }, + "pattern": [ + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:dark_decoration_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/dark_decoration_slab_from_dark_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/dark_decoration_slab_from_dark_decoration_stonecutting.json new file mode 100644 index 0000000000..bebd9d63c9 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/dark_decoration_slab_from_dark_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:dark_decoration" + }, + "result": { + "count": 2, + "id": "galacticraft:dark_decoration_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/dark_decoration_stairs.json b/src/main/generated/data/galacticraft/recipe/dark_decoration_stairs.json new file mode 100644 index 0000000000..8f78ea3084 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/dark_decoration_stairs.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:dark_decoration" + } + }, + "pattern": [ + "# ", + "## ", + "###" + ], + "result": { + "count": 4, + "id": "galacticraft:dark_decoration_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/dark_decoration_stairs_from_dark_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/dark_decoration_stairs_from_dark_decoration_stonecutting.json new file mode 100644 index 0000000000..25cdea962a --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/dark_decoration_stairs_from_dark_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:dark_decoration" + }, + "result": { + "count": 1, + "id": "galacticraft:dark_decoration_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/dark_decoration_wall.json b/src/main/generated/data/galacticraft/recipe/dark_decoration_wall.json new file mode 100644 index 0000000000..4bcba48744 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/dark_decoration_wall.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:dark_decoration" + } + }, + "pattern": [ + "###", + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:dark_decoration_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/dark_decoration_wall_from_dark_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/dark_decoration_wall_from_dark_decoration_stonecutting.json new file mode 100644 index 0000000000..bebc552295 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/dark_decoration_wall_from_dark_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:dark_decoration" + }, + "result": { + "count": 1, + "id": "galacticraft:dark_decoration_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/dashed_light_panel.json b/src/main/generated/data/galacticraft/recipe/dashed_light_panel.json new file mode 100644 index 0000000000..edb8d15723 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/dashed_light_panel.json @@ -0,0 +1,23 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "G": { + "item": "galacticraft:glowstone_torch" + }, + "S": { + "item": "minecraft:glass_pane" + }, + "T": { + "item": "galacticraft:compressed_steel" + } + }, + "pattern": [ + "SGS", + " T " + ], + "result": { + "count": 1, + "id": "galacticraft:dashed_light_panel" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/desh_axe.json b/src/main/generated/data/galacticraft/recipe/desh_axe.json new file mode 100644 index 0000000000..d554cc0c90 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/desh_axe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "D": { + "item": "galacticraft:desh_ingot" + }, + "S": { + "item": "galacticraft:desh_stick" + } + }, + "pattern": [ + "DD", + "DS", + " S" + ], + "result": { + "count": 1, + "id": "galacticraft:desh_axe" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/desh_axe_flipped.json b/src/main/generated/data/galacticraft/recipe/desh_axe_flipped.json new file mode 100644 index 0000000000..cc433cc4e7 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/desh_axe_flipped.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "D": { + "item": "galacticraft:desh_ingot" + }, + "S": { + "item": "galacticraft:desh_stick" + } + }, + "pattern": [ + "DD", + "SD", + "S " + ], + "result": { + "count": 1, + "id": "galacticraft:desh_axe" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/desh_block.json b/src/main/generated/data/galacticraft/recipe/desh_block.json new file mode 100644 index 0000000000..1dab2fdb97 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/desh_block.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:desh_ingot" + } + }, + "pattern": [ + "###", + "###", + "###" + ], + "result": { + "count": 1, + "id": "galacticraft:desh_block" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/desh_boots.json b/src/main/generated/data/galacticraft/recipe/desh_boots.json new file mode 100644 index 0000000000..4de53099b8 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/desh_boots.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "D": { + "item": "galacticraft:desh_ingot" + } + }, + "pattern": [ + "D D", + "D D" + ], + "result": { + "count": 1, + "id": "galacticraft:desh_boots" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/desh_chestplate.json b/src/main/generated/data/galacticraft/recipe/desh_chestplate.json new file mode 100644 index 0000000000..8541efe7c6 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/desh_chestplate.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "D": { + "item": "galacticraft:desh_ingot" + } + }, + "pattern": [ + "D D", + "DDD", + "DDD" + ], + "result": { + "count": 1, + "id": "galacticraft:desh_chestplate" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/desh_helmet.json b/src/main/generated/data/galacticraft/recipe/desh_helmet.json new file mode 100644 index 0000000000..2d7f239f76 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/desh_helmet.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "D": { + "item": "galacticraft:desh_ingot" + } + }, + "pattern": [ + "DDD", + "D D" + ], + "result": { + "count": 1, + "id": "galacticraft:desh_helmet" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/desh_hoe.json b/src/main/generated/data/galacticraft/recipe/desh_hoe.json new file mode 100644 index 0000000000..d7ad6ef207 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/desh_hoe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "D": { + "item": "galacticraft:desh_ingot" + }, + "S": { + "item": "galacticraft:desh_stick" + } + }, + "pattern": [ + "DD", + " S", + " S" + ], + "result": { + "count": 1, + "id": "galacticraft:desh_hoe" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/desh_hoe_flipped.json b/src/main/generated/data/galacticraft/recipe/desh_hoe_flipped.json new file mode 100644 index 0000000000..537c5eb7b8 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/desh_hoe_flipped.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "D": { + "item": "galacticraft:desh_ingot" + }, + "S": { + "item": "galacticraft:desh_stick" + } + }, + "pattern": [ + "DD", + "S ", + "S " + ], + "result": { + "count": 1, + "id": "galacticraft:desh_hoe" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/desh_ingot_from_blasting_desh_ore.json b/src/main/generated/data/galacticraft/recipe/desh_ingot_from_blasting_desh_ore.json new file mode 100644 index 0000000000..cdb37e5d27 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/desh_ingot_from_blasting_desh_ore.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:blasting", + "category": "misc", + "cookingtime": 100, + "experience": 0.7, + "group": "desh_ingot", + "ingredient": { + "item": "galacticraft:desh_ore" + }, + "result": { + "id": "galacticraft:desh_ingot" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/desh_ingot_from_blasting_raw_desh.json b/src/main/generated/data/galacticraft/recipe/desh_ingot_from_blasting_raw_desh.json new file mode 100644 index 0000000000..769a5d2d76 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/desh_ingot_from_blasting_raw_desh.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:blasting", + "category": "misc", + "cookingtime": 100, + "experience": 0.7, + "group": "desh_ingot", + "ingredient": { + "item": "galacticraft:raw_desh" + }, + "result": { + "id": "galacticraft:desh_ingot" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/desh_ingot_from_block.json b/src/main/generated/data/galacticraft/recipe/desh_ingot_from_block.json new file mode 100644 index 0000000000..ca1f902fe3 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/desh_ingot_from_block.json @@ -0,0 +1,14 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "group": "desh_ingot", + "ingredients": [ + { + "item": "galacticraft:desh_block" + } + ], + "result": { + "count": 9, + "id": "galacticraft:desh_ingot" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/desh_ingot_from_nuggets.json b/src/main/generated/data/galacticraft/recipe/desh_ingot_from_nuggets.json new file mode 100644 index 0000000000..a4d27173a2 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/desh_ingot_from_nuggets.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "group": "desh_ingot", + "key": { + "#": { + "item": "galacticraft:desh_nugget" + } + }, + "pattern": [ + "###", + "###", + "###" + ], + "result": { + "count": 1, + "id": "galacticraft:desh_ingot" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/desh_ingot_from_smelting_desh_ore.json b/src/main/generated/data/galacticraft/recipe/desh_ingot_from_smelting_desh_ore.json new file mode 100644 index 0000000000..1b3f16b583 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/desh_ingot_from_smelting_desh_ore.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "category": "misc", + "cookingtime": 200, + "experience": 0.7, + "group": "desh_ingot", + "ingredient": { + "item": "galacticraft:desh_ore" + }, + "result": { + "id": "galacticraft:desh_ingot" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/desh_ingot_from_smelting_raw_desh.json b/src/main/generated/data/galacticraft/recipe/desh_ingot_from_smelting_raw_desh.json new file mode 100644 index 0000000000..c896233265 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/desh_ingot_from_smelting_raw_desh.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "category": "misc", + "cookingtime": 200, + "experience": 0.7, + "group": "desh_ingot", + "ingredient": { + "item": "galacticraft:raw_desh" + }, + "result": { + "id": "galacticraft:desh_ingot" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/desh_leggings.json b/src/main/generated/data/galacticraft/recipe/desh_leggings.json new file mode 100644 index 0000000000..d0f2773a50 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/desh_leggings.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "D": { + "item": "galacticraft:desh_ingot" + } + }, + "pattern": [ + "DDD", + "D D", + "D D" + ], + "result": { + "count": 1, + "id": "galacticraft:desh_leggings" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/desh_nugget.json b/src/main/generated/data/galacticraft/recipe/desh_nugget.json new file mode 100644 index 0000000000..928324f25c --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/desh_nugget.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "galacticraft:desh_ingot" + } + ], + "result": { + "count": 9, + "id": "galacticraft:desh_nugget" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/desh_pickaxe.json b/src/main/generated/data/galacticraft/recipe/desh_pickaxe.json new file mode 100644 index 0000000000..76db84b721 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/desh_pickaxe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "D": { + "item": "galacticraft:desh_ingot" + }, + "S": { + "item": "galacticraft:desh_stick" + } + }, + "pattern": [ + "DDD", + " S ", + " S " + ], + "result": { + "count": 1, + "id": "galacticraft:desh_pickaxe" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/desh_shovel.json b/src/main/generated/data/galacticraft/recipe/desh_shovel.json new file mode 100644 index 0000000000..07d8ce6aa4 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/desh_shovel.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "D": { + "item": "galacticraft:desh_ingot" + }, + "S": { + "item": "galacticraft:desh_stick" + } + }, + "pattern": [ + "D", + "S", + "S" + ], + "result": { + "count": 1, + "id": "galacticraft:desh_shovel" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/desh_stick.json b/src/main/generated/data/galacticraft/recipe/desh_stick.json new file mode 100644 index 0000000000..b2aba4c565 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/desh_stick.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "D": { + "item": "galacticraft:desh_ingot" + } + }, + "pattern": [ + "D", + "D" + ], + "result": { + "count": 4, + "id": "galacticraft:desh_stick" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/desh_sword.json b/src/main/generated/data/galacticraft/recipe/desh_sword.json new file mode 100644 index 0000000000..f5ebcd14dc --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/desh_sword.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "D": { + "item": "galacticraft:desh_ingot" + }, + "S": { + "item": "galacticraft:desh_stick" + } + }, + "pattern": [ + "D", + "S", + "S" + ], + "result": { + "count": 1, + "id": "galacticraft:desh_sword" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_aluminum_decoration.json b/src/main/generated/data/galacticraft/recipe/detailed_aluminum_decoration.json new file mode 100644 index 0000000000..0fc1b16523 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_aluminum_decoration.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "minecraft:stone" + }, + "X": { + "item": "galacticraft:compressed_aluminum" + } + }, + "pattern": [ + "##", + "##", + " X" + ], + "result": { + "count": 4, + "id": "galacticraft:detailed_aluminum_decoration" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_aluminum_decoration_slab.json b/src/main/generated/data/galacticraft/recipe/detailed_aluminum_decoration_slab.json new file mode 100644 index 0000000000..fabc64dd46 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_aluminum_decoration_slab.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:detailed_aluminum_decoration" + } + }, + "pattern": [ + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:detailed_aluminum_decoration_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_aluminum_decoration_slab_from_detailed_aluminum_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/detailed_aluminum_decoration_slab_from_detailed_aluminum_decoration_stonecutting.json new file mode 100644 index 0000000000..84daad2d97 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_aluminum_decoration_slab_from_detailed_aluminum_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:detailed_aluminum_decoration" + }, + "result": { + "count": 2, + "id": "galacticraft:detailed_aluminum_decoration_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_aluminum_decoration_stairs.json b/src/main/generated/data/galacticraft/recipe/detailed_aluminum_decoration_stairs.json new file mode 100644 index 0000000000..a4a7e62e94 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_aluminum_decoration_stairs.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:detailed_aluminum_decoration" + } + }, + "pattern": [ + "# ", + "## ", + "###" + ], + "result": { + "count": 4, + "id": "galacticraft:detailed_aluminum_decoration_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_aluminum_decoration_stairs_from_detailed_aluminum_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/detailed_aluminum_decoration_stairs_from_detailed_aluminum_decoration_stonecutting.json new file mode 100644 index 0000000000..0e6c011e53 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_aluminum_decoration_stairs_from_detailed_aluminum_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:detailed_aluminum_decoration" + }, + "result": { + "count": 1, + "id": "galacticraft:detailed_aluminum_decoration_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_aluminum_decoration_wall.json b/src/main/generated/data/galacticraft/recipe/detailed_aluminum_decoration_wall.json new file mode 100644 index 0000000000..6361a9d08a --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_aluminum_decoration_wall.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:detailed_aluminum_decoration" + } + }, + "pattern": [ + "###", + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:detailed_aluminum_decoration_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_aluminum_decoration_wall_from_detailed_aluminum_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/detailed_aluminum_decoration_wall_from_detailed_aluminum_decoration_stonecutting.json new file mode 100644 index 0000000000..4b818b55e8 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_aluminum_decoration_wall_from_detailed_aluminum_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:detailed_aluminum_decoration" + }, + "result": { + "count": 1, + "id": "galacticraft:detailed_aluminum_decoration_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_bronze_decoration.json b/src/main/generated/data/galacticraft/recipe/detailed_bronze_decoration.json new file mode 100644 index 0000000000..ff5c19014b --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_bronze_decoration.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "minecraft:stone" + }, + "X": { + "item": "galacticraft:compressed_bronze" + } + }, + "pattern": [ + "##", + "##", + " X" + ], + "result": { + "count": 4, + "id": "galacticraft:detailed_bronze_decoration" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_bronze_decoration_slab.json b/src/main/generated/data/galacticraft/recipe/detailed_bronze_decoration_slab.json new file mode 100644 index 0000000000..b827d41fd8 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_bronze_decoration_slab.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:detailed_bronze_decoration" + } + }, + "pattern": [ + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:detailed_bronze_decoration_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_bronze_decoration_slab_from_detailed_bronze_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/detailed_bronze_decoration_slab_from_detailed_bronze_decoration_stonecutting.json new file mode 100644 index 0000000000..7ac18a4cbd --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_bronze_decoration_slab_from_detailed_bronze_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:detailed_bronze_decoration" + }, + "result": { + "count": 2, + "id": "galacticraft:detailed_bronze_decoration_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_bronze_decoration_stairs.json b/src/main/generated/data/galacticraft/recipe/detailed_bronze_decoration_stairs.json new file mode 100644 index 0000000000..40723c13f5 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_bronze_decoration_stairs.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:detailed_bronze_decoration" + } + }, + "pattern": [ + "# ", + "## ", + "###" + ], + "result": { + "count": 4, + "id": "galacticraft:detailed_bronze_decoration_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_bronze_decoration_stairs_from_detailed_bronze_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/detailed_bronze_decoration_stairs_from_detailed_bronze_decoration_stonecutting.json new file mode 100644 index 0000000000..3cef4198ba --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_bronze_decoration_stairs_from_detailed_bronze_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:detailed_bronze_decoration" + }, + "result": { + "count": 1, + "id": "galacticraft:detailed_bronze_decoration_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_bronze_decoration_wall.json b/src/main/generated/data/galacticraft/recipe/detailed_bronze_decoration_wall.json new file mode 100644 index 0000000000..c29bfa523d --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_bronze_decoration_wall.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:detailed_bronze_decoration" + } + }, + "pattern": [ + "###", + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:detailed_bronze_decoration_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_bronze_decoration_wall_from_detailed_bronze_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/detailed_bronze_decoration_wall_from_detailed_bronze_decoration_stonecutting.json new file mode 100644 index 0000000000..e85c5f9598 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_bronze_decoration_wall_from_detailed_bronze_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:detailed_bronze_decoration" + }, + "result": { + "count": 1, + "id": "galacticraft:detailed_bronze_decoration_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_copper_decoration.json b/src/main/generated/data/galacticraft/recipe/detailed_copper_decoration.json new file mode 100644 index 0000000000..6d6479c56e --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_copper_decoration.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "minecraft:stone" + }, + "X": { + "item": "galacticraft:compressed_copper" + } + }, + "pattern": [ + "##", + "##", + " X" + ], + "result": { + "count": 4, + "id": "galacticraft:detailed_copper_decoration" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_copper_decoration_slab.json b/src/main/generated/data/galacticraft/recipe/detailed_copper_decoration_slab.json new file mode 100644 index 0000000000..9c59cfff73 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_copper_decoration_slab.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:detailed_copper_decoration" + } + }, + "pattern": [ + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:detailed_copper_decoration_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_copper_decoration_slab_from_detailed_copper_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/detailed_copper_decoration_slab_from_detailed_copper_decoration_stonecutting.json new file mode 100644 index 0000000000..00e586f01d --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_copper_decoration_slab_from_detailed_copper_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:detailed_copper_decoration" + }, + "result": { + "count": 2, + "id": "galacticraft:detailed_copper_decoration_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_copper_decoration_stairs.json b/src/main/generated/data/galacticraft/recipe/detailed_copper_decoration_stairs.json new file mode 100644 index 0000000000..dd04611e0d --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_copper_decoration_stairs.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:detailed_copper_decoration" + } + }, + "pattern": [ + "# ", + "## ", + "###" + ], + "result": { + "count": 4, + "id": "galacticraft:detailed_copper_decoration_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_copper_decoration_stairs_from_detailed_copper_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/detailed_copper_decoration_stairs_from_detailed_copper_decoration_stonecutting.json new file mode 100644 index 0000000000..ee223f0a93 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_copper_decoration_stairs_from_detailed_copper_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:detailed_copper_decoration" + }, + "result": { + "count": 1, + "id": "galacticraft:detailed_copper_decoration_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_copper_decoration_wall.json b/src/main/generated/data/galacticraft/recipe/detailed_copper_decoration_wall.json new file mode 100644 index 0000000000..e56cfd9786 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_copper_decoration_wall.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:detailed_copper_decoration" + } + }, + "pattern": [ + "###", + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:detailed_copper_decoration_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_copper_decoration_wall_from_detailed_copper_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/detailed_copper_decoration_wall_from_detailed_copper_decoration_stonecutting.json new file mode 100644 index 0000000000..9c87548ca0 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_copper_decoration_wall_from_detailed_copper_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:detailed_copper_decoration" + }, + "result": { + "count": 1, + "id": "galacticraft:detailed_copper_decoration_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_dark_decoration_slab.json b/src/main/generated/data/galacticraft/recipe/detailed_dark_decoration_slab.json new file mode 100644 index 0000000000..8a18a6ec12 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_dark_decoration_slab.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:detailed_dark_decoration" + } + }, + "pattern": [ + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:detailed_dark_decoration_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_dark_decoration_slab_from_detailed_dark_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/detailed_dark_decoration_slab_from_detailed_dark_decoration_stonecutting.json new file mode 100644 index 0000000000..944fc17912 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_dark_decoration_slab_from_detailed_dark_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:detailed_dark_decoration" + }, + "result": { + "count": 2, + "id": "galacticraft:detailed_dark_decoration_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_dark_decoration_stairs.json b/src/main/generated/data/galacticraft/recipe/detailed_dark_decoration_stairs.json new file mode 100644 index 0000000000..989a1f5b8c --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_dark_decoration_stairs.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:detailed_dark_decoration" + } + }, + "pattern": [ + "# ", + "## ", + "###" + ], + "result": { + "count": 4, + "id": "galacticraft:detailed_dark_decoration_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_dark_decoration_stairs_from_detailed_dark_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/detailed_dark_decoration_stairs_from_detailed_dark_decoration_stonecutting.json new file mode 100644 index 0000000000..9b2987ee0b --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_dark_decoration_stairs_from_detailed_dark_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:detailed_dark_decoration" + }, + "result": { + "count": 1, + "id": "galacticraft:detailed_dark_decoration_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_dark_decoration_wall.json b/src/main/generated/data/galacticraft/recipe/detailed_dark_decoration_wall.json new file mode 100644 index 0000000000..5f31c84237 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_dark_decoration_wall.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:detailed_dark_decoration" + } + }, + "pattern": [ + "###", + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:detailed_dark_decoration_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_dark_decoration_wall_from_detailed_dark_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/detailed_dark_decoration_wall_from_detailed_dark_decoration_stonecutting.json new file mode 100644 index 0000000000..fdf10e28f7 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_dark_decoration_wall_from_detailed_dark_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:detailed_dark_decoration" + }, + "result": { + "count": 1, + "id": "galacticraft:detailed_dark_decoration_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_iron_decoration.json b/src/main/generated/data/galacticraft/recipe/detailed_iron_decoration.json new file mode 100644 index 0000000000..928fc4bd94 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_iron_decoration.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "minecraft:stone" + }, + "X": { + "item": "galacticraft:compressed_iron" + } + }, + "pattern": [ + "##", + "##", + " X" + ], + "result": { + "count": 4, + "id": "galacticraft:detailed_iron_decoration" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_iron_decoration_slab.json b/src/main/generated/data/galacticraft/recipe/detailed_iron_decoration_slab.json new file mode 100644 index 0000000000..1ecc124ec5 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_iron_decoration_slab.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:detailed_iron_decoration" + } + }, + "pattern": [ + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:detailed_iron_decoration_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_iron_decoration_slab_from_detailed_iron_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/detailed_iron_decoration_slab_from_detailed_iron_decoration_stonecutting.json new file mode 100644 index 0000000000..b16936116c --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_iron_decoration_slab_from_detailed_iron_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:detailed_iron_decoration" + }, + "result": { + "count": 2, + "id": "galacticraft:detailed_iron_decoration_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_iron_decoration_stairs.json b/src/main/generated/data/galacticraft/recipe/detailed_iron_decoration_stairs.json new file mode 100644 index 0000000000..b6fb766b55 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_iron_decoration_stairs.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:detailed_iron_decoration" + } + }, + "pattern": [ + "# ", + "## ", + "###" + ], + "result": { + "count": 4, + "id": "galacticraft:detailed_iron_decoration_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_iron_decoration_stairs_from_detailed_iron_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/detailed_iron_decoration_stairs_from_detailed_iron_decoration_stonecutting.json new file mode 100644 index 0000000000..ffb028d5b1 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_iron_decoration_stairs_from_detailed_iron_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:detailed_iron_decoration" + }, + "result": { + "count": 1, + "id": "galacticraft:detailed_iron_decoration_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_iron_decoration_wall.json b/src/main/generated/data/galacticraft/recipe/detailed_iron_decoration_wall.json new file mode 100644 index 0000000000..45d2cc2daa --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_iron_decoration_wall.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:detailed_iron_decoration" + } + }, + "pattern": [ + "###", + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:detailed_iron_decoration_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_iron_decoration_wall_from_detailed_iron_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/detailed_iron_decoration_wall_from_detailed_iron_decoration_stonecutting.json new file mode 100644 index 0000000000..0358fd2b18 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_iron_decoration_wall_from_detailed_iron_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:detailed_iron_decoration" + }, + "result": { + "count": 1, + "id": "galacticraft:detailed_iron_decoration_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_meteoric_iron_decoration.json b/src/main/generated/data/galacticraft/recipe/detailed_meteoric_iron_decoration.json new file mode 100644 index 0000000000..477987a55f --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_meteoric_iron_decoration.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "minecraft:stone" + }, + "X": { + "item": "galacticraft:compressed_meteoric_iron" + } + }, + "pattern": [ + "##", + "##", + " X" + ], + "result": { + "count": 4, + "id": "galacticraft:detailed_meteoric_iron_decoration" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_meteoric_iron_decoration_slab.json b/src/main/generated/data/galacticraft/recipe/detailed_meteoric_iron_decoration_slab.json new file mode 100644 index 0000000000..c09480d95f --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_meteoric_iron_decoration_slab.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:detailed_meteoric_iron_decoration" + } + }, + "pattern": [ + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:detailed_meteoric_iron_decoration_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_meteoric_iron_decoration_slab_from_detailed_meteoric_iron_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/detailed_meteoric_iron_decoration_slab_from_detailed_meteoric_iron_decoration_stonecutting.json new file mode 100644 index 0000000000..f28078523d --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_meteoric_iron_decoration_slab_from_detailed_meteoric_iron_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:detailed_meteoric_iron_decoration" + }, + "result": { + "count": 2, + "id": "galacticraft:detailed_meteoric_iron_decoration_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_meteoric_iron_decoration_stairs.json b/src/main/generated/data/galacticraft/recipe/detailed_meteoric_iron_decoration_stairs.json new file mode 100644 index 0000000000..7c903dbec2 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_meteoric_iron_decoration_stairs.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:detailed_meteoric_iron_decoration" + } + }, + "pattern": [ + "# ", + "## ", + "###" + ], + "result": { + "count": 4, + "id": "galacticraft:detailed_meteoric_iron_decoration_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_meteoric_iron_decoration_stairs_from_detailed_meteoric_iron_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/detailed_meteoric_iron_decoration_stairs_from_detailed_meteoric_iron_decoration_stonecutting.json new file mode 100644 index 0000000000..9ed1c948e7 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_meteoric_iron_decoration_stairs_from_detailed_meteoric_iron_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:detailed_meteoric_iron_decoration" + }, + "result": { + "count": 1, + "id": "galacticraft:detailed_meteoric_iron_decoration_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_meteoric_iron_decoration_wall.json b/src/main/generated/data/galacticraft/recipe/detailed_meteoric_iron_decoration_wall.json new file mode 100644 index 0000000000..13f6579f13 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_meteoric_iron_decoration_wall.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:detailed_meteoric_iron_decoration" + } + }, + "pattern": [ + "###", + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:detailed_meteoric_iron_decoration_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_meteoric_iron_decoration_wall_from_detailed_meteoric_iron_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/detailed_meteoric_iron_decoration_wall_from_detailed_meteoric_iron_decoration_stonecutting.json new file mode 100644 index 0000000000..6e10ba45eb --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_meteoric_iron_decoration_wall_from_detailed_meteoric_iron_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:detailed_meteoric_iron_decoration" + }, + "result": { + "count": 1, + "id": "galacticraft:detailed_meteoric_iron_decoration_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_steel_decoration.json b/src/main/generated/data/galacticraft/recipe/detailed_steel_decoration.json new file mode 100644 index 0000000000..41822d4c21 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_steel_decoration.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "minecraft:stone" + }, + "X": { + "item": "galacticraft:compressed_steel" + } + }, + "pattern": [ + "##", + "##", + " X" + ], + "result": { + "count": 4, + "id": "galacticraft:detailed_steel_decoration" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_steel_decoration_slab.json b/src/main/generated/data/galacticraft/recipe/detailed_steel_decoration_slab.json new file mode 100644 index 0000000000..b052f521f8 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_steel_decoration_slab.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:detailed_steel_decoration" + } + }, + "pattern": [ + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:detailed_steel_decoration_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_steel_decoration_slab_from_detailed_steel_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/detailed_steel_decoration_slab_from_detailed_steel_decoration_stonecutting.json new file mode 100644 index 0000000000..9a766f0c2c --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_steel_decoration_slab_from_detailed_steel_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:detailed_steel_decoration" + }, + "result": { + "count": 2, + "id": "galacticraft:detailed_steel_decoration_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_steel_decoration_stairs.json b/src/main/generated/data/galacticraft/recipe/detailed_steel_decoration_stairs.json new file mode 100644 index 0000000000..12c202d213 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_steel_decoration_stairs.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:detailed_steel_decoration" + } + }, + "pattern": [ + "# ", + "## ", + "###" + ], + "result": { + "count": 4, + "id": "galacticraft:detailed_steel_decoration_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_steel_decoration_stairs_from_detailed_steel_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/detailed_steel_decoration_stairs_from_detailed_steel_decoration_stonecutting.json new file mode 100644 index 0000000000..81f8ecb6c0 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_steel_decoration_stairs_from_detailed_steel_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:detailed_steel_decoration" + }, + "result": { + "count": 1, + "id": "galacticraft:detailed_steel_decoration_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_steel_decoration_wall.json b/src/main/generated/data/galacticraft/recipe/detailed_steel_decoration_wall.json new file mode 100644 index 0000000000..2dbd82a686 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_steel_decoration_wall.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:detailed_steel_decoration" + } + }, + "pattern": [ + "###", + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:detailed_steel_decoration_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_steel_decoration_wall_from_detailed_steel_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/detailed_steel_decoration_wall_from_detailed_steel_decoration_stonecutting.json new file mode 100644 index 0000000000..735c849684 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_steel_decoration_wall_from_detailed_steel_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:detailed_steel_decoration" + }, + "result": { + "count": 1, + "id": "galacticraft:detailed_steel_decoration_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_tin_decoration.json b/src/main/generated/data/galacticraft/recipe/detailed_tin_decoration.json new file mode 100644 index 0000000000..576f563b63 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_tin_decoration.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "minecraft:stone" + }, + "X": { + "item": "galacticraft:compressed_tin" + } + }, + "pattern": [ + "##", + "##", + " X" + ], + "result": { + "count": 4, + "id": "galacticraft:detailed_tin_decoration" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_tin_decoration_slab.json b/src/main/generated/data/galacticraft/recipe/detailed_tin_decoration_slab.json new file mode 100644 index 0000000000..72bc5f4022 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_tin_decoration_slab.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:detailed_tin_decoration" + } + }, + "pattern": [ + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:detailed_tin_decoration_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_tin_decoration_slab_from_detailed_tin_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/detailed_tin_decoration_slab_from_detailed_tin_decoration_stonecutting.json new file mode 100644 index 0000000000..7e6e53a06f --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_tin_decoration_slab_from_detailed_tin_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:detailed_tin_decoration" + }, + "result": { + "count": 2, + "id": "galacticraft:detailed_tin_decoration_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_tin_decoration_stairs.json b/src/main/generated/data/galacticraft/recipe/detailed_tin_decoration_stairs.json new file mode 100644 index 0000000000..a420181de4 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_tin_decoration_stairs.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:detailed_tin_decoration" + } + }, + "pattern": [ + "# ", + "## ", + "###" + ], + "result": { + "count": 4, + "id": "galacticraft:detailed_tin_decoration_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_tin_decoration_stairs_from_detailed_tin_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/detailed_tin_decoration_stairs_from_detailed_tin_decoration_stonecutting.json new file mode 100644 index 0000000000..97c16ea3a3 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_tin_decoration_stairs_from_detailed_tin_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:detailed_tin_decoration" + }, + "result": { + "count": 1, + "id": "galacticraft:detailed_tin_decoration_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_tin_decoration_wall.json b/src/main/generated/data/galacticraft/recipe/detailed_tin_decoration_wall.json new file mode 100644 index 0000000000..58e0310e57 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_tin_decoration_wall.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:detailed_tin_decoration" + } + }, + "pattern": [ + "###", + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:detailed_tin_decoration_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_tin_decoration_wall_from_detailed_tin_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/detailed_tin_decoration_wall_from_detailed_tin_decoration_stonecutting.json new file mode 100644 index 0000000000..a42d712baf --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_tin_decoration_wall_from_detailed_tin_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:detailed_tin_decoration" + }, + "result": { + "count": 1, + "id": "galacticraft:detailed_tin_decoration_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_titanium_decoration.json b/src/main/generated/data/galacticraft/recipe/detailed_titanium_decoration.json new file mode 100644 index 0000000000..4e721fc4a2 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_titanium_decoration.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "minecraft:stone" + }, + "X": { + "item": "galacticraft:compressed_titanium" + } + }, + "pattern": [ + "##", + "##", + " X" + ], + "result": { + "count": 4, + "id": "galacticraft:detailed_titanium_decoration" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_titanium_decoration_slab.json b/src/main/generated/data/galacticraft/recipe/detailed_titanium_decoration_slab.json new file mode 100644 index 0000000000..a987d64634 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_titanium_decoration_slab.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:detailed_titanium_decoration" + } + }, + "pattern": [ + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:detailed_titanium_decoration_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_titanium_decoration_slab_from_detailed_titanium_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/detailed_titanium_decoration_slab_from_detailed_titanium_decoration_stonecutting.json new file mode 100644 index 0000000000..636e1bbdb9 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_titanium_decoration_slab_from_detailed_titanium_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:detailed_titanium_decoration" + }, + "result": { + "count": 2, + "id": "galacticraft:detailed_titanium_decoration_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_titanium_decoration_stairs.json b/src/main/generated/data/galacticraft/recipe/detailed_titanium_decoration_stairs.json new file mode 100644 index 0000000000..2c96be714a --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_titanium_decoration_stairs.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:detailed_titanium_decoration" + } + }, + "pattern": [ + "# ", + "## ", + "###" + ], + "result": { + "count": 4, + "id": "galacticraft:detailed_titanium_decoration_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_titanium_decoration_stairs_from_detailed_titanium_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/detailed_titanium_decoration_stairs_from_detailed_titanium_decoration_stonecutting.json new file mode 100644 index 0000000000..b234645254 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_titanium_decoration_stairs_from_detailed_titanium_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:detailed_titanium_decoration" + }, + "result": { + "count": 1, + "id": "galacticraft:detailed_titanium_decoration_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_titanium_decoration_wall.json b/src/main/generated/data/galacticraft/recipe/detailed_titanium_decoration_wall.json new file mode 100644 index 0000000000..5788017478 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_titanium_decoration_wall.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:detailed_titanium_decoration" + } + }, + "pattern": [ + "###", + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:detailed_titanium_decoration_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/detailed_titanium_decoration_wall_from_detailed_titanium_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/detailed_titanium_decoration_wall_from_detailed_titanium_decoration_stonecutting.json new file mode 100644 index 0000000000..65d7758184 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/detailed_titanium_decoration_wall_from_detailed_titanium_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:detailed_titanium_decoration" + }, + "result": { + "count": 1, + "id": "galacticraft:detailed_titanium_decoration_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/diagonal_light_panel.json b/src/main/generated/data/galacticraft/recipe/diagonal_light_panel.json new file mode 100644 index 0000000000..5e88c7bacf --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/diagonal_light_panel.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "G": { + "item": "galacticraft:glowstone_torch" + }, + "S": { + "item": "minecraft:glass_pane" + }, + "T": { + "item": "galacticraft:compressed_steel" + } + }, + "pattern": [ + " S", + "SG", + " T" + ], + "result": { + "count": 1, + "id": "galacticraft:diagonal_light_panel" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/diagonal_light_panel_flipped.json b/src/main/generated/data/galacticraft/recipe/diagonal_light_panel_flipped.json new file mode 100644 index 0000000000..5e88c7bacf --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/diagonal_light_panel_flipped.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "G": { + "item": "galacticraft:glowstone_torch" + }, + "S": { + "item": "minecraft:glass_pane" + }, + "T": { + "item": "galacticraft:compressed_steel" + } + }, + "pattern": [ + " S", + "SG", + " T" + ], + "result": { + "count": 1, + "id": "galacticraft:diagonal_light_panel" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/electric_arc_furnace.json b/src/main/generated/data/galacticraft/recipe/electric_arc_furnace.json new file mode 100644 index 0000000000..c7a4bbb1ad --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/electric_arc_furnace.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "E": { + "item": "galacticraft:electric_furnace" + }, + "H": { + "item": "galacticraft:heavy_plating" + }, + "M": { + "item": "galacticraft:meteoric_iron_ingot" + }, + "W": { + "item": "galacticraft:advanced_wafer" + } + }, + "pattern": [ + "HHH", + "HEH", + "MWM" + ], + "result": { + "count": 1, + "id": "galacticraft:electric_arc_furnace" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/electric_compressor.json b/src/main/generated/data/galacticraft/recipe/electric_compressor.json new file mode 100644 index 0000000000..2b1d693b7a --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/electric_compressor.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "A": { + "item": "minecraft:anvil" + }, + "B": { + "item": "galacticraft:compressed_bronze" + }, + "I": { + "item": "galacticraft:aluminum_wire" + }, + "S": { + "item": "galacticraft:compressed_steel" + }, + "W": { + "item": "galacticraft:advanced_wafer" + } + }, + "pattern": [ + "SAS", + "SBS", + "IWI" + ], + "result": { + "count": 1, + "id": "galacticraft:electric_compressor" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/electric_compressor_upgrade.json b/src/main/generated/data/galacticraft/recipe/electric_compressor_upgrade.json new file mode 100644 index 0000000000..4833259d80 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/electric_compressor_upgrade.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "galacticraft:compressor" + }, + "I": { + "item": "galacticraft:aluminum_wire" + }, + "S": { + "item": "galacticraft:compressed_steel" + }, + "T": { + "item": "galacticraft:compressed_tin" + }, + "W": { + "item": "galacticraft:advanced_wafer" + } + }, + "pattern": [ + "STS", + "SCS", + "IWI" + ], + "result": { + "count": 1, + "id": "galacticraft:electric_compressor" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/electric_furnace.json b/src/main/generated/data/galacticraft/recipe/electric_furnace.json new file mode 100644 index 0000000000..602bec559e --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/electric_furnace.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "A": { + "item": "galacticraft:compressed_aluminum" + }, + "F": { + "item": "minecraft:furnace" + }, + "S": { + "item": "galacticraft:compressed_steel" + }, + "W": { + "item": "galacticraft:basic_wafer" + } + }, + "pattern": [ + "SSS", + "SFS", + "AWA" + ], + "result": { + "count": 1, + "id": "galacticraft:electric_furnace" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/energy_storage_module.json b/src/main/generated/data/galacticraft/recipe/energy_storage_module.json new file mode 100644 index 0000000000..a50f45c33e --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/energy_storage_module.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "item": "galacticraft:battery" + }, + "S": { + "item": "galacticraft:compressed_steel" + } + }, + "pattern": [ + "SSS", + "BBB", + "SSS" + ], + "result": { + "count": 1, + "id": "galacticraft:energy_storage_module" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/fabrication/advanced_wafer.json b/src/main/generated/data/galacticraft/recipe/fabrication/advanced_wafer.json similarity index 90% rename from src/main/generated/data/galacticraft/recipes/fabrication/advanced_wafer.json rename to src/main/generated/data/galacticraft/recipe/fabrication/advanced_wafer.json index a048c3a2f3..69570d4884 100644 --- a/src/main/generated/data/galacticraft/recipes/fabrication/advanced_wafer.json +++ b/src/main/generated/data/galacticraft/recipe/fabrication/advanced_wafer.json @@ -4,7 +4,7 @@ "item": "minecraft:repeater" }, "result": { - "Count": 1, + "count": 1, "id": "galacticraft:advanced_wafer" } } \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/fabrication/basic_wafer.json b/src/main/generated/data/galacticraft/recipe/fabrication/basic_wafer.json similarity index 90% rename from src/main/generated/data/galacticraft/recipes/fabrication/basic_wafer.json rename to src/main/generated/data/galacticraft/recipe/fabrication/basic_wafer.json index fd65f6a473..299f62fe8d 100644 --- a/src/main/generated/data/galacticraft/recipes/fabrication/basic_wafer.json +++ b/src/main/generated/data/galacticraft/recipe/fabrication/basic_wafer.json @@ -4,7 +4,7 @@ "item": "minecraft:redstone_torch" }, "result": { - "Count": 3, + "count": 3, "id": "galacticraft:basic_wafer" } } \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/fabrication/blue_solar_wafer.json b/src/main/generated/data/galacticraft/recipe/fabrication/blue_solar_wafer.json similarity index 90% rename from src/main/generated/data/galacticraft/recipes/fabrication/blue_solar_wafer.json rename to src/main/generated/data/galacticraft/recipe/fabrication/blue_solar_wafer.json index 571f1384b9..66431e61b7 100644 --- a/src/main/generated/data/galacticraft/recipes/fabrication/blue_solar_wafer.json +++ b/src/main/generated/data/galacticraft/recipe/fabrication/blue_solar_wafer.json @@ -4,7 +4,7 @@ "item": "minecraft:lapis_lazuli" }, "result": { - "Count": 9, + "count": 9, "id": "galacticraft:blue_solar_wafer" } } \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/fabrication/solar_array_wafer.json b/src/main/generated/data/galacticraft/recipe/fabrication/solar_array_wafer.json similarity index 91% rename from src/main/generated/data/galacticraft/recipes/fabrication/solar_array_wafer.json rename to src/main/generated/data/galacticraft/recipe/fabrication/solar_array_wafer.json index 73c9617f42..bec0cfa582 100644 --- a/src/main/generated/data/galacticraft/recipes/fabrication/solar_array_wafer.json +++ b/src/main/generated/data/galacticraft/recipe/fabrication/solar_array_wafer.json @@ -4,7 +4,7 @@ "item": "galacticraft:solar_dust" }, "result": { - "Count": 3, + "count": 3, "id": "galacticraft:solar_array_wafer" } } \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/fluid_manipulator.json b/src/main/generated/data/galacticraft/recipe/fluid_manipulator.json new file mode 100644 index 0000000000..7c0f45d087 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/fluid_manipulator.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "F": { + "item": "galacticraft:oxygen_fan" + }, + "M": { + "item": "galacticraft:meteoric_iron_ingot" + }, + "S": { + "item": "minecraft:slime_ball" + }, + "W": { + "item": "galacticraft:advanced_wafer" + } + }, + "pattern": [ + "MFM", + "SWS", + "MFM" + ], + "result": { + "count": 1, + "id": "galacticraft:fluid_manipulator" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/fluid_pipe_walkway.json b/src/main/generated/data/galacticraft/recipe/fluid_pipe_walkway.json new file mode 100644 index 0000000000..af3e4f24e4 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/fluid_pipe_walkway.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "P": { + "item": "galacticraft:glass_fluid_pipe" + }, + "T": { + "item": "galacticraft:compressed_titanium" + } + }, + "pattern": [ + "TTT", + "PTP", + "PPP" + ], + "result": { + "count": 5, + "id": "galacticraft:fluid_pipe_walkway" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/fluid_pipe_walkway_shapeless.json b/src/main/generated/data/galacticraft/recipe/fluid_pipe_walkway_shapeless.json new file mode 100644 index 0000000000..8fed9c8fe5 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/fluid_pipe_walkway_shapeless.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "galacticraft:compressed_titanium" + }, + { + "item": "galacticraft:glass_fluid_pipe" + } + ], + "result": { + "count": 1, + "id": "galacticraft:fluid_pipe_walkway" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/food_canner.json b/src/main/generated/data/galacticraft/recipe/food_canner.json similarity index 100% rename from src/main/generated/data/galacticraft/recipes/food_canner.json rename to src/main/generated/data/galacticraft/recipe/food_canner.json diff --git a/src/main/generated/data/galacticraft/recipe/frequency_module.json b/src/main/generated/data/galacticraft/recipe/frequency_module.json new file mode 100644 index 0000000000..4f919c94fe --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/frequency_module.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "A": { + "item": "galacticraft:compressed_aluminum" + }, + "I": { + "item": "galacticraft:compressed_iron" + }, + "P": { + "item": "minecraft:repeater" + }, + "R": { + "tag": "c:dusts/redstone" + }, + "W": { + "item": "galacticraft:basic_wafer" + } + }, + "pattern": [ + " A ", + "IPI", + "RWR" + ], + "result": { + "count": 1, + "id": "galacticraft:frequency_module" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/fuel_loader.json b/src/main/generated/data/galacticraft/recipe/fuel_loader.json new file mode 100644 index 0000000000..0b9238d3ce --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/fuel_loader.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "galacticraft:tin_canister" + }, + "T": { + "item": "galacticraft:compressed_tin" + }, + "U": { + "item": "galacticraft:compressed_copper" + }, + "W": { + "item": "galacticraft:basic_wafer" + } + }, + "pattern": [ + "UUU", + "UCU", + "TWT" + ], + "result": { + "count": 1, + "id": "galacticraft:fuel_loader" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/fueling_pad.json b/src/main/generated/data/galacticraft/recipe/fueling_pad.json new file mode 100644 index 0000000000..a0e1f9db34 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/fueling_pad.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "galacticraft:compressed_steel" + }, + "I": { + "item": "minecraft:iron_block" + } + }, + "pattern": [ + "CCC", + "III" + ], + "result": { + "count": 9, + "id": "galacticraft:fueling_pad" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/full_solar_panel.json b/src/main/generated/data/galacticraft/recipe/full_solar_panel.json new file mode 100644 index 0000000000..bf70f09257 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/full_solar_panel.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "M": { + "item": "galacticraft:single_solar_module" + }, + "W": { + "item": "galacticraft:aluminum_wire" + } + }, + "pattern": [ + "MMM", + "WWW", + "MMM" + ], + "result": { + "count": 1, + "id": "galacticraft:full_solar_panel" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/glass_fluid_pipe.json b/src/main/generated/data/galacticraft/recipe/glass_fluid_pipe.json new file mode 100644 index 0000000000..a38f5db7af --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/glass_fluid_pipe.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "X": { + "item": "minecraft:glass_pane" + } + }, + "pattern": [ + "XXX", + " ", + "XXX" + ], + "result": { + "count": 6, + "id": "galacticraft:glass_fluid_pipe" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/glowstone_lantern.json b/src/main/generated/data/galacticraft/recipe/glowstone_lantern.json new file mode 100644 index 0000000000..d3306b4860 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/glowstone_lantern.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "G": { + "item": "galacticraft:glowstone_torch" + }, + "I": { + "item": "minecraft:iron_nugget" + } + }, + "pattern": [ + "III", + "IGI", + "III" + ], + "result": { + "count": 1, + "id": "galacticraft:glowstone_lantern" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/glowstone_torch.json b/src/main/generated/data/galacticraft/recipe/glowstone_torch.json new file mode 100644 index 0000000000..87b2262d20 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/glowstone_torch.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "G": { + "item": "minecraft:glowstone_dust" + }, + "S": { + "item": "minecraft:stick" + } + }, + "pattern": [ + "G", + "S" + ], + "result": { + "count": 4, + "id": "galacticraft:glowstone_torch" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/grating.json b/src/main/generated/data/galacticraft/recipe/grating.json new file mode 100644 index 0000000000..968baefb35 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/grating.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "I": { + "item": "minecraft:iron_bars" + } + }, + "pattern": [ + "II", + "II" + ], + "result": { + "count": 4, + "id": "galacticraft:grating" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/gray_parachute.json b/src/main/generated/data/galacticraft/recipe/gray_parachute.json new file mode 100644 index 0000000000..bcd35314aa --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/gray_parachute.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "galacticraft:white_parachute" + }, + { + "item": "minecraft:gray_dye" + } + ], + "result": { + "count": 1, + "id": "galacticraft:gray_parachute" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/green_parachute.json b/src/main/generated/data/galacticraft/recipe/green_parachute.json new file mode 100644 index 0000000000..9c55aa59d3 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/green_parachute.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "galacticraft:white_parachute" + }, + { + "item": "minecraft:green_dye" + } + ], + "result": { + "count": 1, + "id": "galacticraft:green_parachute" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/ground_beef.json b/src/main/generated/data/galacticraft/recipe/ground_beef.json new file mode 100644 index 0000000000..06c6f31043 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/ground_beef.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "minecraft:beef" + } + ], + "result": { + "count": 2, + "id": "galacticraft:ground_beef" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/heavy_duty_axe.json b/src/main/generated/data/galacticraft/recipe/heavy_duty_axe.json new file mode 100644 index 0000000000..5e76f1c23c --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/heavy_duty_axe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "S": { + "item": "galacticraft:compressed_steel" + }, + "W": { + "item": "minecraft:stick" + } + }, + "pattern": [ + "SS", + "SW", + " W" + ], + "result": { + "count": 1, + "id": "galacticraft:heavy_duty_axe" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/heavy_duty_axe_flipped.json b/src/main/generated/data/galacticraft/recipe/heavy_duty_axe_flipped.json new file mode 100644 index 0000000000..dce289c23c --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/heavy_duty_axe_flipped.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "S": { + "item": "galacticraft:compressed_steel" + }, + "W": { + "item": "minecraft:stick" + } + }, + "pattern": [ + "SS", + "WS", + "W " + ], + "result": { + "count": 1, + "id": "galacticraft:heavy_duty_axe" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/heavy_duty_boots.json b/src/main/generated/data/galacticraft/recipe/heavy_duty_boots.json new file mode 100644 index 0000000000..b2cc80bf79 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/heavy_duty_boots.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "P": { + "item": "galacticraft:heavy_plating" + } + }, + "pattern": [ + "P P", + "P P" + ], + "result": { + "count": 1, + "id": "galacticraft:heavy_duty_boots" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/heavy_duty_chestplate.json b/src/main/generated/data/galacticraft/recipe/heavy_duty_chestplate.json new file mode 100644 index 0000000000..355fae7cec --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/heavy_duty_chestplate.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "P": { + "item": "galacticraft:heavy_plating" + } + }, + "pattern": [ + "P P", + "PPP", + "PPP" + ], + "result": { + "count": 1, + "id": "galacticraft:heavy_duty_chestplate" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/heavy_duty_helmet.json b/src/main/generated/data/galacticraft/recipe/heavy_duty_helmet.json new file mode 100644 index 0000000000..4c1d3e215b --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/heavy_duty_helmet.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "P": { + "item": "galacticraft:heavy_plating" + } + }, + "pattern": [ + "PPP", + "P P" + ], + "result": { + "count": 1, + "id": "galacticraft:heavy_duty_helmet" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/heavy_duty_hoe.json b/src/main/generated/data/galacticraft/recipe/heavy_duty_hoe.json new file mode 100644 index 0000000000..3480b3b3bf --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/heavy_duty_hoe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "S": { + "item": "galacticraft:compressed_steel" + }, + "W": { + "item": "minecraft:stick" + } + }, + "pattern": [ + "SS", + " W", + " W" + ], + "result": { + "count": 1, + "id": "galacticraft:heavy_duty_hoe" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/heavy_duty_hoe_flipped.json b/src/main/generated/data/galacticraft/recipe/heavy_duty_hoe_flipped.json new file mode 100644 index 0000000000..c1f72fa9e9 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/heavy_duty_hoe_flipped.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "S": { + "item": "galacticraft:compressed_steel" + }, + "W": { + "item": "minecraft:stick" + } + }, + "pattern": [ + "SS", + "W ", + "W " + ], + "result": { + "count": 1, + "id": "galacticraft:heavy_duty_hoe" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/heavy_duty_leggings.json b/src/main/generated/data/galacticraft/recipe/heavy_duty_leggings.json new file mode 100644 index 0000000000..159683d26a --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/heavy_duty_leggings.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "P": { + "item": "galacticraft:heavy_plating" + } + }, + "pattern": [ + "PPP", + "P P", + "P P" + ], + "result": { + "count": 1, + "id": "galacticraft:heavy_duty_leggings" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/heavy_duty_pickaxe.json b/src/main/generated/data/galacticraft/recipe/heavy_duty_pickaxe.json new file mode 100644 index 0000000000..e8434418f5 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/heavy_duty_pickaxe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "S": { + "item": "galacticraft:compressed_steel" + }, + "W": { + "item": "minecraft:stick" + } + }, + "pattern": [ + "SSS", + " W ", + " W " + ], + "result": { + "count": 1, + "id": "galacticraft:heavy_duty_pickaxe" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/heavy_duty_shovel.json b/src/main/generated/data/galacticraft/recipe/heavy_duty_shovel.json new file mode 100644 index 0000000000..7c4265f3e0 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/heavy_duty_shovel.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "S": { + "item": "galacticraft:compressed_steel" + }, + "W": { + "item": "minecraft:stick" + } + }, + "pattern": [ + "S", + "W", + "W" + ], + "result": { + "count": 1, + "id": "galacticraft:heavy_duty_shovel" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/heavy_duty_sword.json b/src/main/generated/data/galacticraft/recipe/heavy_duty_sword.json new file mode 100644 index 0000000000..f46a7c5f8f --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/heavy_duty_sword.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "S": { + "item": "galacticraft:compressed_steel" + }, + "W": { + "item": "minecraft:stick" + } + }, + "pattern": [ + "S", + "S", + "W" + ], + "result": { + "count": 1, + "id": "galacticraft:heavy_duty_sword" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/hot_throwable_meteor_chunk_from_blasting.json b/src/main/generated/data/galacticraft/recipe/hot_throwable_meteor_chunk_from_blasting.json new file mode 100644 index 0000000000..ed610e2a2a --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/hot_throwable_meteor_chunk_from_blasting.json @@ -0,0 +1,12 @@ +{ + "type": "minecraft:blasting", + "category": "misc", + "cookingtime": 100, + "experience": 0.7, + "ingredient": { + "item": "galacticraft:throwable_meteor_chunk" + }, + "result": { + "id": "galacticraft:hot_throwable_meteor_chunk" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/hot_throwable_meteor_chunk_from_smelting.json b/src/main/generated/data/galacticraft/recipe/hot_throwable_meteor_chunk_from_smelting.json new file mode 100644 index 0000000000..5f39b5b5fa --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/hot_throwable_meteor_chunk_from_smelting.json @@ -0,0 +1,12 @@ +{ + "type": "minecraft:smelting", + "category": "misc", + "cookingtime": 200, + "experience": 0.7, + "ingredient": { + "item": "galacticraft:throwable_meteor_chunk" + }, + "result": { + "id": "galacticraft:hot_throwable_meteor_chunk" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/iron_decoration.json b/src/main/generated/data/galacticraft/recipe/iron_decoration.json new file mode 100644 index 0000000000..634a1d3ae0 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/iron_decoration.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "minecraft:stone" + }, + "X": { + "item": "galacticraft:compressed_iron" + } + }, + "pattern": [ + "## ", + "##X" + ], + "result": { + "count": 4, + "id": "galacticraft:iron_decoration" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/iron_decoration_slab.json b/src/main/generated/data/galacticraft/recipe/iron_decoration_slab.json new file mode 100644 index 0000000000..0b903334f8 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/iron_decoration_slab.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:iron_decoration" + } + }, + "pattern": [ + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:iron_decoration_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/iron_decoration_slab_from_iron_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/iron_decoration_slab_from_iron_decoration_stonecutting.json new file mode 100644 index 0000000000..1b28ebd04b --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/iron_decoration_slab_from_iron_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:iron_decoration" + }, + "result": { + "count": 2, + "id": "galacticraft:iron_decoration_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/iron_decoration_stairs.json b/src/main/generated/data/galacticraft/recipe/iron_decoration_stairs.json new file mode 100644 index 0000000000..8872b129b2 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/iron_decoration_stairs.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:iron_decoration" + } + }, + "pattern": [ + "# ", + "## ", + "###" + ], + "result": { + "count": 4, + "id": "galacticraft:iron_decoration_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/iron_decoration_stairs_from_iron_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/iron_decoration_stairs_from_iron_decoration_stonecutting.json new file mode 100644 index 0000000000..c461b1f7d1 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/iron_decoration_stairs_from_iron_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:iron_decoration" + }, + "result": { + "count": 1, + "id": "galacticraft:iron_decoration_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/iron_decoration_wall.json b/src/main/generated/data/galacticraft/recipe/iron_decoration_wall.json new file mode 100644 index 0000000000..a6933825ed --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/iron_decoration_wall.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:iron_decoration" + } + }, + "pattern": [ + "###", + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:iron_decoration_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/iron_decoration_wall_from_iron_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/iron_decoration_wall_from_iron_decoration_stonecutting.json new file mode 100644 index 0000000000..57a60ff43d --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/iron_decoration_wall_from_iron_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:iron_decoration" + }, + "result": { + "count": 1, + "id": "galacticraft:iron_decoration_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/iron_ingot_from_blasting_iron_shard.json b/src/main/generated/data/galacticraft/recipe/iron_ingot_from_blasting_iron_shard.json new file mode 100644 index 0000000000..ad172836a0 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/iron_ingot_from_blasting_iron_shard.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:blasting", + "category": "misc", + "cookingtime": 100, + "experience": 0.7, + "group": "iron_ingot", + "ingredient": { + "item": "galacticraft:iron_shard" + }, + "result": { + "id": "minecraft:iron_ingot" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/iron_ingot_from_smelting_iron_shard.json b/src/main/generated/data/galacticraft/recipe/iron_ingot_from_smelting_iron_shard.json new file mode 100644 index 0000000000..0e8ca12979 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/iron_ingot_from_smelting_iron_shard.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "category": "misc", + "cookingtime": 200, + "experience": 0.7, + "group": "iron_ingot", + "ingredient": { + "item": "galacticraft:iron_shard" + }, + "result": { + "id": "minecraft:iron_ingot" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/isothermal_fabric.json b/src/main/generated/data/galacticraft/recipe/isothermal_fabric.json new file mode 100644 index 0000000000..e1e0ef31d0 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/isothermal_fabric.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "D": { + "item": "galacticraft:desh_ingot" + }, + "T": { + "item": "galacticraft:thermal_cloth" + } + }, + "pattern": [ + "TDT" + ], + "result": { + "count": 1, + "id": "galacticraft:isothermal_fabric" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/large_oxygen_tank.json b/src/main/generated/data/galacticraft/recipe/large_oxygen_tank.json new file mode 100644 index 0000000000..afbac62a54 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/large_oxygen_tank.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "galacticraft:compressed_steel" + }, + "T": { + "item": "galacticraft:tin_canister" + }, + "W": { + "item": "minecraft:red_wool" + } + }, + "pattern": [ + "WWW", + "TTT", + "CCC" + ], + "result": { + "count": 1, + "id": "galacticraft:large_oxygen_tank" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/lead_block.json b/src/main/generated/data/galacticraft/recipe/lead_block.json new file mode 100644 index 0000000000..a679c27238 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/lead_block.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:lead_ingot" + } + }, + "pattern": [ + "###", + "###", + "###" + ], + "result": { + "count": 1, + "id": "galacticraft:lead_block" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/lead_ingot_from_blasting_galena_ore.json b/src/main/generated/data/galacticraft/recipe/lead_ingot_from_blasting_galena_ore.json new file mode 100644 index 0000000000..dc97199532 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/lead_ingot_from_blasting_galena_ore.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:blasting", + "category": "misc", + "cookingtime": 100, + "experience": 0.7, + "group": "lead_ingot", + "ingredient": { + "item": "galacticraft:galena_ore" + }, + "result": { + "id": "galacticraft:lead_ingot" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/lead_ingot_from_blasting_raw_lead.json b/src/main/generated/data/galacticraft/recipe/lead_ingot_from_blasting_raw_lead.json new file mode 100644 index 0000000000..28c9b662b3 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/lead_ingot_from_blasting_raw_lead.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:blasting", + "category": "misc", + "cookingtime": 100, + "experience": 0.7, + "group": "lead_ingot", + "ingredient": { + "item": "galacticraft:raw_lead" + }, + "result": { + "id": "galacticraft:lead_ingot" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/lead_ingot_from_block.json b/src/main/generated/data/galacticraft/recipe/lead_ingot_from_block.json new file mode 100644 index 0000000000..26854d91ba --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/lead_ingot_from_block.json @@ -0,0 +1,14 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "group": "lead_ingot", + "ingredients": [ + { + "item": "galacticraft:lead_block" + } + ], + "result": { + "count": 9, + "id": "galacticraft:lead_ingot" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/lead_ingot_from_nuggets.json b/src/main/generated/data/galacticraft/recipe/lead_ingot_from_nuggets.json new file mode 100644 index 0000000000..7e51a437dc --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/lead_ingot_from_nuggets.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "group": "lead_ingot", + "key": { + "#": { + "item": "galacticraft:lead_nugget" + } + }, + "pattern": [ + "###", + "###", + "###" + ], + "result": { + "count": 1, + "id": "galacticraft:lead_ingot" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/lead_ingot_from_smelting_galena_ore.json b/src/main/generated/data/galacticraft/recipe/lead_ingot_from_smelting_galena_ore.json new file mode 100644 index 0000000000..2ce563b96c --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/lead_ingot_from_smelting_galena_ore.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "category": "misc", + "cookingtime": 200, + "experience": 0.7, + "group": "lead_ingot", + "ingredient": { + "item": "galacticraft:galena_ore" + }, + "result": { + "id": "galacticraft:lead_ingot" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/lead_ingot_from_smelting_raw_lead.json b/src/main/generated/data/galacticraft/recipe/lead_ingot_from_smelting_raw_lead.json new file mode 100644 index 0000000000..c06853a3cf --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/lead_ingot_from_smelting_raw_lead.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "category": "misc", + "cookingtime": 200, + "experience": 0.7, + "group": "lead_ingot", + "ingredient": { + "item": "galacticraft:raw_lead" + }, + "result": { + "id": "galacticraft:lead_ingot" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/lead_nugget.json b/src/main/generated/data/galacticraft/recipe/lead_nugget.json new file mode 100644 index 0000000000..05c31fce8b --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/lead_nugget.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "galacticraft:lead_ingot" + } + ], + "result": { + "count": 9, + "id": "galacticraft:lead_nugget" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/light_blue_parachute.json b/src/main/generated/data/galacticraft/recipe/light_blue_parachute.json new file mode 100644 index 0000000000..128be6a77e --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/light_blue_parachute.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "galacticraft:white_parachute" + }, + { + "item": "minecraft:light_blue_dye" + } + ], + "result": { + "count": 1, + "id": "galacticraft:light_blue_parachute" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/light_gray_parachute.json b/src/main/generated/data/galacticraft/recipe/light_gray_parachute.json new file mode 100644 index 0000000000..01802f965d --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/light_gray_parachute.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "galacticraft:white_parachute" + }, + { + "item": "minecraft:light_gray_dye" + } + ], + "result": { + "count": 1, + "id": "galacticraft:light_gray_parachute" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/lime_parachute.json b/src/main/generated/data/galacticraft/recipe/lime_parachute.json new file mode 100644 index 0000000000..c9c9b98682 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/lime_parachute.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "galacticraft:white_parachute" + }, + { + "item": "minecraft:lime_dye" + } + ], + "result": { + "count": 1, + "id": "galacticraft:lime_parachute" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/linear_light_panel.json b/src/main/generated/data/galacticraft/recipe/linear_light_panel.json new file mode 100644 index 0000000000..70726785ef --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/linear_light_panel.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "G": { + "item": "galacticraft:glowstone_torch" + }, + "S": { + "item": "minecraft:glass_pane" + }, + "T": { + "item": "galacticraft:compressed_steel" + } + }, + "pattern": [ + "S S", + "SGS", + "STS" + ], + "result": { + "count": 1, + "id": "galacticraft:linear_light_panel" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/lunar_sapphire_block.json b/src/main/generated/data/galacticraft/recipe/lunar_sapphire_block.json new file mode 100644 index 0000000000..b42b68f7f5 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/lunar_sapphire_block.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:lunar_sapphire" + } + }, + "pattern": [ + "###", + "###", + "###" + ], + "result": { + "count": 1, + "id": "galacticraft:lunar_sapphire_block" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/lunar_sapphire_from_block.json b/src/main/generated/data/galacticraft/recipe/lunar_sapphire_from_block.json new file mode 100644 index 0000000000..eda56816c6 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/lunar_sapphire_from_block.json @@ -0,0 +1,14 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "group": "lunar_sapphire", + "ingredients": [ + { + "item": "galacticraft:lunar_sapphire_block" + } + ], + "result": { + "count": 9, + "id": "galacticraft:lunar_sapphire" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/lunaslate_slab.json b/src/main/generated/data/galacticraft/recipe/lunaslate_slab.json new file mode 100644 index 0000000000..46896359ed --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/lunaslate_slab.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:lunaslate" + } + }, + "pattern": [ + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:lunaslate_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/lunaslate_slab_from_lunaslate_stonecutting.json b/src/main/generated/data/galacticraft/recipe/lunaslate_slab_from_lunaslate_stonecutting.json new file mode 100644 index 0000000000..9025d9203b --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/lunaslate_slab_from_lunaslate_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:lunaslate" + }, + "result": { + "count": 2, + "id": "galacticraft:lunaslate_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/lunaslate_stairs.json b/src/main/generated/data/galacticraft/recipe/lunaslate_stairs.json new file mode 100644 index 0000000000..034b2382d5 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/lunaslate_stairs.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:lunaslate" + } + }, + "pattern": [ + "# ", + "## ", + "###" + ], + "result": { + "count": 4, + "id": "galacticraft:lunaslate_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/lunaslate_stairs_from_lunaslate_stonecutting.json b/src/main/generated/data/galacticraft/recipe/lunaslate_stairs_from_lunaslate_stonecutting.json new file mode 100644 index 0000000000..fa35f21e28 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/lunaslate_stairs_from_lunaslate_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:lunaslate" + }, + "result": { + "count": 1, + "id": "galacticraft:lunaslate_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/lunaslate_wall.json b/src/main/generated/data/galacticraft/recipe/lunaslate_wall.json new file mode 100644 index 0000000000..3d261aaa32 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/lunaslate_wall.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:lunaslate" + } + }, + "pattern": [ + "###", + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:lunaslate_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/lunaslate_wall_from_lunaslate_stonecutting.json b/src/main/generated/data/galacticraft/recipe/lunaslate_wall_from_lunaslate_stonecutting.json new file mode 100644 index 0000000000..838de81801 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/lunaslate_wall_from_lunaslate_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:lunaslate" + }, + "result": { + "count": 1, + "id": "galacticraft:lunaslate_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/magenta_parachute.json b/src/main/generated/data/galacticraft/recipe/magenta_parachute.json new file mode 100644 index 0000000000..d634220c30 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/magenta_parachute.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "galacticraft:white_parachute" + }, + { + "item": "minecraft:magenta_dye" + } + ], + "result": { + "count": 1, + "id": "galacticraft:magenta_parachute" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/mars_cobblestone_slab.json b/src/main/generated/data/galacticraft/recipe/mars_cobblestone_slab.json new file mode 100644 index 0000000000..ccb8a44e95 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/mars_cobblestone_slab.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:mars_cobblestone" + } + }, + "pattern": [ + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:mars_cobblestone_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/mars_cobblestone_slab_from_mars_cobblestone_stonecutting.json b/src/main/generated/data/galacticraft/recipe/mars_cobblestone_slab_from_mars_cobblestone_stonecutting.json new file mode 100644 index 0000000000..91eb7cbb74 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/mars_cobblestone_slab_from_mars_cobblestone_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:mars_cobblestone" + }, + "result": { + "count": 2, + "id": "galacticraft:mars_cobblestone_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/mars_cobblestone_stairs.json b/src/main/generated/data/galacticraft/recipe/mars_cobblestone_stairs.json new file mode 100644 index 0000000000..adf98a2c50 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/mars_cobblestone_stairs.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:mars_cobblestone" + } + }, + "pattern": [ + "# ", + "## ", + "###" + ], + "result": { + "count": 4, + "id": "galacticraft:mars_cobblestone_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/mars_cobblestone_stairs_from_mars_cobblestone_stonecutting.json b/src/main/generated/data/galacticraft/recipe/mars_cobblestone_stairs_from_mars_cobblestone_stonecutting.json new file mode 100644 index 0000000000..460025316c --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/mars_cobblestone_stairs_from_mars_cobblestone_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:mars_cobblestone" + }, + "result": { + "count": 1, + "id": "galacticraft:mars_cobblestone_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/mars_cobblestone_wall.json b/src/main/generated/data/galacticraft/recipe/mars_cobblestone_wall.json new file mode 100644 index 0000000000..5c95f4281a --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/mars_cobblestone_wall.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:mars_cobblestone" + } + }, + "pattern": [ + "###", + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:mars_cobblestone_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/mars_cobblestone_wall_from_mars_cobblestone_stonecutting.json b/src/main/generated/data/galacticraft/recipe/mars_cobblestone_wall_from_mars_cobblestone_stonecutting.json new file mode 100644 index 0000000000..7a1fad272d --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/mars_cobblestone_wall_from_mars_cobblestone_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:mars_cobblestone" + }, + "result": { + "count": 1, + "id": "galacticraft:mars_cobblestone_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/mars_stone_slab.json b/src/main/generated/data/galacticraft/recipe/mars_stone_slab.json new file mode 100644 index 0000000000..78ac7faba8 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/mars_stone_slab.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:mars_stone" + } + }, + "pattern": [ + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:mars_stone_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/mars_stone_slab_from_mars_stone_stonecutting.json b/src/main/generated/data/galacticraft/recipe/mars_stone_slab_from_mars_stone_stonecutting.json new file mode 100644 index 0000000000..5b251d15ae --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/mars_stone_slab_from_mars_stone_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:mars_stone" + }, + "result": { + "count": 2, + "id": "galacticraft:mars_stone_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/mars_stone_stairs.json b/src/main/generated/data/galacticraft/recipe/mars_stone_stairs.json new file mode 100644 index 0000000000..947e65d933 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/mars_stone_stairs.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:mars_stone" + } + }, + "pattern": [ + "# ", + "## ", + "###" + ], + "result": { + "count": 4, + "id": "galacticraft:mars_stone_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/mars_stone_stairs_from_mars_stone_stonecutting.json b/src/main/generated/data/galacticraft/recipe/mars_stone_stairs_from_mars_stone_stonecutting.json new file mode 100644 index 0000000000..b08e3c5ce3 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/mars_stone_stairs_from_mars_stone_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:mars_stone" + }, + "result": { + "count": 1, + "id": "galacticraft:mars_stone_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/mars_stone_wall.json b/src/main/generated/data/galacticraft/recipe/mars_stone_wall.json new file mode 100644 index 0000000000..11fd0db634 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/mars_stone_wall.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:mars_stone" + } + }, + "pattern": [ + "###", + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:mars_stone_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/mars_stone_wall_from_mars_stone_stonecutting.json b/src/main/generated/data/galacticraft/recipe/mars_stone_wall_from_mars_stone_stonecutting.json new file mode 100644 index 0000000000..5b63e76910 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/mars_stone_wall_from_mars_stone_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:mars_stone" + }, + "result": { + "count": 1, + "id": "galacticraft:mars_stone_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/medium_oxygen_tank.json b/src/main/generated/data/galacticraft/recipe/medium_oxygen_tank.json new file mode 100644 index 0000000000..f0f58d4812 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/medium_oxygen_tank.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "galacticraft:compressed_tin" + }, + "T": { + "item": "galacticraft:tin_canister" + }, + "W": { + "item": "minecraft:orange_wool" + } + }, + "pattern": [ + "WW", + "TT", + "CC" + ], + "result": { + "count": 1, + "id": "galacticraft:medium_oxygen_tank" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/meteoric_iron_block.json b/src/main/generated/data/galacticraft/recipe/meteoric_iron_block.json new file mode 100644 index 0000000000..54338a550c --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/meteoric_iron_block.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:meteoric_iron_ingot" + } + }, + "pattern": [ + "###", + "###", + "###" + ], + "result": { + "count": 1, + "id": "galacticraft:meteoric_iron_block" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/meteoric_iron_decoration.json b/src/main/generated/data/galacticraft/recipe/meteoric_iron_decoration.json new file mode 100644 index 0000000000..a4467fb2ab --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/meteoric_iron_decoration.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "minecraft:stone" + }, + "X": { + "item": "galacticraft:compressed_meteoric_iron" + } + }, + "pattern": [ + "## ", + "##X" + ], + "result": { + "count": 4, + "id": "galacticraft:meteoric_iron_decoration" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/meteoric_iron_decoration_slab.json b/src/main/generated/data/galacticraft/recipe/meteoric_iron_decoration_slab.json new file mode 100644 index 0000000000..0be7de11b5 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/meteoric_iron_decoration_slab.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:meteoric_iron_decoration" + } + }, + "pattern": [ + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:meteoric_iron_decoration_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/meteoric_iron_decoration_slab_from_meteoric_iron_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/meteoric_iron_decoration_slab_from_meteoric_iron_decoration_stonecutting.json new file mode 100644 index 0000000000..659f721b87 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/meteoric_iron_decoration_slab_from_meteoric_iron_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:meteoric_iron_decoration" + }, + "result": { + "count": 2, + "id": "galacticraft:meteoric_iron_decoration_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/meteoric_iron_decoration_stairs.json b/src/main/generated/data/galacticraft/recipe/meteoric_iron_decoration_stairs.json new file mode 100644 index 0000000000..caef441532 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/meteoric_iron_decoration_stairs.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:meteoric_iron_decoration" + } + }, + "pattern": [ + "# ", + "## ", + "###" + ], + "result": { + "count": 4, + "id": "galacticraft:meteoric_iron_decoration_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/meteoric_iron_decoration_stairs_from_meteoric_iron_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/meteoric_iron_decoration_stairs_from_meteoric_iron_decoration_stonecutting.json new file mode 100644 index 0000000000..1fe1c6d77d --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/meteoric_iron_decoration_stairs_from_meteoric_iron_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:meteoric_iron_decoration" + }, + "result": { + "count": 1, + "id": "galacticraft:meteoric_iron_decoration_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/meteoric_iron_decoration_wall.json b/src/main/generated/data/galacticraft/recipe/meteoric_iron_decoration_wall.json new file mode 100644 index 0000000000..99cad5bfdc --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/meteoric_iron_decoration_wall.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:meteoric_iron_decoration" + } + }, + "pattern": [ + "###", + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:meteoric_iron_decoration_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/meteoric_iron_decoration_wall_from_meteoric_iron_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/meteoric_iron_decoration_wall_from_meteoric_iron_decoration_stonecutting.json new file mode 100644 index 0000000000..6df5f53b66 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/meteoric_iron_decoration_wall_from_meteoric_iron_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:meteoric_iron_decoration" + }, + "result": { + "count": 1, + "id": "galacticraft:meteoric_iron_decoration_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/meteoric_iron_ingot_from_blasting_raw_meteoric_iron.json b/src/main/generated/data/galacticraft/recipe/meteoric_iron_ingot_from_blasting_raw_meteoric_iron.json new file mode 100644 index 0000000000..61d531d882 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/meteoric_iron_ingot_from_blasting_raw_meteoric_iron.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:blasting", + "category": "misc", + "cookingtime": 100, + "experience": 0.7, + "group": "meteoric_iron_ingot", + "ingredient": { + "item": "galacticraft:raw_meteoric_iron" + }, + "result": { + "id": "galacticraft:meteoric_iron_ingot" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/meteoric_iron_ingot_from_block.json b/src/main/generated/data/galacticraft/recipe/meteoric_iron_ingot_from_block.json new file mode 100644 index 0000000000..22d72b9c5c --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/meteoric_iron_ingot_from_block.json @@ -0,0 +1,14 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "group": "meteoric_iron_ingot", + "ingredients": [ + { + "item": "galacticraft:meteoric_iron_block" + } + ], + "result": { + "count": 9, + "id": "galacticraft:meteoric_iron_ingot" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/meteoric_iron_ingot_from_nuggets.json b/src/main/generated/data/galacticraft/recipe/meteoric_iron_ingot_from_nuggets.json new file mode 100644 index 0000000000..b82c353df3 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/meteoric_iron_ingot_from_nuggets.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "group": "meteoric_iron_ingot", + "key": { + "#": { + "item": "galacticraft:meteoric_iron_nugget" + } + }, + "pattern": [ + "###", + "###", + "###" + ], + "result": { + "count": 1, + "id": "galacticraft:meteoric_iron_ingot" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/meteoric_iron_ingot_from_smelting_raw_meteoric_iron.json b/src/main/generated/data/galacticraft/recipe/meteoric_iron_ingot_from_smelting_raw_meteoric_iron.json new file mode 100644 index 0000000000..8e82bf5835 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/meteoric_iron_ingot_from_smelting_raw_meteoric_iron.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "category": "misc", + "cookingtime": 200, + "experience": 0.7, + "group": "meteoric_iron_ingot", + "ingredient": { + "item": "galacticraft:raw_meteoric_iron" + }, + "result": { + "id": "galacticraft:meteoric_iron_ingot" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/meteoric_iron_nugget.json b/src/main/generated/data/galacticraft/recipe/meteoric_iron_nugget.json new file mode 100644 index 0000000000..f83aa87dc2 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/meteoric_iron_nugget.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "galacticraft:meteoric_iron_ingot" + } + ], + "result": { + "count": 9, + "id": "galacticraft:meteoric_iron_nugget" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/moon_basalt_brick_slab.json b/src/main/generated/data/galacticraft/recipe/moon_basalt_brick_slab.json new file mode 100644 index 0000000000..15bf987fd8 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/moon_basalt_brick_slab.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:moon_basalt_brick" + } + }, + "pattern": [ + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:moon_basalt_brick_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/moon_basalt_brick_slab_from_moon_basalt_brick_stonecutting.json b/src/main/generated/data/galacticraft/recipe/moon_basalt_brick_slab_from_moon_basalt_brick_stonecutting.json new file mode 100644 index 0000000000..9645dc7254 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/moon_basalt_brick_slab_from_moon_basalt_brick_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:moon_basalt_brick" + }, + "result": { + "count": 2, + "id": "galacticraft:moon_basalt_brick_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/moon_basalt_brick_stairs.json b/src/main/generated/data/galacticraft/recipe/moon_basalt_brick_stairs.json new file mode 100644 index 0000000000..c6a57aa126 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/moon_basalt_brick_stairs.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:moon_basalt_brick" + } + }, + "pattern": [ + "# ", + "## ", + "###" + ], + "result": { + "count": 4, + "id": "galacticraft:moon_basalt_brick_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/moon_basalt_brick_stairs_from_moon_basalt_brick_stonecutting.json b/src/main/generated/data/galacticraft/recipe/moon_basalt_brick_stairs_from_moon_basalt_brick_stonecutting.json new file mode 100644 index 0000000000..a7da2f81a7 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/moon_basalt_brick_stairs_from_moon_basalt_brick_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:moon_basalt_brick" + }, + "result": { + "count": 1, + "id": "galacticraft:moon_basalt_brick_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/moon_basalt_brick_wall.json b/src/main/generated/data/galacticraft/recipe/moon_basalt_brick_wall.json new file mode 100644 index 0000000000..9d7bd3635d --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/moon_basalt_brick_wall.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:moon_basalt_brick" + } + }, + "pattern": [ + "###", + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:moon_basalt_brick_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/moon_basalt_brick_wall_from_moon_basalt_brick_stonecutting.json b/src/main/generated/data/galacticraft/recipe/moon_basalt_brick_wall_from_moon_basalt_brick_stonecutting.json new file mode 100644 index 0000000000..966e0a4943 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/moon_basalt_brick_wall_from_moon_basalt_brick_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:moon_basalt_brick" + }, + "result": { + "count": 1, + "id": "galacticraft:moon_basalt_brick_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/moon_basalt_slab.json b/src/main/generated/data/galacticraft/recipe/moon_basalt_slab.json new file mode 100644 index 0000000000..1553e100f0 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/moon_basalt_slab.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:moon_basalt" + } + }, + "pattern": [ + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:moon_basalt_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/moon_basalt_slab_from_moon_basalt_stonecutting.json b/src/main/generated/data/galacticraft/recipe/moon_basalt_slab_from_moon_basalt_stonecutting.json new file mode 100644 index 0000000000..bd6a560972 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/moon_basalt_slab_from_moon_basalt_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:moon_basalt" + }, + "result": { + "count": 2, + "id": "galacticraft:moon_basalt_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/moon_basalt_stairs.json b/src/main/generated/data/galacticraft/recipe/moon_basalt_stairs.json new file mode 100644 index 0000000000..dc877f1dc2 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/moon_basalt_stairs.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:moon_basalt" + } + }, + "pattern": [ + "# ", + "## ", + "###" + ], + "result": { + "count": 4, + "id": "galacticraft:moon_basalt_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/moon_basalt_stairs_from_moon_basalt_stonecutting.json b/src/main/generated/data/galacticraft/recipe/moon_basalt_stairs_from_moon_basalt_stonecutting.json new file mode 100644 index 0000000000..5c54b5b944 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/moon_basalt_stairs_from_moon_basalt_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:moon_basalt" + }, + "result": { + "count": 1, + "id": "galacticraft:moon_basalt_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/moon_basalt_wall.json b/src/main/generated/data/galacticraft/recipe/moon_basalt_wall.json new file mode 100644 index 0000000000..810b6f01fe --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/moon_basalt_wall.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:moon_basalt" + } + }, + "pattern": [ + "###", + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:moon_basalt_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/moon_basalt_wall_from_moon_basalt_stonecutting.json b/src/main/generated/data/galacticraft/recipe/moon_basalt_wall_from_moon_basalt_stonecutting.json new file mode 100644 index 0000000000..29da8dba6f --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/moon_basalt_wall_from_moon_basalt_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:moon_basalt" + }, + "result": { + "count": 1, + "id": "galacticraft:moon_basalt_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/moon_cheese_block.json b/src/main/generated/data/galacticraft/recipe/moon_cheese_block.json new file mode 100644 index 0000000000..7d5556a07a --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/moon_cheese_block.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "galacticraft:cheese_curd" + }, + "M": { + "item": "minecraft:milk_bucket" + } + }, + "pattern": [ + "CCC", + "CMC", + "CCC" + ], + "result": { + "count": 1, + "id": "galacticraft:moon_cheese_block" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/moon_rock.json b/src/main/generated/data/galacticraft/recipe/moon_rock.json new file mode 100644 index 0000000000..90a77f1220 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/moon_rock.json @@ -0,0 +1,12 @@ +{ + "type": "minecraft:smelting", + "category": "blocks", + "cookingtime": 200, + "experience": 0.1, + "ingredient": { + "item": "galacticraft:cobbled_moon_rock" + }, + "result": { + "id": "galacticraft:moon_rock" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/moon_rock_brick.json b/src/main/generated/data/galacticraft/recipe/moon_rock_brick.json new file mode 100644 index 0000000000..df41ba5969 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/moon_rock_brick.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:moon_rock" + } + }, + "pattern": [ + "##", + "##" + ], + "result": { + "count": 4, + "id": "galacticraft:moon_rock_brick" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/moon_rock_brick_from_moon_rock_stonecutting.json b/src/main/generated/data/galacticraft/recipe/moon_rock_brick_from_moon_rock_stonecutting.json new file mode 100644 index 0000000000..4351dcff3f --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/moon_rock_brick_from_moon_rock_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:moon_rock" + }, + "result": { + "count": 1, + "id": "galacticraft:moon_rock_brick" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/moon_rock_brick_slab.json b/src/main/generated/data/galacticraft/recipe/moon_rock_brick_slab.json new file mode 100644 index 0000000000..f1699b5ad1 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/moon_rock_brick_slab.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:moon_rock_brick" + } + }, + "pattern": [ + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:moon_rock_brick_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/moon_rock_brick_slab_from_moon_rock_brick_stonecutting.json b/src/main/generated/data/galacticraft/recipe/moon_rock_brick_slab_from_moon_rock_brick_stonecutting.json new file mode 100644 index 0000000000..8e4b4c19eb --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/moon_rock_brick_slab_from_moon_rock_brick_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:moon_rock_brick" + }, + "result": { + "count": 2, + "id": "galacticraft:moon_rock_brick_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/moon_rock_brick_stairs.json b/src/main/generated/data/galacticraft/recipe/moon_rock_brick_stairs.json new file mode 100644 index 0000000000..78973d139f --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/moon_rock_brick_stairs.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:moon_rock_brick" + } + }, + "pattern": [ + "# ", + "## ", + "###" + ], + "result": { + "count": 4, + "id": "galacticraft:moon_rock_brick_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/moon_rock_brick_stairs_from_moon_rock_brick_stonecutting.json b/src/main/generated/data/galacticraft/recipe/moon_rock_brick_stairs_from_moon_rock_brick_stonecutting.json new file mode 100644 index 0000000000..2b02f428f5 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/moon_rock_brick_stairs_from_moon_rock_brick_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:moon_rock_brick" + }, + "result": { + "count": 1, + "id": "galacticraft:moon_rock_brick_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/moon_rock_brick_wall.json b/src/main/generated/data/galacticraft/recipe/moon_rock_brick_wall.json new file mode 100644 index 0000000000..c87033e273 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/moon_rock_brick_wall.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:moon_rock_brick" + } + }, + "pattern": [ + "###", + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:moon_rock_brick_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/moon_rock_brick_wall_from_moon_rock_brick_stonecutting.json b/src/main/generated/data/galacticraft/recipe/moon_rock_brick_wall_from_moon_rock_brick_stonecutting.json new file mode 100644 index 0000000000..02a21e1d86 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/moon_rock_brick_wall_from_moon_rock_brick_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:moon_rock_brick" + }, + "result": { + "count": 1, + "id": "galacticraft:moon_rock_brick_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/moon_rock_pillar.json b/src/main/generated/data/galacticraft/recipe/moon_rock_pillar.json new file mode 100644 index 0000000000..07fa880ebf --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/moon_rock_pillar.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:moon_rock" + } + }, + "pattern": [ + "#", + "#" + ], + "result": { + "count": 2, + "id": "galacticraft:moon_rock_pillar" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/moon_rock_slab.json b/src/main/generated/data/galacticraft/recipe/moon_rock_slab.json new file mode 100644 index 0000000000..0d7733ea38 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/moon_rock_slab.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:moon_rock" + } + }, + "pattern": [ + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:moon_rock_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/moon_rock_slab_from_moon_rock_stonecutting.json b/src/main/generated/data/galacticraft/recipe/moon_rock_slab_from_moon_rock_stonecutting.json new file mode 100644 index 0000000000..a9387a0246 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/moon_rock_slab_from_moon_rock_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:moon_rock" + }, + "result": { + "count": 2, + "id": "galacticraft:moon_rock_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/moon_rock_stairs.json b/src/main/generated/data/galacticraft/recipe/moon_rock_stairs.json new file mode 100644 index 0000000000..5fe1a7a3ff --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/moon_rock_stairs.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:moon_rock" + } + }, + "pattern": [ + "# ", + "## ", + "###" + ], + "result": { + "count": 4, + "id": "galacticraft:moon_rock_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/moon_rock_stairs_from_moon_rock_stonecutting.json b/src/main/generated/data/galacticraft/recipe/moon_rock_stairs_from_moon_rock_stonecutting.json new file mode 100644 index 0000000000..04106c89bc --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/moon_rock_stairs_from_moon_rock_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:moon_rock" + }, + "result": { + "count": 1, + "id": "galacticraft:moon_rock_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/moon_rock_wall.json b/src/main/generated/data/galacticraft/recipe/moon_rock_wall.json new file mode 100644 index 0000000000..42a13b8abf --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/moon_rock_wall.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:moon_rock" + } + }, + "pattern": [ + "###", + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:moon_rock_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/moon_rock_wall_from_moon_rock_stonecutting.json b/src/main/generated/data/galacticraft/recipe/moon_rock_wall_from_moon_rock_stonecutting.json new file mode 100644 index 0000000000..791f623619 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/moon_rock_wall_from_moon_rock_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:moon_rock" + }, + "result": { + "count": 1, + "id": "galacticraft:moon_rock_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/nose_cone.json b/src/main/generated/data/galacticraft/recipe/nose_cone.json new file mode 100644 index 0000000000..06413386aa --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/nose_cone.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "P": { + "item": "galacticraft:heavy_plating" + }, + "R": { + "item": "minecraft:redstone_torch" + } + }, + "pattern": [ + " R ", + " P ", + "P P" + ], + "result": { + "count": 1, + "id": "galacticraft:nose_cone" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/olivine_block_from_shards.json b/src/main/generated/data/galacticraft/recipe/olivine_block_from_shards.json new file mode 100644 index 0000000000..9c1b567734 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/olivine_block_from_shards.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "item": "galacticraft:olivine_shard" + } + }, + "pattern": [ + "##", + "##" + ], + "result": { + "count": 1, + "id": "galacticraft:olivine_block" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/orange_parachute.json b/src/main/generated/data/galacticraft/recipe/orange_parachute.json new file mode 100644 index 0000000000..121f9a699f --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/orange_parachute.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "galacticraft:white_parachute" + }, + { + "item": "minecraft:orange_dye" + } + ], + "result": { + "count": 1, + "id": "galacticraft:orange_parachute" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/orion_drive.json b/src/main/generated/data/galacticraft/recipe/orion_drive.json new file mode 100644 index 0000000000..17e9358984 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/orion_drive.json @@ -0,0 +1,42 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "item": "galacticraft:beam_core" + }, + "C": { + "item": "minecraft:coal_ore" + }, + "D": { + "item": "minecraft:diamond_ore" + }, + "E": { + "item": "galacticraft:moon_cheese_block" + }, + "G": { + "item": "minecraft:gold_ore" + }, + "I": { + "item": "galacticraft:ilmenite_ore" + }, + "L": { + "item": "minecraft:lapis_ore" + }, + "R": { + "item": "minecraft:redstone_ore" + }, + "S": { + "item": "galacticraft:desh_ore" + } + }, + "pattern": [ + "DLG", + "RBC", + "ESI" + ], + "result": { + "count": 1, + "id": "galacticraft:orion_drive" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/oxygen_bubble_distributor.json b/src/main/generated/data/galacticraft/recipe/oxygen_bubble_distributor.json new file mode 100644 index 0000000000..2924a60ff4 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/oxygen_bubble_distributor.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "A": { + "item": "galacticraft:compressed_aluminum" + }, + "F": { + "item": "galacticraft:oxygen_fan" + }, + "S": { + "item": "galacticraft:compressed_steel" + }, + "V": { + "item": "galacticraft:oxygen_vent" + } + }, + "pattern": [ + "SFS", + "VAV", + "SFS" + ], + "result": { + "count": 1, + "id": "galacticraft:oxygen_bubble_distributor" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/oxygen_collector.json b/src/main/generated/data/galacticraft/recipe/oxygen_collector.json new file mode 100644 index 0000000000..bc555ef206 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/oxygen_collector.json @@ -0,0 +1,33 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "A": { + "item": "galacticraft:compressed_aluminum" + }, + "C": { + "item": "galacticraft:oxygen_concentrator" + }, + "F": { + "item": "galacticraft:oxygen_fan" + }, + "S": { + "item": "galacticraft:compressed_steel" + }, + "T": { + "item": "galacticraft:tin_canister" + }, + "V": { + "item": "galacticraft:oxygen_vent" + } + }, + "pattern": [ + "SSS", + "FTV", + "ACA" + ], + "result": { + "count": 1, + "id": "galacticraft:oxygen_collector" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/oxygen_compressor.json b/src/main/generated/data/galacticraft/recipe/oxygen_compressor.json new file mode 100644 index 0000000000..5f36851864 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/oxygen_compressor.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "A": { + "item": "galacticraft:compressed_aluminum" + }, + "B": { + "item": "galacticraft:compressed_bronze" + }, + "C": { + "item": "galacticraft:oxygen_concentrator" + }, + "S": { + "item": "galacticraft:compressed_steel" + } + }, + "pattern": [ + "SAS", + "ACA", + "SBS" + ], + "result": { + "count": 1, + "id": "galacticraft:oxygen_compressor" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/oxygen_concentrator.json b/src/main/generated/data/galacticraft/recipe/oxygen_concentrator.json new file mode 100644 index 0000000000..6e00f89182 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/oxygen_concentrator.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "W": { + "tag": "c:plates/tin" + }, + "X": { + "item": "galacticraft:oxygen_vent" + }, + "Y": { + "item": "galacticraft:tin_canister" + }, + "Z": { + "tag": "c:plates/steel" + } + }, + "pattern": [ + "ZWZ", + "WYW", + "ZXZ" + ], + "result": { + "count": 1, + "id": "galacticraft:oxygen_concentrator" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/oxygen_decompressor.json b/src/main/generated/data/galacticraft/recipe/oxygen_decompressor.json new file mode 100644 index 0000000000..0fd28927e8 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/oxygen_decompressor.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "A": { + "item": "galacticraft:compressed_aluminum" + }, + "C": { + "item": "galacticraft:oxygen_concentrator" + }, + "F": { + "item": "galacticraft:oxygen_fan" + }, + "R": { + "item": "minecraft:redstone_torch" + }, + "S": { + "item": "galacticraft:compressed_steel" + } + }, + "pattern": [ + "SFS", + "ACA", + "SRS" + ], + "result": { + "count": 1, + "id": "galacticraft:oxygen_decompressor" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/oxygen_fan.json b/src/main/generated/data/galacticraft/recipe/oxygen_fan.json new file mode 100644 index 0000000000..8e2bde7d3f --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/oxygen_fan.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "R": { + "tag": "c:dusts/redstone" + }, + "S": { + "item": "galacticraft:compressed_steel" + }, + "W": { + "item": "galacticraft:basic_wafer" + } + }, + "pattern": [ + "S S", + " W ", + "SRS" + ], + "result": { + "count": 1, + "id": "galacticraft:oxygen_fan" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/oxygen_gear.json b/src/main/generated/data/galacticraft/recipe/oxygen_gear.json new file mode 100644 index 0000000000..fc6e53720a --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/oxygen_gear.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "X": { + "item": "galacticraft:oxygen_concentrator" + }, + "Y": { + "item": "galacticraft:glass_fluid_pipe" + } + }, + "pattern": [ + " Y ", + "YXY", + "Y Y" + ], + "result": { + "count": 1, + "id": "galacticraft:oxygen_gear" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/oxygen_mask.json b/src/main/generated/data/galacticraft/recipe/oxygen_mask.json new file mode 100644 index 0000000000..dd097aff35 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/oxygen_mask.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "G": { + "item": "minecraft:glass_pane" + }, + "H": { + "item": "minecraft:iron_helmet" + } + }, + "pattern": [ + "GGG", + "GHG", + "GGG" + ], + "result": { + "count": 1, + "id": "galacticraft:oxygen_mask" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/oxygen_sealer.json b/src/main/generated/data/galacticraft/recipe/oxygen_sealer.json new file mode 100644 index 0000000000..d681c82903 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/oxygen_sealer.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "A": { + "item": "galacticraft:compressed_aluminum" + }, + "F": { + "item": "galacticraft:oxygen_fan" + }, + "S": { + "item": "galacticraft:compressed_steel" + }, + "V": { + "item": "galacticraft:oxygen_vent" + } + }, + "pattern": [ + "ASA", + "VFV", + "ASA" + ], + "result": { + "count": 1, + "id": "galacticraft:oxygen_sealer" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/oxygen_storage_module.json b/src/main/generated/data/galacticraft/recipe/oxygen_storage_module.json new file mode 100644 index 0000000000..7fbf8f5b92 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/oxygen_storage_module.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "S": { + "item": "galacticraft:compressed_steel" + }, + "T": { + "item": "galacticraft:large_oxygen_tank" + } + }, + "pattern": [ + "SSS", + "TTT", + "SSS" + ], + "result": { + "count": 1, + "id": "galacticraft:oxygen_storage_module" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/oxygen_vent.json b/src/main/generated/data/galacticraft/recipe/oxygen_vent.json new file mode 100644 index 0000000000..d30206adfa --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/oxygen_vent.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "S": { + "item": "galacticraft:compressed_steel" + }, + "T": { + "item": "galacticraft:compressed_tin" + } + }, + "pattern": [ + "TT", + "TS" + ], + "result": { + "count": 1, + "id": "galacticraft:oxygen_vent" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/pink_parachute.json b/src/main/generated/data/galacticraft/recipe/pink_parachute.json new file mode 100644 index 0000000000..d93433ac23 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/pink_parachute.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "galacticraft:white_parachute" + }, + { + "item": "minecraft:pink_dye" + } + ], + "result": { + "count": 1, + "id": "galacticraft:pink_parachute" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/polished_moon_rock.json b/src/main/generated/data/galacticraft/recipe/polished_moon_rock.json new file mode 100644 index 0000000000..12927ec9df --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/polished_moon_rock.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:moon_rock_brick" + } + }, + "pattern": [ + "##", + "##" + ], + "result": { + "count": 4, + "id": "galacticraft:polished_moon_rock" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/polished_moon_rock_from_moon_rock_brick_stonecutting.json b/src/main/generated/data/galacticraft/recipe/polished_moon_rock_from_moon_rock_brick_stonecutting.json new file mode 100644 index 0000000000..166793a868 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/polished_moon_rock_from_moon_rock_brick_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:moon_rock_brick" + }, + "result": { + "count": 1, + "id": "galacticraft:polished_moon_rock" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/polished_moon_rock_slab.json b/src/main/generated/data/galacticraft/recipe/polished_moon_rock_slab.json new file mode 100644 index 0000000000..2f2306fa28 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/polished_moon_rock_slab.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:polished_moon_rock" + } + }, + "pattern": [ + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:polished_moon_rock_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/polished_moon_rock_slab_from_polished_moon_rock_stonecutting.json b/src/main/generated/data/galacticraft/recipe/polished_moon_rock_slab_from_polished_moon_rock_stonecutting.json new file mode 100644 index 0000000000..e6e26d07d0 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/polished_moon_rock_slab_from_polished_moon_rock_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:polished_moon_rock" + }, + "result": { + "count": 2, + "id": "galacticraft:polished_moon_rock_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/polished_moon_rock_stairs.json b/src/main/generated/data/galacticraft/recipe/polished_moon_rock_stairs.json new file mode 100644 index 0000000000..b83676d227 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/polished_moon_rock_stairs.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:polished_moon_rock" + } + }, + "pattern": [ + "# ", + "## ", + "###" + ], + "result": { + "count": 4, + "id": "galacticraft:polished_moon_rock_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/polished_moon_rock_stairs_from_polished_moon_rock_stonecutting.json b/src/main/generated/data/galacticraft/recipe/polished_moon_rock_stairs_from_polished_moon_rock_stonecutting.json new file mode 100644 index 0000000000..5d7b4205b3 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/polished_moon_rock_stairs_from_polished_moon_rock_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:polished_moon_rock" + }, + "result": { + "count": 1, + "id": "galacticraft:polished_moon_rock_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/polished_moon_rock_wall.json b/src/main/generated/data/galacticraft/recipe/polished_moon_rock_wall.json new file mode 100644 index 0000000000..04e62d0b67 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/polished_moon_rock_wall.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:polished_moon_rock" + } + }, + "pattern": [ + "###", + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:polished_moon_rock_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/polished_moon_rock_wall_from_polished_moon_rock_stonecutting.json b/src/main/generated/data/galacticraft/recipe/polished_moon_rock_wall_from_polished_moon_rock_stonecutting.json new file mode 100644 index 0000000000..c32d9b4704 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/polished_moon_rock_wall_from_polished_moon_rock_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:polished_moon_rock" + }, + "result": { + "count": 1, + "id": "galacticraft:polished_moon_rock_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/purple_parachute.json b/src/main/generated/data/galacticraft/recipe/purple_parachute.json new file mode 100644 index 0000000000..40c7616792 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/purple_parachute.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "galacticraft:white_parachute" + }, + { + "item": "minecraft:purple_dye" + } + ], + "result": { + "count": 1, + "id": "galacticraft:purple_parachute" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/red_parachute.json b/src/main/generated/data/galacticraft/recipe/red_parachute.json new file mode 100644 index 0000000000..6746b31b5e --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/red_parachute.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "galacticraft:white_parachute" + }, + { + "item": "minecraft:red_dye" + } + ], + "result": { + "count": 1, + "id": "galacticraft:red_parachute" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/refinery.json b/src/main/generated/data/galacticraft/recipe/refinery.json new file mode 100644 index 0000000000..d05da1acb8 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/refinery.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "galacticraft:copper_canister" + }, + "F": { + "item": "minecraft:blast_furnace" + }, + "S": { + "item": "galacticraft:compressed_steel" + } + }, + "pattern": [ + "SCS", + "SCS", + "SFS" + ], + "result": { + "count": 1, + "id": "galacticraft:refinery" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/rocket_engine.json b/src/main/generated/data/galacticraft/recipe/rocket_engine.json new file mode 100644 index 0000000000..003095556a --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/rocket_engine.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "item": "minecraft:stone_button" + }, + "F": { + "item": "minecraft:flint_and_steel" + }, + "P": { + "item": "galacticraft:heavy_plating" + }, + "T": { + "item": "galacticraft:tin_canister" + }, + "V": { + "item": "galacticraft:oxygen_vent" + } + }, + "pattern": [ + " FB", + "PTP", + "PVP" + ], + "result": { + "count": 1, + "id": "galacticraft:rocket_engine" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/rocket_fin.json b/src/main/generated/data/galacticraft/recipe/rocket_fin.json new file mode 100644 index 0000000000..538be82eb5 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/rocket_fin.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "P": { + "item": "galacticraft:heavy_plating" + }, + "S": { + "tag": "c:plates/steel" + } + }, + "pattern": [ + " S ", + "PSP", + "P P" + ], + "result": { + "count": 1, + "id": "galacticraft:rocket_fin" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/rocket_launch_pad.json b/src/main/generated/data/galacticraft/recipe/rocket_launch_pad.json new file mode 100644 index 0000000000..a76a77104d --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/rocket_launch_pad.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "galacticraft:compressed_iron" + }, + "I": { + "item": "minecraft:iron_block" + } + }, + "pattern": [ + "CCC", + "III" + ], + "result": { + "count": 9, + "id": "galacticraft:rocket_launch_pad" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/rocket_workbench.json b/src/main/generated/data/galacticraft/recipe/rocket_workbench.json new file mode 100644 index 0000000000..a13bcf4a7e --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/rocket_workbench.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "minecraft:crafting_table" + }, + "L": { + "item": "minecraft:lever" + }, + "R": { + "item": "minecraft:redstone_torch" + }, + "S": { + "item": "galacticraft:compressed_steel" + }, + "W": { + "item": "galacticraft:advanced_wafer" + } + }, + "pattern": [ + "SCS", + "LWL", + "SRS" + ], + "result": { + "count": 1, + "id": "galacticraft:rocket_workbench" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/sealable_aluminum_wire.json b/src/main/generated/data/galacticraft/recipe/sealable_aluminum_wire.json new file mode 100644 index 0000000000..e0eb803943 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/sealable_aluminum_wire.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "T": { + "item": "galacticraft:tin_decoration" + }, + "W": { + "item": "galacticraft:aluminum_wire" + } + }, + "pattern": [ + "TWT" + ], + "result": { + "count": 6, + "id": "galacticraft:sealable_aluminum_wire" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/sensor_glasses.json b/src/main/generated/data/galacticraft/recipe/sensor_glasses.json new file mode 100644 index 0000000000..4c2d9b2055 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/sensor_glasses.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "D": { + "tag": "c:gems/diamond" + }, + "L": { + "item": "galacticraft:sensor_lens" + }, + "M": { + "item": "galacticraft:meteoric_iron_ingot" + }, + "S": { + "item": "minecraft:string" + } + }, + "pattern": [ + "SDS", + "S S", + "LML" + ], + "result": { + "count": 1, + "id": "galacticraft:sensor_glasses" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/sensor_lens.json b/src/main/generated/data/galacticraft/recipe/sensor_lens.json new file mode 100644 index 0000000000..55cce01507 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/sensor_lens.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "F": { + "item": "galacticraft:compressed_meteoric_iron" + }, + "P": { + "tag": "c:glass_panes" + }, + "R": { + "tag": "c:dusts/redstone" + } + }, + "pattern": [ + "RPR", + "PFP", + "RPR" + ], + "result": { + "count": 1, + "id": "galacticraft:sensor_lens" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/single_solar_module.json b/src/main/generated/data/galacticraft/recipe/single_solar_module.json new file mode 100644 index 0000000000..118177f4d8 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/single_solar_module.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "G": { + "tag": "c:glass_blocks" + }, + "S": { + "item": "galacticraft:solar_array_wafer" + }, + "W": { + "item": "galacticraft:aluminum_wire" + } + }, + "pattern": [ + "GGG", + "SSS", + "WWW" + ], + "result": { + "count": 2, + "id": "galacticraft:single_solar_module" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/small_oxygen_tank.json b/src/main/generated/data/galacticraft/recipe/small_oxygen_tank.json new file mode 100644 index 0000000000..8db1629485 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/small_oxygen_tank.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "galacticraft:compressed_copper" + }, + "T": { + "item": "galacticraft:tin_canister" + }, + "W": { + "item": "minecraft:lime_wool" + } + }, + "pattern": [ + "W", + "T", + "C" + ], + "result": { + "count": 1, + "id": "galacticraft:small_oxygen_tank" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/spotlight_light_panel.json b/src/main/generated/data/galacticraft/recipe/spotlight_light_panel.json new file mode 100644 index 0000000000..587d6e1f6e --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/spotlight_light_panel.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "G": { + "item": "galacticraft:glowstone_torch" + }, + "S": { + "item": "minecraft:glass_pane" + }, + "T": { + "item": "galacticraft:compressed_steel" + } + }, + "pattern": [ + "S S", + " G ", + "STS" + ], + "result": { + "count": 1, + "id": "galacticraft:spotlight_light_panel" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/square_light_panel.json b/src/main/generated/data/galacticraft/recipe/square_light_panel.json new file mode 100644 index 0000000000..f4a5d05a78 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/square_light_panel.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "G": { + "item": "galacticraft:glowstone_torch" + }, + "S": { + "item": "minecraft:glass_pane" + }, + "T": { + "item": "galacticraft:compressed_steel" + } + }, + "pattern": [ + "SSS", + "SGS", + "STS" + ], + "result": { + "count": 1, + "id": "galacticraft:square_light_panel" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/standard_wrench.json b/src/main/generated/data/galacticraft/recipe/standard_wrench.json new file mode 100644 index 0000000000..0b6120d280 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/standard_wrench.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "item": "galacticraft:compressed_bronze" + }, + "S": { + "item": "galacticraft:compressed_steel" + } + }, + "pattern": [ + " S", + " B ", + "B " + ], + "result": { + "count": 1, + "id": "galacticraft:standard_wrench" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/steel_decoration.json b/src/main/generated/data/galacticraft/recipe/steel_decoration.json new file mode 100644 index 0000000000..38af412a27 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/steel_decoration.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "minecraft:stone" + }, + "X": { + "item": "galacticraft:compressed_steel" + } + }, + "pattern": [ + "## ", + "##X" + ], + "result": { + "count": 4, + "id": "galacticraft:steel_decoration" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/steel_decoration_slab.json b/src/main/generated/data/galacticraft/recipe/steel_decoration_slab.json new file mode 100644 index 0000000000..cc70db3b6d --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/steel_decoration_slab.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:steel_decoration" + } + }, + "pattern": [ + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:steel_decoration_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/steel_decoration_slab_from_steel_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/steel_decoration_slab_from_steel_decoration_stonecutting.json new file mode 100644 index 0000000000..f75f813b0b --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/steel_decoration_slab_from_steel_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:steel_decoration" + }, + "result": { + "count": 2, + "id": "galacticraft:steel_decoration_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/steel_decoration_stairs.json b/src/main/generated/data/galacticraft/recipe/steel_decoration_stairs.json new file mode 100644 index 0000000000..13e36f6622 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/steel_decoration_stairs.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:steel_decoration" + } + }, + "pattern": [ + "# ", + "## ", + "###" + ], + "result": { + "count": 4, + "id": "galacticraft:steel_decoration_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/steel_decoration_stairs_from_steel_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/steel_decoration_stairs_from_steel_decoration_stonecutting.json new file mode 100644 index 0000000000..afd1c4fdd3 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/steel_decoration_stairs_from_steel_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:steel_decoration" + }, + "result": { + "count": 1, + "id": "galacticraft:steel_decoration_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/steel_decoration_wall.json b/src/main/generated/data/galacticraft/recipe/steel_decoration_wall.json new file mode 100644 index 0000000000..94b9e0001f --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/steel_decoration_wall.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:steel_decoration" + } + }, + "pattern": [ + "###", + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:steel_decoration_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/steel_decoration_wall_from_steel_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/steel_decoration_wall_from_steel_decoration_stonecutting.json new file mode 100644 index 0000000000..ad1444fc2a --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/steel_decoration_wall_from_steel_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:steel_decoration" + }, + "result": { + "count": 1, + "id": "galacticraft:steel_decoration_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/steel_pole.json b/src/main/generated/data/galacticraft/recipe/steel_pole.json new file mode 100644 index 0000000000..9c6b18e126 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/steel_pole.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "I": { + "item": "galacticraft:compressed_steel" + } + }, + "pattern": [ + "I", + "I", + "I" + ], + "result": { + "count": 1, + "id": "galacticraft:steel_pole" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/thermal_cloth.json b/src/main/generated/data/galacticraft/recipe/thermal_cloth.json new file mode 100644 index 0000000000..3884f5d17e --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/thermal_cloth.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "R": { + "tag": "c:dusts/redstone" + }, + "W": { + "tag": "minecraft:wool" + } + }, + "pattern": [ + " W ", + "WRW", + " W " + ], + "result": { + "count": 1, + "id": "galacticraft:thermal_cloth" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/thermal_padding_boots.json b/src/main/generated/data/galacticraft/recipe/thermal_padding_boots.json new file mode 100644 index 0000000000..1798b735be --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/thermal_padding_boots.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "galacticraft:thermal_cloth" + } + }, + "pattern": [ + "C C", + "C C" + ], + "result": { + "count": 1, + "id": "galacticraft:thermal_padding_boots" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/thermal_padding_chestpiece.json b/src/main/generated/data/galacticraft/recipe/thermal_padding_chestpiece.json new file mode 100644 index 0000000000..d33f4544e0 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/thermal_padding_chestpiece.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "galacticraft:thermal_cloth" + } + }, + "pattern": [ + "C C", + "CCC", + "CCC" + ], + "result": { + "count": 1, + "id": "galacticraft:thermal_padding_chestpiece" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/thermal_padding_helmet.json b/src/main/generated/data/galacticraft/recipe/thermal_padding_helmet.json new file mode 100644 index 0000000000..6881e5d8ba --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/thermal_padding_helmet.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "galacticraft:thermal_cloth" + } + }, + "pattern": [ + "CCC", + "C C" + ], + "result": { + "count": 1, + "id": "galacticraft:thermal_padding_helmet" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/thermal_padding_leggings.json b/src/main/generated/data/galacticraft/recipe/thermal_padding_leggings.json new file mode 100644 index 0000000000..0edbe0fe6b --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/thermal_padding_leggings.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "galacticraft:thermal_cloth" + } + }, + "pattern": [ + "CCC", + "C C", + "C C" + ], + "result": { + "count": 1, + "id": "galacticraft:thermal_padding_leggings" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/throwable_meteor_chunk.json b/src/main/generated/data/galacticraft/recipe/throwable_meteor_chunk.json new file mode 100644 index 0000000000..a81710e1a6 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/throwable_meteor_chunk.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "equipment", + "ingredients": [ + { + "item": "galacticraft:raw_meteoric_iron" + } + ], + "result": { + "count": 3, + "id": "galacticraft:throwable_meteor_chunk" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/tin_canister.json b/src/main/generated/data/galacticraft/recipe/tin_canister.json new file mode 100644 index 0000000000..7eb5acccc8 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/tin_canister.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "X": { + "tag": "c:ingots/tin" + } + }, + "pattern": [ + "X X", + "X X", + "XXX" + ], + "result": { + "count": 2, + "id": "galacticraft:tin_canister" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/tin_decoration.json b/src/main/generated/data/galacticraft/recipe/tin_decoration.json new file mode 100644 index 0000000000..9aef63d4fd --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/tin_decoration.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "minecraft:stone" + }, + "X": { + "item": "galacticraft:compressed_tin" + } + }, + "pattern": [ + "## ", + "##X" + ], + "result": { + "count": 4, + "id": "galacticraft:tin_decoration" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/tin_decoration_slab.json b/src/main/generated/data/galacticraft/recipe/tin_decoration_slab.json new file mode 100644 index 0000000000..034d136957 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/tin_decoration_slab.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:tin_decoration" + } + }, + "pattern": [ + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:tin_decoration_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/tin_decoration_slab_from_tin_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/tin_decoration_slab_from_tin_decoration_stonecutting.json new file mode 100644 index 0000000000..256448fbb2 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/tin_decoration_slab_from_tin_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:tin_decoration" + }, + "result": { + "count": 2, + "id": "galacticraft:tin_decoration_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/tin_decoration_stairs.json b/src/main/generated/data/galacticraft/recipe/tin_decoration_stairs.json new file mode 100644 index 0000000000..97a7fb39c1 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/tin_decoration_stairs.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:tin_decoration" + } + }, + "pattern": [ + "# ", + "## ", + "###" + ], + "result": { + "count": 4, + "id": "galacticraft:tin_decoration_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/tin_decoration_stairs_from_tin_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/tin_decoration_stairs_from_tin_decoration_stonecutting.json new file mode 100644 index 0000000000..0847675f47 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/tin_decoration_stairs_from_tin_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:tin_decoration" + }, + "result": { + "count": 1, + "id": "galacticraft:tin_decoration_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/tin_decoration_wall.json b/src/main/generated/data/galacticraft/recipe/tin_decoration_wall.json new file mode 100644 index 0000000000..73148536ef --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/tin_decoration_wall.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:tin_decoration" + } + }, + "pattern": [ + "###", + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:tin_decoration_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/tin_decoration_wall_from_tin_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/tin_decoration_wall_from_tin_decoration_stonecutting.json new file mode 100644 index 0000000000..94079b06f3 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/tin_decoration_wall_from_tin_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:tin_decoration" + }, + "result": { + "count": 1, + "id": "galacticraft:tin_decoration_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/tin_ingot_from_blasting_deepslate_tin_ore.json b/src/main/generated/data/galacticraft/recipe/tin_ingot_from_blasting_deepslate_tin_ore.json new file mode 100644 index 0000000000..217ac69d99 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/tin_ingot_from_blasting_deepslate_tin_ore.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:blasting", + "category": "misc", + "cookingtime": 100, + "experience": 0.7, + "group": "tin_ingot", + "ingredient": { + "item": "galacticraft:deepslate_tin_ore" + }, + "result": { + "id": "galacticraft:tin_ingot" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/tin_ingot_from_blasting_moon_tin_ore.json b/src/main/generated/data/galacticraft/recipe/tin_ingot_from_blasting_moon_tin_ore.json new file mode 100644 index 0000000000..d987bfb9eb --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/tin_ingot_from_blasting_moon_tin_ore.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:blasting", + "category": "misc", + "cookingtime": 100, + "experience": 0.7, + "group": "tin_ingot", + "ingredient": { + "item": "galacticraft:moon_tin_ore" + }, + "result": { + "id": "galacticraft:tin_ingot" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/tin_ingot_from_blasting_raw_tin.json b/src/main/generated/data/galacticraft/recipe/tin_ingot_from_blasting_raw_tin.json new file mode 100644 index 0000000000..41eec5dc7a --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/tin_ingot_from_blasting_raw_tin.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:blasting", + "category": "misc", + "cookingtime": 100, + "experience": 0.7, + "group": "tin_ingot", + "ingredient": { + "item": "galacticraft:raw_tin" + }, + "result": { + "id": "galacticraft:tin_ingot" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/tin_ingot_from_blasting_tin_ore.json b/src/main/generated/data/galacticraft/recipe/tin_ingot_from_blasting_tin_ore.json new file mode 100644 index 0000000000..2b52f3a7c7 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/tin_ingot_from_blasting_tin_ore.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:blasting", + "category": "misc", + "cookingtime": 100, + "experience": 0.7, + "group": "tin_ingot", + "ingredient": { + "item": "galacticraft:tin_ore" + }, + "result": { + "id": "galacticraft:tin_ingot" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/tin_ingot_from_nuggets.json b/src/main/generated/data/galacticraft/recipe/tin_ingot_from_nuggets.json new file mode 100644 index 0000000000..c43957ae4d --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/tin_ingot_from_nuggets.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "group": "tin_ingot", + "key": { + "#": { + "item": "galacticraft:tin_nugget" + } + }, + "pattern": [ + "###", + "###", + "###" + ], + "result": { + "count": 1, + "id": "galacticraft:tin_ingot" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/tin_ingot_from_smelting_deepslate_tin_ore.json b/src/main/generated/data/galacticraft/recipe/tin_ingot_from_smelting_deepslate_tin_ore.json new file mode 100644 index 0000000000..0a7efa8e65 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/tin_ingot_from_smelting_deepslate_tin_ore.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "category": "misc", + "cookingtime": 200, + "experience": 0.7, + "group": "tin_ingot", + "ingredient": { + "item": "galacticraft:deepslate_tin_ore" + }, + "result": { + "id": "galacticraft:tin_ingot" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/tin_ingot_from_smelting_moon_tin_ore.json b/src/main/generated/data/galacticraft/recipe/tin_ingot_from_smelting_moon_tin_ore.json new file mode 100644 index 0000000000..b908569ee4 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/tin_ingot_from_smelting_moon_tin_ore.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "category": "misc", + "cookingtime": 200, + "experience": 0.7, + "group": "tin_ingot", + "ingredient": { + "item": "galacticraft:moon_tin_ore" + }, + "result": { + "id": "galacticraft:tin_ingot" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/tin_ingot_from_smelting_raw_tin.json b/src/main/generated/data/galacticraft/recipe/tin_ingot_from_smelting_raw_tin.json new file mode 100644 index 0000000000..75a07bd18c --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/tin_ingot_from_smelting_raw_tin.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "category": "misc", + "cookingtime": 200, + "experience": 0.7, + "group": "tin_ingot", + "ingredient": { + "item": "galacticraft:raw_tin" + }, + "result": { + "id": "galacticraft:tin_ingot" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/tin_ingot_from_smelting_tin_ore.json b/src/main/generated/data/galacticraft/recipe/tin_ingot_from_smelting_tin_ore.json new file mode 100644 index 0000000000..36d82c4a22 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/tin_ingot_from_smelting_tin_ore.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "category": "misc", + "cookingtime": 200, + "experience": 0.7, + "group": "tin_ingot", + "ingredient": { + "item": "galacticraft:tin_ore" + }, + "result": { + "id": "galacticraft:tin_ingot" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/tin_ladder.json b/src/main/generated/data/galacticraft/recipe/tin_ladder.json new file mode 100644 index 0000000000..e4abb023e5 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/tin_ladder.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "T": { + "item": "galacticraft:tin_ingot" + } + }, + "pattern": [ + "T T", + "TTT", + "T T" + ], + "result": { + "count": 6, + "id": "galacticraft:tin_ladder" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/tin_nugget.json b/src/main/generated/data/galacticraft/recipe/tin_nugget.json new file mode 100644 index 0000000000..d268b692e0 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/tin_nugget.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "galacticraft:tin_ingot" + } + ], + "result": { + "count": 9, + "id": "galacticraft:tin_nugget" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/titanium_axe_smithing.json b/src/main/generated/data/galacticraft/recipe/titanium_axe_smithing.json new file mode 100644 index 0000000000..c95c042a8a --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/titanium_axe_smithing.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:smithing_transform", + "addition": { + "item": "galacticraft:compressed_titanium" + }, + "base": { + "item": "galacticraft:desh_axe" + }, + "result": { + "count": 1, + "id": "galacticraft:titanium_axe" + }, + "template": { + "item": "galacticraft:titanium_upgrade_smithing_template" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/titanium_block.json b/src/main/generated/data/galacticraft/recipe/titanium_block.json new file mode 100644 index 0000000000..53348318fe --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/titanium_block.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:titanium_ingot" + } + }, + "pattern": [ + "###", + "###", + "###" + ], + "result": { + "count": 1, + "id": "galacticraft:titanium_block" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/titanium_boots_smithing.json b/src/main/generated/data/galacticraft/recipe/titanium_boots_smithing.json new file mode 100644 index 0000000000..bf562c51d8 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/titanium_boots_smithing.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:smithing_transform", + "addition": { + "item": "galacticraft:compressed_titanium" + }, + "base": { + "item": "galacticraft:desh_boots" + }, + "result": { + "count": 1, + "id": "galacticraft:titanium_boots" + }, + "template": { + "item": "galacticraft:titanium_upgrade_smithing_template" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/titanium_chestplate_smithing.json b/src/main/generated/data/galacticraft/recipe/titanium_chestplate_smithing.json new file mode 100644 index 0000000000..5ebd6ad650 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/titanium_chestplate_smithing.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:smithing_transform", + "addition": { + "item": "galacticraft:compressed_titanium" + }, + "base": { + "item": "galacticraft:desh_chestplate" + }, + "result": { + "count": 1, + "id": "galacticraft:titanium_chestplate" + }, + "template": { + "item": "galacticraft:titanium_upgrade_smithing_template" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/titanium_decoration.json b/src/main/generated/data/galacticraft/recipe/titanium_decoration.json new file mode 100644 index 0000000000..c2f1e0dd60 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/titanium_decoration.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "minecraft:stone" + }, + "X": { + "item": "galacticraft:compressed_titanium" + } + }, + "pattern": [ + "## ", + "##X" + ], + "result": { + "count": 4, + "id": "galacticraft:titanium_decoration" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/titanium_decoration_slab.json b/src/main/generated/data/galacticraft/recipe/titanium_decoration_slab.json new file mode 100644 index 0000000000..8676042444 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/titanium_decoration_slab.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:titanium_decoration" + } + }, + "pattern": [ + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:titanium_decoration_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/titanium_decoration_slab_from_titanium_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/titanium_decoration_slab_from_titanium_decoration_stonecutting.json new file mode 100644 index 0000000000..dc88ed1549 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/titanium_decoration_slab_from_titanium_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:titanium_decoration" + }, + "result": { + "count": 2, + "id": "galacticraft:titanium_decoration_slab" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/titanium_decoration_stairs.json b/src/main/generated/data/galacticraft/recipe/titanium_decoration_stairs.json new file mode 100644 index 0000000000..8377d9ffd6 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/titanium_decoration_stairs.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:titanium_decoration" + } + }, + "pattern": [ + "# ", + "## ", + "###" + ], + "result": { + "count": 4, + "id": "galacticraft:titanium_decoration_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/titanium_decoration_stairs_from_titanium_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/titanium_decoration_stairs_from_titanium_decoration_stonecutting.json new file mode 100644 index 0000000000..208c1fc804 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/titanium_decoration_stairs_from_titanium_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:titanium_decoration" + }, + "result": { + "count": 1, + "id": "galacticraft:titanium_decoration_stairs" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/titanium_decoration_wall.json b/src/main/generated/data/galacticraft/recipe/titanium_decoration_wall.json new file mode 100644 index 0000000000..8961acd1dc --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/titanium_decoration_wall.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "#": { + "item": "galacticraft:titanium_decoration" + } + }, + "pattern": [ + "###", + "###" + ], + "result": { + "count": 6, + "id": "galacticraft:titanium_decoration_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/titanium_decoration_wall_from_titanium_decoration_stonecutting.json b/src/main/generated/data/galacticraft/recipe/titanium_decoration_wall_from_titanium_decoration_stonecutting.json new file mode 100644 index 0000000000..6caeeb2e2e --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/titanium_decoration_wall_from_titanium_decoration_stonecutting.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "galacticraft:titanium_decoration" + }, + "result": { + "count": 1, + "id": "galacticraft:titanium_decoration_wall" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/titanium_helmet_smithing.json b/src/main/generated/data/galacticraft/recipe/titanium_helmet_smithing.json new file mode 100644 index 0000000000..e0dfc6cf85 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/titanium_helmet_smithing.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:smithing_transform", + "addition": { + "item": "galacticraft:compressed_titanium" + }, + "base": { + "item": "galacticraft:desh_helmet" + }, + "result": { + "count": 1, + "id": "galacticraft:titanium_helmet" + }, + "template": { + "item": "galacticraft:titanium_upgrade_smithing_template" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/titanium_hoe_smithing.json b/src/main/generated/data/galacticraft/recipe/titanium_hoe_smithing.json new file mode 100644 index 0000000000..a94ac20d90 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/titanium_hoe_smithing.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:smithing_transform", + "addition": { + "item": "galacticraft:compressed_titanium" + }, + "base": { + "item": "galacticraft:desh_hoe" + }, + "result": { + "count": 1, + "id": "galacticraft:titanium_hoe" + }, + "template": { + "item": "galacticraft:titanium_upgrade_smithing_template" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/titanium_ingot_from_blasting_ilmenite_ore.json b/src/main/generated/data/galacticraft/recipe/titanium_ingot_from_blasting_ilmenite_ore.json new file mode 100644 index 0000000000..daec66d9cd --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/titanium_ingot_from_blasting_ilmenite_ore.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:blasting", + "category": "misc", + "cookingtime": 100, + "experience": 0.7, + "group": "titanium_ingot", + "ingredient": { + "item": "galacticraft:ilmenite_ore" + }, + "result": { + "id": "galacticraft:titanium_ingot" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/titanium_ingot_from_blasting_raw_titanium.json b/src/main/generated/data/galacticraft/recipe/titanium_ingot_from_blasting_raw_titanium.json new file mode 100644 index 0000000000..e27524e713 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/titanium_ingot_from_blasting_raw_titanium.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:blasting", + "category": "misc", + "cookingtime": 100, + "experience": 0.7, + "group": "titanium_ingot", + "ingredient": { + "item": "galacticraft:raw_titanium" + }, + "result": { + "id": "galacticraft:titanium_ingot" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/titanium_ingot_from_block.json b/src/main/generated/data/galacticraft/recipe/titanium_ingot_from_block.json new file mode 100644 index 0000000000..51421b3d46 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/titanium_ingot_from_block.json @@ -0,0 +1,14 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "group": "titanium_ingot", + "ingredients": [ + { + "item": "galacticraft:titanium_block" + } + ], + "result": { + "count": 9, + "id": "galacticraft:titanium_ingot" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/titanium_ingot_from_nuggets.json b/src/main/generated/data/galacticraft/recipe/titanium_ingot_from_nuggets.json new file mode 100644 index 0000000000..23de2068ca --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/titanium_ingot_from_nuggets.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "group": "titanium_ingot", + "key": { + "#": { + "item": "galacticraft:titanium_nugget" + } + }, + "pattern": [ + "###", + "###", + "###" + ], + "result": { + "count": 1, + "id": "galacticraft:titanium_ingot" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/titanium_ingot_from_smelting_ilmenite_ore.json b/src/main/generated/data/galacticraft/recipe/titanium_ingot_from_smelting_ilmenite_ore.json new file mode 100644 index 0000000000..f3b1e0a6cd --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/titanium_ingot_from_smelting_ilmenite_ore.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "category": "misc", + "cookingtime": 200, + "experience": 0.7, + "group": "titanium_ingot", + "ingredient": { + "item": "galacticraft:ilmenite_ore" + }, + "result": { + "id": "galacticraft:titanium_ingot" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/titanium_ingot_from_smelting_raw_titanium.json b/src/main/generated/data/galacticraft/recipe/titanium_ingot_from_smelting_raw_titanium.json new file mode 100644 index 0000000000..cb6d37df1e --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/titanium_ingot_from_smelting_raw_titanium.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "category": "misc", + "cookingtime": 200, + "experience": 0.7, + "group": "titanium_ingot", + "ingredient": { + "item": "galacticraft:raw_titanium" + }, + "result": { + "id": "galacticraft:titanium_ingot" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/titanium_leggings_smithing.json b/src/main/generated/data/galacticraft/recipe/titanium_leggings_smithing.json new file mode 100644 index 0000000000..dfbdb92a98 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/titanium_leggings_smithing.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:smithing_transform", + "addition": { + "item": "galacticraft:compressed_titanium" + }, + "base": { + "item": "galacticraft:desh_leggings" + }, + "result": { + "count": 1, + "id": "galacticraft:titanium_leggings" + }, + "template": { + "item": "galacticraft:titanium_upgrade_smithing_template" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/titanium_nugget.json b/src/main/generated/data/galacticraft/recipe/titanium_nugget.json new file mode 100644 index 0000000000..0552cb54c7 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/titanium_nugget.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "galacticraft:titanium_ingot" + } + ], + "result": { + "count": 9, + "id": "galacticraft:titanium_nugget" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/titanium_pickaxe_smithing.json b/src/main/generated/data/galacticraft/recipe/titanium_pickaxe_smithing.json new file mode 100644 index 0000000000..aa913b90f3 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/titanium_pickaxe_smithing.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:smithing_transform", + "addition": { + "item": "galacticraft:compressed_titanium" + }, + "base": { + "item": "galacticraft:desh_pickaxe" + }, + "result": { + "count": 1, + "id": "galacticraft:titanium_pickaxe" + }, + "template": { + "item": "galacticraft:titanium_upgrade_smithing_template" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/titanium_shovel_smithing.json b/src/main/generated/data/galacticraft/recipe/titanium_shovel_smithing.json new file mode 100644 index 0000000000..4893343ff0 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/titanium_shovel_smithing.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:smithing_transform", + "addition": { + "item": "galacticraft:compressed_titanium" + }, + "base": { + "item": "galacticraft:desh_shovel" + }, + "result": { + "count": 1, + "id": "galacticraft:titanium_shovel" + }, + "template": { + "item": "galacticraft:titanium_upgrade_smithing_template" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/titanium_sword_smithing.json b/src/main/generated/data/galacticraft/recipe/titanium_sword_smithing.json new file mode 100644 index 0000000000..ac4b76990d --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/titanium_sword_smithing.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:smithing_transform", + "addition": { + "item": "galacticraft:compressed_titanium" + }, + "base": { + "item": "galacticraft:desh_sword" + }, + "result": { + "count": 1, + "id": "galacticraft:titanium_sword" + }, + "template": { + "item": "galacticraft:titanium_upgrade_smithing_template" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/vacuum_glass.json b/src/main/generated/data/galacticraft/recipe/vacuum_glass.json new file mode 100644 index 0000000000..df121a57e6 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/vacuum_glass.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "G": { + "item": "minecraft:glass" + }, + "T": { + "item": "galacticraft:tin_ingot" + } + }, + "pattern": [ + "TGT", + "GGG", + "TGT" + ], + "result": { + "count": 1, + "id": "galacticraft:vacuum_glass" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/vacuum_glass_clear.json b/src/main/generated/data/galacticraft/recipe/vacuum_glass_clear.json new file mode 100644 index 0000000000..10bdd9f06b --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/vacuum_glass_clear.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "A": { + "item": "galacticraft:aluminum_ingot" + }, + "G": { + "item": "minecraft:glass" + } + }, + "pattern": [ + "AGA", + "GGG", + "AGA" + ], + "result": { + "count": 1, + "id": "galacticraft:vacuum_glass_clear" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/vacuum_glass_strong.json b/src/main/generated/data/galacticraft/recipe/vacuum_glass_strong.json new file mode 100644 index 0000000000..5f98eab9a4 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/vacuum_glass_strong.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "A": { + "item": "galacticraft:compressed_aluminum" + }, + "G": { + "item": "minecraft:glass" + } + }, + "pattern": [ + "AGA", + "GGG", + "AGA" + ], + "result": { + "count": 1, + "id": "galacticraft:vacuum_glass_strong" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/walkway.json b/src/main/generated/data/galacticraft/recipe/walkway.json new file mode 100644 index 0000000000..c5164c2ad7 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/walkway.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "T": { + "item": "galacticraft:compressed_titanium" + } + }, + "pattern": [ + "TTT", + " T " + ], + "result": { + "count": 5, + "id": "galacticraft:walkway" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/white_parachute.json b/src/main/generated/data/galacticraft/recipe/white_parachute.json new file mode 100644 index 0000000000..31e77deb6f --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/white_parachute.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "galacticraft:canvas" + }, + "S": { + "item": "minecraft:string" + } + }, + "pattern": [ + "CCC", + "S S", + " S " + ], + "result": { + "count": 1, + "id": "galacticraft:white_parachute" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/wire_walkway.json b/src/main/generated/data/galacticraft/recipe/wire_walkway.json new file mode 100644 index 0000000000..9fbae4b170 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/wire_walkway.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "T": { + "item": "galacticraft:compressed_titanium" + }, + "W": { + "item": "galacticraft:aluminum_wire" + } + }, + "pattern": [ + "TTT", + "WTW", + "WWW" + ], + "result": { + "count": 5, + "id": "galacticraft:wire_walkway" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/wire_walkway_shapeless.json b/src/main/generated/data/galacticraft/recipe/wire_walkway_shapeless.json new file mode 100644 index 0000000000..cb131b92f0 --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/wire_walkway_shapeless.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "galacticraft:compressed_titanium" + }, + { + "item": "galacticraft:aluminum_wire" + } + ], + "result": { + "count": 1, + "id": "galacticraft:wire_walkway" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipe/yellow_parachute.json b/src/main/generated/data/galacticraft/recipe/yellow_parachute.json new file mode 100644 index 0000000000..3057213faa --- /dev/null +++ b/src/main/generated/data/galacticraft/recipe/yellow_parachute.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "galacticraft:white_parachute" + }, + { + "item": "minecraft:yellow_dye" + } + ], + "result": { + "count": 1, + "id": "galacticraft:yellow_parachute" + } +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/advanced_solar_panel.json b/src/main/generated/data/galacticraft/recipes/advanced_solar_panel.json deleted file mode 100644 index a2531f6c04..0000000000 --- a/src/main/generated/data/galacticraft/recipes/advanced_solar_panel.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "A": { - "item": "galacticraft:advanced_wafer" - }, - "F": { - "item": "galacticraft:full_solar_panel" - }, - "P": { - "item": "galacticraft:steel_pole" - }, - "S": { - "item": "galacticraft:compressed_steel" - }, - "W": { - "item": "galacticraft:heavy_sealable_aluminum_wire" - } - }, - "pattern": [ - "SFS", - "SPS", - "WAW" - ], - "result": { - "item": "galacticraft:advanced_solar_panel" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/aluminum_decoration.json b/src/main/generated/data/galacticraft/recipes/aluminum_decoration.json deleted file mode 100644 index cc71ca3502..0000000000 --- a/src/main/generated/data/galacticraft/recipes/aluminum_decoration.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "minecraft:stone" - }, - "X": { - "item": "galacticraft:compressed_aluminum" - } - }, - "pattern": [ - "## ", - "##X" - ], - "result": { - "item": "galacticraft:aluminum_decoration" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/aluminum_decoration_slab.json b/src/main/generated/data/galacticraft/recipes/aluminum_decoration_slab.json deleted file mode 100644 index e90cd51ba7..0000000000 --- a/src/main/generated/data/galacticraft/recipes/aluminum_decoration_slab.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:aluminum_decoration" - } - }, - "pattern": [ - "###" - ], - "result": { - "count": 6, - "item": "galacticraft:aluminum_decoration_slab" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/aluminum_decoration_stairs.json b/src/main/generated/data/galacticraft/recipes/aluminum_decoration_stairs.json deleted file mode 100644 index c1f95b667d..0000000000 --- a/src/main/generated/data/galacticraft/recipes/aluminum_decoration_stairs.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:aluminum_decoration" - } - }, - "pattern": [ - "# ", - "## ", - "###" - ], - "result": { - "count": 4, - "item": "galacticraft:aluminum_decoration_stairs" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/aluminum_decoration_wall.json b/src/main/generated/data/galacticraft/recipes/aluminum_decoration_wall.json deleted file mode 100644 index 14e8f3bd94..0000000000 --- a/src/main/generated/data/galacticraft/recipes/aluminum_decoration_wall.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:aluminum_decoration" - } - }, - "pattern": [ - "###", - "###" - ], - "result": { - "count": 6, - "item": "galacticraft:aluminum_decoration_wall" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/aluminum_ingot_from_blasting_aluminum_ore.json b/src/main/generated/data/galacticraft/recipes/aluminum_ingot_from_blasting_aluminum_ore.json deleted file mode 100644 index 2542ed3609..0000000000 --- a/src/main/generated/data/galacticraft/recipes/aluminum_ingot_from_blasting_aluminum_ore.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "type": "minecraft:blasting", - "category": "misc", - "cookingtime": 100, - "experience": 0.7, - "group": "aluminum_ingot", - "ingredient": { - "item": "galacticraft:aluminum_ore" - }, - "result": "galacticraft:aluminum_ingot" -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/aluminum_ingot_from_blasting_deepslate_aluminum_ore.json b/src/main/generated/data/galacticraft/recipes/aluminum_ingot_from_blasting_deepslate_aluminum_ore.json deleted file mode 100644 index 95865216a1..0000000000 --- a/src/main/generated/data/galacticraft/recipes/aluminum_ingot_from_blasting_deepslate_aluminum_ore.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "type": "minecraft:blasting", - "category": "misc", - "cookingtime": 100, - "experience": 0.7, - "group": "aluminum_ingot", - "ingredient": { - "item": "galacticraft:deepslate_aluminum_ore" - }, - "result": "galacticraft:aluminum_ingot" -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/aluminum_ingot_from_blasting_raw_aluminum.json b/src/main/generated/data/galacticraft/recipes/aluminum_ingot_from_blasting_raw_aluminum.json deleted file mode 100644 index 206dd44a4d..0000000000 --- a/src/main/generated/data/galacticraft/recipes/aluminum_ingot_from_blasting_raw_aluminum.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "type": "minecraft:blasting", - "category": "misc", - "cookingtime": 100, - "experience": 0.7, - "group": "aluminum_ingot", - "ingredient": { - "item": "galacticraft:raw_aluminum" - }, - "result": "galacticraft:aluminum_ingot" -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/aluminum_ingot_from_nuggets.json b/src/main/generated/data/galacticraft/recipes/aluminum_ingot_from_nuggets.json deleted file mode 100644 index 6a093f01f7..0000000000 --- a/src/main/generated/data/galacticraft/recipes/aluminum_ingot_from_nuggets.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "group": "aluminum_ingot", - "key": { - "#": { - "item": "galacticraft:aluminum_nugget" - } - }, - "pattern": [ - "###", - "###", - "###" - ], - "result": { - "item": "galacticraft:aluminum_ingot" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/aluminum_ingot_from_smelting_aluminum_ore.json b/src/main/generated/data/galacticraft/recipes/aluminum_ingot_from_smelting_aluminum_ore.json deleted file mode 100644 index dee62a4395..0000000000 --- a/src/main/generated/data/galacticraft/recipes/aluminum_ingot_from_smelting_aluminum_ore.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "type": "minecraft:smelting", - "category": "misc", - "cookingtime": 200, - "experience": 0.7, - "group": "aluminum_ingot", - "ingredient": { - "item": "galacticraft:aluminum_ore" - }, - "result": "galacticraft:aluminum_ingot" -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/aluminum_ingot_from_smelting_deepslate_aluminum_ore.json b/src/main/generated/data/galacticraft/recipes/aluminum_ingot_from_smelting_deepslate_aluminum_ore.json deleted file mode 100644 index e4fd27e6bf..0000000000 --- a/src/main/generated/data/galacticraft/recipes/aluminum_ingot_from_smelting_deepslate_aluminum_ore.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "type": "minecraft:smelting", - "category": "misc", - "cookingtime": 200, - "experience": 0.7, - "group": "aluminum_ingot", - "ingredient": { - "item": "galacticraft:deepslate_aluminum_ore" - }, - "result": "galacticraft:aluminum_ingot" -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/aluminum_ingot_from_smelting_raw_aluminum.json b/src/main/generated/data/galacticraft/recipes/aluminum_ingot_from_smelting_raw_aluminum.json deleted file mode 100644 index 46ba8f4f9b..0000000000 --- a/src/main/generated/data/galacticraft/recipes/aluminum_ingot_from_smelting_raw_aluminum.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "type": "minecraft:smelting", - "category": "misc", - "cookingtime": 200, - "experience": 0.7, - "group": "aluminum_ingot", - "ingredient": { - "item": "galacticraft:raw_aluminum" - }, - "result": "galacticraft:aluminum_ingot" -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/aluminum_nugget.json b/src/main/generated/data/galacticraft/recipes/aluminum_nugget.json deleted file mode 100644 index ff549410f5..0000000000 --- a/src/main/generated/data/galacticraft/recipes/aluminum_nugget.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "item": "galacticraft:aluminum_ingot" - } - ], - "result": { - "count": 9, - "item": "galacticraft:aluminum_nugget" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/aluminum_wire.json b/src/main/generated/data/galacticraft/recipes/aluminum_wire.json deleted file mode 100644 index 5261febd68..0000000000 --- a/src/main/generated/data/galacticraft/recipes/aluminum_wire.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "A": { - "item": "galacticraft:aluminum_ingot" - }, - "W": { - "item": "minecraft:white_wool" - } - }, - "pattern": [ - "WWW", - "AAA", - "WWW" - ], - "result": { - "count": 6, - "item": "galacticraft:aluminum_wire" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/ambient_thermal_controller.json b/src/main/generated/data/galacticraft/recipes/ambient_thermal_controller.json deleted file mode 100644 index bea870f587..0000000000 --- a/src/main/generated/data/galacticraft/recipes/ambient_thermal_controller.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "B": { - "item": "galacticraft:compressed_bronze" - }, - "R": { - "tag": "c:redstone_dusts" - }, - "S": { - "item": "galacticraft:compressed_steel" - }, - "V": { - "item": "galacticraft:oxygen_vent" - }, - "W": { - "item": "galacticraft:basic_wafer" - } - }, - "pattern": [ - "RVR", - "BSB", - "BWB" - ], - "result": { - "item": "galacticraft:ambient_thermal_controller" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/atmospheric_valve.json b/src/main/generated/data/galacticraft/recipes/atmospheric_valve.json deleted file mode 100644 index 252930f06d..0000000000 --- a/src/main/generated/data/galacticraft/recipes/atmospheric_valve.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "D": { - "item": "galacticraft:desh_ingot" - }, - "V": { - "item": "galacticraft:oxygen_vent" - } - }, - "pattern": [ - "DVD", - " D " - ], - "result": { - "item": "galacticraft:atmospheric_valve" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/basic_solar_panel.json b/src/main/generated/data/galacticraft/recipes/basic_solar_panel.json deleted file mode 100644 index 0a5613ef50..0000000000 --- a/src/main/generated/data/galacticraft/recipes/basic_solar_panel.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "B": { - "item": "galacticraft:basic_wafer" - }, - "F": { - "item": "galacticraft:full_solar_panel" - }, - "P": { - "item": "galacticraft:steel_pole" - }, - "S": { - "item": "galacticraft:compressed_steel" - }, - "W": { - "item": "galacticraft:aluminum_wire" - } - }, - "pattern": [ - "SFS", - "SPS", - "WBW" - ], - "result": { - "item": "galacticraft:basic_solar_panel" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/battery.json b/src/main/generated/data/galacticraft/recipes/battery.json deleted file mode 100644 index 49168e568d..0000000000 --- a/src/main/generated/data/galacticraft/recipes/battery.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "C": { - "tag": "c:coal" - }, - "R": { - "tag": "c:redstone_dusts" - }, - "T": { - "item": "galacticraft:compressed_tin" - } - }, - "pattern": [ - " T ", - "TRT", - "TCT" - ], - "result": { - "item": "galacticraft:battery" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/beam_core.json b/src/main/generated/data/galacticraft/recipes/beam_core.json deleted file mode 100644 index 5492ab7bcd..0000000000 --- a/src/main/generated/data/galacticraft/recipes/beam_core.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "G": { - "tag": "c:glass_panes" - }, - "I": { - "tag": "c:compressed_iron" - }, - "R": { - "tag": "c:redstone_dusts" - } - }, - "pattern": [ - "RIR", - "IGI", - "RIR" - ], - "result": { - "item": "galacticraft:beam_core" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/beef_patty_from_campfire_cooking.json b/src/main/generated/data/galacticraft/recipes/beef_patty_from_campfire_cooking.json deleted file mode 100644 index 67d08732b6..0000000000 --- a/src/main/generated/data/galacticraft/recipes/beef_patty_from_campfire_cooking.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "type": "minecraft:campfire_cooking", - "category": "food", - "cookingtime": 600, - "experience": 1.0, - "ingredient": { - "item": "galacticraft:ground_beef" - }, - "result": "galacticraft:beef_patty" -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/beef_patty_from_smelting.json b/src/main/generated/data/galacticraft/recipes/beef_patty_from_smelting.json deleted file mode 100644 index ac609843ef..0000000000 --- a/src/main/generated/data/galacticraft/recipes/beef_patty_from_smelting.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "type": "minecraft:smelting", - "category": "food", - "cookingtime": 200, - "experience": 1.0, - "ingredient": { - "item": "galacticraft:ground_beef" - }, - "result": "galacticraft:beef_patty" -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/beef_patty_from_smoking.json b/src/main/generated/data/galacticraft/recipes/beef_patty_from_smoking.json deleted file mode 100644 index 6e22abde8b..0000000000 --- a/src/main/generated/data/galacticraft/recipes/beef_patty_from_smoking.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "type": "minecraft:smoking", - "category": "food", - "cookingtime": 100, - "experience": 1.0, - "ingredient": { - "item": "galacticraft:ground_beef" - }, - "result": "galacticraft:beef_patty" -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/black_parachute.json b/src/main/generated/data/galacticraft/recipes/black_parachute.json deleted file mode 100644 index e8e73a64c7..0000000000 --- a/src/main/generated/data/galacticraft/recipes/black_parachute.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "item": "galacticraft:white_parachute" - }, - { - "item": "minecraft:black_dye" - } - ], - "result": { - "item": "galacticraft:black_parachute" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/blue_parachute.json b/src/main/generated/data/galacticraft/recipes/blue_parachute.json deleted file mode 100644 index aa4a3de73b..0000000000 --- a/src/main/generated/data/galacticraft/recipes/blue_parachute.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "item": "galacticraft:white_parachute" - }, - { - "item": "minecraft:blue_dye" - } - ], - "result": { - "item": "galacticraft:blue_parachute" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/bronze_decoration.json b/src/main/generated/data/galacticraft/recipes/bronze_decoration.json deleted file mode 100644 index 4c7cbb70d6..0000000000 --- a/src/main/generated/data/galacticraft/recipes/bronze_decoration.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "minecraft:stone" - }, - "X": { - "item": "galacticraft:compressed_bronze" - } - }, - "pattern": [ - "## ", - "##X" - ], - "result": { - "item": "galacticraft:bronze_decoration" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/bronze_decoration_slab.json b/src/main/generated/data/galacticraft/recipes/bronze_decoration_slab.json deleted file mode 100644 index 911a26b7da..0000000000 --- a/src/main/generated/data/galacticraft/recipes/bronze_decoration_slab.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:bronze_decoration" - } - }, - "pattern": [ - "###" - ], - "result": { - "count": 6, - "item": "galacticraft:bronze_decoration_slab" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/bronze_decoration_stairs.json b/src/main/generated/data/galacticraft/recipes/bronze_decoration_stairs.json deleted file mode 100644 index 72b43fd6e7..0000000000 --- a/src/main/generated/data/galacticraft/recipes/bronze_decoration_stairs.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:bronze_decoration" - } - }, - "pattern": [ - "# ", - "## ", - "###" - ], - "result": { - "count": 4, - "item": "galacticraft:bronze_decoration_stairs" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/bronze_decoration_wall.json b/src/main/generated/data/galacticraft/recipes/bronze_decoration_wall.json deleted file mode 100644 index dbd61400ad..0000000000 --- a/src/main/generated/data/galacticraft/recipes/bronze_decoration_wall.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:bronze_decoration" - } - }, - "pattern": [ - "###", - "###" - ], - "result": { - "count": 6, - "item": "galacticraft:bronze_decoration_wall" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/brown_parachute.json b/src/main/generated/data/galacticraft/recipes/brown_parachute.json deleted file mode 100644 index 9b9a78602b..0000000000 --- a/src/main/generated/data/galacticraft/recipes/brown_parachute.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "item": "galacticraft:white_parachute" - }, - { - "item": "minecraft:brown_dye" - } - ], - "result": { - "item": "galacticraft:brown_parachute" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/burger_bun.json b/src/main/generated/data/galacticraft/recipes/burger_bun.json deleted file mode 100644 index 8d781b5a2b..0000000000 --- a/src/main/generated/data/galacticraft/recipes/burger_bun.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "item": "minecraft:wheat" - }, - { - "item": "minecraft:wheat" - }, - { - "item": "minecraft:egg" - }, - { - "item": "minecraft:milk_bucket" - } - ], - "result": { - "count": 2, - "item": "galacticraft:burger_bun" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/canvas.json b/src/main/generated/data/galacticraft/recipes/canvas.json deleted file mode 100644 index 7f1cee7ee8..0000000000 --- a/src/main/generated/data/galacticraft/recipes/canvas.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "I": { - "item": "minecraft:stick" - }, - "S": { - "item": "minecraft:string" - } - }, - "pattern": [ - "SSI", - "SSS", - "ISS" - ], - "result": { - "item": "galacticraft:canvas" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/carbon_fragments_from_charcoal.json b/src/main/generated/data/galacticraft/recipes/carbon_fragments_from_charcoal.json deleted file mode 100644 index 99ed8dbbf7..0000000000 --- a/src/main/generated/data/galacticraft/recipes/carbon_fragments_from_charcoal.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "item": "minecraft:charcoal" - } - ], - "result": { - "count": 3, - "item": "galacticraft:carbon_fragments" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/carbon_fragments_from_coal.json b/src/main/generated/data/galacticraft/recipes/carbon_fragments_from_coal.json deleted file mode 100644 index 99fac6a009..0000000000 --- a/src/main/generated/data/galacticraft/recipes/carbon_fragments_from_coal.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "tag": "c:coal" - } - ], - "result": { - "count": 3, - "item": "galacticraft:carbon_fragments" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/carbon_fragments_from_smelting_planks.json b/src/main/generated/data/galacticraft/recipes/carbon_fragments_from_smelting_planks.json deleted file mode 100644 index 04ca2527c3..0000000000 --- a/src/main/generated/data/galacticraft/recipes/carbon_fragments_from_smelting_planks.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "type": "minecraft:smelting", - "category": "misc", - "cookingtime": 200, - "experience": 0.1, - "ingredient": { - "tag": "minecraft:planks" - }, - "result": "galacticraft:carbon_fragments" -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/cheese_slice.json b/src/main/generated/data/galacticraft/recipes/cheese_slice.json deleted file mode 100644 index 26478f6d59..0000000000 --- a/src/main/generated/data/galacticraft/recipes/cheese_slice.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "item": "galacticraft:moon_cheese_block" - } - ], - "result": { - "count": 6, - "item": "galacticraft:cheese_slice" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/cheeseburger.json b/src/main/generated/data/galacticraft/recipes/cheeseburger.json deleted file mode 100644 index 04eb2f3c92..0000000000 --- a/src/main/generated/data/galacticraft/recipes/cheeseburger.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "item": "galacticraft:cheese_slice" - }, - { - "item": "galacticraft:beef_patty" - }, - { - "item": "galacticraft:burger_bun" - } - ], - "result": { - "item": "galacticraft:cheeseburger" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/circuit_fabricator.json b/src/main/generated/data/galacticraft/recipes/circuit_fabricator.json deleted file mode 100644 index 53c61ce223..0000000000 --- a/src/main/generated/data/galacticraft/recipes/circuit_fabricator.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "A": { - "item": "galacticraft:aluminum_ingot" - }, - "B": { - "item": "minecraft:stone_button" - }, - "F": { - "item": "minecraft:furnace" - }, - "L": { - "item": "minecraft:lever" - }, - "R": { - "item": "minecraft:redstone_torch" - }, - "W": { - "item": "galacticraft:aluminum_wire" - } - }, - "pattern": [ - "ALA", - "BFB", - "WRW" - ], - "result": { - "item": "galacticraft:circuit_fabricator" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/coal_generator.json b/src/main/generated/data/galacticraft/recipes/coal_generator.json deleted file mode 100644 index fd3258a36c..0000000000 --- a/src/main/generated/data/galacticraft/recipes/coal_generator.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "A": { - "item": "galacticraft:aluminum_ingot" - }, - "C": { - "tag": "c:copper_ingots" - }, - "F": { - "item": "minecraft:furnace" - }, - "W": { - "item": "galacticraft:aluminum_wire" - } - }, - "pattern": [ - "CCC", - "AFA", - "AWA" - ], - "result": { - "item": "galacticraft:coal_generator" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/cobbled_lunaslate_slab.json b/src/main/generated/data/galacticraft/recipes/cobbled_lunaslate_slab.json deleted file mode 100644 index f8b7d05ee4..0000000000 --- a/src/main/generated/data/galacticraft/recipes/cobbled_lunaslate_slab.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:cobbled_lunaslate" - } - }, - "pattern": [ - "###" - ], - "result": { - "count": 6, - "item": "galacticraft:cobbled_lunaslate_slab" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/cobbled_lunaslate_stairs.json b/src/main/generated/data/galacticraft/recipes/cobbled_lunaslate_stairs.json deleted file mode 100644 index 4a2224b93d..0000000000 --- a/src/main/generated/data/galacticraft/recipes/cobbled_lunaslate_stairs.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:cobbled_lunaslate" - } - }, - "pattern": [ - "# ", - "## ", - "###" - ], - "result": { - "count": 4, - "item": "galacticraft:cobbled_lunaslate_stairs" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/cobbled_lunaslate_wall.json b/src/main/generated/data/galacticraft/recipes/cobbled_lunaslate_wall.json deleted file mode 100644 index 9e0905f022..0000000000 --- a/src/main/generated/data/galacticraft/recipes/cobbled_lunaslate_wall.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:cobbled_lunaslate" - } - }, - "pattern": [ - "###", - "###" - ], - "result": { - "count": 6, - "item": "galacticraft:cobbled_lunaslate_wall" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/compressing/compressed_aluminum.json b/src/main/generated/data/galacticraft/recipes/compressing/compressed_aluminum.json deleted file mode 100644 index b552da2177..0000000000 --- a/src/main/generated/data/galacticraft/recipes/compressing/compressed_aluminum.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "galacticraft:compressing_shapeless", - "ingredients": [ - { - "tag": "c:aluminum_ingots" - }, - { - "tag": "c:aluminum_ingots" - } - ], - "result": { - "item": "galacticraft:compressed_aluminum" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/compressing/compressed_copper.json b/src/main/generated/data/galacticraft/recipes/compressing/compressed_copper.json deleted file mode 100644 index daebd240d9..0000000000 --- a/src/main/generated/data/galacticraft/recipes/compressing/compressed_copper.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "galacticraft:compressing_shapeless", - "ingredients": [ - { - "tag": "c:copper_ingots" - }, - { - "tag": "c:copper_ingots" - } - ], - "result": { - "item": "galacticraft:compressed_copper" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/compressing/compressed_desh.json b/src/main/generated/data/galacticraft/recipes/compressing/compressed_desh.json deleted file mode 100644 index 5f085da8eb..0000000000 --- a/src/main/generated/data/galacticraft/recipes/compressing/compressed_desh.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "type": "galacticraft:compressing_shapeless", - "ingredients": [ - { - "item": "galacticraft:desh_ingot" - } - ], - "result": { - "item": "galacticraft:compressed_desh" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/compressing/compressed_iron.json b/src/main/generated/data/galacticraft/recipes/compressing/compressed_iron.json deleted file mode 100644 index f62fcd8e0e..0000000000 --- a/src/main/generated/data/galacticraft/recipes/compressing/compressed_iron.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "galacticraft:compressing_shapeless", - "ingredients": [ - { - "tag": "c:iron_ingots" - }, - { - "tag": "c:iron_ingots" - } - ], - "result": { - "item": "galacticraft:compressed_iron" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/compressing/compressed_meteoric_iron.json b/src/main/generated/data/galacticraft/recipes/compressing/compressed_meteoric_iron.json deleted file mode 100644 index 2b30cf968e..0000000000 --- a/src/main/generated/data/galacticraft/recipes/compressing/compressed_meteoric_iron.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "type": "galacticraft:compressing_shapeless", - "ingredients": [ - { - "item": "galacticraft:meteoric_iron_ingot" - } - ], - "result": { - "item": "galacticraft:compressed_meteoric_iron" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/compressing/compressed_steel.json b/src/main/generated/data/galacticraft/recipes/compressing/compressed_steel.json deleted file mode 100644 index f7c5c6a44a..0000000000 --- a/src/main/generated/data/galacticraft/recipes/compressing/compressed_steel.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "galacticraft:compressing_shapeless", - "ingredients": [ - { - "tag": "c:coal" - }, - { - "item": "galacticraft:compressed_iron" - }, - { - "tag": "c:coal" - } - ], - "result": { - "item": "galacticraft:compressed_steel" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/compressing/compressed_steel_from_ingots.json b/src/main/generated/data/galacticraft/recipes/compressing/compressed_steel_from_ingots.json deleted file mode 100644 index 79eb65b727..0000000000 --- a/src/main/generated/data/galacticraft/recipes/compressing/compressed_steel_from_ingots.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "galacticraft:compressing_shapeless", - "ingredients": [ - { - "tag": "c:steel_ingots" - }, - { - "tag": "c:steel_ingots" - } - ], - "result": { - "item": "galacticraft:compressed_steel" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/compressing/compressed_tin.json b/src/main/generated/data/galacticraft/recipes/compressing/compressed_tin.json deleted file mode 100644 index ab9a697fb9..0000000000 --- a/src/main/generated/data/galacticraft/recipes/compressing/compressed_tin.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "galacticraft:compressing_shapeless", - "ingredients": [ - { - "tag": "c:tin_ingots" - }, - { - "tag": "c:tin_ingots" - } - ], - "result": { - "item": "galacticraft:compressed_tin" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/compressing/compressed_titanium.json b/src/main/generated/data/galacticraft/recipes/compressing/compressed_titanium.json deleted file mode 100644 index e120741ccb..0000000000 --- a/src/main/generated/data/galacticraft/recipes/compressing/compressed_titanium.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "galacticraft:compressing_shapeless", - "ingredients": [ - { - "item": "galacticraft:titanium_ingot" - }, - { - "item": "galacticraft:titanium_ingot" - } - ], - "result": { - "item": "galacticraft:compressed_titanium" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/compressing/heavy_plating.json b/src/main/generated/data/galacticraft/recipes/compressing/heavy_plating.json deleted file mode 100644 index 1ea4c1a22b..0000000000 --- a/src/main/generated/data/galacticraft/recipes/compressing/heavy_plating.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "type": "galacticraft:compressing_shaped", - "key": { - "A": { - "item": "galacticraft:compressed_aluminum" - }, - "B": { - "item": "galacticraft:compressed_bronze" - }, - "S": { - "item": "galacticraft:compressed_steel" - } - }, - "pattern": [ - "BAS", - "BAS" - ], - "result": { - "Count": 2, - "id": "galacticraft:heavy_plating" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/compressing/heavy_plating_flipped.json b/src/main/generated/data/galacticraft/recipes/compressing/heavy_plating_flipped.json deleted file mode 100644 index 293a1be516..0000000000 --- a/src/main/generated/data/galacticraft/recipes/compressing/heavy_plating_flipped.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "type": "galacticraft:compressing_shaped", - "key": { - "A": { - "item": "galacticraft:compressed_aluminum" - }, - "B": { - "item": "galacticraft:compressed_bronze" - }, - "S": { - "item": "galacticraft:compressed_steel" - } - }, - "pattern": [ - "SAB", - "SAB" - ], - "result": { - "Count": 2, - "id": "galacticraft:heavy_plating" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/compressing/heavy_plating_t2.json b/src/main/generated/data/galacticraft/recipes/compressing/heavy_plating_t2.json deleted file mode 100644 index 9fe35a2542..0000000000 --- a/src/main/generated/data/galacticraft/recipes/compressing/heavy_plating_t2.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "galacticraft:compressing_shapeless", - "ingredients": [ - { - "item": "galacticraft:heavy_plating" - }, - { - "item": "galacticraft:compressed_meteoric_iron" - } - ], - "result": { - "item": "galacticraft:heavy_plating_t2" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/compressing/heavy_plating_t3.json b/src/main/generated/data/galacticraft/recipes/compressing/heavy_plating_t3.json deleted file mode 100644 index 3fdc8ff556..0000000000 --- a/src/main/generated/data/galacticraft/recipes/compressing/heavy_plating_t3.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "galacticraft:compressing_shapeless", - "ingredients": [ - { - "item": "galacticraft:heavy_plating_t2" - }, - { - "item": "galacticraft:compressed_desh" - } - ], - "result": { - "item": "galacticraft:heavy_plating_t3" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/compressor.json b/src/main/generated/data/galacticraft/recipes/compressor.json deleted file mode 100644 index 94c77fca6f..0000000000 --- a/src/main/generated/data/galacticraft/recipes/compressor.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "A": { - "item": "minecraft:anvil" - }, - "C": { - "tag": "c:copper_ingots" - }, - "I": { - "item": "galacticraft:aluminum_ingot" - }, - "W": { - "item": "galacticraft:basic_wafer" - } - }, - "pattern": [ - "IAI", - "ICI", - "IWI" - ], - "result": { - "item": "galacticraft:compressor" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/copper_canister.json b/src/main/generated/data/galacticraft/recipes/copper_canister.json deleted file mode 100644 index b94cdf5306..0000000000 --- a/src/main/generated/data/galacticraft/recipes/copper_canister.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "X": { - "item": "minecraft:copper_ingot" - } - }, - "pattern": [ - "X X", - "X X", - "XXX" - ], - "result": { - "count": 2, - "item": "galacticraft:copper_canister" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/copper_decoration.json b/src/main/generated/data/galacticraft/recipes/copper_decoration.json deleted file mode 100644 index 8587954d34..0000000000 --- a/src/main/generated/data/galacticraft/recipes/copper_decoration.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "minecraft:stone" - }, - "X": { - "item": "galacticraft:compressed_copper" - } - }, - "pattern": [ - "## ", - "##X" - ], - "result": { - "item": "galacticraft:copper_decoration" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/copper_decoration_slab.json b/src/main/generated/data/galacticraft/recipes/copper_decoration_slab.json deleted file mode 100644 index 1f5282e4d9..0000000000 --- a/src/main/generated/data/galacticraft/recipes/copper_decoration_slab.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:copper_decoration" - } - }, - "pattern": [ - "###" - ], - "result": { - "count": 6, - "item": "galacticraft:copper_decoration_slab" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/copper_decoration_stairs.json b/src/main/generated/data/galacticraft/recipes/copper_decoration_stairs.json deleted file mode 100644 index 63a703a1f2..0000000000 --- a/src/main/generated/data/galacticraft/recipes/copper_decoration_stairs.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:copper_decoration" - } - }, - "pattern": [ - "# ", - "## ", - "###" - ], - "result": { - "count": 4, - "item": "galacticraft:copper_decoration_stairs" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/copper_decoration_wall.json b/src/main/generated/data/galacticraft/recipes/copper_decoration_wall.json deleted file mode 100644 index 6f3569ddec..0000000000 --- a/src/main/generated/data/galacticraft/recipes/copper_decoration_wall.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:copper_decoration" - } - }, - "pattern": [ - "###", - "###" - ], - "result": { - "count": 6, - "item": "galacticraft:copper_decoration_wall" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/copper_ingot_from_blasting_lunaslate_copper_ore.json b/src/main/generated/data/galacticraft/recipes/copper_ingot_from_blasting_lunaslate_copper_ore.json deleted file mode 100644 index baa83c9feb..0000000000 --- a/src/main/generated/data/galacticraft/recipes/copper_ingot_from_blasting_lunaslate_copper_ore.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "type": "minecraft:blasting", - "category": "misc", - "cookingtime": 100, - "experience": 0.7, - "group": "copper_ingot", - "ingredient": { - "item": "galacticraft:lunaslate_copper_ore" - }, - "result": "minecraft:copper_ingot" -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/copper_ingot_from_blasting_moon_copper_ore.json b/src/main/generated/data/galacticraft/recipes/copper_ingot_from_blasting_moon_copper_ore.json deleted file mode 100644 index 284ad84589..0000000000 --- a/src/main/generated/data/galacticraft/recipes/copper_ingot_from_blasting_moon_copper_ore.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "type": "minecraft:blasting", - "category": "misc", - "cookingtime": 100, - "experience": 0.7, - "group": "copper_ingot", - "ingredient": { - "item": "galacticraft:moon_copper_ore" - }, - "result": "minecraft:copper_ingot" -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/copper_ingot_from_smelting_lunaslate_copper_ore.json b/src/main/generated/data/galacticraft/recipes/copper_ingot_from_smelting_lunaslate_copper_ore.json deleted file mode 100644 index 55358ec57a..0000000000 --- a/src/main/generated/data/galacticraft/recipes/copper_ingot_from_smelting_lunaslate_copper_ore.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "type": "minecraft:smelting", - "category": "misc", - "cookingtime": 200, - "experience": 0.7, - "group": "copper_ingot", - "ingredient": { - "item": "galacticraft:lunaslate_copper_ore" - }, - "result": "minecraft:copper_ingot" -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/copper_ingot_from_smelting_moon_copper_ore.json b/src/main/generated/data/galacticraft/recipes/copper_ingot_from_smelting_moon_copper_ore.json deleted file mode 100644 index 5a9c8e6b93..0000000000 --- a/src/main/generated/data/galacticraft/recipes/copper_ingot_from_smelting_moon_copper_ore.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "type": "minecraft:smelting", - "category": "misc", - "cookingtime": 200, - "experience": 0.7, - "group": "copper_ingot", - "ingredient": { - "item": "galacticraft:moon_copper_ore" - }, - "result": "minecraft:copper_ingot" -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/cracked_moon_basalt_brick_slab.json b/src/main/generated/data/galacticraft/recipes/cracked_moon_basalt_brick_slab.json deleted file mode 100644 index 6cc850217a..0000000000 --- a/src/main/generated/data/galacticraft/recipes/cracked_moon_basalt_brick_slab.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:cracked_moon_basalt_brick" - } - }, - "pattern": [ - "###" - ], - "result": { - "count": 6, - "item": "galacticraft:cracked_moon_basalt_brick_slab" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/cracked_moon_basalt_brick_stairs.json b/src/main/generated/data/galacticraft/recipes/cracked_moon_basalt_brick_stairs.json deleted file mode 100644 index f425fc88bf..0000000000 --- a/src/main/generated/data/galacticraft/recipes/cracked_moon_basalt_brick_stairs.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:cracked_moon_basalt_brick" - } - }, - "pattern": [ - "# ", - "## ", - "###" - ], - "result": { - "count": 4, - "item": "galacticraft:cracked_moon_basalt_brick_stairs" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/cracked_moon_basalt_brick_wall.json b/src/main/generated/data/galacticraft/recipes/cracked_moon_basalt_brick_wall.json deleted file mode 100644 index b6d2043866..0000000000 --- a/src/main/generated/data/galacticraft/recipes/cracked_moon_basalt_brick_wall.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:cracked_moon_basalt_brick" - } - }, - "pattern": [ - "###", - "###" - ], - "result": { - "count": 6, - "item": "galacticraft:cracked_moon_basalt_brick_wall" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/cyan_parachute.json b/src/main/generated/data/galacticraft/recipes/cyan_parachute.json deleted file mode 100644 index e7e3d50a74..0000000000 --- a/src/main/generated/data/galacticraft/recipes/cyan_parachute.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "item": "galacticraft:white_parachute" - }, - { - "item": "minecraft:cyan_dye" - } - ], - "result": { - "item": "galacticraft:cyan_parachute" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/dark_decoration_slab.json b/src/main/generated/data/galacticraft/recipes/dark_decoration_slab.json deleted file mode 100644 index 45762625d7..0000000000 --- a/src/main/generated/data/galacticraft/recipes/dark_decoration_slab.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:dark_decoration" - } - }, - "pattern": [ - "###" - ], - "result": { - "count": 6, - "item": "galacticraft:dark_decoration_slab" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/dark_decoration_stairs.json b/src/main/generated/data/galacticraft/recipes/dark_decoration_stairs.json deleted file mode 100644 index 2feb1b81ef..0000000000 --- a/src/main/generated/data/galacticraft/recipes/dark_decoration_stairs.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:dark_decoration" - } - }, - "pattern": [ - "# ", - "## ", - "###" - ], - "result": { - "count": 4, - "item": "galacticraft:dark_decoration_stairs" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/dark_decoration_wall.json b/src/main/generated/data/galacticraft/recipes/dark_decoration_wall.json deleted file mode 100644 index 837bfe5709..0000000000 --- a/src/main/generated/data/galacticraft/recipes/dark_decoration_wall.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:dark_decoration" - } - }, - "pattern": [ - "###", - "###" - ], - "result": { - "count": 6, - "item": "galacticraft:dark_decoration_wall" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/dashed_light_panel.json b/src/main/generated/data/galacticraft/recipes/dashed_light_panel.json deleted file mode 100644 index c415645569..0000000000 --- a/src/main/generated/data/galacticraft/recipes/dashed_light_panel.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "G": { - "item": "galacticraft:glowstone_torch" - }, - "S": { - "item": "minecraft:glass_pane" - }, - "T": { - "item": "galacticraft:compressed_steel" - } - }, - "pattern": [ - "SGS", - " T " - ], - "result": { - "item": "galacticraft:dashed_light_panel" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/desh_axe.json b/src/main/generated/data/galacticraft/recipes/desh_axe.json deleted file mode 100644 index 4d0c3dee2b..0000000000 --- a/src/main/generated/data/galacticraft/recipes/desh_axe.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "equipment", - "key": { - "D": { - "item": "galacticraft:desh_ingot" - }, - "S": { - "item": "galacticraft:desh_stick" - } - }, - "pattern": [ - "DD", - "DS", - " S" - ], - "result": { - "item": "galacticraft:desh_axe" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/desh_axe_flipped.json b/src/main/generated/data/galacticraft/recipes/desh_axe_flipped.json deleted file mode 100644 index 3ee78a5ead..0000000000 --- a/src/main/generated/data/galacticraft/recipes/desh_axe_flipped.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "equipment", - "key": { - "D": { - "item": "galacticraft:desh_ingot" - }, - "S": { - "item": "galacticraft:desh_stick" - } - }, - "pattern": [ - "DD", - "SD", - "S " - ], - "result": { - "item": "galacticraft:desh_axe" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/desh_block.json b/src/main/generated/data/galacticraft/recipes/desh_block.json deleted file mode 100644 index 0f1e149a53..0000000000 --- a/src/main/generated/data/galacticraft/recipes/desh_block.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:desh_ingot" - } - }, - "pattern": [ - "###", - "###", - "###" - ], - "result": { - "item": "galacticraft:desh_block" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/desh_boots.json b/src/main/generated/data/galacticraft/recipes/desh_boots.json deleted file mode 100644 index c807ab93f8..0000000000 --- a/src/main/generated/data/galacticraft/recipes/desh_boots.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "D": { - "item": "galacticraft:desh_ingot" - } - }, - "pattern": [ - "D D", - "D D" - ], - "result": { - "item": "galacticraft:desh_boots" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/desh_chestplate.json b/src/main/generated/data/galacticraft/recipes/desh_chestplate.json deleted file mode 100644 index 2dc6a80e1f..0000000000 --- a/src/main/generated/data/galacticraft/recipes/desh_chestplate.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "D": { - "item": "galacticraft:desh_ingot" - } - }, - "pattern": [ - "D D", - "DDD", - "DDD" - ], - "result": { - "item": "galacticraft:desh_chestplate" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/desh_helmet.json b/src/main/generated/data/galacticraft/recipes/desh_helmet.json deleted file mode 100644 index 4d82a24696..0000000000 --- a/src/main/generated/data/galacticraft/recipes/desh_helmet.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "D": { - "item": "galacticraft:desh_ingot" - } - }, - "pattern": [ - "DDD", - "D D" - ], - "result": { - "item": "galacticraft:desh_helmet" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/desh_hoe.json b/src/main/generated/data/galacticraft/recipes/desh_hoe.json deleted file mode 100644 index d44abc18b3..0000000000 --- a/src/main/generated/data/galacticraft/recipes/desh_hoe.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "equipment", - "key": { - "D": { - "item": "galacticraft:desh_ingot" - }, - "S": { - "item": "galacticraft:desh_stick" - } - }, - "pattern": [ - "DD", - " S", - " S" - ], - "result": { - "item": "galacticraft:desh_hoe" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/desh_hoe_flipped.json b/src/main/generated/data/galacticraft/recipes/desh_hoe_flipped.json deleted file mode 100644 index 86dc39d162..0000000000 --- a/src/main/generated/data/galacticraft/recipes/desh_hoe_flipped.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "equipment", - "key": { - "D": { - "item": "galacticraft:desh_ingot" - }, - "S": { - "item": "galacticraft:desh_stick" - } - }, - "pattern": [ - "DD", - "S ", - "S " - ], - "result": { - "item": "galacticraft:desh_hoe" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/desh_ingot_from_blasting_desh_ore.json b/src/main/generated/data/galacticraft/recipes/desh_ingot_from_blasting_desh_ore.json deleted file mode 100644 index e616d8d5c1..0000000000 --- a/src/main/generated/data/galacticraft/recipes/desh_ingot_from_blasting_desh_ore.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "type": "minecraft:blasting", - "category": "misc", - "cookingtime": 100, - "experience": 0.7, - "group": "desh_ingot", - "ingredient": { - "item": "galacticraft:desh_ore" - }, - "result": "galacticraft:desh_ingot" -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/desh_ingot_from_blasting_raw_desh.json b/src/main/generated/data/galacticraft/recipes/desh_ingot_from_blasting_raw_desh.json deleted file mode 100644 index 4418a026c5..0000000000 --- a/src/main/generated/data/galacticraft/recipes/desh_ingot_from_blasting_raw_desh.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "type": "minecraft:blasting", - "category": "misc", - "cookingtime": 100, - "experience": 0.7, - "group": "desh_ingot", - "ingredient": { - "item": "galacticraft:raw_desh" - }, - "result": "galacticraft:desh_ingot" -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/desh_ingot_from_block.json b/src/main/generated/data/galacticraft/recipes/desh_ingot_from_block.json deleted file mode 100644 index 313e45db00..0000000000 --- a/src/main/generated/data/galacticraft/recipes/desh_ingot_from_block.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "group": "desh_ingot", - "ingredients": [ - { - "item": "galacticraft:desh_block" - } - ], - "result": { - "count": 9, - "item": "galacticraft:desh_ingot" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/desh_ingot_from_nuggets.json b/src/main/generated/data/galacticraft/recipes/desh_ingot_from_nuggets.json deleted file mode 100644 index a067580350..0000000000 --- a/src/main/generated/data/galacticraft/recipes/desh_ingot_from_nuggets.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "group": "desh_ingot", - "key": { - "#": { - "item": "galacticraft:desh_nugget" - } - }, - "pattern": [ - "###", - "###", - "###" - ], - "result": { - "item": "galacticraft:desh_ingot" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/desh_ingot_from_smelting_desh_ore.json b/src/main/generated/data/galacticraft/recipes/desh_ingot_from_smelting_desh_ore.json deleted file mode 100644 index 6e225c9787..0000000000 --- a/src/main/generated/data/galacticraft/recipes/desh_ingot_from_smelting_desh_ore.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "type": "minecraft:smelting", - "category": "misc", - "cookingtime": 200, - "experience": 0.7, - "group": "desh_ingot", - "ingredient": { - "item": "galacticraft:desh_ore" - }, - "result": "galacticraft:desh_ingot" -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/desh_ingot_from_smelting_raw_desh.json b/src/main/generated/data/galacticraft/recipes/desh_ingot_from_smelting_raw_desh.json deleted file mode 100644 index 55ad78b2c0..0000000000 --- a/src/main/generated/data/galacticraft/recipes/desh_ingot_from_smelting_raw_desh.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "type": "minecraft:smelting", - "category": "misc", - "cookingtime": 200, - "experience": 0.7, - "group": "desh_ingot", - "ingredient": { - "item": "galacticraft:raw_desh" - }, - "result": "galacticraft:desh_ingot" -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/desh_leggings.json b/src/main/generated/data/galacticraft/recipes/desh_leggings.json deleted file mode 100644 index bb20043cb9..0000000000 --- a/src/main/generated/data/galacticraft/recipes/desh_leggings.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "D": { - "item": "galacticraft:desh_ingot" - } - }, - "pattern": [ - "DDD", - "D D", - "D D" - ], - "result": { - "item": "galacticraft:desh_leggings" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/desh_nugget.json b/src/main/generated/data/galacticraft/recipes/desh_nugget.json deleted file mode 100644 index 6eda4af386..0000000000 --- a/src/main/generated/data/galacticraft/recipes/desh_nugget.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "item": "galacticraft:desh_ingot" - } - ], - "result": { - "count": 9, - "item": "galacticraft:desh_nugget" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/desh_pickaxe.json b/src/main/generated/data/galacticraft/recipes/desh_pickaxe.json deleted file mode 100644 index 4f612b2767..0000000000 --- a/src/main/generated/data/galacticraft/recipes/desh_pickaxe.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "equipment", - "key": { - "D": { - "item": "galacticraft:desh_ingot" - }, - "S": { - "item": "galacticraft:desh_stick" - } - }, - "pattern": [ - "DDD", - " S ", - " S " - ], - "result": { - "item": "galacticraft:desh_pickaxe" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/desh_shovel.json b/src/main/generated/data/galacticraft/recipes/desh_shovel.json deleted file mode 100644 index 254ac7d091..0000000000 --- a/src/main/generated/data/galacticraft/recipes/desh_shovel.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "equipment", - "key": { - "D": { - "item": "galacticraft:desh_ingot" - }, - "S": { - "item": "galacticraft:desh_stick" - } - }, - "pattern": [ - "D", - "S", - "S" - ], - "result": { - "item": "galacticraft:desh_shovel" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/desh_stick.json b/src/main/generated/data/galacticraft/recipes/desh_stick.json deleted file mode 100644 index d94d77ed66..0000000000 --- a/src/main/generated/data/galacticraft/recipes/desh_stick.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "D": { - "item": "galacticraft:desh_ingot" - } - }, - "pattern": [ - "D", - "D" - ], - "result": { - "count": 4, - "item": "galacticraft:desh_stick" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/desh_sword.json b/src/main/generated/data/galacticraft/recipes/desh_sword.json deleted file mode 100644 index 35ad6b9cf5..0000000000 --- a/src/main/generated/data/galacticraft/recipes/desh_sword.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "equipment", - "key": { - "D": { - "item": "galacticraft:desh_ingot" - }, - "S": { - "item": "galacticraft:desh_stick" - } - }, - "pattern": [ - "D", - "S", - "S" - ], - "result": { - "item": "galacticraft:desh_sword" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/detailed_aluminum_decoration.json b/src/main/generated/data/galacticraft/recipes/detailed_aluminum_decoration.json deleted file mode 100644 index 2505d287c2..0000000000 --- a/src/main/generated/data/galacticraft/recipes/detailed_aluminum_decoration.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "minecraft:stone" - }, - "X": { - "item": "galacticraft:compressed_aluminum" - } - }, - "pattern": [ - "##", - "##", - " X" - ], - "result": { - "item": "galacticraft:detailed_aluminum_decoration" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/detailed_aluminum_decoration_slab.json b/src/main/generated/data/galacticraft/recipes/detailed_aluminum_decoration_slab.json deleted file mode 100644 index e5e079bb3e..0000000000 --- a/src/main/generated/data/galacticraft/recipes/detailed_aluminum_decoration_slab.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:detailed_aluminum_decoration" - } - }, - "pattern": [ - "###" - ], - "result": { - "count": 6, - "item": "galacticraft:detailed_aluminum_decoration_slab" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/detailed_aluminum_decoration_stairs.json b/src/main/generated/data/galacticraft/recipes/detailed_aluminum_decoration_stairs.json deleted file mode 100644 index 99b3f0cf5a..0000000000 --- a/src/main/generated/data/galacticraft/recipes/detailed_aluminum_decoration_stairs.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:detailed_aluminum_decoration" - } - }, - "pattern": [ - "# ", - "## ", - "###" - ], - "result": { - "count": 4, - "item": "galacticraft:detailed_aluminum_decoration_stairs" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/detailed_aluminum_decoration_wall.json b/src/main/generated/data/galacticraft/recipes/detailed_aluminum_decoration_wall.json deleted file mode 100644 index f4d37ac057..0000000000 --- a/src/main/generated/data/galacticraft/recipes/detailed_aluminum_decoration_wall.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:detailed_aluminum_decoration" - } - }, - "pattern": [ - "###", - "###" - ], - "result": { - "count": 6, - "item": "galacticraft:detailed_aluminum_decoration_wall" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/detailed_bronze_decoration.json b/src/main/generated/data/galacticraft/recipes/detailed_bronze_decoration.json deleted file mode 100644 index a885ba1e86..0000000000 --- a/src/main/generated/data/galacticraft/recipes/detailed_bronze_decoration.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "minecraft:stone" - }, - "X": { - "item": "galacticraft:compressed_bronze" - } - }, - "pattern": [ - "##", - "##", - " X" - ], - "result": { - "item": "galacticraft:detailed_bronze_decoration" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/detailed_bronze_decoration_slab.json b/src/main/generated/data/galacticraft/recipes/detailed_bronze_decoration_slab.json deleted file mode 100644 index a0802cc5d8..0000000000 --- a/src/main/generated/data/galacticraft/recipes/detailed_bronze_decoration_slab.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:detailed_bronze_decoration" - } - }, - "pattern": [ - "###" - ], - "result": { - "count": 6, - "item": "galacticraft:detailed_bronze_decoration_slab" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/detailed_bronze_decoration_stairs.json b/src/main/generated/data/galacticraft/recipes/detailed_bronze_decoration_stairs.json deleted file mode 100644 index 30a0a543e4..0000000000 --- a/src/main/generated/data/galacticraft/recipes/detailed_bronze_decoration_stairs.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:detailed_bronze_decoration" - } - }, - "pattern": [ - "# ", - "## ", - "###" - ], - "result": { - "count": 4, - "item": "galacticraft:detailed_bronze_decoration_stairs" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/detailed_bronze_decoration_wall.json b/src/main/generated/data/galacticraft/recipes/detailed_bronze_decoration_wall.json deleted file mode 100644 index 6aab3c31eb..0000000000 --- a/src/main/generated/data/galacticraft/recipes/detailed_bronze_decoration_wall.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:detailed_bronze_decoration" - } - }, - "pattern": [ - "###", - "###" - ], - "result": { - "count": 6, - "item": "galacticraft:detailed_bronze_decoration_wall" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/detailed_copper_decoration.json b/src/main/generated/data/galacticraft/recipes/detailed_copper_decoration.json deleted file mode 100644 index 4df26c100f..0000000000 --- a/src/main/generated/data/galacticraft/recipes/detailed_copper_decoration.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "minecraft:stone" - }, - "X": { - "item": "galacticraft:compressed_copper" - } - }, - "pattern": [ - "##", - "##", - " X" - ], - "result": { - "item": "galacticraft:detailed_copper_decoration" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/detailed_copper_decoration_slab.json b/src/main/generated/data/galacticraft/recipes/detailed_copper_decoration_slab.json deleted file mode 100644 index 934c58e56b..0000000000 --- a/src/main/generated/data/galacticraft/recipes/detailed_copper_decoration_slab.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:detailed_copper_decoration" - } - }, - "pattern": [ - "###" - ], - "result": { - "count": 6, - "item": "galacticraft:detailed_copper_decoration_slab" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/detailed_copper_decoration_stairs.json b/src/main/generated/data/galacticraft/recipes/detailed_copper_decoration_stairs.json deleted file mode 100644 index d797999390..0000000000 --- a/src/main/generated/data/galacticraft/recipes/detailed_copper_decoration_stairs.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:detailed_copper_decoration" - } - }, - "pattern": [ - "# ", - "## ", - "###" - ], - "result": { - "count": 4, - "item": "galacticraft:detailed_copper_decoration_stairs" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/detailed_copper_decoration_wall.json b/src/main/generated/data/galacticraft/recipes/detailed_copper_decoration_wall.json deleted file mode 100644 index d4278d2282..0000000000 --- a/src/main/generated/data/galacticraft/recipes/detailed_copper_decoration_wall.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:detailed_copper_decoration" - } - }, - "pattern": [ - "###", - "###" - ], - "result": { - "count": 6, - "item": "galacticraft:detailed_copper_decoration_wall" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/detailed_dark_decoration_slab.json b/src/main/generated/data/galacticraft/recipes/detailed_dark_decoration_slab.json deleted file mode 100644 index 11a761028b..0000000000 --- a/src/main/generated/data/galacticraft/recipes/detailed_dark_decoration_slab.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:detailed_dark_decoration" - } - }, - "pattern": [ - "###" - ], - "result": { - "count": 6, - "item": "galacticraft:detailed_dark_decoration_slab" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/detailed_dark_decoration_stairs.json b/src/main/generated/data/galacticraft/recipes/detailed_dark_decoration_stairs.json deleted file mode 100644 index 71fd714bf4..0000000000 --- a/src/main/generated/data/galacticraft/recipes/detailed_dark_decoration_stairs.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:detailed_dark_decoration" - } - }, - "pattern": [ - "# ", - "## ", - "###" - ], - "result": { - "count": 4, - "item": "galacticraft:detailed_dark_decoration_stairs" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/detailed_dark_decoration_wall.json b/src/main/generated/data/galacticraft/recipes/detailed_dark_decoration_wall.json deleted file mode 100644 index a63d443fae..0000000000 --- a/src/main/generated/data/galacticraft/recipes/detailed_dark_decoration_wall.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:detailed_dark_decoration" - } - }, - "pattern": [ - "###", - "###" - ], - "result": { - "count": 6, - "item": "galacticraft:detailed_dark_decoration_wall" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/detailed_iron_decoration.json b/src/main/generated/data/galacticraft/recipes/detailed_iron_decoration.json deleted file mode 100644 index 57a579676a..0000000000 --- a/src/main/generated/data/galacticraft/recipes/detailed_iron_decoration.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "minecraft:stone" - }, - "X": { - "item": "galacticraft:compressed_iron" - } - }, - "pattern": [ - "##", - "##", - " X" - ], - "result": { - "item": "galacticraft:detailed_iron_decoration" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/detailed_iron_decoration_slab.json b/src/main/generated/data/galacticraft/recipes/detailed_iron_decoration_slab.json deleted file mode 100644 index c2e62873e2..0000000000 --- a/src/main/generated/data/galacticraft/recipes/detailed_iron_decoration_slab.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:detailed_iron_decoration" - } - }, - "pattern": [ - "###" - ], - "result": { - "count": 6, - "item": "galacticraft:detailed_iron_decoration_slab" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/detailed_iron_decoration_stairs.json b/src/main/generated/data/galacticraft/recipes/detailed_iron_decoration_stairs.json deleted file mode 100644 index b1b949ceab..0000000000 --- a/src/main/generated/data/galacticraft/recipes/detailed_iron_decoration_stairs.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:detailed_iron_decoration" - } - }, - "pattern": [ - "# ", - "## ", - "###" - ], - "result": { - "count": 4, - "item": "galacticraft:detailed_iron_decoration_stairs" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/detailed_iron_decoration_wall.json b/src/main/generated/data/galacticraft/recipes/detailed_iron_decoration_wall.json deleted file mode 100644 index 9f14bb9331..0000000000 --- a/src/main/generated/data/galacticraft/recipes/detailed_iron_decoration_wall.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:detailed_iron_decoration" - } - }, - "pattern": [ - "###", - "###" - ], - "result": { - "count": 6, - "item": "galacticraft:detailed_iron_decoration_wall" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/detailed_meteoric_iron_decoration.json b/src/main/generated/data/galacticraft/recipes/detailed_meteoric_iron_decoration.json deleted file mode 100644 index 9bb07807bf..0000000000 --- a/src/main/generated/data/galacticraft/recipes/detailed_meteoric_iron_decoration.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "minecraft:stone" - }, - "X": { - "item": "galacticraft:compressed_meteoric_iron" - } - }, - "pattern": [ - "##", - "##", - " X" - ], - "result": { - "item": "galacticraft:detailed_meteoric_iron_decoration" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/detailed_meteoric_iron_decoration_slab.json b/src/main/generated/data/galacticraft/recipes/detailed_meteoric_iron_decoration_slab.json deleted file mode 100644 index aaac00a6c5..0000000000 --- a/src/main/generated/data/galacticraft/recipes/detailed_meteoric_iron_decoration_slab.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:detailed_meteoric_iron_decoration" - } - }, - "pattern": [ - "###" - ], - "result": { - "count": 6, - "item": "galacticraft:detailed_meteoric_iron_decoration_slab" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/detailed_meteoric_iron_decoration_stairs.json b/src/main/generated/data/galacticraft/recipes/detailed_meteoric_iron_decoration_stairs.json deleted file mode 100644 index 3e4948332a..0000000000 --- a/src/main/generated/data/galacticraft/recipes/detailed_meteoric_iron_decoration_stairs.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:detailed_meteoric_iron_decoration" - } - }, - "pattern": [ - "# ", - "## ", - "###" - ], - "result": { - "count": 4, - "item": "galacticraft:detailed_meteoric_iron_decoration_stairs" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/detailed_meteoric_iron_decoration_wall.json b/src/main/generated/data/galacticraft/recipes/detailed_meteoric_iron_decoration_wall.json deleted file mode 100644 index 7f5bd65d8e..0000000000 --- a/src/main/generated/data/galacticraft/recipes/detailed_meteoric_iron_decoration_wall.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:detailed_meteoric_iron_decoration" - } - }, - "pattern": [ - "###", - "###" - ], - "result": { - "count": 6, - "item": "galacticraft:detailed_meteoric_iron_decoration_wall" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/detailed_steel_decoration.json b/src/main/generated/data/galacticraft/recipes/detailed_steel_decoration.json deleted file mode 100644 index eff446e377..0000000000 --- a/src/main/generated/data/galacticraft/recipes/detailed_steel_decoration.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "minecraft:stone" - }, - "X": { - "item": "galacticraft:compressed_steel" - } - }, - "pattern": [ - "##", - "##", - " X" - ], - "result": { - "item": "galacticraft:detailed_steel_decoration" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/detailed_steel_decoration_slab.json b/src/main/generated/data/galacticraft/recipes/detailed_steel_decoration_slab.json deleted file mode 100644 index 6816a451ca..0000000000 --- a/src/main/generated/data/galacticraft/recipes/detailed_steel_decoration_slab.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:detailed_steel_decoration" - } - }, - "pattern": [ - "###" - ], - "result": { - "count": 6, - "item": "galacticraft:detailed_steel_decoration_slab" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/detailed_steel_decoration_stairs.json b/src/main/generated/data/galacticraft/recipes/detailed_steel_decoration_stairs.json deleted file mode 100644 index b44aab3706..0000000000 --- a/src/main/generated/data/galacticraft/recipes/detailed_steel_decoration_stairs.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:detailed_steel_decoration" - } - }, - "pattern": [ - "# ", - "## ", - "###" - ], - "result": { - "count": 4, - "item": "galacticraft:detailed_steel_decoration_stairs" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/detailed_steel_decoration_wall.json b/src/main/generated/data/galacticraft/recipes/detailed_steel_decoration_wall.json deleted file mode 100644 index 8387e21c7d..0000000000 --- a/src/main/generated/data/galacticraft/recipes/detailed_steel_decoration_wall.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:detailed_steel_decoration" - } - }, - "pattern": [ - "###", - "###" - ], - "result": { - "count": 6, - "item": "galacticraft:detailed_steel_decoration_wall" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/detailed_tin_decoration.json b/src/main/generated/data/galacticraft/recipes/detailed_tin_decoration.json deleted file mode 100644 index 66240dbb63..0000000000 --- a/src/main/generated/data/galacticraft/recipes/detailed_tin_decoration.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "minecraft:stone" - }, - "X": { - "item": "galacticraft:compressed_tin" - } - }, - "pattern": [ - "##", - "##", - " X" - ], - "result": { - "item": "galacticraft:detailed_tin_decoration" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/detailed_tin_decoration_slab.json b/src/main/generated/data/galacticraft/recipes/detailed_tin_decoration_slab.json deleted file mode 100644 index 8c4911311c..0000000000 --- a/src/main/generated/data/galacticraft/recipes/detailed_tin_decoration_slab.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:detailed_tin_decoration" - } - }, - "pattern": [ - "###" - ], - "result": { - "count": 6, - "item": "galacticraft:detailed_tin_decoration_slab" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/detailed_tin_decoration_stairs.json b/src/main/generated/data/galacticraft/recipes/detailed_tin_decoration_stairs.json deleted file mode 100644 index 0ca8755ce0..0000000000 --- a/src/main/generated/data/galacticraft/recipes/detailed_tin_decoration_stairs.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:detailed_tin_decoration" - } - }, - "pattern": [ - "# ", - "## ", - "###" - ], - "result": { - "count": 4, - "item": "galacticraft:detailed_tin_decoration_stairs" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/detailed_tin_decoration_wall.json b/src/main/generated/data/galacticraft/recipes/detailed_tin_decoration_wall.json deleted file mode 100644 index 60b798ae41..0000000000 --- a/src/main/generated/data/galacticraft/recipes/detailed_tin_decoration_wall.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:detailed_tin_decoration" - } - }, - "pattern": [ - "###", - "###" - ], - "result": { - "count": 6, - "item": "galacticraft:detailed_tin_decoration_wall" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/detailed_titanium_decoration.json b/src/main/generated/data/galacticraft/recipes/detailed_titanium_decoration.json deleted file mode 100644 index 42831abc00..0000000000 --- a/src/main/generated/data/galacticraft/recipes/detailed_titanium_decoration.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "minecraft:stone" - }, - "X": { - "item": "galacticraft:compressed_titanium" - } - }, - "pattern": [ - "##", - "##", - " X" - ], - "result": { - "item": "galacticraft:detailed_titanium_decoration" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/detailed_titanium_decoration_slab.json b/src/main/generated/data/galacticraft/recipes/detailed_titanium_decoration_slab.json deleted file mode 100644 index a3aa185590..0000000000 --- a/src/main/generated/data/galacticraft/recipes/detailed_titanium_decoration_slab.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:detailed_titanium_decoration" - } - }, - "pattern": [ - "###" - ], - "result": { - "count": 6, - "item": "galacticraft:detailed_titanium_decoration_slab" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/detailed_titanium_decoration_stairs.json b/src/main/generated/data/galacticraft/recipes/detailed_titanium_decoration_stairs.json deleted file mode 100644 index 1a607f4338..0000000000 --- a/src/main/generated/data/galacticraft/recipes/detailed_titanium_decoration_stairs.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:detailed_titanium_decoration" - } - }, - "pattern": [ - "# ", - "## ", - "###" - ], - "result": { - "count": 4, - "item": "galacticraft:detailed_titanium_decoration_stairs" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/detailed_titanium_decoration_wall.json b/src/main/generated/data/galacticraft/recipes/detailed_titanium_decoration_wall.json deleted file mode 100644 index 1bd5130043..0000000000 --- a/src/main/generated/data/galacticraft/recipes/detailed_titanium_decoration_wall.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:detailed_titanium_decoration" - } - }, - "pattern": [ - "###", - "###" - ], - "result": { - "count": 6, - "item": "galacticraft:detailed_titanium_decoration_wall" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/diagonal_light_panel.json b/src/main/generated/data/galacticraft/recipes/diagonal_light_panel.json deleted file mode 100644 index cd681d6d97..0000000000 --- a/src/main/generated/data/galacticraft/recipes/diagonal_light_panel.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "G": { - "item": "galacticraft:glowstone_torch" - }, - "S": { - "item": "minecraft:glass_pane" - }, - "T": { - "item": "galacticraft:compressed_steel" - } - }, - "pattern": [ - " S", - "SG", - " T" - ], - "result": { - "item": "galacticraft:diagonal_light_panel" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/diagonal_light_panel_flipped.json b/src/main/generated/data/galacticraft/recipes/diagonal_light_panel_flipped.json deleted file mode 100644 index cd681d6d97..0000000000 --- a/src/main/generated/data/galacticraft/recipes/diagonal_light_panel_flipped.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "G": { - "item": "galacticraft:glowstone_torch" - }, - "S": { - "item": "minecraft:glass_pane" - }, - "T": { - "item": "galacticraft:compressed_steel" - } - }, - "pattern": [ - " S", - "SG", - " T" - ], - "result": { - "item": "galacticraft:diagonal_light_panel" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/electric_arc_furnace.json b/src/main/generated/data/galacticraft/recipes/electric_arc_furnace.json deleted file mode 100644 index e4ea2d5916..0000000000 --- a/src/main/generated/data/galacticraft/recipes/electric_arc_furnace.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "E": { - "item": "galacticraft:electric_furnace" - }, - "H": { - "item": "galacticraft:heavy_plating" - }, - "M": { - "item": "galacticraft:meteoric_iron_ingot" - }, - "W": { - "item": "galacticraft:advanced_wafer" - } - }, - "pattern": [ - "HHH", - "HEH", - "MWM" - ], - "result": { - "item": "galacticraft:electric_arc_furnace" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/electric_compressor.json b/src/main/generated/data/galacticraft/recipes/electric_compressor.json deleted file mode 100644 index 6cbfd459fc..0000000000 --- a/src/main/generated/data/galacticraft/recipes/electric_compressor.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "A": { - "item": "minecraft:anvil" - }, - "B": { - "item": "galacticraft:compressed_bronze" - }, - "I": { - "item": "galacticraft:aluminum_wire" - }, - "S": { - "item": "galacticraft:compressed_steel" - }, - "W": { - "item": "galacticraft:advanced_wafer" - } - }, - "pattern": [ - "SAS", - "SBS", - "IWI" - ], - "result": { - "item": "galacticraft:electric_compressor" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/electric_compressor_upgrade.json b/src/main/generated/data/galacticraft/recipes/electric_compressor_upgrade.json deleted file mode 100644 index 53c484daf3..0000000000 --- a/src/main/generated/data/galacticraft/recipes/electric_compressor_upgrade.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "C": { - "item": "galacticraft:compressor" - }, - "I": { - "item": "galacticraft:aluminum_wire" - }, - "S": { - "item": "galacticraft:compressed_steel" - }, - "T": { - "item": "galacticraft:compressed_tin" - }, - "W": { - "item": "galacticraft:advanced_wafer" - } - }, - "pattern": [ - "STS", - "SCS", - "IWI" - ], - "result": { - "item": "galacticraft:electric_compressor" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/electric_furnace.json b/src/main/generated/data/galacticraft/recipes/electric_furnace.json deleted file mode 100644 index 3b7f7c9656..0000000000 --- a/src/main/generated/data/galacticraft/recipes/electric_furnace.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "A": { - "item": "galacticraft:compressed_aluminum" - }, - "F": { - "item": "minecraft:furnace" - }, - "S": { - "item": "galacticraft:compressed_steel" - }, - "W": { - "item": "galacticraft:basic_wafer" - } - }, - "pattern": [ - "SSS", - "SFS", - "AWA" - ], - "result": { - "item": "galacticraft:electric_furnace" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/energy_storage_module.json b/src/main/generated/data/galacticraft/recipes/energy_storage_module.json deleted file mode 100644 index a3b96b5c3c..0000000000 --- a/src/main/generated/data/galacticraft/recipes/energy_storage_module.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "B": { - "item": "galacticraft:battery" - }, - "S": { - "item": "galacticraft:compressed_steel" - } - }, - "pattern": [ - "SSS", - "BBB", - "SSS" - ], - "result": { - "item": "galacticraft:energy_storage_module" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/fluid_manipulator.json b/src/main/generated/data/galacticraft/recipes/fluid_manipulator.json deleted file mode 100644 index 1d7b2c6754..0000000000 --- a/src/main/generated/data/galacticraft/recipes/fluid_manipulator.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "F": { - "item": "galacticraft:oxygen_fan" - }, - "M": { - "item": "galacticraft:meteoric_iron_ingot" - }, - "S": { - "item": "minecraft:slime_ball" - }, - "W": { - "item": "galacticraft:advanced_wafer" - } - }, - "pattern": [ - "MFM", - "SWS", - "MFM" - ], - "result": { - "item": "galacticraft:fluid_manipulator" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/fluid_pipe_walkway.json b/src/main/generated/data/galacticraft/recipes/fluid_pipe_walkway.json deleted file mode 100644 index 6ab9fef26d..0000000000 --- a/src/main/generated/data/galacticraft/recipes/fluid_pipe_walkway.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "P": { - "item": "galacticraft:glass_fluid_pipe" - }, - "T": { - "item": "galacticraft:compressed_titanium" - } - }, - "pattern": [ - "TTT", - "PTP", - "PPP" - ], - "result": { - "count": 5, - "item": "galacticraft:fluid_pipe_walkway" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/fluid_pipe_walkway_shapeless.json b/src/main/generated/data/galacticraft/recipes/fluid_pipe_walkway_shapeless.json deleted file mode 100644 index 9ae4e14878..0000000000 --- a/src/main/generated/data/galacticraft/recipes/fluid_pipe_walkway_shapeless.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "item": "galacticraft:compressed_titanium" - }, - { - "item": "galacticraft:glass_fluid_pipe" - } - ], - "result": { - "item": "galacticraft:fluid_pipe_walkway" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/frequency_module.json b/src/main/generated/data/galacticraft/recipes/frequency_module.json deleted file mode 100644 index 26f007d4e7..0000000000 --- a/src/main/generated/data/galacticraft/recipes/frequency_module.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "A": { - "item": "galacticraft:compressed_aluminum" - }, - "I": { - "item": "galacticraft:compressed_iron" - }, - "P": { - "item": "minecraft:repeater" - }, - "R": { - "tag": "c:redstone_dusts" - }, - "W": { - "item": "galacticraft:basic_wafer" - } - }, - "pattern": [ - " A ", - "IPI", - "RWR" - ], - "result": { - "item": "galacticraft:frequency_module" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/fueling_pad.json b/src/main/generated/data/galacticraft/recipes/fueling_pad.json deleted file mode 100644 index e1535aedf1..0000000000 --- a/src/main/generated/data/galacticraft/recipes/fueling_pad.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "C": { - "item": "galacticraft:compressed_steel" - }, - "I": { - "item": "minecraft:iron_block" - } - }, - "pattern": [ - "CCC", - "III" - ], - "result": { - "count": 9, - "item": "galacticraft:fueling_pad" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/full_solar_panel.json b/src/main/generated/data/galacticraft/recipes/full_solar_panel.json deleted file mode 100644 index 699c201062..0000000000 --- a/src/main/generated/data/galacticraft/recipes/full_solar_panel.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "M": { - "item": "galacticraft:single_solar_module" - }, - "W": { - "item": "galacticraft:aluminum_wire" - } - }, - "pattern": [ - "MMM", - "WWW", - "MMM" - ], - "result": { - "item": "galacticraft:full_solar_panel" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/glass_fluid_pipe.json b/src/main/generated/data/galacticraft/recipes/glass_fluid_pipe.json deleted file mode 100644 index 80d2eb9238..0000000000 --- a/src/main/generated/data/galacticraft/recipes/glass_fluid_pipe.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "X": { - "item": "minecraft:glass_pane" - } - }, - "pattern": [ - "XXX", - " ", - "XXX" - ], - "result": { - "count": 6, - "item": "galacticraft:glass_fluid_pipe" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/glowstone_lantern.json b/src/main/generated/data/galacticraft/recipes/glowstone_lantern.json deleted file mode 100644 index efb54a80e8..0000000000 --- a/src/main/generated/data/galacticraft/recipes/glowstone_lantern.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "G": { - "item": "galacticraft:glowstone_torch" - }, - "I": { - "item": "minecraft:iron_nugget" - } - }, - "pattern": [ - "III", - "IGI", - "III" - ], - "result": { - "item": "galacticraft:glowstone_lantern" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/glowstone_torch.json b/src/main/generated/data/galacticraft/recipes/glowstone_torch.json deleted file mode 100644 index 6165285fd4..0000000000 --- a/src/main/generated/data/galacticraft/recipes/glowstone_torch.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "G": { - "item": "minecraft:glowstone_dust" - }, - "S": { - "item": "minecraft:stick" - } - }, - "pattern": [ - "G", - "S" - ], - "result": { - "count": 4, - "item": "galacticraft:glowstone_torch" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/grating.json b/src/main/generated/data/galacticraft/recipes/grating.json deleted file mode 100644 index 346fe2bf2a..0000000000 --- a/src/main/generated/data/galacticraft/recipes/grating.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "I": { - "item": "minecraft:iron_bars" - } - }, - "pattern": [ - "II", - "II" - ], - "result": { - "count": 4, - "item": "galacticraft:grating" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/gray_parachute.json b/src/main/generated/data/galacticraft/recipes/gray_parachute.json deleted file mode 100644 index 575a261f5c..0000000000 --- a/src/main/generated/data/galacticraft/recipes/gray_parachute.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "item": "galacticraft:white_parachute" - }, - { - "item": "minecraft:gray_dye" - } - ], - "result": { - "item": "galacticraft:gray_parachute" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/green_parachute.json b/src/main/generated/data/galacticraft/recipes/green_parachute.json deleted file mode 100644 index d64e647a86..0000000000 --- a/src/main/generated/data/galacticraft/recipes/green_parachute.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "item": "galacticraft:white_parachute" - }, - { - "item": "minecraft:green_dye" - } - ], - "result": { - "item": "galacticraft:green_parachute" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/ground_beef.json b/src/main/generated/data/galacticraft/recipes/ground_beef.json deleted file mode 100644 index 6b33bf17f3..0000000000 --- a/src/main/generated/data/galacticraft/recipes/ground_beef.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "item": "minecraft:beef" - } - ], - "result": { - "count": 2, - "item": "galacticraft:ground_beef" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/heavy_duty_axe.json b/src/main/generated/data/galacticraft/recipes/heavy_duty_axe.json deleted file mode 100644 index 1a7524e85b..0000000000 --- a/src/main/generated/data/galacticraft/recipes/heavy_duty_axe.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "equipment", - "key": { - "S": { - "item": "galacticraft:compressed_steel" - }, - "W": { - "item": "minecraft:stick" - } - }, - "pattern": [ - "SS", - "SW", - " W" - ], - "result": { - "item": "galacticraft:heavy_duty_axe" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/heavy_duty_axe_flipped.json b/src/main/generated/data/galacticraft/recipes/heavy_duty_axe_flipped.json deleted file mode 100644 index 12c6c0a08e..0000000000 --- a/src/main/generated/data/galacticraft/recipes/heavy_duty_axe_flipped.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "equipment", - "key": { - "S": { - "item": "galacticraft:compressed_steel" - }, - "W": { - "item": "minecraft:stick" - } - }, - "pattern": [ - "SS", - "WS", - "W " - ], - "result": { - "item": "galacticraft:heavy_duty_axe" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/heavy_duty_boots.json b/src/main/generated/data/galacticraft/recipes/heavy_duty_boots.json deleted file mode 100644 index 125104446d..0000000000 --- a/src/main/generated/data/galacticraft/recipes/heavy_duty_boots.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "equipment", - "key": { - "P": { - "item": "galacticraft:heavy_plating" - } - }, - "pattern": [ - "P P", - "P P" - ], - "result": { - "item": "galacticraft:heavy_duty_boots" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/heavy_duty_chestplate.json b/src/main/generated/data/galacticraft/recipes/heavy_duty_chestplate.json deleted file mode 100644 index 4ac79fb3a5..0000000000 --- a/src/main/generated/data/galacticraft/recipes/heavy_duty_chestplate.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "equipment", - "key": { - "P": { - "item": "galacticraft:heavy_plating" - } - }, - "pattern": [ - "P P", - "PPP", - "PPP" - ], - "result": { - "item": "galacticraft:heavy_duty_chestplate" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/heavy_duty_helmet.json b/src/main/generated/data/galacticraft/recipes/heavy_duty_helmet.json deleted file mode 100644 index 920016b22c..0000000000 --- a/src/main/generated/data/galacticraft/recipes/heavy_duty_helmet.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "equipment", - "key": { - "P": { - "item": "galacticraft:heavy_plating" - } - }, - "pattern": [ - "PPP", - "P P" - ], - "result": { - "item": "galacticraft:heavy_duty_helmet" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/heavy_duty_hoe.json b/src/main/generated/data/galacticraft/recipes/heavy_duty_hoe.json deleted file mode 100644 index e7becb0f7f..0000000000 --- a/src/main/generated/data/galacticraft/recipes/heavy_duty_hoe.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "equipment", - "key": { - "S": { - "item": "galacticraft:compressed_steel" - }, - "W": { - "item": "minecraft:stick" - } - }, - "pattern": [ - "SS", - " W", - " W" - ], - "result": { - "item": "galacticraft:heavy_duty_hoe" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/heavy_duty_hoe_flipped.json b/src/main/generated/data/galacticraft/recipes/heavy_duty_hoe_flipped.json deleted file mode 100644 index e31180fbf5..0000000000 --- a/src/main/generated/data/galacticraft/recipes/heavy_duty_hoe_flipped.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "equipment", - "key": { - "S": { - "item": "galacticraft:compressed_steel" - }, - "W": { - "item": "minecraft:stick" - } - }, - "pattern": [ - "SS", - "W ", - "W " - ], - "result": { - "item": "galacticraft:heavy_duty_hoe" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/heavy_duty_leggings.json b/src/main/generated/data/galacticraft/recipes/heavy_duty_leggings.json deleted file mode 100644 index e4f409d94f..0000000000 --- a/src/main/generated/data/galacticraft/recipes/heavy_duty_leggings.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "equipment", - "key": { - "P": { - "item": "galacticraft:heavy_plating" - } - }, - "pattern": [ - "PPP", - "P P", - "P P" - ], - "result": { - "item": "galacticraft:heavy_duty_leggings" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/heavy_duty_pickaxe.json b/src/main/generated/data/galacticraft/recipes/heavy_duty_pickaxe.json deleted file mode 100644 index 4c8e10c2f7..0000000000 --- a/src/main/generated/data/galacticraft/recipes/heavy_duty_pickaxe.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "equipment", - "key": { - "S": { - "item": "galacticraft:compressed_steel" - }, - "W": { - "item": "minecraft:stick" - } - }, - "pattern": [ - "SSS", - " W ", - " W " - ], - "result": { - "item": "galacticraft:heavy_duty_pickaxe" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/heavy_duty_shovel.json b/src/main/generated/data/galacticraft/recipes/heavy_duty_shovel.json deleted file mode 100644 index 3535fc1dfe..0000000000 --- a/src/main/generated/data/galacticraft/recipes/heavy_duty_shovel.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "equipment", - "key": { - "S": { - "item": "galacticraft:compressed_steel" - }, - "W": { - "item": "minecraft:stick" - } - }, - "pattern": [ - "S", - "W", - "W" - ], - "result": { - "item": "galacticraft:heavy_duty_shovel" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/heavy_duty_sword.json b/src/main/generated/data/galacticraft/recipes/heavy_duty_sword.json deleted file mode 100644 index 7a10bbc773..0000000000 --- a/src/main/generated/data/galacticraft/recipes/heavy_duty_sword.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "equipment", - "key": { - "S": { - "item": "galacticraft:compressed_steel" - }, - "W": { - "item": "minecraft:stick" - } - }, - "pattern": [ - "S", - "S", - "W" - ], - "result": { - "item": "galacticraft:heavy_duty_sword" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/hot_throwable_meteor_chunk_from_blasting.json b/src/main/generated/data/galacticraft/recipes/hot_throwable_meteor_chunk_from_blasting.json deleted file mode 100644 index 9366246e52..0000000000 --- a/src/main/generated/data/galacticraft/recipes/hot_throwable_meteor_chunk_from_blasting.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "type": "minecraft:blasting", - "category": "misc", - "cookingtime": 100, - "experience": 0.7, - "ingredient": { - "item": "galacticraft:throwable_meteor_chunk" - }, - "result": "galacticraft:hot_throwable_meteor_chunk" -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/hot_throwable_meteor_chunk_from_smelting.json b/src/main/generated/data/galacticraft/recipes/hot_throwable_meteor_chunk_from_smelting.json deleted file mode 100644 index 40bf36a2b1..0000000000 --- a/src/main/generated/data/galacticraft/recipes/hot_throwable_meteor_chunk_from_smelting.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "type": "minecraft:smelting", - "category": "misc", - "cookingtime": 200, - "experience": 0.7, - "ingredient": { - "item": "galacticraft:throwable_meteor_chunk" - }, - "result": "galacticraft:hot_throwable_meteor_chunk" -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/iron_decoration.json b/src/main/generated/data/galacticraft/recipes/iron_decoration.json deleted file mode 100644 index 0b468caaea..0000000000 --- a/src/main/generated/data/galacticraft/recipes/iron_decoration.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "minecraft:stone" - }, - "X": { - "item": "galacticraft:compressed_iron" - } - }, - "pattern": [ - "## ", - "##X" - ], - "result": { - "item": "galacticraft:iron_decoration" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/iron_decoration_slab.json b/src/main/generated/data/galacticraft/recipes/iron_decoration_slab.json deleted file mode 100644 index de2bb8e6c8..0000000000 --- a/src/main/generated/data/galacticraft/recipes/iron_decoration_slab.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:iron_decoration" - } - }, - "pattern": [ - "###" - ], - "result": { - "count": 6, - "item": "galacticraft:iron_decoration_slab" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/iron_decoration_stairs.json b/src/main/generated/data/galacticraft/recipes/iron_decoration_stairs.json deleted file mode 100644 index 1f1b94f331..0000000000 --- a/src/main/generated/data/galacticraft/recipes/iron_decoration_stairs.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:iron_decoration" - } - }, - "pattern": [ - "# ", - "## ", - "###" - ], - "result": { - "count": 4, - "item": "galacticraft:iron_decoration_stairs" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/iron_decoration_wall.json b/src/main/generated/data/galacticraft/recipes/iron_decoration_wall.json deleted file mode 100644 index e87db7d19b..0000000000 --- a/src/main/generated/data/galacticraft/recipes/iron_decoration_wall.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:iron_decoration" - } - }, - "pattern": [ - "###", - "###" - ], - "result": { - "count": 6, - "item": "galacticraft:iron_decoration_wall" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/iron_ingot_from_blasting_iron_shard.json b/src/main/generated/data/galacticraft/recipes/iron_ingot_from_blasting_iron_shard.json deleted file mode 100644 index 7843363925..0000000000 --- a/src/main/generated/data/galacticraft/recipes/iron_ingot_from_blasting_iron_shard.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "type": "minecraft:blasting", - "category": "misc", - "cookingtime": 100, - "experience": 0.7, - "group": "iron_ingot", - "ingredient": { - "item": "galacticraft:iron_shard" - }, - "result": "minecraft:iron_ingot" -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/iron_ingot_from_smelting_iron_shard.json b/src/main/generated/data/galacticraft/recipes/iron_ingot_from_smelting_iron_shard.json deleted file mode 100644 index 534657cca8..0000000000 --- a/src/main/generated/data/galacticraft/recipes/iron_ingot_from_smelting_iron_shard.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "type": "minecraft:smelting", - "category": "misc", - "cookingtime": 200, - "experience": 0.7, - "group": "iron_ingot", - "ingredient": { - "item": "galacticraft:iron_shard" - }, - "result": "minecraft:iron_ingot" -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/isothermal_fabric.json b/src/main/generated/data/galacticraft/recipes/isothermal_fabric.json deleted file mode 100644 index e2cba1c974..0000000000 --- a/src/main/generated/data/galacticraft/recipes/isothermal_fabric.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "D": { - "item": "galacticraft:desh_ingot" - }, - "T": { - "item": "galacticraft:thermal_cloth" - } - }, - "pattern": [ - "TDT" - ], - "result": { - "item": "galacticraft:isothermal_fabric" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/large_oxygen_tank.json b/src/main/generated/data/galacticraft/recipes/large_oxygen_tank.json deleted file mode 100644 index 78d1a26f28..0000000000 --- a/src/main/generated/data/galacticraft/recipes/large_oxygen_tank.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "C": { - "item": "galacticraft:compressed_steel" - }, - "T": { - "item": "galacticraft:tin_canister" - }, - "W": { - "item": "minecraft:red_wool" - } - }, - "pattern": [ - "WWW", - "TTT", - "CCC" - ], - "result": { - "item": "galacticraft:large_oxygen_tank" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/lead_block.json b/src/main/generated/data/galacticraft/recipes/lead_block.json deleted file mode 100644 index 575af69b05..0000000000 --- a/src/main/generated/data/galacticraft/recipes/lead_block.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:lead_ingot" - } - }, - "pattern": [ - "###", - "###", - "###" - ], - "result": { - "item": "galacticraft:lead_block" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/lead_ingot_from_blasting_galena_ore.json b/src/main/generated/data/galacticraft/recipes/lead_ingot_from_blasting_galena_ore.json deleted file mode 100644 index 2a65a68e51..0000000000 --- a/src/main/generated/data/galacticraft/recipes/lead_ingot_from_blasting_galena_ore.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "type": "minecraft:blasting", - "category": "misc", - "cookingtime": 100, - "experience": 0.7, - "group": "lead_ingot", - "ingredient": { - "item": "galacticraft:galena_ore" - }, - "result": "galacticraft:lead_ingot" -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/lead_ingot_from_blasting_raw_lead.json b/src/main/generated/data/galacticraft/recipes/lead_ingot_from_blasting_raw_lead.json deleted file mode 100644 index d101c5bb8c..0000000000 --- a/src/main/generated/data/galacticraft/recipes/lead_ingot_from_blasting_raw_lead.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "type": "minecraft:blasting", - "category": "misc", - "cookingtime": 100, - "experience": 0.7, - "group": "lead_ingot", - "ingredient": { - "item": "galacticraft:raw_lead" - }, - "result": "galacticraft:lead_ingot" -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/lead_ingot_from_block.json b/src/main/generated/data/galacticraft/recipes/lead_ingot_from_block.json deleted file mode 100644 index 450c0bb412..0000000000 --- a/src/main/generated/data/galacticraft/recipes/lead_ingot_from_block.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "group": "lead_ingot", - "ingredients": [ - { - "item": "galacticraft:lead_block" - } - ], - "result": { - "count": 9, - "item": "galacticraft:lead_ingot" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/lead_ingot_from_nuggets.json b/src/main/generated/data/galacticraft/recipes/lead_ingot_from_nuggets.json deleted file mode 100644 index 3f4617d247..0000000000 --- a/src/main/generated/data/galacticraft/recipes/lead_ingot_from_nuggets.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "group": "lead_ingot", - "key": { - "#": { - "item": "galacticraft:lead_nugget" - } - }, - "pattern": [ - "###", - "###", - "###" - ], - "result": { - "item": "galacticraft:lead_ingot" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/lead_ingot_from_smelting_galena_ore.json b/src/main/generated/data/galacticraft/recipes/lead_ingot_from_smelting_galena_ore.json deleted file mode 100644 index 0a39ea5dee..0000000000 --- a/src/main/generated/data/galacticraft/recipes/lead_ingot_from_smelting_galena_ore.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "type": "minecraft:smelting", - "category": "misc", - "cookingtime": 200, - "experience": 0.7, - "group": "lead_ingot", - "ingredient": { - "item": "galacticraft:galena_ore" - }, - "result": "galacticraft:lead_ingot" -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/lead_ingot_from_smelting_raw_lead.json b/src/main/generated/data/galacticraft/recipes/lead_ingot_from_smelting_raw_lead.json deleted file mode 100644 index 73f394c3ba..0000000000 --- a/src/main/generated/data/galacticraft/recipes/lead_ingot_from_smelting_raw_lead.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "type": "minecraft:smelting", - "category": "misc", - "cookingtime": 200, - "experience": 0.7, - "group": "lead_ingot", - "ingredient": { - "item": "galacticraft:raw_lead" - }, - "result": "galacticraft:lead_ingot" -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/lead_nugget.json b/src/main/generated/data/galacticraft/recipes/lead_nugget.json deleted file mode 100644 index 2f18f3bb28..0000000000 --- a/src/main/generated/data/galacticraft/recipes/lead_nugget.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "item": "galacticraft:lead_ingot" - } - ], - "result": { - "count": 9, - "item": "galacticraft:lead_nugget" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/light_blue_parachute.json b/src/main/generated/data/galacticraft/recipes/light_blue_parachute.json deleted file mode 100644 index 59dd5687b9..0000000000 --- a/src/main/generated/data/galacticraft/recipes/light_blue_parachute.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "item": "galacticraft:white_parachute" - }, - { - "item": "minecraft:light_blue_dye" - } - ], - "result": { - "item": "galacticraft:light_blue_parachute" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/light_gray_parachute.json b/src/main/generated/data/galacticraft/recipes/light_gray_parachute.json deleted file mode 100644 index 72b869f1d1..0000000000 --- a/src/main/generated/data/galacticraft/recipes/light_gray_parachute.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "item": "galacticraft:white_parachute" - }, - { - "item": "minecraft:light_gray_dye" - } - ], - "result": { - "item": "galacticraft:light_gray_parachute" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/lime_parachute.json b/src/main/generated/data/galacticraft/recipes/lime_parachute.json deleted file mode 100644 index bfcfd001e2..0000000000 --- a/src/main/generated/data/galacticraft/recipes/lime_parachute.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "item": "galacticraft:white_parachute" - }, - { - "item": "minecraft:lime_dye" - } - ], - "result": { - "item": "galacticraft:lime_parachute" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/linear_light_panel.json b/src/main/generated/data/galacticraft/recipes/linear_light_panel.json deleted file mode 100644 index 229c1b7173..0000000000 --- a/src/main/generated/data/galacticraft/recipes/linear_light_panel.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "G": { - "item": "galacticraft:glowstone_torch" - }, - "S": { - "item": "minecraft:glass_pane" - }, - "T": { - "item": "galacticraft:compressed_steel" - } - }, - "pattern": [ - "S S", - "SGS", - "STS" - ], - "result": { - "item": "galacticraft:linear_light_panel" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/lunar_sapphire_block.json b/src/main/generated/data/galacticraft/recipes/lunar_sapphire_block.json deleted file mode 100644 index 6321bb5286..0000000000 --- a/src/main/generated/data/galacticraft/recipes/lunar_sapphire_block.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:lunar_sapphire" - } - }, - "pattern": [ - "###", - "###", - "###" - ], - "result": { - "item": "galacticraft:lunar_sapphire_block" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/lunar_sapphire_from_block.json b/src/main/generated/data/galacticraft/recipes/lunar_sapphire_from_block.json deleted file mode 100644 index 454568e171..0000000000 --- a/src/main/generated/data/galacticraft/recipes/lunar_sapphire_from_block.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "group": "lunar_sapphire", - "ingredients": [ - { - "item": "galacticraft:lunar_sapphire_block" - } - ], - "result": { - "count": 9, - "item": "galacticraft:lunar_sapphire" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/lunaslate_slab.json b/src/main/generated/data/galacticraft/recipes/lunaslate_slab.json deleted file mode 100644 index 93dbfadae4..0000000000 --- a/src/main/generated/data/galacticraft/recipes/lunaslate_slab.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:lunaslate" - } - }, - "pattern": [ - "###" - ], - "result": { - "count": 6, - "item": "galacticraft:lunaslate_slab" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/lunaslate_stairs.json b/src/main/generated/data/galacticraft/recipes/lunaslate_stairs.json deleted file mode 100644 index 0adc3fd0f0..0000000000 --- a/src/main/generated/data/galacticraft/recipes/lunaslate_stairs.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:lunaslate" - } - }, - "pattern": [ - "# ", - "## ", - "###" - ], - "result": { - "count": 4, - "item": "galacticraft:lunaslate_stairs" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/lunaslate_wall.json b/src/main/generated/data/galacticraft/recipes/lunaslate_wall.json deleted file mode 100644 index 317b014cf4..0000000000 --- a/src/main/generated/data/galacticraft/recipes/lunaslate_wall.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:lunaslate" - } - }, - "pattern": [ - "###", - "###" - ], - "result": { - "count": 6, - "item": "galacticraft:lunaslate_wall" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/magenta_parachute.json b/src/main/generated/data/galacticraft/recipes/magenta_parachute.json deleted file mode 100644 index 491ecb1663..0000000000 --- a/src/main/generated/data/galacticraft/recipes/magenta_parachute.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "item": "galacticraft:white_parachute" - }, - { - "item": "minecraft:magenta_dye" - } - ], - "result": { - "item": "galacticraft:magenta_parachute" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/mars_cobblestone_slab.json b/src/main/generated/data/galacticraft/recipes/mars_cobblestone_slab.json deleted file mode 100644 index 9b85a5cb3c..0000000000 --- a/src/main/generated/data/galacticraft/recipes/mars_cobblestone_slab.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:mars_cobblestone" - } - }, - "pattern": [ - "###" - ], - "result": { - "count": 6, - "item": "galacticraft:mars_cobblestone_slab" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/mars_cobblestone_stairs.json b/src/main/generated/data/galacticraft/recipes/mars_cobblestone_stairs.json deleted file mode 100644 index c621803ec3..0000000000 --- a/src/main/generated/data/galacticraft/recipes/mars_cobblestone_stairs.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:mars_cobblestone" - } - }, - "pattern": [ - "# ", - "## ", - "###" - ], - "result": { - "count": 4, - "item": "galacticraft:mars_cobblestone_stairs" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/mars_cobblestone_wall.json b/src/main/generated/data/galacticraft/recipes/mars_cobblestone_wall.json deleted file mode 100644 index d8507ab7f2..0000000000 --- a/src/main/generated/data/galacticraft/recipes/mars_cobblestone_wall.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:mars_cobblestone" - } - }, - "pattern": [ - "###", - "###" - ], - "result": { - "count": 6, - "item": "galacticraft:mars_cobblestone_wall" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/mars_stone_slab.json b/src/main/generated/data/galacticraft/recipes/mars_stone_slab.json deleted file mode 100644 index b54824dfd5..0000000000 --- a/src/main/generated/data/galacticraft/recipes/mars_stone_slab.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:mars_stone" - } - }, - "pattern": [ - "###" - ], - "result": { - "count": 6, - "item": "galacticraft:mars_stone_slab" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/mars_stone_stairs.json b/src/main/generated/data/galacticraft/recipes/mars_stone_stairs.json deleted file mode 100644 index e9333d4d02..0000000000 --- a/src/main/generated/data/galacticraft/recipes/mars_stone_stairs.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:mars_stone" - } - }, - "pattern": [ - "# ", - "## ", - "###" - ], - "result": { - "count": 4, - "item": "galacticraft:mars_stone_stairs" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/mars_stone_wall.json b/src/main/generated/data/galacticraft/recipes/mars_stone_wall.json deleted file mode 100644 index 74c2635c68..0000000000 --- a/src/main/generated/data/galacticraft/recipes/mars_stone_wall.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:mars_stone" - } - }, - "pattern": [ - "###", - "###" - ], - "result": { - "count": 6, - "item": "galacticraft:mars_stone_wall" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/medium_oxygen_tank.json b/src/main/generated/data/galacticraft/recipes/medium_oxygen_tank.json deleted file mode 100644 index 550e25d474..0000000000 --- a/src/main/generated/data/galacticraft/recipes/medium_oxygen_tank.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "C": { - "item": "galacticraft:compressed_tin" - }, - "T": { - "item": "galacticraft:tin_canister" - }, - "W": { - "item": "minecraft:orange_wool" - } - }, - "pattern": [ - "WW", - "TT", - "CC" - ], - "result": { - "item": "galacticraft:medium_oxygen_tank" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/meteoric_iron_block.json b/src/main/generated/data/galacticraft/recipes/meteoric_iron_block.json deleted file mode 100644 index 35da493d24..0000000000 --- a/src/main/generated/data/galacticraft/recipes/meteoric_iron_block.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:meteoric_iron_ingot" - } - }, - "pattern": [ - "###", - "###", - "###" - ], - "result": { - "item": "galacticraft:meteoric_iron_block" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/meteoric_iron_decoration.json b/src/main/generated/data/galacticraft/recipes/meteoric_iron_decoration.json deleted file mode 100644 index f32675ea56..0000000000 --- a/src/main/generated/data/galacticraft/recipes/meteoric_iron_decoration.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "minecraft:stone" - }, - "X": { - "item": "galacticraft:compressed_meteoric_iron" - } - }, - "pattern": [ - "## ", - "##X" - ], - "result": { - "item": "galacticraft:meteoric_iron_decoration" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/meteoric_iron_decoration_slab.json b/src/main/generated/data/galacticraft/recipes/meteoric_iron_decoration_slab.json deleted file mode 100644 index b0141ebc33..0000000000 --- a/src/main/generated/data/galacticraft/recipes/meteoric_iron_decoration_slab.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:meteoric_iron_decoration" - } - }, - "pattern": [ - "###" - ], - "result": { - "count": 6, - "item": "galacticraft:meteoric_iron_decoration_slab" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/meteoric_iron_decoration_stairs.json b/src/main/generated/data/galacticraft/recipes/meteoric_iron_decoration_stairs.json deleted file mode 100644 index ab6d3d37f9..0000000000 --- a/src/main/generated/data/galacticraft/recipes/meteoric_iron_decoration_stairs.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:meteoric_iron_decoration" - } - }, - "pattern": [ - "# ", - "## ", - "###" - ], - "result": { - "count": 4, - "item": "galacticraft:meteoric_iron_decoration_stairs" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/meteoric_iron_decoration_wall.json b/src/main/generated/data/galacticraft/recipes/meteoric_iron_decoration_wall.json deleted file mode 100644 index 9308516021..0000000000 --- a/src/main/generated/data/galacticraft/recipes/meteoric_iron_decoration_wall.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:meteoric_iron_decoration" - } - }, - "pattern": [ - "###", - "###" - ], - "result": { - "count": 6, - "item": "galacticraft:meteoric_iron_decoration_wall" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/meteoric_iron_ingot_from_blasting_raw_meteoric_iron.json b/src/main/generated/data/galacticraft/recipes/meteoric_iron_ingot_from_blasting_raw_meteoric_iron.json deleted file mode 100644 index 74b068f2b9..0000000000 --- a/src/main/generated/data/galacticraft/recipes/meteoric_iron_ingot_from_blasting_raw_meteoric_iron.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "type": "minecraft:blasting", - "category": "misc", - "cookingtime": 100, - "experience": 0.7, - "group": "meteoric_iron_ingot", - "ingredient": { - "item": "galacticraft:raw_meteoric_iron" - }, - "result": "galacticraft:meteoric_iron_ingot" -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/meteoric_iron_ingot_from_block.json b/src/main/generated/data/galacticraft/recipes/meteoric_iron_ingot_from_block.json deleted file mode 100644 index 62fbbf7f15..0000000000 --- a/src/main/generated/data/galacticraft/recipes/meteoric_iron_ingot_from_block.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "group": "meteoric_iron_ingot", - "ingredients": [ - { - "item": "galacticraft:meteoric_iron_block" - } - ], - "result": { - "count": 9, - "item": "galacticraft:meteoric_iron_ingot" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/meteoric_iron_ingot_from_nuggets.json b/src/main/generated/data/galacticraft/recipes/meteoric_iron_ingot_from_nuggets.json deleted file mode 100644 index 8b607f6fd9..0000000000 --- a/src/main/generated/data/galacticraft/recipes/meteoric_iron_ingot_from_nuggets.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "group": "meteoric_iron_ingot", - "key": { - "#": { - "item": "galacticraft:meteoric_iron_nugget" - } - }, - "pattern": [ - "###", - "###", - "###" - ], - "result": { - "item": "galacticraft:meteoric_iron_ingot" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/meteoric_iron_ingot_from_smelting_raw_meteoric_iron.json b/src/main/generated/data/galacticraft/recipes/meteoric_iron_ingot_from_smelting_raw_meteoric_iron.json deleted file mode 100644 index 85f984b135..0000000000 --- a/src/main/generated/data/galacticraft/recipes/meteoric_iron_ingot_from_smelting_raw_meteoric_iron.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "type": "minecraft:smelting", - "category": "misc", - "cookingtime": 200, - "experience": 0.7, - "group": "meteoric_iron_ingot", - "ingredient": { - "item": "galacticraft:raw_meteoric_iron" - }, - "result": "galacticraft:meteoric_iron_ingot" -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/meteoric_iron_nugget.json b/src/main/generated/data/galacticraft/recipes/meteoric_iron_nugget.json deleted file mode 100644 index 965a503c31..0000000000 --- a/src/main/generated/data/galacticraft/recipes/meteoric_iron_nugget.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "item": "galacticraft:meteoric_iron_ingot" - } - ], - "result": { - "count": 9, - "item": "galacticraft:meteoric_iron_nugget" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/moon_basalt_brick_slab.json b/src/main/generated/data/galacticraft/recipes/moon_basalt_brick_slab.json deleted file mode 100644 index a503a29d65..0000000000 --- a/src/main/generated/data/galacticraft/recipes/moon_basalt_brick_slab.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:moon_basalt_brick" - } - }, - "pattern": [ - "###" - ], - "result": { - "count": 6, - "item": "galacticraft:moon_basalt_brick_slab" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/moon_basalt_brick_stairs.json b/src/main/generated/data/galacticraft/recipes/moon_basalt_brick_stairs.json deleted file mode 100644 index 83cc442a10..0000000000 --- a/src/main/generated/data/galacticraft/recipes/moon_basalt_brick_stairs.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:moon_basalt_brick" - } - }, - "pattern": [ - "# ", - "## ", - "###" - ], - "result": { - "count": 4, - "item": "galacticraft:moon_basalt_brick_stairs" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/moon_basalt_brick_wall.json b/src/main/generated/data/galacticraft/recipes/moon_basalt_brick_wall.json deleted file mode 100644 index d50b503c56..0000000000 --- a/src/main/generated/data/galacticraft/recipes/moon_basalt_brick_wall.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:moon_basalt_brick" - } - }, - "pattern": [ - "###", - "###" - ], - "result": { - "count": 6, - "item": "galacticraft:moon_basalt_brick_wall" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/moon_basalt_slab.json b/src/main/generated/data/galacticraft/recipes/moon_basalt_slab.json deleted file mode 100644 index 331a3f9ccd..0000000000 --- a/src/main/generated/data/galacticraft/recipes/moon_basalt_slab.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:moon_basalt" - } - }, - "pattern": [ - "###" - ], - "result": { - "count": 6, - "item": "galacticraft:moon_basalt_slab" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/moon_basalt_stairs.json b/src/main/generated/data/galacticraft/recipes/moon_basalt_stairs.json deleted file mode 100644 index ab07abde12..0000000000 --- a/src/main/generated/data/galacticraft/recipes/moon_basalt_stairs.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:moon_basalt" - } - }, - "pattern": [ - "# ", - "## ", - "###" - ], - "result": { - "count": 4, - "item": "galacticraft:moon_basalt_stairs" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/moon_basalt_wall.json b/src/main/generated/data/galacticraft/recipes/moon_basalt_wall.json deleted file mode 100644 index 4e7c8b2953..0000000000 --- a/src/main/generated/data/galacticraft/recipes/moon_basalt_wall.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:moon_basalt" - } - }, - "pattern": [ - "###", - "###" - ], - "result": { - "count": 6, - "item": "galacticraft:moon_basalt_wall" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/moon_cheese_block.json b/src/main/generated/data/galacticraft/recipes/moon_cheese_block.json deleted file mode 100644 index 594c8f2e9d..0000000000 --- a/src/main/generated/data/galacticraft/recipes/moon_cheese_block.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "C": { - "item": "galacticraft:cheese_curd" - }, - "M": { - "item": "minecraft:milk_bucket" - } - }, - "pattern": [ - "CCC", - "CMC", - "CCC" - ], - "result": { - "item": "galacticraft:moon_cheese_block" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/nose_cone.json b/src/main/generated/data/galacticraft/recipes/nose_cone.json deleted file mode 100644 index 51b3b8a05e..0000000000 --- a/src/main/generated/data/galacticraft/recipes/nose_cone.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "P": { - "item": "galacticraft:heavy_plating" - }, - "R": { - "item": "minecraft:redstone_torch" - } - }, - "pattern": [ - " R ", - " P ", - "P P" - ], - "result": { - "item": "galacticraft:nose_cone" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/orange_parachute.json b/src/main/generated/data/galacticraft/recipes/orange_parachute.json deleted file mode 100644 index faf7f419e3..0000000000 --- a/src/main/generated/data/galacticraft/recipes/orange_parachute.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "item": "galacticraft:white_parachute" - }, - { - "item": "minecraft:orange_dye" - } - ], - "result": { - "item": "galacticraft:orange_parachute" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/orion_drive.json b/src/main/generated/data/galacticraft/recipes/orion_drive.json deleted file mode 100644 index 65c1672072..0000000000 --- a/src/main/generated/data/galacticraft/recipes/orion_drive.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "B": { - "item": "galacticraft:beam_core" - }, - "C": { - "item": "minecraft:coal_ore" - }, - "D": { - "item": "minecraft:diamond_ore" - }, - "E": { - "item": "galacticraft:moon_cheese_block" - }, - "G": { - "item": "minecraft:gold_ore" - }, - "I": { - "item": "galacticraft:ilmenite_ore" - }, - "L": { - "item": "minecraft:lapis_ore" - }, - "R": { - "item": "minecraft:redstone_ore" - }, - "S": { - "item": "galacticraft:desh_ore" - } - }, - "pattern": [ - "DLG", - "RBC", - "ESI" - ], - "result": { - "item": "galacticraft:orion_drive" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/oxygen_bubble_distributor.json b/src/main/generated/data/galacticraft/recipes/oxygen_bubble_distributor.json deleted file mode 100644 index 0835415ca2..0000000000 --- a/src/main/generated/data/galacticraft/recipes/oxygen_bubble_distributor.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "A": { - "item": "galacticraft:compressed_aluminum" - }, - "F": { - "item": "galacticraft:oxygen_fan" - }, - "S": { - "item": "galacticraft:compressed_steel" - }, - "V": { - "item": "galacticraft:oxygen_vent" - } - }, - "pattern": [ - "SFS", - "VAV", - "SFS" - ], - "result": { - "item": "galacticraft:oxygen_bubble_distributor" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/oxygen_collector.json b/src/main/generated/data/galacticraft/recipes/oxygen_collector.json deleted file mode 100644 index 73883aeb3f..0000000000 --- a/src/main/generated/data/galacticraft/recipes/oxygen_collector.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "A": { - "item": "galacticraft:compressed_aluminum" - }, - "C": { - "item": "galacticraft:oxygen_concentrator" - }, - "F": { - "item": "galacticraft:oxygen_fan" - }, - "S": { - "item": "galacticraft:compressed_steel" - }, - "T": { - "item": "galacticraft:tin_canister" - }, - "V": { - "item": "galacticraft:oxygen_vent" - } - }, - "pattern": [ - "SSS", - "FTV", - "ACA" - ], - "result": { - "item": "galacticraft:oxygen_collector" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/oxygen_compressor.json b/src/main/generated/data/galacticraft/recipes/oxygen_compressor.json deleted file mode 100644 index 586c20288b..0000000000 --- a/src/main/generated/data/galacticraft/recipes/oxygen_compressor.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "A": { - "item": "galacticraft:compressed_aluminum" - }, - "B": { - "item": "galacticraft:compressed_bronze" - }, - "C": { - "item": "galacticraft:oxygen_concentrator" - }, - "S": { - "item": "galacticraft:compressed_steel" - } - }, - "pattern": [ - "SAS", - "ACA", - "SBS" - ], - "result": { - "item": "galacticraft:oxygen_compressor" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/oxygen_concentrator.json b/src/main/generated/data/galacticraft/recipes/oxygen_concentrator.json deleted file mode 100644 index 3cfcc7fb1e..0000000000 --- a/src/main/generated/data/galacticraft/recipes/oxygen_concentrator.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "W": { - "tag": "c:compressed_tin" - }, - "X": { - "item": "galacticraft:oxygen_vent" - }, - "Y": { - "item": "galacticraft:tin_canister" - }, - "Z": { - "tag": "c:compressed_steel" - } - }, - "pattern": [ - "ZWZ", - "WYW", - "ZXZ" - ], - "result": { - "item": "galacticraft:oxygen_concentrator" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/oxygen_decompressor.json b/src/main/generated/data/galacticraft/recipes/oxygen_decompressor.json deleted file mode 100644 index 2094da8674..0000000000 --- a/src/main/generated/data/galacticraft/recipes/oxygen_decompressor.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "A": { - "item": "galacticraft:compressed_aluminum" - }, - "C": { - "item": "galacticraft:oxygen_concentrator" - }, - "F": { - "item": "galacticraft:oxygen_fan" - }, - "R": { - "item": "minecraft:redstone_torch" - }, - "S": { - "item": "galacticraft:compressed_steel" - } - }, - "pattern": [ - "SFS", - "ACA", - "SRS" - ], - "result": { - "item": "galacticraft:oxygen_decompressor" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/oxygen_fan.json b/src/main/generated/data/galacticraft/recipes/oxygen_fan.json deleted file mode 100644 index 12e17fce8d..0000000000 --- a/src/main/generated/data/galacticraft/recipes/oxygen_fan.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "R": { - "tag": "c:redstone_dusts" - }, - "S": { - "item": "galacticraft:compressed_steel" - }, - "W": { - "item": "galacticraft:basic_wafer" - } - }, - "pattern": [ - "S S", - " W ", - "SRS" - ], - "result": { - "item": "galacticraft:oxygen_fan" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/oxygen_gear.json b/src/main/generated/data/galacticraft/recipes/oxygen_gear.json deleted file mode 100644 index 8f508427d8..0000000000 --- a/src/main/generated/data/galacticraft/recipes/oxygen_gear.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "X": { - "item": "galacticraft:oxygen_concentrator" - }, - "Y": { - "item": "galacticraft:glass_fluid_pipe" - } - }, - "pattern": [ - " Y ", - "YXY", - "Y Y" - ], - "result": { - "item": "galacticraft:oxygen_gear" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/oxygen_mask.json b/src/main/generated/data/galacticraft/recipes/oxygen_mask.json deleted file mode 100644 index fd90fec836..0000000000 --- a/src/main/generated/data/galacticraft/recipes/oxygen_mask.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "G": { - "item": "minecraft:glass_pane" - }, - "H": { - "item": "minecraft:iron_helmet" - } - }, - "pattern": [ - "GGG", - "GHG", - "GGG" - ], - "result": { - "item": "galacticraft:oxygen_mask" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/oxygen_sealer.json b/src/main/generated/data/galacticraft/recipes/oxygen_sealer.json deleted file mode 100644 index ebd60648bf..0000000000 --- a/src/main/generated/data/galacticraft/recipes/oxygen_sealer.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "A": { - "item": "galacticraft:compressed_aluminum" - }, - "F": { - "item": "galacticraft:oxygen_fan" - }, - "S": { - "item": "galacticraft:compressed_steel" - }, - "V": { - "item": "galacticraft:oxygen_vent" - } - }, - "pattern": [ - "ASA", - "VFV", - "ASA" - ], - "result": { - "item": "galacticraft:oxygen_sealer" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/oxygen_storage_module.json b/src/main/generated/data/galacticraft/recipes/oxygen_storage_module.json deleted file mode 100644 index cece3e6840..0000000000 --- a/src/main/generated/data/galacticraft/recipes/oxygen_storage_module.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "S": { - "item": "galacticraft:compressed_steel" - }, - "T": { - "item": "galacticraft:large_oxygen_tank" - } - }, - "pattern": [ - "SSS", - "TTT", - "SSS" - ], - "result": { - "item": "galacticraft:oxygen_storage_module" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/oxygen_vent.json b/src/main/generated/data/galacticraft/recipes/oxygen_vent.json deleted file mode 100644 index 191b03916c..0000000000 --- a/src/main/generated/data/galacticraft/recipes/oxygen_vent.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "S": { - "item": "galacticraft:compressed_steel" - }, - "T": { - "item": "galacticraft:compressed_tin" - } - }, - "pattern": [ - "TT", - "TS" - ], - "result": { - "item": "galacticraft:oxygen_vent" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/pink_parachute.json b/src/main/generated/data/galacticraft/recipes/pink_parachute.json deleted file mode 100644 index 4c987d6236..0000000000 --- a/src/main/generated/data/galacticraft/recipes/pink_parachute.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "item": "galacticraft:white_parachute" - }, - { - "item": "minecraft:pink_dye" - } - ], - "result": { - "item": "galacticraft:pink_parachute" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/purple_parachute.json b/src/main/generated/data/galacticraft/recipes/purple_parachute.json deleted file mode 100644 index 05753f75cd..0000000000 --- a/src/main/generated/data/galacticraft/recipes/purple_parachute.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "item": "galacticraft:white_parachute" - }, - { - "item": "minecraft:purple_dye" - } - ], - "result": { - "item": "galacticraft:purple_parachute" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/red_parachute.json b/src/main/generated/data/galacticraft/recipes/red_parachute.json deleted file mode 100644 index aa11d6b03e..0000000000 --- a/src/main/generated/data/galacticraft/recipes/red_parachute.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "item": "galacticraft:white_parachute" - }, - { - "item": "minecraft:red_dye" - } - ], - "result": { - "item": "galacticraft:red_parachute" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/refinery.json b/src/main/generated/data/galacticraft/recipes/refinery.json deleted file mode 100644 index edd49b440b..0000000000 --- a/src/main/generated/data/galacticraft/recipes/refinery.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "C": { - "item": "galacticraft:copper_canister" - }, - "F": { - "item": "minecraft:blast_furnace" - }, - "S": { - "item": "galacticraft:compressed_steel" - } - }, - "pattern": [ - "SCS", - "SCS", - "SFS" - ], - "result": { - "item": "galacticraft:refinery" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/rocket_engine.json b/src/main/generated/data/galacticraft/recipes/rocket_engine.json deleted file mode 100644 index 4a74aaec49..0000000000 --- a/src/main/generated/data/galacticraft/recipes/rocket_engine.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "B": { - "item": "minecraft:stone_button" - }, - "F": { - "item": "minecraft:flint_and_steel" - }, - "P": { - "item": "galacticraft:heavy_plating" - }, - "T": { - "item": "galacticraft:tin_canister" - }, - "V": { - "item": "galacticraft:oxygen_vent" - } - }, - "pattern": [ - " FB", - "PTP", - "PVP" - ], - "result": { - "item": "galacticraft:rocket_engine" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/rocket_fin.json b/src/main/generated/data/galacticraft/recipes/rocket_fin.json deleted file mode 100644 index 049efe1376..0000000000 --- a/src/main/generated/data/galacticraft/recipes/rocket_fin.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "P": { - "item": "galacticraft:heavy_plating" - }, - "S": { - "tag": "c:compressed_steel" - } - }, - "pattern": [ - " S ", - "PSP", - "P P" - ], - "result": { - "item": "galacticraft:rocket_fin" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/rocket_launch_pad.json b/src/main/generated/data/galacticraft/recipes/rocket_launch_pad.json deleted file mode 100644 index 022a919143..0000000000 --- a/src/main/generated/data/galacticraft/recipes/rocket_launch_pad.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "C": { - "item": "galacticraft:compressed_iron" - }, - "I": { - "item": "minecraft:iron_block" - } - }, - "pattern": [ - "CCC", - "III" - ], - "result": { - "count": 9, - "item": "galacticraft:rocket_launch_pad" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/rocket_workbench.json b/src/main/generated/data/galacticraft/recipes/rocket_workbench.json deleted file mode 100644 index 3a8c2e83f8..0000000000 --- a/src/main/generated/data/galacticraft/recipes/rocket_workbench.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "C": { - "item": "minecraft:crafting_table" - }, - "L": { - "item": "minecraft:lever" - }, - "R": { - "item": "minecraft:redstone_torch" - }, - "S": { - "item": "galacticraft:compressed_steel" - }, - "W": { - "item": "galacticraft:advanced_wafer" - } - }, - "pattern": [ - "SCS", - "LWL", - "SRS" - ], - "result": { - "item": "galacticraft:rocket_workbench" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/sealable_aluminum_wire.json b/src/main/generated/data/galacticraft/recipes/sealable_aluminum_wire.json deleted file mode 100644 index de4441439e..0000000000 --- a/src/main/generated/data/galacticraft/recipes/sealable_aluminum_wire.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "T": { - "item": "galacticraft:tin_decoration" - }, - "W": { - "item": "galacticraft:aluminum_wire" - } - }, - "pattern": [ - "TWT" - ], - "result": { - "count": 6, - "item": "galacticraft:sealable_aluminum_wire" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/sensor_glasses.json b/src/main/generated/data/galacticraft/recipes/sensor_glasses.json deleted file mode 100644 index e7cb0cfa21..0000000000 --- a/src/main/generated/data/galacticraft/recipes/sensor_glasses.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "D": { - "tag": "c:diamonds" - }, - "L": { - "item": "galacticraft:sensor_lens" - }, - "M": { - "item": "galacticraft:meteoric_iron_ingot" - }, - "S": { - "item": "minecraft:string" - } - }, - "pattern": [ - "SDS", - "S S", - "LML" - ], - "result": { - "item": "galacticraft:sensor_glasses" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/sensor_lens.json b/src/main/generated/data/galacticraft/recipes/sensor_lens.json deleted file mode 100644 index 53d78b8575..0000000000 --- a/src/main/generated/data/galacticraft/recipes/sensor_lens.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "F": { - "item": "galacticraft:compressed_meteoric_iron" - }, - "P": { - "tag": "c:glass_panes" - }, - "R": { - "tag": "c:redstone_dusts" - } - }, - "pattern": [ - "RPR", - "PFP", - "RPR" - ], - "result": { - "item": "galacticraft:sensor_lens" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/single_solar_module.json b/src/main/generated/data/galacticraft/recipes/single_solar_module.json deleted file mode 100644 index 19a597679e..0000000000 --- a/src/main/generated/data/galacticraft/recipes/single_solar_module.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "G": { - "tag": "c:glass_blocks" - }, - "S": { - "item": "galacticraft:solar_array_wafer" - }, - "W": { - "item": "galacticraft:aluminum_wire" - } - }, - "pattern": [ - "GGG", - "SSS", - "WWW" - ], - "result": { - "count": 2, - "item": "galacticraft:single_solar_module" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/small_oxygen_tank.json b/src/main/generated/data/galacticraft/recipes/small_oxygen_tank.json deleted file mode 100644 index b320a32ac4..0000000000 --- a/src/main/generated/data/galacticraft/recipes/small_oxygen_tank.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "C": { - "item": "galacticraft:compressed_copper" - }, - "T": { - "item": "galacticraft:tin_canister" - }, - "W": { - "item": "minecraft:lime_wool" - } - }, - "pattern": [ - "W", - "T", - "C" - ], - "result": { - "item": "galacticraft:small_oxygen_tank" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/spotlight_light_panel.json b/src/main/generated/data/galacticraft/recipes/spotlight_light_panel.json deleted file mode 100644 index d932785348..0000000000 --- a/src/main/generated/data/galacticraft/recipes/spotlight_light_panel.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "G": { - "item": "galacticraft:glowstone_torch" - }, - "S": { - "item": "minecraft:glass_pane" - }, - "T": { - "item": "galacticraft:compressed_steel" - } - }, - "pattern": [ - "S S", - " G ", - "STS" - ], - "result": { - "item": "galacticraft:spotlight_light_panel" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/square_light_panel.json b/src/main/generated/data/galacticraft/recipes/square_light_panel.json deleted file mode 100644 index d8f506d946..0000000000 --- a/src/main/generated/data/galacticraft/recipes/square_light_panel.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "G": { - "item": "galacticraft:glowstone_torch" - }, - "S": { - "item": "minecraft:glass_pane" - }, - "T": { - "item": "galacticraft:compressed_steel" - } - }, - "pattern": [ - "SSS", - "SGS", - "STS" - ], - "result": { - "item": "galacticraft:square_light_panel" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/standard_wrench.json b/src/main/generated/data/galacticraft/recipes/standard_wrench.json deleted file mode 100644 index 1fed6671d1..0000000000 --- a/src/main/generated/data/galacticraft/recipes/standard_wrench.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "B": { - "item": "galacticraft:compressed_bronze" - }, - "S": { - "item": "galacticraft:compressed_steel" - } - }, - "pattern": [ - " S", - " B ", - "B " - ], - "result": { - "item": "galacticraft:standard_wrench" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/steel_decoration.json b/src/main/generated/data/galacticraft/recipes/steel_decoration.json deleted file mode 100644 index 5c29a60e1c..0000000000 --- a/src/main/generated/data/galacticraft/recipes/steel_decoration.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "minecraft:stone" - }, - "X": { - "item": "galacticraft:compressed_steel" - } - }, - "pattern": [ - "## ", - "##X" - ], - "result": { - "item": "galacticraft:steel_decoration" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/steel_decoration_slab.json b/src/main/generated/data/galacticraft/recipes/steel_decoration_slab.json deleted file mode 100644 index d39c8471dd..0000000000 --- a/src/main/generated/data/galacticraft/recipes/steel_decoration_slab.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:steel_decoration" - } - }, - "pattern": [ - "###" - ], - "result": { - "count": 6, - "item": "galacticraft:steel_decoration_slab" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/steel_decoration_stairs.json b/src/main/generated/data/galacticraft/recipes/steel_decoration_stairs.json deleted file mode 100644 index 87b387655f..0000000000 --- a/src/main/generated/data/galacticraft/recipes/steel_decoration_stairs.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:steel_decoration" - } - }, - "pattern": [ - "# ", - "## ", - "###" - ], - "result": { - "count": 4, - "item": "galacticraft:steel_decoration_stairs" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/steel_decoration_wall.json b/src/main/generated/data/galacticraft/recipes/steel_decoration_wall.json deleted file mode 100644 index fdfe2869af..0000000000 --- a/src/main/generated/data/galacticraft/recipes/steel_decoration_wall.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:steel_decoration" - } - }, - "pattern": [ - "###", - "###" - ], - "result": { - "count": 6, - "item": "galacticraft:steel_decoration_wall" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/steel_pole.json b/src/main/generated/data/galacticraft/recipes/steel_pole.json deleted file mode 100644 index d5658ccc37..0000000000 --- a/src/main/generated/data/galacticraft/recipes/steel_pole.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "I": { - "item": "galacticraft:compressed_steel" - } - }, - "pattern": [ - "I", - "I", - "I" - ], - "result": { - "item": "galacticraft:steel_pole" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/thermal_cloth.json b/src/main/generated/data/galacticraft/recipes/thermal_cloth.json deleted file mode 100644 index 2343f37eee..0000000000 --- a/src/main/generated/data/galacticraft/recipes/thermal_cloth.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "R": { - "tag": "c:redstone_dusts" - }, - "W": { - "tag": "minecraft:wool" - } - }, - "pattern": [ - " W ", - "WRW", - " W " - ], - "result": { - "item": "galacticraft:thermal_cloth" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/thermal_padding_boots.json b/src/main/generated/data/galacticraft/recipes/thermal_padding_boots.json deleted file mode 100644 index e84d58c866..0000000000 --- a/src/main/generated/data/galacticraft/recipes/thermal_padding_boots.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "C": { - "item": "galacticraft:thermal_cloth" - } - }, - "pattern": [ - "C C", - "C C" - ], - "result": { - "item": "galacticraft:thermal_padding_boots" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/thermal_padding_chestpiece.json b/src/main/generated/data/galacticraft/recipes/thermal_padding_chestpiece.json deleted file mode 100644 index 3f11e6dcb8..0000000000 --- a/src/main/generated/data/galacticraft/recipes/thermal_padding_chestpiece.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "C": { - "item": "galacticraft:thermal_cloth" - } - }, - "pattern": [ - "C C", - "CCC", - "CCC" - ], - "result": { - "item": "galacticraft:thermal_padding_chestpiece" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/thermal_padding_helmet.json b/src/main/generated/data/galacticraft/recipes/thermal_padding_helmet.json deleted file mode 100644 index e60ffce498..0000000000 --- a/src/main/generated/data/galacticraft/recipes/thermal_padding_helmet.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "C": { - "item": "galacticraft:thermal_cloth" - } - }, - "pattern": [ - "CCC", - "C C" - ], - "result": { - "item": "galacticraft:thermal_padding_helmet" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/thermal_padding_leggings.json b/src/main/generated/data/galacticraft/recipes/thermal_padding_leggings.json deleted file mode 100644 index da29135539..0000000000 --- a/src/main/generated/data/galacticraft/recipes/thermal_padding_leggings.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "C": { - "item": "galacticraft:thermal_cloth" - } - }, - "pattern": [ - "CCC", - "C C", - "C C" - ], - "result": { - "item": "galacticraft:thermal_padding_leggings" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/throwable_meteor_chunk.json b/src/main/generated/data/galacticraft/recipes/throwable_meteor_chunk.json deleted file mode 100644 index 3c28da5988..0000000000 --- a/src/main/generated/data/galacticraft/recipes/throwable_meteor_chunk.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "equipment", - "ingredients": [ - { - "item": "galacticraft:raw_meteoric_iron" - } - ], - "result": { - "count": 3, - "item": "galacticraft:throwable_meteor_chunk" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/tin_canister.json b/src/main/generated/data/galacticraft/recipes/tin_canister.json deleted file mode 100644 index 8ba7e07e42..0000000000 --- a/src/main/generated/data/galacticraft/recipes/tin_canister.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "X": { - "tag": "c:tin_ingots" - } - }, - "pattern": [ - "X X", - "X X", - "XXX" - ], - "result": { - "count": 2, - "item": "galacticraft:tin_canister" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/tin_decoration.json b/src/main/generated/data/galacticraft/recipes/tin_decoration.json deleted file mode 100644 index 6d64394880..0000000000 --- a/src/main/generated/data/galacticraft/recipes/tin_decoration.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "minecraft:stone" - }, - "X": { - "item": "galacticraft:compressed_tin" - } - }, - "pattern": [ - "## ", - "##X" - ], - "result": { - "item": "galacticraft:tin_decoration" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/tin_decoration_slab.json b/src/main/generated/data/galacticraft/recipes/tin_decoration_slab.json deleted file mode 100644 index 2102ac8334..0000000000 --- a/src/main/generated/data/galacticraft/recipes/tin_decoration_slab.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:tin_decoration" - } - }, - "pattern": [ - "###" - ], - "result": { - "count": 6, - "item": "galacticraft:tin_decoration_slab" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/tin_decoration_stairs.json b/src/main/generated/data/galacticraft/recipes/tin_decoration_stairs.json deleted file mode 100644 index b5a8ab6ecc..0000000000 --- a/src/main/generated/data/galacticraft/recipes/tin_decoration_stairs.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:tin_decoration" - } - }, - "pattern": [ - "# ", - "## ", - "###" - ], - "result": { - "count": 4, - "item": "galacticraft:tin_decoration_stairs" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/tin_decoration_wall.json b/src/main/generated/data/galacticraft/recipes/tin_decoration_wall.json deleted file mode 100644 index d338d8881a..0000000000 --- a/src/main/generated/data/galacticraft/recipes/tin_decoration_wall.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:tin_decoration" - } - }, - "pattern": [ - "###", - "###" - ], - "result": { - "count": 6, - "item": "galacticraft:tin_decoration_wall" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/tin_ingot_from_blasting_deepslate_tin_ore.json b/src/main/generated/data/galacticraft/recipes/tin_ingot_from_blasting_deepslate_tin_ore.json deleted file mode 100644 index 05a2f4d09f..0000000000 --- a/src/main/generated/data/galacticraft/recipes/tin_ingot_from_blasting_deepslate_tin_ore.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "type": "minecraft:blasting", - "category": "misc", - "cookingtime": 100, - "experience": 0.7, - "group": "tin_ingot", - "ingredient": { - "item": "galacticraft:deepslate_tin_ore" - }, - "result": "galacticraft:tin_ingot" -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/tin_ingot_from_blasting_moon_tin_ore.json b/src/main/generated/data/galacticraft/recipes/tin_ingot_from_blasting_moon_tin_ore.json deleted file mode 100644 index f5c495c24e..0000000000 --- a/src/main/generated/data/galacticraft/recipes/tin_ingot_from_blasting_moon_tin_ore.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "type": "minecraft:blasting", - "category": "misc", - "cookingtime": 100, - "experience": 0.7, - "group": "tin_ingot", - "ingredient": { - "item": "galacticraft:moon_tin_ore" - }, - "result": "galacticraft:tin_ingot" -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/tin_ingot_from_blasting_raw_tin.json b/src/main/generated/data/galacticraft/recipes/tin_ingot_from_blasting_raw_tin.json deleted file mode 100644 index 9afb9e80c2..0000000000 --- a/src/main/generated/data/galacticraft/recipes/tin_ingot_from_blasting_raw_tin.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "type": "minecraft:blasting", - "category": "misc", - "cookingtime": 100, - "experience": 0.7, - "group": "tin_ingot", - "ingredient": { - "item": "galacticraft:raw_tin" - }, - "result": "galacticraft:tin_ingot" -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/tin_ingot_from_blasting_tin_ore.json b/src/main/generated/data/galacticraft/recipes/tin_ingot_from_blasting_tin_ore.json deleted file mode 100644 index ac28f19750..0000000000 --- a/src/main/generated/data/galacticraft/recipes/tin_ingot_from_blasting_tin_ore.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "type": "minecraft:blasting", - "category": "misc", - "cookingtime": 100, - "experience": 0.7, - "group": "tin_ingot", - "ingredient": { - "item": "galacticraft:tin_ore" - }, - "result": "galacticraft:tin_ingot" -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/tin_ingot_from_nuggets.json b/src/main/generated/data/galacticraft/recipes/tin_ingot_from_nuggets.json deleted file mode 100644 index 429fca6103..0000000000 --- a/src/main/generated/data/galacticraft/recipes/tin_ingot_from_nuggets.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "group": "tin_ingot", - "key": { - "#": { - "item": "galacticraft:tin_nugget" - } - }, - "pattern": [ - "###", - "###", - "###" - ], - "result": { - "item": "galacticraft:tin_ingot" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/tin_ingot_from_smelting_deepslate_tin_ore.json b/src/main/generated/data/galacticraft/recipes/tin_ingot_from_smelting_deepslate_tin_ore.json deleted file mode 100644 index 916a1e1dcc..0000000000 --- a/src/main/generated/data/galacticraft/recipes/tin_ingot_from_smelting_deepslate_tin_ore.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "type": "minecraft:smelting", - "category": "misc", - "cookingtime": 200, - "experience": 0.7, - "group": "tin_ingot", - "ingredient": { - "item": "galacticraft:deepslate_tin_ore" - }, - "result": "galacticraft:tin_ingot" -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/tin_ingot_from_smelting_moon_tin_ore.json b/src/main/generated/data/galacticraft/recipes/tin_ingot_from_smelting_moon_tin_ore.json deleted file mode 100644 index 3bd9c81bc9..0000000000 --- a/src/main/generated/data/galacticraft/recipes/tin_ingot_from_smelting_moon_tin_ore.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "type": "minecraft:smelting", - "category": "misc", - "cookingtime": 200, - "experience": 0.7, - "group": "tin_ingot", - "ingredient": { - "item": "galacticraft:moon_tin_ore" - }, - "result": "galacticraft:tin_ingot" -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/tin_ingot_from_smelting_raw_tin.json b/src/main/generated/data/galacticraft/recipes/tin_ingot_from_smelting_raw_tin.json deleted file mode 100644 index 40c083add4..0000000000 --- a/src/main/generated/data/galacticraft/recipes/tin_ingot_from_smelting_raw_tin.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "type": "minecraft:smelting", - "category": "misc", - "cookingtime": 200, - "experience": 0.7, - "group": "tin_ingot", - "ingredient": { - "item": "galacticraft:raw_tin" - }, - "result": "galacticraft:tin_ingot" -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/tin_ingot_from_smelting_tin_ore.json b/src/main/generated/data/galacticraft/recipes/tin_ingot_from_smelting_tin_ore.json deleted file mode 100644 index 8f8be5ef4e..0000000000 --- a/src/main/generated/data/galacticraft/recipes/tin_ingot_from_smelting_tin_ore.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "type": "minecraft:smelting", - "category": "misc", - "cookingtime": 200, - "experience": 0.7, - "group": "tin_ingot", - "ingredient": { - "item": "galacticraft:tin_ore" - }, - "result": "galacticraft:tin_ingot" -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/tin_ladder.json b/src/main/generated/data/galacticraft/recipes/tin_ladder.json deleted file mode 100644 index f19839f382..0000000000 --- a/src/main/generated/data/galacticraft/recipes/tin_ladder.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "T": { - "item": "galacticraft:tin_ingot" - } - }, - "pattern": [ - "T T", - "TTT", - "T T" - ], - "result": { - "count": 6, - "item": "galacticraft:tin_ladder" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/tin_nugget.json b/src/main/generated/data/galacticraft/recipes/tin_nugget.json deleted file mode 100644 index 790768ab5a..0000000000 --- a/src/main/generated/data/galacticraft/recipes/tin_nugget.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "item": "galacticraft:tin_ingot" - } - ], - "result": { - "count": 9, - "item": "galacticraft:tin_nugget" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/titanium_axe_smithing.json b/src/main/generated/data/galacticraft/recipes/titanium_axe_smithing.json deleted file mode 100644 index b7548cd567..0000000000 --- a/src/main/generated/data/galacticraft/recipes/titanium_axe_smithing.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:smithing_transform", - "addition": { - "item": "galacticraft:compressed_titanium" - }, - "base": { - "item": "galacticraft:desh_axe" - }, - "result": { - "item": "galacticraft:titanium_axe" - }, - "template": { - "item": "galacticraft:titanium_upgrade_smithing_template" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/titanium_block.json b/src/main/generated/data/galacticraft/recipes/titanium_block.json deleted file mode 100644 index f6a6f02c0e..0000000000 --- a/src/main/generated/data/galacticraft/recipes/titanium_block.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:titanium_ingot" - } - }, - "pattern": [ - "###", - "###", - "###" - ], - "result": { - "item": "galacticraft:titanium_block" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/titanium_boots_smithing.json b/src/main/generated/data/galacticraft/recipes/titanium_boots_smithing.json deleted file mode 100644 index a0af9a8a35..0000000000 --- a/src/main/generated/data/galacticraft/recipes/titanium_boots_smithing.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:smithing_transform", - "addition": { - "item": "galacticraft:compressed_titanium" - }, - "base": { - "item": "galacticraft:desh_boots" - }, - "result": { - "item": "galacticraft:titanium_boots" - }, - "template": { - "item": "galacticraft:titanium_upgrade_smithing_template" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/titanium_chestplate_smithing.json b/src/main/generated/data/galacticraft/recipes/titanium_chestplate_smithing.json deleted file mode 100644 index f9087588d1..0000000000 --- a/src/main/generated/data/galacticraft/recipes/titanium_chestplate_smithing.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:smithing_transform", - "addition": { - "item": "galacticraft:compressed_titanium" - }, - "base": { - "item": "galacticraft:desh_chestplate" - }, - "result": { - "item": "galacticraft:titanium_chestplate" - }, - "template": { - "item": "galacticraft:titanium_upgrade_smithing_template" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/titanium_decoration.json b/src/main/generated/data/galacticraft/recipes/titanium_decoration.json deleted file mode 100644 index eca841e96b..0000000000 --- a/src/main/generated/data/galacticraft/recipes/titanium_decoration.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "minecraft:stone" - }, - "X": { - "item": "galacticraft:compressed_titanium" - } - }, - "pattern": [ - "## ", - "##X" - ], - "result": { - "item": "galacticraft:titanium_decoration" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/titanium_decoration_slab.json b/src/main/generated/data/galacticraft/recipes/titanium_decoration_slab.json deleted file mode 100644 index 710356235a..0000000000 --- a/src/main/generated/data/galacticraft/recipes/titanium_decoration_slab.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:titanium_decoration" - } - }, - "pattern": [ - "###" - ], - "result": { - "count": 6, - "item": "galacticraft:titanium_decoration_slab" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/titanium_decoration_stairs.json b/src/main/generated/data/galacticraft/recipes/titanium_decoration_stairs.json deleted file mode 100644 index fe231ed99d..0000000000 --- a/src/main/generated/data/galacticraft/recipes/titanium_decoration_stairs.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:titanium_decoration" - } - }, - "pattern": [ - "# ", - "## ", - "###" - ], - "result": { - "count": 4, - "item": "galacticraft:titanium_decoration_stairs" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/titanium_decoration_wall.json b/src/main/generated/data/galacticraft/recipes/titanium_decoration_wall.json deleted file mode 100644 index db289e9aed..0000000000 --- a/src/main/generated/data/galacticraft/recipes/titanium_decoration_wall.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "building", - "key": { - "#": { - "item": "galacticraft:titanium_decoration" - } - }, - "pattern": [ - "###", - "###" - ], - "result": { - "count": 6, - "item": "galacticraft:titanium_decoration_wall" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/titanium_helmet_smithing.json b/src/main/generated/data/galacticraft/recipes/titanium_helmet_smithing.json deleted file mode 100644 index b62dfdcfcf..0000000000 --- a/src/main/generated/data/galacticraft/recipes/titanium_helmet_smithing.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:smithing_transform", - "addition": { - "item": "galacticraft:compressed_titanium" - }, - "base": { - "item": "galacticraft:desh_helmet" - }, - "result": { - "item": "galacticraft:titanium_helmet" - }, - "template": { - "item": "galacticraft:titanium_upgrade_smithing_template" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/titanium_hoe_smithing.json b/src/main/generated/data/galacticraft/recipes/titanium_hoe_smithing.json deleted file mode 100644 index 5c3ab99aab..0000000000 --- a/src/main/generated/data/galacticraft/recipes/titanium_hoe_smithing.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:smithing_transform", - "addition": { - "item": "galacticraft:compressed_titanium" - }, - "base": { - "item": "galacticraft:desh_hoe" - }, - "result": { - "item": "galacticraft:titanium_hoe" - }, - "template": { - "item": "galacticraft:titanium_upgrade_smithing_template" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/titanium_ingot_from_blasting_ilmenite_ore.json b/src/main/generated/data/galacticraft/recipes/titanium_ingot_from_blasting_ilmenite_ore.json deleted file mode 100644 index d75ab28a3c..0000000000 --- a/src/main/generated/data/galacticraft/recipes/titanium_ingot_from_blasting_ilmenite_ore.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "type": "minecraft:blasting", - "category": "misc", - "cookingtime": 100, - "experience": 0.7, - "group": "titanium_ingot", - "ingredient": { - "item": "galacticraft:ilmenite_ore" - }, - "result": "galacticraft:titanium_ingot" -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/titanium_ingot_from_blasting_raw_titanium.json b/src/main/generated/data/galacticraft/recipes/titanium_ingot_from_blasting_raw_titanium.json deleted file mode 100644 index 1203969961..0000000000 --- a/src/main/generated/data/galacticraft/recipes/titanium_ingot_from_blasting_raw_titanium.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "type": "minecraft:blasting", - "category": "misc", - "cookingtime": 100, - "experience": 0.7, - "group": "titanium_ingot", - "ingredient": { - "item": "galacticraft:raw_titanium" - }, - "result": "galacticraft:titanium_ingot" -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/titanium_ingot_from_block.json b/src/main/generated/data/galacticraft/recipes/titanium_ingot_from_block.json deleted file mode 100644 index b90e4a8856..0000000000 --- a/src/main/generated/data/galacticraft/recipes/titanium_ingot_from_block.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "group": "titanium_ingot", - "ingredients": [ - { - "item": "galacticraft:titanium_block" - } - ], - "result": { - "count": 9, - "item": "galacticraft:titanium_ingot" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/titanium_ingot_from_nuggets.json b/src/main/generated/data/galacticraft/recipes/titanium_ingot_from_nuggets.json deleted file mode 100644 index 2deb328e3a..0000000000 --- a/src/main/generated/data/galacticraft/recipes/titanium_ingot_from_nuggets.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "group": "titanium_ingot", - "key": { - "#": { - "item": "galacticraft:titanium_nugget" - } - }, - "pattern": [ - "###", - "###", - "###" - ], - "result": { - "item": "galacticraft:titanium_ingot" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/titanium_ingot_from_smelting_ilmenite_ore.json b/src/main/generated/data/galacticraft/recipes/titanium_ingot_from_smelting_ilmenite_ore.json deleted file mode 100644 index ae4ec08d08..0000000000 --- a/src/main/generated/data/galacticraft/recipes/titanium_ingot_from_smelting_ilmenite_ore.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "type": "minecraft:smelting", - "category": "misc", - "cookingtime": 200, - "experience": 0.7, - "group": "titanium_ingot", - "ingredient": { - "item": "galacticraft:ilmenite_ore" - }, - "result": "galacticraft:titanium_ingot" -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/titanium_ingot_from_smelting_raw_titanium.json b/src/main/generated/data/galacticraft/recipes/titanium_ingot_from_smelting_raw_titanium.json deleted file mode 100644 index 44413c4a3a..0000000000 --- a/src/main/generated/data/galacticraft/recipes/titanium_ingot_from_smelting_raw_titanium.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "type": "minecraft:smelting", - "category": "misc", - "cookingtime": 200, - "experience": 0.7, - "group": "titanium_ingot", - "ingredient": { - "item": "galacticraft:raw_titanium" - }, - "result": "galacticraft:titanium_ingot" -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/titanium_leggings_smithing.json b/src/main/generated/data/galacticraft/recipes/titanium_leggings_smithing.json deleted file mode 100644 index 63749047a9..0000000000 --- a/src/main/generated/data/galacticraft/recipes/titanium_leggings_smithing.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:smithing_transform", - "addition": { - "item": "galacticraft:compressed_titanium" - }, - "base": { - "item": "galacticraft:desh_leggings" - }, - "result": { - "item": "galacticraft:titanium_leggings" - }, - "template": { - "item": "galacticraft:titanium_upgrade_smithing_template" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/titanium_nugget.json b/src/main/generated/data/galacticraft/recipes/titanium_nugget.json deleted file mode 100644 index 8620c57358..0000000000 --- a/src/main/generated/data/galacticraft/recipes/titanium_nugget.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "item": "galacticraft:titanium_ingot" - } - ], - "result": { - "count": 9, - "item": "galacticraft:titanium_nugget" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/titanium_pickaxe_smithing.json b/src/main/generated/data/galacticraft/recipes/titanium_pickaxe_smithing.json deleted file mode 100644 index 362056547d..0000000000 --- a/src/main/generated/data/galacticraft/recipes/titanium_pickaxe_smithing.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:smithing_transform", - "addition": { - "item": "galacticraft:compressed_titanium" - }, - "base": { - "item": "galacticraft:desh_pickaxe" - }, - "result": { - "item": "galacticraft:titanium_pickaxe" - }, - "template": { - "item": "galacticraft:titanium_upgrade_smithing_template" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/titanium_shovel_smithing.json b/src/main/generated/data/galacticraft/recipes/titanium_shovel_smithing.json deleted file mode 100644 index d7880fb626..0000000000 --- a/src/main/generated/data/galacticraft/recipes/titanium_shovel_smithing.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:smithing_transform", - "addition": { - "item": "galacticraft:compressed_titanium" - }, - "base": { - "item": "galacticraft:desh_shovel" - }, - "result": { - "item": "galacticraft:titanium_shovel" - }, - "template": { - "item": "galacticraft:titanium_upgrade_smithing_template" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/titanium_sword_smithing.json b/src/main/generated/data/galacticraft/recipes/titanium_sword_smithing.json deleted file mode 100644 index a2b54b2568..0000000000 --- a/src/main/generated/data/galacticraft/recipes/titanium_sword_smithing.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:smithing_transform", - "addition": { - "item": "galacticraft:compressed_titanium" - }, - "base": { - "item": "galacticraft:desh_sword" - }, - "result": { - "item": "galacticraft:titanium_sword" - }, - "template": { - "item": "galacticraft:titanium_upgrade_smithing_template" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/vacuum_glass.json b/src/main/generated/data/galacticraft/recipes/vacuum_glass.json deleted file mode 100644 index 5cccc72cf1..0000000000 --- a/src/main/generated/data/galacticraft/recipes/vacuum_glass.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "G": { - "item": "minecraft:glass" - }, - "T": { - "item": "galacticraft:tin_ingot" - } - }, - "pattern": [ - "TGT", - "GGG", - "TGT" - ], - "result": { - "item": "galacticraft:vacuum_glass" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/vacuum_glass_clear.json b/src/main/generated/data/galacticraft/recipes/vacuum_glass_clear.json deleted file mode 100644 index 2977b773ba..0000000000 --- a/src/main/generated/data/galacticraft/recipes/vacuum_glass_clear.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "A": { - "item": "galacticraft:aluminum_ingot" - }, - "G": { - "item": "minecraft:glass" - } - }, - "pattern": [ - "AGA", - "GGG", - "AGA" - ], - "result": { - "item": "galacticraft:vacuum_glass_clear" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/vacuum_glass_strong.json b/src/main/generated/data/galacticraft/recipes/vacuum_glass_strong.json deleted file mode 100644 index e89639d17f..0000000000 --- a/src/main/generated/data/galacticraft/recipes/vacuum_glass_strong.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "A": { - "item": "galacticraft:compressed_aluminum" - }, - "G": { - "item": "minecraft:glass" - } - }, - "pattern": [ - "AGA", - "GGG", - "AGA" - ], - "result": { - "item": "galacticraft:vacuum_glass_strong" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/walkway.json b/src/main/generated/data/galacticraft/recipes/walkway.json deleted file mode 100644 index c2e9cd9c49..0000000000 --- a/src/main/generated/data/galacticraft/recipes/walkway.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "T": { - "item": "galacticraft:compressed_titanium" - } - }, - "pattern": [ - "TTT", - " T " - ], - "result": { - "count": 5, - "item": "galacticraft:walkway" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/white_parachute.json b/src/main/generated/data/galacticraft/recipes/white_parachute.json deleted file mode 100644 index 8dc29b6695..0000000000 --- a/src/main/generated/data/galacticraft/recipes/white_parachute.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "C": { - "item": "galacticraft:canvas" - }, - "S": { - "item": "minecraft:string" - } - }, - "pattern": [ - "CCC", - "S S", - " S " - ], - "result": { - "item": "galacticraft:white_parachute" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/wire_walkway.json b/src/main/generated/data/galacticraft/recipes/wire_walkway.json deleted file mode 100644 index fd68c5a01e..0000000000 --- a/src/main/generated/data/galacticraft/recipes/wire_walkway.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "category": "misc", - "key": { - "T": { - "item": "galacticraft:compressed_titanium" - }, - "W": { - "item": "galacticraft:aluminum_wire" - } - }, - "pattern": [ - "TTT", - "WTW", - "WWW" - ], - "result": { - "count": 5, - "item": "galacticraft:wire_walkway" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/wire_walkway_shapeless.json b/src/main/generated/data/galacticraft/recipes/wire_walkway_shapeless.json deleted file mode 100644 index 7f99394a5e..0000000000 --- a/src/main/generated/data/galacticraft/recipes/wire_walkway_shapeless.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "item": "galacticraft:compressed_titanium" - }, - { - "item": "galacticraft:aluminum_wire" - } - ], - "result": { - "item": "galacticraft:wire_walkway" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/recipes/yellow_parachute.json b/src/main/generated/data/galacticraft/recipes/yellow_parachute.json deleted file mode 100644 index 64fb7d4b36..0000000000 --- a/src/main/generated/data/galacticraft/recipes/yellow_parachute.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "category": "misc", - "ingredients": [ - { - "item": "galacticraft:white_parachute" - }, - { - "item": "minecraft:yellow_dye" - } - ], - "result": { - "item": "galacticraft:yellow_parachute" - } -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/tags/block/base_stone_moon.json b/src/main/generated/data/galacticraft/tags/block/base_stone_moon.json new file mode 100644 index 0000000000..7c4f7ef42a --- /dev/null +++ b/src/main/generated/data/galacticraft/tags/block/base_stone_moon.json @@ -0,0 +1,5 @@ +{ + "values": [ + "galacticraft:moon_rock" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/tags/block/footprints.json b/src/main/generated/data/galacticraft/tags/block/footprints.json new file mode 100644 index 0000000000..a114c23338 --- /dev/null +++ b/src/main/generated/data/galacticraft/tags/block/footprints.json @@ -0,0 +1,5 @@ +{ + "values": [ + "galacticraft:moon_turf" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/tags/block/infiniburn_moon.json b/src/main/generated/data/galacticraft/tags/block/infiniburn_moon.json new file mode 100644 index 0000000000..b3a1c2a891 --- /dev/null +++ b/src/main/generated/data/galacticraft/tags/block/infiniburn_moon.json @@ -0,0 +1,5 @@ +{ + "values": [ + "galacticraft:moon_basalt_brick" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/tags/block/lunaslate_ore_replaceables.json b/src/main/generated/data/galacticraft/tags/block/lunaslate_ore_replaceables.json new file mode 100644 index 0000000000..4c308aa61b --- /dev/null +++ b/src/main/generated/data/galacticraft/tags/block/lunaslate_ore_replaceables.json @@ -0,0 +1,5 @@ +{ + "values": [ + "galacticraft:lunaslate" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/tags/blocks/machines.json b/src/main/generated/data/galacticraft/tags/block/machines.json similarity index 97% rename from src/main/generated/data/galacticraft/tags/blocks/machines.json rename to src/main/generated/data/galacticraft/tags/block/machines.json index 2e0a71a0bf..4f99685ee9 100644 --- a/src/main/generated/data/galacticraft/tags/blocks/machines.json +++ b/src/main/generated/data/galacticraft/tags/block/machines.json @@ -1,5 +1,4 @@ { - "replace": false, "values": [ "galacticraft:circuit_fabricator", "galacticraft:compressor", diff --git a/src/main/generated/data/galacticraft/tags/blocks/moon_carver_replaceables.json b/src/main/generated/data/galacticraft/tags/block/moon_carver_replaceables.json similarity index 90% rename from src/main/generated/data/galacticraft/tags/blocks/moon_carver_replaceables.json rename to src/main/generated/data/galacticraft/tags/block/moon_carver_replaceables.json index d2af7e353f..9910c68012 100644 --- a/src/main/generated/data/galacticraft/tags/blocks/moon_carver_replaceables.json +++ b/src/main/generated/data/galacticraft/tags/block/moon_carver_replaceables.json @@ -1,5 +1,4 @@ { - "replace": false, "values": [ "galacticraft:moon_rock", "galacticraft:moon_surface_rock", diff --git a/src/main/generated/data/galacticraft/tags/blocks/moon_crater_carver_replaceables.json b/src/main/generated/data/galacticraft/tags/block/moon_crater_carver_replaceables.json similarity index 90% rename from src/main/generated/data/galacticraft/tags/blocks/moon_crater_carver_replaceables.json rename to src/main/generated/data/galacticraft/tags/block/moon_crater_carver_replaceables.json index d2af7e353f..9910c68012 100644 --- a/src/main/generated/data/galacticraft/tags/blocks/moon_crater_carver_replaceables.json +++ b/src/main/generated/data/galacticraft/tags/block/moon_crater_carver_replaceables.json @@ -1,5 +1,4 @@ { - "replace": false, "values": [ "galacticraft:moon_rock", "galacticraft:moon_surface_rock", diff --git a/src/main/generated/data/galacticraft/tags/block/moon_stone_ore_replaceables.json b/src/main/generated/data/galacticraft/tags/block/moon_stone_ore_replaceables.json new file mode 100644 index 0000000000..7c4f7ef42a --- /dev/null +++ b/src/main/generated/data/galacticraft/tags/block/moon_stone_ore_replaceables.json @@ -0,0 +1,5 @@ +{ + "values": [ + "galacticraft:moon_rock" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/tags/blocks/base_stone_moon.json b/src/main/generated/data/galacticraft/tags/blocks/base_stone_moon.json deleted file mode 100644 index de47b916d9..0000000000 --- a/src/main/generated/data/galacticraft/tags/blocks/base_stone_moon.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "replace": false, - "values": [ - "galacticraft:moon_rock" - ] -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/tags/blocks/footprints.json b/src/main/generated/data/galacticraft/tags/blocks/footprints.json deleted file mode 100644 index 3f789cb87d..0000000000 --- a/src/main/generated/data/galacticraft/tags/blocks/footprints.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "replace": false, - "values": [ - "galacticraft:moon_turf" - ] -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/tags/blocks/infiniburn_moon.json b/src/main/generated/data/galacticraft/tags/blocks/infiniburn_moon.json deleted file mode 100644 index cdf6adddef..0000000000 --- a/src/main/generated/data/galacticraft/tags/blocks/infiniburn_moon.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "replace": false, - "values": [ - "galacticraft:moon_basalt_brick" - ] -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/tags/blocks/lunaslate_ore_replaceables.json b/src/main/generated/data/galacticraft/tags/blocks/lunaslate_ore_replaceables.json deleted file mode 100644 index 42d3ed74f7..0000000000 --- a/src/main/generated/data/galacticraft/tags/blocks/lunaslate_ore_replaceables.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "replace": false, - "values": [ - "galacticraft:lunaslate" - ] -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/tags/blocks/moon_stone_ore_replaceables.json b/src/main/generated/data/galacticraft/tags/blocks/moon_stone_ore_replaceables.json deleted file mode 100644 index de47b916d9..0000000000 --- a/src/main/generated/data/galacticraft/tags/blocks/moon_stone_ore_replaceables.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "replace": false, - "values": [ - "galacticraft:moon_rock" - ] -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/tags/dimension_type/footprints.json b/src/main/generated/data/galacticraft/tags/dimension_type/footprints.json index 7d9f74be1b..5268a02a44 100644 --- a/src/main/generated/data/galacticraft/tags/dimension_type/footprints.json +++ b/src/main/generated/data/galacticraft/tags/dimension_type/footprints.json @@ -1,5 +1,4 @@ { - "replace": false, "values": [ "galacticraft:moon" ] diff --git a/src/main/generated/data/galacticraft/tags/dimension_type/space.json b/src/main/generated/data/galacticraft/tags/dimension_type/space.json index b2229f1dde..ab25c8d9b1 100644 --- a/src/main/generated/data/galacticraft/tags/dimension_type/space.json +++ b/src/main/generated/data/galacticraft/tags/dimension_type/space.json @@ -1,5 +1,4 @@ { - "replace": false, "values": [ "galacticraft:moon", "galacticraft:venus", diff --git a/src/main/generated/data/galacticraft/tags/entity_type/has_footprints.json b/src/main/generated/data/galacticraft/tags/entity_type/has_footprints.json new file mode 100644 index 0000000000..42e185776c --- /dev/null +++ b/src/main/generated/data/galacticraft/tags/entity_type/has_footprints.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:player" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/tags/entity_types/has_footprints.json b/src/main/generated/data/galacticraft/tags/entity_types/has_footprints.json deleted file mode 100644 index bf6dd51f30..0000000000 --- a/src/main/generated/data/galacticraft/tags/entity_types/has_footprints.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "replace": false, - "values": [ - "minecraft:player" - ] -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/tags/fluid/oxygen.json b/src/main/generated/data/galacticraft/tags/fluid/oxygen.json new file mode 100644 index 0000000000..289d9479a2 --- /dev/null +++ b/src/main/generated/data/galacticraft/tags/fluid/oxygen.json @@ -0,0 +1,5 @@ +{ + "values": [ + "galacticraft:oxygen" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/tags/fluids/oxygen.json b/src/main/generated/data/galacticraft/tags/fluids/oxygen.json deleted file mode 100644 index a1b9381520..0000000000 --- a/src/main/generated/data/galacticraft/tags/fluids/oxygen.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "replace": false, - "values": [ - "galacticraft:oxygen" - ] -} \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/tags/worldgen/biome/asteroid.json b/src/main/generated/data/galacticraft/tags/worldgen/biome/asteroid.json index 66fb4071e5..9dcaf92d95 100644 --- a/src/main/generated/data/galacticraft/tags/worldgen/biome/asteroid.json +++ b/src/main/generated/data/galacticraft/tags/worldgen/biome/asteroid.json @@ -1,5 +1,4 @@ { - "replace": false, "values": [ "galacticraft:asteroid_field" ] diff --git a/src/main/generated/data/galacticraft/tags/worldgen/biome/has_structure/moon_pillager_base.json b/src/main/generated/data/galacticraft/tags/worldgen/biome/has_structure/moon_pillager_base.json index 22d0bff0ee..4b57bb3129 100644 --- a/src/main/generated/data/galacticraft/tags/worldgen/biome/has_structure/moon_pillager_base.json +++ b/src/main/generated/data/galacticraft/tags/worldgen/biome/has_structure/moon_pillager_base.json @@ -1,5 +1,4 @@ { - "replace": false, "values": [ "galacticraft:basaltic_mare" ] diff --git a/src/main/generated/data/galacticraft/tags/worldgen/biome/has_structure/moon_ruins.json b/src/main/generated/data/galacticraft/tags/worldgen/biome/has_structure/moon_ruins.json index 22d0bff0ee..4b57bb3129 100644 --- a/src/main/generated/data/galacticraft/tags/worldgen/biome/has_structure/moon_ruins.json +++ b/src/main/generated/data/galacticraft/tags/worldgen/biome/has_structure/moon_ruins.json @@ -1,5 +1,4 @@ { - "replace": false, "values": [ "galacticraft:basaltic_mare" ] diff --git a/src/main/generated/data/galacticraft/tags/worldgen/biome/has_structure/moon_village_highlands.json b/src/main/generated/data/galacticraft/tags/worldgen/biome/has_structure/moon_village_highlands.json index 1f3bcff6d5..0ba4c44be2 100644 --- a/src/main/generated/data/galacticraft/tags/worldgen/biome/has_structure/moon_village_highlands.json +++ b/src/main/generated/data/galacticraft/tags/worldgen/biome/has_structure/moon_village_highlands.json @@ -1,5 +1,4 @@ { - "replace": false, "values": [ "galacticraft:lunar_highlands" ] diff --git a/src/main/generated/data/galacticraft/tags/worldgen/biome/moon.json b/src/main/generated/data/galacticraft/tags/worldgen/biome/moon.json index a819237f0b..f33cf29088 100644 --- a/src/main/generated/data/galacticraft/tags/worldgen/biome/moon.json +++ b/src/main/generated/data/galacticraft/tags/worldgen/biome/moon.json @@ -1,5 +1,4 @@ { - "replace": false, "values": [ "galacticraft:comet_tundra", "galacticraft:basaltic_mare", diff --git a/src/main/generated/data/galacticraft/tags/worldgen/biome/venus.json b/src/main/generated/data/galacticraft/tags/worldgen/biome/venus.json index f6083e2a77..4bd2e1f59a 100644 --- a/src/main/generated/data/galacticraft/tags/worldgen/biome/venus.json +++ b/src/main/generated/data/galacticraft/tags/worldgen/biome/venus.json @@ -1,5 +1,4 @@ { - "replace": false, "values": [ "galacticraft:venus_valley", "galacticraft:venus_flat", diff --git a/src/main/generated/data/galacticraft/tags/worldgen/structure/moon_ruins.json b/src/main/generated/data/galacticraft/tags/worldgen/structure/moon_ruins.json index e2a6be84a9..21d13cc033 100644 --- a/src/main/generated/data/galacticraft/tags/worldgen/structure/moon_ruins.json +++ b/src/main/generated/data/galacticraft/tags/worldgen/structure/moon_ruins.json @@ -1,5 +1,4 @@ { - "replace": false, "values": [ "galacticraft:moon_ruins" ] diff --git a/src/main/generated/data/galacticraft/worldgen/configured_carver/moon_canyon_carver.json b/src/main/generated/data/galacticraft/worldgen/configured_carver/moon_canyon_carver.json index c62532ae3f..1c83ac1673 100644 --- a/src/main/generated/data/galacticraft/worldgen/configured_carver/moon_canyon_carver.json +++ b/src/main/generated/data/galacticraft/worldgen/configured_carver/moon_canyon_carver.json @@ -9,25 +9,19 @@ "shape": { "distance_factor": { "type": "minecraft:uniform", - "value": { - "max_exclusive": 1.0, - "min_inclusive": 0.75 - } + "max_exclusive": 1.0, + "min_inclusive": 0.75 }, "horizontal_radius_factor": { "type": "minecraft:uniform", - "value": { - "max_exclusive": 1.0, - "min_inclusive": 0.75 - } + "max_exclusive": 1.0, + "min_inclusive": 0.75 }, "thickness": { "type": "minecraft:trapezoid", - "value": { - "max": 6.0, - "min": 0.0, - "plateau": 2.0 - } + "max": 6.0, + "min": 0.0, + "plateau": 2.0 }, "vertical_radius_center_factor": 0.0, "vertical_radius_default_factor": 1.0, @@ -35,10 +29,8 @@ }, "vertical_rotation": { "type": "minecraft:uniform", - "value": { - "max_exclusive": 0.125, - "min_inclusive": -0.125 - } + "max_exclusive": 0.125, + "min_inclusive": -0.125 }, "y": { "type": "minecraft:uniform", diff --git a/src/main/generated/data/galacticraft/worldgen/configured_carver/moon_crater_carver.json b/src/main/generated/data/galacticraft/worldgen/configured_carver/moon_crater_carver.json index 90ee59548f..6e2166c3d8 100644 --- a/src/main/generated/data/galacticraft/worldgen/configured_carver/moon_crater_carver.json +++ b/src/main/generated/data/galacticraft/worldgen/configured_carver/moon_crater_carver.json @@ -26,10 +26,8 @@ }, "y_scale": { "type": "minecraft:uniform", - "value": { - "max_exclusive": 0.6, - "min_inclusive": 0.4 - } + "max_exclusive": 0.6, + "min_inclusive": 0.4 } } } \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/worldgen/configured_carver/moon_highlands_cave_carver.json b/src/main/generated/data/galacticraft/worldgen/configured_carver/moon_highlands_cave_carver.json index e919e7cf6a..c4d4ad41d8 100644 --- a/src/main/generated/data/galacticraft/worldgen/configured_carver/moon_highlands_cave_carver.json +++ b/src/main/generated/data/galacticraft/worldgen/configured_carver/moon_highlands_cave_carver.json @@ -3,17 +3,13 @@ "config": { "floor_level": { "type": "minecraft:uniform", - "value": { - "max_exclusive": -0.4, - "min_inclusive": -1.0 - } + "max_exclusive": -0.4, + "min_inclusive": -1.0 }, "horizontal_radius_multiplier": { "type": "minecraft:uniform", - "value": { - "max_exclusive": 1.4, - "min_inclusive": 0.7 - } + "max_exclusive": 1.4, + "min_inclusive": 0.7 }, "lava_level": { "above_bottom": -64 @@ -22,10 +18,8 @@ "replaceable": [], "vertical_radius_multiplier": { "type": "minecraft:uniform", - "value": { - "max_exclusive": 1.3, - "min_inclusive": 0.8 - } + "max_exclusive": 1.3, + "min_inclusive": 0.8 }, "y": { "type": "minecraft:uniform", @@ -38,10 +32,8 @@ }, "yScale": { "type": "minecraft:uniform", - "value": { - "max_exclusive": 0.9, - "min_inclusive": 0.1 - } + "max_exclusive": 0.9, + "min_inclusive": 0.1 } } } \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/worldgen/configured_carver/moon_mare_cave_carver.json b/src/main/generated/data/galacticraft/worldgen/configured_carver/moon_mare_cave_carver.json index c441f3df3e..421f09f469 100644 --- a/src/main/generated/data/galacticraft/worldgen/configured_carver/moon_mare_cave_carver.json +++ b/src/main/generated/data/galacticraft/worldgen/configured_carver/moon_mare_cave_carver.json @@ -3,17 +3,13 @@ "config": { "floor_level": { "type": "minecraft:uniform", - "value": { - "max_exclusive": -0.4, - "min_inclusive": -1.0 - } + "max_exclusive": -0.4, + "min_inclusive": -1.0 }, "horizontal_radius_multiplier": { "type": "minecraft:uniform", - "value": { - "max_exclusive": 1.4, - "min_inclusive": 0.7 - } + "max_exclusive": 1.4, + "min_inclusive": 0.7 }, "lava_level": { "above_bottom": -64 @@ -22,10 +18,8 @@ "replaceable": [], "vertical_radius_multiplier": { "type": "minecraft:uniform", - "value": { - "max_exclusive": 1.3, - "min_inclusive": 0.8 - } + "max_exclusive": 1.3, + "min_inclusive": 0.8 }, "y": { "type": "minecraft:uniform", @@ -38,10 +32,8 @@ }, "yScale": { "type": "minecraft:uniform", - "value": { - "max_exclusive": 0.9, - "min_inclusive": 0.1 - } + "max_exclusive": 0.9, + "min_inclusive": 0.1 } } } \ No newline at end of file diff --git a/src/main/generated/data/galacticraft/worldgen/structure/moon_ruins.json b/src/main/generated/data/galacticraft/worldgen/structure/moon_ruins.json index cd9ba64a6d..c9c8485e1e 100644 --- a/src/main/generated/data/galacticraft/worldgen/structure/moon_ruins.json +++ b/src/main/generated/data/galacticraft/worldgen/structure/moon_ruins.json @@ -3,7 +3,6 @@ "config": { "biomes": "#galacticraft:has_structure/moon_ruins", "spawn_overrides": {}, - "step": "surface_structures", - "terrain_adaptation": "beard_thin" + "step": "surface_structures" } } \ No newline at end of file diff --git a/src/main/generated/data/minecraft/tags/banner_pattern/no_item_required.json b/src/main/generated/data/minecraft/tags/banner_pattern/no_item_required.json index a341e925d9..04d4662fa7 100644 --- a/src/main/generated/data/minecraft/tags/banner_pattern/no_item_required.json +++ b/src/main/generated/data/minecraft/tags/banner_pattern/no_item_required.json @@ -1,5 +1,4 @@ { - "replace": false, "values": [ "galacticraft:rocket" ] diff --git a/src/main/generated/data/minecraft/tags/blocks/candle_cakes.json b/src/main/generated/data/minecraft/tags/block/candle_cakes.json similarity index 97% rename from src/main/generated/data/minecraft/tags/blocks/candle_cakes.json rename to src/main/generated/data/minecraft/tags/block/candle_cakes.json index 845965541b..45284a186e 100644 --- a/src/main/generated/data/minecraft/tags/blocks/candle_cakes.json +++ b/src/main/generated/data/minecraft/tags/block/candle_cakes.json @@ -1,5 +1,4 @@ { - "replace": false, "values": [ "galacticraft:candle_moon_cheese_block", "galacticraft:white_candle_moon_cheese_block", diff --git a/src/main/generated/data/minecraft/tags/blocks/climbable.json b/src/main/generated/data/minecraft/tags/block/climbable.json similarity index 86% rename from src/main/generated/data/minecraft/tags/blocks/climbable.json rename to src/main/generated/data/minecraft/tags/block/climbable.json index ca9512fbcf..500d966950 100644 --- a/src/main/generated/data/minecraft/tags/blocks/climbable.json +++ b/src/main/generated/data/minecraft/tags/block/climbable.json @@ -1,5 +1,4 @@ { - "replace": false, "values": [ "galacticraft:tin_ladder", "galacticraft:cavernous_vines", diff --git a/src/main/generated/data/minecraft/tags/block/dragon_immune.json b/src/main/generated/data/minecraft/tags/block/dragon_immune.json new file mode 100644 index 0000000000..e8540748e5 --- /dev/null +++ b/src/main/generated/data/minecraft/tags/block/dragon_immune.json @@ -0,0 +1,5 @@ +{ + "values": [ + "galacticraft:air_lock_seal" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/tags/blocks/mineable/pickaxe.json b/src/main/generated/data/minecraft/tags/block/mineable/pickaxe.json similarity index 86% rename from src/main/generated/data/minecraft/tags/blocks/mineable/pickaxe.json rename to src/main/generated/data/minecraft/tags/block/mineable/pickaxe.json index 7fd7884c24..2282bc72c0 100644 --- a/src/main/generated/data/minecraft/tags/blocks/mineable/pickaxe.json +++ b/src/main/generated/data/minecraft/tags/block/mineable/pickaxe.json @@ -1,11 +1,12 @@ { - "replace": false, "values": [ "#galacticraft:machines", "galacticraft:silicon_ore", "galacticraft:deepslate_silicon_ore", "galacticraft:moon_copper_ore", "galacticraft:lunaslate_copper_ore", + "galacticraft:olivine_basalt", + "galacticraft:rich_olivine_basalt", "galacticraft:tin_ore", "galacticraft:deepslate_tin_ore", "galacticraft:moon_tin_ore", @@ -18,7 +19,11 @@ "galacticraft:desh_ore", "galacticraft:ilmenite_ore", "galacticraft:galena_ore", + "galacticraft:olivine_cluster", "galacticraft:moon_rock_slab", + "galacticraft:moon_rock_brick_slab", + "galacticraft:cracked_moon_rock_brick_slab", + "galacticraft:polished_moon_rock_slab", "galacticraft:lunaslate_slab", "galacticraft:cobbled_moon_rock_slab", "galacticraft:cobbled_lunaslate_slab", @@ -28,6 +33,9 @@ "galacticraft:mars_stone_slab", "galacticraft:mars_cobblestone_slab", "galacticraft:moon_rock_stairs", + "galacticraft:moon_rock_brick_stairs", + "galacticraft:cracked_moon_rock_brick_stairs", + "galacticraft:polished_moon_rock_stairs", "galacticraft:lunaslate_stairs", "galacticraft:cobbled_moon_rock_stairs", "galacticraft:cobbled_lunaslate_stairs", @@ -60,6 +68,7 @@ "galacticraft:titanium_block", "galacticraft:lead_block", "galacticraft:lunar_sapphire_block", + "galacticraft:olivine_block", "galacticraft:moon_turf", "galacticraft:moon_dirt", "galacticraft:moon_dirt_path", @@ -95,6 +104,11 @@ "galacticraft:detailed_meteoric_iron_decoration", "galacticraft:detailed_dark_decoration", "galacticraft:moon_rock", + "galacticraft:moon_rock_brick", + "galacticraft:cracked_moon_rock_brick", + "galacticraft:polished_moon_rock", + "galacticraft:chiseled_moon_rock_brick", + "galacticraft:moon_rock_pillar", "galacticraft:lunaslate", "galacticraft:cobbled_moon_rock", "galacticraft:cobbled_lunaslate", diff --git a/src/main/generated/data/minecraft/tags/blocks/mineable/shovel.json b/src/main/generated/data/minecraft/tags/block/mineable/shovel.json similarity index 85% rename from src/main/generated/data/minecraft/tags/blocks/mineable/shovel.json rename to src/main/generated/data/minecraft/tags/block/mineable/shovel.json index a22846fa6a..ad46c2cae4 100644 --- a/src/main/generated/data/minecraft/tags/blocks/mineable/shovel.json +++ b/src/main/generated/data/minecraft/tags/block/mineable/shovel.json @@ -1,5 +1,4 @@ { - "replace": false, "values": [ "galacticraft:moon_turf", "galacticraft:moon_dirt", diff --git a/src/main/generated/data/minecraft/tags/blocks/needs_diamond_tool.json b/src/main/generated/data/minecraft/tags/block/needs_diamond_tool.json similarity index 80% rename from src/main/generated/data/minecraft/tags/blocks/needs_diamond_tool.json rename to src/main/generated/data/minecraft/tags/block/needs_diamond_tool.json index 7963d477e8..956a59e9c1 100644 --- a/src/main/generated/data/minecraft/tags/blocks/needs_diamond_tool.json +++ b/src/main/generated/data/minecraft/tags/block/needs_diamond_tool.json @@ -1,5 +1,4 @@ { - "replace": false, "values": [ "galacticraft:desh_ore", "galacticraft:ilmenite_ore" diff --git a/src/main/generated/data/minecraft/tags/blocks/needs_iron_tool.json b/src/main/generated/data/minecraft/tags/block/needs_iron_tool.json similarity index 86% rename from src/main/generated/data/minecraft/tags/blocks/needs_iron_tool.json rename to src/main/generated/data/minecraft/tags/block/needs_iron_tool.json index bb246b889a..ff9cfa24c9 100644 --- a/src/main/generated/data/minecraft/tags/blocks/needs_iron_tool.json +++ b/src/main/generated/data/minecraft/tags/block/needs_iron_tool.json @@ -1,5 +1,4 @@ { - "replace": false, "values": [ "galacticraft:silicon_ore", "galacticraft:deepslate_silicon_ore", diff --git a/src/main/generated/data/minecraft/tags/blocks/needs_stone_tool.json b/src/main/generated/data/minecraft/tags/block/needs_stone_tool.json similarity index 96% rename from src/main/generated/data/minecraft/tags/blocks/needs_stone_tool.json rename to src/main/generated/data/minecraft/tags/block/needs_stone_tool.json index 9a03f4e1cf..c47ee42391 100644 --- a/src/main/generated/data/minecraft/tags/blocks/needs_stone_tool.json +++ b/src/main/generated/data/minecraft/tags/block/needs_stone_tool.json @@ -1,5 +1,4 @@ { - "replace": false, "values": [ "galacticraft:grating", "galacticraft:walkway", diff --git a/src/main/generated/data/minecraft/tags/blocks/replaceable.json b/src/main/generated/data/minecraft/tags/block/replaceable.json similarity index 84% rename from src/main/generated/data/minecraft/tags/blocks/replaceable.json rename to src/main/generated/data/minecraft/tags/block/replaceable.json index 01ca3d980d..2602fc067b 100644 --- a/src/main/generated/data/minecraft/tags/blocks/replaceable.json +++ b/src/main/generated/data/minecraft/tags/block/replaceable.json @@ -1,5 +1,4 @@ { - "replace": false, "values": [ "galacticraft:crude_oil", "galacticraft:fuel", diff --git a/src/main/generated/data/minecraft/tags/blocks/slabs.json b/src/main/generated/data/minecraft/tags/block/slabs.json similarity index 90% rename from src/main/generated/data/minecraft/tags/blocks/slabs.json rename to src/main/generated/data/minecraft/tags/block/slabs.json index 13fbf284dd..ca01b89f6d 100644 --- a/src/main/generated/data/minecraft/tags/blocks/slabs.json +++ b/src/main/generated/data/minecraft/tags/block/slabs.json @@ -1,7 +1,9 @@ { - "replace": false, "values": [ "galacticraft:moon_rock_slab", + "galacticraft:moon_rock_brick_slab", + "galacticraft:cracked_moon_rock_brick_slab", + "galacticraft:polished_moon_rock_slab", "galacticraft:lunaslate_slab", "galacticraft:cobbled_moon_rock_slab", "galacticraft:cobbled_lunaslate_slab", diff --git a/src/main/generated/data/minecraft/tags/blocks/stairs.json b/src/main/generated/data/minecraft/tags/block/stairs.json similarity index 90% rename from src/main/generated/data/minecraft/tags/blocks/stairs.json rename to src/main/generated/data/minecraft/tags/block/stairs.json index cd221be8a8..d84adc1b8a 100644 --- a/src/main/generated/data/minecraft/tags/blocks/stairs.json +++ b/src/main/generated/data/minecraft/tags/block/stairs.json @@ -1,7 +1,9 @@ { - "replace": false, "values": [ "galacticraft:moon_rock_stairs", + "galacticraft:moon_rock_brick_stairs", + "galacticraft:cracked_moon_rock_brick_stairs", + "galacticraft:polished_moon_rock_stairs", "galacticraft:lunaslate_stairs", "galacticraft:cobbled_moon_rock_stairs", "galacticraft:cobbled_lunaslate_stairs", diff --git a/src/main/generated/data/minecraft/tags/blocks/wall_post_override.json b/src/main/generated/data/minecraft/tags/block/wall_post_override.json similarity index 81% rename from src/main/generated/data/minecraft/tags/blocks/wall_post_override.json rename to src/main/generated/data/minecraft/tags/block/wall_post_override.json index 2d26afab57..e7c0687b0b 100644 --- a/src/main/generated/data/minecraft/tags/blocks/wall_post_override.json +++ b/src/main/generated/data/minecraft/tags/block/wall_post_override.json @@ -1,5 +1,4 @@ { - "replace": false, "values": [ "galacticraft:glowstone_torch", "galacticraft:unlit_torch" diff --git a/src/main/generated/data/minecraft/tags/blocks/walls.json b/src/main/generated/data/minecraft/tags/block/walls.json similarity index 90% rename from src/main/generated/data/minecraft/tags/blocks/walls.json rename to src/main/generated/data/minecraft/tags/block/walls.json index 21f06b46a2..c0fd378f9e 100644 --- a/src/main/generated/data/minecraft/tags/blocks/walls.json +++ b/src/main/generated/data/minecraft/tags/block/walls.json @@ -1,7 +1,9 @@ { - "replace": false, "values": [ "galacticraft:moon_rock_wall", + "galacticraft:moon_rock_brick_wall", + "galacticraft:cracked_moon_rock_brick_wall", + "galacticraft:polished_moon_rock_wall", "galacticraft:lunaslate_wall", "galacticraft:cobbled_moon_rock_wall", "galacticraft:cobbled_lunaslate_wall", diff --git a/src/main/generated/data/minecraft/tags/block/wither_immune.json b/src/main/generated/data/minecraft/tags/block/wither_immune.json new file mode 100644 index 0000000000..e8540748e5 --- /dev/null +++ b/src/main/generated/data/minecraft/tags/block/wither_immune.json @@ -0,0 +1,5 @@ +{ + "values": [ + "galacticraft:air_lock_seal" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/tags/blocks/dragon_immune.json b/src/main/generated/data/minecraft/tags/blocks/dragon_immune.json deleted file mode 100644 index 9641003823..0000000000 --- a/src/main/generated/data/minecraft/tags/blocks/dragon_immune.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "replace": false, - "values": [ - "galacticraft:air_lock_seal" - ] -} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/tags/blocks/wither_immune.json b/src/main/generated/data/minecraft/tags/blocks/wither_immune.json deleted file mode 100644 index 9641003823..0000000000 --- a/src/main/generated/data/minecraft/tags/blocks/wither_immune.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "replace": false, - "values": [ - "galacticraft:air_lock_seal" - ] -} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/tags/items/axes.json b/src/main/generated/data/minecraft/tags/item/axes.json similarity index 85% rename from src/main/generated/data/minecraft/tags/items/axes.json rename to src/main/generated/data/minecraft/tags/item/axes.json index e505069e63..4e02a1690e 100644 --- a/src/main/generated/data/minecraft/tags/items/axes.json +++ b/src/main/generated/data/minecraft/tags/item/axes.json @@ -1,5 +1,4 @@ { - "replace": false, "values": [ "galacticraft:heavy_duty_axe", "galacticraft:desh_axe", diff --git a/src/main/generated/data/minecraft/tags/items/cluster_max_harvestables.json b/src/main/generated/data/minecraft/tags/item/cluster_max_harvestables.json similarity index 86% rename from src/main/generated/data/minecraft/tags/items/cluster_max_harvestables.json rename to src/main/generated/data/minecraft/tags/item/cluster_max_harvestables.json index 9551af1f03..99f73f6730 100644 --- a/src/main/generated/data/minecraft/tags/items/cluster_max_harvestables.json +++ b/src/main/generated/data/minecraft/tags/item/cluster_max_harvestables.json @@ -1,5 +1,4 @@ { - "replace": false, "values": [ "galacticraft:heavy_duty_pickaxe", "galacticraft:desh_pickaxe", diff --git a/src/main/generated/data/minecraft/tags/item/creeper_drop_music_discs.json b/src/main/generated/data/minecraft/tags/item/creeper_drop_music_discs.json new file mode 100644 index 0000000000..f72d209df7 --- /dev/null +++ b/src/main/generated/data/minecraft/tags/item/creeper_drop_music_discs.json @@ -0,0 +1,3 @@ +{ + "values": [] +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/tags/items/hoes.json b/src/main/generated/data/minecraft/tags/item/hoes.json similarity index 85% rename from src/main/generated/data/minecraft/tags/items/hoes.json rename to src/main/generated/data/minecraft/tags/item/hoes.json index 4b996f1c2f..918c90cdb6 100644 --- a/src/main/generated/data/minecraft/tags/items/hoes.json +++ b/src/main/generated/data/minecraft/tags/item/hoes.json @@ -1,5 +1,4 @@ { - "replace": false, "values": [ "galacticraft:heavy_duty_hoe", "galacticraft:desh_hoe", diff --git a/src/main/generated/data/minecraft/tags/item/meat.json b/src/main/generated/data/minecraft/tags/item/meat.json new file mode 100644 index 0000000000..1de0493c58 --- /dev/null +++ b/src/main/generated/data/minecraft/tags/item/meat.json @@ -0,0 +1,6 @@ +{ + "values": [ + "galacticraft:ground_beef", + "galacticraft:beef_patty" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/tags/items/pickaxes.json b/src/main/generated/data/minecraft/tags/item/pickaxes.json similarity index 86% rename from src/main/generated/data/minecraft/tags/items/pickaxes.json rename to src/main/generated/data/minecraft/tags/item/pickaxes.json index 9551af1f03..99f73f6730 100644 --- a/src/main/generated/data/minecraft/tags/items/pickaxes.json +++ b/src/main/generated/data/minecraft/tags/item/pickaxes.json @@ -1,5 +1,4 @@ { - "replace": false, "values": [ "galacticraft:heavy_duty_pickaxe", "galacticraft:desh_pickaxe", diff --git a/src/main/generated/data/minecraft/tags/items/shovels.json b/src/main/generated/data/minecraft/tags/item/shovels.json similarity index 86% rename from src/main/generated/data/minecraft/tags/items/shovels.json rename to src/main/generated/data/minecraft/tags/item/shovels.json index 0b2d806d4b..e2ed44cffa 100644 --- a/src/main/generated/data/minecraft/tags/items/shovels.json +++ b/src/main/generated/data/minecraft/tags/item/shovels.json @@ -1,5 +1,4 @@ { - "replace": false, "values": [ "galacticraft:heavy_duty_shovel", "galacticraft:desh_shovel", diff --git a/src/main/generated/data/minecraft/tags/items/swords.json b/src/main/generated/data/minecraft/tags/item/swords.json similarity index 86% rename from src/main/generated/data/minecraft/tags/items/swords.json rename to src/main/generated/data/minecraft/tags/item/swords.json index 94536c3d7e..c60c66739b 100644 --- a/src/main/generated/data/minecraft/tags/items/swords.json +++ b/src/main/generated/data/minecraft/tags/item/swords.json @@ -1,5 +1,4 @@ { - "replace": false, "values": [ "galacticraft:heavy_duty_sword", "galacticraft:desh_sword", diff --git a/src/main/generated/data/minecraft/tags/items/trimmable_armor.json b/src/main/generated/data/minecraft/tags/item/trimmable_armor.json similarity index 95% rename from src/main/generated/data/minecraft/tags/items/trimmable_armor.json rename to src/main/generated/data/minecraft/tags/item/trimmable_armor.json index 95c914521a..fdf192685c 100644 --- a/src/main/generated/data/minecraft/tags/items/trimmable_armor.json +++ b/src/main/generated/data/minecraft/tags/item/trimmable_armor.json @@ -1,5 +1,4 @@ { - "replace": false, "values": [ "galacticraft:heavy_duty_helmet", "galacticraft:heavy_duty_chestplate", diff --git a/src/main/generated/data/minecraft/tags/items/creeper_drop_music_discs.json b/src/main/generated/data/minecraft/tags/items/creeper_drop_music_discs.json deleted file mode 100644 index 5e8aecc986..0000000000 --- a/src/main/generated/data/minecraft/tags/items/creeper_drop_music_discs.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "replace": false, - "values": [] -} \ No newline at end of file diff --git a/src/main/java/dev/galacticraft/api/accessor/LevelBodyAccessor.java b/src/main/java/dev/galacticraft/api/accessor/LevelBodyAccessor.java new file mode 100644 index 0000000000..c03d2b3736 --- /dev/null +++ b/src/main/java/dev/galacticraft/api/accessor/LevelBodyAccessor.java @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2019-2024 Team Galacticraft + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package dev.galacticraft.api.accessor; + +import dev.galacticraft.api.universe.celestialbody.CelestialBody; +import net.minecraft.core.Holder; +import org.jetbrains.annotations.Nullable; + +public interface LevelBodyAccessor { + default @Nullable Holder> galacticraft$getCelestialBody() { + throw new RuntimeException("This should be overridden by mixin!"); + } +} diff --git a/src/main/java/dev/galacticraft/api/component/GCDataComponents.java b/src/main/java/dev/galacticraft/api/component/GCDataComponents.java new file mode 100644 index 0000000000..9c8cb67385 --- /dev/null +++ b/src/main/java/dev/galacticraft/api/component/GCDataComponents.java @@ -0,0 +1,83 @@ +/* + * Copyright (c) 2019-2024 Team Galacticraft + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package dev.galacticraft.api.component; + +import com.mojang.serialization.Codec; +import com.mojang.serialization.codecs.RecordCodecBuilder; +import dev.galacticraft.api.rocket.part.*; +import dev.galacticraft.mod.Constant; +import dev.galacticraft.mod.util.StreamCodecs; +import net.minecraft.core.Registry; +import net.minecraft.core.component.DataComponentType; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.resources.ResourceKey; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.ExtraCodecs; +import net.minecraft.world.item.EitherHolder; + +import java.util.function.UnaryOperator; + +public class GCDataComponents { + public static final DataComponentType>> ROCKET_CONE = register("rocket_cone", b -> b + .persistent(RocketCone.EITHER_CODEC).networkSynchronized(RocketCone.EITHER_STREAM_CODEC)); + public static final DataComponentType>> ROCKET_BODY = register("rocket_body", b -> b + .persistent(RocketBody.EITHER_CODEC).networkSynchronized(RocketBody.EITHER_STREAM_CODEC)); + public static final DataComponentType>> ROCKET_FIN = register("rocket_fin", b -> b + .persistent(RocketFin.EITHER_CODEC).networkSynchronized(RocketFin.EITHER_STREAM_CODEC)); + public static final DataComponentType>> ROCKET_BOOSTER = register("rocket_booster", b -> b + .persistent(RocketBooster.EITHER_CODEC).networkSynchronized(RocketBooster.EITHER_STREAM_CODEC)); + public static final DataComponentType>> ROCKET_ENGINE = register("rocket_engine", b -> b + .persistent(RocketEngine.EITHER_CODEC).networkSynchronized(RocketEngine.EITHER_STREAM_CODEC)); + public static final DataComponentType>> ROCKET_UPGRADE = register("rocket_upgrade", b -> b + .persistent(RocketUpgrade.EITHER_CODEC).networkSynchronized(RocketUpgrade.EITHER_STREAM_CODEC)); + public static final DataComponentType AMOUNT = register("amount", b -> b + .persistent(Codec.LONG).networkSynchronized(StreamCodecs.LONG)); + public static final DataComponentType COLOR = register("color", b -> b + .persistent(ExtraCodecs.NON_NEGATIVE_INT).networkSynchronized(ByteBufCodecs.INT)); + public static final DataComponentType TICKS_UNTIL_COOL = register("ticks_until_cool", b -> b + .persistent(ExtraCodecs.NON_NEGATIVE_INT).networkSynchronized(ByteBufCodecs.INT)); + public static final DataComponentType CREATIVE = register("creative", b -> b + .persistent(Codec.BOOL).networkSynchronized(ByteBufCodecs.BOOL)); + + public static final DataComponentType> KEY = register("key", b -> b + .persistent(RecordCodecBuilder.create(i -> + i.group( + ResourceLocation.CODEC.fieldOf("registry").forGetter(ResourceKey::registry), + ResourceLocation.CODEC.fieldOf("location").forGetter(ResourceKey::location) + ).apply(i, (r, l) -> ResourceKey.create(ResourceKey.createRegistryKey(r), l)) + )).networkSynchronized(StreamCodec.composite( + ResourceLocation.STREAM_CODEC, + ResourceKey::registry, + ResourceLocation.STREAM_CODEC, + ResourceKey::location, + (r, l) -> ResourceKey.create(ResourceKey.createRegistryKey(r), l) + ))); + + private static DataComponentType register(String id, UnaryOperator> op) { + return Registry.register(BuiltInRegistries.DATA_COMPONENT_TYPE, Constant.id(id), op.apply(DataComponentType.builder()).build()); + } + + public static void init() {} +} diff --git a/src/main/java/dev/galacticraft/api/data/TranslationProvider.java b/src/main/java/dev/galacticraft/api/data/TranslationProvider.java index 82c9f82321..86624e4ab3 100644 --- a/src/main/java/dev/galacticraft/api/data/TranslationProvider.java +++ b/src/main/java/dev/galacticraft/api/data/TranslationProvider.java @@ -30,6 +30,7 @@ import net.minecraft.data.CachedOutput; import net.minecraft.data.DataProvider; import net.minecraft.data.PackOutput; +import net.minecraft.network.chat.contents.TranslatableContents; import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.effect.MobEffect; @@ -54,7 +55,7 @@ public abstract class TranslationProvider implements DataProvider { public TranslationProvider(FabricDataOutput output, CompletableFuture registriesFuture) { this.registriesFuture = registriesFuture; this.modId = output.getModId(); - this.path = output.createPathProvider(PackOutput.Target.RESOURCE_PACK, "lang").json(new ResourceLocation(modId, "en_us")); + this.path = output.createPathProvider(PackOutput.Target.RESOURCE_PACK, "lang").json(ResourceLocation.fromNamespaceAndPath(modId, "en_us")); } protected void generateDefaultTranslations(@NotNull HolderLookup.Provider registries) { @@ -99,7 +100,7 @@ protected void mobEffect(MobEffect effect, String translation) { } protected void enchantment(Enchantment enchantment, String translation) { - this.add(enchantment.getDescriptionId(), translation); + this.add(((TranslatableContents)enchantment.description().getContents()).getKey(), translation); } protected void addDefaulted(Holder.Reference reference) { diff --git a/src/main/java/dev/galacticraft/api/entity/attribute/GcApiEntityAttributes.java b/src/main/java/dev/galacticraft/api/entity/attribute/GcApiEntityAttributes.java index 414bce7a45..548b86e873 100644 --- a/src/main/java/dev/galacticraft/api/entity/attribute/GcApiEntityAttributes.java +++ b/src/main/java/dev/galacticraft/api/entity/attribute/GcApiEntityAttributes.java @@ -23,15 +23,14 @@ package dev.galacticraft.api.entity.attribute; import dev.galacticraft.mod.Constant; +import net.minecraft.core.Holder; import net.minecraft.core.Registry; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.world.entity.ai.attributes.Attribute; import net.minecraft.world.entity.ai.attributes.RangedAttribute; public final class GcApiEntityAttributes { - public static final Attribute CAN_BREATHE_IN_SPACE = Registry.register(BuiltInRegistries.ATTRIBUTE, Constant.id("can_breathe_in_space"), (new RangedAttribute("galacticraft.attribute.name.generic.can_breathe_in_space", 0.0D, 0.0D, 1.0D)).setSyncable(true)); - - public static final Attribute LOCAL_GRAVITY_LEVEL = Registry.register(BuiltInRegistries.ATTRIBUTE, Constant.id("local_gravity_level"), (new RangedAttribute("galacticraft.attribute.name.generic.local_gravity_level", 0.0D, 0.0D, 1.0D)).setSyncable(true)); + public static final Holder.Reference CAN_BREATHE_IN_SPACE = Registry.registerForHolder(BuiltInRegistries.ATTRIBUTE, Constant.id("can_breathe_in_space"), (new RangedAttribute("galacticraft.attribute.name.generic.can_breathe_in_space", 0.0D, 0.0D, 1.0D)).setSyncable(true)); private GcApiEntityAttributes() {} diff --git a/src/main/java/dev/galacticraft/api/gas/GasComposition.java b/src/main/java/dev/galacticraft/api/gas/GasComposition.java index b533c42e35..7084b2915c 100644 --- a/src/main/java/dev/galacticraft/api/gas/GasComposition.java +++ b/src/main/java/dev/galacticraft/api/gas/GasComposition.java @@ -24,7 +24,7 @@ import com.mojang.serialization.Codec; import com.mojang.serialization.codecs.RecordCodecBuilder; -import dev.galacticraft.impl.codec.MapCodec; +import dev.galacticraft.impl.codec.MapKvCodec; import dev.galacticraft.impl.gas.GasCompositionImpl; import it.unimi.dsi.fastutil.objects.Object2DoubleArrayMap; import it.unimi.dsi.fastutil.objects.Object2DoubleMap; @@ -37,7 +37,7 @@ import org.jetbrains.annotations.NotNull; public interface GasComposition { - MapCodec, Double, Object2DoubleMap>> MAP_CODEC = MapCodec.create(Object2DoubleArrayMap::new, ResourceKey.codec(Registries.FLUID), Codec.DOUBLE); + MapKvCodec, Double, Object2DoubleMap>> MAP_CODEC = MapKvCodec.create(Object2DoubleArrayMap::new, ResourceKey.codec(Registries.FLUID), Codec.DOUBLE); Codec CODEC = RecordCodecBuilder.create(atmosphericInfoInstance -> atmosphericInfoInstance.group( MAP_CODEC.fieldOf("composition").forGetter(GasComposition::composition), Codec.DOUBLE.fieldOf("temperature").forGetter(GasComposition::temperature), diff --git a/src/main/java/dev/galacticraft/api/registry/AddonRegistries.java b/src/main/java/dev/galacticraft/api/registry/AddonRegistries.java index d76ce8e196..c91f85f1f0 100644 --- a/src/main/java/dev/galacticraft/api/registry/AddonRegistries.java +++ b/src/main/java/dev/galacticraft/api/registry/AddonRegistries.java @@ -34,7 +34,6 @@ import dev.galacticraft.mod.Constant; import net.minecraft.core.Registry; import net.minecraft.resources.ResourceKey; -import net.minecraft.resources.ResourceLocation; public final class AddonRegistries { private AddonRegistries() {} diff --git a/src/main/java/dev/galacticraft/api/rocket/LaunchStage.java b/src/main/java/dev/galacticraft/api/rocket/LaunchStage.java index 684608d057..f9df09f620 100644 --- a/src/main/java/dev/galacticraft/api/rocket/LaunchStage.java +++ b/src/main/java/dev/galacticraft/api/rocket/LaunchStage.java @@ -22,6 +22,9 @@ package dev.galacticraft.api.rocket; +import dev.galacticraft.mod.util.StreamCodecs; +import io.netty.buffer.ByteBuf; +import net.minecraft.network.codec.StreamCodec; import net.minecraft.util.StringRepresentable; import org.jetbrains.annotations.NotNull; @@ -53,6 +56,8 @@ public enum LaunchStage implements StringRepresentable { */ FAILED; + public static final StreamCodec STREAM_CODEC = StreamCodecs.ofEnum(LaunchStage.values()); + public LaunchStage next() { if (this.ordinal() < LAUNCHED.ordinal()) { return LaunchStage.values()[ordinal() + 1]; diff --git a/src/main/java/dev/galacticraft/api/rocket/RocketData.java b/src/main/java/dev/galacticraft/api/rocket/RocketData.java index 10e062ce69..61f76305d8 100644 --- a/src/main/java/dev/galacticraft/api/rocket/RocketData.java +++ b/src/main/java/dev/galacticraft/api/rocket/RocketData.java @@ -22,120 +22,184 @@ package dev.galacticraft.api.rocket; -import dev.galacticraft.api.registry.RocketRegistries; +import com.mojang.serialization.Codec; +import com.mojang.serialization.codecs.RecordCodecBuilder; +import dev.galacticraft.api.component.GCDataComponents; import dev.galacticraft.api.rocket.part.*; import dev.galacticraft.api.rocket.travelpredicate.TravelPredicateType; import dev.galacticraft.api.universe.celestialbody.CelestialBody; -import dev.galacticraft.impl.rocket.RocketDataImpl; -import net.minecraft.core.RegistryAccess; -import net.minecraft.nbt.CompoundTag; -import net.minecraft.network.FriendlyByteBuf; +import dev.galacticraft.mod.content.GCRocketParts; +import dev.galacticraft.mod.util.StreamCodecs; +import net.minecraft.core.Holder; +import net.minecraft.core.HolderLookup; +import net.minecraft.core.component.DataComponentPatch; +import net.minecraft.core.component.DataComponentType; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; import net.minecraft.resources.ResourceKey; import net.minecraft.util.FastColor; +import net.minecraft.world.item.EitherHolder; import org.jetbrains.annotations.Contract; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import org.jetbrains.annotations.Unmodifiable; -public interface RocketData { +import java.util.Optional; + +public record RocketData(@Nullable EitherHolder> cone, @Nullable EitherHolder> body, + @Nullable EitherHolder> fin, + @Nullable EitherHolder> booster, + @Nullable EitherHolder> engine, + @Nullable EitherHolder> upgrade, int color +) { + public static final Codec CODEC = RecordCodecBuilder.create(instance -> instance.group( + RocketCone.EITHER_CODEC.fieldOf("cone").forGetter(RocketData::cone), + RocketBody.EITHER_CODEC.fieldOf("body").forGetter(RocketData::body), + RocketFin.EITHER_CODEC.fieldOf("fin").forGetter(RocketData::fin), + RocketBooster.EITHER_CODEC.fieldOf("booster").forGetter(RocketData::booster), + RocketEngine.EITHER_CODEC.fieldOf("engine").forGetter(RocketData::engine), + RocketUpgrade.EITHER_CODEC.fieldOf("upgrade").forGetter(RocketData::upgrade), + Codec.INT.fieldOf("color").forGetter(RocketData::color) + ).apply(instance, RocketData::new)); + + public static final StreamCodec STREAM_CODEC = StreamCodecs.composite( + RocketCone.EITHER_STREAM_CODEC, + RocketData::cone, + RocketBody.EITHER_STREAM_CODEC, + RocketData::body, + RocketFin.EITHER_STREAM_CODEC, + RocketData::fin, + RocketBooster.EITHER_STREAM_CODEC, + RocketData::booster, + RocketEngine.EITHER_STREAM_CODEC, + RocketData::engine, + RocketUpgrade.EITHER_STREAM_CODEC, + RocketData::upgrade, + ByteBufCodecs.INT, + RocketData::color, + RocketData::new + ); + + public static final RocketData DEFAULT_ROCKET = new RocketData( + new EitherHolder<>(GCRocketParts.TIER_1_CONE), + new EitherHolder<>(GCRocketParts.TIER_1_BODY), + new EitherHolder<>(GCRocketParts.TIER_1_FIN), + null, + new EitherHolder<>(GCRocketParts.TIER_1_ENGINE), + null, + 0xFFFFFFFF + ); + + @Contract("_, _, _, _, _, _, _ -> new") + static @NotNull RocketData create(int color, @Nullable Holder> cone, @Nullable Holder> body, + @Nullable Holder> fin, @Nullable Holder> booster, + @Nullable Holder> engine, @Nullable Holder> upgrade) { + return new RocketData(maybeHolder(cone), maybeHolder(body), maybeHolder(fin), maybeHolder(booster), maybeHolder(engine), maybeHolder(upgrade), color); + } + @Contract("_, _, _, _, _, _, _ -> new") static @NotNull RocketData create(int color, @Nullable ResourceKey> cone, @Nullable ResourceKey> body, @Nullable ResourceKey> fin, @Nullable ResourceKey> booster, @Nullable ResourceKey> engine, @Nullable ResourceKey> upgrade) { - return new RocketDataImpl(color, cone, body, fin, booster, engine, upgrade); + return new RocketData(maybeHolder(cone), maybeHolder(body), maybeHolder(fin), maybeHolder(booster), maybeHolder(engine), maybeHolder(upgrade), color); } - @Unmodifiable - static RocketData fromNbt(@Nullable CompoundTag nbt) { - return RocketDataImpl.fromNbt(nbt == null ? RocketDataImpl.DEFAULT_ROCKET : nbt); + @Contract("_, _, _, _, _, _, _ -> new") + static @NotNull RocketData create(int color, @Nullable EitherHolder> cone, @Nullable EitherHolder> body, + @Nullable EitherHolder> fin, @Nullable EitherHolder> booster, + @Nullable EitherHolder> engine, @Nullable EitherHolder> upgrade) { + return new RocketData(cone, body, fin, booster, engine, upgrade, color); } - @Unmodifiable - static RocketData fromNetwork(FriendlyByteBuf buf) { - return RocketDataImpl.fromNetwork(buf); + public static RocketData fromPatch(DataComponentPatch patch) { + return new RocketData( + maybeOptional(patch.get(GCDataComponents.ROCKET_CONE)), + maybeOptional(patch.get(GCDataComponents.ROCKET_BODY)), + maybeOptional(patch.get(GCDataComponents.ROCKET_FIN)), + maybeOptional(patch.get(GCDataComponents.ROCKET_BOOSTER)), + maybeOptional(patch.get(GCDataComponents.ROCKET_ENGINE)), + maybeOptional(patch.get(GCDataComponents.ROCKET_UPGRADE)), + patch.get(GCDataComponents.COLOR) != null && patch.get(GCDataComponents.COLOR).isPresent() ? patch.get(GCDataComponents.COLOR).get() : 0xFFFFFFFF + ); } - int color(); - - default int red() { + //TODO: HSV? + public int red() { return FastColor.ARGB32.red(this.color()); } - default int green() { + public int green() { return FastColor.ARGB32.green(this.color()); } - default int blue() { + public int blue() { return FastColor.ARGB32.blue(this.color()); } - default int alpha() { + public int alpha() { return FastColor.ARGB32.alpha(this.color()); } - @Nullable ResourceKey> cone(); - - @Nullable ResourceKey> body(); - - @Nullable ResourceKey> fin(); + public boolean isValid() { + return this.cone() != null && this.body() != null && this.fin() != null && this.engine() != null; + } - @Nullable ResourceKey> booster(); + public DataComponentPatch asPatch() { + DataComponentPatch.Builder builder = DataComponentPatch.builder(); + maybeSet(builder, GCDataComponents.ROCKET_CONE, this.cone); + maybeSet(builder, GCDataComponents.ROCKET_BODY, this.body); + maybeSet(builder, GCDataComponents.ROCKET_FIN, this.fin); + maybeSet(builder, GCDataComponents.ROCKET_BOOSTER, this.booster); + maybeSet(builder, GCDataComponents.ROCKET_ENGINE, this.engine); + maybeSet(builder, GCDataComponents.ROCKET_UPGRADE, this.upgrade); + return builder.build(); + } - @Nullable ResourceKey> engine(); + public boolean canTravel(@NotNull HolderLookup.Provider lookup, CelestialBody from, CelestialBody to) { + Holder> cone = maybeGet(lookup, this.cone); + Holder> body = maybeGet(lookup, this.body); + Holder> fin = maybeGet(lookup, this.fin); + Holder> booster = maybeGet(lookup, this.booster); + Holder> engine = maybeGet(lookup, this.engine); + Holder> upgrade = maybeGet(lookup, this.upgrade); + + if (cone != null && body != null && fin != null && engine != null) { + TravelPredicateType.Result type = TravelPredicateType.Result.PASS; + type = type.merge(cone.value().travelPredicate().canTravel(from, to, cone, body, fin, booster, engine, upgrade)); + type = type.merge(body.value().travelPredicate().canTravel(from, to, cone, body, fin, booster, engine, upgrade)); + type = type.merge(fin.value().travelPredicate().canTravel(from, to, cone, body, fin, booster, engine, upgrade)); + type = type.merge(booster == null ? TravelPredicateType.Result.PASS : booster.value().travelPredicate().canTravel(from, to, cone, body, fin, booster, engine, upgrade)); + type = type.merge(engine.value().travelPredicate().canTravel(from, to, cone, body, fin, booster, engine, upgrade)); + type = type.merge(upgrade == null ? TravelPredicateType.Result.PASS : upgrade.value().travelPredicate().canTravel(from, to, cone, body, fin, booster, engine, upgrade)); + return type == TravelPredicateType.Result.ALLOW; + } + + return false; + } - @Nullable ResourceKey> upgrade(); + private static EitherHolder maybeHolder(@Nullable Holder holder) { + return holder == null ? null : new EitherHolder<>(holder); + } - default void toNbt(@NotNull CompoundTag nbt) { - nbt.putInt("Color", this.color()); - if (this.cone() != null) nbt.putString("Cone", this.cone().location().toString()); - if (this.body() != null) nbt.putString("Body", this.body().location().toString()); - if (this.fin() != null) nbt.putString("Fin", this.fin().location().toString()); - if (this.booster() != null) nbt.putString("Booster", this.booster().location().toString()); - if (this.engine() != null) nbt.putString("Engine", this.engine().location().toString()); - if (this.upgrade() != null) nbt.putString("Upgrade", this.upgrade().location().toString()); + private static EitherHolder maybeHolder(@Nullable ResourceKey key) { + return key == null ? null : new EitherHolder<>(key); } - default void toNetwork(FriendlyByteBuf buf) { - buf.writeVarInt(this.color()); - buf.writeBoolean(this.cone() != null); - buf.writeBoolean(this.body() != null); - buf.writeBoolean(this.fin() != null); - buf.writeBoolean(this.booster() != null); - buf.writeBoolean(this.engine() != null); - buf.writeBoolean(this.upgrade() != null); - if (this.cone() != null) buf.writeResourceLocation(this.cone().location()); - if (this.body() != null) buf.writeResourceLocation(this.body().location()); - if (this.fin() != null) buf.writeResourceLocation(this.fin().location()); - if (this.booster() != null) buf.writeResourceLocation(this.booster().location()); - if (this.engine() != null) buf.writeResourceLocation(this.engine().location()); - if (this.upgrade() != null) buf.writeResourceLocation(this.upgrade().location()); + private static @Nullable Holder maybeGet(@NotNull HolderLookup.Provider lookup, @Nullable EitherHolder holder) { + return holder == null ? null : holder.unwrap(lookup).orElse(null); } - default boolean isValid() { - return this.cone() != null && this.body() != null && this.fin() != null && this.engine() != null; + private void maybeSet(DataComponentPatch.Builder builder, DataComponentType type, @Nullable T value) { + if (value != null) { + builder.set(type, value); + } else { + builder.remove(type); + } } - default boolean canTravel(@NotNull RegistryAccess manager, CelestialBody from, CelestialBody to) { - if (!this.isValid()) return false; - TravelPredicateType.Result type = TravelPredicateType.Result.PASS; - RocketCone cone = manager.registryOrThrow(RocketRegistries.ROCKET_CONE).get(this.cone()); - RocketBody body = manager.registryOrThrow(RocketRegistries.ROCKET_BODY).get(this.body()); - RocketFin fin = manager.registryOrThrow(RocketRegistries.ROCKET_FIN).get(this.fin()); - RocketBooster booster = manager.registryOrThrow(RocketRegistries.ROCKET_BOOSTER).get(this.booster()); - RocketEngine engine = manager.registryOrThrow(RocketRegistries.ROCKET_ENGINE).get(this.engine()); - RocketUpgrade upgrade = manager.registryOrThrow(RocketRegistries.ROCKET_UPGRADE).get(this.upgrade()); - - assert cone != null; - assert body != null; - assert fin != null; - assert engine != null; - - type = type.merge(cone.travelPredicate().canTravel(from, to, cone, body, fin, booster, engine, upgrade)); - type = type.merge(body.travelPredicate().canTravel(from, to, cone, body, fin, booster, engine, upgrade)); - type = type.merge(fin.travelPredicate().canTravel(from, to, cone, body, fin, booster, engine, upgrade)); - type = type.merge(booster == null ? TravelPredicateType.Result.PASS : booster.travelPredicate().canTravel(from, to, cone, body, fin, booster, engine, upgrade)); - type = type.merge(engine.travelPredicate().canTravel(from, to, cone, body, fin, booster, engine, upgrade)); - type = type.merge(upgrade == null ? TravelPredicateType.Result.PASS : upgrade.travelPredicate().canTravel(from, to, cone, body, fin, booster, engine, upgrade)); - - return type == TravelPredicateType.Result.ALLOW; - }} + private static T maybeOptional(@Nullable Optional value) { + // its a nullable optional value + //noinspection OptionalAssignedToNull + return value != null ? value.orElse(null) : null; + } +} diff --git a/src/main/java/dev/galacticraft/api/rocket/entity/Rocket.java b/src/main/java/dev/galacticraft/api/rocket/entity/Rocket.java index 5bd515c8dc..2d86923f8a 100644 --- a/src/main/java/dev/galacticraft/api/rocket/entity/Rocket.java +++ b/src/main/java/dev/galacticraft/api/rocket/entity/Rocket.java @@ -26,16 +26,13 @@ import dev.galacticraft.api.rocket.RocketData; import dev.galacticraft.api.rocket.part.*; import dev.galacticraft.mod.api.entity.Dockable; -import net.fabricmc.fabric.api.transfer.v1.fluid.FluidVariant; -import net.fabricmc.fabric.api.transfer.v1.storage.Storage; import net.minecraft.core.BlockPos; +import net.minecraft.core.Holder; import net.minecraft.world.damagesource.DamageSource; -import net.minecraft.world.entity.Entity; -import net.minecraft.world.level.material.Fluid; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -public interface Rocket extends RocketData, Dockable { +public interface Rocket extends Dockable { /** * Returns the launch stage of this rocket. * @return the launch stage of this rocket. @@ -44,17 +41,19 @@ public interface Rocket extends RocketData, Dockable { void setLaunchStage(LaunchStage stage); - @Nullable RocketCone getCone(); + @NotNull RocketData getData(); - @Nullable RocketBody getBody(); + @Nullable Holder> cone(); - @Nullable RocketFin getFin(); + @Nullable Holder> body(); - @Nullable RocketBooster getBooster(); + @Nullable Holder> fin(); - @Nullable RocketEngine getEngine(); + @Nullable Holder> booster(); - @Nullable RocketUpgrade getUpgrade(); + @Nullable Holder> engine(); + + @Nullable Holder> upgrade(); @NotNull BlockPos getLinkedPad(); diff --git a/src/main/java/dev/galacticraft/api/rocket/part/RocketBody.java b/src/main/java/dev/galacticraft/api/rocket/part/RocketBody.java index aa0c046438..fb388c86d7 100644 --- a/src/main/java/dev/galacticraft/api/rocket/part/RocketBody.java +++ b/src/main/java/dev/galacticraft/api/rocket/part/RocketBody.java @@ -28,10 +28,14 @@ import dev.galacticraft.api.rocket.part.config.RocketBodyConfig; import dev.galacticraft.api.rocket.part.type.RocketBodyType; import dev.galacticraft.impl.rocket.part.RocketBodyImpl; +import dev.galacticraft.mod.util.StreamCodecs; import net.minecraft.core.Holder; import net.minecraft.core.HolderSet; import net.minecraft.core.RegistryCodecs; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.StreamCodec; import net.minecraft.resources.RegistryFileCodec; +import net.minecraft.world.item.EitherHolder; import org.jetbrains.annotations.Contract; import org.jetbrains.annotations.NotNull; @@ -39,6 +43,10 @@ public non-sealed interface RocketBody> DIRECT_CODEC = BuiltInRocketRegistries.ROCKET_BODY_TYPE.byNameCodec().dispatch(RocketBody::type, RocketBodyType::codec); Codec>> CODEC = RegistryFileCodec.create(RocketRegistries.ROCKET_BODY, DIRECT_CODEC); Codec>> LIST_CODEC = RegistryCodecs.homogeneousList(RocketRegistries.ROCKET_BODY, DIRECT_CODEC); + StreamCodec>> STREAM_CODEC = StreamCodecs.ofHolder(RocketRegistries.ROCKET_BODY); + + Codec>> EITHER_CODEC = EitherHolder.codec(RocketRegistries.ROCKET_BODY, CODEC); + StreamCodec>> EITHER_STREAM_CODEC = EitherHolder.streamCodec(RocketRegistries.ROCKET_BODY, STREAM_CODEC); @Contract(pure = true, value = "_, _ -> new") static @NotNull > RocketBody create(@NotNull C config, @NotNull T type) { diff --git a/src/main/java/dev/galacticraft/api/rocket/part/RocketBooster.java b/src/main/java/dev/galacticraft/api/rocket/part/RocketBooster.java index 49deaf3ddf..b000a07caf 100644 --- a/src/main/java/dev/galacticraft/api/rocket/part/RocketBooster.java +++ b/src/main/java/dev/galacticraft/api/rocket/part/RocketBooster.java @@ -28,10 +28,14 @@ import dev.galacticraft.api.rocket.part.config.RocketBoosterConfig; import dev.galacticraft.api.rocket.part.type.RocketBoosterType; import dev.galacticraft.impl.rocket.part.RocketBoosterImpl; +import dev.galacticraft.mod.util.StreamCodecs; import net.minecraft.core.Holder; import net.minecraft.core.HolderSet; import net.minecraft.core.RegistryCodecs; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.StreamCodec; import net.minecraft.resources.RegistryFileCodec; +import net.minecraft.world.item.EitherHolder; import org.jetbrains.annotations.Contract; import org.jetbrains.annotations.NotNull; @@ -39,6 +43,10 @@ public non-sealed interface RocketBooster> DIRECT_CODEC = BuiltInRocketRegistries.ROCKET_BOOSTER_TYPE.byNameCodec().dispatch(RocketBooster::type, RocketBoosterType::codec); Codec>> CODEC = RegistryFileCodec.create(RocketRegistries.ROCKET_BOOSTER, DIRECT_CODEC); Codec>> LIST_CODEC = RegistryCodecs.homogeneousList(RocketRegistries.ROCKET_BOOSTER, DIRECT_CODEC); + StreamCodec>> STREAM_CODEC = StreamCodecs.ofHolder(RocketRegistries.ROCKET_BOOSTER); + + Codec>> EITHER_CODEC = EitherHolder.codec(RocketRegistries.ROCKET_BOOSTER, CODEC); + StreamCodec>> EITHER_STREAM_CODEC = EitherHolder.streamCodec(RocketRegistries.ROCKET_BOOSTER, STREAM_CODEC); @Contract(pure = true, value = "_, _ -> new") static @NotNull > RocketBooster create(@NotNull C config, @NotNull T type) { diff --git a/src/main/java/dev/galacticraft/api/rocket/part/RocketCone.java b/src/main/java/dev/galacticraft/api/rocket/part/RocketCone.java index 701c89db0a..c4a201b7fb 100644 --- a/src/main/java/dev/galacticraft/api/rocket/part/RocketCone.java +++ b/src/main/java/dev/galacticraft/api/rocket/part/RocketCone.java @@ -28,10 +28,14 @@ import dev.galacticraft.api.rocket.part.config.RocketConeConfig; import dev.galacticraft.api.rocket.part.type.RocketConeType; import dev.galacticraft.impl.rocket.part.RocketConeImpl; +import dev.galacticraft.mod.util.StreamCodecs; import net.minecraft.core.Holder; import net.minecraft.core.HolderSet; import net.minecraft.core.RegistryCodecs; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.StreamCodec; import net.minecraft.resources.RegistryFileCodec; +import net.minecraft.world.item.EitherHolder; import org.jetbrains.annotations.Contract; import org.jetbrains.annotations.NotNull; @@ -39,6 +43,10 @@ public non-sealed interface RocketCone> DIRECT_CODEC = BuiltInRocketRegistries.ROCKET_CONE_TYPE.byNameCodec().dispatch(RocketCone::type, RocketConeType::codec); Codec>> CODEC = RegistryFileCodec.create(RocketRegistries.ROCKET_CONE, DIRECT_CODEC); Codec>> LIST_CODEC = RegistryCodecs.homogeneousList(RocketRegistries.ROCKET_CONE, DIRECT_CODEC); + StreamCodec>> STREAM_CODEC = StreamCodecs.ofHolder(RocketRegistries.ROCKET_CONE); + + Codec>> EITHER_CODEC = EitherHolder.codec(RocketRegistries.ROCKET_CONE, CODEC); + StreamCodec>> EITHER_STREAM_CODEC = EitherHolder.streamCodec(RocketRegistries.ROCKET_CONE, STREAM_CODEC); @Contract(pure = true, value = "_, _ -> new") static @NotNull > RocketCone create(@NotNull C config, @NotNull T type) { diff --git a/src/main/java/dev/galacticraft/api/rocket/part/RocketEngine.java b/src/main/java/dev/galacticraft/api/rocket/part/RocketEngine.java index 41bf72882a..2661192e8b 100644 --- a/src/main/java/dev/galacticraft/api/rocket/part/RocketEngine.java +++ b/src/main/java/dev/galacticraft/api/rocket/part/RocketEngine.java @@ -28,10 +28,14 @@ import dev.galacticraft.api.rocket.part.config.RocketEngineConfig; import dev.galacticraft.api.rocket.part.type.RocketEngineType; import dev.galacticraft.impl.rocket.part.RocketEngineImpl; +import dev.galacticraft.mod.util.StreamCodecs; import net.minecraft.core.Holder; import net.minecraft.core.HolderSet; import net.minecraft.core.RegistryCodecs; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.StreamCodec; import net.minecraft.resources.RegistryFileCodec; +import net.minecraft.world.item.EitherHolder; import org.jetbrains.annotations.Contract; import org.jetbrains.annotations.NotNull; @@ -39,7 +43,11 @@ public non-sealed interface RocketEngine> DIRECT_CODEC = BuiltInRocketRegistries.ROCKET_ENGINE_TYPE.byNameCodec().dispatch(RocketEngine::type, RocketEngineType::codec); Codec>> CODEC = RegistryFileCodec.create(RocketRegistries.ROCKET_ENGINE, DIRECT_CODEC); Codec>> LIST_CODEC = RegistryCodecs.homogeneousList(RocketRegistries.ROCKET_ENGINE, DIRECT_CODEC); + StreamCodec>> STREAM_CODEC = StreamCodecs.ofHolder(RocketRegistries.ROCKET_ENGINE); + Codec>> EITHER_CODEC = EitherHolder.codec(RocketRegistries.ROCKET_ENGINE, CODEC); + StreamCodec>> EITHER_STREAM_CODEC = EitherHolder.streamCodec(RocketRegistries.ROCKET_ENGINE, STREAM_CODEC); + @Contract(pure = true, value = "_, _ -> new") static @NotNull > RocketEngine create(@NotNull C config, @NotNull T type) { return new RocketEngineImpl<>(config, type); diff --git a/src/main/java/dev/galacticraft/api/rocket/part/RocketFin.java b/src/main/java/dev/galacticraft/api/rocket/part/RocketFin.java index 63aad39b40..23810756b6 100644 --- a/src/main/java/dev/galacticraft/api/rocket/part/RocketFin.java +++ b/src/main/java/dev/galacticraft/api/rocket/part/RocketFin.java @@ -28,10 +28,14 @@ import dev.galacticraft.api.rocket.part.config.RocketFinConfig; import dev.galacticraft.api.rocket.part.type.RocketFinType; import dev.galacticraft.impl.rocket.part.RocketFinImpl; +import dev.galacticraft.mod.util.StreamCodecs; import net.minecraft.core.Holder; import net.minecraft.core.HolderSet; import net.minecraft.core.RegistryCodecs; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.StreamCodec; import net.minecraft.resources.RegistryFileCodec; +import net.minecraft.world.item.EitherHolder; import org.jetbrains.annotations.Contract; import org.jetbrains.annotations.NotNull; @@ -39,6 +43,10 @@ public non-sealed interface RocketFin> DIRECT_CODEC = BuiltInRocketRegistries.ROCKET_FIN_TYPE.byNameCodec().dispatch(RocketFin::type, RocketFinType::codec); Codec>> CODEC = RegistryFileCodec.create(RocketRegistries.ROCKET_FIN, DIRECT_CODEC); Codec>> LIST_CODEC = RegistryCodecs.homogeneousList(RocketRegistries.ROCKET_FIN, DIRECT_CODEC); + StreamCodec>> STREAM_CODEC = StreamCodecs.ofHolder(RocketRegistries.ROCKET_FIN); + + Codec>> EITHER_CODEC = EitherHolder.codec(RocketRegistries.ROCKET_FIN, CODEC); + StreamCodec>> EITHER_STREAM_CODEC = EitherHolder.streamCodec(RocketRegistries.ROCKET_FIN, STREAM_CODEC); @Contract(pure = true, value = "_, _ -> new") static @NotNull > RocketFin create(@NotNull C config, @NotNull T type) { diff --git a/src/main/java/dev/galacticraft/api/rocket/part/RocketUpgrade.java b/src/main/java/dev/galacticraft/api/rocket/part/RocketUpgrade.java index 27ecd9c752..7e34ac2272 100644 --- a/src/main/java/dev/galacticraft/api/rocket/part/RocketUpgrade.java +++ b/src/main/java/dev/galacticraft/api/rocket/part/RocketUpgrade.java @@ -28,10 +28,14 @@ import dev.galacticraft.api.rocket.part.config.RocketUpgradeConfig; import dev.galacticraft.api.rocket.part.type.RocketUpgradeType; import dev.galacticraft.impl.rocket.part.RocketUpgradeImpl; +import dev.galacticraft.mod.util.StreamCodecs; import net.minecraft.core.Holder; import net.minecraft.core.HolderSet; import net.minecraft.core.RegistryCodecs; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.StreamCodec; import net.minecraft.resources.RegistryFileCodec; +import net.minecraft.world.item.EitherHolder; import org.jetbrains.annotations.Contract; import org.jetbrains.annotations.NotNull; @@ -39,6 +43,10 @@ public non-sealed interface RocketUpgrade> DIRECT_CODEC = BuiltInRocketRegistries.ROCKET_UPGRADE_TYPE.byNameCodec().dispatch(RocketUpgrade::type, RocketUpgradeType::codec); Codec>> CODEC = RegistryFileCodec.create(RocketRegistries.ROCKET_UPGRADE, DIRECT_CODEC); Codec>> LIST_CODEC = RegistryCodecs.homogeneousList(RocketRegistries.ROCKET_UPGRADE, DIRECT_CODEC); + StreamCodec>> STREAM_CODEC = StreamCodecs.ofHolder(RocketRegistries.ROCKET_UPGRADE); + + Codec>> EITHER_CODEC = EitherHolder.codec(RocketRegistries.ROCKET_UPGRADE, CODEC); + StreamCodec>> EITHER_STREAM_CODEC = EitherHolder.streamCodec(RocketRegistries.ROCKET_UPGRADE, STREAM_CODEC); @Contract(pure = true, value = "_, _ -> new") static @NotNull > RocketUpgrade create(@NotNull C config, @NotNull T type) { diff --git a/src/main/java/dev/galacticraft/api/rocket/part/type/RocketBodyType.java b/src/main/java/dev/galacticraft/api/rocket/part/type/RocketBodyType.java index d4eea58574..992298ec2d 100644 --- a/src/main/java/dev/galacticraft/api/rocket/part/type/RocketBodyType.java +++ b/src/main/java/dev/galacticraft/api/rocket/part/type/RocketBodyType.java @@ -23,6 +23,7 @@ package dev.galacticraft.api.rocket.part.type; import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import dev.galacticraft.api.rocket.part.RocketBody; import dev.galacticraft.api.rocket.part.config.RocketBodyConfig; import org.jetbrains.annotations.Contract; @@ -32,10 +33,10 @@ * The body of a rocket. Controls the number of installable rocket upgrades and the maximum passenger count. */ public non-sealed abstract class RocketBodyType implements RocketPartType { - private final @NotNull Codec>> codec; + private final @NotNull MapCodec>> codec; protected RocketBodyType(@NotNull Codec configCodec) { - this.codec = configCodec.fieldOf("config").xmap(this::configure, RocketBody::config).codec(); + this.codec = configCodec.fieldOf("config").xmap(this::configure, RocketBody::config); } @Override @@ -44,7 +45,7 @@ protected RocketBodyType(@NotNull Codec configCodec) { } @Override - public @NotNull Codec>> codec() { + public @NotNull MapCodec>> codec() { return this.codec; } diff --git a/src/main/java/dev/galacticraft/api/rocket/part/type/RocketBoosterType.java b/src/main/java/dev/galacticraft/api/rocket/part/type/RocketBoosterType.java index 5db1f2d172..796683a929 100644 --- a/src/main/java/dev/galacticraft/api/rocket/part/type/RocketBoosterType.java +++ b/src/main/java/dev/galacticraft/api/rocket/part/type/RocketBoosterType.java @@ -23,6 +23,7 @@ package dev.galacticraft.api.rocket.part.type; import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import dev.galacticraft.api.rocket.part.RocketBooster; import dev.galacticraft.api.rocket.part.config.RocketBoosterConfig; import org.jetbrains.annotations.Contract; @@ -32,10 +33,10 @@ * The booster of a rocket. Controls how fast the rocket accelerates, where the rocket can travel to, and how much fuel is consumed. */ public non-sealed abstract class RocketBoosterType implements RocketPartType { - private final @NotNull Codec>> codec; + private final @NotNull MapCodec>> codec; protected RocketBoosterType(@NotNull Codec configCodec) { - this.codec = configCodec.fieldOf("config").xmap(this::configure, RocketBooster::config).codec(); + this.codec = configCodec.fieldOf("config").xmap(this::configure, RocketBooster::config); } public @NotNull RocketBooster> configure(@NotNull C config) { @@ -43,7 +44,7 @@ protected RocketBoosterType(@NotNull Codec configCodec) { } @Override - public @NotNull Codec>> codec() { + public @NotNull MapCodec>> codec() { return this.codec; } diff --git a/src/main/java/dev/galacticraft/api/rocket/part/type/RocketConeType.java b/src/main/java/dev/galacticraft/api/rocket/part/type/RocketConeType.java index c92fccb028..6415441c0c 100644 --- a/src/main/java/dev/galacticraft/api/rocket/part/type/RocketConeType.java +++ b/src/main/java/dev/galacticraft/api/rocket/part/type/RocketConeType.java @@ -23,6 +23,7 @@ package dev.galacticraft.api.rocket.part.type; import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import dev.galacticraft.api.rocket.part.RocketCone; import dev.galacticraft.api.rocket.part.config.RocketConeConfig; import org.jetbrains.annotations.NotNull; @@ -31,10 +32,10 @@ * The cone of a rocket. Controls how fast the rocket can accelerate. */ public non-sealed abstract class RocketConeType implements RocketPartType { - private final @NotNull Codec>> codec; + private final @NotNull MapCodec>> codec; public RocketConeType(@NotNull Codec configCodec) { - this.codec = configCodec.fieldOf("config").xmap(this::configure, RocketCone::config).codec(); + this.codec = configCodec.fieldOf("config").xmap(this::configure, RocketCone::config); } @Override @@ -43,7 +44,7 @@ public RocketConeType(@NotNull Codec configCodec) { } @Override - public @NotNull Codec>> codec() { + public @NotNull MapCodec>> codec() { return this.codec; } diff --git a/src/main/java/dev/galacticraft/api/rocket/part/type/RocketEngineType.java b/src/main/java/dev/galacticraft/api/rocket/part/type/RocketEngineType.java index 7473a0dac5..b883d59acd 100644 --- a/src/main/java/dev/galacticraft/api/rocket/part/type/RocketEngineType.java +++ b/src/main/java/dev/galacticraft/api/rocket/part/type/RocketEngineType.java @@ -23,6 +23,7 @@ package dev.galacticraft.api.rocket.part.type; import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import dev.galacticraft.api.rocket.part.RocketEngine; import dev.galacticraft.api.rocket.part.config.RocketEngineConfig; import org.jetbrains.annotations.NotNull; @@ -31,10 +32,10 @@ * The engine of a rocket. Controls how much fuel the rocket can hold. */ public non-sealed abstract class RocketEngineType implements RocketPartType { - private final @NotNull Codec>> codec; + private final @NotNull MapCodec>> codec; protected RocketEngineType(@NotNull Codec configCodec) { - this.codec = configCodec.fieldOf("config").xmap(this::configure, RocketEngine::config).codec(); + this.codec = configCodec.fieldOf("config").xmap(this::configure, RocketEngine::config); } @Override @@ -43,7 +44,7 @@ protected RocketEngineType(@NotNull Codec configCodec) { } @Override - public @NotNull Codec>> codec() { + public @NotNull MapCodec>> codec() { return this.codec; } diff --git a/src/main/java/dev/galacticraft/api/rocket/part/type/RocketFinType.java b/src/main/java/dev/galacticraft/api/rocket/part/type/RocketFinType.java index 9963ea334a..7aa73f4dc6 100644 --- a/src/main/java/dev/galacticraft/api/rocket/part/type/RocketFinType.java +++ b/src/main/java/dev/galacticraft/api/rocket/part/type/RocketFinType.java @@ -23,6 +23,7 @@ package dev.galacticraft.api.rocket.part.type; import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import dev.galacticraft.api.rocket.part.RocketFin; import dev.galacticraft.api.rocket.part.config.RocketFinConfig; import org.jetbrains.annotations.NotNull; @@ -31,10 +32,10 @@ * The fins of a rocket. Controls how fast the rocket can accelerate. */ public non-sealed abstract class RocketFinType implements RocketPartType { - private final @NotNull Codec>> codec; + private final @NotNull MapCodec>> codec; protected RocketFinType(@NotNull Codec configCodec) { - this.codec = configCodec.fieldOf("config").xmap(this::configure, RocketFin::config).codec(); + this.codec = configCodec.fieldOf("config").xmap(this::configure, RocketFin::config); } @Override @@ -43,7 +44,7 @@ protected RocketFinType(@NotNull Codec configCodec) { } @Override - public @NotNull Codec>> codec() { + public @NotNull MapCodec>> codec() { return this.codec; } diff --git a/src/main/java/dev/galacticraft/api/rocket/part/type/RocketPartType.java b/src/main/java/dev/galacticraft/api/rocket/part/type/RocketPartType.java index 79bccb68c9..91b2338585 100644 --- a/src/main/java/dev/galacticraft/api/rocket/part/type/RocketPartType.java +++ b/src/main/java/dev/galacticraft/api/rocket/part/type/RocketPartType.java @@ -22,7 +22,7 @@ package dev.galacticraft.api.rocket.part.type; -import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import dev.galacticraft.api.rocket.entity.Rocket; import dev.galacticraft.api.rocket.part.RocketPart; import dev.galacticraft.api.rocket.part.config.RocketPartConfig; @@ -46,7 +46,7 @@ public sealed interface RocketPartType permits Rocke */ void tick(@NotNull Rocket rocket, @NotNull C config); - @NotNull Codec>> codec(); + @NotNull MapCodec>> codec(); @NotNull ConfiguredTravelPredicate travelPredicate(@NotNull C config); diff --git a/src/main/java/dev/galacticraft/api/rocket/part/type/RocketUpgradeType.java b/src/main/java/dev/galacticraft/api/rocket/part/type/RocketUpgradeType.java index d405292059..f6c4f2c5dc 100644 --- a/src/main/java/dev/galacticraft/api/rocket/part/type/RocketUpgradeType.java +++ b/src/main/java/dev/galacticraft/api/rocket/part/type/RocketUpgradeType.java @@ -23,6 +23,7 @@ package dev.galacticraft.api.rocket.part.type; import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import dev.galacticraft.api.rocket.part.RocketUpgrade; import dev.galacticraft.api.rocket.part.config.RocketUpgradeConfig; import org.jetbrains.annotations.NotNull; @@ -31,10 +32,10 @@ * An upgrade for a rocket. */ public non-sealed abstract class RocketUpgradeType implements RocketPartType { - private final @NotNull Codec>> codec; + private final @NotNull MapCodec>> codec; protected RocketUpgradeType(@NotNull Codec configCodec) { - this.codec = configCodec.fieldOf("config").xmap(this::configure, RocketUpgrade::config).codec(); + this.codec = configCodec.fieldOf("config").xmap(this::configure, RocketUpgrade::config); } @Override @@ -43,7 +44,7 @@ protected RocketUpgradeType(@NotNull Codec configCodec) { } @Override - public @NotNull Codec>> codec() { + public @NotNull MapCodec>> codec() { return this.codec; } } diff --git a/src/main/java/dev/galacticraft/api/rocket/recipe/RocketPartRecipe.java b/src/main/java/dev/galacticraft/api/rocket/recipe/RocketPartRecipe.java index 6c3b6ae02f..5826115a61 100644 --- a/src/main/java/dev/galacticraft/api/rocket/recipe/RocketPartRecipe.java +++ b/src/main/java/dev/galacticraft/api/rocket/recipe/RocketPartRecipe.java @@ -28,14 +28,14 @@ import dev.galacticraft.api.rocket.recipe.type.RocketPartRecipeType; import dev.galacticraft.impl.rocket.recipe.RocketPartRecipeImpl; import net.minecraft.core.NonNullList; -import net.minecraft.data.worldgen.BootstapContext; -import net.minecraft.world.Container; +import net.minecraft.data.worldgen.BootstrapContext; import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.item.crafting.Recipe; +import net.minecraft.world.item.crafting.RecipeInput; import org.jetbrains.annotations.Contract; import org.jetbrains.annotations.NotNull; -public interface RocketPartRecipe> extends Recipe { +public interface RocketPartRecipe> extends Recipe { Codec> DIRECT_CODEC = BuiltInRocketRegistries.ROCKET_PART_RECIPE_TYPE.byNameCodec().dispatch(RocketPartRecipe::type, RocketPartRecipeType::codec); @Contract("_, _ -> new") @@ -56,7 +56,7 @@ public interface RocketPartRecipe getIngredients(); - static void bootstrapRegistries(BootstapContext> context) { + static void bootstrapRegistries(BootstrapContext> context) { } } diff --git a/src/main/java/dev/galacticraft/api/rocket/recipe/type/RocketPartRecipeType.java b/src/main/java/dev/galacticraft/api/rocket/recipe/type/RocketPartRecipeType.java index 6778aaa56b..232fae06dd 100644 --- a/src/main/java/dev/galacticraft/api/rocket/recipe/type/RocketPartRecipeType.java +++ b/src/main/java/dev/galacticraft/api/rocket/recipe/type/RocketPartRecipeType.java @@ -23,24 +23,25 @@ package dev.galacticraft.api.rocket.recipe.type; import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import dev.galacticraft.api.rocket.recipe.RocketPartRecipe; import dev.galacticraft.api.rocket.recipe.config.RocketPartRecipeConfig; import dev.galacticraft.machinelib.api.filter.ResourceFilter; import net.minecraft.core.NonNullList; -import net.minecraft.world.Container; import net.minecraft.world.item.Item; import net.minecraft.world.item.crafting.Ingredient; +import net.minecraft.world.item.crafting.RecipeInput; import net.minecraft.world.level.Level; import org.jetbrains.annotations.NotNull; public abstract class RocketPartRecipeType { - private final @NotNull Codec>> codec; + private final @NotNull MapCodec>> codec; protected RocketPartRecipeType(@NotNull Codec configCodec) { - this.codec = configCodec.fieldOf("config").xmap(this::configure, RocketPartRecipe::config).codec(); + this.codec = configCodec.fieldOf("config").xmap(this::configure, RocketPartRecipe::config); } - public @NotNull Codec>> codec() { + public @NotNull MapCodec>> codec() { return this.codec; } @@ -56,7 +57,7 @@ protected RocketPartRecipeType(@NotNull Codec configCodec) { public abstract @NotNull NonNullList ingredients(C config); - public abstract boolean matches(Container container, Level level, C config); + public abstract boolean matches(RecipeInput input, Level level, C config); @FunctionalInterface public interface SlotConsumer { diff --git a/src/main/java/dev/galacticraft/api/rocket/travelpredicate/ConfiguredTravelPredicate.java b/src/main/java/dev/galacticraft/api/rocket/travelpredicate/ConfiguredTravelPredicate.java index 19d95133dc..a513cdc622 100644 --- a/src/main/java/dev/galacticraft/api/rocket/travelpredicate/ConfiguredTravelPredicate.java +++ b/src/main/java/dev/galacticraft/api/rocket/travelpredicate/ConfiguredTravelPredicate.java @@ -37,7 +37,7 @@ public record ConfiguredTravelPredicate>> CODEC = RegistryFileCodec.create(RocketRegistries.TRAVEL_PREDICATE, DIRECT_CODEC); public static final Codec>> LIST_CODEC = RegistryCodecs.homogeneousList(RocketRegistries.TRAVEL_PREDICATE, DIRECT_CODEC); - public TravelPredicateType.Result canTravel(CelestialBody from, CelestialBody to, RocketCone cone, RocketBody body, RocketFin fin, RocketBooster booster, RocketEngine engine, RocketUpgrade upgrade) { + public TravelPredicateType.Result canTravel(CelestialBody from, CelestialBody to, Holder> cone, Holder> body, Holder> fin, Holder> booster, Holder> engine, Holder> upgrade) { return this.type.canTravel(from, to, cone, body, fin, booster, engine, upgrade, this.config); } } diff --git a/src/main/java/dev/galacticraft/api/rocket/travelpredicate/TravelPredicateType.java b/src/main/java/dev/galacticraft/api/rocket/travelpredicate/TravelPredicateType.java index e46089b793..feb707244b 100644 --- a/src/main/java/dev/galacticraft/api/rocket/travelpredicate/TravelPredicateType.java +++ b/src/main/java/dev/galacticraft/api/rocket/travelpredicate/TravelPredicateType.java @@ -23,6 +23,7 @@ package dev.galacticraft.api.rocket.travelpredicate; import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import dev.galacticraft.api.registry.BuiltInRocketRegistries; import dev.galacticraft.api.rocket.part.*; import dev.galacticraft.api.universe.celestialbody.CelestialBody; @@ -35,19 +36,19 @@ public abstract class TravelPredicateType { private final @NotNull Holder.Reference> reference = BuiltInRocketRegistries.TRAVEL_PREDICATE_TYPE.createIntrusiveHolder(this); - private final @NotNull Codec>> codec; + private final @NotNull MapCodec>> codec; public TravelPredicateType(@NotNull Codec configCodec) { - this.codec = configCodec.fieldOf("config").xmap(this::configure, ConfiguredTravelPredicate::config).codec(); + this.codec = configCodec.fieldOf("config").xmap(this::configure, ConfiguredTravelPredicate::config); } public ConfiguredTravelPredicate> configure(C config) { return new ConfiguredTravelPredicate<>(config, this); } - public abstract Result canTravel(CelestialBody from, CelestialBody to, RocketCone cone, RocketBody body, RocketFin fin, RocketBooster booster, RocketEngine engine, RocketUpgrade upgrade, C config); + public abstract Result canTravel(CelestialBody from, CelestialBody to, Holder> cone, Holder> body, Holder> fin, Holder> booster, Holder> engine, Holder> upgrade, C config); - public Codec>> codec() { + public MapCodec>> codec() { return this.codec; } diff --git a/src/main/java/dev/galacticraft/api/satellite/SatelliteRecipe.java b/src/main/java/dev/galacticraft/api/satellite/SatelliteRecipe.java index aa6e96daba..c9113efdc2 100644 --- a/src/main/java/dev/galacticraft/api/satellite/SatelliteRecipe.java +++ b/src/main/java/dev/galacticraft/api/satellite/SatelliteRecipe.java @@ -42,15 +42,15 @@ public interface SatelliteRecipe extends Predicate { @Override public DataResult encode(Int2ObjectMap input, DynamicOps ops, T prefix) { RecordBuilder mapBuilder = ops.mapBuilder(); - input.forEach((amount, ingredient) -> mapBuilder.add(ops.createInt(amount).toString(), Ingredient.CODEC.encodeStart(ops, ingredient).get().orThrow())); + input.forEach((amount, ingredient) -> mapBuilder.add(ops.createInt(amount).toString(), Ingredient.CODEC.encodeStart(ops, ingredient).getOrThrow())); return mapBuilder.build(prefix); } @Override public DataResult, T>> decode(DynamicOps ops, T input) { - MapLike mapLike = ops.getMap(input).get().orThrow(); + MapLike mapLike = ops.getMap(input).getOrThrow(); Int2ObjectMap list = new Int2ObjectArrayMap<>(); - mapLike.entries().forEachOrdered(ttPair -> list.put(Integer.decode(ops.getStringValue(ttPair.getFirst()).get().orThrow()).intValue(), Ingredient.CODEC.decode(ops, ttPair.getSecond()).get().orThrow().getFirst())); + mapLike.entries().forEachOrdered(ttPair -> list.put(Integer.decode(ops.getStringValue(ttPair.getFirst()).getOrThrow()).intValue(), Ingredient.CODEC.decode(ops, ttPair.getSecond()).getOrThrow().getFirst())); return DataResult.success(new Pair<>(list, input)); } }.fieldOf("ingredients").forGetter(SatelliteRecipe::ingredients) diff --git a/src/main/java/dev/galacticraft/api/universe/celestialbody/CelestialBody.java b/src/main/java/dev/galacticraft/api/universe/celestialbody/CelestialBody.java index 714a0ab529..09c608c512 100644 --- a/src/main/java/dev/galacticraft/api/universe/celestialbody/CelestialBody.java +++ b/src/main/java/dev/galacticraft/api/universe/celestialbody/CelestialBody.java @@ -23,77 +23,41 @@ package dev.galacticraft.api.universe.celestialbody; import com.mojang.serialization.Codec; -import dev.galacticraft.api.entity.attribute.GcApiEntityAttributes; import dev.galacticraft.api.gas.GasComposition; import dev.galacticraft.api.registry.AddonRegistries; import dev.galacticraft.api.registry.BuiltInAddonRegistries; -import dev.galacticraft.api.universe.celestialbody.landable.Landable; import dev.galacticraft.api.universe.display.CelestialDisplay; import dev.galacticraft.api.universe.display.ring.CelestialRingDisplay; import dev.galacticraft.api.universe.galaxy.Galaxy; import dev.galacticraft.api.universe.position.CelestialPosition; -import net.minecraft.core.*; +import dev.galacticraft.mod.util.StreamCodecs; +import net.minecraft.core.Holder; +import net.minecraft.core.HolderSet; +import net.minecraft.core.RegistryCodecs; +import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.chat.Component; +import net.minecraft.network.codec.StreamCodec; import net.minecraft.resources.RegistryFileCodec; -import net.minecraft.resources.ResourceKey; -import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.LivingEntity; -import net.minecraft.world.entity.ai.attributes.AttributeInstance; +import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.level.Level; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.Optional; - public record CelestialBody>(T type, C config) { public static final Codec> DIRECT_CODEC = BuiltInAddonRegistries.CELESTIAL_BODY_TYPE.byNameCodec().dispatch(CelestialBody::type, CelestialBodyType::codec); public static final Codec>> CODEC = RegistryFileCodec.create(AddonRegistries.CELESTIAL_BODY, DIRECT_CODEC); public static final Codec>> LIST_CODEC = RegistryCodecs.homogeneousList(AddonRegistries.CELESTIAL_BODY, DIRECT_CODEC); + public static final StreamCodec>> STREAM_CODEC = StreamCodecs.ofHolder(AddonRegistries.CELESTIAL_BODY); - public static Registry> getRegistry(RegistryAccess manager) { - return manager.registryOrThrow(AddonRegistries.CELESTIAL_BODY); - } - - public static CelestialBody getById(RegistryAccess manager, ResourceLocation id) { - return getById(getRegistry(manager), id); - } - - public static ResourceLocation getId(RegistryAccess manager, CelestialBody celestialBody) { - return getId(getRegistry(manager), celestialBody); - } - - public static & Landable> Optional> getByDimension(RegistryAccess manager, ResourceKey key) { - return getByDimension(getRegistry(manager), key); - } - - public static & Landable> Optional> getByDimension(Level level) { - return getByDimension(level.registryAccess(), level.dimension()); - } - - public static CelestialBody getById(Registry> registry, ResourceLocation id) { - return registry.get(id); - } - - public static ResourceLocation getId(Registry> registry, CelestialBody celestialBody) { - return registry.getKey(celestialBody); - } - - public static & Landable> Optional> getByDimension(Registry> registry, ResourceKey key) { - for (CelestialBody body : registry) { - if (body.type() instanceof Landable landable && landable.world(body.config()).equals(key)) - return Optional.of((CelestialBody) body); - } - return Optional.empty(); + public static double getGravity(Entity entity) { + return modifyGravity(entity.level(), entity instanceof LivingEntity living ? living.getAttributeBaseValue(Attributes.GRAVITY) : 0.08d); } - public static double getGravity(Entity entity) { - if (entity instanceof LivingEntity living) { - AttributeInstance attribute = living.getAttribute(GcApiEntityAttributes.LOCAL_GRAVITY_LEVEL); - if (attribute != null && attribute.getValue() > 0) - return attribute.getValue() * 0.08d; - } - return CelestialBody.getByDimension(entity.level()).map(celestialBodyType -> celestialBodyType.gravity() * 0.08d).orElse(0.08); + public static double modifyGravity(Level level, double d) { + Holder> holder = level.galacticraft$getCelestialBody(); + return holder != null ? holder.value().gravity() * d : d; } /** diff --git a/src/main/java/dev/galacticraft/api/universe/celestialbody/CelestialBodyType.java b/src/main/java/dev/galacticraft/api/universe/celestialbody/CelestialBodyType.java index 3877add031..988a3cbbfe 100644 --- a/src/main/java/dev/galacticraft/api/universe/celestialbody/CelestialBodyType.java +++ b/src/main/java/dev/galacticraft/api/universe/celestialbody/CelestialBodyType.java @@ -23,6 +23,7 @@ package dev.galacticraft.api.universe.celestialbody; import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import dev.galacticraft.api.gas.GasComposition; import dev.galacticraft.api.universe.display.CelestialDisplay; import dev.galacticraft.api.universe.display.ring.CelestialRingDisplay; @@ -35,10 +36,10 @@ import org.jetbrains.annotations.Nullable; public abstract class CelestialBodyType { - private final Codec>> codec; + private final MapCodec>> codec; public CelestialBodyType(Codec codec) { - this.codec = codec.fieldOf("config").xmap((config) -> new CelestialBody<>(this, config), CelestialBody::config).codec(); + this.codec = codec.fieldOf("config").xmap((config) -> new CelestialBody<>(this, config), CelestialBody::config); } /** @@ -131,7 +132,7 @@ public long dayLength(C config) { * * @return a codec that will (de)serialize a fully-configured celestial body of this type. */ - public Codec>> codec() { + public MapCodec>> codec() { return this.codec; } diff --git a/src/main/java/dev/galacticraft/api/universe/celestialbody/landable/teleporter/type/CelestialTeleporterType.java b/src/main/java/dev/galacticraft/api/universe/celestialbody/landable/teleporter/type/CelestialTeleporterType.java index a03ba27afe..55107d97a2 100644 --- a/src/main/java/dev/galacticraft/api/universe/celestialbody/landable/teleporter/type/CelestialTeleporterType.java +++ b/src/main/java/dev/galacticraft/api/universe/celestialbody/landable/teleporter/type/CelestialTeleporterType.java @@ -23,6 +23,7 @@ package dev.galacticraft.api.universe.celestialbody.landable.teleporter.type; import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import dev.galacticraft.api.universe.celestialbody.CelestialBody; import dev.galacticraft.api.universe.celestialbody.landable.teleporter.CelestialTeleporter; import dev.galacticraft.api.universe.celestialbody.landable.teleporter.config.CelestialTeleporterConfig; @@ -31,13 +32,13 @@ import org.jetbrains.annotations.NotNull; public abstract class CelestialTeleporterType { - private final Codec>> codec; + private final MapCodec>> codec; public CelestialTeleporterType(Codec codec) { - this.codec = codec.fieldOf("config").xmap((config) -> new CelestialTeleporter<>(this, config), CelestialTeleporter::config).codec(); + this.codec = codec.fieldOf("config").xmap((config) -> new CelestialTeleporter<>(this, config), CelestialTeleporter::config); } - public @NotNull Codec>> codec() { + public @NotNull MapCodec>> codec() { return this.codec; } diff --git a/src/main/java/dev/galacticraft/api/universe/display/CelestialDisplay.java b/src/main/java/dev/galacticraft/api/universe/display/CelestialDisplay.java index 3b92a9ad2b..ccd792eb65 100644 --- a/src/main/java/dev/galacticraft/api/universe/display/CelestialDisplay.java +++ b/src/main/java/dev/galacticraft/api/universe/display/CelestialDisplay.java @@ -22,7 +22,7 @@ package dev.galacticraft.api.universe.display; -import com.mojang.blaze3d.vertex.BufferBuilder; +import com.mojang.blaze3d.vertex.Tesselator; import com.mojang.serialization.Codec; import dev.galacticraft.api.registry.BuiltInAddonRegistries; import net.fabricmc.api.EnvType; @@ -34,7 +34,7 @@ public record CelestialDisplay> CODEC = BuiltInAddonRegistries.CELESTIAL_DISPLAY_TYPE.byNameCodec().dispatch(CelestialDisplay::type, CelestialDisplayType::codec); @Environment(EnvType.CLIENT) - public Vector4f render(GuiGraphics graphics, BufferBuilder buffer, int scale, double mouseX, double mouseY, float delta) { - return this.type().render(graphics, buffer, scale, mouseX, mouseY, delta, this.config()); + public Vector4f render(GuiGraphics graphics, Tesselator tesselator, int scale, double mouseX, double mouseY, float delta) { + return this.type().render(graphics, tesselator, scale, mouseX, mouseY, delta, this.config()); } } diff --git a/src/main/java/dev/galacticraft/api/universe/display/CelestialDisplayType.java b/src/main/java/dev/galacticraft/api/universe/display/CelestialDisplayType.java index 953d0970e1..dd00e520d1 100644 --- a/src/main/java/dev/galacticraft/api/universe/display/CelestialDisplayType.java +++ b/src/main/java/dev/galacticraft/api/universe/display/CelestialDisplayType.java @@ -22,8 +22,9 @@ package dev.galacticraft.api.universe.display; -import com.mojang.blaze3d.vertex.BufferBuilder; +import com.mojang.blaze3d.vertex.Tesselator; import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.client.gui.GuiGraphics; @@ -31,16 +32,16 @@ public abstract class CelestialDisplayType { public static final Vector4f NULL_VECTOR = new Vector4f(0, 0, 0, 0); - private final Codec>> codec; + private final MapCodec>> codec; public CelestialDisplayType(Codec codec) { - this.codec = codec.fieldOf("config").xmap((config) -> new CelestialDisplay<>(this, config), CelestialDisplay::config).codec(); + this.codec = codec.fieldOf("config").xmap((config) -> new CelestialDisplay<>(this, config), CelestialDisplay::config); } @Environment(EnvType.CLIENT) - public abstract Vector4f render(GuiGraphics graphics, BufferBuilder buffer, int size, double mouseX, double mouseY, float delta, C config); + public abstract Vector4f render(GuiGraphics graphics, Tesselator tesselator, int size, double mouseX, double mouseY, float delta, C config); - public Codec>> codec() { + public MapCodec>> codec() { return this.codec; } diff --git a/src/main/java/dev/galacticraft/api/universe/display/ring/CelestialRingDisplay.java b/src/main/java/dev/galacticraft/api/universe/display/ring/CelestialRingDisplay.java index 4d9451385a..d835e50878 100644 --- a/src/main/java/dev/galacticraft/api/universe/display/ring/CelestialRingDisplay.java +++ b/src/main/java/dev/galacticraft/api/universe/display/ring/CelestialRingDisplay.java @@ -28,17 +28,13 @@ import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.client.gui.GuiGraphics; -import net.minecraft.client.renderer.ShaderInstance; import org.joml.Vector3f; -import java.util.function.Consumer; -import java.util.function.Supplier; - public record CelestialRingDisplay>(T type, C config) { public static final Codec> CODEC = BuiltInAddonRegistries.CELESTIAL_RING_DISPLAY_TYPE.byNameCodec().dispatch(CelestialRingDisplay::type, CelestialRingDisplayType::codec); @Environment(EnvType.CLIENT) - public boolean render(CelestialBody body, GuiGraphics graphics, int count, Vector3f systemOffset, float alpha, float lineScale, double mouseX, double mouseY, float delta, Consumer> shaderSetter) { - return this.type().render(body, graphics, count, systemOffset, lineScale, alpha, mouseX, mouseY, delta, shaderSetter, this.config()); + public boolean render(CelestialBody body, GuiGraphics graphics, int count, Vector3f systemOffset, float alpha, float lineScale, double mouseX, double mouseY, float delta) { + return this.type().render(body, graphics, count, systemOffset, lineScale, alpha, mouseX, mouseY, delta, this.config()); } } diff --git a/src/main/java/dev/galacticraft/api/universe/display/ring/CelestialRingDisplayType.java b/src/main/java/dev/galacticraft/api/universe/display/ring/CelestialRingDisplayType.java index b6a9d26294..77b85d319d 100644 --- a/src/main/java/dev/galacticraft/api/universe/display/ring/CelestialRingDisplayType.java +++ b/src/main/java/dev/galacticraft/api/universe/display/ring/CelestialRingDisplayType.java @@ -22,30 +22,25 @@ package dev.galacticraft.api.universe.display.ring; -import com.mojang.blaze3d.vertex.BufferBuilder; import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import dev.galacticraft.api.universe.celestialbody.CelestialBody; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.client.gui.GuiGraphics; -import net.minecraft.client.renderer.ShaderInstance; import org.joml.Vector3f; -import org.joml.Vector4f; - -import java.util.function.Consumer; -import java.util.function.Supplier; public abstract class CelestialRingDisplayType { - private final Codec>> codec; + private final MapCodec>> codec; public CelestialRingDisplayType(Codec codec) { - this.codec = codec.fieldOf("config").xmap((config) -> new CelestialRingDisplay<>(this, config), CelestialRingDisplay::config).codec(); + this.codec = codec.fieldOf("config").xmap((config) -> new CelestialRingDisplay<>(this, config), CelestialRingDisplay::config); } @Environment(EnvType.CLIENT) - public abstract boolean render(CelestialBody body, GuiGraphics graphics, int count, Vector3f systemOffset, float lineScale, float alpha, double mouseX, double mouseY, float delta, Consumer> shaderSetter, C config); + public abstract boolean render(CelestialBody body, GuiGraphics graphics, int count, Vector3f systemOffset, float lineScale, float alpha, double mouseX, double mouseY, float delta, C config); - public Codec>> codec() { + public MapCodec>> codec() { return this.codec; } diff --git a/src/main/java/dev/galacticraft/api/universe/galaxy/Galaxy.java b/src/main/java/dev/galacticraft/api/universe/galaxy/Galaxy.java index 4494c1575e..406f98b7a9 100644 --- a/src/main/java/dev/galacticraft/api/universe/galaxy/Galaxy.java +++ b/src/main/java/dev/galacticraft/api/universe/galaxy/Galaxy.java @@ -28,9 +28,12 @@ import dev.galacticraft.api.universe.display.CelestialDisplay; import dev.galacticraft.api.universe.position.CelestialPosition; import dev.galacticraft.impl.universe.galaxy.GalaxyImpl; +import dev.galacticraft.mod.util.StreamCodecs; import net.minecraft.core.*; +import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.ComponentSerialization; +import net.minecraft.network.codec.StreamCodec; import net.minecraft.resources.RegistryFileCodec; import net.minecraft.resources.ResourceLocation; import org.jetbrains.annotations.Contract; @@ -45,6 +48,7 @@ public interface Galaxy { ).apply(instance, Galaxy::create)); Codec> CODEC = RegistryFileCodec.create(AddonRegistries.GALAXY, DIRECT_CODEC); Codec> LIST_CODEC = RegistryCodecs.homogeneousList(AddonRegistries.GALAXY, DIRECT_CODEC); + StreamCodec STREAM_CODEC = StreamCodecs.ofRegistryEntry(AddonRegistries.GALAXY); @Contract("_, _, _, _ -> new") static @NotNull Galaxy create(@NotNull Component name, @NotNull Component description, CelestialPosition position, CelestialDisplay display) { diff --git a/src/main/java/dev/galacticraft/api/universe/position/CelestialPositionType.java b/src/main/java/dev/galacticraft/api/universe/position/CelestialPositionType.java index 983a38d77b..b478fb16f3 100644 --- a/src/main/java/dev/galacticraft/api/universe/position/CelestialPositionType.java +++ b/src/main/java/dev/galacticraft/api/universe/position/CelestialPositionType.java @@ -23,12 +23,13 @@ package dev.galacticraft.api.universe.position; import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; public abstract class CelestialPositionType { - private final Codec>> codec; + private final MapCodec>> codec; public CelestialPositionType(Codec codec) { - this.codec = codec.fieldOf("config").xmap((config) -> new CelestialPosition<>(this, config), CelestialPosition::config).codec(); + this.codec = codec.fieldOf("config").xmap((config) -> new CelestialPosition<>(this, config), CelestialPosition::config); } public abstract double x(C config, long worldTime, float delta); @@ -39,7 +40,7 @@ public float lineScale(C config) { return Float.NaN; } - public Codec>> codec() { + public MapCodec>> codec() { return this.codec; } diff --git a/src/main/java/dev/galacticraft/impl/client/accessor/ClientResearchAccessor.java b/src/main/java/dev/galacticraft/impl/client/accessor/ClientResearchAccessor.java index b7e724c2f8..b21b71d560 100644 --- a/src/main/java/dev/galacticraft/impl/client/accessor/ClientResearchAccessor.java +++ b/src/main/java/dev/galacticraft/impl/client/accessor/ClientResearchAccessor.java @@ -28,8 +28,10 @@ import net.minecraft.resources.ResourceLocation; import org.jetbrains.annotations.ApiStatus; +import java.util.List; + @Environment(EnvType.CLIENT) @ApiStatus.Internal public interface ClientResearchAccessor extends ResearchAccessor { - void galacticraft$updateResearch(boolean add, ResourceLocation[] ids); + void galacticraft$updateResearch(boolean add, List ids); } diff --git a/src/main/java/dev/galacticraft/impl/client/rocket/render/BakedModelRocketPartRenderer.java b/src/main/java/dev/galacticraft/impl/client/rocket/render/BakedModelRocketPartRenderer.java index 3767dee25d..3ab34ecd37 100644 --- a/src/main/java/dev/galacticraft/impl/client/rocket/render/BakedModelRocketPartRenderer.java +++ b/src/main/java/dev/galacticraft/impl/client/rocket/render/BakedModelRocketPartRenderer.java @@ -30,13 +30,15 @@ import dev.galacticraft.api.entity.rocket.render.RocketPartRenderer; import dev.galacticraft.api.rocket.entity.Rocket; import dev.galacticraft.mod.client.model.GCBakedModel; -import dev.galacticraft.mod.client.model.GCSheets; +import dev.galacticraft.mod.client.model.GCRenderTypes; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.multiplayer.ClientLevel; -import net.minecraft.client.renderer.*; +import net.minecraft.client.renderer.GameRenderer; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.texture.TextureAtlas; import java.util.function.Supplier; @@ -51,7 +53,7 @@ public BakedModelRocketPartRenderer(Supplier model) { @Override public void renderGUI(GuiGraphics graphics, int x, int y, int mouseX, int mouseY, float delta) { - RenderSystem.setShader(GameRenderer::getPositionColorTexShader); + RenderSystem.setShader(GameRenderer::getPositionTexColorShader); PoseStack pose = graphics.pose(); pose.pushPose(); pose.translate(x, y-5, 10); //todo: add GUI model transforms to models @@ -91,14 +93,14 @@ public void renderGUI(GuiGraphics graphics, int x, int y, int mouseX, int mouseY @Override public void render(ClientLevel world, PoseStack matrices, Rocket rocket, MultiBufferSource vertices, float partialTick, int light, int overlay) { - RenderSystem.setShaderColor(rocket.red() / 255.0f, rocket.green() / 255.0f, rocket.blue() / 255.0f, rocket.alpha() / 255.0f); + int color = rocket.getData().color(); // matrices.translate(0.5D, 0.5D, 0.5D); // PoseStack.Pose entry = matrices.last(); // VertexConsumer vertexConsumer = vertices.getBuffer(layer.get()); // RenderSystem.setShader(GameRenderer::getPositionColorTexShader); - VertexConsumer consumer = vertices.getBuffer(GCSheets.obj(GCSheets.OBJ_ATLAS)); - this.model.get().render(matrices, null, consumer, light, overlay); + VertexConsumer consumer = vertices.getBuffer(GCRenderTypes.obj(GCRenderTypes.OBJ_ATLAS)); + this.model.get().render(matrices, null, consumer, light, overlay, color); // Minecraft.getInstance().getBlockRenderer().getModelRenderer().renderModel(entry, vertexConsumer, null, this.model.get(), 1, 1, 1, light, overlay); } } diff --git a/src/main/java/dev/galacticraft/impl/codec/MapCodec.java b/src/main/java/dev/galacticraft/impl/codec/MapCodec.java deleted file mode 100644 index 2bf108627c..0000000000 --- a/src/main/java/dev/galacticraft/impl/codec/MapCodec.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright (c) 2019-2024 Team Galacticraft - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -package dev.galacticraft.impl.codec; - -import com.mojang.datafixers.util.Pair; -import com.mojang.serialization.*; - -import java.util.Map; -import java.util.function.Supplier; - -public record MapCodec>(Supplier supplier, Encoder encoderA, Decoder decoderA, - Encoder encoderB, Decoder decoderB) implements Codec { - - public static > MapCodec create(Supplier supplier, Encoder encoderA, Decoder decoderA, Encoder encoderB, Decoder decoderB) { - return new MapCodec<>(supplier, encoderA, decoderA, encoderB, decoderB); - } - - public static > MapCodec create(Supplier supplier, Codec codecA, Codec codecB) { - return new MapCodec<>(supplier, codecA, codecA, codecB, codecB); - } - - @Override - public DataResult> decode(DynamicOps ops, T input) { - M map = supplier.get(); - ops.getMap(input).get().orThrow().entries().forEach(pair -> map.put(this.decoderA.decode(ops, pair.getFirst()).get().orThrow().getFirst(), this.decoderB.decode(ops, pair.getSecond()).get().orThrow().getFirst())); - return DataResult.success(new Pair<>(map, input)); - } - - @Override - public DataResult encode(M input, DynamicOps ops, T prefix) { - RecordBuilder recordBuilder = ops.mapBuilder(); - input.forEach((a, b) -> recordBuilder.add(encoderA.encode(a, ops, prefix), encoderB.encode(b, ops, prefix))); - return recordBuilder.build(prefix); - } -} diff --git a/src/main/java/dev/galacticraft/impl/codec/MapKvCodec.java b/src/main/java/dev/galacticraft/impl/codec/MapKvCodec.java new file mode 100644 index 0000000000..09a3265935 --- /dev/null +++ b/src/main/java/dev/galacticraft/impl/codec/MapKvCodec.java @@ -0,0 +1,55 @@ +/* + * Copyright (c) 2019-2024 Team Galacticraft + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package dev.galacticraft.impl.codec; + +import com.mojang.datafixers.util.Pair; +import com.mojang.serialization.*; + +import java.util.Map; +import java.util.function.Supplier; + +public record MapKvCodec>(Supplier supplier, Encoder encoderA, Decoder decoderA, + Encoder encoderB, Decoder decoderB) implements Codec { + + public static > MapKvCodec create(Supplier supplier, Encoder encoderA, Decoder decoderA, Encoder encoderB, Decoder decoderB) { + return new MapKvCodec<>(supplier, encoderA, decoderA, encoderB, decoderB); + } + + public static > MapKvCodec create(Supplier supplier, Codec codecA, Codec codecB) { + return new MapKvCodec<>(supplier, codecA, codecA, codecB, codecB); + } + + @Override + public DataResult> decode(DynamicOps ops, T input) { + M map = supplier.get(); + ops.getMap(input).getOrThrow().entries().forEach(pair -> map.put(this.decoderA.decode(ops, pair.getFirst()).getOrThrow().getFirst(), this.decoderB.decode(ops, pair.getSecond()).getOrThrow().getFirst())); + return DataResult.success(new Pair<>(map, input)); + } + + @Override + public DataResult encode(M input, DynamicOps ops, T prefix) { + RecordBuilder recordBuilder = ops.mapBuilder(); + input.forEach((k, v) -> recordBuilder.add(encoderA.encode(k, ops, prefix), encoderB.encode(v, ops, prefix))); + return recordBuilder.build(prefix); + } +} diff --git a/src/main/java/dev/galacticraft/impl/data/GCDynamicRegistryProvider.java b/src/main/java/dev/galacticraft/impl/data/GCDynamicRegistryProvider.java index 91f9d6c2b5..f2c6ee444f 100644 --- a/src/main/java/dev/galacticraft/impl/data/GCDynamicRegistryProvider.java +++ b/src/main/java/dev/galacticraft/impl/data/GCDynamicRegistryProvider.java @@ -22,31 +22,15 @@ package dev.galacticraft.impl.data; -import java.nio.file.Path; -import java.util.ArrayList; -import java.util.IdentityHashMap; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import java.util.concurrent.CompletableFuture; -import java.util.stream.Collectors; - import com.google.gson.JsonElement; import com.mojang.serialization.Codec; import com.mojang.serialization.DynamicOps; import com.mojang.serialization.Encoder; import com.mojang.serialization.JsonOps; -import org.jetbrains.annotations.ApiStatus; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; import net.fabricmc.fabric.api.event.registry.DynamicRegistries; import net.fabricmc.fabric.impl.registry.sync.DynamicRegistriesImpl; -import net.minecraft.core.Holder; -import net.minecraft.core.HolderGetter; -import net.minecraft.core.HolderLookup; -import net.minecraft.core.HolderOwner; -import net.minecraft.core.Registry; +import net.minecraft.core.*; import net.minecraft.core.registries.Registries; import net.minecraft.data.CachedOutput; import net.minecraft.data.DataProvider; @@ -57,6 +41,16 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.levelgen.carver.ConfiguredWorldCarver; import net.minecraft.world.level.levelgen.placement.PlacedFeature; +import org.jetbrains.annotations.ApiStatus; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.nio.file.Path; +import java.util.*; +import java.util.concurrent.CompletableFuture; +import java.util.stream.Collectors; /** * Modified version of {@link net.fabricmc.fabric.api.datagen.v1.provider.FabricDynamicRegistryProvider} to support {@link RegistryDataLoader#DIMENSION_REGISTRIES} @@ -130,7 +124,7 @@ public HolderGetter> configuredCarvers() { */ public Holder ref(ResourceKey key) { RegistryEntries entries = getQueuedEntries(key); - return Holder.Reference.createStandAlone(entries.lookup, key); + return new UniversalReferenceHack<>(entries.lookup, key); } /** @@ -197,7 +191,7 @@ public Holder add(ResourceKey key, T value) { throw new IllegalArgumentException("Trying to add registry key " + key + " more than once."); } - return Holder.Reference.createStandAlone(lookup, key); + return new UniversalReferenceHack<>(lookup, key); } public Holder add(ResourceLocation id, T value) { @@ -206,25 +200,23 @@ public Holder add(ResourceLocation id, T value) { } @Override - public CompletableFuture run(CachedOutput writer) { - return registriesFuture.thenCompose(registries -> { - return CompletableFuture - .supplyAsync(() -> { - Entries entries = new Entries(registries, output.getModId()); - configure(registries, entries); - return entries; - }) - .thenCompose(entries -> { - final RegistryOps dynamicOps = RegistryOps.create(JsonOps.INSTANCE, registries); - ArrayList> futures = new ArrayList<>(); - - for (RegistryEntries registryEntries : entries.queuedEntries.values()) { - futures.add(writeRegistryEntries(writer, dynamicOps, registryEntries)); - } - - return CompletableFuture.allOf(futures.toArray(CompletableFuture[]::new)); - }); - }); + public @NotNull CompletableFuture run(CachedOutput writer) { + return registriesFuture.thenCompose(registries -> CompletableFuture + .supplyAsync(() -> { + Entries entries = new Entries(registries, output.getModId()); + configure(registries, entries); + return entries; + }) + .thenCompose(entries -> { + final RegistryOps dynamicOps = registries.createSerializationContext(JsonOps.INSTANCE); + ArrayList> futures = new ArrayList<>(); + + for (RegistryEntries registryEntries : entries.queuedEntries.values()) { + futures.add(writeRegistryEntries(writer, dynamicOps, registryEntries)); + } + + return CompletableFuture.allOf(futures.toArray(CompletableFuture[]::new)); + })); } private CompletableFuture writeRegistryEntries(CachedOutput writer, RegistryOps ops, RegistryEntries entries) { @@ -253,4 +245,15 @@ private static CompletableFuture writeToPath(Path path, CachedOutput cach return CompletableFuture.completedFuture(null); } + + private static class UniversalReferenceHack extends Holder.Reference { + protected UniversalReferenceHack(HolderOwner holderOwner, @Nullable ResourceKey resourceKey) { + super(Holder.Reference.Type.STAND_ALONE, holderOwner, resourceKey, null); + } + + @Override + public boolean canSerializeIn(HolderOwner owner) { + return true; + } + } } diff --git a/src/main/java/dev/galacticraft/impl/data/GeneratingBootstrapContext.java b/src/main/java/dev/galacticraft/impl/data/GeneratingBootstrapContext.java index 3b5ecfeead..288264dbfe 100644 --- a/src/main/java/dev/galacticraft/impl/data/GeneratingBootstrapContext.java +++ b/src/main/java/dev/galacticraft/impl/data/GeneratingBootstrapContext.java @@ -23,16 +23,15 @@ package dev.galacticraft.impl.data; import com.mojang.serialization.Lifecycle; -import net.fabricmc.fabric.api.datagen.v1.provider.FabricDynamicRegistryProvider; import net.minecraft.core.Holder; import net.minecraft.core.HolderGetter; import net.minecraft.core.HolderLookup; import net.minecraft.core.Registry; -import net.minecraft.data.worldgen.BootstapContext; +import net.minecraft.data.worldgen.BootstrapContext; import net.minecraft.resources.ResourceKey; import org.jetbrains.annotations.NotNull; -public record GeneratingBootstrapContext(HolderLookup.Provider registries, GCDynamicRegistryProvider.Entries entries) implements BootstapContext { +public record GeneratingBootstrapContext(HolderLookup.Provider registries, GCDynamicRegistryProvider.Entries entries) implements BootstrapContext { @Override public Holder.Reference register(ResourceKey resourceKey, T object, Lifecycle lifecycle) { return (Holder.Reference) this.entries.add(resourceKey, object); diff --git a/src/main/java/dev/galacticraft/impl/internal/accessor/ChunkOxygenSyncer.java b/src/main/java/dev/galacticraft/impl/internal/accessor/ChunkOxygenSyncer.java index bb210032ee..1084956ce0 100644 --- a/src/main/java/dev/galacticraft/impl/internal/accessor/ChunkOxygenSyncer.java +++ b/src/main/java/dev/galacticraft/impl/internal/accessor/ChunkOxygenSyncer.java @@ -22,15 +22,15 @@ package dev.galacticraft.impl.internal.accessor; -import net.minecraft.network.FriendlyByteBuf; +import dev.galacticraft.impl.network.s2c.OxygenUpdatePayload; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; public interface ChunkOxygenSyncer { - default @Nullable FriendlyByteBuf galacticraft$syncOxygenPacketsToClient() { + default @Nullable OxygenUpdatePayload.OxygenData[] galacticraft$syncOxygenPacketsToClient() { return null; } - default void galacticraft$readOxygenUpdate(@NotNull FriendlyByteBuf buf) { + default void galacticraft$readOxygenUpdate(@NotNull OxygenUpdatePayload.OxygenData[] data) { } } diff --git a/src/main/java/dev/galacticraft/impl/internal/accessor/ChunkSectionOxygenAccessor.java b/src/main/java/dev/galacticraft/impl/internal/accessor/ChunkSectionOxygenAccessor.java index 7b1b076887..cf9e8a78f3 100644 --- a/src/main/java/dev/galacticraft/impl/internal/accessor/ChunkSectionOxygenAccessor.java +++ b/src/main/java/dev/galacticraft/impl/internal/accessor/ChunkSectionOxygenAccessor.java @@ -31,17 +31,23 @@ @ApiStatus.Internal public interface ChunkSectionOxygenAccessor { - boolean galacticraft$isInverted(int x, int y, int z); + default boolean galacticraft$isInverted(int x, int y, int z) { + return this.galacticraft$isInverted(x + (y << 4) + (z << 8)); + } - void galacticraft$setInverted(int x, int y, int z, boolean inverted); + boolean galacticraft$isInverted(int pos); - @Nullable BitSet galacticraft$inversionBits(); + default void galacticraft$setInverted(int x, int y, int z, boolean inverted) { + this.galacticraft$setInverted(x + (y << 4) + (z << 8), inverted); + } - void galacticraft$setInversionBits(@Nullable BitSet set); + void galacticraft$setInverted(int pos, boolean value); - short galacticraft$modifiedBlocks(); + boolean galacticraft$isEmpty(); - void galacticraft$setModifiedBlocks(short amount); + @Nullable BitSet galacticraft$getBits(); + + void galacticraft$setBits(@Nullable BitSet set); void galacticraft$writeOxygenPacket(@NotNull FriendlyByteBuf buf); diff --git a/src/main/java/dev/galacticraft/impl/internal/client/fabric/GalacticraftAPIClient.java b/src/main/java/dev/galacticraft/impl/internal/client/fabric/GalacticraftAPIClient.java index 0ba056f8dc..83b0a478f1 100644 --- a/src/main/java/dev/galacticraft/impl/internal/client/fabric/GalacticraftAPIClient.java +++ b/src/main/java/dev/galacticraft/impl/internal/client/fabric/GalacticraftAPIClient.java @@ -22,63 +22,20 @@ package dev.galacticraft.impl.internal.client.fabric; -import dev.galacticraft.api.accessor.GearInventoryProvider; -import dev.galacticraft.api.accessor.SatelliteAccessor; -import dev.galacticraft.api.universe.celestialbody.CelestialBody; -import dev.galacticraft.impl.client.accessor.ClientResearchAccessor; -import dev.galacticraft.impl.internal.accessor.ChunkOxygenSyncer; -import dev.galacticraft.impl.universe.celestialbody.type.SatelliteType; -import dev.galacticraft.impl.universe.position.config.SatelliteConfig; +import dev.galacticraft.impl.network.GCApiClientPacketReceivers; import dev.galacticraft.mod.Constant; import net.fabricmc.api.ClientModInitializer; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; -import net.minecraft.nbt.NbtOps; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.item.ItemStack; import org.jetbrains.annotations.ApiStatus; -import java.util.Objects; - @ApiStatus.Internal @Environment(EnvType.CLIENT) public class GalacticraftAPIClient implements ClientModInitializer { @Override public void onInitializeClient() { Constant.LOGGER.info("Loaded client module"); - ClientPlayNetworking.registerGlobalReceiver(Constant.id("research_update"), (client, networkHandler, buffer, sender) -> { - int len = buffer.readVarInt(); - boolean add = buffer.readBoolean(); - ResourceLocation[] ids = new ResourceLocation[len]; - for (int i = 0; i < len; i++) { - ids[i] = new ResourceLocation(buffer.readUtf()); - } - client.execute(() -> ((ClientResearchAccessor) Objects.requireNonNull(client.player)).galacticraft$updateResearch(add, ids)); - }); - ClientPlayNetworking.registerGlobalReceiver(Constant.id("add_satellite"), (client, networkHandler, buffer, sender) -> ((SatelliteAccessor) networkHandler).galacticraft$addSatellite(buffer.readResourceLocation(), new CelestialBody<>(SatelliteType.INSTANCE, SatelliteConfig.CODEC.decode(NbtOps.INSTANCE, buffer.readNbt()).get().orThrow().getFirst()))); - ClientPlayNetworking.registerGlobalReceiver(Constant.id("remove_satellite"), (client, networkHandler, buffer, sender) -> { - FriendlyByteBuf buf = new FriendlyByteBuf(buffer.copy()); - ((SatelliteAccessor) networkHandler).galacticraft$removeSatellite(buf.readResourceLocation()); - }); - ClientPlayNetworking.registerGlobalReceiver(Constant.id("oxygen_update"), (client, handler, buf, responseSender) -> { - int x = buf.readInt(); - int y = buf.readInt(); - ((ChunkOxygenSyncer) handler.getLevel().getChunk(x, y)).galacticraft$readOxygenUpdate(buf); - }); - ClientPlayNetworking.registerGlobalReceiver(Constant.id("gear_inv_sync"), (client, handler, buf, responseSender) -> { - int entity = buf.readInt(); - ItemStack[] stacks = new ItemStack[buf.readInt()]; - for (int i = 0; i < stacks.length; i++) { - stacks[i] = buf.readItem(); - } - client.execute(() -> { - for (int i = 0; i < stacks.length; i++) { - ((GearInventoryProvider) Objects.requireNonNull(client.level.getEntity(entity))).galacticraft$getGearInv().setItem(i, stacks[i]); - } - }); - }); + GCApiClientPacketReceivers.register(); } } diff --git a/src/main/java/dev/galacticraft/impl/internal/mixin/LevelCelestialBodyMixin.java b/src/main/java/dev/galacticraft/impl/internal/mixin/LevelCelestialBodyMixin.java new file mode 100644 index 0000000000..92c72621e4 --- /dev/null +++ b/src/main/java/dev/galacticraft/impl/internal/mixin/LevelCelestialBodyMixin.java @@ -0,0 +1,69 @@ +/* + * Copyright (c) 2019-2024 Team Galacticraft + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package dev.galacticraft.impl.internal.mixin; + +import dev.galacticraft.api.accessor.LevelBodyAccessor; +import dev.galacticraft.api.registry.AddonRegistries; +import dev.galacticraft.api.universe.celestialbody.CelestialBody; +import dev.galacticraft.api.universe.celestialbody.landable.Landable; +import net.minecraft.core.Holder; +import net.minecraft.core.RegistryAccess; +import net.minecraft.resources.ResourceKey; +import net.minecraft.util.profiling.ProfilerFiller; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.dimension.DimensionType; +import net.minecraft.world.level.storage.WritableLevelData; +import org.jetbrains.annotations.Nullable; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Unique; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +import java.util.function.Supplier; + +@Mixin(value = Level.class, priority = 100) // apply before oxygen level mixin +public class LevelCelestialBodyMixin implements LevelBodyAccessor { + @Unique + private Holder> celestialBody = null; + + @Inject(method = "(Lnet/minecraft/world/level/storage/WritableLevelData;Lnet/minecraft/resources/ResourceKey;Lnet/minecraft/core/RegistryAccess;Lnet/minecraft/core/Holder;Ljava/util/function/Supplier;ZZJI)V", at = @At("RETURN")) + private void init(WritableLevelData writableLevelData, + ResourceKey levelKey, + RegistryAccess registryAccess, + Holder holder, + Supplier supplier, + boolean bl, + boolean bl2, + long l, + int i, CallbackInfo ci) { + this.celestialBody = registryAccess.registryOrThrow(AddonRegistries.CELESTIAL_BODY).holders().filter( + b -> b.value().type() instanceof Landable landable && landable.world(b.value().config()).equals(levelKey) + ).findFirst().orElse(null); + } + + @Override + public @Nullable Holder> galacticraft$getCelestialBody() { + return this.celestialBody; + } +} diff --git a/src/main/java/dev/galacticraft/impl/internal/mixin/LevelTimeAccessMixin.java b/src/main/java/dev/galacticraft/impl/internal/mixin/LevelTimeAccessMixin.java index 863a002dd5..16f178b6dd 100644 --- a/src/main/java/dev/galacticraft/impl/internal/mixin/LevelTimeAccessMixin.java +++ b/src/main/java/dev/galacticraft/impl/internal/mixin/LevelTimeAccessMixin.java @@ -22,7 +22,6 @@ package dev.galacticraft.impl.internal.mixin; -import dev.galacticraft.api.universe.celestialbody.CelestialBody; import dev.galacticraft.mod.tag.GCTags; import net.minecraft.core.registries.Registries; import net.minecraft.world.level.Level; @@ -43,10 +42,10 @@ private void getGalacticTimeOfDay(float partialTicks, CallbackInfoReturnable reference.is(GCTags.SPACE)).orElse(false)) { + var holder = level.galacticraft$getCelestialBody(); + if (holder != null && dimensionTypeRegistry.getHolder(dimensionTypeRegistry.getId(dimensionType())).map(reference -> reference.is(GCTags.SPACE)).orElse(false)) { long worldTime = this.dayTime(); - long dayLength = holder.get().dayLength(); + long dayLength = holder.value().dayLength(); int j = (int) (worldTime % dayLength); float f1 = (j + partialTicks) / dayLength - 0.25F; diff --git a/src/main/java/dev/galacticraft/impl/internal/mixin/MinecraftServerMixin.java b/src/main/java/dev/galacticraft/impl/internal/mixin/MinecraftServerMixin.java index a42f8ec60e..2c46779805 100644 --- a/src/main/java/dev/galacticraft/impl/internal/mixin/MinecraftServerMixin.java +++ b/src/main/java/dev/galacticraft/impl/internal/mixin/MinecraftServerMixin.java @@ -79,7 +79,7 @@ private void galacticraft_saveSatellites(boolean suppressLogs, boolean bl, boole Path path = this.storageSource.getLevelPath(LevelResource.ROOT); ListTag nbt = new ListTag(); for (Map.Entry> entry : this.satellites.entrySet()) { - CompoundTag compound = (CompoundTag) SatelliteConfig.CODEC.encode(entry.getValue().config(), NbtOps.INSTANCE, new CompoundTag()).get().orThrow(); + CompoundTag compound = (CompoundTag) SatelliteConfig.CODEC.encode(entry.getValue().config(), NbtOps.INSTANCE, new CompoundTag()).getOrThrow(); compound.putString("id", entry.getKey().toString()); nbt.add(compound); } @@ -100,13 +100,13 @@ private void galacticraft_loadSatellites(CallbackInfo ci) { ListTag nbt = NbtIo.readCompressed(worldFile.resolve("satellites.dat"), NbtAccounter.unlimitedHeap()).getList("satellites", NbtType.COMPOUND); for (Tag compound : nbt) { assert compound instanceof CompoundTag : "Not a compound?!"; - ResourceLocation id = new ResourceLocation(((CompoundTag) compound).getString("id")); + ResourceLocation id = ResourceLocation.parse(((CompoundTag) compound).getString("id")); DataResult> decode = SatelliteConfig.CODEC.decode(NbtOps.INSTANCE, compound); if (decode.error().isPresent()) { Constant.LOGGER.error("Skipping satellite '{}' - {}", id, decode.error().get().message()); continue; } - this.satellites.put(id, new CelestialBody<>(SatelliteType.INSTANCE, decode.get().orThrow().getFirst())); + this.satellites.put(id, new CelestialBody<>(SatelliteType.INSTANCE, decode.getOrThrow().getFirst())); } } catch (Throwable exception) { throw new RuntimeException("Failed to read satellite data!", exception); diff --git a/src/main/java/dev/galacticraft/impl/internal/mixin/client/AbstractClientPlayerEntityMixin.java b/src/main/java/dev/galacticraft/impl/internal/mixin/client/AbstractClientPlayerEntityMixin.java index 43d15afb66..0abb269536 100644 --- a/src/main/java/dev/galacticraft/impl/internal/mixin/client/AbstractClientPlayerEntityMixin.java +++ b/src/main/java/dev/galacticraft/impl/internal/mixin/client/AbstractClientPlayerEntityMixin.java @@ -33,11 +33,13 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.multiplayer.ClientLevel; import net.minecraft.client.player.AbstractClientPlayer; +import net.minecraft.core.Holder; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.Tag; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.Container; import net.minecraft.world.SimpleContainer; +import net.minecraft.world.entity.Entity; import net.minecraft.world.item.ItemStack; import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; @@ -45,6 +47,7 @@ import org.spongepowered.asm.mixin.Unique; import java.util.HashSet; +import java.util.List; import java.util.Set; @Mixin(AbstractClientPlayer.class) @@ -64,7 +67,8 @@ public abstract class AbstractClientPlayerEntityMixin implements ClientResearchA private SimpleContainer galacticraft_createGearInventory() { SimpleContainer inv = new GearInventory(); inv.addListener((inventory) -> { - float pressure = CelestialBody.getByDimension(this.clientLevel).map(body -> body.atmosphere().pressure()).orElse(1.0f); + Holder> holder = this.clientLevel.galacticraft$getCelestialBody(); + float pressure = holder != null ? holder.value().atmosphere().pressure() : 1.0f; if (pressure != 1.0f) { for (int i = 0; i < inventory.getContainerSize(); i++) { ItemStack stack = inventory.getItem(i); @@ -91,7 +95,7 @@ private SimpleContainer galacticraft_createGearInventory() { } @Override - public void galacticraft$updateResearch(boolean add, ResourceLocation[] ids) { + public void galacticraft$updateResearch(boolean add, List ids) { for (ResourceLocation id : ids) { if (add) { this.unlockedResearch.add(id); @@ -123,11 +127,11 @@ private SimpleContainer galacticraft_createGearInventory() { @Override public void galacticraft$writeGearToNbt(CompoundTag tag) { - tag.put(Constant.Nbt.GEAR_INV, this.galacticraft$getGearInv().createTag()); + tag.put(Constant.Nbt.GEAR_INV, this.galacticraft$getGearInv().createTag(((Entity)(Object)this).registryAccess())); } @Override public void galacticraft$readGearFromNbt(CompoundTag tag) { - this.galacticraft$getGearInv().fromTag(tag.getList(Constant.Nbt.GEAR_INV, Tag.TAG_COMPOUND)); + this.galacticraft$getGearInv().fromTag(tag.getList(Constant.Nbt.GEAR_INV, Tag.TAG_COMPOUND), ((Entity)(Object)this).registryAccess()); } } diff --git a/src/main/java/dev/galacticraft/impl/internal/mixin/client/MinecraftClientMixin.java b/src/main/java/dev/galacticraft/impl/internal/mixin/client/MinecraftClientMixin.java index e3cd249783..bee83e5940 100644 --- a/src/main/java/dev/galacticraft/impl/internal/mixin/client/MinecraftClientMixin.java +++ b/src/main/java/dev/galacticraft/impl/internal/mixin/client/MinecraftClientMixin.java @@ -27,8 +27,10 @@ import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.screens.ReceivingLevelScreen; import net.minecraft.client.multiplayer.ClientLevel; import net.minecraft.client.sounds.SoundManager; +import net.minecraft.core.Holder; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.injection.At; @@ -42,9 +44,14 @@ public abstract class MinecraftClientMixin { public abstract SoundManager getSoundManager(); @Inject(method = "setLevel", at = @At("RETURN")) - private void galacticraft_updateSoundMultiplier(ClientLevel world, CallbackInfo ci) { - if (world != null) { - ((SoundSystemAccessor) ((SoundManagerAccessor) this.getSoundManager()).getSoundSystem()).galacticraft$updateAtmosphericVolumeMultiplier(CelestialBody.getByDimension(world).map(body -> body.atmosphere().pressure()).orElse(1.0f)); + private void updateSoundMultiplier(ClientLevel level, ReceivingLevelScreen.Reason reason, CallbackInfo ci) { + if (level != null) { + Holder> holder = level.galacticraft$getCelestialBody(); + if (holder != null) { + ((SoundSystemAccessor) ((SoundManagerAccessor) this.getSoundManager()).getSoundSystem()).galacticraft$updateAtmosphericVolumeMultiplier(holder.value().atmosphere().pressure()); + } else { + ((SoundSystemAccessor) ((SoundManagerAccessor) this.getSoundManager()).getSoundSystem()).galacticraft$updateAtmosphericVolumeMultiplier(1.0f); + } } else { ((SoundSystemAccessor) ((SoundManagerAccessor) this.getSoundManager()).getSoundSystem()).galacticraft$updateAtmosphericVolumeMultiplier(1.0f); } diff --git a/src/main/java/dev/galacticraft/impl/internal/mixin/client/ParticleManagerMixin.java b/src/main/java/dev/galacticraft/impl/internal/mixin/client/ParticleManagerMixin.java index b07c09a045..f86e6a8903 100644 --- a/src/main/java/dev/galacticraft/impl/internal/mixin/client/ParticleManagerMixin.java +++ b/src/main/java/dev/galacticraft/impl/internal/mixin/client/ParticleManagerMixin.java @@ -28,6 +28,7 @@ import net.minecraft.client.multiplayer.ClientLevel; import net.minecraft.client.particle.Particle; import net.minecraft.client.particle.ParticleEngine; +import net.minecraft.core.Holder; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.injection.At; @@ -42,6 +43,7 @@ public abstract class ParticleManagerMixin { @Inject(method = "add(Lnet/minecraft/client/particle/Particle;)V", at = @At("RETURN")) protected void galacticraft_overrideGravity(Particle particle, CallbackInfo ci) { - CelestialBody.getByDimension(this.level).ifPresent(celestialBodyType -> ((ParticleAccessor) particle).setGravityStrength(((ParticleAccessor) particle).getGravityStrength() * celestialBodyType.gravity())); + Holder> holder = this.level.galacticraft$getCelestialBody(); + if (holder != null) ((ParticleAccessor) particle).setGravityStrength(((ParticleAccessor) particle).getGravityStrength() * holder.value().gravity()); } } diff --git a/src/main/java/dev/galacticraft/impl/internal/mixin/gear/LivingEntityMixin.java b/src/main/java/dev/galacticraft/impl/internal/mixin/gear/LivingEntityMixin.java index 2747c01f14..292ea4940b 100644 --- a/src/main/java/dev/galacticraft/impl/internal/mixin/gear/LivingEntityMixin.java +++ b/src/main/java/dev/galacticraft/impl/internal/mixin/gear/LivingEntityMixin.java @@ -47,6 +47,7 @@ import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.enchantment.EnchantmentEffectComponents; import net.minecraft.world.item.enchantment.EnchantmentHelper; import net.minecraft.world.level.GameRules; import net.minecraft.world.level.Level; @@ -69,7 +70,7 @@ public LivingEntityMixin(EntityType type, Level world) { @Redirect(method = "baseTick", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/entity/LivingEntity;isEyeInFluid(Lnet/minecraft/tags/TagKey;)Z", ordinal = 0)) private boolean galacticraft_testForBreathability(LivingEntity entity, TagKey tag) { - return entity.isEyeInFluid(tag) || !entity.level().isBreathable(entity.blockPosition().relative(Direction.UP, (int) Math.floor(this.getEyeHeight(entity.getPose(), entity.getDimensions(entity.getPose()))))); + return entity.isEyeInFluid(tag) || !entity.level().isBreathable(entity.blockPosition().relative(Direction.UP, (int) Math.floor(this.getEyeHeight(entity.getPose())))); } @Inject(method = "tick", at = @At(value = "RETURN")) @@ -83,7 +84,7 @@ private void tickAccessories(CallbackInfo ci) { } } - @Inject(method = "decreaseAirSupply", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/item/enchantment/EnchantmentHelper;getRespiration(Lnet/minecraft/world/entity/LivingEntity;)I"), cancellable = true) + @Inject(method = "decreaseAirSupply", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/entity/LivingEntity;getAttribute(Lnet/minecraft/core/Holder;)Lnet/minecraft/world/entity/ai/attributes/AttributeInstance;"), cancellable = true) private void galacticraft_modifyAirLevel(int air, CallbackInfoReturnable ci) { AttributeInstance attribute = ((LivingEntity) (Object) this).getAttribute(GcApiEntityAttributes.CAN_BREATHE_IN_SPACE); if (attribute != null && attribute.getValue() >= 0.99D) { @@ -127,7 +128,7 @@ private void galacticraft_dropGearInventory(CallbackInfo ci) { for (int i = 0; i < gearInv.getContainerSize(); ++i) { ItemStack itemStack = gearInv.getItem(i); gearInv.setItem(i, ItemStack.EMPTY); - if (!itemStack.isEmpty() && !EnchantmentHelper.hasVanishingCurse(itemStack)) { + if (!itemStack.isEmpty() && !EnchantmentHelper.has(itemStack, EnchantmentEffectComponents.PREVENT_EQUIPMENT_DROP)) { //noinspection ConstantConditions if (((Object) this) instanceof Player player) { player.drop(itemStack, true, false); diff --git a/src/main/java/dev/galacticraft/impl/internal/mixin/gear/PlayerListMixin.java b/src/main/java/dev/galacticraft/impl/internal/mixin/gear/PlayerListMixin.java index 04b76c2258..72b16531dd 100644 --- a/src/main/java/dev/galacticraft/impl/internal/mixin/gear/PlayerListMixin.java +++ b/src/main/java/dev/galacticraft/impl/internal/mixin/gear/PlayerListMixin.java @@ -22,16 +22,15 @@ package dev.galacticraft.impl.internal.mixin.gear; -import dev.galacticraft.mod.Constant; -import net.fabricmc.fabric.api.networking.v1.PacketByteBufs; +import dev.galacticraft.impl.network.s2c.GearInvPayload; import net.fabricmc.fabric.api.networking.v1.PlayerLookup; import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; import net.minecraft.network.Connection; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.server.level.ServerPlayer; import net.minecraft.server.network.CommonListenerCookie; import net.minecraft.server.players.PlayerList; import net.minecraft.world.Container; +import net.minecraft.world.item.ItemStack; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; @@ -43,20 +42,19 @@ public abstract class PlayerListMixin { @Inject(method = "placeNewPlayer", at = @At("RETURN")) private void syncGearInventory(Connection connection, ServerPlayer player, CommonListenerCookie cookie, CallbackInfo ci) { - FriendlyByteBuf buf = PacketByteBufs.create(); Container inventory = player.galacticraft$getGearInv(); - buf.writeInt(player.getId()); - buf.writeInt(inventory.getContainerSize()); + ItemStack[] stacks = new ItemStack[inventory.getContainerSize()]; for (int i = 0; i < inventory.getContainerSize(); i++) { - buf.writeItem(inventory.getItem(i)); + stacks[i] = inventory.getItem(i); } + GearInvPayload gearInvPayload = new GearInvPayload(player.getId(), stacks); Collection tracking = PlayerLookup.tracking(player); if (!tracking.contains(player)) { - ServerPlayNetworking.send(player, Constant.id("gear_inv_sync"), buf); + ServerPlayNetworking.send(player, gearInvPayload); } - for (ServerPlayer pl : tracking) { - ServerPlayNetworking.send(pl, Constant.id("gear_inv_sync"), PacketByteBufs.copy(buf)); + for (ServerPlayer remote : tracking) { + ServerPlayNetworking.send(remote, gearInvPayload); } } } diff --git a/src/main/java/dev/galacticraft/impl/internal/mixin/gear/ServerPlayerMixin.java b/src/main/java/dev/galacticraft/impl/internal/mixin/gear/ServerPlayerMixin.java index 10f82eea03..366c7bcc88 100644 --- a/src/main/java/dev/galacticraft/impl/internal/mixin/gear/ServerPlayerMixin.java +++ b/src/main/java/dev/galacticraft/impl/internal/mixin/gear/ServerPlayerMixin.java @@ -24,18 +24,19 @@ import dev.galacticraft.api.accessor.GearInventoryProvider; import dev.galacticraft.impl.internal.inventory.MappedInventory; +import dev.galacticraft.impl.network.s2c.GearInvPayload; import dev.galacticraft.mod.Constant; import dev.galacticraft.mod.world.inventory.GearInventory; -import net.fabricmc.fabric.api.networking.v1.PacketByteBufs; import net.fabricmc.fabric.api.networking.v1.PlayerLookup; import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.Tag; -import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; import net.minecraft.server.network.ServerGamePacketListenerImpl; import net.minecraft.world.Container; import net.minecraft.world.SimpleContainer; +import net.minecraft.world.item.ItemStack; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.Unique; @@ -46,6 +47,8 @@ public abstract class ServerPlayerMixin implements GearInventoryProvider { @Shadow public ServerGamePacketListenerImpl connection; + @Shadow public abstract ServerLevel serverLevel(); + private final @Unique SimpleContainer gearInv = this.galacticraft_createGearInventory(); private final @Unique Container tankInv = MappedInventory.create(this.gearInv, 4, 5); private final @Unique Container thermalArmorInv = MappedInventory.create(this.gearInv, 0, 1, 2, 3); @@ -55,21 +58,20 @@ public abstract class ServerPlayerMixin implements GearInventoryProvider { private SimpleContainer galacticraft_createGearInventory() { SimpleContainer inv = new GearInventory(); inv.addListener((inventory) -> { - FriendlyByteBuf buf = PacketByteBufs.create(); - buf.writeInt(((ServerPlayer) (Object) this).getId()); - buf.writeInt(inventory.getContainerSize()); + ItemStack[] stacks = new ItemStack[inventory.getContainerSize()]; for (int i = 0; i < inventory.getContainerSize(); i++) { - buf.writeItem(inventory.getItem(i)); + stacks[i] = inventory.getItem(i); } + ServerPlayer player = (ServerPlayer) (Object) this; + GearInvPayload payload = new GearInvPayload(player.getId(), stacks); if (this.connection != null) { - Collection tracking = PlayerLookup.tracking(((ServerPlayer) (Object) this)); - //noinspection SuspiciousMethodCalls - if (!tracking.contains(this)) { - ServerPlayNetworking.send(((ServerPlayer) (Object) this), Constant.id("gear_inv_sync"), buf); + Collection tracking = PlayerLookup.tracking(player); + if (!tracking.contains(player)) { + ServerPlayNetworking.send(player, payload); } - for (ServerPlayer player : tracking) { - ServerPlayNetworking.send(player, Constant.id("gear_inv_sync"), PacketByteBufs.copy(buf)); + for (ServerPlayer remote : tracking) { + ServerPlayNetworking.send(remote, payload); } } }); @@ -98,11 +100,11 @@ private SimpleContainer galacticraft_createGearInventory() { @Override public void galacticraft$writeGearToNbt(CompoundTag tag) { - tag.put(Constant.Nbt.GEAR_INV, this.galacticraft$getGearInv().createTag()); + tag.put(Constant.Nbt.GEAR_INV, this.galacticraft$getGearInv().createTag(this.serverLevel().registryAccess())); } @Override public void galacticraft$readGearFromNbt(CompoundTag tag) { - this.galacticraft$getGearInv().fromTag(tag.getList(Constant.Nbt.GEAR_INV, Tag.TAG_COMPOUND)); + this.galacticraft$getGearInv().fromTag(tag.getList(Constant.Nbt.GEAR_INV, Tag.TAG_COMPOUND), this.serverLevel().registryAccess()); } } diff --git a/src/main/java/dev/galacticraft/impl/internal/mixin/gravity/ArrowGravityMixin.java b/src/main/java/dev/galacticraft/impl/internal/mixin/gravity/ArrowGravityMixin.java deleted file mode 100644 index daeb7487c6..0000000000 --- a/src/main/java/dev/galacticraft/impl/internal/mixin/gravity/ArrowGravityMixin.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright (c) 2019-2024 Team Galacticraft - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -package dev.galacticraft.impl.internal.mixin.gravity; - -import dev.galacticraft.api.universe.celestialbody.CelestialBody; -import net.minecraft.world.entity.Entity; -import net.minecraft.world.entity.projectile.AbstractArrow; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.Constant; -import org.spongepowered.asm.mixin.injection.ModifyConstant; - -@Mixin(AbstractArrow.class) -public class ArrowGravityMixin { - @ModifyConstant(method = "tick", constant = @Constant(doubleValue = 0.05000000074505806)) // that's what it is in the bytecode - private double galacticraft_changeArrowGravity(double defaultValue) { - return CelestialBody.getByDimension(((Entity) (Object) this).level()).map(celestialBody -> celestialBody.gravity() * defaultValue).orElse(defaultValue); - } -} diff --git a/src/main/java/dev/galacticraft/impl/internal/mixin/gravity/EntityGravityMixin.java b/src/main/java/dev/galacticraft/impl/internal/mixin/gravity/EntityGravityMixin.java index 6730e38924..5e3f8d699e 100644 --- a/src/main/java/dev/galacticraft/impl/internal/mixin/gravity/EntityGravityMixin.java +++ b/src/main/java/dev/galacticraft/impl/internal/mixin/gravity/EntityGravityMixin.java @@ -23,18 +23,23 @@ package dev.galacticraft.impl.internal.mixin.gravity; import dev.galacticraft.api.universe.celestialbody.CelestialBody; +import net.minecraft.core.Holder; import net.minecraft.world.entity.Entity; -import net.minecraft.world.entity.item.ItemEntity; -import net.minecraft.world.entity.item.PrimedTnt; -import net.minecraft.world.entity.vehicle.AbstractMinecart; +import net.minecraft.world.level.Level; import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.Constant; -import org.spongepowered.asm.mixin.injection.ModifyConstant; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Redirect; -@Mixin({ItemEntity.class, PrimedTnt.class, AbstractMinecart.class}) +@Mixin(Entity.class) public abstract class EntityGravityMixin { - @ModifyConstant(method = "tick", constant = @Constant(doubleValue = -0.04D)) - private double galacticraft_changeEntityGravity(double defaultValue) { - return CelestialBody.getByDimension(((Entity) (Object) this).level()).map(celestialBody -> celestialBody.gravity() * defaultValue).orElse(defaultValue); + @Shadow protected abstract double getDefaultGravity(); + + @Shadow private Level level; + + @Redirect(method = "getGravity", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/entity/Entity;getDefaultGravity()D")) + private double replaceGravity(Entity instance) { + Holder> holder = this.level.galacticraft$getCelestialBody(); + return (holder != null ? holder.value().gravity() : 1.0d) * this.getDefaultGravity(); } -} \ No newline at end of file +} diff --git a/src/main/java/dev/galacticraft/impl/internal/mixin/gravity/LivingEntityMixin.java b/src/main/java/dev/galacticraft/impl/internal/mixin/gravity/LivingEntityMixin.java deleted file mode 100644 index 9660e37fd5..0000000000 --- a/src/main/java/dev/galacticraft/impl/internal/mixin/gravity/LivingEntityMixin.java +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Copyright (c) 2019-2024 Team Galacticraft - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -package dev.galacticraft.impl.internal.mixin.gravity; - -import dev.galacticraft.api.entity.attribute.GcApiEntityAttributes; -import dev.galacticraft.api.universe.celestialbody.CelestialBody; -import net.minecraft.util.Mth; -import net.minecraft.world.effect.MobEffect; -import net.minecraft.world.effect.MobEffectInstance; -import net.minecraft.world.effect.MobEffects; -import net.minecraft.world.entity.Entity; -import net.minecraft.world.entity.EntityType; -import net.minecraft.world.entity.LivingEntity; -import net.minecraft.world.entity.ai.attributes.AttributeInstance; -import net.minecraft.world.level.Level; -import org.jetbrains.annotations.Nullable; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Constant; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.ModifyConstant; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; - -@Mixin(LivingEntity.class) -public abstract class LivingEntityMixin extends Entity { - @Shadow @Nullable public abstract MobEffectInstance getEffect(MobEffect mobEffect); - - public LivingEntityMixin(EntityType type, Level level) { - super(type, level); - } - - @ModifyConstant(method = "travel", constant = @Constant(doubleValue = 0.08)) - private double galacticraft_modifyGravity(double d) { - AttributeInstance attribute = ((LivingEntity) (Object) this).getAttribute(GcApiEntityAttributes.LOCAL_GRAVITY_LEVEL); - if (attribute != null && attribute.getValue() > 0) { - return attribute.getValue() * 0.08d; - } else { - return CelestialBody.getByDimension(this.level()).map(celestialBodyType -> celestialBodyType.gravity() * 0.08d).orElse(0.08); - } - } - - @ModifyConstant(method = "travel", constant = @Constant(doubleValue = 0.01)) - private double galacticraft_modifySlowFallingGravity(double d) { - AttributeInstance attribute = ((LivingEntity) (Object) this).getAttribute(GcApiEntityAttributes.LOCAL_GRAVITY_LEVEL); - if (attribute != null && attribute.getValue() > 0) { - return attribute.getValue() * 0.01d; - } else { - return CelestialBody.getByDimension(this.level()).map(celestialBodyType -> celestialBodyType.gravity() * 0.01d).orElse(0.01); - } - } - - @Inject(method = "calculateFallDamage", at = @At("HEAD"), cancellable = true) - protected void galacticraft_modifyFallDamage(float fallDistance, float damageMultiplier, CallbackInfoReturnable cir) { - MobEffectInstance effectInstance = this.getEffect(MobEffects.JUMP); - AttributeInstance attribute = ((LivingEntity) (Object) this).getAttribute(GcApiEntityAttributes.LOCAL_GRAVITY_LEVEL); - float ff = effectInstance == null ? 0.0F : (float) (effectInstance.getAmplifier() + 6); - if (attribute != null && attribute.getValue() > 0) { - cir.setReturnValue((int) (Mth.ceil((fallDistance * attribute.getValue()) - 3.0F - ff) * damageMultiplier)); - } else { - CelestialBody.getByDimension(this.level()).ifPresent(celestialBodyType -> cir.setReturnValue((int) (Mth.ceil((fallDistance * celestialBodyType.gravity()) - 3.0F - ff) * damageMultiplier))); - } - } -} diff --git a/src/main/java/dev/galacticraft/impl/internal/mixin/oxygen/ChunkHolderMixin.java b/src/main/java/dev/galacticraft/impl/internal/mixin/oxygen/ChunkHolderMixin.java index e2e8d16587..4d20384bc0 100644 --- a/src/main/java/dev/galacticraft/impl/internal/mixin/oxygen/ChunkHolderMixin.java +++ b/src/main/java/dev/galacticraft/impl/internal/mixin/oxygen/ChunkHolderMixin.java @@ -23,11 +23,11 @@ package dev.galacticraft.impl.internal.mixin.oxygen; import dev.galacticraft.impl.internal.accessor.ChunkOxygenSyncer; -import dev.galacticraft.mod.Constant; +import dev.galacticraft.impl.network.s2c.OxygenUpdatePayload; import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.protocol.Packet; import net.minecraft.server.level.ChunkHolder; +import net.minecraft.server.level.GenerationChunkHolder; import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.level.ChunkPos; import net.minecraft.world.level.chunk.LevelChunk; @@ -46,11 +46,12 @@ public abstract class ChunkHolderMixin { @Shadow @Final private ChunkHolder.PlayerProvider playerProvider; - @Shadow @Final ChunkPos pos; - @Inject(method = "broadcastChanges", at = @At("HEAD")) private void galacticraft_flushOxygenPackets(LevelChunk chunk, CallbackInfo ci) { - FriendlyByteBuf buf = ((ChunkOxygenSyncer) chunk).galacticraft$syncOxygenPacketsToClient(); - if (buf != null) this.broadcast(this.playerProvider.getPlayers(this.pos, false), ServerPlayNetworking.createS2CPacket(Constant.id("oxygen_update"), buf)); + OxygenUpdatePayload.OxygenData[] data = ((ChunkOxygenSyncer) chunk).galacticraft$syncOxygenPacketsToClient(); + if (data != null) { + ChunkPos pos = ((GenerationChunkHolder) (Object) this).getPos(); + this.broadcast(this.playerProvider.getPlayers(pos, false), ServerPlayNetworking.createS2CPacket(new OxygenUpdatePayload(pos.toLong(), data))); + } } } diff --git a/src/main/java/dev/galacticraft/impl/internal/mixin/oxygen/ChunkSerializerMixin.java b/src/main/java/dev/galacticraft/impl/internal/mixin/oxygen/ChunkSerializerMixin.java index 6bbfca6f39..4bec52e4d0 100644 --- a/src/main/java/dev/galacticraft/impl/internal/mixin/oxygen/ChunkSerializerMixin.java +++ b/src/main/java/dev/galacticraft/impl/internal/mixin/oxygen/ChunkSerializerMixin.java @@ -27,14 +27,17 @@ import dev.galacticraft.mod.Constant; import net.minecraft.core.Holder; import net.minecraft.core.Registry; +import net.minecraft.core.SectionPos; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.ListTag; +import net.minecraft.nbt.Tag; import net.minecraft.server.level.ServerLevel; import net.minecraft.world.entity.ai.village.poi.PoiManager; import net.minecraft.world.level.ChunkPos; import net.minecraft.world.level.biome.Biome; import net.minecraft.world.level.chunk.*; import net.minecraft.world.level.chunk.storage.ChunkSerializer; +import net.minecraft.world.level.chunk.storage.RegionStorageInfo; import net.minecraft.world.level.levelgen.BelowZeroRetrogen; import net.minecraft.world.level.levelgen.blending.BlendingData; import net.minecraft.world.level.lighting.LevelLightEngine; @@ -45,31 +48,27 @@ import org.spongepowered.asm.mixin.injection.callback.LocalCapture; import java.util.BitSet; +import java.util.Objects; @Mixin(ChunkSerializer.class) public abstract class ChunkSerializerMixin { @Inject(method = "write", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/level/chunk/LevelChunkSection;getStates()Lnet/minecraft/world/level/chunk/PalettedContainer;"), locals = LocalCapture.CAPTURE_FAILHARD) private static void galacticraft_serializeOxygen(ServerLevel world, ChunkAccess chunk, CallbackInfoReturnable cir, ChunkPos chunkPos, CompoundTag nbtCompound, BlendingData blendingData, BelowZeroRetrogen belowZeroRetrogen, UpgradeData upgradeData, LevelChunkSection[] chunkSections, ListTag nbtList, LevelLightEngine lightingProvider, Registry registry, Codec>> codec, boolean bl, int i, int j, boolean bl2, DataLayer chunkNibbleArray, DataLayer chunkNibbleArray2, CompoundTag nbtCompound2, LevelChunkSection section) { var accessor = (ChunkSectionOxygenAccessor) section; - if (accessor.galacticraft$modifiedBlocks() > 0) { + if (!accessor.galacticraft$isEmpty()) { CompoundTag nbt = new CompoundTag(); - nbt.putShort(Constant.Nbt.CHANGE_COUNT, ((ChunkSectionOxygenAccessor) section).galacticraft$modifiedBlocks()); - if (((ChunkSectionOxygenAccessor) section).galacticraft$modifiedBlocks() > 0) { - BitSet bits = ((ChunkSectionOxygenAccessor) section).galacticraft$inversionBits(); - assert bits != null; - nbt.putLongArray(Constant.Nbt.OXYGEN, bits.toLongArray()); - } + nbt.putByteArray(Constant.Nbt.OXYGEN, Objects.requireNonNull(accessor.galacticraft$getBits()).toByteArray()); nbtCompound2.put(Constant.Nbt.GC_API, nbt); } } @Inject(method = "read", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/entity/ai/village/poi/PoiManager;checkConsistencyWithBlocks(Lnet/minecraft/core/SectionPos;Lnet/minecraft/world/level/chunk/LevelChunkSection;)V"), locals = LocalCapture.CAPTURE_FAILHARD) - private static void galacticraft_deserializeOxygen(ServerLevel world, PoiManager poiStorage, ChunkPos chunkPos, CompoundTag nbt, CallbackInfoReturnable cir, ChunkPos chunkPos2, UpgradeData upgradeData, boolean bl, ListTag nbtList, int i, LevelChunkSection[] chunkSections, boolean bl2, ChunkSource chunkManager, LevelLightEngine lightingProvider, Registry registry, Codec>> codec, boolean bl3, int j, CompoundTag nbtCompound, int k, int l, PalettedContainer palettedContainer, PalettedContainerRO readableContainer, LevelChunkSection section) { - CompoundTag apiCompound = nbtCompound.getCompound(Constant.Nbt.GC_API); - short changedCount = apiCompound.getShort(Constant.Nbt.CHANGE_COUNT); - ((ChunkSectionOxygenAccessor) section).galacticraft$setModifiedBlocks(changedCount); - if (changedCount > 0) { - ((ChunkSectionOxygenAccessor) section).galacticraft$setInversionBits(BitSet.valueOf(apiCompound.getLongArray(Constant.Nbt.OXYGEN))); + private static void galacticraft_deserializeOxygen(ServerLevel world, PoiManager poiStorage, RegionStorageInfo key, ChunkPos chunkPos, CompoundTag nbt, CallbackInfoReturnable cir, ChunkPos chunkPos2, UpgradeData upgradeData, boolean bl, ListTag listTag, int i, LevelChunkSection[] levelChunkSections, boolean bl2, ChunkSource chunkSource, LevelLightEngine levelLightEngine, Registry registry, Codec codec, boolean bl3, int j, CompoundTag compoundTag, int k, int l, PalettedContainer palettedContainer, PalettedContainerRO palettedContainerRO, LevelChunkSection levelChunkSection, SectionPos sectionPos) { + CompoundTag apiCompound = compoundTag.getCompound(Constant.Nbt.GC_API); + if (apiCompound.contains(Constant.Nbt.OXYGEN, Tag.TAG_BYTE_ARRAY)) { + ((ChunkSectionOxygenAccessor) levelChunkSection).galacticraft$setBits(BitSet.valueOf(apiCompound.getByteArray(Constant.Nbt.OXYGEN))); + } else { + ((ChunkSectionOxygenAccessor) levelChunkSection).galacticraft$setBits(null); } } } diff --git a/src/main/java/dev/galacticraft/impl/internal/mixin/oxygen/LevelChunkMixin.java b/src/main/java/dev/galacticraft/impl/internal/mixin/oxygen/LevelChunkMixin.java index 8065f8d786..8f415474f7 100644 --- a/src/main/java/dev/galacticraft/impl/internal/mixin/oxygen/LevelChunkMixin.java +++ b/src/main/java/dev/galacticraft/impl/internal/mixin/oxygen/LevelChunkMixin.java @@ -25,10 +25,9 @@ import dev.galacticraft.impl.internal.accessor.ChunkOxygenAccessor; import dev.galacticraft.impl.internal.accessor.ChunkOxygenSyncer; import dev.galacticraft.impl.internal.accessor.ChunkSectionOxygenAccessor; -import io.netty.buffer.Unpooled; +import dev.galacticraft.impl.network.s2c.OxygenUpdatePayload; import net.minecraft.core.BlockPos; import net.minecraft.core.Registry; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.world.level.ChunkPos; import net.minecraft.world.level.Level; import net.minecraft.world.level.LevelHeightAccessor; @@ -49,6 +48,8 @@ import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; +import java.util.BitSet; + @Mixin(LevelChunk.class) public abstract class LevelChunkMixin extends ChunkAccess implements ChunkOxygenAccessor, ChunkOxygenSyncer { @Shadow @Final Level level; @@ -69,38 +70,42 @@ private LevelChunkMixin(ChunkPos pos, UpgradeData upgradeData, LevelHeightAccess if (inverted != accessor.galacticraft$isInverted(x, y & 15, z)) { if (!this.level.isClientSide) { this.unsaved = true; - this.dirtySections |= (0b1 << this.getSectionIndex(y)); + this.dirtySections |= (short) (0b1 << this.getSectionIndex(y)); } accessor.galacticraft$setInverted(x, y & 15, z, inverted); } } @Override - public @Nullable FriendlyByteBuf galacticraft$syncOxygenPacketsToClient() { + public @Nullable OxygenUpdatePayload.OxygenData[] galacticraft$syncOxygenPacketsToClient() { assert !this.level.isClientSide; - if (this.dirtySections != 0) { - FriendlyByteBuf buf = new FriendlyByteBuf(Unpooled.buffer(Integer.BYTES * 2 + Short.BYTES + (Short.BYTES + 1))); - buf.writeInt(this.getPos().x); - buf.writeInt(this.getPos().z); - buf.writeShort(this.dirtySections); + if (this.dirtySections != 0b0) { + int count = 0; for (int i = 0; i < this.sections.length; i++) { if ((this.dirtySections & (0b1 << i++)) != 0) { - ((ChunkSectionOxygenAccessor) this.sections[i]).galacticraft$writeOxygenPacket(buf); + count++; + } + } + + OxygenUpdatePayload.OxygenData[] data = new OxygenUpdatePayload.OxygenData[count]; + + int idx = 0; + for (byte i = 0; i < this.sections.length; i++) { + if ((this.dirtySections & (0b1 << i++)) != 0) { + BitSet data1 = ((ChunkSectionOxygenAccessor) this.sections[i]).galacticraft$getBits(); + data[idx++] = new OxygenUpdatePayload.OxygenData(i, data1 == null ? new BitSet(0) : data1); } } this.dirtySections = 0; - return buf; + return data; } return null; } @Override - public void galacticraft$readOxygenUpdate(@NotNull FriendlyByteBuf buf) { - short dirty = buf.readShort(); - for (int i = 0; i < this.sections.length; i++) { - if ((dirty & (0b1 << i++)) != 0) { - ((ChunkSectionOxygenAccessor) this.sections[i]).galacticraft$readOxygenPacket(buf); - } + public void galacticraft$readOxygenUpdate(@NotNull OxygenUpdatePayload.OxygenData[] buf) { + for (OxygenUpdatePayload.@NotNull OxygenData oxygenData : buf) { + ((ChunkSectionOxygenAccessor) this.sections[oxygenData.section()]).galacticraft$setBits(oxygenData.data()); } } diff --git a/src/main/java/dev/galacticraft/impl/internal/mixin/oxygen/LevelChunkSectionMixin.java b/src/main/java/dev/galacticraft/impl/internal/mixin/oxygen/LevelChunkSectionMixin.java index 03f0006f60..c217624c12 100644 --- a/src/main/java/dev/galacticraft/impl/internal/mixin/oxygen/LevelChunkSectionMixin.java +++ b/src/main/java/dev/galacticraft/impl/internal/mixin/oxygen/LevelChunkSectionMixin.java @@ -23,8 +23,8 @@ package dev.galacticraft.impl.internal.mixin.oxygen; import dev.galacticraft.impl.internal.accessor.ChunkSectionOxygenAccessor; -import dev.galacticraft.mod.Constant; import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.network.VarInt; import net.minecraft.world.level.chunk.LevelChunkSection; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -39,47 +39,36 @@ @Mixin(LevelChunkSection.class) public abstract class LevelChunkSectionMixin implements ChunkSectionOxygenAccessor { - private @Unique @Nullable BitSet inversionBits = null; - private @Unique short modifiedBlocks = 0; + private @Unique @Nullable BitSet bits = null; @Override - public boolean galacticraft$isInverted(int x, int y, int z) { - if (this.modifiedBlocks == 0) return false; - assert this.inversionBits != null; // if modifiedBlocks > 0 inverted should not be null. - return this.inversionBits.get(x + (y << 4) + (z << 8)); + public boolean galacticraft$isInverted(int pos) { + return this.bits != null && this.bits.get(pos); } @Override - public void galacticraft$setInverted(int x, int y, int z, boolean inverted) { - int bitIndex = x + (y << 4) + (z << 8); - if (inverted) { - if (this.inversionBits == null) { - assert this.modifiedBlocks == 0; - this.inversionBits = new BitSet(bitIndex); // do not allocate a full bitset if not necessary - this.inversionBits.set(bitIndex); - this.modifiedBlocks = 1; - } else { - if (!this.inversionBits.get(bitIndex)) { - this.inversionBits.set(bitIndex); - this.modifiedBlocks++; - } - } - } else if (this.inversionBits != null && this.inversionBits.get(bitIndex)) { - this.inversionBits.clear(bitIndex); - if (--this.modifiedBlocks == 0) { - this.inversionBits = null; - } + public void galacticraft$setInverted(int pos, boolean value) { + if (value) { + if (this.bits == null) this.bits = new BitSet(pos); + this.bits.set(pos); + } else if (this.bits != null) { + this.bits.clear(pos); } } @Inject(method = "getSerializedSize", at = @At("RETURN"), cancellable = true) private void increaseChunkPacketSize(CallbackInfoReturnable cir) { - cir.setReturnValue(cir.getReturnValueI() + (this.modifiedBlocks == 0 ? 0 : (Constant.Chunk.CHUNK_SECTION_AREA / Byte.SIZE)) + 2 + 1); + if (this.bits == null) { + cir.setReturnValue(cir.getReturnValueI() + VarInt.getByteSize(0)); + } else { + byte[] byteArray = this.bits.toByteArray(); + cir.setReturnValue(cir.getReturnValueI() + (VarInt.getByteSize(byteArray.length) + byteArray.length)); + } } @Inject(method = "hasOnlyAir()Z", at = @At("RETURN"), cancellable = true) private void verifyOxygenEmpty(CallbackInfoReturnable cir) { - cir.setReturnValue(cir.getReturnValueZ() && this.modifiedBlocks == 0); + cir.setReturnValue(cir.getReturnValueZ() && this.galacticraft$isEmpty()); } @Inject(method = "write", at = @At("RETURN")) @@ -93,42 +82,37 @@ private void galacticraft_fromPacket(FriendlyByteBuf buf, CallbackInfo ci) { } @Override - public BitSet galacticraft$inversionBits() { - return this.inversionBits; + public boolean galacticraft$isEmpty() { + return this.bits == null || this.bits.isEmpty(); } @Override - public void galacticraft$setInversionBits(BitSet set) { - this.inversionBits = set; + public BitSet galacticraft$getBits() { + return this.bits; } @Override - public short galacticraft$modifiedBlocks() { - return this.modifiedBlocks; - } - - @Override - public void galacticraft$setModifiedBlocks(short amount) { - this.modifiedBlocks = amount; + public void galacticraft$setBits(@Nullable BitSet set) { + this.bits = set; } @Override public void galacticraft$writeOxygenPacket(@NotNull FriendlyByteBuf buf) { - buf.writeShort(this.galacticraft$modifiedBlocks()); - - if (this.galacticraft$modifiedBlocks() > 0) { - assert this.inversionBits != null; - buf.writeLongArray(this.inversionBits.toLongArray()); + if (this.bits != null) { + byte[] bytes = this.bits.toByteArray(); + buf.writeByteArray(bytes); + } else { + buf.writeVarInt(0); } } @Override public void galacticraft$readOxygenPacket(@NotNull FriendlyByteBuf buf) { - this.galacticraft$setModifiedBlocks(buf.readShort()); - if (this.galacticraft$modifiedBlocks() > 0) { - this.galacticraft$setInversionBits(BitSet.valueOf(buf.readLongArray())); + byte[] bytes = buf.readByteArray(); + if (bytes.length != 0) { + this.bits = BitSet.valueOf(bytes); } else { - this.galacticraft$setInversionBits(null); + this.bits = null; } } } diff --git a/src/main/java/dev/galacticraft/impl/internal/mixin/oxygen/LevelMixin.java b/src/main/java/dev/galacticraft/impl/internal/mixin/oxygen/LevelMixin.java index e70cdc2086..97a78ce909 100644 --- a/src/main/java/dev/galacticraft/impl/internal/mixin/oxygen/LevelMixin.java +++ b/src/main/java/dev/galacticraft/impl/internal/mixin/oxygen/LevelMixin.java @@ -22,6 +22,7 @@ package dev.galacticraft.impl.internal.mixin.oxygen; +import dev.galacticraft.api.accessor.LevelBodyAccessor; import dev.galacticraft.api.accessor.LevelOxygenAccessor; import dev.galacticraft.api.universe.celestialbody.CelestialBody; import dev.galacticraft.impl.internal.accessor.ChunkOxygenAccessor; @@ -52,7 +53,8 @@ public abstract class LevelMixin implements LevelOxygenAccessor, InternalLevelOx @Inject(method = "", at = @At("RETURN")) private void initializeOxygenValues(WritableLevelData writableLevelData, ResourceKey resourceKey, RegistryAccess registryAccess, Holder holder, Supplier supplier, boolean bl, boolean bl2, long l, int i, CallbackInfo ci) { - this.setDefaultBreathable(CelestialBody.getByDimension(registryAccess, resourceKey).map(c -> c.atmosphere().breathable()).orElse(true)); + Holder> holder1 = ((LevelBodyAccessor) this).galacticraft$getCelestialBody(); + this.setDefaultBreathable(holder1 != null ? holder1.value().atmosphere().breathable() : this.breathable); } @Override diff --git a/src/main/java/dev/galacticraft/impl/internal/mixin/registry/RegistryDataLoaderMixin.java b/src/main/java/dev/galacticraft/impl/internal/mixin/registry/RegistryDataLoaderMixin.java deleted file mode 100644 index 7855940d16..0000000000 --- a/src/main/java/dev/galacticraft/impl/internal/mixin/registry/RegistryDataLoaderMixin.java +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright (c) 2019-2024 Team Galacticraft - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -package dev.galacticraft.impl.internal.mixin.registry; - -import dev.galacticraft.api.registry.AddonRegistries; -import dev.galacticraft.api.registry.RocketRegistries; -import dev.galacticraft.api.rocket.part.*; -import dev.galacticraft.api.universe.celestialbody.CelestialBody; -import dev.galacticraft.api.universe.celestialbody.landable.teleporter.CelestialTeleporter; -import dev.galacticraft.api.universe.galaxy.Galaxy; -import net.minecraft.resources.RegistryDataLoader; -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Mutable; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - -import java.util.ArrayList; -import java.util.List; - -@Mixin(RegistryDataLoader.class) -public abstract class RegistryDataLoaderMixin { - @Mutable - @Shadow @Final public static List> WORLDGEN_REGISTRIES; - - @Inject(method = "", at = @At("RETURN")) - private static void addGalacticraftAPIDynamicRegistries(CallbackInfo ci) { - WORLDGEN_REGISTRIES = new ArrayList<>(WORLDGEN_REGISTRIES); - WORLDGEN_REGISTRIES.add(new RegistryDataLoader.RegistryData<>(AddonRegistries.GALAXY, Galaxy.DIRECT_CODEC)); - WORLDGEN_REGISTRIES.add(new RegistryDataLoader.RegistryData<>(AddonRegistries.CELESTIAL_BODY, CelestialBody.DIRECT_CODEC)); - - WORLDGEN_REGISTRIES.add(new RegistryDataLoader.RegistryData<>(RocketRegistries.ROCKET_CONE, RocketCone.DIRECT_CODEC)); - WORLDGEN_REGISTRIES.add(new RegistryDataLoader.RegistryData<>(RocketRegistries.ROCKET_BODY, RocketBody.DIRECT_CODEC)); - WORLDGEN_REGISTRIES.add(new RegistryDataLoader.RegistryData<>(RocketRegistries.ROCKET_FIN, RocketFin.DIRECT_CODEC)); - WORLDGEN_REGISTRIES.add(new RegistryDataLoader.RegistryData<>(RocketRegistries.ROCKET_BOOSTER, RocketBooster.DIRECT_CODEC)); - WORLDGEN_REGISTRIES.add(new RegistryDataLoader.RegistryData<>(RocketRegistries.ROCKET_ENGINE, RocketEngine.DIRECT_CODEC)); - WORLDGEN_REGISTRIES.add(new RegistryDataLoader.RegistryData<>(RocketRegistries.ROCKET_UPGRADE, RocketUpgrade.DIRECT_CODEC)); - - WORLDGEN_REGISTRIES.add(new RegistryDataLoader.RegistryData<>(AddonRegistries.CELESTIAL_TELEPORTER, CelestialTeleporter.DIRECT_CODEC)); - } -} diff --git a/src/main/java/dev/galacticraft/impl/internal/mixin/registry/RegistrySynchronizationMixin.java b/src/main/java/dev/galacticraft/impl/internal/mixin/registry/RegistrySynchronizationMixin.java deleted file mode 100644 index b7f3befdb8..0000000000 --- a/src/main/java/dev/galacticraft/impl/internal/mixin/registry/RegistrySynchronizationMixin.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright (c) 2019-2024 Team Galacticraft - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -package dev.galacticraft.impl.internal.mixin.registry; - -import com.google.common.collect.ImmutableMap; -import com.mojang.serialization.Codec; -import dev.galacticraft.api.registry.AddonRegistries; -import dev.galacticraft.api.registry.RocketRegistries; -import dev.galacticraft.api.rocket.part.*; -import dev.galacticraft.api.universe.celestialbody.CelestialBody; -import dev.galacticraft.api.universe.celestialbody.landable.teleporter.CelestialTeleporter; -import dev.galacticraft.api.universe.galaxy.Galaxy; -import net.minecraft.core.Registry; -import net.minecraft.core.RegistrySynchronization; -import net.minecraft.resources.ResourceKey; -import org.spongepowered.asm.mixin.Dynamic; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; -import org.spongepowered.asm.mixin.injection.callback.LocalCapture; - -@Mixin(RegistrySynchronization.class) -public abstract class RegistrySynchronizationMixin { - @Shadow - private static void put(ImmutableMap.Builder>, RegistrySynchronization.NetworkedRegistryData> builder, ResourceKey> resourceKey, Codec codec) { - } - - @Dynamic("1.19.4 synthetic") - @Inject(method = "method_45958", at = @At(value = "INVOKE", target = "Lcom/google/common/collect/ImmutableMap$Builder;build()Lcom/google/common/collect/ImmutableMap;", remap = false), locals = LocalCapture.CAPTURE_FAILEXCEPTION) - private static void addRegistries(CallbackInfoReturnable>, RegistrySynchronization.NetworkedRegistryData>> cir, ImmutableMap.Builder>, RegistrySynchronization.NetworkedRegistryData> builder) { - put(builder, AddonRegistries.CELESTIAL_BODY, CelestialBody.DIRECT_CODEC); - put(builder, AddonRegistries.GALAXY, Galaxy.DIRECT_CODEC); - - put(builder, RocketRegistries.ROCKET_CONE, RocketCone.DIRECT_CODEC); - put(builder, RocketRegistries.ROCKET_BODY, RocketBody.DIRECT_CODEC); - put(builder, RocketRegistries.ROCKET_FIN, RocketFin.DIRECT_CODEC); - put(builder, RocketRegistries.ROCKET_BOOSTER, RocketBooster.DIRECT_CODEC); - put(builder, RocketRegistries.ROCKET_ENGINE, RocketEngine.DIRECT_CODEC); - put(builder, RocketRegistries.ROCKET_UPGRADE, RocketUpgrade.DIRECT_CODEC); - - put(builder, AddonRegistries.CELESTIAL_TELEPORTER, CelestialTeleporter.DIRECT_CODEC); - } -} diff --git a/src/main/java/dev/galacticraft/impl/internal/mixin/research/AdvancementRewardsMixin.java b/src/main/java/dev/galacticraft/impl/internal/mixin/research/AdvancementRewardsMixin.java index 5ef7b3fc26..65d1714b5d 100644 --- a/src/main/java/dev/galacticraft/impl/internal/mixin/research/AdvancementRewardsMixin.java +++ b/src/main/java/dev/galacticraft/impl/internal/mixin/research/AdvancementRewardsMixin.java @@ -22,9 +22,6 @@ package dev.galacticraft.impl.internal.mixin.research; -import com.google.gson.JsonArray; -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; import dev.galacticraft.api.accessor.ServerResearchAccessor; import dev.galacticraft.impl.internal.accessor.AdvancementRewardsAccessor; import net.minecraft.advancements.AdvancementRewards; @@ -54,7 +51,7 @@ public abstract class AdvancementRewardsMixin implements AdvancementRewardsAcces // JsonArray array = json.get("rocket_parts").getAsJsonArray(); // ResourceLocation[] ids = new ResourceLocation[array.size()]; // for (int i = 0; i < array.size(); i++) { -// ids[i] = new ResourceLocation(array.get(i).getAsString()); +// ids[i] = ResourceLocation.parse(array.get(i).getAsString()); // } // ((AdvancementRewardsAccessor) rewards).setRocketPartRecipeRewards(ids); // } diff --git a/src/main/java/dev/galacticraft/impl/internal/mixin/research/ServerPlayerMixin.java b/src/main/java/dev/galacticraft/impl/internal/mixin/research/ServerPlayerMixin.java index 240e2ebab6..2b7af86ce5 100644 --- a/src/main/java/dev/galacticraft/impl/internal/mixin/research/ServerPlayerMixin.java +++ b/src/main/java/dev/galacticraft/impl/internal/mixin/research/ServerPlayerMixin.java @@ -23,16 +23,13 @@ package dev.galacticraft.impl.internal.mixin.research; import dev.galacticraft.api.accessor.ServerResearchAccessor; -import dev.galacticraft.mod.Constant; -import io.netty.buffer.Unpooled; +import dev.galacticraft.impl.network.s2c.ResearchUpdatePayload; import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.ListTag; import net.minecraft.nbt.StringTag; import net.minecraft.nbt.Tag; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.resources.ResourceLocation; -import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -43,12 +40,11 @@ import java.util.Collections; import java.util.HashSet; +import java.util.List; import java.util.Set; @Mixin(ServerPlayer.class) public abstract class ServerPlayerMixin implements ServerResearchAccessor { - @Shadow public abstract ServerLevel serverLevel(); - @Shadow public abstract boolean isCreative(); private final @Unique Set unlockedRecipes = new HashSet<>(); @@ -63,15 +59,7 @@ public abstract class ServerPlayerMixin implements ServerResearchAccessor { public void galacticraft$unlockRocketPartRecipes(ResourceLocation... ids) { Collections.addAll(this.unlockedRecipes, ids); - FriendlyByteBuf buf = new FriendlyByteBuf(Unpooled.buffer()); - buf.writeVarInt(ids.length); - buf.writeBoolean(true); - for (ResourceLocation id : ids) { - buf.writeUtf(id.toString()); - } - ServerPlayNetworking.send((ServerPlayer) (Object)this, - Constant.id("research_update"), - buf); + ServerPlayNetworking.send((ServerPlayer) (Object)this, new ResearchUpdatePayload(true, List.of(ids))); } @Override @@ -80,15 +68,7 @@ public abstract class ServerPlayerMixin implements ServerResearchAccessor { this.unlockedRecipes.remove(id); } - FriendlyByteBuf buf = new FriendlyByteBuf(Unpooled.buffer()); - buf.writeVarInt(ids.length); - buf.writeBoolean(false); - for (ResourceLocation id : ids) { - buf.writeUtf(id.toString()); - } - ServerPlayNetworking.send((ServerPlayer) (Object)this, - Constant.id("research_update"), - buf); + ServerPlayNetworking.send((ServerPlayer) (Object)this, new ResearchUpdatePayload(false, List.of(ids))); } @Inject(method = "readAdditionalSaveData", at = @At("RETURN")) @@ -96,7 +76,7 @@ private void galacticraft_readCustomDataFromNbt(CompoundTag nbt, CallbackInfo ci this.unlockedRecipes.clear(); ListTag list = nbt.getList("gcResearch", Tag.TAG_STRING); for (int i = 0; i < list.size(); i++) { - this.unlockedRecipes.add(new ResourceLocation(list.getString(i))); + this.unlockedRecipes.add(ResourceLocation.parse(list.getString(i))); } } diff --git a/src/main/java/dev/galacticraft/impl/network/GCApiClientPacketReceivers.java b/src/main/java/dev/galacticraft/impl/network/GCApiClientPacketReceivers.java new file mode 100644 index 0000000000..b886544ca8 --- /dev/null +++ b/src/main/java/dev/galacticraft/impl/network/GCApiClientPacketReceivers.java @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2019-2024 Team Galacticraft + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package dev.galacticraft.impl.network; + +import dev.galacticraft.impl.network.s2c.*; +import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; + +/** + * Handles server-bound (C2S) packets. + */ +public class GCApiClientPacketReceivers { + public static void register() { + registerPacket(AddSatellitePayload.TYPE); + registerPacket(GearInvPayload.TYPE); + registerPacket(OxygenUpdatePayload.TYPE); + registerPacket(RemoveSatellitePayload.TYPE); + registerPacket(ResearchUpdatePayload.TYPE); + } + + public static

void registerPacket(CustomPacketPayload.Type

type) { + ClientPlayNetworking.registerGlobalReceiver(type, (payload, context) -> context.client().execute(payload.handle(context))); + } +} diff --git a/src/main/java/dev/galacticraft/impl/network/GCApiPackets.java b/src/main/java/dev/galacticraft/impl/network/GCApiPackets.java new file mode 100644 index 0000000000..77b9448e89 --- /dev/null +++ b/src/main/java/dev/galacticraft/impl/network/GCApiPackets.java @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2019-2024 Team Galacticraft + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package dev.galacticraft.impl.network; + +import dev.galacticraft.impl.network.c2s.FlagDataPayload; +import dev.galacticraft.impl.network.c2s.TeamNamePayload; +import dev.galacticraft.impl.network.s2c.*; +import net.fabricmc.fabric.api.networking.v1.PayloadTypeRegistry; + +public class GCApiPackets { + public static void register() { + PayloadTypeRegistry.playS2C().register(AddSatellitePayload.TYPE, AddSatellitePayload.CODEC); + PayloadTypeRegistry.playS2C().register(GearInvPayload.TYPE, GearInvPayload.CODEC); + PayloadTypeRegistry.playS2C().register(OxygenUpdatePayload.TYPE, OxygenUpdatePayload.CODEC); + PayloadTypeRegistry.playS2C().register(RemoveSatellitePayload.TYPE, RemoveSatellitePayload.CODEC); + PayloadTypeRegistry.playS2C().register(ResearchUpdatePayload.TYPE, ResearchUpdatePayload.CODEC); + + PayloadTypeRegistry.playC2S().register(FlagDataPayload.TYPE, FlagDataPayload.CODEC); + PayloadTypeRegistry.playC2S().register(TeamNamePayload.TYPE, TeamNamePayload.CODEC); + } +} diff --git a/src/main/java/dev/galacticraft/impl/network/GCApiServerPacketReceivers.java b/src/main/java/dev/galacticraft/impl/network/GCApiServerPacketReceivers.java new file mode 100644 index 0000000000..a63e9b00c7 --- /dev/null +++ b/src/main/java/dev/galacticraft/impl/network/GCApiServerPacketReceivers.java @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2019-2024 Team Galacticraft + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package dev.galacticraft.impl.network; + +import dev.galacticraft.impl.network.c2s.C2SPayload; +import dev.galacticraft.impl.network.c2s.FlagDataPayload; +import dev.galacticraft.impl.network.c2s.TeamNamePayload; +import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; + +/** + * Handles server-bound (C2S) packets. + */ +public class GCApiServerPacketReceivers { + public static void register() { + registerPacket(FlagDataPayload.TYPE); + registerPacket(TeamNamePayload.TYPE); + } + + public static

void registerPacket(CustomPacketPayload.Type

type) { + ServerPlayNetworking.registerGlobalReceiver(type, C2SPayload::handle); + } +} diff --git a/src/main/java/dev/galacticraft/impl/network/c2s/C2SPayload.java b/src/main/java/dev/galacticraft/impl/network/c2s/C2SPayload.java new file mode 100644 index 0000000000..69fc5f826d --- /dev/null +++ b/src/main/java/dev/galacticraft/impl/network/c2s/C2SPayload.java @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2019-2024 Team Galacticraft + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package dev.galacticraft.impl.network.c2s; + +import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; +import org.jetbrains.annotations.NotNull; + +public interface C2SPayload extends CustomPacketPayload { + void handle(@NotNull ServerPlayNetworking.Context context); +} diff --git a/src/main/java/dev/galacticraft/impl/network/c2s/FlagDataPayload.java b/src/main/java/dev/galacticraft/impl/network/c2s/FlagDataPayload.java new file mode 100644 index 0000000000..c5a04a94dc --- /dev/null +++ b/src/main/java/dev/galacticraft/impl/network/c2s/FlagDataPayload.java @@ -0,0 +1,51 @@ +/* + * Copyright (c) 2019-2024 Team Galacticraft + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package dev.galacticraft.impl.network.c2s; + +import dev.galacticraft.mod.Constant; +import io.netty.buffer.ByteBuf; +import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; +import net.minecraft.resources.ResourceLocation; +import org.jetbrains.annotations.NotNull; + +public record FlagDataPayload(byte[] data) implements C2SPayload { + public static final ResourceLocation ID = Constant.id("flag_data"); + public static final Type TYPE = new Type<>(ID); + public static final StreamCodec CODEC = ByteBufCodecs.BYTE_ARRAY.map(FlagDataPayload::new, FlagDataPayload::data); + + public FlagDataPayload { + if (data.length != 48 * 32 * 3) throw new IllegalArgumentException(); + } + + @Override + public @NotNull Type type() { + return TYPE; + } + + @Override + public void handle(ServerPlayNetworking.@NotNull Context context) { + } +} diff --git a/src/main/java/dev/galacticraft/impl/network/c2s/TeamNamePayload.java b/src/main/java/dev/galacticraft/impl/network/c2s/TeamNamePayload.java new file mode 100644 index 0000000000..cfb37d3592 --- /dev/null +++ b/src/main/java/dev/galacticraft/impl/network/c2s/TeamNamePayload.java @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2019-2024 Team Galacticraft + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package dev.galacticraft.impl.network.c2s; + +import dev.galacticraft.mod.Constant; +import io.netty.buffer.ByteBuf; +import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; +import net.minecraft.resources.ResourceLocation; +import org.jetbrains.annotations.NotNull; + +public record TeamNamePayload(String name) implements C2SPayload { + public static final ResourceLocation ID = Constant.id("team_name"); + public static final Type TYPE = new Type<>(ID); + public static final StreamCodec CODEC = ByteBufCodecs.STRING_UTF8.map(TeamNamePayload::new, TeamNamePayload::name); + + public TeamNamePayload { + if (name.length() > 32) throw new IllegalArgumentException("Team name cannot be longer than 32 characters"); //todo: actual constraints + } + + @Override + public @NotNull Type type() { + return TYPE; + } + + @Override + public void handle(ServerPlayNetworking.@NotNull Context context) { + + } +} diff --git a/src/main/java/dev/galacticraft/impl/network/s2c/AddSatellitePayload.java b/src/main/java/dev/galacticraft/impl/network/s2c/AddSatellitePayload.java new file mode 100644 index 0000000000..77b14b9d32 --- /dev/null +++ b/src/main/java/dev/galacticraft/impl/network/s2c/AddSatellitePayload.java @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2019-2024 Team Galacticraft + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package dev.galacticraft.impl.network.s2c; + +import dev.galacticraft.api.client.accessor.ClientSatelliteAccessor; +import dev.galacticraft.api.universe.celestialbody.CelestialBody; +import dev.galacticraft.impl.universe.celestialbody.type.SatelliteType; +import dev.galacticraft.impl.universe.position.config.SatelliteConfig; +import dev.galacticraft.mod.Constant; +import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; +import net.minecraft.resources.ResourceLocation; +import org.jetbrains.annotations.NotNull; + +public record AddSatellitePayload(ResourceLocation id, SatelliteConfig config) implements S2CPayload { + public static final ResourceLocation ID = Constant.id("add_satellite"); + public static final Type TYPE = new Type<>(ID); + public static final StreamCodec CODEC = StreamCodec.composite( + ResourceLocation.STREAM_CODEC, + p -> p.id, + SatelliteConfig.STREAM_CODEC, + p -> p.config, + AddSatellitePayload::new); + + @Override + public @NotNull Type type() { + return TYPE; + } + + @Override + public Runnable handle(ClientPlayNetworking.@NotNull Context context) { + return () -> ((ClientSatelliteAccessor) context.client().player.connection).galacticraft$addSatellite(this.id, new CelestialBody<>(SatelliteType.INSTANCE, this.config)); + } +} diff --git a/src/main/java/dev/galacticraft/impl/network/s2c/GearInvPayload.java b/src/main/java/dev/galacticraft/impl/network/s2c/GearInvPayload.java new file mode 100644 index 0000000000..1bba2ec53c --- /dev/null +++ b/src/main/java/dev/galacticraft/impl/network/s2c/GearInvPayload.java @@ -0,0 +1,65 @@ +/* + * Copyright (c) 2019-2024 Team Galacticraft + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package dev.galacticraft.impl.network.s2c; + +import dev.galacticraft.api.accessor.GearInventoryProvider; +import dev.galacticraft.mod.Constant; +import dev.galacticraft.mod.util.StreamCodecs; +import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.Container; +import net.minecraft.world.item.ItemStack; +import org.jetbrains.annotations.NotNull; + +import java.util.Objects; + +public record GearInvPayload(int entityId, ItemStack[] items) implements S2CPayload { + public static final ResourceLocation ID = Constant.id("gear_inv"); + public static final Type TYPE = new Type<>(ID); + public static final StreamCodec CODEC = StreamCodec.composite( + ByteBufCodecs.VAR_INT, + GearInvPayload::entityId, + StreamCodecs.array(ItemStack.OPTIONAL_STREAM_CODEC, ItemStack[]::new), + GearInvPayload::items, + GearInvPayload::new + ); + + @Override + public @NotNull Type type() { + return TYPE; + } + + @Override + public Runnable handle(ClientPlayNetworking.@NotNull Context context) { + return () -> { + Container container = ((GearInventoryProvider) Objects.requireNonNull(context.client().level.getEntity(this.entityId))).galacticraft$getGearInv(); + for (int i = 0; i < this.items.length; i++) { + container.setItem(i, this.items[i]); + } + }; + } +} diff --git a/src/main/java/dev/galacticraft/impl/network/s2c/OxygenUpdatePayload.java b/src/main/java/dev/galacticraft/impl/network/s2c/OxygenUpdatePayload.java new file mode 100644 index 0000000000..6f7c351762 --- /dev/null +++ b/src/main/java/dev/galacticraft/impl/network/s2c/OxygenUpdatePayload.java @@ -0,0 +1,77 @@ +/* + * Copyright (c) 2019-2024 Team Galacticraft + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package dev.galacticraft.impl.network.s2c; + +import dev.galacticraft.impl.internal.accessor.ChunkSectionOxygenAccessor; +import dev.galacticraft.mod.Constant; +import dev.galacticraft.mod.util.StreamCodecs; +import io.netty.buffer.ByteBuf; +import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.level.ChunkPos; +import net.minecraft.world.level.chunk.LevelChunk; +import org.jetbrains.annotations.NotNull; + +import java.util.BitSet; + +public record OxygenUpdatePayload(long chunk, OxygenData[] data) implements S2CPayload { + public static final ResourceLocation ID = Constant.id("oxygen_update"); + public static final Type TYPE = new Type<>(ID); + public static final StreamCodec CODEC = StreamCodec.composite( + StreamCodecs.LONG, + d -> d.chunk, + StreamCodecs.array(OxygenData.CODEC, OxygenData[]::new), + d -> d.data, + OxygenUpdatePayload::new + ); + + @Override + public @NotNull Type type() { + return TYPE; + } + + @Override + public Runnable handle(ClientPlayNetworking.@NotNull Context context) { + return () -> { + LevelChunk chunk = context.client().level.getChunk(ChunkPos.getX(this.chunk), ChunkPos.getZ(this.chunk)); + for (OxygenData datum : this.data) { + ChunkSectionOxygenAccessor accessor = (ChunkSectionOxygenAccessor) chunk.getSection(datum.section); + accessor.galacticraft$setBits(datum.data); + } + }; + } + + public record OxygenData(byte section, @NotNull BitSet data) { + private static final StreamCodec BIT_SET_CODEC = ByteBufCodecs.BYTE_ARRAY.map(BitSet::valueOf, BitSet::toByteArray); + public static final StreamCodec CODEC = StreamCodec.composite( + ByteBufCodecs.BYTE, + d -> d.section, + BIT_SET_CODEC, + d -> d.data, + OxygenData::new + ); + } +} diff --git a/src/main/java/dev/galacticraft/impl/network/s2c/RemoveSatellitePayload.java b/src/main/java/dev/galacticraft/impl/network/s2c/RemoveSatellitePayload.java new file mode 100644 index 0000000000..d8b9338861 --- /dev/null +++ b/src/main/java/dev/galacticraft/impl/network/s2c/RemoveSatellitePayload.java @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2019-2024 Team Galacticraft + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package dev.galacticraft.impl.network.s2c; + +import dev.galacticraft.api.accessor.SatelliteAccessor; +import dev.galacticraft.mod.Constant; +import io.netty.buffer.ByteBuf; +import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; +import net.minecraft.resources.ResourceLocation; +import org.jetbrains.annotations.NotNull; + +public record RemoveSatellitePayload(ResourceLocation id) implements S2CPayload { + public static final ResourceLocation ID = Constant.id("remove_satellite"); + public static final Type TYPE = new Type<>(ID); + public static final StreamCodec CODEC = ResourceLocation.STREAM_CODEC.map(RemoveSatellitePayload::new, RemoveSatellitePayload::id); + + @Override + public Runnable handle(ClientPlayNetworking.@NotNull Context context) { + return () -> ((SatelliteAccessor) context.client().getConnection()).galacticraft$removeSatellite(this.id); + } + + @Override + public @NotNull Type type() { + return TYPE; + } +} diff --git a/src/main/java/dev/galacticraft/impl/network/s2c/ResearchUpdatePayload.java b/src/main/java/dev/galacticraft/impl/network/s2c/ResearchUpdatePayload.java new file mode 100644 index 0000000000..db56b68b4a --- /dev/null +++ b/src/main/java/dev/galacticraft/impl/network/s2c/ResearchUpdatePayload.java @@ -0,0 +1,57 @@ +/* + * Copyright (c) 2019-2024 Team Galacticraft + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package dev.galacticraft.impl.network.s2c; + +import dev.galacticraft.impl.client.accessor.ClientResearchAccessor; +import dev.galacticraft.mod.Constant; +import io.netty.buffer.ByteBuf; +import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; +import net.minecraft.resources.ResourceLocation; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public record ResearchUpdatePayload(boolean add, List ids) implements S2CPayload { + public static final ResourceLocation ID = Constant.id("research_update"); + public static final Type TYPE = new Type<>(ID); + public static final StreamCodec CODEC = StreamCodec.composite( + ByteBufCodecs.BOOL, + p -> p.add, + ByteBufCodecs.list().apply(ResourceLocation.STREAM_CODEC), + p -> p.ids, + ResearchUpdatePayload::new + ); + + @Override + public Runnable handle(ClientPlayNetworking.@NotNull Context context) { + return () -> ((ClientResearchAccessor)context.player()).galacticraft$updateResearch(this.add, this.ids); + } + + @Override + public @NotNull Type type() { + return TYPE; + } +} diff --git a/src/main/java/dev/galacticraft/impl/network/s2c/S2CPayload.java b/src/main/java/dev/galacticraft/impl/network/s2c/S2CPayload.java new file mode 100644 index 0000000000..1bb4a00965 --- /dev/null +++ b/src/main/java/dev/galacticraft/impl/network/s2c/S2CPayload.java @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2019-2024 Team Galacticraft + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package dev.galacticraft.impl.network.s2c; + +import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; +import org.jetbrains.annotations.NotNull; + +public interface S2CPayload extends CustomPacketPayload { + Runnable handle(@NotNull ClientPlayNetworking.Context context); +} diff --git a/src/main/java/dev/galacticraft/impl/rocket/RocketDataImpl.java b/src/main/java/dev/galacticraft/impl/rocket/RocketDataImpl.java deleted file mode 100644 index 9f5b8fa19c..0000000000 --- a/src/main/java/dev/galacticraft/impl/rocket/RocketDataImpl.java +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Copyright (c) 2019-2024 Team Galacticraft - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -package dev.galacticraft.impl.rocket; - -import dev.galacticraft.api.registry.RocketRegistries; -import dev.galacticraft.api.rocket.RocketData; -import dev.galacticraft.api.rocket.part.*; -import dev.galacticraft.mod.content.GCRocketParts; -import net.minecraft.Util; -import net.minecraft.nbt.CompoundTag; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.resources.ResourceKey; -import net.minecraft.resources.ResourceLocation; -import org.jetbrains.annotations.ApiStatus; -import org.jetbrains.annotations.Contract; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; -import org.jetbrains.annotations.Unmodifiable; - -@ApiStatus.Internal -public record RocketDataImpl(int color, @Nullable ResourceKey> cone, @Nullable ResourceKey> body, - @Nullable ResourceKey> fin, @Nullable ResourceKey> booster, - @Nullable ResourceKey> engine, @Nullable ResourceKey> upgrade) implements RocketData { - - public static final CompoundTag DEFAULT_ROCKET = Util.make(new CompoundTag(), tag -> { - RocketData.create(0xFFFFFFFF, - GCRocketParts.TIER_1_CONE, - GCRocketParts.TIER_1_BODY, - GCRocketParts.TIER_1_FIN, - null, - GCRocketParts.TIER_1_ENGINE, - null) - .toNbt(tag); - }); - - @Contract("_ -> new") - public static @NotNull RocketDataImpl fromNbt(CompoundTag nbt) { - return new RocketDataImpl( - nbt.getInt("Color"), - nbt.contains("Cone") ? ResourceKey.create(RocketRegistries.ROCKET_CONE, new ResourceLocation(nbt.getString("Cone"))) : null, - nbt.contains("Body") ? ResourceKey.create(RocketRegistries.ROCKET_BODY, new ResourceLocation(nbt.getString("Body"))) : null, - nbt.contains("Fin") ? ResourceKey.create(RocketRegistries.ROCKET_FIN, new ResourceLocation(nbt.getString("Fin"))) : null, - nbt.contains("Booster") ? ResourceKey.create(RocketRegistries.ROCKET_BOOSTER, new ResourceLocation(nbt.getString("Booster"))) : null, - nbt.contains("Engine") ? ResourceKey.create(RocketRegistries.ROCKET_ENGINE, new ResourceLocation(nbt.getString("Engine"))) : null, - nbt.contains("Upgrade") ? ResourceKey.create(RocketRegistries.ROCKET_UPGRADE, new ResourceLocation(nbt.getString("Upgrade"))) : null - ); - } - - @Contract("_ -> new") - public static @NotNull RocketDataImpl fromNetwork(FriendlyByteBuf buf) { - int color = buf.readVarInt(); - boolean hasCone = buf.readBoolean(); - boolean hasBody = buf.readBoolean(); - boolean hasFin = buf.readBoolean(); - boolean hasBooster = buf.readBoolean(); - boolean hasEngine = buf.readBoolean(); - boolean hasUpgrade = buf.readBoolean(); - return new RocketDataImpl( - color, - hasCone ? ResourceKey.create(RocketRegistries.ROCKET_CONE, buf.readResourceLocation()) : null, - hasBody ? ResourceKey.create(RocketRegistries.ROCKET_BODY, buf.readResourceLocation()) : null, - hasFin ? ResourceKey.create(RocketRegistries.ROCKET_FIN, buf.readResourceLocation()) : null, - hasBooster ? ResourceKey.create(RocketRegistries.ROCKET_BOOSTER, buf.readResourceLocation()) : null, - hasEngine ? ResourceKey.create(RocketRegistries.ROCKET_ENGINE, buf.readResourceLocation()) : null, - hasUpgrade ? ResourceKey.create(RocketRegistries.ROCKET_UPGRADE, buf.readResourceLocation()) : null - ); - } -} diff --git a/src/main/java/dev/galacticraft/impl/rocket/recipe/RocketPartRecipeImpl.java b/src/main/java/dev/galacticraft/impl/rocket/recipe/RocketPartRecipeImpl.java index 329f8621e6..2270b8afc6 100644 --- a/src/main/java/dev/galacticraft/impl/rocket/recipe/RocketPartRecipeImpl.java +++ b/src/main/java/dev/galacticraft/impl/rocket/recipe/RocketPartRecipeImpl.java @@ -25,12 +25,11 @@ import dev.galacticraft.api.rocket.recipe.RocketPartRecipe; import dev.galacticraft.api.rocket.recipe.config.RocketPartRecipeConfig; import dev.galacticraft.api.rocket.recipe.type.RocketPartRecipeType; +import net.minecraft.core.HolderLookup; import net.minecraft.core.NonNullList; -import net.minecraft.core.RegistryAccess; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.Container; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.Ingredient; +import net.minecraft.world.item.crafting.RecipeInput; import net.minecraft.world.item.crafting.RecipeSerializer; import net.minecraft.world.item.crafting.RecipeType; import net.minecraft.world.level.Level; @@ -58,12 +57,12 @@ public void place(@NotNull RocketPartRecipeType.SlotConsumer consumer, int leftE } @Override - public boolean matches(Container container, Level level) { - return this.type.matches(container, level, this.config); + public boolean matches(RecipeInput input, Level level) { + return this.type.matches(input, level, this.config); } @Override - public @NotNull ItemStack assemble(Container container, RegistryAccess registryAccess) { + public @NotNull ItemStack assemble(RecipeInput input, HolderLookup.Provider lookup) { return ItemStack.EMPTY; } @@ -73,7 +72,7 @@ public boolean canCraftInDimensions(int width, int height) { } @Override - public @NotNull ItemStack getResultItem(RegistryAccess registryAccess) { + public @NotNull ItemStack getResultItem(HolderLookup.Provider registriesLookup) { return ItemStack.EMPTY; } diff --git a/src/main/java/dev/galacticraft/impl/rocket/recipe/config/CenteredPatternedRocketPartRecipeConfig.java b/src/main/java/dev/galacticraft/impl/rocket/recipe/config/CenteredPatternedRocketPartRecipeConfig.java index 626fdfa3d6..2822b8c45f 100644 --- a/src/main/java/dev/galacticraft/impl/rocket/recipe/config/CenteredPatternedRocketPartRecipeConfig.java +++ b/src/main/java/dev/galacticraft/impl/rocket/recipe/config/CenteredPatternedRocketPartRecipeConfig.java @@ -76,7 +76,7 @@ public record CenteredPatternedRocketPartRecipeConfig(int height, @NotNull List< if (element.isJsonPrimitive()) { spacing.put(key, element.getAsInt()); } else { - Ingredient.CODEC.decode(JsonOps.INSTANCE, element).get().ifLeft(pair -> ingredients.put(key, pair.getFirst())); + ingredients.put(key, Ingredient.CODEC.decode(JsonOps.INSTANCE, element).getOrThrow().getFirst()); } } diff --git a/src/main/java/dev/galacticraft/impl/rocket/recipe/config/PatternedRocketPartRecipeConfig.java b/src/main/java/dev/galacticraft/impl/rocket/recipe/config/PatternedRocketPartRecipeConfig.java index ae290c46c5..edaa910445 100644 --- a/src/main/java/dev/galacticraft/impl/rocket/recipe/config/PatternedRocketPartRecipeConfig.java +++ b/src/main/java/dev/galacticraft/impl/rocket/recipe/config/PatternedRocketPartRecipeConfig.java @@ -76,7 +76,7 @@ public record PatternedRocketPartRecipeConfig(int height, @NotNull List ingredients.put(key, pair.getFirst())); + ingredients.put(key, Ingredient.CODEC.decode(JsonOps.INSTANCE, element).getOrThrow().getFirst()); } }); diff --git a/src/main/java/dev/galacticraft/impl/rocket/recipe/type/CenteredPatternedRocketPartRecipeType.java b/src/main/java/dev/galacticraft/impl/rocket/recipe/type/CenteredPatternedRocketPartRecipeType.java index aa171d104e..7108a2e415 100644 --- a/src/main/java/dev/galacticraft/impl/rocket/recipe/type/CenteredPatternedRocketPartRecipeType.java +++ b/src/main/java/dev/galacticraft/impl/rocket/recipe/type/CenteredPatternedRocketPartRecipeType.java @@ -26,9 +26,9 @@ import dev.galacticraft.api.rocket.recipe.type.RocketPartRecipeType; import dev.galacticraft.impl.rocket.recipe.config.CenteredPatternedRocketPartRecipeConfig; import net.minecraft.core.NonNullList; -import net.minecraft.world.Container; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.Ingredient; +import net.minecraft.world.item.crafting.RecipeInput; import net.minecraft.world.level.Level; import org.jetbrains.annotations.NotNull; @@ -61,7 +61,7 @@ public void place(@NotNull SlotConsumer consumer, int leftEdge, int rightEdge, i if (item == null) return true; ItemStack stack = new ItemStack(item, 1); - stack.setTag(tag); + stack.applyComponents(tag); return slot.ingredient().test(stack); }); } @@ -73,10 +73,10 @@ public void place(@NotNull SlotConsumer consumer, int leftEdge, int rightEdge, i } @Override - public boolean matches(Container container, Level level, CenteredPatternedRocketPartRecipeConfig config) { + public boolean matches(RecipeInput input, Level level, CenteredPatternedRocketPartRecipeConfig config) { List slots = config.slots(); for (int i = 0, n = slots.size(); i < n; i++) { - ItemStack stack = container.getItem(i); + ItemStack stack = input.getItem(i); if (stack.isEmpty() || !slots.get(i).ingredient().test(stack)) { return false; } diff --git a/src/main/java/dev/galacticraft/impl/rocket/recipe/type/PatternedRocketPartRecipeType.java b/src/main/java/dev/galacticraft/impl/rocket/recipe/type/PatternedRocketPartRecipeType.java index 95a6cbffd0..0e49715515 100644 --- a/src/main/java/dev/galacticraft/impl/rocket/recipe/type/PatternedRocketPartRecipeType.java +++ b/src/main/java/dev/galacticraft/impl/rocket/recipe/type/PatternedRocketPartRecipeType.java @@ -26,9 +26,9 @@ import dev.galacticraft.api.rocket.recipe.type.RocketPartRecipeType; import dev.galacticraft.impl.rocket.recipe.config.PatternedRocketPartRecipeConfig; import net.minecraft.core.NonNullList; -import net.minecraft.world.Container; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.Ingredient; +import net.minecraft.world.item.crafting.RecipeInput; import net.minecraft.world.level.Level; import org.jetbrains.annotations.NotNull; @@ -56,11 +56,11 @@ public void place(@NotNull SlotConsumer consumer, int leftEdge, int rightEdge, i List slots = config.left(); for (int i = 0; i < slots.size(); i++) { RocketPartRecipeSlot slot = slots.get(i); - consumer.createSlot(i, leftEdge + slot.x(), bottomEdge - this.height(config) + slot.y(), (item, tag) -> { + consumer.createSlot(i, leftEdge + slot.x(), bottomEdge - this.height(config) + slot.y(), (item, patch) -> { if (item == null) return true; ItemStack stack = new ItemStack(item, 1); - stack.setTag(tag); + stack.applyComponents(patch); return slot.ingredient().test(stack); }); } @@ -68,11 +68,11 @@ public void place(@NotNull SlotConsumer consumer, int leftEdge, int rightEdge, i slots = config.right(); for (int i = 0; i < slots.size(); i++) { RocketPartRecipeSlot slot = slots.get(i); - consumer.createSlot(i + size, rightEdge + slot.x(), bottomEdge - this.height(config) + slot.y(), (item, tag) -> { + consumer.createSlot(i + size, rightEdge + slot.x(), bottomEdge - this.height(config) + slot.y(), (item, patch) -> { if (item == null) return true; ItemStack stack = new ItemStack(item, 1); - stack.setTag(tag); + stack.applyComponents(patch); return slot.ingredient().test(stack); }); } @@ -84,17 +84,17 @@ public void place(@NotNull SlotConsumer consumer, int leftEdge, int rightEdge, i } @Override - public boolean matches(Container container, Level level, PatternedRocketPartRecipeConfig config) { + public boolean matches(RecipeInput input, Level level, PatternedRocketPartRecipeConfig config) { List left = config.left(); for (int i = 0, leftSize = left.size(); i < leftSize; i++) { - ItemStack stack = container.getItem(i); + ItemStack stack = input.getItem(i); if (stack.isEmpty() || !left.get(i).ingredient().test(stack)) { return false; } } List right = config.right(); for (int i = 0, rightSize = right.size(); i < rightSize; i++) { - ItemStack stack = container.getItem(left.size() + i); + ItemStack stack = input.getItem(left.size() + i); if (stack.isEmpty() || !left.get(i).ingredient().test(stack)) { return false; } diff --git a/src/main/java/dev/galacticraft/impl/rocket/travelpredicate/type/AccessWeightTravelPredicateType.java b/src/main/java/dev/galacticraft/impl/rocket/travelpredicate/type/AccessWeightTravelPredicateType.java index 14c04a2711..6ac3df6de2 100644 --- a/src/main/java/dev/galacticraft/impl/rocket/travelpredicate/type/AccessWeightTravelPredicateType.java +++ b/src/main/java/dev/galacticraft/impl/rocket/travelpredicate/type/AccessWeightTravelPredicateType.java @@ -28,6 +28,7 @@ import dev.galacticraft.api.universe.celestialbody.CelestialBody; import dev.galacticraft.api.universe.celestialbody.Tiered; import dev.galacticraft.impl.rocket.travelpredicate.config.AccessWeightTravelPredicateConfig; +import net.minecraft.core.Holder; public final class AccessWeightTravelPredicateType extends TravelPredicateType { public static final AccessWeightTravelPredicateType INSTANCE = new AccessWeightTravelPredicateType(AccessWeightTravelPredicateConfig.CODEC); @@ -37,7 +38,7 @@ private AccessWeightTravelPredicateType(Codec } @Override - public Result canTravel(CelestialBody from, CelestialBody to, RocketCone cone, RocketBody body, RocketFin fin, RocketBooster booster, RocketEngine engine, RocketUpgrade upgrade, AccessWeightTravelPredicateConfig config) { + public Result canTravel(CelestialBody from, CelestialBody to, Holder> cone, Holder> body, Holder> fin, Holder> booster, Holder> engine, Holder> upgrade, AccessWeightTravelPredicateConfig config) { if (to.type() instanceof Tiered tiered) { int weight = tiered.accessWeight(to.config()); if (weight <= config.weight()) { diff --git a/src/main/java/dev/galacticraft/impl/rocket/travelpredicate/type/AndTravelPredicateType.java b/src/main/java/dev/galacticraft/impl/rocket/travelpredicate/type/AndTravelPredicateType.java index c8dbba82e1..a9eef98b15 100644 --- a/src/main/java/dev/galacticraft/impl/rocket/travelpredicate/type/AndTravelPredicateType.java +++ b/src/main/java/dev/galacticraft/impl/rocket/travelpredicate/type/AndTravelPredicateType.java @@ -28,6 +28,7 @@ import dev.galacticraft.api.rocket.travelpredicate.TravelPredicateType; import dev.galacticraft.api.universe.celestialbody.CelestialBody; import dev.galacticraft.impl.rocket.travelpredicate.config.AndTravelPredicateConfig; +import net.minecraft.core.Holder; public final class AndTravelPredicateType extends TravelPredicateType { public static final AndTravelPredicateType INSTANCE = new AndTravelPredicateType(AndTravelPredicateConfig.CODEC); @@ -37,7 +38,7 @@ private AndTravelPredicateType(Codec configCodec) { } @Override - public Result canTravel(CelestialBody from, CelestialBody to, RocketCone cone, RocketBody body, RocketFin fin, RocketBooster booster, RocketEngine engine, RocketUpgrade upgrade, AndTravelPredicateConfig config) { + public Result canTravel(CelestialBody from, CelestialBody to, Holder> cone, Holder> body, Holder> fin, Holder> booster, Holder> engine, Holder> upgrade, AndTravelPredicateConfig config) { Result result = Result.PASS; for (ConfiguredTravelPredicate predicate : config.predicates()) { result = result.merge(predicate.canTravel(from, to, cone, body, fin, booster, engine, upgrade)); diff --git a/src/main/java/dev/galacticraft/impl/rocket/travelpredicate/type/ConstantTravelPredicateType.java b/src/main/java/dev/galacticraft/impl/rocket/travelpredicate/type/ConstantTravelPredicateType.java index a585e04010..0250917ad6 100644 --- a/src/main/java/dev/galacticraft/impl/rocket/travelpredicate/type/ConstantTravelPredicateType.java +++ b/src/main/java/dev/galacticraft/impl/rocket/travelpredicate/type/ConstantTravelPredicateType.java @@ -26,6 +26,7 @@ import dev.galacticraft.api.rocket.travelpredicate.TravelPredicateType; import dev.galacticraft.api.universe.celestialbody.CelestialBody; import dev.galacticraft.impl.rocket.travelpredicate.config.ConstantTravelPredicateConfig; +import net.minecraft.core.Holder; public final class ConstantTravelPredicateType extends TravelPredicateType { public static final ConstantTravelPredicateType INSTANCE = new ConstantTravelPredicateType(); @@ -35,7 +36,7 @@ private ConstantTravelPredicateType() { } @Override - public Result canTravel(CelestialBody from, CelestialBody to, RocketCone cone, RocketBody body, RocketFin fin, RocketBooster booster, RocketEngine engine, RocketUpgrade upgrade, ConstantTravelPredicateConfig config) { + public Result canTravel(CelestialBody from, CelestialBody to, Holder> cone, Holder> body, Holder> fin, Holder> booster, Holder> engine, Holder> upgrade, ConstantTravelPredicateConfig config) { return config.type(); } } diff --git a/src/main/java/dev/galacticraft/impl/rocket/travelpredicate/type/DefaultTravelPredicateType.java b/src/main/java/dev/galacticraft/impl/rocket/travelpredicate/type/DefaultTravelPredicateType.java index 52499f4a79..6a1c6143b6 100644 --- a/src/main/java/dev/galacticraft/impl/rocket/travelpredicate/type/DefaultTravelPredicateType.java +++ b/src/main/java/dev/galacticraft/impl/rocket/travelpredicate/type/DefaultTravelPredicateType.java @@ -27,6 +27,7 @@ import dev.galacticraft.api.rocket.travelpredicate.TravelPredicateType; import dev.galacticraft.api.universe.celestialbody.CelestialBody; import dev.galacticraft.impl.rocket.travelpredicate.config.DefaultTravelPredicateConfig; +import net.minecraft.core.Holder; public final class DefaultTravelPredicateType extends TravelPredicateType { public static final DefaultTravelPredicateType INSTANCE = new DefaultTravelPredicateType(); @@ -37,7 +38,7 @@ private DefaultTravelPredicateType() { } @Override - public Result canTravel(CelestialBody from, CelestialBody to, RocketCone cone, RocketBody body, RocketFin fin, RocketBooster booster, RocketEngine engine, RocketUpgrade upgrade, DefaultTravelPredicateConfig config) { + public Result canTravel(CelestialBody from, CelestialBody to, Holder> cone, Holder> body, Holder> fin, Holder> booster, Holder> engine, Holder> upgrade, DefaultTravelPredicateConfig config) { return Result.PASS; } } diff --git a/src/main/java/dev/galacticraft/impl/rocket/travelpredicate/type/OrTravelPredicateType.java b/src/main/java/dev/galacticraft/impl/rocket/travelpredicate/type/OrTravelPredicateType.java index e0419f4220..cf45b902e3 100644 --- a/src/main/java/dev/galacticraft/impl/rocket/travelpredicate/type/OrTravelPredicateType.java +++ b/src/main/java/dev/galacticraft/impl/rocket/travelpredicate/type/OrTravelPredicateType.java @@ -28,6 +28,7 @@ import dev.galacticraft.api.rocket.travelpredicate.TravelPredicateType; import dev.galacticraft.api.universe.celestialbody.CelestialBody; import dev.galacticraft.impl.rocket.travelpredicate.config.OrTravelPredicateConfig; +import net.minecraft.core.Holder; public final class OrTravelPredicateType extends TravelPredicateType { public static final OrTravelPredicateType INSTANCE = new OrTravelPredicateType(OrTravelPredicateConfig.CODEC); @@ -36,7 +37,7 @@ private OrTravelPredicateType(Codec configCodec) { } @Override - public Result canTravel(CelestialBody from, CelestialBody to, RocketCone cone, RocketBody body, RocketFin fin, RocketBooster booster, RocketEngine engine, RocketUpgrade upgrade, OrTravelPredicateConfig config) { + public Result canTravel(CelestialBody from, CelestialBody to, Holder> cone, Holder> body, Holder> fin, Holder> booster, Holder> engine, Holder> upgrade, OrTravelPredicateConfig config) { for (ConfiguredTravelPredicate predicate : config.predicates()) { Result result = predicate.canTravel(from, to, cone, body, fin, booster, engine, upgrade); if (result != Result.PASS) return result; diff --git a/src/main/java/dev/galacticraft/impl/universe/BuiltinObjects.java b/src/main/java/dev/galacticraft/impl/universe/BuiltinObjects.java index 801cec485e..9fd8716361 100644 --- a/src/main/java/dev/galacticraft/impl/universe/BuiltinObjects.java +++ b/src/main/java/dev/galacticraft/impl/universe/BuiltinObjects.java @@ -43,7 +43,6 @@ import dev.galacticraft.mod.Constant; import net.minecraft.core.Registry; import net.minecraft.resources.ResourceKey; -import net.minecraft.resources.ResourceLocation; public class BuiltinObjects { public static final ResourceKey MILKY_WAY_KEY = ResourceKey.create(AddonRegistries.GALAXY, Constant.id("milky_way")); diff --git a/src/main/java/dev/galacticraft/impl/universe/celestialbody/type/SatelliteType.java b/src/main/java/dev/galacticraft/impl/universe/celestialbody/type/SatelliteType.java index 80f7c8a91f..c6609190a7 100644 --- a/src/main/java/dev/galacticraft/impl/universe/celestialbody/type/SatelliteType.java +++ b/src/main/java/dev/galacticraft/impl/universe/celestialbody/type/SatelliteType.java @@ -37,6 +37,7 @@ import dev.galacticraft.api.universe.galaxy.Galaxy; import dev.galacticraft.api.universe.position.CelestialPosition; import dev.galacticraft.dynamicdimensions.api.DynamicDimensionRegistry; +import dev.galacticraft.impl.network.s2c.AddSatellitePayload; import dev.galacticraft.impl.universe.BuiltinObjects; import dev.galacticraft.impl.universe.display.config.IconCelestialDisplayConfig; import dev.galacticraft.impl.universe.display.config.ring.DefaultCelestialRingDisplayConfig; @@ -49,14 +50,10 @@ import dev.galacticraft.mod.data.gen.SatelliteChunkGenerator; import dev.galacticraft.mod.util.Translations; import dev.galacticraft.mod.world.biome.GCBiomes; -import io.netty.buffer.Unpooled; import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; import net.minecraft.core.Holder; import net.minecraft.core.RegistryAccess; import net.minecraft.core.registries.Registries; -import net.minecraft.nbt.CompoundTag; -import net.minecraft.nbt.NbtOps; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; @@ -68,7 +65,7 @@ import net.minecraft.world.level.ChunkPos; import net.minecraft.world.level.Level; import net.minecraft.world.level.chunk.ChunkGenerator; -import net.minecraft.world.level.chunk.ChunkStatus; +import net.minecraft.world.level.chunk.status.ChunkStatus; import net.minecraft.world.level.dimension.DimensionType; import net.minecraft.world.level.dimension.LevelStem; import net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate; @@ -108,8 +105,8 @@ protected SatelliteType(Codec codec) { } @ApiStatus.Internal - public static CelestialBody registerSatellite(@NotNull MinecraftServer server, @NotNull ServerPlayer player, Holder.Reference> parent, StructureTemplate structure) { - ResourceLocation id = new ResourceLocation(parent.key().location() + "_" + player.getScoreboardName().toLowerCase(Locale.ROOT)); + public static CelestialBody registerSatellite(@NotNull MinecraftServer server, @NotNull ServerPlayer player, Holder> parent, StructureTemplate structure) { + ResourceLocation id = ResourceLocation.parse(parent.unwrapKey().get().location() + "_" + player.getScoreboardName().toLowerCase(Locale.ROOT)); DimensionType type = new DimensionType(OptionalLong.empty(), true, false, false, true, 1, false, false, 0, 256, 256, TagKey.create(Registries.BLOCK, Constant.id("infiniburn_space")), Constant.id("space_sky"), 0, new DimensionType.MonsterSettings(false, true, UniformInt.of(0, 7), 0)); SatelliteChunkGenerator chunkGenerator = new SatelliteChunkGenerator(server.registryAccess().registryOrThrow(Registries.BIOME).getHolderOrThrow(GCBiomes.SPACE), structure); SatelliteOwnershipData ownershipData = SatelliteOwnershipData.create(player.getUUID(), player.getScoreboardName(), new LinkedList<>(), false); @@ -124,7 +121,7 @@ public static CelestialBody registerSatellite(@N } @ApiStatus.Internal - public static CelestialBody create(ResourceLocation id, MinecraftServer server, Holder.Reference> parent, CelestialPosition position, CelestialDisplay display, CelestialRingDisplay ring, + public static CelestialBody create(ResourceLocation id, MinecraftServer server, Holder> parent, CelestialPosition position, CelestialDisplay display, CelestialRingDisplay ring, ChunkGenerator generator, DimensionType type, SatelliteOwnershipData ownershipData, String name) { Constant.LOGGER.debug("Attempting to create a world dynamically ({})", id); @@ -138,8 +135,7 @@ public static CelestialBody create(ResourceLocat ((SatelliteAccessor) server).galacticraft$addSatellite(id, satellite); for (ServerPlayer player : server.getPlayerList().getPlayers()) { - CompoundTag compound = (CompoundTag) SatelliteConfig.CODEC.encode(satellite.config(), NbtOps.INSTANCE, new CompoundTag()).get().orThrow(); - ServerPlayNetworking.send(player, Constant.id("add_satellite"), new FriendlyByteBuf(Unpooled.buffer()).writeResourceLocation(id).writeNbt(compound)); + ServerPlayNetworking.send(player, new AddSatellitePayload(id, satellite.config())); } return satellite; } diff --git a/src/main/java/dev/galacticraft/impl/universe/display/type/EmptyCelestialDisplayType.java b/src/main/java/dev/galacticraft/impl/universe/display/type/EmptyCelestialDisplayType.java index 38d3804d8f..feacf3ef4f 100644 --- a/src/main/java/dev/galacticraft/impl/universe/display/type/EmptyCelestialDisplayType.java +++ b/src/main/java/dev/galacticraft/impl/universe/display/type/EmptyCelestialDisplayType.java @@ -22,7 +22,7 @@ package dev.galacticraft.impl.universe.display.type; -import com.mojang.blaze3d.vertex.BufferBuilder; +import com.mojang.blaze3d.vertex.Tesselator; import dev.galacticraft.api.universe.display.CelestialDisplayType; import dev.galacticraft.impl.universe.display.config.EmptyCelestialDisplayConfig; import net.minecraft.client.gui.GuiGraphics; @@ -36,7 +36,7 @@ private EmptyCelestialDisplayType() { } @Override - public Vector4f render(GuiGraphics graphics, BufferBuilder buffer, int size, double mouseX, double mouseY, float delta, EmptyCelestialDisplayConfig config) { + public Vector4f render(GuiGraphics graphics, Tesselator tesselator, int size, double mouseX, double mouseY, float delta, EmptyCelestialDisplayConfig config) { return NULL_VECTOR; } } diff --git a/src/main/java/dev/galacticraft/impl/universe/display/type/IconCelestialDisplayType.java b/src/main/java/dev/galacticraft/impl/universe/display/type/IconCelestialDisplayType.java index a822bc758e..bc9b46ab7a 100644 --- a/src/main/java/dev/galacticraft/impl/universe/display/type/IconCelestialDisplayType.java +++ b/src/main/java/dev/galacticraft/impl/universe/display/type/IconCelestialDisplayType.java @@ -23,7 +23,7 @@ package dev.galacticraft.impl.universe.display.type; import com.mojang.blaze3d.platform.GlStateManager; -import com.mojang.blaze3d.vertex.BufferBuilder; +import com.mojang.blaze3d.vertex.Tesselator; import com.mojang.serialization.Codec; import dev.galacticraft.api.universe.display.CelestialDisplayType; import dev.galacticraft.impl.universe.display.config.IconCelestialDisplayConfig; @@ -42,7 +42,7 @@ protected IconCelestialDisplayType(Codec codec) { } @Override - public Vector4f render(GuiGraphics graphics, BufferBuilder buffer, int size, double mouseX, double mouseY, float delta, IconCelestialDisplayConfig config) { + public Vector4f render(GuiGraphics graphics, Tesselator tesselator, int size, double mouseX, double mouseY, float delta, IconCelestialDisplayConfig config) { float realSize = config.scale() * size; AbstractTexture texture = Minecraft.getInstance().getTextureManager().getTexture(config.texture()); texture.bind(); diff --git a/src/main/java/dev/galacticraft/impl/universe/display/type/SpinningIconCelestialDisplayType.java b/src/main/java/dev/galacticraft/impl/universe/display/type/SpinningIconCelestialDisplayType.java index 3d55f32745..c868f77378 100644 --- a/src/main/java/dev/galacticraft/impl/universe/display/type/SpinningIconCelestialDisplayType.java +++ b/src/main/java/dev/galacticraft/impl/universe/display/type/SpinningIconCelestialDisplayType.java @@ -22,7 +22,7 @@ package dev.galacticraft.impl.universe.display.type; -import com.mojang.blaze3d.vertex.BufferBuilder; +import com.mojang.blaze3d.vertex.Tesselator; import com.mojang.math.Axis; import com.mojang.serialization.Codec; import dev.galacticraft.impl.universe.display.config.IconCelestialDisplayConfig; @@ -37,10 +37,10 @@ protected SpinningIconCelestialDisplayType(Codec cod } @Override - public Vector4f render(GuiGraphics graphics, BufferBuilder buffer, int size, double mouseX, double mouseY, float delta, IconCelestialDisplayConfig config) { + public Vector4f render(GuiGraphics graphics, Tesselator tesselator, int size, double mouseX, double mouseY, float delta, IconCelestialDisplayConfig config) { float degrees = Minecraft.getInstance().level.getGameTime() * 66.666666666666F / 10.0F % 360.0f; graphics.pose().mulPose(Axis.ZP.rotationDegrees(degrees)); - Vector4f render = super.render(graphics, buffer, size, mouseX, mouseY, delta, config); + Vector4f render = super.render(graphics, tesselator, size, mouseX, mouseY, delta, config); graphics.pose().mulPose(Axis.ZN.rotationDegrees(degrees)); // revert changes to the pose for position tracking return render; } diff --git a/src/main/java/dev/galacticraft/impl/universe/display/type/ring/AsteroidCelestialRingDisplayType.java b/src/main/java/dev/galacticraft/impl/universe/display/type/ring/AsteroidCelestialRingDisplayType.java index eee6ceebf0..734e998434 100644 --- a/src/main/java/dev/galacticraft/impl/universe/display/type/ring/AsteroidCelestialRingDisplayType.java +++ b/src/main/java/dev/galacticraft/impl/universe/display/type/ring/AsteroidCelestialRingDisplayType.java @@ -33,14 +33,10 @@ import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.screens.Screen; import net.minecraft.client.renderer.GameRenderer; -import net.minecraft.client.renderer.ShaderInstance; import net.minecraft.util.Mth; import org.joml.Matrix4f; import org.joml.Vector3f; -import java.util.function.Consumer; -import java.util.function.Supplier; - public class AsteroidCelestialRingDisplayType extends CelestialRingDisplayType { public static final AsteroidCelestialRingDisplayType INSTANCE = new AsteroidCelestialRingDisplayType(DefaultCelestialRingDisplayConfig.CODEC); @@ -49,15 +45,13 @@ public AsteroidCelestialRingDisplayType(Codec } @Override - public boolean render(CelestialBody body, GuiGraphics graphics, int count, Vector3f systemOffset, float lineScale, float alpha, double mouseX, double mouseY, float delta, Consumer> shaderSetter, DefaultCelestialRingDisplayConfig config) { - shaderSetter.accept(GameRenderer::getRendertypeLinesShader); + public boolean render(CelestialBody body, GuiGraphics graphics, int count, Vector3f systemOffset, float lineScale, float alpha, double mouseX, double mouseY, float delta, DefaultCelestialRingDisplayConfig config) { + RenderSystem.setShader(GameRenderer::getRendertypeLinesShader); PoseStack matrices = graphics.pose(); matrices.pushPose(); Screen screen = Minecraft.getInstance().screen; float[] color = screen instanceof CelestialSelectionScreen ? new float[]{0.7F, 0.0F, 0.0F, alpha / 2.0F} : new float[]{0.3F, 0.1F, 0.1F, 1.0F}; - Tesselator tesselator = Tesselator.getInstance(); - BufferBuilder buffer = tesselator.getBuilder(); - buffer.begin(VertexFormat.Mode.LINE_STRIP, DefaultVertexFormat.POSITION_COLOR_NORMAL); + BufferBuilder buffer = Tesselator.getInstance().begin(VertexFormat.Mode.LINE_STRIP, DefaultVertexFormat.POSITION_COLOR_NORMAL); final float theta = Mth.TWO_PI / 90; final float cos = Mth.cos(theta); @@ -77,42 +71,38 @@ public boolean render(CelestialBody body, GuiGraphics graphics, int count, float y1 = y; Matrix4f model = matrices.last().pose(); for (int i = 0; i < 180; i++) { - buffer.vertex(model, x, y, 0).color(color[0], color[1], color[2], color[3]); + buffer.addVertex(model, x, y, 0).setColor(color[0], color[1], color[2], color[3]); if (i < 90) { - buffer.normal(1, 1, 1); + buffer.setNormal(1, 1, 1); } else { - buffer.normal(1, -1, -1); + buffer.setNormal(1, -1, -1); } - buffer.endVertex(); - temp = x; x = cos * x - sin * y; y = sin * temp + cos * y; } - buffer.vertex(model, x1, y1, 0).color(color[0], color[1], color[2], color[3]).normal(1, 1, 1).endVertex(); //LINE_LOOP is gone + buffer.addVertex(model, x1, y1, 0).setColor(color[0], color[1], color[2], color[3]).setNormal(1, 1, 1); //LINE_LOOP is gone x = x1; y = y1; for (int i = 0; i < 180; i++) { - buffer.vertex(model, x, y, 0).color(color[0], color[1], color[2], color[3]); + buffer.addVertex(model, x, y, 0).setColor(color[0], color[1], color[2], color[3]); if (i < 90) { - buffer.normal(1, 1, 1); + buffer.setNormal(1, 1, 1); } else { - buffer.normal(1, -1, -1); + buffer.setNormal(1, -1, -1); } - buffer.endVertex(); - temp = x; x = cos2 * x - sin2 * y; y = sin2 * temp + cos2 * y; } - buffer.vertex(model, x1, y1, 0).color(color[0], color[1], color[2], color[3]).normal(1, 1, 1).endVertex(); //LINE_LOOP is gone + buffer.addVertex(model, x1, y1, 0).setColor(color[0], color[1], color[2], color[3]).setNormal(1, 1, 1); //LINE_LOOP is gone - tesselator.end(); - buffer.begin(VertexFormat.Mode.LINE_STRIP, DefaultVertexFormat.POSITION_COLOR_NORMAL); + BufferUploader.drawWithShader(buffer.buildOrThrow()); + buffer = Tesselator.getInstance().begin(VertexFormat.Mode.LINE_STRIP, DefaultVertexFormat.POSITION_COLOR_NORMAL); x = min * body.position().lineScale(); y = 0; @@ -121,43 +111,38 @@ public boolean render(CelestialBody body, GuiGraphics graphics, int count, y1 = y; for (int i = 0; i < 180; i++) { - buffer.vertex(model, x, y, 0).color(color[0], color[1], color[2], color[3]); + buffer.addVertex(model, x, y, 0).setColor(color[0], color[1], color[2], color[3]); if (i < 90) { - buffer.normal(1, 1, 1); + buffer.setNormal(1, 1, 1); } else { - buffer.normal(1, -1, -1); + buffer.setNormal(1, -1, -1); } - buffer.endVertex(); - temp = x; x = cos * x - sin * y; y = sin * temp + cos * y; } - buffer.vertex(model, x1, y1, 0).color(color[0], color[1], color[2], color[3]).normal(1, 1, 1).endVertex(); //LINE_LOOP is gone + buffer.addVertex(model, x1, y1, 0).setColor(color[0], color[1], color[2], color[3]).setNormal(1, 1, 1); //LINE_LOOP is gone x = x1; y = y1; for (int i = 0; i < 180; i++) { - buffer.vertex(model, x, y, 0).color(color[0], color[1], color[2], color[3]); + buffer.addVertex(model, x, y, 0).setColor(color[0], color[1], color[2], color[3]); if (i < 90) { - buffer.normal(1, 1, 1); + buffer.setNormal(1, 1, 1); } else { - buffer.normal(1, -1, -1); + buffer.setNormal(1, -1, -1); } - buffer.endVertex(); - temp = x; x = cos2 * x - sin2 * y; y = sin2 * temp + cos2 * y; } - buffer.vertex(model, x1, y1, 0).color(color[0], color[1], color[2], color[3]).normal(1, 1, 1).endVertex(); //LINE_LOOP is gone + buffer.addVertex(model, x1, y1, 0).setColor(color[0], color[1], color[2], color[3]).setNormal(1, 1, 1); //LINE_LOOP is gone - tesselator.end(); - RenderSystem.setShader(GameRenderer::getPositionColorShader); - buffer.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_COLOR); + BufferUploader.drawWithShader(buffer.buildOrThrow()); + buffer = Tesselator.getInstance().begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_COLOR); x = min * body.position().lineScale(); y = 0; @@ -165,8 +150,8 @@ public boolean render(CelestialBody body, GuiGraphics graphics, int count, float y2 = 0; for (int i = 0; i < 90; i++) { - buffer.vertex(model, x2, y2, 0).color(0.7F, 0.0F, 0.0F, alpha / 10.0F).endVertex(); - buffer.vertex(model, x, y, 0).color(0.7F, 0.0F, 0.0F, alpha / 10.0F).endVertex(); + buffer.addVertex(model, x2, y2, 0).setColor(0.7F, 0.0F, 0.0F, alpha / 10.0F); + buffer.addVertex(model, x, y, 0).setColor(0.7F, 0.0F, 0.0F, alpha / 10.0F); temp = x; x = cos * x - sin * y; @@ -175,11 +160,12 @@ public boolean render(CelestialBody body, GuiGraphics graphics, int count, x2 = cos * x2 - sin * y2; y2 = sin * temp + cos * y2; - buffer.vertex(model, x, y, 0).color(0.7F, 0.0F, 0.0F, alpha / 10.0F).endVertex(); - buffer.vertex(model, x2, y2, 0).color(0.7F, 0.0F, 0.0F, alpha / 10.0F).endVertex(); + buffer.addVertex(model, x, y, 0).setColor(0.7F, 0.0F, 0.0F, alpha / 10.0F); + buffer.addVertex(model, x2, y2, 0).setColor(0.7F, 0.0F, 0.0F, alpha / 10.0F); } - tesselator.end(); + RenderSystem.setShader(GameRenderer::getPositionColorShader); + BufferUploader.drawWithShader(buffer.buildOrThrow()); matrices.popPose(); return false; } diff --git a/src/main/java/dev/galacticraft/impl/universe/display/type/ring/DefaultCelestialRingDisplayType.java b/src/main/java/dev/galacticraft/impl/universe/display/type/ring/DefaultCelestialRingDisplayType.java index da49115fd5..5fc6183e74 100644 --- a/src/main/java/dev/galacticraft/impl/universe/display/type/ring/DefaultCelestialRingDisplayType.java +++ b/src/main/java/dev/galacticraft/impl/universe/display/type/ring/DefaultCelestialRingDisplayType.java @@ -22,6 +22,7 @@ package dev.galacticraft.impl.universe.display.type.ring; +import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.vertex.*; import com.mojang.serialization.Codec; import dev.galacticraft.api.universe.celestialbody.CelestialBody; @@ -29,14 +30,10 @@ import dev.galacticraft.impl.universe.display.config.ring.DefaultCelestialRingDisplayConfig; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.renderer.GameRenderer; -import net.minecraft.client.renderer.ShaderInstance; import net.minecraft.util.Mth; import org.joml.Matrix4f; import org.joml.Vector3f; -import java.util.function.Consumer; -import java.util.function.Supplier; - public class DefaultCelestialRingDisplayType extends CelestialRingDisplayType { public static final DefaultCelestialRingDisplayType INSTANCE = new DefaultCelestialRingDisplayType(DefaultCelestialRingDisplayConfig.CODEC); @@ -45,8 +42,8 @@ public DefaultCelestialRingDisplayType(Codec } @Override - public boolean render(CelestialBody body, GuiGraphics graphics, int count, Vector3f systemOffset, float lineScale, float alpha, double mouseX, double mouseY, float delta, Consumer> shaderSetter, DefaultCelestialRingDisplayConfig config) { - shaderSetter.accept(GameRenderer::getRendertypeLinesShader); + public boolean render(CelestialBody body, GuiGraphics graphics, int count, Vector3f systemOffset, float lineScale, float alpha, double mouseX, double mouseY, float delta, DefaultCelestialRingDisplayConfig config) { + RenderSystem.setShader(GameRenderer::getRendertypeLinesShader); PoseStack matrices = graphics.pose(); @@ -72,49 +69,43 @@ public boolean render(CelestialBody body, GuiGraphics graphics, int count, default -> throw new IllegalStateException("Unexpected value: " + count % 2); }; - Tesselator tesselator = Tesselator.getInstance(); - BufferBuilder buffer = tesselator.getBuilder(); - buffer.begin(VertexFormat.Mode.LINE_STRIP, DefaultVertexFormat.POSITION_COLOR_NORMAL); + BufferBuilder buffer = Tesselator.getInstance().begin(VertexFormat.Mode.LINE_STRIP, DefaultVertexFormat.POSITION_COLOR_NORMAL); float temp; float x1 = x; float y1 = y; Matrix4f model = matrices.last().pose(); for (int i = 0; i < 180; i++) { - buffer.vertex(model, x, y, 0).color(color[0], color[1], color[2], color[3]); + buffer.addVertex(model, x, y, 0).setColor(color[0], color[1], color[2], color[3]); if (i < 90) { - buffer.normal(1, 1, 1); + buffer.setNormal(1, 1, 1); } else { - buffer.normal(1, -1, -1); + buffer.setNormal(1, -1, -1); } - buffer.endVertex(); - temp = x; x = cos * x - sin * y; y = sin * temp + cos * y; } - buffer.vertex(model, x1, y1, 0).color(color[0], color[1], color[2], color[3]).normal(1, 1, 1).endVertex(); //LINE_LOOP is gone + buffer.addVertex(model, x1, y1, 0).setColor(color[0], color[1], color[2], color[3]).setNormal(1, 1, 1); //LINE_LOOP is gone x = x1; y = y1; for (int i = 0; i < 180; i++) { - buffer.vertex(model, x, y, 0).color(color[0], color[1], color[2], color[3]); + buffer.addVertex(model, x, y, 0).setColor(color[0], color[1], color[2], color[3]); if (i < 90) { - buffer.normal(1, 1, 1); + buffer.setNormal(1, 1, 1); } else { - buffer.normal(1, -1, -1); + buffer.setNormal(1, -1, -1); } - buffer.endVertex(); - temp = x; x = cos2 * x - sin2 * y; y = sin2 * temp + cos2 * y; } - buffer.vertex(model, x1, y1, 0).color(color[0], color[1], color[2], color[3]).normal(1, 1, 1).endVertex(); //LINE_LOOP is gone + buffer.addVertex(model, x1, y1, 0).setColor(color[0], color[1], color[2], color[3]).setNormal(1, 1, 1); //LINE_LOOP is gone - tesselator.end(); + BufferUploader.drawWithShader(buffer.buildOrThrow()); matrices.popPose(); return true; diff --git a/src/main/java/dev/galacticraft/impl/universe/display/type/ring/EmptyCelestialRingDisplayType.java b/src/main/java/dev/galacticraft/impl/universe/display/type/ring/EmptyCelestialRingDisplayType.java index 426eab1cc3..8bdd05857c 100644 --- a/src/main/java/dev/galacticraft/impl/universe/display/type/ring/EmptyCelestialRingDisplayType.java +++ b/src/main/java/dev/galacticraft/impl/universe/display/type/ring/EmptyCelestialRingDisplayType.java @@ -27,12 +27,8 @@ import dev.galacticraft.api.universe.display.ring.CelestialRingDisplayType; import dev.galacticraft.impl.universe.display.config.ring.DefaultCelestialRingDisplayConfig; import net.minecraft.client.gui.GuiGraphics; -import net.minecraft.client.renderer.ShaderInstance; import org.joml.Vector3f; -import java.util.function.Consumer; -import java.util.function.Supplier; - public class EmptyCelestialRingDisplayType extends CelestialRingDisplayType { public static final EmptyCelestialRingDisplayType INSTANCE = new EmptyCelestialRingDisplayType(DefaultCelestialRingDisplayConfig.CODEC); @@ -41,7 +37,7 @@ public EmptyCelestialRingDisplayType(Codec co } @Override - public boolean render(CelestialBody body, GuiGraphics graphics, int count, Vector3f systemOffset, float lineScale, float alpha, double mouseX, double mouseY, float delta, Consumer> shaderSetter, DefaultCelestialRingDisplayConfig config) { + public boolean render(CelestialBody body, GuiGraphics graphics, int count, Vector3f systemOffset, float lineScale, float alpha, double mouseX, double mouseY, float delta, DefaultCelestialRingDisplayConfig config) { return false; } } diff --git a/src/main/java/dev/galacticraft/impl/universe/galaxy/GalaxyImpl.java b/src/main/java/dev/galacticraft/impl/universe/galaxy/GalaxyImpl.java index 2e72a6e15e..342d832a48 100644 --- a/src/main/java/dev/galacticraft/impl/universe/galaxy/GalaxyImpl.java +++ b/src/main/java/dev/galacticraft/impl/universe/galaxy/GalaxyImpl.java @@ -31,7 +31,7 @@ import dev.galacticraft.impl.universe.position.config.StaticCelestialPositionConfig; import dev.galacticraft.impl.universe.position.type.StaticCelestialPositionType; import dev.galacticraft.mod.util.Translations; -import net.minecraft.data.worldgen.BootstapContext; +import net.minecraft.data.worldgen.BootstrapContext; import net.minecraft.network.chat.Component; import org.jetbrains.annotations.Contract; import org.jetbrains.annotations.NotNull; @@ -43,7 +43,7 @@ public record GalaxyImpl(@NotNull Component name, CelestialPosition position, CelestialDisplay display) implements Galaxy { - public static void bootstrapRegistries(@NotNull BootstapContext context) { + public static void bootstrapRegistries(@NotNull BootstrapContext context) { context.register(BuiltinObjects.MILKY_WAY_KEY, createMilkyWay()); } diff --git a/src/main/java/dev/galacticraft/impl/universe/position/config/SatelliteConfig.java b/src/main/java/dev/galacticraft/impl/universe/position/config/SatelliteConfig.java index e9d9f4b55d..5977543e22 100644 --- a/src/main/java/dev/galacticraft/impl/universe/position/config/SatelliteConfig.java +++ b/src/main/java/dev/galacticraft/impl/universe/position/config/SatelliteConfig.java @@ -34,9 +34,12 @@ import dev.galacticraft.api.universe.display.ring.CelestialRingDisplay; import dev.galacticraft.api.universe.galaxy.Galaxy; import dev.galacticraft.api.universe.position.CelestialPosition; +import dev.galacticraft.mod.util.StreamCodecs; import net.minecraft.core.Holder; import net.minecraft.core.registries.Registries; +import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.chat.Component; +import net.minecraft.network.codec.StreamCodec; import net.minecraft.resources.RegistryFileCodec; import net.minecraft.resources.ResourceKey; import net.minecraft.world.level.Level; @@ -59,6 +62,7 @@ public final class SatelliteConfig implements CelestialBodyConfig { Codec.INT.fieldOf("accessWeight").forGetter(SatelliteConfig::accessWeight), LevelStem.CODEC.fieldOf("dimension_options").forGetter(SatelliteConfig::dimensionOptions) ).apply(instance, SatelliteConfig::new)); + public static final StreamCodec STREAM_CODEC = StreamCodecs.wrapCodec(CODEC); private final Holder> parent; private final Holder galaxy; diff --git a/src/main/java/dev/galacticraft/mod/Constant.java b/src/main/java/dev/galacticraft/mod/Constant.java index 7232225d33..ec5e625495 100644 --- a/src/main/java/dev/galacticraft/mod/Constant.java +++ b/src/main/java/dev/galacticraft/mod/Constant.java @@ -51,7 +51,7 @@ public interface Constant { @Contract(value = "_ -> new", pure = true) static @NotNull ResourceLocation id(String id) { - return new ResourceLocation(MOD_ID, id); + return ResourceLocation.fromNamespaceAndPath(MOD_ID, id); } @Contract(value = "_, _ -> new", pure = true) @@ -67,35 +67,64 @@ interface Block { String MOON_TURF = "moon_turf"; String MOON_SURFACE_ROCK = "moon_surface_rock"; String MOON_DUNGEON_BRICK = "moon_dungeon_brick"; + String MOON_ROCK = "moon_rock"; String MOON_ROCK_SLAB = "moon_rock_slab"; String MOON_ROCK_STAIRS = "moon_rock_stairs"; String MOON_ROCK_WALL = "moon_rock_wall"; + + String MOON_ROCK_BRICK = "moon_rock_brick"; + String MOON_ROCK_BRICK_SLAB = "moon_rock_brick_slab"; + String MOON_ROCK_BRICK_STAIRS = "moon_rock_brick_stairs"; + String MOON_ROCK_BRICK_WALL = "moon_rock_brick_wall"; + + String CRACKED_MOON_ROCK_BRICK = "cracked_moon_rock_brick"; + String CRACKED_MOON_ROCK_BRICK_SLAB = "cracked_moon_rock_brick_slab"; + String CRACKED_MOON_ROCK_BRICK_STAIRS = "cracked_moon_rock_brick_stairs"; + String CRACKED_MOON_ROCK_BRICK_WALL = "cracked_moon_rock_brick_wall"; + + String POLISHED_MOON_ROCK = "polished_moon_rock"; + String POLISHED_MOON_ROCK_SLAB = "polished_moon_rock_slab"; + String POLISHED_MOON_ROCK_STAIRS = "polished_moon_rock_stairs"; + String POLISHED_MOON_ROCK_WALL = "polished_moon_rock_wall"; + + String CHISELED_MOON_ROCK_BRICK = "chiseled_moon_rock_brick"; + String MOON_ROCK_PILLAR = "moon_rock_pillar"; + String COBBLED_MOON_ROCK = "cobbled_moon_rock"; String COBBLED_MOON_ROCK_SLAB = "cobbled_moon_rock_slab"; String COBBLED_MOON_ROCK_STAIRS = "cobbled_moon_rock_stairs"; String COBBLED_MOON_ROCK_WALL = "cobbled_moon_rock_wall"; + String LUNASLATE = "lunaslate"; String LUNASLATE_SLAB = "lunaslate_slab"; String LUNASLATE_STAIRS = "lunaslate_stairs"; String LUNASLATE_WALL = "lunaslate_wall"; + String COBBLED_LUNASLATE = "cobbled_lunaslate"; String COBBLED_LUNASLATE_SLAB = "cobbled_lunaslate_slab"; String COBBLED_LUNASLATE_STAIRS = "cobbled_lunaslate_stairs"; String COBBLED_LUNASLATE_WALL = "cobbled_lunaslate_wall"; + String MOON_BASALT = "moon_basalt"; String MOON_BASALT_SLAB = "moon_basalt_slab"; String MOON_BASALT_STAIRS = "moon_basalt_stairs"; String MOON_BASALT_WALL = "moon_basalt_wall"; + String MOON_BASALT_BRICK = "moon_basalt_brick"; String MOON_BASALT_BRICK_SLAB = "moon_basalt_brick_slab"; String MOON_BASALT_BRICK_STAIRS = "moon_basalt_brick_stairs"; String MOON_BASALT_BRICK_WALL = "moon_basalt_brick_wall"; + String CRACKED_MOON_BASALT_BRICK = "cracked_moon_basalt_brick"; String CRACKED_MOON_BASALT_BRICK_SLAB = "cracked_moon_basalt_brick_slab"; String CRACKED_MOON_BASALT_BRICK_STAIRS = "cracked_moon_basalt_brick_stairs"; String CRACKED_MOON_BASALT_BRICK_WALL = "cracked_moon_basalt_brick_wall"; + String OLIVINE_CLUSTER = "olivine_cluster"; + String OLIVINE_BASALT = "olivine_basalt"; + String RICH_OLIVINE_BASALT = "rich_olivine_basalt"; + String MOON_DIRT = "moon_dirt"; String MARS_SURFACE_ROCK = "mars_surface_rock"; String MARS_SUB_SURFACE_ROCK = "mars_sub_surface_rock"; @@ -148,6 +177,7 @@ interface Block { String TITANIUM_BLOCK = "titanium_block"; String LEAD_BLOCK = "lead_block"; String LUNAR_SAPPHIRE_BLOCK = "lunar_sapphire_block"; + String OLIVINE_BLOCK = "olivine_block"; // Decorative BLocks String ALUMINUM_DECORATION = "aluminum_decoration"; @@ -183,7 +213,6 @@ interface Block { String UNLIT_LANTERN = "unlit_lantern"; String CAVERNOUS_VINES = "cavernous_vines"; String CAVERNOUS_VINES_PLANT = "cavernous_vines_plant"; - String MOON_BERRY_BUSH = "moon_berry_bush"; String WEB_TORCH = "web_torch"; String FALLEN_METEOR = "fallen_meteor"; String SLIMELING_EGG = "slimeling_egg"; @@ -338,6 +367,7 @@ interface Item { String TITANIUM_NUGGET = "titanium_nugget"; String STEEL_INGOT = "steel_ingot"; String LUNAR_SAPPHIRE = "lunar_sapphire"; + String OLIVINE_SHARD = "olivine_shard"; String DESH_STICK = "desh_stick"; String CARBON_FRAGMENTS = "carbon_fragments"; String IRON_SHARD = "iron_shard"; @@ -374,7 +404,6 @@ interface Item { String AMBIENT_THERMAL_CONTROLLER = "ambient_thermal_controller"; String LIQUID_CANISTER = "liquid_canister"; //FOOD - String MOON_BERRIES = "moon_berries"; String CHEESE_CURD = "cheese_curd"; String CHEESE_SLICE = "cheese_slice"; String BURGER_BUN = "burger_bun"; @@ -745,7 +774,7 @@ interface Energy { @ApiStatus.Internal interface Misc { ResourceLocation INVALID = Constant.id("invalid"); - ResourceLocation EMPTY = new ResourceLocation("empty"); + ResourceLocation EMPTY = ResourceLocation.withDefaultNamespace("empty"); Direction[] DIRECTIONS = Direction.values(); Direction[] HORIZONTALS = {Direction.NORTH, Direction.EAST, Direction.SOUTH, Direction.WEST}; Direction[] VERTICALS = {Direction.UP, Direction.DOWN}; @@ -754,11 +783,6 @@ interface Misc { int MAX_STRING_READ = 32767; } - @ApiStatus.Internal - interface Mixin { - String DATAGEN_SKIP_README = "HashCacheMixin"; - } - interface Recipe { String FABRICATION = "fabrication"; String COMPRESSING = "compressing"; @@ -805,7 +829,7 @@ interface Carver { } interface Packet { - ResourceLocation BUBBLE_SIZE = id("bubble_size"); + ResourceLocation STREAM_CODECBUBBLE_SIZE = id("bubble_size"); ResourceLocation BUBBLE_MAX = id("bubble_max"); ResourceLocation BUBBLE_VISIBLE = id("bubble_visible"); ResourceLocation OPEN_GC_INVENTORY = id("open_gc_inv"); diff --git a/src/main/java/dev/galacticraft/mod/Galacticraft.java b/src/main/java/dev/galacticraft/mod/Galacticraft.java index 3f4a451c17..ffbc97d425 100644 --- a/src/main/java/dev/galacticraft/mod/Galacticraft.java +++ b/src/main/java/dev/galacticraft/mod/Galacticraft.java @@ -33,7 +33,7 @@ import dev.galacticraft.mod.events.GCEventHandlers; import dev.galacticraft.mod.lookup.GCApiLookupProviders; import dev.galacticraft.mod.machine.GCMachineStatuses; -import dev.galacticraft.mod.misc.banner.GCBannerPatterns; +import dev.galacticraft.mod.network.GCPackets; import dev.galacticraft.mod.network.GCServerPacketReceivers; import dev.galacticraft.mod.particle.GCParticleTypes; import dev.galacticraft.mod.recipe.GCRecipes; @@ -48,7 +48,7 @@ import dev.galacticraft.mod.world.gen.feature.GCOrePlacedFeatures; import dev.galacticraft.mod.world.gen.feature.GCPlacedFeatures; import dev.galacticraft.mod.world.gen.structure.GCStructureTypes; -import dev.galacticraft.mod.world.gen.surfacebuilder.MoonSurfaceRules; +import dev.galacticraft.mod.world.gen.surfacerule.MoonSurfaceRules; import dev.galacticraft.mod.world.poi.GCPointOfInterestTypes; import net.fabricmc.api.ModInitializer; import net.fabricmc.fabric.api.event.registry.RegistryEntryAddedCallback; @@ -78,7 +78,6 @@ public void onInitialize() { GCRecipes.register(); GCEntityDataSerializers.register(); GCEntityTypes.register(); - GCLootTables.register(); GCGases.register(); GCOrePlacedFeatures.register(); GCPlacedFeatures.register(); @@ -91,13 +90,13 @@ public void onInitialize() { GCParticleTypes.register(); GCCommands.register(); GCLightSources.register(); + GCPackets.register(); GCServerPacketReceivers.register(); GCSounds.register(); GCPointOfInterestTypes.register(); MoonVillagerTypes.register(); GCVillagerProfessions.register(); GCMachineStatuses.register(); - GCBannerPatterns.register(); GCTeleporterTypes.register(); GCStats.register(); GCCelestialHandlers.register(); diff --git a/src/main/java/dev/galacticraft/mod/GalacticraftMixinPlugin.java b/src/main/java/dev/galacticraft/mod/GalacticraftMixinPlugin.java index c4316c438f..e486caf468 100644 --- a/src/main/java/dev/galacticraft/mod/GalacticraftMixinPlugin.java +++ b/src/main/java/dev/galacticraft/mod/GalacticraftMixinPlugin.java @@ -22,13 +22,10 @@ package dev.galacticraft.mod; -import net.fabricmc.fabric.impl.datagen.FabricDataGenHelper; -import net.fabricmc.loader.api.FabricLoader; import org.objectweb.asm.tree.ClassNode; import org.spongepowered.asm.mixin.extensibility.IMixinConfigPlugin; import org.spongepowered.asm.mixin.extensibility.IMixinInfo; -import java.util.ArrayList; import java.util.List; import java.util.Set; @@ -53,13 +50,7 @@ public void acceptTargets(Set myTargets, Set otherTargets) { @Override public List getMixins() { - List optionalMixins = new ArrayList<>(); - if (FabricLoader.getInstance().isDevelopmentEnvironment()) { - if (FabricDataGenHelper.ENABLED) { - optionalMixins.add(Constant.Mixin.DATAGEN_SKIP_README); - } - } - return optionalMixins; + return null; } @Override diff --git a/src/main/java/dev/galacticraft/mod/api/block/FluidLoggable.java b/src/main/java/dev/galacticraft/mod/api/block/FluidLoggable.java index c96645c258..c88571390b 100644 --- a/src/main/java/dev/galacticraft/mod/api/block/FluidLoggable.java +++ b/src/main/java/dev/galacticraft/mod/api/block/FluidLoggable.java @@ -49,7 +49,7 @@ public interface FluidLoggable extends BucketPickup, LiquidBlockContainer { FluidState EMPTY_STATE = Fluids.EMPTY.defaultFluidState(); - ResourceLocation INVALID = new ResourceLocation("invalid"); + ResourceLocation INVALID = ResourceLocation.withDefaultNamespace("invalid"); String DOT_REP = "_gc_dot_"; String DASH_REP = "_gc_dash_"; // yes this is bad.... but who's going to name a mod/fluid something like that String COLON_REP = "_gc_colon_"; @@ -75,7 +75,7 @@ public Collection getPossibleValues() { @Override public Optional getValue(String name) { - return Optional.of(new ResourceLocation(name.replace(DOT_REP, ".").replace(DASH_REP, "-").replace(COLON_REP, ":"))); + return Optional.of(ResourceLocation.parse(name.replace(DOT_REP, ".").replace(DASH_REP, "-").replace(COLON_REP, ":"))); } @Override diff --git a/src/main/java/dev/galacticraft/mod/api/block/FluidPipe.java b/src/main/java/dev/galacticraft/mod/api/block/FluidPipe.java index b05b690fde..70f371fbb3 100644 --- a/src/main/java/dev/galacticraft/mod/api/block/FluidPipe.java +++ b/src/main/java/dev/galacticraft/mod/api/block/FluidPipe.java @@ -29,7 +29,6 @@ import net.fabricmc.loader.api.FabricLoader; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; -import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.player.Player; import net.minecraft.world.level.Level; @@ -47,15 +46,14 @@ public FluidPipe(Properties settings) { } @Override - @Deprecated - public InteractionResult use(BlockState state, Level world, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hit) { - if (!world.isClientSide() && Galacticraft.CONFIG.isDebugLogEnabled() && FabricLoader.getInstance().isDevelopmentEnvironment()) { - BlockEntity entity = world.getBlockEntity(pos); + protected InteractionResult useWithoutItem(BlockState state, Level level, BlockPos pos, Player player, BlockHitResult hit) { + if (!level.isClientSide() && Galacticraft.CONFIG.isDebugLogEnabled() && FabricLoader.getInstance().isDevelopmentEnvironment()) { + BlockEntity entity = level.getBlockEntity(pos); if (entity instanceof Pipe pipe) { Constant.LOGGER.info("Network: {}", pipe.getNetwork()); } } - return super.use(state, world, pos, player, hand, hit); + return super.useWithoutItem(state, level, pos, player, hit); } @Override diff --git a/src/main/java/dev/galacticraft/mod/api/block/MultiBlockBase.java b/src/main/java/dev/galacticraft/mod/api/block/MultiBlockBase.java index b09074f0ee..a9a7deff7b 100644 --- a/src/main/java/dev/galacticraft/mod/api/block/MultiBlockBase.java +++ b/src/main/java/dev/galacticraft/mod/api/block/MultiBlockBase.java @@ -23,13 +23,11 @@ package dev.galacticraft.mod.api.block; import net.minecraft.core.BlockPos; -import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.player.Player; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.phys.BlockHitResult; import org.jetbrains.annotations.Unmodifiable; import java.util.List; @@ -50,7 +48,7 @@ default void onPartDestroyed(Level level, Player player, BlockState blockState, void onMultiBlockPlaced(Level level, BlockPos blockPos, BlockState blockState); - default InteractionResult onMultiBlockUse(BlockState blockState, Level level, BlockPos basePos, Player player, InteractionHand interactionHand, BlockHitResult blockHitResult) { + default InteractionResult multiBlockUseWithoutItem(BlockState baseState, Level level, BlockPos basePos, Player player) { return InteractionResult.PASS; } } diff --git a/src/main/java/dev/galacticraft/mod/api/block/MultiBlockMachineBlock.java b/src/main/java/dev/galacticraft/mod/api/block/MultiBlockMachineBlock.java index a5781207f4..0249d51a42 100644 --- a/src/main/java/dev/galacticraft/mod/api/block/MultiBlockMachineBlock.java +++ b/src/main/java/dev/galacticraft/mod/api/block/MultiBlockMachineBlock.java @@ -22,13 +22,13 @@ package dev.galacticraft.mod.api.block; -import dev.galacticraft.machinelib.api.block.MachineBlock; -import dev.galacticraft.machinelib.api.block.entity.MachineBlockEntity; +import dev.galacticraft.machinelib.api.block.SimpleMachineBlock; import net.minecraft.core.BlockPos; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.Explosion; import net.minecraft.world.level.Level; import net.minecraft.world.level.LevelReader; import net.minecraft.world.level.block.Block; @@ -36,7 +36,7 @@ import net.minecraft.world.level.block.state.BlockState; import org.jetbrains.annotations.Nullable; -public abstract class MultiBlockMachineBlock extends MachineBlock implements MultiBlockBase { +public abstract class MultiBlockMachineBlock extends SimpleMachineBlock implements MultiBlockBase { protected MultiBlockMachineBlock(Properties settings, ResourceLocation factory) { super(settings, factory); } @@ -58,6 +58,18 @@ public BlockState playerWillDestroy(Level world, BlockPos pos, BlockState state, return returnState; } + @Override + public void wasExploded(Level world, BlockPos pos, Explosion explosion) { + for (BlockPos part : this.getOtherParts(world.getBlockState(pos))) { + part = pos.immutable().offset(part); + if (!(world.getBlockEntity(part) instanceof MultiBlockPart)) { + continue; + } + world.removeBlock(part, false); + } + super.wasExploded(world, pos, explosion); + } + @Override public boolean canSurvive(BlockState state, LevelReader world, BlockPos pos) { for (BlockPos otherPart : this.getOtherParts(state)) { diff --git a/src/main/java/dev/galacticraft/mod/api/block/WireBlock.java b/src/main/java/dev/galacticraft/mod/api/block/WireBlock.java index 0d3825a793..b64ece3c52 100644 --- a/src/main/java/dev/galacticraft/mod/api/block/WireBlock.java +++ b/src/main/java/dev/galacticraft/mod/api/block/WireBlock.java @@ -29,7 +29,6 @@ import net.fabricmc.loader.api.FabricLoader; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; -import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.player.Player; import net.minecraft.world.level.Level; @@ -47,15 +46,14 @@ public WireBlock(Properties settings) { } @Override - @Deprecated - public InteractionResult use(BlockState state, Level world, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hit) { - if (!world.isClientSide() && Galacticraft.CONFIG.isDebugLogEnabled() && FabricLoader.getInstance().isDevelopmentEnvironment()) { - BlockEntity entity = world.getBlockEntity(pos); + protected InteractionResult useWithoutItem(BlockState state, Level level, BlockPos pos, Player player, BlockHitResult hit) { + if (!level.isClientSide() && Galacticraft.CONFIG.isDebugLogEnabled() && FabricLoader.getInstance().isDevelopmentEnvironment()) { + BlockEntity entity = level.getBlockEntity(pos); if (entity instanceof Wire wire) { Constant.LOGGER.info("Network: {}", wire.getNetwork()); } } - return super.use(state, world, pos, player, hand, hit); + return super.useWithoutItem(state, level, pos, player, hit); } @Override diff --git a/src/main/java/dev/galacticraft/mod/api/block/entity/AbstractSolarPanelBlockEntity.java b/src/main/java/dev/galacticraft/mod/api/block/entity/AbstractSolarPanelBlockEntity.java index c08b17c47e..afce2ccaf5 100644 --- a/src/main/java/dev/galacticraft/mod/api/block/entity/AbstractSolarPanelBlockEntity.java +++ b/src/main/java/dev/galacticraft/mod/api/block/entity/AbstractSolarPanelBlockEntity.java @@ -25,35 +25,31 @@ import dev.galacticraft.machinelib.api.block.entity.MachineBlockEntity; import dev.galacticraft.machinelib.api.machine.MachineStatus; import dev.galacticraft.machinelib.api.machine.MachineStatuses; -import dev.galacticraft.machinelib.api.machine.MachineType; +import dev.galacticraft.machinelib.api.storage.StorageSpec; +import dev.galacticraft.machinelib.api.util.EnergySource; import dev.galacticraft.mod.machine.GCMachineStatuses; -import dev.galacticraft.mod.screen.SolarPanelMenu; import net.minecraft.core.BlockPos; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.server.level.ServerLevel; -import net.minecraft.server.level.ServerPlayer; import net.minecraft.util.profiling.ProfilerFiller; -import net.minecraft.world.entity.player.Inventory; -import net.minecraft.world.entity.player.Player; -import net.minecraft.world.inventory.AbstractContainerMenu; +import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; public abstract class AbstractSolarPanelBlockEntity extends MachineBlockEntity implements SolarPanel { public static final int CHARGE_SLOT = 0; protected final boolean[] blockage = new boolean[9]; protected int blocked = 0; public long currentEnergyGeneration = 0; + private final EnergySource energySource = new EnergySource(this); - public AbstractSolarPanelBlockEntity(MachineType> type, BlockPos pos, BlockState state) { - super(type, pos, state); + public AbstractSolarPanelBlockEntity(BlockEntityType type, BlockPos pos, BlockState state, StorageSpec spec) { + super(type, pos, state, spec); } @Override public void tickConstant(@NotNull ServerLevel world, @NotNull BlockPos pos, @NotNull BlockState state, @NotNull ProfilerFiller profiler) { profiler.push("charge"); - this.drainPowerToStack(CHARGE_SLOT); + this.drainPowerToSlot(CHARGE_SLOT); profiler.popPush("blockage"); this.blocked = 0; for (int x = -1; x < 2; x++) { //todo: cache? @@ -70,7 +66,7 @@ public void tickConstant(@NotNull ServerLevel world, @NotNull BlockPos pos, @Not @Override public @NotNull MachineStatus tick(@NotNull ServerLevel level, @NotNull BlockPos pos, @NotNull BlockState state, @NotNull ProfilerFiller profiler) { profiler.push("push_energy"); - this.trySpreadEnergy(level, state); + this.energySource.trySpreadEnergy(level, pos, state); profiler.pop(); if (this.blocked >= 9) return GCMachineStatuses.BLOCKED; if (this.energyStorage().isFull()) return MachineStatuses.CAPACITOR_FULL; @@ -94,29 +90,6 @@ public void tickConstant(@NotNull ServerLevel world, @NotNull BlockPos pos, @Not protected abstract long calculateEnergyProduction(long time, double multiplier); - @Nullable - @Override - public AbstractContainerMenu createMenu(int syncId, Inventory inv, Player player) { - if (this.getSecurity().hasAccess(player)) { - return new SolarPanelMenu<>( - syncId, - ((ServerPlayer) player), - this - ); - } - return null; - } - - @Override - public void writeScreenOpeningData(ServerPlayer player, @NotNull FriendlyByteBuf buf) { - super.writeScreenOpeningData(player, buf); - - buf.writeBoolean(this.followsSun()); - buf.writeBoolean(this.nightCollection()); - buf.writeByte(this.getSource().ordinal()); - buf.writeVarLong(this.getCurrentEnergyGeneration()); - } - @Override public boolean @NotNull [] getBlockage() { return this.blockage; diff --git a/src/main/java/dev/galacticraft/mod/api/block/entity/Walkway.java b/src/main/java/dev/galacticraft/mod/api/block/entity/Walkway.java index 410bcb27a8..7f2afa3581 100644 --- a/src/main/java/dev/galacticraft/mod/api/block/entity/Walkway.java +++ b/src/main/java/dev/galacticraft/mod/api/block/entity/Walkway.java @@ -23,13 +23,12 @@ package dev.galacticraft.mod.api.block.entity; import dev.galacticraft.mod.Constant; +import net.minecraft.core.Direction; +import net.minecraft.nbt.CompoundTag; import org.jetbrains.annotations.NotNull; import java.util.Objects; -import net.minecraft.core.Direction; -import net.minecraft.nbt.CompoundTag; - public interface Walkway extends Connected { Direction getDirection(); diff --git a/src/main/java/dev/galacticraft/mod/api/data/recipe/GCRecipeBuilder.java b/src/main/java/dev/galacticraft/mod/api/data/recipe/GCRecipeBuilder.java index 1aaad93ddd..1ed33fa900 100644 --- a/src/main/java/dev/galacticraft/mod/api/data/recipe/GCRecipeBuilder.java +++ b/src/main/java/dev/galacticraft/mod/api/data/recipe/GCRecipeBuilder.java @@ -77,7 +77,7 @@ public void save(RecipeOutput output, ResourceLocation id) { .rewards(AdvancementRewards.Builder.recipe(id)) .requirements(AdvancementRequirements.Strategy.OR); this.criteria.forEach(builder::addCriterion); - output.accept(new ResourceLocation(id.getNamespace(), this.subPath + '/' + id.getPath()), createRecipe(id), builder.build(id.withPrefix("recipes/"))); + output.accept(ResourceLocation.fromNamespaceAndPath(id.getNamespace(), this.subPath + '/' + id.getPath()), createRecipe(id), builder.build(id.withPrefix("recipes/"))); } public abstract Recipe createRecipe(ResourceLocation id); diff --git a/src/main/java/dev/galacticraft/mod/api/data/recipe/ShapelessCompressorRecipeBuilder.java b/src/main/java/dev/galacticraft/mod/api/data/recipe/ShapelessCompressorRecipeBuilder.java index 5dc7339945..dd3459c4de 100644 --- a/src/main/java/dev/galacticraft/mod/api/data/recipe/ShapelessCompressorRecipeBuilder.java +++ b/src/main/java/dev/galacticraft/mod/api/data/recipe/ShapelessCompressorRecipeBuilder.java @@ -115,6 +115,6 @@ public void save(RecipeOutput output, ResourceLocation recipeId) { .rewards(AdvancementRewards.Builder.recipe(recipeId)) .requirements(AdvancementRequirements.Strategy.OR); this.criteria.forEach(builder::addCriterion); - output.accept(new ResourceLocation(recipeId.getNamespace(), "compressing/" + recipeId.getPath()), new ShapelessCompressingRecipe(this.group == null ? "" : this.group, new ItemStack(this.result, count), this.ingredients, 200), builder.build(recipeId.withPrefix("recipes/"))); + output.accept(ResourceLocation.fromNamespaceAndPath(recipeId.getNamespace(), "compressing/" + recipeId.getPath()), new ShapelessCompressingRecipe(this.group == null ? "" : this.group, new ItemStack(this.result, count), this.ingredients, 200), builder.build(recipeId.withPrefix("recipes/"))); } } diff --git a/src/main/java/dev/galacticraft/mod/api/pipe/impl/PipeNetworkImpl.java b/src/main/java/dev/galacticraft/mod/api/pipe/impl/PipeNetworkImpl.java index 79a27927e0..3b72481ba3 100644 --- a/src/main/java/dev/galacticraft/mod/api/pipe/impl/PipeNetworkImpl.java +++ b/src/main/java/dev/galacticraft/mod/api/pipe/impl/PipeNetworkImpl.java @@ -60,7 +60,7 @@ public class PipeNetworkImpl extends SnapshotParticipant { long insert = (long) (requested * ratio); if (insert > 0) { diff --git a/src/main/java/dev/galacticraft/mod/attachments/GCServerPlayer.java b/src/main/java/dev/galacticraft/mod/attachments/GCServerPlayer.java index db92ae0415..eb56a23834 100644 --- a/src/main/java/dev/galacticraft/mod/attachments/GCServerPlayer.java +++ b/src/main/java/dev/galacticraft/mod/attachments/GCServerPlayer.java @@ -26,7 +26,6 @@ import com.mojang.serialization.codecs.RecordCodecBuilder; import dev.galacticraft.api.rocket.RocketData; import net.minecraft.core.NonNullList; -import net.minecraft.nbt.CompoundTag; import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.item.ItemStack; @@ -39,17 +38,10 @@ public class GCServerPlayer { public long fuel; public static final Codec CODEC = RecordCodecBuilder.create(instance -> instance.group( - CompoundTag.CODEC.optionalFieldOf("rocket_data").forGetter(o -> { - if (o.rocketData != null) { - CompoundTag tag = new CompoundTag(); - o.rocketData.toNbt(tag); - return Optional.of(tag); - } - return Optional.empty(); - }), + RocketData.CODEC.optionalFieldOf("rocket_data").forGetter(o -> Optional.ofNullable(o.rocketData)), Codec.LONG.fieldOf("fuel").forGetter(GCServerPlayer::getFuel), ItemStack.CODEC.listOf().fieldOf("rocket_stacks").forGetter(GCServerPlayer::getRocketStacks) - ).apply(instance, GCServerPlayer::new)); + ).apply(instance, (data, fuel, stacks) -> new GCServerPlayer(data.orElse(null), fuel, stacks))); public static GCServerPlayer get(ServerPlayer player) { return player.getAttachedOrCreate(GCAttachments.SERVER_PLAYER, () -> new GCServerPlayer(player)); @@ -59,8 +51,8 @@ public static GCServerPlayer get(ServerPlayer player) { public GCServerPlayer(ServerPlayer player) { } - public GCServerPlayer(Optional data, long fuel, List stacks) { - this.rocketData = data.map(RocketData::fromNbt).orElse(null); + public GCServerPlayer(RocketData data, long fuel, List stacks) { + this.rocketData = data; this.fuel = fuel; this.stacks = NonNullList.of(ItemStack.EMPTY, stacks.toArray(ItemStack[]::new)); } diff --git a/src/main/java/dev/galacticraft/mod/client/gl/BufferWriter.java b/src/main/java/dev/galacticraft/mod/client/gl/BufferWriter.java deleted file mode 100644 index 041ee54dde..0000000000 --- a/src/main/java/dev/galacticraft/mod/client/gl/BufferWriter.java +++ /dev/null @@ -1,135 +0,0 @@ -/* - * Copyright (c) 2019-2024 Team Galacticraft - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -package dev.galacticraft.mod.client.gl; - -import com.google.common.collect.ImmutableList; -import com.mojang.blaze3d.vertex.BufferVertexConsumer; -import com.mojang.blaze3d.vertex.DefaultedVertexConsumer; -import com.mojang.blaze3d.vertex.VertexFormat; -import com.mojang.blaze3d.vertex.VertexFormatElement; -import com.mojang.logging.LogUtils; -import org.jetbrains.annotations.Nullable; -import org.joml.Vector3fc; -import org.joml.Vector4fc; -import org.lwjgl.system.MemoryUtil; -import org.slf4j.Logger; - -import java.nio.ByteBuffer; - -public class BufferWriter extends DefaultedVertexConsumer implements BufferVertexConsumer { - private static final Logger LOGGER = LogUtils.getLogger(); - private static final int FLOAT32_SIZE = 4; - private static final int INT16_SIZE = 2; - private static final int INT32_SIZE = 4; - - private int nextElementByte; - private int vertices; - @Nullable - private VertexFormatElement currentElement; - private int elementIndex; - private VertexFormat format; - ByteBuffer data; - - public BufferWriter(VertexFormat format, int initialSize) { - this.data = MemoryUtil.memAlloc(initialSize); - this.format = format; - this.currentElement = format.getElements().get(0); - } - - public BufferWriter(VertexFormat format) { - this(format, 64); - } - - public void rewind() { - this.data.rewind(); - } - - public void int3(int a, int b, int c) { - this.ensureCapacity(INT32_SIZE * 3); - this.data.putInt(a).putInt(b).putInt(c); - } - - public void free() { - MemoryUtil.memFree(this.data); - } - - private void ensureCapacity(int bytes) { - if (this.data.remaining() >= bytes) return; - this.data = MemoryUtil.memRealloc(this.data, this.data.capacity() * 2); - - LOGGER.debug("Resizing buffer from " + this.data.capacity() + " bytes to " + this.data.capacity() * 2); - } - - @Override - public VertexFormatElement currentElement() { - if (this.currentElement == null) { - throw new IllegalStateException("BufferWriter not started"); - } else { - return this.currentElement; - } - } - - @Override - public void nextElement() { - ImmutableList elements = this.format.getElements(); - this.elementIndex = (this.elementIndex + 1) % elements.size(); - this.nextElementByte += this.currentElement.getByteSize(); - VertexFormatElement vertexFormatElement = elements.get(this.elementIndex); - this.currentElement = vertexFormatElement; - if (vertexFormatElement.getUsage() == VertexFormatElement.Usage.PADDING) { // Why does mojank have this? - this.nextElement(); - } - - if (this.defaultColorSet && this.currentElement.getUsage() == VertexFormatElement.Usage.COLOR) { - BufferVertexConsumer.super.color(this.defaultR, this.defaultG, this.defaultB, this.defaultA); - } - } - - @Override - public void putByte(int index, byte byteValue) { -// this.ensureCapacity(1); - this.data.put(byteValue); - } - - @Override - public void putShort(int index, short shortValue) { -// this.ensureCapacity(INT16_SIZE); - this.data.putShort(shortValue); - } - - @Override - public void putFloat(int index, float floatValue) { -// this.ensureCapacity(FLOAT32_SIZE); - this.data.putFloat(floatValue); - } - - @Override - public void endVertex() { - if (this.elementIndex != 0) { - throw new IllegalStateException("Not filled all elements of the vertex"); - } else { - ++this.vertices; - this.ensureCapacity(format.getVertexSize()); - } - } -} diff --git a/src/main/java/dev/galacticraft/mod/client/gl/GlElementArrayBuffer.java b/src/main/java/dev/galacticraft/mod/client/gl/GlElementArrayBuffer.java deleted file mode 100644 index e6bcc4035c..0000000000 --- a/src/main/java/dev/galacticraft/mod/client/gl/GlElementArrayBuffer.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright (c) 2019-2024 Team Galacticraft - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -package dev.galacticraft.mod.client.gl; - -import static org.lwjgl.opengl.GL45.*; - -public class GlElementArrayBuffer extends GlObject { - - private int eboSize = 0; - - public GlElementArrayBuffer() { - super(glGenBuffers()); - } - - public void bind() { - glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, this.handle); - } - - public void unbind() { - glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); - } - - public void upload(BufferWriter writer, boolean dynamic) { - this.bind(); - - if (writer.data.position() > this.eboSize) { - glBufferData(GL_ELEMENT_ARRAY_BUFFER, writer.data.slice(0, writer.data.position()), dynamic ? GL_DYNAMIC_DRAW : GL_STATIC_DRAW); - this.eboSize = writer.data.position(); - } else { - glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 0, writer.data.slice(0, writer.data.position())); - } - - this.unbind(); - } - - public void delete() { - glDeleteBuffers(this.handle); - } -} \ No newline at end of file diff --git a/src/main/java/dev/galacticraft/mod/client/gl/GlObject.java b/src/main/java/dev/galacticraft/mod/client/gl/GlObject.java deleted file mode 100644 index 2e26f316f5..0000000000 --- a/src/main/java/dev/galacticraft/mod/client/gl/GlObject.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright (c) 2019-2024 Team Galacticraft - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -package dev.galacticraft.mod.client.gl; - -public abstract class GlObject { - protected final int handle; - - public GlObject(int handle) { - this.handle = handle; - } - - public int getHandle() { - return handle; - } -} diff --git a/src/main/java/dev/galacticraft/mod/client/gl/GlVertexArray.java b/src/main/java/dev/galacticraft/mod/client/gl/GlVertexArray.java deleted file mode 100644 index 63115c3fa1..0000000000 --- a/src/main/java/dev/galacticraft/mod/client/gl/GlVertexArray.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright (c) 2019-2024 Team Galacticraft - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -package dev.galacticraft.mod.client.gl; - -import static org.lwjgl.opengl.GL45.*; - -public class GlVertexArray extends GlObject { - - public GlVertexArray() { - super(glGenVertexArrays()); - } - - public void draw(int count) { - this.bind(); - glDrawArrays(GL_TRIANGLES, 0, count); - this.unbind(); - } - - public void bind() { - glBindVertexArray(this.handle); - } - - public void unbind() { - glBindVertexArray(0); - } - - public void delete() { - glDeleteVertexArrays(this.handle); - } -} diff --git a/src/main/java/dev/galacticraft/mod/client/gl/GlVertexBuffer.java b/src/main/java/dev/galacticraft/mod/client/gl/GlVertexBuffer.java deleted file mode 100644 index 677f18482f..0000000000 --- a/src/main/java/dev/galacticraft/mod/client/gl/GlVertexBuffer.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright (c) 2019-2024 Team Galacticraft - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -package dev.galacticraft.mod.client.gl; - -import static org.lwjgl.opengl.GL45.*; - -public class GlVertexBuffer extends GlObject { - - private int vboSize = 0; - - public GlVertexBuffer() { - super(glGenBuffers()); - } - - public void bind() { - glBindBuffer(GL_ARRAY_BUFFER, this.handle); - } - - public void unbind() { - glBindBuffer(GL_ARRAY_BUFFER, 0); - } - - public void upload(BufferWriter writer, boolean dynamic) { - this.bind(); - - if (writer.data.position() > this.vboSize) { - glBufferData(GL_ARRAY_BUFFER, writer.data.slice(0, writer.data.position()), dynamic ? GL_DYNAMIC_DRAW : GL_STATIC_DRAW); - this.vboSize = writer.data.position(); - } else { - glBufferSubData(GL_ARRAY_BUFFER, 0, writer.data.slice(0, writer.data.position())); - } - - this.unbind(); - } - - public void delete() { - glDeleteBuffers(this.handle); - } -} \ No newline at end of file diff --git a/src/main/java/dev/galacticraft/mod/client/gl/MeshBuffer.java b/src/main/java/dev/galacticraft/mod/client/gl/MeshBuffer.java deleted file mode 100644 index ec739e2f5b..0000000000 --- a/src/main/java/dev/galacticraft/mod/client/gl/MeshBuffer.java +++ /dev/null @@ -1,161 +0,0 @@ -/* - * Copyright (c) 2019-2024 Team Galacticraft - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -package dev.galacticraft.mod.client.gl; - -import com.mojang.blaze3d.platform.GlConst; -import com.mojang.blaze3d.platform.GlStateManager; -import com.mojang.blaze3d.platform.Window; -import com.mojang.blaze3d.systems.RenderSystem; -import com.mojang.blaze3d.vertex.BufferUploader; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexBuffer; -import com.mojang.blaze3d.vertex.VertexFormat; -import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.ShaderInstance; -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL30; - -/** - * More flexible version of {@link com.mojang.blaze3d.vertex.VertexBuffer} - */ -public class MeshBuffer { - private GlVertexBuffer vbo; - private GlElementArrayBuffer ebo; - private GlVertexArray vao; - private final VertexFormat format; - public final BufferWriter buffer; - public final BufferWriter indicesBuffer; - - public MeshBuffer(VertexFormat format) { - RenderSystem.assertOnRenderThread(); - this.vbo = new GlVertexBuffer(); - this.vao = new GlVertexArray(); - this.ebo = new GlElementArrayBuffer(); - - this.format = format; - - this.buffer = new BufferWriter(format, 786432); - this.indicesBuffer = new BufferWriter(format, 786432); - } - - public void upload(boolean dynamic) { - this.vbo.bind(); - this.vao.bind(); - this.ebo.bind(); - format.setupBufferState(); - - this.vbo.upload(this.buffer, dynamic); - this.ebo.upload(this.indicesBuffer, dynamic); - } - - /** - * Render this mesh to the screen. - * @param mode The current vertex mode to use (avoid using {@link GL11#GL_QUADS} and {@link GL11#GL_QUAD_STRIP} as they are deprecated) - * @param modelMatrix The models transform to use in the shader - */ - public void draw(int mode, PoseStack modelMatrix, ShaderInstance shader) { - this.vao.bind(); - for(int i = 0; i < 12; ++i) { - int j = RenderSystem.getShaderTexture(i); - shader.setSampler("Sampler" + i, j); - } - - if (shader.MODEL_VIEW_MATRIX != null) { - shader.MODEL_VIEW_MATRIX.set(modelMatrix.last().pose()); - } - - if (shader.PROJECTION_MATRIX != null) { - shader.PROJECTION_MATRIX.set(RenderSystem.getProjectionMatrix()); - } - - if (shader.INVERSE_VIEW_ROTATION_MATRIX != null) { - shader.INVERSE_VIEW_ROTATION_MATRIX.set(RenderSystem.getInverseViewRotationMatrix()); - } - - if (shader.COLOR_MODULATOR != null) { - shader.COLOR_MODULATOR.set(RenderSystem.getShaderColor()); - } - - if (shader.GLINT_ALPHA != null) { - shader.GLINT_ALPHA.set(RenderSystem.getShaderGlintAlpha()); - } - - if (shader.FOG_START != null) { - shader.FOG_START.set(RenderSystem.getShaderFogStart()); - } - - if (shader.FOG_END != null) { - shader.FOG_END.set(RenderSystem.getShaderFogEnd()); - } - - if (shader.FOG_COLOR != null) { - shader.FOG_COLOR.set(RenderSystem.getShaderFogColor()); - } - - if (shader.FOG_SHAPE != null) { - shader.FOG_SHAPE.set(RenderSystem.getShaderFogShape().getIndex()); - } - - if (shader.TEXTURE_MATRIX != null) { - shader.TEXTURE_MATRIX.set(RenderSystem.getTextureMatrix()); - } - - if (shader.GAME_TIME != null) { - shader.GAME_TIME.set(RenderSystem.getShaderGameTime()); - } - - if (shader.SCREEN_SIZE != null) { - Window window = Minecraft.getInstance().getWindow(); - shader.SCREEN_SIZE.set((float)window.getWidth(), (float)window.getHeight()); - } - - if (shader.LINE_WIDTH != null && (mode == GlConst.GL_LINES || mode == GlConst.GL_LINE_STRIP)) { - shader.LINE_WIDTH.set(RenderSystem.getShaderLineWidth()); - } - - RenderSystem.setupShaderLights(shader); - shader.apply(); - - this.ebo.bind(); - RenderSystem.drawElements(mode, this.indicesBuffer.data.position() / 4, GlConst.GL_UNSIGNED_INT); - shader.clear(); - this.vao.unbind(); - } - - /** - * Render this mesh to the screen. - * @param modelMatrix The models transform to use in the shader - */ - public void draw(PoseStack modelMatrix, ShaderInstance shader) { -// RenderSystem.setShader(() -> shader); - draw(GlConst.GL_TRIANGLES, modelMatrix, shader); - } - - public void delete() { - this.vao.delete(); - this.ebo.delete(); - this.vbo.delete(); - this.buffer.free(); - this.indicesBuffer.free(); - } -} diff --git a/src/main/java/dev/galacticraft/mod/client/gui/overlay/CountdownOverlay.java b/src/main/java/dev/galacticraft/mod/client/gui/overlay/CountdownOverlay.java index 8726d186f8..64de610d62 100644 --- a/src/main/java/dev/galacticraft/mod/client/gui/overlay/CountdownOverlay.java +++ b/src/main/java/dev/galacticraft/mod/client/gui/overlay/CountdownOverlay.java @@ -24,12 +24,13 @@ import dev.galacticraft.api.rocket.LaunchStage; import dev.galacticraft.mod.content.entity.orbital.RocketEntity; +import net.minecraft.client.DeltaTracker; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.util.FastColor; public class CountdownOverlay { - public static void renderCountdown(GuiGraphics graphics, float tickDelta) { + public static void renderCountdown(GuiGraphics graphics, DeltaTracker delta) { Minecraft mc = Minecraft.getInstance(); if (mc.player.getVehicle() instanceof RocketEntity rocket && rocket.getLaunchStage() == LaunchStage.IGNITED) { int count = (int) Math.floor(((float) rocket.getTimeAsState()) / 20.0f); diff --git a/src/main/java/dev/galacticraft/mod/client/gui/overlay/LanderOverlay.java b/src/main/java/dev/galacticraft/mod/client/gui/overlay/LanderOverlay.java index 8937700343..0198285eef 100644 --- a/src/main/java/dev/galacticraft/mod/client/gui/overlay/LanderOverlay.java +++ b/src/main/java/dev/galacticraft/mod/client/gui/overlay/LanderOverlay.java @@ -25,6 +25,7 @@ import com.mojang.blaze3d.platform.Window; import dev.galacticraft.mod.content.entity.orbital.lander.LanderEntity; import dev.galacticraft.mod.util.Translations; +import net.minecraft.client.DeltaTracker; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.network.chat.Component; @@ -33,7 +34,7 @@ public class LanderOverlay { private static long tickCount; - public static void onRenderHud(GuiGraphics graphics, float tickDelta) { + public static void onRenderHud(GuiGraphics graphics, DeltaTracker delta) { Minecraft mc = Minecraft.getInstance(); final Window scaledresolution = mc.getWindow(); final int width = scaledresolution.getGuiScaledWidth(); diff --git a/src/main/java/dev/galacticraft/mod/client/gui/overlay/OxygenOverlay.java b/src/main/java/dev/galacticraft/mod/client/gui/overlay/OxygenOverlay.java index e69b29748d..4452c9c604 100644 --- a/src/main/java/dev/galacticraft/mod/client/gui/overlay/OxygenOverlay.java +++ b/src/main/java/dev/galacticraft/mod/client/gui/overlay/OxygenOverlay.java @@ -24,8 +24,6 @@ import dev.galacticraft.api.gas.Gases; import dev.galacticraft.api.universe.celestialbody.CelestialBody; -import dev.galacticraft.api.universe.celestialbody.CelestialBodyConfig; -import dev.galacticraft.api.universe.celestialbody.landable.Landable; import dev.galacticraft.machinelib.api.util.StorageHelper; import dev.galacticraft.mod.Constant; import dev.galacticraft.mod.util.DrawableUtil; @@ -33,16 +31,18 @@ import net.fabricmc.fabric.api.transfer.v1.fluid.FluidStorage; import net.fabricmc.fabric.api.transfer.v1.fluid.FluidVariant; import net.fabricmc.fabric.api.transfer.v1.storage.Storage; +import net.minecraft.client.DeltaTracker; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.core.Holder; import net.minecraft.world.Container; public class OxygenOverlay { - public static void onHudRender(GuiGraphics graphics, float tickDelta) { + public static void onHudRender(GuiGraphics graphics, DeltaTracker delta) { Minecraft mc = Minecraft.getInstance(); if (mc.level != null && mc.player != null && !mc.player.isSpectator()) { - CelestialBody> body = CelestialBody.getByDimension(mc.level).orElse(null); - if (body != null && !body.atmosphere().breathable()) { + Holder> body = mc.level.galacticraft$getCelestialBody(); + if (body != null && !body.value().atmosphere().breathable()) { Container inv = mc.player.galacticraft$getOxygenTanks(); final int y = 4; for (int i = 0; i < inv.getContainerSize(); i++) { @@ -55,8 +55,8 @@ public static void onHudRender(GuiGraphics graphics, float tickDelta) { long capacity = 1; if (storage != null) { - amount = StorageHelper.calculateAmount(FluidVariant.of(Gases.OXYGEN), storage, null); - capacity = StorageHelper.calculateCapacity(FluidVariant.of(Gases.OXYGEN), storage, null); + amount = StorageHelper.calculateAmount(FluidVariant.of(Gases.OXYGEN), storage); + capacity = StorageHelper.theoreticalCapacity(storage); } else if (mc.player.isCreative()) { amount = capacity; } diff --git a/src/main/java/dev/galacticraft/mod/client/gui/overlay/RocketOverlay.java b/src/main/java/dev/galacticraft/mod/client/gui/overlay/RocketOverlay.java index 1f3c93cca8..a3da95fb3a 100644 --- a/src/main/java/dev/galacticraft/mod/client/gui/overlay/RocketOverlay.java +++ b/src/main/java/dev/galacticraft/mod/client/gui/overlay/RocketOverlay.java @@ -27,6 +27,7 @@ import com.mojang.math.Axis; import dev.galacticraft.mod.Constant; import dev.galacticraft.mod.content.entity.orbital.RocketEntity; +import net.minecraft.client.DeltaTracker; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.renderer.GameRenderer; @@ -58,7 +59,7 @@ protected static int getPlayerPositionY(Player player) return (int) Math.floor(player.getY()); } - public static void onHudRender(GuiGraphics graphics, float tickDelta) { + public static void onHudRender(GuiGraphics graphics, DeltaTracker delta) { Minecraft mc = Minecraft.getInstance(); if (playerHead == null) { playerHead = mc.getSkinManager().getInsecureSkin(mc.player.getGameProfile()).texture(); @@ -80,15 +81,13 @@ public static void onHudRender(GuiGraphics graphics, float tickDelta) { float var8 = 1.0F; float sizeScale = 0.65F; - final Tesselator tess = Tesselator.getInstance(); - BufferBuilder worldRenderer = tess.getBuilder(); + BufferBuilder buffer = Tesselator.getInstance().begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX); RenderSystem.setShader(GameRenderer::getPositionTexShader); - worldRenderer.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX); - worldRenderer.vertex(var1 + 0, var2 + 242.0F * sizeScale, 0.0).uv((var3 + 0) * var7, (var4 + var6) * var8).endVertex(); - worldRenderer.vertex(var1 + 20.0F * sizeScale, var2 + 242.0F * sizeScale, 0.0).uv((var3 + var5) * var7, (var4 + var6) * var8).endVertex(); - worldRenderer.vertex(var1 + 20.0F * sizeScale, var2 + 0, 0.0).uv((var3 + var5) * var7, (var4 + 0) * var8).endVertex(); - worldRenderer.vertex(var1 + 0, var2 + 0, 0.0).uv((var3 + 0) * var7, (var4 + 0) * var8).endVertex(); - BufferUploader.drawWithShader(worldRenderer.end()); + buffer.addVertex(var1 + 0, var2 + 242.0F * sizeScale, 0.0F).setUv((var3 + 0) * var7, (var4 + var6) * var8) + .addVertex(var1 + 20.0F * sizeScale, var2 + 242.0F * sizeScale, 0.0F).setUv((var3 + var5) * var7, (var4 + var6) * var8) + .addVertex(var1 + 20.0F * sizeScale, var2 + 0, 0.0F).setUv((var3 + var5) * var7, (var4 + 0) * var8) + .addVertex(var1 + 0, var2 + 0, 0.0F).setUv((var3 + 0) * var7, (var4 + 0) * var8); + BufferUploader.drawWithShader(buffer.buildOrThrow()); RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, 1.0F); @@ -118,7 +117,7 @@ public static void onHudRender(GuiGraphics graphics, float tickDelta) { try { MultiBufferSource.BufferSource source = Minecraft.getInstance().renderBuffers().bufferSource(); - spaceshipRender.render(rocketEntity, rocketEntity.getYRot(), tickDelta, graphics.pose(), source, LightTexture.FULL_BRIGHT); + spaceshipRender.render(rocketEntity, rocketEntity.getYRot(), delta.getGameTimeDeltaTicks(), graphics.pose(), source, LightTexture.FULL_BRIGHT); source.endBatch(); } catch (Exception e) { e.printStackTrace(); @@ -132,20 +131,20 @@ public static void onHudRender(GuiGraphics graphics, float tickDelta) { graphics.pose().translate(0F, -12F + headOffset, 60F); RenderSystem.setShader(GameRenderer::getPositionTexShader); - worldRenderer.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX); - worldRenderer.vertex(var1 + 0, var2 + var6 - 10, 0.0).uv((var3 + 0) * var7, (var4 + var6) * var8).endVertex(); - worldRenderer.vertex(var1 + var5, var2 + var6 - 10, 0.0).uv((var3 + var5) * var7, (var4 + var6) * var8).endVertex(); - worldRenderer.vertex(var1 + var5, var2 - 10, 0.0).uv((var3 + var5) * var7, (var4 + 0) * var8).endVertex(); - worldRenderer.vertex(var1 + 0, var2 - 10, 0.0).uv((var3 + 0) * var7, (var4 + 0) * var8).endVertex(); - BufferUploader.drawWithShader(worldRenderer.end()); + buffer = Tesselator.getInstance().begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX); + buffer.addVertex(var1 + 0, var2 + var6 - 10, 0.0F).setUv((var3 + 0) * var7, (var4 + var6) * var8) + .addVertex(var1 + var5, var2 + var6 - 10, 0.0F).setUv((var3 + var5) * var7, (var4 + var6) * var8) + .addVertex(var1 + var5, var2 - 10, 0.0F).setUv((var3 + var5) * var7, (var4 + 0) * var8) + .addVertex(var1 + 0, var2 - 10, 0.0F).setUv((var3 + 0) * var7, (var4 + 0) * var8); + BufferUploader.drawWithShader(buffer.buildOrThrow()); RenderSystem.setShader(GameRenderer::getPositionTexShader); - worldRenderer.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX); - worldRenderer.vertex(var1 + 0, var2 + var6, 0.0).uv((var3b + 0) * var7, (var4 + var6) * var8).endVertex(); - worldRenderer.vertex(var1 + var5, var2 + var6, 0.0).uv((var3b + var5) * var7, (var4 + var6) * var8).endVertex(); - worldRenderer.vertex(var1 + var5, var2 + 0, 0.0).uv((var3b + var5) * var7, (var4 + 0) * var8).endVertex(); - worldRenderer.vertex(var1 + 0, var2 + 0, 0.0).uv((var3b + 0) * var7, (var4 + 0) * var8).endVertex(); - BufferUploader.drawWithShader(worldRenderer.end()); + buffer = Tesselator.getInstance().begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX); + buffer.addVertex(var1 + 0, var2 + var6, 0.0F).setUv((var3b + 0) * var7, (var4 + var6) * var8) + .addVertex(var1 + var5, var2 + var6, 0.0F).setUv((var3b + var5) * var7, (var4 + var6) * var8) + .addVertex(var1 + var5, var2 + 0, 0.0F).setUv((var3b + var5) * var7, (var4 + 0) * var8) + .addVertex(var1 + 0, var2 + 0, 0.0F).setUv((var3b + 0) * var7, (var4 + 0) * var8); + BufferUploader.drawWithShader(buffer.buildOrThrow()); RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, 1.0F); RenderSystem.disableBlend(); diff --git a/src/main/java/dev/galacticraft/mod/client/gui/screen/ingame/CelestialScreen.java b/src/main/java/dev/galacticraft/mod/client/gui/screen/ingame/CelestialScreen.java index 1fcc17a852..9f846cc6c3 100644 --- a/src/main/java/dev/galacticraft/mod/client/gui/screen/ingame/CelestialScreen.java +++ b/src/main/java/dev/galacticraft/mod/client/gui/screen/ingame/CelestialScreen.java @@ -530,7 +530,7 @@ public void drawCelestialBodies(GuiGraphics graphics, double mouseX, double mous this.setupMatrix(body, matrices, moon ? 0.25F : 1.0F, delta); CelestialDisplay display = body.display(); RenderSystem.setShaderColor(1.0f, 1.0f, 1.0f, alpha); - Vector4f vector4f = display.render(graphics, Tesselator.getInstance().getBuilder(), getWidthForCelestialBody(body), mouseX, mouseY, delta); + Vector4f vector4f = display.render(graphics, Tesselator.getInstance(), getWidthForCelestialBody(body), mouseX, mouseY, delta); Matrix4f planetMatrix = matrices.last().pose(); Matrix4f matrix0 = RenderSystem.getProjectionMatrix().mul(planetMatrix, planetMatrix); @@ -597,18 +597,17 @@ public void setIsometric(float delta, PoseStack matrices) { */ public void drawGrid(GuiGraphics graphics, float gridSize, float gridScale) { RenderSystem.depthMask(false); - VertexConsumer vertexConsumer = graphics.bufferSource().getBuffer(RenderType.LINES); + VertexConsumer buffer = graphics.bufferSource().getBuffer(RenderType.LINES); Matrix4f model = graphics.pose().last().pose(); RenderSystem.lineWidth(2.0f); gridSize += gridScale / 2.0f; for (float v = -gridSize; v <= gridSize; v += gridScale) { - vertexConsumer.vertex(model, v, -gridSize, 0).color(0, 51, 127, 140).normal(1.0f, 1.0f, 1.0f).endVertex(); - vertexConsumer.vertex(model, v, gridSize, 0).color(0, 51, 127, 140).normal(1.0f, 1.0f, 1.0f).endVertex(); - - vertexConsumer.vertex(model, -gridSize, v, 0).color(0, 51, 127, 140).normal(1.0f, 0.0f, 1.0f).endVertex(); - vertexConsumer.vertex(model, gridSize, v, 0).color(0, 51, 127, 140).normal(1.0f, 0.0f, 1.0f).endVertex(); + buffer.addVertex(model, v, -gridSize, 0).setColor(0, 51, 127, 140).setNormal(1.0f, 1.0f, 1.0f) + .addVertex(model, v, gridSize, 0).setColor(0, 51, 127, 140).setNormal(1.0f, 1.0f, 1.0f) + .addVertex(model, -gridSize, v, 0).setColor(0, 51, 127, 140).setNormal(1.0f, 0.0f, 1.0f) + .addVertex(model, gridSize, v, 0).setColor(0, 51, 127, 140).setNormal(1.0f, 0.0f, 1.0f); } graphics.bufferSource().endBatch(); @@ -627,7 +626,7 @@ public void drawOrbitRings(GuiGraphics graphics, double mouseX, double mouseY, f if (body.parent() != null) { systemOffset = getCelestialBodyPosition(body.parent().value(), delta); } - if (body.ring().render(body, graphics, count, systemOffset, getAlpha(body), lineScale(body), mouseX, mouseY, delta, RenderSystem::setShader)) + if (body.ring().render(body, graphics, count, systemOffset, getAlpha(body), lineScale(body), mouseX, mouseY, delta)) count++; } RenderSystem.lineWidth(1.0f); diff --git a/src/main/java/dev/galacticraft/mod/client/gui/screen/ingame/CelestialSelectionScreen.java b/src/main/java/dev/galacticraft/mod/client/gui/screen/ingame/CelestialSelectionScreen.java index f4f39096f6..7b100eb565 100644 --- a/src/main/java/dev/galacticraft/mod/client/gui/screen/ingame/CelestialSelectionScreen.java +++ b/src/main/java/dev/galacticraft/mod/client/gui/screen/ingame/CelestialSelectionScreen.java @@ -36,13 +36,13 @@ import dev.galacticraft.impl.universe.position.config.SatelliteConfig; import dev.galacticraft.mod.Constant; import dev.galacticraft.mod.client.util.Graphics; +import dev.galacticraft.mod.network.c2s.PlanetTeleportPayload; +import dev.galacticraft.mod.network.c2s.SatelliteCreationPayload; import dev.galacticraft.mod.util.Translations; import it.unimi.dsi.fastutil.ints.Int2ObjectMap; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; -import net.fabricmc.fabric.api.networking.v1.PacketByteBufs; -import net.minecraft.SharedConstants; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.screens.Screen; import net.minecraft.client.resources.language.I18n; @@ -50,6 +50,7 @@ import net.minecraft.network.chat.contents.TranslatableContents; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.FastColor; +import net.minecraft.util.StringUtil; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.Ingredient; import org.jetbrains.annotations.Nullable; @@ -267,7 +268,7 @@ public boolean keyPressed(int key, int scanCode, int modifiers) { @Override public boolean charTyped(char character, int modifiers) { - if (this.renamingSpaceStation && SharedConstants.isAllowedChatCharacter(character)) { + if (this.renamingSpaceStation && StringUtil.isAllowedChatCharacter(character)) { this.renamingString = this.renamingString + character; this.renamingString = this.renamingString.substring(0, Math.min(this.renamingString.length(), MAX_SPACE_STATION_NAME_LENGTH)); return true; @@ -277,7 +278,7 @@ public boolean charTyped(char character, int modifiers) { } public boolean isValid(String string) { - return !string.isEmpty() && SharedConstants.isAllowedChatCharacter(string.charAt(string.length() - 1)); + return !string.isEmpty() && StringUtil.isAllowedChatCharacter(string.charAt(string.length() - 1)); } protected boolean canCreateSpaceStation(CelestialBody atBody) { @@ -321,7 +322,7 @@ protected void teleportToSelectedBody() { if (this.data == null || this.data.canTravel(manager, this.fromBody, this.selectedBody)) { try { assert this.minecraft != null; - ClientPlayNetworking.send(Constant.Packet.PLANET_TP, PacketByteBufs.create().writeResourceLocation(celestialBodies.getKey(this.selectedBody))); + ClientPlayNetworking.send(new PlanetTeleportPayload(celestialBodies.getKey(this.selectedBody))); this.minecraft.setScreen(new SpaceTravelScreen(isSatellite(selectedBody) ? ((Satellite) this.selectedBody.type()).getCustomName(this.selectedBody.config()).getString() : ((TranslatableContents)this.selectedBody.name().getContents()).getKey(), ((Landable) this.selectedBody.type()).world(this.selectedBody.config()))); } catch (Exception e) { e.printStackTrace(); @@ -361,7 +362,7 @@ public boolean mouseClicked(double x, double y, int button) { if (recipe.test(this.minecraft.player.getInventory()) || this.minecraft.player.getAbilities().instabuild) { // GalacticraftCore.packetPipeline.sendToServer(new PacketSimple(EnumSimplePacket.S_BIND_SPACE_STATION_ID, GCCoreUtil.getWorld(this.minecraft.level), new Object[]{this.selectedBody.getWorld()})); - ClientPlayNetworking.send(Constant.Packet.CREATE_SATELLITE, PacketByteBufs.create().writeResourceLocation(celestialBodies.getKey(this.selectedBody))); + ClientPlayNetworking.send(new SatelliteCreationPayload(celestialBodies.getHolderOrThrow(celestialBodies.getResourceKey(this.selectedBody).get()))); //Zoom in on planet to show the new SpaceStation if not already zoomed if (!this.isZoomed()) { diff --git a/src/main/java/dev/galacticraft/mod/client/gui/screen/ingame/CircuitFabricatorScreen.java b/src/main/java/dev/galacticraft/mod/client/gui/screen/ingame/CircuitFabricatorScreen.java index fec7780193..5c96fa28b8 100644 --- a/src/main/java/dev/galacticraft/mod/client/gui/screen/ingame/CircuitFabricatorScreen.java +++ b/src/main/java/dev/galacticraft/mod/client/gui/screen/ingame/CircuitFabricatorScreen.java @@ -34,11 +34,11 @@ import net.fabricmc.api.Environment; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.network.chat.Component; -import net.minecraft.world.Container; import net.minecraft.world.entity.player.Inventory; +import net.minecraft.world.item.crafting.RecipeInput; @Environment(EnvType.CLIENT) -public class CircuitFabricatorScreen extends MachineScreen> { +public class CircuitFabricatorScreen extends MachineScreen> { private static final int PROGRESS_SIZE = 4; private static final int INITIAL_PROGRESS_U = 0; private static final int INITIAL_PROGRESS_V = 186; @@ -74,7 +74,7 @@ public class CircuitFabricatorScreen extends MachineScreen handler, Inventory inv, Component title) { + public CircuitFabricatorScreen(RecipeMachineMenu handler, Inventory inv, Component title) { super(handler, title, Constant.ScreenTexture.CIRCUIT_FABRICATOR_SCREEN); this.imageHeight = 176; diff --git a/src/main/java/dev/galacticraft/mod/client/gui/screen/ingame/ElectricArcFurnaceScreen.java b/src/main/java/dev/galacticraft/mod/client/gui/screen/ingame/ElectricArcFurnaceScreen.java index db94c27239..a62b301608 100644 --- a/src/main/java/dev/galacticraft/mod/client/gui/screen/ingame/ElectricArcFurnaceScreen.java +++ b/src/main/java/dev/galacticraft/mod/client/gui/screen/ingame/ElectricArcFurnaceScreen.java @@ -29,11 +29,11 @@ import dev.galacticraft.mod.util.DrawableUtil; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.network.chat.Component; -import net.minecraft.world.Container; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.item.crafting.BlastingRecipe; +import net.minecraft.world.item.crafting.SingleRecipeInput; -public class ElectricArcFurnaceScreen extends MachineScreen> { +public class ElectricArcFurnaceScreen extends MachineScreen> { private static final int ARROW_X = 68; private static final int ARROW_Y = 35; private static final int ARROW_U = 176; @@ -41,7 +41,7 @@ public class ElectricArcFurnaceScreen extends MachineScreen handler, Inventory inv, Component title) { + public ElectricArcFurnaceScreen(RecipeMachineMenu handler, Inventory inv, Component title) { super(handler, title, Constant.ScreenTexture.ELECTRIC_ARC_FURNACE_SCREEN); } diff --git a/src/main/java/dev/galacticraft/mod/client/gui/screen/ingame/ElectricCompressorScreen.java b/src/main/java/dev/galacticraft/mod/client/gui/screen/ingame/ElectricCompressorScreen.java index 92499e2112..3368e17073 100644 --- a/src/main/java/dev/galacticraft/mod/client/gui/screen/ingame/ElectricCompressorScreen.java +++ b/src/main/java/dev/galacticraft/mod/client/gui/screen/ingame/ElectricCompressorScreen.java @@ -34,10 +34,10 @@ import net.minecraft.client.gui.GuiGraphics; import net.minecraft.network.chat.Component; import net.minecraft.world.entity.player.Inventory; -import net.minecraft.world.inventory.CraftingContainer; +import net.minecraft.world.item.crafting.CraftingInput; @Environment(EnvType.CLIENT) -public class ElectricCompressorScreen extends MachineScreen> { +public class ElectricCompressorScreen extends MachineScreen> { private static final int PROGRESS_U = 177; private static final int PROGRESS_V = 0; private static final int PROGRESS_X = 87; @@ -45,7 +45,7 @@ public class ElectricCompressorScreen extends MachineScreen handler, Inventory inv, Component title) { + public ElectricCompressorScreen(RecipeMachineMenu handler, Inventory inv, Component title) { super(handler, title, Constant.ScreenTexture.ELECTRIC_COMPRESSOR_SCREEN); } diff --git a/src/main/java/dev/galacticraft/mod/client/gui/screen/ingame/ElectricFurnaceScreen.java b/src/main/java/dev/galacticraft/mod/client/gui/screen/ingame/ElectricFurnaceScreen.java index 7807562564..579bef18fc 100644 --- a/src/main/java/dev/galacticraft/mod/client/gui/screen/ingame/ElectricFurnaceScreen.java +++ b/src/main/java/dev/galacticraft/mod/client/gui/screen/ingame/ElectricFurnaceScreen.java @@ -29,11 +29,11 @@ import dev.galacticraft.mod.util.DrawableUtil; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.network.chat.Component; -import net.minecraft.world.Container; import net.minecraft.world.entity.player.Inventory; +import net.minecraft.world.item.crafting.SingleRecipeInput; import net.minecraft.world.item.crafting.SmeltingRecipe; -public class ElectricFurnaceScreen extends MachineScreen> { +public class ElectricFurnaceScreen extends MachineScreen> { private static final int ARROW_X = 74; private static final int ARROW_Y = 34; private static final int ARROW_U = 176; @@ -41,7 +41,7 @@ public class ElectricFurnaceScreen extends MachineScreen handler, Inventory inv, Component title) { + public ElectricFurnaceScreen(RecipeMachineMenu handler, Inventory inv, Component title) { super(handler, title, Constant.ScreenTexture.ELECTRIC_FURNACE_SCREEN); } diff --git a/src/main/java/dev/galacticraft/mod/client/gui/screen/ingame/FuelLoaderScreen.java b/src/main/java/dev/galacticraft/mod/client/gui/screen/ingame/FuelLoaderScreen.java index 577a82b7f4..a98566d622 100644 --- a/src/main/java/dev/galacticraft/mod/client/gui/screen/ingame/FuelLoaderScreen.java +++ b/src/main/java/dev/galacticraft/mod/client/gui/screen/ingame/FuelLoaderScreen.java @@ -67,9 +67,9 @@ public FuelLoaderScreen(FuelLoaderMenu handler, Inventory inv, Component title) protected void renderMachineBackground(GuiGraphics graphics, int mouseX, int mouseY, float delta) { super.renderMachineBackground(graphics, mouseX, mouseY, delta); - FluidResourceSlot slot = this.menu.fluidStorage.getSlot(FuelLoaderBlockEntity.FUEL_TANK); + FluidResourceSlot slot = this.menu.fluidStorage.slot(FuelLoaderBlockEntity.FUEL_TANK); if (!slot.isEmpty()) { - GraphicsUtil.drawFluid(graphics, this.leftPos + 69, this.topPos + 8, TANK_OVERLAY_WIDTH, TANK_OVERLAY_HEIGHT, slot.getCapacity(), FluidVariant.of(slot.getResource(), slot.getTag()), slot.getAmount()); + GraphicsUtil.drawFluid(graphics, this.leftPos + 69, this.topPos + 8, TANK_OVERLAY_WIDTH, TANK_OVERLAY_HEIGHT, slot.getCapacity(), FluidVariant.of(slot.getResource(), slot.getComponents()), slot.getAmount()); graphics.blit(Constant.ScreenTexture.FUEL_LOADER_SCREEN, this.leftPos + 69, this.topPos + 8, TANK_OVERLAY_U, TANK_OVERLAY_V, TANK_OVERLAY_WIDTH, TANK_OVERLAY_HEIGHT); } @@ -89,8 +89,8 @@ public void renderTooltip(GuiGraphics graphics, int mouseX, int mouseY) { super.renderTooltip(graphics, mouseX, mouseY); List list = new ArrayList<>(); if (DrawableUtil.isWithin(mouseX, mouseY, this.leftPos + 69, this.topPos + 17, TANK_OVERLAY_WIDTH, TANK_OVERLAY_HEIGHT)) { - FluidResourceSlot slot = this.menu.fluidStorage.getSlot(FuelLoaderBlockEntity.FUEL_TANK); - DisplayUtil.createFluidTooltip(list, slot.getResource(), slot.getTag(), slot.getAmount(), slot.getCapacity()); + FluidResourceSlot slot = this.menu.fluidStorage.slot(FuelLoaderBlockEntity.FUEL_TANK); + DisplayUtil.createFluidTooltip(list, slot.getResource(), slot.getComponents(), slot.getAmount(), slot.getCapacity()); } else if (DrawableUtil.isWithin(mouseX, mouseY, this.leftPos + 145, this.topPos + 37, ROCKET_FACE_WIDTH, ROCKET_FACE_HEIGHT)) { DisplayUtil.createFluidTooltip(list, GCFluids.FUEL, null, this.menu.rocketAmount, this.menu.rocketCapacity); } diff --git a/src/main/java/dev/galacticraft/mod/client/gui/screen/ingame/OxygenBubbleDistributorScreen.java b/src/main/java/dev/galacticraft/mod/client/gui/screen/ingame/OxygenBubbleDistributorScreen.java index 80f2a8e54f..1f54a44278 100644 --- a/src/main/java/dev/galacticraft/mod/client/gui/screen/ingame/OxygenBubbleDistributorScreen.java +++ b/src/main/java/dev/galacticraft/mod/client/gui/screen/ingame/OxygenBubbleDistributorScreen.java @@ -26,8 +26,8 @@ import dev.galacticraft.machinelib.client.api.screen.MachineScreen; import dev.galacticraft.mod.Constant; import dev.galacticraft.mod.content.block.entity.machine.OxygenBubbleDistributorBlockEntity; -import dev.galacticraft.mod.network.packets.BubbleMaxPacket; -import dev.galacticraft.mod.network.packets.ToggleBubbleVisibilityPacket; +import dev.galacticraft.mod.network.c2s.BubbleMaxPayload; +import dev.galacticraft.mod.network.c2s.BubbleVisibilityPayload; import dev.galacticraft.mod.screen.OxygenBubbleDistributorMenu; import dev.galacticraft.mod.util.DrawableUtil; import dev.galacticraft.mod.util.Translations; @@ -138,7 +138,7 @@ private boolean checkClick(double mouseX, double mouseY, int button) { if (button == 0) { if (DrawableUtil.isWithin(mouseX, mouseY, this.leftPos + 156, this.topPos + 16, Constant.TextureCoordinate.BUTTON_WIDTH, Constant.TextureCoordinate.BUTTON_HEIGHT)) { this.menu.bubbleVisible = ! this.menu.bubbleVisible; - ClientPlayNetworking.send(new ToggleBubbleVisibilityPacket(this.menu.bubbleVisible)); + ClientPlayNetworking.send(new BubbleVisibilityPayload(this.menu.bubbleVisible)); return true; } @@ -146,7 +146,7 @@ private boolean checkClick(double mouseX, double mouseY, int button) { if (this.menu.targetSize != Byte.MAX_VALUE) { this.menu.targetSize = ((byte) (this.menu.targetSize + 1)); textField.setValue(String.valueOf(this.menu.targetSize)); - ClientPlayNetworking.send(new BubbleMaxPacket(this.menu.targetSize)); + ClientPlayNetworking.send(new BubbleMaxPayload(this.menu.targetSize)); return true; } } @@ -155,7 +155,7 @@ private boolean checkClick(double mouseX, double mouseY, int button) { if (this.menu.targetSize > 1) { this.menu.targetSize = (byte) (this.menu.targetSize - 1); textField.setValue(String.valueOf(this.menu.targetSize)); - ClientPlayNetworking.send(new BubbleMaxPacket(this.menu.targetSize)); + ClientPlayNetworking.send(new BubbleMaxPayload(this.menu.targetSize)); return true; } } diff --git a/src/main/java/dev/galacticraft/mod/client/gui/screen/ingame/OxygenStorageModuleScreen.java b/src/main/java/dev/galacticraft/mod/client/gui/screen/ingame/OxygenStorageModuleScreen.java index db34d79ce7..78b44f8c8f 100644 --- a/src/main/java/dev/galacticraft/mod/client/gui/screen/ingame/OxygenStorageModuleScreen.java +++ b/src/main/java/dev/galacticraft/mod/client/gui/screen/ingame/OxygenStorageModuleScreen.java @@ -46,12 +46,12 @@ protected void renderMachineBackground(GuiGraphics graphics, int mouseX, int mou super.renderMachineBackground(graphics, mouseX, mouseY, delta); this.drawOxygenBufferBar(graphics); - graphics.drawCenteredString(font, Component.translatable(Translations.Ui.CURRENT_OXYGEN, this.menu.fluidStorage.getSlot(OxygenStorageModuleBlockEntity.OXYGEN_TANK).getAmount()), width / 2, topPos + 33, ChatFormatting.DARK_GRAY.getColor()); - graphics.drawCenteredString(font, Component.translatable(Translations.Ui.MAX_OXYGEN, this.menu.fluidStorage.getSlot(OxygenStorageModuleBlockEntity.OXYGEN_TANK).getCapacity()), width / 2, topPos + 45, ChatFormatting.DARK_GRAY.getColor()); + graphics.drawCenteredString(font, Component.translatable(Translations.Ui.CURRENT_OXYGEN, this.menu.fluidStorage.slot(OxygenStorageModuleBlockEntity.OXYGEN_TANK).getAmount()), width / 2, topPos + 33, ChatFormatting.DARK_GRAY.getColor()); + graphics.drawCenteredString(font, Component.translatable(Translations.Ui.MAX_OXYGEN, this.menu.fluidStorage.slot(OxygenStorageModuleBlockEntity.OXYGEN_TANK).getCapacity()), width / 2, topPos + 45, ChatFormatting.DARK_GRAY.getColor()); } private void drawOxygenBufferBar(GuiGraphics graphics) { - FluidResourceSlot slot = this.menu.fluidStorage.getSlot(OxygenStorageModuleBlockEntity.OXYGEN_TANK); + FluidResourceSlot slot = this.menu.fluidStorage.slot(OxygenStorageModuleBlockEntity.OXYGEN_TANK); double oxygenScale = (double)slot.getAmount() / (double)slot.getCapacity(); graphics.blit(Constant.ScreenTexture.OXYGEN_STORAGE_MODULE_SCREEN, this.leftPos + 52, this.topPos + 57, 176, 0, (int) (72.0D * oxygenScale), 3); diff --git a/src/main/java/dev/galacticraft/mod/client/gui/screen/ingame/RocketWorkbenchScreen.java b/src/main/java/dev/galacticraft/mod/client/gui/screen/ingame/RocketWorkbenchScreen.java index 328cc5f138..eedbc298dc 100644 --- a/src/main/java/dev/galacticraft/mod/client/gui/screen/ingame/RocketWorkbenchScreen.java +++ b/src/main/java/dev/galacticraft/mod/client/gui/screen/ingame/RocketWorkbenchScreen.java @@ -30,13 +30,13 @@ import dev.galacticraft.api.rocket.part.RocketPart; import dev.galacticraft.api.rocket.part.RocketPartTypes; import dev.galacticraft.mod.Constant; -import dev.galacticraft.mod.client.util.BatchedRenderer; +import dev.galacticraft.mod.client.util.Graphics; import dev.galacticraft.mod.content.GCEntityTypes; import dev.galacticraft.mod.content.GCRocketParts; import dev.galacticraft.mod.content.block.entity.RocketWorkbenchBlockEntity; import dev.galacticraft.mod.content.entity.orbital.RocketEntity; import dev.galacticraft.mod.machine.storage.VariableSizedContainer; -import dev.galacticraft.mod.network.packets.SelectPartPacket; +import dev.galacticraft.mod.network.c2s.SelectPartPayload; import dev.galacticraft.mod.screen.RocketWorkbenchMenu; import dev.galacticraft.mod.util.Translations; import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; @@ -170,40 +170,37 @@ protected void containerTick() { this.menu.upgradeRecipes.calculateCraftable(contents); } - this.entity.setCone(this.menu.cone.selection != null ? this.menu.cone.selection : null); - this.entity.setBody(this.menu.body.selection != null ? this.menu.body.selection : null); - this.entity.setFin(this.menu.fins.selection != null ? this.menu.fins.selection : null); - this.entity.setBooster(this.menu.booster.selection != null ? this.menu.booster.selection : null); - this.entity.setEngine(this.menu.engine.selection != null ? this.menu.engine.selection : null); - this.entity.setUpgrade(this.menu.upgrade.selection != null ? this.menu.upgrade.selection : null); + this.entity.setData(this.menu.createData()); this.entity.setXRot(0.0f); this.entity.setYRot(90.0f - 20.0f); } @Override - protected void renderBg(GuiGraphics graphics, float delta, int mouseX, int mouseY) { + protected void renderBg(GuiGraphics guiGraphics, float delta, int mouseX, int mouseY) { this.inventoryLabelY = this.imageHeight - 96 + this.menu.additionalHeight; - drawSelection(graphics, mouseX, mouseY, delta); + drawSelection(guiGraphics, mouseX, mouseY, delta); - try (BatchedRenderer render = new BatchedRenderer(graphics, Constant.ScreenTexture.ROCKET_WORKBENCH_SCREEN, 512, 256)) { - render.blit(this.leftPos, this.topPos + this.menu.additionalHeight + CAP_HEIGHT, 0, 0, BASE_UI_WIDTH, BASE_UI_HEIGHT); + try (Graphics graphics = Graphics.managed(guiGraphics, this.font)) { + try (Graphics.Texture texture = graphics.texture(Constant.ScreenTexture.ROCKET_WORKBENCH_SCREEN, 512, 512)) { + texture.blit(this.leftPos, this.topPos + this.menu.additionalHeight + CAP_HEIGHT, 0, 0, BASE_UI_WIDTH, BASE_UI_HEIGHT); - if (this.menu.additionalHeight > 0) { - render.blit(this.leftPos, this.topPos + CAP_HEIGHT, HEIGHT_EXT_U, 0, MAIN_UI_WIDTH, this.menu.additionalHeight); - } + if (this.menu.additionalHeight > 0) { + texture.blit(this.leftPos, this.topPos + CAP_HEIGHT, HEIGHT_EXT_U, 0, MAIN_UI_WIDTH, this.menu.additionalHeight); + } - render.blit(this.leftPos, this.topPos, 0, BASE_UI_HEIGHT, BASE_UI_WIDTH, CAP_HEIGHT); + texture.blit(this.leftPos, this.topPos, 0, BASE_UI_HEIGHT, BASE_UI_WIDTH, CAP_HEIGHT); - for (Slot slot : this.menu.slots) { - if (slot.container instanceof VariableSizedContainer) { - render.blit(this.leftPos + slot.x - 1, this.topPos + slot.y - 1, NORMAL_SLOT_U, NORMAL_SLOT_V, NORMAL_SLOT_SIZE, NORMAL_SLOT_SIZE); + for (Slot slot : this.menu.slots) { + if (slot.container instanceof VariableSizedContainer) { + texture.blit(this.leftPos + slot.x - 1, this.topPos + slot.y - 1, NORMAL_SLOT_U, NORMAL_SLOT_V, NORMAL_SLOT_SIZE, NORMAL_SLOT_SIZE); + } } } } - renderEntityInInventory(graphics, this.leftPos + ROCKET_PREVIEW_X, this.topPos + ROCKET_PREVIEW_Y, 15, SmithingScreen.ARMOR_STAND_ANGLE, null, this.entity); + renderEntityInInventory(guiGraphics, this.leftPos + ROCKET_PREVIEW_X, this.topPos + ROCKET_PREVIEW_Y, 15, SmithingScreen.ARMOR_STAND_ANGLE, null, this.entity); } @Override @@ -245,7 +242,7 @@ public boolean clickSelection(double mouseX, double mouseY, int button) { if (button == GLFW.GLFW_MOUSE_BUTTON_1) { Holder.Reference> ref = this.recipes.get(i); this.getSelection().setSelection(ref != null ? ref.key().location() : null); - ClientPlayNetworking.send(new SelectPartPacket(this.openTab.type, ref != null ? ref.key() : null)); + ClientPlayNetworking.send(new SelectPartPayload(this.openTab.type, ref != null ? ref.key().location() : null)); return true; } else if (button == GLFW.GLFW_MOUSE_BUTTON_2) { //todo @@ -279,52 +276,54 @@ private void setOpenTab(Tab openTab) { } } - private void drawSelection(GuiGraphics graphics, int mouseX, int mouseY, float delta) { - PoseStack pose = graphics.pose(); + private void drawSelection(GuiGraphics guiGraphics, int mouseX, int mouseY, float delta) { + PoseStack pose = guiGraphics.pose(); pose.pushPose(); pose.translate(this.leftPos - SELECTION_SCREEN_WIDTH - SCREEN_SPACING, this.topPos, 0); mouseX -= this.leftPos - SELECTION_SCREEN_WIDTH - SCREEN_SPACING; mouseY -= this.topPos; int size = this.recipes != null ? this.recipes.size() : 0; - try (BatchedRenderer render = new BatchedRenderer(graphics, Constant.ScreenTexture.ROCKET_SELECTION, 256, 256)) { - render.blit(0, 0, 0, 0, SELECTION_SCREEN_WIDTH, SELECTION_SCREEN_HEIGHT); - - { - int y = 4; - for (Tab tab : Tab.values()) { - if (tab == Tab.COLOR) continue; - if (tab == this.openTab) { - render.blit(-(TAB_SELECTED_WIDTH - 3), y, TAB_SELECTED_U, TAB_SELECTED_V, TAB_SELECTED_WIDTH, TAB_HEIGHT); - } else { - render.blit(-TAB_WIDTH, y, TAB_U, TAB_V, TAB_WIDTH, TAB_HEIGHT); + try (Graphics graphics = Graphics.managed(guiGraphics, this.font)) { + try (Graphics.Texture texture = graphics.texture(Constant.ScreenTexture.ROCKET_WORKBENCH_SCREEN, 512, 512)) { + texture.blit(0, 0, 0, 0, SELECTION_SCREEN_WIDTH, SELECTION_SCREEN_HEIGHT); + + { + int y = 4; + for (Tab tab : Tab.values()) { + if (tab == Tab.COLOR) continue; + if (tab == this.openTab) { + texture.blit(-(TAB_SELECTED_WIDTH - 3), y, TAB_SELECTED_U, TAB_SELECTED_V, TAB_SELECTED_WIDTH, TAB_HEIGHT); + } else { + texture.blit(-TAB_WIDTH, y, TAB_U, TAB_V, TAB_WIDTH, TAB_HEIGHT); + } + y += TAB_SPACING + TAB_HEIGHT; } - y += TAB_SPACING + TAB_HEIGHT; } - } - if (this.openTab != Tab.COLOR) { - assert this.recipes != null; - final int pages = Math.floorDiv(size, RECIPES_PER_PAGE) + size % RECIPES_PER_PAGE == 0 ? 0 : 1; + if (this.openTab != Tab.COLOR) { + assert this.recipes != null; + final int pages = Math.floorDiv(size, RECIPES_PER_PAGE) + size % RECIPES_PER_PAGE == 0 ? 0 : 1; - if (this.page >= pages) { - this.page = 0; - } - int i = this.page * 5 * 7; - for (int y = 0; y < 7 && i < size; y++) { - for (int x = 0; x < 5 && i < size; x++) { - Holder.Reference> part = this.recipes.get(i); - int uOffset = isCraftable(part) ? RECIPE_CRAFTABLE_U : RECIPE_UNCRAFTABLE_U; - int vOffset = Objects.equals(this.getSelection().selection, part == null ? null : part.key().location()) ? RECIPE_SELECTED_V : RECIPE_V; - render.blit(11 + x * RECIPE_WIDTH, 29 + y * RECIPE_HEIGHT, uOffset, vOffset, RECIPE_WIDTH, RECIPE_HEIGHT); - if (part != null && mouseIn(mouseX, mouseY, 11 + x * RECIPE_WIDTH, 29 + y * RECIPE_HEIGHT, RECIPE_WIDTH, RECIPE_HEIGHT)) { - setTooltipForNextRenderPass(RocketPart.getName(part.key())); + if (this.page >= pages) { + this.page = 0; + } + int i = this.page * 5 * 7; + for (int y = 0; y < 7 && i < size; y++) { + for (int x = 0; x < 5 && i < size; x++) { + Holder.Reference> part = this.recipes.get(i); + int uOffset = isCraftable(part) ? RECIPE_CRAFTABLE_U : RECIPE_UNCRAFTABLE_U; + int vOffset = Objects.equals(this.getSelection().selection, part == null ? null : part.key().location()) ? RECIPE_SELECTED_V : RECIPE_V; + texture.blit(11 + x * RECIPE_WIDTH, 29 + y * RECIPE_HEIGHT, uOffset, vOffset, RECIPE_WIDTH, RECIPE_HEIGHT); + if (part != null && mouseIn(mouseX, mouseY, 11 + x * RECIPE_WIDTH, 29 + y * RECIPE_HEIGHT, RECIPE_WIDTH, RECIPE_HEIGHT)) { + setTooltipForNextRenderPass(RocketPart.getName(part.key())); + } + i++; } - i++; } + } else { + //todo color } - } else { - //todo color } } @@ -335,7 +334,7 @@ private void drawSelection(GuiGraphics graphics, int mouseX, int mouseY, float d continue; // graphics.renderFakeItem(new ItemStack(Items.RED_DYE), -TAB_WIDTH + TAB_ICON_OFFSET, y); } else { - RocketPartRendererRegistry.INSTANCE.getRenderer(tab.part).renderGUI(graphics, -TAB_WIDTH + TAB_ICON_OFFSET, y, mouseX, mouseY, delta); + RocketPartRendererRegistry.INSTANCE.getRenderer(tab.part).renderGUI(guiGraphics, -TAB_WIDTH + TAB_ICON_OFFSET, y, mouseX, mouseY, delta); } y += TAB_SPACING + TAB_HEIGHT; } @@ -349,7 +348,7 @@ private void drawSelection(GuiGraphics graphics, int mouseX, int mouseY, float d Holder.Reference> recipe = this.recipes.get(i); if (recipe != null) { RocketPartRenderer renderer = RocketPartRendererRegistry.INSTANCE.getRenderer(recipe.key()); - renderer.renderGUI(graphics, 15 + x * RECIPE_WIDTH, 33 + y * RECIPE_HEIGHT, mouseX, mouseY, delta); + renderer.renderGUI(guiGraphics, 15 + x * RECIPE_WIDTH, 33 + y * RECIPE_HEIGHT, mouseX, mouseY, delta); } i++; } @@ -357,7 +356,7 @@ private void drawSelection(GuiGraphics graphics, int mouseX, int mouseY, float d } else { } - graphics.drawString(this.font, this.openTab.name, 12, 14, 0xEEEEEE, true); + guiGraphics.drawString(this.font, this.openTab.name, 12, 14, 0xEEEEEE, true); pose.popPose(); } @@ -366,7 +365,7 @@ public static void renderEntityInInventory( ) { guiGraphics.pose().pushPose(); guiGraphics.pose().translate(x, y, 50.0); - guiGraphics.pose().mulPoseMatrix(new Matrix4f().scaling((float)scale, (float)scale, (float)(-scale))); + guiGraphics.pose().mulPose(new Matrix4f().scaling((float)scale, (float)scale, (float)(-scale))); guiGraphics.pose().mulPose(pose); Lighting.setupForEntityInInventory(); EntityRenderDispatcher entityRenderDispatcher = Minecraft.getInstance().getEntityRenderDispatcher(); diff --git a/src/main/java/dev/galacticraft/mod/client/gui/screen/ingame/SolarPanelScreen.java b/src/main/java/dev/galacticraft/mod/client/gui/screen/ingame/SolarPanelScreen.java index b1b7d56429..d50b4b17d2 100644 --- a/src/main/java/dev/galacticraft/mod/client/gui/screen/ingame/SolarPanelScreen.java +++ b/src/main/java/dev/galacticraft/mod/client/gui/screen/ingame/SolarPanelScreen.java @@ -25,6 +25,7 @@ import com.mojang.blaze3d.systems.RenderSystem; import dev.galacticraft.machinelib.api.block.entity.MachineBlockEntity; import dev.galacticraft.machinelib.client.api.screen.MachineScreen; +import dev.galacticraft.machinelib.client.api.util.GraphicsUtil; import dev.galacticraft.mod.Constant; import dev.galacticraft.mod.api.block.entity.SolarPanel; import dev.galacticraft.mod.api.solarpanel.LightSource; @@ -41,7 +42,7 @@ import java.util.LinkedList; import java.util.List; -public class SolarPanelScreen> extends MachineScreen { +public class SolarPanelScreen> extends MachineScreen { private static final int DAY_SOURCE_U = 0; private static final int DAY_SOURCE_V = 0; private static final int OVERCAST_SOURCE_U = 32; @@ -77,9 +78,9 @@ public class SolarPanelScreen paths) { this.minecraft.getTextureManager().register(location, texture); this.minecraft.setScreen(new ConfirmFlagScreen(yes -> { if (yes) { - int[] array = new int[48 * 32]; + ByteBuf buf = ByteBufAllocator.DEFAULT.buffer(48 * 32 * 3, 48 * 32 * 3); for (int y = 0; y < 32; y++) { for (int x = 0; x < 48; x++) { - array[y * 48 + x] = (finalImage.getPixelRGBA(x, y) /*& 0x00FFFFFF will be done on server (don't trust clients, so why do extra work?)*/); //ignore alpha channel + int color = finalImage.getPixelRGBA(x, y); + //ignore alpha channel + buf.writeByte((color >> 16) & 0xFF) + .writeByte((color >> 8) & 0xFF) + .writeByte(color & 0xFF); } } - ClientPlayNetworking.send(Constant.id("flag_data"), PacketByteBufs.create().writeVarIntArray(array)); + ClientPlayNetworking.send(new FlagDataPayload(buf.array())); this.minecraft.getTextureManager().register(this.teamFlag, texture); } else { finalImage.close(); diff --git a/src/main/java/dev/galacticraft/mod/client/gui/screen/ingame/SpaceTravelScreen.java b/src/main/java/dev/galacticraft/mod/client/gui/screen/ingame/SpaceTravelScreen.java index 75d7501d09..d25157eb2c 100644 --- a/src/main/java/dev/galacticraft/mod/client/gui/screen/ingame/SpaceTravelScreen.java +++ b/src/main/java/dev/galacticraft/mod/client/gui/screen/ingame/SpaceTravelScreen.java @@ -23,10 +23,7 @@ package dev.galacticraft.mod.client.gui.screen.ingame; import com.mojang.blaze3d.systems.RenderSystem; -import com.mojang.blaze3d.vertex.BufferBuilder; -import com.mojang.blaze3d.vertex.DefaultVertexFormat; -import com.mojang.blaze3d.vertex.Tesselator; -import com.mojang.blaze3d.vertex.VertexFormat; +import com.mojang.blaze3d.vertex.*; import dev.galacticraft.mod.Constant; import dev.galacticraft.mod.util.Translations; import net.minecraft.client.GameNarrator; @@ -66,17 +63,16 @@ public boolean shouldCloseOnEsc() { @Override public void render(GuiGraphics graphics, int mouseX, int mouseY, float delta) { - Tesselator tessellator = Tesselator.getInstance(); - BufferBuilder bufferBuilder = tessellator.getBuilder(); - RenderSystem.setShader(GameRenderer::getPositionColorTexShader); + RenderSystem.setShader(GameRenderer::getPositionTexColorShader); this.minecraft.getTextureManager().bindForSetup(TEXTURE); RenderSystem.setShaderTexture(0, TEXTURE); - bufferBuilder.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_COLOR_TEX); - bufferBuilder.vertex(0.0D, this.height, 0.0D).color(200, 200, 200, 255).uv(0.0F, (float)this.height / 32.0F).endVertex(); - bufferBuilder.vertex(this.width, this.height, 0.0D).color(200, 200, 200, 255).uv((float)this.width / 32.0F, (float)this.height / 32.0F).endVertex(); - bufferBuilder.vertex(this.width, 0.0D, 0.0D).color(200, 200, 200, 255).uv((float)this.width / 32.0F, 0.0F).endVertex(); - bufferBuilder.vertex(0.0D, 0.0D, 0.0D).color(200, 200, 200, 255).uv(0.0F, 0.0F).endVertex(); - tessellator.end(); + BufferBuilder buffer = Tesselator.getInstance().begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX_COLOR); + buffer.addVertex(0.0F, this.height, 0.0F).setUv(0.0F, (float)this.height / 32.0F).setColor(200, 200, 200, 255) + .addVertex(this.width, this.height, 0.0F).setUv((float)this.width / 32.0F, (float)this.height / 32.0F).setColor(200, 200, 200, 255) + .addVertex(this.width, 0.0F, 0.0F).setUv((float)this.width / 32.0F, 0.0F).setColor(200, 200, 200, 255) + .addVertex(0.0F, 0.0F, 0.0F).setUv(0.0F, 0.0F).setColor(200, 200, 200, 255); + BufferUploader.drawWithShader(buffer.buildOrThrow()); + if (minecraft.level.random.nextInt(30) == 1) { if (dots.equals("...")) { dots = "."; diff --git a/src/main/java/dev/galacticraft/mod/client/model/BakedObjModel.java b/src/main/java/dev/galacticraft/mod/client/model/BakedObjModel.java index b0f5117d40..9f15b55cae 100644 --- a/src/main/java/dev/galacticraft/mod/client/model/BakedObjModel.java +++ b/src/main/java/dev/galacticraft/mod/client/model/BakedObjModel.java @@ -27,7 +27,6 @@ import de.javagl.obj.*; import dev.galacticraft.mod.client.model.types.ObjModel; import org.jetbrains.annotations.Nullable; -import org.joml.Matrix4f; import java.util.List; @@ -44,38 +43,37 @@ public BakedObjModel(Obj obj, List materials) { } @Override - public void render(PoseStack modelStack, @Nullable GCModelState state, VertexConsumer consumer, int light, int overlay) { + public void render(PoseStack modelStack, @Nullable GCModelState state, VertexConsumer consumer, int light, int overlay, int color) { ObjModel.BakedMaterial lastMaterial = null; if (state == null) { for (int index = 0; index < obj.getNumFaces(); index++) { ObjFace face = obj.getFace(index); - lastMaterial = renderFace(lastMaterial, face, consumer, modelStack, light, overlay); + lastMaterial = renderFace(lastMaterial, face, consumer, modelStack, light, overlay, color); } } else { ObjGroup group = obj.getGroup(state.getName()); for (int index = 0; index < group.getNumFaces(); index++) { ObjFace face = group.getFace(index); - lastMaterial = renderFace(lastMaterial, face, consumer, modelStack, light, overlay); + lastMaterial = renderFace(lastMaterial, face, consumer, modelStack, light, overlay, color); } } } - protected ObjModel.BakedMaterial renderFace(ObjModel.BakedMaterial lastMaterial, ObjFace face, VertexConsumer consumer, PoseStack matrices, int light, int overlay) { + protected ObjModel.BakedMaterial renderFace(ObjModel.BakedMaterial lastMaterial, ObjFace face, VertexConsumer consumer, PoseStack matrices, int light, int overlay, int color) { ObjModel.BakedMaterial material = findMaterial(this.obj.getActivatedMaterialGroupName(face), lastMaterial); consumer = (material != null ? material.sprite() : GCModelLoader.INSTANCE.getDefaultSprite()).wrap(consumer); PoseStack.Pose last = matrices.last(); for (int vtx = 0; vtx < face.getNumVertices(); vtx++) { FloatTuple pos = obj.getVertex(face.getVertexIndex(vtx)); - consumer.vertex(last.pose(), pos.getX(), pos.getY(), pos.getZ()); - consumer.color(255, 255, 255, 255); + consumer.addVertex(last.pose(), pos.getX(), pos.getY(), pos.getZ()); + consumer.setColor(color); FloatTuple uv = obj.getTexCoord(face.getTexCoordIndex(vtx)); - consumer.uv(uv.getX(), 1 - uv.getY()); + consumer.setUv(uv.getX(), 1 - uv.getY()); - consumer.overlayCoords(overlay); - consumer.uv2(light); + consumer.setOverlay(overlay); + consumer.setLight(light); FloatTuple normals = obj.getNormal(face.getNormalIndex(vtx)); - consumer.normal(last.normal(), normals.getX(), normals.getY(), normals.getZ()); - consumer.endVertex(); + consumer.setNormal(last, normals.getX(), normals.getY(), normals.getZ()); } return material; diff --git a/src/main/java/dev/galacticraft/mod/client/model/FluidPipeWalkwayBakedModel.java b/src/main/java/dev/galacticraft/mod/client/model/FluidPipeWalkwayBakedModel.java index af08e49435..f9378132dd 100644 --- a/src/main/java/dev/galacticraft/mod/client/model/FluidPipeWalkwayBakedModel.java +++ b/src/main/java/dev/galacticraft/mod/client/model/FluidPipeWalkwayBakedModel.java @@ -81,46 +81,46 @@ protected FluidPipeWalkwayBakedModel(ModelBaker loader, Function getDependencies() { public void resolveParents(Function function) { } + @Nullable @Override - public BakedModel bake(ModelBaker loader, Function spriteFunction, ModelState rotationContainer, ResourceLocation modelId) { - return FluidPipeWalkwayBakedModel.getInstance(loader, spriteFunction, rotationContainer); + public BakedModel bake(ModelBaker baker, Function textureGetter, ModelState state) { + return FluidPipeWalkwayBakedModel.getInstance(baker, textureGetter, state); } } \ No newline at end of file diff --git a/src/main/java/dev/galacticraft/mod/client/model/GCBakedModel.java b/src/main/java/dev/galacticraft/mod/client/model/GCBakedModel.java index d672553c70..6e5683ac54 100644 --- a/src/main/java/dev/galacticraft/mod/client/model/GCBakedModel.java +++ b/src/main/java/dev/galacticraft/mod/client/model/GCBakedModel.java @@ -24,9 +24,12 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; -import net.minecraft.client.renderer.MultiBufferSource; import org.jetbrains.annotations.Nullable; public interface GCBakedModel extends AutoCloseable { - void render(PoseStack modelStack, @Nullable GCModelState state, VertexConsumer consumer, int light, int overlay); + default void render(PoseStack modelStack, @Nullable GCModelState state, VertexConsumer consumer, int light, int overlay) { + this.render(modelStack, state, consumer, light, overlay, 0xFFFFFFFF); + } + + void render(PoseStack modelStack, @Nullable GCModelState state, VertexConsumer consumer, int light, int overlay, int color); } diff --git a/src/main/java/dev/galacticraft/mod/client/model/GCMissingModel.java b/src/main/java/dev/galacticraft/mod/client/model/GCMissingModel.java index cad7db410d..05bb5347f7 100644 --- a/src/main/java/dev/galacticraft/mod/client/model/GCMissingModel.java +++ b/src/main/java/dev/galacticraft/mod/client/model/GCMissingModel.java @@ -24,16 +24,16 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; +import org.jetbrains.annotations.Nullable; public class GCMissingModel implements GCBakedModel { - @Override - public void render(PoseStack modelStack, GCModelState state, VertexConsumer vertexConsumer, int light, int overlay) { + public void render(PoseStack modelStack, @Nullable GCModelState state, VertexConsumer consumer, int light, int overlay, int color) { } @Override - public void close() throws Exception { + public void close() { } } diff --git a/src/main/java/dev/galacticraft/mod/client/model/GCModel.java b/src/main/java/dev/galacticraft/mod/client/model/GCModel.java index 2a1cb6f8fd..2cdf1e041b 100644 --- a/src/main/java/dev/galacticraft/mod/client/model/GCModel.java +++ b/src/main/java/dev/galacticraft/mod/client/model/GCModel.java @@ -22,7 +22,7 @@ package dev.galacticraft.mod.client.model; -import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.client.resources.model.Material; import net.minecraft.resources.ResourceLocation; @@ -39,7 +39,7 @@ public interface GCModel { GCBakedModel bake(ResourceManager resourceManager, Function spriteGetter); interface GCModelType { - Codec codec(); + MapCodec codec(); ResourceLocation getId(); } diff --git a/src/main/java/dev/galacticraft/mod/client/model/GCModelLoader.java b/src/main/java/dev/galacticraft/mod/client/model/GCModelLoader.java index c7457fb947..2820ad6289 100644 --- a/src/main/java/dev/galacticraft/mod/client/model/GCModelLoader.java +++ b/src/main/java/dev/galacticraft/mod/client/model/GCModelLoader.java @@ -35,6 +35,7 @@ import com.mojang.serialization.JsonOps; import dev.galacticraft.mod.Constant; import dev.galacticraft.mod.client.event.RocketAtlasCallback; +import dev.galacticraft.mod.client.render.rocket.GalacticraftRocketPartRenderers; import dev.galacticraft.mod.client.resources.RocketTextureManager; import net.fabricmc.fabric.api.client.model.loading.v1.ModelLoadingPlugin; import net.fabricmc.fabric.api.resource.IdentifiableResourceReloadListener; @@ -111,6 +112,17 @@ public void onInitializeModelLoader(Context pluginContext) { } return null; }); + + pluginContext.addModels( + GalacticraftRocketPartRenderers.DEFAULT_CONE, + GalacticraftRocketPartRenderers.SLOPED_CONE, + GalacticraftRocketPartRenderers.ADVANCED_CONE, + GalacticraftRocketPartRenderers.DEFAULT_BODY, + GalacticraftRocketPartRenderers.DEFAULT_ENGINE, + GalacticraftRocketPartRenderers.DEFAULT_FIN, + GalacticraftRocketPartRenderers.BOOSTER_TIER_1, + GalacticraftRocketPartRenderers.BOOSTER_TIER_2 + ); } public static void registerModelType(GCModel.GCModelType type) { @@ -126,7 +138,7 @@ public ResourceLocation getFabricId() { public CompletableFuture reload(PreparationBarrier synchronizer, ResourceManager resourceManager, ProfilerFiller preparationsProfiler, ProfilerFiller reloadProfiler, Executor backgroundExecutor, Executor gameExecutor) { preparationsProfiler.startTick(); Map atlasMap = new HashMap<>(); - atlasMap.put(GCSheets.OBJ_ATLAS, Constant.id("obj")); + atlasMap.put(GCRenderTypes.OBJ_ATLAS, Constant.id("obj")); TextureManager textureManager = Minecraft.getInstance().getTextureManager(); RocketAtlasCallback.EVENT.invoker().collectAtlases(atlasMap, textureManager); this.atlases = new AtlasSet(atlasMap, textureManager); @@ -218,14 +230,12 @@ private static CompletableFuture> loadModels(Reso DataResult model = MODEL_CODEC.parse(JsonOps.INSTANCE, GsonHelper.convertToJsonObject(GsonHelper.fromJson(GSON, reader, JsonElement.class), "top element")); if (model.error().isPresent()) return null; - modelPair = Pair.of(entry.getKey(), model.getOrThrow(false, error -> Constant.LOGGER.error("Failed to load model: {}, {}", modelId, error))); + modelPair = Pair.of(entry.getKey(), model.getOrThrow(error -> new RuntimeException(String.format("Failed to load model: %s, %s", modelId, error)))); } catch (Throwable error) { - if (reader != null) { - try { - reader.close(); - } catch (Throwable nestedError) { - error.addSuppressed(nestedError); - } + try { + reader.close(); + } catch (Throwable nestedError) { + error.addSuppressed(nestedError); } throw error; @@ -267,7 +277,7 @@ public AtlasSet getAtlases() { } public TextureAtlasSprite getDefaultSprite() { - return this.atlases.getAtlas(GCSheets.OBJ_ATLAS).getSprite(WHITE_SPRITE); + return this.atlases.getAtlas(GCRenderTypes.OBJ_ATLAS).getSprite(WHITE_SPRITE); } public record ReloadState( diff --git a/src/main/java/dev/galacticraft/mod/client/model/GCRenderTypes.java b/src/main/java/dev/galacticraft/mod/client/model/GCRenderTypes.java new file mode 100644 index 0000000000..312c593b73 --- /dev/null +++ b/src/main/java/dev/galacticraft/mod/client/model/GCRenderTypes.java @@ -0,0 +1,101 @@ +/* + * Copyright (c) 2019-2024 Team Galacticraft + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package dev.galacticraft.mod.client.model; + +import com.mojang.blaze3d.vertex.DefaultVertexFormat; +import com.mojang.blaze3d.vertex.VertexFormat; +import dev.galacticraft.mod.Constant; +import net.fabricmc.fabric.api.client.rendering.v1.CoreShaderRegistrationCallback; +import net.minecraft.Util; +import net.minecraft.client.renderer.RenderStateShard; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.ShaderInstance; +import net.minecraft.resources.ResourceLocation; +import org.jetbrains.annotations.Nullable; + +import java.util.function.BiFunction; + +public class GCRenderTypes { + public static final ResourceLocation OBJ_ATLAS = Constant.id("textures/atlas/obj.png"); + + @Nullable + private static ShaderInstance rendertypeBubbleShader; + + public static final RenderStateShard.ShaderStateShard BUBBLE_SHADER = new RenderStateShard.ShaderStateShard( + GCRenderTypes::getRendertypeBubbleShader + ); + + @Nullable + public static ShaderInstance getRendertypeBubbleShader() { + return rendertypeBubbleShader; + } + + public static final BiFunction OBJ = Util.memoize( + (texture, composite) -> { + return RenderType.create("rocket", DefaultVertexFormat.NEW_ENTITY, VertexFormat.Mode.TRIANGLES, RenderType.TRANSIENT_BUFFER_SIZE, true, false, RenderType.CompositeState.builder() + .setShaderState(RenderType.RENDERTYPE_ENTITY_CUTOUT_SHADER) + .setTextureState(new RenderStateShard.TextureStateShard(texture, false, false)) + .setTransparencyState(RenderType.NO_TRANSPARENCY) + .setCullState(RenderType.NO_CULL) + .setLightmapState(RenderType.LIGHTMAP) + .setOverlayState(RenderType.OVERLAY) + .createCompositeState(true)); + } + ); + + private static final BiFunction BUBBLE = Util.memoize( + ((texture, composite) -> { + RenderType.CompositeState compositeState = RenderType.CompositeState.builder() + .setShaderState(BUBBLE_SHADER) + .setTextureState(new RenderStateShard.TextureStateShard(texture, false, false)) + .setTransparencyState(RenderType.TRANSLUCENT_TRANSPARENCY) + .setCullState(RenderType.NO_CULL) + .setWriteMaskState(RenderType.COLOR_WRITE) + .setOverlayState(RenderType.OVERLAY) + .createCompositeState(composite); + return RenderType.create("entity_bubble", DefaultVertexFormat.NEW_ENTITY, VertexFormat.Mode.TRIANGLES, RenderType.TRANSIENT_BUFFER_SIZE, true, true, compositeState); + }) + ); + + public static RenderType obj(ResourceLocation texture) { + return obj(texture, true); + } + + public static RenderType obj(ResourceLocation texture, boolean outline) { + return OBJ.apply(texture, outline); + } + + public static RenderType bubble(ResourceLocation texture, boolean outline) { + return BUBBLE.apply(texture, outline); + } + + public static RenderType bubble(ResourceLocation texture) { + return bubble(texture, true); + } + + public static void init() { + CoreShaderRegistrationCallback.EVENT.register(context -> { + context.register(Constant.id("rendertype_bubble"), DefaultVertexFormat.NEW_ENTITY, shader -> rendertypeBubbleShader = shader); + }); + } +} diff --git a/src/main/java/dev/galacticraft/mod/client/model/GCSheets.java b/src/main/java/dev/galacticraft/mod/client/model/GCSheets.java deleted file mode 100644 index d0924d155e..0000000000 --- a/src/main/java/dev/galacticraft/mod/client/model/GCSheets.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright (c) 2019-2024 Team Galacticraft - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -package dev.galacticraft.mod.client.model; - -import com.mojang.blaze3d.vertex.DefaultVertexFormat; -import com.mojang.blaze3d.vertex.VertexFormat; -import dev.galacticraft.mod.Constant; -import net.minecraft.Util; -import net.minecraft.client.renderer.RenderStateShard; -import net.minecraft.client.renderer.RenderType; -import net.minecraft.resources.ResourceLocation; - -import java.util.function.BiFunction; - -public class GCSheets { - public static final ResourceLocation OBJ_ATLAS = Constant.id("textures/atlas/obj.png"); - - public static final BiFunction OBJ = Util.memoize( - (texture, composite) -> { - return RenderType.create("rocket", DefaultVertexFormat.NEW_ENTITY, VertexFormat.Mode.TRIANGLES, RenderType.TRANSIENT_BUFFER_SIZE, true, false, RenderType.CompositeState.builder() - .setShaderState(RenderType.RENDERTYPE_ENTITY_CUTOUT_SHADER) - .setTextureState(new RenderStateShard.TextureStateShard(texture, false, false)) - .setTransparencyState(RenderType.NO_TRANSPARENCY) - .setCullState(RenderType.NO_CULL) - .setLightmapState(RenderType.LIGHTMAP) - .setOverlayState(RenderType.OVERLAY) - .createCompositeState(true)); - } - ); - - private static final BiFunction ENTITY_TRANSLUCENT_EMISSIVE = Util.memoize( - ((texture, composite) -> { - RenderType.CompositeState compositeState = RenderType.CompositeState.builder() - .setShaderState(RenderType.RENDERTYPE_ENTITY_TRANSLUCENT_EMISSIVE_SHADER) - .setTextureState(new RenderStateShard.TextureStateShard(texture, false, false)) - .setTransparencyState(RenderType.TRANSLUCENT_TRANSPARENCY) - .setCullState(RenderType.NO_CULL) - .setWriteMaskState(RenderType.COLOR_WRITE) - .setOverlayState(RenderType.OVERLAY) - .createCompositeState(composite); - return RenderType.create("entity_translucent_emissive", DefaultVertexFormat.NEW_ENTITY, VertexFormat.Mode.TRIANGLES, RenderType.TRANSIENT_BUFFER_SIZE, true, true, compositeState); - }) - ); - - public static RenderType obj(ResourceLocation texture) { - return obj(texture, true); - } - - public static RenderType obj(ResourceLocation texture, boolean outline) { - return OBJ.apply(texture, outline); - } - - public static RenderType entityTranslucentEmissive(ResourceLocation texture, boolean outline) { - return ENTITY_TRANSLUCENT_EMISSIVE.apply(texture, outline); - } - - public static RenderType entityTranslucentEmissive(ResourceLocation texture) { - return entityTranslucentEmissive(texture, true); - } -} diff --git a/src/main/java/dev/galacticraft/mod/client/model/OxygenSealerSpriteProvider.java b/src/main/java/dev/galacticraft/mod/client/model/OxygenSealerSpriteProvider.java index df7b4fdf9c..40bff379dc 100644 --- a/src/main/java/dev/galacticraft/mod/client/model/OxygenSealerSpriteProvider.java +++ b/src/main/java/dev/galacticraft/mod/client/model/OxygenSealerSpriteProvider.java @@ -23,15 +23,16 @@ package dev.galacticraft.mod.client.model; import com.google.gson.JsonObject; +import dev.galacticraft.machinelib.api.machine.MachineRenderData; import dev.galacticraft.machinelib.api.util.BlockFace; import dev.galacticraft.machinelib.client.api.model.MachineModelRegistry; -import dev.galacticraft.machinelib.client.api.render.MachineRenderData; import dev.galacticraft.machinelib.client.impl.model.MachineBakedModel; import net.minecraft.client.renderer.texture.TextureAtlas; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.GsonHelper; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import java.util.function.Function; @@ -41,13 +42,13 @@ public class OxygenSealerSpriteProvider implements MachineModelRegistry.SpritePr private final TextureAtlasSprite machine; public OxygenSealerSpriteProvider(JsonObject json, Function function) { - this.top = function.apply(new net.minecraft.client.resources.model.Material(TextureAtlas.LOCATION_BLOCKS, new ResourceLocation(GsonHelper.getAsString(json, "top")))); + this.top = function.apply(new net.minecraft.client.resources.model.Material(TextureAtlas.LOCATION_BLOCKS, ResourceLocation.parse(GsonHelper.getAsString(json, "top")))); this.machine = function.apply(MachineBakedModel.MACHINE); this.machineSide = function.apply(MachineBakedModel.MACHINE_SIDE); } @Override - public @NotNull TextureAtlasSprite getSpritesForState(@NotNull MachineRenderData renderData, @NotNull BlockFace face) { + public @NotNull TextureAtlasSprite getSpritesForState(@Nullable MachineRenderData renderData, @NotNull BlockFace face) { if (face == BlockFace.TOP) return this.top; if (face.side()) return this.machineSide; return this.machine; diff --git a/src/main/java/dev/galacticraft/mod/client/model/ParaChestBakedModel.java b/src/main/java/dev/galacticraft/mod/client/model/ParaChestBakedModel.java index 204d978050..3efd79614d 100644 --- a/src/main/java/dev/galacticraft/mod/client/model/ParaChestBakedModel.java +++ b/src/main/java/dev/galacticraft/mod/client/model/ParaChestBakedModel.java @@ -22,33 +22,32 @@ package dev.galacticraft.mod.client.model; -import dev.galacticraft.mod.content.GCBlocks; import dev.galacticraft.mod.content.block.special.ParaChestBlock; import net.fabricmc.fabric.api.renderer.v1.model.WrapperBakedModel; import net.fabricmc.fabric.api.renderer.v1.render.RenderContext; import net.minecraft.client.multiplayer.ClientLevel; -import net.minecraft.client.renderer.block.model.*; +import net.minecraft.client.renderer.block.model.BakedQuad; +import net.minecraft.client.renderer.block.model.ItemOverrides; +import net.minecraft.client.renderer.block.model.ItemTransforms; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.client.resources.model.BakedModel; import net.minecraft.core.Direction; -import net.minecraft.nbt.CompoundTag; +import net.minecraft.core.component.DataComponents; import net.minecraft.util.RandomSource; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.item.DyeColor; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.block.state.StateDefinition; -import net.minecraft.world.level.block.state.properties.Property; import org.jetbrains.annotations.Nullable; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.Map; import java.util.function.Supplier; public class ParaChestBakedModel implements BakedModel, WrapperBakedModel { - private final ParaChestOverride ITEM_OVERRIDE = new ParaChestOverride(); + private final ParaChestOverride itemOverride; private final BakedModel parent; private final Map bakedChutes; private final DyeColor defaultColor; @@ -61,6 +60,7 @@ public ParaChestBakedModel(BakedModel parent, Map bakedChu this.parent = parent; this.bakedChutes = bakedChutes; this.defaultColor = defaultColor; + this.itemOverride = new ParaChestOverride(); } @Override @@ -76,19 +76,7 @@ public List getQuads(@Nullable BlockState blockState, @Nullable Direc @Override public void emitItemQuads(ItemStack stack, Supplier randomSupplier, RenderContext context) { BakedModel.super.emitItemQuads(stack, randomSupplier, context); - CompoundTag compoundTag = stack.getTag(); - if (compoundTag != null) { - CompoundTag blockStateTag = compoundTag.getCompound("BlockStateTag"); - StateDefinition stateDefinition = GCBlocks.PARACHEST.getStateDefinition(); - Property property = stateDefinition.getProperty("color"); - if (property != null) { - property.getValue(blockStateTag.getString("color")).ifPresent(color -> { - bakedChutes.get(color).emitItemQuads(stack, randomSupplier, context); - }); - } - } else { - bakedChutes.get(DyeColor.WHITE).emitItemQuads(stack, randomSupplier, context); - } + this.bakedChutes.get(stack.getOrDefault(DataComponents.BASE_COLOR, defaultColor)).emitItemQuads(stack, randomSupplier, context); } @Override @@ -128,7 +116,7 @@ public ItemTransforms getTransforms() { @Override public ItemOverrides getOverrides() { - return ITEM_OVERRIDE; + return itemOverride; } @Override @@ -137,19 +125,16 @@ public BakedModel getWrappedModel() { } public class ParaChestOverride extends ItemOverrides { + public ParaChestOverride() { + super(null, null, Collections.emptyList()); + } + @Nullable @Override public BakedModel resolve(BakedModel model, ItemStack stack, @Nullable ClientLevel level, @Nullable LivingEntity entity, int seed) { - CompoundTag compoundTag = stack.getTag(); - if (compoundTag != null) { - CompoundTag blockStateTag = compoundTag.getCompound("BlockStateTag"); - StateDefinition stateDefinition = GCBlocks.PARACHEST.getStateDefinition(); - Property property = stateDefinition.getProperty("color"); - if (property != null) { - var value = property.getValue(blockStateTag.getString("color")); - if (value.isPresent()) - return new ParaChestBakedModel(ParaChestBakedModel.this.parent, ParaChestBakedModel.this.bakedChutes, (DyeColor) value.get()); - } + DyeColor dyeColor = stack.get(DataComponents.BASE_COLOR); + if (dyeColor != null) { + return new ParaChestBakedModel(ParaChestBakedModel.this.parent, ParaChestBakedModel.this.bakedChutes, dyeColor); } return ParaChestBakedModel.this.parent.getOverrides().resolve(model, stack, level, entity, seed); } diff --git a/src/main/java/dev/galacticraft/mod/client/model/ParachestUnbakedModel.java b/src/main/java/dev/galacticraft/mod/client/model/ParachestUnbakedModel.java index 9fd6bdd3ee..d6387e63b0 100644 --- a/src/main/java/dev/galacticraft/mod/client/model/ParachestUnbakedModel.java +++ b/src/main/java/dev/galacticraft/mod/client/model/ParachestUnbakedModel.java @@ -26,7 +26,6 @@ import net.minecraft.client.resources.model.*; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.DyeColor; -import org.jetbrains.annotations.Nullable; import java.util.*; import java.util.function.Function; @@ -50,13 +49,12 @@ public void resolveParents(Function function) { }); } - @Nullable @Override - public BakedModel bake(ModelBaker modelBaker, Function function, ModelState modelState, ResourceLocation resourceLocation) { + public BakedModel bake(ModelBaker baker, Function textureGetter, ModelState state) { Map bakedChutes = new HashMap<>(); chutes.forEach((color, unbakedModel) -> { - bakedChutes.put(color, unbakedModel.bake(modelBaker, function, modelState, resourceLocation)); + bakedChutes.put(color, unbakedModel.bake(baker, textureGetter, state)); }); - return new ParaChestBakedModel(parentModel.bake(modelBaker, function, modelState, resourceLocation), bakedChutes); + return new ParaChestBakedModel(parentModel.bake(baker, textureGetter, state), bakedChutes); } } diff --git a/src/main/java/dev/galacticraft/mod/client/model/PipeBakedModel.java b/src/main/java/dev/galacticraft/mod/client/model/PipeBakedModel.java index 5ee82a6e40..21da5637e0 100644 --- a/src/main/java/dev/galacticraft/mod/client/model/PipeBakedModel.java +++ b/src/main/java/dev/galacticraft/mod/client/model/PipeBakedModel.java @@ -79,41 +79,41 @@ protected PipeBakedModel(Function textureGetter) { } var meshBuilder = RendererAccess.INSTANCE.getRenderer().meshBuilder(); var emitter = meshBuilder.getEmitter(); - emitter.square(Direction.DOWN, 0.4f, 0.4f, 0.6f, 0.6f, 0.0f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 12, 0).sprite(2, 0, 16, 0).sprite(3, 0, 16, 4).sprite(0, 0, 12, 4).cullFace(Direction.DOWN).emit(); - emitter.square(Direction.WEST, 0.6f, 0.4f, 0.4f, 0.0f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 0, 0).sprite(2, 0, 4, 0).sprite(3, 0, 4, 8).sprite(0, 0, 0, 8).emit(); - emitter.square(Direction.EAST, 0.6f, 0.4f, 0.4f, 0.0f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 4, 0).sprite(2, 0, 8, 0).sprite(3, 0, 8, 8).sprite(0, 0, 4, 8).emit(); - emitter.square(Direction.SOUTH, 0.4f, 0.0f, 0.6f, 0.4f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 8, 0).sprite(2, 0, 12, 0).sprite(3, 0, 12, 8).sprite(0, 0, 8, 8).emit(); - emitter.square(Direction.NORTH, 0.4f, 0.0f, 0.6f, 0.4f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 4, 0).sprite(2, 0, 8, 0).sprite(3, 0, 8, 8).sprite(0, 0, 4, 8).emit(); + emitter.square(Direction.DOWN, 0.4f, 0.4f, 0.6f, 0.6f, 0.0f).color(-1, -1, -1, -1).uv(1, 12, 0).uv(2, 16, 0).uv(3, 16, 4).uv(0, 12, 4).cullFace(Direction.DOWN).emit(); + emitter.square(Direction.WEST, 0.6f, 0.4f, 0.4f, 0.0f, 0.4f).color(-1, -1, -1, -1).uv(1, 0, 0).uv(2, 4, 0).uv(3, 4, 8).uv(0, 0, 8).emit(); + emitter.square(Direction.EAST, 0.6f, 0.4f, 0.4f, 0.0f, 0.4f).color(-1, -1, -1, -1).uv(1, 4, 0).uv(2, 8, 0).uv(3, 8, 8).uv(0, 4, 8).emit(); + emitter.square(Direction.SOUTH, 0.4f, 0.0f, 0.6f, 0.4f, 0.4f).color(-1, -1, -1, -1).uv(1, 8, 0).uv(2, 12, 0).uv(3, 12, 8).uv(0, 8, 8).emit(); + emitter.square(Direction.NORTH, 0.4f, 0.0f, 0.6f, 0.4f, 0.4f).color(-1, -1, -1, -1).uv(1, 4, 0).uv(2, 8, 0).uv(3, 8, 8).uv(0, 4, 8).emit(); this.down = meshBuilder.build(); - emitter.square(Direction.UP, 0.4f, 0.4f, 0.6f, 0.6f, 0.0f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 12, 0).sprite(2, 0, 16, 0).sprite(3, 0, 16, 4).sprite(0, 0, 12, 4).cullFace(Direction.UP).emit(); - emitter.square(Direction.EAST, 0.6f, 1.0f, 0.4f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 0, 8).sprite(2, 0, 4, 8).sprite(3, 0, 4, 16).sprite(0, 0, 0, 16).emit(); - emitter.square(Direction.WEST, 0.6f, 1.0f, 0.4f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 4, 8).sprite(2, 0, 8, 8).sprite(3, 0, 8, 16).sprite(0, 0, 4, 16).emit(); - emitter.square(Direction.NORTH, 0.4f, 0.6f, 0.6f, 1.0f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 8, 8).sprite(2, 0, 12, 8).sprite(3, 0, 12, 16).sprite(0, 0, 8, 16).emit(); - emitter.square(Direction.SOUTH, 0.4f, 0.6f, 0.6f, 1.0f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 4, 8).sprite(2, 0, 8, 8).sprite(3, 0, 8, 16).sprite(0, 0, 4, 16).emit(); + emitter.square(Direction.UP, 0.4f, 0.4f, 0.6f, 0.6f, 0.0f).color(-1, -1, -1, -1).uv(1, 12, 0).uv(2, 16, 0).uv(3, 16, 4).uv(0, 12, 4).cullFace(Direction.UP).emit(); + emitter.square(Direction.EAST, 0.6f, 1.0f, 0.4f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(1, 0, 8).uv(2, 4, 8).uv(3, 4, 16).uv(0, 0, 16).emit(); + emitter.square(Direction.WEST, 0.6f, 1.0f, 0.4f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(1, 4, 8).uv(2, 8, 8).uv(3, 8, 16).uv(0, 4, 16).emit(); + emitter.square(Direction.NORTH, 0.4f, 0.6f, 0.6f, 1.0f, 0.4f).color(-1, -1, -1, -1).uv(1, 8, 8).uv(2, 12, 8).uv(3, 12, 16).uv(0, 8, 16).emit(); + emitter.square(Direction.SOUTH, 0.4f, 0.6f, 0.6f, 1.0f, 0.4f).color(-1, -1, -1, -1).uv(1, 4, 8).uv(2, 8, 8).uv(3, 8, 16).uv(0, 4, 16).emit(); this.up = meshBuilder.build(); - emitter.square(Direction.NORTH, 0.4f, 0.4f, 0.6f, 0.6f, 0.0f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 12, 0).sprite(2, 0, 16, 0).sprite(3, 0, 16, 4).sprite(0, 0, 12, 4).cullFace(Direction.NORTH).emit(); - emitter.square(Direction.WEST, 0.0f, 0.4f, 0.4f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 0, 0).sprite(1, 0, 4, 0).sprite(2, 0, 4, 8).sprite(3, 0, 0, 8).emit(); - emitter.square(Direction.EAST, 0.6f, 0.4f, 1.0f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 4, 0).sprite(1, 0, 8, 0).sprite(2, 0, 8, 8).sprite(3, 0, 4, 8).emit(); - emitter.square(Direction.DOWN, 0.4f, 0.0f, 0.6f, 0.4f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 8, 0).sprite(2, 0, 12, 0).sprite(3, 0, 12, 8).sprite(0, 0, 8, 8).emit(); - emitter.square(Direction.UP, 0.4f, 0.6f, 0.6f, 1.0f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 4, 0).sprite(2, 0, 8, 0).sprite(3, 0, 8, 8).sprite(0, 0, 4, 8).emit(); + emitter.square(Direction.NORTH, 0.4f, 0.4f, 0.6f, 0.6f, 0.0f).color(-1, -1, -1, -1).uv(1, 12, 0).uv(2, 16, 0).uv(3, 16, 4).uv(0, 12, 4).cullFace(Direction.NORTH).emit(); + emitter.square(Direction.WEST, 0.0f, 0.4f, 0.4f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 0, 0).uv(1, 4, 0).uv(2, 4, 8).uv(3, 0, 8).emit(); + emitter.square(Direction.EAST, 0.6f, 0.4f, 1.0f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 4, 0).uv(1, 8, 0).uv(2, 8, 8).uv(3, 4, 8).emit(); + emitter.square(Direction.DOWN, 0.4f, 0.0f, 0.6f, 0.4f, 0.4f).color(-1, -1, -1, -1).uv(1, 8, 0).uv(2, 12, 0).uv(3, 12, 8).uv(0, 8, 8).emit(); + emitter.square(Direction.UP, 0.4f, 0.6f, 0.6f, 1.0f, 0.4f).color(-1, -1, -1, -1).uv(1, 4, 0).uv(2, 8, 0).uv(3, 8, 8).uv(0, 4, 8).emit(); this.north = meshBuilder.build(); - emitter.square(Direction.SOUTH, 0.4f, 0.4f, 0.6f, 0.6f, 0.0f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 12, 0).sprite(2, 0, 16, 0).sprite(3, 0, 16, 4).sprite(0, 0, 12, 4).cullFace(Direction.SOUTH).emit(); - emitter.square(Direction.EAST, 0.0f, 0.4f, 0.4f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 0, 8).sprite(1, 0, 4, 8).sprite(2, 0, 4, 16).sprite(3, 0, 0, 16).emit(); - emitter.square(Direction.WEST, 0.6f, 0.4f, 1.0f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 4, 8).sprite(1, 0, 8, 8).sprite(2, 0, 8, 16).sprite(3, 0, 4, 16).emit(); - emitter.square(Direction.UP, 0.4f, 0.0f, 0.6f, 0.4f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 8, 8).sprite(2, 0, 12, 8).sprite(3, 0, 12, 16).sprite(0, 0, 8, 16).emit(); - emitter.square(Direction.DOWN, 0.4f, 0.6f, 0.6f, 1.0f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 4, 8).sprite(2, 0, 8, 8).sprite(3, 0, 8, 16).sprite(0, 0, 4, 16).emit(); + emitter.square(Direction.SOUTH, 0.4f, 0.4f, 0.6f, 0.6f, 0.0f).color(-1, -1, -1, -1).uv(1, 12, 0).uv(2, 16, 0).uv(3, 16, 4).uv(0, 12, 4).cullFace(Direction.SOUTH).emit(); + emitter.square(Direction.EAST, 0.0f, 0.4f, 0.4f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 0, 8).uv(1, 4, 8).uv(2, 4, 16).uv(3, 0, 16).emit(); + emitter.square(Direction.WEST, 0.6f, 0.4f, 1.0f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 4, 8).uv(1, 8, 8).uv(2, 8, 16).uv(3, 4, 16).emit(); + emitter.square(Direction.UP, 0.4f, 0.0f, 0.6f, 0.4f, 0.4f).color(-1, -1, -1, -1).uv(1, 8, 8).uv(2, 12, 8).uv(3, 12, 16).uv(0, 8, 16).emit(); + emitter.square(Direction.DOWN, 0.4f, 0.6f, 0.6f, 1.0f, 0.4f).color(-1, -1, -1, -1).uv(1, 4, 8).uv(2, 8, 8).uv(3, 8, 16).uv(0, 4, 16).emit(); this.south = meshBuilder.build(); - emitter.square(Direction.WEST, 0.4f, 0.4f, 0.6f, 0.6f, 0.0f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 12, 0).sprite(1, 0, 16, 0).sprite(2, 0, 16, 4).sprite(3, 0, 12, 4).cullFace(Direction.WEST).emit(); - emitter.square(Direction.NORTH, 0.6f, 0.4f, 1.0f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 0, 0).sprite(1, 0, 4, 0).sprite(2, 0, 4, 8).sprite(3, 0, 0, 8).emit(); - emitter.square(Direction.SOUTH, 0.0f, 0.4f, 0.4f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 4, 0).sprite(1, 0, 8, 0).sprite(2, 0, 8, 8).sprite(3, 0, 4, 8).emit(); - emitter.square(Direction.UP, 0.0f, 0.4f, 0.4f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 8, 0).sprite(1, 0, 12, 0).sprite(2, 0, 12, 8).sprite(3, 0, 8, 8).emit(); - emitter.square(Direction.DOWN, 0.0f, 0.4f, 0.4f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 4, 0).sprite(1, 0, 8, 0).sprite(2, 0, 8, 8).sprite(3, 0, 4, 8).emit(); + emitter.square(Direction.WEST, 0.4f, 0.4f, 0.6f, 0.6f, 0.0f).color(-1, -1, -1, -1).uv(0, 12, 0).uv(1, 16, 0).uv(2, 16, 4).uv(3, 12, 4).cullFace(Direction.WEST).emit(); + emitter.square(Direction.NORTH, 0.6f, 0.4f, 1.0f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 0, 0).uv(1, 4, 0).uv(2, 4, 8).uv(3, 0, 8).emit(); + emitter.square(Direction.SOUTH, 0.0f, 0.4f, 0.4f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 4, 0).uv(1, 8, 0).uv(2, 8, 8).uv(3, 4, 8).emit(); + emitter.square(Direction.UP, 0.0f, 0.4f, 0.4f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 8, 0).uv(1, 12, 0).uv(2, 12, 8).uv(3, 8, 8).emit(); + emitter.square(Direction.DOWN, 0.0f, 0.4f, 0.4f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 4, 0).uv(1, 8, 0).uv(2, 8, 8).uv(3, 4, 8).emit(); this.west = meshBuilder.build(); - emitter.square(Direction.EAST, 0.4f, 0.4f, 0.6f, 0.6f, 0.0f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 12, 0).sprite(1, 0, 16, 0).sprite(2, 0, 16, 4).sprite(3, 0, 12, 4).cullFace(Direction.EAST).emit(); - emitter.square(Direction.SOUTH, 0.6f, 0.4f, 1.0f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 0, 8).sprite(1, 0, 4, 8).sprite(2, 0, 4, 16).sprite(3, 0, 0, 16).emit(); - emitter.square(Direction.NORTH, 0.0f, 0.4f, 0.4f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 4, 8).sprite(1, 0, 8, 8).sprite(2, 0, 8, 16).sprite(3, 0, 4, 16).emit(); - emitter.square(Direction.DOWN, 0.6f, 0.4f, 1.0f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 8, 8).sprite(1, 0, 12, 8).sprite(2, 0, 12, 16).sprite(3, 0, 8, 16).emit(); - emitter.square(Direction.UP, 0.6f, 0.4f, 1.0f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 4, 8).sprite(1, 0, 8, 8).sprite(2, 0, 8, 16).sprite(3, 0, 4, 16).emit(); + emitter.square(Direction.EAST, 0.4f, 0.4f, 0.6f, 0.6f, 0.0f).color(-1, -1, -1, -1).uv(0, 12, 0).uv(1, 16, 0).uv(2, 16, 4).uv(3, 12, 4).cullFace(Direction.EAST).emit(); + emitter.square(Direction.SOUTH, 0.6f, 0.4f, 1.0f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 0, 8).uv(1, 4, 8).uv(2, 4, 16).uv(3, 0, 16).emit(); + emitter.square(Direction.NORTH, 0.0f, 0.4f, 0.4f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 4, 8).uv(1, 8, 8).uv(2, 8, 16).uv(3, 4, 16).emit(); + emitter.square(Direction.DOWN, 0.6f, 0.4f, 1.0f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 8, 8).uv(1, 12, 8).uv(2, 12, 16).uv(3, 8, 16).emit(); + emitter.square(Direction.UP, 0.6f, 0.4f, 1.0f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 4, 8).uv(1, 8, 8).uv(2, 8, 16).uv(3, 4, 16).emit(); this.east = meshBuilder.build(); } @@ -144,7 +144,7 @@ private void emitBlockQuadsDirection(QuadEmitter emitter, boolean[] connections, mesh.outputTo(emitter); } else { - emitter.square(direction, 0.4f, 0.4f, 0.6f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 12, 0).sprite(1, 0, 16, 0).sprite(2, 0, 16, 4).sprite(3, 0, 12, 4).emit(); + emitter.square(direction, 0.4f, 0.4f, 0.6f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 12, 0).uv(1, 16, 0).uv(2, 16, 4).uv(3, 12, 4).emit(); } } @@ -213,7 +213,7 @@ public void setSprite(TextureAtlasSprite sprite) { @Override public boolean transform(MutableQuadView quad) { - quad.spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV); + quad.spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV); return true; } } diff --git a/src/main/java/dev/galacticraft/mod/client/model/PipeUnbakedModel.java b/src/main/java/dev/galacticraft/mod/client/model/PipeUnbakedModel.java index f668b4b8dc..af014a0a4f 100644 --- a/src/main/java/dev/galacticraft/mod/client/model/PipeUnbakedModel.java +++ b/src/main/java/dev/galacticraft/mod/client/model/PipeUnbakedModel.java @@ -45,7 +45,7 @@ public void resolveParents(Function function) { @Nullable @Override - public BakedModel bake(ModelBaker modelBaker, Function function, ModelState modelState, ResourceLocation resourceLocation) { - return PipeBakedModel.getInstance(function); + public BakedModel bake(ModelBaker baker, Function textureGetter, ModelState state) { + return PipeBakedModel.getInstance(textureGetter); } } \ No newline at end of file diff --git a/src/main/java/dev/galacticraft/mod/client/model/SolarPanelSpriteProvider.java b/src/main/java/dev/galacticraft/mod/client/model/SolarPanelSpriteProvider.java index 9ddd92bc72..7fa00095ea 100644 --- a/src/main/java/dev/galacticraft/mod/client/model/SolarPanelSpriteProvider.java +++ b/src/main/java/dev/galacticraft/mod/client/model/SolarPanelSpriteProvider.java @@ -23,9 +23,9 @@ package dev.galacticraft.mod.client.model; import com.google.gson.JsonObject; +import dev.galacticraft.machinelib.api.machine.MachineRenderData; import dev.galacticraft.machinelib.api.util.BlockFace; import dev.galacticraft.machinelib.client.api.model.MachineModelRegistry; -import dev.galacticraft.machinelib.client.api.render.MachineRenderData; import dev.galacticraft.machinelib.client.impl.model.MachineBakedModel; import net.minecraft.client.renderer.texture.TextureAtlas; import net.minecraft.client.renderer.texture.TextureAtlasSprite; @@ -33,6 +33,7 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.util.GsonHelper; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import java.util.function.Function; @@ -43,14 +44,14 @@ public class SolarPanelSpriteProvider implements MachineModelRegistry.SpriteProv private TextureAtlasSprite machine; public SolarPanelSpriteProvider(JsonObject json, Function function) { - this.front = function.apply(new Material(TextureAtlas.LOCATION_BLOCKS, new ResourceLocation(GsonHelper.getAsString(json, "front")))); - this.top = function.apply(new Material(TextureAtlas.LOCATION_BLOCKS, new ResourceLocation(GsonHelper.getAsString(json, "top")))); + this.front = function.apply(new Material(TextureAtlas.LOCATION_BLOCKS, ResourceLocation.parse(GsonHelper.getAsString(json, "front")))); + this.top = function.apply(new Material(TextureAtlas.LOCATION_BLOCKS, ResourceLocation.parse(GsonHelper.getAsString(json, "top")))); this.machine = function.apply(MachineBakedModel.MACHINE); this.machineSide = function.apply(MachineBakedModel.MACHINE_SIDE); } @Override - public @NotNull TextureAtlasSprite getSpritesForState(@NotNull MachineRenderData renderData, @NotNull BlockFace face) { + public @NotNull TextureAtlasSprite getSpritesForState(@Nullable MachineRenderData renderData, @NotNull BlockFace face) { if (face == BlockFace.FRONT) return this.front; if (face == BlockFace.TOP) return this.top; if (face.side()) return this.machineSide; diff --git a/src/main/java/dev/galacticraft/mod/client/model/VacuumGlassUnbakedModel.java b/src/main/java/dev/galacticraft/mod/client/model/VacuumGlassUnbakedModel.java index 50544e29e2..a6d1c25a91 100644 --- a/src/main/java/dev/galacticraft/mod/client/model/VacuumGlassUnbakedModel.java +++ b/src/main/java/dev/galacticraft/mod/client/model/VacuumGlassUnbakedModel.java @@ -40,13 +40,13 @@ public Collection getDependencies() { } @Override - public void resolveParents(Function modelLoader) { + public void resolveParents(Function baker) { } @Nullable @Override - public BakedModel bake(ModelBaker baker, Function textureGetter, ModelState rotationContainer, ResourceLocation modelId) { + public BakedModel bake(ModelBaker baker, Function textureGetter, ModelState state) { return new VacuumGlassBakedModel(textureGetter); } } diff --git a/src/main/java/dev/galacticraft/mod/client/model/WalkwayBakedModel.java b/src/main/java/dev/galacticraft/mod/client/model/WalkwayBakedModel.java index 5aaf4b9626..00e802a09b 100644 --- a/src/main/java/dev/galacticraft/mod/client/model/WalkwayBakedModel.java +++ b/src/main/java/dev/galacticraft/mod/client/model/WalkwayBakedModel.java @@ -47,6 +47,7 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.BlockAndTintGetter; import net.minecraft.world.level.block.state.BlockState; +import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.joml.Quaternionf; import org.joml.Vector3f; @@ -72,39 +73,39 @@ public class WalkwayBakedModel implements BakedModel { private final TextureAtlasSprite sprite; protected WalkwayBakedModel(ModelBaker loader, Function textureGetter, ModelState rotationContainer) { - this.platform = loader.getModel(WALKWAY_PLATFORM).bake(loader, textureGetter, rotationContainer, WALKWAY_PLATFORM); + this.platform = loader.getModel(WALKWAY_PLATFORM).bake(loader, textureGetter, rotationContainer); this.sprite = textureGetter.apply(new Material(InventoryMenu.BLOCK_ATLAS, WALKWAY_TEXTURE)); var meshBuilder = RendererAccess.INSTANCE.getRenderer().meshBuilder(); var emitter = meshBuilder.getEmitter(); - emitter.square(Direction.WEST, 0.6f, 0.4f, 0.4f, 0.0f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 6, 4).sprite(2, 0, 9, 4).sprite(3, 0, 9, 11).sprite(0, 0, 6, 11).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.EAST, 0.6f, 0.4f, 0.4f, 0.0f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 6, 4).sprite(2, 0, 9, 4).sprite(3, 0, 9, 11).sprite(0, 0, 6, 11).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.SOUTH, 0.4f, 0.0f, 0.6f, 0.4f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 6, 4).sprite(2, 0, 9, 4).sprite(3, 0, 9, 11).sprite(0, 0, 6, 11).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.NORTH, 0.4f, 0.0f, 0.6f, 0.4f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 6, 4).sprite(2, 0, 9, 4).sprite(3, 0, 9, 11).sprite(0, 0, 6, 11).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.WEST, 0.6f, 0.4f, 0.4f, 0.0f, 0.4f).color(-1, -1, -1, -1).uv(1, 6, 4).uv(2, 9, 4).uv(3, 9, 11).uv(0, 6, 11).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.EAST, 0.6f, 0.4f, 0.4f, 0.0f, 0.4f).color(-1, -1, -1, -1).uv(1, 6, 4).uv(2, 9, 4).uv(3, 9, 11).uv(0, 6, 11).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.SOUTH, 0.4f, 0.0f, 0.6f, 0.4f, 0.4f).color(-1, -1, -1, -1).uv(1, 6, 4).uv(2, 9, 4).uv(3, 9, 11).uv(0, 6, 11).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.NORTH, 0.4f, 0.0f, 0.6f, 0.4f, 0.4f).color(-1, -1, -1, -1).uv(1, 6, 4).uv(2, 9, 4).uv(3, 9, 11).uv(0, 6, 11).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); this.down = meshBuilder.build(); - emitter.square(Direction.EAST, 0.6f, 1.0f, 0.4f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 6, 4).sprite(2, 0, 9, 4).sprite(3, 0, 9, 11).sprite(0, 0, 6, 11).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.WEST, 0.6f, 1.0f, 0.4f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 6, 4).sprite(2, 0, 9, 4).sprite(3, 0, 9, 11).sprite(0, 0, 6, 11).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.NORTH, 0.4f, 0.6f, 0.6f, 1.0f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 6, 4).sprite(2, 0, 9, 4).sprite(3, 0, 9, 11).sprite(0, 0, 6, 11).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.SOUTH, 0.4f, 0.6f, 0.6f, 1.0f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 6, 4).sprite(2, 0, 9, 4).sprite(3, 0, 9, 11).sprite(0, 0, 6, 11).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.EAST, 0.6f, 1.0f, 0.4f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(1, 6, 4).uv(2, 9, 4).uv(3, 9, 11).uv(0, 6, 11).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.WEST, 0.6f, 1.0f, 0.4f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(1, 6, 4).uv(2, 9, 4).uv(3, 9, 11).uv(0, 6, 11).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.NORTH, 0.4f, 0.6f, 0.6f, 1.0f, 0.4f).color(-1, -1, -1, -1).uv(1, 6, 4).uv(2, 9, 4).uv(3, 9, 11).uv(0, 6, 11).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.SOUTH, 0.4f, 0.6f, 0.6f, 1.0f, 0.4f).color(-1, -1, -1, -1).uv(1, 6, 4).uv(2, 9, 4).uv(3, 9, 11).uv(0, 6, 11).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); this.up = meshBuilder.build(); - emitter.square(Direction.WEST, 0.0f, 0.4f, 0.4f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 6, 4).sprite(1, 0, 9, 4).sprite(2, 0, 9, 11).sprite(3, 0, 6, 11).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.EAST, 0.6f, 0.4f, 1.0f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 6, 4).sprite(1, 0, 9, 4).sprite(2, 0, 9, 11).sprite(3, 0, 6, 11).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.DOWN, 0.4f, 0.0f, 0.6f, 0.4f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 6, 4).sprite(2, 0, 9, 4).sprite(3, 0, 9, 11).sprite(0, 0, 6, 11).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.UP, 0.4f, 0.6f, 0.6f, 1.0f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 6, 4).sprite(2, 0, 9, 4).sprite(3, 0, 9, 11).sprite(0, 0, 6, 11).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.WEST, 0.0f, 0.4f, 0.4f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 6, 4).uv(1, 9, 4).uv(2, 9, 11).uv(3, 6, 11).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.EAST, 0.6f, 0.4f, 1.0f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 6, 4).uv(1, 9, 4).uv(2, 9, 11).uv(3, 6, 11).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.DOWN, 0.4f, 0.0f, 0.6f, 0.4f, 0.4f).color(-1, -1, -1, -1).uv(1, 6, 4).uv(2, 9, 4).uv(3, 9, 11).uv(0, 6, 11).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.UP, 0.4f, 0.6f, 0.6f, 1.0f, 0.4f).color(-1, -1, -1, -1).uv(1, 6, 4).uv(2, 9, 4).uv(3, 9, 11).uv(0, 6, 11).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); this.north = meshBuilder.build(); - emitter.square(Direction.EAST, 0.0f, 0.4f, 0.4f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 6, 4).sprite(1, 0, 9, 4).sprite(2, 0, 9, 11).sprite(3, 0, 6, 11).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.WEST, 0.6f, 0.4f, 1.0f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 6, 4).sprite(1, 0, 9, 4).sprite(2, 0, 9, 11).sprite(3, 0, 6, 11).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.UP, 0.4f, 0.0f, 0.6f, 0.4f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 6, 4).sprite(2, 0, 9, 4).sprite(3, 0, 9, 11).sprite(0, 0, 6, 11).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.DOWN, 0.4f, 0.6f, 0.6f, 1.0f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 6, 4).sprite(2, 0, 9, 4).sprite(3, 0, 9, 11).sprite(0, 0, 6, 11).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.EAST, 0.0f, 0.4f, 0.4f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 6, 4).uv(1, 9, 4).uv(2, 9, 11).uv(3, 6, 11).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.WEST, 0.6f, 0.4f, 1.0f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 6, 4).uv(1, 9, 4).uv(2, 9, 11).uv(3, 6, 11).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.UP, 0.4f, 0.0f, 0.6f, 0.4f, 0.4f).color(-1, -1, -1, -1).uv(1, 6, 4).uv(2, 9, 4).uv(3, 9, 11).uv(0, 6, 11).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.DOWN, 0.4f, 0.6f, 0.6f, 1.0f, 0.4f).color(-1, -1, -1, -1).uv(1, 6, 4).uv(2, 9, 4).uv(3, 9, 11).uv(0, 6, 11).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); this.south = meshBuilder.build(); - emitter.square(Direction.NORTH, 0.6f, 0.4f, 1.0f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 6, 4).sprite(1, 0, 9, 4).sprite(2, 0, 9, 11).sprite(3, 0, 6, 11).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.SOUTH, 0.0f, 0.4f, 0.4f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 6, 4).sprite(1, 0, 9, 4).sprite(2, 0, 9, 11).sprite(3, 0, 6, 11).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.UP, 0.0f, 0.4f, 0.4f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 6, 4).sprite(1, 0, 9, 4).sprite(2, 0, 9, 11).sprite(3, 0, 6, 11).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.DOWN, 0.0f, 0.4f, 0.4f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 6, 4).sprite(1, 0, 9, 4).sprite(2, 0, 9, 11).sprite(3, 0, 6, 11).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.NORTH, 0.6f, 0.4f, 1.0f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 6, 4).uv(1, 9, 4).uv(2, 9, 11).uv(3, 6, 11).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.SOUTH, 0.0f, 0.4f, 0.4f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 6, 4).uv(1, 9, 4).uv(2, 9, 11).uv(3, 6, 11).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.UP, 0.0f, 0.4f, 0.4f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 6, 4).uv(1, 9, 4).uv(2, 9, 11).uv(3, 6, 11).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.DOWN, 0.0f, 0.4f, 0.4f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 6, 4).uv(1, 9, 4).uv(2, 9, 11).uv(3, 6, 11).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); this.west = meshBuilder.build(); - emitter.square(Direction.SOUTH, 0.6f, 0.4f, 1.0f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 6, 4).sprite(1, 0, 9, 4).sprite(2, 0, 9, 11).sprite(3, 0, 6, 11).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.NORTH, 0.0f, 0.4f, 0.4f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 6, 4).sprite(1, 0, 9, 4).sprite(2, 0, 9, 11).sprite(3, 0, 6, 11).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.DOWN, 0.6f, 0.4f, 1.0f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 6, 4).sprite(1, 0, 9, 4).sprite(2, 0, 9, 11).sprite(3, 0, 6, 11).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.UP, 0.6f, 0.4f, 1.0f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 6, 4).sprite(1, 0, 9, 4).sprite(2, 0, 9, 11).sprite(3, 0, 6, 11).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.SOUTH, 0.6f, 0.4f, 1.0f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 6, 4).uv(1, 9, 4).uv(2, 9, 11).uv(3, 6, 11).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.NORTH, 0.0f, 0.4f, 0.4f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 6, 4).uv(1, 9, 4).uv(2, 9, 11).uv(3, 6, 11).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.DOWN, 0.6f, 0.4f, 1.0f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 6, 4).uv(1, 9, 4).uv(2, 9, 11).uv(3, 6, 11).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.UP, 0.6f, 0.4f, 1.0f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 6, 4).uv(1, 9, 4).uv(2, 9, 11).uv(3, 6, 11).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); this.east = meshBuilder.build(); } @@ -165,7 +166,7 @@ public void emitItemQuads(ItemStack itemStack, Supplier randomSupp } @Override - public List getQuads(@Nullable BlockState blockState, @Nullable Direction direction, RandomSource random) { + public @NotNull List getQuads(@Nullable BlockState blockState, @Nullable Direction direction, RandomSource random) { return Collections.emptyList(); } diff --git a/src/main/java/dev/galacticraft/mod/client/model/WalkwayUnbakedModel.java b/src/main/java/dev/galacticraft/mod/client/model/WalkwayUnbakedModel.java index 330cc5525e..5f12b5f616 100644 --- a/src/main/java/dev/galacticraft/mod/client/model/WalkwayUnbakedModel.java +++ b/src/main/java/dev/galacticraft/mod/client/model/WalkwayUnbakedModel.java @@ -25,6 +25,7 @@ import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.client.resources.model.*; import net.minecraft.resources.ResourceLocation; +import org.jetbrains.annotations.Nullable; import java.util.Collection; import java.util.Collections; @@ -42,8 +43,9 @@ public Collection getDependencies() { public void resolveParents(Function function) { } + @Nullable @Override - public BakedModel bake(ModelBaker loader, Function spriteFunction, ModelState rotationContainer, ResourceLocation modelId) { - return WalkwayBakedModel.getInstance(loader, spriteFunction, rotationContainer); + public BakedModel bake(ModelBaker baker, Function textureGetter, ModelState state) { + return WalkwayBakedModel.getInstance(baker, textureGetter, state); } } \ No newline at end of file diff --git a/src/main/java/dev/galacticraft/mod/client/model/WireBakedModel.java b/src/main/java/dev/galacticraft/mod/client/model/WireBakedModel.java index 849e6ce86a..9bdd68a23f 100644 --- a/src/main/java/dev/galacticraft/mod/client/model/WireBakedModel.java +++ b/src/main/java/dev/galacticraft/mod/client/model/WireBakedModel.java @@ -69,35 +69,35 @@ protected WireBakedModel(Function textureGetter) { this.sprite = textureGetter.apply(new Material(InventoryMenu.BLOCK_ATLAS, ALUMINUM_WIRE)); var meshBuilder = RendererAccess.INSTANCE.getRenderer().meshBuilder(); var emitter = meshBuilder.getEmitter(); - emitter.square(Direction.WEST, 0.6f, 0.4f, 0.4f, 0.0f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 0, 0).sprite(2, 0, 4, 0).sprite(3, 0, 4, 8).sprite(0, 0, 0, 8).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.EAST, 0.6f, 0.4f, 0.4f, 0.0f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 4, 0).sprite(2, 0, 8, 0).sprite(3, 0, 8, 8).sprite(0, 0, 4, 8).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.SOUTH, 0.4f, 0.0f, 0.6f, 0.4f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 8, 0).sprite(2, 0, 12, 0).sprite(3, 0, 12, 8).sprite(0, 0, 8, 8).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.NORTH, 0.4f, 0.0f, 0.6f, 0.4f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 4, 0).sprite(2, 0, 8, 0).sprite(3, 0, 8, 8).sprite(0, 0, 4, 8).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.WEST, 0.6f, 0.4f, 0.4f, 0.0f, 0.4f).color(-1, -1, -1, -1).uv(1, 0, 0).uv(2, 4, 0).uv(3, 4, 8).uv(0, 0, 8).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.EAST, 0.6f, 0.4f, 0.4f, 0.0f, 0.4f).color(-1, -1, -1, -1).uv(1, 4, 0).uv(2, 8, 0).uv(3, 8, 8).uv(0, 4, 8).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.SOUTH, 0.4f, 0.0f, 0.6f, 0.4f, 0.4f).color(-1, -1, -1, -1).uv(1, 8, 0).uv(2, 12, 0).uv(3, 12, 8).uv(0, 8, 8).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.NORTH, 0.4f, 0.0f, 0.6f, 0.4f, 0.4f).color(-1, -1, -1, -1).uv(1, 4, 0).uv(2, 8, 0).uv(3, 8, 8).uv(0, 4, 8).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); this.down = meshBuilder.build(); - emitter.square(Direction.EAST, 0.6f, 1.0f, 0.4f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 0, 8).sprite(2, 0, 4, 8).sprite(3, 0, 4, 16).sprite(0, 0, 0, 16).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.WEST, 0.6f, 1.0f, 0.4f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 4, 8).sprite(2, 0, 8, 8).sprite(3, 0, 8, 16).sprite(0, 0, 4, 16).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.NORTH, 0.4f, 0.6f, 0.6f, 1.0f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 8, 8).sprite(2, 0, 12, 8).sprite(3, 0, 12, 16).sprite(0, 0, 8, 16).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.SOUTH, 0.4f, 0.6f, 0.6f, 1.0f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 4, 8).sprite(2, 0, 8, 8).sprite(3, 0, 8, 16).sprite(0, 0, 4, 16).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.EAST, 0.6f, 1.0f, 0.4f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(1, 0, 8).uv(2, 4, 8).uv(3, 4, 16).uv(0, 0, 16).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.WEST, 0.6f, 1.0f, 0.4f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(1, 4, 8).uv(2, 8, 8).uv(3, 8, 16).uv(0, 4, 16).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.NORTH, 0.4f, 0.6f, 0.6f, 1.0f, 0.4f).color(-1, -1, -1, -1).uv(1, 8, 8).uv(2, 12, 8).uv(3, 12, 16).uv(0, 8, 16).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.SOUTH, 0.4f, 0.6f, 0.6f, 1.0f, 0.4f).color(-1, -1, -1, -1).uv(1, 4, 8).uv(2, 8, 8).uv(3, 8, 16).uv(0, 4, 16).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); this.up = meshBuilder.build(); - emitter.square(Direction.WEST, 0.0f, 0.4f, 0.4f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 0, 0).sprite(1, 0, 4, 0).sprite(2, 0, 4, 8).sprite(3, 0, 0, 8).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.EAST, 0.6f, 0.4f, 1.0f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 4, 0).sprite(1, 0, 8, 0).sprite(2, 0, 8, 8).sprite(3, 0, 4, 8).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.DOWN, 0.4f, 0.0f, 0.6f, 0.4f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 8, 0).sprite(2, 0, 12, 0).sprite(3, 0, 12, 8).sprite(0, 0, 8, 8).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.UP, 0.4f, 0.6f, 0.6f, 1.0f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 4, 0).sprite(2, 0, 8, 0).sprite(3, 0, 8, 8).sprite(0, 0, 4, 8).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.WEST, 0.0f, 0.4f, 0.4f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 0, 0).uv(1, 4, 0).uv(2, 4, 8).uv(3, 0, 8).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.EAST, 0.6f, 0.4f, 1.0f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 4, 0).uv(1, 8, 0).uv(2, 8, 8).uv(3, 4, 8).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.DOWN, 0.4f, 0.0f, 0.6f, 0.4f, 0.4f).color(-1, -1, -1, -1).uv(1, 8, 0).uv(2, 12, 0).uv(3, 12, 8).uv(0, 8, 8).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.UP, 0.4f, 0.6f, 0.6f, 1.0f, 0.4f).color(-1, -1, -1, -1).uv(1, 4, 0).uv(2, 8, 0).uv(3, 8, 8).uv(0, 4, 8).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); this.north = meshBuilder.build(); - emitter.square(Direction.EAST, 0.0f, 0.4f, 0.4f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 0, 8).sprite(1, 0, 4, 8).sprite(2, 0, 4, 16).sprite(3, 0, 0, 16).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.WEST, 0.6f, 0.4f, 1.0f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 4, 8).sprite(1, 0, 8, 8).sprite(2, 0, 8, 16).sprite(3, 0, 4, 16).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.UP, 0.4f, 0.0f, 0.6f, 0.4f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 8, 8).sprite(2, 0, 12, 8).sprite(3, 0, 12, 16).sprite(0, 0, 8, 16).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.DOWN, 0.4f, 0.6f, 0.6f, 1.0f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 4, 8).sprite(2, 0, 8, 8).sprite(3, 0, 8, 16).sprite(0, 0, 4, 16).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.EAST, 0.0f, 0.4f, 0.4f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 0, 8).uv(1, 4, 8).uv(2, 4, 16).uv(3, 0, 16).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.WEST, 0.6f, 0.4f, 1.0f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 4, 8).uv(1, 8, 8).uv(2, 8, 16).uv(3, 4, 16).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.UP, 0.4f, 0.0f, 0.6f, 0.4f, 0.4f).color(-1, -1, -1, -1).uv(1, 8, 8).uv(2, 12, 8).uv(3, 12, 16).uv(0, 8, 16).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.DOWN, 0.4f, 0.6f, 0.6f, 1.0f, 0.4f).color(-1, -1, -1, -1).uv(1, 4, 8).uv(2, 8, 8).uv(3, 8, 16).uv(0, 4, 16).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); this.south = meshBuilder.build(); - emitter.square(Direction.NORTH, 0.6f, 0.4f, 1.0f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 0, 0).sprite(1, 0, 4, 0).sprite(2, 0, 4, 8).sprite(3, 0, 0, 8).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.SOUTH, 0.0f, 0.4f, 0.4f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 4, 0).sprite(1, 0, 8, 0).sprite(2, 0, 8, 8).sprite(3, 0, 4, 8).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.UP, 0.0f, 0.4f, 0.4f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 8, 0).sprite(1, 0, 12, 0).sprite(2, 0, 12, 8).sprite(3, 0, 8, 8).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.DOWN, 0.0f, 0.4f, 0.4f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 4, 0).sprite(1, 0, 8, 0).sprite(2, 0, 8, 8).sprite(3, 0, 4, 8).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.NORTH, 0.6f, 0.4f, 1.0f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 0, 0).uv(1, 4, 0).uv(2, 4, 8).uv(3, 0, 8).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.SOUTH, 0.0f, 0.4f, 0.4f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 4, 0).uv(1, 8, 0).uv(2, 8, 8).uv(3, 4, 8).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.UP, 0.0f, 0.4f, 0.4f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 8, 0).uv(1, 12, 0).uv(2, 12, 8).uv(3, 8, 8).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.DOWN, 0.0f, 0.4f, 0.4f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 4, 0).uv(1, 8, 0).uv(2, 8, 8).uv(3, 4, 8).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); this.west = meshBuilder.build(); - emitter.square(Direction.SOUTH, 0.6f, 0.4f, 1.0f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 0, 8).sprite(1, 0, 4, 8).sprite(2, 0, 4, 16).sprite(3, 0, 0, 16).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.NORTH, 0.0f, 0.4f, 0.4f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 4, 8).sprite(1, 0, 8, 8).sprite(2, 0, 8, 16).sprite(3, 0, 4, 16).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.DOWN, 0.6f, 0.4f, 1.0f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 8, 8).sprite(1, 0, 12, 8).sprite(2, 0, 12, 16).sprite(3, 0, 8, 16).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.UP, 0.6f, 0.4f, 1.0f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 4, 8).sprite(1, 0, 8, 8).sprite(2, 0, 8, 16).sprite(3, 0, 4, 16).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.SOUTH, 0.6f, 0.4f, 1.0f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 0, 8).uv(1, 4, 8).uv(2, 4, 16).uv(3, 0, 16).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.NORTH, 0.0f, 0.4f, 0.4f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 4, 8).uv(1, 8, 8).uv(2, 8, 16).uv(3, 4, 16).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.DOWN, 0.6f, 0.4f, 1.0f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 8, 8).uv(1, 12, 8).uv(2, 12, 16).uv(3, 8, 16).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.UP, 0.6f, 0.4f, 1.0f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 4, 8).uv(1, 8, 8).uv(2, 8, 16).uv(3, 4, 16).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); this.east = meshBuilder.build(); } @@ -125,7 +125,7 @@ private void emitBlockQuadsDirection(QuadEmitter emitter, boolean[] connections, mesh.outputTo(emitter); } else { - emitter.square(direction, 0.4f, 0.4f, 0.6f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 12, 0).sprite(1, 0, 16, 0).sprite(2, 0, 16, 4).sprite(3, 0, 12, 4).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(direction, 0.4f, 0.4f, 0.6f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 12, 0).uv(1, 16, 0).uv(2, 16, 4).uv(3, 12, 4).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); } } diff --git a/src/main/java/dev/galacticraft/mod/client/model/WireUnbakedModel.java b/src/main/java/dev/galacticraft/mod/client/model/WireUnbakedModel.java index e63540ae16..4d45371ee9 100644 --- a/src/main/java/dev/galacticraft/mod/client/model/WireUnbakedModel.java +++ b/src/main/java/dev/galacticraft/mod/client/model/WireUnbakedModel.java @@ -25,6 +25,7 @@ import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.client.resources.model.*; import net.minecraft.resources.ResourceLocation; +import org.jetbrains.annotations.Nullable; import java.util.Collection; import java.util.Collections; @@ -42,8 +43,9 @@ public Collection getDependencies() { public void resolveParents(Function function) { } + @Nullable @Override - public BakedModel bake(ModelBaker loader, Function spriteFunction, ModelState rotationContainer, ResourceLocation modelId) { - return WireBakedModel.getInstance(spriteFunction); + public BakedModel bake(ModelBaker baker, Function textureGetter, ModelState state) { + return WireBakedModel.getInstance(textureGetter); } } \ No newline at end of file diff --git a/src/main/java/dev/galacticraft/mod/client/model/WireWalkwayBakedModel.java b/src/main/java/dev/galacticraft/mod/client/model/WireWalkwayBakedModel.java index b0357ecd12..6182024b44 100644 --- a/src/main/java/dev/galacticraft/mod/client/model/WireWalkwayBakedModel.java +++ b/src/main/java/dev/galacticraft/mod/client/model/WireWalkwayBakedModel.java @@ -78,83 +78,83 @@ public class WireWalkwayBakedModel implements BakedModel { private final TextureAtlasSprite sprite; private final TextureAtlasSprite walkwaySprite; - protected WireWalkwayBakedModel(ModelBaker loader, Function textureGetter, ModelState rotationContainer) { - this.walkway = loader.getModel(WALKWAY_PLATFORM).bake(loader, textureGetter, rotationContainer, WALKWAY_PLATFORM); + protected WireWalkwayBakedModel(ModelBaker baker, Function textureGetter, ModelState state) { + this.walkway = baker.getModel(WALKWAY_PLATFORM).bake(baker, textureGetter, state); this.sprite = textureGetter.apply(new Material(InventoryMenu.BLOCK_ATLAS, ALUMINUM_WIRE)); this.walkwaySprite = textureGetter.apply(new Material(InventoryMenu.BLOCK_ATLAS, WALKWAY_TEXTURE)); var meshBuilder = RendererAccess.INSTANCE.getRenderer().meshBuilder(); var emitter = meshBuilder.getEmitter(); - emitter.square(Direction.WEST, 0.6f, 0.4f, 0.4f, 0.0f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 0, 0).sprite(2, 0, 4, 0).sprite(3, 0, 4, 8).sprite(0, 0, 0, 8).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.EAST, 0.6f, 0.4f, 0.4f, 0.0f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 4, 0).sprite(2, 0, 8, 0).sprite(3, 0, 8, 8).sprite(0, 0, 4, 8).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.SOUTH, 0.4f, 0.0f, 0.6f, 0.4f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 8, 0).sprite(2, 0, 12, 0).sprite(3, 0, 12, 8).sprite(0, 0, 8, 8).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.NORTH, 0.4f, 0.0f, 0.6f, 0.4f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 4, 0).sprite(2, 0, 8, 0).sprite(3, 0, 8, 8).sprite(0, 0, 4, 8).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.WEST, 0.6f, 0.4f, 0.4f, 0.0f, 0.4f).color(-1, -1, -1, -1).uv(1, 0, 0).uv(2, 4, 0).uv(3, 4, 8).uv(0, 0, 8).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.EAST, 0.6f, 0.4f, 0.4f, 0.0f, 0.4f).color(-1, -1, -1, -1).uv(1, 4, 0).uv(2, 8, 0).uv(3, 8, 8).uv(0, 4, 8).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.SOUTH, 0.4f, 0.0f, 0.6f, 0.4f, 0.4f).color(-1, -1, -1, -1).uv(1, 8, 0).uv(2, 12, 0).uv(3, 12, 8).uv(0, 8, 8).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.NORTH, 0.4f, 0.0f, 0.6f, 0.4f, 0.4f).color(-1, -1, -1, -1).uv(1, 4, 0).uv(2, 8, 0).uv(3, 8, 8).uv(0, 4, 8).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); this.down = meshBuilder.build(); - emitter.square(Direction.EAST, 0.6f, 1.0f, 0.4f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 0, 8).sprite(2, 0, 4, 8).sprite(3, 0, 4, 16).sprite(0, 0, 0, 16).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.WEST, 0.6f, 1.0f, 0.4f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 4, 8).sprite(2, 0, 8, 8).sprite(3, 0, 8, 16).sprite(0, 0, 4, 16).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.NORTH, 0.4f, 0.6f, 0.6f, 1.0f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 8, 8).sprite(2, 0, 12, 8).sprite(3, 0, 12, 16).sprite(0, 0, 8, 16).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.SOUTH, 0.4f, 0.6f, 0.6f, 1.0f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 4, 8).sprite(2, 0, 8, 8).sprite(3, 0, 8, 16).sprite(0, 0, 4, 16).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.EAST, 0.6f, 1.0f, 0.4f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(1, 0, 8).uv(2, 4, 8).uv(3, 4, 16).uv(0, 0, 16).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.WEST, 0.6f, 1.0f, 0.4f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(1, 4, 8).uv(2, 8, 8).uv(3, 8, 16).uv(0, 4, 16).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.NORTH, 0.4f, 0.6f, 0.6f, 1.0f, 0.4f).color(-1, -1, -1, -1).uv(1, 8, 8).uv(2, 12, 8).uv(3, 12, 16).uv(0, 8, 16).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.SOUTH, 0.4f, 0.6f, 0.6f, 1.0f, 0.4f).color(-1, -1, -1, -1).uv(1, 4, 8).uv(2, 8, 8).uv(3, 8, 16).uv(0, 4, 16).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); this.up = meshBuilder.build(); - emitter.square(Direction.WEST, 0.0f, 0.4f, 0.4f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 0, 0).sprite(1, 0, 4, 0).sprite(2, 0, 4, 8).sprite(3, 0, 0, 8).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.EAST, 0.6f, 0.4f, 1.0f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 4, 0).sprite(1, 0, 8, 0).sprite(2, 0, 8, 8).sprite(3, 0, 4, 8).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.DOWN, 0.4f, 0.0f, 0.6f, 0.4f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 8, 0).sprite(2, 0, 12, 0).sprite(3, 0, 12, 8).sprite(0, 0, 8, 8).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.UP, 0.4f, 0.6f, 0.6f, 1.0f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 4, 0).sprite(2, 0, 8, 0).sprite(3, 0, 8, 8).sprite(0, 0, 4, 8).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.WEST, 0.0f, 0.4f, 0.4f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 0, 0).uv(1, 4, 0).uv(2, 4, 8).uv(3, 0, 8).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.EAST, 0.6f, 0.4f, 1.0f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 4, 0).uv(1, 8, 0).uv(2, 8, 8).uv(3, 4, 8).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.DOWN, 0.4f, 0.0f, 0.6f, 0.4f, 0.4f).color(-1, -1, -1, -1).uv(1, 8, 0).uv(2, 12, 0).uv(3, 12, 8).uv(0, 8, 8).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.UP, 0.4f, 0.6f, 0.6f, 1.0f, 0.4f).color(-1, -1, -1, -1).uv(1, 4, 0).uv(2, 8, 0).uv(3, 8, 8).uv(0, 4, 8).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); this.north = meshBuilder.build(); - emitter.square(Direction.EAST, 0.0f, 0.4f, 0.4f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 0, 8).sprite(1, 0, 4, 8).sprite(2, 0, 4, 16).sprite(3, 0, 0, 16).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.WEST, 0.6f, 0.4f, 1.0f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 4, 8).sprite(1, 0, 8, 8).sprite(2, 0, 8, 16).sprite(3, 0, 4, 16).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.UP, 0.4f, 0.0f, 0.6f, 0.4f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 8, 8).sprite(2, 0, 12, 8).sprite(3, 0, 12, 16).sprite(0, 0, 8, 16).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.DOWN, 0.4f, 0.6f, 0.6f, 1.0f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 4, 8).sprite(2, 0, 8, 8).sprite(3, 0, 8, 16).sprite(0, 0, 4, 16).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.EAST, 0.0f, 0.4f, 0.4f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 0, 8).uv(1, 4, 8).uv(2, 4, 16).uv(3, 0, 16).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.WEST, 0.6f, 0.4f, 1.0f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 4, 8).uv(1, 8, 8).uv(2, 8, 16).uv(3, 4, 16).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.UP, 0.4f, 0.0f, 0.6f, 0.4f, 0.4f).color(-1, -1, -1, -1).uv(1, 8, 8).uv(2, 12, 8).uv(3, 12, 16).uv(0, 8, 16).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.DOWN, 0.4f, 0.6f, 0.6f, 1.0f, 0.4f).color(-1, -1, -1, -1).uv(1, 4, 8).uv(2, 8, 8).uv(3, 8, 16).uv(0, 4, 16).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); this.south = meshBuilder.build(); - emitter.square(Direction.NORTH, 0.6f, 0.4f, 1.0f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 0, 0).sprite(1, 0, 4, 0).sprite(2, 0, 4, 8).sprite(3, 0, 0, 8).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.SOUTH, 0.0f, 0.4f, 0.4f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 4, 0).sprite(1, 0, 8, 0).sprite(2, 0, 8, 8).sprite(3, 0, 4, 8).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.UP, 0.0f, 0.4f, 0.4f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 8, 0).sprite(1, 0, 12, 0).sprite(2, 0, 12, 8).sprite(3, 0, 8, 8).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.DOWN, 0.0f, 0.4f, 0.4f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 4, 0).sprite(1, 0, 8, 0).sprite(2, 0, 8, 8).sprite(3, 0, 4, 8).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.NORTH, 0.6f, 0.4f, 1.0f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 0, 0).uv(1, 4, 0).uv(2, 4, 8).uv(3, 0, 8).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.SOUTH, 0.0f, 0.4f, 0.4f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 4, 0).uv(1, 8, 0).uv(2, 8, 8).uv(3, 4, 8).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.UP, 0.0f, 0.4f, 0.4f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 8, 0).uv(1, 12, 0).uv(2, 12, 8).uv(3, 8, 8).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.DOWN, 0.0f, 0.4f, 0.4f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 4, 0).uv(1, 8, 0).uv(2, 8, 8).uv(3, 4, 8).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); this.west = meshBuilder.build(); - emitter.square(Direction.SOUTH, 0.6f, 0.4f, 1.0f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 0, 8).sprite(1, 0, 4, 8).sprite(2, 0, 4, 16).sprite(3, 0, 0, 16).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.NORTH, 0.0f, 0.4f, 0.4f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 4, 8).sprite(1, 0, 8, 8).sprite(2, 0, 8, 16).sprite(3, 0, 4, 16).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.DOWN, 0.6f, 0.4f, 1.0f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 8, 8).sprite(1, 0, 12, 8).sprite(2, 0, 12, 16).sprite(3, 0, 8, 16).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.UP, 0.6f, 0.4f, 1.0f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 4, 8).sprite(1, 0, 8, 8).sprite(2, 0, 8, 16).sprite(3, 0, 4, 16).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.SOUTH, 0.6f, 0.4f, 1.0f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 0, 8).uv(1, 4, 8).uv(2, 4, 16).uv(3, 0, 16).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.NORTH, 0.0f, 0.4f, 0.4f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 4, 8).uv(1, 8, 8).uv(2, 8, 16).uv(3, 4, 16).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.DOWN, 0.6f, 0.4f, 1.0f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 8, 8).uv(1, 12, 8).uv(2, 12, 16).uv(3, 8, 16).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.UP, 0.6f, 0.4f, 1.0f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 4, 8).uv(1, 8, 8).uv(2, 8, 16).uv(3, 4, 16).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); this.east = meshBuilder.build(); - emitter.square(Direction.WEST, 0.6f, 0.0f, 0.4f, -0.2f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 0, 0).sprite(2, 0, 4, 0).sprite(3, 0, 4, 8).sprite(0, 0, 0, 8).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.EAST, 0.6f, 0.0f, 0.4f, -0.2f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 4, 0).sprite(2, 0, 8, 0).sprite(3, 0, 8, 8).sprite(0, 0, 4, 8).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.SOUTH, 0.4f, -0.2f, 0.6f, 0.0f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 8, 0).sprite(2, 0, 12, 0).sprite(3, 0, 12, 8).sprite(0, 0, 8, 8).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.NORTH, 0.4f, -0.2f, 0.6f, 0.0f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 4, 0).sprite(2, 0, 8, 0).sprite(3, 0, 8, 8).sprite(0, 0, 4, 8).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.WEST, 0.6f, 0.0f, 0.4f, -0.2f, 0.4f).color(-1, -1, -1, -1).uv(1, 0, 0).uv(2, 4, 0).uv(3, 4, 8).uv(0, 0, 8).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.EAST, 0.6f, 0.0f, 0.4f, -0.2f, 0.4f).color(-1, -1, -1, -1).uv(1, 4, 0).uv(2, 8, 0).uv(3, 8, 8).uv(0, 4, 8).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.SOUTH, 0.4f, -0.2f, 0.6f, 0.0f, 0.4f).color(-1, -1, -1, -1).uv(1, 8, 0).uv(2, 12, 0).uv(3, 12, 8).uv(0, 8, 8).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.NORTH, 0.4f, -0.2f, 0.6f, 0.0f, 0.4f).color(-1, -1, -1, -1).uv(1, 4, 0).uv(2, 8, 0).uv(3, 8, 8).uv(0, 4, 8).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); this.smallDown = meshBuilder.build(); - emitter.square(Direction.EAST, 0.6f, 1.2f, 0.4f, 1.0f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 0, 8).sprite(2, 0, 4, 8).sprite(3, 0, 4, 16).sprite(0, 0, 0, 16).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.WEST, 0.6f, 1.2f, 0.4f, 1.0f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 4, 8).sprite(2, 0, 8, 8).sprite(3, 0, 8, 16).sprite(0, 0, 4, 16).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.NORTH, 0.4f, 1.0f, 0.6f, 1.2f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 8, 8).sprite(2, 0, 12, 8).sprite(3, 0, 12, 16).sprite(0, 0, 8, 16).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.SOUTH, 0.4f, 1.0f, 0.6f, 1.2f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 4, 8).sprite(2, 0, 8, 8).sprite(3, 0, 8, 16).sprite(0, 0, 4, 16).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.EAST, 0.6f, 1.2f, 0.4f, 1.0f, 0.4f).color(-1, -1, -1, -1).uv(1, 0, 8).uv(2, 4, 8).uv(3, 4, 16).uv(0, 0, 16).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.WEST, 0.6f, 1.2f, 0.4f, 1.0f, 0.4f).color(-1, -1, -1, -1).uv(1, 4, 8).uv(2, 8, 8).uv(3, 8, 16).uv(0, 4, 16).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.NORTH, 0.4f, 1.0f, 0.6f, 1.2f, 0.4f).color(-1, -1, -1, -1).uv(1, 8, 8).uv(2, 12, 8).uv(3, 12, 16).uv(0, 8, 16).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.SOUTH, 0.4f, 1.0f, 0.6f, 1.2f, 0.4f).color(-1, -1, -1, -1).uv(1, 4, 8).uv(2, 8, 8).uv(3, 8, 16).uv(0, 4, 16).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); this.smallUp = meshBuilder.build(); - emitter.square(Direction.WEST, -0.2f, 0.4f, 0.0f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 0, 0).sprite(1, 0, 4, 0).sprite(2, 0, 4, 8).sprite(3, 0, 0, 8).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.EAST, 1.0f, 0.4f, 1.2f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 4, 0).sprite(1, 0, 8, 0).sprite(2, 0, 8, 8).sprite(3, 0, 4, 8).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.DOWN, 0.4f, -0.2f, 0.6f, 0.0f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 8, 0).sprite(2, 0, 12, 0).sprite(3, 0, 12, 8).sprite(0, 0, 8, 8).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.UP, 0.4f, 1.0f, 0.6f, 1.2f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 4, 0).sprite(2, 0, 8, 0).sprite(3, 0, 8, 8).sprite(0, 0, 4, 8).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.WEST, -0.2f, 0.4f, 0.0f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 0, 0).uv(1, 4, 0).uv(2, 4, 8).uv(3, 0, 8).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.EAST, 1.0f, 0.4f, 1.2f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 4, 0).uv(1, 8, 0).uv(2, 8, 8).uv(3, 4, 8).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.DOWN, 0.4f, -0.2f, 0.6f, 0.0f, 0.4f).color(-1, -1, -1, -1).uv(1, 8, 0).uv(2, 12, 0).uv(3, 12, 8).uv(0, 8, 8).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.UP, 0.4f, 1.0f, 0.6f, 1.2f, 0.4f).color(-1, -1, -1, -1).uv(1, 4, 0).uv(2, 8, 0).uv(3, 8, 8).uv(0, 4, 8).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); this.smallNorth = meshBuilder.build(); - emitter.square(Direction.EAST, -0.2f, 0.4f, 0.0f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 0, 8).sprite(1, 0, 4, 8).sprite(2, 0, 4, 16).sprite(3, 0, 0, 16).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.WEST, 1.0f, 0.4f, 1.2f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 4, 8).sprite(1, 0, 8, 8).sprite(2, 0, 8, 16).sprite(3, 0, 4, 16).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.UP, 0.4f, -0.2f, 0.6f, 0.0f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 8, 8).sprite(2, 0, 12, 8).sprite(3, 0, 12, 16).sprite(0, 0, 8, 16).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.DOWN, 0.4f, 1.0f, 0.6f, 1.2f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(1, 0, 4, 8).sprite(2, 0, 8, 8).sprite(3, 0, 8, 16).sprite(0, 0, 4, 16).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.EAST, -0.2f, 0.4f, 0.0f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 0, 8).uv(1, 4, 8).uv(2, 4, 16).uv(3, 0, 16).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.WEST, 1.0f, 0.4f, 1.2f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 4, 8).uv(1, 8, 8).uv(2, 8, 16).uv(3, 4, 16).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.UP, 0.4f, -0.2f, 0.6f, 0.0f, 0.4f).color(-1, -1, -1, -1).uv(1, 8, 8).uv(2, 12, 8).uv(3, 12, 16).uv(0, 8, 16).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.DOWN, 0.4f, 1.0f, 0.6f, 1.2f, 0.4f).color(-1, -1, -1, -1).uv(1, 4, 8).uv(2, 8, 8).uv(3, 8, 16).uv(0, 4, 16).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); this.smallSouth = meshBuilder.build(); - emitter.square(Direction.NORTH, 1.0f, 0.4f, 1.2f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 0, 0).sprite(1, 0, 4, 0).sprite(2, 0, 4, 8).sprite(3, 0, 0, 8).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.SOUTH, -0.2f, 0.4f, 0.0f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 4, 0).sprite(1, 0, 8, 0).sprite(2, 0, 8, 8).sprite(3, 0, 4, 8).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.UP, -0.2f, 0.4f, 0.0f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 8, 0).sprite(1, 0, 12, 0).sprite(2, 0, 12, 8).sprite(3, 0, 8, 8).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.DOWN, -0.2f, 0.4f, 0.0f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 4, 0).sprite(1, 0, 8, 0).sprite(2, 0, 8, 8).sprite(3, 0, 4, 8).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.NORTH, 1.0f, 0.4f, 1.2f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 0, 0).uv(1, 4, 0).uv(2, 4, 8).uv(3, 0, 8).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.SOUTH, -0.2f, 0.4f, 0.0f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 4, 0).uv(1, 8, 0).uv(2, 8, 8).uv(3, 4, 8).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.UP, -0.2f, 0.4f, 0.0f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 8, 0).uv(1, 12, 0).uv(2, 12, 8).uv(3, 8, 8).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.DOWN, -0.2f, 0.4f, 0.0f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 4, 0).uv(1, 8, 0).uv(2, 8, 8).uv(3, 4, 8).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); this.smallWest = meshBuilder.build(); - emitter.square(Direction.SOUTH, 1.0f, 0.4f, 1.2f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 0, 8).sprite(1, 0, 4, 8).sprite(2, 0, 4, 16).sprite(3, 0, 0, 16).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.NORTH, -0.2f, 0.4f, 0.0f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 4, 8).sprite(1, 0, 8, 8).sprite(2, 0, 8, 16).sprite(3, 0, 4, 16).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.DOWN, 1.0f, 0.4f, 1.2f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 8, 8).sprite(1, 0, 12, 8).sprite(2, 0, 12, 16).sprite(3, 0, 8, 16).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); - emitter.square(Direction.UP, 1.0f, 0.4f, 1.2f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 4, 8).sprite(1, 0, 8, 8).sprite(2, 0, 8, 16).sprite(3, 0, 4, 16).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.SOUTH, 1.0f, 0.4f, 1.2f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 0, 8).uv(1, 4, 8).uv(2, 4, 16).uv(3, 0, 16).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.NORTH, -0.2f, 0.4f, 0.0f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 4, 8).uv(1, 8, 8).uv(2, 8, 16).uv(3, 4, 16).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.DOWN, 1.0f, 0.4f, 1.2f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 8, 8).uv(1, 12, 8).uv(2, 12, 16).uv(3, 8, 16).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(Direction.UP, 1.0f, 0.4f, 1.2f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 4, 8).uv(1, 8, 8).uv(2, 8, 16).uv(3, 4, 16).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); this.smallEast = meshBuilder.build(); } @@ -206,7 +206,7 @@ private void emitBlockQuadsDirection(QuadEmitter emitter, boolean[] connections, smallMesh.outputTo(emitter); } else { - emitter.square(direction, 0.4f, 0.4f, 0.6f, 0.6f, 0.4f).spriteColor(0, -1, -1, -1, -1).sprite(0, 0, 12, 0).sprite(1, 0, 16, 0).sprite(2, 0, 16, 4).sprite(3, 0, 12, 4).spriteBake(0, this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); + emitter.square(direction, 0.4f, 0.4f, 0.6f, 0.6f, 0.4f).color(-1, -1, -1, -1).uv(0, 12, 0).uv(1, 16, 0).uv(2, 16, 4).uv(3, 12, 4).spriteBake(this.sprite, MutableQuadView.BAKE_NORMALIZED & MutableQuadView.BAKE_LOCK_UV).emit(); } } diff --git a/src/main/java/dev/galacticraft/mod/client/model/WireWalkwayUnbakedModel.java b/src/main/java/dev/galacticraft/mod/client/model/WireWalkwayUnbakedModel.java index 835eeec769..36256498fb 100644 --- a/src/main/java/dev/galacticraft/mod/client/model/WireWalkwayUnbakedModel.java +++ b/src/main/java/dev/galacticraft/mod/client/model/WireWalkwayUnbakedModel.java @@ -26,6 +26,7 @@ import net.minecraft.client.resources.model.*; import net.minecraft.resources.ResourceLocation; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import java.util.Collection; import java.util.Collections; @@ -43,8 +44,9 @@ public class WireWalkwayUnbakedModel implements UnbakedModel { public void resolveParents(Function function) { } + @Nullable @Override - public BakedModel bake(ModelBaker loader, Function spriteFunction, ModelState rotationContainer, ResourceLocation modelId) { - return WireWalkwayBakedModel.getInstance(loader, spriteFunction, rotationContainer); + public BakedModel bake(ModelBaker baker, Function textureGetter, ModelState rotationContainer) { + return WireWalkwayBakedModel.getInstance(baker, textureGetter, rotationContainer); } } \ No newline at end of file diff --git a/src/main/java/dev/galacticraft/mod/client/model/entity/ArchGreyEntityModel.java b/src/main/java/dev/galacticraft/mod/client/model/entity/ArchGreyEntityModel.java index f371b8a178..c501018d45 100644 --- a/src/main/java/dev/galacticraft/mod/client/model/entity/ArchGreyEntityModel.java +++ b/src/main/java/dev/galacticraft/mod/client/model/entity/ArchGreyEntityModel.java @@ -75,12 +75,12 @@ public void setupAnim(T entity, float limbSwing, float limbSwingAmount, float ag } @Override - public void renderToBuffer(PoseStack poseStack, VertexConsumer buffer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) { - Body.render(poseStack, buffer, packedLight, packedOverlay); - Left_Arm.render(poseStack, buffer, packedLight, packedOverlay); - Right_Arm.render(poseStack, buffer, packedLight, packedOverlay); - Left_Leg.render(poseStack, buffer, packedLight, packedOverlay); - Right_Leg.render(poseStack, buffer, packedLight, packedOverlay); - Head.render(poseStack, buffer, packedLight, packedOverlay); + public void renderToBuffer(PoseStack poseStack, VertexConsumer vertices, int light, int overlay, int color) { + Body.render(poseStack, vertices, light, overlay); + Left_Arm.render(poseStack, vertices, light, overlay); + Right_Arm.render(poseStack, vertices, light, overlay); + Left_Leg.render(poseStack, vertices, light, overlay); + Right_Leg.render(poseStack, vertices, light, overlay); + Head.render(poseStack, vertices, light, overlay); } } \ No newline at end of file diff --git a/src/main/java/dev/galacticraft/mod/client/model/entity/CometCubeEntityModel.java b/src/main/java/dev/galacticraft/mod/client/model/entity/CometCubeEntityModel.java index 5ca89efd9e..4b2c119b8c 100644 --- a/src/main/java/dev/galacticraft/mod/client/model/entity/CometCubeEntityModel.java +++ b/src/main/java/dev/galacticraft/mod/client/model/entity/CometCubeEntityModel.java @@ -31,11 +31,11 @@ import net.minecraft.world.entity.Entity; public class CometCubeEntityModel extends EntityModel { - private final ModelPart Body; + private final ModelPart body; private final ModelPart tail; public CometCubeEntityModel(ModelPart root) { - this.Body = root.getChild("Body"); + this.body = root.getChild("Body"); this.tail = root.getChild("tail"); } @@ -56,8 +56,9 @@ public void setupAnim(T entity, float limbSwing, float limbSwingAmount, float ag } @Override - public void renderToBuffer(PoseStack poseStack, VertexConsumer buffer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) { - Body.render(poseStack, buffer, packedLight, packedOverlay); - tail.render(poseStack, buffer, packedLight, packedOverlay); + public void renderToBuffer(PoseStack poseStack, VertexConsumer vertices, int light, int overlay, int color) { + body.render(poseStack, vertices, light, overlay); + tail.render(poseStack, vertices, light, overlay); + } } \ No newline at end of file diff --git a/src/main/java/dev/galacticraft/mod/client/model/entity/EvolvedSkeletonBossModel.java b/src/main/java/dev/galacticraft/mod/client/model/entity/EvolvedSkeletonBossModel.java index 022f3c2b0f..7d9304c38c 100644 --- a/src/main/java/dev/galacticraft/mod/client/model/entity/EvolvedSkeletonBossModel.java +++ b/src/main/java/dev/galacticraft/mod/client/model/entity/EvolvedSkeletonBossModel.java @@ -29,7 +29,10 @@ import net.minecraft.client.model.EntityModel; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; -import net.minecraft.client.model.geom.builders.*; +import net.minecraft.client.model.geom.builders.CubeListBuilder; +import net.minecraft.client.model.geom.builders.LayerDefinition; +import net.minecraft.client.model.geom.builders.MeshDefinition; +import net.minecraft.client.model.geom.builders.PartDefinition; import net.minecraft.util.Mth; import net.minecraft.world.entity.HumanoidArm; @@ -293,8 +296,8 @@ public static LayerDefinition createBodyLayer() { } @Override - public void renderToBuffer(PoseStack poseStack, VertexConsumer buffer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) { - this.root.render(poseStack, buffer, packedLight, packedOverlay, red, green, blue, alpha); + public void renderToBuffer(PoseStack matrices, VertexConsumer vertices, int light, int overlay, int color) { + this.root.render(matrices, vertices, light, overlay, color); } private void setRotation(ModelPart model, float x, float y, float z) { diff --git a/src/main/java/dev/galacticraft/mod/client/model/entity/GazerEntityModel.java b/src/main/java/dev/galacticraft/mod/client/model/entity/GazerEntityModel.java index 844f38292f..e87976e830 100644 --- a/src/main/java/dev/galacticraft/mod/client/model/entity/GazerEntityModel.java +++ b/src/main/java/dev/galacticraft/mod/client/model/entity/GazerEntityModel.java @@ -33,19 +33,19 @@ public class GazerEntityModel extends EntityModel { // This layer location should be baked with EntityRendererProvider.Context in the entity renderer and passed into this model's constructor private final ModelPart Body; - private final ModelPart Left_Arm; - private final ModelPart Right_Arm; - private final ModelPart Left_leg; - private final ModelPart Right_leg; - private final ModelPart Head; + private final ModelPart leftArm; + private final ModelPart rightArm; + private final ModelPart leftLeg; + private final ModelPart rightLeg; + private final ModelPart head; public GazerEntityModel(ModelPart root) { this.Body = root.getChild("Body"); - this.Left_Arm = root.getChild("Left_Arm"); - this.Right_Arm = root.getChild("Right_Arm"); - this.Left_leg = root.getChild("Left_leg"); - this.Right_leg = root.getChild("Right_leg"); - this.Head = root.getChild("Head"); + this.leftArm = root.getChild("Left_Arm"); + this.rightArm = root.getChild("Right_Arm"); + this.leftLeg = root.getChild("Left_leg"); + this.rightLeg = root.getChild("Right_leg"); + this.head = root.getChild("Head"); } public static LayerDefinition createBodyLayer() { @@ -80,12 +80,12 @@ public void setupAnim(T entity, float limbSwing, float limbSwingAmount, float ag } @Override - public void renderToBuffer(PoseStack poseStack, VertexConsumer buffer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) { - Body.render(poseStack, buffer, packedLight, packedOverlay); - Left_Arm.render(poseStack, buffer, packedLight, packedOverlay); - Right_Arm.render(poseStack, buffer, packedLight, packedOverlay); - Left_leg.render(poseStack, buffer, packedLight, packedOverlay); - Right_leg.render(poseStack, buffer, packedLight, packedOverlay); - Head.render(poseStack, buffer, packedLight, packedOverlay); + public void renderToBuffer(PoseStack poseStack, VertexConsumer vertices, int light, int overlay, int color) { + Body.render(poseStack, vertices, light, overlay); + leftArm.render(poseStack, vertices, light, overlay); + rightArm.render(poseStack, vertices, light, overlay); + leftLeg.render(poseStack, vertices, light, overlay); + rightLeg.render(poseStack, vertices, light, overlay); + head.render(poseStack, vertices, light, overlay); } } \ No newline at end of file diff --git a/src/main/java/dev/galacticraft/mod/client/model/entity/GreyEntityModel.java b/src/main/java/dev/galacticraft/mod/client/model/entity/GreyEntityModel.java index 6d4b1baf1b..28fa16cc4e 100644 --- a/src/main/java/dev/galacticraft/mod/client/model/entity/GreyEntityModel.java +++ b/src/main/java/dev/galacticraft/mod/client/model/entity/GreyEntityModel.java @@ -83,14 +83,13 @@ public void setupAnim(T entity, float limbSwing, float limbSwingAmount, float ag Left_Arm.xRot = Mth.cos(limbSwing * 0.6662F) * 2.0F * limbSwingAmount * 0.5F / armSwingScale; } - @Override - public void renderToBuffer(PoseStack poseStack, VertexConsumer buffer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) { - Body.render(poseStack, buffer, packedLight, packedOverlay); - Left_Arm.render(poseStack, buffer, packedLight, packedOverlay); - Right_Arm.render(poseStack, buffer, packedLight, packedOverlay); - Left_Leg.render(poseStack, buffer, packedLight, packedOverlay); - Right_Leg.render(poseStack, buffer, packedLight, packedOverlay); - Head.render(poseStack, buffer, packedLight, packedOverlay); + public void renderToBuffer(PoseStack matrices, VertexConsumer vertices, int light, int overlay, int color) { + Body.render(matrices, vertices, light, overlay); + Left_Arm.render(matrices, vertices, light, overlay); + Right_Arm.render(matrices, vertices, light, overlay); + Left_Leg.render(matrices, vertices, light, overlay); + Right_Leg.render(matrices, vertices, light, overlay); + Head.render(matrices, vertices, light, overlay); } } \ No newline at end of file diff --git a/src/main/java/dev/galacticraft/mod/client/model/entity/LanderModel.java b/src/main/java/dev/galacticraft/mod/client/model/entity/LanderModel.java index 6b070ceae2..e314297d7e 100644 --- a/src/main/java/dev/galacticraft/mod/client/model/entity/LanderModel.java +++ b/src/main/java/dev/galacticraft/mod/client/model/entity/LanderModel.java @@ -85,9 +85,9 @@ public void setupAnim(LanderEntity entity, float limbSwing, float limbSwingAmoun } @Override - public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) { - feet.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - legs.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); - head.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha); + public void renderToBuffer(PoseStack matrices, VertexConsumer vertices, int light, int overlay, int color) { + feet.render(matrices, vertices, light, overlay, color); + legs.render(matrices, vertices, light, overlay, color); + head.render(matrices, vertices, overlay, overlay, color); } } diff --git a/src/main/java/dev/galacticraft/mod/client/model/entity/OliGrubEntityModel.java b/src/main/java/dev/galacticraft/mod/client/model/entity/OliGrubEntityModel.java index 297360692a..203ada47d5 100644 --- a/src/main/java/dev/galacticraft/mod/client/model/entity/OliGrubEntityModel.java +++ b/src/main/java/dev/galacticraft/mod/client/model/entity/OliGrubEntityModel.java @@ -60,9 +60,9 @@ public void setupAnim(T entity, float limbSwing, float limbSwingAmount, float ag } @Override - public void renderToBuffer(PoseStack poseStack, VertexConsumer buffer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) { - Body.render(poseStack, buffer, packedLight, packedOverlay); - Left_mandible.render(poseStack, buffer, packedLight, packedOverlay); - Right_Mandible.render(poseStack, buffer, packedLight, packedOverlay); + public void renderToBuffer(PoseStack poseStack, VertexConsumer vertices, int light, int overlay, int color) { + Body.render(poseStack, vertices, light, overlay); + Left_mandible.render(poseStack, vertices, light, overlay); + Right_Mandible.render(poseStack, vertices, light, overlay); } } \ No newline at end of file diff --git a/src/main/java/dev/galacticraft/mod/client/model/entity/RumblerEntityModel.java b/src/main/java/dev/galacticraft/mod/client/model/entity/RumblerEntityModel.java index 53cebe3135..c6a6a0b6df 100644 --- a/src/main/java/dev/galacticraft/mod/client/model/entity/RumblerEntityModel.java +++ b/src/main/java/dev/galacticraft/mod/client/model/entity/RumblerEntityModel.java @@ -32,25 +32,25 @@ public class RumblerEntityModel extends EntityModel { private final ModelPart body; - private final ModelPart Left_Claw; - private final ModelPart Right_Claw; - private final ModelPart Front_Left_Leg; - private final ModelPart Middle_Left_Leg; - private final ModelPart Back_Left_Leg; - private final ModelPart Front_Right_Leg; - private final ModelPart Middle_Right_Leg; - private final ModelPart Back_Right_Leg; + private final ModelPart leftClaw; + private final ModelPart rightClaw; + private final ModelPart frontLeftLeg; + private final ModelPart middleLeftLeg; + private final ModelPart backLeftLeg; + private final ModelPart frontRightLeg; + private final ModelPart middleRightLeg; + private final ModelPart backRightLeg; public RumblerEntityModel(ModelPart root) { this.body = root.getChild("body"); - this.Left_Claw = root.getChild("Left_Claw"); - this.Right_Claw = root.getChild("Right_Claw"); - this.Front_Left_Leg = root.getChild("Front_Left_Leg"); - this.Middle_Left_Leg = root.getChild("Middle_Left_Leg"); - this.Back_Left_Leg = root.getChild("Back_Left_Leg"); - this.Front_Right_Leg = root.getChild("Front_Right_Leg"); - this.Middle_Right_Leg = root.getChild("Middle_Right_Leg"); - this.Back_Right_Leg = root.getChild("Back_Right_Leg"); + this.leftClaw = root.getChild("Left_Claw"); + this.rightClaw = root.getChild("Right_Claw"); + this.frontLeftLeg = root.getChild("Front_Left_Leg"); + this.middleLeftLeg = root.getChild("Middle_Left_Leg"); + this.backLeftLeg = root.getChild("Back_Left_Leg"); + this.frontRightLeg = root.getChild("Front_Right_Leg"); + this.middleRightLeg = root.getChild("Middle_Right_Leg"); + this.backRightLeg = root.getChild("Back_Right_Leg"); } public static LayerDefinition createBodyLayer() { @@ -89,15 +89,15 @@ public void setupAnim(T entity, float limbSwing, float limbSwingAmount, float ag } @Override - public void renderToBuffer(PoseStack poseStack, VertexConsumer buffer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) { - body.render(poseStack, buffer, packedLight, packedOverlay); - Left_Claw.render(poseStack, buffer, packedLight, packedOverlay); - Right_Claw.render(poseStack, buffer, packedLight, packedOverlay); - Front_Left_Leg.render(poseStack, buffer, packedLight, packedOverlay); - Middle_Left_Leg.render(poseStack, buffer, packedLight, packedOverlay); - Back_Left_Leg.render(poseStack, buffer, packedLight, packedOverlay); - Front_Right_Leg.render(poseStack, buffer, packedLight, packedOverlay); - Middle_Right_Leg.render(poseStack, buffer, packedLight, packedOverlay); - Back_Right_Leg.render(poseStack, buffer, packedLight, packedOverlay); + public void renderToBuffer(PoseStack poseStack, VertexConsumer vertices, int light, int overlay, int color) { + body.render(poseStack, vertices, light, overlay); + leftClaw.render(poseStack, vertices, light, overlay); + rightClaw.render(poseStack, vertices, light, overlay); + frontLeftLeg.render(poseStack, vertices, light, overlay); + middleLeftLeg.render(poseStack, vertices, light, overlay); + backLeftLeg.render(poseStack, vertices, light, overlay); + frontRightLeg.render(poseStack, vertices, light, overlay); + middleRightLeg.render(poseStack, vertices, light, overlay); + backRightLeg.render(poseStack, vertices, light, overlay); } } \ No newline at end of file diff --git a/src/main/java/dev/galacticraft/mod/client/model/types/ObjModel.java b/src/main/java/dev/galacticraft/mod/client/model/types/ObjModel.java index ae54c7a88f..48b36e117b 100644 --- a/src/main/java/dev/galacticraft/mod/client/model/types/ObjModel.java +++ b/src/main/java/dev/galacticraft/mod/client/model/types/ObjModel.java @@ -22,7 +22,7 @@ package dev.galacticraft.mod.client.model.types; -import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import de.javagl.obj.Mtl; import de.javagl.obj.MtlReader; @@ -32,7 +32,7 @@ import dev.galacticraft.mod.client.model.BakedObjModel; import dev.galacticraft.mod.client.model.GCBakedModel; import dev.galacticraft.mod.client.model.GCModel; -import dev.galacticraft.mod.client.model.GCSheets; +import dev.galacticraft.mod.client.model.GCRenderTypes; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.client.resources.model.Material; import net.minecraft.resources.ResourceLocation; @@ -70,7 +70,7 @@ public GCBakedModel bake(ResourceManager resourceManager, Function bakedMaterials = new ArrayList<>(); for (Mtl material : materials) { if (material.getMapKdOptions() != null && material.getMapKdOptions().getFileName() != null) - bakedMaterials.add(new BakedMaterial(material, spriteGetter.apply(new Material(atlas.orElse(GCSheets.OBJ_ATLAS), new ResourceLocation(material.getMapKdOptions().getFileName()))))); + bakedMaterials.add(new BakedMaterial(material, spriteGetter.apply(new Material(atlas.orElse(GCRenderTypes.OBJ_ATLAS), ResourceLocation.parse(material.getMapKdOptions().getFileName()))))); } return new BakedObjModel(obj, bakedMaterials); @@ -83,14 +83,14 @@ public record BakedMaterial(Mtl material, TextureAtlasSprite sprite) {} public static class ObjType implements GCModelType { public static final ResourceLocation ID = Constant.id("obj"); - public static final Codec CODEC = RecordCodecBuilder.create(instance -> instance.group( + public static final MapCodec CODEC = RecordCodecBuilder.mapCodec(instance -> instance.group( ResourceLocation.CODEC.fieldOf("model").forGetter(o -> o.model), ResourceLocation.CODEC.fieldOf("mtl").forGetter(o -> o.material), ResourceLocation.CODEC.optionalFieldOf("atlas").forGetter(o -> o.atlas) ).apply(instance, ObjModel::new)); @Override - public Codec codec() { + public MapCodec codec() { return CODEC; } diff --git a/src/main/java/dev/galacticraft/mod/client/network/GCClientPacketReceiver.java b/src/main/java/dev/galacticraft/mod/client/network/GCClientPacketReceiver.java index e192b88cfe..6ac73f8310 100644 --- a/src/main/java/dev/galacticraft/mod/client/network/GCClientPacketReceiver.java +++ b/src/main/java/dev/galacticraft/mod/client/network/GCClientPacketReceiver.java @@ -22,68 +22,26 @@ package dev.galacticraft.mod.client.network; -import dev.galacticraft.api.registry.AddonRegistries; -import dev.galacticraft.api.rocket.RocketData; -import dev.galacticraft.mod.Constant; -import dev.galacticraft.mod.Constant.Packet; -import dev.galacticraft.mod.client.gui.screen.ingame.CelestialSelectionScreen; -import dev.galacticraft.mod.content.block.entity.machine.OxygenBubbleDistributorBlockEntity; -import dev.galacticraft.mod.content.item.GCItems; -import dev.galacticraft.mod.network.GCScreenType; -import dev.galacticraft.mod.network.packets.*; -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; +import dev.galacticraft.impl.network.s2c.S2CPayload; +import dev.galacticraft.mod.network.s2c.*; import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; -import net.fabricmc.fabric.api.networking.v1.PacketType; -import net.minecraft.core.BlockPos; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.world.level.block.entity.BlockEntity; - -import java.util.Objects; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; /** * Handles client-bound (S2C) packets -= */ -@Environment(EnvType.CLIENT) + */ public class GCClientPacketReceiver { public static void register() { - ClientPlayNetworking.registerGlobalReceiver(Packet.BUBBLE_SIZE, (client, handler, buf, responseSender) -> { - FriendlyByteBuf buffer = new FriendlyByteBuf(buf.copy()); - client.execute(() -> { - BlockPos pos = buffer.readBlockPos(); - if (client.level.hasChunk(pos.getX() >> 4, pos.getZ() >> 4)) { - BlockEntity entity = client.level.getBlockEntity(pos); - if (entity instanceof OxygenBubbleDistributorBlockEntity machine) { - machine.setSize(buffer.readDouble()); - } - } - }); - }); - - ClientPlayNetworking.registerGlobalReceiver(Packet.OPEN_SCREEN, (client, handler, buf, responseSender) -> { - var screen = buf.readEnum(GCScreenType.class); - switch (screen) { - case CELESTIAL -> { - boolean mapMode = buf.readBoolean(); - client.execute(() -> client.setScreen(new CelestialSelectionScreen(mapMode, RocketData.fromNbt(GCItems.ROCKET.getDefaultInstance().getTag()), true, null))); - } - default -> Constant.LOGGER.error("No screen found with id '{}'!", screen); - } - }); - - ClientPlayNetworking.registerGlobalReceiver(Packet.PLANET_MENU_PACKET, (minecraftClient, clientPlayNetworkHandler, buf, packetSender) -> { - RocketData rocketData = RocketData.fromNbt(Objects.requireNonNull(buf.readNbt())); - int cBody = buf.readInt(); - minecraftClient.execute(() -> minecraftClient.setScreen(new CelestialSelectionScreen(false, rocketData, true, cBody == -1 ? null : clientPlayNetworkHandler.registryAccess().registryOrThrow(AddonRegistries.CELESTIAL_BODY).getHolder(cBody).orElseThrow().value()))); - }); - - registerPacket(RocketSpawnPacket.TYPE); - registerPacket(FootprintPacket.TYPE); - registerPacket(FootprintRemovedPacket.TYPE); - registerPacket(ResetThirdPersonPacket.TYPE); + register(BubbleSizePayload.TYPE); + register(BubbleUpdatePayload.TYPE); + register(OpenCelestialScreenPayload.TYPE); + register(RocketSpawnPacket.TYPE); + register(FootprintPacket.TYPE); + register(FootprintRemovedPacket.TYPE); + register(ResetPerspectivePacket.TYPE); } - public static void registerPacket(PacketType type) { - ClientPlayNetworking.registerGlobalReceiver(type, GCPacket::handle); + public static

void register(CustomPacketPayload.Type

type) { + ClientPlayNetworking.registerGlobalReceiver(type, (payload, context) -> context.client().execute(payload.handle(context))); } } diff --git a/src/main/java/dev/galacticraft/mod/client/particle/AcidVaporParticle.java b/src/main/java/dev/galacticraft/mod/client/particle/AcidVaporParticle.java index a5862b0a8b..f471c14241 100644 --- a/src/main/java/dev/galacticraft/mod/client/particle/AcidVaporParticle.java +++ b/src/main/java/dev/galacticraft/mod/client/particle/AcidVaporParticle.java @@ -97,7 +97,7 @@ public void tick() { public record Provider(SpriteSet sprites) implements ParticleProvider { @Override public Particle createParticle(ScaleParticleType type, ClientLevel level, double x, double y, double z, double xSpeed, double ySpeed, double zSpeed) { - return new AcidVaporParticle(level, x, y, z, xSpeed, ySpeed, zSpeed, sprites, type.scale()); + return new AcidVaporParticle(level, x, y, z, xSpeed, ySpeed, zSpeed, sprites, type.getScale()); } } } diff --git a/src/main/java/dev/galacticraft/mod/client/particle/LaunchFlameParticle.java b/src/main/java/dev/galacticraft/mod/client/particle/LaunchFlameParticle.java index b177d0d8b6..7a18a724eb 100644 --- a/src/main/java/dev/galacticraft/mod/client/particle/LaunchFlameParticle.java +++ b/src/main/java/dev/galacticraft/mod/client/particle/LaunchFlameParticle.java @@ -55,7 +55,7 @@ public LaunchFlameParticle(ClientLevel level, double posX, double posY, double p this.lifetime = (int) (this.lifetime * 1F); this.hasPhysics = true; this.spawnSmokeShort = launched; - this.ridingEntity = particleData.getEntityUUID(); + this.ridingEntity = particleData.getUuid(); this.sprites = sprites; this.setSpriteFromAge(sprites); } @@ -121,7 +121,7 @@ public void tick() { if (entities != null) { for (Entity entity : entities) { if (entity instanceof LivingEntity && entity.isAlive() && !entity.isOnFire() && !entity.getUUID().equals(this.ridingEntity)) { - entity.setSecondsOnFire(3); + entity.igniteForSeconds(3); // GalacticraftCore.packetPipeline.sendToServer(new PacketSimple(EnumSimplePacket.S_SET_ENTITY_FIRE, GCCoreUtil.getDimensionType(entity.level()), new Object[]{entity.getEntityId()})); } } diff --git a/src/main/java/dev/galacticraft/mod/client/particle/LaunchParticle.java b/src/main/java/dev/galacticraft/mod/client/particle/LaunchParticle.java index 9b6b7ffbbf..913f737828 100644 --- a/src/main/java/dev/galacticraft/mod/client/particle/LaunchParticle.java +++ b/src/main/java/dev/galacticraft/mod/client/particle/LaunchParticle.java @@ -24,13 +24,9 @@ import net.minecraft.client.multiplayer.ClientLevel; import net.minecraft.client.particle.TextureSheetParticle; -import net.minecraft.util.Mth; import net.minecraft.world.entity.Entity; -import net.minecraft.world.level.Level; -import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.Vec3; -import java.util.LinkedList; import java.util.List; public abstract class LaunchParticle extends TextureSheetParticle { diff --git a/src/main/java/dev/galacticraft/mod/client/particle/LaunchSmokeParticle.java b/src/main/java/dev/galacticraft/mod/client/particle/LaunchSmokeParticle.java index c59d1e3a5e..cd26efa095 100644 --- a/src/main/java/dev/galacticraft/mod/client/particle/LaunchSmokeParticle.java +++ b/src/main/java/dev/galacticraft/mod/client/particle/LaunchSmokeParticle.java @@ -31,7 +31,6 @@ import net.minecraft.client.particle.ParticleProvider; import net.minecraft.client.particle.ParticleRenderType; import net.minecraft.client.particle.SpriteSet; -import net.minecraft.core.particles.SimpleParticleType; public class LaunchSmokeParticle extends LaunchParticle { float smokeParticleScale; @@ -109,7 +108,7 @@ public void tick() { public record Provider(SpriteSet sprites) implements ParticleProvider { @Override public Particle createParticle(LaunchSmokeParticleOption option, ClientLevel level, double x, double y, double z, double xSpeed, double ySpeed, double zSpeed) { - return new LaunchSmokeParticle(level, x, y, z, xSpeed, ySpeed, zSpeed, option.getScale(), option.isLaunched(), this.sprites); + return new LaunchSmokeParticle(level, x, y, z, xSpeed, ySpeed, zSpeed, option.scale(), option.launched(), this.sprites); } } } diff --git a/src/main/java/dev/galacticraft/mod/client/render/FootprintRenderer.java b/src/main/java/dev/galacticraft/mod/client/render/FootprintRenderer.java index 4da893c7b0..b87ecf2eaf 100644 --- a/src/main/java/dev/galacticraft/mod/client/render/FootprintRenderer.java +++ b/src/main/java/dev/galacticraft/mod/client/render/FootprintRenderer.java @@ -46,7 +46,7 @@ public class FootprintRenderer { public static void renderFootprints(WorldRenderContext context) { context.profiler().push("footprints"); PoseStack poseStack = context.matrixStack(); - ResourceLocation dimActive = context.world().dimensionTypeId().location(); + ResourceLocation dimActive = context.world().dimensionTypeRegistration().unwrapKey().get().location(); List footprintsToDraw = new LinkedList<>(); for (List footprintList : context.world().galacticraft$getFootprintManager().getFootprints().values()) { @@ -96,9 +96,8 @@ public static void renderFootprints(WorldRenderContext context) { // } float ageScale = footprint.age / (float) Footprint.MAX_AGE; - BufferBuilder worldRenderer = tessellator.getBuilder(); + BufferBuilder buffer = tessellator.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX); RenderSystem.setShader(GameRenderer::getPositionTexShader); - worldRenderer.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX); Vec3 cameraPos = context.camera().getPosition(); float x = (float) (footprint.position.x - cameraPos.x); @@ -110,20 +109,17 @@ public static void renderFootprints(WorldRenderContext context) { RenderSystem.setShaderColor(1F - ageScale, 1F - ageScale, 1F - ageScale, 1F - ageScale); float footprintScale = 0.5F; Matrix4f last = poseStack.last().pose(); - worldRenderer - .vertex(last, Mth.sin((45 - footprint.rotation) / Mth.RAD_TO_DEG) * footprintScale, 0, Mth.cos((45 - footprint.rotation) / Mth.RAD_TO_DEG) * footprintScale) - .uv(f7, f9).endVertex(); - worldRenderer - .vertex(last, Mth.sin((135 - footprint.rotation) / Mth.RAD_TO_DEG) * footprintScale, 0, Mth.cos((135 - footprint.rotation) / Mth.RAD_TO_DEG) * footprintScale) - .uv(f7, f8).endVertex(); - worldRenderer - .vertex(last, Mth.sin((225 - footprint.rotation) / Mth.RAD_TO_DEG) * footprintScale, 0, Mth.cos((225 - footprint.rotation) / Mth.RAD_TO_DEG) * footprintScale) - .uv(f6, f8).endVertex(); - worldRenderer - .vertex(last, Mth.sin((315 - footprint.rotation) / Mth.RAD_TO_DEG) * footprintScale, 0, Mth.cos((315 - footprint.rotation) / Mth.RAD_TO_DEG) * footprintScale) - .uv(f6, f9).endVertex(); - - tessellator.end(); + buffer + .addVertex(last, Mth.sin((45 - footprint.rotation) / Mth.RAD_TO_DEG) * footprintScale, 0, Mth.cos((45 - footprint.rotation) / Mth.RAD_TO_DEG) * footprintScale) + .setUv(f7, f9) + .addVertex(last, Mth.sin((135 - footprint.rotation) / Mth.RAD_TO_DEG) * footprintScale, 0, Mth.cos((135 - footprint.rotation) / Mth.RAD_TO_DEG) * footprintScale) + .setUv(f7, f8) + .addVertex(last, Mth.sin((225 - footprint.rotation) / Mth.RAD_TO_DEG) * footprintScale, 0, Mth.cos((225 - footprint.rotation) / Mth.RAD_TO_DEG) * footprintScale) + .setUv(f6, f8) + .addVertex(last, Mth.sin((315 - footprint.rotation) / Mth.RAD_TO_DEG) * footprintScale, 0, Mth.cos((315 - footprint.rotation) / Mth.RAD_TO_DEG) * footprintScale) + .setUv(f6, f9); + + BufferUploader.drawWithShader(buffer.buildOrThrow()); poseStack.popPose(); } @@ -135,15 +131,15 @@ public static void renderFootprints(WorldRenderContext context) { context.profiler().pop(); } - public static void setFootprints(long chunkKey, List prints) { + public static void setFootprints(long chunk, List prints) { FootprintManager manager = Minecraft.getInstance().level.galacticraft$getFootprintManager(); - List footprintList = manager.getFootprints().get(chunkKey); + List footprintList = manager.getFootprints().get(chunk); if (footprintList == null) { footprintList = new ArrayList<>(); } footprintList.addAll(prints); - manager.getFootprints().put(chunkKey, footprintList); + manager.getFootprints().put(chunk, footprintList); } } \ No newline at end of file diff --git a/src/main/java/dev/galacticraft/mod/client/render/block/entity/BasicSolarPanelBlockEntityRenderer.java b/src/main/java/dev/galacticraft/mod/client/render/block/entity/BasicSolarPanelBlockEntityRenderer.java index 6b22b89ba2..b0d075345a 100644 --- a/src/main/java/dev/galacticraft/mod/client/render/block/entity/BasicSolarPanelBlockEntityRenderer.java +++ b/src/main/java/dev/galacticraft/mod/client/render/block/entity/BasicSolarPanelBlockEntityRenderer.java @@ -76,17 +76,17 @@ public void render(BasicSolarPanelBlockEntity blockEntity, float tickDelta, Pose matrices.pushPose(); matrices.translate(0.5F, 1.0F, 0.5F); RenderSystem.setShaderTexture(0, BasicSolarPanelBlockEntityRenderer.TEXTURE); - this.render(matrices, vertexConsumers.getBuffer(RenderType.entityCutout(TEXTURE)), light, overlay, 1.0F, 1.0F, 1.0F, 1.0F); + this.render(matrices, vertexConsumers.getBuffer(RenderType.entityCutout(TEXTURE)), light, overlay); matrices.popPose(); } - public void render(PoseStack matrices, VertexConsumer vertexConsumer, int light, int overlay, float red, float green, float blue, float alpha) { - this.pole.render(matrices, vertexConsumer, light, overlay, red, green, blue, alpha); + public void render(PoseStack matrices, VertexConsumer vertexConsumer, int light, int overlay) { + this.pole.render(matrices, vertexConsumer, light, overlay); matrices.translate(0.0F, 1.5F, 0.0F); matrices.mulPose(Axis.ZP.rotationDegrees(180.0F)); matrices.mulPose(Axis.YP.rotationDegrees(-90.0F)); - this.panel.render(matrices, vertexConsumer, light, overlay, red, green, blue, alpha); + this.panel.render(matrices, vertexConsumer, light, overlay); } } diff --git a/src/main/java/dev/galacticraft/mod/client/render/dimension/CelestialBodyTextures.java b/src/main/java/dev/galacticraft/mod/client/render/dimension/CelestialBodyTextures.java index 8f3ff59f5f..d1c081a14d 100644 --- a/src/main/java/dev/galacticraft/mod/client/render/dimension/CelestialBodyTextures.java +++ b/src/main/java/dev/galacticraft/mod/client/render/dimension/CelestialBodyTextures.java @@ -27,7 +27,7 @@ public final class CelestialBodyTextures { public static final ResourceLocation ATMOSPHERIC_SUN = Constant.id("textures/gui/planets/atmosphericsun.png"); - public static final ResourceLocation SUN = new ResourceLocation("textures/environment/sun.png"); + public static final ResourceLocation SUN = ResourceLocation.withDefaultNamespace("textures/environment/sun.png"); public static final ResourceLocation EARTH = Constant.id("textures/gui/celestialbodies/earth.png"); private CelestialBodyTextures() {} diff --git a/src/main/java/dev/galacticraft/mod/client/render/dimension/MoonSkyRenderer.java b/src/main/java/dev/galacticraft/mod/client/render/dimension/MoonSkyRenderer.java index 659e7c6ed8..e0516f7988 100644 --- a/src/main/java/dev/galacticraft/mod/client/render/dimension/MoonSkyRenderer.java +++ b/src/main/java/dev/galacticraft/mod/client/render/dimension/MoonSkyRenderer.java @@ -43,16 +43,16 @@ public void render(WorldRenderContext context) { RenderSystem.disableBlend(); RenderSystem.depthMask(false); - final PoseStack matrices = context.matrixStack(); - final BufferBuilder buffer = Tesselator.getInstance().getBuilder(); + PoseStack matrices = new PoseStack(); + matrices.mulPose(context.positionMatrix()); context.profiler().push("stars"); matrices.pushPose(); matrices.mulPose(Axis.YP.rotationDegrees(-90.0F)); - matrices.mulPose(Axis.XP.rotationDegrees(context.world().getTimeOfDay(context.tickDelta()) * 360.0f)); + matrices.mulPose(Axis.XP.rotationDegrees(context.world().getTimeOfDay(context.tickCounter().getRealtimeDeltaTicks()) * 360.0f)); matrices.mulPose(Axis.YP.rotationDegrees(-19.0F)); - this.starManager.render(context.matrixStack(), context.projectionMatrix(), context.world(), context.tickDelta()); + this.starManager.render(matrices, context.projectionMatrix(), context.world(), context.tickCounter().getRealtimeDeltaTicks()); matrices.popPose(); context.profiler().pop(); @@ -61,19 +61,19 @@ public void render(WorldRenderContext context) { matrices.pushPose(); matrices.mulPose(Axis.YP.rotationDegrees(-90.0F)); - matrices.mulPose(Axis.XP.rotationDegrees(context.world().getTimeOfDay(context.tickDelta()) * 360.0f)); + matrices.mulPose(Axis.XP.rotationDegrees(context.world().getTimeOfDay(context.tickCounter().getRealtimeDeltaTicks()) * 360.0f)); Matrix4f matrix = matrices.last().pose(); RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, 1.0F); float size = 15.0F; RenderSystem.setShader(GameRenderer::getPositionTexShader); RenderSystem.setShaderTexture(0, SUN_TEXTURE); - buffer.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX); - buffer.vertex(matrix, -size, 100.0F, -size).uv(0.0F, 0.0F).endVertex(); - buffer.vertex(matrix, size, 100.0F, -size).uv(1.0F, 0.0F).endVertex(); - buffer.vertex(matrix, size, 100.0F, size).uv(1.0F, 1.0F).endVertex(); - buffer.vertex(matrix, -size, 100.0F, size).uv(0.0F, 1.0F).endVertex(); - BufferUploader.drawWithShader(buffer.end()); + BufferBuilder buffer = Tesselator.getInstance().begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX); + buffer.addVertex(matrix, -size, 100.0F, -size).setUv(0.0F, 0.0F) + .addVertex(matrix, size, 100.0F, -size).setUv(1.0F, 0.0F) + .addVertex(matrix, size, 100.0F, size).setUv(1.0F, 1.0F) + .addVertex(matrix, -size, 100.0F, size).setUv(0.0F, 1.0F); + BufferUploader.drawWithShader(buffer.buildOrThrow()); matrices.popPose(); context.profiler().pop(); @@ -86,17 +86,17 @@ public void render(WorldRenderContext context) { assert Minecraft.getInstance().player != null; float earthRotation = (float) (context.world().getSharedSpawnPos().getZ() - Minecraft.getInstance().player.getZ()) * 0.01F; matrices.scale(0.6F, 0.6F, 0.6F); - matrices.mulPose(Axis.XP.rotationDegrees((context.world().getTimeOfDay(context.tickDelta()) * 360.0F) * 0.001F)); + matrices.mulPose(Axis.XP.rotationDegrees((context.world().getTimeOfDay(context.tickCounter().getRealtimeDeltaTicks()) * 360.0F) * 0.001F)); matrices.mulPose(Axis.XP.rotationDegrees(earthRotation + 200.0F)); RenderSystem.setShaderTexture(0, EARTH_TEXTURE); - buffer.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX); - buffer.vertex(matrix, -size, -100.0F, size).uv(0.0F, 1.0F).endVertex(); - buffer.vertex(matrix, size, -100.0F, size).uv(1.0F, 1.0F).endVertex(); - buffer.vertex(matrix, size, -100.0F, -size).uv(1.0F, 0.0F).endVertex(); - buffer.vertex(matrix, -size, -100.0F, -size).uv(0.0F, 0.0F).endVertex(); - BufferUploader.drawWithShader(buffer.end()); + buffer = Tesselator.getInstance().begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX); + buffer.addVertex(matrix, -size, -100.0F, size).setUv(0.0F, 1.0F) + .addVertex(matrix, size, -100.0F, size).setUv(1.0F, 1.0F) + .addVertex(matrix, size, -100.0F, -size).setUv(1.0F, 0.0F) + .addVertex(matrix, -size, -100.0F, -size).setUv(0.0F, 0.0F); + BufferUploader.drawWithShader(buffer.buildOrThrow()); context.profiler().pop(); matrices.popPose(); diff --git a/src/main/java/dev/galacticraft/mod/client/render/dimension/OverworldRenderer.java b/src/main/java/dev/galacticraft/mod/client/render/dimension/OverworldRenderer.java index 321026cc5b..d81a5a4c27 100644 --- a/src/main/java/dev/galacticraft/mod/client/render/dimension/OverworldRenderer.java +++ b/src/main/java/dev/galacticraft/mod/client/render/dimension/OverworldRenderer.java @@ -43,7 +43,7 @@ // TODO: Allow support for more planets public class OverworldRenderer { - public static final ResourceLocation MOON_LOCATION = new ResourceLocation("textures/environment/moon_phases.png"); + public static final ResourceLocation MOON_LOCATION = ResourceLocation.withDefaultNamespace("textures/environment/moon_phases.png"); @Nullable private VertexBuffer starBuffer; @Nullable @@ -55,8 +55,6 @@ public class OverworldRenderer { private Minecraft minecraft = Minecraft.getInstance(); public OverworldRenderer() { RandomSource rand = RandomSource.create(10842L); - Tesselator tessellator = Tesselator.getInstance(); - BufferBuilder worldrenderer = tessellator.getBuilder(); RenderSystem.setShader(GameRenderer::getPositionShader); if (this.starBuffer != null) { this.starBuffer.close(); @@ -64,19 +62,19 @@ public OverworldRenderer() { this.starBuffer = new VertexBuffer(VertexBuffer.Usage.STATIC); this.starBuffer.bind(); - this.starBuffer.upload(this.renderStars(worldrenderer, rand)); + this.starBuffer.upload(this.renderStars(rand)); VertexBuffer.unbind(); this.starBuffer2 = new VertexBuffer(VertexBuffer.Usage.STATIC); this.starBuffer2.bind(); - this.starBuffer2.upload(this.renderStars(worldrenderer, rand)); + this.starBuffer2.upload(this.renderStars(rand)); VertexBuffer.unbind(); this.starBuffer3 = new VertexBuffer(VertexBuffer.Usage.STATIC); this.starBuffer3.bind(); - this.starBuffer3.upload(this.renderStars(worldrenderer, rand)); + this.starBuffer3.upload(this.renderStars(rand)); VertexBuffer.unbind(); this.starBuffer4 = new VertexBuffer(VertexBuffer.Usage.STATIC); this.starBuffer4.bind(); - this.starBuffer4.upload(this.renderStars(worldrenderer, rand)); + this.starBuffer4.upload(this.renderStars(rand)); VertexBuffer.unbind(); } public void renderOverworldSky(Player player, PoseStack poseStack, Matrix4f matrix4f, float partialTicks, Camera camera, boolean bl, Runnable runnable) { @@ -91,8 +89,6 @@ public void renderOverworldSky(Player player, PoseStack poseStack, Matrix4f matr FogRenderer.levelFogColor(); RenderSystem.setShaderColor(i, x, var5, 1.0F); - final Tesselator tesselator = Tesselator.getInstance(); - BufferBuilder worldRenderer = tesselator.getBuilder(); RenderSystem.depthMask(false); RenderSystem.setShaderColor(i, x, var5, 1.0F); RenderSystem.enableBlend(); @@ -116,19 +112,19 @@ public void renderOverworldSky(Player player, PoseStack poseStack, Matrix4f matr size = sunriseColors[2] * sunsetModInv; float rand3; - worldRenderer.begin(VertexFormat.Mode.TRIANGLE_FAN, DefaultVertexFormat.POSITION_COLOR); + BufferBuilder buffer = Tesselator.getInstance().begin(VertexFormat.Mode.TRIANGLE_FAN, DefaultVertexFormat.POSITION_COLOR); - worldRenderer.vertex(0.0D, 100.0D, 0.0D).color(z * sunsetModInv, var9 * sunsetModInv, size * sunsetModInv, sunriseColors[3]).endVertex(); + buffer.addVertex(0.0F, 100.0F, 0.0F).setColor(z * sunsetModInv, var9 * sunsetModInv, size * sunsetModInv, sunriseColors[3]); final byte phi = 16; for (int var27 = 0; var27 <= phi; ++var27) { rand3 = (float) (var27 * (Math.PI * 2) / phi); final float xx = Mth.sin(rand3); final float rand5 = Mth.cos(rand3); - worldRenderer.vertex(xx * 120.0F, rand5 * 120.0F, -rand5 * 40.0F * sunriseColors[3]).color(sunriseColors[0] * sunsetModInv, sunriseColors[1] * sunsetModInv, sunriseColors[2] * sunsetModInv, 0.0F).endVertex(); + buffer.addVertex(xx * 120.0F, rand5 * 120.0F, -rand5 * 40.0F * sunriseColors[3]).setColor(sunriseColors[0] * sunsetModInv, sunriseColors[1] * sunsetModInv, sunriseColors[2] * sunsetModInv, 0.0F); } - tesselator.end(); + BufferUploader.drawWithShader(buffer.buildOrThrow()); poseStack.popPose(); } @@ -191,12 +187,12 @@ public void renderOverworldSky(Player player, PoseStack poseStack, Matrix4f matr RenderSystem.setShaderTexture(0, CelestialBodyTextures.SUN); RenderSystem.setShader(GameRenderer::getPositionTexShader); Matrix4f matrix4f1 = poseStack.last().pose(); - worldRenderer.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX); - worldRenderer.vertex(matrix4f1, -r, 100.0F, -r).uv(0.0F, 0.0F).endVertex(); - worldRenderer.vertex(matrix4f1, r, 100.0F, -r).uv(1.0F, 0.0F).endVertex(); - worldRenderer.vertex(matrix4f1, r, 100.0F, r).uv(1.0F, 1.0F).endVertex(); - worldRenderer.vertex(matrix4f1, -r, 100.0F, r).uv(0.0F, 1.0F).endVertex(); - tesselator.end(); + BufferBuilder buffer = Tesselator.getInstance().begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX); + buffer.addVertex(matrix4f1, -r, 100.0F, -r).setUv(0.0F, 0.0F) + .addVertex(matrix4f1, r, 100.0F, -r).setUv(1.0F, 0.0F) + .addVertex(matrix4f1, r, 100.0F, r).setUv(1.0F, 1.0F) + .addVertex(matrix4f1, -r, 100.0F, r).setUv(0.0F, 1.0F); + BufferUploader.drawWithShader(buffer.buildOrThrow()); // Draw moon r = 40.0F; @@ -208,12 +204,12 @@ public void renderOverworldSky(Player player, PoseStack poseStack, Matrix4f matr final float rand7 = (var29) / 2.0F; final float zz = (cosphi + 1) / 4.0F; final float rand9 = (var29 + 1) / 2.0F; - worldRenderer.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX); - worldRenderer.vertex(matrix4f1, -r, -100.0F, r).uv(zz, rand9).endVertex(); - worldRenderer.vertex(matrix4f1, r, -100.0F, r).uv(yy, rand9).endVertex(); - worldRenderer.vertex(matrix4f1, r, -100.0F, -r).uv(yy, rand7).endVertex(); - worldRenderer.vertex(matrix4f1, -r, -100.0F, -r).uv(zz, rand7).endVertex(); - tesselator.end(); + buffer = Tesselator.getInstance().begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX); + buffer.addVertex(matrix4f1, -r, -100.0F, r).setUv(zz, rand9) + .addVertex(matrix4f1, r, -100.0F, r).setUv(yy, rand9) + .addVertex(matrix4f1, r, -100.0F, -r).setUv(yy, rand7) + .addVertex(matrix4f1, -r, -100.0F, -r).setUv(zz, rand7); + BufferUploader.drawWithShader(buffer.buildOrThrow()); RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, 1.0F); RenderSystem.disableBlend(); @@ -238,16 +234,16 @@ public void renderOverworldSky(Player player, PoseStack poseStack, Matrix4f matr size = 1.0F; RenderSystem.setShaderColor(sinth, sinth, sinth, 1.0F); - worldRenderer.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX); + buffer = Tesselator.getInstance().begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX); float zoomIn = 0.0F; float cornerB = 1.0F - zoomIn; Matrix4f matrix4f2 = poseStack.last().pose(); - worldRenderer.vertex(matrix4f2, -size, 0, size).uv(zoomIn, cornerB).endVertex(); - worldRenderer.vertex(matrix4f2, size, 0, size).uv(cornerB, cornerB).endVertex(); - worldRenderer.vertex(matrix4f2, size, 0, -size).uv(cornerB, zoomIn).endVertex(); - worldRenderer.vertex(matrix4f2, -size, 0, -size).uv(zoomIn, zoomIn).endVertex(); - tesselator.end(); + buffer.addVertex(matrix4f2, -size, 0, size).setUv(zoomIn, cornerB) + .addVertex(matrix4f2, size, 0, size).setUv(cornerB, cornerB) + .addVertex(matrix4f2, size, 0, -size).setUv(cornerB, zoomIn) + .addVertex(matrix4f2, -size, 0, -size).setUv(zoomIn, zoomIn); + BufferUploader.drawWithShader(buffer.buildOrThrow()); poseStack.popPose(); } @@ -276,9 +272,9 @@ public static Vec3 getFogColor(ClientLevel level, Camera camera, float f) { } // TODO: Move this to a common place - private BufferBuilder.RenderedBuffer renderStars(BufferBuilder worldRenderer, RandomSource rand) { + private MeshData renderStars(RandomSource rand) { RenderSystem.setShader(GameRenderer::getPositionShader); - worldRenderer.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION); + BufferBuilder buffer = Tesselator.getInstance().begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION); for (int i = 0; i < 4000; ++i) { double x = rand.nextFloat() * 2.0F - 1.0F; @@ -315,10 +311,10 @@ private BufferBuilder.RenderedBuffer renderStars(BufferBuilder worldRenderer, Ra final double ff = a * sinphi - d * cosphi; final double dx = ff * sinth - e * costh; final double dz = e * sinth + ff * costh; - worldRenderer.vertex(xx + dx, yy + dy, zz + dz).endVertex(); + buffer.addVertex((float) (xx + dx), (float) (yy + dy), (float) (zz + dz)); } } } - return worldRenderer.end(); + return buffer.buildOrThrow(); } } diff --git a/src/main/java/dev/galacticraft/mod/client/render/dimension/SpaceSkyRenderer.java b/src/main/java/dev/galacticraft/mod/client/render/dimension/SpaceSkyRenderer.java index 524d7e169a..8d9bec7978 100644 --- a/src/main/java/dev/galacticraft/mod/client/render/dimension/SpaceSkyRenderer.java +++ b/src/main/java/dev/galacticraft/mod/client/render/dimension/SpaceSkyRenderer.java @@ -32,15 +32,16 @@ public class SpaceSkyRenderer implements DimensionRenderingRegistry.SkyRenderer @Override public void render(WorldRenderContext context) { - final PoseStack matrices = context.matrixStack(); + PoseStack matrices = new PoseStack(); + matrices.mulPose(context.positionMatrix()); context.profiler().push("stars"); matrices.pushPose(); matrices.mulPose(Axis.YP.rotationDegrees(-90.0F)); - matrices.mulPose(Axis.XP.rotationDegrees(context.world().getTimeOfDay(context.tickDelta()) * 360.0f)); + matrices.mulPose(Axis.XP.rotationDegrees(context.world().getTimeOfDay(context.tickCounter().getRealtimeDeltaTicks()) * 360.0f)); matrices.mulPose(Axis.YP.rotationDegrees(-19.0F)); - this.starManager.render(context.matrixStack(), context.projectionMatrix(), context.world(), context.tickDelta()); + this.starManager.render(context.matrixStack(), context.projectionMatrix(), context.world(), context.tickCounter().getRealtimeDeltaTicks()); matrices.popPose(); context.profiler().pop(); diff --git a/src/main/java/dev/galacticraft/mod/client/render/dimension/StarManager.java b/src/main/java/dev/galacticraft/mod/client/render/dimension/StarManager.java index 1eb6fdff78..5097aeabec 100644 --- a/src/main/java/dev/galacticraft/mod/client/render/dimension/StarManager.java +++ b/src/main/java/dev/galacticraft/mod/client/render/dimension/StarManager.java @@ -39,9 +39,8 @@ public class StarManager { public StarManager() { this.starBuffer = new VertexBuffer(VertexBuffer.Usage.STATIC); final Random random = new Random(27893L); - final BufferBuilder buffer = Tesselator.getInstance().getBuilder(); + final BufferBuilder buffer = Tesselator.getInstance().begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION); RenderSystem.setShader(GameRenderer::getPositionShader); - buffer.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION); for (int i = 0; i < 12000; ++i) { double j = random.nextFloat() * 2.0F - 1.0F; double k = random.nextFloat() * 2.0F - 1.0F; @@ -77,12 +76,12 @@ public StarManager() { double h = b * v - e * w; double aa = h * s - f * t; double ab = f * s + h * t; - buffer.vertex((o + aa) * (i > 6000 ? -1 : 1), (p + g) * (i > 6000 ? -1 : 1), (q + ab) * (i > 6000 ? -1 : 1)).endVertex(); + buffer.addVertex((float) ((o + aa) * (i > 6000 ? -1 : 1)), (float) ((p + g) * (i > 6000 ? -1 : 1)), (float) ((q + ab) * (i > 6000 ? -1 : 1))); } } } this.starBuffer.bind(); - this.starBuffer.upload(buffer.end()); + this.starBuffer.upload(buffer.buildOrThrow()); VertexBuffer.unbind(); } diff --git a/src/main/java/dev/galacticraft/mod/client/render/dimension/VenusDimensionEffects.java b/src/main/java/dev/galacticraft/mod/client/render/dimension/VenusDimensionEffects.java index 553471731c..cd1a0708b2 100644 --- a/src/main/java/dev/galacticraft/mod/client/render/dimension/VenusDimensionEffects.java +++ b/src/main/java/dev/galacticraft/mod/client/render/dimension/VenusDimensionEffects.java @@ -120,7 +120,7 @@ public boolean tickRain(@NotNull ClientLevel level, Camera camera, int ticks) { double fluidHeight = fluidState.getHeight(level, below); double yOffset = Math.max(baseYOff, fluidHeight); ParticleOptions particle = !fluidState.is(FluidTags.LAVA) && !blockState.is(Blocks.MAGMA_BLOCK) && !CampfireBlock.isLitCampfire(blockState) - ? new ScaleParticleType(0.95F) + ? new ScaleParticleType(ParticleTypes.SMOKE, 0.95F) : ParticleTypes.SMOKE; this.minecraft .level diff --git a/src/main/java/dev/galacticraft/mod/client/render/dimension/VenusSkyRenderer.java b/src/main/java/dev/galacticraft/mod/client/render/dimension/VenusSkyRenderer.java index d607dfb09c..09a003f86a 100644 --- a/src/main/java/dev/galacticraft/mod/client/render/dimension/VenusSkyRenderer.java +++ b/src/main/java/dev/galacticraft/mod/client/render/dimension/VenusSkyRenderer.java @@ -46,7 +46,7 @@ public class VenusSkyRenderer implements DimensionRenderingRegistry.SkyRenderer public VertexBuffer starBuffer; public VertexBuffer skyBuffer; public VertexBuffer darkBuffer; - private float sunSize; + private final float sunSize; public VenusSkyRenderer() { this.sunSize = 30.0F * (1.0F / 0.75F); @@ -54,53 +54,52 @@ public VenusSkyRenderer() { this.starBuffer = new VertexBuffer(VertexBuffer.Usage.STATIC); // Bind stars to display list - Tesselator tessellator = Tesselator.getInstance(); - BufferBuilder worldRenderer = tessellator.getBuilder(); this.starBuffer.bind(); - this.starBuffer.upload(this.renderStars(worldRenderer)); + this.starBuffer.upload(this.renderStars()); VertexBuffer.unbind(); this.skyBuffer = new VertexBuffer(VertexBuffer.Usage.STATIC); final byte byte2 = 64; final int i = 256 / byte2 + 2; float f = 16F; + BufferBuilder buffer = Tesselator.getInstance().begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION); + RenderSystem.setShader(GameRenderer::getPositionShader); - worldRenderer.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION); for (int j = -byte2 * i; j <= byte2 * i; j += byte2) { for (int l = -byte2 * i; l <= byte2 * i; l += byte2) { - worldRenderer.vertex(j, f, l).endVertex(); - worldRenderer.vertex(j + byte2, f, l).endVertex(); - worldRenderer.vertex(j + byte2, f, l + byte2).endVertex(); - worldRenderer.vertex(j, f, l + byte2).endVertex(); + buffer.addVertex(j, f, l) + .addVertex(j + byte2, f, l) + .addVertex(j + byte2, f, l + byte2) + .addVertex(j, f, l + byte2); } } this.skyBuffer.bind(); - this.skyBuffer.upload(worldRenderer.end()); + this.skyBuffer.upload(buffer.buildOrThrow()); VertexBuffer.unbind(); this.darkBuffer = new VertexBuffer(VertexBuffer.Usage.STATIC); f = -16F; - worldRenderer.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION); + buffer = Tesselator.getInstance().begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION); for (int k = -byte2 * i; k <= byte2 * i; k += byte2) { for (int i1 = -byte2 * i; i1 <= byte2 * i; i1 += byte2) { - worldRenderer.vertex(k + byte2, f, i1 + 0).endVertex(); - worldRenderer.vertex(k + 0, f, i1 + 0).endVertex(); - worldRenderer.vertex(k + 0, f, i1 + byte2).endVertex(); - worldRenderer.vertex(k + byte2, f, i1 + byte2).endVertex(); + buffer.addVertex(k + byte2, f, i1 + 0) + .addVertex(k + 0, f, i1 + 0) + .addVertex(k + 0, f, i1 + byte2) + .addVertex(k + byte2, f, i1 + byte2); } } this.darkBuffer.bind(); - this.darkBuffer.upload(worldRenderer.end()); + this.darkBuffer.upload(buffer.buildOrThrow()); VertexBuffer.unbind(); } - private BufferBuilder.RenderedBuffer renderStars(BufferBuilder worldRenderer) { + private MeshData renderStars() { RandomSource rand = RandomSource.create(10842L); RenderSystem.setShader(GameRenderer::getPositionShader); - worldRenderer.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION); + BufferBuilder buffer = Tesselator.getInstance().begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION); for (int starIndex = 0; starIndex < 35000; ++starIndex) { double var4 = rand.nextFloat() * 2.0F - 1.0F; @@ -137,18 +136,18 @@ private BufferBuilder.RenderedBuffer renderStars(BufferBuilder worldRenderer) { final double var55 = var39 * var28 - var47 * var30; final double var57 = var55 * var22 - var49 * var24; final double var61 = var49 * var22 + var55 * var24; - worldRenderer.vertex(var14 + var57, var16 + var53, var18 + var61).endVertex(); + buffer.addVertex((float) (var14 + var57), (float) (var16 + var53), (float) (var18 + var61)); } } } - return worldRenderer.end(); + return buffer.buildOrThrow(); } @Override public void render(WorldRenderContext context) { ClientLevel level = context.world(); - float partialTicks = context.tickDelta(); + float partialTicks = context.tickCounter().getRealtimeDeltaTicks(); PoseStack poseStack = context.matrixStack(); Vec3 vec3 = level.getSkyColor(context.camera().getPosition(), partialTicks); float f1 = (float) vec3.x; @@ -156,8 +155,6 @@ public void render(WorldRenderContext context) { float f3 = (float) vec3.z; float f6; - Tesselator tessellator1 = Tesselator.getInstance(); - BufferBuilder worldRenderer1 = tessellator1.getBuilder(); RenderSystem.depthMask(false); FogRenderer.levelFogColor(); RenderSystem.setShaderColor(f1, f2, f3, 1.0F); @@ -202,12 +199,12 @@ public void render(WorldRenderContext context) { starBrightness = 1.0F - starBrightness; RenderSystem.setShader(GameRenderer::getPositionColorShader); - worldRenderer1.begin(VertexFormat.Mode.TRIANGLE_FAN, DefaultVertexFormat.POSITION_COLOR); + BufferBuilder buffer = Tesselator.getInstance().begin(VertexFormat.Mode.TRIANGLE_FAN, DefaultVertexFormat.POSITION_COLOR); float r = f6 * starBrightness; float g = f7 * starBrightness; float b = f8 * starBrightness; float a = afloat[3] * 2 / starBrightness; - worldRenderer1.vertex(poseStack.last().pose(), 0.0F, 100.0F, 0.0F).color(r, g, b, a).endVertex(); + buffer.addVertex(poseStack.last().pose(), 0.0F, 100.0F, 0.0F).setColor(r, g, b, a); r = afloat[0] * starBrightness; g = afloat[1] * starBrightness; b = afloat[2] * starBrightness / 20.0F; @@ -216,24 +213,24 @@ public void render(WorldRenderContext context) { // Render sun aura f10 = 20.0F; Matrix4f last = poseStack.last().pose(); - worldRenderer1.vertex(last, -f10, 100.0F, -f10).color(r, g, b, a).endVertex(); - worldRenderer1.vertex(last, 0, 100.0F, -f10 * 1.5F).color(r, g, b, a).endVertex(); - worldRenderer1.vertex(last, f10, 100.0F, -f10).color(r, g, b, a).endVertex(); - worldRenderer1.vertex(last, f10 * 1.5F, 100.0F, 0).color(r, g, b, a).endVertex(); - worldRenderer1.vertex(last, f10, 100.0F, f10).color(r, g, b, a).endVertex(); - worldRenderer1.vertex(last, 0, 100.0F, f10 * 1.5F).color(r, g, b, a).endVertex(); - worldRenderer1.vertex(last, -f10, 100.0F, f10).color(r, g, b, a).endVertex(); - worldRenderer1.vertex(last, -f10 * 1.5F, 100.0F, 0).color(r, g, b, a).endVertex(); - worldRenderer1.vertex(last, -f10, 100.0F, -f10).color(r, g, b, a).endVertex(); - - tessellator1.end(); - - worldRenderer1.begin(VertexFormat.Mode.TRIANGLE_FAN, DefaultVertexFormat.POSITION_COLOR); + buffer.addVertex(last, -f10, 100.0F, -f10).setColor(r, g, b, a) + .addVertex(last, 0, 100.0F, -f10 * 1.5F).setColor(r, g, b, a) + .addVertex(last, f10, 100.0F, -f10).setColor(r, g, b, a) + .addVertex(last, f10 * 1.5F, 100.0F, 0).setColor(r, g, b, a) + .addVertex(last, f10, 100.0F, f10).setColor(r, g, b, a) + .addVertex(last, 0, 100.0F, f10 * 1.5F).setColor(r, g, b, a) + .addVertex(last, -f10, 100.0F, f10).setColor(r, g, b, a) + .addVertex(last, -f10 * 1.5F, 100.0F, 0).setColor(r, g, b, a) + .addVertex(last, -f10, 100.0F, -f10).setColor(r, g, b, a); + + BufferUploader.drawWithShader(buffer.buildOrThrow()); + buffer = Tesselator.getInstance().begin(VertexFormat.Mode.TRIANGLE_FAN, DefaultVertexFormat.POSITION_COLOR); + r = f6 * starBrightness; g = f7 * starBrightness; b = f8 * starBrightness; a = afloat[3] * starBrightness; - worldRenderer1.vertex(last, 0.0F, 100.0F, 0.0F).color(r, g, b, a).endVertex(); + buffer.addVertex(last, 0.0F, 100.0F, 0.0F).setColor(r, g, b, a); r = afloat[0] * starBrightness; g = afloat[1] * starBrightness; b = afloat[2] * starBrightness; @@ -241,17 +238,17 @@ public void render(WorldRenderContext context) { // Render larger sun aura f10 = 40.0F; - worldRenderer1.vertex(last, -f10, 100.0F, -f10).color(r, g, b, a).endVertex(); - worldRenderer1.vertex(last, 0, 100.0F, -f10 * 1.5F).color(r, g, b, a).endVertex(); - worldRenderer1.vertex(last, f10, 100.0F, -f10).color(r, g, b, a).endVertex(); - worldRenderer1.vertex(last, f10 * 1.5F, 100.0F, 0).color(r, g, b, a).endVertex(); - worldRenderer1.vertex(last, f10, 100.0F, f10).color(r, g, b, a).endVertex(); - worldRenderer1.vertex(last, 0, 100.0F, f10 * 1.5F).color(r, g, b, a).endVertex(); - worldRenderer1.vertex(last, -f10, 100.0F, f10).color(r, g, b, a).endVertex(); - worldRenderer1.vertex(last, -f10 * 1.5F, 100.0F, 0).color(r, g, b, a).endVertex(); - worldRenderer1.vertex(last, -f10, 100.0F, -f10).color(r, g, b, a).endVertex(); - - tessellator1.end(); + buffer.addVertex(last, -f10, 100.0F, -f10).setColor(r, g, b, a) + .addVertex(last, 0, 100.0F, -f10 * 1.5F).setColor(r, g, b, a) + .addVertex(last, f10, 100.0F, -f10).setColor(r, g, b, a) + .addVertex(last, f10 * 1.5F, 100.0F, 0).setColor(r, g, b, a) + .addVertex(last, f10, 100.0F, f10).setColor(r, g, b, a) + .addVertex(last, 0, 100.0F, f10 * 1.5F).setColor(r, g, b, a) + .addVertex(last, -f10, 100.0F, f10).setColor(r, g, b, a) + .addVertex(last, -f10 * 1.5F, 100.0F, 0).setColor(r, g, b, a) + .addVertex(last, -f10, 100.0F, -f10).setColor(r, g, b, a); + + BufferUploader.drawWithShader(buffer.buildOrThrow()); poseStack.popPose(); RenderSystem.blendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE, GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ZERO); @@ -267,22 +264,22 @@ public void render(WorldRenderContext context) { // Some blanking to conceal the stars f10 = this.sunSize / 3.5F; Matrix4f last2 = poseStack.last().pose(); - worldRenderer1.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION); - worldRenderer1.vertex(last2, -f10, 99.9F, -f10).endVertex(); - worldRenderer1.vertex(last2, f10, 99.9F, -f10).endVertex(); - worldRenderer1.vertex(last2, f10, 99.9F, f10).endVertex(); - worldRenderer1.vertex(last2, -f10, 99.9F, f10).endVertex(); - tessellator1.end(); + buffer = Tesselator.getInstance().begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION); + buffer.addVertex(last2, -f10, 99.9F, -f10) + .addVertex(last2, f10, 99.9F, -f10) + .addVertex(last2, f10, 99.9F, f10) + .addVertex(last2, -f10, 99.9F, f10); + BufferUploader.drawWithShader(buffer.buildOrThrow()); RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, 0.1F); f10 = this.sunSize; RenderSystem.setShaderTexture(0, CelestialBodyTextures.ATMOSPHERIC_SUN); RenderSystem.setShader(GameRenderer::getPositionTexShader); - worldRenderer1.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX); - worldRenderer1.vertex(last2, -f10, 100.0F, -f10).uv(0.0F, 0.0F).endVertex(); - worldRenderer1.vertex(last2, f10, 100.0F, -f10).uv(1.0F, 0.0F).endVertex(); - worldRenderer1.vertex(last2, f10, 100.0F, f10).uv(1.0F, 1.0F).endVertex(); - worldRenderer1.vertex(last2, -f10, 100.0F, f10).uv(0.0F, 1.0F).endVertex(); - tessellator1.end(); + buffer = Tesselator.getInstance().begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX); + buffer.addVertex(last2, -f10, 100.0F, -f10).setUv(0.0F, 0.0F) + .addVertex(last2, f10, 100.0F, -f10).setUv(1.0F, 0.0F) + .addVertex(last2, f10, 100.0F, f10).setUv(1.0F, 1.0F) + .addVertex(last2, -f10, 100.0F, f10).setUv(0.0F, 1.0F); + BufferUploader.drawWithShader(buffer.buildOrThrow()); // Render earth f10 = 0.5F; @@ -291,12 +288,12 @@ public void render(WorldRenderContext context) { poseStack.mulPose(Axis.XP.rotationDegrees(200F)); RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, 1F); RenderSystem.setShaderTexture(0, CelestialBodyTextures.EARTH); - worldRenderer1.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX); - worldRenderer1.vertex(last2, -f10, -100.0F, f10).uv(0, 1.0F).endVertex(); - worldRenderer1.vertex(last2, f10, -100.0F, f10).uv(1.0F, 1.0F).endVertex(); - worldRenderer1.vertex(last2, f10, -100.0F, -f10).uv(1.0F, 0).endVertex(); - worldRenderer1.vertex(last2, -f10, -100.0F, -f10).uv(0, 0).endVertex(); - tessellator1.end(); + buffer = Tesselator.getInstance().begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX); + buffer.addVertex(last2, -f10, -100.0F, f10).setUv(0, 1.0F) + .addVertex(last2, f10, -100.0F, f10).setUv(1.0F, 1.0F) + .addVertex(last2, f10, -100.0F, -f10).setUv(1.0F, 0) + .addVertex(last2, -f10, -100.0F, -f10).setUv(0, 0); + BufferUploader.drawWithShader(buffer.buildOrThrow()); RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, 1.0F); RenderSystem.disableBlend(); @@ -316,28 +313,28 @@ public void render(WorldRenderContext context) { f9 = -((float) (horizon + 65.0D)); f10 = -f8; Matrix4f last3 = poseStack.last().pose(); - worldRenderer1.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_COLOR); - worldRenderer1.vertex(last3, -f8, f9, f8).color(0, 0, 0, 1.0F).endVertex(); - worldRenderer1.vertex(last3, f8, f9, f8).color(0, 0, 0, 1.0F).endVertex(); - worldRenderer1.vertex(last3, f8, f10, f8).color(0, 0, 0, 1.0F).endVertex(); - worldRenderer1.vertex(last3, -f8, f10, f8).color(0, 0, 0, 1.0F).endVertex(); - worldRenderer1.vertex(last3, -f8, f10, -f8).color(0, 0, 0, 1.0F).endVertex(); - worldRenderer1.vertex(last3, f8, f10, -f8).color(0, 0, 0, 1.0F).endVertex(); - worldRenderer1.vertex(last3, f8, f9, -f8).color(0, 0, 0, 1.0F).endVertex(); - worldRenderer1.vertex(last3, -f8, f9, -f8).color(0, 0, 0, 1.0F).endVertex(); - worldRenderer1.vertex(last3, f8, f10, -f8).color(0, 0, 0, 1.0F).endVertex(); - worldRenderer1.vertex(last3, f8, f10, f8).color(0, 0, 0, 1.0F).endVertex(); - worldRenderer1.vertex(last3, f8, f9, f8).color(0, 0, 0, 1.0F).endVertex(); - worldRenderer1.vertex(last3, f8, f9, -f8).color(0, 0, 0, 1.0F).endVertex(); - worldRenderer1.vertex(last3, -f8, f9, -f8).color(0, 0, 0, 1.0F).endVertex(); - worldRenderer1.vertex(last3, -f8, f9, f8).color(0, 0, 0, 1.0F).endVertex(); - worldRenderer1.vertex(last3, -f8, f10, f8).color(0, 0, 0, 1.0F).endVertex(); - worldRenderer1.vertex(last3, -f8, f10, -f8).color(0, 0, 0, 1.0F).endVertex(); - worldRenderer1.vertex(last3, -f8, f10, -f8).color(0, 0, 0, 1.0F).endVertex(); - worldRenderer1.vertex(last3, -f8, f10, f8).color(0, 0, 0, 1.0F).endVertex(); - worldRenderer1.vertex(last3, f8, f10, f8).color(0, 0, 0, 1.0F).endVertex(); - worldRenderer1.vertex(last3, f8, f10, -f8).color(0, 0, 0, 1.0F).endVertex(); - tessellator1.end(); + buffer = Tesselator.getInstance().begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_COLOR); + buffer.addVertex(last3, -f8, f9, f8).setColor(0, 0, 0, 1.0F) + .addVertex(last3, f8, f9, f8).setColor(0, 0, 0, 1.0F) + .addVertex(last3, f8, f10, f8).setColor(0, 0, 0, 1.0F) + .addVertex(last3, -f8, f10, f8).setColor(0, 0, 0, 1.0F) + .addVertex(last3, -f8, f10, -f8).setColor(0, 0, 0, 1.0F) + .addVertex(last3, f8, f10, -f8).setColor(0, 0, 0, 1.0F) + .addVertex(last3, f8, f9, -f8).setColor(0, 0, 0, 1.0F) + .addVertex(last3, -f8, f9, -f8).setColor(0, 0, 0, 1.0F) + .addVertex(last3, f8, f10, -f8).setColor(0, 0, 0, 1.0F) + .addVertex(last3, f8, f10, f8).setColor(0, 0, 0, 1.0F) + .addVertex(last3, f8, f9, f8).setColor(0, 0, 0, 1.0F) + .addVertex(last3, f8, f9, -f8).setColor(0, 0, 0, 1.0F) + .addVertex(last3, -f8, f9, -f8).setColor(0, 0, 0, 1.0F) + .addVertex(last3, -f8, f9, f8).setColor(0, 0, 0, 1.0F) + .addVertex(last3, -f8, f10, f8).setColor(0, 0, 0, 1.0F) + .addVertex(last3, -f8, f10, -f8).setColor(0, 0, 0, 1.0F) + .addVertex(last3, -f8, f10, -f8).setColor(0, 0, 0, 1.0F) + .addVertex(last3, -f8, f10, f8).setColor(0, 0, 0, 1.0F) + .addVertex(last3, f8, f10, f8).setColor(0, 0, 0, 1.0F) + .addVertex(last3, f8, f10, -f8).setColor(0, 0, 0, 1.0F); + BufferUploader.drawWithShader(buffer.buildOrThrow()); } poseStack.pushPose(); diff --git a/src/main/java/dev/galacticraft/mod/client/render/dimension/VenusWeatherRenderer.java b/src/main/java/dev/galacticraft/mod/client/render/dimension/VenusWeatherRenderer.java index 2215926d6d..a6f4d69221 100644 --- a/src/main/java/dev/galacticraft/mod/client/render/dimension/VenusWeatherRenderer.java +++ b/src/main/java/dev/galacticraft/mod/client/render/dimension/VenusWeatherRenderer.java @@ -23,10 +23,7 @@ package dev.galacticraft.mod.client.render.dimension; import com.mojang.blaze3d.systems.RenderSystem; -import com.mojang.blaze3d.vertex.BufferBuilder; -import com.mojang.blaze3d.vertex.DefaultVertexFormat; -import com.mojang.blaze3d.vertex.Tesselator; -import com.mojang.blaze3d.vertex.VertexFormat; +import com.mojang.blaze3d.vertex.*; import dev.galacticraft.mod.Constant; import net.fabricmc.fabric.api.client.rendering.v1.DimensionRenderingRegistry; import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext; @@ -66,14 +63,12 @@ public void render(WorldRenderContext context) { double camY = camPos.y(); double camZ = camPos.z(); ClientLevel level = context.world(); - float partialTicks = context.tickDelta(); + float partialTicks = context.tickCounter().getRealtimeDeltaTicks(); float strength = level.getRainLevel(partialTicks); if (strength > 0.0F) { context.lightmapTextureManager().turnOnLightLayer(); - Tesselator tessellator = Tesselator.getInstance(); - BufferBuilder worldrenderer = tessellator.getBuilder(); RenderSystem.disableCull(); RenderSystem.enableBlend(); RenderSystem.enableDepthTest(); @@ -91,6 +86,8 @@ public void render(WorldRenderContext context) { int py = Mth.floor(camY); int pz = Mth.floor(camZ); + BufferBuilder buffer = null; + for (int z = pz - r; z <= pz + r; ++z) { int indexZ = (z - pz + 16) * 32; for (int x = px - r; x <= px + r; ++x) { @@ -117,13 +114,13 @@ public void render(WorldRenderContext context) { RandomSource random = RandomSource.create((long)(x * x * 3121 + x * 45238971 ^ z * z * 418711 + z * 13761)); if (drawFlag != 0) { - if (drawFlag >= 0) { - tessellator.end(); + if (drawFlag >= 0 && buffer != null) { + BufferUploader.drawWithShader(buffer.buildOrThrow()); } drawFlag = 0; RenderSystem.setShaderTexture(0, RAIN_TEXTURES); - worldrenderer.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.PARTICLE); + buffer = Tesselator.getInstance().begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.PARTICLE); } int index = indexZ + x - px + 16; @@ -149,16 +146,16 @@ public void render(WorldRenderContext context) { int light = LevelRenderer.getLightColor(level, mutablePos); double xc = x + 0.5D; double zc = z + 0.5D; - worldrenderer.vertex(xc - camX - dx, (double) ymax - yo - camY, zc - camZ - dz).uv(0.0F, (float) y * 0.25F + vOff).color(1.0F, 1.0F, 1.0F, alpha).uv2(light).endVertex(); - worldrenderer.vertex(xc - camX + dx, (double) ymax - yo - camY, zc - camZ + dz).uv(1.0F, (float) y * 0.25F + vOff).color(1.0F, 1.0F, 1.0F, alpha).uv2(light).endVertex(); - worldrenderer.vertex(xc - camX + dx, (double) y - yo - camY, zc - camZ + dz).uv(1.0F, (float) ymax * 0.25F + vOff).color(1.0F, 1.0F, 1.0F, alpha).uv2(light).endVertex(); - worldrenderer.vertex(xc - camX - dx, (double) y - yo - camY, zc - camZ - dz).uv(0.0F, (float) ymax * 0.25F + vOff).color(1.0F, 1.0F, 1.0F, alpha).uv2(light).endVertex(); + buffer.addVertex((float) (xc - camX - dx), (float) (ymax - yo - camY), (float) (zc - camZ - dz)).setUv(0.0F, (float) y * 0.25F + vOff).setColor(1.0F, 1.0F, 1.0F, alpha).setLight(light) + .addVertex((float) (xc - camX + dx), (float) (ymax - yo - camY), (float) (zc - camZ + dz)).setUv(1.0F, (float) y * 0.25F + vOff).setColor(1.0F, 1.0F, 1.0F, alpha).setLight(light) + .addVertex((float) (xc - camX + dx), (float) (y - yo - camY), (float) (zc - camZ + dz)).setUv(1.0F, (float) ymax * 0.25F + vOff).setColor(1.0F, 1.0F, 1.0F, alpha).setLight(light) + .addVertex((float) (xc - camX - dx), (float) (y - yo - camY), (float) (zc - camZ - dz)).setUv(0.0F, (float) ymax * 0.25F + vOff).setColor(1.0F, 1.0F, 1.0F, alpha).setLight(light); } } } if (drawFlag >= 0) { - tessellator.end(); + BufferUploader.drawWithShader(buffer.buildOrThrow()); } RenderSystem.enableCull(); diff --git a/src/main/java/dev/galacticraft/mod/client/render/entity/BubbleEntityRenderer.java b/src/main/java/dev/galacticraft/mod/client/render/entity/BubbleEntityRenderer.java index 1c3aeacd3a..edaca412dd 100644 --- a/src/main/java/dev/galacticraft/mod/client/render/entity/BubbleEntityRenderer.java +++ b/src/main/java/dev/galacticraft/mod/client/render/entity/BubbleEntityRenderer.java @@ -27,22 +27,17 @@ import dev.galacticraft.mod.Constant; import dev.galacticraft.mod.client.model.GCBakedModel; import dev.galacticraft.mod.client.model.GCModelLoader; -import dev.galacticraft.mod.client.model.GCSheets; +import dev.galacticraft.mod.client.model.GCRenderTypes; import dev.galacticraft.mod.content.block.entity.machine.OxygenBubbleDistributorBlockEntity; import dev.galacticraft.mod.content.entity.BubbleEntity; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import net.minecraft.client.Minecraft; import net.minecraft.client.multiplayer.ClientLevel; import net.minecraft.client.renderer.MultiBufferSource; -import net.minecraft.client.renderer.RenderType; -import net.minecraft.client.renderer.block.model.BakedQuad; import net.minecraft.client.renderer.culling.Frustum; import net.minecraft.client.renderer.entity.EntityRenderer; import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.client.renderer.texture.OverlayTexture; -import net.minecraft.client.resources.model.BakedModel; -import net.minecraft.core.Direction; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.Entity; import net.minecraft.world.level.block.entity.BlockEntity; @@ -80,7 +75,7 @@ public void render(BubbleEntity entity, float yaw, float tickDelta, PoseStack ma matrices.pushPose(); matrices.translate(0.5F, 1.0F, 0.5F); matrices.scale((float) size, (float) size, (float) size); - VertexConsumer consumer = vertexConsumers.getBuffer(GCSheets.entityTranslucentEmissive(GCSheets.OBJ_ATLAS)); + VertexConsumer consumer = vertexConsumers.getBuffer(GCRenderTypes.bubble(GCRenderTypes.OBJ_ATLAS)); // for (BakedQuad quad : bubbleModel.getQuads(null, null, entity.level().random)) { // consumer.putBulkData(matrices.last(), quad, 1, 1, 1, Integer.MAX_VALUE, OverlayTexture.NO_OVERLAY); // } diff --git a/src/main/java/dev/galacticraft/mod/client/render/entity/BuggyRenderer.java b/src/main/java/dev/galacticraft/mod/client/render/entity/BuggyRenderer.java index 3314919b04..05bebf4cad 100644 --- a/src/main/java/dev/galacticraft/mod/client/render/entity/BuggyRenderer.java +++ b/src/main/java/dev/galacticraft/mod/client/render/entity/BuggyRenderer.java @@ -29,7 +29,7 @@ import dev.galacticraft.mod.client.model.GCBakedModel; import dev.galacticraft.mod.client.model.GCModelLoader; import dev.galacticraft.mod.client.model.GCModelState; -import dev.galacticraft.mod.client.model.GCSheets; +import dev.galacticraft.mod.client.model.GCRenderTypes; import dev.galacticraft.mod.content.entity.Buggy; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.entity.EntityRenderer; @@ -61,7 +61,7 @@ public void render(Buggy buggy, float yaw, float tickDelta, PoseStack matrices, if (this.buggyModel == null) this.buggyModel = GCModelLoader.INSTANCE.getModel(MODEL); float pitch = Mth.lerp(tickDelta, buggy.xRotO, buggy.getXRot()); - VertexConsumer consumer = vertexConsumers.getBuffer(GCSheets.obj(GCSheets.OBJ_ATLAS)); + VertexConsumer consumer = vertexConsumers.getBuffer(GCRenderTypes.obj(GCRenderTypes.OBJ_ATLAS)); matrices.pushPose(); matrices.scale(1.0F, 1.0F, 1.0F); matrices.mulPose(Axis.YP.rotationDegrees(180.0F - yaw)); diff --git a/src/main/java/dev/galacticraft/mod/client/render/entity/LanderEntityRenderer.java b/src/main/java/dev/galacticraft/mod/client/render/entity/LanderEntityRenderer.java index 01c326eb16..1fd78b4bd1 100644 --- a/src/main/java/dev/galacticraft/mod/client/render/entity/LanderEntityRenderer.java +++ b/src/main/java/dev/galacticraft/mod/client/render/entity/LanderEntityRenderer.java @@ -33,7 +33,6 @@ import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.resources.ResourceLocation; -import org.lwjgl.opengl.GL11; public class LanderEntityRenderer extends EntityRenderer { protected final LanderModel model; @@ -69,7 +68,7 @@ public void render(LanderEntity lander, float entityYaw, float partialTicks, Pos poseStack.mulPose(Axis.YN.rotationDegrees(180.0F - entityYaw)); poseStack.mulPose(Axis.ZN.rotationDegrees(pitch)); - this.model.renderToBuffer(poseStack, multiBufferSource.getBuffer(this.model.renderType(getTextureLocation(lander))), light, OverlayTexture.NO_OVERLAY, 1.0F, 1.0F, 1.0F, 1.0F); + this.model.renderToBuffer(poseStack, multiBufferSource.getBuffer(this.model.renderType(getTextureLocation(lander))), light, OverlayTexture.NO_OVERLAY); poseStack.popPose(); } } diff --git a/src/main/java/dev/galacticraft/mod/client/render/entity/ParachestRenderer.java b/src/main/java/dev/galacticraft/mod/client/render/entity/ParachestRenderer.java index 2664255dae..2e950080ce 100644 --- a/src/main/java/dev/galacticraft/mod/client/render/entity/ParachestRenderer.java +++ b/src/main/java/dev/galacticraft/mod/client/render/entity/ParachestRenderer.java @@ -56,8 +56,8 @@ public ParachestRenderer(EntityRendererProvider.Context context) { @Override public void render(ParachestEntity entity, float entityYaw, float partialTick, PoseStack poseStack, MultiBufferSource buffer, int packedLight) { this.parachute.setupAnim(entity, 0F, 0F, 0F, 0F, 0F); - this.chest.render(poseStack, buffer.getBuffer(RenderType.entityCutoutNoCull(TEXTURE)), packedLight, OverlayTexture.NO_OVERLAY, 1.0F, 1.0F, 1.0F, 1.0F); - this.parachute.renderToBuffer(poseStack, buffer.getBuffer(RenderType.entityCutoutNoCull(getTextureLocation(entity))), packedLight, OverlayTexture.NO_OVERLAY, 1.0F, 1.0F, 1.0F, 1.0F); + this.chest.render(poseStack, buffer.getBuffer(RenderType.entityCutoutNoCull(TEXTURE)), packedLight, OverlayTexture.NO_OVERLAY); + this.parachute.renderToBuffer(poseStack, buffer.getBuffer(RenderType.entityCutoutNoCull(getTextureLocation(entity))), packedLight, OverlayTexture.NO_OVERLAY); } @Override diff --git a/src/main/java/dev/galacticraft/mod/client/render/entity/model/ParachestModel.java b/src/main/java/dev/galacticraft/mod/client/render/entity/model/ParachestModel.java index daf45b1663..beae41f6fd 100644 --- a/src/main/java/dev/galacticraft/mod/client/render/entity/model/ParachestModel.java +++ b/src/main/java/dev/galacticraft/mod/client/render/entity/model/ParachestModel.java @@ -22,7 +22,6 @@ package dev.galacticraft.mod.client.render.entity.model; -import dev.galacticraft.mod.Constant; import dev.galacticraft.mod.content.entity.ParachestEntity; import net.minecraft.client.model.HierarchicalModel; import net.minecraft.client.model.geom.ModelPart; diff --git a/src/main/java/dev/galacticraft/mod/client/render/entity/rocket/RocketEntityRenderer.java b/src/main/java/dev/galacticraft/mod/client/render/entity/rocket/RocketEntityRenderer.java index 017078d447..70f8d114e3 100644 --- a/src/main/java/dev/galacticraft/mod/client/render/entity/rocket/RocketEntityRenderer.java +++ b/src/main/java/dev/galacticraft/mod/client/render/entity/rocket/RocketEntityRenderer.java @@ -34,7 +34,7 @@ import net.minecraft.client.renderer.entity.EntityRenderer; import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.client.renderer.texture.OverlayTexture; -import net.minecraft.resources.ResourceKey; +import net.minecraft.core.Holder; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.Mth; import net.minecraft.world.inventory.InventoryMenu; @@ -74,10 +74,10 @@ public void render(RocketEntity entity, float yaw, float partialTick, PoseStack // RenderSystem.setShaderTexture(0, getTextureLocation(entity)); matrices.translate(0.0D, -1.75D, 0.0D); - ResourceKey> part = entity.engine(); + Holder> part = entity.engine(); if (part != null) { matrices.pushPose(); - RocketPartRendererRegistry.INSTANCE.getRenderer(part).render(client.level, matrices, entity, vertexConsumers, partialTick, light, OverlayTexture.NO_OVERLAY); + RocketPartRendererRegistry.INSTANCE.getRenderer(part.unwrapKey().get()).render(client.level, matrices, entity, vertexConsumers, partialTick, light, OverlayTexture.NO_OVERLAY); matrices.popPose(); } @@ -86,14 +86,14 @@ public void render(RocketEntity entity, float yaw, float partialTick, PoseStack part = entity.booster(); if (part != null) { matrices.pushPose(); - RocketPartRendererRegistry.INSTANCE.getRenderer(part).render(client.level, matrices, entity, vertexConsumers, partialTick, light, OverlayTexture.NO_OVERLAY); + RocketPartRendererRegistry.INSTANCE.getRenderer(part.unwrapKey().get()).render(client.level, matrices, entity, vertexConsumers, partialTick, light, OverlayTexture.NO_OVERLAY); matrices.popPose(); } part = entity.fin(); if (part != null) { matrices.pushPose(); - RocketPartRendererRegistry.INSTANCE.getRenderer(part).render(client.level, matrices, entity, vertexConsumers, partialTick, light, OverlayTexture.NO_OVERLAY); + RocketPartRendererRegistry.INSTANCE.getRenderer(part.unwrapKey().get()).render(client.level, matrices, entity, vertexConsumers, partialTick, light, OverlayTexture.NO_OVERLAY); matrices.popPose(); } @@ -102,7 +102,7 @@ public void render(RocketEntity entity, float yaw, float partialTick, PoseStack part = entity.body(); if (part != null) { matrices.pushPose(); - RocketPartRendererRegistry.INSTANCE.getRenderer(part).render(client.level, matrices, entity, vertexConsumers, partialTick, light, OverlayTexture.NO_OVERLAY); + RocketPartRendererRegistry.INSTANCE.getRenderer(part.unwrapKey().get()).render(client.level, matrices, entity, vertexConsumers, partialTick, light, OverlayTexture.NO_OVERLAY); matrices.popPose(); } @@ -111,7 +111,7 @@ public void render(RocketEntity entity, float yaw, float partialTick, PoseStack part = entity.cone(); if (part != null) { matrices.pushPose(); - RocketPartRendererRegistry.INSTANCE.getRenderer(part).render(client.level, matrices, entity, vertexConsumers, partialTick, light, OverlayTexture.NO_OVERLAY); + RocketPartRendererRegistry.INSTANCE.getRenderer(part.unwrapKey().get()).render(client.level, matrices, entity, vertexConsumers, partialTick, light, OverlayTexture.NO_OVERLAY); matrices.popPose(); } diff --git a/src/main/java/dev/galacticraft/mod/client/render/item/RocketItemRenderer.java b/src/main/java/dev/galacticraft/mod/client/render/item/RocketItemRenderer.java index bcff6d44d2..1b60d71320 100644 --- a/src/main/java/dev/galacticraft/mod/client/render/item/RocketItemRenderer.java +++ b/src/main/java/dev/galacticraft/mod/client/render/item/RocketItemRenderer.java @@ -34,9 +34,9 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.multiplayer.ClientLevel; import net.minecraft.client.renderer.MultiBufferSource; -import net.minecraft.resources.ResourceKey; import net.minecraft.util.Mth; import net.minecraft.world.inventory.InventoryMenu; +import net.minecraft.world.item.EitherHolder; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; @@ -45,7 +45,7 @@ public class RocketItemRenderer implements BuiltinItemRendererRegistry.DynamicIt @Override public void render(ItemStack stack, ItemDisplayContext mode, PoseStack matrices, MultiBufferSource vertexConsumers, int light, int overlay) { - RocketData data = RocketData.fromNbt(stack.getTag()); + RocketData data = RocketData.fromPatch(stack.getComponentsPatch()); rocket.setLevel(Minecraft.getInstance().level); rocket.setData(data); rocket.setOldPosAndRot(); @@ -80,10 +80,10 @@ public void render(ItemStack stack, ItemDisplayContext mode, PoseStack matrices, } RenderSystem.setShaderTexture(0, InventoryMenu.BLOCK_ATLAS); matrices.translate(0.0D, -1.75D, 0.0D); - ResourceKey> part = data.engine(); + EitherHolder> part = data.engine(); if (part != null) { matrices.pushPose(); - RocketPartRendererRegistry.INSTANCE.getRenderer(part).render(level, matrices, rocket, vertexConsumers, 0, light, overlay); + RocketPartRendererRegistry.INSTANCE.getRenderer(part.key()).render(level, matrices, rocket, vertexConsumers, 0, light, overlay); matrices.popPose(); } @@ -92,14 +92,14 @@ public void render(ItemStack stack, ItemDisplayContext mode, PoseStack matrices, part = data.booster(); if (part != null) { matrices.pushPose(); - RocketPartRendererRegistry.INSTANCE.getRenderer(part).render(level, matrices, rocket, vertexConsumers, 0, light, overlay); + RocketPartRendererRegistry.INSTANCE.getRenderer(part.key()).render(level, matrices, rocket, vertexConsumers, 0, light, overlay); matrices.popPose(); } part = data.fin(); if (part != null) { matrices.pushPose(); - RocketPartRendererRegistry.INSTANCE.getRenderer(part).render(level, matrices, rocket, vertexConsumers, 0, light, overlay); + RocketPartRendererRegistry.INSTANCE.getRenderer(part.key()).render(level, matrices, rocket, vertexConsumers, 0, light, overlay); matrices.popPose(); } @@ -108,7 +108,7 @@ public void render(ItemStack stack, ItemDisplayContext mode, PoseStack matrices, part = data.body(); if (part != null) { matrices.pushPose(); - RocketPartRendererRegistry.INSTANCE.getRenderer(part).render(level, matrices, rocket, vertexConsumers, 0, light, overlay); + RocketPartRendererRegistry.INSTANCE.getRenderer(part.key()).render(level, matrices, rocket, vertexConsumers, 0, light, overlay); matrices.popPose(); } @@ -117,7 +117,7 @@ public void render(ItemStack stack, ItemDisplayContext mode, PoseStack matrices, part = data.cone(); if (part != null) { matrices.pushPose(); - RocketPartRendererRegistry.INSTANCE.getRenderer(part).render(level, matrices, rocket, vertexConsumers, 0, light, overlay); + RocketPartRendererRegistry.INSTANCE.getRenderer(part.key()).render(level, matrices, rocket, vertexConsumers, 0, light, overlay); matrices.popPose(); } diff --git a/src/main/java/dev/galacticraft/mod/client/render/rocket/BakedModelItemRocketPartRenderer.java b/src/main/java/dev/galacticraft/mod/client/render/rocket/BakedModelItemRocketPartRenderer.java index cf88c8ebc3..9d04760a1b 100644 --- a/src/main/java/dev/galacticraft/mod/client/render/rocket/BakedModelItemRocketPartRenderer.java +++ b/src/main/java/dev/galacticraft/mod/client/render/rocket/BakedModelItemRocketPartRenderer.java @@ -25,13 +25,13 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import dev.galacticraft.api.entity.rocket.render.RocketPartRenderer; +import dev.galacticraft.api.rocket.RocketData; import dev.galacticraft.api.rocket.entity.Rocket; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.multiplayer.ClientLevel; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; -import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.client.resources.model.BakedModel; import net.minecraft.world.item.ItemStack; import org.jetbrains.annotations.Nullable; @@ -61,10 +61,9 @@ public void render(ClientLevel world, PoseStack matrices, Rocket rocket, MultiBu if (this.model != null) { PoseStack.Pose entry = matrices.last(); VertexConsumer consumer = vertices.getBuffer(layer); - Minecraft.getInstance().getBlockRenderer().getModelRenderer().renderModel(entry, consumer, null, model, (rocket.red() / 255f) * (rocket.alpha() / 255f), - (rocket.green() / 255f) * (rocket.alpha() / 255f), - (rocket.blue() / 255f) * (rocket.alpha() / 255f), - light, overlay); + RocketData data = rocket.getData(); + Minecraft.getInstance().getBlockRenderer().getModelRenderer().renderModel(entry, consumer, null, model, + data.red() / 255f, data.blue() / 255f, data.green() / 255f, light, overlay); } } } \ No newline at end of file diff --git a/src/main/java/dev/galacticraft/mod/client/render/rocket/GalacticraftRocketPartRenderers.java b/src/main/java/dev/galacticraft/mod/client/render/rocket/GalacticraftRocketPartRenderers.java index f1b974f3da..34c5e813d2 100644 --- a/src/main/java/dev/galacticraft/mod/client/render/rocket/GalacticraftRocketPartRenderers.java +++ b/src/main/java/dev/galacticraft/mod/client/render/rocket/GalacticraftRocketPartRenderers.java @@ -28,8 +28,6 @@ import dev.galacticraft.mod.Constant; import dev.galacticraft.mod.client.model.GCModelLoader; import dev.galacticraft.mod.content.GCRocketParts; -import net.fabricmc.fabric.api.client.model.ModelLoadingRegistry; -import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.Sheets; import net.minecraft.resources.ResourceLocation; @@ -38,14 +36,14 @@ import java.util.Objects; public class GalacticraftRocketPartRenderers { - private static final ResourceLocation DEFAULT_CONE = Constant.id("models/misc/rocket_cone_basic.json"); - private static final ResourceLocation ADVANCED_CONE = Constant.id("models/misc/rocket_cone_advanced.json"); - private static final ResourceLocation SLOPED_CONE = Constant.id("models/misc/rocket_cone_sloped.json"); - private static final ResourceLocation DEFAULT_BODY = Constant.id("models/misc/rocket_body.json"); - private static final ResourceLocation DEFAULT_FIN = Constant.id("models/misc/rocket_fins.json"); - private static final ResourceLocation DEFAULT_ENGINE = Constant.id("models/misc/rocket_engine.json"); - private static final ResourceLocation BOOSTER_TIER_1 = Constant.id("models/misc/rocket_thruster_tier_1.json"); - private static final ResourceLocation BOOSTER_TIER_2 = Constant.id("models/misc/rocket_thruster_tier_2.json"); + public static final ResourceLocation DEFAULT_CONE = Constant.id("models/misc/rocket_cone_basic.json"); + public static final ResourceLocation ADVANCED_CONE = Constant.id("models/misc/rocket_cone_advanced.json"); + public static final ResourceLocation SLOPED_CONE = Constant.id("models/misc/rocket_cone_sloped.json"); + public static final ResourceLocation DEFAULT_BODY = Constant.id("models/misc/rocket_body.json"); + public static final ResourceLocation DEFAULT_FIN = Constant.id("models/misc/rocket_fins.json"); + public static final ResourceLocation DEFAULT_ENGINE = Constant.id("models/misc/rocket_engine.json"); + public static final ResourceLocation BOOSTER_TIER_1 = Constant.id("models/misc/rocket_thruster_tier_1.json"); + public static final ResourceLocation BOOSTER_TIER_2 = Constant.id("models/misc/rocket_thruster_tier_2.json"); public static void register() { RocketPartRendererRegistry.INSTANCE.register(GCRocketParts.TIER_1_CONE, new BakedModelRocketPartRenderer(Suppliers.memoize(() -> Objects.requireNonNull(GCModelLoader.INSTANCE.getModel(DEFAULT_CONE))), Sheets::translucentCullBlockSheet)); @@ -58,17 +56,4 @@ public static void register() { RocketPartRendererRegistry.INSTANCE.register(GCRocketParts.TIER_1_BOOSTER, new BakedModelRocketPartRenderer(Suppliers.memoize(() -> Objects.requireNonNull(GCModelLoader.INSTANCE.getModel(BOOSTER_TIER_1))), Sheets::translucentCullBlockSheet)); RocketPartRendererRegistry.INSTANCE.register(GCRocketParts.TIER_2_BOOSTER, new BakedModelRocketPartRenderer(Suppliers.memoize(() -> Objects.requireNonNull(GCModelLoader.INSTANCE.getModel(BOOSTER_TIER_2))), Sheets::translucentCullBlockSheet)); } - - public static void registerModelLoader() { - ModelLoadingRegistry.INSTANCE.registerModelProvider((manager, out) -> { - out.accept(DEFAULT_CONE); - out.accept(SLOPED_CONE); - out.accept(ADVANCED_CONE); - out.accept(DEFAULT_BODY); - out.accept(DEFAULT_ENGINE); - out.accept(DEFAULT_FIN); - out.accept(BOOSTER_TIER_1); - out.accept(BOOSTER_TIER_2); - }); - } } \ No newline at end of file diff --git a/src/main/java/dev/galacticraft/mod/client/util/BatchedColorRenderer.java b/src/main/java/dev/galacticraft/mod/client/util/BatchedColorRenderer.java deleted file mode 100644 index b76517ac98..0000000000 --- a/src/main/java/dev/galacticraft/mod/client/util/BatchedColorRenderer.java +++ /dev/null @@ -1,89 +0,0 @@ -/* - * Copyright (c) 2019-2024 Team Galacticraft - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -package dev.galacticraft.mod.client.util; - -import com.mojang.blaze3d.systems.RenderSystem; -import com.mojang.blaze3d.vertex.*; -import dev.galacticraft.mod.Constant; -import net.minecraft.client.gui.GuiGraphics; -import net.minecraft.client.renderer.GameRenderer; -import net.minecraft.resources.ResourceLocation; -import org.joml.Matrix4f; - -public class BatchedColorRenderer implements AutoCloseable { - private final BufferBuilder buffer; - private final PoseStack pose; - private final int textureWidth; - private final int textureHeight; - - public BatchedColorRenderer(BufferBuilder buffer, PoseStack pose, ResourceLocation texture, int textureWidth, int textureHeight) { - assert !buffer.building(); - - this.buffer = buffer; - this.pose = pose; - this.textureWidth = textureWidth; - this.textureHeight = textureHeight; - - buffer.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX_COLOR); - } - - public BatchedColorRenderer(GuiGraphics graphics, ResourceLocation texture, int textureWidth, int textureHeight) { - this(Tesselator.getInstance().getBuilder(), graphics.pose(), texture, textureWidth, textureHeight); - } - - public void blit(int x, int y, int width, int height, int uOffset, int vOffset, int uWidth, int vHeight, int color) { - innerBlit(x, x + width, y, y + height, uOffset, vOffset, uWidth, vHeight, color); - } - - public void blit(int x, int y, int width, int height, int u, int v, int uWidth, int vHeight, int color, boolean invertX, boolean invertY) { - innerBlit(x, x + width, y, y + height, u + (invertX ? uWidth : 0), v + (invertY ? vHeight : 0), invertX ? -uWidth : uWidth, invertY ? -vHeight : vHeight, color); - } - - public void blit(int x, int y, int u, int v, int width, int height, int color) { - blit(x, y, width, height, u, v, width, height, color); - } - - public void innerBlit(int x1, int x2, int y1, int y2, int uOffset, int vOffset, int uWidth, int vHeight, int color) { - this.innerBlit(x1, x2, y1, y2, (float)uOffset / (float) this.textureWidth, (float)(uOffset + uWidth) / (float) this.textureWidth, (float)vOffset / (float) this.textureHeight, (float) (vOffset + vHeight) / (float) this.textureHeight, color); - } - - private void innerBlit(int x1, int x2, int y1, int y2, float u1, float u2, float v1, float v2, int color) { - Matrix4f matrix = this.pose.last().pose(); - this.buffer.vertex(matrix, (float) x1, (float) y1, -10).uv(u1, v1).color(color).endVertex(); - this.buffer.vertex(matrix, (float) x1, (float) y2, -10).uv(u1, v2).color(color).endVertex(); - this.buffer.vertex(matrix, (float) x2, (float) y2, -10).uv(u2, v2).color(color).endVertex(); - this.buffer.vertex(matrix, (float) x2, (float) y1, -10).uv(u2, v1).color(color).endVertex(); - } - - public PoseStack pose() { - return this.pose; - } - - @Override - public void close() { - RenderSystem.enableBlend(); - RenderSystem.setShaderTexture(0, Constant.id("textures/gui/celestial_selection_0.png")); - RenderSystem.setShader(GameRenderer::getPositionTexColorShader); - BufferUploader.drawWithShader(this.buffer.end()); - } -} diff --git a/src/main/java/dev/galacticraft/mod/client/util/BatchedRenderer.java b/src/main/java/dev/galacticraft/mod/client/util/BatchedRenderer.java deleted file mode 100644 index 36709b6f9f..0000000000 --- a/src/main/java/dev/galacticraft/mod/client/util/BatchedRenderer.java +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Copyright (c) 2019-2024 Team Galacticraft - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -package dev.galacticraft.mod.client.util; - -import com.mojang.blaze3d.systems.RenderSystem; -import com.mojang.blaze3d.vertex.*; -import net.minecraft.client.gui.GuiGraphics; -import net.minecraft.client.renderer.GameRenderer; -import net.minecraft.resources.ResourceLocation; -import org.joml.Matrix4f; - -public class BatchedRenderer implements AutoCloseable { - private final BufferBuilder buffer; - private final PoseStack pose; - private final int textureWidth; - private final int textureHeight; - - public BatchedRenderer(BufferBuilder buffer, PoseStack pose, ResourceLocation texture, int textureWidth, int textureHeight) { - assert !buffer.building(); - - this.buffer = buffer; - this.pose = pose; - this.textureWidth = textureWidth; - this.textureHeight = textureHeight; - - RenderSystem.setShaderTexture(0, texture); - RenderSystem.setShader(GameRenderer::getPositionTexShader); - buffer.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX); - } - - public BatchedRenderer(GuiGraphics graphics, ResourceLocation texture, int textureWidth, int textureHeight) { - this(Tesselator.getInstance().getBuilder(), graphics.pose(), texture, textureWidth, textureHeight); - } - - public void blit(int x, int y, int width, int height, float uOffset, float vOffset, int uWidth, int vHeight) { - blit(x, x + width, y, y + height, uWidth, vHeight, uOffset, vOffset); - } - - public void blit(int x, int y, float uOffset, float vOffset, int width, int height) { - blit(x, y, width, height, uOffset, vOffset, width, height); - } - - public void blit(int x1, int x2, int y1, int y2, int uWidth, int vHeight, float uOffset, float vOffset) { - this.innerBlit(x1, x2, y1, y2, uOffset / (float) this.textureWidth, (uOffset + (float) uWidth) / (float) this.textureWidth, vOffset / (float) this.textureHeight, (vOffset + (float) vHeight) / (float) this.textureHeight); - } - - private void innerBlit(int x1, int x2, int y1, int y2, float u1, float u2, float v1, float v2) { - Matrix4f matrix = this.pose.last().pose(); - this.buffer.vertex(matrix, (float) x1, (float) y1, 0).uv(u1, v1).endVertex(); - this.buffer.vertex(matrix, (float) x1, (float) y2, 0).uv(u1, v2).endVertex(); - this.buffer.vertex(matrix, (float) x2, (float) y2, 0).uv(u2, v2).endVertex(); - this.buffer.vertex(matrix, (float) x2, (float) y1, 0).uv(u2, v1).endVertex(); - } - - public PoseStack pose() { - return this.pose; - } - - @Override - public void close() { - BufferUploader.drawWithShader(this.buffer.end()); - } -} diff --git a/src/main/java/dev/galacticraft/mod/client/util/Graphics.java b/src/main/java/dev/galacticraft/mod/client/util/Graphics.java index 14e285b1e5..e5a21d4ba7 100644 --- a/src/main/java/dev/galacticraft/mod/client/util/Graphics.java +++ b/src/main/java/dev/galacticraft/mod/client/util/Graphics.java @@ -34,6 +34,7 @@ import net.minecraft.network.chat.FormattedText; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.FormattedCharSequence; +import org.jetbrains.annotations.Nullable; import org.joml.Matrix4f; import java.util.ArrayList; @@ -41,17 +42,16 @@ public class Graphics implements AutoCloseable { private final PoseStack pose; - private final BufferBuilder buffer; private final MultiBufferSource.BufferSource bufferSource; private final Font font; private final List renderers = new ArrayList<>(1); + private @Nullable BufferBuilder buffer; private Graphics(PoseStack pose, MultiBufferSource.BufferSource bufferSource, Font font) { this.pose = pose; this.bufferSource = bufferSource; this.font = font; - this.buffer = Tesselator.getInstance().getBuilder(); - if (this.buffer.building()) throw new IllegalStateException(); + this.buffer = null; } public static Graphics managed(GuiGraphics graphics, Font font) { @@ -98,6 +98,7 @@ public void cleanupState() { for (BatchedDrawable renderer : this.renderers) { renderer.draw(); } + assert this.buffer == null; } @Override @@ -123,8 +124,9 @@ public void lineGradient(float x1, float y1, float x2, float y2, float z, int co this.ensureOpen(); Matrix4f matrix = Graphics.this.pose.last().pose(); - this.consumer.vertex(matrix, x1, y1, z).color(color1).endVertex(); - this.consumer.vertex(matrix, x2, y2, z).color(color2).endVertex(); + this.consumer + .addVertex(matrix, x1, y1, z).setColor(color1) + .addVertex(matrix, x2, y2, z).setColor(color2); } private void ensureOpen() { @@ -184,10 +186,11 @@ public void fillGradientRaw(float x1, float y1, float x2, float y2, float z, int this.ensureOpen(); Matrix4f matrix = Graphics.this.pose.last().pose(); - this.consumer.vertex(matrix, x1, y1, z).color(colorA).endVertex(); - this.consumer.vertex(matrix, x1, y2, z).color(colorB).endVertex(); - this.consumer.vertex(matrix, x2, y2, z).color(colorB).endVertex(); - this.consumer.vertex(matrix, x2, y1, z).color(colorA).endVertex(); + this.consumer + .addVertex(matrix, x1, y1, z).setColor(colorA) + .addVertex(matrix, x1, y2, z).setColor(colorB) + .addVertex(matrix, x2, y2, z).setColor(colorB) + .addVertex(matrix, x2, y1, z).setColor(colorA); } private void ensureOpen() { @@ -245,10 +248,11 @@ public void blitRaw(float x1, float y1, float x2, float y2, float z, float u1, f this.ensureOpen(); Matrix4f matrix = Graphics.this.pose.last().pose(); - Graphics.this.buffer.vertex(matrix, x1, y1, z).uv(u1, v1).color(color).endVertex(); - Graphics.this.buffer.vertex(matrix, x1, y2, z).uv(u1, v2).color(color).endVertex(); - Graphics.this.buffer.vertex(matrix, x2, y2, z).uv(u2, v2).color(color).endVertex(); - Graphics.this.buffer.vertex(matrix, x2, y1, z).uv(u2, v1).color(color).endVertex(); + Graphics.this.buffer + .addVertex(matrix, x1, y1, z).setUv(u1, v1).setColor(color) + .addVertex(matrix, x1, y2, z).setUv(u1, v2).setColor(color) + .addVertex(matrix, x2, y2, z).setUv(u2, v2).setColor(color) + .addVertex(matrix, x2, y1, z).setUv(u2, v1).setColor(color); } public void blit(int x, int y, int width, int height, int u, int v, int color) { @@ -270,7 +274,7 @@ public void blit(float x, float y, float width, float height, float u, float v, private void ensureOpen() { if (!this.open) { Graphics.this.cleanupState(); - Graphics.this.buffer.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX_COLOR); + Graphics.this.buffer = Tesselator.getInstance().begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX_COLOR); this.open = true; } } @@ -285,12 +289,14 @@ public void close() { @Override public void draw() { if (this.open) { + assert Graphics.this.buffer != null; RenderSystem.setShader(GameRenderer::getPositionTexColorShader); RenderSystem.setShaderTexture(0, this.texture); RenderSystem.enableBlend(); - BufferUploader.drawWithShader(Graphics.this.buffer.end()); + BufferUploader.drawWithShader(Graphics.this.buffer.build()); RenderSystem.disableBlend(); this.open = false; + Graphics.this.buffer = null; } } } @@ -324,10 +330,11 @@ public void blitRaw(float x1, float y1, float x2, float y2, float z, float u1, f this.ensureOpen(); Matrix4f matrix = Graphics.this.pose.last().pose(); - Graphics.this.buffer.vertex(matrix, x1, y1, z).uv(u1, v1).endVertex(); - Graphics.this.buffer.vertex(matrix, x1, y2, z).uv(u1, v2).endVertex(); - Graphics.this.buffer.vertex(matrix, x2, y2, z).uv(u2, v2).endVertex(); - Graphics.this.buffer.vertex(matrix, x2, y1, z).uv(u2, v1).endVertex(); + Graphics.this.buffer + .addVertex(matrix, x1, y1, z).setUv(u1, v1) + .addVertex(matrix, x1, y2, z).setUv(u1, v2) + .addVertex(matrix, x2, y2, z).setUv(u2, v2) + .addVertex(matrix, x2, y1, z).setUv(u2, v1); } public void blit(int x, int y, int width, int height, int u, int v) { @@ -349,7 +356,7 @@ public void blit(float x, float y, float width, float height, float u, float v, private void ensureOpen() { if (!this.open) { Graphics.this.cleanupState(); - Graphics.this.buffer.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX); + Graphics.this.buffer = Tesselator.getInstance().begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX); this.open = true; } } @@ -364,12 +371,14 @@ public void close() { @Override public void draw() { if (this.open) { + assert Graphics.this.buffer != null; RenderSystem.setShader(GameRenderer::getPositionTexShader); RenderSystem.setShaderTexture(0, this.texture); RenderSystem.enableBlend(); - BufferUploader.drawWithShader(Graphics.this.buffer.end()); + BufferUploader.drawWithShader(Graphics.this.buffer.build()); RenderSystem.disableBlend(); this.open = false; + Graphics.this.buffer = null; } } } @@ -514,15 +523,14 @@ public static void blit(Matrix4f matrix, float x, float y, int width, int height } public static void blitRaw(Matrix4f matrix, float x1, float y1, float x2, float y2, float z, float u1, float v1, float u2, float v2, ResourceLocation texture) { - BufferBuilder builder = Tesselator.getInstance().getBuilder(); - builder.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX); - builder.vertex(matrix, x1, y1, z).uv(u1, v1).endVertex(); - builder.vertex(matrix, x1, y2, z).uv(u1, v2).endVertex(); - builder.vertex(matrix, x2, y2, z).uv(u2, v2).endVertex(); - builder.vertex(matrix, x2, y1, z).uv(u2, v1).endVertex(); + BufferBuilder buffer = Tesselator.getInstance().begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX); + buffer.addVertex(matrix, x1, y1, z).setUv(u1, v1) + .addVertex(matrix, x1, y2, z).setUv(u1, v2) + .addVertex(matrix, x2, y2, z).setUv(u2, v2) + .addVertex(matrix, x2, y1, z).setUv(u2, v1); RenderSystem.setShader(GameRenderer::getPositionTexShader); RenderSystem.setShaderTexture(0, texture); - BufferUploader.drawWithShader(builder.end()); + BufferUploader.drawWithShader(buffer.buildOrThrow()); } public static void blitCentered(Matrix4f matrix, float x, float y, float width, float height, float z, float u, float v, float uWidth, float vHeight, int textureWidth, int textureHeight, ResourceLocation texture, int color) { @@ -554,15 +562,14 @@ public static void blit(Matrix4f matrix, float x, float y, int width, int height } public static void blitRaw(Matrix4f matrix, float x1, float y1, float x2, float y2, float z, float u1, float v1, float u2, float v2, ResourceLocation texture, int color) { - BufferBuilder builder = Tesselator.getInstance().getBuilder(); - builder.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX_COLOR); - builder.vertex(matrix, x1, y1, z).uv(u1, v1).color(color).endVertex(); - builder.vertex(matrix, x1, y2, z).uv(u1, v2).color(color).endVertex(); - builder.vertex(matrix, x2, y2, z).uv(u2, v2).color(color).endVertex(); - builder.vertex(matrix, x2, y1, z).uv(u2, v1).color(color).endVertex(); + BufferBuilder builder = Tesselator.getInstance().begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX_COLOR); + builder.addVertex(matrix, x1, y1, z).setUv(u1, v1).setColor(color) + .addVertex(matrix, x1, y2, z).setUv(u1, v2).setColor(color) + .addVertex(matrix, x2, y2, z).setUv(u2, v2).setColor(color) + .addVertex(matrix, x2, y1, z).setUv(u2, v1).setColor(color); RenderSystem.setShader(GameRenderer::getPositionTexColorShader); RenderSystem.setShaderTexture(0, texture); - BufferUploader.drawWithShader(builder.end()); + BufferUploader.drawWithShader(builder.build()); } private interface BatchedDrawable { diff --git a/src/main/java/dev/galacticraft/mod/command/DimensionTpCommand.java b/src/main/java/dev/galacticraft/mod/command/DimensionTpCommand.java index b2456ee5d2..dd29ccd3d4 100644 --- a/src/main/java/dev/galacticraft/mod/command/DimensionTpCommand.java +++ b/src/main/java/dev/galacticraft/mod/command/DimensionTpCommand.java @@ -26,10 +26,12 @@ import com.mojang.brigadier.CommandDispatcher; import com.mojang.brigadier.context.CommandContext; import com.mojang.brigadier.exceptions.CommandSyntaxException; +import dev.galacticraft.api.registry.AddonRegistries; +import dev.galacticraft.api.universe.celestialbody.CelestialBody; import dev.galacticraft.mod.Constant; -import dev.galacticraft.mod.network.GCScreenType; +import dev.galacticraft.mod.content.GCCelestialBodies; +import dev.galacticraft.mod.network.s2c.OpenCelestialScreenPayload; import dev.galacticraft.mod.util.Translations; -import net.fabricmc.fabric.api.networking.v1.PacketByteBufs; import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; import net.minecraft.commands.CommandSourceStack; import net.minecraft.commands.Commands; @@ -38,6 +40,7 @@ import net.minecraft.commands.arguments.coordinates.BlockPosArgument; import net.minecraft.commands.arguments.coordinates.Vec3Argument; import net.minecraft.core.BlockPos; +import net.minecraft.core.Holder; import net.minecraft.network.chat.Component; import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; @@ -107,11 +110,8 @@ private static int openCelestialScreen(CommandContext contex var player = context.getSource().getPlayerOrException(); player.galacticraft$openCelestialScreen(null); - var buf = PacketByteBufs.create(); - buf.writeEnum(GCScreenType.CELESTIAL); - buf.writeBoolean(false); - ServerPlayNetworking.send(player, Constant.Packet.OPEN_SCREEN, buf); - + Holder> body = player.level().galacticraft$getCelestialBody(); + ServerPlayNetworking.send(player, new OpenCelestialScreenPayload(null, body != null ? body : player.registryAccess().registryOrThrow(AddonRegistries.CELESTIAL_BODY).getHolderOrThrow(GCCelestialBodies.EARTH))); //todo return Command.SINGLE_SUCCESS; } diff --git a/src/main/java/dev/galacticraft/mod/command/GCHoustonCommand.java b/src/main/java/dev/galacticraft/mod/command/GCHoustonCommand.java index 9971eb956a..6c1dc03cae 100644 --- a/src/main/java/dev/galacticraft/mod/command/GCHoustonCommand.java +++ b/src/main/java/dev/galacticraft/mod/command/GCHoustonCommand.java @@ -27,7 +27,6 @@ import com.mojang.brigadier.context.CommandContext; import com.mojang.brigadier.exceptions.CommandSyntaxException; import com.mojang.brigadier.exceptions.SimpleCommandExceptionType; -import dev.galacticraft.api.universe.celestialbody.CelestialBody; import dev.galacticraft.mod.Constant; import dev.galacticraft.mod.util.Translations; import it.unimi.dsi.fastutil.objects.Object2IntArrayMap; @@ -60,7 +59,7 @@ private static int teleportToEarth(CommandContext context) t throw IN_OVERWORLD.create(); } - if (CelestialBody.getByDimension(context.getSource().registryAccess(), context.getSource().getLevel().dimension()).isEmpty()) { + if (context.getSource().getLevel().galacticraft$getCelestialBody() == null) { throw IN_OTHER_DIMENSION.create(); } diff --git a/src/main/java/dev/galacticraft/mod/compat/rei/client/category/DefaultFabricationCategory.java b/src/main/java/dev/galacticraft/mod/compat/rei/client/category/DefaultFabricationCategory.java index 1dfa46e233..19713a5f58 100644 --- a/src/main/java/dev/galacticraft/mod/compat/rei/client/category/DefaultFabricationCategory.java +++ b/src/main/java/dev/galacticraft/mod/compat/rei/client/category/DefaultFabricationCategory.java @@ -68,11 +68,11 @@ public Component getTitle() { widgets.add(Widgets.createRecipeBase(bounds)); widgets.add(Widgets.createTexturedWidget(Constant.ScreenTexture.RECIPE_VEIWER_DISPLAY_TEXTURE, new Rectangle(startPoint.x, startPoint.y, 162, 82))); - // Diamond input + // Diamond ingredients // Silicon // Silicon // Redstone - // User input + // User ingredients // Output widgets.add(Widgets.createSlot(new Point(startPoint.x + 1, startPoint.y + 1)).entries(recipeDisplay.getInputEntries().get(0))); widgets.add(Widgets.createSlot(new Point(startPoint.x + 55, startPoint.y + 47)).entries(recipeDisplay.getInputEntries().get(1))); diff --git a/src/main/java/dev/galacticraft/mod/compat/rei/common/transfer/info/FabricationMenuInfo.java b/src/main/java/dev/galacticraft/mod/compat/rei/common/transfer/info/FabricationMenuInfo.java index 401b91d2b0..f9ab0d9bd1 100644 --- a/src/main/java/dev/galacticraft/mod/compat/rei/common/transfer/info/FabricationMenuInfo.java +++ b/src/main/java/dev/galacticraft/mod/compat/rei/common/transfer/info/FabricationMenuInfo.java @@ -32,20 +32,23 @@ import me.shedaniel.rei.api.common.transfer.info.simple.SimplePlayerInventoryMenuInfo; import me.shedaniel.rei.api.common.transfer.info.stack.SlotAccessor; import me.shedaniel.rei.api.common.transfer.info.stack.VanillaSlotAccessor; -import net.minecraft.world.Container; +import net.minecraft.world.inventory.Slot; +import net.minecraft.world.item.crafting.RecipeInput; import java.util.ArrayList; import java.util.List; -public record FabricationMenuInfo, T extends RecipeMachineMenu, D extends DefaultFabricationDisplay>(D display) implements SimplePlayerInventoryMenuInfo { +public record FabricationMenuInfo, T extends RecipeMachineMenu, D extends DefaultFabricationDisplay>(D display) implements SimplePlayerInventoryMenuInfo { @Override public Iterable getInputSlots(MenuInfoContext context) { T menu = context.getMenu(); List list = new ArrayList<>(5); - for (StorageSlot slot : menu.machineSlots) { - if (slot.getSlot().inputType().isInput()) { - list.add(new VanillaSlotAccessor(slot)); + for (Slot slot : context.getMenu().slots) { + if (slot instanceof StorageSlot machineSlot) { + if (machineSlot.getWrapped().transferMode().isInput()) { + list.add(new VanillaSlotAccessor(machineSlot)); + } } } return list; diff --git a/src/main/java/dev/galacticraft/mod/compat/rei/common/transfer/info/SimpleMachineMenuInfo.java b/src/main/java/dev/galacticraft/mod/compat/rei/common/transfer/info/SimpleMachineMenuInfo.java index 8e086bef02..25a2b19f9e 100644 --- a/src/main/java/dev/galacticraft/mod/compat/rei/common/transfer/info/SimpleMachineMenuInfo.java +++ b/src/main/java/dev/galacticraft/mod/compat/rei/common/transfer/info/SimpleMachineMenuInfo.java @@ -32,21 +32,24 @@ import me.shedaniel.rei.api.common.transfer.info.simple.SimpleGridMenuInfo; import me.shedaniel.rei.api.common.transfer.info.stack.SlotAccessor; import me.shedaniel.rei.api.common.transfer.info.stack.VanillaSlotAccessor; -import net.minecraft.world.Container; import net.minecraft.world.inventory.AbstractContainerMenu; +import net.minecraft.world.inventory.Slot; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.Recipe; +import net.minecraft.world.item.crafting.RecipeInput; import java.util.ArrayList; import java.util.List; -public record SimpleMachineMenuInfo, B extends RecipeMachineBlockEntity, T extends RecipeMachineMenu, D extends SimpleGridMenuDisplay>(int width, int height, int resultIndex, D display) implements SimpleGridMenuInfo { +public record SimpleMachineMenuInfo, B extends RecipeMachineBlockEntity, T extends RecipeMachineMenu, D extends SimpleGridMenuDisplay>(int width, int height, int resultIndex, D display) implements SimpleGridMenuInfo { @Override public Iterable getInputSlots(MenuInfoContext context) { List accessors = new ArrayList<>(this.width() * this.height()); - for (StorageSlot machineSlot : context.getMenu().machineSlots) { - if (machineSlot.getSlot().inputType().isInput()) { - accessors.add(new VanillaSlotAccessor(machineSlot)); + for (Slot slot : context.getMenu().slots) { + if (slot instanceof StorageSlot machineSlot) { + if (machineSlot.getWrapped().transferMode().isInput()) { + accessors.add(new VanillaSlotAccessor(machineSlot)); + } } } return accessors; diff --git a/src/main/java/dev/galacticraft/mod/content/GCCelestialBodies.java b/src/main/java/dev/galacticraft/mod/content/GCCelestialBodies.java index 3613e91eda..c91841a19f 100644 --- a/src/main/java/dev/galacticraft/mod/content/GCCelestialBodies.java +++ b/src/main/java/dev/galacticraft/mod/content/GCCelestialBodies.java @@ -54,7 +54,7 @@ import it.unimi.dsi.fastutil.ints.Int2ObjectMap; import net.minecraft.core.Holder; import net.minecraft.core.HolderGetter; -import net.minecraft.data.worldgen.BootstapContext; +import net.minecraft.data.worldgen.BootstrapContext; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceKey; import net.minecraft.util.Mth; @@ -79,7 +79,7 @@ public class GCCelestialBodies { public static final ResourceKey> URANUS = key("uranus"); public static final ResourceKey> NEPTUNE = key("neptune"); - public static void bootstrapRegistries(BootstapContext> context) { + public static void bootstrapRegistries(BootstrapContext> context) { HolderGetter> teleporters = context.lookup(AddonRegistries.CELESTIAL_TELEPORTER); HolderGetter galaxies = context.lookup(AddonRegistries.GALAXY); diff --git a/src/main/java/dev/galacticraft/mod/content/GCLootTables.java b/src/main/java/dev/galacticraft/mod/content/GCLootTables.java index 3e470f07a4..b5461755f5 100644 --- a/src/main/java/dev/galacticraft/mod/content/GCLootTables.java +++ b/src/main/java/dev/galacticraft/mod/content/GCLootTables.java @@ -23,13 +23,10 @@ package dev.galacticraft.mod.content; import dev.galacticraft.mod.Constant; -import dev.galacticraft.mod.mixin.BuiltInLootTablesAccessor; -import net.minecraft.resources.ResourceLocation; +import net.minecraft.core.registries.Registries; +import net.minecraft.resources.ResourceKey; +import net.minecraft.world.level.storage.loot.LootTable; public class GCLootTables { - public static final ResourceLocation BASIC_MOON_RUINS_CHEST = Constant.id(Constant.LootTable.BASIC_MOON_RUINS_CHEST); - - public static void register() { - BuiltInLootTablesAccessor.callRegisterLootTable(BASIC_MOON_RUINS_CHEST); - } + public static final ResourceKey BASIC_MOON_RUINS_CHEST = Constant.key(Registries.LOOT_TABLE, Constant.LootTable.BASIC_MOON_RUINS_CHEST); } diff --git a/src/main/java/dev/galacticraft/mod/content/GCRocketParts.java b/src/main/java/dev/galacticraft/mod/content/GCRocketParts.java index c3756a944f..1a0574c000 100644 --- a/src/main/java/dev/galacticraft/mod/content/GCRocketParts.java +++ b/src/main/java/dev/galacticraft/mod/content/GCRocketParts.java @@ -35,7 +35,7 @@ import dev.galacticraft.mod.content.rocket.part.config.StorageUpgradeConfig; import dev.galacticraft.mod.content.rocket.part.type.StorageUpgradeType; import net.fabricmc.fabric.api.transfer.v1.fluid.FluidConstants; -import net.minecraft.data.worldgen.BootstapContext; +import net.minecraft.data.worldgen.BootstrapContext; import net.minecraft.resources.ResourceKey; import net.minecraft.world.item.Items; import net.minecraft.world.item.crafting.Ingredient; @@ -55,7 +55,7 @@ public class GCRocketParts { public static final ResourceKey> TIER_2_BOOSTER = booster("tier_2"); public static final ResourceKey> STORAGE_UPGRADE = upgrade("storage"); - public static void bootstrapCone(BootstapContext> context) { + public static void bootstrapCone(BootstrapContext> context) { context.register(TIER_1_CONE, BasicRocketConeType.INSTANCE.configure( new BasicRocketConeConfig( @@ -100,7 +100,7 @@ public static void bootstrapCone(BootstapContext> context) { ); } - public static void bootstrapBody(BootstapContext> context) { + public static void bootstrapBody(BootstrapContext> context) { context.register(TIER_1_BODY, BasicRocketBodyType.INSTANCE.configure(new BasicRocketBodyConfig( AccessWeightTravelPredicateType.INSTANCE.configure(new AccessWeightTravelPredicateConfig(1, TravelPredicateType.Result.PASS)), @@ -120,7 +120,7 @@ public static void bootstrapBody(BootstapContext> context) { ); } - public static void bootstrapFin(BootstapContext> context) { + public static void bootstrapFin(BootstrapContext> context) { context.register(TIER_1_FIN, BasicRocketFinType.INSTANCE.configure( new BasicRocketFinConfig( @@ -140,7 +140,7 @@ public static void bootstrapFin(BootstapContext> context) { ); } - public static void bootstrapBooster(BootstapContext> context) { + public static void bootstrapBooster(BootstrapContext> context) { context.register(TIER_1_BOOSTER, BasicRocketBoosterType.INSTANCE.configure( new BasicRocketBoosterConfig( @@ -156,7 +156,7 @@ public static void bootstrapBooster(BootstapContext> context ); } - public static void bootstrapEngine(BootstapContext> context) { + public static void bootstrapEngine(BootstrapContext> context) { context.register(TIER_1_ENGINE, BasicRocketEngineType.INSTANCE.configure( new BasicRocketEngineConfig( @@ -173,7 +173,7 @@ public static void bootstrapEngine(BootstapContext> context) ); } - public static void bootstrapUpgrade(BootstapContext> context) { + public static void bootstrapUpgrade(BootstrapContext> context) { context.register(STORAGE_UPGRADE, RocketUpgrade.create(new StorageUpgradeConfig(1, RocketPartRecipeBuilder.create() .define('C', Ingredient.of(Items.CHEST)) diff --git a/src/main/java/dev/galacticraft/mod/content/GCStats.java b/src/main/java/dev/galacticraft/mod/content/GCStats.java index fc0a266210..ae80500147 100644 --- a/src/main/java/dev/galacticraft/mod/content/GCStats.java +++ b/src/main/java/dev/galacticraft/mod/content/GCStats.java @@ -23,6 +23,8 @@ package dev.galacticraft.mod.content; import dev.galacticraft.mod.Constant; +import net.minecraft.core.Registry; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.resources.ResourceLocation; import net.minecraft.stats.StatFormatter; import net.minecraft.stats.Stats; @@ -32,7 +34,10 @@ public class GCStats { public static final ResourceLocation INTERACT_WITH_NASA_WORKBENCH = register("interact_with_nasa_workbench", StatFormatter.DEFAULT); public static ResourceLocation register(String id, StatFormatter formatter) { - return Stats.makeCustomStat(Constant.MOD_ID + ":" + id, formatter); + ResourceLocation resourceLocation = Constant.id(id); + Registry.register(BuiltInRegistries.CUSTOM_STAT, id, resourceLocation); + Stats.CUSTOM.get(resourceLocation, formatter); + return resourceLocation; } public static void register() {} diff --git a/src/main/java/dev/galacticraft/mod/content/GCTeleporterTypes.java b/src/main/java/dev/galacticraft/mod/content/GCTeleporterTypes.java index 58611cd6f0..0283c3c404 100644 --- a/src/main/java/dev/galacticraft/mod/content/GCTeleporterTypes.java +++ b/src/main/java/dev/galacticraft/mod/content/GCTeleporterTypes.java @@ -33,7 +33,7 @@ import dev.galacticraft.mod.Constant.Teleporters; import dev.galacticraft.mod.content.teleporters.LanderCelestialTeleporterType; import dev.galacticraft.mod.content.teleporters.OverworldCelestialTeleporterType; -import net.minecraft.data.worldgen.BootstapContext; +import net.minecraft.data.worldgen.BootstrapContext; import net.minecraft.resources.ResourceKey; public class GCTeleporterTypes { @@ -45,7 +45,7 @@ public class GCTeleporterTypes { public static void register() {} - public static void bootstrapRegistries(BootstapContext> context) { + public static void bootstrapRegistries(BootstrapContext> context) { context.register(BuiltinObjects.DIRECT_CELESTIAL_TELEPORTER, new CelestialTeleporter<>(DirectCelestialTeleporterType.INSTANCE, DefaultCelestialTeleporterConfig.INSTANCE)); context.register(LANDER_CELESTIAL_TELEPORTER, new CelestialTeleporter<>(LANDER, DefaultCelestialTeleporterConfig.INSTANCE)); context.register(OVERWORLD_TELEPORTER, new CelestialTeleporter<>(OVERWORLD, DefaultCelestialTeleporterConfig.INSTANCE)); diff --git a/src/main/java/dev/galacticraft/mod/content/advancements/critereon/CreateSpaceStationTrigger.java b/src/main/java/dev/galacticraft/mod/content/advancements/critereon/CreateSpaceStationTrigger.java index f6653c917b..25573a7906 100644 --- a/src/main/java/dev/galacticraft/mod/content/advancements/critereon/CreateSpaceStationTrigger.java +++ b/src/main/java/dev/galacticraft/mod/content/advancements/critereon/CreateSpaceStationTrigger.java @@ -24,12 +24,10 @@ import com.mojang.serialization.Codec; import com.mojang.serialization.codecs.RecordCodecBuilder; -import dev.galacticraft.mod.content.entity.boss.SkeletonBoss; import net.minecraft.advancements.critereon.ContextAwarePredicate; import net.minecraft.advancements.critereon.EntityPredicate; import net.minecraft.advancements.critereon.SimpleCriterionTrigger; import net.minecraft.server.level.ServerPlayer; -import net.minecraft.util.ExtraCodecs; import java.util.Optional; @@ -46,7 +44,7 @@ public void trigger(ServerPlayer player) { public record TriggerInstance(Optional player) implements SimpleCriterionTrigger.SimpleInstance { public static final Codec CODEC = RecordCodecBuilder.create( instance -> instance.group( - ExtraCodecs.strictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "player").forGetter(TriggerInstance::player) + EntityPredicate.ADVANCEMENT_CODEC.optionalFieldOf("player").forGetter(TriggerInstance::player) ) .apply(instance, TriggerInstance::new) ); diff --git a/src/main/java/dev/galacticraft/mod/content/advancements/critereon/FindMoonBossTrigger.java b/src/main/java/dev/galacticraft/mod/content/advancements/critereon/FindMoonBossTrigger.java index 7c99308adb..f76c517333 100644 --- a/src/main/java/dev/galacticraft/mod/content/advancements/critereon/FindMoonBossTrigger.java +++ b/src/main/java/dev/galacticraft/mod/content/advancements/critereon/FindMoonBossTrigger.java @@ -29,7 +29,6 @@ import net.minecraft.advancements.critereon.EntityPredicate; import net.minecraft.advancements.critereon.SimpleCriterionTrigger; import net.minecraft.server.level.ServerPlayer; -import net.minecraft.util.ExtraCodecs; import java.util.Optional; @@ -46,7 +45,7 @@ public void trigger(ServerPlayer player) { public record TriggerInstance(Optional player) implements SimpleCriterionTrigger.SimpleInstance { public static final Codec CODEC = RecordCodecBuilder.create( instance -> instance.group( - ExtraCodecs.strictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "player").forGetter(TriggerInstance::player) + EntityPredicate.ADVANCEMENT_CODEC.optionalFieldOf("player").forGetter(TriggerInstance::player) ) .apply(instance, TriggerInstance::new) ); diff --git a/src/main/java/dev/galacticraft/mod/content/advancements/critereon/LaunchRocketTrigger.java b/src/main/java/dev/galacticraft/mod/content/advancements/critereon/LaunchRocketTrigger.java index 870ee032e5..a65d1761c9 100644 --- a/src/main/java/dev/galacticraft/mod/content/advancements/critereon/LaunchRocketTrigger.java +++ b/src/main/java/dev/galacticraft/mod/content/advancements/critereon/LaunchRocketTrigger.java @@ -30,7 +30,6 @@ import net.minecraft.advancements.critereon.EntityPredicate; import net.minecraft.advancements.critereon.SimpleCriterionTrigger; import net.minecraft.server.level.ServerPlayer; -import net.minecraft.util.ExtraCodecs; import java.util.Optional; @@ -54,7 +53,7 @@ public void trigger(ServerPlayer player) { public record TriggerInstance(Optional player) implements SimpleCriterionTrigger.SimpleInstance { public static final Codec CODEC = RecordCodecBuilder.create( instance -> instance.group( - ExtraCodecs.strictOptionalField(EntityPredicate.ADVANCEMENT_CODEC, "player").forGetter(TriggerInstance::player) + EntityPredicate.ADVANCEMENT_CODEC.optionalFieldOf("player").forGetter(TriggerInstance::player) ) .apply(instance, TriggerInstance::new) ); diff --git a/src/main/java/dev/galacticraft/mod/content/block/GCBlock.java b/src/main/java/dev/galacticraft/mod/content/block/GCBlock.java index adebbaebe7..649b01f3e1 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/GCBlock.java +++ b/src/main/java/dev/galacticraft/mod/content/block/GCBlock.java @@ -30,9 +30,9 @@ import net.minecraft.network.chat.Component; import net.minecraft.network.chat.Style; import net.minecraft.world.MenuProvider; +import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; -import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.entity.BlockEntity; @@ -49,7 +49,9 @@ public GCBlock(Properties properties) { } @Override - public void appendHoverText(ItemStack itemStack, @Nullable BlockGetter blockGetter, List tooltip, TooltipFlag tooltipFlag) { + public void appendHoverText(ItemStack stack, Item.TooltipContext context, List tooltip, TooltipFlag options) { + super.appendHoverText(stack, context, tooltip, options); + Component description = Component.translatable(getDescriptionId() + ".description"); if (Screen.hasShiftDown()) { tooltip.addAll(Minecraft.getInstance().font.getSplitter().splitLines(description, 150, Style.EMPTY).stream().map(formattedText -> Component.literal(formattedText.getString()).withStyle(ChatFormatting.GRAY)).toList()); diff --git a/src/main/java/dev/galacticraft/mod/content/block/decoration/GratingBlock.java b/src/main/java/dev/galacticraft/mod/content/block/decoration/GratingBlock.java index bda1955b2f..207dc6e276 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/decoration/GratingBlock.java +++ b/src/main/java/dev/galacticraft/mod/content/block/decoration/GratingBlock.java @@ -55,7 +55,7 @@ public class GratingBlock extends Block implements FluidLoggable { public GratingBlock(Properties settings) { super(settings); this.registerDefaultState(this.getStateDefinition().any() - .setValue(FLUID, new ResourceLocation("invalid")) + .setValue(FLUID, ResourceLocation.withDefaultNamespace("invalid")) .setValue(FlowingFluid.LEVEL, 8) .setValue(STATE, State.UPPER) .setValue(FlowingFluid.FALLING, false)); diff --git a/src/main/java/dev/galacticraft/mod/content/block/decoration/LunarCartographyTableBlock.java b/src/main/java/dev/galacticraft/mod/content/block/decoration/LunarCartographyTableBlock.java index d070145f58..6270d4aafc 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/decoration/LunarCartographyTableBlock.java +++ b/src/main/java/dev/galacticraft/mod/content/block/decoration/LunarCartographyTableBlock.java @@ -23,7 +23,6 @@ package dev.galacticraft.mod.content.block.decoration; import net.minecraft.core.BlockPos; -import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.MenuProvider; import net.minecraft.world.entity.player.Player; @@ -39,7 +38,7 @@ public LunarCartographyTableBlock(Properties settings) { } @Override - public InteractionResult use(BlockState state, Level world, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hit) { + protected InteractionResult useWithoutItem(BlockState state, Level world, BlockPos pos, Player player, BlockHitResult hit) { return InteractionResult.PASS; } diff --git a/src/main/java/dev/galacticraft/mod/content/block/entity/CryogenicChamberPartBlockEntity.java b/src/main/java/dev/galacticraft/mod/content/block/entity/CryogenicChamberPartBlockEntity.java index 4503ad0fd8..aca292ecc0 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/entity/CryogenicChamberPartBlockEntity.java +++ b/src/main/java/dev/galacticraft/mod/content/block/entity/CryogenicChamberPartBlockEntity.java @@ -25,6 +25,7 @@ import dev.galacticraft.mod.api.block.MultiBlockPart; import dev.galacticraft.mod.content.GCBlockEntityTypes; import net.minecraft.core.BlockPos; +import net.minecraft.core.HolderLookup; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.protocol.Packet; import net.minecraft.network.protocol.game.ClientGamePacketListener; @@ -42,16 +43,16 @@ public CryogenicChamberPartBlockEntity(BlockPos blockPos, BlockState blockState) } @Override - public void saveAdditional(CompoundTag tag) { - super.saveAdditional(tag); + protected void saveAdditional(CompoundTag tag, HolderLookup.Provider lookup) { + super.saveAdditional(tag, lookup); if (this.basePos != BlockPos.ZERO) { tag.putLong("Base", this.basePos.asLong()); } } @Override - public void load(CompoundTag tag) { - super.load(tag); + protected void loadAdditional(CompoundTag tag, HolderLookup.Provider registryLookup) { + super.loadAdditional(tag, registryLookup); if (tag.contains("Base")) { this.basePos = BlockPos.of(tag.getLong("Base")); } @@ -64,8 +65,8 @@ public Packet getUpdatePacket() { } @Override - public CompoundTag getUpdateTag() { - return this.saveWithoutMetadata(); + public CompoundTag getUpdateTag(HolderLookup.Provider registryLookup) { + return this.saveWithoutMetadata(registryLookup); } @Override diff --git a/src/main/java/dev/galacticraft/mod/content/block/entity/DungeonSpawnerBlockEntity.java b/src/main/java/dev/galacticraft/mod/content/block/entity/DungeonSpawnerBlockEntity.java index a84e7b0be9..7192662934 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/entity/DungeonSpawnerBlockEntity.java +++ b/src/main/java/dev/galacticraft/mod/content/block/entity/DungeonSpawnerBlockEntity.java @@ -30,11 +30,11 @@ import dev.galacticraft.mod.content.entity.boss.AbstractBossEntity; import net.minecraft.Util; import net.minecraft.core.BlockPos; +import net.minecraft.core.HolderLookup; import net.minecraft.core.Vec3i; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.nbt.CompoundTag; import net.minecraft.resources.ResourceLocation; -import net.minecraft.server.MinecraftServer; import net.minecraft.server.level.ServerLevel; import net.minecraft.util.RandomSource; import net.minecraft.world.entity.Entity; @@ -46,12 +46,10 @@ import net.minecraft.world.level.Level; import net.minecraft.world.level.Spawner; import net.minecraft.world.level.block.entity.BlockEntity; -import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.Vec3; -import java.lang.reflect.Constructor; import java.util.ArrayList; import java.util.List; @@ -137,7 +135,7 @@ public void tick(ServerLevel level, BlockPos pos, BlockState state) { // Now spawn the boss if (this.boss != null) { - this.boss.finalizeSpawn(level, level.getCurrentDifficultyAt(this.boss.blockPosition()), MobSpawnType.SPAWNER, null, null); + this.boss.finalizeSpawn(level, level.getCurrentDifficultyAt(this.boss.blockPosition()), MobSpawnType.SPAWNER, null); level.addFreshEntity(this.boss); this.playSpawnSound(this.boss); this.spawned = true; @@ -167,8 +165,8 @@ public void setRoom(Vec3i coords, Vec3i size) { } @Override - public void load(CompoundTag tag) { - super.load(tag); + protected void loadAdditional(CompoundTag tag, HolderLookup.Provider registryLookup) { + super.loadAdditional(tag, registryLookup); this.playerInRange = this.lastPlayerInRange = tag.getBoolean("playerInRange"); this.isBossDefeated = tag.getBoolean("defeated"); @@ -200,8 +198,8 @@ public void load(CompoundTag tag) { } @Override - public void saveAdditional(CompoundTag tag) { - super.saveAdditional(tag); + protected void saveAdditional(CompoundTag tag, HolderLookup.Provider lookup) { + super.saveAdditional(tag, lookup); tag.putBoolean("playerInRange", this.playerInRange); tag.putBoolean("defeated", this.isBossDefeated); diff --git a/src/main/java/dev/galacticraft/mod/content/block/entity/RocketWorkbenchBlockEntity.java b/src/main/java/dev/galacticraft/mod/content/block/entity/RocketWorkbenchBlockEntity.java index 3c931a7a0a..5f62982a2a 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/entity/RocketWorkbenchBlockEntity.java +++ b/src/main/java/dev/galacticraft/mod/content/block/entity/RocketWorkbenchBlockEntity.java @@ -30,10 +30,10 @@ import dev.galacticraft.mod.screen.RocketWorkbenchMenu; import net.fabricmc.fabric.api.screenhandler.v1.ExtendedScreenHandlerFactory; import net.minecraft.core.BlockPos; +import net.minecraft.core.HolderLookup; import net.minecraft.core.Registry; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.ListTag; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; @@ -45,9 +45,10 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.state.BlockState; +import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -public class RocketWorkbenchBlockEntity extends BlockEntity implements ExtendedScreenHandlerFactory, VariableSizedContainer.Listener { +public class RocketWorkbenchBlockEntity extends BlockEntity implements ExtendedScreenHandlerFactory, VariableSizedContainer.Listener { public final SimpleContainer output = new SimpleContainer(1) { @Override public boolean canPlaceItem(int index, ItemStack stack) { @@ -69,57 +70,39 @@ public RocketWorkbenchBlockEntity(BlockPos pos, BlockState state) { } @Override - protected void saveAdditional(CompoundTag tag) { - super.saveAdditional(tag); + protected void saveAdditional(CompoundTag tag, HolderLookup.Provider provider) { + super.saveAdditional(tag, provider); - ListTag tag1 = this.output.createTag(); + ListTag tag1 = this.output.createTag(provider); if (!tag1.isEmpty()) tag.put("Output", tag1.get(0)); - tag.put("Cone", this.cone.toTag()); - tag.put("Body", this.body.toTag()); - tag.put("Fins", this.fins.toTag()); - tag.put("Booster", this.booster.toTag()); - tag.put("Engine", this.engine.toTag()); - tag.put("Upgrade", this.upgrade.toTag()); + tag.put("Cone", this.cone.toTag(provider)); + tag.put("Body", this.body.toTag(provider)); + tag.put("Fins", this.fins.toTag(provider)); + tag.put("Booster", this.booster.toTag(provider)); + tag.put("Engine", this.engine.toTag(provider)); + tag.put("Upgrade", this.upgrade.toTag(provider)); tag.putByteArray("Color", this.color); } @Override - public void load(CompoundTag tag) { - super.load(tag); + protected void loadAdditional(CompoundTag tag, HolderLookup.Provider registryLookup) { + super.loadAdditional(tag, registryLookup); if (tag.contains("Output")) { ListTag list = new ListTag(); list.add(tag.get("Output")); - this.output.fromTag(list); + this.output.fromTag(list, registryLookup); } - this.cone.readTag(tag.getCompound("Cone")); - this.body.readTag(tag.getCompound("Body")); - this.fins.readTag(tag.getCompound("Fins")); - this.booster.readTag(tag.getCompound("Booster")); - this.engine.readTag(tag.getCompound("Engine")); - this.upgrade.readTag(tag.getCompound("Upgrade")); + this.cone.readTag(tag.getCompound("Cone"), registryLookup); + this.body.readTag(tag.getCompound("Body"), registryLookup); + this.fins.readTag(tag.getCompound("Fins"), registryLookup); + this.booster.readTag(tag.getCompound("Booster"), registryLookup); + this.engine.readTag(tag.getCompound("Engine"), registryLookup); + this.upgrade.readTag(tag.getCompound("Upgrade"), registryLookup); this.color = tag.getByteArray("Color"); } @Override - public void writeScreenOpeningData(ServerPlayer player, FriendlyByteBuf buf) { - buf.writeBlockPos(this.getBlockPos()); - - buf.writeBoolean(this.cone.selection != null); - if (this.cone.selection != null) buf.writeResourceLocation(this.cone.selection); - buf.writeBoolean(this.body.selection != null); - if (this.body.selection != null) buf.writeResourceLocation(this.body.selection); - buf.writeBoolean(this.fins.selection != null); - if (this.fins.selection != null) buf.writeResourceLocation(this.fins.selection); - buf.writeBoolean(this.booster.selection != null); - if (this.booster.selection != null) buf.writeResourceLocation(this.booster.selection); - buf.writeBoolean(this.engine.selection != null); - if (this.engine.selection != null) buf.writeResourceLocation(this.engine.selection); - buf.writeBoolean(this.upgrade.selection != null); - if (this.upgrade.selection != null) buf.writeResourceLocation(this.upgrade.selection); - } - - @Override - public Component getDisplayName() { + public @NotNull Component getDisplayName() { return this.getBlockState().getBlock().getName(); } @@ -139,6 +122,11 @@ public void onItemChanged() { this.setChanged(); } + @Override + public RocketWorkbenchMenu.OpeningData getScreenOpeningData(ServerPlayer player) { + return new RocketWorkbenchMenu.OpeningData(this.getBlockPos(), this.cone.selection, this.body.selection, this.fins.selection, this.booster.selection, this.engine.selection, this.upgrade.selection); + } + public class RecipeSelection

> { private final ResourceKey> key; public final VariableSizedContainer inventory; @@ -180,8 +168,8 @@ private void updateSize() { return value != null ? value.getRecipe() : null; } - public CompoundTag toTag() { - CompoundTag nbt = this.inventory.toTag(); + public CompoundTag toTag(HolderLookup.Provider lookup) { + CompoundTag nbt = this.inventory.toTag(lookup); if (this.selection != null) { nbt.putString("selection", this.selection.toString()); // nbt.putInt("size", this.inventory.getContainerSize()); @@ -189,11 +177,11 @@ public CompoundTag toTag() { return nbt; } - public void readTag(CompoundTag nbt) { - this.inventory.readTag(nbt); + public void readTag(CompoundTag nbt, HolderLookup.Provider lookup) { + this.inventory.readTag(nbt, lookup); String selLoc = nbt.getString("selection"); if (!selLoc.isEmpty()) { - this.selection = new ResourceLocation(selLoc); + this.selection = ResourceLocation.parse(selLoc); // this.inventory.resize(nbt.getInt("size")); } } diff --git a/src/main/java/dev/galacticraft/mod/content/block/entity/SolarPanelPartBlockEntity.java b/src/main/java/dev/galacticraft/mod/content/block/entity/SolarPanelPartBlockEntity.java index b3839ae2e8..715c8fb66c 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/entity/SolarPanelPartBlockEntity.java +++ b/src/main/java/dev/galacticraft/mod/content/block/entity/SolarPanelPartBlockEntity.java @@ -25,6 +25,7 @@ import dev.galacticraft.mod.api.block.MultiBlockPart; import dev.galacticraft.mod.content.GCBlockEntityTypes; import net.minecraft.core.BlockPos; +import net.minecraft.core.HolderLookup; import net.minecraft.nbt.CompoundTag; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.state.BlockState; @@ -37,16 +38,16 @@ public SolarPanelPartBlockEntity(BlockPos pos, BlockState state) { } @Override - public void saveAdditional(CompoundTag tag) { - super.saveAdditional(tag); + protected void saveAdditional(CompoundTag tag, HolderLookup.Provider lookup) { + super.saveAdditional(tag, lookup); if (this.basePos != BlockPos.ZERO) { tag.putLong("Base", this.basePos.asLong()); } } @Override - public void load(CompoundTag tag) { - super.load(tag); + protected void loadAdditional(CompoundTag tag, HolderLookup.Provider registryLookup) { + super.loadAdditional(tag, registryLookup); if (tag.contains("Base")) { this.basePos = BlockPos.of(tag.getLong("Base")); } diff --git a/src/main/java/dev/galacticraft/mod/content/block/entity/WalkwayBlockEntity.java b/src/main/java/dev/galacticraft/mod/content/block/entity/WalkwayBlockEntity.java index 63c3f03bd9..79d1cdd218 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/entity/WalkwayBlockEntity.java +++ b/src/main/java/dev/galacticraft/mod/content/block/entity/WalkwayBlockEntity.java @@ -26,6 +26,7 @@ import dev.galacticraft.mod.content.GCBlockEntityTypes; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.protocol.game.ClientboundBlockEntityDataPacket; import net.minecraft.world.level.block.entity.BlockEntity; @@ -41,15 +42,15 @@ public WalkwayBlockEntity(BlockPos pos, BlockState state) { } @Override - public void saveAdditional(CompoundTag nbt) { - super.saveAdditional(nbt); + protected void saveAdditional(CompoundTag nbt, HolderLookup.Provider registryLookup) { + super.saveAdditional(nbt, registryLookup); this.writeConnectionNbt(nbt); this.writeWalkwayNbt(nbt); } @Override - public void load(CompoundTag nbt) { - super.load(nbt); + protected void loadAdditional(CompoundTag nbt, HolderLookup.Provider registryLookup) { + super.loadAdditional(nbt, registryLookup); this.readConnectionNbt(nbt); this.readWalkwayNbt(nbt); } @@ -87,7 +88,7 @@ public ClientboundBlockEntityDataPacket getUpdatePacket() { } @Override - public CompoundTag getUpdateTag() { - return this.saveWithoutMetadata(); + public CompoundTag getUpdateTag(HolderLookup.Provider registryLookup) { + return this.saveWithoutMetadata(registryLookup); } } \ No newline at end of file diff --git a/src/main/java/dev/galacticraft/mod/content/block/entity/machine/AdvancedSolarPanelBlockEntity.java b/src/main/java/dev/galacticraft/mod/content/block/entity/machine/AdvancedSolarPanelBlockEntity.java index 7f7ebf78f4..94c50dc457 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/entity/machine/AdvancedSolarPanelBlockEntity.java +++ b/src/main/java/dev/galacticraft/mod/content/block/entity/machine/AdvancedSolarPanelBlockEntity.java @@ -22,15 +22,41 @@ package dev.galacticraft.mod.content.block.entity.machine; +import dev.galacticraft.machinelib.api.block.entity.MachineBlockEntity; +import dev.galacticraft.machinelib.api.filter.ResourceFilters; +import dev.galacticraft.machinelib.api.menu.MachineMenu; +import dev.galacticraft.machinelib.api.storage.MachineEnergyStorage; +import dev.galacticraft.machinelib.api.storage.MachineItemStorage; +import dev.galacticraft.machinelib.api.storage.StorageSpec; +import dev.galacticraft.machinelib.api.storage.slot.ItemResourceSlot; +import dev.galacticraft.machinelib.api.transfer.TransferType; import dev.galacticraft.mod.Galacticraft; import dev.galacticraft.mod.api.block.entity.AbstractSolarPanelBlockEntity; -import dev.galacticraft.mod.content.GCMachineTypes; +import dev.galacticraft.mod.content.GCBlockEntityTypes; +import dev.galacticraft.mod.screen.GCMenuTypes; +import dev.galacticraft.mod.screen.SolarPanelMenu; import net.minecraft.core.BlockPos; +import net.minecraft.world.entity.player.Inventory; +import net.minecraft.world.entity.player.Player; import net.minecraft.world.level.block.state.BlockState; +import org.jetbrains.annotations.Nullable; public class AdvancedSolarPanelBlockEntity extends AbstractSolarPanelBlockEntity { + private static final StorageSpec STORAGE_SPEC = StorageSpec.of( + MachineItemStorage.spec( + ItemResourceSlot.builder(TransferType.TRANSFER) + .pos(8, 62) + .filter(ResourceFilters.CAN_INSERT_ENERGY) + ), + MachineEnergyStorage.spec( + Galacticraft.CONFIG.machineEnergyStorageSize(), + 0, + Galacticraft.CONFIG.solarPanelEnergyProductionRate() * 2 + ) + ); + public AdvancedSolarPanelBlockEntity(BlockPos pos, BlockState state) { - super(GCMachineTypes.ADVANCED_SOLAR_PANEL, pos, state); + super(GCBlockEntityTypes.ADVANCED_SOLAR_PANEL, pos, state, STORAGE_SPEC); } @Override @@ -52,4 +78,9 @@ protected long calculateEnergyProduction(long time, double multiplier) { } return (long) (Galacticraft.CONFIG.solarPanelEnergyProductionRate() * multiplier); } + + @Override + public @Nullable MachineMenu createMenu(int syncId, Inventory inventory, Player player) { + return new SolarPanelMenu<>(GCMenuTypes.ADVANCED_SOLAR_PANEL, syncId, player, this); + } } \ No newline at end of file diff --git a/src/main/java/dev/galacticraft/mod/content/block/entity/machine/BasicSolarPanelBlockEntity.java b/src/main/java/dev/galacticraft/mod/content/block/entity/machine/BasicSolarPanelBlockEntity.java index 8a92c3814a..53677c4ed6 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/entity/machine/BasicSolarPanelBlockEntity.java +++ b/src/main/java/dev/galacticraft/mod/content/block/entity/machine/BasicSolarPanelBlockEntity.java @@ -22,15 +22,41 @@ package dev.galacticraft.mod.content.block.entity.machine; +import dev.galacticraft.machinelib.api.block.entity.MachineBlockEntity; +import dev.galacticraft.machinelib.api.filter.ResourceFilters; +import dev.galacticraft.machinelib.api.menu.MachineMenu; +import dev.galacticraft.machinelib.api.storage.MachineEnergyStorage; +import dev.galacticraft.machinelib.api.storage.MachineItemStorage; +import dev.galacticraft.machinelib.api.storage.StorageSpec; +import dev.galacticraft.machinelib.api.storage.slot.ItemResourceSlot; +import dev.galacticraft.machinelib.api.transfer.TransferType; import dev.galacticraft.mod.Galacticraft; import dev.galacticraft.mod.api.block.entity.AbstractSolarPanelBlockEntity; -import dev.galacticraft.mod.content.GCMachineTypes; +import dev.galacticraft.mod.content.GCBlockEntityTypes; +import dev.galacticraft.mod.screen.GCMenuTypes; +import dev.galacticraft.mod.screen.SolarPanelMenu; import net.minecraft.core.BlockPos; +import net.minecraft.world.entity.player.Inventory; +import net.minecraft.world.entity.player.Player; import net.minecraft.world.level.block.state.BlockState; +import org.jetbrains.annotations.Nullable; public class BasicSolarPanelBlockEntity extends AbstractSolarPanelBlockEntity { + private static final StorageSpec STORAGE_SPEC = StorageSpec.of( + MachineItemStorage.spec( + ItemResourceSlot.builder(TransferType.TRANSFER) + .pos(8, 62) + .filter(ResourceFilters.CAN_INSERT_ENERGY) + ), + MachineEnergyStorage.spec( + Galacticraft.CONFIG.machineEnergyStorageSize(), + 0, + Galacticraft.CONFIG.solarPanelEnergyProductionRate() * 2 + ) + ); + public BasicSolarPanelBlockEntity(BlockPos pos, BlockState state) { - super(GCMachineTypes.BASIC_SOLAR_PANEL, pos, state); + super(GCBlockEntityTypes.BASIC_SOLAR_PANEL, pos, state, STORAGE_SPEC); } @Override @@ -49,4 +75,9 @@ protected long calculateEnergyProduction(long time, double multiplier) { if (cos <= 0) return 0; return (long) (Galacticraft.CONFIG.solarPanelEnergyProductionRate() * cos * multiplier); } + + @Override + public @Nullable MachineMenu createMenu(int syncId, Inventory inventory, Player player) { + return new SolarPanelMenu<>(GCMenuTypes.BASIC_SOLAR_PANEL, syncId, player, this); + } } \ No newline at end of file diff --git a/src/main/java/dev/galacticraft/mod/content/block/entity/machine/CircuitFabricatorBlockEntity.java b/src/main/java/dev/galacticraft/mod/content/block/entity/machine/CircuitFabricatorBlockEntity.java index 0273fd1c77..f1a2a4799e 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/entity/machine/CircuitFabricatorBlockEntity.java +++ b/src/main/java/dev/galacticraft/mod/content/block/entity/machine/CircuitFabricatorBlockEntity.java @@ -22,36 +22,43 @@ package dev.galacticraft.mod.content.block.entity.machine; +import dev.galacticraft.machinelib.api.block.entity.MachineBlockEntity; import dev.galacticraft.machinelib.api.block.entity.RecipeMachineBlockEntity; -import dev.galacticraft.machinelib.api.compat.vanilla.RecipeTestContainer; +import dev.galacticraft.machinelib.api.compat.vanilla.RecipeHelper; +import dev.galacticraft.machinelib.api.filter.ResourceFilters; import dev.galacticraft.machinelib.api.machine.MachineStatus; import dev.galacticraft.machinelib.api.machine.MachineStatuses; +import dev.galacticraft.machinelib.api.menu.MachineMenu; import dev.galacticraft.machinelib.api.menu.RecipeMachineMenu; +import dev.galacticraft.machinelib.api.storage.MachineEnergyStorage; +import dev.galacticraft.machinelib.api.storage.MachineItemStorage; +import dev.galacticraft.machinelib.api.storage.StorageSpec; import dev.galacticraft.machinelib.api.storage.slot.ItemResourceSlot; +import dev.galacticraft.machinelib.api.transfer.TransferType; import dev.galacticraft.mod.Galacticraft; -import dev.galacticraft.mod.content.GCMachineTypes; +import dev.galacticraft.mod.content.GCBlockEntityTypes; import dev.galacticraft.mod.content.item.GCItems; import dev.galacticraft.mod.machine.GCMachineStatuses; import dev.galacticraft.mod.recipe.FabricationRecipe; import dev.galacticraft.mod.recipe.GCRecipes; +import dev.galacticraft.mod.screen.GCMenuTypes; +import net.fabricmc.fabric.api.tag.convention.v2.ConventionalItemTags; import net.minecraft.core.BlockPos; import net.minecraft.core.NonNullList; import net.minecraft.server.level.ServerLevel; -import net.minecraft.server.level.ServerPlayer; import net.minecraft.util.profiling.ProfilerFiller; -import net.minecraft.world.Container; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.inventory.AbstractContainerMenu; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; import net.minecraft.world.item.crafting.RecipeHolder; +import net.minecraft.world.item.crafting.RecipeInput; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.state.BlockState; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -public class CircuitFabricatorBlockEntity extends RecipeMachineBlockEntity { +public class CircuitFabricatorBlockEntity extends RecipeMachineBlockEntity { public static final int CHARGE_SLOT = 0; public static final int DIAMOND_SLOT = 1; public static final int SILICON_SLOT_1 = 2; @@ -60,19 +67,44 @@ public class CircuitFabricatorBlockEntity extends RecipeMachineBlockEntity recipe) { ItemStack output = recipe.value().getResultItem(this.level.registryAccess()); - return this.itemStorage().getSlot(OUTPUT_SLOT).canInsert(output.getItem(), output.getTag(), output.getCount()); + return this.itemStorage().slot(OUTPUT_SLOT).canInsert(output.getItem(), output.getComponentsPatch(), output.getCount()); } @Override - protected @NotNull Container craftingInv() { - return this.craftingInv; + protected @NotNull RecipeInput craftingInv() { + return RecipeHelper.input(this.itemStorage().slot(INPUT_SLOT)); } @Override protected void outputStacks(@NotNull RecipeHolder recipe) { ItemStack output = recipe.value().getResultItem(this.level.registryAccess()); - this.itemStorage().getSlot(OUTPUT_SLOT).insert(output.getItem(), output.getTag(), output.getCount()); + this.itemStorage().slot(OUTPUT_SLOT).insert(output.getItem(), output.getComponentsPatch(), output.getCount()); } @Override protected void extractCraftingMaterials(@NotNull RecipeHolder recipe) { - NonNullList remainder = recipe.value().getRemainingItems(this.craftingInv); - this.itemStorage().getSlot(DIAMOND_SLOT).extractOne(); - this.itemStorage().getSlot(SILICON_SLOT_1).extractOne(); - this.itemStorage().getSlot(SILICON_SLOT_2).extractOne(); - this.itemStorage().getSlot(REDSTONE_SLOT).extractOne(); + NonNullList remainder = recipe.value().getRemainingItems(this.craftingInv()); + this.itemStorage().slot(DIAMOND_SLOT).extractOne(); + this.itemStorage().slot(SILICON_SLOT_1).extractOne(); + this.itemStorage().slot(SILICON_SLOT_2).extractOne(); + this.itemStorage().slot(REDSTONE_SLOT).extractOne(); - ItemResourceSlot input = this.itemStorage().getSlot(INPUT_SLOT); + ItemResourceSlot input = this.itemStorage().slot(INPUT_SLOT); input.extractOne(); if (input.isEmpty() && remainder.size() > 0) { ItemStack itemStack = remainder.get(0); if (!itemStack.isEmpty()) { - input.insert(itemStack.getItem(), itemStack.getTag(), itemStack.getCount()); + input.insert(itemStack.getItem(), itemStack.getComponentsPatch(), itemStack.getCount()); } } } @@ -129,10 +161,10 @@ protected void extractCraftingMaterials(@NotNull RecipeHolder @Override protected @Nullable RecipeHolder findValidRecipe(@NotNull Level world) { - if (this.itemStorage().getSlot(DIAMOND_SLOT).contains(Items.DIAMOND) - && this.itemStorage().getSlot(SILICON_SLOT_1).contains(GCItems.RAW_SILICON) - && this.itemStorage().getSlot(SILICON_SLOT_2).contains(GCItems.RAW_SILICON) - && this.itemStorage().getSlot(REDSTONE_SLOT).contains(Items.REDSTONE)) { + if (this.itemStorage().slot(DIAMOND_SLOT).contains(Items.DIAMOND) + && this.itemStorage().slot(SILICON_SLOT_1).contains(GCItems.RAW_SILICON) + && this.itemStorage().slot(SILICON_SLOT_2).contains(GCItems.RAW_SILICON) + && this.itemStorage().slot(REDSTONE_SLOT).contains(Items.REDSTONE)) { return super.findValidRecipe(world); } @@ -144,16 +176,13 @@ public int getProcessingTime(@NotNull RecipeHolder recipe) { return recipe.value().getProcessingTime(); } - @Nullable @Override - public AbstractContainerMenu createMenu(int syncId, Inventory inv, Player player) { - if (this.getSecurity().hasAccess(player)) { - return new RecipeMachineMenu<>( - syncId, - ((ServerPlayer) player), - this - ); - } - return null; + public @Nullable MachineMenu createMenu(int syncId, Inventory inv, Player player) { + return new RecipeMachineMenu<>( + GCMenuTypes.CIRCUIT_FABRICATOR, + syncId, + player, + this + ); } } diff --git a/src/main/java/dev/galacticraft/mod/content/block/entity/machine/CoalGeneratorBlockEntity.java b/src/main/java/dev/galacticraft/mod/content/block/entity/machine/CoalGeneratorBlockEntity.java index d823b68a26..00c540bb53 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/entity/machine/CoalGeneratorBlockEntity.java +++ b/src/main/java/dev/galacticraft/mod/content/block/entity/machine/CoalGeneratorBlockEntity.java @@ -24,25 +24,32 @@ import com.google.common.annotations.VisibleForTesting; import dev.galacticraft.machinelib.api.block.entity.MachineBlockEntity; +import dev.galacticraft.machinelib.api.filter.ResourceFilters; import dev.galacticraft.machinelib.api.machine.MachineStatus; import dev.galacticraft.machinelib.api.machine.MachineStatuses; +import dev.galacticraft.machinelib.api.menu.MachineMenu; +import dev.galacticraft.machinelib.api.storage.MachineEnergyStorage; +import dev.galacticraft.machinelib.api.storage.MachineItemStorage; +import dev.galacticraft.machinelib.api.storage.StorageSpec; import dev.galacticraft.machinelib.api.storage.slot.ItemResourceSlot; +import dev.galacticraft.machinelib.api.transfer.TransferType; +import dev.galacticraft.machinelib.api.util.EnergySource; import dev.galacticraft.mod.Constant; import dev.galacticraft.mod.Galacticraft; -import dev.galacticraft.mod.content.GCMachineTypes; +import dev.galacticraft.mod.content.GCBlockEntityTypes; import dev.galacticraft.mod.machine.GCMachineStatuses; import dev.galacticraft.mod.screen.CoalGeneratorMenu; import it.unimi.dsi.fastutil.objects.Object2IntArrayMap; import it.unimi.dsi.fastutil.objects.Object2IntMap; import net.minecraft.Util; import net.minecraft.core.BlockPos; +import net.minecraft.core.HolderLookup; import net.minecraft.nbt.CompoundTag; import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; import net.minecraft.util.profiling.ProfilerFiller; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.inventory.AbstractContainerMenu; import net.minecraft.world.item.Item; import net.minecraft.world.item.Items; import net.minecraft.world.level.block.state.BlockState; @@ -60,6 +67,23 @@ public class CoalGeneratorBlockEntity extends MachineBlockEntity { map.put(Items.CHARCOAL, 310); }); + private static final StorageSpec SPEC = StorageSpec.of( + MachineItemStorage.spec( + ItemResourceSlot.builder(TransferType.TRANSFER) + .pos(8, 62) + .filter(ResourceFilters.CAN_INSERT_ENERGY), + ItemResourceSlot.builder(TransferType.INPUT) + .pos(71, 53) + .filter((item, tag) -> CoalGeneratorBlockEntity.FUEL_MAP.containsKey(item)) + ), + MachineEnergyStorage.spec( + Galacticraft.CONFIG.machineEnergyStorageSize(), + 0, + Galacticraft.CONFIG.coalGeneratorEnergyProductionRate() * 2 + ) + ); + + private final EnergySource energySource = new EnergySource(this); private int fuelLength = 0; private long fuelSlotModCount = -1; private int fuelTime = 0; @@ -72,7 +96,7 @@ public class CoalGeneratorBlockEntity extends MachineBlockEntity { */ public CoalGeneratorBlockEntity(BlockPos pos, BlockState state) { - super(GCMachineTypes.COAL_GENERATOR, pos, state); + super(GCBlockEntityTypes.COAL_GENERATOR, pos, state, SPEC); } @Override @@ -84,7 +108,7 @@ protected void tickConstant(@NotNull ServerLevel world, @NotNull BlockPos pos, @ } } profiler.push("charge"); - this.drainPowerToStack(CHARGE_SLOT); + this.drainPowerToSlot(CHARGE_SLOT); profiler.pop(); } @@ -92,7 +116,7 @@ protected void tickConstant(@NotNull ServerLevel world, @NotNull BlockPos pos, @ public @NotNull MachineStatus tick(@NotNull ServerLevel level, @NotNull BlockPos pos, @NotNull BlockState state, @NotNull ProfilerFiller profiler) { profiler.push("transaction"); this.energyStorage().insert((long) (Galacticraft.CONFIG.coalGeneratorEnergyProductionRate() * this.heat)); - this.trySpreadEnergy(level, state); + this.energySource.trySpreadEnergy(level, pos, state); profiler.popPush("fuel_reset"); if (this.fuelLength == 0) { if (!this.consumeFuel()) { @@ -123,7 +147,7 @@ private boolean consumeFuel() { this.fuelTime = 0; this.fuelLength = 0; - ItemResourceSlot slot = this.itemStorage().getSlot(INPUT_SLOT); + ItemResourceSlot slot = this.itemStorage().slot(INPUT_SLOT); if (slot.getModifications() != this.fuelSlotModCount) { this.fuelSlotModCount = slot.getModifications(); int time = FUEL_MAP.getInt(slot.getResource()); @@ -145,11 +169,9 @@ public void setFuelLength(int fuelLength) { this.fuelLength = fuelLength; } - @Nullable @Override - public AbstractContainerMenu createMenu(int syncId, Inventory inv, Player player) { - if (this.getSecurity().hasAccess(player)) return new CoalGeneratorMenu(syncId, (ServerPlayer) player, this); - return null; + public @Nullable MachineMenu createMenu(int syncId, Inventory inv, Player player) { + return new CoalGeneratorMenu(syncId, (ServerPlayer) player, this); } public double getHeat() { @@ -170,16 +192,16 @@ public void setFuelTime(int value) { } @Override - public void load(CompoundTag nbt) { - super.load(nbt); - this.fuelLength = nbt.getInt(Constant.Nbt.FUEL_LENGTH); - this.fuelTime = nbt.getInt(Constant.Nbt.FUEL_TIME); - this.heat = nbt.getDouble(Constant.Nbt.HEAT); + public void loadAdditional(CompoundTag tag, HolderLookup.Provider lookup) { + super.loadAdditional(tag, lookup); + this.fuelLength = tag.getInt(Constant.Nbt.FUEL_LENGTH); + this.fuelTime = tag.getInt(Constant.Nbt.FUEL_TIME); + this.heat = tag.getDouble(Constant.Nbt.HEAT); } @Override - public void saveAdditional(CompoundTag tag) { - super.saveAdditional(tag); + protected void saveAdditional(CompoundTag tag, HolderLookup.Provider lookup) { + super.saveAdditional(tag, lookup); tag.putInt(Constant.Nbt.FUEL_LENGTH, this.fuelLength); tag.putInt(Constant.Nbt.FUEL_TIME, this.fuelTime); tag.putDouble(Constant.Nbt.HEAT, this.heat); diff --git a/src/main/java/dev/galacticraft/mod/content/block/entity/machine/CompressorBlockEntity.java b/src/main/java/dev/galacticraft/mod/content/block/entity/machine/CompressorBlockEntity.java index e30056e20b..6ecfd29f08 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/entity/machine/CompressorBlockEntity.java +++ b/src/main/java/dev/galacticraft/mod/content/block/entity/machine/CompressorBlockEntity.java @@ -23,33 +23,37 @@ package dev.galacticraft.mod.content.block.entity.machine; import dev.galacticraft.machinelib.api.block.entity.BasicRecipeMachineBlockEntity; -import dev.galacticraft.machinelib.api.compat.vanilla.CraftingRecipeTestContainer; +import dev.galacticraft.machinelib.api.block.entity.MachineBlockEntity; +import dev.galacticraft.machinelib.api.compat.vanilla.RecipeHelper; import dev.galacticraft.machinelib.api.machine.MachineStatus; +import dev.galacticraft.machinelib.api.menu.MachineMenu; +import dev.galacticraft.machinelib.api.storage.MachineItemStorage; +import dev.galacticraft.machinelib.api.storage.StorageSpec; import dev.galacticraft.machinelib.api.storage.slot.ItemResourceSlot; +import dev.galacticraft.machinelib.api.transfer.TransferType; import dev.galacticraft.mod.Constant; -import dev.galacticraft.mod.content.GCMachineTypes; +import dev.galacticraft.mod.content.GCBlockEntityTypes; import dev.galacticraft.mod.machine.GCMachineStatuses; import dev.galacticraft.mod.recipe.CompressingRecipe; import dev.galacticraft.mod.recipe.GCRecipes; import dev.galacticraft.mod.screen.CompressorMenu; import net.fabricmc.fabric.api.registry.FuelRegistry; import net.minecraft.core.BlockPos; +import net.minecraft.core.HolderLookup; import net.minecraft.nbt.CompoundTag; import net.minecraft.server.level.ServerLevel; -import net.minecraft.server.level.ServerPlayer; import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundSource; import net.minecraft.util.profiling.ProfilerFiller; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.inventory.AbstractContainerMenu; -import net.minecraft.world.inventory.CraftingContainer; +import net.minecraft.world.item.crafting.CraftingInput; import net.minecraft.world.item.crafting.RecipeHolder; import net.minecraft.world.level.block.state.BlockState; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -public class CompressorBlockEntity extends BasicRecipeMachineBlockEntity { +public class CompressorBlockEntity extends BasicRecipeMachineBlockEntity { public static final int FUEL_SLOT = 0; public static final int INPUT_SLOTS = 1; public static final int INPUT_LENGTH = 9; @@ -61,8 +65,21 @@ public class CompressorBlockEntity extends BasicRecipeMachineBlockEntity { + Integer integer = FuelRegistry.INSTANCE.get(item); + return integer != null && integer > 0; + })) + .add3x3Grid(TransferType.INPUT, 17, 17) + .add(ItemResourceSlot.builder(TransferType.OUTPUT) + .pos(143, 36)) + ); + public CompressorBlockEntity(BlockPos pos, BlockState state) { - super(GCMachineTypes.COMPRESSOR, pos, state, GCRecipes.COMPRESSING_TYPE, INPUT_SLOTS, INPUT_LENGTH, OUTPUT_SLOT); + super(GCBlockEntityTypes.COMPRESSOR, pos, state, GCRecipes.COMPRESSING_TYPE, SPEC, INPUT_SLOTS, INPUT_LENGTH, OUTPUT_SLOT); } @Override @@ -73,7 +90,7 @@ public CompressorBlockEntity(BlockPos pos, BlockState state) { @Override protected @Nullable MachineStatus hasResourcesToWork() { if (this.fuelLength == 0) { - ItemResourceSlot slot = this.itemStorage().getSlot(FUEL_SLOT); + ItemResourceSlot slot = this.itemStorage().slot(FUEL_SLOT); if (slot.getModifications() != this.fuelSlotModification) { this.fuelSlotModification = slot.getModifications(); if (!slot.isEmpty()) { @@ -92,7 +109,7 @@ public CompressorBlockEntity(BlockPos pos, BlockState state) { @Override protected void extractResourcesToWork() { if (this.fuelLength == 0) { - ItemResourceSlot slot = this.itemStorage().getSlot(FUEL_SLOT); + ItemResourceSlot slot = this.itemStorage().slot(FUEL_SLOT); if (!slot.isEmpty()) { Integer time = FuelRegistry.INSTANCE.get(slot.getResource()); if (time > 0) { @@ -139,28 +156,26 @@ public int getFuelLength() { } @Override - public void saveAdditional(@NotNull CompoundTag tag) { - super.saveAdditional(tag); + protected void saveAdditional(CompoundTag tag, HolderLookup.Provider lookup) { + super.saveAdditional(tag, lookup); tag.putInt(Constant.Nbt.FUEL_TIME, this.fuelTime); tag.putInt(Constant.Nbt.FUEL_LENGTH, this.fuelLength); } @Override - public void load(@NotNull CompoundTag nbt) { - super.load(nbt); - this.fuelTime = nbt.getInt(Constant.Nbt.FUEL_TIME); - this.fuelLength = nbt.getInt(Constant.Nbt.FUEL_LENGTH); + public void loadAdditional(CompoundTag tag, HolderLookup.Provider lookup) { + super.loadAdditional(tag, lookup); + this.fuelTime = tag.getInt(Constant.Nbt.FUEL_TIME); + this.fuelLength = tag.getInt(Constant.Nbt.FUEL_LENGTH); } - @Nullable @Override - public AbstractContainerMenu createMenu(int syncId, Inventory inv, Player player) { - if (this.getSecurity().hasAccess(player)) return new CompressorMenu(syncId, (ServerPlayer) player, this); - return null; + public @Nullable MachineMenu createMenu(int syncId, Inventory inv, Player player) { + return new CompressorMenu(syncId, player, this); } @Override - protected CraftingContainer createCraftingInv() { - return CraftingRecipeTestContainer.create(3, 3, this.itemStorage(), this.inputSlots, this.inputSlotsLen); + protected CraftingInput craftingInv() { + return RecipeHelper.craftingInput(3, 3, this.inputSlots.getSlots()); } } diff --git a/src/main/java/dev/galacticraft/mod/content/block/entity/machine/ElectricArcFurnaceBlockEntity.java b/src/main/java/dev/galacticraft/mod/content/block/entity/machine/ElectricArcFurnaceBlockEntity.java index 96314dac63..277c6b0f06 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/entity/machine/ElectricArcFurnaceBlockEntity.java +++ b/src/main/java/dev/galacticraft/mod/content/block/entity/machine/ElectricArcFurnaceBlockEntity.java @@ -23,41 +23,68 @@ package dev.galacticraft.mod.content.block.entity.machine; import dev.galacticraft.machinelib.api.block.entity.BasicRecipeMachineBlockEntity; -import dev.galacticraft.machinelib.api.compat.vanilla.RecipeTestContainer; +import dev.galacticraft.machinelib.api.block.entity.MachineBlockEntity; +import dev.galacticraft.machinelib.api.compat.vanilla.RecipeHelper; +import dev.galacticraft.machinelib.api.filter.ResourceFilters; import dev.galacticraft.machinelib.api.machine.MachineStatus; import dev.galacticraft.machinelib.api.machine.MachineStatuses; +import dev.galacticraft.machinelib.api.menu.MachineMenu; import dev.galacticraft.machinelib.api.menu.RecipeMachineMenu; +import dev.galacticraft.machinelib.api.storage.MachineEnergyStorage; +import dev.galacticraft.machinelib.api.storage.MachineItemStorage; +import dev.galacticraft.machinelib.api.storage.StorageSpec; +import dev.galacticraft.machinelib.api.storage.slot.ItemResourceSlot; +import dev.galacticraft.machinelib.api.transfer.TransferType; import dev.galacticraft.mod.Galacticraft; -import dev.galacticraft.mod.content.GCMachineTypes; +import dev.galacticraft.mod.content.GCBlockEntityTypes; +import dev.galacticraft.mod.screen.GCMenuTypes; import net.minecraft.core.BlockPos; import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; import net.minecraft.util.profiling.ProfilerFiller; -import net.minecraft.world.Container; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.inventory.AbstractContainerMenu; import net.minecraft.world.item.crafting.BlastingRecipe; import net.minecraft.world.item.crafting.RecipeHolder; import net.minecraft.world.item.crafting.RecipeType; +import net.minecraft.world.item.crafting.SingleRecipeInput; import net.minecraft.world.level.block.state.BlockState; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -public class ElectricArcFurnaceBlockEntity extends BasicRecipeMachineBlockEntity { +public class ElectricArcFurnaceBlockEntity extends BasicRecipeMachineBlockEntity { public static final int CHARGE_SLOT = 0; public static final int INPUT_SLOT = 1; public static final int OUTPUT_SLOTS = 2; public static final int OUTPUT_LENGTH = 2; + private static final StorageSpec SPEC = StorageSpec.of( + MachineItemStorage.spec( + ItemResourceSlot.builder(TransferType.TRANSFER) + .pos(8, 62) + .filter(ResourceFilters.CAN_EXTRACT_ENERGY), + ItemResourceSlot.builder(TransferType.INPUT) + .pos(44, 35), + ItemResourceSlot.builder(TransferType.OUTPUT) + .pos(108, 35), + ItemResourceSlot.builder(TransferType.OUTPUT) + .pos(134, 35) + ), + MachineEnergyStorage.spec( + Galacticraft.CONFIG.machineEnergyStorageSize(), + Galacticraft.CONFIG.electricArcFurnaceEnergyConsumptionRate() * 2, + 0 + ) + ); + public ElectricArcFurnaceBlockEntity(BlockPos pos, BlockState state) { - super(GCMachineTypes.ELECTRIC_ARC_FURNACE, pos, state, RecipeType.BLASTING, INPUT_SLOT, 1, OUTPUT_SLOTS, OUTPUT_LENGTH); + super(GCBlockEntityTypes.ELECTRIC_ARC_FURNACE, pos, state, RecipeType.BLASTING, SPEC, INPUT_SLOT, 1, OUTPUT_SLOTS, OUTPUT_LENGTH); } @Override protected void tickConstant(@NotNull ServerLevel world, @NotNull BlockPos pos, @NotNull BlockState state, @NotNull ProfilerFiller profiler) { super.tickConstant(world, pos, state, profiler); - this.chargeFromStack(CHARGE_SLOT); + this.chargeFromSlot(CHARGE_SLOT); } @Override @@ -80,21 +107,19 @@ public int getProcessingTime(@NotNull RecipeHolder recipe) { return (int) (recipe.value().getCookingTime() * 0.9); } - @Nullable @Override - public AbstractContainerMenu createMenu(int syncId, Inventory inv, Player player) { - if (this.getSecurity().hasAccess(player)) { - return new RecipeMachineMenu<>( - syncId, - (ServerPlayer) player, - this - ); - } - return null; + public @Nullable MachineMenu createMenu(int syncId, Inventory inv, Player player) { + return new RecipeMachineMenu<>( + GCMenuTypes.ELECTRIC_ARC_FURNACE, + syncId, + (ServerPlayer) player, + this + ); } @Override - protected Container createCraftingInv() { - return RecipeTestContainer.create(this.itemStorage(), this.inputSlots, this.inputSlotsLen); + protected SingleRecipeInput craftingInv() { + assert this.inputSlots.size() == 1; + return RecipeHelper.single(this.inputSlots.slot(0)); } } diff --git a/src/main/java/dev/galacticraft/mod/content/block/entity/machine/ElectricCompressorBlockEntity.java b/src/main/java/dev/galacticraft/mod/content/block/entity/machine/ElectricCompressorBlockEntity.java index f597b01435..40dd3f7196 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/entity/machine/ElectricCompressorBlockEntity.java +++ b/src/main/java/dev/galacticraft/mod/content/block/entity/machine/ElectricCompressorBlockEntity.java @@ -23,45 +23,72 @@ package dev.galacticraft.mod.content.block.entity.machine; import dev.galacticraft.machinelib.api.block.entity.BasicRecipeMachineBlockEntity; -import dev.galacticraft.machinelib.api.compat.vanilla.CraftingRecipeTestContainer; +import dev.galacticraft.machinelib.api.block.entity.MachineBlockEntity; +import dev.galacticraft.machinelib.api.compat.vanilla.RecipeHelper; +import dev.galacticraft.machinelib.api.filter.ResourceFilters; import dev.galacticraft.machinelib.api.machine.MachineStatus; import dev.galacticraft.machinelib.api.machine.MachineStatuses; +import dev.galacticraft.machinelib.api.menu.MachineMenu; import dev.galacticraft.machinelib.api.menu.RecipeMachineMenu; +import dev.galacticraft.machinelib.api.storage.MachineEnergyStorage; +import dev.galacticraft.machinelib.api.storage.MachineItemStorage; +import dev.galacticraft.machinelib.api.storage.StorageSpec; +import dev.galacticraft.machinelib.api.storage.slot.ItemResourceSlot; +import dev.galacticraft.machinelib.api.transfer.TransferType; import dev.galacticraft.mod.Galacticraft; -import dev.galacticraft.mod.content.GCMachineTypes; +import dev.galacticraft.mod.content.GCBlockEntityTypes; import dev.galacticraft.mod.machine.GCMachineStatuses; import dev.galacticraft.mod.recipe.CompressingRecipe; import dev.galacticraft.mod.recipe.GCRecipes; +import dev.galacticraft.mod.screen.GCMenuTypes; import net.minecraft.core.BlockPos; import net.minecraft.server.level.ServerLevel; -import net.minecraft.server.level.ServerPlayer; import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundSource; import net.minecraft.util.profiling.ProfilerFiller; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.inventory.AbstractContainerMenu; -import net.minecraft.world.inventory.CraftingContainer; +import net.minecraft.world.item.crafting.CraftingInput; import net.minecraft.world.item.crafting.RecipeHolder; import net.minecraft.world.level.block.state.BlockState; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -public class ElectricCompressorBlockEntity extends BasicRecipeMachineBlockEntity { +public class ElectricCompressorBlockEntity extends BasicRecipeMachineBlockEntity { public static final int CHARGE_SLOT = 0; public static final int INPUT_SLOTS = 1; public static final int INPUT_LENGTH = 9; public static final int OUTPUT_SLOTS = INPUT_SLOTS + INPUT_LENGTH; public static final int OUTPUT_LENGTH = 2; + public static final StorageSpec SPEC = StorageSpec.of( + MachineItemStorage.builder() + .add(ItemResourceSlot.builder(TransferType.TRANSFER) + .pos(8, 61) + .filter(ResourceFilters.CAN_EXTRACT_ENERGY) + ) + .add3x3Grid(TransferType.INPUT, 30, 17) + .add(ItemResourceSlot.builder(TransferType.OUTPUT) + .pos(148, 22) + ) + .add(ItemResourceSlot.builder(TransferType.OUTPUT) + .pos(148, 48) + ), + MachineEnergyStorage.spec( + Galacticraft.CONFIG.machineEnergyStorageSize(), + Galacticraft.CONFIG.electricCompressorEnergyConsumptionRate() * 2, + 0 + ) + ); + public ElectricCompressorBlockEntity(BlockPos pos, BlockState state) { - super(GCMachineTypes.ELECTRIC_COMPRESSOR, pos, state, GCRecipes.COMPRESSING_TYPE, INPUT_SLOTS, INPUT_LENGTH, OUTPUT_SLOTS, OUTPUT_LENGTH); + super(GCBlockEntityTypes.ELECTRIC_COMPRESSOR, pos, state, GCRecipes.COMPRESSING_TYPE, SPEC, INPUT_SLOTS, INPUT_LENGTH, OUTPUT_SLOTS, OUTPUT_LENGTH); } @Override protected void tickConstant(@NotNull ServerLevel world, @NotNull BlockPos pos, @NotNull BlockState state, @NotNull ProfilerFiller profiler) { super.tickConstant(world, pos, state, profiler); - this.chargeFromStack(CHARGE_SLOT); + this.chargeFromSlot(CHARGE_SLOT); } @Override @@ -96,21 +123,18 @@ public int getProcessingTime(@NotNull RecipeHolder recipe) { return recipe.value().getTime(); } - @Nullable @Override - public AbstractContainerMenu createMenu(int syncId, Inventory inv, Player player) { - if (this.getSecurity().hasAccess(player)) { - return new RecipeMachineMenu<>( - syncId, - (ServerPlayer) player, - this - ); - } - return null; + public @Nullable MachineMenu createMenu(int syncId, Inventory inv, Player player) { + return new RecipeMachineMenu<>( + GCMenuTypes.ELECTRIC_COMPRESSOR, + syncId, + player, + this + ); } @Override - protected CraftingContainer createCraftingInv() { - return CraftingRecipeTestContainer.create(3, 3, this.itemStorage(), this.inputSlots, this.inputSlotsLen); + protected CraftingInput craftingInv() { + return RecipeHelper.craftingInput(3, 3, this.inputSlots.getSlots()); } } \ No newline at end of file diff --git a/src/main/java/dev/galacticraft/mod/content/block/entity/machine/ElectricFurnaceBlockEntity.java b/src/main/java/dev/galacticraft/mod/content/block/entity/machine/ElectricFurnaceBlockEntity.java index 20a7d646e5..cbaa65f09d 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/entity/machine/ElectricFurnaceBlockEntity.java +++ b/src/main/java/dev/galacticraft/mod/content/block/entity/machine/ElectricFurnaceBlockEntity.java @@ -23,40 +23,64 @@ package dev.galacticraft.mod.content.block.entity.machine; import dev.galacticraft.machinelib.api.block.entity.BasicRecipeMachineBlockEntity; -import dev.galacticraft.machinelib.api.compat.vanilla.RecipeTestContainer; +import dev.galacticraft.machinelib.api.block.entity.MachineBlockEntity; +import dev.galacticraft.machinelib.api.compat.vanilla.RecipeHelper; +import dev.galacticraft.machinelib.api.filter.ResourceFilters; import dev.galacticraft.machinelib.api.machine.MachineStatus; import dev.galacticraft.machinelib.api.machine.MachineStatuses; +import dev.galacticraft.machinelib.api.menu.MachineMenu; import dev.galacticraft.machinelib.api.menu.RecipeMachineMenu; +import dev.galacticraft.machinelib.api.storage.MachineEnergyStorage; +import dev.galacticraft.machinelib.api.storage.MachineItemStorage; +import dev.galacticraft.machinelib.api.storage.StorageSpec; +import dev.galacticraft.machinelib.api.storage.slot.ItemResourceSlot; +import dev.galacticraft.machinelib.api.transfer.TransferType; import dev.galacticraft.mod.Galacticraft; -import dev.galacticraft.mod.content.GCMachineTypes; +import dev.galacticraft.mod.content.GCBlockEntityTypes; +import dev.galacticraft.mod.screen.GCMenuTypes; import net.minecraft.core.BlockPos; import net.minecraft.server.level.ServerLevel; -import net.minecraft.server.level.ServerPlayer; import net.minecraft.util.profiling.ProfilerFiller; -import net.minecraft.world.Container; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.inventory.AbstractContainerMenu; import net.minecraft.world.item.crafting.RecipeHolder; import net.minecraft.world.item.crafting.RecipeType; +import net.minecraft.world.item.crafting.SingleRecipeInput; import net.minecraft.world.item.crafting.SmeltingRecipe; import net.minecraft.world.level.block.state.BlockState; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -public class ElectricFurnaceBlockEntity extends BasicRecipeMachineBlockEntity { +public class ElectricFurnaceBlockEntity extends BasicRecipeMachineBlockEntity { public static final int CHARGE_SLOT = 0; public static final int INPUT_SLOT = 1; public static final int OUTPUT_SLOT = 2; + public static final StorageSpec SPEC = StorageSpec.of( + MachineItemStorage.spec( + ItemResourceSlot.builder(TransferType.TRANSFER) + .pos(8, 61) + .filter(ResourceFilters.CAN_EXTRACT_ENERGY), + ItemResourceSlot.builder(TransferType.INPUT) + .pos(52, 35), + ItemResourceSlot.builder(TransferType.OUTPUT) + .pos(113, 35) + ), + MachineEnergyStorage.spec( + Galacticraft.CONFIG.machineEnergyStorageSize(), + Galacticraft.CONFIG.electricFurnaceEnergyConsumptionRate() * 2, + 0 + ) + ); + public ElectricFurnaceBlockEntity(BlockPos pos, BlockState state) { - super(GCMachineTypes.ELECTRIC_FURNACE, pos, state, RecipeType.SMELTING, INPUT_SLOT, OUTPUT_SLOT); + super(GCBlockEntityTypes.ELECTRIC_FURNACE, pos, state, RecipeType.SMELTING, SPEC, INPUT_SLOT, OUTPUT_SLOT); } @Override protected void tickConstant(@NotNull ServerLevel world, @NotNull BlockPos pos, @NotNull BlockState state, @NotNull ProfilerFiller profiler) { super.tickConstant(world, pos, state, profiler); - this.chargeFromStack(CHARGE_SLOT); + this.chargeFromSlot(CHARGE_SLOT); } @Override @@ -79,21 +103,18 @@ public int getProcessingTime(@NotNull RecipeHolder recipe) { return recipe.value().getCookingTime(); } - @Nullable @Override - public AbstractContainerMenu createMenu(int syncId, Inventory inv, Player player) { - if (this.getSecurity().hasAccess(player)) { - return new RecipeMachineMenu<>( - syncId, - (ServerPlayer) player, - this - ); - } - return null; + public @Nullable MachineMenu createMenu(int syncId, Inventory inv, Player player) { + return new RecipeMachineMenu<>( + GCMenuTypes.ELECTRIC_FURNACE, + syncId, + player, + this + ); } @Override - protected Container createCraftingInv() { - return RecipeTestContainer.create(this.itemStorage(), this.inputSlots, this.inputSlotsLen); + protected SingleRecipeInput craftingInv() { + return RecipeHelper.single(this.inputSlots.slot(0)); } } diff --git a/src/main/java/dev/galacticraft/mod/content/block/entity/machine/EnergyStorageModuleBlockEntity.java b/src/main/java/dev/galacticraft/mod/content/block/entity/machine/EnergyStorageModuleBlockEntity.java index 482ad7cd97..675aabdf11 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/entity/machine/EnergyStorageModuleBlockEntity.java +++ b/src/main/java/dev/galacticraft/mod/content/block/entity/machine/EnergyStorageModuleBlockEntity.java @@ -23,17 +23,24 @@ package dev.galacticraft.mod.content.block.entity.machine; import dev.galacticraft.machinelib.api.block.entity.MachineBlockEntity; +import dev.galacticraft.machinelib.api.filter.ResourceFilters; import dev.galacticraft.machinelib.api.machine.MachineStatus; import dev.galacticraft.machinelib.api.machine.MachineStatuses; import dev.galacticraft.machinelib.api.menu.MachineMenu; -import dev.galacticraft.mod.content.GCMachineTypes; +import dev.galacticraft.machinelib.api.storage.MachineEnergyStorage; +import dev.galacticraft.machinelib.api.storage.MachineItemStorage; +import dev.galacticraft.machinelib.api.storage.StorageSpec; +import dev.galacticraft.machinelib.api.storage.slot.ItemResourceSlot; +import dev.galacticraft.machinelib.api.transfer.TransferType; +import dev.galacticraft.machinelib.api.util.EnergySource; +import dev.galacticraft.mod.Galacticraft; +import dev.galacticraft.mod.content.GCBlockEntityTypes; +import dev.galacticraft.mod.screen.GCMenuTypes; import net.minecraft.core.BlockPos; import net.minecraft.server.level.ServerLevel; -import net.minecraft.server.level.ServerPlayer; import net.minecraft.util.profiling.ProfilerFiller; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.inventory.AbstractContainerMenu; import net.minecraft.world.level.block.state.BlockState; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -42,43 +49,48 @@ public class EnergyStorageModuleBlockEntity extends MachineBlockEntity { public static final int CHARGE_SELF_SLOT = 0; public static final int CHARGE_ITEM_SLOT = 1; - public EnergyStorageModuleBlockEntity(BlockPos pos, BlockState state) { - super(GCMachineTypes.ENERGY_STORAGE_MODULE, pos, state); - } + public static final StorageSpec SPEC = StorageSpec.of( + MachineItemStorage.spec( + ItemResourceSlot.builder(TransferType.TRANSFER) + .pos(102, 48) + .filter(ResourceFilters.CAN_EXTRACT_ENERGY), + ItemResourceSlot.builder(TransferType.TRANSFER) + .pos(102, 24) + .filter(ResourceFilters.CAN_INSERT_ENERGY) + ), + MachineEnergyStorage.spec( + Galacticraft.CONFIG.energyStorageModuleStorageSize(), + Galacticraft.CONFIG.energyStorageModuleStorageSize() / 200 + ) + ); - @Override - public long getEnergyItemExtractionRate() { - return super.getEnergyItemExtractionRate() * 2; - } + private final EnergySource energySource = new EnergySource(this); - @Override - public long getEnergyItemInsertionRate() { - return super.getEnergyItemInsertionRate() * 2; + public EnergyStorageModuleBlockEntity(BlockPos pos, BlockState state) { + super(GCBlockEntityTypes.ENERGY_STORAGE_MODULE, pos, state, SPEC); } @Override protected void tickConstant(@NotNull ServerLevel world, @NotNull BlockPos pos, @NotNull BlockState state, @NotNull ProfilerFiller profiler) { super.tickConstant(world, pos, state, profiler); - this.chargeFromStack(CHARGE_SELF_SLOT); - this.drainPowerToStack(CHARGE_ITEM_SLOT); + this.chargeFromSlot(CHARGE_SELF_SLOT); + this.drainPowerToSlot(CHARGE_ITEM_SLOT); } @Override protected @NotNull MachineStatus tick(@NotNull ServerLevel level, @NotNull BlockPos pos, @NotNull BlockState state, @NotNull ProfilerFiller profiler) { - this.trySpreadEnergy(level, state); + this.energySource.trySpreadEnergy(level, pos, state); return MachineStatuses.ACTIVE; } @Nullable @Override - public AbstractContainerMenu createMenu(int syncId, Inventory inv, Player player) { - if (this.getSecurity().hasAccess(player)) { - return new MachineMenu<>( - syncId, - (ServerPlayer) player, - this - ); - } - return null; + public MachineMenu createMenu(int syncId, Inventory inv, Player player) { + return new MachineMenu<>( + GCMenuTypes.ENERGY_STORAGE_MODULE, + syncId, + player, + this + ); } } diff --git a/src/main/java/dev/galacticraft/mod/content/block/entity/machine/FuelLoaderBlockEntity.java b/src/main/java/dev/galacticraft/mod/content/block/entity/machine/FuelLoaderBlockEntity.java index cd0c20416b..a32b1cadc7 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/entity/machine/FuelLoaderBlockEntity.java +++ b/src/main/java/dev/galacticraft/mod/content/block/entity/machine/FuelLoaderBlockEntity.java @@ -23,27 +23,38 @@ package dev.galacticraft.mod.content.block.entity.machine; import dev.galacticraft.machinelib.api.block.entity.MachineBlockEntity; +import dev.galacticraft.machinelib.api.filter.ResourceFilters; import dev.galacticraft.machinelib.api.machine.MachineStatus; +import dev.galacticraft.machinelib.api.menu.MachineMenu; +import dev.galacticraft.machinelib.api.storage.MachineEnergyStorage; +import dev.galacticraft.machinelib.api.storage.MachineFluidStorage; +import dev.galacticraft.machinelib.api.storage.MachineItemStorage; +import dev.galacticraft.machinelib.api.storage.StorageSpec; import dev.galacticraft.machinelib.api.storage.slot.FluidResourceSlot; +import dev.galacticraft.machinelib.api.storage.slot.ItemResourceSlot; +import dev.galacticraft.machinelib.api.transfer.TransferType; +import dev.galacticraft.mod.Galacticraft; import dev.galacticraft.mod.api.entity.Dockable; +import dev.galacticraft.mod.content.GCBlockEntityTypes; import dev.galacticraft.mod.content.GCBlocks; import dev.galacticraft.mod.content.GCFluids; -import dev.galacticraft.mod.content.GCMachineTypes; import dev.galacticraft.mod.content.block.special.launchpad.AbstractLaunchPad; import dev.galacticraft.mod.content.block.special.launchpad.LaunchPadBlockEntity; import dev.galacticraft.mod.machine.GCMachineStatuses; import dev.galacticraft.mod.screen.FuelLoaderMenu; +import net.fabricmc.fabric.api.transfer.v1.fluid.FluidConstants; import net.fabricmc.fabric.api.transfer.v1.fluid.FluidVariant; import net.fabricmc.fabric.api.transfer.v1.transaction.Transaction; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; import net.minecraft.nbt.CompoundTag; +import net.minecraft.nbt.Tag; import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; import net.minecraft.util.profiling.ProfilerFiller; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.inventory.AbstractContainerMenu; import net.minecraft.world.level.block.state.BlockState; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -53,12 +64,35 @@ public class FuelLoaderBlockEntity extends MachineBlockEntity { public static final int CHARGE_SLOT = 0; public static final int FUEL_INPUT_SLOT = 1; public static final int FUEL_TANK = 0; + + private static final StorageSpec SPEC = StorageSpec.of( + MachineItemStorage.spec( + ItemResourceSlot.builder(TransferType.TRANSFER) + .pos(8, 62) + .filter(ResourceFilters.CAN_EXTRACT_ENERGY), + ItemResourceSlot.builder(TransferType.TRANSFER) + .pos(80, 62) + .filter(ResourceFilters.canExtractFluid(GCFluids.FUEL)) // fixme: fuel tag?, + ), + MachineEnergyStorage.spec( + Galacticraft.CONFIG.machineEnergyStorageSize(), + 150 * 2, // fixme + 0 + ), + MachineFluidStorage.spec( + FluidResourceSlot.builder(TransferType.INPUT) + .hidden() + .capacity(FluidConstants.BUCKET * 50) + .filter(ResourceFilters.ofResource(GCFluids.FUEL)) // fixme: tag? + ) + ); + private BlockPos connectionPos = BlockPos.ZERO; public Dockable linkedRocket = null; private Direction check = null; public FuelLoaderBlockEntity(BlockPos pos, BlockState state) { - super(GCMachineTypes.FUEL_LOADER, pos, state); + super(GCBlockEntityTypes.FUEL_LOADER, pos, state, SPEC); } @NotNull @@ -74,10 +108,10 @@ public BlockPos getConnectionPos() { return GCMachineStatuses.NO_ROCKET; } - FluidResourceSlot slot = this.fluidStorage().getSlot(FUEL_TANK); + FluidResourceSlot slot = this.fluidStorage().slot(FUEL_TANK); try (Transaction transaction = Transaction.openOuter()) { - long insert = this.linkedRocket.getFuelTank().insert(FluidVariant.of(slot.getResource(), slot.getTag()), Math.min(TRANSFER_RATE, slot.getAmount()), transaction); + long insert = this.linkedRocket.getFuelTank().insert(FluidVariant.of(slot.getResource(), slot.getComponents()), Math.min(TRANSFER_RATE, slot.getAmount()), transaction); if (insert > 0) { slot.extract(insert); transaction.commit(); @@ -108,23 +142,24 @@ public void tickConstant(@NotNull ServerLevel world, @NotNull BlockPos pos, @Not this.linkedRocket = null; } - this.chargeFromStack(CHARGE_SLOT); - this.takeFluidFromStack(FUEL_INPUT_SLOT, FUEL_TANK, GCFluids.FUEL); + this.chargeFromSlot(CHARGE_SLOT); + this.takeFluidFromSlot(FUEL_INPUT_SLOT, FUEL_TANK, GCFluids.FUEL); } @Override - public void saveAdditional(CompoundTag tag) { + protected void saveAdditional(CompoundTag tag, HolderLookup.Provider lookup) { + super.saveAdditional(tag, lookup); + if (this.connectionPos != BlockPos.ZERO) { - tag.putBoolean("has_connection" , true); tag.putLong("connection_pos", this.connectionPos.asLong()); } - super.saveAdditional(tag); } @Override - public void load(CompoundTag tag) { - super.load(tag); - if (tag.getBoolean("has_connection")) { + public void loadAdditional(CompoundTag tag, HolderLookup.Provider lookup) { + super.loadAdditional(tag, lookup); + + if (tag.contains("connection_pos", Tag.TAG_LONG)) { this.connectionPos = BlockPos.of(tag.getLong("connection_pos")); } else { this.connectionPos = BlockPos.ZERO; @@ -135,9 +170,8 @@ public void updateConnections(Direction direction) { this.check = direction; } - @Nullable @Override - public AbstractContainerMenu createMenu(int syncId, Inventory inv, Player player) { + public @Nullable MachineMenu createMenu(int syncId, Inventory inv, Player player) { return new FuelLoaderMenu(syncId, (ServerPlayer) player, this); } } \ No newline at end of file diff --git a/src/main/java/dev/galacticraft/mod/content/block/entity/machine/OxygenBubbleDistributorBlockEntity.java b/src/main/java/dev/galacticraft/mod/content/block/entity/machine/OxygenBubbleDistributorBlockEntity.java index 6460f7e8cc..75d869e230 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/entity/machine/OxygenBubbleDistributorBlockEntity.java +++ b/src/main/java/dev/galacticraft/mod/content/block/entity/machine/OxygenBubbleDistributorBlockEntity.java @@ -24,29 +24,38 @@ import dev.galacticraft.api.gas.Gases; import dev.galacticraft.machinelib.api.block.entity.MachineBlockEntity; +import dev.galacticraft.machinelib.api.filter.ResourceFilters; import dev.galacticraft.machinelib.api.machine.MachineStatus; import dev.galacticraft.machinelib.api.machine.MachineStatuses; +import dev.galacticraft.machinelib.api.menu.MachineMenu; +import dev.galacticraft.machinelib.api.storage.MachineEnergyStorage; +import dev.galacticraft.machinelib.api.storage.MachineFluidStorage; +import dev.galacticraft.machinelib.api.storage.MachineItemStorage; +import dev.galacticraft.machinelib.api.storage.StorageSpec; import dev.galacticraft.machinelib.api.storage.slot.FluidResourceSlot; +import dev.galacticraft.machinelib.api.storage.slot.ItemResourceSlot; +import dev.galacticraft.machinelib.api.transfer.TransferType; import dev.galacticraft.mod.Constant; import dev.galacticraft.mod.Galacticraft; +import dev.galacticraft.mod.content.GCBlockEntityTypes; import dev.galacticraft.mod.content.GCEntityTypes; -import dev.galacticraft.mod.content.GCMachineTypes; import dev.galacticraft.mod.content.entity.BubbleEntity; import dev.galacticraft.mod.machine.GCMachineStatuses; +import dev.galacticraft.mod.network.s2c.BubbleSizePayload; +import dev.galacticraft.mod.network.s2c.BubbleUpdatePayload; import dev.galacticraft.mod.screen.OxygenBubbleDistributorMenu; import dev.galacticraft.mod.util.FluidUtil; -import io.netty.buffer.Unpooled; import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; import net.minecraft.core.BlockPos; +import net.minecraft.core.HolderLookup; import net.minecraft.nbt.CompoundTag; -import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; import net.minecraft.util.Mth; import net.minecraft.util.profiling.ProfilerFiller; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.inventory.AbstractContainerMenu; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockState; import org.jetbrains.annotations.NotNull; @@ -57,6 +66,29 @@ public class OxygenBubbleDistributorBlockEntity extends MachineBlockEntity { public static final int OXYGEN_INPUT_SLOT = 1; // REVIEW: should this be 0 or 1? public static final int OXYGEN_TANK = 0; public static final long MAX_OXYGEN = FluidUtil.bucketsToDroplets(50); + + private static final StorageSpec SPEC = StorageSpec.of( + MachineItemStorage.spec( + ItemResourceSlot.builder(TransferType.TRANSFER) + .pos(8, 62) + .filter(ResourceFilters.CAN_EXTRACT_ENERGY), + ItemResourceSlot.builder(TransferType.TRANSFER) + .pos(31, 62) + .filter(ResourceFilters.canExtractFluid(Gases.OXYGEN)) + ), + MachineEnergyStorage.spec( + Galacticraft.CONFIG.machineEnergyStorageSize(), + Galacticraft.CONFIG.oxygenCollectorEnergyConsumptionRate() * 2, + 0 + ), + MachineFluidStorage.spec( + FluidResourceSlot.builder(TransferType.INPUT) + .pos(31, 8) + .capacity(OxygenBubbleDistributorBlockEntity.MAX_OXYGEN) + .filter(ResourceFilters.ofResource(Gases.OXYGEN)) + ) + ); + private boolean bubbleVisible = true; private double size = 0; private byte targetSize = 1; @@ -66,7 +98,7 @@ public class OxygenBubbleDistributorBlockEntity extends MachineBlockEntity { private boolean oxygenUnloaded = true; public OxygenBubbleDistributorBlockEntity(BlockPos pos, BlockState state) { - super(GCMachineTypes.OXYGEN_BUBBLE_DISTRIBUTOR, pos, state); + super(GCBlockEntityTypes.OXYGEN_BUBBLE_DISTRIBUTOR, pos, state, SPEC); } @Override @@ -74,8 +106,8 @@ protected void tickConstant(@NotNull ServerLevel world, @NotNull BlockPos pos, @ super.tickConstant(world, pos, state, profiler); this.oxygenUnloaded = false; profiler.push("extract_resources"); - this.chargeFromStack(CHARGE_SLOT); - this.takeFluidFromStack(OXYGEN_INPUT_SLOT, OXYGEN_TANK, Gases.OXYGEN); + this.chargeFromSlot(CHARGE_SLOT); + this.takeFluidFromSlot(OXYGEN_INPUT_SLOT, OXYGEN_TANK, Gases.OXYGEN); profiler.pop(); } @@ -98,9 +130,6 @@ protected void tickConstant(@NotNull ServerLevel world, @NotNull BlockPos pos, @ entity.zo = this.getBlockPos().getZ(); level.addFreshEntity(entity); this.bubbleId = entity.getId(); - for (ServerPlayer player : level.players()) { - player.connection.send(entity.getAddEntityPacket()); - } } else if (!this.bubbleVisible && this.bubbleId != -1) { level.getEntity(bubbleId).discard(); this.bubbleId = -1; @@ -111,7 +140,7 @@ protected void tickConstant(@NotNull ServerLevel world, @NotNull BlockPos pos, @ profiler.push("bubbler_distributor_transfer"); long oxygenRequired = Math.max((long) ((4.0 / 3.0) * Math.PI * this.size * this.size * this.size), 1); - FluidResourceSlot slot = this.fluidStorage().getSlot(OXYGEN_TANK); + FluidResourceSlot slot = this.fluidStorage().slot(OXYGEN_TANK); if (slot.canExtract(oxygenRequired)) { slot.extract(oxygenRequired); @@ -176,7 +205,7 @@ private void trySyncSize(@NotNull ServerLevel world, @NotNull BlockPos pos, @Not this.prevSize = this.size; profiler.push("network"); for (ServerPlayer player : world.players()) { - ServerPlayNetworking.send(player, Constant.Packet.BUBBLE_SIZE, new FriendlyByteBuf(new FriendlyByteBuf(Unpooled.buffer()).writeBlockPos(pos).writeDouble(this.size))); + ServerPlayNetworking.send(player, new BubbleSizePayload(pos, this.size)); } profiler.pop(); } @@ -213,27 +242,27 @@ public void setTargetSize(byte targetSize) { } @Override - public void saveAdditional(CompoundTag tag) { - super.saveAdditional(tag); + protected void saveAdditional(CompoundTag tag, HolderLookup.Provider lookup) { + super.saveAdditional(tag, lookup); tag.putByte(Constant.Nbt.MAX_SIZE, this.targetSize); tag.putDouble(Constant.Nbt.SIZE, this.size); tag.putBoolean(Constant.Nbt.VISIBLE, this.bubbleVisible); } @Override - public void load(CompoundTag nbt) { - this.size = nbt.getDouble(Constant.Nbt.SIZE); + public void loadAdditional(CompoundTag tag, HolderLookup.Provider lookup) { + super.loadAdditional(tag, lookup); + this.size = tag.getDouble(Constant.Nbt.SIZE); if (this.size < 0) this.size = 0; - this.targetSize = nbt.getByte(Constant.Nbt.MAX_SIZE); + this.targetSize = tag.getByte(Constant.Nbt.MAX_SIZE); if (this.targetSize < 1) this.targetSize = 1; - this.bubbleVisible = nbt.getBoolean(Constant.Nbt.VISIBLE); - - super.load(nbt); + this.bubbleVisible = tag.getBoolean(Constant.Nbt.VISIBLE); } public double getSize() { return this.size; } + public void setSize(double size) { this.size = size; } @@ -241,25 +270,19 @@ public void setSize(double size) { public boolean isBubbleVisible() { return this.bubbleVisible; } + public void setBubbleVisible(boolean bubbleVisible) { this.bubbleVisible = bubbleVisible; this.level.sendBlockUpdated(this.getBlockPos(), this.getBlockState(), this.getBlockState(), Block.UPDATE_CLIENTS); } - @Nullable @Override - public AbstractContainerMenu createMenu(int syncId, Inventory inv, Player player) { - if (this.getSecurity().hasAccess(player)) return new OxygenBubbleDistributorMenu(syncId, (ServerPlayer) player, this); - return null; + public @Nullable MachineMenu createMenu(int syncId, Inventory inv, Player player) { + return new OxygenBubbleDistributorMenu(syncId, player, this); } @Override - public @NotNull CompoundTag getUpdateTag() { - CompoundTag tag = super.getUpdateTag(); - - tag.putInt(Constant.Nbt.MAX_SIZE, this.targetSize); // REVIEW: should we be sending this along? Because we do save it - tag.putDouble(Constant.Nbt.SIZE, this.size); - tag.putBoolean(Constant.Nbt.VISIBLE, this.bubbleVisible); - return tag; + public @NotNull CustomPacketPayload createUpdatePayload() { + return new BubbleUpdatePayload(this.getBlockPos(), this.targetSize, this.size, this.bubbleVisible); } } \ No newline at end of file diff --git a/src/main/java/dev/galacticraft/mod/content/block/entity/machine/OxygenCollectorBlockEntity.java b/src/main/java/dev/galacticraft/mod/content/block/entity/machine/OxygenCollectorBlockEntity.java index 758210bed6..2cd71ce9ae 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/entity/machine/OxygenCollectorBlockEntity.java +++ b/src/main/java/dev/galacticraft/mod/content/block/entity/machine/OxygenCollectorBlockEntity.java @@ -24,23 +24,30 @@ import dev.galacticraft.api.gas.Gases; import dev.galacticraft.api.universe.celestialbody.CelestialBody; -import dev.galacticraft.api.universe.celestialbody.CelestialBodyConfig; -import dev.galacticraft.api.universe.celestialbody.landable.Landable; import dev.galacticraft.machinelib.api.block.entity.MachineBlockEntity; +import dev.galacticraft.machinelib.api.filter.ResourceFilters; import dev.galacticraft.machinelib.api.machine.MachineStatus; import dev.galacticraft.machinelib.api.machine.MachineStatuses; +import dev.galacticraft.machinelib.api.menu.MachineMenu; +import dev.galacticraft.machinelib.api.storage.MachineEnergyStorage; +import dev.galacticraft.machinelib.api.storage.MachineFluidStorage; +import dev.galacticraft.machinelib.api.storage.MachineItemStorage; +import dev.galacticraft.machinelib.api.storage.StorageSpec; +import dev.galacticraft.machinelib.api.storage.slot.FluidResourceSlot; +import dev.galacticraft.machinelib.api.storage.slot.ItemResourceSlot; +import dev.galacticraft.machinelib.api.transfer.TransferType; +import dev.galacticraft.machinelib.api.util.FluidSource; import dev.galacticraft.mod.Galacticraft; -import dev.galacticraft.mod.content.GCMachineTypes; +import dev.galacticraft.mod.content.GCBlockEntityTypes; import dev.galacticraft.mod.machine.GCMachineStatuses; import dev.galacticraft.mod.screen.OxygenCollectorMenu; import dev.galacticraft.mod.util.FluidUtil; import net.minecraft.core.BlockPos; +import net.minecraft.core.Holder; import net.minecraft.server.level.ServerLevel; -import net.minecraft.server.level.ServerPlayer; import net.minecraft.util.profiling.ProfilerFiller; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.inventory.AbstractContainerMenu; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.CropBlock; import net.minecraft.world.level.block.LeavesBlock; @@ -54,18 +61,38 @@ public class OxygenCollectorBlockEntity extends MachineBlockEntity { public static final long MAX_OXYGEN = FluidUtil.bucketsToDroplets(50); + private static final StorageSpec SPEC = StorageSpec.of( + MachineItemStorage.spec( + ItemResourceSlot.builder(TransferType.TRANSFER) + .pos(8, 62) + .filter(ResourceFilters.CAN_EXTRACT_ENERGY) + ), + MachineEnergyStorage.spec( + Galacticraft.CONFIG.machineEnergyStorageSize(), + Galacticraft.CONFIG.oxygenCollectorEnergyConsumptionRate() * 2, + 0 + ), + MachineFluidStorage.spec( + FluidResourceSlot.builder(TransferType.OUTPUT) + .pos(31, 8) + .capacity(OxygenCollectorBlockEntity.MAX_OXYGEN) + .filter(ResourceFilters.ofResource(Gases.OXYGEN)) + ) + ); + + private final FluidSource fluidSource = new FluidSource(this); public int collectionAmount = 0; private boolean oxygenWorld = false; public OxygenCollectorBlockEntity(BlockPos pos, BlockState state) { - super(GCMachineTypes.OXYGEN_COLLECTOR, pos, state); + super(GCBlockEntityTypes.OXYGEN_COLLECTOR, pos, state, SPEC); } @Override public void setLevel(Level world) { super.setLevel(world); - CelestialBody> body = CelestialBody.getByDimension(world).orElse(null); - this.oxygenWorld = body == null || body.atmosphere().breathable(); + Holder> body = world.galacticraft$getCelestialBody(); + this.oxygenWorld = body == null || body.value().atmosphere().breathable(); } private int collectOxygen(@NotNull ServerLevel world, @NotNull BlockPos pos) { @@ -102,15 +129,15 @@ private int collectOxygen(@NotNull ServerLevel world, @NotNull BlockPos pos) { @Override protected void tickConstant(@NotNull ServerLevel world, @NotNull BlockPos pos, @NotNull BlockState state, @NotNull ProfilerFiller profiler) { super.tickConstant(world, pos, state, profiler); - this.chargeFromStack(CHARGE_SLOT); + this.chargeFromSlot(CHARGE_SLOT); } @Override protected @NotNull MachineStatus tick(@NotNull ServerLevel level, @NotNull BlockPos pos, @NotNull BlockState state, @NotNull ProfilerFiller profiler) { profiler.push("transfer"); - this.trySpreadFluids(level, state); + this.fluidSource.trySpreadFluids(level, pos, state); - if (this.fluidStorage().getSlot(OXYGEN_TANK).isFull()) return GCMachineStatuses.OXYGEN_TANK_FULL; + if (this.fluidStorage().slot(OXYGEN_TANK).isFull()) return GCMachineStatuses.OXYGEN_TANK_FULL; profiler.popPush("transaction"); try { if (this.energyStorage().canExtract(Galacticraft.CONFIG.oxygenCollectorEnergyConsumptionRate())) { @@ -119,7 +146,7 @@ protected void tickConstant(@NotNull ServerLevel world, @NotNull BlockPos pos, @ profiler.pop(); if (this.collectionAmount > 0) { this.energyStorage().extract(Galacticraft.CONFIG.oxygenCollectorEnergyConsumptionRate()); - this.fluidStorage().getSlot(OXYGEN_TANK).insert(Gases.OXYGEN, FluidUtil.bucketsToDroplets(this.collectionAmount)); + this.fluidStorage().slot(OXYGEN_TANK).insert(Gases.OXYGEN, FluidUtil.bucketsToDroplets(this.collectionAmount)); return GCMachineStatuses.COLLECTING; } else { return GCMachineStatuses.NOT_ENOUGH_OXYGEN; @@ -135,9 +162,8 @@ protected void tickConstant(@NotNull ServerLevel world, @NotNull BlockPos pos, @ @Nullable @Override - public AbstractContainerMenu createMenu(int syncId, Inventory inv, Player player) { - if (this.getSecurity().hasAccess(player)) return new OxygenCollectorMenu(syncId, (ServerPlayer) player, this); - return null; + public MachineMenu createMenu(int syncId, Inventory inv, Player player) { + return new OxygenCollectorMenu(syncId, player, this); } public int getCollectionAmount() { diff --git a/src/main/java/dev/galacticraft/mod/content/block/entity/machine/OxygenCompressorBlockEntity.java b/src/main/java/dev/galacticraft/mod/content/block/entity/machine/OxygenCompressorBlockEntity.java index 7f9cc5eb2e..7f67bb7836 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/entity/machine/OxygenCompressorBlockEntity.java +++ b/src/main/java/dev/galacticraft/mod/content/block/entity/machine/OxygenCompressorBlockEntity.java @@ -24,13 +24,21 @@ import dev.galacticraft.api.gas.Gases; import dev.galacticraft.machinelib.api.block.entity.MachineBlockEntity; +import dev.galacticraft.machinelib.api.filter.ResourceFilters; import dev.galacticraft.machinelib.api.machine.MachineStatus; import dev.galacticraft.machinelib.api.machine.MachineStatuses; import dev.galacticraft.machinelib.api.menu.MachineMenu; +import dev.galacticraft.machinelib.api.storage.MachineEnergyStorage; +import dev.galacticraft.machinelib.api.storage.MachineFluidStorage; +import dev.galacticraft.machinelib.api.storage.MachineItemStorage; +import dev.galacticraft.machinelib.api.storage.StorageSpec; import dev.galacticraft.machinelib.api.storage.slot.FluidResourceSlot; +import dev.galacticraft.machinelib.api.storage.slot.ItemResourceSlot; +import dev.galacticraft.machinelib.api.transfer.TransferType; import dev.galacticraft.mod.Galacticraft; -import dev.galacticraft.mod.content.GCMachineTypes; +import dev.galacticraft.mod.content.GCBlockEntityTypes; import dev.galacticraft.mod.machine.GCMachineStatuses; +import dev.galacticraft.mod.screen.GCMenuTypes; import dev.galacticraft.mod.util.FluidUtil; import net.fabricmc.fabric.api.transfer.v1.fluid.FluidStorage; import net.fabricmc.fabric.api.transfer.v1.fluid.FluidVariant; @@ -38,11 +46,9 @@ import net.fabricmc.fabric.api.transfer.v1.transaction.Transaction; import net.minecraft.core.BlockPos; import net.minecraft.server.level.ServerLevel; -import net.minecraft.server.level.ServerPlayer; import net.minecraft.util.profiling.ProfilerFiller; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.inventory.AbstractContainerMenu; import net.minecraft.world.level.block.state.BlockState; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -53,22 +59,44 @@ public class OxygenCompressorBlockEntity extends MachineBlockEntity { public static final int OXYGEN_TANK = 0; public static final long MAX_OXYGEN = FluidUtil.bucketsToDroplets(50); + private static final StorageSpec SPEC = StorageSpec.of( + MachineItemStorage.spec( + ItemResourceSlot.builder(TransferType.TRANSFER) + .pos(8, 62) + .filter(ResourceFilters.CAN_EXTRACT_ENERGY), + ItemResourceSlot.builder(TransferType.TRANSFER) + .pos(80, 27) + .filter(ResourceFilters.canInsertFluid(Gases.OXYGEN)) + ), + MachineEnergyStorage.spec( + Galacticraft.CONFIG.machineEnergyStorageSize(), + Galacticraft.CONFIG.oxygenCompressorEnergyConsumptionRate() * 2, + 0 + ), + MachineFluidStorage.spec( + FluidResourceSlot.builder(TransferType.INPUT) + .pos(31, 8) + .capacity(OxygenCompressorBlockEntity.MAX_OXYGEN) + .filter(ResourceFilters.ofResource(Gases.OXYGEN)) + ) + ); + public OxygenCompressorBlockEntity(BlockPos pos, BlockState state) { - super(GCMachineTypes.OXYGEN_COMPRESSOR, pos, state); + super(GCBlockEntityTypes.OXYGEN_COMPRESSOR, pos, state, SPEC); } @Override protected void tickConstant(@NotNull ServerLevel world, @NotNull BlockPos pos, @NotNull BlockState state, @NotNull ProfilerFiller profiler) { super.tickConstant(world, pos, state, profiler); - this.chargeFromStack(CHARGE_SLOT); + this.chargeFromSlot(CHARGE_SLOT); } @Override protected @NotNull MachineStatus tick(@NotNull ServerLevel level, @NotNull BlockPos pos, @NotNull BlockState state, @NotNull ProfilerFiller profiler) { - FluidResourceSlot oxygenStorage = this.fluidStorage().getSlot(OXYGEN_TANK); + FluidResourceSlot oxygenStorage = this.fluidStorage().slot(OXYGEN_TANK); if (oxygenStorage.isEmpty()) return GCMachineStatuses.NOT_ENOUGH_OXYGEN; profiler.push("find_storage"); - Storage tank = this.itemStorage().getSlot(OXYGEN_OUTPUT_SLOT).find(FluidStorage.ITEM); + Storage tank = this.itemStorage().slot(OXYGEN_OUTPUT_SLOT).find(FluidStorage.ITEM); profiler.pop(); if (tank == null) return GCMachineStatuses.MISSING_OXYGEN_TANK; long space; @@ -100,14 +128,12 @@ protected void tickConstant(@NotNull ServerLevel world, @NotNull BlockPos pos, @ @Nullable @Override - public AbstractContainerMenu createMenu(int syncId, Inventory inv, Player player) { - if (this.getSecurity().hasAccess(player)) { - return new MachineMenu<>( - syncId, - (ServerPlayer) player, - this - ); - } - return null; + public MachineMenu createMenu(int syncId, Inventory inv, Player player) { + return new MachineMenu<>( + GCMenuTypes.OXYGEN_COMPRESSOR, + syncId, + player, + this + ); } } \ No newline at end of file diff --git a/src/main/java/dev/galacticraft/mod/content/block/entity/machine/OxygenDecompressorBlockEntity.java b/src/main/java/dev/galacticraft/mod/content/block/entity/machine/OxygenDecompressorBlockEntity.java index 1b7a13edaf..a843e3aaca 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/entity/machine/OxygenDecompressorBlockEntity.java +++ b/src/main/java/dev/galacticraft/mod/content/block/entity/machine/OxygenDecompressorBlockEntity.java @@ -24,13 +24,23 @@ import dev.galacticraft.api.gas.Gases; import dev.galacticraft.machinelib.api.block.entity.MachineBlockEntity; +import dev.galacticraft.machinelib.api.filter.ResourceFilters; import dev.galacticraft.machinelib.api.machine.MachineStatus; import dev.galacticraft.machinelib.api.machine.MachineStatuses; import dev.galacticraft.machinelib.api.menu.MachineMenu; +import dev.galacticraft.machinelib.api.storage.MachineEnergyStorage; +import dev.galacticraft.machinelib.api.storage.MachineFluidStorage; +import dev.galacticraft.machinelib.api.storage.MachineItemStorage; +import dev.galacticraft.machinelib.api.storage.StorageSpec; +import dev.galacticraft.machinelib.api.storage.slot.FluidResourceSlot; +import dev.galacticraft.machinelib.api.storage.slot.ItemResourceSlot; +import dev.galacticraft.machinelib.api.transfer.TransferType; +import dev.galacticraft.machinelib.api.util.FluidSource; import dev.galacticraft.machinelib.api.util.StorageHelper; import dev.galacticraft.mod.Galacticraft; -import dev.galacticraft.mod.content.GCMachineTypes; +import dev.galacticraft.mod.content.GCBlockEntityTypes; import dev.galacticraft.mod.machine.GCMachineStatuses; +import dev.galacticraft.mod.screen.GCMenuTypes; import dev.galacticraft.mod.util.FluidUtil; import net.fabricmc.fabric.api.transfer.v1.fluid.FluidStorage; import net.fabricmc.fabric.api.transfer.v1.fluid.FluidVariant; @@ -38,11 +48,9 @@ import net.fabricmc.fabric.api.transfer.v1.storage.StorageUtil; import net.minecraft.core.BlockPos; import net.minecraft.server.level.ServerLevel; -import net.minecraft.server.level.ServerPlayer; import net.minecraft.util.profiling.ProfilerFiller; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.inventory.AbstractContainerMenu; import net.minecraft.world.level.block.state.BlockState; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -53,21 +61,45 @@ public class OxygenDecompressorBlockEntity extends MachineBlockEntity { public static final int OXYGEN_TANK = 0; public static final long MAX_OXYGEN = FluidUtil.bucketsToDroplets(50); + private static final StorageSpec SPEC = StorageSpec.of( + MachineItemStorage.spec( + ItemResourceSlot.builder(TransferType.TRANSFER) + .pos(8, 62) + .filter(ResourceFilters.CAN_EXTRACT_ENERGY), + ItemResourceSlot.builder(TransferType.TRANSFER) + .pos(80, 27) + .filter(ResourceFilters.canExtractFluid(Gases.OXYGEN)) + ), + MachineEnergyStorage.spec( + Galacticraft.CONFIG.machineEnergyStorageSize(), + Galacticraft.CONFIG.oxygenDecompressorEnergyConsumptionRate() * 2, + 0 + ), + MachineFluidStorage.spec( + FluidResourceSlot.builder(TransferType.OUTPUT) + .pos(31, 8) + .capacity(OxygenDecompressorBlockEntity.MAX_OXYGEN) + .filter(ResourceFilters.ofResource(Gases.OXYGEN)) + ) + ); + + private final FluidSource fluidSource = new FluidSource(this); + public OxygenDecompressorBlockEntity(BlockPos pos, BlockState state) { - super(GCMachineTypes.OXYGEN_DECOMPRESSOR, pos, state); + super(GCBlockEntityTypes.OXYGEN_DECOMPRESSOR, pos, state, SPEC); } @Override protected void tickConstant(@NotNull ServerLevel world, @NotNull BlockPos pos, @NotNull BlockState state, @NotNull ProfilerFiller profiler) { super.tickConstant(world, pos, state, profiler); - this.chargeFromStack(CHARGE_SLOT); + this.chargeFromSlot(CHARGE_SLOT); } @Override protected @NotNull MachineStatus tick(@NotNull ServerLevel level, @NotNull BlockPos pos, @NotNull BlockState state, @NotNull ProfilerFiller profiler) { profiler.push("transfer"); - this.trySpreadFluids(level, state); - Storage tank = this.itemStorage().getSlot(OXYGEN_INPUT_SLOT).find(FluidStorage.ITEM); + this.fluidSource.trySpreadFluids(level, pos, state); + Storage tank = this.itemStorage().slot(OXYGEN_INPUT_SLOT).find(FluidStorage.ITEM); profiler.pop(); if (tank == null) return GCMachineStatuses.MISSING_OXYGEN_TANK; if (StorageUtil.simulateExtract(tank, FluidVariant.of(Gases.OXYGEN), Long.MAX_VALUE, null) == 0) return GCMachineStatuses.EMPTY_OXYGEN_TANK; @@ -75,7 +107,7 @@ protected void tickConstant(@NotNull ServerLevel world, @NotNull BlockPos pos, @ try { if (this.energyStorage().extractExact(Galacticraft.CONFIG.oxygenDecompressorEnergyConsumptionRate())) { - StorageHelper.move(FluidVariant.of(Gases.OXYGEN), tank, this.fluidStorage().getSlot(OXYGEN_TANK), Long.MAX_VALUE, null); + StorageHelper.move(FluidVariant.of(Gases.OXYGEN), tank, this.fluidStorage().slot(OXYGEN_TANK), Long.MAX_VALUE, null); return GCMachineStatuses.DECOMPRESSING; } else { return MachineStatuses.NOT_ENOUGH_ENERGY; @@ -87,14 +119,12 @@ protected void tickConstant(@NotNull ServerLevel world, @NotNull BlockPos pos, @ @Nullable @Override - public AbstractContainerMenu createMenu(int syncId, Inventory inv, Player player) { - if (this.getSecurity().hasAccess(player)) { - return new MachineMenu<>( - syncId, - (ServerPlayer) player, - this - ); - } - return null; + public MachineMenu createMenu(int syncId, Inventory inv, Player player) { + return new MachineMenu<>( + GCMenuTypes.OXYGEN_DECOMPRESSOR, + syncId, + player, + this + ); } } \ No newline at end of file diff --git a/src/main/java/dev/galacticraft/mod/content/block/entity/machine/OxygenStorageModuleBlockEntity.java b/src/main/java/dev/galacticraft/mod/content/block/entity/machine/OxygenStorageModuleBlockEntity.java index edc6d5f66a..ef496579bd 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/entity/machine/OxygenStorageModuleBlockEntity.java +++ b/src/main/java/dev/galacticraft/mod/content/block/entity/machine/OxygenStorageModuleBlockEntity.java @@ -22,19 +22,25 @@ package dev.galacticraft.mod.content.block.entity.machine; +import dev.galacticraft.api.gas.Gases; import dev.galacticraft.machinelib.api.block.entity.MachineBlockEntity; +import dev.galacticraft.machinelib.api.filter.ResourceFilters; import dev.galacticraft.machinelib.api.machine.MachineStatus; import dev.galacticraft.machinelib.api.machine.MachineStatuses; import dev.galacticraft.machinelib.api.menu.MachineMenu; -import dev.galacticraft.mod.content.GCMachineTypes; +import dev.galacticraft.machinelib.api.storage.MachineFluidStorage; +import dev.galacticraft.machinelib.api.storage.StorageSpec; +import dev.galacticraft.machinelib.api.storage.slot.FluidResourceSlot; +import dev.galacticraft.machinelib.api.transfer.TransferType; +import dev.galacticraft.machinelib.api.util.FluidSource; +import dev.galacticraft.mod.content.GCBlockEntityTypes; +import dev.galacticraft.mod.screen.GCMenuTypes; import dev.galacticraft.mod.util.FluidUtil; import net.minecraft.core.BlockPos; import net.minecraft.server.level.ServerLevel; -import net.minecraft.server.level.ServerPlayer; import net.minecraft.util.profiling.ProfilerFiller; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.inventory.AbstractContainerMenu; import net.minecraft.world.level.block.state.BlockState; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -43,26 +49,34 @@ public class OxygenStorageModuleBlockEntity extends MachineBlockEntity { public static final int OXYGEN_TANK = 0; public static final long MAX_OXYGEN = FluidUtil.bucketsToDroplets(100); + public static final StorageSpec SPEC = StorageSpec.of( + MachineFluidStorage.spec( + FluidResourceSlot.builder(TransferType.STORAGE) + .hidden() + .capacity(OxygenStorageModuleBlockEntity.MAX_OXYGEN) + .filter(ResourceFilters.ofResource(Gases.OXYGEN)) + ) + ); + private final FluidSource source = new FluidSource(this); + public OxygenStorageModuleBlockEntity(BlockPos pos, BlockState state) { - super(GCMachineTypes.OXYGEN_STORAGE_MODULE, pos, state); + super(GCBlockEntityTypes.OXYGEN_STORAGE_MODULE, pos, state, SPEC); } @Override protected @NotNull MachineStatus tick(@NotNull ServerLevel level, @NotNull BlockPos pos, @NotNull BlockState state, @NotNull ProfilerFiller profiler) { - this.trySpreadFluids(level, state); + this.source.trySpreadFluids(level, pos, state); return MachineStatuses.ACTIVE; } @Nullable @Override - public AbstractContainerMenu createMenu(int syncId, Inventory inv, Player player) { - if (this.getSecurity().hasAccess(player)) { - return new MachineMenu<>( - syncId, - (ServerPlayer) player, - this - ); - } - return null; + public MachineMenu createMenu(int syncId, Inventory inv, Player player) { + return new MachineMenu<>( + GCMenuTypes.OXYGEN_STORAGE_MODULE, + syncId, + player, + this + ); } } diff --git a/src/main/java/dev/galacticraft/mod/content/block/entity/machine/RefineryBlockEntity.java b/src/main/java/dev/galacticraft/mod/content/block/entity/machine/RefineryBlockEntity.java index 988924e3a5..c66a0a631c 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/entity/machine/RefineryBlockEntity.java +++ b/src/main/java/dev/galacticraft/mod/content/block/entity/machine/RefineryBlockEntity.java @@ -23,29 +23,35 @@ package dev.galacticraft.mod.content.block.entity.machine; import dev.galacticraft.machinelib.api.block.entity.MachineBlockEntity; +import dev.galacticraft.machinelib.api.filter.ResourceFilters; import dev.galacticraft.machinelib.api.machine.MachineStatus; import dev.galacticraft.machinelib.api.machine.MachineStatuses; import dev.galacticraft.machinelib.api.menu.MachineMenu; +import dev.galacticraft.machinelib.api.storage.MachineEnergyStorage; +import dev.galacticraft.machinelib.api.storage.MachineFluidStorage; +import dev.galacticraft.machinelib.api.storage.MachineItemStorage; +import dev.galacticraft.machinelib.api.storage.StorageSpec; import dev.galacticraft.machinelib.api.storage.slot.FluidResourceSlot; +import dev.galacticraft.machinelib.api.storage.slot.ItemResourceSlot; +import dev.galacticraft.machinelib.api.transfer.TransferType; import dev.galacticraft.mod.Galacticraft; +import dev.galacticraft.mod.content.GCBlockEntityTypes; import dev.galacticraft.mod.content.GCFluids; -import dev.galacticraft.mod.content.GCMachineTypes; import dev.galacticraft.mod.machine.GCMachineStatuses; +import dev.galacticraft.mod.screen.GCMenuTypes; import dev.galacticraft.mod.util.FluidUtil; import net.fabricmc.fabric.api.transfer.v1.fluid.FluidConstants; import net.minecraft.core.BlockPos; import net.minecraft.server.level.ServerLevel; -import net.minecraft.server.level.ServerPlayer; import net.minecraft.util.profiling.ProfilerFiller; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.inventory.AbstractContainerMenu; import net.minecraft.world.level.block.state.BlockState; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.VisibleForTesting; -public class RefineryBlockEntity extends MachineBlockEntity { //fixme +public class RefineryBlockEntity extends MachineBlockEntity { public static final int CHARGE_SLOT = 0; public static final int OIL_INPUT_SLOT = 1; public static final int FUEL_OUTPUT_SLOT = 2; @@ -55,24 +61,53 @@ public class RefineryBlockEntity extends MachineBlockEntity { //fixme @VisibleForTesting public static final long MAX_CAPACITY = FluidUtil.bucketsToDroplets(8); + private static final StorageSpec SPEC = StorageSpec.of( + MachineItemStorage.spec( + ItemResourceSlot.builder(TransferType.TRANSFER) + .pos(8, 7) + .filter(ResourceFilters.CAN_EXTRACT_ENERGY), + ItemResourceSlot.builder(TransferType.TRANSFER) + .pos(123, 7) + .filter(ResourceFilters.canExtractFluid(GCFluids.CRUDE_OIL)), // fixme: tag?, + ItemResourceSlot.builder(TransferType.TRANSFER) + .pos(153, 7) + .filter(ResourceFilters.canInsertFluid(GCFluids.FUEL)) // fixme: tag? + ), + MachineEnergyStorage.spec( + Galacticraft.CONFIG.machineEnergyStorageSize(), + Galacticraft.CONFIG.refineryEnergyConsumptionRate() * 2, + 0 + ), + MachineFluidStorage.spec( + FluidResourceSlot.builder(TransferType.INPUT) + .pos(123, 29) + .capacity(RefineryBlockEntity.MAX_CAPACITY) + .filter(ResourceFilters.ofResource(GCFluids.CRUDE_OIL)), + FluidResourceSlot.builder(TransferType.OUTPUT) + .pos(153, 29) + .capacity(RefineryBlockEntity.MAX_CAPACITY) + .filter(ResourceFilters.ofResource(GCFluids.FUEL)) + ) + ); + public RefineryBlockEntity(BlockPos pos, BlockState state) { - super(GCMachineTypes.REFINERY, pos, state); + super(GCBlockEntityTypes.REFINERY, pos, state, SPEC); } @Override protected void tickConstant(@NotNull ServerLevel world, @NotNull BlockPos pos, @NotNull BlockState state, @NotNull ProfilerFiller profiler) { super.tickConstant(world, pos, state, profiler); - this.chargeFromStack(CHARGE_SLOT); + this.chargeFromSlot(CHARGE_SLOT); - this.takeFluidFromStack(OIL_INPUT_SLOT, OIL_TANK, GCFluids.CRUDE_OIL); - this.insertFluidToStack(FUEL_OUTPUT_SLOT, FUEL_TANK, GCFluids.FUEL); + this.takeFluidFromSlot(OIL_INPUT_SLOT, OIL_TANK, GCFluids.CRUDE_OIL); + this.drainFluidToSlot(FUEL_OUTPUT_SLOT, FUEL_TANK); } @Override protected @NotNull MachineStatus tick(@NotNull ServerLevel level, @NotNull BlockPos pos, @NotNull BlockState state, @NotNull ProfilerFiller profiler) { - FluidResourceSlot oilTank = this.fluidStorage().getSlot(OIL_TANK); + FluidResourceSlot oilTank = this.fluidStorage().slot(OIL_TANK); if (oilTank.isEmpty()) return GCMachineStatuses.MISSING_OIL; - FluidResourceSlot fuelTank = this.fluidStorage().getSlot(FUEL_TANK); + FluidResourceSlot fuelTank = this.fluidStorage().slot(FUEL_TANK); if (fuelTank.isFull()) return GCMachineStatuses.FUEL_TANK_FULL; profiler.push("transaction"); try { @@ -93,14 +128,12 @@ protected void tickConstant(@NotNull ServerLevel world, @NotNull BlockPos pos, @ @Nullable @Override - public AbstractContainerMenu createMenu(int syncId, Inventory inv, Player player) { - if (this.getSecurity().hasAccess(player)) { - return new MachineMenu<>( - syncId, - (ServerPlayer) player, - this - ); - } - return null; + public MachineMenu createMenu(int syncId, Inventory inv, Player player) { + return new MachineMenu<>( + GCMenuTypes.REFINERY, + syncId, + player, + this + ); } } \ No newline at end of file diff --git a/src/main/java/dev/galacticraft/mod/content/block/entity/networked/FluidPipeWalkwayBlockEntity.java b/src/main/java/dev/galacticraft/mod/content/block/entity/networked/FluidPipeWalkwayBlockEntity.java index a376e217a9..1e95850e6d 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/entity/networked/FluidPipeWalkwayBlockEntity.java +++ b/src/main/java/dev/galacticraft/mod/content/block/entity/networked/FluidPipeWalkwayBlockEntity.java @@ -29,6 +29,7 @@ import net.fabricmc.fabric.api.transfer.v1.fluid.FluidConstants; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; import net.minecraft.nbt.CompoundTag; import net.minecraft.world.level.block.state.BlockState; import org.jetbrains.annotations.NotNull; @@ -41,14 +42,14 @@ public FluidPipeWalkwayBlockEntity(BlockPos pos, BlockState state) { } @Override - public void saveAdditional(CompoundTag nbt) { - super.saveAdditional(nbt); + protected void saveAdditional(CompoundTag nbt, HolderLookup.Provider registryLookup) { + super.saveAdditional(nbt, registryLookup); this.writeWalkwayNbt(nbt); } @Override - public void load(CompoundTag nbt) { - super.load(nbt); + protected void loadAdditional(CompoundTag nbt, HolderLookup.Provider registryLookup) { + super.loadAdditional(nbt, registryLookup); this.readWalkwayNbt(nbt); } diff --git a/src/main/java/dev/galacticraft/mod/content/block/entity/networked/GlassFluidPipeBlockEntity.java b/src/main/java/dev/galacticraft/mod/content/block/entity/networked/GlassFluidPipeBlockEntity.java index 88a674dcca..9b6cdfd576 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/entity/networked/GlassFluidPipeBlockEntity.java +++ b/src/main/java/dev/galacticraft/mod/content/block/entity/networked/GlassFluidPipeBlockEntity.java @@ -29,6 +29,7 @@ import dev.galacticraft.mod.content.block.special.fluidpipe.PipeBlockEntity; import net.fabricmc.fabric.api.transfer.v1.fluid.FluidConstants; import net.minecraft.core.BlockPos; +import net.minecraft.core.HolderLookup; import net.minecraft.nbt.CompoundTag; import net.minecraft.world.level.block.state.BlockState; @@ -40,14 +41,14 @@ public GlassFluidPipeBlockEntity(BlockPos pos, BlockState state) { } @Override - public void load(CompoundTag nbt) { - super.load(nbt); + protected void loadAdditional(CompoundTag nbt, HolderLookup.Provider registryLookup) { + super.loadAdditional(nbt, registryLookup); this.readPullNbt(nbt); } @Override - public void saveAdditional(CompoundTag nbt) { - super.saveAdditional(nbt); + protected void saveAdditional(CompoundTag nbt, HolderLookup.Provider registryLookup) { + super.saveAdditional(nbt, registryLookup); this.writePullNbt(nbt); } diff --git a/src/main/java/dev/galacticraft/mod/content/block/entity/networked/WireBlockEntity.java b/src/main/java/dev/galacticraft/mod/content/block/entity/networked/WireBlockEntity.java index 69b8f35ebd..c465ac8673 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/entity/networked/WireBlockEntity.java +++ b/src/main/java/dev/galacticraft/mod/content/block/entity/networked/WireBlockEntity.java @@ -29,6 +29,7 @@ import net.fabricmc.fabric.api.transfer.v1.transaction.TransactionContext; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.protocol.Packet; import net.minecraft.network.protocol.game.ClientGamePacketListener; @@ -122,14 +123,14 @@ public void updateConnection(BlockState state, BlockPos pos, BlockPos neighborPo } @Override - public void saveAdditional(CompoundTag nbt) { - super.saveAdditional(nbt); + protected void saveAdditional(CompoundTag nbt, HolderLookup.Provider registryLookup) { + super.saveAdditional(nbt, registryLookup); this.writeConnectionNbt(nbt); } @Override - public void load(CompoundTag nbt) { - super.load(nbt); + protected void loadAdditional(CompoundTag nbt, HolderLookup.Provider registryLookup) { + super.loadAdditional(nbt, registryLookup); this.readConnectionNbt(nbt); if (this.level != null && this.level.isClientSide) { @@ -138,8 +139,8 @@ public void load(CompoundTag nbt) { } @Override - public CompoundTag getUpdateTag() { - return this.saveWithoutMetadata(); + public CompoundTag getUpdateTag(HolderLookup.Provider registryLookup) { + return this.saveWithoutMetadata(registryLookup); } @Override diff --git a/src/main/java/dev/galacticraft/mod/content/block/entity/networked/WireWalkwayBlockEntity.java b/src/main/java/dev/galacticraft/mod/content/block/entity/networked/WireWalkwayBlockEntity.java index 789bea6546..c7a0d9ce67 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/entity/networked/WireWalkwayBlockEntity.java +++ b/src/main/java/dev/galacticraft/mod/content/block/entity/networked/WireWalkwayBlockEntity.java @@ -26,6 +26,7 @@ import dev.galacticraft.mod.content.GCBlockEntityTypes; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; import net.minecraft.nbt.CompoundTag; import net.minecraft.world.level.block.state.BlockState; import org.jetbrains.annotations.NotNull; @@ -38,14 +39,14 @@ public WireWalkwayBlockEntity(BlockPos pos, BlockState state) { } @Override - public void saveAdditional(CompoundTag nbt) { - super.saveAdditional(nbt); + protected void saveAdditional(CompoundTag nbt, HolderLookup.Provider registryLookup) { + super.saveAdditional(nbt, registryLookup); this.writeWalkwayNbt(nbt); } @Override - public void load(CompoundTag nbt) { - super.load(nbt); + protected void loadAdditional(CompoundTag nbt, HolderLookup.Provider registryLookup) { + super.loadAdditional(nbt, registryLookup); this.readWalkwayNbt(nbt); } diff --git a/src/main/java/dev/galacticraft/mod/content/block/environment/FallenMeteorBlock.java b/src/main/java/dev/galacticraft/mod/content/block/environment/FallenMeteorBlock.java index adfb414d84..80903715bc 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/environment/FallenMeteorBlock.java +++ b/src/main/java/dev/galacticraft/mod/content/block/environment/FallenMeteorBlock.java @@ -26,6 +26,7 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.core.registries.Registries; import net.minecraft.server.level.ServerLevel; import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundSource; @@ -152,7 +153,7 @@ public void entityInside(BlockState state, Level world, BlockPos pos, Entity ent @Override public void spawnAfterBreak(BlockState blockState, ServerLevel serverLevel, BlockPos blockPos, ItemStack itemStack, boolean bl) { - if (EnchantmentHelper.getItemEnchantmentLevel(Enchantments.SILK_TOUCH, itemStack) == 0) { + if (bl && EnchantmentHelper.getItemEnchantmentLevel(serverLevel.registryAccess().registryOrThrow(Registries.ENCHANTMENT).getHolderOrThrow(Enchantments.SILK_TOUCH), itemStack) == 0) { var i = Mth.nextInt(serverLevel.random, 3, 7); if (i > 0) { this.popExperience(serverLevel, blockPos, i); diff --git a/src/main/java/dev/galacticraft/mod/content/block/environment/GlowstoneLanternBlock.java b/src/main/java/dev/galacticraft/mod/content/block/environment/GlowstoneLanternBlock.java index fa022e6b62..7c925cfa30 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/environment/GlowstoneLanternBlock.java +++ b/src/main/java/dev/galacticraft/mod/content/block/environment/GlowstoneLanternBlock.java @@ -26,9 +26,9 @@ import dev.galacticraft.mod.util.Translations; import net.minecraft.client.gui.screens.Screen; import net.minecraft.network.chat.Component; +import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; -import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.block.LanternBlock; import java.util.List; @@ -39,11 +39,13 @@ public GlowstoneLanternBlock(Properties settings) { } @Override - public void appendHoverText(ItemStack stack, BlockGetter blockView, List list, TooltipFlag tooltipContext) { + public void appendHoverText(ItemStack stack, Item.TooltipContext context, List tooltip, TooltipFlag options) { + super.appendHoverText(stack, context, tooltip, options); + if (Screen.hasShiftDown()) { - list.add(Component.translatable(Translations.Tooltip.GLOWSTONE_LANTERN).setStyle(Constant.Text.Color.GRAY_STYLE)); + tooltip.add(Component.translatable(Translations.Tooltip.GLOWSTONE_LANTERN).setStyle(Constant.Text.Color.GRAY_STYLE)); } else { - list.add(Component.translatable(Translations.Tooltip.PRESS_SHIFT).setStyle(Constant.Text.Color.GRAY_STYLE)); + tooltip.add(Component.translatable(Translations.Tooltip.PRESS_SHIFT).setStyle(Constant.Text.Color.GRAY_STYLE)); } } } diff --git a/src/main/java/dev/galacticraft/mod/content/block/environment/GlowstoneTorchBlock.java b/src/main/java/dev/galacticraft/mod/content/block/environment/GlowstoneTorchBlock.java index ac58948d8d..92854a2042 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/environment/GlowstoneTorchBlock.java +++ b/src/main/java/dev/galacticraft/mod/content/block/environment/GlowstoneTorchBlock.java @@ -29,9 +29,9 @@ import net.minecraft.core.BlockPos; import net.minecraft.network.chat.Component; import net.minecraft.util.RandomSource; +import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; -import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.TorchBlock; import net.minecraft.world.level.block.state.BlockState; @@ -50,11 +50,13 @@ public void animateTick(BlockState blockState, Level world, BlockPos blockPos, R } @Override - public void appendHoverText(ItemStack stack, BlockGetter blockView, List list, TooltipFlag tooltipContext) { + public void appendHoverText(ItemStack stack, Item.TooltipContext context, List tooltip, TooltipFlag options) { + super.appendHoverText(stack, context, tooltip, options); + if (Screen.hasShiftDown()) { - list.add(Component.translatable(Translations.Tooltip.GLOWSTONE_TORCH).setStyle(Constant.Text.Color.GRAY_STYLE)); + tooltip.add(Component.translatable(Translations.Tooltip.GLOWSTONE_TORCH).setStyle(Constant.Text.Color.GRAY_STYLE)); } else { - list.add(Component.translatable(Translations.Tooltip.PRESS_SHIFT).setStyle(Constant.Text.Color.GRAY_STYLE)); + tooltip.add(Component.translatable(Translations.Tooltip.PRESS_SHIFT).setStyle(Constant.Text.Color.GRAY_STYLE)); } } diff --git a/src/main/java/dev/galacticraft/mod/content/block/environment/GlowstoneWallTorchBlock.java b/src/main/java/dev/galacticraft/mod/content/block/environment/GlowstoneWallTorchBlock.java index 74192f41e5..e7c92c50f0 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/environment/GlowstoneWallTorchBlock.java +++ b/src/main/java/dev/galacticraft/mod/content/block/environment/GlowstoneWallTorchBlock.java @@ -29,9 +29,9 @@ import net.minecraft.core.BlockPos; import net.minecraft.network.chat.Component; import net.minecraft.util.RandomSource; +import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; -import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.WallTorchBlock; import net.minecraft.world.level.block.state.BlockState; @@ -49,11 +49,12 @@ public void animateTick(BlockState blockState, Level world, BlockPos blockPos, R } @Override - public void appendHoverText(ItemStack stack, BlockGetter blockView, List list, TooltipFlag tooltipContext) { + public void appendHoverText(ItemStack stack, Item.TooltipContext context, List tooltip, TooltipFlag options) { + super.appendHoverText(stack, context, tooltip, options); if (Screen.hasShiftDown()) { - list.add(Component.translatable(Translations.Tooltip.GLOWSTONE_TORCH).setStyle(Constant.Text.Color.GRAY_STYLE)); + tooltip.add(Component.translatable(Translations.Tooltip.GLOWSTONE_TORCH).setStyle(Constant.Text.Color.GRAY_STYLE)); } else { - list.add(Component.translatable(Translations.Tooltip.PRESS_SHIFT).setStyle(Constant.Text.Color.GRAY_STYLE)); + tooltip.add(Component.translatable(Translations.Tooltip.PRESS_SHIFT).setStyle(Constant.Text.Color.GRAY_STYLE)); } } } diff --git a/src/main/java/dev/galacticraft/mod/content/block/environment/MoonBerryBushBlock.java b/src/main/java/dev/galacticraft/mod/content/block/environment/MoonBerryBushBlock.java deleted file mode 100644 index 3f8683e546..0000000000 --- a/src/main/java/dev/galacticraft/mod/content/block/environment/MoonBerryBushBlock.java +++ /dev/null @@ -1,138 +0,0 @@ -/* - * Copyright (c) 2019-2024 Team Galacticraft - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -package dev.galacticraft.mod.content.block.environment; - -import com.mojang.serialization.MapCodec; -import dev.galacticraft.mod.content.GCBlocks; -import dev.galacticraft.mod.content.item.GCItems; -import net.minecraft.core.BlockPos; -import net.minecraft.core.particles.DustParticleOptions; -import net.minecraft.server.level.ServerLevel; -import net.minecraft.sounds.SoundEvents; -import net.minecraft.sounds.SoundSource; -import net.minecraft.util.RandomSource; -import net.minecraft.world.InteractionHand; -import net.minecraft.world.InteractionResult; -import net.minecraft.world.entity.Entity; -import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.level.BlockGetter; -import net.minecraft.world.level.Level; -import net.minecraft.world.level.LevelReader; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.BushBlock; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.block.state.StateDefinition; -import net.minecraft.world.level.block.state.properties.BlockStateProperties; -import net.minecraft.world.level.block.state.properties.IntegerProperty; -import net.minecraft.world.phys.BlockHitResult; -import net.minecraft.world.phys.Vec3; -import net.minecraft.world.phys.shapes.CollisionContext; -import net.minecraft.world.phys.shapes.VoxelShape; -import org.joml.Vector3f; - -public class MoonBerryBushBlock extends BushBlock { - public static final MapCodec CODEC = simpleCodec(MoonBerryBushBlock::new); - public static final IntegerProperty AGE = BlockStateProperties.AGE_3; - private static final VoxelShape SMALL_SHAPE = Block.box(3.0D, 0.0D, 3.0D, 13.0D, 8.0D, 13.0D); - private static final VoxelShape LARGE_SHAPE = Block.box(1.0D, 0.0D, 1.0D, 15.0D, 16.0D, 15.0D); - - public MoonBerryBushBlock(Properties settings) { - super(settings); - this.registerDefaultState(this.getStateDefinition().any().setValue(AGE, 0)); - } - - @Override - protected MapCodec codec() { - return CODEC; - } - - @Override - public ItemStack getCloneItemStack(LevelReader levelReader, BlockPos pos, BlockState state) { - return new ItemStack(GCItems.MOON_BERRIES); - } - - @Override - public VoxelShape getShape(BlockState blockState, BlockGetter blockView, BlockPos blockPos, CollisionContext context) { - if (blockState.getValue(AGE) == 0) { - return SMALL_SHAPE; - } else { - return blockState.getValue(AGE) < 3 ? LARGE_SHAPE : super.getShape(blockState, blockView, blockPos, context); - } - } - - @Override - public void tick(BlockState blockState, ServerLevel world, BlockPos blockPos, RandomSource random) { - super.tick(blockState, world, blockPos, random); - int age = blockState.getValue(AGE); - if (age < 3 && random.nextInt(20) == 0) { - world.setBlock(blockPos, blockState.setValue(AGE, age + 1), 2); - } - } - - @Override - public void entityInside(BlockState blockState, Level world, BlockPos blockPos, Entity entity) { - entity.makeStuckInBlock(blockState, new Vec3(0.800000011920929D, 0.75D, 0.800000011920929D)); - } - - @Override - public InteractionResult use(BlockState blockState, Level world, BlockPos blockPos, Player player, InteractionHand hand, BlockHitResult blockHitResult) { - int age = blockState.getValue(AGE); - boolean mature = age == 3; - - if (mature) { - int amount = 1 + world.random.nextInt(3); - popResource(world, blockPos, new ItemStack(GCItems.MOON_BERRIES, amount)); - world.playSound(null, blockPos, SoundEvents.SWEET_BERRY_BUSH_PICK_BERRIES, SoundSource.BLOCKS, 1.0F, 0.8F + world.random.nextFloat() * 0.4F); - world.setBlock(blockPos, blockState.setValue(AGE, 1), 2); - return InteractionResult.SUCCESS; - } else { - return super.use(blockState, world, blockPos, player, hand, blockHitResult); - } - } - - @Override - public void createBlockStateDefinition(StateDefinition.Builder stateBuilder) { - stateBuilder.add(AGE); - } - - @Override - public boolean mayPlaceOn(BlockState blockState, BlockGetter blockView, BlockPos blockPos) { - return blockState.getBlock() == GCBlocks.MOON_DIRT; - } - - @Override - public void animateTick(BlockState blockState, Level world, BlockPos blockPos, RandomSource random) { - if (blockState.getValue(AGE) == 3) { - - double x = blockPos.getX() + 0.5D + (random.nextFloat() - random.nextFloat()); - double y = blockPos.getY() + random.nextFloat(); - double z = blockPos.getZ() + 0.5D + (random.nextFloat() - random.nextFloat()); - int times = random.nextInt(4); - - for (int i = 0; i < times; i++) { - world.addParticle(new DustParticleOptions(new Vector3f(0.5f, 0.5f, 1.0f), 0.6f), x, y, z, 0.0D, 0.0D, 0.0D); - } - } - } -} diff --git a/src/main/java/dev/galacticraft/mod/content/block/environment/OlivineClusterBlock.java b/src/main/java/dev/galacticraft/mod/content/block/environment/OlivineClusterBlock.java new file mode 100644 index 0000000000..f78efa7a1c --- /dev/null +++ b/src/main/java/dev/galacticraft/mod/content/block/environment/OlivineClusterBlock.java @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2019-2024 Team Galacticraft + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package dev.galacticraft.mod.content.block.environment; + +import net.minecraft.world.level.block.AmethystClusterBlock; + +public class OlivineClusterBlock extends AmethystClusterBlock { + public OlivineClusterBlock(Properties properties) { + super(7.0F, 3.0F, properties); + } +} diff --git a/src/main/java/dev/galacticraft/mod/content/block/environment/UnlitLanternBlock.java b/src/main/java/dev/galacticraft/mod/content/block/environment/UnlitLanternBlock.java index b21cbf21f4..22d94fdb79 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/environment/UnlitLanternBlock.java +++ b/src/main/java/dev/galacticraft/mod/content/block/environment/UnlitLanternBlock.java @@ -29,8 +29,10 @@ import net.minecraft.sounds.SoundSource; import net.minecraft.tags.ItemTags; import net.minecraft.world.InteractionHand; -import net.minecraft.world.InteractionResult; +import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.LanternBlock; @@ -44,21 +46,22 @@ public UnlitLanternBlock(Properties properties) { } @Override - public InteractionResult use(BlockState blockState, Level level, BlockPos blockPos, Player player, InteractionHand interactionHand, BlockHitResult blockHitResult) { - var itemStack = player.getItemInHand(interactionHand); + protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hit) { + var itemStack = player.getItemInHand(hand); if (itemStack.is(ItemTags.CREEPER_IGNITERS)) { - level.playSound(null, blockPos, SoundEvents.FLINTANDSTEEL_USE, SoundSource.BLOCKS, 1.0F, level.getRandom().nextFloat() * 0.4F + 0.8F); - level.setBlockAndUpdate(blockPos, Blocks.LANTERN.defaultBlockState().setValue(HANGING, blockState.getValue(HANGING)).setValue(WATERLOGGED, blockState.getValue(WATERLOGGED))); - level.gameEvent(player, GameEvent.BLOCK_CHANGE, blockPos); + level.playSound(null, pos, SoundEvents.FLINTANDSTEEL_USE, SoundSource.BLOCKS, 1.0F, level.getRandom().nextFloat() * 0.4F + 0.8F); + level.setBlockAndUpdate(pos, Blocks.LANTERN.defaultBlockState().setValue(HANGING, state.getValue(HANGING)).setValue(WATERLOGGED, state.getValue(WATERLOGGED))); + level.gameEvent(player, GameEvent.BLOCK_CHANGE, pos); if (player instanceof ServerPlayer serverPlayer) { - CriteriaTriggers.PLACED_BLOCK.trigger(serverPlayer, blockPos, itemStack); - itemStack.hurtAndBreak(1, player, playerx -> playerx.broadcastBreakEvent(interactionHand)); + CriteriaTriggers.PLACED_BLOCK.trigger(serverPlayer, pos, itemStack); + itemStack.hurtAndBreak(1, player, LivingEntity.getSlotForHand(hand)); } - return InteractionResult.sidedSuccess(level.isClientSide()); + return ItemInteractionResult.SUCCESS; } - return super.use(blockState, level, blockPos, player, interactionHand, blockHitResult); + + return super.useItemOn(stack, state, level, pos, player, hand, hit); } } diff --git a/src/main/java/dev/galacticraft/mod/content/block/environment/UnlitTorchBlock.java b/src/main/java/dev/galacticraft/mod/content/block/environment/UnlitTorchBlock.java index 836b238b91..a4a128d5ee 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/environment/UnlitTorchBlock.java +++ b/src/main/java/dev/galacticraft/mod/content/block/environment/UnlitTorchBlock.java @@ -31,8 +31,10 @@ import net.minecraft.tags.ItemTags; import net.minecraft.util.RandomSource; import net.minecraft.world.InteractionHand; -import net.minecraft.world.InteractionResult; +import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.TorchBlock; @@ -48,22 +50,23 @@ public UnlitTorchBlock(Properties properties) { } @Override - public InteractionResult use(BlockState blockState, Level level, BlockPos blockPos, Player player, InteractionHand interactionHand, BlockHitResult blockHitResult) { - var itemStack = player.getItemInHand(interactionHand); + protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hit) { + var itemStack = player.getItemInHand(hand); if (itemStack.is(ItemTags.CREEPER_IGNITERS)) { - level.playSound(null, blockPos, SoundEvents.FLINTANDSTEEL_USE, SoundSource.BLOCKS, 1.0F, level.getRandom().nextFloat() * 0.4F + 0.8F); - level.setBlockAndUpdate(blockPos, Blocks.TORCH.defaultBlockState()); - level.gameEvent(player, GameEvent.BLOCK_CHANGE, blockPos); + level.playSound(null, pos, SoundEvents.FLINTANDSTEEL_USE, SoundSource.BLOCKS, 1.0F, level.getRandom().nextFloat() * 0.4F + 0.8F); + level.setBlockAndUpdate(pos, Blocks.TORCH.defaultBlockState()); + level.gameEvent(player, GameEvent.BLOCK_CHANGE, pos); if (player instanceof ServerPlayer serverPlayer) { - CriteriaTriggers.PLACED_BLOCK.trigger(serverPlayer, blockPos, itemStack); - itemStack.hurtAndBreak(1, player, playerx -> playerx.broadcastBreakEvent(interactionHand)); + CriteriaTriggers.PLACED_BLOCK.trigger(serverPlayer, pos, itemStack); + itemStack.hurtAndBreak(1, player, LivingEntity.getSlotForHand(hand)); } - return InteractionResult.sidedSuccess(level.isClientSide()); + return ItemInteractionResult.SUCCESS; } - return super.use(blockState, level, blockPos, player, interactionHand, blockHitResult); + + return super.useItemOn(stack, state, level, pos, player, hand, hit); } @Override diff --git a/src/main/java/dev/galacticraft/mod/content/block/environment/UnlitWallTorchBlock.java b/src/main/java/dev/galacticraft/mod/content/block/environment/UnlitWallTorchBlock.java index 04be7cb848..14b2147857 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/environment/UnlitWallTorchBlock.java +++ b/src/main/java/dev/galacticraft/mod/content/block/environment/UnlitWallTorchBlock.java @@ -31,8 +31,10 @@ import net.minecraft.tags.ItemTags; import net.minecraft.util.RandomSource; import net.minecraft.world.InteractionHand; -import net.minecraft.world.InteractionResult; +import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.WallTorchBlock; @@ -48,22 +50,23 @@ public UnlitWallTorchBlock(Properties properties) { } @Override - public InteractionResult use(BlockState blockState, Level level, BlockPos blockPos, Player player, InteractionHand interactionHand, BlockHitResult blockHitResult) { - var itemStack = player.getItemInHand(interactionHand); + protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hit) { + var itemStack = player.getItemInHand(hand); if (itemStack.is(ItemTags.CREEPER_IGNITERS)) { - level.playSound(null, blockPos, SoundEvents.FLINTANDSTEEL_USE, SoundSource.BLOCKS, 1.0F, level.getRandom().nextFloat() * 0.4F + 0.8F); - level.setBlockAndUpdate(blockPos, Blocks.WALL_TORCH.defaultBlockState().setValue(WallTorchBlock.FACING, blockState.getValue(WallTorchBlock.FACING))); - level.gameEvent(player, GameEvent.BLOCK_CHANGE, blockPos); + level.playSound(null, pos, SoundEvents.FLINTANDSTEEL_USE, SoundSource.BLOCKS, 1.0F, level.getRandom().nextFloat() * 0.4F + 0.8F); + level.setBlockAndUpdate(pos, Blocks.WALL_TORCH.defaultBlockState().setValue(WallTorchBlock.FACING, state.getValue(WallTorchBlock.FACING))); + level.gameEvent(player, GameEvent.BLOCK_CHANGE, pos); if (player instanceof ServerPlayer serverPlayer) { - CriteriaTriggers.PLACED_BLOCK.trigger(serverPlayer, blockPos, itemStack); - itemStack.hurtAndBreak(1, player, playerx -> playerx.broadcastBreakEvent(interactionHand)); + CriteriaTriggers.PLACED_BLOCK.trigger(serverPlayer, pos, itemStack); + itemStack.hurtAndBreak(1, player, LivingEntity.getSlotForHand(hand)); } - return InteractionResult.sidedSuccess(level.isClientSide()); + return ItemInteractionResult.SUCCESS; } - return super.use(blockState, level, blockPos, player, interactionHand, blockHitResult); + + return super.useItemOn(stack, state, level, pos, player, hand, hit); } @Override diff --git a/src/main/java/dev/galacticraft/mod/content/block/environment/VolcanicRockBlock.java b/src/main/java/dev/galacticraft/mod/content/block/environment/VolcanicRockBlock.java index 21cf26340c..086bad20c7 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/environment/VolcanicRockBlock.java +++ b/src/main/java/dev/galacticraft/mod/content/block/environment/VolcanicRockBlock.java @@ -22,10 +22,8 @@ package dev.galacticraft.mod.content.block.environment; -import net.minecraft.advancements.critereon.EnchantmentPredicate; -import net.minecraft.advancements.critereon.ItemPredicate; -import net.minecraft.advancements.critereon.MinMaxBounds; import net.minecraft.core.BlockPos; +import net.minecraft.core.registries.Registries; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.enchantment.Enchantments; @@ -43,25 +41,23 @@ import java.util.List; public class VolcanicRockBlock extends Block { - private static final ItemPredicate HAS_SILK_TOUCH = ItemPredicate.Builder.item().hasEnchantment(new EnchantmentPredicate(Enchantments.SILK_TOUCH, MinMaxBounds.Ints.atLeast(1))).build(); - public VolcanicRockBlock(Properties settings) { super(settings); } @Override - public void playerDestroy(Level world, Player player, BlockPos pos, BlockState state, @Nullable BlockEntity blockEntity, ItemStack stack) { - super.playerDestroy(world, player, pos, state, blockEntity, stack); - if (!HAS_SILK_TOUCH.matches(stack)) { - world.setBlockAndUpdate(pos, Blocks.LAVA.defaultBlockState()); + public void playerDestroy(Level level, Player player, BlockPos pos, BlockState state, @Nullable BlockEntity blockEntity, ItemStack stack) { + super.playerDestroy(level, player, pos, state, blockEntity, stack); + if (stack.getEnchantments().getLevel(level.registryAccess().registryOrThrow(Registries.ENCHANTMENT).getHolderOrThrow(Enchantments.SILK_TOUCH)) < 1) { + level.setBlockAndUpdate(pos, Blocks.LAVA.defaultBlockState()); } } @Override public List getDrops(BlockState state, LootParams.@NotNull Builder builder) { - ItemStack itemStack = builder.getParameter(LootContextParams.TOOL); + ItemStack itemStack = builder.getOptionalParameter(LootContextParams.TOOL); if (itemStack != null) { - if (HAS_SILK_TOUCH.matches(itemStack)) { + if (itemStack.getEnchantments().getLevel(builder.getLevel().registryAccess().registryOrThrow(Registries.ENCHANTMENT).getHolderOrThrow(Enchantments.SILK_TOUCH)) >= 1) { return super.getDrops(state, builder); } } diff --git a/src/main/java/dev/galacticraft/mod/content/block/machine/CoalGeneratorBlock.java b/src/main/java/dev/galacticraft/mod/content/block/machine/CoalGeneratorBlock.java index 0e9d32f84e..e8ace8a1cf 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/machine/CoalGeneratorBlock.java +++ b/src/main/java/dev/galacticraft/mod/content/block/machine/CoalGeneratorBlock.java @@ -22,8 +22,9 @@ package dev.galacticraft.mod.content.block.machine; +import com.mojang.serialization.MapCodec; import dev.galacticraft.machinelib.api.block.MachineBlock; -import dev.galacticraft.mod.Constant; +import dev.galacticraft.machinelib.api.block.entity.MachineBlockEntity; import dev.galacticraft.mod.content.block.entity.machine.CoalGeneratorBlockEntity; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -32,12 +33,26 @@ import net.minecraft.sounds.SoundSource; import net.minecraft.util.RandomSource; import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.BaseEntityBlock; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.properties.BlockStateProperties; +import org.jetbrains.annotations.NotNull; + +public class CoalGeneratorBlock extends MachineBlock { + private static final MapCodec CODEC = simpleCodec(CoalGeneratorBlock::new); -public class CoalGeneratorBlock extends MachineBlock { public CoalGeneratorBlock(Properties settings) { - super(settings, Constant.id(Constant.Block.COAL_GENERATOR)); + super(settings); + } + + @Override + protected @NotNull MapCodec codec() { + return CODEC; + } + + @Override + public @NotNull MachineBlockEntity newBlockEntity(BlockPos pos, BlockState state) { + return new CoalGeneratorBlockEntity(pos, state); } @Override diff --git a/src/main/java/dev/galacticraft/mod/content/block/machine/FuelLoaderBlock.java b/src/main/java/dev/galacticraft/mod/content/block/machine/FuelLoaderBlock.java index a424e48fc5..164de437e1 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/machine/FuelLoaderBlock.java +++ b/src/main/java/dev/galacticraft/mod/content/block/machine/FuelLoaderBlock.java @@ -22,27 +22,41 @@ package dev.galacticraft.mod.content.block.machine; +import com.mojang.serialization.MapCodec; import dev.galacticraft.machinelib.api.block.MachineBlock; -import dev.galacticraft.mod.Constant; +import dev.galacticraft.machinelib.api.block.entity.MachineBlockEntity; import dev.galacticraft.mod.content.block.entity.machine.FuelLoaderBlockEntity; import dev.galacticraft.mod.content.block.special.launchpad.AbstractLaunchPad; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.world.level.Level; import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.block.BaseEntityBlock; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.StateDefinition; import net.minecraft.world.level.block.state.properties.BooleanProperty; +import org.jetbrains.annotations.NotNull; -public class FuelLoaderBlock extends MachineBlock { +public class FuelLoaderBlock extends MachineBlock { public static final BooleanProperty CONNECTED = BooleanProperty.create("connected"); + private static final MapCodec CODEC = simpleCodec(FuelLoaderBlock::new); public FuelLoaderBlock(Properties settings) { - super(settings, Constant.id(Constant.Block.FUEL_LOADER)); + super(settings); registerDefaultState(getStateDefinition().any().setValue(CONNECTED, false)); } + @Override + protected @NotNull MapCodec codec() { + return CODEC; + } + + @Override + public @NotNull MachineBlockEntity newBlockEntity(BlockPos pos, BlockState state) { + return new FuelLoaderBlockEntity(pos, state); + } + @Override public void createBlockStateDefinition(StateDefinition.Builder stateBuilder) { super.createBlockStateDefinition(stateBuilder); diff --git a/src/main/java/dev/galacticraft/mod/content/block/machine/OxygenCollectorBlock.java b/src/main/java/dev/galacticraft/mod/content/block/machine/OxygenCollectorBlock.java index bee408e5c0..414077fa90 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/machine/OxygenCollectorBlock.java +++ b/src/main/java/dev/galacticraft/mod/content/block/machine/OxygenCollectorBlock.java @@ -22,19 +22,35 @@ package dev.galacticraft.mod.content.block.machine; +import com.mojang.serialization.MapCodec; import dev.galacticraft.machinelib.api.block.MachineBlock; -import dev.galacticraft.mod.Constant; +import dev.galacticraft.machinelib.api.block.entity.MachineBlockEntity; import dev.galacticraft.mod.content.block.entity.machine.OxygenCollectorBlockEntity; import net.minecraft.core.BlockPos; import net.minecraft.core.particles.DustParticleOptions; import net.minecraft.util.RandomSource; import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.BaseEntityBlock; import net.minecraft.world.level.block.state.BlockState; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import org.joml.Vector3f; -public class OxygenCollectorBlock extends MachineBlock { +public class OxygenCollectorBlock extends MachineBlock { + private static final MapCodec CODEC = simpleCodec(OxygenCollectorBlock::new); + public OxygenCollectorBlock(Properties settings) { - super(settings, Constant.id(Constant.Block.OXYGEN_COLLECTOR)); + super(settings); + } + + @Override + protected @NotNull MapCodec codec() { + return CODEC; + } + + @Override + public @Nullable MachineBlockEntity newBlockEntity(BlockPos pos, BlockState state) { + return new OxygenCollectorBlockEntity(pos, state); } @Override diff --git a/src/main/java/dev/galacticraft/mod/content/block/machine/RefineryBlock.java b/src/main/java/dev/galacticraft/mod/content/block/machine/RefineryBlock.java index 2858229876..0cee53e5d4 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/machine/RefineryBlock.java +++ b/src/main/java/dev/galacticraft/mod/content/block/machine/RefineryBlock.java @@ -22,18 +22,33 @@ package dev.galacticraft.mod.content.block.machine; +import com.mojang.serialization.MapCodec; import dev.galacticraft.machinelib.api.block.MachineBlock; -import dev.galacticraft.mod.Constant; +import dev.galacticraft.machinelib.api.block.entity.MachineBlockEntity; import dev.galacticraft.mod.content.block.entity.machine.RefineryBlockEntity; import net.minecraft.core.BlockPos; import net.minecraft.core.particles.ParticleTypes; import net.minecraft.util.RandomSource; import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.BaseEntityBlock; import net.minecraft.world.level.block.state.BlockState; +import org.jetbrains.annotations.NotNull; + +public class RefineryBlock extends MachineBlock { + private static final MapCodec CODEC = simpleCodec(RefineryBlock::new); -public class RefineryBlock extends MachineBlock { public RefineryBlock(Properties settings) { - super(settings, Constant.id(Constant.Block.REFINERY)); + super(settings); + } + + @Override + protected @NotNull MapCodec codec() { + return CODEC; + } + + @Override + public @NotNull MachineBlockEntity newBlockEntity(BlockPos pos, BlockState state) { + return new RefineryBlockEntity(pos, state); } @Override diff --git a/src/main/java/dev/galacticraft/mod/content/block/machine/SimpleMultiBlockMachineBlock.java b/src/main/java/dev/galacticraft/mod/content/block/machine/SimpleMultiBlockMachineBlock.java index 162350cca6..002d8f043a 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/machine/SimpleMultiBlockMachineBlock.java +++ b/src/main/java/dev/galacticraft/mod/content/block/machine/SimpleMultiBlockMachineBlock.java @@ -22,31 +22,32 @@ package dev.galacticraft.mod.content.block.machine; -import dev.galacticraft.machinelib.api.block.entity.MachineBlockEntity; import dev.galacticraft.mod.api.block.MultiBlockMachineBlock; import dev.galacticraft.mod.api.block.MultiBlockPart; import net.minecraft.core.BlockPos; import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.entity.player.Player; import net.minecraft.world.level.Level; -import net.minecraft.world.level.block.BaseEntityBlock; +import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.state.BlockState; import org.jetbrains.annotations.Unmodifiable; import java.util.List; -public class SimpleMultiBlockMachineBlock extends MultiBlockMachineBlock { +public class SimpleMultiBlockMachineBlock extends MultiBlockMachineBlock { private final List parts; private final BlockState partState; /** * Note: BlockEntity of the partBlock must implement {@link MultiBlockPart} */ - public static SimpleMultiBlockMachineBlock create(Properties properties, ResourceLocation type, List parts, P partBlock) { - return new SimpleMultiBlockMachineBlock<>(properties, type, parts, partBlock); + public static SimpleMultiBlockMachineBlock create(Properties properties, ResourceLocation type, List parts, Block partBlock) { + return new SimpleMultiBlockMachineBlock(properties, type, parts, partBlock); } - protected SimpleMultiBlockMachineBlock(Properties properties, ResourceLocation factory, List parts, P partBlock) { + protected SimpleMultiBlockMachineBlock(Properties properties, ResourceLocation factory, List parts, Block partBlock) { super(properties, factory); this.parts = parts; this.partState = partBlock.defaultBlockState(); @@ -65,6 +66,11 @@ public void onMultiBlockPlaced(Level level, BlockPos blockPos, BlockState blockS } } + @Override + public InteractionResult multiBlockUseWithoutItem(BlockState baseState, Level level, BlockPos basePos, Player player) { + return this.useWithoutItem(baseState, level, basePos, player, null); + } + @Override public @Unmodifiable List getOtherParts(BlockState blockState) { return this.parts; diff --git a/src/main/java/dev/galacticraft/mod/content/block/special/AirlockBlock.java b/src/main/java/dev/galacticraft/mod/content/block/special/AirlockBlock.java index c33699c196..e6e16049e8 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/special/AirlockBlock.java +++ b/src/main/java/dev/galacticraft/mod/content/block/special/AirlockBlock.java @@ -28,7 +28,6 @@ import dev.galacticraft.mod.content.GCBlockEntityTypes; import dev.galacticraft.mod.content.block.entity.AirlockControllerBlockEntity; import net.minecraft.core.BlockPos; -import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.player.Player; import net.minecraft.world.level.Level; @@ -62,13 +61,13 @@ public BlockEntity newBlockEntity(BlockPos blockPos, BlockState blockState) { } @Override - public InteractionResult use(BlockState blockState, Level level, BlockPos blockPos, Player player, InteractionHand interactionHand, BlockHitResult blockHitResult) { + protected InteractionResult useWithoutItem(BlockState state, Level level, BlockPos pos, Player player, BlockHitResult hit) { if (!controller) return InteractionResult.PASS; if (level.isClientSide) { return InteractionResult.SUCCESS; } else { - player.openMenu(blockState.getMenuProvider(level, blockPos)); + player.openMenu(state.getMenuProvider(level, pos)); return InteractionResult.CONSUME; } } diff --git a/src/main/java/dev/galacticraft/mod/content/block/special/CandleMoonCheeseBlock.java b/src/main/java/dev/galacticraft/mod/content/block/special/CandleMoonCheeseBlock.java index a444948982..04d9c1abcb 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/special/CandleMoonCheeseBlock.java +++ b/src/main/java/dev/galacticraft/mod/content/block/special/CandleMoonCheeseBlock.java @@ -31,6 +31,7 @@ import net.minecraft.core.Direction; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; +import net.minecraft.world.ItemInteractionResult; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; @@ -92,24 +93,26 @@ public VoxelShape getShape(BlockState blockState, BlockGetter blockGetter, Block } @Override - public InteractionResult use(BlockState blockState, Level level, BlockPos blockPos, Player player, InteractionHand interactionHand, BlockHitResult blockHitResult) { - var itemStack = player.getItemInHand(interactionHand); + protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level world, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hit) { + var itemStack = player.getItemInHand(hand); if (itemStack.is(Items.FLINT_AND_STEEL) || itemStack.is(Items.FIRE_CHARGE)) { - return InteractionResult.PASS; + return ItemInteractionResult.SKIP_DEFAULT_BLOCK_INTERACTION; + } else if (candleHit(hit) && stack.isEmpty() && state.getValue(LIT)) { + extinguish(player, state, world, pos); + return ItemInteractionResult.sidedSuccess(world.isClientSide); } - else if (candleHit(blockHitResult) && player.getItemInHand(interactionHand).isEmpty() && blockState.getValue(LIT)) { - extinguish(player, blockState, level, blockPos); - return InteractionResult.sidedSuccess(level.isClientSide); - } - else { - var interactionResult = MoonCheeseBlock.eat(level, blockPos, GCBlocks.MOON_CHEESE_WHEEL.defaultBlockState(), player); + return super.useItemOn(stack, state, world, pos, player, hand, hit); + } + + @Override + protected InteractionResult useWithoutItem(BlockState state, Level level, BlockPos pos, Player player, BlockHitResult hit) { + var interactionResult = MoonCheeseBlock.eat(level, pos, GCBlocks.MOON_CHEESE_WHEEL.defaultBlockState(), player); - if (interactionResult.consumesAction()) { - dropResources(blockState, level, blockPos); - } - return interactionResult; + if (interactionResult.consumesAction()) { + dropResources(state, level, pos); } + return interactionResult; } private static boolean candleHit(BlockHitResult blockHitResult) { @@ -147,7 +150,7 @@ public boolean hasAnalogOutputSignal(BlockState blockState) { } @Override - public boolean isPathfindable(BlockState blockState, BlockGetter blockGetter, BlockPos blockPos, PathComputationType pathComputationType) { + protected boolean isPathfindable(BlockState state, PathComputationType type) { return false; } diff --git a/src/main/java/dev/galacticraft/mod/content/block/special/CryogenicChamberBlock.java b/src/main/java/dev/galacticraft/mod/content/block/special/CryogenicChamberBlock.java index ee1d52c634..60c5b5763a 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/special/CryogenicChamberBlock.java +++ b/src/main/java/dev/galacticraft/mod/content/block/special/CryogenicChamberBlock.java @@ -32,7 +32,6 @@ import net.minecraft.core.Direction; import net.minecraft.network.chat.Component; import net.minecraft.util.RandomSource; -import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; @@ -164,12 +163,12 @@ public BlockEntity newBlockEntity(BlockPos blockPos, BlockState blockState) { } @Override - public InteractionResult use(BlockState blockState, Level level, BlockPos blockPos, Player player, InteractionHand interactionHand, BlockHitResult blockHitResult) { - return this.onMultiBlockUse(blockState, level, blockPos, player, interactionHand, blockHitResult); + protected InteractionResult useWithoutItem(BlockState state, Level level, BlockPos pos, Player player, BlockHitResult hit) { + return this.multiBlockUseWithoutItem(state, level, pos, player); } @Override - public InteractionResult onMultiBlockUse(BlockState blockState, Level level, BlockPos basePos, Player player, InteractionHand interactionHand, BlockHitResult blockHitResult) { + public InteractionResult multiBlockUseWithoutItem(BlockState baseState, Level level, BlockPos basePos, Player player) { if (level.isClientSide()) return InteractionResult.CONSUME; if(player.getCryogenicChamberCooldown() == 0) { diff --git a/src/main/java/dev/galacticraft/mod/content/block/special/CryogenicChamberPart.java b/src/main/java/dev/galacticraft/mod/content/block/special/CryogenicChamberPart.java index 982286c15b..8469ca83f4 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/special/CryogenicChamberPart.java +++ b/src/main/java/dev/galacticraft/mod/content/block/special/CryogenicChamberPart.java @@ -27,7 +27,6 @@ import dev.galacticraft.mod.content.GCBlocks; import dev.galacticraft.mod.content.block.entity.CryogenicChamberPartBlockEntity; import net.minecraft.core.BlockPos; -import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; @@ -104,8 +103,8 @@ public BlockState playerWillDestroy(Level level, BlockPos blockPos, BlockState b } @Override - public InteractionResult use(BlockState blockState, Level level, BlockPos blockPos, Player player, InteractionHand interactionHand, BlockHitResult blockHitResult) { - var partBE = level.getBlockEntity(blockPos); + protected InteractionResult useWithoutItem(BlockState state, Level level, BlockPos pos, Player player, BlockHitResult hit) { + var partBE = level.getBlockEntity(pos); var be = (CryogenicChamberPartBlockEntity) partBE; if (be == null || be.basePos == BlockPos.ZERO) return InteractionResult.CONSUME; @@ -117,7 +116,7 @@ public InteractionResult use(BlockState blockState, Level level, BlockPos blockP if (baseState.isAir()) return InteractionResult.PASS; var block = (MultiBlockBase) baseState.getBlock(); - return block.onMultiBlockUse(blockState, level, basePos, player, interactionHand, blockHitResult); + return block.multiBlockUseWithoutItem(baseState, level, basePos, player); } @Override diff --git a/src/main/java/dev/galacticraft/mod/content/block/special/MoonCheeseBlock.java b/src/main/java/dev/galacticraft/mod/content/block/special/MoonCheeseBlock.java index e3f8959fd1..ea025d2c5d 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/special/MoonCheeseBlock.java +++ b/src/main/java/dev/galacticraft/mod/content/block/special/MoonCheeseBlock.java @@ -29,7 +29,10 @@ import net.minecraft.tags.ItemTags; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; +import net.minecraft.world.ItemInteractionResult; import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; import net.minecraft.world.level.LevelAccessor; import net.minecraft.world.level.block.Block; @@ -46,34 +49,33 @@ public MoonCheeseBlock(BlockBehaviour.Properties properties) { } @Override - public InteractionResult use(BlockState blockState, Level level, BlockPos blockPos, Player player, InteractionHand interactionHand, BlockHitResult blockHitResult) { - var itemStack = player.getItemInHand(interactionHand); - var item = itemStack.getItem(); - - if (itemStack.is(ItemTags.CANDLES) && blockState.getValue(BITES) == 0) { - var block = Block.byItem(item); - - if (block instanceof CandleBlock) { - if (!player.isCreative()) { - itemStack.shrink(1); - } - level.playSound(null, blockPos, SoundEvents.CAKE_ADD_CANDLE, SoundSource.BLOCKS, 1.0F, 1.0F); - level.setBlockAndUpdate(blockPos, CandleMoonCheeseBlock.byCandle(block)); - level.gameEvent(player, GameEvent.BLOCK_CHANGE, blockPos); - player.awardStat(Stats.ITEM_USED.get(item)); + protected InteractionResult useWithoutItem(BlockState state, Level world, BlockPos pos, Player player, BlockHitResult hit) { + if (world.isClientSide) { + if (eat(world, pos, state, player).consumesAction()) { return InteractionResult.SUCCESS; } - } - if (level.isClientSide) { - if (eat(level, blockPos, blockState, player).consumesAction()) { - return InteractionResult.SUCCESS; - } - if (itemStack.isEmpty()) { + if (player.getItemInHand(InteractionHand.MAIN_HAND).isEmpty()) { return InteractionResult.CONSUME; } } - return eat(level, blockPos, blockState, player); + + return eat(world, pos, state, player); + } + + @Override + protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hit) { + Item item = stack.getItem(); + if (stack.is(ItemTags.CANDLES) && state.getValue(BITES) == 0 && Block.byItem(item) instanceof CandleBlock candleBlock) { + stack.consume(1, player); + level.playSound(null, pos, SoundEvents.CAKE_ADD_CANDLE, SoundSource.BLOCKS, 1.0F, 1.0F); + level.setBlockAndUpdate(pos, CandleMoonCheeseBlock.byCandle(candleBlock)); + level.gameEvent(player, GameEvent.BLOCK_CHANGE, pos); + player.awardStat(Stats.ITEM_USED.get(item)); + return ItemInteractionResult.SUCCESS; + } else { + return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; + } } public static InteractionResult eat(LevelAccessor levelAccessor, BlockPos blockPos, BlockState blockState, Player player) { diff --git a/src/main/java/dev/galacticraft/mod/content/block/special/ParaChestBlock.java b/src/main/java/dev/galacticraft/mod/content/block/special/ParaChestBlock.java index 766a3a2ada..f3e5fd4bfe 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/special/ParaChestBlock.java +++ b/src/main/java/dev/galacticraft/mod/content/block/special/ParaChestBlock.java @@ -27,13 +27,16 @@ import dev.galacticraft.mod.content.block.GCBlock; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; -import net.minecraft.nbt.CompoundTag; -import net.minecraft.world.*; +import net.minecraft.core.component.DataComponents; +import net.minecraft.world.Container; +import net.minecraft.world.Containers; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.MenuProvider; import net.minecraft.world.entity.item.ItemEntity; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.BlockItem; import net.minecraft.world.item.DyeColor; import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.component.BlockItemStateProperties; import net.minecraft.world.item.context.BlockPlaceContext; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.Level; @@ -83,10 +86,8 @@ public BlockState getStateForPlacement(BlockPlaceContext blockPlaceContext) { @Override public BlockState playerWillDestroy(Level level, BlockPos blockPos, BlockState blockState, Player player) { if (!level.isClientSide) { - CompoundTag stateTag = new CompoundTag(); - stateTag.putString(COLOR_TAG, blockState.getValue(COLOR).getName()); ItemStack parachest = new ItemStack(this); - parachest.addTagElement(BlockItem.BLOCK_STATE_TAG, stateTag); + parachest.set(DataComponents.BLOCK_STATE, BlockItemStateProperties.EMPTY.with(COLOR, blockState.getValue(COLOR))); ItemEntity itemEntity = new ItemEntity(level, blockPos.getX(), blockPos.getY(), blockPos.getZ(), parachest); itemEntity.setDefaultPickUpDelay(); level.addFreshEntity(itemEntity); @@ -108,11 +109,11 @@ public void onRemove(BlockState blockState, Level level, BlockPos blockPos, Bloc } @Override - public InteractionResult use(BlockState blockState, Level level, BlockPos blockPos, Player player, InteractionHand interactionHand, BlockHitResult blockHitResult) { + protected InteractionResult useWithoutItem(BlockState state, Level level, BlockPos pos, Player player, BlockHitResult hit) { if (level.isClientSide) { return InteractionResult.SUCCESS; } else { - MenuProvider menuProvider = this.getMenuProvider(blockState, level, blockPos); + MenuProvider menuProvider = this.getMenuProvider(state, level, pos); if (menuProvider != null) { player.openMenu(menuProvider); player.awardStat(GCStats.OPEN_PARACHEST); diff --git a/src/main/java/dev/galacticraft/mod/content/block/special/ParaChestBlockEntity.java b/src/main/java/dev/galacticraft/mod/content/block/special/ParaChestBlockEntity.java index 311e727b99..8099f47c31 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/special/ParaChestBlockEntity.java +++ b/src/main/java/dev/galacticraft/mod/content/block/special/ParaChestBlockEntity.java @@ -37,22 +37,21 @@ import net.fabricmc.fabric.api.transfer.v1.transaction.Transaction; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; import net.minecraft.core.NonNullList; import net.minecraft.nbt.CompoundTag; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.chat.Component; import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.ContainerHelper; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.inventory.AbstractContainerMenu; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.level.Level; import net.minecraft.world.level.block.entity.RandomizableContainerBlockEntity; import net.minecraft.world.level.block.state.BlockState; import org.jetbrains.annotations.Nullable; @SuppressWarnings("UnstableApiUsage") -public class ParaChestBlockEntity extends RandomizableContainerBlockEntity implements SidedStorageBlockEntity, ExtendedScreenHandlerFactory, ScalableFuelLevel { +public class ParaChestBlockEntity extends RandomizableContainerBlockEntity implements SidedStorageBlockEntity, ExtendedScreenHandlerFactory, ScalableFuelLevel { public final SingleFluidStorage tank = SingleFluidStorage.withFixedCapacity(FluidConstants.BUCKET * 5, () -> { }); @@ -63,15 +62,17 @@ public ParaChestBlockEntity(BlockPos blockPos, BlockState blockState) { } @Override - public void load(CompoundTag compoundTag) { + protected void loadAdditional(CompoundTag nbt, HolderLookup.Provider registryLookup) { + super.loadAdditional(nbt, registryLookup); this.inventory = NonNullList.withSize(this.getContainerSize(), ItemStack.EMPTY); - this.tank.readNbt(compoundTag); + this.tank.readNbt(nbt, registryLookup); } @Override - protected void saveAdditional(CompoundTag compoundTag) { - ContainerHelper.saveAllItems(compoundTag, this.inventory); - this.tank.writeNbt(compoundTag); + protected void saveAdditional(CompoundTag nbt, HolderLookup.Provider registryLookup) { + super.saveAdditional(nbt, registryLookup); + ContainerHelper.saveAllItems(nbt, this.inventory, registryLookup); + this.tank.writeNbt(nbt, registryLookup); } @Override @@ -104,12 +105,6 @@ public int getContainerSize() { return this.inventory.size(); } - @Override - public void writeScreenOpeningData(ServerPlayer player, FriendlyByteBuf buf) { - buf.writeBoolean(true); - buf.writeBlockPos(getBlockPos()); - } - @Override public int getScaledFuelLevel(int scale) { final double fuelLevel = this.tank.getResource().isBlank() ? 0 : this.tank.getAmount(); @@ -127,4 +122,9 @@ public void tick() { } } } + + @Override + public ParachestMenu.OpeningData getScreenOpeningData(ServerPlayer player) { + return new ParachestMenu.OpeningData(this.getBlockPos()); + } } \ No newline at end of file diff --git a/src/main/java/dev/galacticraft/mod/content/block/special/RocketWorkbench.java b/src/main/java/dev/galacticraft/mod/content/block/special/RocketWorkbench.java index f55c0efeed..54b8cbcf45 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/special/RocketWorkbench.java +++ b/src/main/java/dev/galacticraft/mod/content/block/special/RocketWorkbench.java @@ -25,7 +25,6 @@ import com.mojang.serialization.MapCodec; import dev.galacticraft.mod.content.block.entity.RocketWorkbenchBlockEntity; import net.minecraft.core.BlockPos; -import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.player.Player; import net.minecraft.world.level.Level; @@ -53,7 +52,7 @@ public RenderShape getRenderShape(BlockState blockState) { } @Override - public InteractionResult use(BlockState blockState, Level level, BlockPos pos, Player player, InteractionHand interactionHand, BlockHitResult blockHitResult) { + protected InteractionResult useWithoutItem(BlockState state, Level level, BlockPos pos, Player player, BlockHitResult hit) { if (!level.isClientSide) { BlockEntity entity = level.getBlockEntity(pos); if (entity instanceof RocketWorkbenchBlockEntity workbench) { diff --git a/src/main/java/dev/galacticraft/mod/content/block/special/SolarPanelPartBlock.java b/src/main/java/dev/galacticraft/mod/content/block/special/SolarPanelPartBlock.java index 94d1c4d9e0..fa3cb2e934 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/special/SolarPanelPartBlock.java +++ b/src/main/java/dev/galacticraft/mod/content/block/special/SolarPanelPartBlock.java @@ -27,7 +27,6 @@ import dev.galacticraft.mod.content.GCBlocks; import dev.galacticraft.mod.content.block.entity.SolarPanelPartBlockEntity; import net.minecraft.core.BlockPos; -import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; @@ -121,14 +120,13 @@ public boolean isPossibleToRespawnInThis(BlockState blockState) { } @Override - public InteractionResult use(BlockState state, @NotNull Level world, BlockPos pos, Player player, InteractionHand hand, BlockHitResult blockHitResult) { - BlockEntity partEntity = world.getBlockEntity(pos); - if (world.isClientSide || world.isEmptyBlock(pos) || !(partEntity instanceof SolarPanelPartBlockEntity)) { - return InteractionResult.SUCCESS; + protected @NotNull InteractionResult useWithoutItem(BlockState state, Level level, BlockPos pos, Player player, BlockHitResult hit) { + if (level.isClientSide) return InteractionResult.SUCCESS; + if (level.getBlockEntity(pos) instanceof SolarPanelPartBlockEntity part) { + BlockPos basePos = part.basePos; + BlockState base = level.getBlockState(basePos); + return ((MultiBlockBase) base.getBlock()).multiBlockUseWithoutItem(base, level, basePos, player); } - - BlockPos basePos = ((SolarPanelPartBlockEntity) partEntity).basePos; - BlockState base = world.getBlockState(basePos); - return base.getBlock().use(base, world, basePos, player, hand, blockHitResult); + return InteractionResult.PASS; } } \ No newline at end of file diff --git a/src/main/java/dev/galacticraft/mod/content/block/special/TinLadderBlock.java b/src/main/java/dev/galacticraft/mod/content/block/special/TinLadderBlock.java index 3055a06934..541a618730 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/special/TinLadderBlock.java +++ b/src/main/java/dev/galacticraft/mod/content/block/special/TinLadderBlock.java @@ -25,7 +25,7 @@ import net.minecraft.core.BlockPos; import net.minecraft.sounds.SoundSource; import net.minecraft.world.InteractionHand; -import net.minecraft.world.InteractionResult; +import net.minecraft.world.ItemInteractionResult; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; @@ -43,7 +43,7 @@ public TinLadderBlock(BlockBehaviour.Properties properties) { } @Nullable - private InteractionResult checkCanTinLadderBePlaced(Level level, BlockPos checkPos, Player player, ItemStack itemStack, BlockState blockState) { + private ItemInteractionResult checkCanTinLadderBePlaced(Level level, BlockPos checkPos, Player player, ItemStack itemStack, BlockState blockState) { if (level.getBlockState(checkPos).canBeReplaced()) { var newState = this.defaultBlockState().setValue(FACING, blockState.getValue(FACING)); level.setBlockAndUpdate(checkPos, newState); @@ -53,38 +53,33 @@ private InteractionResult checkCanTinLadderBePlaced(Level level, BlockPos checkP if (!player.getAbilities().instabuild) { itemStack.shrink(1); } - return InteractionResult.sidedSuccess(level.isClientSide()); - } - else if (!level.getBlockState(checkPos).is(this)) { - return InteractionResult.PASS; + return ItemInteractionResult.SUCCESS; + } else if (!level.getBlockState(checkPos).is(this)) { + return ItemInteractionResult.SKIP_DEFAULT_BLOCK_INTERACTION; } return null; } @Override - public InteractionResult use(BlockState blockState, Level level, BlockPos blockPos, Player player, InteractionHand interactionHand, BlockHitResult blockHitResult) { - var itemStack = player.getItemInHand(interactionHand); - if (itemStack.is(this.asItem())) { + protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hit) { + if (stack.is(this.asItem())) { if (player.getXRot() < 0f) { - for (BlockPos checkPos = new BlockPos.MutableBlockPos(blockPos.getX(), blockPos.getY(), blockPos.getZ()); checkPos.getY() < level.getMaxBuildHeight(); checkPos = checkPos.offset(0, 1, 0)) - { - var result = this.checkCanTinLadderBePlaced(level, checkPos, player, itemStack, blockState); + for (BlockPos checkPos = new BlockPos.MutableBlockPos(pos.getX(), pos.getY(), pos.getZ()); checkPos.getY() < level.getMaxBuildHeight(); checkPos = checkPos.offset(0, 1, 0)) { + var result = this.checkCanTinLadderBePlaced(level, checkPos, player, stack, state); if (result != null) { return result; } } - } - else { - for (BlockPos checkPos = new BlockPos.MutableBlockPos(blockPos.getX(), blockPos.getY(), blockPos.getZ()); checkPos.getY() > level.getMinBuildHeight(); checkPos = checkPos.offset(0, -1, 0)) - { - var result = this.checkCanTinLadderBePlaced(level, checkPos, player, itemStack, blockState); + } else { + for (BlockPos checkPos = new BlockPos.MutableBlockPos(pos.getX(), pos.getY(), pos.getZ()); checkPos.getY() > level.getMinBuildHeight(); checkPos = checkPos.offset(0, -1, 0)) { + var result = this.checkCanTinLadderBePlaced(level, checkPos, player, stack, state); if (result != null) { return result; } } } } - return super.use(blockState, level, blockPos, player, interactionHand, blockHitResult); + return super.useItemOn(stack, state, level, pos, player, hand, hit); } @Override diff --git a/src/main/java/dev/galacticraft/mod/content/block/special/aluminumwire/tier1/AluminumWireBlock.java b/src/main/java/dev/galacticraft/mod/content/block/special/aluminumwire/tier1/AluminumWireBlock.java index 792aab1829..8dbf04fb66 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/special/aluminumwire/tier1/AluminumWireBlock.java +++ b/src/main/java/dev/galacticraft/mod/content/block/special/aluminumwire/tier1/AluminumWireBlock.java @@ -97,8 +97,8 @@ public void onPlace(BlockState blockState, Level level, BlockPos blockPos, Block } if (changed) { wire.setChanged(); + level.sendBlockUpdated(blockPos, blockState, blockState, Block.UPDATE_IMMEDIATE); } - level.sendBlockUpdated(blockPos, blockState, blockState, Block.UPDATE_IMMEDIATE); } } @@ -112,9 +112,9 @@ public void neighborChanged(BlockState blockState, Level level, BlockPos blockPo if (direction != null) { if (!level.isClientSide && wire.getConnections()[direction.ordinal()] != (wire.getConnections()[direction.ordinal()] = wire.canConnect(direction) && EnergyStorage.SIDED.find(level, neighborPos, direction.getOpposite()) != null)) { level.sendBlockUpdated(blockPos, blockState, blockState, Block.UPDATE_IMMEDIATE); + wire.setChanged(); } } - wire.setChanged(); } } diff --git a/src/main/java/dev/galacticraft/mod/content/block/special/fluidpipe/GlassFluidPipeBlock.java b/src/main/java/dev/galacticraft/mod/content/block/special/fluidpipe/GlassFluidPipeBlock.java index 0d7b42822f..89dbecc307 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/special/fluidpipe/GlassFluidPipeBlock.java +++ b/src/main/java/dev/galacticraft/mod/content/block/special/fluidpipe/GlassFluidPipeBlock.java @@ -25,16 +25,14 @@ import dev.galacticraft.mod.Constant; import dev.galacticraft.mod.api.block.FluidPipe; import dev.galacticraft.mod.api.block.entity.Connected; -import dev.galacticraft.mod.api.pipe.Pipe; import dev.galacticraft.mod.content.block.entity.networked.GlassFluidPipeBlockEntity; import dev.galacticraft.mod.content.item.StandardWrenchItem; import dev.galacticraft.mod.util.ConnectingBlockUtil; +import dev.galacticraft.mod.util.DirectionUtil; import dev.galacticraft.mod.util.FluidUtil; import net.minecraft.core.BlockPos; -import net.minecraft.core.Direction; -import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.InteractionHand; -import net.minecraft.world.InteractionResult; +import net.minecraft.world.ItemInteractionResult; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.DyeItem; @@ -72,67 +70,72 @@ public void setPlacedBy(Level level, BlockPos blockPos, BlockState blockState, @ if (stack.getItem() instanceof DyeItem dye && dye.getDyeColor() != glassPipe.getColor()) { glassPipe.setColor(dye.getDyeColor()); var copy = stack.copy(); - - if (livingEntity instanceof Player player && !player.getAbilities().instabuild) { - copy.shrink(1); - } + copy.consume(1, livingEntity); livingEntity.setItemInHand(interactionHand, copy); } } + + // Regular Stuff + var changed = false; for (var direction : Constant.Misc.DIRECTIONS) { - var otherBlockEntity = level.getBlockEntity(blockPos.relative(direction)); - glassPipe.getConnections()[direction.ordinal()] = (otherBlockEntity instanceof Pipe pipe && pipe.canConnect(direction.getOpposite())) || FluidUtil.canAccessFluid(level, blockPos.relative(direction), direction); + changed |= glassPipe.getConnections()[direction.ordinal()] = glassPipe.canConnect(direction) && FluidUtil.canAccessFluid(level, blockPos.relative(direction), direction); + } + if (changed) { + glassPipe.setChanged(); + level.sendBlockUpdated(blockPos, blockState, blockState, Block.UPDATE_IMMEDIATE); } - level.updateNeighborsAt(blockPos, blockState.getBlock()); } } @Override - public InteractionResult use(BlockState blockState, Level level, BlockPos blockPos, Player player, InteractionHand interactionHand, BlockHitResult blockHitResult) { - var itemStack = player.getItemInHand(interactionHand); - if (level.getBlockEntity(blockPos) instanceof GlassFluidPipeBlockEntity glassPipe) { - if (itemStack.getItem() instanceof DyeItem dye) { - var stack = itemStack.copy(); + protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hit) { + if (level.getBlockEntity(pos) instanceof GlassFluidPipeBlockEntity glassPipe) { + if (stack.getItem() instanceof DyeItem dye) { + var stack2 = stack.copy(); var color = dye.getDyeColor(); if (color != glassPipe.getColor()) { if (!player.getAbilities().instabuild) { - stack.shrink(1); + stack2.shrink(1); } - player.setItemInHand(interactionHand, stack); + player.setItemInHand(hand, stack2); glassPipe.setColor(color); - level.sendBlockUpdated(blockPos, blockState, blockState, Block.UPDATE_IMMEDIATE); - return InteractionResult.sidedSuccess(level.isClientSide()); - } - else { - return InteractionResult.PASS; + level.sendBlockUpdated(pos, state, state, Block.UPDATE_IMMEDIATE); + return ItemInteractionResult.SUCCESS; + } else { + return ItemInteractionResult.SKIP_DEFAULT_BLOCK_INTERACTION; } - } else if (itemStack.getItem() instanceof StandardWrenchItem) { - var stack = itemStack.copy(); + } else if (stack.getItem() instanceof StandardWrenchItem) { + var stack2 = stack.copy(); - if (!player.getAbilities().instabuild) { - stack.hurt(1, level.random, player instanceof ServerPlayer ? ((ServerPlayer) player) : null); - } + stack2.hurtAndBreak(1, player, LivingEntity.getSlotForHand(hand)); - player.setItemInHand(interactionHand, stack); + player.setItemInHand(hand, stack2); glassPipe.setPull(!glassPipe.isPull()); - return InteractionResult.sidedSuccess(level.isClientSide()); + return ItemInteractionResult.SUCCESS; } } - return super.use(blockState, level, blockPos, player, interactionHand, blockHitResult); + + return super.useItemOn(stack, state, level, pos, player, hand, hit); } @Override public void neighborChanged(BlockState blockState, Level level, BlockPos blockPos, Block block, BlockPos fromPos, boolean notify) { super.neighborChanged(blockState, level, blockPos, block, fromPos, notify); - var neighborState = level.getBlockState(fromPos); - var delta = fromPos.subtract(blockPos); - var direction = Direction.fromDelta(delta.getX(), delta.getY(), delta.getZ()); - - if (direction != null && level.getBlockEntity(blockPos) instanceof GlassFluidPipeBlockEntity glassPipe) { - var otherBlockEntity = level.getBlockEntity(fromPos); - glassPipe.getConnections()[direction.ordinal()] = !neighborState.isAir() && ((otherBlockEntity instanceof Pipe pipe && pipe.canConnect(direction.getOpposite())) || FluidUtil.canAccessFluid(level, fromPos, direction)); - level.sendBlockUpdated(blockPos, blockState, blockState, Block.UPDATE_IMMEDIATE); + + if (level.getBlockEntity(blockPos) instanceof PipeBlockEntity glassPipe) { + var direction = DirectionUtil.fromNormal(fromPos.getX() - blockPos.getX(), fromPos.getY() - blockPos.getY(), fromPos.getZ() - blockPos.getZ()); + + if (direction != null) { + if (!level.isClientSide + && glassPipe.getConnections()[direction.ordinal()] + != (glassPipe.getConnections()[direction.ordinal()] + = glassPipe.canConnect(direction) && FluidUtil.canAccessFluid(level, fromPos, direction)) + ) { + level.sendBlockUpdated(blockPos, blockState, blockState, Block.UPDATE_IMMEDIATE); + glassPipe.setChanged(); + } + } } } diff --git a/src/main/java/dev/galacticraft/mod/content/block/special/fluidpipe/PipeBlockEntity.java b/src/main/java/dev/galacticraft/mod/content/block/special/fluidpipe/PipeBlockEntity.java index d44c9d3983..d922a0c1de 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/special/fluidpipe/PipeBlockEntity.java +++ b/src/main/java/dev/galacticraft/mod/content/block/special/fluidpipe/PipeBlockEntity.java @@ -25,6 +25,7 @@ import dev.galacticraft.mod.api.pipe.Pipe; import dev.galacticraft.mod.api.pipe.PipeNetwork; import dev.galacticraft.mod.api.pipe.impl.PipeNetworkImpl; +import dev.galacticraft.mod.util.FluidUtil; import net.fabricmc.fabric.api.transfer.v1.fluid.FluidVariant; import net.fabricmc.fabric.api.transfer.v1.storage.Storage; import net.fabricmc.fabric.api.transfer.v1.storage.StoragePreconditions; @@ -32,15 +33,16 @@ import net.fabricmc.fabric.api.transfer.v1.transaction.TransactionContext; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.protocol.game.ClientboundBlockEntityDataPacket; import net.minecraft.server.level.ServerLevel; import net.minecraft.world.item.DyeColor; +import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; import org.jetbrains.annotations.Nullable; -import team.reborn.energy.api.EnergyStorage; import java.util.Collections; import java.util.Iterator; @@ -103,7 +105,7 @@ public boolean[] getConnections() { @Override public void updateConnection(BlockState state, BlockPos pos, BlockPos neighborPos, Direction direction) { - boolean connected = this.canConnect(direction) && EnergyStorage.SIDED.find(this.level, neighborPos, direction.getOpposite()) != null; + boolean connected = this.canConnect(direction) && FluidUtil.canAccessFluid(this.level, neighborPos, direction); if (this.connections[direction.get3DDataValue()] != connected) { this.connections[direction.get3DDataValue()] = connected; this.level.sendBlockUpdated(pos, state, state, 0); @@ -138,7 +140,7 @@ public boolean supportsExtraction() { @Override public boolean supportsInsertion() { - return true; + return this.maxTransferRate > 0; } @Override @@ -157,15 +159,19 @@ public void setColor(DyeColor color) { } @Override - public void load(CompoundTag nbt) { - super.load(nbt); + protected void loadAdditional(CompoundTag nbt, HolderLookup.Provider registryLookup) { + super.loadAdditional(nbt, registryLookup); this.readColorNbt(nbt); this.readConnectionNbt(nbt); + + if (this.level != null && this.level.isClientSide) { + this.level.sendBlockUpdated(this.getBlockPos(), this.getBlockState(), this.getBlockState(), Block.UPDATE_IMMEDIATE); + } } @Override - public void saveAdditional(CompoundTag nbt) { - super.saveAdditional(nbt); + protected void saveAdditional(CompoundTag nbt, HolderLookup.Provider registryLookup) { + super.saveAdditional(nbt, registryLookup); this.writeColorNbt(nbt); this.writeConnectionNbt(nbt); } @@ -176,7 +182,7 @@ public ClientboundBlockEntityDataPacket getUpdatePacket() { } @Override - public CompoundTag getUpdateTag() { - return this.saveWithoutMetadata(); + public CompoundTag getUpdateTag(HolderLookup.Provider registryLookup) { + return this.saveWithoutMetadata(registryLookup); } } \ No newline at end of file diff --git a/src/main/java/dev/galacticraft/mod/content/block/special/launchpad/AbstractLaunchPad.java b/src/main/java/dev/galacticraft/mod/content/block/special/launchpad/AbstractLaunchPad.java index ff1c22231d..144592f99a 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/special/launchpad/AbstractLaunchPad.java +++ b/src/main/java/dev/galacticraft/mod/content/block/special/launchpad/AbstractLaunchPad.java @@ -22,9 +22,8 @@ package dev.galacticraft.mod.content.block.special.launchpad; -import com.mojang.serialization.MapCodec; -import org.jetbrains.annotations.Nullable; import com.mojang.datafixers.util.Pair; +import com.mojang.serialization.MapCodec; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.util.StringRepresentable; @@ -35,13 +34,13 @@ import net.minecraft.world.level.block.BaseEntityBlock; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.RenderShape; -import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.StateDefinition; import net.minecraft.world.level.block.state.properties.EnumProperty; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.Shapes; import net.minecraft.world.phys.shapes.VoxelShape; +import org.jetbrains.annotations.Nullable; public abstract class AbstractLaunchPad extends BaseEntityBlock { diff --git a/src/main/java/dev/galacticraft/mod/content/block/special/launchpad/LaunchPadBlockEntity.java b/src/main/java/dev/galacticraft/mod/content/block/special/launchpad/LaunchPadBlockEntity.java index ff7eef7c7b..f16eca35d1 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/special/launchpad/LaunchPadBlockEntity.java +++ b/src/main/java/dev/galacticraft/mod/content/block/special/launchpad/LaunchPadBlockEntity.java @@ -28,6 +28,7 @@ import dev.galacticraft.mod.api.entity.Dockable; import dev.galacticraft.mod.content.GCBlockEntityTypes; import net.minecraft.core.BlockPos; +import net.minecraft.core.HolderLookup; import net.minecraft.nbt.CompoundTag; import net.minecraft.server.level.ServerLevel; import net.minecraft.util.ByIdMap; @@ -88,14 +89,14 @@ public boolean hasDockedEntity() { } @Override - public void load(CompoundTag tag) { - super.load(tag); + protected void loadAdditional(CompoundTag nbt, HolderLookup.Provider registryLookup) { + super.loadAdditional(nbt, registryLookup); this.entityUUID = null; this.docked = null; - this.type = Type.byName(tag.getString(TYPE)); + this.type = Type.byName(nbt.getString(TYPE)); - if (tag.contains(Constant.Nbt.ROCKET_UUID)) { - this.entityUUID = tag.getUUID(Constant.Nbt.ROCKET_UUID); + if (nbt.contains(Constant.Nbt.ROCKET_UUID)) { + this.entityUUID = nbt.getUUID(Constant.Nbt.ROCKET_UUID); if (this.level instanceof ServerLevel) { this.docked = (Rocket) ((ServerLevel) this.level).getEntity(this.entityUUID); } @@ -103,18 +104,18 @@ public void load(CompoundTag tag) { } @Override - public void saveAdditional(CompoundTag tag) { - if (this.entityUUID != null) tag.putUUID(ENTITY_UUID, entityUUID); - tag.putString(TYPE, type.getSerializedName()); - super.saveAdditional(tag); + protected void saveAdditional(CompoundTag nbt, HolderLookup.Provider registryLookup) { + if (this.entityUUID != null) nbt.putUUID(ENTITY_UUID, entityUUID); + nbt.putString(TYPE, type.getSerializedName()); + super.saveAdditional(nbt, registryLookup); } @Override - public CompoundTag getUpdateTag() { - CompoundTag tag = super.getUpdateTag(); - if (this.entityUUID != null) tag.putUUID(ENTITY_UUID, this.entityUUID); - tag.putString(TYPE, type.getSerializedName()); - return tag; + public CompoundTag getUpdateTag(HolderLookup.Provider registryLookup) { + CompoundTag nbt = super.getUpdateTag(registryLookup); + if (this.entityUUID != null) nbt.putUUID(ENTITY_UUID, this.entityUUID); + nbt.putString(TYPE, type.getSerializedName()); + return nbt; } public UUID getDockedUUID() { diff --git a/src/main/java/dev/galacticraft/mod/content/block/special/walkway/FluidPipeWalkway.java b/src/main/java/dev/galacticraft/mod/content/block/special/walkway/FluidPipeWalkway.java index 52eb90db3c..c0ca43e9e4 100644 --- a/src/main/java/dev/galacticraft/mod/content/block/special/walkway/FluidPipeWalkway.java +++ b/src/main/java/dev/galacticraft/mod/content/block/special/walkway/FluidPipeWalkway.java @@ -38,7 +38,7 @@ import net.minecraft.core.Direction; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.world.InteractionHand; -import net.minecraft.world.InteractionResult; +import net.minecraft.world.ItemInteractionResult; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.DyeItem; @@ -102,29 +102,26 @@ public BlockState getStateForPlacement(BlockPlaceContext context) { } @Override - public InteractionResult use(BlockState blockState, Level level, BlockPos blockPos, Player player, InteractionHand interactionHand, BlockHitResult blockHitResult) { - var itemStack = player.getItemInHand(interactionHand); - if (level.getBlockEntity(blockPos) instanceof FluidPipeWalkwayBlockEntity walkway) { - if (itemStack.getItem() instanceof DyeItem dye) { - var stack = itemStack.copy(); + protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hit) { + if (level.getBlockEntity(pos) instanceof FluidPipeWalkwayBlockEntity walkway) { + if (stack.getItem() instanceof DyeItem dye) { + var stack2 = stack.copy(); var color = dye.getDyeColor(); if (color != walkway.getColor()) { - if (!player.getAbilities().instabuild) { - stack.shrink(1); - } - player.setItemInHand(interactionHand, stack); + stack2.consume(1, player); + player.setItemInHand(hand, stack2); walkway.setColor(color); - level.sendBlockUpdated(blockPos, blockState, blockState, Block.UPDATE_IMMEDIATE); - return InteractionResult.sidedSuccess(level.isClientSide()); - } - else { - return InteractionResult.PASS; + level.sendBlockUpdated(pos, state, state, Block.UPDATE_IMMEDIATE); + return ItemInteractionResult.SUCCESS; + } else { + return ItemInteractionResult.SKIP_DEFAULT_BLOCK_INTERACTION; } } } - return super.use(blockState, level, blockPos, player, interactionHand, blockHitResult); + return super.useItemOn(stack, state, level, pos, player, hand, hit); } + @Override public void setPlacedBy(Level level, BlockPos blockPos, BlockState blockState, @Nullable LivingEntity livingEntity, ItemStack itemStack) { super.setPlacedBy(level, blockPos, blockState, livingEntity, itemStack); diff --git a/src/main/java/dev/galacticraft/mod/content/entity/BubbleEntity.java b/src/main/java/dev/galacticraft/mod/content/entity/BubbleEntity.java index 80859c7cfd..ceca63b70a 100644 --- a/src/main/java/dev/galacticraft/mod/content/entity/BubbleEntity.java +++ b/src/main/java/dev/galacticraft/mod/content/entity/BubbleEntity.java @@ -24,26 +24,19 @@ import dev.galacticraft.mod.content.block.entity.machine.OxygenBubbleDistributorBlockEntity; import net.minecraft.nbt.CompoundTag; -import net.minecraft.network.protocol.Packet; -import net.minecraft.network.protocol.game.ClientGamePacketListener; -import net.minecraft.network.protocol.game.ClientboundAddEntityPacket; +import net.minecraft.network.syncher.SynchedEntityData; import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityType; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.state.BlockState; -import org.jetbrains.annotations.NotNull; public class BubbleEntity extends Entity { public BubbleEntity(EntityType type, Level world) { super(type, world); } - @Override - protected void defineSynchedData() { - } - @Override protected void readAdditionalSaveData(CompoundTag tag) { } @@ -52,10 +45,6 @@ protected void readAdditionalSaveData(CompoundTag tag) { protected void addAdditionalSaveData(CompoundTag tag) { } - @Override - protected void handleNetherPortal() { - } - @Override public void tick() { this.baseTick(); @@ -111,11 +100,6 @@ public boolean dismountsUnderwater() { return true; } - @Override - public boolean canChangeDimensions() { - return false; - } - @Override public boolean isPushedByFluid() { return false; @@ -127,11 +111,12 @@ public boolean isSpectator() { } @Override - public void lavaHurt() { + protected void defineSynchedData(SynchedEntityData.Builder compositeStateBuilder) { + } @Override - public void setSecondsOnFire(int seconds) { + public void lavaHurt() { } @Override @@ -229,9 +214,4 @@ public boolean shouldRenderAtSqrDistance(double distance) { public boolean shouldShowName() { return false; } - - @Override - public @NotNull Packet getAddEntityPacket() { - return new ClientboundAddEntityPacket(this); - } } diff --git a/src/main/java/dev/galacticraft/mod/content/entity/Buggy.java b/src/main/java/dev/galacticraft/mod/content/entity/Buggy.java index db68a52987..3ff7cc08db 100644 --- a/src/main/java/dev/galacticraft/mod/content/entity/Buggy.java +++ b/src/main/java/dev/galacticraft/mod/content/entity/Buggy.java @@ -30,7 +30,6 @@ import net.fabricmc.fabric.api.transfer.v1.fluid.FluidVariant; import net.fabricmc.fabric.api.transfer.v1.fluid.base.SingleFluidStorage; import net.fabricmc.fabric.api.transfer.v1.storage.Storage; -import net.minecraft.core.NonNullList; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.syncher.EntityDataAccessor; import net.minecraft.network.syncher.EntityDataSerializers; @@ -46,7 +45,6 @@ import net.minecraft.world.level.Level; import net.minecraft.world.level.material.Fluid; import net.minecraft.world.phys.Vec3; -import org.jetbrains.annotations.Nullable; import java.util.function.IntFunction; @@ -72,9 +70,9 @@ public Buggy(EntityType entityType, Level level) { } @Override - protected void defineSynchedData() { - super.defineSynchedData(); - this.entityData.define(DATA_TYPE_ID, 0); + protected void defineSynchedData(SynchedEntityData.Builder builder) { + super.defineSynchedData(builder); + builder.define(DATA_TYPE_ID, 0); createInventory(); } diff --git a/src/main/java/dev/galacticraft/mod/content/entity/EvolvedCreeperEntity.java b/src/main/java/dev/galacticraft/mod/content/entity/EvolvedCreeperEntity.java index 1aca4ebc70..9b0c70eac6 100644 --- a/src/main/java/dev/galacticraft/mod/content/entity/EvolvedCreeperEntity.java +++ b/src/main/java/dev/galacticraft/mod/content/entity/EvolvedCreeperEntity.java @@ -27,9 +27,9 @@ import net.minecraft.network.syncher.EntityDataAccessor; import net.minecraft.network.syncher.EntityDataSerializers; import net.minecraft.network.syncher.SynchedEntityData; +import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvent; import net.minecraft.world.damagesource.DamageSource; -import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityDimensions; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.Pose; @@ -39,21 +39,21 @@ import net.minecraft.world.entity.monster.Creeper; import net.minecraft.world.level.Level; -import java.util.UUID; - public class EvolvedCreeperEntity extends Creeper { private static final EntityDataAccessor BABY = SynchedEntityData.defineId(EvolvedCreeperEntity.class, EntityDataSerializers.BOOLEAN); - private static final UUID BABY_SPEED_ID = UUID.fromString("B9766B59-9566-4402-BC1F-2EE2A276D836"); - private static final AttributeModifier BABY_SPEED_BONUS = new AttributeModifier(BABY_SPEED_ID, "Baby speed boost", 0.8D, AttributeModifier.Operation.MULTIPLY_BASE); + private static final ResourceLocation SPEED_MODIFIER_BABY_ID = ResourceLocation.withDefaultNamespace("baby"); + private static final AttributeModifier BABY_SPEED_BONUS = new AttributeModifier( + SPEED_MODIFIER_BABY_ID, 0.8D, AttributeModifier.Operation.ADD_MULTIPLIED_BASE + ); public EvolvedCreeperEntity(EntityType entityType, Level world) { super(entityType, world); } @Override - protected void defineSynchedData() { - super.defineSynchedData(); - this.entityData.define(BABY, false); + protected void defineSynchedData(SynchedEntityData.Builder compositeStateBuilder) { + super.defineSynchedData(compositeStateBuilder); + compositeStateBuilder.define(BABY, false); } public void tick() { @@ -86,21 +86,22 @@ public boolean isBaby() { return this.entityData.get(BABY); } + @Override public void setBaby(boolean baby) { this.getEntityData().set(BABY, baby); - if (this.level() != null && !this.level().isClientSide) { - AttributeInstance entityAttributeInstance = this.getAttribute(Attributes.MOVEMENT_SPEED); - entityAttributeInstance.removeModifier(BABY_SPEED_ID); + if (!this.level().isClientSide) { + AttributeInstance attributeInstance = this.getAttribute(Attributes.MOVEMENT_SPEED); + attributeInstance.removeModifier(SPEED_MODIFIER_BABY_ID); if (baby) { - entityAttributeInstance.addTransientModifier(BABY_SPEED_BONUS); + attributeInstance.addTransientModifier(BABY_SPEED_BONUS); } } } @Override - public EntityDimensions getDimensions(Pose pose) { + protected EntityDimensions getDefaultDimensions(Pose pose) { if (this.isBaby()) { - return this.getType().getDimensions().scale(0.75F, 0.5F); + return this.getType().getDimensions().scale(0.75F, 0.5F).withEyeHeight(0.75F); } else { return this.getType().getDimensions(); } @@ -113,14 +114,4 @@ public void onSyncedDataUpdated(EntityDataAccessor data) { } super.onSyncedDataUpdated(data); } - - @Override - protected float getStandingEyeHeight(Pose pose, EntityDimensions dimensions) { - return this.isBaby() ? 0.75F : 1.4F; - } - - @Override - public float getMyRidingOffset(Entity entity) { - return this.isBaby() ? 0.0F : -0.45F; - } } diff --git a/src/main/java/dev/galacticraft/mod/content/entity/GCVehicle.java b/src/main/java/dev/galacticraft/mod/content/entity/GCVehicle.java index 288dc3ebed..16fb424962 100644 --- a/src/main/java/dev/galacticraft/mod/content/entity/GCVehicle.java +++ b/src/main/java/dev/galacticraft/mod/content/entity/GCVehicle.java @@ -22,10 +22,10 @@ package dev.galacticraft.mod.content.entity; +import net.minecraft.core.component.DataComponents; import net.minecraft.network.syncher.EntityDataAccessor; import net.minecraft.network.syncher.EntityDataSerializers; import net.minecraft.network.syncher.SynchedEntityData; -import net.minecraft.util.Mth; import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityType; @@ -103,7 +103,7 @@ public void destroy(ItemStack selfAsItem) { if (!selfAsItem.isEmpty()) { if (this.level().getGameRules().getBoolean(GameRules.RULE_DOENTITYDROPS)) { if (this.hasCustomName()) { - selfAsItem.setHoverName(this.getCustomName()); + selfAsItem.set(DataComponents.CUSTOM_NAME, this.getCustomName()); } this.spawnAtLocation(selfAsItem); @@ -112,10 +112,10 @@ public void destroy(ItemStack selfAsItem) { } @Override - protected void defineSynchedData() { - this.entityData.define(DATA_ID_HURT, 0); - this.entityData.define(DATA_ID_HURTDIR, 1); - this.entityData.define(DATA_ID_DAMAGE, 0.0F); + protected void defineSynchedData(SynchedEntityData.Builder builder) { + builder.define(DATA_ID_HURT, 0); + builder.define(DATA_ID_HURTDIR, 1); + builder.define(DATA_ID_DAMAGE, 0.0F); } public void setHurtTime(int damageWobbleTicks) { diff --git a/src/main/java/dev/galacticraft/mod/content/entity/GreyEntity.java b/src/main/java/dev/galacticraft/mod/content/entity/GreyEntity.java index 80ea1518d4..45ebb02652 100644 --- a/src/main/java/dev/galacticraft/mod/content/entity/GreyEntity.java +++ b/src/main/java/dev/galacticraft/mod/content/entity/GreyEntity.java @@ -54,7 +54,7 @@ public GreyEntity(EntityType entityType, Level level) { @Override protected void registerGoals() { // this.goalSelector.addGoal(0, new RandomLookAroundGoal(this)); - this.followPlayerGoal = new FollowPlayerGoal(this, 10.0F, 0.8); + this.followPlayerGoal = new FollowPlayerGoal(this, 10.0F, 3.0f, 0.8f); this.greyAvoidEntityGoal = new GreyAvoidEntityGoal<>(this, Player.class, 3.0f, 0.8, 1); this.goalSelector.addGoal(0, new LookAtPlayerGoal(this, Player.class, 15F)); this.goalSelector.addGoal(0, this.followPlayerGoal); @@ -103,7 +103,7 @@ public static AttributeSupplier.Builder createAttributes() { .add(Attributes.MAX_HEALTH, 24.0) .add(Attributes.ATTACK_DAMAGE, 5.0) .add(GcApiEntityAttributes.CAN_BREATHE_IN_SPACE, 1.0D) - .add(GcApiEntityAttributes.LOCAL_GRAVITY_LEVEL, 0.9F); + .add(Attributes.GRAVITY, 0.9F); } static class GreyAvoidEntityGoal extends AvoidEntityGoal { diff --git a/src/main/java/dev/galacticraft/mod/content/entity/OliGrubEntity.java b/src/main/java/dev/galacticraft/mod/content/entity/OliGrubEntity.java index 59afa0e8ac..3a96fafd34 100644 --- a/src/main/java/dev/galacticraft/mod/content/entity/OliGrubEntity.java +++ b/src/main/java/dev/galacticraft/mod/content/entity/OliGrubEntity.java @@ -33,6 +33,7 @@ import net.minecraft.world.entity.animal.Animal; import net.minecraft.world.entity.monster.Monster; import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; import org.jetbrains.annotations.Nullable; @@ -41,6 +42,11 @@ public OliGrubEntity(EntityType entityType, Level level) { super(entityType, level); } + @Override + public boolean isFood(ItemStack stack) { + return false; + } + @Nullable @Override public AgeableMob getBreedOffspring(ServerLevel serverLevel, AgeableMob ageableMob) { diff --git a/src/main/java/dev/galacticraft/mod/content/entity/ParachestEntity.java b/src/main/java/dev/galacticraft/mod/content/entity/ParachestEntity.java index adbd18adce..459569b7c4 100644 --- a/src/main/java/dev/galacticraft/mod/content/entity/ParachestEntity.java +++ b/src/main/java/dev/galacticraft/mod/content/entity/ParachestEntity.java @@ -70,8 +70,8 @@ public ParachestEntity(EntityType entityType, Level level) { } @Override - protected void defineSynchedData() { - this.entityData.define(COLOR, (byte) DyeColor.WHITE.getId()); + protected void defineSynchedData(SynchedEntityData.Builder compositeStateBuilder) { + compositeStateBuilder.define(COLOR, (byte) DyeColor.WHITE.getId()); } @Override @@ -82,7 +82,7 @@ protected void readAdditionalSaveData(CompoundTag tag) { } this.cargo = NonNullList.withSize(size, ItemStack.EMPTY); - ContainerHelper.loadAllItems(tag, this.cargo); + ContainerHelper.loadAllItems(tag, this.cargo, this.level().registryAccess()); this.placedChest = tag.getBoolean("placedChest"); this.fuelLevel = tag.getLong("FuelLevel"); @@ -95,7 +95,7 @@ protected void readAdditionalSaveData(CompoundTag tag) { @Override protected void addAdditionalSaveData(CompoundTag tag) { tag.putInt("CargoLength", this.cargo.size()); - ContainerHelper.saveAllItems(tag, this.cargo); + ContainerHelper.saveAllItems(tag, this.cargo, this.level().registryAccess()); tag.putBoolean("placedChest", this.placedChest); tag.putLong("FuelLevel", this.fuelLevel); diff --git a/src/main/java/dev/galacticraft/mod/content/entity/ThrowableMeteorChunkEntity.java b/src/main/java/dev/galacticraft/mod/content/entity/ThrowableMeteorChunkEntity.java index ad6279634f..f24d3a645e 100644 --- a/src/main/java/dev/galacticraft/mod/content/entity/ThrowableMeteorChunkEntity.java +++ b/src/main/java/dev/galacticraft/mod/content/entity/ThrowableMeteorChunkEntity.java @@ -52,9 +52,9 @@ public ThrowableMeteorChunkEntity(LivingEntity shooter, Level level, boolean hot } @Override - protected void defineSynchedData() { - super.defineSynchedData(); - this.entityData.define(HOT, false); + protected void defineSynchedData(SynchedEntityData.Builder compositeStateBuilder) { + super.defineSynchedData(compositeStateBuilder); + compositeStateBuilder.define(HOT, false); } @Override @@ -96,7 +96,7 @@ protected void onHitEntity(EntityHitResult result) { super.onHitEntity(result); if (this.entityData.get(HOT)) { result.getEntity().hurt(this.damageSources().thrown(this, this.getOwner()), 4.0F); - result.getEntity().setSecondsOnFire(3); + result.getEntity().igniteForSeconds(3); } else { result.getEntity().hurt(this.damageSources().thrown(this, this.getOwner()), 2.0F); } diff --git a/src/main/java/dev/galacticraft/mod/content/entity/boss/AbstractBossEntity.java b/src/main/java/dev/galacticraft/mod/content/entity/boss/AbstractBossEntity.java index c522aaf3f5..e1cab1699d 100644 --- a/src/main/java/dev/galacticraft/mod/content/entity/boss/AbstractBossEntity.java +++ b/src/main/java/dev/galacticraft/mod/content/entity/boss/AbstractBossEntity.java @@ -24,7 +24,6 @@ import dev.galacticraft.mod.content.block.entity.DungeonSpawnerBlockEntity; import net.minecraft.network.chat.Component; -import net.minecraft.server.MinecraftServer; import net.minecraft.server.level.ServerBossEvent; import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.BossEvent; diff --git a/src/main/java/dev/galacticraft/mod/content/entity/boss/SkeletonBoss.java b/src/main/java/dev/galacticraft/mod/content/entity/boss/SkeletonBoss.java index 3c7d7813a2..0bfc765a3a 100644 --- a/src/main/java/dev/galacticraft/mod/content/entity/boss/SkeletonBoss.java +++ b/src/main/java/dev/galacticraft/mod/content/entity/boss/SkeletonBoss.java @@ -34,7 +34,10 @@ import net.minecraft.util.Mth; import net.minecraft.world.BossEvent; import net.minecraft.world.damagesource.DamageSource; -import net.minecraft.world.entity.*; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.EntitySelector; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.ai.attributes.AttributeSupplier; import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.entity.ai.goal.*; @@ -45,15 +48,12 @@ import net.minecraft.world.entity.monster.RangedAttackMob; import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.projectile.AbstractArrow; -import net.minecraft.world.entity.projectile.Arrow; import net.minecraft.world.entity.projectile.ProjectileUtil; -import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; import net.minecraft.world.level.Level; import net.minecraft.world.phys.Vec3; -import java.util.List; import java.util.Random; public class SkeletonBoss extends AbstractBossEntity implements RangedAttackMob, IgnoreShift { @@ -127,8 +127,8 @@ public void positionRider(Entity passenger, Entity.MoveFunction positionUpdater) final double offsetX = Math.sin(-this.getYHeadRot() / Constant.RADIANS_TO_DEGREES); final double offsetZ = Math.cos(this.getYHeadRot() / Constant.RADIANS_TO_DEGREES); final double offsetY = 2 * Math.cos((this.throwTimer + this.postThrowDelay) * 0.05F); - - positionUpdater.accept(passenger, vec3.x() + offsetX, vec3.y() + passenger.getMyRidingOffset(this) + offsetY, vec3.z() + offsetZ); + Vec3 point = passenger.getVehicleAttachmentPoint(this); + positionUpdater.accept(passenger, vec3.x() + offsetX, vec3.y() + point.y + offsetY, vec3.z() + offsetZ); } @Override @@ -172,11 +172,6 @@ protected SoundEvent getDeathSound() { // return EntitySkeletonBoss.defaultHeldItem; // } - @Override - public MobType getMobType() { - return MobType.UNDEAD; - } - @Override public void aiStep() { this.ticks++; @@ -286,8 +281,9 @@ public void performRangedAttack(LivingEntity target, float pullProgress) { return; } - ItemStack arrowItem = this.getProjectile(this.getItemInHand(ProjectileUtil.getWeaponHoldingHand(this, Items.BOW))); - AbstractArrow arrow = getArrow(arrowItem, pullProgress); + ItemStack itemInHand = this.getItemInHand(ProjectileUtil.getWeaponHoldingHand(this, Items.BOW)); + ItemStack arrowItem = this.getProjectile(itemInHand); + AbstractArrow arrow = getArrow(arrowItem, pullProgress, itemInHand); double d0 = target.getX() - this.getX(); double d1 = target.getY(0.3333333333333333) - arrow.getY(); double d2 = target.getZ() - this.getZ(); @@ -298,8 +294,8 @@ public void performRangedAttack(LivingEntity target, float pullProgress) { this.level().addFreshEntity(arrow); } - protected AbstractArrow getArrow(ItemStack arrow, float damageModifier) { - return ProjectileUtil.getMobArrow(this, arrow, damageModifier); + protected AbstractArrow getArrow(ItemStack arrow, float damageModifier, ItemStack itemInHand) { + return ProjectileUtil.getMobArrow(this, arrow, damageModifier, itemInHand); } @Override diff --git a/src/main/java/dev/galacticraft/mod/content/entity/damage/GCDamageTypes.java b/src/main/java/dev/galacticraft/mod/content/entity/damage/GCDamageTypes.java index 9744c1dfe4..ed879e9b1c 100644 --- a/src/main/java/dev/galacticraft/mod/content/entity/damage/GCDamageTypes.java +++ b/src/main/java/dev/galacticraft/mod/content/entity/damage/GCDamageTypes.java @@ -24,7 +24,7 @@ import dev.galacticraft.mod.Constant; import net.minecraft.core.registries.Registries; -import net.minecraft.data.worldgen.BootstapContext; +import net.minecraft.data.worldgen.BootstrapContext; import net.minecraft.resources.ResourceKey; import net.minecraft.world.damagesource.DamageScaling; import net.minecraft.world.damagesource.DamageType; @@ -35,7 +35,7 @@ public class GCDamageTypes { public static final ResourceKey SUFFOCATION = Constant.key(Registries.DAMAGE_TYPE, "suffocation"); public static final ResourceKey SULFURIC_ACID = Constant.key(Registries.DAMAGE_TYPE, "sulfuric_acid"); - public static void bootstrapRegistries(BootstapContext context) { + public static void bootstrapRegistries(BootstrapContext context) { context.register(OIL_BOOM, new DamageType("oil_boom", DamageScaling.ALWAYS, 0.1f)); context.register(VINE_POISON, new DamageType("vine_poison", 0.0f)); context.register(SUFFOCATION, new DamageType("suffocation", 0.0f)); diff --git a/src/main/java/dev/galacticraft/mod/content/entity/data/GCEntityDataSerializers.java b/src/main/java/dev/galacticraft/mod/content/entity/data/GCEntityDataSerializers.java index cc9b0625fb..344a0e6455 100644 --- a/src/main/java/dev/galacticraft/mod/content/entity/data/GCEntityDataSerializers.java +++ b/src/main/java/dev/galacticraft/mod/content/entity/data/GCEntityDataSerializers.java @@ -23,32 +23,16 @@ package dev.galacticraft.mod.content.entity.data; import dev.galacticraft.api.rocket.LaunchStage; -import net.minecraft.network.FriendlyByteBuf; +import dev.galacticraft.api.rocket.RocketData; import net.minecraft.network.syncher.EntityDataSerializer; import net.minecraft.network.syncher.EntityDataSerializers; -import net.minecraft.resources.ResourceLocation; public class GCEntityDataSerializers { - public static final EntityDataSerializer LAUNCH_STAGE = EntityDataSerializer.simpleEnum(LaunchStage.class); - public static final EntityDataSerializer IDENTIFIER = new EntityDataSerializer<>() { - @Override - public void write(FriendlyByteBuf buffer, ResourceLocation value) { - buffer.writeResourceLocation(value); - } - - @Override - public ResourceLocation read(FriendlyByteBuf buffer) { - return buffer.readResourceLocation(); - } - - @Override - public ResourceLocation copy(ResourceLocation value) { - return value; - } - }; + public static final EntityDataSerializer ROCKET_DATA = EntityDataSerializer.forValueType(RocketData.STREAM_CODEC); + public static final EntityDataSerializer LAUNCH_STAGE = EntityDataSerializer.forValueType(LaunchStage.STREAM_CODEC); public static void register() { + EntityDataSerializers.registerSerializer(ROCKET_DATA); EntityDataSerializers.registerSerializer(LAUNCH_STAGE); - EntityDataSerializers.registerSerializer(IDENTIFIER); } } diff --git a/src/main/java/dev/galacticraft/mod/content/entity/goals/FollowPlayerGoal.java b/src/main/java/dev/galacticraft/mod/content/entity/goals/FollowPlayerGoal.java index 2bdef626e0..214fab1230 100644 --- a/src/main/java/dev/galacticraft/mod/content/entity/goals/FollowPlayerGoal.java +++ b/src/main/java/dev/galacticraft/mod/content/entity/goals/FollowPlayerGoal.java @@ -24,70 +24,88 @@ import net.minecraft.world.entity.Mob; import net.minecraft.world.entity.ai.goal.Goal; +import net.minecraft.world.entity.ai.navigation.FlyingPathNavigation; +import net.minecraft.world.entity.ai.navigation.GroundPathNavigation; import net.minecraft.world.entity.ai.navigation.PathNavigation; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.level.pathfinder.BlockPathTypes; +import net.minecraft.world.level.pathfinder.PathType; +import org.jetbrains.annotations.Nullable; import java.util.EnumSet; -import java.util.List; -import java.util.Objects; +// vanilla copy of net.minecraft.world.entity.ai.goal.FollowMobGoal adapted for players public class FollowPlayerGoal extends Goal { private final Mob mob; - private Player followingPlayer; - private final PathNavigation navigation; + @Nullable + private Player following; private final double speedModifier; - private final double areaSize; + private final PathNavigation navigation; private int timeToRecalcPath; + private final float stopDistance; private float oldWaterCost; + private final float areaSize; - public FollowPlayerGoal(Mob mob, double areaSize, double speedModifier) { + public FollowPlayerGoal(Mob mob, double speedModifier, float stopDistance, float areaSize) { this.mob = mob; + this.speedModifier = speedModifier; this.navigation = mob.getNavigation(); + this.stopDistance = stopDistance; this.areaSize = areaSize; - this.speedModifier = speedModifier; this.setFlags(EnumSet.of(Goal.Flag.MOVE, Goal.Flag.LOOK)); + if (!(mob.getNavigation() instanceof GroundPathNavigation) && !(mob.getNavigation() instanceof FlyingPathNavigation)) { + throw new IllegalArgumentException("Unsupported mob type for FollowMobGoal"); + } } @Override public boolean canUse() { - List list = this.mob.level().getEntitiesOfClass(Player.class, this.mob.getBoundingBox().inflate(this.areaSize), Objects::nonNull); - if (!list.isEmpty()) { - for(Player player : list) { - if (!player.isInvisible()) { - this.followingPlayer = player; - return true; - } - } + for (Player player : this.mob.level().getEntitiesOfClass(Player.class, this.mob.getBoundingBox().inflate(this.areaSize), p -> !p.isInvisible())) { + this.following = player; + return true; } - return false; } + @Override + public boolean canContinueToUse() { + return this.following != null && !this.navigation.isDone() && this.mob.distanceToSqr(this.following) > (double)(this.stopDistance * this.stopDistance); + } + @Override public void start() { this.timeToRecalcPath = 0; - this.oldWaterCost = this.mob.getPathfindingMalus(BlockPathTypes.WATER); - this.mob.setPathfindingMalus(BlockPathTypes.WATER, 0.0F); + this.oldWaterCost = this.mob.getPathfindingMalus(PathType.WATER); + this.mob.setPathfindingMalus(PathType.WATER, 0.0F); } @Override public void stop() { - this.followingPlayer = null; + this.following = null; this.navigation.stop(); - this.mob.setPathfindingMalus(BlockPathTypes.WATER, this.oldWaterCost); + this.mob.setPathfindingMalus(PathType.WATER, this.oldWaterCost); } @Override public void tick() { - if (this.followingPlayer == null) - return; - this.mob.getLookControl().setLookAt(this.followingPlayer, 10.0F, (float)this.mob.getMaxHeadXRot()); - if (--this.timeToRecalcPath <= 0) { - this.timeToRecalcPath = this.adjustedTickDelay(10); - if (!this.mob.isLeashed() && !this.mob.isPassenger()) { - this.navigation.moveTo(this.followingPlayer, this.speedModifier); + if (this.following != null && !this.mob.isLeashed()) { + this.mob.getLookControl().setLookAt(this.following, 10.0F, (float)this.mob.getMaxHeadXRot()); + if (--this.timeToRecalcPath <= 0) { + this.timeToRecalcPath = this.adjustedTickDelay(10); + double d = this.mob.getX() - this.following.getX(); + double e = this.mob.getY() - this.following.getY(); + double f = this.mob.getZ() - this.following.getZ(); + double g = d * d + e * e + f * f; + if (!(g <= (this.stopDistance * this.stopDistance))) { + this.navigation.moveTo(this.following, this.speedModifier); + } else { + this.navigation.stop(); + if (g <= this.stopDistance) { + double h = this.following.getX() - this.mob.getX(); + double i = this.following.getZ() - this.mob.getZ(); + this.navigation.moveTo(this.mob.getX() - h, this.mob.getY(), this.mob.getZ() - i, this.speedModifier); + } + } } } } -} +} \ No newline at end of file diff --git a/src/main/java/dev/galacticraft/mod/content/entity/orbital/RocketEntity.java b/src/main/java/dev/galacticraft/mod/content/entity/orbital/RocketEntity.java index 9321b9742e..806ea13aa3 100644 --- a/src/main/java/dev/galacticraft/mod/content/entity/orbital/RocketEntity.java +++ b/src/main/java/dev/galacticraft/mod/content/entity/orbital/RocketEntity.java @@ -22,16 +22,12 @@ package dev.galacticraft.mod.content.entity.orbital; +import com.mojang.datafixers.util.Pair; import dev.galacticraft.api.entity.IgnoreShift; -import dev.galacticraft.api.registry.AddonRegistries; -import dev.galacticraft.api.registry.RocketRegistries; import dev.galacticraft.api.rocket.LaunchStage; import dev.galacticraft.api.rocket.RocketData; import dev.galacticraft.api.rocket.entity.Rocket; import dev.galacticraft.api.rocket.part.*; -import dev.galacticraft.api.universe.celestialbody.CelestialBody; -import dev.galacticraft.api.universe.celestialbody.CelestialBodyConfig; -import dev.galacticraft.api.universe.celestialbody.CelestialBodyType; import dev.galacticraft.mod.Constant; import dev.galacticraft.mod.api.block.entity.FuelDock; import dev.galacticraft.mod.attachments.GCServerPlayer; @@ -43,13 +39,13 @@ import dev.galacticraft.mod.content.entity.data.GCEntityDataSerializers; import dev.galacticraft.mod.content.item.GCItems; import dev.galacticraft.mod.events.RocketEvents; -import dev.galacticraft.mod.network.packets.RocketSpawnPacket; +import dev.galacticraft.mod.network.s2c.OpenCelestialScreenPayload; +import dev.galacticraft.mod.network.s2c.RocketSpawnPacket; import dev.galacticraft.mod.particle.EntityParticleOption; import dev.galacticraft.mod.particle.GCParticleTypes; import dev.galacticraft.mod.tag.GCTags; import dev.galacticraft.mod.util.FluidUtil; import dev.galacticraft.mod.util.Translations; -import net.fabricmc.fabric.api.networking.v1.PacketByteBufs; import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; import net.fabricmc.fabric.api.transfer.v1.fluid.FluidConstants; import net.fabricmc.fabric.api.transfer.v1.fluid.FluidVariant; @@ -59,17 +55,19 @@ import net.fabricmc.fabric.api.transfer.v1.transaction.Transaction; import net.fabricmc.loader.api.FabricLoader; import net.minecraft.core.BlockPos; +import net.minecraft.core.Holder; import net.minecraft.core.NonNullList; import net.minecraft.core.particles.ParticleTypes; import net.minecraft.nbt.CompoundTag; -import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.nbt.NbtOps; import net.minecraft.network.chat.Component; import net.minecraft.network.protocol.Packet; +import net.minecraft.network.protocol.game.ClientGamePacketListener; import net.minecraft.network.syncher.EntityDataAccessor; import net.minecraft.network.syncher.EntityDataSerializers; import net.minecraft.network.syncher.SynchedEntityData; -import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; +import net.minecraft.server.level.ServerEntity; import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; import net.minecraft.util.Mth; @@ -78,6 +76,7 @@ import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.entity.*; import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.EitherHolder; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Block; @@ -85,30 +84,19 @@ import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.material.Fluid; import net.minecraft.world.phys.Vec3; -import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import org.joml.Vector3f; - -import java.util.Objects; @SuppressWarnings("UnstableApiUsage") public class RocketEntity extends AdvancedVehicle implements Rocket, IgnoreShift, ControllableEntity { - private static final ResourceLocation NULL_ID = new ResourceLocation("null"); + private static final ResourceLocation NULL_ID = ResourceLocation.withDefaultNamespace("null"); private static final EntityDataAccessor STAGE = SynchedEntityData.defineId(RocketEntity.class, GCEntityDataSerializers.LAUNCH_STAGE); - private static final EntityDataAccessor COLOR = SynchedEntityData.defineId(RocketEntity.class, EntityDataSerializers.INT); - private static final EntityDataAccessor TIME_AS_STATE = SynchedEntityData.defineId(RocketEntity.class, EntityDataSerializers.INT); public static final EntityDataAccessor SPEED = SynchedEntityData.defineId(RocketEntity.class, EntityDataSerializers.FLOAT); - public static final EntityDataAccessor ROCKET_CONE = SynchedEntityData.defineId(RocketEntity.class, GCEntityDataSerializers.IDENTIFIER); - public static final EntityDataAccessor ROCKET_BODY = SynchedEntityData.defineId(RocketEntity.class, GCEntityDataSerializers.IDENTIFIER); - public static final EntityDataAccessor ROCKET_FIN = SynchedEntityData.defineId(RocketEntity.class, GCEntityDataSerializers.IDENTIFIER); - public static final EntityDataAccessor ROCKET_BOOSTER = SynchedEntityData.defineId(RocketEntity.class, GCEntityDataSerializers.IDENTIFIER); - public static final EntityDataAccessor ROCKET_ENGINE = SynchedEntityData.defineId(RocketEntity.class, GCEntityDataSerializers.IDENTIFIER); - public static final EntityDataAccessor ROCKET_UPGRADE = SynchedEntityData.defineId(RocketEntity.class, GCEntityDataSerializers.IDENTIFIER); + public static final EntityDataAccessor ROCKET_DATA = SynchedEntityData.defineId(RocketEntity.class, GCEntityDataSerializers.ROCKET_DATA); public static final EntityDataAccessor FUEL = SynchedEntityData.defineId(RocketEntity.class, EntityDataSerializers.LONG); private final boolean debugMode = false && FabricLoader.getInstance().isDevelopmentEnvironment(); @@ -160,33 +148,8 @@ public void setLaunchStage(LaunchStage launchStage) { } @Override - public RocketCone getCone() { - return this.level().registryAccess().registryOrThrow(RocketRegistries.ROCKET_CONE).get(this.cone()); - } - - @Override - public RocketBody getBody() { - return this.level().registryAccess().registryOrThrow(RocketRegistries.ROCKET_BODY).get(this.body()); - } - - @Override - public RocketFin getFin() { - return this.level().registryAccess().registryOrThrow(RocketRegistries.ROCKET_FIN).get(this.fin()); - } - - @Override - public RocketBooster getBooster() { - return this.level().registryAccess().registryOrThrow(RocketRegistries.ROCKET_BOOSTER).get(this.booster()); - } - - @Override - public RocketEngine getEngine() { - return this.level().registryAccess().registryOrThrow(RocketRegistries.ROCKET_ENGINE).get(this.engine()); - } - - @Override - public RocketUpgrade getUpgrade() { - return this.level().registryAccess().registryOrThrow(RocketRegistries.ROCKET_UPGRADE).get(this.upgrade()); + public @NotNull RocketData getData() { + return this.entityData.get(ROCKET_DATA); } @Override @@ -262,11 +225,8 @@ public FuelDock getLandingPad() { @Override public void onPadDestroyed() { - RocketData data = RocketData.create(this.color(), this.cone(), this.body(), this.fin(), this.booster(), this.engine(), this.upgrade()); - CompoundTag tag = new CompoundTag(); - data.toNbt(tag); var rocket = new ItemStack(GCItems.ROCKET); - rocket.setTag(tag); + rocket.applyComponents(this.getData().asPatch()); this.spawnAtLocation(rocket); this.remove(RemovalReason.DISCARDED); } @@ -284,11 +244,8 @@ public boolean inFlight() { @Override public void dropItems(DamageSource damageSource, boolean exploded) { if (!exploded) { - RocketData data = RocketData.create(this.color(), this.cone(), this.body(), this.fin(), this.booster(), this.engine(), this.upgrade()); - CompoundTag tag = new CompoundTag(); - data.toNbt(tag); var rocket = new ItemStack(GCItems.ROCKET); - rocket.setTag(tag); + rocket.applyComponents(this.getData().asPatch()); this.spawnAtLocation(rocket); } this.remove(RemovalReason.KILLED); @@ -352,23 +309,16 @@ protected void reapplyPosition() { } @Override - protected void defineSynchedData() { - super.defineSynchedData(); - this.entityData.define(STAGE, LaunchStage.IDLE); - this.entityData.define(SPEED, 0.0f); + protected void defineSynchedData(SynchedEntityData.Builder builder) { + super.defineSynchedData(builder); + builder.define(STAGE, LaunchStage.IDLE); + builder.define(SPEED, 0.0f); - this.entityData.define(COLOR, -1); + builder.define(TIME_AS_STATE, 0); - this.entityData.define(TIME_AS_STATE, 0); + builder.define(ROCKET_DATA, RocketData.DEFAULT_ROCKET); - this.entityData.define(ROCKET_CONE, NULL_ID); - this.entityData.define(ROCKET_BODY, NULL_ID); - this.entityData.define(ROCKET_FIN, NULL_ID); - this.entityData.define(ROCKET_BOOSTER, NULL_ID); - this.entityData.define(ROCKET_ENGINE, NULL_ID); - this.entityData.define(ROCKET_UPGRADE, NULL_ID); - - this.entityData.define(FUEL, 0L); + builder.define(FUEL, 0L); } @Override @@ -392,8 +342,8 @@ public boolean isPickable() { //Required to interact with the entity } @Override - protected Vector3f getPassengerAttachmentPoint(Entity entity, EntityDimensions dimensions, float scale) { - return new Vector3f(0F, 1.5F, 0F); + protected Vec3 getPassengerAttachmentPoint(Entity entity, EntityDimensions dimensions, float scale) { + return new Vec3(0F, 1.5F, 0F); } @Override @@ -472,7 +422,7 @@ public void tick() { if (this.getLinkedPad() != BlockPos.ZERO) { if (passenger instanceof ServerPlayer player) { GCServerPlayer gcPlayer = GCServerPlayer.get(player); - gcPlayer.setRocketData(this); + gcPlayer.setRocketData(this.getData()); gcPlayer.setLaunchpadStack(new ItemStack(GCBlocks.ROCKET_LAUNCH_PAD, 9)); } this.linkedPad.setDockedEntity(null); @@ -528,30 +478,17 @@ && level().getBlockState(getLinkedPad().offset(x, 0, z)).getValue(AbstractLaunch } if (this.position().y() >= 1200.0F) { - CelestialBody> body = CelestialBody.getByDimension(this.level()).orElse(null); - int id; - if (body != null) { - id = level().registryAccess().registryOrThrow(AddonRegistries.CELESTIAL_BODY).getId(body); - } else { - id = -1; - } for (Entity entity : getPassengers()) { if (entity instanceof ServerPlayer serverPlayer) { GCServerPlayer gcPlayer = GCServerPlayer.get(serverPlayer); gcPlayer.setRocketStacks(NonNullList.withSize(2, ItemStack.EMPTY)); // TODO un-hardcode this - RocketData data = RocketData.create(this.color(), this.cone(), this.body(), this.fin(), this.booster(), this.engine(), this.upgrade()); gcPlayer.setFuel(this.tank.getAmount()); - CompoundTag tag = new CompoundTag(); - data.toNbt(tag); var rocket = new ItemStack(GCItems.ROCKET); - rocket.setTag(tag); + RocketData data = this.getData(); + rocket.applyComponents(data.asPatch()); gcPlayer.setRocketItem(rocket); serverPlayer.galacticraft$openCelestialScreen(data); - CompoundTag nbt = new CompoundTag(); - data.toNbt(nbt); - FriendlyByteBuf buf = PacketByteBufs.create().writeNbt(nbt); - buf.writeInt(id); - ServerPlayNetworking.send(serverPlayer, Constant.Packet.PLANET_MENU_PACKET, buf); + ServerPlayNetworking.send(serverPlayer, new OpenCelestialScreenPayload(this.getData(), this.level().galacticraft$getCelestialBody())); remove(RemovalReason.UNLOADED_WITH_PLAYER); break; } @@ -663,42 +600,9 @@ public void setSpeed(float speed) { this.getEntityData().set(SPEED, speed); } - public void setCone(ResourceLocation id) { - this.getEntityData().set(ROCKET_CONE, id); - } - - public void setBody(ResourceLocation id) { - this.getEntityData().set(ROCKET_BODY, id); - } - - public void setFin(ResourceLocation id) { - this.getEntityData().set(ROCKET_FIN, id); - } - - public void setBooster(ResourceLocation id) { - this.getEntityData().set(ROCKET_BOOSTER, id); - } - - public void setEngine(ResourceLocation id) { - this.getEntityData().set(ROCKET_ENGINE, id); - } - - public void setUpgrade(ResourceLocation id) { - this.getEntityData().set(ROCKET_UPGRADE, id); - } - @Override protected void readAdditionalSaveData(CompoundTag tag) { - this.setCone(tag.contains("Cone") ? new ResourceLocation(tag.getString("Cone")) : null); - this.setBody(tag.contains("Body") ? new ResourceLocation(tag.getString("Body")) : null); - this.setFin(tag.contains("Fin") ? new ResourceLocation(tag.getString("Fin")) : null); - this.setBooster(tag.contains("Booster") ? new ResourceLocation(tag.getString("Booster")) : null); - this.setEngine(tag.contains("Engine") ? new ResourceLocation(tag.getString("Engine")) : null); - this.setUpgrade(tag.contains("Upgrade") ? new ResourceLocation(tag.getString("Upgrade")) : null); - - if (tag.contains("Color")) { - this.setColor(tag.getInt("Color")); - } + this.setData(RocketData.CODEC.decode(NbtOps.INSTANCE, tag.getCompound("data")).mapOrElse(Pair::getFirst, e -> RocketData.DEFAULT_ROCKET)); if (tag.contains("Stage")) { this.setLaunchStage(LaunchStage.valueOf(tag.getString("Stage"))); @@ -708,42 +612,26 @@ protected void readAdditionalSaveData(CompoundTag tag) { setSpeed(tag.getFloat("Speed")); } - BlockEntity be = this.level().getBlockEntity(new BlockPos(tag.getInt("lX"), tag.getInt("lY"), tag.getInt("lZ"))); + BlockEntity be = this.level().getBlockEntity(BlockPos.of(tag.getLong("Linked"))); if (be instanceof FuelDock pad) this.linkedPad = pad; } - @Override - @ApiStatus.Internal - public void setLevel(Level level) { - super.setLevel(level); - } - - public void setColor(int color) { - this.getEntityData().set(COLOR, color); - } - @Override protected void addAdditionalSaveData(CompoundTag tag) { - if (this.cone() != null) tag.putString("Cone", Objects.requireNonNull(this.cone()).toString()); - if (this.body() != null) tag.putString("Body", Objects.requireNonNull(this.body()).toString()); - if (this.fin() != null) tag.putString("Fin", Objects.requireNonNull(this.fin()).toString()); - if (this.booster() != null) tag.putString("Booster", Objects.requireNonNull(this.booster()).toString()); - if (this.engine() != null) tag.putString("Engine", Objects.requireNonNull(this.engine()).toString()); - if (this.upgrade() != null) tag.putString("Upgrade", Objects.requireNonNull(this.upgrade()).toString()); + CompoundTag data = new CompoundTag(); + RocketData.CODEC.encode(this.getData(), NbtOps.INSTANCE, data); + tag.put("data", data); tag.putString("Stage", getLaunchStage().name()); tag.putDouble("Speed", this.getSpeed()); - tag.putInt("Color", this.color()); - tag.putInt("lX", linkedPad.getDockPos().getX()); - tag.putInt("lY", linkedPad.getDockPos().getY()); - tag.putInt("lZ", linkedPad.getDockPos().getZ()); + if (this.linkedPad != null) tag.putLong("Linked", this.linkedPad.getDockPos().asLong()); } @Override - public @NotNull Packet getAddEntityPacket() { - return ServerPlayNetworking.createS2CPacket(new RocketSpawnPacket(getType(), getId(), this.uuid, getX(), getY(), getZ(), getXRot(), getYRot(), this)); + public Packet getAddEntityPacket(ServerEntity serverEntity) { + return (Packet)ServerPlayNetworking.createS2CPacket(new RocketSpawnPacket(getType(), getId(), this.uuid, getX(), getY(), getZ(), getXRot(), getYRot(), this.getData())); } public int getTimeBeforeLaunch() { @@ -755,73 +643,41 @@ public int getPreLaunchWait() { } @Override - public int color() { - return this.getEntityData().get(COLOR); + public @Nullable Holder> cone() { + return maybeGet(this.getData().cone()); } @Override - public @Nullable ResourceKey> cone() { - ResourceLocation location = this.getEntityData().get(ROCKET_CONE); - if (location == null || NULL_ID.equals(location)) { - return null; - } - return ResourceKey.create(RocketRegistries.ROCKET_CONE, location); + public @Nullable Holder> body() { + return maybeGet(this.getData().body()); } @Override - public @Nullable ResourceKey> body() { - ResourceLocation location = this.getEntityData().get(ROCKET_BODY); - if (location == null || NULL_ID.equals(location)) { - return null; - } - return ResourceKey.create(RocketRegistries.ROCKET_BODY, location); + public @Nullable Holder> fin() { + return maybeGet(this.getData().fin()); } @Override - public @Nullable ResourceKey> fin() { - ResourceLocation location = this.getEntityData().get(ROCKET_FIN); - if (location == null || NULL_ID.equals(location)) { - return null; - } - return ResourceKey.create(RocketRegistries.ROCKET_FIN, location); + public @Nullable Holder> booster() { + return maybeGet(this.getData().booster()); } @Override - public @Nullable ResourceKey> booster() { - ResourceLocation location = this.getEntityData().get(ROCKET_BOOSTER); - if (location == null || NULL_ID.equals(location)) { - return null; - } - return ResourceKey.create(RocketRegistries.ROCKET_BOOSTER, location); + public @Nullable Holder> engine() { + return maybeGet(this.getData().engine()); } @Override - public @Nullable ResourceKey> engine() { - ResourceLocation location = this.getEntityData().get(ROCKET_ENGINE); - if (location == null || NULL_ID.equals(location)) { - return null; - } - return ResourceKey.create(RocketRegistries.ROCKET_ENGINE, location); + public @Nullable Holder> upgrade() { + return maybeGet(this.getData().upgrade()); } - @Override - public @Nullable ResourceKey> upgrade() { - ResourceLocation location = this.getEntityData().get(ROCKET_UPGRADE); - if (location == null || NULL_ID.equals(location)) { - return null; - } - return ResourceKey.create(RocketRegistries.ROCKET_UPGRADE, location); + private @Nullable Holder maybeGet(@Nullable EitherHolder holder) { + return holder != null ? holder.unwrap(this.registryAccess()).orElse(null) : null; } public void setData(RocketData data) { - this.setColor(data.color()); - - this.setCone(data.cone() != null ? data.cone().location() : null); - this.setBody(data.body() != null ? data.body().location() : null); - this.setFin(data.fin() != null ? data.fin().location() : null); - this.setBooster(data.booster() != null ? data.booster().location() : null); - this.setEngine(data.engine() != null ? data.engine().location() : null); - this.setUpgrade(data.upgrade() != null ? data.upgrade().location() : null); + this.entityData.set(ROCKET_DATA, data); } @Override @@ -853,4 +709,9 @@ public void inputTick(float leftImpulse, float forwardImpulse, boolean up, boole public boolean shouldIgnoreShiftExit() { return getLaunchStage().ordinal() >= LaunchStage.LAUNCHED.ordinal(); } + + @Override + public void setLevel(Level level) { // public for render + super.setLevel(level); + } } diff --git a/src/main/java/dev/galacticraft/mod/content/entity/orbital/lander/LanderEntity.java b/src/main/java/dev/galacticraft/mod/content/entity/orbital/lander/LanderEntity.java index 06806b217c..1420285eab 100644 --- a/src/main/java/dev/galacticraft/mod/content/entity/orbital/lander/LanderEntity.java +++ b/src/main/java/dev/galacticraft/mod/content/entity/orbital/lander/LanderEntity.java @@ -31,7 +31,7 @@ import dev.galacticraft.mod.content.GCFluids; import dev.galacticraft.mod.content.entity.ControllableEntity; import dev.galacticraft.mod.content.entity.ScalableFuelLevel; -import dev.galacticraft.mod.network.packets.ResetThirdPersonPacket; +import dev.galacticraft.mod.network.s2c.ResetPerspectivePacket; import dev.galacticraft.mod.particle.GCParticleTypes; import dev.galacticraft.mod.screen.ParachestMenu; import dev.galacticraft.mod.util.FluidUtil; @@ -44,9 +44,9 @@ import net.fabricmc.fabric.api.transfer.v1.item.InventoryStorage; import net.fabricmc.fabric.api.transfer.v1.storage.Storage; import net.fabricmc.fabric.api.transfer.v1.transaction.Transaction; +import net.minecraft.core.Holder; import net.minecraft.core.NonNullList; import net.minecraft.nbt.CompoundTag; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.server.level.ServerPlayer; import net.minecraft.util.Mth; import net.minecraft.world.Container; @@ -63,11 +63,10 @@ import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.Vec3; import org.jetbrains.annotations.Nullable; -import org.joml.Vector3f; import java.util.List; -public class LanderEntity extends AbstractLanderEntity implements Container, ScalableFuelLevel, ControllableEntity, HasCustomInventoryScreen, IgnoreShift, ExtendedScreenHandlerFactory { +public class LanderEntity extends AbstractLanderEntity implements Container, ScalableFuelLevel, ControllableEntity, HasCustomInventoryScreen, IgnoreShift, ExtendedScreenHandlerFactory { public static final float NO_PARTICLES = 0.0000001F; protected NonNullList inventory; protected InventoryStorage storage; @@ -105,20 +104,20 @@ public LanderEntity(ServerPlayer player) { @Override protected void readAdditionalSaveData(CompoundTag tag) { - tank.readNbt(tag); + tank.readNbt(tag, this.registryAccess()); this.inventory = NonNullList.withSize(tag.getInt("size"), ItemStack.EMPTY); this.storage = InventoryStorage.of(this, null); - ContainerHelper.loadAllItems(tag, this.inventory); + ContainerHelper.loadAllItems(tag, this.inventory, this.registryAccess()); this.lastDeltaY = this.getDeltaMovement().y; } @Override protected void addAdditionalSaveData(CompoundTag tag) { - tank.writeNbt(tag); + tank.writeNbt(tag, this.registryAccess()); tag.putInt("size", this.inventory.size()); - ContainerHelper.saveAllItems(tag, this.inventory); + ContainerHelper.saveAllItems(tag, this.inventory, this.registryAccess()); } public Pair getParticlePosition() { @@ -236,7 +235,7 @@ public void onGroundHit() { for (Entity entity : this.getPassengers()) { entity.removeVehicle(); if (entity instanceof ServerPlayer player) { - ServerPlayNetworking.send(player, new ResetThirdPersonPacket()); + ServerPlayNetworking.send(player, new ResetPerspectivePacket()); } entity.setDeltaMovement(Vec3.ZERO); entity.setPos(entity.getX(), this.getY() + 2.25, entity.getZ()); @@ -254,7 +253,8 @@ public void tickOnGround() { public void tickInAir() { if (!this.onGround()) { - this.addDeltaMovement(new Vec3(0, CelestialBody.getByDimension(level()).map(CelestialBody::gravity).orElse(1F) * -0.008D, 0)); + Holder> holder = this.level().galacticraft$getCelestialBody(); + this.addDeltaMovement(new Vec3(0, (holder != null ? holder.value().gravity() : 1.0d) * -0.008D, 0)); } double motY = -1 * Math.sin(getXRot() / Constant.RADIANS_TO_DEGREES); @@ -375,12 +375,6 @@ public void clearContent() { this.inventory.clear(); } - @Override - public void writeScreenOpeningData(ServerPlayer player, FriendlyByteBuf buf) { - buf.writeBoolean(false); - buf.writeVarInt(this.inventory.size()); - } - @Nullable @Override public AbstractContainerMenu createMenu(int containerId, Inventory inventory, Player player) { @@ -418,8 +412,8 @@ public boolean shouldSpawnParticles() { } @Override - protected Vector3f getPassengerAttachmentPoint(Entity passenger, EntityDimensions dimensions, float scaleFactor) { - return new Vector3f(0, 1.5F, 0); + protected Vec3 getPassengerAttachmentPoint(Entity passenger, EntityDimensions dimensions, float scaleFactor) { + return new Vec3(0, 1.5F, 0); } @Override @@ -455,4 +449,9 @@ public void inputTick(float leftImpulse, float forwardImpulse, boolean up, boole public boolean shouldIgnoreShiftExit() { return !onGround(); } + + @Override + public ParachestMenu.OpeningData getScreenOpeningData(ServerPlayer player) { + return new ParachestMenu.OpeningData(this.inventory.size()); + } } diff --git a/src/main/java/dev/galacticraft/mod/content/item/BatteryItem.java b/src/main/java/dev/galacticraft/mod/content/item/BatteryItem.java index 29c3d7f068..86b42bfac4 100644 --- a/src/main/java/dev/galacticraft/mod/content/item/BatteryItem.java +++ b/src/main/java/dev/galacticraft/mod/content/item/BatteryItem.java @@ -25,14 +25,10 @@ import dev.galacticraft.mod.Constant; import dev.galacticraft.mod.util.DrawableUtil; import dev.galacticraft.mod.util.Translations; -import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; -import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; -import net.minecraft.world.level.Level; -import org.jetbrains.annotations.NotNull; import team.reborn.energy.api.EnergyStorage; import team.reborn.energy.api.base.SimpleEnergyItem; @@ -51,9 +47,10 @@ public BatteryItem(Properties settings, long capacity, long transfer) { } @Override - public void appendHoverText(ItemStack stack, Level world, List lines, TooltipFlag context) { - lines.add(Component.translatable(Translations.Tooltip.ENERGY_REMAINING, DrawableUtil.getEnergyDisplay(getStoredEnergy(stack)).setStyle(Constant.Text.Color.getStorageLevelStyle(1.0 - ((double)getStoredEnergy(stack)) / ((double)this.getEnergyCapacity(stack)))))); - super.appendHoverText(stack, world, lines, context); + public void appendHoverText(ItemStack stack, TooltipContext context, List tooltip, TooltipFlag type) { + super.appendHoverText(stack, context, tooltip, type); + + tooltip.add(Component.translatable(Translations.Tooltip.ENERGY_REMAINING, DrawableUtil.getEnergyDisplay(getStoredEnergy(stack)).setStyle(Constant.Text.Color.getStorageLevelStyle(1.0 - ((double)getStoredEnergy(stack)) / ((double)this.getEnergyCapacity(stack)))))); } @Override @@ -72,12 +69,6 @@ public int getBarColor(ItemStack stack) { return ((int)(255 * scale) << 16) + (((int)(255 * ( 1.0 - scale))) << 8); } - @Override - public void onCraftedBy(@NotNull ItemStack battery, Level world, Player player) { - CompoundTag batteryTag = battery.getOrCreateTag(); - battery.setTag(batteryTag); - } - @Override public int getEnchantmentValue() { return -1; diff --git a/src/main/java/dev/galacticraft/mod/content/item/BrittleSwordItem.java b/src/main/java/dev/galacticraft/mod/content/item/BrittleSwordItem.java index 1e6f0360c6..fd21260cbd 100644 --- a/src/main/java/dev/galacticraft/mod/content/item/BrittleSwordItem.java +++ b/src/main/java/dev/galacticraft/mod/content/item/BrittleSwordItem.java @@ -32,14 +32,14 @@ import net.minecraft.world.level.block.state.BlockState; public class BrittleSwordItem extends SwordItem { - public BrittleSwordItem(Tier toolMaterial, int attackDamage, float attackSpeed, Properties settings) { - super(toolMaterial, attackDamage, attackSpeed, settings); + public BrittleSwordItem(Tier toolMaterial, Properties settings) { + super(toolMaterial, settings); } @Override public boolean mineBlock(ItemStack stack, Level world, BlockState blockState, BlockPos blockPos, LivingEntity entityLiving) { if (blockState.getDestroySpeed(world, blockPos) > 0.2001F) { - stack.hurtAndBreak(2, entityLiving, (livingEntity) -> livingEntity.broadcastBreakEvent(EquipmentSlot.MAINHAND)); + stack.hurtAndBreak(2, entityLiving, EquipmentSlot.MAINHAND); } return true; } diff --git a/src/main/java/dev/galacticraft/mod/content/item/BuggyItem.java b/src/main/java/dev/galacticraft/mod/content/item/BuggyItem.java index 41cc35b50d..2e91ee682f 100644 --- a/src/main/java/dev/galacticraft/mod/content/item/BuggyItem.java +++ b/src/main/java/dev/galacticraft/mod/content/item/BuggyItem.java @@ -26,8 +26,6 @@ import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; -import net.minecraft.world.level.Level; -import org.jetbrains.annotations.Nullable; import java.util.List; @@ -37,7 +35,7 @@ public BuggyItem(Properties properties) { } @Override - public void appendHoverText(ItemStack stack, @Nullable Level world, List tooltip, TooltipFlag context) { - + public void appendHoverText(ItemStack stack, TooltipContext context, List tooltip, TooltipFlag type) { + super.appendHoverText(stack, context, tooltip, type); } } diff --git a/src/main/java/dev/galacticraft/mod/content/item/GCArmorMaterial.java b/src/main/java/dev/galacticraft/mod/content/item/GCArmorMaterial.java deleted file mode 100644 index f78bcffc41..0000000000 --- a/src/main/java/dev/galacticraft/mod/content/item/GCArmorMaterial.java +++ /dev/null @@ -1,132 +0,0 @@ -/* - * Copyright (c) 2019-2024 Team Galacticraft - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -package dev.galacticraft.mod.content.item; - -import com.google.common.base.Suppliers; -import net.minecraft.sounds.SoundEvent; -import net.minecraft.sounds.SoundEvents; -import net.minecraft.world.item.ArmorItem; -import net.minecraft.world.item.ArmorMaterial; -import net.minecraft.world.item.crafting.Ingredient; - -import java.util.function.Supplier; - -public enum GCArmorMaterial implements ArmorMaterial { - SENSOR_GLASSES("sensor_glasses", - 0, - new int[]{0, 0, 0, 0}, - 0, - SoundEvents.ARMOR_EQUIP_IRON, - 0.0f, - () -> Ingredient.of(GCItems.METEORIC_IRON_INGOT), - 0.0f - ), // TODO: add actual functionality - HEAVY_DUTY( - "heavy_duty", - 30, - new int[]{3, 6, 8, 3}, - 9, - SoundEvents.ARMOR_EQUIP_IRON, - 1.0f, - () -> Ingredient.of(GCItems.COMPRESSED_STEEL), - 1.0f - ), - DESH("desh", 42, - new int[]{4, 7, 9, 4}, - 12, - SoundEvents.ARMOR_EQUIP_IRON, - 3.0f, - () -> Ingredient.of(GCItems.DESH_INGOT), - 2.0f - ), - TITANIUM( - "titanium", - 26, new int[]{5, 7, 10, 5}, - 20, - SoundEvents.ARMOR_EQUIP_IRON, - 1.0f, - () -> Ingredient.of(GCItems.COMPRESSED_TITANIUM), - 0.0f - ); - - private static final int[] BASE_DURABILITY = {462, 672, 630, 546}; - private final String name; - private final int durabilityMultiplier; - private final int[] protectionValues; - private final int enchantability; - private final SoundEvent equipSound; - private final float toughness; - private final Supplier repairIngredient; - private final float knockbackResistance; - - GCArmorMaterial(String name, int durabilityMultiplier, int[] protectionValues, int enchantability, SoundEvent equipSound, float toughness, Supplier repairIngredient, float knockbackResistance) { - this.name = name; - this.durabilityMultiplier = durabilityMultiplier; - this.protectionValues = protectionValues; - this.enchantability = enchantability; - this.equipSound = equipSound; - this.toughness = toughness; - this.repairIngredient = Suppliers.memoize(repairIngredient::get); - this.knockbackResistance = knockbackResistance; - } - - @Override - public int getDurabilityForType(ArmorItem.Type type) { - return BASE_DURABILITY[type.getSlot().getIndex()] * this.durabilityMultiplier; - } - - @Override - public int getDefenseForType(ArmorItem.Type type) { - return this.protectionValues[type.getSlot().getIndex()]; - } - - @Override - public int getEnchantmentValue() { - return this.enchantability; - } - - @Override - public SoundEvent getEquipSound() { - return this.equipSound; - } - - @Override - public Ingredient getRepairIngredient() { - return this.repairIngredient.get(); - } - - @Override - public float getKnockbackResistance() { - return this.knockbackResistance; - } - - @Override - public String getName() { - return this.name; - } - - @Override - public float getToughness() { - return this.toughness; - } -} \ No newline at end of file diff --git a/src/main/java/dev/galacticraft/mod/content/item/GCArmorMaterials.java b/src/main/java/dev/galacticraft/mod/content/item/GCArmorMaterials.java new file mode 100644 index 0000000000..bc78b8bb02 --- /dev/null +++ b/src/main/java/dev/galacticraft/mod/content/item/GCArmorMaterials.java @@ -0,0 +1,85 @@ +/* + * Copyright (c) 2019-2024 Team Galacticraft + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package dev.galacticraft.mod.content.item; + +import dev.galacticraft.mod.Constant; +import net.minecraft.core.Holder; +import net.minecraft.core.Registry; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.sounds.SoundEvent; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.world.item.ArmorItem; +import net.minecraft.world.item.ArmorMaterial; +import net.minecraft.world.item.crafting.Ingredient; + +import java.util.EnumMap; +import java.util.List; +import java.util.function.Supplier; + +public class GCArmorMaterials { + public static final Holder SENSOR_GLASSES = register(Constant.id("sensor_glasses"), 0, 0, 0, 0, 0, 9, SoundEvents.ARMOR_EQUIP_IRON, 0.0F, 0.0F, () -> Ingredient.of(GCItems.METEORIC_IRON_INGOT)); + public static final Holder HEAVY_DUTY = register(Constant.id("heavy_duty"), 3, 6, 8, 3, 30, 9, SoundEvents.ARMOR_EQUIP_IRON, 1.0F, 1.0F, () -> Ingredient.of(GCItems.COMPRESSED_STEEL)); + public static final Holder DESH = register(Constant.id("desh"), 4, 7, 9, 4, 42, 12, SoundEvents.ARMOR_EQUIP_IRON, 3.0F, 2.0F, () -> Ingredient.of(GCItems.DESH_INGOT)); + public static final Holder TITANIUM = register(Constant.id("titanium"), 5, 7, 10, 5, 26, 20, SoundEvents.ARMOR_EQUIP_IRON, 1.0F, 0.0F, () -> Ingredient.of(GCItems.COMPRESSED_TITANIUM)); + + private static Holder register(ResourceLocation id, + int helmet, + int chest, + int leggings, + int boots, + int body, + int enchantability, + Holder equipSound, + float toughness, + float knockbackResistance, + Supplier repairIngredient) { + return register(id, helmet, chest, leggings, boots, body, enchantability, equipSound, toughness, knockbackResistance, repairIngredient, List.of(new ArmorMaterial.Layer(id))); + } + + private static Holder register(ResourceLocation id, + int helmet, + int chest, + int leggings, + int boots, + int body, + int enchantability, + Holder equipSound, + float toughness, + float knockbackResistance, + Supplier repairIngredient, + List layers) { + EnumMap defense = new EnumMap<>(ArmorItem.Type.class); + defense.put(ArmorItem.Type.HELMET, helmet); + defense.put(ArmorItem.Type.CHESTPLATE, chest); + defense.put(ArmorItem.Type.LEGGINGS, leggings); + defense.put(ArmorItem.Type.BOOTS, boots); + defense.put(ArmorItem.Type.BODY, body); + + return Registry.registerForHolder( + BuiltInRegistries.ARMOR_MATERIAL, + id, + new ArmorMaterial(defense, enchantability, equipSound, repairIngredient, layers, toughness, knockbackResistance) + ); + } +} \ No newline at end of file diff --git a/src/main/java/dev/galacticraft/mod/content/item/GCCreativeModeTabs.java b/src/main/java/dev/galacticraft/mod/content/item/GCCreativeModeTabs.java index 13b9ca2351..8d3e01aecd 100644 --- a/src/main/java/dev/galacticraft/mod/content/item/GCCreativeModeTabs.java +++ b/src/main/java/dev/galacticraft/mod/content/item/GCCreativeModeTabs.java @@ -22,6 +22,7 @@ package dev.galacticraft.mod.content.item; +import dev.galacticraft.api.component.GCDataComponents; import dev.galacticraft.api.gas.Gases; import dev.galacticraft.mod.Constant; import dev.galacticraft.mod.content.GCBlockRegistry; @@ -34,8 +35,8 @@ import net.fabricmc.fabric.api.transfer.v1.fluid.FluidVariant; import net.fabricmc.fabric.api.transfer.v1.transaction.Transaction; import net.minecraft.core.Registry; +import net.minecraft.core.component.DataComponents; import net.minecraft.core.registries.BuiltInRegistries; -import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.DyeColor; @@ -47,7 +48,7 @@ public class GCCreativeModeTabs { public static final CreativeModeTab ITEMS_GROUP = FabricItemGroup .builder() - .icon(() -> new ItemStack(GCItems.CANVAS)) + .icon(() -> new ItemStack(CANVAS)) .title(Component.translatable(Translations.ItemGroup.ITEMS)) .displayItems((parameters, output) -> { // todo: add rockets here // GEAR @@ -58,7 +59,7 @@ public class GCCreativeModeTabs { PlaceholderItemStorage itemStorage = new PlaceholderItemStorage(); ContainerItemContext context = ContainerItemContext.ofSingleSlot(itemStorage); - output.accept(SMALL_OXYGEN_TANK); + output.accept(SMALL_OXYGEN_TANK);//todo: set directly itemStorage.setItem(SMALL_OXYGEN_TANK); context.find(FluidStorage.ITEM).insert(FluidVariant.of(Gases.OXYGEN), Long.MAX_VALUE, t); output.accept(itemStorage.variant.toStack()); @@ -79,16 +80,15 @@ public class GCCreativeModeTabs { output.accept(FREQUENCY_MODULE); PARACHUTE.colorMap().values().forEach(output::accept); -// output.accept(SPACE_EMERGENCY_KIT); +// result.accept(SPACE_EMERGENCY_KIT); output.accept(SHIELD_CONTROLLER); // ROCKETS - output.accept(ROCKET.getDefaultInstance()); + output.accept(ROCKET); - var rocket = ROCKET.getDefaultInstance(); - CompoundTag tag = rocket.getOrCreateTag(); - tag.putBoolean("creative", true); - output.accept(rocket); + var creativeRocket = new ItemStack(ROCKET); + creativeRocket.set(GCDataComponents.CREATIVE, true); + output.accept(creativeRocket); // MATERIALS output.accept(TIN_NUGGET); @@ -106,6 +106,7 @@ public class GCCreativeModeTabs { output.accept(RAW_TITANIUM); output.accept(RAW_SILICON); output.accept(LUNAR_SAPPHIRE); + output.accept(OLIVINE_SHARD); output.accept(METEORIC_IRON_INGOT); output.accept(DESH_INGOT); @@ -156,7 +157,6 @@ public class GCCreativeModeTabs { output.accept(AMBIENT_THERMAL_CONTROLLER); // FOOD - output.accept(MOON_BERRIES); output.accept(CHEESE_CURD); output.accept(CHEESE_SLICE); @@ -277,6 +277,24 @@ public class GCCreativeModeTabs { output.accept(MOON_ROCK_STAIRS); output.accept(MOON_ROCK_WALL); + output.accept(MOON_ROCK_BRICK); + output.accept(MOON_ROCK_BRICK_SLAB); + output.accept(MOON_ROCK_BRICK_STAIRS); + output.accept(MOON_ROCK_BRICK_WALL); + + output.accept(CRACKED_MOON_ROCK_BRICK); + output.accept(CRACKED_MOON_ROCK_BRICK_SLAB); + output.accept(CRACKED_MOON_ROCK_BRICK_STAIRS); + output.accept(CRACKED_MOON_ROCK_BRICK_WALL); + + output.accept(POLISHED_MOON_ROCK); + output.accept(POLISHED_MOON_ROCK_SLAB); + output.accept(POLISHED_MOON_ROCK_STAIRS); + output.accept(POLISHED_MOON_ROCK_WALL); + + output.accept(CHISELED_MOON_ROCK_BRICK); + output.accept(MOON_ROCK_PILLAR); + output.accept(COBBLED_MOON_ROCK); output.accept(COBBLED_MOON_ROCK_SLAB); output.accept(COBBLED_MOON_ROCK_STAIRS); @@ -347,12 +365,7 @@ public class GCCreativeModeTabs { for (DyeColor color : DyeColor.values()) { ItemStack stack = new ItemStack(GCBlocks.PARACHEST); - CompoundTag itemTag = new CompoundTag(); - CompoundTag blockStateTag = new CompoundTag(); - itemTag.put("BlockStateTag", blockStateTag); - blockStateTag.putString("color", color.getName()); - - stack.setTag(itemTag); + stack.set(DataComponents.BASE_COLOR, color); output.accept(stack); } @@ -394,6 +407,10 @@ public class GCCreativeModeTabs { output.accept(GALENA_ORE); + output.accept(GCBlocks.OLIVINE_BASALT); + output.accept(GCBlocks.RICH_OLIVINE_BASALT); + output.accept(GCBlocks.OLIVINE_CLUSTER); + // COMPACT MINERAL BLOCKS output.accept(MOON_CHEESE_WHEEL); output.accept(SILICON_BLOCK); @@ -402,6 +419,7 @@ public class GCCreativeModeTabs { output.accept(TITANIUM_BLOCK); output.accept(LEAD_BLOCK); output.accept(LUNAR_SAPPHIRE_BLOCK); + output.accept(GCBlocks.OLIVINE_BLOCK); // MOON VILLAGER SPECIAL output.accept(LUNAR_CARTOGRAPHY_TABLE); diff --git a/src/main/java/dev/galacticraft/mod/content/item/GCTiers.java b/src/main/java/dev/galacticraft/mod/content/item/GCTiers.java new file mode 100644 index 0000000000..0430036b4d --- /dev/null +++ b/src/main/java/dev/galacticraft/mod/content/item/GCTiers.java @@ -0,0 +1,87 @@ +/* + * Copyright (c) 2019-2024 Team Galacticraft + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package dev.galacticraft.mod.content.item; + +import com.google.common.base.Suppliers; +import net.minecraft.tags.BlockTags; +import net.minecraft.tags.TagKey; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Tier; +import net.minecraft.world.item.Tiers; +import net.minecraft.world.item.crafting.Ingredient; +import net.minecraft.world.level.block.Block; +import org.jetbrains.annotations.NotNull; + +import java.util.function.Supplier; + +public enum GCTiers implements Tier { + STEEL(BlockTags.INCORRECT_FOR_IRON_TOOL, 768, Tiers.IRON.getSpeed(), Tiers.IRON.getAttackDamageBonus(), Tiers.IRON.getEnchantmentValue(), () -> Ingredient.of(new ItemStack(GCItems.COMPRESSED_STEEL))), + DESH(BlockTags.INCORRECT_FOR_DIAMOND_TOOL, 1024, 5.0F, 2.5F, 10, () -> Ingredient.of(new ItemStack(GCItems.DESH_INGOT))), + TITANIUM(BlockTags.INCORRECT_FOR_NETHERITE_TOOL, 760, 14.0F, 4.0F, 16, () -> Ingredient.of(new ItemStack(GCItems.TITANIUM_INGOT))); + + private final TagKey incorrectBlocksForDrops; + private final int durability; + private final float blockBreakSpeed; + private final float attackDamage; + private final int enchantability; + private final Supplier repairIngredient; + + GCTiers(TagKey incorrectBlocksForDrops, int durability, float breakSpeed, float attackDamage, int enchantability, Supplier repairIngredient) { + this.incorrectBlocksForDrops = incorrectBlocksForDrops; + this.durability = durability; + this.blockBreakSpeed = breakSpeed; + this.attackDamage = attackDamage; + this.enchantability = enchantability; + this.repairIngredient = Suppliers.memoize(repairIngredient::get); + } + + @Override + public int getUses() { + return durability; + } + + @Override + public float getSpeed() { + return blockBreakSpeed; + } + + @Override + public float getAttackDamageBonus() { + return attackDamage; + } + + @Override + public @NotNull TagKey getIncorrectBlocksForDrops() { + return this.incorrectBlocksForDrops; + } + + @Override + public int getEnchantmentValue() { + return enchantability; + } + + @Override + public @NotNull Ingredient getRepairIngredient() { + return repairIngredient.get(); + } +} diff --git a/src/main/java/dev/galacticraft/mod/content/item/GCToolMaterial.java b/src/main/java/dev/galacticraft/mod/content/item/GCToolMaterial.java deleted file mode 100644 index b2893aee1f..0000000000 --- a/src/main/java/dev/galacticraft/mod/content/item/GCToolMaterial.java +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Copyright (c) 2019-2024 Team Galacticraft - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -package dev.galacticraft.mod.content.item; - -import com.google.common.base.Suppliers; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.Tier; -import net.minecraft.world.item.Tiers; -import net.minecraft.world.item.crafting.Ingredient; - -import java.util.function.Supplier; - -public enum GCToolMaterial implements Tier { - STEEL(Tiers.IRON.getLevel(), 768, Tiers.IRON.getSpeed(), Tiers.IRON.getAttackDamageBonus(), Tiers.IRON.getEnchantmentValue(), () -> Ingredient.of(new ItemStack(GCItems.COMPRESSED_STEEL))), - DESH(3, 1024, 5.0F, 2.5F, 10, () -> Ingredient.of(new ItemStack(GCItems.DESH_INGOT))), - TITANIUM(4, 760, 14.0F, 4.0F, 16, () -> Ingredient.of(new ItemStack(GCItems.TITANIUM_INGOT))); - - private final int miningLevel; - private final int durability; - private final float blockBreakSpeed; - private final float attackDamage; - private final int enchantability; - private final Supplier repairIngredient; - - GCToolMaterial(int miningLevel, int durability, float breakSpeed, float attackDamage, int enchantability, Supplier repairIngredient) { - this.miningLevel = miningLevel; - this.durability = durability; - this.blockBreakSpeed = breakSpeed; - this.attackDamage = attackDamage; - this.enchantability = enchantability; - this.repairIngredient = Suppliers.memoize(repairIngredient::get); - } - - @Override - public int getUses() { - return durability; - } - - @Override - public float getSpeed() { - return blockBreakSpeed; - } - - @Override - public float getAttackDamageBonus() { - return attackDamage; - } - - @Override - public int getLevel() { - return miningLevel; - } - - @Override - public int getEnchantmentValue() { - return enchantability; - } - - @Override - public Ingredient getRepairIngredient() { - return repairIngredient.get(); - } -} diff --git a/src/main/java/dev/galacticraft/mod/content/item/GenericLiquidCanister.java b/src/main/java/dev/galacticraft/mod/content/item/GenericLiquidCanister.java deleted file mode 100644 index d9ddee9cae..0000000000 --- a/src/main/java/dev/galacticraft/mod/content/item/GenericLiquidCanister.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (c) 2019-2024 Team Galacticraft - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -package dev.galacticraft.mod.content.item; - -import net.minecraft.world.item.Item; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.Rarity; -import net.minecraft.world.level.material.Fluid; - -public class GenericLiquidCanister extends Item { - private final Fluid allowedFluid; - - public GenericLiquidCanister(Properties settings, Fluid allowedFluid) { - super(settings); - this.allowedFluid = allowedFluid; - } - - @Override - public int getEnchantmentValue() { - return -1; - } - - @Override - public Rarity getRarity(ItemStack par1ItemStack) { - return Rarity.RARE; - } -} diff --git a/src/main/java/dev/galacticraft/mod/content/item/HotThrowableMeteorChunkItem.java b/src/main/java/dev/galacticraft/mod/content/item/HotThrowableMeteorChunkItem.java index 7b9e86c7a9..a75645c329 100644 --- a/src/main/java/dev/galacticraft/mod/content/item/HotThrowableMeteorChunkItem.java +++ b/src/main/java/dev/galacticraft/mod/content/item/HotThrowableMeteorChunkItem.java @@ -22,9 +22,9 @@ package dev.galacticraft.mod.content.item; +import dev.galacticraft.api.component.GCDataComponents; import dev.galacticraft.mod.Constant; import dev.galacticraft.mod.util.Translations; -import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.Style; import net.minecraft.world.entity.Entity; @@ -33,12 +33,10 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.level.Level; -import org.jetbrains.annotations.Nullable; import java.util.List; public class HotThrowableMeteorChunkItem extends ThrowableMeteorChunkItem { - public static String TICKS_UNTIL_COOL = "TicksUntilCool"; public static int MAX_TICKS = 45 * 20; public HotThrowableMeteorChunkItem(Properties settings) { @@ -46,15 +44,15 @@ public HotThrowableMeteorChunkItem(Properties settings) { } @Override - public void appendHoverText(ItemStack stack, @Nullable Level level, List tooltipComponents, TooltipFlag isAdvanced) { - CompoundTag tag = stack.getTag(); - if (tag != null) { - int ticksUntilCool = tag.getInt(TICKS_UNTIL_COOL); + public void appendHoverText(ItemStack stack, TooltipContext context, List tooltip, TooltipFlag type) { + super.appendHoverText(stack, context, tooltip, type); + Integer maybeTicks = stack.get(GCDataComponents.TICKS_UNTIL_COOL); + if (maybeTicks != null) { + int ticksUntilCool = maybeTicks; double secondsUntilCool = ticksUntilCool / 20.0; Style style = Constant.Text.Color.getStorageLevelStyle(1.0 - (double)ticksUntilCool/(double)MAX_TICKS); - tooltipComponents.add(Component.translatable(Translations.Tooltip.TIME_UNTIL_COOL, String.format("%.1f", secondsUntilCool)).setStyle(style)); + tooltip.add(Component.translatable(Translations.Tooltip.TIME_UNTIL_COOL, String.format("%.1f", secondsUntilCool)).setStyle(style)); } - super.appendHoverText(stack, level, tooltipComponents, isAdvanced); } @Override @@ -62,21 +60,25 @@ public void inventoryTick(ItemStack stack, Level level, Entity entity, int slotI if (level.isClientSide()) return; - CompoundTag stackTag = stack.getOrCreateTag(); - - if (!stackTag.contains(TICKS_UNTIL_COOL, CompoundTag.TAG_INT)) - stackTag.putInt(TICKS_UNTIL_COOL, MAX_TICKS); + Integer i = stack.get(GCDataComponents.TICKS_UNTIL_COOL); + int ticks; + if (i == null) { + ticks = MAX_TICKS; + } else { + ticks = i; + } - int ticksUntilCool = stackTag.getInt(TICKS_UNTIL_COOL); - if (ticksUntilCool == 0) { + if (ticks == 0) { if (entity instanceof Player player) { + stack.remove(GCDataComponents.TICKS_UNTIL_COOL); ItemStack cooledStack = new ItemStack(GCItems.THROWABLE_METEOR_CHUNK, stack.getCount()); - cooledStack.setTag(stackTag); + cooledStack.applyComponents(stack.getComponents()); + Inventory inventory = player.getInventory(); inventory.setItem(slotId, new ItemStack(GCItems.THROWABLE_METEOR_CHUNK, stack.getCount())); inventory.setChanged(); } } - stackTag.putInt(TICKS_UNTIL_COOL, ticksUntilCool - 1); + stack.set(GCDataComponents.TICKS_UNTIL_COOL, ticks - 1); } } \ No newline at end of file diff --git a/src/main/java/dev/galacticraft/mod/content/item/InfiniteBatteryItem.java b/src/main/java/dev/galacticraft/mod/content/item/InfiniteBatteryItem.java index 25406abd36..34a23835c9 100644 --- a/src/main/java/dev/galacticraft/mod/content/item/InfiniteBatteryItem.java +++ b/src/main/java/dev/galacticraft/mod/content/item/InfiniteBatteryItem.java @@ -30,8 +30,6 @@ import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; -import net.minecraft.world.level.Level; -import org.jetbrains.annotations.Nullable; import team.reborn.energy.api.EnergyStorage; import java.util.List; @@ -51,10 +49,10 @@ public boolean isFoil(ItemStack stack) { } @Override - public void appendHoverText(ItemStack stack, @Nullable Level world, List tooltip, TooltipFlag context) { + public void appendHoverText(ItemStack stack, TooltipContext context, List tooltip, TooltipFlag type) { tooltip.add(Component.translatable(Translations.Tooltip.ENERGY_REMAINING, Component.translatable(Translations.Tooltip.INFINITE).setStyle(Constant.Text.Color.getRainbow(ticks)))); tooltip.add(Component.translatable(Translations.Tooltip.CREATIVE_ONLY).setStyle(Constant.Text.Color.LIGHT_PURPLE_STYLE)); - super.appendHoverText(stack, world, tooltip, context); + super.appendHoverText(stack, context, tooltip, type); } @Override diff --git a/src/main/java/dev/galacticraft/mod/content/item/InfiniteOxygenTankItem.java b/src/main/java/dev/galacticraft/mod/content/item/InfiniteOxygenTankItem.java index 53ccd3fd8f..2ed002c6e6 100644 --- a/src/main/java/dev/galacticraft/mod/content/item/InfiniteOxygenTankItem.java +++ b/src/main/java/dev/galacticraft/mod/content/item/InfiniteOxygenTankItem.java @@ -35,8 +35,6 @@ import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; -import net.minecraft.world.level.Level; -import org.jetbrains.annotations.Nullable; import java.util.Iterator; import java.util.List; @@ -64,8 +62,8 @@ public boolean isFoil(ItemStack stack) { } @Override - public void appendHoverText(ItemStack stack, @Nullable Level world, List tooltip, TooltipFlag context) { - super.appendHoverText(stack, world, tooltip, context); + public void appendHoverText(ItemStack stack, TooltipContext context, List tooltip, TooltipFlag type) { + super.appendHoverText(stack, context, tooltip, type); tooltip.add(Component.translatable(Translations.Tooltip.OXYGEN_REMAINING, Component.translatable(Translations.Tooltip.INFINITE).setStyle(Constant.Text.Color.getRainbow(this.ticks)))); tooltip.add(Component.translatable(Translations.Tooltip.CREATIVE_ONLY).setStyle(Constant.Text.Color.LIGHT_PURPLE_STYLE)); } diff --git a/src/main/java/dev/galacticraft/mod/content/item/OxygenTankItem.java b/src/main/java/dev/galacticraft/mod/content/item/OxygenTankItem.java index ba8fdd5b9d..99540dd6a0 100644 --- a/src/main/java/dev/galacticraft/mod/content/item/OxygenTankItem.java +++ b/src/main/java/dev/galacticraft/mod/content/item/OxygenTankItem.java @@ -88,11 +88,11 @@ public boolean isFoil(ItemStack stack) { } @Override - public void appendHoverText(ItemStack stack, Level world, List lines, TooltipFlag context) { + public void appendHoverText(ItemStack stack, TooltipContext context, List tooltip, TooltipFlag type) { + super.appendHoverText(stack, context, tooltip, type); StorageView storage = (StorageView) ContainerItemContext.withConstant(stack).find(FluidStorage.ITEM); assert storage != null; - lines.add(Component.translatable(Translations.Tooltip.OXYGEN_REMAINING, storage.getAmount() + "/" + storage.getCapacity()).setStyle(Constant.Text.Color.getStorageLevelStyle(1.0 - ((double) storage.getAmount() / (double) storage.getCapacity())))); - super.appendHoverText(stack, world, lines, context); + tooltip.add(Component.translatable(Translations.Tooltip.OXYGEN_REMAINING, storage.getAmount() + "/" + storage.getCapacity()).setStyle(Constant.Text.Color.getStorageLevelStyle(1.0 - ((double) storage.getAmount() / (double) storage.getCapacity())))); } @Override diff --git a/src/main/java/dev/galacticraft/mod/content/item/RocketItem.java b/src/main/java/dev/galacticraft/mod/content/item/RocketItem.java index 451918b235..32305f3a1e 100644 --- a/src/main/java/dev/galacticraft/mod/content/item/RocketItem.java +++ b/src/main/java/dev/galacticraft/mod/content/item/RocketItem.java @@ -22,37 +22,27 @@ package dev.galacticraft.mod.content.item; -import dev.galacticraft.api.registry.RocketRegistries; +import dev.galacticraft.api.component.GCDataComponents; import dev.galacticraft.api.rocket.RocketData; import dev.galacticraft.api.rocket.part.RocketPart; import dev.galacticraft.api.rocket.part.RocketPartTypes; -import dev.galacticraft.impl.rocket.RocketDataImpl; import dev.galacticraft.mod.content.GCBlocks; import dev.galacticraft.mod.content.GCEntityTypes; import dev.galacticraft.mod.content.block.special.launchpad.AbstractLaunchPad; import dev.galacticraft.mod.content.block.special.launchpad.LaunchPadBlockEntity; import dev.galacticraft.mod.content.entity.orbital.RocketEntity; import dev.galacticraft.mod.util.Translations; -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; import net.minecraft.ChatFormatting; import net.minecraft.client.gui.screens.Screen; import net.minecraft.core.BlockPos; -import net.minecraft.nbt.CompoundTag; -import net.minecraft.nbt.ListTag; -import net.minecraft.nbt.Tag; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.Style; -import net.minecraft.resources.ResourceKey; -import net.minecraft.resources.ResourceLocation; import net.minecraft.server.level.ServerLevel; import net.minecraft.world.InteractionResult; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.item.context.UseOnContext; -import net.minecraft.world.level.Level; -import org.jetbrains.annotations.Nullable; import java.util.List; @@ -72,13 +62,13 @@ public InteractionResult useOn(UseOnContext context) { if (context.getLevel() instanceof ServerLevel) { RocketEntity rocket = new RocketEntity(GCEntityTypes.ROCKET, context.getLevel()); - CompoundTag tag = context.getItemInHand().getTag(); - RocketData data = RocketData.fromNbt(tag); + RocketData data = RocketData.fromPatch(context.getItemInHand().getComponentsPatch()); rocket.setData(data); rocket.setPad(pad); rocket.setOldPosAndRot(); rocket.absMoveTo(pos.getX() + 0.5D, pos.getY() + 0.5D, pos.getZ() + 0.5D); - if (tag.contains("creative")) { + boolean creative = context.getItemInHand().getComponents().getOrDefault(GCDataComponents.CREATIVE, false); + if (creative) { rocket.setFuel(Long.MAX_VALUE); } context.getLevel().addFreshEntity(rocket); @@ -96,40 +86,22 @@ public InteractionResult useOn(UseOnContext context) { } @Override - public ItemStack getDefaultInstance() { - var itemStack = super.getDefaultInstance(); - itemStack.setTag(RocketDataImpl.DEFAULT_ROCKET.copy()); - return itemStack; - } - - @Override - @Environment(EnvType.CLIENT) - public void appendHoverText(ItemStack stack, @Nullable Level world, List tooltip, TooltipFlag context) { - super.appendHoverText(stack, world, tooltip, context); + public void appendHoverText(ItemStack stack, TooltipContext context, List tooltip, TooltipFlag type) { + super.appendHoverText(stack, context, tooltip, type); - CompoundTag tag = stack.getOrCreateTag(); - if (tag.contains("creative")) + boolean creative = stack.getComponents().getOrDefault(GCDataComponents.CREATIVE, false); + if (creative) { tooltip.add(Component.literal("Creative Only").setStyle(Style.EMPTY.withColor(ChatFormatting.RED))); + } if (Screen.hasShiftDown()) { - if (tag.contains("color") && tag.contains("cone")) { -// tooltip.add(Component.translatable("tooltip.galacticraft.tier", tag.getInt("tier")).setStyle(Style.EMPTY.withColor(ChatFormatting.DARK_GRAY))); - tooltip.add(Component.translatable(Translations.Ui.COLOR).append(": #" + Integer.toHexString(tag.getInt("color")))); - ResourceLocation id = new ResourceLocation(tag.getString("cone")); - tooltip.add(RocketPartTypes.CONE.name.copy().append(" ").append(RocketPart.getName(ResourceKey.create(RocketRegistries.ROCKET_CONE, id))).setStyle(Style.EMPTY.withColor(ChatFormatting.GRAY))); - id = new ResourceLocation(tag.getString("body")); - tooltip.add(RocketPartTypes.BODY.name.copy().append(" ").append(RocketPart.getName(ResourceKey.create(RocketRegistries.ROCKET_BODY, id))).setStyle(Style.EMPTY.withColor(ChatFormatting.GRAY))); - id = new ResourceLocation(tag.getString("fin")); - tooltip.add(RocketPartTypes.FIN.name.copy().append(" ").append(RocketPart.getName(ResourceKey.create(RocketRegistries.ROCKET_FIN, id))).setStyle(Style.EMPTY.withColor(ChatFormatting.GRAY))); - id = new ResourceLocation(tag.getString("booster")); - tooltip.add(RocketPartTypes.BOOSTER.name.copy().append(" ").append(RocketPart.getName(ResourceKey.create(RocketRegistries.ROCKET_BOOSTER, id))).setStyle(Style.EMPTY.withColor(ChatFormatting.GRAY))); - id = new ResourceLocation(tag.getString("engine")); - tooltip.add(RocketPartTypes.ENGINE.name.copy().append(" ").append(RocketPart.getName(ResourceKey.create(RocketRegistries.ROCKET_ENGINE, id))).setStyle(Style.EMPTY.withColor(ChatFormatting.GRAY))); - ListTag list = tag.getList("upgrades", Tag.TAG_STRING); - for (int i = 0; i < list.size(); i++) { - id = new ResourceLocation(list.getString(i)); - tooltip.add(RocketPartTypes.CONE.name.copy().append(" ").append(RocketPart.getName(ResourceKey.create(RocketRegistries.ROCKET_UPGRADE, id))).setStyle(Style.EMPTY.withColor(ChatFormatting.GRAY))); - } - } + RocketData data = RocketData.fromPatch(stack.getComponentsPatch()); + tooltip.add(Component.translatable(Translations.Ui.COLOR).append(Component.literal(": #" + Integer.toHexString(data.color())).withColor(data.color()))); + if (data.cone() != null) tooltip.add(RocketPartTypes.CONE.name.copy().append(" ").append(RocketPart.getName(data.cone().key())).setStyle(Style.EMPTY.withColor(ChatFormatting.GRAY))); + if (data.body() != null) tooltip.add(RocketPartTypes.BODY.name.copy().append(" ").append(RocketPart.getName(data.body().key())).setStyle(Style.EMPTY.withColor(ChatFormatting.GRAY))); + if (data.fin() != null) tooltip.add(RocketPartTypes.FIN.name.copy().append(" ").append(RocketPart.getName(data.fin().key())).setStyle(Style.EMPTY.withColor(ChatFormatting.GRAY))); + if (data.booster() != null) tooltip.add(RocketPartTypes.BOOSTER.name.copy().append(" ").append(RocketPart.getName(data.booster().key())).setStyle(Style.EMPTY.withColor(ChatFormatting.GRAY))); + if (data.engine() != null) tooltip.add(RocketPartTypes.ENGINE.name.copy().append(" ").append(RocketPart.getName(data.engine().key())).setStyle(Style.EMPTY.withColor(ChatFormatting.GRAY))); + if (data.upgrade() != null) tooltip.add(RocketPartTypes.UPGRADE.name.copy().append(" ").append(RocketPart.getName(data.upgrade().key())).setStyle(Style.EMPTY.withColor(ChatFormatting.GRAY))); } else { tooltip.add(Component.translatable(Translations.Tooltip.PRESS_SHIFT).setStyle(Style.EMPTY.withColor(ChatFormatting.GRAY))); } diff --git a/src/main/java/dev/galacticraft/mod/content/item/SchematicItem.java b/src/main/java/dev/galacticraft/mod/content/item/SchematicItem.java index d69aefb97d..ae06eddde8 100644 --- a/src/main/java/dev/galacticraft/mod/content/item/SchematicItem.java +++ b/src/main/java/dev/galacticraft/mod/content/item/SchematicItem.java @@ -22,11 +22,10 @@ package dev.galacticraft.mod.content.item; +import dev.galacticraft.api.component.GCDataComponents; import dev.galacticraft.api.item.Schematic; import dev.galacticraft.api.rocket.part.RocketPart; -import net.minecraft.nbt.CompoundTag; import net.minecraft.resources.ResourceKey; -import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import org.jetbrains.annotations.NotNull; @@ -39,13 +38,9 @@ public SchematicItem(Properties settings) { @Override public @Nullable ResourceKey> getPart(@NotNull ItemStack stack) { - CompoundTag tag = stack.getTag(); - if (tag != null) { - String registry = tag.getString("registry"); - String location = tag.getString("location"); - if (!registry.isEmpty() && !location.isEmpty()) { - return ResourceKey.create(ResourceKey.createRegistryKey(new ResourceLocation(registry)), new ResourceLocation(location)); - } + ResourceKey resourceKey = stack.get(GCDataComponents.KEY); + if (resourceKey != null) { + return (ResourceKey>) resourceKey; } return null; } diff --git a/src/main/java/dev/galacticraft/mod/content/item/StandardWrenchItem.java b/src/main/java/dev/galacticraft/mod/content/item/StandardWrenchItem.java index 92d64dc0ca..c8957d4f88 100644 --- a/src/main/java/dev/galacticraft/mod/content/item/StandardWrenchItem.java +++ b/src/main/java/dev/galacticraft/mod/content/item/StandardWrenchItem.java @@ -29,6 +29,7 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.network.chat.Component; +import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.player.Player; @@ -42,7 +43,9 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.properties.EnumProperty; import net.minecraft.world.level.block.state.properties.Property; +import org.jetbrains.annotations.NotNull; +import java.util.Collection; import java.util.List; public class StandardWrenchItem extends Item { @@ -59,36 +62,42 @@ private static T cycle(Iterable values, T obj, boolean reverse) { } @Override - public InteractionResult useOn(UseOnContext context) { + public @NotNull InteractionResult useOn(UseOnContext context) { Player player = context.getPlayer(); Level world = context.getLevel(); if (!world.isClientSide && player != null) { BlockPos pos = context.getClickedPos(); - this.use(player, world.getBlockState(pos), world, pos, context.getItemInHand()); + this.use(player, world.getBlockState(pos), world, pos, context.getHand(), context.getItemInHand()); } return InteractionResult.SUCCESS; } - private void use(Player player, BlockState state, LevelAccessor world, BlockPos pos, ItemStack stack) { + private void use(Player player, BlockState state, LevelAccessor world, BlockPos pos, InteractionHand hand, ItemStack stack) { Block block = state.getBlock(); - if (block.getStateDefinition().getProperty("facing") instanceof EnumProperty property && property.getPossibleValues().contains(Direction.NORTH)) { - BlockState newState = cycle(state, property, player.isShiftKeyDown()); - world.setBlock(pos, newState, 18); - stack.hurtAndBreak(2, player, (entity) -> entity.broadcastBreakEvent(EquipmentSlot.MAINHAND)); - }/* else if (block.getStateDefinition().getProperty("axis") instanceof EnumProperty property && property.getPossibleValues().contains(Direction.Axis.X)) { - BlockState newState = cycle(state, property, player.isShiftKeyDown()); - world.setBlock(pos, newState, 18); - stack.hurtAndBreak(2, player, (entity) -> entity.broadcastBreakEvent(EquipmentSlot.MAINHAND)); - }*/ + if (block.getStateDefinition().getProperty("facing") instanceof EnumProperty property) { + Collection possibleValues = property.getPossibleValues(); + if (possibleValues.size() <= Direction.values().length) { + for (Object value : possibleValues) { + if (!(value instanceof Direction)) { + return; + } + } + + BlockState newState = cycle(state, property, player.isShiftKeyDown()); + world.setBlock(pos, newState, 18); + stack.hurtAndBreak(2, player, hand == InteractionHand.MAIN_HAND ? EquipmentSlot.MAINHAND : EquipmentSlot.OFFHAND); + } + } } @Override - public void appendHoverText(ItemStack stack, Level world, List lines, TooltipFlag context) { + public void appendHoverText(ItemStack stack, TooltipContext context, List tooltip, TooltipFlag type) { + super.appendHoverText(stack, context, tooltip, type); if (Screen.hasShiftDown()) { - lines.add(Component.translatable(Translations.Tooltip.STANDARD_WRENCH).setStyle(Constant.Text.Color.GRAY_STYLE)); + tooltip.add(Component.translatable(Translations.Tooltip.STANDARD_WRENCH).setStyle(Constant.Text.Color.GRAY_STYLE)); } else { - lines.add(Component.translatable(Translations.Tooltip.PRESS_SHIFT).setStyle(Constant.Text.Color.GRAY_STYLE)); + tooltip.add(Component.translatable(Translations.Tooltip.PRESS_SHIFT).setStyle(Constant.Text.Color.GRAY_STYLE)); } } } diff --git a/src/main/java/dev/galacticraft/mod/data/GCEntityLoot.java b/src/main/java/dev/galacticraft/mod/data/GCEntityLoot.java index d8f1d5fffa..9a953b7685 100644 --- a/src/main/java/dev/galacticraft/mod/data/GCEntityLoot.java +++ b/src/main/java/dev/galacticraft/mod/data/GCEntityLoot.java @@ -26,7 +26,7 @@ import dev.galacticraft.mod.content.GCRegistry; import dev.galacticraft.mod.data.loot.GCEntityLootSubProvider; import net.minecraft.advancements.critereon.EntityPredicate; -import net.minecraft.data.loot.EntityLootSubProvider; +import net.minecraft.core.HolderLookup; import net.minecraft.tags.EntityTypeTags; import net.minecraft.tags.ItemTags; import net.minecraft.world.entity.EntityType; @@ -37,18 +37,21 @@ import net.minecraft.world.level.storage.loot.LootTable; import net.minecraft.world.level.storage.loot.entries.LootItem; import net.minecraft.world.level.storage.loot.entries.TagEntry; -import net.minecraft.world.level.storage.loot.functions.LootingEnchantFunction; +import net.minecraft.world.level.storage.loot.functions.EnchantedCountIncreaseFunction; import net.minecraft.world.level.storage.loot.functions.SetItemCountFunction; import net.minecraft.world.level.storage.loot.functions.SmeltItemFunction; import net.minecraft.world.level.storage.loot.predicates.LootItemEntityPropertyCondition; import net.minecraft.world.level.storage.loot.predicates.LootItemKilledByPlayerCondition; -import net.minecraft.world.level.storage.loot.predicates.LootItemRandomChanceWithLootingCondition; +import net.minecraft.world.level.storage.loot.predicates.LootItemRandomChanceWithEnchantedBonusCondition; import net.minecraft.world.level.storage.loot.providers.number.ConstantValue; import net.minecraft.world.level.storage.loot.providers.number.UniformGenerator; public class GCEntityLoot extends GCEntityLootSubProvider { - protected GCEntityLoot() { - super(FeatureFlags.REGISTRY.allFlags()); + private final HolderLookup.Provider lookup; + + protected GCEntityLoot(HolderLookup.Provider lookup) { + super(FeatureFlags.REGISTRY.allFlags(), lookup); + this.lookup = lookup; } @Override @@ -62,7 +65,7 @@ public void generate() { .add( LootItem.lootTableItem(Items.ROTTEN_FLESH) .apply(SetItemCountFunction.setCount(UniformGenerator.between(0.0F, 2.0F))) - .apply(LootingEnchantFunction.lootingMultiplier(UniformGenerator.between(0.0F, 1.0F))) + .apply(EnchantedCountIncreaseFunction.lootingMultiplier(this.lookup, UniformGenerator.between(0.0F, 1.0F))) ) ) .withPool( @@ -72,10 +75,10 @@ public void generate() { .add(LootItem.lootTableItem(Items.CARROT)) .add( LootItem.lootTableItem(Items.POTATO) - .apply(SmeltItemFunction.smelted().when(LootItemEntityPropertyCondition.hasProperties(LootContext.EntityTarget.THIS, ENTITY_ON_FIRE))) + .apply(SmeltItemFunction.smelted().when(this.shouldSmeltLoot())) ) .when(LootItemKilledByPlayerCondition.killedByPlayer()) - .when(LootItemRandomChanceWithLootingCondition.randomChanceAndLootingBoost(0.025F, 0.01F)) + .when(LootItemRandomChanceWithEnchantedBonusCondition.randomChanceAndLootingBoost(this.lookup, 0.025F, 0.01F)) ) ); add( @@ -87,13 +90,13 @@ public void generate() { .add( LootItem.lootTableItem(Items.GUNPOWDER) .apply(SetItemCountFunction.setCount(UniformGenerator.between(0.0F, 2.0F))) - .apply(LootingEnchantFunction.lootingMultiplier(UniformGenerator.between(0.0F, 1.0F))) + .apply(EnchantedCountIncreaseFunction.lootingMultiplier(this.lookup, UniformGenerator.between(0.0F, 1.0F))) ) ) .withPool( LootPool.lootPool() .add(TagEntry.expandTag(ItemTags.CREEPER_DROP_MUSIC_DISCS)) - .when(LootItemEntityPropertyCondition.hasProperties(LootContext.EntityTarget.KILLER, EntityPredicate.Builder.entity().of(EntityTypeTags.SKELETONS))) + .when(LootItemEntityPropertyCondition.hasProperties(LootContext.EntityTarget.ATTACKER, EntityPredicate.Builder.entity().of(EntityTypeTags.SKELETONS))) ) ); add( @@ -105,7 +108,7 @@ public void generate() { .add( LootItem.lootTableItem(Items.ARROW) .apply(SetItemCountFunction.setCount(UniformGenerator.between(0.0F, 2.0F))) - .apply(LootingEnchantFunction.lootingMultiplier(UniformGenerator.between(0.0F, 1.0F))) + .apply(EnchantedCountIncreaseFunction.lootingMultiplier(this.lookup, UniformGenerator.between(0.0F, 1.0F))) ) ) .withPool( @@ -114,7 +117,7 @@ public void generate() { .add( LootItem.lootTableItem(Items.BONE) .apply(SetItemCountFunction.setCount(UniformGenerator.between(0.0F, 2.0F))) - .apply(LootingEnchantFunction.lootingMultiplier(UniformGenerator.between(0.0F, 1.0F))) + .apply(EnchantedCountIncreaseFunction.lootingMultiplier(this.lookup, UniformGenerator.between(0.0F, 1.0F))) ) ) ); @@ -127,7 +130,7 @@ public void generate() { .add( LootItem.lootTableItem(Items.STRING) .apply(SetItemCountFunction.setCount(UniformGenerator.between(0.0F, 2.0F))) - .apply(LootingEnchantFunction.lootingMultiplier(UniformGenerator.between(0.0F, 1.0F))) + .apply(EnchantedCountIncreaseFunction.lootingMultiplier(this.lookup, UniformGenerator.between(0.0F, 1.0F))) ) ) .withPool( @@ -136,7 +139,7 @@ public void generate() { .add( LootItem.lootTableItem(Items.SPIDER_EYE) .apply(SetItemCountFunction.setCount(UniformGenerator.between(-1.0F, 1.0F))) - .apply(LootingEnchantFunction.lootingMultiplier(UniformGenerator.between(0.0F, 1.0F))) + .apply(EnchantedCountIncreaseFunction.lootingMultiplier(this.lookup, UniformGenerator.between(0.0F, 1.0F))) ) .when(LootItemKilledByPlayerCondition.killedByPlayer()) ) @@ -152,7 +155,7 @@ public void generate() { .add( LootItem.lootTableItem(Items.EMERALD) .apply(SetItemCountFunction.setCount(UniformGenerator.between(0.0F, 1.0F))) - .apply(LootingEnchantFunction.lootingMultiplier(UniformGenerator.between(0.0F, 1.0F))) + .apply(EnchantedCountIncreaseFunction.lootingMultiplier(this.lookup, UniformGenerator.between(0.0F, 1.0F))) ) .when(LootItemKilledByPlayerCondition.killedByPlayer()) ) @@ -166,7 +169,7 @@ public void generate() { .add( LootItem.lootTableItem(Items.EMERALD) .apply(SetItemCountFunction.setCount(UniformGenerator.between(0.0F, 1.0F))) - .apply(LootingEnchantFunction.lootingMultiplier(UniformGenerator.between(0.0F, 1.0F))) + .apply(EnchantedCountIncreaseFunction.lootingMultiplier(this.lookup, UniformGenerator.between(0.0F, 1.0F))) ) .when(LootItemKilledByPlayerCondition.killedByPlayer()) ) diff --git a/src/main/java/dev/galacticraft/mod/data/GCLootTableProvider.java b/src/main/java/dev/galacticraft/mod/data/GCLootTableProvider.java index c77e6d3bd8..65b003c389 100644 --- a/src/main/java/dev/galacticraft/mod/data/GCLootTableProvider.java +++ b/src/main/java/dev/galacticraft/mod/data/GCLootTableProvider.java @@ -23,21 +23,23 @@ package dev.galacticraft.mod.data; import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; +import net.minecraft.core.HolderLookup; import net.minecraft.data.loot.LootTableProvider; -import net.minecraft.world.level.storage.loot.BuiltInLootTables; import net.minecraft.world.level.storage.loot.parameters.LootContextParamSets; import java.util.List; import java.util.Set; +import java.util.concurrent.CompletableFuture; public class GCLootTableProvider { - public static LootTableProvider create(FabricDataOutput output) { + public static LootTableProvider create(FabricDataOutput output, CompletableFuture lookup) { return new LootTableProvider( output, Set.of(), List.of( new LootTableProvider.SubProviderEntry(GCEntityLoot::new, LootContextParamSets.ENTITY) - ) + ), + lookup ); } } diff --git a/src/main/java/dev/galacticraft/mod/data/GCTranslationProvider.java b/src/main/java/dev/galacticraft/mod/data/GCTranslationProvider.java index 59d712b602..2bab3eff63 100644 --- a/src/main/java/dev/galacticraft/mod/data/GCTranslationProvider.java +++ b/src/main/java/dev/galacticraft/mod/data/GCTranslationProvider.java @@ -130,6 +130,9 @@ protected void generateTranslations(HolderLookup.@NotNull Provider registries) { this.add(RecipeCategory.CIRCUIT_FABRICATOR, "Circuit Fabricating"); this.add(RecipeCategory.COMPRESSOR, "Compressing"); + + this.add(BannerPattern.ROCKET, "Rocket"); + this.add(Chat.BED_FAIL, "Uh oh, what if the oxygen runs out when I am asleep? I'll need a Cryogenic Chamber to sleep in space!"); this.add(Chat.ROCKET_WARNING, "Press again to launch."); diff --git a/src/main/java/dev/galacticraft/mod/data/content/BootstrapDataProvider.java b/src/main/java/dev/galacticraft/mod/data/content/BootstrapDataProvider.java index 066fd12c90..461acd195d 100644 --- a/src/main/java/dev/galacticraft/mod/data/content/BootstrapDataProvider.java +++ b/src/main/java/dev/galacticraft/mod/data/content/BootstrapDataProvider.java @@ -27,7 +27,7 @@ import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator; import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; import net.minecraft.core.HolderLookup; -import net.minecraft.data.worldgen.BootstapContext; +import net.minecraft.data.worldgen.BootstrapContext; import org.jetbrains.annotations.Contract; import org.jetbrains.annotations.NotNull; @@ -36,14 +36,14 @@ public class BootstrapDataProvider extends GCDynamicRegistryProvider { private final String name; - private final Consumer> consumer; + private final Consumer> consumer; @Contract(pure = true) - public static FabricDataGenerator.Pack.@NotNull RegistryDependentFactory> create(String name, Consumer> bootstrap) { + public static FabricDataGenerator.Pack.@NotNull RegistryDependentFactory> create(String name, Consumer> bootstrap) { return (output, registriesFuture) -> new BootstrapDataProvider<>(output, registriesFuture, name, bootstrap); } - private BootstrapDataProvider(FabricDataOutput output, CompletableFuture future, String name, Consumer> consumer) { + private BootstrapDataProvider(FabricDataOutput output, CompletableFuture future, String name, Consumer> consumer) { super(output, future); this.name = name; this.consumer = consumer; diff --git a/src/main/java/dev/galacticraft/mod/data/content/GCLevelStemProvider.java b/src/main/java/dev/galacticraft/mod/data/content/GCLevelStemProvider.java index 260599c32f..15e7177fb1 100644 --- a/src/main/java/dev/galacticraft/mod/data/content/GCLevelStemProvider.java +++ b/src/main/java/dev/galacticraft/mod/data/content/GCLevelStemProvider.java @@ -31,7 +31,7 @@ import net.minecraft.data.CachedOutput; import net.minecraft.data.DataProvider; import net.minecraft.data.PackOutput; -import net.minecraft.data.worldgen.BootstapContext; +import net.minecraft.data.worldgen.BootstrapContext; import net.minecraft.resources.RegistryOps; import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; @@ -46,9 +46,9 @@ public class GCLevelStemProvider implements DataProvider { private final PackOutput.PathProvider path; private final CompletableFuture registriesFuture; - private final Consumer> bootstrap; + private final Consumer> bootstrap; - public GCLevelStemProvider(FabricDataOutput output, CompletableFuture registriesFuture, Consumer> bootstrap) { + public GCLevelStemProvider(FabricDataOutput output, CompletableFuture registriesFuture, Consumer> bootstrap) { this.path = output.createPathProvider(PackOutput.Target.DATA_PACK, "dimension"); this.registriesFuture = registriesFuture; this.bootstrap = bootstrap; @@ -58,7 +58,7 @@ public GCLevelStemProvider(FabricDataOutput output, CompletableFuture run(CachedOutput output) { return this.registriesFuture.thenCompose(registries -> { Map entries = new HashMap<>(); - this.bootstrap.accept(new BootstapContext<>() { + this.bootstrap.accept(new BootstrapContext<>() { @Override public Holder.Reference register(ResourceKey resourceKey, LevelStem object, Lifecycle lifecycle) { entries.put(resourceKey.location(), object); @@ -74,7 +74,7 @@ public HolderGetter lookup(ResourceKey LevelStem.CODEC.encodeStart(ops, entry.getValue()).get().orThrow()) + var completableFuture = CompletableFuture.supplyAsync(() -> LevelStem.CODEC.encodeStart(ops, entry.getValue()).getOrThrow()) .thenCompose(json -> DataProvider.saveStable(output, json, this.path.json(entry.getKey()))); futures[i++] = completableFuture; } diff --git a/src/main/java/dev/galacticraft/mod/data/gen/SatelliteChunkGenerator.java b/src/main/java/dev/galacticraft/mod/data/gen/SatelliteChunkGenerator.java index a8b6756e2a..06e5c73814 100644 --- a/src/main/java/dev/galacticraft/mod/data/gen/SatelliteChunkGenerator.java +++ b/src/main/java/dev/galacticraft/mod/data/gen/SatelliteChunkGenerator.java @@ -26,6 +26,7 @@ import com.mojang.serialization.Codec; import com.mojang.serialization.DataResult; import com.mojang.serialization.DynamicOps; +import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import net.minecraft.core.*; import net.minecraft.core.registries.Registries; @@ -55,16 +56,17 @@ import net.minecraft.world.level.levelgen.blending.Blender; import net.minecraft.world.level.levelgen.structure.Structure; import net.minecraft.world.level.levelgen.structure.StructureSet; +import net.minecraft.world.level.levelgen.structure.templatesystem.LiquidSettings; import net.minecraft.world.level.levelgen.structure.templatesystem.StructurePlaceSettings; import net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate; import net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplateManager; import org.jetbrains.annotations.ApiStatus; +import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.util.List; import java.util.Optional; import java.util.concurrent.CompletableFuture; -import java.util.concurrent.Executor; import java.util.stream.Stream; @ApiStatus.Internal @@ -89,7 +91,7 @@ public DataResult encode(StructureTemplate input, DynamicOps ops, T pr return DataResult.success(NbtOps.INSTANCE.convertTo(ops, input.save(new CompoundTag()))); } }; - public static final Codec CODEC = RecordCodecBuilder.create(instance -> instance.group( + public static final MapCodec CODEC = RecordCodecBuilder.mapCodec(instance -> instance.group( Biome.CODEC.fieldOf("biome").forGetter(SatelliteChunkGenerator::getBiome), STRUCTURE_CODEC.fieldOf("structure").forGetter(SatelliteChunkGenerator::getStructure) ).apply(instance, SatelliteChunkGenerator::new)); @@ -109,7 +111,7 @@ public StructureTemplate getStructure() { } @Override - protected Codec codec() { + protected @NotNull MapCodec codec() { return CODEC; } @@ -126,14 +128,14 @@ public void spawnOriginalMobs(WorldGenRegion region) { } @Override - public CompletableFuture createBiomes(Executor executor, RandomState randomState, Blender blender, StructureManager structureManager, ChunkAccess chunkAccess) { - return CompletableFuture.completedFuture(chunkAccess); + public CompletableFuture createBiomes(RandomState noiseConfig, Blender blender, StructureManager structureAccessor, ChunkAccess chunkAccess) { + return super.createBiomes(noiseConfig, blender, structureAccessor, chunkAccess); } @Override public void applyBiomeDecoration(WorldGenLevel world, ChunkAccess chunk, StructureManager structureAccessor) { if (chunk.getPos().x == 0 && chunk.getPos().z == 0) { - this.structure.placeInWorld(world, new BlockPos(0, 60, 0), new BlockPos(0, 60, 0), new StructurePlaceSettings().setIgnoreEntities(true).setKeepLiquids(true).setRandom(world.getRandom()), world.getRandom(), 0); + this.structure.placeInWorld(world, new BlockPos(0, 60, 0), new BlockPos(0, 60, 0), new StructurePlaceSettings().setIgnoreEntities(true).setLiquidSettings(LiquidSettings.APPLY_WATERLOGGING).setRandom(world.getRandom()), world.getRandom(), 0); } } @@ -161,7 +163,7 @@ public void createReferences(WorldGenLevel world, StructureManager accessor, Chu } @Override - public CompletableFuture fillFromNoise(Executor executor, Blender arg, RandomState noiseConfig, StructureManager structureAccessor, ChunkAccess chunk) { + public @NotNull CompletableFuture fillFromNoise(Blender blender, RandomState noiseConfig, StructureManager structureAccessor, ChunkAccess chunk) { return CompletableFuture.completedFuture(chunk); } @@ -192,7 +194,7 @@ public Pair> findNearestMapStructure(ServerLevel wor } @Override - public Optional>> getTypeNameForDataFixer() { + public Optional>> getTypeNameForDataFixer() { return super.getTypeNameForDataFixer(); } diff --git a/src/main/java/dev/galacticraft/mod/data/loot/GCEntityLootSubProvider.java b/src/main/java/dev/galacticraft/mod/data/loot/GCEntityLootSubProvider.java index c8283e3de7..bb806a48ef 100644 --- a/src/main/java/dev/galacticraft/mod/data/loot/GCEntityLootSubProvider.java +++ b/src/main/java/dev/galacticraft/mod/data/loot/GCEntityLootSubProvider.java @@ -24,8 +24,9 @@ import com.google.common.collect.Sets; import dev.galacticraft.mod.content.GCRegistry; +import net.minecraft.core.HolderLookup; import net.minecraft.data.loot.EntityLootSubProvider; -import net.minecraft.resources.ResourceLocation; +import net.minecraft.resources.ResourceKey; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.MobCategory; import net.minecraft.world.flag.FeatureFlagSet; @@ -42,30 +43,30 @@ public abstract class GCEntityLootSubProvider extends EntityLootSubProvider { protected final FeatureFlagSet allowed; protected final FeatureFlagSet required; - protected GCEntityLootSubProvider(FeatureFlagSet allowed) { - this(allowed, allowed); + protected GCEntityLootSubProvider(FeatureFlagSet allowed, HolderLookup.Provider lookup) { + this(allowed, allowed, lookup); } - protected GCEntityLootSubProvider(FeatureFlagSet allowed, FeatureFlagSet required) { - super(allowed, required); + protected GCEntityLootSubProvider(FeatureFlagSet allowed, FeatureFlagSet required, HolderLookup.Provider lookup) { + super(allowed, required, lookup); this.allowed = allowed; this.required = required; } @Override - public void generate(BiConsumer biConsumer) { + public void generate(BiConsumer, LootTable.Builder> biConsumer) { this.generate(); - Set set = Sets.newHashSet(); + Set> set = Sets.newHashSet(); getRegistry().getEntries() .forEach( entityType -> { EntityType entityType2 = entityType.value(); if (entityType2.isEnabled(this.allowed)) { if (canHaveLootTable(entityType2)) { - Map map = this.map.remove(entityType2); - ResourceLocation resourceLocation = entityType2.getDefaultLootTable(); - if (!resourceLocation.equals(BuiltInLootTables.EMPTY) && entityType2.isEnabled(this.required) && (map == null || !map.containsKey(resourceLocation))) { - throw new IllegalStateException(String.format(Locale.ROOT, "Missing loottable '%s' for '%s'", resourceLocation, entityType.key().location())); + Map, LootTable.Builder> map = this.map.remove(entityType2); + ResourceKey key = entityType2.getDefaultLootTable(); + if (!key.equals(BuiltInLootTables.EMPTY) && entityType2.isEnabled(this.required) && (map == null || !map.containsKey(key))) { + throw new IllegalStateException(String.format(Locale.ROOT, "Missing loottable '%s' for '%s'", key, entityType.key().location())); } if (map != null) { @@ -78,13 +79,13 @@ public void generate(BiConsumer biConsumer) }); } } else { - Map map = this.map.remove(entityType2); + Map, LootTable.Builder> map = this.map.remove(entityType2); if (map != null) { throw new IllegalStateException( String.format( Locale.ROOT, "Weird loottables '%s' for '%s', not a LivingEntity so should not have loot", - map.keySet().stream().map(ResourceLocation::toString).collect(Collectors.joining(",")), + map.keySet().stream().map(ResourceKey::toString).collect(Collectors.joining(",")), entityType.key().location() ) ); diff --git a/src/main/java/dev/galacticraft/mod/data/model/GCBlockFamilies.java b/src/main/java/dev/galacticraft/mod/data/model/GCBlockFamilies.java index e48c08ec47..96929b6712 100644 --- a/src/main/java/dev/galacticraft/mod/data/model/GCBlockFamilies.java +++ b/src/main/java/dev/galacticraft/mod/data/model/GCBlockFamilies.java @@ -55,6 +55,21 @@ public class GCBlockFamilies { .stairs(MOON_ROCK_STAIRS) .wall(MOON_ROCK_WALL) .getFamily(); + public static final BlockFamily MOON_ROCK_BRICKS = builder(MOON_ROCK_BRICK) + .slab(MOON_ROCK_BRICK_SLAB) + .stairs(MOON_ROCK_BRICK_STAIRS) + .wall(MOON_ROCK_BRICK_WALL) + .getFamily(); + public static final BlockFamily CRACKED_MOON_ROCK_BRICKS = builder(CRACKED_MOON_ROCK_BRICK) + .slab(CRACKED_MOON_ROCK_BRICK_SLAB) + .stairs(CRACKED_MOON_ROCK_BRICK_STAIRS) + .wall(CRACKED_MOON_ROCK_BRICK_WALL) + .getFamily(); + public static final BlockFamily POLISHED_MOON_ROCKS = builder(POLISHED_MOON_ROCK) + .slab(POLISHED_MOON_ROCK_SLAB) + .stairs(POLISHED_MOON_ROCK_STAIRS) + .wall(POLISHED_MOON_ROCK_WALL) + .getFamily(); public static final BlockFamily COBBLED_MOON_ROCKS = builder(COBBLED_MOON_ROCK) .slab(COBBLED_MOON_ROCK_SLAB) .stairs(COBBLED_MOON_ROCK_STAIRS) diff --git a/src/main/java/dev/galacticraft/mod/data/model/GCModelProvider.java b/src/main/java/dev/galacticraft/mod/data/model/GCModelProvider.java index 9b382910f9..6dce63db52 100644 --- a/src/main/java/dev/galacticraft/mod/data/model/GCModelProvider.java +++ b/src/main/java/dev/galacticraft/mod/data/model/GCModelProvider.java @@ -71,9 +71,7 @@ public void generateBlockStateModels(BlockModelGenerators generator) { List decorations = GCBlocks.BLOCKS.getDecorations(); - decorations.forEach(decorationSet -> { - putDetailedTextured(generator, decorationSet.detailedBlock()); - }); + decorations.forEach(decorationSet -> putDetailedTextured(generator, decorationSet.detailedBlock())); generator.texturedModels.put(GCBlocks.LUNASLATE, TexturedModel.COLUMN_WITH_WALL.get(GCBlocks.LUNASLATE)); GCBlockFamilies.getAllFamilies() @@ -99,6 +97,9 @@ public void generateBlockStateModels(BlockModelGenerators generator) { createRotatedDelegate(generator, GCBlocks.MOON_DIRT_PATH); generator.createTrivialCube(GCBlocks.MOON_SURFACE_ROCK); generator.createTrivialCube(GCBlocks.MOON_DUNGEON_BRICK); + generator.createTrivialCube(GCBlocks.CHISELED_MOON_ROCK_BRICK); + generator.createAxisAlignedPillarBlock(GCBlocks.MOON_ROCK_PILLAR, TexturedModel.COLUMN); + generator.createAxisAlignedPillarBlock(GCBlocks.OLIVINE_BLOCK, TexturedModel.COLUMN); // MARS NATURAL generator.createTrivialCube(GCBlocks.MARS_SURFACE_ROCK); @@ -180,6 +181,11 @@ public void generateBlockStateModels(BlockModelGenerators generator) { generator.createTrivialCube(GCBlocks.GALENA_ORE); + this.createOlivineCluster(generator, GCBlocks.OLIVINE_CLUSTER); + generator.createSimpleFlatItemModel(GCBlocks.OLIVINE_CLUSTER, "_vertical"); + generator.createTrivialCube(GCBlocks.OLIVINE_BASALT); + generator.createTrivialCube(GCBlocks.RICH_OLIVINE_BASALT); + this.createCheeseBlock(generator); this.createCandleCheeseBlock(generator, Blocks.CANDLE, GCBlocks.CANDLE_MOON_CHEESE_WHEEL); this.createCandleCheeseBlock(generator, Blocks.WHITE_CANDLE, GCBlocks.WHITE_CANDLE_MOON_CHEESE_WHEEL); @@ -212,11 +218,6 @@ public void generateBlockStateModels(BlockModelGenerators generator) { // MISC WORLD GEN this.createCavernousVines(generator); - generator.blockStateOutput.accept(MultiVariantGenerator.multiVariant(GCBlocks.MOON_BERRY_BUSH) - .with(PropertyDispatch.property(BlockStateProperties.AGE_3) - .generate(integer -> Variant.variant().with(VariantProperties.MODEL, generator.createSuffixedVariant(GCBlocks.MOON_BERRY_BUSH, "_stage" + integer, ModelTemplates.CROSS, TextureMapping::cross))) - ) - ); // DUMMY generator.createAirLikeBlock(GCBlocks.SOLAR_PANEL_PART, GCItems.BLUE_SOLAR_WAFER); @@ -256,10 +257,10 @@ public void generateBlockStateModels(BlockModelGenerators generator) { GCBlocks.PARACHEST.getStateDefinition().getPossibleStates().forEach(state -> { para.with(Condition.condition().term(ParaChestBlock.FACING, state.getValue(ParaChestBlock.FACING))/*.term(ParaChestBlock.COLOR, state.getValue(ParaChestBlock.COLOR))*/, Variant.variant() .with(VariantProperties.Y_ROT, getRotationFromDirection(state.getValue(ParaChestBlock.FACING))) - .with(VariantProperties.MODEL, new ResourceLocation("galacticraft:block/parachest/parachest"))); + .with(VariantProperties.MODEL, ResourceLocation.parse("galacticraft:block/parachest/parachest"))); para.with(Condition.condition().term(ParaChestBlock.COLOR, state.getValue(ParaChestBlock.COLOR)), Variant.variant() .with(VariantProperties.Y_ROT, getRotationFromDirection(state.getValue(ParaChestBlock.FACING))) - .with(VariantProperties.MODEL, new ResourceLocation("galacticraft:block/parachest/" + state.getValue(ParaChestBlock.COLOR) + "_chute"))); + .with(VariantProperties.MODEL, ResourceLocation.parse("galacticraft:block/parachest/" + state.getValue(ParaChestBlock.COLOR) + "_chute"))); }); generator.blockStateOutput.accept(para); } @@ -494,6 +495,7 @@ public void generateItemModels(ItemModelGenerators generator) { generator.generateFlatItem(GCItems.COMPRESSED_STEEL, ModelTemplates.FLAT_ITEM); generator.generateFlatItem(GCItems.LUNAR_SAPPHIRE, ModelTemplates.FLAT_ITEM); + generator.generateFlatItem(GCItems.OLIVINE_SHARD, ModelTemplates.FLAT_ITEM); generator.generateFlatItem(GCItems.DESH_STICK, ModelTemplates.FLAT_HANDHELD_ITEM); generator.generateFlatItem(GCItems.CARBON_FRAGMENTS, ModelTemplates.FLAT_ITEM); generator.generateFlatItem(GCItems.IRON_SHARD, ModelTemplates.FLAT_ITEM); @@ -522,7 +524,6 @@ public void generateItemModels(ItemModelGenerators generator) { generator.generateFlatItem(GCItems.AMBIENT_THERMAL_CONTROLLER, ModelTemplates.FLAT_ITEM); // FOOD - generator.generateFlatItem(GCItems.MOON_BERRIES, ModelTemplates.FLAT_ITEM); generator.generateFlatItem(GCItems.CHEESE_CURD, ModelTemplates.FLAT_ITEM); generator.generateFlatItem(GCItems.CHEESE_SLICE, ModelTemplates.FLAT_ITEM); @@ -589,9 +590,7 @@ public void generateItemModels(ItemModelGenerators generator) { generator.generateFlatItem(GCItems.SULFURIC_ACID_BUCKET, ModelTemplates.FLAT_ITEM); //GALACTICRAFT INVENTORY - GCItems.PARACHUTE.colorMap().forEach((color, parachute) -> { - generator.generateFlatItem(parachute, ModelTemplates.FLAT_ITEM); - }); + GCItems.PARACHUTE.colorMap().forEach((color, parachute) -> generator.generateFlatItem(parachute, ModelTemplates.FLAT_ITEM)); generator.generateFlatItem(GCItems.OXYGEN_MASK, ModelTemplates.FLAT_ITEM); generator.generateFlatItem(GCItems.OXYGEN_GEAR, ModelTemplates.FLAT_ITEM); @@ -632,7 +631,7 @@ private static TextureMapping detailedTexture(Block block) { .put(TextureSlot.WALL, resourceLocation) .put(TextureSlot.SIDE, resourceLocation) .put(TextureSlot.TOP, TextureMapping.getBlockTexture(block, "_top")) - .put(TextureSlot.BOTTOM, new ResourceLocation(TextureMapping.getBlockTexture(block).toString().replace("detailed_", ""))); + .put(TextureSlot.BOTTOM, ResourceLocation.parse(TextureMapping.getBlockTexture(block).toString().replace("detailed_", ""))); } private void createCheeseBlock(BlockModelGenerators generators) { @@ -688,6 +687,41 @@ private void createCavernousVines(BlockModelGenerators generator) { generator.blockStateOutput.accept(MultiVariantGenerator.multiVariant(cavernousVinesPlant).with(BlockModelGenerators.createBooleanModelDispatch(CavernousVines.POISONOUS, resourceLocation4, resourceLocation3))); } + private ResourceLocation blockTextureWithSuffix(Block block, String suffix) { + ResourceLocation resourceLocation = BuiltInRegistries.BLOCK.getKey(block); + return resourceLocation.withPrefix("block/").withSuffix(suffix); + } + + public final void createOlivineCluster(BlockModelGenerators generator, Block block) { + ResourceLocation verticalModel = ModelTemplates.CROSS.createWithSuffix(block, "_vertical", TextureMapping.cross(blockTextureWithSuffix(block, "_vertical")), generator.modelOutput); + ResourceLocation horizontalModel = ModelTemplates.CROSS.createWithSuffix(block, "_horizontal", TextureMapping.cross(blockTextureWithSuffix(block, "_horizontal")), generator.modelOutput); + generator.skipAutoItemBlock(block); + generator.blockStateOutput + .accept( + MultiVariantGenerator.multiVariant(block) + .with(PropertyDispatch.property(BlockStateProperties.FACING) + .select(Direction.DOWN, Variant.variant().with(VariantProperties.X_ROT, VariantProperties.Rotation.R180) + .with(VariantProperties.MODEL, verticalModel)) + .select(Direction.UP, Variant.variant() + .with(VariantProperties.MODEL, verticalModel)) + .select(Direction.NORTH, Variant.variant().with(VariantProperties.X_ROT, VariantProperties.Rotation.R90) + .with(VariantProperties.MODEL, horizontalModel)) + .select( + Direction.SOUTH, + Variant.variant().with(VariantProperties.X_ROT, VariantProperties.Rotation.R90).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R180) + .with(VariantProperties.MODEL, horizontalModel)) + .select( + Direction.WEST, + Variant.variant().with(VariantProperties.X_ROT, VariantProperties.Rotation.R90).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R270) + .with(VariantProperties.MODEL, horizontalModel)) + .select( + Direction.EAST, + Variant.variant().with(VariantProperties.X_ROT, VariantProperties.Rotation.R90).with(VariantProperties.Y_ROT, VariantProperties.Rotation.R90) + .with(VariantProperties.MODEL, horizontalModel)) + ) + ); + } + private static TextureMapping rocketLaunchPadPart(Block block, String suffix) { return new TextureMapping() .put(TextureSlot.PARTICLE, TextureMapping.getBlockTexture(block, suffix)) diff --git a/src/main/java/dev/galacticraft/mod/data/recipes/GCDecorationRecipeProvider.java b/src/main/java/dev/galacticraft/mod/data/recipes/GCDecorationRecipeProvider.java index 9b5f91088b..cea3f368f1 100644 --- a/src/main/java/dev/galacticraft/mod/data/recipes/GCDecorationRecipeProvider.java +++ b/src/main/java/dev/galacticraft/mod/data/recipes/GCDecorationRecipeProvider.java @@ -26,20 +26,24 @@ import dev.galacticraft.mod.content.item.GCItems; import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; import net.fabricmc.fabric.api.datagen.v1.provider.FabricRecipeProvider; +import net.minecraft.core.HolderLookup; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.data.recipes.RecipeCategory; import net.minecraft.data.recipes.RecipeOutput; import net.minecraft.data.recipes.ShapedRecipeBuilder; +import net.minecraft.data.recipes.SimpleCookingRecipeBuilder; import net.minecraft.world.item.Items; import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.level.ItemLike; +import java.util.concurrent.CompletableFuture; + /** * Decoration block recipes */ public class GCDecorationRecipeProvider extends FabricRecipeProvider { - public GCDecorationRecipeProvider(FabricDataOutput output) { - super(output); + public GCDecorationRecipeProvider(FabricDataOutput output, CompletableFuture lookup) { + super(output, lookup); } @Override @@ -282,6 +286,33 @@ public void buildRecipes(RecipeOutput output) { ); // Rock decoration blocks + decorationBlockVariants(output, GCItems.MOON_ROCK, + GCItems.MOON_ROCK_SLAB, + GCItems.MOON_ROCK_STAIRS, + GCItems.MOON_ROCK_WALL + ); + decorationBlockVariants(output, GCBlocks.MOON_ROCK_BRICK, + GCBlocks.MOON_ROCK_BRICK_SLAB, + GCBlocks.MOON_ROCK_BRICK_STAIRS, + GCBlocks.MOON_ROCK_BRICK_WALL + ); + decorationBlockVariants(output, GCBlocks.CRACKED_MOON_ROCK_BRICK, + GCBlocks.CRACKED_MOON_ROCK_BRICK_SLAB, + GCBlocks.CRACKED_MOON_ROCK_BRICK_STAIRS, + GCBlocks.CRACKED_MOON_ROCK_BRICK_WALL + ); + decorationBlockVariants(output, GCBlocks.POLISHED_MOON_ROCK, + GCBlocks.POLISHED_MOON_ROCK_SLAB, + GCBlocks.POLISHED_MOON_ROCK_STAIRS, + GCBlocks.POLISHED_MOON_ROCK_WALL + ); + smeltBuildingBlock(output, GCBlocks.MOON_ROCK, GCBlocks.COBBLED_MOON_ROCK); + smeltBuildingBlock(output, GCBlocks.CRACKED_MOON_ROCK_BRICK, GCBlocks.MOON_ROCK_BRICK); + squareStone(output, GCBlocks.MOON_ROCK_BRICK, GCBlocks.MOON_ROCK); + squareStone(output, GCBlocks.POLISHED_MOON_ROCK, GCBlocks.MOON_ROCK_BRICK); + chiseledStone(output, GCBlocks.CHISELED_MOON_ROCK_BRICK, GCBlocks.MOON_ROCK_BRICK_SLAB, GCBlocks.MOON_ROCK, GCBlocks.MOON_ROCK_BRICK); + pillar(output, GCBlocks.MOON_ROCK_PILLAR, GCBlocks.MOON_ROCK); + decorationBlockVariants(output, GCItems.LUNASLATE, GCItems.LUNASLATE_SLAB, GCItems.LUNASLATE_STAIRS, @@ -325,10 +356,45 @@ private static void decorationBlockVariants(RecipeOutput output, ItemLike base, slab(output, RecipeCategory.BUILDING_BLOCKS, slab, base); stairs(output, stairs, base); wall(output, RecipeCategory.BUILDING_BLOCKS, wall, base); + + stonecutterResultFromBase(output, RecipeCategory.BUILDING_BLOCKS, slab, base, 2); + stonecutterResultFromBase(output, RecipeCategory.BUILDING_BLOCKS, stairs, base); + stonecutterResultFromBase(output, RecipeCategory.BUILDING_BLOCKS, wall, base); + } + + public static void pillar(RecipeOutput output, ItemLike pillar, ItemLike base) { + ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, pillar, 2) + .define('#', base) + .pattern("#") + .pattern("#") + .unlockedBy(getHasName(base), has(base)) + .save(output); + } + + public static void squareStone(RecipeOutput output, ItemLike brick, ItemLike base) { + stonecutterResultFromBase(output, RecipeCategory.BUILDING_BLOCKS, brick, base); + ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, brick, 4) + .define('#', base) + .pattern("##") + .pattern("##") + .unlockedBy(getHasName(base), has(base)) + .save(output); + } + + public static void smeltBuildingBlock(RecipeOutput output, ItemLike result, ItemLike ingredient) { + SimpleCookingRecipeBuilder.smelting(Ingredient.of(ingredient), RecipeCategory.BUILDING_BLOCKS, result, 0.1F, 200) + .unlockedBy(getHasName(ingredient), has(ingredient)) + .save(output); + } + + public static void chiseledStone(RecipeOutput output, ItemLike chiseled, ItemLike brickSlab, ItemLike base, ItemLike brick) { + chiseled(output, RecipeCategory.BUILDING_BLOCKS, chiseled, brickSlab); + stonecutterResultFromBase(output, RecipeCategory.BUILDING_BLOCKS, chiseled, base); + stonecutterResultFromBase(output, RecipeCategory.BUILDING_BLOCKS, chiseled, brick); } public static void decorationBlock(RecipeOutput output, ItemLike input, ItemLike block, ItemLike slab, ItemLike stairs, ItemLike wall) { - ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, block, 1) + ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, block, 4) .define('#', Items.STONE) .define('X', input) .pattern("## ") @@ -340,7 +406,7 @@ public static void decorationBlock(RecipeOutput output, ItemLike input, ItemLike } public static void detailedDecorationBlock(RecipeOutput output, ItemLike input, ItemLike block, ItemLike slab, ItemLike stairs, ItemLike wall) { - ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, block, 1) + ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, block, 4) .define('#', Items.STONE) .define('X', input) .pattern("##") diff --git a/src/main/java/dev/galacticraft/mod/data/recipes/GCGearRecipeProvider.java b/src/main/java/dev/galacticraft/mod/data/recipes/GCGearRecipeProvider.java index e1e429d308..704280afe4 100644 --- a/src/main/java/dev/galacticraft/mod/data/recipes/GCGearRecipeProvider.java +++ b/src/main/java/dev/galacticraft/mod/data/recipes/GCGearRecipeProvider.java @@ -26,7 +26,8 @@ import dev.galacticraft.mod.content.item.GCItems; import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; import net.fabricmc.fabric.api.datagen.v1.provider.FabricRecipeProvider; -import net.fabricmc.fabric.api.tag.convention.v1.ConventionalItemTags; +import net.fabricmc.fabric.api.tag.convention.v2.ConventionalItemTags; +import net.minecraft.core.HolderLookup; import net.minecraft.data.recipes.*; import net.minecraft.world.item.Item; import net.minecraft.world.item.Items; @@ -35,12 +36,14 @@ import net.minecraft.world.item.crafting.RecipeSerializer; import net.minecraft.world.item.crafting.SmeltingRecipe; +import java.util.concurrent.CompletableFuture; + /** * Armor, tools, and other gear recipes */ public class GCGearRecipeProvider extends FabricRecipeProvider { - public GCGearRecipeProvider(FabricDataOutput output) { - super(output); + public GCGearRecipeProvider(FabricDataOutput output, CompletableFuture lookup) { + super(output, lookup); } @Override @@ -128,7 +131,7 @@ public void buildRecipes(RecipeOutput output) { .save(output); ShapedRecipeBuilder.shaped(RecipeCategory.MISC, GCItems.SENSOR_GLASSES) - .define('D', ConventionalItemTags.DIAMONDS) + .define('D', ConventionalItemTags.DIAMOND_GEMS) .define('S', Items.STRING) .define('L', GCItems.SENSOR_LENS) .define('M', GCItems.METEORIC_IRON_INGOT) diff --git a/src/main/java/dev/galacticraft/mod/data/recipes/GCMachineRecipes.java b/src/main/java/dev/galacticraft/mod/data/recipes/GCMachineRecipes.java index f9c610ecb8..f75035f052 100644 --- a/src/main/java/dev/galacticraft/mod/data/recipes/GCMachineRecipes.java +++ b/src/main/java/dev/galacticraft/mod/data/recipes/GCMachineRecipes.java @@ -30,7 +30,8 @@ import dev.galacticraft.mod.tag.GCTags; import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; import net.fabricmc.fabric.api.datagen.v1.provider.FabricRecipeProvider; -import net.fabricmc.fabric.api.tag.convention.v1.ConventionalItemTags; +import net.fabricmc.fabric.api.tag.convention.v2.ConventionalItemTags; +import net.minecraft.core.HolderLookup; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.data.recipes.RecipeCategory; import net.minecraft.data.recipes.RecipeOutput; @@ -38,9 +39,11 @@ import net.minecraft.data.recipes.ShapelessRecipeBuilder; import net.minecraft.world.item.Items; +import java.util.concurrent.CompletableFuture; + public class GCMachineRecipes extends FabricRecipeProvider { - public GCMachineRecipes(FabricDataOutput output) { - super(output); + public GCMachineRecipes(FabricDataOutput output, CompletableFuture lookup) { + super(output, lookup); } @Override @@ -247,6 +250,17 @@ public void buildRecipes(RecipeOutput output) { .unlockedBy(getHasName(GCItems.CRUDE_OIL_BUCKET), has(GCItems.CRUDE_OIL_BUCKET)) .save(output); + ShapedRecipeBuilder.shaped(RecipeCategory.MISC, GCItems.FUEL_LOADER) + .define('U', GCItems.COMPRESSED_COPPER) + .define('C', GCItems.TIN_CANISTER) + .define('T', GCItems.COMPRESSED_TIN) + .define('W', GCItems.BASIC_WAFER) + .pattern("UUU") + .pattern("UCU") + .pattern("TWT") + .unlockedBy(getHasName(GCItems.FUEL_BUCKET), has(GCItems.FUEL_BUCKET)) + .save(output); + // Wires + Pipes ShapedRecipeBuilder.shaped(RecipeCategory.MISC, GCItems.GLASS_FLUID_PIPE, 6) .define('X', Items.GLASS_PANE) diff --git a/src/main/java/dev/galacticraft/mod/data/recipes/GCMiscRecipeProvider.java b/src/main/java/dev/galacticraft/mod/data/recipes/GCMiscRecipeProvider.java index 33e47c1fa3..e6dd183ea3 100644 --- a/src/main/java/dev/galacticraft/mod/data/recipes/GCMiscRecipeProvider.java +++ b/src/main/java/dev/galacticraft/mod/data/recipes/GCMiscRecipeProvider.java @@ -26,7 +26,8 @@ import dev.galacticraft.mod.tag.GCTags; import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; import net.fabricmc.fabric.api.datagen.v1.provider.FabricRecipeProvider; -import net.fabricmc.fabric.api.tag.convention.v1.ConventionalItemTags; +import net.fabricmc.fabric.api.tag.convention.v2.ConventionalItemTags; +import net.minecraft.core.HolderLookup; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.data.recipes.*; import net.minecraft.tags.ItemTags; @@ -35,12 +36,14 @@ import net.minecraft.world.item.crafting.*; import net.minecraft.world.level.ItemLike; +import java.util.concurrent.CompletableFuture; + /** * Intermediate crafting materials and food recipes. */ public class GCMiscRecipeProvider extends FabricRecipeProvider { - public GCMiscRecipeProvider(FabricDataOutput output) { - super(output); + public GCMiscRecipeProvider(FabricDataOutput output, CompletableFuture lookup) { + super(output, lookup); } @Override @@ -338,7 +341,7 @@ public void buildRecipes(RecipeOutput output) { // SimpleCookingRecipeBuilder.smelting(Ingredient.of(GCBlocks.CHEESE_ORE), RecipeCategory.FOOD, GCItems.CHEESE_CURD, 0.35F, 200) // .unlockedBy(getHasName(GCBlocks.CHEESE_ORE), has(GCBlocks.CHEESE_ORE)) -// .save(output); +// .save(result); ShapelessRecipeBuilder.shapeless(RecipeCategory.FOOD, GCItems.BURGER_BUN, 2) .requires(Items.WHEAT) diff --git a/src/main/java/dev/galacticraft/mod/data/recipes/GCOreRecipeProvider.java b/src/main/java/dev/galacticraft/mod/data/recipes/GCOreRecipeProvider.java index 9ac6c6d1c9..81308b2c26 100644 --- a/src/main/java/dev/galacticraft/mod/data/recipes/GCOreRecipeProvider.java +++ b/src/main/java/dev/galacticraft/mod/data/recipes/GCOreRecipeProvider.java @@ -23,9 +23,11 @@ package dev.galacticraft.mod.data.recipes; import dev.galacticraft.mod.Constant; +import dev.galacticraft.mod.content.GCBlocks; import dev.galacticraft.mod.content.item.GCItems; import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; import net.fabricmc.fabric.api.datagen.v1.provider.FabricRecipeProvider; +import net.minecraft.core.HolderLookup; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.data.recipes.RecipeCategory; import net.minecraft.data.recipes.RecipeOutput; @@ -36,14 +38,15 @@ import org.jetbrains.annotations.Nullable; import java.util.List; +import java.util.concurrent.CompletableFuture; /** * Ingot and raw ore recipes */ public class GCOreRecipeProvider extends FabricRecipeProvider { - public GCOreRecipeProvider(FabricDataOutput output) { - super(output); + public GCOreRecipeProvider(FabricDataOutput output, CompletableFuture lookup) { + super(output, lookup); } @Override @@ -73,6 +76,7 @@ public void buildRecipes(RecipeOutput output) { nineBlockStorageUnpackingRecipe(output, RecipeCategory.MISC, GCItems.LEAD_INGOT, RecipeCategory.BUILDING_BLOCKS, GCItems.LEAD_BLOCK, "lead_ingot_from_block", "lead_ingot"); nineBlockStorageUnpackingRecipe(output, RecipeCategory.MISC, GCItems.TITANIUM_INGOT, RecipeCategory.BUILDING_BLOCKS, GCItems.TITANIUM_BLOCK, "titanium_ingot_from_block", "titanium_ingot"); nineBlockStorageUnpackingRecipe(output, RecipeCategory.MISC, GCItems.LUNAR_SAPPHIRE, RecipeCategory.BUILDING_BLOCKS, GCItems.LUNAR_SAPPHIRE_BLOCK, "lunar_sapphire_from_block", "lunar_sapphire"); + crystalBlockStorageRecipe(output, GCItems.OLIVINE_SHARD, RecipeCategory.MISC, GCBlocks.OLIVINE_BLOCK, "olivine_block_from_shards", null); } @Override @@ -108,4 +112,14 @@ public static void nineBlockStorageRecipe(RecipeOutput exporter, RecipeCategory .unlockedBy(getHasName(baseItem), has(baseItem)) .save(exporter, Constant.id(compactingId)); } + + public static void crystalBlockStorageRecipe(RecipeOutput exporter, ItemLike baseItem, RecipeCategory compactingCategory, ItemLike compactItem, String compactingId, @Nullable String compactingGroup) { + ShapedRecipeBuilder.shaped(compactingCategory, compactItem) + .define('#', baseItem) + .pattern("##") + .pattern("##") + .group(compactingGroup) + .unlockedBy(getHasName(baseItem), has(baseItem)) + .save(exporter, Constant.id(compactingId)); + } } diff --git a/src/main/java/dev/galacticraft/mod/data/recipes/GCRocketRecipes.java b/src/main/java/dev/galacticraft/mod/data/recipes/GCRocketRecipes.java index 523ff3625f..53047038f5 100644 --- a/src/main/java/dev/galacticraft/mod/data/recipes/GCRocketRecipes.java +++ b/src/main/java/dev/galacticraft/mod/data/recipes/GCRocketRecipes.java @@ -26,14 +26,17 @@ import dev.galacticraft.mod.tag.GCTags; import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; import net.fabricmc.fabric.api.datagen.v1.provider.FabricRecipeProvider; +import net.minecraft.core.HolderLookup; import net.minecraft.data.recipes.RecipeCategory; import net.minecraft.data.recipes.RecipeOutput; import net.minecraft.data.recipes.ShapedRecipeBuilder; import net.minecraft.world.item.Items; +import java.util.concurrent.CompletableFuture; + public class GCRocketRecipes extends FabricRecipeProvider { - public GCRocketRecipes(FabricDataOutput output) { - super(output); + public GCRocketRecipes(FabricDataOutput output, CompletableFuture lookup) { + super(output, lookup); } @Override diff --git a/src/main/java/dev/galacticraft/mod/data/tag/GCBannerTagProvider.java b/src/main/java/dev/galacticraft/mod/data/tag/GCBannerTagProvider.java index c7e9321d4b..c35723d346 100644 --- a/src/main/java/dev/galacticraft/mod/data/tag/GCBannerTagProvider.java +++ b/src/main/java/dev/galacticraft/mod/data/tag/GCBannerTagProvider.java @@ -40,6 +40,6 @@ public GCBannerTagProvider(FabricDataOutput output, CompletableFuture stacks; private final List listeners = new ArrayList<>(); + private final RecipeInput input = new VariableRecipeInput(); public VariableSizedContainer(int targetSize) { this.targetSize = targetSize; @@ -170,33 +173,50 @@ public void clearContent() { Collections.fill(this.stacks, ItemStack.EMPTY); } - public CompoundTag toTag() { + public CompoundTag toTag(HolderLookup.Provider provider) { CompoundTag tag = new CompoundTag(); tag.putInt("TargetSize", this.targetSize); ListTag list = new ListTag(); for (ItemStack stack : this.stacks) { - CompoundTag item =new CompoundTag(); - stack.save(item); + CompoundTag item = new CompoundTag(); + stack.save(provider, item); list.add(item); } tag.put("Items", list); return tag; } - public void readTag(CompoundTag tag) { + public void readTag(CompoundTag tag, HolderLookup.Provider provider) { this.targetSize = tag.getInt("TargetSize"); ListTag items = tag.getList("Items", Tag.TAG_COMPOUND); this.stacks.clear(); this.stacks.ensureCapacity(items.size()); for (int i = 0; i < items.size(); i++) { - this.stacks.add(ItemStack.of(items.getCompound(i))); + this.stacks.add(ItemStack.parseOptional(provider, items.getCompound(i))); } while (this.stacks.size() < this.targetSize-1) { this.stacks.add(ItemStack.EMPTY); } } + + public RecipeInput asInput() { + return this.input; + } + public interface Listener { void onSizeChanged(); void onItemChanged(); } + + private class VariableRecipeInput implements RecipeInput { + @Override + public @NotNull ItemStack getItem(int slot) { + return VariableSizedContainer.this.getItem(slot); + } + + @Override + public int size() { + return VariableSizedContainer.this.stacks.size(); + } + } } diff --git a/src/main/java/dev/galacticraft/mod/misc/banner/GCBannerPatterns.java b/src/main/java/dev/galacticraft/mod/misc/banner/GCBannerPatterns.java index b5a21d0a37..cb262202e4 100644 --- a/src/main/java/dev/galacticraft/mod/misc/banner/GCBannerPatterns.java +++ b/src/main/java/dev/galacticraft/mod/misc/banner/GCBannerPatterns.java @@ -23,17 +23,16 @@ package dev.galacticraft.mod.misc.banner; import dev.galacticraft.mod.Constant; -import net.minecraft.core.Registry; -import net.minecraft.core.registries.BuiltInRegistries; +import dev.galacticraft.mod.util.Translations; import net.minecraft.core.registries.Registries; +import net.minecraft.data.worldgen.BootstrapContext; import net.minecraft.resources.ResourceKey; import net.minecraft.world.level.block.entity.BannerPattern; public class GCBannerPatterns { - public static final ResourceKey ROCKET_KEY = Constant.key(Registries.BANNER_PATTERN, "rocket"); - public static final BannerPattern ROCKET = new BannerPattern(ROCKET_KEY.location().toString()); + public static final ResourceKey ROCKET = Constant.key(Registries.BANNER_PATTERN, "rocket"); - public static void register() { - Registry.register(BuiltInRegistries.BANNER_PATTERN, ROCKET_KEY, ROCKET); + public static void bootstrapRegistries(BootstrapContext context) { + context.register(ROCKET, new BannerPattern(Constant.id("rocket"), Translations.BannerPattern.ROCKET)); } } diff --git a/src/main/java/dev/galacticraft/mod/misc/footprint/Footprint.java b/src/main/java/dev/galacticraft/mod/misc/footprint/Footprint.java index 6f506c8b17..6a27b0a384 100644 --- a/src/main/java/dev/galacticraft/mod/misc/footprint/Footprint.java +++ b/src/main/java/dev/galacticraft/mod/misc/footprint/Footprint.java @@ -23,9 +23,13 @@ package dev.galacticraft.mod.misc.footprint; import dev.galacticraft.mod.Constant; +import dev.galacticraft.mod.util.StreamCodecs; +import io.netty.buffer.ByteBuf; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; -import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.core.UUIDUtil; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.Mth; import net.minecraft.world.level.Level; @@ -36,6 +40,24 @@ import java.util.UUID; public class Footprint { + public static final StreamCodec STREAM_CODEC = StreamCodecs.composite( + ResourceLocation.STREAM_CODEC, + f -> f.dimension, + ByteBufCodecs.DOUBLE, + f -> f.position.x, + ByteBufCodecs.DOUBLE, + f -> f.position.y, + ByteBufCodecs.DOUBLE, + f -> f.position.z, + ByteBufCodecs.FLOAT, + f -> f.rotation, + ByteBufCodecs.SHORT, + f -> f.age, + UUIDUtil.STREAM_CODEC, + f -> f.owner, + (id, x, y, z, r, a, o) -> new Footprint(id, new Vector3d(x, y, z), r, a, o) + ); + public static final short MAX_AGE = 3200; public final ResourceLocation dimension; public final float rotation; @@ -122,18 +144,4 @@ public static Vector3d getFootprintPosition(Level level, float rotation, Vector3 return position; } - - public void write(FriendlyByteBuf buf) { - buf.writeResourceLocation(dimension); - buf.writeDouble(position.x()); - buf.writeDouble(position.y()); - buf.writeDouble(position.z()); - buf.writeFloat(rotation); - buf.writeShort(age); - buf.writeUUID(owner); - } - - public static Footprint read(FriendlyByteBuf buf) { - return new Footprint(buf.readResourceLocation(), new Vector3d(buf.readDouble(), buf.readDouble(), buf.readDouble()), buf.readFloat(), buf.readShort(), buf.readUUID()); - } } diff --git a/src/main/java/dev/galacticraft/mod/misc/footprint/ServerFootprintManager.java b/src/main/java/dev/galacticraft/mod/misc/footprint/ServerFootprintManager.java index e137dc8516..12e291f35e 100644 --- a/src/main/java/dev/galacticraft/mod/misc/footprint/ServerFootprintManager.java +++ b/src/main/java/dev/galacticraft/mod/misc/footprint/ServerFootprintManager.java @@ -22,7 +22,7 @@ package dev.galacticraft.mod.misc.footprint; -import dev.galacticraft.mod.network.packets.FootprintPacket; +import dev.galacticraft.mod.network.s2c.FootprintPacket; import net.fabricmc.fabric.api.networking.v1.PlayerLookup; import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; import net.minecraft.server.level.ServerLevel; diff --git a/src/main/java/dev/galacticraft/mod/mixin/BuiltInLootTablesAccessor.java b/src/main/java/dev/galacticraft/mod/mixin/BuiltInLootTablesAccessor.java deleted file mode 100644 index 8c562a2f0f..0000000000 --- a/src/main/java/dev/galacticraft/mod/mixin/BuiltInLootTablesAccessor.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (c) 2019-2024 Team Galacticraft - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -package dev.galacticraft.mod.mixin; - -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.level.storage.loot.BuiltInLootTables; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.gen.Invoker; - -@Mixin(BuiltInLootTables.class) -public interface BuiltInLootTablesAccessor { - @Invoker("register") - static ResourceLocation callRegisterLootTable(ResourceLocation id) { - throw new UnsupportedOperationException("Invoker was not transformed."); - } -} diff --git a/src/main/java/dev/galacticraft/mod/mixin/EntityMixin.java b/src/main/java/dev/galacticraft/mod/mixin/EntityMixin.java index ab0bc177e3..58e1bdd5ad 100644 --- a/src/main/java/dev/galacticraft/mod/mixin/EntityMixin.java +++ b/src/main/java/dev/galacticraft/mod/mixin/EntityMixin.java @@ -26,11 +26,9 @@ import dev.galacticraft.mod.content.entity.damage.GCDamageTypes; import dev.galacticraft.mod.misc.footprint.Footprint; import dev.galacticraft.mod.tag.GCTags; -import dev.galacticraft.mod.world.dimension.GCDimensions; import net.minecraft.core.BlockPos; import net.minecraft.core.SectionPos; import net.minecraft.core.registries.Registries; -import net.minecraft.server.level.ServerLevel; import net.minecraft.tags.TagKey; import net.minecraft.util.Mth; import net.minecraft.util.RandomSource; @@ -42,9 +40,7 @@ import net.minecraft.world.level.ChunkPos; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.levelgen.Heightmap; import net.minecraft.world.level.material.Fluid; -import net.minecraft.world.level.portal.PortalInfo; import net.minecraft.world.phys.Vec3; import org.jetbrains.annotations.Nullable; import org.joml.Vector3d; @@ -55,7 +51,6 @@ import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; import java.util.UUID; @@ -76,13 +71,13 @@ public abstract class EntityMixin implements EntityAccessor { @Shadow private Level level; - @Inject(method = "findDimensionEntryPoint", at = @At("HEAD"), cancellable = true) - private void getTeleportTargetGC(ServerLevel destination, CallbackInfoReturnable cir) { - if (destination.dimension().equals(GCDimensions.MOON) || this.level.dimension().equals(GCDimensions.MOON)) { //TODO lander/parachute stuff - BlockPos pos = destination.getHeightmapPos(Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, destination.getSharedSpawnPos()); - cir.setReturnValue(new PortalInfo(new Vec3((double) pos.getX() + 0.5D, pos.getY(), (double) pos.getZ() + 0.5D), this.getDeltaMovement(), this.yRot, this.xRot)); - } - } +// @Inject(method = "findDimensionEntryPoint", at = @At("HEAD"), cancellable = true) +// private void getTeleportTargetGC(ServerLevel destination, CallbackInfoReturnable cir) { +// if (destination.dimension().equals(GCDimensions.MOON) || this.level.dimension().equals(GCDimensions.MOON)) { //TODO lander/parachute stuff +// BlockPos pos = destination.getHeightmapPos(Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, destination.getSharedSpawnPos()); +// cir.setReturnValue(new PortalInfo(new Vec3((double) pos.getX() + 0.5D, pos.getY(), (double) pos.getZ() + 0.5D), this.getDeltaMovement(), this.yRot, this.xRot)); +// } +// } @Shadow public abstract boolean updateFluidHeightAndDoFluidPushing(TagKey tag, double d); @@ -160,7 +155,6 @@ private void checkWaterStateGC(CallbackInfo ci) { // GC 4 ticks footprints on the client and server, however we will just do it on the server @Inject(method = "move", at = @At("HEAD")) private void tickFootprints(MoverType type, Vec3 motion, CallbackInfo ci) { - var level = level(); if (!getType().is(GCTags.HAS_FOOTPRINTS)) return; double motionSqrd = Mth.lengthSquared(motion.x, motion.z); @@ -169,12 +163,12 @@ private void tickFootprints(MoverType type, Vec3 motion, CallbackInfo ci) { boolean isFlying = false; if ((Object) this instanceof Player player) isFlying = player.getAbilities().flying; - if (motionSqrd > 0.001 && level.dimensionTypeRegistration().is(GCTags.FOOTPRINTS_DIMENSIONS) && getVehicle() == null && !isFlying) { + if (motionSqrd > 0.001 && this.level.dimensionTypeRegistration().is(GCTags.FOOTPRINTS_DIMENSIONS) && getVehicle() == null && !isFlying) { int iPosX = Mth.floor(getX()); int iPosY = Mth.floor(getY() - 0.05); int iPosZ = Mth.floor(getZ()); BlockPos pos1 = new BlockPos(iPosX, iPosY, iPosZ); - BlockState state = level.getBlockState(pos1); + BlockState state = this.level.getBlockState(pos1); // If the block below is the moon block if (state.is(GCTags.FOOTPRINTS)) { @@ -199,7 +193,7 @@ private void tickFootprints(MoverType type, Vec3 motion, CallbackInfo ci) { pos = Footprint.getFootprintPosition(level, getYRot() - 180, pos, position()); long chunkKey = ChunkPos.asLong(SectionPos.blockToSectionCoord(pos.x), SectionPos.blockToSectionCoord(pos.z)); - level.galacticraft$getFootprintManager().addFootprint(chunkKey, new Footprint(level.dimensionTypeId().location(), pos, getYRot(), getUUID())); + level.galacticraft$getFootprintManager().addFootprint(chunkKey, new Footprint(level.dimensionTypeRegistration().unwrapKey().get().location(), pos, getYRot(), getUUID())); // Increment and cap step counter at 1 galacticraft$setLastStep((galacticraft$getLastStep() + 1) % 2); diff --git a/src/main/java/dev/galacticraft/mod/mixin/HashCacheMixin.java b/src/main/java/dev/galacticraft/mod/mixin/HashCacheMixin.java deleted file mode 100644 index 64c4c73ff9..0000000000 --- a/src/main/java/dev/galacticraft/mod/mixin/HashCacheMixin.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright (c) 2019-2024 Team Galacticraft - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -package dev.galacticraft.mod.mixin; - -import net.minecraft.data.HashCache; -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; -import org.spongepowered.asm.mixin.injection.callback.LocalCapture; - -import java.nio.file.Path; -import java.util.Set; - -@Mixin(HashCache.class) -public class HashCacheMixin { - @Shadow @Final private Path rootDir; - - @Inject(method = "purgeStaleAndWrite", at = @At(value = "INVOKE", target = "Ljava/util/Set;add(Ljava/lang/Object;)Z"), locals = LocalCapture.CAPTURE_FAILEXCEPTION) - private void onPurgeStaleAndWrite(CallbackInfo ci, Set set) { - set.add(this.rootDir.resolve("README.md")); - } -} diff --git a/src/main/java/dev/galacticraft/mod/mixin/ItemEntityMixin.java b/src/main/java/dev/galacticraft/mod/mixin/ItemEntityMixin.java index 69af0b14cb..e060186552 100644 --- a/src/main/java/dev/galacticraft/mod/mixin/ItemEntityMixin.java +++ b/src/main/java/dev/galacticraft/mod/mixin/ItemEntityMixin.java @@ -22,9 +22,8 @@ package dev.galacticraft.mod.mixin; +import dev.galacticraft.api.component.GCDataComponents; import dev.galacticraft.mod.content.item.GCItems; -import dev.galacticraft.mod.content.item.HotThrowableMeteorChunkItem; -import net.minecraft.nbt.CompoundTag; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.item.ItemEntity; @@ -49,14 +48,12 @@ public ItemEntityMixin(EntityType entityType, Level level) { @Inject(at = @At("RETURN"), method = "tick") void coolMeteorChunk(CallbackInfo ci) { ItemStack stack = this.getItem(); - CompoundTag tag = stack.getTag(); if (stack.is(GCItems.HOT_THROWABLE_METEOR_CHUNK)) { - if (tag != null) { - int ticksUntilCool = tag.getInt(HotThrowableMeteorChunkItem.TICKS_UNTIL_COOL); - if (ticksUntilCool == 0) { - this.setItem(new ItemStack(GCItems.THROWABLE_METEOR_CHUNK, stack.getCount())); - } - tag.putInt(HotThrowableMeteorChunkItem.TICKS_UNTIL_COOL, ticksUntilCool - 1); + int ttc = stack.getComponents().getOrDefault(GCDataComponents.TICKS_UNTIL_COOL, 0); + if (ttc == 0) { + this.setItem(new ItemStack(GCItems.THROWABLE_METEOR_CHUNK, stack.getCount())); + } else { + stack.set(GCDataComponents.TICKS_UNTIL_COOL, ttc - 1); } if (this.isInWater()) { diff --git a/src/main/java/dev/galacticraft/mod/mixin/LanternBlockMixin.java b/src/main/java/dev/galacticraft/mod/mixin/LanternBlockMixin.java index 05b1df70c5..f37702e65e 100644 --- a/src/main/java/dev/galacticraft/mod/mixin/LanternBlockMixin.java +++ b/src/main/java/dev/galacticraft/mod/mixin/LanternBlockMixin.java @@ -23,10 +23,9 @@ package dev.galacticraft.mod.mixin; import dev.galacticraft.api.universe.celestialbody.CelestialBody; -import dev.galacticraft.api.universe.celestialbody.CelestialBodyConfig; -import dev.galacticraft.api.universe.celestialbody.landable.Landable; import dev.galacticraft.mod.content.GCBlocks; import net.minecraft.core.BlockPos; +import net.minecraft.core.Holder; import net.minecraft.core.particles.ParticleTypes; import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundSource; @@ -47,8 +46,8 @@ public LanternBlockMixin(Properties settings) { @Deprecated public void onPlace(BlockState state, Level world, BlockPos pos, BlockState oldState, boolean moved) { super.onPlace(state, world, pos, oldState, moved); - CelestialBody> body = CelestialBody.getByDimension(world).orElse(null); - if (body != null && !body.atmosphere().breathable()) { + Holder> holder = world.galacticraft$getCelestialBody(); + if (holder != null && !holder.value().atmosphere().breathable()) { if (state.getBlock() == Blocks.LANTERN) { world.setBlockAndUpdate(pos, GCBlocks.UNLIT_LANTERN.defaultBlockState().setValue(LanternBlock.HANGING, state.getValue(LanternBlock.HANGING)).setValue(LanternBlock.WATERLOGGED, state.getValue(LanternBlock.WATERLOGGED))); } diff --git a/src/main/java/dev/galacticraft/mod/mixin/LivingEntityMixin.java b/src/main/java/dev/galacticraft/mod/mixin/LivingEntityMixin.java index 7f3a8fc95d..f49db3efff 100644 --- a/src/main/java/dev/galacticraft/mod/mixin/LivingEntityMixin.java +++ b/src/main/java/dev/galacticraft/mod/mixin/LivingEntityMixin.java @@ -99,8 +99,8 @@ public void setCryogenicChamberCooldown(int cryogenicChamberCooldown) { } @Inject(method = "defineSynchedData", at = @At("TAIL")) - private void gc$sleepData(CallbackInfo ci) { - this.entityData.define(IS_IN_CRYO_SLEEP_ID, false); + private void gc$sleepData(SynchedEntityData.Builder compositeStateBuilder, CallbackInfo ci) { + compositeStateBuilder.define(IS_IN_CRYO_SLEEP_ID, false); } @Inject(method = "setPosToBed", at = @At("HEAD"), cancellable = true) diff --git a/src/main/java/dev/galacticraft/mod/mixin/ServerPlayerMixin.java b/src/main/java/dev/galacticraft/mod/mixin/ServerPlayerMixin.java index ddabb66b0a..c8381d217a 100644 --- a/src/main/java/dev/galacticraft/mod/mixin/ServerPlayerMixin.java +++ b/src/main/java/dev/galacticraft/mod/mixin/ServerPlayerMixin.java @@ -29,6 +29,7 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.nbt.CompoundTag; +import net.minecraft.nbt.NbtOps; import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityType; @@ -79,7 +80,7 @@ private void writeCelestialData(CompoundTag nbt, CallbackInfo ci) { nbt.putBoolean("CelestialActive", this.celestialActive); if (this.rocketData != null) { CompoundTag nbt1 = new CompoundTag(); - this.rocketData.toNbt(nbt1); + RocketData.CODEC.encode(this.rocketData, NbtOps.INSTANCE, nbt1); nbt.put("CelestialState", nbt1); } } @@ -88,7 +89,7 @@ private void writeCelestialData(CompoundTag nbt, CallbackInfo ci) { private void readCelestialData(CompoundTag nbt, CallbackInfo ci) { this.celestialActive = nbt.getBoolean("CelestialActive"); if (nbt.contains("CelestialState")) { - this.rocketData = RocketData.fromNbt(nbt.getCompound("CelestialState")); + this.rocketData = RocketData.CODEC.decode(NbtOps.INSTANCE, nbt.getCompound("CelestialState")).getOrThrow().getFirst(); } } diff --git a/src/main/java/dev/galacticraft/mod/mixin/TorchBlockMixin.java b/src/main/java/dev/galacticraft/mod/mixin/TorchBlockMixin.java index 0a44afed28..5792b00ce0 100644 --- a/src/main/java/dev/galacticraft/mod/mixin/TorchBlockMixin.java +++ b/src/main/java/dev/galacticraft/mod/mixin/TorchBlockMixin.java @@ -23,10 +23,9 @@ package dev.galacticraft.mod.mixin; import dev.galacticraft.api.universe.celestialbody.CelestialBody; -import dev.galacticraft.api.universe.celestialbody.CelestialBodyConfig; -import dev.galacticraft.api.universe.celestialbody.landable.Landable; import dev.galacticraft.mod.content.GCBlocks; import net.minecraft.core.BlockPos; +import net.minecraft.core.Holder; import net.minecraft.core.particles.ParticleTypes; import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundSource; @@ -48,8 +47,8 @@ public TorchBlockMixin(Properties settings) { @Deprecated public void onPlace(BlockState state, Level world, BlockPos pos, BlockState oldState, boolean moved) { super.onPlace(state, world, pos, oldState, moved); - CelestialBody> body = CelestialBody.getByDimension(world).orElse(null); - if (body != null && !body.atmosphere().breathable()) { + Holder> body = world.galacticraft$getCelestialBody(); + if (body != null && !body.value().atmosphere().breathable()) { if (state.getBlock() == Blocks.TORCH) { world.setBlockAndUpdate(pos, GCBlocks.UNLIT_TORCH.defaultBlockState()); } else if (state.getBlock() == Blocks.WALL_TORCH) { diff --git a/src/main/java/dev/galacticraft/mod/mixin/client/CameraMixin.java b/src/main/java/dev/galacticraft/mod/mixin/client/CameraMixin.java index efb6f2fdfe..4091c02428 100644 --- a/src/main/java/dev/galacticraft/mod/mixin/client/CameraMixin.java +++ b/src/main/java/dev/galacticraft/mod/mixin/client/CameraMixin.java @@ -41,12 +41,11 @@ @Mixin(Camera.class) public abstract class CameraMixin { - @Shadow - protected abstract void move(double d, double e, double f); - @Shadow protected abstract void setRotation(float f, float g); + @Shadow protected abstract void move(float f, float g, float h); + @Unique private static float sleepDirectionToRotationCryo(Direction direction) { return switch (direction) { diff --git a/src/main/java/dev/galacticraft/mod/mixin/client/HumanoidModelMixin.java b/src/main/java/dev/galacticraft/mod/mixin/client/HumanoidModelMixin.java index 914a8f8492..6720845f77 100644 --- a/src/main/java/dev/galacticraft/mod/mixin/client/HumanoidModelMixin.java +++ b/src/main/java/dev/galacticraft/mod/mixin/client/HumanoidModelMixin.java @@ -27,6 +27,7 @@ import dev.galacticraft.mod.content.item.RocketItem; import net.minecraft.client.model.HumanoidModel; import net.minecraft.client.model.geom.ModelPart; +import net.minecraft.core.Holder; import net.minecraft.util.Mth; import net.minecraft.world.InteractionHand; import net.minecraft.world.entity.LivingEntity; @@ -40,21 +41,36 @@ @Mixin(HumanoidModel.class) public class HumanoidModelMixin { - @Shadow @Final public ModelPart head; + @Shadow + @Final + public ModelPart head; - @Shadow @Final public ModelPart leftArm; + @Shadow + @Final + public ModelPart leftArm; - @Shadow @Final public ModelPart rightArm; + @Shadow + @Final + public ModelPart rightArm; - @Shadow @Final public ModelPart leftLeg; + @Shadow + @Final + public ModelPart leftLeg; - @Shadow @Final public ModelPart rightLeg; + @Shadow + @Final + public ModelPart rightLeg; - @Shadow @Final public ModelPart body; + @Shadow + @Final + public ModelPart body; - @Shadow @Final public ModelPart hat; + @Shadow + @Final + public ModelPart hat; - @Shadow public HumanoidModel.ArmPose rightArmPose; + @Shadow + public HumanoidModel.ArmPose rightArmPose; @Inject(at = @At("HEAD"), method = "setupAnim(Lnet/minecraft/world/entity/LivingEntity;FFFFF)V") private void standInRocketGC(T livingEntity, float f, float g, float h, float i, float j, CallbackInfo ci) { @@ -67,10 +83,8 @@ private void standInRocketGC(T livingEntity, float f, float g, float h, float i, @Inject(method = "setupAnim(Lnet/minecraft/world/entity/LivingEntity;FFFFF)V", at = @At("TAIL")) private void gc$modifyPlayerAnim(LivingEntity entity, float f, float g, float h, float i, float j, CallbackInfo ci) { - - CelestialBody.getByDimension(entity.level()).ifPresent(celestialBody -> { - if (celestialBody.gravity() > .8) - return; + Holder> holder = entity.level().galacticraft$getCelestialBody(); + if (holder != null && holder.value().gravity() < 0.8) { float speedModifier = 0.1162F * 2; final float floatPI = 3.1415927F; @@ -85,7 +99,7 @@ private void standInRocketGC(T livingEntity, float f, float g, float h, float i, this.leftLeg.xRot += Mth.cos(f * 0.1162F * 2 + floatPI) * 1.4F * g; this.rightLeg.xRot -= Mth.cos(f * 0.6662F) * 1.4F * g; this.rightLeg.xRot += Mth.cos(f * 0.1162F * 2) * 1.4F * g; - }); + } if (entity.getItemInHand(InteractionHand.MAIN_HAND).getItem() instanceof RocketItem || entity.getItemInHand(InteractionHand.OFF_HAND).getItem() instanceof RocketItem) { float armXRot = Mth.PI + 0.3F; @@ -97,8 +111,8 @@ private void standInRocketGC(T livingEntity, float f, float g, float h, float i, this.rightArm.yRot = 0.0F; this.rightArm.zRot = (float) -Math.PI / 10.0F; } - - + + if (entity.isInCryoSleep()) { // TODO: possibly cleaner way of doing this? this.hat.xRot = 45F; this.hat.yRot = 0; diff --git a/src/main/java/dev/galacticraft/mod/mixin/client/LevelRendererMixin.java b/src/main/java/dev/galacticraft/mod/mixin/client/LevelRendererMixin.java index 466296187e..db2601aa6b 100644 --- a/src/main/java/dev/galacticraft/mod/mixin/client/LevelRendererMixin.java +++ b/src/main/java/dev/galacticraft/mod/mixin/client/LevelRendererMixin.java @@ -45,25 +45,27 @@ @Mixin(LevelRenderer.class) public class LevelRendererMixin { @Unique - private OverworldRenderer gc$worldRenderer; + private OverworldRenderer worldRenderer; @Inject(method = "", at = @At("TAIL")) private void gc$setupRenderer(Minecraft minecraft, EntityRenderDispatcher entityRenderDispatcher, BlockEntityRenderDispatcher blockEntityRenderDispatcher, RenderBuffers renderBuffers, CallbackInfo ci) { - this.gc$worldRenderer = new OverworldRenderer(); + this.worldRenderer = new OverworldRenderer(); } @Inject(method = "renderSky", at = @At("HEAD"), cancellable = true) - public void gc$renderSky(PoseStack poseStack, Matrix4f matrix4f, float partialTicks, Camera camera, boolean bl, Runnable runnable, CallbackInfo ci) { + public void gc$renderSky(Matrix4f matrix4f, Matrix4f projectionMatrix, float tickDelta, Camera camera, boolean thickFog, Runnable fogCallback, CallbackInfo ci) { Player player = Minecraft.getInstance().player; if (player.getVehicle() instanceof RocketEntity && player.getVehicle().getY() > 200) { - runnable.run(); - gc$worldRenderer.renderOverworldSky(player, poseStack, matrix4f, partialTicks, camera, bl, runnable); + fogCallback.run(); + PoseStack poseStack = new PoseStack(); + poseStack.mulPose(matrix4f); + this.worldRenderer.renderOverworldSky(player, poseStack, matrix4f, tickDelta, camera, thickFog, fogCallback); ci.cancel(); } } @Inject(method = "renderClouds", at = @At("HEAD"), cancellable = true) - public void gc$preventCloudRendering(PoseStack poseStack, Matrix4f matrix4f, float f, double d, double e, double g, CallbackInfo ci) { + public void gc$preventCloudRendering(PoseStack matrices, Matrix4f matrix4f, Matrix4f matrix4f2, float tickDelta, double cameraX, double cameraY, double cameraZ, CallbackInfo ci) { Player player = Minecraft.getInstance().player; if (player != null && player.getVehicle() instanceof RocketEntity && player.getVehicle().getY() > Constant.OVERWORLD_SKYPROVIDER_STARTHEIGHT) { // Have clouds slowly fade out diff --git a/src/main/java/dev/galacticraft/mod/mixin/client/LivingEntityRendererMixin.java b/src/main/java/dev/galacticraft/mod/mixin/client/LivingEntityRendererMixin.java index d9ca7c46aa..3099915664 100644 --- a/src/main/java/dev/galacticraft/mod/mixin/client/LivingEntityRendererMixin.java +++ b/src/main/java/dev/galacticraft/mod/mixin/client/LivingEntityRendererMixin.java @@ -60,26 +60,26 @@ private static float sleepDirectionToRotationCryo(Direction direction) { } @Inject(method = "setupRotations", at = @At("HEAD")) - private void rotateToMatchRocket(LivingEntity entity, PoseStack poseStack, float ageInTicks, float rotationYaw, float partialTicks, CallbackInfo ci) { + private void rotateToMatchRocket(LivingEntity entity, PoseStack pose, float animationProgress, float bodyYaw, float tickDelta, float scale, CallbackInfo ci) { if (entity.isPassenger()) { if (entity.getVehicle() instanceof RocketEntity rocket) { double rotationOffset = -0.5F; - poseStack.translate(0, -rotationOffset, 0); + pose.translate(0, -rotationOffset, 0); float anglePitch = rocket.xRotO; float angleYaw = rocket.yRotO; - poseStack.mulPose(Axis.YN.rotationDegrees(angleYaw)); - poseStack.mulPose(Axis.ZP.rotationDegrees(anglePitch)); - poseStack.translate(0, rotationOffset, 0); + pose.mulPose(Axis.YN.rotationDegrees(angleYaw)); + pose.mulPose(Axis.ZP.rotationDegrees(anglePitch)); + pose.translate(0, rotationOffset, 0); } } } @Inject(method = "setupRotations", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/entity/LivingEntity;getBedOrientation()Lnet/minecraft/core/Direction;"), cancellable = true) - private void galacticraft$renderCryoChamberPos(LivingEntity livingEntity, PoseStack poseStack, float f, float g, float h, CallbackInfo ci) { - if (livingEntity.isInCryoSleep()) { - Direction direction = livingEntity.getBedOrientation(); - float j = direction != null ? sleepDirectionToRotationCryo(direction) : g; - poseStack.mulPose(Axis.YP.rotationDegrees(j)); + private void galacticraft$renderCryoChamberPos(LivingEntity entity, PoseStack pose, float animationProgress, float bodyYaw, float tickDelta, float scale, CallbackInfo ci) { + if (entity.isInCryoSleep()) { + Direction direction = entity.getBedOrientation(); + float j = direction != null ? sleepDirectionToRotationCryo(direction) : bodyYaw; + pose.mulPose(Axis.YP.rotationDegrees(j)); ci.cancel(); } } diff --git a/src/main/java/dev/galacticraft/mod/mixin/client/LocalPlayerMixin.java b/src/main/java/dev/galacticraft/mod/mixin/client/LocalPlayerMixin.java index 9d7e1217ce..faccbeefc2 100644 --- a/src/main/java/dev/galacticraft/mod/mixin/client/LocalPlayerMixin.java +++ b/src/main/java/dev/galacticraft/mod/mixin/client/LocalPlayerMixin.java @@ -25,7 +25,7 @@ import com.mojang.authlib.GameProfile; import dev.galacticraft.mod.content.entity.ControllableEntity; import dev.galacticraft.mod.content.item.RocketItem; -import dev.galacticraft.mod.network.packets.ControlEntityPacket; +import dev.galacticraft.mod.network.c2s.ControlEntityPayload; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; @@ -65,7 +65,7 @@ private void gcRocketJumpCheck(CallbackInfo ci) { if (player.isPassenger()) { if (player.getVehicle() instanceof ControllableEntity controllable) { controllable.inputTick(input.leftImpulse, input.forwardImpulse, input.up, input.down, input.left, input.right, input.jumping, input.shiftKeyDown); - ClientPlayNetworking.send(new ControlEntityPacket(input.leftImpulse, input.forwardImpulse, input.up, input.down, input.left, input.right, input.jumping, input.shiftKeyDown)); + ClientPlayNetworking.send(new ControlEntityPayload(input.leftImpulse, input.forwardImpulse, input.up, input.down, input.left, input.right, input.jumping, input.shiftKeyDown)); } } } diff --git a/src/main/java/dev/galacticraft/mod/network/GCPackets.java b/src/main/java/dev/galacticraft/mod/network/GCPackets.java new file mode 100644 index 0000000000..d628ddb643 --- /dev/null +++ b/src/main/java/dev/galacticraft/mod/network/GCPackets.java @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2019-2024 Team Galacticraft + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package dev.galacticraft.mod.network; + +import dev.galacticraft.mod.network.c2s.*; +import dev.galacticraft.mod.network.s2c.*; +import net.fabricmc.fabric.api.networking.v1.PayloadTypeRegistry; + +public class GCPackets { + public static void register() { + PayloadTypeRegistry.playS2C().register(BubbleSizePayload.TYPE, BubbleSizePayload.STREAM_CODEC); + PayloadTypeRegistry.playS2C().register(BubbleUpdatePayload.TYPE, BubbleUpdatePayload.STREAM_CODEC); + PayloadTypeRegistry.playS2C().register(FootprintPacket.TYPE, FootprintPacket.STREAM_CODEC); + PayloadTypeRegistry.playS2C().register(FootprintRemovedPacket.TYPE, FootprintRemovedPacket.STREAM_CODEC); + PayloadTypeRegistry.playS2C().register(OpenCelestialScreenPayload.TYPE, OpenCelestialScreenPayload.STREAM_CODEC); + PayloadTypeRegistry.playS2C().register(ResetPerspectivePacket.TYPE, ResetPerspectivePacket.STREAM_CODEC); + PayloadTypeRegistry.playS2C().register(RocketSpawnPacket.TYPE, RocketSpawnPacket.STREAM_CODEC); + + PayloadTypeRegistry.playC2S().register(ControlEntityPayload.TYPE, ControlEntityPayload.STREAM_CODEC); + PayloadTypeRegistry.playC2S().register(OpenRocketPayload.TYPE, OpenRocketPayload.STREAM_CODEC); + PayloadTypeRegistry.playC2S().register(SatelliteCreationPayload.TYPE, SatelliteCreationPayload.STREAM_CODEC); + PayloadTypeRegistry.playC2S().register(BubbleMaxPayload.TYPE, BubbleMaxPayload.STREAM_CODEC); + PayloadTypeRegistry.playC2S().register(BubbleVisibilityPayload.TYPE, BubbleVisibilityPayload.STREAM_CODEC); + PayloadTypeRegistry.playC2S().register(PlanetTeleportPayload.TYPE, PlanetTeleportPayload.STREAM_CODEC); + PayloadTypeRegistry.playC2S().register(SelectPartPayload.TYPE, SelectPartPayload.STREAM_CODEC); + PayloadTypeRegistry.playC2S().register(OpenGcInventoryPayload.TYPE, OpenGcInventoryPayload.STREAM_CODEC); + } +} diff --git a/src/main/java/dev/galacticraft/mod/network/GCServerPacketReceivers.java b/src/main/java/dev/galacticraft/mod/network/GCServerPacketReceivers.java index f246440ae9..5055aa645a 100644 --- a/src/main/java/dev/galacticraft/mod/network/GCServerPacketReceivers.java +++ b/src/main/java/dev/galacticraft/mod/network/GCServerPacketReceivers.java @@ -22,90 +22,27 @@ package dev.galacticraft.mod.network; -import dev.galacticraft.api.accessor.SatelliteAccessor; -import dev.galacticraft.api.registry.AddonRegistries; -import dev.galacticraft.api.universe.celestialbody.CelestialBody; -import dev.galacticraft.impl.universe.celestialbody.type.SatelliteType; -import dev.galacticraft.mod.Constant; -import dev.galacticraft.mod.content.entity.orbital.RocketEntity; -import dev.galacticraft.mod.events.GCEventHandlers; -import dev.galacticraft.mod.network.packets.*; -import dev.galacticraft.mod.screen.GCPlayerInventoryMenu; -import dev.galacticraft.mod.screen.RocketMenu; -import net.fabricmc.fabric.api.networking.v1.PacketType; +import dev.galacticraft.impl.network.c2s.C2SPayload; +import dev.galacticraft.mod.network.c2s.*; import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; -import net.fabricmc.fabric.api.screenhandler.v1.ExtendedScreenHandlerFactory; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.network.chat.Component; -import net.minecraft.resources.ResourceKey; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.server.level.ServerPlayer; -import net.minecraft.world.SimpleMenuProvider; -import net.minecraft.world.entity.player.Inventory; -import net.minecraft.world.entity.player.Player; -import net.minecraft.world.inventory.AbstractContainerMenu; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; /** * Handles server-bound (C2S) packets. */ public class GCServerPacketReceivers { public static void register() { - ServerPlayNetworking.registerGlobalReceiver(Constant.Packet.OPEN_GC_INVENTORY, (server, player, handler, buf, responseSender) -> server.execute(() -> player.openMenu(new SimpleMenuProvider(GCPlayerInventoryMenu::new, Component.empty()) { - @Override - public boolean shouldCloseCurrentScreen() { - return false; - } - }))); - ServerPlayNetworking.registerGlobalReceiver(Constant.Packet.OPEN_GC_ROCKET, (server, player, handler, buf, responseSender) -> server.execute(() -> player.openMenu(new ExtendedScreenHandlerFactory() { - @Override - public AbstractContainerMenu createMenu(int syncId, Inventory inventory, Player player) { - return new RocketMenu(syncId, inventory, player, (RocketEntity) player.getVehicle()); - } - - @Override - public Component getDisplayName() { - return Component.empty(); - } - - @Override - public void writeScreenOpeningData(ServerPlayer player, FriendlyByteBuf buf) { - assert player.getVehicle() instanceof RocketEntity; - RocketEntity rocket = (RocketEntity) player.getVehicle(); - buf.writeInt(rocket.getId()); - } - - @Override - public boolean shouldCloseCurrentScreen() { - return false; - } - }))); - - registerPacket(BubbleMaxPacket.TYPE); - registerPacket(SelectPartPacket.TYPE); - registerPacket(ToggleBubbleVisibilityPacket.TYPE); - registerPacket(ControlEntityPacket.TYPE); - - ServerPlayNetworking.registerGlobalReceiver(Constant.Packet.PLANET_TP, ((server, player, handler, buf, responseSender) -> { - FriendlyByteBuf buffer = new FriendlyByteBuf(buf.copy()); - if (player.galacticraft$isCelestialScreenActive()) { - server.execute(() -> { - ResourceLocation id = buffer.readResourceLocation(); - CelestialBody body = ((SatelliteAccessor) server).galacticraft$getSatellites().get(id); - CelestialBody fromBody = CelestialBody.getByDimension(player.level()).orElseThrow(); - if (body == null) body = server.registryAccess().registryOrThrow(AddonRegistries.CELESTIAL_BODY).get(id); - GCEventHandlers.onPlayerChangePlanets(server, player, body, fromBody); - }); - } else { - player.connection.disconnect(Component.literal("Invalid planet teleport packet received.")); - } - })); - - ServerPlayNetworking.registerGlobalReceiver(Constant.Packet.CREATE_SATELLITE, (server, player, handler, buf, responseSender) -> { - SatelliteType.registerSatellite(server, player, server.registryAccess().registryOrThrow(AddonRegistries.CELESTIAL_BODY).getHolderOrThrow(ResourceKey.create(AddonRegistries.CELESTIAL_BODY, buf.readResourceLocation())), server.getStructureManager().get(Constant.Structure.SPACE_STATION).orElseThrow()); - }); + registerPacket(ControlEntityPayload.TYPE); + registerPacket(OpenRocketPayload.TYPE); + registerPacket(SatelliteCreationPayload.TYPE); + registerPacket(BubbleVisibilityPayload.TYPE); + registerPacket(SelectPartPayload.TYPE); + registerPacket(OpenGcInventoryPayload.TYPE); + registerPacket(PlanetTeleportPayload.TYPE); + registerPacket(BubbleMaxPayload.TYPE); } - public static void registerPacket(PacketType type) { - ServerPlayNetworking.registerGlobalReceiver(type, GCPacket::handle); + public static

void registerPacket(CustomPacketPayload.Type

type) { + ServerPlayNetworking.registerGlobalReceiver(type, C2SPayload::handle); } } diff --git a/src/main/java/dev/galacticraft/mod/network/c2s/BubbleMaxPayload.java b/src/main/java/dev/galacticraft/mod/network/c2s/BubbleMaxPayload.java new file mode 100644 index 0000000000..a94577545b --- /dev/null +++ b/src/main/java/dev/galacticraft/mod/network/c2s/BubbleMaxPayload.java @@ -0,0 +1,59 @@ +/* + * Copyright (c) 2019-2024 Team Galacticraft + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package dev.galacticraft.mod.network.c2s; + +import dev.galacticraft.impl.network.c2s.C2SPayload; +import dev.galacticraft.mod.Constant; +import dev.galacticraft.mod.content.block.entity.machine.OxygenBubbleDistributorBlockEntity; +import dev.galacticraft.mod.screen.OxygenBubbleDistributorMenu; +import io.netty.buffer.ByteBuf; +import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; +import net.minecraft.resources.ResourceLocation; +import org.jetbrains.annotations.NotNull; + +public record BubbleMaxPayload(byte max) implements C2SPayload { + public static final StreamCodec STREAM_CODEC = ByteBufCodecs.BYTE.map(BubbleMaxPayload::new, packet -> packet.max); + public static final ResourceLocation ID = Constant.id("bubble_max"); + public static final CustomPacketPayload.Type TYPE = new CustomPacketPayload.Type<>(ID); + + @Override + public void handle(ServerPlayNetworking.@NotNull Context context) { + + if (context.player().containerMenu instanceof OxygenBubbleDistributorMenu menu) { + OxygenBubbleDistributorBlockEntity machine = menu.be; + if (machine.getSecurity().hasAccess(context.player())) { + if (max > 0) { + machine.setTargetSize(max); + } + } + } + } + + @Override + public @NotNull Type type() { + return TYPE; + } +} diff --git a/src/main/java/dev/galacticraft/mod/network/c2s/BubbleVisibilityPayload.java b/src/main/java/dev/galacticraft/mod/network/c2s/BubbleVisibilityPayload.java new file mode 100644 index 0000000000..ffe4ccd75f --- /dev/null +++ b/src/main/java/dev/galacticraft/mod/network/c2s/BubbleVisibilityPayload.java @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2019-2024 Team Galacticraft + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package dev.galacticraft.mod.network.c2s; + +import dev.galacticraft.impl.network.c2s.C2SPayload; +import dev.galacticraft.mod.Constant; +import dev.galacticraft.mod.content.block.entity.machine.OxygenBubbleDistributorBlockEntity; +import dev.galacticraft.mod.screen.OxygenBubbleDistributorMenu; +import io.netty.buffer.ByteBuf; +import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; +import net.minecraft.resources.ResourceLocation; +import org.jetbrains.annotations.NotNull; + +public record BubbleVisibilityPayload(boolean visible) implements C2SPayload { + public static final StreamCodec STREAM_CODEC = ByteBufCodecs.BOOL.map(BubbleVisibilityPayload::new, packet -> packet.visible); + public static final ResourceLocation ID = Constant.id("bubble_visible"); + public static final Type TYPE = new Type<>(ID); + + @Override + public void handle(ServerPlayNetworking.@NotNull Context context) { + if (context.player().containerMenu instanceof OxygenBubbleDistributorMenu sHandler) { + OxygenBubbleDistributorBlockEntity machine = sHandler.be; + if (machine.getSecurity().hasAccess(context.player())) { + machine.setBubbleVisible(visible); + } + } + } + + @Override + public @NotNull Type type() { + return TYPE; + } +} diff --git a/src/main/java/dev/galacticraft/mod/network/c2s/ControlEntityPayload.java b/src/main/java/dev/galacticraft/mod/network/c2s/ControlEntityPayload.java new file mode 100644 index 0000000000..82993ec497 --- /dev/null +++ b/src/main/java/dev/galacticraft/mod/network/c2s/ControlEntityPayload.java @@ -0,0 +1,71 @@ +/* + * Copyright (c) 2019-2024 Team Galacticraft + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package dev.galacticraft.mod.network.c2s; + +import dev.galacticraft.impl.network.c2s.C2SPayload; +import dev.galacticraft.mod.Constant; +import dev.galacticraft.mod.content.entity.ControllableEntity; +import dev.galacticraft.mod.util.StreamCodecs; +import io.netty.buffer.ByteBuf; +import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; +import net.minecraft.resources.ResourceLocation; +import org.jetbrains.annotations.NotNull; + +public record ControlEntityPayload(float leftImpulse, float forwardImpulse, boolean up, boolean down, boolean left, boolean right, boolean jumping, boolean shiftKeyDown) implements C2SPayload { + public static final StreamCodec STREAM_CODEC = StreamCodecs.composite( + ByteBufCodecs.FLOAT, + p -> p.leftImpulse, + ByteBufCodecs.FLOAT, + p -> p.forwardImpulse, + ByteBufCodecs.BOOL, + p -> p.up, + ByteBufCodecs.BOOL, + p -> p.down, + ByteBufCodecs.BOOL, + p -> p.left, + ByteBufCodecs.BOOL, + p -> p.right, + ByteBufCodecs.BOOL, + p -> p.jumping, + ByteBufCodecs.BOOL, + p -> p.shiftKeyDown, + ControlEntityPayload::new + ); + public static final ResourceLocation ID = Constant.id("control_entity"); + public static final CustomPacketPayload.Type TYPE = new CustomPacketPayload.Type<>(ID); + + @Override + public void handle(ServerPlayNetworking.@NotNull Context context) { + if (context.player().isPassenger() && context.player().getVehicle() instanceof ControllableEntity controllable) { + controllable.inputTick(leftImpulse(), forwardImpulse(), up(), down(), left(), right(), jumping(), shiftKeyDown()); + } + } + + @Override + public @NotNull Type type() { + return TYPE; + } +} diff --git a/src/main/java/dev/galacticraft/mod/network/c2s/OpenGcInventoryPayload.java b/src/main/java/dev/galacticraft/mod/network/c2s/OpenGcInventoryPayload.java new file mode 100644 index 0000000000..dede0519bd --- /dev/null +++ b/src/main/java/dev/galacticraft/mod/network/c2s/OpenGcInventoryPayload.java @@ -0,0 +1,57 @@ +/* + * Copyright (c) 2019-2024 Team Galacticraft + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package dev.galacticraft.mod.network.c2s; + +import dev.galacticraft.impl.network.c2s.C2SPayload; +import dev.galacticraft.mod.Constant; +import dev.galacticraft.mod.screen.GCPlayerInventoryMenu; +import io.netty.buffer.ByteBuf; +import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; +import net.minecraft.network.chat.Component; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.SimpleMenuProvider; +import org.jetbrains.annotations.NotNull; + +public record OpenGcInventoryPayload() implements C2SPayload { + public static final OpenGcInventoryPayload INSTANCE = new OpenGcInventoryPayload(); + public static final StreamCodec STREAM_CODEC = StreamCodec.unit(INSTANCE);; + public static final ResourceLocation ID = Constant.id("open_gc_inventory"); + public static final Type TYPE = new Type<>(ID); + + @Override + public void handle(ServerPlayNetworking.@NotNull Context context) { + context.player().openMenu(new SimpleMenuProvider(GCPlayerInventoryMenu::new, Component.empty()) { + @Override + public boolean shouldCloseCurrentScreen() { + return false; + } + }); + } + + @Override + public @NotNull Type type() { + return TYPE; + } +} diff --git a/src/main/java/dev/galacticraft/mod/network/c2s/OpenRocketPayload.java b/src/main/java/dev/galacticraft/mod/network/c2s/OpenRocketPayload.java new file mode 100644 index 0000000000..8c808fcaf4 --- /dev/null +++ b/src/main/java/dev/galacticraft/mod/network/c2s/OpenRocketPayload.java @@ -0,0 +1,77 @@ +/* + * Copyright (c) 2019-2024 Team Galacticraft + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package dev.galacticraft.mod.network.c2s; + +import dev.galacticraft.impl.network.c2s.C2SPayload; +import dev.galacticraft.mod.Constant; +import dev.galacticraft.mod.content.entity.orbital.RocketEntity; +import dev.galacticraft.mod.screen.RocketMenu; +import io.netty.buffer.ByteBuf; +import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; +import net.fabricmc.fabric.api.screenhandler.v1.ExtendedScreenHandlerFactory; +import net.minecraft.network.chat.Component; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.server.level.ServerPlayer; +import net.minecraft.world.entity.player.Inventory; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.inventory.AbstractContainerMenu; +import org.jetbrains.annotations.NotNull; + +public record OpenRocketPayload() implements C2SPayload { + public static final OpenRocketPayload INSTANCE = new OpenRocketPayload(); + public static final StreamCodec STREAM_CODEC = StreamCodec.unit(INSTANCE); + public static final ResourceLocation ID = Constant.id("open_rocket"); + public static final Type TYPE = new Type<>(ID); + + @Override + public void handle(ServerPlayNetworking.@NotNull Context context) { + context.player().openMenu(new ExtendedScreenHandlerFactory<>() { + @Override + public Integer getScreenOpeningData(ServerPlayer player) { + return player.getVehicle().getId(); + } + + @Override + public AbstractContainerMenu createMenu(int syncId, Inventory inventory, Player player) { + return new RocketMenu(syncId, inventory, player, (RocketEntity) player.getVehicle()); + } + + @Override + public @NotNull Component getDisplayName() { + return Component.empty(); + } + + @Override + public boolean shouldCloseCurrentScreen() { + return false; + } + }); + } + + @Override + public @NotNull Type type() { + return TYPE; + } +} diff --git a/src/main/java/dev/galacticraft/mod/network/c2s/PlanetTeleportPayload.java b/src/main/java/dev/galacticraft/mod/network/c2s/PlanetTeleportPayload.java new file mode 100644 index 0000000000..657b4d4a58 --- /dev/null +++ b/src/main/java/dev/galacticraft/mod/network/c2s/PlanetTeleportPayload.java @@ -0,0 +1,61 @@ +/* + * Copyright (c) 2019-2024 Team Galacticraft + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package dev.galacticraft.mod.network.c2s; + +import dev.galacticraft.api.accessor.SatelliteAccessor; +import dev.galacticraft.api.registry.AddonRegistries; +import dev.galacticraft.api.universe.celestialbody.CelestialBody; +import dev.galacticraft.impl.network.c2s.C2SPayload; +import dev.galacticraft.mod.Constant; +import dev.galacticraft.mod.events.GCEventHandlers; +import io.netty.buffer.ByteBuf; +import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; +import net.minecraft.core.Holder; +import net.minecraft.network.chat.Component; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; +import net.minecraft.resources.ResourceLocation; +import org.jetbrains.annotations.NotNull; + +public record PlanetTeleportPayload(ResourceLocation id) implements C2SPayload { + public static final StreamCodec STREAM_CODEC = ResourceLocation.STREAM_CODEC.map(PlanetTeleportPayload::new, p -> p.id); + public static final ResourceLocation ID = Constant.id("planet_teleport"); + public static final Type TYPE = new Type<>(ID); + + @Override + public void handle(ServerPlayNetworking.@NotNull Context context) { + if (context.player().galacticraft$isCelestialScreenActive()) { + CelestialBody body = ((SatelliteAccessor) context.server()).galacticraft$getSatellites().get(id); + Holder> fromBody = context.player().level().galacticraft$getCelestialBody(); + if (body == null) body = context.server().registryAccess().registryOrThrow(AddonRegistries.CELESTIAL_BODY).get(id); + GCEventHandlers.onPlayerChangePlanets(context.server(), context.player(), body, fromBody.value()); + } else { + context.player().connection.disconnect(Component.literal("Invalid planet teleport packet received.")); + } + } + + @Override + public @NotNull Type type() { + return TYPE; + } +} diff --git a/src/main/java/dev/galacticraft/mod/network/c2s/SatelliteCreationPayload.java b/src/main/java/dev/galacticraft/mod/network/c2s/SatelliteCreationPayload.java new file mode 100644 index 0000000000..2afac6eacc --- /dev/null +++ b/src/main/java/dev/galacticraft/mod/network/c2s/SatelliteCreationPayload.java @@ -0,0 +1,53 @@ +/* + * Copyright (c) 2019-2024 Team Galacticraft + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package dev.galacticraft.mod.network.c2s; + +import dev.galacticraft.api.registry.AddonRegistries; +import dev.galacticraft.api.universe.celestialbody.CelestialBody; +import dev.galacticraft.impl.network.c2s.C2SPayload; +import dev.galacticraft.impl.universe.celestialbody.type.SatelliteType; +import dev.galacticraft.mod.Constant; +import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; +import net.minecraft.core.Holder; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; +import net.minecraft.resources.ResourceLocation; +import org.jetbrains.annotations.NotNull; + +public record SatelliteCreationPayload(Holder> body) implements C2SPayload { + public static final StreamCodec STREAM_CODEC = ByteBufCodecs.holderRegistry(AddonRegistries.CELESTIAL_BODY).map(SatelliteCreationPayload::new, p -> p.body); + public static final ResourceLocation ID = Constant.id("create_satellite"); + public static final Type TYPE = new Type<>(ID); + + @Override + public void handle(ServerPlayNetworking.@NotNull Context context) { + SatelliteType.registerSatellite(context.server(), context.player(), this.body, context.server().getStructureManager().get(Constant.Structure.SPACE_STATION).orElseThrow()); + } + + @Override + public @NotNull Type type() { + return TYPE; + } +} diff --git a/src/main/java/dev/galacticraft/mod/network/c2s/SelectPartPayload.java b/src/main/java/dev/galacticraft/mod/network/c2s/SelectPartPayload.java new file mode 100644 index 0000000000..dce90b3a99 --- /dev/null +++ b/src/main/java/dev/galacticraft/mod/network/c2s/SelectPartPayload.java @@ -0,0 +1,73 @@ +/* + * Copyright (c) 2019-2024 Team Galacticraft + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package dev.galacticraft.mod.network.c2s; + +import dev.galacticraft.api.rocket.part.RocketPartTypes; +import dev.galacticraft.impl.network.c2s.C2SPayload; +import dev.galacticraft.mod.Constant; +import dev.galacticraft.mod.screen.RocketWorkbenchMenu; +import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; +import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; +import net.minecraft.resources.ResourceLocation; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +public record SelectPartPayload(RocketPartTypes partType, @Nullable ResourceLocation part) implements C2SPayload { + public static final StreamCodec STREAM_CODEC = StreamCodec.ofMember( + SelectPartPayload::write, + SelectPartPayload::new + ); + + public static final ResourceLocation ID = Constant.id("select_part"); + public static final Type TYPE = new Type<>(ID); + + public SelectPartPayload(FriendlyByteBuf buf) { + this(buf.readEnum(RocketPartTypes.class), buf.readBoolean() ? buf.readResourceLocation() : null); + } + + private void write(FriendlyByteBuf buf) { + buf.writeEnum(this.partType); + if (this.part != null) { + buf.writeBoolean(true); + buf.writeResourceLocation(this.part); + } else { + buf.writeBoolean(false); + } + } + + @Override + public void handle(ServerPlayNetworking.@NotNull Context context) { + if (context.player().containerMenu instanceof RocketWorkbenchMenu menu) { + menu.getSelection(this.partType).setSelection(this.part); + menu.workbench.setChanged(); + } + } + + @Override + public Type type() { + return TYPE; + } +} diff --git a/src/main/java/dev/galacticraft/mod/network/packets/BubbleMaxPacket.java b/src/main/java/dev/galacticraft/mod/network/packets/BubbleMaxPacket.java deleted file mode 100644 index 267e5ee66c..0000000000 --- a/src/main/java/dev/galacticraft/mod/network/packets/BubbleMaxPacket.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright (c) 2019-2024 Team Galacticraft - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -package dev.galacticraft.mod.network.packets; - -import dev.galacticraft.mod.Constant.Packet; -import dev.galacticraft.mod.content.block.entity.machine.OxygenBubbleDistributorBlockEntity; -import dev.galacticraft.mod.screen.OxygenBubbleDistributorMenu; -import net.fabricmc.fabric.api.networking.v1.PacketSender; -import net.fabricmc.fabric.api.networking.v1.PacketType; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.world.entity.player.Player; - -public record BubbleMaxPacket(byte max) implements GCPacket { - public static final PacketType TYPE = PacketType.create(Packet.BUBBLE_MAX, BubbleMaxPacket::new); - - public BubbleMaxPacket(FriendlyByteBuf buf) { - this(buf.readByte()); - } - - @Override - public void handle(Player player, PacketSender responseSender) { - if (player.containerMenu instanceof OxygenBubbleDistributorMenu sHandler) { - OxygenBubbleDistributorBlockEntity machine = sHandler.machine; - if (machine.getSecurity().hasAccess(player)) { - if (max > 0) { - machine.setTargetSize(max); - } - } - } - } - - @Override - public void write(FriendlyByteBuf buf) { - buf.writeByte(max); - } - - @Override - public PacketType getType() { - return TYPE; - } -} diff --git a/src/main/java/dev/galacticraft/mod/network/packets/ControlEntityPacket.java b/src/main/java/dev/galacticraft/mod/network/packets/ControlEntityPacket.java deleted file mode 100644 index cf73659262..0000000000 --- a/src/main/java/dev/galacticraft/mod/network/packets/ControlEntityPacket.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright (c) 2019-2024 Team Galacticraft - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -package dev.galacticraft.mod.network.packets; - -import dev.galacticraft.mod.Constant.Packet; -import dev.galacticraft.mod.content.entity.ControllableEntity; -import net.fabricmc.fabric.api.networking.v1.PacketSender; -import net.fabricmc.fabric.api.networking.v1.PacketType; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.world.entity.player.Player; - -public record ControlEntityPacket(float leftImpulse, float forwardImpulse, boolean up, boolean down, boolean left, boolean right, boolean jumping, boolean shiftKeyDown) implements GCPacket { - public static final PacketType TYPE = PacketType.create(Packet.CONTROLLABLE_ENTITY, ControlEntityPacket::new); - - public ControlEntityPacket(FriendlyByteBuf buf) { - this(buf.readFloat(), buf.readFloat(), buf.readBoolean(), buf.readBoolean(), buf.readBoolean(), buf.readBoolean(), buf.readBoolean(), buf.readBoolean()); - } - - @Override - public void write(FriendlyByteBuf buf) { - buf.writeFloat(leftImpulse); - buf.writeFloat(forwardImpulse); - buf.writeBoolean(up); - buf.writeBoolean(down); - buf.writeBoolean(left); - buf.writeBoolean(right); - buf.writeBoolean(jumping); - buf.writeBoolean(shiftKeyDown); - } - - @Override - public PacketType getType() { - return TYPE; - } - - @Override - public void handle(Player player, PacketSender responseSender) { - if (player.isPassenger()) - if (player.getVehicle() instanceof ControllableEntity controllable) - controllable.inputTick(leftImpulse(), forwardImpulse(), up(), down(), left(), right(), jumping(), shiftKeyDown()); - } -} diff --git a/src/main/java/dev/galacticraft/mod/network/packets/FootprintPacket.java b/src/main/java/dev/galacticraft/mod/network/packets/FootprintPacket.java deleted file mode 100644 index d8546c2715..0000000000 --- a/src/main/java/dev/galacticraft/mod/network/packets/FootprintPacket.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright (c) 2019-2024 Team Galacticraft - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -package dev.galacticraft.mod.network.packets; - -import dev.galacticraft.mod.Constant; -import dev.galacticraft.mod.client.render.FootprintRenderer; -import dev.galacticraft.mod.misc.footprint.Footprint; -import net.fabricmc.fabric.api.networking.v1.PacketSender; -import net.fabricmc.fabric.api.networking.v1.PacketType; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.world.entity.player.Player; - -import java.util.ArrayList; -import java.util.List; - -public record FootprintPacket(long packedPos, List footprints) implements GCPacket { - public static final PacketType TYPE = PacketType.create(Constant.Packet.FOOTPRINT, FootprintPacket::new); - - public FootprintPacket(FriendlyByteBuf buf) { - this(buf.readLong(), readFootprints(buf)); - } - - @Override - public void write(FriendlyByteBuf buf) { - buf.writeLong(packedPos); - buf.writeInt(footprints.size()); - for (Footprint footprint : footprints) { - footprint.write(buf); - } - } - - public static List readFootprints(FriendlyByteBuf buf) { - int length = buf.readInt(); - List footprints = new ArrayList<>(length); - for (int i = 0; i < length; i++) { - footprints.add(Footprint.read(buf)); - } - return footprints; - } - - @Override - public PacketType getType() { - return TYPE; - } - - @Override - public void handle(Player player, PacketSender responseSender) { - FootprintRenderer.setFootprints(packedPos(), footprints()); - } -} diff --git a/src/main/java/dev/galacticraft/mod/network/packets/FootprintRemovedPacket.java b/src/main/java/dev/galacticraft/mod/network/packets/FootprintRemovedPacket.java deleted file mode 100644 index 0dc1432e33..0000000000 --- a/src/main/java/dev/galacticraft/mod/network/packets/FootprintRemovedPacket.java +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Copyright (c) 2019-2024 Team Galacticraft - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -package dev.galacticraft.mod.network.packets; - -import dev.galacticraft.mod.Constant; -import dev.galacticraft.mod.misc.footprint.Footprint; -import dev.galacticraft.mod.misc.footprint.FootprintManager; -import net.fabricmc.fabric.api.networking.v1.PacketSender; -import net.fabricmc.fabric.api.networking.v1.PacketType; -import net.minecraft.core.BlockPos; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.world.entity.player.Player; - -import java.util.ArrayList; -import java.util.List; - -public record FootprintRemovedPacket(long packedPos, BlockPos pos) implements GCPacket { - public static final PacketType TYPE = PacketType.create(Constant.Packet.FOOTPRINT_REMOVED, FootprintRemovedPacket::new); - - public FootprintRemovedPacket(FriendlyByteBuf buf) { - this(buf.readLong(), buf.readBlockPos()); - } - - @Override - public void write(FriendlyByteBuf buf) { - buf.writeLong(packedPos); - buf.writeBlockPos(pos); - } - - @Override - public void handle(Player player, PacketSender responseSender) { - long packedPos = packedPos(); - BlockPos pos = pos(); - FootprintManager manager = player.level().galacticraft$getFootprintManager(); - List footprintList = manager.getFootprints().get(packedPos); - List toRemove = new ArrayList<>(); - - if (footprintList != null) { - for (Footprint footprint : footprintList) { - if (footprint.position.x > pos.getX() && footprint.position.x < pos.getX() + 1 && footprint.position.z > pos.getZ() && footprint.position.z < pos.getZ() + 1) { - toRemove.add(footprint); - } - } - } - - if (!toRemove.isEmpty()) { - footprintList.removeAll(toRemove); - manager.getFootprints().put(packedPos, footprintList); - } - } - - @Override - public PacketType getType() { - return TYPE; - } -} diff --git a/src/main/java/dev/galacticraft/mod/network/packets/GCPacket.java b/src/main/java/dev/galacticraft/mod/network/packets/GCPacket.java deleted file mode 100644 index 2c78fe365e..0000000000 --- a/src/main/java/dev/galacticraft/mod/network/packets/GCPacket.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright (c) 2019-2024 Team Galacticraft - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -package dev.galacticraft.mod.network.packets; - -import net.fabricmc.fabric.api.networking.v1.FabricPacket; -import net.fabricmc.fabric.api.networking.v1.PacketSender; -import net.minecraft.world.entity.player.Player; - -public interface GCPacket extends FabricPacket { - void handle(Player player, PacketSender responseSender); -} diff --git a/src/main/java/dev/galacticraft/mod/network/packets/OpenScreenPacket.java b/src/main/java/dev/galacticraft/mod/network/packets/OpenScreenPacket.java deleted file mode 100644 index 2a1be95fa8..0000000000 --- a/src/main/java/dev/galacticraft/mod/network/packets/OpenScreenPacket.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright (c) 2019-2024 Team Galacticraft - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -package dev.galacticraft.mod.network.packets; - -public class OpenScreenPacket { -} diff --git a/src/main/java/dev/galacticraft/mod/network/packets/PlanetTpPacket.java b/src/main/java/dev/galacticraft/mod/network/packets/PlanetTpPacket.java deleted file mode 100644 index 1fe64d9eac..0000000000 --- a/src/main/java/dev/galacticraft/mod/network/packets/PlanetTpPacket.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright (c) 2019-2024 Team Galacticraft - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -package dev.galacticraft.mod.network.packets; - -import dev.galacticraft.mod.Constant; -import net.fabricmc.fabric.api.networking.v1.PacketSender; -import net.fabricmc.fabric.api.networking.v1.PacketType; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.entity.player.Player; - -public record PlanetTpPacket(ResourceLocation body) implements GCPacket { - public static final PacketType TYPE = PacketType.create(Constant.Packet.PLANET_TP, PlanetTpPacket::new); - - public PlanetTpPacket(FriendlyByteBuf buf) { - this(buf.readResourceLocation()); - } - - @Override - public void handle(Player player, PacketSender responseSender) { - - } - - @Override - public void write(FriendlyByteBuf buf) { - buf.writeResourceLocation(body); - } - - @Override - public PacketType getType() { - return TYPE; - } -} diff --git a/src/main/java/dev/galacticraft/mod/network/packets/ResetThirdPersonPacket.java b/src/main/java/dev/galacticraft/mod/network/packets/ResetThirdPersonPacket.java deleted file mode 100644 index 4893384390..0000000000 --- a/src/main/java/dev/galacticraft/mod/network/packets/ResetThirdPersonPacket.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (c) 2019-2024 Team Galacticraft - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -package dev.galacticraft.mod.network.packets; - -import dev.galacticraft.mod.Constant.Packet; -import dev.galacticraft.mod.attachments.GCClientPlayer; -import net.fabricmc.fabric.api.networking.v1.FabricPacket; -import net.fabricmc.fabric.api.networking.v1.PacketSender; -import net.fabricmc.fabric.api.networking.v1.PacketType; -import net.minecraft.client.Minecraft; -import net.minecraft.client.player.LocalPlayer; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.world.entity.player.Player; - -public record ResetThirdPersonPacket() implements GCPacket { - public static final PacketType TYPE = PacketType.create(Packet.RESET_THIRD_PERSON, ResetThirdPersonPacket::new); - - public ResetThirdPersonPacket(FriendlyByteBuf buf) { - this(); - } - - @Override - public void write(FriendlyByteBuf buf) {} - - @Override - public PacketType getType() { - return TYPE; - } - - @Override - public void handle(Player player, PacketSender responseSender) { - Minecraft.getInstance().options.setCameraType(GCClientPlayer.get((LocalPlayer) player).getCameraType()); - } -} diff --git a/src/main/java/dev/galacticraft/mod/network/packets/RocketSpawnPacket.java b/src/main/java/dev/galacticraft/mod/network/packets/RocketSpawnPacket.java deleted file mode 100644 index ed84775f11..0000000000 --- a/src/main/java/dev/galacticraft/mod/network/packets/RocketSpawnPacket.java +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright (c) 2019-2024 Team Galacticraft - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -package dev.galacticraft.mod.network.packets; - -import dev.galacticraft.api.rocket.RocketData; -import dev.galacticraft.mod.Constant.Packet; -import dev.galacticraft.mod.content.entity.orbital.RocketEntity; -import net.fabricmc.fabric.api.networking.v1.PacketSender; -import net.fabricmc.fabric.api.networking.v1.PacketType; -import net.minecraft.client.Minecraft; -import net.minecraft.core.registries.BuiltInRegistries; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.world.entity.EntityType; -import net.minecraft.world.entity.player.Player; - -import java.util.UUID; - -public record RocketSpawnPacket(EntityType type, int id, UUID uuid, double x, double y, double z, float xRot, float yRot, RocketData data) implements GCPacket { - public static final PacketType TYPE = PacketType.create(Packet.ROCKET_SPAWN, RocketSpawnPacket::new); - public RocketSpawnPacket(FriendlyByteBuf buf) { - this(BuiltInRegistries.ENTITY_TYPE.byId(buf.readVarInt()), buf.readVarInt(), buf.readUUID(), buf.readDouble(), buf.readDouble(), buf.readDouble(), (buf.readByte() * 360) / 256.0F, (buf.readByte() * 360) / 256.0F, RocketData.fromNetwork(buf)); - } - - @Override - public void handle(Player player, PacketSender responseSender) { - RocketEntity entity = (RocketEntity) type.create(player.level()); - assert entity != null; - entity.syncPacketPositionCodec(x, y, z); - entity.setPos(x, y, z); - entity.setXRot(xRot); - entity.setYRot(yRot); - entity.setId(id); - entity.setUUID(uuid); - - entity.setData(data); - - Minecraft.getInstance().level.addEntity(entity); - } - - @Override - public void write(FriendlyByteBuf buf) { - buf.writeVarInt(BuiltInRegistries.ENTITY_TYPE.getId(type)); - buf.writeVarInt(id); - buf.writeUUID(uuid); - buf.writeDouble(x); - buf.writeDouble(y); - buf.writeDouble(z); - buf.writeByte((int) (xRot / 360F * 256F)); - buf.writeByte((int) (yRot / 360F * 256F)); - data.toNetwork(buf); - } - - @Override - public PacketType getType() { - return TYPE; - } -} diff --git a/src/main/java/dev/galacticraft/mod/network/packets/SelectPartPacket.java b/src/main/java/dev/galacticraft/mod/network/packets/SelectPartPacket.java deleted file mode 100644 index 6e56a45bc0..0000000000 --- a/src/main/java/dev/galacticraft/mod/network/packets/SelectPartPacket.java +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright (c) 2019-2024 Team Galacticraft - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -package dev.galacticraft.mod.network.packets; - -import dev.galacticraft.api.rocket.part.RocketPart; -import dev.galacticraft.api.rocket.part.RocketPartTypes; -import dev.galacticraft.mod.Constant.Packet; -import dev.galacticraft.mod.screen.RocketWorkbenchMenu; -import net.fabricmc.fabric.api.networking.v1.PacketSender; -import net.fabricmc.fabric.api.networking.v1.PacketType; -import net.minecraft.core.Registry; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.resources.ResourceKey; -import net.minecraft.world.entity.player.Player; -import org.jetbrains.annotations.Nullable; - -public class SelectPartPacket implements GCPacket { - public static final PacketType TYPE = PacketType.create(Packet.SELECT_PART, SelectPartPacket::new); - - private final RocketPartTypes type; - @Nullable - private final ResourceKey> key; - - public SelectPartPacket(RocketPartTypes type, @Nullable ResourceKey> key) { - this.type = type; - this.key = (ResourceKey>) key; - } - - public SelectPartPacket(FriendlyByteBuf buf) { - this.type = buf.readEnum(RocketPartTypes.class); - this.key = buf.readBoolean() ? ResourceKey.create(((ResourceKey>>) type.key), buf.readResourceLocation()) : null; - } - - @Override - public void handle(Player player, PacketSender responseSender) { - if (player.containerMenu instanceof RocketWorkbenchMenu menu) { - menu.getSelection(type).setSelection(key == null ? null : key.location()); - menu.workbench.setChanged(); - } - } - - @Override - public void write(FriendlyByteBuf buf) { - buf.writeEnum(type); - if (key != null) { - buf.writeBoolean(true); - buf.writeResourceLocation(key.location()); - } else { - buf.writeBoolean(false); - } - } - - @Override - public PacketType getType() { - return TYPE; - } -} diff --git a/src/main/java/dev/galacticraft/mod/network/packets/ToggleBubbleVisibilityPacket.java b/src/main/java/dev/galacticraft/mod/network/packets/ToggleBubbleVisibilityPacket.java deleted file mode 100644 index 365d912a3a..0000000000 --- a/src/main/java/dev/galacticraft/mod/network/packets/ToggleBubbleVisibilityPacket.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright (c) 2019-2024 Team Galacticraft - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -package dev.galacticraft.mod.network.packets; - -import dev.galacticraft.mod.Constant.Packet; -import dev.galacticraft.mod.content.block.entity.machine.OxygenBubbleDistributorBlockEntity; -import dev.galacticraft.mod.screen.OxygenBubbleDistributorMenu; -import net.fabricmc.fabric.api.networking.v1.PacketSender; -import net.fabricmc.fabric.api.networking.v1.PacketType; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.world.entity.player.Player; - -public record ToggleBubbleVisibilityPacket(boolean visible) implements GCPacket { - public static final PacketType TYPE = PacketType.create(Packet.BUBBLE_VISIBLE, ToggleBubbleVisibilityPacket::new); - - public ToggleBubbleVisibilityPacket(FriendlyByteBuf buf) { - this(buf.readBoolean()); - } - - @Override - public void handle(Player player, PacketSender responseSender) { - if (player.containerMenu instanceof OxygenBubbleDistributorMenu sHandler) { - OxygenBubbleDistributorBlockEntity machine = sHandler.machine; - if (machine.getSecurity().hasAccess(player)) { - machine.setBubbleVisible(visible); - } - } - } - - @Override - public void write(FriendlyByteBuf buf) { - buf.writeBoolean(visible); - } - - @Override - public PacketType getType() { - return TYPE; - } -} diff --git a/src/main/java/dev/galacticraft/mod/network/s2c/BubbleSizePayload.java b/src/main/java/dev/galacticraft/mod/network/s2c/BubbleSizePayload.java new file mode 100644 index 0000000000..9088f9cddf --- /dev/null +++ b/src/main/java/dev/galacticraft/mod/network/s2c/BubbleSizePayload.java @@ -0,0 +1,75 @@ +/* + * Copyright (c) 2019-2024 Team Galacticraft + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package dev.galacticraft.mod.network.s2c; + +import dev.galacticraft.impl.network.s2c.S2CPayload; +import dev.galacticraft.mod.Constant; +import dev.galacticraft.mod.content.block.entity.machine.OxygenBubbleDistributorBlockEntity; +import io.netty.buffer.ByteBuf; +import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; +import net.minecraft.client.multiplayer.ClientLevel; +import net.minecraft.core.BlockPos; +import net.minecraft.core.SectionPos; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.level.block.entity.BlockEntity; +import org.jetbrains.annotations.NotNull; + +public record BubbleSizePayload(BlockPos pos, double size) implements S2CPayload { + public static final StreamCodec STREAM_CODEC = StreamCodec.composite( + BlockPos.STREAM_CODEC, + p -> p.pos, + ByteBufCodecs.DOUBLE, + p -> p.size, + BubbleSizePayload::new + ); + + public static final ResourceLocation ID = Constant.id("bubble_size"); + public static final CustomPacketPayload.Type TYPE = new CustomPacketPayload.Type<>(ID); + + public BubbleSizePayload { + if (size < 0) { + throw new IllegalArgumentException("Size cannot be negative"); + } + } + + @Override + public Runnable handle(@NotNull ClientPlayNetworking.Context context) { + return () -> { + ClientLevel level = context.client().level; + if (level != null && level.hasChunk(SectionPos.blockToSectionCoord(this.pos().getX()), SectionPos.blockToSectionCoord(this.pos().getZ()))) { + BlockEntity entity = level.getBlockEntity(this.pos()); + if (entity instanceof OxygenBubbleDistributorBlockEntity machine) { + machine.setSize(this.size()); + } + } + }; + } + + @Override + public @NotNull Type type() { + return TYPE; + } +} diff --git a/src/main/java/dev/galacticraft/mod/network/s2c/BubbleUpdatePayload.java b/src/main/java/dev/galacticraft/mod/network/s2c/BubbleUpdatePayload.java new file mode 100644 index 0000000000..1730429ea0 --- /dev/null +++ b/src/main/java/dev/galacticraft/mod/network/s2c/BubbleUpdatePayload.java @@ -0,0 +1,67 @@ +/* + * Copyright (c) 2019-2024 Team Galacticraft + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package dev.galacticraft.mod.network.s2c; + +import dev.galacticraft.impl.network.s2c.S2CPayload; +import dev.galacticraft.mod.Constant; +import dev.galacticraft.mod.content.block.entity.machine.OxygenBubbleDistributorBlockEntity; +import io.netty.buffer.ByteBuf; +import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; +import net.minecraft.core.BlockPos; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; +import net.minecraft.resources.ResourceLocation; +import org.jetbrains.annotations.NotNull; + +public record BubbleUpdatePayload(BlockPos pos, byte maxSize, double size, boolean visible) implements S2CPayload { + public static final ResourceLocation ID = Constant.id("bubble_update"); + public static final CustomPacketPayload.Type TYPE = new CustomPacketPayload.Type<>(ID); + public static final StreamCodec STREAM_CODEC = StreamCodec.composite( + BlockPos.STREAM_CODEC, + p -> p.pos, + ByteBufCodecs.BYTE, + p -> p.maxSize, + ByteBufCodecs.DOUBLE, + p -> p.size, + ByteBufCodecs.BOOL, + p -> p.visible, + BubbleUpdatePayload::new + ); + + @Override + public Runnable handle(ClientPlayNetworking.@NotNull Context context) { + return () -> { + if (context.player().level().getBlockEntity(this.pos) instanceof OxygenBubbleDistributorBlockEntity machine) { + machine.setTargetSize(this.maxSize); + machine.setSize(this.size); + machine.setBubbleVisible(this.visible); + } + }; + } + + @Override + public @NotNull Type type() { + return TYPE; + } +} diff --git a/src/main/java/dev/galacticraft/mod/network/s2c/FootprintPacket.java b/src/main/java/dev/galacticraft/mod/network/s2c/FootprintPacket.java new file mode 100644 index 0000000000..dc56603120 --- /dev/null +++ b/src/main/java/dev/galacticraft/mod/network/s2c/FootprintPacket.java @@ -0,0 +1,60 @@ +/* + * Copyright (c) 2019-2024 Team Galacticraft + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package dev.galacticraft.mod.network.s2c; + +import dev.galacticraft.impl.network.s2c.S2CPayload; +import dev.galacticraft.mod.Constant; +import dev.galacticraft.mod.client.render.FootprintRenderer; +import dev.galacticraft.mod.misc.footprint.Footprint; +import dev.galacticraft.mod.util.StreamCodecs; +import io.netty.buffer.ByteBuf; +import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; +import net.minecraft.resources.ResourceLocation; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public record FootprintPacket(long chunk, List footprints) implements S2CPayload { + public static final StreamCodec STREAM_CODEC = StreamCodec.composite( + StreamCodecs.LONG, + p -> p.chunk, + ByteBufCodecs.list().apply(Footprint.STREAM_CODEC), + p -> p.footprints, + FootprintPacket::new + ); + public static final ResourceLocation ID = Constant.id("footprint"); + public static final CustomPacketPayload.Type TYPE = new CustomPacketPayload.Type<>(ID); + + @Override + public Runnable handle(ClientPlayNetworking.@NotNull Context context) { + return () -> FootprintRenderer.setFootprints(this.chunk, this.footprints); + } + + @Override + public @NotNull Type type() { + return TYPE; + } +} diff --git a/src/main/java/dev/galacticraft/mod/network/s2c/FootprintRemovedPacket.java b/src/main/java/dev/galacticraft/mod/network/s2c/FootprintRemovedPacket.java new file mode 100644 index 0000000000..5e313117d1 --- /dev/null +++ b/src/main/java/dev/galacticraft/mod/network/s2c/FootprintRemovedPacket.java @@ -0,0 +1,79 @@ +/* + * Copyright (c) 2019-2024 Team Galacticraft + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package dev.galacticraft.mod.network.s2c; + +import dev.galacticraft.impl.network.s2c.S2CPayload; +import dev.galacticraft.mod.Constant; +import dev.galacticraft.mod.misc.footprint.Footprint; +import dev.galacticraft.mod.misc.footprint.FootprintManager; +import dev.galacticraft.mod.util.StreamCodecs; +import io.netty.buffer.ByteBuf; +import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; +import net.minecraft.core.BlockPos; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; +import net.minecraft.resources.ResourceLocation; +import org.jetbrains.annotations.NotNull; + +import java.util.ArrayList; +import java.util.List; + +public record FootprintRemovedPacket(long chunk, BlockPos pos) implements S2CPayload { + public static final StreamCodec STREAM_CODEC = StreamCodec.composite( + StreamCodecs.LONG, + p -> p.chunk, + BlockPos.STREAM_CODEC, + p -> p.pos, + FootprintRemovedPacket::new + ); + public static final ResourceLocation ID = Constant.id("footprint_removed"); + public static final Type TYPE = new Type<>(ID); + + @Override + public Runnable handle(ClientPlayNetworking.@NotNull Context context) { + return () -> { + BlockPos pos = pos(); + FootprintManager manager = context.player().level().galacticraft$getFootprintManager(); + List footprintList = manager.getFootprints().get(this.chunk); + List toRemove = new ArrayList<>(); + + if (footprintList != null) { + for (Footprint footprint : footprintList) { + if (footprint.position.x > pos.getX() && footprint.position.x < pos.getX() + 1 && footprint.position.z > pos.getZ() && footprint.position.z < pos.getZ() + 1) { + toRemove.add(footprint); + } + } + } + + if (!toRemove.isEmpty()) { + footprintList.removeAll(toRemove); + manager.getFootprints().put(this.chunk, footprintList); + } + }; + } + + @Override + public @NotNull Type type() { + return TYPE; + } +} diff --git a/src/main/java/dev/galacticraft/mod/network/s2c/OpenCelestialScreenPayload.java b/src/main/java/dev/galacticraft/mod/network/s2c/OpenCelestialScreenPayload.java new file mode 100644 index 0000000000..0f7ed4a58f --- /dev/null +++ b/src/main/java/dev/galacticraft/mod/network/s2c/OpenCelestialScreenPayload.java @@ -0,0 +1,68 @@ +/* + * Copyright (c) 2019-2024 Team Galacticraft + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package dev.galacticraft.mod.network.s2c; + +import dev.galacticraft.api.registry.AddonRegistries; +import dev.galacticraft.api.rocket.RocketData; +import dev.galacticraft.api.universe.celestialbody.CelestialBody; +import dev.galacticraft.impl.network.s2c.S2CPayload; +import dev.galacticraft.mod.Constant; +import dev.galacticraft.mod.client.gui.screen.ingame.CelestialSelectionScreen; +import dev.galacticraft.mod.util.StreamCodecs; +import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; +import net.minecraft.core.Holder; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; +import net.minecraft.resources.ResourceLocation; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +public record OpenCelestialScreenPayload(@Nullable RocketData data, Holder> celestialBody) implements S2CPayload { + public static final StreamCodec STREAM_CODEC = StreamCodec.composite( + StreamCodecs.ofNullable(RocketData.STREAM_CODEC), + p -> p.data, + ByteBufCodecs.holderRegistry(AddonRegistries.CELESTIAL_BODY), + p -> p.celestialBody, + OpenCelestialScreenPayload::new + ); + + public static final ResourceLocation ID = Constant.id("open_celestial_screen"); + public static final Type TYPE = new Type<>(ID); + + @Override + public @NotNull Type type() { + return TYPE; + } + + @Override + public Runnable handle(ClientPlayNetworking.@NotNull Context context) { + return new Runnable() { + @Override + public void run() { + context.client().setScreen(new CelestialSelectionScreen(false, OpenCelestialScreenPayload.this.data(), true, OpenCelestialScreenPayload.this.celestialBody.value())); + } + }; + } +} diff --git a/src/main/java/dev/galacticraft/mod/network/s2c/ResetPerspectivePacket.java b/src/main/java/dev/galacticraft/mod/network/s2c/ResetPerspectivePacket.java new file mode 100644 index 0000000000..943a98c9e2 --- /dev/null +++ b/src/main/java/dev/galacticraft/mod/network/s2c/ResetPerspectivePacket.java @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2019-2024 Team Galacticraft + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package dev.galacticraft.mod.network.s2c; + +import dev.galacticraft.impl.network.s2c.S2CPayload; +import dev.galacticraft.mod.Constant; +import dev.galacticraft.mod.attachments.GCClientPlayer; +import io.netty.buffer.ByteBuf; +import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; +import net.minecraft.client.Minecraft; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; +import net.minecraft.resources.ResourceLocation; +import org.jetbrains.annotations.NotNull; + +public record ResetPerspectivePacket() implements S2CPayload { + public static final ResetPerspectivePacket INSTANCE = new ResetPerspectivePacket(); + public static final StreamCodec STREAM_CODEC = StreamCodec.unit(INSTANCE); + + public static final ResourceLocation ID = Constant.id("reset_perspective"); + public static final Type TYPE = new Type<>(ID); + + @Override + public Runnable handle(@NotNull ClientPlayNetworking.Context context) { + return () -> Minecraft.getInstance().options.setCameraType(GCClientPlayer.get(context.player()).getCameraType()); + } + + @Override + public @NotNull Type type() { + return TYPE; + } +} diff --git a/src/main/java/dev/galacticraft/mod/network/s2c/RocketSpawnPacket.java b/src/main/java/dev/galacticraft/mod/network/s2c/RocketSpawnPacket.java new file mode 100644 index 0000000000..99f10ed89a --- /dev/null +++ b/src/main/java/dev/galacticraft/mod/network/s2c/RocketSpawnPacket.java @@ -0,0 +1,98 @@ +/* + * Copyright (c) 2019-2024 Team Galacticraft + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package dev.galacticraft.mod.network.s2c; + +import dev.galacticraft.api.rocket.RocketData; +import dev.galacticraft.impl.network.s2c.S2CPayload; +import dev.galacticraft.mod.Constant; +import dev.galacticraft.mod.content.entity.orbital.RocketEntity; +import dev.galacticraft.mod.util.StreamCodecs; +import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; +import net.minecraft.client.multiplayer.ClientLevel; +import net.minecraft.core.UUIDUtil; +import net.minecraft.core.registries.Registries; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.entity.EntityType; +import org.jetbrains.annotations.NotNull; + +import java.util.UUID; + +public record RocketSpawnPacket(EntityType eType, int id, UUID uuid, double x, double y, double z, float xRot, float yRot, RocketData data) implements S2CPayload { + public static final StreamCodec STREAM_CODEC = StreamCodecs.composite( + ByteBufCodecs.registry(Registries.ENTITY_TYPE), + p -> p.eType, + ByteBufCodecs.VAR_INT, + p -> p.id, + UUIDUtil.STREAM_CODEC, + p -> p.uuid, + ByteBufCodecs.DOUBLE, + p -> p.x, + ByteBufCodecs.DOUBLE, + p -> p.y, + ByteBufCodecs.DOUBLE, + p -> p.z, + ByteBufCodecs.FLOAT, + p -> p.xRot, + ByteBufCodecs.FLOAT, + p -> p.yRot, + RocketData.STREAM_CODEC, + p -> p.data, + RocketSpawnPacket::new + ); + + public static final ResourceLocation ID = Constant.id("spawn_rocket"); + public static final CustomPacketPayload.Type TYPE = new CustomPacketPayload.Type<>(ID); + + @Override + public Runnable handle(ClientPlayNetworking.@NotNull Context context) { + return new Runnable() { + @Override + public void run() { + ClientLevel level = context.client().level; + assert level != null; + + RocketEntity entity = (RocketEntity) RocketSpawnPacket.this.eType.create(level); + assert entity != null; + entity.syncPacketPositionCodec(x, y, z); + entity.setPos(x, y, z); + entity.setXRot(xRot); + entity.setYRot(yRot); + entity.setId(id); + entity.setUUID(uuid); + + entity.setData(data); + + level.addEntity(entity); + } + }; + } + + @Override + public @NotNull Type type() { + return TYPE; + } +} diff --git a/src/main/java/dev/galacticraft/mod/particle/ComplexParticleType.java b/src/main/java/dev/galacticraft/mod/particle/ComplexParticleType.java deleted file mode 100644 index 91b02a3a56..0000000000 --- a/src/main/java/dev/galacticraft/mod/particle/ComplexParticleType.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright (c) 2019-2024 Team Galacticraft - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -package dev.galacticraft.mod.particle; - -import com.mojang.serialization.Codec; -import net.minecraft.core.particles.ParticleOptions; -import net.minecraft.core.particles.ParticleType; - -public class ComplexParticleType extends ParticleType { - private final Codec codec; - - protected ComplexParticleType(boolean overrideLimiter, ParticleOptions.Deserializer deserializer, Codec codec) { - super(overrideLimiter, deserializer); - this.codec = codec; - } - - @Override - public Codec codec() { - return this.codec; - } -} diff --git a/src/main/java/dev/galacticraft/mod/particle/EntityParticleOption.java b/src/main/java/dev/galacticraft/mod/particle/EntityParticleOption.java index 3038942c83..e841a1e8fe 100644 --- a/src/main/java/dev/galacticraft/mod/particle/EntityParticleOption.java +++ b/src/main/java/dev/galacticraft/mod/particle/EntityParticleOption.java @@ -22,68 +22,39 @@ package dev.galacticraft.mod.particle; -import com.mojang.brigadier.StringReader; -import com.mojang.brigadier.exceptions.CommandSyntaxException; -import com.mojang.serialization.Codec; -import com.mojang.serialization.codecs.RecordCodecBuilder; +import com.mojang.serialization.MapCodec; +import io.netty.buffer.ByteBuf; import net.minecraft.core.UUIDUtil; import net.minecraft.core.particles.ParticleOptions; import net.minecraft.core.particles.ParticleType; -import net.minecraft.core.registries.BuiltInRegistries; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.util.ExtraCodecs; +import net.minecraft.network.codec.StreamCodec; +import org.jetbrains.annotations.NotNull; -import java.util.Locale; import java.util.UUID; public class EntityParticleOption implements ParticleOptions { - public static final Codec CODEC = RecordCodecBuilder.create( - instance -> instance.group( - BuiltInRegistries.PARTICLE_TYPE.byNameCodec().fieldOf("particle").forGetter(EntityParticleOption::getType), - UUIDUtil.CODEC.fieldOf("uuid").forGetter(EntityParticleOption::getEntityUUID) - ).apply(instance, EntityParticleOption::new) - ); + private final ParticleType type; + private final UUID uuid; - public static final ParticleOptions.Deserializer DESERIALIZER = new ParticleOptions.Deserializer<>() { - @Override - public EntityParticleOption fromCommand(ParticleType particleTypeIn, StringReader reader) throws CommandSyntaxException { - reader.expect(' '); - return new EntityParticleOption(particleTypeIn, UUID.fromString(reader.readString())); - } - - @Override - public EntityParticleOption fromNetwork(ParticleType particleTypeIn, FriendlyByteBuf buffer) { - return new EntityParticleOption(particleTypeIn, buffer.readUUID()); - } - }; - - private final ParticleType particleType; - private final UUID entityUUID; - - public EntityParticleOption(ParticleType particleType, UUID entityUUID) { - this.particleType = particleType; - this.entityUUID = entityUUID; + public EntityParticleOption(ParticleType type, UUID uuid) { + this.type = type; + this.uuid = uuid; } - @Override - public ParticleType getType() { - return particleType; + public static MapCodec codec(ParticleType type) { + return UUIDUtil.CODEC.xmap(uuid -> new EntityParticleOption(type, uuid), o -> o.uuid).fieldOf("uuid"); } - @Override - public void writeToNetwork(FriendlyByteBuf buffer) { - buffer.writeBoolean(this.entityUUID != null); - if (this.entityUUID != null) { - buffer.writeUUID(this.entityUUID); - } + public static StreamCodec streamCodec(ParticleType type) { + return UUIDUtil.STREAM_CODEC.map(uuid -> new EntityParticleOption(type, uuid), o -> o.uuid); } @Override - public String writeToString() { - return String.format(Locale.ROOT, "%s %s", BuiltInRegistries.PARTICLE_TYPE.getKey(this.getType()), this.entityUUID.toString()); + public @NotNull ParticleType getType() { + return this.type; } - public UUID getEntityUUID() { - return entityUUID; + public UUID getUuid() { + return this.uuid; } } diff --git a/src/main/java/dev/galacticraft/mod/particle/GCParticleTypes.java b/src/main/java/dev/galacticraft/mod/particle/GCParticleTypes.java index bdab8ed48d..ea00dc3a5d 100644 --- a/src/main/java/dev/galacticraft/mod/particle/GCParticleTypes.java +++ b/src/main/java/dev/galacticraft/mod/particle/GCParticleTypes.java @@ -40,10 +40,10 @@ public class GCParticleTypes { public static final SimpleParticleType SPARK_PARTICLE = PARTICLES.register(Particle.SPARK, FabricParticleTypes.simple()); public static final SimpleParticleType DRIPPING_SULFURIC_ACID = PARTICLES.register(Particle.DRIPPING_SULFURIC_ACID, FabricParticleTypes.simple()); public static final SimpleParticleType FALLING_SULFURIC_ACID = PARTICLES.register(Particle.FALLING_SULFURIC_ACID, FabricParticleTypes.simple()); // Why does this exist? - public static final ComplexParticleType LAUNCH_SMOKE_PARTICLE = PARTICLES.register(Particle.LAUNCH_SMOKE, new ComplexParticleType<>(false, LaunchSmokeParticleOption.DESERIALIZER, LaunchSmokeParticleOption.CODEC)); // FabricParticleTypes.complex doesn't support codec ): this was fixed in 1.20.5 snapshots - public static final ComplexParticleType LAUNCH_FLAME = PARTICLES.register(Particle.LAUNCH_FLAME, new ComplexParticleType<>(false, EntityParticleOption.DESERIALIZER, EntityParticleOption.CODEC)); - public static final ComplexParticleType LAUNCH_FLAME_LAUNCHED = PARTICLES.register(Particle.LAUNCH_FLAME_LAUNCHED, new ComplexParticleType<>(false, EntityParticleOption.DESERIALIZER, EntityParticleOption.CODEC)); - public static final ComplexParticleType ACID_VAPOR_PARTICLE = PARTICLES.register(Particle.ACID_VAPOR_PARTICLE, new ComplexParticleType<>(false, ScaleParticleType.DESERIALIZER, ScaleParticleType.CODEC)); + public static final ParticleType LAUNCH_SMOKE_PARTICLE = PARTICLES.register(Particle.LAUNCH_SMOKE, FabricParticleTypes.complex(false, LaunchSmokeParticleOption.CODEC, LaunchSmokeParticleOption.STREAM_CODEC)); + public static final ParticleType LAUNCH_FLAME = PARTICLES.register(Particle.LAUNCH_FLAME, FabricParticleTypes.complex(false, EntityParticleOption::codec, EntityParticleOption::streamCodec)); + public static final ParticleType LAUNCH_FLAME_LAUNCHED = PARTICLES.register(Particle.LAUNCH_FLAME_LAUNCHED, FabricParticleTypes.complex(false, EntityParticleOption::codec, EntityParticleOption::streamCodec)); + public static final ParticleType ACID_VAPOR_PARTICLE = PARTICLES.register(Particle.ACID_VAPOR_PARTICLE, FabricParticleTypes.complex(false, ScaleParticleType::codec, ScaleParticleType::streamCodec)); public static void register() {} } diff --git a/src/main/java/dev/galacticraft/mod/particle/LaunchSmokeParticleOption.java b/src/main/java/dev/galacticraft/mod/particle/LaunchSmokeParticleOption.java index 76d83e14b3..b776a38643 100644 --- a/src/main/java/dev/galacticraft/mod/particle/LaunchSmokeParticleOption.java +++ b/src/main/java/dev/galacticraft/mod/particle/LaunchSmokeParticleOption.java @@ -22,69 +22,34 @@ package dev.galacticraft.mod.particle; -import com.mojang.brigadier.StringReader; -import com.mojang.brigadier.exceptions.CommandSyntaxException; import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; +import io.netty.buffer.ByteBuf; import net.minecraft.core.particles.ParticleOptions; import net.minecraft.core.particles.ParticleType; -import net.minecraft.core.registries.BuiltInRegistries; -import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; +import org.jetbrains.annotations.NotNull; -import java.util.Locale; - -public class LaunchSmokeParticleOption implements ParticleOptions { - public static final Codec CODEC = RecordCodecBuilder.create( +public record LaunchSmokeParticleOption(boolean launched, float scale) implements ParticleOptions { + public static final MapCodec CODEC = RecordCodecBuilder.mapCodec( instance -> instance.group( - Codec.BOOL.fieldOf("launched").forGetter(LaunchSmokeParticleOption::isLaunched), - Codec.FLOAT.fieldOf("scale").forGetter(LaunchSmokeParticleOption::getScale) + Codec.BOOL.fieldOf("launched").forGetter(LaunchSmokeParticleOption::launched), + Codec.FLOAT.fieldOf("scale").forGetter(LaunchSmokeParticleOption::scale) ).apply(instance, LaunchSmokeParticleOption::new) ); - public static final ParticleOptions.Deserializer DESERIALIZER = new ParticleOptions.Deserializer<>() { - public LaunchSmokeParticleOption fromCommand(ParticleType particleType, StringReader stringReader) throws CommandSyntaxException { - stringReader.expect(' '); - boolean launched = stringReader.readBoolean(); - float scale = stringReader.readFloat(); - return new LaunchSmokeParticleOption(launched, scale); - } - - public LaunchSmokeParticleOption fromNetwork(ParticleType particleType, FriendlyByteBuf buffer) { - return new LaunchSmokeParticleOption(buffer.readBoolean(), buffer.readFloat()); - } - }; - - private final boolean launched; - private final float scale; - - public LaunchSmokeParticleOption(boolean launched, float scale) { - this.launched = launched; - this.scale = scale; - } + public static final StreamCodec STREAM_CODEC = StreamCodec.composite( + ByteBufCodecs.BOOL, + o -> o.launched, + ByteBufCodecs.FLOAT, + o -> o.scale, + LaunchSmokeParticleOption::new + ); @Override - public ParticleType getType() { + public @NotNull ParticleType getType() { return GCParticleTypes.LAUNCH_SMOKE_PARTICLE; } - - @Override - public void writeToNetwork(FriendlyByteBuf buffer) { - buffer.writeBoolean(this.launched); - buffer.writeFloat(this.scale); - } - - @Override - public String writeToString() { - return String.format( - Locale.ROOT, "%s %s %.2f", BuiltInRegistries.PARTICLE_TYPE.getKey(this.getType()), this.launched, this.scale - ); - } - - public boolean isLaunched() { - return launched; - } - - public float getScale() { - return scale; - } } diff --git a/src/main/java/dev/galacticraft/mod/particle/ScaleParticleType.java b/src/main/java/dev/galacticraft/mod/particle/ScaleParticleType.java index 01a81d93ae..1c7520bf31 100644 --- a/src/main/java/dev/galacticraft/mod/particle/ScaleParticleType.java +++ b/src/main/java/dev/galacticraft/mod/particle/ScaleParticleType.java @@ -22,48 +22,33 @@ package dev.galacticraft.mod.particle; -import com.mojang.brigadier.StringReader; -import com.mojang.brigadier.exceptions.CommandSyntaxException; import com.mojang.serialization.Codec; -import com.mojang.serialization.codecs.RecordCodecBuilder; -import net.minecraft.core.particles.ParticleOptions; +import com.mojang.serialization.MapCodec; +import io.netty.buffer.ByteBuf; import net.minecraft.core.particles.ParticleType; -import net.minecraft.core.registries.BuiltInRegistries; -import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.core.particles.ScalableParticleOptionsBase; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; +import org.jetbrains.annotations.NotNull; -import java.util.Locale; +public class ScaleParticleType extends ScalableParticleOptionsBase { + private final ParticleType type; -public record ScaleParticleType(float scale) implements ParticleOptions { - public static final Codec CODEC = RecordCodecBuilder.create(instance -> instance.group( - Codec.FLOAT.fieldOf("scale").forGetter(type -> type.scale) - ).apply(instance, ScaleParticleType::new)); - public static final Deserializer DESERIALIZER = new Deserializer<>() { - @Override - public ScaleParticleType fromCommand(ParticleType particleType, StringReader reader) throws CommandSyntaxException { - reader.expect(' '); - return new ScaleParticleType(reader.readFloat()); - } - - @Override - public ScaleParticleType fromNetwork(ParticleType particleType, FriendlyByteBuf buffer) { - return new ScaleParticleType(buffer.readFloat()); - } - }; + public ScaleParticleType(ParticleType type, float scale) { + super(scale); + this.type = type; + } - @Override - public ParticleType getType() { - return GCParticleTypes.ACID_VAPOR_PARTICLE; // TODO: make this more general purpose + public static MapCodec codec(ParticleType type) { + return Codec.FLOAT.xmap(uuid -> new ScaleParticleType(type, uuid), ScalableParticleOptionsBase::getScale).fieldOf("scale"); } - @Override - public void writeToNetwork(FriendlyByteBuf buffer) { - buffer.writeFloat(this.scale); + public static StreamCodec streamCodec(ParticleType type) { + return ByteBufCodecs.FLOAT.map(uuid -> new ScaleParticleType(type, uuid), ScalableParticleOptionsBase::getScale); } @Override - public String writeToString() { - return String.format( - Locale.ROOT, "%s %.2f", BuiltInRegistries.PARTICLE_TYPE.getKey(this.getType()), this.scale - ); + public @NotNull ParticleType getType() { + return this.type; } } diff --git a/src/main/java/dev/galacticraft/mod/recipe/CompressingRecipe.java b/src/main/java/dev/galacticraft/mod/recipe/CompressingRecipe.java index 1a1c89ce16..839c9223ca 100644 --- a/src/main/java/dev/galacticraft/mod/recipe/CompressingRecipe.java +++ b/src/main/java/dev/galacticraft/mod/recipe/CompressingRecipe.java @@ -22,11 +22,11 @@ package dev.galacticraft.mod.recipe; -import net.minecraft.world.inventory.CraftingContainer; +import net.minecraft.world.item.crafting.CraftingInput; import net.minecraft.world.item.crafting.Recipe; import net.minecraft.world.item.crafting.RecipeType; -public interface CompressingRecipe extends Recipe { +public interface CompressingRecipe extends Recipe { @Override default RecipeType getType() { return GCRecipes.COMPRESSING_TYPE; diff --git a/src/main/java/dev/galacticraft/mod/recipe/FabricationRecipe.java b/src/main/java/dev/galacticraft/mod/recipe/FabricationRecipe.java index ea4cd9df77..c769e8a9a8 100644 --- a/src/main/java/dev/galacticraft/mod/recipe/FabricationRecipe.java +++ b/src/main/java/dev/galacticraft/mod/recipe/FabricationRecipe.java @@ -23,70 +23,68 @@ package dev.galacticraft.mod.recipe; import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; -import dev.galacticraft.mod.Constant; +import net.minecraft.core.HolderLookup; import net.minecraft.core.NonNullList; -import net.minecraft.core.RegistryAccess; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.util.ExtraCodecs; -import net.minecraft.world.Container; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.crafting.Ingredient; -import net.minecraft.world.item.crafting.Recipe; -import net.minecraft.world.item.crafting.RecipeSerializer; -import net.minecraft.world.item.crafting.RecipeType; +import net.minecraft.world.item.crafting.*; import net.minecraft.world.level.Level; +import org.jetbrains.annotations.NotNull; -public class FabricationRecipe implements Recipe { +public class FabricationRecipe implements Recipe { private final String group; - private final ItemStack output; - private final NonNullList input = NonNullList.withSize(1, Ingredient.EMPTY); + private final ItemStack result; + private final NonNullList ingredients = NonNullList.withSize(1, Ingredient.EMPTY); private final int time; - public FabricationRecipe(String group, Ingredient input, ItemStack output, int time) { + public FabricationRecipe(String group, Ingredient ingredients, ItemStack result, int time) { this.group = group; - this.input.set(0, input); - this.output = output; + this.ingredients.set(0, ingredients); + this.result = result; this.time = time; } @Override - public boolean canCraftInDimensions(int width, int height) { - return width * height > 0; + public boolean matches(RecipeInput input, Level world) { + return this.ingredients.get(0).test(input.getItem(0)); } @Override - public ItemStack getResultItem(RegistryAccess registryAccess) { - return this.output; + public @NotNull ItemStack assemble(RecipeInput input, HolderLookup.Provider lookup) { + return this.getResultItem(lookup).copy(); } @Override - public NonNullList getIngredients() { - return this.input; + public boolean canCraftInDimensions(int width, int height) { + return width * height > 0; } @Override - public boolean matches(Container inventory, Level world) { - return this.input.get(0).test(inventory.getItem(0)); + public @NotNull ItemStack getResultItem(HolderLookup.Provider registriesLookup) { + return this.result; } @Override - public ItemStack assemble(Container container, RegistryAccess registryAccess) { - return this.getResultItem(registryAccess).copy(); + public @NotNull NonNullList getIngredients() { + return this.ingredients; } @Override - public RecipeType getType() { + public @NotNull RecipeType getType() { return GCRecipes.FABRICATION_TYPE; } @Override - public RecipeSerializer getSerializer() { + public @NotNull RecipeSerializer getSerializer() { return GCRecipes.FABRICATION_SERIALIZER; } @Override - public String getGroup() { + public @NotNull String getGroup() { return this.group; } @@ -96,29 +94,33 @@ public int getProcessingTime() { public static class Serializer implements RecipeSerializer { public static final Serializer INSTANCE = new Serializer(); - public static final Codec CODEC = RecordCodecBuilder.create(instance -> instance.group( - ExtraCodecs.strictOptionalField(Codec.STRING, "group", "").forGetter(recipe -> recipe.group), - Ingredient.CODEC.fieldOf("ingredient").forGetter(recipe -> recipe.input.get(0)), - ItemStack.CODEC.fieldOf("result").forGetter(recipe -> recipe.output), - ExtraCodecs.strictOptionalField(Codec.INT, "time", 300).forGetter(recipe -> recipe.time) + public static final MapCodec CODEC = RecordCodecBuilder.mapCodec(instance -> instance.group( + Codec.STRING.optionalFieldOf("group", "").forGetter(recipe -> recipe.group), + Ingredient.CODEC.fieldOf("ingredient").forGetter(recipe -> recipe.ingredients.get(0)), + ItemStack.CODEC.fieldOf("result").forGetter(recipe -> recipe.result), + Codec.INT.optionalFieldOf("time", 300).forGetter(recipe -> recipe.time) ).apply(instance, FabricationRecipe::new)); - @Override - public Codec codec() { - return CODEC; - } + public static final StreamCodec STREAM_CODEC = StreamCodec.composite( + ByteBufCodecs.STRING_UTF8, + r -> r.group, + Ingredient.CONTENTS_STREAM_CODEC, + r -> r.ingredients.get(0), + ItemStack.STREAM_CODEC, + r -> r.result, + ByteBufCodecs.INT, + r -> r.time, + FabricationRecipe::new + ); @Override - public FabricationRecipe fromNetwork(FriendlyByteBuf buf) { - return new FabricationRecipe(buf.readUtf(Constant.Misc.MAX_STRING_READ), Ingredient.fromNetwork(buf), buf.readItem(), buf.readInt()); + public @NotNull MapCodec codec() { + return CODEC; } @Override - public void toNetwork(FriendlyByteBuf buf, FabricationRecipe recipe) { - buf.writeUtf(recipe.group); - recipe.input.get(0).toNetwork(buf); - buf.writeItem(recipe.output); - buf.writeInt(recipe.time); + public @NotNull StreamCodec streamCodec() { + return STREAM_CODEC; } } } \ No newline at end of file diff --git a/src/main/java/dev/galacticraft/mod/recipe/GCRecipeType.java b/src/main/java/dev/galacticraft/mod/recipe/GCRecipeType.java index a494aaf543..c84f20ed92 100644 --- a/src/main/java/dev/galacticraft/mod/recipe/GCRecipeType.java +++ b/src/main/java/dev/galacticraft/mod/recipe/GCRecipeType.java @@ -24,14 +24,14 @@ import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.Container; import net.minecraft.world.item.crafting.Recipe; +import net.minecraft.world.item.crafting.RecipeInput; import net.minecraft.world.item.crafting.RecipeType; -public class GCRecipeType> implements RecipeType { +public class GCRecipeType> implements RecipeType { @Override public String toString() { ResourceLocation id = BuiltInRegistries.RECIPE_TYPE.getKey(this); - return id == null ? "Unregistered GCRecipeType" : id.toString(); + return id == null ? "" : id.toString(); } } diff --git a/src/main/java/dev/galacticraft/mod/recipe/ShapedCompressingRecipe.java b/src/main/java/dev/galacticraft/mod/recipe/ShapedCompressingRecipe.java index ae911d0b10..1873dcbc65 100644 --- a/src/main/java/dev/galacticraft/mod/recipe/ShapedCompressingRecipe.java +++ b/src/main/java/dev/galacticraft/mod/recipe/ShapedCompressingRecipe.java @@ -22,74 +22,68 @@ package dev.galacticraft.mod.recipe; -import com.google.common.annotations.VisibleForTesting; -import com.google.gson.JsonArray; -import com.google.gson.JsonSyntaxException; import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; -import dev.galacticraft.mod.Constant; +import net.minecraft.core.HolderLookup; import net.minecraft.core.NonNullList; -import net.minecraft.core.RegistryAccess; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.util.ExtraCodecs; -import net.minecraft.util.GsonHelper; -import net.minecraft.world.inventory.CraftingContainer; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.crafting.CraftingInput; import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.item.crafting.RecipeSerializer; import net.minecraft.world.item.crafting.ShapedRecipePattern; import net.minecraft.world.level.Level; - -import java.util.HashSet; -import java.util.Map; -import java.util.Set; +import org.jetbrains.annotations.NotNull; public class ShapedCompressingRecipe implements CompressingRecipe { - private final ShapedRecipePattern pattern; - private final ItemStack output; private final String group; + private final ShapedRecipePattern pattern; + private final ItemStack result; private final int time; - public ShapedCompressingRecipe(String group, ShapedRecipePattern pattern, ItemStack output, int time) { + public ShapedCompressingRecipe(String group, ShapedRecipePattern pattern, ItemStack result, int time) { this.group = group; this.pattern = pattern; - this.output = output; + this.result = result; this.time = time; } @Override - public RecipeSerializer getSerializer() { + public @NotNull RecipeSerializer getSerializer() { return GCRecipes.SHAPED_COMPRESSING_SERIALIZER; } @Override - public String getGroup() { + public @NotNull String getGroup() { return this.group; } @Override - public NonNullList getIngredients() { - return this.pattern.ingredients(); + public @NotNull ItemStack getResultItem(HolderLookup.Provider registriesLookup) { + return this.result; } @Override - public boolean canCraftInDimensions(int width, int height) { - return width >= this.pattern.width() && height >= this.pattern.height(); + public @NotNull NonNullList getIngredients() { + return this.pattern.ingredients(); } @Override - public ItemStack getResultItem(RegistryAccess registryAccess) { - return this.output; + public boolean canCraftInDimensions(int width, int height) { + return width >= this.pattern.width() && height >= this.pattern.height(); } @Override - public boolean matches(CraftingContainer inv, Level world) { - return this.pattern.matches(inv); + public boolean matches(CraftingInput input, Level level) { + return this.pattern.matches(input); } @Override - public ItemStack assemble(CraftingContainer container, RegistryAccess registryAccess) { - return this.getResultItem(registryAccess).copy(); + public @NotNull ItemStack assemble(CraftingInput craftingInput, HolderLookup.Provider provider) { + return this.getResultItem(provider).copy(); } public int getWidth() { @@ -100,107 +94,10 @@ public int getHeight() { return this.pattern.height(); } - private static NonNullList getIngredients(String[] pattern, Map key, int width, int height) { - NonNullList defaultedList = NonNullList.withSize(width * height, Ingredient.EMPTY); - Set set = new HashSet<>(key.keySet()); - set.remove(" "); - - for (int i = 0; i < pattern.length; ++i) { - for (int j = 0; j < pattern[i].length(); ++j) { - String string = pattern[i].substring(j, j + 1); - Ingredient ingredient = key.get(string); - if (ingredient == null) { - throw new JsonSyntaxException("Pattern references symbol '" + string + "' but it's not defined in the key"); - } - - set.remove(string); - defaultedList.set(j + width * i, ingredient); - } - } - - if (!set.isEmpty()) { - throw new JsonSyntaxException("Key defines symbols that aren't used in pattern: " + set); - } else { - return defaultedList; - } - } - - @VisibleForTesting - static String[] combinePattern(String... lines) { - int i = Integer.MAX_VALUE; - int j = 0; - int k = 0; - int l = 0; - - for (int m = 0; m < lines.length; ++m) { - String string = lines[m]; - i = Math.min(i, findNextIngredient(string)); - int n = findNextIngredientReverse(string); - j = Math.max(j, n); - if (n < 0) { - if (k == m) { - ++k; - } - - ++l; - } else { - l = 0; - } - } - - if (lines.length == l) { - return new String[0]; - } else { - String[] strings = new String[lines.length - l - k]; - - for (int o = 0; o < strings.length; ++o) { - strings[o] = lines[o + k].substring(i, j + 1); - } - - return strings; - } - } - - private static int findNextIngredient(String pattern) { - int i = 0; - while (i < pattern.length() && pattern.charAt(i) == ' ') { - ++i; - } - - return i; - } - - private static int findNextIngredientReverse(String pattern) { - int i = pattern.length() - 1; - while (i >= 0 && pattern.charAt(i) == ' ') { - --i; - } - - return i; - } - - private static String[] getPattern(JsonArray json) { - String[] strings = new String[json.size()]; - if (strings.length > 3) { - throw new JsonSyntaxException("Invalid pattern: too many rows, 3 is maximum"); - } else if (strings.length == 0) { - throw new JsonSyntaxException("Invalid pattern: empty pattern not allowed"); - } else { - for (int i = 0; i < strings.length; ++i) { - String string = GsonHelper.convertToString(json.get(i), "pattern[" + i + "]"); - if (string.length() > 3) { - throw new JsonSyntaxException("Invalid pattern: too many columns, 3 is maximum"); - } - - if (i > 0 && strings[0].length() != string.length()) { - throw new JsonSyntaxException("Invalid pattern: each row must be the same width"); - } - - strings[i] = string; - } - - return strings; - } + @Override + public boolean isIncomplete() { + NonNullList nonNullList = this.getIngredients(); + return nonNullList.isEmpty() || nonNullList.stream().filter(ingredient -> !ingredient.isEmpty()).anyMatch(ingredient -> ingredient.getItems().length == 0); } @Override @@ -210,35 +107,36 @@ public int getTime() { public static class Serializer implements RecipeSerializer { public static final Serializer INSTANCE = new Serializer(); - public static final Codec CODEC = RecordCodecBuilder.create(instance -> instance.group( - ExtraCodecs.strictOptionalField(Codec.STRING, "group", "").forGetter(recipe -> recipe.group), - ShapedRecipePattern.MAP_CODEC.forGetter(recipe -> recipe.pattern), - ItemStack.CODEC.fieldOf("result").forGetter(recipe -> recipe.output), - ExtraCodecs.strictOptionalField(Codec.INT, "time", 200).forGetter(recipe -> recipe.time) - ).apply(instance, ShapedCompressingRecipe::new)); + public static final MapCodec CODEC = RecordCodecBuilder.mapCodec( + instance -> instance.group( + Codec.STRING.optionalFieldOf("group", "").forGetter(recipe -> recipe.group), + ShapedRecipePattern.MAP_CODEC.forGetter(recipe -> recipe.pattern), + ItemStack.STRICT_CODEC.fieldOf("result").forGetter(recipe -> recipe.result), + Codec.INT.optionalFieldOf("time", 200).forGetter(recipe -> recipe.time) + ) + .apply(instance, ShapedCompressingRecipe::new) + ); + + public static final StreamCodec STREAM_CODEC = StreamCodec.composite( + ByteBufCodecs.STRING_UTF8, + r -> r.group, + ShapedRecipePattern.STREAM_CODEC, + r -> r.pattern, + ItemStack.STREAM_CODEC, + r -> r.result, + ByteBufCodecs.INT, + r -> r.time, + ShapedCompressingRecipe::new + ); @Override - public Codec codec() { + public @NotNull MapCodec codec() { return CODEC; } @Override - public ShapedCompressingRecipe fromNetwork(FriendlyByteBuf buf) { - ShapedRecipePattern pattern = ShapedRecipePattern.fromNetwork(buf); - String string = buf.readUtf(Constant.Misc.MAX_STRING_READ); - int time = buf.readInt(); - - ItemStack output = buf.readItem(); - return new ShapedCompressingRecipe(string, pattern, output, time); - } - - @Override - public void toNetwork(FriendlyByteBuf buf, ShapedCompressingRecipe recipe) { - recipe.pattern.toNetwork(buf); - buf.writeUtf(recipe.group); - buf.writeInt(recipe.time); - - buf.writeItem(recipe.output); + public @NotNull StreamCodec streamCodec() { + return STREAM_CODEC; } } } diff --git a/src/main/java/dev/galacticraft/mod/recipe/ShapelessCompressingRecipe.java b/src/main/java/dev/galacticraft/mod/recipe/ShapelessCompressingRecipe.java index 7be4612470..f2e18a833c 100644 --- a/src/main/java/dev/galacticraft/mod/recipe/ShapelessCompressingRecipe.java +++ b/src/main/java/dev/galacticraft/mod/recipe/ShapelessCompressingRecipe.java @@ -24,44 +24,45 @@ import com.mojang.serialization.Codec; import com.mojang.serialization.DataResult; +import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; -import dev.galacticraft.mod.Constant; +import net.minecraft.core.HolderLookup; import net.minecraft.core.NonNullList; -import net.minecraft.core.RegistryAccess; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.util.ExtraCodecs; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.StreamCodec; import net.minecraft.world.entity.player.StackedContents; -import net.minecraft.world.inventory.CraftingContainer; import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.crafting.CraftingInput; import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.item.crafting.RecipeSerializer; import net.minecraft.world.level.Level; +import org.jetbrains.annotations.NotNull; public record ShapelessCompressingRecipe(String group, - ItemStack output, - NonNullList input, int time) implements CompressingRecipe { + ItemStack result, + NonNullList ingredients, int time) implements CompressingRecipe { @Override - public RecipeSerializer getSerializer() { + public @NotNull RecipeSerializer getSerializer() { return GCRecipes.SHAPELESS_COMPRESSING_SERIALIZER; } @Override - public String getGroup() { + public @NotNull String getGroup() { return this.group; } @Override - public NonNullList getIngredients() { - return this.input; + public @NotNull NonNullList getIngredients() { + return this.ingredients; } @Override - public boolean matches(CraftingContainer inv, Level world) { + public boolean matches(CraftingInput inv, Level world) { StackedContents recipeFinder = new StackedContents(); int i = 0; - for (int j = 0; j < inv.getContainerSize(); ++j) { + for (int j = 0; j < inv.size(); ++j) { ItemStack itemStack = inv.getItem(j); if (!itemStack.isEmpty()) { ++i; @@ -69,80 +70,80 @@ public boolean matches(CraftingContainer inv, Level world) { } } - return i == this.input.size() && recipeFinder.canCraft(this, null); + return i == this.ingredients.size() && recipeFinder.canCraft(this, null); } @Override - public ItemStack assemble(CraftingContainer container, RegistryAccess registryAccess) { - return this.getResultItem(registryAccess).copy(); + public @NotNull ItemStack assemble(CraftingInput input, HolderLookup.Provider lookup) { + return this.getResultItem(lookup).copy(); } @Override public boolean canCraftInDimensions(int width, int height) { - return width * height >= this.input.size(); + return width * height >= this.ingredients.size(); } @Override - public ItemStack getResultItem(RegistryAccess registryAccess) { - return this.output; + public @NotNull ItemStack getResultItem(HolderLookup.Provider registriesLookup) { + return this.result; } public static class Serializer implements RecipeSerializer { public static final Serializer INSTANCE = new Serializer(); - public static final Codec CODEC = RecordCodecBuilder.create(instance -> instance.group( - ExtraCodecs.strictOptionalField(Codec.STRING, "group", "").forGetter(ShapelessCompressingRecipe::group), - ItemStack.ITEM_WITH_COUNT_CODEC.fieldOf("result").forGetter(ShapelessCompressingRecipe::output), + public static final MapCodec CODEC = RecordCodecBuilder.mapCodec(instance -> instance.group( + Codec.STRING.optionalFieldOf("group", "").forGetter(ShapelessCompressingRecipe::group), + ItemStack.STRICT_CODEC.fieldOf("result").forGetter(recipe -> recipe.result), Ingredient.CODEC_NONEMPTY .listOf() .fieldOf("ingredients") .flatXmap( - list -> { - Ingredient[] ingredients = (Ingredient[])list.stream().filter(ingredient -> !ingredient.isEmpty()).toArray(i -> new Ingredient[i]); - if (ingredients.length == 0) { + ingredients -> { + Ingredient[] ingredients2 = ingredients.stream().filter(ingredient -> !ingredient.isEmpty()).toArray(Ingredient[]::new); + if (ingredients2.length == 0) { return DataResult.error(() -> "No ingredients for shapeless recipe"); } else { - return ingredients.length > 9 + return ingredients2.length > 9 ? DataResult.error(() -> "Too many ingredients for shapeless recipe") - : DataResult.success(NonNullList.of(Ingredient.EMPTY, ingredients)); + : DataResult.success(NonNullList.of(Ingredient.EMPTY, ingredients2)); } }, DataResult::success ) - .forGetter(ShapelessCompressingRecipe::input), - ExtraCodecs.strictOptionalField(Codec.INT, "time", 200).forGetter(ShapelessCompressingRecipe::time) + .forGetter(recipe -> recipe.ingredients), + Codec.INT.optionalFieldOf("time", 200).forGetter(ShapelessCompressingRecipe::time) ).apply(instance, ShapelessCompressingRecipe::new)); + private static final StreamCodec STREAM_CODEC = StreamCodec.of(Serializer::toNetwork, Serializer::fromNetwork); @Override - public Codec codec() { + public @NotNull MapCodec codec() { return CODEC; } @Override - public ShapelessCompressingRecipe fromNetwork(FriendlyByteBuf buf) { - String group = buf.readUtf(Constant.Misc.MAX_STRING_READ); - int time = buf.readInt(); - int size = buf.readVarInt(); - NonNullList ingredients = NonNullList.withSize(size, Ingredient.EMPTY); - - for (int i = 0; i < ingredients.size(); ++i) { - ingredients.set(i, Ingredient.fromNetwork(buf)); - } + public @NotNull StreamCodec streamCodec() { + return STREAM_CODEC; + } + + private static ShapelessCompressingRecipe fromNetwork(RegistryFriendlyByteBuf buf) { + String group = buf.readUtf(); + int i = buf.readVarInt(); + int time = buf.readVarInt(); + NonNullList ingredients = NonNullList.withSize(i, Ingredient.EMPTY); + ingredients.replaceAll(empty -> Ingredient.CONTENTS_STREAM_CODEC.decode(buf)); + ItemStack result = ItemStack.STREAM_CODEC.decode(buf); - ItemStack itemStack = buf.readItem(); - return new ShapelessCompressingRecipe(group, itemStack, ingredients, time); + return new ShapelessCompressingRecipe(group, result, ingredients, time); } - @Override - public void toNetwork(FriendlyByteBuf buf, ShapelessCompressingRecipe recipe) { + private static void toNetwork(RegistryFriendlyByteBuf buf, ShapelessCompressingRecipe recipe) { buf.writeUtf(recipe.group); - buf.writeInt(recipe.time); - buf.writeVarInt(recipe.input.size()); - - for (Ingredient ingredient : recipe.input) { - ingredient.toNetwork(buf); + buf.writeVarInt(recipe.ingredients.size()); + buf.writeVarInt(recipe.time); + for (Ingredient ingredient : recipe.ingredients) { + Ingredient.CONTENTS_STREAM_CODEC.encode(buf, ingredient); } - buf.writeItem(recipe.output); + ItemStack.STREAM_CODEC.encode(buf, recipe.result); } } diff --git a/src/main/java/dev/galacticraft/mod/screen/CoalGeneratorMenu.java b/src/main/java/dev/galacticraft/mod/screen/CoalGeneratorMenu.java index 8a75adc7bd..9190a197c0 100644 --- a/src/main/java/dev/galacticraft/mod/screen/CoalGeneratorMenu.java +++ b/src/main/java/dev/galacticraft/mod/screen/CoalGeneratorMenu.java @@ -23,34 +23,30 @@ package dev.galacticraft.mod.screen; import dev.galacticraft.machinelib.api.menu.MachineMenu; -import dev.galacticraft.machinelib.api.menu.sync.MenuSyncHandler; -import dev.galacticraft.mod.content.GCMachineTypes; +import dev.galacticraft.machinelib.api.menu.MenuData; import dev.galacticraft.mod.content.block.entity.machine.CoalGeneratorBlockEntity; -import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.core.BlockPos; import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.entity.player.Inventory; import org.jetbrains.annotations.NotNull; -import java.util.function.Consumer; - public class CoalGeneratorMenu extends MachineMenu { private int fuelTime; private int fuelLength; public CoalGeneratorMenu(int syncId, @NotNull ServerPlayer player, @NotNull CoalGeneratorBlockEntity machine) { - super(syncId, player, machine); + super(GCMenuTypes.COAL_GENERATOR, syncId, player, machine); } - public CoalGeneratorMenu(int syncId, @NotNull Inventory inventory, @NotNull FriendlyByteBuf buf) { - super(syncId, inventory, buf, 8, 84, GCMachineTypes.COAL_GENERATOR); + public CoalGeneratorMenu(int syncId, @NotNull Inventory inventory, @NotNull BlockPos pos) { + super(GCMenuTypes.COAL_GENERATOR, syncId, inventory, pos, 8, 84); } @Override - public void registerSyncHandlers(Consumer consumer) { - super.registerSyncHandlers(consumer); - - consumer.accept(MenuSyncHandler.simple(this.machine::getFuelTime, this::setFuelTime)); - consumer.accept(MenuSyncHandler.simple(this.machine::getFuelLength, this::setFuelLength)); + public void registerData(@NotNull MenuData data) { + super.registerData(data); + data.registerInt(this.be::getFuelTime, this::setFuelTime); + data.registerInt(this.be::getFuelLength, this::setFuelLength); } public int getFuelTime() { diff --git a/src/main/java/dev/galacticraft/mod/screen/CompressorMenu.java b/src/main/java/dev/galacticraft/mod/screen/CompressorMenu.java index 30dc2ef485..60c831e240 100644 --- a/src/main/java/dev/galacticraft/mod/screen/CompressorMenu.java +++ b/src/main/java/dev/galacticraft/mod/screen/CompressorMenu.java @@ -22,35 +22,33 @@ package dev.galacticraft.mod.screen; +import dev.galacticraft.machinelib.api.menu.MenuData; import dev.galacticraft.machinelib.api.menu.RecipeMachineMenu; -import dev.galacticraft.machinelib.api.menu.sync.MenuSyncHandler; -import dev.galacticraft.mod.content.GCMachineTypes; import dev.galacticraft.mod.content.block.entity.machine.CompressorBlockEntity; import dev.galacticraft.mod.recipe.CompressingRecipe; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.server.level.ServerPlayer; +import net.minecraft.core.BlockPos; import net.minecraft.world.entity.player.Inventory; -import net.minecraft.world.inventory.CraftingContainer; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.crafting.CraftingInput; +import org.jetbrains.annotations.NotNull; -import java.util.function.Consumer; - -public class CompressorMenu extends RecipeMachineMenu { +public class CompressorMenu extends RecipeMachineMenu { private int fuelTime = 0; private int fuelLength = 0; - public CompressorMenu(int syncId, ServerPlayer player, CompressorBlockEntity machine) { - super(syncId, player, machine); + public CompressorMenu(int syncId, Player player, CompressorBlockEntity machine) { + super(GCMenuTypes.COMPRESSOR, syncId, player, machine); } - public CompressorMenu(int syncId, Inventory inv, FriendlyByteBuf buf) { - super(syncId, inv, buf, 8, 84, GCMachineTypes.COMPRESSOR); + public CompressorMenu(int syncId, Inventory inv, BlockPos pos) { + super(GCMenuTypes.COMPRESSOR, syncId, inv, pos, 8, 84); } @Override - public void registerSyncHandlers(Consumer consumer) { - super.registerSyncHandlers(consumer); - consumer.accept(MenuSyncHandler.simple(this.machine::getFuelTime, this::setFuelTime)); - consumer.accept(MenuSyncHandler.simple(this.machine::getFuelLength, this::setFuelLength)); + public void registerData(@NotNull MenuData data) { + super.registerData(data); + data.registerInt(this.be::getFuelTime, this::setFuelTime); + data.registerInt(this.be::getFuelLength, this::setFuelLength); } public int getFuelLength() { diff --git a/src/main/java/dev/galacticraft/mod/screen/FuelLoaderMenu.java b/src/main/java/dev/galacticraft/mod/screen/FuelLoaderMenu.java index e42b847079..50a7027afb 100644 --- a/src/main/java/dev/galacticraft/mod/screen/FuelLoaderMenu.java +++ b/src/main/java/dev/galacticraft/mod/screen/FuelLoaderMenu.java @@ -23,15 +23,12 @@ package dev.galacticraft.mod.screen; import dev.galacticraft.machinelib.api.menu.MachineMenu; -import dev.galacticraft.machinelib.api.menu.sync.MenuSyncHandler; -import dev.galacticraft.mod.content.GCMachineTypes; +import dev.galacticraft.machinelib.api.menu.MenuData; import dev.galacticraft.mod.content.block.entity.machine.FuelLoaderBlockEntity; import net.minecraft.core.BlockPos; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.entity.player.Inventory; - -import java.util.function.Consumer; +import org.jetbrains.annotations.NotNull; public class FuelLoaderMenu extends MachineMenu { public long rocketAmount; @@ -39,18 +36,18 @@ public class FuelLoaderMenu extends MachineMenu { public BlockPos connectionPos = BlockPos.ZERO; public FuelLoaderMenu(int syncId, ServerPlayer player, FuelLoaderBlockEntity machine) { - super(syncId, player, machine); + super(GCMenuTypes.FUEL_LOADER, syncId, player, machine); } - public FuelLoaderMenu(int syncId, Inventory inv, FriendlyByteBuf buf) { - super(syncId, inv, buf, 8, 84, GCMachineTypes.FUEL_LOADER); + public FuelLoaderMenu(int syncId, Inventory inv, BlockPos pos) { + super(GCMenuTypes.FUEL_LOADER, syncId, inv, pos, 8, 84); } @Override - public void registerSyncHandlers(Consumer consumer) { - super.registerSyncHandlers(consumer); - consumer.accept(MenuSyncHandler.simple(() -> this.machine.getConnectionPos().asLong(), l -> this.connectionPos = (BlockPos.of(l)))); - consumer.accept(MenuSyncHandler.simple(() -> this.machine.linkedRocket == null ? 0 : this.machine.linkedRocket.getFuelTankAmount(), l -> this.rocketAmount = l)); - consumer.accept(MenuSyncHandler.simple(() -> this.machine.linkedRocket == null ? 0 : this.machine.linkedRocket.getFuelTankCapacity(), l -> this.rocketCapacity = l)); + public void registerData(@NotNull MenuData data) { + super.registerData(data); + data.register(BlockPos.STREAM_CODEC, this.be::getConnectionPos, p -> this.connectionPos = p); + data.registerLong(() -> this.be.linkedRocket == null ? 0 : this.be.linkedRocket.getFuelTankAmount(), l -> this.rocketAmount = l); + data.registerLong(() -> this.be.linkedRocket == null ? 0 : this.be.linkedRocket.getFuelTankCapacity(), l -> this.rocketCapacity = l); } } \ No newline at end of file diff --git a/src/main/java/dev/galacticraft/mod/screen/GCPlayerInventoryMenu.java b/src/main/java/dev/galacticraft/mod/screen/GCPlayerInventoryMenu.java index 99b317f6b3..b889885a1b 100644 --- a/src/main/java/dev/galacticraft/mod/screen/GCPlayerInventoryMenu.java +++ b/src/main/java/dev/galacticraft/mod/screen/GCPlayerInventoryMenu.java @@ -34,7 +34,6 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.world.Container; import net.minecraft.world.entity.EquipmentSlot; -import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.AbstractContainerMenu; @@ -124,7 +123,7 @@ private EquipmentSlot getPreferredEquipmentSlot(ItemStack stack) { Item item_1 = stack.getItem(); if (item_1 instanceof ThermalArmorItem thermalArmorItem) return thermalArmorItem.getSlotGroup().getSlot(); - return LivingEntity.getEquipmentSlotForItem(stack); + return this.player.getEquipmentSlotForItem(stack); } @Override @@ -140,7 +139,7 @@ public OxygenTankSlot(Container gearInventory, int slotId, int x, int y) { @Override public boolean mayPlace(ItemStack stack) { - return FILTER.test(stack.getItem(), stack.getTag()); + return FILTER.test(stack.getItem(), stack.getComponentsPatch()); } @Override diff --git a/src/main/java/dev/galacticraft/mod/screen/OxygenBubbleDistributorMenu.java b/src/main/java/dev/galacticraft/mod/screen/OxygenBubbleDistributorMenu.java index fd2b4cc946..5d3ea1ae74 100644 --- a/src/main/java/dev/galacticraft/mod/screen/OxygenBubbleDistributorMenu.java +++ b/src/main/java/dev/galacticraft/mod/screen/OxygenBubbleDistributorMenu.java @@ -23,58 +23,34 @@ package dev.galacticraft.mod.screen; import dev.galacticraft.machinelib.api.menu.MachineMenu; -import dev.galacticraft.machinelib.api.menu.sync.MenuSyncHandler; -import dev.galacticraft.mod.content.GCMachineTypes; +import dev.galacticraft.machinelib.api.menu.MenuData; import dev.galacticraft.mod.content.block.entity.machine.OxygenBubbleDistributorBlockEntity; -import dev.galacticraft.mod.screen.sync.BooleanMenuSyncHandler; -import dev.galacticraft.mod.screen.sync.DoubleMenuSyncHandler; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.server.level.ServerPlayer; +import net.minecraft.core.BlockPos; import net.minecraft.world.entity.player.Inventory; +import net.minecraft.world.entity.player.Player; import org.jetbrains.annotations.NotNull; -import java.util.function.Consumer; - public class OxygenBubbleDistributorMenu extends MachineMenu { public boolean bubbleVisible; public byte targetSize; public double size; - public OxygenBubbleDistributorMenu(int syncId, ServerPlayer player, OxygenBubbleDistributorBlockEntity machine) { - super(syncId, player, machine); + public OxygenBubbleDistributorMenu(int syncId, Player player, OxygenBubbleDistributorBlockEntity machine) { + super(GCMenuTypes.OXYGEN_BUBBLE_DISTRIBUTOR, syncId, player, machine); this.bubbleVisible = machine.isBubbleVisible(); this.size = machine.getSize(); this.targetSize = machine.getTargetSize(); } - public OxygenBubbleDistributorMenu(int syncId, Inventory inv, FriendlyByteBuf buf) { - super(syncId, inv, buf, 8, 84, GCMachineTypes.OXYGEN_BUBBLE_DISTRIBUTOR); + public OxygenBubbleDistributorMenu(int syncId, Inventory inv, BlockPos pos) { + super(GCMenuTypes.OXYGEN_BUBBLE_DISTRIBUTOR, syncId, inv, pos, 8, 84); } @Override - public void registerSyncHandlers(Consumer consumer) { - super.registerSyncHandlers(consumer); - consumer.accept(new MenuSyncHandler() { - private byte value; - - @Override - public boolean needsSyncing() { - return this.value != OxygenBubbleDistributorMenu.this.targetSize; - } - - @Override - public void sync(@NotNull FriendlyByteBuf buf) { - this.value = OxygenBubbleDistributorMenu.this.targetSize; - buf.writeByte(this.value); - } - - @Override - public void read(@NotNull FriendlyByteBuf buf) { - this.value = buf.readByte(); - OxygenBubbleDistributorMenu.this.targetSize = this.value; - } - }); - consumer.accept(new DoubleMenuSyncHandler(this.machine::getSize, value -> this.size = value)); - consumer.accept(new BooleanMenuSyncHandler(this.machine::isBubbleVisible, t -> this.bubbleVisible = t)); + public void registerData(@NotNull MenuData data) { + super.registerData(data); + data.registerByte(this.be::getTargetSize, b -> this.targetSize = (byte) b); + data.registerDouble(this.be::getSize, d -> this.size = d); + data.registerBoolean(this.be::isBubbleVisible, b -> this.bubbleVisible = b); } } diff --git a/src/main/java/dev/galacticraft/mod/screen/OxygenCollectorMenu.java b/src/main/java/dev/galacticraft/mod/screen/OxygenCollectorMenu.java index 702b70d38f..25c2ef60f6 100644 --- a/src/main/java/dev/galacticraft/mod/screen/OxygenCollectorMenu.java +++ b/src/main/java/dev/galacticraft/mod/screen/OxygenCollectorMenu.java @@ -23,30 +23,28 @@ package dev.galacticraft.mod.screen; import dev.galacticraft.machinelib.api.menu.MachineMenu; -import dev.galacticraft.machinelib.api.menu.sync.MenuSyncHandler; -import dev.galacticraft.mod.content.GCMachineTypes; +import dev.galacticraft.machinelib.api.menu.MenuData; import dev.galacticraft.mod.content.block.entity.machine.OxygenCollectorBlockEntity; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.server.level.ServerPlayer; +import net.minecraft.core.BlockPos; import net.minecraft.world.entity.player.Inventory; - -import java.util.function.Consumer; +import net.minecraft.world.entity.player.Player; +import org.jetbrains.annotations.NotNull; public class OxygenCollectorMenu extends MachineMenu { public int collectionAmount = 0; - public OxygenCollectorMenu(int syncId, ServerPlayer player, OxygenCollectorBlockEntity machine) { - super(syncId, player, machine); + public OxygenCollectorMenu(int syncId, Player player, OxygenCollectorBlockEntity machine) { + super(GCMenuTypes.OXYGEN_COLLECTOR, syncId, player, machine); } - public OxygenCollectorMenu(int syncId, Inventory inv, FriendlyByteBuf buf) { - super(syncId, inv, buf, 8, 84, GCMachineTypes.OXYGEN_COLLECTOR); + public OxygenCollectorMenu(int syncId, Inventory inv, BlockPos pos) { + super(GCMenuTypes.OXYGEN_COLLECTOR, syncId, inv, pos, 8, 84); } @Override - public void registerSyncHandlers(Consumer consumer) { - super.registerSyncHandlers(consumer); - consumer.accept(MenuSyncHandler.simple(this.machine::getCollectionAmount, this::setCollectionAmount)); + public void registerData(@NotNull MenuData data) { + super.registerData(data); + data.registerInt(this.be::getCollectionAmount, this::setCollectionAmount); } public void setCollectionAmount(int collectionAmount) { diff --git a/src/main/java/dev/galacticraft/mod/screen/ParachestMenu.java b/src/main/java/dev/galacticraft/mod/screen/ParachestMenu.java index 5e284b7897..ca332218b9 100644 --- a/src/main/java/dev/galacticraft/mod/screen/ParachestMenu.java +++ b/src/main/java/dev/galacticraft/mod/screen/ParachestMenu.java @@ -23,8 +23,10 @@ package dev.galacticraft.mod.screen; import dev.galacticraft.mod.content.GCBlockEntityTypes; -import dev.galacticraft.mod.content.block.special.ParaChestBlockEntity; -import net.minecraft.network.FriendlyByteBuf; +import io.netty.buffer.ByteBuf; +import net.minecraft.core.BlockPos; +import net.minecraft.network.VarInt; +import net.minecraft.network.codec.StreamCodec; import net.minecraft.world.Container; import net.minecraft.world.SimpleContainer; import net.minecraft.world.entity.player.Inventory; @@ -33,20 +35,17 @@ import net.minecraft.world.inventory.Slot; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; +import org.jetbrains.annotations.Nullable; public class ParachestMenu extends AbstractContainerMenu { private final Container container; - public ParachestMenu(int syncId, Inventory playerInventory, FriendlyByteBuf buf) { - this(syncId, playerInventory, getContainer(playerInventory.player.level(), buf)); + public ParachestMenu(int syncId, Inventory playerInventory, OpeningData data) { + this(syncId, playerInventory, getContainer(playerInventory.player.level(), data)); } - public static Container getContainer(Level level, FriendlyByteBuf buf) { - boolean isBe = buf.readBoolean(); - if (isBe) - return GCBlockEntityTypes.PARACHEST.getBlockEntity(level, buf.readBlockPos()); - else - return new SimpleContainer(buf.readVarInt()); + public static Container getContainer(Level level, OpeningData data) { + return data.pos != null ? GCBlockEntityTypes.PARACHEST.getBlockEntity(level, data.pos) : new SimpleContainer(data.size); } public ParachestMenu(int syncId, Inventory playerInventory, Container container) { @@ -120,4 +119,27 @@ public boolean stillValid(Player player) { public Container getContainer() { return this.container; } + + public record OpeningData(@Nullable BlockPos pos, int size) { + public static final StreamCodec STREAM_CODEC = StreamCodec.of( + (b, v) -> { + if (v.pos != null) { + b.writeBoolean(true); + b.writeLong(v.pos.asLong()); + } else { + b.writeBoolean(false); + VarInt.write(b, v.size); + } + }, + b -> b.readBoolean() ? new OpeningData(BlockPos.of(b.readLong())) : new OpeningData(VarInt.read(b)) + ); + + public OpeningData(BlockPos blockPos) { + this(blockPos, 0); + } + + public OpeningData(int size) { + this(null, size); + } + } } diff --git a/src/main/java/dev/galacticraft/mod/screen/RocketMenu.java b/src/main/java/dev/galacticraft/mod/screen/RocketMenu.java index 75d7c597aa..9b3ea6369e 100644 --- a/src/main/java/dev/galacticraft/mod/screen/RocketMenu.java +++ b/src/main/java/dev/galacticraft/mod/screen/RocketMenu.java @@ -23,7 +23,6 @@ package dev.galacticraft.mod.screen; import dev.galacticraft.mod.content.entity.orbital.RocketEntity; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.AbstractContainerMenu; @@ -33,8 +32,8 @@ public class RocketMenu extends AbstractContainerMenu { public final Player player; public final RocketEntity rocket; - protected RocketMenu(int syncId, Inventory playerInventory, FriendlyByteBuf buf) { - this(syncId, playerInventory, playerInventory.player, (RocketEntity) playerInventory.player.level().getEntity(buf.readInt())); + protected RocketMenu(int syncId, Inventory playerInventory, int id) { + this(syncId, playerInventory, playerInventory.player, (RocketEntity) playerInventory.player.level().getEntity(id)); } public RocketMenu(int syncId, Inventory playerInventory, Player player, RocketEntity rocket) { diff --git a/src/main/java/dev/galacticraft/mod/screen/RocketWorkbenchMenu.java b/src/main/java/dev/galacticraft/mod/screen/RocketWorkbenchMenu.java index b27abb67d7..f3a437043b 100644 --- a/src/main/java/dev/galacticraft/mod/screen/RocketWorkbenchMenu.java +++ b/src/main/java/dev/galacticraft/mod/screen/RocketWorkbenchMenu.java @@ -32,21 +32,27 @@ import dev.galacticraft.mod.content.item.GCItems; import dev.galacticraft.mod.machine.storage.VariableSizedContainer; import dev.galacticraft.mod.mixin.AbstractContainerMenuAccessor; +import dev.galacticraft.mod.util.StreamCodecs; import dev.galacticraft.mod.world.inventory.RocketResultSlot; +import io.netty.buffer.ByteBuf; +import net.minecraft.core.BlockPos; import net.minecraft.core.Holder; import net.minecraft.core.Registry; import net.minecraft.core.RegistryAccess; -import net.minecraft.nbt.CompoundTag; -import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.resources.ResourceKey; +import net.minecraft.resources.ResourceLocation; import net.minecraft.world.Container; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.player.StackedContents; import net.minecraft.world.inventory.AbstractContainerMenu; import net.minecraft.world.inventory.Slot; +import net.minecraft.world.item.EitherHolder; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import java.util.ArrayList; import java.util.List; @@ -129,15 +135,15 @@ public void removed(Player player) { this.upgrade.inventory.removeListener(this); } - public RocketWorkbenchMenu(int syncId, Inventory playerInventory, FriendlyByteBuf buf) { - this(syncId, (RocketWorkbenchBlockEntity) playerInventory.player.level().getBlockEntity(buf.readBlockPos()), playerInventory); + public RocketWorkbenchMenu(int syncId, Inventory playerInventory, OpeningData data) { + this(syncId, (RocketWorkbenchBlockEntity) playerInventory.player.level().getBlockEntity(data.pos), playerInventory); - if (buf.readBoolean()) this.cone.setSelection(buf.readResourceLocation()); - if (buf.readBoolean()) this.body.setSelection(buf.readResourceLocation()); - if (buf.readBoolean()) this.fins.setSelection(buf.readResourceLocation()); - if (buf.readBoolean()) this.booster.setSelection(buf.readResourceLocation()); - if (buf.readBoolean()) this.engine.setSelection(buf.readResourceLocation()); - if (buf.readBoolean()) this.upgrade.setSelection(buf.readResourceLocation()); + this.cone.setSelection(data.cone); + this.body.setSelection(data.body); + this.fins.setSelection(data.fin); + this.booster.setSelection(data.booster); + this.engine.setSelection(data.engine); + this.upgrade.setSelection(data.upgrade); } public static int calculateAdditionalHeight(RocketPartRecipe cone, RocketPartRecipe body, RocketPartRecipe fins, RocketPartRecipe booster, RocketPartRecipe engine, RocketPartRecipe upgrade) { @@ -186,6 +192,22 @@ public RocketWorkbenchBlockEntity.RecipeSelection getSelection(RocketPartType }; } + public RocketData createData() { + return new RocketData( + maybeHolder(RocketRegistries.ROCKET_CONE, this.cone.selection), + maybeHolder(RocketRegistries.ROCKET_BODY, this.body.selection), + maybeHolder(RocketRegistries.ROCKET_FIN, this.fins.selection), + maybeHolder(RocketRegistries.ROCKET_BOOSTER, this.booster.selection), + maybeHolder(RocketRegistries.ROCKET_ENGINE, this.engine.selection), + maybeHolder(RocketRegistries.ROCKET_UPGRADE, this.upgrade.selection), + 0xFFFFFFFF + ); + } + + private static @Nullable EitherHolder maybeHolder(ResourceKey> key, @Nullable ResourceLocation id) { + return id == null ? null : new EitherHolder<>(ResourceKey.create(key, id)); + } + @Override public boolean stillValid(Player player) { return Container.stillValidBlockEntity(this.workbench, player); @@ -308,25 +330,23 @@ public void onSizeChanged() { @Override public void onItemChanged() { - RocketData rocketData = RocketData.create(-1, this.cone.getSelectionKey(), this.body.getSelectionKey(), this.fins.getSelectionKey(), this.booster.getSelectionKey(), this.engine.getSelectionKey(), this.upgrade.getSelectionKey()); + RocketData rocketData = this.createData(); boolean craftable = rocketData.isValid(); RocketPartRecipe recipe = this.cone.getRecipe(); - craftable = craftable && (recipe != null && recipe.matches(this.cone.inventory, this.workbench.getLevel())); + craftable = craftable && (recipe != null && recipe.matches(this.cone.inventory.asInput(), this.workbench.getLevel())); recipe = this.body.getRecipe(); - craftable = craftable && (recipe != null && recipe.matches(this.body.inventory, this.workbench.getLevel())); + craftable = craftable && (recipe != null && recipe.matches(this.body.inventory.asInput(), this.workbench.getLevel())); recipe = this.fins.getRecipe(); - craftable = craftable && (recipe != null && recipe.matches(this.fins.inventory, this.workbench.getLevel())); + craftable = craftable && (recipe != null && recipe.matches(this.fins.inventory.asInput(), this.workbench.getLevel())); recipe = this.booster.getRecipe(); - craftable = craftable && (recipe == null || recipe.matches(this.booster.inventory, this.workbench.getLevel())); + craftable = craftable && (recipe == null || recipe.matches(this.booster.inventory.asInput(), this.workbench.getLevel())); recipe = this.engine.getRecipe(); - craftable = craftable && (recipe != null && recipe.matches(this.engine.inventory, this.workbench.getLevel())); + craftable = craftable && (recipe != null && recipe.matches(this.engine.inventory.asInput(), this.workbench.getLevel())); recipe = this.upgrade.getRecipe(); - craftable = craftable && (recipe == null ||recipe.matches(this.upgrade.inventory, this.workbench.getLevel())); + craftable = craftable && (recipe == null ||recipe.matches(this.upgrade.inventory.asInput(), this.workbench.getLevel())); if (craftable) { ItemStack stack = new ItemStack(GCItems.ROCKET, 1); - CompoundTag tag = new CompoundTag(); - rocketData.toNbt(tag); - stack.setTag(tag); + stack.applyComponents(rocketData.asPatch()); this.workbench.output.setItem(0, stack); } else { this.workbench.output.setItem(0, ItemStack.EMPTY); @@ -377,7 +397,7 @@ public RocketCraftingSlot(Container container, int slot, int x, int y, ResourceF @Override public boolean mayPlace(ItemStack stack) { - return stack.isEmpty() || this.filter.test(stack.getItem(), stack.getTag()); + return stack.isEmpty() || this.filter.test(stack.getItem(), stack.getComponentsPatch()); } @Override @@ -385,4 +405,27 @@ public int getMaxStackSize() { return 1; } } + + public record OpeningData(BlockPos pos, ResourceLocation cone, ResourceLocation body, + ResourceLocation fin, ResourceLocation booster, + ResourceLocation engine, ResourceLocation upgrade) { + private static final StreamCodec OPT_ID = StreamCodecs.ofNullable(ResourceLocation.STREAM_CODEC); + public static final StreamCodec CODEC = StreamCodecs.composite( + BlockPos.STREAM_CODEC, + OpeningData::pos, + OPT_ID, + OpeningData::cone, + OPT_ID, + OpeningData::body, + OPT_ID, + OpeningData::fin, + OPT_ID, + OpeningData::booster, + OPT_ID, + OpeningData::engine, + OPT_ID, + OpeningData::upgrade, + OpeningData::new + ); + } } diff --git a/src/main/java/dev/galacticraft/mod/screen/SolarPanelMenu.java b/src/main/java/dev/galacticraft/mod/screen/SolarPanelMenu.java index a1e5986920..7f96e4a0c2 100644 --- a/src/main/java/dev/galacticraft/mod/screen/SolarPanelMenu.java +++ b/src/main/java/dev/galacticraft/mod/screen/SolarPanelMenu.java @@ -23,28 +23,26 @@ package dev.galacticraft.mod.screen; import dev.galacticraft.machinelib.api.block.entity.MachineBlockEntity; -import dev.galacticraft.machinelib.api.machine.MachineType; import dev.galacticraft.machinelib.api.menu.MachineMenu; -import dev.galacticraft.machinelib.api.menu.sync.MenuSyncHandler; +import dev.galacticraft.machinelib.api.menu.MenuData; import dev.galacticraft.machinelib.api.util.BlockFace; import dev.galacticraft.mod.api.block.entity.SolarPanel; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.server.level.ServerPlayer; +import net.minecraft.core.BlockPos; import net.minecraft.world.entity.player.Inventory; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.inventory.MenuType; import org.jetbrains.annotations.NotNull; -import java.util.function.Consumer; - public class SolarPanelMenu extends MachineMenu { private final boolean followsSun; private final boolean nightCollection; - private boolean[] blockage; + private final boolean[] blockage = new boolean[9]; private @NotNull SolarPanel.SolarPanelSource source; private long energyGeneration; - public SolarPanelMenu(int syncId, @NotNull ServerPlayer player, @NotNull Machine machine) { - super(syncId, player, machine); + public SolarPanelMenu(MenuType> type, int syncId, @NotNull Player player, @NotNull Machine machine) { + super(type, syncId, player, machine); this.followsSun = machine.followsSun(); this.nightCollection = machine.nightCollection(); @@ -52,27 +50,26 @@ public SolarPanelMenu(int syncId, @NotNull ServerPlayer player, @NotNull Machine this.energyGeneration = machine.getCurrentEnergyGeneration(); } - protected SolarPanelMenu(int syncId, @NotNull Inventory inventory, @NotNull FriendlyByteBuf buf, @NotNull MachineType> type) { - this(syncId, inventory, buf, 8, 84, type); + protected SolarPanelMenu(MenuType> type, int syncId, @NotNull Inventory inventory, @NotNull BlockPos pos) { + this(type, syncId, inventory, pos, 8, 84); } - protected SolarPanelMenu(int syncId, @NotNull Inventory inventory, @NotNull FriendlyByteBuf buf, int invX, int invY, @NotNull MachineType> type) { - super(syncId, inventory, buf, invX, invY, type); + protected SolarPanelMenu(MenuType> type, int syncId, @NotNull Inventory inventory, @NotNull BlockPos pos, int invX, int invY) { + super(type, syncId, inventory, pos, invX, invY); - this.followsSun = buf.readBoolean(); - this.nightCollection = buf.readBoolean(); - this.source = SolarPanel.SolarPanelSource.values()[buf.readByte()]; - this.energyGeneration = buf.readVarLong(); + this.followsSun = this.be.followsSun(); + this.nightCollection = this.be.nightCollection(); + this.source = this.be.getSource(); + this.energyGeneration = this.be.getCurrentEnergyGeneration(); } @Override - public void registerSyncHandlers(Consumer consumer) { - super.registerSyncHandlers(consumer); + public void registerData(@NotNull MenuData data) { + super.registerData(data); - consumer.accept(MenuSyncHandler.simple(this.machine::getCurrentEnergyGeneration, this::setEnergyGeneration)); - consumer.accept(MenuSyncHandler.simple(this.machine::getSource, this::setSource, SolarPanel.SolarPanelSource.values())); - this.blockage = new boolean[9]; - consumer.accept(MenuSyncHandler.booleans(this.machine.getBlockage(), this.blockage)); + data.registerLong(this.be::getCurrentEnergyGeneration, this::setEnergyGeneration); + data.registerEnum(SolarPanel.SolarPanelSource.values(), this.be::getSource, this::setSource); + data.registerBits(9, this.be.getBlockage(), this.blockage); } public boolean @NotNull [/*9*/] getBlockage() { diff --git a/src/main/java/dev/galacticraft/mod/screen/sync/BooleanMenuSyncHandler.java b/src/main/java/dev/galacticraft/mod/screen/sync/BooleanMenuSyncHandler.java deleted file mode 100644 index db17532976..0000000000 --- a/src/main/java/dev/galacticraft/mod/screen/sync/BooleanMenuSyncHandler.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Copyright (c) 2019-2024 Team Galacticraft - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -package dev.galacticraft.mod.screen.sync; - -import dev.galacticraft.machinelib.api.menu.sync.MenuSyncHandler; -import it.unimi.dsi.fastutil.booleans.BooleanConsumer; -import net.minecraft.network.FriendlyByteBuf; -import org.jetbrains.annotations.NotNull; - -import java.util.function.BooleanSupplier; - -public class BooleanMenuSyncHandler implements MenuSyncHandler { - private final BooleanSupplier supplier; - private final BooleanConsumer consumer; - private boolean value; - - public BooleanMenuSyncHandler(BooleanSupplier supplier, BooleanConsumer consumer) { - this.supplier = supplier; - this.consumer = consumer; - } - - @Override - public boolean needsSyncing() { - return this.value != this.supplier.getAsBoolean(); - } - - @Override - public void sync(@NotNull FriendlyByteBuf buf) { - this.value = this.supplier.getAsBoolean(); - buf.writeBoolean(this.value); - } - - @Override - public void read(@NotNull FriendlyByteBuf buf) { - this.value = buf.readBoolean(); - this.consumer.accept(this.value); - } -} diff --git a/src/main/java/dev/galacticraft/mod/screen/sync/DoubleMenuSyncHandler.java b/src/main/java/dev/galacticraft/mod/screen/sync/DoubleMenuSyncHandler.java deleted file mode 100644 index 88aeacc688..0000000000 --- a/src/main/java/dev/galacticraft/mod/screen/sync/DoubleMenuSyncHandler.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Copyright (c) 2019-2024 Team Galacticraft - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -package dev.galacticraft.mod.screen.sync; - -import dev.galacticraft.machinelib.api.menu.sync.MenuSyncHandler; -import net.minecraft.network.FriendlyByteBuf; -import org.jetbrains.annotations.NotNull; - -import java.util.function.DoubleConsumer; -import java.util.function.DoubleSupplier; - -public class DoubleMenuSyncHandler implements MenuSyncHandler { - private final DoubleSupplier supplier; - private final DoubleConsumer consumer; - private double value; - - public DoubleMenuSyncHandler(DoubleSupplier supplier, DoubleConsumer consumer) { - this.supplier = supplier; - this.consumer = consumer; - } - - @Override - public boolean needsSyncing() { - return this.value != this.supplier.getAsDouble(); - } - - @Override - public void sync(@NotNull FriendlyByteBuf buf) { - this.value = this.supplier.getAsDouble(); - buf.writeDouble(this.value); - } - - @Override - public void read(@NotNull FriendlyByteBuf buf) { - this.value = buf.readDouble(); - this.consumer.accept(this.value); - } -} diff --git a/src/main/java/dev/galacticraft/mod/storage/PlaceholderItemStorage.java b/src/main/java/dev/galacticraft/mod/storage/PlaceholderItemStorage.java index 292b014b50..bae63221d6 100644 --- a/src/main/java/dev/galacticraft/mod/storage/PlaceholderItemStorage.java +++ b/src/main/java/dev/galacticraft/mod/storage/PlaceholderItemStorage.java @@ -24,7 +24,6 @@ import net.fabricmc.fabric.api.transfer.v1.item.ItemVariant; import net.fabricmc.fabric.api.transfer.v1.item.base.SingleItemStorage; -import net.fabricmc.fabric.api.transfer.v1.transaction.TransactionContext; import net.minecraft.world.item.Item; import org.jetbrains.annotations.NotNull; @@ -34,13 +33,8 @@ public void setItem(@NotNull Item item) { this.amount = 1; } - @Override - public long extract(ItemVariant extractedVariant, long maxAmount, TransactionContext transaction) { - return super.extract(extractedVariant, maxAmount, transaction); - } - @Override protected long getCapacity(ItemVariant variant) { - return variant.isBlank() ? 64 : variant.getItem().getMaxStackSize(); + return variant.isBlank() ? 64 : variant.toStack().getMaxStackSize(); } } diff --git a/src/main/java/dev/galacticraft/mod/storage/SingleTypeStorage.java b/src/main/java/dev/galacticraft/mod/storage/SingleTypeStorage.java deleted file mode 100644 index 92c8f08189..0000000000 --- a/src/main/java/dev/galacticraft/mod/storage/SingleTypeStorage.java +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Copyright (c) 2019-2024 Team Galacticraft - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -package dev.galacticraft.mod.storage; - -import com.google.common.collect.Iterators; -import dev.galacticraft.mod.Constant; -import net.fabricmc.fabric.api.transfer.v1.context.ContainerItemContext; -import net.fabricmc.fabric.api.transfer.v1.item.ItemVariant; -import net.fabricmc.fabric.api.transfer.v1.storage.Storage; -import net.fabricmc.fabric.api.transfer.v1.storage.StorageView; -import net.fabricmc.fabric.api.transfer.v1.storage.TransferVariant; -import net.fabricmc.fabric.api.transfer.v1.transaction.TransactionContext; -import net.fabricmc.fabric.api.transfer.v1.transaction.base.SnapshotParticipant; -import net.minecraft.nbt.CompoundTag; -import org.jetbrains.annotations.NotNull; - -import java.util.Iterator; - -public class SingleTypeStorage> extends SnapshotParticipant implements Storage, StorageView { - private final V resource; - private final long capacity; - private final V blankResource; - protected final ContainerItemContext context; - private long amount; - - public SingleTypeStorage(V resource, ContainerItemContext context, long capacity, V blankResource, long amount) { - this.resource = resource; - this.capacity = capacity; - this.blankResource = blankResource; - this.context = context; - this.amount = amount; - } - - public void setAmount(long amount) { - this.amount = amount; - } - - @Override - public long insert(@NotNull V resource, long maxAmount, TransactionContext transaction) { - if (resource.equals(this.resource)) { - updateSnapshots(transaction); - maxAmount = Math.min(maxAmount, this.capacity - this.amount); - this.amount += maxAmount; - CompoundTag tag = this.context.getItemVariant().copyOrCreateNbt(); - tag.putLong(Constant.Nbt.VALUE, this.getAmount()); - if (context.exchange(ItemVariant.of(this.context.getItemVariant().getItem(), tag), 1, transaction) == 1) { - return maxAmount; - } - } - return 0; - } - - @Override - public long extract(@NotNull V resource, long maxAmount, TransactionContext transaction) { - if (resource.equals(this.resource)) { - updateSnapshots(transaction); - maxAmount = Math.min(maxAmount, this.amount); - this.amount -= maxAmount; - CompoundTag tag = this.context.getItemVariant().copyOrCreateNbt(); - tag.putLong(Constant.Nbt.VALUE, this.getAmount()); - if (context.exchange(ItemVariant.of(this.context.getItemVariant().getItem(), tag), 1, transaction) == 1) { - return maxAmount; - } - } - return 0; - } - - @Override - public boolean isResourceBlank() { - return this.amount == 0; - } - - @Override - public V getResource() { - return this.amount == 0 ? this.blankResource : this.resource; - } - - @Override - public long getAmount() { - return this.amount; - } - - @Override - public long getCapacity() { - return this.capacity; - } - - @Override - public @NotNull Iterator> iterator() { - return Iterators.singletonIterator(this); - } - - @Override - protected Long createSnapshot() { - return this.amount; - } - - @Override - protected void readSnapshot(Long snapshot) { - this.amount = snapshot; - } -} diff --git a/src/main/java/dev/galacticraft/mod/structure/GCStructureSets.java b/src/main/java/dev/galacticraft/mod/structure/GCStructureSets.java index 0963af0ff1..2df0ad91fd 100644 --- a/src/main/java/dev/galacticraft/mod/structure/GCStructureSets.java +++ b/src/main/java/dev/galacticraft/mod/structure/GCStructureSets.java @@ -27,7 +27,7 @@ import net.minecraft.core.HolderGetter; import net.minecraft.core.Vec3i; import net.minecraft.core.registries.Registries; -import net.minecraft.data.worldgen.BootstapContext; +import net.minecraft.data.worldgen.BootstrapContext; import net.minecraft.resources.ResourceKey; import net.minecraft.world.level.levelgen.structure.BuiltinStructureSets; import net.minecraft.world.level.levelgen.structure.Structure; @@ -45,7 +45,7 @@ public static final class Moon { public static final ResourceKey BOSS = ResourceKey.create(Registries.STRUCTURE_SET, Constant.id("moon_boss")); } - public static void bootstrapRegistries(BootstapContext context) { + public static void bootstrapRegistries(BootstrapContext context) { HolderGetter structureLookup = context.lookup(Registries.STRUCTURE); HolderGetter structureSetLookup = context.lookup(Registries.STRUCTURE_SET); diff --git a/src/main/java/dev/galacticraft/mod/structure/GCStructureTemplatePools.java b/src/main/java/dev/galacticraft/mod/structure/GCStructureTemplatePools.java index 3f181a694d..58581450c2 100644 --- a/src/main/java/dev/galacticraft/mod/structure/GCStructureTemplatePools.java +++ b/src/main/java/dev/galacticraft/mod/structure/GCStructureTemplatePools.java @@ -23,13 +23,12 @@ package dev.galacticraft.mod.structure; import com.google.common.collect.ImmutableList; -import com.mojang.datafixers.util.Either; import com.mojang.datafixers.util.Pair; import dev.galacticraft.mod.Constant; import net.minecraft.core.Holder; import net.minecraft.core.HolderGetter; import net.minecraft.core.registries.Registries; -import net.minecraft.data.worldgen.BootstapContext; +import net.minecraft.data.worldgen.BootstrapContext; import net.minecraft.data.worldgen.ProcessorLists; import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; @@ -42,7 +41,7 @@ import java.util.function.Function; public final class GCStructureTemplatePools { - private static final ResourceKey EMPTY = ResourceKey.create(Registries.TEMPLATE_POOL, new ResourceLocation("empty")); + private static final ResourceKey EMPTY = ResourceKey.create(Registries.TEMPLATE_POOL, ResourceLocation.withDefaultNamespace("empty")); public static final class Moon { public static final class PillagerOutpost { public static final ResourceKey ENTRANCE = key("moon_pillager_outpost/entrances"); @@ -74,7 +73,7 @@ private static ResourceKey key(String id) { return Constant.key(Registries.TEMPLATE_POOL, id); } - public static void bootstrapRegistries(BootstapContext context) { + public static void bootstrapRegistries(BootstrapContext context) { HolderGetter templateLookup = context.lookup(Registries.TEMPLATE_POOL); Holder empty = templateLookup.getOrThrow(EMPTY); Holder emptyList = context.lookup(Registries.PROCESSOR_LIST).getOrThrow(ProcessorLists.EMPTY); @@ -281,6 +280,6 @@ public static void bootstrapRegistries(BootstapContext co } public static Function single(ResourceLocation id, Holder list) { // Legacy means that air CAN be replaced by worldgen. - return projection -> new LegacySinglePoolElement(Either.left(id), list, projection); + return StructurePoolElement.legacy(id.toString(), list); } } diff --git a/src/main/java/dev/galacticraft/mod/structure/dungeon/DungeonConfiguration.java b/src/main/java/dev/galacticraft/mod/structure/dungeon/DungeonConfiguration.java index 7f1f38d503..a22fdaa8e7 100644 --- a/src/main/java/dev/galacticraft/mod/structure/dungeon/DungeonConfiguration.java +++ b/src/main/java/dev/galacticraft/mod/structure/dungeon/DungeonConfiguration.java @@ -24,7 +24,6 @@ import com.mojang.serialization.Codec; import com.mojang.serialization.codecs.RecordCodecBuilder; -import net.minecraft.Util; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.NbtOps; @@ -67,7 +66,7 @@ public DungeonConfiguration(BlockState brickBlock, int yPosition, int hallwayLen } public CompoundTag write(CompoundTag tagCompound) { - tagCompound.put("brickBlock", Util.getOrThrow(BlockState.CODEC.encodeStart(NbtOps.INSTANCE, this.brickBlock), RuntimeException::new)); + tagCompound.put("brickBlock", BlockState.CODEC.encodeStart(NbtOps.INSTANCE, this.brickBlock).getOrThrow()); tagCompound.putInt("yPosition", this.yPosition); tagCompound.putInt("hallwayLengthMin", this.hallwayLengthMin); tagCompound.putInt("hallwayLengthMax", this.hallwayLengthMax); @@ -80,7 +79,7 @@ public CompoundTag write(CompoundTag tagCompound) { public void read(CompoundTag tagCompound) { try { - this.brickBlock = Util.getOrThrow(BlockState.CODEC.decode(NbtOps.INSTANCE, tagCompound.get("brickBlock")), RuntimeException::new).getFirst(); + this.brickBlock = BlockState.CODEC.decode(NbtOps.INSTANCE, tagCompound.get("brickBlock")).getOrThrow().getFirst(); this.yPosition = tagCompound.getInt("yPosition"); this.hallwayLengthMin = tagCompound.getInt("hallwayLengthMin"); this.hallwayLengthMax = tagCompound.getInt("hallwayLengthMax"); diff --git a/src/main/java/dev/galacticraft/mod/structure/dungeon/DungeonStart.java b/src/main/java/dev/galacticraft/mod/structure/dungeon/DungeonStart.java index 84a8fde6bf..e23563e3f9 100644 --- a/src/main/java/dev/galacticraft/mod/structure/dungeon/DungeonStart.java +++ b/src/main/java/dev/galacticraft/mod/structure/dungeon/DungeonStart.java @@ -27,7 +27,6 @@ import dev.galacticraft.mod.structure.GCStructurePieceTypes; import net.minecraft.nbt.CompoundTag; import net.minecraft.util.RandomSource; -import net.minecraft.world.level.Level; import net.minecraft.world.level.levelgen.structure.BoundingBox; import net.minecraft.world.level.levelgen.structure.StructurePiece; import net.minecraft.world.level.levelgen.structure.StructurePieceAccessor; diff --git a/src/main/java/dev/galacticraft/mod/structure/dungeon/DungeonStructure.java b/src/main/java/dev/galacticraft/mod/structure/dungeon/DungeonStructure.java index 505c82eba1..9ec0699445 100644 --- a/src/main/java/dev/galacticraft/mod/structure/dungeon/DungeonStructure.java +++ b/src/main/java/dev/galacticraft/mod/structure/dungeon/DungeonStructure.java @@ -22,28 +22,26 @@ package dev.galacticraft.mod.structure.dungeon; -import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import dev.galacticraft.mod.world.gen.structure.GCStructureTypes; import net.minecraft.core.BlockPos; import net.minecraft.core.registries.Registries; import net.minecraft.world.level.ChunkPos; import net.minecraft.world.level.Level; -import net.minecraft.world.level.block.Rotation; import net.minecraft.world.level.levelgen.Heightmap; import net.minecraft.world.level.levelgen.WorldgenRandom; import net.minecraft.world.level.levelgen.structure.Structure; import net.minecraft.world.level.levelgen.structure.StructurePiece; import net.minecraft.world.level.levelgen.structure.StructureType; import net.minecraft.world.level.levelgen.structure.pieces.StructurePiecesBuilder; -import net.minecraft.world.level.levelgen.structure.structures.IglooPieces; import java.util.List; import java.util.Optional; import java.util.Random; public class DungeonStructure extends Structure { - public static final Codec CODEC = RecordCodecBuilder.create((instance) -> instance.group( + public static final MapCodec CODEC = RecordCodecBuilder.mapCodec((instance) -> instance.group( StructureSettings.CODEC.fieldOf("config").forGetter((moonRuinsStructure) -> moonRuinsStructure.settings), DungeonConfiguration.CODEC.fieldOf("dungeon_configuration").forGetter(dungeonStructure -> dungeonStructure.configuration) ).apply(instance, DungeonStructure::new)); diff --git a/src/main/java/dev/galacticraft/mod/structure/dungeon/RoomChest.java b/src/main/java/dev/galacticraft/mod/structure/dungeon/RoomChest.java index 95ff00b631..46d7fb43a5 100644 --- a/src/main/java/dev/galacticraft/mod/structure/dungeon/RoomChest.java +++ b/src/main/java/dev/galacticraft/mod/structure/dungeon/RoomChest.java @@ -26,7 +26,7 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.nbt.CompoundTag; -import net.minecraft.resources.ResourceLocation; +import net.minecraft.resources.ResourceKey; import net.minecraft.util.RandomSource; import net.minecraft.world.level.ChunkPos; import net.minecraft.world.level.StructureManager; @@ -36,6 +36,7 @@ import net.minecraft.world.level.block.entity.ChestBlockEntity; import net.minecraft.world.level.chunk.ChunkGenerator; import net.minecraft.world.level.levelgen.structure.BoundingBox; +import net.minecraft.world.level.storage.loot.LootTable; public class RoomChest extends RoomEmpty { public RoomChest(CompoundTag tag) { @@ -59,7 +60,7 @@ public void postProcess(WorldGenLevel worldIn, StructureManager structureManager ChestBlockEntity chest = (ChestBlockEntity) worldIn.getBlockEntity(blockpos); if (chest != null) { - ResourceLocation chesttype = RoomTreasure.MOONCHEST; + ResourceKey chesttype = RoomTreasure.MOONCHEST; // if (worldIn.provider instanceof IGalacticraftWorldProvider) { // chesttype = ((IGalacticraftWorldProvider) worldIn.provider).getDungeonChestType(); // } diff --git a/src/main/java/dev/galacticraft/mod/structure/dungeon/RoomSpawner.java b/src/main/java/dev/galacticraft/mod/structure/dungeon/RoomSpawner.java index d3882de925..807d0d8eba 100644 --- a/src/main/java/dev/galacticraft/mod/structure/dungeon/RoomSpawner.java +++ b/src/main/java/dev/galacticraft/mod/structure/dungeon/RoomSpawner.java @@ -27,7 +27,6 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.nbt.CompoundTag; -import net.minecraft.resources.ResourceLocation; import net.minecraft.util.RandomSource; import net.minecraft.world.entity.EntityType; import net.minecraft.world.level.ChunkPos; @@ -35,12 +34,9 @@ import net.minecraft.world.level.StructureManager; import net.minecraft.world.level.WorldGenLevel; import net.minecraft.world.level.block.Blocks; -import net.minecraft.world.level.block.entity.SpawnerBlockEntity; import net.minecraft.world.level.chunk.ChunkGenerator; import net.minecraft.world.level.levelgen.structure.BoundingBox; -import java.util.Random; - public class RoomSpawner extends RoomEmpty { public RoomSpawner(CompoundTag tag) { super(GCStructurePieceTypes.ROOM_SPAWNER, tag); diff --git a/src/main/java/dev/galacticraft/mod/structure/dungeon/RoomTreasure.java b/src/main/java/dev/galacticraft/mod/structure/dungeon/RoomTreasure.java index 94dbbf8321..8b8fb19a5f 100644 --- a/src/main/java/dev/galacticraft/mod/structure/dungeon/RoomTreasure.java +++ b/src/main/java/dev/galacticraft/mod/structure/dungeon/RoomTreasure.java @@ -26,8 +26,9 @@ import dev.galacticraft.mod.structure.GCStructurePieceTypes; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.core.registries.Registries; import net.minecraft.nbt.CompoundTag; -import net.minecraft.resources.ResourceLocation; +import net.minecraft.resources.ResourceKey; import net.minecraft.util.RandomSource; import net.minecraft.world.level.ChunkPos; import net.minecraft.world.level.StructureManager; @@ -37,11 +38,11 @@ import net.minecraft.world.level.levelgen.structure.BoundingBox; import net.minecraft.world.level.levelgen.structure.StructurePiece; import net.minecraft.world.level.storage.loot.BuiltInLootTables; +import net.minecraft.world.level.storage.loot.LootTable; public class RoomTreasure extends SizedPiece { - public static ResourceLocation MOONCHEST = Constant.id("dungeon_tier_1"); - public static final ResourceLocation TABLE_TIER_1_DUNGEON = BuiltInLootTables.register(MOONCHEST); + public static ResourceKey MOONCHEST = BuiltInLootTables.register(ResourceKey.create(Registries.LOOT_TABLE, Constant.id("dungeon_tier_1"))); public RoomTreasure(CompoundTag tag) { super(GCStructurePieceTypes.ROOM_TREASURE, tag); diff --git a/src/main/java/dev/galacticraft/mod/tag/GCTags.java b/src/main/java/dev/galacticraft/mod/tag/GCTags.java index 73f0850005..65db9611a8 100644 --- a/src/main/java/dev/galacticraft/mod/tag/GCTags.java +++ b/src/main/java/dev/galacticraft/mod/tag/GCTags.java @@ -35,10 +35,10 @@ import net.minecraft.world.level.material.Fluid; public class GCTags { - public static final TagKey OIL = TagKey.create(Registries.FLUID, new ResourceLocation(Constant.COMMON_NAMESPACE, "oil")); - public static final TagKey FUEL = TagKey.create(Registries.FLUID, new ResourceLocation(Constant.COMMON_NAMESPACE, "fuel")); - public static final TagKey SULFURIC_ACID = TagKey.create(Registries.FLUID, new ResourceLocation(Constant.COMMON_NAMESPACE, "sulfuric_acid")); - public static final TagKey LIQUID_OXYGEN = TagKey.create(Registries.FLUID, new ResourceLocation(Constant.COMMON_NAMESPACE, "oxygen")); + public static final TagKey OIL = TagKey.create(Registries.FLUID, ResourceLocation.fromNamespaceAndPath(Constant.COMMON_NAMESPACE, "oil")); + public static final TagKey FUEL = TagKey.create(Registries.FLUID, ResourceLocation.fromNamespaceAndPath(Constant.COMMON_NAMESPACE, "fuel")); + public static final TagKey SULFURIC_ACID = TagKey.create(Registries.FLUID, ResourceLocation.fromNamespaceAndPath(Constant.COMMON_NAMESPACE, "sulfuric_acid")); + public static final TagKey LIQUID_OXYGEN = TagKey.create(Registries.FLUID, ResourceLocation.fromNamespaceAndPath(Constant.COMMON_NAMESPACE, "oxygen")); public static final TagKey OXYGEN = TagKey.create(Registries.FLUID, Constant.id("oxygen")); public static final TagKey INFINIBURN_MOON = TagKey.create(Registries.BLOCK, Constant.id("infiniburn_moon")); @@ -61,17 +61,17 @@ public class GCTags { public static final TagKey MOON_RUINS_HAS_STRUCTURE = TagKey.create(Registries.BIOME, Constant.id("has_structure/moon_ruins")); public static final TagKey MOON_BOSS_HAS_STRUCTURE = TagKey.create(Registries.BIOME, Constant.id("has_structure/moon_boss")); - public static final TagKey ALUMINUM_INGOTS = commonTag("aluminum_ingots"); - public static final TagKey RAW_ALUMINUM_ORES = commonTag("raw_aluminum_ores"); - public static final TagKey LEAD_INGOTS = commonTag("lead_ingots"); - public static final TagKey RAW_LEAD_ORES = commonTag("raw_lead_ores"); - public static final TagKey SILICONS = commonTag("silicons"); - public static final TagKey STEEL_INGOTS = commonTag("steel_ingots"); - public static final TagKey TIN_INGOTS = commonTag("tin_ingots"); - public static final TagKey RAW_TIN_ORES = commonTag("raw_tin_ores"); - public static final TagKey COMPRESSED_STEEL = commonTag("compressed_steel"); - public static final TagKey COMPRESSED_IRON = commonTag("compressed_iron"); - public static final TagKey COMPRESSED_TIN = commonTag("compressed_tin"); + public static final TagKey ALUMINUM_INGOTS = commonTag("ingots/aluminum"); + public static final TagKey RAW_ALUMINUM_ORES = commonTag("raw_materials/aluminum"); + public static final TagKey LEAD_INGOTS = commonTag("ingots/lead"); + public static final TagKey RAW_LEAD_ORES = commonTag("raw_materials/lead"); + public static final TagKey SILICONS = commonTag("gems/silicon"); + public static final TagKey STEEL_INGOTS = commonTag("ingots/steel"); + public static final TagKey TIN_INGOTS = commonTag("ingots/tin"); + public static final TagKey RAW_TIN_ORES = commonTag("raw_materials/tin"); + public static final TagKey COMPRESSED_STEEL = commonTag("plates/steel"); + public static final TagKey COMPRESSED_IRON = commonTag("plates/iron"); + public static final TagKey COMPRESSED_TIN = commonTag("plates/tin"); public static final TagKey MOON_RUINS = TagKey.create(Registries.STRUCTURE, Constant.id("moon_ruins")); @@ -81,7 +81,7 @@ public class GCTags { public static final TagKey> HAS_FOOTPRINTS = TagKey.create(Registries.ENTITY_TYPE, Constant.id("has_footprints")); public static TagKey commonTag(String path) { - return TagKey.create(Registries.ITEM, new ResourceLocation(Constant.COMMON_NAMESPACE, path)); + return TagKey.create(Registries.ITEM, ResourceLocation.fromNamespaceAndPath(Constant.COMMON_NAMESPACE, path)); } public static void register() { diff --git a/src/main/java/dev/galacticraft/mod/util/DrawableUtil.java b/src/main/java/dev/galacticraft/mod/util/DrawableUtil.java index ac9f394fbc..c475a40445 100644 --- a/src/main/java/dev/galacticraft/mod/util/DrawableUtil.java +++ b/src/main/java/dev/galacticraft/mod/util/DrawableUtil.java @@ -76,13 +76,13 @@ public static void drawProgressTexture(PoseStack matrices, float x0, float x1, f public static void drawTexturedQuad_F(Matrix4f matrices, float x0, float x1, float y0, float y1, float z, float u0, float u1, float v0, float v1) { RenderSystem.setShader(GameRenderer::getPositionTexShader); - BufferBuilder bufferBuilder = Tesselator.getInstance().getBuilder(); - bufferBuilder.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX); - bufferBuilder.vertex(matrices, x0, y1, z).uv(u0, v1).endVertex(); - bufferBuilder.vertex(matrices, x1, y1, z).uv(u1, v1).endVertex(); - bufferBuilder.vertex(matrices, x1, y0, z).uv(u1, v0).endVertex(); - bufferBuilder.vertex(matrices, x0, y0, z).uv(u0, v0).endVertex(); - BufferUploader.drawWithShader(bufferBuilder.end()); + BufferBuilder bufferBuilder = Tesselator.getInstance().begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX); + bufferBuilder + .addVertex(matrices, x0, y1, z).setUv(u0, v1) + .addVertex(matrices, x1, y1, z).setUv(u1, v1) + .addVertex(matrices, x1, y0, z).setUv(u1, v0) + .addVertex(matrices, x0, y0, z).setUv(u0, v0); + BufferUploader.drawWithShader(bufferBuilder.buildOrThrow()); } public static void drawTextureColor(PoseStack matrices, int x, int y, int z, float u, float v, int width, int height, int textureHeight, int textureWidth, int red, int green, int blue, int alpha) { @@ -93,14 +93,13 @@ public static void drawTextureColor(PoseStack matrices, int x0, int x1, int y0, drawTexturedQuadColor(matrices.last().pose(), x0, x1, y0, y1, z, (u + 0.0F) / (float)textureWidth, (u + (float)regionWidth) / (float)textureWidth, (v + 0.0F) / (float)textureHeight, (v + (float)regionHeight) / (float)textureHeight, red, green, blue, alpha); } - public static void drawTexturedQuadColor(Matrix4f matrices, int x0, int x1, int y0, int y1, int z, float u0, float u1, float v0, float v1, int red, int green, int blue, int alwha) { - BufferBuilder bufferBuilder = Tesselator.getInstance().getBuilder(); - bufferBuilder.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_COLOR_TEX); - bufferBuilder.vertex(matrices, (float)x0, (float)y1, (float)z).color(red, green, blue, 255).uv(u0, v1).endVertex(); - bufferBuilder.vertex(matrices, (float)x1, (float)y1, (float)z).color(red, green, blue, 255).uv(u1, v1).endVertex(); - bufferBuilder.vertex(matrices, (float)x1, (float)y0, (float)z).color(red, green, blue, 255).uv(u1, v0).endVertex(); - bufferBuilder.vertex(matrices, (float)x0, (float)y0, (float)z).color(red, green, blue, 255).uv(u0, v0).endVertex(); - BufferUploader.draw(bufferBuilder.end()); + public static void drawTexturedQuadColor(Matrix4f matrices, int x0, int x1, int y0, int y1, int z, float u0, float u1, float v0, float v1, int red, int green, int blue, int alpha) { + BufferBuilder bufferBuilder = Tesselator.getInstance().begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX_COLOR); + bufferBuilder.addVertex(matrices, (float)x0, (float)y1, (float)z).setColor(red, green, blue, alpha).setUv(u0, v1) + .addVertex(matrices, (float)x1, (float)y1, (float)z).setColor(red, green, blue, alpha).setUv(u1, v1) + .addVertex(matrices, (float)x1, (float)y0, (float)z).setColor(red, green, blue, alpha).setUv(u1, v0) + .addVertex(matrices, (float)x0, (float)y0, (float)z).setColor(red, green, blue, alpha).setUv(u0, v0); + BufferUploader.draw(bufferBuilder.buildOrThrow()); } public static String roundForDisplay(double d, int places) { diff --git a/src/main/java/dev/galacticraft/mod/util/StreamCodecs.java b/src/main/java/dev/galacticraft/mod/util/StreamCodecs.java new file mode 100644 index 0000000000..3375a4a834 --- /dev/null +++ b/src/main/java/dev/galacticraft/mod/util/StreamCodecs.java @@ -0,0 +1,364 @@ +/* + * Copyright (c) 2019-2024 Team Galacticraft + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package dev.galacticraft.mod.util; + + +import com.mojang.datafixers.util.*; +import com.mojang.serialization.Codec; +import io.netty.buffer.ByteBuf; +import net.minecraft.core.Holder; +import net.minecraft.core.Registry; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.nbt.NbtOps; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.VarInt; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.resources.ResourceKey; +import org.jetbrains.annotations.Contract; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.Objects; +import java.util.function.Function; +import java.util.function.IntFunction; + +public interface StreamCodecs { + StreamCodec LONG = StreamCodec.of( + ByteBuf::writeLong, + ByteBuf::readLong + ); + + static StreamCodec ofRegistryEntry(ResourceKey> registry) { + return StreamCodec.of( + (b, v) -> b.writeResourceLocation(b.registryAccess().registryOrThrow(registry).getKey(v)), + b -> Objects.requireNonNull(b.registryAccess().registryOrThrow(registry).get(b.readResourceLocation())) + ); + } + + static StreamCodec ofNullable(StreamCodec codec) { + return StreamCodec.of( + (b, v) -> { + if (v == null) { + b.writeBoolean(false); + } else { + b.writeBoolean(true); + codec.encode(b, v); + } + }, + b -> b.readBoolean() ? codec.decode(b) : null + ); + } + + static StreamCodec> ofHolder(ResourceKey> registry) { + return StreamCodec.of( + (b, v) -> b.writeResourceLocation(b.registryAccess().registryOrThrow(registry).getKey(v.value())), + b -> Objects.requireNonNull(b.registryAccess().registryOrThrow(registry).getHolderOrThrow(ResourceKey.create(registry, b.readResourceLocation()))) + ); + } + + static StreamCodec> ofReference(ResourceKey> registry) { + return StreamCodec.of( + (b, v) -> b.writeResourceKey(v.key()), + b -> Objects.requireNonNull(b.registryAccess().registryOrThrow(registry).getHolderOrThrow(b.readResourceKey(registry))) + ); + } + + static StreamCodec composite( + StreamCodec codec1, Function from1, StreamCodec codec2, Function from2, + StreamCodec codec3, Function from3, StreamCodec codec4, Function from4, + StreamCodec codec5, Function from5, StreamCodec codec6, Function from6, + StreamCodec codec7, Function from7, + Function7 to + ) { + return new StreamCodec<>() { + @Override + public @NotNull C decode(B object) { + return to.apply(codec1.decode(object), codec2.decode(object), codec3.decode(object), codec4.decode(object), codec5.decode(object), codec6.decode(object), codec7.decode(object)); + } + + @Override + public void encode(B object, C object2) { + codec1.encode(object, from1.apply(object2)); + codec2.encode(object, from2.apply(object2)); + codec3.encode(object, from3.apply(object2)); + codec4.encode(object, from4.apply(object2)); + codec5.encode(object, from5.apply(object2)); + codec6.encode(object, from6.apply(object2)); + codec7.encode(object, from7.apply(object2)); + } + }; + } + + static StreamCodec composite( + StreamCodec codec1, Function from1, StreamCodec codec2, Function from2, + StreamCodec codec3, Function from3, StreamCodec codec4, Function from4, + StreamCodec codec5, Function from5, StreamCodec codec6, Function from6, + StreamCodec codec7, Function from7, StreamCodec codec8, Function from8, + Function8 to + ) { + return new StreamCodec<>() { + @Override + public @NotNull C decode(B object) { + return to.apply(codec1.decode(object), codec2.decode(object), codec3.decode(object), codec4.decode(object), codec5.decode(object), codec6.decode(object), codec7.decode(object), codec8.decode(object)); + } + + @Override + public void encode(B object, C object2) { + codec1.encode(object, from1.apply(object2)); + codec2.encode(object, from2.apply(object2)); + codec3.encode(object, from3.apply(object2)); + codec4.encode(object, from4.apply(object2)); + codec5.encode(object, from5.apply(object2)); + codec6.encode(object, from6.apply(object2)); + codec7.encode(object, from7.apply(object2)); + codec8.encode(object, from8.apply(object2)); + } + }; + } + + static StreamCodec composite( + StreamCodec codec1, Function from1, StreamCodec codec2, Function from2, + StreamCodec codec3, Function from3, StreamCodec codec4, Function from4, + StreamCodec codec5, Function from5, StreamCodec codec6, Function from6, + StreamCodec codec7, Function from7, StreamCodec codec8, Function from8, + StreamCodec codec9, Function from9, + Function9 to + ) { + return new StreamCodec<>() { + @Override + public @NotNull C decode(B object) { + return to.apply(codec1.decode(object), codec2.decode(object), codec3.decode(object), codec4.decode(object), codec5.decode(object), codec6.decode(object), codec7.decode(object), codec8.decode(object), codec9.decode(object)); + } + + @Override + public void encode(B object, C object2) { + codec1.encode(object, from1.apply(object2)); + codec2.encode(object, from2.apply(object2)); + codec3.encode(object, from3.apply(object2)); + codec4.encode(object, from4.apply(object2)); + codec5.encode(object, from5.apply(object2)); + codec6.encode(object, from6.apply(object2)); + codec7.encode(object, from7.apply(object2)); + codec8.encode(object, from8.apply(object2)); + codec9.encode(object, from9.apply(object2)); + } + }; + } + + static StreamCodec composite( + StreamCodec codec1, Function from1, StreamCodec codec2, Function from2, + StreamCodec codec3, Function from3, StreamCodec codec4, Function from4, + StreamCodec codec5, Function from5, StreamCodec codec6, Function from6, + StreamCodec codec7, Function from7, StreamCodec codec8, Function from8, + StreamCodec codec9, Function from9, StreamCodec codec10, Function from10, + Function10 to + ) { + return new StreamCodec<>() { + @Override + public @NotNull C decode(B object) { + return to.apply(codec1.decode(object), codec2.decode(object), codec3.decode(object), codec4.decode(object), codec5.decode(object), codec6.decode(object), codec7.decode(object), codec8.decode(object), codec9.decode(object), codec10.decode(object)); + } + + @Override + public void encode(B object, C object2) { + codec1.encode(object, from1.apply(object2)); + codec2.encode(object, from2.apply(object2)); + codec3.encode(object, from3.apply(object2)); + codec4.encode(object, from4.apply(object2)); + codec5.encode(object, from5.apply(object2)); + codec6.encode(object, from6.apply(object2)); + codec7.encode(object, from7.apply(object2)); + codec8.encode(object, from8.apply(object2)); + codec9.encode(object, from9.apply(object2)); + codec10.encode(object, from10.apply(object2)); + } + }; + } + + static StreamCodec composite( + StreamCodec codec1, Function from1, StreamCodec codec2, Function from2, + StreamCodec codec3, Function from3, StreamCodec codec4, Function from4, + StreamCodec codec5, Function from5, StreamCodec codec6, Function from6, + StreamCodec codec7, Function from7, StreamCodec codec8, Function from8, + StreamCodec codec9, Function from9, StreamCodec codec10, Function from10, + StreamCodec codec11, Function from11, + Function11 to + ) { + return new StreamCodec<>() { + @Override + public @NotNull C decode(B object) { + return to.apply(codec1.decode(object), codec2.decode(object), codec3.decode(object), codec4.decode(object), codec5.decode(object), codec6.decode(object), codec7.decode(object), codec8.decode(object), codec9.decode(object), codec10.decode(object), codec11.decode(object)); + } + + @Override + public void encode(B object, C object2) { + codec1.encode(object, from1.apply(object2)); + codec2.encode(object, from2.apply(object2)); + codec3.encode(object, from3.apply(object2)); + codec4.encode(object, from4.apply(object2)); + codec5.encode(object, from5.apply(object2)); + codec6.encode(object, from6.apply(object2)); + codec7.encode(object, from7.apply(object2)); + codec8.encode(object, from8.apply(object2)); + codec9.encode(object, from9.apply(object2)); + codec10.encode(object, from10.apply(object2)); + codec11.encode(object, from11.apply(object2)); + } + }; + } + + static StreamCodec composite( + StreamCodec codec1, Function from1, StreamCodec codec2, Function from2, + StreamCodec codec3, Function from3, StreamCodec codec4, Function from4, + StreamCodec codec5, Function from5, StreamCodec codec6, Function from6, + StreamCodec codec7, Function from7, StreamCodec codec8, Function from8, + StreamCodec codec9, Function from9, StreamCodec codec10, Function from10, + StreamCodec codec11, Function from11, StreamCodec codec12, Function from12, + Function12 to + ) { + return new StreamCodec<>() { + @Override + public @NotNull C decode(B object) { + return to.apply(codec1.decode(object), codec2.decode(object), codec3.decode(object), codec4.decode(object), codec5.decode(object), codec6.decode(object), codec7.decode(object), codec8.decode(object), codec9.decode(object), codec10.decode(object), codec11.decode(object), codec12.decode(object)); + } + + @Override + public void encode(B object, C object2) { + codec1.encode(object, from1.apply(object2)); + codec2.encode(object, from2.apply(object2)); + codec3.encode(object, from3.apply(object2)); + codec4.encode(object, from4.apply(object2)); + codec5.encode(object, from5.apply(object2)); + codec6.encode(object, from6.apply(object2)); + codec7.encode(object, from7.apply(object2)); + codec8.encode(object, from8.apply(object2)); + codec9.encode(object, from9.apply(object2)); + codec10.encode(object, from10.apply(object2)); + codec11.encode(object, from11.apply(object2)); + codec12.encode(object, from12.apply(object2)); + } + }; + } + + static StreamCodec composite( + StreamCodec codec1, Function from1, StreamCodec codec2, Function from2, + StreamCodec codec3, Function from3, StreamCodec codec4, Function from4, + StreamCodec codec5, Function from5, StreamCodec codec6, Function from6, + StreamCodec codec7, Function from7, StreamCodec codec8, Function from8, + StreamCodec codec9, Function from9, StreamCodec codec10, Function from10, + StreamCodec codec11, Function from11, StreamCodec codec12, Function from12, + StreamCodec codec13, Function from13, + Function13 to + ) { + return new StreamCodec<>() { + @Override + public @NotNull C decode(B object) { + return to.apply(codec1.decode(object), codec2.decode(object), codec3.decode(object), codec4.decode(object), codec5.decode(object), codec6.decode(object), codec7.decode(object), codec8.decode(object), codec9.decode(object), codec10.decode(object), codec11.decode(object), codec12.decode(object), codec13.decode(object)); + } + + @Override + public void encode(B object, C object2) { + codec1.encode(object, from1.apply(object2)); + codec2.encode(object, from2.apply(object2)); + codec3.encode(object, from3.apply(object2)); + codec4.encode(object, from4.apply(object2)); + codec5.encode(object, from5.apply(object2)); + codec6.encode(object, from6.apply(object2)); + codec7.encode(object, from7.apply(object2)); + codec8.encode(object, from8.apply(object2)); + codec9.encode(object, from9.apply(object2)); + codec10.encode(object, from10.apply(object2)); + codec11.encode(object, from11.apply(object2)); + codec12.encode(object, from12.apply(object2)); + codec13.encode(object, from13.apply(object2)); + } + }; + } + + static StreamCodec composite( + StreamCodec codec1, Function from1, StreamCodec codec2, Function from2, + StreamCodec codec3, Function from3, StreamCodec codec4, Function from4, + StreamCodec codec5, Function from5, StreamCodec codec6, Function from6, + StreamCodec codec7, Function from7, StreamCodec codec8, Function from8, + StreamCodec codec9, Function from9, StreamCodec codec10, Function from10, + StreamCodec codec11, Function from11, StreamCodec codec12, Function from12, + StreamCodec codec13, Function from13, StreamCodec codec14, Function from14, + Function14 to + ) { + return new StreamCodec<>() { + @Override + public @NotNull C decode(B object) { + return to.apply(codec1.decode(object), codec2.decode(object), codec3.decode(object), codec4.decode(object), codec5.decode(object), codec6.decode(object), codec7.decode(object), codec8.decode(object), codec9.decode(object), codec10.decode(object), codec11.decode(object), codec12.decode(object), codec13.decode(object), codec14.decode(object)); + } + + @Override + public void encode(B object, C object2) { + codec1.encode(object, from1.apply(object2)); + codec2.encode(object, from2.apply(object2)); + codec3.encode(object, from3.apply(object2)); + codec4.encode(object, from4.apply(object2)); + codec5.encode(object, from5.apply(object2)); + codec6.encode(object, from6.apply(object2)); + codec7.encode(object, from7.apply(object2)); + codec8.encode(object, from8.apply(object2)); + codec9.encode(object, from9.apply(object2)); + codec10.encode(object, from10.apply(object2)); + codec11.encode(object, from11.apply(object2)); + codec12.encode(object, from12.apply(object2)); + codec13.encode(object, from13.apply(object2)); + codec14.encode(object, from14.apply(object2)); + } + }; + } + + @Contract(value = "_, _ -> new", pure = true) + static @NotNull StreamCodec array(StreamCodec codec, IntFunction constructor) { + return StreamCodec.of( + (b, a) -> { + VarInt.write(b, a.length); + for (T t : a) { + codec.encode(b, t); + } + }, + b -> { + int len = VarInt.read(b); + T[] a = constructor.apply(len); + for (int i = 0; i < len; i++) { + a[i] = codec.decode(b); + } + return a; + } + ); + } + + static > StreamCodec ofEnum(E[] values) { + return StreamCodec.of((b, e) -> b.writeByte(e.ordinal()), b -> values[b.readByte()]); + } + + static StreamCodec wrapCodec(Codec codec) { + return StreamCodec.of( + (b, v) -> b.writeNbt(codec.encode(v, NbtOps.INSTANCE, new CompoundTag()).getOrThrow()), + b -> codec.decode(NbtOps.INSTANCE, b.readNbt()).getOrThrow().getFirst() + ); + } +} diff --git a/src/main/java/dev/galacticraft/mod/util/Translations.java b/src/main/java/dev/galacticraft/mod/util/Translations.java index b63fb76cf3..efaa29ce6d 100644 --- a/src/main/java/dev/galacticraft/mod/util/Translations.java +++ b/src/main/java/dev/galacticraft/mod/util/Translations.java @@ -36,6 +36,10 @@ interface RecipeCategory { String COMPRESSOR = "category.recipe_viewer.compressing"; } + interface BannerPattern { + String ROCKET = "banner_pattern.galacticraft.rocket"; + } + interface Chat { String BED_FAIL = "chat.galacticraft.bed_fail"; String ROCKET_WARNING = "chat.galacticraft.rocket.warning"; diff --git a/src/main/java/dev/galacticraft/mod/village/GCVillagerProfessions.java b/src/main/java/dev/galacticraft/mod/village/GCVillagerProfessions.java index 5b21970d6f..73de8b559b 100644 --- a/src/main/java/dev/galacticraft/mod/village/GCVillagerProfessions.java +++ b/src/main/java/dev/galacticraft/mod/village/GCVillagerProfessions.java @@ -35,10 +35,11 @@ import net.minecraft.sounds.SoundEvents; import net.minecraft.world.entity.ai.village.poi.PoiType; import net.minecraft.world.entity.npc.VillagerProfession; +import net.minecraft.world.entity.npc.VillagerTrades; import net.minecraft.world.item.Item; import net.minecraft.world.item.Items; import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.saveddata.maps.MapDecoration; +import net.minecraft.world.level.saveddata.maps.MapDecorationTypes; import org.jetbrains.annotations.Nullable; public class GCVillagerProfessions { @@ -52,36 +53,36 @@ public static void register() { Registry.register(BuiltInRegistries.VILLAGER_PROFESSION, Constant.id("lunar_cartographer"), LUNAR_CARTOGRAPHER); TradeOfferHelper.registerVillagerOffers(LUNAR_CARTOGRAPHER, 1, factories -> { - factories.add(new GCVillagerTrades.BuyForOneEmeraldFactory(Items.PAPER, 24, 16, 2)); - factories.add(new GCVillagerTrades.SellItemFactory(Items.MAP, 7, 1, 1)); + factories.add(new VillagerTrades.EmeraldForItems(Items.PAPER, 24, 16, 2)); + factories.add(new VillagerTrades.ItemsForEmeralds(Items.MAP, 7, 1, 1)); }); TradeOfferHelper.registerVillagerOffers(LUNAR_CARTOGRAPHER, 2, factories -> { - factories.add(new GCVillagerTrades.BuyForOneEmeraldFactory(Items.GLASS_PANE, 11, 16, 10)); - factories.add(new GCVillagerTrades.SellMapFactory(13, GCTags.MOON_RUINS, MapDecoration.Type.RED_X, 12, 5)); + factories.add(new VillagerTrades.EmeraldForItems(Items.GLASS_PANE, 11, 16, 10)); + factories.add(new VillagerTrades.TreasureMapForEmeralds(13, GCTags.MOON_RUINS, "filled_map.moon_ruins", MapDecorationTypes.RED_X, 12, 5)); }); TradeOfferHelper.registerVillagerOffers(LUNAR_CARTOGRAPHER, 3, factories -> { - factories.add(new GCVillagerTrades.BuyForOneEmeraldFactory(Items.COMPASS, 1, 12, 20)); + factories.add(new VillagerTrades.EmeraldForItems(Items.COMPASS, 1, 12, 20)); // factories.add(new GalacticraftTradeOffers.SellMapFactory(14, GalacticraftStructures.MOON_RUINS, MapIcon.Type.MANSION, 12, 10)); }); TradeOfferHelper.registerVillagerOffers(LUNAR_CARTOGRAPHER, 4, factories -> { - factories.add(new GCVillagerTrades.SellItemFactory(Items.ITEM_FRAME, 7, 1, 15)); - factories.add(new GCVillagerTrades.SellItemFactory(Items.WHITE_BANNER, 3, 1, 15)); - factories.add(new GCVillagerTrades.SellItemFactory(Items.BLUE_BANNER, 3, 1, 15)); - factories.add(new GCVillagerTrades.SellItemFactory(Items.LIGHT_BLUE_BANNER, 3, 1, 15)); - factories.add(new GCVillagerTrades.SellItemFactory(Items.RED_BANNER, 3, 1, 15)); - factories.add(new GCVillagerTrades.SellItemFactory(Items.PINK_BANNER, 3, 1, 15)); - factories.add(new GCVillagerTrades.SellItemFactory(Items.GREEN_BANNER, 3, 1, 15)); - factories.add(new GCVillagerTrades.SellItemFactory(Items.LIME_BANNER, 3, 1, 15)); - factories.add(new GCVillagerTrades.SellItemFactory(Items.GRAY_BANNER, 3, 1, 15)); - factories.add(new GCVillagerTrades.SellItemFactory(Items.BLACK_BANNER, 3, 1, 15)); - factories.add(new GCVillagerTrades.SellItemFactory(Items.PURPLE_BANNER, 3, 1, 15)); - factories.add(new GCVillagerTrades.SellItemFactory(Items.MAGENTA_BANNER, 3, 1, 15)); - factories.add(new GCVillagerTrades.SellItemFactory(Items.CYAN_BANNER, 3, 1, 15)); - factories.add(new GCVillagerTrades.SellItemFactory(Items.BROWN_BANNER, 3, 1, 15)); - factories.add(new GCVillagerTrades.SellItemFactory(Items.YELLOW_BANNER, 3, 1, 15)); - factories.add(new GCVillagerTrades.SellItemFactory(Items.ORANGE_BANNER, 3, 1, 15)); - factories.add(new GCVillagerTrades.SellItemFactory(Items.LIGHT_GRAY_BANNER, 3, 1, 15)); + factories.add(new VillagerTrades.ItemsForEmeralds(Items.ITEM_FRAME, 7, 1, 15)); + factories.add(new VillagerTrades.ItemsForEmeralds(Items.WHITE_BANNER, 3, 1, 15)); + factories.add(new VillagerTrades.ItemsForEmeralds(Items.BLUE_BANNER, 3, 1, 15)); + factories.add(new VillagerTrades.ItemsForEmeralds(Items.LIGHT_BLUE_BANNER, 3, 1, 15)); + factories.add(new VillagerTrades.ItemsForEmeralds(Items.RED_BANNER, 3, 1, 15)); + factories.add(new VillagerTrades.ItemsForEmeralds(Items.PINK_BANNER, 3, 1, 15)); + factories.add(new VillagerTrades.ItemsForEmeralds(Items.GREEN_BANNER, 3, 1, 15)); + factories.add(new VillagerTrades.ItemsForEmeralds(Items.LIME_BANNER, 3, 1, 15)); + factories.add(new VillagerTrades.ItemsForEmeralds(Items.GRAY_BANNER, 3, 1, 15)); + factories.add(new VillagerTrades.ItemsForEmeralds(Items.BLACK_BANNER, 3, 1, 15)); + factories.add(new VillagerTrades.ItemsForEmeralds(Items.PURPLE_BANNER, 3, 1, 15)); + factories.add(new VillagerTrades.ItemsForEmeralds(Items.MAGENTA_BANNER, 3, 1, 15)); + factories.add(new VillagerTrades.ItemsForEmeralds(Items.CYAN_BANNER, 3, 1, 15)); + factories.add(new VillagerTrades.ItemsForEmeralds(Items.BROWN_BANNER, 3, 1, 15)); + factories.add(new VillagerTrades.ItemsForEmeralds(Items.YELLOW_BANNER, 3, 1, 15)); + factories.add(new VillagerTrades.ItemsForEmeralds(Items.ORANGE_BANNER, 3, 1, 15)); + factories.add(new VillagerTrades.ItemsForEmeralds(Items.LIGHT_GRAY_BANNER, 3, 1, 15)); }); - TradeOfferHelper.registerVillagerOffers(LUNAR_CARTOGRAPHER, 5, factories -> factories.add(new GCVillagerTrades.SellItemFactory(Items.GLOBE_BANNER_PATTERN, 8, 1, 30))); + TradeOfferHelper.registerVillagerOffers(LUNAR_CARTOGRAPHER, 5, factories -> factories.add(new VillagerTrades.ItemsForEmeralds(Items.GLOBE_BANNER_PATTERN, 8, 1, 30))); } } diff --git a/src/main/java/dev/galacticraft/mod/village/GCVillagerTrades.java b/src/main/java/dev/galacticraft/mod/village/GCVillagerTrades.java deleted file mode 100644 index 297884259a..0000000000 --- a/src/main/java/dev/galacticraft/mod/village/GCVillagerTrades.java +++ /dev/null @@ -1,138 +0,0 @@ -/* - * Copyright (c) 2019-2024 Team Galacticraft - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -package dev.galacticraft.mod.village; - -import dev.galacticraft.mod.content.item.GCItems; -import net.minecraft.core.BlockPos; -import net.minecraft.server.level.ServerLevel; -import net.minecraft.tags.TagKey; -import net.minecraft.util.RandomSource; -import net.minecraft.world.entity.Entity; -import net.minecraft.world.entity.npc.VillagerTrades; -import net.minecraft.world.item.Item; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.Items; -import net.minecraft.world.item.MapItem; -import net.minecraft.world.item.trading.MerchantOffer; -import net.minecraft.world.level.ItemLike; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.levelgen.structure.Structure; -import net.minecraft.world.level.saveddata.maps.MapDecoration; -import net.minecraft.world.level.saveddata.maps.MapItemSavedData; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; - -public class GCVillagerTrades { - public static class BuyForOneEmeraldFactory implements VillagerTrades.ItemListing { - private final Item buy; - private final int price; - private final int maxUses; - private final int experience; - private final float multiplier; - - public BuyForOneEmeraldFactory(ItemLike item, int price, int maxUses, int experience) { - this.buy = item.asItem(); - this.price = price; - this.maxUses = maxUses; - this.experience = experience; - this.multiplier = 0.05F; - } - - public MerchantOffer getOffer(Entity entity, RandomSource random) { - ItemStack itemStack = new ItemStack(this.buy, this.price); - return new MerchantOffer(itemStack, new ItemStack(GCItems.LUNAR_SAPPHIRE), this.maxUses, this.experience, this.multiplier); - } - } - - public static class SellMapFactory implements VillagerTrades.ItemListing { - private final int price; - private final TagKey structure; - private final MapDecoration.Type iconType; - private final int maxUses; - private final int experience; - - public SellMapFactory(int price, TagKey feature, MapDecoration.Type iconType, int maxUses, int experience) { - this.price = price; - this.structure = feature; - this.iconType = iconType; - this.maxUses = maxUses; - this.experience = experience; - } - - @Nullable - public MerchantOffer getOffer(Entity entity, @NotNull RandomSource random) { - if (!(entity.level() instanceof ServerLevel world)) { - return null; - } else { - BlockPos blockPos = world.findNearestMapStructure(this.structure, entity.blockPosition(), 100, true); - if (blockPos != null) { - ItemStack itemStack = MapItem.create(world, blockPos.getX(), blockPos.getZ(), (byte) 2, true, true); - MapItem.renderBiomePreviewMap(world, itemStack); - MapItemSavedData.addTargetDecoration(itemStack, blockPos, "+", this.iconType); -// itemStack.setCustomName(Text.translatable("filled_map." + this.structure.getName().toLowerCase(Locale.ROOT))); port - return new MerchantOffer(new ItemStack(GCItems.LUNAR_SAPPHIRE, this.price), new ItemStack(Items.COMPASS), itemStack, this.maxUses, this.experience, 0.2F); - } else { - return null; - } - } - } - } - - public static class SellItemFactory implements VillagerTrades.ItemListing { - private final ItemStack sell; - private final int price; - private final int count; - private final int maxUses; - private final int experience; - private final float multiplier; - - public SellItemFactory(Block block, int price, int count, int maxUses, int experience) { - this(new ItemStack(block), price, count, maxUses, experience); - } - - public SellItemFactory(Item item, int price, int count, int experience) { - this(new ItemStack(item), price, count, 12, experience); - } - - public SellItemFactory(Item item, int price, int count, int maxUses, int experience) { - this(new ItemStack(item), price, count, maxUses, experience); - } - - public SellItemFactory(ItemStack stack, int price, int count, int maxUses, int experience) { - this(stack, price, count, maxUses, experience, 0.05F); - } - - public SellItemFactory(ItemStack stack, int price, int count, int maxUses, int experience, float multiplier) { - this.sell = stack; - this.price = price; - this.count = count; - this.maxUses = maxUses; - this.experience = experience; - this.multiplier = multiplier; - } - - public MerchantOffer getOffer(Entity entity, RandomSource random) { - return new MerchantOffer(new ItemStack(GCItems.LUNAR_SAPPHIRE, this.price), new ItemStack(this.sell.getItem(), this.count), this.maxUses, this.experience, this.multiplier); - } - } -} diff --git a/src/main/java/dev/galacticraft/mod/world/biome/GCBiomes.java b/src/main/java/dev/galacticraft/mod/world/biome/GCBiomes.java index 523eaf239b..22cbfe3649 100644 --- a/src/main/java/dev/galacticraft/mod/world/biome/GCBiomes.java +++ b/src/main/java/dev/galacticraft/mod/world/biome/GCBiomes.java @@ -25,7 +25,7 @@ import dev.galacticraft.mod.Constant; import net.minecraft.core.HolderGetter; import net.minecraft.core.registries.Registries; -import net.minecraft.data.worldgen.BootstapContext; +import net.minecraft.data.worldgen.BootstrapContext; import net.minecraft.resources.ResourceKey; import net.minecraft.world.level.biome.Biome; import net.minecraft.world.level.biome.BiomeGenerationSettings; @@ -73,7 +73,7 @@ public static Biome createSpaceBiome(HolderGetter holderGetter, H .temperatureAdjustment(Biome.TemperatureModifier.NONE).build(); } - public static void bootstrapRegistries(BootstapContext context) { // moj-map typo :( + public static void bootstrapRegistries(BootstrapContext context) { // moj-map typo :( HolderGetter featureLookup = context.lookup(Registries.PLACED_FEATURE); HolderGetter> carverLookup = context.lookup(Registries.CONFIGURED_CARVER); context.register(SPACE, createSpaceBiome(context.lookup(Registries.PLACED_FEATURE), context.lookup(Registries.CONFIGURED_CARVER))); diff --git a/src/main/java/dev/galacticraft/mod/world/biome/MoonBiomes.java b/src/main/java/dev/galacticraft/mod/world/biome/MoonBiomes.java index 40932e6978..0618305b4c 100644 --- a/src/main/java/dev/galacticraft/mod/world/biome/MoonBiomes.java +++ b/src/main/java/dev/galacticraft/mod/world/biome/MoonBiomes.java @@ -24,7 +24,6 @@ import dev.galacticraft.mod.content.GCEntityTypes; import dev.galacticraft.mod.content.GCSounds; -import dev.galacticraft.mod.world.gen.carver.GCCarvers; import dev.galacticraft.mod.world.gen.carver.GCConfiguredCarvers; import dev.galacticraft.mod.world.gen.feature.GCOrePlacedFeatures; import net.minecraft.core.HolderGetter; diff --git a/src/main/java/dev/galacticraft/mod/world/biome/VenusBiomes.java b/src/main/java/dev/galacticraft/mod/world/biome/VenusBiomes.java index 3ac241ef01..a84ed59ac3 100644 --- a/src/main/java/dev/galacticraft/mod/world/biome/VenusBiomes.java +++ b/src/main/java/dev/galacticraft/mod/world/biome/VenusBiomes.java @@ -24,12 +24,10 @@ import dev.galacticraft.mod.content.GCEntityTypes; import dev.galacticraft.mod.content.GCSounds; -import dev.galacticraft.mod.world.gen.feature.GCOrePlacedFeatures; import net.minecraft.core.HolderGetter; import net.minecraft.sounds.Musics; import net.minecraft.world.entity.MobCategory; import net.minecraft.world.level.biome.*; -import net.minecraft.world.level.levelgen.GenerationStep; import net.minecraft.world.level.levelgen.carver.ConfiguredWorldCarver; import net.minecraft.world.level.levelgen.placement.PlacedFeature; diff --git a/src/main/java/dev/galacticraft/mod/world/biome/source/GCMultiNoiseBiomeSourceParameterLists.java b/src/main/java/dev/galacticraft/mod/world/biome/source/GCMultiNoiseBiomeSourceParameterLists.java index 525d6f8f7c..d2282af766 100644 --- a/src/main/java/dev/galacticraft/mod/world/biome/source/GCMultiNoiseBiomeSourceParameterLists.java +++ b/src/main/java/dev/galacticraft/mod/world/biome/source/GCMultiNoiseBiomeSourceParameterLists.java @@ -29,7 +29,7 @@ import dev.galacticraft.mod.world.biome.GCBiomes; import net.minecraft.core.HolderGetter; import net.minecraft.core.registries.Registries; -import net.minecraft.data.worldgen.BootstapContext; +import net.minecraft.data.worldgen.BootstrapContext; import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.biome.Biome; @@ -218,7 +218,7 @@ public static void register() { } - public static void bootstrapRegistries(BootstapContext context) { + public static void bootstrapRegistries(BootstrapContext context) { HolderGetter lookup = context.lookup(Registries.BIOME); context.register(MOON, new MultiNoiseBiomeSourceParameterList(MOON_PRESET, lookup)); context.register(VENUS, new MultiNoiseBiomeSourceParameterList(VENUS_PRESET, lookup)); diff --git a/src/main/java/dev/galacticraft/mod/world/dimension/GCDimensionTypes.java b/src/main/java/dev/galacticraft/mod/world/dimension/GCDimensionTypes.java index 2ee331a041..a4ba5ccea4 100644 --- a/src/main/java/dev/galacticraft/mod/world/dimension/GCDimensionTypes.java +++ b/src/main/java/dev/galacticraft/mod/world/dimension/GCDimensionTypes.java @@ -26,7 +26,7 @@ import dev.galacticraft.mod.Constant; import dev.galacticraft.mod.tag.GCTags; import net.minecraft.core.registries.Registries; -import net.minecraft.data.worldgen.BootstapContext; +import net.minecraft.data.worldgen.BootstrapContext; import net.minecraft.resources.ResourceKey; import net.minecraft.util.valueproviders.UniformInt; import net.minecraft.world.level.dimension.DimensionType; @@ -40,7 +40,7 @@ public class GCDimensionTypes { public static final ResourceKey VENUS = key("venus"); public static final ResourceKey ASTEROID = key("asteroid"); - public static void bootstrapRegistries(BootstapContext context) { + public static void bootstrapRegistries(BootstrapContext context) { context.register(MOON, new DimensionType( OptionalLong.empty(), true, @@ -58,6 +58,7 @@ public static void bootstrapRegistries(BootstapContext context) { 0.1f, new DimensionType.MonsterSettings(false, false, UniformInt.of(0, 7), 0) )); + context.register(VENUS, new DimensionType( OptionalLong.empty(), // fixedTime true, // hasSkyLight diff --git a/src/main/java/dev/galacticraft/mod/world/dimension/GCLevelStems.java b/src/main/java/dev/galacticraft/mod/world/dimension/GCLevelStems.java index d84c80e2ee..14cb68a8e2 100644 --- a/src/main/java/dev/galacticraft/mod/world/dimension/GCLevelStems.java +++ b/src/main/java/dev/galacticraft/mod/world/dimension/GCLevelStems.java @@ -29,7 +29,7 @@ import dev.galacticraft.mod.world.gen.custom.AsteroidChunkGenerator; import net.minecraft.core.HolderGetter; import net.minecraft.core.registries.Registries; -import net.minecraft.data.worldgen.BootstapContext; +import net.minecraft.data.worldgen.BootstrapContext; import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.biome.*; @@ -45,7 +45,7 @@ public class GCLevelStems { public static final ResourceKey VENUS = key("venus"); public static final ResourceKey ASTEROID = key("asteroid"); - public static void bootstrapRegistries(@NotNull BootstapContext context) { + public static void bootstrapRegistries(@NotNull BootstrapContext context) { HolderGetter typeLookup = context.lookup(Registries.DIMENSION_TYPE); HolderGetter biomeLookup = context.lookup(Registries.BIOME); HolderGetter noiseLookup = context.lookup(Registries.NOISE_SETTINGS); diff --git a/src/main/java/dev/galacticraft/mod/world/gen/GCDensityFunctions.java b/src/main/java/dev/galacticraft/mod/world/gen/GCDensityFunctions.java index b76b3e2080..8bd60179bf 100644 --- a/src/main/java/dev/galacticraft/mod/world/gen/GCDensityFunctions.java +++ b/src/main/java/dev/galacticraft/mod/world/gen/GCDensityFunctions.java @@ -23,23 +23,23 @@ package dev.galacticraft.mod.world.gen; import dev.galacticraft.mod.Constant; -import net.minecraft.core.Holder; import net.minecraft.core.HolderGetter; import net.minecraft.core.registries.Registries; -import net.minecraft.data.worldgen.BootstapContext; +import net.minecraft.data.worldgen.BootstrapContext; import net.minecraft.resources.ResourceKey; import net.minecraft.world.level.levelgen.DensityFunction; import net.minecraft.world.level.levelgen.DensityFunctions; import net.minecraft.world.level.levelgen.NoiseRouterData; -import net.minecraft.world.level.levelgen.Noises; import net.minecraft.world.level.levelgen.synth.BlendedNoise; public class GCDensityFunctions { public static final ResourceKey NOODLES = createKey("caves/noodles"); + public static final class Moon { public static final ResourceKey EROSION = createKey("moon/erosion"); public static final ResourceKey FINAL_DENSITY = createKey("moon/final_density"); } + public static final class Venus { // Final Density handles overall terrain shape public static final ResourceKey FINAL_DENSITY = createKey("venus/final_density"); @@ -52,12 +52,14 @@ public static final class Asteroid { private static ResourceKey createKey(String id) { return ResourceKey.create(Registries.DENSITY_FUNCTION, Constant.id(id)); } - public static void bootstrapRegistries(BootstapContext context) { + + public static void bootstrapRegistries(BootstrapContext context) { var vanillaRegistry = context.lookup(Registries.DENSITY_FUNCTION); var noiseRegistry = context.lookup(Registries.NOISE); DensityFunction shiftX = getFunction(vanillaRegistry, NoiseRouterData.SHIFT_X); DensityFunction shiftZ = getFunction(vanillaRegistry, NoiseRouterData.SHIFT_Z); DensityFunction y = getFunction(vanillaRegistry, NoiseRouterData.Y); + // DensityFunction noodles = registerAndWrap(context, NOODLES, DensityFunctions.rangeChoice( // DensityFunctions.interpolated( // DensityFunctions.rangeChoice( @@ -104,7 +106,7 @@ public static void bootstrapRegistries(BootstapContext context) // )); // DensityFunction erosion = registerAndWrap(context, Moon.EROSION, DensityFunctions.flatCache( // DensityFunctions.shiftedNoise2d( -// shiftX, shiftZ, 1, noiseRegistry.getOrThrow(GCNoiseData.EROSION) +// shiftX, shiftZ, 1.0, noiseRegistry.getOrThrow(GCNoiseData.EROSION) // ) // )); // context.register(Moon.FINAL_DENSITY, DensityFunctions.min( @@ -138,7 +140,7 @@ public static void bootstrapRegistries(BootstapContext context) )); } - private static DensityFunction registerAndWrap(BootstapContext context, ResourceKey key, DensityFunction densityFunction) { + private static DensityFunction registerAndWrap(BootstrapContext context, ResourceKey key, DensityFunction densityFunction) { return new DensityFunctions.HolderHolder(context.register(key, densityFunction)); } diff --git a/src/main/java/dev/galacticraft/mod/world/gen/GCNoiseData.java b/src/main/java/dev/galacticraft/mod/world/gen/GCNoiseData.java index 8dded283c0..a3795d7853 100644 --- a/src/main/java/dev/galacticraft/mod/world/gen/GCNoiseData.java +++ b/src/main/java/dev/galacticraft/mod/world/gen/GCNoiseData.java @@ -24,7 +24,7 @@ import dev.galacticraft.mod.Constant; import net.minecraft.core.registries.Registries; -import net.minecraft.data.worldgen.BootstapContext; +import net.minecraft.data.worldgen.BootstrapContext; import net.minecraft.resources.ResourceKey; import net.minecraft.world.level.levelgen.synth.NormalNoise; @@ -37,14 +37,14 @@ private static ResourceKey createKey(String id) { return ResourceKey.create(Registries.NOISE, Constant.id(id)); } - public static void bootstrapRegistries(BootstapContext context) { - register(context, EROSION, -11, 1, 1, 0, 1, 1); - register(context, BASALT_MARE, 5, 0, 0.1, 0.2, 0.1, 0, 0, 0, 0); - register(context, BASALT_MARE_HEIGHT, -12, 0.3); + public static void bootstrapRegistries(BootstrapContext context) { +// register(context, EROSION, -11, 1, 1, 0, 1, 1); +// register(context, BASALT_MARE, 5, 0, 0.1, 0.2, 0.1, 0, 0, 0, 0); +// register(context, BASALT_MARE_HEIGHT, -12, 0.3); } private static void register( - BootstapContext context, + BootstrapContext context, ResourceKey key, int firstOctave, double amplitude, diff --git a/src/main/java/dev/galacticraft/mod/world/gen/PlanetChunkGenerator.java b/src/main/java/dev/galacticraft/mod/world/gen/PlanetChunkGenerator.java index 2bbc254a20..c762fb2ad3 100644 --- a/src/main/java/dev/galacticraft/mod/world/gen/PlanetChunkGenerator.java +++ b/src/main/java/dev/galacticraft/mod/world/gen/PlanetChunkGenerator.java @@ -22,7 +22,7 @@ package dev.galacticraft.mod.world.gen; -import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import net.minecraft.core.BlockPos; import net.minecraft.core.Holder; import net.minecraft.server.level.WorldGenRegion; @@ -41,7 +41,6 @@ import java.util.List; import java.util.concurrent.CompletableFuture; -import java.util.concurrent.Executor; /** * Empty for now, possibly future replacement for {@link net.minecraft.world.level.levelgen.NoiseBasedChunkGenerator} @@ -53,7 +52,7 @@ public PlanetChunkGenerator(BiomeSource biomeSource) { } @Override - protected Codec codec() { + protected MapCodec codec() { return null; } @@ -78,8 +77,8 @@ public int getGenDepth() { } @Override - public CompletableFuture fillFromNoise(Executor executor, Blender blender, RandomState randomState, StructureManager structureManager, ChunkAccess chunkAccess) { - return null; + public CompletableFuture fillFromNoise(Blender blender, RandomState noiseConfig, StructureManager structureAccessor, ChunkAccess chunk) { + return CompletableFuture.completedFuture(chunk); } @Override diff --git a/src/main/java/dev/galacticraft/mod/world/gen/carver/GCConfiguredCarvers.java b/src/main/java/dev/galacticraft/mod/world/gen/carver/GCConfiguredCarvers.java index 88bafa0c4b..d3a445fb5d 100644 --- a/src/main/java/dev/galacticraft/mod/world/gen/carver/GCConfiguredCarvers.java +++ b/src/main/java/dev/galacticraft/mod/world/gen/carver/GCConfiguredCarvers.java @@ -28,7 +28,7 @@ import net.minecraft.core.HolderSet; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.core.registries.Registries; -import net.minecraft.data.worldgen.BootstapContext; +import net.minecraft.data.worldgen.BootstrapContext; import net.minecraft.resources.ResourceKey; import net.minecraft.util.valueproviders.ConstantFloat; import net.minecraft.util.valueproviders.TrapezoidFloat; @@ -51,7 +51,7 @@ public class GCConfiguredCarvers { return Constant.key(Registries.CONFIGURED_CARVER, s); } - public static void bootstrapRegistries(BootstapContext> context) { + public static void bootstrapRegistries(BootstrapContext> context) { context.register(MOON_CANYON_CARVER, WorldCarver.CANYON.configured(new CanyonCarverConfiguration( 0.05f, UniformHeight.of(VerticalAnchor.absolute(10), VerticalAnchor.absolute(67)), diff --git a/src/main/java/dev/galacticraft/mod/world/gen/feature/GCConfiguredFeature.java b/src/main/java/dev/galacticraft/mod/world/gen/feature/GCConfiguredFeature.java index 14a6a0dbd0..e9b1dc95e3 100644 --- a/src/main/java/dev/galacticraft/mod/world/gen/feature/GCConfiguredFeature.java +++ b/src/main/java/dev/galacticraft/mod/world/gen/feature/GCConfiguredFeature.java @@ -25,7 +25,7 @@ import dev.galacticraft.mod.Constant; import dev.galacticraft.mod.content.GCBlocks; import net.minecraft.core.registries.Registries; -import net.minecraft.data.worldgen.BootstapContext; +import net.minecraft.data.worldgen.BootstrapContext; import net.minecraft.resources.ResourceKey; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.levelgen.feature.ConfiguredFeature; @@ -36,7 +36,7 @@ public class GCConfiguredFeature { public static final ResourceKey> OIL_LAKE = ResourceKey.create(Registries.CONFIGURED_FEATURE, Constant.id("oil_lake")); - public static void bootstrapRegistries(BootstapContext> context) { + public static void bootstrapRegistries(BootstrapContext> context) { context.register(OIL_LAKE, new ConfiguredFeature<>(Feature.LAKE, new LakeFeature.Configuration(BlockStateProvider.simple(GCBlocks.CRUDE_OIL), BlockStateProvider.simple(Blocks.STONE)))); } diff --git a/src/main/java/dev/galacticraft/mod/world/gen/feature/GCOreConfiguredFeature.java b/src/main/java/dev/galacticraft/mod/world/gen/feature/GCOreConfiguredFeature.java index 31bd00c3d5..3513b90b90 100644 --- a/src/main/java/dev/galacticraft/mod/world/gen/feature/GCOreConfiguredFeature.java +++ b/src/main/java/dev/galacticraft/mod/world/gen/feature/GCOreConfiguredFeature.java @@ -26,7 +26,7 @@ import dev.galacticraft.mod.content.GCBlocks; import dev.galacticraft.mod.tag.GCTags; import net.minecraft.core.registries.Registries; -import net.minecraft.data.worldgen.BootstapContext; +import net.minecraft.data.worldgen.BootstrapContext; import net.minecraft.resources.ResourceKey; import net.minecraft.tags.BlockTags; import net.minecraft.world.level.levelgen.feature.ConfiguredFeature; @@ -75,7 +75,7 @@ public class GCOreConfiguredFeature { return Constant.key(Registries.CONFIGURED_FEATURE, s); } - public static void bootstrapRegistries(BootstapContext> context) { + public static void bootstrapRegistries(BootstrapContext> context) { context.register(ORE_SILICON_SMALL, new ConfiguredFeature<>(Feature.ORE, new OreConfiguration(SILICON_ORES, 6, 0.5F))); context.register(ORE_SILICON_LARGE, new ConfiguredFeature<>(Feature.ORE, new OreConfiguration(SILICON_ORES, 9, 0.7F))); context.register(ORE_TIN, new ConfiguredFeature<>(Feature.ORE, new OreConfiguration(TIN_ORES, 7))); diff --git a/src/main/java/dev/galacticraft/mod/world/gen/feature/GCOrePlacedFeatures.java b/src/main/java/dev/galacticraft/mod/world/gen/feature/GCOrePlacedFeatures.java index 174d14b7b9..d263d527ad 100644 --- a/src/main/java/dev/galacticraft/mod/world/gen/feature/GCOrePlacedFeatures.java +++ b/src/main/java/dev/galacticraft/mod/world/gen/feature/GCOrePlacedFeatures.java @@ -28,7 +28,7 @@ import net.fabricmc.fabric.api.biome.v1.ModificationPhase; import net.minecraft.core.HolderGetter; import net.minecraft.core.registries.Registries; -import net.minecraft.data.worldgen.BootstapContext; +import net.minecraft.data.worldgen.BootstrapContext; import net.minecraft.resources.ResourceKey; import net.minecraft.world.level.levelgen.GenerationStep; import net.minecraft.world.level.levelgen.VerticalAnchor; @@ -74,7 +74,7 @@ public static void register() { }); } - public static void bootstrapRegistries(BootstapContext context) { + public static void bootstrapRegistries(BootstrapContext context) { HolderGetter> lookup = context.lookup(Registries.CONFIGURED_FEATURE); context.register(ORE_SILICON, new PlacedFeature(lookup.getOrThrow(GCOreConfiguredFeature.ORE_SILICON_SMALL), modifiersWithCount(5, HeightRangePlacement.triangle(VerticalAnchor.aboveBottom(-80), VerticalAnchor.aboveBottom(80))))); context.register(ORE_SILICON_LARGE, new PlacedFeature(lookup.getOrThrow(GCOreConfiguredFeature.ORE_SILICON_LARGE), modifiersWithRarity(11, HeightRangePlacement.triangle(VerticalAnchor.aboveBottom(-80), VerticalAnchor.aboveBottom(80))))); diff --git a/src/main/java/dev/galacticraft/mod/world/gen/feature/GCPlacedFeatures.java b/src/main/java/dev/galacticraft/mod/world/gen/feature/GCPlacedFeatures.java index 57b1c51afb..10cde6e4af 100644 --- a/src/main/java/dev/galacticraft/mod/world/gen/feature/GCPlacedFeatures.java +++ b/src/main/java/dev/galacticraft/mod/world/gen/feature/GCPlacedFeatures.java @@ -26,7 +26,7 @@ import net.fabricmc.fabric.api.biome.v1.BiomeModifications; import net.minecraft.core.HolderGetter; import net.minecraft.core.registries.Registries; -import net.minecraft.data.worldgen.BootstapContext; +import net.minecraft.data.worldgen.BootstrapContext; import net.minecraft.data.worldgen.features.MiscOverworldFeatures; import net.minecraft.data.worldgen.placement.PlacementUtils; import net.minecraft.resources.ResourceKey; @@ -42,7 +42,7 @@ public class GCPlacedFeatures { public static final ResourceKey OIL_LAKE = ResourceKey.create(Registries.PLACED_FEATURE, Constant.id("oil_lake")); - public static void bootstrapRegistries(BootstapContext context) { + public static void bootstrapRegistries(BootstrapContext context) { HolderGetter> configuredFeatureLookup = context.lookup(Registries.CONFIGURED_FEATURE); context.register(OIL_LAKE, new PlacedFeature(configuredFeatureLookup.getOrThrow(GCConfiguredFeature.OIL_LAKE), List.of( PlacementUtils.HEIGHTMAP_WORLD_SURFACE, diff --git a/src/main/java/dev/galacticraft/mod/world/gen/spawner/EvolvedPillagerSpawner.java b/src/main/java/dev/galacticraft/mod/world/gen/spawner/EvolvedPillagerSpawner.java index 019a1ba68d..a16c072081 100644 --- a/src/main/java/dev/galacticraft/mod/world/gen/spawner/EvolvedPillagerSpawner.java +++ b/src/main/java/dev/galacticraft/mod/world/gen/spawner/EvolvedPillagerSpawner.java @@ -127,7 +127,7 @@ private boolean spawnPillager(ServerLevel world, BlockPos pos, RandomSource rand } patrolEntity.setPos(pos.getX(), pos.getY(), pos.getZ()); - patrolEntity.finalizeSpawn(world, world.getCurrentDifficultyAt(pos), MobSpawnType.PATROL, null, null); + patrolEntity.finalizeSpawn(world, world.getCurrentDifficultyAt(pos), MobSpawnType.PATROL, null); world.addFreshEntityWithPassengers(patrolEntity); return true; } else { diff --git a/src/main/java/dev/galacticraft/mod/world/gen/structure/GCStructureTypes.java b/src/main/java/dev/galacticraft/mod/world/gen/structure/GCStructureTypes.java index 0908fe74f7..9a71170808 100644 --- a/src/main/java/dev/galacticraft/mod/world/gen/structure/GCStructureTypes.java +++ b/src/main/java/dev/galacticraft/mod/world/gen/structure/GCStructureTypes.java @@ -22,12 +22,9 @@ package dev.galacticraft.mod.world.gen.structure; -import dev.galacticraft.mod.Constant; import dev.galacticraft.mod.content.GCRegistry; import dev.galacticraft.mod.structure.dungeon.DungeonStructure; -import net.minecraft.core.Registry; import net.minecraft.core.registries.BuiltInRegistries; -import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.levelgen.structure.StructureType; public class GCStructureTypes { diff --git a/src/main/java/dev/galacticraft/mod/world/gen/structure/GCStructures.java b/src/main/java/dev/galacticraft/mod/world/gen/structure/GCStructures.java index e67db288fd..30af32d90d 100644 --- a/src/main/java/dev/galacticraft/mod/world/gen/structure/GCStructures.java +++ b/src/main/java/dev/galacticraft/mod/world/gen/structure/GCStructures.java @@ -34,8 +34,7 @@ import net.minecraft.core.HolderOwner; import net.minecraft.core.HolderSet; import net.minecraft.core.registries.Registries; -import net.minecraft.data.worldgen.BootstapContext; -import net.minecraft.data.worldgen.Structures; +import net.minecraft.data.worldgen.BootstrapContext; import net.minecraft.resources.ResourceKey; import net.minecraft.tags.TagKey; import net.minecraft.util.random.WeightedRandomList; @@ -69,10 +68,10 @@ private static ResourceKey key(String id) { return Constant.key(Registries.STRUCTURE, id); } - public static void bootstrapRegistries(BootstapContext context) { + public static void bootstrapRegistries(BootstrapContext context) { HolderGetter biomeLookup = context.lookup(Registries.BIOME); HolderGetter templatePoolLookup = context.lookup(Registries.TEMPLATE_POOL); - context.register(Moon.RUINS, new MoonRuinsStructure(Structures.structure(biomeLookup.get(GCTags.MOON_RUINS_HAS_STRUCTURE).orElseGet(() -> createEmptyTag(GCTags.MOON_RUINS_HAS_STRUCTURE)), TerrainAdjustment.BEARD_THIN))); + context.register(Moon.RUINS, new MoonRuinsStructure(new Structure.StructureSettings(biomeLookup.getOrThrow(GCTags.MOON_RUINS_HAS_STRUCTURE)))); context.register(Moon.PILLAGER_BASE, new JigsawStructure( new Structure.StructureSettings(biomeLookup.get(GCTags.MOON_PILLAGER_BASE_HAS_STRUCTURE).orElseGet(() -> createEmptyTag(GCTags.MOON_PILLAGER_BASE_HAS_STRUCTURE)), Map.of(MobCategory.MONSTER, new StructureSpawnOverride(StructureSpawnOverride.BoundingBoxType.STRUCTURE, @@ -96,7 +95,7 @@ public static void bootstrapRegistries(BootstapContext context) { true, Heightmap.Types.WORLD_SURFACE_WG )); - context.register(Moon.BOSS, new DungeonStructure(Structures.structure(biomeLookup.get(GCTags.MOON_BOSS_HAS_STRUCTURE).orElseGet(() -> createEmptyTag(GCTags.MOON_BOSS_HAS_STRUCTURE)), TerrainAdjustment.NONE), new DungeonConfiguration(GCBlocks.MOON_DUNGEON_BRICK.defaultBlockState(), 25, 8, 16, + context.register(Moon.BOSS, new DungeonStructure(new Structure.StructureSettings(biomeLookup.getOrThrow(GCTags.MOON_BOSS_HAS_STRUCTURE)), new DungeonConfiguration(GCBlocks.MOON_DUNGEON_BRICK.defaultBlockState(), 25, 8, 16, 5, 6, GCStructurePieceTypes.ROOM_BOSS, GCStructurePieceTypes.ROOM_TREASURE))); } diff --git a/src/main/java/dev/galacticraft/mod/world/gen/structure/MoonRuinsStructure.java b/src/main/java/dev/galacticraft/mod/world/gen/structure/MoonRuinsStructure.java index c4c9e78e9c..a472360f5a 100644 --- a/src/main/java/dev/galacticraft/mod/world/gen/structure/MoonRuinsStructure.java +++ b/src/main/java/dev/galacticraft/mod/world/gen/structure/MoonRuinsStructure.java @@ -22,7 +22,7 @@ package dev.galacticraft.mod.world.gen.structure; -import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import dev.galacticraft.mod.structure.MoonRuinsGenerator; import net.minecraft.core.BlockPos; @@ -35,7 +35,7 @@ import java.util.Optional; public class MoonRuinsStructure extends Structure { - public static final Codec CODEC = RecordCodecBuilder.create((instance) -> instance.group( + public static final MapCodec CODEC = RecordCodecBuilder.mapCodec((instance) -> instance.group( StructureSettings.CODEC.fieldOf("config").forGetter((moonRuinsStructure) -> moonRuinsStructure.settings) ).apply(instance, MoonRuinsStructure::new)); diff --git a/src/main/java/dev/galacticraft/mod/world/gen/surfacebuilder/BiomeTagRule.java b/src/main/java/dev/galacticraft/mod/world/gen/surfacerule/BiomeTagRule.java similarity index 82% rename from src/main/java/dev/galacticraft/mod/world/gen/surfacebuilder/BiomeTagRule.java rename to src/main/java/dev/galacticraft/mod/world/gen/surfacerule/BiomeTagRule.java index d63825eee7..6ada517e7d 100644 --- a/src/main/java/dev/galacticraft/mod/world/gen/surfacebuilder/BiomeTagRule.java +++ b/src/main/java/dev/galacticraft/mod/world/gen/surfacerule/BiomeTagRule.java @@ -20,9 +20,9 @@ * SOFTWARE. */ -package dev.galacticraft.mod.world.gen.surfacebuilder; +package dev.galacticraft.mod.world.gen.surfacerule; -import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import net.minecraft.core.registries.Registries; import net.minecraft.tags.TagKey; @@ -32,20 +32,16 @@ import org.jetbrains.annotations.NotNull; public record BiomeTagRule(@NotNull TagKey tag) implements SurfaceRules.ConditionSource { - private static final Codec CODEC; - - static { - CODEC = RecordCodecBuilder.create(instance -> instance.group(TagKey.codec(Registries.BIOME).fieldOf("tag").forGetter(rule -> rule.tag)).apply(instance, BiomeTagRule::new)); - } + private static final MapCodec CODEC = RecordCodecBuilder.mapCodec(instance -> instance.group(TagKey.codec(Registries.BIOME).fieldOf("tag").forGetter(rule -> rule.tag)).apply(instance, BiomeTagRule::new)); @Override public KeyDispatchDataCodec codec() { - return KeyDispatchDataCodec.of(CODEC); + return KeyDispatchDataCodec.of(BiomeTagRule.CODEC); } @Override public SurfaceRules.Condition apply(SurfaceRules.Context context) { - return new Predicate(context); + return null; } private class Predicate extends SurfaceRules.LazyYCondition { diff --git a/src/main/java/dev/galacticraft/mod/world/gen/surfacebuilder/MoonSurfaceRules.java b/src/main/java/dev/galacticraft/mod/world/gen/surfacerule/MoonSurfaceRules.java similarity index 97% rename from src/main/java/dev/galacticraft/mod/world/gen/surfacebuilder/MoonSurfaceRules.java rename to src/main/java/dev/galacticraft/mod/world/gen/surfacerule/MoonSurfaceRules.java index 038b7bf0e0..ef7eed49d0 100644 --- a/src/main/java/dev/galacticraft/mod/world/gen/surfacebuilder/MoonSurfaceRules.java +++ b/src/main/java/dev/galacticraft/mod/world/gen/surfacerule/MoonSurfaceRules.java @@ -20,9 +20,9 @@ * SOFTWARE. */ -package dev.galacticraft.mod.world.gen.surfacebuilder; +package dev.galacticraft.mod.world.gen.surfacerule; -import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import dev.galacticraft.mod.Constant; import dev.galacticraft.mod.content.GCBlocks; import dev.galacticraft.mod.world.biome.GCBiomes; @@ -111,6 +111,6 @@ public class MoonSurfaceRules { } public static void register() { - Registry.register(BuiltInRegistries.MATERIAL_RULE, Constant.id("moon"), Codec.unit(MOON)); + Registry.register(BuiltInRegistries.MATERIAL_RULE, Constant.id("moon"), MapCodec.unit(MOON)); } } diff --git a/src/main/java/dev/galacticraft/mod/world/gen/surfacebuilder/VenusSurfaceRules.java b/src/main/java/dev/galacticraft/mod/world/gen/surfacerule/VenusSurfaceRules.java similarity index 97% rename from src/main/java/dev/galacticraft/mod/world/gen/surfacebuilder/VenusSurfaceRules.java rename to src/main/java/dev/galacticraft/mod/world/gen/surfacerule/VenusSurfaceRules.java index 5be9a62d0f..b912b4b69f 100644 --- a/src/main/java/dev/galacticraft/mod/world/gen/surfacebuilder/VenusSurfaceRules.java +++ b/src/main/java/dev/galacticraft/mod/world/gen/surfacerule/VenusSurfaceRules.java @@ -20,7 +20,7 @@ * SOFTWARE. */ -package dev.galacticraft.mod.world.gen.surfacebuilder; +package dev.galacticraft.mod.world.gen.surfacerule; import dev.galacticraft.mod.content.GCBlocks; import dev.galacticraft.mod.world.biome.GCBiomes; diff --git a/src/main/java/dev/galacticraft/mod/world/inventory/GearInventory.java b/src/main/java/dev/galacticraft/mod/world/inventory/GearInventory.java index 12c4008dfe..8209623ae4 100644 --- a/src/main/java/dev/galacticraft/mod/world/inventory/GearInventory.java +++ b/src/main/java/dev/galacticraft/mod/world/inventory/GearInventory.java @@ -22,46 +22,46 @@ package dev.galacticraft.mod.world.inventory; +import net.minecraft.core.HolderLookup; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.ListTag; import net.minecraft.world.SimpleContainer; import net.minecraft.world.item.ItemStack; +import org.jetbrains.annotations.NotNull; /** * Vanilla copy of {@link net.minecraft.world.inventory.PlayerEnderChestContainer} save methods */ public class GearInventory extends SimpleContainer { - public GearInventory() { super(12); } @Override - public void fromTag(ListTag listTag) { - for(int i = 0; i < this.getContainerSize(); ++i) { + public void fromTag(ListTag list, HolderLookup.Provider lookup) { + for (int i = 0; i < this.getContainerSize(); i++) { this.setItem(i, ItemStack.EMPTY); } - for(int i = 0; i < listTag.size(); ++i) { - CompoundTag compoundTag = listTag.getCompound(i); - int j = compoundTag.getByte("Slot") & 255; - if (j >= 0 && j < this.getContainerSize()) { - this.setItem(j, ItemStack.of(compoundTag)); + for (int i = 0; i < list.size(); i++) { + CompoundTag tag = list.getCompound(i); + int j = tag.getByte("Slot") & 255; + if (j < this.getContainerSize()) { + this.setItem(j, ItemStack.parse(lookup, tag).orElse(ItemStack.EMPTY)); } } } @Override - public ListTag createTag() { + public @NotNull ListTag createTag(HolderLookup.Provider lookup) { ListTag listTag = new ListTag(); - for(int i = 0; i < this.getContainerSize(); ++i) { - ItemStack itemStack = this.getItem(i); - if (!itemStack.isEmpty()) { + for (int i = 0; i < this.getContainerSize(); i++) { + ItemStack stack = this.getItem(i); + if (!stack.isEmpty()) { CompoundTag compoundTag = new CompoundTag(); compoundTag.putByte("Slot", (byte)i); - itemStack.save(compoundTag); - listTag.add(compoundTag); + listTag.add(stack.save(lookup, compoundTag)); } } diff --git a/src/main/resources/assets/galacticraft/shaders/core/rendertype_bubble.fsh b/src/main/resources/assets/galacticraft/shaders/core/rendertype_bubble.fsh new file mode 100644 index 0000000000..69861f0b72 --- /dev/null +++ b/src/main/resources/assets/galacticraft/shaders/core/rendertype_bubble.fsh @@ -0,0 +1,40 @@ +#version 150 + +#moj_import + +uniform sampler2D Sampler0; + +uniform vec2 ScreenSize; +uniform vec4 ColorModulator; +uniform float FogStart; +uniform float FogEnd; + +in float vertexDistance; +in vec4 vertexColor; +in vec4 overlayColor; +in vec2 texCoord0; +in vec4 normal; +in vec3 normal2; +in vec3 viewDir; + +out vec4 fragColor; + +void main() { + // - Rim lighting - + vec3 viewAngle = normalize(-viewDir); + + // The more orthogonal the camera is to the fragment, the stronger the rim light. + // abs() so that the back faces get treated the same as the front, giving a rim effect. + float rimStrength = 1 - abs(dot(viewAngle, normal2)); // The more orthogonal, the stronger + + float rimFactor = pow(rimStrength, 6); // higher power = sharper rim light + vec4 rim = vec4(rimFactor); + + vec4 color = texture(Sampler0, texCoord0); + if (color.a < 0.1) { + discard; + } + color *= vertexColor * ColorModulator; + color.rgb = mix(overlayColor.rgb, color.rgb, overlayColor.a); + fragColor = color + rim * linear_fog_fade(vertexDistance, FogStart, FogEnd); +} diff --git a/src/main/resources/assets/galacticraft/shaders/core/rendertype_bubble.json b/src/main/resources/assets/galacticraft/shaders/core/rendertype_bubble.json new file mode 100644 index 0000000000..3ec0af9255 --- /dev/null +++ b/src/main/resources/assets/galacticraft/shaders/core/rendertype_bubble.json @@ -0,0 +1,32 @@ +{ + "blend": { + "func": "add", + "srcrgb": "srcalpha", + "dstrgb": "1-srcalpha" + }, + "vertex": "galacticraft:rendertype_bubble", + "fragment": "galacticraft:rendertype_bubble", + "attributes": [ + "Position", + "Color", + "UV0", + "UV1", + "UV2", + "Normal" + ], + "samplers": [ + { "name": "Sampler0" }, + { "name": "Sampler1" }, + { "name": "Sampler2" } + ], + "uniforms": [ + { "name": "ModelViewMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] }, + { "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] }, + { "name": "ScreenSize", "type": "float", "count": 2, "values": [ 1.0, 1.0 ] }, + { "name": "ColorModulator", "type": "float", "count": 4, "values": [ 1.0, 1.0, 1.0, 1.0 ] }, + { "name": "Light0_Direction", "type": "float", "count": 3, "values": [0.0, 0.0, 0.0] }, + { "name": "Light1_Direction", "type": "float", "count": 3, "values": [0.0, 0.0, 0.0] }, + { "name": "FogStart", "type": "float", "count": 1, "values": [ 0.0 ] }, + { "name": "FogEnd", "type": "float", "count": 1, "values": [ 1.0 ] } + ] +} diff --git a/src/main/resources/assets/galacticraft/shaders/core/rendertype_bubble.vsh b/src/main/resources/assets/galacticraft/shaders/core/rendertype_bubble.vsh new file mode 100644 index 0000000000..4c923f2ab6 --- /dev/null +++ b/src/main/resources/assets/galacticraft/shaders/core/rendertype_bubble.vsh @@ -0,0 +1,40 @@ +#version 150 + +#moj_import + +in vec3 Position; +in vec4 Color; +in vec2 UV0; +in ivec2 UV1; +in ivec2 UV2; +in vec3 Normal; + +uniform sampler2D Sampler1; +uniform sampler2D Sampler2; + +uniform mat4 ModelViewMat; +uniform mat4 ProjMat; + +uniform vec3 Light0_Direction; +uniform vec3 Light1_Direction; + +out float vertexDistance; +out vec4 vertexColor; +out vec4 overlayColor; +out vec2 texCoord0; +out vec4 normal; +out vec3 normal2; +out vec3 viewDir; + +void main() { + vec4 viewSpace = ModelViewMat * vec4(Position, 1.0); + viewDir = vec3(viewSpace); + normal2 = Normal; + gl_Position = ProjMat * viewSpace; + + vertexDistance = length((ModelViewMat * vec4(Position, 1.0)).xyz); + vertexColor = minecraft_mix_light(Light0_Direction, Light1_Direction, Normal, Color); + overlayColor = texelFetch(Sampler1, UV1, 0); + texCoord0 = UV0; + normal = ProjMat * ModelViewMat * vec4(Normal, 0.0); +} diff --git a/src/main/resources/assets/galacticraft/textures/block/chiseled_moon_rock_brick.png b/src/main/resources/assets/galacticraft/textures/block/chiseled_moon_rock_brick.png index e8e2a97511..cc287768e3 100644 Binary files a/src/main/resources/assets/galacticraft/textures/block/chiseled_moon_rock_brick.png and b/src/main/resources/assets/galacticraft/textures/block/chiseled_moon_rock_brick.png differ diff --git a/src/main/resources/assets/galacticraft/textures/block/cracked_moon_rock_brick.png b/src/main/resources/assets/galacticraft/textures/block/cracked_moon_rock_brick.png new file mode 100644 index 0000000000..1f828bb7a8 Binary files /dev/null and b/src/main/resources/assets/galacticraft/textures/block/cracked_moon_rock_brick.png differ diff --git a/src/main/resources/assets/galacticraft/textures/block/moon_basalt.png b/src/main/resources/assets/galacticraft/textures/block/moon_basalt.png index 534b573f25..66f3fea4e1 100644 Binary files a/src/main/resources/assets/galacticraft/textures/block/moon_basalt.png and b/src/main/resources/assets/galacticraft/textures/block/moon_basalt.png differ diff --git a/src/main/resources/assets/galacticraft/textures/block/moon_rock.png b/src/main/resources/assets/galacticraft/textures/block/moon_rock.png index 13ca4673f2..c08d72f6ee 100644 Binary files a/src/main/resources/assets/galacticraft/textures/block/moon_rock.png and b/src/main/resources/assets/galacticraft/textures/block/moon_rock.png differ diff --git a/src/main/resources/assets/galacticraft/textures/block/moon_rock_brick.png b/src/main/resources/assets/galacticraft/textures/block/moon_rock_brick.png index 068c26b1ce..7791cad7d4 100644 Binary files a/src/main/resources/assets/galacticraft/textures/block/moon_rock_brick.png and b/src/main/resources/assets/galacticraft/textures/block/moon_rock_brick.png differ diff --git a/src/main/resources/assets/galacticraft/textures/block/moon_rock_pillar_side.png b/src/main/resources/assets/galacticraft/textures/block/moon_rock_pillar_side.png new file mode 100644 index 0000000000..5b838954bd Binary files /dev/null and b/src/main/resources/assets/galacticraft/textures/block/moon_rock_pillar_side.png differ diff --git a/src/main/resources/assets/galacticraft/textures/block/moon_rock_pillar_top.png b/src/main/resources/assets/galacticraft/textures/block/moon_rock_pillar_top.png new file mode 100644 index 0000000000..08900fb1ad Binary files /dev/null and b/src/main/resources/assets/galacticraft/textures/block/moon_rock_pillar_top.png differ diff --git a/src/main/resources/assets/galacticraft/textures/block/olivine_basalt.png b/src/main/resources/assets/galacticraft/textures/block/olivine_basalt.png new file mode 100644 index 0000000000..b165e9454b Binary files /dev/null and b/src/main/resources/assets/galacticraft/textures/block/olivine_basalt.png differ diff --git a/src/main/resources/assets/galacticraft/textures/block/olivine_block_side.png b/src/main/resources/assets/galacticraft/textures/block/olivine_block_side.png new file mode 100644 index 0000000000..9f7b2cb26e Binary files /dev/null and b/src/main/resources/assets/galacticraft/textures/block/olivine_block_side.png differ diff --git a/src/main/resources/assets/galacticraft/textures/block/olivine_cluster_horizontal.png b/src/main/resources/assets/galacticraft/textures/block/olivine_cluster_horizontal.png new file mode 100644 index 0000000000..abcff314e3 Binary files /dev/null and b/src/main/resources/assets/galacticraft/textures/block/olivine_cluster_horizontal.png differ diff --git a/src/main/resources/assets/galacticraft/textures/block/olivine_cluster_vertical.png b/src/main/resources/assets/galacticraft/textures/block/olivine_cluster_vertical.png new file mode 100644 index 0000000000..f93a1960ed Binary files /dev/null and b/src/main/resources/assets/galacticraft/textures/block/olivine_cluster_vertical.png differ diff --git a/src/main/resources/assets/galacticraft/textures/block/polished_moon_rock.png b/src/main/resources/assets/galacticraft/textures/block/polished_moon_rock.png new file mode 100644 index 0000000000..3c7a3223bf Binary files /dev/null and b/src/main/resources/assets/galacticraft/textures/block/polished_moon_rock.png differ diff --git a/src/main/resources/assets/galacticraft/textures/block/rich_olivine_basalt.png b/src/main/resources/assets/galacticraft/textures/block/rich_olivine_basalt.png new file mode 100644 index 0000000000..1b09dc73d4 Binary files /dev/null and b/src/main/resources/assets/galacticraft/textures/block/rich_olivine_basalt.png differ diff --git a/src/main/resources/assets/galacticraft/textures/item/olivine_shard.png b/src/main/resources/assets/galacticraft/textures/item/olivine_shard.png new file mode 100644 index 0000000000..751a6b60ec Binary files /dev/null and b/src/main/resources/assets/galacticraft/textures/item/olivine_shard.png differ diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index e5c6f4b7df..55d3d4335c 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -161,6 +161,7 @@ "dev/galacticraft/mod/accessor/CryogenicAccessor" ], "net/minecraft/class_1937": [ + "dev/galacticraft/api/accessor/LevelBodyAccessor", "dev/galacticraft/api/accessor/LevelOxygenAccessor", "dev/galacticraft/mod/accessor/LevelAccessor" ], @@ -169,7 +170,7 @@ } }, "depends": { - "minecraft": ">=1.20.4", + "minecraft": ">=1.21", "fabricloader": ">=0.15.3" }, "suggests": { diff --git a/src/main/resources/galacticraft-api.mixins.json b/src/main/resources/galacticraft-api.mixins.json index e7cd42a520..a0113348cd 100644 --- a/src/main/resources/galacticraft-api.mixins.json +++ b/src/main/resources/galacticraft-api.mixins.json @@ -1,16 +1,15 @@ { "required": true, "package": "dev.galacticraft.impl.internal.mixin", - "compatibilityLevel": "JAVA_17", + "compatibilityLevel": "JAVA_21", "mixins": [ + "LevelCelestialBodyMixin", "LevelTimeAccessMixin", "MinecraftServerMixin", "gear.LivingEntityMixin", "gear.PlayerListMixin", "gear.ServerPlayerMixin", - "gravity.ArrowGravityMixin", "gravity.EntityGravityMixin", - "gravity.LivingEntityMixin", "oxygen.ChunkHolderMixin", "oxygen.ChunkSerializerMixin", "oxygen.EmptyLevelChunkMixin", @@ -19,8 +18,6 @@ "oxygen.LevelChunkSectionMixin", "oxygen.LevelMixin", "oxygen.ProtoChunkMixin", - "registry.RegistryDataLoaderMixin", - "registry.RegistrySynchronizationMixin", "research.AdvancementRewardsMixin", "research.ServerPlayerMixin" ], diff --git a/src/main/resources/galacticraft.accesswidener b/src/main/resources/galacticraft.accesswidener index 089429b6fc..0978836513 100644 --- a/src/main/resources/galacticraft.accesswidener +++ b/src/main/resources/galacticraft.accesswidener @@ -1,53 +1,32 @@ accessWidener v1 named # constructors -accessible method net/minecraft/client/particle/DripParticle$DripHangParticle (Lnet/minecraft/client/multiplayer/ClientLevel;DDDLnet/minecraft/world/level/material/Fluid;Lnet/minecraft/core/particles/ParticleOptions;)V -accessible method net/minecraft/client/particle/DripParticle$FallingParticle (Lnet/minecraft/client/multiplayer/ClientLevel;DDDLnet/minecraft/world/level/material/Fluid;)V -accessible method net/minecraft/client/resources/model/SimpleBakedModel$Builder (ZZZLnet/minecraft/client/renderer/block/model/ItemTransforms;Lnet/minecraft/client/renderer/block/model/ItemOverrides;)V -accessible method net/minecraft/client/renderer/block/model/ItemOverrides ()V -accessible method net/minecraft/world/level/block/StairBlock (Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V -accessible method net/minecraft/world/item/AxeItem (Lnet/minecraft/world/item/Tier;FFLnet/minecraft/world/item/Item$Properties;)V -accessible method net/minecraft/world/item/HoeItem (Lnet/minecraft/world/item/Tier;IFLnet/minecraft/world/item/Item$Properties;)V -accessible method net/minecraft/world/item/PickaxeItem (Lnet/minecraft/world/item/Tier;IFLnet/minecraft/world/item/Item$Properties;)V -accessible method net/minecraft/world/level/levelgen/structure/pools/LegacySinglePoolElement (Lcom/mojang/datafixers/util/Either;Lnet/minecraft/core/Holder;Lnet/minecraft/world/level/levelgen/structure/pools/StructureTemplatePool$Projection;)V +accessible method net/minecraft/client/particle/DripParticle$DripHangParticle (Lnet/minecraft/client/multiplayer/ClientLevel;DDDLnet/minecraft/world/level/material/Fluid;Lnet/minecraft/core/particles/ParticleOptions;)V +accessible method net/minecraft/client/particle/DripParticle$FallingParticle (Lnet/minecraft/client/multiplayer/ClientLevel;DDDLnet/minecraft/world/level/material/Fluid;)V # private classes -accessible class net/minecraft/world/level/biome/MultiNoiseBiomeSourceParameterList$Preset$SourceProvider -accessible class net/minecraft/world/level/levelgen/SurfaceRules$Condition -accessible class net/minecraft/world/level/levelgen/SurfaceRules$LazyYCondition -accessible class net/minecraft/world/level/levelgen/SurfaceRules$Context -accessible class net/minecraft/data/models/BlockModelGenerators$BlockStateGeneratorSupplier -accessible class net/minecraft/client/resources/model/ModelManager$ReloadState -accessible class net/minecraft/core/registries/BuiltInRegistries$RegistryBootstrap -accessible class net/minecraft/core/RegistrySynchronization$NetworkedRegistryData +accessible class net/minecraft/data/models/BlockModelGenerators$BlockStateGeneratorSupplier +accessible class net/minecraft/world/level/levelgen/SurfaceRules$Condition +accessible class net/minecraft/world/level/levelgen/SurfaceRules$LazyYCondition +accessible class net/minecraft/world/level/levelgen/SurfaceRules$Context +accessible class net/minecraft/world/level/biome/MultiNoiseBiomeSourceParameterList$Preset$SourceProvider # fields in final classes -accessible field net/minecraft/world/level/levelgen/SurfaceRules$Context biome Ljava/util/function/Supplier; +accessible field net/minecraft/world/level/levelgen/SurfaceRules$Context biome Ljava/util/function/Supplier; # final classes extendable class net/minecraft/world/SimpleMenuProvider # static methods -accessible method net/minecraft/world/level/levelgen/NoiseRouterData overworld (Lnet/minecraft/core/HolderGetter;Lnet/minecraft/core/HolderGetter;ZZ)Lnet/minecraft/world/level/levelgen/NoiseRouter; -accessible method net/minecraft/world/level/block/ChestBlock isCatSittingOnChest (Lnet/minecraft/world/level/LevelAccessor;Lnet/minecraft/core/BlockPos;)Z -accessible method net/minecraft/data/models/model/ModelTemplates createItem (Ljava/lang/String;[Lnet/minecraft/data/models/model/TextureSlot;)Lnet/minecraft/data/models/model/ModelTemplate; -accessible method net/minecraft/data/loot/BlockLootSubProvider createSilkTouchOnlyTable (Lnet/minecraft/world/level/ItemLike;)Lnet/minecraft/world/level/storage/loot/LootTable$Builder; -accessible method net/minecraft/data/worldgen/Structures structure (Lnet/minecraft/core/HolderSet;Lnet/minecraft/world/level/levelgen/structure/TerrainAdjustment;)Lnet/minecraft/world/level/levelgen/structure/Structure$StructureSettings; -accessible method net/minecraft/stats/Stats makeCustomStat (Ljava/lang/String;Lnet/minecraft/stats/StatFormatter;)Lnet/minecraft/resources/ResourceLocation; -accessible method net/minecraft/world/level/storage/loot/BuiltInLootTables register (Lnet/minecraft/resources/ResourceLocation;)Lnet/minecraft/resources/ResourceLocation; - -# private fields -accessible field net/minecraft/client/resources/model/ModelManager bakedRegistry Ljava/util/Map; -accessible field net/minecraft/data/worldgen/ProcessorLists EMPTY Lnet/minecraft/resources/ResourceKey; -accessible field net/minecraft/world/level/block/DispenserBlock DISPENSER_REGISTRY Ljava/util/Map; -accessible field net/minecraft/client/renderer/LevelRenderer ticks I +accessible method net/minecraft/data/models/model/ModelTemplates createItem (Ljava/lang/String;[Lnet/minecraft/data/models/model/TextureSlot;)Lnet/minecraft/data/models/model/ModelTemplate; +accessible method net/minecraft/world/level/storage/loot/BuiltInLootTables register (Lnet/minecraft/resources/ResourceKey;)Lnet/minecraft/resources/ResourceKey; +accessible method net/minecraft/stats/Stats makeCustomStat (Ljava/lang/String;Lnet/minecraft/stats/StatFormatter;)Lnet/minecraft/resources/ResourceLocation; # private final fields accessible field net/minecraft/data/models/BlockModelGenerators texturedModels Ljava/util/Map; -mutable field net/minecraft/data/models/BlockModelGenerators texturedModels Ljava/util/Map; +mutable field net/minecraft/data/models/BlockModelGenerators texturedModels Ljava/util/Map; accessible field net/minecraft/data/models/BlockModelGenerators fullBlockModelCustomGenerators Ljava/util/Map; -mutable field net/minecraft/data/models/BlockModelGenerators fullBlockModelCustomGenerators Ljava/util/Map; -accessible field net/minecraft/client/renderer/block/model/BlockModel textureMap Ljava/util/Map; +mutable field net/minecraft/data/models/BlockModelGenerators fullBlockModelCustomGenerators Ljava/util/Map; # private static fields accessible field net/minecraft/data/loot/EntityLootSubProvider SPECIAL_LOOT_TABLE_TYPES Ljava/util/Set; @@ -60,5 +39,5 @@ accessible field net/minecraft/client/particle/Particle MAXIMUM_COLLISION_VELOCI accessible field net/minecraft/client/renderer/LevelRenderer RAIN_RADIUS I accessible field net/minecraft/client/renderer/LevelRenderer RAIN_DIAMETER I -# private methods -extendable method net/minecraft/world/entity/LivingEntity setPosToBed (Lnet/minecraft/core/BlockPos;)V \ No newline at end of file +# private fields +accessible field net/minecraft/client/renderer/LevelRenderer ticks I diff --git a/src/main/resources/galacticraft.mixins.json b/src/main/resources/galacticraft.mixins.json index d9ecfe67e4..fc983b3213 100644 --- a/src/main/resources/galacticraft.mixins.json +++ b/src/main/resources/galacticraft.mixins.json @@ -2,14 +2,13 @@ "required": true, "package": "dev.galacticraft.mod.mixin", "plugin": "dev.galacticraft.mod.GalacticraftMixinPlugin", - "compatibilityLevel": "JAVA_17", + "compatibilityLevel": "JAVA_21", "mixins": [ "AbstractContainerMenuAccessor", "AbstractSkeletonEntityAccessor", "BlockBehaviourMixin", "BucketItemAccessor", "BucketItemMixin", - "BuiltInLootTablesAccessor", "DimensionTypeMixin", "EntityMixin", "FlowingFluidMixin", diff --git a/src/main/resources/waila_plugins.json b/src/main/resources/waila_plugins.json index f8c69b9eea..b60143106b 100644 --- a/src/main/resources/waila_plugins.json +++ b/src/main/resources/waila_plugins.json @@ -1,6 +1,6 @@ { "galacticraft:plugin": { - "initializer": "dev.galacticraft.mod.compat.waila.GalacticraftWailaPlugin", + "initializer": "dev.galacticraft.mod.compat.GalacticraftWailaPlugin", "side": "*" } } \ No newline at end of file diff --git a/src/test/java/dev/galacticraft/mod/gametest/ConfigTestSuite.java b/src/test/java/dev/galacticraft/mod/gametest/ConfigTestSuite.java index 03aa22a093..22f7343abc 100644 --- a/src/test/java/dev/galacticraft/mod/gametest/ConfigTestSuite.java +++ b/src/test/java/dev/galacticraft/mod/gametest/ConfigTestSuite.java @@ -49,11 +49,13 @@ public void create() { @BasicTest(batch = "config") public void load() { - writeConfig(""" + writeConfig( + """ { "debug_log": true } - """); + """ + ); ConfigImpl config = new ConfigImpl(CONFIG_FILE); assertTrue(config.isDebugLogEnabled()); diff --git a/src/test/java/dev/galacticraft/mod/gametest/GratingTestSuite.java b/src/test/java/dev/galacticraft/mod/gametest/GratingTestSuite.java index 60ec50a92b..79c7613c44 100644 --- a/src/test/java/dev/galacticraft/mod/gametest/GratingTestSuite.java +++ b/src/test/java/dev/galacticraft/mod/gametest/GratingTestSuite.java @@ -53,8 +53,7 @@ public void gratingFlowingWaterTest(GameTestHelper context) { if (!context.getBlockState(pos2).getFluidState().isEmpty()) { context.fail(String.format("Expected grating to not be filled with fluid but found %s instead!", BuiltInRegistries.FLUID.getKey(context.getBlockState(pos2).getFluidState().getType())), pos2); - } - else { + } else { for (var x = -1; x < 2; x++) { for (var z = -1; z < 2; z++) { if (mutable.set(xz + x, 4, xz + z).equals(pos4)) { @@ -67,23 +66,18 @@ public void gratingFlowingWaterTest(GameTestHelper context) { context.runAtTickTime(context.getTick() + 40L, () -> { if (!context.getBlockState(pos3).getFluidState().is(FluidTags.WATER)) { context.fail(String.format("Expected water to flow downward but found %s instead!", BuiltInRegistries.FLUID.getKey(context.getBlockState(pos3).getFluidState().getType())), pos3); - } - else if (!context.getBlockState(pos2).getFluidState().is(FluidTags.WATER)) { + } else if (!context.getBlockState(pos2).getFluidState().is(FluidTags.WATER)) { context.fail(String.format("Expected grating to be filled with water but found %s instead!", BuiltInRegistries.FLUID.getKey(context.getBlockState(pos2).getFluidState().getType())), pos2); - } - else if (!context.getBlockState(pos1).getFluidState().is(FluidTags.WATER)) { + } else if (!context.getBlockState(pos1).getFluidState().is(FluidTags.WATER)) { context.fail(String.format("Expected water to be found below grating but found %s instead!", BuiltInRegistries.FLUID.getKey(context.getBlockState(pos1).getFluidState().getType())), pos1); - } - else { + } else { context.setBlock(pos4, Blocks.AIR); context.runAtTickTime(context.getTick() + 50L, () -> context.succeedWhen(() -> { if (!context.getBlockState(pos3).getFluidState().isEmpty()) { context.fail(String.format("Expected water to drain itself but found %s instead!", BuiltInRegistries.FLUID.getKey(context.getBlockState(pos3).getFluidState().getType())), pos3); - } - else if (!context.getBlockState(pos2).getFluidState().isEmpty()) { + } else if (!context.getBlockState(pos2).getFluidState().isEmpty()) { context.fail(String.format("Expected grating to not be filled with fluid but found %s instead!", BuiltInRegistries.FLUID.getKey(context.getBlockState(pos2).getFluidState().getType())), pos2); - } - else if (!context.getBlockState(pos1).getFluidState().isEmpty()) { + } else if (!context.getBlockState(pos1).getFluidState().isEmpty()) { context.fail(String.format("Expected no fluid to be found below grating but found %s instead!", BuiltInRegistries.FLUID.getKey(context.getBlockState(pos1).getFluidState().getType())), pos1); } })); @@ -115,8 +109,7 @@ public void gratingFlowingWaterWithFallingStateTest(GameTestHelper context) { if (z == 1) { context.setBlock(mutable, grating.setValue(FluidLoggable.FLUID, BuiltInRegistries.FLUID.getKey(Fluids.WATER))); gratingWaterPos = mutable.immutable(); - } - else { + } else { context.setBlock(mutable, grating); } } @@ -148,7 +141,8 @@ public void dispenserDispenseFluidToGrating(GameTestHelper context) { var blockEntity = context.getBlockEntity(pos1); if (blockEntity instanceof DispenserBlockEntity dispenserBlockEntity) { - dispenserBlockEntity.addItem(new ItemStack(Items.WATER_BUCKET)); + dispenserBlockEntity.setItem(0, new ItemStack(Items.WATER_BUCKET)); + dispenserBlockEntity.setChanged(); } context.runAtTickTime(context.getTick() + 10L, () -> context.setBlock(pos2, Blocks.REDSTONE_BLOCK.defaultBlockState())); @@ -194,7 +188,8 @@ public void dispenserPickupFluidFromGrating(GameTestHelper context) { var blockEntity = context.getBlockEntity(pos1); if (blockEntity instanceof DispenserBlockEntity dispenserBlockEntity) { - dispenserBlockEntity.addItem(new ItemStack(Items.BUCKET)); + dispenserBlockEntity.setItem(0, new ItemStack(Items.BUCKET)); + dispenserBlockEntity.setChanged(); } context.runAtTickTime(context.getTick() + 10L, () -> context.setBlock(pos2, Blocks.REDSTONE_BLOCK.defaultBlockState())); diff --git a/src/test/java/dev/galacticraft/mod/gametest/machine/AdvancedSolarPanelTestSuite.java b/src/test/java/dev/galacticraft/mod/gametest/machine/AdvancedSolarPanelTestSuite.java index b00f727e94..29e392f723 100644 --- a/src/test/java/dev/galacticraft/mod/gametest/machine/AdvancedSolarPanelTestSuite.java +++ b/src/test/java/dev/galacticraft/mod/gametest/machine/AdvancedSolarPanelTestSuite.java @@ -24,7 +24,7 @@ import dev.galacticraft.machinelib.api.gametest.MachineGameTest; import dev.galacticraft.machinelib.api.gametest.annotation.TestSuite; -import dev.galacticraft.mod.content.GCMachineTypes; +import dev.galacticraft.mod.content.GCBlocks; import dev.galacticraft.mod.content.block.entity.machine.AdvancedSolarPanelBlockEntity; import dev.galacticraft.mod.content.item.GCItems; import net.minecraft.gametest.framework.GameTestGenerator; @@ -36,7 +36,7 @@ @TestSuite("advanced_solar_panel") public final class AdvancedSolarPanelTestSuite extends MachineGameTest { public AdvancedSolarPanelTestSuite() { - super(GCMachineTypes.ADVANCED_SOLAR_PANEL); + super(GCBlocks.ADVANCED_SOLAR_PANEL); } @Override diff --git a/src/test/java/dev/galacticraft/mod/gametest/machine/BasicSolarPanelTestSuite.java b/src/test/java/dev/galacticraft/mod/gametest/machine/BasicSolarPanelTestSuite.java index 18864a2994..6c88af1a58 100644 --- a/src/test/java/dev/galacticraft/mod/gametest/machine/BasicSolarPanelTestSuite.java +++ b/src/test/java/dev/galacticraft/mod/gametest/machine/BasicSolarPanelTestSuite.java @@ -24,7 +24,7 @@ import dev.galacticraft.machinelib.api.gametest.MachineGameTest; import dev.galacticraft.machinelib.api.gametest.annotation.TestSuite; -import dev.galacticraft.mod.content.GCMachineTypes; +import dev.galacticraft.mod.content.GCBlocks; import dev.galacticraft.mod.content.block.entity.machine.BasicSolarPanelBlockEntity; import dev.galacticraft.mod.content.item.GCItems; import net.minecraft.gametest.framework.GameTestGenerator; @@ -36,7 +36,7 @@ @TestSuite("basic_solar_panel") public final class BasicSolarPanelTestSuite extends MachineGameTest { public BasicSolarPanelTestSuite() { - super(GCMachineTypes.BASIC_SOLAR_PANEL); + super(GCBlocks.BASIC_SOLAR_PANEL); } @Override diff --git a/src/test/java/dev/galacticraft/mod/gametest/machine/CircuitFabricatorTestSuite.java b/src/test/java/dev/galacticraft/mod/gametest/machine/CircuitFabricatorTestSuite.java index 1936b578e0..0534e0b00a 100644 --- a/src/test/java/dev/galacticraft/mod/gametest/machine/CircuitFabricatorTestSuite.java +++ b/src/test/java/dev/galacticraft/mod/gametest/machine/CircuitFabricatorTestSuite.java @@ -24,28 +24,28 @@ import dev.galacticraft.machinelib.api.gametest.RecipeGameTest; import dev.galacticraft.machinelib.api.gametest.annotation.TestSuite; -import dev.galacticraft.mod.content.GCMachineTypes; +import dev.galacticraft.mod.content.GCBlocks; import dev.galacticraft.mod.content.block.entity.machine.CircuitFabricatorBlockEntity; import dev.galacticraft.mod.content.item.GCItems; import dev.galacticraft.mod.recipe.FabricationRecipe; import net.minecraft.gametest.framework.GameTestGenerator; import net.minecraft.gametest.framework.TestFunction; -import net.minecraft.world.Container; import net.minecraft.world.item.Items; +import net.minecraft.world.item.crafting.RecipeInput; import org.jetbrains.annotations.NotNull; import java.util.List; @TestSuite("circuit_fabricator") -public final class CircuitFabricatorTestSuite extends RecipeGameTest { +public final class CircuitFabricatorTestSuite extends RecipeGameTest { public CircuitFabricatorTestSuite() { - super(GCMachineTypes.CIRCUIT_FABRICATOR, List.of( + super(GCBlocks.CIRCUIT_FABRICATOR, List.of( machine -> machine.energyStorage().setEnergy(Long.MAX_VALUE / 2), - machine -> machine.itemStorage().getSlot(CircuitFabricatorBlockEntity.DIAMOND_SLOT).set(Items.DIAMOND, 1), - machine -> machine.itemStorage().getSlot(CircuitFabricatorBlockEntity.REDSTONE_SLOT).set(Items.REDSTONE, 1), - machine -> machine.itemStorage().getSlot(CircuitFabricatorBlockEntity.SILICON_SLOT_1).set(GCItems.RAW_SILICON, 1), - machine -> machine.itemStorage().getSlot(CircuitFabricatorBlockEntity.SILICON_SLOT_2).set(GCItems.RAW_SILICON, 1), - machine -> machine.itemStorage().getSlot(CircuitFabricatorBlockEntity.INPUT_SLOT).set(Items.REDSTONE_TORCH, 1) + machine -> machine.itemStorage().slot(CircuitFabricatorBlockEntity.DIAMOND_SLOT).set(Items.DIAMOND, 1), + machine -> machine.itemStorage().slot(CircuitFabricatorBlockEntity.REDSTONE_SLOT).set(Items.REDSTONE, 1), + machine -> machine.itemStorage().slot(CircuitFabricatorBlockEntity.SILICON_SLOT_1).set(GCItems.RAW_SILICON, 1), + machine -> machine.itemStorage().slot(CircuitFabricatorBlockEntity.SILICON_SLOT_2).set(GCItems.RAW_SILICON, 1), + machine -> machine.itemStorage().slot(CircuitFabricatorBlockEntity.INPUT_SLOT).set(Items.REDSTONE_TORCH, 1) ), CircuitFabricatorBlockEntity.OUTPUT_SLOT, 300); } diff --git a/src/test/java/dev/galacticraft/mod/gametest/machine/CoalGeneratorTestSuite.java b/src/test/java/dev/galacticraft/mod/gametest/machine/CoalGeneratorTestSuite.java index 6784533092..01359accec 100644 --- a/src/test/java/dev/galacticraft/mod/gametest/machine/CoalGeneratorTestSuite.java +++ b/src/test/java/dev/galacticraft/mod/gametest/machine/CoalGeneratorTestSuite.java @@ -26,7 +26,7 @@ import dev.galacticraft.machinelib.api.gametest.annotation.MachineTest; import dev.galacticraft.machinelib.api.gametest.annotation.TestSuite; import dev.galacticraft.machinelib.api.storage.slot.ItemResourceSlot; -import dev.galacticraft.mod.content.GCMachineTypes; +import dev.galacticraft.mod.content.GCBlocks; import dev.galacticraft.mod.content.block.entity.machine.CoalGeneratorBlockEntity; import dev.galacticraft.mod.content.item.GCItems; import net.minecraft.gametest.framework.GameTestGenerator; @@ -40,19 +40,19 @@ @TestSuite("coal_generator") public final class CoalGeneratorTestSuite extends MachineGameTest { public CoalGeneratorTestSuite() { - super(GCMachineTypes.COAL_GENERATOR); + super(GCBlocks.COAL_GENERATOR); } @MachineTest public Runnable fuelBurning(CoalGeneratorBlockEntity machine) { - ItemResourceSlot slot = machine.itemStorage().getSlot(CoalGeneratorBlockEntity.INPUT_SLOT); + ItemResourceSlot slot = machine.itemStorage().slot(CoalGeneratorBlockEntity.INPUT_SLOT); slot.set(Items.COAL, 1); return () -> Assertions.assertTrue(slot.isEmpty(), "Failed to consume fuel"); } @MachineTest public Runnable fuelConsumption(CoalGeneratorBlockEntity machine) { - ItemResourceSlot slot = machine.itemStorage().getSlot(CoalGeneratorBlockEntity.INPUT_SLOT); + ItemResourceSlot slot = machine.itemStorage().slot(CoalGeneratorBlockEntity.INPUT_SLOT); slot.set(Items.COAL, 1); return () -> Assertions.assertNotEquals(0, machine.getFuelLength(), "Failed to burn fuel"); @@ -60,7 +60,7 @@ public Runnable fuelConsumption(CoalGeneratorBlockEntity machine) { @MachineTest(workTime = 320) public Runnable multipleFuelBurning(CoalGeneratorBlockEntity machine) { - ItemResourceSlot slot = machine.itemStorage().getSlot(CoalGeneratorBlockEntity.INPUT_SLOT); + ItemResourceSlot slot = machine.itemStorage().slot(CoalGeneratorBlockEntity.INPUT_SLOT); slot.set(Items.COAL, 2); return () -> Assertions.assertTrue(slot.isEmpty(), "Failed to consume two coals!"); diff --git a/src/test/java/dev/galacticraft/mod/gametest/machine/CompressorTestSuite.java b/src/test/java/dev/galacticraft/mod/gametest/machine/CompressorTestSuite.java index feabada9ba..582d8851cd 100644 --- a/src/test/java/dev/galacticraft/mod/gametest/machine/CompressorTestSuite.java +++ b/src/test/java/dev/galacticraft/mod/gametest/machine/CompressorTestSuite.java @@ -26,34 +26,34 @@ import dev.galacticraft.machinelib.api.gametest.annotation.MachineTest; import dev.galacticraft.machinelib.api.gametest.annotation.TestSuite; import dev.galacticraft.machinelib.api.storage.slot.ItemResourceSlot; -import dev.galacticraft.mod.content.GCMachineTypes; +import dev.galacticraft.mod.content.GCBlocks; import dev.galacticraft.mod.content.block.entity.machine.CompressorBlockEntity; import dev.galacticraft.mod.recipe.CompressingRecipe; import net.minecraft.gametest.framework.GameTestGenerator; import net.minecraft.gametest.framework.TestFunction; -import net.minecraft.world.inventory.CraftingContainer; import net.minecraft.world.item.Items; +import net.minecraft.world.item.crafting.CraftingInput; import org.jetbrains.annotations.NotNull; import org.junit.jupiter.api.Assertions; import java.util.List; @TestSuite("compressor") -public final class CompressorTestSuite extends RecipeGameTest { +public final class CompressorTestSuite extends RecipeGameTest { public CompressorTestSuite() { - super(GCMachineTypes.COMPRESSOR, List.of( + super(GCBlocks.COMPRESSOR, List.of( machine -> machine.fuelLength = machine.fuelTime = 5000, - machine -> machine.itemStorage().getSlot(CompressorBlockEntity.INPUT_SLOTS).set(Items.IRON_INGOT, 1), - machine -> machine.itemStorage().getSlot(CompressorBlockEntity.INPUT_SLOTS + 1).set(Items.IRON_INGOT, 1) + machine -> machine.itemStorage().slot(CompressorBlockEntity.INPUT_SLOTS).set(Items.IRON_INGOT, 1), + machine -> machine.itemStorage().slot(CompressorBlockEntity.INPUT_SLOTS + 1).set(Items.IRON_INGOT, 1) ), CompressorBlockEntity.OUTPUT_SLOT, 200); } @MachineTest public Runnable fuelConsumption(CompressorBlockEntity machine) { - ItemResourceSlot slot = machine.itemStorage().getSlot(CompressorBlockEntity.FUEL_SLOT); + ItemResourceSlot slot = machine.itemStorage().slot(CompressorBlockEntity.FUEL_SLOT); slot.set(Items.COAL, 1); - machine.itemStorage().getSlot(CompressorBlockEntity.INPUT_SLOTS).set(Items.IRON_INGOT, 1); - machine.itemStorage().getSlot(CompressorBlockEntity.INPUT_SLOTS + 1).set(Items.IRON_INGOT, 1); + machine.itemStorage().slot(CompressorBlockEntity.INPUT_SLOTS).set(Items.IRON_INGOT, 1); + machine.itemStorage().slot(CompressorBlockEntity.INPUT_SLOTS + 1).set(Items.IRON_INGOT, 1); return () -> { Assertions.assertTrue(slot.isEmpty(), "Failed to consume fuel"); Assertions.assertNotEquals(0, machine.getFuelLength(), "Failed to burn fuel"); diff --git a/src/test/java/dev/galacticraft/mod/gametest/machine/ElectricArcFurnaceTestSuite.java b/src/test/java/dev/galacticraft/mod/gametest/machine/ElectricArcFurnaceTestSuite.java index b56965ccfc..790d6e0daa 100644 --- a/src/test/java/dev/galacticraft/mod/gametest/machine/ElectricArcFurnaceTestSuite.java +++ b/src/test/java/dev/galacticraft/mod/gametest/machine/ElectricArcFurnaceTestSuite.java @@ -24,24 +24,24 @@ import dev.galacticraft.machinelib.api.gametest.RecipeGameTest; import dev.galacticraft.machinelib.api.gametest.annotation.TestSuite; -import dev.galacticraft.mod.content.GCMachineTypes; +import dev.galacticraft.mod.content.GCBlocks; import dev.galacticraft.mod.content.block.entity.machine.ElectricArcFurnaceBlockEntity; import dev.galacticraft.mod.content.item.GCItems; import net.minecraft.gametest.framework.GameTestGenerator; import net.minecraft.gametest.framework.TestFunction; -import net.minecraft.world.Container; import net.minecraft.world.item.Items; import net.minecraft.world.item.crafting.BlastingRecipe; +import net.minecraft.world.item.crafting.SingleRecipeInput; import org.jetbrains.annotations.NotNull; import java.util.List; @TestSuite("electric_arc_furnace") -public final class ElectricArcFurnaceTestSuite extends RecipeGameTest { +public final class ElectricArcFurnaceTestSuite extends RecipeGameTest { public ElectricArcFurnaceTestSuite() { - super(GCMachineTypes.ELECTRIC_ARC_FURNACE, List.of( + super(GCBlocks.ELECTRIC_ARC_FURNACE, List.of( machine -> machine.energyStorage().setEnergy(Long.MAX_VALUE / 2), - machine -> machine.itemStorage().getSlot(ElectricArcFurnaceBlockEntity.INPUT_SLOT).set(Items.RAW_IRON, 1) + machine -> machine.itemStorage().slot(ElectricArcFurnaceBlockEntity.INPUT_SLOT).set(Items.RAW_IRON, 1) ), ElectricArcFurnaceBlockEntity.OUTPUT_SLOTS, ElectricArcFurnaceBlockEntity.OUTPUT_LENGTH, 100); } diff --git a/src/test/java/dev/galacticraft/mod/gametest/machine/ElectricCompressorTestSuite.java b/src/test/java/dev/galacticraft/mod/gametest/machine/ElectricCompressorTestSuite.java index 197bd018e5..ebc474c2c6 100644 --- a/src/test/java/dev/galacticraft/mod/gametest/machine/ElectricCompressorTestSuite.java +++ b/src/test/java/dev/galacticraft/mod/gametest/machine/ElectricCompressorTestSuite.java @@ -24,25 +24,25 @@ import dev.galacticraft.machinelib.api.gametest.RecipeGameTest; import dev.galacticraft.machinelib.api.gametest.annotation.TestSuite; -import dev.galacticraft.mod.content.GCMachineTypes; +import dev.galacticraft.mod.content.GCBlocks; import dev.galacticraft.mod.content.block.entity.machine.ElectricCompressorBlockEntity; import dev.galacticraft.mod.content.item.GCItems; import dev.galacticraft.mod.recipe.CompressingRecipe; import net.minecraft.gametest.framework.GameTestGenerator; import net.minecraft.gametest.framework.TestFunction; -import net.minecraft.world.inventory.CraftingContainer; import net.minecraft.world.item.Items; +import net.minecraft.world.item.crafting.CraftingInput; import org.jetbrains.annotations.NotNull; import java.util.List; @TestSuite("electric_compressor") -public final class ElectricCompressorTestSuite extends RecipeGameTest { +public final class ElectricCompressorTestSuite extends RecipeGameTest { public ElectricCompressorTestSuite() { - super(GCMachineTypes.ELECTRIC_COMPRESSOR, List.of( + super(GCBlocks.ELECTRIC_COMPRESSOR, List.of( machine -> machine.energyStorage().setEnergy(Long.MAX_VALUE / 2), - machine -> machine.itemStorage().getSlot(ElectricCompressorBlockEntity.INPUT_SLOTS).set(Items.IRON_INGOT, 1), - machine -> machine.itemStorage().getSlot(ElectricCompressorBlockEntity.INPUT_SLOTS + 1).set(Items.IRON_INGOT, 1) + machine -> machine.itemStorage().slot(ElectricCompressorBlockEntity.INPUT_SLOTS).set(Items.IRON_INGOT, 1), + machine -> machine.itemStorage().slot(ElectricCompressorBlockEntity.INPUT_SLOTS + 1).set(Items.IRON_INGOT, 1) ), ElectricCompressorBlockEntity.OUTPUT_SLOTS, ElectricCompressorBlockEntity.OUTPUT_LENGTH, 200); } diff --git a/src/test/java/dev/galacticraft/mod/gametest/machine/ElectricFurnaceTestSuite.java b/src/test/java/dev/galacticraft/mod/gametest/machine/ElectricFurnaceTestSuite.java index 4d98e7dfb5..75e440b759 100644 --- a/src/test/java/dev/galacticraft/mod/gametest/machine/ElectricFurnaceTestSuite.java +++ b/src/test/java/dev/galacticraft/mod/gametest/machine/ElectricFurnaceTestSuite.java @@ -24,24 +24,24 @@ import dev.galacticraft.machinelib.api.gametest.RecipeGameTest; import dev.galacticraft.machinelib.api.gametest.annotation.TestSuite; -import dev.galacticraft.mod.content.GCMachineTypes; +import dev.galacticraft.mod.content.GCBlocks; import dev.galacticraft.mod.content.block.entity.machine.ElectricFurnaceBlockEntity; import dev.galacticraft.mod.content.item.GCItems; import net.minecraft.gametest.framework.GameTestGenerator; import net.minecraft.gametest.framework.TestFunction; -import net.minecraft.world.Container; import net.minecraft.world.item.Items; +import net.minecraft.world.item.crafting.SingleRecipeInput; import net.minecraft.world.item.crafting.SmeltingRecipe; import org.jetbrains.annotations.NotNull; import java.util.List; @TestSuite("electric_furnace") -public final class ElectricFurnaceTestSuite extends RecipeGameTest { +public final class ElectricFurnaceTestSuite extends RecipeGameTest { public ElectricFurnaceTestSuite() { - super(GCMachineTypes.ELECTRIC_FURNACE, List.of( + super(GCBlocks.ELECTRIC_FURNACE, List.of( machine -> machine.energyStorage().setEnergy(Long.MAX_VALUE / 2), - machine -> machine.itemStorage().getSlot(ElectricFurnaceBlockEntity.INPUT_SLOT).set(Items.PORKCHOP, 1) + machine -> machine.itemStorage().slot(ElectricFurnaceBlockEntity.INPUT_SLOT).set(Items.PORKCHOP, 1) ), ElectricFurnaceBlockEntity.OUTPUT_SLOT, 200); } diff --git a/src/test/java/dev/galacticraft/mod/gametest/machine/EnergyStorageModuleTestSuite.java b/src/test/java/dev/galacticraft/mod/gametest/machine/EnergyStorageModuleTestSuite.java index dc577d60db..61adbd0455 100644 --- a/src/test/java/dev/galacticraft/mod/gametest/machine/EnergyStorageModuleTestSuite.java +++ b/src/test/java/dev/galacticraft/mod/gametest/machine/EnergyStorageModuleTestSuite.java @@ -24,7 +24,7 @@ import dev.galacticraft.machinelib.api.gametest.MachineGameTest; import dev.galacticraft.machinelib.api.gametest.annotation.TestSuite; -import dev.galacticraft.mod.content.GCMachineTypes; +import dev.galacticraft.mod.content.GCBlocks; import dev.galacticraft.mod.content.block.entity.machine.EnergyStorageModuleBlockEntity; import dev.galacticraft.mod.content.item.GCItems; import net.minecraft.gametest.framework.GameTestGenerator; @@ -36,7 +36,7 @@ @TestSuite("energy_storage_module") public final class EnergyStorageModuleTestSuite extends MachineGameTest { public EnergyStorageModuleTestSuite() { - super(GCMachineTypes.ENERGY_STORAGE_MODULE); + super(GCBlocks.ENERGY_STORAGE_MODULE); } @Override diff --git a/src/test/java/dev/galacticraft/mod/gametest/machine/FuelLoaderTestSuite.java b/src/test/java/dev/galacticraft/mod/gametest/machine/FuelLoaderTestSuite.java index 1cfd7bd9f7..bd4f84df08 100644 --- a/src/test/java/dev/galacticraft/mod/gametest/machine/FuelLoaderTestSuite.java +++ b/src/test/java/dev/galacticraft/mod/gametest/machine/FuelLoaderTestSuite.java @@ -24,7 +24,7 @@ import dev.galacticraft.machinelib.api.gametest.MachineGameTest; import dev.galacticraft.machinelib.api.gametest.annotation.TestSuite; -import dev.galacticraft.mod.content.GCMachineTypes; +import dev.galacticraft.mod.content.GCBlocks; import dev.galacticraft.mod.content.block.entity.machine.FuelLoaderBlockEntity; import dev.galacticraft.mod.content.block.entity.machine.RefineryBlockEntity; import dev.galacticraft.mod.content.item.GCItems; @@ -37,7 +37,7 @@ @TestSuite("fuel_loader") public final class FuelLoaderTestSuite extends MachineGameTest { public FuelLoaderTestSuite() { - super(GCMachineTypes.FUEL_LOADER); + super(GCBlocks.FUEL_LOADER); } @Override diff --git a/src/test/java/dev/galacticraft/mod/gametest/machine/RefineryTestSuite.java b/src/test/java/dev/galacticraft/mod/gametest/machine/RefineryTestSuite.java index c79aeed080..436422ac15 100644 --- a/src/test/java/dev/galacticraft/mod/gametest/machine/RefineryTestSuite.java +++ b/src/test/java/dev/galacticraft/mod/gametest/machine/RefineryTestSuite.java @@ -26,8 +26,8 @@ import dev.galacticraft.machinelib.api.gametest.annotation.MachineTest; import dev.galacticraft.machinelib.api.gametest.annotation.TestSuite; import dev.galacticraft.machinelib.api.storage.slot.FluidResourceSlot; +import dev.galacticraft.mod.content.GCBlocks; import dev.galacticraft.mod.content.GCFluids; -import dev.galacticraft.mod.content.GCMachineTypes; import dev.galacticraft.mod.content.block.entity.machine.RefineryBlockEntity; import dev.galacticraft.mod.content.item.GCItems; import net.fabricmc.fabric.api.transfer.v1.fluid.FluidConstants; @@ -41,7 +41,7 @@ @TestSuite("refinery") public final class RefineryTestSuite extends MachineGameTest { public RefineryTestSuite() { - super(GCMachineTypes.REFINERY); + super(GCBlocks.REFINERY); } @Override @@ -56,8 +56,8 @@ public RefineryTestSuite() { @MachineTest public Runnable crafting(RefineryBlockEntity machine) { - FluidResourceSlot fuel = machine.fluidStorage().getSlot(RefineryBlockEntity.FUEL_TANK); - FluidResourceSlot oil = machine.fluidStorage().getSlot(RefineryBlockEntity.OIL_TANK); + FluidResourceSlot fuel = machine.fluidStorage().slot(RefineryBlockEntity.FUEL_TANK); + FluidResourceSlot oil = machine.fluidStorage().slot(RefineryBlockEntity.OIL_TANK); oil.set(GCFluids.CRUDE_OIL, FluidConstants.BUCKET); machine.energyStorage().setEnergy(Long.MAX_VALUE / 2); @@ -69,8 +69,8 @@ public Runnable crafting(RefineryBlockEntity machine) { @MachineTest public Runnable craftingFailFull(RefineryBlockEntity machine) { - FluidResourceSlot fuel = machine.fluidStorage().getSlot(RefineryBlockEntity.FUEL_TANK); - FluidResourceSlot oil = machine.fluidStorage().getSlot(RefineryBlockEntity.OIL_TANK); + FluidResourceSlot fuel = machine.fluidStorage().slot(RefineryBlockEntity.FUEL_TANK); + FluidResourceSlot oil = machine.fluidStorage().slot(RefineryBlockEntity.OIL_TANK); machine.energyStorage().setEnergy(Long.MAX_VALUE / 2); fuel.set(GCFluids.FUEL, fuel.getCapacity()); diff --git a/src/test/resources/fabric.mod.json b/src/test/resources/fabric.mod.json index 24a47b5698..3404913a5e 100644 --- a/src/test/resources/fabric.mod.json +++ b/src/test/resources/fabric.mod.json @@ -2,7 +2,7 @@ "schemaVersion": 1, "id": "galacticraft-test", - "version": "$version", + "version": "0.1.0", "name": "Galacticraft Test Mod", "description": "The test mod for Galacticraft 5.", "license": "MIT",