mirror of
https://github.com/Creators-of-Create/Create.git
synced 2025-03-04 06:44:40 +01:00
Pondering Alone, Part V
- merge mc1.18/dev - reuse transform interfaces from Flywheel and include them in catnip - extend SBB interface slightly - copy .editorconfig to catnip and ponder
This commit is contained in:
commit
25f259e0bc
1328 changed files with 36567 additions and 21590 deletions
4
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
4
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
|
@ -49,6 +49,9 @@ body:
|
|||
label: Mod Version
|
||||
description: The version of the mod you were using when the bug occured
|
||||
options:
|
||||
- "0.5.0f"
|
||||
- "0.5.0e"
|
||||
- "0.5.0d"
|
||||
- "0.5.0c"
|
||||
- "0.5.0b"
|
||||
- "0.5.0a"
|
||||
|
@ -106,6 +109,7 @@ body:
|
|||
label: Minecraft Version
|
||||
description: The version of Minecraft you were using when the bug occured
|
||||
options:
|
||||
- "1.19.2"
|
||||
- "1.18.2"
|
||||
- "1.18.1"
|
||||
- "1.18"
|
||||
|
|
2
.github/config/labels.yml
vendored
2
.github/config/labels.yml
vendored
|
@ -8,3 +8,5 @@
|
|||
- "1.17"
|
||||
1.18:
|
||||
- "1.18"
|
||||
1.19:
|
||||
- "1.19"
|
||||
|
|
26
.github/workflows/gradle.yml
vendored
26
.github/workflows/gradle.yml
vendored
|
@ -1,26 +0,0 @@
|
|||
# This workflow will build a Java project with Gradle
|
||||
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-gradle
|
||||
|
||||
name: Java CI with Gradle
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ mc1.15/dev ]
|
||||
pull_request:
|
||||
branches: [ mc1.15/dev ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up JDK 1.8
|
||||
uses: actions/setup-java@v1
|
||||
with:
|
||||
java-version: 1.8
|
||||
- name: Grant execute permission for gradlew
|
||||
run: chmod +x gradlew
|
||||
- name: Build with Gradle
|
||||
run: ./gradlew build
|
|
@ -9,9 +9,9 @@
|
|||
<br><br>
|
||||
</h1>
|
||||
|
||||
<p>Welcome to Create, a mod offering a variety of tools and blocks for Building, Decoration and Aesthetic Automation.</p>
|
||||
<p>The added elements of tech are designed to leave as many design choices to the player as possible. With Create, the game isn't played inside a bunch of UIs, it challenges you to setup contraptions of animated components working together in many possible arrangements.</p>
|
||||
<p>Create's visual in-game documentation called 'Ponder' will guide you though all added mechanics and gadgets.</p>
|
||||
<p>Welcome to Create, a mod offering a variety of tools and blocks for Building, Decoration, and Aesthetic Automation.</p>
|
||||
<p>The added elements of tech are designed to leave as many design choices to the player as possible. With Create, the game isn't played inside a bunch of UIs, it challenges you to set up contraptions of animated components working together in many possible arrangements.</p>
|
||||
<p>Create's visual in-game documentation called 'Ponder' will guide you through all added mechanics and gadgets.</p>
|
||||
<p> </p>
|
||||
<p align="center"><a href="https://github.com/Creators-of-Create/Create/issues"><img src="https://i.imgur.com/qPmjSXy.png" width="160" /></a> <a href="https://www.youtube.com/channel/UCrKV2QTuyGcv4E3eSJpBiYA/playlists"><img src="https://i.imgur.com/L1bU9mr.png" width="160" /></a><a href="https://discord.gg/hmaD7Se"><img src="https://i.imgur.com/uf6V9ZX.png" width="160" /></a> <a href="https://github.com/Creators-of-Create/Create/wiki/Supporting-the-Project"><img src="https://i.imgur.com/fHQ45KR.png" width="227" /></a></p>
|
||||
|
||||
|
|
123
build.gradle
123
build.gradle
|
@ -7,13 +7,13 @@ buildscript {
|
|||
maven { url = 'https://maven.parchmentmc.org' }
|
||||
}
|
||||
dependencies {
|
||||
classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: "${forgegradle_version}", changing: true
|
||||
classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: "${forgegradle_version}", changing: false
|
||||
classpath "org.spongepowered:mixingradle:${mixingradle_version}"
|
||||
classpath "org.parchmentmc:librarian:${librarian_version}"
|
||||
}
|
||||
}
|
||||
|
||||
plugins {
|
||||
id 'com.github.johnrengelman.shadow' version "${shadow_version}"
|
||||
id 'com.matthewprenger.cursegradle' version "${cursegradle_version}"
|
||||
}
|
||||
apply plugin: 'net.minecraftforge.gradle'
|
||||
|
@ -22,6 +22,8 @@ apply plugin: 'eclipse'
|
|||
apply plugin: 'maven-publish'
|
||||
apply plugin: 'org.spongepowered.mixin'
|
||||
|
||||
jarJar.enable()
|
||||
|
||||
boolean dev = System.getenv('RELEASE') == null || System.getenv('RELEASE').equals('false');
|
||||
// jozu: I use a gradle workspace with both projects.
|
||||
// The project is named Flywheel-Forge, but sub-projects are named by folder.
|
||||
|
@ -40,11 +42,10 @@ if (ponderInWorkspace) {
|
|||
}
|
||||
|
||||
ext.buildNumber = System.getenv('BUILD_NUMBER')
|
||||
if (buildNumber == null) buildNumber = 'custom'
|
||||
|
||||
version = "mc${minecraft_version}_v${mod_version}" + (dev && !buildNumber.equals('custom') ? "+${buildNumber}" : '')
|
||||
group = 'com.simibubi.create'
|
||||
archivesBaseName = 'create'
|
||||
archivesBaseName = "create-${artifact_minecraft_version}"
|
||||
version = mod_version + (dev && buildNumber != null ? "-${buildNumber}" : '')
|
||||
|
||||
java.toolchain.languageVersion = JavaLanguageVersion.of(17)
|
||||
|
||||
|
@ -68,6 +69,7 @@ minecraft {
|
|||
arg '-mixin.config=catnip.mixins.json'
|
||||
}
|
||||
|
||||
//jvmArgs("-XX:+IgnoreUnrecognizedVMOptions", "-XX:+AllowEnhancedClassRedefinition") // uncomment with jbr
|
||||
//jvmArgs '-XX:+UnlockCommercialFeatures' // uncomment for profiling
|
||||
property 'forge.logging.console.level', 'info'
|
||||
mods {
|
||||
|
@ -166,18 +168,6 @@ minecraft {
|
|||
}
|
||||
}
|
||||
|
||||
compileJava {
|
||||
options.compilerArgs = ['-Xdiags:verbose']
|
||||
}
|
||||
|
||||
sourceSets.main.resources {
|
||||
srcDir 'src/generated/resources'
|
||||
}
|
||||
|
||||
mixin {
|
||||
add sourceSets.main, 'create.refmap.json'
|
||||
}
|
||||
|
||||
repositories {
|
||||
maven {
|
||||
// Location of the maven that hosts JEI files (and TiC)
|
||||
|
@ -218,23 +208,32 @@ repositories {
|
|||
name 'createmod maven'
|
||||
url 'https://maven.createmod.net'
|
||||
}
|
||||
}
|
||||
|
||||
configurations {
|
||||
shade
|
||||
maven {
|
||||
name = "Modrinth"
|
||||
url = "https://api.modrinth.com/maven"
|
||||
content {
|
||||
includeGroup "maven.modrinth"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}"
|
||||
|
||||
def registrate = "com.tterrag.registrate:Registrate:${registrate_version}"
|
||||
implementation fg.deobf(registrate)
|
||||
shade registrate
|
||||
jarJar(group: 'com.tterrag.registrate', name: 'Registrate', version: '[MC1.18.2-1.1.3,)') {
|
||||
jarJar.pin(it, project.registrate_version)
|
||||
}
|
||||
// Uncomment once Forge fixes mixins for included jars
|
||||
//jarJar(group: 'com.jozufozu.flywheel', name: "flywheel-forge-${flywheel_minecraft_version}", version: '[0.6.4,0.6.5)') {
|
||||
// jarJar.pin(it, project.flywheel_version)
|
||||
//}
|
||||
|
||||
implementation fg.deobf("com.tterrag.registrate:Registrate:${registrate_version}")
|
||||
|
||||
if (flywheelInWorkspace) {
|
||||
implementation project(':Flywheel')
|
||||
} else {
|
||||
implementation fg.deobf("com.jozufozu.flywheel:Flywheel-Forge:${flywheel_version}")
|
||||
implementation fg.deobf("com.jozufozu.flywheel:flywheel-forge-${flywheel_minecraft_version}:${flywheel_version}")
|
||||
}
|
||||
|
||||
if (catnipInWorkspace) {
|
||||
|
@ -263,6 +262,7 @@ dependencies {
|
|||
// runtimeOnly fg.deobf("vazkii.quark:Quark:r2.0-212.984")
|
||||
// runtimeOnly fg.deobf("slimeknights.mantle:Mantle:1.16.5-1.6.115")
|
||||
// runtimeOnly fg.deobf("slimeknights.tconstruct:TConstruct:1.16.5-3.1.1.252")
|
||||
// runtimeOnly fg.deobf("maven.modrinth:rubidium:0.5.3")
|
||||
|
||||
// https://discord.com/channels/313125603924639766/725850371834118214/910619168821354497
|
||||
// Prevent Mixin annotation processor from getting into IntelliJ's annotation processor settings
|
||||
|
@ -272,6 +272,29 @@ dependencies {
|
|||
}
|
||||
}
|
||||
|
||||
sourceSets.main.resources {
|
||||
srcDir 'src/generated/resources'
|
||||
exclude '.cache/'
|
||||
}
|
||||
|
||||
mixin {
|
||||
add sourceSets.main, 'create.refmap.json'
|
||||
}
|
||||
|
||||
// Workaround for SpongePowered/MixinGradle#38
|
||||
afterEvaluate {
|
||||
tasks.configureReobfTaskForReobfJar.mustRunAfter(tasks.compileJava)
|
||||
tasks.configureReobfTaskForReobfJarJar.mustRunAfter(tasks.compileJava)
|
||||
}
|
||||
|
||||
tasks.withType(JavaCompile).configureEach {
|
||||
options.encoding = 'UTF-8' // Use the UTF-8 charset for Java compilation
|
||||
}
|
||||
|
||||
compileJava {
|
||||
options.compilerArgs = ['-Xdiags:verbose']
|
||||
}
|
||||
|
||||
jar {
|
||||
classifier = 'slim'
|
||||
manifest {
|
||||
|
@ -279,8 +302,8 @@ jar {
|
|||
'Specification-Title': 'create',
|
||||
'Specification-Vendor': 'simibubi',
|
||||
'Specification-Version': '1',
|
||||
'Implementation-Title': project.name,
|
||||
'Implementation-Version': "${version}",
|
||||
'Implementation-Title': project.jar.baseName,
|
||||
'Implementation-Version': project.jar.archiveVersion,
|
||||
'Implementation-Vendor': 'simibubi',
|
||||
'Implementation-Timestamp': new Date().format("yyyy-MM-dd'T'HH:mm:ssZ"),
|
||||
'MixinConfigs': 'create.mixins.json'
|
||||
|
@ -288,40 +311,40 @@ jar {
|
|||
}
|
||||
}
|
||||
|
||||
shadowJar {
|
||||
classifier = ''
|
||||
configurations = [project.configurations.shade]
|
||||
relocate 'com.tterrag.registrate', 'com.simibubi.create.repack.registrate'
|
||||
task jarJarRelease {
|
||||
doLast {
|
||||
tasks.jarJar {
|
||||
classifier = ''
|
||||
}
|
||||
}
|
||||
finalizedBy tasks.jarJar
|
||||
}
|
||||
|
||||
reobf {
|
||||
shadowJar {}
|
||||
java {
|
||||
withSourcesJar()
|
||||
withJavadocJar()
|
||||
}
|
||||
|
||||
|
||||
task sourcesJar(type: Jar) {
|
||||
from sourceSets.main.allSource
|
||||
archiveBaseName.set(project.archivesBaseName)
|
||||
archiveVersion.set("${project.version}")
|
||||
archiveClassifier.set('sources')
|
||||
void addLicense(jarTask) {
|
||||
jarTask.from('LICENSE') {
|
||||
rename { "${it}_${project.archivesBaseName}" }
|
||||
}
|
||||
}
|
||||
|
||||
task javadocJar(type: Jar, dependsOn: javadoc) {
|
||||
from javadoc.destinationDir
|
||||
archiveClassifier.set('javadoc')
|
||||
}
|
||||
jar.finalizedBy('reobfJar')
|
||||
tasks.jarJar.finalizedBy('reobfJarJar')
|
||||
|
||||
artifacts {
|
||||
archives jar, shadowJar, sourcesJar, javadocJar
|
||||
}
|
||||
addLicense(jar)
|
||||
addLicense(tasks.jarJar)
|
||||
|
||||
publishing {
|
||||
tasks.publish.dependsOn 'build'
|
||||
publications {
|
||||
mavenJava(MavenPublication) {
|
||||
artifact shadowJar
|
||||
artifact sourcesJar
|
||||
artifact javadocJar
|
||||
artifactId = archivesBaseName
|
||||
|
||||
from components.java
|
||||
fg.component(it)
|
||||
jarJar.component(it)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -4,28 +4,30 @@ org.gradle.jvmargs = -Xmx3G
|
|||
org.gradle.daemon = false
|
||||
|
||||
# mod version info
|
||||
mod_version = 0.5.0c
|
||||
mod_version = 0.5.0.e
|
||||
artifact_minecraft_version = 1.18.2
|
||||
|
||||
minecraft_version = 1.18.2
|
||||
forge_version = 40.1.60
|
||||
|
||||
# build dependency versions
|
||||
forgegradle_version = 5.1.+
|
||||
forgegradle_version = 5.1.53
|
||||
mixingradle_version = 0.7-SNAPSHOT
|
||||
mixin_version = 0.8.5
|
||||
librarian_version = 1.+
|
||||
shadow_version = 7.1.0
|
||||
cursegradle_version = 1.4.0
|
||||
parchment_version = 2022.07.10
|
||||
|
||||
# dependency versions
|
||||
registrate_version = MC1.18.2-1.1.3
|
||||
flywheel_version = 1.18-0.6.4.86
|
||||
flywheel_minecraft_version = 1.18.2
|
||||
flywheel_version = 0.6.5-91
|
||||
jei_minecraft_version = 1.18.2
|
||||
jei_version = 9.5.3.143
|
||||
jei_version = 9.7.0.209
|
||||
curios_minecraft_version = 1.18.2
|
||||
curios_version = 5.0.7.0
|
||||
catnip_version = 0.5.5
|
||||
ponder_version = 0.5.6
|
||||
catnip_version = 0.5.6
|
||||
ponder_version = 0.5.7
|
||||
|
||||
# curseforge information
|
||||
projectId = 328085
|
||||
|
|
2
gradle/wrapper/gradle-wrapper.properties
vendored
2
gradle/wrapper/gradle-wrapper.properties
vendored
|
@ -1,5 +1,5 @@
|
|||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.1-bin.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,27 +1,53 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=down": {
|
||||
"facing=down,waterlogged=false": {
|
||||
"model": "create:block/black_valve_handle",
|
||||
"x": 180
|
||||
},
|
||||
"facing=up": {
|
||||
"facing=up,waterlogged=false": {
|
||||
"model": "create:block/black_valve_handle"
|
||||
},
|
||||
"facing=north": {
|
||||
"facing=north,waterlogged=false": {
|
||||
"model": "create:block/black_valve_handle",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south": {
|
||||
"facing=south,waterlogged=false": {
|
||||
"model": "create:block/black_valve_handle",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west": {
|
||||
"facing=west,waterlogged=false": {
|
||||
"model": "create:block/black_valve_handle",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east": {
|
||||
"facing=east,waterlogged=false": {
|
||||
"model": "create:block/black_valve_handle",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=down,waterlogged=true": {
|
||||
"model": "create:block/black_valve_handle",
|
||||
"x": 180
|
||||
},
|
||||
"facing=up,waterlogged=true": {
|
||||
"model": "create:block/black_valve_handle"
|
||||
},
|
||||
"facing=north,waterlogged=true": {
|
||||
"model": "create:block/black_valve_handle",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,waterlogged=true": {
|
||||
"model": "create:block/black_valve_handle",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,waterlogged=true": {
|
||||
"model": "create:block/black_valve_handle",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,waterlogged=true": {
|
||||
"model": "create:block/black_valve_handle",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
|
|
|
@ -1,27 +1,53 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=down": {
|
||||
"facing=down,waterlogged=false": {
|
||||
"model": "create:block/blue_valve_handle",
|
||||
"x": 180
|
||||
},
|
||||
"facing=up": {
|
||||
"facing=up,waterlogged=false": {
|
||||
"model": "create:block/blue_valve_handle"
|
||||
},
|
||||
"facing=north": {
|
||||
"facing=north,waterlogged=false": {
|
||||
"model": "create:block/blue_valve_handle",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south": {
|
||||
"facing=south,waterlogged=false": {
|
||||
"model": "create:block/blue_valve_handle",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west": {
|
||||
"facing=west,waterlogged=false": {
|
||||
"model": "create:block/blue_valve_handle",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east": {
|
||||
"facing=east,waterlogged=false": {
|
||||
"model": "create:block/blue_valve_handle",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=down,waterlogged=true": {
|
||||
"model": "create:block/blue_valve_handle",
|
||||
"x": 180
|
||||
},
|
||||
"facing=up,waterlogged=true": {
|
||||
"model": "create:block/blue_valve_handle"
|
||||
},
|
||||
"facing=north,waterlogged=true": {
|
||||
"model": "create:block/blue_valve_handle",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,waterlogged=true": {
|
||||
"model": "create:block/blue_valve_handle",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,waterlogged=true": {
|
||||
"model": "create:block/blue_valve_handle",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,waterlogged=true": {
|
||||
"model": "create:block/blue_valve_handle",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
|
|
|
@ -1,27 +1,53 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=down": {
|
||||
"facing=down,waterlogged=false": {
|
||||
"model": "create:block/brown_valve_handle",
|
||||
"x": 180
|
||||
},
|
||||
"facing=up": {
|
||||
"facing=up,waterlogged=false": {
|
||||
"model": "create:block/brown_valve_handle"
|
||||
},
|
||||
"facing=north": {
|
||||
"facing=north,waterlogged=false": {
|
||||
"model": "create:block/brown_valve_handle",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south": {
|
||||
"facing=south,waterlogged=false": {
|
||||
"model": "create:block/brown_valve_handle",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west": {
|
||||
"facing=west,waterlogged=false": {
|
||||
"model": "create:block/brown_valve_handle",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east": {
|
||||
"facing=east,waterlogged=false": {
|
||||
"model": "create:block/brown_valve_handle",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=down,waterlogged=true": {
|
||||
"model": "create:block/brown_valve_handle",
|
||||
"x": 180
|
||||
},
|
||||
"facing=up,waterlogged=true": {
|
||||
"model": "create:block/brown_valve_handle"
|
||||
},
|
||||
"facing=north,waterlogged=true": {
|
||||
"model": "create:block/brown_valve_handle",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,waterlogged=true": {
|
||||
"model": "create:block/brown_valve_handle",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,waterlogged=true": {
|
||||
"model": "create:block/brown_valve_handle",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,waterlogged=true": {
|
||||
"model": "create:block/brown_valve_handle",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
|
|
|
@ -1,27 +1,53 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=down": {
|
||||
"facing=down,waterlogged=false": {
|
||||
"model": "create:block/copper_valve_handle",
|
||||
"x": 180
|
||||
},
|
||||
"facing=up": {
|
||||
"facing=up,waterlogged=false": {
|
||||
"model": "create:block/copper_valve_handle"
|
||||
},
|
||||
"facing=north": {
|
||||
"facing=north,waterlogged=false": {
|
||||
"model": "create:block/copper_valve_handle",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south": {
|
||||
"facing=south,waterlogged=false": {
|
||||
"model": "create:block/copper_valve_handle",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west": {
|
||||
"facing=west,waterlogged=false": {
|
||||
"model": "create:block/copper_valve_handle",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east": {
|
||||
"facing=east,waterlogged=false": {
|
||||
"model": "create:block/copper_valve_handle",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=down,waterlogged=true": {
|
||||
"model": "create:block/copper_valve_handle",
|
||||
"x": 180
|
||||
},
|
||||
"facing=up,waterlogged=true": {
|
||||
"model": "create:block/copper_valve_handle"
|
||||
},
|
||||
"facing=north,waterlogged=true": {
|
||||
"model": "create:block/copper_valve_handle",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,waterlogged=true": {
|
||||
"model": "create:block/copper_valve_handle",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,waterlogged=true": {
|
||||
"model": "create:block/copper_valve_handle",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,waterlogged=true": {
|
||||
"model": "create:block/copper_valve_handle",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
|
|
|
@ -1,27 +1,53 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=down": {
|
||||
"facing=down,waterlogged=false": {
|
||||
"model": "create:block/cyan_valve_handle",
|
||||
"x": 180
|
||||
},
|
||||
"facing=up": {
|
||||
"facing=up,waterlogged=false": {
|
||||
"model": "create:block/cyan_valve_handle"
|
||||
},
|
||||
"facing=north": {
|
||||
"facing=north,waterlogged=false": {
|
||||
"model": "create:block/cyan_valve_handle",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south": {
|
||||
"facing=south,waterlogged=false": {
|
||||
"model": "create:block/cyan_valve_handle",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west": {
|
||||
"facing=west,waterlogged=false": {
|
||||
"model": "create:block/cyan_valve_handle",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east": {
|
||||
"facing=east,waterlogged=false": {
|
||||
"model": "create:block/cyan_valve_handle",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=down,waterlogged=true": {
|
||||
"model": "create:block/cyan_valve_handle",
|
||||
"x": 180
|
||||
},
|
||||
"facing=up,waterlogged=true": {
|
||||
"model": "create:block/cyan_valve_handle"
|
||||
},
|
||||
"facing=north,waterlogged=true": {
|
||||
"model": "create:block/cyan_valve_handle",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,waterlogged=true": {
|
||||
"model": "create:block/cyan_valve_handle",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,waterlogged=true": {
|
||||
"model": "create:block/cyan_valve_handle",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,waterlogged=true": {
|
||||
"model": "create:block/cyan_valve_handle",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
|
|
|
@ -1,53 +1,5 @@
|
|||
{
|
||||
"multipart": [
|
||||
{
|
||||
"when": {
|
||||
"down": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/fluid_pipe/connection/down"
|
||||
}
|
||||
},
|
||||
{
|
||||
"when": {
|
||||
"up": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/fluid_pipe/connection/up"
|
||||
}
|
||||
},
|
||||
{
|
||||
"when": {
|
||||
"north": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/fluid_pipe/connection/north"
|
||||
}
|
||||
},
|
||||
{
|
||||
"when": {
|
||||
"south": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/fluid_pipe/connection/south"
|
||||
}
|
||||
},
|
||||
{
|
||||
"when": {
|
||||
"west": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/fluid_pipe/connection/west"
|
||||
}
|
||||
},
|
||||
{
|
||||
"when": {
|
||||
"east": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/fluid_pipe/connection/east"
|
||||
}
|
||||
},
|
||||
{
|
||||
"when": {
|
||||
"up": "true",
|
||||
|
@ -158,17 +110,6 @@
|
|||
"model": "create:block/fluid_pipe/r_x"
|
||||
}
|
||||
},
|
||||
{
|
||||
"when": {
|
||||
"up": "false",
|
||||
"south": "false",
|
||||
"north": "false",
|
||||
"down": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/fluid_pipe/none_x"
|
||||
}
|
||||
},
|
||||
{
|
||||
"when": {
|
||||
"south": "true",
|
||||
|
@ -279,17 +220,6 @@
|
|||
"model": "create:block/fluid_pipe/r_y"
|
||||
}
|
||||
},
|
||||
{
|
||||
"when": {
|
||||
"south": "false",
|
||||
"east": "false",
|
||||
"west": "false",
|
||||
"north": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/fluid_pipe/none_y"
|
||||
}
|
||||
},
|
||||
{
|
||||
"when": {
|
||||
"up": "true",
|
||||
|
@ -399,17 +329,6 @@
|
|||
"apply": {
|
||||
"model": "create:block/fluid_pipe/r_z"
|
||||
}
|
||||
},
|
||||
{
|
||||
"when": {
|
||||
"up": "false",
|
||||
"east": "false",
|
||||
"west": "false",
|
||||
"down": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/fluid_pipe/none_z"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,98 +1,194 @@
|
|||
{
|
||||
"variants": {
|
||||
"axis_along_first=false,enabled=false,facing=down": {
|
||||
"axis_along_first=false,enabled=false,facing=down,waterlogged=false": {
|
||||
"model": "create:block/fluid_valve/block_horizontal_closed",
|
||||
"x": 270,
|
||||
"y": 90
|
||||
},
|
||||
"axis_along_first=true,enabled=false,facing=down": {
|
||||
"axis_along_first=true,enabled=false,facing=down,waterlogged=false": {
|
||||
"model": "create:block/fluid_valve/block_horizontal_closed",
|
||||
"x": 270
|
||||
},
|
||||
"axis_along_first=false,enabled=true,facing=down": {
|
||||
"axis_along_first=false,enabled=true,facing=down,waterlogged=false": {
|
||||
"model": "create:block/fluid_valve/block_horizontal_open",
|
||||
"x": 270,
|
||||
"y": 90
|
||||
},
|
||||
"axis_along_first=true,enabled=true,facing=down": {
|
||||
"axis_along_first=true,enabled=true,facing=down,waterlogged=false": {
|
||||
"model": "create:block/fluid_valve/block_horizontal_open",
|
||||
"x": 270
|
||||
},
|
||||
"axis_along_first=false,enabled=false,facing=up": {
|
||||
"axis_along_first=false,enabled=false,facing=up,waterlogged=false": {
|
||||
"model": "create:block/fluid_valve/block_horizontal_closed",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"axis_along_first=true,enabled=false,facing=up": {
|
||||
"axis_along_first=true,enabled=false,facing=up,waterlogged=false": {
|
||||
"model": "create:block/fluid_valve/block_horizontal_closed",
|
||||
"x": 90
|
||||
},
|
||||
"axis_along_first=false,enabled=true,facing=up": {
|
||||
"axis_along_first=false,enabled=true,facing=up,waterlogged=false": {
|
||||
"model": "create:block/fluid_valve/block_horizontal_open",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"axis_along_first=true,enabled=true,facing=up": {
|
||||
"axis_along_first=true,enabled=true,facing=up,waterlogged=false": {
|
||||
"model": "create:block/fluid_valve/block_horizontal_open",
|
||||
"x": 90
|
||||
},
|
||||
"axis_along_first=false,enabled=false,facing=north": {
|
||||
"axis_along_first=false,enabled=false,facing=north,waterlogged=false": {
|
||||
"model": "create:block/fluid_valve/block_vertical_closed",
|
||||
"y": 180
|
||||
},
|
||||
"axis_along_first=true,enabled=false,facing=north": {
|
||||
"axis_along_first=true,enabled=false,facing=north,waterlogged=false": {
|
||||
"model": "create:block/fluid_valve/block_horizontal_closed",
|
||||
"y": 180
|
||||
},
|
||||
"axis_along_first=false,enabled=true,facing=north": {
|
||||
"axis_along_first=false,enabled=true,facing=north,waterlogged=false": {
|
||||
"model": "create:block/fluid_valve/block_vertical_open",
|
||||
"y": 180
|
||||
},
|
||||
"axis_along_first=true,enabled=true,facing=north": {
|
||||
"axis_along_first=true,enabled=true,facing=north,waterlogged=false": {
|
||||
"model": "create:block/fluid_valve/block_horizontal_open",
|
||||
"y": 180
|
||||
},
|
||||
"axis_along_first=false,enabled=false,facing=south": {
|
||||
"axis_along_first=false,enabled=false,facing=south,waterlogged=false": {
|
||||
"model": "create:block/fluid_valve/block_vertical_closed"
|
||||
},
|
||||
"axis_along_first=true,enabled=false,facing=south": {
|
||||
"axis_along_first=true,enabled=false,facing=south,waterlogged=false": {
|
||||
"model": "create:block/fluid_valve/block_horizontal_closed"
|
||||
},
|
||||
"axis_along_first=false,enabled=true,facing=south": {
|
||||
"axis_along_first=false,enabled=true,facing=south,waterlogged=false": {
|
||||
"model": "create:block/fluid_valve/block_vertical_open"
|
||||
},
|
||||
"axis_along_first=true,enabled=true,facing=south": {
|
||||
"axis_along_first=true,enabled=true,facing=south,waterlogged=false": {
|
||||
"model": "create:block/fluid_valve/block_horizontal_open"
|
||||
},
|
||||
"axis_along_first=false,enabled=false,facing=west": {
|
||||
"axis_along_first=false,enabled=false,facing=west,waterlogged=false": {
|
||||
"model": "create:block/fluid_valve/block_horizontal_closed",
|
||||
"y": 90
|
||||
},
|
||||
"axis_along_first=true,enabled=false,facing=west": {
|
||||
"axis_along_first=true,enabled=false,facing=west,waterlogged=false": {
|
||||
"model": "create:block/fluid_valve/block_vertical_closed",
|
||||
"y": 90
|
||||
},
|
||||
"axis_along_first=false,enabled=true,facing=west": {
|
||||
"axis_along_first=false,enabled=true,facing=west,waterlogged=false": {
|
||||
"model": "create:block/fluid_valve/block_horizontal_open",
|
||||
"y": 90
|
||||
},
|
||||
"axis_along_first=true,enabled=true,facing=west": {
|
||||
"axis_along_first=true,enabled=true,facing=west,waterlogged=false": {
|
||||
"model": "create:block/fluid_valve/block_vertical_open",
|
||||
"y": 90
|
||||
},
|
||||
"axis_along_first=false,enabled=false,facing=east": {
|
||||
"axis_along_first=false,enabled=false,facing=east,waterlogged=false": {
|
||||
"model": "create:block/fluid_valve/block_horizontal_closed",
|
||||
"y": 270
|
||||
},
|
||||
"axis_along_first=true,enabled=false,facing=east": {
|
||||
"axis_along_first=true,enabled=false,facing=east,waterlogged=false": {
|
||||
"model": "create:block/fluid_valve/block_vertical_closed",
|
||||
"y": 270
|
||||
},
|
||||
"axis_along_first=false,enabled=true,facing=east": {
|
||||
"axis_along_first=false,enabled=true,facing=east,waterlogged=false": {
|
||||
"model": "create:block/fluid_valve/block_horizontal_open",
|
||||
"y": 270
|
||||
},
|
||||
"axis_along_first=true,enabled=true,facing=east": {
|
||||
"axis_along_first=true,enabled=true,facing=east,waterlogged=false": {
|
||||
"model": "create:block/fluid_valve/block_vertical_open",
|
||||
"y": 270
|
||||
},
|
||||
"axis_along_first=false,enabled=false,facing=down,waterlogged=true": {
|
||||
"model": "create:block/fluid_valve/block_horizontal_closed",
|
||||
"x": 270,
|
||||
"y": 90
|
||||
},
|
||||
"axis_along_first=true,enabled=false,facing=down,waterlogged=true": {
|
||||
"model": "create:block/fluid_valve/block_horizontal_closed",
|
||||
"x": 270
|
||||
},
|
||||
"axis_along_first=false,enabled=true,facing=down,waterlogged=true": {
|
||||
"model": "create:block/fluid_valve/block_horizontal_open",
|
||||
"x": 270,
|
||||
"y": 90
|
||||
},
|
||||
"axis_along_first=true,enabled=true,facing=down,waterlogged=true": {
|
||||
"model": "create:block/fluid_valve/block_horizontal_open",
|
||||
"x": 270
|
||||
},
|
||||
"axis_along_first=false,enabled=false,facing=up,waterlogged=true": {
|
||||
"model": "create:block/fluid_valve/block_horizontal_closed",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"axis_along_first=true,enabled=false,facing=up,waterlogged=true": {
|
||||
"model": "create:block/fluid_valve/block_horizontal_closed",
|
||||
"x": 90
|
||||
},
|
||||
"axis_along_first=false,enabled=true,facing=up,waterlogged=true": {
|
||||
"model": "create:block/fluid_valve/block_horizontal_open",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"axis_along_first=true,enabled=true,facing=up,waterlogged=true": {
|
||||
"model": "create:block/fluid_valve/block_horizontal_open",
|
||||
"x": 90
|
||||
},
|
||||
"axis_along_first=false,enabled=false,facing=north,waterlogged=true": {
|
||||
"model": "create:block/fluid_valve/block_vertical_closed",
|
||||
"y": 180
|
||||
},
|
||||
"axis_along_first=true,enabled=false,facing=north,waterlogged=true": {
|
||||
"model": "create:block/fluid_valve/block_horizontal_closed",
|
||||
"y": 180
|
||||
},
|
||||
"axis_along_first=false,enabled=true,facing=north,waterlogged=true": {
|
||||
"model": "create:block/fluid_valve/block_vertical_open",
|
||||
"y": 180
|
||||
},
|
||||
"axis_along_first=true,enabled=true,facing=north,waterlogged=true": {
|
||||
"model": "create:block/fluid_valve/block_horizontal_open",
|
||||
"y": 180
|
||||
},
|
||||
"axis_along_first=false,enabled=false,facing=south,waterlogged=true": {
|
||||
"model": "create:block/fluid_valve/block_vertical_closed"
|
||||
},
|
||||
"axis_along_first=true,enabled=false,facing=south,waterlogged=true": {
|
||||
"model": "create:block/fluid_valve/block_horizontal_closed"
|
||||
},
|
||||
"axis_along_first=false,enabled=true,facing=south,waterlogged=true": {
|
||||
"model": "create:block/fluid_valve/block_vertical_open"
|
||||
},
|
||||
"axis_along_first=true,enabled=true,facing=south,waterlogged=true": {
|
||||
"model": "create:block/fluid_valve/block_horizontal_open"
|
||||
},
|
||||
"axis_along_first=false,enabled=false,facing=west,waterlogged=true": {
|
||||
"model": "create:block/fluid_valve/block_horizontal_closed",
|
||||
"y": 90
|
||||
},
|
||||
"axis_along_first=true,enabled=false,facing=west,waterlogged=true": {
|
||||
"model": "create:block/fluid_valve/block_vertical_closed",
|
||||
"y": 90
|
||||
},
|
||||
"axis_along_first=false,enabled=true,facing=west,waterlogged=true": {
|
||||
"model": "create:block/fluid_valve/block_horizontal_open",
|
||||
"y": 90
|
||||
},
|
||||
"axis_along_first=true,enabled=true,facing=west,waterlogged=true": {
|
||||
"model": "create:block/fluid_valve/block_vertical_open",
|
||||
"y": 90
|
||||
},
|
||||
"axis_along_first=false,enabled=false,facing=east,waterlogged=true": {
|
||||
"model": "create:block/fluid_valve/block_horizontal_closed",
|
||||
"y": 270
|
||||
},
|
||||
"axis_along_first=true,enabled=false,facing=east,waterlogged=true": {
|
||||
"model": "create:block/fluid_valve/block_vertical_closed",
|
||||
"y": 270
|
||||
},
|
||||
"axis_along_first=false,enabled=true,facing=east,waterlogged=true": {
|
||||
"model": "create:block/fluid_valve/block_horizontal_open",
|
||||
"y": 270
|
||||
},
|
||||
"axis_along_first=true,enabled=true,facing=east,waterlogged=true": {
|
||||
"model": "create:block/fluid_valve/block_vertical_open",
|
||||
"y": 270
|
||||
}
|
||||
|
|
|
@ -1,27 +1,53 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=down": {
|
||||
"facing=down,waterlogged=false": {
|
||||
"model": "create:block/gray_valve_handle",
|
||||
"x": 180
|
||||
},
|
||||
"facing=up": {
|
||||
"facing=up,waterlogged=false": {
|
||||
"model": "create:block/gray_valve_handle"
|
||||
},
|
||||
"facing=north": {
|
||||
"facing=north,waterlogged=false": {
|
||||
"model": "create:block/gray_valve_handle",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south": {
|
||||
"facing=south,waterlogged=false": {
|
||||
"model": "create:block/gray_valve_handle",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west": {
|
||||
"facing=west,waterlogged=false": {
|
||||
"model": "create:block/gray_valve_handle",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east": {
|
||||
"facing=east,waterlogged=false": {
|
||||
"model": "create:block/gray_valve_handle",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=down,waterlogged=true": {
|
||||
"model": "create:block/gray_valve_handle",
|
||||
"x": 180
|
||||
},
|
||||
"facing=up,waterlogged=true": {
|
||||
"model": "create:block/gray_valve_handle"
|
||||
},
|
||||
"facing=north,waterlogged=true": {
|
||||
"model": "create:block/gray_valve_handle",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,waterlogged=true": {
|
||||
"model": "create:block/gray_valve_handle",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,waterlogged=true": {
|
||||
"model": "create:block/gray_valve_handle",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,waterlogged=true": {
|
||||
"model": "create:block/gray_valve_handle",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
|
|
|
@ -1,27 +1,53 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=down": {
|
||||
"facing=down,waterlogged=false": {
|
||||
"model": "create:block/green_valve_handle",
|
||||
"x": 180
|
||||
},
|
||||
"facing=up": {
|
||||
"facing=up,waterlogged=false": {
|
||||
"model": "create:block/green_valve_handle"
|
||||
},
|
||||
"facing=north": {
|
||||
"facing=north,waterlogged=false": {
|
||||
"model": "create:block/green_valve_handle",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south": {
|
||||
"facing=south,waterlogged=false": {
|
||||
"model": "create:block/green_valve_handle",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west": {
|
||||
"facing=west,waterlogged=false": {
|
||||
"model": "create:block/green_valve_handle",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east": {
|
||||
"facing=east,waterlogged=false": {
|
||||
"model": "create:block/green_valve_handle",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=down,waterlogged=true": {
|
||||
"model": "create:block/green_valve_handle",
|
||||
"x": 180
|
||||
},
|
||||
"facing=up,waterlogged=true": {
|
||||
"model": "create:block/green_valve_handle"
|
||||
},
|
||||
"facing=north,waterlogged=true": {
|
||||
"model": "create:block/green_valve_handle",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,waterlogged=true": {
|
||||
"model": "create:block/green_valve_handle",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,waterlogged=true": {
|
||||
"model": "create:block/green_valve_handle",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,waterlogged=true": {
|
||||
"model": "create:block/green_valve_handle",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
|
|
|
@ -1,27 +1,53 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=down": {
|
||||
"facing=down,waterlogged=false": {
|
||||
"model": "create:block/hand_crank/block",
|
||||
"x": 180
|
||||
},
|
||||
"facing=up": {
|
||||
"facing=up,waterlogged=false": {
|
||||
"model": "create:block/hand_crank/block"
|
||||
},
|
||||
"facing=north": {
|
||||
"facing=north,waterlogged=false": {
|
||||
"model": "create:block/hand_crank/block",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south": {
|
||||
"facing=south,waterlogged=false": {
|
||||
"model": "create:block/hand_crank/block",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west": {
|
||||
"facing=west,waterlogged=false": {
|
||||
"model": "create:block/hand_crank/block",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east": {
|
||||
"facing=east,waterlogged=false": {
|
||||
"model": "create:block/hand_crank/block",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=down,waterlogged=true": {
|
||||
"model": "create:block/hand_crank/block",
|
||||
"x": 180
|
||||
},
|
||||
"facing=up,waterlogged=true": {
|
||||
"model": "create:block/hand_crank/block"
|
||||
},
|
||||
"facing=north,waterlogged=true": {
|
||||
"model": "create:block/hand_crank/block",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,waterlogged=true": {
|
||||
"model": "create:block/hand_crank/block",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,waterlogged=true": {
|
||||
"model": "create:block/hand_crank/block",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,waterlogged=true": {
|
||||
"model": "create:block/hand_crank/block",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
|
|
|
@ -1,27 +1,53 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=down": {
|
||||
"facing=down,waterlogged=false": {
|
||||
"model": "create:block/light_blue_valve_handle",
|
||||
"x": 180
|
||||
},
|
||||
"facing=up": {
|
||||
"facing=up,waterlogged=false": {
|
||||
"model": "create:block/light_blue_valve_handle"
|
||||
},
|
||||
"facing=north": {
|
||||
"facing=north,waterlogged=false": {
|
||||
"model": "create:block/light_blue_valve_handle",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south": {
|
||||
"facing=south,waterlogged=false": {
|
||||
"model": "create:block/light_blue_valve_handle",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west": {
|
||||
"facing=west,waterlogged=false": {
|
||||
"model": "create:block/light_blue_valve_handle",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east": {
|
||||
"facing=east,waterlogged=false": {
|
||||
"model": "create:block/light_blue_valve_handle",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=down,waterlogged=true": {
|
||||
"model": "create:block/light_blue_valve_handle",
|
||||
"x": 180
|
||||
},
|
||||
"facing=up,waterlogged=true": {
|
||||
"model": "create:block/light_blue_valve_handle"
|
||||
},
|
||||
"facing=north,waterlogged=true": {
|
||||
"model": "create:block/light_blue_valve_handle",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,waterlogged=true": {
|
||||
"model": "create:block/light_blue_valve_handle",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,waterlogged=true": {
|
||||
"model": "create:block/light_blue_valve_handle",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,waterlogged=true": {
|
||||
"model": "create:block/light_blue_valve_handle",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
|
|
|
@ -1,27 +1,53 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=down": {
|
||||
"facing=down,waterlogged=false": {
|
||||
"model": "create:block/light_gray_valve_handle",
|
||||
"x": 180
|
||||
},
|
||||
"facing=up": {
|
||||
"facing=up,waterlogged=false": {
|
||||
"model": "create:block/light_gray_valve_handle"
|
||||
},
|
||||
"facing=north": {
|
||||
"facing=north,waterlogged=false": {
|
||||
"model": "create:block/light_gray_valve_handle",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south": {
|
||||
"facing=south,waterlogged=false": {
|
||||
"model": "create:block/light_gray_valve_handle",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west": {
|
||||
"facing=west,waterlogged=false": {
|
||||
"model": "create:block/light_gray_valve_handle",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east": {
|
||||
"facing=east,waterlogged=false": {
|
||||
"model": "create:block/light_gray_valve_handle",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=down,waterlogged=true": {
|
||||
"model": "create:block/light_gray_valve_handle",
|
||||
"x": 180
|
||||
},
|
||||
"facing=up,waterlogged=true": {
|
||||
"model": "create:block/light_gray_valve_handle"
|
||||
},
|
||||
"facing=north,waterlogged=true": {
|
||||
"model": "create:block/light_gray_valve_handle",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,waterlogged=true": {
|
||||
"model": "create:block/light_gray_valve_handle",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,waterlogged=true": {
|
||||
"model": "create:block/light_gray_valve_handle",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,waterlogged=true": {
|
||||
"model": "create:block/light_gray_valve_handle",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
|
|
|
@ -1,27 +1,53 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=down": {
|
||||
"facing=down,waterlogged=false": {
|
||||
"model": "create:block/lime_valve_handle",
|
||||
"x": 180
|
||||
},
|
||||
"facing=up": {
|
||||
"facing=up,waterlogged=false": {
|
||||
"model": "create:block/lime_valve_handle"
|
||||
},
|
||||
"facing=north": {
|
||||
"facing=north,waterlogged=false": {
|
||||
"model": "create:block/lime_valve_handle",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south": {
|
||||
"facing=south,waterlogged=false": {
|
||||
"model": "create:block/lime_valve_handle",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west": {
|
||||
"facing=west,waterlogged=false": {
|
||||
"model": "create:block/lime_valve_handle",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east": {
|
||||
"facing=east,waterlogged=false": {
|
||||
"model": "create:block/lime_valve_handle",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=down,waterlogged=true": {
|
||||
"model": "create:block/lime_valve_handle",
|
||||
"x": 180
|
||||
},
|
||||
"facing=up,waterlogged=true": {
|
||||
"model": "create:block/lime_valve_handle"
|
||||
},
|
||||
"facing=north,waterlogged=true": {
|
||||
"model": "create:block/lime_valve_handle",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,waterlogged=true": {
|
||||
"model": "create:block/lime_valve_handle",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,waterlogged=true": {
|
||||
"model": "create:block/lime_valve_handle",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,waterlogged=true": {
|
||||
"model": "create:block/lime_valve_handle",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
|
|
|
@ -1,27 +1,53 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=down": {
|
||||
"facing=down,waterlogged=false": {
|
||||
"model": "create:block/magenta_valve_handle",
|
||||
"x": 180
|
||||
},
|
||||
"facing=up": {
|
||||
"facing=up,waterlogged=false": {
|
||||
"model": "create:block/magenta_valve_handle"
|
||||
},
|
||||
"facing=north": {
|
||||
"facing=north,waterlogged=false": {
|
||||
"model": "create:block/magenta_valve_handle",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south": {
|
||||
"facing=south,waterlogged=false": {
|
||||
"model": "create:block/magenta_valve_handle",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west": {
|
||||
"facing=west,waterlogged=false": {
|
||||
"model": "create:block/magenta_valve_handle",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east": {
|
||||
"facing=east,waterlogged=false": {
|
||||
"model": "create:block/magenta_valve_handle",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=down,waterlogged=true": {
|
||||
"model": "create:block/magenta_valve_handle",
|
||||
"x": 180
|
||||
},
|
||||
"facing=up,waterlogged=true": {
|
||||
"model": "create:block/magenta_valve_handle"
|
||||
},
|
||||
"facing=north,waterlogged=true": {
|
||||
"model": "create:block/magenta_valve_handle",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,waterlogged=true": {
|
||||
"model": "create:block/magenta_valve_handle",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,waterlogged=true": {
|
||||
"model": "create:block/magenta_valve_handle",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,waterlogged=true": {
|
||||
"model": "create:block/magenta_valve_handle",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
|
|
|
@ -1,27 +1,53 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=down": {
|
||||
"facing=down,waterlogged=false": {
|
||||
"model": "create:block/mechanical_drill/block",
|
||||
"x": 180
|
||||
},
|
||||
"facing=up": {
|
||||
"facing=up,waterlogged=false": {
|
||||
"model": "create:block/mechanical_drill/block"
|
||||
},
|
||||
"facing=north": {
|
||||
"facing=north,waterlogged=false": {
|
||||
"model": "create:block/mechanical_drill/block",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south": {
|
||||
"facing=south,waterlogged=false": {
|
||||
"model": "create:block/mechanical_drill/block",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west": {
|
||||
"facing=west,waterlogged=false": {
|
||||
"model": "create:block/mechanical_drill/block",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east": {
|
||||
"facing=east,waterlogged=false": {
|
||||
"model": "create:block/mechanical_drill/block",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=down,waterlogged=true": {
|
||||
"model": "create:block/mechanical_drill/block",
|
||||
"x": 180
|
||||
},
|
||||
"facing=up,waterlogged=true": {
|
||||
"model": "create:block/mechanical_drill/block"
|
||||
},
|
||||
"facing=north,waterlogged=true": {
|
||||
"model": "create:block/mechanical_drill/block",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,waterlogged=true": {
|
||||
"model": "create:block/mechanical_drill/block",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,waterlogged=true": {
|
||||
"model": "create:block/mechanical_drill/block",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,waterlogged=true": {
|
||||
"model": "create:block/mechanical_drill/block",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
|
|
|
@ -1,27 +1,53 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=down": {
|
||||
"facing=down,waterlogged=false": {
|
||||
"model": "create:block/orange_valve_handle",
|
||||
"x": 180
|
||||
},
|
||||
"facing=up": {
|
||||
"facing=up,waterlogged=false": {
|
||||
"model": "create:block/orange_valve_handle"
|
||||
},
|
||||
"facing=north": {
|
||||
"facing=north,waterlogged=false": {
|
||||
"model": "create:block/orange_valve_handle",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south": {
|
||||
"facing=south,waterlogged=false": {
|
||||
"model": "create:block/orange_valve_handle",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west": {
|
||||
"facing=west,waterlogged=false": {
|
||||
"model": "create:block/orange_valve_handle",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east": {
|
||||
"facing=east,waterlogged=false": {
|
||||
"model": "create:block/orange_valve_handle",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=down,waterlogged=true": {
|
||||
"model": "create:block/orange_valve_handle",
|
||||
"x": 180
|
||||
},
|
||||
"facing=up,waterlogged=true": {
|
||||
"model": "create:block/orange_valve_handle"
|
||||
},
|
||||
"facing=north,waterlogged=true": {
|
||||
"model": "create:block/orange_valve_handle",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,waterlogged=true": {
|
||||
"model": "create:block/orange_valve_handle",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,waterlogged=true": {
|
||||
"model": "create:block/orange_valve_handle",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,waterlogged=true": {
|
||||
"model": "create:block/orange_valve_handle",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
|
|
|
@ -1,27 +1,53 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=down": {
|
||||
"facing=down,waterlogged=false": {
|
||||
"model": "create:block/pink_valve_handle",
|
||||
"x": 180
|
||||
},
|
||||
"facing=up": {
|
||||
"facing=up,waterlogged=false": {
|
||||
"model": "create:block/pink_valve_handle"
|
||||
},
|
||||
"facing=north": {
|
||||
"facing=north,waterlogged=false": {
|
||||
"model": "create:block/pink_valve_handle",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south": {
|
||||
"facing=south,waterlogged=false": {
|
||||
"model": "create:block/pink_valve_handle",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west": {
|
||||
"facing=west,waterlogged=false": {
|
||||
"model": "create:block/pink_valve_handle",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east": {
|
||||
"facing=east,waterlogged=false": {
|
||||
"model": "create:block/pink_valve_handle",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=down,waterlogged=true": {
|
||||
"model": "create:block/pink_valve_handle",
|
||||
"x": 180
|
||||
},
|
||||
"facing=up,waterlogged=true": {
|
||||
"model": "create:block/pink_valve_handle"
|
||||
},
|
||||
"facing=north,waterlogged=true": {
|
||||
"model": "create:block/pink_valve_handle",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,waterlogged=true": {
|
||||
"model": "create:block/pink_valve_handle",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,waterlogged=true": {
|
||||
"model": "create:block/pink_valve_handle",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,waterlogged=true": {
|
||||
"model": "create:block/pink_valve_handle",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
|
|
|
@ -1,27 +1,53 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=down": {
|
||||
"facing=down,waterlogged=false": {
|
||||
"model": "create:block/purple_valve_handle",
|
||||
"x": 180
|
||||
},
|
||||
"facing=up": {
|
||||
"facing=up,waterlogged=false": {
|
||||
"model": "create:block/purple_valve_handle"
|
||||
},
|
||||
"facing=north": {
|
||||
"facing=north,waterlogged=false": {
|
||||
"model": "create:block/purple_valve_handle",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south": {
|
||||
"facing=south,waterlogged=false": {
|
||||
"model": "create:block/purple_valve_handle",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west": {
|
||||
"facing=west,waterlogged=false": {
|
||||
"model": "create:block/purple_valve_handle",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east": {
|
||||
"facing=east,waterlogged=false": {
|
||||
"model": "create:block/purple_valve_handle",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=down,waterlogged=true": {
|
||||
"model": "create:block/purple_valve_handle",
|
||||
"x": 180
|
||||
},
|
||||
"facing=up,waterlogged=true": {
|
||||
"model": "create:block/purple_valve_handle"
|
||||
},
|
||||
"facing=north,waterlogged=true": {
|
||||
"model": "create:block/purple_valve_handle",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,waterlogged=true": {
|
||||
"model": "create:block/purple_valve_handle",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,waterlogged=true": {
|
||||
"model": "create:block/purple_valve_handle",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,waterlogged=true": {
|
||||
"model": "create:block/purple_valve_handle",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
|
|
|
@ -1,27 +1,53 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=down": {
|
||||
"facing=down,waterlogged=false": {
|
||||
"model": "create:block/red_valve_handle",
|
||||
"x": 180
|
||||
},
|
||||
"facing=up": {
|
||||
"facing=up,waterlogged=false": {
|
||||
"model": "create:block/red_valve_handle"
|
||||
},
|
||||
"facing=north": {
|
||||
"facing=north,waterlogged=false": {
|
||||
"model": "create:block/red_valve_handle",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south": {
|
||||
"facing=south,waterlogged=false": {
|
||||
"model": "create:block/red_valve_handle",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west": {
|
||||
"facing=west,waterlogged=false": {
|
||||
"model": "create:block/red_valve_handle",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east": {
|
||||
"facing=east,waterlogged=false": {
|
||||
"model": "create:block/red_valve_handle",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=down,waterlogged=true": {
|
||||
"model": "create:block/red_valve_handle",
|
||||
"x": 180
|
||||
},
|
||||
"facing=up,waterlogged=true": {
|
||||
"model": "create:block/red_valve_handle"
|
||||
},
|
||||
"facing=north,waterlogged=true": {
|
||||
"model": "create:block/red_valve_handle",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,waterlogged=true": {
|
||||
"model": "create:block/red_valve_handle",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,waterlogged=true": {
|
||||
"model": "create:block/red_valve_handle",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,waterlogged=true": {
|
||||
"model": "create:block/red_valve_handle",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
|
|
|
@ -1,54 +1,107 @@
|
|||
{
|
||||
"variants": {
|
||||
"face=floor,facing=north": {
|
||||
"face=floor,facing=north,waterlogged=false": {
|
||||
"model": "create:block/smart_fluid_pipe/block",
|
||||
"y": 180
|
||||
},
|
||||
"face=wall,facing=north": {
|
||||
"face=wall,facing=north,waterlogged=false": {
|
||||
"model": "create:block/smart_fluid_pipe/block",
|
||||
"x": 270,
|
||||
"y": 180
|
||||
},
|
||||
"face=ceiling,facing=north": {
|
||||
"face=ceiling,facing=north,waterlogged=false": {
|
||||
"model": "create:block/smart_fluid_pipe/block",
|
||||
"x": 180
|
||||
},
|
||||
"face=floor,facing=south": {
|
||||
"face=floor,facing=south,waterlogged=false": {
|
||||
"model": "create:block/smart_fluid_pipe/block"
|
||||
},
|
||||
"face=wall,facing=south": {
|
||||
"face=wall,facing=south,waterlogged=false": {
|
||||
"model": "create:block/smart_fluid_pipe/block",
|
||||
"x": 270
|
||||
},
|
||||
"face=ceiling,facing=south": {
|
||||
"face=ceiling,facing=south,waterlogged=false": {
|
||||
"model": "create:block/smart_fluid_pipe/block",
|
||||
"x": 180,
|
||||
"y": 180
|
||||
},
|
||||
"face=floor,facing=west": {
|
||||
"face=floor,facing=west,waterlogged=false": {
|
||||
"model": "create:block/smart_fluid_pipe/block",
|
||||
"y": 90
|
||||
},
|
||||
"face=wall,facing=west": {
|
||||
"face=wall,facing=west,waterlogged=false": {
|
||||
"model": "create:block/smart_fluid_pipe/block",
|
||||
"x": 270,
|
||||
"y": 90
|
||||
},
|
||||
"face=ceiling,facing=west": {
|
||||
"face=ceiling,facing=west,waterlogged=false": {
|
||||
"model": "create:block/smart_fluid_pipe/block",
|
||||
"x": 180,
|
||||
"y": 270
|
||||
},
|
||||
"face=floor,facing=east": {
|
||||
"face=floor,facing=east,waterlogged=false": {
|
||||
"model": "create:block/smart_fluid_pipe/block",
|
||||
"y": 270
|
||||
},
|
||||
"face=wall,facing=east": {
|
||||
"face=wall,facing=east,waterlogged=false": {
|
||||
"model": "create:block/smart_fluid_pipe/block",
|
||||
"x": 270,
|
||||
"y": 270
|
||||
},
|
||||
"face=ceiling,facing=east": {
|
||||
"face=ceiling,facing=east,waterlogged=false": {
|
||||
"model": "create:block/smart_fluid_pipe/block",
|
||||
"x": 180,
|
||||
"y": 90
|
||||
},
|
||||
"face=floor,facing=north,waterlogged=true": {
|
||||
"model": "create:block/smart_fluid_pipe/block",
|
||||
"y": 180
|
||||
},
|
||||
"face=wall,facing=north,waterlogged=true": {
|
||||
"model": "create:block/smart_fluid_pipe/block",
|
||||
"x": 270,
|
||||
"y": 180
|
||||
},
|
||||
"face=ceiling,facing=north,waterlogged=true": {
|
||||
"model": "create:block/smart_fluid_pipe/block",
|
||||
"x": 180
|
||||
},
|
||||
"face=floor,facing=south,waterlogged=true": {
|
||||
"model": "create:block/smart_fluid_pipe/block"
|
||||
},
|
||||
"face=wall,facing=south,waterlogged=true": {
|
||||
"model": "create:block/smart_fluid_pipe/block",
|
||||
"x": 270
|
||||
},
|
||||
"face=ceiling,facing=south,waterlogged=true": {
|
||||
"model": "create:block/smart_fluid_pipe/block",
|
||||
"x": 180,
|
||||
"y": 180
|
||||
},
|
||||
"face=floor,facing=west,waterlogged=true": {
|
||||
"model": "create:block/smart_fluid_pipe/block",
|
||||
"y": 90
|
||||
},
|
||||
"face=wall,facing=west,waterlogged=true": {
|
||||
"model": "create:block/smart_fluid_pipe/block",
|
||||
"x": 270,
|
||||
"y": 90
|
||||
},
|
||||
"face=ceiling,facing=west,waterlogged=true": {
|
||||
"model": "create:block/smart_fluid_pipe/block",
|
||||
"x": 180,
|
||||
"y": 270
|
||||
},
|
||||
"face=floor,facing=east,waterlogged=true": {
|
||||
"model": "create:block/smart_fluid_pipe/block",
|
||||
"y": 270
|
||||
},
|
||||
"face=wall,facing=east,waterlogged=true": {
|
||||
"model": "create:block/smart_fluid_pipe/block",
|
||||
"x": 270,
|
||||
"y": 270
|
||||
},
|
||||
"face=ceiling,facing=east,waterlogged=true": {
|
||||
"model": "create:block/smart_fluid_pipe/block",
|
||||
"x": 180,
|
||||
"y": 90
|
||||
|
|
|
@ -1,27 +1,53 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=down": {
|
||||
"facing=down,waterlogged=false": {
|
||||
"model": "create:block/white_valve_handle",
|
||||
"x": 180
|
||||
},
|
||||
"facing=up": {
|
||||
"facing=up,waterlogged=false": {
|
||||
"model": "create:block/white_valve_handle"
|
||||
},
|
||||
"facing=north": {
|
||||
"facing=north,waterlogged=false": {
|
||||
"model": "create:block/white_valve_handle",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south": {
|
||||
"facing=south,waterlogged=false": {
|
||||
"model": "create:block/white_valve_handle",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west": {
|
||||
"facing=west,waterlogged=false": {
|
||||
"model": "create:block/white_valve_handle",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east": {
|
||||
"facing=east,waterlogged=false": {
|
||||
"model": "create:block/white_valve_handle",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=down,waterlogged=true": {
|
||||
"model": "create:block/white_valve_handle",
|
||||
"x": 180
|
||||
},
|
||||
"facing=up,waterlogged=true": {
|
||||
"model": "create:block/white_valve_handle"
|
||||
},
|
||||
"facing=north,waterlogged=true": {
|
||||
"model": "create:block/white_valve_handle",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,waterlogged=true": {
|
||||
"model": "create:block/white_valve_handle",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,waterlogged=true": {
|
||||
"model": "create:block/white_valve_handle",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,waterlogged=true": {
|
||||
"model": "create:block/white_valve_handle",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
|
|
|
@ -1,27 +1,53 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=down": {
|
||||
"facing=down,waterlogged=false": {
|
||||
"model": "create:block/yellow_valve_handle",
|
||||
"x": 180
|
||||
},
|
||||
"facing=up": {
|
||||
"facing=up,waterlogged=false": {
|
||||
"model": "create:block/yellow_valve_handle"
|
||||
},
|
||||
"facing=north": {
|
||||
"facing=north,waterlogged=false": {
|
||||
"model": "create:block/yellow_valve_handle",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south": {
|
||||
"facing=south,waterlogged=false": {
|
||||
"model": "create:block/yellow_valve_handle",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west": {
|
||||
"facing=west,waterlogged=false": {
|
||||
"model": "create:block/yellow_valve_handle",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east": {
|
||||
"facing=east,waterlogged=false": {
|
||||
"model": "create:block/yellow_valve_handle",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=down,waterlogged=true": {
|
||||
"model": "create:block/yellow_valve_handle",
|
||||
"x": 180
|
||||
},
|
||||
"facing=up,waterlogged=true": {
|
||||
"model": "create:block/yellow_valve_handle"
|
||||
},
|
||||
"facing=north,waterlogged=true": {
|
||||
"model": "create:block/yellow_valve_handle",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,waterlogged=true": {
|
||||
"model": "create:block/yellow_valve_handle",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,waterlogged=true": {
|
||||
"model": "create:block/yellow_valve_handle",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,waterlogged=true": {
|
||||
"model": "create:block/yellow_valve_handle",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
|
|
|
@ -666,28 +666,28 @@
|
|||
"_": "->------------------------] Advancements [------------------------<-",
|
||||
|
||||
"advancement.create.root": "Welcome to Create",
|
||||
"advancement.create.root.desc": "Here be Contraptions",
|
||||
"advancement.create.root.desc": "Here Be Contraptions",
|
||||
"advancement.create.andesite_alloy": "Sturdier Rocks",
|
||||
"advancement.create.andesite_alloy.desc": "Obtain some Andesite Alloy, Create's most important resource",
|
||||
"advancement.create.andesite_casing": "The Andesite Age",
|
||||
"advancement.create.andesite_casing.desc": "Apply Andesite Alloy to wood creating a basic casing for your machines",
|
||||
"advancement.create.mechanical_press": "Bonk",
|
||||
"advancement.create.andesite_casing.desc": "Apply Andesite Alloy to stripped wood, creating a basic casing for your machines",
|
||||
"advancement.create.mechanical_press": "Bonk!",
|
||||
"advancement.create.mechanical_press.desc": "Create some sheets in a Mechanical Press",
|
||||
"advancement.create.encased_fan": "Wind maker",
|
||||
"advancement.create.encased_fan.desc": "Place and activate an Encased Fan",
|
||||
"advancement.create.encased_fan": "Wind Maker",
|
||||
"advancement.create.encased_fan.desc": "Place and power an Encased Fan",
|
||||
"advancement.create.fan_processing": "Processing by Particle",
|
||||
"advancement.create.fan_processing.desc": "Use an Encased Fan to process materials",
|
||||
"advancement.create.saw_processing": "Workshop's most feared",
|
||||
"advancement.create.saw_processing": "Workshop's Most Feared",
|
||||
"advancement.create.saw_processing.desc": "Use an upright Mechanical Saw to process materials",
|
||||
"advancement.create.compacting": "Compactification",
|
||||
"advancement.create.compacting.desc": "Use a Press and a Basin to create less items from more items",
|
||||
"advancement.create.compacting.desc": "Use a Mechanical Press and a Basin to create fewer items from more",
|
||||
"advancement.create.belt": "Kelp Drive",
|
||||
"advancement.create.belt.desc": "Connect two Shafts with a Mechanical Belt",
|
||||
"advancement.create.funnel": "Airport Aesthetic",
|
||||
"advancement.create.funnel.desc": "Extract or insert items into a container using a Funnel",
|
||||
"advancement.create.chute": "Vertical Logistics",
|
||||
"advancement.create.chute.desc": "Transport some items by Chute",
|
||||
"advancement.create.mechanical_mixer": "Mixing it up",
|
||||
"advancement.create.mechanical_mixer": "Mixing It Up",
|
||||
"advancement.create.mechanical_mixer.desc": "Combine ingredients in a Mechanical Mixer",
|
||||
"advancement.create.burner": "Sentient Fireplace",
|
||||
"advancement.create.burner.desc": "Obtain a Blaze Burner",
|
||||
|
@ -702,25 +702,25 @@
|
|||
"advancement.create.super_glue": "Area of Connect",
|
||||
"advancement.create.super_glue.desc": "Super Glue some blocks into a group",
|
||||
"advancement.create.contraption_actors": "Moving with Purpose",
|
||||
"advancement.create.contraption_actors.desc": "Create a contraption with drills, saws or harvesters on board",
|
||||
"advancement.create.portable_storage_interface": "Drive-by exchange",
|
||||
"advancement.create.portable_storage_interface.desc": "Use a Portable Storage Interface to take or insert items into a contraption",
|
||||
"advancement.create.wrench_goggles": "Kitted out",
|
||||
"advancement.create.wrench_goggles.desc": "Equip Engineer's goggles and a Wrench",
|
||||
"advancement.create.contraption_actors.desc": "Create a Contraption with drills, saws, or harvesters on board",
|
||||
"advancement.create.portable_storage_interface": "Drive-By Exchange",
|
||||
"advancement.create.portable_storage_interface.desc": "Use a Portable Storage Interface to take or insert items into a Contraption",
|
||||
"advancement.create.wrench_goggles": "Kitted Out",
|
||||
"advancement.create.wrench_goggles.desc": "Equip Engineer's Goggles and a Wrench",
|
||||
"advancement.create.stressometer": "Stress for Nerds",
|
||||
"advancement.create.stressometer.desc": "Get an exact readout with the help of Goggles and a Stressometer",
|
||||
"advancement.create.cuckoo_clock": "Is it Time?",
|
||||
"advancement.create.stressometer.desc": "Get an exact readout with the help of Engineer's Goggles and a Stressometer",
|
||||
"advancement.create.cuckoo_clock": "Is It Time?",
|
||||
"advancement.create.cuckoo_clock.desc": "Witness your Cuckoo Clock announce bedtime",
|
||||
"advancement.create.windmill_maxed": "A Strong Breeze",
|
||||
"advancement.create.windmill_maxed.desc": "Assemble a windmill of maximum strength",
|
||||
"advancement.create.ejector_maxed": "Springboard Champion",
|
||||
"advancement.create.ejector_maxed.desc": "Get launched for more than 30 blocks by a Weighted Ejector",
|
||||
"advancement.create.ejector_maxed.desc": "Get launched more than 30 blocks by a Weighted Ejector",
|
||||
"advancement.create.pulley_maxed": "Rope to Nowhere",
|
||||
"advancement.create.pulley_maxed.desc": "Extend a Rope Pulley over 200 blocks deep",
|
||||
"advancement.create.cart_pickup": "Strong Arms",
|
||||
"advancement.create.cart_pickup.desc": "Pick up a Minecart Contraption with at least 200 attached blocks",
|
||||
"advancement.create.anvil_plough": "Blacksmith Artillery",
|
||||
"advancement.create.anvil_plough.desc": "Launch an Anvil with Mechanical ploughs",
|
||||
"advancement.create.anvil_plough.desc": "Launch an Anvil with Mechanical Ploughs",
|
||||
"advancement.create.lava_wheel_00000": "Magma Wheel",
|
||||
"advancement.create.lava_wheel_00000.desc": "This shouldn't have worked§7\n(Hidden Advancement)",
|
||||
"advancement.create.hand_crank_000": "Workout Session",
|
||||
|
@ -729,62 +729,62 @@
|
|||
"advancement.create.belt_funnel_kiss.desc": "Make two Belt-mounted Funnels kiss§7\n(Hidden Advancement)",
|
||||
"advancement.create.stressometer_maxed": "Perfectly Stressed",
|
||||
"advancement.create.stressometer_maxed.desc": "Get a 100% readout from a Stressometer§7\n(Hidden Advancement)",
|
||||
"advancement.create.copper": "More Sturdier Rocks",
|
||||
"advancement.create.copper.desc": "Amass some Copper for your exploits in Fluid Manipulation",
|
||||
"advancement.create.copper": "Cuprum Bokum",
|
||||
"advancement.create.copper.desc": "Amass some Copper Ingots for your exploits in fluid manipulation",
|
||||
"advancement.create.copper_casing": "The Copper Age",
|
||||
"advancement.create.copper_casing.desc": "Apply Copper Ingots to wood creating a waterproof casing for your machines",
|
||||
"advancement.create.copper_casing.desc": "Apply Copper Ingots to stripped wood, creating a waterproof casing for your machines",
|
||||
"advancement.create.spout": "Sploosh",
|
||||
"advancement.create.spout.desc": "Watch a fluid containing item be filled using a Spout",
|
||||
"advancement.create.spout.desc": "Watch a fluid-containing item be filled by a Spout",
|
||||
"advancement.create.drain": "Tumble Draining",
|
||||
"advancement.create.drain.desc": "Watch a fluid containing item be emptied by an Item Drain",
|
||||
"advancement.create.drain.desc": "Watch a fluid-containing item be emptied by an Item Drain",
|
||||
"advancement.create.steam_engine": "The Powerhouse",
|
||||
"advancement.create.steam_engine.desc": "Use a Steam engine to generate torque",
|
||||
"advancement.create.steam_engine.desc": "Use a Steam Engine to generate torque",
|
||||
"advancement.create.steam_whistle": "Voice of an Angel",
|
||||
"advancement.create.steam_whistle.desc": "Activate a Steam Whistle",
|
||||
"advancement.create.backtank": "Pressure to Go",
|
||||
"advancement.create.backtank.desc": "Create a copper backtank and make it accumulate Air Pressure",
|
||||
"advancement.create.backtank.desc": "Create a Copper Backtank and make it accumulate air pressure",
|
||||
"advancement.create.diving_suit": "Ready for the Depths",
|
||||
"advancement.create.diving_suit.desc": "Equip a diving helmet together with your backtank and jump into water",
|
||||
"advancement.create.diving_suit.desc": "Equip a Diving Helmet and a Copper Backtank, then jump into water",
|
||||
"advancement.create.mechanical_pump_0": "Under Pressure",
|
||||
"advancement.create.mechanical_pump_0.desc": "Place and power a Mechanical Pump",
|
||||
"advancement.create.glass_pipe": "Flow Discovery",
|
||||
"advancement.create.glass_pipe.desc": "Use your Wrench on a pipe that contains a fluid",
|
||||
"advancement.create.water_supply": "Puddle Collector",
|
||||
"advancement.create.water_supply.desc": "Use the pulling end of a pipe or pump to collect a water block",
|
||||
"advancement.create.water_supply.desc": "Use the pulling end of a Fluid Pipe or Mechanical Pump to collect water",
|
||||
"advancement.create.hose_pulley": "Industrial Spillage",
|
||||
"advancement.create.hose_pulley.desc": "Lower a Hose Pulley and watch it drain or fill a body of fluid",
|
||||
"advancement.create.chocolate_bucket": "A World of Imagination",
|
||||
"advancement.create.chocolate_bucket.desc": "Obtain a Bucket of Molten Chocolate",
|
||||
"advancement.create.chocolate_bucket.desc": "Obtain a bucket of molten chocolate",
|
||||
"advancement.create.honey_drain": "Autonomous Bee-Keeping",
|
||||
"advancement.create.honey_drain.desc": "Use pipes to pull honey from a Bee Nest or Bee House",
|
||||
"advancement.create.honey_drain.desc": "Use pipes to pull honey from a Bee Nest or Beehive",
|
||||
"advancement.create.hose_pulley_lava": "Tapping the Mantle",
|
||||
"advancement.create.hose_pulley_lava.desc": "Pump from a body of Lava large enough to be considered infinite",
|
||||
"advancement.create.hose_pulley_lava.desc": "Pump from a body of lava large enough to be considered infinite",
|
||||
"advancement.create.steam_engine_maxed": "Full Steam",
|
||||
"advancement.create.steam_engine_maxed.desc": "Run a boiler at the maximum level of power",
|
||||
"advancement.create.foods": "Balanced Diet",
|
||||
"advancement.create.foods.desc": "Create Chocolate Berries, a Honeyed Apple and a Sweet Roll; all from the same Spout",
|
||||
"advancement.create.foods.desc": "Create Chocolate Glazed Berries, a Honeyed Apple, and a Sweet Roll all from the same Spout",
|
||||
"advancement.create.diving_suit_lava": "Swimming with the Striders",
|
||||
"advancement.create.diving_suit_lava.desc": "Attempt to take a dive in lava with your Copper Diving Gear§7\n(Hidden Advancement)",
|
||||
"advancement.create.diving_suit_lava.desc": "Attempt to take a dive in lava with your diving gear§7\n(Hidden Advancement)",
|
||||
"advancement.create.chained_drain": "On a Roll",
|
||||
"advancement.create.chained_drain.desc": "Watch an Item move across a row of Item Drains§7\n(Hidden Advancement)",
|
||||
"advancement.create.cross_streams": "Don't cross the Streams!",
|
||||
"advancement.create.chained_drain.desc": "Watch an item move across a row of Item Drains§7\n(Hidden Advancement)",
|
||||
"advancement.create.cross_streams": "Don't Cross the Streams!",
|
||||
"advancement.create.cross_streams.desc": "Watch two fluids meet in your pipe network§7\n(Hidden Advancement)",
|
||||
"advancement.create.pipe_organ": "The Pipe Organ",
|
||||
"advancement.create.pipe_organ.desc": "Attach 12 uniquely pitched Steam Whistles to a single fluid tank§7\n(Hidden Advancement)",
|
||||
"advancement.create.pipe_organ.desc": "Attach 12 uniquely pitched Steam Whistles to a single Fluid Tank§7\n(Hidden Advancement)",
|
||||
"advancement.create.brass": "Real Alloys",
|
||||
"advancement.create.brass.desc": "Create some Brass from Copper and Zinc ingots in your Blaze-powered Mixer",
|
||||
"advancement.create.brass.desc": "Create Brass Ingots by alloying Copper and Zinc Ingots in your Blaze-heated Mechanical Mixer",
|
||||
"advancement.create.brass_casing": "The Brass Age",
|
||||
"advancement.create.brass_casing.desc": "Apply Brass Ingots to wood creating a casing for more sophisticated machines",
|
||||
"advancement.create.brass_casing.desc": "Apply Brass Ingots to stripped wood, creating a casing for more sophisticated machines",
|
||||
"advancement.create.rose_quartz": "Pink Diamonds",
|
||||
"advancement.create.rose_quartz.desc": "Polish some Rose Quartz",
|
||||
"advancement.create.deployer": "Artificial Intelligence",
|
||||
"advancement.create.deployer.desc": "Place and activate a Deployer, the perfect reflection of yourself",
|
||||
"advancement.create.deployer.desc": "Place and power a Deployer, the perfect reflection of yourself",
|
||||
"advancement.create.precision_mechanism": "Complex Curiosities",
|
||||
"advancement.create.precision_mechanism.desc": "Assemble a Precision Mechanism",
|
||||
"advancement.create.speed_controller": "Engineers Hate Him!",
|
||||
"advancement.create.speed_controller.desc": "Fine tune your contraption with a Rotation Speed Controller",
|
||||
"advancement.create.speed_controller.desc": "Fine-tune your Contraption with a Rotation Speed Controller",
|
||||
"advancement.create.mechanical_arm": "Busy Hands",
|
||||
"advancement.create.mechanical_arm.desc": "Watch your Mechanical Arm transport its first Item",
|
||||
"advancement.create.mechanical_arm.desc": "Watch your Mechanical Arm transport its first item",
|
||||
"advancement.create.mechanical_crafter": "Automated Assembly",
|
||||
"advancement.create.mechanical_crafter.desc": "Place and power some Mechanical Crafters",
|
||||
"advancement.create.crushing_wheel": "A Pair of Giants",
|
||||
|
@ -794,7 +794,7 @@
|
|||
"advancement.create.clockwork_bearing": "Contraption O'Clock",
|
||||
"advancement.create.clockwork_bearing.desc": "Assemble a structure mounted on a Clockwork Bearing",
|
||||
"advancement.create.display_link": "Big Data",
|
||||
"advancement.create.display_link.desc": "Use a Display link to visualise information",
|
||||
"advancement.create.display_link.desc": "Use a Display Link to visualise information",
|
||||
"advancement.create.potato_cannon": "Fwoomp!",
|
||||
"advancement.create.potato_cannon.desc": "Defeat an enemy with your Potato Cannon",
|
||||
"advancement.create.extendo_grip": "Boioioing!",
|
||||
|
@ -803,54 +803,54 @@
|
|||
"advancement.create.linked_controller.desc": "Activate a Redstone Link using a Linked Controller",
|
||||
"advancement.create.arm_blaze_burner": "Combust-o-Tron",
|
||||
"advancement.create.arm_blaze_burner.desc": "Instruct a Mechanical Arm to feed your Blaze Burner",
|
||||
"advancement.create.crusher_maxed_0000": "Crushing it",
|
||||
"advancement.create.crusher_maxed_0000.desc": "Operate a Pair of Crushing wheels at max speed",
|
||||
"advancement.create.crusher_maxed_0000": "Crushing It",
|
||||
"advancement.create.crusher_maxed_0000.desc": "Operate a pair of Crushing Wheels at maximum speed",
|
||||
"advancement.create.arm_many_targets": "Organize-o-Tron",
|
||||
"advancement.create.arm_many_targets.desc": "Program a Mechanical Arm with ten or more output locations",
|
||||
"advancement.create.arm_many_targets.desc": "Program a Mechanical Arm with 10 or more output locations",
|
||||
"advancement.create.potato_cannon_collide": "Veggie Fireworks",
|
||||
"advancement.create.potato_cannon_collide.desc": "Cause potato cannon projectiles of different types to collide with each other",
|
||||
"advancement.create.potato_cannon_collide.desc": "Cause Potato Cannon projectiles of different types to collide with each other",
|
||||
"advancement.create.self_deploying": "Self-Driving Cart",
|
||||
"advancement.create.self_deploying.desc": "Create a Minecart Contraption that places tracks in front of itself",
|
||||
"advancement.create.fist_bump": "Pound It, Bro!",
|
||||
"advancement.create.fist_bump.desc": "Make two Deployers fist-bump§7\n(Hidden Advancement)",
|
||||
"advancement.create.crafter_lazy_000": "Desperate Measures",
|
||||
"advancement.create.crafter_lazy_000.desc": "Drastically slow down a Mechanical Crafter to procrastinate on proper infrastructure§7\n(Hidden Advancement)",
|
||||
"advancement.create.extendo_grip_dual": "To full Extent",
|
||||
"advancement.create.extendo_grip_dual.desc": "Dual wield Extendo Grips for super-human reach§7\n(Hidden Advancement)",
|
||||
"advancement.create.extendo_grip_dual": "To Full Extent",
|
||||
"advancement.create.extendo_grip_dual.desc": "Dual-wield Extendo Grips for superhuman reach§7\n(Hidden Advancement)",
|
||||
"advancement.create.musical_arm": "DJ Mechanico",
|
||||
"advancement.create.musical_arm.desc": "Watch a Mechanical Arm operate your Jukebox§7\n(Hidden Advancement)",
|
||||
"advancement.create.sturdy_sheet": "The Sturdiest Rocks",
|
||||
"advancement.create.sturdy_sheet.desc": "Assemble a Sturdy Sheet from refining crushed Obsidian",
|
||||
"advancement.create.sturdy_sheet.desc": "Assemble a Sturdy Sheet by refining Powdered Obsidian",
|
||||
"advancement.create.train_casing_00": "The Logistical Age",
|
||||
"advancement.create.train_casing_00.desc": "Use Sturdy Sheets to create a Casing for Railway Components",
|
||||
"advancement.create.train_casing_00.desc": "Use Sturdy Sheets to create a casing for railway components",
|
||||
"advancement.create.train": "All Aboard!",
|
||||
"advancement.create.train.desc": "Assemble your first Train",
|
||||
"advancement.create.conductor": "Conductor Instructor",
|
||||
"advancement.create.conductor.desc": "Instruct a Train driver with a Schedule",
|
||||
"advancement.create.conductor.desc": "Instruct a Train driver with a Train Schedule",
|
||||
"advancement.create.track_signal": "Traffic Control",
|
||||
"advancement.create.track_signal.desc": "Place a Train Signal",
|
||||
"advancement.create.display_board_0": "Dynamic Timetables",
|
||||
"advancement.create.display_board_0.desc": "Forecast a Train's arrival on your Display Board with the help of Display Links",
|
||||
"advancement.create.track_0": "A new Gauge",
|
||||
"advancement.create.track_0": "A New Gauge",
|
||||
"advancement.create.track_0.desc": "Obtain some Train Tracks",
|
||||
"advancement.create.train_whistle": "Choo choo!",
|
||||
"advancement.create.train_whistle": "Choo Choo!",
|
||||
"advancement.create.train_whistle.desc": "Assemble a Steam Whistle to your Train and activate it while driving",
|
||||
"advancement.create.train_portal": "Dimensional Commuter",
|
||||
"advancement.create.train_portal.desc": "Ride a train through a Nether Portal",
|
||||
"advancement.create.train_portal.desc": "Ride a Train through a Nether portal",
|
||||
"advancement.create.track_crafting_factory": "Track Factory",
|
||||
"advancement.create.track_crafting_factory.desc": "Produce more than 1000 train tracks in the same Mechanical Press",
|
||||
"advancement.create.track_crafting_factory.desc": "Produce more than 1000 Train Tracks with the same Mechanical Press",
|
||||
"advancement.create.long_bend": "The Longest Bend",
|
||||
"advancement.create.long_bend.desc": "Create a Curved track section that spans more than 30 blocks in length",
|
||||
"advancement.create.long_bend.desc": "Create a curved track section that spans more than 30 blocks in length",
|
||||
"advancement.create.long_train": "Ambitious Endeavours",
|
||||
"advancement.create.long_train.desc": "Create a Train with at least six Carriages",
|
||||
"advancement.create.long_train.desc": "Create a Train with at least 6 carriages",
|
||||
"advancement.create.long_travel": "Field Trip",
|
||||
"advancement.create.long_travel.desc": "Leave a Train Seat over 5000 blocks away from where you started travelling",
|
||||
"advancement.create.train_roadkill": "Road Kill",
|
||||
"advancement.create.train_roadkill.desc": "Run over an Enemy with your Train§7\n(Hidden Advancement)",
|
||||
"advancement.create.train_roadkill.desc": "Run over an enemy with your Train§7\n(Hidden Advancement)",
|
||||
"advancement.create.red_signal": "Expert Driver",
|
||||
"advancement.create.red_signal.desc": "Run a Red Signal with your Train§7\n(Hidden Advancement)",
|
||||
"advancement.create.red_signal.desc": "Run a red Train Signal§7\n(Hidden Advancement)",
|
||||
"advancement.create.train_crash": "Terrible Service",
|
||||
"advancement.create.train_crash.desc": "Witness a Train Crash as a Passenger§7\n(Hidden Advancement)",
|
||||
"advancement.create.train_crash.desc": "Witness a Train crash as a passenger§7\n(Hidden Advancement)",
|
||||
"advancement.create.train_crash_backwards": "Blind Spot",
|
||||
"advancement.create.train_crash_backwards.desc": "Crash into another Train while driving backwards§7\n(Hidden Advancement)",
|
||||
|
||||
|
@ -1259,8 +1259,10 @@
|
|||
"create.item_attributes.smeltable.inverted": "cannot be Smelted",
|
||||
"create.item_attributes.smokable": "can be Smoked",
|
||||
"create.item_attributes.smokable.inverted": "cannot be Smoked",
|
||||
"create.item_attributes.blastable": "is smeltable in Blast Furnace",
|
||||
"create.item_attributes.blastable.inverted": "is not smeltable in Blast Furnace",
|
||||
"create.item_attributes.blastable": "can be Smelted in a Blast Furnace",
|
||||
"create.item_attributes.blastable.inverted": "cannot be Smelted in a Blast Furnace",
|
||||
"create.item_attributes.compostable": "can be composted",
|
||||
"create.item_attributes.compostable.inverted": "cannot be composted",
|
||||
"create.item_attributes.shulker_level": "is shulker %1$s",
|
||||
"create.item_attributes.shulker_level.inverted": "is shulker not %1$s",
|
||||
"create.item_attributes.shulker_level.full": "full",
|
||||
|
@ -1367,6 +1369,10 @@
|
|||
"create.tooltip.chute.fans_pull_up": "Fans pull from Above",
|
||||
"create.tooltip.chute.fans_pull_down": "Fans pull from Below",
|
||||
"create.tooltip.chute.contains": "Contains: %1$s x%2$s",
|
||||
"create.tooltip.deployer.header": "Deployer Information",
|
||||
"create.tooltip.deployer.using": "Mode: Use",
|
||||
"create.tooltip.deployer.punching": "Mode: Attack",
|
||||
"create.tooltip.deployer.contains": "Item: %1$s x%2$s",
|
||||
"create.tooltip.brass_tunnel.contains": "Currently distributing:",
|
||||
"create.tooltip.brass_tunnel.contains_entry": "> %1$s x%2$s",
|
||||
"create.tooltip.brass_tunnel.retrieve": "Right-Click to retrieve",
|
||||
|
@ -1480,6 +1486,7 @@
|
|||
"create.schedule.condition.threshold.equal": "exactly",
|
||||
"create.schedule.condition.threshold.x_units_of_item": "%1$s %2$s of %3$s",
|
||||
"create.schedule.condition.threshold.matching_content": "Matching Content",
|
||||
"create.schedule.condition.threshold.anything": "Anything",
|
||||
"create.schedule.condition.threshold.item_measure": "Item Measure",
|
||||
"create.schedule.condition.threshold.items": "Items",
|
||||
"create.schedule.condition.threshold.stacks": "Stacks",
|
||||
|
@ -1487,6 +1494,7 @@
|
|||
"create.schedule.condition.threshold.status": "Cargo: %1$s/%2$s %3$s",
|
||||
"create.schedule.condition.threshold.place_item": "Reference Item",
|
||||
"create.schedule.condition.threshold.place_item_2": "Filters can be used",
|
||||
"create.schedule.condition.threshold.place_item_3": "Leave empty to match any",
|
||||
"create.schedule.condition.fluid_threshold": "Fluid Cargo Condition",
|
||||
"create.schedule.condition.item_threshold": "Item Cargo Condition",
|
||||
"create.schedule.condition.redstone_link": "Redstone Link",
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 980",
|
||||
"_": "Missing Localizations: 988",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -672,23 +672,23 @@
|
|||
"advancement.create.andesite_alloy.desc": "Los materiales de create tienen nombres raros. La Aleación de Andesita es uno de ellos.",
|
||||
"advancement.create.andesite_casing": "La Edad de la Andesita",
|
||||
"advancement.create.andesite_casing.desc": "Utilice un poco de madera y aleación de andesita para crear una cubierta básica.",
|
||||
"advancement.create.mechanical_press": "UNLOCALIZED: Bonk",
|
||||
"advancement.create.mechanical_press": "UNLOCALIZED: Bonk!",
|
||||
"advancement.create.mechanical_press.desc": "UNLOCALIZED: Create some sheets in a Mechanical Press",
|
||||
"advancement.create.encased_fan": "UNLOCALIZED: Wind maker",
|
||||
"advancement.create.encased_fan.desc": "UNLOCALIZED: Place and activate an Encased Fan",
|
||||
"advancement.create.encased_fan": "UNLOCALIZED: Wind Maker",
|
||||
"advancement.create.encased_fan.desc": "UNLOCALIZED: Place and power an Encased Fan",
|
||||
"advancement.create.fan_processing": "UNLOCALIZED: Processing by Particle",
|
||||
"advancement.create.fan_processing.desc": "UNLOCALIZED: Use an Encased Fan to process materials",
|
||||
"advancement.create.saw_processing": "UNLOCALIZED: Workshop's most feared",
|
||||
"advancement.create.saw_processing": "UNLOCALIZED: Workshop's Most Feared",
|
||||
"advancement.create.saw_processing.desc": "UNLOCALIZED: Use an upright Mechanical Saw to process materials",
|
||||
"advancement.create.compacting": "UNLOCALIZED: Compactification",
|
||||
"advancement.create.compacting.desc": "UNLOCALIZED: Use a Press and a Basin to create less items from more items",
|
||||
"advancement.create.compacting.desc": "UNLOCALIZED: Use a Mechanical Press and a Basin to create fewer items from more",
|
||||
"advancement.create.belt": "Unidad de Algas",
|
||||
"advancement.create.belt.desc": "Conecta dos ejes con una cinta mecánica.",
|
||||
"advancement.create.funnel": "UNLOCALIZED: Airport Aesthetic",
|
||||
"advancement.create.funnel.desc": "UNLOCALIZED: Extract or insert items into a container using a Funnel",
|
||||
"advancement.create.chute": "Viniendose Abajo",
|
||||
"advancement.create.chute.desc": "Coloca un tolvogán, la contraparte vertical de las cintas mecánicas.",
|
||||
"advancement.create.mechanical_mixer": "UNLOCALIZED: Mixing it up",
|
||||
"advancement.create.mechanical_mixer": "UNLOCALIZED: Mixing It Up",
|
||||
"advancement.create.mechanical_mixer.desc": "UNLOCALIZED: Combine ingredients in a Mechanical Mixer",
|
||||
"advancement.create.burner": "UNLOCALIZED: Sentient Fireplace",
|
||||
"advancement.create.burner.desc": "UNLOCALIZED: Obtain a Blaze Burner",
|
||||
|
@ -703,25 +703,25 @@
|
|||
"advancement.create.super_glue": "UNLOCALIZED: Area of Connect",
|
||||
"advancement.create.super_glue.desc": "UNLOCALIZED: Super Glue some blocks into a group",
|
||||
"advancement.create.contraption_actors": "UNLOCALIZED: Moving with Purpose",
|
||||
"advancement.create.contraption_actors.desc": "UNLOCALIZED: Create a contraption with drills, saws or harvesters on board",
|
||||
"advancement.create.portable_storage_interface": "UNLOCALIZED: Drive-by exchange",
|
||||
"advancement.create.portable_storage_interface.desc": "UNLOCALIZED: Use a Portable Storage Interface to take or insert items into a contraption",
|
||||
"advancement.create.wrench_goggles": "UNLOCALIZED: Kitted out",
|
||||
"advancement.create.wrench_goggles.desc": "UNLOCALIZED: Equip Engineer's goggles and a Wrench",
|
||||
"advancement.create.contraption_actors.desc": "UNLOCALIZED: Create a Contraption with drills, saws, or harvesters on board",
|
||||
"advancement.create.portable_storage_interface": "UNLOCALIZED: Drive-By Exchange",
|
||||
"advancement.create.portable_storage_interface.desc": "UNLOCALIZED: Use a Portable Storage Interface to take or insert items into a Contraption",
|
||||
"advancement.create.wrench_goggles": "UNLOCALIZED: Kitted Out",
|
||||
"advancement.create.wrench_goggles.desc": "UNLOCALIZED: Equip Engineer's Goggles and a Wrench",
|
||||
"advancement.create.stressometer": "Pero, ¿qué tan estresado exactamente?",
|
||||
"advancement.create.stressometer.desc": "Coloca y dale poder a un Estresómetro. Míralo con tus gafas para leer el número exacto.",
|
||||
"advancement.create.cuckoo_clock": "UNLOCALIZED: Is it Time?",
|
||||
"advancement.create.cuckoo_clock": "UNLOCALIZED: Is It Time?",
|
||||
"advancement.create.cuckoo_clock.desc": "UNLOCALIZED: Witness your Cuckoo Clock announce bedtime",
|
||||
"advancement.create.windmill_maxed": "UNLOCALIZED: A Strong Breeze",
|
||||
"advancement.create.windmill_maxed.desc": "UNLOCALIZED: Assemble a windmill of maximum strength",
|
||||
"advancement.create.ejector_maxed": "UNLOCALIZED: Springboard Champion",
|
||||
"advancement.create.ejector_maxed.desc": "UNLOCALIZED: Get launched for more than 30 blocks by a Weighted Ejector",
|
||||
"advancement.create.ejector_maxed.desc": "UNLOCALIZED: Get launched more than 30 blocks by a Weighted Ejector",
|
||||
"advancement.create.pulley_maxed": "UNLOCALIZED: Rope to Nowhere",
|
||||
"advancement.create.pulley_maxed.desc": "UNLOCALIZED: Extend a Rope Pulley over 200 blocks deep",
|
||||
"advancement.create.cart_pickup": "UNLOCALIZED: Strong Arms",
|
||||
"advancement.create.cart_pickup.desc": "UNLOCALIZED: Pick up a Minecart Contraption with at least 200 attached blocks",
|
||||
"advancement.create.anvil_plough": "UNLOCALIZED: Blacksmith Artillery",
|
||||
"advancement.create.anvil_plough.desc": "UNLOCALIZED: Launch an Anvil with Mechanical ploughs",
|
||||
"advancement.create.anvil_plough.desc": "UNLOCALIZED: Launch an Anvil with Mechanical Ploughs",
|
||||
"advancement.create.lava_wheel_00000": "UNLOCALIZED: Magma Wheel",
|
||||
"advancement.create.lava_wheel_00000.desc": "UNLOCALIZED: This shouldn't have worked§7\n(Hidden Advancement)",
|
||||
"advancement.create.hand_crank_000": "UNLOCALIZED: Workout Session",
|
||||
|
@ -730,48 +730,48 @@
|
|||
"advancement.create.belt_funnel_kiss.desc": "Haz que dos ingresos montados en una cinta mecánica se besen.",
|
||||
"advancement.create.stressometer_maxed": "UNLOCALIZED: Perfectly Stressed",
|
||||
"advancement.create.stressometer_maxed.desc": "UNLOCALIZED: Get a 100% readout from a Stressometer§7\n(Hidden Advancement)",
|
||||
"advancement.create.copper": "UNLOCALIZED: More Sturdier Rocks",
|
||||
"advancement.create.copper.desc": "UNLOCALIZED: Amass some Copper for your exploits in Fluid Manipulation",
|
||||
"advancement.create.copper": "UNLOCALIZED: Cuprum Bokum",
|
||||
"advancement.create.copper.desc": "UNLOCALIZED: Amass some Copper Ingots for your exploits in fluid manipulation",
|
||||
"advancement.create.copper_casing": "La Edad del Cobre",
|
||||
"advancement.create.copper_casing.desc": "Utiliza planchas de cobre y un poco de madera para crear cubiertas de cobre.",
|
||||
"advancement.create.spout": "Splash",
|
||||
"advancement.create.spout.desc": "Observa cómo se llena un objeto de líquido con un surtidor.",
|
||||
"advancement.create.drain": "UNLOCALIZED: Tumble Draining",
|
||||
"advancement.create.drain.desc": "UNLOCALIZED: Watch a fluid containing item be emptied by an Item Drain",
|
||||
"advancement.create.drain.desc": "UNLOCALIZED: Watch a fluid-containing item be emptied by an Item Drain",
|
||||
"advancement.create.steam_engine": "UNLOCALIZED: The Powerhouse",
|
||||
"advancement.create.steam_engine.desc": "UNLOCALIZED: Use a Steam engine to generate torque",
|
||||
"advancement.create.steam_engine.desc": "UNLOCALIZED: Use a Steam Engine to generate torque",
|
||||
"advancement.create.steam_whistle": "UNLOCALIZED: Voice of an Angel",
|
||||
"advancement.create.steam_whistle.desc": "UNLOCALIZED: Activate a Steam Whistle",
|
||||
"advancement.create.backtank": "UNLOCALIZED: Pressure to Go",
|
||||
"advancement.create.backtank.desc": "UNLOCALIZED: Create a copper backtank and make it accumulate Air Pressure",
|
||||
"advancement.create.backtank.desc": "UNLOCALIZED: Create a Copper Backtank and make it accumulate air pressure",
|
||||
"advancement.create.diving_suit": "UNLOCALIZED: Ready for the Depths",
|
||||
"advancement.create.diving_suit.desc": "UNLOCALIZED: Equip a diving helmet together with your backtank and jump into water",
|
||||
"advancement.create.diving_suit.desc": "UNLOCALIZED: Equip a Diving Helmet and a Copper Backtank, then jump into water",
|
||||
"advancement.create.mechanical_pump_0": "UNLOCALIZED: Under Pressure",
|
||||
"advancement.create.mechanical_pump_0.desc": "UNLOCALIZED: Place and power a Mechanical Pump",
|
||||
"advancement.create.glass_pipe": "Flujo Espía",
|
||||
"advancement.create.glass_pipe.desc": "Observa cómo se propaga el fluido a través de una tubería con ventana. Puedes añadir una ventana a una tubería recta con tu Llave Inglesa.",
|
||||
"advancement.create.water_supply": "UNLOCALIZED: Puddle Collector",
|
||||
"advancement.create.water_supply.desc": "UNLOCALIZED: Use the pulling end of a pipe or pump to collect a water block",
|
||||
"advancement.create.water_supply.desc": "UNLOCALIZED: Use the pulling end of a Fluid Pipe or Mechanical Pump to collect water",
|
||||
"advancement.create.hose_pulley": "Derrame industrial",
|
||||
"advancement.create.hose_pulley.desc": "Baja una polea manguera y observa cómo drena o llena un cuerpo de fluido.",
|
||||
"advancement.create.chocolate_bucket": "UNLOCALIZED: A World of Imagination",
|
||||
"advancement.create.chocolate_bucket.desc": "UNLOCALIZED: Obtain a Bucket of Molten Chocolate",
|
||||
"advancement.create.chocolate_bucket.desc": "UNLOCALIZED: Obtain a bucket of molten chocolate",
|
||||
"advancement.create.honey_drain": "UNLOCALIZED: Autonomous Bee-Keeping",
|
||||
"advancement.create.honey_drain.desc": "UNLOCALIZED: Use pipes to pull honey from a Bee Nest or Bee House",
|
||||
"advancement.create.honey_drain.desc": "UNLOCALIZED: Use pipes to pull honey from a Bee Nest or Beehive",
|
||||
"advancement.create.hose_pulley_lava": "UNLOCALIZED: Tapping the Mantle",
|
||||
"advancement.create.hose_pulley_lava.desc": "UNLOCALIZED: Pump from a body of Lava large enough to be considered infinite",
|
||||
"advancement.create.hose_pulley_lava.desc": "UNLOCALIZED: Pump from a body of lava large enough to be considered infinite",
|
||||
"advancement.create.steam_engine_maxed": "UNLOCALIZED: Full Steam",
|
||||
"advancement.create.steam_engine_maxed.desc": "UNLOCALIZED: Run a boiler at the maximum level of power",
|
||||
"advancement.create.foods": "UNLOCALIZED: Balanced Diet",
|
||||
"advancement.create.foods.desc": "UNLOCALIZED: Create Chocolate Berries, a Honeyed Apple and a Sweet Roll; all from the same Spout",
|
||||
"advancement.create.foods.desc": "UNLOCALIZED: Create Chocolate Glazed Berries, a Honeyed Apple, and a Sweet Roll all from the same Spout",
|
||||
"advancement.create.diving_suit_lava": "UNLOCALIZED: Swimming with the Striders",
|
||||
"advancement.create.diving_suit_lava.desc": "UNLOCALIZED: Attempt to take a dive in lava with your Copper Diving Gear§7\n(Hidden Advancement)",
|
||||
"advancement.create.diving_suit_lava.desc": "UNLOCALIZED: Attempt to take a dive in lava with your diving gear§7\n(Hidden Advancement)",
|
||||
"advancement.create.chained_drain": "UNLOCALIZED: On a Roll",
|
||||
"advancement.create.chained_drain.desc": "UNLOCALIZED: Watch an Item move across a row of Item Drains§7\n(Hidden Advancement)",
|
||||
"advancement.create.cross_streams": "UNLOCALIZED: Don't cross the Streams!",
|
||||
"advancement.create.chained_drain.desc": "UNLOCALIZED: Watch an item move across a row of Item Drains§7\n(Hidden Advancement)",
|
||||
"advancement.create.cross_streams": "UNLOCALIZED: Don't Cross the Streams!",
|
||||
"advancement.create.cross_streams.desc": "UNLOCALIZED: Watch two fluids meet in your pipe network§7\n(Hidden Advancement)",
|
||||
"advancement.create.pipe_organ": "UNLOCALIZED: The Pipe Organ",
|
||||
"advancement.create.pipe_organ.desc": "UNLOCALIZED: Attach 12 uniquely pitched Steam Whistles to a single fluid tank§7\n(Hidden Advancement)",
|
||||
"advancement.create.pipe_organ.desc": "UNLOCALIZED: Attach 12 uniquely pitched Steam Whistles to a single Fluid Tank§7\n(Hidden Advancement)",
|
||||
"advancement.create.brass": "Aleaciones de verdad",
|
||||
"advancement.create.brass.desc": "Usa cobre triturado y zinc triturado para crear algo de latón.",
|
||||
"advancement.create.brass_casing": "La Edad del Latón",
|
||||
|
@ -795,7 +795,7 @@
|
|||
"advancement.create.clockwork_bearing": "Contrapción en Punto",
|
||||
"advancement.create.clockwork_bearing.desc": "Ensambla una estructura montada sobre un rodamiento de relojería.",
|
||||
"advancement.create.display_link": "UNLOCALIZED: Big Data",
|
||||
"advancement.create.display_link.desc": "UNLOCALIZED: Use a Display link to visualise information",
|
||||
"advancement.create.display_link.desc": "UNLOCALIZED: Use a Display Link to visualise information",
|
||||
"advancement.create.potato_cannon": "¡Fwoomp!",
|
||||
"advancement.create.potato_cannon.desc": "Derrota a un enemigo con tu Cañón de Papas.",
|
||||
"advancement.create.extendo_grip": "¡Boioioing!",
|
||||
|
@ -804,54 +804,54 @@
|
|||
"advancement.create.linked_controller.desc": "UNLOCALIZED: Activate a Redstone Link using a Linked Controller",
|
||||
"advancement.create.arm_blaze_burner": "Combustrón 3001",
|
||||
"advancement.create.arm_blaze_burner.desc": "Instruye a un brazo mecánico para que alimente tu Quemador Blaze.",
|
||||
"advancement.create.crusher_maxed_0000": "UNLOCALIZED: Crushing it",
|
||||
"advancement.create.crusher_maxed_0000.desc": "UNLOCALIZED: Operate a Pair of Crushing wheels at max speed",
|
||||
"advancement.create.crusher_maxed_0000": "UNLOCALIZED: Crushing It",
|
||||
"advancement.create.crusher_maxed_0000.desc": "UNLOCALIZED: Operate a pair of Crushing Wheels at maximum speed",
|
||||
"advancement.create.arm_many_targets": "Organizatrón 3000",
|
||||
"advancement.create.arm_many_targets.desc": "Programa un brazo mecánico con 10 o más localizaciones de salida.",
|
||||
"advancement.create.potato_cannon_collide": "UNLOCALIZED: Veggie Fireworks",
|
||||
"advancement.create.potato_cannon_collide.desc": "UNLOCALIZED: Cause potato cannon projectiles of different types to collide with each other",
|
||||
"advancement.create.potato_cannon_collide.desc": "UNLOCALIZED: Cause Potato Cannon projectiles of different types to collide with each other",
|
||||
"advancement.create.self_deploying": "UNLOCALIZED: Self-Driving Cart",
|
||||
"advancement.create.self_deploying.desc": "UNLOCALIZED: Create a Minecart Contraption that places tracks in front of itself",
|
||||
"advancement.create.fist_bump": "¡Dame el puño, hermano!",
|
||||
"advancement.create.fist_bump.desc": "Haz que dos Desplegadores se golpeen con el puño.",
|
||||
"advancement.create.crafter_lazy_000": "UNLOCALIZED: Desperate Measures",
|
||||
"advancement.create.crafter_lazy_000.desc": "UNLOCALIZED: Drastically slow down a Mechanical Crafter to procrastinate on proper infrastructure§7\n(Hidden Advancement)",
|
||||
"advancement.create.extendo_grip_dual": "UNLOCALIZED: To full Extent",
|
||||
"advancement.create.extendo_grip_dual.desc": "UNLOCALIZED: Dual wield Extendo Grips for super-human reach§7\n(Hidden Advancement)",
|
||||
"advancement.create.extendo_grip_dual": "UNLOCALIZED: To Full Extent",
|
||||
"advancement.create.extendo_grip_dual.desc": "UNLOCALIZED: Dual-wield Extendo Grips for superhuman reach§7\n(Hidden Advancement)",
|
||||
"advancement.create.musical_arm": "¡Póneme mi tema principal!",
|
||||
"advancement.create.musical_arm.desc": "Observa cómo un brazo mecánico opera un tocadiscos.",
|
||||
"advancement.create.sturdy_sheet": "UNLOCALIZED: The Sturdiest Rocks",
|
||||
"advancement.create.sturdy_sheet.desc": "UNLOCALIZED: Assemble a Sturdy Sheet from refining crushed Obsidian",
|
||||
"advancement.create.sturdy_sheet.desc": "UNLOCALIZED: Assemble a Sturdy Sheet by refining Powdered Obsidian",
|
||||
"advancement.create.train_casing_00": "UNLOCALIZED: The Logistical Age",
|
||||
"advancement.create.train_casing_00.desc": "UNLOCALIZED: Use Sturdy Sheets to create a Casing for Railway Components",
|
||||
"advancement.create.train_casing_00.desc": "UNLOCALIZED: Use Sturdy Sheets to create a casing for railway components",
|
||||
"advancement.create.train": "UNLOCALIZED: All Aboard!",
|
||||
"advancement.create.train.desc": "UNLOCALIZED: Assemble your first Train",
|
||||
"advancement.create.conductor": "UNLOCALIZED: Conductor Instructor",
|
||||
"advancement.create.conductor.desc": "UNLOCALIZED: Instruct a Train driver with a Schedule",
|
||||
"advancement.create.conductor.desc": "UNLOCALIZED: Instruct a Train driver with a Train Schedule",
|
||||
"advancement.create.track_signal": "UNLOCALIZED: Traffic Control",
|
||||
"advancement.create.track_signal.desc": "UNLOCALIZED: Place a Train Signal",
|
||||
"advancement.create.display_board_0": "UNLOCALIZED: Dynamic Timetables",
|
||||
"advancement.create.display_board_0.desc": "UNLOCALIZED: Forecast a Train's arrival on your Display Board with the help of Display Links",
|
||||
"advancement.create.track_0": "UNLOCALIZED: A new Gauge",
|
||||
"advancement.create.track_0": "UNLOCALIZED: A New Gauge",
|
||||
"advancement.create.track_0.desc": "UNLOCALIZED: Obtain some Train Tracks",
|
||||
"advancement.create.train_whistle": "UNLOCALIZED: Choo choo!",
|
||||
"advancement.create.train_whistle": "UNLOCALIZED: Choo Choo!",
|
||||
"advancement.create.train_whistle.desc": "UNLOCALIZED: Assemble a Steam Whistle to your Train and activate it while driving",
|
||||
"advancement.create.train_portal": "UNLOCALIZED: Dimensional Commuter",
|
||||
"advancement.create.train_portal.desc": "UNLOCALIZED: Ride a train through a Nether Portal",
|
||||
"advancement.create.train_portal.desc": "UNLOCALIZED: Ride a Train through a Nether portal",
|
||||
"advancement.create.track_crafting_factory": "UNLOCALIZED: Track Factory",
|
||||
"advancement.create.track_crafting_factory.desc": "UNLOCALIZED: Produce more than 1000 train tracks in the same Mechanical Press",
|
||||
"advancement.create.track_crafting_factory.desc": "UNLOCALIZED: Produce more than 1000 Train Tracks with the same Mechanical Press",
|
||||
"advancement.create.long_bend": "UNLOCALIZED: The Longest Bend",
|
||||
"advancement.create.long_bend.desc": "UNLOCALIZED: Create a Curved track section that spans more than 30 blocks in length",
|
||||
"advancement.create.long_bend.desc": "UNLOCALIZED: Create a curved track section that spans more than 30 blocks in length",
|
||||
"advancement.create.long_train": "UNLOCALIZED: Ambitious Endeavours",
|
||||
"advancement.create.long_train.desc": "UNLOCALIZED: Create a Train with at least six Carriages",
|
||||
"advancement.create.long_train.desc": "UNLOCALIZED: Create a Train with at least 6 carriages",
|
||||
"advancement.create.long_travel": "UNLOCALIZED: Field Trip",
|
||||
"advancement.create.long_travel.desc": "UNLOCALIZED: Leave a Train Seat over 5000 blocks away from where you started travelling",
|
||||
"advancement.create.train_roadkill": "UNLOCALIZED: Road Kill",
|
||||
"advancement.create.train_roadkill.desc": "UNLOCALIZED: Run over an Enemy with your Train§7\n(Hidden Advancement)",
|
||||
"advancement.create.train_roadkill.desc": "UNLOCALIZED: Run over an enemy with your Train§7\n(Hidden Advancement)",
|
||||
"advancement.create.red_signal": "UNLOCALIZED: Expert Driver",
|
||||
"advancement.create.red_signal.desc": "UNLOCALIZED: Run a Red Signal with your Train§7\n(Hidden Advancement)",
|
||||
"advancement.create.red_signal.desc": "UNLOCALIZED: Run a red Train Signal§7\n(Hidden Advancement)",
|
||||
"advancement.create.train_crash": "UNLOCALIZED: Terrible Service",
|
||||
"advancement.create.train_crash.desc": "UNLOCALIZED: Witness a Train Crash as a Passenger§7\n(Hidden Advancement)",
|
||||
"advancement.create.train_crash.desc": "UNLOCALIZED: Witness a Train crash as a passenger§7\n(Hidden Advancement)",
|
||||
"advancement.create.train_crash_backwards": "UNLOCALIZED: Blind Spot",
|
||||
"advancement.create.train_crash_backwards.desc": "UNLOCALIZED: Crash into another Train while driving backwards§7\n(Hidden Advancement)",
|
||||
|
||||
|
@ -1262,6 +1262,8 @@
|
|||
"create.item_attributes.smokable.inverted": "no puede ser Ahumado",
|
||||
"create.item_attributes.blastable": "puede ser cocinado en un Alto Horno",
|
||||
"create.item_attributes.blastable.inverted": "no puede ser cocinado en un Alto Horno",
|
||||
"create.item_attributes.compostable": "UNLOCALIZED: can be composted",
|
||||
"create.item_attributes.compostable.inverted": "UNLOCALIZED: cannot be composted",
|
||||
"create.item_attributes.shulker_level": "es un shulker %1$s",
|
||||
"create.item_attributes.shulker_level.inverted": "no es un shulker %1$s",
|
||||
"create.item_attributes.shulker_level.full": "lleno",
|
||||
|
@ -1368,6 +1370,10 @@
|
|||
"create.tooltip.chute.fans_pull_up": "Ventiladores tirando desde arriba",
|
||||
"create.tooltip.chute.fans_pull_down": "Ventiladores tirando desde abajo",
|
||||
"create.tooltip.chute.contains": "Contiene: %1$s x%2$s",
|
||||
"create.tooltip.deployer.header": "UNLOCALIZED: Deployer Information",
|
||||
"create.tooltip.deployer.using": "UNLOCALIZED: Mode: Use",
|
||||
"create.tooltip.deployer.punching": "UNLOCALIZED: Mode: Attack",
|
||||
"create.tooltip.deployer.contains": "UNLOCALIZED: Item: %1$s x%2$s",
|
||||
"create.tooltip.brass_tunnel.contains": "Actualmente distribuyendo:",
|
||||
"create.tooltip.brass_tunnel.contains_entry": "> %1$s x%2$s",
|
||||
"create.tooltip.brass_tunnel.retrieve": "Click-Derecho para recuperar",
|
||||
|
@ -1481,6 +1487,7 @@
|
|||
"create.schedule.condition.threshold.equal": "UNLOCALIZED: exactly",
|
||||
"create.schedule.condition.threshold.x_units_of_item": "UNLOCALIZED: %1$s %2$s of %3$s",
|
||||
"create.schedule.condition.threshold.matching_content": "UNLOCALIZED: Matching Content",
|
||||
"create.schedule.condition.threshold.anything": "UNLOCALIZED: Anything",
|
||||
"create.schedule.condition.threshold.item_measure": "UNLOCALIZED: Item Measure",
|
||||
"create.schedule.condition.threshold.items": "UNLOCALIZED: Items",
|
||||
"create.schedule.condition.threshold.stacks": "UNLOCALIZED: Stacks",
|
||||
|
@ -1488,6 +1495,7 @@
|
|||
"create.schedule.condition.threshold.status": "UNLOCALIZED: Cargo: %1$s/%2$s %3$s",
|
||||
"create.schedule.condition.threshold.place_item": "UNLOCALIZED: Reference Item",
|
||||
"create.schedule.condition.threshold.place_item_2": "UNLOCALIZED: Filters can be used",
|
||||
"create.schedule.condition.threshold.place_item_3": "UNLOCALIZED: Leave empty to match any",
|
||||
"create.schedule.condition.fluid_threshold": "UNLOCALIZED: Fluid Cargo Condition",
|
||||
"create.schedule.condition.item_threshold": "UNLOCALIZED: Item Cargo Condition",
|
||||
"create.schedule.condition.redstone_link": "UNLOCALIZED: Redstone Link",
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 2112",
|
||||
"_": "Missing Localizations: 2120",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -671,24 +671,24 @@
|
|||
"advancement.create.andesite_alloy": "UNLOCALIZED: Sturdier Rocks",
|
||||
"advancement.create.andesite_alloy.desc": "Certains matériaux de Create ont des noms bizzares; l'alliage d'andésite est l'un d'entre eux.",
|
||||
"advancement.create.andesite_casing": "UNLOCALIZED: The Andesite Age",
|
||||
"advancement.create.andesite_casing.desc": "UNLOCALIZED: Apply Andesite Alloy to wood creating a basic casing for your machines",
|
||||
"advancement.create.mechanical_press": "UNLOCALIZED: Bonk",
|
||||
"advancement.create.andesite_casing.desc": "UNLOCALIZED: Apply Andesite Alloy to stripped wood, creating a basic casing for your machines",
|
||||
"advancement.create.mechanical_press": "UNLOCALIZED: Bonk!",
|
||||
"advancement.create.mechanical_press.desc": "UNLOCALIZED: Create some sheets in a Mechanical Press",
|
||||
"advancement.create.encased_fan": "UNLOCALIZED: Wind maker",
|
||||
"advancement.create.encased_fan.desc": "UNLOCALIZED: Place and activate an Encased Fan",
|
||||
"advancement.create.encased_fan": "UNLOCALIZED: Wind Maker",
|
||||
"advancement.create.encased_fan.desc": "UNLOCALIZED: Place and power an Encased Fan",
|
||||
"advancement.create.fan_processing": "UNLOCALIZED: Processing by Particle",
|
||||
"advancement.create.fan_processing.desc": "UNLOCALIZED: Use an Encased Fan to process materials",
|
||||
"advancement.create.saw_processing": "UNLOCALIZED: Workshop's most feared",
|
||||
"advancement.create.saw_processing": "UNLOCALIZED: Workshop's Most Feared",
|
||||
"advancement.create.saw_processing.desc": "UNLOCALIZED: Use an upright Mechanical Saw to process materials",
|
||||
"advancement.create.compacting": "UNLOCALIZED: Compactification",
|
||||
"advancement.create.compacting.desc": "UNLOCALIZED: Use a Press and a Basin to create less items from more items",
|
||||
"advancement.create.compacting.desc": "UNLOCALIZED: Use a Mechanical Press and a Basin to create fewer items from more",
|
||||
"advancement.create.belt": "UNLOCALIZED: Kelp Drive",
|
||||
"advancement.create.belt.desc": "UNLOCALIZED: Connect two Shafts with a Mechanical Belt",
|
||||
"advancement.create.funnel": "UNLOCALIZED: Airport Aesthetic",
|
||||
"advancement.create.funnel.desc": "UNLOCALIZED: Extract or insert items into a container using a Funnel",
|
||||
"advancement.create.chute": "UNLOCALIZED: Vertical Logistics",
|
||||
"advancement.create.chute.desc": "UNLOCALIZED: Transport some items by Chute",
|
||||
"advancement.create.mechanical_mixer": "UNLOCALIZED: Mixing it up",
|
||||
"advancement.create.mechanical_mixer": "UNLOCALIZED: Mixing It Up",
|
||||
"advancement.create.mechanical_mixer.desc": "UNLOCALIZED: Combine ingredients in a Mechanical Mixer",
|
||||
"advancement.create.burner": "UNLOCALIZED: Sentient Fireplace",
|
||||
"advancement.create.burner.desc": "UNLOCALIZED: Obtain a Blaze Burner",
|
||||
|
@ -703,25 +703,25 @@
|
|||
"advancement.create.super_glue": "UNLOCALIZED: Area of Connect",
|
||||
"advancement.create.super_glue.desc": "UNLOCALIZED: Super Glue some blocks into a group",
|
||||
"advancement.create.contraption_actors": "UNLOCALIZED: Moving with Purpose",
|
||||
"advancement.create.contraption_actors.desc": "UNLOCALIZED: Create a contraption with drills, saws or harvesters on board",
|
||||
"advancement.create.portable_storage_interface": "UNLOCALIZED: Drive-by exchange",
|
||||
"advancement.create.portable_storage_interface.desc": "UNLOCALIZED: Use a Portable Storage Interface to take or insert items into a contraption",
|
||||
"advancement.create.wrench_goggles": "UNLOCALIZED: Kitted out",
|
||||
"advancement.create.wrench_goggles.desc": "UNLOCALIZED: Equip Engineer's goggles and a Wrench",
|
||||
"advancement.create.contraption_actors.desc": "UNLOCALIZED: Create a Contraption with drills, saws, or harvesters on board",
|
||||
"advancement.create.portable_storage_interface": "UNLOCALIZED: Drive-By Exchange",
|
||||
"advancement.create.portable_storage_interface.desc": "UNLOCALIZED: Use a Portable Storage Interface to take or insert items into a Contraption",
|
||||
"advancement.create.wrench_goggles": "UNLOCALIZED: Kitted Out",
|
||||
"advancement.create.wrench_goggles.desc": "UNLOCALIZED: Equip Engineer's Goggles and a Wrench",
|
||||
"advancement.create.stressometer": "UNLOCALIZED: Stress for Nerds",
|
||||
"advancement.create.stressometer.desc": "UNLOCALIZED: Get an exact readout with the help of Goggles and a Stressometer",
|
||||
"advancement.create.cuckoo_clock": "UNLOCALIZED: Is it Time?",
|
||||
"advancement.create.stressometer.desc": "UNLOCALIZED: Get an exact readout with the help of Engineer's Goggles and a Stressometer",
|
||||
"advancement.create.cuckoo_clock": "UNLOCALIZED: Is It Time?",
|
||||
"advancement.create.cuckoo_clock.desc": "UNLOCALIZED: Witness your Cuckoo Clock announce bedtime",
|
||||
"advancement.create.windmill_maxed": "UNLOCALIZED: A Strong Breeze",
|
||||
"advancement.create.windmill_maxed.desc": "UNLOCALIZED: Assemble a windmill of maximum strength",
|
||||
"advancement.create.ejector_maxed": "UNLOCALIZED: Springboard Champion",
|
||||
"advancement.create.ejector_maxed.desc": "UNLOCALIZED: Get launched for more than 30 blocks by a Weighted Ejector",
|
||||
"advancement.create.ejector_maxed.desc": "UNLOCALIZED: Get launched more than 30 blocks by a Weighted Ejector",
|
||||
"advancement.create.pulley_maxed": "UNLOCALIZED: Rope to Nowhere",
|
||||
"advancement.create.pulley_maxed.desc": "UNLOCALIZED: Extend a Rope Pulley over 200 blocks deep",
|
||||
"advancement.create.cart_pickup": "UNLOCALIZED: Strong Arms",
|
||||
"advancement.create.cart_pickup.desc": "UNLOCALIZED: Pick up a Minecart Contraption with at least 200 attached blocks",
|
||||
"advancement.create.anvil_plough": "UNLOCALIZED: Blacksmith Artillery",
|
||||
"advancement.create.anvil_plough.desc": "UNLOCALIZED: Launch an Anvil with Mechanical ploughs",
|
||||
"advancement.create.anvil_plough.desc": "UNLOCALIZED: Launch an Anvil with Mechanical Ploughs",
|
||||
"advancement.create.lava_wheel_00000": "UNLOCALIZED: Magma Wheel",
|
||||
"advancement.create.lava_wheel_00000.desc": "UNLOCALIZED: This shouldn't have worked§7\n(Hidden Advancement)",
|
||||
"advancement.create.hand_crank_000": "UNLOCALIZED: Workout Session",
|
||||
|
@ -730,62 +730,62 @@
|
|||
"advancement.create.belt_funnel_kiss.desc": "UNLOCALIZED: Make two Belt-mounted Funnels kiss§7\n(Hidden Advancement)",
|
||||
"advancement.create.stressometer_maxed": "UNLOCALIZED: Perfectly Stressed",
|
||||
"advancement.create.stressometer_maxed.desc": "UNLOCALIZED: Get a 100% readout from a Stressometer§7\n(Hidden Advancement)",
|
||||
"advancement.create.copper": "UNLOCALIZED: More Sturdier Rocks",
|
||||
"advancement.create.copper.desc": "UNLOCALIZED: Amass some Copper for your exploits in Fluid Manipulation",
|
||||
"advancement.create.copper": "UNLOCALIZED: Cuprum Bokum",
|
||||
"advancement.create.copper.desc": "UNLOCALIZED: Amass some Copper Ingots for your exploits in fluid manipulation",
|
||||
"advancement.create.copper_casing": "UNLOCALIZED: The Copper Age",
|
||||
"advancement.create.copper_casing.desc": "UNLOCALIZED: Apply Copper Ingots to wood creating a waterproof casing for your machines",
|
||||
"advancement.create.copper_casing.desc": "UNLOCALIZED: Apply Copper Ingots to stripped wood, creating a waterproof casing for your machines",
|
||||
"advancement.create.spout": "UNLOCALIZED: Sploosh",
|
||||
"advancement.create.spout.desc": "UNLOCALIZED: Watch a fluid containing item be filled using a Spout",
|
||||
"advancement.create.spout.desc": "UNLOCALIZED: Watch a fluid-containing item be filled by a Spout",
|
||||
"advancement.create.drain": "UNLOCALIZED: Tumble Draining",
|
||||
"advancement.create.drain.desc": "UNLOCALIZED: Watch a fluid containing item be emptied by an Item Drain",
|
||||
"advancement.create.drain.desc": "UNLOCALIZED: Watch a fluid-containing item be emptied by an Item Drain",
|
||||
"advancement.create.steam_engine": "UNLOCALIZED: The Powerhouse",
|
||||
"advancement.create.steam_engine.desc": "UNLOCALIZED: Use a Steam engine to generate torque",
|
||||
"advancement.create.steam_engine.desc": "UNLOCALIZED: Use a Steam Engine to generate torque",
|
||||
"advancement.create.steam_whistle": "UNLOCALIZED: Voice of an Angel",
|
||||
"advancement.create.steam_whistle.desc": "UNLOCALIZED: Activate a Steam Whistle",
|
||||
"advancement.create.backtank": "UNLOCALIZED: Pressure to Go",
|
||||
"advancement.create.backtank.desc": "UNLOCALIZED: Create a copper backtank and make it accumulate Air Pressure",
|
||||
"advancement.create.backtank.desc": "UNLOCALIZED: Create a Copper Backtank and make it accumulate air pressure",
|
||||
"advancement.create.diving_suit": "UNLOCALIZED: Ready for the Depths",
|
||||
"advancement.create.diving_suit.desc": "UNLOCALIZED: Equip a diving helmet together with your backtank and jump into water",
|
||||
"advancement.create.diving_suit.desc": "UNLOCALIZED: Equip a Diving Helmet and a Copper Backtank, then jump into water",
|
||||
"advancement.create.mechanical_pump_0": "UNLOCALIZED: Under Pressure",
|
||||
"advancement.create.mechanical_pump_0.desc": "UNLOCALIZED: Place and power a Mechanical Pump",
|
||||
"advancement.create.glass_pipe": "UNLOCALIZED: Flow Discovery",
|
||||
"advancement.create.glass_pipe.desc": "UNLOCALIZED: Use your Wrench on a pipe that contains a fluid",
|
||||
"advancement.create.water_supply": "UNLOCALIZED: Puddle Collector",
|
||||
"advancement.create.water_supply.desc": "UNLOCALIZED: Use the pulling end of a pipe or pump to collect a water block",
|
||||
"advancement.create.water_supply.desc": "UNLOCALIZED: Use the pulling end of a Fluid Pipe or Mechanical Pump to collect water",
|
||||
"advancement.create.hose_pulley": "UNLOCALIZED: Industrial Spillage",
|
||||
"advancement.create.hose_pulley.desc": "UNLOCALIZED: Lower a Hose Pulley and watch it drain or fill a body of fluid",
|
||||
"advancement.create.chocolate_bucket": "UNLOCALIZED: A World of Imagination",
|
||||
"advancement.create.chocolate_bucket.desc": "UNLOCALIZED: Obtain a Bucket of Molten Chocolate",
|
||||
"advancement.create.chocolate_bucket.desc": "UNLOCALIZED: Obtain a bucket of molten chocolate",
|
||||
"advancement.create.honey_drain": "UNLOCALIZED: Autonomous Bee-Keeping",
|
||||
"advancement.create.honey_drain.desc": "UNLOCALIZED: Use pipes to pull honey from a Bee Nest or Bee House",
|
||||
"advancement.create.honey_drain.desc": "UNLOCALIZED: Use pipes to pull honey from a Bee Nest or Beehive",
|
||||
"advancement.create.hose_pulley_lava": "UNLOCALIZED: Tapping the Mantle",
|
||||
"advancement.create.hose_pulley_lava.desc": "UNLOCALIZED: Pump from a body of Lava large enough to be considered infinite",
|
||||
"advancement.create.hose_pulley_lava.desc": "UNLOCALIZED: Pump from a body of lava large enough to be considered infinite",
|
||||
"advancement.create.steam_engine_maxed": "UNLOCALIZED: Full Steam",
|
||||
"advancement.create.steam_engine_maxed.desc": "UNLOCALIZED: Run a boiler at the maximum level of power",
|
||||
"advancement.create.foods": "UNLOCALIZED: Balanced Diet",
|
||||
"advancement.create.foods.desc": "UNLOCALIZED: Create Chocolate Berries, a Honeyed Apple and a Sweet Roll; all from the same Spout",
|
||||
"advancement.create.foods.desc": "UNLOCALIZED: Create Chocolate Glazed Berries, a Honeyed Apple, and a Sweet Roll all from the same Spout",
|
||||
"advancement.create.diving_suit_lava": "UNLOCALIZED: Swimming with the Striders",
|
||||
"advancement.create.diving_suit_lava.desc": "UNLOCALIZED: Attempt to take a dive in lava with your Copper Diving Gear§7\n(Hidden Advancement)",
|
||||
"advancement.create.diving_suit_lava.desc": "UNLOCALIZED: Attempt to take a dive in lava with your diving gear§7\n(Hidden Advancement)",
|
||||
"advancement.create.chained_drain": "UNLOCALIZED: On a Roll",
|
||||
"advancement.create.chained_drain.desc": "UNLOCALIZED: Watch an Item move across a row of Item Drains§7\n(Hidden Advancement)",
|
||||
"advancement.create.cross_streams": "UNLOCALIZED: Don't cross the Streams!",
|
||||
"advancement.create.chained_drain.desc": "UNLOCALIZED: Watch an item move across a row of Item Drains§7\n(Hidden Advancement)",
|
||||
"advancement.create.cross_streams": "UNLOCALIZED: Don't Cross the Streams!",
|
||||
"advancement.create.cross_streams.desc": "UNLOCALIZED: Watch two fluids meet in your pipe network§7\n(Hidden Advancement)",
|
||||
"advancement.create.pipe_organ": "UNLOCALIZED: The Pipe Organ",
|
||||
"advancement.create.pipe_organ.desc": "UNLOCALIZED: Attach 12 uniquely pitched Steam Whistles to a single fluid tank§7\n(Hidden Advancement)",
|
||||
"advancement.create.pipe_organ.desc": "UNLOCALIZED: Attach 12 uniquely pitched Steam Whistles to a single Fluid Tank§7\n(Hidden Advancement)",
|
||||
"advancement.create.brass": "UNLOCALIZED: Real Alloys",
|
||||
"advancement.create.brass.desc": "UNLOCALIZED: Create some Brass from Copper and Zinc ingots in your Blaze-powered Mixer",
|
||||
"advancement.create.brass.desc": "UNLOCALIZED: Create Brass Ingots by alloying Copper and Zinc Ingots in your Blaze-heated Mechanical Mixer",
|
||||
"advancement.create.brass_casing": "UNLOCALIZED: The Brass Age",
|
||||
"advancement.create.brass_casing.desc": "UNLOCALIZED: Apply Brass Ingots to wood creating a casing for more sophisticated machines",
|
||||
"advancement.create.brass_casing.desc": "UNLOCALIZED: Apply Brass Ingots to stripped wood, creating a casing for more sophisticated machines",
|
||||
"advancement.create.rose_quartz": "UNLOCALIZED: Pink Diamonds",
|
||||
"advancement.create.rose_quartz.desc": "UNLOCALIZED: Polish some Rose Quartz",
|
||||
"advancement.create.deployer": "UNLOCALIZED: Artificial Intelligence",
|
||||
"advancement.create.deployer.desc": "UNLOCALIZED: Place and activate a Deployer, the perfect reflection of yourself",
|
||||
"advancement.create.deployer.desc": "UNLOCALIZED: Place and power a Deployer, the perfect reflection of yourself",
|
||||
"advancement.create.precision_mechanism": "UNLOCALIZED: Complex Curiosities",
|
||||
"advancement.create.precision_mechanism.desc": "UNLOCALIZED: Assemble a Precision Mechanism",
|
||||
"advancement.create.speed_controller": "UNLOCALIZED: Engineers Hate Him!",
|
||||
"advancement.create.speed_controller.desc": "UNLOCALIZED: Fine tune your contraption with a Rotation Speed Controller",
|
||||
"advancement.create.speed_controller.desc": "UNLOCALIZED: Fine-tune your Contraption with a Rotation Speed Controller",
|
||||
"advancement.create.mechanical_arm": "UNLOCALIZED: Busy Hands",
|
||||
"advancement.create.mechanical_arm.desc": "UNLOCALIZED: Watch your Mechanical Arm transport its first Item",
|
||||
"advancement.create.mechanical_arm.desc": "UNLOCALIZED: Watch your Mechanical Arm transport its first item",
|
||||
"advancement.create.mechanical_crafter": "UNLOCALIZED: Automated Assembly",
|
||||
"advancement.create.mechanical_crafter.desc": "UNLOCALIZED: Place and power some Mechanical Crafters",
|
||||
"advancement.create.crushing_wheel": "UNLOCALIZED: A Pair of Giants",
|
||||
|
@ -795,7 +795,7 @@
|
|||
"advancement.create.clockwork_bearing": "UNLOCALIZED: Contraption O'Clock",
|
||||
"advancement.create.clockwork_bearing.desc": "UNLOCALIZED: Assemble a structure mounted on a Clockwork Bearing",
|
||||
"advancement.create.display_link": "UNLOCALIZED: Big Data",
|
||||
"advancement.create.display_link.desc": "UNLOCALIZED: Use a Display link to visualise information",
|
||||
"advancement.create.display_link.desc": "UNLOCALIZED: Use a Display Link to visualise information",
|
||||
"advancement.create.potato_cannon": "UNLOCALIZED: Fwoomp!",
|
||||
"advancement.create.potato_cannon.desc": "UNLOCALIZED: Defeat an enemy with your Potato Cannon",
|
||||
"advancement.create.extendo_grip": "UNLOCALIZED: Boioioing!",
|
||||
|
@ -804,54 +804,54 @@
|
|||
"advancement.create.linked_controller.desc": "UNLOCALIZED: Activate a Redstone Link using a Linked Controller",
|
||||
"advancement.create.arm_blaze_burner": "UNLOCALIZED: Combust-o-Tron",
|
||||
"advancement.create.arm_blaze_burner.desc": "UNLOCALIZED: Instruct a Mechanical Arm to feed your Blaze Burner",
|
||||
"advancement.create.crusher_maxed_0000": "UNLOCALIZED: Crushing it",
|
||||
"advancement.create.crusher_maxed_0000.desc": "UNLOCALIZED: Operate a Pair of Crushing wheels at max speed",
|
||||
"advancement.create.crusher_maxed_0000": "UNLOCALIZED: Crushing It",
|
||||
"advancement.create.crusher_maxed_0000.desc": "UNLOCALIZED: Operate a pair of Crushing Wheels at maximum speed",
|
||||
"advancement.create.arm_many_targets": "UNLOCALIZED: Organize-o-Tron",
|
||||
"advancement.create.arm_many_targets.desc": "UNLOCALIZED: Program a Mechanical Arm with ten or more output locations",
|
||||
"advancement.create.arm_many_targets.desc": "UNLOCALIZED: Program a Mechanical Arm with 10 or more output locations",
|
||||
"advancement.create.potato_cannon_collide": "UNLOCALIZED: Veggie Fireworks",
|
||||
"advancement.create.potato_cannon_collide.desc": "UNLOCALIZED: Cause potato cannon projectiles of different types to collide with each other",
|
||||
"advancement.create.potato_cannon_collide.desc": "UNLOCALIZED: Cause Potato Cannon projectiles of different types to collide with each other",
|
||||
"advancement.create.self_deploying": "UNLOCALIZED: Self-Driving Cart",
|
||||
"advancement.create.self_deploying.desc": "UNLOCALIZED: Create a Minecart Contraption that places tracks in front of itself",
|
||||
"advancement.create.fist_bump": "UNLOCALIZED: Pound It, Bro!",
|
||||
"advancement.create.fist_bump.desc": "UNLOCALIZED: Make two Deployers fist-bump§7\n(Hidden Advancement)",
|
||||
"advancement.create.crafter_lazy_000": "UNLOCALIZED: Desperate Measures",
|
||||
"advancement.create.crafter_lazy_000.desc": "UNLOCALIZED: Drastically slow down a Mechanical Crafter to procrastinate on proper infrastructure§7\n(Hidden Advancement)",
|
||||
"advancement.create.extendo_grip_dual": "UNLOCALIZED: To full Extent",
|
||||
"advancement.create.extendo_grip_dual.desc": "UNLOCALIZED: Dual wield Extendo Grips for super-human reach§7\n(Hidden Advancement)",
|
||||
"advancement.create.extendo_grip_dual": "UNLOCALIZED: To Full Extent",
|
||||
"advancement.create.extendo_grip_dual.desc": "UNLOCALIZED: Dual-wield Extendo Grips for superhuman reach§7\n(Hidden Advancement)",
|
||||
"advancement.create.musical_arm": "UNLOCALIZED: DJ Mechanico",
|
||||
"advancement.create.musical_arm.desc": "UNLOCALIZED: Watch a Mechanical Arm operate your Jukebox§7\n(Hidden Advancement)",
|
||||
"advancement.create.sturdy_sheet": "UNLOCALIZED: The Sturdiest Rocks",
|
||||
"advancement.create.sturdy_sheet.desc": "UNLOCALIZED: Assemble a Sturdy Sheet from refining crushed Obsidian",
|
||||
"advancement.create.sturdy_sheet.desc": "UNLOCALIZED: Assemble a Sturdy Sheet by refining Powdered Obsidian",
|
||||
"advancement.create.train_casing_00": "UNLOCALIZED: The Logistical Age",
|
||||
"advancement.create.train_casing_00.desc": "UNLOCALIZED: Use Sturdy Sheets to create a Casing for Railway Components",
|
||||
"advancement.create.train_casing_00.desc": "UNLOCALIZED: Use Sturdy Sheets to create a casing for railway components",
|
||||
"advancement.create.train": "UNLOCALIZED: All Aboard!",
|
||||
"advancement.create.train.desc": "UNLOCALIZED: Assemble your first Train",
|
||||
"advancement.create.conductor": "UNLOCALIZED: Conductor Instructor",
|
||||
"advancement.create.conductor.desc": "UNLOCALIZED: Instruct a Train driver with a Schedule",
|
||||
"advancement.create.conductor.desc": "UNLOCALIZED: Instruct a Train driver with a Train Schedule",
|
||||
"advancement.create.track_signal": "UNLOCALIZED: Traffic Control",
|
||||
"advancement.create.track_signal.desc": "UNLOCALIZED: Place a Train Signal",
|
||||
"advancement.create.display_board_0": "UNLOCALIZED: Dynamic Timetables",
|
||||
"advancement.create.display_board_0.desc": "UNLOCALIZED: Forecast a Train's arrival on your Display Board with the help of Display Links",
|
||||
"advancement.create.track_0": "UNLOCALIZED: A new Gauge",
|
||||
"advancement.create.track_0": "UNLOCALIZED: A New Gauge",
|
||||
"advancement.create.track_0.desc": "UNLOCALIZED: Obtain some Train Tracks",
|
||||
"advancement.create.train_whistle": "UNLOCALIZED: Choo choo!",
|
||||
"advancement.create.train_whistle": "UNLOCALIZED: Choo Choo!",
|
||||
"advancement.create.train_whistle.desc": "UNLOCALIZED: Assemble a Steam Whistle to your Train and activate it while driving",
|
||||
"advancement.create.train_portal": "UNLOCALIZED: Dimensional Commuter",
|
||||
"advancement.create.train_portal.desc": "UNLOCALIZED: Ride a train through a Nether Portal",
|
||||
"advancement.create.train_portal.desc": "UNLOCALIZED: Ride a Train through a Nether portal",
|
||||
"advancement.create.track_crafting_factory": "UNLOCALIZED: Track Factory",
|
||||
"advancement.create.track_crafting_factory.desc": "UNLOCALIZED: Produce more than 1000 train tracks in the same Mechanical Press",
|
||||
"advancement.create.track_crafting_factory.desc": "UNLOCALIZED: Produce more than 1000 Train Tracks with the same Mechanical Press",
|
||||
"advancement.create.long_bend": "UNLOCALIZED: The Longest Bend",
|
||||
"advancement.create.long_bend.desc": "UNLOCALIZED: Create a Curved track section that spans more than 30 blocks in length",
|
||||
"advancement.create.long_bend.desc": "UNLOCALIZED: Create a curved track section that spans more than 30 blocks in length",
|
||||
"advancement.create.long_train": "UNLOCALIZED: Ambitious Endeavours",
|
||||
"advancement.create.long_train.desc": "UNLOCALIZED: Create a Train with at least six Carriages",
|
||||
"advancement.create.long_train.desc": "UNLOCALIZED: Create a Train with at least 6 carriages",
|
||||
"advancement.create.long_travel": "UNLOCALIZED: Field Trip",
|
||||
"advancement.create.long_travel.desc": "UNLOCALIZED: Leave a Train Seat over 5000 blocks away from where you started travelling",
|
||||
"advancement.create.train_roadkill": "UNLOCALIZED: Road Kill",
|
||||
"advancement.create.train_roadkill.desc": "UNLOCALIZED: Run over an Enemy with your Train§7\n(Hidden Advancement)",
|
||||
"advancement.create.train_roadkill.desc": "UNLOCALIZED: Run over an enemy with your Train§7\n(Hidden Advancement)",
|
||||
"advancement.create.red_signal": "UNLOCALIZED: Expert Driver",
|
||||
"advancement.create.red_signal.desc": "UNLOCALIZED: Run a Red Signal with your Train§7\n(Hidden Advancement)",
|
||||
"advancement.create.red_signal.desc": "UNLOCALIZED: Run a red Train Signal§7\n(Hidden Advancement)",
|
||||
"advancement.create.train_crash": "UNLOCALIZED: Terrible Service",
|
||||
"advancement.create.train_crash.desc": "UNLOCALIZED: Witness a Train Crash as a Passenger§7\n(Hidden Advancement)",
|
||||
"advancement.create.train_crash.desc": "UNLOCALIZED: Witness a Train crash as a passenger§7\n(Hidden Advancement)",
|
||||
"advancement.create.train_crash_backwards": "UNLOCALIZED: Blind Spot",
|
||||
"advancement.create.train_crash_backwards.desc": "UNLOCALIZED: Crash into another Train while driving backwards§7\n(Hidden Advancement)",
|
||||
|
||||
|
@ -1262,6 +1262,8 @@
|
|||
"create.item_attributes.smokable.inverted": "ne peut pas être fumé",
|
||||
"create.item_attributes.blastable": "est fondable dans un Haut fourneau",
|
||||
"create.item_attributes.blastable.inverted": "n'est pas fondable dans un Haut fourneau",
|
||||
"create.item_attributes.compostable": "UNLOCALIZED: can be composted",
|
||||
"create.item_attributes.compostable.inverted": "UNLOCALIZED: cannot be composted",
|
||||
"create.item_attributes.shulker_level": "UNLOCALIZED: is shulker %1$s",
|
||||
"create.item_attributes.shulker_level.inverted": "UNLOCALIZED: is shulker not %1$s",
|
||||
"create.item_attributes.shulker_level.full": "UNLOCALIZED: full",
|
||||
|
@ -1368,6 +1370,10 @@
|
|||
"create.tooltip.chute.fans_pull_up": "UNLOCALIZED: Fans pull from Above",
|
||||
"create.tooltip.chute.fans_pull_down": "UNLOCALIZED: Fans pull from Below",
|
||||
"create.tooltip.chute.contains": "UNLOCALIZED: Contains: %1$s x%2$s",
|
||||
"create.tooltip.deployer.header": "UNLOCALIZED: Deployer Information",
|
||||
"create.tooltip.deployer.using": "UNLOCALIZED: Mode: Use",
|
||||
"create.tooltip.deployer.punching": "UNLOCALIZED: Mode: Attack",
|
||||
"create.tooltip.deployer.contains": "UNLOCALIZED: Item: %1$s x%2$s",
|
||||
"create.tooltip.brass_tunnel.contains": "UNLOCALIZED: Currently distributing:",
|
||||
"create.tooltip.brass_tunnel.contains_entry": "UNLOCALIZED: > %1$s x%2$s",
|
||||
"create.tooltip.brass_tunnel.retrieve": "UNLOCALIZED: Right-Click to retrieve",
|
||||
|
@ -1481,6 +1487,7 @@
|
|||
"create.schedule.condition.threshold.equal": "UNLOCALIZED: exactly",
|
||||
"create.schedule.condition.threshold.x_units_of_item": "UNLOCALIZED: %1$s %2$s of %3$s",
|
||||
"create.schedule.condition.threshold.matching_content": "UNLOCALIZED: Matching Content",
|
||||
"create.schedule.condition.threshold.anything": "UNLOCALIZED: Anything",
|
||||
"create.schedule.condition.threshold.item_measure": "UNLOCALIZED: Item Measure",
|
||||
"create.schedule.condition.threshold.items": "UNLOCALIZED: Items",
|
||||
"create.schedule.condition.threshold.stacks": "UNLOCALIZED: Stacks",
|
||||
|
@ -1488,6 +1495,7 @@
|
|||
"create.schedule.condition.threshold.status": "UNLOCALIZED: Cargo: %1$s/%2$s %3$s",
|
||||
"create.schedule.condition.threshold.place_item": "UNLOCALIZED: Reference Item",
|
||||
"create.schedule.condition.threshold.place_item_2": "UNLOCALIZED: Filters can be used",
|
||||
"create.schedule.condition.threshold.place_item_3": "UNLOCALIZED: Leave empty to match any",
|
||||
"create.schedule.condition.fluid_threshold": "UNLOCALIZED: Fluid Cargo Condition",
|
||||
"create.schedule.condition.item_threshold": "UNLOCALIZED: Item Cargo Condition",
|
||||
"create.schedule.condition.redstone_link": "UNLOCALIZED: Redstone Link",
|
||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 2460",
|
||||
"_": "Missing Localizations: 2468",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -667,28 +667,28 @@
|
|||
"_": "->------------------------] Advancements [------------------------<-",
|
||||
|
||||
"advancement.create.root": "UNLOCALIZED: Welcome to Create",
|
||||
"advancement.create.root.desc": "UNLOCALIZED: Here be Contraptions",
|
||||
"advancement.create.root.desc": "UNLOCALIZED: Here Be Contraptions",
|
||||
"advancement.create.andesite_alloy": "UNLOCALIZED: Sturdier Rocks",
|
||||
"advancement.create.andesite_alloy.desc": "UNLOCALIZED: Obtain some Andesite Alloy, Create's most important resource",
|
||||
"advancement.create.andesite_casing": "UNLOCALIZED: The Andesite Age",
|
||||
"advancement.create.andesite_casing.desc": "UNLOCALIZED: Apply Andesite Alloy to wood creating a basic casing for your machines",
|
||||
"advancement.create.mechanical_press": "UNLOCALIZED: Bonk",
|
||||
"advancement.create.andesite_casing.desc": "UNLOCALIZED: Apply Andesite Alloy to stripped wood, creating a basic casing for your machines",
|
||||
"advancement.create.mechanical_press": "UNLOCALIZED: Bonk!",
|
||||
"advancement.create.mechanical_press.desc": "UNLOCALIZED: Create some sheets in a Mechanical Press",
|
||||
"advancement.create.encased_fan": "UNLOCALIZED: Wind maker",
|
||||
"advancement.create.encased_fan.desc": "UNLOCALIZED: Place and activate an Encased Fan",
|
||||
"advancement.create.encased_fan": "UNLOCALIZED: Wind Maker",
|
||||
"advancement.create.encased_fan.desc": "UNLOCALIZED: Place and power an Encased Fan",
|
||||
"advancement.create.fan_processing": "UNLOCALIZED: Processing by Particle",
|
||||
"advancement.create.fan_processing.desc": "UNLOCALIZED: Use an Encased Fan to process materials",
|
||||
"advancement.create.saw_processing": "UNLOCALIZED: Workshop's most feared",
|
||||
"advancement.create.saw_processing": "UNLOCALIZED: Workshop's Most Feared",
|
||||
"advancement.create.saw_processing.desc": "UNLOCALIZED: Use an upright Mechanical Saw to process materials",
|
||||
"advancement.create.compacting": "UNLOCALIZED: Compactification",
|
||||
"advancement.create.compacting.desc": "UNLOCALIZED: Use a Press and a Basin to create less items from more items",
|
||||
"advancement.create.compacting.desc": "UNLOCALIZED: Use a Mechanical Press and a Basin to create fewer items from more",
|
||||
"advancement.create.belt": "UNLOCALIZED: Kelp Drive",
|
||||
"advancement.create.belt.desc": "UNLOCALIZED: Connect two Shafts with a Mechanical Belt",
|
||||
"advancement.create.funnel": "UNLOCALIZED: Airport Aesthetic",
|
||||
"advancement.create.funnel.desc": "UNLOCALIZED: Extract or insert items into a container using a Funnel",
|
||||
"advancement.create.chute": "UNLOCALIZED: Vertical Logistics",
|
||||
"advancement.create.chute.desc": "UNLOCALIZED: Transport some items by Chute",
|
||||
"advancement.create.mechanical_mixer": "UNLOCALIZED: Mixing it up",
|
||||
"advancement.create.mechanical_mixer": "UNLOCALIZED: Mixing It Up",
|
||||
"advancement.create.mechanical_mixer.desc": "UNLOCALIZED: Combine ingredients in a Mechanical Mixer",
|
||||
"advancement.create.burner": "UNLOCALIZED: Sentient Fireplace",
|
||||
"advancement.create.burner.desc": "UNLOCALIZED: Obtain a Blaze Burner",
|
||||
|
@ -703,25 +703,25 @@
|
|||
"advancement.create.super_glue": "UNLOCALIZED: Area of Connect",
|
||||
"advancement.create.super_glue.desc": "UNLOCALIZED: Super Glue some blocks into a group",
|
||||
"advancement.create.contraption_actors": "UNLOCALIZED: Moving with Purpose",
|
||||
"advancement.create.contraption_actors.desc": "UNLOCALIZED: Create a contraption with drills, saws or harvesters on board",
|
||||
"advancement.create.portable_storage_interface": "UNLOCALIZED: Drive-by exchange",
|
||||
"advancement.create.portable_storage_interface.desc": "UNLOCALIZED: Use a Portable Storage Interface to take or insert items into a contraption",
|
||||
"advancement.create.wrench_goggles": "UNLOCALIZED: Kitted out",
|
||||
"advancement.create.wrench_goggles.desc": "UNLOCALIZED: Equip Engineer's goggles and a Wrench",
|
||||
"advancement.create.contraption_actors.desc": "UNLOCALIZED: Create a Contraption with drills, saws, or harvesters on board",
|
||||
"advancement.create.portable_storage_interface": "UNLOCALIZED: Drive-By Exchange",
|
||||
"advancement.create.portable_storage_interface.desc": "UNLOCALIZED: Use a Portable Storage Interface to take or insert items into a Contraption",
|
||||
"advancement.create.wrench_goggles": "UNLOCALIZED: Kitted Out",
|
||||
"advancement.create.wrench_goggles.desc": "UNLOCALIZED: Equip Engineer's Goggles and a Wrench",
|
||||
"advancement.create.stressometer": "UNLOCALIZED: Stress for Nerds",
|
||||
"advancement.create.stressometer.desc": "UNLOCALIZED: Get an exact readout with the help of Goggles and a Stressometer",
|
||||
"advancement.create.cuckoo_clock": "UNLOCALIZED: Is it Time?",
|
||||
"advancement.create.stressometer.desc": "UNLOCALIZED: Get an exact readout with the help of Engineer's Goggles and a Stressometer",
|
||||
"advancement.create.cuckoo_clock": "UNLOCALIZED: Is It Time?",
|
||||
"advancement.create.cuckoo_clock.desc": "UNLOCALIZED: Witness your Cuckoo Clock announce bedtime",
|
||||
"advancement.create.windmill_maxed": "UNLOCALIZED: A Strong Breeze",
|
||||
"advancement.create.windmill_maxed.desc": "UNLOCALIZED: Assemble a windmill of maximum strength",
|
||||
"advancement.create.ejector_maxed": "UNLOCALIZED: Springboard Champion",
|
||||
"advancement.create.ejector_maxed.desc": "UNLOCALIZED: Get launched for more than 30 blocks by a Weighted Ejector",
|
||||
"advancement.create.ejector_maxed.desc": "UNLOCALIZED: Get launched more than 30 blocks by a Weighted Ejector",
|
||||
"advancement.create.pulley_maxed": "UNLOCALIZED: Rope to Nowhere",
|
||||
"advancement.create.pulley_maxed.desc": "UNLOCALIZED: Extend a Rope Pulley over 200 blocks deep",
|
||||
"advancement.create.cart_pickup": "UNLOCALIZED: Strong Arms",
|
||||
"advancement.create.cart_pickup.desc": "UNLOCALIZED: Pick up a Minecart Contraption with at least 200 attached blocks",
|
||||
"advancement.create.anvil_plough": "UNLOCALIZED: Blacksmith Artillery",
|
||||
"advancement.create.anvil_plough.desc": "UNLOCALIZED: Launch an Anvil with Mechanical ploughs",
|
||||
"advancement.create.anvil_plough.desc": "UNLOCALIZED: Launch an Anvil with Mechanical Ploughs",
|
||||
"advancement.create.lava_wheel_00000": "UNLOCALIZED: Magma Wheel",
|
||||
"advancement.create.lava_wheel_00000.desc": "UNLOCALIZED: This shouldn't have worked§7\n(Hidden Advancement)",
|
||||
"advancement.create.hand_crank_000": "UNLOCALIZED: Workout Session",
|
||||
|
@ -730,62 +730,62 @@
|
|||
"advancement.create.belt_funnel_kiss.desc": "UNLOCALIZED: Make two Belt-mounted Funnels kiss§7\n(Hidden Advancement)",
|
||||
"advancement.create.stressometer_maxed": "UNLOCALIZED: Perfectly Stressed",
|
||||
"advancement.create.stressometer_maxed.desc": "UNLOCALIZED: Get a 100% readout from a Stressometer§7\n(Hidden Advancement)",
|
||||
"advancement.create.copper": "UNLOCALIZED: More Sturdier Rocks",
|
||||
"advancement.create.copper.desc": "UNLOCALIZED: Amass some Copper for your exploits in Fluid Manipulation",
|
||||
"advancement.create.copper": "UNLOCALIZED: Cuprum Bokum",
|
||||
"advancement.create.copper.desc": "UNLOCALIZED: Amass some Copper Ingots for your exploits in fluid manipulation",
|
||||
"advancement.create.copper_casing": "UNLOCALIZED: The Copper Age",
|
||||
"advancement.create.copper_casing.desc": "UNLOCALIZED: Apply Copper Ingots to wood creating a waterproof casing for your machines",
|
||||
"advancement.create.copper_casing.desc": "UNLOCALIZED: Apply Copper Ingots to stripped wood, creating a waterproof casing for your machines",
|
||||
"advancement.create.spout": "UNLOCALIZED: Sploosh",
|
||||
"advancement.create.spout.desc": "UNLOCALIZED: Watch a fluid containing item be filled using a Spout",
|
||||
"advancement.create.spout.desc": "UNLOCALIZED: Watch a fluid-containing item be filled by a Spout",
|
||||
"advancement.create.drain": "UNLOCALIZED: Tumble Draining",
|
||||
"advancement.create.drain.desc": "UNLOCALIZED: Watch a fluid containing item be emptied by an Item Drain",
|
||||
"advancement.create.drain.desc": "UNLOCALIZED: Watch a fluid-containing item be emptied by an Item Drain",
|
||||
"advancement.create.steam_engine": "UNLOCALIZED: The Powerhouse",
|
||||
"advancement.create.steam_engine.desc": "UNLOCALIZED: Use a Steam engine to generate torque",
|
||||
"advancement.create.steam_engine.desc": "UNLOCALIZED: Use a Steam Engine to generate torque",
|
||||
"advancement.create.steam_whistle": "UNLOCALIZED: Voice of an Angel",
|
||||
"advancement.create.steam_whistle.desc": "UNLOCALIZED: Activate a Steam Whistle",
|
||||
"advancement.create.backtank": "UNLOCALIZED: Pressure to Go",
|
||||
"advancement.create.backtank.desc": "UNLOCALIZED: Create a copper backtank and make it accumulate Air Pressure",
|
||||
"advancement.create.backtank.desc": "UNLOCALIZED: Create a Copper Backtank and make it accumulate air pressure",
|
||||
"advancement.create.diving_suit": "UNLOCALIZED: Ready for the Depths",
|
||||
"advancement.create.diving_suit.desc": "UNLOCALIZED: Equip a diving helmet together with your backtank and jump into water",
|
||||
"advancement.create.diving_suit.desc": "UNLOCALIZED: Equip a Diving Helmet and a Copper Backtank, then jump into water",
|
||||
"advancement.create.mechanical_pump_0": "UNLOCALIZED: Under Pressure",
|
||||
"advancement.create.mechanical_pump_0.desc": "UNLOCALIZED: Place and power a Mechanical Pump",
|
||||
"advancement.create.glass_pipe": "UNLOCALIZED: Flow Discovery",
|
||||
"advancement.create.glass_pipe.desc": "UNLOCALIZED: Use your Wrench on a pipe that contains a fluid",
|
||||
"advancement.create.water_supply": "UNLOCALIZED: Puddle Collector",
|
||||
"advancement.create.water_supply.desc": "UNLOCALIZED: Use the pulling end of a pipe or pump to collect a water block",
|
||||
"advancement.create.water_supply.desc": "UNLOCALIZED: Use the pulling end of a Fluid Pipe or Mechanical Pump to collect water",
|
||||
"advancement.create.hose_pulley": "UNLOCALIZED: Industrial Spillage",
|
||||
"advancement.create.hose_pulley.desc": "UNLOCALIZED: Lower a Hose Pulley and watch it drain or fill a body of fluid",
|
||||
"advancement.create.chocolate_bucket": "UNLOCALIZED: A World of Imagination",
|
||||
"advancement.create.chocolate_bucket.desc": "UNLOCALIZED: Obtain a Bucket of Molten Chocolate",
|
||||
"advancement.create.chocolate_bucket.desc": "UNLOCALIZED: Obtain a bucket of molten chocolate",
|
||||
"advancement.create.honey_drain": "UNLOCALIZED: Autonomous Bee-Keeping",
|
||||
"advancement.create.honey_drain.desc": "UNLOCALIZED: Use pipes to pull honey from a Bee Nest or Bee House",
|
||||
"advancement.create.honey_drain.desc": "UNLOCALIZED: Use pipes to pull honey from a Bee Nest or Beehive",
|
||||
"advancement.create.hose_pulley_lava": "UNLOCALIZED: Tapping the Mantle",
|
||||
"advancement.create.hose_pulley_lava.desc": "UNLOCALIZED: Pump from a body of Lava large enough to be considered infinite",
|
||||
"advancement.create.hose_pulley_lava.desc": "UNLOCALIZED: Pump from a body of lava large enough to be considered infinite",
|
||||
"advancement.create.steam_engine_maxed": "UNLOCALIZED: Full Steam",
|
||||
"advancement.create.steam_engine_maxed.desc": "UNLOCALIZED: Run a boiler at the maximum level of power",
|
||||
"advancement.create.foods": "UNLOCALIZED: Balanced Diet",
|
||||
"advancement.create.foods.desc": "UNLOCALIZED: Create Chocolate Berries, a Honeyed Apple and a Sweet Roll; all from the same Spout",
|
||||
"advancement.create.foods.desc": "UNLOCALIZED: Create Chocolate Glazed Berries, a Honeyed Apple, and a Sweet Roll all from the same Spout",
|
||||
"advancement.create.diving_suit_lava": "UNLOCALIZED: Swimming with the Striders",
|
||||
"advancement.create.diving_suit_lava.desc": "UNLOCALIZED: Attempt to take a dive in lava with your Copper Diving Gear§7\n(Hidden Advancement)",
|
||||
"advancement.create.diving_suit_lava.desc": "UNLOCALIZED: Attempt to take a dive in lava with your diving gear§7\n(Hidden Advancement)",
|
||||
"advancement.create.chained_drain": "UNLOCALIZED: On a Roll",
|
||||
"advancement.create.chained_drain.desc": "UNLOCALIZED: Watch an Item move across a row of Item Drains§7\n(Hidden Advancement)",
|
||||
"advancement.create.cross_streams": "UNLOCALIZED: Don't cross the Streams!",
|
||||
"advancement.create.chained_drain.desc": "UNLOCALIZED: Watch an item move across a row of Item Drains§7\n(Hidden Advancement)",
|
||||
"advancement.create.cross_streams": "UNLOCALIZED: Don't Cross the Streams!",
|
||||
"advancement.create.cross_streams.desc": "UNLOCALIZED: Watch two fluids meet in your pipe network§7\n(Hidden Advancement)",
|
||||
"advancement.create.pipe_organ": "UNLOCALIZED: The Pipe Organ",
|
||||
"advancement.create.pipe_organ.desc": "UNLOCALIZED: Attach 12 uniquely pitched Steam Whistles to a single fluid tank§7\n(Hidden Advancement)",
|
||||
"advancement.create.pipe_organ.desc": "UNLOCALIZED: Attach 12 uniquely pitched Steam Whistles to a single Fluid Tank§7\n(Hidden Advancement)",
|
||||
"advancement.create.brass": "UNLOCALIZED: Real Alloys",
|
||||
"advancement.create.brass.desc": "UNLOCALIZED: Create some Brass from Copper and Zinc ingots in your Blaze-powered Mixer",
|
||||
"advancement.create.brass.desc": "UNLOCALIZED: Create Brass Ingots by alloying Copper and Zinc Ingots in your Blaze-heated Mechanical Mixer",
|
||||
"advancement.create.brass_casing": "UNLOCALIZED: The Brass Age",
|
||||
"advancement.create.brass_casing.desc": "UNLOCALIZED: Apply Brass Ingots to wood creating a casing for more sophisticated machines",
|
||||
"advancement.create.brass_casing.desc": "UNLOCALIZED: Apply Brass Ingots to stripped wood, creating a casing for more sophisticated machines",
|
||||
"advancement.create.rose_quartz": "UNLOCALIZED: Pink Diamonds",
|
||||
"advancement.create.rose_quartz.desc": "UNLOCALIZED: Polish some Rose Quartz",
|
||||
"advancement.create.deployer": "UNLOCALIZED: Artificial Intelligence",
|
||||
"advancement.create.deployer.desc": "UNLOCALIZED: Place and activate a Deployer, the perfect reflection of yourself",
|
||||
"advancement.create.deployer.desc": "UNLOCALIZED: Place and power a Deployer, the perfect reflection of yourself",
|
||||
"advancement.create.precision_mechanism": "UNLOCALIZED: Complex Curiosities",
|
||||
"advancement.create.precision_mechanism.desc": "UNLOCALIZED: Assemble a Precision Mechanism",
|
||||
"advancement.create.speed_controller": "UNLOCALIZED: Engineers Hate Him!",
|
||||
"advancement.create.speed_controller.desc": "UNLOCALIZED: Fine tune your contraption with a Rotation Speed Controller",
|
||||
"advancement.create.speed_controller.desc": "UNLOCALIZED: Fine-tune your Contraption with a Rotation Speed Controller",
|
||||
"advancement.create.mechanical_arm": "UNLOCALIZED: Busy Hands",
|
||||
"advancement.create.mechanical_arm.desc": "UNLOCALIZED: Watch your Mechanical Arm transport its first Item",
|
||||
"advancement.create.mechanical_arm.desc": "UNLOCALIZED: Watch your Mechanical Arm transport its first item",
|
||||
"advancement.create.mechanical_crafter": "UNLOCALIZED: Automated Assembly",
|
||||
"advancement.create.mechanical_crafter.desc": "UNLOCALIZED: Place and power some Mechanical Crafters",
|
||||
"advancement.create.crushing_wheel": "UNLOCALIZED: A Pair of Giants",
|
||||
|
@ -795,7 +795,7 @@
|
|||
"advancement.create.clockwork_bearing": "UNLOCALIZED: Contraption O'Clock",
|
||||
"advancement.create.clockwork_bearing.desc": "UNLOCALIZED: Assemble a structure mounted on a Clockwork Bearing",
|
||||
"advancement.create.display_link": "UNLOCALIZED: Big Data",
|
||||
"advancement.create.display_link.desc": "UNLOCALIZED: Use a Display link to visualise information",
|
||||
"advancement.create.display_link.desc": "UNLOCALIZED: Use a Display Link to visualise information",
|
||||
"advancement.create.potato_cannon": "UNLOCALIZED: Fwoomp!",
|
||||
"advancement.create.potato_cannon.desc": "UNLOCALIZED: Defeat an enemy with your Potato Cannon",
|
||||
"advancement.create.extendo_grip": "UNLOCALIZED: Boioioing!",
|
||||
|
@ -804,54 +804,54 @@
|
|||
"advancement.create.linked_controller.desc": "UNLOCALIZED: Activate a Redstone Link using a Linked Controller",
|
||||
"advancement.create.arm_blaze_burner": "UNLOCALIZED: Combust-o-Tron",
|
||||
"advancement.create.arm_blaze_burner.desc": "UNLOCALIZED: Instruct a Mechanical Arm to feed your Blaze Burner",
|
||||
"advancement.create.crusher_maxed_0000": "UNLOCALIZED: Crushing it",
|
||||
"advancement.create.crusher_maxed_0000.desc": "UNLOCALIZED: Operate a Pair of Crushing wheels at max speed",
|
||||
"advancement.create.crusher_maxed_0000": "UNLOCALIZED: Crushing It",
|
||||
"advancement.create.crusher_maxed_0000.desc": "UNLOCALIZED: Operate a pair of Crushing Wheels at maximum speed",
|
||||
"advancement.create.arm_many_targets": "UNLOCALIZED: Organize-o-Tron",
|
||||
"advancement.create.arm_many_targets.desc": "UNLOCALIZED: Program a Mechanical Arm with ten or more output locations",
|
||||
"advancement.create.arm_many_targets.desc": "UNLOCALIZED: Program a Mechanical Arm with 10 or more output locations",
|
||||
"advancement.create.potato_cannon_collide": "UNLOCALIZED: Veggie Fireworks",
|
||||
"advancement.create.potato_cannon_collide.desc": "UNLOCALIZED: Cause potato cannon projectiles of different types to collide with each other",
|
||||
"advancement.create.potato_cannon_collide.desc": "UNLOCALIZED: Cause Potato Cannon projectiles of different types to collide with each other",
|
||||
"advancement.create.self_deploying": "UNLOCALIZED: Self-Driving Cart",
|
||||
"advancement.create.self_deploying.desc": "UNLOCALIZED: Create a Minecart Contraption that places tracks in front of itself",
|
||||
"advancement.create.fist_bump": "UNLOCALIZED: Pound It, Bro!",
|
||||
"advancement.create.fist_bump.desc": "UNLOCALIZED: Make two Deployers fist-bump§7\n(Hidden Advancement)",
|
||||
"advancement.create.crafter_lazy_000": "UNLOCALIZED: Desperate Measures",
|
||||
"advancement.create.crafter_lazy_000.desc": "UNLOCALIZED: Drastically slow down a Mechanical Crafter to procrastinate on proper infrastructure§7\n(Hidden Advancement)",
|
||||
"advancement.create.extendo_grip_dual": "UNLOCALIZED: To full Extent",
|
||||
"advancement.create.extendo_grip_dual.desc": "UNLOCALIZED: Dual wield Extendo Grips for super-human reach§7\n(Hidden Advancement)",
|
||||
"advancement.create.extendo_grip_dual": "UNLOCALIZED: To Full Extent",
|
||||
"advancement.create.extendo_grip_dual.desc": "UNLOCALIZED: Dual-wield Extendo Grips for superhuman reach§7\n(Hidden Advancement)",
|
||||
"advancement.create.musical_arm": "UNLOCALIZED: DJ Mechanico",
|
||||
"advancement.create.musical_arm.desc": "UNLOCALIZED: Watch a Mechanical Arm operate your Jukebox§7\n(Hidden Advancement)",
|
||||
"advancement.create.sturdy_sheet": "UNLOCALIZED: The Sturdiest Rocks",
|
||||
"advancement.create.sturdy_sheet.desc": "UNLOCALIZED: Assemble a Sturdy Sheet from refining crushed Obsidian",
|
||||
"advancement.create.sturdy_sheet.desc": "UNLOCALIZED: Assemble a Sturdy Sheet by refining Powdered Obsidian",
|
||||
"advancement.create.train_casing_00": "UNLOCALIZED: The Logistical Age",
|
||||
"advancement.create.train_casing_00.desc": "UNLOCALIZED: Use Sturdy Sheets to create a Casing for Railway Components",
|
||||
"advancement.create.train_casing_00.desc": "UNLOCALIZED: Use Sturdy Sheets to create a casing for railway components",
|
||||
"advancement.create.train": "UNLOCALIZED: All Aboard!",
|
||||
"advancement.create.train.desc": "UNLOCALIZED: Assemble your first Train",
|
||||
"advancement.create.conductor": "UNLOCALIZED: Conductor Instructor",
|
||||
"advancement.create.conductor.desc": "UNLOCALIZED: Instruct a Train driver with a Schedule",
|
||||
"advancement.create.conductor.desc": "UNLOCALIZED: Instruct a Train driver with a Train Schedule",
|
||||
"advancement.create.track_signal": "UNLOCALIZED: Traffic Control",
|
||||
"advancement.create.track_signal.desc": "UNLOCALIZED: Place a Train Signal",
|
||||
"advancement.create.display_board_0": "UNLOCALIZED: Dynamic Timetables",
|
||||
"advancement.create.display_board_0.desc": "UNLOCALIZED: Forecast a Train's arrival on your Display Board with the help of Display Links",
|
||||
"advancement.create.track_0": "UNLOCALIZED: A new Gauge",
|
||||
"advancement.create.track_0": "UNLOCALIZED: A New Gauge",
|
||||
"advancement.create.track_0.desc": "UNLOCALIZED: Obtain some Train Tracks",
|
||||
"advancement.create.train_whistle": "UNLOCALIZED: Choo choo!",
|
||||
"advancement.create.train_whistle": "UNLOCALIZED: Choo Choo!",
|
||||
"advancement.create.train_whistle.desc": "UNLOCALIZED: Assemble a Steam Whistle to your Train and activate it while driving",
|
||||
"advancement.create.train_portal": "UNLOCALIZED: Dimensional Commuter",
|
||||
"advancement.create.train_portal.desc": "UNLOCALIZED: Ride a train through a Nether Portal",
|
||||
"advancement.create.train_portal.desc": "UNLOCALIZED: Ride a Train through a Nether portal",
|
||||
"advancement.create.track_crafting_factory": "UNLOCALIZED: Track Factory",
|
||||
"advancement.create.track_crafting_factory.desc": "UNLOCALIZED: Produce more than 1000 train tracks in the same Mechanical Press",
|
||||
"advancement.create.track_crafting_factory.desc": "UNLOCALIZED: Produce more than 1000 Train Tracks with the same Mechanical Press",
|
||||
"advancement.create.long_bend": "UNLOCALIZED: The Longest Bend",
|
||||
"advancement.create.long_bend.desc": "UNLOCALIZED: Create a Curved track section that spans more than 30 blocks in length",
|
||||
"advancement.create.long_bend.desc": "UNLOCALIZED: Create a curved track section that spans more than 30 blocks in length",
|
||||
"advancement.create.long_train": "UNLOCALIZED: Ambitious Endeavours",
|
||||
"advancement.create.long_train.desc": "UNLOCALIZED: Create a Train with at least six Carriages",
|
||||
"advancement.create.long_train.desc": "UNLOCALIZED: Create a Train with at least 6 carriages",
|
||||
"advancement.create.long_travel": "UNLOCALIZED: Field Trip",
|
||||
"advancement.create.long_travel.desc": "UNLOCALIZED: Leave a Train Seat over 5000 blocks away from where you started travelling",
|
||||
"advancement.create.train_roadkill": "UNLOCALIZED: Road Kill",
|
||||
"advancement.create.train_roadkill.desc": "UNLOCALIZED: Run over an Enemy with your Train§7\n(Hidden Advancement)",
|
||||
"advancement.create.train_roadkill.desc": "UNLOCALIZED: Run over an enemy with your Train§7\n(Hidden Advancement)",
|
||||
"advancement.create.red_signal": "UNLOCALIZED: Expert Driver",
|
||||
"advancement.create.red_signal.desc": "UNLOCALIZED: Run a Red Signal with your Train§7\n(Hidden Advancement)",
|
||||
"advancement.create.red_signal.desc": "UNLOCALIZED: Run a red Train Signal§7\n(Hidden Advancement)",
|
||||
"advancement.create.train_crash": "UNLOCALIZED: Terrible Service",
|
||||
"advancement.create.train_crash.desc": "UNLOCALIZED: Witness a Train Crash as a Passenger§7\n(Hidden Advancement)",
|
||||
"advancement.create.train_crash.desc": "UNLOCALIZED: Witness a Train crash as a passenger§7\n(Hidden Advancement)",
|
||||
"advancement.create.train_crash_backwards": "UNLOCALIZED: Blind Spot",
|
||||
"advancement.create.train_crash_backwards.desc": "UNLOCALIZED: Crash into another Train while driving backwards§7\n(Hidden Advancement)",
|
||||
|
||||
|
@ -1260,8 +1260,10 @@
|
|||
"create.item_attributes.smeltable.inverted": "UNLOCALIZED: cannot be Smelted",
|
||||
"create.item_attributes.smokable": "UNLOCALIZED: can be Smoked",
|
||||
"create.item_attributes.smokable.inverted": "UNLOCALIZED: cannot be Smoked",
|
||||
"create.item_attributes.blastable": "UNLOCALIZED: is smeltable in Blast Furnace",
|
||||
"create.item_attributes.blastable.inverted": "UNLOCALIZED: is not smeltable in Blast Furnace",
|
||||
"create.item_attributes.blastable": "UNLOCALIZED: can be Smelted in a Blast Furnace",
|
||||
"create.item_attributes.blastable.inverted": "UNLOCALIZED: cannot be Smelted in a Blast Furnace",
|
||||
"create.item_attributes.compostable": "UNLOCALIZED: can be composted",
|
||||
"create.item_attributes.compostable.inverted": "UNLOCALIZED: cannot be composted",
|
||||
"create.item_attributes.shulker_level": "UNLOCALIZED: is shulker %1$s",
|
||||
"create.item_attributes.shulker_level.inverted": "UNLOCALIZED: is shulker not %1$s",
|
||||
"create.item_attributes.shulker_level.full": "UNLOCALIZED: full",
|
||||
|
@ -1368,6 +1370,10 @@
|
|||
"create.tooltip.chute.fans_pull_up": "UNLOCALIZED: Fans pull from Above",
|
||||
"create.tooltip.chute.fans_pull_down": "UNLOCALIZED: Fans pull from Below",
|
||||
"create.tooltip.chute.contains": "UNLOCALIZED: Contains: %1$s x%2$s",
|
||||
"create.tooltip.deployer.header": "UNLOCALIZED: Deployer Information",
|
||||
"create.tooltip.deployer.using": "UNLOCALIZED: Mode: Use",
|
||||
"create.tooltip.deployer.punching": "UNLOCALIZED: Mode: Attack",
|
||||
"create.tooltip.deployer.contains": "UNLOCALIZED: Item: %1$s x%2$s",
|
||||
"create.tooltip.brass_tunnel.contains": "UNLOCALIZED: Currently distributing:",
|
||||
"create.tooltip.brass_tunnel.contains_entry": "UNLOCALIZED: > %1$s x%2$s",
|
||||
"create.tooltip.brass_tunnel.retrieve": "UNLOCALIZED: Right-Click to retrieve",
|
||||
|
@ -1481,6 +1487,7 @@
|
|||
"create.schedule.condition.threshold.equal": "UNLOCALIZED: exactly",
|
||||
"create.schedule.condition.threshold.x_units_of_item": "UNLOCALIZED: %1$s %2$s of %3$s",
|
||||
"create.schedule.condition.threshold.matching_content": "UNLOCALIZED: Matching Content",
|
||||
"create.schedule.condition.threshold.anything": "UNLOCALIZED: Anything",
|
||||
"create.schedule.condition.threshold.item_measure": "UNLOCALIZED: Item Measure",
|
||||
"create.schedule.condition.threshold.items": "UNLOCALIZED: Items",
|
||||
"create.schedule.condition.threshold.stacks": "UNLOCALIZED: Stacks",
|
||||
|
@ -1488,6 +1495,7 @@
|
|||
"create.schedule.condition.threshold.status": "UNLOCALIZED: Cargo: %1$s/%2$s %3$s",
|
||||
"create.schedule.condition.threshold.place_item": "UNLOCALIZED: Reference Item",
|
||||
"create.schedule.condition.threshold.place_item_2": "UNLOCALIZED: Filters can be used",
|
||||
"create.schedule.condition.threshold.place_item_3": "UNLOCALIZED: Leave empty to match any",
|
||||
"create.schedule.condition.fluid_threshold": "UNLOCALIZED: Fluid Cargo Condition",
|
||||
"create.schedule.condition.item_threshold": "UNLOCALIZED: Item Cargo Condition",
|
||||
"create.schedule.condition.redstone_link": "UNLOCALIZED: Redstone Link",
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 1494",
|
||||
"_": "Missing Localizations: 1312",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -13,7 +13,7 @@
|
|||
"block.create.andesite_encased_large_cogwheel": "Roda dentada grande revestida com andesito",
|
||||
"block.create.andesite_encased_shaft": "Eixo revestido com latão",
|
||||
"block.create.andesite_funnel": "Funil de Andesito",
|
||||
"block.create.andesite_ladder": "UNLOCALIZED: Andesite Ladder",
|
||||
"block.create.andesite_ladder": "Escada de mão de andesito",
|
||||
"block.create.andesite_pillar": "Pilar de andesito",
|
||||
"block.create.andesite_tunnel": "Tunel de Andesito",
|
||||
"block.create.asurine": "Asurino",
|
||||
|
@ -40,7 +40,7 @@
|
|||
"block.create.brass_encased_large_cogwheel": "Roda dentada grande revestida com latão",
|
||||
"block.create.brass_encased_shaft": "Eixo Revestido com Latão",
|
||||
"block.create.brass_funnel": "Funil de Latão",
|
||||
"block.create.brass_ladder": "UNLOCALIZED: Brass Ladder",
|
||||
"block.create.brass_ladder": "Escada de mão de latão",
|
||||
"block.create.brass_tunnel": "Tunel de Latão",
|
||||
"block.create.brown_nixie_tube": "Tubo de nixie marrom",
|
||||
"block.create.brown_sail": "Vela marrom",
|
||||
|
@ -56,10 +56,10 @@
|
|||
"block.create.cogwheel": "Roda Dentada",
|
||||
"block.create.content_observer": "Observador de Conteúdo",
|
||||
"block.create.controller_rail": "Trilho Controlador",
|
||||
"block.create.controls": "UNLOCALIZED: Train Controls",
|
||||
"block.create.controls": "Controles do trem",
|
||||
"block.create.copper_backtank": "Tanque Traseiro de Cobre",
|
||||
"block.create.copper_casing": "Revestimento de Cobre",
|
||||
"block.create.copper_ladder": "UNLOCALIZED: Copper Ladder",
|
||||
"block.create.copper_ladder": "Escada de mão de cobre",
|
||||
"block.create.copper_shingle_slab": "Laje de telha de cobre",
|
||||
"block.create.copper_shingle_stairs": "Escada de telha de cobre",
|
||||
"block.create.copper_shingles": "Telha de cobre",
|
||||
|
@ -201,8 +201,8 @@
|
|||
"block.create.deployer": "Implantador",
|
||||
"block.create.depot": "Depósito",
|
||||
"block.create.diorite_pillar": "Pilar de diorito",
|
||||
"block.create.display_board": "UNLOCALIZED: Display Board",
|
||||
"block.create.display_link": "UNLOCALIZED: Display Link",
|
||||
"block.create.display_board": "Placa de exibição",
|
||||
"block.create.display_link": "Conexão de placa de exibição",
|
||||
"block.create.dripstone_pillar": "Pilar de espeleotema",
|
||||
"block.create.encased_chain_drive": "Correia Revestida",
|
||||
"block.create.encased_fan": "Ventilador Revestida",
|
||||
|
@ -213,15 +213,15 @@
|
|||
"block.create.exposed_copper_tile_slab": "Laje de ladrilho de cobre exposta",
|
||||
"block.create.exposed_copper_tile_stairs": "Escada de ladrilho de cobre exposta",
|
||||
"block.create.exposed_copper_tiles": "Ladrilho de cobre exposto",
|
||||
"block.create.fake_track": "UNLOCALIZED: Track Marker for Maps",
|
||||
"block.create.fake_track": "Marcador de trilhos para mapa",
|
||||
"block.create.fluid_pipe": "Cano de Fluido",
|
||||
"block.create.fluid_tank": "Tanque de fluido",
|
||||
"block.create.fluid_valve": "Válvula",
|
||||
"block.create.flywheel": "Volante de inércia",
|
||||
"block.create.framed_glass": "Vidro emoldurado",
|
||||
"block.create.framed_glass_door": "UNLOCALIZED: Framed Glass Door",
|
||||
"block.create.framed_glass_door": "Porta de vidro emoldurado",
|
||||
"block.create.framed_glass_pane": "Vidraça emoldurada",
|
||||
"block.create.framed_glass_trapdoor": "UNLOCALIZED: Framed Glass Trapdoor",
|
||||
"block.create.framed_glass_trapdoor": "Alçapão de vidro emoldurado",
|
||||
"block.create.gantry_carriage": "Carruagem de Pórtico",
|
||||
"block.create.gantry_shaft": "Eixo de Pórtico",
|
||||
"block.create.gearbox": "Caixa de Transmissão",
|
||||
|
@ -248,7 +248,7 @@
|
|||
"block.create.item_vault": "Cofre de itens",
|
||||
"block.create.jungle_window": "Janela da selva",
|
||||
"block.create.jungle_window_pane": "Vidraça da selva",
|
||||
"block.create.large_bogey": "UNLOCALIZED: Large Bogey",
|
||||
"block.create.large_bogey": "Roda grande do trem",
|
||||
"block.create.large_cogwheel": "Roda dentada grande",
|
||||
"block.create.layered_andesite": "Andesito estratificado",
|
||||
"block.create.layered_asurine": "Asurino estratificado",
|
||||
|
@ -302,8 +302,8 @@
|
|||
"block.create.mechanical_pump": "Bomba Mecânica",
|
||||
"block.create.mechanical_saw": "Serra Mecânica",
|
||||
"block.create.metal_bracket": "Suporte de metal",
|
||||
"block.create.metal_girder": "UNLOCALIZED: Metal Girder",
|
||||
"block.create.metal_girder_encased_shaft": "UNLOCALIZED: Metal Girder Encased Shaft",
|
||||
"block.create.metal_girder": "Viga de metal",
|
||||
"block.create.metal_girder_encased_shaft": "Eixo revestido com viga de metal",
|
||||
"block.create.millstone": "Pedra de Moer",
|
||||
"block.create.minecart_anchor": "Ancóra de carrinho de Mina",
|
||||
"block.create.mysterious_cuckoo_clock": "Relógio cuckoo",
|
||||
|
@ -332,7 +332,7 @@
|
|||
"block.create.pink_toolbox": "Caixa de ferramentas rosa",
|
||||
"block.create.pink_valve_handle": "Válvula rosa",
|
||||
"block.create.piston_extension_pole": "Vara de Extensão do Pistão",
|
||||
"block.create.placard": "UNLOCALIZED: Placard",
|
||||
"block.create.placard": "Cartaz",
|
||||
"block.create.polished_cut_andesite": "Andesito lapidado polido",
|
||||
"block.create.polished_cut_andesite_slab": "Laje de andesito lapidado polido",
|
||||
"block.create.polished_cut_andesite_stairs": "Escada de andesito lapidado polido",
|
||||
|
@ -392,9 +392,9 @@
|
|||
"block.create.portable_fluid_interface": "Interface de fluidos portátil",
|
||||
"block.create.portable_storage_interface": "Interface de armazenamento portátil",
|
||||
"block.create.powered_latch": "Trava de redstone",
|
||||
"block.create.powered_shaft": "UNLOCALIZED: Powered Shaft",
|
||||
"block.create.powered_toggle_latch": "Trave de alternância de redstone",
|
||||
"block.create.pulley_magnet": "Imã da Polia",
|
||||
"block.create.powered_shaft": "Eixo energizado",
|
||||
"block.create.powered_toggle_latch": "Trava de alternância de redstone",
|
||||
"block.create.pulley_magnet": "Ímã da Polia",
|
||||
"block.create.pulse_extender": "Extensor de pulso",
|
||||
"block.create.pulse_repeater": "Repetidor de Pulso",
|
||||
"block.create.purple_nixie_tube": "Tubo nixie roxo",
|
||||
|
@ -403,7 +403,7 @@
|
|||
"block.create.purple_toolbox": "Caixa de ferramentas roxa",
|
||||
"block.create.purple_valve_handle": "válvula roxa",
|
||||
"block.create.radial_chassis": "Chassis Radial",
|
||||
"block.create.railway_casing": "UNLOCALIZED: Train Casing",
|
||||
"block.create.railway_casing": "Revestimento de trem",
|
||||
"block.create.raw_zinc_block": "Bloco de zinco bruto",
|
||||
"block.create.red_nixie_tube": "Tubo nixie vermelho",
|
||||
"block.create.red_sail": "Vela vermelha",
|
||||
|
@ -415,11 +415,11 @@
|
|||
"block.create.refined_radiance_casing": "Revestimento Brilhante",
|
||||
"block.create.rope": "Corda",
|
||||
"block.create.rope_pulley": "Polia",
|
||||
"block.create.rose_quartz_block": "UNLOCALIZED: Block of Rose Quartz",
|
||||
"block.create.rose_quartz_lamp": "UNLOCALIZED: Rose Quartz Lamp",
|
||||
"block.create.rose_quartz_tiles": "UNLOCALIZED: Rose Quartz Tiles",
|
||||
"block.create.rotation_speed_controller": "Controlador de Velocidade Rotacional",
|
||||
"block.create.sail_frame": "moldura de vela",
|
||||
"block.create.rose_quartz_block": "Bloco de quartzo rosa",
|
||||
"block.create.rose_quartz_lamp": "Lâmpada de quartzo rosa",
|
||||
"block.create.rose_quartz_tiles": "Telha de quartzo rosa",
|
||||
"block.create.rotation_speed_controller": "Controlador de velocidade rotacional",
|
||||
"block.create.sail_frame": "Moldura de vela",
|
||||
"block.create.schematic_table": "Mesa de Esquema",
|
||||
"block.create.schematicannon": "Canhão de Esquema",
|
||||
"block.create.scorchia": "Escória negra",
|
||||
|
@ -427,8 +427,8 @@
|
|||
"block.create.scoria": "Escória",
|
||||
"block.create.scoria_pillar": "Pilar de escória",
|
||||
"block.create.secondary_linear_chassis": "Chassis linear secundário",
|
||||
"block.create.sequenced_gearshift": "Câmbio sequenciado",
|
||||
"block.create.shadow_steel_casing": "Revestiment das Sombras",
|
||||
"block.create.sequenced_gearshift": "Câmbio sequencial",
|
||||
"block.create.shadow_steel_casing": "Revestimento das Sombras",
|
||||
"block.create.shaft": "Eixo",
|
||||
"block.create.small_andesite_brick_slab": "Laje de tijolos pequenos de andesito",
|
||||
"block.create.small_andesite_brick_stairs": "Escada de tijolos pequenos de andesito",
|
||||
|
@ -438,7 +438,7 @@
|
|||
"block.create.small_asurine_brick_stairs": "Escada de tijolos pequenos de Asurino",
|
||||
"block.create.small_asurine_brick_wall": "Muro de tijolos pequenos de Asurino",
|
||||
"block.create.small_asurine_bricks": "Tijolos pequenos de Asurino",
|
||||
"block.create.small_bogey": "UNLOCALIZED: Small Bogey",
|
||||
"block.create.small_bogey": "Roda do trem pequena",
|
||||
"block.create.small_calcite_brick_slab": "Laje de tijolos pequenos de calcita",
|
||||
"block.create.small_calcite_brick_stairs": "Escada de tijolos pequenos de calcita",
|
||||
"block.create.small_calcite_brick_wall": "Muro de tijolos pequenos de calcita",
|
||||
|
@ -471,7 +471,7 @@
|
|||
"block.create.small_ochrum_brick_stairs": "Escada de tijolos pequenos de Ocrom",
|
||||
"block.create.small_ochrum_brick_wall": "Muro de tijolos pequenos de Ocrom",
|
||||
"block.create.small_ochrum_bricks": "Tijolos pequenos de Ocrom",
|
||||
"block.create.small_rose_quartz_tiles": "UNLOCALIZED: Small Rose Quartz Tiles",
|
||||
"block.create.small_rose_quartz_tiles": "Telha de quartzo rosa pequena",
|
||||
"block.create.small_scorchia_brick_slab": "Laje de tijolos pequenos de escória negra",
|
||||
"block.create.small_scorchia_brick_stairs": "Escada de tijolos pequenos de escória negra",
|
||||
"block.create.small_scorchia_brick_wall": "Muro de tijolos pequenos de escória negra",
|
||||
|
@ -494,21 +494,21 @@
|
|||
"block.create.spout": "Bica",
|
||||
"block.create.spruce_window": "Janela de pinheiro",
|
||||
"block.create.spruce_window_pane": "Vidraça de pinheiro",
|
||||
"block.create.steam_engine": "UNLOCALIZED: Steam Engine",
|
||||
"block.create.steam_whistle": "UNLOCALIZED: Steam Whistle",
|
||||
"block.create.steam_whistle_extension": "UNLOCALIZED: Steam Whistle Extension",
|
||||
"block.create.steam_engine": "Motor a vapor",
|
||||
"block.create.steam_whistle": "Apito a vapor",
|
||||
"block.create.steam_whistle_extension": "Extensão do apito a vapor",
|
||||
"block.create.sticker": "Adesivo",
|
||||
"block.create.sticky_mechanical_piston": "Pistão Mecânico Grudento",
|
||||
"block.create.stockpile_switch": "Disjuntor de Armazenamento",
|
||||
"block.create.stressometer": "Estressómetro",
|
||||
"block.create.tiled_glass": "Vidro Entalhado",
|
||||
"block.create.tiled_glass_pane": "Vidraça Entalhada",
|
||||
"block.create.track": "UNLOCALIZED: Train Track",
|
||||
"block.create.track_observer": "UNLOCALIZED: Train Observer",
|
||||
"block.create.track_signal": "UNLOCALIZED: Train Signal",
|
||||
"block.create.track_station": "UNLOCALIZED: Train Station",
|
||||
"block.create.train_door": "UNLOCALIZED: Train Door",
|
||||
"block.create.train_trapdoor": "UNLOCALIZED: Train Trapdoor",
|
||||
"block.create.track": "Trilho do trem",
|
||||
"block.create.track_observer": "Observador de trem",
|
||||
"block.create.track_signal": "Sinal de trem",
|
||||
"block.create.track_station": "Estação de trem",
|
||||
"block.create.train_door": "Porta de trem",
|
||||
"block.create.train_trapdoor": "Alçapão de trem",
|
||||
"block.create.tuff_pillar": "Pilar de tufo",
|
||||
"block.create.turntable": "Mesa giratória",
|
||||
"block.create.veridium": "Veridiano",
|
||||
|
@ -532,7 +532,7 @@
|
|||
"block.create.waxed_exposed_copper_tiles": "Ladrilhos de cobre exposto encerado",
|
||||
"block.create.waxed_oxidized_copper_shingle_slab": "Laje de telha de cobre oxidada encerada",
|
||||
"block.create.waxed_oxidized_copper_shingle_stairs": "Escada de telha de cobre oxidada encerada",
|
||||
"block.create.waxed_oxidized_copper_shingles": "Telha de cobre oxidada encerada",
|
||||
"block.create.waxed_oxidized_copper_shingles": "Telha de cobre oxidado encerada",
|
||||
"block.create.waxed_oxidized_copper_tile_slab": "Laje de ladrilhos de cobre oxidada encerada",
|
||||
"block.create.waxed_oxidized_copper_tile_stairs": "Escada de ladrilhos de cobre oxidada encerada",
|
||||
"block.create.waxed_oxidized_copper_tiles": "Ladrilhos de cobre oxidado encerado",
|
||||
|
@ -567,10 +567,10 @@
|
|||
"enchantment.create.capacity": "Capacidade",
|
||||
"enchantment.create.potato_recovery": "Recuperação de Batata",
|
||||
|
||||
"entity.create.carriage_contraption": "UNLOCALIZED: Carriage Contraption",
|
||||
"entity.create.carriage_contraption": "Engenhoca de carruagem",
|
||||
"entity.create.contraption": "Engenhoca",
|
||||
"entity.create.crafting_blueprint": "Esquema de Fabricação",
|
||||
"entity.create.gantry_contraption": "Engenhoca de Pórticolo",
|
||||
"entity.create.gantry_contraption": "Engenhoca de Pórtico",
|
||||
"entity.create.potato_projectile": "Projétil de batata",
|
||||
"entity.create.seat": "Assento",
|
||||
"entity.create.stationary_contraption": "Engenhoca estacionária",
|
||||
|
@ -595,8 +595,8 @@
|
|||
"item.create.chocolate_glazed_berries": "Baga com Cobertura de Chocolate",
|
||||
"item.create.chromatic_compound": "Composto Cromático",
|
||||
"item.create.cinder_flour": "Farinha de Netherrack",
|
||||
"item.create.copper_backtank": "Tanque Traseiro",
|
||||
"item.create.copper_backtank_placeable": "UNLOCALIZED: Copper Backtank Placeable",
|
||||
"item.create.copper_backtank": "Tanque Traseiro de cobre",
|
||||
"item.create.copper_backtank_placeable": "Tanque de cobre traseiro colocável",
|
||||
"item.create.copper_nugget": "Pepita de Cobre",
|
||||
"item.create.copper_sheet": "Chapa de Cobre",
|
||||
"item.create.crafter_slot_cover": "Cobertura do slot de fabricador",
|
||||
|
@ -631,7 +631,7 @@
|
|||
"item.create.honey_bucket": "Balde de Mel",
|
||||
"item.create.honeyed_apple": "Maçã com Cobertura de Mel",
|
||||
"item.create.incomplete_precision_mechanism": "Mecanismo de Precisão",
|
||||
"item.create.incomplete_track": "UNLOCALIZED: Incomplete Track",
|
||||
"item.create.incomplete_track": "trilho incompleto",
|
||||
"item.create.iron_sheet": "Chapa de Ferro",
|
||||
"item.create.linked_controller": "Controle conectado",
|
||||
"item.create.minecart_contraption": "Engenhoca de Carrinho de Mina",
|
||||
|
@ -646,15 +646,15 @@
|
|||
"item.create.refined_radiance": "Luz Refinada",
|
||||
"item.create.rose_quartz": "Quartzo Rosa",
|
||||
"item.create.sand_paper": "Lixa",
|
||||
"item.create.schedule": "UNLOCALIZED: Train Schedule",
|
||||
"item.create.schedule": "Programação do trem",
|
||||
"item.create.schematic": "Esquema",
|
||||
"item.create.schematic_and_quill": "Esquema e pena",
|
||||
"item.create.shadow_steel": "Aço sombrio",
|
||||
"item.create.sturdy_sheet": "UNLOCALIZED: Sturdy Sheet",
|
||||
"item.create.sturdy_sheet": "Chapa resistente",
|
||||
"item.create.super_glue": "Super Cola",
|
||||
"item.create.sweet_roll": "Rolinho Doce",
|
||||
"item.create.tree_fertilizer": "Fertilizante de Árvore",
|
||||
"item.create.unprocessed_obsidian_sheet": "UNLOCALIZED: Unprocessed Obsidian Sheet",
|
||||
"item.create.unprocessed_obsidian_sheet": "Chapa de obsidiana não processada",
|
||||
"item.create.vertical_gearbox": "Caixa de Transmissão Vertical",
|
||||
"item.create.wand_of_symmetry": "Varinha de Simetria",
|
||||
"item.create.wheat_flour": "Farinha de trigo",
|
||||
|
@ -669,29 +669,29 @@
|
|||
"advancement.create.root": "Bem vindo a Create",
|
||||
"advancement.create.root.desc": "É hora de construir engenhocas maravilhosas",
|
||||
"advancement.create.andesite_alloy": "Aliterações Em abundância",
|
||||
"advancement.create.andesite_alloy.desc": "Materiais do Create tem nomes estranhos, a liga de andesito é um deles.",
|
||||
"advancement.create.andesite_alloy.desc": "Materiais do Create têm nomes estranhos, a liga de andesito é um deles.",
|
||||
"advancement.create.andesite_casing": "A era do andesito",
|
||||
"advancement.create.andesite_casing.desc": "Use um pouco de liga de andesito e madeira para fazer um revestimento basico.",
|
||||
"advancement.create.mechanical_press": "UNLOCALIZED: Bonk",
|
||||
"advancement.create.mechanical_press.desc": "UNLOCALIZED: Create some sheets in a Mechanical Press",
|
||||
"advancement.create.encased_fan": "UNLOCALIZED: Wind maker",
|
||||
"advancement.create.encased_fan.desc": "UNLOCALIZED: Place and activate an Encased Fan",
|
||||
"advancement.create.fan_processing": "UNLOCALIZED: Processing by Particle",
|
||||
"advancement.create.fan_processing.desc": "UNLOCALIZED: Use an Encased Fan to process materials",
|
||||
"advancement.create.saw_processing": "UNLOCALIZED: Workshop's most feared",
|
||||
"advancement.create.saw_processing.desc": "UNLOCALIZED: Use an upright Mechanical Saw to process materials",
|
||||
"advancement.create.compacting": "UNLOCALIZED: Compactification",
|
||||
"advancement.create.compacting.desc": "UNLOCALIZED: Use a Press and a Basin to create less items from more items",
|
||||
"advancement.create.mechanical_press": "Bonk",
|
||||
"advancement.create.mechanical_press.desc": "Crie algumas chapas na prensa mecânica",
|
||||
"advancement.create.encased_fan": "Fazedor de vento",
|
||||
"advancement.create.encased_fan.desc": "Coloque e ative um ventilador revestido",
|
||||
"advancement.create.fan_processing": "Processando por particulas",
|
||||
"advancement.create.fan_processing.desc": "Use um ventilador revestido para processar materiais",
|
||||
"advancement.create.saw_processing": "O mais temido da oficina",
|
||||
"advancement.create.saw_processing.desc": "Use uma serra mecânica de pé para processar materiais",
|
||||
"advancement.create.compacting": "Compactação",
|
||||
"advancement.create.compacting.desc": "Use uma prensa e uma bacia para criar menos itens de mais itens",
|
||||
"advancement.create.belt": "Correia de alga",
|
||||
"advancement.create.belt.desc": "Conecte dois eixos com uma esteira mecânica.",
|
||||
"advancement.create.funnel": "UNLOCALIZED: Airport Aesthetic",
|
||||
"advancement.create.funnel.desc": "UNLOCALIZED: Extract or insert items into a container using a Funnel",
|
||||
"advancement.create.funnel": "Estética de aeroporto",
|
||||
"advancement.create.funnel.desc": "Extraia ou insira itens num container usando um funil de andesito",
|
||||
"advancement.create.chute": "Caindo",
|
||||
"advancement.create.chute.desc": "coloque uma calha a versão vertical da esteira mecanica.",
|
||||
"advancement.create.mechanical_mixer": "UNLOCALIZED: Mixing it up",
|
||||
"advancement.create.mechanical_mixer.desc": "UNLOCALIZED: Combine ingredients in a Mechanical Mixer",
|
||||
"advancement.create.burner": "UNLOCALIZED: Sentient Fireplace",
|
||||
"advancement.create.burner.desc": "UNLOCALIZED: Obtain a Blaze Burner",
|
||||
"advancement.create.chute.desc": "coloque uma calha a versão vertical da esteira mecânica.",
|
||||
"advancement.create.mechanical_mixer": "Misturando",
|
||||
"advancement.create.mechanical_mixer.desc": "Combina ingredientes em uma batedeira mecânica",
|
||||
"advancement.create.burner": "Fogueira viva",
|
||||
"advancement.create.burner.desc": "Obtenha um queimador de blaze",
|
||||
"advancement.create.water_wheel": "aproveitamento hidráulico",
|
||||
"advancement.create.water_wheel.desc": "Coloque uma roda de água e tente conseguir gira-la!",
|
||||
"advancement.create.windmill": "Uma brisa moderada",
|
||||
|
@ -700,160 +700,160 @@
|
|||
"advancement.create.shifting_gears.desc": "Conecte uma roda dentada grande com uma roda dentada pequena, permitindo você a mudar a velocidade da engenhoca.",
|
||||
"advancement.create.millstone": "Moedor portátil",
|
||||
"advancement.create.millstone.desc": "Coloque e energize uma pedra de moer",
|
||||
"advancement.create.super_glue": "UNLOCALIZED: Area of Connect",
|
||||
"advancement.create.super_glue.desc": "UNLOCALIZED: Super Glue some blocks into a group",
|
||||
"advancement.create.contraption_actors": "UNLOCALIZED: Moving with Purpose",
|
||||
"advancement.create.contraption_actors.desc": "UNLOCALIZED: Create a contraption with drills, saws or harvesters on board",
|
||||
"advancement.create.portable_storage_interface": "UNLOCALIZED: Drive-by exchange",
|
||||
"advancement.create.portable_storage_interface.desc": "UNLOCALIZED: Use a Portable Storage Interface to take or insert items into a contraption",
|
||||
"advancement.create.wrench_goggles": "UNLOCALIZED: Kitted out",
|
||||
"advancement.create.wrench_goggles.desc": "UNLOCALIZED: Equip Engineer's goggles and a Wrench",
|
||||
"advancement.create.super_glue": "Área de conexão",
|
||||
"advancement.create.super_glue.desc": "Cole alguns blocos em um grupo",
|
||||
"advancement.create.contraption_actors": "Movimento com proposito",
|
||||
"advancement.create.contraption_actors.desc": "Crie uma engenhoca com brocas, serras ou coletores a bordo",
|
||||
"advancement.create.portable_storage_interface": "Troca por drive-thru",
|
||||
"advancement.create.portable_storage_interface.desc": "Use uma interface de armazenamento portátil para extrair ou inserir itens numa engenhoca",
|
||||
"advancement.create.wrench_goggles": "Bem equipado",
|
||||
"advancement.create.wrench_goggles.desc": "Equipe um óculos do engenheiro e uma chave inglesa",
|
||||
"advancement.create.stressometer": "Mas quão estressado exatamente?",
|
||||
"advancement.create.stressometer.desc": "Coloque e energise o estressômetro. Olhe a este por atraves dos seus óculos para ler o valor exato.",
|
||||
"advancement.create.cuckoo_clock": "UNLOCALIZED: Is it Time?",
|
||||
"advancement.create.cuckoo_clock.desc": "UNLOCALIZED: Witness your Cuckoo Clock announce bedtime",
|
||||
"advancement.create.windmill_maxed": "UNLOCALIZED: A Strong Breeze",
|
||||
"advancement.create.windmill_maxed.desc": "UNLOCALIZED: Assemble a windmill of maximum strength",
|
||||
"advancement.create.ejector_maxed": "UNLOCALIZED: Springboard Champion",
|
||||
"advancement.create.ejector_maxed.desc": "UNLOCALIZED: Get launched for more than 30 blocks by a Weighted Ejector",
|
||||
"advancement.create.pulley_maxed": "UNLOCALIZED: Rope to Nowhere",
|
||||
"advancement.create.pulley_maxed.desc": "UNLOCALIZED: Extend a Rope Pulley over 200 blocks deep",
|
||||
"advancement.create.cart_pickup": "UNLOCALIZED: Strong Arms",
|
||||
"advancement.create.cart_pickup.desc": "UNLOCALIZED: Pick up a Minecart Contraption with at least 200 attached blocks",
|
||||
"advancement.create.anvil_plough": "UNLOCALIZED: Blacksmith Artillery",
|
||||
"advancement.create.anvil_plough.desc": "UNLOCALIZED: Launch an Anvil with Mechanical ploughs",
|
||||
"advancement.create.lava_wheel_00000": "UNLOCALIZED: Magma Wheel",
|
||||
"advancement.create.lava_wheel_00000.desc": "UNLOCALIZED: This shouldn't have worked§7\n(Hidden Advancement)",
|
||||
"advancement.create.hand_crank_000": "UNLOCALIZED: Workout Session",
|
||||
"advancement.create.hand_crank_000.desc": "UNLOCALIZED: Use a Hand Crank until fully exhausted§7\n(Hidden Advancement)",
|
||||
"advancement.create.belt_funnel_kiss": "UNLOCALIZED: The Parrots and the Flaps",
|
||||
"advancement.create.stressometer.desc": "Coloque e energise o estressômetro. Olhe a este por através dos seus óculos para ler o valor exato.",
|
||||
"advancement.create.cuckoo_clock": "Mas é a hora?",
|
||||
"advancement.create.cuckoo_clock.desc": "testemunhe seu relógio cuckoo anunciar a hora de dormir",
|
||||
"advancement.create.windmill_maxed": "Uma brisa forte",
|
||||
"advancement.create.windmill_maxed.desc": "Monte um moinho de vento com força maxima",
|
||||
"advancement.create.ejector_maxed": "Campeão do trampolim",
|
||||
"advancement.create.ejector_maxed.desc": "Seja lançado mais de 30 blocos por um ejetor ponderado",
|
||||
"advancement.create.pulley_maxed": "Corda para lugar nenhum",
|
||||
"advancement.create.pulley_maxed.desc": "Extenda uma corda por mais de 200 blocos de profundidade",
|
||||
"advancement.create.cart_pickup": "Braçõs fortes",
|
||||
"advancement.create.cart_pickup.desc": "Pegue uma engenhoca de carrinho de minas com pelos menos 200 blocos colados",
|
||||
"advancement.create.anvil_plough": "Artilharia de ferreiro",
|
||||
"advancement.create.anvil_plough.desc": "Lance uma bigorna com um arador mecânico",
|
||||
"advancement.create.lava_wheel_00000": "Roda de magma",
|
||||
"advancement.create.lava_wheel_00000.desc": "Isso nãoi deveria ter funcionado§7\n(Hidden Advancement)",
|
||||
"advancement.create.hand_crank_000": "Sessão de malhação",
|
||||
"advancement.create.hand_crank_000.desc": "Use uma manivela até estar completamente exausto§7\n(Hidden Advancement)",
|
||||
"advancement.create.belt_funnel_kiss": "Os pombinhos",
|
||||
"advancement.create.belt_funnel_kiss.desc": "Faça dois funis de esteira beijarem.",
|
||||
"advancement.create.stressometer_maxed": "UNLOCALIZED: Perfectly Stressed",
|
||||
"advancement.create.stressometer_maxed.desc": "UNLOCALIZED: Get a 100% readout from a Stressometer§7\n(Hidden Advancement)",
|
||||
"advancement.create.copper": "UNLOCALIZED: More Sturdier Rocks",
|
||||
"advancement.create.copper.desc": "UNLOCALIZED: Amass some Copper for your exploits in Fluid Manipulation",
|
||||
"advancement.create.stressometer_maxed": "Perfeitamente estressado",
|
||||
"advancement.create.stressometer_maxed.desc": "Consiga uma leitura de 100% de um estressómetro§7\n(Hidden Advancement)",
|
||||
"advancement.create.copper": "Rochas mais resistentes",
|
||||
"advancement.create.copper.desc": "Acumule cobre para as suas explorações na manipulações de fluido",
|
||||
"advancement.create.copper_casing": "A era do cobre",
|
||||
"advancement.create.copper_casing.desc": "Use um pouco de chapas de cobre e madeira para criar um pouco de revestimentos de cobre.",
|
||||
"advancement.create.spout": "Sploosh",
|
||||
"advancement.create.spout.desc": "Assista um item ser enchido usando uma bica.",
|
||||
"advancement.create.drain": "UNLOCALIZED: Tumble Draining",
|
||||
"advancement.create.drain.desc": "UNLOCALIZED: Watch a fluid containing item be emptied by an Item Drain",
|
||||
"advancement.create.steam_engine": "UNLOCALIZED: The Powerhouse",
|
||||
"advancement.create.steam_engine.desc": "UNLOCALIZED: Use a Steam engine to generate torque",
|
||||
"advancement.create.steam_whistle": "UNLOCALIZED: Voice of an Angel",
|
||||
"advancement.create.steam_whistle.desc": "UNLOCALIZED: Activate a Steam Whistle",
|
||||
"advancement.create.backtank": "UNLOCALIZED: Pressure to Go",
|
||||
"advancement.create.backtank.desc": "UNLOCALIZED: Create a copper backtank and make it accumulate Air Pressure",
|
||||
"advancement.create.diving_suit": "UNLOCALIZED: Ready for the Depths",
|
||||
"advancement.create.diving_suit.desc": "UNLOCALIZED: Equip a diving helmet together with your backtank and jump into water",
|
||||
"advancement.create.mechanical_pump_0": "UNLOCALIZED: Under Pressure",
|
||||
"advancement.create.mechanical_pump_0.desc": "UNLOCALIZED: Place and power a Mechanical Pump",
|
||||
"advancement.create.drain": "Cambalhotas de drenagem",
|
||||
"advancement.create.drain.desc": "Assista um item contendo fluidos ser esvaziado por um dreno de itens",
|
||||
"advancement.create.steam_engine": "A usina",
|
||||
"advancement.create.steam_engine.desc": "Use um motor a vapor para gerar torque",
|
||||
"advancement.create.steam_whistle": "Voz de um anjo",
|
||||
"advancement.create.steam_whistle.desc": "Ative um apito a vapor",
|
||||
"advancement.create.backtank": "Pressão para ir",
|
||||
"advancement.create.backtank.desc": "Crie um tanque traseiro de cobre e faça ele acumular pressão",
|
||||
"advancement.create.diving_suit": "Preparado para as profundezas",
|
||||
"advancement.create.diving_suit.desc": "Equipe um capacete de mergulhador junto com o seu tanque traseiro de cobre e pule na água",
|
||||
"advancement.create.mechanical_pump_0": "Sobre pressão",
|
||||
"advancement.create.mechanical_pump_0.desc": "Coloque e ative uma bomba mecânica",
|
||||
"advancement.create.glass_pipe": "Espião de fluxo",
|
||||
"advancement.create.glass_pipe.desc": "Assista fluidos se propagarem por através de canos de fluido com janela. Canos retos ficam com janelas quando uma chave inglesa é usada neles.",
|
||||
"advancement.create.water_supply": "UNLOCALIZED: Puddle Collector",
|
||||
"advancement.create.water_supply.desc": "UNLOCALIZED: Use the pulling end of a pipe or pump to collect a water block",
|
||||
"advancement.create.water_supply": "Coletor de poças",
|
||||
"advancement.create.water_supply.desc": "Use a extremidade sugante de um cano ou bomba para coletar blocos de água",
|
||||
"advancement.create.hose_pulley": "Vazamento industrial",
|
||||
"advancement.create.hose_pulley.desc": "desça uma polia de mangueira e assista esta drenar ou encher qualquer corpo de fluido.",
|
||||
"advancement.create.chocolate_bucket": "UNLOCALIZED: A World of Imagination",
|
||||
"advancement.create.chocolate_bucket.desc": "UNLOCALIZED: Obtain a Bucket of Molten Chocolate",
|
||||
"advancement.create.honey_drain": "UNLOCALIZED: Autonomous Bee-Keeping",
|
||||
"advancement.create.honey_drain.desc": "UNLOCALIZED: Use pipes to pull honey from a Bee Nest or Bee House",
|
||||
"advancement.create.hose_pulley_lava": "UNLOCALIZED: Tapping the Mantle",
|
||||
"advancement.create.hose_pulley_lava.desc": "UNLOCALIZED: Pump from a body of Lava large enough to be considered infinite",
|
||||
"advancement.create.steam_engine_maxed": "UNLOCALIZED: Full Steam",
|
||||
"advancement.create.steam_engine_maxed.desc": "UNLOCALIZED: Run a boiler at the maximum level of power",
|
||||
"advancement.create.foods": "UNLOCALIZED: Balanced Diet",
|
||||
"advancement.create.foods.desc": "UNLOCALIZED: Create Chocolate Berries, a Honeyed Apple and a Sweet Roll; all from the same Spout",
|
||||
"advancement.create.diving_suit_lava": "UNLOCALIZED: Swimming with the Striders",
|
||||
"advancement.create.diving_suit_lava.desc": "UNLOCALIZED: Attempt to take a dive in lava with your Copper Diving Gear§7\n(Hidden Advancement)",
|
||||
"advancement.create.chained_drain": "UNLOCALIZED: On a Roll",
|
||||
"advancement.create.chained_drain.desc": "UNLOCALIZED: Watch an Item move across a row of Item Drains§7\n(Hidden Advancement)",
|
||||
"advancement.create.cross_streams": "UNLOCALIZED: Don't cross the Streams!",
|
||||
"advancement.create.cross_streams.desc": "UNLOCALIZED: Watch two fluids meet in your pipe network§7\n(Hidden Advancement)",
|
||||
"advancement.create.pipe_organ": "UNLOCALIZED: The Pipe Organ",
|
||||
"advancement.create.pipe_organ.desc": "UNLOCALIZED: Attach 12 uniquely pitched Steam Whistles to a single fluid tank§7\n(Hidden Advancement)",
|
||||
"advancement.create.chocolate_bucket": "Um mundo de imaginação",
|
||||
"advancement.create.chocolate_bucket.desc": "Obtenha um balde de chocolate derretido",
|
||||
"advancement.create.honey_drain": "Apicultura autônoma",
|
||||
"advancement.create.honey_drain.desc": "Use canos para sugar o mel de colmeias ou colmeias artificiais",
|
||||
"advancement.create.hose_pulley_lava": "Extraindo o manto",
|
||||
"advancement.create.hose_pulley_lava.desc": "Bombeie de um corpo de lava grande o bastante para ser considerado infinito",
|
||||
"advancement.create.steam_engine_maxed": "Todo o vapor",
|
||||
"advancement.create.steam_engine_maxed.desc": "Opere uma caldeira na potencia maxima",
|
||||
"advancement.create.foods": "Dieta equilibrada",
|
||||
"advancement.create.foods.desc": "Crie bagas doces com chocolate, maçã com cobertura de mel e um rolinho doce; todas da mesma bica",
|
||||
"advancement.create.diving_suit_lava": "Nadando com os lavagantes",
|
||||
"advancement.create.diving_suit_lava.desc": "Tente mergulhar na lava com o seu equipamento de mergulho de cobre§7\n(Hidden Advancement)",
|
||||
"advancement.create.chained_drain": "Rolando",
|
||||
"advancement.create.chained_drain.desc": "Assista um item se mover através de uma fileira de drenos de item§7\n(Hidden Advancement)",
|
||||
"advancement.create.cross_streams": "Não cruze os fluxos!",
|
||||
"advancement.create.cross_streams.desc": "Assista dois fluidos se encontrarem na sua rede de canos§7\n(Hidden Advancement)",
|
||||
"advancement.create.pipe_organ": "Órgão de tubo",
|
||||
"advancement.create.pipe_organ.desc": "Conecte 12 apitos a vapor com afinação diferentes a um único tanque de fluidos§7\n(Hidden Advancement)",
|
||||
"advancement.create.brass": "Ligas de verdade",
|
||||
"advancement.create.brass.desc": "Use cobre esmagado e zinco esmagado para criar um pouco de latão.",
|
||||
"advancement.create.brass_casing": "a era do latão",
|
||||
"advancement.create.brass_casing.desc": "Use o recentemente obtido latão e um pouco de madeira para criar um revestimento mais avançado.",
|
||||
"advancement.create.rose_quartz": "UNLOCALIZED: Pink Diamonds",
|
||||
"advancement.create.rose_quartz.desc": "UNLOCALIZED: Polish some Rose Quartz",
|
||||
"advancement.create.rose_quartz": "Diamantes rosa",
|
||||
"advancement.create.rose_quartz.desc": "Pula alguns quartzos rosas",
|
||||
"advancement.create.deployer": "Cutuque, coloque e ataque",
|
||||
"advancement.create.deployer.desc": "coloque e energize um implantador, o reflexo perfeito de voce mesmo.",
|
||||
"advancement.create.deployer.desc": "coloque e energize um implantador, o reflexo perfeito de você mesmo.",
|
||||
"advancement.create.precision_mechanism": "Curiosidades complexas",
|
||||
"advancement.create.precision_mechanism.desc": "Monte um mecanismo de precisão.",
|
||||
"advancement.create.speed_controller": "Engenheiros odiam ele!",
|
||||
"advancement.create.speed_controller.desc": "Coloque um Controlador de velocidade rotacional, o dispositivo ultimato para mudança de marcha.",
|
||||
"advancement.create.mechanical_arm": "Mâos ocupadas!",
|
||||
"advancement.create.mechanical_arm.desc": "Fabrique um braço mecânico,selecione as entradas e saidas,Coloque e energize o; em seguida assista como elo faz todo o trabalho para você.",
|
||||
"advancement.create.mechanical_crafter": "UNLOCALIZED: Automated Assembly",
|
||||
"advancement.create.mechanical_crafter.desc": "UNLOCALIZED: Place and power some Mechanical Crafters",
|
||||
"advancement.create.mechanical_arm.desc": "Fabrique um braço mecânico,selecione as entradas e saídas,Coloque e energize o; em seguida assista como elo faz todo o trabalho para você.",
|
||||
"advancement.create.mechanical_crafter": "Fabricação automatica",
|
||||
"advancement.create.mechanical_crafter.desc": "Coloque e ative alguns fabricadores mecânicos and power some Mechanical Crafters",
|
||||
"advancement.create.crushing_wheel": "Par de gigantes",
|
||||
"advancement.create.crushing_wheel.desc": "Crie algumas rodas de moer para triturar alguns materiais eficientemente.",
|
||||
"advancement.create.haunted_bell": "UNLOCALIZED: Shadow Sense",
|
||||
"advancement.create.haunted_bell.desc": "UNLOCALIZED: Toll a Haunted Bell",
|
||||
"advancement.create.haunted_bell": "Sentido sombrio",
|
||||
"advancement.create.haunted_bell.desc": "toque um sino assombrado",
|
||||
"advancement.create.clockwork_bearing": "Hora da engenhoca",
|
||||
"advancement.create.clockwork_bearing.desc": "Ative uma estrutura conectada a um rolamento de rêlogio.",
|
||||
"advancement.create.display_link": "UNLOCALIZED: Big Data",
|
||||
"advancement.create.display_link.desc": "UNLOCALIZED: Use a Display link to visualise information",
|
||||
"advancement.create.clockwork_bearing.desc": "Ative uma estrutura conectada a um rolamento de relógio.",
|
||||
"advancement.create.display_link": "Grandes dados",
|
||||
"advancement.create.display_link.desc": "Use uma conexão de placa de exibição para visualizar informações",
|
||||
"advancement.create.potato_cannon": "Fwoomp!",
|
||||
"advancement.create.potato_cannon.desc": "Derrote um inimigo com o seu canhão de batata.",
|
||||
"advancement.create.extendo_grip": "Boioioing!",
|
||||
"advancement.create.extendo_grip.desc": "Apossar-se de uma extensão de pegador.",
|
||||
"advancement.create.linked_controller": "UNLOCALIZED: Remote Activation",
|
||||
"advancement.create.linked_controller.desc": "UNLOCALIZED: Activate a Redstone Link using a Linked Controller",
|
||||
"advancement.create.linked_controller": "Ativação remota",
|
||||
"advancement.create.linked_controller.desc": "Ative uma coneção de redstone usando um controle conectado",
|
||||
"advancement.create.arm_blaze_burner": "Combuste-tron",
|
||||
"advancement.create.arm_blaze_burner.desc": "Instrua um braço mecânico para alimentar seu queimador de blaze.",
|
||||
"advancement.create.crusher_maxed_0000": "UNLOCALIZED: Crushing it",
|
||||
"advancement.create.crusher_maxed_0000.desc": "UNLOCALIZED: Operate a Pair of Crushing wheels at max speed",
|
||||
"advancement.create.crusher_maxed_0000": "Triturando",
|
||||
"advancement.create.crusher_maxed_0000.desc": "Opere um par de rodas de moer na velocidade maxima",
|
||||
"advancement.create.arm_many_targets": "Organiza-tron",
|
||||
"advancement.create.arm_many_targets.desc": "Programe um braço mecânico com dez ou mais locais de saida.",
|
||||
"advancement.create.potato_cannon_collide": "UNLOCALIZED: Veggie Fireworks",
|
||||
"advancement.create.potato_cannon_collide.desc": "UNLOCALIZED: Cause potato cannon projectiles of different types to collide with each other",
|
||||
"advancement.create.self_deploying": "UNLOCALIZED: Self-Driving Cart",
|
||||
"advancement.create.self_deploying.desc": "UNLOCALIZED: Create a Minecart Contraption that places tracks in front of itself",
|
||||
"advancement.create.arm_many_targets.desc": "Programe um braço mecânico com dez ou mais locais de saída.",
|
||||
"advancement.create.potato_cannon_collide": "Fogos de artificios vegetais",
|
||||
"advancement.create.potato_cannon_collide.desc": "Colida diferentes tipos de projéteis do canhão de batata",
|
||||
"advancement.create.self_deploying": "Carrinho com auto-condução",
|
||||
"advancement.create.self_deploying.desc": "Crie uma engenhoca de carrinho de minas que coloque trilhos à frente de si mesmo",
|
||||
"advancement.create.fist_bump": "Bate isso, mano!",
|
||||
"advancement.create.fist_bump.desc": "Faça dois implantadores baterem com o punho.",
|
||||
"advancement.create.crafter_lazy_000": "UNLOCALIZED: Desperate Measures",
|
||||
"advancement.create.crafter_lazy_000.desc": "UNLOCALIZED: Drastically slow down a Mechanical Crafter to procrastinate on proper infrastructure§7\n(Hidden Advancement)",
|
||||
"advancement.create.extendo_grip_dual": "UNLOCALIZED: To full Extent",
|
||||
"advancement.create.extendo_grip_dual.desc": "UNLOCALIZED: Dual wield Extendo Grips for super-human reach§7\n(Hidden Advancement)",
|
||||
"advancement.create.crafter_lazy_000": "Medidas desesperadas",
|
||||
"advancement.create.crafter_lazy_000.desc": "Drasticamente desacelere um fabricador mecânico para procrastinar numa verdadeira infraestrutura§7\n(Hidden Advancement)",
|
||||
"advancement.create.extendo_grip_dual": "Extensão completa",
|
||||
"advancement.create.extendo_grip_dual.desc": "Empunhe duas extensões de pegadores para ter alcance super-humano§7\n(Hidden Advancement)",
|
||||
"advancement.create.musical_arm": "toque minha musica!",
|
||||
"advancement.create.musical_arm.desc": "Assista um braço mecânico operar seu toca-discos.",
|
||||
"advancement.create.sturdy_sheet": "UNLOCALIZED: The Sturdiest Rocks",
|
||||
"advancement.create.sturdy_sheet.desc": "UNLOCALIZED: Assemble a Sturdy Sheet from refining crushed Obsidian",
|
||||
"advancement.create.train_casing_00": "UNLOCALIZED: The Logistical Age",
|
||||
"advancement.create.train_casing_00.desc": "UNLOCALIZED: Use Sturdy Sheets to create a Casing for Railway Components",
|
||||
"advancement.create.train": "UNLOCALIZED: All Aboard!",
|
||||
"advancement.create.train.desc": "UNLOCALIZED: Assemble your first Train",
|
||||
"advancement.create.conductor": "UNLOCALIZED: Conductor Instructor",
|
||||
"advancement.create.conductor.desc": "UNLOCALIZED: Instruct a Train driver with a Schedule",
|
||||
"advancement.create.track_signal": "UNLOCALIZED: Traffic Control",
|
||||
"advancement.create.track_signal.desc": "UNLOCALIZED: Place a Train Signal",
|
||||
"advancement.create.display_board_0": "UNLOCALIZED: Dynamic Timetables",
|
||||
"advancement.create.display_board_0.desc": "UNLOCALIZED: Forecast a Train's arrival on your Display Board with the help of Display Links",
|
||||
"advancement.create.track_0": "UNLOCALIZED: A new Gauge",
|
||||
"advancement.create.track_0.desc": "UNLOCALIZED: Obtain some Train Tracks",
|
||||
"advancement.create.train_whistle": "UNLOCALIZED: Choo choo!",
|
||||
"advancement.create.train_whistle.desc": "UNLOCALIZED: Assemble a Steam Whistle to your Train and activate it while driving",
|
||||
"advancement.create.train_portal": "UNLOCALIZED: Dimensional Commuter",
|
||||
"advancement.create.train_portal.desc": "UNLOCALIZED: Ride a train through a Nether Portal",
|
||||
"advancement.create.track_crafting_factory": "UNLOCALIZED: Track Factory",
|
||||
"advancement.create.track_crafting_factory.desc": "UNLOCALIZED: Produce more than 1000 train tracks in the same Mechanical Press",
|
||||
"advancement.create.long_bend": "UNLOCALIZED: The Longest Bend",
|
||||
"advancement.create.long_bend.desc": "UNLOCALIZED: Create a Curved track section that spans more than 30 blocks in length",
|
||||
"advancement.create.long_train": "UNLOCALIZED: Ambitious Endeavours",
|
||||
"advancement.create.long_train.desc": "UNLOCALIZED: Create a Train with at least six Carriages",
|
||||
"advancement.create.long_travel": "UNLOCALIZED: Field Trip",
|
||||
"advancement.create.long_travel.desc": "UNLOCALIZED: Leave a Train Seat over 5000 blocks away from where you started travelling",
|
||||
"advancement.create.train_roadkill": "UNLOCALIZED: Road Kill",
|
||||
"advancement.create.train_roadkill.desc": "UNLOCALIZED: Run over an Enemy with your Train§7\n(Hidden Advancement)",
|
||||
"advancement.create.red_signal": "UNLOCALIZED: Expert Driver",
|
||||
"advancement.create.red_signal.desc": "UNLOCALIZED: Run a Red Signal with your Train§7\n(Hidden Advancement)",
|
||||
"advancement.create.train_crash": "UNLOCALIZED: Terrible Service",
|
||||
"advancement.create.train_crash.desc": "UNLOCALIZED: Witness a Train Crash as a Passenger§7\n(Hidden Advancement)",
|
||||
"advancement.create.train_crash_backwards": "UNLOCALIZED: Blind Spot",
|
||||
"advancement.create.train_crash_backwards.desc": "UNLOCALIZED: Crash into another Train while driving backwards§7\n(Hidden Advancement)",
|
||||
"advancement.create.sturdy_sheet": "As rochas mais resistentes",
|
||||
"advancement.create.sturdy_sheet.desc": "Monte uma chapa resistente refinado obsidiana esmagada",
|
||||
"advancement.create.train_casing_00": "A era da logistica",
|
||||
"advancement.create.train_casing_00.desc": "Use chapas resistente para criar o revestimento para componentes ferroviários",
|
||||
"advancement.create.train": "Todos a bordo!",
|
||||
"advancement.create.train.desc": "Monte o seu primeiro trem",
|
||||
"advancement.create.conductor": "Condutor instrutor",
|
||||
"advancement.create.conductor.desc": "Instrua um maquinista com uma programação",
|
||||
"advancement.create.track_signal": "Controle de tráfego",
|
||||
"advancement.create.track_signal.desc": "Coloque um sinal de trem",
|
||||
"advancement.create.display_board_0": "Horarios dinâmicos",
|
||||
"advancement.create.display_board_0.desc": "Exiba a previsão de chegada de um trem na sua placa de exibição com a ajuda da conexão de placa de exibição",
|
||||
"advancement.create.track_0": "Uma nova medida",
|
||||
"advancement.create.track_0.desc": "Obtenha alguns trilhos de trem",
|
||||
"advancement.create.train_whistle": "Choo choo!",
|
||||
"advancement.create.train_whistle.desc": "Monte um apito a vapor no seu trem e ative ele enquanto dirige",
|
||||
"advancement.create.train_portal": "Transporte dimensional",
|
||||
"advancement.create.train_portal.desc": "Ande de trem através de um portal do Nether",
|
||||
"advancement.create.track_crafting_factory": "Fabrica de trilhos",
|
||||
"advancement.create.track_crafting_factory.desc": "Produza mais de 1000 trilhos de trem no mesmo fabricador mecânico",
|
||||
"advancement.create.long_bend": "A curva mais longa",
|
||||
"advancement.create.long_bend.desc": "Crie uma seção de trilho curvada que abrange mais de 30 blocos de comprimento",
|
||||
"advancement.create.long_train": "Esforços ambiciosos",
|
||||
"advancement.create.long_train.desc": "Crie um trem com pelo menos 6 vagões",
|
||||
"advancement.create.long_travel": "Viagem de campo",
|
||||
"advancement.create.long_travel.desc": "Deixe um assento de trem a mais de 5000 blocos de distância da onde você começou a viagem",
|
||||
"advancement.create.train_roadkill": "Atropelamento",
|
||||
"advancement.create.train_roadkill.desc": "Atropele um inimigo com o seu trem§7\n(Hidden Advancement)",
|
||||
"advancement.create.red_signal": "Motorista expert",
|
||||
"advancement.create.red_signal.desc": "Atravesse um sinal vermelho com o seu trem§7\n(Hidden Advancement)",
|
||||
"advancement.create.train_crash": "Serviço terrivel",
|
||||
"advancement.create.train_crash.desc": "Testemunhe uma batida de trem como um passageiro§7\n(Hidden Advancement)",
|
||||
"advancement.create.train_crash_backwards": "Ponto cego",
|
||||
"advancement.create.train_crash_backwards.desc": "Bata em outro trem enquanto dirige para trás§7\n(Hidden Advancement)",
|
||||
|
||||
|
||||
"_": "->------------------------] UI & Messages [------------------------<-",
|
||||
|
@ -875,7 +875,7 @@
|
|||
"death.attack.create.potato_cannon.item": "%1$s foi atirado por %2$s usando %3$s",
|
||||
"death.attack.create.cuckoo_clock_explosion": "%1$s foi explodido por relógio cuco adulterado",
|
||||
"death.attack.create.cuckoo_clock_explosion.player": "%1$s foi explodido por relógio cuco adulterado",
|
||||
"death.attack.create.run_over": "UNLOCALIZED: %1$s was run over by %2$s",
|
||||
"death.attack.create.run_over": "%1$s foi atropelado por %2$s",
|
||||
|
||||
"create.block.deployer.damage_source_name": "Implantador rebelde",
|
||||
"create.block.cart_assembler.invalid": "Coloque o seu montador de carrinho de minas num trilho",
|
||||
|
@ -898,14 +898,14 @@
|
|||
"create.recipe.fan_haunting": "Assombração em massa",
|
||||
"create.recipe.fan_haunting.fan": "Ventilador atrás do fogo das almas ",
|
||||
"create.recipe.fan_blasting": "Fundição em massa",
|
||||
"create.recipe.fan_blasting.fan": "entilador atrás de lava",
|
||||
"create.recipe.fan_blasting.fan": "ventilador atrás de lava",
|
||||
"create.recipe.pressing": "Prensando",
|
||||
"create.recipe.mixing": "Misturando",
|
||||
"create.recipe.deploying": "Implantando",
|
||||
"create.recipe.automatic_shapeless": "Fabricação sem forma automático",
|
||||
"create.recipe.automatic_brewing": "Produção de poções",
|
||||
"create.recipe.packing": "Compactando",
|
||||
"create.recipe.automatic_packing": "Compactamento automático",
|
||||
"create.recipe.automatic_packing": "Compactação automático",
|
||||
"create.recipe.sawing": "Serrando",
|
||||
"create.recipe.mechanical_crafting": "Fabricação mecânica",
|
||||
"create.recipe.automatic_shaped": "Fabricação com forma automática",
|
||||
|
@ -915,8 +915,8 @@
|
|||
"create.recipe.mystery_conversion": "Conversão misteriosa",
|
||||
"create.recipe.spout_filling": "Preenchimento com bica",
|
||||
"create.recipe.draining": "Drenação de item",
|
||||
"create.recipe.item_application": "UNLOCALIZED: Manual Item Application",
|
||||
"create.recipe.item_application.any_axe": "UNLOCALIZED: Any Axe",
|
||||
"create.recipe.item_application": "Aplicação de item manual",
|
||||
"create.recipe.item_application.any_axe": "Qualquer machado",
|
||||
"create.recipe.sequenced_assembly": "Montagem sequenciada",
|
||||
"create.recipe.assembly.next": "Proximo: %1$s",
|
||||
"create.recipe.assembly.step": "Passo %1$s:",
|
||||
|
@ -940,26 +940,26 @@
|
|||
"create.generic.length": "Comprimento",
|
||||
"create.generic.speed": "Velocidade",
|
||||
"create.generic.delay": "Demorada",
|
||||
"create.generic.duration": "UNLOCALIZED: Duration",
|
||||
"create.generic.timeUnit": "UNLOCALIZED: Time Unit",
|
||||
"create.generic.duration": "Duração",
|
||||
"create.generic.timeUnit": "Unidade de tempo",
|
||||
"create.generic.unit.ticks": "Ticks",
|
||||
"create.generic.unit.seconds": "Segundos",
|
||||
"create.generic.unit.minutes": "Minutos",
|
||||
"create.generic.daytime.hour": "UNLOCALIZED: Hour",
|
||||
"create.generic.daytime.minute": "UNLOCALIZED: Minute",
|
||||
"create.generic.daytime.second": "UNLOCALIZED: Second",
|
||||
"create.generic.daytime.pm": "UNLOCALIZED: pm",
|
||||
"create.generic.daytime.am": "UNLOCALIZED: am",
|
||||
"create.generic.daytime.hour": "Horas",
|
||||
"create.generic.daytime.minute": "Minuto",
|
||||
"create.generic.daytime.second": "Segundo",
|
||||
"create.generic.daytime.pm": "Da tarde",
|
||||
"create.generic.daytime.am": "Da manhã",
|
||||
"create.generic.unit.rpm": "RPM",
|
||||
"create.generic.unit.stress": "us",
|
||||
"create.generic.unit.degrees": "°",
|
||||
"create.generic.unit.millibuckets": "%1$smB",
|
||||
"create.generic.unit.buckets": "UNLOCALIZED: B",
|
||||
"create.generic.unit.buckets": "B",
|
||||
"create.generic.clockwise": "Sentido horário",
|
||||
"create.generic.counter_clockwise": "Sentido anti-horário",
|
||||
"create.generic.in_quotes": "UNLOCALIZED: \"%1$s\"",
|
||||
"create.generic.pitch": "UNLOCALIZED: Pitch: %1$s",
|
||||
"create.generic.notes": "UNLOCALIZED: F#;F;E;D#;D;C#;C;B;A#;A;G#;G",
|
||||
"create.generic.in_quotes": "\"%1$s\"",
|
||||
"create.generic.pitch": "Afinação: %1$s",
|
||||
"create.generic.notes": "F#;F;E;D#;D;C#;C;B;A#;A;G#;G",
|
||||
|
||||
"create.action.scroll": "Rolar",
|
||||
"create.action.confirm": "Confirmar",
|
||||
|
@ -1243,7 +1243,7 @@
|
|||
"create.item_attributes.damaged": "Está danificado",
|
||||
"create.item_attributes.damaged.inverted": "Não está danificado",
|
||||
"create.item_attributes.badly_damaged": "Está severamente danificado",
|
||||
"create.item_attributes.badly_damaged.inverted": "Não esta severamente danificado",
|
||||
"create.item_attributes.badly_damaged.inverted": "Não está severamente danificado",
|
||||
"create.item_attributes.not_stackable": "Não pode ser empilhado",
|
||||
"create.item_attributes.not_stackable.inverted": "Pode ser empilhado",
|
||||
"create.item_attributes.equipable": "Pode ser equipado",
|
||||
|
@ -1262,6 +1262,8 @@
|
|||
"create.item_attributes.smokable.inverted": "Não pode ser defumado",
|
||||
"create.item_attributes.blastable": "È fundível no alto-forno",
|
||||
"create.item_attributes.blastable.inverted": "Não é fundível no alto-forno",
|
||||
"create.item_attributes.compostable": "UNLOCALIZED: can be composted",
|
||||
"create.item_attributes.compostable.inverted": "UNLOCALIZED: cannot be composted",
|
||||
"create.item_attributes.shulker_level": "O shulker é %1$s",
|
||||
"create.item_attributes.shulker_level.inverted": "O shulker não é %1$s",
|
||||
"create.item_attributes.shulker_level.full": "Cheio",
|
||||
|
@ -1297,8 +1299,8 @@
|
|||
"create.item_attributes.astralsorcery_constellation.inverted": "Não esta sintonizado a %1$s",
|
||||
"create.item_attributes.astralsorcery_crystal": "Tem atributos de cristais %1$s",
|
||||
"create.item_attributes.astralsorcery_crystal.inverted": "Não tem atributos de cristais %1$s",
|
||||
"create.item_attributes.astralsorcery_perk_gem": " %1$s Tem um atributo de benefio",
|
||||
"create.item_attributes.astralsorcery_perk_gem.inverted": "%1$s Não tem um atributo de benefio",
|
||||
"create.item_attributes.astralsorcery_perk_gem": " %1$s Tem um atributo de beneficio",
|
||||
"create.item_attributes.astralsorcery_perk_gem.inverted": "%1$s Não tem um atributo de benefício",
|
||||
|
||||
"create.gui.attribute_filter.no_selected_attributes": "Nenhum atributo selecionado",
|
||||
"create.gui.attribute_filter.selected_attributes": "Atributos selecionados:",
|
||||
|
@ -1368,6 +1370,10 @@
|
|||
"create.tooltip.chute.fans_pull_up": "Ventiladores sugam de cima",
|
||||
"create.tooltip.chute.fans_pull_down": "Ventiladores sugam de baixo",
|
||||
"create.tooltip.chute.contains": "Contem: %1$s x%2$s",
|
||||
"create.tooltip.deployer.header": "UNLOCALIZED: Deployer Information",
|
||||
"create.tooltip.deployer.using": "UNLOCALIZED: Mode: Use",
|
||||
"create.tooltip.deployer.punching": "UNLOCALIZED: Mode: Attack",
|
||||
"create.tooltip.deployer.contains": "UNLOCALIZED: Item: %1$s x%2$s",
|
||||
"create.tooltip.brass_tunnel.contains": "Distribuindo:",
|
||||
"create.tooltip.brass_tunnel.contains_entry": " > %1$s x%2$s",
|
||||
"create.tooltip.brass_tunnel.retrieve": "Clique direito para recuperar item",
|
||||
|
@ -1393,9 +1399,9 @@
|
|||
"create.hint.hose_pulley.title": "Abastecimento sem fundo",
|
||||
"create.hint.hose_pulley": "O corpo de fluido selecionado é considerado infinito.",
|
||||
"create.hint.mechanical_arm_no_targets.title": "Sem alvos",
|
||||
"create.hint.mechanical_arm_no_targets": "Aparentemente esse _Braço_ _Mecânico_ não foi designado nenhum _alvo._ Selecione esteiras, depósitos, funis e outros blocos com o _botão direito do mouse_ enquanto _segurando_ o _Braço_ _Mecanico_ na sua _mão_.",
|
||||
"create.hint.mechanical_arm_no_targets": "Aparentemente esse _Braço_ _Mecânico_ não foi designado nenhum _alvo._ Selecione esteiras, depósitos, funis e outros blocos com o _botão direito do mouse_ enquanto _segurando_ o _Braço_ _Mecânico_ na sua _mão_.",
|
||||
"create.hint.empty_bearing.title": "Atualizar o rolamento",
|
||||
"create.hint.empty_bearing": " _clique com o botão direito_ o rolamento com a _mão_ _vazia_ para _conectar_ a estrutura que você construiu não frente disso.",
|
||||
"create.hint.empty_bearing": " clique com o botão direito_ o rolamento com a _mão_ _vazia_ para _conectar_ a estrutura que você construiu não frente disso.",
|
||||
"create.hint.full_deployer.title": "Implantador transbordando de itens",
|
||||
"create.hint.full_deployer": "Aparenta que esse _inplantador_ contém _itens_ em _excesso_ que precisam ser _extraídos._ Use um _funil,_ _funil de andesito/latão_ ou outros meios para extrair os itens excedentes.",
|
||||
|
||||
|
@ -1481,6 +1487,7 @@
|
|||
"create.schedule.condition.threshold.equal": "UNLOCALIZED: exactly",
|
||||
"create.schedule.condition.threshold.x_units_of_item": "UNLOCALIZED: %1$s %2$s of %3$s",
|
||||
"create.schedule.condition.threshold.matching_content": "UNLOCALIZED: Matching Content",
|
||||
"create.schedule.condition.threshold.anything": "UNLOCALIZED: Anything",
|
||||
"create.schedule.condition.threshold.item_measure": "UNLOCALIZED: Item Measure",
|
||||
"create.schedule.condition.threshold.items": "UNLOCALIZED: Items",
|
||||
"create.schedule.condition.threshold.stacks": "UNLOCALIZED: Stacks",
|
||||
|
@ -1488,6 +1495,7 @@
|
|||
"create.schedule.condition.threshold.status": "UNLOCALIZED: Cargo: %1$s/%2$s %3$s",
|
||||
"create.schedule.condition.threshold.place_item": "UNLOCALIZED: Reference Item",
|
||||
"create.schedule.condition.threshold.place_item_2": "UNLOCALIZED: Filters can be used",
|
||||
"create.schedule.condition.threshold.place_item_3": "UNLOCALIZED: Leave empty to match any",
|
||||
"create.schedule.condition.fluid_threshold": "UNLOCALIZED: Fluid Cargo Condition",
|
||||
"create.schedule.condition.item_threshold": "UNLOCALIZED: Item Cargo Condition",
|
||||
"create.schedule.condition.redstone_link": "UNLOCALIZED: Redstone Link",
|
||||
|
@ -1723,7 +1731,7 @@
|
|||
"create.super_glue.not_enough": "UNLOCALIZED: Not enough glue in inventory",
|
||||
"create.super_glue.success": "UNLOCALIZED: Applying Glue...",
|
||||
|
||||
"create.gui.config.overlay1": "Oi :)",
|
||||
"create.gui.config.overlay1": "UNLOCALIZED: Hi :)",
|
||||
"create.gui.config.overlay2": "UNLOCALIZED: This is a sample overlay",
|
||||
"create.gui.config.overlay3": "UNLOCALIZED: Click or drag with your mouse",
|
||||
"create.gui.config.overlay4": "UNLOCALIZED: to move this preview",
|
||||
|
@ -1749,17 +1757,17 @@
|
|||
"create.subtitle.contraption_disassemble": "Engenhoca para",
|
||||
"create.subtitle.peculiar_bell_use": "Sino peculiar toca",
|
||||
"create.subtitle.worldshaper_place": "Zaps do terraformador",
|
||||
"create.subtitle.whistle_train_manual": "UNLOCALIZED: Train honks",
|
||||
"create.subtitle.steam": "UNLOCALIZED: Steam noises",
|
||||
"create.subtitle.whistle_train_manual": "Buzinas de trem",
|
||||
"create.subtitle.steam": "Sons de vapor",
|
||||
"create.subtitle.saw_activate_stone": "Serra mecânica ativa",
|
||||
"create.subtitle.schematicannon_finish": "Ding do canhão de esquema",
|
||||
"create.subtitle.crafter_craft": "Fabricador fábrica",
|
||||
"create.subtitle.wrench_remove": "Componente quebra",
|
||||
"create.subtitle.train3": "UNLOCALIZED: Bogey wheels rumble muffled",
|
||||
"create.subtitle.whistle": "UNLOCALIZED: Whistling",
|
||||
"create.subtitle.train3": "Tremer abafado das rodas do trem",
|
||||
"create.subtitle.whistle": "Apito",
|
||||
"create.subtitle.cogs": "tremer da rodas dentadas",
|
||||
"create.subtitle.slime_added": "Slime sendo espremido",
|
||||
"create.subtitle.whistle_train_low": "UNLOCALIZED: Low whistling",
|
||||
"create.subtitle.whistle_train_low": "Apito baixo",
|
||||
"create.subtitle.schematicannon_launch_block": "Canhão de esquema atira",
|
||||
"create.subtitle.controller_take": "Atril esvaziado",
|
||||
"create.subtitle.crafter_click": "Clicks do fabricador",
|
||||
|
@ -1781,14 +1789,14 @@
|
|||
"create.subtitle.wrench_rotate": "Chave inglesa usada",
|
||||
"create.subtitle.potato_hit": "Impacto vegetal",
|
||||
"create.subtitle.saw_activate_wood": "Serra mecânica ativa",
|
||||
"create.subtitle.whistle_high": "UNLOCALIZED: High whistling",
|
||||
"create.subtitle.whistle_train_manual_low": "UNLOCALIZED: Train honks",
|
||||
"create.subtitle.whistle_train": "UNLOCALIZED: Whistling",
|
||||
"create.subtitle.whistle_high": "Apito alto",
|
||||
"create.subtitle.whistle_train_manual_low": "Buzinas de trem",
|
||||
"create.subtitle.whistle_train": "Apito",
|
||||
"create.subtitle.haunted_bell_convert": "Sino assombrado acorda",
|
||||
"create.subtitle.train": "UNLOCALIZED: Bogey wheels rumble",
|
||||
"create.subtitle.train": "Tremer das rodas do trem",
|
||||
"create.subtitle.deny": "Boop de negação",
|
||||
"create.subtitle.controller_click": "Clicks do controle",
|
||||
"create.subtitle.whistle_low": "UNLOCALIZED: Low whistling",
|
||||
"create.subtitle.whistle_low": "Apito baixo",
|
||||
"create.subtitle.copper_armor_equip": "Tilintar dos equipamentos de mergulho",
|
||||
"create.subtitle.mechanical_press_activation": "Clang da prensa mecânica",
|
||||
"create.subtitle.contraption_assemble": "Engenhoca move",
|
||||
|
@ -1805,13 +1813,13 @@
|
|||
"item.create.example_item.tooltip.control1": "Quando Ctrl pressed",
|
||||
"item.create.example_item.tooltip.action1": "These controls are displayed.",
|
||||
|
||||
"block.create.wooden_bracket.tooltip": "UNLOCALIZED: WOODEN BRACKET",
|
||||
"block.create.wooden_bracket.tooltip": "Suporte de madeira",
|
||||
"block.create.wooden_bracket.tooltip.summary": "_Decore_ seus _eixos, rodas dentadas_ e _canos_com um pedaço aconchegante e de madeira de reforço.",
|
||||
|
||||
"block.create.metal_bracket.tooltip": "UNLOCALIZED: METAL BRACKET",
|
||||
"block.create.metal_bracket.tooltip": "Suporte de ferro",
|
||||
"block.create.metal_bracket.tooltip.summary": "UNLOCALIZED: _Decorate_ your _Shafts, Cogwheels_ and _Pipes_ with an industrial and sturdy bit of reinforcement.",
|
||||
|
||||
"block.create.seat.tooltip": "UNLOCALIZED: SEAT",
|
||||
"block.create.seat.tooltip": "Assento",
|
||||
"block.create.seat.tooltip.summary": "UNLOCALIZED: Sit yourself down and enjoy the ride! Will anchor a player onto a moving _contraption_. Great for static furniture too! Comes in a variety of colours.",
|
||||
"block.create.seat.tooltip.condition1": "UNLOCALIZED: Right click on Seat",
|
||||
"block.create.seat.tooltip.behaviour1": "UNLOCALIZED: Sits the player on the _Seat_. Press L-shift to leave the _Seat_.",
|
||||
|
@ -1839,10 +1847,10 @@
|
|||
"item.create.handheld_worldshaper.tooltip.control3": "UNLOCALIZED: R-Click while Sneaking",
|
||||
"item.create.handheld_worldshaper.tooltip.action3": "UNLOCALIZED: Opens the _Configuration Interface_",
|
||||
|
||||
"item.create.tree_fertilizer.tooltip": "FERTILIZANTE DE ARVORE",
|
||||
"item.create.tree_fertilizer.tooltip.summary": "Uma combinação poderosa de minerais para tipos comuns de arvores",
|
||||
"item.create.tree_fertilizer.tooltip": "FERTILIZANTE DE ÁRVORE",
|
||||
"item.create.tree_fertilizer.tooltip.summary": "Uma combinação poderosa de minerais para tipos comuns de árvores",
|
||||
"item.create.tree_fertilizer.tooltip.condition1": "Quando usada em Mudas",
|
||||
"item.create.tree_fertilizer.tooltip.behaviour1": "Cresce Arvores independentemente das suas Regras de espaço",
|
||||
"item.create.tree_fertilizer.tooltip.behaviour1": "Cresce Árvores independentemente das suas Regras de espaço",
|
||||
|
||||
"item.create.extendo_grip.tooltip": "UNLOCALIZED: EXTENDO GRIP",
|
||||
"item.create.extendo_grip.tooltip.summary": "UNLOCALIZED: Boioioing! Greatly _increases reach distance_ of the wielder. Can be powered with Air Pressure from a _Copper_ _Backtank_",
|
||||
|
@ -1876,7 +1884,7 @@
|
|||
"item.create.empty_schematic.tooltip.summary": "Usado como ingrediente em receitas e para escrever na _Mesa_ _de_ _Esquematizar_",
|
||||
|
||||
"item.create.schematic.tooltip": "ESQUEMA",
|
||||
"item.create.schematic.tooltip.summary": "Contem uma estrutura para ser posicionada e colocada no mundo. Posicione o Holograma como desejar e use um _Esquemaannon_ para construí-lo.",
|
||||
"item.create.schematic.tooltip.summary": "Contém uma estrutura para ser posicionada e colocada no mundo. Posicione o Holograma como desejar e use um _Esquemaannon_ para construí-lo.",
|
||||
"item.create.schematic.tooltip.condition1": "Quando Em mãos",
|
||||
"item.create.schematic.tooltip.behaviour1": "Pode ser posicionado usando as Ferramentas em Tela",
|
||||
"item.create.schematic.tooltip.control1": "B-Direito enquanto Abaixado",
|
||||
|
@ -1954,7 +1962,7 @@
|
|||
"block.create.content_observer.tooltip.behaviour2": "UNLOCALIZED: Emits a _Redstone Pulse_ when a _matching_ Item is _transferred_.",
|
||||
|
||||
"block.create.creative_crate.tooltip": "Caixa Criativa",
|
||||
"block.create.creative_crate.tooltip.summary": "Provê um suprimento infinito de blocos para Canho~es de Esquema próximos",
|
||||
"block.create.creative_crate.tooltip.summary": "Provê um suprimento infinito de blocos para Canhões de Esquema próximos",
|
||||
"block.create.creative_crate.tooltip.condition1": "UNLOCALIZED: When Item in Filter Slot",
|
||||
"block.create.creative_crate.tooltip.behaviour1": "UNLOCALIZED: Anything _extracting_ from this container will provide an _endless supply_ of the item specified. Items _inserted_ into this crate will be _voided._",
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 2169",
|
||||
"_": "Missing Localizations: 2177",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -672,23 +672,23 @@
|
|||
"advancement.create.andesite_alloy.desc": "Materiais do Create tem nomes estranhos, a liga de andesito é um deles.",
|
||||
"advancement.create.andesite_casing": "A era do andesito",
|
||||
"advancement.create.andesite_casing.desc": "Use um pouco de liga de andesito e madeira para fazer um revestimento basico.",
|
||||
"advancement.create.mechanical_press": "UNLOCALIZED: Bonk",
|
||||
"advancement.create.mechanical_press": "UNLOCALIZED: Bonk!",
|
||||
"advancement.create.mechanical_press.desc": "UNLOCALIZED: Create some sheets in a Mechanical Press",
|
||||
"advancement.create.encased_fan": "UNLOCALIZED: Wind maker",
|
||||
"advancement.create.encased_fan.desc": "UNLOCALIZED: Place and activate an Encased Fan",
|
||||
"advancement.create.encased_fan": "UNLOCALIZED: Wind Maker",
|
||||
"advancement.create.encased_fan.desc": "UNLOCALIZED: Place and power an Encased Fan",
|
||||
"advancement.create.fan_processing": "UNLOCALIZED: Processing by Particle",
|
||||
"advancement.create.fan_processing.desc": "UNLOCALIZED: Use an Encased Fan to process materials",
|
||||
"advancement.create.saw_processing": "UNLOCALIZED: Workshop's most feared",
|
||||
"advancement.create.saw_processing": "UNLOCALIZED: Workshop's Most Feared",
|
||||
"advancement.create.saw_processing.desc": "UNLOCALIZED: Use an upright Mechanical Saw to process materials",
|
||||
"advancement.create.compacting": "UNLOCALIZED: Compactification",
|
||||
"advancement.create.compacting.desc": "UNLOCALIZED: Use a Press and a Basin to create less items from more items",
|
||||
"advancement.create.compacting.desc": "UNLOCALIZED: Use a Mechanical Press and a Basin to create fewer items from more",
|
||||
"advancement.create.belt": "Correia de alga",
|
||||
"advancement.create.belt.desc": "Conecte dois eixos com uma esteira mecanica.",
|
||||
"advancement.create.funnel": "UNLOCALIZED: Airport Aesthetic",
|
||||
"advancement.create.funnel.desc": "UNLOCALIZED: Extract or insert items into a container using a Funnel",
|
||||
"advancement.create.chute": "Caindo",
|
||||
"advancement.create.chute.desc": "coloque uma calha a versão vertical da esteira mecanica.",
|
||||
"advancement.create.mechanical_mixer": "UNLOCALIZED: Mixing it up",
|
||||
"advancement.create.mechanical_mixer": "UNLOCALIZED: Mixing It Up",
|
||||
"advancement.create.mechanical_mixer.desc": "UNLOCALIZED: Combine ingredients in a Mechanical Mixer",
|
||||
"advancement.create.burner": "UNLOCALIZED: Sentient Fireplace",
|
||||
"advancement.create.burner.desc": "UNLOCALIZED: Obtain a Blaze Burner",
|
||||
|
@ -703,25 +703,25 @@
|
|||
"advancement.create.super_glue": "UNLOCALIZED: Area of Connect",
|
||||
"advancement.create.super_glue.desc": "UNLOCALIZED: Super Glue some blocks into a group",
|
||||
"advancement.create.contraption_actors": "UNLOCALIZED: Moving with Purpose",
|
||||
"advancement.create.contraption_actors.desc": "UNLOCALIZED: Create a contraption with drills, saws or harvesters on board",
|
||||
"advancement.create.portable_storage_interface": "UNLOCALIZED: Drive-by exchange",
|
||||
"advancement.create.portable_storage_interface.desc": "UNLOCALIZED: Use a Portable Storage Interface to take or insert items into a contraption",
|
||||
"advancement.create.wrench_goggles": "UNLOCALIZED: Kitted out",
|
||||
"advancement.create.wrench_goggles.desc": "UNLOCALIZED: Equip Engineer's goggles and a Wrench",
|
||||
"advancement.create.contraption_actors.desc": "UNLOCALIZED: Create a Contraption with drills, saws, or harvesters on board",
|
||||
"advancement.create.portable_storage_interface": "UNLOCALIZED: Drive-By Exchange",
|
||||
"advancement.create.portable_storage_interface.desc": "UNLOCALIZED: Use a Portable Storage Interface to take or insert items into a Contraption",
|
||||
"advancement.create.wrench_goggles": "UNLOCALIZED: Kitted Out",
|
||||
"advancement.create.wrench_goggles.desc": "UNLOCALIZED: Equip Engineer's Goggles and a Wrench",
|
||||
"advancement.create.stressometer": "Mas quão estressado exatamente?",
|
||||
"advancement.create.stressometer.desc": "Coloque e energise o estressómetro. Olhe a este por atraves dos seus óculos para ler o valor exato.",
|
||||
"advancement.create.cuckoo_clock": "UNLOCALIZED: Is it Time?",
|
||||
"advancement.create.cuckoo_clock": "UNLOCALIZED: Is It Time?",
|
||||
"advancement.create.cuckoo_clock.desc": "UNLOCALIZED: Witness your Cuckoo Clock announce bedtime",
|
||||
"advancement.create.windmill_maxed": "UNLOCALIZED: A Strong Breeze",
|
||||
"advancement.create.windmill_maxed.desc": "UNLOCALIZED: Assemble a windmill of maximum strength",
|
||||
"advancement.create.ejector_maxed": "UNLOCALIZED: Springboard Champion",
|
||||
"advancement.create.ejector_maxed.desc": "UNLOCALIZED: Get launched for more than 30 blocks by a Weighted Ejector",
|
||||
"advancement.create.ejector_maxed.desc": "UNLOCALIZED: Get launched more than 30 blocks by a Weighted Ejector",
|
||||
"advancement.create.pulley_maxed": "UNLOCALIZED: Rope to Nowhere",
|
||||
"advancement.create.pulley_maxed.desc": "UNLOCALIZED: Extend a Rope Pulley over 200 blocks deep",
|
||||
"advancement.create.cart_pickup": "UNLOCALIZED: Strong Arms",
|
||||
"advancement.create.cart_pickup.desc": "UNLOCALIZED: Pick up a Minecart Contraption with at least 200 attached blocks",
|
||||
"advancement.create.anvil_plough": "UNLOCALIZED: Blacksmith Artillery",
|
||||
"advancement.create.anvil_plough.desc": "UNLOCALIZED: Launch an Anvil with Mechanical ploughs",
|
||||
"advancement.create.anvil_plough.desc": "UNLOCALIZED: Launch an Anvil with Mechanical Ploughs",
|
||||
"advancement.create.lava_wheel_00000": "UNLOCALIZED: Magma Wheel",
|
||||
"advancement.create.lava_wheel_00000.desc": "UNLOCALIZED: This shouldn't have worked§7\n(Hidden Advancement)",
|
||||
"advancement.create.hand_crank_000": "UNLOCALIZED: Workout Session",
|
||||
|
@ -730,48 +730,48 @@
|
|||
"advancement.create.belt_funnel_kiss.desc": "UNLOCALIZED: Make two Belt-mounted Funnels kiss§7\n(Hidden Advancement)",
|
||||
"advancement.create.stressometer_maxed": "UNLOCALIZED: Perfectly Stressed",
|
||||
"advancement.create.stressometer_maxed.desc": "UNLOCALIZED: Get a 100% readout from a Stressometer§7\n(Hidden Advancement)",
|
||||
"advancement.create.copper": "UNLOCALIZED: More Sturdier Rocks",
|
||||
"advancement.create.copper.desc": "UNLOCALIZED: Amass some Copper for your exploits in Fluid Manipulation",
|
||||
"advancement.create.copper": "UNLOCALIZED: Cuprum Bokum",
|
||||
"advancement.create.copper.desc": "UNLOCALIZED: Amass some Copper Ingots for your exploits in fluid manipulation",
|
||||
"advancement.create.copper_casing": "A era do cobre",
|
||||
"advancement.create.copper_casing.desc": "Use um pouco de chapas de cobre e madeira para criar um pouco de revestimentos de cobre.",
|
||||
"advancement.create.spout": "Sploosh",
|
||||
"advancement.create.spout.desc": "Assista um item ser enchido usando uma bica.",
|
||||
"advancement.create.drain": "UNLOCALIZED: Tumble Draining",
|
||||
"advancement.create.drain.desc": "UNLOCALIZED: Watch a fluid containing item be emptied by an Item Drain",
|
||||
"advancement.create.drain.desc": "UNLOCALIZED: Watch a fluid-containing item be emptied by an Item Drain",
|
||||
"advancement.create.steam_engine": "UNLOCALIZED: The Powerhouse",
|
||||
"advancement.create.steam_engine.desc": "UNLOCALIZED: Use a Steam engine to generate torque",
|
||||
"advancement.create.steam_engine.desc": "UNLOCALIZED: Use a Steam Engine to generate torque",
|
||||
"advancement.create.steam_whistle": "UNLOCALIZED: Voice of an Angel",
|
||||
"advancement.create.steam_whistle.desc": "UNLOCALIZED: Activate a Steam Whistle",
|
||||
"advancement.create.backtank": "UNLOCALIZED: Pressure to Go",
|
||||
"advancement.create.backtank.desc": "UNLOCALIZED: Create a copper backtank and make it accumulate Air Pressure",
|
||||
"advancement.create.backtank.desc": "UNLOCALIZED: Create a Copper Backtank and make it accumulate air pressure",
|
||||
"advancement.create.diving_suit": "UNLOCALIZED: Ready for the Depths",
|
||||
"advancement.create.diving_suit.desc": "UNLOCALIZED: Equip a diving helmet together with your backtank and jump into water",
|
||||
"advancement.create.diving_suit.desc": "UNLOCALIZED: Equip a Diving Helmet and a Copper Backtank, then jump into water",
|
||||
"advancement.create.mechanical_pump_0": "UNLOCALIZED: Under Pressure",
|
||||
"advancement.create.mechanical_pump_0.desc": "UNLOCALIZED: Place and power a Mechanical Pump",
|
||||
"advancement.create.glass_pipe": "Espião de fluxo",
|
||||
"advancement.create.glass_pipe.desc": "Assista fluidos se propagarem por através de canos de fluido com janela. Canos retos ficam com janelas quando uma chave inglesa é usada neles.",
|
||||
"advancement.create.water_supply": "UNLOCALIZED: Puddle Collector",
|
||||
"advancement.create.water_supply.desc": "UNLOCALIZED: Use the pulling end of a pipe or pump to collect a water block",
|
||||
"advancement.create.water_supply.desc": "UNLOCALIZED: Use the pulling end of a Fluid Pipe or Mechanical Pump to collect water",
|
||||
"advancement.create.hose_pulley": "Vazamento industrial",
|
||||
"advancement.create.hose_pulley.desc": "desça uma polia de mangueira e assista esta drenar ou encher qualquer corpo de fluido.",
|
||||
"advancement.create.chocolate_bucket": "UNLOCALIZED: A World of Imagination",
|
||||
"advancement.create.chocolate_bucket.desc": "UNLOCALIZED: Obtain a Bucket of Molten Chocolate",
|
||||
"advancement.create.chocolate_bucket.desc": "UNLOCALIZED: Obtain a bucket of molten chocolate",
|
||||
"advancement.create.honey_drain": "UNLOCALIZED: Autonomous Bee-Keeping",
|
||||
"advancement.create.honey_drain.desc": "UNLOCALIZED: Use pipes to pull honey from a Bee Nest or Bee House",
|
||||
"advancement.create.honey_drain.desc": "UNLOCALIZED: Use pipes to pull honey from a Bee Nest or Beehive",
|
||||
"advancement.create.hose_pulley_lava": "UNLOCALIZED: Tapping the Mantle",
|
||||
"advancement.create.hose_pulley_lava.desc": "UNLOCALIZED: Pump from a body of Lava large enough to be considered infinite",
|
||||
"advancement.create.hose_pulley_lava.desc": "UNLOCALIZED: Pump from a body of lava large enough to be considered infinite",
|
||||
"advancement.create.steam_engine_maxed": "UNLOCALIZED: Full Steam",
|
||||
"advancement.create.steam_engine_maxed.desc": "UNLOCALIZED: Run a boiler at the maximum level of power",
|
||||
"advancement.create.foods": "UNLOCALIZED: Balanced Diet",
|
||||
"advancement.create.foods.desc": "UNLOCALIZED: Create Chocolate Berries, a Honeyed Apple and a Sweet Roll; all from the same Spout",
|
||||
"advancement.create.foods.desc": "UNLOCALIZED: Create Chocolate Glazed Berries, a Honeyed Apple, and a Sweet Roll all from the same Spout",
|
||||
"advancement.create.diving_suit_lava": "UNLOCALIZED: Swimming with the Striders",
|
||||
"advancement.create.diving_suit_lava.desc": "UNLOCALIZED: Attempt to take a dive in lava with your Copper Diving Gear§7\n(Hidden Advancement)",
|
||||
"advancement.create.diving_suit_lava.desc": "UNLOCALIZED: Attempt to take a dive in lava with your diving gear§7\n(Hidden Advancement)",
|
||||
"advancement.create.chained_drain": "UNLOCALIZED: On a Roll",
|
||||
"advancement.create.chained_drain.desc": "UNLOCALIZED: Watch an Item move across a row of Item Drains§7\n(Hidden Advancement)",
|
||||
"advancement.create.cross_streams": "UNLOCALIZED: Don't cross the Streams!",
|
||||
"advancement.create.chained_drain.desc": "UNLOCALIZED: Watch an item move across a row of Item Drains§7\n(Hidden Advancement)",
|
||||
"advancement.create.cross_streams": "UNLOCALIZED: Don't Cross the Streams!",
|
||||
"advancement.create.cross_streams.desc": "UNLOCALIZED: Watch two fluids meet in your pipe network§7\n(Hidden Advancement)",
|
||||
"advancement.create.pipe_organ": "UNLOCALIZED: The Pipe Organ",
|
||||
"advancement.create.pipe_organ.desc": "UNLOCALIZED: Attach 12 uniquely pitched Steam Whistles to a single fluid tank§7\n(Hidden Advancement)",
|
||||
"advancement.create.pipe_organ.desc": "UNLOCALIZED: Attach 12 uniquely pitched Steam Whistles to a single Fluid Tank§7\n(Hidden Advancement)",
|
||||
"advancement.create.brass": "Ligas de verdade",
|
||||
"advancement.create.brass.desc": "Use cobre esmagado e zinco esmagado para criar um pouco de latão.",
|
||||
"advancement.create.brass_casing": "a era do latão",
|
||||
|
@ -795,7 +795,7 @@
|
|||
"advancement.create.clockwork_bearing": "Hora da engenhoca",
|
||||
"advancement.create.clockwork_bearing.desc": "Ative uma estrutura conectada a um rolamento de rêlogio.",
|
||||
"advancement.create.display_link": "UNLOCALIZED: Big Data",
|
||||
"advancement.create.display_link.desc": "UNLOCALIZED: Use a Display link to visualise information",
|
||||
"advancement.create.display_link.desc": "UNLOCALIZED: Use a Display Link to visualise information",
|
||||
"advancement.create.potato_cannon": "Fwoomp!",
|
||||
"advancement.create.potato_cannon.desc": "Derrote um inimigo com o seu canhão de batata.",
|
||||
"advancement.create.extendo_grip": "Boioioing!",
|
||||
|
@ -804,54 +804,54 @@
|
|||
"advancement.create.linked_controller.desc": "UNLOCALIZED: Activate a Redstone Link using a Linked Controller",
|
||||
"advancement.create.arm_blaze_burner": "Combuste-tron",
|
||||
"advancement.create.arm_blaze_burner.desc": "Instrua um braço mecânico para alimentar seu queimador de blaze.",
|
||||
"advancement.create.crusher_maxed_0000": "UNLOCALIZED: Crushing it",
|
||||
"advancement.create.crusher_maxed_0000.desc": "UNLOCALIZED: Operate a Pair of Crushing wheels at max speed",
|
||||
"advancement.create.crusher_maxed_0000": "UNLOCALIZED: Crushing It",
|
||||
"advancement.create.crusher_maxed_0000.desc": "UNLOCALIZED: Operate a pair of Crushing Wheels at maximum speed",
|
||||
"advancement.create.arm_many_targets": "Organiza-tron",
|
||||
"advancement.create.arm_many_targets.desc": "Programe um braço mecânico com dez ou mais locais de saida.",
|
||||
"advancement.create.potato_cannon_collide": "UNLOCALIZED: Veggie Fireworks",
|
||||
"advancement.create.potato_cannon_collide.desc": "UNLOCALIZED: Cause potato cannon projectiles of different types to collide with each other",
|
||||
"advancement.create.potato_cannon_collide.desc": "UNLOCALIZED: Cause Potato Cannon projectiles of different types to collide with each other",
|
||||
"advancement.create.self_deploying": "UNLOCALIZED: Self-Driving Cart",
|
||||
"advancement.create.self_deploying.desc": "UNLOCALIZED: Create a Minecart Contraption that places tracks in front of itself",
|
||||
"advancement.create.fist_bump": "UNLOCALIZED: Pound It, Bro!",
|
||||
"advancement.create.fist_bump.desc": "UNLOCALIZED: Make two Deployers fist-bump§7\n(Hidden Advancement)",
|
||||
"advancement.create.crafter_lazy_000": "UNLOCALIZED: Desperate Measures",
|
||||
"advancement.create.crafter_lazy_000.desc": "UNLOCALIZED: Drastically slow down a Mechanical Crafter to procrastinate on proper infrastructure§7\n(Hidden Advancement)",
|
||||
"advancement.create.extendo_grip_dual": "UNLOCALIZED: To full Extent",
|
||||
"advancement.create.extendo_grip_dual.desc": "UNLOCALIZED: Dual wield Extendo Grips for super-human reach§7\n(Hidden Advancement)",
|
||||
"advancement.create.extendo_grip_dual": "UNLOCALIZED: To Full Extent",
|
||||
"advancement.create.extendo_grip_dual.desc": "UNLOCALIZED: Dual-wield Extendo Grips for superhuman reach§7\n(Hidden Advancement)",
|
||||
"advancement.create.musical_arm": "toque minha musica!",
|
||||
"advancement.create.musical_arm.desc": "Assista um braço mecânico operar seu toca-discos.",
|
||||
"advancement.create.sturdy_sheet": "UNLOCALIZED: The Sturdiest Rocks",
|
||||
"advancement.create.sturdy_sheet.desc": "UNLOCALIZED: Assemble a Sturdy Sheet from refining crushed Obsidian",
|
||||
"advancement.create.sturdy_sheet.desc": "UNLOCALIZED: Assemble a Sturdy Sheet by refining Powdered Obsidian",
|
||||
"advancement.create.train_casing_00": "UNLOCALIZED: The Logistical Age",
|
||||
"advancement.create.train_casing_00.desc": "UNLOCALIZED: Use Sturdy Sheets to create a Casing for Railway Components",
|
||||
"advancement.create.train_casing_00.desc": "UNLOCALIZED: Use Sturdy Sheets to create a casing for railway components",
|
||||
"advancement.create.train": "UNLOCALIZED: All Aboard!",
|
||||
"advancement.create.train.desc": "UNLOCALIZED: Assemble your first Train",
|
||||
"advancement.create.conductor": "UNLOCALIZED: Conductor Instructor",
|
||||
"advancement.create.conductor.desc": "UNLOCALIZED: Instruct a Train driver with a Schedule",
|
||||
"advancement.create.conductor.desc": "UNLOCALIZED: Instruct a Train driver with a Train Schedule",
|
||||
"advancement.create.track_signal": "UNLOCALIZED: Traffic Control",
|
||||
"advancement.create.track_signal.desc": "UNLOCALIZED: Place a Train Signal",
|
||||
"advancement.create.display_board_0": "UNLOCALIZED: Dynamic Timetables",
|
||||
"advancement.create.display_board_0.desc": "UNLOCALIZED: Forecast a Train's arrival on your Display Board with the help of Display Links",
|
||||
"advancement.create.track_0": "UNLOCALIZED: A new Gauge",
|
||||
"advancement.create.track_0": "UNLOCALIZED: A New Gauge",
|
||||
"advancement.create.track_0.desc": "UNLOCALIZED: Obtain some Train Tracks",
|
||||
"advancement.create.train_whistle": "UNLOCALIZED: Choo choo!",
|
||||
"advancement.create.train_whistle": "UNLOCALIZED: Choo Choo!",
|
||||
"advancement.create.train_whistle.desc": "UNLOCALIZED: Assemble a Steam Whistle to your Train and activate it while driving",
|
||||
"advancement.create.train_portal": "UNLOCALIZED: Dimensional Commuter",
|
||||
"advancement.create.train_portal.desc": "UNLOCALIZED: Ride a train through a Nether Portal",
|
||||
"advancement.create.train_portal.desc": "UNLOCALIZED: Ride a Train through a Nether portal",
|
||||
"advancement.create.track_crafting_factory": "UNLOCALIZED: Track Factory",
|
||||
"advancement.create.track_crafting_factory.desc": "UNLOCALIZED: Produce more than 1000 train tracks in the same Mechanical Press",
|
||||
"advancement.create.track_crafting_factory.desc": "UNLOCALIZED: Produce more than 1000 Train Tracks with the same Mechanical Press",
|
||||
"advancement.create.long_bend": "UNLOCALIZED: The Longest Bend",
|
||||
"advancement.create.long_bend.desc": "UNLOCALIZED: Create a Curved track section that spans more than 30 blocks in length",
|
||||
"advancement.create.long_bend.desc": "UNLOCALIZED: Create a curved track section that spans more than 30 blocks in length",
|
||||
"advancement.create.long_train": "UNLOCALIZED: Ambitious Endeavours",
|
||||
"advancement.create.long_train.desc": "UNLOCALIZED: Create a Train with at least six Carriages",
|
||||
"advancement.create.long_train.desc": "UNLOCALIZED: Create a Train with at least 6 carriages",
|
||||
"advancement.create.long_travel": "UNLOCALIZED: Field Trip",
|
||||
"advancement.create.long_travel.desc": "UNLOCALIZED: Leave a Train Seat over 5000 blocks away from where you started travelling",
|
||||
"advancement.create.train_roadkill": "UNLOCALIZED: Road Kill",
|
||||
"advancement.create.train_roadkill.desc": "UNLOCALIZED: Run over an Enemy with your Train§7\n(Hidden Advancement)",
|
||||
"advancement.create.train_roadkill.desc": "UNLOCALIZED: Run over an enemy with your Train§7\n(Hidden Advancement)",
|
||||
"advancement.create.red_signal": "UNLOCALIZED: Expert Driver",
|
||||
"advancement.create.red_signal.desc": "UNLOCALIZED: Run a Red Signal with your Train§7\n(Hidden Advancement)",
|
||||
"advancement.create.red_signal.desc": "UNLOCALIZED: Run a red Train Signal§7\n(Hidden Advancement)",
|
||||
"advancement.create.train_crash": "UNLOCALIZED: Terrible Service",
|
||||
"advancement.create.train_crash.desc": "UNLOCALIZED: Witness a Train Crash as a Passenger§7\n(Hidden Advancement)",
|
||||
"advancement.create.train_crash.desc": "UNLOCALIZED: Witness a Train crash as a passenger§7\n(Hidden Advancement)",
|
||||
"advancement.create.train_crash_backwards": "UNLOCALIZED: Blind Spot",
|
||||
"advancement.create.train_crash_backwards.desc": "UNLOCALIZED: Crash into another Train while driving backwards§7\n(Hidden Advancement)",
|
||||
|
||||
|
@ -1260,8 +1260,10 @@
|
|||
"create.item_attributes.smeltable.inverted": "UNLOCALIZED: cannot be Smelted",
|
||||
"create.item_attributes.smokable": "UNLOCALIZED: can be Smoked",
|
||||
"create.item_attributes.smokable.inverted": "UNLOCALIZED: cannot be Smoked",
|
||||
"create.item_attributes.blastable": "UNLOCALIZED: is smeltable in Blast Furnace",
|
||||
"create.item_attributes.blastable.inverted": "UNLOCALIZED: is not smeltable in Blast Furnace",
|
||||
"create.item_attributes.blastable": "UNLOCALIZED: can be Smelted in a Blast Furnace",
|
||||
"create.item_attributes.blastable.inverted": "UNLOCALIZED: cannot be Smelted in a Blast Furnace",
|
||||
"create.item_attributes.compostable": "UNLOCALIZED: can be composted",
|
||||
"create.item_attributes.compostable.inverted": "UNLOCALIZED: cannot be composted",
|
||||
"create.item_attributes.shulker_level": "UNLOCALIZED: is shulker %1$s",
|
||||
"create.item_attributes.shulker_level.inverted": "UNLOCALIZED: is shulker not %1$s",
|
||||
"create.item_attributes.shulker_level.full": "UNLOCALIZED: full",
|
||||
|
@ -1368,6 +1370,10 @@
|
|||
"create.tooltip.chute.fans_pull_up": "UNLOCALIZED: Fans pull from Above",
|
||||
"create.tooltip.chute.fans_pull_down": "UNLOCALIZED: Fans pull from Below",
|
||||
"create.tooltip.chute.contains": "UNLOCALIZED: Contains: %1$s x%2$s",
|
||||
"create.tooltip.deployer.header": "UNLOCALIZED: Deployer Information",
|
||||
"create.tooltip.deployer.using": "UNLOCALIZED: Mode: Use",
|
||||
"create.tooltip.deployer.punching": "UNLOCALIZED: Mode: Attack",
|
||||
"create.tooltip.deployer.contains": "UNLOCALIZED: Item: %1$s x%2$s",
|
||||
"create.tooltip.brass_tunnel.contains": "UNLOCALIZED: Currently distributing:",
|
||||
"create.tooltip.brass_tunnel.contains_entry": "UNLOCALIZED: > %1$s x%2$s",
|
||||
"create.tooltip.brass_tunnel.retrieve": "UNLOCALIZED: Right-Click to retrieve",
|
||||
|
@ -1481,6 +1487,7 @@
|
|||
"create.schedule.condition.threshold.equal": "UNLOCALIZED: exactly",
|
||||
"create.schedule.condition.threshold.x_units_of_item": "UNLOCALIZED: %1$s %2$s of %3$s",
|
||||
"create.schedule.condition.threshold.matching_content": "UNLOCALIZED: Matching Content",
|
||||
"create.schedule.condition.threshold.anything": "UNLOCALIZED: Anything",
|
||||
"create.schedule.condition.threshold.item_measure": "UNLOCALIZED: Item Measure",
|
||||
"create.schedule.condition.threshold.items": "UNLOCALIZED: Items",
|
||||
"create.schedule.condition.threshold.stacks": "UNLOCALIZED: Stacks",
|
||||
|
@ -1488,6 +1495,7 @@
|
|||
"create.schedule.condition.threshold.status": "UNLOCALIZED: Cargo: %1$s/%2$s %3$s",
|
||||
"create.schedule.condition.threshold.place_item": "UNLOCALIZED: Reference Item",
|
||||
"create.schedule.condition.threshold.place_item_2": "UNLOCALIZED: Filters can be used",
|
||||
"create.schedule.condition.threshold.place_item_3": "UNLOCALIZED: Leave empty to match any",
|
||||
"create.schedule.condition.fluid_threshold": "UNLOCALIZED: Fluid Cargo Condition",
|
||||
"create.schedule.condition.item_threshold": "UNLOCALIZED: Item Cargo Condition",
|
||||
"create.schedule.condition.redstone_link": "UNLOCALIZED: Redstone Link",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 647",
|
||||
"_": "Missing Localizations: 655",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -672,23 +672,23 @@
|
|||
"advancement.create.andesite_alloy.desc": "Materialele Create-ului au nume ciudate, Aliajul Din Andezit este unul dintre ele.",
|
||||
"advancement.create.andesite_casing": "Epoca Andezitului",
|
||||
"advancement.create.andesite_casing.desc": "Folosește niște Aliaj De Andezit și Lemn ca să creezi o Carcasă de bază.",
|
||||
"advancement.create.mechanical_press": "UNLOCALIZED: Bonk",
|
||||
"advancement.create.mechanical_press": "UNLOCALIZED: Bonk!",
|
||||
"advancement.create.mechanical_press.desc": "UNLOCALIZED: Create some sheets in a Mechanical Press",
|
||||
"advancement.create.encased_fan": "UNLOCALIZED: Wind maker",
|
||||
"advancement.create.encased_fan.desc": "UNLOCALIZED: Place and activate an Encased Fan",
|
||||
"advancement.create.encased_fan": "UNLOCALIZED: Wind Maker",
|
||||
"advancement.create.encased_fan.desc": "UNLOCALIZED: Place and power an Encased Fan",
|
||||
"advancement.create.fan_processing": "UNLOCALIZED: Processing by Particle",
|
||||
"advancement.create.fan_processing.desc": "UNLOCALIZED: Use an Encased Fan to process materials",
|
||||
"advancement.create.saw_processing": "UNLOCALIZED: Workshop's most feared",
|
||||
"advancement.create.saw_processing": "UNLOCALIZED: Workshop's Most Feared",
|
||||
"advancement.create.saw_processing.desc": "UNLOCALIZED: Use an upright Mechanical Saw to process materials",
|
||||
"advancement.create.compacting": "UNLOCALIZED: Compactification",
|
||||
"advancement.create.compacting.desc": "UNLOCALIZED: Use a Press and a Basin to create less items from more items",
|
||||
"advancement.create.compacting.desc": "UNLOCALIZED: Use a Mechanical Press and a Basin to create fewer items from more",
|
||||
"advancement.create.belt": "Conducere de Alge",
|
||||
"advancement.create.belt.desc": "Conectează două rotoare cu o Bandă Mecanică.",
|
||||
"advancement.create.funnel": "UNLOCALIZED: Airport Aesthetic",
|
||||
"advancement.create.funnel.desc": "UNLOCALIZED: Extract or insert items into a container using a Funnel",
|
||||
"advancement.create.chute": "Rostogolind în Jos",
|
||||
"advancement.create.chute.desc": "Plasează un Tobogan, partea verticală echivalentă a unei Benzi.",
|
||||
"advancement.create.mechanical_mixer": "UNLOCALIZED: Mixing it up",
|
||||
"advancement.create.mechanical_mixer": "UNLOCALIZED: Mixing It Up",
|
||||
"advancement.create.mechanical_mixer.desc": "UNLOCALIZED: Combine ingredients in a Mechanical Mixer",
|
||||
"advancement.create.burner": "UNLOCALIZED: Sentient Fireplace",
|
||||
"advancement.create.burner.desc": "UNLOCALIZED: Obtain a Blaze Burner",
|
||||
|
@ -703,25 +703,25 @@
|
|||
"advancement.create.super_glue": "UNLOCALIZED: Area of Connect",
|
||||
"advancement.create.super_glue.desc": "UNLOCALIZED: Super Glue some blocks into a group",
|
||||
"advancement.create.contraption_actors": "UNLOCALIZED: Moving with Purpose",
|
||||
"advancement.create.contraption_actors.desc": "UNLOCALIZED: Create a contraption with drills, saws or harvesters on board",
|
||||
"advancement.create.portable_storage_interface": "UNLOCALIZED: Drive-by exchange",
|
||||
"advancement.create.portable_storage_interface.desc": "UNLOCALIZED: Use a Portable Storage Interface to take or insert items into a contraption",
|
||||
"advancement.create.wrench_goggles": "UNLOCALIZED: Kitted out",
|
||||
"advancement.create.wrench_goggles.desc": "UNLOCALIZED: Equip Engineer's goggles and a Wrench",
|
||||
"advancement.create.contraption_actors.desc": "UNLOCALIZED: Create a Contraption with drills, saws, or harvesters on board",
|
||||
"advancement.create.portable_storage_interface": "UNLOCALIZED: Drive-By Exchange",
|
||||
"advancement.create.portable_storage_interface.desc": "UNLOCALIZED: Use a Portable Storage Interface to take or insert items into a Contraption",
|
||||
"advancement.create.wrench_goggles": "UNLOCALIZED: Kitted Out",
|
||||
"advancement.create.wrench_goggles.desc": "UNLOCALIZED: Equip Engineer's Goggles and a Wrench",
|
||||
"advancement.create.stressometer": "Dar Cât De Stresat, Mai Exact?",
|
||||
"advancement.create.stressometer.desc": "Plasează și alimentează un Stresometru. Uită-te la el prin Ochelari ca să îi citești valoarea exactă.",
|
||||
"advancement.create.cuckoo_clock": "UNLOCALIZED: Is it Time?",
|
||||
"advancement.create.cuckoo_clock": "UNLOCALIZED: Is It Time?",
|
||||
"advancement.create.cuckoo_clock.desc": "UNLOCALIZED: Witness your Cuckoo Clock announce bedtime",
|
||||
"advancement.create.windmill_maxed": "UNLOCALIZED: A Strong Breeze",
|
||||
"advancement.create.windmill_maxed.desc": "UNLOCALIZED: Assemble a windmill of maximum strength",
|
||||
"advancement.create.ejector_maxed": "UNLOCALIZED: Springboard Champion",
|
||||
"advancement.create.ejector_maxed.desc": "UNLOCALIZED: Get launched for more than 30 blocks by a Weighted Ejector",
|
||||
"advancement.create.ejector_maxed.desc": "UNLOCALIZED: Get launched more than 30 blocks by a Weighted Ejector",
|
||||
"advancement.create.pulley_maxed": "UNLOCALIZED: Rope to Nowhere",
|
||||
"advancement.create.pulley_maxed.desc": "UNLOCALIZED: Extend a Rope Pulley over 200 blocks deep",
|
||||
"advancement.create.cart_pickup": "UNLOCALIZED: Strong Arms",
|
||||
"advancement.create.cart_pickup.desc": "UNLOCALIZED: Pick up a Minecart Contraption with at least 200 attached blocks",
|
||||
"advancement.create.anvil_plough": "UNLOCALIZED: Blacksmith Artillery",
|
||||
"advancement.create.anvil_plough.desc": "UNLOCALIZED: Launch an Anvil with Mechanical ploughs",
|
||||
"advancement.create.anvil_plough.desc": "UNLOCALIZED: Launch an Anvil with Mechanical Ploughs",
|
||||
"advancement.create.lava_wheel_00000": "UNLOCALIZED: Magma Wheel",
|
||||
"advancement.create.lava_wheel_00000.desc": "UNLOCALIZED: This shouldn't have worked§7\n(Hidden Advancement)",
|
||||
"advancement.create.hand_crank_000": "UNLOCALIZED: Workout Session",
|
||||
|
@ -730,48 +730,48 @@
|
|||
"advancement.create.belt_funnel_kiss.desc": "Fă două săruturi de Pâlnii montate pe Bandă.",
|
||||
"advancement.create.stressometer_maxed": "UNLOCALIZED: Perfectly Stressed",
|
||||
"advancement.create.stressometer_maxed.desc": "UNLOCALIZED: Get a 100% readout from a Stressometer§7\n(Hidden Advancement)",
|
||||
"advancement.create.copper": "UNLOCALIZED: More Sturdier Rocks",
|
||||
"advancement.create.copper.desc": "UNLOCALIZED: Amass some Copper for your exploits in Fluid Manipulation",
|
||||
"advancement.create.copper": "UNLOCALIZED: Cuprum Bokum",
|
||||
"advancement.create.copper.desc": "UNLOCALIZED: Amass some Copper Ingots for your exploits in fluid manipulation",
|
||||
"advancement.create.copper_casing": "Epoca de cupru",
|
||||
"advancement.create.copper_casing.desc": "Folosește niște and Wood to create some Copper Casings.",
|
||||
"advancement.create.spout": "Splosh",
|
||||
"advancement.create.spout.desc": "Privește un obiect de fluid fiind umplut folosind o Duză.",
|
||||
"advancement.create.drain": "UNLOCALIZED: Tumble Draining",
|
||||
"advancement.create.drain.desc": "UNLOCALIZED: Watch a fluid containing item be emptied by an Item Drain",
|
||||
"advancement.create.drain.desc": "UNLOCALIZED: Watch a fluid-containing item be emptied by an Item Drain",
|
||||
"advancement.create.steam_engine": "UNLOCALIZED: The Powerhouse",
|
||||
"advancement.create.steam_engine.desc": "UNLOCALIZED: Use a Steam engine to generate torque",
|
||||
"advancement.create.steam_engine.desc": "UNLOCALIZED: Use a Steam Engine to generate torque",
|
||||
"advancement.create.steam_whistle": "UNLOCALIZED: Voice of an Angel",
|
||||
"advancement.create.steam_whistle.desc": "UNLOCALIZED: Activate a Steam Whistle",
|
||||
"advancement.create.backtank": "UNLOCALIZED: Pressure to Go",
|
||||
"advancement.create.backtank.desc": "UNLOCALIZED: Create a copper backtank and make it accumulate Air Pressure",
|
||||
"advancement.create.backtank.desc": "UNLOCALIZED: Create a Copper Backtank and make it accumulate air pressure",
|
||||
"advancement.create.diving_suit": "UNLOCALIZED: Ready for the Depths",
|
||||
"advancement.create.diving_suit.desc": "UNLOCALIZED: Equip a diving helmet together with your backtank and jump into water",
|
||||
"advancement.create.diving_suit.desc": "UNLOCALIZED: Equip a Diving Helmet and a Copper Backtank, then jump into water",
|
||||
"advancement.create.mechanical_pump_0": "UNLOCALIZED: Under Pressure",
|
||||
"advancement.create.mechanical_pump_0.desc": "UNLOCALIZED: Place and power a Mechanical Pump",
|
||||
"advancement.create.glass_pipe": "Spion De Flux",
|
||||
"advancement.create.glass_pipe.desc": "Privește un fluid propagându-se printr-o Conductă De Fluide De Sticlă. Conducte De Fluide Drepte devin de sticlă când o cheie este folosită pe ele.",
|
||||
"advancement.create.water_supply": "UNLOCALIZED: Puddle Collector",
|
||||
"advancement.create.water_supply.desc": "UNLOCALIZED: Use the pulling end of a pipe or pump to collect a water block",
|
||||
"advancement.create.water_supply.desc": "UNLOCALIZED: Use the pulling end of a Fluid Pipe or Mechanical Pump to collect water",
|
||||
"advancement.create.hose_pulley": "Vărsare Industrială",
|
||||
"advancement.create.hose_pulley.desc": "Coboară un Scripete De Furtun și privește-l scurgând sau umplând un corp de fluid.",
|
||||
"advancement.create.chocolate_bucket": "UNLOCALIZED: A World of Imagination",
|
||||
"advancement.create.chocolate_bucket.desc": "UNLOCALIZED: Obtain a Bucket of Molten Chocolate",
|
||||
"advancement.create.chocolate_bucket.desc": "UNLOCALIZED: Obtain a bucket of molten chocolate",
|
||||
"advancement.create.honey_drain": "UNLOCALIZED: Autonomous Bee-Keeping",
|
||||
"advancement.create.honey_drain.desc": "UNLOCALIZED: Use pipes to pull honey from a Bee Nest or Bee House",
|
||||
"advancement.create.honey_drain.desc": "UNLOCALIZED: Use pipes to pull honey from a Bee Nest or Beehive",
|
||||
"advancement.create.hose_pulley_lava": "UNLOCALIZED: Tapping the Mantle",
|
||||
"advancement.create.hose_pulley_lava.desc": "UNLOCALIZED: Pump from a body of Lava large enough to be considered infinite",
|
||||
"advancement.create.hose_pulley_lava.desc": "UNLOCALIZED: Pump from a body of lava large enough to be considered infinite",
|
||||
"advancement.create.steam_engine_maxed": "UNLOCALIZED: Full Steam",
|
||||
"advancement.create.steam_engine_maxed.desc": "UNLOCALIZED: Run a boiler at the maximum level of power",
|
||||
"advancement.create.foods": "UNLOCALIZED: Balanced Diet",
|
||||
"advancement.create.foods.desc": "UNLOCALIZED: Create Chocolate Berries, a Honeyed Apple and a Sweet Roll; all from the same Spout",
|
||||
"advancement.create.foods.desc": "UNLOCALIZED: Create Chocolate Glazed Berries, a Honeyed Apple, and a Sweet Roll all from the same Spout",
|
||||
"advancement.create.diving_suit_lava": "UNLOCALIZED: Swimming with the Striders",
|
||||
"advancement.create.diving_suit_lava.desc": "UNLOCALIZED: Attempt to take a dive in lava with your Copper Diving Gear§7\n(Hidden Advancement)",
|
||||
"advancement.create.diving_suit_lava.desc": "UNLOCALIZED: Attempt to take a dive in lava with your diving gear§7\n(Hidden Advancement)",
|
||||
"advancement.create.chained_drain": "UNLOCALIZED: On a Roll",
|
||||
"advancement.create.chained_drain.desc": "UNLOCALIZED: Watch an Item move across a row of Item Drains§7\n(Hidden Advancement)",
|
||||
"advancement.create.cross_streams": "UNLOCALIZED: Don't cross the Streams!",
|
||||
"advancement.create.chained_drain.desc": "UNLOCALIZED: Watch an item move across a row of Item Drains§7\n(Hidden Advancement)",
|
||||
"advancement.create.cross_streams": "UNLOCALIZED: Don't Cross the Streams!",
|
||||
"advancement.create.cross_streams.desc": "UNLOCALIZED: Watch two fluids meet in your pipe network§7\n(Hidden Advancement)",
|
||||
"advancement.create.pipe_organ": "UNLOCALIZED: The Pipe Organ",
|
||||
"advancement.create.pipe_organ.desc": "UNLOCALIZED: Attach 12 uniquely pitched Steam Whistles to a single fluid tank§7\n(Hidden Advancement)",
|
||||
"advancement.create.pipe_organ.desc": "UNLOCALIZED: Attach 12 uniquely pitched Steam Whistles to a single Fluid Tank§7\n(Hidden Advancement)",
|
||||
"advancement.create.brass": "Aliaje reale",
|
||||
"advancement.create.brass.desc": "Folosește Cupru Zdrobit și Zinc Zdrobit ca să creezi niște Alamă.",
|
||||
"advancement.create.brass_casing": "Epoca Alamei",
|
||||
|
@ -795,7 +795,7 @@
|
|||
"advancement.create.clockwork_bearing": "Ora Invențiilor",
|
||||
"advancement.create.clockwork_bearing.desc": "Asamblează o structură montată pe un Rulment De Ceasornic.",
|
||||
"advancement.create.display_link": "UNLOCALIZED: Big Data",
|
||||
"advancement.create.display_link.desc": "UNLOCALIZED: Use a Display link to visualise information",
|
||||
"advancement.create.display_link.desc": "UNLOCALIZED: Use a Display Link to visualise information",
|
||||
"advancement.create.potato_cannon": "Fwoomp!",
|
||||
"advancement.create.potato_cannon.desc": "Înfrânge un inamic cu Tunul tău De Cartofi.",
|
||||
"advancement.create.extendo_grip": "Boioioing!",
|
||||
|
@ -804,54 +804,54 @@
|
|||
"advancement.create.linked_controller.desc": "UNLOCALIZED: Activate a Redstone Link using a Linked Controller",
|
||||
"advancement.create.arm_blaze_burner": "Arzător-o-Tron",
|
||||
"advancement.create.arm_blaze_burner.desc": "Instructează un Braț Mecanic să hrănească Arzătorul tău De Dogoreală.",
|
||||
"advancement.create.crusher_maxed_0000": "UNLOCALIZED: Crushing it",
|
||||
"advancement.create.crusher_maxed_0000.desc": "UNLOCALIZED: Operate a Pair of Crushing wheels at max speed",
|
||||
"advancement.create.crusher_maxed_0000": "UNLOCALIZED: Crushing It",
|
||||
"advancement.create.crusher_maxed_0000.desc": "UNLOCALIZED: Operate a pair of Crushing Wheels at maximum speed",
|
||||
"advancement.create.arm_many_targets": "Organiz-o-Tron",
|
||||
"advancement.create.arm_many_targets.desc": "Programează un Braț Mecanic cu zece sau mai multe locații de ieșire.",
|
||||
"advancement.create.potato_cannon_collide": "UNLOCALIZED: Veggie Fireworks",
|
||||
"advancement.create.potato_cannon_collide.desc": "UNLOCALIZED: Cause potato cannon projectiles of different types to collide with each other",
|
||||
"advancement.create.potato_cannon_collide.desc": "UNLOCALIZED: Cause Potato Cannon projectiles of different types to collide with each other",
|
||||
"advancement.create.self_deploying": "UNLOCALIZED: Self-Driving Cart",
|
||||
"advancement.create.self_deploying.desc": "UNLOCALIZED: Create a Minecart Contraption that places tracks in front of itself",
|
||||
"advancement.create.fist_bump": "Bate-o, Bro!",
|
||||
"advancement.create.fist_bump.desc": "Fă două Deployere să bată pumnul.",
|
||||
"advancement.create.crafter_lazy_000": "UNLOCALIZED: Desperate Measures",
|
||||
"advancement.create.crafter_lazy_000.desc": "UNLOCALIZED: Drastically slow down a Mechanical Crafter to procrastinate on proper infrastructure§7\n(Hidden Advancement)",
|
||||
"advancement.create.extendo_grip_dual": "UNLOCALIZED: To full Extent",
|
||||
"advancement.create.extendo_grip_dual.desc": "UNLOCALIZED: Dual wield Extendo Grips for super-human reach§7\n(Hidden Advancement)",
|
||||
"advancement.create.extendo_grip_dual": "UNLOCALIZED: To Full Extent",
|
||||
"advancement.create.extendo_grip_dual.desc": "UNLOCALIZED: Dual-wield Extendo Grips for superhuman reach§7\n(Hidden Advancement)",
|
||||
"advancement.create.musical_arm": "Cântă-mi melodia mea tematică!",
|
||||
"advancement.create.musical_arm.desc": "Privește un Braț Mecanic operând Tonomatul tău.",
|
||||
"advancement.create.sturdy_sheet": "UNLOCALIZED: The Sturdiest Rocks",
|
||||
"advancement.create.sturdy_sheet.desc": "UNLOCALIZED: Assemble a Sturdy Sheet from refining crushed Obsidian",
|
||||
"advancement.create.sturdy_sheet.desc": "UNLOCALIZED: Assemble a Sturdy Sheet by refining Powdered Obsidian",
|
||||
"advancement.create.train_casing_00": "UNLOCALIZED: The Logistical Age",
|
||||
"advancement.create.train_casing_00.desc": "UNLOCALIZED: Use Sturdy Sheets to create a Casing for Railway Components",
|
||||
"advancement.create.train_casing_00.desc": "UNLOCALIZED: Use Sturdy Sheets to create a casing for railway components",
|
||||
"advancement.create.train": "UNLOCALIZED: All Aboard!",
|
||||
"advancement.create.train.desc": "UNLOCALIZED: Assemble your first Train",
|
||||
"advancement.create.conductor": "UNLOCALIZED: Conductor Instructor",
|
||||
"advancement.create.conductor.desc": "UNLOCALIZED: Instruct a Train driver with a Schedule",
|
||||
"advancement.create.conductor.desc": "UNLOCALIZED: Instruct a Train driver with a Train Schedule",
|
||||
"advancement.create.track_signal": "UNLOCALIZED: Traffic Control",
|
||||
"advancement.create.track_signal.desc": "UNLOCALIZED: Place a Train Signal",
|
||||
"advancement.create.display_board_0": "UNLOCALIZED: Dynamic Timetables",
|
||||
"advancement.create.display_board_0.desc": "UNLOCALIZED: Forecast a Train's arrival on your Display Board with the help of Display Links",
|
||||
"advancement.create.track_0": "UNLOCALIZED: A new Gauge",
|
||||
"advancement.create.track_0": "UNLOCALIZED: A New Gauge",
|
||||
"advancement.create.track_0.desc": "UNLOCALIZED: Obtain some Train Tracks",
|
||||
"advancement.create.train_whistle": "UNLOCALIZED: Choo choo!",
|
||||
"advancement.create.train_whistle": "UNLOCALIZED: Choo Choo!",
|
||||
"advancement.create.train_whistle.desc": "UNLOCALIZED: Assemble a Steam Whistle to your Train and activate it while driving",
|
||||
"advancement.create.train_portal": "UNLOCALIZED: Dimensional Commuter",
|
||||
"advancement.create.train_portal.desc": "UNLOCALIZED: Ride a train through a Nether Portal",
|
||||
"advancement.create.train_portal.desc": "UNLOCALIZED: Ride a Train through a Nether portal",
|
||||
"advancement.create.track_crafting_factory": "UNLOCALIZED: Track Factory",
|
||||
"advancement.create.track_crafting_factory.desc": "UNLOCALIZED: Produce more than 1000 train tracks in the same Mechanical Press",
|
||||
"advancement.create.track_crafting_factory.desc": "UNLOCALIZED: Produce more than 1000 Train Tracks with the same Mechanical Press",
|
||||
"advancement.create.long_bend": "UNLOCALIZED: The Longest Bend",
|
||||
"advancement.create.long_bend.desc": "UNLOCALIZED: Create a Curved track section that spans more than 30 blocks in length",
|
||||
"advancement.create.long_bend.desc": "UNLOCALIZED: Create a curved track section that spans more than 30 blocks in length",
|
||||
"advancement.create.long_train": "UNLOCALIZED: Ambitious Endeavours",
|
||||
"advancement.create.long_train.desc": "UNLOCALIZED: Create a Train with at least six Carriages",
|
||||
"advancement.create.long_train.desc": "UNLOCALIZED: Create a Train with at least 6 carriages",
|
||||
"advancement.create.long_travel": "UNLOCALIZED: Field Trip",
|
||||
"advancement.create.long_travel.desc": "UNLOCALIZED: Leave a Train Seat over 5000 blocks away from where you started travelling",
|
||||
"advancement.create.train_roadkill": "UNLOCALIZED: Road Kill",
|
||||
"advancement.create.train_roadkill.desc": "UNLOCALIZED: Run over an Enemy with your Train§7\n(Hidden Advancement)",
|
||||
"advancement.create.train_roadkill.desc": "UNLOCALIZED: Run over an enemy with your Train§7\n(Hidden Advancement)",
|
||||
"advancement.create.red_signal": "UNLOCALIZED: Expert Driver",
|
||||
"advancement.create.red_signal.desc": "UNLOCALIZED: Run a Red Signal with your Train§7\n(Hidden Advancement)",
|
||||
"advancement.create.red_signal.desc": "UNLOCALIZED: Run a red Train Signal§7\n(Hidden Advancement)",
|
||||
"advancement.create.train_crash": "UNLOCALIZED: Terrible Service",
|
||||
"advancement.create.train_crash.desc": "UNLOCALIZED: Witness a Train Crash as a Passenger§7\n(Hidden Advancement)",
|
||||
"advancement.create.train_crash.desc": "UNLOCALIZED: Witness a Train crash as a passenger§7\n(Hidden Advancement)",
|
||||
"advancement.create.train_crash_backwards": "UNLOCALIZED: Blind Spot",
|
||||
"advancement.create.train_crash_backwards.desc": "UNLOCALIZED: Crash into another Train while driving backwards§7\n(Hidden Advancement)",
|
||||
|
||||
|
@ -1262,6 +1262,8 @@
|
|||
"create.item_attributes.smokable.inverted": "nu poate fi Afumat",
|
||||
"create.item_attributes.blastable": "poate fi topit în Furnal",
|
||||
"create.item_attributes.blastable.inverted": "nu poate fi topit în Furnal",
|
||||
"create.item_attributes.compostable": "UNLOCALIZED: can be composted",
|
||||
"create.item_attributes.compostable.inverted": "UNLOCALIZED: cannot be composted",
|
||||
"create.item_attributes.shulker_level": "este shulkerul %1$s",
|
||||
"create.item_attributes.shulker_level.inverted": "nu este shulkerul %1$s",
|
||||
"create.item_attributes.shulker_level.full": "plin",
|
||||
|
@ -1368,6 +1370,10 @@
|
|||
"create.tooltip.chute.fans_pull_up": "Ventilatoarele trag de Sus",
|
||||
"create.tooltip.chute.fans_pull_down": "Ventilatoarele trag de Jos",
|
||||
"create.tooltip.chute.contains": "Conține: %1$s x%2$s",
|
||||
"create.tooltip.deployer.header": "UNLOCALIZED: Deployer Information",
|
||||
"create.tooltip.deployer.using": "UNLOCALIZED: Mode: Use",
|
||||
"create.tooltip.deployer.punching": "UNLOCALIZED: Mode: Attack",
|
||||
"create.tooltip.deployer.contains": "UNLOCALIZED: Item: %1$s x%2$s",
|
||||
"create.tooltip.brass_tunnel.contains": "Distribuie Curent:",
|
||||
"create.tooltip.brass_tunnel.contains_entry": "> %1$s x%2$s",
|
||||
"create.tooltip.brass_tunnel.retrieve": "Click Dreapta pentru a recupera",
|
||||
|
@ -1481,6 +1487,7 @@
|
|||
"create.schedule.condition.threshold.equal": "UNLOCALIZED: exactly",
|
||||
"create.schedule.condition.threshold.x_units_of_item": "UNLOCALIZED: %1$s %2$s of %3$s",
|
||||
"create.schedule.condition.threshold.matching_content": "UNLOCALIZED: Matching Content",
|
||||
"create.schedule.condition.threshold.anything": "UNLOCALIZED: Anything",
|
||||
"create.schedule.condition.threshold.item_measure": "UNLOCALIZED: Item Measure",
|
||||
"create.schedule.condition.threshold.items": "UNLOCALIZED: Items",
|
||||
"create.schedule.condition.threshold.stacks": "UNLOCALIZED: Stacks",
|
||||
|
@ -1488,6 +1495,7 @@
|
|||
"create.schedule.condition.threshold.status": "UNLOCALIZED: Cargo: %1$s/%2$s %3$s",
|
||||
"create.schedule.condition.threshold.place_item": "UNLOCALIZED: Reference Item",
|
||||
"create.schedule.condition.threshold.place_item_2": "UNLOCALIZED: Filters can be used",
|
||||
"create.schedule.condition.threshold.place_item_3": "UNLOCALIZED: Leave empty to match any",
|
||||
"create.schedule.condition.fluid_threshold": "UNLOCALIZED: Fluid Cargo Condition",
|
||||
"create.schedule.condition.item_threshold": "UNLOCALIZED: Item Cargo Condition",
|
||||
"create.schedule.condition.redstone_link": "UNLOCALIZED: Redstone Link",
|
||||
|
|
File diff suppressed because it is too large
Load diff
3013
src/generated/resources/assets/create/lang/unfinished/uk_ua.json
Normal file
3013
src/generated/resources/assets/create/lang/unfinished/uk_ua.json
Normal file
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -1,37 +0,0 @@
|
|||
{
|
||||
"parent": "create:block/fluid_pipe/core_x",
|
||||
"elements": [
|
||||
{
|
||||
"from": [
|
||||
4,
|
||||
4,
|
||||
4
|
||||
],
|
||||
"to": [
|
||||
12,
|
||||
12,
|
||||
12
|
||||
],
|
||||
"faces": {
|
||||
"west": {
|
||||
"texture": "#0",
|
||||
"uv": [
|
||||
16.0,
|
||||
8.0,
|
||||
12.0,
|
||||
12.0
|
||||
]
|
||||
},
|
||||
"east": {
|
||||
"texture": "#0",
|
||||
"uv": [
|
||||
12.0,
|
||||
8.0,
|
||||
16.0,
|
||||
12.0
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,37 +0,0 @@
|
|||
{
|
||||
"parent": "create:block/fluid_pipe/core_y",
|
||||
"elements": [
|
||||
{
|
||||
"from": [
|
||||
4,
|
||||
4,
|
||||
4
|
||||
],
|
||||
"to": [
|
||||
12,
|
||||
12,
|
||||
12
|
||||
],
|
||||
"faces": {
|
||||
"down": {
|
||||
"texture": "#0",
|
||||
"uv": [
|
||||
16.0,
|
||||
8.0,
|
||||
12.0,
|
||||
12.0
|
||||
]
|
||||
},
|
||||
"up": {
|
||||
"texture": "#0",
|
||||
"uv": [
|
||||
16.0,
|
||||
12.0,
|
||||
12.0,
|
||||
8.0
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,37 +0,0 @@
|
|||
{
|
||||
"parent": "create:block/fluid_pipe/core_z",
|
||||
"elements": [
|
||||
{
|
||||
"from": [
|
||||
4,
|
||||
4,
|
||||
4
|
||||
],
|
||||
"to": [
|
||||
12,
|
||||
12,
|
||||
12
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"texture": "#0",
|
||||
"uv": [
|
||||
12.0,
|
||||
8.0,
|
||||
16.0,
|
||||
12.0
|
||||
]
|
||||
},
|
||||
"south": {
|
||||
"texture": "#0",
|
||||
"uv": [
|
||||
16.0,
|
||||
8.0,
|
||||
12.0,
|
||||
12.0
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -19,7 +19,7 @@
|
|||
"chance": 0.75
|
||||
},
|
||||
{
|
||||
"item": "minecraft:cobblestone",
|
||||
"item": "minecraft:cobbled_deepslate",
|
||||
"chance": 0.125
|
||||
}
|
||||
],
|
||||
|
|
|
@ -73,6 +73,10 @@
|
|||
"item": "create:cogwheel",
|
||||
"chance": 5.0
|
||||
},
|
||||
{
|
||||
"item": "minecraft:gold_nugget",
|
||||
"chance": 3.0
|
||||
},
|
||||
{
|
||||
"item": "create:shaft",
|
||||
"chance": 2.0
|
||||
|
@ -81,10 +85,6 @@
|
|||
"item": "create:crushed_gold_ore",
|
||||
"chance": 2.0
|
||||
},
|
||||
{
|
||||
"item": "minecraft:gold_nugget",
|
||||
"chance": 2.0
|
||||
},
|
||||
{
|
||||
"item": "minecraft:iron_ingot"
|
||||
},
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"create:blaze_burner",
|
||||
"create:lit_blaze_burner",
|
||||
"#minecraft:fire",
|
||||
"#minecraft:campfires",
|
||||
"minecraft:magma_block",
|
||||
"minecraft:lava"
|
||||
]
|
||||
}
|
|
@ -1,6 +1,11 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"#create:fan_heaters"
|
||||
"create:blaze_burner",
|
||||
"create:lit_blaze_burner",
|
||||
"#minecraft:fire",
|
||||
"#minecraft:campfires",
|
||||
"minecraft:magma_block",
|
||||
"minecraft:lava"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"minecraft:bee_nest",
|
||||
"minecraft:vine",
|
||||
"minecraft:moss_carpet",
|
||||
"minecraft:shroomlight",
|
||||
"minecraft:cocoa"
|
||||
]
|
||||
}
|
|
@ -16,6 +16,7 @@
|
|||
"minecraft:tripwire",
|
||||
"minecraft:tripwire_hook",
|
||||
"minecraft:daylight_detector",
|
||||
"minecraft:target"
|
||||
"minecraft:target",
|
||||
"minecraft:hopper"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"create:copper_backtank"
|
||||
]
|
||||
}
|
|
@ -1,6 +1,7 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"create:sturdy_sheet",
|
||||
"create:copper_sheet",
|
||||
"create:brass_sheet",
|
||||
"create:iron_sheet",
|
||||
|
|
|
@ -161,16 +161,14 @@ public class AllBlockPartials {
|
|||
|
||||
;
|
||||
|
||||
public static final Map<FluidTransportBehaviour.AttachmentTypes, Map<Direction, PartialModel>> PIPE_ATTACHMENTS =
|
||||
new EnumMap<>(FluidTransportBehaviour.AttachmentTypes.class);
|
||||
public static final Map<FluidTransportBehaviour.AttachmentTypes.ComponentPartials, Map<Direction, PartialModel>> PIPE_ATTACHMENTS =
|
||||
new EnumMap<>(FluidTransportBehaviour.AttachmentTypes.ComponentPartials.class);
|
||||
|
||||
public static final Map<Direction, PartialModel> METAL_GIRDER_BRACKETS = new EnumMap<>(Direction.class);
|
||||
public static final Map<DyeColor, PartialModel> TOOLBOX_LIDS = new EnumMap<>(DyeColor.class);
|
||||
|
||||
static {
|
||||
for (FluidTransportBehaviour.AttachmentTypes type : FluidTransportBehaviour.AttachmentTypes.values()) {
|
||||
if (!type.hasModel())
|
||||
continue;
|
||||
for (FluidTransportBehaviour.AttachmentTypes.ComponentPartials type : FluidTransportBehaviour.AttachmentTypes.ComponentPartials.values()) {
|
||||
Map<Direction, PartialModel> map = new HashMap<>();
|
||||
for (Direction d : Iterate.directions) {
|
||||
String asId = Lang.asId(type.name());
|
||||
|
|
|
@ -172,7 +172,7 @@ import com.simibubi.create.content.logistics.block.display.source.FluidListDispl
|
|||
import com.simibubi.create.content.logistics.block.display.source.ItemCountDisplaySource;
|
||||
import com.simibubi.create.content.logistics.block.display.source.ItemListDisplaySource;
|
||||
import com.simibubi.create.content.logistics.block.display.source.ItemNameDisplaySource;
|
||||
import com.simibubi.create.content.logistics.block.display.source.ItemThoughputDisplaySource;
|
||||
import com.simibubi.create.content.logistics.block.display.source.ItemThroughputDisplaySource;
|
||||
import com.simibubi.create.content.logistics.block.display.source.KineticSpeedDisplaySource;
|
||||
import com.simibubi.create.content.logistics.block.display.source.KineticStressDisplaySource;
|
||||
import com.simibubi.create.content.logistics.block.display.source.ObservedTrainNameSource;
|
||||
|
@ -241,12 +241,12 @@ import net.createmod.catnip.utility.Couple;
|
|||
import net.minecraft.client.renderer.RenderType;
|
||||
import net.minecraft.core.Direction.Axis;
|
||||
import net.minecraft.core.Direction.AxisDirection;
|
||||
import net.minecraft.core.Registry;
|
||||
import net.minecraft.data.recipes.ShapelessRecipeBuilder;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.tags.BlockTags;
|
||||
import net.minecraft.tags.ItemTags;
|
||||
import net.minecraft.world.item.DyeColor;
|
||||
import net.minecraft.world.item.Item;
|
||||
import net.minecraft.world.item.Rarity;
|
||||
import net.minecraft.world.item.enchantment.Enchantments;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
|
@ -570,7 +570,7 @@ public class AllBlocks {
|
|||
.transform(axeOrPickaxe())
|
||||
.transform(BuilderTransformers.cuckooClock())
|
||||
.lang("Cuckoo Clock")
|
||||
.onRegisterAfter(Item.class, c -> TooltipHelper.referTo(c, CUCKOO_CLOCK))
|
||||
.onRegisterAfter(Registry.ITEM_REGISTRY, c -> TooltipHelper.referTo(c, CUCKOO_CLOCK))
|
||||
.register();
|
||||
|
||||
public static final BlockEntry<MillstoneBlock> MILLSTONE = REGISTRATE.block("millstone", MillstoneBlock::new)
|
||||
|
@ -652,7 +652,7 @@ public class AllBlocks {
|
|||
.properties(p -> p.lightLevel(BlazeBurnerBlock::getLight))
|
||||
.transform(pickaxeOnly())
|
||||
.addLayer(() -> RenderType::cutoutMipped)
|
||||
.tag(AllBlockTags.FAN_TRANSPARENT.tag, AllBlockTags.FAN_HEATERS.tag)
|
||||
.tag(AllBlockTags.FAN_TRANSPARENT.tag, AllBlockTags.PASSIVE_BOILER_HEATERS.tag)
|
||||
.loot((lt, block) -> lt.add(block, BlazeBurnerBlock.buildLootTable()))
|
||||
.blockstate((c, p) -> p.simpleBlock(c.getEntry(), AssetLookup.partialBaseModel(c, p)))
|
||||
.onRegister(movementBehaviour(new BlazeBurnerMovementBehaviour()))
|
||||
|
@ -669,7 +669,7 @@ public class AllBlocks {
|
|||
.properties(p -> p.lightLevel(LitBlazeBurnerBlock::getLight))
|
||||
.transform(pickaxeOnly())
|
||||
.addLayer(() -> RenderType::cutoutMipped)
|
||||
.tag(AllBlockTags.FAN_TRANSPARENT.tag, AllBlockTags.FAN_HEATERS.tag)
|
||||
.tag(AllBlockTags.FAN_TRANSPARENT.tag, AllBlockTags.PASSIVE_BOILER_HEATERS.tag)
|
||||
.loot((lt, block) -> lt.dropOther(block, AllItems.EMPTY_BLAZE_BURNER.get()))
|
||||
.blockstate((c, p) -> p.getVariantBuilder(c.get())
|
||||
.forAllStates(state -> ConfiguredModel.builder()
|
||||
|
@ -812,7 +812,7 @@ public class AllBlocks {
|
|||
.initialProperties(SharedProperties::copperMetal)
|
||||
.transform(pickaxeOnly())
|
||||
.blockstate(BlockStateGen.pipe())
|
||||
.onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::opaque))
|
||||
.onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::new))
|
||||
.item()
|
||||
.transform(customItemModel())
|
||||
.register();
|
||||
|
@ -827,7 +827,7 @@ public class AllBlocks {
|
|||
.onRegister(CreateRegistrate.connectedTextures(() -> new EncasedCTBehaviour(AllSpriteShifts.COPPER_CASING)))
|
||||
.onRegister(CreateRegistrate.casingConnectivity((block, cc) -> cc.make(block, AllSpriteShifts.COPPER_CASING,
|
||||
(s, f) -> !s.getValue(EncasedPipeBlock.FACING_TO_PROPERTY_MAP.get(f)))))
|
||||
.onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::opaque))
|
||||
.onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::new))
|
||||
.loot((p, b) -> p.dropOther(b, FLUID_PIPE.get()))
|
||||
.register();
|
||||
|
||||
|
@ -849,7 +849,7 @@ public class AllBlocks {
|
|||
.build();
|
||||
}, BlockStateProperties.WATERLOGGED);
|
||||
})
|
||||
.onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::transparent))
|
||||
.onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::new))
|
||||
.loot((p, b) -> p.dropOther(b, FLUID_PIPE.get()))
|
||||
.register();
|
||||
|
||||
|
@ -858,7 +858,7 @@ public class AllBlocks {
|
|||
.properties(p -> p.color(MaterialColor.STONE))
|
||||
.transform(pickaxeOnly())
|
||||
.blockstate(BlockStateGen.directionalBlockProviderIgnoresWaterlogged(true))
|
||||
.onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::opaque))
|
||||
.onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::new))
|
||||
.transform(BlockStressDefaults.setImpact(4.0))
|
||||
.item()
|
||||
.transform(customItemModel())
|
||||
|
@ -870,7 +870,7 @@ public class AllBlocks {
|
|||
.properties(p -> p.color(MaterialColor.TERRACOTTA_YELLOW))
|
||||
.transform(pickaxeOnly())
|
||||
.blockstate(new SmartFluidPipeGenerator()::generate)
|
||||
.onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::transparent))
|
||||
.onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::new))
|
||||
.item()
|
||||
.transform(customItemModel())
|
||||
.register();
|
||||
|
@ -881,7 +881,7 @@ public class AllBlocks {
|
|||
.blockstate((c, p) -> BlockStateGen.directionalAxisBlock(c, p,
|
||||
(state, vertical) -> AssetLookup.partialBaseModel(c, p, vertical ? "vertical" : "horizontal",
|
||||
state.getValue(FluidValveBlock.ENABLED) ? "open" : "closed")))
|
||||
.onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::opaque))
|
||||
.onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::new))
|
||||
.item()
|
||||
.transform(customItemModel())
|
||||
.register();
|
||||
|
@ -1337,7 +1337,7 @@ public class AllBlocks {
|
|||
.unlockedBy("has_seat", RegistrateRecipeProvider.has(AllItemTags.SEATS.tag))
|
||||
.save(p, Create.asResource("crafting/kinetics/" + c.getName() + "_from_other_seat"));
|
||||
})
|
||||
.onRegisterAfter(Item.class, v -> TooltipHelper.referTo(v, "block.create.brown_seat"))
|
||||
.onRegisterAfter(Registry.ITEM_REGISTRY, v -> TooltipHelper.referTo(v, "block.create.brown_seat"))
|
||||
.tag(AllBlockTags.SEATS.tag)
|
||||
.item()
|
||||
.tag(AllItemTags.SEATS.tag)
|
||||
|
@ -1696,7 +1696,7 @@ public class AllBlocks {
|
|||
.properties(p -> p.color(MaterialColor.STONE))
|
||||
.transform(BuilderTransformers.beltTunnel("andesite", new ResourceLocation("block/polished_andesite")))
|
||||
.onRegister(assignDataBehaviour(new AccumulatedItemCountDisplaySource(), "accumulate_items"))
|
||||
.onRegister(assignDataBehaviour(new ItemThoughputDisplaySource(), "item_throughput"))
|
||||
.onRegister(assignDataBehaviour(new ItemThroughputDisplaySource(), "item_throughput"))
|
||||
.register();
|
||||
|
||||
public static final BlockEntry<BrassTunnelBlock> BRASS_TUNNEL =
|
||||
|
@ -1704,7 +1704,7 @@ public class AllBlocks {
|
|||
.properties(p -> p.color(MaterialColor.TERRACOTTA_YELLOW))
|
||||
.transform(BuilderTransformers.beltTunnel("brass", Create.asResource("block/brass_block")))
|
||||
.onRegister(assignDataBehaviour(new AccumulatedItemCountDisplaySource(), "accumulate_items"))
|
||||
.onRegister(assignDataBehaviour(new ItemThoughputDisplaySource(), "item_throughput"))
|
||||
.onRegister(assignDataBehaviour(new ItemThroughputDisplaySource(), "item_throughput"))
|
||||
.onRegister(connectedTextures(BrassTunnelCTBehaviour::new))
|
||||
.register();
|
||||
|
||||
|
@ -1953,7 +1953,7 @@ public class AllBlocks {
|
|||
.withExistingParent(colourName + "_toolbox", p.modLoc("block/toolbox/block"))
|
||||
.texture("0", p.modLoc("block/toolbox/" + colourName)));
|
||||
})
|
||||
.onRegisterAfter(Item.class, v -> TooltipHelper.referTo(v, "block.create.toolbox"))
|
||||
.onRegisterAfter(Registry.ITEM_REGISTRY, v -> TooltipHelper.referTo(v, "block.create.toolbox"))
|
||||
.tag(AllBlockTags.TOOLBOXES.tag)
|
||||
.item(UncontainableBlockItem::new)
|
||||
.model((c, p) -> p.withExistingParent(colourName + "_toolbox", p.modLoc("block/toolbox/item"))
|
||||
|
|
|
@ -2,17 +2,20 @@ package com.simibubi.create;
|
|||
|
||||
import com.simibubi.create.content.logistics.trains.entity.CarriageSyncDataSerializer;
|
||||
|
||||
import net.minecraftforge.event.RegistryEvent;
|
||||
import net.minecraftforge.eventbus.api.IEventBus;
|
||||
import net.minecraftforge.registries.DataSerializerEntry;
|
||||
import net.minecraftforge.registries.IForgeRegistry;
|
||||
import net.minecraftforge.registries.DeferredRegister;
|
||||
import net.minecraftforge.registries.ForgeRegistries;
|
||||
import net.minecraftforge.registries.RegistryObject;
|
||||
|
||||
public class AllEntityDataSerializers {
|
||||
private static final DeferredRegister<DataSerializerEntry> REGISTER = DeferredRegister.create(ForgeRegistries.Keys.DATA_SERIALIZERS, Create.ID);
|
||||
|
||||
public static final CarriageSyncDataSerializer CARRIAGE_DATA = new CarriageSyncDataSerializer();
|
||||
|
||||
public static void register(RegistryEvent.Register<DataSerializerEntry> event) {
|
||||
IForgeRegistry<DataSerializerEntry> registry = event.getRegistry();
|
||||
registry.register(new DataSerializerEntry(CARRIAGE_DATA).setRegistryName(Create.asResource("carriage_data")));
|
||||
}
|
||||
public static final RegistryObject<DataSerializerEntry> CARRIAGE_DATA_ENTRY = REGISTER.register("carriage_data", () -> new DataSerializerEntry(CARRIAGE_DATA));
|
||||
|
||||
public static void register(IEventBus modEventBus) {
|
||||
REGISTER.register(modEventBus);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,15 +10,11 @@ import com.simibubi.create.content.palettes.AllPaletteStoneTypes;
|
|||
import com.simibubi.create.foundation.data.CreateRegistrate;
|
||||
import com.tterrag.registrate.util.entry.FluidEntry;
|
||||
|
||||
import net.minecraft.client.renderer.ItemBlockRenderTypes;
|
||||
import net.minecraft.client.renderer.RenderType;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.world.level.BlockAndTintGetter;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.level.material.Fluid;
|
||||
import net.minecraft.world.level.material.FluidState;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
import net.minecraftforge.fluids.FluidAttributes;
|
||||
import net.minecraftforge.fluids.ForgeFlowingFluid;
|
||||
|
||||
|
@ -28,17 +24,17 @@ public class AllFluids {
|
|||
|
||||
public static final FluidEntry<PotionFluid> POTION =
|
||||
REGISTRATE.virtualFluid("potion", PotionFluidAttributes::new, PotionFluid::new)
|
||||
.lang(f -> "fluid.create.potion", "Potion")
|
||||
.lang("Potion")
|
||||
.register();
|
||||
|
||||
public static final FluidEntry<VirtualFluid> TEA = REGISTRATE.virtualFluid("tea")
|
||||
.lang(f -> "fluid.create.tea", "Builder's Tea")
|
||||
.lang("Builder's Tea")
|
||||
.tag(AllTags.forgeFluidTag("tea"))
|
||||
.register();
|
||||
|
||||
public static final FluidEntry<ForgeFlowingFluid.Flowing> HONEY =
|
||||
REGISTRATE.standardFluid("honey", NoColorFluidAttributes::new)
|
||||
.lang(f -> "fluid.create.honey", "Honey")
|
||||
.lang("Honey")
|
||||
.attributes(b -> b.viscosity(2000)
|
||||
.density(1400))
|
||||
.properties(p -> p.levelDecreasePerBlock(2)
|
||||
|
@ -54,7 +50,7 @@ public class AllFluids {
|
|||
|
||||
public static final FluidEntry<ForgeFlowingFluid.Flowing> CHOCOLATE =
|
||||
REGISTRATE.standardFluid("chocolate", NoColorFluidAttributes::new)
|
||||
.lang(f -> "fluid.create.chocolate", "Chocolate")
|
||||
.lang("Chocolate")
|
||||
.tag(AllTags.forgeFluidTag("chocolate"))
|
||||
.attributes(b -> b.viscosity(1500)
|
||||
.density(1400))
|
||||
|
@ -68,16 +64,6 @@ public class AllFluids {
|
|||
|
||||
public static void register() {}
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
public static void assignRenderLayers() {}
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
private static void makeTranslucent(FluidEntry<?> entry) {
|
||||
ForgeFlowingFluid fluid = entry.get();
|
||||
ItemBlockRenderTypes.setRenderLayer(fluid, RenderType.translucent());
|
||||
ItemBlockRenderTypes.setRenderLayer(fluid.getSource(), RenderType.translucent());
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public static BlockState getLavaInteraction(FluidState fluidState) {
|
||||
Fluid fluid = fluidState.getType();
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
package com.simibubi.create;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
|
@ -11,20 +9,32 @@ import com.simibubi.create.content.contraptions.components.structureMovement.Mov
|
|||
import com.simibubi.create.content.contraptions.components.structureMovement.interaction.DoorMovingInteraction;
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.interaction.LeverMovingInteraction;
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.interaction.TrapdoorMovingInteraction;
|
||||
import com.simibubi.create.foundation.utility.CreateRegistry;
|
||||
import com.tterrag.registrate.util.nullness.NonNullConsumer;
|
||||
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.tags.BlockTags;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.Blocks;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraftforge.registries.ForgeRegistries;
|
||||
import net.minecraftforge.registries.IRegistryDelegate;
|
||||
|
||||
public class AllInteractionBehaviours {
|
||||
private static final Map<IRegistryDelegate<Block>, MovingInteractionBehaviour> BLOCK_BEHAVIOURS = new HashMap<>();
|
||||
private static final CreateRegistry<Block, MovingInteractionBehaviour> BLOCK_BEHAVIOURS = new CreateRegistry<>(ForgeRegistries.BLOCKS);
|
||||
private static final List<BehaviourProvider> GLOBAL_BEHAVIOURS = new ArrayList<>();
|
||||
|
||||
public static void registerBehaviour(ResourceLocation block, MovingInteractionBehaviour provider) {
|
||||
BLOCK_BEHAVIOURS.register(block, provider);
|
||||
}
|
||||
|
||||
public static void registerBehaviour(Block block, MovingInteractionBehaviour provider) {
|
||||
BLOCK_BEHAVIOURS.register(block, provider);
|
||||
}
|
||||
|
||||
@Deprecated(forRemoval = true)
|
||||
public static void registerBehaviour(IRegistryDelegate<Block> block, MovingInteractionBehaviour provider) {
|
||||
BLOCK_BEHAVIOURS.put(block, provider);
|
||||
registerBehaviour(block.name(), provider);
|
||||
}
|
||||
|
||||
public static void registerBehaviourProvider(BehaviourProvider provider) {
|
||||
|
@ -33,7 +43,7 @@ public class AllInteractionBehaviours {
|
|||
|
||||
@Nullable
|
||||
public static MovingInteractionBehaviour getBehaviour(BlockState state) {
|
||||
MovingInteractionBehaviour behaviour = BLOCK_BEHAVIOURS.get(state.getBlock().delegate);
|
||||
MovingInteractionBehaviour behaviour = BLOCK_BEHAVIOURS.get(state.getBlock());
|
||||
if (behaviour != null) {
|
||||
return behaviour;
|
||||
}
|
||||
|
@ -50,11 +60,11 @@ public class AllInteractionBehaviours {
|
|||
|
||||
public static <B extends Block> NonNullConsumer<? super B> interactionBehaviour(
|
||||
MovingInteractionBehaviour behaviour) {
|
||||
return b -> registerBehaviour(b.delegate, behaviour);
|
||||
return b -> registerBehaviour(b, behaviour);
|
||||
}
|
||||
|
||||
static void registerDefaults() {
|
||||
registerBehaviour(Blocks.LEVER.delegate, new LeverMovingInteraction());
|
||||
registerBehaviour(Blocks.LEVER, new LeverMovingInteraction());
|
||||
|
||||
DoorMovingInteraction doorBehaviour = new DoorMovingInteraction();
|
||||
registerBehaviourProvider(state -> {
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
package com.simibubi.create;
|
||||
|
||||
import static com.simibubi.create.AllTags.forgeItemTag;
|
||||
import static com.simibubi.create.AllTags.AllItemTags.CREATE_INGOTS;
|
||||
import static com.simibubi.create.AllTags.AllItemTags.CRUSHED_ORES;
|
||||
import static com.simibubi.create.AllTags.AllItemTags.PLATES;
|
||||
import static com.simibubi.create.AllTags.forgeItemTag;
|
||||
import static com.simibubi.create.content.AllSections.CURIOSITIES;
|
||||
import static com.simibubi.create.content.AllSections.KINETICS;
|
||||
import static com.simibubi.create.content.AllSections.LOGISTICS;
|
||||
|
@ -85,7 +85,7 @@ public class AllItems {
|
|||
DOUGH = taggedIngredient("dough", forgeItemTag("dough"), forgeItemTag("dough/wheat")),
|
||||
CINDER_FLOUR = ingredient("cinder_flour"), ROSE_QUARTZ = ingredient("rose_quartz"),
|
||||
POLISHED_ROSE_QUARTZ = ingredient("polished_rose_quartz"), POWDERED_OBSIDIAN = ingredient("powdered_obsidian"),
|
||||
STURDY_SHEET = taggedIngredient("sturdy_sheet", forgeItemTag("plates/obsidian")),
|
||||
STURDY_SHEET = taggedIngredient("sturdy_sheet", forgeItemTag("plates/obsidian"), PLATES.tag),
|
||||
PROPELLER = ingredient("propeller"), WHISK = ingredient("whisk"), BRASS_HAND = ingredient("brass_hand"),
|
||||
CRAFTER_SLOT_COVER = ingredient("crafter_slot_cover"), ELECTRON_TUBE = ingredient("electron_tube");
|
||||
|
||||
|
@ -248,6 +248,7 @@ public class AllItems {
|
|||
|
||||
COPPER_BACKTANK = REGISTRATE.item("copper_backtank", p -> new CopperBacktankItem(p, COPPER_BACKTANK_PLACEABLE))
|
||||
.model(AssetLookup.customGenericItemModel("_", "item"))
|
||||
.tag(AllItemTags.PRESSURIZED_AIR_SOURCES.tag)
|
||||
.register(),
|
||||
|
||||
DIVING_HELMET = REGISTRATE.item("diving_helmet", DivingHelmetItem::new)
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
package com.simibubi.create;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
|
@ -12,19 +10,31 @@ import com.simibubi.create.content.contraptions.components.actors.CampfireMoveme
|
|||
import com.simibubi.create.content.contraptions.components.actors.dispenser.DispenserMovementBehaviour;
|
||||
import com.simibubi.create.content.contraptions.components.actors.dispenser.DropperMovementBehaviour;
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.MovementBehaviour;
|
||||
import com.simibubi.create.foundation.utility.CreateRegistry;
|
||||
import com.tterrag.registrate.util.nullness.NonNullConsumer;
|
||||
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.Blocks;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraftforge.registries.ForgeRegistries;
|
||||
import net.minecraftforge.registries.IRegistryDelegate;
|
||||
|
||||
public class AllMovementBehaviours {
|
||||
private static final Map<IRegistryDelegate<Block>, MovementBehaviour> BLOCK_BEHAVIOURS = new HashMap<>();
|
||||
private static final CreateRegistry<Block, MovementBehaviour> BLOCK_BEHAVIOURS = new CreateRegistry<>(ForgeRegistries.BLOCKS);
|
||||
private static final List<BehaviourProvider> GLOBAL_BEHAVIOURS = new ArrayList<>();
|
||||
|
||||
public static void registerBehaviour(ResourceLocation block, MovementBehaviour behaviour) {
|
||||
BLOCK_BEHAVIOURS.register(block, behaviour);
|
||||
}
|
||||
|
||||
public static void registerBehaviour(Block block, MovementBehaviour behaviour) {
|
||||
BLOCK_BEHAVIOURS.register(block, behaviour);
|
||||
}
|
||||
|
||||
@Deprecated(forRemoval = true)
|
||||
public static void registerBehaviour(IRegistryDelegate<Block> block, MovementBehaviour behaviour) {
|
||||
BLOCK_BEHAVIOURS.put(block, behaviour);
|
||||
registerBehaviour(block.name(), behaviour);
|
||||
}
|
||||
|
||||
public static void registerBehaviourProvider(BehaviourProvider provider) {
|
||||
|
@ -33,7 +43,7 @@ public class AllMovementBehaviours {
|
|||
|
||||
@Nullable
|
||||
public static MovementBehaviour getBehaviour(BlockState state) {
|
||||
MovementBehaviour behaviour = BLOCK_BEHAVIOURS.get(state.getBlock().delegate);
|
||||
MovementBehaviour behaviour = BLOCK_BEHAVIOURS.get(state.getBlock());
|
||||
if (behaviour != null) {
|
||||
return behaviour;
|
||||
}
|
||||
|
@ -50,16 +60,16 @@ public class AllMovementBehaviours {
|
|||
|
||||
public static <B extends Block> NonNullConsumer<? super B> movementBehaviour(
|
||||
MovementBehaviour behaviour) {
|
||||
return b -> registerBehaviour(b.delegate, behaviour);
|
||||
return b -> registerBehaviour(b, behaviour);
|
||||
}
|
||||
|
||||
static void registerDefaults() {
|
||||
registerBehaviour(Blocks.BELL.delegate, new BellMovementBehaviour());
|
||||
registerBehaviour(Blocks.CAMPFIRE.delegate, new CampfireMovementBehaviour());
|
||||
registerBehaviour(Blocks.BELL, new BellMovementBehaviour());
|
||||
registerBehaviour(Blocks.CAMPFIRE, new CampfireMovementBehaviour());
|
||||
|
||||
DispenserMovementBehaviour.gatherMovedDispenseItemBehaviours();
|
||||
registerBehaviour(Blocks.DISPENSER.delegate, new DispenserMovementBehaviour());
|
||||
registerBehaviour(Blocks.DROPPER.delegate, new DropperMovementBehaviour());
|
||||
registerBehaviour(Blocks.DISPENSER, new DispenserMovementBehaviour());
|
||||
registerBehaviour(Blocks.DROPPER, new DropperMovementBehaviour());
|
||||
}
|
||||
|
||||
public interface BehaviourProvider {
|
||||
|
|
|
@ -18,12 +18,13 @@ import net.minecraft.client.Minecraft;
|
|||
import net.minecraft.client.particle.ParticleEngine;
|
||||
import net.minecraft.core.particles.ParticleOptions;
|
||||
import net.minecraft.core.particles.ParticleType;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
import net.minecraftforge.client.event.ParticleFactoryRegisterEvent;
|
||||
import net.minecraftforge.event.RegistryEvent;
|
||||
import net.minecraftforge.registries.IForgeRegistry;
|
||||
import net.minecraftforge.eventbus.api.IEventBus;
|
||||
import net.minecraftforge.registries.DeferredRegister;
|
||||
import net.minecraftforge.registries.ForgeRegistries;
|
||||
import net.minecraftforge.registries.RegistryObject;
|
||||
|
||||
public enum AllParticleTypes {
|
||||
|
||||
|
@ -39,19 +40,17 @@ public enum AllParticleTypes {
|
|||
SOUL(SoulParticle.Data::new),
|
||||
SOUL_BASE(SoulBaseParticle.Data::new),
|
||||
SOUL_PERIMETER(SoulParticle.PerimeterData::new),
|
||||
SOUL_EXPANDING_PERIMETER(SoulParticle.ExpandingPerimeterData::new)
|
||||
;
|
||||
SOUL_EXPANDING_PERIMETER(SoulParticle.ExpandingPerimeterData::new);
|
||||
|
||||
private ParticleEntry<?> entry;
|
||||
private final ParticleEntry<?> entry;
|
||||
|
||||
<D extends ParticleOptions> AllParticleTypes(Supplier<? extends ICustomParticleData<D>> typeFactory) {
|
||||
String asId = Lang.asId(this.name());
|
||||
entry = new ParticleEntry<>(new ResourceLocation(Create.ID, asId), typeFactory);
|
||||
String name = Lang.asId(name());
|
||||
entry = new ParticleEntry<>(name, typeFactory);
|
||||
}
|
||||
|
||||
public static void register(RegistryEvent.Register<ParticleType<?>> event) {
|
||||
for (AllParticleTypes particle : values())
|
||||
particle.entry.register(event.getRegistry());
|
||||
public static void register(IEventBus modEventBus) {
|
||||
ParticleEntry.REGISTER.register(modEventBus);
|
||||
}
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
|
@ -62,40 +61,31 @@ public enum AllParticleTypes {
|
|||
}
|
||||
|
||||
public ParticleType<?> get() {
|
||||
return entry.getOrCreateType();
|
||||
return entry.object.get();
|
||||
}
|
||||
|
||||
public String parameter() {
|
||||
return Lang.asId(name());
|
||||
return entry.name;
|
||||
}
|
||||
|
||||
private class ParticleEntry<D extends ParticleOptions> {
|
||||
Supplier<? extends ICustomParticleData<D>> typeFactory;
|
||||
ParticleType<D> type;
|
||||
ResourceLocation id;
|
||||
private static class ParticleEntry<D extends ParticleOptions> {
|
||||
private static final DeferredRegister<ParticleType<?>> REGISTER = DeferredRegister.create(ForgeRegistries.PARTICLE_TYPES, Create.ID);
|
||||
|
||||
public ParticleEntry(ResourceLocation id, Supplier<? extends ICustomParticleData<D>> typeFactory) {
|
||||
this.id = id;
|
||||
private final String name;
|
||||
private final Supplier<? extends ICustomParticleData<D>> typeFactory;
|
||||
private final RegistryObject<ParticleType<D>> object;
|
||||
|
||||
public ParticleEntry(String name, Supplier<? extends ICustomParticleData<D>> typeFactory) {
|
||||
this.name = name;
|
||||
this.typeFactory = typeFactory;
|
||||
}
|
||||
|
||||
void register(IForgeRegistry<ParticleType<?>> registry) {
|
||||
registry.register(getOrCreateType());
|
||||
}
|
||||
|
||||
ParticleType<D> getOrCreateType() {
|
||||
if (type != null)
|
||||
return type;
|
||||
type = typeFactory.get()
|
||||
.createType();
|
||||
type.setRegistryName(id);
|
||||
return type;
|
||||
object = REGISTER.register(name, () -> this.typeFactory.get().createType());
|
||||
}
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
void registerFactory(ParticleEngine particles) {
|
||||
public void registerFactory(ParticleEngine particles) {
|
||||
typeFactory.get()
|
||||
.register(getOrCreateType(), particles);
|
||||
.register(object.get(), particles);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -4,6 +4,8 @@ import java.util.Optional;
|
|||
import java.util.Set;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.simibubi.create.compat.jei.ConversionRecipe;
|
||||
import com.simibubi.create.content.contraptions.components.crafter.MechanicalCraftingRecipe;
|
||||
|
@ -27,6 +29,7 @@ import com.simibubi.create.content.curiosities.toolbox.ToolboxDyeingRecipe;
|
|||
import com.simibubi.create.content.curiosities.tools.SandPaperPolishingRecipe;
|
||||
import com.simibubi.create.foundation.utility.recipe.IRecipeTypeInfo;
|
||||
|
||||
import net.createmod.catnip.platform.CatnipServices;
|
||||
import net.createmod.catnip.utility.lang.Lang;
|
||||
import net.minecraft.core.Registry;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
|
@ -37,7 +40,10 @@ import net.minecraft.world.item.crafting.RecipeType;
|
|||
import net.minecraft.world.item.crafting.ShapedRecipe;
|
||||
import net.minecraft.world.item.crafting.SimpleRecipeSerializer;
|
||||
import net.minecraft.world.level.Level;
|
||||
import net.minecraftforge.event.RegistryEvent;
|
||||
import net.minecraftforge.eventbus.api.IEventBus;
|
||||
import net.minecraftforge.registries.DeferredRegister;
|
||||
import net.minecraftforge.registries.ForgeRegistries;
|
||||
import net.minecraftforge.registries.RegistryObject;
|
||||
|
||||
public enum AllRecipeTypes implements IRecipeTypeInfo {
|
||||
|
||||
|
@ -60,34 +66,53 @@ public enum AllRecipeTypes implements IRecipeTypeInfo {
|
|||
MECHANICAL_CRAFTING(MechanicalCraftingRecipe.Serializer::new),
|
||||
SEQUENCED_ASSEMBLY(SequencedAssemblyRecipeSerializer::new),
|
||||
|
||||
TOOLBOX_DYEING(() -> new SimpleRecipeSerializer<>(ToolboxDyeingRecipe::new), RecipeType.CRAFTING);
|
||||
TOOLBOX_DYEING(() -> new SimpleRecipeSerializer<>(ToolboxDyeingRecipe::new), () -> RecipeType.CRAFTING, false);
|
||||
|
||||
;
|
||||
private final ResourceLocation id;
|
||||
private final RegistryObject<RecipeSerializer<?>> serializerObject;
|
||||
@Nullable
|
||||
private final RegistryObject<RecipeType<?>> typeObject;
|
||||
private final Supplier<RecipeType<?>> type;
|
||||
|
||||
private ResourceLocation id;
|
||||
private Supplier<RecipeSerializer<?>> serializerSupplier;
|
||||
private Supplier<RecipeType<?>> typeSupplier;
|
||||
private RecipeSerializer<?> serializer;
|
||||
private RecipeType<?> type;
|
||||
|
||||
AllRecipeTypes(Supplier<RecipeSerializer<?>> serializerSupplier, Supplier<RecipeType<?>> typeSupplier) {
|
||||
this.id = Create.asResource(Lang.asId(name()));
|
||||
this.serializerSupplier = serializerSupplier;
|
||||
this.typeSupplier = typeSupplier;
|
||||
}
|
||||
|
||||
AllRecipeTypes(Supplier<RecipeSerializer<?>> serializerSupplier, RecipeType<?> existingType) {
|
||||
this(serializerSupplier, () -> existingType);
|
||||
AllRecipeTypes(Supplier<RecipeSerializer<?>> serializerSupplier, Supplier<RecipeType<?>> typeSupplier, boolean registerType) {
|
||||
String name = Lang.asId(name());
|
||||
id = Create.asResource(name);
|
||||
serializerObject = Registers.SERIALIZER_REGISTER.register(name, serializerSupplier);
|
||||
if (registerType) {
|
||||
typeObject = Registers.TYPE_REGISTER.register(name, typeSupplier);
|
||||
type = typeObject;
|
||||
} else {
|
||||
typeObject = null;
|
||||
type = typeSupplier;
|
||||
}
|
||||
}
|
||||
|
||||
AllRecipeTypes(Supplier<RecipeSerializer<?>> serializerSupplier) {
|
||||
this.id = Create.asResource(Lang.asId(name()));
|
||||
this.serializerSupplier = serializerSupplier;
|
||||
this.typeSupplier = () -> simpleType(id);
|
||||
String name = Lang.asId(name());
|
||||
id = Create.asResource(name);
|
||||
serializerObject = Registers.SERIALIZER_REGISTER.register(name, serializerSupplier);
|
||||
typeObject = Registers.TYPE_REGISTER.register(name, () -> simpleType(id));
|
||||
type = typeObject;
|
||||
}
|
||||
|
||||
AllRecipeTypes(ProcessingRecipeFactory<?> processingFactory) {
|
||||
this(processingSerializer(processingFactory));
|
||||
this(() -> new ProcessingRecipeSerializer<>(processingFactory));
|
||||
}
|
||||
|
||||
public static <T extends Recipe<?>> RecipeType<T> simpleType(ResourceLocation id) {
|
||||
String stringId = id.toString();
|
||||
return new RecipeType<T>() {
|
||||
@Override
|
||||
public String toString() {
|
||||
return stringId;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
public static void register(IEventBus modEventBus) {
|
||||
ShapedRecipe.setCraftingSize(9, 9);
|
||||
Registers.SERIALIZER_REGISTER.register(modEventBus);
|
||||
Registers.TYPE_REGISTER.register(modEventBus);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -98,13 +123,13 @@ public enum AllRecipeTypes implements IRecipeTypeInfo {
|
|||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public <T extends RecipeSerializer<?>> T getSerializer() {
|
||||
return (T) serializer;
|
||||
return (T) serializerObject.get();
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public <T extends RecipeType<?>> T getType() {
|
||||
return (T) type;
|
||||
return (T) type.get();
|
||||
}
|
||||
|
||||
public <C extends Container, T extends Recipe<C>> Optional<T> find(C inv, Level world) {
|
||||
|
@ -112,42 +137,21 @@ public enum AllRecipeTypes implements IRecipeTypeInfo {
|
|||
.getRecipeFor(getType(), inv, world);
|
||||
}
|
||||
|
||||
public static void register(RegistryEvent.Register<RecipeSerializer<?>> event) {
|
||||
ShapedRecipe.setCraftingSize(9, 9);
|
||||
|
||||
for (AllRecipeTypes r : AllRecipeTypes.values()) {
|
||||
r.serializer = r.serializerSupplier.get();
|
||||
r.type = r.typeSupplier.get();
|
||||
r.serializer.setRegistryName(r.id);
|
||||
event.getRegistry()
|
||||
.register(r.serializer);
|
||||
}
|
||||
}
|
||||
|
||||
private static Supplier<RecipeSerializer<?>> processingSerializer(ProcessingRecipeFactory<?> factory) {
|
||||
return () -> new ProcessingRecipeSerializer<>(factory);
|
||||
}
|
||||
|
||||
public static <T extends Recipe<?>> RecipeType<T> simpleType(ResourceLocation id) {
|
||||
String stringId = id.toString();
|
||||
return Registry.register(Registry.RECIPE_TYPE, id, new RecipeType<T>() {
|
||||
@Override
|
||||
public String toString() {
|
||||
return stringId;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public static final Set<ResourceLocation> RECIPE_DENY_SET =
|
||||
ImmutableSet.of(new ResourceLocation("occultism", "spirit_trade"), new ResourceLocation("occultism", "ritual"));
|
||||
|
||||
public static boolean shouldIgnoreInAutomation(Recipe<?> recipe) {
|
||||
RecipeSerializer<?> serializer = recipe.getSerializer();
|
||||
if (serializer != null && RECIPE_DENY_SET.contains(serializer.getRegistryName()))
|
||||
if (serializer != null && RECIPE_DENY_SET.contains(CatnipServices.REGISTRIES.getKeyOrThrow(serializer)))
|
||||
return true;
|
||||
return recipe.getId()
|
||||
.getPath()
|
||||
.endsWith("_manual_only");
|
||||
}
|
||||
|
||||
private static class Registers {
|
||||
private static final DeferredRegister<RecipeSerializer<?>> SERIALIZER_REGISTER = DeferredRegister.create(ForgeRegistries.RECIPE_SERIALIZERS, Create.ID);
|
||||
private static final DeferredRegister<RecipeType<?>> TYPE_REGISTER = DeferredRegister.create(Registry.RECIPE_TYPE_REGISTRY, Create.ID);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -6,15 +6,13 @@ import java.util.ArrayList;
|
|||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.GsonBuilder;
|
||||
import com.google.gson.JsonArray;
|
||||
import com.google.gson.JsonObject;
|
||||
|
||||
import net.createmod.catnip.utility.Couple;
|
||||
import net.createmod.catnip.utility.Pair;
|
||||
import net.minecraft.core.Vec3i;
|
||||
import net.minecraft.data.DataGenerator;
|
||||
import net.minecraft.data.DataProvider;
|
||||
|
@ -28,12 +26,15 @@ import net.minecraft.world.entity.player.Player;
|
|||
import net.minecraft.world.level.Level;
|
||||
import net.minecraft.world.phys.Vec3;
|
||||
import net.minecraftforge.event.RegistryEvent;
|
||||
import net.minecraftforge.registries.ForgeRegistries;
|
||||
import net.minecraftforge.registries.IForgeRegistry;
|
||||
import net.minecraftforge.registries.RegistryObject;
|
||||
|
||||
//@EventBusSubscriber(bus = Bus.FORGE)
|
||||
public class AllSoundEvents {
|
||||
|
||||
public static final Map<ResourceLocation, SoundEntry> entries = new HashMap<>();
|
||||
public static final Map<ResourceLocation, SoundEntry> ALL = new HashMap<>();
|
||||
|
||||
public static final SoundEntry
|
||||
|
||||
SCHEMATICANNON_LAUNCH_BLOCK = create("schematicannon_launch_block").subtitle("Schematicannon fires")
|
||||
|
@ -306,20 +307,20 @@ public class AllSoundEvents {
|
|||
return new SoundEntryBuilder(id);
|
||||
}
|
||||
|
||||
public static void register(RegistryEvent.Register<SoundEvent> event) {
|
||||
IForgeRegistry<SoundEvent> registry = event.getRegistry();
|
||||
for (SoundEntry entry : entries.values())
|
||||
entry.register(registry);
|
||||
public static void prepare() {
|
||||
for (SoundEntry entry : ALL.values())
|
||||
entry.prepare();
|
||||
}
|
||||
|
||||
public static void prepare() {
|
||||
for (SoundEntry entry : entries.values())
|
||||
entry.prepare();
|
||||
public static void register(RegistryEvent.Register<SoundEvent> event) {
|
||||
IForgeRegistry<SoundEvent> registry = event.getRegistry();
|
||||
for (SoundEntry entry : ALL.values())
|
||||
entry.register(registry);
|
||||
}
|
||||
|
||||
public static JsonObject provideLangEntries() {
|
||||
JsonObject object = new JsonObject();
|
||||
for (SoundEntry entry : entries.values())
|
||||
for (SoundEntry entry : ALL.values())
|
||||
if (entry.hasSubtitle())
|
||||
object.addProperty(entry.getSubtitleKey(), entry.getSubtitle());
|
||||
return object;
|
||||
|
@ -370,7 +371,7 @@ public class AllSoundEvents {
|
|||
|
||||
try {
|
||||
JsonObject json = new JsonObject();
|
||||
entries.entrySet()
|
||||
ALL.entrySet()
|
||||
.stream()
|
||||
.sorted(Map.Entry.comparingByKey())
|
||||
.forEach(entry -> {
|
||||
|
@ -386,12 +387,15 @@ public class AllSoundEvents {
|
|||
|
||||
}
|
||||
|
||||
public record ConfiguredSoundEvent(Supplier<SoundEvent> event, float volume, float pitch) {
|
||||
}
|
||||
|
||||
public static class SoundEntryBuilder {
|
||||
|
||||
protected ResourceLocation id;
|
||||
protected String subtitle = "unregistered";
|
||||
protected SoundSource category = SoundSource.BLOCKS;
|
||||
protected List<Pair<SoundEvent, Couple<Float>>> wrappedEvents;
|
||||
protected List<ConfiguredSoundEvent> wrappedEvents;
|
||||
protected List<ResourceLocation> variants;
|
||||
protected int attenuationDistance;
|
||||
|
||||
|
@ -430,11 +434,15 @@ public class AllSoundEvents {
|
|||
return this;
|
||||
}
|
||||
|
||||
public SoundEntryBuilder playExisting(SoundEvent event, float volume, float pitch) {
|
||||
wrappedEvents.add(Pair.of(event, Couple.create(volume, pitch)));
|
||||
public SoundEntryBuilder playExisting(Supplier<SoundEvent> event, float volume, float pitch) {
|
||||
wrappedEvents.add(new ConfiguredSoundEvent(event, volume, pitch));
|
||||
return this;
|
||||
}
|
||||
|
||||
public SoundEntryBuilder playExisting(SoundEvent event, float volume, float pitch) {
|
||||
return playExisting(() -> event, volume, pitch);
|
||||
}
|
||||
|
||||
public SoundEntryBuilder playExisting(SoundEvent event) {
|
||||
return playExisting(event, 1, 1);
|
||||
}
|
||||
|
@ -443,7 +451,7 @@ public class AllSoundEvents {
|
|||
SoundEntry entry =
|
||||
wrappedEvents.isEmpty() ? new CustomSoundEntry(id, variants, subtitle, category, attenuationDistance)
|
||||
: new WrappedSoundEntry(id, subtitle, wrappedEvents, category, attenuationDistance);
|
||||
entries.put(entry.getId(), entry);
|
||||
ALL.put(entry.getId(), entry);
|
||||
return entry;
|
||||
}
|
||||
|
||||
|
@ -532,50 +540,53 @@ public class AllSoundEvents {
|
|||
|
||||
private static class WrappedSoundEntry extends SoundEntry {
|
||||
|
||||
private List<Pair<SoundEvent, Couple<Float>>> wrappedEvents;
|
||||
private List<Pair<SoundEvent, Couple<Float>>> compiledEvents;
|
||||
private List<ConfiguredSoundEvent> wrappedEvents;
|
||||
private List<CompiledSoundEvent> compiledEvents;
|
||||
|
||||
public WrappedSoundEntry(ResourceLocation id, String subtitle,
|
||||
List<Pair<SoundEvent, Couple<Float>>> wrappedEvents, SoundSource category, int attenuationDistance) {
|
||||
List<ConfiguredSoundEvent> wrappedEvents, SoundSource category, int attenuationDistance) {
|
||||
super(id, subtitle, category, attenuationDistance);
|
||||
this.wrappedEvents = wrappedEvents;
|
||||
compiledEvents = Lists.newArrayList();
|
||||
compiledEvents = new ArrayList<>();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void prepare() {
|
||||
for (int i = 0; i < wrappedEvents.size(); i++) {
|
||||
ResourceLocation location = Create.asResource(getIdOf(i));
|
||||
SoundEvent sound = new SoundEvent(location).setRegistryName(location);
|
||||
compiledEvents.add(Pair.of(sound, wrappedEvents.get(i)
|
||||
.getSecond()));
|
||||
ConfiguredSoundEvent wrapped = wrappedEvents.get(i);
|
||||
ResourceLocation location = getIdOf(i);
|
||||
RegistryObject<SoundEvent> event = RegistryObject.create(location, ForgeRegistries.SOUND_EVENTS);
|
||||
compiledEvents.add(new CompiledSoundEvent(event, wrapped.volume(), wrapped.pitch()));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void register(IForgeRegistry<SoundEvent> registry) {
|
||||
for (Pair<SoundEvent, Couple<Float>> pair : compiledEvents)
|
||||
registry.register(pair.getFirst());
|
||||
for (CompiledSoundEvent compiledEvent : compiledEvents) {
|
||||
ResourceLocation location = compiledEvent.event().getId();
|
||||
registry.register(new SoundEvent(location).setRegistryName(location));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public SoundEvent getMainEvent() {
|
||||
return compiledEvents.get(0)
|
||||
.getFirst();
|
||||
.event().get();
|
||||
}
|
||||
|
||||
protected String getIdOf(int i) {
|
||||
return i == 0 ? id.getPath() : id.getPath() + "_compounded_" + i;
|
||||
protected ResourceLocation getIdOf(int i) {
|
||||
return new ResourceLocation(id.getNamespace(), i == 0 ? id.getPath() : id.getPath() + "_compounded_" + i);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void write(JsonObject json) {
|
||||
for (int i = 0; i < wrappedEvents.size(); i++) {
|
||||
Pair<SoundEvent, Couple<Float>> pair = wrappedEvents.get(i);
|
||||
ConfiguredSoundEvent event = wrappedEvents.get(i);
|
||||
JsonObject entry = new JsonObject();
|
||||
JsonArray list = new JsonArray();
|
||||
JsonObject s = new JsonObject();
|
||||
s.addProperty("name", pair.getFirst()
|
||||
s.addProperty("name", event.event()
|
||||
.get()
|
||||
.getLocation()
|
||||
.toString());
|
||||
s.addProperty("type", "event");
|
||||
|
@ -585,33 +596,35 @@ public class AllSoundEvents {
|
|||
entry.add("sounds", list);
|
||||
if (i == 0 && hasSubtitle())
|
||||
entry.addProperty("subtitle", getSubtitleKey());
|
||||
json.add(getIdOf(i), entry);
|
||||
json.add(getIdOf(i).getPath(), entry);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void play(Level world, Player entity, double x, double y, double z, float volume, float pitch) {
|
||||
for (Pair<SoundEvent, Couple<Float>> pair : compiledEvents) {
|
||||
Couple<Float> volPitch = pair.getSecond();
|
||||
world.playSound(entity, x, y, z, pair.getFirst(), category, volPitch.getFirst() * volume,
|
||||
volPitch.getSecond() * pitch);
|
||||
for (CompiledSoundEvent event : compiledEvents) {
|
||||
world.playSound(entity, x, y, z, event.event().get(), category, event.volume() * volume,
|
||||
event.pitch() * pitch);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void playAt(Level world, double x, double y, double z, float volume, float pitch, boolean fade) {
|
||||
for (Pair<SoundEvent, Couple<Float>> pair : compiledEvents) {
|
||||
Couple<Float> volPitch = pair.getSecond();
|
||||
world.playLocalSound(x, y, z, pair.getFirst(), category, volPitch.getFirst() * volume,
|
||||
volPitch.getSecond() * pitch, fade);
|
||||
for (CompiledSoundEvent event : compiledEvents) {
|
||||
world.playLocalSound(x, y, z, event.event().get(), category, event.volume() * volume,
|
||||
event.pitch() * pitch, fade);
|
||||
}
|
||||
}
|
||||
|
||||
private record CompiledSoundEvent(RegistryObject<SoundEvent> event, float volume, float pitch) {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private static class CustomSoundEntry extends SoundEntry {
|
||||
|
||||
protected List<ResourceLocation> variants;
|
||||
protected SoundEvent event;
|
||||
protected RegistryObject<SoundEvent> event;
|
||||
|
||||
public CustomSoundEntry(ResourceLocation id, List<ResourceLocation> variants, String subtitle,
|
||||
SoundSource category, int attenuationDistance) {
|
||||
|
@ -621,17 +634,18 @@ public class AllSoundEvents {
|
|||
|
||||
@Override
|
||||
public void prepare() {
|
||||
event = new SoundEvent(id).setRegistryName(id);
|
||||
event = RegistryObject.create(id, ForgeRegistries.SOUND_EVENTS);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void register(IForgeRegistry<SoundEvent> registry) {
|
||||
registry.register(event);
|
||||
ResourceLocation location = event.getId();
|
||||
registry.register(new SoundEvent(location).setRegistryName(location));
|
||||
}
|
||||
|
||||
@Override
|
||||
public SoundEvent getMainEvent() {
|
||||
return event;
|
||||
return event.get();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -663,12 +677,12 @@ public class AllSoundEvents {
|
|||
|
||||
@Override
|
||||
public void play(Level world, Player entity, double x, double y, double z, float volume, float pitch) {
|
||||
world.playSound(entity, x, y, z, event, category, volume, pitch);
|
||||
world.playSound(entity, x, y, z, event.get(), category, volume, pitch);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void playAt(Level world, double x, double y, double z, float volume, float pitch, boolean fade) {
|
||||
world.playLocalSound(x, y, z, event, category, volume, pitch, fade);
|
||||
world.playLocalSound(x, y, z, event.get(), category, volume, pitch, fade);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
package com.simibubi.create;
|
||||
|
||||
import com.simibubi.create.content.schematics.SchematicProcessor;
|
||||
|
||||
import net.minecraft.core.Registry;
|
||||
import net.minecraft.world.level.levelgen.structure.templatesystem.StructureProcessorType;
|
||||
import net.minecraftforge.eventbus.api.IEventBus;
|
||||
import net.minecraftforge.registries.DeferredRegister;
|
||||
import net.minecraftforge.registries.RegistryObject;
|
||||
|
||||
public class AllStructureProcessorTypes {
|
||||
private static final DeferredRegister<StructureProcessorType<?>> REGISTER = DeferredRegister.create(Registry.STRUCTURE_PROCESSOR_REGISTRY, Create.ID);
|
||||
|
||||
public static final RegistryObject<StructureProcessorType<SchematicProcessor>> SCHEMATIC = REGISTER.register("schematic", () -> () -> SchematicProcessor.CODEC);
|
||||
|
||||
public static void register(IEventBus modEventBus) {
|
||||
REGISTER.register(modEventBus);
|
||||
}
|
||||
}
|
|
@ -112,9 +112,11 @@ public class AllTags {
|
|||
public enum AllBlockTags {
|
||||
|
||||
BRITTLE,
|
||||
FAN_HEATERS,
|
||||
CASING,
|
||||
FAN_TRANSPARENT,
|
||||
NON_MOVABLE,
|
||||
ORE_OVERRIDE_STONE,
|
||||
PASSIVE_BOILER_HEATERS,
|
||||
SAFE_NBT,
|
||||
SEATS,
|
||||
TOOLBOXES,
|
||||
|
@ -122,10 +124,7 @@ public class AllTags {
|
|||
WINDMILL_SAILS,
|
||||
WINDOWABLE,
|
||||
WRENCH_PICKUP,
|
||||
CASING,
|
||||
NON_MOVABLE,
|
||||
|
||||
PASSIVE_BOILER_HEATERS,
|
||||
TREE_ATTACHMENTS,
|
||||
|
||||
RELOCATION_NOT_SUPPORTED(FORGE),
|
||||
WG_STONE(FORGE),
|
||||
|
@ -208,10 +207,13 @@ public class AllTags {
|
|||
|
||||
BLAZE_BURNER_FUEL_REGULAR(MOD, "blaze_burner_fuel/regular"),
|
||||
BLAZE_BURNER_FUEL_SPECIAL(MOD, "blaze_burner_fuel/special"),
|
||||
CASING,
|
||||
CREATE_INGOTS,
|
||||
CRUSHED_ORES,
|
||||
PRESSURIZED_AIR_SOURCES,
|
||||
SANDPAPER,
|
||||
SEATS,
|
||||
SLEEPERS,
|
||||
TOOLBOXES,
|
||||
UPRIGHT_ON_BELT,
|
||||
VALVE_HANDLES,
|
||||
|
@ -219,8 +221,6 @@ public class AllTags {
|
|||
VANILLA_STRIPPED_WOOD,
|
||||
MODDED_STRIPPED_LOGS,
|
||||
MODDED_STRIPPED_WOOD,
|
||||
CASING,
|
||||
SLEEPERS,
|
||||
|
||||
STRIPPED_LOGS(FORGE),
|
||||
STRIPPED_WOOD(FORGE),
|
||||
|
@ -401,10 +401,9 @@ public class AllTags {
|
|||
AllBlockTags.FAN_TRANSPARENT.includeAll(BlockTags.CAMPFIRES);
|
||||
AllBlockTags.FAN_TRANSPARENT.add(Blocks.IRON_BARS);
|
||||
|
||||
AllBlockTags.FAN_HEATERS.includeAll(BlockTags.FIRE);
|
||||
AllBlockTags.FAN_HEATERS.includeAll(BlockTags.CAMPFIRES);
|
||||
AllBlockTags.FAN_HEATERS.add(Blocks.MAGMA_BLOCK, Blocks.LAVA);
|
||||
AllBlockTags.FAN_HEATERS.includeIn(AllBlockTags.PASSIVE_BOILER_HEATERS);
|
||||
AllBlockTags.PASSIVE_BOILER_HEATERS.includeAll(BlockTags.FIRE);
|
||||
AllBlockTags.PASSIVE_BOILER_HEATERS.includeAll(BlockTags.CAMPFIRES);
|
||||
AllBlockTags.PASSIVE_BOILER_HEATERS.add(Blocks.MAGMA_BLOCK, Blocks.LAVA);
|
||||
|
||||
AllBlockTags.SAFE_NBT.includeAll(BlockTags.SIGNS);
|
||||
AllBlockTags.SAFE_NBT.includeAll(BlockTags.BANNERS);
|
||||
|
@ -414,7 +413,10 @@ public class AllTags {
|
|||
AllBlockTags.WRENCH_PICKUP.includeAll(BlockTags.PRESSURE_PLATES);
|
||||
AllBlockTags.WRENCH_PICKUP.add(Blocks.REDSTONE_WIRE, Blocks.REDSTONE_TORCH, Blocks.REPEATER, Blocks.LEVER,
|
||||
Blocks.COMPARATOR, Blocks.OBSERVER, Blocks.REDSTONE_WALL_TORCH, Blocks.PISTON, Blocks.STICKY_PISTON,
|
||||
Blocks.TRIPWIRE, Blocks.TRIPWIRE_HOOK, Blocks.DAYLIGHT_DETECTOR, Blocks.TARGET);
|
||||
Blocks.TRIPWIRE, Blocks.TRIPWIRE_HOOK, Blocks.DAYLIGHT_DETECTOR, Blocks.TARGET, Blocks.HOPPER);
|
||||
|
||||
AllBlockTags.TREE_ATTACHMENTS.add(Blocks.BEE_NEST, Blocks.VINE, Blocks.MOSS_CARPET, Blocks.SHROOMLIGHT,
|
||||
Blocks.COCOA);
|
||||
|
||||
AllBlockTags.ORE_OVERRIDE_STONE.includeAll(BlockTags.STONE_ORE_REPLACEABLES);
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@ import com.simibubi.create.content.logistics.block.display.AllDisplayBehaviours;
|
|||
import com.simibubi.create.content.logistics.block.mechanicalArm.AllArmInteractionPointTypes;
|
||||
import com.simibubi.create.content.logistics.trains.GlobalRailwayManager;
|
||||
import com.simibubi.create.content.palettes.AllPaletteBlocks;
|
||||
import com.simibubi.create.content.schematics.SchematicProcessor;
|
||||
import com.simibubi.create.content.palettes.PalettesItemGroup;
|
||||
import com.simibubi.create.content.schematics.ServerSchematicLoader;
|
||||
import com.simibubi.create.content.schematics.filtering.SchematicInstances;
|
||||
import com.simibubi.create.foundation.advancement.AllAdvancements;
|
||||
|
@ -28,6 +28,7 @@ import com.simibubi.create.foundation.advancement.AllTriggers;
|
|||
import com.simibubi.create.foundation.block.CopperRegistries;
|
||||
import com.simibubi.create.foundation.command.ServerLagger;
|
||||
import com.simibubi.create.foundation.config.AllConfigs;
|
||||
import com.simibubi.create.foundation.config.ContraptionMovementSetting;
|
||||
import com.simibubi.create.foundation.data.CreateRegistrate;
|
||||
import com.simibubi.create.foundation.data.LangMerger;
|
||||
import com.simibubi.create.foundation.data.recipe.MechanicalCraftingRecipeGen;
|
||||
|
@ -36,17 +37,21 @@ import com.simibubi.create.foundation.data.recipe.SequencedAssemblyRecipeGen;
|
|||
import com.simibubi.create.foundation.data.recipe.StandardRecipeGen;
|
||||
import com.simibubi.create.foundation.networking.AllPackets;
|
||||
import com.simibubi.create.foundation.ponder.CreatePonderPlugin;
|
||||
import com.simibubi.create.foundation.worldgen.AllWorldFeatures;
|
||||
import com.simibubi.create.foundation.utility.CreateRegistry;
|
||||
import com.simibubi.create.foundation.worldgen.AllFeatures;
|
||||
import com.simibubi.create.foundation.worldgen.AllOreFeatureConfigEntries;
|
||||
import com.simibubi.create.foundation.worldgen.AllPlacementModifiers;
|
||||
import com.simibubi.create.foundation.worldgen.BuiltinRegistration;
|
||||
import com.tterrag.registrate.util.nullness.NonNullSupplier;
|
||||
|
||||
import net.createmod.catnip.utility.lang.LangBuilder;
|
||||
import net.createmod.ponder.foundation.PonderIndex;
|
||||
import net.minecraft.core.particles.ParticleType;
|
||||
import net.minecraft.data.DataGenerator;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.sounds.SoundEvent;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
import net.minecraft.world.item.CreativeModeTab;
|
||||
import net.minecraft.world.item.crafting.RecipeSerializer;
|
||||
import net.minecraft.world.level.levelgen.feature.Feature;
|
||||
import net.minecraft.world.level.Level;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.common.ForgeMod;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
|
@ -58,14 +63,13 @@ import net.minecraftforge.fml.common.Mod;
|
|||
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
|
||||
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
|
||||
import net.minecraftforge.forge.event.lifecycle.GatherDataEvent;
|
||||
import net.minecraftforge.registries.DataSerializerEntry;
|
||||
|
||||
@Mod(Create.ID)
|
||||
public class Create {
|
||||
|
||||
public static final String ID = "create";
|
||||
public static final String NAME = "Create";
|
||||
public static final String VERSION = "0.5c";
|
||||
public static final String VERSION = "0.5e";
|
||||
|
||||
public static final Logger LOGGER = LogManager.getLogger();
|
||||
|
||||
|
@ -74,13 +78,15 @@ public class Create {
|
|||
.create();
|
||||
|
||||
public static final CreativeModeTab BASE_CREATIVE_TAB = new CreateItemGroup();
|
||||
// public static final CreativeModeTab PALETTES_CREATIVE_TAB = new PalettesItemGroup();
|
||||
public static final CreativeModeTab PALETTES_CREATIVE_TAB = new PalettesItemGroup();
|
||||
|
||||
public static final ServerSchematicLoader SCHEMATIC_RECEIVER = new ServerSchematicLoader();
|
||||
public static final RedstoneLinkNetworkHandler REDSTONE_LINK_NETWORK_HANDLER = new RedstoneLinkNetworkHandler();
|
||||
public static final TorquePropagator TORQUE_PROPAGATOR = new TorquePropagator();
|
||||
public static final GlobalRailwayManager RAILWAYS = new GlobalRailwayManager();
|
||||
public static final ServerLagger LAGGER = new ServerLagger();
|
||||
/** Use the {@link Random} of a local {@link Level} or {@link Entity} or create one */
|
||||
@Deprecated
|
||||
public static final Random RANDOM = new Random();
|
||||
|
||||
private static final NonNullSupplier<CreateRegistrate> REGISTRATE = CreateRegistrate.lazy(ID);
|
||||
|
@ -92,6 +98,10 @@ public class Create {
|
|||
public static void onCtor() {
|
||||
ModLoadingContext modLoadingContext = ModLoadingContext.get();
|
||||
|
||||
IEventBus modEventBus = FMLJavaModLoadingContext.get()
|
||||
.getModEventBus();
|
||||
IEventBus forgeEventBus = MinecraftForge.EVENT_BUS;
|
||||
|
||||
AllSoundEvents.prepare();
|
||||
AllBlocks.register();
|
||||
AllItems.register();
|
||||
|
@ -101,30 +111,31 @@ public class Create {
|
|||
AllContainerTypes.register();
|
||||
AllEntityTypes.register();
|
||||
AllTileEntities.register();
|
||||
AllEnchantments.register();
|
||||
AllRecipeTypes.register(modEventBus);
|
||||
AllParticleTypes.register(modEventBus);
|
||||
AllStructureProcessorTypes.register(modEventBus);
|
||||
AllEntityDataSerializers.register(modEventBus);
|
||||
AllOreFeatureConfigEntries.init();
|
||||
AllFeatures.register(modEventBus);
|
||||
AllPlacementModifiers.register(modEventBus);
|
||||
BuiltinRegistration.register(modEventBus);
|
||||
|
||||
AllConfigs.register(modLoadingContext);
|
||||
|
||||
AllMovementBehaviours.registerDefaults();
|
||||
AllInteractionBehaviours.registerDefaults();
|
||||
AllDisplayBehaviours.registerDefaults();
|
||||
ContraptionMovementSetting.registerDefaults();
|
||||
AllArmInteractionPointTypes.register();
|
||||
AllWorldFeatures.register();
|
||||
AllEnchantments.register();
|
||||
AllConfigs.register(modLoadingContext);
|
||||
BlockSpoutingBehaviour.register();
|
||||
BlockSpoutingBehaviour.registerDefaults();
|
||||
|
||||
ForgeMod.enableMilkFluid();
|
||||
|
||||
CopperRegistries.inject();
|
||||
|
||||
IEventBus modEventBus = FMLJavaModLoadingContext.get()
|
||||
.getModEventBus();
|
||||
IEventBus forgeEventBus = MinecraftForge.EVENT_BUS;
|
||||
|
||||
modEventBus.addListener(Create::init);
|
||||
modEventBus.addListener(EventPriority.LOWEST, Create::gatherData);
|
||||
modEventBus.addGenericListener(Feature.class, AllWorldFeatures::registerOreFeatures);
|
||||
modEventBus.addGenericListener(RecipeSerializer.class, AllRecipeTypes::register);
|
||||
modEventBus.addGenericListener(ParticleType.class, AllParticleTypes::register);
|
||||
modEventBus.addGenericListener(SoundEvent.class, AllSoundEvents::register);
|
||||
modEventBus.addGenericListener(DataSerializerEntry.class, AllEntityDataSerializers::register);
|
||||
|
||||
forgeEventBus.addListener(EventPriority.HIGH, SlidingDoorBlock::stopItQuark);
|
||||
|
||||
|
@ -134,6 +145,7 @@ public class Create {
|
|||
}
|
||||
|
||||
public static void init(final FMLCommonSetupEvent event) {
|
||||
CreateRegistry.unwrapAll();
|
||||
AllPackets.registerPackets();
|
||||
SchematicInstances.register();
|
||||
BuiltinPotatoProjectileTypes.register();
|
||||
|
@ -141,30 +153,35 @@ public class Create {
|
|||
event.enqueueWork(() -> {
|
||||
AllAdvancements.register();
|
||||
AllTriggers.register();
|
||||
SchematicProcessor.register();
|
||||
AllWorldFeatures.registerFeatures();
|
||||
AllWorldFeatures.registerPlacementTypes();
|
||||
BoilerHeaters.registerDefaults();
|
||||
});
|
||||
}
|
||||
|
||||
public static void gatherData(GatherDataEvent event) {
|
||||
DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> () -> PonderIndex.addPlugin(new CreatePonderPlugin()));
|
||||
|
||||
DataGenerator gen = event.getGenerator();
|
||||
gen.addProvider(new AllAdvancements(gen));
|
||||
gen.addProvider(new LangMerger(gen));
|
||||
gen.addProvider(AllSoundEvents.provider(gen));
|
||||
gen.addProvider(new StandardRecipeGen(gen));
|
||||
gen.addProvider(new MechanicalCraftingRecipeGen(gen));
|
||||
gen.addProvider(new SequencedAssemblyRecipeGen(gen));
|
||||
ProcessingRecipeGen.registerAll(gen);
|
||||
if (event.includeClient()) {
|
||||
DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> () -> PonderIndex.addPlugin(new CreatePonderPlugin()));
|
||||
gen.addProvider(new LangMerger(gen));
|
||||
gen.addProvider(AllSoundEvents.provider(gen));
|
||||
}
|
||||
if (event.includeServer()) {
|
||||
gen.addProvider(new AllAdvancements(gen));
|
||||
gen.addProvider(new StandardRecipeGen(gen));
|
||||
gen.addProvider(new MechanicalCraftingRecipeGen(gen));
|
||||
gen.addProvider(new SequencedAssemblyRecipeGen(gen));
|
||||
ProcessingRecipeGen.registerAll(gen);
|
||||
// AllOreFeatureConfigEntries.gatherData(event);
|
||||
}
|
||||
}
|
||||
|
||||
public static CreateRegistrate registrate() {
|
||||
return REGISTRATE.get();
|
||||
}
|
||||
|
||||
public static LangBuilder lang() {
|
||||
return new LangBuilder(ID);
|
||||
}
|
||||
|
||||
public static ResourceLocation asResource(String path) {
|
||||
return new ResourceLocation(ID, path);
|
||||
}
|
||||
|
|
|
@ -29,24 +29,22 @@ import com.simibubi.create.foundation.render.CachedPartialBuffers;
|
|||
import com.simibubi.create.foundation.render.CreateContexts;
|
||||
import com.simibubi.create.foundation.render.FlwSuperBufferFactory;
|
||||
import com.simibubi.create.foundation.utility.ModelSwapper;
|
||||
import com.simibubi.create.foundation.utility.ShippedResourcePacks;
|
||||
|
||||
import net.createmod.catnip.config.ui.BaseConfigScreen;
|
||||
import net.createmod.catnip.config.ui.ConfigScreen;
|
||||
import net.createmod.catnip.render.SuperBufferFactory;
|
||||
import net.createmod.catnip.render.SuperByteBufferCache;
|
||||
import net.createmod.catnip.utility.lang.Components;
|
||||
import net.createmod.ponder.foundation.PonderIndex;
|
||||
import net.minecraft.ChatFormatting;
|
||||
import net.minecraft.client.GraphicsStatus;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.screens.Screen;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.network.chat.ChatType;
|
||||
import net.minecraft.network.chat.ClickEvent;
|
||||
import net.minecraft.network.chat.ComponentUtils;
|
||||
import net.minecraft.network.chat.HoverEvent;
|
||||
import net.minecraft.network.chat.MutableComponent;
|
||||
import net.minecraft.network.chat.TextComponent;
|
||||
import net.minecraftforge.client.gui.ForgeIngameGui;
|
||||
import net.minecraftforge.client.gui.OverlayRegistry;
|
||||
import net.minecraftforge.eventbus.api.IEventBus;
|
||||
|
@ -89,10 +87,7 @@ public class CreateClient {
|
|||
SuperByteBufferCache.getInstance().registerCompartment(KineticTileEntityRenderer.KINETIC_TILE);
|
||||
SuperByteBufferCache.getInstance().registerCompartment(SBBContraptionManager.CONTRAPTION, 20);
|
||||
|
||||
ShippedResourcePacks.extractFiles("Copper Legacy Pack");
|
||||
|
||||
AllKeys.register();
|
||||
// AllFluids.assignRenderLayers();
|
||||
AllBlockPartials.init();
|
||||
AllStitchedTextures.init();
|
||||
|
||||
|
@ -150,16 +145,16 @@ public class CreateClient {
|
|||
if (AllConfigs.CLIENT.ignoreFabulousWarning.get())
|
||||
return;
|
||||
|
||||
MutableComponent text = ComponentUtils.wrapInSquareBrackets(new TextComponent("WARN"))
|
||||
MutableComponent text = ComponentUtils.wrapInSquareBrackets(Components.literal("WARN"))
|
||||
.withStyle(ChatFormatting.GOLD)
|
||||
.append(new TextComponent(
|
||||
.append(Components.literal(
|
||||
" Some of Create's visual features will not be available while Fabulous graphics are enabled!"))
|
||||
.withStyle(style -> style
|
||||
.withClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/create dismissFabulousWarning"))
|
||||
.withHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT,
|
||||
new TextComponent("Click here to disable this warning"))));
|
||||
Components.literal("Click here to disable this warning"))));
|
||||
|
||||
mc.gui.handleChat(ChatType.CHAT, text, mc.player.getUUID());
|
||||
mc.player.displayClientMessage(text, false);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package com.simibubi.create.api.behaviour;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import com.simibubi.create.Create;
|
||||
|
@ -14,7 +15,7 @@ import net.minecraftforge.fluids.FluidStack;
|
|||
|
||||
public abstract class BlockSpoutingBehaviour {
|
||||
|
||||
private static final HashMap<ResourceLocation, BlockSpoutingBehaviour> BLOCK_SPOUTING_BEHAVIOURS = new HashMap<>();
|
||||
private static final Map<ResourceLocation, BlockSpoutingBehaviour> BLOCK_SPOUTING_BEHAVIOURS = new HashMap<>();
|
||||
|
||||
public static void addCustomSpoutInteraction(ResourceLocation resourceLocation,
|
||||
BlockSpoutingBehaviour movementBehaviour) {
|
||||
|
@ -45,7 +46,7 @@ public abstract class BlockSpoutingBehaviour {
|
|||
public abstract int fillBlock(Level world, BlockPos pos, SpoutTileEntity spout, FluidStack availableFluid,
|
||||
boolean simulate);
|
||||
|
||||
public static void register() {
|
||||
public static void registerDefaults() {
|
||||
addCustomSpoutInteraction(Create.asResource("ticon_casting"), new SpoutCasting());
|
||||
}
|
||||
|
||||
|
|
|
@ -2,6 +2,7 @@ package com.simibubi.create.compat.jei;
|
|||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.function.Consumer;
|
||||
|
@ -40,14 +41,24 @@ import com.simibubi.create.compat.jei.category.SawingCategory;
|
|||
import com.simibubi.create.compat.jei.category.SequencedAssemblyCategory;
|
||||
import com.simibubi.create.compat.jei.category.SpoutCategory;
|
||||
import com.simibubi.create.content.contraptions.components.crafter.MechanicalCraftingRecipe;
|
||||
import com.simibubi.create.content.contraptions.components.crusher.AbstractCrushingRecipe;
|
||||
import com.simibubi.create.content.contraptions.components.deployer.DeployerApplicationRecipe;
|
||||
import com.simibubi.create.content.contraptions.components.deployer.ManualApplicationRecipe;
|
||||
import com.simibubi.create.content.contraptions.components.fan.HauntingRecipe;
|
||||
import com.simibubi.create.content.contraptions.components.fan.SplashingRecipe;
|
||||
import com.simibubi.create.content.contraptions.components.press.MechanicalPressTileEntity;
|
||||
import com.simibubi.create.content.contraptions.components.press.PressingRecipe;
|
||||
import com.simibubi.create.content.contraptions.components.saw.CuttingRecipe;
|
||||
import com.simibubi.create.content.contraptions.components.saw.SawTileEntity;
|
||||
import com.simibubi.create.content.contraptions.fluids.actors.FillingRecipe;
|
||||
import com.simibubi.create.content.contraptions.fluids.potion.PotionFluid;
|
||||
import com.simibubi.create.content.contraptions.fluids.recipe.PotionMixingRecipes;
|
||||
import com.simibubi.create.content.contraptions.itemAssembly.SequencedAssemblyRecipe;
|
||||
import com.simibubi.create.content.contraptions.processing.BasinRecipe;
|
||||
import com.simibubi.create.content.contraptions.processing.EmptyingRecipe;
|
||||
import com.simibubi.create.content.contraptions.processing.ItemApplicationRecipe;
|
||||
import com.simibubi.create.content.curiosities.tools.BlueprintScreen;
|
||||
import com.simibubi.create.content.curiosities.tools.SandPaperPolishingRecipe;
|
||||
import com.simibubi.create.content.logistics.item.LinkedControllerScreen;
|
||||
import com.simibubi.create.content.logistics.item.filter.AbstractFilterScreen;
|
||||
import com.simibubi.create.content.logistics.trains.management.schedule.ScheduleScreen;
|
||||
|
@ -55,11 +66,14 @@ import com.simibubi.create.foundation.config.AllConfigs;
|
|||
import com.simibubi.create.foundation.config.CRecipes;
|
||||
import com.simibubi.create.foundation.data.recipe.LogStrippingFakeRecipes;
|
||||
import com.simibubi.create.foundation.gui.container.AbstractSimiContainerScreen;
|
||||
import com.simibubi.create.foundation.utility.CreateLang;
|
||||
import com.simibubi.create.foundation.utility.recipe.IRecipeTypeInfo;
|
||||
|
||||
import mezz.jei.api.IModPlugin;
|
||||
import mezz.jei.api.JeiPlugin;
|
||||
import mezz.jei.api.constants.RecipeTypes;
|
||||
import mezz.jei.api.forge.ForgeTypes;
|
||||
import mezz.jei.api.gui.drawable.IDrawable;
|
||||
import mezz.jei.api.recipe.category.IRecipeCategory;
|
||||
import mezz.jei.api.registration.IGuiHandlerRegistration;
|
||||
import mezz.jei.api.registration.IRecipeCatalystRegistration;
|
||||
|
@ -73,10 +87,13 @@ import net.minecraft.client.Minecraft;
|
|||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.Items;
|
||||
import net.minecraft.world.item.crafting.AbstractCookingRecipe;
|
||||
import net.minecraft.world.item.crafting.CraftingRecipe;
|
||||
import net.minecraft.world.item.crafting.Recipe;
|
||||
import net.minecraft.world.item.crafting.RecipeType;
|
||||
import net.minecraft.world.item.crafting.SmokingRecipe;
|
||||
import net.minecraft.world.level.ItemLike;
|
||||
import net.minecraft.world.level.block.Blocks;
|
||||
import net.minecraftforge.common.crafting.IShapedRecipe;
|
||||
import net.minecraftforge.fml.ModList;
|
||||
|
||||
|
@ -87,161 +104,218 @@ public class CreateJEI implements IModPlugin {
|
|||
|
||||
private static final ResourceLocation ID = Create.asResource("jei_plugin");
|
||||
|
||||
public IIngredientManager ingredientManager;
|
||||
private final List<CreateRecipeCategory<?>> allCategories = new ArrayList<>();
|
||||
private IIngredientManager ingredientManager;
|
||||
|
||||
private void loadCategories() {
|
||||
allCategories.clear();
|
||||
|
||||
CreateRecipeCategory<?>
|
||||
|
||||
milling = register("milling", MillingCategory::new)
|
||||
.addTypedRecipes(AllRecipeTypes.MILLING)
|
||||
.catalyst(AllBlocks.MILLSTONE::get)
|
||||
.build(),
|
||||
milling = builder(AbstractCrushingRecipe.class)
|
||||
.addTypedRecipes(AllRecipeTypes.MILLING)
|
||||
.catalyst(AllBlocks.MILLSTONE::get)
|
||||
.doubleItemIcon(AllBlocks.MILLSTONE.get(), AllItems.WHEAT_FLOUR.get())
|
||||
.emptyBackground(177, 53)
|
||||
.build("milling", MillingCategory::new),
|
||||
|
||||
crushing = register("crushing", CrushingCategory::new)
|
||||
.addTypedRecipes(AllRecipeTypes.CRUSHING)
|
||||
.addTypedRecipesExcluding(AllRecipeTypes.MILLING::getType, AllRecipeTypes.CRUSHING::getType)
|
||||
.catalyst(AllBlocks.CRUSHING_WHEEL::get)
|
||||
.build(),
|
||||
crushing = builder(AbstractCrushingRecipe.class)
|
||||
.addTypedRecipes(AllRecipeTypes.CRUSHING)
|
||||
.addTypedRecipesExcluding(AllRecipeTypes.MILLING::getType, AllRecipeTypes.CRUSHING::getType)
|
||||
.catalyst(AllBlocks.CRUSHING_WHEEL::get)
|
||||
.doubleItemIcon(AllBlocks.CRUSHING_WHEEL.get(), AllItems.CRUSHED_GOLD.get())
|
||||
.emptyBackground(177, 100)
|
||||
.build("crushing", CrushingCategory::new),
|
||||
|
||||
pressing = register("pressing", PressingCategory::new)
|
||||
.addTypedRecipes(AllRecipeTypes.PRESSING)
|
||||
.catalyst(AllBlocks.MECHANICAL_PRESS::get)
|
||||
.build(),
|
||||
pressing = builder(PressingRecipe.class)
|
||||
.addTypedRecipes(AllRecipeTypes.PRESSING)
|
||||
.catalyst(AllBlocks.MECHANICAL_PRESS::get)
|
||||
.doubleItemIcon(AllBlocks.MECHANICAL_PRESS.get(), AllItems.IRON_SHEET.get())
|
||||
.emptyBackground(177, 70)
|
||||
.build("pressing", PressingCategory::new),
|
||||
|
||||
washing = register("fan_washing", FanWashingCategory::new)
|
||||
.addTypedRecipes(AllRecipeTypes.SPLASHING)
|
||||
.catalystStack(ProcessingViaFanCategory.getFan("fan_washing"))
|
||||
.build(),
|
||||
washing = builder(SplashingRecipe.class)
|
||||
.addTypedRecipes(AllRecipeTypes.SPLASHING)
|
||||
.catalystStack(ProcessingViaFanCategory.getFan("fan_washing"))
|
||||
.doubleItemIcon(AllItems.PROPELLER.get(), Items.WATER_BUCKET)
|
||||
.emptyBackground(178, 72)
|
||||
.build("fan_washing", FanWashingCategory::new),
|
||||
|
||||
smoking = register("fan_smoking", FanSmokingCategory::new)
|
||||
.addTypedRecipes(() -> RecipeType.SMOKING)
|
||||
.catalystStack(ProcessingViaFanCategory.getFan("fan_smoking"))
|
||||
.build(),
|
||||
smoking = builder(SmokingRecipe.class)
|
||||
.addTypedRecipes(() -> RecipeType.SMOKING)
|
||||
.catalystStack(ProcessingViaFanCategory.getFan("fan_smoking"))
|
||||
.doubleItemIcon(AllItems.PROPELLER.get(), Items.CAMPFIRE)
|
||||
.emptyBackground(178, 72)
|
||||
.build("fan_smoking", FanSmokingCategory::new),
|
||||
|
||||
blasting = register("fan_blasting", FanBlastingCategory::new)
|
||||
.addTypedRecipesExcluding(() -> RecipeType.SMELTING, () -> RecipeType.BLASTING)
|
||||
.addTypedRecipes(() -> RecipeType.BLASTING)
|
||||
.removeRecipes(() -> RecipeType.SMOKING)
|
||||
.catalystStack(ProcessingViaFanCategory.getFan("fan_blasting"))
|
||||
.build(),
|
||||
blasting = builder(AbstractCookingRecipe.class)
|
||||
.addTypedRecipesExcluding(() -> RecipeType.SMELTING, () -> RecipeType.BLASTING)
|
||||
.addTypedRecipes(() -> RecipeType.BLASTING)
|
||||
.removeRecipes(() -> RecipeType.SMOKING)
|
||||
.catalystStack(ProcessingViaFanCategory.getFan("fan_blasting"))
|
||||
.doubleItemIcon(AllItems.PROPELLER.get(), Items.LAVA_BUCKET)
|
||||
.emptyBackground(178, 72)
|
||||
.build("fan_blasting", FanBlastingCategory::new),
|
||||
|
||||
haunting = register("fan_haunting", FanHauntingCategory::new).addTypedRecipes(AllRecipeTypes.HAUNTING)
|
||||
.catalystStack(ProcessingViaFanCategory.getFan("fan_haunting"))
|
||||
.build(),
|
||||
haunting = builder(HauntingRecipe.class)
|
||||
.addTypedRecipes(AllRecipeTypes.HAUNTING)
|
||||
.catalystStack(ProcessingViaFanCategory.getFan("fan_haunting"))
|
||||
.doubleItemIcon(AllItems.PROPELLER.get(), Items.SOUL_CAMPFIRE)
|
||||
.emptyBackground(178, 72)
|
||||
.build("fan_haunting", FanHauntingCategory::new),
|
||||
|
||||
mixing = register("mixing", MixingCategory::standard).addTypedRecipes(AllRecipeTypes.MIXING)
|
||||
.catalyst(AllBlocks.MECHANICAL_MIXER::get)
|
||||
.catalyst(AllBlocks.BASIN::get)
|
||||
.build(),
|
||||
mixing = builder(BasinRecipe.class)
|
||||
.addTypedRecipes(AllRecipeTypes.MIXING)
|
||||
.catalyst(AllBlocks.MECHANICAL_MIXER::get)
|
||||
.catalyst(AllBlocks.BASIN::get)
|
||||
.doubleItemIcon(AllBlocks.MECHANICAL_MIXER.get(), AllBlocks.BASIN.get())
|
||||
.emptyBackground(177, 103)
|
||||
.build("mixing", MixingCategory::standard),
|
||||
|
||||
seqAssembly = register("sequenced_assembly", SequencedAssemblyCategory::new)
|
||||
.addTypedRecipes(AllRecipeTypes.SEQUENCED_ASSEMBLY)
|
||||
.build(),
|
||||
|
||||
autoShapeless = register("automatic_shapeless", MixingCategory::autoShapeless)
|
||||
.addAllRecipesIf(r -> r instanceof CraftingRecipe && !(r instanceof IShapedRecipe<?>)
|
||||
&& r.getIngredients()
|
||||
.size() > 1
|
||||
&& !MechanicalPressTileEntity.canCompress(r) && !AllRecipeTypes.shouldIgnoreInAutomation(r),
|
||||
BasinRecipe::convertShapeless)
|
||||
.catalyst(AllBlocks.MECHANICAL_MIXER::get)
|
||||
.catalyst(AllBlocks.BASIN::get)
|
||||
.enableWhen(c -> c.allowShapelessInMixer)
|
||||
.build(),
|
||||
|
||||
brewing = register("automatic_brewing", MixingCategory::autoBrewing).addRecipes(() -> PotionMixingRecipes.ALL)
|
||||
.catalyst(AllBlocks.MECHANICAL_MIXER::get)
|
||||
.catalyst(AllBlocks.BASIN::get)
|
||||
.build(),
|
||||
|
||||
sawing = register("sawing", SawingCategory::new).addTypedRecipes(AllRecipeTypes.CUTTING)
|
||||
.catalyst(AllBlocks.MECHANICAL_SAW::get)
|
||||
.build(),
|
||||
|
||||
blockCutting = register("block_cutting", () -> new BlockCuttingCategory(Items.STONE_BRICK_STAIRS))
|
||||
.addRecipes(() -> CondensedBlockCuttingRecipe.condenseRecipes(getTypedRecipesExcluding(RecipeType.STONECUTTING, AllRecipeTypes::shouldIgnoreInAutomation)))
|
||||
.catalyst(AllBlocks.MECHANICAL_SAW::get)
|
||||
.enableWhen(c -> c.allowStonecuttingOnSaw)
|
||||
.build(),
|
||||
|
||||
woodCutting = register("wood_cutting", () -> new BlockCuttingCategory(Items.OAK_STAIRS))
|
||||
.addRecipes(() -> CondensedBlockCuttingRecipe.condenseRecipes(getTypedRecipesExcluding(SawTileEntity.woodcuttingRecipeType.get(), AllRecipeTypes::shouldIgnoreInAutomation)))
|
||||
.catalyst(AllBlocks.MECHANICAL_SAW::get)
|
||||
.enableWhenBool(c -> c.allowWoodcuttingOnSaw.get() && ModList.get()
|
||||
.isLoaded("druidcraft"))
|
||||
.build(),
|
||||
|
||||
packing = register("packing", PackingCategory::standard).addTypedRecipes(AllRecipeTypes.COMPACTING)
|
||||
.catalyst(AllBlocks.MECHANICAL_PRESS::get)
|
||||
.catalyst(AllBlocks.BASIN::get)
|
||||
.build(),
|
||||
|
||||
autoSquare = register("automatic_packing", PackingCategory::autoSquare)
|
||||
.addAllRecipesIf(
|
||||
r -> (r instanceof CraftingRecipe) && !(r instanceof MechanicalCraftingRecipe)
|
||||
&& MechanicalPressTileEntity.canCompress(r) && !AllRecipeTypes.shouldIgnoreInAutomation(r),
|
||||
BasinRecipe::convertShapeless)
|
||||
.catalyst(AllBlocks.MECHANICAL_PRESS::get)
|
||||
.catalyst(AllBlocks.BASIN::get)
|
||||
.enableWhen(c -> c.allowShapedSquareInPress)
|
||||
.build(),
|
||||
|
||||
polishing = register("sandpaper_polishing", PolishingCategory::new)
|
||||
.addTypedRecipes(AllRecipeTypes.SANDPAPER_POLISHING)
|
||||
.catalyst(AllItems.SAND_PAPER::get)
|
||||
.catalyst(AllItems.RED_SAND_PAPER::get)
|
||||
.build(),
|
||||
|
||||
item_application = register("item_application", ItemApplicationCategory::new)
|
||||
.addTypedRecipes(AllRecipeTypes.ITEM_APPLICATION)
|
||||
.addRecipes(LogStrippingFakeRecipes::createRecipes)
|
||||
.build(),
|
||||
|
||||
deploying = register("deploying", DeployingCategory::new).addTypedRecipes(AllRecipeTypes.DEPLOYING)
|
||||
.addTypedRecipes(AllRecipeTypes.SANDPAPER_POLISHING::getType, DeployerApplicationRecipe::convert)
|
||||
.addTypedRecipes(AllRecipeTypes.ITEM_APPLICATION::getType, ManualApplicationRecipe::asDeploying)
|
||||
.catalyst(AllBlocks.DEPLOYER::get)
|
||||
.catalyst(AllBlocks.DEPOT::get)
|
||||
.catalyst(AllItems.BELT_CONNECTOR::get)
|
||||
.build(),
|
||||
|
||||
mysteryConversion = register("mystery_conversion", MysteriousItemConversionCategory::new)
|
||||
.addRecipes(() -> MysteriousItemConversionCategory.RECIPES)
|
||||
.build(),
|
||||
|
||||
spoutFilling = register("spout_filling", SpoutCategory::new).addTypedRecipes(AllRecipeTypes.FILLING)
|
||||
.addRecipeListConsumer(recipes -> SpoutCategory.consumeRecipes(recipes::add, ingredientManager))
|
||||
.catalyst(AllBlocks.SPOUT::get)
|
||||
.build(),
|
||||
|
||||
draining = register("draining", ItemDrainCategory::new)
|
||||
.addRecipeListConsumer(recipes -> ItemDrainCategory.consumeRecipes(recipes::add, ingredientManager))
|
||||
.addTypedRecipes(AllRecipeTypes.EMPTYING)
|
||||
.catalyst(AllBlocks.ITEM_DRAIN::get)
|
||||
.build(),
|
||||
|
||||
autoShaped = register("automatic_shaped", MechanicalCraftingCategory::new)
|
||||
.addAllRecipesIf(r -> r instanceof CraftingRecipe && !(r instanceof IShapedRecipe<?>)
|
||||
autoShapeless = builder(BasinRecipe.class)
|
||||
.enableWhen(c -> c.allowShapelessInMixer)
|
||||
.addAllRecipesIf(r -> r instanceof CraftingRecipe && !(r instanceof IShapedRecipe<?>)
|
||||
&& r.getIngredients()
|
||||
.size() == 1
|
||||
&& !AllRecipeTypes.shouldIgnoreInAutomation(r))
|
||||
.addTypedRecipesIf(() -> RecipeType.CRAFTING,
|
||||
recipe -> recipe instanceof IShapedRecipe<?> && !AllRecipeTypes.shouldIgnoreInAutomation(recipe))
|
||||
.catalyst(AllBlocks.MECHANICAL_CRAFTER::get)
|
||||
.enableWhen(c -> c.allowRegularCraftingInCrafter)
|
||||
.build(),
|
||||
.size() > 1
|
||||
&& !MechanicalPressTileEntity.canCompress(r) && !AllRecipeTypes.shouldIgnoreInAutomation(r),
|
||||
BasinRecipe::convertShapeless)
|
||||
.catalyst(AllBlocks.MECHANICAL_MIXER::get)
|
||||
.catalyst(AllBlocks.BASIN::get)
|
||||
.doubleItemIcon(AllBlocks.MECHANICAL_MIXER.get(), Items.CRAFTING_TABLE)
|
||||
.emptyBackground(177, 85)
|
||||
.build("automatic_shapeless", MixingCategory::autoShapeless),
|
||||
|
||||
mechanicalCrafting = register("mechanical_crafting", MechanicalCraftingCategory::new)
|
||||
.addTypedRecipes(AllRecipeTypes.MECHANICAL_CRAFTING)
|
||||
.catalyst(AllBlocks.MECHANICAL_CRAFTER::get)
|
||||
.build();
|
||||
brewing = builder(BasinRecipe.class)
|
||||
.enableWhen(c -> c.allowBrewingInMixer)
|
||||
.addRecipes(() -> PotionMixingRecipes.ALL)
|
||||
.catalyst(AllBlocks.MECHANICAL_MIXER::get)
|
||||
.catalyst(AllBlocks.BASIN::get)
|
||||
.doubleItemIcon(AllBlocks.MECHANICAL_MIXER.get(), Blocks.BREWING_STAND)
|
||||
.emptyBackground(177, 103)
|
||||
.build("automatic_brewing", MixingCategory::autoBrewing),
|
||||
|
||||
packing = builder(BasinRecipe.class)
|
||||
.addTypedRecipes(AllRecipeTypes.COMPACTING)
|
||||
.catalyst(AllBlocks.MECHANICAL_PRESS::get)
|
||||
.catalyst(AllBlocks.BASIN::get)
|
||||
.doubleItemIcon(AllBlocks.MECHANICAL_PRESS.get(), AllBlocks.BASIN.get())
|
||||
.emptyBackground(177, 103)
|
||||
.build("packing", PackingCategory::standard),
|
||||
|
||||
autoSquare = builder(BasinRecipe.class)
|
||||
.enableWhen(c -> c.allowShapedSquareInPress)
|
||||
.addAllRecipesIf(
|
||||
r -> (r instanceof CraftingRecipe) && !(r instanceof MechanicalCraftingRecipe)
|
||||
&& MechanicalPressTileEntity.canCompress(r) && !AllRecipeTypes.shouldIgnoreInAutomation(r),
|
||||
BasinRecipe::convertShapeless)
|
||||
.catalyst(AllBlocks.MECHANICAL_PRESS::get)
|
||||
.catalyst(AllBlocks.BASIN::get)
|
||||
.doubleItemIcon(AllBlocks.MECHANICAL_PRESS.get(), Blocks.CRAFTING_TABLE)
|
||||
.emptyBackground(177, 85)
|
||||
.build("automatic_packing", PackingCategory::autoSquare),
|
||||
|
||||
sawing = builder(CuttingRecipe.class)
|
||||
.addTypedRecipes(AllRecipeTypes.CUTTING)
|
||||
.catalyst(AllBlocks.MECHANICAL_SAW::get)
|
||||
.doubleItemIcon(AllBlocks.MECHANICAL_SAW.get(), Items.OAK_LOG)
|
||||
.emptyBackground(177, 70)
|
||||
.build("sawing", SawingCategory::new),
|
||||
|
||||
blockCutting = builder(CondensedBlockCuttingRecipe.class)
|
||||
.enableWhen(c -> c.allowStonecuttingOnSaw)
|
||||
.addRecipes(() -> CondensedBlockCuttingRecipe.condenseRecipes(getTypedRecipesExcluding(RecipeType.STONECUTTING, AllRecipeTypes::shouldIgnoreInAutomation)))
|
||||
.catalyst(AllBlocks.MECHANICAL_SAW::get)
|
||||
.doubleItemIcon(AllBlocks.MECHANICAL_SAW.get(), Items.STONE_BRICK_STAIRS)
|
||||
.emptyBackground(177, 70)
|
||||
.build("block_cutting", BlockCuttingCategory::new),
|
||||
|
||||
woodCutting = builder(CondensedBlockCuttingRecipe.class)
|
||||
.enableIf(c -> c.allowWoodcuttingOnSaw.get() && ModList.get()
|
||||
.isLoaded("druidcraft"))
|
||||
.addRecipes(() -> CondensedBlockCuttingRecipe.condenseRecipes(getTypedRecipesExcluding(SawTileEntity.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)
|
||||
.catalyst(AllItems.RED_SAND_PAPER::get)
|
||||
.itemIcon(AllItems.SAND_PAPER.get())
|
||||
.emptyBackground(177, 55)
|
||||
.build("sandpaper_polishing", PolishingCategory::new),
|
||||
|
||||
item_application = builder(ItemApplicationRecipe.class)
|
||||
.addTypedRecipes(AllRecipeTypes.ITEM_APPLICATION)
|
||||
.addRecipes(LogStrippingFakeRecipes::createRecipes)
|
||||
.itemIcon(AllItems.BRASS_HAND.get())
|
||||
.emptyBackground(177, 60)
|
||||
.build("item_application", ItemApplicationCategory::new),
|
||||
|
||||
deploying = builder(DeployerApplicationRecipe.class)
|
||||
.addTypedRecipes(AllRecipeTypes.DEPLOYING)
|
||||
.addTypedRecipes(AllRecipeTypes.SANDPAPER_POLISHING::getType, DeployerApplicationRecipe::convert)
|
||||
.addTypedRecipes(AllRecipeTypes.ITEM_APPLICATION::getType, ManualApplicationRecipe::asDeploying)
|
||||
.catalyst(AllBlocks.DEPLOYER::get)
|
||||
.catalyst(AllBlocks.DEPOT::get)
|
||||
.catalyst(AllItems.BELT_CONNECTOR::get)
|
||||
.itemIcon(AllBlocks.DEPLOYER.get())
|
||||
.emptyBackground(177, 70)
|
||||
.build("deploying", DeployingCategory::new),
|
||||
|
||||
spoutFilling = builder(FillingRecipe.class)
|
||||
.addTypedRecipes(AllRecipeTypes.FILLING)
|
||||
.addRecipeListConsumer(recipes -> SpoutCategory.consumeRecipes(recipes::add, ingredientManager))
|
||||
.catalyst(AllBlocks.SPOUT::get)
|
||||
.doubleItemIcon(AllBlocks.SPOUT.get(), Items.WATER_BUCKET)
|
||||
.emptyBackground(177, 70)
|
||||
.build("spout_filling", SpoutCategory::new),
|
||||
|
||||
draining = builder(EmptyingRecipe.class)
|
||||
.addRecipeListConsumer(recipes -> ItemDrainCategory.consumeRecipes(recipes::add, ingredientManager))
|
||||
.addTypedRecipes(AllRecipeTypes.EMPTYING)
|
||||
.catalyst(AllBlocks.ITEM_DRAIN::get)
|
||||
.doubleItemIcon(AllBlocks.ITEM_DRAIN.get(), Items.WATER_BUCKET)
|
||||
.emptyBackground(177, 50)
|
||||
.build("draining", ItemDrainCategory::new),
|
||||
|
||||
autoShaped = builder(CraftingRecipe.class)
|
||||
.enableWhen(c -> c.allowRegularCraftingInCrafter)
|
||||
.addAllRecipesIf(r -> r instanceof CraftingRecipe && !(r instanceof IShapedRecipe<?>)
|
||||
&& r.getIngredients()
|
||||
.size() == 1
|
||||
&& !AllRecipeTypes.shouldIgnoreInAutomation(r))
|
||||
.addTypedRecipesIf(() -> RecipeType.CRAFTING,
|
||||
recipe -> recipe instanceof IShapedRecipe<?> && !AllRecipeTypes.shouldIgnoreInAutomation(recipe))
|
||||
.catalyst(AllBlocks.MECHANICAL_CRAFTER::get)
|
||||
.itemIcon(AllBlocks.MECHANICAL_CRAFTER.get())
|
||||
.emptyBackground(177, 107)
|
||||
.build("automatic_shaped", MechanicalCraftingCategory::new),
|
||||
|
||||
mechanicalCrafting = builder(CraftingRecipe.class)
|
||||
.addTypedRecipes(AllRecipeTypes.MECHANICAL_CRAFTING)
|
||||
.catalyst(AllBlocks.MECHANICAL_CRAFTER::get)
|
||||
.itemIcon(AllBlocks.MECHANICAL_CRAFTER.get())
|
||||
.emptyBackground(177, 107)
|
||||
.build("mechanical_crafting", MechanicalCraftingCategory::new),
|
||||
|
||||
seqAssembly = builder(SequencedAssemblyRecipe.class)
|
||||
.addTypedRecipes(AllRecipeTypes.SEQUENCED_ASSEMBLY)
|
||||
.itemIcon(AllItems.PRECISION_MECHANISM.get())
|
||||
.emptyBackground(180, 115)
|
||||
.build("sequenced_assembly", SequencedAssemblyCategory::new),
|
||||
|
||||
mysteryConversion = builder(ConversionRecipe.class)
|
||||
.addRecipes(() -> MysteriousItemConversionCategory.RECIPES)
|
||||
.itemIcon(AllBlocks.PECULIAR_BELL.get())
|
||||
.emptyBackground(177, 50)
|
||||
.build("mystery_conversion", MysteriousItemConversionCategory::new);
|
||||
|
||||
}
|
||||
|
||||
private <T extends Recipe<?>> CategoryBuilder<T> register(String name, Supplier<CreateRecipeCategory<T>> supplier) {
|
||||
return new CategoryBuilder<>(name, supplier);
|
||||
private <T extends Recipe<?>> CategoryBuilder<T> builder(Class<? extends T> recipeClass) {
|
||||
return new CategoryBuilder<>(recipeClass);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -250,25 +324,12 @@ public class CreateJEI implements IModPlugin {
|
|||
return ID;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerRecipeTransferHandlers(IRecipeTransferRegistration registration) {
|
||||
registration.addRecipeTransferHandler(new BlueprintTransferHandler(), RecipeTypes.CRAFTING);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerCategories(IRecipeCategoryRegistration registration) {
|
||||
loadCategories();
|
||||
registration.addRecipeCategories(allCategories.toArray(IRecipeCategory[]::new));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerFluidSubtypes(ISubtypeRegistration registration) {
|
||||
PotionFluidSubtypeInterpreter interpreter = new PotionFluidSubtypeInterpreter();
|
||||
PotionFluid potionFluid = AllFluids.POTION.get();
|
||||
registration.registerSubtypeInterpreter(potionFluid.getSource(), interpreter);
|
||||
registration.registerSubtypeInterpreter(potionFluid.getFlowing(), interpreter);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerRecipes(IRecipeRegistration registration) {
|
||||
ingredientManager = registration.getIngredientManager();
|
||||
|
@ -280,7 +341,20 @@ public class CreateJEI implements IModPlugin {
|
|||
|
||||
@Override
|
||||
public void registerRecipeCatalysts(IRecipeCatalystRegistration registration) {
|
||||
allCategories.forEach(c -> c.recipeCatalysts.forEach(s -> registration.addRecipeCatalyst(s.get(), c.getRecipeType())));
|
||||
allCategories.forEach(c -> c.registerCatalysts(registration));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerRecipeTransferHandlers(IRecipeTransferRegistration registration) {
|
||||
registration.addRecipeTransferHandler(new BlueprintTransferHandler(), RecipeTypes.CRAFTING);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerFluidSubtypes(ISubtypeRegistration registration) {
|
||||
PotionFluidSubtypeInterpreter interpreter = new PotionFluidSubtypeInterpreter();
|
||||
PotionFluid potionFluid = AllFluids.POTION.get();
|
||||
registration.registerSubtypeInterpreter(ForgeTypes.FLUID_STACK, potionFluid.getSource(), interpreter);
|
||||
registration.registerSubtypeInterpreter(ForgeTypes.FLUID_STACK, potionFluid.getFlowing(), interpreter);
|
||||
}
|
||||
|
||||
@SuppressWarnings({ "unchecked", "rawtypes" })
|
||||
|
@ -295,15 +369,27 @@ public class CreateJEI implements IModPlugin {
|
|||
}
|
||||
|
||||
private class CategoryBuilder<T extends Recipe<?>> {
|
||||
private final CreateRecipeCategory<T> category;
|
||||
private final List<Consumer<List<T>>> recipeListConsumers = new ArrayList<>();
|
||||
private Predicate<CRecipes> predicate;
|
||||
private final Class<? extends T> recipeClass;
|
||||
private Predicate<CRecipes> predicate = cRecipes -> true;
|
||||
|
||||
public CategoryBuilder(String name, Supplier<CreateRecipeCategory<T>> category) {
|
||||
this.category = category.get();
|
||||
this.category.setCategoryId(name);
|
||||
mezz.jei.api.recipe.RecipeType<T> recipeType = this.category.getRecipeType();
|
||||
predicate = cRecipes -> true;
|
||||
private IDrawable background;
|
||||
private IDrawable icon;
|
||||
|
||||
private final List<Consumer<List<T>>> recipeListConsumers = new ArrayList<>();
|
||||
private final List<Supplier<? extends ItemStack>> catalysts = new ArrayList<>();
|
||||
|
||||
public CategoryBuilder(Class<? extends T> recipeClass) {
|
||||
this.recipeClass = recipeClass;
|
||||
}
|
||||
|
||||
public CategoryBuilder<T> enableIf(Predicate<CRecipes> predicate) {
|
||||
this.predicate = predicate;
|
||||
return this;
|
||||
}
|
||||
|
||||
public CategoryBuilder<T> enableWhen(Function<CRecipes, ConfigBool> configValue) {
|
||||
predicate = c -> configValue.apply(c).get();
|
||||
return this;
|
||||
}
|
||||
|
||||
public CategoryBuilder<T> addRecipeListConsumer(Consumer<List<T>> consumer) {
|
||||
|
@ -380,38 +466,61 @@ public class CreateJEI implements IModPlugin {
|
|||
});
|
||||
}
|
||||
|
||||
public CategoryBuilder<T> catalystStack(Supplier<ItemStack> supplier) {
|
||||
catalysts.add(supplier);
|
||||
return this;
|
||||
}
|
||||
|
||||
public CategoryBuilder<T> catalyst(Supplier<ItemLike> supplier) {
|
||||
return catalystStack(() -> new ItemStack(supplier.get()
|
||||
.asItem()));
|
||||
}
|
||||
|
||||
public CategoryBuilder<T> catalystStack(Supplier<ItemStack> supplier) {
|
||||
category.recipeCatalysts.add(supplier);
|
||||
public CategoryBuilder<T> icon(IDrawable icon) {
|
||||
this.icon = icon;
|
||||
return this;
|
||||
}
|
||||
|
||||
public CategoryBuilder<T> enableWhen(Function<CRecipes, ConfigBool> configValue) {
|
||||
predicate = c -> configValue.apply(c).get();
|
||||
public CategoryBuilder<T> itemIcon(ItemLike item) {
|
||||
icon(new ItemIcon(() -> new ItemStack(item)));
|
||||
return this;
|
||||
}
|
||||
|
||||
public CategoryBuilder<T> enableWhenBool(Function<CRecipes, Boolean> configValue) {
|
||||
predicate = configValue::apply;
|
||||
public CategoryBuilder<T> doubleItemIcon(ItemLike item1, ItemLike item2) {
|
||||
icon(new DoubleItemIcon(() -> new ItemStack(item1), () -> new ItemStack(item2)));
|
||||
return this;
|
||||
}
|
||||
|
||||
public CreateRecipeCategory<T> build() {
|
||||
if (predicate.test(AllConfigs.SERVER.recipes))
|
||||
category.recipes.add(() -> {
|
||||
public CategoryBuilder<T> background(IDrawable background) {
|
||||
this.background = background;
|
||||
return this;
|
||||
}
|
||||
|
||||
public CategoryBuilder<T> emptyBackground(int width, int height) {
|
||||
background(new EmptyBackground(width, height));
|
||||
return this;
|
||||
}
|
||||
|
||||
public CreateRecipeCategory<T> build(String name, CreateRecipeCategory.Factory<T> factory) {
|
||||
Supplier<List<T>> recipesSupplier;
|
||||
if (predicate.test(AllConfigs.SERVER.recipes)) {
|
||||
recipesSupplier = () -> {
|
||||
List<T> recipes = new ArrayList<>();
|
||||
for (Consumer<List<T>> consumer : recipeListConsumers)
|
||||
consumer.accept(recipes);
|
||||
return recipes;
|
||||
});
|
||||
};
|
||||
} else {
|
||||
recipesSupplier = () -> Collections.emptyList();
|
||||
}
|
||||
|
||||
CreateRecipeCategory.Info<T> info = new CreateRecipeCategory.Info<>(
|
||||
new mezz.jei.api.recipe.RecipeType<>(Create.asResource(name), recipeClass),
|
||||
CreateLang.translateDirect("recipe." + name), background, icon, recipesSupplier, catalysts);
|
||||
CreateRecipeCategory<T> category = factory.create(info);
|
||||
allCategories.add(category);
|
||||
return category;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static void consumeAllRecipes(Consumer<Recipe<?>> consumer) {
|
||||
|
|
|
@ -56,7 +56,6 @@ public class DoubleItemIcon implements IDrawable {
|
|||
matrixStack.popPose();
|
||||
|
||||
matrixStack.popPose();
|
||||
RenderSystem.enableBlend();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
48
src/main/java/com/simibubi/create/compat/jei/ItemIcon.java
Normal file
48
src/main/java/com/simibubi/create/compat/jei/ItemIcon.java
Normal file
|
@ -0,0 +1,48 @@
|
|||
package com.simibubi.create.compat.jei;
|
||||
|
||||
import java.util.function.Supplier;
|
||||
|
||||
import com.mojang.blaze3d.systems.RenderSystem;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
|
||||
import mezz.jei.api.gui.drawable.IDrawable;
|
||||
import net.createmod.catnip.gui.element.GuiGameElement;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
|
||||
public class ItemIcon implements IDrawable {
|
||||
|
||||
private Supplier<ItemStack> supplier;
|
||||
private ItemStack stack;
|
||||
|
||||
public ItemIcon(Supplier<ItemStack> stack) {
|
||||
this.supplier = stack;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getWidth() {
|
||||
return 18;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getHeight() {
|
||||
return 18;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void draw(PoseStack matrixStack, int xOffset, int yOffset) {
|
||||
if (stack == null) {
|
||||
stack = supplier.get();
|
||||
}
|
||||
|
||||
RenderSystem.enableDepthTest();
|
||||
matrixStack.pushPose();
|
||||
matrixStack.translate(xOffset + 1, yOffset + 1, 0);
|
||||
|
||||
GuiGameElement.of(stack)
|
||||
.render(matrixStack);
|
||||
|
||||
matrixStack.popPose();
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -19,9 +19,8 @@ import com.simibubi.create.foundation.gui.AllGuiTextures;
|
|||
import com.simibubi.create.foundation.item.ItemHelper;
|
||||
import com.simibubi.create.foundation.utility.CreateLang;
|
||||
|
||||
import mezz.jei.api.constants.VanillaTypes;
|
||||
import mezz.jei.api.forge.ForgeTypes;
|
||||
import mezz.jei.api.gui.builder.IRecipeLayoutBuilder;
|
||||
import mezz.jei.api.gui.drawable.IDrawable;
|
||||
import mezz.jei.api.gui.ingredient.IRecipeSlotsView;
|
||||
import mezz.jei.api.recipe.IFocusGroup;
|
||||
import mezz.jei.api.recipe.RecipeIngredientRole;
|
||||
|
@ -36,16 +35,11 @@ public class BasinCategory extends CreateRecipeCategory<BasinRecipe> {
|
|||
|
||||
private final boolean needsHeating;
|
||||
|
||||
public BasinCategory(boolean needsHeating, IDrawable icon, IDrawable background) {
|
||||
super(icon, background);
|
||||
public BasinCategory(Info<BasinRecipe> info, boolean needsHeating) {
|
||||
super(info);
|
||||
this.needsHeating = needsHeating;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<? extends BasinRecipe> getRecipeClass() {
|
||||
return BasinRecipe.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setRecipe(IRecipeLayoutBuilder builder, BasinRecipe recipe, IFocusGroup focuses) {
|
||||
List<Pair<Ingredient, MutableInt>> condensedIngredients = ItemHelper.condenseIngredients(recipe.getIngredients());
|
||||
|
@ -72,7 +66,7 @@ public class BasinCategory extends CreateRecipeCategory<BasinRecipe> {
|
|||
builder
|
||||
.addSlot(RecipeIngredientRole.INPUT, 17 + xOffset + (i % 3) * 19, 51 - (i / 3) * 19)
|
||||
.setBackground(getRenderedSlot(), -1, -1)
|
||||
.addIngredients(VanillaTypes.FLUID, withImprovedVisibility(fluidIngredient.getMatchingFluidStacks()))
|
||||
.addIngredients(ForgeTypes.FLUID_STACK, withImprovedVisibility(fluidIngredient.getMatchingFluidStacks()))
|
||||
.addTooltipCallback(addFluidTooltip(fluidIngredient.getRequiredAmount()));
|
||||
i++;
|
||||
}
|
||||
|
@ -99,7 +93,7 @@ public class BasinCategory extends CreateRecipeCategory<BasinRecipe> {
|
|||
builder
|
||||
.addSlot(RecipeIngredientRole.OUTPUT, xPosition, yPosition)
|
||||
.setBackground(getRenderedSlot(), -1, -1)
|
||||
.addIngredient(VanillaTypes.FLUID, withImprovedVisibility(fluidResult))
|
||||
.addIngredient(ForgeTypes.FLUID_STACK, withImprovedVisibility(fluidResult))
|
||||
.addTooltipCallback(addFluidTooltip(fluidResult.getAmount()));
|
||||
i++;
|
||||
}
|
||||
|
|
|
@ -7,7 +7,6 @@ import java.util.List;
|
|||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.compat.jei.category.BlockCuttingCategory.CondensedBlockCuttingRecipe;
|
||||
import com.simibubi.create.compat.jei.category.animations.AnimatedSaw;
|
||||
import com.simibubi.create.foundation.gui.AllGuiTextures;
|
||||
|
@ -18,7 +17,6 @@ import mezz.jei.api.gui.ingredient.IRecipeSlotsView;
|
|||
import mezz.jei.api.recipe.IFocusGroup;
|
||||
import mezz.jei.api.recipe.RecipeIngredientRole;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.world.item.Item;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.crafting.Ingredient;
|
||||
import net.minecraft.world.item.crafting.Recipe;
|
||||
|
@ -29,13 +27,8 @@ public class BlockCuttingCategory extends CreateRecipeCategory<CondensedBlockCut
|
|||
|
||||
private final AnimatedSaw saw = new AnimatedSaw();
|
||||
|
||||
public BlockCuttingCategory(Item symbol) {
|
||||
super(doubleItemIcon(AllBlocks.MECHANICAL_SAW.get(), symbol), emptyBackground(177, 70)); // Items.STONE_BRICK_STAIRS
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<? extends CondensedBlockCuttingRecipe> getRecipeClass() {
|
||||
return CondensedBlockCuttingRecipe.class;
|
||||
public BlockCuttingCategory(Info<CondensedBlockCuttingRecipe> info) {
|
||||
super(info);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -12,63 +12,50 @@ import org.jetbrains.annotations.NotNull;
|
|||
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.AllFluids;
|
||||
import com.simibubi.create.Create;
|
||||
import com.simibubi.create.compat.jei.DoubleItemIcon;
|
||||
import com.simibubi.create.compat.jei.EmptyBackground;
|
||||
import com.simibubi.create.content.contraptions.fluids.potion.PotionFluidHandler;
|
||||
import com.simibubi.create.content.contraptions.processing.ProcessingOutput;
|
||||
import com.simibubi.create.foundation.gui.AllGuiTextures;
|
||||
import com.simibubi.create.foundation.utility.CreateLang;
|
||||
|
||||
import mezz.jei.api.constants.VanillaTypes;
|
||||
import mezz.jei.api.forge.ForgeTypes;
|
||||
import mezz.jei.api.gui.drawable.IDrawable;
|
||||
import mezz.jei.api.gui.ingredient.IRecipeSlotTooltipCallback;
|
||||
import mezz.jei.api.recipe.RecipeType;
|
||||
import mezz.jei.api.recipe.category.IRecipeCategory;
|
||||
import mezz.jei.api.registration.IRecipeCatalystRegistration;
|
||||
import mezz.jei.api.registration.IRecipeRegistration;
|
||||
import net.createmod.catnip.utility.lang.Components;
|
||||
import net.minecraft.ChatFormatting;
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.network.chat.Component;
|
||||
import net.minecraft.network.chat.TextComponent;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.crafting.Recipe;
|
||||
import net.minecraft.world.level.ItemLike;
|
||||
import net.minecraftforge.fluids.FluidStack;
|
||||
|
||||
@ParametersAreNonnullByDefault
|
||||
@MethodsReturnNonnullByDefault
|
||||
public abstract class CreateRecipeCategory<T extends Recipe<?>> implements IRecipeCategory<T> {
|
||||
private static final IDrawable BASIC_SLOT = asDrawable(AllGuiTextures.JEI_SLOT);
|
||||
private static final IDrawable CHANCE_SLOT = asDrawable(AllGuiTextures.JEI_CHANCE_SLOT);
|
||||
|
||||
public final List<Supplier<List<T>>> recipes = new ArrayList<>();
|
||||
public final List<Supplier<? extends ItemStack>> recipeCatalysts = new ArrayList<>();
|
||||
protected final RecipeType<T> type;
|
||||
protected final Component title;
|
||||
protected final IDrawable background;
|
||||
protected final IDrawable icon;
|
||||
|
||||
protected String name;
|
||||
protected RecipeType<T> type;
|
||||
private final IDrawable background;
|
||||
private final IDrawable icon;
|
||||
private final Supplier<List<T>> recipes;
|
||||
private final List<Supplier<? extends ItemStack>> catalysts;
|
||||
|
||||
private static final IDrawable basicSlot = asDrawable(AllGuiTextures.JEI_SLOT);
|
||||
private static final IDrawable chanceSlot = asDrawable(AllGuiTextures.JEI_CHANCE_SLOT);
|
||||
|
||||
public CreateRecipeCategory(IDrawable icon, IDrawable background) {
|
||||
this.background = background;
|
||||
this.icon = icon;
|
||||
public CreateRecipeCategory(Info<T> info) {
|
||||
this.type = info.recipeType();
|
||||
this.title = info.title();
|
||||
this.background = info.background();
|
||||
this.icon = info.icon();
|
||||
this.recipes = info.recipes();
|
||||
this.catalysts = info.catalysts();
|
||||
}
|
||||
|
||||
public void setCategoryId(String name) {
|
||||
this.name = name;
|
||||
this.type = RecipeType.create(Create.ID, name, getRecipeClass());
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getUid() {
|
||||
return getRecipeType().getUid();
|
||||
}
|
||||
|
||||
@Override
|
||||
public abstract Class<? extends T> getRecipeClass();
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public RecipeType<T> getRecipeType() {
|
||||
|
@ -77,7 +64,7 @@ public abstract class CreateRecipeCategory<T extends Recipe<?>> implements IReci
|
|||
|
||||
@Override
|
||||
public Component getTitle() {
|
||||
return CreateLang.translateDirect("recipe." + name);
|
||||
return title;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -90,12 +77,28 @@ public abstract class CreateRecipeCategory<T extends Recipe<?>> implements IReci
|
|||
return icon;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Deprecated
|
||||
public final ResourceLocation getUid() {
|
||||
return type.getUid();
|
||||
}
|
||||
|
||||
@Override
|
||||
@Deprecated
|
||||
public final Class<? extends T> getRecipeClass() {
|
||||
return type.getRecipeClass();
|
||||
}
|
||||
|
||||
public void registerRecipes(IRecipeRegistration registration) {
|
||||
recipes.forEach(s -> registration.addRecipes(getRecipeType(), s.get()));
|
||||
registration.addRecipes(type, recipes.get());
|
||||
}
|
||||
|
||||
public void registerCatalysts(IRecipeCatalystRegistration registration) {
|
||||
catalysts.forEach(s -> registration.addRecipeCatalyst(s.get(), type));
|
||||
}
|
||||
|
||||
public static IDrawable getRenderedSlot() {
|
||||
return basicSlot;
|
||||
return BASIC_SLOT;
|
||||
}
|
||||
|
||||
public static IDrawable getRenderedSlot(ProcessingOutput output) {
|
||||
|
@ -104,21 +107,9 @@ public abstract class CreateRecipeCategory<T extends Recipe<?>> implements IReci
|
|||
|
||||
public static IDrawable getRenderedSlot(float chance) {
|
||||
if (chance == 1)
|
||||
return basicSlot;
|
||||
return BASIC_SLOT;
|
||||
|
||||
return chanceSlot;
|
||||
}
|
||||
|
||||
public static IDrawable emptyBackground(int width, int height) {
|
||||
return new EmptyBackground(width, height);
|
||||
}
|
||||
|
||||
public static IDrawable doubleItemIcon(ItemLike item1, ItemLike item2) {
|
||||
return new DoubleItemIcon(() -> new ItemStack(item1), () -> new ItemStack(item2));
|
||||
}
|
||||
|
||||
public static IDrawable itemIcon(ItemLike item) {
|
||||
return new DoubleItemIcon(() -> new ItemStack(item), () -> ItemStack.EMPTY);
|
||||
return CHANCE_SLOT;
|
||||
}
|
||||
|
||||
public static IRecipeSlotTooltipCallback addStochasticTooltip(ProcessingOutput output) {
|
||||
|
@ -149,7 +140,7 @@ public abstract class CreateRecipeCategory<T extends Recipe<?>> implements IReci
|
|||
|
||||
public static IRecipeSlotTooltipCallback addFluidTooltip(int mbAmount) {
|
||||
return (view, tooltip) -> {
|
||||
Optional<FluidStack> displayed = view.getDisplayedIngredient(VanillaTypes.FLUID);
|
||||
Optional<FluidStack> displayed = view.getDisplayedIngredient(ForgeTypes.FLUID_STACK);
|
||||
if (displayed.isEmpty())
|
||||
return;
|
||||
|
||||
|
@ -168,18 +159,18 @@ public abstract class CreateRecipeCategory<T extends Recipe<?>> implements IReci
|
|||
}
|
||||
|
||||
int amount = mbAmount == -1 ? fluidStack.getAmount() : mbAmount;
|
||||
Component text = new TextComponent(String.valueOf(amount)).append(CreateLang.translateDirect("generic.unit.millibuckets")).withStyle(ChatFormatting.GOLD);
|
||||
Component text = Components.literal(String.valueOf(amount)).append(CreateLang.translateDirect("generic.unit.millibuckets")).withStyle(ChatFormatting.GOLD);
|
||||
if (tooltip.isEmpty())
|
||||
tooltip.add(0, text);
|
||||
else {
|
||||
List<Component> siblings = tooltip.get(0).getSiblings();
|
||||
siblings.add(new TextComponent(" "));
|
||||
siblings.add(Components.literal(" "));
|
||||
siblings.add(text);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
private static IDrawable asDrawable(AllGuiTextures texture) {
|
||||
protected static IDrawable asDrawable(AllGuiTextures texture) {
|
||||
return new IDrawable() {
|
||||
@Override
|
||||
public int getWidth() {
|
||||
|
@ -198,4 +189,10 @@ public abstract class CreateRecipeCategory<T extends Recipe<?>> implements IReci
|
|||
};
|
||||
}
|
||||
|
||||
public record Info<T extends Recipe<?>>(RecipeType<T> recipeType, Component title, IDrawable background, IDrawable icon, Supplier<List<T>> recipes, List<Supplier<? extends ItemStack>> catalysts) {
|
||||
}
|
||||
|
||||
public interface Factory<T extends Recipe<?>> {
|
||||
CreateRecipeCategory<T> create(Info<T> info);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,8 +6,6 @@ import java.util.List;
|
|||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.AllItems;
|
||||
import com.simibubi.create.compat.jei.category.animations.AnimatedCrushingWheels;
|
||||
import com.simibubi.create.content.contraptions.components.crusher.AbstractCrushingRecipe;
|
||||
import com.simibubi.create.content.contraptions.processing.ProcessingOutput;
|
||||
|
@ -25,13 +23,8 @@ public class CrushingCategory extends CreateRecipeCategory<AbstractCrushingRecip
|
|||
|
||||
private final AnimatedCrushingWheels crushingWheels = new AnimatedCrushingWheels();
|
||||
|
||||
public CrushingCategory() {
|
||||
super(doubleItemIcon(AllBlocks.CRUSHING_WHEEL.get(), AllItems.CRUSHED_GOLD.get()), emptyBackground(177, 100));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<? extends AbstractCrushingRecipe> getRecipeClass() {
|
||||
return AbstractCrushingRecipe.class;
|
||||
public CrushingCategory(Info<AbstractCrushingRecipe> info) {
|
||||
super(info);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -3,7 +3,6 @@ package com.simibubi.create.compat.jei.category;
|
|||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.compat.jei.category.animations.AnimatedDeployer;
|
||||
import com.simibubi.create.content.contraptions.components.deployer.DeployerApplicationRecipe;
|
||||
import com.simibubi.create.foundation.gui.AllGuiTextures;
|
||||
|
@ -21,13 +20,8 @@ public class DeployingCategory extends CreateRecipeCategory<DeployerApplicationR
|
|||
|
||||
private final AnimatedDeployer deployer = new AnimatedDeployer();
|
||||
|
||||
public DeployingCategory() {
|
||||
super(itemIcon(AllBlocks.DEPLOYER.get()), emptyBackground(177, 70));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<DeployerApplicationRecipe> getRecipeClass() {
|
||||
return DeployerApplicationRecipe.class;
|
||||
public DeployingCategory(Info<DeployerApplicationRecipe> info) {
|
||||
super(info);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -3,24 +3,17 @@ package com.simibubi.create.compat.jei.category;
|
|||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.AllItems;
|
||||
import com.simibubi.create.compat.jei.category.animations.AnimatedKinetics;
|
||||
import com.simibubi.create.foundation.gui.AllGuiTextures;
|
||||
|
||||
import net.createmod.catnip.gui.element.GuiGameElement;
|
||||
import net.minecraft.world.item.Items;
|
||||
import net.minecraft.world.item.crafting.AbstractCookingRecipe;
|
||||
import net.minecraft.world.level.material.Fluids;
|
||||
|
||||
public class FanBlastingCategory extends ProcessingViaFanCategory<AbstractCookingRecipe> {
|
||||
|
||||
public FanBlastingCategory() {
|
||||
super(doubleItemIcon(AllItems.PROPELLER.get(), Items.LAVA_BUCKET));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<? extends AbstractCookingRecipe> getRecipeClass() {
|
||||
return AbstractCookingRecipe.class;
|
||||
public FanBlastingCategory(Info<AbstractCookingRecipe> info) {
|
||||
super(info);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -3,24 +3,17 @@ package com.simibubi.create.compat.jei.category;
|
|||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.AllItems;
|
||||
import com.simibubi.create.compat.jei.category.animations.AnimatedKinetics;
|
||||
import com.simibubi.create.content.contraptions.components.fan.HauntingRecipe;
|
||||
import com.simibubi.create.foundation.gui.AllGuiTextures;
|
||||
|
||||
import net.createmod.catnip.gui.element.GuiGameElement;
|
||||
import net.minecraft.world.item.Items;
|
||||
import net.minecraft.world.level.block.Blocks;
|
||||
|
||||
public class FanHauntingCategory extends ProcessingViaFanCategory.MultiOutput<HauntingRecipe> {
|
||||
|
||||
public FanHauntingCategory() {
|
||||
super(doubleItemIcon(AllItems.PROPELLER.get(), Items.SOUL_CAMPFIRE));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<? extends HauntingRecipe> getRecipeClass() {
|
||||
return HauntingRecipe.class;
|
||||
public FanHauntingCategory(Info<HauntingRecipe> info) {
|
||||
super(info);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -3,24 +3,17 @@ package com.simibubi.create.compat.jei.category;
|
|||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.AllItems;
|
||||
import com.simibubi.create.compat.jei.category.animations.AnimatedKinetics;
|
||||
import com.simibubi.create.foundation.gui.AllGuiTextures;
|
||||
|
||||
import net.createmod.catnip.gui.element.GuiGameElement;
|
||||
import net.minecraft.world.item.Items;
|
||||
import net.minecraft.world.item.crafting.SmokingRecipe;
|
||||
import net.minecraft.world.level.block.Blocks;
|
||||
|
||||
public class FanSmokingCategory extends ProcessingViaFanCategory<SmokingRecipe> {
|
||||
|
||||
public FanSmokingCategory() {
|
||||
super(doubleItemIcon(AllItems.PROPELLER.get(), Items.CAMPFIRE));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<? extends SmokingRecipe> getRecipeClass() {
|
||||
return SmokingRecipe.class;
|
||||
public FanSmokingCategory(Info<SmokingRecipe> info) {
|
||||
super(info);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -3,23 +3,16 @@ package com.simibubi.create.compat.jei.category;
|
|||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.AllItems;
|
||||
import com.simibubi.create.compat.jei.category.animations.AnimatedKinetics;
|
||||
import com.simibubi.create.content.contraptions.components.fan.SplashingRecipe;
|
||||
|
||||
import net.createmod.catnip.gui.element.GuiGameElement;
|
||||
import net.minecraft.world.item.Items;
|
||||
import net.minecraft.world.level.material.Fluids;
|
||||
|
||||
public class FanWashingCategory extends ProcessingViaFanCategory.MultiOutput<SplashingRecipe> {
|
||||
|
||||
public FanWashingCategory() {
|
||||
super(doubleItemIcon(AllItems.PROPELLER.get(), Items.WATER_BUCKET));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<? extends SplashingRecipe> getRecipeClass() {
|
||||
return SplashingRecipe.class;
|
||||
public FanWashingCategory(Info<SplashingRecipe> info) {
|
||||
super(info);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -6,7 +6,6 @@ import javax.annotation.ParametersAreNonnullByDefault;
|
|||
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.mojang.math.Vector3f;
|
||||
import com.simibubi.create.AllItems;
|
||||
import com.simibubi.create.compat.jei.category.animations.AnimatedKinetics;
|
||||
import com.simibubi.create.content.contraptions.processing.ItemApplicationRecipe;
|
||||
import com.simibubi.create.foundation.gui.AllGuiTextures;
|
||||
|
@ -27,13 +26,8 @@ import net.minecraft.world.level.block.state.BlockState;
|
|||
@ParametersAreNonnullByDefault
|
||||
public class ItemApplicationCategory extends CreateRecipeCategory<ItemApplicationRecipe> {
|
||||
|
||||
public ItemApplicationCategory() {
|
||||
super(itemIcon(AllItems.BRASS_HAND.get()), emptyBackground(177, 60));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<ItemApplicationRecipe> getRecipeClass() {
|
||||
return ItemApplicationRecipe.class;
|
||||
public ItemApplicationCategory(Info<ItemApplicationRecipe> info) {
|
||||
super(info);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -65,7 +59,7 @@ public class ItemApplicationCategory extends CreateRecipeCategory<ItemApplicatio
|
|||
|
||||
Optional<ItemStack> displayedIngredient = recipeSlotsView.getSlotViews()
|
||||
.get(0)
|
||||
.getDisplayedIngredient(VanillaTypes.ITEM);
|
||||
.getDisplayedIngredient(VanillaTypes.ITEM_STACK);
|
||||
if (displayedIngredient.isEmpty())
|
||||
return;
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@ import java.util.function.Consumer;
|
|||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.Create;
|
||||
import com.simibubi.create.compat.jei.category.animations.AnimatedItemDrain;
|
||||
import com.simibubi.create.content.contraptions.fluids.potion.PotionFluidHandler;
|
||||
|
@ -14,11 +13,13 @@ import com.simibubi.create.content.contraptions.processing.ProcessingRecipeBuild
|
|||
import com.simibubi.create.foundation.gui.AllGuiTextures;
|
||||
|
||||
import mezz.jei.api.constants.VanillaTypes;
|
||||
import mezz.jei.api.forge.ForgeTypes;
|
||||
import mezz.jei.api.gui.builder.IRecipeLayoutBuilder;
|
||||
import mezz.jei.api.gui.ingredient.IRecipeSlotsView;
|
||||
import mezz.jei.api.recipe.IFocusGroup;
|
||||
import mezz.jei.api.recipe.RecipeIngredientRole;
|
||||
import mezz.jei.api.runtime.IIngredientManager;
|
||||
import net.createmod.catnip.platform.CatnipServices;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.Items;
|
||||
|
@ -33,15 +34,14 @@ import net.minecraftforge.fluids.capability.IFluidHandlerItem;
|
|||
@ParametersAreNonnullByDefault
|
||||
public class ItemDrainCategory extends CreateRecipeCategory<EmptyingRecipe> {
|
||||
|
||||
AnimatedItemDrain drain;
|
||||
private final AnimatedItemDrain drain = new AnimatedItemDrain();
|
||||
|
||||
public ItemDrainCategory() {
|
||||
super(doubleItemIcon(AllBlocks.ITEM_DRAIN.get(), Items.WATER_BUCKET), emptyBackground(177, 50));
|
||||
drain = new AnimatedItemDrain();
|
||||
public ItemDrainCategory(Info<EmptyingRecipe> info) {
|
||||
super(info);
|
||||
}
|
||||
|
||||
public static void consumeRecipes(Consumer<EmptyingRecipe> consumer, IIngredientManager ingredientManager) {
|
||||
for (ItemStack stack : ingredientManager.getAllIngredients(VanillaTypes.ITEM)) {
|
||||
for (ItemStack stack : ingredientManager.getAllIngredients(VanillaTypes.ITEM_STACK)) {
|
||||
if (stack.getItem() instanceof PotionItem) {
|
||||
FluidStack fluidFromPotionItem = PotionFluidHandler.getFluidFromPotionItem(stack);
|
||||
Ingredient potion = Ingredient.of(stack);
|
||||
|
@ -69,10 +69,8 @@ public class ItemDrainCategory extends CreateRecipeCategory<EmptyingRecipe> {
|
|||
continue;
|
||||
|
||||
Ingredient ingredient = Ingredient.of(stack);
|
||||
ResourceLocation itemName = stack.getItem()
|
||||
.getRegistryName();
|
||||
ResourceLocation fluidName = extracted.getFluid()
|
||||
.getRegistryName();
|
||||
ResourceLocation itemName = CatnipServices.REGISTRIES.getKeyOrThrow(stack.getItem());
|
||||
ResourceLocation fluidName = CatnipServices.REGISTRIES.getKeyOrThrow(extracted.getFluid());
|
||||
|
||||
consumer.accept(new ProcessingRecipeBuilder<>(EmptyingRecipe::new,
|
||||
Create.asResource("empty_" + itemName.getNamespace() + "_" + itemName.getPath() + "_of_"
|
||||
|
@ -83,11 +81,6 @@ public class ItemDrainCategory extends CreateRecipeCategory<EmptyingRecipe> {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<? extends EmptyingRecipe> getRecipeClass() {
|
||||
return EmptyingRecipe.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setRecipe(IRecipeLayoutBuilder builder, EmptyingRecipe recipe, IFocusGroup focuses) {
|
||||
builder
|
||||
|
@ -97,7 +90,7 @@ public class ItemDrainCategory extends CreateRecipeCategory<EmptyingRecipe> {
|
|||
builder
|
||||
.addSlot(RecipeIngredientRole.OUTPUT, 132, 8)
|
||||
.setBackground(getRenderedSlot(), -1, -1)
|
||||
.addIngredient(VanillaTypes.FLUID, withImprovedVisibility(recipe.getResultingFluid()))
|
||||
.addIngredient(ForgeTypes.FLUID_STACK, withImprovedVisibility(recipe.getResultingFluid()))
|
||||
.addTooltipCallback(addFluidTooltip(recipe.getResultingFluid().getAmount()));
|
||||
builder
|
||||
.addSlot(RecipeIngredientRole.OUTPUT, 132, 27)
|
||||
|
|
|
@ -9,7 +9,6 @@ import org.jetbrains.annotations.NotNull;
|
|||
|
||||
import com.mojang.blaze3d.systems.RenderSystem;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.compat.jei.category.animations.AnimatedCrafter;
|
||||
import com.simibubi.create.foundation.gui.AllGuiTextures;
|
||||
|
||||
|
@ -19,12 +18,13 @@ import mezz.jei.api.gui.ingredient.IRecipeSlotsView;
|
|||
import mezz.jei.api.ingredients.IIngredientRenderer;
|
||||
import mezz.jei.api.recipe.IFocusGroup;
|
||||
import mezz.jei.api.recipe.RecipeIngredientRole;
|
||||
import net.createmod.catnip.utility.lang.Components;
|
||||
import net.minecraft.ChatFormatting;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.Font;
|
||||
import net.minecraft.client.renderer.entity.ItemRenderer;
|
||||
import net.minecraft.network.chat.Component;
|
||||
import net.minecraft.network.chat.TranslatableComponent;
|
||||
import net.minecraft.network.chat.MutableComponent;
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.TooltipFlag;
|
||||
|
@ -37,8 +37,8 @@ public class MechanicalCraftingCategory extends CreateRecipeCategory<CraftingRec
|
|||
|
||||
private final AnimatedCrafter crafter = new AnimatedCrafter();
|
||||
|
||||
public MechanicalCraftingCategory() {
|
||||
super(itemIcon(AllBlocks.MECHANICAL_CRAFTER.get()), emptyBackground(177, 107));
|
||||
public MechanicalCraftingCategory(Info<CraftingRecipe> info) {
|
||||
super(info);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -59,7 +59,7 @@ public class MechanicalCraftingCategory extends CreateRecipeCategory<CraftingRec
|
|||
int yPosition = (int) (y + 1 + (i / getWidth(recipe)) * f);
|
||||
|
||||
builder.addSlot(RecipeIngredientRole.INPUT, xPosition, yPosition)
|
||||
.setCustomRenderer(VanillaTypes.ITEM, renderer)
|
||||
.setCustomRenderer(VanillaTypes.ITEM_STACK, renderer)
|
||||
.addIngredients(ingredient);
|
||||
|
||||
i++;
|
||||
|
@ -130,11 +130,6 @@ public class MechanicalCraftingCategory extends CreateRecipeCategory<CraftingRec
|
|||
matrixStack.popPose();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<? extends CraftingRecipe> getRecipeClass() {
|
||||
return CraftingRecipe.class;
|
||||
}
|
||||
|
||||
private static final class CrafterIngredientRenderer implements IIngredientRenderer<ItemStack> {
|
||||
|
||||
private final CraftingRecipe recipe;
|
||||
|
@ -189,7 +184,7 @@ public class MechanicalCraftingCategory extends CreateRecipeCategory<CraftingRec
|
|||
return ingredient.getTooltipLines(player, tooltipFlag);
|
||||
} catch (RuntimeException | LinkageError e) {
|
||||
List<Component> list = new ArrayList<>();
|
||||
TranslatableComponent crash = new TranslatableComponent("jei.tooltip.error.crash");
|
||||
MutableComponent crash = Components.translatable("jei.tooltip.error.crash");
|
||||
list.add(crash.withStyle(ChatFormatting.RED));
|
||||
return list;
|
||||
}
|
||||
|
|
|
@ -5,8 +5,6 @@ import java.util.List;
|
|||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.AllItems;
|
||||
import com.simibubi.create.compat.jei.category.animations.AnimatedMillstone;
|
||||
import com.simibubi.create.content.contraptions.components.crusher.AbstractCrushingRecipe;
|
||||
import com.simibubi.create.content.contraptions.processing.ProcessingOutput;
|
||||
|
@ -22,13 +20,8 @@ public class MillingCategory extends CreateRecipeCategory<AbstractCrushingRecipe
|
|||
|
||||
private final AnimatedMillstone millstone = new AnimatedMillstone();
|
||||
|
||||
public MillingCategory() {
|
||||
super(doubleItemIcon(AllBlocks.MILLSTONE.get(), AllItems.WHEAT_FLOUR.get()), emptyBackground(177, 53));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<? extends AbstractCrushingRecipe> getRecipeClass() {
|
||||
return AbstractCrushingRecipe.class;
|
||||
public MillingCategory(Info<AbstractCrushingRecipe> info) {
|
||||
super(info);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -3,16 +3,12 @@ package com.simibubi.create.compat.jei.category;
|
|||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.compat.jei.category.animations.AnimatedBlazeBurner;
|
||||
import com.simibubi.create.compat.jei.category.animations.AnimatedMixer;
|
||||
import com.simibubi.create.content.contraptions.processing.BasinRecipe;
|
||||
import com.simibubi.create.content.contraptions.processing.HeatCondition;
|
||||
|
||||
import mezz.jei.api.gui.ingredient.IRecipeSlotsView;
|
||||
import net.minecraft.world.item.Items;
|
||||
import net.minecraft.world.level.ItemLike;
|
||||
import net.minecraft.world.level.block.Blocks;
|
||||
|
||||
@ParametersAreNonnullByDefault
|
||||
public class MixingCategory extends BasinCategory {
|
||||
|
@ -22,24 +18,23 @@ public class MixingCategory extends BasinCategory {
|
|||
MixingType type;
|
||||
|
||||
enum MixingType {
|
||||
AUTO_SHAPELESS, MIXING, AUTO_BREWING
|
||||
MIXING, AUTO_SHAPELESS, AUTO_BREWING
|
||||
}
|
||||
|
||||
public static MixingCategory autoShapeless() {
|
||||
return new MixingCategory(MixingType.AUTO_SHAPELESS, Items.CRAFTING_TABLE, 85);
|
||||
public static MixingCategory standard(Info<BasinRecipe> info) {
|
||||
return new MixingCategory(info, MixingType.MIXING);
|
||||
}
|
||||
|
||||
public static MixingCategory standard() {
|
||||
return new MixingCategory(MixingType.MIXING, AllBlocks.BASIN.get(), 103);
|
||||
public static MixingCategory autoShapeless(Info<BasinRecipe> info) {
|
||||
return new MixingCategory(info, MixingType.AUTO_SHAPELESS);
|
||||
}
|
||||
|
||||
public static MixingCategory autoBrewing() {
|
||||
return new MixingCategory(MixingType.AUTO_BREWING, Blocks.BREWING_STAND, 103);
|
||||
public static MixingCategory autoBrewing(Info<BasinRecipe> info) {
|
||||
return new MixingCategory(info, MixingType.AUTO_BREWING);
|
||||
}
|
||||
|
||||
protected MixingCategory(MixingType type, ItemLike secondaryItem, int height) {
|
||||
super(type != MixingType.AUTO_SHAPELESS, doubleItemIcon(AllBlocks.MECHANICAL_MIXER.get(), secondaryItem),
|
||||
emptyBackground(177, height));
|
||||
protected MixingCategory(Info<BasinRecipe> info, MixingType type) {
|
||||
super(info, type != MixingType.AUTO_SHAPELESS);
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
|
|
|
@ -24,17 +24,12 @@ public class MysteriousItemConversionCategory extends CreateRecipeCategory<Conve
|
|||
static {
|
||||
RECIPES.add(ConversionRecipe.create(AllItems.EMPTY_BLAZE_BURNER.asStack(), AllBlocks.BLAZE_BURNER.asStack()));
|
||||
RECIPES.add(ConversionRecipe.create(AllBlocks.PECULIAR_BELL.asStack(), AllBlocks.HAUNTED_BELL.asStack()));
|
||||
RECIPES.add(ConversionRecipe.create(AllItems.CHROMATIC_COMPOUND.asStack(), AllItems.SHADOW_STEEL.asStack()));
|
||||
RECIPES.add(ConversionRecipe.create(AllItems.CHROMATIC_COMPOUND.asStack(), AllItems.REFINED_RADIANCE.asStack()));
|
||||
// RECIPES.add(ConversionRecipe.create(AllItems.CHROMATIC_COMPOUND.asStack(), AllItems.SHADOW_STEEL.asStack()));
|
||||
// RECIPES.add(ConversionRecipe.create(AllItems.CHROMATIC_COMPOUND.asStack(), AllItems.REFINED_RADIANCE.asStack()));
|
||||
}
|
||||
|
||||
public MysteriousItemConversionCategory() {
|
||||
super(itemIcon(AllItems.CHROMATIC_COMPOUND.get()), emptyBackground(177, 50));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<? extends ConversionRecipe> getRecipeClass() {
|
||||
return ConversionRecipe.class;
|
||||
public MysteriousItemConversionCategory(Info<ConversionRecipe> info) {
|
||||
super(info);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -3,7 +3,6 @@ package com.simibubi.create.compat.jei.category;
|
|||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.compat.jei.category.animations.AnimatedBlazeBurner;
|
||||
import com.simibubi.create.compat.jei.category.animations.AnimatedPress;
|
||||
import com.simibubi.create.content.contraptions.processing.BasinRecipe;
|
||||
|
@ -16,8 +15,6 @@ import mezz.jei.api.recipe.IFocusGroup;
|
|||
import mezz.jei.api.recipe.RecipeIngredientRole;
|
||||
import net.minecraft.core.NonNullList;
|
||||
import net.minecraft.world.item.crafting.Ingredient;
|
||||
import net.minecraft.world.level.ItemLike;
|
||||
import net.minecraft.world.level.block.Blocks;
|
||||
|
||||
@ParametersAreNonnullByDefault
|
||||
public class PackingCategory extends BasinCategory {
|
||||
|
@ -27,20 +24,19 @@ public class PackingCategory extends BasinCategory {
|
|||
private final PackingType type;
|
||||
|
||||
enum PackingType {
|
||||
AUTO_SQUARE, COMPACTING
|
||||
COMPACTING, AUTO_SQUARE
|
||||
}
|
||||
|
||||
public static PackingCategory standard() {
|
||||
return new PackingCategory(PackingType.COMPACTING, AllBlocks.BASIN.get(), 103);
|
||||
public static PackingCategory standard(Info<BasinRecipe> info) {
|
||||
return new PackingCategory(info, PackingType.COMPACTING);
|
||||
}
|
||||
|
||||
public static PackingCategory autoSquare() {
|
||||
return new PackingCategory(PackingType.AUTO_SQUARE, Blocks.CRAFTING_TABLE, 85);
|
||||
public static PackingCategory autoSquare(Info<BasinRecipe> info) {
|
||||
return new PackingCategory(info, PackingType.AUTO_SQUARE);
|
||||
}
|
||||
|
||||
protected PackingCategory(PackingType type, ItemLike icon, int height) {
|
||||
super(type != PackingType.AUTO_SQUARE, doubleItemIcon(AllBlocks.MECHANICAL_PRESS.get(), icon),
|
||||
emptyBackground(177, height));
|
||||
protected PackingCategory(Info<BasinRecipe> info, PackingType type) {
|
||||
super(info, type != PackingType.AUTO_SQUARE);
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
|
|
|
@ -23,16 +23,11 @@ public class PolishingCategory extends CreateRecipeCategory<SandPaperPolishingRe
|
|||
|
||||
private final ItemStack renderedSandpaper;
|
||||
|
||||
public PolishingCategory() {
|
||||
super(itemIcon(AllItems.SAND_PAPER.get()), emptyBackground(177, 55));
|
||||
public PolishingCategory(Info<SandPaperPolishingRecipe> info) {
|
||||
super(info);
|
||||
renderedSandpaper = AllItems.SAND_PAPER.asStack();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<? extends SandPaperPolishingRecipe> getRecipeClass() {
|
||||
return SandPaperPolishingRecipe.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setRecipe(IRecipeLayoutBuilder builder, SandPaperPolishingRecipe recipe, IFocusGroup focuses) {
|
||||
builder
|
||||
|
|
|
@ -5,8 +5,6 @@ import java.util.List;
|
|||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.AllItems;
|
||||
import com.simibubi.create.compat.jei.category.animations.AnimatedPress;
|
||||
import com.simibubi.create.content.contraptions.components.press.PressingRecipe;
|
||||
import com.simibubi.create.content.contraptions.processing.ProcessingOutput;
|
||||
|
@ -22,13 +20,8 @@ public class PressingCategory extends CreateRecipeCategory<PressingRecipe> {
|
|||
|
||||
private final AnimatedPress press = new AnimatedPress(false);
|
||||
|
||||
public PressingCategory() {
|
||||
super(doubleItemIcon(AllBlocks.MECHANICAL_PRESS.get(), AllItems.IRON_SHEET.get()), emptyBackground(177, 70));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<? extends PressingRecipe> getRecipeClass() {
|
||||
return PressingRecipe.class;
|
||||
public PressingCategory(Info<PressingRecipe> info) {
|
||||
super(info);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -16,7 +16,6 @@ import com.simibubi.create.foundation.gui.AllGuiTextures;
|
|||
import com.simibubi.create.foundation.utility.CreateLang;
|
||||
|
||||
import mezz.jei.api.gui.builder.IRecipeLayoutBuilder;
|
||||
import mezz.jei.api.gui.drawable.IDrawable;
|
||||
import mezz.jei.api.gui.ingredient.IRecipeSlotsView;
|
||||
import mezz.jei.api.recipe.IFocusGroup;
|
||||
import mezz.jei.api.recipe.RecipeIngredientRole;
|
||||
|
@ -28,12 +27,8 @@ public abstract class ProcessingViaFanCategory<T extends Recipe<?>> extends Crea
|
|||
|
||||
protected static final int SCALE = 24;
|
||||
|
||||
public ProcessingViaFanCategory(IDrawable icon) {
|
||||
this(178, icon);
|
||||
}
|
||||
|
||||
public ProcessingViaFanCategory(int width, IDrawable icon) {
|
||||
super(icon, emptyBackground(width, 72));
|
||||
public ProcessingViaFanCategory(Info<T> info) {
|
||||
super(info);
|
||||
}
|
||||
|
||||
public static Supplier<ItemStack> getFan(String name) {
|
||||
|
@ -95,8 +90,8 @@ public abstract class ProcessingViaFanCategory<T extends Recipe<?>> extends Crea
|
|||
|
||||
public static abstract class MultiOutput<T extends ProcessingRecipe<?>> extends ProcessingViaFanCategory<T> {
|
||||
|
||||
public MultiOutput(IDrawable icon) {
|
||||
super(icon);
|
||||
public MultiOutput(Info<T> info) {
|
||||
super(info);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -5,7 +5,6 @@ import java.util.List;
|
|||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.compat.jei.category.animations.AnimatedSaw;
|
||||
import com.simibubi.create.content.contraptions.components.saw.CuttingRecipe;
|
||||
import com.simibubi.create.content.contraptions.processing.ProcessingOutput;
|
||||
|
@ -15,20 +14,14 @@ import mezz.jei.api.gui.builder.IRecipeLayoutBuilder;
|
|||
import mezz.jei.api.gui.ingredient.IRecipeSlotsView;
|
||||
import mezz.jei.api.recipe.IFocusGroup;
|
||||
import mezz.jei.api.recipe.RecipeIngredientRole;
|
||||
import net.minecraft.world.item.Items;
|
||||
|
||||
@ParametersAreNonnullByDefault
|
||||
public class SawingCategory extends CreateRecipeCategory<CuttingRecipe> {
|
||||
|
||||
private final AnimatedSaw saw = new AnimatedSaw();
|
||||
|
||||
public SawingCategory() {
|
||||
super(doubleItemIcon(AllBlocks.MECHANICAL_SAW.get(), Items.OAK_LOG), emptyBackground(177, 70));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<? extends CuttingRecipe> getRecipeClass() {
|
||||
return CuttingRecipe.class;
|
||||
public SawingCategory(Info<CuttingRecipe> info) {
|
||||
super(info);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -10,8 +10,6 @@ import javax.annotation.ParametersAreNonnullByDefault;
|
|||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.AllItems;
|
||||
import com.simibubi.create.compat.jei.EmptyBackground;
|
||||
import com.simibubi.create.compat.jei.category.sequencedAssembly.SequencedAssemblySubCategory;
|
||||
import com.simibubi.create.content.contraptions.itemAssembly.SequencedAssemblyRecipe;
|
||||
import com.simibubi.create.content.contraptions.itemAssembly.SequencedRecipe;
|
||||
|
@ -23,12 +21,13 @@ import mezz.jei.api.gui.builder.IRecipeLayoutBuilder;
|
|||
import mezz.jei.api.gui.ingredient.IRecipeSlotsView;
|
||||
import mezz.jei.api.recipe.IFocusGroup;
|
||||
import mezz.jei.api.recipe.RecipeIngredientRole;
|
||||
import net.createmod.catnip.platform.CatnipServices;
|
||||
import net.createmod.catnip.utility.lang.Components;
|
||||
import net.minecraft.ChatFormatting;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.Font;
|
||||
import net.minecraft.network.chat.Component;
|
||||
import net.minecraft.network.chat.TextComponent;
|
||||
import net.minecraft.network.chat.TranslatableComponent;
|
||||
import net.minecraft.network.chat.MutableComponent;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
|
||||
@ParametersAreNonnullByDefault
|
||||
|
@ -36,13 +35,8 @@ public class SequencedAssemblyCategory extends CreateRecipeCategory<SequencedAss
|
|||
|
||||
Map<ResourceLocation, SequencedAssemblySubCategory> subCategories = new HashMap<>();
|
||||
|
||||
public SequencedAssemblyCategory() {
|
||||
super(itemIcon(AllItems.PRECISION_MECHANISM.get()), new EmptyBackground(180, 115));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<? extends SequencedAssemblyRecipe> getRecipeClass() {
|
||||
return SequencedAssemblyRecipe.class;
|
||||
public SequencedAssemblyCategory(Info<SequencedAssemblyRecipe> info) {
|
||||
super(info);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -63,8 +57,7 @@ public class SequencedAssemblyCategory extends CreateRecipeCategory<SequencedAss
|
|||
return;
|
||||
|
||||
float chance = recipe.getOutputChance();
|
||||
tooltip.add(1, CreateLang.translateDirect("recipe.processing.chance", chance < 0.01 ? "<1" : (int) (chance * 100))
|
||||
.withStyle(ChatFormatting.GOLD));
|
||||
tooltip.add(1, chanceComponent(chance));
|
||||
});
|
||||
|
||||
int width = 0;
|
||||
|
@ -82,9 +75,8 @@ public class SequencedAssemblyCategory extends CreateRecipeCategory<SequencedAss
|
|||
}
|
||||
|
||||
private SequencedAssemblySubCategory getSubCategory(SequencedRecipe<?> sequencedRecipe) {
|
||||
return subCategories.computeIfAbsent(sequencedRecipe.getRecipe()
|
||||
.getSerializer()
|
||||
.getRegistryName(),
|
||||
return subCategories.computeIfAbsent(CatnipServices.REGISTRIES.getKeyOrThrow(sequencedRecipe.getRecipe()
|
||||
.getSerializer()),
|
||||
rl -> sequencedRecipe.getAsAssemblyRecipe()
|
||||
.getJEISubCategory()
|
||||
.get()
|
||||
|
@ -107,7 +99,7 @@ public class SequencedAssemblyCategory extends CreateRecipeCategory<SequencedAss
|
|||
AllGuiTextures.JEI_LONG_ARROW.render(matrixStack, 52 + xOffset, 79);
|
||||
if (!singleOutput) {
|
||||
AllGuiTextures.JEI_CHANCE_SLOT.render(matrixStack, 150 + xOffset, 75);
|
||||
Component component = new TextComponent("?").withStyle(ChatFormatting.BOLD);
|
||||
Component component = Components.literal("?").withStyle(ChatFormatting.BOLD);
|
||||
font.drawShadow(matrixStack, component, font.width(component) / -2 + 8 + 150 + xOffset, 2 + 78,
|
||||
0xefefef);
|
||||
}
|
||||
|
@ -116,7 +108,7 @@ public class SequencedAssemblyCategory extends CreateRecipeCategory<SequencedAss
|
|||
matrixStack.pushPose();
|
||||
matrixStack.translate(15, 9, 0);
|
||||
AllIcons.I_SEQ_REPEAT.render(matrixStack, 50 + xOffset, 75);
|
||||
Component repeat = new TextComponent("x" + recipe.getLoops());
|
||||
Component repeat = Components.literal("x" + recipe.getLoops());
|
||||
font.draw(matrixStack, repeat, 66 + xOffset, 80, 0x888888);
|
||||
matrixStack.popPose();
|
||||
}
|
||||
|
@ -136,7 +128,7 @@ public class SequencedAssemblyCategory extends CreateRecipeCategory<SequencedAss
|
|||
SequencedRecipe<?> sequencedRecipe = sequence.get(i);
|
||||
SequencedAssemblySubCategory subCategory = getSubCategory(sequencedRecipe);
|
||||
int subWidth = subCategory.getWidth();
|
||||
TextComponent component = new TextComponent("" + romans[Math.min(i, 6)]);
|
||||
MutableComponent component = Components.literal("" + romans[Math.min(i, 6)]);
|
||||
font.draw(matrixStack, component, font.width(component) / -2 + subWidth / 2, 2, 0x888888);
|
||||
subCategory.draw(sequencedRecipe, matrixStack, mouseX, mouseY, i);
|
||||
matrixStack.translate(subWidth + margin, 0, 0);
|
||||
|
@ -151,7 +143,7 @@ public class SequencedAssemblyCategory extends CreateRecipeCategory<SequencedAss
|
|||
public List<Component> getTooltipStrings(SequencedAssemblyRecipe recipe, IRecipeSlotsView iRecipeSlotsView, double mouseX, double mouseY) {
|
||||
List<Component> tooltip = new ArrayList<>();
|
||||
|
||||
TranslatableComponent junk = CreateLang.translateDirect("recipe.assembly.junk");
|
||||
MutableComponent junk = CreateLang.translateDirect("recipe.assembly.junk");
|
||||
|
||||
boolean singleOutput = recipe.getOutputChance() == 1;
|
||||
boolean willRepeat = recipe.getLoops() > 1;
|
||||
|
@ -164,8 +156,7 @@ public class SequencedAssemblyCategory extends CreateRecipeCategory<SequencedAss
|
|||
if (!singleOutput && mouseX >= minX && mouseX < maxX && mouseY >= minY && mouseY < maxY) {
|
||||
float chance = recipe.getOutputChance();
|
||||
tooltip.add(junk);
|
||||
tooltip.add(CreateLang.translateDirect("recipe.processing.chance", chance < 0.01 ? "<1" : 100 - (int) (chance * 100))
|
||||
.withStyle(ChatFormatting.GOLD));
|
||||
tooltip.add(chanceComponent(1 - chance));
|
||||
return tooltip;
|
||||
}
|
||||
|
||||
|
@ -205,4 +196,10 @@ public class SequencedAssemblyCategory extends CreateRecipeCategory<SequencedAss
|
|||
|
||||
return tooltip;
|
||||
}
|
||||
|
||||
protected MutableComponent chanceComponent(float chance) {
|
||||
String number = chance < 0.01 ? "<1" : chance > 0.99 ? ">99" : String.valueOf(Math.round(chance * 100));
|
||||
return CreateLang.translateDirect("recipe.processing.chance", number)
|
||||
.withStyle(ChatFormatting.GOLD);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,7 +6,6 @@ import java.util.function.Consumer;
|
|||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.Create;
|
||||
import com.simibubi.create.compat.jei.category.animations.AnimatedSpout;
|
||||
import com.simibubi.create.content.contraptions.fluids.actors.FillingRecipe;
|
||||
|
@ -17,11 +16,13 @@ import com.simibubi.create.foundation.fluid.FluidIngredient;
|
|||
import com.simibubi.create.foundation.gui.AllGuiTextures;
|
||||
|
||||
import mezz.jei.api.constants.VanillaTypes;
|
||||
import mezz.jei.api.forge.ForgeTypes;
|
||||
import mezz.jei.api.gui.builder.IRecipeLayoutBuilder;
|
||||
import mezz.jei.api.gui.ingredient.IRecipeSlotsView;
|
||||
import mezz.jei.api.recipe.IFocusGroup;
|
||||
import mezz.jei.api.recipe.RecipeIngredientRole;
|
||||
import mezz.jei.api.runtime.IIngredientManager;
|
||||
import net.createmod.catnip.platform.CatnipServices;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.Items;
|
||||
|
@ -36,16 +37,15 @@ import net.minecraftforge.fluids.capability.IFluidHandlerItem;
|
|||
@ParametersAreNonnullByDefault
|
||||
public class SpoutCategory extends CreateRecipeCategory<FillingRecipe> {
|
||||
|
||||
private final AnimatedSpout spout;
|
||||
private final AnimatedSpout spout = new AnimatedSpout();
|
||||
|
||||
public SpoutCategory() {
|
||||
super(doubleItemIcon(AllBlocks.SPOUT.get(), Items.WATER_BUCKET), emptyBackground(177, 70));
|
||||
spout = new AnimatedSpout();
|
||||
public SpoutCategory(Info<FillingRecipe> info) {
|
||||
super(info);
|
||||
}
|
||||
|
||||
public static void consumeRecipes(Consumer<FillingRecipe> consumer, IIngredientManager ingredientManager) {
|
||||
Collection<FluidStack> fluidStacks = ingredientManager.getAllIngredients(VanillaTypes.FLUID);
|
||||
for (ItemStack stack : ingredientManager.getAllIngredients(VanillaTypes.ITEM)) {
|
||||
Collection<FluidStack> fluidStacks = ingredientManager.getAllIngredients(ForgeTypes.FLUID_STACK);
|
||||
for (ItemStack stack : ingredientManager.getAllIngredients(VanillaTypes.ITEM_STACK)) {
|
||||
if (stack.getItem() instanceof PotionItem) {
|
||||
FluidStack fluidFromPotionItem = PotionFluidHandler.getFluidFromPotionItem(stack);
|
||||
Ingredient bottle = Ingredient.of(Items.GLASS_BOTTLE);
|
||||
|
@ -78,10 +78,8 @@ public class SpoutCategory extends CreateRecipeCategory<FillingRecipe> {
|
|||
return;
|
||||
|
||||
Ingredient bucket = Ingredient.of(stack);
|
||||
ResourceLocation itemName = stack.getItem()
|
||||
.getRegistryName();
|
||||
ResourceLocation fluidName = fluidCopy.getFluid()
|
||||
.getRegistryName();
|
||||
ResourceLocation itemName = CatnipServices.REGISTRIES.getKeyOrThrow(stack.getItem());
|
||||
ResourceLocation fluidName = CatnipServices.REGISTRIES.getKeyOrThrow(fluidCopy.getFluid());
|
||||
consumer.accept(new ProcessingRecipeBuilder<>(FillingRecipe::new,
|
||||
Create.asResource("fill_" + itemName.getNamespace() + "_" + itemName.getPath()
|
||||
+ "_with_" + fluidName.getNamespace() + "_" + fluidName.getPath()))
|
||||
|
@ -94,11 +92,6 @@ public class SpoutCategory extends CreateRecipeCategory<FillingRecipe> {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<? extends FillingRecipe> getRecipeClass() {
|
||||
return FillingRecipe.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setRecipe(IRecipeLayoutBuilder builder, FillingRecipe recipe, IFocusGroup focuses) {
|
||||
builder
|
||||
|
@ -108,7 +101,7 @@ public class SpoutCategory extends CreateRecipeCategory<FillingRecipe> {
|
|||
builder
|
||||
.addSlot(RecipeIngredientRole.INPUT, 27, 32)
|
||||
.setBackground(getRenderedSlot(), -1, -1)
|
||||
.addIngredients(VanillaTypes.FLUID, withImprovedVisibility(recipe.getRequiredFluid().getMatchingFluidStacks()))
|
||||
.addIngredients(ForgeTypes.FLUID_STACK, withImprovedVisibility(recipe.getRequiredFluid().getMatchingFluidStacks()))
|
||||
.addTooltipCallback(addFluidTooltip(recipe.getRequiredFluid().getRequiredAmount()));
|
||||
builder
|
||||
.addSlot(RecipeIngredientRole.OUTPUT, 132, 51)
|
||||
|
|
|
@ -11,7 +11,7 @@ import com.simibubi.create.content.contraptions.itemAssembly.SequencedRecipe;
|
|||
import com.simibubi.create.foundation.fluid.FluidIngredient;
|
||||
import com.simibubi.create.foundation.utility.CreateLang;
|
||||
|
||||
import mezz.jei.api.constants.VanillaTypes;
|
||||
import mezz.jei.api.forge.ForgeTypes;
|
||||
import mezz.jei.api.gui.builder.IRecipeLayoutBuilder;
|
||||
import mezz.jei.api.gui.builder.IRecipeSlotBuilder;
|
||||
import mezz.jei.api.recipe.IFocusGroup;
|
||||
|
@ -73,7 +73,7 @@ public abstract class SequencedAssemblySubCategory {
|
|||
builder
|
||||
.addSlot(RecipeIngredientRole.INPUT, x + 4, 15)
|
||||
.setBackground(CreateRecipeCategory.getRenderedSlot(), -1, -1)
|
||||
.addIngredients(VanillaTypes.FLUID, CreateRecipeCategory.withImprovedVisibility(fluidIngredient.getMatchingFluidStacks()))
|
||||
.addIngredients(ForgeTypes.FLUID_STACK, CreateRecipeCategory.withImprovedVisibility(fluidIngredient.getMatchingFluidStacks()))
|
||||
.addTooltipCallback(CreateRecipeCategory.addFluidTooltip(fluidIngredient.getRequiredAmount()));
|
||||
}
|
||||
|
||||
|
|
|
@ -6,6 +6,7 @@ import com.simibubi.create.content.contraptions.fluids.actors.SpoutTileEntity;
|
|||
import com.simibubi.create.foundation.config.AllConfigs;
|
||||
import com.simibubi.create.foundation.fluid.FluidHelper;
|
||||
|
||||
import net.createmod.catnip.platform.CatnipServices;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
|
@ -40,8 +41,7 @@ public class SpoutCasting extends BlockSpoutingBehaviour {
|
|||
if (handler.getTanks() != 1)
|
||||
return 0;
|
||||
|
||||
ResourceLocation registryName = te.getType()
|
||||
.getRegistryName();
|
||||
ResourceLocation registryName = CatnipServices.REGISTRIES.getKeyOrThrow(te.getType());
|
||||
if (!registryName.equals(TABLE) && !registryName.equals(BASIN))
|
||||
return 0;
|
||||
if (!handler.isFluidValid(0, availableFluid))
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue