diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml index 2bca6f5e29..9ba28460a0 100644 --- a/.github/ISSUE_TEMPLATE/bug.yml +++ b/.github/ISSUE_TEMPLATE/bug.yml @@ -2,40 +2,37 @@ name: I found a bug! description: "Report some other kind of issue. You should ask in the Discord first to make sure it's actually a bug with Create." labels: [ "type: bug" ] body: - - type: textarea - attributes: - label: Description - description: " - Please describe the issue with as much detail as possible. - Explain what happened, and what should have happened instead. - Add images, screenshots, or videos if they could be useful." - validations: - required: true + - type: textarea + attributes: + label: Description + description: > + Please describe the issue with as much detail as possible. + Explain what happened, and what should have happened instead. + Add images, screenshots, or videos if they could be useful. + validations: + required: true - - type: input - attributes: - label: Game Log - description: " - We need the game log for additional information about the bug. - This file can be found in the \"logs\" folder of your Minecraft folder as \"latest.log\". - Please upload the file to https://mclo.gs/ and put the link here. - Do **not** paste the *contents* of the file here, because that will make this issue very hard to read. - " - validations: - required: true + - type: input + attributes: + label: Game Log + description: > + We need the game log for additional information about the bug. + This file can be found in the \"logs\" folder of your Minecraft folder as \"latest.log\". + Please upload the file to https://mclo.gs/ and put the link here. + Do **not** paste the *contents* of the file here, because that will make this issue very hard to read. + validations: + required: true - - type: textarea - attributes: - label: Debug Information - description: " - Please run the \"/create debuginfo\" command in-game. - This will copy useful information to your clipboard that will greatly help with debugging. - Please paste this information here. - If this command does not exist, you can skip this part. - " - validations: - required: false + - type: textarea + attributes: + label: Debug Information + description: > + Please run the \"/create debuginfo\" command in-game. + This will copy useful information to your clipboard that will greatly help with debugging. + Please paste this information here. + validations: + required: true - - type: markdown - attributes: - value: "Thank you for taking the time to make a report and help improve Create!" + - type: markdown + attributes: + value: "Thank you for taking the time to make a report and help improve Create!" diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index c9c7595f4f..92a8228405 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,11 +1,11 @@ blank_issues_enabled: true contact_links: - - name: I have a question! - url: https://discord.gg/hmaD7Se - about: Join us on Discord and ask the community. - - name: I have a suggestion or idea! - url: https://discord.gg/hmaD7Se - about: These are best discussed with the community and submitted on Discord. - - name: Talk to us on Discord. - url: https://discord.gg/hmaD7Se - about: Ask questions and get help from the community. + - name: I have a question! + url: https://discord.gg/hmaD7Se + about: Join us on Discord and ask the community. + - name: I have a suggestion or idea! + url: https://discord.gg/hmaD7Se + about: These are best discussed with the community and submitted on Discord. + - name: Talk to us on Discord. + url: https://discord.gg/hmaD7Se + about: Ask questions and get help from the community. diff --git a/.github/ISSUE_TEMPLATE/crash.yml b/.github/ISSUE_TEMPLATE/crash.yml index a5d70e2c5b..5529a532b8 100644 --- a/.github/ISSUE_TEMPLATE/crash.yml +++ b/.github/ISSUE_TEMPLATE/crash.yml @@ -2,26 +2,25 @@ name: My game crashed! description: Report an issue that crashes the game. labels: [ "type: crash" ] body: - - type: textarea - attributes: - label: Context - description: What were you doing when the game crashed? Add images, screenshots, or videos if they could be useful. - validations: - required: true + - type: textarea + attributes: + label: Context + description: What were you doing when the game crashed? Add images, screenshots, or videos if they could be useful. + validations: + required: true - - type: input - attributes: - label: Crash Report - description: " - We need the crash report to figure out why the crash happened. - This file can be found in the \"crash-reports\" folder of your Minecraft folder. - It will be the newest file there. - Please upload the file to https://mclo.gs/ and put the link here. - Do **not** paste the *contents* of the file here, because that will make this issue very hard to read. - " - validations: - required: true + - type: input + attributes: + label: Crash Report + description: > + We need the crash report to figure out why the crash happened. + This file can be found in the \"crash-reports\" folder of your Minecraft folder. + It will be the newest file there. + Please upload the file to https://mclo.gs/ and put the link here. + Do **not** paste the *contents* of the file here, because that will make this issue very hard to read. + validations: + required: true - - type: markdown - attributes: - value: "Thank you for taking the time to make a report and help improve Create!" + - type: markdown + attributes: + value: "Thank you for taking the time to make a report and help improve Create!" diff --git a/.github/config/label-actions.yml b/.github/config/label-actions.yml index f257d855d2..76d60dbc05 100644 --- a/.github/config/label-actions.yml +++ b/.github/config/label-actions.yml @@ -3,53 +3,53 @@ # ----------------------------------- ISSUES ----------------------------------- # 'env: fabric': - issues: - close: true - close-reason: 'not planned' - comment: > - **Fabric Loader**: This issue tracker is only for the Forge/NeoForge versions of Create. Since you mentioned using Fabric Loader, please reopen this issue on the [Create Fabric issue tracker](https://github.com/Fabricators-of-Create/Create/issues). Thanks! + issues: + close: true + close-reason: 'not planned' + comment: > + **Fabric Loader**: This issue tracker is only for the Forge/NeoForge versions of Create. Since you mentioned using Fabric Loader, please reopen this issue on the [Create Fabric issue tracker](https://github.com/Fabricators-of-Create/Create/issues). Thanks! 'env: hybrid server': - issues: - close: true - close-reason: 'not planned' - comment: > - **Hybrid Server Software**: Create cannot reasonably support hybrid server software, such as [MohistMC](https://mohistmc.com/), as their changes under the hood make it difficult for larger mods to function properly. If you encounter this issue on official Forge/NeoForge server software, feel free to open a new issue. Otherwise, consider reporting this issue to the hybrid server software you are using. Thanks! + issues: + close: true + close-reason: 'not planned' + comment: > + **Hybrid Server Software**: Create cannot reasonably support hybrid server software, such as [MohistMC](https://mohistmc.com/), as their changes under the hood make it difficult for larger mods to function properly. If you encounter this issue on official Forge/NeoForge server software, feel free to open a new issue. Otherwise, consider reporting this issue to the hybrid server software you are using. Thanks! 'env: outdated create version': - issues: - close: true - close-reason: 'not planned' - comment: > - **Outdated Create Version**: Since you are using an outdated Create version, please update to the latest version as it may resolve your issue. If this issue persists after updating Create, feel free to open a new issue. Thanks! + issues: + close: true + close-reason: 'not planned' + comment: > + **Outdated Create Version**: Since you are using an outdated Create version, please update to the latest version as it may resolve your issue. If this issue persists after updating Create, feel free to open a new issue. Thanks! 'env: pojav': - issues: - close: true - close-reason: 'not planned' - comment: > - **Pojav**: Create does not support Pojav or other mobile launchers due to rendering limitations. If you encounter this issue on a PC, feel free to open a new issue. Thanks! + issues: + close: true + close-reason: 'not planned' + comment: > + **Pojav**: Create does not support Pojav or other mobile launchers due to rendering limitations. If you encounter this issue on a PC, feel free to open a new issue. Thanks! 'env: unsupported minecraft version': - issues: - close: true - close-reason: 'not planned' - comment: > - **Unsupported Minecraft Version**: Unsupported Minecraft versions no longer receive Create updates. Please check the [supported Minecraft versions](https://github.com/Creators-of-Create/Create/wiki/dev.status). If you encounter this issue on a supported Minecraft version, feel free to open a new issue. Thanks! + issues: + close: true + close-reason: 'not planned' + comment: > + **Unsupported Minecraft Version**: Unsupported Minecraft versions no longer receive Create updates. Please check the [supported Minecraft versions](https://github.com/Creators-of-Create/Create/wiki/dev.status). If you encounter this issue on a supported Minecraft version, feel free to open a new issue. Thanks! # ----------------------------------- PULL REQUESTS ----------------------------------- # 'pr status: conflicts': - prs: - comment: > - @{issue-author}, this pull request has merge conflicts with the target branch. Please merge the latest changes and leave a message here so we can continue with the process of reviewing and merging this pull request. Thanks! + prs: + comment: > + @{issue-author}, this pull request has merge conflicts with the target branch. Please merge the latest changes and leave a message here so we can continue with the process of reviewing and merging this pull request. Thanks! 'pr status: waiting for author': - prs: - comment: > - @{issue-author}, a developer has left a review and requested changes. Please make the requested changes or further discuss them with the developer so this pull request can be merged. Thanks! + prs: + comment: > + @{issue-author}, a developer has left a review and requested changes. Please make the requested changes or further discuss them with the developer so this pull request can be merged. Thanks! 'pr status: wrong target': - prs: - comment: > - @{issue-author}, this pull request is targeting the wrong branch. Pull requests should target the branch corresponding to the earliest supported Minecraft version unless the changes are specific to code that only exists for a newer Minecraft version. Please change the target branch, resolve any merge conflicts, and leave a message here so we can continue with the process of reviewing and merging this pull request. Thanks! + prs: + comment: > + @{issue-author}, this pull request is targeting the wrong branch. Pull requests should target the branch corresponding to the earliest supported Minecraft version unless the changes are specific to code that only exists for a newer Minecraft version. Please change the target branch, resolve any merge conflicts, and leave a message here so we can continue with the process of reviewing and merging this pull request. Thanks! diff --git a/.github/workflows/gametest.yml b/.github/workflows/gametest.yml deleted file mode 100644 index 4d65d58b00..0000000000 --- a/.github/workflows/gametest.yml +++ /dev/null @@ -1,33 +0,0 @@ -name: GameTests - -on: [ workflow_dispatch ] - -jobs: - build: - runs-on: ubuntu-latest - steps: - - name: Checkout Repository - uses: actions/checkout@v4 - - - name: Setup Java - run: echo "JAVA_HOME=$JAVA_HOME_17_X64" >> "$GITHUB_ENV" - - - name: NeoGradle Cache - uses: actions/cache@v4 - if: ${{ !endsWith(github.ref, '/dev') }} - with: - path: "**/.gradle/repositories/" - key: "${{ runner.os }}-gradle-${{ hashFiles('**/libs.versions.*', '**/*.gradle*', '**/gradle-wrapper.properties') }}" - restore-keys: "${{ runner.os }}-gradle-" - - - name: Setup Gradle - uses: gradle/actions/setup-gradle@v3 - with: - gradle-home-cache-cleanup: true - cache-read-only: ${{ !endsWith(github.ref, '/dev') }} - - - name: Validate Gradle Wrapper Integrity - uses: gradle/wrapper-validation-action@v2 - - - name: Run GameTest Server - run: ./gradlew runGameTestServer diff --git a/.github/workflows/label-actions.yml b/.github/workflows/label-actions.yml index 76a959ab24..a9fdcba0bf 100644 --- a/.github/workflows/label-actions.yml +++ b/.github/workflows/label-actions.yml @@ -1,4 +1,4 @@ -name: "Label Actions" +name: Label Actions on: issues: types: [ labeled, unlabeled ] diff --git a/.github/workflows/localization.yml b/.github/workflows/localization.yml index b3605fd8a8..6eab04cab5 100644 --- a/.github/workflows/localization.yml +++ b/.github/workflows/localization.yml @@ -1,27 +1,11 @@ # This workflow will run Crowdin Action that will upload new texts to Crowdin, download the newest translations and create a PR # For more information see: https://github.com/crowdin/github-action - name: Crowdin Action - -# Controls when the action will run. on: workflow_dispatch - # Only run when started manually - - #: - # inputs: - # uploadTranslations: - # description: "Set to true to upload (changed) translations to Crowdin" - # type: boolean - # required: true - # default: false - -#schedule: -#- cron: '0 */6 * * *' # Every 6 hours - https://crontab.guru/#0_*/6_*_*_* jobs: synchronize-with-crowdin: runs-on: ubuntu-latest - steps: - name: Checkout uses: actions/checkout@v2 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000000..11a47e57bc --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,27 @@ +name: Publish Release + +on: workflow_dispatch + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout Repository + uses: actions/checkout@v4 + + - name: Setup Java + run: echo "JAVA_HOME=$JAVA_HOME_17_X64" >> "$GITHUB_ENV" + + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v4 + with: + cache-disabled: true + + - name: Validate Gradle Wrapper Integrity + uses: gradle/wrapper-validation-action@v2 + + - name: Build & Publish + env: + MODRINTH_TOKEN: ${{ secrets.MODRINTH_TOKEN }} + CURSEFORGE_TOKEN: ${{ secrets.CURSEFORGE_TOKEN }} + run: ./gradlew build publish publishMods diff --git a/build.gradle b/build.gradle index 6d549ade3a..22fcca5910 100644 --- a/build.gradle +++ b/build.gradle @@ -1,40 +1,96 @@ +import dev.ithundxr.silk.ChangelogText + plugins { - id 'java-library' - id 'eclipse' - id 'idea' - id 'maven-publish' - id 'net.neoforged.moddev' version '2.0.74' + id "idea" + id "eclipse" + id "maven-publish" + id "net.neoforged.moddev" version "2.0.74" + id "me.modmuss50.mod-publish-plugin" version "0.8.3" + id "dev.ithundxr.silk" version "0.11.15" + id "net.kyori.blossom" version "2.1.0" // https://github.com/KyoriPowered/blossom + id "org.jetbrains.gradle.plugin.idea-ext" version "1.1.8" // https://github.com/JetBrains/gradle-idea-ext-plugin } -boolean dev = System.getenv('RELEASE') == null || System.getenv('RELEASE').equals('false'); -String buildNumber = System.getenv('BUILD_NUMBER') +apply from: './gradle/java.gradle' -String archivesBaseName = "$mod_id-$minecraft_version"; - -version = project.mod_version + (dev && buildNumber != null ? "-${buildNumber}" : '') -group = project.maven_group - -repositories { - mavenLocal() -} +boolean dev = System.getenv('RELEASE') == null || System.getenv('RELEASE').equals('false') +ext.buildNumber = System.getenv('BUILD_NUMBER') +String gitHash = "\"${calculateGitHash() + (hasUnstaged() ? "-modified" : "")}\"" base { - archivesName = archivesBaseName + archivesName = "create-$minecraft_version" + group = "com.simibubi.create" + version = mod_version + (dev && buildNumber != null ? "-${buildNumber}" : '') } -java.toolchain.languageVersion = JavaLanguageVersion.of(21) +boolean inMultiModWorkspace = rootProject.hasProperty('multiModWorkspace.enabled') +boolean catnipInWorkspace = rootProject.hasProperty('multiModWorkspace.catnip') +boolean ponderInWorkspace = rootProject.hasProperty('multiModWorkspace.ponder') + +if (catnipInWorkspace) { + evaluationDependsOn(":catnip:NeoForge") +} + +if (ponderInWorkspace) { + evaluationDependsOn(":ponder:NeoForge") +} + +project.logger.lifecycle("MultiModWorkspace ${inMultiModWorkspace ? 'enabled' : 'disabled'} for project ${project.name}.") +project.logger.lifecycle("Dependencies included in Workspace: [Catnip: ${catnipInWorkspace}], [Ponder: ${ponderInWorkspace}]") + +println "Java: ${System.getProperty 'java.version'}, JVM: ${System.getProperty 'java.vm.version'} (${System.getProperty 'java.vendor'}), Arch: ${System.getProperty 'os.arch'}" + +idea { + module { + downloadJavadoc = true + downloadSources = true + } +} neoForge { version = project.neo_version + accessTransformers = project.files('src/main/resources/META-INF/accesstransformer.cfg') + parchment { minecraftVersion = project.parchment_minecraft_version mappingsVersion = project.parchment_version } - accessTransformers = project.files('src/main/resources/META-INF/accesstransformer.cfg') + mods { + "${mod_id}" { + sourceSet(sourceSets.main) + } + + if (catnipInWorkspace) { + catnip { + sourceSet(project(":catnip:Common").sourceSets.main) + sourceSet(project(":catnip:NeoForge").sourceSets.main) + } + } + + if (ponderInWorkspace) { + ponder { + sourceSet(project(":ponder:Common").sourceSets.main) + sourceSet(project(":ponder:NeoForge").sourceSets.main) + } + } + } + runs { + configureEach { + systemProperty 'forge.logging.markers', 'REGISTRIES' + jvmArguments = ["-XX:+IgnoreUnrecognizedVMOptions", "-XX:+AllowEnhancedClassRedefinition"] + //jvmArgs("-XX:-OmitStackTraceInFastThrow") // uncomment when you get exceptions with null messages etc + //jvmArgs '-XX:+UnlockCommercialFeatures' // uncomment for profiling + + systemProperty 'mixin.debug.verbose', 'true' + systemProperty 'mixin.debug.export', 'true' + + logLevel = org.slf4j.event.Level.DEBUG + } + client { client() @@ -51,37 +107,16 @@ neoForge { systemProperty 'neoforge.enabledGameTestNamespaces', project.mod_id } - // This run config launches GameTestServer and runs all registered gametests, then exits. - // By default, the server will crash when no gametests are provided. - // The gametest system is also enabled by default for other run configs under the /test command. - gameTestServer { - type = "gameTestServer" - systemProperty 'neoforge.enabledGameTestNamespaces', project.mod_id - } - data { data() // Specify the modid for data generation, where to output the resulting resource, and where to look for existing resources. - programArguments.addAll '--mod', project.mod_id, '--all', '--output', file('src/generated/resources/').getAbsolutePath(), '--existing', file('src/main/resources/').getAbsolutePath() + programArguments.addAll('--mod', project.mod_id, '--all', '--output', file('src/generated/resources/').getAbsolutePath(), '--existing', file('src/main/resources/').getAbsolutePath()) } - configureEach { - systemProperty 'forge.logging.markers', 'REGISTRIES' - - systemProperty 'mixin.debug.verbose', 'true' - systemProperty 'mixin.debug.export', 'true' - - // IThundxr ~ I use JBR for enhanced hotswap, this adds the required arg while not affecting other people - jvmArguments = ["-XX:+AllowEnhancedClassRedefinition", "-XX:+IgnoreUnrecognizedVMOptions"] - - logLevel = org.slf4j.event.Level.DEBUG - } - } - - mods { - "${mod_id}" { - sourceSet(sourceSets.main) + gameTestServer { + type = "gameTestServer" + systemProperty 'neoforge.enabledGameTestNamespaces', project.mod_id } } } @@ -124,20 +159,34 @@ dependencies { compileOnly("dev.engine_room.flywheel:flywheel-neoforge-api-${flywheel_minecraft_version}:${flywheel_version}") jarJar(runtimeOnly("dev.engine_room.flywheel:flywheel-neoforge-${flywheel_minecraft_version}:${flywheel_version}")) - jarJar(implementation("net.createmod.catnip:Catnip-NeoForge-${catnip_and_ponder_mc_ver}:${catnip_version}")) - jarJar(implementation("net.createmod.ponder:Ponder-NeoForge-${catnip_and_ponder_mc_ver}:${ponder_version}")) + if (catnipInWorkspace) { + implementation(project(":catnip:Common")) + implementation(project(":catnip:NeoForge")) + } else { + implementation("net.createmod.catnip:Catnip-NeoForge-${minecraft_version}:${catnip_version}") + } + + if (ponderInWorkspace) { + implementation(project(":ponder:Common")) + implementation(project(":ponder:NeoForge")) + } else { + implementation("net.createmod.ponder:Ponder-NeoForge-${minecraft_version}:${ponder_version}") + } + + jarJar("net.createmod.catnip:Catnip-NeoForge-${catnip_and_ponder_mc_ver}:${catnip_version}") + jarJar("net.createmod.ponder:Ponder-NeoForge-${catnip_and_ponder_mc_ver}:${ponder_version}") //compileOnly("mezz.jei:jei-${jei_minecraft_version}-common-api:${jei_version}") //compileOnly("mezz.jei:jei-${jei_minecraft_version}-neoforge-api:${jei_version}") implementation("mezz.jei:jei-${jei_minecraft_version}-neoforge:${jei_version}") - implementation("top.theillusivec4.curios:curios-neoforge:${curios_version}+${curios_minecraft_version}") + compileOnly("top.theillusivec4.curios:curios-neoforge:${curios_version}+${curios_minecraft_version}:api") + runtimeOnly("top.theillusivec4.curios:curios-neoforge:${curios_version}+${curios_minecraft_version}") if (cc_tweaked_enable.toBoolean()) { compileOnly("cc.tweaked:cc-tweaked-${cc_tweaked_minecraft_version}-core-api:${cc_tweaked_version}") compileOnly("cc.tweaked:cc-tweaked-${cc_tweaked_minecraft_version}-forge-api:${cc_tweaked_version}") - if (!cc_tweaked_disable_runtime.toBoolean()) - runtimeOnly("cc.tweaked:cc-tweaked-${cc_tweaked_minecraft_version}-forge:${cc_tweaked_version}") + runtimeOnly("cc.tweaked:cc-tweaked-${cc_tweaked_minecraft_version}-forge:${cc_tweaked_version}") } runtimeOnly("dev.architectury:architectury-neoforge:13.0.8") @@ -147,49 +196,69 @@ dependencies { implementation("maven.modrinth:journeymap:1.21.1-6.0.0-beta.32+neoforge") implementation("info.journeymap:journeymap-api-neoforge:2.0.0-1.21.1-SNAPSHOT") - - // implementation("curse.maven:druidcraft-340991:3101903") - // implementation("com.ferreusveritas.dynamictrees:DynamicTrees-1.16.5:0.10.0-Beta25") - // runtimeOnly("vazkii.arl:AutoRegLib:1.4-35.69") - // runtimeOnly("vazkii.quark:Quark:r2.0-212.984") - // runtimeOnly("slimeknights.mantle:Mantle:1.16.5-1.6.115") - // runtimeOnly("slimeknights.tconstruct:TConstruct:1.16.5-3.1.1.252") - // runtimeOnly("maven.modrinth:rubidium:0.5.3") - // implementation("com.railwayteam.railways:railways-1.18.2-1.1.1:all" { transitive = false }) - // runtimeOnly("maven.modrinth:aether:1.19.2-1.0.0-beta.1.1-forge") - // runtimeOnly("maven.modrinth:spark:1.10.38-forge") - // runtimeOnly("curse.maven:xycraft-653786:4788862") - // runtimeOnly("curse.maven:xycraft-world-653789:4788863") } -sourceSets.main.java { - if (!cc_tweaked_enable.toBoolean()) { - exclude "com/simibubi/create/compat/computercraft/implementation/**" +sourceSets.main { + java { + if (!cc_tweaked_enable.toBoolean()) { + exclude 'com/simibubi/create/compat/computercraft/implementation/**' + } + } + + resources { + srcDir 'src/generated/resources' + exclude '.cache/' + } + + blossom.javaSources { + property("version", build_info_mod_version) + property("gitCommit", gitHash.toString()) } } -sourceSets.main.resources { - srcDir "src/generated/resources" - exclude ".cache/" +processResources { + def buildProps = project.properties.clone() + + // Replaces FML's magic file.jarVersion string with the correct version at build time. + buildProps.put('file', [jarVersion: project.version]) + + filesMatching(['META-INF/mods.toml', 'pack.mcmeta']) { + expand buildProps + } +} + +compileJava { + options.compilerArgs = ['-Xdiags:verbose'] } jar { from('LICENSE') { rename { "${it}_${archivesBaseName}" } } + + manifest.attributes([ + "MixinConfigs": "create.mixins.json", + "Git-Hash": gitHash + ]) +} + +tasks.named("sourcesJar") { + manifest.attributes([ + "Git-Hash": gitHash + ]) } var generateModMetadata = tasks.register("generateModMetadata", ProcessResources) { var replaceProperties = [ - mod_version : mod_version, - mod_id : mod_id, - mod_name : mod_name, - mod_author : mod_author, - mod_description : mod_description, - mod_license : mod_license, - minecraft_version_range: minecraft_version_range, - neo_version_range : neo_version_range, - flywheel_version_range : flywheel_version_range, + mod_version : mod_version, + mod_id : mod_id, + mod_name : mod_name, + mod_author : mod_author, + mod_description : mod_description, + mod_license : mod_license, + minecraft_version_range: minecraft_version_range, + neo_version_range : neo_version_range, + flywheel_version_range : flywheel_version_range, ] inputs.properties replaceProperties expand replaceProperties @@ -203,10 +272,6 @@ sourceSets.main.resources.srcDir(generateModMetadata) // To avoid having to run "generateModMetadata" manually, make it run on every project reload neoForge.ideSyncTask(generateModMetadata) -java { - withSourcesJar() -} - publishing { publications { register('mavenJava', MavenPublication) { @@ -220,13 +285,48 @@ publishing { } } -tasks.withType(JavaCompile).configureEach { - options.encoding = 'UTF-8' -} +publishMods { + file = jar.archiveFile + changelog = ChangelogText.getChangelogText(project).toString() + type = STABLE + displayName = "$mod_name $minecraft_version $mod_version" + modLoaders.add("forge") + modLoaders.add("neoforge") -idea { - module { - downloadSources = true - downloadJavadoc = true + curseforge { + accessToken = providers.environmentVariable("CURSEFORGE_TOKEN") + projectId = "328085" + minecraftVersions.add(minecraft_version) + } + + modrinth { + accessToken = providers.environmentVariable("MODRINTH_TOKEN") + projectId = "LNytGWDc" + minecraftVersions.add(minecraft_version) + } +} + +String calculateGitHash() { + try { + def output = providers.exec { + commandLine("git", "rev-parse", "HEAD") + } + return output.standardOutput.asText.get().trim() + } catch(Throwable ignored) { + return "unknown" + } +} + +boolean hasUnstaged() { + try { + def output = providers.exec { + commandLine("git", "status", "--porcelain") + } + String result = output.standardOutput.asText.get().replace("/M gradlew(\\.bat)?/", "").trim() + if (!result.isEmpty()) + println("Found stageable results:\n ${result}\n") + return !result.isEmpty() + } catch(Throwable ignored) { + return false } } diff --git a/changelog.md b/changelog.md new file mode 100644 index 0000000000..1a220b8f48 --- /dev/null +++ b/changelog.md @@ -0,0 +1,34 @@ +------------------------------------------------------ +Create 6.0.0 +------------------------------------------------------ +Additions +- Example + +Changes +- Bumped the defalt max rope length to 384 +- Set vault capacity limit to 2048 slots to prevent people from OOM-ing themselves if they set the capacity too high + +Bug Fixes +- Fix certain blocks messing up the order scheduled ticks (#7141) +- Fix unbreakable superglue not being usable (#6253) +- Fix update suppression (#7176) +- Fix comparator output of depots ignoring the items max stack size (#7179) +- Fix deployers retaining the damage attribute of their last held weapon (#4870) +- Fix an exploit allowing people to create clipboards that execute commands (#7218) +- Fix redstone links not updating their redstone output when they've been taken out of receiver mode (#7226) +- Fix rare crash related to sliding doors (#6184) +- Verify that schematics are gzip-encoded before trying to read from them (#6087) +- Added workaround for create_tracks.dat getting corrupted during crashes, the mod will try to restore the old track data stored in the create_tracks.dat_old file if the current one is corrupted +- Fix contraptions triggering pressure plates and tripwires (#7255) +- Fix ConditionContext nbt in trains containing a large number of empty tags +- Fix deployers not placing fish from fish buckets (#3705) +- Fix gasses not being visible in basins and item drains (#7236) + +Art Changes +- Example + +API Changes +- Removed LangMerger and related classes +- Implemented an api to allow mods to register schematic requirements, partial safe nbt and contraption transforms without implementing interfaces (#4702) +- Add a method that developers can override to change the icon in goggle tooltips +- Refactored Item Attributes types, Fan processing types and Arm interaction points, all 3 now use proper registries diff --git a/gradle.properties b/gradle.properties index 1b1799ecf2..07cc6270f1 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,18 +2,14 @@ org.gradle.jvmargs = -Xmx3G org.gradle.daemon = false org.gradle.parallel = true org.gradle.caching = true -org.gradle.configuration-cache = true # Mod Info -mod_version = 0.5.2 +# build_info_mod_version is the version that gets filled into CreateBuildInfo.java +mod_version = 6.0.0 +build_info_mod_version = 6.0.0-experimental +# Move this into the buildscript maven_group = com.simibubi.create -mod_id = create -mod_name = Create -mod_author = simibubi -mod_description = Technology that empowers the player. -mod_license = MIT - # Mod Dependencies minecraft_version = 1.21.1 minecraft_version_range=[1.21.1] @@ -29,19 +25,25 @@ registrate_version = MC1.21-1.3.0+58 # From maven.ithundxr.dev/hidden flywheel_minecraft_version = 1.21.1 -flywheel_version = 1.0.0-beta-fork.10 +flywheel_version = 1.0.0-beta-fork.13 flywheel_version_range = [1.0.0-alpha,2.0) # Optional Dependencies jei_minecraft_version = 1.21 jei_version = 19.5.0.33 curios_minecraft_version = 1.21.1 -curios_version = 9.2.0 +curios_version = 9.2.2 catnip_version = 0.8.53 ponder_version = 0.8.7 catnip_and_ponder_mc_ver = 1.21.1 cc_tweaked_enable = true -cc_tweaked_disable_runtime = true cc_tweaked_minecraft_version = 1.21.1 cc_tweaked_version = 1.114.2 + +# mod options +mod_id = create +mod_name = Create +mod_author = simibubi +mod_description = Technology that empowers the player. +mod_license = MIT diff --git a/gradle/java.gradle b/gradle/java.gradle index 3d87b8b34f..c209d14d49 100644 --- a/gradle/java.gradle +++ b/gradle/java.gradle @@ -1,6 +1,6 @@ apply plugin: 'java' -java.toolchain.languageVersion = JavaLanguageVersion.of(17) +java.toolchain.languageVersion = JavaLanguageVersion.of(21) java.withSourcesJar() java.withJavadocJar() @@ -16,27 +16,24 @@ jar { 'Implementation-Timestamp': new Date().format("yyyy-MM-dd'T'HH:mm:ssZ"), 'Timestampe' : System.currentTimeMillis(), 'Built-On-Java' : "${System.getProperty('java.vm.version')} (${System.getProperty('java.vm.vendor')})", - 'Build-On-Minecraft' : minecraft_version + 'Built-On-Minecraft' : minecraft_version ]) } } tasks.withType(JavaCompile).configureEach { - it.options.encoding = 'UTF-8' - it.options.release = 17 + it.options.release = 21 } // Disables Gradle's custom module metadata from being published to maven. The // metadata includes mapped dependencies which are not reasonably consumable by // other mod developers. tasks.withType(GenerateModuleMetadata) { - enabled = false } javadoc { - // Suppress annoying warnings when generating JavaDoc files. options.addStringOption('Xdoclint:none', '-quiet') } 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 a4413138c9..e2847c8200 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index b740cf1339..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 +# ############################################################################## # @@ -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/src/generated/resources/.cache/3055aa55530438925fbff1670d3e8dc6cc209bf3 b/src/generated/resources/.cache/3055aa55530438925fbff1670d3e8dc6cc209bf3 index 1b87b3e135..386a902547 100644 --- a/src/generated/resources/.cache/3055aa55530438925fbff1670d3e8dc6cc209bf3 +++ b/src/generated/resources/.cache/3055aa55530438925fbff1670d3e8dc6cc209bf3 @@ -1,4 +1,4 @@ -// 1.20.1 2025-01-11T18:12:51.5905299 Registrate Provider for create [Recipes, Advancements, Loot Tables, Tags (blocks), Tags (items), Tags (fluids), Tags (entity_types), Blockstates, Item models, Lang (en_us/en_ud)] +// 1.20.1 2025-01-17T00:09:44.5040448 Registrate Provider for create [Recipes, Advancements, Loot Tables, Tags (blocks), Tags (items), Tags (fluids), Tags (entity_types), Blockstates, Item models, Lang (en_us/en_ud)] 60bbdf92d2ac9824ea6144955c74043a6005f79d assets/create/blockstates/acacia_window.json 6a67703c2697d81b7dc83e9d72a66f9c9ff08383 assets/create/blockstates/acacia_window_pane.json c3ae87b62e81d8e9476eccd793bb1548d74c66a1 assets/create/blockstates/adjustable_chain_gearshift.json @@ -642,8 +642,8 @@ b0d8f08968763a5f74e5cd5644377a76a9f39753 assets/create/blockstates/yellow_toolbo fe8c497aacc641c2f01cec90bba9f19e59cc2ed2 assets/create/blockstates/yellow_valve_handle.json e819e93fdcbe9fd9c050a052d2718ff3b3539365 assets/create/blockstates/zinc_block.json 64121dcb216381c83b4fe28aa361ea07c24c9ad0 assets/create/blockstates/zinc_ore.json -913f3794fb772a0736ae66dff722b3c468bcde79 assets/create/lang/en_ud.json -1f6031cb19932ad54d645fbca1f2773385dd47ed assets/create/lang/en_us.json +7c975eddc8318d59bb77fa5667d4358f1bd168c5 assets/create/lang/en_ud.json +5bb378436e68d5a1428ac801c3bc5a4443f8b657 assets/create/lang/en_us.json a97e1060e00ae701a02e39cd4ef8054cf345fac4 assets/create/models/block/acacia_window.json 103e032c0b1a0a6a27c67da8c91179a564bd281c assets/create/models/block/acacia_window_pane_noside.json fb00b627abda76ad4fea867ca57dbfadd24fffa3 assets/create/models/block/acacia_window_pane_noside_alt.json @@ -1825,12 +1825,12 @@ cf8477d6c7558ceba38416fae755567086a856a6 assets/create/models/block/yellow_sail. 23d6852eca1bf1480dc74ed51d15c098e26a520f assets/create/models/block/zinc_block.json 617330267f01a08062b05b8516082d7ebdab3d0b assets/create/models/block/zinc_ore.json 86b835fa8d2264feb2159262b069c6c2cf68e818 assets/create/models/item/acacia_window.json -697eda24a3a1c79401d7d073a503804cb589e2f5 assets/create/models/item/acacia_window_pane.json +ab7e40e22fedad4ae69281eb6137e699110327a2 assets/create/models/item/acacia_window_pane.json feb7bd45dc6ec0542c7af648b371e54168641d1e assets/create/models/item/adjustable_chain_gearshift.json be9e4a7937dcb87bce696e6ad234c9eff8cd299e assets/create/models/item/analog_lever.json 626cc26c8a7a2742b991b432c5104981183f1eb6 assets/create/models/item/andesite_alloy.json 158270c9fa3022d1afb56002d0ea1db3366467aa assets/create/models/item/andesite_alloy_block.json -d497fcfe54f9caddf1925cc303f9f9a62015e0ae assets/create/models/item/andesite_bars.json +0a79ae7caa46f64085e0bd7d94018a46f53920b3 assets/create/models/item/andesite_bars.json 11c747281cbe2d96324db27fec020100b50977d0 assets/create/models/item/andesite_casing.json ab09b7886916048add1fa0ea9e87c4644a781031 assets/create/models/item/andesite_door.json 944cbae9f7c4bf7d1734d25645cfa6b0d0f2c33d assets/create/models/item/andesite_encased_cogwheel.json @@ -1846,12 +1846,12 @@ d6eb7105dd9b42adde48bd70e3f2fba70751c1db assets/create/models/item/asurine.json 8b61987c61ae461e4bea0fccf5b1bb3399ac9226 assets/create/models/item/asurine_pillar.json a8e9fab6ce8dc5da29b451c827663fb553669a23 assets/create/models/item/attribute_filter.json 2a57b4e07c5a853d4875fae7916cdb71f3b3f378 assets/create/models/item/bamboo_window.json -69f07020d66498909df3bd37fa6e1a09cb06788e assets/create/models/item/bamboo_window_pane.json +3baee1bf202692d9e14865b7ba1e2606f761774f assets/create/models/item/bamboo_window_pane.json 6913f9acbb272de28387918ce92984fa767b4389 assets/create/models/item/bar_of_chocolate.json def88cd2c79a1f0ed40bbf5a0332187dd1d6006e assets/create/models/item/basin.json 35a1e2cb2645a8386dfee2697b47547b3f9a1dd2 assets/create/models/item/belt_connector.json f5dcb9096a52d5d2eab1e4204fbd1222e0d5094d assets/create/models/item/birch_window.json -eccafeec52e4195fbe211c602b4fc71a260d8a64 assets/create/models/item/birch_window_pane.json +9589b0f3d31028c1499a49298600eede6d84f7bb assets/create/models/item/birch_window_pane.json 641b85751f91c0b4931307548c12034fc56286bc assets/create/models/item/black_postbox.json 7ca635d45fef81e6681a492be6c7bb71fd0f4574 assets/create/models/item/black_seat.json 67256e7c62c3ed2cee1dc88c2437083966165f92 assets/create/models/item/black_table_cloth.json @@ -1866,7 +1866,7 @@ b1059dd00b8b4102e345a3d4f3e903a92c372ea1 assets/create/models/item/blue_table_cl a82bc56a503cd15d2354c86a49fc6d1d4ed22767 assets/create/models/item/blue_toolbox.json 2f90f781cd9b5d144a6cfd4748ae3a87c9f12ba8 assets/create/models/item/blue_valve_handle.json d16ce54ed4e2546f168d3bcf7d748ff749565316 assets/create/models/item/bound_cardboard_block.json -4e711f64e0ab7d16c550cc4aa8b876d604dfb2af assets/create/models/item/brass_bars.json +8facd82128e77ed41de3bb92d7714e56fc58ada6 assets/create/models/item/brass_bars.json 136f97f26217c51c932d79bf715b2a1a92e6595e assets/create/models/item/brass_block.json c876713c3b8ed6511679d1e3186e6d6031190dd5 assets/create/models/item/brass_casing.json 378a2f1820c9abdc1080c940e5a01e30c25ea5cb assets/create/models/item/brass_door.json @@ -1943,7 +1943,7 @@ ca37276063d58483994ab51e3f72ef20521902c2 assets/create/models/item/cardboard_leg 1cdb2b8801551c1540bb9b2a9cc3d725a2b433e7 assets/create/models/item/cart_assembler.json 390a06d81c8c2a0ff83196bd0154dd292206e3b6 assets/create/models/item/chain_conveyor.json 74c265b6ea2df76ae1b2e8e920eaa91749f74c1a assets/create/models/item/cherry_window.json -30395c9018e273105b20cc35737f501696529acf assets/create/models/item/cherry_window_pane.json +7aecdbca8bc44bdf9a6926889bdbf4e74c4407a7 assets/create/models/item/cherry_window_pane.json a197d08618f4035182c91a6b16031eb681ab8a7c assets/create/models/item/chest_minecart_contraption.json 293cfa8b1073f8641a2c623b73a90907576c36ed assets/create/models/item/chocolate_bucket.json 77654cbd16cdfa95181ea3f85fcfa3cd352b69fd assets/create/models/item/chocolate_glazed_berries.json @@ -1962,7 +1962,7 @@ de48f4b6fa26928ebc7d5d60e6a0767093430d65 assets/create/models/item/contraption_c 6a4e8aa37120fa8238be72fb2c732f9ab5670d53 assets/create/models/item/controls.json 68d0bd260e5062448ca9008f7cf44e963d941653 assets/create/models/item/copper_backtank.json 6c53b1a6ed28929b7a0a090edf6101e610f842fc assets/create/models/item/copper_backtank_placeable.json -2a0b31d76ab8a74c458475640d17de15ad314fcd assets/create/models/item/copper_bars.json +aaac7663d062731433c920d94a24b9b3a521dd8c assets/create/models/item/copper_bars.json 688e4dee99126b7507761de618d6788c18f17153 assets/create/models/item/copper_casing.json 68890c027cd6a094b484a237d3ff5daeb09622af assets/create/models/item/copper_diving_boots.json 23499699c6ea6a30673835056f5d0039519413fa assets/create/models/item/copper_diving_helmet.json @@ -1990,7 +1990,7 @@ ad620bd5eb32a41b0a8a130f49ab3dbb398907e5 assets/create/models/item/creative_moto 612778c4a390c3fc9de7ef40713375dc7be85270 assets/create/models/item/crimsite.json e432e359b77e7129e18c1d4daf68d11c4a661110 assets/create/models/item/crimsite_pillar.json 9c77e6d7d56310b34468a6d52080e477e893494d assets/create/models/item/crimson_window.json -43625514f941a61cfbae339419d0de4b22db9662 assets/create/models/item/crimson_window_pane.json +cfad32c8024f9f1479aed6916735a4d75b16dc4e assets/create/models/item/crimson_window_pane.json 189ddf2f3c83608ddfe9e8d2fe88d8b4610ade13 assets/create/models/item/crushed_raw_aluminum.json 4e74e066349d0311064e21fd72aa40e249e2e830 assets/create/models/item/crushed_raw_copper.json 513ccb83879e523f8df66a4ad8aee0ecab1ba003 assets/create/models/item/crushed_raw_gold.json @@ -2124,7 +2124,7 @@ fb3660aa1b33ef63361d91598c2b46dd5b1c30d7 assets/create/models/item/cyan_table_cl 265d5d6de4238442bb9b161dba0a2fc2f063df0b assets/create/models/item/cyan_toolbox.json 8beb6459822efe59d0f60749143d73c5390e39f2 assets/create/models/item/cyan_valve_handle.json 2e0a1bb3f3498454eb23dab5d4eb6fad98fe586c assets/create/models/item/dark_oak_window.json -34088ac6ee20cd56c309ad687e2b721fc6070b0b assets/create/models/item/dark_oak_window_pane.json +e30c50f79332cb2cd2815554af84747c58545a39 assets/create/models/item/dark_oak_window_pane.json 5b90f8778ae1c2dbd99da89407f12bfb4775b123 assets/create/models/item/deepslate_pillar.json 9b5b804fe75a3e748a0d9a6761ab46178e5f3850 assets/create/models/item/deepslate_zinc_ore.json 7ff5075e907b57d6b0f6fd0a31d0e46464afe634 assets/create/models/item/deployer.json @@ -2159,7 +2159,7 @@ dad31483f65baaf187e6553e3cd301c5d69e9db4 assets/create/models/item/filter.json 37dcb8911cd29d883849b655e3e388dbba5df6c0 assets/create/models/item/flywheel.json ddeba2ef1d185629be5c88aeb2105fe0aaae3951 assets/create/models/item/framed_glass.json 02a88f5c9aab6fc2f6cbbdaa871fd67476c9a9c2 assets/create/models/item/framed_glass_door.json -c27e10488bd56237af75b1fd8742a5e633d7ec4a assets/create/models/item/framed_glass_pane.json +3ed4300d2fb60b4e2761fd7a2d1f116fecea150a assets/create/models/item/framed_glass_pane.json 127386f4dee6c305023e45ad6b2f04fd6d4e5009 assets/create/models/item/framed_glass_trapdoor.json b17d9fd1a92db0965f2e5da6215956b0451af29e assets/create/models/item/furnace_minecart_contraption.json 7b3a197eed9dec75f95aaed8e438d49d46948f1d assets/create/models/item/gantry_carriage.json @@ -2185,19 +2185,19 @@ dac0331061c464e6d3e2070b232781c632840191 assets/create/models/item/hand_crank.js 81d67fb0e59f25762a412990884813c72d399d55 assets/create/models/item/honeyed_apple.json 2e97629313eab1a4ac4b38785dbe7ed45346e625 assets/create/models/item/honey_bucket.json 70185e640169d6253f06fb98f31b240f4807a53e assets/create/models/item/horizontal_framed_glass.json -e623c9541adc0fa877c5615e3211f47886383f2d assets/create/models/item/horizontal_framed_glass_pane.json +d47884b13fadf545bd585cd9ae347368924b04b0 assets/create/models/item/horizontal_framed_glass_pane.json 58b6f4ec2af3a69ae7145fb25d73451b6e8a2834 assets/create/models/item/hose_pulley.json 14ae1ba5e842715fc4526b19e20c74d10102eb4a assets/create/models/item/incomplete_precision_mechanism.json ae5c5925ecf775a4f5c3dc3c79d9766d7dd34ab6 assets/create/models/item/incomplete_track.json 43173d18384817288a9ba687da77a4fab31b1957 assets/create/models/item/industrial_iron_block.json 4596b83d7da43a670f2274c8389cca9897ae379d assets/create/models/item/industrial_iron_window.json -b023f505f851799e7212531402e788e927cf6033 assets/create/models/item/industrial_iron_window_pane.json +199e1b60315fc2d016b69d2d60fcb790a6e075fc assets/create/models/item/industrial_iron_window_pane.json c6e3e4ca8b3dfdaaa943faa3dc89c0b2e6f2b5c4 assets/create/models/item/iron_sheet.json d1fbf1be53208c3ab5384dfd6be4d980c858941c assets/create/models/item/item_drain.json 5adda29ca25d00eb41884d0b7ad4a471e250ae10 assets/create/models/item/item_hatch.json 908dd0a4eafd868d280e25cfb7721f20b649560f assets/create/models/item/item_vault.json 5fba1fa33e360c2744ec74d7ccb63f9baa295546 assets/create/models/item/jungle_window.json -b3a0c9664465f49a2f53e4ded6c29710a357e6ca assets/create/models/item/jungle_window_pane.json +1a76bf2c7cf1036c458651536a7be8511a39d551 assets/create/models/item/jungle_window_pane.json 26c3f75074779ec0286e19219bd277147bfb9e96 assets/create/models/item/large_cogwheel.json 23f9028ae83a1723071c67cb6a1742731969e21e assets/create/models/item/large_water_wheel.json 33978f928e1f548a2b53081d6a7517e41d875ec3 assets/create/models/item/layered_andesite.json @@ -2239,7 +2239,7 @@ c50cb6b0285ee3a2b7d7f592ee48672d66e02af3 assets/create/models/item/magenta_table 7c0e3f91e5ab029473736deffb2b2aab9d4763c7 assets/create/models/item/magenta_toolbox.json 6d82582e5afea919927606b20a74cbda5223956f assets/create/models/item/magenta_valve_handle.json a4ecba2ee36699401de661b89065bf0738487a87 assets/create/models/item/mangrove_window.json -474c896c4ca4e6547fac225cc204bbc0b287c5ea assets/create/models/item/mangrove_window_pane.json +a8d3d6f1329c75d4d5a1db3e7fad40eaeca53716 assets/create/models/item/mangrove_window_pane.json d5b1665cdcf03baef41a8d3fbbdcc747cd6867f8 assets/create/models/item/mechanical_arm.json 95d437fffd455e5a22d288bb7683fbdce211fa8a assets/create/models/item/mechanical_bearing.json 08dcab9d0cdb7fb6426b8dee508eecc3f5d71fb1 assets/create/models/item/mechanical_crafter.json @@ -2265,7 +2265,7 @@ c11656a940ef54a023634376c742b3fb17201f92 assets/create/models/item/netherite_bac f80358eba19bc8d1741e4e25753866799631a118 assets/create/models/item/nixie_tube.json 33c5dfa7ef718fb29cf59bb0c04ebd88cf20eb1c assets/create/models/item/nozzle.json 39626402ba637abced828902d9d657ab09edcadb assets/create/models/item/oak_window.json -061587faf0e53e4fac0c8f2f3bd6b22020b2a3ee assets/create/models/item/oak_window_pane.json +7d9eef77eb18dd5c768e48b5871ca2dcdd1a136c assets/create/models/item/oak_window_pane.json af50363d603d61340b336569d58c1febde253665 assets/create/models/item/ochrum.json 62ec1afee14f9de3f5b02ee930d002a240a3c337 assets/create/models/item/ochrum_pillar.json 226f99c241b1d8b03d8fc57db32c1bee0721b64f assets/create/models/item/orange_postbox.json @@ -2274,7 +2274,7 @@ af50363d603d61340b336569d58c1febde253665 assets/create/models/item/ochrum.json 96cc543d5afed90a022ece7b8671cd47a9b6fb68 assets/create/models/item/orange_toolbox.json 7e767ca9e0ddb769b38fabd9289648ac63f5413d assets/create/models/item/orange_valve_handle.json 82152bca4310111d91584a2a78f05e158bb4bd90 assets/create/models/item/ornate_iron_window.json -f9064c1f199bcd8db321078e2363ed91cb2acc09 assets/create/models/item/ornate_iron_window_pane.json +ca749a88faeef441c55c0527d81257187938b6b0 assets/create/models/item/ornate_iron_window_pane.json 09b3cd8ff7b29a6dd59f739a95bb708646d23537 assets/create/models/item/oxidized_copper_shingles.json c9c7ccdb68de2e77cd9f7053fab19493dd30a985 assets/create/models/item/oxidized_copper_shingle_slab.json 89c5f7a0a28f238ebed2641e243a47e4be2ad5ab assets/create/models/item/oxidized_copper_shingle_stairs.json @@ -2471,7 +2471,7 @@ ab4e7695e99548f83a89f3d5ad7690a576bafcc0 assets/create/models/item/small_veridiu 67804bdd890f167010f6101a700e85a3245f4cc3 assets/create/models/item/speedometer.json 4bc463849e2309aa7bb996c403bfb565e950aa49 assets/create/models/item/spout.json 09784bf20529fdc5bb76892c10cea14187748a82 assets/create/models/item/spruce_window.json -368bc939a79864c4bce0fa05d91760bd75c9e5cd assets/create/models/item/spruce_window_pane.json +693cdacb67b28b5d69c8541fd1e0c246b26260ae assets/create/models/item/spruce_window_pane.json b82ab0c69df330f6f938ed1beee7b4add67d2e50 assets/create/models/item/steam_engine.json 24acc593a5e910b6301afcb3f23cba526d23a0ab assets/create/models/item/steam_whistle.json 54f200be903e056e5cf9e2186f0a0a51f8f0f84e assets/create/models/item/sticker.json @@ -2484,7 +2484,7 @@ c04a4ef6debb04d305d74d9b034c1e95c6b9e956 assets/create/models/item/stock_link.js a10bb4d6d1a4483a806e3aaa086d48c0e20aaefe assets/create/models/item/super_glue.json dddac09bb9dd962d99502ab10929ae6886fbd831 assets/create/models/item/sweet_roll.json 6264be89eb998566b171beb073594393041780ca assets/create/models/item/tiled_glass.json -0ef4d2df2a4096b87b86506efc5c9404944fe982 assets/create/models/item/tiled_glass_pane.json +20fde7ab92e521fe861374148b240378990e9e12 assets/create/models/item/tiled_glass_pane.json 4683ab824d93cd96a82143eb9c62c9777f278f18 assets/create/models/item/track.json c4bd1224b988ca10708fe9538a0baa8b88272eb5 assets/create/models/item/track_observer.json 236d89ebd8ae45344b374264d39947d82a2d1914 assets/create/models/item/track_signal.json @@ -2499,11 +2499,11 @@ ba7a9f542e9f65bdce3d3330a95f1166a0be0673 assets/create/models/item/tree_fertiliz 63a159b54de6a31ee265750e4af4b1990820eda6 assets/create/models/item/veridium.json 38970acde350735e00b53e6836ccee428c630fcc assets/create/models/item/veridium_pillar.json 9b2e4da1ab7e20cd744adb469dd3690e33cc905f assets/create/models/item/vertical_framed_glass.json -63d94954704691fccde1b13b320ec62a4e12a13a assets/create/models/item/vertical_framed_glass_pane.json +1eda3a4bc309eb9f125c583c1d398a1cb9e3a4e7 assets/create/models/item/vertical_framed_glass_pane.json b0f6d37aa695395e28a23d36775092f63ab3f5a5 assets/create/models/item/vertical_gearbox.json 011ef16e912638b4095d34c8c711ebd67cb85fba assets/create/models/item/wand_of_symmetry.json 9c5087114e35052c5e56bb752252de5d092408c5 assets/create/models/item/warped_window.json -83502f4b8d0134e793611b36a56cca59af097ed5 assets/create/models/item/warped_window_pane.json +cdc1226f8a098adbc420fe50c98466507c3a3157 assets/create/models/item/warped_window_pane.json e5939b47bf7440dc101c667e68ef6bf750a3290f assets/create/models/item/water_wheel.json be2f058a7ecb015599ee052ec27c4360d636999a assets/create/models/item/waxed_copper_shingles.json adc188e4e48bea80607c6e0c7076c9bdd7236cb0 assets/create/models/item/waxed_copper_shingle_slab.json @@ -2537,7 +2537,7 @@ dadc7b65a4527e288c21a20df978796a8c444fd2 assets/create/models/item/waxed_weather 0c3989b44fde934ba8b88b071887e5ede522c417 assets/create/models/item/weathered_copper_tile_stairs.json b5d591fbb40e062efe301b3b3b49580e5ad64566 assets/create/models/item/weathered_iron_block.json a569ddd725898a86f8745e46723edeff7fe7f2e9 assets/create/models/item/weathered_iron_window.json -a262cbdf9aa0c240f623dcadd42864d280d36978 assets/create/models/item/weathered_iron_window_pane.json +68ca3316942b2df1623893cda722402238ab7724 assets/create/models/item/weathered_iron_window_pane.json 79431edb868e6560f4f6d5b3441c0176c7699f5e assets/create/models/item/weighted_ejector.json 0fd2214cdff8a92e05d9d5ee888329b3235143c0 assets/create/models/item/wheat_flour.json aacced59d21212090d508a9684bb46c9472a8a2f assets/create/models/item/whisk.json @@ -4710,6 +4710,7 @@ d371dfd35e49a7bef19f59c03e7f4ae20992f03d data/create/tags/items/create_ingots.js 910d0f5ccbc4c84b224eca1f1588b1695f41447b data/create/tags/items/crushed_raw_materials.json 0fa526e7e742573b603ad26b09526cf724efa1dc data/create/tags/items/deployable_drink.json ebd7b09daf2f64c0c04d821696b0e145683d8693 data/create/tags/items/dyed_table_cloths.json +d2bb65d893d71d2d9871f81f430c233a93adb4bb data/create/tags/items/invalid_for_track_paving.json 1cebeb92bd514b75d54ac6d5708047801f0501c5 data/create/tags/items/modded_stripped_logs.json 586f8fc5a8b8559c9dc0017e13c78ad918688fae data/create/tags/items/modded_stripped_wood.json b96668734c9b7a90348235217512d49193e4ea7f data/create/tags/items/packages.json diff --git a/src/generated/resources/.cache/b256105d8411632b0d585496ea8944a751a08034 b/src/generated/resources/.cache/b256105d8411632b0d585496ea8944a751a08034 index 49aee18271..e92c8b95a1 100644 --- a/src/generated/resources/.cache/b256105d8411632b0d585496ea8944a751a08034 +++ b/src/generated/resources/.cache/b256105d8411632b0d585496ea8944a751a08034 @@ -1,1083 +1,595 @@ -// 1.21.1 2025-01-07T20:10:31.361889083 Create's Processing Recipes -572799c097aebf14fc749f75ae1f6ca804fed907 data/create/recipe/compacting/andesite_from_flint.json -7e6fbf70d0522b2550d95e42ac0d8dcf6bf7e06e data/create/recipe/compacting/blaze_cake.json -8dbac7f9fec6996c6a98278d909c3b6a12b34a4d data/create/recipe/compacting/chocolate.json -ea08bf39550e657573aa72ffe929589bfad155b0 data/create/recipe/compacting/diorite_from_flint.json -658a21ca4aa0a19c66e8134a5157d37c1be86c86 data/create/recipe/compacting/granite_from_flint.json -7c20b60a65977ed5a656cdfb1c75a3a9a2964b7d data/create/recipe/compacting/honey.json -7c6ad5c34d736841134d483564c37f149c6a91f3 data/create/recipe/compacting/ice.json -44748f1b7dca7f7497262d3d9a1f70da8f5d23c0 data/create/recipe/crushing/aluminum_ore.json -1ed054cb1434b4baf8e0f05c73e81f7188302cbc data/create/recipe/crushing/amethyst_block.json -2199b41e52fc1401a2e5944d2011146318560291 data/create/recipe/crushing/amethyst_cluster.json -925605d1d4f141302092d089627b4238053b1d51 data/create/recipe/crushing/asurine.json -69b91dbf88cee1e665502e7d2803209a270dcaaf data/create/recipe/crushing/asurine_recycling.json -aa5ff98dc34bddf7d15198b55f99e58a18b690fa data/create/recipe/crushing/blaze_rod.json -4a0d89ee45a3da85c31e35adcebce1f4e3a8f556 data/create/recipe/crushing/coal_ore.json -e405ddf7ee308e3ec553da01326fc3a9fcb0cba2 data/create/recipe/crushing/compat/aether/ambrosium_ore.json -2edb375e9021eb8417a98f4f74e6205918449bd0 data/create/recipe/crushing/compat/aether/zanite_ore.json -b53d60466c6025cfca4fc47d63bc2ccdcc4438e7 data/create/recipe/crushing/compat/byg/ametrine_ore.json -53be52d9e2263780481858fcd0aaa379d58f7879 data/create/recipe/crushing/compat/byg/anthracite_ore.json -a7b7e64b27856ed2b402e3d446055526b23c2004 data/create/recipe/crushing/compat/byg/blue_nether_gold_ore.json -f9e04d672cd84437027384d15096e4417f12875a data/create/recipe/crushing/compat/byg/blue_nether_quartz_ore.json -9b04ca5a6001ebf8edd43847ab313e9c8bdd5ce7 data/create/recipe/crushing/compat/byg/brimstone_nether_gold_ore.json -93f906ba7a41b477319272e3b58fc1d3cb9f302f data/create/recipe/crushing/compat/byg/brimstone_nether_quartz_ore.json -77fae8f47a2a8d8e61934852495098c05cff980b data/create/recipe/crushing/compat/byg/cryptic_redstone_ore.json -3f08fa2ef0eb2b24a61d25adc2167c16caa063b5 data/create/recipe/crushing/compat/byg/emeraldite_ore.json -4885a191732588b7055ec40b29b65699a6f2d443 data/create/recipe/crushing/compat/byg/lignite_ore.json -73d9cd0f616dda8f677a82c31c7a76fd2d735f17 data/create/recipe/crushing/compat/byg/pervaded_netherrack.json -faf3c7da1488e55a77b7d9824d584557783a7fb5 data/create/recipe/crushing/compat/byg/red_rock.json -b65ac984312b100057140f2d3140431d7aab8c2a data/create/recipe/crushing/compat/druidcraft/amber_ore.json -bf99cc18be878088f40fe8af76aa2ea1b5cfb7b9 data/create/recipe/crushing/compat/druidcraft/fiery_glass_ore.json -88653110867a78e681cbbe1a12d058fa25c7d090 data/create/recipe/crushing/compat/druidcraft/moonstone_ore.json -b10a3a5e528d7f5d4056c5ffc6f1a4e8609e9f99 data/create/recipe/crushing/compat/elementaryores/ore_coal_end.json -5e7e0da81bbf09e8965449eca6104642aeed7acf data/create/recipe/crushing/compat/elementaryores/ore_coal_nether.json -af539584e1b6ad6ca87b589a11fe107b4de6c68c data/create/recipe/crushing/compat/elementaryores/ore_copper_end.json -1462b6fa9647d203ba0870b803914f8df187f16d data/create/recipe/crushing/compat/elementaryores/ore_copper_nether.json -3deaf0e9210212dcc28231847442cf60bffba151 data/create/recipe/crushing/compat/elementaryores/ore_diamond_end.json -39cf7012c10b9ea01bae80520db918a9aad1dd40 data/create/recipe/crushing/compat/elementaryores/ore_diamond_nether.json -608e9c35b55b08c1d0241fa5ced8594365127509 data/create/recipe/crushing/compat/elementaryores/ore_emerald_end.json -a04cd0743e8cec381cc187c45c95f28700fa0c6d data/create/recipe/crushing/compat/elementaryores/ore_emerald_nether.json -3c3562e57e89219c3c90ba75aaa3b5588ba46684 data/create/recipe/crushing/compat/elementaryores/ore_ender_end.json -e1156765a2b9f25755a2aecbedec6a43955a8bc5 data/create/recipe/crushing/compat/elementaryores/ore_ghast_nether.json -39195dfdf163901f7f1192f2313efb93d3c8ac37 data/create/recipe/crushing/compat/elementaryores/ore_iron_nether.json -6460467fd04cbde70ef60bf8d12e516361c67022 data/create/recipe/crushing/compat/elementaryores/ore_lapis_end.json -2851f244cd3274383338813eaba81f04e5f54641 data/create/recipe/crushing/compat/elementaryores/ore_lapis_nether.json -317a205195df875eb522257a7eef37d1f584bbb9 data/create/recipe/crushing/compat/elementaryores/ore_redstone_end.json -cda37029ccceef8985165271a8863af3ba49437e data/create/recipe/crushing/compat/exnihilosequentia/andesite.json -d54aa2afa4fc6f416ae4fee40d1609e5aba971f2 data/create/recipe/crushing/compat/exnihilosequentia/crushed_diorite.json -e9cbc5c44f2996197e4c6ed2823dfcb13c371be0 data/create/recipe/crushing/compat/exnihilosequentia/crushed_netherrack.json -41fb604123b86aa8b52bfb1b4eaad710ce1326a7 data/create/recipe/crushing/compat/exnihilosequentia/diorite.json -8566823e313b26a7414d9064a83aa34d6e18286d data/create/recipe/crushing/compat/exnihilosequentia/dust.json -b3c620a3c1153b0abfba736a0d896aaf8cf4f72e data/create/recipe/crushing/compat/exnihilosequentia/end_stone.json -9faadd74425f95bb316955c9239cbab0af3ee00c data/create/recipe/crushing/compat/exnihilosequentia/granite.json -cccb32c46ee5511f43fd95cbaad09ac873081396 data/create/recipe/crushing/compat/exnihilosequentia/netherrack.json -6f4c11151903b25f923e7b566f06e5670a10e23d data/create/recipe/crushing/compat/galosphere/allurite.json -6120cdb5b436c44864205233f63e09e01ec7a5ed data/create/recipe/crushing/compat/galosphere/amethyst.json -3c81af6a84e9d9a475f80edbfcdefc407880908c data/create/recipe/crushing/compat/galosphere/lumiere.json -fe14eda3aeb28146f325dc2f764127633333304c data/create/recipe/crushing/compat/neapolitan/ice.json -3c3f83aef2376e8995b71c30899483404e07e744 data/create/recipe/crushing/compat/quark/moss_block.json -67cdb298640759d08f7230c21db11089e8081830 data/create/recipe/crushing/compat/silentgems/alexandrite_ore.json -8435e8896336488decad587a3bd0cb73330fbdcb data/create/recipe/crushing/compat/silentgems/ammolite_ore.json -e110caba87e71160f446e93e831d13e448120408 data/create/recipe/crushing/compat/silentgems/black_diamond_ore.json -4284609d480e5191ca9274ea14ce41784c93543d data/create/recipe/crushing/compat/silentgems/carnelian_ore.json -50a06efe7c77644b190fe0d90352a82bfee05322 data/create/recipe/crushing/compat/silentgems/citrine_ore.json -eee27db709b44cf022eaaa9959f2f4898eb638a3 data/create/recipe/crushing/compat/silentgems/iolite_ore.json -437b4dedd7cba52c1431b09a34c68b3a088288b3 data/create/recipe/crushing/compat/silentgems/kyanite_ore.json -755c22dd3e752769715fef80177b7262fa64e646 data/create/recipe/crushing/compat/silentgems/moldavite_ore.json -6b8262d1fdf41b7c2f1548adf44b17b01a3cde57 data/create/recipe/crushing/compat/silentgems/peridot_ore.json -d613c94da727eda5073704d706855b329a4c9e7a data/create/recipe/crushing/compat/silentgems/rose_quartz_ore.json -c79223ece7dd2c4cd8ad9b235e2c69aed1cf48d3 data/create/recipe/crushing/compat/silentgems/ruby_ore.json -7e92e58d5aa8e7c6c2e01aa57c72362a85fa7b08 data/create/recipe/crushing/compat/silentgems/sapphire_ore.json -48451f824c389578517f4361da07d4c4d40b3798 data/create/recipe/crushing/compat/silentgems/topaz_ore.json -f0193b29cd2c78e7aa09ee2de335081e7609217f data/create/recipe/crushing/compat/silentgems/turquoise_ore.json -72621881e90cef1a1edf151557fe7eb0b2e27fae data/create/recipe/crushing/compat/simplefarming/barley.json -cc0f86f58583b9de194be0ef1a03214a0c4ff4ad data/create/recipe/crushing/compat/simplefarming/oat.json -08e14a5f612e981642b87ac4cd127f13a09184ba data/create/recipe/crushing/compat/simplefarming/rice.json -bb721fc80477e6160cb1f026a1df429b2e4cf71c data/create/recipe/crushing/compat/simplefarming/rye.json -83ca56fe3242cf9574c4ce48f2e2456f4378ac09 data/create/recipe/crushing/compat/thermal/apatite_ore.json -b7d9ec3cc384bcc67c222c1b1fcb4b9551afa8b6 data/create/recipe/crushing/compat/thermal/cinnabar_ore.json -5d7e5125728542afe80f43484b32929f86e5a284 data/create/recipe/crushing/compat/thermal/niter_ore.json -188f8d5d3485425ee49619406cdd30fb663e0017 data/create/recipe/crushing/compat/thermal/sulfur_ore.json -bf90a16de0c6671c86396a39a217bdc19a3d1e64 data/create/recipe/crushing/copper_ore.json -435d81886a5eb48e1ffe1602ec2a97f8746f4c51 data/create/recipe/crushing/crimsite.json -03b3790cbc847dcd9b93450060015b5ed375de0e data/create/recipe/crushing/crimsite_recycling.json -20fa434e89d64022c0a950a60058048bd383fc56 data/create/recipe/crushing/deepslate_coal_ore.json -0d651f008bc02fb1a9910e5d4d6a56f1879732ea data/create/recipe/crushing/deepslate_copper_ore.json -03ba9c7167a9dff15bfa49217c34818525225d11 data/create/recipe/crushing/deepslate_diamond_ore.json -7c26913f4487649d48a91b9289751e20a89e0d01 data/create/recipe/crushing/deepslate_emerald_ore.json -a2c3f344e09f55b921a773e2e34dfecb2a5a2903 data/create/recipe/crushing/deepslate_gold_ore.json -32932965993ef9996dbb17a8f622ddf606cdb693 data/create/recipe/crushing/deepslate_iron_ore.json -3ee29040ff20082e7fbde678258f31017d202e49 data/create/recipe/crushing/deepslate_lapis_ore.json -d1876c2348e8a10c022890f745d62a962e7a1b88 data/create/recipe/crushing/deepslate_redstone_ore.json -28a93265edf6d012f001d3200b1c6e7e7a1dac26 data/create/recipe/crushing/deepslate_zinc_ore.json -f945d56604e95bf23380fc641a84989b1f281802 data/create/recipe/crushing/diamond_horse_armor.json -43b78465865bc0e721ed972483bcb0b15b9c9497 data/create/recipe/crushing/diamond_ore.json -74bd4f96a3fe4f897528d48df2a9a3ede17568e2 data/create/recipe/crushing/diorite.json -8ed13703e3aae5d7ef9ea2411a86382db337a52c data/create/recipe/crushing/diorite_recycling.json -69829c7eef2898f8cbf4ab03c528b50ac3ff9254 data/create/recipe/crushing/emerald_ore.json -b565b36f499ec6dc339a3e055aac13e8f1c4187d data/create/recipe/crushing/gilded_blackstone.json -7a66ea3c61a825bdfc929bbba2d8b39dcb91e236 data/create/recipe/crushing/glowstone.json -9d3468ee6ef64f762595810c3cecdbf38a35cb2e data/create/recipe/crushing/gold_ore.json -3fe5abbf24a18b85695010021591776e9ef30583 data/create/recipe/crushing/golden_horse_armor.json -23d71da26afe528f9627cc03c925d330b9775ccd data/create/recipe/crushing/gravel.json -ce354673afb91098b1cce7d4c52d51cd3b66ebc3 data/create/recipe/crushing/iron_horse_armor.json -04d673472c2ed67deb29dc4e0615ff31b0edb28d data/create/recipe/crushing/iron_ore.json -eac9f6990f3add9165a9d300329db25b62a385e1 data/create/recipe/crushing/lapis_ore.json -714fa978bf993c8422ae09a008d1a03f48b33930 data/create/recipe/crushing/lead_ore.json -571a435b8491013b0a39d189b6ff5311d0ec433d data/create/recipe/crushing/leather_horse_armor.json -c5da7ae379d8bd05b9cd3093a339a30c34718899 data/create/recipe/crushing/nether_gold_ore.json -c1869a69a2aab62da49345c5c01d6b8ae2efe91e data/create/recipe/crushing/nether_quartz_ore.json -b8cf8e77bf02bd3e801711e81ac161bc80675ac9 data/create/recipe/crushing/nether_wart_block.json -b5d9c9557df93eb64cfd7449925d9bf07c819626 data/create/recipe/crushing/netherrack.json -a2031116fd07957b12b0373368e9451bbc35d115 data/create/recipe/crushing/nickel_ore.json -ac183b7ec3b376fec9a95ac39168f4d88f7592e8 data/create/recipe/crushing/obsidian.json -8a4c9109c4075821d53bd025d357c34fe877e506 data/create/recipe/crushing/ochrum.json -9f26acc72e9cb481ed49b1805eb454cc2494db31 data/create/recipe/crushing/ochrum_recycling.json -48e8a26fe18db97de705a00bfb530074cb8c8853 data/create/recipe/crushing/osmium_ore.json -d12acd398aff8c2a3f75ad6b233c303f2a50a008 data/create/recipe/crushing/platinum_ore.json -4b262c906ad858cf17646e035942bea1dd617df9 data/create/recipe/crushing/prismarine_crystals.json -781837ae8941c36a6b9f8a06b3c15931334405b6 data/create/recipe/crushing/quicksilver_ore.json -1e82c82035f33f94e43acca2f416e490d3d3835a data/create/recipe/crushing/raw_aluminum.json -eaf1f1c4ee9e4db489148c6bb9618b060f90c0aa data/create/recipe/crushing/raw_aluminum_block.json -103d8f88aad76e0e0dd2986924dc3f1284e5d249 data/create/recipe/crushing/raw_copper.json -b8c0bc1188f3cc8d051249a21fdb182c727ed3a4 data/create/recipe/crushing/raw_copper_block.json -3648ab62b705918249549d4b2c367483fc18a160 data/create/recipe/crushing/raw_gold.json -45416049da389e8171f97929c50994a044bcf73a data/create/recipe/crushing/raw_gold_block.json -2d9da6d7a431893af09320d6c4fedf044d0470cf data/create/recipe/crushing/raw_iron.json -9d1a3f0cab93c4d1f0591a4c64f01c25ad7e082d data/create/recipe/crushing/raw_iron_block.json -9c4262f58e4d65d775f92947427cefb72050a318 data/create/recipe/crushing/raw_lead.json -a1294b9f28bd11f051bea407a0ac25413de81f32 data/create/recipe/crushing/raw_lead_block.json -3db3ee2aeb897631f70758fdb7411441e5082dd0 data/create/recipe/crushing/raw_nickel.json -0a40ba4fe7a4ab6f595d9c3d65050f96e92b50b8 data/create/recipe/crushing/raw_nickel_block.json -53d09926a5586dc1da03bab93b4b2f12b4c28c02 data/create/recipe/crushing/raw_osmium.json -ef02f22116c4ca8c22621da00a0d09135c6242fc data/create/recipe/crushing/raw_osmium_block.json -885ad22ac1fe1d3e92a4176684438c1881ea2f99 data/create/recipe/crushing/raw_platinum.json -ad9d2d06722830bffc2ff25a1dba4fe1bba2b43e data/create/recipe/crushing/raw_platinum_block.json -5a95b94745e3e60c36be0aea895b4a3b69066cd8 data/create/recipe/crushing/raw_quicksilver.json -d000713b7d2dfa4558979ef39c6d0863fb3cad76 data/create/recipe/crushing/raw_quicksilver_block.json -17768a5631b2b308e947fe19b6e39123201eea59 data/create/recipe/crushing/raw_silver.json -822f14a5b3f611892ad20c58523b2a1c2d222f8e data/create/recipe/crushing/raw_silver_block.json -982e33b756aaf5835fe77ac3b6645f0d90a02855 data/create/recipe/crushing/raw_tin.json -dff789bd22e2843b123894d3033c2b6e004e40bc data/create/recipe/crushing/raw_tin_block.json -ab61f2f29a0e4ee61482ecd2e13ce14445a42c78 data/create/recipe/crushing/raw_uranium.json -867419579a9de62a5841ee50d9057df6b791a5ba data/create/recipe/crushing/raw_uranium_block.json -5e6845b8b63856026d5d5435079bc917ca857934 data/create/recipe/crushing/raw_zinc.json -b073c9d506808a0eaad084f3f9f8b2a61619957a data/create/recipe/crushing/raw_zinc_block.json -83128d982073f30d527a33312e66041b6d86f06f data/create/recipe/crushing/redstone_ore.json -63c613250f76139f18493ed1f9bab6a1c740a065 data/create/recipe/crushing/silver_ore.json -39f05a199ce6d84a14e5b4db35f527cd399efb96 data/create/recipe/crushing/tin_ore.json -dd9333751e1e5261041fabce0f3db17ad4a66852 data/create/recipe/crushing/tuff.json -ea4276769e4cc3eea8b4b3b437684283d973f7b8 data/create/recipe/crushing/tuff_recycling.json -5cdb9363f80a063b5fd9a6a58b3323ab9312b009 data/create/recipe/crushing/uranium_ore.json -c36a33d745a1fc6795c4bf2990f9fc5b6f7b60a5 data/create/recipe/crushing/veridium.json -48d7bec7bec3d3052507c035db59f3b4833fdda2 data/create/recipe/crushing/veridium_recycling.json -258fed2658725245b6685f10c3f588ba7072b45e data/create/recipe/crushing/wool.json -641a82c01ce0f66043a03ba54aa220dc0421328d data/create/recipe/crushing/zinc_ore.json -5b13fef630eda10d822a9bb95152bcdfca874bca data/create/recipe/cutting/acacia_log.json -85e91e992917b752ef1b5d6c21caf94478c1e768 data/create/recipe/cutting/acacia_wood.json -c20fb8873a3719debc2079620222a86bcce38063 data/create/recipe/cutting/andesite_alloy.json -94ac1d0c23603407aba46235b5a773f42f09d688 data/create/recipe/cutting/bamboo_block.json -0697284fd9bb2ac60a9adc9f0530418e8e73af1d data/create/recipe/cutting/bamboo_planks.json -9a0fd2e1ca9cf2b91391423a2fb0959fc219dd10 data/create/recipe/cutting/birch_log.json -65f28d91f257540d90d78bf3efb0f810134ed6f5 data/create/recipe/cutting/birch_wood.json -f7e15a9990acb5ac875c6fd0926a0d59b8660101 data/create/recipe/cutting/cherry_log.json -8d0d66fc2e79c84cd57e08b4968c432b42a44e23 data/create/recipe/cutting/cherry_wood.json -ce585cdee75453e79cd9603ef37f977febce50ed data/create/recipe/cutting/compat/architects_palette/stripped_twisted_log.json -6f939fbb7f1e36d1d70a4947f58a2a1ce9fdd87a data/create/recipe/cutting/compat/architects_palette/stripped_twisted_wood.json -cc2a73928ede4aa280b4067c1b4c19c6768fc5f8 data/create/recipe/cutting/compat/architects_palette/twisted_log.json -48355b0ff47c89fc87a13b23d64aba386bfdf2f3 data/create/recipe/cutting/compat/architects_palette/twisted_wood.json -82ecd83aee1a8343099aec76af5ee8ee3128a580 data/create/recipe/cutting/compat/ars_nouveau/blue_archwood_log.json -ad2aeed00ce55b55abcb37dff33cb269482ecfa0 data/create/recipe/cutting/compat/ars_nouveau/blue_archwood_wood.json -04c4538d334201b3d0c8274880329b1887450a34 data/create/recipe/cutting/compat/ars_nouveau/green_archwood_log.json -f0e1322f5a582e673cdbfda69560eac9be0f405d data/create/recipe/cutting/compat/ars_nouveau/green_archwood_wood.json -77cbbfb8b6c67aadb52a2c35790cd33f228326c4 data/create/recipe/cutting/compat/ars_nouveau/purple_archwood_log.json -b0e9a3dc1c4c03c35592a861e76ef02af899c13c data/create/recipe/cutting/compat/ars_nouveau/purple_archwood_wood.json -d683f9c371464f1ac6ff0a18bcb65b63b824e4d5 data/create/recipe/cutting/compat/ars_nouveau/red_archwood_log.json -05b11e0534ed2fefd66a202daa71b7124620e388 data/create/recipe/cutting/compat/ars_nouveau/red_archwood_wood.json -aed8df4c960ba4769f896845a96832e52f85563a data/create/recipe/cutting/compat/ars_nouveau/stripped_blue_archwood_log.json -2194ca587c7d4f7d183ad7bdc9aff4849cc4e14f data/create/recipe/cutting/compat/ars_nouveau/stripped_blue_archwood_wood.json -e205f1bf931021674467773242db408d6476e645 data/create/recipe/cutting/compat/ars_nouveau/stripped_green_archwood_log.json -d5c01d60cc06c8ea5cd05127a38ad83737d5c445 data/create/recipe/cutting/compat/ars_nouveau/stripped_green_archwood_wood.json -9f1da6d69da31cb09b4401f84b6bc7ce3a1e6b7c data/create/recipe/cutting/compat/ars_nouveau/stripped_purple_archwood_log.json -a230c02d817aaec7e5116618bbcff9dc2ab7824f data/create/recipe/cutting/compat/ars_nouveau/stripped_purple_archwood_wood.json -975193613f0442e55916d6e23e8c7dde6ef21be8 data/create/recipe/cutting/compat/ars_nouveau/stripped_red_archwood_log.json -5e74379882a1bc30ccc5ec53a8bf44cef04b71d8 data/create/recipe/cutting/compat/ars_nouveau/stripped_red_archwood_wood.json -f0bf9e6f73dedfc350dd9053bb55e8ba9f08c32f data/create/recipe/cutting/compat/atmospheric/aspen_log.json -9f0de9dda90dc8cfe193ac68f5d74a33cc05bc19 data/create/recipe/cutting/compat/atmospheric/aspen_wood.json -52a812afff73cceccd124beba335ca4fca4855a2 data/create/recipe/cutting/compat/atmospheric/grimwood.json -9688965c44a5fa3ae9a74d3506d2f844e7888b54 data/create/recipe/cutting/compat/atmospheric/grimwood_log.json -e183766fe48daf0fcd74e4e2a8703cd63271b0f3 data/create/recipe/cutting/compat/atmospheric/kousa_log.json -1c0653ec8dc185626b8190211696aa5c08a6a67e data/create/recipe/cutting/compat/atmospheric/kousa_wood.json -f03777d3c5e7dd558f23820b8c2e5c7df9adde02 data/create/recipe/cutting/compat/atmospheric/morado_log.json -ffb49b3726cb142761136a61d69b22cb2dfbc594 data/create/recipe/cutting/compat/atmospheric/morado_wood.json -367cefcdb431a245dfe4d41b5a3bd392ecdc992d data/create/recipe/cutting/compat/atmospheric/rosewood.json -c5e626f5cb1c18a3a212cb4ad503c0b072fa4d80 data/create/recipe/cutting/compat/atmospheric/rosewood_log.json -7eee74b99813fd47b18a4b64b0f2a8726d8da523 data/create/recipe/cutting/compat/atmospheric/stripped_aspen_log.json -14297e222d4e479b66c523ac96a297f09ad64aaa data/create/recipe/cutting/compat/atmospheric/stripped_aspen_wood.json -f95f0e02cc5f77a347ce2be7a023e9de38c578fd data/create/recipe/cutting/compat/atmospheric/stripped_grimwood.json -1fa6d5573a5dfb79b2fb21b7c428e255d85ad8ec data/create/recipe/cutting/compat/atmospheric/stripped_grimwood_log.json -fc1e61952676df4804e36e55f555c22e94ae3bc2 data/create/recipe/cutting/compat/atmospheric/stripped_kousa_log.json -de3b8924a45fcc243aa52ab1ecda18048224cc9f data/create/recipe/cutting/compat/atmospheric/stripped_kousa_wood.json -4aea0f6b7c62ede565e0b2df5d535dc770c14eff data/create/recipe/cutting/compat/atmospheric/stripped_morado_log.json -3a395ff22a7428503f03105e0349ae6e56f38d83 data/create/recipe/cutting/compat/atmospheric/stripped_morado_wood.json -5fd59ef4652d04fbdbcc3e05bc4567ee2506f0ab data/create/recipe/cutting/compat/atmospheric/stripped_rosewood.json -d453968c4a85e7314895e923e4ccbdfc12bebf1c data/create/recipe/cutting/compat/atmospheric/stripped_rosewood_log.json -b03b5f4551dc79a9f9305aa58840d9da580434ee data/create/recipe/cutting/compat/atmospheric/stripped_yucca_log.json -e43dce3178917970e36e01a97029b42e86856502 data/create/recipe/cutting/compat/atmospheric/stripped_yucca_wood.json -400d69136c3250e7ea4fa88fb4aa862e2f9df2e7 data/create/recipe/cutting/compat/atmospheric/yucca_log.json -879845cbcb2c4b73fefd94bdf8345f56b778ef62 data/create/recipe/cutting/compat/atmospheric/yucca_wood.json -0e0e3bf34bead18c9e627baf6a1d499fc552f293 data/create/recipe/cutting/compat/autumnity/maple_log.json -562d678caea119025e711ebf2be694ea21ed5d5c data/create/recipe/cutting/compat/autumnity/maple_wood.json -54abccf814b96013a6887ce5ba2ed83dfb40e3a7 data/create/recipe/cutting/compat/autumnity/sappy_maple_log.json -a9d85463e4a0ab58467075e573fff5067d831d7f data/create/recipe/cutting/compat/autumnity/sappy_maple_wood.json -6cd84ab2cbb36f6825dce019b025afb5cddf32ed data/create/recipe/cutting/compat/autumnity/stripped_maple_log.json -0957bacae5824342428f6bca54e44723c1714bae data/create/recipe/cutting/compat/autumnity/stripped_maple_wood.json -7966b264d00e16e3f729f843a340bb3f53571194 data/create/recipe/cutting/compat/biomesoplenty/dead_log.json -be071f4953b3b3702f9c7b55c27aadf84d8de98e data/create/recipe/cutting/compat/biomesoplenty/dead_wood.json -9f68a126896b0046cbbb96a89c4a1be95bcba15f data/create/recipe/cutting/compat/biomesoplenty/fir_log.json -badae6468003b36a264e8a80d280319576477d6f data/create/recipe/cutting/compat/biomesoplenty/fir_wood.json -207488428751ddb90c5ba967710e71cf962e7c53 data/create/recipe/cutting/compat/biomesoplenty/hellbark_log.json -62ade0781bc85bb463aacb47cbd3ec91dcd1ca45 data/create/recipe/cutting/compat/biomesoplenty/hellbark_wood.json -d12be136efe21dc497c867bd05c4a32060639f54 data/create/recipe/cutting/compat/biomesoplenty/jacaranda_log.json -76ca7439529d1e012fe9344090206252c9174441 data/create/recipe/cutting/compat/biomesoplenty/jacaranda_wood.json -8d27f2d047e53b5924ab3f91741e31a7da317723 data/create/recipe/cutting/compat/biomesoplenty/magic_log.json -1b11445787ff920aa3b34276a45126dd64b10c2e data/create/recipe/cutting/compat/biomesoplenty/magic_wood.json -f656c65899b4803540c7221497c0d1e6914f3441 data/create/recipe/cutting/compat/biomesoplenty/mahogany_log.json -a0ea068ef5e52d44234832b40217982144dbb1c1 data/create/recipe/cutting/compat/biomesoplenty/mahogany_wood.json -ab875427f52397b989521753359f686f11ef4ad7 data/create/recipe/cutting/compat/biomesoplenty/palm_log.json -710b2de509f2b540beaac94b80c5123f8c01717b data/create/recipe/cutting/compat/biomesoplenty/palm_wood.json -7174cf3aaa7826c40f59a05eda7afb64ff55c6f8 data/create/recipe/cutting/compat/biomesoplenty/redwood_log.json -260813db1b1d60f66c3ae1ede75126d7adef8401 data/create/recipe/cutting/compat/biomesoplenty/redwood_wood.json -e1e14d3c69ce70063ab6b5c5cc80ab9bb4a8388d data/create/recipe/cutting/compat/biomesoplenty/stripped_dead_log.json -42a88fa872e9a78ae6c5f0e00bbf5e1153eb7dfb data/create/recipe/cutting/compat/biomesoplenty/stripped_dead_wood.json -ba76cca4ebf1a535ba6ffff2a6d4f839170ceff2 data/create/recipe/cutting/compat/biomesoplenty/stripped_fir_log.json -9380c7dd43e6c7822e7e16800c2a84a426a4a86b data/create/recipe/cutting/compat/biomesoplenty/stripped_fir_wood.json -ed5a129015e04b179faa545f08c29dfc244d2e23 data/create/recipe/cutting/compat/biomesoplenty/stripped_hellbark_log.json -4b2691975e99d0aee4287b5bee7a0c929ff93f3d data/create/recipe/cutting/compat/biomesoplenty/stripped_hellbark_wood.json -d93feb5b680a535d1e166675fdbc212287770232 data/create/recipe/cutting/compat/biomesoplenty/stripped_jacaranda_log.json -71620558d73f78088f0bbd6a907cbacfa2682816 data/create/recipe/cutting/compat/biomesoplenty/stripped_jacaranda_wood.json -dc62639999e54982f68162950cd051fd19e559b7 data/create/recipe/cutting/compat/biomesoplenty/stripped_magic_log.json -893e8e38b4b242da67f6e9160bae309e2cdb7637 data/create/recipe/cutting/compat/biomesoplenty/stripped_magic_wood.json -ef0d0af56ba3d0706acce6a2a57b718c1908d7ce data/create/recipe/cutting/compat/biomesoplenty/stripped_mahogany_log.json -3534172ceac5d89f4d48197071c011a651ef275e data/create/recipe/cutting/compat/biomesoplenty/stripped_mahogany_wood.json -017fd12f2b0167333db76fa54e78df9447860b2f data/create/recipe/cutting/compat/biomesoplenty/stripped_palm_log.json -cc0ea010d3b245580c1fba85b440974604853d9d data/create/recipe/cutting/compat/biomesoplenty/stripped_palm_wood.json -0adee67b2c8e43a66d2e51a84199e8512a6fb033 data/create/recipe/cutting/compat/biomesoplenty/stripped_redwood_log.json -38b90db68243938146491e4eef7262723ed947f3 data/create/recipe/cutting/compat/biomesoplenty/stripped_redwood_wood.json -8fde224c52c9120a13dc8ff7a33c90d5bbb8626b data/create/recipe/cutting/compat/biomesoplenty/stripped_umbran_log.json -8b3db3409f1d1bb5120f73bc87f19205f0d6920f data/create/recipe/cutting/compat/biomesoplenty/stripped_umbran_wood.json -5afa0a091fcac4d8084c1c5f149e6617cf2891d0 data/create/recipe/cutting/compat/biomesoplenty/stripped_willow_log.json -2c103fbc9873cb0ac7c5f55d36d04c5cdb9f0b94 data/create/recipe/cutting/compat/biomesoplenty/stripped_willow_wood.json -0a1c67de792e86010d928fba3d93e4706d9272a8 data/create/recipe/cutting/compat/biomesoplenty/umbran_log.json -e063f4882990bacbd57163b887bef3a1dbf5952a data/create/recipe/cutting/compat/biomesoplenty/umbran_wood.json -11219afc5c7dc2bb253ae808a22ec90fdd79bdf6 data/create/recipe/cutting/compat/biomesoplenty/willow_log.json -a8e3d66f6f6771d878024b41846da9758d245d24 data/create/recipe/cutting/compat/biomesoplenty/willow_wood.json -a82f46a466df9b64e0d514a6d87674499e53beca data/create/recipe/cutting/compat/blue_skies/bluebright_log.json -70e42c7879850ef6967e885736a7d8b526bb033f data/create/recipe/cutting/compat/blue_skies/bluebright_wood.json -5dad91fdb8edd5cfab40e57491e249970ed1a355 data/create/recipe/cutting/compat/blue_skies/crystallized_log.json -21aa663eba164ef54103639d78d5a3bf23e1c974 data/create/recipe/cutting/compat/blue_skies/crystallized_wood.json -3d4d6cf3ddc803724ecbd12df88ce9fa658df306 data/create/recipe/cutting/compat/blue_skies/dusk_log.json -bb561cc51a2820a5dcbd47e44b5e8a931fd03ade data/create/recipe/cutting/compat/blue_skies/dusk_wood.json -f91f9a9138472fd612545aadae0a2134e6a861d7 data/create/recipe/cutting/compat/blue_skies/frostbright_log.json -3a43319cd1daf6f2baf8565c71afa6f3050dc573 data/create/recipe/cutting/compat/blue_skies/frostbright_wood.json -8b1567048a6be060700e701e57188fe6dff037d4 data/create/recipe/cutting/compat/blue_skies/lunar_log.json -ed4a9aa5f3ef5805dff87dd8fa1b7301dc28e630 data/create/recipe/cutting/compat/blue_skies/lunar_wood.json -633bd9d37b4682eac9cd6c45033f9254182fb9a7 data/create/recipe/cutting/compat/blue_skies/maple_log.json -b30c92d01b6ffd316d9015ef1e3cec9242b77c2a data/create/recipe/cutting/compat/blue_skies/maple_wood.json -aee628b686084b229e40af3e3749c5a332f5f6b8 data/create/recipe/cutting/compat/blue_skies/starlit_log.json -b86619dba66da4717153b0aa1dc91f20a3b579fb data/create/recipe/cutting/compat/blue_skies/starlit_wood.json -f8a5e28fbb60759517726af9d69e10c0700e187c data/create/recipe/cutting/compat/blue_skies/stripped_bluebright_log.json -62fe52e8d8a7516f3e448edbea7ccfa46fc240d3 data/create/recipe/cutting/compat/blue_skies/stripped_bluebright_wood.json -1193313d20b919393dbc65f61719cb755311ab8c data/create/recipe/cutting/compat/blue_skies/stripped_dusk_log.json -760b5b5713f20936173fb196c6e43d76588c0f23 data/create/recipe/cutting/compat/blue_skies/stripped_dusk_wood.json -b954e347687f49dd3239471108c84c3535798af9 data/create/recipe/cutting/compat/blue_skies/stripped_frostbright_log.json -3666daebd15f71530cfb77b9f12424577213839e data/create/recipe/cutting/compat/blue_skies/stripped_frostbright_wood.json -aa18d21646935118e260d5f840348e7db721f356 data/create/recipe/cutting/compat/blue_skies/stripped_lunar_log.json -768a3e749342b3c6a0bc7fe26edfd6872640e063 data/create/recipe/cutting/compat/blue_skies/stripped_lunar_wood.json -3aa6b53ac1da32f109a30a077af6152cd4328634 data/create/recipe/cutting/compat/blue_skies/stripped_maple_log.json -1c66ed55b1a9c9d63daa8cc100489105f990b5b0 data/create/recipe/cutting/compat/blue_skies/stripped_maple_wood.json -9b09502d4eb67f00fe922963d23912f948ea1c56 data/create/recipe/cutting/compat/blue_skies/stripped_starlit_log.json -41c1ca3768ebdeaeec29ef9520ce1febcd61698f data/create/recipe/cutting/compat/blue_skies/stripped_starlit_wood.json -6201a207251c5c9e43bec09455bdb884b5adc9d1 data/create/recipe/cutting/compat/botania/dreamwood.json -33aa46c66a65d4d707fbcf7944532b44af5e6a7d data/create/recipe/cutting/compat/botania/dreamwood_log.json -79c378394b786a57fe81ac3b456bb93218017ac8 data/create/recipe/cutting/compat/botania/glimmering_dreamwood.json -2d5c80e3014f2b916b663b45c123bc38315073f9 data/create/recipe/cutting/compat/botania/glimmering_dreamwood_log.json -03665791265d561e148e0b8cf1f9e71f7179e587 data/create/recipe/cutting/compat/botania/glimmering_livingwood.json -b6cb4e177cb3967845f119c3bae0a03eafd867c6 data/create/recipe/cutting/compat/botania/glimmering_livingwood_log.json -f76063a8aba7c6496a0b721ccbfb0fe963902e5f data/create/recipe/cutting/compat/botania/glimmering_stripped_dreamwood.json -1481d28289008bd8ab33f228f438ccfd1a656c7d data/create/recipe/cutting/compat/botania/glimmering_stripped_dreamwood_log.json -7925366e1a265768f1923b4456ea788f83021029 data/create/recipe/cutting/compat/botania/glimmering_stripped_livingwood.json -e874cc36de2d4d87d0659e15c926ac38c71c53b9 data/create/recipe/cutting/compat/botania/glimmering_stripped_livingwood_log.json -bf31f982149ff5b53d6382fd644e02e2eeaf0b22 data/create/recipe/cutting/compat/botania/livingwood.json -d1cbac5e80f7b53a675668b0413632091d4d6271 data/create/recipe/cutting/compat/botania/livingwood_log.json -9f3988fa9d0852781a52f5cf40bd6c3ddc811af4 data/create/recipe/cutting/compat/botania/stripped_dreamwood.json -5f44fcaf0c3e01309e5575bd654cc007c18b99ad data/create/recipe/cutting/compat/botania/stripped_dreamwood_log.json -f7a74b757c5acbe1b5bd22f542e7abe34910dac8 data/create/recipe/cutting/compat/botania/stripped_livingwood.json -5128cc5e88760cf1c4828b338cb5c0a72629550b data/create/recipe/cutting/compat/botania/stripped_livingwood_log.json -1350cdb1e79643ff5459d93ad1440c611e704956 data/create/recipe/cutting/compat/byg/aspen_log.json -fa4736668c104e6ea3884f9d7b36e57aafc4b01e data/create/recipe/cutting/compat/byg/aspen_wood.json -890e47c63400315858e20f6302fbd675c23fe272 data/create/recipe/cutting/compat/byg/baobab_log.json -27d16ba627b543257edd7835e1e0daaab43540bb data/create/recipe/cutting/compat/byg/baobab_wood.json -3baf18481db9b81723c74921faa813b7405cc422 data/create/recipe/cutting/compat/byg/blue_enchanted_log.json -3b77a81e45501355488e0bc5bd6a0d7415680e90 data/create/recipe/cutting/compat/byg/blue_enchanted_wood.json -74818fd9117d02f95862a9a6c90662d405d898b9 data/create/recipe/cutting/compat/byg/bulbis_stem.json -514b8d6782aeca8aefb005f27b0a68d8ed9056ec data/create/recipe/cutting/compat/byg/bulbis_wood.json -f2b05cc610f17d3832d516d54218f5dbfcae3ef0 data/create/recipe/cutting/compat/byg/cika_log.json -20c351328ff3ea6de06f7fb68169b08bfde0fcbe data/create/recipe/cutting/compat/byg/cika_wood.json -5c8e39d088f4223adbad015a045911d6bea67871 data/create/recipe/cutting/compat/byg/cypress_log.json -11a3b572d30ab8445c3c74990f503339adcb3b6d data/create/recipe/cutting/compat/byg/cypress_wood.json -5cff27afbc4b05f50291ca0610f53bdd9b8d329b data/create/recipe/cutting/compat/byg/ebony_log.json -b0135bfd2e09d6a79e3e5b1c66c67a099f4c8fc9 data/create/recipe/cutting/compat/byg/ebony_wood.json -7464c9b0d9a1d7c5463c523d16a3443ea7a94dc7 data/create/recipe/cutting/compat/byg/ether_log.json -325edf14822261da3979baf1baea01868ba391d7 data/create/recipe/cutting/compat/byg/ether_wood.json -591242dc37e0bac73382284632d48583cb26b98c data/create/recipe/cutting/compat/byg/fir_log.json -d5c798387e3ee8ce4575fc0f2a39a01e38c2c2fb data/create/recipe/cutting/compat/byg/fir_wood.json -9c6de34c1cb8d629058037abf13be1245daa6ae3 data/create/recipe/cutting/compat/byg/fungal_imparius_hyphae.json -4ab465320a7300676447967fc282cec3b84ae6b9 data/create/recipe/cutting/compat/byg/fungal_imparius_stem.json -74b2ad2e53a1830569c6c0ac40fff22ffb834d25 data/create/recipe/cutting/compat/byg/green_enchanted_log.json -8d41941568c3a762a00b22bddb402b6d6fdc5300 data/create/recipe/cutting/compat/byg/green_enchanted_wood.json -0dab599da77716e9cad9b76c2091f1d12c0eedf1 data/create/recipe/cutting/compat/byg/holly_log.json -538504b6638fcb3585c04e94c0d3f513be25d5c1 data/create/recipe/cutting/compat/byg/holly_wood.json -066ab2d385f134d4e58338566bab455899aeeb6e data/create/recipe/cutting/compat/byg/imparius_hyphae.json -88ea959e6362b17edd1c2bb99a1e88c16c99ebb4 data/create/recipe/cutting/compat/byg/imparius_stem.json -75f4198abb9c93cafc37f12ec7e25885597fe0b4 data/create/recipe/cutting/compat/byg/jacaranda_log.json -85c51fe2785b14ea4669bc0a74ae34106e8224b2 data/create/recipe/cutting/compat/byg/jacaranda_wood.json -5e4fdb54b77c01a2afcbb0893274f12b8fb25954 data/create/recipe/cutting/compat/byg/lament_log.json -792973c2f9385b384b4e8b4be379d38ca3425db7 data/create/recipe/cutting/compat/byg/lament_wood.json -324ffb03ff28cc71701fb01055702c358474c334 data/create/recipe/cutting/compat/byg/mahogany_log.json -d7c88bac0e44186681efe8355c74702dd345355f data/create/recipe/cutting/compat/byg/mahogany_wood.json -d99bca87264edef073d170b27b10a55a92df541c data/create/recipe/cutting/compat/byg/maple_log.json -31d3adb16faefb7740f622992222db2e7cccfaf8 data/create/recipe/cutting/compat/byg/maple_wood.json -7f21ded17f2e9fb961656cea18fe8f87f412a940 data/create/recipe/cutting/compat/byg/nightshade_log.json -f51bbb4dfd35f6d213fc53ead3b2c7948439e251 data/create/recipe/cutting/compat/byg/nightshade_wood.json -d7729abda707052c57755abdccc045d6137fa7d9 data/create/recipe/cutting/compat/byg/palm_log.json -c912f21eba1e2fac89e08844efb9d752e0c45de0 data/create/recipe/cutting/compat/byg/palm_wood.json -5c302970d0db4389cec940e34d1894df96adb9dc data/create/recipe/cutting/compat/byg/palo_verde_log.json -ed31d10f75c4ae015be10f1595eabfb9e383dcc1 data/create/recipe/cutting/compat/byg/palo_verde_wood.json -c8ba8e82f58a4a28699ba617f2e616b1070796ee data/create/recipe/cutting/compat/byg/pine_log.json -736790340d3e7ef85b20e276e405edffe424dc8d data/create/recipe/cutting/compat/byg/pine_wood.json -1748cd1a8ec6fdb4b2ac666af3249c8d134a6dc1 data/create/recipe/cutting/compat/byg/rainbow_eucalyptus_log.json -e4e27cd2669e52017d9d6127ffa49221e795710e data/create/recipe/cutting/compat/byg/rainbow_eucalyptus_wood.json -bab7f446ed2a93eb4caaa72da306985d3b8002ee data/create/recipe/cutting/compat/byg/redwood_log.json -f154429ad357e01e0335b00dc9bf56cd9940d9be data/create/recipe/cutting/compat/byg/redwood_wood.json -5aad3ba39775ac66eaa7441c76c339cf46c45fa1 data/create/recipe/cutting/compat/byg/skyris_log.json -62960dc27d38f8ebf6ae2d8318f6e59231fda95e data/create/recipe/cutting/compat/byg/skyris_wood.json -b9775c54f313d51e2842716a368ca13e2956a4f4 data/create/recipe/cutting/compat/byg/stripped_aspen_log.json -85eaaf5498ccf90c1c1526df9a162e9965dd15f7 data/create/recipe/cutting/compat/byg/stripped_aspen_wood.json -3fad64b03b87c03d50433ccc3ce8e8b2a1506e3a data/create/recipe/cutting/compat/byg/stripped_baobab_log.json -05ee6a50adf42cf1dbe23f745539b5277c1b81df data/create/recipe/cutting/compat/byg/stripped_baobab_wood.json -1f7c540fe00d50a60643f7d2ac43f3d04dd771c4 data/create/recipe/cutting/compat/byg/stripped_blue_enchanted_log.json -08ef4750e7a3027fb29dac665f44d537484f014a data/create/recipe/cutting/compat/byg/stripped_blue_enchanted_wood.json -10361d8837d712fc09f0550e192ae0a4061b5fda data/create/recipe/cutting/compat/byg/stripped_bulbis_stem.json -2565264b81c8486e779ac5a20d6bf2694a2d3a5c data/create/recipe/cutting/compat/byg/stripped_bulbis_wood.json -2b7aa831db6e46320a4e8345f32df1ca1962dec6 data/create/recipe/cutting/compat/byg/stripped_cika_log.json -c726704065a12e5459daa3d99a936d7ee4df8c0b data/create/recipe/cutting/compat/byg/stripped_cika_wood.json -5e5e23b9bf8f68bbc86896fadaf7a3f1097fa0c4 data/create/recipe/cutting/compat/byg/stripped_cypress_log.json -2b14e0b349571f84727243e83675525aaa5dd8b4 data/create/recipe/cutting/compat/byg/stripped_cypress_wood.json -55d45657eedafd439519ca56619a5ca1e5be4d52 data/create/recipe/cutting/compat/byg/stripped_ebony_log.json -1c6062831807df590e202737020d2c5898e7b9b7 data/create/recipe/cutting/compat/byg/stripped_ebony_wood.json -76cc368fc72362fecf91489d86ba54bc7ed3e6eb data/create/recipe/cutting/compat/byg/stripped_ether_log.json -a4abef69f350149f19bc21685d5fc6293009fb58 data/create/recipe/cutting/compat/byg/stripped_ether_wood.json -89c89f5409eba6d8977038122bcdce501c181bb1 data/create/recipe/cutting/compat/byg/stripped_fir_log.json -4e0a2b4467051d3053e2610e1cf3165d28026fc0 data/create/recipe/cutting/compat/byg/stripped_fir_wood.json -f4e788b47153307bee0740bca289955820b0c585 data/create/recipe/cutting/compat/byg/stripped_green_enchanted_log.json -9c9ccb545b3b042822ad637c8bc13a5bb76d4e9a data/create/recipe/cutting/compat/byg/stripped_green_enchanted_wood.json -d6d3bb2b53e2edb1ef79276693b2f70c26ad8bc6 data/create/recipe/cutting/compat/byg/stripped_holly_log.json -8fb54541d3547ebf65feb4b020ba870965ef0c06 data/create/recipe/cutting/compat/byg/stripped_holly_wood.json -6a64b7c58844e6c80555ced14e686ce4ababb562 data/create/recipe/cutting/compat/byg/stripped_jacaranda_log.json -e0b07c7359148eb3e1cadee8b273a0197a942db6 data/create/recipe/cutting/compat/byg/stripped_jacaranda_wood.json -bdb016352e2a301caa5a1a2d1f911d6fe11555f7 data/create/recipe/cutting/compat/byg/stripped_lament_log.json -36a9b8d032b3ec935887fffe6096ae77c02f0656 data/create/recipe/cutting/compat/byg/stripped_lament_wood.json -da723e6c43c560db8c3674b3a64b3dc68b74c094 data/create/recipe/cutting/compat/byg/stripped_mahogany_log.json -fbc0637465a402d9b484b4d7649bf0f19bea9dbe data/create/recipe/cutting/compat/byg/stripped_mahogany_wood.json -e1ff595f4bc5de41ed4ea4cbd3ca57ca15181797 data/create/recipe/cutting/compat/byg/stripped_maple_log.json -53d56afb24f87a67b95738a6a1f462cc37f85274 data/create/recipe/cutting/compat/byg/stripped_maple_wood.json -29038869dd629ea954796905a79ccdaa2b4d49dc data/create/recipe/cutting/compat/byg/stripped_nightshade_log.json -92bfb092147a267bd8f00505bf22a4c5930d2b78 data/create/recipe/cutting/compat/byg/stripped_nightshade_wood.json -ab3ac6f158770400d0b38e7647fb67c313bb18ec data/create/recipe/cutting/compat/byg/stripped_palm_log.json -aaeda53e33a4fd3c014a04f8d59aa93bc569bbd3 data/create/recipe/cutting/compat/byg/stripped_palm_wood.json -2b5dd23bc841360dfc54e5ac5b5e9a2bcb87bc72 data/create/recipe/cutting/compat/byg/stripped_pine_log.json -0f169a6b9f887aa342f0de4e4b6c076bea8f9985 data/create/recipe/cutting/compat/byg/stripped_pine_wood.json -1c2691b255ce697a1d09fe94df2948526277ab8d data/create/recipe/cutting/compat/byg/stripped_rainbow_eucalyptus_log.json -4713aa264cdc5091adf2a0c8fd4f67ed09bb6302 data/create/recipe/cutting/compat/byg/stripped_rainbow_eucalyptus_wood.json -c3e48807027e6445d1a59914f138f51441f77359 data/create/recipe/cutting/compat/byg/stripped_redwood_log.json -bd8b9e79c62bf6e76033fb30dff9e8b90dc47efd data/create/recipe/cutting/compat/byg/stripped_redwood_wood.json -df561b5d7594a215dc3dc6925535cfafd870756d data/create/recipe/cutting/compat/byg/stripped_skyris_log.json -2cd589aa736c640f6543b05c4417e2414a9adc6c data/create/recipe/cutting/compat/byg/stripped_skyris_wood.json -66ea61cb148b52416a51cf3d6a222ab2bc99de05 data/create/recipe/cutting/compat/byg/stripped_willow_log.json -42023fda33de2ece580963acda1e94506a617ef8 data/create/recipe/cutting/compat/byg/stripped_willow_wood.json -c3183b84e5656c5f83f3443e6517e6804d16935d data/create/recipe/cutting/compat/byg/stripped_witch_hazel_log.json -7a678d31c056948b242a913f36328fd617ea2c0e data/create/recipe/cutting/compat/byg/stripped_witch_hazel_wood.json -785272f3d3eeb829bd2035c99eca87fd39cfebb3 data/create/recipe/cutting/compat/byg/stripped_zelkova_log.json -9850a841e776db05763f12d7b344cfba7483e2ce data/create/recipe/cutting/compat/byg/stripped_zelkova_wood.json -dfa839bb37aa69fcefd5d90c76c70862115a636f data/create/recipe/cutting/compat/byg/willow_log.json -e16836dbf7590b2b49edca74e43631bd992bccc8 data/create/recipe/cutting/compat/byg/willow_wood.json -b5293b4348557921afc4f803fcf50beb8b613fc9 data/create/recipe/cutting/compat/byg/witch_hazel_log.json -d1353bc821e38589f4b35b6d3e58b51f72787201 data/create/recipe/cutting/compat/byg/witch_hazel_wood.json -c8686054517e886dca7feb665c81c5bb4e683565 data/create/recipe/cutting/compat/byg/zelkova_log.json -6cc2d67a172c25b65bccdb47f3accc776a8faf32 data/create/recipe/cutting/compat/byg/zelkova_wood.json -1ff43c15cb6cc2965c58f86a5514ace34fcae57e data/create/recipe/cutting/compat/ecologics/azalea_log.json -4f82bcda356cc1f325d81b011691693ab05723d7 data/create/recipe/cutting/compat/ecologics/azalea_wood.json -2c0127499ba4c70bde880d26664565c86a35399c data/create/recipe/cutting/compat/ecologics/coconut_log.json -dddf58fd03cf3437d8065d81454f541a7426acf4 data/create/recipe/cutting/compat/ecologics/coconut_wood.json -38ca0a01d37462c253d76acd9d5c5219c72a6966 data/create/recipe/cutting/compat/ecologics/flowering_azalea_log.json -634478fec1dad0dffa6b391becaf63eb01994acb data/create/recipe/cutting/compat/ecologics/flowering_azalea_wood.json -ffb44e9a0b8a72ce75e01e73e6070a48aa9d2da8 data/create/recipe/cutting/compat/ecologics/stripped_azalea_log.json -2059382006c3eb015c6c585a23bcb645085ce5a2 data/create/recipe/cutting/compat/ecologics/stripped_azalea_wood.json -a87aea97c50e69ac69850c5c1078f40e4217f353 data/create/recipe/cutting/compat/ecologics/stripped_coconut_log.json -e846b815b907ec41ef58282337d091feff4d0f10 data/create/recipe/cutting/compat/ecologics/stripped_coconut_wood.json -0a75e40bb0c1aaa87540c74a0b8d915ad5a96bd5 data/create/recipe/cutting/compat/ecologics/stripped_walnut_log.json -eb18a676cd4f5787f4dc8e6ca61d2b5ed5e6d45e data/create/recipe/cutting/compat/ecologics/stripped_walnut_wood.json -c6bad45254d8c9984f2991e1f4b8d40b4e21adff data/create/recipe/cutting/compat/ecologics/walnut_log.json -b590845758cd9ff2ecc5af79dbf886376b683d70 data/create/recipe/cutting/compat/ecologics/walnut_wood.json -6a74a9d8973d7b7946fe124c3d7e28efc5a14355 data/create/recipe/cutting/compat/endergetic/poise_stem.json -d4af31273b4b0ca36825bb6d62b8c7ccb8377c46 data/create/recipe/cutting/compat/endergetic/stripped_poise_stem.json -56ec8f180781c346beec4cbced2c1bb7cc39bacc data/create/recipe/cutting/compat/environmental/cherry_log.json -3f90a1bf758b87713a6710acd1afca122348ccd0 data/create/recipe/cutting/compat/environmental/cherry_wood.json -777f079bfce2eebb84b46234307c2ce29497e7d6 data/create/recipe/cutting/compat/environmental/stripped_cherry_log.json -35eca4f2fc77c3f4456566d4ed613527db464118 data/create/recipe/cutting/compat/environmental/stripped_cherry_wood.json -fba5c3fdf1481c6cfcc56dba2045459c6f226f13 data/create/recipe/cutting/compat/environmental/stripped_willow_log.json -ebd71af7937d0f4c370112fa28f96300a5b1ab0e data/create/recipe/cutting/compat/environmental/stripped_willow_wood.json -4dc7c5d54d7094dd8d9e71846c37afbdfcebbac9 data/create/recipe/cutting/compat/environmental/stripped_wisteria_log.json -712f5c62bec07d5f0ff5558ad49302e3329db28f data/create/recipe/cutting/compat/environmental/stripped_wisteria_wood.json -dfe09d78292e254c5e276ae57e66136421f03784 data/create/recipe/cutting/compat/environmental/willow_log.json -59247eb388bd473a6a466f37ae5e3f88b3669e3a data/create/recipe/cutting/compat/environmental/willow_wood.json -5fdc583a219a246ce225642f89f4490c6dae0e02 data/create/recipe/cutting/compat/environmental/wisteria_log.json -629170feb98fd755486153e17c938a7016f2a4f3 data/create/recipe/cutting/compat/environmental/wisteria_wood.json -852cec7fd10f9ea284a40d49cb58b6496110e600 data/create/recipe/cutting/compat/forbidden_arcanus/aurum_log.json -cd2af81ba7befe8516d3f2d827892a6441a294ef data/create/recipe/cutting/compat/forbidden_arcanus/aurum_wood.json -b2a3cd4e0c742ea7df8313a3dd689cbafe25e57c data/create/recipe/cutting/compat/forbidden_arcanus/stripped_aurum_log.json -fc38ee327b1102d0c504efb7bf81475f4d7792cf data/create/recipe/cutting/compat/forbidden_arcanus/stripped_aurum_wood.json -477cd87e3c3abb511a3ee65f9a02dcc6b906dac0 data/create/recipe/cutting/compat/goodending/cypress_log.json -61709f7a55d7291dcdc445f61fe0160b73c696da data/create/recipe/cutting/compat/goodending/cypress_wood.json -7f50c52e182f26a977130fe4b21a7cbcb7fb175c data/create/recipe/cutting/compat/goodending/muddy_oak_log.json -8bb27779b60d2cc1aa1903574c7369c9f3d2a1c7 data/create/recipe/cutting/compat/goodending/muddy_oak_wood.json -df70bd3b0c5731cbd17d05490cad740a96a06874 data/create/recipe/cutting/compat/goodending/stripped_cypress_log.json -80151030b06484b46520d499d6419fc8fe6dde9a data/create/recipe/cutting/compat/goodending/stripped_cypress_wood.json -fa3fb078d8929b82a5677f82d6b62022d0242ef3 data/create/recipe/cutting/compat/goodending/stripped_muddy_oak_log.json -5d25597746fe532d92f89a62c4d889784751e34b data/create/recipe/cutting/compat/goodending/stripped_muddy_oak_wood.json -13ecdc0f9e05d3ae7d2fc2b5afb8c184d2c622d2 data/create/recipe/cutting/compat/hexcasting/edified_log.json -3392e1f022132532603e217c8186f17661768680 data/create/recipe/cutting/compat/hexcasting/edified_wood.json -1edab8815ec707c759bd8c8dff8065520bb905e8 data/create/recipe/cutting/compat/hexcasting/stripped_edified_log.json -f4ca2cf1ffa0db0794983e21dcc42d3c07d13d3b data/create/recipe/cutting/compat/hexcasting/stripped_edified_wood.json -ee4c13a04f54dfe523073ba9dab401826795d4e2 data/create/recipe/cutting/compat/integrateddynamics/menril_log.json -2f70035fe668dccfe54abd12ef9ed9cbd5bc78cd data/create/recipe/cutting/compat/integrateddynamics/menril_log_stripped.json -c2d937c92d780fca64f68605f0ea08312cf1c81e data/create/recipe/cutting/compat/integrateddynamics/menril_wood.json -65ae217b8dd98c4b4a530789f696c1d4b3ec3bf9 data/create/recipe/cutting/compat/integrateddynamics/menril_wood_stripped.json -5bb108fd87bb7668205bf526a6f5151be32ff40b data/create/recipe/cutting/compat/nethers_exoticism/jabuticaba_log.json -2a8fa43c72786a1e14ab82b21db87a1a639f09aa data/create/recipe/cutting/compat/nethers_exoticism/ramboutan_log.json -cd05e7d0fb0362031cc0d1a0050f9455620cd84d data/create/recipe/cutting/compat/nethers_exoticism/ramboutan_wood.json -8c8cb8ae1509f1d06a9f9493b4438ce5a8d047a2 data/create/recipe/cutting/compat/nethers_exoticism/stripped_jabuticaba_log.json -5df20ce512bf57014ee97e8d5c2c879e9cd54c52 data/create/recipe/cutting/compat/nethers_exoticism/stripped_ramboutan_log.json -69ccade92119bd9c48cd3b1257dfb07ed1e810da data/create/recipe/cutting/compat/nethers_exoticism/stripped_ramboutan_wood.json -5396f95463b8fa26c7e3e5b3a923f5dda195df40 data/create/recipe/cutting/compat/quark/ancient_log.json -323fa087d32187bfdd707929229848fe042fec54 data/create/recipe/cutting/compat/quark/ancient_wood.json -839ac7be9cf30a1e3f9e2b01089210dbbee253f2 data/create/recipe/cutting/compat/quark/azalea_log.json -87b62596ac5698fe39881709f99cc351a7e910ee data/create/recipe/cutting/compat/quark/azalea_wood.json -d7a9c428344a72ef641d8ebb192285e2380d87f6 data/create/recipe/cutting/compat/quark/blossom_log.json -6fa914b50c8ed6401a91fda5e7f008c44dd91d08 data/create/recipe/cutting/compat/quark/blossom_wood.json -352991d23796d47c0bf7c6f2b399ccc4e6656304 data/create/recipe/cutting/compat/quark/stripped_ancient_log.json -e2e051fcc58ab0dcc5f0015ea99590a68e7feeca data/create/recipe/cutting/compat/quark/stripped_ancient_wood.json -af7756eb0d874b8572c71651b5495bbce16b403a data/create/recipe/cutting/compat/quark/stripped_azalea_log.json -9058a1d5b3ca25c96d4464f4140b38135863b103 data/create/recipe/cutting/compat/quark/stripped_azalea_wood.json -726edd12aca0b765ee5ca27b13c02263e85a3171 data/create/recipe/cutting/compat/quark/stripped_blossom_log.json -77c469eb6dca91398229c65a8b2023e5a2806762 data/create/recipe/cutting/compat/quark/stripped_blossom_wood.json -8ffce241e080cb27ce149a2b55274340f9147f35 data/create/recipe/cutting/compat/regions_unexplored/alpha_log.json -4f5ac5cf03cebf4c6765fe14653843bdbd06f0bb data/create/recipe/cutting/compat/regions_unexplored/ashen_log.json -df17f560d3507348a1207c9ad05390703cb39e17 data/create/recipe/cutting/compat/regions_unexplored/ashen_wood.json -d0059fe3df3d16468a282aeaca4739614f4bcf88 data/create/recipe/cutting/compat/regions_unexplored/baobab_log.json -2ceb038de2a252ad4306ca5cd1487da6dfa26424 data/create/recipe/cutting/compat/regions_unexplored/baobab_wood.json -ee7233addb73b526b8b069b256c83ab8fb0ce8e4 data/create/recipe/cutting/compat/regions_unexplored/blackwood_log.json -cc921e31bc579f02d063d2b8ff9c10f146109949 data/create/recipe/cutting/compat/regions_unexplored/blackwood_wood.json -e79b7dec9be631ac6fa78a96955d2e41cd6675c9 data/create/recipe/cutting/compat/regions_unexplored/blue_bioshroom_hyphae.json -f667fcb30c5dd7e0a98cf905412575489bea4041 data/create/recipe/cutting/compat/regions_unexplored/blue_bioshroom_stem.json -80d617748ae1e0ca5a66539391196eff70875dc5 data/create/recipe/cutting/compat/regions_unexplored/brimwood_log.json -dafba43b4ec793956903366444c25cc5e9a3d159 data/create/recipe/cutting/compat/regions_unexplored/brimwood_log_magma.json -a9c48273f83044a1148dea8078beab82a6010e3f data/create/recipe/cutting/compat/regions_unexplored/brimwood_wood.json -c2daa04c0a77246fa962e849fb4f8a16119f9349 data/create/recipe/cutting/compat/regions_unexplored/cobalt_log.json -9f0b376f5baeed3cd5650e2d42ac3f48605de09d data/create/recipe/cutting/compat/regions_unexplored/cobalt_wood.json -c1c38cf37bf0d0f00807a0d731a481727596c152 data/create/recipe/cutting/compat/regions_unexplored/cypress_log.json -ae433f14f44b0f0a2b359952ab839629b12c4685 data/create/recipe/cutting/compat/regions_unexplored/cypress_wood.json -4cf983128e4f7c89dde91922c4c036401d113289 data/create/recipe/cutting/compat/regions_unexplored/dead_log.json -9dcbf25d667a1372a6ea8bae9a63fb258074ae64 data/create/recipe/cutting/compat/regions_unexplored/dead_wood.json -adbcafff3e4c022782c93df2b1919ff1a827ce03 data/create/recipe/cutting/compat/regions_unexplored/eucalyptus_log.json -8dbd7b6c8b457f41db0c950af8092ea2309c8854 data/create/recipe/cutting/compat/regions_unexplored/eucalyptus_wood.json -df90e7df29a9ebfc6e4764ee666ae80858a950ce data/create/recipe/cutting/compat/regions_unexplored/green_bioshroom_hyphae.json -028dcf20620f302f6a91145dac1d4743f4679890 data/create/recipe/cutting/compat/regions_unexplored/green_bioshroom_stem.json -5770f0b07ece585e020a7a67172cb2e7bd7020b1 data/create/recipe/cutting/compat/regions_unexplored/joshua_log.json -2aa2da7f44c97c52089f5a98e5f0de41da14da1e data/create/recipe/cutting/compat/regions_unexplored/joshua_wood.json -d1337ee27a06f9589e99315448290aff514c36b3 data/create/recipe/cutting/compat/regions_unexplored/kapok_log.json -9aed6c2543aafdaad0395a88daf3794f8a329c45 data/create/recipe/cutting/compat/regions_unexplored/kapok_wood.json -95dcca4e3e2d3b1dc40fb62a1d38e55eda9a7041 data/create/recipe/cutting/compat/regions_unexplored/larch_log.json -b74bc35f4b9ae5c19a0d4df00c59f59f95154fc6 data/create/recipe/cutting/compat/regions_unexplored/larch_wood.json -3222cd0d1f09386acdb3e122d5d5b8562c21ad80 data/create/recipe/cutting/compat/regions_unexplored/magnolia_log.json -c1bc7b784cef9a67763bd62bd69415887a34d70a data/create/recipe/cutting/compat/regions_unexplored/magnolia_wood.json -8d3c84573f237a9a7da10f56ed619d4b392fd1a9 data/create/recipe/cutting/compat/regions_unexplored/maple_log.json -5ac7053a4185505a6bba9f5c622a6b2547ed6d6d data/create/recipe/cutting/compat/regions_unexplored/maple_wood.json -97163de75313dc08db709dabd2a08eb732f8bb5e data/create/recipe/cutting/compat/regions_unexplored/mauve_log.json -1b701f5e0c7fe838eb6881965e19c7bb8d09c22f data/create/recipe/cutting/compat/regions_unexplored/mauve_wood.json -f0f85a976697fe09194a8c855a5cf861c585d219 data/create/recipe/cutting/compat/regions_unexplored/palm_log.json -ddada945ea355e660879cf60490af8c331159dbe data/create/recipe/cutting/compat/regions_unexplored/palm_wood.json -1c55bd26e492cf61f722d9805d0e02ec91a1bee6 data/create/recipe/cutting/compat/regions_unexplored/pine_log.json -decc4dc2d01130088aa61300c7987ef96f0793cd data/create/recipe/cutting/compat/regions_unexplored/pine_wood.json -2005785f2aad8b7f0f162582917e5a0621e90f1c data/create/recipe/cutting/compat/regions_unexplored/pink_bioshroom_hyphae.json -0461e3548c7fd153ba796e04a8ecb11f54e43d7a data/create/recipe/cutting/compat/regions_unexplored/pink_bioshroom_stem.json -c80ea2e87e8374c8fbee6a976cb4b70ffa558f94 data/create/recipe/cutting/compat/regions_unexplored/redwood_log.json -5fcb3c1500c271962a46efa63b3b16a4cc0a2c1f data/create/recipe/cutting/compat/regions_unexplored/redwood_wood.json -55911633cf3545a31159cc36c59d428b975c7b55 data/create/recipe/cutting/compat/regions_unexplored/silver_birch_log.json -df820cfc0ebc1cbd510e9847b36345314320ecf7 data/create/recipe/cutting/compat/regions_unexplored/silver_birch_wood.json -e1a7ce8e6369276168904bc72506e4561c919bd7 data/create/recipe/cutting/compat/regions_unexplored/socotra_log.json -d27786c207601fecf7f5c40ca37de7a381c5a330 data/create/recipe/cutting/compat/regions_unexplored/socotra_wood.json -a5d146d54b43f88df705e76ab3482c511d36086b data/create/recipe/cutting/compat/regions_unexplored/stripped_baobab_log.json -0ee8ca8874304bd4402a56b99c34cc2793c040e5 data/create/recipe/cutting/compat/regions_unexplored/stripped_baobab_wood.json -52942d2fd1b740aec908253160e18db37e3e7f3e data/create/recipe/cutting/compat/regions_unexplored/stripped_blackwood_log.json -0cf825a56b9f6481cc820a3c858273c6f671fe09 data/create/recipe/cutting/compat/regions_unexplored/stripped_blackwood_wood.json -2ce8ade33f62aa1ddf24a5f2bbcadcd009ff0e49 data/create/recipe/cutting/compat/regions_unexplored/stripped_blue_bioshroom_hyphae.json -f0cea0a10b8808a533449c7f8499d7033e470ecb data/create/recipe/cutting/compat/regions_unexplored/stripped_blue_bioshroom_stem.json -110ee51b925e1f5009d4a59326376324c0a5a4e1 data/create/recipe/cutting/compat/regions_unexplored/stripped_brimwood_log.json -05c01f78dc5a642d89b0266613d01c6b3177732a data/create/recipe/cutting/compat/regions_unexplored/stripped_brimwood_wood.json -ba8a0e3353f2ca9bdb8290833b16f49ab039058e data/create/recipe/cutting/compat/regions_unexplored/stripped_cobalt_log.json -6eb37c7060af52791bfc83e60eb95f9094631fe0 data/create/recipe/cutting/compat/regions_unexplored/stripped_cobalt_wood.json -ce186550fc9b5bd35e044ed373f4e2d9020ec3cf data/create/recipe/cutting/compat/regions_unexplored/stripped_cypress_log.json -eb7d56d8f40a6caa7e4b39a0cf410f48ef8dbcfc data/create/recipe/cutting/compat/regions_unexplored/stripped_cypress_wood.json -2592f6a9dfadb21a57eb15ab06b1a85a7881e226 data/create/recipe/cutting/compat/regions_unexplored/stripped_dead_log.json -cf2b98fa17cc3a369edc1b770106cad528836018 data/create/recipe/cutting/compat/regions_unexplored/stripped_dead_wood.json -318994fc947226fede96f6ecfcf735fa7ecfac70 data/create/recipe/cutting/compat/regions_unexplored/stripped_eucalyptus_log.json -1e86ae134e554ef10d1f3bd0aaad70b02386965d data/create/recipe/cutting/compat/regions_unexplored/stripped_eucalyptus_wood.json -5feafe818a57aa9658b012a1f6a4dfd035f17920 data/create/recipe/cutting/compat/regions_unexplored/stripped_green_bioshroom_hyphae.json -97f50ff2345cb31a58d53d2c72582566a6edd37a data/create/recipe/cutting/compat/regions_unexplored/stripped_green_bioshroom_stem.json -7991a98b41e592b4dff63b0f0121580af327ee09 data/create/recipe/cutting/compat/regions_unexplored/stripped_joshua_log.json -3b8333531d3546ec84986adcdb9e2b9373c8c59b data/create/recipe/cutting/compat/regions_unexplored/stripped_joshua_wood.json -682bdc1fcc88cdf68a2223bedd47b1b988acba50 data/create/recipe/cutting/compat/regions_unexplored/stripped_kapok_log.json -f8dec497eca0e4eac98dbb009f2334c33a8db0f5 data/create/recipe/cutting/compat/regions_unexplored/stripped_kapok_wood.json -dd633ac303cd38eba683a864e88ae5d08c60fa40 data/create/recipe/cutting/compat/regions_unexplored/stripped_larch_log.json -e94f874b4e0defcbd3718edecf7290bbac1ccec8 data/create/recipe/cutting/compat/regions_unexplored/stripped_larch_wood.json -a2846bbbe002e538a9d1de91a7f1878bde9b717b data/create/recipe/cutting/compat/regions_unexplored/stripped_magnolia_log.json -d21865aecae18337ec3dc677e8689bd2d818c62b data/create/recipe/cutting/compat/regions_unexplored/stripped_magnolia_wood.json -9b76c06488cff40be8efa69a4151fcab98cc7c61 data/create/recipe/cutting/compat/regions_unexplored/stripped_maple_log.json -dfca8e529fa9e807e1904eda8c42c726a8435c33 data/create/recipe/cutting/compat/regions_unexplored/stripped_maple_wood.json -da686e5ca355a8774e6d327c2f2a37a007198a86 data/create/recipe/cutting/compat/regions_unexplored/stripped_mauve_log.json -32e8a7efaa436cab691bd3fd83b1d5ae51e52721 data/create/recipe/cutting/compat/regions_unexplored/stripped_mauve_wood.json -82ff0d7f271f3769dff9e767d12715a5d32761e0 data/create/recipe/cutting/compat/regions_unexplored/stripped_palm_log.json -9a238a9aed6fc6cbc41e2df465bffe3a6a1a88d6 data/create/recipe/cutting/compat/regions_unexplored/stripped_palm_wood.json -343c713a9f544524276ffd6f535bba0bd50911fe data/create/recipe/cutting/compat/regions_unexplored/stripped_pine_log.json -05970ea3034d1fbaa2880dcb5c3f0efdc28af226 data/create/recipe/cutting/compat/regions_unexplored/stripped_pine_wood.json -22ddbc0d84f355a7b69276e569e9a21ead2779ae data/create/recipe/cutting/compat/regions_unexplored/stripped_pink_bioshroom_hyphae.json -79244a5e660bfb3528463e384933c8b381cebb00 data/create/recipe/cutting/compat/regions_unexplored/stripped_pink_bioshroom_stem.json -f3b5a6ad9d7ab4a16190f12f8018267800ff6572 data/create/recipe/cutting/compat/regions_unexplored/stripped_redwood_log.json -ec6cca00bd0acd4af184da633bfc44a95a5bb28e data/create/recipe/cutting/compat/regions_unexplored/stripped_redwood_wood.json -17e7ad6475e77ed5eb7ed9430c2d2b319adb4109 data/create/recipe/cutting/compat/regions_unexplored/stripped_socotra_log.json -f18810ec554bae1fe1a8c8ae4a81a55a61d22c87 data/create/recipe/cutting/compat/regions_unexplored/stripped_socotra_wood.json -a153ba59eab31263cb30fa4b3a4114a6a8f52fec data/create/recipe/cutting/compat/regions_unexplored/stripped_willow_log.json -8df538eba3430e0c7eaf90b455257723a9e1407f data/create/recipe/cutting/compat/regions_unexplored/stripped_willow_wood.json -f58b67dff9b47976da4c645db062e95a20c1eef5 data/create/recipe/cutting/compat/regions_unexplored/stripped_yellow_bioshroom_hyphae.json -131352eca58c46f1934a5a8b2f64949700fc5f6f data/create/recipe/cutting/compat/regions_unexplored/stripped_yellow_bioshroom_stem.json -5509896e57a78bbb741eaee1ac005d6d3aab666a data/create/recipe/cutting/compat/regions_unexplored/willow_log.json -28b7ea308989840f6ab31e12e980897088e81955 data/create/recipe/cutting/compat/regions_unexplored/willow_wood.json -eed9c1e3026f52f26614c99bbb059fdec6db5705 data/create/recipe/cutting/compat/regions_unexplored/yellow_bioshroom_hyphae.json -c8e78faf0678284e56a058b021286217298fb616 data/create/recipe/cutting/compat/regions_unexplored/yellow_bioshroom_stem.json -479b19eec8d0d3bdc5faaec4773d282125fbde97 data/create/recipe/cutting/compat/silentgear/netherwood_log.json -00afc96e6989e347f5cb5e9dd20e4edf6230802f data/create/recipe/cutting/compat/silentgear/netherwood_wood.json -81f89338da93678e6f711e4c41b99a6deab0d64f data/create/recipe/cutting/compat/silentgear/stripped_netherwood_log.json -1eb16d3027fa7e1e224b317859fc6ddb4c172398 data/create/recipe/cutting/compat/silentgear/stripped_netherwood_wood.json -4504ff0848c84608b20a4df4f95b1d0d9995b9ae data/create/recipe/cutting/compat/tconstruct/bloodshroom_log.json -52674981859078cceb09096db794ea2856bd23d1 data/create/recipe/cutting/compat/tconstruct/bloodshroom_wood.json -f85d6aa2df664102401e52d181811d31dbbf34f0 data/create/recipe/cutting/compat/tconstruct/greenheart_log.json -a3f50ed693a02b4f5972aaed4e949c00fee4d286 data/create/recipe/cutting/compat/tconstruct/greenheart_wood.json -00daf8e58590c1fb6ee4dae6ba633aca30b73a55 data/create/recipe/cutting/compat/tconstruct/skyroot_log.json -58062ae20a8a0d40e84c19282b1a40cd5ba90917 data/create/recipe/cutting/compat/tconstruct/skyroot_wood.json -8aa73521ec00bd4aad7de9491ffed60545e58ed5 data/create/recipe/cutting/compat/tconstruct/stripped_bloodshroom_log.json -80c63c98fad9b49ddb5c48a364e8bdad73c07895 data/create/recipe/cutting/compat/tconstruct/stripped_bloodshroom_wood.json -b793feafd30cff1a0e634b3ac369c767af45a864 data/create/recipe/cutting/compat/tconstruct/stripped_greenheart_log.json -6c4d6611350d39c7f378217bfce12c8f18499aeb data/create/recipe/cutting/compat/tconstruct/stripped_greenheart_wood.json -1d0dd377794e37a0b6c8797dfb090a1d9b31fde6 data/create/recipe/cutting/compat/tconstruct/stripped_skyroot_log.json -c1c533c7c2ad056cf9fad36c19c56c7b2394dafa data/create/recipe/cutting/compat/tconstruct/stripped_skyroot_wood.json -e9f3aa8735c689e5b4880d4977b925c41d5f8d9b data/create/recipe/cutting/compat/the_vault/chromatic_log.json -70979b9e3c4802386f2209c70c37a6751a0868c2 data/create/recipe/cutting/compat/the_vault/driftwood_log.json -c2c373bd3a2fc090bd6cd479586f19dafd1db769 data/create/recipe/cutting/compat/the_vault/overgrown_wooden_log.json -8b9e11472e84536b7d5469137bb40fc2cbcd34b5 data/create/recipe/cutting/compat/the_vault/stripped_chromatic_log.json -02fbc49f3ec3f1c4f41b0cdcb5fde3f9df4d1b50 data/create/recipe/cutting/compat/the_vault/stripped_driftwood_log.json -951d1b40d73bc4b750cee6a93a4a5aaf771f8779 data/create/recipe/cutting/compat/the_vault/stripped_overgrown_wooden_log.json -7f33e40238612090fba43b74806a3c20d7434369 data/create/recipe/cutting/compat/the_vault/stripped_wooden_log.json -f631767a359febb01f526437e944fbe137ed701a data/create/recipe/cutting/compat/the_vault/wooden_log.json -98946d8f36be24e7348307981e76c7ee3208b20c data/create/recipe/cutting/compat/twilightforest/canopy_log.json -69ee3107b40ea0e933e38467f6153a9a382f35f2 data/create/recipe/cutting/compat/twilightforest/canopy_wood.json -72e5958760d512768ca79e0cb493a5f9b6cb4678 data/create/recipe/cutting/compat/twilightforest/dark_log.json -f0ca2d7ddd1bf30dd6be7a904bf507c7766cc385 data/create/recipe/cutting/compat/twilightforest/dark_wood.json -d754474c65fc143cd77bd69a5f2a0d2fc1708a19 data/create/recipe/cutting/compat/twilightforest/mangrove_log.json -64e77d6795419fd53c00e1fb6de4f913f5655d2b data/create/recipe/cutting/compat/twilightforest/mangrove_wood.json -ab4019050dfb4bfe7eaec0b01997b30637273894 data/create/recipe/cutting/compat/twilightforest/mining_log.json -77f115612aa53422b66f1fb1d5bf385cf645c977 data/create/recipe/cutting/compat/twilightforest/mining_wood.json -53858408a526fad0db581f937e730b2cc7537e06 data/create/recipe/cutting/compat/twilightforest/sorting_log.json -a12adc993f42d97940f199b514b428a120c5f4a3 data/create/recipe/cutting/compat/twilightforest/sorting_wood.json -c2259b56747c724beafb5ed1f6197be1d5820066 data/create/recipe/cutting/compat/twilightforest/stripped_canopy_log.json -00286ba5649aec9e6f159ce8e0643ebd0cb6a510 data/create/recipe/cutting/compat/twilightforest/stripped_canopy_wood.json -75089665694d28257b819b906f5200706b40057a data/create/recipe/cutting/compat/twilightforest/stripped_dark_log.json -cae49b1cf6c720865f70c0c3e38f3de2798ec811 data/create/recipe/cutting/compat/twilightforest/stripped_dark_wood.json -dc31c6815e8a6703361cc086c69f56d8c7934141 data/create/recipe/cutting/compat/twilightforest/stripped_mangrove_log.json -98f343a094e00b2d61e36e778efbbbe823a2dda8 data/create/recipe/cutting/compat/twilightforest/stripped_mangrove_wood.json -d8caa72f2fe3e7cc9c0c36837b16b485f7d10dd2 data/create/recipe/cutting/compat/twilightforest/stripped_mining_log.json -0a9a1d7ac37adda3e1fbf11a480b80ea2713d441 data/create/recipe/cutting/compat/twilightforest/stripped_mining_wood.json -1de74d98ee5063773057f95bfc81548b847d84be data/create/recipe/cutting/compat/twilightforest/stripped_sorting_log.json -9b94b5b0bd30e9327b8f1ba52ff18b2797bdeb52 data/create/recipe/cutting/compat/twilightforest/stripped_sorting_wood.json -32cd02a06af25f56c4c334d94184f1ddc315b9a6 data/create/recipe/cutting/compat/twilightforest/stripped_time_log.json -b419e2be7b77c8359441f29c2634df9d0b6643e0 data/create/recipe/cutting/compat/twilightforest/stripped_time_wood.json -b4742ef911e6dc98198484984af6ce9d0fec6e81 data/create/recipe/cutting/compat/twilightforest/stripped_transformation_log.json -00c908be36ab9617b872c1a69105eb5da12f42e8 data/create/recipe/cutting/compat/twilightforest/stripped_transformation_wood.json -95fbb77562f470b154a04e7b5167f894501af834 data/create/recipe/cutting/compat/twilightforest/stripped_twilight_oak_log.json -609f98c04db1744e128c24cb10fef53de8f070b2 data/create/recipe/cutting/compat/twilightforest/stripped_twilight_oak_wood.json -3cc9db568a45ac9e5a971dba0d92778889b03223 data/create/recipe/cutting/compat/twilightforest/time_log.json -bb14a16b2265bc46fc604f9764a1be76d69e5dad data/create/recipe/cutting/compat/twilightforest/time_wood.json -948fb66b0180690f94c294923ffce82ea7ceb268 data/create/recipe/cutting/compat/twilightforest/transformation_log.json -82d310975d9b459c09858c875d6022c33d295ac7 data/create/recipe/cutting/compat/twilightforest/transformation_wood.json -01226a31c050be62a062c59c26d9bbe7ec0920d2 data/create/recipe/cutting/compat/twilightforest/twilight_oak_log.json -36226bfe6fe23dfb6d407ec271c9f0f0615355f6 data/create/recipe/cutting/compat/twilightforest/twilight_oak_wood.json -960acce794f4df2cad9e98f81543b2f58851c7a7 data/create/recipe/cutting/compat/upgrade_aquatic/driftwood.json -d1fcb641692ddf575a9fde2cd4b28220cc70546f data/create/recipe/cutting/compat/upgrade_aquatic/driftwood_log.json -9e33bede640dbdce6a59d5a2754e33632eeb5aa0 data/create/recipe/cutting/compat/upgrade_aquatic/river_log.json -a75adf5b5165fa326998497715e9e3a33abcf4c8 data/create/recipe/cutting/compat/upgrade_aquatic/river_wood.json -489bb742dde58f53b7f7e64ce1e1745717746f60 data/create/recipe/cutting/compat/upgrade_aquatic/stripped_driftwood.json -7f1a8885d961aafae98e2317723f7193d71db04f data/create/recipe/cutting/compat/upgrade_aquatic/stripped_driftwood_log.json -17096cf24e861390eafced1131176fe7f6cbea05 data/create/recipe/cutting/compat/upgrade_aquatic/stripped_river_log.json -93fda791298f70dc5c2416194621a9fc1b8af3b6 data/create/recipe/cutting/compat/upgrade_aquatic/stripped_river_wood.json -175dadf01d6898a3a1cf6ffcc7d7337e64c9d69e data/create/recipe/cutting/compat/windswept/chestnut_log.json -79653ef16758e4264504edef73badbfbf7e27568 data/create/recipe/cutting/compat/windswept/chestnut_wood.json -4075082eb3ec6a4f984cca6b7b5136186207b584 data/create/recipe/cutting/compat/windswept/holly_log.json -dd5bb92cc64827d8020070581ded85221d158ec1 data/create/recipe/cutting/compat/windswept/holly_wood.json -c5e8f68e1bc1bea3965592c70e124f5964d3919c data/create/recipe/cutting/compat/windswept/stripped_chestnut_log.json -b59168bd923693d86c1a9614ccc2e3d3cdf8b941 data/create/recipe/cutting/compat/windswept/stripped_chestnut_wood.json -dd46d708f30a11aa5214fcbdd6773af516deb409 data/create/recipe/cutting/compat/windswept/stripped_holly_log.json -2504cc8069edb5d75ae275a0a8f53e1bd6a6a179 data/create/recipe/cutting/compat/windswept/stripped_holly_wood.json -fe4dbbe51a5de52cc510e10c08c4430185b033ee data/create/recipe/cutting/crimson_hyphae.json -8ab369179c105b3ce6ff3e2f9480149e0fa984a3 data/create/recipe/cutting/crimson_stem.json -4e00ce60da752b39198cf596e843c717c481d5fc data/create/recipe/cutting/dark_oak_log.json -4d2606e20d7e88ec72fec05971d84a0ce5f6a1e0 data/create/recipe/cutting/dark_oak_wood.json -3b764e81dbaaa26a03e0ed99b80cde91e9bc1708 data/create/recipe/cutting/jungle_log.json -f001fccf2f79019ab6b71f0250ea80b1d46453e3 data/create/recipe/cutting/jungle_wood.json -53624731905aed4098e61e44e0a0c62f6e57fe9d data/create/recipe/cutting/mangrove_log.json -b58ae46deec501d21383556b58b77b1968a9a76f data/create/recipe/cutting/mangrove_wood.json -a81c9856c9a9675d277f6f63ef338e3dc3068e87 data/create/recipe/cutting/oak_log.json -2f2ba7a1068442d159d422a46685d193754c713b data/create/recipe/cutting/oak_wood.json -94b99d717a902be88f90d98030da4c8aab42b9a3 data/create/recipe/cutting/spruce_log.json -61020e138cba12712d1deb9b1f0317c67bc28697 data/create/recipe/cutting/spruce_wood.json -64319618fcba442af8f4e8e6568bf89d84aad75e data/create/recipe/cutting/stripped_acacia_log.json -b715b088bc69251bd5b64f06eb82ec80bb26dd6a data/create/recipe/cutting/stripped_acacia_wood.json -d2e1b74452c9fb4e92d6904bc16d7e8ffbd86276 data/create/recipe/cutting/stripped_bamboo_block.json -c23452375c02a6b1e31cdf3e75176d1253c163e8 data/create/recipe/cutting/stripped_birch_log.json -aa50498cbd6ef5b879cbfbf6a990fd911addfa6b data/create/recipe/cutting/stripped_birch_wood.json -193da06b174e3c8ad73953cea67e95166a3e6629 data/create/recipe/cutting/stripped_cherry_log.json -d1d2a8760b2701b843e1ebb9c0f3d970b6c06d8b data/create/recipe/cutting/stripped_cherry_wood.json -7d4567c5ef299184ce4b816218348eb3c27b90d6 data/create/recipe/cutting/stripped_crimson_hyphae.json -b5ee0353cf485354b6d98f20da834066864ab377 data/create/recipe/cutting/stripped_crimson_stem.json -85b77403f2411899c17c4560937e70336ee4de36 data/create/recipe/cutting/stripped_dark_oak_log.json -4ee02589f33a491a0769958f4702c97c5549f954 data/create/recipe/cutting/stripped_dark_oak_wood.json -968667f5107be2712a63d4f17a6dca2d4f1cd5f2 data/create/recipe/cutting/stripped_jungle_log.json -3aa8e57c75c824025cf1bab99cd4ad2a0be810cb data/create/recipe/cutting/stripped_jungle_wood.json -ac8108299a02d9c46e32022ed492fdbf8ce3b2cb data/create/recipe/cutting/stripped_mangrove_log.json -2f07ea7fb07192dee2df19d80b5ca87072f52544 data/create/recipe/cutting/stripped_mangrove_wood.json -2b42551b6e93625fe66faa1f647e0298f5402401 data/create/recipe/cutting/stripped_oak_log.json -20a735ed586cb854dac872e7a64ae2d8a6008e76 data/create/recipe/cutting/stripped_oak_wood.json -70f49d5f58eb1a964e4a79122c33999368b9d9ae data/create/recipe/cutting/stripped_spruce_log.json -4a1ad7739f97c44eec9235e13c6c93546d9edefd data/create/recipe/cutting/stripped_spruce_wood.json -5be6200117174bf80548732eacaf2c475a34e543 data/create/recipe/cutting/stripped_warped_hyphae.json -72f618333a17aae18419135b717efa21b59ca2ba data/create/recipe/cutting/stripped_warped_stem.json -74c0729b3f0d33d0e7b352f461c12e30937686f0 data/create/recipe/cutting/warped_hyphae.json -3be8d2618e61c41342243c04b9f991228109eac6 data/create/recipe/cutting/warped_stem.json -5077e381c40d20d4e670a0b4d66c7b3558869401 data/create/recipe/deploying/cogwheel.json -174572844773a1eb5705019e79ca2132959e6290 data/create/recipe/deploying/large_cogwheel.json -c43e7b74656ff08d047ccff199aac5ba156b1e84 data/create/recipe/deploying/waxed_copper_block_from_adding_wax.json -d443c95de5be6da161293e8bc500df688fd1a08a data/create/recipe/deploying/waxed_copper_shingle_slab_from_adding_wax.json -e3cef4399e1f97a6fadcc7523a02a440dbbcafba data/create/recipe/deploying/waxed_copper_shingle_stairs_from_adding_wax.json -844d53b5c581a094958c0453d267d0788e21871a data/create/recipe/deploying/waxed_copper_shingles_from_adding_wax.json -8012561367be88f88034d89746f203606c73424c data/create/recipe/deploying/waxed_copper_tile_slab_from_adding_wax.json -c7f930bce9e105009326e9bfcf55d71cc1dbdb7c data/create/recipe/deploying/waxed_copper_tile_stairs_from_adding_wax.json -85e6fc43f622691c15a5b4956b4d315b92bae15c data/create/recipe/deploying/waxed_copper_tiles_from_adding_wax.json -3cf8bcb07a048fa1f734de64f50c6ff881cac0e5 data/create/recipe/deploying/waxed_cut_copper_from_adding_wax.json -fb16f365ca2757d53e0dad4763b45ed98d965240 data/create/recipe/deploying/waxed_cut_copper_slab_from_adding_wax.json -907b568056b9a7132a1cb1fe112d55dc3bed0524 data/create/recipe/deploying/waxed_cut_copper_stairs_from_adding_wax.json -b514789be98bd50a944b898372fe90ba352043d3 data/create/recipe/deploying/waxed_exposed_copper_from_adding_wax.json -46658b7cb75c6fa691d91f981cb4e38ddc1f7d67 data/create/recipe/deploying/waxed_exposed_copper_shingle_slab_from_adding_wax.json -fcdd3ae45436d0cc45959890238cd2326945c25c data/create/recipe/deploying/waxed_exposed_copper_shingle_stairs_from_adding_wax.json -96f89aa8e57f5ae90b7cfa2c1c85a6a9d4ca9431 data/create/recipe/deploying/waxed_exposed_copper_shingles_from_adding_wax.json -2c21dbc91c72966b1553a712409a2c5ff3738685 data/create/recipe/deploying/waxed_exposed_copper_tile_slab_from_adding_wax.json -a9f9536523e8150111d33bfa050ec49a3c9529cd data/create/recipe/deploying/waxed_exposed_copper_tile_stairs_from_adding_wax.json -432c6761162d7968413fe95a48f0a263816f5e25 data/create/recipe/deploying/waxed_exposed_copper_tiles_from_adding_wax.json -bd6388c27af75c19572d9b15a0a2bf821d0baff7 data/create/recipe/deploying/waxed_exposed_cut_copper_from_adding_wax.json -b48b27f8ca755dead85d8c7adab04f875c7ce615 data/create/recipe/deploying/waxed_exposed_cut_copper_slab_from_adding_wax.json -8e4e96d9bc4c8abbeb454548c8db5d7aefdab54c data/create/recipe/deploying/waxed_exposed_cut_copper_stairs_from_adding_wax.json -a5affeadfa9696a0aab5eb054ef3448fc45f461c data/create/recipe/deploying/waxed_oxidized_copper_from_adding_wax.json -913b89f1390439d362ac5418d3a8d0956f8fd6c4 data/create/recipe/deploying/waxed_oxidized_copper_shingle_slab_from_adding_wax.json -07df0a1443257e6341d82eba916fe5b5085e8d62 data/create/recipe/deploying/waxed_oxidized_copper_shingle_stairs_from_adding_wax.json -68653fbdb6c8d285916619ba91423b69c6348ce3 data/create/recipe/deploying/waxed_oxidized_copper_shingles_from_adding_wax.json -e31c78d803e4eba0feaa50a48f341e023b0e846a data/create/recipe/deploying/waxed_oxidized_copper_tile_slab_from_adding_wax.json -e61e1a5cb86b666a80b34fe351eee5a23d807955 data/create/recipe/deploying/waxed_oxidized_copper_tile_stairs_from_adding_wax.json -839ef47f4cfd24cff10666cce6539b7a0660a685 data/create/recipe/deploying/waxed_oxidized_copper_tiles_from_adding_wax.json -15e093fa008c6db62834d3eef5ad4913b0ca77ad data/create/recipe/deploying/waxed_oxidized_cut_copper_from_adding_wax.json -90f0465f32efdd402d0ee7bd5bb9a8ab79ad4cd7 data/create/recipe/deploying/waxed_oxidized_cut_copper_slab_from_adding_wax.json -387857f6c91fb1869a7f85335a9a2adac0f24988 data/create/recipe/deploying/waxed_oxidized_cut_copper_stairs_from_adding_wax.json -09f1eb058603d6cb8d3e97998a3e78526483c3a4 data/create/recipe/deploying/waxed_weathered_copper_from_adding_wax.json -ba75e19935fd6a3fc6655464b0e61dd2033fe05d data/create/recipe/deploying/waxed_weathered_copper_shingle_slab_from_adding_wax.json -476d9f47b5d4425a04520e52d9e6d5f172d93c57 data/create/recipe/deploying/waxed_weathered_copper_shingle_stairs_from_adding_wax.json -0218486a4238a2787c58ff8a8e636704352a90b5 data/create/recipe/deploying/waxed_weathered_copper_shingles_from_adding_wax.json -35357ebefce42d850c9df0627b2e6662c0861000 data/create/recipe/deploying/waxed_weathered_copper_tile_slab_from_adding_wax.json -62d4e8ba5c53aea28126e84cc75cd617181e9734 data/create/recipe/deploying/waxed_weathered_copper_tile_stairs_from_adding_wax.json -1c17068b00d36040c8da21f449f1b5b9c1f81ca6 data/create/recipe/deploying/waxed_weathered_copper_tiles_from_adding_wax.json -d6a510af9a77e52415d053ee8f423bad1569fa76 data/create/recipe/deploying/waxed_weathered_cut_copper_from_adding_wax.json -96827b7226f941b66b714f77e6a7eaab20c4c524 data/create/recipe/deploying/waxed_weathered_cut_copper_slab_from_adding_wax.json -94bb3b8a403934d74145e6c4691c8dee8faff1f9 data/create/recipe/deploying/waxed_weathered_cut_copper_stairs_from_adding_wax.json -5ce901e1b8e139e51516d75a77f12d5fd2fa97e1 data/create/recipe/emptying/builders_tea.json -1bd2f9f8ad3706817c948f40f8bc2e4b1d664242 data/create/recipe/emptying/compat/alexsmobs/lava_bottle.json -bd785c61a5dd637e51f0d1b9aad11b09176c8f59 data/create/recipe/emptying/compat/farmersdelight/milk_bottle.json -00e180579ecf5c696e6efe6fc4d260aee445fd18 data/create/recipe/emptying/compat/neapolitan/milk_bottle.json -d29c4fd5a14b9166880ed4458e9a6c9d19e92582 data/create/recipe/emptying/honey_bottle.json -69dafb2600b817eb69ae17ab846025ce1cbd7162 data/create/recipe/filling/blaze_cake.json -c2b6da2fe12d456cfaa0b0d4c08c9fdfac1f6ead data/create/recipe/filling/builders_tea.json -9c2fe82566e07470540fff6b3d13e4c890697e51 data/create/recipe/filling/chocolate_glazed_berries.json -4982e25bd81b4f8f62ac3c85731cf4ed5d4f5845 data/create/recipe/filling/compat/aether/aether_grass_block.json -b3ede5f0ec978fd395a8d7f81243685a697fe268 data/create/recipe/filling/compat/alexsmobs/lava_bottle.json -3da234beaef3f1cf1a07b9314cf0a472e32fba97 data/create/recipe/filling/compat/byg/lush_grass_block.json -0e19d68524f3eb11232f97744efcf5fa116e8c56 data/create/recipe/filling/compat/farmersdelight/milk_bottle.json -d2a2c0e90e8c3e919f6e9f18f17e297c0fb30913 data/create/recipe/filling/compat/neapolitan/milk_bottle.json -cc26d65a649bb015f6a40ef4dff76d83b91f42a2 data/create/recipe/filling/compat/regions_unexplored/peat_grass_block.json -346c5b5b52fd6fcbeb42befd1c9a7b269143f2f9 data/create/recipe/filling/compat/regions_unexplored/silt_grass_block.json -baa9b649e7f8cb84fefde87807272493bd25ecf4 data/create/recipe/filling/compat/vampirism/cursed_grass.json -5ae24dc97cbed4bd14107833d88b458ccd2b6b8a data/create/recipe/filling/glowstone.json -1ba03e927f2b948d9b596abb56d1b7aa5ce31eae data/create/recipe/filling/grass_block.json -08912bf01af8f45f40c0e3c8d704a19d7acb8e6f data/create/recipe/filling/gunpowder.json -2b87e80afe6e37781e40dfbf240fa13fabf58003 data/create/recipe/filling/honey_bottle.json -79e04590fdcbb05532d613b0881e0d4766c33152 data/create/recipe/filling/honeyed_apple.json -6066f3861cc6342435c6dee79c85dd4badf74683 data/create/recipe/filling/redstone.json -466b67baed16f9b2d5878c73c2b9f0bf305400c2 data/create/recipe/filling/sweet_roll.json -cec4b6eae7d2722e1ee97b6c85ffb147890c834e data/create/recipe/haunting/blackstone.json -d2c31308a15b079c915bbd55647400a5cef3c88f data/create/recipe/haunting/compat/farmersdelight/rotten_tomato.json -0a4a0ae0aff3f52fefbeab4c549baf3499b3c53e data/create/recipe/haunting/compat/hauntedharvest/rotten_apple.json -40368092d6b674127245b99d3ab662a84a64cfd7 data/create/recipe/haunting/crimson_fungus.json -d2a2d0d7c5c9ac8e20cfc2c5bb08e22e1527c3dc data/create/recipe/haunting/glow_berries.json -0fcf10568314c835bd73c6d4627a17c33e42888d data/create/recipe/haunting/glow_ink_sac.json -fd9e902a769b22397ca4789dc46e874c47e3fae8 data/create/recipe/haunting/haunted_bell.json -ed7944e6d829baecc83c6a47ac917809c2a5cc1d data/create/recipe/haunting/infested_chiseled_stone_bricks.json -27aa034b7816c7a104bb209b8a2aa547703b7b3f data/create/recipe/haunting/infested_cracked_stone_bricks.json -5479cad1face951ed1bf2ea3a0b30c6deb7284d0 data/create/recipe/haunting/infested_deepslate.json -7caad0ea0f441cc94ef5ad6f1bb2841bc01a9e05 data/create/recipe/haunting/infested_mossy_stone_bricks.json -c69521dacbb3c23b66129dad336892a8d14487b6 data/create/recipe/haunting/infested_stone.json -dbb5c4a15c693b9a339818d5197fcea35de4baa3 data/create/recipe/haunting/infested_stone_bricks.json -5efd42f61f1a34605d28ed73e56f710bc082dbd4 data/create/recipe/haunting/lapis_recycling.json -d6f5ae5bb8bc25a6ec08d0ce7217fe37e6e0afbe data/create/recipe/haunting/nether_brick.json -d284a4d5cb3ceb1977ea14821677d6e5d3d45311 data/create/recipe/haunting/poisonous_potato.json -3bf2f922bca3bc608b1b9fe50cd6ca9430f3d007 data/create/recipe/haunting/soul_campfire.json -fd3a7853b9dd67775bfa2cfacaabc8a4599c6cd4 data/create/recipe/haunting/soul_lantern.json -7624e7a5a77fcc6772c3e4bc4c6ea097f03919b8 data/create/recipe/haunting/soul_sand.json -44d8fabac1a2405ec39ecfa6126d332245207bbf data/create/recipe/haunting/soul_soil.json -9c7a3c8c0321ddc8729a0b51d61a3c9606e8887b data/create/recipe/haunting/soul_torch.json -460cc39f5c629f2377a4958ae621a0955c3d657f data/create/recipe/haunting/warped_fungus.json -85c7935aadf685e7d473e57f87767702406f2785 data/create/recipe/item_application/andesite_casing_from_log.json -ea946edd243f116d49aff5b3ac9a32888c607aa9 data/create/recipe/item_application/andesite_casing_from_wood.json -6bd793aeefd8642a927efbc4e40b88df7a4aba6a data/create/recipe/item_application/bound_cardboard_inworld.json -1ce5df8ce91d74d19a3e952ddd17843e1b8a7032 data/create/recipe/item_application/brass_casing_from_log.json -c3be30f4e860ce1eb9346cdb40366ed9375744a0 data/create/recipe/item_application/brass_casing_from_wood.json -9dc989ea3deb694ce2f5e5b6b8f946a0b0fb1ae9 data/create/recipe/item_application/copper_casing_from_log.json -51e9999874ace0516d44b7e696fe4a980ae89eb8 data/create/recipe/item_application/copper_casing_from_wood.json -bbe5789819b57afadbbf2a476b1ccae1c63fd0d9 data/create/recipe/item_application/railway_casing.json -5994d64be8ebe2464b117bea6d5f6067617fb67d data/create/recipe/milling/allium.json -a9712440a7acdceaa7cb84a147a6cb3044cae865 data/create/recipe/milling/andesite.json -baf1b6fb13893396b65026da4f1adecefd7ba11d data/create/recipe/milling/azure_bluet.json -c7e8cf40869ec1b29c1ae1c9db0e73e076b45b63 data/create/recipe/milling/beetroot.json -711036f6efd2e150ac36a11a8f604bdba6d62c6b data/create/recipe/milling/blue_orchid.json -3bb0d77cfedc9d6307af24524c5ff22fdbffc3c9 data/create/recipe/milling/bone.json -8df702f180b1f74bbbe0d8250048bc4158dfa39f data/create/recipe/milling/bone_meal.json -7649c6a5e02db377fee3a39d91f4898307f62dec data/create/recipe/milling/cactus.json -fbad140531b4247bd88720449a88d387ecf2a924 data/create/recipe/milling/calcite.json -e33785f64730775836445d35265b284b650f24c3 data/create/recipe/milling/charcoal.json -06d691c7f266b044c93db3c32991a91d2ec1efa0 data/create/recipe/milling/clay.json -b4a45fafa2fc88bab63e4087563981bc9394b0ee data/create/recipe/milling/coal.json -a8044ebf086647292c97a36eb1fdfa754b73b7e0 data/create/recipe/milling/cobblestone.json -f7ea5b0430ea6346fadd63d61d77cacec8039641 data/create/recipe/milling/cocoa_beans.json -a802e881e0796d838c4b97b11d88a82475491fc4 data/create/recipe/milling/compat/ae2/certus_quartz.json -08cb7bf81a23d77d43fd4e3fb7817791ae7e40b2 data/create/recipe/milling/compat/ae2/ender_pearl.json -5874f8712dd2d6e55fabaf147706b5a86520fdba data/create/recipe/milling/compat/ae2/fluix_crystal.json -236d46b80ba185c2d46e8d174e6dad924a2bfb62 data/create/recipe/milling/compat/ae2/sky_stone_block.json -ec67e7b5d08cd9d2de4627a8d843f4c57653b71b data/create/recipe/milling/compat/atmospheric/gilia.json -8a1e48085860e28e003005679c6cc831a87fec7d data/create/recipe/milling/compat/atmospheric/hot_monkey_brush.json -3e698aab45238cf9339a9ff71beda82dd8127aba data/create/recipe/milling/compat/atmospheric/scalding_monkey_brush.json -1c2f686f1fa7b5bea494588525ac85dd401e7bc6 data/create/recipe/milling/compat/atmospheric/warm_monkey_brush.json -cd9d852b38601a85061196a4e198c9f7b87aa324 data/create/recipe/milling/compat/atmospheric/yucca_flower.json -c3476aa0ad3abc96f85a4f457eed18d30aecb5b7 data/create/recipe/milling/compat/autumnity/autumn_crocus.json -f07d920150a5d2cef64f26a10ac182b2a92020e1 data/create/recipe/milling/compat/biomesoplenty/blue_hydrangea.json -bb004bc8475a45441bfb12d490fe774ebef0ae80 data/create/recipe/milling/compat/biomesoplenty/burning_blossom.json -0cc5805eeede120ddf5dbd500c45a8bc2e862fa5 data/create/recipe/milling/compat/biomesoplenty/glowflower.json -ec41b493f1e74bf7ebae035d5624b3ae76ecaae3 data/create/recipe/milling/compat/biomesoplenty/lavender.json -3b7cecd509a30232ef55709aae48c541c5f56ef7 data/create/recipe/milling/compat/biomesoplenty/orange_cosmos.json -fdd9aa8cc545b99e7be6c3c4738f455881ce7c70 data/create/recipe/milling/compat/biomesoplenty/pink_daffodil.json -f2b929afadc1b81b040bfdb003b0af69ab7c65eb data/create/recipe/milling/compat/biomesoplenty/pink_hibiscus.json -19b60dd0e1ebb37b8b0fbd7de97c6b3c6fec1e8c data/create/recipe/milling/compat/biomesoplenty/rose.json -9511439f5aef2a7a2a5f601e89dd8704ce72ea09 data/create/recipe/milling/compat/biomesoplenty/violet.json -f3bbf5266414b03507418252d25eec5a50f7e394 data/create/recipe/milling/compat/biomesoplenty/wildflower.json -62b7b98cd0f1b03c33eb5fc83b58b1b7aae21073 data/create/recipe/milling/compat/biomesoplenty/wilted_lily.json -bb23e281d81405cd1cd7f2fc3522977d134bf7f7 data/create/recipe/milling/compat/botania/black_petal.json -c2f2bb407a16517e33e79fd8ea5cdf8cbd11bb4f data/create/recipe/milling/compat/botania/blue_petal.json -2d3e197553282e09c1912887354c9b421547a4e2 data/create/recipe/milling/compat/botania/brown_petal.json -c4d29677d24291b101ca0cfcdc9e39a520da6790 data/create/recipe/milling/compat/botania/cyan_petal.json -b97994025fe812967862dc4e93b629d6daaa73fb data/create/recipe/milling/compat/botania/gray_petal.json -92fbf4b17ec9b8fa673512d0a2a073735cc4b6b1 data/create/recipe/milling/compat/botania/green_petal.json -2c6ef343c8b42ebb1a64bf93a42f75fecc77ab5d data/create/recipe/milling/compat/botania/light_blue_petal.json -ceec1ad320e0460a21f479086f4a204705e094c1 data/create/recipe/milling/compat/botania/light_gray_petal.json -e65166d1114631359df18b63f10fdd77094469cd data/create/recipe/milling/compat/botania/lime_petal.json -42ee366bb5230bd1448fbe36a0f62fdc3d65db18 data/create/recipe/milling/compat/botania/magenta_petal.json -3a1f5c92e04b51490c4d886b2439aec8a4cd8d96 data/create/recipe/milling/compat/botania/orange_petal.json -233d9ee54cd805dfa60fe7dee4421c242d215cba data/create/recipe/milling/compat/botania/pink_petal.json -f6e559a8a3c0e703f8f58e0f0ff6e0e058466018 data/create/recipe/milling/compat/botania/purple_petal.json -83ae29d1ebfaaa2102216b13c7269d0372c61853 data/create/recipe/milling/compat/botania/red_petal.json -aabdee829b6f1680570b9cbab11519e75488cbaa data/create/recipe/milling/compat/botania/white_petal.json -b7130f834ae657a55242426d50d58b0361c469b2 data/create/recipe/milling/compat/botania/yellow_petal.json -acaeffa839d0f84de6d3a514c061a40cd6404428 data/create/recipe/milling/compat/buzzier_bees/buttercup.json -4ead969e5e5b63b17f106c21fc1f6f9a2dd89a84 data/create/recipe/milling/compat/buzzier_bees/pink_clover.json -4bd705a266525dac4a26fef46b89073759a3856b data/create/recipe/milling/compat/buzzier_bees/white_clover.json -d128645b2ea82ddc928cc18bb0f696c610c5e3e6 data/create/recipe/milling/compat/byg/allium_flower_bush.json -6116cc985a3e99bd02bca34bc8342313bcfc01e5 data/create/recipe/milling/compat/byg/alpine_bellflower.json -f7e5aa1bce9e61e5f6ca4a0f9b36d1b6a0242b35 data/create/recipe/milling/compat/byg/amaranth.json -5b01172f7a2812ca784b3f638ca33153427b01ed data/create/recipe/milling/compat/byg/angelica.json -11f5601602f60bbbeb1019ea1c634508a0a5e1da data/create/recipe/milling/compat/byg/begonia.json -3136bb1e98c33d9aad1165ec1c5a63cb26976b77 data/create/recipe/milling/compat/byg/bistort.json -79e693ca752d76850ec25ea6e138e82792bd37b8 data/create/recipe/milling/compat/byg/black_rose.json -de8ab3bc82af57233a646a96b5968d4ff7e5e35f data/create/recipe/milling/compat/byg/blue_sage.json -5dfabf3a1fd65c0f0ef13c27a59c2f028a86a532 data/create/recipe/milling/compat/byg/california_poppy.json -216e0f193dfc940b616e31f0e8fa602ac6380329 data/create/recipe/milling/compat/byg/compat/byg/white_sage.json -c827820a3c7d52c7ae94690eda379ae262359e42 data/create/recipe/milling/compat/byg/compat/byg/winter_cyclamen.json -cc755b20e17b47330f39cb458053b4d0c09d265c data/create/recipe/milling/compat/byg/crocus.json -5eaa8de43e2a625e72c8d7d18c2fc8b73abe66fc data/create/recipe/milling/compat/byg/cyan_amaranth.json -f8fbe683432f14c1e60a98f702990c52dc94bccb data/create/recipe/milling/compat/byg/cyan_rose.json -22796851200243c93f5c2823a4e4e1b82b05489b data/create/recipe/milling/compat/byg/cyan_tulip.json -4b32f065d7937104a9bf61e7b1b1ecc81e9fd57b data/create/recipe/milling/compat/byg/daffodil.json -a8e6148b0ddbd67db9d62de4ee027ea7ccfa86d4 data/create/recipe/milling/compat/byg/delphinium.json -efe97d91f8605f086857249e9359694628e10b66 data/create/recipe/milling/compat/byg/fairy_slipper.json -47d9ed736bf3d93c5e354c0dd9f7fe808c142000 data/create/recipe/milling/compat/byg/firecracker_flower_bush.json -bc7d667b3a9168da08d1c1db7407c3acd4fe76c4 data/create/recipe/milling/compat/byg/foxglove.json -5366e7fb0c9698c6c9c8ad99ee8d4100948e0966 data/create/recipe/milling/compat/byg/green_tulip.json -e8e668c7f0676e15b1050430800da53285350479 data/create/recipe/milling/compat/byg/guzmania.json -365a4594834242e226dc21c0dd4153999e1db4e0 data/create/recipe/milling/compat/byg/hydrangea_bush.json -d6114f0d6e6ebe39777c068d1649ca0e43141b10 data/create/recipe/milling/compat/byg/incan_lily.json -7072c466d9d88ce0a9452a2c3308dc74056f9ccb data/create/recipe/milling/compat/byg/iris.json -8f440ade52f54a895d5208f56b1b059589430262 data/create/recipe/milling/compat/byg/kovan_flower.json -899d57e561e4da20486b36b20ffe91eb944ad3aa data/create/recipe/milling/compat/byg/lazarus_bellflower.json -48c2b2dd13c8d80904781cd1a78c081f36f5eee6 data/create/recipe/milling/compat/byg/lolipop_flower.json -cf2785126a9c5337a1a4b306065c77f1af83f617 data/create/recipe/milling/compat/byg/magenta_amaranth.json -7a87e05936376473431ebfcf120e5ff879615925 data/create/recipe/milling/compat/byg/magenta_tulip.json -6ac735db7927ca6a418ab0ffc7d75873f0289eba data/create/recipe/milling/compat/byg/orange_amaranth.json -55f4eb8d97d7f257592d578639ed2dce2a9d42ea data/create/recipe/milling/compat/byg/orange_daisy.json -1e11bd6f7a7a96154e22c942bea61c61a7b69e66 data/create/recipe/milling/compat/byg/orchid.json -92a1f2fda3e91755e2347c8334ac357960bd8274 data/create/recipe/milling/compat/byg/osiria_rose.json -ae4109d86a080c511d26925061964369e5efd3e5 data/create/recipe/milling/compat/byg/peach_leather_flower.json -6283ce1c22abf649291083fc0e376794f7e6021a data/create/recipe/milling/compat/byg/pink_allium.json -20c1323c3675208bc8ae924688cf50750173b010 data/create/recipe/milling/compat/byg/pink_allium_flower_bush.json -6e39506df3e4ae3d71dd4b21dd6846064792137d data/create/recipe/milling/compat/byg/pink_anemone.json -d688a2e81dec4e9d036b1ec098aa5a79def312c8 data/create/recipe/milling/compat/byg/pink_daffodil.json -1b773f1f09b5ce8911547907009200b9336f8a9e data/create/recipe/milling/compat/byg/protea_flower.json -9c39e318aef90ad8efbc069057cb7fc595ecf5a6 data/create/recipe/milling/compat/byg/purple_amaranth.json -5598cd1232c5b5adb37b68e75065e5706f031af2 data/create/recipe/milling/compat/byg/purple_rose.json -4403ef246006ea101301df981e003dfe428db4f0 data/create/recipe/milling/compat/byg/purple_tulip.json -cb59268b70df1ef5232925459f6757f65a55dc57 data/create/recipe/milling/compat/byg/richea.json -40468925d9e000d2627ca07f4bd6a0b87369d8c1 data/create/recipe/milling/compat/byg/rose.json -702aa5764dadc1b134c809182eb4f6eb33ee9fc4 data/create/recipe/milling/compat/byg/silver_vase_flower.json -eec22bad0141bb826bf6dd29017dbc70132b4d54 data/create/recipe/milling/compat/byg/snowdrops.json -bf902a08849dae9c28d174d065010895425fedf1 data/create/recipe/milling/compat/byg/tall_allium.json -826aabb28aaff4b8ec19febd45a5e7f88e375d5f data/create/recipe/milling/compat/byg/tall_pink_allium.json -0d8e733720f715453a5077c53875bb6e53a6b5e8 data/create/recipe/milling/compat/byg/torch_ginger.json -3c550b052a101a94016d9d08610cabd57916abda data/create/recipe/milling/compat/byg/violet_leather_flower.json -6980e3e44fbf91fcf7b65ca8543e16ffa6e5d19d data/create/recipe/milling/compat/byg/white_anemone.json -a7c9dcb573103a78247b09b221fb0d02b5a55921 data/create/recipe/milling/compat/byg/white_puffball_cap.json -3690c9ba5703fabb264092d5204b32c07dd1a2ce data/create/recipe/milling/compat/byg/winter_rose.json -b5b6a37e57d4f5d9fbc4a6a546d2c42ebf26da02 data/create/recipe/milling/compat/byg/winter_scilla.json -cbd4ffe83212a965d545757bbdcbbbd10a925276 data/create/recipe/milling/compat/byg/yellow_daffodil.json -9a3a148c84503b20efb6e1f624e748348bfb0c70 data/create/recipe/milling/compat/byg/yellow_tulip.json -56bebb2beda777169be5c18d9286da220fda6118 data/create/recipe/milling/compat/druidcraft/lavender.json -b18dfb3a190f3c9af76e786a3674a19111b41637 data/create/recipe/milling/compat/environmental/bird_of_paradise.json -8c68473d66608bb0b05f718bdd3409b49093b976 data/create/recipe/milling/compat/environmental/blue_delphinium.json -c74f1d4a4457f217ea1f46781ecf5f01bf60891b data/create/recipe/milling/compat/environmental/bluebell.json -e5afaa12215b55ff6472f91cd1e8c9243e882cf5 data/create/recipe/milling/compat/environmental/cartwheel.json -34e5f957931974f764ea97566777c2aa5ce53bd8 data/create/recipe/milling/compat/environmental/dianthus.json -77d4eb5b39dfc350799f0af24dc3c1144d8d8f17 data/create/recipe/milling/compat/environmental/magenta_hibiscus.json -639462bcd15019b442033cace685c228fe26b015 data/create/recipe/milling/compat/environmental/orange_hibiscus.json -8ca5571cb1a66475e28340ede03dd1282c198220 data/create/recipe/milling/compat/environmental/pink_delphinium.json -700f65d617b0ea4d2c1e798654ef8550019c9e3a data/create/recipe/milling/compat/environmental/pink_hibiscus.json -a4d4f3e63702a0fc298aeecd3a70b2eed2899568 data/create/recipe/milling/compat/environmental/purple_delphinium.json -cf78dc476f857ddea7a08125056110b714742289 data/create/recipe/milling/compat/environmental/purple_hibiscus.json -665847c01beb0489b433358ba753bf9af8cf311b data/create/recipe/milling/compat/environmental/red_hibiscus.json -c0d354af171b7c81da0791d5aedcf557974ddee2 data/create/recipe/milling/compat/environmental/red_lotus_flower.json -bdb7c43976f68bbdbffe7f46b276b79761c92185 data/create/recipe/milling/compat/environmental/violet.json -bdfe89a4ad3f3617ed87e709aeb0988ef5dd054c data/create/recipe/milling/compat/environmental/white_delphinium.json -f7ea3edeb093b8dd54e638eb53a758651e125db6 data/create/recipe/milling/compat/environmental/white_lotus_flower.json -808eb62dcd799988e88dc7a67b7e5467f4074f7f data/create/recipe/milling/compat/environmental/yellow_hibiscus.json -c1903badb4ce0076c3e06782130d9e84933cd649 data/create/recipe/milling/compat/regions_unexplored/alpha_dandelion.json -fa93f8886cee9c3d3b236d00664fe356158ae0ee data/create/recipe/milling/compat/regions_unexplored/alpha_rose.json -764fe41ffec76cd79d2b6d40bc30e218b2dfee50 data/create/recipe/milling/compat/regions_unexplored/aster.json -cb39553dcb99690405617c840d3303705df5b9c3 data/create/recipe/milling/compat/regions_unexplored/black_snowbelle.json -80f2e7ae9ebab3d3d4898852adebf89b44cd7226 data/create/recipe/milling/compat/regions_unexplored/bleeding_heart.json -8c18caba8960c0ee8b04b0f6a4bce2f102d4ee0a data/create/recipe/milling/compat/regions_unexplored/blue_lupine.json -57a03e5d7642c62523639890b6650199099c21ff data/create/recipe/milling/compat/regions_unexplored/blue_snowbelle.json -b70ee55bb24a2d213a61ae5bdbffcd372e0ff936 data/create/recipe/milling/compat/regions_unexplored/brown_snowbelle.json -2f27967c9b81402a385593dd6e616c15cbdbe5fd data/create/recipe/milling/compat/regions_unexplored/cactus_flower.json -a6b0b7637a07388718102f3ce7f7d1af27315d01 data/create/recipe/milling/compat/regions_unexplored/cyan_snowbelle.json -9ac07cf013c4b213c66bf9d1f96c878c752e71e5 data/create/recipe/milling/compat/regions_unexplored/daisy.json -f71c0ed77025f329521fd7871f42a2a5d55fedd7 data/create/recipe/milling/compat/regions_unexplored/day_lily.json -1879cba7bf6702e8018069beca76235a3e2fe6de data/create/recipe/milling/compat/regions_unexplored/dorcel.json -f123615a2633c6edb476089cd02a48e69722ffd7 data/create/recipe/milling/compat/regions_unexplored/felicia_daisy.json -69286f12d2d253688c8bb1506ba3b5d44dba417c data/create/recipe/milling/compat/regions_unexplored/fireweed.json -4cbba6ebb2fe7b9f96bb5709fc639a86cd0ad012 data/create/recipe/milling/compat/regions_unexplored/glistering_bloom.json -2f5cf2977c6e063dc22168d570b0d7af92b00ad5 data/create/recipe/milling/compat/regions_unexplored/gray_snowbelle.json -a889e8c31947e5b45b36d838cc88efd2c9fafb01 data/create/recipe/milling/compat/regions_unexplored/green_snowbelle.json -99fa51fa1e4126ffd3cfe51a751552d62dbe4085 data/create/recipe/milling/compat/regions_unexplored/hibiscus.json -ce1fef3374a6f0eaa12e73d3cd4b2640d1ff283b data/create/recipe/milling/compat/regions_unexplored/hyssop.json -722f0e13a24258f4755ef2753a52597e011ee7bb data/create/recipe/milling/compat/regions_unexplored/light_blue_snowbelle.json -852a3b81a7f38b815fdd5729d81df9e3c1b0ba1e data/create/recipe/milling/compat/regions_unexplored/light_gray_snowbelle.json -c7a8f8b3e719ae5d58c6004ff0c0bcebe93c1b0c data/create/recipe/milling/compat/regions_unexplored/lime_snowbelle.json -077dcdcae6ca10da39b0f0103e5b5c9b3973e74f data/create/recipe/milling/compat/regions_unexplored/magenta_snowbelle.json -56ae9b113558743ba0057e1065a66c68026d707d data/create/recipe/milling/compat/regions_unexplored/mallow.json -4fda2b87443e210e28e042cabbacf24ed672281b data/create/recipe/milling/compat/regions_unexplored/orange_coneflower.json -d669929462bbe07ef9b13cf385c4357f395181a3 data/create/recipe/milling/compat/regions_unexplored/orange_snowbelle.json -d782091063a9a0a8dc1fa4b2993e7d60518a2d8c data/create/recipe/milling/compat/regions_unexplored/pink_lupine.json -18bc243fa04ab53aa0315e60dddbb7b4f33840c9 data/create/recipe/milling/compat/regions_unexplored/pink_snowbelle.json -1f703e56763480366412b89b8be4abb51e49c146 data/create/recipe/milling/compat/regions_unexplored/poppy_bush.json -c9e0bc01ae98a8b03b5cc9929a2941e160ad6769 data/create/recipe/milling/compat/regions_unexplored/purple_coneflower.json -2c7f8b63ba95d3ced32d0235cb6c733034704ca7 data/create/recipe/milling/compat/regions_unexplored/purple_lupine.json -e050c7b03a15a03a7af9a6b3d53e834db9d7c429 data/create/recipe/milling/compat/regions_unexplored/purple_snowbelle.json -a199c3369e31b510d93bc0e196bc828f284e37f2 data/create/recipe/milling/compat/regions_unexplored/red_lupine.json -91f153b27937580a4e93271e10c5239a66ae47b2 data/create/recipe/milling/compat/regions_unexplored/red_snowbelle.json -cf756797f204528b688c07bf470a921edd822080 data/create/recipe/milling/compat/regions_unexplored/salmon_poppy_bush.json -db4ecdff35f829766ecf60d31f78b1d8e1b2cab5 data/create/recipe/milling/compat/regions_unexplored/tassel.json -0c00dcd8bdb82402e9b890787aceb1f2a37a7398 data/create/recipe/milling/compat/regions_unexplored/tsubaki.json -9d60d1464826ce000c0e8affe19aa7b2f4ae0aa1 data/create/recipe/milling/compat/regions_unexplored/waratah.json -0eaaf38b089717d0998ac02d5bea12d1de3c8ceb data/create/recipe/milling/compat/regions_unexplored/white_snowbelle.json -4fe5360ab17c4fe13c9d44d1258290e9ea5f4960 data/create/recipe/milling/compat/regions_unexplored/white_trillium.json -00cb0ab444cf036ee18d6c57cde9ddb14ff3d1c5 data/create/recipe/milling/compat/regions_unexplored/wilting_trillium.json -af1649861f011b51ba09d9978aaaf11558a783c1 data/create/recipe/milling/compat/regions_unexplored/yellow_lupine.json -178c120a4b804f302e5d621388407f4977e7c01e data/create/recipe/milling/compat/regions_unexplored/yellow_snowbelle.json -52e67f1825336a495bdf788654f84b85e5044cde data/create/recipe/milling/compat/supplementaries/flax.json -869f17957fe088fd087196c43f8066cbdc6e02b0 data/create/recipe/milling/compat/tconstruct/nercotic_bone.json -3cde23d221afdde00edbe8e62a13302451ca5032 data/create/recipe/milling/compat/upgrade_aquatic/flowering_rush.json -2ec73a6dd873ba9c1d10dbeb8349c3405d0e09f3 data/create/recipe/milling/compat/upgrade_aquatic/pink_searocket.json -05a8325172934e1c63af1de0cf52ad1be4924818 data/create/recipe/milling/compat/upgrade_aquatic/white_searocket.json -268046ab6045b0c760c01d7ef74bba31a01d4747 data/create/recipe/milling/cornflower.json -1481ab1bbe69b1bf34f3ad80cf3ecb4abd7610ea data/create/recipe/milling/dandelion.json -c02f03c851e27f415bc7a1727ef15ce448d2e2a9 data/create/recipe/milling/dripstone_block.json -2939cfd8fed3137393a6876feb244e16f9aa0011 data/create/recipe/milling/fern.json -662e8c5b0f417bbef37065acca8068043f6d4707 data/create/recipe/milling/granite.json -28777e6458112631afed31211e3e23c377944f6c data/create/recipe/milling/gravel.json -23dfbfe2c7358cad69e6274bc9a0946a69ee5d1f data/create/recipe/milling/ink_sac.json -9b6c150722a7a5ac245a0f9d9dfdf56ba097d7f4 data/create/recipe/milling/lapis_lazuli.json -6780a2499fa0d3c6cf71d2b8f15fbec3189c103f data/create/recipe/milling/large_fern.json -51b08dfea81f1eaee5c1d05de85b0145b7ae4d6c data/create/recipe/milling/lilac.json -87d165b5870742ce7cb64b3ddb710c9b41757acf data/create/recipe/milling/lily_of_the_valley.json -087d936e68bb00970857995570bddc6747cad0a6 data/create/recipe/milling/orange_tulip.json -7904c3782b389f5043c49013b03857feb0771419 data/create/recipe/milling/oxeye_daisy.json -dc732972f3311d248c50ba30a22114c0bb0a0326 data/create/recipe/milling/peony.json -ed4f8624422bafd5324906ae3ae6062ab3230083 data/create/recipe/milling/pink_tulip.json -bf4f287bbebb5ca95de59de17f11182ef525085c data/create/recipe/milling/poppy.json -5bb5f07a0ded62c53738644a0f255525e2ce66a4 data/create/recipe/milling/red_tulip.json -c51522096a8adc8fca1576c9c846433077b3100a data/create/recipe/milling/rose_bush.json -03ea51605235c12d800825aadfa7ded6a9a5a956 data/create/recipe/milling/saddle.json -4973a173df26c873d4dec11f73c692cf76b1b16c data/create/recipe/milling/sandstone.json -a542957d0cd263d81d1bf4f000352051b5fdf965 data/create/recipe/milling/sea_pickle.json -5e534342e0347c74da122b3b9831f2a4bb2ed83a data/create/recipe/milling/short_grass.json -70d2c18ad47755a0f6a89b0643c95cc742ab4aab data/create/recipe/milling/sugar_cane.json -7376a0da60e721293203b85acec80c1442a47d73 data/create/recipe/milling/sunflower.json -941a4a07bb49cc41cfc3435e43ff6b6c4298715e data/create/recipe/milling/tall_grass.json -c41c02dbb9f5d138f3ceadf50ece31571e1ed65d data/create/recipe/milling/terracotta.json -73603c259b2f66b00f00dc74864b02b0684253a9 data/create/recipe/milling/wheat.json -fe38c765caede3d6a54e49ebeb2287e00def57ec data/create/recipe/milling/white_tulip.json -d593b8a3903edadd56d1e98327edbc05d560e3d4 data/create/recipe/milling/wither_rose.json -3f4656b3f10083fca77a3d1e7da90ed9efc508d0 data/create/recipe/milling/wool.json -7737386433d9422101ca75359953323806605b1f data/create/recipe/mixing/andesite_alloy.json -b97f2d1b003d867309f72d80e348fb92c3ce92c7 data/create/recipe/mixing/andesite_alloy_from_zinc.json -5ed9085660e8008cd5eef9c555a8f48b715031c1 data/create/recipe/mixing/brass_ingot.json -8b211fe507393a98fb435744657f1d2da0c1396f data/create/recipe/mixing/cardboard_pulp.json -4ab6cf2e8958c4cb19af67b7350e639251a7894a data/create/recipe/mixing/chocolate.json -eac104e29170ea1332aabb59c6ee40a0fbdba922 data/create/recipe/mixing/chocolate_melting.json -26f2c8477454e7fee8b39ffb4d8665ba49b78a64 data/create/recipe/mixing/compat/ae2/fluix_crystal.json -c7f88b72ec8c3e2908ae02b775a48661e5a88d58 data/create/recipe/mixing/compat/regions_unexplored/peat_mud.json -1eabfcfef5e69724461214c548bdb0e7e6339e4c data/create/recipe/mixing/compat/regions_unexplored/silt_mud.json -cd6252dadf504213516a5bb048debae29c76239e data/create/recipe/mixing/dough_by_mixing.json -50a24ed733a73a5ef01cb48f8f5d38587088193b data/create/recipe/mixing/honey.json -09d995c48d22e4126195af3f5e066e2039fa6581 data/create/recipe/mixing/lava_from_cobble.json -50bb8cda9a071363f94b6c51e6f7ff451cf44657 data/create/recipe/mixing/mud_by_mixing.json -02905ea02324c18351028c746b34105ae64a094e data/create/recipe/mixing/tea.json -2587395fc150fd2ca965e3e0d3c1ffb4d76ad8b7 data/create/recipe/pressing/aether_dirt_path.json -aae246d81a254aad864a27318ccb3042bda706db data/create/recipe/pressing/aether_dirt_path_from_grass.json -0b3af71daf7ff99fbb67535904e4cff22cb56d43 data/create/recipe/pressing/brass_ingot.json -01001f35fe01cc6e9b2956b148bc9260ef2f9971 data/create/recipe/pressing/cardboard.json -28b46332871155db08df178083e49ea1e1e700d7 data/create/recipe/pressing/compat/atmospheric/crustose_path.json -876704cd5f40519703beebd2def32b34d7af8923 data/create/recipe/pressing/compat/betterendforge/amber_moss_path.json -50e998efa653be79ad76c5b9854fae18affcbdd8 data/create/recipe/pressing/compat/betterendforge/cave_moss_path.json -29a6ddd03412c9d2a82f8bc1080c40ea5036cff5 data/create/recipe/pressing/compat/betterendforge/chorus_nylium_path.json -e0d0f548497e787973a0ead414c9b224abb7d07b data/create/recipe/pressing/compat/betterendforge/crystal_moss_path.json -672113b6ac3968abfd9a2fddb1e30acd1c763176 data/create/recipe/pressing/compat/betterendforge/end_moss_path.json -78f7f995027ebd5850d7694f2b461be795229dc9 data/create/recipe/pressing/compat/betterendforge/end_mycelium_path.json -6677540016efea3eb57dd3decb6eaf08d5cd8b2a data/create/recipe/pressing/compat/betterendforge/jungle_moss_path.json -f981621265820687762ffc192bc3fdf68011d68e data/create/recipe/pressing/compat/betterendforge/pink_moss_path.json -83b2c77fc3d26981e820ec2be502b22fedf175cc data/create/recipe/pressing/compat/betterendforge/shadow_grass_path.json -78c67fb1528194c0cc4d9a175dcf303814d70b14 data/create/recipe/pressing/compat/byg/lush_grass_path.json -fbfc0fa989e6d54be2fbf34d0c6ca8e42632ca1f data/create/recipe/pressing/compat/environmental/mycelium_path.json -380edd33cba0861fc78ce67bd2b4bc844f3a7210 data/create/recipe/pressing/compat/environmental/podzol_path.json -5ad101fc6328cbfdaa4f65d270fdc99b4f71fe2e data/create/recipe/pressing/compat/infernalexp/crimson_nylium_path.json -9ae1bdc58ba83cd1ffa09feeb22bc6ecdb371e67 data/create/recipe/pressing/compat/infernalexp/soul_soil_path.json -5204ef0e4ad10007dab02251ce90920fbdc7e099 data/create/recipe/pressing/compat/infernalexp/warped_nylium_path.json -5b0bea8d2003e70515e95bdeaa5ca4ef323c8cab data/create/recipe/pressing/compat/vampirism/cursed_earth_path.json -f49b88018f465840bed4e4821b49e03ebd7cd4b4 data/create/recipe/pressing/copper_ingot.json -0e22e0b5f54d3a7b5d323e3a1633b8469b22fe4e data/create/recipe/pressing/cursed_earth_path_from_grass.json -d365cfdc1c368f487000e16d8fe678e97ec851c7 data/create/recipe/pressing/gold_ingot.json -dd46e3f96828e34023807a4a864f742487448480 data/create/recipe/pressing/iron_ingot.json -1468e59c378ebaa2ed5c707ccd6e56219c434029 data/create/recipe/pressing/path.json -8a1938a2a5127b732fe40e06f0a66174ea1e7b54 data/create/recipe/pressing/peat_dirt_path.json -74fbfc827c1c3f158a6448c57642808301c2d1ca data/create/recipe/pressing/peat_dirt_path_from_grass.json -3821a3058177d3247b0df35738f7144f73045e62 data/create/recipe/pressing/silt_dirt_path.json -3f5c22658b86eae5235b03e22558f9eea4b7b94b data/create/recipe/pressing/silt_dirt_path_from_grass.json -af0beae17aac69cb6f9f9bbeecc5a063be8bba16 data/create/recipe/pressing/sugar_cane.json -902c4638598dc22e0702dbacac3452527e2064ff data/create/recipe/sandpaper_polishing/rose_quartz.json -e2b5b5608bd0c05d865a42502b5c51e54c48c921 data/create/recipe/splashing/atmospheric/arid_sand.json -aedeb01f2ab81deed23ac2e26da4a922d964dcf2 data/create/recipe/splashing/atmospheric/red_arid_sand.json -851ae0aec15d22957b61280bd49d928243104a4b data/create/recipe/splashing/black_concrete_powder.json -8b9879b675a871a54062212024160b356e6d6a79 data/create/recipe/splashing/blue_concrete_powder.json -9e5dd9686d43269ef6bdd2aa4cd4773d5240eac5 data/create/recipe/splashing/brown_concrete_powder.json -91fa3c2a55553f0d3c9c3070b4b5ffb2e750badb data/create/recipe/splashing/byg/cryptic_magma_block.json -bbcbc7063f3abbc7c635526673297c913711f938 data/create/recipe/splashing/crushed_raw_copper.json -8ed1faf906a303554656afbedd5c4f55ebbfa990 data/create/recipe/splashing/crushed_raw_gold.json -33befe920ed6d1118c5a17d67920a83aaf23b43c data/create/recipe/splashing/crushed_raw_iron.json -c25dfdf8d31bfcda47bd19a6fc57527fc744ea9b data/create/recipe/splashing/crushed_raw_zinc.json -52ae2fd116cff3bdcfe2b86f9a52094c1f5df22a data/create/recipe/splashing/cyan_concrete_powder.json -c240ee48030f3cc165a19b2f4fd3594eeacdd856 data/create/recipe/splashing/endergetic/petrified_end_corrock.json -96cbe30875f0a1b1f6823f8b63b7cdfff0f55a43 data/create/recipe/splashing/endergetic/petrified_end_corrock_block.json -3b1a783ee34f1138801971fb0e6285535c226ac5 data/create/recipe/splashing/endergetic/petrified_end_corrock_crown.json -5907c7799c320e381e9f0ca74a517218b4c93201 data/create/recipe/splashing/endergetic/petrified_nether_corrock.json -8d6e44e4ca6fa0395c0938dc982992bbf4c39b7c data/create/recipe/splashing/endergetic/petrified_nether_corrock_block.json -b8555c58bbf35aa6e1b7a571c0fc9ab02fd25940 data/create/recipe/splashing/endergetic/petrified_nether_corrock_crown.json -bf68939ce4e441de57c73a0ba4bb253c4e0e28d3 data/create/recipe/splashing/endergetic/petrified_overworld_corrock.json -442b3083935e8bb20b6701d40ef51c67c31c1e12 data/create/recipe/splashing/endergetic/petrified_overworld_corrock_block.json -d6df7e55c5ad38b460907a6437c1fe6c1ce2e0b8 data/create/recipe/splashing/endergetic/petrified_overworld_corrock_crown.json -d032272ac5ad103e5ea39794c15c2520f894fb67 data/create/recipe/splashing/galosphere/crushed_raw_silver.json -110e5c9ade387f4df31cf80c241f55a375892b0d data/create/recipe/splashing/gravel.json -2081f1257fb22ccc2fed0cffd5800ca11a332554 data/create/recipe/splashing/gray_concrete_powder.json -e6c616740892099d98be3c1861028df9ffec9d84 data/create/recipe/splashing/green_concrete_powder.json -98b9c87a10994aa86763c6d7087bf2b5af9bcd9c data/create/recipe/splashing/ic2/crushed_raw_aluminum.json -ed092280d42180c3ff2682c52c9712c32ae4bc51 data/create/recipe/splashing/ic2/crushed_raw_silver.json -f2fdc880abec244f84ff9e56b5653767e8b810bf data/create/recipe/splashing/ic2/crushed_raw_tin.json -95c72a9cd61973815b3cb4b3863d2feaf19877ae data/create/recipe/splashing/ic2/crushed_raw_uranium.json -4f44940d836b828c85c1ca95674610ab78d0cb89 data/create/recipe/splashing/ice.json -4ad95aa5052c27118391dad831f32225f292820e data/create/recipe/splashing/iceandfire/crushed_raw_silver.json -bde5b6657ccd07ed2e1c802b079858d3432954f5 data/create/recipe/splashing/immersiveengineering/crushed_raw_aluminum.json -cb4f41f6d406b06b2ed09bc511499a70800da462 data/create/recipe/splashing/immersiveengineering/crushed_raw_lead.json -f902f40b327ad518512ab599299647e038bce7f4 data/create/recipe/splashing/immersiveengineering/crushed_raw_nickel.json -419eaec196ac57e6388c9e3bd3fa23d6f71ca727 data/create/recipe/splashing/immersiveengineering/crushed_raw_silver.json -178312763740e5bf4b20855f09030d9a9961cb4a data/create/recipe/splashing/immersiveengineering/crushed_raw_uranium.json -8a860aaf689666ccc967c9057e7100b5fb576310 data/create/recipe/splashing/industrial_iron_block.json -50d7377da45721ffee8b7177bc20371911e8488c data/create/recipe/splashing/industrial_iron_window.json -7eb01ee368f5c14c38d668d89068fed677c119a6 data/create/recipe/splashing/industrial_iron_window_pane.json -224b9184f1eee3103735e3346cb18ad91c3c8a84 data/create/recipe/splashing/light_blue_concrete_powder.json -1ab97392638fe8584cf5a05a6b1e0b0761bcca7e data/create/recipe/splashing/light_gray_concrete_powder.json -8be5cee44af7e4cdec3111795e3b53447b61d321 data/create/recipe/splashing/lime_concrete_powder.json -d1fa69c36569061b66c943edb11264eb0726bf98 data/create/recipe/splashing/magenta_concrete_powder.json -0d49086c5b05d972c6f223cb5a02e09c6b39c025 data/create/recipe/splashing/magma_block.json -dc54c8ddde9235e1b417c04f53d72c228747e310 data/create/recipe/splashing/mekanism/crushed_raw_lead.json -967b5c67dffde23aa28ddc1a31700810e664c49f data/create/recipe/splashing/mekanism/crushed_raw_osmium.json -658dca27c7e3936ad54f1bcd801ccc99a7d78c7d data/create/recipe/splashing/mekanism/crushed_raw_tin.json -4f0c757c0787086c551076604672b11556f4b35d data/create/recipe/splashing/mekanism/crushed_raw_uranium.json -7c7df9e6710566a139d1d97a9fa6d11461c209fd data/create/recipe/splashing/orange_concrete_powder.json -630c2de93555305c531424d58b039856a981a3ed data/create/recipe/splashing/oreganized/crushed_raw_lead.json -970af167b105ad17895251c95d6c5c6eae0233fb data/create/recipe/splashing/oreganized/crushed_raw_silver.json -b29c0ff3540bdde2ba4f0e0b6a993d2ce8c63109 data/create/recipe/splashing/pink_concrete_powder.json -ddb4fa2a94c75d5b575135fdc4bbffc17e5e5cb2 data/create/recipe/splashing/purple_concrete_powder.json -484db2bd245bb86ccb6ff174ed030d7b95eed618 data/create/recipe/splashing/quark/rusty_iron_plate.json -66a6449f13566de9a53f9193c8c343f18dd84fa8 data/create/recipe/splashing/red_concrete_powder.json -9d81466d07aad277af9720004bcddaccd34e994f data/create/recipe/splashing/red_sand.json -dea0886a1ea8615553b847ea9d1ab35d399f90d8 data/create/recipe/splashing/sand.json -fed157dcea5c662f58dbe94c8ce11d857f03b34d data/create/recipe/splashing/soul_sand.json -db6d634d66c0efbbabc02ce1e1da7d016474455a data/create/recipe/splashing/stained_glass.json -5e201b8314caed3f60cf0313680c8a0c56fc2495 data/create/recipe/splashing/stained_glass_pane.json -5f27e164f7ced5a5281ac0da2d7c4a5eebd605d6 data/create/recipe/splashing/supplementaries/blackboard.json -81925ca89d12f430ab1cf342df18b1f5f5983c59 data/create/recipe/splashing/the_vault/ornate_chain_rusty.json -aff9e32cffa157ab8e90f3ca498bf439073ee432 data/create/recipe/splashing/thermal/crushed_raw_lead.json -b9d8b6b51145a8e16a431c1ee11d6732bb74191a data/create/recipe/splashing/thermal/crushed_raw_nickel.json -e2d5a1f7b5ec86426ef183487b2d33c6794f9fef data/create/recipe/splashing/thermal/crushed_raw_silver.json -0ca49330c7403cd3ad4f2e3629355780c699dcdc data/create/recipe/splashing/thermal/crushed_raw_tin.json -d914f2f462f3421083517e63b63189ebc5831421 data/create/recipe/splashing/wheat_flour.json -8d4217cc0a33a941c2665ebd448aa9444808cdac data/create/recipe/splashing/white_concrete_powder.json -7e7ed41672da746ef6dea90995bdfa451488431f data/create/recipe/splashing/wool.json -06d0927345774dcb9c55341f2cc59599f409bc28 data/create/recipe/splashing/yellow_concrete_powder.json +// 1.20.1 2025-01-04T11:02:37.49645821 Create's Processing Recipes +3c94326fb730f68c1e44fe1e2ef09c9db6ffd92b data/create/recipes/compacting/andesite_from_flint.json +8d3d5b31f3601b9f681ff710e0545a483a1494c6 data/create/recipes/compacting/blaze_cake.json +8bd7f4e3a686ab520b2d55594d2018d0e9a50c91 data/create/recipes/compacting/chocolate.json +5e2514e027cc0dbad48160e6b8e5bf0f25eba8f0 data/create/recipes/compacting/diorite_from_flint.json +54c94ae8d964dba1de2441088f6a312c687cbf71 data/create/recipes/compacting/granite_from_flint.json +c558dddeacf6f8bfa29d74b68093ecfea619d43f data/create/recipes/compacting/honey.json +d4dc546ff711eae1a0621ede8b63897037a88bd1 data/create/recipes/compacting/ice.json +e00be6905b6bcf72de937e3fe8bbceee6440a6b1 data/create/recipes/crushing/aluminum_ore.json +60262e911676a7f8309408fd15b373f1498493b9 data/create/recipes/crushing/amethyst_block.json +8e20ddc94fda889dbac25de59e7a3158984098c3 data/create/recipes/crushing/amethyst_cluster.json +419e80e49fc24da0b5c6aa1fbdee1a1dc01960fb data/create/recipes/crushing/asurine.json +c444abdd432670f6a2b508c513302e119cb07186 data/create/recipes/crushing/asurine_recycling.json +66b51fd1036641802667338a1d79a825a338077c data/create/recipes/crushing/blaze_rod.json +29e7e74108755e0a07b1d3d1e8d4dcaf2b401572 data/create/recipes/crushing/coal_ore.json +d9a48b3aa36cfe4f792a31fd3ee50b442c1177f9 data/create/recipes/crushing/compat/aether/ambrosium_ore.json +81bdb03461bec6f8ca1201caa93805a751d7cda6 data/create/recipes/crushing/compat/aether/zanite_ore.json +73914b149bbd72251c1bd9a54cf6d087f6b2ba0b data/create/recipes/crushing/compat/byg/ametrine_ore.json +d468d9fbd206bd78dc3cc37ce6fcccbc3a89bc5c data/create/recipes/crushing/compat/byg/anthracite_ore.json +3481a8838049addc6d3514615fccab01a7eda830 data/create/recipes/crushing/compat/byg/blue_nether_gold_ore.json +d7ad1072113e56e3efa572c3d7d1508499015818 data/create/recipes/crushing/compat/byg/blue_nether_quartz_ore.json +ea09b911ec971760574868ffc48da4dafd836d3d data/create/recipes/crushing/compat/byg/brimstone_nether_gold_ore.json +f9cf46d9d2fc78a3d4092ae0baf9cf90fb7f38ca data/create/recipes/crushing/compat/byg/brimstone_nether_quartz_ore.json +94274bdc8fd928576ea380dd90f33b79b507b647 data/create/recipes/crushing/compat/byg/cryptic_redstone_ore.json +b4e8eed87747da8dfdfe2ad3ffd8534b900b38ad data/create/recipes/crushing/compat/byg/emeraldite_ore.json +9c6b0c1f78c5027b4e781f3126a734b65cb40f46 data/create/recipes/crushing/compat/byg/lignite_ore.json +06bae2f87dfe431c1f5df9675de5ce2a6aac7802 data/create/recipes/crushing/compat/byg/pervaded_netherrack.json +a7177964fe7921dbca27197c6271d6d8c5264665 data/create/recipes/crushing/compat/byg/red_rock.json +808305f43b6a4d3fe2030ba55a86c510346ff164 data/create/recipes/crushing/compat/druidcraft/amber_ore.json +ae0691d4885a8b67c1ba1f7f3b4f8fc6db9de403 data/create/recipes/crushing/compat/druidcraft/fiery_glass_ore.json +375daf4d1a5d847a253ce817b8fe99d47526cbb5 data/create/recipes/crushing/compat/druidcraft/moonstone_ore.json +6a2927807d18873b9eccfe4e9eb915ea7d829cba data/create/recipes/crushing/compat/elementaryores/ore_coal_end.json +fb4bbcf76c49643f0e4afc1bcf343d1eb07e5236 data/create/recipes/crushing/compat/elementaryores/ore_coal_nether.json +e8c0e1258cf047b986693609b19d94c603d12d14 data/create/recipes/crushing/compat/elementaryores/ore_copper_end.json +f66bc876f13b7523917f60ef4cf0d9faa99883df data/create/recipes/crushing/compat/elementaryores/ore_copper_nether.json +e0b7f9cd217387dfacb9e6e3741ef226ee519d6c data/create/recipes/crushing/compat/elementaryores/ore_diamond_end.json +8e1898aeccb293ba69b19678576eabb870a22ad7 data/create/recipes/crushing/compat/elementaryores/ore_diamond_nether.json +fd27de35297f21376e9d1054409f6c2ed1fe68ed data/create/recipes/crushing/compat/elementaryores/ore_emerald_end.json +587cfb12b91ac731f9e9a9dd7ee387b221bd286c data/create/recipes/crushing/compat/elementaryores/ore_emerald_nether.json +f1303c38024d102c2885babd59f50fcfb2f20b8c data/create/recipes/crushing/compat/elementaryores/ore_ender_end.json +fa4af21ec7ca9d6bd96278135b2007ebca0f70cc data/create/recipes/crushing/compat/elementaryores/ore_ghast_nether.json +4222415db5c5c0cc8aafbfdbcebd295c377bb44b data/create/recipes/crushing/compat/elementaryores/ore_iron_nether.json +42a9c2ddfac196865694db470638c81f73c46bb9 data/create/recipes/crushing/compat/elementaryores/ore_lapis_end.json +eac0542063e8718c9788c8b60144e35bbfdfcb24 data/create/recipes/crushing/compat/elementaryores/ore_lapis_nether.json +afed14982eb85caf831e84a7e4309aa166f53823 data/create/recipes/crushing/compat/elementaryores/ore_redstone_end.json +d98fab5641d0b4245d27bf0e3ce60676fb1980eb data/create/recipes/crushing/compat/exnihilosequentia/andesite.json +4153b4d4aaa532f93af0b12b8c65c665687d7dcd data/create/recipes/crushing/compat/exnihilosequentia/crushed_diorite.json +dc2553cb5b88b17b50b39d4f1177b3985d7d2700 data/create/recipes/crushing/compat/exnihilosequentia/crushed_netherrack.json +b45d8a7aaad59c5168140f185c74555c1d78770f data/create/recipes/crushing/compat/exnihilosequentia/diorite.json +4fd1a7c2a564dd60b11688cfed12f9531bd7e0f1 data/create/recipes/crushing/compat/exnihilosequentia/dust.json +92b384f37ff0b4b95a4e0f0a9a373b8439c5c3cf data/create/recipes/crushing/compat/exnihilosequentia/end_stone.json +9ad3bd8dce2178bcda4990681a7845365fb30a77 data/create/recipes/crushing/compat/exnihilosequentia/granite.json +c9f6c53c34c4891a245dd9515eb573b40b4f3e0b data/create/recipes/crushing/compat/exnihilosequentia/netherrack.json +0fedb41388b4f04e544f45d7182d91b2e9230bc6 data/create/recipes/crushing/compat/galosphere/allurite.json +9e255904c7a3277d6084183c0921392df0c7918d data/create/recipes/crushing/compat/galosphere/amethyst.json +b04f95c02f37a0398c209a02ad08a8b0e9aaaaa9 data/create/recipes/crushing/compat/galosphere/lumiere.json +bea05bc584958f479078cd6c16a06c50eae859cc data/create/recipes/crushing/compat/neapolitan/ice.json +2358ce4b7a3acb08d3d0a3e64295fb97dea2ec02 data/create/recipes/crushing/compat/quark/moss_block.json +2631b2bdcf091f4d400e0a9d2be6f1f772edfdc9 data/create/recipes/crushing/compat/silentgems/alexandrite_ore.json +d11b5a993f5ed0105eb63361d8e9e8739d8a5273 data/create/recipes/crushing/compat/silentgems/ammolite_ore.json +3f60a2cdfec1d15ad4dd8ccc5fd4e7d14ccafc14 data/create/recipes/crushing/compat/silentgems/black_diamond_ore.json +21c0ee3b80c3c9b5612367b63a981fe526d5d996 data/create/recipes/crushing/compat/silentgems/carnelian_ore.json +1f5eaa337f7b3262b83d99b2d8e8179bbf20fc89 data/create/recipes/crushing/compat/silentgems/citrine_ore.json +f3257c0e08c4da373862ab9128df3a28fec17d26 data/create/recipes/crushing/compat/silentgems/iolite_ore.json +ea65f0bb86c444401491f2f020dc040d263f4def data/create/recipes/crushing/compat/silentgems/kyanite_ore.json +36f7fe4671a8ec1f8aa7a78260ce306033501691 data/create/recipes/crushing/compat/silentgems/moldavite_ore.json +466501f69b3c8b3ca7ad63f8db29f23136269e94 data/create/recipes/crushing/compat/silentgems/peridot_ore.json +ff54345899fa142839e496a737fa0a740b0d32db data/create/recipes/crushing/compat/silentgems/rose_quartz_ore.json +701ed26488cda81ee2ddd48e51f96890dee99899 data/create/recipes/crushing/compat/silentgems/ruby_ore.json +f71bbcece1d63299ccf5bf892883abc67bab1d7d data/create/recipes/crushing/compat/silentgems/sapphire_ore.json +7e65a919156d62f2316b91198477eb3745285711 data/create/recipes/crushing/compat/silentgems/topaz_ore.json +4fb0c49b9385436cd85445c1ff0d7c0a69121596 data/create/recipes/crushing/compat/silentgems/turquoise_ore.json +5198e4e42ba81b048e1c2512fff64ecd4f9afe70 data/create/recipes/crushing/compat/simplefarming/barley.json +7a3f91add5e9cbaafd5ab29acf2b26fa6f0f9eec data/create/recipes/crushing/compat/simplefarming/oat.json +4c344201ebf58640d386d68adf864446bd3d8389 data/create/recipes/crushing/compat/simplefarming/rice.json +a5537631def291e7da320d2bc8c6256db45ea622 data/create/recipes/crushing/compat/simplefarming/rye.json +4774b880ce6d1b0e4dc5fe95c65ce697253a43d7 data/create/recipes/crushing/compat/thermal/apatite_ore.json +ef8e75c897962c4bc4fa4ccaa42b374bbeb633e8 data/create/recipes/crushing/compat/thermal/cinnabar_ore.json +e16232b73076c46164a7b0352398e19db30af6c5 data/create/recipes/crushing/compat/thermal/niter_ore.json +05da2e5ca7871402b29ace6e543aeb008a78af80 data/create/recipes/crushing/compat/thermal/sulfur_ore.json +ad91e6a560bdb8ef311862a0fee1f316529ed439 data/create/recipes/crushing/copper_ore.json +0ff7fa09b2ae808bc29c4d87985deccab5de2de5 data/create/recipes/crushing/crimsite.json +50c9a45e77d266852317fa1bac6c17443cfd986c data/create/recipes/crushing/crimsite_recycling.json +091602442de918ea38482277fcdd98443111d585 data/create/recipes/crushing/deepslate_coal_ore.json +9aa9bcd71da7ebb25301211426e988e71c9bff97 data/create/recipes/crushing/deepslate_copper_ore.json +4afc9cc723bdee47ed2176f32323f1fca152765f data/create/recipes/crushing/deepslate_diamond_ore.json +94d706cac7779cf8dc3aa8822605a4ee9d0ba047 data/create/recipes/crushing/deepslate_emerald_ore.json +9922535a4b41d6af68df94168276abf308ea432c data/create/recipes/crushing/deepslate_gold_ore.json +e266d091252d692dcd0618f34754536fe0aa98b3 data/create/recipes/crushing/deepslate_iron_ore.json +8b721de1578798a8996d2f8dec61b3bc03b8064d data/create/recipes/crushing/deepslate_lapis_ore.json +26365dd1f80ecc859dc510cd5278907d2fa6f2f7 data/create/recipes/crushing/deepslate_redstone_ore.json +64688579de20cbc0f4a7e4a589140fbbce408fcf data/create/recipes/crushing/deepslate_zinc_ore.json +69e0a401b424cb82ab3387a0b23bd7241f80f56e data/create/recipes/crushing/diamond_horse_armor.json +35cff9ebc59e837a2beafd2d4ec80e088459344c data/create/recipes/crushing/diamond_ore.json +5cc17c5a45855d82d471f96c1c82d8d031bd3e16 data/create/recipes/crushing/diorite.json +df364151c75a7d84446b2c6213e339115bc9d298 data/create/recipes/crushing/diorite_recycling.json +9e89294e53a94a05af47948c21ad192ef18f7710 data/create/recipes/crushing/emerald_ore.json +9c3989fd9e72e21353803f475a08b8f199717c1f data/create/recipes/crushing/gilded_blackstone.json +3c4c78e3a7137022f8f6e90324af6c8f97050e80 data/create/recipes/crushing/glowstone.json +b036b1654d2deec20aca95ff43b60c7d0b28b2fc data/create/recipes/crushing/gold_ore.json +95b76da439260151355fff74b3b7398ce13d6968 data/create/recipes/crushing/golden_horse_armor.json +cc939ba59b95db1c7a034df6f9e656772074a5fd data/create/recipes/crushing/gravel.json +17ab2d789c9c2df122b6a96ab06bbe2c02592a93 data/create/recipes/crushing/iron_horse_armor.json +c9a47b29ba75ba29c8cb630fe32c4bf2f1f1d1ae data/create/recipes/crushing/iron_ore.json +855b6655dea911724ee68d07b993f17440ac422e data/create/recipes/crushing/lapis_ore.json +492827ab3d55ca3edfef5eb006b1f77d62e1b446 data/create/recipes/crushing/lead_ore.json +e170bc17a796c73a05d2d77a85c086cfaac55c31 data/create/recipes/crushing/leather_horse_armor.json +07e8991a2161aab4dd73bb74900fd0c70aad2847 data/create/recipes/crushing/nether_gold_ore.json +c7c0d94707c2858a87d01cff6b284d7fb85acdbe data/create/recipes/crushing/nether_quartz_ore.json +0380b9416b263de2ee6a6cd1f4064df2e243c047 data/create/recipes/crushing/nether_wart_block.json +606ccdf3119a62ab461028192d191ffb10332e21 data/create/recipes/crushing/netherrack.json +d3534d606382ec7c1d34275c5f069543d0955906 data/create/recipes/crushing/nickel_ore.json +66f75530e30d8572bdbf4696a32edc5a7850ac00 data/create/recipes/crushing/obsidian.json +17cacb19493b9bbe7236b19a2a50a817c449a915 data/create/recipes/crushing/ochrum.json +5db58119de29083c865ef86f824fe7dd15e6507f data/create/recipes/crushing/ochrum_recycling.json +1bcd6676fe2dc3715b7aab0411962c81dd3797ce data/create/recipes/crushing/osmium_ore.json +d391ef171a3ece91ae72697ceba36b71b19f4fae data/create/recipes/crushing/platinum_ore.json +acb785fd57d14ac337beacc0a0a0651d75dd45da data/create/recipes/crushing/prismarine_crystals.json +1126e9f29bf15c56917168d53e9f533c171ad2fb data/create/recipes/crushing/quicksilver_ore.json +00c7c3bc45245749ad7cc4ba3ae4b1958bd6bab7 data/create/recipes/crushing/raw_aluminum.json +a0a9e118317e2aabdafc94d19dedb05ccc751630 data/create/recipes/crushing/raw_aluminum_block.json +b798b65bfd6cb36659d5a066207ccc8dfbb018f6 data/create/recipes/crushing/raw_copper.json +792c59071020e56c730f0c56d533be7e387aa8a0 data/create/recipes/crushing/raw_copper_block.json +d5e4dc9ffe659d36310e1a834b30d18fb7759ce4 data/create/recipes/crushing/raw_gold.json +2ece4b609f585dee6eaf68d50f242912bf8b5c63 data/create/recipes/crushing/raw_gold_block.json +5fe12a645e6a6ee296c90d81f02047251008a8ac data/create/recipes/crushing/raw_iron.json +26fb3284ca7c9241f309dc8b8cbdbda9ad8c8b3c data/create/recipes/crushing/raw_iron_block.json +8bcbe26c99259814cda03c7e702cb2b9cdb703be data/create/recipes/crushing/raw_lead.json +bb958be3f923c7b921b1fe4e1fffaf612313bc3b data/create/recipes/crushing/raw_lead_block.json +fe4987e15391a89865021c8ffc39f552d972ce6c data/create/recipes/crushing/raw_nickel.json +b32aeba202cb46ca597c45b321df087629b0d529 data/create/recipes/crushing/raw_nickel_block.json +f170312878e061b588780f694b3069b07c6a9145 data/create/recipes/crushing/raw_osmium.json +ba9ac5dac3bebb11ca29c31da6929c1e4bc42a82 data/create/recipes/crushing/raw_osmium_block.json +948c8d58b5ff186e1a6822ea30310f8fb2d04c0a data/create/recipes/crushing/raw_platinum.json +7862c43aeabec2ce7f9c57237f12cb1e57ba19f3 data/create/recipes/crushing/raw_platinum_block.json +a47988609aa65204f28a08f92330947264bae99c data/create/recipes/crushing/raw_quicksilver.json +44f93dc5967c395116f2f88440b6551ae37492fd data/create/recipes/crushing/raw_quicksilver_block.json +c76409d69a9639c32bd95988bc6ae937d2b9ab3d data/create/recipes/crushing/raw_silver.json +edb7cd8356c53e9d6c26385e7daba2477d1c0fc3 data/create/recipes/crushing/raw_silver_block.json +1416215d01c218bcf9138368237ad49a7e3401f7 data/create/recipes/crushing/raw_tin.json +7a7aebffec77b5735ff94b36ea7d624012129b36 data/create/recipes/crushing/raw_tin_block.json +4614b1f29655509da43e7b9bf0b2dc25c1a5968e data/create/recipes/crushing/raw_uranium.json +537963e4b7d514c6829091f80454d3722cdc1b66 data/create/recipes/crushing/raw_uranium_block.json +86b1ea5c26fa49af78d5fa38b7a29a451b862b0f data/create/recipes/crushing/raw_zinc.json +66c25b21126921863e4f6b28115ba3be00ae4ee0 data/create/recipes/crushing/raw_zinc_block.json +268f64d9d7f99e12d0a8228d3455c70e436ebd7f data/create/recipes/crushing/redstone_ore.json +6ae95e2551fe11bceea7f473c04b158c0518508e data/create/recipes/crushing/silver_ore.json +caffc0003ad99160c866ee0e71a345dbe7f696b2 data/create/recipes/crushing/tin_ore.json +97beb27a8fb05f799c215a4cb5691d4e03a6820e data/create/recipes/crushing/tuff.json +d16603ecf47014f2f8c6d9b5ce0ec5a5a398978f data/create/recipes/crushing/tuff_recycling.json +91dfb90e0efc81de398477039a6670a8ac30ab36 data/create/recipes/crushing/uranium_ore.json +e4cdcc67baffa90e27a73a2ba59ec92b323e1d4f data/create/recipes/crushing/veridium.json +bfd5baa72a48ef29c3141b57a88f5ead0f723614 data/create/recipes/crushing/veridium_recycling.json +b135e3faf6afef4b6a5f00197997b47ff8e90568 data/create/recipes/crushing/wool.json +931a66992ccb5accdb435dca6fe6532e86250c0d data/create/recipes/crushing/zinc_ore.json +cdb26cd91feeda5901f31f57c16517dda5287810 data/create/recipes/cutting/andesite_alloy.json +5afeada82e71eb5012e35725821792f64d92a6b3 data/create/recipes/cutting/bamboo_block.json +4ac4bb94de7b25a3eec85e8290ab5f2f6b2b4167 data/create/recipes/cutting/bamboo_planks.json +60a64dc871d6b23274e01edfa9cdd331aa4365c9 data/create/recipes/cutting/compat/ars_nouveau/blue_archwood_log.json +e4c23f6502bae92d3baa1845da87073e1719938e data/create/recipes/cutting/compat/ars_nouveau/blue_archwood_wood.json +1ff887f11099b4536bf6fad3e407a37e83d3bfca data/create/recipes/cutting/compat/ars_nouveau/green_archwood_log.json +ec130b4ca348a1245e18785df0714bf41b11aecd data/create/recipes/cutting/compat/ars_nouveau/green_archwood_wood.json +da71348a35a0c921b447a817e6e2d48b6df47307 data/create/recipes/cutting/compat/ars_nouveau/purple_archwood_log.json +af1ca00e05d554bba1d85c766e52560d5ea8fe4d data/create/recipes/cutting/compat/ars_nouveau/purple_archwood_wood.json +1f8e313658c55cef063d6301c4cc4305df9342e8 data/create/recipes/cutting/compat/ars_nouveau/red_archwood_log.json +144d0b6fdce5a7d394161f61c1bab37630be4d64 data/create/recipes/cutting/compat/ars_nouveau/red_archwood_wood.json +6bfcfc513f45b9cf9fba86b2c20c19e781ea6392 data/create/recipes/cutting/compat/ars_nouveau/stripped_blue_archwood_log.json +498bd7d0acc0be5d343d800ee3b191748ca77492 data/create/recipes/cutting/compat/ars_nouveau/stripped_blue_archwood_wood.json +6f51d9c5490e7249b19ea98b8b995e6efcc5f83f data/create/recipes/cutting/compat/ars_nouveau/stripped_green_archwood_log.json +31d05d982d59f11bd1aba2e3a1a54557e3370163 data/create/recipes/cutting/compat/ars_nouveau/stripped_green_archwood_wood.json +080e8f9c81b692bf396a41e7fe2800ebf83cb640 data/create/recipes/cutting/compat/ars_nouveau/stripped_purple_archwood_log.json +1a66e7e6dfba9531bbb5a1d0bf014e16d6cbb6be data/create/recipes/cutting/compat/ars_nouveau/stripped_purple_archwood_wood.json +5c1c8275b2e30fdf387dcf358fd41e995e817c86 data/create/recipes/cutting/compat/ars_nouveau/stripped_red_archwood_log.json +9dc5bd8a1002b9d299d60a405720950eb0b4e9ab data/create/recipes/cutting/compat/ars_nouveau/stripped_red_archwood_wood.json +aa75d5f92d23fb24aece736145ac8372f6cff3f3 data/create/recipes/cutting/compat/regions_unexplored/silver_birch_log.json +3218231281a0afda1cef330a022e450efac18927 data/create/recipes/cutting/compat/regions_unexplored/silver_birch_wood.json +558e81291da72b7f042b3b3270744b2c05ddc6fa data/create/recipes/cutting/stripped_bamboo_block.json +7a01147d3c7d8fb9acb870b33e5a792328f88c3c data/create/recipes/deploying/cogwheel.json +1230f449873262e79585752d3430e5f7f383bcb2 data/create/recipes/deploying/large_cogwheel.json +dc35369da8514a5650704fd39e84861cce084b5d data/create/recipes/deploying/waxed_copper_block_from_adding_wax.json +afbe0c612651ee90651ee7b39683c8baac2a115e data/create/recipes/deploying/waxed_copper_shingle_slab_from_adding_wax.json +66cd83c15d46692f27deaac280ef782bb2bd7909 data/create/recipes/deploying/waxed_copper_shingle_stairs_from_adding_wax.json +7b7d596cdaa4000222177b405c04c6e8906561b4 data/create/recipes/deploying/waxed_copper_shingles_from_adding_wax.json +eecd6194b0efc2bee321ba7fac7348cd3f5911ab data/create/recipes/deploying/waxed_copper_tile_slab_from_adding_wax.json +dfc1f8f6b0d1b6d23c9125c97eba31dadc370904 data/create/recipes/deploying/waxed_copper_tile_stairs_from_adding_wax.json +bcb9750b7c3504996d6177d5980128af018942a8 data/create/recipes/deploying/waxed_copper_tiles_from_adding_wax.json +e260cded2b746bd79afaaa1e086cf2f0faffde76 data/create/recipes/deploying/waxed_cut_copper_from_adding_wax.json +33e338242aff64f9d52169392d2eb8e617b8da5c data/create/recipes/deploying/waxed_cut_copper_slab_from_adding_wax.json +5f4671548b18634ae440d7c64c4c97e5e533601b data/create/recipes/deploying/waxed_cut_copper_stairs_from_adding_wax.json +ff182d5c0c4b832ff566691d9b680c9039c55c16 data/create/recipes/deploying/waxed_exposed_copper_from_adding_wax.json +5a7a622d5b340f83ba2d32fe53620744c5193a32 data/create/recipes/deploying/waxed_exposed_copper_shingle_slab_from_adding_wax.json +b895ef423e64936b5d94ee54a6527316ed48d9d6 data/create/recipes/deploying/waxed_exposed_copper_shingle_stairs_from_adding_wax.json +eff2e77f004873e695e419afc71a7011328d3de8 data/create/recipes/deploying/waxed_exposed_copper_shingles_from_adding_wax.json +582083e0fed8760cde2c53aa2b02237eb59a3df0 data/create/recipes/deploying/waxed_exposed_copper_tile_slab_from_adding_wax.json +fec9d744770bfc517a72a2be45701aab6f3040b2 data/create/recipes/deploying/waxed_exposed_copper_tile_stairs_from_adding_wax.json +9d566e599cc05aefde637faab1957813a5b6f3f7 data/create/recipes/deploying/waxed_exposed_copper_tiles_from_adding_wax.json +0f18c91f36e3abae99a7dca72f3d80e59f03cf7d data/create/recipes/deploying/waxed_exposed_cut_copper_from_adding_wax.json +7ed36f4f3abfd37aec13a273b87d97c8ccc36cb4 data/create/recipes/deploying/waxed_exposed_cut_copper_slab_from_adding_wax.json +9cd5a6c71b5102ef2660e8a5c650cbd2c2327580 data/create/recipes/deploying/waxed_exposed_cut_copper_stairs_from_adding_wax.json +97b7b3f65807328d0a036cb66ee53d898504da77 data/create/recipes/deploying/waxed_oxidized_copper_from_adding_wax.json +07c82e555617f9d9166f2d2c9068ac421eb0b37a data/create/recipes/deploying/waxed_oxidized_copper_shingle_slab_from_adding_wax.json +d0c7805681e3ed6a6bc5775d42c702af924e8785 data/create/recipes/deploying/waxed_oxidized_copper_shingle_stairs_from_adding_wax.json +bd37d658666b2912c07b6daa6adaff99a479223a data/create/recipes/deploying/waxed_oxidized_copper_shingles_from_adding_wax.json +af72234311a9abf5c57c767c05274c466dceac53 data/create/recipes/deploying/waxed_oxidized_copper_tile_slab_from_adding_wax.json +b35d22f891d1c9cab4340399e3426c96132b3fc7 data/create/recipes/deploying/waxed_oxidized_copper_tile_stairs_from_adding_wax.json +41c879946a24ff330466476bdee9148859398842 data/create/recipes/deploying/waxed_oxidized_copper_tiles_from_adding_wax.json +9d78f4d16273015d181be586f91e77f3b82ee18f data/create/recipes/deploying/waxed_oxidized_cut_copper_from_adding_wax.json +2a9c57a8ca9b013b7bc11d2588d4ba00b402f97f data/create/recipes/deploying/waxed_oxidized_cut_copper_slab_from_adding_wax.json +5670c074c0f1961a5e499953a49c7e3f1f617ebf data/create/recipes/deploying/waxed_oxidized_cut_copper_stairs_from_adding_wax.json +58679c5c37eaa5a52ef9e0f4f7cc695c58ddee96 data/create/recipes/deploying/waxed_weathered_copper_from_adding_wax.json +e962429c48ed12bb2d7b299719513c23a2088879 data/create/recipes/deploying/waxed_weathered_copper_shingle_slab_from_adding_wax.json +2321ea4ed39d09b12a80be8df2c7c1dc4c6d2c18 data/create/recipes/deploying/waxed_weathered_copper_shingle_stairs_from_adding_wax.json +5817055c1cf3ae572ffbe2765f3e519fda4c3342 data/create/recipes/deploying/waxed_weathered_copper_shingles_from_adding_wax.json +d0fc937a3e7ae42fb1891b7b87adb2b57292e01d data/create/recipes/deploying/waxed_weathered_copper_tile_slab_from_adding_wax.json +6852ea4c7f27520fb3388ec641be4cb94d907199 data/create/recipes/deploying/waxed_weathered_copper_tile_stairs_from_adding_wax.json +b635490492a22f88e24003bffb09c4d5e3fa2d61 data/create/recipes/deploying/waxed_weathered_copper_tiles_from_adding_wax.json +9ab3ba5847c3abbc17c476436978141f2c039ce9 data/create/recipes/deploying/waxed_weathered_cut_copper_from_adding_wax.json +733dd94b46186c19fdecced5d8231e46ea612cf2 data/create/recipes/deploying/waxed_weathered_cut_copper_slab_from_adding_wax.json +cd4c050e6ad9227bf293768f2d8b965c0ecafeab data/create/recipes/deploying/waxed_weathered_cut_copper_stairs_from_adding_wax.json +6a9fa669a5cbdc2406ecc5eaf6992e0e8fa83b88 data/create/recipes/emptying/builders_tea.json +0b20bddac967edea53442c05c59ccf3306e9eb76 data/create/recipes/emptying/compat/alexsmobs/lava_bottle.json +5fb7e705b53ed84b607858be1db6a6d2765bea9c data/create/recipes/emptying/compat/farmersdelight/milk_bottle.json +054bd7804a710c498f605b82fd7d5055a4762829 data/create/recipes/emptying/compat/neapolitan/milk_bottle.json +ab35f7d885d8f2c8ccf562938ac804f6cb4c38ad data/create/recipes/emptying/honey_bottle.json +b4e78bf89677ff211c9a740231836ae0598cf0d8 data/create/recipes/filling/blaze_cake.json +aea7837e33bfcbdd1e0b4386372b6595fd00ad1d data/create/recipes/filling/builders_tea.json +0c69ff301d149af8d36be10a1e49b0be53a21a49 data/create/recipes/filling/chocolate_glazed_berries.json +2d3b2d7c28fc0ea9f18be73d9523456b5c5946da data/create/recipes/filling/compat/aether/aether_grass_block.json +f158f5e509b43746871722edf802984e2b9cc024 data/create/recipes/filling/compat/alexsmobs/lava_bottle.json +5770b60bd7e89f2cac74df71b463a1101601d86f data/create/recipes/filling/compat/byg/lush_grass_block.json +1280689ba81877c6583c6941ed307ca35d4f00e4 data/create/recipes/filling/compat/farmersdelight/milk_bottle.json +fd578bb1e05901d0b959b1f445273619b55cde57 data/create/recipes/filling/compat/neapolitan/milk_bottle.json +3f0f458c0c044c7b1c4e203d7394d890ba286d86 data/create/recipes/filling/compat/regions_unexplored/peat_grass_block.json +ff16c74f09edbc67ed969f64270ca376bb8ea955 data/create/recipes/filling/compat/regions_unexplored/silt_grass_block.json +364eba8060e0d685dda6e88713a4a5c74f02ffbd data/create/recipes/filling/compat/vampirism/cursed_grass.json +12c19b46eec5bd371300dfcff5d2a9dd7169bb1b data/create/recipes/filling/glowstone.json +afeb566e5f989c58d239a2f66084ce3d813d111a data/create/recipes/filling/grass_block.json +36d0f06ea9fa065ed85fc596e08725a2e6c8d4af data/create/recipes/filling/gunpowder.json +c4e0373516bc98def80d0a13803cf980e3f905e0 data/create/recipes/filling/honey_bottle.json +c07c662c2ba8d7e5c72437096acfd7fdb99704f3 data/create/recipes/filling/honeyed_apple.json +3acf4a649751c23c8e39d649131939659c105a53 data/create/recipes/filling/redstone.json +deab6ea169b756376d89ea2200e0387a865ed2fc data/create/recipes/filling/sweet_roll.json +788cce637f455ea33408e5be5b75ce0e4cc57c95 data/create/recipes/haunting/blackstone.json +798eaf3436e44fe388f9e37063dc5d1ee9f7fe43 data/create/recipes/haunting/compat/farmersdelight/rotten_tomato.json +eee126848cc68c4d9bd12f8ba8638133ad920da2 data/create/recipes/haunting/compat/hauntedharvest/rotten_apple.json +6f4039ea3aa482f15a18deba3d7d5fbd0e907c2e data/create/recipes/haunting/crimson_fungus.json +130d971b626bc871c23bd13d24b4fd23a954dbf2 data/create/recipes/haunting/glow_berries.json +4319a7d8ca417f1f2f1995b867c979e831a4de59 data/create/recipes/haunting/glow_ink_sac.json +ad3b1ecd1128b54f00b981b2672a27f1a5e39dc2 data/create/recipes/haunting/haunted_bell.json +6a8eb2597dc2efd538ed0540c4a8182058e9705c data/create/recipes/haunting/infested_chiseled_stone_bricks.json +77db0c662d274b42c896b88487fdf5152c22f4e6 data/create/recipes/haunting/infested_cracked_stone_bricks.json +077cd6bc7c0df7dfadf99562bf37a2d0b09b5100 data/create/recipes/haunting/infested_deepslate.json +26f60874d9583eca51b86e0179565007d3ff2738 data/create/recipes/haunting/infested_mossy_stone_bricks.json +c77509af1f1f394f13b99ce1f9a8d5c9068a8bc2 data/create/recipes/haunting/infested_stone.json +2eb4fc92d99c4b90ead42ba39dd9f7daab5ea409 data/create/recipes/haunting/infested_stone_bricks.json +17568d497edfe8e59ada60792df55bd60559584e data/create/recipes/haunting/lapis_recycling.json +dccb36fbb2ecfddf9b7f8ecbb5447debf85d1954 data/create/recipes/haunting/nether_brick.json +06b55546f08643c4dcb97c67742bae484906422b data/create/recipes/haunting/poisonous_potato.json +b8d1afc51e1424e627228119d919d4a7bcde8175 data/create/recipes/haunting/soul_campfire.json +47a860aaf489792d7ec7bfc77d0fb020886c92cd data/create/recipes/haunting/soul_lantern.json +a701fb82072d60320aa9b0280fa58c58296e8e42 data/create/recipes/haunting/soul_sand.json +901941fc33197c38391e6b23241081123f41c59c data/create/recipes/haunting/soul_soil.json +70492107d7e7573140937c6176c72e7a0a1e8744 data/create/recipes/haunting/soul_torch.json +b18c81c17d395fb6e9291fc010576914000f069d data/create/recipes/haunting/warped_fungus.json +409c94b597bc0e35cce51282428fc02b919bb55e data/create/recipes/item_application/andesite_casing_from_log.json +4816a96aa0117b826ec01f9351c98eaec4e132fd data/create/recipes/item_application/andesite_casing_from_wood.json +59b5145feb9f433aaab98bb7e3f1070499768210 data/create/recipes/item_application/bound_cardboard_inworld.json +ac734bd72012ab3f0fd362fdcf237191874e1eae data/create/recipes/item_application/brass_casing_from_log.json +df1d95a4e41fb01d0ac240f89dcf734e00d92853 data/create/recipes/item_application/brass_casing_from_wood.json +a9e164ba47552af7df82f011080d981420388bc6 data/create/recipes/item_application/copper_casing_from_log.json +92e97bf5e88f73d1320f30af95a90f58ceb58877 data/create/recipes/item_application/copper_casing_from_wood.json +d8a741b87c14ab45d7f32a8f569c3f874b3a3076 data/create/recipes/item_application/railway_casing.json +9336b8b9f590ed993fd88c8707b57d845a5aa115 data/create/recipes/milling/allium.json +d480b1b4c48440c6d6cb775321e95be7ea171aa5 data/create/recipes/milling/andesite.json +62ad8298a8d65935137fe5895b5351472405d66b data/create/recipes/milling/azure_bluet.json +329b96a869b6151d8e45190820a9d3537a9a2e04 data/create/recipes/milling/beetroot.json +a3b4a9eb3970eea745dff83c2d5fbab403ed481f data/create/recipes/milling/blue_orchid.json +720ff9753bb30e874483fc850c3cbc8bfa973224 data/create/recipes/milling/bone.json +e84433fe6ec772c212d20109268fa74ceb8fa3ab data/create/recipes/milling/bone_meal.json +08771e9c43212ed8a378a7f4b2e5147ebe37fe0b data/create/recipes/milling/cactus.json +d6073794b0be05fb52faf2d78d0daeb6ce3beab5 data/create/recipes/milling/calcite.json +5b6ccdbc1bf1dcc3fc3fca94ff1fa46c17f46622 data/create/recipes/milling/charcoal.json +6323f36ea7a1a46d0999dfe24e4fa86d677e319d data/create/recipes/milling/clay.json +a303570c10fc5ad55646555b1a72d2e2620fa34e data/create/recipes/milling/coal.json +9787581b978c78b40f92233556c6380c6ee9de53 data/create/recipes/milling/cobblestone.json +680b49ceb7d1052e5fe19e33f2eba6b7841ca817 data/create/recipes/milling/cocoa_beans.json +de5a7460348c3301381dd2635ac433a473bec04a data/create/recipes/milling/compat/ae2/certus_quartz.json +42151b6f50df8e05a7399eaa386369474a5a618c data/create/recipes/milling/compat/ae2/ender_pearl.json +b383c64d2559cd757b84fd5651f77c9ea95ebb00 data/create/recipes/milling/compat/ae2/fluix_crystal.json +880cfc22f510351e54a82242d6bc86acab4c3c92 data/create/recipes/milling/compat/ae2/sky_stone_block.json +d6c091225197381abae8bdba35318aa3a8bde1ad data/create/recipes/milling/compat/atmospheric/gilia.json +9dce11179bf92dc0519fad4b41c944a25226abff data/create/recipes/milling/compat/atmospheric/hot_monkey_brush.json +fd427a15577f3ea5612667e6b148ff253d2fd021 data/create/recipes/milling/compat/atmospheric/scalding_monkey_brush.json +80277c7f81e217740643c284f6c23b22373d5877 data/create/recipes/milling/compat/atmospheric/warm_monkey_brush.json +dd37341d15d8a6fdee096470a1eed7686bb40773 data/create/recipes/milling/compat/atmospheric/yucca_flower.json +5b05e3713b0e1e3bbf66cf87fcd8705c9b471ded data/create/recipes/milling/compat/autumnity/autumn_crocus.json +155b38f5087cadd93f268c272ad40ff5ae146a42 data/create/recipes/milling/compat/biomesoplenty/blue_hydrangea.json +b23f8cd24c43a995d11fe7eb8e639baf27556ca2 data/create/recipes/milling/compat/biomesoplenty/burning_blossom.json +8c6d77df0f70a7e46f4f1c8071dadc6388cc5798 data/create/recipes/milling/compat/biomesoplenty/glowflower.json +3eee4227b1ba4d5a27801a1cd7172698d5c9b9d2 data/create/recipes/milling/compat/biomesoplenty/lavender.json +ae27a8d0a76d911164a1dc23124a6b404b37b546 data/create/recipes/milling/compat/biomesoplenty/orange_cosmos.json +e383106ff8f877b5995e20c03af5e41e3db541d9 data/create/recipes/milling/compat/biomesoplenty/pink_daffodil.json +0de05838a8d236803379ea3766ef75883b3f1467 data/create/recipes/milling/compat/biomesoplenty/pink_hibiscus.json +7e69f8ff3f816e176670df7b4eb3340f5e7bc855 data/create/recipes/milling/compat/biomesoplenty/rose.json +213e079f32baa2879702b72bdf08f146877a0bb9 data/create/recipes/milling/compat/biomesoplenty/violet.json +b3f041e005491582f055da15871891357908d998 data/create/recipes/milling/compat/biomesoplenty/wildflower.json +d08c4fcebb79e2e02ac9cb4623124332a05ed661 data/create/recipes/milling/compat/biomesoplenty/wilted_lily.json +4994095300eabfe98a86036e7fbba6c12cddb078 data/create/recipes/milling/compat/botania/black_petal.json +3516555e62ce7d6f0b5a57375339e69b4de41f83 data/create/recipes/milling/compat/botania/blue_petal.json +deb37dcb4b323590fbb76f21732e5b9016028f7d data/create/recipes/milling/compat/botania/brown_petal.json +d831337c28b89ce25a2be50e06719ab3be9400b6 data/create/recipes/milling/compat/botania/cyan_petal.json +1ec99d5ee65becc6c921827956e26f286398b1ba data/create/recipes/milling/compat/botania/gray_petal.json +7bcbd91fae49452fe30966b350c6830ad5bb588c data/create/recipes/milling/compat/botania/green_petal.json +5819b1ff0c54851d4bf7c60228ce2e31b8d8ffee data/create/recipes/milling/compat/botania/light_blue_petal.json +94b6cb826923907527c57e079d08fb410720b008 data/create/recipes/milling/compat/botania/light_gray_petal.json +4fe3b309902b0d59971d351d6e4a8066908df195 data/create/recipes/milling/compat/botania/lime_petal.json +b8f8ea5d52ae9cbdd59d60aabbac660859190855 data/create/recipes/milling/compat/botania/magenta_petal.json +eab4d51ba92d5a2f172de76bca72cf2746359b68 data/create/recipes/milling/compat/botania/orange_petal.json +c8cf3978e3bf0ffeccd18c1b16ea26c5e1c18634 data/create/recipes/milling/compat/botania/pink_petal.json +9ee958eb5fb176902255aa606517a362670f3d60 data/create/recipes/milling/compat/botania/purple_petal.json +3239b0a1ef91f61ab32f42ac3935ee99316089c5 data/create/recipes/milling/compat/botania/red_petal.json +15afbebf247ea66e0b023ea84aa5c5dad8ac8466 data/create/recipes/milling/compat/botania/white_petal.json +9c500a9d6cadb4f673ca63de38c1d3713dab061c data/create/recipes/milling/compat/botania/yellow_petal.json +c7d2b07396448628123b81e1f34a8b131aa99c83 data/create/recipes/milling/compat/buzzier_bees/buttercup.json +0c4a3c7da1e151868740db2037504e35a02af3d0 data/create/recipes/milling/compat/buzzier_bees/pink_clover.json +355e89a3e003ae65ff06a9277c05699220eec569 data/create/recipes/milling/compat/buzzier_bees/white_clover.json +558968f56003e0e780549b0480baf188a97ab6be data/create/recipes/milling/compat/byg/allium_flower_bush.json +889ef537dc5f143f32c272a68f15c8c81c3f57a9 data/create/recipes/milling/compat/byg/alpine_bellflower.json +7c8697b5edc4dcb69eff85648fa3ae4488a5300f data/create/recipes/milling/compat/byg/amaranth.json +44017aa3e51f8ca54e308dc481386b537d520c1b data/create/recipes/milling/compat/byg/angelica.json +ad85f3711eb0d5ce4fab0bcd6d0cdad653e4917d data/create/recipes/milling/compat/byg/begonia.json +ae68d16d258c3cb7bd7d82ab56a3a923c8688c9a data/create/recipes/milling/compat/byg/bistort.json +ba50b69c307e21de6e2a3c3d7c27fc8be2f18f1b data/create/recipes/milling/compat/byg/black_rose.json +8e70425041f02cb6861baa07e980b709e932e402 data/create/recipes/milling/compat/byg/blue_sage.json +330c757a8405c7f2b100086c1caa2bcd4e7a8170 data/create/recipes/milling/compat/byg/california_poppy.json +307d7c6ad59f49b03f4c60d1c2608f199be0861e data/create/recipes/milling/compat/byg/compat/byg/white_sage.json +8c7dd6080ddf2523213dc4e95728153bef7da8df data/create/recipes/milling/compat/byg/compat/byg/winter_cyclamen.json +7d7ed065bca1702e20728ca7e4015bfbc52c18ce data/create/recipes/milling/compat/byg/crocus.json +16a9406c68544706b3e453a846d4887279ab754a data/create/recipes/milling/compat/byg/cyan_amaranth.json +64d05bb3b14de133bedcd40f3bdc148b424885fa data/create/recipes/milling/compat/byg/cyan_rose.json +2ec5e00a2a35592551a90df16a775230c13ee1f0 data/create/recipes/milling/compat/byg/cyan_tulip.json +d62aca5159ec5af5c8a96cebf4d88b883b46ba8e data/create/recipes/milling/compat/byg/daffodil.json +fc8b36b5e75f81abb96b69a8ae2f73d23614b285 data/create/recipes/milling/compat/byg/delphinium.json +0185737dcd02afe3c953d1785130503e3c56a846 data/create/recipes/milling/compat/byg/fairy_slipper.json +cd17f9e09d4b7e364eb57b3c3d16d4e4e89bcbc8 data/create/recipes/milling/compat/byg/firecracker_flower_bush.json +55032b5eb18a2f915478a8d443672c9c74bac5f7 data/create/recipes/milling/compat/byg/foxglove.json +85201db5be1ff83f242152fbc6f93c94d78943ff data/create/recipes/milling/compat/byg/green_tulip.json +de256ad24623760e3cce64ba8bf92022b23654cc data/create/recipes/milling/compat/byg/guzmania.json +6f0ed2a9f13757eb83b020cb15bea436a1471b79 data/create/recipes/milling/compat/byg/hydrangea_bush.json +81f4d5aa218f29d23e059392e1b38c8006a27734 data/create/recipes/milling/compat/byg/incan_lily.json +ccf127c5b9b737be1163386fef874902bba3b2d6 data/create/recipes/milling/compat/byg/iris.json +cdf0d447001fc2bd7e892eaf5cac44659e362ff7 data/create/recipes/milling/compat/byg/kovan_flower.json +c2e7bf878b81f08615439c8885ad4d87a5c5ef65 data/create/recipes/milling/compat/byg/lazarus_bellflower.json +5097b63f8a0b9f92f2b8c5c4cd455caae6f0e11b data/create/recipes/milling/compat/byg/lolipop_flower.json +1b14f57675eb8e7b993a4d61f7d033af3c02827f data/create/recipes/milling/compat/byg/magenta_amaranth.json +ab7c30e4e3ecbc7c12534ca217dd62f373a6dc9f data/create/recipes/milling/compat/byg/magenta_tulip.json +413ee06756e901592b8cdd860e9e6e4539bf604e data/create/recipes/milling/compat/byg/orange_amaranth.json +221cd8754c18e88ba6fa48b47efc7b707e05def8 data/create/recipes/milling/compat/byg/orange_daisy.json +3506478a12138ac9934c9075b31ac45f4900a4a0 data/create/recipes/milling/compat/byg/orchid.json +a31402be7db0a5a9c96cc021cf53056db5720a50 data/create/recipes/milling/compat/byg/osiria_rose.json +302eef96244c037f9c225ad4440e34b7d46617f3 data/create/recipes/milling/compat/byg/peach_leather_flower.json +784bcccb6e0625df90031dfed9849457c1446d93 data/create/recipes/milling/compat/byg/pink_allium.json +a3f0dbe453c147a72ef02d7b0201dec1cc4b6c91 data/create/recipes/milling/compat/byg/pink_allium_flower_bush.json +adb8e25f4d5492d2d7a6604fca87e1789d3c8d4d data/create/recipes/milling/compat/byg/pink_anemone.json +4b2e0f9ea1b05617a022eaf270561929a1b3d1e4 data/create/recipes/milling/compat/byg/pink_daffodil.json +f60a8fb4853223699d3378482588559062df5f70 data/create/recipes/milling/compat/byg/protea_flower.json +4eda34601212c933e61d8de9485331a35dadfb96 data/create/recipes/milling/compat/byg/purple_amaranth.json +03ccb7eb3bb917179eda10b8a85ee6b095614d60 data/create/recipes/milling/compat/byg/purple_rose.json +c25b26def2016a516b34bb2f37f49aa9f1de7d53 data/create/recipes/milling/compat/byg/purple_tulip.json +433af73467de5cda9658e96a3cc42d9637f7b0cc data/create/recipes/milling/compat/byg/richea.json +2e656dfe3b59617aa2de293338f3aad8bfeaeb2d data/create/recipes/milling/compat/byg/rose.json +a8ca6690e32dc594c03057b529e89d77385bc63b data/create/recipes/milling/compat/byg/silver_vase_flower.json +1fbd9af28ada2330f9f96cbbdd3a33f8cdd245f0 data/create/recipes/milling/compat/byg/snowdrops.json +0e32bf6c937d5773ad863c302da5ab563cbe954b data/create/recipes/milling/compat/byg/tall_allium.json +f16be0f6dbd6c3f4fbff36d7dcb4391b4cbbbe6a data/create/recipes/milling/compat/byg/tall_pink_allium.json +321b60d3b774e468f173a6c4afc520e46ae089c7 data/create/recipes/milling/compat/byg/torch_ginger.json +b50ae491f0732224ac10b005c1f2bfd05e8558b0 data/create/recipes/milling/compat/byg/violet_leather_flower.json +d0964f1cca07620383e41a9e43224a04694e009f data/create/recipes/milling/compat/byg/white_anemone.json +2b31edd1acc8487bd0e744a7f5394e13d1582a7f data/create/recipes/milling/compat/byg/white_puffball_cap.json +eb9606bbb2e4c6fb82b6607c8d5c23834d9e44a8 data/create/recipes/milling/compat/byg/winter_rose.json +1732969a11d677b825758f6c4af2cdbcdc365898 data/create/recipes/milling/compat/byg/winter_scilla.json +9266eaf6e2259fccb6e2aa57a9e19fc1faeb53fe data/create/recipes/milling/compat/byg/yellow_daffodil.json +fda00f49b9a5758ee7d24f2aeab81a3cc690544a data/create/recipes/milling/compat/byg/yellow_tulip.json +2e6a7a1b0e8ab1d6e514a30a21d47b404cfdcd45 data/create/recipes/milling/compat/druidcraft/lavender.json +5be32cdd48cf7d9e3f8273fc3479d559070b9872 data/create/recipes/milling/compat/environmental/bird_of_paradise.json +50df88584dd6086c0dbb23fb16b7f36fee381534 data/create/recipes/milling/compat/environmental/blue_delphinium.json +102130e75ea8f2b8c99ad9641d293a4e588912cf data/create/recipes/milling/compat/environmental/bluebell.json +a4beb691042be811eee8a130ff023065620b20b9 data/create/recipes/milling/compat/environmental/cartwheel.json +d1d388667f9c8a5666cc2a1ef2eb77716a0b18ed data/create/recipes/milling/compat/environmental/dianthus.json +ee3d1989d4a1069909aaeb99374602d0e92d6dfc data/create/recipes/milling/compat/environmental/magenta_hibiscus.json +e2226caf8677a0a63f93573e1d3443f0cc6c7294 data/create/recipes/milling/compat/environmental/orange_hibiscus.json +c5eda065f7f8d2b4e1b057896c96e097d0720e50 data/create/recipes/milling/compat/environmental/pink_delphinium.json +8a9c9d36d91a24f20a3be0d6fdd9c2858e886e0d data/create/recipes/milling/compat/environmental/pink_hibiscus.json +23c8b8a1cad79931bcb52562919108fbf5d114cd data/create/recipes/milling/compat/environmental/purple_delphinium.json +38370b0dd78f75b1d3ba2c11c248c4f17191c7e4 data/create/recipes/milling/compat/environmental/purple_hibiscus.json +b437fd46e7980897b66c285f65f9a2c3ee1213a0 data/create/recipes/milling/compat/environmental/red_hibiscus.json +72e67e7da9d0ad198106c33b34463ba5dd5c4e71 data/create/recipes/milling/compat/environmental/red_lotus_flower.json +c14ba9d30c2a111de9ffba9d3e6a6ca34f2e660c data/create/recipes/milling/compat/environmental/violet.json +15b94ea2ddabb3ac7cea57defae746d6c16e2932 data/create/recipes/milling/compat/environmental/white_delphinium.json +85fcaa71b40ff82c1ba73fc7a186a798af87c042 data/create/recipes/milling/compat/environmental/white_lotus_flower.json +ffa08663414289ab1e6b9af09ac992cc8f4b5571 data/create/recipes/milling/compat/environmental/yellow_hibiscus.json +582ed748a36073e5f6b2f20558a7d640ab204112 data/create/recipes/milling/compat/regions_unexplored/alpha_dandelion.json +08903c2ae46ed55b228f6e5d80e292832ed39996 data/create/recipes/milling/compat/regions_unexplored/alpha_rose.json +28a9a042217a6d2f33a8694a6765677a2d48acf1 data/create/recipes/milling/compat/regions_unexplored/aster.json +851e74bb923dadf08ec08892c807b927daeffd3c data/create/recipes/milling/compat/regions_unexplored/black_snowbelle.json +6b272b558750ccab8d21cf69e8feae4a1b322e3a data/create/recipes/milling/compat/regions_unexplored/bleeding_heart.json +2feb233a3a6a0115ec07177a872b1f212e44348f data/create/recipes/milling/compat/regions_unexplored/blue_lupine.json +0b890ba71a0fed340434e0eb4a18e9b1a94a7945 data/create/recipes/milling/compat/regions_unexplored/blue_snowbelle.json +4b533452bbcb67755c0862c1d9df7b84b51b2aba data/create/recipes/milling/compat/regions_unexplored/brown_snowbelle.json +8428053ea97f5a0b529ba313ede2d4bcfb0ce2d8 data/create/recipes/milling/compat/regions_unexplored/cactus_flower.json +01cd229ba66916d50721e5472393192d673ea879 data/create/recipes/milling/compat/regions_unexplored/cyan_snowbelle.json +ddaee3e58fd3cfdc121d68ea8065405f7c6a7117 data/create/recipes/milling/compat/regions_unexplored/daisy.json +fcc82dcddf53ab03ab0907a3c0a295e5a3c71eea data/create/recipes/milling/compat/regions_unexplored/day_lily.json +5c51e4387b56370ca79d30d41ceca8d693f9f6ed data/create/recipes/milling/compat/regions_unexplored/dorcel.json +7410412917b78ee0fb9a64da9b8aa416265f24ee data/create/recipes/milling/compat/regions_unexplored/felicia_daisy.json +f43ead46910959e5dafc1c685ed6845acf2bf57f data/create/recipes/milling/compat/regions_unexplored/fireweed.json +30101899ecbd9adaf8df2a3e9ca57074109febb4 data/create/recipes/milling/compat/regions_unexplored/glistering_bloom.json +3621368a53d8c4e2fb81456ee5b896e0c2aac944 data/create/recipes/milling/compat/regions_unexplored/gray_snowbelle.json +dee331f46908e076cd8bb016c71c5f2980e6018a data/create/recipes/milling/compat/regions_unexplored/green_snowbelle.json +f27484474c8bc06e9d3eaff6c3a79ee61cb0ee55 data/create/recipes/milling/compat/regions_unexplored/hibiscus.json +fcdb798450ca8d9272b1b08d1ae7061b6513907f data/create/recipes/milling/compat/regions_unexplored/hyssop.json +c8fb81b89bc53f1e1e3043b68d7b05ed9175a0f3 data/create/recipes/milling/compat/regions_unexplored/light_blue_snowbelle.json +f101f15d8344cdff67e982aae840db2b632df3aa data/create/recipes/milling/compat/regions_unexplored/light_gray_snowbelle.json +41dc49152f42ef1596e0b6e6ede5b53cd6bf9cc2 data/create/recipes/milling/compat/regions_unexplored/lime_snowbelle.json +9e7ce1ff212dba0f37e726b7ad1fd2762644de41 data/create/recipes/milling/compat/regions_unexplored/magenta_snowbelle.json +7617fa67342a7efc5529de17e6d90d1bd7bf8148 data/create/recipes/milling/compat/regions_unexplored/mallow.json +889318a4888a2fa9e5015f9f4420bf593c221cff data/create/recipes/milling/compat/regions_unexplored/orange_coneflower.json +75362911685159ba8abf805f942ecd23b1fdfe8b data/create/recipes/milling/compat/regions_unexplored/orange_snowbelle.json +5d912e85b826deed1f61534b594b0b5c869a812a data/create/recipes/milling/compat/regions_unexplored/pink_lupine.json +2c5b1bc633cfdad744a9cf5516cc540902f47d32 data/create/recipes/milling/compat/regions_unexplored/pink_snowbelle.json +ef2dfe9a86fde1e47de3f332277fceb55d360a92 data/create/recipes/milling/compat/regions_unexplored/poppy_bush.json +59b5ede608f6e69054e74d4e20336cd65593698a data/create/recipes/milling/compat/regions_unexplored/purple_coneflower.json +abf4d0179c515640cd99b294333f17f96c3c83c1 data/create/recipes/milling/compat/regions_unexplored/purple_lupine.json +8819da9d593f8f563a682e616ac4fbbacdb4005f data/create/recipes/milling/compat/regions_unexplored/purple_snowbelle.json +918c2d64867c04a7c08527c083e95d82ad239a0d data/create/recipes/milling/compat/regions_unexplored/red_lupine.json +9d45bcdca3599e1ceb46907b64a13202b0f6020d data/create/recipes/milling/compat/regions_unexplored/red_snowbelle.json +349435ceb05a93816e946bfe35ec8d7c92e57762 data/create/recipes/milling/compat/regions_unexplored/salmon_poppy_bush.json +02ce73fd74026ea7583e83c42b0cb30144443d61 data/create/recipes/milling/compat/regions_unexplored/tassel.json +237c432707f8a10ed1492ed6ae0358375e37772d data/create/recipes/milling/compat/regions_unexplored/tsubaki.json +0feba76fe40aa578326ff206ae343331fb382e30 data/create/recipes/milling/compat/regions_unexplored/waratah.json +b70cc5a3d35d438108b2c028f374d5ffb4f6b098 data/create/recipes/milling/compat/regions_unexplored/white_snowbelle.json +a31add17c6cffa1310f4fe3cf2049c75172fe60d data/create/recipes/milling/compat/regions_unexplored/white_trillium.json +e97397980c87cb73e81d4b27fbf7e05c68e473f4 data/create/recipes/milling/compat/regions_unexplored/wilting_trillium.json +a23c2973e496cc3cc6f294c5d06e547c6696b9cf data/create/recipes/milling/compat/regions_unexplored/yellow_lupine.json +ad68b82791487bde56dd7e60ad99da72a67abd68 data/create/recipes/milling/compat/regions_unexplored/yellow_snowbelle.json +e91fedfa7b5ae32a60ffb915b999e16de9f1ed66 data/create/recipes/milling/compat/supplementaries/flax.json +1476cbf643e972cb0c554081ada9b5d583aac6a9 data/create/recipes/milling/compat/tconstruct/nercotic_bone.json +ddc4dbfef080def2e5f0a3a7e22f16b82dadc99a data/create/recipes/milling/compat/upgrade_aquatic/flowering_rush.json +77c588e4860fe29912b13b8d221c559141379d8a data/create/recipes/milling/compat/upgrade_aquatic/pink_searocket.json +04e638f5116c962884ca48efe6c113eecd2cf519 data/create/recipes/milling/compat/upgrade_aquatic/white_searocket.json +0130258652f73a3cad7ec1b1c55aa34a4e2ad062 data/create/recipes/milling/cornflower.json +78eefaaebdcab5ded5bda2b87ecfacc0afa7de7a data/create/recipes/milling/dandelion.json +2833601a45709b33c60d49e5647831df542db7f3 data/create/recipes/milling/dripstone_block.json +e135d8ec7a8a66134e5191ced390c2232d047f5f data/create/recipes/milling/fern.json +5bbbbbc70e2cac53ff0a21f48639848483438fa0 data/create/recipes/milling/granite.json +6f98f067d53badf3f9c9f52404ee561261d2da34 data/create/recipes/milling/grass.json +47979c8810fecba4bd3d205c11eb7fe9606a3e4d data/create/recipes/milling/gravel.json +eca463f7a6bb450b631512c619a160fea6c50a7e data/create/recipes/milling/ink_sac.json +64fe041a3d76a2c360afdc2b7b9725429d059a36 data/create/recipes/milling/lapis_lazuli.json +1213f90813e90822288e510043a31d867d61324c data/create/recipes/milling/large_fern.json +7de8589f629c4832157dc05cce3afd4095a7d0b0 data/create/recipes/milling/lilac.json +dd92906041688b897fe8259eb63ab5a26fb790c4 data/create/recipes/milling/lily_of_the_valley.json +fc6f30a97d0d9da10ae70547f2b1cf59ed1345a2 data/create/recipes/milling/orange_tulip.json +f788ef9822a5884afe3ac6db187bddd86b0d5d89 data/create/recipes/milling/oxeye_daisy.json +ce353a1083c769d5984cf2c9f6b70132a19c4a2f data/create/recipes/milling/peony.json +a654ff381c572da2b860b20e53f017f59828e4d9 data/create/recipes/milling/pink_tulip.json +9fb8da4cf864ebd5d32acf3048153afc778bd5f9 data/create/recipes/milling/poppy.json +7af146a5537a561343938d9377e8ee5a92fbd587 data/create/recipes/milling/red_tulip.json +a816354b8323dad95e552ff959b5101b65be8742 data/create/recipes/milling/rose_bush.json +c08c312639d14142f7e3040a31a597461ec7e04d data/create/recipes/milling/saddle.json +f4f8d3d7e14580c5926b325b04db9cc9c0ab76bd data/create/recipes/milling/sandstone.json +5808443b01181b490a80f1c6053c95b6eee4823f data/create/recipes/milling/sea_pickle.json +34acf6be71c477bcef77e59a2c28467d313d6ebb data/create/recipes/milling/sugar_cane.json +b9f76af7f58d3e9b0689795dcad4c72be7f75211 data/create/recipes/milling/sunflower.json +1c4d6364e5b3f2dd361756f481615088d5cf8331 data/create/recipes/milling/tall_grass.json +c5846a4c7ccbe7b4bf6251f7ee11f3899c8926d2 data/create/recipes/milling/terracotta.json +67ad673d1f7b6000b8b2c88d8205210c8a563f68 data/create/recipes/milling/wheat.json +a91dae829938d3f69a7007d3cf8db02b70fe3a7f data/create/recipes/milling/white_tulip.json +023ab0c2abaf87295fb7c3fbe841a09c519b74f7 data/create/recipes/milling/wither_rose.json +74bb289e20e891112f4964761eb76c3ce4d3c8cd data/create/recipes/milling/wool.json +5f1b8a82af091cd4589ecfa5c13a4db6ad9c51b9 data/create/recipes/mixing/andesite_alloy.json +48604c2205b18fe1401eac58d14aa1677cbd9c2b data/create/recipes/mixing/andesite_alloy_from_zinc.json +d06c1d0362dccc4e5f8b22f851dc8316b35c06b0 data/create/recipes/mixing/brass_ingot.json +84a789f57691cb1e515f98cb162d7eda416eae7a data/create/recipes/mixing/cardboard_pulp.json +840a9008d4531425beadfcf224d21e938acc4502 data/create/recipes/mixing/chocolate.json +e7b86d4ca5de2df474794424d93b447e5f9dcdc3 data/create/recipes/mixing/chocolate_melting.json +39e832016fa5e360434271505d09ced17a40e7eb data/create/recipes/mixing/compat/ae2/fluix_crystal.json +f0648e6b963e1ac1c1756f769988e779963eb1a1 data/create/recipes/mixing/compat/regions_unexplored/peat_mud.json +a2cf143f409a26709ad119f151c611331dca960c data/create/recipes/mixing/compat/regions_unexplored/silt_mud.json +4cf9a0979fb6401c51c763d71f0bb53ea2c8c32b data/create/recipes/mixing/dough_by_mixing.json +ac2a2456e2f0ccd74db6dc5ad029eb4e6781a25d data/create/recipes/mixing/honey.json +251c09ac25bb73e092fac483ceb5a9196a479919 data/create/recipes/mixing/lava_from_cobble.json +939c55202f06b50cec3c16e66e85f915f2272db2 data/create/recipes/mixing/mud_by_mixing.json +4454cb7a73571d90e19826ee394b0c9e52ac8620 data/create/recipes/mixing/tea.json +77de88a8d25b974a63a5d132dd5461523e798fe2 data/create/recipes/pressing/aether_dirt_path.json +92a1198c990660458565ca871520b7c32fb0e24b data/create/recipes/pressing/aether_dirt_path_from_grass.json +8bd950c78b4db3b7f5a9a1f42c116677049b77fc data/create/recipes/pressing/brass_ingot.json +6ceffc42f77201423f42b537b0567d0213c4427d data/create/recipes/pressing/cardboard.json +1fe1caaec87a1a7b3cd739c372829f48386d2f8a data/create/recipes/pressing/compat/atmospheric/crustose_path.json +4d4821506da8c82eabc6109d1cfcb4fa980e54c8 data/create/recipes/pressing/compat/betterendforge/amber_moss_path.json +16c653a9c8771662d060a6151fa77ab4ce8d2614 data/create/recipes/pressing/compat/betterendforge/cave_moss_path.json +e715dd1d3961de8a817ddcd6a1c411761966e57e data/create/recipes/pressing/compat/betterendforge/chorus_nylium_path.json +29a514bea64e7e3f7fe04c2d19749d174b4e42b3 data/create/recipes/pressing/compat/betterendforge/crystal_moss_path.json +7b377ce79e3e32a7b3fece940fb0b234d255e3fe data/create/recipes/pressing/compat/betterendforge/end_moss_path.json +e4df3cd1f80b62382ea0941c3dde030c67dba03f data/create/recipes/pressing/compat/betterendforge/end_mycelium_path.json +fb6d54e0ee3c8831060a8573d16814217888ae0e data/create/recipes/pressing/compat/betterendforge/jungle_moss_path.json +77dbbdd01f36f1ede5018bc1feb3dff960988129 data/create/recipes/pressing/compat/betterendforge/pink_moss_path.json +200b0a7f459b4c5f5bd7d6fe46ad1959923b9cb0 data/create/recipes/pressing/compat/betterendforge/shadow_grass_path.json +8a53f6ea8dab59477d462eb929f7815f52b34095 data/create/recipes/pressing/compat/byg/lush_grass_path.json +4454d7dda6c2b5555227c5c147373df195adedb4 data/create/recipes/pressing/compat/environmental/mycelium_path.json +ed3edcf493402051fcff435a5840295b218a078c data/create/recipes/pressing/compat/environmental/podzol_path.json +0afcbaa527a8063982caf9a541d1af43fe6becbb data/create/recipes/pressing/compat/infernalexp/crimson_nylium_path.json +621f9c7eae4f6f5065ecd48ffe1b0c5c9e6147d3 data/create/recipes/pressing/compat/infernalexp/soul_soil_path.json +e049a1c6951c93a53122fc5adb27bee35ca62786 data/create/recipes/pressing/compat/infernalexp/warped_nylium_path.json +955613e743a216b10d54f94b89b23166adb49a40 data/create/recipes/pressing/compat/vampirism/cursed_earth_path.json +4ce4f4b71058d04be148cc2ad2318abe27a58359 data/create/recipes/pressing/copper_ingot.json +24bb356954866c69a279a9f0435035d8bafdddec data/create/recipes/pressing/cursed_earth_path_from_grass.json +744e1a66857f20a094ba02a3e3613210a815493e data/create/recipes/pressing/gold_ingot.json +fb105ac920ce9dc0b883bfa40029b69709bceb38 data/create/recipes/pressing/iron_ingot.json +daf5c0c9e3f13d2004d53c54f4c1c36ae098d1ae data/create/recipes/pressing/path.json +1c1224d02f5f9941d2e99620fa68767ba5578603 data/create/recipes/pressing/peat_dirt_path.json +3fbfc3b129748f2e5f1964f1e797812d331c8719 data/create/recipes/pressing/peat_dirt_path_from_grass.json +a2330ec4b822b3109efdf86a244ffa5b71e3a16c data/create/recipes/pressing/silt_dirt_path.json +0c654a6513d9aef7929f7520309626d93453c52d data/create/recipes/pressing/silt_dirt_path_from_grass.json +629f7feb2048319f575e08effa8f79c3910a7147 data/create/recipes/pressing/sugar_cane.json +eaff1b1f905b1073366cb8b504f0ae68a59ad3a3 data/create/recipes/sandpaper_polishing/rose_quartz.json +fea41613d29e56d5995e15be6f0dbfb8578973d9 data/create/recipes/splashing/atmospheric/arid_sand.json +83f10d640ff21fab00fbae099791d84cb82b36d7 data/create/recipes/splashing/atmospheric/red_arid_sand.json +1eb8656f14fffd3e6c3791465e6880ab8c179765 data/create/recipes/splashing/black_concrete_powder.json +5215f9b283ba582e1029de2b21cac5986c1eadbd data/create/recipes/splashing/blue_concrete_powder.json +3ce6bc6cfbdeb52c2514f5620db9f0b95ee18d3a data/create/recipes/splashing/brown_concrete_powder.json +f2cda0bd0d012bd8443bfc7b317df2390acdacc5 data/create/recipes/splashing/byg/cryptic_magma_block.json +20fa6574bd8903f2cc0e352bcd8fd6580b598365 data/create/recipes/splashing/crushed_raw_copper.json +909331cf4a04345ad4be47848d2850f0133240bd data/create/recipes/splashing/crushed_raw_gold.json +7f516ebd70fd756ae6d0f07c625ab72bf1859cb2 data/create/recipes/splashing/crushed_raw_iron.json +84fa67d901de38656af11bbcf644361abf651ebb data/create/recipes/splashing/crushed_raw_zinc.json +e0746e69dbfee5a7e226980d496490b534f848a9 data/create/recipes/splashing/cyan_concrete_powder.json +8218d04c2da1ab30e23e1fba6de1248cf8d7c96d data/create/recipes/splashing/endergetic/petrified_end_corrock.json +8ee0a11c90a626d9258d1545cf2f1b85f2049634 data/create/recipes/splashing/endergetic/petrified_end_corrock_block.json +812fd40cea41278148fed3bedafbf5f5ae29672a data/create/recipes/splashing/endergetic/petrified_end_corrock_crown.json +331b103e45442901dfdee8dd1848f5444dd49f26 data/create/recipes/splashing/endergetic/petrified_nether_corrock.json +b555d0a1355e7bef0c196fade709d713f65b551c data/create/recipes/splashing/endergetic/petrified_nether_corrock_block.json +2b51fd84596f9384c0c62a81940e601719a9941e data/create/recipes/splashing/endergetic/petrified_nether_corrock_crown.json +b12bb2d95b58e461da245f427bf2a85986069423 data/create/recipes/splashing/endergetic/petrified_overworld_corrock.json +70682b89453b54bc5bbfba86770443f45a19b8b5 data/create/recipes/splashing/endergetic/petrified_overworld_corrock_block.json +e3f12ec5d449caa54ebe1c453a89373492b8f48a data/create/recipes/splashing/endergetic/petrified_overworld_corrock_crown.json +05d3228c93b9d42489fbd79dd539a664f6206dba data/create/recipes/splashing/galosphere/crushed_raw_silver.json +64535aaa3a5d4b98791337b1a8ce50ad3d39a8ac data/create/recipes/splashing/gravel.json +dd9508767f68cc8b5cc2f642690961e0c22c9985 data/create/recipes/splashing/gray_concrete_powder.json +8908b452e6bc1290ebb8cfefc2c066460de93bff data/create/recipes/splashing/green_concrete_powder.json +9764857ea6ee8d31ec37e6022f89dbe662e88591 data/create/recipes/splashing/ic2/crushed_raw_aluminum.json +6fd01478f838507f9e0daf7eb0a19e8315e03cb8 data/create/recipes/splashing/ic2/crushed_raw_silver.json +b5a0a0fc79bf310965aa16e78044b3f6a8a9998f data/create/recipes/splashing/ic2/crushed_raw_tin.json +00b8d0c2577cc36da1c862234b61fb7d1cfe3e65 data/create/recipes/splashing/ic2/crushed_raw_uranium.json +32d3cbf2d10b97a40c9f1f70b004c720782eabda data/create/recipes/splashing/ice.json +571631efe13837db49d24e10efc2a5de78cd84b9 data/create/recipes/splashing/iceandfire/crushed_raw_silver.json +856e240d49ecf0b722ed13f8310d93f388ffcede data/create/recipes/splashing/immersiveengineering/crushed_raw_aluminum.json +5dd083b9e4cf459b9567ee17f2ad71ca31161200 data/create/recipes/splashing/immersiveengineering/crushed_raw_lead.json +6707b4319280ce28e1edd594e58549f65cd8376c data/create/recipes/splashing/immersiveengineering/crushed_raw_nickel.json +d379607eda7fba5048751d806a245d58e91acc1f data/create/recipes/splashing/immersiveengineering/crushed_raw_silver.json +8afc0810a0166a62d8d394f2841d27e7f7a3e6c5 data/create/recipes/splashing/immersiveengineering/crushed_raw_uranium.json +cafec636b007eeb5df2092824464c91661a13004 data/create/recipes/splashing/industrial_iron_block.json +38ed0fb231d19ed30ba3debc0bebf8ffbc5f5a72 data/create/recipes/splashing/industrial_iron_window.json +ffede841a2104f7266425288bd328e7236ebd9e4 data/create/recipes/splashing/industrial_iron_window_pane.json +676a409aadcbf2497b366234c5186c6192a67c8d data/create/recipes/splashing/light_blue_concrete_powder.json +d4053dba524524329f43df5bdde81d9ee07838b5 data/create/recipes/splashing/light_gray_concrete_powder.json +3d87975758344a4e420c3c5a138dd300e97cf3c4 data/create/recipes/splashing/lime_concrete_powder.json +a7d14062310d6c34aebd20dc7ea1f81d8877fe5f data/create/recipes/splashing/magenta_concrete_powder.json +8d787ccbb817d773616405afc255e298803c9573 data/create/recipes/splashing/magma_block.json +a5a73229d315571f28660a23a93a4581061a1809 data/create/recipes/splashing/mekanism/crushed_raw_lead.json +ba674b07d9f6b288ab79917c21e435b7205cbf4f data/create/recipes/splashing/mekanism/crushed_raw_osmium.json +44ffc1132df9ea418453dc580d8250107c34b1a2 data/create/recipes/splashing/mekanism/crushed_raw_tin.json +7960240bceacdbba1458e354823ae5b4e076d4d0 data/create/recipes/splashing/mekanism/crushed_raw_uranium.json +33010500d02167a49b9e697fdeba3c169a80dee3 data/create/recipes/splashing/orange_concrete_powder.json +5d8d7e3ee9c80e2eca12c1073f5b7ecfb2b60b53 data/create/recipes/splashing/oreganized/crushed_raw_lead.json +1f4e9a5766928ae2302c9736437d04272a305235 data/create/recipes/splashing/oreganized/crushed_raw_silver.json +bead7ac4cb59e935f62bb87c077494fcbca6f18f data/create/recipes/splashing/pink_concrete_powder.json +2b2404f137bb0fac204abddd4259e916a0b1c7b5 data/create/recipes/splashing/purple_concrete_powder.json +c9778afebf604c27dfb69b1095e6d7e07c37008d data/create/recipes/splashing/quark/rusty_iron_plate.json +8ad27aeffbd10f19eb9e3e8c71c9851024056999 data/create/recipes/splashing/red_concrete_powder.json +c4230c9499ced6d542f7ac2bf8601037f37ec7b5 data/create/recipes/splashing/red_sand.json +cccf4ef0891992687dcb7ce5c644499d93210b8a data/create/recipes/splashing/sand.json +5f830a62c14cfa86fdc59d3405ac79fa626c53ea data/create/recipes/splashing/soul_sand.json +0ee6d52e8966b6189f2841bcdf41417df1ab072c data/create/recipes/splashing/stained_glass.json +f241ec6a8ad063b28281c18e1fbb03c482d7af8b data/create/recipes/splashing/stained_glass_pane.json +712b367223067cc468346d2fa485779f1501d5ec data/create/recipes/splashing/supplementaries/blackboard.json +a8fd822419fbb47b37412742fe13a785ae147d21 data/create/recipes/splashing/the_vault/ornate_chain_rusty.json +43bcc2f22cca830f11a48f4b48f699001f4ffbb5 data/create/recipes/splashing/thermal/crushed_raw_lead.json +4bc875e07f963f417e0a427ca7a6f9f9a40213ac data/create/recipes/splashing/thermal/crushed_raw_nickel.json +0ceeb253b478dde532e4de01d1ff60ed09819388 data/create/recipes/splashing/thermal/crushed_raw_silver.json +5fa818c04cb65048be0246ade3946cc1e01a0772 data/create/recipes/splashing/thermal/crushed_raw_tin.json +23d70b869e50a1e11df264f3640becac4ec9100d data/create/recipes/splashing/wheat_flour.json +a883796342143a5f2b5bc68d230b725964abdb8f data/create/recipes/splashing/white_concrete_powder.json +d09bcaa2334e05e6cce37b7342c7de84ce954bb9 data/create/recipes/splashing/wool.json +0d8201d59773c8b33f4b066b74654d9c802220f2 data/create/recipes/splashing/yellow_concrete_powder.json diff --git a/src/generated/resources/assets/create/lang/en_ud.json b/src/generated/resources/assets/create/lang/en_ud.json index ab7428c70d..bbf0e09e18 100644 --- a/src/generated/resources/assets/create/lang/en_ud.json +++ b/src/generated/resources/assets/create/lang/en_ud.json @@ -1522,9 +1522,7 @@ "create.item_attributes.washable.inverted": "pǝɥsɐM ǝq ʇouuɐɔ", "create.item_hatch.deposit_inventory": "pǝʇısodǝp sɯǝʇı ʎɹoʇuǝʌuI", "create.item_hatch.deposit_item": "pǝʇısodǝp ɯǝʇı pןǝH", - "create.keyinfo.ponder": "ɹǝpuoԀ", - "create.keyinfo.scrolldown": ")pןɹoʍuı( uʍoᗡ ןǝǝɥʍǝsnoW ǝʇɐןnɯıS", - "create.keyinfo.scrollup": ")pןɹoʍuı( d∩ ןǝǝɥʍǝsnoW ǝʇɐןnɯıS", + "create.keyinfo.rotate_menu": "nuǝW uoıʇɐʇoᴚ ʞɔoןᗺ uǝdO", "create.keyinfo.toolbelt": "sǝxoqןoo⟘ ʎqɹɐǝN ssǝɔɔⱯ", "create.keyinfo.toolmenu": "ʎɐןɹǝʌO ɔıʇɐɯǝɥɔS snɔoℲ", "create.kinetics.creative_motor.rotation_speed": "WԀᴚ uı pǝǝdS pǝʇɐɹǝuǝ⅁", @@ -1853,6 +1851,52 @@ "create.ponder.encased_fluid_pipe.text_1": "sǝdıԀ pınןℲ ǝʇɐɹoɔǝp oʇ pǝsn ǝq uɐɔ buısɐƆ ɹǝddoƆ", "create.ponder.encased_fluid_pipe.text_2": "ǝʇɐʇs ʎʇıʌıʇɔǝuuoɔ ɹıǝɥʇ oʇuı pǝʞɔoן ǝɹɐ sǝdıԀ pǝsɐɔuƎ 'pǝןɐǝɔuoɔ buıǝq ɯoɹɟ ǝpısⱯ", "create.ponder.encased_fluid_pipe.text_3": "pǝʌoɯǝɹ ɹo pǝppɐ buıǝq sʞɔoןq buıɹnoqɥbıǝu ʎuɐ oʇ ʇɔɐǝɹ ɹǝbuoן ou ןןıʍ ʇI", + "create.ponder.factory_gauge_crafting.header": "sǝbnɐ⅁ ʎɹoʇɔɐℲ ɥʇıʍ buıʇɟɐɹƆ ɔıʇɐɯoʇnⱯ", + "create.ponder.factory_gauge_crafting.text_1": "sǝdıɔǝɹ ǝןqɐʇ buıʇɟɐɹɔ ɹoɟ ʇuǝɯǝbuɐɹɹɐ-oʇnɐ ǝpıʌoɹd sǝbnɐb ʎɹoʇɔɐℲ", + "create.ponder.factory_gauge_crafting.text_2": "ǝɹoɟǝq sɐ sʇuǝıpǝɹbuı pǝɹınbǝɹ ǝɥʇ ʇɔǝuuoƆ", + "create.ponder.factory_gauge_crafting.text_3": "I∩ ǝɥʇ uı sɹɐǝddɐ uoʇʇnq ʍǝu ɐ 'pǝʇɔǝʇǝp sı ǝdıɔǝɹ pıןɐʌ ɐ uǝɥM", + "create.ponder.factory_gauge_crafting.text_4": "ʎןʇɔǝɹıp sɹǝʇɟɐɹɔ oʇuı pǝddɐɹʍun ǝq uɐɔ sǝxoq ǝɥʇ 'ǝʌıʇɔɐ ʇuǝɯǝbuɐɹɹɐ-oʇnɐ ɥʇıM", + "create.ponder.factory_gauge_crafting.text_5": "ɥɔuǝɹʍ ɐıʌ pǝʇɔǝuuoɔ ǝq oʇ ǝʌɐɥ sɹǝʇɟɐɹɔ ǝɥʇ puɐ ƐxƐ ǝq ʇsnɯ dnʇǝs ǝɥ⟘", + "create.ponder.factory_gauge_crafting.text_6": "ʇunoɯɐ ʇǝbɹɐʇ ǝɥʇ ʇǝs oʇ ǝbnɐb ǝɥʇ uo ʞɔıןɔ-ʇɥbıᴚ pןoH", + "create.ponder.factory_gauge_crafting.text_7": "sǝdıɔǝɹ ʇuǝɹǝɟɟıp ɥʇıʍ sǝbnɐb ǝɹoɯ ʎq 'ʎןןɐsɹǝʌıun pǝsn ǝq ʍou uɐɔ ɹǝʇɟɐɹɔ sıɥ⟘", + "create.ponder.factory_gauge_crafting.text_8": "dooן ǝɥʇ ǝsoןɔ oʇ ʎɹoʇuǝʌuı pǝʞuıן ɐ oʇ ʞɔɐq ʇuǝs ǝq pןnoɥs sʇndʇnO", + "create.ponder.factory_gauge_crafting.text_9": "sǝbɐʞɔɐd ʇnduı ɟo uoıʇɐʇuǝɯbɐɹɟ ʇuǝʌǝɹd oʇ pǝpuǝɯɯoɔǝɹ sı ɹǝbɐʞɔɐd-ǝᴚ ɐ buıs∩", + "create.ponder.factory_gauge_links.header": "sʞɔoןᗺ ɹǝɥʇo oʇ sǝbnɐ⅁ buıʇɔǝuuoƆ", + "create.ponder.factory_gauge_links.text_1": "˙˙˙I∩ ǝɥʇ ɯoɹɟ uoıʇɔǝuuoɔ ʍǝu ɐ buıppɐ uǝɥM", + "create.ponder.factory_gauge_links.text_2": "sʞuıꞀ ʎɐןdsıᗡ puɐ ǝuoʇspǝᴚ sʇdǝɔɔɐ osןɐ ǝbnɐb ǝɥʇ˙˙˙", + "create.ponder.factory_gauge_links.text_3": "ʇunoɯɐ ʇǝbɹɐʇ ǝɥʇ ǝʌoqɐ ɹo ʇɐ sı ןǝʌǝן ʞɔoʇs ǝɥʇ uǝɥʍ pǝɹǝʍod ǝq ןןıʍ sʞuıן ǝuoʇspǝᴚ", + "create.ponder.factory_gauge_links.text_4": "sʇsǝnbǝɹ buıpuǝs ɯoɹɟ ǝbnɐb ǝɥʇ doʇs uɐɔ sʞuıן 'ǝpoɯ ɹǝʌıǝɔǝɹ uI", + "create.ponder.factory_gauge_links.text_5": "sǝbnɐb pǝʇɔǝuuoɔ ɟo ʍǝıʌɹǝʌo snʇɐʇs ɐ ǝpıʌoɹd uɐɔ sʞuıן ʎɐןdsıᗡ", + "create.ponder.factory_gauge_recipe.header": "sǝbnɐ⅁ ʎɹoʇɔɐℲ ɥʇıʍ sǝdıɔǝᴚ pǝʇɐɯoʇnⱯ", + "create.ponder.factory_gauge_recipe.text_1": "˙˙˙ɹǝbɐʞɔɐd ɐ uo pǝɔɐןd ʇou ǝɹɐ sǝbnɐb ɹǝʌǝuǝɥM", + "create.ponder.factory_gauge_recipe.text_10": "oʇ ʇuǝs ǝq pןnoɥs sʇuǝıpǝɹbuı ʇɐɥʇ ssǝɹppɐ ǝɥʇ ʎɟıɔǝdS", + "create.ponder.factory_gauge_recipe.text_11": "ǝbnɐb ǝɥʇ uo ʞɔıןɔ-ʇɥbıᴚ buıpןoɥ ʎq ʇǝs ǝq ʍou uɐɔ uıɐʇuıɐɯ oʇ ʇunoɯɐ ʇǝbɹɐʇ ǝɥ⟘", + "create.ponder.factory_gauge_recipe.text_12": "˙˙˙ʇunoɯɐ ǝɥʇ uɐɥʇ sɯǝʇı ɹǝʍǝɟ sɐɥ ʞɹoʍʇǝu ǝɥʇ ɹǝʌǝuǝɥM", + "create.ponder.factory_gauge_recipe.text_13": "ssǝɹppɐ pǝıɟıɔǝds ǝɥʇ oʇ sʇuǝıpǝɹbuı ʍǝu puǝs ןןıʍ ʇı˙˙˙", + "create.ponder.factory_gauge_recipe.text_14": "sǝıɹoʇuǝʌuı pǝʞuıן ǝɥʇ ɟo ʎuɐ oʇ uɹnʇǝɹ oʇ pǝǝu uǝɥʇ sʇndʇno ǝɥ⟘", + "create.ponder.factory_gauge_recipe.text_15": "pǝɥɔɐǝɹ uǝǝq sɐɥ ʇunoɯɐ ʇǝbɹɐʇ ǝɥʇ ʇɐɥʇ ǝʇɐɔıpuı suoıʇɔǝuuoɔ uǝǝɹ⅁", + "create.ponder.factory_gauge_recipe.text_16": "sdǝʇs ǝdıɔǝɹ ǝɹoɯ ǝpnןɔuı oʇ puɐdxǝ uɐɔ sǝbnɐb ɟo pɹɐoq ǝɥ⟘", + "create.ponder.factory_gauge_recipe.text_17": "ʎןʇuǝpuǝdǝpuı ɯǝʇı sʇı ɟo ןǝʌǝן ʞɔoʇs ǝɥʇ suıɐʇuıɐɯ ǝbnɐb ɥɔɐƎ", + "create.ponder.factory_gauge_recipe.text_2": "sǝıɹoʇuǝʌuı pǝʞuıן ןןɐ ɟo sןǝʌǝן ʞɔoʇs ɹoʇıuoɯ pɐǝʇsuı ןןıʍ ʎǝɥ⟘", + "create.ponder.factory_gauge_recipe.text_3": "pǝɹoʇıuoɯ ǝq pןnoɥs ʇɐɥʇ ɯǝʇı ǝɥʇ ɥʇıʍ ʇı ʞɔıןɔ-ʇɥbıᴚ", + "create.ponder.factory_gauge_recipe.text_4": "ʞɹoʍʇǝu ǝɥʇ uo ʇuǝsǝɹd ʇunoɯɐ ןɐʇoʇ ǝɥʇ ʎɐןdsıp ʍou ןןıʍ ʇI", + "create.ponder.factory_gauge_recipe.text_5": "pǝssǝɔoɹd ǝq oʇ sɯǝʇı ɹǝɥʇo buıpuǝs ʎq sןǝʌǝן ʞɔoʇs ɥsıuǝןdǝɹ uɐɔ ǝbnɐb ǝɥ⟘", + "create.ponder.factory_gauge_recipe.text_6": "sǝbnɐb ʎɹoʇɔɐɟ ʍǝu sɐ sʇuǝıpǝɹbuı pǝɹınbǝɹ ǝɥʇ ppɐ 'ʇsɹıℲ", + "create.ponder.factory_gauge_recipe.text_7": "ǝpɐɯ ǝq uɐɔ suoıʇɔǝuuoɔ ʍǝu 'I∩ s,ʇǝbɹɐʇ ǝɥʇ ɯoɹℲ", + "create.ponder.factory_gauge_recipe.text_8": "buıɥʇɐd ǝɥʇ ǝbuɐɥɔ oʇ pǝɥɔuǝɹʍ ǝq uɐɔ sןǝuɐd ʇnduı 'sɔıʇǝɥʇsǝɐ ɹoℲ", + "create.ponder.factory_gauge_recipe.text_9": "ɥɔʇɐq ɹǝd ǝpɐɯ sʇǝb ʇndʇno ǝɥʇ ɟo ɥɔnɯ ʍoɥ ʎɟıɔǝds puɐ sʇnduı ǝɥʇ ʍǝıʌǝɹ 'I∩ ǝɥʇ uI", + "create.ponder.factory_gauge_restocker.header": "sǝbnɐ⅁ ʎɹoʇɔɐℲ ɥʇıʍ buıʞɔoʇsǝᴚ", + "create.ponder.factory_gauge_restocker.text_1": "ʞɹoʍʇǝu sʇı oʇ ʇɔǝuuoɔ oʇ ʇuǝɯǝɔɐןd ǝɹoɟǝq ʞuıן ʞɔoʇS ɐ ʞɔıןɔ-ʇɥbıᴚ", + "create.ponder.factory_gauge_restocker.text_10": "ssǝɹppɐ pǝıɟıɔǝds ǝɥʇ ɥʇıʍ 'ǝɹoɯ spuǝs ʞɹoʍʇǝu sɔıʇsıboן ǝɥʇ˙˙˙", + "create.ponder.factory_gauge_restocker.text_11": "ɹǝbɐʞɔɐd ǝɥʇ oʇ pǝʇnoɹ ǝq uɐɔ ʎǝɥʇ 'ǝɹǝɥʇ ɯoɹℲ", + "create.ponder.factory_gauge_restocker.text_2": "ʎɹoʇuǝʌuı ǝɥʇ ǝpısuı sɯǝʇı ɹoʇıuoɯ uɐɔ sǝbnɐb ʎɹoʇɔɐɟ 'ɹǝbɐʞɔɐd ɐ uo pǝɔɐןd uǝɥM", + "create.ponder.factory_gauge_restocker.text_3": "pǝɹoʇıuoɯ ǝq pןnoɥs ʇɐɥʇ ɯǝʇı ǝɥʇ ɥʇıʍ ʇı ʞɔıןɔ-ʇɥbıᴚ", + "create.ponder.factory_gauge_restocker.text_4": "ʎɹoʇuǝʌuı ǝɥʇ uı ʇuǝsǝɹd ʇunoɯɐ ǝɥʇ ʎɐןdsıp ʍou ןןıʍ ʇI", + "create.ponder.factory_gauge_restocker.text_5": "ʞɹoʍʇǝu sɔıʇsıboן ǝɥʇ ɯoɹɟ ʎɹoʇuǝʌuı sıɥʇ ןןıɟǝɹ uɐɔ ǝbnɐb ǝɥ⟘", + "create.ponder.factory_gauge_restocker.text_6": "I∩ uoıʇɐɹnbıɟuoɔ sʇı uǝdo oʇ uıɐbɐ ʇı ʞɔıןɔ-ʇɥbıᴚ", + "create.ponder.factory_gauge_restocker.text_7": "sɯǝʇı pǝʇsǝnbǝɹ ǝɥʇ ɹoɟ pǝsn ǝq pןnoɥs ʇɐɥʇ ssǝɹppɐ uɐ ʇǝS", + "create.ponder.factory_gauge_restocker.text_8": "ǝbnɐb ǝɥʇ uo ʞɔıןɔ-ʇɥbıᴚ buıpןoɥ ʎq ʇǝs ǝq ʍou uɐɔ uıɐʇuıɐɯ oʇ ʇunoɯɐ ʇǝbɹɐʇ ǝɥ⟘", + "create.ponder.factory_gauge_restocker.text_9": "˙˙˙ʇunoɯɐ sıɥʇ uɐɥʇ sɯǝʇı ɹǝʍǝɟ sɐɥ ʇsǝɥɔ ǝɥʇ ɹǝʌǝuǝɥM", "create.ponder.fan_direction.header": "suɐℲ pǝsɐɔuƎ ɟo ʍoןɟ ɹıⱯ", "create.ponder.fan_direction.text_1": "ʇuǝɹɹnƆ ɹıⱯ uɐ ǝʇɐǝɹɔ oʇ ǝɔɹoℲ ןɐuoıʇɐʇoᴚ ǝsn suɐℲ pǝsɐɔuƎ", "create.ponder.fan_direction.text_2": "ʇnduI ןɐuoıʇɐʇoᴚ ǝɥʇ uo spuǝdǝp ʍoןℲ ɟo uoıʇɔǝɹıᗡ puɐ ɥʇbuǝɹʇS", @@ -2130,7 +2174,7 @@ "create.ponder.nixie_tube.text_1": "ɥʇbuǝɹʇs ןɐubıs ǝɥʇ ʎɐןdsıp ןןıʍ sǝqn⟘ ǝıxıN 'ǝuoʇspǝᴚ ʎq pǝɹǝʍod uǝɥM", "create.ponder.nixie_tube.text_2": "pǝʎɐןdsıp ǝq uɐɔ ʇxǝʇ ɯoʇsnɔ 'spɹɐoqdıןƆ uǝʇʇıɹʍ buıs∩", "create.ponder.nixie_tube.text_3": "ɹnoןoɔ ʎɐןdsıp ɹıǝɥʇ ǝbuɐɥɔ oʇ ǝʎᗡ ɥʇıʍ ʞɔıןƆ-ʇɥbıᴚ", - "create.ponder.package_frogport.header": "sʇɹodboɹℲ ɥʇıʍ sǝbɐʞɔɐd buıʇɹodsuɐɹ⟘", + "create.ponder.package_frogport.header": "sʇɹodboɹℲ uǝǝʍʇǝq sǝbɐʞɔɐd buıʇɹodsuɐɹ⟘", "create.ponder.package_frogport.text_1": "ʎqɹɐǝu ʇɹodboɹℲ ǝɥʇ ǝɔɐןd puɐ ɹoʎǝʌuoƆ uıɐɥƆ ɐ ʞɔıןɔ-ʇɥbıᴚ", "create.ponder.package_frogport.text_10": "ʞɹoʍʇǝu uıɐɥɔ ǝɥʇ uo boɹɟ buıɥɔʇɐɯ ɐ oʇ ɥʇɐd ɹıǝɥʇ puıɟ sǝbɐʞɔɐԀ", "create.ponder.package_frogport.text_11": "ɹǝʇǝԀ", @@ -2142,8 +2186,8 @@ "create.ponder.package_frogport.text_17": ",ɹǝʇǝԀ, oʇ sǝbɐʞɔɐd sǝssǝɹppⱯ", "create.ponder.package_frogport.text_18": "ssǝɹppɐ ɹıǝɥʇ ʇɔǝןןoɔ oʇ pɹɐoqdıןɔ ɐ ɥʇıʍ sʇɹodboɹℲ ʞɔıןɔ-ʇɥbıᴚ", "create.ponder.package_frogport.text_19": "sI∩ ɹǝɥʇo uı sʇnduı ssǝɹppɐ ǝʇǝןdɯoɔ-oʇnɐ dןǝɥ uɐɔ sǝɯɐu pǝʇɔǝןןoɔ ɥʇıʍ spɹɐoqdıןƆ", - "create.ponder.package_frogport.text_2": "I∩ ʎɹoʇuǝʌuı ɹıǝɥʇ uı ǝɯɐu ɐ uǝʌıb ǝq uɐɔ ʎǝɥ⟘", - "create.ponder.package_frogport.text_3": "˙˙ǝɯɐu ʇuǝɹǝɟɟıp ɐ oʇ pǝssǝɹppɐ sı ǝbɐʞɔɐd ɐ ɟI", + "create.ponder.package_frogport.text_2": "I∩ ʎɹoʇuǝʌuı ǝɥʇ uı ssǝɹppɐ uɐ ʇı ubıssⱯ", + "create.ponder.package_frogport.text_3": "˙˙ʇı ɥɔʇɐɯ ʇou sǝop ǝbɐʞɔɐd pǝʇɹǝsuı uɐ ɟo ssǝɹppɐ ǝɥʇ ɟI", "create.ponder.package_frogport.text_4": "ʇɹǝqןⱯ", "create.ponder.package_frogport.text_5": "ɹǝʇǝԀ →", "create.ponder.package_frogport.text_6": "ɹoʎǝʌuoɔ ǝɥʇ uo ǝbɐʞɔɐd ǝɥʇ ǝɔɐןd ןןıʍ ʇɹodboɹℲ ǝɥʇ˙˙", @@ -2160,7 +2204,7 @@ "create.ponder.packager_address.header": "ssǝɹppɐ uɐ ɥʇıʍ sǝbɐʞɔɐd buıʇnoᴚ", "create.ponder.packager_address.text_1": "ǝsnoɥǝɹɐM", "create.ponder.packager_address.text_10": "ʇןǝq ɐ oʇuo ʇɥbıɐɹʇs sǝbɐʞɔɐd dɐɹʍun uɐɔ sʍɐs ןɐɔıuɐɥɔǝɯ 'ssǝuʇɔɐdɯoɔ ɹoℲ", - "create.ponder.packager_address.text_11": "sǝıʇıןıqɐdɐɔ buıʇnoɹ ǝbɐʞɔɐd ǝʌɐɥ sǝxoqʇsoԀ puɐ sʇɹodboɹℲ 'sɹǝʇןıɟ ǝsoɥʇ ɯoɹɟ ǝpısⱯ", + "create.ponder.packager_address.text_11": "sǝıʇıןıqɐ buıʇnoɹ ǝbɐʞɔɐd ǝʌɐɥ sǝxoqʇsoԀ puɐ sʇɹodboɹℲ 'sɹǝʇןıɟ ɯoɹɟ ǝpısⱯ", "create.ponder.packager_address.text_12": "ɹnoıʌɐɥǝq ɹıǝɥʇ ʇnoqɐ ǝɹoɯ ʇno puıɟ oʇ ɯǝɥʇ ʇɔǝdsuI", "create.ponder.packager_address.text_2": "˙˙ɹǝbɐʞɔɐd ɐ uo pǝɔɐןd sı ubıs ɐ uǝɥM", "create.ponder.packager_address.text_3": "ǝsnoɥǝɹɐM →", @@ -2193,6 +2237,19 @@ "create.ponder.portable_storage_interface.text_8": "ʎɐʍ sʇı uo ǝnuıʇuoɔ ןןıʍ uoıʇdɐɹʇuoɔ ǝɥʇ 'ǝןıɥʍ ɐ ɹoɟ pǝbuɐɥɔxǝ uǝǝq ǝʌɐɥ sɯǝʇı ou ɹǝʇɟⱯ", "create.ponder.portable_storage_interface_redstone.header": "ןoɹʇuoƆ ǝuoʇspǝᴚ", "create.ponder.portable_storage_interface_redstone.text_1": "buıbɐbuǝ ɯoɹɟ ǝɔɐɟɹǝʇuı ʎɹɐuoıʇɐʇs ǝɥʇ ʇuǝʌǝɹd ןןıʍ ɹǝʍod ǝuoʇspǝᴚ", + "create.ponder.postbox.header": "sǝxoqʇsoԀ uǝǝʍʇǝq sǝbɐʞɔɐd buıʇɹodsuɐɹ⟘", + "create.ponder.postbox.text_1": "ʎqɹɐǝu xoqʇsoԀ ǝɥʇ ǝɔɐןd puɐ uoıʇɐʇS uıɐɹ⟘ ɐ ʞɔıןɔ-ʇɥbıᴚ", + "create.ponder.postbox.text_10": "ǝsnoɥǝɹɐM →", + "create.ponder.postbox.text_11": "sʞunɥɔ pǝpɐoןun uı ɹnoıʌɐɥǝq ɹıǝɥʇ uıɐʇuıɐɯ sǝxoqʇsoԀ 'suıɐɹʇ ǝʞıן ʇsnſ", + "create.ponder.postbox.text_12": "ʎɹoʇuǝʌuı ɹıǝɥʇ oʇ ɹo ɯoɹɟ pǝɹǝʌıןǝp ǝq ןןıʇs uɐɔ sǝbɐʞɔɐԀ", + "create.ponder.postbox.text_2": "I∩ ʎɹoʇuǝʌuı ǝɥʇ uı ssǝɹppɐ uɐ ʇı ubıssⱯ", + "create.ponder.postbox.text_3": "˙˙ʇı ɥɔʇɐɯ ʇou sǝop ǝbɐʞɔɐd pǝʇɹǝsuı uɐ ɟo ssǝɹppɐ ǝɥʇ ɟI", + "create.ponder.postbox.text_4": "ǝsnoɥǝɹɐM", + "create.ponder.postbox.text_5": "ʇsodʇnO →", + "create.ponder.postbox.text_6": "obɹɐɔ sɐ ʇı ʇɔǝןןoɔ ןןıʍ uoıʇɐʇs ǝɥʇ ʇɐ buıddoʇs suıɐɹʇ˙˙", + "create.ponder.postbox.text_7": "ɟɟo pǝddoɹp ǝq ןןıʍ ssǝɹppɐ ǝɥʇ buıɥɔʇɐɯ sǝbɐʞɔɐd 'ʎןǝsɹǝʌuoƆ", + "create.ponder.postbox.text_8": "xoqʇsoԀ ǝɥʇ ɯoɹɟ pǝʇɔɐɹʇxǝ ǝq uɐɔ uıɐɹʇ ʎq pǝʌıɹɹɐ ʇɐɥʇ sǝbɐʞɔɐԀ", + "create.ponder.postbox.text_9": "ǝsnoɥǝɹɐM", "create.ponder.powered_latch.header": "ɥɔʇɐꞀ pǝɹǝʍoԀ ǝɥʇ buısn sןɐubıs buıןןoɹʇuoƆ", "create.ponder.powered_latch.text_1": "sɹǝʌǝꞀ ǝןqɐןןoɹʇuoɔ ǝuoʇspǝɹ ǝɹɐ sǝɥɔʇɐꞀ pǝɹǝʍoԀ", "create.ponder.powered_latch.text_2": "uo ʇı ɥɔʇıʍs ʞɔɐq ǝɥʇ ʇɐ sןɐubıS", @@ -2239,6 +2296,22 @@ "create.ponder.redstone_link.text_4": "sʞɔoןq 9ϛᄅ uıɥʇıʍ sɹǝʇʇıɯsuɐɹʇ ɟo ɹǝʍod ǝuoʇspǝɹ ǝɥʇ ʇıɯǝ sɹǝʌıǝɔǝᴚ", "create.ponder.redstone_link.text_5": "ʎɔuǝnbǝɹℲ ɐ ʎɟıɔǝds uɐɔ sʇoןs oʍʇ ǝɥʇ uı sɯǝʇı buıɔɐןԀ", "create.ponder.redstone_link.text_6": "ǝʇɐɔıunɯɯoɔ ןןıʍ sǝıɔuǝnbǝɹℲ buıɥɔʇɐɯ ɥʇıʍ sʞuıן ǝɥʇ ʎןuO", + "create.ponder.redstone_requester.header": "sɹǝʇsǝnbǝᴚ ǝuoʇspǝᴚ ɥʇıʍ sɹǝpɹo pǝʇɐɯoʇnⱯ", + "create.ponder.redstone_requester.text_1": "ʞɹoʍʇǝu sʇı oʇ ʇɔǝuuoɔ oʇ ʇuǝɯǝɔɐןd ǝɹoɟǝq ʞuıן ʞɔoʇS ɐ ʞɔıןɔ-ʇɥbıᴚ", + "create.ponder.redstone_requester.text_2": "ʞɹoʍʇǝu sɔıʇsıboן ǝɥʇ ɯoɹɟ sɯǝʇı ɹǝpɹo uɐɔ sɹǝʇsǝnbǝɹ ǝuoʇspǝᴚ 'sɹǝʞɔıʇ ʞɔoʇS ǝʞıן ʇsnſ", + "create.ponder.redstone_requester.text_3": "I∩ uoıʇɐɹnbıɟuoɔ sʇı uǝdo oʇ ɹǝʇsǝnbǝɹ ǝɥʇ ʞɔıןɔ-ʇɥbıᴚ", + "create.ponder.redstone_requester.text_4": "ǝsןnd ǝuoʇspǝɹ ʎɹǝʌǝ uo pǝʇsǝnbǝɹ ǝq ןןıʍ I∩ ǝɥʇ uı ʇǝs ɹǝpɹo ǝɥ⟘", + "create.ponder.redstone_requester.text_5": "ʇuǝɯǝɔɐןd ǝɹoɟǝq pǝɹnbıɟuoɔ ʎןןnɟ ǝq uɐɔ ɹǝʇsǝnbǝɹ ǝɥʇ 'ʎןǝʌıʇɐuɹǝʇןⱯ", + "create.ponder.redstone_requester.text_6": "ǝɹǝɥʇ ɹǝpɹo pǝɹısǝp ǝɥʇ ʇǝs puɐ ʇı ɥʇıʍ ɹǝdǝǝʞ ʞɔoʇS ɐ ʞɔıןɔ-ʇɥbıᴚ", + "create.ponder.repackager.header": "ʇsǝnbǝɹ ɐ ɯoɹɟ sǝbɐʞɔɐd buıbɹǝW", + "create.ponder.repackager.text_1": "ǝbɐʞɔɐd ǝןbuıs ɐ sɐ ǝʌıɹɹɐ oʇ sʇsǝnbǝɹ ןɐɔıʇsıboן ɹoɟ ןɐıɔnɹɔ sı ʇı 'sǝɯıʇǝɯoS", + "create.ponder.repackager.text_2": "Ɐ ɹǝpɹO", + "create.ponder.repackager.text_3": "ᗺ ɹǝpɹO", + "create.ponder.repackager.text_4": "uǝǝʍʇǝquı ǝʌıɹɹɐ pןnoɔ sǝbɐʞɔɐd ɹǝɥʇo 'ǝsıʍɹǝɥʇO", + "create.ponder.repackager.text_5": "ʎɹoʇuǝʌuı uɐ oʇ sǝbɐʞɔɐd ʇɔǝɹıpǝɹ 'ǝsɐɔ ǝɥʇ sı sıɥʇ uǝɥM", + "create.ponder.repackager.text_6": "ǝuoʇspǝɹ ɥʇıʍ ʇı ɹǝʍod puɐ 'ɹǝbɐʞɔɐd-ǝɹ ɐ ɥɔɐʇʇⱯ", + "create.ponder.repackager.text_7": "ǝbɐʞɔɐd ʍǝu ɐ sɐ pǝʇɹodxǝ ǝq ןןıʍ ʎǝɥʇ 'pǝʌıɹɹɐ sʇuǝɯbɐɹɟ ןןɐ ǝɔuO", + "create.ponder.repackager.text_8": "ɹǝpɹo ǝןqɐʇɔıpǝɹd ɐ uı puɐ ɹǝɥʇǝboʇ ǝʌıɹɹɐ sɯǝʇı pǝʇsǝnbǝɹ 'ʍoN", "create.ponder.rope_pulley.header": "sʎǝןןnԀ ǝdoᴚ buısn sǝɹnʇɔnɹʇS buıʌoW", "create.ponder.rope_pulley.text_1": "ǝɔɹoℲ ןɐuoıʇɐʇoᴚ uǝʌıb uǝɥʍ ʎןןɐɔıʇɹǝʌ sʞɔoןq ǝʌoɯ uɐɔ sʎǝןןnԀ ǝdoᴚ", "create.ponder.rope_pulley.text_2": "ʇnduI ןɐuoıʇɐʇoᴚ ǝɥʇ uo puǝdǝp ʇuǝɯǝʌoɯ ɟo pǝǝdS puɐ uoıʇɔǝɹıᗡ", @@ -2347,6 +2420,39 @@ "create.ponder.sticker.text_2": "ǝʇɐʇs sʇı ǝןbboʇ ןןıʍ ʇı 'ןɐubıs ɐ buıʌıǝɔǝɹ uod∩", "create.ponder.sticker.text_3": "ʇı ɥʇıʍ ǝʌoɯ ןןıʍ ʞɔoןq ǝɥʇ 'uoıʇdɐɹʇuoɔ ɐ uı pǝʌoɯ ʍou sı ʇı ɟI", "create.ponder.sticker.text_4": "pǝɥɔɐʇʇɐ ɹǝbuoן ou sı ʞɔoןq ǝɥʇ 'uıɐbɐ ǝɔuo pǝןbbo⟘", + "create.ponder.stock_link.header": "ʞuıꞀ ʞɔoʇS ǝɥʇ puɐ sʞɹoʍʇǝN sɔıʇsıboꞀ", + "create.ponder.stock_link.text_1": "ʞɹoʍʇǝu ʍǝu ɐ ǝʇɐǝɹɔ sʞuıꞀ ʞɔoʇS 'pǝɔɐןd uǝɥM", + "create.ponder.stock_link.text_2": "ɯǝɥʇ puıq oʇ ʇı buıɔɐןd ǝɹoɟǝq ʞuıן buıʇsıxǝ uɐ ʞɔıןɔ-ʇɥbıᴚ", + "create.ponder.stock_link.text_3": "ʞɹoʍʇǝu ǝɥʇ oʇ ǝןqɐןıɐʌɐ ʎɹoʇuǝʌuı ɹıǝɥʇ ǝʞɐɯ sɹǝbɐʞɔɐd pǝʞuıן-ʞɔoʇS", + "create.ponder.stock_link.text_4": "sɯǝʇı ɹıǝɥʇ ʇsǝnbǝɹ puɐ puıɟ ʍou uɐɔ ʞɹoʍʇǝu ǝɥʇ uo sʇuǝuodɯoɔ ɹǝɥʇO", + "create.ponder.stock_link.text_5": "sǝbɐʞɔɐd oʇuı pǝɔɐןd ǝq ןןıʍ sǝıɹoʇuǝʌuı ǝɥʇ ɯoɹɟ sɯǝʇı 'ʇsǝnbǝɹ uO", + "create.ponder.stock_link.text_6": "uoıʇɐʇɹodsuɐɹʇ ǝɹınbǝɹ sǝbɐʞɔɐd ʇnq 'ǝbuɐɹ pǝʇıɯıןun ǝʌɐɥ sןɐubıs ʞuıꞀ ʞɔoʇS", + "create.ponder.stock_link.text_7": "buıʇsɐɔpɐoɹq ɯoɹɟ ʞuıן ɐ doʇs ןןıʍ ɹǝʍod ǝuoʇspǝɹ ןןnℲ", + "create.ponder.stock_link.text_8": "ʇsɹıɟ ʇɔɐ oʇ sɹǝɥʇo buısnɐɔ 'ʞuıן ɐ ɟo ʎʇıɹoıɹd ǝɥʇ sɹǝʍoן ɹǝʍod boןɐuⱯ", + "create.ponder.stock_ticker.header": "sɹǝʞɔıʇ ʞɔoʇS ɥʇıʍ sɯǝʇı buıɹǝpɹO", + "create.ponder.stock_ticker.text_1": "ʞɹoʍʇǝu sʇı oʇ ʇɔǝuuoɔ oʇ ʇuǝɯǝɔɐןd ǝɹoɟǝq ʞuıן ʞɔoʇS ɐ ʞɔıןɔ-ʇɥbıᴚ", + "create.ponder.stock_ticker.text_10": "uouuɐɔıʇɐɯǝɥɔs ǝɥʇ ɹoɟ pǝɹınbǝɹ sʞɔoןq ʇsǝnbǝɹ osןɐ uɐɔ sɹǝʞɔıʇ ʞɔoʇS", + "create.ponder.stock_ticker.text_11": "ɹǝdǝǝʞ ǝɥʇ oʇ pǝʇɐɹǝuǝb ʇı pɹɐoqdıןɔ pǝʇuıɹd ǝɥʇ puɐɥ ʎןdɯıS", + "create.ponder.stock_ticker.text_2": "ʞɹoʍʇǝu ǝɥʇ oʇ ǝןqɐןıɐʌɐ ʎɹoʇuǝʌuı ɹıǝɥʇ ǝʞɐɯ sɹǝbɐʞɔɐd pǝʞuıן-ʞɔoʇS", + "create.ponder.stock_ticker.text_3": "sǝıɹoʇuǝʌuı ǝsǝɥʇ ɯoɹɟ sɯǝʇı ʇsǝnbǝɹ uɐɔ sɹǝʞɔıʇ ʞɔoʇS", + "create.ponder.stock_ticker.text_4": "ɹǝdǝǝʞ ʞɔoʇS ǝɥʇ sɐ ʇɔɐ ʇı ɟo ʇuoɹɟ uı sɹǝuɹnq ǝzɐןq ɹo sqoɯ pǝʇɐǝS", + "create.ponder.stock_ticker.text_5": "sɯǝʇı buıɹǝpɹo ʇɹɐʇs oʇ ɹǝdǝǝʞ ǝɥʇ ʞɔıןɔ-ʇɥbıᴚ", + "create.ponder.stock_ticker.text_6": "sǝbɐʞɔɐd oʇuı pǝɔɐןd ǝq ןןıʍ sɯǝʇı ǝɥʇ 'pǝʇʇıɯqns sı ɹǝpɹo uɐ uǝɥM", + "create.ponder.stock_ticker.text_7": "ʇuıod ʇsǝnbǝɹ ǝɥʇ oʇ pǝʇɹodsuɐɹʇ ǝq uɐɔ ʎǝɥʇ 'ǝɹǝɥʇ ɯoɹℲ", + "create.ponder.stock_ticker.text_8": "sbuıʇsıן ɯǝʇı ǝɥʇ oʇ pǝppɐ ǝq uɐɔ sǝıɹobǝʇɐɔ 'sɹǝʇןıɟ ʇsıן ɹo ǝʇnqıɹʇʇɐ buıs∩", + "create.ponder.stock_ticker.text_9": "ɹoʇıpǝ ʎɹobǝʇɐɔ ǝɥʇ uǝdo oʇ ɟןǝsʇı ʞɔoןq ǝɥʇ ʞɔıןɔ-ʇɥbıᴚ", + "create.ponder.stock_ticker_address.header": "ɹǝpɹo ɹǝʞɔıʇ ʞɔoʇS ɐ buıssǝɹppⱯ", + "create.ponder.stock_ticker_address.text_1": "ɹǝpɹo ǝɥʇ uı ʇǝs ǝq uɐɔ ssǝɹppɐ ʇǝbɹɐʇ ɐ 'sɯǝʇı buıʇsǝnbǝɹ uǝɥM", + "create.ponder.stock_ticker_address.text_10": "sǝıʇıןıqɐ buıʇnoɹ ǝbɐʞɔɐd ǝʌɐɥ sǝxoqʇsoԀ puɐ sʇɹodboɹℲ 'sɹǝʇןıɟ ɯoɹɟ ǝpısⱯ", + "create.ponder.stock_ticker_address.text_11": "ɹnoıʌɐɥǝq ɹıǝɥʇ ʇnoqɐ ǝɹoɯ ʇno puıɟ oʇ ɯǝɥʇ ʇɔǝdsuI", + "create.ponder.stock_ticker_address.text_2": "doɥsʞɹoM →", + "create.ponder.stock_ticker_address.text_3": "ʇsǝnbǝɹ ǝɥʇ ɹoɟ pǝʇɐǝɹɔ sǝbɐʞɔɐd ןןɐ uo ǝq ןןıʍ ssǝɹppɐ sıɥ⟘", + "create.ponder.stock_ticker_address.text_4": "ob ןןıʍ sǝbɐʞɔɐd ǝɥʇ ǝɹǝɥʍ ןoɹʇuoɔ uɐɔ sıɥʇ 'sɹǝʇןıɟ ǝbɐʞɔɐd buıs∩", + "create.ponder.stock_ticker_address.text_5": "doɥsʞɹoM →", + "create.ponder.stock_ticker_address.text_6": "doɥsʞɹoM", + "create.ponder.stock_ticker_address.text_7": "ʎɹoʇɔɐℲ →", + "create.ponder.stock_ticker_address.text_8": "ʎɹoʇɔɐℲ →", + "create.ponder.stock_ticker_address.text_9": "doɥsʞɹoM", "create.ponder.stressometer.header": "ɹǝʇǝɯossǝɹʇS ǝɥʇ buısn uoıʇɐɯɹoɟuı ɔıʇǝuıʞ buıɹoʇıuoW", "create.ponder.stressometer.text_1": "ʞɹoʍʇǝu ɔıʇǝuıʞ pǝɥɔɐʇʇɐ ǝɥʇ ɟo ʎʇıɔɐdɐƆ ssǝɹʇS ʇuǝɹɹnɔ ǝɥʇ sʎɐןdsıp ɹǝʇǝɯossǝɹʇS ǝɥ⟘", "create.ponder.stressometer.text_2": "ǝbnɐ⅁ ǝɥʇ ɯoɹɟ uoıʇɐɯɹoɟuı pǝןıɐʇǝp ǝɹoɯ ʇǝb uɐɔ ɹǝʎɐןd ǝɥʇ 'sǝןbbo⅁ ,sɹǝǝuıbuƎ buıɹɐǝʍ uǝɥM", @@ -2358,6 +2464,19 @@ "create.ponder.super_glue.text_4": "buoןɐ ɹǝɥʇo ɥɔɐǝ ןןnd ןןıʍ ɐǝɹɐ uɐ buıɹɐɥs sʞɔoןq ʇuǝɔɐظpⱯ", "create.ponder.super_glue.text_5": "ɹǝɥʇǝboʇ ǝʌoɯ ןןıʍ sǝɯnןoʌ ǝnןb buıddɐןɹǝʌO", "create.ponder.super_glue.text_6": "ǝnןb ǝɹınbǝɹ ʇou op ʎןןɐnsn sɹǝɥʇo uo buıbuɐɥ sʞɔoןᗺ", + "create.ponder.table_cloth.header": "sɥʇoןƆ ǝןqɐ⟘ ɥʇıʍ sɯǝʇı buıןןǝS", + "create.ponder.table_cloth.text_1": "sɯǝʇı ʎɐןdsıp oʇ pǝsn ǝq uɐɔ sɥʇoןɔ ǝןqɐ⟘", + "create.ponder.table_cloth.text_10": "ǝbɐʞɔɐd ɐ oʇuı pǝɔɐןd ǝq ןןıʍ sɯǝʇı ʇɥbnoq ǝɥʇ 'ɹǝıɥsɐɔ ǝɥʇ ʇɐ ʇno buıʞɔǝɥɔ uǝɥM", + "create.ponder.table_cloth.text_11": "ʇuoɹɟ doɥs ǝɥʇ oʇ pǝʇɹodsuɐɹʇ ǝq uɐɔ ʎǝɥʇ 'ǝɹǝɥʇ ɯoɹℲ", + "create.ponder.table_cloth.text_12": "ʞɔoןq ɹǝʞɔıʇ ʞɔoʇs ǝɥʇ ǝpısuı pǝɹoʇs ǝq ןןıʍ sʇuǝɯʎɐd ǝɥ⟘", + "create.ponder.table_cloth.text_2": "sɯǝʇı ןןǝs oʇ pǝsn ǝq osןɐ uɐɔ ʎǝɥʇ 'ɯǝʇsʎs sɔıʇsıboן ɐ ɟo dןǝɥ ǝɥʇ ɥʇıM", + "create.ponder.table_cloth.text_3": "ʞuıן ʞɔoʇS puɐ ɹǝbɐʞɔɐԀ ɐ 'ʎɹoʇuǝʌuı s,doɥs ǝɥʇ ɥʇıʍ ʇɹɐʇS", + "create.ponder.table_cloth.text_4": "doɥs ǝɥʇ uı ʇı ǝɔɐןd puɐ ʞuıן ǝɥʇ oʇ ɹǝʞɔıʇ ʞɔoʇS ɐ puıᗺ", + "create.ponder.table_cloth.text_5": "ɹǝdǝǝʞ doɥs ǝɥʇ sɐ ɹǝuɹnq ǝzɐןq ɹo qoɯ ɐ ʎoןdɯƎ", + "create.ponder.table_cloth.text_6": "pןos ǝq oʇ sɯǝʇı ɥʇıʍ ʎɹoʇuǝʌuı doɥs ǝɥʇ ןןıℲ", + "create.ponder.table_cloth.text_7": "ɥʇoןɔ ǝןqɐʇ ɐ buıpןoɥ ǝןıɥʍ ɹǝdǝǝʞ doɥs ǝɥʇ ɥʇıʍ ʇɔɐɹǝʇuı 'ǝpɐɹʇ ʍǝu ɐ ǝʇɐǝɹɔ o⟘", + "create.ponder.table_cloth.text_8": "ǝpıs ǝɥʇ uo ʇoןs ɯǝʇı ǝɥʇ uı ǝɔıɹd ɐ ʇǝs 'pǝɔɐןd ǝɔuO", + "create.ponder.table_cloth.text_9": "doɥs ǝɥʇ ɥʇıʍ ʇɔɐɹǝʇuı ʍou uɐɔ sɹǝʎɐןd ɹǝɥʇO", "create.ponder.tag.arm_targets": "sɯɹⱯ ןɐɔıuɐɥɔǝW ɹoɟ sʇǝbɹɐ⟘", "create.ponder.tag.arm_targets.description": "ɯɹⱯ ןɐɔıuɐɥɔǝW ǝɥʇ oʇ sʇndʇno ɹo sʇnduı sɐ pǝʇɔǝןǝs ǝq uɐɔ ɥɔıɥʍ sʇuǝuodɯoƆ", "create.ponder.tag.contraption_actor": "sɹoʇɔⱯ uoıʇdɐɹʇuoƆ", diff --git a/src/generated/resources/assets/create/lang/en_us.json b/src/generated/resources/assets/create/lang/en_us.json index b637f8bac8..4667e75743 100644 --- a/src/generated/resources/assets/create/lang/en_us.json +++ b/src/generated/resources/assets/create/lang/en_us.json @@ -1522,9 +1522,7 @@ "create.item_attributes.washable.inverted": "cannot be Washed", "create.item_hatch.deposit_inventory": "Inventory items deposited", "create.item_hatch.deposit_item": "Held item deposited", - "create.keyinfo.ponder": "Ponder", - "create.keyinfo.scrolldown": "Simulate Mousewheel Down (inworld)", - "create.keyinfo.scrollup": "Simulate Mousewheel Up (inworld)", + "create.keyinfo.rotate_menu": "Open Block Rotation Menu", "create.keyinfo.toolbelt": "Access Nearby Toolboxes", "create.keyinfo.toolmenu": "Focus Schematic Overlay", "create.kinetics.creative_motor.rotation_speed": "Generated Speed in RPM", @@ -1853,6 +1851,52 @@ "create.ponder.encased_fluid_pipe.text_1": "Copper Casing can be used to decorate Fluid Pipes", "create.ponder.encased_fluid_pipe.text_2": "Aside from being concealed, Encased Pipes are locked into their connectivity state", "create.ponder.encased_fluid_pipe.text_3": "It will no longer react to any neighbouring blocks being added or removed", + "create.ponder.factory_gauge_crafting.header": "Automatic Crafting with Factory Gauges", + "create.ponder.factory_gauge_crafting.text_1": "Factory gauges provide auto-arrangement for crafting table recipes", + "create.ponder.factory_gauge_crafting.text_2": "Connect the required ingredients as before", + "create.ponder.factory_gauge_crafting.text_3": "When a valid recipe is detected, a new button appears in the UI", + "create.ponder.factory_gauge_crafting.text_4": "With auto-arrangement active, the boxes can be unwrapped into crafters directly", + "create.ponder.factory_gauge_crafting.text_5": "The setup must be 3x3 and the crafters have to be connected via wrench", + "create.ponder.factory_gauge_crafting.text_6": "Hold Right-click on the gauge to set the target amount", + "create.ponder.factory_gauge_crafting.text_7": "This crafter can now be used universally, by more gauges with different recipes", + "create.ponder.factory_gauge_crafting.text_8": "Outputs should be sent back to a linked inventory to close the loop", + "create.ponder.factory_gauge_crafting.text_9": "Using a Re-packager is recommended to prevent fragmentation of input packages", + "create.ponder.factory_gauge_links.header": "Connecting Gauges to other Blocks", + "create.ponder.factory_gauge_links.text_1": "When adding a new connection from the UI...", + "create.ponder.factory_gauge_links.text_2": "...the gauge also accepts Redstone and Display Links", + "create.ponder.factory_gauge_links.text_3": "Redstone links will be powered when the stock level is at or above the target amount", + "create.ponder.factory_gauge_links.text_4": "In receiver mode, links can stop the gauge from sending requests", + "create.ponder.factory_gauge_links.text_5": "Display links can provide a status overview of connected gauges", + "create.ponder.factory_gauge_recipe.header": "Automated Recipes with Factory Gauges", + "create.ponder.factory_gauge_recipe.text_1": "Whenever gauges are not placed on a packager...", + "create.ponder.factory_gauge_recipe.text_10": "Specify the address that ingredients should be sent to", + "create.ponder.factory_gauge_recipe.text_11": "The target amount to maintain can now be set by holding Right-click on the gauge", + "create.ponder.factory_gauge_recipe.text_12": "Whenever the network has fewer items than the amount...", + "create.ponder.factory_gauge_recipe.text_13": "...it will send new ingredients to the specified address", + "create.ponder.factory_gauge_recipe.text_14": "The outputs then need to return to any of the linked inventories", + "create.ponder.factory_gauge_recipe.text_15": "Green connections indicate that the target amount has been reached", + "create.ponder.factory_gauge_recipe.text_16": "The board of gauges can expand to include more recipe steps", + "create.ponder.factory_gauge_recipe.text_17": "Each gauge maintains the stock level of its item independently", + "create.ponder.factory_gauge_recipe.text_2": "They will instead monitor stock levels of all linked inventories", + "create.ponder.factory_gauge_recipe.text_3": "Right-click it with the item that should be monitored", + "create.ponder.factory_gauge_recipe.text_4": "It will now display the total amount present on the network", + "create.ponder.factory_gauge_recipe.text_5": "The gauge can replenish stock levels by sending other items to be processed", + "create.ponder.factory_gauge_recipe.text_6": "First, add the required ingredients as new factory gauges", + "create.ponder.factory_gauge_recipe.text_7": "From the target's UI, new connections can be made", + "create.ponder.factory_gauge_recipe.text_8": "For aesthetics, input panels can be wrenched to change the pathing", + "create.ponder.factory_gauge_recipe.text_9": "In the UI, review the inputs and specify how much of the output gets made per batch", + "create.ponder.factory_gauge_restocker.header": "Restocking with Factory Gauges", + "create.ponder.factory_gauge_restocker.text_1": "Right-click a Stock link before placement to connect to its network", + "create.ponder.factory_gauge_restocker.text_10": "...the logistics network sends more, with the specified address", + "create.ponder.factory_gauge_restocker.text_11": "From there, they can be routed to the packager", + "create.ponder.factory_gauge_restocker.text_2": "When placed on a packager, factory gauges can monitor items inside the inventory", + "create.ponder.factory_gauge_restocker.text_3": "Right-click it with the item that should be monitored", + "create.ponder.factory_gauge_restocker.text_4": "It will now display the amount present in the inventory", + "create.ponder.factory_gauge_restocker.text_5": "The gauge can refill this inventory from the logistics network", + "create.ponder.factory_gauge_restocker.text_6": "Right-click it again to open its configuration UI", + "create.ponder.factory_gauge_restocker.text_7": "Set an address that should be used for the requested items", + "create.ponder.factory_gauge_restocker.text_8": "The target amount to maintain can now be set by holding Right-click on the gauge", + "create.ponder.factory_gauge_restocker.text_9": "Whenever the chest has fewer items than this amount...", "create.ponder.fan_direction.header": "Air flow of Encased Fans", "create.ponder.fan_direction.text_1": "Encased Fans use Rotational Force to create an Air Current", "create.ponder.fan_direction.text_2": "Strength and Direction of Flow depends on the Rotational Input", @@ -2130,7 +2174,7 @@ "create.ponder.nixie_tube.text_1": "When powered by Redstone, Nixie Tubes will display the signal strength", "create.ponder.nixie_tube.text_2": "Using written Clipboards, custom text can be displayed", "create.ponder.nixie_tube.text_3": "Right-Click with Dye to change their display colour", - "create.ponder.package_frogport.header": "Transporting packages with Frogports", + "create.ponder.package_frogport.header": "Transporting packages between Frogports", "create.ponder.package_frogport.text_1": "Right-click a Chain Conveyor and place the Frogport nearby", "create.ponder.package_frogport.text_10": "Packages find their path to a matching frog on the chain network", "create.ponder.package_frogport.text_11": "Peter", @@ -2142,8 +2186,8 @@ "create.ponder.package_frogport.text_17": "Addresses packages to 'Peter'", "create.ponder.package_frogport.text_18": "Right-click Frogports with a clipboard to collect their address", "create.ponder.package_frogport.text_19": "Clipboards with collected names can help auto-complete address inputs in other UIs", - "create.ponder.package_frogport.text_2": "They can be given a name in their inventory UI", - "create.ponder.package_frogport.text_3": "If a package is addressed to a different name..", + "create.ponder.package_frogport.text_2": "Assign it an address in the inventory UI", + "create.ponder.package_frogport.text_3": "If the address of an inserted package does not match it..", "create.ponder.package_frogport.text_4": "Albert", "create.ponder.package_frogport.text_5": "→ Peter", "create.ponder.package_frogport.text_6": "..the Frogport will place the package on the conveyor", @@ -2160,7 +2204,7 @@ "create.ponder.packager_address.header": "Routing packages with an address", "create.ponder.packager_address.text_1": "Warehouse", "create.ponder.packager_address.text_10": "For compactness, mechanical saws can unwrap packages straight onto a belt", - "create.ponder.packager_address.text_11": "Aside from those filters, Frogports and Postboxes have package routing capabilities", + "create.ponder.packager_address.text_11": "Aside from filters, Frogports and Postboxes have package routing abilities", "create.ponder.packager_address.text_12": "Inspect them to find out more about their behaviour", "create.ponder.packager_address.text_2": "When a sign is placed on a packager..", "create.ponder.packager_address.text_3": "→ Warehouse", @@ -2193,6 +2237,19 @@ "create.ponder.portable_storage_interface.text_8": "After no items have been exchanged for a while, the contraption will continue on its way", "create.ponder.portable_storage_interface_redstone.header": "Redstone Control", "create.ponder.portable_storage_interface_redstone.text_1": "Redstone power will prevent the stationary interface from engaging", + "create.ponder.postbox.header": "Transporting packages between Postboxes", + "create.ponder.postbox.text_1": "Right-click a Train Station and place the Postbox nearby", + "create.ponder.postbox.text_10": "→ Warehouse", + "create.ponder.postbox.text_11": "Just like trains, Postboxes maintain their behaviour in unloaded chunks", + "create.ponder.postbox.text_12": "Packages can still be delivered from or to their inventory", + "create.ponder.postbox.text_2": "Assign it an address in the inventory UI", + "create.ponder.postbox.text_3": "If the address of an inserted package does not match it..", + "create.ponder.postbox.text_4": "Warehouse", + "create.ponder.postbox.text_5": "→ Outpost", + "create.ponder.postbox.text_6": "..trains stopping at the station will collect it as cargo", + "create.ponder.postbox.text_7": "Conversely, packages matching the address will be dropped off", + "create.ponder.postbox.text_8": "Packages that arrived by train can be extracted from the Postbox", + "create.ponder.postbox.text_9": "Warehouse", "create.ponder.powered_latch.header": "Controlling signals using the Powered Latch", "create.ponder.powered_latch.text_1": "Powered Latches are redstone controllable Levers", "create.ponder.powered_latch.text_2": "Signals at the back switch it on", @@ -2239,6 +2296,22 @@ "create.ponder.redstone_link.text_4": "Receivers emit the redstone power of transmitters within 256 blocks", "create.ponder.redstone_link.text_5": "Placing items in the two slots can specify a Frequency", "create.ponder.redstone_link.text_6": "Only the links with matching Frequencies will communicate", + "create.ponder.redstone_requester.header": "Automated orders with Redstone Requesters", + "create.ponder.redstone_requester.text_1": "Right-click a Stock link before placement to connect to its network", + "create.ponder.redstone_requester.text_2": "Just like Stock tickers, Redstone requesters can order items from the logistics network", + "create.ponder.redstone_requester.text_3": "Right-click the requester to open its configuration UI", + "create.ponder.redstone_requester.text_4": "The order set in the UI will be requested on every redstone pulse", + "create.ponder.redstone_requester.text_5": "Alternatively, the requester can be fully configured before placement", + "create.ponder.redstone_requester.text_6": "Right-click a Stock keeper with it and set the desired order there", + "create.ponder.repackager.header": "Merging packages from a request", + "create.ponder.repackager.text_1": "Sometimes, it is crucial for logistical requests to arrive as a single package", + "create.ponder.repackager.text_2": "Order A", + "create.ponder.repackager.text_3": "Order B", + "create.ponder.repackager.text_4": "Otherwise, other packages could arrive inbetween", + "create.ponder.repackager.text_5": "When this is the case, redirect packages to an inventory", + "create.ponder.repackager.text_6": "Attach a re-packager, and power it with redstone", + "create.ponder.repackager.text_7": "Once all fragments arrived, they will be exported as a new package", + "create.ponder.repackager.text_8": "Now, requested items arrive together and in a predictable order", "create.ponder.rope_pulley.header": "Moving Structures using Rope Pulleys", "create.ponder.rope_pulley.text_1": "Rope Pulleys can move blocks vertically when given Rotational Force", "create.ponder.rope_pulley.text_2": "Direction and Speed of movement depend on the Rotational Input", @@ -2347,6 +2420,39 @@ "create.ponder.sticker.text_2": "Upon receiving a signal, it will toggle its state", "create.ponder.sticker.text_3": "If it is now moved in a contraption, the block will move with it", "create.ponder.sticker.text_4": "Toggled once again, the block is no longer attached", + "create.ponder.stock_link.header": "Logistics Networks and the Stock Link", + "create.ponder.stock_link.text_1": "When placed, Stock Links create a new network", + "create.ponder.stock_link.text_2": "Right-click an existing link before placing it to bind them", + "create.ponder.stock_link.text_3": "Stock-linked packagers make their inventory available to the network", + "create.ponder.stock_link.text_4": "Other components on the network can now find and request their items", + "create.ponder.stock_link.text_5": "On request, items from the inventories will be placed into packages", + "create.ponder.stock_link.text_6": "Stock Link signals have unlimited range, but packages require transportation", + "create.ponder.stock_link.text_7": "Full redstone power will stop a link from broadcasting", + "create.ponder.stock_link.text_8": "Analog power lowers the priority of a link, causing others to act first", + "create.ponder.stock_ticker.header": "Ordering items with Stock tickers", + "create.ponder.stock_ticker.text_1": "Right-click a Stock link before placement to connect to its network", + "create.ponder.stock_ticker.text_10": "Stock tickers can also request blocks required for the schematicannon", + "create.ponder.stock_ticker.text_11": "Simply hand the printed clipboard it generated to the keeper", + "create.ponder.stock_ticker.text_2": "Stock-linked packagers make their inventory available to the network", + "create.ponder.stock_ticker.text_3": "Stock tickers can request items from these inventories", + "create.ponder.stock_ticker.text_4": "Seated mobs or blaze burners in front of it act as the Stock Keeper", + "create.ponder.stock_ticker.text_5": "Right-click the keeper to start ordering items", + "create.ponder.stock_ticker.text_6": "When an order is submitted, the items will be placed into packages", + "create.ponder.stock_ticker.text_7": "From there, they can be transported to the request point", + "create.ponder.stock_ticker.text_8": "Using attribute or list filters, categories can be added to the item listings", + "create.ponder.stock_ticker.text_9": "Right-click the block itself to open the category editor", + "create.ponder.stock_ticker_address.header": "Addressing a Stock ticker order", + "create.ponder.stock_ticker_address.text_1": "When requesting items, a target address can be set in the order", + "create.ponder.stock_ticker_address.text_10": "Aside from filters, Frogports and Postboxes have package routing abilities", + "create.ponder.stock_ticker_address.text_11": "Inspect them to find out more about their behaviour", + "create.ponder.stock_ticker_address.text_2": "→ Workshop", + "create.ponder.stock_ticker_address.text_3": "This address will be on all packages created for the request", + "create.ponder.stock_ticker_address.text_4": "Using package filters, this can control where the packages will go", + "create.ponder.stock_ticker_address.text_5": "→ Workshop", + "create.ponder.stock_ticker_address.text_6": "Workshop", + "create.ponder.stock_ticker_address.text_7": "→ Factory", + "create.ponder.stock_ticker_address.text_8": "→ Factory", + "create.ponder.stock_ticker_address.text_9": "Workshop", "create.ponder.stressometer.header": "Monitoring Kinetic information using the Stressometer", "create.ponder.stressometer.text_1": "The Stressometer displays the current Stress Capacity of the attached kinetic network", "create.ponder.stressometer.text_2": "When wearing Engineers' Goggles, the player can get more detailed information from the Gauge", @@ -2358,6 +2464,19 @@ "create.ponder.super_glue.text_4": "Adjacent blocks sharing an area will pull each other along", "create.ponder.super_glue.text_5": "Overlapping glue volumes will move together", "create.ponder.super_glue.text_6": "Blocks hanging on others usually do not require glue", + "create.ponder.table_cloth.header": "Selling items with Table Cloths", + "create.ponder.table_cloth.text_1": "Table cloths can be used to display items", + "create.ponder.table_cloth.text_10": "When checking out at the cashier, the bought items will be placed into a package", + "create.ponder.table_cloth.text_11": "From there, they can be transported to the shop front", + "create.ponder.table_cloth.text_12": "The payments will be stored inside the stock ticker block", + "create.ponder.table_cloth.text_2": "With the help of a logistics system, they can also be used to sell items", + "create.ponder.table_cloth.text_3": "Start with the shop's inventory, a Packager and Stock link", + "create.ponder.table_cloth.text_4": "Bind a Stock ticker to the link and place it in the shop", + "create.ponder.table_cloth.text_5": "Employ a mob or blaze burner as the shop keeper", + "create.ponder.table_cloth.text_6": "Fill the shop inventory with items to be sold", + "create.ponder.table_cloth.text_7": "To create a new trade, interact with the shop keeper while holding a table cloth", + "create.ponder.table_cloth.text_8": "Once placed, set a price in the item slot on the side", + "create.ponder.table_cloth.text_9": "Other players can now interact with the shop", "create.ponder.tag.arm_targets": "Targets for Mechanical Arms", "create.ponder.tag.arm_targets.description": "Components which can be selected as inputs or outputs to the Mechanical Arm", "create.ponder.tag.contraption_actor": "Contraption Actors", diff --git a/src/generated/resources/assets/create/models/item/acacia_window_pane.json b/src/generated/resources/assets/create/models/item/acacia_window_pane.json index 03ea16c3ac..9ccf7a224c 100644 --- a/src/generated/resources/assets/create/models/item/acacia_window_pane.json +++ b/src/generated/resources/assets/create/models/item/acacia_window_pane.json @@ -1,7 +1,6 @@ { - "parent": "create:item/pane", + "parent": "minecraft:item/generated", "textures": { - "edge": "minecraft:block/acacia_planks", - "pane": "create:block/palettes/acacia_window" + "layer0": "create:block/palettes/acacia_window" } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/item/andesite_bars.json b/src/generated/resources/assets/create/models/item/andesite_bars.json index a881e12f6b..ee12bac6c3 100644 --- a/src/generated/resources/assets/create/models/item/andesite_bars.json +++ b/src/generated/resources/assets/create/models/item/andesite_bars.json @@ -1,7 +1,6 @@ { - "parent": "create:item/bars", + "parent": "minecraft:item/generated", "textures": { - "bars": "create:block/bars/andesite_bars", - "edge": "create:block/bars/andesite_bars_edge" + "layer0": "create:block/bars/andesite_bars" } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/item/bamboo_window_pane.json b/src/generated/resources/assets/create/models/item/bamboo_window_pane.json index d0839f8b6e..12cfd60014 100644 --- a/src/generated/resources/assets/create/models/item/bamboo_window_pane.json +++ b/src/generated/resources/assets/create/models/item/bamboo_window_pane.json @@ -1,7 +1,6 @@ { - "parent": "create:item/pane", + "parent": "minecraft:item/generated", "textures": { - "edge": "minecraft:block/bamboo_planks", - "pane": "create:block/palettes/bamboo_window" + "layer0": "create:block/palettes/bamboo_window" } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/item/birch_window_pane.json b/src/generated/resources/assets/create/models/item/birch_window_pane.json index 3eb2e72698..f7e09d8f24 100644 --- a/src/generated/resources/assets/create/models/item/birch_window_pane.json +++ b/src/generated/resources/assets/create/models/item/birch_window_pane.json @@ -1,7 +1,6 @@ { - "parent": "create:item/pane", + "parent": "minecraft:item/generated", "textures": { - "edge": "minecraft:block/birch_planks", - "pane": "create:block/palettes/birch_window" + "layer0": "create:block/palettes/birch_window" } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/item/brass_bars.json b/src/generated/resources/assets/create/models/item/brass_bars.json index e1b32edd80..8140aae6b3 100644 --- a/src/generated/resources/assets/create/models/item/brass_bars.json +++ b/src/generated/resources/assets/create/models/item/brass_bars.json @@ -1,7 +1,6 @@ { - "parent": "create:item/bars", + "parent": "minecraft:item/generated", "textures": { - "bars": "create:block/bars/brass_bars", - "edge": "create:block/bars/brass_bars_edge" + "layer0": "create:block/bars/brass_bars" } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/item/cherry_window_pane.json b/src/generated/resources/assets/create/models/item/cherry_window_pane.json index c99c15abd6..3eaeaa351d 100644 --- a/src/generated/resources/assets/create/models/item/cherry_window_pane.json +++ b/src/generated/resources/assets/create/models/item/cherry_window_pane.json @@ -1,7 +1,6 @@ { - "parent": "create:item/pane", + "parent": "minecraft:item/generated", "textures": { - "edge": "minecraft:block/cherry_planks", - "pane": "create:block/palettes/cherry_window" + "layer0": "create:block/palettes/cherry_window" } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/item/copper_bars.json b/src/generated/resources/assets/create/models/item/copper_bars.json index 66553f12e1..eeb2a9d626 100644 --- a/src/generated/resources/assets/create/models/item/copper_bars.json +++ b/src/generated/resources/assets/create/models/item/copper_bars.json @@ -1,7 +1,6 @@ { - "parent": "create:item/bars", + "parent": "minecraft:item/generated", "textures": { - "bars": "create:block/bars/copper_bars", - "edge": "create:block/bars/copper_bars_edge" + "layer0": "create:block/bars/copper_bars" } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/item/crimson_window_pane.json b/src/generated/resources/assets/create/models/item/crimson_window_pane.json index 496b0c0fc4..d12dce270a 100644 --- a/src/generated/resources/assets/create/models/item/crimson_window_pane.json +++ b/src/generated/resources/assets/create/models/item/crimson_window_pane.json @@ -1,7 +1,6 @@ { - "parent": "create:item/pane", + "parent": "minecraft:item/generated", "textures": { - "edge": "minecraft:block/crimson_planks", - "pane": "create:block/palettes/crimson_window" + "layer0": "create:block/palettes/crimson_window" } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/item/dark_oak_window_pane.json b/src/generated/resources/assets/create/models/item/dark_oak_window_pane.json index ea970f28e1..b618ec86cc 100644 --- a/src/generated/resources/assets/create/models/item/dark_oak_window_pane.json +++ b/src/generated/resources/assets/create/models/item/dark_oak_window_pane.json @@ -1,7 +1,6 @@ { - "parent": "create:item/pane", + "parent": "minecraft:item/generated", "textures": { - "edge": "minecraft:block/dark_oak_planks", - "pane": "create:block/palettes/dark_oak_window" + "layer0": "create:block/palettes/dark_oak_window" } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/item/framed_glass_pane.json b/src/generated/resources/assets/create/models/item/framed_glass_pane.json index 1d48f846b8..34cd0fa5d8 100644 --- a/src/generated/resources/assets/create/models/item/framed_glass_pane.json +++ b/src/generated/resources/assets/create/models/item/framed_glass_pane.json @@ -1,7 +1,6 @@ { - "parent": "create:item/pane", + "parent": "minecraft:item/generated", "textures": { - "edge": "create:block/palettes/framed_glass_pane_top", - "pane": "create:block/palettes/framed_glass" + "layer0": "create:block/palettes/framed_glass" } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/item/horizontal_framed_glass_pane.json b/src/generated/resources/assets/create/models/item/horizontal_framed_glass_pane.json index 5b8c4b78c6..19ba12ca20 100644 --- a/src/generated/resources/assets/create/models/item/horizontal_framed_glass_pane.json +++ b/src/generated/resources/assets/create/models/item/horizontal_framed_glass_pane.json @@ -1,7 +1,6 @@ { - "parent": "create:item/pane", + "parent": "minecraft:item/generated", "textures": { - "edge": "create:block/palettes/framed_glass_pane_top", - "pane": "create:block/palettes/horizontal_framed_glass" + "layer0": "create:block/palettes/horizontal_framed_glass" } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/item/industrial_iron_window_pane.json b/src/generated/resources/assets/create/models/item/industrial_iron_window_pane.json index 115e11e0b8..83f5bfd65d 100644 --- a/src/generated/resources/assets/create/models/item/industrial_iron_window_pane.json +++ b/src/generated/resources/assets/create/models/item/industrial_iron_window_pane.json @@ -1,7 +1,6 @@ { - "parent": "create:item/pane", + "parent": "minecraft:item/generated", "textures": { - "edge": "create:block/palettes/industrial_iron_window_pane_top", - "pane": "create:block/palettes/industrial_iron_window" + "layer0": "create:block/palettes/industrial_iron_window" } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/item/jungle_window_pane.json b/src/generated/resources/assets/create/models/item/jungle_window_pane.json index 9f783191e1..561935c644 100644 --- a/src/generated/resources/assets/create/models/item/jungle_window_pane.json +++ b/src/generated/resources/assets/create/models/item/jungle_window_pane.json @@ -1,7 +1,6 @@ { - "parent": "create:item/pane", + "parent": "minecraft:item/generated", "textures": { - "edge": "minecraft:block/jungle_planks", - "pane": "create:block/palettes/jungle_window" + "layer0": "create:block/palettes/jungle_window" } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/item/mangrove_window_pane.json b/src/generated/resources/assets/create/models/item/mangrove_window_pane.json index e34b9714e4..5af42dbe6b 100644 --- a/src/generated/resources/assets/create/models/item/mangrove_window_pane.json +++ b/src/generated/resources/assets/create/models/item/mangrove_window_pane.json @@ -1,7 +1,6 @@ { - "parent": "create:item/pane", + "parent": "minecraft:item/generated", "textures": { - "edge": "minecraft:block/mangrove_planks", - "pane": "create:block/palettes/mangrove_window" + "layer0": "create:block/palettes/mangrove_window" } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/item/oak_window_pane.json b/src/generated/resources/assets/create/models/item/oak_window_pane.json index fad014834e..62417042b4 100644 --- a/src/generated/resources/assets/create/models/item/oak_window_pane.json +++ b/src/generated/resources/assets/create/models/item/oak_window_pane.json @@ -1,7 +1,6 @@ { - "parent": "create:item/pane", + "parent": "minecraft:item/generated", "textures": { - "edge": "minecraft:block/oak_planks", - "pane": "create:block/palettes/oak_window" + "layer0": "create:block/palettes/oak_window" } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/item/ornate_iron_window_pane.json b/src/generated/resources/assets/create/models/item/ornate_iron_window_pane.json index e522e49a62..e15dab88e9 100644 --- a/src/generated/resources/assets/create/models/item/ornate_iron_window_pane.json +++ b/src/generated/resources/assets/create/models/item/ornate_iron_window_pane.json @@ -1,7 +1,6 @@ { - "parent": "create:item/pane", + "parent": "minecraft:item/generated", "textures": { - "edge": "create:block/palettes/ornate_iron_window_pane_top", - "pane": "create:block/palettes/ornate_iron_window" + "layer0": "create:block/palettes/ornate_iron_window" } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/item/spruce_window_pane.json b/src/generated/resources/assets/create/models/item/spruce_window_pane.json index f6f6c6e7d3..b40d8d6d35 100644 --- a/src/generated/resources/assets/create/models/item/spruce_window_pane.json +++ b/src/generated/resources/assets/create/models/item/spruce_window_pane.json @@ -1,7 +1,6 @@ { - "parent": "create:item/pane", + "parent": "minecraft:item/generated", "textures": { - "edge": "minecraft:block/spruce_planks", - "pane": "create:block/palettes/spruce_window" + "layer0": "create:block/palettes/spruce_window" } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/item/tiled_glass_pane.json b/src/generated/resources/assets/create/models/item/tiled_glass_pane.json index 8223e7d169..d9c1453d35 100644 --- a/src/generated/resources/assets/create/models/item/tiled_glass_pane.json +++ b/src/generated/resources/assets/create/models/item/tiled_glass_pane.json @@ -1,7 +1,6 @@ { - "parent": "create:item/pane", + "parent": "minecraft:item/generated", "textures": { - "edge": "minecraft:block/glass_pane_top", - "pane": "create:block/palettes/tiled_glass" + "layer0": "create:block/palettes/tiled_glass" } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/item/vertical_framed_glass_pane.json b/src/generated/resources/assets/create/models/item/vertical_framed_glass_pane.json index c5df1d782b..6c15091d70 100644 --- a/src/generated/resources/assets/create/models/item/vertical_framed_glass_pane.json +++ b/src/generated/resources/assets/create/models/item/vertical_framed_glass_pane.json @@ -1,7 +1,6 @@ { - "parent": "create:item/pane", + "parent": "minecraft:item/generated", "textures": { - "edge": "create:block/palettes/framed_glass_pane_top", - "pane": "create:block/palettes/vertical_framed_glass" + "layer0": "create:block/palettes/vertical_framed_glass" } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/item/warped_window_pane.json b/src/generated/resources/assets/create/models/item/warped_window_pane.json index c8569bb459..9158d904b2 100644 --- a/src/generated/resources/assets/create/models/item/warped_window_pane.json +++ b/src/generated/resources/assets/create/models/item/warped_window_pane.json @@ -1,7 +1,6 @@ { - "parent": "create:item/pane", + "parent": "minecraft:item/generated", "textures": { - "edge": "minecraft:block/warped_planks", - "pane": "create:block/palettes/warped_window" + "layer0": "create:block/palettes/warped_window" } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/item/weathered_iron_window_pane.json b/src/generated/resources/assets/create/models/item/weathered_iron_window_pane.json index 23fc86eb14..dd738de895 100644 --- a/src/generated/resources/assets/create/models/item/weathered_iron_window_pane.json +++ b/src/generated/resources/assets/create/models/item/weathered_iron_window_pane.json @@ -1,7 +1,6 @@ { - "parent": "create:item/pane", + "parent": "minecraft:item/generated", "textures": { - "edge": "create:block/palettes/weathered_iron_window_pane_top", - "pane": "create:block/palettes/weathered_iron_window" + "layer0": "create:block/palettes/weathered_iron_window" } } \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/architects_palette/stripped_twisted_log.json b/src/generated/resources/data/create/recipe/cutting/compat/architects_palette/stripped_twisted_log.json deleted file mode 100644 index be1a5b7141..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/architects_palette/stripped_twisted_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "architects_palette" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "architects_palette:stripped_twisted_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "architects_palette:twisted_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/architects_palette/stripped_twisted_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/architects_palette/stripped_twisted_wood.json deleted file mode 100644 index 0b0c27e2f0..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/architects_palette/stripped_twisted_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "architects_palette" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "architects_palette:stripped_twisted_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "architects_palette:twisted_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/architects_palette/twisted_log.json b/src/generated/resources/data/create/recipe/cutting/compat/architects_palette/twisted_log.json deleted file mode 100644 index 838b027e2c..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/architects_palette/twisted_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "architects_palette" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "architects_palette:twisted_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "architects_palette:stripped_twisted_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/architects_palette/twisted_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/architects_palette/twisted_wood.json deleted file mode 100644 index 65c69c90c6..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/architects_palette/twisted_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "architects_palette" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "architects_palette:twisted_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "architects_palette:stripped_twisted_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/aspen_log.json b/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/aspen_log.json deleted file mode 100644 index 6a87e0fda4..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/aspen_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "atmospheric" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "atmospheric:aspen_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "atmospheric:stripped_aspen_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/aspen_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/aspen_wood.json deleted file mode 100644 index 89705d70ae..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/aspen_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "atmospheric" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "atmospheric:aspen_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "atmospheric:stripped_aspen_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/grimwood.json b/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/grimwood.json deleted file mode 100644 index b935c087ae..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/grimwood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "atmospheric" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "atmospheric:grimwood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "atmospheric:stripped_grimwood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/grimwood_log.json b/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/grimwood_log.json deleted file mode 100644 index 5ba6acaded..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/grimwood_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "atmospheric" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "atmospheric:grimwood_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "atmospheric:stripped_grimwood_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/kousa_log.json b/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/kousa_log.json deleted file mode 100644 index dd290e3eb7..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/kousa_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "atmospheric" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "atmospheric:kousa_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "atmospheric:stripped_kousa_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/kousa_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/kousa_wood.json deleted file mode 100644 index 955f63137c..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/kousa_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "atmospheric" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "atmospheric:kousa_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "atmospheric:stripped_kousa_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/morado_log.json b/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/morado_log.json deleted file mode 100644 index 053cf757f2..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/morado_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "atmospheric" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "atmospheric:morado_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "atmospheric:stripped_morado_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/morado_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/morado_wood.json deleted file mode 100644 index a37204278e..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/morado_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "atmospheric" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "atmospheric:morado_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "atmospheric:stripped_morado_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/rosewood.json b/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/rosewood.json deleted file mode 100644 index 600f833a9a..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/rosewood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "atmospheric" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "atmospheric:rosewood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "atmospheric:stripped_rosewood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/rosewood_log.json b/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/rosewood_log.json deleted file mode 100644 index d0abb4edcc..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/rosewood_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "atmospheric" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "atmospheric:rosewood_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "atmospheric:stripped_rosewood_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/stripped_aspen_log.json b/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/stripped_aspen_log.json deleted file mode 100644 index b548a062df..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/stripped_aspen_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "atmospheric" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "atmospheric:stripped_aspen_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "atmospheric:aspen_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/stripped_aspen_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/stripped_aspen_wood.json deleted file mode 100644 index bfe1813998..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/stripped_aspen_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "atmospheric" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "atmospheric:stripped_aspen_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "atmospheric:aspen_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/stripped_grimwood.json b/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/stripped_grimwood.json deleted file mode 100644 index d3b12775a7..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/stripped_grimwood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "atmospheric" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "atmospheric:stripped_grimwood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "atmospheric:grimwood_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/stripped_grimwood_log.json b/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/stripped_grimwood_log.json deleted file mode 100644 index 21d3d18416..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/stripped_grimwood_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "atmospheric" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "atmospheric:stripped_grimwood_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "atmospheric:grimwood_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/stripped_kousa_log.json b/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/stripped_kousa_log.json deleted file mode 100644 index 637386f04a..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/stripped_kousa_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "atmospheric" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "atmospheric:stripped_kousa_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "atmospheric:kousa_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/stripped_kousa_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/stripped_kousa_wood.json deleted file mode 100644 index 361b42556f..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/stripped_kousa_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "atmospheric" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "atmospheric:stripped_kousa_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "atmospheric:kousa_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/stripped_morado_log.json b/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/stripped_morado_log.json deleted file mode 100644 index c7b11fe266..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/stripped_morado_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "atmospheric" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "atmospheric:stripped_morado_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "atmospheric:morado_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/stripped_morado_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/stripped_morado_wood.json deleted file mode 100644 index 65b2b3c362..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/stripped_morado_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "atmospheric" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "atmospheric:stripped_morado_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "atmospheric:morado_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/stripped_rosewood.json b/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/stripped_rosewood.json deleted file mode 100644 index 4e3c9e3277..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/stripped_rosewood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "atmospheric" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "atmospheric:stripped_rosewood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "atmospheric:rosewood_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/stripped_rosewood_log.json b/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/stripped_rosewood_log.json deleted file mode 100644 index c162c65aee..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/stripped_rosewood_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "atmospheric" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "atmospheric:stripped_rosewood_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "atmospheric:rosewood_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/stripped_yucca_log.json b/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/stripped_yucca_log.json deleted file mode 100644 index 5fd6157c95..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/stripped_yucca_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "atmospheric" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "atmospheric:stripped_yucca_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "atmospheric:yucca_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/stripped_yucca_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/stripped_yucca_wood.json deleted file mode 100644 index 8df381cbf6..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/stripped_yucca_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "atmospheric" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "atmospheric:stripped_yucca_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "atmospheric:yucca_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/yucca_log.json b/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/yucca_log.json deleted file mode 100644 index 690b25ff93..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/yucca_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "atmospheric" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "atmospheric:yucca_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "atmospheric:stripped_yucca_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/yucca_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/yucca_wood.json deleted file mode 100644 index 234e1177d0..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/atmospheric/yucca_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "atmospheric" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "atmospheric:yucca_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "atmospheric:stripped_yucca_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/autumnity/maple_log.json b/src/generated/resources/data/create/recipe/cutting/compat/autumnity/maple_log.json deleted file mode 100644 index e4fae39f9c..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/autumnity/maple_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "autumnity" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "autumnity:maple_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "autumnity:stripped_maple_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/autumnity/maple_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/autumnity/maple_wood.json deleted file mode 100644 index e410581906..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/autumnity/maple_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "autumnity" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "autumnity:maple_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "autumnity:stripped_maple_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/autumnity/sappy_maple_log.json b/src/generated/resources/data/create/recipe/cutting/compat/autumnity/sappy_maple_log.json deleted file mode 100644 index 8c96a6b3ba..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/autumnity/sappy_maple_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "autumnity" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "autumnity:sappy_maple_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "autumnity:maple_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/autumnity/sappy_maple_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/autumnity/sappy_maple_wood.json deleted file mode 100644 index 0381129934..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/autumnity/sappy_maple_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "autumnity" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "autumnity:sappy_maple_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "autumnity:sappy_maple_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/autumnity/stripped_maple_log.json b/src/generated/resources/data/create/recipe/cutting/compat/autumnity/stripped_maple_log.json deleted file mode 100644 index ee00049e4d..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/autumnity/stripped_maple_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "autumnity" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "autumnity:stripped_maple_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "autumnity:maple_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/autumnity/stripped_maple_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/autumnity/stripped_maple_wood.json deleted file mode 100644 index ee61b14d64..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/autumnity/stripped_maple_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "autumnity" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "autumnity:stripped_maple_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "autumnity:maple_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/dead_log.json b/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/dead_log.json deleted file mode 100644 index d5f3cbe5b3..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/dead_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "biomesoplenty" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "biomesoplenty:dead_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "biomesoplenty:stripped_dead_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/dead_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/dead_wood.json deleted file mode 100644 index 6e6690b189..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/dead_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "biomesoplenty" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "biomesoplenty:dead_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "biomesoplenty:stripped_dead_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/fir_log.json b/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/fir_log.json deleted file mode 100644 index 16785f086f..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/fir_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "biomesoplenty" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "biomesoplenty:fir_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "biomesoplenty:stripped_fir_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/fir_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/fir_wood.json deleted file mode 100644 index 53753c8325..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/fir_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "biomesoplenty" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "biomesoplenty:fir_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "biomesoplenty:stripped_fir_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/hellbark_log.json b/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/hellbark_log.json deleted file mode 100644 index 10b0c1f2dc..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/hellbark_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "biomesoplenty" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "biomesoplenty:hellbark_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "biomesoplenty:stripped_hellbark_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/hellbark_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/hellbark_wood.json deleted file mode 100644 index eafa155b4f..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/hellbark_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "biomesoplenty" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "biomesoplenty:hellbark_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "biomesoplenty:stripped_hellbark_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/jacaranda_log.json b/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/jacaranda_log.json deleted file mode 100644 index 81d6702b8d..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/jacaranda_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "biomesoplenty" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "biomesoplenty:jacaranda_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "biomesoplenty:stripped_jacaranda_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/jacaranda_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/jacaranda_wood.json deleted file mode 100644 index b7e5c8031c..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/jacaranda_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "biomesoplenty" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "biomesoplenty:jacaranda_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "biomesoplenty:stripped_jacaranda_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/magic_log.json b/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/magic_log.json deleted file mode 100644 index 6e66a081cf..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/magic_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "biomesoplenty" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "biomesoplenty:magic_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "biomesoplenty:stripped_magic_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/magic_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/magic_wood.json deleted file mode 100644 index 5879662ec6..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/magic_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "biomesoplenty" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "biomesoplenty:magic_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "biomesoplenty:stripped_magic_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/mahogany_log.json b/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/mahogany_log.json deleted file mode 100644 index 4115263a1c..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/mahogany_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "biomesoplenty" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "biomesoplenty:mahogany_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "biomesoplenty:stripped_mahogany_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/mahogany_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/mahogany_wood.json deleted file mode 100644 index aa427c3d15..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/mahogany_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "biomesoplenty" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "biomesoplenty:mahogany_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "biomesoplenty:stripped_mahogany_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/palm_log.json b/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/palm_log.json deleted file mode 100644 index 9e419891d1..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/palm_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "biomesoplenty" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "biomesoplenty:palm_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "biomesoplenty:stripped_palm_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/palm_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/palm_wood.json deleted file mode 100644 index 3e6bd53ade..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/palm_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "biomesoplenty" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "biomesoplenty:palm_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "biomesoplenty:stripped_palm_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/redwood_log.json b/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/redwood_log.json deleted file mode 100644 index 1b0317db38..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/redwood_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "biomesoplenty" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "biomesoplenty:redwood_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "biomesoplenty:stripped_redwood_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/redwood_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/redwood_wood.json deleted file mode 100644 index ae7fd8fed4..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/redwood_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "biomesoplenty" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "biomesoplenty:redwood_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "biomesoplenty:stripped_redwood_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_dead_log.json b/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_dead_log.json deleted file mode 100644 index fb1f82914b..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_dead_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "biomesoplenty" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "biomesoplenty:stripped_dead_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "biomesoplenty:dead_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_dead_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_dead_wood.json deleted file mode 100644 index f327eb15d5..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_dead_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "biomesoplenty" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "biomesoplenty:stripped_dead_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "biomesoplenty:dead_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_fir_log.json b/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_fir_log.json deleted file mode 100644 index 5f8f3fc4b9..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_fir_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "biomesoplenty" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "biomesoplenty:stripped_fir_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "biomesoplenty:fir_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_fir_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_fir_wood.json deleted file mode 100644 index d122f8df75..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_fir_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "biomesoplenty" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "biomesoplenty:stripped_fir_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "biomesoplenty:fir_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_hellbark_log.json b/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_hellbark_log.json deleted file mode 100644 index 5e503c7e68..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_hellbark_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "biomesoplenty" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "biomesoplenty:stripped_hellbark_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "biomesoplenty:hellbark_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_hellbark_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_hellbark_wood.json deleted file mode 100644 index fa688cde8b..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_hellbark_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "biomesoplenty" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "biomesoplenty:stripped_hellbark_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "biomesoplenty:hellbark_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_jacaranda_log.json b/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_jacaranda_log.json deleted file mode 100644 index 71f036fbfb..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_jacaranda_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "biomesoplenty" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "biomesoplenty:stripped_jacaranda_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "biomesoplenty:jacaranda_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_jacaranda_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_jacaranda_wood.json deleted file mode 100644 index 5e4cd67796..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_jacaranda_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "biomesoplenty" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "biomesoplenty:stripped_jacaranda_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "biomesoplenty:jacaranda_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_magic_log.json b/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_magic_log.json deleted file mode 100644 index 20310ce887..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_magic_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "biomesoplenty" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "biomesoplenty:stripped_magic_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "biomesoplenty:magic_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_magic_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_magic_wood.json deleted file mode 100644 index 3911aa73a8..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_magic_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "biomesoplenty" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "biomesoplenty:stripped_magic_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "biomesoplenty:magic_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_mahogany_log.json b/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_mahogany_log.json deleted file mode 100644 index 6b98bb06f0..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_mahogany_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "biomesoplenty" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "biomesoplenty:stripped_mahogany_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "biomesoplenty:mahogany_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_mahogany_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_mahogany_wood.json deleted file mode 100644 index 42ad97f065..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_mahogany_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "biomesoplenty" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "biomesoplenty:stripped_mahogany_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "biomesoplenty:mahogany_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_palm_log.json b/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_palm_log.json deleted file mode 100644 index 1dc2380577..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_palm_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "biomesoplenty" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "biomesoplenty:stripped_palm_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "biomesoplenty:palm_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_palm_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_palm_wood.json deleted file mode 100644 index 54336e560c..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_palm_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "biomesoplenty" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "biomesoplenty:stripped_palm_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "biomesoplenty:palm_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_redwood_log.json b/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_redwood_log.json deleted file mode 100644 index 93b13be5e1..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_redwood_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "biomesoplenty" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "biomesoplenty:stripped_redwood_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "biomesoplenty:redwood_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_redwood_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_redwood_wood.json deleted file mode 100644 index 87e89c17a0..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_redwood_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "biomesoplenty" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "biomesoplenty:stripped_redwood_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "biomesoplenty:redwood_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_umbran_log.json b/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_umbran_log.json deleted file mode 100644 index dd53c76056..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_umbran_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "biomesoplenty" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "biomesoplenty:stripped_umbran_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "biomesoplenty:umbran_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_umbran_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_umbran_wood.json deleted file mode 100644 index 8ad2e94299..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_umbran_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "biomesoplenty" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "biomesoplenty:stripped_umbran_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "biomesoplenty:umbran_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_willow_log.json b/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_willow_log.json deleted file mode 100644 index d81e190b1d..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_willow_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "biomesoplenty" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "biomesoplenty:stripped_willow_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "biomesoplenty:willow_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_willow_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_willow_wood.json deleted file mode 100644 index f1fd828be7..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/stripped_willow_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "biomesoplenty" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "biomesoplenty:stripped_willow_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "biomesoplenty:willow_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/umbran_log.json b/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/umbran_log.json deleted file mode 100644 index 3eebcf5200..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/umbran_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "biomesoplenty" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "biomesoplenty:umbran_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "biomesoplenty:stripped_umbran_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/umbran_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/umbran_wood.json deleted file mode 100644 index 51a2867f81..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/umbran_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "biomesoplenty" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "biomesoplenty:umbran_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "biomesoplenty:stripped_umbran_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/willow_log.json b/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/willow_log.json deleted file mode 100644 index 89b38f4e73..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/willow_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "biomesoplenty" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "biomesoplenty:willow_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "biomesoplenty:stripped_willow_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/willow_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/willow_wood.json deleted file mode 100644 index e20fb027e0..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/biomesoplenty/willow_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "biomesoplenty" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "biomesoplenty:willow_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "biomesoplenty:stripped_willow_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/bluebright_log.json b/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/bluebright_log.json deleted file mode 100644 index d2d731c0db..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/bluebright_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "blue_skies" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "blue_skies:bluebright_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "blue_skies:stripped_bluebright_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/bluebright_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/bluebright_wood.json deleted file mode 100644 index 804b931d64..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/bluebright_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "blue_skies" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "blue_skies:bluebright_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "blue_skies:stripped_bluebright_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/crystallized_log.json b/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/crystallized_log.json deleted file mode 100644 index ef1e14471d..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/crystallized_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "blue_skies" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "blue_skies:crystallized_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "blue_skies:crystallized_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/crystallized_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/crystallized_wood.json deleted file mode 100644 index 9ac5eff85a..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/crystallized_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "blue_skies" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "blue_skies:crystallized_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "blue_skies:crystallized_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/dusk_log.json b/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/dusk_log.json deleted file mode 100644 index ead8ed4509..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/dusk_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "blue_skies" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "blue_skies:dusk_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "blue_skies:stripped_dusk_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/dusk_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/dusk_wood.json deleted file mode 100644 index d8bbc4b3b9..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/dusk_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "blue_skies" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "blue_skies:dusk_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "blue_skies:stripped_dusk_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/frostbright_log.json b/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/frostbright_log.json deleted file mode 100644 index bb289a4e6b..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/frostbright_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "blue_skies" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "blue_skies:frostbright_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "blue_skies:stripped_frostbright_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/frostbright_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/frostbright_wood.json deleted file mode 100644 index 5fbff96d2e..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/frostbright_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "blue_skies" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "blue_skies:frostbright_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "blue_skies:stripped_frostbright_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/lunar_log.json b/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/lunar_log.json deleted file mode 100644 index 1c094ef6c5..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/lunar_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "blue_skies" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "blue_skies:lunar_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "blue_skies:stripped_lunar_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/lunar_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/lunar_wood.json deleted file mode 100644 index a1f4d36242..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/lunar_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "blue_skies" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "blue_skies:lunar_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "blue_skies:stripped_lunar_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/maple_log.json b/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/maple_log.json deleted file mode 100644 index 54202f69dc..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/maple_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "blue_skies" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "blue_skies:maple_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "blue_skies:stripped_maple_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/maple_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/maple_wood.json deleted file mode 100644 index ee8730c770..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/maple_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "blue_skies" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "blue_skies:maple_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "blue_skies:stripped_maple_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/starlit_log.json b/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/starlit_log.json deleted file mode 100644 index 38152a4395..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/starlit_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "blue_skies" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "blue_skies:starlit_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "blue_skies:stripped_starlit_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/starlit_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/starlit_wood.json deleted file mode 100644 index e9896aa340..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/starlit_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "blue_skies" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "blue_skies:starlit_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "blue_skies:stripped_starlit_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/stripped_bluebright_log.json b/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/stripped_bluebright_log.json deleted file mode 100644 index 54aad931bd..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/stripped_bluebright_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "blue_skies" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "blue_skies:stripped_bluebright_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "blue_skies:bluebright_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/stripped_bluebright_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/stripped_bluebright_wood.json deleted file mode 100644 index 0a7c0cfc9c..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/stripped_bluebright_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "blue_skies" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "blue_skies:stripped_bluebright_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "blue_skies:bluebright_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/stripped_dusk_log.json b/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/stripped_dusk_log.json deleted file mode 100644 index 3ecec4dd49..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/stripped_dusk_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "blue_skies" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "blue_skies:stripped_dusk_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "blue_skies:dusk_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/stripped_dusk_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/stripped_dusk_wood.json deleted file mode 100644 index 1372ff369c..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/stripped_dusk_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "blue_skies" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "blue_skies:stripped_dusk_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "blue_skies:dusk_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/stripped_frostbright_log.json b/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/stripped_frostbright_log.json deleted file mode 100644 index b0a49ddb27..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/stripped_frostbright_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "blue_skies" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "blue_skies:stripped_frostbright_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "blue_skies:frostbright_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/stripped_frostbright_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/stripped_frostbright_wood.json deleted file mode 100644 index 975167ce60..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/stripped_frostbright_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "blue_skies" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "blue_skies:stripped_frostbright_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "blue_skies:frostbright_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/stripped_lunar_log.json b/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/stripped_lunar_log.json deleted file mode 100644 index 46b482eb3f..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/stripped_lunar_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "blue_skies" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "blue_skies:stripped_lunar_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "blue_skies:lunar_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/stripped_lunar_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/stripped_lunar_wood.json deleted file mode 100644 index b8aab62f8c..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/stripped_lunar_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "blue_skies" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "blue_skies:stripped_lunar_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "blue_skies:lunar_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/stripped_maple_log.json b/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/stripped_maple_log.json deleted file mode 100644 index ea312bf8d0..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/stripped_maple_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "blue_skies" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "blue_skies:stripped_maple_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "blue_skies:maple_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/stripped_maple_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/stripped_maple_wood.json deleted file mode 100644 index 3e7b6b7cb7..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/stripped_maple_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "blue_skies" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "blue_skies:stripped_maple_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "blue_skies:maple_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/stripped_starlit_log.json b/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/stripped_starlit_log.json deleted file mode 100644 index fc30a634a9..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/stripped_starlit_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "blue_skies" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "blue_skies:stripped_starlit_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "blue_skies:starlit_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/stripped_starlit_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/stripped_starlit_wood.json deleted file mode 100644 index bc6ad70fb0..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/blue_skies/stripped_starlit_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "blue_skies" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "blue_skies:stripped_starlit_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "blue_skies:starlit_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/botania/dreamwood.json b/src/generated/resources/data/create/recipe/cutting/compat/botania/dreamwood.json deleted file mode 100644 index 09de7438ca..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/botania/dreamwood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "botania" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "botania:dreamwood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "botania:stripped_dreamwood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/botania/dreamwood_log.json b/src/generated/resources/data/create/recipe/cutting/compat/botania/dreamwood_log.json deleted file mode 100644 index 54adaa9191..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/botania/dreamwood_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "botania" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "botania:dreamwood_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "botania:stripped_dreamwood_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/botania/glimmering_dreamwood.json b/src/generated/resources/data/create/recipe/cutting/compat/botania/glimmering_dreamwood.json deleted file mode 100644 index 426847306e..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/botania/glimmering_dreamwood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "botania" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "botania:glimmering_dreamwood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "botania:glimmering_stripped_dreamwood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/botania/glimmering_dreamwood_log.json b/src/generated/resources/data/create/recipe/cutting/compat/botania/glimmering_dreamwood_log.json deleted file mode 100644 index 8a0fc11073..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/botania/glimmering_dreamwood_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "botania" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "botania:glimmering_dreamwood_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "botania:glimmering_stripped_dreamwood_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/botania/glimmering_livingwood.json b/src/generated/resources/data/create/recipe/cutting/compat/botania/glimmering_livingwood.json deleted file mode 100644 index c260fc6221..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/botania/glimmering_livingwood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "botania" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "botania:glimmering_livingwood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "botania:glimmering_stripped_livingwood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/botania/glimmering_livingwood_log.json b/src/generated/resources/data/create/recipe/cutting/compat/botania/glimmering_livingwood_log.json deleted file mode 100644 index eaff90e0bb..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/botania/glimmering_livingwood_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "botania" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "botania:glimmering_livingwood_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "botania:glimmering_stripped_livingwood_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/botania/glimmering_stripped_dreamwood.json b/src/generated/resources/data/create/recipe/cutting/compat/botania/glimmering_stripped_dreamwood.json deleted file mode 100644 index 04b45fcd8e..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/botania/glimmering_stripped_dreamwood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "botania" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "botania:glimmering_stripped_dreamwood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "botania:dreamwood_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/botania/glimmering_stripped_dreamwood_log.json b/src/generated/resources/data/create/recipe/cutting/compat/botania/glimmering_stripped_dreamwood_log.json deleted file mode 100644 index 132f1f252d..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/botania/glimmering_stripped_dreamwood_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "botania" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "botania:glimmering_stripped_dreamwood_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "botania:dreamwood_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/botania/glimmering_stripped_livingwood.json b/src/generated/resources/data/create/recipe/cutting/compat/botania/glimmering_stripped_livingwood.json deleted file mode 100644 index 04f548ca77..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/botania/glimmering_stripped_livingwood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "botania" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "botania:glimmering_stripped_livingwood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "botania:livingwood_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/botania/glimmering_stripped_livingwood_log.json b/src/generated/resources/data/create/recipe/cutting/compat/botania/glimmering_stripped_livingwood_log.json deleted file mode 100644 index 1422335bae..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/botania/glimmering_stripped_livingwood_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "botania" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "botania:glimmering_stripped_livingwood_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "botania:livingwood_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/botania/livingwood.json b/src/generated/resources/data/create/recipe/cutting/compat/botania/livingwood.json deleted file mode 100644 index e3870de87b..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/botania/livingwood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "botania" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "botania:livingwood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "botania:stripped_livingwood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/botania/livingwood_log.json b/src/generated/resources/data/create/recipe/cutting/compat/botania/livingwood_log.json deleted file mode 100644 index 20ae6f4012..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/botania/livingwood_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "botania" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "botania:livingwood_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "botania:stripped_livingwood_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/botania/stripped_dreamwood.json b/src/generated/resources/data/create/recipe/cutting/compat/botania/stripped_dreamwood.json deleted file mode 100644 index cfbc882c58..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/botania/stripped_dreamwood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "botania" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "botania:stripped_dreamwood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "botania:dreamwood_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/botania/stripped_dreamwood_log.json b/src/generated/resources/data/create/recipe/cutting/compat/botania/stripped_dreamwood_log.json deleted file mode 100644 index ad1b983b1a..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/botania/stripped_dreamwood_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "botania" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "botania:stripped_dreamwood_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "botania:dreamwood_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/botania/stripped_livingwood.json b/src/generated/resources/data/create/recipe/cutting/compat/botania/stripped_livingwood.json deleted file mode 100644 index 19bb8b84ed..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/botania/stripped_livingwood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "botania" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "botania:stripped_livingwood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "botania:livingwood_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/botania/stripped_livingwood_log.json b/src/generated/resources/data/create/recipe/cutting/compat/botania/stripped_livingwood_log.json deleted file mode 100644 index 81781abc9f..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/botania/stripped_livingwood_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "botania" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "botania:stripped_livingwood_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "botania:livingwood_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/aspen_log.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/aspen_log.json deleted file mode 100644 index 27792d19a2..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/aspen_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:aspen_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "byg:stripped_aspen_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/aspen_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/aspen_wood.json deleted file mode 100644 index ca9dfc12e2..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/aspen_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:aspen_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "byg:stripped_aspen_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/baobab_log.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/baobab_log.json deleted file mode 100644 index fa9e665def..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/baobab_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:baobab_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "byg:stripped_baobab_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/baobab_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/baobab_wood.json deleted file mode 100644 index 76add06b45..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/baobab_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:baobab_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "byg:stripped_baobab_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/blue_enchanted_log.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/blue_enchanted_log.json deleted file mode 100644 index 83f961f2fd..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/blue_enchanted_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:blue_enchanted_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "byg:stripped_blue_enchanted_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/blue_enchanted_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/blue_enchanted_wood.json deleted file mode 100644 index 54e959a297..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/blue_enchanted_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:blue_enchanted_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "byg:stripped_blue_enchanted_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/bulbis_stem.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/bulbis_stem.json deleted file mode 100644 index f8b17fb31b..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/bulbis_stem.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:bulbis_stem" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "byg:stripped_bulbis_stem" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/bulbis_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/bulbis_wood.json deleted file mode 100644 index 24249a9e85..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/bulbis_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:bulbis_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "byg:stripped_bulbis_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/cika_log.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/cika_log.json deleted file mode 100644 index eecc3666e3..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/cika_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:cika_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "byg:stripped_cika_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/cika_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/cika_wood.json deleted file mode 100644 index 6c3b063862..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/cika_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:cika_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "byg:stripped_cika_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/cypress_log.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/cypress_log.json deleted file mode 100644 index a810c9d806..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/cypress_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:cypress_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "byg:stripped_cypress_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/cypress_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/cypress_wood.json deleted file mode 100644 index 3b38a433c6..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/cypress_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:cypress_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "byg:stripped_cypress_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/ebony_log.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/ebony_log.json deleted file mode 100644 index 3b5a7f2fde..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/ebony_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:ebony_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "byg:stripped_ebony_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/ebony_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/ebony_wood.json deleted file mode 100644 index db16a7f0a6..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/ebony_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:ebony_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "byg:stripped_ebony_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/ether_log.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/ether_log.json deleted file mode 100644 index ba70cd0d66..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/ether_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:ether_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "byg:stripped_ether_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/ether_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/ether_wood.json deleted file mode 100644 index 2057c27a4d..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/ether_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:ether_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "byg:stripped_ether_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/fir_log.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/fir_log.json deleted file mode 100644 index fd35f02864..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/fir_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:fir_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "byg:stripped_fir_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/fir_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/fir_wood.json deleted file mode 100644 index d86dbaf940..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/fir_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:fir_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "byg:stripped_fir_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/fungal_imparius_hyphae.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/fungal_imparius_hyphae.json deleted file mode 100644 index 58eaa2b20b..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/fungal_imparius_hyphae.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:fungal_imparius_hyphae" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "byg:imparius_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/fungal_imparius_stem.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/fungal_imparius_stem.json deleted file mode 100644 index 654bf0e49d..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/fungal_imparius_stem.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:fungal_imparius_stem" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "byg:imparius_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/green_enchanted_log.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/green_enchanted_log.json deleted file mode 100644 index 4223247668..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/green_enchanted_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:green_enchanted_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "byg:stripped_green_enchanted_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/green_enchanted_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/green_enchanted_wood.json deleted file mode 100644 index 894cd791cd..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/green_enchanted_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:green_enchanted_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "byg:stripped_green_enchanted_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/holly_log.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/holly_log.json deleted file mode 100644 index 4d5e047aa2..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/holly_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:holly_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "byg:stripped_holly_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/holly_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/holly_wood.json deleted file mode 100644 index 628a4e2eaa..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/holly_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:holly_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "byg:stripped_holly_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/imparius_hyphae.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/imparius_hyphae.json deleted file mode 100644 index 993c123d2d..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/imparius_hyphae.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:imparius_hyphae" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "byg:imparius_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/imparius_stem.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/imparius_stem.json deleted file mode 100644 index 4a5ff7b0f1..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/imparius_stem.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:imparius_stem" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "byg:imparius_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/jacaranda_log.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/jacaranda_log.json deleted file mode 100644 index e94f10a530..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/jacaranda_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:jacaranda_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "byg:stripped_jacaranda_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/jacaranda_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/jacaranda_wood.json deleted file mode 100644 index f7515ecde2..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/jacaranda_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:jacaranda_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "byg:stripped_jacaranda_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/lament_log.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/lament_log.json deleted file mode 100644 index b3b2210b6e..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/lament_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:lament_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "byg:stripped_lament_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/lament_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/lament_wood.json deleted file mode 100644 index 373e9f4263..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/lament_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:lament_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "byg:stripped_lament_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/mahogany_log.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/mahogany_log.json deleted file mode 100644 index b6a4afa6f2..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/mahogany_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:mahogany_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "byg:stripped_mahogany_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/mahogany_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/mahogany_wood.json deleted file mode 100644 index dfe5d64e2d..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/mahogany_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:mahogany_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "byg:stripped_mahogany_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/maple_log.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/maple_log.json deleted file mode 100644 index 58549ce1b0..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/maple_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:maple_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "byg:stripped_maple_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/maple_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/maple_wood.json deleted file mode 100644 index 4a6c420908..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/maple_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:maple_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "byg:stripped_maple_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/nightshade_log.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/nightshade_log.json deleted file mode 100644 index 81d0c2e979..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/nightshade_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:nightshade_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "byg:stripped_nightshade_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/nightshade_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/nightshade_wood.json deleted file mode 100644 index 1b981636e7..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/nightshade_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:nightshade_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "byg:stripped_nightshade_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/palm_log.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/palm_log.json deleted file mode 100644 index bd6a9a6033..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/palm_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:palm_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "byg:stripped_palm_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/palm_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/palm_wood.json deleted file mode 100644 index b57b55a21c..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/palm_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:palm_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "byg:stripped_palm_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/palo_verde_log.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/palo_verde_log.json deleted file mode 100644 index 1ac0441a37..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/palo_verde_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:palo_verde_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "byg:stripped_palo_verde_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/palo_verde_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/palo_verde_wood.json deleted file mode 100644 index 82bc720dbd..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/palo_verde_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:palo_verde_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "byg:stripped_palo_verde_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/pine_log.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/pine_log.json deleted file mode 100644 index ad9373dcee..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/pine_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:pine_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "byg:stripped_pine_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/pine_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/pine_wood.json deleted file mode 100644 index 7fb8f8d4b1..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/pine_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:pine_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "byg:stripped_pine_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/rainbow_eucalyptus_log.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/rainbow_eucalyptus_log.json deleted file mode 100644 index 00ae023ac5..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/rainbow_eucalyptus_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:rainbow_eucalyptus_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "byg:stripped_rainbow_eucalyptus_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/rainbow_eucalyptus_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/rainbow_eucalyptus_wood.json deleted file mode 100644 index 980cbf9985..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/rainbow_eucalyptus_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:rainbow_eucalyptus_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "byg:stripped_rainbow_eucalyptus_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/redwood_log.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/redwood_log.json deleted file mode 100644 index daf4470d8a..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/redwood_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:redwood_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "byg:stripped_redwood_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/redwood_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/redwood_wood.json deleted file mode 100644 index d2005fbd04..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/redwood_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:redwood_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "byg:stripped_redwood_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/skyris_log.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/skyris_log.json deleted file mode 100644 index b5914f0f7d..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/skyris_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:skyris_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "byg:stripped_skyris_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/skyris_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/skyris_wood.json deleted file mode 100644 index 3562b22fe7..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/skyris_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:skyris_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "byg:stripped_skyris_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_aspen_log.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_aspen_log.json deleted file mode 100644 index efd6a7231c..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_aspen_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:stripped_aspen_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "byg:aspen_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_aspen_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_aspen_wood.json deleted file mode 100644 index 7aa74c1184..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_aspen_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:stripped_aspen_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "byg:aspen_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_baobab_log.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_baobab_log.json deleted file mode 100644 index 1fe162615b..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_baobab_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:stripped_baobab_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "byg:baobab_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_baobab_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_baobab_wood.json deleted file mode 100644 index be48bc6340..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_baobab_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:stripped_baobab_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "byg:baobab_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_blue_enchanted_log.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_blue_enchanted_log.json deleted file mode 100644 index 4960694bec..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_blue_enchanted_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:stripped_blue_enchanted_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "byg:blue_enchanted_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_blue_enchanted_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_blue_enchanted_wood.json deleted file mode 100644 index bd96f5894b..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_blue_enchanted_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:stripped_blue_enchanted_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "byg:blue_enchanted_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_bulbis_stem.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_bulbis_stem.json deleted file mode 100644 index a043af690f..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_bulbis_stem.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:stripped_bulbis_stem" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "byg:bulbis_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_bulbis_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_bulbis_wood.json deleted file mode 100644 index da3acf5407..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_bulbis_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:stripped_bulbis_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "byg:bulbis_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_cika_log.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_cika_log.json deleted file mode 100644 index b1dcc15ef5..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_cika_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:stripped_cika_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "byg:cika_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_cika_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_cika_wood.json deleted file mode 100644 index 6fce73756c..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_cika_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:stripped_cika_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "byg:cika_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_cypress_log.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_cypress_log.json deleted file mode 100644 index f5949ad9d8..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_cypress_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:stripped_cypress_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "byg:cypress_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_cypress_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_cypress_wood.json deleted file mode 100644 index 1539b01db3..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_cypress_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:stripped_cypress_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "byg:cypress_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_ebony_log.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_ebony_log.json deleted file mode 100644 index 8eb655bf1d..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_ebony_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:stripped_ebony_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "byg:ebony_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_ebony_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_ebony_wood.json deleted file mode 100644 index ac62a93213..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_ebony_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:stripped_ebony_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "byg:ebony_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_ether_log.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_ether_log.json deleted file mode 100644 index 10c5e6b18b..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_ether_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:stripped_ether_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "byg:ether_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_ether_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_ether_wood.json deleted file mode 100644 index 30ff73dd81..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_ether_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:stripped_ether_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "byg:ether_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_fir_log.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_fir_log.json deleted file mode 100644 index a3caf36e5f..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_fir_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:stripped_fir_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "byg:fir_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_fir_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_fir_wood.json deleted file mode 100644 index c7ed807253..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_fir_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:stripped_fir_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "byg:fir_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_green_enchanted_log.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_green_enchanted_log.json deleted file mode 100644 index c07ab2ce1d..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_green_enchanted_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:stripped_green_enchanted_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "byg:green_enchanted_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_green_enchanted_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_green_enchanted_wood.json deleted file mode 100644 index a52860199f..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_green_enchanted_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:stripped_green_enchanted_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "byg:green_enchanted_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_holly_log.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_holly_log.json deleted file mode 100644 index 323d0972a8..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_holly_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:stripped_holly_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "byg:holly_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_holly_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_holly_wood.json deleted file mode 100644 index 647a99e860..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_holly_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:stripped_holly_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "byg:holly_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_jacaranda_log.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_jacaranda_log.json deleted file mode 100644 index 701fe0f875..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_jacaranda_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:stripped_jacaranda_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "byg:jacaranda_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_jacaranda_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_jacaranda_wood.json deleted file mode 100644 index cc20c52e0b..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_jacaranda_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:stripped_jacaranda_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "byg:jacaranda_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_lament_log.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_lament_log.json deleted file mode 100644 index 3c249718f1..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_lament_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:stripped_lament_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "byg:lament_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_lament_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_lament_wood.json deleted file mode 100644 index ce421e0baf..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_lament_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:stripped_lament_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "byg:lament_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_mahogany_log.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_mahogany_log.json deleted file mode 100644 index a58da3277d..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_mahogany_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:stripped_mahogany_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "byg:mahogany_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_mahogany_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_mahogany_wood.json deleted file mode 100644 index 3dc3a10cbe..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_mahogany_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:stripped_mahogany_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "byg:mahogany_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_maple_log.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_maple_log.json deleted file mode 100644 index c25e2ecaed..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_maple_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:stripped_maple_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "byg:maple_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_maple_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_maple_wood.json deleted file mode 100644 index 259de817c7..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_maple_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:stripped_maple_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "byg:maple_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_nightshade_log.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_nightshade_log.json deleted file mode 100644 index 9145ce3ba2..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_nightshade_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:stripped_nightshade_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "byg:nightshade_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_nightshade_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_nightshade_wood.json deleted file mode 100644 index cccca51aee..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_nightshade_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:stripped_nightshade_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "byg:nightshade_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_palm_log.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_palm_log.json deleted file mode 100644 index 8687853a0c..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_palm_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:stripped_palm_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "byg:palm_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_palm_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_palm_wood.json deleted file mode 100644 index cf87903d8d..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_palm_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:stripped_palm_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "byg:palm_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_pine_log.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_pine_log.json deleted file mode 100644 index 7677e152e6..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_pine_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:stripped_pine_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "byg:pine_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_pine_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_pine_wood.json deleted file mode 100644 index af585907e5..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_pine_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:stripped_pine_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "byg:pine_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_rainbow_eucalyptus_log.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_rainbow_eucalyptus_log.json deleted file mode 100644 index 53d7727151..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_rainbow_eucalyptus_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:stripped_rainbow_eucalyptus_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "byg:rainbow_eucalyptus_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_rainbow_eucalyptus_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_rainbow_eucalyptus_wood.json deleted file mode 100644 index cc909a22be..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_rainbow_eucalyptus_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:stripped_rainbow_eucalyptus_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "byg:rainbow_eucalyptus_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_redwood_log.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_redwood_log.json deleted file mode 100644 index eed2faf261..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_redwood_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:stripped_redwood_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "byg:redwood_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_redwood_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_redwood_wood.json deleted file mode 100644 index 51980c000b..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_redwood_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:stripped_redwood_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "byg:redwood_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_skyris_log.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_skyris_log.json deleted file mode 100644 index 3d0489b499..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_skyris_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:stripped_skyris_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "byg:skyris_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_skyris_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_skyris_wood.json deleted file mode 100644 index d1f89a728f..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_skyris_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:stripped_skyris_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "byg:skyris_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_willow_log.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_willow_log.json deleted file mode 100644 index a30f78a86a..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_willow_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:stripped_willow_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "byg:willow_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_willow_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_willow_wood.json deleted file mode 100644 index 85b5e93f3d..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_willow_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:stripped_willow_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "byg:willow_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_witch_hazel_log.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_witch_hazel_log.json deleted file mode 100644 index e0bf5de819..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_witch_hazel_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:stripped_witch_hazel_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "byg:witch_hazel_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_witch_hazel_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_witch_hazel_wood.json deleted file mode 100644 index 2088b3821f..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_witch_hazel_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:stripped_witch_hazel_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "byg:witch_hazel_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_zelkova_log.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_zelkova_log.json deleted file mode 100644 index 6f617be715..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_zelkova_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:stripped_zelkova_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "byg:zelkova_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_zelkova_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_zelkova_wood.json deleted file mode 100644 index 07018dd528..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/stripped_zelkova_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:stripped_zelkova_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "byg:zelkova_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/willow_log.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/willow_log.json deleted file mode 100644 index d0fa1973d8..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/willow_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:willow_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "byg:stripped_willow_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/willow_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/willow_wood.json deleted file mode 100644 index 7485f0c35a..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/willow_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:willow_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "byg:stripped_willow_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/witch_hazel_log.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/witch_hazel_log.json deleted file mode 100644 index 4cf77cf7bf..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/witch_hazel_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:witch_hazel_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "byg:stripped_witch_hazel_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/witch_hazel_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/witch_hazel_wood.json deleted file mode 100644 index 6cafb3dabe..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/witch_hazel_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:witch_hazel_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "byg:stripped_witch_hazel_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/zelkova_log.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/zelkova_log.json deleted file mode 100644 index f7f163d47a..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/zelkova_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:zelkova_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "byg:stripped_zelkova_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/byg/zelkova_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/byg/zelkova_wood.json deleted file mode 100644 index a5fc46a59a..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/byg/zelkova_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "byg" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "byg:zelkova_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "byg:stripped_zelkova_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/ecologics/azalea_log.json b/src/generated/resources/data/create/recipe/cutting/compat/ecologics/azalea_log.json deleted file mode 100644 index 18a6f82909..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/ecologics/azalea_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "ecologics" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "ecologics:azalea_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "ecologics:stripped_azalea_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/ecologics/azalea_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/ecologics/azalea_wood.json deleted file mode 100644 index f8d31b392f..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/ecologics/azalea_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "ecologics" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "ecologics:azalea_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "ecologics:stripped_azalea_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/ecologics/coconut_log.json b/src/generated/resources/data/create/recipe/cutting/compat/ecologics/coconut_log.json deleted file mode 100644 index 64f7a389e3..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/ecologics/coconut_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "ecologics" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "ecologics:coconut_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "ecologics:stripped_coconut_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/ecologics/coconut_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/ecologics/coconut_wood.json deleted file mode 100644 index 4c999ce9c7..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/ecologics/coconut_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "ecologics" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "ecologics:coconut_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "ecologics:stripped_coconut_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/ecologics/flowering_azalea_log.json b/src/generated/resources/data/create/recipe/cutting/compat/ecologics/flowering_azalea_log.json deleted file mode 100644 index 529b588ac3..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/ecologics/flowering_azalea_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "ecologics" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "ecologics:flowering_azalea_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "ecologics:stripped_azalea_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/ecologics/flowering_azalea_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/ecologics/flowering_azalea_wood.json deleted file mode 100644 index 5d4ad8daef..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/ecologics/flowering_azalea_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "ecologics" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "ecologics:flowering_azalea_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "ecologics:stripped_azalea_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/ecologics/stripped_azalea_log.json b/src/generated/resources/data/create/recipe/cutting/compat/ecologics/stripped_azalea_log.json deleted file mode 100644 index 442c9b7c5e..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/ecologics/stripped_azalea_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "ecologics" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "ecologics:stripped_azalea_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "ecologics:azalea_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/ecologics/stripped_azalea_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/ecologics/stripped_azalea_wood.json deleted file mode 100644 index ebb898e497..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/ecologics/stripped_azalea_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "ecologics" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "ecologics:stripped_azalea_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "ecologics:azalea_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/ecologics/stripped_coconut_log.json b/src/generated/resources/data/create/recipe/cutting/compat/ecologics/stripped_coconut_log.json deleted file mode 100644 index 66cee6aca4..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/ecologics/stripped_coconut_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "ecologics" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "ecologics:stripped_coconut_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "ecologics:coconut_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/ecologics/stripped_coconut_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/ecologics/stripped_coconut_wood.json deleted file mode 100644 index 0c6c6d8fd2..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/ecologics/stripped_coconut_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "ecologics" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "ecologics:stripped_coconut_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "ecologics:coconut_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/ecologics/stripped_walnut_log.json b/src/generated/resources/data/create/recipe/cutting/compat/ecologics/stripped_walnut_log.json deleted file mode 100644 index 0432a22b5a..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/ecologics/stripped_walnut_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "ecologics" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "ecologics:stripped_walnut_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "ecologics:walnut_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/ecologics/stripped_walnut_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/ecologics/stripped_walnut_wood.json deleted file mode 100644 index c055da529e..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/ecologics/stripped_walnut_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "ecologics" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "ecologics:stripped_walnut_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "ecologics:walnut_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/ecologics/walnut_log.json b/src/generated/resources/data/create/recipe/cutting/compat/ecologics/walnut_log.json deleted file mode 100644 index 1144b91a34..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/ecologics/walnut_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "ecologics" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "ecologics:walnut_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "ecologics:stripped_walnut_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/ecologics/walnut_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/ecologics/walnut_wood.json deleted file mode 100644 index 7ed59681ea..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/ecologics/walnut_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "ecologics" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "ecologics:walnut_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "ecologics:stripped_walnut_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/endergetic/poise_stem.json b/src/generated/resources/data/create/recipe/cutting/compat/endergetic/poise_stem.json deleted file mode 100644 index e777647f20..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/endergetic/poise_stem.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "endergetic" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "endergetic:poise_stem" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "endergetic:stripped_poise_stem" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/endergetic/stripped_poise_stem.json b/src/generated/resources/data/create/recipe/cutting/compat/endergetic/stripped_poise_stem.json deleted file mode 100644 index 3582511ce5..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/endergetic/stripped_poise_stem.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "endergetic" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "endergetic:stripped_poise_stem" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "endergetic:poise_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/environmental/cherry_log.json b/src/generated/resources/data/create/recipe/cutting/compat/environmental/cherry_log.json deleted file mode 100644 index 1934213a19..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/environmental/cherry_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "environmental" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "environmental:cherry_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "environmental:stripped_cherry_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/environmental/cherry_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/environmental/cherry_wood.json deleted file mode 100644 index 4fad314824..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/environmental/cherry_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "environmental" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "environmental:cherry_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "environmental:stripped_cherry_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/environmental/stripped_cherry_log.json b/src/generated/resources/data/create/recipe/cutting/compat/environmental/stripped_cherry_log.json deleted file mode 100644 index 4afc425c91..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/environmental/stripped_cherry_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "environmental" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "environmental:stripped_cherry_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "environmental:cherry_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/environmental/stripped_cherry_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/environmental/stripped_cherry_wood.json deleted file mode 100644 index 371f4cd5ae..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/environmental/stripped_cherry_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "environmental" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "environmental:stripped_cherry_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "environmental:cherry_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/environmental/stripped_willow_log.json b/src/generated/resources/data/create/recipe/cutting/compat/environmental/stripped_willow_log.json deleted file mode 100644 index bba54d625f..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/environmental/stripped_willow_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "environmental" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "environmental:stripped_willow_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "environmental:willow_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/environmental/stripped_willow_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/environmental/stripped_willow_wood.json deleted file mode 100644 index 186520cfc7..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/environmental/stripped_willow_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "environmental" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "environmental:stripped_willow_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "environmental:willow_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/environmental/stripped_wisteria_log.json b/src/generated/resources/data/create/recipe/cutting/compat/environmental/stripped_wisteria_log.json deleted file mode 100644 index 5252332eb0..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/environmental/stripped_wisteria_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "environmental" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "environmental:stripped_wisteria_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "environmental:wisteria_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/environmental/stripped_wisteria_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/environmental/stripped_wisteria_wood.json deleted file mode 100644 index af6fbdc6d8..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/environmental/stripped_wisteria_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "environmental" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "environmental:stripped_wisteria_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "environmental:wisteria_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/environmental/willow_log.json b/src/generated/resources/data/create/recipe/cutting/compat/environmental/willow_log.json deleted file mode 100644 index dfe9a4ae5e..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/environmental/willow_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "environmental" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "environmental:willow_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "environmental:stripped_willow_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/environmental/willow_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/environmental/willow_wood.json deleted file mode 100644 index d010dfaca2..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/environmental/willow_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "environmental" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "environmental:willow_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "environmental:stripped_willow_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/environmental/wisteria_log.json b/src/generated/resources/data/create/recipe/cutting/compat/environmental/wisteria_log.json deleted file mode 100644 index f40bf25fab..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/environmental/wisteria_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "environmental" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "environmental:wisteria_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "environmental:stripped_wisteria_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/environmental/wisteria_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/environmental/wisteria_wood.json deleted file mode 100644 index ad8779aea8..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/environmental/wisteria_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "environmental" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "environmental:wisteria_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "environmental:stripped_wisteria_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/forbidden_arcanus/aurum_log.json b/src/generated/resources/data/create/recipe/cutting/compat/forbidden_arcanus/aurum_log.json deleted file mode 100644 index b3c99186aa..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/forbidden_arcanus/aurum_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "forbidden_arcanus" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "forbidden_arcanus:aurum_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "forbidden_arcanus:stripped_aurum_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/forbidden_arcanus/aurum_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/forbidden_arcanus/aurum_wood.json deleted file mode 100644 index 6f4282a90b..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/forbidden_arcanus/aurum_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "forbidden_arcanus" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "forbidden_arcanus:aurum_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "forbidden_arcanus:stripped_aurum_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/forbidden_arcanus/stripped_aurum_log.json b/src/generated/resources/data/create/recipe/cutting/compat/forbidden_arcanus/stripped_aurum_log.json deleted file mode 100644 index 703b23c2fa..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/forbidden_arcanus/stripped_aurum_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "forbidden_arcanus" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "forbidden_arcanus:stripped_aurum_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "forbidden_arcanus:aurum_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/forbidden_arcanus/stripped_aurum_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/forbidden_arcanus/stripped_aurum_wood.json deleted file mode 100644 index 73cbebba32..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/forbidden_arcanus/stripped_aurum_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "forbidden_arcanus" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "forbidden_arcanus:stripped_aurum_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "forbidden_arcanus:aurum_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/goodending/cypress_log.json b/src/generated/resources/data/create/recipe/cutting/compat/goodending/cypress_log.json deleted file mode 100644 index c330696ff2..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/goodending/cypress_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "goodending" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "goodending:cypress_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "goodending:stripped_cypress_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/goodending/cypress_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/goodending/cypress_wood.json deleted file mode 100644 index 7f8c3688cc..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/goodending/cypress_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "goodending" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "goodending:cypress_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "goodending:stripped_cypress_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/goodending/muddy_oak_log.json b/src/generated/resources/data/create/recipe/cutting/compat/goodending/muddy_oak_log.json deleted file mode 100644 index 79ee6aa989..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/goodending/muddy_oak_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "goodending" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "goodending:muddy_oak_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "goodending:stripped_muddy_oak_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/goodending/muddy_oak_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/goodending/muddy_oak_wood.json deleted file mode 100644 index 521ed6abca..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/goodending/muddy_oak_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "goodending" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "goodending:muddy_oak_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "goodending:stripped_muddy_oak_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/goodending/stripped_cypress_log.json b/src/generated/resources/data/create/recipe/cutting/compat/goodending/stripped_cypress_log.json deleted file mode 100644 index 8e2b0cf6de..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/goodending/stripped_cypress_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "goodending" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "goodending:stripped_cypress_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "goodending:cypress_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/goodending/stripped_cypress_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/goodending/stripped_cypress_wood.json deleted file mode 100644 index 77313c0926..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/goodending/stripped_cypress_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "goodending" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "goodending:stripped_cypress_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "goodending:cypress_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/goodending/stripped_muddy_oak_log.json b/src/generated/resources/data/create/recipe/cutting/compat/goodending/stripped_muddy_oak_log.json deleted file mode 100644 index 5a1247d4d8..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/goodending/stripped_muddy_oak_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "goodending" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "goodending:stripped_muddy_oak_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "goodending:muddy_oak_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/goodending/stripped_muddy_oak_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/goodending/stripped_muddy_oak_wood.json deleted file mode 100644 index 4ed29cb3f9..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/goodending/stripped_muddy_oak_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "goodending" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "goodending:stripped_muddy_oak_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "goodending:muddy_oak_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/hexcasting/edified_log.json b/src/generated/resources/data/create/recipe/cutting/compat/hexcasting/edified_log.json deleted file mode 100644 index 9341b905a7..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/hexcasting/edified_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "hexcasting" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "hexcasting:edified_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "hexcasting:stripped_edified_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/hexcasting/edified_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/hexcasting/edified_wood.json deleted file mode 100644 index af6cda4ea5..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/hexcasting/edified_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "hexcasting" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "hexcasting:edified_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "hexcasting:stripped_edified_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/hexcasting/stripped_edified_log.json b/src/generated/resources/data/create/recipe/cutting/compat/hexcasting/stripped_edified_log.json deleted file mode 100644 index 098faee86b..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/hexcasting/stripped_edified_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "hexcasting" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "hexcasting:stripped_edified_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "hexcasting:edified_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/hexcasting/stripped_edified_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/hexcasting/stripped_edified_wood.json deleted file mode 100644 index 3244657006..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/hexcasting/stripped_edified_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "hexcasting" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "hexcasting:stripped_edified_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "hexcasting:edified_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/integrateddynamics/menril_log.json b/src/generated/resources/data/create/recipe/cutting/compat/integrateddynamics/menril_log.json deleted file mode 100644 index ece2eb8a5e..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/integrateddynamics/menril_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "integrateddynamics" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "integrateddynamics:menril_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "integrateddynamics:menril_log_stripped" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/integrateddynamics/menril_log_stripped.json b/src/generated/resources/data/create/recipe/cutting/compat/integrateddynamics/menril_log_stripped.json deleted file mode 100644 index a7c06265a9..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/integrateddynamics/menril_log_stripped.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "integrateddynamics" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "integrateddynamics:menril_log_stripped" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "integrateddynamics:menril_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/integrateddynamics/menril_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/integrateddynamics/menril_wood.json deleted file mode 100644 index d774ffc505..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/integrateddynamics/menril_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "integrateddynamics" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "integrateddynamics:menril_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "integrateddynamics:menril_wood_stripped" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/integrateddynamics/menril_wood_stripped.json b/src/generated/resources/data/create/recipe/cutting/compat/integrateddynamics/menril_wood_stripped.json deleted file mode 100644 index 9a0b1f3827..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/integrateddynamics/menril_wood_stripped.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "integrateddynamics" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "integrateddynamics:menril_wood_stripped" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "integrateddynamics:menril_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/nethers_exoticism/jabuticaba_log.json b/src/generated/resources/data/create/recipe/cutting/compat/nethers_exoticism/jabuticaba_log.json deleted file mode 100644 index d37b0ebf29..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/nethers_exoticism/jabuticaba_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "nethers_exoticism" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "nethers_exoticism:jabuticaba_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "nethers_exoticism:stripped_jabuticaba_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/nethers_exoticism/ramboutan_log.json b/src/generated/resources/data/create/recipe/cutting/compat/nethers_exoticism/ramboutan_log.json deleted file mode 100644 index 7676dda282..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/nethers_exoticism/ramboutan_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "nethers_exoticism" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "nethers_exoticism:ramboutan_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "nethers_exoticism:stripped_ramboutan_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/nethers_exoticism/ramboutan_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/nethers_exoticism/ramboutan_wood.json deleted file mode 100644 index 17bdc23167..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/nethers_exoticism/ramboutan_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "nethers_exoticism" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "nethers_exoticism:ramboutan_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "nethers_exoticism:stripped_ramboutan_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/nethers_exoticism/stripped_jabuticaba_log.json b/src/generated/resources/data/create/recipe/cutting/compat/nethers_exoticism/stripped_jabuticaba_log.json deleted file mode 100644 index 4626fef6e0..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/nethers_exoticism/stripped_jabuticaba_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "nethers_exoticism" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "nethers_exoticism:stripped_jabuticaba_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "nethers_exoticism:jabuticaba_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/nethers_exoticism/stripped_ramboutan_log.json b/src/generated/resources/data/create/recipe/cutting/compat/nethers_exoticism/stripped_ramboutan_log.json deleted file mode 100644 index f2319eecb9..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/nethers_exoticism/stripped_ramboutan_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "nethers_exoticism" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "nethers_exoticism:stripped_ramboutan_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "nethers_exoticism:ramboutan_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/nethers_exoticism/stripped_ramboutan_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/nethers_exoticism/stripped_ramboutan_wood.json deleted file mode 100644 index 16a9486891..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/nethers_exoticism/stripped_ramboutan_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "nethers_exoticism" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "nethers_exoticism:stripped_ramboutan_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "nethers_exoticism:ramboutan_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/quark/ancient_log.json b/src/generated/resources/data/create/recipe/cutting/compat/quark/ancient_log.json deleted file mode 100644 index c6e6c4c9e3..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/quark/ancient_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "quark" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "quark:ancient_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "quark:stripped_ancient_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/quark/ancient_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/quark/ancient_wood.json deleted file mode 100644 index 095c8ec445..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/quark/ancient_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "quark" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "quark:ancient_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "quark:stripped_ancient_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/quark/azalea_log.json b/src/generated/resources/data/create/recipe/cutting/compat/quark/azalea_log.json deleted file mode 100644 index f680f329cc..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/quark/azalea_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "quark" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "quark:azalea_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "quark:stripped_azalea_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/quark/azalea_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/quark/azalea_wood.json deleted file mode 100644 index 5d13fb641e..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/quark/azalea_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "quark" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "quark:azalea_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "quark:stripped_azalea_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/quark/blossom_log.json b/src/generated/resources/data/create/recipe/cutting/compat/quark/blossom_log.json deleted file mode 100644 index a3c0a8e935..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/quark/blossom_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "quark" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "quark:blossom_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "quark:stripped_blossom_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/quark/blossom_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/quark/blossom_wood.json deleted file mode 100644 index 7df8041552..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/quark/blossom_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "quark" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "quark:blossom_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "quark:stripped_blossom_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/quark/stripped_ancient_log.json b/src/generated/resources/data/create/recipe/cutting/compat/quark/stripped_ancient_log.json deleted file mode 100644 index 6d151bf4ae..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/quark/stripped_ancient_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "quark" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "quark:stripped_ancient_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "quark:ancient_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/quark/stripped_ancient_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/quark/stripped_ancient_wood.json deleted file mode 100644 index 7d49094394..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/quark/stripped_ancient_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "quark" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "quark:stripped_ancient_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "quark:ancient_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/quark/stripped_azalea_log.json b/src/generated/resources/data/create/recipe/cutting/compat/quark/stripped_azalea_log.json deleted file mode 100644 index a1c01c1787..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/quark/stripped_azalea_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "quark" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "quark:stripped_azalea_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "quark:azalea_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/quark/stripped_azalea_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/quark/stripped_azalea_wood.json deleted file mode 100644 index 8ff3772306..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/quark/stripped_azalea_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "quark" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "quark:stripped_azalea_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "quark:azalea_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/quark/stripped_blossom_log.json b/src/generated/resources/data/create/recipe/cutting/compat/quark/stripped_blossom_log.json deleted file mode 100644 index 690a5d86a6..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/quark/stripped_blossom_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "quark" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "quark:stripped_blossom_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "quark:blossom_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/quark/stripped_blossom_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/quark/stripped_blossom_wood.json deleted file mode 100644 index 528e7bc922..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/quark/stripped_blossom_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "quark" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "quark:stripped_blossom_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "quark:blossom_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/alpha_log.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/alpha_log.json deleted file mode 100644 index d2f4803f6f..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/alpha_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:alpha_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "regions_unexplored:alpha_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/ashen_log.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/ashen_log.json deleted file mode 100644 index bcdddec9ec..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/ashen_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:ashen_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "regions_unexplored:stripped_dead_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/ashen_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/ashen_wood.json deleted file mode 100644 index 2659dec007..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/ashen_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:ashen_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "regions_unexplored:stripped_dead_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/baobab_log.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/baobab_log.json deleted file mode 100644 index 4eb2184476..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/baobab_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:baobab_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "regions_unexplored:stripped_baobab_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/baobab_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/baobab_wood.json deleted file mode 100644 index 27a366ce2e..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/baobab_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:baobab_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "regions_unexplored:stripped_baobab_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/blackwood_log.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/blackwood_log.json deleted file mode 100644 index 0a8dd2c8ad..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/blackwood_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:blackwood_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "regions_unexplored:stripped_blackwood_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/blackwood_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/blackwood_wood.json deleted file mode 100644 index 239add4a58..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/blackwood_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:blackwood_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "regions_unexplored:stripped_blackwood_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/blue_bioshroom_hyphae.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/blue_bioshroom_hyphae.json deleted file mode 100644 index 4eebc0411b..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/blue_bioshroom_hyphae.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:blue_bioshroom_hyphae" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "regions_unexplored:stripped_blue_bioshroom_hyphae" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/blue_bioshroom_stem.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/blue_bioshroom_stem.json deleted file mode 100644 index 25dcc171e6..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/blue_bioshroom_stem.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:blue_bioshroom_stem" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "regions_unexplored:stripped_blue_bioshroom_stem" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/brimwood_log.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/brimwood_log.json deleted file mode 100644 index 8ec2052080..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/brimwood_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:brimwood_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "regions_unexplored:stripped_brimwood_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/brimwood_log_magma.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/brimwood_log_magma.json deleted file mode 100644 index 71dd847630..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/brimwood_log_magma.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:brimwood_log_magma" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "regions_unexplored:stripped_brimwood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/brimwood_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/brimwood_wood.json deleted file mode 100644 index f57f4004e6..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/brimwood_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:brimwood_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "regions_unexplored:stripped_brimwood_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/cobalt_log.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/cobalt_log.json deleted file mode 100644 index 0d6759dd58..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/cobalt_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:cobalt_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "regions_unexplored:stripped_cobalt_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/cobalt_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/cobalt_wood.json deleted file mode 100644 index 077fa6ca21..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/cobalt_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:cobalt_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "regions_unexplored:stripped_cobalt_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/cypress_log.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/cypress_log.json deleted file mode 100644 index 0c6b9e1544..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/cypress_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:cypress_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "regions_unexplored:stripped_cypress_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/cypress_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/cypress_wood.json deleted file mode 100644 index 1cb46975f2..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/cypress_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:cypress_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "regions_unexplored:stripped_cypress_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/dead_log.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/dead_log.json deleted file mode 100644 index f202c83590..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/dead_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:dead_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "regions_unexplored:stripped_dead_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/dead_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/dead_wood.json deleted file mode 100644 index 871b6d983b..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/dead_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:dead_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "regions_unexplored:stripped_dead_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/eucalyptus_log.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/eucalyptus_log.json deleted file mode 100644 index 3ad7be1954..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/eucalyptus_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:eucalyptus_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "regions_unexplored:stripped_eucalyptus_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/eucalyptus_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/eucalyptus_wood.json deleted file mode 100644 index e525b1ec90..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/eucalyptus_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:eucalyptus_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "regions_unexplored:stripped_eucalyptus_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/green_bioshroom_hyphae.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/green_bioshroom_hyphae.json deleted file mode 100644 index fabf054f83..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/green_bioshroom_hyphae.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:green_bioshroom_hyphae" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "regions_unexplored:stripped_green_bioshroom_hyphae" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/green_bioshroom_stem.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/green_bioshroom_stem.json deleted file mode 100644 index ead1125347..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/green_bioshroom_stem.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:green_bioshroom_stem" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "regions_unexplored:stripped_green_bioshroom_stem" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/joshua_log.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/joshua_log.json deleted file mode 100644 index 818315cfaa..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/joshua_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:joshua_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "regions_unexplored:stripped_joshua_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/joshua_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/joshua_wood.json deleted file mode 100644 index ae40a603f1..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/joshua_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:joshua_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "regions_unexplored:stripped_joshua_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/kapok_log.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/kapok_log.json deleted file mode 100644 index 09e1432cbb..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/kapok_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:kapok_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "regions_unexplored:stripped_kapok_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/kapok_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/kapok_wood.json deleted file mode 100644 index 68746febf4..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/kapok_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:kapok_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "regions_unexplored:stripped_kapok_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/larch_log.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/larch_log.json deleted file mode 100644 index 8c68339ffe..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/larch_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:larch_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "regions_unexplored:stripped_larch_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/larch_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/larch_wood.json deleted file mode 100644 index 2c83d8d764..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/larch_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:larch_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "regions_unexplored:stripped_larch_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/magnolia_log.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/magnolia_log.json deleted file mode 100644 index 3e394180c0..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/magnolia_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:magnolia_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "regions_unexplored:stripped_magnolia_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/magnolia_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/magnolia_wood.json deleted file mode 100644 index 6a5a0f5756..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/magnolia_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:magnolia_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "regions_unexplored:stripped_magnolia_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/maple_log.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/maple_log.json deleted file mode 100644 index 93ba6dcfe8..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/maple_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:maple_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "regions_unexplored:stripped_maple_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/maple_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/maple_wood.json deleted file mode 100644 index 733010bffb..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/maple_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:maple_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "regions_unexplored:stripped_maple_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/mauve_log.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/mauve_log.json deleted file mode 100644 index 5565a3bb74..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/mauve_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:mauve_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "regions_unexplored:stripped_mauve_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/mauve_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/mauve_wood.json deleted file mode 100644 index 00c7ecf091..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/mauve_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:mauve_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "regions_unexplored:stripped_mauve_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/palm_log.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/palm_log.json deleted file mode 100644 index d6c0866dcb..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/palm_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:palm_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "regions_unexplored:stripped_palm_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/palm_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/palm_wood.json deleted file mode 100644 index 773ec215c6..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/palm_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:palm_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "regions_unexplored:stripped_palm_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/pine_log.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/pine_log.json deleted file mode 100644 index 7466f1ac5d..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/pine_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:pine_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "regions_unexplored:stripped_pine_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/pine_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/pine_wood.json deleted file mode 100644 index 2845c11221..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/pine_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:pine_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "regions_unexplored:stripped_pine_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/pink_bioshroom_hyphae.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/pink_bioshroom_hyphae.json deleted file mode 100644 index 2077598bd2..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/pink_bioshroom_hyphae.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:pink_bioshroom_hyphae" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "regions_unexplored:stripped_pink_bioshroom_hyphae" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/pink_bioshroom_stem.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/pink_bioshroom_stem.json deleted file mode 100644 index abff2a1423..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/pink_bioshroom_stem.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:pink_bioshroom_stem" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "regions_unexplored:stripped_pink_bioshroom_stem" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/redwood_log.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/redwood_log.json deleted file mode 100644 index 4cbce5692f..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/redwood_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:redwood_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "regions_unexplored:stripped_redwood_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/redwood_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/redwood_wood.json deleted file mode 100644 index 3ad286ac74..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/redwood_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:redwood_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "regions_unexplored:stripped_redwood_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/socotra_log.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/socotra_log.json deleted file mode 100644 index 5eab06d741..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/socotra_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:socotra_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "regions_unexplored:stripped_socotra_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/socotra_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/socotra_wood.json deleted file mode 100644 index 8eb7c0ab0a..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/socotra_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:socotra_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "regions_unexplored:stripped_socotra_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_baobab_log.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_baobab_log.json deleted file mode 100644 index 5d03ceca6f..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_baobab_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:stripped_baobab_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "regions_unexplored:baobab_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_baobab_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_baobab_wood.json deleted file mode 100644 index 2037d2533d..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_baobab_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:stripped_baobab_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "regions_unexplored:baobab_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_blackwood_log.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_blackwood_log.json deleted file mode 100644 index ad3afb1a38..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_blackwood_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:stripped_blackwood_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "regions_unexplored:blackwood_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_blackwood_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_blackwood_wood.json deleted file mode 100644 index 865e19014e..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_blackwood_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:stripped_blackwood_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "regions_unexplored:blackwood_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_blue_bioshroom_hyphae.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_blue_bioshroom_hyphae.json deleted file mode 100644 index 41730104d9..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_blue_bioshroom_hyphae.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:stripped_blue_bioshroom_hyphae" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "regions_unexplored:blue_bioshroom_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_blue_bioshroom_stem.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_blue_bioshroom_stem.json deleted file mode 100644 index 513b9d64ad..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_blue_bioshroom_stem.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:stripped_blue_bioshroom_stem" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "regions_unexplored:blue_bioshroom_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_brimwood_log.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_brimwood_log.json deleted file mode 100644 index 8780683f01..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_brimwood_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:stripped_brimwood_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "regions_unexplored:brimwood_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_brimwood_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_brimwood_wood.json deleted file mode 100644 index 8a7f11106a..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_brimwood_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:stripped_brimwood_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "regions_unexplored:brimwood_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_cobalt_log.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_cobalt_log.json deleted file mode 100644 index 704a573210..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_cobalt_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:stripped_cobalt_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "regions_unexplored:cobalt_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_cobalt_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_cobalt_wood.json deleted file mode 100644 index 41e63ea914..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_cobalt_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:stripped_cobalt_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "regions_unexplored:cobalt_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_cypress_log.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_cypress_log.json deleted file mode 100644 index f6749256a2..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_cypress_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:stripped_cypress_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "regions_unexplored:cypress_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_cypress_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_cypress_wood.json deleted file mode 100644 index ef4bcfb95f..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_cypress_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:stripped_cypress_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "regions_unexplored:cypress_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_dead_log.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_dead_log.json deleted file mode 100644 index 9ba5046bfb..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_dead_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:stripped_dead_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "regions_unexplored:dead_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_dead_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_dead_wood.json deleted file mode 100644 index 7d2208405b..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_dead_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:stripped_dead_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "regions_unexplored:dead_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_eucalyptus_log.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_eucalyptus_log.json deleted file mode 100644 index b358f98ffa..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_eucalyptus_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:stripped_eucalyptus_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "regions_unexplored:eucalyptus_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_eucalyptus_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_eucalyptus_wood.json deleted file mode 100644 index 07a9ab67ec..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_eucalyptus_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:stripped_eucalyptus_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "regions_unexplored:eucalyptus_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_green_bioshroom_hyphae.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_green_bioshroom_hyphae.json deleted file mode 100644 index f3b6a7aacd..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_green_bioshroom_hyphae.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:stripped_green_bioshroom_hyphae" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "regions_unexplored:green_bioshroom_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_green_bioshroom_stem.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_green_bioshroom_stem.json deleted file mode 100644 index 7954641c0f..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_green_bioshroom_stem.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:stripped_green_bioshroom_stem" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "regions_unexplored:green_bioshroom_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_joshua_log.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_joshua_log.json deleted file mode 100644 index 27c1797f12..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_joshua_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:stripped_joshua_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "regions_unexplored:joshua_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_joshua_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_joshua_wood.json deleted file mode 100644 index cb6adec602..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_joshua_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:stripped_joshua_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "regions_unexplored:joshua_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_kapok_log.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_kapok_log.json deleted file mode 100644 index 799eca9cf6..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_kapok_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:stripped_kapok_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "regions_unexplored:kapok_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_kapok_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_kapok_wood.json deleted file mode 100644 index 518a5431ed..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_kapok_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:stripped_kapok_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "regions_unexplored:kapok_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_larch_log.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_larch_log.json deleted file mode 100644 index 64a6198514..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_larch_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:stripped_larch_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "regions_unexplored:larch_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_larch_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_larch_wood.json deleted file mode 100644 index feb9c24f82..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_larch_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:stripped_larch_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "regions_unexplored:larch_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_magnolia_log.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_magnolia_log.json deleted file mode 100644 index cd9ca5b2b3..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_magnolia_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:stripped_magnolia_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "regions_unexplored:magnolia_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_magnolia_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_magnolia_wood.json deleted file mode 100644 index 773cd41ef1..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_magnolia_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:stripped_magnolia_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "regions_unexplored:magnolia_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_maple_log.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_maple_log.json deleted file mode 100644 index 4cdaa70b37..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_maple_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:stripped_maple_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "regions_unexplored:maple_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_maple_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_maple_wood.json deleted file mode 100644 index 32dbcf15c2..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_maple_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:stripped_maple_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "regions_unexplored:maple_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_mauve_log.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_mauve_log.json deleted file mode 100644 index ae1c49f03f..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_mauve_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:stripped_mauve_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "regions_unexplored:mauve_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_mauve_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_mauve_wood.json deleted file mode 100644 index 6964b99b97..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_mauve_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:stripped_mauve_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "regions_unexplored:mauve_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_palm_log.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_palm_log.json deleted file mode 100644 index 5f3c2a207b..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_palm_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:stripped_palm_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "regions_unexplored:palm_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_palm_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_palm_wood.json deleted file mode 100644 index eec04955ce..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_palm_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:stripped_palm_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "regions_unexplored:palm_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_pine_log.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_pine_log.json deleted file mode 100644 index d66ec7e1e2..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_pine_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:stripped_pine_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "regions_unexplored:pine_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_pine_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_pine_wood.json deleted file mode 100644 index 138679d70c..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_pine_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:stripped_pine_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "regions_unexplored:pine_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_pink_bioshroom_hyphae.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_pink_bioshroom_hyphae.json deleted file mode 100644 index ab8868bcd8..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_pink_bioshroom_hyphae.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:stripped_pink_bioshroom_hyphae" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "regions_unexplored:pink_bioshroom_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_pink_bioshroom_stem.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_pink_bioshroom_stem.json deleted file mode 100644 index be041d4edb..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_pink_bioshroom_stem.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:stripped_pink_bioshroom_stem" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "regions_unexplored:pink_bioshroom_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_redwood_log.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_redwood_log.json deleted file mode 100644 index 480debe798..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_redwood_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:stripped_redwood_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "regions_unexplored:redwood_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_redwood_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_redwood_wood.json deleted file mode 100644 index 69387c61a8..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_redwood_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:stripped_redwood_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "regions_unexplored:redwood_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_socotra_log.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_socotra_log.json deleted file mode 100644 index ec64223c49..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_socotra_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:stripped_socotra_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "regions_unexplored:socotra_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_socotra_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_socotra_wood.json deleted file mode 100644 index 242f66b67d..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_socotra_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:stripped_socotra_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "regions_unexplored:socotra_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_willow_log.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_willow_log.json deleted file mode 100644 index 243d06503d..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_willow_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:stripped_willow_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "regions_unexplored:willow_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_willow_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_willow_wood.json deleted file mode 100644 index d948b18417..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_willow_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:stripped_willow_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "regions_unexplored:willow_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_yellow_bioshroom_hyphae.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_yellow_bioshroom_hyphae.json deleted file mode 100644 index 8f7f0c96cf..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_yellow_bioshroom_hyphae.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:stripped_yellow_bioshroom_hyphae" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "regions_unexplored:yellow_bioshroom_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_yellow_bioshroom_stem.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_yellow_bioshroom_stem.json deleted file mode 100644 index 37e1a24a5a..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/stripped_yellow_bioshroom_stem.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:stripped_yellow_bioshroom_stem" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "regions_unexplored:yellow_bioshroom_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/willow_log.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/willow_log.json deleted file mode 100644 index 6a4923264d..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/willow_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:willow_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "regions_unexplored:stripped_willow_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/willow_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/willow_wood.json deleted file mode 100644 index e41fb4a0bc..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/willow_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:willow_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "regions_unexplored:stripped_willow_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/yellow_bioshroom_hyphae.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/yellow_bioshroom_hyphae.json deleted file mode 100644 index e81b0624ca..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/yellow_bioshroom_hyphae.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:yellow_bioshroom_hyphae" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "regions_unexplored:stripped_yellow_bioshroom_hyphae" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/yellow_bioshroom_stem.json b/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/yellow_bioshroom_stem.json deleted file mode 100644 index be4d8a12a1..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/regions_unexplored/yellow_bioshroom_stem.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "regions_unexplored" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "regions_unexplored:yellow_bioshroom_stem" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "regions_unexplored:stripped_yellow_bioshroom_stem" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/silentgear/netherwood_log.json b/src/generated/resources/data/create/recipe/cutting/compat/silentgear/netherwood_log.json deleted file mode 100644 index 4f8f62d628..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/silentgear/netherwood_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "silentgear" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "silentgear:netherwood_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "silentgear:stripped_netherwood_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/silentgear/netherwood_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/silentgear/netherwood_wood.json deleted file mode 100644 index fd1b92be15..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/silentgear/netherwood_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "silentgear" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "silentgear:netherwood_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "silentgear:stripped_netherwood_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/silentgear/stripped_netherwood_log.json b/src/generated/resources/data/create/recipe/cutting/compat/silentgear/stripped_netherwood_log.json deleted file mode 100644 index fab3c86d0e..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/silentgear/stripped_netherwood_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "silentgear" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "silentgear:stripped_netherwood_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "silentgear:netherwood_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/silentgear/stripped_netherwood_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/silentgear/stripped_netherwood_wood.json deleted file mode 100644 index 52772ff4f5..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/silentgear/stripped_netherwood_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "silentgear" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "silentgear:stripped_netherwood_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "silentgear:netherwood_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/tconstruct/bloodshroom_log.json b/src/generated/resources/data/create/recipe/cutting/compat/tconstruct/bloodshroom_log.json deleted file mode 100644 index 1dacc6f468..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/tconstruct/bloodshroom_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "tconstruct" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "tconstruct:bloodshroom_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "tconstruct:stripped_bloodshroom_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/tconstruct/bloodshroom_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/tconstruct/bloodshroom_wood.json deleted file mode 100644 index 1fb961b7f5..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/tconstruct/bloodshroom_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "tconstruct" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "tconstruct:bloodshroom_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "tconstruct:stripped_bloodshroom_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/tconstruct/greenheart_log.json b/src/generated/resources/data/create/recipe/cutting/compat/tconstruct/greenheart_log.json deleted file mode 100644 index 4e70e8318a..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/tconstruct/greenheart_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "tconstruct" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "tconstruct:greenheart_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "tconstruct:stripped_greenheart_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/tconstruct/greenheart_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/tconstruct/greenheart_wood.json deleted file mode 100644 index d9425173eb..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/tconstruct/greenheart_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "tconstruct" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "tconstruct:greenheart_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "tconstruct:stripped_greenheart_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/tconstruct/skyroot_log.json b/src/generated/resources/data/create/recipe/cutting/compat/tconstruct/skyroot_log.json deleted file mode 100644 index accca7aecc..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/tconstruct/skyroot_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "tconstruct" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "tconstruct:skyroot_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "tconstruct:stripped_skyroot_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/tconstruct/skyroot_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/tconstruct/skyroot_wood.json deleted file mode 100644 index 587125ad35..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/tconstruct/skyroot_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "tconstruct" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "tconstruct:skyroot_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "tconstruct:stripped_skyroot_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/tconstruct/stripped_bloodshroom_log.json b/src/generated/resources/data/create/recipe/cutting/compat/tconstruct/stripped_bloodshroom_log.json deleted file mode 100644 index 0c9563ce48..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/tconstruct/stripped_bloodshroom_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "tconstruct" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "tconstruct:stripped_bloodshroom_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "tconstruct:bloodshroom_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/tconstruct/stripped_bloodshroom_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/tconstruct/stripped_bloodshroom_wood.json deleted file mode 100644 index 1d6106b17d..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/tconstruct/stripped_bloodshroom_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "tconstruct" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "tconstruct:stripped_bloodshroom_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "tconstruct:bloodshroom_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/tconstruct/stripped_greenheart_log.json b/src/generated/resources/data/create/recipe/cutting/compat/tconstruct/stripped_greenheart_log.json deleted file mode 100644 index a6bef93d4e..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/tconstruct/stripped_greenheart_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "tconstruct" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "tconstruct:stripped_greenheart_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "tconstruct:greenheart_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/tconstruct/stripped_greenheart_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/tconstruct/stripped_greenheart_wood.json deleted file mode 100644 index a3b1cf61b2..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/tconstruct/stripped_greenheart_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "tconstruct" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "tconstruct:stripped_greenheart_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "tconstruct:greenheart_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/tconstruct/stripped_skyroot_log.json b/src/generated/resources/data/create/recipe/cutting/compat/tconstruct/stripped_skyroot_log.json deleted file mode 100644 index 4a0ac88d1c..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/tconstruct/stripped_skyroot_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "tconstruct" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "tconstruct:stripped_skyroot_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "tconstruct:skyroot_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/tconstruct/stripped_skyroot_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/tconstruct/stripped_skyroot_wood.json deleted file mode 100644 index bbe1ec2939..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/tconstruct/stripped_skyroot_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "tconstruct" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "tconstruct:stripped_skyroot_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "tconstruct:skyroot_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/the_vault/chromatic_log.json b/src/generated/resources/data/create/recipe/cutting/compat/the_vault/chromatic_log.json deleted file mode 100644 index 580696a3b4..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/the_vault/chromatic_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "the_vault" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "the_vault:chromatic_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "the_vault:stripped_chromatic_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/the_vault/driftwood_log.json b/src/generated/resources/data/create/recipe/cutting/compat/the_vault/driftwood_log.json deleted file mode 100644 index 7e0b04cbea..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/the_vault/driftwood_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "the_vault" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "the_vault:driftwood_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "the_vault:stripped_driftwood_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/the_vault/overgrown_wooden_log.json b/src/generated/resources/data/create/recipe/cutting/compat/the_vault/overgrown_wooden_log.json deleted file mode 100644 index 32fca24a69..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/the_vault/overgrown_wooden_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "the_vault" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "the_vault:overgrown_wooden_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "the_vault:stripped_overgrown_wooden_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/the_vault/stripped_chromatic_log.json b/src/generated/resources/data/create/recipe/cutting/compat/the_vault/stripped_chromatic_log.json deleted file mode 100644 index 48a3cbb4f2..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/the_vault/stripped_chromatic_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "the_vault" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "the_vault:stripped_chromatic_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 4, - "item": "the_vault:chromatic_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/the_vault/stripped_driftwood_log.json b/src/generated/resources/data/create/recipe/cutting/compat/the_vault/stripped_driftwood_log.json deleted file mode 100644 index 469750d210..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/the_vault/stripped_driftwood_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "the_vault" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "the_vault:stripped_driftwood_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 4, - "item": "the_vault:driftwood_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/the_vault/stripped_overgrown_wooden_log.json b/src/generated/resources/data/create/recipe/cutting/compat/the_vault/stripped_overgrown_wooden_log.json deleted file mode 100644 index 26164d89c0..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/the_vault/stripped_overgrown_wooden_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "the_vault" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "the_vault:stripped_overgrown_wooden_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 4, - "item": "the_vault:overgrown_wooden_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/the_vault/stripped_wooden_log.json b/src/generated/resources/data/create/recipe/cutting/compat/the_vault/stripped_wooden_log.json deleted file mode 100644 index 3d095068f2..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/the_vault/stripped_wooden_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "the_vault" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "the_vault:stripped_wooden_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 4, - "item": "the_vault:wooden_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/the_vault/wooden_log.json b/src/generated/resources/data/create/recipe/cutting/compat/the_vault/wooden_log.json deleted file mode 100644 index 5fde6e40b3..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/the_vault/wooden_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "the_vault" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "the_vault:wooden_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "the_vault:stripped_wooden_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/canopy_log.json b/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/canopy_log.json deleted file mode 100644 index d6b5ea14a8..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/canopy_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "twilightforest" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "twilightforest:canopy_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "twilightforest:stripped_canopy_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/canopy_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/canopy_wood.json deleted file mode 100644 index e8802184f1..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/canopy_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "twilightforest" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "twilightforest:canopy_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "twilightforest:stripped_canopy_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/dark_log.json b/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/dark_log.json deleted file mode 100644 index 08f15dbb7a..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/dark_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "twilightforest" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "twilightforest:dark_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "twilightforest:stripped_dark_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/dark_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/dark_wood.json deleted file mode 100644 index 13f59db2ba..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/dark_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "twilightforest" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "twilightforest:dark_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "twilightforest:stripped_dark_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/mangrove_log.json b/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/mangrove_log.json deleted file mode 100644 index a4e6a2d8c1..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/mangrove_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "twilightforest" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "twilightforest:mangrove_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "twilightforest:stripped_mangrove_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/mangrove_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/mangrove_wood.json deleted file mode 100644 index 207d5896b1..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/mangrove_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "twilightforest" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "twilightforest:mangrove_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "twilightforest:stripped_mangrove_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/mining_log.json b/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/mining_log.json deleted file mode 100644 index d4f9c000de..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/mining_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "twilightforest" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "twilightforest:mining_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "twilightforest:stripped_mining_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/mining_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/mining_wood.json deleted file mode 100644 index b24df60e9b..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/mining_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "twilightforest" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "twilightforest:mining_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "twilightforest:stripped_mining_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/sorting_log.json b/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/sorting_log.json deleted file mode 100644 index 4d49f20087..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/sorting_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "twilightforest" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "twilightforest:sorting_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "twilightforest:stripped_sorting_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/sorting_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/sorting_wood.json deleted file mode 100644 index 88eeead5db..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/sorting_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "twilightforest" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "twilightforest:sorting_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "twilightforest:stripped_sorting_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/stripped_canopy_log.json b/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/stripped_canopy_log.json deleted file mode 100644 index 2f3fb1234c..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/stripped_canopy_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "twilightforest" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "twilightforest:stripped_canopy_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "twilightforest:canopy_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/stripped_canopy_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/stripped_canopy_wood.json deleted file mode 100644 index 8859dbf891..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/stripped_canopy_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "twilightforest" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "twilightforest:stripped_canopy_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "twilightforest:canopy_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/stripped_dark_log.json b/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/stripped_dark_log.json deleted file mode 100644 index af7114f7ac..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/stripped_dark_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "twilightforest" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "twilightforest:stripped_dark_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "twilightforest:dark_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/stripped_dark_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/stripped_dark_wood.json deleted file mode 100644 index 6b7dd3cd80..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/stripped_dark_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "twilightforest" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "twilightforest:stripped_dark_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "twilightforest:dark_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/stripped_mangrove_log.json b/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/stripped_mangrove_log.json deleted file mode 100644 index e84607c105..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/stripped_mangrove_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "twilightforest" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "twilightforest:stripped_mangrove_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "twilightforest:mangrove_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/stripped_mangrove_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/stripped_mangrove_wood.json deleted file mode 100644 index c7565b2f94..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/stripped_mangrove_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "twilightforest" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "twilightforest:stripped_mangrove_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "twilightforest:mangrove_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/stripped_mining_log.json b/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/stripped_mining_log.json deleted file mode 100644 index 91e6ec4382..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/stripped_mining_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "twilightforest" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "twilightforest:stripped_mining_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "twilightforest:mining_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/stripped_mining_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/stripped_mining_wood.json deleted file mode 100644 index ed08de1429..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/stripped_mining_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "twilightforest" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "twilightforest:stripped_mining_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "twilightforest:mining_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/stripped_sorting_log.json b/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/stripped_sorting_log.json deleted file mode 100644 index a1fa187721..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/stripped_sorting_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "twilightforest" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "twilightforest:stripped_sorting_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "twilightforest:sorting_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/stripped_sorting_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/stripped_sorting_wood.json deleted file mode 100644 index caebfc3e68..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/stripped_sorting_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "twilightforest" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "twilightforest:stripped_sorting_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "twilightforest:sorting_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/stripped_time_log.json b/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/stripped_time_log.json deleted file mode 100644 index 3d5bd76731..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/stripped_time_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "twilightforest" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "twilightforest:stripped_time_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "twilightforest:time_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/stripped_time_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/stripped_time_wood.json deleted file mode 100644 index ff20f60daa..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/stripped_time_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "twilightforest" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "twilightforest:stripped_time_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "twilightforest:time_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/stripped_transformation_log.json b/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/stripped_transformation_log.json deleted file mode 100644 index 0219f49736..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/stripped_transformation_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "twilightforest" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "twilightforest:stripped_transformation_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "twilightforest:transformation_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/stripped_transformation_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/stripped_transformation_wood.json deleted file mode 100644 index dfafe32248..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/stripped_transformation_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "twilightforest" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "twilightforest:stripped_transformation_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "twilightforest:transformation_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/stripped_twilight_oak_log.json b/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/stripped_twilight_oak_log.json deleted file mode 100644 index 0e23eb52ef..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/stripped_twilight_oak_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "twilightforest" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "twilightforest:stripped_twilight_oak_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "twilightforest:twilight_oak_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/stripped_twilight_oak_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/stripped_twilight_oak_wood.json deleted file mode 100644 index a8649a41f0..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/stripped_twilight_oak_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "twilightforest" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "twilightforest:stripped_twilight_oak_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "twilightforest:twilight_oak_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/time_log.json b/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/time_log.json deleted file mode 100644 index 02c2b47a68..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/time_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "twilightforest" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "twilightforest:time_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "twilightforest:stripped_time_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/time_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/time_wood.json deleted file mode 100644 index 2577675ebf..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/time_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "twilightforest" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "twilightforest:time_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "twilightforest:stripped_time_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/transformation_log.json b/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/transformation_log.json deleted file mode 100644 index ace984b447..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/transformation_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "twilightforest" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "twilightforest:transformation_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "twilightforest:stripped_transformation_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/transformation_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/transformation_wood.json deleted file mode 100644 index a062cdb56e..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/transformation_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "twilightforest" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "twilightforest:transformation_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "twilightforest:stripped_transformation_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/twilight_oak_log.json b/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/twilight_oak_log.json deleted file mode 100644 index 3a5e2d34ea..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/twilight_oak_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "twilightforest" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "twilightforest:twilight_oak_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "twilightforest:stripped_twilight_oak_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/twilight_oak_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/twilight_oak_wood.json deleted file mode 100644 index 2d3c36640d..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/twilightforest/twilight_oak_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "twilightforest" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "twilightforest:twilight_oak_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "twilightforest:stripped_twilight_oak_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/upgrade_aquatic/driftwood.json b/src/generated/resources/data/create/recipe/cutting/compat/upgrade_aquatic/driftwood.json deleted file mode 100644 index 18b6312eea..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/upgrade_aquatic/driftwood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "upgrade_aquatic" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "upgrade_aquatic:driftwood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "upgrade_aquatic:stripped_driftwood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/upgrade_aquatic/driftwood_log.json b/src/generated/resources/data/create/recipe/cutting/compat/upgrade_aquatic/driftwood_log.json deleted file mode 100644 index 3f4f0e58ec..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/upgrade_aquatic/driftwood_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "upgrade_aquatic" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "upgrade_aquatic:driftwood_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "upgrade_aquatic:stripped_driftwood_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/upgrade_aquatic/river_log.json b/src/generated/resources/data/create/recipe/cutting/compat/upgrade_aquatic/river_log.json deleted file mode 100644 index e7770f32c4..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/upgrade_aquatic/river_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "upgrade_aquatic" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "upgrade_aquatic:river_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "upgrade_aquatic:stripped_river_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/upgrade_aquatic/river_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/upgrade_aquatic/river_wood.json deleted file mode 100644 index 9e0407d20d..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/upgrade_aquatic/river_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "upgrade_aquatic" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "upgrade_aquatic:river_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "upgrade_aquatic:stripped_river_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/upgrade_aquatic/stripped_driftwood.json b/src/generated/resources/data/create/recipe/cutting/compat/upgrade_aquatic/stripped_driftwood.json deleted file mode 100644 index cd374cfd87..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/upgrade_aquatic/stripped_driftwood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "upgrade_aquatic" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "upgrade_aquatic:stripped_driftwood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "upgrade_aquatic:driftwood_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/upgrade_aquatic/stripped_driftwood_log.json b/src/generated/resources/data/create/recipe/cutting/compat/upgrade_aquatic/stripped_driftwood_log.json deleted file mode 100644 index 1a6d583e9b..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/upgrade_aquatic/stripped_driftwood_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "upgrade_aquatic" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "upgrade_aquatic:stripped_driftwood_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "upgrade_aquatic:driftwood_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/upgrade_aquatic/stripped_river_log.json b/src/generated/resources/data/create/recipe/cutting/compat/upgrade_aquatic/stripped_river_log.json deleted file mode 100644 index a9bacb53ef..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/upgrade_aquatic/stripped_river_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "upgrade_aquatic" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "upgrade_aquatic:stripped_river_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "upgrade_aquatic:river_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/upgrade_aquatic/stripped_river_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/upgrade_aquatic/stripped_river_wood.json deleted file mode 100644 index ed307d3ee1..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/upgrade_aquatic/stripped_river_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "upgrade_aquatic" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "upgrade_aquatic:stripped_river_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "upgrade_aquatic:river_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/windswept/chestnut_log.json b/src/generated/resources/data/create/recipe/cutting/compat/windswept/chestnut_log.json deleted file mode 100644 index 05a2324923..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/windswept/chestnut_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "windswept" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "windswept:chestnut_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "windswept:stripped_chestnut_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/windswept/chestnut_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/windswept/chestnut_wood.json deleted file mode 100644 index c0c94261d7..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/windswept/chestnut_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "windswept" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "windswept:chestnut_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "windswept:stripped_chestnut_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/windswept/holly_log.json b/src/generated/resources/data/create/recipe/cutting/compat/windswept/holly_log.json deleted file mode 100644 index 95108887d0..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/windswept/holly_log.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "windswept" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "windswept:holly_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "windswept:stripped_holly_log" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/windswept/holly_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/windswept/holly_wood.json deleted file mode 100644 index de0d8c5732..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/windswept/holly_wood.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "windswept" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "windswept:holly_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "item": "windswept:stripped_holly_wood" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/windswept/stripped_chestnut_log.json b/src/generated/resources/data/create/recipe/cutting/compat/windswept/stripped_chestnut_log.json deleted file mode 100644 index 35d0ee95a5..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/windswept/stripped_chestnut_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "windswept" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "windswept:stripped_chestnut_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "windswept:chestnut_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/windswept/stripped_chestnut_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/windswept/stripped_chestnut_wood.json deleted file mode 100644 index 07aafb25e5..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/windswept/stripped_chestnut_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "windswept" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "windswept:stripped_chestnut_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "windswept:chestnut_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/windswept/stripped_holly_log.json b/src/generated/resources/data/create/recipe/cutting/compat/windswept/stripped_holly_log.json deleted file mode 100644 index 9d1f95ed4a..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/windswept/stripped_holly_log.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "windswept" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "windswept:stripped_holly_log" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "windswept:holly_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipe/cutting/compat/windswept/stripped_holly_wood.json b/src/generated/resources/data/create/recipe/cutting/compat/windswept/stripped_holly_wood.json deleted file mode 100644 index d64fefd030..0000000000 --- a/src/generated/resources/data/create/recipe/cutting/compat/windswept/stripped_holly_wood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "windswept" - } - ], - "type": "create:cutting", - "ingredients": [ - { - "type": "neoforge:compound", - "ingredients": [ - { - "item": "windswept:stripped_holly_wood" - } - ] - } - ], - "processingTime": 50, - "results": [ - { - "count": 6, - "item": "windswept:holly_planks" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/tags/item/invalid_for_track_paving.json b/src/generated/resources/data/create/tags/item/invalid_for_track_paving.json new file mode 100644 index 0000000000..1f658f8b9a --- /dev/null +++ b/src/generated/resources/data/create/tags/item/invalid_for_track_paving.json @@ -0,0 +1,6 @@ +{ + "values": [ + "create:wooden_bracket", + "create:metal_bracket" + ] +} \ No newline at end of file diff --git a/src/main/java-templates/com/simibubi/create/CreateBuildInfo.java.peb b/src/main/java-templates/com/simibubi/create/CreateBuildInfo.java.peb new file mode 100644 index 0000000000..bb1dfd9ebc --- /dev/null +++ b/src/main/java-templates/com/simibubi/create/CreateBuildInfo.java.peb @@ -0,0 +1,6 @@ +package com.simibubi.create; + +public class CreateBuildInfo { + public static String VERSION = "{{ version }}"; + public static String GIT_COMMIT = {{ gitCommit }}; +} diff --git a/src/main/java/com/simibubi/create/AllBlockEntityTypes.java b/src/main/java/com/simibubi/create/AllBlockEntityTypes.java index dab50e6d20..7333b43e45 100644 --- a/src/main/java/com/simibubi/create/AllBlockEntityTypes.java +++ b/src/main/java/com/simibubi/create/AllBlockEntityTypes.java @@ -45,7 +45,6 @@ import com.simibubi.create.content.decoration.steamWhistle.WhistleBlockEntity; import com.simibubi.create.content.decoration.steamWhistle.WhistleRenderer; import com.simibubi.create.content.equipment.armor.BacktankBlockEntity; import com.simibubi.create.content.equipment.armor.BacktankRenderer; -import com.simibubi.create.content.equipment.armor.BacktankVisual; import com.simibubi.create.content.equipment.bell.BellRenderer; import com.simibubi.create.content.equipment.bell.HauntedBellBlockEntity; import com.simibubi.create.content.equipment.bell.PeculiarBellBlockEntity; @@ -65,20 +64,17 @@ import com.simibubi.create.content.fluids.pipes.valve.FluidValveBlockEntity; import com.simibubi.create.content.fluids.pipes.valve.FluidValveRenderer; import com.simibubi.create.content.fluids.pipes.valve.FluidValveVisual; import com.simibubi.create.content.fluids.pump.PumpBlockEntity; -import com.simibubi.create.content.fluids.pump.PumpCogVisual; import com.simibubi.create.content.fluids.pump.PumpRenderer; import com.simibubi.create.content.fluids.spout.SpoutBlockEntity; import com.simibubi.create.content.fluids.spout.SpoutRenderer; import com.simibubi.create.content.fluids.tank.CreativeFluidTankBlockEntity; import com.simibubi.create.content.fluids.tank.FluidTankBlockEntity; import com.simibubi.create.content.fluids.tank.FluidTankRenderer; -import com.simibubi.create.content.kinetics.base.HalfShaftVisual; -import com.simibubi.create.content.kinetics.base.HorizontalHalfShaftVisual; import com.simibubi.create.content.kinetics.base.KineticBlockEntity; import com.simibubi.create.content.kinetics.base.KineticBlockEntityRenderer; +import com.simibubi.create.content.kinetics.base.OrientedRotatingVisual; import com.simibubi.create.content.kinetics.base.ShaftRenderer; -import com.simibubi.create.content.kinetics.base.ShaftVisual; -import com.simibubi.create.content.kinetics.base.SingleRotatingVisual; +import com.simibubi.create.content.kinetics.base.SingleAxisRotatingVisual; import com.simibubi.create.content.kinetics.belt.BeltBlockEntity; import com.simibubi.create.content.kinetics.belt.BeltRenderer; import com.simibubi.create.content.kinetics.belt.BeltVisual; @@ -90,11 +86,11 @@ import com.simibubi.create.content.kinetics.clock.CuckooClockBlockEntity; import com.simibubi.create.content.kinetics.clock.CuckooClockRenderer; import com.simibubi.create.content.kinetics.crafter.MechanicalCrafterBlockEntity; import com.simibubi.create.content.kinetics.crafter.MechanicalCrafterRenderer; -import com.simibubi.create.content.kinetics.crafter.ShaftlessCogwheelVisual; import com.simibubi.create.content.kinetics.crank.HandCrankBlockEntity; import com.simibubi.create.content.kinetics.crank.HandCrankRenderer; import com.simibubi.create.content.kinetics.crank.HandCrankVisual; import com.simibubi.create.content.kinetics.crank.ValveHandleBlockEntity; +import com.simibubi.create.content.kinetics.crank.ValveHandleVisual; import com.simibubi.create.content.kinetics.crusher.CrushingWheelBlockEntity; import com.simibubi.create.content.kinetics.crusher.CrushingWheelControllerBlockEntity; import com.simibubi.create.content.kinetics.deployer.DeployerBlockEntity; @@ -102,7 +98,6 @@ import com.simibubi.create.content.kinetics.deployer.DeployerRenderer; import com.simibubi.create.content.kinetics.deployer.DeployerVisual; import com.simibubi.create.content.kinetics.drill.DrillBlockEntity; import com.simibubi.create.content.kinetics.drill.DrillRenderer; -import com.simibubi.create.content.kinetics.drill.DrillVisual; import com.simibubi.create.content.kinetics.fan.EncasedFanBlockEntity; import com.simibubi.create.content.kinetics.fan.EncasedFanRenderer; import com.simibubi.create.content.kinetics.fan.FanVisual; @@ -122,7 +117,6 @@ import com.simibubi.create.content.kinetics.mechanicalArm.ArmBlockEntity; import com.simibubi.create.content.kinetics.mechanicalArm.ArmRenderer; import com.simibubi.create.content.kinetics.mechanicalArm.ArmVisual; import com.simibubi.create.content.kinetics.millstone.MillstoneBlockEntity; -import com.simibubi.create.content.kinetics.millstone.MillstoneCogVisual; import com.simibubi.create.content.kinetics.millstone.MillstoneRenderer; import com.simibubi.create.content.kinetics.mixer.MechanicalMixerBlockEntity; import com.simibubi.create.content.kinetics.mixer.MechanicalMixerRenderer; @@ -258,14 +252,14 @@ public class AllBlockEntityTypes { // Kinetics public static final BlockEntityEntry BRACKETED_KINETIC = REGISTRATE .blockEntity("simple_kinetic", BracketedKineticBlockEntity::new) - .visual(() -> BracketedKineticBlockEntityVisual::new, false) + .visual(() -> BracketedKineticBlockEntityVisual::create, false) .validBlocks(AllBlocks.SHAFT, AllBlocks.COGWHEEL, AllBlocks.LARGE_COGWHEEL) .renderer(() -> BracketedKineticBlockEntityRenderer::new) .register(); public static final BlockEntityEntry MOTOR = REGISTRATE .blockEntity("motor", CreativeMotorBlockEntity::new) - .visual(() -> HalfShaftVisual::new, false) + .visual(() -> OrientedRotatingVisual.of(AllPartialModels.SHAFT_HALF), false) .validBlocks(AllBlocks.CREATIVE_MOTOR) .renderer(() -> CreativeMotorRenderer::new) .register(); @@ -279,7 +273,7 @@ public class AllBlockEntityTypes { public static final BlockEntityEntry ENCASED_SHAFT = REGISTRATE .blockEntity("encased_shaft", KineticBlockEntity::new) - .visual(() -> ShaftVisual::new, false) + .visual(() -> SingleAxisRotatingVisual::shaft, false) .validBlocks(AllBlocks.ANDESITE_ENCASED_SHAFT, AllBlocks.BRASS_ENCASED_SHAFT, AllBlocks.ENCASED_CHAIN_DRIVE, AllBlocks.METAL_GIRDER_ENCASED_SHAFT) .renderer(() -> ShaftRenderer::new) @@ -301,7 +295,7 @@ public class AllBlockEntityTypes { public static final BlockEntityEntry ADJUSTABLE_CHAIN_GEARSHIFT = REGISTRATE .blockEntity("adjustable_chain_gearshift", ChainGearshiftBlockEntity::new) - .visual(() -> ShaftVisual::new, false) + .visual(() -> SingleAxisRotatingVisual::shaft, false) .validBlocks(AllBlocks.ADJUSTABLE_CHAIN_GEARSHIFT) .renderer(() -> ShaftRenderer::new) .register(); @@ -335,7 +329,7 @@ public class AllBlockEntityTypes { public static final BlockEntityEntry TURNTABLE = REGISTRATE .blockEntity("turntable", TurntableBlockEntity::new) - .visual(() -> SingleRotatingVisual::new, false) + .visual(() -> SingleAxisRotatingVisual.of(AllPartialModels.TURNTABLE), false) .validBlocks(AllBlocks.TURNTABLE) .renderer(() -> KineticBlockEntityRenderer::new) .register(); @@ -349,7 +343,7 @@ public class AllBlockEntityTypes { public static final BlockEntityEntry VALVE_HANDLE = REGISTRATE .blockEntity("valve_handle", ValveHandleBlockEntity::new) - .visual(() -> HandCrankVisual::new) + .visual(() -> ValveHandleVisual::new) .validBlocks(AllBlocks.COPPER_VALVE_HANDLE) .validBlocks(AllBlocks.DYED_VALVE_HANDLES.toArray()) .renderer(() -> HandCrankRenderer::new) @@ -357,14 +351,14 @@ public class AllBlockEntityTypes { public static final BlockEntityEntry CUCKOO_CLOCK = REGISTRATE .blockEntity("cuckoo_clock", CuckooClockBlockEntity::new) - .visual(() -> HorizontalHalfShaftVisual::new) + .visual(() -> OrientedRotatingVisual.backHorizontal(AllPartialModels.SHAFT_HALF)) .validBlocks(AllBlocks.CUCKOO_CLOCK, AllBlocks.MYSTERIOUS_CUCKOO_CLOCK) .renderer(() -> CuckooClockRenderer::new) .register(); public static final BlockEntityEntry GANTRY_SHAFT = REGISTRATE .blockEntity("gantry_shaft", GantryShaftBlockEntity::new) - .visual(() -> SingleRotatingVisual::new, false) + .visual(() -> OrientedRotatingVisual::gantryShaft, false) .validBlocks(AllBlocks.GANTRY_SHAFT) .renderer(() -> KineticBlockEntityRenderer::new) .register(); @@ -385,7 +379,7 @@ public class AllBlockEntityTypes { public static final BlockEntityEntry MECHANICAL_PUMP = REGISTRATE .blockEntity("mechanical_pump", PumpBlockEntity::new) - .visual(() -> PumpCogVisual::new) + .visual(() -> SingleAxisRotatingVisual.ofZ(AllPartialModels.MECHANICAL_PUMP_COG)) .validBlocks(AllBlocks.MECHANICAL_PUMP) .renderer(() -> PumpRenderer::new) .register(); @@ -506,7 +500,7 @@ public class AllBlockEntityTypes { .validBlocks(AllBlocks.PACKAGER) .renderer(() -> PackagerRenderer::new) .register(); - + public static final BlockEntityEntry REPACKAGER = REGISTRATE .blockEntity("repackager", RepackagerBlockEntity::new) .validBlocks(AllBlocks.REPACKAGER) @@ -552,7 +546,7 @@ public class AllBlockEntityTypes { public static final BlockEntityEntry MECHANICAL_PISTON = REGISTRATE .blockEntity("mechanical_piston", MechanicalPistonBlockEntity::new) - .visual(() -> ShaftVisual::new, false) + .visual(() -> SingleAxisRotatingVisual::shaft, false) .validBlocks(AllBlocks.MECHANICAL_PISTON, AllBlocks.STICKY_MECHANICAL_PISTON) .renderer(() -> MechanicalPistonRenderer::new) .register(); @@ -618,7 +612,7 @@ public class AllBlockEntityTypes { public static final BlockEntityEntry DRILL = REGISTRATE .blockEntity("drill", DrillBlockEntity::new) - .visual(() -> DrillVisual::new, false) + .visual(() -> OrientedRotatingVisual.of(AllPartialModels.DRILL_HEAD), false) .validBlocks(AllBlocks.MECHANICAL_DRILL) .renderer(() -> DrillRenderer::new) .register(); @@ -673,7 +667,7 @@ public class AllBlockEntityTypes { public static final BlockEntityEntry POWERED_SHAFT = REGISTRATE .blockEntity("powered_shaft", PoweredShaftBlockEntity::new) - .visual(() -> SingleRotatingVisual::new, false) + .visual(() -> SingleAxisRotatingVisual.of(AllPartialModels.POWERED_SHAFT), false) .validBlocks(AllBlocks.POWERED_SHAFT) .renderer(() -> KineticBlockEntityRenderer::new) .register(); @@ -687,14 +681,14 @@ public class AllBlockEntityTypes { public static final BlockEntityEntry MILLSTONE = REGISTRATE .blockEntity("millstone", MillstoneBlockEntity::new) - .visual(() -> MillstoneCogVisual::new, false) + .visual(() -> SingleAxisRotatingVisual.of(AllPartialModels.MILLSTONE_COG), false) .validBlocks(AllBlocks.MILLSTONE) .renderer(() -> MillstoneRenderer::new) .register(); public static final BlockEntityEntry CRUSHING_WHEEL = REGISTRATE .blockEntity("crushing_wheel", CrushingWheelBlockEntity::new) - .visual(() -> SingleRotatingVisual::new, false) + .visual(() -> SingleAxisRotatingVisual.of(AllPartialModels.CRUSHING_WHEEL), false) .validBlocks(AllBlocks.CRUSHING_WHEEL) .renderer(() -> KineticBlockEntityRenderer::new) .register(); @@ -756,7 +750,7 @@ public class AllBlockEntityTypes { public static final BlockEntityEntry MECHANICAL_CRAFTER = REGISTRATE .blockEntity("mechanical_crafter", MechanicalCrafterBlockEntity::new) - .visual(() -> ShaftlessCogwheelVisual::new) + .visual(() -> SingleAxisRotatingVisual.of(AllPartialModels.SHAFTLESS_COGWHEEL)) .validBlocks(AllBlocks.MECHANICAL_CRAFTER) .renderer(() -> MechanicalCrafterRenderer::new) .register(); @@ -770,7 +764,7 @@ public class AllBlockEntityTypes { public static final BlockEntityEntry ROTATION_SPEED_CONTROLLER = REGISTRATE .blockEntity("rotation_speed_controller", SpeedControllerBlockEntity::new) - .visual(() -> ShaftVisual::new) + .visual(() -> SingleAxisRotatingVisual::shaft) .validBlocks(AllBlocks.ROTATION_SPEED_CONTROLLER) .renderer(() -> SpeedControllerRenderer::new) .register(); @@ -905,7 +899,7 @@ public class AllBlockEntityTypes { // Curiosities public static final BlockEntityEntry BACKTANK = REGISTRATE .blockEntity("backtank", BacktankBlockEntity::new) - .visual(() -> BacktankVisual::new) + .visual(() -> SingleAxisRotatingVisual::backtank) .validBlocks(AllBlocks.COPPER_BACKTANK, AllBlocks.NETHERITE_BACKTANK) .renderer(() -> BacktankRenderer::new) .register(); @@ -974,7 +968,7 @@ public class AllBlockEntityTypes { public static final BlockEntityEntry FLAP_DISPLAY = REGISTRATE .blockEntity("flap_display", FlapDisplayBlockEntity::new) - .visual(() -> ShaftlessCogwheelVisual::new) + .visual(() -> SingleAxisRotatingVisual.of(AllPartialModels.SHAFTLESS_COGWHEEL)) .renderer(() -> FlapDisplayRenderer::new) .validBlocks(AllBlocks.DISPLAY_BOARD) .register(); diff --git a/src/main/java/com/simibubi/create/AllBlocks.java b/src/main/java/com/simibubi/create/AllBlocks.java index 8c073b57ae..d36c50e253 100644 --- a/src/main/java/com/simibubi/create/AllBlocks.java +++ b/src/main/java/com/simibubi/create/AllBlocks.java @@ -870,6 +870,7 @@ public class AllBlocks { .properties(p -> p.sound(SoundType.SCAFFOLDING)) .transform(axeOrPickaxe()) .item(BracketBlockItem::new) + .tag(AllItemTags.INVALID_FOR_TRACK_PAVING.tag) .transform(BracketGenerator.itemModel("wooden")) .register(); @@ -878,6 +879,7 @@ public class AllBlocks { .properties(p -> p.sound(SoundType.NETHERITE_BLOCK)) .transform(pickaxeOnly()) .item(BracketBlockItem::new) + .tag(AllItemTags.INVALID_FOR_TRACK_PAVING.tag) .transform(BracketGenerator.itemModel("metal")) .register(); diff --git a/src/main/java/com/simibubi/create/AllKeys.java b/src/main/java/com/simibubi/create/AllKeys.java index afb3a083ba..fb7cfbbbdb 100644 --- a/src/main/java/com/simibubi/create/AllKeys.java +++ b/src/main/java/com/simibubi/create/AllKeys.java @@ -13,25 +13,39 @@ import net.neoforged.api.distmarker.Dist; import net.neoforged.bus.api.SubscribeEvent; import net.neoforged.neoforge.client.event.RegisterKeyMappingsEvent; +import java.util.function.BiConsumer; + @EventBusSubscriber(value = Dist.CLIENT, bus = EventBusSubscriber.Bus.MOD) public enum AllKeys { - TOOL_MENU("toolmenu", GLFW.GLFW_KEY_LEFT_ALT), - ACTIVATE_TOOL("", GLFW.GLFW_KEY_LEFT_CONTROL), - TOOLBELT("toolbelt", GLFW.GLFW_KEY_LEFT_ALT), - ROTATE_MENU("rotate_menu", GLFW.GLFW_KEY_UNKNOWN), + TOOL_MENU("toolmenu", GLFW.GLFW_KEY_LEFT_ALT, "Focus Schematic Overlay"), + ACTIVATE_TOOL(GLFW.GLFW_KEY_LEFT_CONTROL), + TOOLBELT("toolbelt", GLFW.GLFW_KEY_LEFT_ALT, "Access Nearby Toolboxes"), + ROTATE_MENU("rotate_menu", GLFW.GLFW_KEY_UNKNOWN, "Open Block Rotation Menu"), ; private KeyMapping keybind; - private String description; - private int key; - private boolean modifiable; + private final String description; + private final String translation; + private final int key; + private final boolean modifiable; - private AllKeys(String description, int defaultKey) { + AllKeys(int defaultKey) { + this("", defaultKey, ""); + } + + AllKeys(String description, int defaultKey, String translation) { this.description = Create.ID + ".keyinfo." + description; this.key = defaultKey; this.modifiable = !description.isEmpty(); + this.translation = translation; + } + + public static void provideLang(BiConsumer consumer) { + for (AllKeys key : values()) + if (key.modifiable) + consumer.accept(key.description, key.translation); } @SubscribeEvent diff --git a/src/main/java/com/simibubi/create/AllPartialModels.java b/src/main/java/com/simibubi/create/AllPartialModels.java index 553a6ec264..6caf89e1df 100644 --- a/src/main/java/com/simibubi/create/AllPartialModels.java +++ b/src/main/java/com/simibubi/create/AllPartialModels.java @@ -7,6 +7,7 @@ import java.util.List; import java.util.Map; import com.simibubi.create.content.fluids.FluidTransportBehaviour; +import com.simibubi.create.content.kinetics.gantry.GantryShaftBlock; import com.simibubi.create.content.logistics.box.PackageStyles; import com.simibubi.create.content.logistics.box.PackageStyles.PackageStyle; @@ -26,6 +27,8 @@ public class AllPartialModels { SHAFTLESS_COGWHEEL = block("cogwheel_shaftless"), SHAFTLESS_LARGE_COGWHEEL = block("large_cogwheel_shaftless"), COGWHEEL_SHAFT = block("cogwheel_shaft"), SHAFT_HALF = block("shaft_half"), + SHAFT = block("shaft"), + COGWHEEL = block("cogwheel"), BELT_PULLEY = block("belt_pulley"), BELT_START = block("belt/start"), BELT_MIDDLE = block("belt/middle"), BELT_END = block("belt/end"), BELT_START_BOTTOM = block("belt/start_bottom"), @@ -38,6 +41,8 @@ public class AllPartialModels { BRASS_BELT_COVER_Z = block("belt_cover/brass_belt_cover_z"), ENCASED_FAN_INNER = block("encased_fan/propeller"), HAND_CRANK_HANDLE = block("hand_crank/handle"), + HAND_CRANK_BASE = block("hand_crank/block"), + VALVE_HANDLE = block("valve_handle"), MECHANICAL_PRESS_HEAD = block("mechanical_press/head"), MECHANICAL_MIXER_POLE = block("mechanical_mixer/pole"), MECHANICAL_MIXER_HEAD = block("mechanical_mixer/head"), MECHANICAL_CRAFTER_LID = block("mechanical_crafter/lid"), @@ -71,6 +76,8 @@ public class AllPartialModels { ROPE_COIL = block("rope_pulley/rope_coil"), ROPE_HALF = block("rope_pulley/rope_half"), ROPE_HALF_MAGNET = block("rope_pulley/rope_half_magnet"), + ROPE = block("rope_pulley/rope"), + PULLEY_MAGNET = block("rope_pulley/pulley_magnet"), HOSE_COIL = block("hose_pulley/hose_coil"), HOSE = block("hose_pulley/rope"), HOSE_MAGNET = block("hose_pulley/pulley_magnet"), HOSE_HALF = block("hose_pulley/rope_half"), @@ -85,7 +92,7 @@ public class AllPartialModels { SYMMETRY_TRIPLEPLANE = block("symmetry_effect/tripleplane"), STICKER_HEAD = block("sticker/head"), - + DESK_BELL_PLUNGER = block("desk_bell/plunger"), DESK_BELL_BELL = block("desk_bell/bell"), @@ -127,7 +134,7 @@ public class AllPartialModels { PACKAGER_TRAY_REGULAR = block("packager/tray"), PACKAGER_TRAY_DEFRAG = block("repackager/tray"), PACKAGER_HATCH_OPEN = block("packager/hatch_open"), PACKAGER_HATCH_CLOSED = block("packager/hatch_closed"), - + TABLE_CLOTH_PRICE_SIDE = block("table_cloth/price_tag_side"), TABLE_CLOTH_PRICE_TOP = block("table_cloth/price_tag_top"), @@ -187,7 +194,7 @@ public class AllPartialModels { WATER_WHEEL = block("water_wheel/wheel"), LARGE_WATER_WHEEL = block("large_water_wheel/block"), LARGE_WATER_WHEEL_EXTENSION = block("large_water_wheel/block_extension"), - + FACTORY_PANEL = block("factory_gauge/panel"), FACTORY_PANEL_WITH_BULB = block("factory_gauge/panel_with_bulb"), FACTORY_PANEL_RESTOCKER = block("factory_gauge/panel_restocker"), @@ -199,7 +206,16 @@ public class AllPartialModels { TABLE_CLOTH_NE = block("table_cloth/north_east"), TABLE_CLOTH_SW = block("table_cloth/south_west"), TABLE_CLOTH_SE = block("table_cloth/south_east"), - + + FLYWHEEL = block("flywheel/block"), + CRUSHING_WHEEL = block("crushing_wheel/block"), + TURNTABLE = block("turntable"), + GANTRY_SHAFT_START = block("gantry_shaft/block_start"), + GANTRY_SHAFT_END = block("gantry_shaft/block_end"), + GANTRY_SHAFT_MIDDLE = block("gantry_shaft/block_middle"), + GANTRY_SHAFT_SINGLE = block("gantry_shaft/block_single"), + POWERED_SHAFT = block("powered_shaft"), + CRAFTING_BLUEPRINT_1x1 = entity("crafting_blueprint_small"), CRAFTING_BLUEPRINT_2x2 = entity("crafting_blueprint_medium"), CRAFTING_BLUEPRINT_3x3 = entity("crafting_blueprint_large"), @@ -217,7 +233,7 @@ public class AllPartialModels { public static final Map FACTORY_PANEL_ARROWS = new EnumMap<>(Direction.class); public static final Map FACTORY_PANEL_LINES = new EnumMap<>(Direction.class); public static final Map FACTORY_PANEL_DOTTED = new EnumMap<>(Direction.class); - + public static final Map METAL_GIRDER_BRACKETS = new EnumMap<>(Direction.class); public static final Map TOOLBOX_LIDS = new EnumMap<>(DyeColor.class); public static final Map> FOLDING_DOORS = new HashMap<>(); @@ -227,6 +243,8 @@ public class AllPartialModels { public static final List PACKAGES_TO_HIDE_AS = new ArrayList<>(); public static final Map PACKAGE_RIGGING = new HashMap<>(); + public static final Map GANTRY_SHAFTS = new HashMap<>(); + static { for (FluidTransportBehaviour.AttachmentTypes.ComponentPartials type : FluidTransportBehaviour.AttachmentTypes.ComponentPartials .values()) { @@ -259,6 +277,31 @@ public class AllPartialModels { PACKAGES_TO_HIDE_AS.add(model); PACKAGE_RIGGING.put(key, PartialModel.of(style.getRiggingModel())); } + + for (boolean flipped : Iterate.trueAndFalse) { + for (boolean powered : Iterate.trueAndFalse) { + for (GantryShaftBlock.Part part : GantryShaftBlock.Part.values()) { + GantryShaftKey key = new GantryShaftKey(part, powered, flipped); + GANTRY_SHAFTS.put(key, PartialModel.of(key.name())); + } + } + } + } + + public record GantryShaftKey(GantryShaftBlock.Part part, boolean powered, boolean flipped) { + private ResourceLocation name() { + String partName = part.getSerializedName(); + + if (!(flipped || powered)) { + // Non-generated + return Create.asResource("block/gantry_shaft/block_" + partName); + } + + String flipped = this.flipped ? "_flipped" : ""; + String powered = this.powered ? "_powered" : ""; + + return Create.asResource("block/gantry_shaft_" + partName + powered + flipped); + } } private static void putFoldingDoor(String path) { diff --git a/src/main/java/com/simibubi/create/AllTags.java b/src/main/java/com/simibubi/create/AllTags.java index b1d34c085d..8bbeea0e83 100644 --- a/src/main/java/com/simibubi/create/AllTags.java +++ b/src/main/java/com/simibubi/create/AllTags.java @@ -168,6 +168,7 @@ public class AllTags { CONTRAPTION_CONTROLLED, CREATE_INGOTS, CRUSHED_RAW_MATERIALS, + INVALID_FOR_TRACK_PAVING, DEPLOYABLE_DRINK, PRESSURIZED_AIR_SOURCES, SANDPAPER, diff --git a/src/main/java/com/simibubi/create/Create.java b/src/main/java/com/simibubi/create/Create.java index ea93b96311..c40ef3934c 100644 --- a/src/main/java/com/simibubi/create/Create.java +++ b/src/main/java/com/simibubi/create/Create.java @@ -4,6 +4,8 @@ import java.util.Random; import org.slf4j.Logger; +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; import com.mojang.logging.LogUtils; import com.simibubi.create.api.behaviour.BlockSpoutingBehaviour; import com.simibubi.create.compat.Mods; @@ -48,6 +50,7 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.Entity; import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.level.Level; + import net.neoforged.bus.api.EventPriority; import net.neoforged.bus.api.IEventBus; import net.neoforged.fml.ModContainer; @@ -59,13 +62,15 @@ import net.neoforged.neoforge.registries.RegisterEvent; @Mod(Create.ID) public class Create { - public static final String ID = "create"; public static final String NAME = "Create"; - public static final String VERSION = "0.5.2-experimental"; public static final Logger LOGGER = LogUtils.getLogger(); + public static final Gson GSON = new GsonBuilder().setPrettyPrinting() + .disableHtmlEscaping() + .create(); + /** Use the {@link Random} of a local {@link Level} or {@link Entity} or create one */ @Deprecated public static final Random RANDOM = new Random(); @@ -96,6 +101,7 @@ public class Create { } public static void onCtor(IEventBus modEventBus, ModContainer modContainer) { + LOGGER.info("{} {} initializing! Commit hash: {}", NAME, CreateBuildInfo.VERSION, CreateBuildInfo.GIT_COMMIT); ModLoadingContext modLoadingContext = ModLoadingContext.get(); REGISTRATE.registerEventListeners(modEventBus); @@ -185,5 +191,4 @@ public class Create { public static ResourceLocation asResource(String path) { return ResourceLocation.fromNamespaceAndPath(ID, path); } - } diff --git a/src/main/java/com/simibubi/create/compat/jei/CreateJEI.java b/src/main/java/com/simibubi/create/compat/jei/CreateJEI.java index 159d6b29b2..1cd0da4949 100644 --- a/src/main/java/com/simibubi/create/compat/jei/CreateJEI.java +++ b/src/main/java/com/simibubi/create/compat/jei/CreateJEI.java @@ -237,15 +237,6 @@ public class CreateJEI implements IModPlugin { .emptyBackground(177, 70) .build("block_cutting", BlockCuttingCategory::new), - woodCutting = builder(CondensedBlockCuttingRecipe.class) - .enableIf(c -> c.allowWoodcuttingOnSaw.get() && ModList.get() - .isLoaded("druidcraft")) - .addRecipes(() -> BlockCuttingCategory.condenseRecipes(getTypedRecipesExcluding(SawBlockEntity.woodcuttingRecipeType.get(), AllRecipeTypes::shouldIgnoreInAutomation))) - .catalyst(AllBlocks.MECHANICAL_SAW::get) - .doubleItemIcon(AllBlocks.MECHANICAL_SAW.get(), Items.OAK_STAIRS) - .emptyBackground(177, 70) - .build("wood_cutting", BlockCuttingCategory::new), - polishing = builder(SandPaperPolishingRecipe.class) .addTypedRecipes(AllRecipeTypes.SANDPAPER_POLISHING) .catalyst(AllItems.SAND_PAPER::get) diff --git a/src/main/java/com/simibubi/create/content/contraptions/bearing/BearingVisual.java b/src/main/java/com/simibubi/create/content/contraptions/bearing/BearingVisual.java index 3678eb8998..1214f972a8 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/bearing/BearingVisual.java +++ b/src/main/java/com/simibubi/create/content/contraptions/bearing/BearingVisual.java @@ -6,8 +6,8 @@ import org.joml.Quaternionf; import com.mojang.math.Axis; import com.simibubi.create.AllPartialModels; -import com.simibubi.create.content.kinetics.base.BackHalfShaftVisual; import com.simibubi.create.content.kinetics.base.KineticBlockEntity; +import com.simibubi.create.content.kinetics.base.OrientedRotatingVisual; import dev.engine_room.flywheel.api.instance.Instance; import dev.engine_room.flywheel.api.visual.DynamicVisual; @@ -21,14 +21,14 @@ import net.createmod.catnip.utility.math.AngleHelper; import net.minecraft.core.Direction; import net.minecraft.world.level.block.state.properties.BlockStateProperties; -public class BearingVisual extends BackHalfShaftVisual implements SimpleDynamicVisual { +public class BearingVisual extends OrientedRotatingVisual implements SimpleDynamicVisual { final OrientedInstance topInstance; final Axis rotationAxis; final Quaternionf blockOrientation; public BearingVisual(VisualizationContext context, B blockEntity, float partialTick) { - super(context, blockEntity, partialTick); + super(context, blockEntity, partialTick, Direction.SOUTH, blockEntity.getBlockState().getValue(BlockStateProperties.FACING).getOpposite(), Models.partial(AllPartialModels.SHAFT_HALF)); Direction facing = blockState.getValue(BlockStateProperties.FACING); rotationAxis = Axis.of(Direction.get(Direction.AxisDirection.POSITIVE, rotationAxis()).step()); diff --git a/src/main/java/com/simibubi/create/content/contraptions/bearing/StabilizedBearingVisual.java b/src/main/java/com/simibubi/create/content/contraptions/bearing/StabilizedBearingVisual.java index 431aa38023..a0612eed5b 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/bearing/StabilizedBearingVisual.java +++ b/src/main/java/com/simibubi/create/content/contraptions/bearing/StabilizedBearingVisual.java @@ -48,7 +48,7 @@ public class StabilizedBearingVisual extends ActorVisual { .light(blockLight, 0) .setChanged(); - shaft = instancerProvider.instancer(AllInstanceTypes.ROTATING, Models.partial(AllPartialModels.SHAFT_HALF, blockState.getValue(BlockStateProperties.FACING).getOpposite())) + shaft = instancerProvider.instancer(AllInstanceTypes.ROTATING, Models.partial(AllPartialModels.SHAFT_HALF)) .createInstance(); // not rotating so no need to set speed. @@ -56,6 +56,7 @@ public class StabilizedBearingVisual extends ActorVisual { shaft.setRotationAxis(axis) .setRotationOffset(KineticBlockEntityVisual.rotationOffset(blockState, axis, movementContext.localPos)) .setPosition(movementContext.localPos) + .rotateToFace(Direction.SOUTH, blockState.getValue(BlockStateProperties.FACING).getOpposite()) .light(blockLight, 0) .setChanged(); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/elevator/ElevatorPulleyVisual.java b/src/main/java/com/simibubi/create/content/contraptions/elevator/ElevatorPulleyVisual.java index 5678ab1470..ee76dec47f 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/elevator/ElevatorPulleyVisual.java +++ b/src/main/java/com/simibubi/create/content/contraptions/elevator/ElevatorPulleyVisual.java @@ -11,7 +11,7 @@ import com.simibubi.create.content.contraptions.pulley.PulleyRenderer; import com.simibubi.create.content.kinetics.base.ShaftVisual; import com.simibubi.create.content.processing.burner.ScrollInstance; import com.simibubi.create.foundation.render.AllInstanceTypes; -import com.simibubi.create.foundation.render.ShaderLightPartial; +import com.simibubi.create.foundation.render.SpecialModels; import dev.engine_room.flywheel.api.visual.DynamicVisual; import dev.engine_room.flywheel.api.visual.ShaderLightVisual; @@ -54,13 +54,13 @@ public class ElevatorPulleyVisual extends ShaftVisual topSection = SectionPos.of(pos).asLong(); belt = new InstanceRecycler<>(() -> context.instancerProvider() - .instancer(AllInstanceTypes.SCROLLING, ShaderLightPartial.flat(AllPartialModels.ELEVATOR_BELT)) + .instancer(AllInstanceTypes.SCROLLING, SpecialModels.flatLit(AllPartialModels.ELEVATOR_BELT)) .createInstance() .rotation(rotation) .setSpriteShift(AllSpriteShifts.ELEVATOR_BELT)); halfBelt = context.instancerProvider() - .instancer(AllInstanceTypes.SCROLLING, ShaderLightPartial.flat(AllPartialModels.ELEVATOR_BELT_HALF)) + .instancer(AllInstanceTypes.SCROLLING, SpecialModels.flatLit(AllPartialModels.ELEVATOR_BELT_HALF)) .createInstance() .rotation(rotation) .setSpriteShift(AllSpriteShifts.ELEVATOR_BELT); @@ -75,7 +75,7 @@ public class ElevatorPulleyVisual extends ShaftVisual coil.setChanged(); magnet = context.instancerProvider() - .instancer(InstanceTypes.TRANSFORMED, ShaderLightPartial.flat(AllPartialModels.ELEVATOR_MAGNET)) + .instancer(InstanceTypes.TRANSFORMED, SpecialModels.flatLit(AllPartialModels.ELEVATOR_MAGNET)) .createInstance(); // Cache the magnet's transform to avoid recalculating this unchanging bit every frame diff --git a/src/main/java/com/simibubi/create/content/contraptions/pulley/RopePulleyVisual.java b/src/main/java/com/simibubi/create/content/contraptions/pulley/RopePulleyVisual.java index f877d1c652..98ae55a47f 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/pulley/RopePulleyVisual.java +++ b/src/main/java/com/simibubi/create/content/contraptions/pulley/RopePulleyVisual.java @@ -22,12 +22,12 @@ public class RopePulleyVisual extends AbstractPulleyVisual { @Override protected Instancer getRopeModel() { - return instancerProvider().instancer(InstanceTypes.TRANSFORMED, VirtualRenderHelper.blockModel(AllBlocks.ROPE.getDefaultState())); + return instancerProvider().instancer(InstanceTypes.TRANSFORMED, Models.partial(AllPartialModels.ROPE)); } @Override protected Instancer getMagnetModel() { - return instancerProvider().instancer(InstanceTypes.TRANSFORMED, VirtualRenderHelper.blockModel(AllBlocks.PULLEY_MAGNET.getDefaultState())); + return instancerProvider().instancer(InstanceTypes.TRANSFORMED, Models.partial(AllPartialModels.PULLEY_MAGNET)); } @Override @@ -54,10 +54,10 @@ public class RopePulleyVisual extends AbstractPulleyVisual { protected boolean isRunning() { return PulleyRenderer.isPulleyRunning(blockEntity); } - + @Override protected SpriteShiftEntry getCoilAnimation() { return AllSpriteShifts.ROPE_PULLEY_COIL; } - + } diff --git a/src/main/java/com/simibubi/create/content/equipment/armor/BacktankVisual.java b/src/main/java/com/simibubi/create/content/equipment/armor/BacktankVisual.java deleted file mode 100644 index 8f8b9fca87..0000000000 --- a/src/main/java/com/simibubi/create/content/equipment/armor/BacktankVisual.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.simibubi.create.content.equipment.armor; - -import com.simibubi.create.content.kinetics.base.SingleRotatingVisual; - -import dev.engine_room.flywheel.api.model.Model; -import dev.engine_room.flywheel.api.visualization.VisualizationContext; -import dev.engine_room.flywheel.lib.model.Models; - -public class BacktankVisual extends SingleRotatingVisual { - - public BacktankVisual(VisualizationContext context, BacktankBlockEntity blockEntity, float partialTick) { - super(context, blockEntity, partialTick); - } - - @Override - protected Model model() { - return Models.partial(BacktankRenderer.getShaftModel(blockState)); - } -} diff --git a/src/main/java/com/simibubi/create/content/equipment/armor/TrimmableArmorModelGenerator.java b/src/main/java/com/simibubi/create/content/equipment/armor/TrimmableArmorModelGenerator.java index f01b50912f..08009da960 100644 --- a/src/main/java/com/simibubi/create/content/equipment/armor/TrimmableArmorModelGenerator.java +++ b/src/main/java/com/simibubi/create/content/equipment/armor/TrimmableArmorModelGenerator.java @@ -1,8 +1,10 @@ package com.simibubi.create.content.equipment.armor; +import java.lang.invoke.MethodHandles; +import java.lang.invoke.VarHandle; +import java.util.Map; + import com.simibubi.create.Create; -import com.simibubi.create.foundation.mixin.accessor.ItemModelGeneratorsAccessor; -import com.simibubi.create.foundation.mixin.accessor.ModelBuilderAccessor; import com.tterrag.registrate.providers.DataGenContext; import com.tterrag.registrate.providers.RegistrateItemModelProvider; @@ -14,12 +16,24 @@ import net.minecraft.world.item.ArmorItem; import net.minecraft.world.item.Item; import net.neoforged.neoforge.client.model.generators.ItemModelBuilder; +import net.neoforged.neoforge.client.model.generators.ModelBuilder; public class TrimmableArmorModelGenerator { + public static final VarHandle TEXTURES_HANDLE; + + static { + try { + MethodHandles.Lookup lookup = MethodHandles.privateLookupIn(ModelBuilder.class, MethodHandles.lookup()); + TEXTURES_HANDLE = lookup.findVarHandle(ModelBuilder.class, "textures", Map.class); + } catch (IllegalAccessException | NoSuchFieldException e) { + throw new RuntimeException(e); + } + } + public static void generate(DataGenContext c, RegistrateItemModelProvider p) { T item = c.get(); ItemModelBuilder builder = p.generated(c); - for (ItemModelGenerators.TrimModelData data : ItemModelGeneratorsAccessor.create$getGENERATED_TRIM_MODELS()) { + for (ItemModelGenerators.TrimModelData data : ItemModelGenerators.GENERATED_TRIM_MODELS) { ResourceLocation modelLoc = ModelLocationUtils.getModelLocation(item); ResourceLocation textureLoc = TextureMapping.getItemTexture(item); String trimId = data.name(item.getMaterial()); @@ -32,7 +46,8 @@ public class TrimmableArmorModelGenerator { } ItemModelBuilder itemModel = p.withExistingParent(trimModelLoc.getPath(), parent) .texture("layer0", textureLoc); - ((ModelBuilderAccessor) itemModel).create$getTextures().put("layer1", trimLoc.toString()); + Map textures = (Map) TEXTURES_HANDLE.get(itemModel); + textures.put("layer1", trimLoc.toString()); builder.override() .predicate(ItemModelGenerators.TRIM_TYPE_PREDICATE_ID, data.itemModelIndex()) .model(itemModel) diff --git a/src/main/java/com/simibubi/create/content/fluids/pump/PumpCogVisual.java b/src/main/java/com/simibubi/create/content/fluids/pump/PumpCogVisual.java deleted file mode 100644 index c94099d615..0000000000 --- a/src/main/java/com/simibubi/create/content/fluids/pump/PumpCogVisual.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.simibubi.create.content.fluids.pump; - -import com.simibubi.create.AllPartialModels; -import com.simibubi.create.content.kinetics.base.SingleRotatingVisual; - -import dev.engine_room.flywheel.api.model.Model; -import dev.engine_room.flywheel.api.visualization.VisualizationContext; -import dev.engine_room.flywheel.lib.model.Models; -import net.minecraft.core.Direction; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.block.state.properties.BlockStateProperties; - -public class PumpCogVisual extends SingleRotatingVisual { - - public PumpCogVisual(VisualizationContext context, PumpBlockEntity blockEntity, float partialTick) { - super(context, blockEntity, partialTick); - } - - @Override - protected Model model() { - BlockState referenceState = blockEntity.getBlockState(); - Direction facing = referenceState.getValue(BlockStateProperties.FACING); - return Models.partial(AllPartialModels.MECHANICAL_PUMP_COG, facing); - } -} diff --git a/src/main/java/com/simibubi/create/content/kinetics/base/BackHalfShaftVisual.java b/src/main/java/com/simibubi/create/content/kinetics/base/BackHalfShaftVisual.java deleted file mode 100644 index 5a464e698c..0000000000 --- a/src/main/java/com/simibubi/create/content/kinetics/base/BackHalfShaftVisual.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.simibubi.create.content.kinetics.base; - -import dev.engine_room.flywheel.api.visualization.VisualizationContext; -import net.minecraft.core.Direction; -import net.minecraft.world.level.block.state.properties.BlockStateProperties; - -public class BackHalfShaftVisual extends HalfShaftVisual { - public BackHalfShaftVisual(VisualizationContext context, T blockEntity, float partialTick) { - super(context, blockEntity, partialTick); - } - - @Override - protected Direction getShaftDirection() { - return blockState.getValue(BlockStateProperties.FACING).getOpposite(); - } -} diff --git a/src/main/java/com/simibubi/create/content/kinetics/base/HalfShaftVisual.java b/src/main/java/com/simibubi/create/content/kinetics/base/HalfShaftVisual.java deleted file mode 100644 index d20ec91a9d..0000000000 --- a/src/main/java/com/simibubi/create/content/kinetics/base/HalfShaftVisual.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.simibubi.create.content.kinetics.base; - -import com.simibubi.create.AllPartialModels; - -import dev.engine_room.flywheel.api.model.Model; -import dev.engine_room.flywheel.api.visualization.VisualizationContext; -import dev.engine_room.flywheel.lib.model.Models; -import net.minecraft.core.Direction; -import net.minecraft.world.level.block.state.properties.BlockStateProperties; - -public class HalfShaftVisual extends SingleRotatingVisual { - public HalfShaftVisual(VisualizationContext context, T blockEntity, float partialTick) { - super(context, blockEntity, partialTick); - } - - @Override - protected Model model() { - return Models.partial(AllPartialModels.SHAFT_HALF, getShaftDirection()); - } - - protected Direction getShaftDirection() { - return blockState.getValue(BlockStateProperties.FACING); - } -} diff --git a/src/main/java/com/simibubi/create/content/kinetics/base/HorizontalHalfShaftVisual.java b/src/main/java/com/simibubi/create/content/kinetics/base/HorizontalHalfShaftVisual.java deleted file mode 100644 index 48effc0247..0000000000 --- a/src/main/java/com/simibubi/create/content/kinetics/base/HorizontalHalfShaftVisual.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.simibubi.create.content.kinetics.base; - -import dev.engine_room.flywheel.api.visualization.VisualizationContext; -import net.minecraft.core.Direction; -import net.minecraft.world.level.block.state.properties.BlockStateProperties; - -public class HorizontalHalfShaftVisual extends HalfShaftVisual { - - public HorizontalHalfShaftVisual(VisualizationContext context, T blockEntity, float partialTick) { - super(context, blockEntity, partialTick); - } - - @Override - protected Direction getShaftDirection() { - return blockState.getValue(BlockStateProperties.HORIZONTAL_FACING).getOpposite(); - } -} diff --git a/src/main/java/com/simibubi/create/content/kinetics/base/KineticBlockEntityVisual.java b/src/main/java/com/simibubi/create/content/kinetics/base/KineticBlockEntityVisual.java index 528aee931b..6539c7b207 100644 --- a/src/main/java/com/simibubi/create/content/kinetics/base/KineticBlockEntityVisual.java +++ b/src/main/java/com/simibubi/create/content/kinetics/base/KineticBlockEntityVisual.java @@ -1,8 +1,6 @@ package com.simibubi.create.content.kinetics.base; -import com.simibubi.create.AllBlocks; import com.simibubi.create.content.kinetics.simpleRelays.ICogWheel; -import com.simibubi.create.content.kinetics.simpleRelays.ShaftBlock; import dev.engine_room.flywheel.api.visualization.VisualizationContext; import dev.engine_room.flywheel.lib.visual.AbstractBlockEntityVisual; @@ -18,45 +16,37 @@ public abstract class KineticBlockEntityVisual ext } protected final void updateRotation(RotatingInstance instance) { - updateRotation(instance, rotationAxis(), getBlockEntitySpeed()); + instance.setup(blockEntity) + .setChanged(); } protected final void updateRotation(RotatingInstance instance, Direction.Axis axis) { - updateRotation(instance, axis, getBlockEntitySpeed()); + instance.setup(blockEntity, axis) + .setChanged(); } protected final void updateRotation(RotatingInstance instance, float speed) { - updateRotation(instance, rotationAxis(), speed); + instance.setup(blockEntity, speed) + .setChanged(); } protected final void updateRotation(RotatingInstance instance, Direction.Axis axis, float speed) { - instance.setRotationAxis(axis) - .setRotationOffset(getRotationOffset(axis)) - .setRotationalSpeed(speed * RotatingInstance.SPEED_MULTIPLIER) - .setColor(blockEntity) + instance.setup(blockEntity, axis, speed) .setChanged(); } protected final RotatingInstance setup(RotatingInstance key) { - return setup(key, rotationAxis(), getBlockEntitySpeed()); + key.setup(blockEntity).setPosition(getVisualPosition()).setChanged(); + return key; } protected final RotatingInstance setup(RotatingInstance key, Direction.Axis axis) { - return setup(key, axis, getBlockEntitySpeed()); + key.setup(blockEntity, axis).setPosition(getVisualPosition()).setChanged(); + return key; } protected final RotatingInstance setup(RotatingInstance key, float speed) { - return setup(key, rotationAxis(), speed); - } - - protected final RotatingInstance setup(RotatingInstance key, Direction.Axis axis, float speed) { - key.setRotationAxis(axis) - .setRotationalSpeed(speed * RotatingInstance.SPEED_MULTIPLIER) - .setRotationOffset(getRotationOffset(axis)) - .setColor(blockEntity) - .setPosition(getVisualPosition()) - .setChanged(); - + key.setup(blockEntity, speed).setPosition(getVisualPosition()).setChanged(); return key; } @@ -68,14 +58,6 @@ public abstract class KineticBlockEntityVisual ext return rotationAxis(blockState); } - protected float getBlockEntitySpeed() { - return blockEntity.getSpeed(); - } - - protected BlockState shaft() { - return shaft(rotationAxis()); - } - public static float rotationOffset(BlockState state, Axis axis, Vec3i pos) { if (shouldOffset(axis, pos)) { return 22.5f; @@ -95,13 +77,4 @@ public abstract class KineticBlockEntityVisual ext public static Axis rotationAxis(BlockState blockState) { return (blockState.getBlock() instanceof IRotate irotate) ? irotate.getRotationAxis(blockState) : Axis.Y; } - - public static BlockState shaft(Direction.Axis axis) { - return AllBlocks.SHAFT.getDefaultState() - .setValue(ShaftBlock.AXIS, axis); - } - - public static BlockState shaft(BlockState blockState) { - return shaft(rotationAxis(blockState)); - } } diff --git a/src/main/java/com/simibubi/create/content/kinetics/base/OrientedRotatingVisual.java b/src/main/java/com/simibubi/create/content/kinetics/base/OrientedRotatingVisual.java new file mode 100644 index 0000000000..ee358d9280 --- /dev/null +++ b/src/main/java/com/simibubi/create/content/kinetics/base/OrientedRotatingVisual.java @@ -0,0 +1,95 @@ +package com.simibubi.create.content.kinetics.base; + +import java.util.function.Consumer; + +import com.simibubi.create.AllPartialModels; +import com.simibubi.create.AllPartialModels.GantryShaftKey; +import com.simibubi.create.content.kinetics.gantry.GantryShaftBlock; +import com.simibubi.create.content.kinetics.gantry.GantryShaftBlock.Part; +import com.simibubi.create.content.kinetics.gantry.GantryShaftBlockEntity; +import com.simibubi.create.foundation.render.AllInstanceTypes; + +import dev.engine_room.flywheel.api.instance.Instance; +import dev.engine_room.flywheel.api.model.Model; +import dev.engine_room.flywheel.api.visual.BlockEntityVisual; +import dev.engine_room.flywheel.api.visualization.VisualizationContext; +import dev.engine_room.flywheel.lib.model.Models; +import dev.engine_room.flywheel.lib.model.baked.PartialModel; +import dev.engine_room.flywheel.lib.visualization.SimpleBlockEntityVisualizer; +import net.minecraft.core.Direction; +import net.minecraft.core.Direction.AxisDirection; +import net.minecraft.world.level.block.state.properties.BlockStateProperties; +import net.minecraft.world.level.block.state.properties.Property; + +public class OrientedRotatingVisual extends KineticBlockEntityVisual { + protected final RotatingInstance rotatingModel; + + /** + * @param from The source model orientation to rotate away from. + * @param to The orientation to rotate to. + * @param model The model to spin. + */ + public OrientedRotatingVisual(VisualizationContext context, T blockEntity, float partialTick, Direction from, Direction to, Model model) { + super(context, blockEntity, partialTick); + + rotatingModel = instancerProvider().instancer(AllInstanceTypes.ROTATING, model) + .createInstance() + .rotateToFace(from, to) + .setup(blockEntity) + .setPosition(getVisualPosition()); + + rotatingModel.setChanged(); + } + + public static SimpleBlockEntityVisualizer.Factory of(PartialModel partial) { + return (context, blockEntity, partialTick) -> { + Direction facing = blockEntity.getBlockState() + .getValue(BlockStateProperties.FACING); + return new OrientedRotatingVisual<>(context, blockEntity, partialTick, Direction.SOUTH, facing, Models.partial(partial)); + }; + } + + public static SimpleBlockEntityVisualizer.Factory backHorizontal(PartialModel partial) { + return (context, blockEntity, partialTick) -> { + Direction facing = blockEntity.getBlockState() + .getValue(BlockStateProperties.HORIZONTAL_FACING) + .getOpposite(); + return new OrientedRotatingVisual<>(context, blockEntity, partialTick, Direction.SOUTH, facing, Models.partial(partial)); + }; + } + + public static BlockEntityVisual gantryShaft(VisualizationContext visualizationContext, GantryShaftBlockEntity gantryShaftBlockEntity, float partialTick) { + var blockState = gantryShaftBlockEntity.getBlockState(); + + Part part = blockState.getValue(GantryShaftBlock.PART); + + boolean isPowered = blockState.getValue(GantryShaftBlock.POWERED); + boolean isFlipped = blockState.getValue(GantryShaftBlock.FACING) + .getAxisDirection() == AxisDirection.NEGATIVE; + + var model = Models.partial(AllPartialModels.GANTRY_SHAFTS.get(new GantryShaftKey(part, isPowered, isFlipped))); + + return new OrientedRotatingVisual<>(visualizationContext, gantryShaftBlockEntity, partialTick, Direction.UP, blockState.getValue(GantryShaftBlock.FACING), model); + } + + @Override + public void update(float pt) { + rotatingModel.setup(blockEntity) + .setChanged(); + } + + @Override + public void updateLight(float partialTick) { + relight(rotatingModel); + } + + @Override + protected void _delete() { + rotatingModel.delete(); + } + + @Override + public void collectCrumblingInstances(Consumer consumer) { + consumer.accept(rotatingModel); + } +} diff --git a/src/main/java/com/simibubi/create/content/kinetics/base/RotatingInstance.java b/src/main/java/com/simibubi/create/content/kinetics/base/RotatingInstance.java index 9569aac356..3771cc828c 100644 --- a/src/main/java/com/simibubi/create/content/kinetics/base/RotatingInstance.java +++ b/src/main/java/com/simibubi/create/content/kinetics/base/RotatingInstance.java @@ -8,7 +8,9 @@ import dev.engine_room.flywheel.api.instance.InstanceType; import dev.engine_room.flywheel.lib.instance.ColoredLitInstance; import net.createmod.catnip.utility.theme.Color; import net.minecraft.core.Direction; +import net.minecraft.core.Direction.Axis; import net.minecraft.core.Vec3i; +import net.minecraft.world.level.block.state.BlockState; public class RotatingInstance extends ColoredLitInstance { public static final float SPEED_MULTIPLIER = 6; @@ -43,6 +45,58 @@ public class RotatingInstance extends ColoredLitInstance { return 0xFFFFFF; } + public RotatingInstance setup(KineticBlockEntity blockEntity) { + var blockState = blockEntity.getBlockState(); + var axis = KineticBlockEntityVisual.rotationAxis(blockState); + return setup(blockEntity, axis, blockEntity.getSpeed()); + } + + public RotatingInstance setup(KineticBlockEntity blockEntity, Axis axis) { + return setup(blockEntity, axis, blockEntity.getSpeed()); + } + + public RotatingInstance setup(KineticBlockEntity blockEntity, float speed) { + var blockState = blockEntity.getBlockState(); + var axis = KineticBlockEntityVisual.rotationAxis(blockState); + return setup(blockEntity, axis, speed); + } + + public RotatingInstance setup(KineticBlockEntity blockEntity, Axis axis, float speed) { + var blockState = blockEntity.getBlockState(); + var pos = blockEntity.getBlockPos(); + return setRotationAxis(axis) + .setRotationalSpeed(speed * RotatingInstance.SPEED_MULTIPLIER) + .setRotationOffset(KineticBlockEntityVisual.rotationOffset(blockState, axis, pos) + blockEntity.getRotationAngleOffset(axis)) + .setColor(blockEntity); + } + + public RotatingInstance rotateToFace(Direction.Axis axis) { + Direction orientation = Direction.get(Direction.AxisDirection.POSITIVE, axis); + return rotateToFace(orientation); + } + + public RotatingInstance rotateToFace(Direction from, Direction.Axis axis) { + Direction orientation = Direction.get(Direction.AxisDirection.POSITIVE, axis); + return rotateToFace(from, orientation); + } + + public RotatingInstance rotateToFace(Direction orientation) { + return rotateToFace(orientation.getStepX(), orientation.getStepY(), orientation.getStepZ()); + } + + public RotatingInstance rotateToFace(Direction from, Direction orientation) { + return rotateTo(from.getStepX(), from.getStepY(), from.getStepZ(), orientation.getStepX(), orientation.getStepY(), orientation.getStepZ()); + } + + public RotatingInstance rotateToFace(float stepX, float stepY, float stepZ) { + return rotateTo(0, 1, 0, stepX, stepY, stepZ); + } + + public RotatingInstance rotateTo(float fromX, float fromY, float fromZ, float toX, float toY, float toZ) { + rotation.rotateTo(fromX, fromY, fromZ, toX, toY, toZ); + return this; + } + public RotatingInstance setRotationAxis(Direction.Axis axis) { Direction orientation = Direction.get(Direction.AxisDirection.POSITIVE, axis); return setRotationAxis(orientation.step()); diff --git a/src/main/java/com/simibubi/create/content/kinetics/base/ShaftVisual.java b/src/main/java/com/simibubi/create/content/kinetics/base/ShaftVisual.java index a6c7fad018..58f21a5610 100644 --- a/src/main/java/com/simibubi/create/content/kinetics/base/ShaftVisual.java +++ b/src/main/java/com/simibubi/create/content/kinetics/base/ShaftVisual.java @@ -1,17 +1,13 @@ package com.simibubi.create.content.kinetics.base; -import dev.engine_room.flywheel.api.model.Model; +import com.simibubi.create.AllPartialModels; + import dev.engine_room.flywheel.api.visualization.VisualizationContext; -import net.createmod.catnip.render.VirtualRenderHelper; - -public class ShaftVisual extends SingleRotatingVisual { +import dev.engine_room.flywheel.lib.model.Models; +import net.minecraft.core.Direction; +public class ShaftVisual extends SingleAxisRotatingVisual { public ShaftVisual(VisualizationContext context, T blockEntity, float partialTick) { - super(context, blockEntity, partialTick); - } - - @Override - protected Model model() { - return VirtualRenderHelper.blockModel(shaft()); + super(context, blockEntity, partialTick, Models.partial(AllPartialModels.SHAFT)); } } diff --git a/src/main/java/com/simibubi/create/content/kinetics/base/SingleAxisRotatingVisual.java b/src/main/java/com/simibubi/create/content/kinetics/base/SingleAxisRotatingVisual.java new file mode 100644 index 0000000000..5cdd4bc1b9 --- /dev/null +++ b/src/main/java/com/simibubi/create/content/kinetics/base/SingleAxisRotatingVisual.java @@ -0,0 +1,84 @@ +package com.simibubi.create.content.kinetics.base; + +import java.util.function.Consumer; + +import com.simibubi.create.AllPartialModels; +import com.simibubi.create.content.equipment.armor.BacktankRenderer; +import com.simibubi.create.foundation.render.AllInstanceTypes; + +import dev.engine_room.flywheel.api.instance.Instance; +import dev.engine_room.flywheel.api.model.Model; +import dev.engine_room.flywheel.api.visualization.VisualizationContext; +import dev.engine_room.flywheel.lib.model.Models; +import dev.engine_room.flywheel.lib.model.baked.PartialModel; +import dev.engine_room.flywheel.lib.visualization.SimpleBlockEntityVisualizer; +import net.minecraft.core.Direction; + +public class SingleAxisRotatingVisual extends KineticBlockEntityVisual { + + protected final RotatingInstance rotatingModel; + + public SingleAxisRotatingVisual(VisualizationContext context, T blockEntity, float partialTick, Model model) { + this(context, blockEntity, partialTick, Direction.UP, model); + } + + /** + * @param from The source model orientation to rotate away from. + * @param model The model to spin. + */ + public SingleAxisRotatingVisual(VisualizationContext context, T blockEntity, float partialTick, Direction from, Model model) { + super(context, blockEntity, partialTick); + rotatingModel = instancerProvider().instancer(AllInstanceTypes.ROTATING, model) + .createInstance() + .rotateToFace(from, rotationAxis()) + .setup(blockEntity) + .setPosition(getVisualPosition()); + + rotatingModel.setChanged(); + } + + public static SimpleBlockEntityVisualizer.Factory of(PartialModel partial) { + return (context, blockEntity, partialTick) -> { + return new SingleAxisRotatingVisual<>(context, blockEntity, partialTick, Models.partial(partial)); + }; + } + + /** + * For partial models whose source model is aligned with the Z axis instead of Y + */ + public static SimpleBlockEntityVisualizer.Factory ofZ(PartialModel partial) { + return (context, blockEntity, partialTick) -> { + return new SingleAxisRotatingVisual<>(context, blockEntity, partialTick, Direction.SOUTH, Models.partial(partial)); + }; + } + + public static SingleAxisRotatingVisual shaft(VisualizationContext context, T blockEntity, float partialTick) { + return new SingleAxisRotatingVisual<>(context, blockEntity, partialTick, Models.partial(AllPartialModels.SHAFT)); + } + + public static SingleAxisRotatingVisual backtank(VisualizationContext context, T blockEntity, float partialTick) { + var model = Models.partial(BacktankRenderer.getShaftModel(blockEntity.getBlockState())); + return new SingleAxisRotatingVisual<>(context, blockEntity, partialTick, model); + } + + @Override + public void update(float pt) { + rotatingModel.setup(blockEntity) + .setChanged(); + } + + @Override + public void updateLight(float partialTick) { + relight(rotatingModel); + } + + @Override + protected void _delete() { + rotatingModel.delete(); + } + + @Override + public void collectCrumblingInstances(Consumer consumer) { + consumer.accept(rotatingModel); + } +} diff --git a/src/main/java/com/simibubi/create/content/kinetics/base/SingleRotatingVisual.java b/src/main/java/com/simibubi/create/content/kinetics/base/SingleRotatingVisual.java deleted file mode 100644 index 0a065eefdf..0000000000 --- a/src/main/java/com/simibubi/create/content/kinetics/base/SingleRotatingVisual.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.simibubi.create.content.kinetics.base; - -import java.util.function.Consumer; - -import com.simibubi.create.foundation.render.AllInstanceTypes; - -import dev.engine_room.flywheel.api.instance.Instance; -import dev.engine_room.flywheel.api.model.Model; -import dev.engine_room.flywheel.api.visualization.VisualizationContext; -import net.createmod.catnip.render.VirtualRenderHelper; - -public class SingleRotatingVisual extends KineticBlockEntityVisual { - - protected RotatingInstance rotatingModel; - - public SingleRotatingVisual(VisualizationContext context, T blockEntity, float partialTick) { - super(context, blockEntity, partialTick); - rotatingModel = instancerProvider().instancer(AllInstanceTypes.ROTATING, model()) - .createInstance(); - setup(rotatingModel); - } - - @Override - public void update(float pt) { - updateRotation(rotatingModel); - } - - @Override - public void updateLight(float partialTick) { - relight(rotatingModel); - } - - @Override - protected void _delete() { - rotatingModel.delete(); - } - - protected Model model() { - return VirtualRenderHelper.blockModel(blockState); - } - - @Override - public void collectCrumblingInstances(Consumer consumer) { - consumer.accept(rotatingModel); - } -} diff --git a/src/main/java/com/simibubi/create/content/kinetics/chainConveyor/ChainConveyorVisual.java b/src/main/java/com/simibubi/create/content/kinetics/chainConveyor/ChainConveyorVisual.java index b682bd2476..cb6d2b3bdb 100644 --- a/src/main/java/com/simibubi/create/content/kinetics/chainConveyor/ChainConveyorVisual.java +++ b/src/main/java/com/simibubi/create/content/kinetics/chainConveyor/ChainConveyorVisual.java @@ -5,10 +5,10 @@ import java.util.List; import java.util.Map; import com.simibubi.create.AllPartialModels; -import com.simibubi.create.content.kinetics.base.SingleRotatingVisual; +import com.simibubi.create.content.kinetics.base.SingleAxisRotatingVisual; import com.simibubi.create.content.logistics.box.PackageItem; +import com.simibubi.create.foundation.render.SpecialModels; -import dev.engine_room.flywheel.api.model.Model; import dev.engine_room.flywheel.api.visual.DynamicVisual; import dev.engine_room.flywheel.api.visual.TickableVisual; import dev.engine_room.flywheel.api.visualization.VisualizationContext; @@ -30,7 +30,7 @@ import net.minecraft.world.level.Level; import net.minecraft.world.level.LightLayer; import net.minecraft.world.phys.Vec3; -public class ChainConveyorVisual extends SingleRotatingVisual implements SimpleDynamicVisual, SimpleTickableVisual { +public class ChainConveyorVisual extends SingleAxisRotatingVisual implements SimpleDynamicVisual, SimpleTickableVisual { private final List guards = new ArrayList<>(); @@ -38,7 +38,7 @@ public class ChainConveyorVisual extends SingleRotatingVisual rigging; public ChainConveyorVisual(VisualizationContext context, ChainConveyorBlockEntity blockEntity, float partialTick) { - super(context, blockEntity, partialTick); + super(context, blockEntity, partialTick, Models.partial(AllPartialModels.CHAIN_CONVEYOR_SHAFT)); setupGuards(); @@ -147,7 +147,7 @@ public class ChainConveyorVisual extends SingleRotatingVisual { - - public ShaftlessCogwheelVisual(VisualizationContext context, KineticBlockEntity blockEntity, float partialTick) { - super(context, blockEntity, partialTick); - } - - @Override - protected Model model() { - Direction facing = blockState.getValue(MechanicalCrafterBlock.HORIZONTAL_FACING); - - return Models.partial(AllPartialModels.SHAFTLESS_COGWHEEL, facing, ShaftlessCogwheelVisual::rotateToFace); - } - - private static void rotateToFace(Direction facing, PoseStack stack) { - var stacker = TransformStack.of(stack) - .center(); - - if (facing.getAxis() == Direction.Axis.X) stacker.rotateZDegrees(90); - else if (facing.getAxis() == Direction.Axis.Z) stacker.rotateXDegrees(90); - - stacker.uncenter(); - } -} diff --git a/src/main/java/com/simibubi/create/content/kinetics/crank/HandCrankBlockEntity.java b/src/main/java/com/simibubi/create/content/kinetics/crank/HandCrankBlockEntity.java index a6e60db919..de1df4395f 100644 --- a/src/main/java/com/simibubi/create/content/kinetics/crank/HandCrankBlockEntity.java +++ b/src/main/java/com/simibubi/create/content/kinetics/crank/HandCrankBlockEntity.java @@ -101,14 +101,6 @@ public class HandCrankBlockEntity extends GeneratingKineticBlockEntity { return CachedBuffers.partialFacing(AllPartialModels.HAND_CRANK_HANDLE, blockState, facing.getOpposite()); } - @OnlyIn(Dist.CLIENT) - public Model getRenderedHandleInstance() { - BlockState blockState = getBlockState(); - Direction facing = blockState.getOptionalValue(HandCrankBlock.FACING) - .orElse(Direction.UP); - return Models.partial(AllPartialModels.HAND_CRANK_HANDLE, facing.getOpposite()); - } - @OnlyIn(Dist.CLIENT) public boolean shouldRenderShaft() { return true; diff --git a/src/main/java/com/simibubi/create/content/kinetics/crank/HandCrankVisual.java b/src/main/java/com/simibubi/create/content/kinetics/crank/HandCrankVisual.java index 00d3c1751d..01af44aadd 100644 --- a/src/main/java/com/simibubi/create/content/kinetics/crank/HandCrankVisual.java +++ b/src/main/java/com/simibubi/create/content/kinetics/crank/HandCrankVisual.java @@ -2,6 +2,9 @@ package com.simibubi.create.content.kinetics.crank; import java.util.function.Consumer; +import org.joml.Quaternionf; + +import com.simibubi.create.AllPartialModels; import com.simibubi.create.content.kinetics.base.KineticBlockEntityVisual; import com.simibubi.create.content.kinetics.base.RotatingInstance; import com.simibubi.create.foundation.render.AllInstanceTypes; @@ -12,31 +15,27 @@ import dev.engine_room.flywheel.api.visual.DynamicVisual; import dev.engine_room.flywheel.api.visualization.VisualizationContext; import dev.engine_room.flywheel.lib.instance.InstanceTypes; import dev.engine_room.flywheel.lib.instance.TransformedInstance; +import dev.engine_room.flywheel.lib.model.Models; import dev.engine_room.flywheel.lib.visual.SimpleDynamicVisual; -import net.createmod.catnip.render.VirtualRenderHelper; import net.minecraft.core.Direction; import net.minecraft.world.level.block.state.properties.BlockStateProperties; public class HandCrankVisual extends KineticBlockEntityVisual implements SimpleDynamicVisual { - protected RotatingInstance rotatingModel; + private final RotatingInstance rotatingModel; private final TransformedInstance crank; - private final Direction facing; public HandCrankVisual(VisualizationContext modelManager, HandCrankBlockEntity blockEntity, float partialTick) { super(modelManager, blockEntity, partialTick); - facing = blockState.getValue(BlockStateProperties.FACING); - Model model = blockEntity.getRenderedHandleInstance(); - crank = instancerProvider().instancer(InstanceTypes.TRANSFORMED, model) + crank = instancerProvider().instancer(InstanceTypes.TRANSFORMED, Models.partial(AllPartialModels.HAND_CRANK_HANDLE)) .createInstance(); rotateCrank(partialTick); - if (blockEntity.shouldRenderShaft()) { - rotatingModel = instancerProvider().instancer(AllInstanceTypes.ROTATING, VirtualRenderHelper.blockModel(blockState)) - .createInstance(); - setup(rotatingModel); - } + rotatingModel = instancerProvider().instancer(AllInstanceTypes.ROTATING, Models.partial(AllPartialModels.HAND_CRANK_BASE)) + .createInstance() + .rotateToFace(blockState.getValue(BlockStateProperties.FACING)); + setup(rotatingModel); } @Override @@ -45,13 +44,14 @@ public class HandCrankVisual extends KineticBlockEntityVisual implements SimpleDynamicVisual { + private final TransformedInstance crank; + + public ValveHandleVisual(VisualizationContext modelManager, HandCrankBlockEntity blockEntity, float partialTick) { + super(modelManager, blockEntity, partialTick); + + crank = instancerProvider().instancer(InstanceTypes.TRANSFORMED, Models.partial(AllPartialModels.VALVE_HANDLE)) + .createInstance(); + + rotateCrank(partialTick); + } + + @Override + public void beginFrame(Context ctx) { + rotateCrank(ctx.partialTick()); + } + + private void rotateCrank(float pt) { + var facing = blockState.getValue(BlockStateProperties.FACING); + float angle = blockEntity.getIndependentAngle(pt); + + crank.setIdentityTransform() + .translate(getVisualPosition()) + .center() + .rotate(angle, Direction.get(Direction.AxisDirection.POSITIVE, facing.getAxis())) + .rotate(new Quaternionf().rotateTo(0, 1, 0, facing.getStepX(), facing.getStepY(), facing.getStepZ())) + .uncenter() + .setChanged(); + } + + @Override + protected void _delete() { + crank.delete(); + } + + @Override + public void updateLight(float partialTick) { + relight(crank); + } + + @Override + public void collectCrumblingInstances(Consumer consumer) { + consumer.accept(crank); + } +} diff --git a/src/main/java/com/simibubi/create/content/kinetics/deployer/DeployerActorVisual.java b/src/main/java/com/simibubi/create/content/kinetics/deployer/DeployerActorVisual.java index b8e01e8ac2..d8cddb6d3f 100644 --- a/src/main/java/com/simibubi/create/content/kinetics/deployer/DeployerActorVisual.java +++ b/src/main/java/com/simibubi/create/content/kinetics/deployer/DeployerActorVisual.java @@ -19,7 +19,6 @@ import dev.engine_room.flywheel.lib.instance.InstanceTypes; import dev.engine_room.flywheel.lib.instance.TransformedInstance; import dev.engine_room.flywheel.lib.model.Models; import dev.engine_room.flywheel.lib.model.baked.PartialModel; -import net.createmod.catnip.render.VirtualRenderHelper; import net.createmod.catnip.utility.AnimationTickHolder; import net.createmod.catnip.utility.NBTHelper; import net.createmod.catnip.utility.VecHelper; @@ -60,8 +59,9 @@ public class DeployerActorVisual extends ActorVisual { hand = instancerProvider.instancer(InstanceTypes.TRANSFORMED, Models.partial(handPose)).createInstance(); Direction.Axis axis = KineticBlockEntityVisual.rotationAxis(state); - shaft = instancerProvider.instancer(AllInstanceTypes.ROTATING, VirtualRenderHelper.blockModel(KineticBlockEntityVisual.shaft(axis))) - .createInstance(); + shaft = instancerProvider.instancer(AllInstanceTypes.ROTATING, Models.partial(AllPartialModels.SHAFT)) + .createInstance() + .rotateToFace(axis); int blockLight = localBlockLight(); diff --git a/src/main/java/com/simibubi/create/content/kinetics/drill/DrillVisual.java b/src/main/java/com/simibubi/create/content/kinetics/drill/DrillVisual.java deleted file mode 100644 index 1d5dbb60c1..0000000000 --- a/src/main/java/com/simibubi/create/content/kinetics/drill/DrillVisual.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.simibubi.create.content.kinetics.drill; - -import com.simibubi.create.AllPartialModels; -import com.simibubi.create.content.kinetics.base.SingleRotatingVisual; - -import dev.engine_room.flywheel.api.model.Model; -import dev.engine_room.flywheel.api.visualization.VisualizationContext; -import dev.engine_room.flywheel.lib.model.Models; -import net.minecraft.core.Direction; -import net.minecraft.world.level.block.state.properties.BlockStateProperties; - -public class DrillVisual extends SingleRotatingVisual { - - public DrillVisual(VisualizationContext context, DrillBlockEntity blockEntity, float partialTick) { - super(context, blockEntity, partialTick); - } - - @Override - protected Model model() { - Direction facing = blockEntity.getBlockState() - .getValue(BlockStateProperties.FACING); - return Models.partial(AllPartialModels.DRILL_HEAD, facing); - } -} diff --git a/src/main/java/com/simibubi/create/content/kinetics/fan/AirCurrent.java b/src/main/java/com/simibubi/create/content/kinetics/fan/AirCurrent.java index 80798f82c3..3ac469c69f 100644 --- a/src/main/java/com/simibubi/create/content/kinetics/fan/AirCurrent.java +++ b/src/main/java/com/simibubi/create/content/kinetics/fan/AirCurrent.java @@ -108,7 +108,7 @@ public class AirCurrent { FanProcessingType processingType = getTypeAt((float) entityDistance); - if (processingType == AllFanProcessingTypes.NONE.get()) + if (processingType == AllFanProcessingTypes.NONE) continue; if (entity instanceof ItemEntity itemEntity) { @@ -177,7 +177,7 @@ public class AirCurrent { // Determine segments with transported fluids/gases segments.clear(); AirCurrentSegment currentSegment = null; - FanProcessingType type = AllFanProcessingTypes.NONE.get(); + FanProcessingType type = AllFanProcessingTypes.NONE; int limit = getLimit(); int searchStart = pushing ? 1 : limit; @@ -188,7 +188,7 @@ public class AirCurrent { for (int i = searchStart; i * searchStep <= searchEnd * searchStep; i += searchStep) { BlockPos currentPos = start.relative(direction, i); FanProcessingType newType = FanProcessingType.getAt(world, currentPos); - if (newType != AllFanProcessingTypes.NONE.get()) { + if (newType != AllFanProcessingTypes.NONE) { type = newType; } if (currentSegment == null) { @@ -321,7 +321,7 @@ public class AirCurrent { BlockEntityBehaviour.get(world, pos, TransportedItemStackHandlerBehaviour.TYPE); if (behaviour != null) { FanProcessingType type = FanProcessingType.getAt(world, pos); - if (type == AllFanProcessingTypes.NONE.get()) + if (type == AllFanProcessingTypes.NONE) type = segmentType; affectedItemHandlers.add(Pair.of(behaviour, type)); } @@ -354,7 +354,7 @@ public class AirCurrent { } } } - return AllFanProcessingTypes.NONE.get(); + return AllFanProcessingTypes.NONE; } private static class AirCurrentSegment { diff --git a/src/main/java/com/simibubi/create/content/kinetics/fan/AirFlowParticle.java b/src/main/java/com/simibubi/create/content/kinetics/fan/AirFlowParticle.java index 3c2d7cbb60..b84938551c 100644 --- a/src/main/java/com/simibubi/create/content/kinetics/fan/AirFlowParticle.java +++ b/src/main/java/com/simibubi/create/content/kinetics/fan/AirFlowParticle.java @@ -78,7 +78,7 @@ public class AirFlowParticle extends SimpleAnimatedParticle { motion = motion.scale(airCurrent.maxDistance - (distance - 1f)).scale(.5f); FanProcessingType type = getType(distance); - if (type == AllFanProcessingTypes.NONE.get()) { + if (type == AllFanProcessingTypes.NONE) { setColor(0xEEEEEE); setAlpha(.25f); selectSprite((int) Mth.clamp((distance / airCurrent.maxDistance) * 8 + random.nextInt(4), @@ -102,7 +102,7 @@ public class AirFlowParticle extends SimpleAnimatedParticle { private FanProcessingType getType(double distance) { if (source.getAirCurrent() == null) - return AllFanProcessingTypes.NONE.get(); + return AllFanProcessingTypes.NONE; return source.getAirCurrent().getTypeAt((float) distance); } diff --git a/src/main/java/com/simibubi/create/content/kinetics/fan/FanVisual.java b/src/main/java/com/simibubi/create/content/kinetics/fan/FanVisual.java index 57aa69a525..9b8e4cd53f 100644 --- a/src/main/java/com/simibubi/create/content/kinetics/fan/FanVisual.java +++ b/src/main/java/com/simibubi/create/content/kinetics/fan/FanVisual.java @@ -29,12 +29,20 @@ public class FanVisual extends KineticBlockEntityVisual { direction = blockState.getValue(FACING); opposite = direction.getOpposite(); - shaft = instancerProvider().instancer(AllInstanceTypes.ROTATING, Models.partial(AllPartialModels.SHAFT_HALF, opposite)).createInstance(); - fan = instancerProvider().instancer(AllInstanceTypes.ROTATING, Models.partial(AllPartialModels.ENCASED_FAN_INNER, opposite)) + shaft = instancerProvider().instancer(AllInstanceTypes.ROTATING, Models.partial(AllPartialModels.SHAFT_HALF)) + .createInstance(); + fan = instancerProvider().instancer(AllInstanceTypes.ROTATING, Models.partial(AllPartialModels.ENCASED_FAN_INNER)) .createInstance(); - setup(shaft); - setup(fan, getFanSpeed()); + shaft.setup(blockEntity) + .setPosition(getVisualPosition()) + .rotateToFace(Direction.SOUTH, opposite) + .setChanged(); + + fan.setup(blockEntity, getFanSpeed()) + .setPosition(getVisualPosition()) + .rotateToFace(Direction.SOUTH, opposite) + .setChanged(); } private float getFanSpeed() { @@ -48,9 +56,11 @@ public class FanVisual extends KineticBlockEntityVisual { @Override public void update(float pt) { - updateRotation(shaft); - updateRotation(fan, getFanSpeed()); - } + shaft.setup(blockEntity) + .setChanged(); + fan.setup(blockEntity, getFanSpeed()) + .setChanged(); + } @Override public void updateLight(float partialTick) { diff --git a/src/main/java/com/simibubi/create/content/kinetics/fan/processing/AllFanProcessingTypes.java b/src/main/java/com/simibubi/create/content/kinetics/fan/processing/AllFanProcessingTypes.java index 75340f90b4..8021102e94 100644 --- a/src/main/java/com/simibubi/create/content/kinetics/fan/processing/AllFanProcessingTypes.java +++ b/src/main/java/com/simibubi/create/content/kinetics/fan/processing/AllFanProcessingTypes.java @@ -4,7 +4,6 @@ import java.util.Collections; import java.util.List; import java.util.Map; import java.util.Optional; -import java.util.function.Supplier; import org.jetbrains.annotations.Nullable; import org.joml.Vector3f; @@ -59,20 +58,19 @@ import net.minecraft.world.phys.Vec3; import net.neoforged.bus.api.IEventBus; import net.neoforged.neoforge.registries.DeferredRegister; - public class AllFanProcessingTypes { private static final DeferredRegister REGISTER = DeferredRegister.create(AllRegistries.Keys.FAN_PROCESSING_TYPES, Create.ID); - public static final Supplier NONE = register("none", new NoneType()); - public static final Supplier BLASTING = register("blasting", new BlastingType()); - public static final Supplier HAUNTING = register("haunting", new HauntingType()); - public static final Supplier SMOKING = register("smoking", new SmokingType()); - public static final Supplier SPLASHING = register("splashing", new SplashingType()); + public static final NoneType NONE = register("none", new NoneType()); + public static final BlastingType BLASTING = register("blasting", new BlastingType()); + public static final HauntingType HAUNTING = register("haunting", new HauntingType()); + public static final SmokingType SMOKING = register("smoking", new SmokingType()); + public static final SplashingType SPLASHING = register("splashing", new SplashingType()); - private static final Map> LEGACY_NAME_MAP; + private static final Map LEGACY_NAME_MAP; static { - Object2ReferenceOpenHashMap> map = new Object2ReferenceOpenHashMap<>(); + Object2ReferenceOpenHashMap map = new Object2ReferenceOpenHashMap<>(); map.put("NONE", NONE); map.put("BLASTING", BLASTING); map.put("HAUNTING", HAUNTING); @@ -82,8 +80,9 @@ public class AllFanProcessingTypes { LEGACY_NAME_MAP = map; } - private static Supplier register(String name, T type) { - return REGISTER.register(name, () -> type); + private static T register(String name, T type) { + REGISTER.register(name, () -> type); + return type; } public static void register(IEventBus eventBus) { @@ -92,7 +91,7 @@ public class AllFanProcessingTypes { @Nullable public static FanProcessingType ofLegacyName(String name) { - return LEGACY_NAME_MAP.get(name).get(); + return LEGACY_NAME_MAP.get(name); } public static FanProcessingType parseLegacy(String str) { @@ -147,10 +146,7 @@ public class AllFanProcessingTypes { } BlockState blockState = level.getBlockState(pos); if (AllBlockTags.FAN_PROCESSING_CATALYSTS_BLASTING.matches(blockState)) { - if (blockState.hasProperty(BlazeBurnerBlock.HEAT_LEVEL) && !blockState.getValue(BlazeBurnerBlock.HEAT_LEVEL).isAtLeast(BlazeBurnerBlock.HeatLevel.FADING)) { - return false; - } - return true; + return !blockState.hasProperty(BlazeBurnerBlock.HEAT_LEVEL) || blockState.getValue(BlazeBurnerBlock.HEAT_LEVEL).isAtLeast(BlazeBurnerBlock.HeatLevel.FADING); } return false; } @@ -198,7 +194,7 @@ public class AllFanProcessingTypes { if (smeltingRecipe.isPresent()) { RegistryAccess registryAccess = level.registryAccess(); if (!smokingRecipe.isPresent() || !ItemStack.isSameItem(smokingRecipe.get().value() - .getResultItem(registryAccess), + .getResultItem(registryAccess), smeltingRecipe.get().value() .getResultItem(registryAccess))) { return RecipeApplier.applyRecipeOn(level, stack, smeltingRecipe.get()); @@ -249,10 +245,7 @@ public class AllFanProcessingTypes { if (blockState.is(BlockTags.CAMPFIRES) && blockState.hasProperty(CampfireBlock.LIT) && !blockState.getValue(CampfireBlock.LIT)) { return false; } - if (blockState.hasProperty(LitBlazeBurnerBlock.FLAME_TYPE) && blockState.getValue(LitBlazeBurnerBlock.FLAME_TYPE) != LitBlazeBurnerBlock.FlameType.SOUL) { - return false; - } - return true; + return !blockState.hasProperty(LitBlazeBurnerBlock.FLAME_TYPE) || blockState.getValue(LitBlazeBurnerBlock.FLAME_TYPE) == LitBlazeBurnerBlock.FlameType.SOUL; } return false; } @@ -368,10 +361,7 @@ public class AllFanProcessingTypes { if (blockState.hasProperty(LitBlazeBurnerBlock.FLAME_TYPE) && blockState.getValue(LitBlazeBurnerBlock.FLAME_TYPE) != LitBlazeBurnerBlock.FlameType.REGULAR) { return false; } - if (blockState.hasProperty(BlazeBurnerBlock.HEAT_LEVEL) && blockState.getValue(BlazeBurnerBlock.HEAT_LEVEL) != BlazeBurnerBlock.HeatLevel.SMOULDERING) { - return false; - } - return true; + return !blockState.hasProperty(BlazeBurnerBlock.HEAT_LEVEL) || blockState.getValue(BlazeBurnerBlock.HEAT_LEVEL) == BlazeBurnerBlock.HeatLevel.SMOULDERING; } return false; } @@ -440,10 +430,7 @@ public class AllFanProcessingTypes { return true; } BlockState blockState = level.getBlockState(pos); - if (AllBlockTags.FAN_PROCESSING_CATALYSTS_SPLASHING.matches(blockState)) { - return true; - } - return false; + return AllBlockTags.FAN_PROCESSING_CATALYSTS_SPLASHING.matches(blockState); } @Override diff --git a/src/main/java/com/simibubi/create/content/kinetics/fan/processing/FanProcessingType.java b/src/main/java/com/simibubi/create/content/kinetics/fan/processing/FanProcessingType.java index 406b581e90..8160e01f98 100644 --- a/src/main/java/com/simibubi/create/content/kinetics/fan/processing/FanProcessingType.java +++ b/src/main/java/com/simibubi/create/content/kinetics/fan/processing/FanProcessingType.java @@ -34,11 +34,11 @@ public interface FanProcessingType { static FanProcessingType parse(String str) { ResourceLocation id = ResourceLocation.tryParse(str); if (id == null) { - return AllFanProcessingTypes.NONE.get(); + return AllFanProcessingTypes.NONE; } FanProcessingType type = AllRegistries.FAN_PROCESSING_TYPES.get(id); if (type == null) { - return AllFanProcessingTypes.NONE.get(); + return AllFanProcessingTypes.NONE; } return type; } @@ -49,7 +49,7 @@ public interface FanProcessingType { return type; } } - return AllFanProcessingTypes.NONE.get(); + return AllFanProcessingTypes.NONE; } interface AirFlowParticleAccess { diff --git a/src/main/java/com/simibubi/create/content/kinetics/fan/processing/FanProcessingTypeRegistry.java b/src/main/java/com/simibubi/create/content/kinetics/fan/processing/FanProcessingTypeRegistry.java index a337ea520a..4ea49511ab 100644 --- a/src/main/java/com/simibubi/create/content/kinetics/fan/processing/FanProcessingTypeRegistry.java +++ b/src/main/java/com/simibubi/create/content/kinetics/fan/processing/FanProcessingTypeRegistry.java @@ -8,10 +8,14 @@ import com.simibubi.create.AllRegistries; import it.unimi.dsi.fastutil.objects.ReferenceArrayList; +import org.jetbrains.annotations.UnmodifiableView; + public class FanProcessingTypeRegistry { private static List sortedTypes = null; + @UnmodifiableView private static List sortedTypesView = null; + @UnmodifiableView public static List getSortedTypesView() { if (sortedTypes == null) { sortedTypes = new ReferenceArrayList<>(); diff --git a/src/main/java/com/simibubi/create/content/kinetics/flywheel/FlywheelVisual.java b/src/main/java/com/simibubi/create/content/kinetics/flywheel/FlywheelVisual.java index 81274b8d15..a530402f5b 100644 --- a/src/main/java/com/simibubi/create/content/kinetics/flywheel/FlywheelVisual.java +++ b/src/main/java/com/simibubi/create/content/kinetics/flywheel/FlywheelVisual.java @@ -2,7 +2,10 @@ package com.simibubi.create.content.kinetics.flywheel; import java.util.function.Consumer; -import com.mojang.blaze3d.vertex.PoseStack; +import org.joml.Matrix4f; +import org.joml.Quaternionf; + +import com.simibubi.create.AllPartialModels; import com.simibubi.create.content.kinetics.base.KineticBlockEntityVisual; import com.simibubi.create.content.kinetics.base.RotatingInstance; import com.simibubi.create.foundation.render.AllInstanceTypes; @@ -12,9 +15,8 @@ import dev.engine_room.flywheel.api.visual.DynamicVisual; import dev.engine_room.flywheel.api.visualization.VisualizationContext; import dev.engine_room.flywheel.lib.instance.InstanceTypes; import dev.engine_room.flywheel.lib.instance.TransformedInstance; -import dev.engine_room.flywheel.lib.transform.TransformStack; +import dev.engine_room.flywheel.lib.model.Models; import dev.engine_room.flywheel.lib.visual.SimpleDynamicVisual; -import net.createmod.catnip.render.VirtualRenderHelper; import net.createmod.catnip.utility.math.AngleHelper; import net.minecraft.core.Direction; @@ -24,14 +26,27 @@ public class FlywheelVisual extends KineticBlockEntityVisual { - protected final EnumMap keys; + protected final EnumMap keys = new EnumMap<>(Direction.class); protected Direction sourceFacing; public GearboxVisual(VisualizationContext context, GearboxBlockEntity blockEntity, float partialTick) { super(context, blockEntity, partialTick); - keys = new EnumMap<>(Direction.class); + final Direction.Axis boxAxis = blockState.getValue(BlockStateProperties.AXIS); - final Direction.Axis boxAxis = blockState.getValue(BlockStateProperties.AXIS); - - int blockLight = level.getBrightness(LightLayer.BLOCK, pos); - int skyLight = level.getBrightness(LightLayer.SKY, pos); updateSourceFacing(); - for (Direction direction : Iterate.directions) { + var instancer = instancerProvider().instancer(AllInstanceTypes.ROTATING, Models.partial(AllPartialModels.SHAFT_HALF)); + + for (Direction direction : Iterate.directions) { final Direction.Axis axis = direction.getAxis(); - if (boxAxis == axis) + if (boxAxis == axis) { continue; + } - RotatingInstance key = instancerProvider().instancer(AllInstanceTypes.ROTATING, Models.partial(AllPartialModels.SHAFT_HALF, direction)) - .createInstance(); + RotatingInstance instance = instancer.createInstance(); - key.setRotationAxis(axis) - .setRotationalSpeed(getSpeed(direction) * RotatingInstance.SPEED_MULTIPLIER) - .setRotationOffset(getRotationOffset(axis)).setColor(blockEntity) - .setPosition(getVisualPosition()) - .light(blockLight, skyLight) - .setChanged(); + instance.setup(blockEntity, axis, getSpeed(direction)) + .setPosition(getVisualPosition()) + .rotateToFace(Direction.SOUTH, direction) + .setChanged(); - keys.put(direction, key); + keys.put(direction, instance); } } @@ -83,8 +80,10 @@ public class GearboxVisual extends KineticBlockEntityVisual Direction direction = key.getKey(); Direction.Axis axis = direction.getAxis(); - updateRotation(key.getValue(), axis, getSpeed(direction)); - } + key.getValue() + .setup(blockEntity, axis, getSpeed(direction)) + .setChanged(); + } } @Override diff --git a/src/main/java/com/simibubi/create/content/kinetics/mechanicalArm/ArmInteractionPointType.java b/src/main/java/com/simibubi/create/content/kinetics/mechanicalArm/ArmInteractionPointType.java index a459247103..7393c4e1a5 100644 --- a/src/main/java/com/simibubi/create/content/kinetics/mechanicalArm/ArmInteractionPointType.java +++ b/src/main/java/com/simibubi/create/content/kinetics/mechanicalArm/ArmInteractionPointType.java @@ -14,14 +14,18 @@ import net.minecraft.core.BlockPos; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.state.BlockState; +import org.jetbrains.annotations.UnmodifiableView; + public abstract class ArmInteractionPointType { private static List sortedTypes = null; + @UnmodifiableView private static List sortedTypesView = null; public static void forEach(Consumer action) { getSorted().forEach(action); } + @UnmodifiableView public static List getSorted() { if (sortedTypes == null) { sortedTypes = new ReferenceArrayList<>(); diff --git a/src/main/java/com/simibubi/create/content/kinetics/mechanicalArm/ArmVisual.java b/src/main/java/com/simibubi/create/content/kinetics/mechanicalArm/ArmVisual.java index 538b09776a..f46c2601c1 100644 --- a/src/main/java/com/simibubi/create/content/kinetics/mechanicalArm/ArmVisual.java +++ b/src/main/java/com/simibubi/create/content/kinetics/mechanicalArm/ArmVisual.java @@ -5,10 +5,9 @@ import java.util.function.Consumer; import com.google.common.collect.Lists; import com.simibubi.create.AllPartialModels; -import com.simibubi.create.content.kinetics.base.SingleRotatingVisual; +import com.simibubi.create.content.kinetics.base.SingleAxisRotatingVisual; import dev.engine_room.flywheel.api.instance.Instance; -import dev.engine_room.flywheel.api.model.Model; import dev.engine_room.flywheel.api.visual.DynamicVisual; import dev.engine_room.flywheel.api.visualization.VisualizationContext; import dev.engine_room.flywheel.lib.instance.AbstractInstance; @@ -24,11 +23,12 @@ import net.createmod.catnip.utility.theme.Color; import net.createmod.ponder.utility.LevelTickHolder; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.entity.ItemRenderer; +import net.minecraft.core.Direction; import net.minecraft.util.Mth; import net.minecraft.world.item.BlockItem; import net.minecraft.world.item.ItemStack; -public class ArmVisual extends SingleRotatingVisual implements SimpleDynamicVisual { +public class ArmVisual extends SingleAxisRotatingVisual implements SimpleDynamicVisual { final TransformedInstance base; final TransformedInstance lowerBody; @@ -48,7 +48,7 @@ public class ArmVisual extends SingleRotatingVisual implements S private float headAngle = Float.NaN; public ArmVisual(VisualizationContext context, ArmBlockEntity blockEntity, float partialTick) { - super(context, blockEntity, partialTick); + super(context, blockEntity, partialTick, Models.partial(AllPartialModels.ARM_COG)); base = instancerProvider().instancer(InstanceTypes.TRANSFORMED, Models.partial(AllPartialModels.ARM_BASE)) .createInstance(); @@ -192,11 +192,6 @@ public class ArmVisual extends SingleRotatingVisual implements S relight(models.toArray(FlatLit[]::new)); } - @Override - protected Model model() { - return Models.partial(AllPartialModels.ARM_COG); - } - @Override protected void _delete() { super._delete(); diff --git a/src/main/java/com/simibubi/create/content/kinetics/millstone/MillstoneCogVisual.java b/src/main/java/com/simibubi/create/content/kinetics/millstone/MillstoneCogVisual.java deleted file mode 100644 index cc2a6aea18..0000000000 --- a/src/main/java/com/simibubi/create/content/kinetics/millstone/MillstoneCogVisual.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.simibubi.create.content.kinetics.millstone; - -import com.simibubi.create.AllPartialModels; -import com.simibubi.create.content.kinetics.base.SingleRotatingVisual; - -import dev.engine_room.flywheel.api.model.Model; -import dev.engine_room.flywheel.api.visualization.VisualizationContext; -import dev.engine_room.flywheel.lib.model.Models; - -public class MillstoneCogVisual extends SingleRotatingVisual { - - public MillstoneCogVisual(VisualizationContext context, MillstoneBlockEntity blockEntity, float partialTick) { - super(context, blockEntity, partialTick); - } - - @Override - protected Model model() { - return Models.partial(AllPartialModels.MILLSTONE_COG); - } -} diff --git a/src/main/java/com/simibubi/create/content/kinetics/saw/SawActorVisual.java b/src/main/java/com/simibubi/create/content/kinetics/saw/SawActorVisual.java index 59b39bc96a..bed637b9eb 100644 --- a/src/main/java/com/simibubi/create/content/kinetics/saw/SawActorVisual.java +++ b/src/main/java/com/simibubi/create/content/kinetics/saw/SawActorVisual.java @@ -4,7 +4,6 @@ import com.simibubi.create.content.contraptions.behaviour.MovementContext; import com.simibubi.create.content.contraptions.render.ActorVisual; import com.simibubi.create.content.kinetics.base.KineticBlockEntityVisual; import com.simibubi.create.content.kinetics.base.RotatingInstance; -import com.simibubi.create.foundation.render.AllInstanceTypes; import com.simibubi.create.foundation.virtualWorld.VirtualRenderWorld; import dev.engine_room.flywheel.api.visualization.VisualizationContext; @@ -17,8 +16,7 @@ public class SawActorVisual extends ActorVisual { var state = movementContext.state; var localPos = movementContext.localPos; - shaft = instancerProvider.instancer(AllInstanceTypes.ROTATING, SawVisual.shaftModel(simulationWorld, localPos, state)) - .createInstance(); + shaft = SawVisual.shaft(instancerProvider, state); var axis = KineticBlockEntityVisual.rotationAxis(state); shaft.setRotationAxis(axis) diff --git a/src/main/java/com/simibubi/create/content/kinetics/saw/SawBlockEntity.java b/src/main/java/com/simibubi/create/content/kinetics/saw/SawBlockEntity.java index 0a465ca15b..2c932e5bc3 100644 --- a/src/main/java/com/simibubi/create/content/kinetics/saw/SawBlockEntity.java +++ b/src/main/java/com/simibubi/create/content/kinetics/saw/SawBlockEntity.java @@ -386,8 +386,7 @@ public class SawBlockEntity extends BlockBreakingKineticBlockEntity { return ImmutableList.of(assemblyRecipe.get()); Predicate>> types = RecipeConditions.isOfType(AllRecipeTypes.CUTTING.getType(), - AllConfigs.server().recipes.allowStonecuttingOnSaw.get() ? RecipeType.STONECUTTING : null, - AllConfigs.server().recipes.allowWoodcuttingOnSaw.get() ? woodcuttingRecipeType.get() : null); + AllConfigs.server().recipes.allowStonecuttingOnSaw.get() ? RecipeType.STONECUTTING : null); List>> startedSearch = RecipeFinder.get(cuttingRecipesKey, level, types); return startedSearch.stream() diff --git a/src/main/java/com/simibubi/create/content/kinetics/saw/SawVisual.java b/src/main/java/com/simibubi/create/content/kinetics/saw/SawVisual.java index 2b8d6b366d..d8ac3d2099 100644 --- a/src/main/java/com/simibubi/create/content/kinetics/saw/SawVisual.java +++ b/src/main/java/com/simibubi/create/content/kinetics/saw/SawVisual.java @@ -1,40 +1,74 @@ package com.simibubi.create.content.kinetics.saw; +import java.util.function.Consumer; + import com.simibubi.create.AllPartialModels; import com.simibubi.create.content.kinetics.base.KineticBlockEntityVisual; -import com.simibubi.create.content.kinetics.base.SingleRotatingVisual; +import com.simibubi.create.content.kinetics.base.RotatingInstance; +import com.simibubi.create.foundation.render.AllInstanceTypes; +import dev.engine_room.flywheel.api.instance.Instance; +import dev.engine_room.flywheel.api.instance.InstancerProvider; import dev.engine_room.flywheel.api.model.Model; import dev.engine_room.flywheel.api.visualization.VisualizationContext; import dev.engine_room.flywheel.lib.model.Models; import net.createmod.catnip.render.VirtualRenderHelper; -import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; -import net.minecraft.world.level.LevelAccessor; -import net.minecraft.world.level.block.Rotation; +import net.minecraft.core.Direction.Axis; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.properties.BlockStateProperties; -public class SawVisual extends SingleRotatingVisual { +public class SawVisual extends KineticBlockEntityVisual { + + protected final RotatingInstance rotatingModel; public SawVisual(VisualizationContext context, SawBlockEntity blockEntity, float partialTick) { super(context, blockEntity, partialTick); + rotatingModel = shaft(instancerProvider(), blockState) + .setup(blockEntity) + .setPosition(getVisualPosition()); + rotatingModel.setChanged(); + } + + public static RotatingInstance shaft(InstancerProvider instancerProvider, BlockState state) { + var facing = state.getValue(BlockStateProperties.FACING); + var axis = facing + .getAxis(); + // We could change this to return either an Oriented- or SingleAxisRotatingVisual + if (axis.isHorizontal()) { + Direction align = facing.getOpposite(); + return instancerProvider.instancer(AllInstanceTypes.ROTATING, Models.partial(AllPartialModels.SHAFT_HALF)) + .createInstance() + .rotateTo(0, 0, 1, align.getStepX(), align.getStepY(), align.getStepZ()); + } else { + return instancerProvider.instancer(AllInstanceTypes.ROTATING, Models.partial(AllPartialModels.SHAFT)) + .createInstance() + .rotateToFace(state.getValue(SawBlock.AXIS_ALONG_FIRST_COORDINATE) ? Axis.X : Axis.Z); + } } @Override - protected Model model() { - return shaftModel(level, pos, blockState); + public void update(float pt) { + rotatingModel.setup(blockEntity) + .setChanged(); } - public static Model shaftModel(LevelAccessor level, BlockPos pos, BlockState state) { - if (state.getValue(BlockStateProperties.FACING) - .getAxis() - .isHorizontal()) { - BlockState referenceState = state.rotate(level, pos, Rotation.CLOCKWISE_180); - Direction facing = referenceState.getValue(BlockStateProperties.FACING); - return Models.partial(AllPartialModels.SHAFT_HALF, facing); - } else { - return VirtualRenderHelper.blockModel(KineticBlockEntityVisual.shaft(state)); - } + @Override + public void updateLight(float partialTick) { + relight(rotatingModel); + } + + @Override + protected void _delete() { + rotatingModel.delete(); + } + + protected Model model() { + return VirtualRenderHelper.blockModel(blockState); + } + + @Override + public void collectCrumblingInstances(Consumer consumer) { + consumer.accept(rotatingModel); } } diff --git a/src/main/java/com/simibubi/create/content/kinetics/simpleRelays/BracketedKineticBlockEntityVisual.java b/src/main/java/com/simibubi/create/content/kinetics/simpleRelays/BracketedKineticBlockEntityVisual.java index ceb9513cb1..13762ee478 100644 --- a/src/main/java/com/simibubi/create/content/kinetics/simpleRelays/BracketedKineticBlockEntityVisual.java +++ b/src/main/java/com/simibubi/create/content/kinetics/simpleRelays/BracketedKineticBlockEntityVisual.java @@ -2,97 +2,81 @@ package com.simibubi.create.content.kinetics.simpleRelays; import java.util.function.Consumer; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.math.Axis; +import com.simibubi.create.AllBlocks; import com.simibubi.create.AllPartialModels; import com.simibubi.create.content.kinetics.base.KineticBlockEntityRenderer; import com.simibubi.create.content.kinetics.base.RotatingInstance; -import com.simibubi.create.content.kinetics.base.SingleRotatingVisual; +import com.simibubi.create.content.kinetics.base.SingleAxisRotatingVisual; import com.simibubi.create.foundation.render.AllInstanceTypes; import dev.engine_room.flywheel.api.instance.Instance; -import dev.engine_room.flywheel.api.instance.Instancer; import dev.engine_room.flywheel.api.model.Model; +import dev.engine_room.flywheel.api.visual.BlockEntityVisual; import dev.engine_room.flywheel.api.visualization.VisualizationContext; import dev.engine_room.flywheel.lib.model.Models; -import dev.engine_room.flywheel.lib.transform.TransformStack; -import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; -import net.minecraft.core.Direction.AxisDirection; -public class BracketedKineticBlockEntityVisual extends SingleRotatingVisual { +public class BracketedKineticBlockEntityVisual { - protected RotatingInstance additionalShaft; - - public BracketedKineticBlockEntityVisual(VisualizationContext context, BracketedKineticBlockEntity blockEntity, float partialTick) { - super(context, blockEntity, partialTick); - init(); + public static BlockEntityVisual create(VisualizationContext context, BracketedKineticBlockEntity blockEntity, float partialTick) { + if (ICogWheel.isLargeCog(blockEntity.getBlockState())) { + return new LargeCogVisual(context, blockEntity, partialTick); + } else { + Model model; + if (AllBlocks.COGWHEEL.is(blockEntity.getBlockState().getBlock())) { + model = Models.partial(AllPartialModels.COGWHEEL); + } else { + model = Models.partial(AllPartialModels.SHAFT); + } + return new SingleAxisRotatingVisual<>(context, blockEntity, partialTick, model); + } } - public void init() { - if (ICogWheel.isLargeCog(blockEntity.getBlockState())) { - // Large cogs sometimes have to offset their teeth by 11.25 degrees in order to - // mesh properly + // Large cogs sometimes have to offset their teeth by 11.25 degrees in order to + // mesh properly + public static class LargeCogVisual extends SingleAxisRotatingVisual { - float speed = blockEntity.getSpeed(); - Direction.Axis axis = KineticBlockEntityRenderer.getRotationAxisOf(blockEntity); - BlockPos pos = blockEntity.getBlockPos(); - float offset = BracketedKineticBlockEntityRenderer.getShaftAngleOffset(axis, pos); - var model = Models.partial(AllPartialModels.COGWHEEL_SHAFT, axis, BracketedKineticBlockEntityVisual::rotateToAxis); - Instancer half = instancerProvider().instancer(AllInstanceTypes.ROTATING, model); + protected final RotatingInstance additionalShaft; - additionalShaft = setup(half.createInstance(), speed); - additionalShaft.setRotationOffset(offset) - .setChanged(); - } - } + private LargeCogVisual(VisualizationContext context, BracketedKineticBlockEntity blockEntity, float partialTick) { + super(context, blockEntity, partialTick, Models.partial(AllPartialModels.SHAFTLESS_LARGE_COGWHEEL)); - @Override - protected Model model() { - if (!ICogWheel.isLargeCog(blockEntity.getBlockState())) - return super.model(); + Direction.Axis axis = KineticBlockEntityRenderer.getRotationAxisOf(blockEntity); - Direction.Axis axis = KineticBlockEntityRenderer.getRotationAxisOf(blockEntity); - return Models.partial(AllPartialModels.SHAFTLESS_LARGE_COGWHEEL, axis, BracketedKineticBlockEntityVisual::rotateToAxis); - } + additionalShaft = instancerProvider().instancer(AllInstanceTypes.ROTATING, Models.partial(AllPartialModels.COGWHEEL_SHAFT)) + .createInstance(); - private static void rotateToAxis(Direction.Axis axis, PoseStack ms) { - Direction facing = Direction.fromAxisAndDirection(axis, AxisDirection.POSITIVE); - TransformStack.of(ms) - .center() - .rotateToFace(facing) - .rotate(Axis.XN.rotationDegrees(-90)) - .uncenter(); - } + additionalShaft.rotateToFace(axis) + .setup(blockEntity) + .setRotationOffset(BracketedKineticBlockEntityRenderer.getShaftAngleOffset(axis, pos)) + .setPosition(getVisualPosition()) + .setChanged(); + } - @Override - public void update(float pt) { - super.update(pt); - if (additionalShaft != null) { + @Override + public void update(float pt) { + super.update(pt); updateRotation(additionalShaft); additionalShaft.setRotationOffset(BracketedKineticBlockEntityRenderer.getShaftAngleOffset(rotationAxis(), pos)) .setChanged(); } - } - @Override - public void updateLight(float partialTick) { - super.updateLight(partialTick); - if (additionalShaft != null) + @Override + public void updateLight(float partialTick) { + super.updateLight(partialTick); relight(additionalShaft); - } + } - @Override - protected void _delete() { - super._delete(); - if (additionalShaft != null) + @Override + protected void _delete() { + super._delete(); additionalShaft.delete(); - } + } - @Override - public void collectCrumblingInstances(Consumer consumer) { - super.collectCrumblingInstances(consumer); - if (additionalShaft != null) + @Override + public void collectCrumblingInstances(Consumer consumer) { + super.collectCrumblingInstances(consumer); consumer.accept(additionalShaft); + } } } diff --git a/src/main/java/com/simibubi/create/content/kinetics/transmission/SplitShaftVisual.java b/src/main/java/com/simibubi/create/content/kinetics/transmission/SplitShaftVisual.java index c2f1fce6f7..d03ffadcfe 100644 --- a/src/main/java/com/simibubi/create/content/kinetics/transmission/SplitShaftVisual.java +++ b/src/main/java/com/simibubi/create/content/kinetics/transmission/SplitShaftVisual.java @@ -33,10 +33,15 @@ public class SplitShaftVisual extends KineticBlockEntityVisual) entityTypeIn, worldIn); box = ItemStack.EMPTY; setYRot(this.random.nextFloat() * 360.0F); + yRotO = getYRot(); insertionDelay = 30; } diff --git a/src/main/java/com/simibubi/create/content/logistics/factoryBoard/FactoryPanelBehaviour.java b/src/main/java/com/simibubi/create/content/logistics/factoryBoard/FactoryPanelBehaviour.java index d3f0bc320c..dad8181cf5 100644 --- a/src/main/java/com/simibubi/create/content/logistics/factoryBoard/FactoryPanelBehaviour.java +++ b/src/main/java/com/simibubi/create/content/logistics/factoryBoard/FactoryPanelBehaviour.java @@ -93,13 +93,13 @@ public class FactoryPanelBehaviour extends FilteringBehaviour { public int promiseClearingInterval; public boolean forceClearPromises; public UUID network; + public boolean active; public boolean redstonePowered; public RequestPromiseQueue restockerPromises; private boolean promisePrimedForMarkDirty; - private boolean active; private int lastReportedUnloadedLinks; private int lastReportedLevelInStorage; private int lastReportedPromises; @@ -124,7 +124,7 @@ public class FactoryPanelBehaviour extends FilteringBehaviour { this.promiseClearingInterval = -1; this.bulb = LerpedFloat.linear() .startWithValue(0) - .chase(0, 0.125, Chaser.EXP); + .chase(0, 0.175, Chaser.EXP); this.restockerPromises = new RequestPromiseQueue(be::setChanged); this.promisePrimedForMarkDirty = true; this.network = UUID.randomUUID(); @@ -184,6 +184,8 @@ public class FactoryPanelBehaviour extends FilteringBehaviour { public void tick() { super.tick(); if (getWorld().isClientSide()) { + if (blockEntity.isVirtual()) + tickStorageMonitor(); bulb.updateChaseTarget(redstonePowered || satisfied ? 1 : 0); bulb.tickChaser(); return; @@ -266,7 +268,8 @@ public class FactoryPanelBehaviour extends FilteringBehaviour { promisedSatisfied = shouldPromiseSatisfy; lastReportedUnloadedLinks = unloadedLinkCount; waitingForNetwork = shouldWait; - blockEntity.sendData(); + if (!getWorld().isClientSide) + blockEntity.sendData(); if (notifyOutputs) notifyRedstoneOutputs(); } @@ -565,6 +568,8 @@ public class FactoryPanelBehaviour extends FilteringBehaviour { } public int getLevelInStorage() { + if (blockEntity.isVirtual()) + return 1; if (getWorld().isClientSide()) return lastReportedLevelInStorage; if (getFilter().isEmpty()) diff --git a/src/main/java/com/simibubi/create/content/logistics/factoryBoard/FactoryPanelModel.java b/src/main/java/com/simibubi/create/content/logistics/factoryBoard/FactoryPanelModel.java index f5317b11f4..f339db6c61 100644 --- a/src/main/java/com/simibubi/create/content/logistics/factoryBoard/FactoryPanelModel.java +++ b/src/main/java/com/simibubi/create/content/logistics/factoryBoard/FactoryPanelModel.java @@ -15,6 +15,7 @@ import com.simibubi.create.foundation.model.BakedQuadHelper; import dev.engine_room.flywheel.lib.model.baked.PartialModel; import net.createmod.catnip.utility.VecHelper; +import net.createmod.ponder.api.level.PonderLevel; import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.block.model.BakedQuad; import net.minecraft.client.resources.model.BakedModel; @@ -48,6 +49,7 @@ public class FactoryPanelModel extends BakedModelWrapperWithData { data.states.put(slot, behaviour.count == 0 ? PanelState.PASSIVE : PanelState.ACTIVE); data.type = behaviour.panelBE().restocker ? PanelType.PACKAGER : PanelType.NETWORK; } + data.ponder = world instanceof PonderLevel; return builder.with(PANEL_PROPERTY, data); } @@ -61,12 +63,12 @@ public class FactoryPanelModel extends BakedModelWrapperWithData { for (PanelSlot panelSlot : PanelSlot.values()) if (modelData.states.containsKey(panelSlot)) addPanel(quads, state, panelSlot, modelData.type, modelData.states.get(panelSlot), rand, data, - renderType); + renderType, modelData.ponder); return quads; } public void addPanel(List quads, BlockState state, PanelSlot slot, PanelType type, PanelState panelState, - RandomSource rand, ModelData data, RenderType renderType) { + RandomSource rand, ModelData data, RenderType renderType, boolean ponder) { PartialModel factoryPanel = panelState == PanelState.PASSIVE ? type == PanelType.NETWORK ? AllPartialModels.FACTORY_PANEL : AllPartialModels.FACTORY_PANEL_RESTOCKER : type == PanelType.NETWORK ? AllPartialModels.FACTORY_PANEL_WITH_BULB @@ -77,7 +79,7 @@ public class FactoryPanelModel extends BakedModelWrapperWithData { float xRot = Mth.RAD_TO_DEG * FactoryPanelBlock.getXRot(state); float yRot = Mth.RAD_TO_DEG * FactoryPanelBlock.getYRot(state); - + for (BakedQuad bakedQuad : quadsToAdd) { int[] vertices = bakedQuad.getVertices(); int[] transformedVertices = Arrays.copyOf(vertices, vertices.length); @@ -108,7 +110,7 @@ public class FactoryPanelModel extends BakedModelWrapperWithData { Direction newNormal = Direction.fromDelta((int) Math.round(quadNormal.x), (int) Math.round(quadNormal.y), (int) Math.round(quadNormal.z)); quads.add(new BakedQuad(transformedVertices, bakedQuad.getTintIndex(), newNormal, bakedQuad.getSprite(), - bakedQuad.isShade())); + !ponder && bakedQuad.isShade())); } } @@ -116,6 +118,7 @@ public class FactoryPanelModel extends BakedModelWrapperWithData { private static class FactoryPanelModelData { public PanelType type; public EnumMap states = new EnumMap<>(PanelSlot.class); + private boolean ponder; } } diff --git a/src/main/java/com/simibubi/create/content/logistics/item/filter/attribute/AllItemAttributeTypes.java b/src/main/java/com/simibubi/create/content/logistics/item/filter/attribute/AllItemAttributeTypes.java index f763e9b2ef..746821dae9 100644 --- a/src/main/java/com/simibubi/create/content/logistics/item/filter/attribute/AllItemAttributeTypes.java +++ b/src/main/java/com/simibubi/create/content/logistics/item/filter/attribute/AllItemAttributeTypes.java @@ -3,9 +3,6 @@ package com.simibubi.create.content.logistics.item.filter.attribute; import java.util.function.BiPredicate; import java.util.function.Predicate; -import com.simibubi.create.content.kinetics.fan.processing.AllFanProcessingTypes.HauntingType; -import com.simibubi.create.content.kinetics.fan.processing.AllFanProcessingTypes.SplashingType; - import org.jetbrains.annotations.ApiStatus; import com.simibubi.create.AllRecipeTypes; @@ -35,6 +32,7 @@ import net.minecraft.world.item.crafting.SingleRecipeInput; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.ComposterBlock; import net.minecraft.world.level.block.entity.AbstractFurnaceBlockEntity; + import net.neoforged.bus.api.IEventBus; import net.neoforged.neoforge.capabilities.Capabilities; import net.neoforged.neoforge.registries.DeferredRegister; @@ -60,14 +58,8 @@ public class AllItemAttributeTypes { return type != EquipmentSlot.Type.HAND; }), FURNACE_FUEL = singleton("furnace_fuel", AbstractFurnaceBlockEntity::isFuel), - WASHABLE = singleton("washable", (s, l) -> { - SplashingType type = AllFanProcessingTypes.SPLASHING.get(); - return type != null && type.canProcess(s, l); - }), - HAUNTABLE = singleton("hauntable", (s, l) -> { - HauntingType type = AllFanProcessingTypes.HAUNTING.get(); - return type != null && type.canProcess(s, l); - }), + WASHABLE = singleton("washable", AllFanProcessingTypes.SPLASHING::canProcess), + HAUNTABLE = singleton("hauntable", AllFanProcessingTypes.HAUNTING::canProcess), CRUSHABLE = singleton("crushable", (s, w) -> testRecipe(s, w, AllRecipeTypes.CRUSHING.getType()) || testRecipe(s, w, AllRecipeTypes.MILLING.getType())), SMELTABLE = singleton("smeltable", (s, w) -> testRecipe(s, w, RecipeType.SMELTING)), diff --git a/src/main/java/com/simibubi/create/content/logistics/itemHatch/ItemHatchBlock.java b/src/main/java/com/simibubi/create/content/logistics/itemHatch/ItemHatchBlock.java index 08c3a1678b..13c101e007 100644 --- a/src/main/java/com/simibubi/create/content/logistics/itemHatch/ItemHatchBlock.java +++ b/src/main/java/com/simibubi/create/content/logistics/itemHatch/ItemHatchBlock.java @@ -170,6 +170,11 @@ public class ItemHatchBlock extends HorizontalDirectionalBlock pLevel.setBlockAndUpdate(pPos, pState.setValue(OPEN, false)); } + @Override + public void onRemove(BlockState state, Level level, BlockPos pos, BlockState newState, boolean movedByPiston) { + IBE.onRemove(state, level, pos, newState); + } + @Override public Class getBlockEntityClass() { return ItemHatchBlockEntity.class; diff --git a/src/main/java/com/simibubi/create/content/logistics/packagePort/postbox/PostboxBlockEntity.java b/src/main/java/com/simibubi/create/content/logistics/packagePort/postbox/PostboxBlockEntity.java index 2348a4705c..7989ee28b0 100644 --- a/src/main/java/com/simibubi/create/content/logistics/packagePort/postbox/PostboxBlockEntity.java +++ b/src/main/java/com/simibubi/create/content/logistics/packagePort/postbox/PostboxBlockEntity.java @@ -29,6 +29,7 @@ public class PostboxBlockEntity extends PackagePortBlockEntity { public WeakReference trackedGlobalStation; public LerpedFloat flag; + public boolean forceFlag; private boolean sendParticles; @@ -50,7 +51,7 @@ public class PostboxBlockEntity extends PackagePortBlockEntity { @Override public void tick() { super.tick(); - if (!level.isClientSide) { + if (!level.isClientSide && !isVirtual()) { if (sendParticles) sendData(); return; @@ -58,7 +59,7 @@ public class PostboxBlockEntity extends PackagePortBlockEntity { float currentTarget = flag.getChaseTarget(); if (currentTarget == 0 || flag.settled()) { - int target = inventory.isEmpty() ? 0 : 1; + int target = (inventory.isEmpty() && !forceFlag) ? 0 : 1; if (target != currentTarget) { flag.chase(target, 0.1f, Chaser.LINEAR); if (target == 1) diff --git a/src/main/java/com/simibubi/create/content/logistics/tableCloth/TableClothBlock.java b/src/main/java/com/simibubi/create/content/logistics/tableCloth/TableClothBlock.java index 90576e3f0f..8442092d08 100644 --- a/src/main/java/com/simibubi/create/content/logistics/tableCloth/TableClothBlock.java +++ b/src/main/java/com/simibubi/create/content/logistics/tableCloth/TableClothBlock.java @@ -89,6 +89,8 @@ public class TableClothBlock extends Block implements IHaveBigOutline, IWrenchab protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hitResult) { if (hitResult.getDirection() == Direction.DOWN) return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; + if (level.isClientSide) + return ItemInteractionResult.SUCCESS; ItemStack heldItem = player.getItemInHand(hand); boolean shiftKeyDown = player.isShiftKeyDown(); diff --git a/src/main/java/com/simibubi/create/content/processing/recipe/ProcessingRecipeBuilder.java b/src/main/java/com/simibubi/create/content/processing/recipe/ProcessingRecipeBuilder.java index ac7eda92e4..28a6102e62 100644 --- a/src/main/java/com/simibubi/create/content/processing/recipe/ProcessingRecipeBuilder.java +++ b/src/main/java/com/simibubi/create/content/processing/recipe/ProcessingRecipeBuilder.java @@ -26,12 +26,13 @@ import net.neoforged.neoforge.common.conditions.NotCondition; import net.neoforged.neoforge.fluids.FluidStack; public class ProcessingRecipeBuilder> { - + protected ResourceLocation recipeId; protected ProcessingRecipeFactory factory; protected ProcessingRecipeParams params; protected List recipeConditions; public ProcessingRecipeBuilder(ProcessingRecipeFactory factory, ResourceLocation recipeId) { + this.recipeId = recipeId; params = new ProcessingRecipeParams(recipeId); recipeConditions = new ArrayList<>(); this.factory = factory; @@ -175,6 +176,10 @@ public class ProcessingRecipeBuilder> { return output(new ProcessingOutput(Pair.of(mod.asResource(id), amount), chance)); } + public ProcessingRecipeBuilder output(ResourceLocation id) { + return output(1, id, 1); + } + public ProcessingRecipeBuilder output(Mods mod, String id) { return output(1, mod.asResource(id), 1); } diff --git a/src/main/java/com/simibubi/create/content/trains/track/TrackPlacement.java b/src/main/java/com/simibubi/create/content/trains/track/TrackPlacement.java index d881b5b30a..ff74747824 100644 --- a/src/main/java/com/simibubi/create/content/trains/track/TrackPlacement.java +++ b/src/main/java/com/simibubi/create/content/trains/track/TrackPlacement.java @@ -391,7 +391,7 @@ public class TrackPlacement { ItemStack offhandItem = player.getOffhandItem() .copy(); - boolean shouldPave = offhandItem.getItem() instanceof BlockItem; + boolean shouldPave = offhandItem.getItem() instanceof BlockItem && !offhandItem.is(AllTags.AllItemTags.INVALID_FOR_TRACK_PAVING.tag); if (shouldPave) { BlockItem paveItem = (BlockItem) offhandItem.getItem(); paveTracks(level, info, paveItem, true); diff --git a/src/main/java/com/simibubi/create/content/trains/track/TrackVisual.java b/src/main/java/com/simibubi/create/content/trains/track/TrackVisual.java index d37765931e..d3f7329e6f 100644 --- a/src/main/java/com/simibubi/create/content/trains/track/TrackVisual.java +++ b/src/main/java/com/simibubi/create/content/trains/track/TrackVisual.java @@ -13,7 +13,7 @@ import com.simibubi.create.AllPartialModels; import com.simibubi.create.content.contraptions.render.ContraptionVisual; import com.simibubi.create.content.trains.track.BezierConnection.GirderAngles; import com.simibubi.create.content.trains.track.BezierConnection.SegmentAngles; -import com.simibubi.create.foundation.render.ShaderLightPartial; +import com.simibubi.create.foundation.render.SpecialModels; import dev.engine_room.flywheel.api.instance.Instance; import dev.engine_room.flywheel.api.visual.ShaderLightVisual; @@ -157,11 +157,11 @@ public class TrackVisual extends AbstractBlockEntityVisual imp TrackMaterial.TrackModelHolder modelHolder = bc.getMaterial().getModelHolder(); - instancerProvider().instancer(InstanceTypes.TRANSFORMED, ShaderLightPartial.flat(modelHolder.tie())) + instancerProvider().instancer(InstanceTypes.TRANSFORMED, SpecialModels.flatChunk(modelHolder.tie())) .createInstances(ties); - instancerProvider().instancer(InstanceTypes.TRANSFORMED, ShaderLightPartial.flat(modelHolder.leftSegment())) + instancerProvider().instancer(InstanceTypes.TRANSFORMED, SpecialModels.flatChunk(modelHolder.leftSegment())) .createInstances(left); - instancerProvider().instancer(InstanceTypes.TRANSFORMED, ShaderLightPartial.flat(modelHolder.rightSegment())) + instancerProvider().instancer(InstanceTypes.TRANSFORMED, SpecialModels.flatChunk(modelHolder.rightSegment())) .createInstances(right); SegmentAngles[] segments = bc.getBakedSegments(); diff --git a/src/main/java/com/simibubi/create/foundation/block/IBE.java b/src/main/java/com/simibubi/create/foundation/block/IBE.java index 953779140e..3affe80672 100644 --- a/src/main/java/com/simibubi/create/foundation/block/IBE.java +++ b/src/main/java/com/simibubi/create/foundation/block/IBE.java @@ -44,7 +44,7 @@ public interface IBE extends EntityBlock { * if the IBE is bound to a SmartBlockEntity, which implements destroy(),
* call this method in BlockBehaviour::onRemove (replace super call) */ - public static void onRemove(BlockState blockState, Level level, BlockPos pos, BlockState newBlockState) { + static void onRemove(BlockState blockState, Level level, BlockPos pos, BlockState newBlockState) { if (!blockState.hasBlockEntity()) return; if (blockState.is(newBlockState.getBlock()) && newBlockState.hasBlockEntity()) diff --git a/src/main/java/com/simibubi/create/foundation/data/MetalBarsGen.java b/src/main/java/com/simibubi/create/foundation/data/MetalBarsGen.java index 112892b1d1..5882b408a3 100644 --- a/src/main/java/com/simibubi/create/foundation/data/MetalBarsGen.java +++ b/src/main/java/com/simibubi/create/foundation/data/MetalBarsGen.java @@ -136,9 +136,7 @@ public class MetalBarsGen { .item() .model((c, p) -> { ResourceLocation barsTexture = p.modLoc("block/bars/" + name + "_bars"); - p.withExistingParent(c.getName(), Create.asResource("item/bars")) - .texture("bars", barsTexture) - .texture("edge", specialEdge ? p.modLoc("block/bars/" + name + "_bars_edge") : barsTexture); + p.generated(c, barsTexture); }) .recipe((c, p) -> p.stonecutting(ingredient.get(), RecipeCategory.DECORATIONS, c::get, 4)) .build() diff --git a/src/main/java/com/simibubi/create/foundation/data/WindowGen.java b/src/main/java/com/simibubi/create/foundation/data/WindowGen.java index d1a4afa73f..3c464d704c 100644 --- a/src/main/java/com/simibubi/create/foundation/data/WindowGen.java +++ b/src/main/java/com/simibubi/create/foundation/data/WindowGen.java @@ -41,6 +41,7 @@ import net.minecraft.world.level.block.state.BlockBehaviour.Properties; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.properties.WoodType; import net.minecraft.world.level.material.MapColor; + import net.neoforged.neoforge.client.model.generators.ConfiguredModel; import net.neoforged.neoforge.client.model.generators.ModelFile; import net.neoforged.neoforge.common.Tags; @@ -68,8 +69,8 @@ public class WindowGen { } public static BlockBuilder randomisedWindowBlock(String name, - Supplier ingredient, Supplier> renderType, boolean translucent, - Supplier color) { + Supplier ingredient, Supplier> renderType, boolean translucent, + Supplier color) { ResourceLocation end_texture = Create.asResource(palettesDir() + name + "_end"); ResourceLocation side_texture = Create.asResource(palettesDir() + name); Function ends = i -> Create.asResource(palettesDir() + name + "_" + i + "_end"); @@ -253,9 +254,7 @@ public class WindowGen { .loot((t, g) -> t.dropWhenSilkTouch(g)) .item() .tag(Tags.Items.GLASS_PANES) - .model((c, p) -> p.withExistingParent(c.getName(), Create.asResource("item/pane")) - .texture("pane", sideTexture) - .texture("edge", topTexture)) + .model((c, p) -> p.generated(c, sideTexture)) .build(); } diff --git a/src/main/java/com/simibubi/create/foundation/data/recipe/CuttingRecipeGen.java b/src/main/java/com/simibubi/create/foundation/data/recipe/CuttingRecipeGen.java index fea9f11711..df50f66dd0 100644 --- a/src/main/java/com/simibubi/create/foundation/data/recipe/CuttingRecipeGen.java +++ b/src/main/java/com/simibubi/create/foundation/data/recipe/CuttingRecipeGen.java @@ -15,35 +15,12 @@ import net.minecraft.world.level.block.Blocks; public class CuttingRecipeGen extends ProcessingRecipeGen { GeneratedRecipe - - ANDESITE_ALLOY = create(I::andesiteAlloy, b -> b.duration(200) - .output(AllBlocks.SHAFT.get(), 6)), + ANDESITE_ALLOY = create(I::andesiteAlloy, b -> b.duration(200) + .output(AllBlocks.SHAFT.get(), 6)), BAMBOO_PLANKS = create(() -> Blocks.BAMBOO_PLANKS, b -> b.duration(20) .output(Blocks.BAMBOO_MOSAIC, 1)), - - OAK_WOOD = stripAndMakePlanks(Blocks.OAK_WOOD, Blocks.STRIPPED_OAK_WOOD, Blocks.OAK_PLANKS), - SPRUCE_WOOD = stripAndMakePlanks(Blocks.SPRUCE_WOOD, Blocks.STRIPPED_SPRUCE_WOOD, Blocks.SPRUCE_PLANKS), - BIRCH_WOOD = stripAndMakePlanks(Blocks.BIRCH_WOOD, Blocks.STRIPPED_BIRCH_WOOD, Blocks.BIRCH_PLANKS), - JUNGLE_WOOD = stripAndMakePlanks(Blocks.JUNGLE_WOOD, Blocks.STRIPPED_JUNGLE_WOOD, Blocks.JUNGLE_PLANKS), - ACACIA_WOOD = stripAndMakePlanks(Blocks.ACACIA_WOOD, Blocks.STRIPPED_ACACIA_WOOD, Blocks.ACACIA_PLANKS), - CHERRY_WOOD = stripAndMakePlanks(Blocks.CHERRY_WOOD, Blocks.STRIPPED_CHERRY_WOOD, Blocks.CHERRY_PLANKS), - DARK_OAK_WOOD = stripAndMakePlanks(Blocks.DARK_OAK_WOOD, Blocks.STRIPPED_DARK_OAK_WOOD, Blocks.DARK_OAK_PLANKS), - MANGROVE_WOOD = stripAndMakePlanks(Blocks.MANGROVE_WOOD, Blocks.STRIPPED_MANGROVE_WOOD, Blocks.MANGROVE_PLANKS), - CRIMSON_WOOD = stripAndMakePlanks(Blocks.CRIMSON_HYPHAE, Blocks.STRIPPED_CRIMSON_HYPHAE, Blocks.CRIMSON_PLANKS), - WARPED_WOOD = stripAndMakePlanks(Blocks.WARPED_HYPHAE, Blocks.STRIPPED_WARPED_HYPHAE, Blocks.WARPED_PLANKS), - - OAK_LOG = stripAndMakePlanks(Blocks.OAK_LOG, Blocks.STRIPPED_OAK_LOG, Blocks.OAK_PLANKS), - SPRUCE_LOG = stripAndMakePlanks(Blocks.SPRUCE_LOG, Blocks.STRIPPED_SPRUCE_LOG, Blocks.SPRUCE_PLANKS), - BIRCH_LOG = stripAndMakePlanks(Blocks.BIRCH_LOG, Blocks.STRIPPED_BIRCH_LOG, Blocks.BIRCH_PLANKS), - JUNGLE_LOG = stripAndMakePlanks(Blocks.JUNGLE_LOG, Blocks.STRIPPED_JUNGLE_LOG, Blocks.JUNGLE_PLANKS), - ACACIA_LOG = stripAndMakePlanks(Blocks.ACACIA_LOG, Blocks.STRIPPED_ACACIA_LOG, Blocks.ACACIA_PLANKS), - CHERRY_LOG = stripAndMakePlanks(Blocks.CHERRY_LOG, Blocks.STRIPPED_CHERRY_LOG, Blocks.CHERRY_PLANKS), - DARK_OAK_LOG = stripAndMakePlanks(Blocks.DARK_OAK_LOG, Blocks.STRIPPED_DARK_OAK_LOG, Blocks.DARK_OAK_PLANKS), - MANGROVE_LOG = stripAndMakePlanks(Blocks.MANGROVE_LOG, Blocks.STRIPPED_MANGROVE_LOG, Blocks.MANGROVE_PLANKS), BAMBOO_BLOCK = stripAndMakePlanks(Blocks.BAMBOO_BLOCK, Blocks.STRIPPED_BAMBOO_BLOCK, Blocks.BAMBOO_PLANKS, 3), - CRIMSON_LOG = stripAndMakePlanks(Blocks.CRIMSON_STEM, Blocks.STRIPPED_CRIMSON_STEM, Blocks.CRIMSON_PLANKS), - WARPED_LOG = stripAndMakePlanks(Blocks.WARPED_STEM, Blocks.STRIPPED_WARPED_STEM, Blocks.WARPED_PLANKS), /* * Mod compat @@ -52,122 +29,9 @@ public class CuttingRecipeGen extends ProcessingRecipeGen { // Ars Nouveau (all logs yield the same plank) ARS_N = cuttingCompat(Mods.ARS_N, "blue_archwood", "purple_archwood", "green_archwood", "red_archwood"), - // Botania (stripped prefix is offset) - BTN = cuttingCompat(Mods.BTN, "livingwood", "dreamwood"), - BTN_2 = stripAndMakePlanks(Mods.BTN, "glimmering_livingwood_log", "glimmering_stripped_livingwood_log", - "livingwood_planks"), - BTN_3 = stripAndMakePlanks(Mods.BTN, "glimmering_livingwood", "glimmering_stripped_livingwood", - "livingwood_planks"), - BTN_4 = stripAndMakePlanks(Mods.BTN, "glimmering_dreamwood_log", "glimmering_stripped_dreamwood_log", - "dreamwood_planks"), - BTN_5 = - stripAndMakePlanks(Mods.BTN, "glimmering_dreamwood", "glimmering_stripped_dreamwood", "dreamwood_planks"), - - // Forbidden Arcanus - FA = cuttingCompat(Mods.FA, "aurum"), - - // Hexcasting (stripped is a suffix here) - HEX = cuttingCompat(Mods.HEX, "edified"), - - // Integrated Dynamics (stripped is a suffix here also) - ID = cuttingCompat(Mods.ID, "menril"), - - // Oh The Biomes You'll Go - BYG = - cuttingCompat(Mods.BYG, "aspen", "baobab", "blue_enchanted", "cika", "cypress", "ebony", "ether", - "fir", "green_enchanted", "holly", "jacaranda", "lament", "mahogany", "maple", "nightshade", - "palm", "pine", "rainbow_eucalyptus", "redwood", "skyris", "willow", "witch_hazel", "zelkova"), - BYG_2 = stripAndMakePlanks(Mods.BYG, "bulbis_stem", "stripped_bulbis_stem", "bulbis_planks"), - BYG_3 = stripAndMakePlanks(Mods.BYG, "bulbis_wood", "stripped_bulbis_wood", "bulbis_planks"), - BYG_4 = stripAndMakePlanks(Mods.BYG, null, "imparius_stem", "imparius_planks"), - BYG_5 = stripAndMakePlanks(Mods.BYG, null, "imparius_hyphae", "imparius_planks"), - BYG_6 = stripAndMakePlanks(Mods.BYG, null, "fungal_imparius_stem", "imparius_planks"), - BYG_7 = stripAndMakePlanks(Mods.BYG, null, "fungal_imparius_hyphae", "imparius_planks"), - BYG_8 = stripAndMakePlanks(Mods.BYG, "palo_verde_log", "stripped_palo_verde_log", null), - BYG_9 = stripAndMakePlanks(Mods.BYG, "palo_verde_wood", "stripped_palo_verde_wood", null), - - // Silent Gear - SG = cuttingCompat(Mods.SG, "netherwood"), - - // Twilight Forest - TF = cuttingCompat(Mods.TF, "twilight_oak", "canopy", "mangrove", "dark", "time", "transformation", "mining", - "sorting"), - - // Tinkers Construct - TIC = cuttingCompat(Mods.TIC, "greenheart", "skyroot", "bloodshroom"), - - // Architects palette - AP = cuttingCompat(Mods.AP, "twisted"), - - // Quark - Q = cuttingCompat(Mods.Q, "azalea", "blossom", "ancient"), - - // Ecologics - ECO = cuttingCompat(Mods.ECO, "coconut", "walnut", "azalea"), - ECO_2 = stripAndMakePlanks(Mods.ECO, "flowering_azalea_log", "stripped_azalea_log", null), - ECO_3 = stripAndMakePlanks(Mods.ECO, "flowering_azalea_wood", "stripped_azalea_wood", null), - - // Biomes O' Plenty - BOP = cuttingCompat(Mods.BOP, "fir", "redwood", "mahogany", "jacaranda", "palm", "willow", "dead", - "magic", "umbran", "hellbark"), - - // Blue Skies (crystallized does not have stripped variants) - BSK = cuttingCompat(Mods.BSK, "bluebright", "starlit", "frostbright", "lunar", "dusk", "maple"), - BSK_2 = stripAndMakePlanks(Mods.BSK, null, "crystallized_log", "crystallized_planks"), - BSK_3 = stripAndMakePlanks(Mods.BSK, null, "crystallized_wood", "crystallized_planks"), - - // Atmospheric - ATM = cuttingCompat(Mods.ATM, "aspen", "kousa", "yucca", "morado"), - ATM_2 = stripAndMakePlanks(Mods.ATM, "grimwood", "stripped_grimwood", "grimwood_planks"), - ATM_3 = stripAndMakePlanks(Mods.ATM, "rosewood", "stripped_rosewood", "rosewood_planks"), - ATM_4 = cuttingCompatLogOnly(Mods.ATM, "grimwood", "rosewood"), - - // Autumnity - AUTUM = cuttingCompat(Mods.AUTUM, "maple"), - AUTUM_2 = stripAndMakePlanks(Mods.AUTUM, "sappy_maple_wood", "sappy_maple_log", "maple_planks"), - - // Endergetic - ENDERGETIC = stripAndMakePlanks(Mods.ENDER, "poise_stem", "stripped_poise_stem", "poise_planks"), - - // Upgrade Aquatic - UA = cuttingCompat(Mods.UA, "river"), - UA_2 = stripAndMakePlanks(Mods.UA, "driftwood", "stripped_driftwood", "driftwood_planks"), - UA_3 = cuttingCompatLogOnly(Mods.UA, "driftwood"), - - //Vault Hunters - VH = cuttingCompatLogOnly(Mods.VH, "wooden", "overgrown_wooden", "driftwood", "chromatic"), - - // Nether's Exoticism - NE = cuttingCompat(Mods.NE, "ramboutan"), // This actually errors until they fix their id typo - NE_2 = cuttingCompatLogOnly(Mods.NE, "jabuticaba"), - // Regions Unexplored - RU = cuttingCompat(Mods.RU, "baobab", "blackwood", "brimwood", "cobalt", "cypress", "dead", "eucalyptus", "joshua", - "kapok", "larch", "magnolia", "maple","mauve", "palm", "pine", "redwood", "socotra", "willow"), - RU_2 = stripAndMakePlanks(Mods.RU, "blue_bioshroom_stem", "stripped_blue_bioshroom_stem", "blue_bioshroom_planks"), - RU_3 = stripAndMakePlanks(Mods.RU, "blue_bioshroom_hyphae", "stripped_blue_bioshroom_hyphae", "blue_bioshroom_planks"), - RU_4 = stripAndMakePlanks(Mods.RU, "green_bioshroom_stem", "stripped_green_bioshroom_stem", "green_bioshroom_planks"), - RU_5 = stripAndMakePlanks(Mods.RU, "green_bioshroom_hyphae", "stripped_green_bioshroom_hyphae", "green_bioshroom_planks"), - RU_6 = stripAndMakePlanks(Mods.RU, "pink_bioshroom_stem", "stripped_pink_bioshroom_stem", "pink_bioshroom_planks"), - RU_7 = stripAndMakePlanks(Mods.RU, "pink_bioshroom_hyphae", "stripped_pink_bioshroom_hyphae", "pink_bioshroom_planks"), - RU_8 = stripAndMakePlanks(Mods.RU, "yellow_bioshroom_stem", "stripped_yellow_bioshroom_stem", "yellow_bioshroom_planks"), - RU_9 = stripAndMakePlanks(Mods.RU, "yellow_bioshroom_hyphae", "stripped_yellow_bioshroom_hyphae", "yellow_bioshroom_planks"), - RU_10 = stripAndMakePlanks(Mods.RU, null, "alpha_log", "alpha_planks"), - RU_11 = stripAndMakePlanks(Mods.RU, "brimwood_log_magma", "stripped_brimwood", null), - RU_12 = stripAndMakePlanks(Mods.RU, "ashen_log", "stripped_dead_log", null), - RU_13 = stripAndMakePlanks(Mods.RU, "ashen_wood", "stripped_dead_wood", null), RU_14 = stripOnlyDiffModId(Mods.RU, "silver_birch_log", Mods.MC, "stripped_birch_log"), - RU_15 = stripOnlyDiffModId(Mods.RU, "silver_birch_wood", Mods.MC, "stripped_birch_wood"), - - // Environmental - ENV = cuttingCompat(Mods.ENV, "willow", "cherry", "wisteria"), - - // Windswept - WSP = cuttingCompat(Mods.WSP, "holly", "chestnut"), - - // Good Ending - GOOD = cuttingCompat(Mods.GOOD, "muddy_oak", "cypress") - + RU_15 = stripOnlyDiffModId(Mods.RU, "silver_birch_wood", Mods.MC, "stripped_birch_wood") ; GeneratedRecipe stripAndMakePlanks(Block wood, Block stripped, Block planks) { diff --git a/src/main/java/com/simibubi/create/foundation/events/CommonEvents.java b/src/main/java/com/simibubi/create/foundation/events/CommonEvents.java index 72f4d0a3f6..68d7d9eecf 100644 --- a/src/main/java/com/simibubi/create/foundation/events/CommonEvents.java +++ b/src/main/java/com/simibubi/create/foundation/events/CommonEvents.java @@ -52,8 +52,11 @@ import com.simibubi.create.content.redstone.displayLink.DisplayLinkBlockEntity; import com.simibubi.create.content.redstone.link.controller.LinkedControllerServerHandler; import com.simibubi.create.content.trains.entity.CarriageEntityHandler; import com.simibubi.create.content.trains.station.StationBlockEntity; +import com.simibubi.create.foundation.pack.DynamicPack; +import com.simibubi.create.foundation.pack.DynamicPackSource; import com.simibubi.create.foundation.map.StationMapDecorationRenderer; import com.simibubi.create.foundation.recipe.RecipeFinder; +import com.simibubi.create.foundation.recipe.RuntimeDataGenerator; import com.simibubi.create.foundation.utility.ServerSpeedProvider; import com.simibubi.create.foundation.utility.TickBasedCache; import com.simibubi.create.infrastructure.command.AllCommands; @@ -260,6 +263,12 @@ public class CommonEvents { } }); } + + if (event.getPackType() == PackType.SERVER_DATA) { + DynamicPack dynamicPack = new DynamicPack("create:dynamic_data", PackType.SERVER_DATA); + RuntimeDataGenerator.insertIntoPack(dynamicPack); + event.addRepositorySource(new DynamicPackSource("create:dynamic_data", PackType.SERVER_DATA, Pack.Position.BOTTOM, dynamicPack)); + } } @SubscribeEvent diff --git a/src/main/java/com/simibubi/create/foundation/item/SmartInventory.java b/src/main/java/com/simibubi/create/foundation/item/SmartInventory.java index d9c8881c71..0b04ebb5fa 100644 --- a/src/main/java/com/simibubi/create/foundation/item/SmartInventory.java +++ b/src/main/java/com/simibubi/create/foundation/item/SmartInventory.java @@ -4,18 +4,19 @@ import java.util.function.Consumer; import javax.annotation.Nonnull; +import com.simibubi.create.foundation.blockEntity.LegacyRecipeWrapper; import com.simibubi.create.foundation.blockEntity.SyncedBlockEntity; import net.minecraft.core.HolderLookup; import net.minecraft.core.component.DataComponents; import net.minecraft.nbt.CompoundTag; import net.minecraft.world.item.ItemStack; + import net.neoforged.neoforge.common.util.INBTSerializable; import net.neoforged.neoforge.items.IItemHandlerModifiable; import net.neoforged.neoforge.items.ItemStackHandler; -import net.neoforged.neoforge.items.wrapper.RecipeWrapper; -public class SmartInventory extends RecipeWrapper +public class SmartInventory extends LegacyRecipeWrapper implements IItemHandlerModifiable, INBTSerializable { protected boolean extractionAllowed; diff --git a/src/main/java/com/simibubi/create/foundation/mixin/SmithingMenuMixin.java b/src/main/java/com/simibubi/create/foundation/mixin/SmithingMenuMixin.java new file mode 100644 index 0000000000..016513710f --- /dev/null +++ b/src/main/java/com/simibubi/create/foundation/mixin/SmithingMenuMixin.java @@ -0,0 +1,26 @@ +package com.simibubi.create.foundation.mixin; + +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +import com.simibubi.create.AllItems; +import com.simibubi.create.foundation.advancement.AllAdvancements; + +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.inventory.SmithingMenu; +import net.minecraft.world.item.ItemStack; + +@Mixin(SmithingMenu.class) +public class SmithingMenuMixin { + @Inject(method = "onTake", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/inventory/ResultContainer;awardUsedRecipes(Lnet/minecraft/world/entity/player/Player;Ljava/util/List;)V")) + private void create$awardAdvancementWhenTrimmingCardboardArmor(Player player, ItemStack stack, CallbackInfo ci) { + if (AllItems.CARDBOARD_HELMET.isIn(stack) || + AllItems.CARDBOARD_CHESTPLATE.isIn(stack) || + AllItems.CARDBOARD_LEGGINGS.isIn(stack) || + AllItems.CARDBOARD_BOOTS.isIn(stack)) { + AllAdvancements.CARDBOARD_ARMOR_TRIM.awardTo(player); + } + } +} diff --git a/src/main/java/com/simibubi/create/foundation/mixin/accessor/ItemModelGeneratorsAccessor.java b/src/main/java/com/simibubi/create/foundation/mixin/accessor/ItemModelGeneratorsAccessor.java deleted file mode 100644 index df4f4e7124..0000000000 --- a/src/main/java/com/simibubi/create/foundation/mixin/accessor/ItemModelGeneratorsAccessor.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.simibubi.create.foundation.mixin.accessor; - -import net.minecraft.data.models.ItemModelGenerators; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.gen.Accessor; - -import java.util.List; - -@Mixin(ItemModelGenerators.class) -public interface ItemModelGeneratorsAccessor { - @Accessor("GENERATED_TRIM_MODELS") - static List create$getGENERATED_TRIM_MODELS() { - throw new AssertionError(); - } -} diff --git a/src/main/java/com/simibubi/create/foundation/mixin/accessor/ModelBuilderAccessor.java b/src/main/java/com/simibubi/create/foundation/mixin/accessor/ModelBuilderAccessor.java deleted file mode 100644 index 225508a11d..0000000000 --- a/src/main/java/com/simibubi/create/foundation/mixin/accessor/ModelBuilderAccessor.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.simibubi.create.foundation.mixin.accessor; - -import java.util.Map; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.gen.Accessor; - -import net.neoforged.neoforge.client.model.generators.ModelBuilder; - -@Mixin(ModelBuilder.class) -public interface ModelBuilderAccessor { - @Accessor(value = "textures", remap = false) - Map create$getTextures(); -} diff --git a/src/main/java/com/simibubi/create/foundation/pack/DynamicPack.java b/src/main/java/com/simibubi/create/foundation/pack/DynamicPack.java new file mode 100644 index 0000000000..7ad54bf52c --- /dev/null +++ b/src/main/java/com/simibubi/create/foundation/pack/DynamicPack.java @@ -0,0 +1,126 @@ +package com.simibubi.create.foundation.pack; + +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.nio.charset.StandardCharsets; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Optional; +import java.util.Set; + +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import com.google.gson.JsonElement; +import com.simibubi.create.Create; + +import net.minecraft.SharedConstants; +import net.minecraft.network.chat.Component; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.server.packs.PackLocationInfo; +import net.minecraft.server.packs.PackResources; +import net.minecraft.server.packs.PackType; +import net.minecraft.server.packs.metadata.MetadataSectionSerializer; +import net.minecraft.server.packs.metadata.pack.PackMetadataSection; +import net.minecraft.server.packs.repository.PackSource; +import net.minecraft.server.packs.resources.IoSupplier; + +// TODO - Move into catnip +public class DynamicPack implements PackResources { + private final Map> files = new HashMap<>(); + + private final String packId; + private final PackType packType; + private final PackMetadataSection metadata; + private final PackLocationInfo packLocationInfo; + + public DynamicPack(String packId, PackType packType) { + this.packId = packId; + this.packType = packType; + + metadata = new PackMetadataSection(Component.empty(), SharedConstants.getCurrentVersion().getPackVersion(packType)); + packLocationInfo = new PackLocationInfo(packId, Component.literal(packId), PackSource.BUILT_IN, Optional.empty()); + } + + private static String getPath(PackType packType, ResourceLocation resourceLocation) { + return packType.getDirectory() + "/" + resourceLocation.getNamespace() + "/" + resourceLocation.getPath(); + } + + public DynamicPack put(ResourceLocation location, IoSupplier stream) { + files.put(getPath(packType, location), stream); + return this; + } + + public DynamicPack put(ResourceLocation location, byte[] bytes) { + return put(location, () -> new ByteArrayInputStream(bytes)); + } + + public DynamicPack put(ResourceLocation location, String string) { + return put(location, string.getBytes(StandardCharsets.UTF_8)); + } + + // Automatically suffixes the ResourceLocation with .json + public DynamicPack put(ResourceLocation location, JsonElement json) { + return put(location.withSuffix(".json"), Create.GSON.toJson(json)); + } + + @Override + public @Nullable IoSupplier getRootResource(String @NotNull ... elements) { + return files.getOrDefault(String.join("/", elements), null); + } + + @Override + public @Nullable IoSupplier getResource(@NotNull PackType packType, @NotNull ResourceLocation resourceLocation) { + return files.getOrDefault(getPath(packType, resourceLocation), null); + } + + @Override + public void listResources(@NotNull PackType packType, @NotNull String namespace, @NotNull String path, @NotNull ResourceOutput resourceOutput) { + ResourceLocation resourceLocation = ResourceLocation.fromNamespaceAndPath(namespace, path); + String directoryAndNamespace = packType.getDirectory() + "/" + namespace + "/"; + String prefix = directoryAndNamespace + path + "/"; + files.forEach((filePath, streamSupplier) -> { + if (filePath.startsWith(prefix)) + resourceOutput.accept(resourceLocation.withPath(filePath.substring(directoryAndNamespace.length())), streamSupplier); + }); + } + + @Override + public @NotNull Set getNamespaces(PackType packType) { + Set namespaces = new HashSet<>(); + String dir = packType.getDirectory() + "/"; + + for (String path : files.keySet()) { + if (path.startsWith(dir)) { + String relative = path.substring(dir.length()); + if (relative.contains("/")) { + namespaces.add(relative.substring(0, relative.indexOf("/"))); + } + } + } + + return namespaces; + } + + @SuppressWarnings("unchecked") + @Override + public @Nullable T getMetadataSection(@NotNull MetadataSectionSerializer deserializer) throws IOException { + return deserializer == PackMetadataSection.TYPE ? (T) metadata : null; + } + + @Override + public @NotNull PackLocationInfo location() { + return packLocationInfo; + } + + @Override + public @NotNull String packId() { + return packId; + } + + @Override + public void close() { + } // NO-OP +} diff --git a/src/main/java/com/simibubi/create/foundation/pack/DynamicPackSource.java b/src/main/java/com/simibubi/create/foundation/pack/DynamicPackSource.java new file mode 100644 index 0000000000..34f6ad54ab --- /dev/null +++ b/src/main/java/com/simibubi/create/foundation/pack/DynamicPackSource.java @@ -0,0 +1,39 @@ +package com.simibubi.create.foundation.pack; + +import java.util.Optional; +import java.util.function.Consumer; + +import org.jetbrains.annotations.NotNull; + +import net.minecraft.network.chat.Component; +import net.minecraft.server.packs.PackLocationInfo; +import net.minecraft.server.packs.PackResources; +import net.minecraft.server.packs.PackSelectionConfig; +import net.minecraft.server.packs.PackType; +import net.minecraft.server.packs.repository.Pack; +import net.minecraft.server.packs.repository.Pack.Metadata; +import net.minecraft.server.packs.repository.Pack.ResourcesSupplier; +import net.minecraft.server.packs.repository.PackSource; +import net.minecraft.server.packs.repository.RepositorySource; + +// TODO - Move into catnip +public record DynamicPackSource(String packId, PackType packType, Pack.Position packPosition, + PackResources packResources) implements RepositorySource { + @Override + public void loadPacks(@NotNull Consumer onLoad) { + PackLocationInfo locationInfo = new PackLocationInfo(packId, Component.literal(packId), PackSource.BUILT_IN, Optional.empty()); + PackSelectionConfig selectionConfig = new PackSelectionConfig(true, packPosition, true); + ResourcesSupplier resourcesSupplier = new ResourcesSupplier() { + @Override + public @NotNull PackResources openPrimary(@NotNull PackLocationInfo packLocationInfo) { + return packResources; + } + + @Override + public @NotNull PackResources openFull(@NotNull PackLocationInfo packLocationInfo, @NotNull Metadata metadata) { + return packResources; + } + }; + onLoad.accept(Pack.readMetaAndCreate(locationInfo, resourcesSupplier, packType, selectionConfig)); + } +} diff --git a/src/main/java/com/simibubi/create/foundation/ponder/CreatePonderPlugin.java b/src/main/java/com/simibubi/create/foundation/ponder/CreatePonderPlugin.java index 6b7632bd3f..684c8b4b72 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/CreatePonderPlugin.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/CreatePonderPlugin.java @@ -3,6 +3,8 @@ package com.simibubi.create.foundation.ponder; import com.simibubi.create.AllBlocks; import com.simibubi.create.Create; import com.simibubi.create.content.kinetics.crank.ValveHandleBlock; +import com.simibubi.create.content.logistics.packagePort.postbox.PostboxBlock; +import com.simibubi.create.content.logistics.tableCloth.TableClothBlock; import com.simibubi.create.infrastructure.ponder.AllCreatePonderScenes; import com.simibubi.create.infrastructure.ponder.AllCreatePonderTags; @@ -13,6 +15,7 @@ import net.createmod.ponder.api.registration.PonderSceneRegistrationHelper; import net.createmod.ponder.api.registration.PonderTagRegistrationHelper; import net.createmod.ponder.api.registration.SharedTextRegistrationHelper; import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.DyeColor; public class CreatePonderPlugin implements PonderPlugin { @@ -51,5 +54,7 @@ public class CreatePonderPlugin implements PonderPlugin { @Override public void indexExclusions(IndexExclusionHelper helper) { helper.excludeBlockVariants(ValveHandleBlock.class, AllBlocks.COPPER_VALVE_HANDLE.get()); + helper.excludeBlockVariants(PostboxBlock.class, AllBlocks.PACKAGE_POSTBOXES.get(DyeColor.WHITE).get()); + helper.excludeBlockVariants(TableClothBlock.class, AllBlocks.TABLE_CLOTHS.get(DyeColor.WHITE).get()); } } diff --git a/src/main/java/com/simibubi/create/foundation/recipe/RecipeFinder.java b/src/main/java/com/simibubi/create/foundation/recipe/RecipeFinder.java index 40ed5ad50a..7a34975ee4 100644 --- a/src/main/java/com/simibubi/create/foundation/recipe/RecipeFinder.java +++ b/src/main/java/com/simibubi/create/foundation/recipe/RecipeFinder.java @@ -11,6 +11,8 @@ import javax.annotation.Nullable; import com.google.common.cache.Cache; import com.google.common.cache.CacheBuilder; +import com.simibubi.create.Create; + import com.simibubi.create.foundation.utility.RecipeGenericsUtil; import net.minecraft.server.packs.resources.ResourceManagerReloadListener; @@ -19,49 +21,42 @@ import net.minecraft.world.item.crafting.RecipeHolder; import net.minecraft.world.level.Level; /** - * Utility for searching through a world's recipe collection. Non-dynamic - * conditions can be split off into an initial search for caching intermediate - * results. + * Utility for searching through a level's recipe collection. + * Non-dynamic conditions can be split off into an initial search for caching intermediate results. * * @author simibubi - * */ public class RecipeFinder { + private static final Cache>>> CACHED_SEARCHES = CacheBuilder.newBuilder().build(); - private static Cache>>> cachedSearches = CacheBuilder.newBuilder().build(); + public static final ResourceManagerReloadListener LISTENER = resourceManager -> CACHED_SEARCHES.invalidateAll(); /** - * Find all IRecipes matching the condition predicate. If this search is made - * more than once, using the same object instance as the cacheKey will retrieve - * the cached result from the first time. + * Find all recipes matching the condition predicate. + * If this search is made more than once, + * using the same object instance as the cacheKey will retrieve the cached result from the first search. * - * @param cacheKey (can be null to prevent the caching) - * @param world - * @param conditions + * @param cacheKey (can be null to prevent the caching) * @return A started search to continue with more specific conditions. */ - public static List>> get(@Nullable Object cacheKey, Level world, Predicate>> conditions) { + public static List>> get(@Nullable Object cacheKey, Level level, Predicate>> conditions) { if (cacheKey == null) - return startSearch(world, conditions); + return startSearch(level, conditions); try { - return cachedSearches.get(cacheKey, () -> startSearch(world, conditions)); + return CACHED_SEARCHES.get(cacheKey, () -> startSearch(level, conditions)); } catch (ExecutionException e) { - e.printStackTrace(); + Create.LOGGER.error("Encountered a exception while searching for recipes", e); } return Collections.emptyList(); } - private static List>> startSearch(Level world, Predicate>> conditions) { + private static List>> startSearch(Level level, Predicate>> conditions) { //noinspection RedundantCast - return (List>>) RecipeGenericsUtil.specify(world.getRecipeManager().getRecipes()) - .stream().filter(conditions) - .collect(Collectors.toList()); + return (List>>) RecipeGenericsUtil.specify(level.getRecipeManager().getRecipes()) + .stream() + .filter(conditions) + .toList(); } - - public static final ResourceManagerReloadListener LISTENER = resourceManager -> { - cachedSearches.invalidateAll(); - }; - } diff --git a/src/main/java/com/simibubi/create/foundation/recipe/RuntimeDataGenerator.java b/src/main/java/com/simibubi/create/foundation/recipe/RuntimeDataGenerator.java new file mode 100644 index 0000000000..b01e34c690 --- /dev/null +++ b/src/main/java/com/simibubi/create/foundation/recipe/RuntimeDataGenerator.java @@ -0,0 +1,145 @@ +package com.simibubi.create.foundation.recipe; + +import java.util.Optional; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import org.jetbrains.annotations.ApiStatus; + +import com.google.gson.JsonElement; +import com.mojang.serialization.JsonOps; +import com.simibubi.create.Create; +import com.simibubi.create.content.kinetics.saw.CuttingRecipe; +import com.simibubi.create.content.processing.recipe.ProcessingRecipe; +import com.simibubi.create.content.processing.recipe.ProcessingRecipeBuilder; +import com.simibubi.create.content.processing.recipe.ProcessingRecipeSerializer; +import com.simibubi.create.foundation.pack.DynamicPack; + +import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap; +import net.createmod.catnip.codecs.CatnipCodecUtils; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.core.registries.Registries; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.tags.TagKey; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.crafting.Recipe; + +import net.neoforged.neoforge.common.conditions.WithConditions; + +@ApiStatus.Internal +public class RuntimeDataGenerator { + private static final Pattern STRIPPED_WOODS_REGEX = Pattern.compile("stripped_(\\w*)_(log|wood|stem|hyphae)"); + private static final Pattern NON_STRIPPED_WOODS_REGEX = Pattern.compile("(?!stripped_)([a-z]+)_(log|wood|stem|hyphae)"); + private static final Object2ObjectOpenHashMap JSON_FILES = new Object2ObjectOpenHashMap<>(); + + public static void insertIntoPack(DynamicPack dynamicPack) { + for (ResourceLocation itemId : BuiltInRegistries.ITEM.keySet()) + cuttingRecipes(itemId); + + Create.LOGGER.info("Created {} recipes which will be injected into the game", JSON_FILES.size()); + + JSON_FILES.forEach(dynamicPack::put); + + JSON_FILES.clear(); + JSON_FILES.trim(); + } + + // logs/woods -> stripped variants + // logs/woods both stripped and non stripped -> planks + // planks -> stairs, slabs, fences, fence gates, doors, trapdoors, pressure plates, buttons and signs + // also adds stripped logs and woods into the create tag for those + private static void cuttingRecipes(ResourceLocation itemId) { + String path = itemId.getPath(); + + Matcher match = STRIPPED_WOODS_REGEX.matcher(path); + boolean hasFoundMatch = match.find(); + + // Last ditch attempt. Try to find logs without stripped variants + boolean noStrippedVariant = false; + if (!hasFoundMatch && !BuiltInRegistries.ITEM.containsKey(itemId.withPrefix("stripped_"))) { + match = NON_STRIPPED_WOODS_REGEX.matcher(path); + hasFoundMatch = match.find(); + noStrippedVariant = true; + } + + if (hasFoundMatch) { + String type = match.group(2); + ResourceLocation base = itemId.withPath(match.group(1) + "_"); + ResourceLocation nonStrippedId = base.withSuffix(type); + ResourceLocation planksId = base.withSuffix("planks"); + ResourceLocation stairsId = base.withSuffix("stairs"); + ResourceLocation slabId = base.withSuffix("slab"); + ResourceLocation fenceId = base.withSuffix("fence"); + ResourceLocation fenceGateId = base.withSuffix("fence_gate"); + ResourceLocation doorId = base.withSuffix("door"); + ResourceLocation trapdoorId = base.withSuffix("trapdoor"); + ResourceLocation pressurePlateId = base.withSuffix("pressure_plate"); + ResourceLocation buttonId = base.withSuffix("button"); + ResourceLocation signId = base.withSuffix("sign"); + + if (!noStrippedVariant) + simpleWoodRecipe(nonStrippedId, itemId); + simpleWoodRecipe(TagKey.create(Registries.ITEM, nonStrippedId.withSuffix("s")), planksId, 6); + + if (!path.contains("_wood") && !path.contains("_hyphae") && BuiltInRegistries.ITEM.containsKey(planksId)) { + simpleWoodRecipe(planksId, stairsId); + simpleWoodRecipe(planksId, slabId, 2); + simpleWoodRecipe(planksId, fenceId); + simpleWoodRecipe(planksId, fenceGateId); + simpleWoodRecipe(planksId, doorId); + simpleWoodRecipe(planksId, trapdoorId); + simpleWoodRecipe(planksId, pressurePlateId); + simpleWoodRecipe(planksId, buttonId); + simpleWoodRecipe(planksId, signId); + } + } + } + + private static void simpleWoodRecipe(ResourceLocation inputId, ResourceLocation outputId) { + simpleWoodRecipe(inputId, outputId, 1); + } + + private static void simpleWoodRecipe(ResourceLocation inputId, ResourceLocation outputId, int amount) { + if (BuiltInRegistries.ITEM.containsKey(outputId)) { + new Builder<>(inputId.getNamespace(), CuttingRecipe::new, inputId.getPath(), outputId.getPath()) + .require(BuiltInRegistries.ITEM.get(inputId)) + .output(BuiltInRegistries.ITEM.get(outputId), amount) + .duration(50) + .build(); + } + } + + private static void simpleWoodRecipe(TagKey inputTag, ResourceLocation outputId, int amount) { + if (BuiltInRegistries.ITEM.containsKey(outputId)) { + new Builder<>(inputTag.location().getNamespace(), CuttingRecipe::new, "tag_" + inputTag.location().getPath(), outputId.getPath()) + .require(inputTag) + .output(BuiltInRegistries.ITEM.get(outputId), amount) + .duration(50) + .build(); + } + } + + private static class Builder> extends ProcessingRecipeBuilder { + public Builder(String modid, ProcessingRecipeBuilder.ProcessingRecipeFactory factory, String from, String to) { + super(factory, Create.asResource("runtime_generated/compat/" + modid + "/" + from + "_to_" + to)); + } + + @Override + public T build() { + T recipe = super.build(); + + IRecipeTypeInfo recipeType = recipe.getTypeInfo(); + ResourceLocation typeId = recipeType.getId(); + + if (!(recipeType.getSerializer() instanceof ProcessingRecipeSerializer)) + throw new IllegalStateException("Cannot datagen ProcessingRecipe of type: " + typeId); + + ResourceLocation id = ResourceLocation.fromNamespaceAndPath(recipe.id.getNamespace(), + typeId.getPath() + "/" + recipe.id.getPath()); + + Optional serialized = CatnipCodecUtils.encode(Recipe.CONDITIONAL_CODEC, JsonOps.COMPRESSED, Optional.of(new WithConditions<>(recipe))); + serialized.ifPresent(r -> JSON_FILES.put(id.withPrefix("recipes/"), r)); + return recipe; + } + } +} diff --git a/src/main/java/com/simibubi/create/foundation/render/ShaderLightPartial.java b/src/main/java/com/simibubi/create/foundation/render/ShaderLightPartial.java deleted file mode 100644 index 38f4cf61b2..0000000000 --- a/src/main/java/com/simibubi/create/foundation/render/ShaderLightPartial.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.simibubi.create.foundation.render; - -import org.jetbrains.annotations.Nullable; - -import dev.engine_room.flywheel.api.material.LightShader; -import dev.engine_room.flywheel.api.model.Model; -import dev.engine_room.flywheel.lib.material.LightShaders; -import dev.engine_room.flywheel.lib.material.SimpleMaterial; -import dev.engine_room.flywheel.lib.model.ModelUtil; -import dev.engine_room.flywheel.lib.model.baked.BakedModelBuilder; -import dev.engine_room.flywheel.lib.model.baked.PartialModel; -import dev.engine_room.flywheel.lib.util.RendererReloadCache; -import net.minecraft.client.renderer.RenderType; - -public class ShaderLightPartial { - private static final RendererReloadCache FLAT = new RendererReloadCache<>(it -> new BakedModelBuilder(it.get()) - .materialFunc((renderType, aBoolean) -> getMaterial(renderType, aBoolean, LightShaders.FLAT)) - .build()); - - private static final RendererReloadCache SMOOTH = new RendererReloadCache<>(it -> new BakedModelBuilder(it.get()) - .materialFunc((renderType, aBoolean) -> getMaterial(renderType, aBoolean, LightShaders.SMOOTH)) - .build()); - - public static Model flat(PartialModel partial) { - return FLAT.get(partial); - } - - @Nullable - private static SimpleMaterial getMaterial(RenderType renderType, Boolean aBoolean, LightShader lightShader) { - var material = ModelUtil.getMaterial(renderType, aBoolean); - if (material == null) { - return null; - } - return SimpleMaterial.builderOf(material) - .light(lightShader) - .build(); - } -} diff --git a/src/main/java/com/simibubi/create/foundation/render/SpecialModels.java b/src/main/java/com/simibubi/create/foundation/render/SpecialModels.java new file mode 100644 index 0000000000..c629a050a5 --- /dev/null +++ b/src/main/java/com/simibubi/create/foundation/render/SpecialModels.java @@ -0,0 +1,40 @@ +package com.simibubi.create.foundation.render; + +import dev.engine_room.flywheel.api.material.CardinalLightingMode; +import dev.engine_room.flywheel.api.material.LightShader; +import dev.engine_room.flywheel.api.model.Model; +import dev.engine_room.flywheel.lib.material.LightShaders; +import dev.engine_room.flywheel.lib.material.SimpleMaterial; +import dev.engine_room.flywheel.lib.model.ModelUtil; +import dev.engine_room.flywheel.lib.model.baked.BakedModelBuilder; +import dev.engine_room.flywheel.lib.model.baked.PartialModel; +import dev.engine_room.flywheel.lib.util.RendererReloadCache; + +public class SpecialModels { + private static final RendererReloadCache FLAT = new RendererReloadCache<>(it -> new BakedModelBuilder(it.partial.get()) + .materialFunc((renderType, aBoolean) -> { + var material = ModelUtil.getMaterial(renderType, aBoolean); + if (material == null) { + return null; + } + return SimpleMaterial.builderOf(material) + .light(it.light) + .cardinalLightingMode(it.cardinalLightingMode) + .build(); + }) + .build()); + + public static Model flatLit(PartialModel partial) { + return FLAT.get(new Key(partial, LightShaders.FLAT, CardinalLightingMode.ENTITY)); + } + + public static Model flatChunk(PartialModel partial) { + return FLAT.get(new Key(partial, LightShaders.FLAT, CardinalLightingMode.CHUNK)); + } + + public static Model chunkDiffuse(PartialModel partial) { + return FLAT.get(new Key(partial, LightShaders.SMOOTH_WHEN_EMBEDDED, CardinalLightingMode.CHUNK)); + } + + private record Key(PartialModel partial, LightShader light, CardinalLightingMode cardinalLightingMode) {} +} diff --git a/src/main/java/com/simibubi/create/infrastructure/config/CRecipes.java b/src/main/java/com/simibubi/create/infrastructure/config/CRecipes.java index 45e00cfdab..e5106901fe 100644 --- a/src/main/java/com/simibubi/create/infrastructure/config/CRecipes.java +++ b/src/main/java/com/simibubi/create/infrastructure/config/CRecipes.java @@ -14,7 +14,6 @@ public class CRecipes extends ConfigBase { public final ConfigInt maxFireworkIngredientsInCrafter = i(9, 1, "maxFireworkIngredientsInCrafter", Comments.maxFireworkIngredientsInCrafter); public final ConfigBool allowStonecuttingOnSaw = b(true, "allowStonecuttingOnSaw", Comments.allowStonecuttingOnSaw); - public final ConfigBool allowWoodcuttingOnSaw = b(true, "allowWoodcuttingOnSaw", Comments.allowWoodcuttingOnSaw); public final ConfigBool allowCastingBySpout = b(true, "allowCastingBySpout", Comments.allowCastingBySpout); public final ConfigBool displayLogStrippingRecipes = b(true, "displayLogStrippingRecipes", Comments.displayLogStrippingRecipes); public final ConfigInt lightSourceCountForRefinedRadiance = @@ -43,7 +42,7 @@ public class CRecipes extends ConfigBase { static String allowStonecuttingOnSaw = "Allow any stonecutting recipes to be processed by a Mechanical Saw."; static String allowWoodcuttingOnSaw = - "Allow any Druidcraft woodcutter recipes to be processed by a Mechanical Saw."; + "Allow any wood related recipes to be processed by a Mechanical Saw."; static String allowCastingBySpout = "Allow Spouts to interact with Casting Tables and Basins from Tinkers' Construct."; static String refinedRadiance = diff --git a/src/main/java/com/simibubi/create/infrastructure/data/CreateDatagen.java b/src/main/java/com/simibubi/create/infrastructure/data/CreateDatagen.java index cc4f47cd70..a528d5d63b 100644 --- a/src/main/java/com/simibubi/create/infrastructure/data/CreateDatagen.java +++ b/src/main/java/com/simibubi/create/infrastructure/data/CreateDatagen.java @@ -6,6 +6,7 @@ import java.util.function.BiConsumer; import com.google.gson.JsonElement; import com.google.gson.JsonObject; +import com.simibubi.create.AllKeys; import com.simibubi.create.AllSoundEvents; import com.simibubi.create.Create; import com.simibubi.create.compat.curios.CuriosDataGenerator; @@ -70,6 +71,7 @@ public class CreateDatagen { provideDefaultLang("tooltips", langConsumer); AllAdvancements.provideLang(langConsumer); AllSoundEvents.provideLang(langConsumer); + AllKeys.provideLang(langConsumer); providePonderLang(langConsumer); }); } diff --git a/src/main/java/com/simibubi/create/infrastructure/debugInfo/DebugInformation.java b/src/main/java/com/simibubi/create/infrastructure/debugInfo/DebugInformation.java index c87fcb2fe5..52f86cd97d 100644 --- a/src/main/java/com/simibubi/create/infrastructure/debugInfo/DebugInformation.java +++ b/src/main/java/com/simibubi/create/infrastructure/debugInfo/DebugInformation.java @@ -11,6 +11,7 @@ import javax.annotation.Nullable; import com.google.common.collect.ImmutableMap; import com.mojang.blaze3d.platform.GlUtil; import com.simibubi.create.Create; +import com.simibubi.create.CreateBuildInfo; import com.simibubi.create.foundation.mixin.accessor.SystemReportAccessor; import com.simibubi.create.infrastructure.debugInfo.element.DebugInfoSection; import com.simibubi.create.infrastructure.debugInfo.element.InfoElement; @@ -67,7 +68,7 @@ public class DebugInformation { static { DebugInfoSection.builder(Create.NAME) - .put("Mod Version", Create.VERSION) + .put("Mod Version", CreateBuildInfo.VERSION) .put("NeoForge Version", getVersionOfMod("neoforge")) .put("Minecraft Version", SharedConstants.getCurrentVersion().getName()) .buildTo(DebugInformation::registerBothInfo); diff --git a/src/main/java/com/simibubi/create/infrastructure/gui/CreateMainMenuScreen.java b/src/main/java/com/simibubi/create/infrastructure/gui/CreateMainMenuScreen.java index 379bad3379..c535244baf 100644 --- a/src/main/java/com/simibubi/create/infrastructure/gui/CreateMainMenuScreen.java +++ b/src/main/java/com/simibubi/create/infrastructure/gui/CreateMainMenuScreen.java @@ -5,6 +5,7 @@ import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.vertex.PoseStack; import com.simibubi.create.AllBlocks; import com.simibubi.create.Create; +import com.simibubi.create.CreateBuildInfo; import com.simibubi.create.foundation.gui.AllGuiTextures; import com.simibubi.create.foundation.utility.CreateLang; @@ -130,7 +131,7 @@ public class CreateMainMenuScreen extends AbstractSimiScreen { ms.translate(0, 0, 200); graphics.drawCenteredString(font, Components.literal(Create.NAME).withStyle(ChatFormatting.BOLD) .append( - Components.literal(" v" + Create.VERSION).withStyle(ChatFormatting.BOLD, ChatFormatting.WHITE)), + Components.literal(" v" + CreateBuildInfo.VERSION).withStyle(ChatFormatting.BOLD, ChatFormatting.WHITE)), width / 2, 89, 0xFF_E4BB67); ms.popPose(); diff --git a/src/main/java/com/simibubi/create/infrastructure/ponder/AllCreatePonderScenes.java b/src/main/java/com/simibubi/create/infrastructure/ponder/AllCreatePonderScenes.java index 002ad25cf8..b8719256af 100644 --- a/src/main/java/com/simibubi/create/infrastructure/ponder/AllCreatePonderScenes.java +++ b/src/main/java/com/simibubi/create/infrastructure/ponder/AllCreatePonderScenes.java @@ -41,8 +41,15 @@ import com.simibubi.create.infrastructure.ponder.scenes.fluid.HosePulleyScenes; import com.simibubi.create.infrastructure.ponder.scenes.fluid.PipeScenes; import com.simibubi.create.infrastructure.ponder.scenes.fluid.PumpScenes; import com.simibubi.create.infrastructure.ponder.scenes.fluid.SpoutScenes; +import com.simibubi.create.infrastructure.ponder.scenes.highLogistics.FactoryGaugeScenes; import com.simibubi.create.infrastructure.ponder.scenes.highLogistics.FrogAndConveyorScenes; import com.simibubi.create.infrastructure.ponder.scenes.highLogistics.PackagerScenes; +import com.simibubi.create.infrastructure.ponder.scenes.highLogistics.PostboxScenes; +import com.simibubi.create.infrastructure.ponder.scenes.highLogistics.RepackagerScenes; +import com.simibubi.create.infrastructure.ponder.scenes.highLogistics.RequesterAndShopScenes; +import com.simibubi.create.infrastructure.ponder.scenes.highLogistics.StockLinkScenes; +import com.simibubi.create.infrastructure.ponder.scenes.highLogistics.StockTickerScenes; +import com.simibubi.create.infrastructure.ponder.scenes.highLogistics.TableClothScenes; import com.simibubi.create.infrastructure.ponder.scenes.trains.TrackObserverScenes; import com.simibubi.create.infrastructure.ponder.scenes.trains.TrackScenes; import com.simibubi.create.infrastructure.ponder.scenes.trains.TrainScenes; @@ -355,9 +362,29 @@ public class AllCreatePonderScenes { .addStoryBoard("high_logistics/chain_conveyor", FrogAndConveyorScenes::conveyor); HELPER.forComponents(AllBlocks.PACKAGE_FROGPORT) .addStoryBoard("high_logistics/package_frogport", FrogAndConveyorScenes::frogPort); + HELPER.forComponents(AllBlocks.PACKAGE_POSTBOXES.toArray()) + .addStoryBoard("high_logistics/package_postbox", PostboxScenes::postbox); HELPER.forComponents(AllBlocks.PACKAGER) .addStoryBoard("high_logistics/packager", PackagerScenes::packager) .addStoryBoard("high_logistics/packager_address", PackagerScenes::packagerAddress); + HELPER.forComponents(AllBlocks.STOCK_LINK) + .addStoryBoard("high_logistics/stock_link", StockLinkScenes::stockLink); + HELPER.forComponents(AllBlocks.STOCK_TICKER) + .addStoryBoard("high_logistics/stock_ticker", StockTickerScenes::stockTicker) + .addStoryBoard("high_logistics/stock_ticker_address", StockTickerScenes::stockTickerAddress); + HELPER.forComponents(AllBlocks.REDSTONE_REQUESTER) + .addStoryBoard("high_logistics/redstone_requester", RequesterAndShopScenes::requester); + HELPER.forComponents(AllBlocks.REPACKAGER) + .addStoryBoard("high_logistics/repackager", RepackagerScenes::repackager); + HELPER.forComponents(AllBlocks.TABLE_CLOTHS.toArray()) + .addStoryBoard("high_logistics/table_cloth", TableClothScenes::tableCloth); + HELPER.forComponents(AllBlocks.ANDESITE_TABLE_CLOTH, AllBlocks.BRASS_TABLE_CLOTH, AllBlocks.COPPER_TABLE_CLOTH) + .addStoryBoard("high_logistics/table_cloth", TableClothScenes::tableCloth); + HELPER.forComponents(AllBlocks.FACTORY_GAUGE) + .addStoryBoard("high_logistics/factory_gauge_restocker", FactoryGaugeScenes::restocker) + .addStoryBoard("high_logistics/factory_gauge_recipe", FactoryGaugeScenes::recipe) + .addStoryBoard("high_logistics/factory_gauge_crafting", FactoryGaugeScenes::crafting) + .addStoryBoard("high_logistics/factory_gauge_links", FactoryGaugeScenes::links); // Trains HELPER.forComponents(TrackMaterial.allBlocks() diff --git a/src/main/java/com/simibubi/create/infrastructure/ponder/AllCreatePonderTags.java b/src/main/java/com/simibubi/create/infrastructure/ponder/AllCreatePonderTags.java index a5aa041644..24a8506cfa 100644 --- a/src/main/java/com/simibubi/create/infrastructure/ponder/AllCreatePonderTags.java +++ b/src/main/java/com/simibubi/create/infrastructure/ponder/AllCreatePonderTags.java @@ -361,7 +361,7 @@ public class AllCreatePonderTags { .add(AllBlocks.STOCK_LINK) .add(AllBlocks.STOCK_TICKER) .add(AllBlocks.REDSTONE_REQUESTER) - .add(AllBlocks.TABLE_CLOTHS.get(DyeColor.WHITE)) + .add(AllBlocks.TABLE_CLOTHS.get(DyeColor.RED)) .add(AllBlocks.FACTORY_GAUGE) .add(AllBlocks.REPACKAGER) .add(AllItems.PACKAGE_FILTER); diff --git a/src/main/java/com/simibubi/create/infrastructure/ponder/scenes/highLogistics/FactoryGaugeScenes.java b/src/main/java/com/simibubi/create/infrastructure/ponder/scenes/highLogistics/FactoryGaugeScenes.java new file mode 100644 index 0000000000..48e8e90b1a --- /dev/null +++ b/src/main/java/com/simibubi/create/infrastructure/ponder/scenes/highLogistics/FactoryGaugeScenes.java @@ -0,0 +1,1523 @@ +package com.simibubi.create.infrastructure.ponder.scenes.highLogistics; + +import java.util.List; +import java.util.function.Consumer; + +import com.google.common.collect.ImmutableList; +import com.simibubi.create.AllBlocks; +import com.simibubi.create.AllItems; +import com.simibubi.create.content.kinetics.crafter.MechanicalCrafterBlockEntity; +import com.simibubi.create.content.kinetics.mixer.MechanicalMixerBlockEntity; +import com.simibubi.create.content.logistics.box.PackageItem; +import com.simibubi.create.content.logistics.factoryBoard.FactoryPanelBehaviour; +import com.simibubi.create.content.logistics.factoryBoard.FactoryPanelBlock.PanelSlot; +import com.simibubi.create.content.logistics.factoryBoard.FactoryPanelBlockEntity; +import com.simibubi.create.content.logistics.factoryBoard.FactoryPanelConnection; +import com.simibubi.create.content.logistics.factoryBoard.FactoryPanelPosition; +import com.simibubi.create.content.processing.basin.BasinBlockEntity; +import com.simibubi.create.content.redstone.link.RedstoneLinkBlock; +import com.simibubi.create.foundation.gui.AllIcons; +import com.simibubi.create.foundation.ponder.CreateSceneBuilder; + +import net.createmod.catnip.utility.IntAttached; +import net.createmod.catnip.utility.NBTHelper; +import net.createmod.catnip.utility.Pointing; +import net.createmod.ponder.api.PonderPalette; +import net.createmod.ponder.api.element.ElementLink; +import net.createmod.ponder.api.element.WorldSectionElement; +import net.createmod.ponder.api.scene.SceneBuilder; +import net.createmod.ponder.api.scene.SceneBuildingUtil; +import net.createmod.ponder.api.scene.Selection; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Items; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.phys.AABB; +import net.minecraft.world.phys.Vec3; + +public class FactoryGaugeScenes { + + public static void restocker(SceneBuilder builder, SceneBuildingUtil util) { + CreateSceneBuilder scene = new CreateSceneBuilder(builder); + scene.title("factory_gauge_restocker", "Restocking with Factory Gauges"); + scene.configureBasePlate(0, 0, 7); + scene.scaleSceneView(0.925f); + scene.setSceneOffsetY(-0.5f); + scene.showBasePlate(); + + Selection vault = util.select() + .fromTo(5, 1, 4, 6, 3, 6); + Selection packager = util.select() + .fromTo(4, 1, 5, 4, 2, 5); + BlockPos pack = util.grid() + .at(4, 2, 5); + BlockPos link = util.grid() + .at(4, 3, 5); + Selection linkS = util.select() + .position(4, 3, 5); + Selection funnel = util.select() + .position(3, 2, 5); + Selection funnel2 = util.select() + .position(1, 2, 2); + Selection belt1 = util.select() + .fromTo(1, 1, 2, 1, 1, 6) + .add(util.select() + .fromTo(2, 1, 6, 2, 1, 7)); + Selection largeCog = util.select() + .position(1, 0, 7); + Selection belt2 = util.select() + .fromTo(3, 1, 5, 2, 1, 5); + Selection chest = util.select() + .fromTo(3, 2, 1, 2, 2, 1); + Selection chestScaff = util.select() + .fromTo(3, 1, 1, 2, 1, 1); + Selection packScaff = util.select() + .position(1, 1, 1); + BlockPos pack2 = util.grid() + .at(1, 2, 1); + Selection pack2S = util.select() + .position(1, 2, 1); + BlockPos gauge = util.grid() + .at(1, 2, 0); + Selection gaugeS = util.select() + .position(1, 2, 0); + + scene.idle(10); + + ElementLink linkL = scene.world() + .showIndependentSection(linkS, Direction.DOWN); + scene.world() + .moveSection(linkL, util.vector() + .of(0, -2, 0), 0); + + ElementLink chestL = scene.world() + .showIndependentSection(chest, Direction.DOWN); + scene.world() + .moveSection(chestL, util.vector() + .of(0, -1, 0), 0); + scene.idle(5); + scene.world() + .showSectionAndMerge(pack2S, Direction.EAST, chestL); + + scene.idle(15); + + ItemStack linkItem = AllBlocks.FACTORY_GAUGE.asStack(); + scene.overlay() + .showControls(util.vector() + .topOf(link.below(2)), Pointing.DOWN, 50) + .rightClick() + .withItem(linkItem); + scene.idle(5); + + AABB bb1 = new AABB(link.below(2)); + scene.overlay() + .chaseBoundingBoxOutline(PonderPalette.BLUE, link, bb1.deflate(0.45), 10); + scene.idle(1); + bb1 = bb1.deflate(1 / 16f) + .contract(0, 8 / 16f, 0); + scene.overlay() + .chaseBoundingBoxOutline(PonderPalette.BLUE, link, bb1, 50); + scene.idle(26); + + scene.overlay() + .showText(100) + .text("Right-click a Stock link before placement to connect to its network") + .attachKeyFrame() + .colored(PonderPalette.BLUE) + .placeNearTarget() + .pointAt(util.vector() + .centerOf(link.below(2))); + + scene.idle(60); + scene.world() + .showSectionAndMerge(gaugeS, Direction.SOUTH, chestL); + scene.idle(50); + + Vec3 gaugeMiddle = util.vector() + .of(1.25, 1.75, 1); + scene.overlay() + .showText(100) + .text("When placed on a packager, factory gauges can monitor items inside the inventory") + .attachKeyFrame() + .placeNearTarget() + .pointAt(gaugeMiddle); + scene.idle(30); + + scene.overlay() + .showOutline(PonderPalette.BLUE, gauge, util.select() + .fromTo(3, 1, 1, 2, 1, 1), 70); + scene.idle(80); + + ItemStack monitorItem = new ItemStack(Items.CHARCOAL); + scene.overlay() + .showControls(gaugeMiddle, Pointing.DOWN, 50) + .withItem(monitorItem) + .rightClick(); + scene.idle(7); + setPanelItem(builder, gauge, PanelSlot.TOP_RIGHT, monitorItem); + + scene.world() + .modifyBlockEntity(gauge, FactoryPanelBlockEntity.class, be -> { + FactoryPanelBehaviour pb = be.panels.get(PanelSlot.BOTTOM_LEFT); + pb.setFilter(monitorItem); + }); + + scene.overlay() + .showText(80) + .text("Right-click it with the item that should be monitored") + .attachKeyFrame() + .placeNearTarget() + .pointAt(gaugeMiddle); + scene.idle(90); + + scene.overlay() + .showOutline(PonderPalette.BLUE, gauge, util.select() + .fromTo(3, 1, 1, 2, 1, 1), 70); + scene.overlay() + .showText(70) + .text("It will now display the amount present in the inventory") + .colored(PonderPalette.BLUE) + .placeNearTarget() + .pointAt(gaugeMiddle); + + scene.idle(80); + + scene.world() + .moveSection(linkL, util.vector() + .of(0, 2.25, 0), 15); + scene.idle(5); + scene.idle(8); + scene.world() + .showSection(vault, Direction.NORTH); + scene.idle(5); + scene.world() + .showSection(packager, Direction.EAST); + scene.idle(2); + scene.world() + .moveSection(linkL, util.vector() + .of(0, -.25, 0), 10); + scene.idle(10); + + scene.overlay() + .showText(90) + .text("The gauge can refill this inventory from the logistics network") + .attachKeyFrame() + .placeNearTarget() + .pointAt(util.vector() + .of(3, 2, 1.5)); + scene.idle(100); + + scene.overlay() + .showControls(gaugeMiddle, Pointing.DOWN, 50) + .rightClick(); + scene.idle(7); + AABB boundingBox = new AABB(gaugeMiddle, gaugeMiddle).inflate(0.19, 0.19, 0); + scene.overlay() + .chaseBoundingBoxOutline(PonderPalette.BLUE, gauge, boundingBox, 150); + scene.overlay() + .showText(70) + .text("Right-click it again to open its configuration UI") + .attachKeyFrame() + .colored(PonderPalette.BLUE) + .placeNearTarget() + .pointAt(gaugeMiddle); + scene.idle(80); + + scene.overlay() + .showText(70) + .text("Set an address that should be used for the requested items") + .attachKeyFrame() + .placeNearTarget() + .pointAt(gaugeMiddle); + scene.idle(80); + + scene.world() + .moveSection(chestL, util.vector() + .of(0, 1, 0), 10); + scene.idle(10); + scene.world() + .showSection(chestScaff, Direction.NORTH); + scene.world() + .showSection(packScaff, Direction.NORTH); + scene.idle(10); + scene.world() + .showSection(largeCog, Direction.UP); + scene.world() + .showSection(belt1, Direction.EAST); + scene.idle(5); + scene.world() + .showSection(belt2, Direction.SOUTH); + scene.idle(15); + + gaugeMiddle = gaugeMiddle.add(0, 1, 0); + + scene.overlay() + .showControls(gaugeMiddle, Pointing.DOWN, 100) + .rightClick(); + scene.idle(7); + scene.overlay() + .chaseBoundingBoxOutline(PonderPalette.GREEN, gauge, boundingBox.move(0, 1, 0), 100); + scene.overlay() + .showText(100) + .text("The target amount to maintain can now be set by holding Right-click on the gauge") + .attachKeyFrame() + .colored(PonderPalette.GREEN) + .placeNearTarget() + .pointAt(gaugeMiddle); + scene.idle(40); + + setPanelNotSatisfied(builder, gauge, PanelSlot.TOP_RIGHT); + + scene.idle(70); + scene.overlay() + .showText(70) + .text("Whenever the chest has fewer items than this amount...") + .attachKeyFrame() + .placeNearTarget() + .pointAt(util.vector() + .of(3, 3, 1.5)); + scene.idle(50); + + PonderHilo.linkEffect(scene, link); + ItemStack box = PackageItem.containing(List.of()); + PonderHilo.packagerCreate(scene, pack, box); + scene.idle(30); + + scene.overlay() + .showText(70) + .text("...the logistics network sends more, with the specified address") + .attachKeyFrame() + .placeNearTarget() + .pointAt(util.vector() + .of(4, 2.5, 5.5)); + scene.idle(50); + + scene.world() + .showSection(funnel, Direction.DOWN); + scene.idle(10); + scene.world() + .showSection(funnel2, Direction.DOWN); + scene.idle(5); + scene.world() + .createItemOnBelt(util.grid() + .at(3, 1, 5), Direction.EAST, box); + PonderHilo.packagerClear(scene, pack); + scene.idle(40); + + scene.overlay() + .showText(70) + .text("From there, they can be routed to the packager") + .placeNearTarget() + .pointAt(util.vector() + .of(1, 2.5, 3.5)); + + scene.idle(30); + scene.world() + .removeItemsFromBelt(util.grid() + .at(1, 1, 2)); + PonderHilo.packagerUnpack(scene, pack2, box); + scene.idle(15); + + setPanelSatisfied(builder, gauge, PanelSlot.TOP_RIGHT); + } + + public static void recipe(SceneBuilder builder, SceneBuildingUtil util) { + CreateSceneBuilder scene = new CreateSceneBuilder(builder); + scene.title("factory_gauge_recipe", "Automated Recipes with Factory Gauges"); + scene.configureBasePlate(0, 0, 9); + scene.scaleSceneView(0.925f); + scene.setSceneOffsetY(-0.5f); + + Selection fakeFloor = util.select() + .fromTo(8, 6, 0, 0, 6, 8); + Selection belt1 = util.select() + .fromTo(1, 0, 7, 1, 0, 2); + Selection belt2 = util.select() + .fromTo(1, 0, 1, 3, 0, 1); + Selection saw = util.select() + .position(4, 0, 1); + Selection belt3 = util.select() + .fromTo(5, 0, 1, 6, 0, 1); + Selection belt4 = util.select() + .fromTo(7, 0, 7, 7, 0, 5); + Selection funnel1 = util.select() + .position(1, 1, 7); + Selection funnel2 = util.select() + .position(6, 1, 1); + Selection funnel3 = util.select() + .position(7, 1, 5); + Selection pack2S = util.select() + .fromTo(7, 1, 7, 6, 1, 7); + Selection basin = util.select() + .position(7, 1, 1); + Selection mixer = util.select() + .fromTo(7, 3, 1, 9, 3, 1) + .add(util.select() + .fromTo(9, 2, 1, 9, 0, 1)); + Selection basinOut = util.select() + .fromTo(7, 0, 2, 7, 1, 2); + Selection barrelAndPackager = util.select() + .fromTo(7, 2, 4, 7, 1, 3); + BlockPos pack = util.grid() + .at(2, 1, 7); + Selection packS = util.select() + .fromTo(2, 1, 7, 2, 2, 7); + BlockPos link = util.grid() + .at(2, 2, 7); + Selection vault = util.select() + .fromTo(5, 2, 7, 3, 1, 6); + Selection scaff1 = util.select() + .fromTo(5, 1, 4, 3, 1, 4); + Selection scaff2 = util.select() + .position(2, 1, 4); + Selection board1 = util.select() + .fromTo(5, 2, 4, 3, 3, 4); + Selection board2 = util.select() + .fromTo(6, 5, 4, 2, 2, 4) + .substract(board1); + + BlockPos alloyG = util.grid() + .at(3, 3, 3); + BlockPos andeG = util.grid() + .at(4, 3, 3); + BlockPos nuggG = util.grid() + .at(4, 2, 3); + BlockPos ironG = util.grid() + .at(5, 2, 3); + BlockPos rawIronG = util.grid() + .at(6, 3, 3); + BlockPos dioriteG = util.grid() + .at(5, 3, 3); + BlockPos planksG = util.grid() + .at(3, 4, 3); + BlockPos logsG = util.grid() + .at(4, 4, 3); + BlockPos cogG = util.grid() + .at(2, 2, 3); + BlockPos quartzG = util.grid() + .at(6, 4, 3); + BlockPos cobbleG = util.grid() + .at(5, 4, 3); + + ElementLink floorL = scene.world() + .showIndependentSection(fakeFloor, Direction.UP); + scene.world() + .moveSection(floorL, util.vector() + .of(0, -6, 0), 0); + scene.idle(10); + + setPanelVisible(builder, alloyG, PanelSlot.TOP_RIGHT, false); + setPanelPassive(builder, alloyG, PanelSlot.BOTTOM_LEFT); + removePanelConnections(builder, alloyG, PanelSlot.BOTTOM_LEFT); + setPanelItem(builder, alloyG, PanelSlot.BOTTOM_LEFT, ItemStack.EMPTY); + + scene.world() + .showSection(scaff1, Direction.DOWN); + scene.idle(5); + scene.world() + .showSection(board1, Direction.DOWN); + scene.idle(10); + scene.world() + .showSection(util.select() + .position(alloyG), Direction.SOUTH); + scene.idle(25); + + Vec3 panelM = util.vector() + .of(3.75, 3.25, 4); + scene.overlay() + .showText(60) + .text("Whenever gauges are not placed on a packager...") + .attachKeyFrame() + .placeNearTarget() + .pointAt(panelM); + scene.idle(50); + + scene.world() + .showSection(vault, Direction.NORTH); + scene.idle(5); + scene.world() + .showSection(packS, Direction.EAST); + scene.idle(15); + + scene.overlay() + .showOutlineWithText(vault, 100) + .text("They will instead monitor stock levels of all linked inventories") + .attachKeyFrame() + .colored(PonderPalette.BLUE) + .placeNearTarget() + .pointAt(util.vector() + .of(4, 3, 7)); + scene.idle(110); + + ItemStack monitorItem = AllItems.ANDESITE_ALLOY.asStack(); + scene.overlay() + .showControls(panelM, Pointing.DOWN, 50) + .withItem(monitorItem) + .rightClick(); + scene.idle(7); + + setPanelItem(builder, alloyG, PanelSlot.BOTTOM_LEFT, monitorItem); + + scene.overlay() + .showText(80) + .text("Right-click it with the item that should be monitored") + .attachKeyFrame() + .placeNearTarget() + .pointAt(panelM); + scene.idle(90); + + scene.overlay() + .showOutlineWithText(vault, 100) + .text("It will now display the total amount present on the network") + .colored(PonderPalette.BLUE) + .placeNearTarget() + .pointAt(panelM); + + scene.idle(100); + + scene.world() + .showSection(mixer, Direction.WEST); + scene.world() + .showSection(basin, Direction.WEST); + scene.idle(20); + + scene.overlay() + .showText(110) + .text("The gauge can replenish stock levels by sending other items to be processed") + .attachKeyFrame() + .placeNearTarget() + .pointAt(util.vector() + .blockSurface(util.grid() + .at(7, 1, 1), Direction.WEST)); + scene.idle(120); + + setPanelPassive(builder, andeG, PanelSlot.BOTTOM_LEFT); + removePanelConnections(builder, andeG, PanelSlot.BOTTOM_LEFT); + setPanelPassive(builder, nuggG, PanelSlot.TOP_LEFT); + removePanelConnections(builder, nuggG, PanelSlot.TOP_LEFT); + + scene.world() + .showSection(util.select() + .position(andeG), Direction.SOUTH); + scene.idle(5); + scene.world() + .showSection(util.select() + .position(nuggG), Direction.SOUTH); + scene.idle(20); + + scene.overlay() + .showText(70) + .text("First, add the required ingredients as new factory gauges") + .attachKeyFrame() + .placeNearTarget() + .pointAt(panelM.add(1, -0.5, 0)); + scene.idle(80); + + scene.world() + .multiplyKineticSpeed(util.select() + .fromTo(6, 0, 1, 1, 0, 7), 2); + + scene.overlay() + .showControls(panelM, Pointing.DOWN, 40) + .rightClick(); + scene.idle(7); + AABB boundingBox = new AABB(panelM, panelM).inflate(0.19, 0.19, 0); + scene.overlay() + .chaseBoundingBoxOutline(PonderPalette.BLUE, alloyG, boundingBox, 100); + scene.overlay() + .showText(70) + .text("From the target's UI, new connections can be made") + .attachKeyFrame() + .placeNearTarget() + .pointAt(panelM); + scene.idle(40); + scene.overlay() + .showControls(panelM, Pointing.DOWN, 40) + .showing(AllIcons.I_ADD); + scene.idle(50); + + scene.overlay() + .showControls(panelM.add(1, -0.5, 0), Pointing.DOWN, 50) + .rightClick(); + scene.idle(7); + scene.overlay() + .chaseBoundingBoxOutline(PonderPalette.GREEN, nuggG, boundingBox.move(1, -.5, 0), 40); + scene.overlay() + .chaseBoundingBoxOutline(PonderPalette.GREEN, alloyG, boundingBox, 40); + scene.idle(10); + + addPanelConnection(builder, alloyG, PanelSlot.BOTTOM_LEFT, nuggG, PanelSlot.TOP_LEFT); + setArrowMode(builder, alloyG, PanelSlot.BOTTOM_LEFT, nuggG, PanelSlot.TOP_LEFT, 1); + scene.idle(45); + + scene.overlay() + .showControls(panelM, Pointing.DOWN, 40) + .showing(AllIcons.I_ADD); + scene.idle(50); + scene.overlay() + .showControls(panelM.add(1, 0, 0), Pointing.DOWN, 50) + .rightClick(); + scene.idle(7); + scene.overlay() + .chaseBoundingBoxOutline(PonderPalette.GREEN, andeG, boundingBox.move(1, 0, 0), 40); + scene.overlay() + .chaseBoundingBoxOutline(PonderPalette.GREEN, alloyG, boundingBox, 40); + scene.idle(10); + + addPanelConnection(builder, alloyG, PanelSlot.BOTTOM_LEFT, andeG, PanelSlot.BOTTOM_LEFT); + scene.idle(45); + + scene.overlay() + .showText(70) + .text("For aesthetics, input panels can be wrenched to change the pathing") + .colored(PonderPalette.BLUE) + .attachKeyFrame() + .placeNearTarget() + .pointAt(panelM.add(1, -0.5, 0)); + scene.idle(80); + + scene.overlay() + .showControls(panelM.add(1.125, -0.5, 0), Pointing.RIGHT, 50) + .rightClick() + .withItem(AllItems.WRENCH.asStack()); + scene.idle(7); + setArrowMode(builder, alloyG, PanelSlot.BOTTOM_LEFT, nuggG, PanelSlot.TOP_LEFT, 2); + scene.idle(60); + + scene.overlay() + .showControls(panelM, Pointing.DOWN, 100) + .rightClick(); + scene.idle(7); + scene.overlay() + .chaseBoundingBoxOutline(PonderPalette.BLUE, alloyG, boundingBox, 100); + scene.overlay() + .showText(110) + .text("In the UI, review the inputs and specify how much of the output gets made per batch") + .attachKeyFrame() + .placeNearTarget() + .pointAt(panelM); + scene.idle(120); + scene.overlay() + .showText(80) + .text("Specify the address that ingredients should be sent to") + .attachKeyFrame() + .placeNearTarget() + .pointAt(panelM); + scene.idle(70); + + scene.world() + .showSection(belt1, Direction.DOWN); + scene.idle(1); + scene.world() + .setBlocks(util.select() + .fromTo(1, 6, 7, 1, 6, 2), Blocks.AIR.defaultBlockState(), false); + scene.idle(3); + scene.world() + .showSection(belt2, Direction.DOWN); + scene.idle(1); + scene.world() + .setBlocks(util.select() + .fromTo(1, 6, 1, 3, 6, 1), Blocks.AIR.defaultBlockState(), false); + scene.idle(3); + scene.world() + .showSection(saw, Direction.DOWN); + scene.idle(1); + scene.world() + .setBlocks(util.select() + .position(4, 6, 1), Blocks.AIR.defaultBlockState(), false); + scene.idle(3); + scene.world() + .showSection(belt3, Direction.DOWN); + scene.idle(1); + scene.world() + .setBlocks(util.select() + .fromTo(5, 6, 1, 6, 6, 1), Blocks.AIR.defaultBlockState(), false); + scene.idle(20); + + scene.overlay() + .showControls(panelM, Pointing.DOWN, 100) + .rightClick(); + scene.idle(7); + scene.overlay() + .chaseBoundingBoxOutline(PonderPalette.GREEN, alloyG, boundingBox, 100); + scene.overlay() + .showText(100) + .text("The target amount to maintain can now be set by holding Right-click on the gauge") + .attachKeyFrame() + .colored(PonderPalette.GREEN) + .placeNearTarget() + .pointAt(panelM); + scene.idle(110); + + setPanelNotSatisfied(builder, alloyG, PanelSlot.BOTTOM_LEFT); + scene.idle(20); + + scene.overlay() + .showOutlineWithText(vault, 80) + .text("Whenever the network has fewer items than the amount...") + .colored(PonderPalette.BLUE) + .attachKeyFrame() + .placeNearTarget() + .pointAt(util.vector() + .of(4, 3, 7)); + + scene.idle(90); + PonderHilo.linkEffect(scene, link); + ItemStack andesiteItem = new ItemStack(Items.ANDESITE); + ItemStack nuggetItem = new ItemStack(Items.IRON_NUGGET); + ItemStack box = PackageItem.containing(List.of(andesiteItem, nuggetItem)); + PonderHilo.packagerCreate(scene, pack, box); + flash(builder, alloyG, PanelSlot.BOTTOM_LEFT); + scene.idle(20); + + scene.overlay() + .showText(70) + .text("...it will send new ingredients to the specified address") + .colored(PonderPalette.BLUE) + .placeNearTarget() + .attachKeyFrame() + .pointAt(util.vector() + .blockSurface(pack, Direction.WEST)); + scene.idle(80); + + scene.world() + .showSection(funnel1, Direction.DOWN); + scene.idle(5); + scene.world() + .showSection(funnel2, Direction.DOWN); + scene.idle(10); + + scene.world() + .createItemOnBelt(util.grid() + .at(1, 0, 7), Direction.EAST, box); + PonderHilo.packagerClear(scene, pack); + scene.idle(75); + scene.world() + .removeItemsFromBelt(util.grid() + .at(6, 0, 1)); + scene.world() + .flapFunnel(util.grid() + .at(6, 1, 1), false); + scene.idle(8); + scene.world() + .removeItemsFromBelt(util.grid() + .at(6, 0, 1)); + scene.world() + .flapFunnel(util.grid() + .at(6, 1, 1), false); + + scene.idle(5); + Class type = MechanicalMixerBlockEntity.class; + scene.world() + .modifyBlockEntity(util.grid() + .at(7, 3, 1), type, pte -> pte.startProcessingBasin()); + scene.world() + .createItemOnBeltLike(util.grid() + .at(7, 1, 1), Direction.UP, andesiteItem); + scene.world() + .createItemOnBeltLike(util.grid() + .at(7, 1, 1), Direction.UP, nuggetItem); + scene.idle(20); + + scene.world() + .showSection(basinOut, Direction.DOWN); + scene.idle(1); + scene.world() + .setBlocks(util.select() + .fromTo(7, 6, 2, 7, 6, 3), Blocks.AIR.defaultBlockState(), false); + scene.world() + .showSection(barrelAndPackager, Direction.DOWN); + + scene.idle(20); + scene.world() + .modifyBlockEntityNBT(basin, BasinBlockEntity.class, nbt -> { + nbt.put("VisualizedItems", + NBTHelper.writeCompoundList( + ImmutableList.of(IntAttached.with(1, AllItems.ANDESITE_ALLOY.asStack())), ia -> (CompoundTag) ia.getValue().saveOptional(builder.world().getHolderLookupProvider()))); + }); + scene.idle(4); + scene.rotateCameraY(90); + scene.idle(40); + + scene.overlay() + .showText(90) + .text("The outputs then need to return to any of the linked inventories") + .colored(PonderPalette.BLUE) + .placeNearTarget() + .attachKeyFrame() + .pointAt(util.vector() + .blockSurface(util.grid() + .at(7, 1, 3), Direction.UP)); + scene.idle(70); + + scene.world() + .showSection(belt4, Direction.DOWN); + scene.idle(1); + scene.world() + .setBlocks(util.select() + .fromTo(7, 6, 5, 7, 6, 7), Blocks.AIR.defaultBlockState(), false); + scene.world() + .showSection(pack2S, Direction.DOWN); + scene.idle(5); + scene.world() + .showSection(funnel3, Direction.DOWN); + scene.idle(10); + scene.world() + .toggleRedstonePower(util.select() + .fromTo(7, 1, 4, 7, 2, 4)); + scene.effects() + .indicateRedstone(util.grid() + .at(7, 2, 4)); + ItemStack box2 = PackageItem.containing(List.of()); + PonderHilo.packagerCreate(scene, util.grid() + .at(7, 1, 4), box2); + scene.idle(20); + PonderHilo.packagerClear(scene, util.grid() + .at(7, 1, 4)); + scene.world() + .createItemOnBelt(util.grid() + .at(7, 0, 5), Direction.NORTH, box2); + scene.idle(35); + scene.world() + .removeItemsFromBelt(util.grid() + .at(7, 0, 7)); + scene.world() + .flapFunnel(util.grid() + .at(7, 1, 7), false); + PonderHilo.packagerUnpack(scene, util.grid() + .at(6, 1, 7), box2); + scene.idle(20); + setPanelSatisfied(scene, alloyG, PanelSlot.BOTTOM_LEFT); + + scene.rotateCameraY(-90); + scene.idle(40); + + scene.overlay() + .showText(110) + .text("Green connections indicate that the target amount has been reached") + .attachKeyFrame() + .colored(PonderPalette.GREEN) + .placeNearTarget() + .pointAt(panelM.add(0.5, 0, 0)); + scene.idle(120); + + scene.world() + .hideSection(mixer, Direction.EAST); + scene.world() + .hideSection(basin, Direction.EAST); + scene.world() + .hideSection(basinOut, Direction.UP); + scene.idle(3); + scene.world() + .hideSection(barrelAndPackager, Direction.EAST); + scene.world() + .hideSection(funnel1, Direction.UP); + scene.world() + .hideSection(util.select() + .position(6, 1, 1), Direction.UP); + scene.world() + .hideSection(util.select() + .position(7, 1, 5), Direction.UP); + scene.world() + .hideSection(util.select() + .fromTo(6, 0, 1, 1, 0, 1), Direction.DOWN); + scene.world() + .hideSection(util.select() + .fromTo(1, 0, 7, 1, 0, 2), Direction.DOWN); + scene.idle(5); + scene.world() + .restoreBlocks(util.select() + .fromTo(6, 6, 1, 1, 6, 1)); + scene.world() + .restoreBlocks(util.select() + .fromTo(1, 6, 7, 1, 6, 2)); + scene.world() + .restoreBlocks(util.select() + .fromTo(7, 6, 4, 7, 6, 1)); + scene.idle(15); + + scene.world() + .showSection(scaff2, Direction.DOWN); + ElementLink scaffL = scene.world() + .showIndependentSection(scaff2, Direction.DOWN); + scene.world() + .moveSection(scaffL, util.vector() + .of(4, 0, 0), 0); + scene.idle(10); + scene.world() + .showSection(board2, Direction.DOWN); + scene.idle(10); + + setPanelPassive(builder, ironG, PanelSlot.TOP_LEFT); + removePanelConnections(builder, ironG, PanelSlot.TOP_LEFT); + scene.world() + .showSection(util.select() + .position(ironG), Direction.SOUTH); + scene.idle(15); + + addPanelConnection(builder, nuggG, PanelSlot.TOP_LEFT, ironG, PanelSlot.TOP_LEFT); + setPanelNotSatisfied(builder, nuggG, PanelSlot.TOP_LEFT); + scene.idle(15); + + scene.overlay() + .showText(110) + .text("The board of gauges can expand to include more recipe steps") + .attachKeyFrame() + .colored(PonderPalette.BLUE) + .placeNearTarget() + .pointAt(panelM.add(1, -0.5, 0)); + scene.idle(120); + + setPanelPassive(builder, dioriteG, PanelSlot.TOP_LEFT); + removePanelConnections(builder, dioriteG, PanelSlot.TOP_LEFT); + scene.world() + .showSection(util.select() + .position(dioriteG), Direction.SOUTH); + scene.idle(5); + setPanelPassive(builder, cobbleG, PanelSlot.TOP_LEFT); + removePanelConnections(builder, cobbleG, PanelSlot.TOP_LEFT); + scene.world() + .showSection(util.select() + .position(cobbleG), Direction.SOUTH); + scene.idle(10); + + addPanelConnection(builder, andeG, PanelSlot.BOTTOM_LEFT, dioriteG, PanelSlot.TOP_LEFT); + setPanelNotSatisfied(builder, andeG, PanelSlot.BOTTOM_LEFT); + scene.idle(5); + addPanelConnection(builder, andeG, PanelSlot.BOTTOM_LEFT, cobbleG, PanelSlot.TOP_LEFT); + setArrowMode(builder, andeG, PanelSlot.BOTTOM_LEFT, cobbleG, PanelSlot.TOP_LEFT, 2); + setPanelNotSatisfied(builder, andeG, PanelSlot.BOTTOM_LEFT); + scene.idle(15); + + removePanelConnections(builder, quartzG, PanelSlot.BOTTOM_RIGHT); + removePanelConnections(builder, logsG, PanelSlot.TOP_LEFT); + removePanelConnections(builder, alloyG, PanelSlot.TOP_RIGHT); + removePanelConnections(builder, logsG, PanelSlot.BOTTOM_RIGHT); + removePanelConnections(builder, planksG, PanelSlot.BOTTOM_RIGHT); + removePanelConnections(builder, rawIronG, PanelSlot.BOTTOM_RIGHT); + removePanelConnections(builder, cogG, PanelSlot.TOP_LEFT); + + scene.overlay() + .showText(110) + .text("Each gauge maintains the stock level of its item independently") + .attachKeyFrame() + .colored(PonderPalette.BLUE) + .placeNearTarget() + .pointAt(panelM.add(1, 0, 0)); + scene.idle(120); + + setPanelPassive(builder, quartzG, PanelSlot.BOTTOM_RIGHT); + scene.world() + .showSection(util.select() + .position(quartzG), Direction.SOUTH); + scene.idle(15); + + addPanelConnection(builder, dioriteG, PanelSlot.TOP_LEFT, quartzG, PanelSlot.BOTTOM_RIGHT); + addPanelConnection(builder, dioriteG, PanelSlot.TOP_LEFT, cobbleG, PanelSlot.TOP_LEFT); + setPanelNotSatisfied(builder, dioriteG, PanelSlot.TOP_LEFT); + scene.idle(5); + + scene.world() + .showSection(util.select() + .position(logsG), Direction.SOUTH); + scene.idle(10); + + scene.world() + .showSection(util.select() + .position(rawIronG), Direction.SOUTH); + + scene.idle(4); + setPanelVisible(builder, alloyG, PanelSlot.TOP_RIGHT, true); + scene.idle(1); + addPanelConnection(builder, logsG, PanelSlot.BOTTOM_RIGHT, logsG, PanelSlot.TOP_LEFT); + setPanelNotSatisfied(builder, logsG, PanelSlot.BOTTOM_RIGHT); + scene.world() + .showSection(util.select() + .position(planksG), Direction.SOUTH); + scene.idle(5); + scene.world() + .showSection(util.select() + .position(cogG), Direction.SOUTH); + addPanelConnection(builder, alloyG, PanelSlot.TOP_RIGHT, alloyG, PanelSlot.BOTTOM_LEFT); + setPanelNotSatisfied(builder, alloyG, PanelSlot.TOP_RIGHT); + scene.idle(5); + addPanelConnection(builder, ironG, PanelSlot.TOP_LEFT, rawIronG, PanelSlot.BOTTOM_RIGHT); + setPanelNotSatisfied(builder, ironG, PanelSlot.TOP_LEFT); + scene.idle(5); + addPanelConnection(builder, planksG, PanelSlot.BOTTOM_RIGHT, logsG, PanelSlot.BOTTOM_RIGHT); + setPanelNotSatisfied(builder, planksG, PanelSlot.BOTTOM_RIGHT); + scene.idle(5); + addPanelConnection(builder, cogG, PanelSlot.TOP_LEFT, planksG, PanelSlot.BOTTOM_RIGHT); + addPanelConnection(builder, cogG, PanelSlot.TOP_LEFT, alloyG, PanelSlot.TOP_RIGHT); + setPanelNotSatisfied(builder, cogG, PanelSlot.TOP_LEFT); + + } + + public static void crafting(SceneBuilder builder, SceneBuildingUtil util) { + CreateSceneBuilder scene = new CreateSceneBuilder(builder); + scene.title("factory_gauge_crafting", "Automatic Crafting with Factory Gauges"); + scene.configureBasePlate(0, 0, 9); + scene.scaleSceneView(0.925f); + scene.setSceneOffsetY(-0.5f); + scene.showBasePlate(); + + Selection scaff = util.select() + .fromTo(3, 1, 5, 1, 1, 5); + Selection board = util.select() + .fromTo(3, 2, 5, 1, 3, 5); + FactoryPanelPosition pickG = new FactoryPanelPosition(util.grid() + .at(1, 3, 4), PanelSlot.BOTTOM_LEFT); + FactoryPanelPosition stickG = new FactoryPanelPosition(util.grid() + .at(2, 2, 4), PanelSlot.TOP_LEFT); + FactoryPanelPosition diaG = new FactoryPanelPosition(util.grid() + .at(3, 3, 4), PanelSlot.BOTTOM_RIGHT); + + BlockPos funnelToDelete = util.grid() + .at(1, 2, 1); + scene.world() + .setBlock(funnelToDelete, Blocks.AIR.defaultBlockState(), false); + + Selection belt1 = util.select() + .fromTo(0, 1, 1, 7, 1, 1); + Selection belt2 = util.select() + .fromTo(7, 1, 7, 0, 1, 7); + Selection repacker = util.select() + .fromTo(1, 2, 1, 4, 3, 1); + Selection crafterBits = util.select() + .fromTo(6, 1, 3, 7, 1, 3); + Selection crafter = util.select() + .fromTo(6, 1, 2, 6, 4, 4) + .substract(crafterBits); + BlockPos pack = util.grid() + .at(6, 2, 1); + Selection packS = util.select() + .position(6, 2, 1); + Selection cogs1 = util.select() + .fromTo(7, 1, 2, 8, 1, 2); + Selection cogs2 = util.select() + .fromTo(7, 1, 6, 8, 1, 6); + Selection largeCog1 = util.select() + .position(9, 0, 2); + Selection largeCog2 = util.select() + .position(9, 0, 6); + Selection barrel = util.select() + .fromTo(6, 1, 5, 6, 2, 5); + Selection outPacker = util.select() + .fromTo(6, 1, 6, 6, 3, 6) + .add(util.select() + .position(5, 2, 6)); + Selection outFunnel = util.select() + .position(6, 2, 7); + + scene.idle(10); + scene.world() + .showSection(scaff, Direction.NORTH); + scene.world() + .showSection(board, Direction.DOWN); + scene.idle(10); + scene.world() + .showSection(crafterBits, Direction.WEST); + scene.world() + .showSection(largeCog1, Direction.UP); + scene.world() + .showSection(cogs1, Direction.SOUTH); + scene.idle(5); + scene.world() + .showSection(crafter, Direction.DOWN); + scene.idle(15); + + scene.overlay() + .showText(100) + .text("Factory gauges provide auto-arrangement for crafting table recipes") + .attachKeyFrame() + .placeNearTarget() + .pointAt(util.vector() + .blockSurface(util.grid() + .at(6, 3, 3), Direction.WEST)); + scene.idle(110); + + removePanelConnections(builder, pickG.pos(), pickG.slot()); + setPanelPassive(builder, pickG.pos(), pickG.slot()); + + scene.world() + .showSection(util.select() + .position(diaG.pos()), Direction.SOUTH); + scene.idle(5); + scene.world() + .showSection(util.select() + .position(stickG.pos()), Direction.SOUTH); + scene.idle(5); + scene.world() + .showSection(util.select() + .position(pickG.pos()), Direction.SOUTH); + scene.idle(15); + addPanelConnection(builder, pickG.pos(), pickG.slot(), diaG.pos(), diaG.slot()); + scene.idle(5); + addPanelConnection(builder, pickG.pos(), pickG.slot(), stickG.pos(), stickG.slot()); + scene.idle(5); + + Vec3 midl = util.vector() + .of(1.75, 3.25, 5); + scene.overlay() + .showText(60) + .text("Connect the required ingredients as before") + .attachKeyFrame() + .placeNearTarget() + .pointAt(midl); + scene.idle(80); + + scene.overlay() + .showControls(midl, Pointing.DOWN, 120) + .showing(AllIcons.I_3x3); + scene.idle(7); + AABB boundingBox = new AABB(midl, midl).inflate(0.19, 0.19, 0); + scene.overlay() + .chaseBoundingBoxOutline(PonderPalette.BLUE, pickG, boundingBox, 100); + scene.idle(10); + scene.overlay() + .showText(90) + .text("When a valid recipe is detected, a new button appears in the UI") + .attachKeyFrame() + .colored(PonderPalette.BLUE) + .placeNearTarget() + .pointAt(midl); + scene.idle(100); + + scene.world() + .showSection(belt1, Direction.SOUTH); + scene.world() + .showSection(packS, Direction.DOWN); + scene.idle(30); + + scene.overlay() + .showText(120) + .text("With auto-arrangement active, the boxes can be unwrapped into crafters directly") + .attachKeyFrame() + .placeNearTarget() + .pointAt(util.vector() + .blockSurface(util.grid() + .at(6, 2, 1), Direction.WEST)); + scene.idle(130); + scene.rotateCameraY(90); + scene.idle(40); + + scene.overlay() + .showControls(util.vector() + .blockSurface(util.grid() + .at(6, 3, 4), Direction.EAST), + Pointing.RIGHT, 120) + .rightClick() + .withItem(AllItems.WRENCH.asStack()); + scene.idle(7); + + scene.world() + .connectCrafterInvs(util.grid() + .at(6, 4, 4), + util.grid() + .at(6, 4, 3)); + scene.world() + .connectCrafterInvs(util.grid() + .at(6, 4, 3), + util.grid() + .at(6, 4, 2)); + scene.world() + .connectCrafterInvs(util.grid() + .at(6, 4, 4), + util.grid() + .at(6, 3, 4)); + scene.world() + .connectCrafterInvs(util.grid() + .at(6, 4, 3), + util.grid() + .at(6, 3, 3)); + scene.world() + .connectCrafterInvs(util.grid() + .at(6, 4, 2), + util.grid() + .at(6, 3, 2)); + scene.world() + .connectCrafterInvs(util.grid() + .at(6, 3, 4), + util.grid() + .at(6, 2, 4)); + scene.world() + .connectCrafterInvs(util.grid() + .at(6, 3, 3), + util.grid() + .at(6, 2, 3)); + scene.world() + .connectCrafterInvs(util.grid() + .at(6, 3, 2), + util.grid() + .at(6, 2, 2)); + for (int y = 0; y < 3; y++) + for (int z = 0; z < 3; z++) + scene.effects() + .indicateSuccess(util.grid() + .at(6, 2 + y, 2 + z)); + scene.idle(20); + + scene.overlay() + .showOutlineWithText(util.select() + .fromTo(6, 2, 2, 6, 4, 4), 100) + .text("The setup must be 3x3 and the crafters have to be connected via wrench") + .attachKeyFrame() + .colored(PonderPalette.GREEN) + .placeNearTarget() + .pointAt(util.vector() + .blockSurface(util.grid() + .at(6, 3, 2), Direction.NORTH)); + + scene.idle(100); + scene.rotateCameraY(-90); + scene.idle(20); + scene.world() + .showSection(util.select() + .position(5, 2, 1), Direction.DOWN); + scene.idle(10); + scene.world() + .showSection(barrel, Direction.NORTH); + scene.idle(20); + + scene.overlay() + .showControls(midl, Pointing.DOWN, 60) + .rightClick(); + scene.idle(7); + scene.overlay() + .chaseBoundingBoxOutline(PonderPalette.GREEN, pickG, boundingBox, 100); + scene.overlay() + .showText(60) + .text("Hold Right-click on the gauge to set the target amount") + .attachKeyFrame() + .colored(PonderPalette.GREEN) + .placeNearTarget() + .pointAt(midl); + + scene.idle(70); + setPanelNotSatisfied(builder, pickG.pos(), pickG.slot()); + scene.idle(10); + ItemStack box = PackageItem.containing(List.of()); + scene.world() + .createItemOnBelt(util.grid() + .at(0, 1, 1), Direction.WEST, box); + scene.idle(40); + scene.world() + .removeItemsFromBelt(util.grid() + .at(5, 1, 1)); + scene.world() + .flapFunnel(util.grid() + .at(5, 2, 1), false); + PonderHilo.packagerUnpack(scene, pack, box); + scene.rotateCameraY(-15); + scene.idle(15); + + insertItemsIntoCrafter(scene, util.grid() + .at(6, 4, 2), new ItemStack(Items.DIAMOND)); + insertItemsIntoCrafter(scene, util.grid() + .at(6, 4, 3), new ItemStack(Items.DIAMOND)); + insertItemsIntoCrafter(scene, util.grid() + .at(6, 4, 4), new ItemStack(Items.DIAMOND)); + insertItemsIntoCrafter(scene, util.grid() + .at(6, 3, 3), new ItemStack(Items.STICK)); + insertItemsIntoCrafter(scene, util.grid() + .at(6, 2, 3), new ItemStack(Items.STICK)); + scene.world() + .setCraftingResult(util.grid() + .at(6, 2, 4), new ItemStack(Items.DIAMOND_PICKAXE)); + scene.world() + .modifyBlockEntity(util.grid() + .at(6, 3, 2), MechanicalCrafterBlockEntity.class, be -> be.checkCompletedRecipe(true)); + + scene.idle(60); + scene.overlay() + .showText(120) + .text("This crafter can now be used universally, by more gauges with different recipes") + .attachKeyFrame() + .placeNearTarget() + .pointAt(util.vector() + .blockSurface(util.grid() + .at(6, 3, 4), Direction.WEST)); + + scene.idle(120); + + scene.world() + .showSection(outPacker, Direction.NORTH); + scene.idle(20); + scene.rotateCameraY(15); + scene.world() + .toggleRedstonePower(util.select() + .fromTo(6, 2, 6, 6, 3, 6)); + scene.effects() + .indicateRedstone(util.grid() + .at(6, 3, 6)); + scene.world() + .showSection(belt2, Direction.NORTH); + scene.world() + .showSection(outFunnel, Direction.DOWN); + scene.world() + .showSection(largeCog2, Direction.UP); + scene.world() + .showSection(cogs2, Direction.WEST); + scene.world() + .restoreBlocks(util.select() + .position(funnelToDelete)); + scene.idle(15); + ItemStack box2 = PackageItem.containing(List.of()); + PonderHilo.packagerCreate(scene, util.grid() + .at(6, 2, 6), box2); + scene.idle(20); + PonderHilo.packagerClear(scene, util.grid() + .at(6, 2, 6)); + scene.world() + .createItemOnBelt(util.grid() + .at(6, 1, 7), Direction.NORTH, box2); + + scene.overlay() + .showText(100) + .text("Outputs should be sent back to a linked inventory to close the loop") + .attachKeyFrame() + .colored(PonderPalette.BLUE) + .placeNearTarget() + .pointAt(util.vector() + .blockSurface(util.grid() + .at(6, 2, 6), Direction.WEST)); + + scene.idle(45); + PonderHilo.packageHopsOffBelt(scene, util.grid() + .at(0, 1, 7), Direction.WEST, box2); + scene.idle(50); + + scene.world() + .showSection(repacker, Direction.DOWN); + scene.idle(20); + + scene.overlay() + .showText(120) + .text("Using a Re-packager is recommended to prevent fragmentation of input packages") + .attachKeyFrame() + .colored(PonderPalette.BLUE) + .placeNearTarget() + .pointAt(util.vector() + .blockSurface(util.grid() + .at(3, 2, 1), Direction.NORTH)); + scene.idle(120); + } + + public static void links(SceneBuilder builder, SceneBuildingUtil util) { + CreateSceneBuilder scene = new CreateSceneBuilder(builder); + scene.title("factory_gauge_links", "Connecting Gauges to other Blocks"); + scene.setSceneOffsetY(-1f); + scene.configureBasePlate(0, 0, 5); + scene.showBasePlate(); + + Selection scaff = util.select() + .fromTo(3, 1, 2, 1, 1, 2); + Selection board = util.select() + .fromTo(3, 3, 2, 1, 2, 2); + BlockPos link = util.grid() + .at(3, 2, 1); + BlockPos display = util.grid() + .at(1, 2, 1); + BlockPos gauge = util.grid() + .at(2, 3, 1); + Selection linkS = util.select() + .position(3, 2, 1); + Selection displayS = util.select() + .position(1, 2, 1); + Selection gaugeS = util.select() + .position(2, 3, 1); + PanelSlot slot = PanelSlot.TOP_LEFT; + + removePanelConnections(scene, gauge, slot); + scene.idle(10); + scene.world() + .showSection(scaff, Direction.NORTH); + scene.world() + .showSection(board, Direction.DOWN); + scene.idle(10); + scene.world() + .showSection(gaugeS, Direction.SOUTH); + scene.idle(20); + + Vec3 midl = util.vector() + .of(2.75, 3.75, 2); + AABB boundingBox = new AABB(midl, midl).inflate(0.19, 0.19, 0); + scene.overlay() + .showControls(midl, Pointing.DOWN, 60) + .showing(AllIcons.I_ADD); + scene.idle(7); + scene.overlay() + .chaseBoundingBoxOutline(PonderPalette.BLUE, gauge, boundingBox, 100); + scene.idle(10); + scene.overlay() + .showText(70) + .text("When adding a new connection from the UI...") + .attachKeyFrame() + .colored(PonderPalette.BLUE) + .placeNearTarget() + .pointAt(midl); + scene.idle(50); + + scene.world() + .showSection(linkS, Direction.SOUTH); + scene.idle(5); + scene.world() + .showSection(displayS, Direction.SOUTH); + + scene.idle(30); + scene.overlay() + .showControls(util.vector() + .of(4, 2.5, 2), Pointing.RIGHT, 60) + .rightClick(); + + scene.idle(7); + scene.overlay() + .chaseBoundingBoxOutline(PonderPalette.GREEN, link, boundingBox.move(0.75, -1.25, 0) + .inflate(0.15, 0.25, 0), 40); + scene.overlay() + .chaseBoundingBoxOutline(PonderPalette.GREEN, gauge, boundingBox, 40); + + addPanelConnection(builder, gauge, slot, link, PanelSlot.TOP_RIGHT); + setArrowMode(builder, gauge, slot, link, PanelSlot.TOP_RIGHT, 0); + scene.idle(20); + + scene.overlay() + .showText(70) + .text("...the gauge also accepts Redstone and Display Links") + .attachKeyFrame() + .colored(PonderPalette.BLUE) + .placeNearTarget() + .pointAt(midl.add(0.5, -1.5, 0)); + scene.idle(80); + + setPanelSatisfied(builder, gauge, slot); + scene.world() + .toggleRedstonePower(util.select() + .position(3, 2, 1)); + scene.effects() + .indicateRedstone(util.grid() + .at(3, 2, 1)); + scene.idle(40); + + scene.overlay() + .showText(120) + .text("Redstone links will be powered when the stock level is at or above the target amount") + .attachKeyFrame() + .placeNearTarget() + .pointAt(midl); + scene.idle(130); + + scene.world() + .toggleRedstonePower(util.select() + .position(3, 2, 1)); + setPanelNotSatisfied(builder, gauge, slot); + + scene.idle(30); + scene.overlay() + .showControls(util.vector() + .of(4, 2.5, 2), Pointing.RIGHT, 60) + .withItem(AllItems.WRENCH.asStack()) + .rightClick(); + scene.idle(7); + scene.world() + .cycleBlockProperty(util.grid() + .at(3, 2, 1), RedstoneLinkBlock.RECEIVER); + scene.idle(30); + + scene.world() + .toggleRedstonePower(util.select() + .position(3, 2, 1)); + scene.effects() + .indicateRedstone(util.grid() + .at(3, 2, 1)); + setPanelPowered(builder, gauge, slot, true); + scene.idle(30); + + scene.overlay() + .showText(100) + .text("In receiver mode, links can stop the gauge from sending requests") + .attachKeyFrame() + .placeNearTarget() + .pointAt(midl); + scene.idle(130); + + addPanelConnection(builder, gauge, slot, display, slot); + setArrowMode(builder, gauge, slot, display, slot, 2); + + scene.overlay() + .showText(100) + .text("Display links can provide a status overview of connected gauges") + .attachKeyFrame() + .colored(PonderPalette.BLUE) + .placeNearTarget() + .pointAt(util.vector() + .of(1, 3, 1)); + scene.idle(100); + + } + + private static void setPanelItem(SceneBuilder builder, BlockPos gauge, PanelSlot slot, ItemStack item) { + withGaugeDo(builder, gauge, slot, pb -> pb.setFilter(item)); + } + + private static void setPanelPowered(SceneBuilder builder, BlockPos gauge, PanelSlot slot, boolean power) { + withGaugeDo(builder, gauge, slot, pb -> pb.redstonePowered = power); + } + + private static void setPanelVisible(SceneBuilder builder, BlockPos gauge, PanelSlot slot, boolean visible) { + withGaugeDo(builder, gauge, slot, pb -> pb.active = visible); + } + + private static void setPanelNotSatisfied(SceneBuilder builder, BlockPos gauge, PanelSlot slot) { + withGaugeDo(builder, gauge, slot, pb -> pb.count = 2); + } + + private static void flash(SceneBuilder builder, BlockPos gauge, PanelSlot slot) { + withGaugeDo(builder, gauge, slot, pb -> pb.bulb.setValue(1)); + } + + private static void setPanelSatisfied(SceneBuilder builder, BlockPos gauge, PanelSlot slot) { + withGaugeDo(builder, gauge, slot, pb -> pb.count = 1); + } + + private static void setPanelPassive(SceneBuilder builder, BlockPos gauge, PanelSlot slot) { + withGaugeDo(builder, gauge, slot, pb -> pb.count = 0); + } + + private static void removePanelConnections(SceneBuilder builder, BlockPos gauge, PanelSlot slot) { + withGaugeDo(builder, gauge, slot, pb -> pb.disconnectAll()); + } + + private static void setArrowMode(SceneBuilder builder, BlockPos gauge, PanelSlot slot, BlockPos fromGauge, + PanelSlot fromSlot, int mode) { + withGaugeDo(builder, gauge, slot, pb -> { + FactoryPanelConnection connection = pb.targetedBy.get(new FactoryPanelPosition(fromGauge, fromSlot)); + if (connection == null) { + connection = pb.targetedByLinks.get(fromGauge); + if (connection == null) + return; + } + connection.arrowBendMode = mode; + }); + } + + private static void addPanelConnection(SceneBuilder builder, BlockPos gauge, PanelSlot slot, BlockPos fromGauge, + PanelSlot fromSlot) { + withGaugeDo(builder, gauge, slot, pb -> pb.addConnection(new FactoryPanelPosition(fromGauge, fromSlot))); + } + + private static void insertItemsIntoCrafter(CreateSceneBuilder scene, BlockPos pos, ItemStack stack) { + scene.world() + .modifyBlockEntity(pos, MechanicalCrafterBlockEntity.class, be -> be.getInventory() + .setItem(0, stack)); + } + + private static void withGaugeDo(SceneBuilder builder, BlockPos gauge, PanelSlot slot, + Consumer call) { + builder.world() + .modifyBlockEntity(gauge, FactoryPanelBlockEntity.class, be -> call.accept(be.panels.get(slot))); + } + +} diff --git a/src/main/java/com/simibubi/create/infrastructure/ponder/scenes/highLogistics/FrogAndConveyorScenes.java b/src/main/java/com/simibubi/create/infrastructure/ponder/scenes/highLogistics/FrogAndConveyorScenes.java index 7c83de7bd4..30f25bd262 100644 --- a/src/main/java/com/simibubi/create/infrastructure/ponder/scenes/highLogistics/FrogAndConveyorScenes.java +++ b/src/main/java/com/simibubi/create/infrastructure/ponder/scenes/highLogistics/FrogAndConveyorScenes.java @@ -376,7 +376,7 @@ public class FrogAndConveyorScenes { public static void frogPort(SceneBuilder builder, SceneBuildingUtil util) { CreateSceneBuilder scene = new CreateSceneBuilder(builder); - scene.title("package_frogport", "Transporting packages with Frogports"); + scene.title("package_frogport", "Transporting packages between Frogports"); scene.configureBasePlate(0, 0, 9); scene.scaleSceneView(.75f); scene.setSceneOffsetY(-1); @@ -526,7 +526,7 @@ public class FrogAndConveyorScenes { .position(fromFrog.below()), 70) .attachKeyFrame() .colored(PonderPalette.BLUE) - .text("They can be given a name in their inventory UI") + .text("Assign it an address in the inventory UI") .pointAt(util.vector() .topOf(fromFrog.below())) .placeNearTarget(); @@ -568,7 +568,7 @@ public class FrogAndConveyorScenes { scene.overlay() .showText(60) .attachKeyFrame() - .text("If a package is addressed to a different name..") + .text("If the address of an inserted package does not match it..") .pointAt(util.vector() .topOf(5, 0, 3)) .placeNearTarget(); diff --git a/src/main/java/com/simibubi/create/infrastructure/ponder/scenes/highLogistics/PackagerScenes.java b/src/main/java/com/simibubi/create/infrastructure/ponder/scenes/highLogistics/PackagerScenes.java index e713358119..4d50a250a7 100644 --- a/src/main/java/com/simibubi/create/infrastructure/ponder/scenes/highLogistics/PackagerScenes.java +++ b/src/main/java/com/simibubi/create/infrastructure/ponder/scenes/highLogistics/PackagerScenes.java @@ -250,7 +250,7 @@ public class PackagerScenes { scene.idle(40); PonderHilo.packageHopsOffBelt(scene, util.grid() - .at(0, 1, 2), Direction.WEST); + .at(0, 1, 2), Direction.WEST, box); scene.idle(40); } @@ -497,7 +497,7 @@ public class PackagerScenes { scene.idle(40); PonderHilo.packageHopsOffBelt(scene, util.grid() - .at(4, 1, 0), Direction.NORTH); + .at(4, 1, 0), Direction.NORTH, warehouseBox); scene.idle(40); scene.world() .multiplyKineticSpeed(util.select() @@ -547,7 +547,7 @@ public class PackagerScenes { scene.overlay() .showText(100) - .text("Aside from those filters, Frogports and Postboxes have package routing capabilities") + .text("Aside from filters, Frogports and Postboxes have package routing abilities") .attachKeyFrame() .placeNearTarget() .pointAt(util.vector() diff --git a/src/main/java/com/simibubi/create/infrastructure/ponder/scenes/highLogistics/PonderHilo.java b/src/main/java/com/simibubi/create/infrastructure/ponder/scenes/highLogistics/PonderHilo.java index 2b19469aee..23675323e4 100644 --- a/src/main/java/com/simibubi/create/infrastructure/ponder/scenes/highLogistics/PonderHilo.java +++ b/src/main/java/com/simibubi/create/infrastructure/ponder/scenes/highLogistics/PonderHilo.java @@ -1,7 +1,6 @@ package com.simibubi.create.infrastructure.ponder.scenes.highLogistics; import com.simibubi.create.content.logistics.box.PackageEntity; -import com.simibubi.create.content.logistics.box.PackageStyles; import com.simibubi.create.content.logistics.packager.PackagerBlockEntity; import com.simibubi.create.foundation.ponder.CreateSceneBuilder; @@ -9,7 +8,10 @@ import net.createmod.ponder.api.element.ElementLink; import net.createmod.ponder.api.element.EntityElement; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.core.particles.VibrationParticleOption; import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.gameevent.BlockPositionSource; import net.minecraft.world.phys.Vec3; public class PonderHilo { @@ -38,17 +40,34 @@ public class PonderHilo { } public static ElementLink packageHopsOffBelt(CreateSceneBuilder scene, BlockPos beltPos, - Direction side) { + Direction side, ItemStack box) { scene.world() .removeItemsFromBelt(beltPos); return scene.world() .createEntity(l -> { - PackageEntity packageEntity = new PackageEntity(l, beltPos.getX() + 0.5 + side.getStepX() * 0.25, - beltPos.getY() + 0.875, beltPos.getZ() + 0.5 + side.getStepZ() * 0.25); - packageEntity.setDeltaMovement(new Vec3(side.getStepX(), 0.5f, side.getStepZ()).scale(0.25f)); - packageEntity.box = PackageStyles.getDefaultBox(); + PackageEntity packageEntity = new PackageEntity(l, beltPos.getX() + 0.5 + side.getStepX() * 0.675, + beltPos.getY() + 0.875, beltPos.getZ() + 0.5 + side.getStepZ() * 0.675); + packageEntity.setDeltaMovement(new Vec3(side.getStepX(), 1f, side.getStepZ()).scale(0.125f)); + packageEntity.box = box; return packageEntity; }); } + public static void linkEffect(CreateSceneBuilder scene, BlockPos pos) { + scene.addInstruction(s -> { + Vec3 vec3 = Vec3.atCenterOf(pos); + s.getWorld() + .addParticle(new VibrationParticleOption(new BlockPositionSource(pos.above(3)), 6), vec3.x, vec3.y, + vec3.z, 1, 1, 1); + }); + } + + public static void requesterEffect(CreateSceneBuilder scene, BlockPos pos) { + scene.addInstruction(s -> { + Vec3 vec3 = Vec3.atCenterOf(pos); + s.getWorld() + .addParticle(ParticleTypes.NOTE, vec3.x, vec3.y + 1, vec3.z, 0, 0, 0); + }); + } + } diff --git a/src/main/java/com/simibubi/create/infrastructure/ponder/scenes/highLogistics/PostboxScenes.java b/src/main/java/com/simibubi/create/infrastructure/ponder/scenes/highLogistics/PostboxScenes.java new file mode 100644 index 0000000000..ae1f07507a --- /dev/null +++ b/src/main/java/com/simibubi/create/infrastructure/ponder/scenes/highLogistics/PostboxScenes.java @@ -0,0 +1,477 @@ +package com.simibubi.create.infrastructure.ponder.scenes.highLogistics; + +import java.util.List; + +import com.simibubi.create.AllBlocks; +import com.simibubi.create.content.logistics.box.PackageItem; +import com.simibubi.create.content.logistics.box.PackageStyles; +import com.simibubi.create.content.logistics.packagePort.postbox.PostboxBlockEntity; +import com.simibubi.create.foundation.ponder.CreateSceneBuilder; + +import net.createmod.catnip.utility.Pointing; +import net.createmod.ponder.api.PonderPalette; +import net.createmod.ponder.api.element.ElementLink; +import net.createmod.ponder.api.element.ParrotElement; +import net.createmod.ponder.api.element.ParrotPose.FacePointOfInterestPose; +import net.createmod.ponder.api.element.WorldSectionElement; +import net.createmod.ponder.api.scene.SceneBuilder; +import net.createmod.ponder.api.scene.SceneBuildingUtil; +import net.createmod.ponder.api.scene.Selection; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.item.DyeColor; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.phys.AABB; +import net.minecraft.world.phys.Vec3; + +public class PostboxScenes { + + public static void postbox(SceneBuilder builder, SceneBuildingUtil util) { + CreateSceneBuilder scene = new CreateSceneBuilder(builder); + scene.title("postbox", "Transporting packages between Postboxes"); + scene.configureBasePlate(0, 1, 9); + scene.scaleSceneView(.875f); + scene.setSceneOffsetY(-0.5f); + + BlockPos station = util.grid() + .at(1, 1, 8); + Selection stationS = util.select() + .position(1, 1, 8); + BlockPos box2 = util.grid() + .at(3, 1, 8); + Selection box2S = util.select() + .position(3, 1, 8); + Selection glass = util.select() + .fromTo(3, 1, 9, 1, 1, 9); + BlockPos box = util.grid() + .at(1, 2, 2); + Selection boxS = util.select() + .position(1, 2, 2); + Selection girder = util.select() + .position(1, 1, 2); + Selection belt = util.select() + .fromTo(4, 1, 2, 2, 1, 2); + Selection cog = util.select() + .fromTo(4, 1, 1, 4, 1, 0); + Selection largeCog = util.select() + .position(5, 0, 0); + Selection train1 = util.select() + .fromTo(0, 2, 4, 3, 3, 6); + Selection train2 = util.select() + .fromTo(4, 2, 4, 8, 3, 6); + BlockPos controls = util.grid() + .at(2, 3, 5); + Selection tracks = util.select() + .fromTo(9, 1, 5, 30, 1, 5); + BlockPos funnel = util.grid() + .at(2, 2, 2); + + ItemStack boxItem2 = PackageItem.containing(List.of()); + PackageItem.addAddress(boxItem2, "Peter"); + scene.world() + .createItemOnBeltLike(util.grid() + .at(6, 2, 4), Direction.DOWN, boxItem2); + + scene.world() + .toggleControls(controls); + ElementLink base = scene.world() + .showIndependentSection(util.select() + .fromTo(0, 0, 1, 8, 0, 9), Direction.UP); + scene.idle(10); + + ElementLink tracksL = scene.world() + .showIndependentSection(util.select() + .position(8, 1, 5), Direction.DOWN); + scene.idle(1); + for (int i = 7; i >= 0; i--) { + scene.world() + .showSectionAndMerge(util.select() + .position(i, 1, 5), Direction.DOWN, tracksL); + scene.idle(1); + } + scene.idle(5); + + scene.world() + .showSectionAndMerge(stationS, Direction.DOWN, base); + scene.idle(15); + + Vec3 fromTarget = util.vector() + .topOf(station); + + ItemStack postboxItem = AllBlocks.PACKAGE_POSTBOXES.get(DyeColor.WHITE) + .asStack(); + scene.overlay() + .showControls(fromTarget, Pointing.DOWN, 50) + .rightClick() + .withItem(postboxItem); + scene.idle(5); + + AABB bb1 = new AABB(fromTarget, fromTarget); + scene.overlay() + .chaseBoundingBoxOutline(PonderPalette.WHITE, box, bb1, 10); + scene.idle(1); + scene.overlay() + .chaseBoundingBoxOutline(PonderPalette.WHITE, box, bb1.inflate(0.025, 0.025, 0.025), 50); + scene.idle(26); + + scene.overlay() + .showText(80) + .text("Right-click a Train Station and place the Postbox nearby") + .attachKeyFrame() + .placeNearTarget() + .pointAt(fromTarget); + + scene.idle(40); + + ElementLink postboxE = scene.world() + .showIndependentSection(boxS, Direction.DOWN); + scene.world() + .moveSection(postboxE, util.vector() + .of(0, -1, 0), 0); + + scene.idle(15); + scene.overlay() + .chaseBoundingBoxOutline(PonderPalette.GREEN, box, bb1.inflate(0.025, 0.025, 0.025), 50); + + AABB bb2 = new AABB(box.below()).deflate(0.125, 0, 0) + .contract(0, 0.125, 0); + + scene.overlay() + .chaseBoundingBoxOutline(PonderPalette.GREEN, box2, bb2, 50); + scene.idle(10); + scene.overlay() + .showLine(PonderPalette.GREEN, util.vector() + .topOf(box.below()), fromTarget, 40); + scene.idle(45); + + scene.overlay() + .showControls(util.vector() + .topOf(box.below()), Pointing.DOWN, 40) + .rightClick(); + scene.idle(7); + scene.overlay() + .chaseBoundingBoxOutline(PonderPalette.BLUE, funnel, bb2, 70); + scene.overlay() + .showText(70) + .attachKeyFrame() + .colored(PonderPalette.BLUE) + .text("Assign it an address in the inventory UI") + .pointAt(util.vector() + .topOf(box.below())) + .placeNearTarget(); + scene.idle(80); + + scene.world() + .moveSection(postboxE, util.vector() + .of(0, 1, 0), 10); + scene.idle(10); + scene.world() + .showSectionAndMerge(girder, Direction.NORTH, base); + scene.idle(5); + scene.world() + .showSectionAndMerge(largeCog, Direction.UP, base); + scene.world() + .showSectionAndMerge(cog, Direction.DOWN, base); + scene.world() + .showSectionAndMerge(belt, Direction.WEST, base); + scene.idle(5); + + scene.world() + .showSectionAndMerge(util.select() + .position(funnel), Direction.DOWN, base); + scene.idle(10); + + ItemStack boxItem = PackageStyles.getDefaultBox() + .copy(); + PackageItem.addAddress(boxItem, "Peter"); + + scene.world() + .createItemOnBelt(util.grid() + .at(3, 1, 2), Direction.EAST, boxItem); + scene.idle(5); + + scene.world() + .multiplyKineticSpeed(util.select() + .everywhere(), 1 / 32f); + + scene.overlay() + .showText(60) + .attachKeyFrame() + .text("If the address of an inserted package does not match it..") + .pointAt(util.vector() + .centerOf(3, 2, 2)) + .placeNearTarget(); + + scene.idle(70); + + scene.overlay() + .showText(40) + .colored(PonderPalette.BLUE) + .text("Warehouse") + .pointAt(util.vector() + .blockSurface(box, Direction.NORTH) + .add(-.5, 0, 0)) + .placeNearTarget(); + scene.idle(5); + scene.overlay() + .showText(40) + .colored(PonderPalette.OUTPUT) + .text("\u2192 Outpost") + .pointAt(util.vector() + .centerOf(3, 2, 2)) + .placeNearTarget(); + + scene.idle(50); + + scene.world() + .multiplyKineticSpeed(util.select() + .everywhere(), 32f); + scene.idle(17); + scene.world() + .removeItemsFromBelt(util.grid() + .at(2, 1, 2)); + animatePostbox(scene, box, true); + scene.world() + .flapFunnel(funnel, false); + scene.idle(15); + + ElementLink train1L = scene.world() + .showIndependentSection(train1, null); + ElementLink birbL = scene.special() + .createBirb(util.vector() + .of(9.5, 3.5, 5.5), FacePointOfInterestPose::new); + scene.special() + .movePointOfInterest(util.grid() + .at(-5, 4, 5)); + scene.world() + .moveSection(train1L, util.vector() + .of(6, 0, 0), 0); + scene.idle(1); + scene.special() + .moveParrot(birbL, util.vector() + .of(-5, 0, 0), 25); + scene.world() + .moveSection(train1L, util.vector() + .of(-5, 0, 0), 25); + scene.world() + .animateBogey(util.grid() + .at(2, 2, 5), 6, 25); + scene.idle(14); + ElementLink train2L = scene.world() + .showIndependentSection(train2, null); + scene.world() + .moveSection(train2L, util.vector() + .of(3, 0, 0), 0); + scene.idle(1); + scene.world() + .moveSection(train2L, util.vector() + .of(-2, 0, 0), 10); + scene.world() + .animateBogey(util.grid() + .at(6, 2, 5), 2, 10); + + scene.idle(10); + scene.special() + .moveParrot(birbL, util.vector() + .of(-1, 0, 0), 10); + scene.world() + .moveSection(train1L, util.vector() + .of(-1, 0, 0), 10); + scene.world() + .animateBogey(util.grid() + .at(2, 2, 5), 1, 10); + scene.world() + .moveSection(train2L, util.vector() + .of(-1, 0, 0), 10); + scene.world() + .animateBogey(util.grid() + .at(6, 2, 5), 1, 10); + scene.idle(10); + scene.world() + .animateTrainStation(station, true); + scene.idle(10); + scene.effects() + .indicateSuccess(box); + scene.effects() + .indicateSuccess(util.grid() + .at(5, 3, 4)); + scene.world() + .createItemOnBeltLike(util.grid() + .at(5, 2, 4), Direction.DOWN, boxItem); + + scene.idle(15); + animatePostbox(scene, box, false); + scene.overlay() + .showText(80) + .text("..trains stopping at the station will collect it as cargo") + .attachKeyFrame() + .pointAt(util.vector() + .topOf(5, 2, 4)) + .placeNearTarget(); + scene.idle(95); + + scene.overlay() + .showText(80) + .text("Conversely, packages matching the address will be dropped off") + .attachKeyFrame() + .pointAt(util.vector() + .topOf(6, 2, 4)) + .placeNearTarget(); + scene.idle(50); + + scene.world() + .removeItemsFromBelt(util.grid() + .at(6, 2, 4)); + scene.effects() + .indicateSuccess(box); + scene.effects() + .indicateSuccess(util.grid() + .at(6, 2, 4)); + animatePostbox(scene, box, true); + scene.idle(60); + + scene.overlay() + .showText(100) + .text("Packages that arrived by train can be extracted from the Postbox") + .attachKeyFrame() + .pointAt(util.vector() + .blockSurface(box, Direction.NORTH)) + .placeNearTarget(); + scene.idle(60); + + scene.world() + .multiplyKineticSpeed(util.select() + .everywhere(), -1); + scene.world() + .createItemOnBelt(util.grid() + .at(2, 1, 2), Direction.WEST, boxItem2); + animatePostbox(scene, box, false); + scene.idle(25); + scene.world() + .multiplyKineticSpeed(util.select() + .everywhere(), 0); + + scene.idle(25); + scene.overlay() + .showText(40) + .colored(PonderPalette.BLUE) + .text("Warehouse") + .pointAt(util.vector() + .blockSurface(box, Direction.NORTH) + .add(-.5, 0, 0)) + .placeNearTarget(); + scene.idle(5); + scene.overlay() + .showText(40) + .colored(PonderPalette.OUTPUT) + .text("\u2192 Warehouse") + .pointAt(util.vector() + .centerOf(3, 2, 2) + .add(0, -.25, 0)) + .placeNearTarget(); + + scene.idle(50); + + ElementLink tracksL2 = scene.world() + .showIndependentSection(tracks, Direction.EAST); + scene.world() + .moveSection(tracksL2, util.vector() + .of(-31, 0, 0), 0); + + scene.idle(15); + scene.world() + .animateTrainStation(station, false); + scene.world() + .moveSection(tracksL, util.vector() + .of(12, 0, 0), 120); + scene.world() + .moveSection(tracksL2, util.vector() + .of(12, 0, 0), 120); + scene.world() + .moveSection(postboxE, util.vector() + .of(12, 0, 0), 120); + scene.world() + .moveSection(base, util.vector() + .of(12, 0, 0), 120); + scene.world() + .animateBogey(util.grid() + .at(2, 2, 5), 12f, 120); + scene.world() + .animateBogey(util.grid() + .at(6, 2, 5), 12f, 120); + scene.idle(15); + scene.world() + .hideIndependentSection(base, null); + scene.world() + .hideIndependentSection(postboxE, null); + scene.idle(40); + scene.special() + .hideElement(birbL, null); + scene.world() + .hideIndependentSection(train1L, null); + scene.world() + .hideIndependentSection(train2L, null); + scene.idle(5); + scene.overlay() + .chaseBoundingBoxOutline(PonderPalette.BLUE, train1L, new AABB(util.grid() + .at(1, 3, 4)).inflate(1, .75f, .5f), 280); + scene.overlay() + .chaseBoundingBoxOutline(PonderPalette.BLUE, train2L, new AABB(util.grid() + .at(5, 3, 4)).inflate(1, .75f, .5f), 280); + scene.idle(19); + + ElementLink outpostL = scene.world() + .showIndependentSection(glass, Direction.UP); + scene.world() + .moveSection(outpostL, util.vector() + .of(-4, -1, -1), 0); + scene.idle(1); + scene.world() + .moveSection(outpostL, util.vector() + .of(4, 0, 0), 40); + scene.idle(9); + ElementLink stationL = scene.world() + .showIndependentSection(stationS.add(box2S), Direction.DOWN); + scene.world() + .moveSection(stationL, util.vector() + .of(-3, 0, 0), 0); + scene.idle(1); + scene.world() + .moveSection(stationL, util.vector() + .of(3, 0, 0), 30); + scene.idle(30); + scene.world() + .animateTrainStation(util.grid() + .at(1, 1, 8), true); + scene.idle(10); + + scene.overlay() + .showText(90) + .text("Just like trains, Postboxes maintain their behaviour in unloaded chunks") + .colored(PonderPalette.BLUE) + .attachKeyFrame() + .independent(30); + scene.idle(100); + scene.effects() + .indicateSuccess(util.grid() + .at(3, 1, 8)); + animatePostbox(scene, util.grid() + .at(3, 1, 8), true); + + scene.overlay() + .showText(90) + .text("Packages can still be delivered from or to their inventory") + .colored(PonderPalette.BLUE) + .placeNearTarget() + .pointAt(util.vector() + .blockSurface(util.grid() + .at(3, 1, 8), Direction.NORTH)); + scene.idle(80); + } + + public static void animatePostbox(CreateSceneBuilder scene, BlockPos box, boolean raise) { + scene.world() + .modifyBlockEntity(box, PostboxBlockEntity.class, be -> be.forceFlag = raise); + } + +} diff --git a/src/main/java/com/simibubi/create/infrastructure/ponder/scenes/highLogistics/RepackagerScenes.java b/src/main/java/com/simibubi/create/infrastructure/ponder/scenes/highLogistics/RepackagerScenes.java new file mode 100644 index 0000000000..07033f002f --- /dev/null +++ b/src/main/java/com/simibubi/create/infrastructure/ponder/scenes/highLogistics/RepackagerScenes.java @@ -0,0 +1,394 @@ +package com.simibubi.create.infrastructure.ponder.scenes.highLogistics; + +import java.util.List; + +import com.simibubi.create.content.kinetics.crafter.MechanicalCrafterBlockEntity; +import com.simibubi.create.content.logistics.box.PackageItem; +import com.simibubi.create.foundation.ponder.CreateSceneBuilder; + +import net.createmod.catnip.utility.Pointing; +import net.createmod.ponder.api.PonderPalette; +import net.createmod.ponder.api.scene.SceneBuilder; +import net.createmod.ponder.api.scene.SceneBuildingUtil; +import net.createmod.ponder.api.scene.Selection; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Items; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.phys.AABB; + +import net.neoforged.neoforge.capabilities.Capabilities.ItemHandler; +import net.neoforged.neoforge.items.IItemHandler; +import net.neoforged.neoforge.items.ItemHandlerHelper; + +public class RepackagerScenes { + + public static void repackager(SceneBuilder builder, SceneBuildingUtil util) { + CreateSceneBuilder scene = new CreateSceneBuilder(builder); + scene.title("repackager", "Merging packages from a request"); + scene.configureBasePlate(1, 0, 7); + scene.setSceneOffsetY(-.5f); + scene.showBasePlate(); + + Selection belt2 = util.select() + .fromTo(7, 1, 2, 6, 1, 1); + Selection belt1 = util.select() + .fromTo(1, 1, 2, 4, 1, 1); + Selection belt3 = util.select() + .fromTo(5, 1, 1, 5, 1, 6) + .add(util.select() + .fromTo(6, 1, 5, 6, 1, 6)); + Selection crafterCogs = util.select() + .fromTo(1, 1, 6, 0, 2, 6) + .add(util.select() + .position(0, 2, 5)) + .add(util.select() + .fromTo(1, 1, 7, 2, 0, 7)); + Selection crafter = util.select() + .fromTo(1, 2, 5, 3, 4, 5); + Selection crafterScaff = util.select() + .fromTo(3, 1, 5, 1, 1, 5); + Selection packager = util.select() + .fromTo(4, 1, 5, 4, 2, 5); + BlockPos pack = util.grid() + .at(4, 2, 5); + Selection packFunnel = util.select() + .position(5, 2, 5); + Selection largeCog1 = util.select() + .position(0, 0, 2); + Selection largeCog2 = util.select() + .position(8, 0, 2); + BlockPos funnel1 = util.grid() + .at(4, 2, 1); + BlockPos funnel2 = util.grid() + .at(6, 2, 1); + Selection f3s = util.select() + .position(5, 2, 3); + Selection f2s = util.select() + .position(funnel2); + Selection f1s = util.select() + .position(funnel1); + Selection barrel = util.select() + .position(5, 2, 1); + BlockPos repack = util.grid() + .at(5, 2, 2); + Selection repackS = util.select() + .fromTo(5, 2, 2, 5, 3, 2); + Selection largeCog3 = util.select() + .position(6, 0, 7); + + scene.world() + .multiplyKineticSpeed(util.select() + .everywhere(), 1 / 2f); + + scene.idle(10); + + scene.world() + .showSection(crafterScaff, Direction.NORTH); + scene.idle(3); + scene.world() + .showSection(crafter, Direction.DOWN); + scene.idle(5); + scene.world() + .showSection(packager, Direction.WEST); + scene.world() + .showSection(crafterCogs, Direction.EAST); + scene.idle(5); + + scene.overlay() + .showText(120) + .text("Sometimes, it is crucial for logistical requests to arrive as a single package") + .attachKeyFrame() + .placeNearTarget() + .independent(130); + + scene.idle(90); + scene.world() + .showSection(belt3, Direction.WEST); + scene.world() + .showSection(largeCog3, Direction.UP); + scene.idle(5); + scene.world() + .showSection(belt2, Direction.WEST); + scene.world() + .showSection(largeCog2, Direction.UP); + scene.idle(5); + scene.world() + .showSection(belt1, Direction.EAST); + scene.world() + .showSection(largeCog1, Direction.UP); + scene.world() + .showSection(packFunnel, Direction.DOWN); + scene.idle(20); + + scene.world() + .setBlock(util.grid() + .at(4, 2, 1), Blocks.AIR.defaultBlockState(), false); + scene.world() + .setBlock(util.grid() + .at(6, 2, 1), Blocks.AIR.defaultBlockState(), false); + + ItemStack box1 = PackageItem.containing(List.of()); + ItemStack box2 = PackageItem.containing(List.of()); + ItemStack box3 = PackageItem.containing(List.of()); + scene.world() + .createItemOnBelt(util.grid() + .at(3, 1, 1), Direction.DOWN, box1); + scene.world() + .createItemOnBelt(util.grid() + .at(2, 1, 1), Direction.DOWN, box2); + scene.idle(13); + scene.world() + .createItemOnBelt(util.grid() + .at(7, 1, 1), Direction.DOWN, box3); + scene.idle(3); + scene.world() + .multiplyKineticSpeed(util.select() + .everywhere(), 1 / 16f); + + AABB bb1 = new AABB(util.grid() + .at(2, 2, 1)).deflate(0.125, 0.5, 0.125) + .inflate(0.65, 0, 0) + .move(1.05, -.5, 0); + AABB bb2 = new AABB(util.grid() + .at(7, 2, 1)).deflate(0.125, 0.5, 0.125) + .move(-.25, -.5, 0); + + scene.overlay() + .chaseBoundingBoxOutline(PonderPalette.INPUT, pack, new AABB(bb1.getCenter(), bb1.getCenter()), 1); + scene.overlay() + .chaseBoundingBoxOutline(PonderPalette.OUTPUT, repack, new AABB(bb2.getCenter(), bb2.getCenter()), 1); + scene.idle(1); + scene.overlay() + .chaseBoundingBoxOutline(PonderPalette.INPUT, pack, bb1, 60); + scene.overlay() + .chaseBoundingBoxOutline(PonderPalette.OUTPUT, repack, bb2, 60); + + scene.overlay() + .showText(60) + .text("Order A") + .attachKeyFrame() + .colored(PonderPalette.INPUT) + .pointAt(util.vector() + .of(3, 2, 1.5)) + .placeNearTarget(); + + scene.overlay() + .showText(60) + .text("Order B") + .attachKeyFrame() + .colored(PonderPalette.OUTPUT) + .pointAt(util.vector() + .of(7, 2, 1.5)) + .placeNearTarget(); + scene.idle(60); + + scene.world() + .multiplyKineticSpeed(util.select() + .everywhere(), 24f); + scene.idle(60); + + scene.world() + .multiplyKineticSpeed(util.select() + .everywhere(), 1 / 24f); + + scene.overlay() + .showText(60) + .text("Otherwise, other packages could arrive inbetween") + .attachKeyFrame() + .colored(PonderPalette.RED) + .pointAt(util.vector() + .of(5.5, 2, 3)) + .placeNearTarget(); + scene.idle(60); + + scene.world() + .multiplyKineticSpeed(util.select() + .everywhere(), 16f); + scene.idle(40); + scene.world() + .removeItemsFromBelt(util.grid() + .at(5, 1, 5)); + PonderHilo.packagerUnpack(scene, pack, box1); + scene.idle(15); + insertItemsIntoCrafter(util, scene, new ItemStack(Items.IRON_INGOT, 4)); + scene.idle(15); + scene.world() + .removeItemsFromBelt(util.grid() + .at(5, 1, 5)); + PonderHilo.packagerUnpack(scene, pack, box2); + scene.idle(15); + insertItemsIntoCrafter(util, scene, new ItemStack(Items.OAK_PLANKS, 3)); + scene.idle(15); + + scene.overlay() + .showControls(util.vector() + .blockSurface(util.grid() + .at(2, 3, 5), Direction.NORTH), + Pointing.DOWN, 40) + .withItem(new ItemStack(Items.BARRIER)); + + scene.idle(20); + scene.world() + .modifyBlockEntity(util.grid() + .at(2, 2, 5), MechanicalCrafterBlockEntity.class, be -> be.ejectWholeGrid()); + scene.world() + .removeItemsFromBelt(util.grid() + .at(5, 1, 5)); + + scene.idle(40); + scene.world() + .showSection(barrel, Direction.DOWN); + scene.world() + .showSection(repackS, Direction.NORTH); + scene.rotateCameraY(-15); + scene.idle(15); + + scene.overlay() + .showText(80) + .text("When this is the case, redirect packages to an inventory") + .attachKeyFrame() + .pointAt(util.vector() + .blockSurface(util.grid() + .at(5, 2, 1), Direction.WEST)) + .placeNearTarget(); + scene.idle(90); + + scene.overlay() + .showText(60) + .text("Attach a re-packager, and power it with redstone") + .attachKeyFrame() + .pointAt(util.vector() + .blockSurface(util.grid() + .at(5, 2, 2), Direction.WEST)) + .placeNearTarget(); + scene.idle(40); + + scene.world() + .toggleRedstonePower(repackS); + scene.effects() + .indicateRedstone(util.grid() + .at(5, 3, 2)); + scene.idle(40); + + scene.world() + .restoreBlocks(f1s); + scene.world() + .restoreBlocks(f2s); + scene.world() + .showSection(f1s, Direction.DOWN); + scene.world() + .showSection(f2s, Direction.DOWN); + scene.idle(5); + scene.world() + .showSection(f3s, Direction.DOWN); + scene.idle(20); + + scene.world() + .createItemOnBelt(util.grid() + .at(3, 1, 1), Direction.DOWN, box1); + scene.world() + .createItemOnBelt(util.grid() + .at(1, 1, 1), Direction.DOWN, box2); + scene.world() + .createItemOnBelt(util.grid() + .at(7, 1, 1), Direction.DOWN, box3); + scene.idle(23); + scene.world() + .removeItemsFromBelt(util.grid() + .at(4, 1, 1)); + scene.world() + .removeItemsFromBelt(util.grid() + .at(6, 1, 1)); + scene.world() + .flapFunnel(util.grid() + .at(4, 2, 1), false); + scene.idle(63); + scene.world() + .removeItemsFromBelt(util.grid() + .at(4, 1, 1)); + scene.world() + .flapFunnel(util.grid() + .at(4, 2, 1), false); + scene.idle(3); + + PonderHilo.packagerCreate(scene, repack, box3); + scene.effects() + .indicateSuccess(repack); + scene.idle(20); + + scene.overlay() + .showText(60) + .text("Once all fragments arrived, they will be exported as a new package") + .attachKeyFrame() + .colored(PonderPalette.GREEN) + .pointAt(util.vector() + .of(5.5, 2, 3)) + .placeNearTarget(); + scene.idle(60); + scene.world() + .multiplyKineticSpeed(util.select() + .everywhere(), 2f); + scene.rotateCameraY(15); + scene.world() + .createItemOnBelt(util.grid() + .at(5, 1, 3), Direction.NORTH, box3); + PonderHilo.packagerClear(scene, repack); + scene.idle(20); + PonderHilo.packagerCreate(scene, repack, box3); + scene.idle(20); + scene.world() + .createItemOnBelt(util.grid() + .at(5, 1, 3), Direction.NORTH, box3); + PonderHilo.packagerClear(scene, repack); + scene.world() + .removeItemsFromBelt(util.grid() + .at(5, 1, 5)); + PonderHilo.packagerUnpack(scene, pack, box3); + scene.idle(15); + insertItemsIntoCrafter(util, scene, new ItemStack(Items.IRON_INGOT, 9)); + scene.world() + .setCraftingResult(util.grid() + .at(2, 2, 5), new ItemStack(Items.IRON_BLOCK)); + scene.idle(15); + + scene.overlay() + .showText(120) + .text("Now, requested items arrive together and in a predictable order") + .attachKeyFrame() + .colored(PonderPalette.BLUE) + .pointAt(util.vector() + .blockSurface(util.grid() + .at(2, 3, 5), Direction.NORTH)) + .placeNearTarget(); + + scene.idle(75); + scene.world() + .removeItemsFromBelt(util.grid() + .at(5, 1, 5)); + PonderHilo.packagerUnpack(scene, pack, box3); + scene.idle(15); + insertItemsIntoCrafter(util, scene, new ItemStack(Items.OAK_PLANKS, 3)); + scene.world() + .setCraftingResult(util.grid() + .at(2, 2, 5), new ItemStack(Items.OAK_SLAB)); + scene.idle(20); + scene.world() + .modifyBlockEntity(util.grid() + .at(2, 2, 5), MechanicalCrafterBlockEntity.class, be -> be.checkCompletedRecipe(true)); + } + + private static void insertItemsIntoCrafter(SceneBuildingUtil util, CreateSceneBuilder scene, ItemStack stack) { + scene.world() + .modifyBlockEntity(util.grid() + .at(3, 2, 5), BlockEntity.class, be -> { + IItemHandler handler = be.getLevel().getCapability(ItemHandler.BLOCK, be.getBlockPos(), null); + if (handler == null) + return; + ItemHandlerHelper.insertItemStacked(handler, stack, false); + }); + } + +} diff --git a/src/main/java/com/simibubi/create/infrastructure/ponder/scenes/highLogistics/RequesterAndShopScenes.java b/src/main/java/com/simibubi/create/infrastructure/ponder/scenes/highLogistics/RequesterAndShopScenes.java new file mode 100644 index 0000000000..424a2482ab --- /dev/null +++ b/src/main/java/com/simibubi/create/infrastructure/ponder/scenes/highLogistics/RequesterAndShopScenes.java @@ -0,0 +1,283 @@ +package com.simibubi.create.infrastructure.ponder.scenes.highLogistics; + +import java.util.List; + +import com.simibubi.create.AllBlocks; +import com.simibubi.create.content.logistics.box.PackageItem; +import com.simibubi.create.content.logistics.packager.PackagerBlock; +import com.simibubi.create.foundation.ponder.CreateSceneBuilder; + +import net.createmod.catnip.utility.Pointing; +import net.createmod.ponder.api.PonderPalette; +import net.createmod.ponder.api.element.ElementLink; +import net.createmod.ponder.api.element.ParrotPose.FacePointOfInterestPose; +import net.createmod.ponder.api.element.WorldSectionElement; +import net.createmod.ponder.api.scene.SceneBuilder; +import net.createmod.ponder.api.scene.SceneBuildingUtil; +import net.createmod.ponder.api.scene.Selection; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.phys.AABB; +import net.minecraft.world.phys.Vec3; + +public class RequesterAndShopScenes { + + public static void requester(SceneBuilder builder, SceneBuildingUtil util) { + CreateSceneBuilder scene = new CreateSceneBuilder(builder); + scene.title("redstone_requester", "Automated orders with Redstone Requesters"); + scene.configureBasePlate(0, 0, 7); + scene.showBasePlate(); + + Selection vault = util.select() + .fromTo(4, 1, 3, 5, 2, 5); + Selection packS = util.select() + .fromTo(3, 1, 4, 3, 2, 4); + BlockPos pack = util.grid() + .at(3, 2, 4); + BlockPos link = util.grid() + .at(3, 3, 4); + Selection linkS = util.select() + .position(3, 3, 4); + Selection funnel = util.select() + .position(2, 2, 4); + Selection belt = util.select() + .fromTo(2, 1, 5, 2, 1, 2); + Selection cogs = util.select() + .fromTo(3, 1, 6, 3, 1, 5); + Selection largeCog = util.select() + .position(3, 0, 7); + BlockPos req = util.grid() + .at(3, 1, 1); + Selection reqS = util.select() + .position(3, 1, 1); + Selection buttonAndRedstone = util.select() + .fromTo(1, 1, 1, 2, 1, 1); + Selection ticker = util.select() + .fromTo(3, 1, 0, 4, 1, 0); + + scene.idle(10); + + ElementLink linkL = scene.world() + .showIndependentSection(linkS, Direction.DOWN); + scene.world() + .moveSection(linkL, util.vector() + .of(0, -2, 0), 0); + scene.idle(15); + + ItemStack linkItem = AllBlocks.REDSTONE_REQUESTER.asStack(); + scene.overlay() + .showControls(util.vector() + .topOf(link.below(2)), Pointing.DOWN, 50) + .rightClick() + .withItem(linkItem); + scene.idle(5); + + AABB bb1 = new AABB(link.below(2)); + scene.overlay() + .chaseBoundingBoxOutline(PonderPalette.BLUE, link, bb1.deflate(0.45), 10); + scene.idle(1); + bb1 = bb1.deflate(1 / 16f) + .contract(0, 8 / 16f, 0); + scene.overlay() + .chaseBoundingBoxOutline(PonderPalette.BLUE, link, bb1, 50); + scene.idle(26); + + scene.overlay() + .showText(100) + .text("Right-click a Stock link before placement to connect to its network") + .attachKeyFrame() + .colored(PonderPalette.BLUE) + .placeNearTarget() + .pointAt(util.vector() + .centerOf(link.below(2))); + + scene.idle(40); + + scene.world() + .showSection(reqS, Direction.DOWN); + scene.idle(20); + + scene.overlay() + .chaseBoundingBoxOutline(PonderPalette.GREEN, ticker, new AABB(req), 40); + scene.overlay() + .chaseBoundingBoxOutline(PonderPalette.GREEN, link, bb1, 40); + scene.overlay() + .showLine(PonderPalette.GREEN, util.vector() + .centerOf(req) + .subtract(0, 1 / 4f, 0), + util.vector() + .centerOf(link.below(2)) + .subtract(0, 1 / 4f, 0), + 40); + scene.idle(60); + + scene.world() + .cycleBlockProperty(pack, PackagerBlock.LINKED); + + scene.world() + .moveSection(linkL, util.vector() + .of(0, 2.25, 0), 10); + scene.idle(8); + scene.world() + .showSection(packS, Direction.NORTH); + scene.idle(3); + scene.world() + .moveSection(linkL, util.vector() + .of(0, -.25, 0), 10); + scene.idle(10); + scene.world() + .cycleBlockProperty(pack, PackagerBlock.LINKED); + scene.effects() + .indicateSuccess(pack); + scene.idle(5); + scene.world() + .showSection(vault, Direction.WEST); + scene.idle(30); + + scene.overlay() + .showText(110) + .text("Just like Stock tickers, Redstone requesters can order items from the logistics network") + .attachKeyFrame() + .placeNearTarget() + .pointAt(util.vector() + .blockSurface(req, Direction.WEST)); + scene.idle(120); + + scene.overlay() + .showControls(util.vector() + .topOf(req), Pointing.DOWN, 80) + .rightClick(); + scene.idle(10); + + scene.overlay() + .showOutlineWithText(reqS, 80) + .text("Right-click the requester to open its configuration UI") + .attachKeyFrame() + .colored(PonderPalette.BLUE) + .placeNearTarget() + .pointAt(util.vector() + .blockSurface(req, Direction.WEST)); + + scene.idle(90); + scene.world() + .showSection(buttonAndRedstone, Direction.EAST); + scene.idle(5); + scene.world() + .showSection(belt, Direction.EAST); + scene.world() + .showSection(cogs, Direction.NORTH); + scene.world() + .showSection(largeCog, Direction.UP); + scene.world() + .showSection(funnel, Direction.DOWN); + scene.idle(30); + + scene.world() + .toggleRedstonePower(util.select() + .fromTo(1, 1, 1, 3, 1, 1)); + scene.effects() + .indicateRedstone(util.grid() + .at(1, 1, 1)); + PonderHilo.requesterEffect(scene, req); + scene.idle(5); + ItemStack box = PackageItem.containing(List.of()); + PonderHilo.packagerCreate(scene, pack, box); + PonderHilo.linkEffect(scene, link); + scene.idle(20); + + PonderHilo.packagerClear(scene, pack); + scene.world() + .createItemOnBelt(util.grid() + .at(2, 1, 4), Direction.EAST, box); + scene.idle(15); + + scene.world() + .toggleRedstonePower(util.select() + .fromTo(1, 1, 1, 3, 1, 1)); + + scene.overlay() + .showText(120) + .text("The order set in the UI will be requested on every redstone pulse") + .attachKeyFrame() + .placeNearTarget() + .pointAt(util.vector() + .blockSurface(util.grid() + .at(3, 2, 4), Direction.WEST)); + scene.idle(60); + + scene.world() + .toggleRedstonePower(util.select() + .fromTo(1, 1, 1, 3, 1, 1)); + scene.effects() + .indicateRedstone(util.grid() + .at(1, 1, 1)); + PonderHilo.requesterEffect(scene, req); + scene.idle(5); + ItemStack box2 = box.copy(); + PonderHilo.packagerCreate(scene, pack, box2); + PonderHilo.linkEffect(scene, link); + scene.idle(20); + + PonderHilo.packagerClear(scene, pack); + scene.world() + .createItemOnBelt(util.grid() + .at(2, 1, 4), Direction.EAST, box2); + scene.idle(15); + + scene.world() + .toggleRedstonePower(util.select() + .fromTo(1, 1, 1, 3, 1, 1)); + scene.idle(60); + + scene.world() + .hideSection(reqS, Direction.UP); + scene.world() + .hideSection(buttonAndRedstone, Direction.WEST); + scene.idle(15); + ElementLink tickerL = scene.world() + .showIndependentSection(ticker, Direction.DOWN); + scene.world() + .moveSection(tickerL, util.vector() + .of(0, 0, 1), 0); + scene.idle(5); + scene.special() + .createBirb(util.vector() + .centerOf(util.grid() + .at(4, 1, 1)), + FacePointOfInterestPose::new); + scene.idle(20); + + Vec3 keeper = util.vector() + .blockSurface(util.grid() + .at(4, 1, 1), Direction.WEST) + .add(0, 0.5, 0); + scene.overlay() + .showControls(util.vector() + .topOf(util.grid() + .at(4, 1, 1)), + Pointing.DOWN, 50) + .rightClick() + .withItem(linkItem); + scene.idle(10); + + scene.overlay() + .showText(80) + .text("Alternatively, the requester can be fully configured before placement") + .attachKeyFrame() + .colored(PonderPalette.BLUE) + .placeNearTarget() + .pointAt(keeper); + scene.idle(90); + + scene.overlay() + .showText(100) + .text("Right-click a Stock keeper with it and set the desired order there") + .colored(PonderPalette.BLUE) + .placeNearTarget() + .pointAt(keeper); + scene.idle(90); + + } + +} diff --git a/src/main/java/com/simibubi/create/infrastructure/ponder/scenes/highLogistics/StockLinkScenes.java b/src/main/java/com/simibubi/create/infrastructure/ponder/scenes/highLogistics/StockLinkScenes.java new file mode 100644 index 0000000000..9a9998c5a9 --- /dev/null +++ b/src/main/java/com/simibubi/create/infrastructure/ponder/scenes/highLogistics/StockLinkScenes.java @@ -0,0 +1,311 @@ +package com.simibubi.create.infrastructure.ponder.scenes.highLogistics; + +import java.util.List; + +import com.simibubi.create.AllBlocks; +import com.simibubi.create.content.logistics.box.PackageItem; +import com.simibubi.create.content.logistics.packager.PackagerBlock; +import com.simibubi.create.content.redstone.analogLever.AnalogLeverBlockEntity; +import com.simibubi.create.foundation.ponder.CreateSceneBuilder; + +import net.createmod.catnip.utility.Pointing; +import net.createmod.ponder.api.PonderPalette; +import net.createmod.ponder.api.element.ElementLink; +import net.createmod.ponder.api.element.ParrotPose.FacePointOfInterestPose; +import net.createmod.ponder.api.element.WorldSectionElement; +import net.createmod.ponder.api.scene.SceneBuilder; +import net.createmod.ponder.api.scene.SceneBuildingUtil; +import net.createmod.ponder.api.scene.Selection; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Items; +import net.minecraft.world.phys.AABB; + +public class StockLinkScenes { + + public static void stockLink(SceneBuilder builder, SceneBuildingUtil util) { + CreateSceneBuilder scene = new CreateSceneBuilder(builder); + scene.title("stock_link", "Logistics Networks and the Stock Link"); + scene.configureBasePlate(0, 0, 7); + scene.world() + .showSection(util.select() + .layer(0), Direction.UP); + + Selection vault = util.select() + .fromTo(4, 1, 4, 5, 2, 5); + Selection chest = util.select() + .fromTo(2, 1, 4, 2, 1, 5); + BlockPos packager1 = util.grid() + .at(4, 1, 3); + BlockPos packager2 = util.grid() + .at(2, 1, 3); + BlockPos link1 = util.grid() + .at(4, 2, 3); + BlockPos link2 = util.grid() + .at(2, 2, 3); + BlockPos lever = util.grid() + .at(1, 2, 2); + BlockPos analog = util.grid() + .at(1, 2, 3); + Selection casing = util.select() + .position(1, 1, 3); + Selection requester = util.select() + .fromTo(5, 1, 1, 4, 1, 1); + BlockPos seat = util.grid() + .at(5, 1, 1); + BlockPos ticker = util.grid() + .at(4, 1, 1); + Selection packager1S = util.select() + .position(packager1); + Selection packager2S = util.select() + .position(packager2); + Selection link1S = util.select() + .position(link1); + Selection link2S = util.select() + .position(link2); + + scene.idle(10); + ElementLink linkL = scene.world() + .showIndependentSection(link2S, Direction.DOWN); + scene.world() + .moveSection(linkL, util.vector() + .of(0, -1, 0), 0); + scene.idle(25); + + scene.overlay() + .showText(70) + .attachKeyFrame() + .text("When placed, Stock Links create a new network") + .pointAt(util.vector() + .centerOf(link2.below())) + .placeNearTarget(); + scene.idle(80); + + ItemStack linkItem = AllBlocks.STOCK_LINK.asStack(); + scene.overlay() + .showControls(util.vector() + .topOf(link2.below()), Pointing.DOWN, 50) + .rightClick() + .withItem(linkItem); + scene.idle(5); + + AABB bb1 = new AABB(link2.below()); + scene.overlay() + .chaseBoundingBoxOutline(PonderPalette.BLUE, link2, bb1.deflate(0.45), 10); + scene.idle(1); + bb1 = bb1.deflate(1 / 16f) + .contract(0, 8 / 16f, 0); + scene.overlay() + .chaseBoundingBoxOutline(PonderPalette.BLUE, link2, bb1, 50); + scene.idle(26); + + scene.overlay() + .showText(80) + .text("Right-click an existing link before placing it to bind them") + .attachKeyFrame() + .colored(PonderPalette.BLUE) + .placeNearTarget() + .pointAt(util.vector() + .centerOf(link2.below())); + + scene.idle(40); + + scene.world() + .showSectionAndMerge(link1S, Direction.DOWN, linkL); + scene.idle(20); + + scene.overlay() + .chaseBoundingBoxOutline(PonderPalette.GREEN, link1, bb1.move(util.vector() + .of(2, 0, 0)), 40); + scene.overlay() + .chaseBoundingBoxOutline(PonderPalette.GREEN, link2, bb1, 40); + scene.overlay() + .showLine(PonderPalette.GREEN, util.vector() + .centerOf(link1.below()) + .subtract(0, 1 / 4f, 0), + util.vector() + .centerOf(link2.below()) + .subtract(0, 1 / 4f, 0), + 40); + scene.idle(60); + + scene.world() + .cycleBlockProperty(packager1, PackagerBlock.LINKED); + scene.world() + .cycleBlockProperty(packager2, PackagerBlock.LINKED); + + scene.world() + .moveSection(linkL, util.vector() + .of(0, 1.25, 0), 15); + scene.idle(10); + scene.world() + .showSection(packager1S, Direction.NORTH); + scene.idle(2); + scene.world() + .showSection(packager2S, Direction.NORTH); + scene.idle(5); + scene.world() + .moveSection(linkL, util.vector() + .of(0, -.25, 0), 10); + scene.idle(10); + scene.world() + .cycleBlockProperty(packager1, PackagerBlock.LINKED); + scene.world() + .cycleBlockProperty(packager2, PackagerBlock.LINKED); + scene.effects() + .indicateSuccess(packager1); + scene.effects() + .indicateSuccess(packager2); + scene.idle(40); + + scene.overlay() + .showText(100) + .text("Stock-linked packagers make their inventory available to the network") + .attachKeyFrame() + .placeNearTarget() + .pointAt(util.vector() + .of(2, 1.5, 3)); + scene.idle(40); + + scene.world() + .showSection(chest, Direction.NORTH); + scene.idle(5); + scene.world() + .showSection(vault, Direction.NORTH); + scene.idle(20); + + scene.overlay() + .showOutline(PonderPalette.BLUE, link1, chest, 120); + scene.overlay() + .showOutline(PonderPalette.BLUE, link2, vault, 120); + scene.idle(30); + + scene.world() + .showSection(requester, Direction.DOWN); + scene.idle(3); + scene.special() + .createBirb(util.vector() + .centerOf(seat), FacePointOfInterestPose::new); + scene.idle(20); + + scene.overlay() + .showOutline(PonderPalette.BLUE, seat, util.select() + .position(4, 1, 1), 100); + + scene.overlay() + .showText(100) + .text("Other components on the network can now find and request their items") + .attachKeyFrame() + .placeNearTarget() + .pointAt(util.vector() + .centerOf(util.grid() + .at(4, 1, 1))); + scene.idle(110); + + scene.effects() + .indicateSuccess(ticker); + scene.idle(5); + PonderHilo.linkEffect(scene, link1); + PonderHilo.packagerCreate(scene, packager1, PackageItem.containing(List.of())); + scene.idle(3); + PonderHilo.linkEffect(scene, link2); + PonderHilo.packagerCreate(scene, packager2, PackageItem.containing(List.of())); + scene.idle(30); + + scene.overlay() + .showText(100) + .text("On request, items from the inventories will be placed into packages") + .attachKeyFrame() + .placeNearTarget() + .pointAt(util.vector() + .of(2, 1.5, 3)); + scene.idle(120); + + scene.overlay() + .showText(100) + .text("Stock Link signals have unlimited range, but packages require transportation") + .attachKeyFrame() + .colored(PonderPalette.BLUE) + .placeNearTarget() + .pointAt(util.vector() + .centerOf(util.grid() + .at(2, 2, 3))); + scene.idle(110); + + scene.world() + .showSection(casing, Direction.EAST); + scene.idle(10); + ElementLink leverL = scene.world() + .showIndependentSection(util.select() + .position(lever), Direction.DOWN); + scene.world() + .moveSection(leverL, util.vector() + .of(0, 0, 1), 0); + scene.idle(20); + + scene.world() + .toggleRedstonePower(util.select() + .fromTo(1, 2, 2, 2, 2, 3)); + scene.effects() + .indicateRedstone(link2.west()); + scene.idle(10); + scene.overlay() + .showControls(util.vector() + .centerOf(link2), Pointing.DOWN, 40) + .withItem(new ItemStack(Items.BARRIER)); + + scene.idle(20); + scene.overlay() + .showText(80) + .text("Full redstone power will stop a link from broadcasting") + .attachKeyFrame() + .colored(PonderPalette.RED) + .placeNearTarget() + .pointAt(util.vector() + .centerOf(util.grid() + .at(2, 2, 3)) + .add(-0.25, 0, 0)); + scene.idle(70); + + scene.world() + .toggleRedstonePower(util.select() + .fromTo(1, 2, 2, 2, 2, 3)); + scene.idle(10); + scene.world() + .hideIndependentSection(leverL, Direction.SOUTH); + + scene.idle(10); + Selection leverSelection = util.select() + .position(analog); + scene.world() + .showSection(leverSelection, Direction.DOWN); + + scene.idle(20); + scene.effects() + .indicateRedstone(analog); + scene.world() + .toggleRedstonePower(util.select() + .position(2, 2, 3)); + for (int i = 0; i < 10; i++) { + final int state = i + 1; + scene.world() + .modifyBlockEntityNBT(leverSelection, AnalogLeverBlockEntity.class, nbt -> nbt.putInt("State", state)); + scene.idle(2); + } + scene.idle(20); + + scene.overlay() + .showText(100) + .text("Analog power lowers the priority of a link, causing others to act first") + .attachKeyFrame() + .colored(PonderPalette.RED) + .placeNearTarget() + .pointAt(util.vector() + .centerOf(util.grid() + .at(2, 2, 3)) + .add(-0.25, 0, 0)); + scene.idle(80); + } + +} diff --git a/src/main/java/com/simibubi/create/infrastructure/ponder/scenes/highLogistics/StockTickerScenes.java b/src/main/java/com/simibubi/create/infrastructure/ponder/scenes/highLogistics/StockTickerScenes.java new file mode 100644 index 0000000000..266a03698f --- /dev/null +++ b/src/main/java/com/simibubi/create/infrastructure/ponder/scenes/highLogistics/StockTickerScenes.java @@ -0,0 +1,660 @@ +package com.simibubi.create.infrastructure.ponder.scenes.highLogistics; + +import java.util.List; + +import com.simibubi.create.AllBlocks; +import com.simibubi.create.AllItems; +import com.simibubi.create.content.logistics.box.PackageItem; +import com.simibubi.create.content.logistics.packager.PackagerBlock; +import com.simibubi.create.foundation.ponder.CreateSceneBuilder; + +import net.createmod.catnip.utility.Pointing; +import net.createmod.ponder.api.PonderPalette; +import net.createmod.ponder.api.element.ElementLink; +import net.createmod.ponder.api.element.ParrotPose.FacePointOfInterestPose; +import net.createmod.ponder.api.element.WorldSectionElement; +import net.createmod.ponder.api.scene.SceneBuilder; +import net.createmod.ponder.api.scene.SceneBuildingUtil; +import net.createmod.ponder.api.scene.Selection; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.phys.AABB; +import net.minecraft.world.phys.Vec3; + +public class StockTickerScenes { + + public static void stockTicker(SceneBuilder builder, SceneBuildingUtil util) { + CreateSceneBuilder scene = new CreateSceneBuilder(builder); + scene.title("stock_ticker", "Ordering items with Stock tickers"); + scene.configureBasePlate(0, 0, 7); + scene.scaleSceneView(0.925f); + scene.setSceneOffsetY(-0.5f); + scene.showBasePlate(); + + BlockPos link1 = util.grid() + .at(3, 3, 5); + BlockPos link2 = util.grid() + .at(5, 3, 5); + BlockPos pack1 = util.grid() + .at(3, 2, 5); + BlockPos pack2 = util.grid() + .at(5, 2, 5); + BlockPos fun1 = util.grid() + .at(3, 2, 4); + BlockPos fun2 = util.grid() + .at(5, 2, 4); + Selection link1S = util.select() + .position(link1); + Selection link2S = util.select() + .position(link2); + Selection pack1S = util.select() + .position(pack1); + Selection pack2S = util.select() + .position(pack2); + Selection fun1S = util.select() + .position(fun1); + Selection fun2S = util.select() + .position(fun2); + Selection vault = util.select() + .fromTo(4, 1, 6, 5, 3, 6); + Selection chest = util.select() + .fromTo(3, 1, 6, 3, 2, 6); + Selection scaff2 = util.select() + .position(5, 1, 5); + Selection scaff1 = util.select() + .position(3, 1, 5); + Selection belt1 = util.select() + .fromTo(6, 1, 4, 2, 1, 4); + Selection cog1 = util.select() + .position(6, 1, 3); + Selection largeCog1 = util.select() + .position(7, 0, 3); + Selection cog2 = util.select() + .position(2, 1, 6); + Selection largeCog2 = util.select() + .position(2, 0, 7); + Selection belt2 = util.select() + .fromTo(1, 1, 6, 1, 1, 1); + Selection trapdoor = util.select() + .position(1, 1, 0); + Selection cannon = util.select() + .position(2, 1, 3); + BlockPos ticker = util.grid() + .at(3, 1, 1); + Selection tickerS = util.select() + .position(3, 1, 1); + Selection seat = util.select() + .position(4, 1, 1); + + scene.idle(10); + + ElementLink linkL = scene.world() + .showIndependentSection(link1S, Direction.DOWN); + scene.world() + .moveSection(linkL, util.vector() + .of(0, -2, 0), 0); + scene.idle(15); + + ItemStack linkItem = AllBlocks.STOCK_TICKER.asStack(); + scene.overlay() + .showControls(util.vector() + .topOf(link1.below(2)), Pointing.DOWN, 50) + .rightClick() + .withItem(linkItem); + scene.idle(5); + + AABB bb1 = new AABB(link1.below(2)); + scene.overlay() + .chaseBoundingBoxOutline(PonderPalette.BLUE, link1, bb1.deflate(0.45), 10); + scene.idle(1); + bb1 = bb1.deflate(1 / 16f) + .contract(0, 8 / 16f, 0); + scene.overlay() + .chaseBoundingBoxOutline(PonderPalette.BLUE, link1, bb1, 50); + scene.idle(26); + + scene.overlay() + .showText(100) + .text("Right-click a Stock link before placement to connect to its network") + .attachKeyFrame() + .colored(PonderPalette.BLUE) + .placeNearTarget() + .pointAt(util.vector() + .centerOf(link1.below(2))); + + scene.idle(40); + + scene.world() + .showSection(tickerS, Direction.DOWN); + scene.idle(20); + + scene.overlay() + .chaseBoundingBoxOutline(PonderPalette.GREEN, ticker, new AABB(ticker), 40); + scene.overlay() + .chaseBoundingBoxOutline(PonderPalette.GREEN, link1, bb1, 40); + scene.overlay() + .showLine(PonderPalette.GREEN, util.vector() + .centerOf(ticker) + .subtract(0, 1 / 4f, 0), + util.vector() + .centerOf(link1.below(2)) + .subtract(0, 1 / 4f, 0), + 40); + scene.idle(60); + + scene.world() + .cycleBlockProperty(pack1, PackagerBlock.LINKED); + scene.world() + .cycleBlockProperty(pack2, PackagerBlock.LINKED); + + scene.world() + .moveSection(linkL, util.vector() + .of(0, 2.25, 0), 15); + scene.idle(5); + scene.world() + .showSection(scaff1, Direction.NORTH); + scene.world() + .showSection(scaff2, Direction.NORTH); + scene.idle(8); + scene.world() + .showSection(pack1S, Direction.NORTH); + scene.idle(2); + scene.world() + .showSection(pack2S, Direction.NORTH); + scene.world() + .showSection(link2S, Direction.DOWN); + scene.idle(2); + scene.world() + .moveSection(linkL, util.vector() + .of(0, -.25, 0), 10); + scene.idle(10); + scene.world() + .cycleBlockProperty(pack1, PackagerBlock.LINKED); + scene.world() + .cycleBlockProperty(pack2, PackagerBlock.LINKED); + scene.effects() + .indicateSuccess(pack1); + scene.effects() + .indicateSuccess(pack2); + scene.idle(15); + scene.world() + .showSection(chest, Direction.NORTH); + scene.idle(2); + scene.world() + .showSection(vault, Direction.NORTH); + scene.idle(10); + + scene.overlay() + .showOutline(PonderPalette.BLUE, link1, util.select() + .position(3, 2, 6), 120); + scene.overlay() + .showOutline(PonderPalette.BLUE, link2, util.select() + .fromTo(4, 2, 6, 5, 3, 6), 120); + scene.idle(30); + + scene.overlay() + .showText(80) + .text("Stock-linked packagers make their inventory available to the network") + .attachKeyFrame() + .placeNearTarget() + .pointAt(util.vector() + .blockSurface(util.grid() + .at(3, 2, 5), Direction.WEST)); + scene.idle(90); + + scene.overlay() + .showOutline(PonderPalette.BLUE, ticker, tickerS, 40); + + scene.overlay() + .showText(80) + .text("Stock tickers can request items from these inventories") + .attachKeyFrame() + .placeNearTarget() + .pointAt(util.vector() + .centerOf(ticker)); + scene.idle(90); + + scene.world() + .showSection(seat, Direction.WEST); + scene.idle(10); + scene.special() + .createBirb(util.vector() + .centerOf(ticker.east()), FacePointOfInterestPose::new); + + Vec3 keeper = util.vector() + .blockSurface(ticker.east(), Direction.WEST) + .add(0, 0.5, 0); + scene.overlay() + .showText(80) + .text("Seated mobs or blaze burners in front of it act as the Stock Keeper") + .attachKeyFrame() + .placeNearTarget() + .pointAt(keeper); + scene.idle(90); + + scene.overlay() + .showControls(util.vector() + .topOf(ticker.east()), Pointing.DOWN, 50) + .rightClick(); + scene.idle(10); + + scene.overlay() + .showText(80) + .text("Right-click the keeper to start ordering items") + .attachKeyFrame() + .placeNearTarget() + .pointAt(keeper); + scene.idle(60); + + scene.effects() + .indicateSuccess(ticker); + scene.idle(5); + PonderHilo.linkEffect(scene, link1); + ItemStack box1 = PackageItem.containing(List.of()); + ItemStack box2 = PackageItem.containing(List.of()); + PonderHilo.packagerCreate(scene, pack1, box1); + scene.idle(3); + PonderHilo.linkEffect(scene, link2); + PonderHilo.packagerCreate(scene, pack2, box2); + scene.idle(30); + + scene.overlay() + .showText(100) + .text("When an order is submitted, the items will be placed into packages") + .attachKeyFrame() + .placeNearTarget() + .pointAt(util.vector() + .centerOf(util.grid() + .at(3, 2, 5))); + scene.idle(80); + + scene.world() + .showSection(largeCog1, Direction.UP); + scene.world() + .showSection(largeCog2, Direction.UP); + scene.idle(5); + scene.world() + .showSection(cog1, Direction.DOWN); + scene.world() + .showSection(cog2, Direction.DOWN); + scene.idle(5); + scene.world() + .showSection(belt1, Direction.DOWN); + scene.world() + .showSection(belt2, Direction.EAST); + scene.idle(10); + scene.world() + .showSection(trapdoor, Direction.SOUTH); + scene.idle(5); + scene.world() + .showSection(fun1S, Direction.DOWN); + scene.idle(5); + scene.world() + .showSection(fun2S, Direction.DOWN); + scene.idle(10); + + scene.world() + .createItemOnBelt(util.grid() + .at(3, 1, 4), Direction.SOUTH, box1); + PonderHilo.packagerClear(scene, pack1); + scene.idle(5); + scene.world() + .createItemOnBelt(util.grid() + .at(5, 1, 4), Direction.SOUTH, box2); + PonderHilo.packagerClear(scene, pack2); + scene.idle(20); + + scene.overlay() + .showText(80) + .text("From there, they can be transported to the request point") + .attachKeyFrame() + .placeNearTarget() + .pointAt(util.vector() + .centerOf(util.grid() + .at(1, 1, 3))); + scene.idle(110); + + scene.world() + .hideSection(largeCog2, Direction.DOWN); + scene.world() + .hideSection(largeCog1, Direction.DOWN); + scene.idle(2); + scene.world() + .hideSection(belt1, Direction.NORTH); + scene.world() + .hideSection(belt2, Direction.WEST); + scene.world() + .hideSection(cog2, Direction.WEST); + scene.world() + .hideSection(cog1, Direction.NORTH); + scene.world() + .hideSection(trapdoor, Direction.WEST); + scene.world() + .hideSection(fun1S, Direction.NORTH); + scene.world() + .hideSection(fun2S, Direction.NORTH); + scene.idle(30); + + ItemStack filterItem = AllItems.ATTRIBUTE_FILTER.asStack(); + scene.overlay() + .showControls(util.vector() + .topOf(ticker), Pointing.DOWN, 100) + .rightClick() + .withItem(filterItem); + scene.idle(10); + + scene.overlay() + .showText(100) + .text("Using attribute or list filters, categories can be added to the item listings") + .attachKeyFrame() + .colored(PonderPalette.BLUE) + .placeNearTarget() + .pointAt(util.vector() + .centerOf(ticker)); + scene.idle(110); + + scene.overlay() + .showText(80) + .text("Right-click the block itself to open the category editor") + .colored(PonderPalette.BLUE) + .placeNearTarget() + .pointAt(util.vector() + .centerOf(ticker)); + scene.idle(100); + + scene.world() + .showSection(cannon, Direction.DOWN); + + scene.overlay() + .showText(80) + .text("Stock tickers can also request blocks required for the schematicannon") + .colored(PonderPalette.BLUE) + .attachKeyFrame() + .placeNearTarget() + .pointAt(util.vector() + .centerOf(util.grid() + .at(2, 1, 3))); + scene.idle(100); + + ItemStack clipboardItem = AllBlocks.CLIPBOARD.asStack(); + scene.overlay() + .showControls(keeper, Pointing.DOWN, 100) + .rightClick() + .withItem(clipboardItem); + scene.idle(10); + + scene.overlay() + .showText(80) + .text("Simply hand the printed clipboard it generated to the keeper") + .colored(PonderPalette.BLUE) + .placeNearTarget() + .pointAt(keeper); + scene.idle(50); + + } + + public static void stockTickerAddress(SceneBuilder builder, SceneBuildingUtil util) { + CreateSceneBuilder scene = new CreateSceneBuilder(builder); + scene.title("stock_ticker_address", "Addressing a Stock ticker order"); + scene.configureBasePlate(0, 0, 9); + scene.scaleSceneView(.875f); + scene.setSceneOffsetY(-1); + scene.showBasePlate(); + + Selection vault = util.select() + .fromTo(6, 1, 6, 8, 3, 8); + BlockPos pack = util.grid() + .at(7, 2, 5); + BlockPos link = util.grid() + .at(7, 3, 5); + Selection belt1 = util.select() + .fromTo(8, 1, 4, 2, 1, 4) + .add(util.select() + .position(4, 2, 4)); + Selection belt2 = util.select() + .fromTo(4, 1, 0, 3, 1, 3); + Selection largeCog = util.select() + .position(2, 0, 9); + Selection cog = util.select() + .fromTo(3, 1, 5, 3, 1, 9); + Selection frog = util.select() + .position(7, 1, 1); + Selection postBox = util.select() + .fromTo(6, 1, 2, 6, 2, 2); + BlockPos seat = util.grid() + .at(1, 1, 6); + Selection tickerS = util.select() + .fromTo(2, 1, 6, 2, 2, 6); + BlockPos ticker = util.grid() + .at(2, 2, 6); + Selection funnel = util.select() + .position(7, 2, 4); + Selection linkAndPackager = util.select() + .fromTo(7, 1, 5, 7, 3, 5); + Selection seatS = util.select() + .position(1, 1, 6); + + scene.idle(10); + scene.world() + .showSection(vault, Direction.DOWN); + scene.world() + .showSection(linkAndPackager, Direction.SOUTH); + scene.idle(5); + scene.world() + .showSection(tickerS, Direction.DOWN); + scene.world() + .showSection(seatS, Direction.EAST); + scene.idle(10); + scene.special() + .createBirb(util.vector() + .centerOf(seat), FacePointOfInterestPose::new); + + scene.idle(20); + + scene.overlay() + .showText(90) + .text("When requesting items, a target address can be set in the order") + .attachKeyFrame() + .placeNearTarget() + .pointAt(util.vector() + .centerOf(ticker)); + scene.idle(100); + + scene.effects() + .indicateSuccess(ticker); + PonderHilo.linkEffect(scene, link); + + scene.overlay() + .showText(40) + .colored(PonderPalette.GREEN) + .text("\u2192 Workshop") + .placeNearTarget() + .pointAt(util.vector() + .centerOf(ticker)); + + scene.idle(10); + ItemStack box1 = PackageItem.containing(List.of()); + PackageItem.addAddress(box1, "Workshop"); + PonderHilo.packagerCreate(scene, pack, box1); + scene.idle(50); + scene.overlay() + .showText(90) + .text("This address will be on all packages created for the request") + .attachKeyFrame() + .placeNearTarget() + .pointAt(util.vector() + .blockSurface(pack, Direction.WEST)); + scene.idle(50); + + scene.world() + .showSection(belt1, Direction.WEST); + scene.world() + .showSection(cog, Direction.WEST); + scene.world() + .showSection(largeCog, Direction.UP); + scene.idle(5); + scene.world() + .showSection(belt2, Direction.SOUTH); + scene.idle(45); + scene.rotateCameraY(-15); + scene.idle(15); + + scene.overlay() + .showControls(util.vector() + .of(4, 2.825, 4.5), Pointing.DOWN, 60) + .withItem(AllItems.PACKAGE_FILTER.asStack()); + scene.idle(10); + scene.overlay() + .showFilterSlotInput(util.vector() + .of(4.1, 2.825, 4.5), 50); + scene.idle(30); + + scene.overlay() + .showText(70) + .text("Using package filters, this can control where the packages will go") + .attachKeyFrame() + .placeNearTarget() + .pointAt(util.vector() + .of(4, 2.825, 4.5)); + scene.idle(60); + scene.world() + .showSection(funnel, Direction.DOWN); + scene.idle(15); + + scene.world() + .createItemOnBelt(util.grid() + .at(7, 1, 4), Direction.SOUTH, box1); + PonderHilo.packagerClear(scene, pack); + scene.idle(15); + + scene.world() + .multiplyKineticSpeed(util.select() + .everywhere(), 1 / 32f); + scene.idle(10); + + scene.overlay() + .showText(50) + .text("\u2192 Workshop") + .colored(PonderPalette.OUTPUT) + .placeNearTarget() + .pointAt(util.vector() + .blockSurface(util.grid() + .at(6, 2, 4), Direction.WEST)); + scene.overlay() + .showText(50) + .colored(PonderPalette.BLUE) + .text("Workshop") + .placeNearTarget() + .pointAt(util.vector() + .of(4, 2.825, 4.5)); + scene.idle(60); + + scene.world() + .multiplyKineticSpeed(util.select() + .everywhere(), 32f); + + scene.idle(60); + PonderHilo.packageHopsOffBelt(scene, util.grid() + .at(2, 1, 4), Direction.WEST, box1); + scene.idle(40); + + scene.effects() + .indicateSuccess(ticker); + PonderHilo.linkEffect(scene, link); + + scene.overlay() + .showText(40) + .colored(PonderPalette.GREEN) + .text("\u2192 Factory") + .placeNearTarget() + .pointAt(util.vector() + .centerOf(ticker)); + + scene.idle(10); + ItemStack box2 = PackageItem.containing(List.of()); + PackageItem.addAddress(box2, "Factory"); + PonderHilo.packagerCreate(scene, pack, box2); + scene.idle(20); + + scene.world() + .createItemOnBelt(util.grid() + .at(7, 1, 4), Direction.SOUTH, box2); + PonderHilo.packagerClear(scene, pack); + scene.idle(15); + + scene.world() + .multiplyKineticSpeed(util.select() + .everywhere(), 1 / 32f); + scene.idle(10); + + scene.overlay() + .showText(30) + .text("\u2192 Factory") + .colored(PonderPalette.OUTPUT) + .placeNearTarget() + .pointAt(util.vector() + .blockSurface(util.grid() + .at(6, 2, 4), Direction.WEST)); + scene.overlay() + .showText(30) + .colored(PonderPalette.BLUE) + .text("Workshop") + .placeNearTarget() + .pointAt(util.vector() + .of(4, 2.825, 4.5)); + scene.idle(40); + + scene.world() + .multiplyKineticSpeed(util.select() + .everywhere(), 32f); + + scene.idle(90); + PonderHilo.packageHopsOffBelt(scene, util.grid() + .at(4, 1, 0), Direction.NORTH, box2); + scene.idle(5); + scene.world() + .hideSection(belt1, Direction.WEST); + scene.world() + .hideSection(cog, Direction.WEST); + scene.world() + .hideSection(largeCog, Direction.DOWN); + scene.world() + .hideSection(funnel, Direction.UP); + scene.idle(5); + scene.world() + .hideSection(belt2, Direction.NORTH); + scene.rotateCameraY(15); + scene.idle(15); + + ElementLink extrasL = scene.world() + .showIndependentSection(postBox, Direction.DOWN); + scene.world() + .moveSection(extrasL, util.vector() + .of(-3, 0, 2), 0); + scene.idle(5); + scene.world() + .showSectionAndMerge(frog, Direction.DOWN, extrasL); + scene.idle(20); + + scene.overlay() + .showText(100) + .text("Aside from filters, Frogports and Postboxes have package routing abilities") + .attachKeyFrame() + .placeNearTarget() + .pointAt(util.vector() + .blockSurface(util.grid() + .at(3, 2, 4), Direction.NORTH)); + scene.idle(110); + + scene.overlay() + .showText(80) + .text("Inspect them to find out more about their behaviour") + .placeNearTarget() + .pointAt(util.vector() + .blockSurface(util.grid() + .at(3, 2, 4), Direction.NORTH)); + scene.idle(90); + } + +} diff --git a/src/main/java/com/simibubi/create/infrastructure/ponder/scenes/highLogistics/TableClothScenes.java b/src/main/java/com/simibubi/create/infrastructure/ponder/scenes/highLogistics/TableClothScenes.java new file mode 100644 index 0000000000..d95afedb5c --- /dev/null +++ b/src/main/java/com/simibubi/create/infrastructure/ponder/scenes/highLogistics/TableClothScenes.java @@ -0,0 +1,372 @@ +package com.simibubi.create.infrastructure.ponder.scenes.highLogistics; + +import java.util.List; + +import com.simibubi.create.AllBlocks; +import com.simibubi.create.AllItems; +import com.simibubi.create.content.logistics.BigItemStack; +import com.simibubi.create.content.logistics.box.PackageItem; +import com.simibubi.create.content.logistics.redstoneRequester.AutoRequestData; +import com.simibubi.create.content.logistics.stockTicker.PackageOrder; +import com.simibubi.create.content.logistics.tableCloth.TableClothBlock; +import com.simibubi.create.content.logistics.tableCloth.TableClothBlockEntity; +import com.simibubi.create.foundation.ponder.CreateSceneBuilder; + +import net.createmod.catnip.utility.Pointing; +import net.createmod.ponder.api.PonderPalette; +import net.createmod.ponder.api.element.ParrotPose.FacePointOfInterestPose; +import net.createmod.ponder.api.scene.SceneBuilder; +import net.createmod.ponder.api.scene.SceneBuildingUtil; +import net.createmod.ponder.api.scene.Selection; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.item.DyeColor; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Items; +import net.minecraft.world.phys.AABB; +import net.minecraft.world.phys.Vec3; + +public class TableClothScenes { + + public static void tableCloth(SceneBuilder builder, SceneBuildingUtil util) { + CreateSceneBuilder scene = new CreateSceneBuilder(builder); + scene.title("table_cloth", "Selling items with Table Cloths"); + scene.configureBasePlate(0, 0, 7); + scene.scaleSceneView(0.925f); + scene.setSceneOffsetY(-0.5f); + scene.showBasePlate(); + + Selection initialCloth = util.select() + .fromTo(3, 1, 3, 3, 2, 3); + Selection scaff1 = util.select() + .position(5, 1, 1); + Selection cloth1 = util.select() + .position(5, 2, 1); + Selection vault = util.select() + .fromTo(4, 1, 4, 3, 3, 5); + Selection packScaff = util.select() + .position(2, 1, 4); + BlockPos pack = util.grid() + .at(2, 2, 4); + Selection packager = util.select() + .position(2, 2, 4); + BlockPos link = util.grid() + .at(2, 3, 4); + Selection linkS = util.select() + .position(2, 3, 4); + Selection funnel = util.select() + .position(1, 2, 4); + Selection belt = util.select() + .fromTo(1, 1, 5, 1, 1, 0); + Selection largeCog = util.select() + .position(2, 0, 7); + Selection cogs = util.select() + .fromTo(2, 1, 5, 2, 1, 6); + Selection ticker = util.select() + .position(3, 1, 1); + Selection seat = util.select() + .position(3, 1, 2); + + scene.idle(10); + + scene.world() + .showSection(initialCloth, Direction.DOWN); + scene.idle(15); + + ItemStack grass = new ItemStack(Items.OAK_LOG); + scene.overlay() + .showControls(util.vector() + .centerOf(3, 2, 3), Pointing.DOWN, 50) + .rightClick() + .withItem(grass); + + scene.idle(7); + scene.effects() + .indicateSuccess(util.grid() + .at(3, 2, 3)); + scene.world() + .cycleBlockProperty(util.grid() + .at(3, 2, 3), TableClothBlock.HAS_BE); + scene.world() + .modifyBlockEntity(util.grid() + .at(3, 2, 3), TableClothBlockEntity.class, be -> be.manuallyAddedItems.add(grass)); + scene.idle(10); + + scene.overlay() + .showText(60) + .text("Table cloths can be used to display items") + .attachKeyFrame() + .pointAt(util.vector() + .topOf(3, 1, 3)) + .placeNearTarget(); + scene.idle(70); + + scene.effects() + .indicateSuccess(util.grid() + .at(3, 2, 3)); + scene.world() + .modifyBlockEntity(util.grid() + .at(3, 2, 3), TableClothBlockEntity.class, be -> { + AutoRequestData d = new AutoRequestData(); + d.encodedRequest = new PackageOrder(List.of(new BigItemStack(grass))); + d.isValid = true; + be.requestData = d; + be.priceTag.setFilter(new ItemStack(Items.DIAMOND)); + be.priceTag.count = 1; + be.facing = Direction.NORTH; + }); + + scene.overlay() + .showText(100) + .text("With the help of a logistics system, they can also be used to sell items") + .attachKeyFrame() + .pointAt(util.vector() + .of(3, 1.75, 3)) + .placeNearTarget(); + scene.idle(110); + + scene.world() + .hideSection(initialCloth, Direction.UP); + scene.idle(20); + scene.world() + .showSection(vault, Direction.NORTH); + scene.world() + .showSection(packScaff, Direction.NORTH); + scene.idle(10); + scene.world() + .showSection(packager, Direction.EAST); + scene.idle(10); + scene.world() + .showSection(linkS, Direction.DOWN); + + scene.overlay() + .showOutlineWithText(util.select() + .fromTo(3, 2, 4, 4, 3, 5), 100) + .text("Start with the shop's inventory, a Packager and Stock link") + .attachKeyFrame() + .colored(PonderPalette.BLUE) + .pointAt(util.vector() + .of(2, 3, 4)) + .placeNearTarget(); + scene.idle(110); + + ItemStack tickerItem = AllBlocks.STOCK_TICKER.asStack(); + scene.overlay() + .showControls(util.vector() + .centerOf(2, 3, 4), Pointing.DOWN, 80) + .rightClick() + .withItem(tickerItem); + scene.idle(5); + + AABB bb1 = new AABB(link); + scene.overlay() + .chaseBoundingBoxOutline(PonderPalette.BLUE, link, bb1.deflate(0.45), 10); + scene.idle(1); + bb1 = bb1.deflate(1 / 16f) + .contract(0, 8 / 16f, 0); + scene.overlay() + .chaseBoundingBoxOutline(PonderPalette.BLUE, link, bb1, 50); + scene.idle(26); + + scene.overlay() + .showText(80) + .text("Bind a Stock ticker to the link and place it in the shop") + .attachKeyFrame() + .colored(PonderPalette.BLUE) + .pointAt(util.vector() + .centerOf(link)) + .placeNearTarget(); + scene.idle(70); + + scene.world() + .showSection(ticker, Direction.DOWN); + scene.idle(10); + scene.world() + .showSection(seat, Direction.NORTH); + scene.idle(10); + scene.special() + .createBirb(util.vector() + .centerOf(util.grid() + .at(3, 1, 2)), + FacePointOfInterestPose::new); + scene.idle(20); + + scene.overlay() + .showText(90) + .text("Employ a mob or blaze burner as the shop keeper") + .attachKeyFrame() + .pointAt(util.vector() + .of(2.5, 2.75, 1.5)) + .placeNearTarget(); + scene.idle(100); + + ItemStack logItem1 = new ItemStack(Items.OAK_LOG); + ItemStack logItem2 = new ItemStack(Items.BIRCH_LOG); + scene.overlay() + .showControls(util.vector() + .of(5, 3.5, 4), Pointing.RIGHT, 80) + .withItem(logItem1); + scene.overlay() + .showControls(util.vector() + .of(5, 2, 4), Pointing.RIGHT, 80) + .withItem(logItem2); + scene.idle(10); + + scene.overlay() + .showText(70) + .text("Fill the shop inventory with items to be sold") + .attachKeyFrame() + .pointAt(util.vector() + .of(4, 3, 4)) + .placeNearTarget(); + scene.idle(80); + + ItemStack clothItem = AllBlocks.TABLE_CLOTHS.get(DyeColor.LIGHT_GRAY) + .asStack(); + scene.overlay() + .showControls(util.vector() + .of(3, 3, 1.75), Pointing.DOWN, 120) + .rightClick() + .withItem(clothItem); + scene.idle(30); + + scene.overlay() + .showText(100) + .text("To create a new trade, interact with the shop keeper while holding a table cloth") + .attachKeyFrame() + .pointAt(util.vector() + .of(2.5, 2.75, 1.5)) + .placeNearTarget(); + scene.idle(100); + + scene.world() + .cycleBlockProperty(util.grid() + .at(5, 2, 1), TableClothBlock.HAS_BE); + scene.world() + .modifyBlockEntity(util.grid() + .at(5, 2, 1), TableClothBlockEntity.class, be -> { + AutoRequestData d = new AutoRequestData(); + d.encodedRequest = new PackageOrder(List.of(new BigItemStack(logItem1))); + d.isValid = true; + be.requestData = d; + be.facing = Direction.NORTH; + }); + + scene.world() + .showSection(scaff1, Direction.DOWN); + scene.idle(10); + scene.world() + .showSection(cloth1, Direction.DOWN); + scene.idle(20); + + ItemStack diamondItem = new ItemStack(Items.DIAMOND); + Vec3 filterSlot = util.vector() + .of(5.25, 1.825, 1); + scene.overlay() + .showControls(filterSlot, Pointing.DOWN, 120) + .rightClick() + .withItem(diamondItem); + scene.idle(5); + scene.world() + .setFilterData(util.select() + .position(5, 2, 1), TableClothBlockEntity.class, diamondItem); + scene.idle(15); + + scene.overlay() + .showText(90) + .text("Once placed, set a price in the item slot on the side") + .attachKeyFrame() + .pointAt(filterSlot) + .placeNearTarget(); + scene.idle(120); + + scene.overlay() + .showControls(util.vector() + .centerOf(util.grid() + .at(5, 2, 1)), + Pointing.DOWN, 90) + .rightClick(); + scene.idle(10); + + scene.overlay() + .showText(90) + .text("Other players can now interact with the shop") + .attachKeyFrame() + .pointAt(util.vector() + .of(5, 2, 1.5)) + .placeNearTarget(); + scene.idle(100); + + ItemStack listItem = AllItems.SHOPPING_LIST.asStack(); + scene.overlay() + .showControls(util.vector() + .of(3, 3, 1.75), Pointing.DOWN, 90) + .rightClick() + .withItem(listItem); + scene.idle(5); + scene.effects() + .indicateSuccess(util.grid() + .at(3, 1, 1)); + PonderHilo.linkEffect(scene, link); + ItemStack box = PackageItem.containing(List.of()); + PonderHilo.packagerCreate(scene, pack, box); + scene.idle(30); + + scene.overlay() + .showText(120) + .text("When checking out at the cashier, the bought items will be placed into a package") + .attachKeyFrame() + .pointAt(util.vector() + .of(2.5, 2.5, 4)) + .placeNearTarget(); + scene.idle(100); + + scene.world() + .showSection(largeCog, Direction.UP); + scene.idle(3); + scene.world() + .showSection(cogs, Direction.DOWN); + scene.idle(3); + scene.world() + .showSection(belt, Direction.EAST); + scene.idle(5); + scene.world() + .showSection(funnel, Direction.DOWN); + scene.idle(15); + scene.world() + .createItemOnBelt(util.grid() + .at(1, 1, 4), Direction.EAST, box); + PonderHilo.packagerClear(scene, pack); + scene.idle(45); + + scene.overlay() + .showText(90) + .text("From there, they can be transported to the shop front") + .attachKeyFrame() + .pointAt(util.vector() + .of(1, 2.5, 1.5)) + .placeNearTarget(); + scene.idle(100); + + scene.overlay() + .showControls(util.vector() + .topOf(util.grid() + .at(3, 1, 1)), + Pointing.DOWN, 100) + .rightClick() + .withItem(diamondItem); + scene.idle(10); + + scene.overlay() + .showText(90) + .text("The payments will be stored inside the stock ticker block") + .attachKeyFrame() + .pointAt(util.vector() + .centerOf(util.grid() + .at(3, 1, 1))) + .placeNearTarget(); + scene.idle(100); + + } + +} diff --git a/src/main/resources/META-INF/accesstransformer.cfg b/src/main/resources/META-INF/accesstransformer.cfg index d8e93bd05e..e7dfec0890 100644 --- a/src/main/resources/META-INF/accesstransformer.cfg +++ b/src/main/resources/META-INF/accesstransformer.cfg @@ -53,3 +53,6 @@ protected-f net.minecraft.world.entity.decoration.HangingEntity recalculateBound public net.minecraft.world.item.alchemy.PotionBrewing$Mix public net.minecraft.data.models.ItemModelGenerators$TrimModelData + +# Using a static accessor here doesn't work, no idea why but will have to debug it later +public net.minecraft.data.models.ItemModelGenerators f_265952_ # GENERATED_TRIM_MODELS diff --git a/src/main/resources/assets/create/lang/default/interface.json b/src/main/resources/assets/create/lang/default/interface.json index f40f23f9f4..f60b897e06 100644 --- a/src/main/resources/assets/create/lang/default/interface.json +++ b/src/main/resources/assets/create/lang/default/interface.json @@ -114,12 +114,6 @@ "create.action.saveToFile": "Save", "create.action.discard": "Discard", - "create.keyinfo.toolmenu": "Focus Schematic Overlay", - "create.keyinfo.toolbelt": "Access Nearby Toolboxes", - "create.keyinfo.scrollup": "Simulate Mousewheel Up (inworld)", - "create.keyinfo.scrolldown": "Simulate Mousewheel Down (inworld)", - "create.keyinfo.ponder": "Ponder", - "create.gui.scrollInput.defaultTitle": "Choose an Option:", "create.gui.scrollInput.scrollToModify": "Scroll to Modify", "create.gui.scrollInput.scrollToAdjustAmount": "Scroll to Adjust Amount", @@ -342,7 +336,7 @@ "create.gui.stock_keeper.not_in_stock": "Required items are not in Stock", "create.gui.stock_keeper.schematic_list.no_results": "No items from your checklist are in stock", "create.gui.stock_keeper.schematic_list.requesting": "Click 'Send' to request all available items from your checklist", - + "create.stock_keeper.shopping_list_empty_hand": "Empty hand required to start a shopping list", "create.stock_keeper.no_price_set": "Shop owner must set a price first", "create.stock_keeper.keeper_missing": "Stock keeper missing", @@ -353,10 +347,10 @@ "create.stock_keeper.stock_level_too_low": "Purchase cancelled: Stock levels lower than expected", "create.stock_keeper.cash_register_full": "Purchase cancelled: Not enough space in Cash Register", "create.stock_keeper.too_broke": "You cannot afford this purchase", - + "create.stock_ticker.contains_payments": "Contains payments:", "create.stock_ticker.click_to_retrieve": "Click to retrieve", - + "create.gui.stock_ticker.category_editor": "Category Editor", "create.gui.stock_ticker.shift_moves_top": "Shift moves to top", "create.gui.stock_ticker.shift_moves_bottom": "Shift moves to bottom", @@ -367,7 +361,7 @@ "create.gui.stock_ticker.category_name": "Category Name", "create.gui.stock_ticker.delete_category": "Delete Category", "create.gui.stock_ticker.empty_category_name_placeholder": "(Empty)", - + "create.table_cloth.price_per_order": "Price per Order", "create.table_cloth.amount": "Amount", "create.table_cloth.shop_configured": "Item shop configured", @@ -375,7 +369,7 @@ "create.table_cloth.hand_to_shop_keeper": "Hand this to a shop keeper", "create.table_cloth.sneak_click_discard": "Sneak-Click to discard", "create.table_cloth.shopping_list_discarded": "Shopping list discarded", - + "create.gui.address_box.clipboard_tip": "Keeping Track", "create.gui.address_box.clipboard_tip_1": "Entries starting with '#' on", "create.gui.address_box.clipboard_tip_2": "held or nearby clipboards will", @@ -790,12 +784,12 @@ "create.schedule.instruction.throttle.summary": "Change Max Speed to %1$s", "create.schedule.instruction.throttle_edit_box": "Throttle", "create.schedule.instruction.throttle_edit_box_1": "Affects the top speed of the Train", - + "create.schedule.instruction.package_delivery": "Deliver Package", "create.schedule.instruction.package_delivery.summary": "Deliver first package in cargo", "create.schedule.instruction.package_delivery.summary_1": "Drives to the station with", "create.schedule.instruction.package_delivery.summary_2": "the correct postbox", - + "create.schedule.instruction.package_retrieval": "Retrieve Package", "create.schedule.instruction.package_retrieval.summary": "Fetch a package addressed to:", "create.schedule.instruction.package_retrieval.summary_1": "Drives to a postbox with", @@ -1047,14 +1041,14 @@ "create.display_link.information_type": "Type of Information", "create.display_link.display_on": "Write data to:", "create.display_link.display_on_multiline": "Start writing at:", - + "create.logistically_linked.tuned": "Tuned to this link", "create.logistically_linked.new_network_started": "New link network started", "create.logistically_linked.connected": "Connected to existing network successfully", "create.logistically_linked.tooltip": "Frequency configured", "create.logistically_linked.tooltip_clear": "Place in crafting grid to reset", "create.logistically_linked.protected": "Logistics Network is Protected", - + "create.gui.factory_panel.title_as_recipe": "Recipe Settings", "create.gui.factory_panel.title_as_restocker": "Restocker Settings", "create.gui.factory_panel.connect_input": "Add new connection", @@ -1097,18 +1091,18 @@ "create.gui.factory_panel.address_missing": "Inactive: missing a target address", "create.gui.factory_panel.no_target_amount_set": "Inactive: no target amount set", "create.gui.factory_panel.has_link_connections": "Gauge has connected links", - + "create.gui.redstone_requester.allow_partial": "Allow partial orders", "create.gui.redstone_requester.dont_allow_partial": "Must send all items", "create.gui.redstone_requester.requester_address": "Send order to...", "create.gui.redstone_requester.requester_address_given": "Sending order to", "create.gui.redstone_requester.requester_address_tip": "Enter the address this", "create.gui.redstone_requester.requester_address_tip_1": "order should be send to.", - + "create.gui.factory_panel.expected_output_tip": "The amount of output returning", "create.gui.factory_panel.expected_output_tip_1": "after each successful request", "create.gui.factory_panel.expected_output_tip_2": "Scroll to change", - + "create.factory_panel.click_to_configure": "Click to configure", "create.factory_panel.hold_to_set_amount": "Click and hold for target amount", "create.factory_panel.target_amount": "Target Amount in Storage", @@ -1129,7 +1123,7 @@ "create.factory_panel.connection_aborted": "Input connection aborted", "create.factory_panel.cannot_add_more_inputs": "Cannot add more inputs to this gauge", "create.factory_panel.already_connected": "Gauges are already connected", - + "create.display_source.label": "Attached Label", "create.display_source.combine_item_names": "Combine Item Names", "create.display_source.count_items": "Amount of matching Items", diff --git a/src/main/resources/assets/create/models/block/smart_fluid_pipe/block.json b/src/main/resources/assets/create/models/block/smart_fluid_pipe/block.json index 87269c7a9b..b04a2fb2da 100644 --- a/src/main/resources/assets/create/models/block/smart_fluid_pipe/block.json +++ b/src/main/resources/assets/create/models/block/smart_fluid_pipe/block.json @@ -5,6 +5,7 @@ "2": "create:block/smart_pipe_1", "3": "create:block/smart_pipe_2", "4": "create:block/pipes", + "5": "create:block/smart_pipe_3", "particle": "block/copper_block" }, "elements": [ @@ -12,11 +13,11 @@ "from": [3, 3, 3], "to": [13, 13, 13], "faces": { - "north": {"uv": [3, 3, 4, 4], "texture": "#2"}, - "east": {"uv": [3, 3, 13, 13], "texture": "#2"}, - "south": {"uv": [3, 3, 4, 4], "texture": "#2"}, + "north": {"uv": [3, 3, 13, 13], "texture": "#5"}, + "east": {"uv": [13, 3, 3, 13], "texture": "#2"}, + "south": {"uv": [3, 3, 13, 13], "texture": "#5"}, "west": {"uv": [3, 3, 13, 13], "texture": "#2"}, - "up": {"uv": [3, 3, 13, 13], "rotation": 270, "texture": "#2"}, + "up": {"uv": [13, 3, 3, 13], "rotation": 270, "texture": "#2"}, "down": {"uv": [3, 3, 13, 13], "rotation": 270, "texture": "#2"} } }, diff --git a/src/main/resources/assets/create/models/block/smart_fluid_pipe/item.json b/src/main/resources/assets/create/models/block/smart_fluid_pipe/item.json index 985a8098fb..1b18e17fd1 100644 --- a/src/main/resources/assets/create/models/block/smart_fluid_pipe/item.json +++ b/src/main/resources/assets/create/models/block/smart_fluid_pipe/item.json @@ -4,7 +4,9 @@ "textures": { "1": "create:block/pipes", "2": "create:block/smart_pipe_1", - "3": "create:block/smart_pipe_2" + "3": "create:block/smart_pipe_2", + "4": "create:block/smart_pipe_3", + "particle": "create:block/smart_pipe_3" }, "elements": [ { @@ -37,11 +39,11 @@ "from": [3, 3, 3], "to": [13, 13, 13], "faces": { - "north": {"uv": [3, 3, 4, 4], "texture": "#2"}, - "east": {"uv": [3, 3, 13, 13], "texture": "#2"}, - "south": {"uv": [3, 3, 4, 4], "texture": "#2"}, + "north": {"uv": [3, 3, 13, 13], "texture": "#4"}, + "east": {"uv": [13, 3, 3, 13], "texture": "#2"}, + "south": {"uv": [3, 3, 13, 13], "texture": "#4"}, "west": {"uv": [3, 3, 13, 13], "texture": "#2"}, - "up": {"uv": [3, 3, 13, 13], "rotation": 270, "texture": "#2"}, + "up": {"uv": [13, 3, 3, 13], "rotation": 270, "texture": "#2"}, "down": {"uv": [3, 3, 13, 13], "rotation": 270, "texture": "#2"} } }, diff --git a/src/main/resources/assets/create/models/block/stock_ticker.json b/src/main/resources/assets/create/models/block/stock_ticker.json index 2047d1835a..ba04f537c4 100644 --- a/src/main/resources/assets/create/models/block/stock_ticker.json +++ b/src/main/resources/assets/create/models/block/stock_ticker.json @@ -31,6 +31,18 @@ "down": {"uv": [8, 2.5, 8.5, 3], "texture": "#0"} } }, + { + "from": [4.5, 4, 9], + "to": [11.5, 6, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 4, 9]}, + "faces": { + "north": {"uv": [14, 11, 13, 14.5], "rotation": 90, "texture": "#0"}, + "east": {"uv": [16, 14.5, 14, 15.5], "texture": "#0"}, + "south": {"uv": [14, 11, 13, 14.5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [14, 14.5, 16, 15.5], "texture": "#0"}, + "up": {"uv": [14, 11, 16, 14.5], "rotation": 90, "texture": "#0"} + } + }, { "from": [6.5, -3, -0.1], "to": [9.5, 2, -0.1], @@ -124,15 +136,15 @@ "name": "base", "origin": [5, 0, 0], "color": 0, - "children": [0, 1] + "children": [0, 1, 2] }, - 2, 3, 4, 5, 6, 7, 8, - 9 + 9, + 10 ] } \ No newline at end of file diff --git a/src/main/resources/assets/create/models/item/bars.json b/src/main/resources/assets/create/models/item/bars.json deleted file mode 100644 index 3577d43a6f..0000000000 --- a/src/main/resources/assets/create/models/item/bars.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "credit": "Made with Blockbench", - "elements": [ - { - "from": [8, 0, 0], - "to": [8, 16, 16], - "faces": { - "east": {"uv": [16, 0, 0, 16], "texture": "#bars"}, - "west": {"uv": [0, 0, 16, 16], "texture": "#bars"} - } - }, - { - "from": [7, 0, 15.95], - "to": [9, 16, 16], - "faces": { - "north": {"uv": [9, 16, 7, 0], "texture": "#bars"}, - "south": {"uv": [7, 16, 9, 0], "texture": "#bars"} - } - }, - { - "from": [7, 0, 0], - "to": [9, 16, 0.05], - "faces": { - "north": {"uv": [7, 16, 9, 0], "texture": "#bars"}, - "south": {"uv": [9, 16, 7, 0], "texture": "#bars"} - } - }, - { - "from": [7, 15.95, 0], - "to": [9, 16, 16], - "faces": { - "up": {"uv": [7, 0, 9, 16], "rotation": 180, "texture": "#edge"}, - "down": {"uv": [7, 16, 9, 0], "rotation": 180, "texture": "#edge"} - } - }, - { - "from": [7, 0, 0], - "to": [9, 0.05, 16], - "faces": { - "up": {"uv": [7, 16, 9, 0], "rotation": 180, "texture": "#edge"}, - "down": {"uv": [7, 0, 9, 16], "rotation": 180, "texture": "#edge"} - } - } - ], - "display": { - "thirdperson_righthand": { - "rotation": [75, 45, 0], - "translation": [0, 2.5, 0], - "scale": [0.375, 0.375, 0.375] - }, - "thirdperson_lefthand": { - "rotation": [75, 45, 0], - "translation": [0, 2.5, 0], - "scale": [0.375, 0.375, 0.375] - }, - "firstperson_righthand": { - "rotation": [0, 45, 0], - "scale": [0.4, 0.4, 0.4] - }, - "firstperson_lefthand": { - "rotation": [0, 225, 0], - "scale": [0.4, 0.4, 0.4] - }, - "ground": { - "translation": [0, 3, 0], - "scale": [0.25, 0.25, 0.25] - }, - "gui": { - "rotation": [30, 45, 0], - "scale": [0.625, 0.625, 0.625] - }, - "fixed": { - "rotation": [ 0, 270, 0 ], - "scale": [0.5, 0.5, 0.5] - } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/item/pane.json b/src/main/resources/assets/create/models/item/pane.json deleted file mode 100644 index a9f2b67e83..0000000000 --- a/src/main/resources/assets/create/models/item/pane.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "credit": "Made with Blockbench", - "elements": [ - { - "from": [7, 0, 0], - "to": [9, 16, 16], - "faces": { - "north": {"uv": [7, 0, 9, 16], "texture": "#edge"}, - "east": {"uv": [16, 0, 0, 16], "texture": "#pane"}, - "south": {"uv": [7, 0, 9, 16], "texture": "#edge"}, - "west": {"uv": [0, 0, 16, 16], "texture": "#pane"}, - "up": {"uv": [7, 0, 9, 16], "rotation": 180, "texture": "#edge"}, - "down": {"uv": [7, 0, 9, 16], "rotation": 180, "texture": "#edge"} - } - } - ], - "display": { - "thirdperson_righthand": { - "rotation": [75, 45, 0], - "translation": [0, 2.5, 0], - "scale": [0.375, 0.375, 0.375] - }, - "thirdperson_lefthand": { - "rotation": [75, 45, 0], - "translation": [0, 2.5, 0], - "scale": [0.375, 0.375, 0.375] - }, - "firstperson_righthand": { - "rotation": [0, 45, 0], - "scale": [0.4, 0.4, 0.4] - }, - "firstperson_lefthand": { - "rotation": [0, 225, 0], - "scale": [0.4, 0.4, 0.4] - }, - "ground": { - "translation": [0, 3, 0], - "scale": [0.25, 0.25, 0.25] - }, - "gui": { - "rotation": [30, 45, 0], - "scale": [0.625, 0.625, 0.625] - }, - "fixed": { - "rotation": [ 0, 270, 0 ], - "scale": [0.5, 0.5, 0.5] - } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/create/ponder/high_logistics/factory_gauge_crafting.nbt b/src/main/resources/assets/create/ponder/high_logistics/factory_gauge_crafting.nbt new file mode 100644 index 0000000000..7536e7b08e Binary files /dev/null and b/src/main/resources/assets/create/ponder/high_logistics/factory_gauge_crafting.nbt differ diff --git a/src/main/resources/assets/create/ponder/high_logistics/factory_gauge_links.nbt b/src/main/resources/assets/create/ponder/high_logistics/factory_gauge_links.nbt new file mode 100644 index 0000000000..902e602289 Binary files /dev/null and b/src/main/resources/assets/create/ponder/high_logistics/factory_gauge_links.nbt differ diff --git a/src/main/resources/assets/create/ponder/high_logistics/factory_gauge_recipe.nbt b/src/main/resources/assets/create/ponder/high_logistics/factory_gauge_recipe.nbt new file mode 100644 index 0000000000..01674b6d26 Binary files /dev/null and b/src/main/resources/assets/create/ponder/high_logistics/factory_gauge_recipe.nbt differ diff --git a/src/main/resources/assets/create/ponder/high_logistics/factory_gauge_restocker.nbt b/src/main/resources/assets/create/ponder/high_logistics/factory_gauge_restocker.nbt new file mode 100644 index 0000000000..6844055e99 Binary files /dev/null and b/src/main/resources/assets/create/ponder/high_logistics/factory_gauge_restocker.nbt differ diff --git a/src/main/resources/assets/create/ponder/high_logistics/package_postbox.nbt b/src/main/resources/assets/create/ponder/high_logistics/package_postbox.nbt new file mode 100644 index 0000000000..746cbe6f7e Binary files /dev/null and b/src/main/resources/assets/create/ponder/high_logistics/package_postbox.nbt differ diff --git a/src/main/resources/assets/create/ponder/high_logistics/redstone_requester.nbt b/src/main/resources/assets/create/ponder/high_logistics/redstone_requester.nbt new file mode 100644 index 0000000000..5b9985092f Binary files /dev/null and b/src/main/resources/assets/create/ponder/high_logistics/redstone_requester.nbt differ diff --git a/src/main/resources/assets/create/ponder/high_logistics/repackager.nbt b/src/main/resources/assets/create/ponder/high_logistics/repackager.nbt new file mode 100644 index 0000000000..038a3ab8bf Binary files /dev/null and b/src/main/resources/assets/create/ponder/high_logistics/repackager.nbt differ diff --git a/src/main/resources/assets/create/ponder/high_logistics/stock_link.nbt b/src/main/resources/assets/create/ponder/high_logistics/stock_link.nbt new file mode 100644 index 0000000000..bad0a4f049 Binary files /dev/null and b/src/main/resources/assets/create/ponder/high_logistics/stock_link.nbt differ diff --git a/src/main/resources/assets/create/ponder/high_logistics/stock_ticker.nbt b/src/main/resources/assets/create/ponder/high_logistics/stock_ticker.nbt new file mode 100644 index 0000000000..ba6ae39bdd Binary files /dev/null and b/src/main/resources/assets/create/ponder/high_logistics/stock_ticker.nbt differ diff --git a/src/main/resources/assets/create/ponder/high_logistics/stock_ticker_address.nbt b/src/main/resources/assets/create/ponder/high_logistics/stock_ticker_address.nbt new file mode 100644 index 0000000000..c69c47bd5e Binary files /dev/null and b/src/main/resources/assets/create/ponder/high_logistics/stock_ticker_address.nbt differ diff --git a/src/main/resources/assets/create/ponder/high_logistics/table_cloth.nbt b/src/main/resources/assets/create/ponder/high_logistics/table_cloth.nbt new file mode 100644 index 0000000000..e6fb0dfd73 Binary files /dev/null and b/src/main/resources/assets/create/ponder/high_logistics/table_cloth.nbt differ diff --git a/src/main/resources/assets/create/textures/block/packager_horizontal_linked.png b/src/main/resources/assets/create/textures/block/packager_horizontal_linked.png index 2041f07895..4d6c778115 100644 Binary files a/src/main/resources/assets/create/textures/block/packager_horizontal_linked.png and b/src/main/resources/assets/create/textures/block/packager_horizontal_linked.png differ diff --git a/src/main/resources/assets/create/textures/block/packager_horizontal_powered.png b/src/main/resources/assets/create/textures/block/packager_horizontal_powered.png index e15bda38ca..cb3de39968 100644 Binary files a/src/main/resources/assets/create/textures/block/packager_horizontal_powered.png and b/src/main/resources/assets/create/textures/block/packager_horizontal_powered.png differ diff --git a/src/main/resources/assets/create/textures/block/packager_vertical_linked.png b/src/main/resources/assets/create/textures/block/packager_vertical_linked.png index 0cd73feec3..e1069290f8 100644 Binary files a/src/main/resources/assets/create/textures/block/packager_vertical_linked.png and b/src/main/resources/assets/create/textures/block/packager_vertical_linked.png differ diff --git a/src/main/resources/assets/create/textures/block/packager_vertical_powered.png b/src/main/resources/assets/create/textures/block/packager_vertical_powered.png index b14603f557..8f4e25b142 100644 Binary files a/src/main/resources/assets/create/textures/block/packager_vertical_powered.png and b/src/main/resources/assets/create/textures/block/packager_vertical_powered.png differ diff --git a/src/main/resources/assets/create/textures/block/redstone_requester_powered.png b/src/main/resources/assets/create/textures/block/redstone_requester_powered.png index c2692101eb..ee5d2e240c 100644 Binary files a/src/main/resources/assets/create/textures/block/redstone_requester_powered.png and b/src/main/resources/assets/create/textures/block/redstone_requester_powered.png differ diff --git a/src/main/resources/assets/create/textures/block/smart_pipe_1.png b/src/main/resources/assets/create/textures/block/smart_pipe_1.png index 017ca27c8e..72c3e60ab4 100644 Binary files a/src/main/resources/assets/create/textures/block/smart_pipe_1.png and b/src/main/resources/assets/create/textures/block/smart_pipe_1.png differ diff --git a/src/main/resources/assets/create/textures/block/smart_pipe_2.png b/src/main/resources/assets/create/textures/block/smart_pipe_2.png index b713f0fe8f..8dee533e26 100644 Binary files a/src/main/resources/assets/create/textures/block/smart_pipe_2.png and b/src/main/resources/assets/create/textures/block/smart_pipe_2.png differ diff --git a/src/main/resources/assets/create/textures/block/smart_pipe_3.png b/src/main/resources/assets/create/textures/block/smart_pipe_3.png new file mode 100644 index 0000000000..31ebe54461 Binary files /dev/null and b/src/main/resources/assets/create/textures/block/smart_pipe_3.png differ diff --git a/src/main/resources/assets/create/textures/block/stock_ticker.png b/src/main/resources/assets/create/textures/block/stock_ticker.png index 273c40dae7..b94770db10 100644 Binary files a/src/main/resources/assets/create/textures/block/stock_ticker.png and b/src/main/resources/assets/create/textures/block/stock_ticker.png differ diff --git a/src/main/resources/assets/create/textures/item/package/rare_thunder.png b/src/main/resources/assets/create/textures/item/package/rare_thunder.png new file mode 100644 index 0000000000..ebeb266ba6 Binary files /dev/null and b/src/main/resources/assets/create/textures/item/package/rare_thunder.png differ diff --git a/src/main/resources/create.mixins.json b/src/main/resources/create.mixins.json index 1fb9e46294..5d9024baf9 100644 --- a/src/main/resources/create.mixins.json +++ b/src/main/resources/create.mixins.json @@ -17,6 +17,7 @@ "MapItemSavedDataMixin", "PlayerMixin", "ShulkerBoxBlockMixin", + "SmithingMenuMixin", "TestCommandMixin", "WaterWheelFluidSpreadMixin", "accessor.AbstractRegistrateAccessor", @@ -27,10 +28,8 @@ "accessor.FlowingFluidAccessor", "accessor.FluidInteractionRegistryAccessor", "accessor.GameTestHelperAccessor", - "accessor.ItemModelGeneratorsAccessor", "accessor.ItemStackHandlerAccessor", "accessor.LivingEntityAccessor", - "accessor.ModelBuilderAccessor", "accessor.MappedRegistryAccessor", "accessor.NbtAccounterAccessor", "accessor.PotionBrewingAccessor",