diff --git a/.gitignore b/.gitignore
index 0123b6707..d785bb5c1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,6 +8,7 @@ gradle-app.setting
## IntelliJ IDEA
.idea/
+out/
*.iml
*.iws
*.ipr
diff --git a/README.md b/README.md
index a7fc50bd6..5266e021c 100644
--- a/README.md
+++ b/README.md
@@ -1,10 +1,10 @@
-
-Create
-
+
+Create
+
-
-
+
+
Welcome to Create, a mod offering a variety of tools and blocks for Building, Decoration and Aesthetic Automation.
@@ -13,7 +13,7 @@ The added elements of tech are designed to leave as many design choices to the p
Check out the wiki and in-game Tool-tips for further info on how to use these features, and stay tuned for an ever-growing selection of possibilities for Creative and Survival Minecraft.
-[](https://github.com/simibubi/Create/issues "Report Issues")
+[](https://github.com/Creators-of-Create/Create/issues "Report Issues")
[](https://www.youtube.com/playlist?list=PLyADkcfPLU8ywCXZPaDbQ_JZJL0CGDN5Z "Watch Videos")
[](https://discord.gg/hmaD7Se "Feedback & Help")
[](https://www.patreon.com/simibubi "Support Us")
diff --git a/build.gradle b/build.gradle
index ff291cd2a..ef226ded6 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,23 +1,24 @@
buildscript {
repositories {
- maven { url = 'https://files.minecraftforge.net/maven' }
- jcenter()
+ maven { url = 'https://maven.minecraftforge.net' }
mavenCentral()
- maven { url='https://repo.spongepowered.org/repository/maven-public/' }
+ jcenter()
+ maven { url = 'https://repo.spongepowered.org/repository/maven-public/' }
}
dependencies {
- classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '3.+', changing: true
- classpath group: 'org.spongepowered', name: 'mixingradle', version: '0.7-SNAPSHOT'
+ classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: "${forgegradle_version}", changing: true
+ classpath group: 'org.spongepowered', name: 'mixingradle', version: "${mixingradle_version}"
}
}
plugins {
- id 'com.github.johnrengelman.shadow' version '5.2.0'
- id 'com.matthewprenger.cursegradle' version '1.4.0'
+ id 'com.github.johnrengelman.shadow' version "${shadow_version}"
+ id 'com.matthewprenger.cursegradle' version "${cursegradle_version}"
}
apply plugin: 'net.minecraftforge.gradle'
// Only edit below this line, the above code adds and enables the necessary things for Forge to be setup.
apply plugin: 'eclipse'
apply plugin: 'maven-publish'
+apply plugin: 'org.spongepowered.mixin'
boolean dev = System.getenv('RELEASE') == null || System.getenv('RELEASE').equals('false');
@@ -32,15 +33,16 @@ sourceCompatibility = targetCompatibility = compileJava.sourceCompatibility = co
minecraft {
mappings channel: 'snapshot', version: '20200920-mixed-1.16.3'
- accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg')
+ accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg')
runs {
- client {
+ client {
workingDirectory project.file('run')
arg '-mixin.config=create.mixins.json'
//jvmArgs '-XX:+UnlockCommercialFeatures' // uncomment for profiling
property 'forge.logging.console.level', 'info'
property 'fml.earlyprogresswindow', 'false'
+ property 'mixin.env.disableRefMap', 'true'
mods {
create {
source sourceSets.main
@@ -82,30 +84,37 @@ 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)
- name "Progwml6 maven"
- url "https://dvs1.progwml6.com/files/maven/"
+ name = "Progwml6 maven"
+ url = "https://dvs1.progwml6.com/files/maven/"
}
/*
maven {
// location of a maven mirror for JEI files, as a fallback
- name "ModMaven"
- url "https://modmaven.k-4u.nl"
+ name = "ModMaven"
+ url = "https://modmaven.k-4u.nl"
}*/
maven {
//location of the maven for vazkii's mods
- name "blamejared"
- url "http://maven.blamejared.com/"
+ name = "blamejared"
+ url = "http://maven.blamejared.com/"
}
maven {
//location of the maven for mixed mappings and registrate
- name = "tterrag maven"
- url = "https://maven.tterrag.com/"
+ name "tterrag maven"
+ url "https://maven.tterrag.com/"
}
maven {
- url = "https://www.cursemaven.com"
+ url "https://www.cursemaven.com"
+ content {
+ includeGroup "curse.maven"
+ }
}
maven {
//location of the maven for dynamic trees
@@ -120,14 +129,20 @@ configurations {
dependencies {
minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}"
- def registrate = "com.tterrag.registrate:Registrate:MC1.16.2-${registrate_version}"
+ def registrate = "com.tterrag.registrate:Registrate:MC1.16.5-${registrate_version}"
implementation fg.deobf(registrate)
shade registrate
// compile against the JEI API but do not include it at runtime
- compileOnly fg.deobf("mezz.jei:jei-1.16.4:${jei_version}:api")
+ compileOnly fg.deobf("mezz.jei:jei-1.16.5:${jei_version}:api")
// at runtime, use the full JEI jar
- runtimeOnly fg.deobf("mezz.jei:jei-1.16.4:${jei_version}")
+ runtimeOnly fg.deobf("mezz.jei:jei-1.16.5:${jei_version}")
+
+ if (findProject(':Flywheel') != null) {
+ compile project(':Flywheel') // jozu: I use a gradle workspace with both projects
+ } else {
+ compile fg.deobf("com.jozufozu.flywheel:Flywheel:1.16-0.0.2.8")
+ }
// implementation fg.deobf("curse.maven:druidcraft-340991:3101903")
implementation fg.deobf("com.ferreusveritas.dynamictrees:DynamicTrees-1.16.5:0.10.0-Beta12.1")
@@ -136,10 +151,10 @@ dependencies {
// i'll leave this here commented for easier testing
//runtimeOnly fg.deobf("vazkii.arl:AutoRegLib:1.4-35.69")
//runtimeOnly fg.deobf("vazkii.quark:Quark:r2.0-212.984")
- // runtimeOnly fg.deobf("slimeknights.mantle:Mantle:1.16.3-1.6.40")
- // runtimeOnly fg.deobf("slimeknights.tconstruct:TConstruct:1.16.3-3.0.1.24")
+ //runtimeOnly fg.deobf("slimeknights.mantle:Mantle:1.16.5-1.6.103")
+ //runtimeOnly fg.deobf("slimeknights.tconstruct:TConstruct:1.16.5-3.0.3.168")
- annotationProcessor 'org.spongepowered:mixin:0.8:processor'
+ annotationProcessor 'org.spongepowered:mixin:0.8.2:processor'
}
jar {
@@ -218,13 +233,7 @@ curseforge {
displayName = "Create - ${version}"
}
relations {
- optionalDependency 'jei'
+ optionalDependency 'jei'
}
}
}
-
-apply plugin: 'org.spongepowered.mixin'
-
-mixin {
- add sourceSets.main, "create.refmap.json"
-}
diff --git a/gradle.properties b/gradle.properties
index 6f4a1d878..4798b9ca7 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1,20 +1,26 @@
# Sets default memory used for gradle commands. Can be overridden by user or command line properties.
# This is required to provide enough memory for the Minecraft decompilation process.
-org.gradle.jvmargs=-Xmx3G
-org.gradle.daemon=false
+org.gradle.jvmargs = -Xmx3G
+org.gradle.daemon = false
# mod version info
-mod_version=0.3.1c
-minecraft_version=1.16.5
-forge_version=36.0.42
+mod_version = 0.3.2
+minecraft_version = 1.16.5
+forge_version = 36.1.32
+
+# build dependency versions
+forgegradle_version = 3.+
+mixingradle_version = 0.7-SNAPSHOT
+shadow_version = 5.2.0
+cursegradle_version = 1.4.0
# dependency versions
-registrate_version=1.0.0-beta.33
-jei_version=7.6.1.71
+registrate_version = 1.0.4
+jei_version = 7.7.0.106
# curseforge information
-projectId=328085
-curse_type=beta
+projectId = 328085
+curse_type = beta
# github information
-github_project=Creators-of-Create/Create
+github_project = Creators-of-Create/Create
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
index 7a3265ee9..5c2d1cf01 100644
Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index a055b814c..5028f28f8 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.3-bin.zip
diff --git a/gradlew b/gradlew
index cccdd3d51..83f2acfdc 100755
--- a/gradlew
+++ b/gradlew
@@ -1,5 +1,21 @@
#!/usr/bin/env sh
+#
+# Copyright 2015 the original author or authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
##############################################################################
##
## Gradle start up script for UN*X
@@ -28,7 +44,7 @@ APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-DEFAULT_JVM_OPTS=""
+DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
@@ -109,8 +125,8 @@ if $darwin; then
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
fi
-# For Cygwin, switch paths to Windows format before running java
-if $cygwin ; then
+# For Cygwin or MSYS, switch paths to Windows format before running java
+if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
JAVACMD=`cygpath --unix "$JAVACMD"`
diff --git a/gradlew.bat b/gradlew.bat
index f9553162f..9618d8d96 100644
--- a/gradlew.bat
+++ b/gradlew.bat
@@ -1,3 +1,19 @@
+@rem
+@rem Copyright 2015 the original author or authors.
+@rem
+@rem Licensed under the Apache License, Version 2.0 (the "License");
+@rem you may not use this file except in compliance with the License.
+@rem You may obtain a copy of the License at
+@rem
+@rem https://www.apache.org/licenses/LICENSE-2.0
+@rem
+@rem Unless required by applicable law or agreed to in writing, software
+@rem distributed under the License is distributed on an "AS IS" BASIS,
+@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@rem See the License for the specific language governing permissions and
+@rem limitations under the License.
+@rem
+
@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@@ -14,7 +30,7 @@ set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-set DEFAULT_JVM_OPTS=
+set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
diff --git a/src/generated/resources/.cache/cache b/src/generated/resources/.cache/cache
index 7f62cb3f8..41feaf092 100644
--- a/src/generated/resources/.cache/cache
+++ b/src/generated/resources/.cache/cache
@@ -407,21 +407,21 @@ a3a11524cd3515fc01d905767b4b7ea782adaf03 assets/create/blockstates/yellow_seat.j
6801fa1f466f172700e573e5b8ee8ee5f9ca4583 assets/create/blockstates/yellow_valve_handle.json
7f39521b211441f5c3e06d60c5978cebe16cacfb assets/create/blockstates/zinc_block.json
b7181bcd8182b2f17088e5aa881f374c9c65470c assets/create/blockstates/zinc_ore.json
-a6d814f94926d88764c38862cc4ece9c367e023b assets/create/lang/en_ud.json
-d1838140c8383ee4537db90eb8f657d0c268fe91 assets/create/lang/en_us.json
-9d6f26ca7b59d3707ce996e513358cc9b873cad1 assets/create/lang/unfinished/de_de.json
-7fafb7565349aa52f4ccb829d4886a179eb547dc assets/create/lang/unfinished/es_es.json
-822b912d290d40c5f02011393af44bf37684f9b4 assets/create/lang/unfinished/es_mx.json
-502d761465a0de7aeb15acec4147b8ec8bee92cf assets/create/lang/unfinished/fr_fr.json
-dac15c17578fb37bbdb874cee5a0a078110b7481 assets/create/lang/unfinished/it_it.json
-fd270c9c8bc46d4df21aa04ecc7bf059011e4b3e assets/create/lang/unfinished/ja_jp.json
-a5b002e047a2f509a8d35b9e638627f970b4810e assets/create/lang/unfinished/ko_kr.json
-50f65aaba8c4fec5404ab1fc40f74b4970a55edd assets/create/lang/unfinished/nl_nl.json
-ff61e567f15ded6ba127522af03860232069cdd2 assets/create/lang/unfinished/pl_pl.json
-a7a28fb3896bc38e00f746e650433160f5b53c90 assets/create/lang/unfinished/pt_br.json
-ffa1901b392719634403048419d29b268704bd10 assets/create/lang/unfinished/ru_ru.json
-38b843c5232167876b3678328b47ec95f30cf69f assets/create/lang/unfinished/zh_cn.json
-b806d1e6fe9ebee27f417a3c4d6c818124ee4cde assets/create/lang/unfinished/zh_tw.json
+c71f5246d2cb8e9913d1552d23fcc82c43cde7a0 assets/create/lang/en_ud.json
+0352f128a214a76365bae7365d7904536ffccbba assets/create/lang/en_us.json
+d2fe2b5beb7c4b7d05842dc45da6630dd1f0611f assets/create/lang/unfinished/de_de.json
+a486966e82368a85f4c6c5c6b4fd17b0b6e260b4 assets/create/lang/unfinished/es_es.json
+94c05715d19c5ceced368c4aa4307b5184eb9d0f assets/create/lang/unfinished/es_mx.json
+44fe3efbe33085dc4248ba7ee94e35065aab5cca assets/create/lang/unfinished/fr_fr.json
+c53beea261e7a64bdbe397481a2010bb166b10ce assets/create/lang/unfinished/it_it.json
+2d75e6eb0c1683ef4856acf86b4f1e49d9e7b9b2 assets/create/lang/unfinished/ja_jp.json
+a0d8634f363ee47f3e5ac568d5b63cc6e25a4267 assets/create/lang/unfinished/ko_kr.json
+75e6dcc51ef14e39fd7ec1a87a0bbc945ef12637 assets/create/lang/unfinished/nl_nl.json
+93b883e54947c1a1869984bc4e764c34b7055998 assets/create/lang/unfinished/pl_pl.json
+fc093fa80821bfc4076261dcf1ec56c21edc2262 assets/create/lang/unfinished/pt_br.json
+c5b4013e8758f6bfde86eb2d25ec920b5d25c7d1 assets/create/lang/unfinished/ru_ru.json
+5bb493fd0d4a05d4b83db99eacea460cb96f8f1a assets/create/lang/unfinished/zh_cn.json
+9c049cc88deb8b319c6de28caa417eea9baa7f79 assets/create/lang/unfinished/zh_tw.json
487a511a01b2a4531fb672f917922312db78f958 assets/create/models/block/acacia_window.json
b48060cba1a382f373a05bf0039054053eccf076 assets/create/models/block/acacia_window_pane_noside.json
3066db1bf03cffa1a9c7fbacf47ae586632f4eb3 assets/create/models/block/acacia_window_pane_noside_alt.json
@@ -1273,6 +1273,7 @@ d7cb2f7bac8fae893fc5179af8140786a908f3f5 assets/create/models/item/copper_shingl
f56bf22324faf8958eaef4d94b958f1108d52e5a assets/create/models/item/copper_tiles.json
5583368909c319acfcf0f7a419bedf23272fe613 assets/create/models/item/copper_valve_handle.json
4e253e7c0626dfd76e2d39786ce1a34e0baaa62d assets/create/models/item/crafter_slot_cover.json
+1f947dafff30da701b7675f5b026ccab3129b079 assets/create/models/item/crafting_blueprint.json
7b333dea353afaa27b182aedc647c9e9e34e92ef assets/create/models/item/creative_crate.json
f7d06c52c3ca8c22ad67f5741471f06ac22e7fcb assets/create/models/item/creative_fluid_tank.json
5b39403f6c81f05e566b621b62e267267de47c41 assets/create/models/item/creative_motor.json
@@ -1452,6 +1453,7 @@ ebdf23b99b7895e347c29057c8070a6e16e56beb assets/create/models/item/limestone_cob
288da8b29a4e9d0d0b694567a61b5a816a2859b8 assets/create/models/item/limestone_cobblestone_wall.json
8065de871ad2fbaed711735561b8ed91a2ce0004 assets/create/models/item/limestone_pillar.json
d245aa4994ff197b1ffeb7980d05f96bd20cdeb3 assets/create/models/item/linear_chassis.json
+2866bff509b060cd3ee99b4eef25a4e1e4639703 assets/create/models/item/linked_controller.json
d912be3e87f2beaa8e22747f867739139667241b assets/create/models/item/magenta_seat.json
928c5e3747fb758d2610475258cc168b0d4ee7b6 assets/create/models/item/magenta_valve_handle.json
932facf4bf93b471e8630f4132a4284a9f4d0d39 assets/create/models/item/mechanical_arm.json
@@ -1651,7 +1653,7 @@ d080b1b25e5bc8baf5aee68691b08c7f12ece3b0 assets/create/models/item/windmill_bear
866fbb0ce2878a73e0440d1caf6534c8bd7c384f assets/create/models/item/zinc_ingot.json
a80fb25a0b655e76be986b5b49fcb0f03461a1ab assets/create/models/item/zinc_nugget.json
b1689617190c05ef34bd18456b0c7ae09bb3210f assets/create/models/item/zinc_ore.json
-096382a4c025b5ffdde9c496ee9da0d5345fbe17 assets/create/sounds.json
+6490fa0587db770cf7c794b47f3bcd2b691f4226 assets/create/sounds.json
0f1b4b980afba9bf2caf583b88e261bba8b10313 data/create/advancements/aesthetics.json
187921fa131b06721bfaf63f2623a28c141aae9a data/create/advancements/andesite_alloy.json
0ea2db7173b5be28b289ea7c9a6a0cf5805c60c7 data/create/advancements/andesite_casing.json
@@ -1712,6 +1714,7 @@ c9c4060ed207226b69fada2d61e01a97d7077eae data/create/advancements/nixie_tube.jso
4b621e5bb48fbb120853ec02c05c915d86bd6dd8 data/create/advancements/pipe_spill.json
72025d8bf73ab8096c29f12d0c8d9a346f09cd64 data/create/advancements/polished_rose_quartz.json
62d29ec01eff5d21968636a0479361ecdc11ae30 data/create/advancements/press.json
+f80479b50e248ee8d6d1abb7d08866cf711ac2b2 data/create/advancements/recipes/building_blocks/andesite.json
5012e9d559439d0d62d0b34c2e39de048e8c7699 data/create/advancements/recipes/building_blocks/blasting/aluminum_ingot_compat_silents_mechanisms.json
2e253226c408dffb9dfb828b846f70ebd1cfb16e data/create/advancements/recipes/building_blocks/blasting/ingot_aluminum_compat_immersiveengineering.json
3f022f89aeb5034f2292ca71daa9f311e8af40ff data/create/advancements/recipes/building_blocks/blasting/ingot_lead_compat_immersiveengineering.json
@@ -1738,6 +1741,8 @@ a61045a27757950d96fee77768bfd96f935f98b2 data/create/advancements/recipes/buildi
a75f1162ac89cd50a1ca8e525dd059fb359a6550 data/create/advancements/recipes/building_blocks/blasting/tin_ingot_compat_silents_mechanisms.json
230c3da350aa45524712d5dd28b84aa59b2883e9 data/create/advancements/recipes/building_blocks/blasting/tin_ingot_compat_thermal.json
38410d4b3bbbf33c1c8913735abd1b3d71fb3829 data/create/advancements/recipes/building_blocks/blasting/uranium_ingot_compat_silents_mechanisms.json
+8850272a97541e331482531c52cc94197fe808be data/create/advancements/recipes/building_blocks/diorite.json
+0abb698cabe5f71675773e5eeadeccb509f1cb90 data/create/advancements/recipes/building_blocks/granite.json
22067545c460d95831d9dddf361da9becac3396e data/create/advancements/recipes/building_blocks/smelting/aluminum_ingot_compat_silents_mechanisms.json
e525d8eda8d0aac6791ae935ed4f3f75cc521460 data/create/advancements/recipes/building_blocks/smelting/glass_from_framed_glass.json
295c5a61d6f175a65d25e19cbd7ca90d3b4a93b2 data/create/advancements/recipes/building_blocks/smelting/glass_from_horizontal_framed_glass.json
@@ -1774,9 +1779,11 @@ c368cadffa9177fefb9e92ff4453b40bc8dd670d data/create/advancements/recipes/create
8fffce2a5c5dd88d52e3b006fa92fb18cf2f1571 data/create/advancements/recipes/create.base/blasting/zinc_ingot_from_crushed.json
4bb60ef5e186f12a9d52e61319db8c78300c64ab data/create/advancements/recipes/create.base/blasting/zinc_ingot_from_ore.json
d1d8cf6e1c95b7d99bf873fa6fee033103f995fd data/create/advancements/recipes/create.base/crafting/appliances/copper_backtank.json
+f2dc28c600011e6e8e515cb4d56118b1bd45b743 data/create/advancements/recipes/create.base/crafting/appliances/crafting_blueprint.json
46c04e685ab345a80598176f7ac68a044a76cd76 data/create/advancements/recipes/create.base/crafting/appliances/diving_boots.json
5f06b7dcf2af11f30c2e10ade4ac3fd172bc04df data/create/advancements/recipes/create.base/crafting/appliances/diving_helmet.json
dd487f98c411f1ff22cb7fc208b8cc24b27deb2f data/create/advancements/recipes/create.base/crafting/appliances/dough.json
+911159091a9674c36e8cd49f56f63e5442988e84 data/create/advancements/recipes/create.base/crafting/appliances/linked_controller.json
51cdcf168087f47e4458eed7543d227da1ee5ca0 data/create/advancements/recipes/create.base/crafting/appliances/tree_fertilizer.json
d531f87f425d199aee4777a588c1cd6cab6f5173 data/create/advancements/recipes/create.base/crafting/curiosities/minecart_coupling.json
2eef3201017af03f6a2f0f015645e3ff5e25d9c1 data/create/advancements/recipes/create.base/crafting/curiosities/wand_of_symmetry.json
@@ -1975,7 +1982,7 @@ bfb3673a30db807aa298f2fd128ec863a65818af data/create/advancements/recipes/create
47cc716674e1741f4115b04a20ac4c4a5b2a6d8a data/create/advancements/recipes/create.palettes/andesite_cobblestone_stairs_from_andesite_cobblestone_stonecutting.json
bd79e63c29d68fbf87ded63ac1eedba3d7287996 data/create/advancements/recipes/create.palettes/andesite_cobblestone_wall.json
0ed4c084f05b2bd4c134293ad3554d6e31a1d568 data/create/advancements/recipes/create.palettes/andesite_cobblestone_wall_from_andesite_cobblestone_stonecutting.json
-a453d05704cadb3279318192aac87e623738cdaa data/create/advancements/recipes/create.palettes/andesite_pillar.json
+cc8e078ccce06e9489d8b62d88b6a2e4d4ca2d79 data/create/advancements/recipes/create.palettes/andesite_pillar.json
d6f31097aef040e12eb288ab755d459f55269a70 data/create/advancements/recipes/create.palettes/andesite_pillar_from_andesite_stonecutting.json
f10a4369147cc5e36d3ab1b0008d29fd36ffc8f6 data/create/advancements/recipes/create.palettes/birch_window.json
bfea45da3f8df1c63f6c7ff1b63ad7e08c1d44b0 data/create/advancements/recipes/create.palettes/birch_window_pane.json
@@ -1990,6 +1997,7 @@ b4651c8202331483e82b28b04edc6cd97e62ad1d data/create/advancements/recipes/create
b2813566e6715c2d377dd4ef461b012cae7eb190 data/create/advancements/recipes/create.palettes/crimson_window_pane.json
25991d5667252d551e02c4fbbfa27ebf4353d28d data/create/advancements/recipes/create.palettes/dark_oak_window.json
4819383b1a7885b4401fdc25955d2c51f75b6236 data/create/advancements/recipes/create.palettes/dark_oak_window_pane.json
+02cd339174aaf2c14e14f886d90fbbcae91783b6 data/create/advancements/recipes/create.palettes/dark_scoria.json
ebd6413d530325eef6fcf42a0ee0ac840c1f7366 data/create/advancements/recipes/create.palettes/dark_scoria_bricks_from_dark_scoria_stonecutting.json
030ce9b61b8af158cf54e7a9ab673ccb7251483f data/create/advancements/recipes/create.palettes/dark_scoria_bricks_slab.json
ac44d03859cfd4c00ddcbd1dafbb9acc51d849d7 data/create/advancements/recipes/create.palettes/dark_scoria_bricks_slab_from_dark_scoria_bricks_stonecutting.json
@@ -2004,7 +2012,7 @@ eef6f85b20fb997af1b0c2383a45100be2e0cd34 data/create/advancements/recipes/create
8d44f675237a92513678a77da7a1f329475a3453 data/create/advancements/recipes/create.palettes/dark_scoria_cobblestone_stairs_from_dark_scoria_cobblestone_stonecutting.json
702527e6735770a6fcc3ad446df39d3b1b80709e data/create/advancements/recipes/create.palettes/dark_scoria_cobblestone_wall.json
ce069a666d223f733bfa1cc9ca5e3e5e27de1ebc data/create/advancements/recipes/create.palettes/dark_scoria_cobblestone_wall_from_dark_scoria_cobblestone_stonecutting.json
-c5d7f1e79302d47ea02cb63b99b286b90ec0287b data/create/advancements/recipes/create.palettes/dark_scoria_pillar.json
+64f9ba8df2fd2357ad397b75156a4af9c26fa91b data/create/advancements/recipes/create.palettes/dark_scoria_pillar.json
f3d6314d272d84c456c5df512dcc555b7694ded2 data/create/advancements/recipes/create.palettes/dark_scoria_pillar_from_dark_scoria_stonecutting.json
83e3c29d5d651a6bc6fd9d5843d8d75f4cda2b77 data/create/advancements/recipes/create.palettes/diorite_bricks_from_diorite_stonecutting.json
4649497555ca4269b1f3859f0275ca1ff7c85377 data/create/advancements/recipes/create.palettes/diorite_bricks_slab.json
@@ -2020,8 +2028,9 @@ f3d6314d272d84c456c5df512dcc555b7694ded2 data/create/advancements/recipes/create
600c57c4dc3a3741d5db7ec01340e1c6a01d54b4 data/create/advancements/recipes/create.palettes/diorite_cobblestone_stairs_from_diorite_cobblestone_stonecutting.json
8b4990d3657e23a86c3e71eba77370c56692c93b data/create/advancements/recipes/create.palettes/diorite_cobblestone_wall.json
e741ca0e76875ee12beecd45db764444956d5342 data/create/advancements/recipes/create.palettes/diorite_cobblestone_wall_from_diorite_cobblestone_stonecutting.json
-9edb9886a6b2792dc38d5d61a2be2b7a3fd28eeb data/create/advancements/recipes/create.palettes/diorite_pillar.json
+08e8495b798d54366f132da060e93e94e23f6354 data/create/advancements/recipes/create.palettes/diorite_pillar.json
87d34b8ca3dc73a778ab94ef4d852f418112adb3 data/create/advancements/recipes/create.palettes/diorite_pillar_from_diorite_stonecutting.json
+17135274809b7a0f38294d2e6412b787e985e4d5 data/create/advancements/recipes/create.palettes/dolomite.json
dbf201ceafc310f5cc6624c81777d50348844285 data/create/advancements/recipes/create.palettes/dolomite_bricks_from_dolomite_stonecutting.json
6716447628cce96a1f520766d019f09380ec67e5 data/create/advancements/recipes/create.palettes/dolomite_bricks_slab.json
52ae39c6f63860fa5a60c1ae70ef00eca5b961c9 data/create/advancements/recipes/create.palettes/dolomite_bricks_slab_from_dolomite_bricks_stonecutting.json
@@ -2036,7 +2045,7 @@ a8904096a05eeb7e746563e1a4b97b39173d1708 data/create/advancements/recipes/create
124c586970edc5c15079bec53c734a2beb670130 data/create/advancements/recipes/create.palettes/dolomite_cobblestone_stairs_from_dolomite_cobblestone_stonecutting.json
2e9f1556a11d4d7190233be3af64453396865da9 data/create/advancements/recipes/create.palettes/dolomite_cobblestone_wall.json
1a1e8764ba05f72ffd7e5872a8f2fc9cf2108308 data/create/advancements/recipes/create.palettes/dolomite_cobblestone_wall_from_dolomite_cobblestone_stonecutting.json
-4652a46d4b6590b988d57d855def253ebeb380fe data/create/advancements/recipes/create.palettes/dolomite_pillar.json
+4b56a0490151fbc66dee82546b9e271a5a85fa12 data/create/advancements/recipes/create.palettes/dolomite_pillar.json
a8752ee9bf9afc665c5d940d251c1cf4a83a0ae9 data/create/advancements/recipes/create.palettes/dolomite_pillar_from_dolomite_stonecutting.json
ea981a446d8cc22d6b7fb4667e86dc18a48a4720 data/create/advancements/recipes/create.palettes/fancy_andesite_bricks_from_andesite_stonecutting.json
44dc6bc5a7303129db2268a025f49dcb222597a7 data/create/advancements/recipes/create.palettes/fancy_andesite_bricks_slab.json
@@ -2103,6 +2112,7 @@ d51bee4b276805ecf1a93a37ec6d610e75c0117e data/create/advancements/recipes/create
17e02efc06d935c094bde5bb73a5127bc98e4758 data/create/advancements/recipes/create.palettes/fancy_weathered_limestone_bricks_wall_from_fancy_weathered_limestone_bricks_stonecutting.json
05331b5f1701453ecdfd0b3e6429b22ec209ba67 data/create/advancements/recipes/create.palettes/framed_glass_from_glass_colorless_stonecutting.json
605476eaf4e964936c031732cfef534edfdd749a data/create/advancements/recipes/create.palettes/framed_glass_pane.json
+1b17b217e487b958e35ab0ad509bb8caceebda40 data/create/advancements/recipes/create.palettes/gabbro.json
b835dd583d670e2d7f6af4dd74e44f5817b03b21 data/create/advancements/recipes/create.palettes/gabbro_bricks_from_gabbro_stonecutting.json
2bfac04754aaf07423b330134984d887ae43f00a data/create/advancements/recipes/create.palettes/gabbro_bricks_slab.json
f05bb35d52866abc7dae9c7f3f5fc85257760564 data/create/advancements/recipes/create.palettes/gabbro_bricks_slab_from_gabbro_bricks_stonecutting.json
@@ -2117,7 +2127,7 @@ c90a07c41b2e034437c8a765de7b517f89383830 data/create/advancements/recipes/create
f9d917def55875dcba621246f80dc83904be3d73 data/create/advancements/recipes/create.palettes/gabbro_cobblestone_stairs_from_gabbro_cobblestone_stonecutting.json
b081b91a5e11e8ce9b2455b944eb554f5f2e419e data/create/advancements/recipes/create.palettes/gabbro_cobblestone_wall.json
093f372d84c557791cebcb286b3505f32c4dc7c0 data/create/advancements/recipes/create.palettes/gabbro_cobblestone_wall_from_gabbro_cobblestone_stonecutting.json
-dacb04ebd8bc20c2a0689a9e75ea67c07e43c56b data/create/advancements/recipes/create.palettes/gabbro_pillar.json
+4b0f4a396397a791d08fe422fb4cfb922554779c data/create/advancements/recipes/create.palettes/gabbro_pillar.json
35288551f5146ebbf8dbbe987928dd2a1bdc7ea8 data/create/advancements/recipes/create.palettes/gabbro_pillar_from_gabbro_stonecutting.json
6a9a8b37ec264084ce0481200225017739546025 data/create/advancements/recipes/create.palettes/granite_bricks_from_granite_stonecutting.json
2ac84cb0b8b629bdfd740a6613df2a7e45964bf2 data/create/advancements/recipes/create.palettes/granite_bricks_slab.json
@@ -2133,7 +2143,7 @@ c39e86c111a2c76ef9cb7046d2b87262524b06b9 data/create/advancements/recipes/create
06d3f3150db99f808a5fd4141c0fc6235d979ce5 data/create/advancements/recipes/create.palettes/granite_cobblestone_stairs_from_granite_cobblestone_stonecutting.json
6bbc97d2ac655a532eaf345fca64431dbf8af27d data/create/advancements/recipes/create.palettes/granite_cobblestone_wall.json
d6b622a2cf302d0c39e0d38d24b0a17e1461d13b data/create/advancements/recipes/create.palettes/granite_cobblestone_wall_from_granite_cobblestone_stonecutting.json
-03c3a88e1a320afe9866a1c09ef34b46763c8ec1 data/create/advancements/recipes/create.palettes/granite_pillar.json
+5b9fe440648ae9f37b5d079cfcd1d9a72afa74fa data/create/advancements/recipes/create.palettes/granite_pillar.json
97cc61b1b510849ebc0bf51cf2b8107a5c43fc17 data/create/advancements/recipes/create.palettes/granite_pillar_from_granite_stonecutting.json
cbb40e82dba460ee126966a52f0164e740ac1f11 data/create/advancements/recipes/create.palettes/horizontal_framed_glass_from_glass_colorless_stonecutting.json
29e2e2aeca3800c8ba432be30d54d046a3991217 data/create/advancements/recipes/create.palettes/horizontal_framed_glass_pane.json
@@ -2148,6 +2158,7 @@ cbb40e82dba460ee126966a52f0164e740ac1f11 data/create/advancements/recipes/create
c0dd961f07e85a183af7b942ed0e4bfe8f775373 data/create/advancements/recipes/create.palettes/layered_limestone_from_limestone_stonecutting.json
5d06584a83074f8a8d1a52d93d13f2718bc99152 data/create/advancements/recipes/create.palettes/layered_scoria_from_scoria_stonecutting.json
b09e64b4989ef08b7ea6b9011681c2fbf780d949 data/create/advancements/recipes/create.palettes/layered_weathered_limestone_from_weathered_limestone_stonecutting.json
+519234f31ee8cacc0f916df40703ba171c6a90e5 data/create/advancements/recipes/create.palettes/limestone.json
52c1902f260173fe610a4a03294a51c4cea3b37b data/create/advancements/recipes/create.palettes/limestone_bricks_from_limestone_stonecutting.json
e6eb6c433541b7c4e3e5b64f240618e6df67ed58 data/create/advancements/recipes/create.palettes/limestone_bricks_slab.json
72f0586690ca4413082b2cbecf7938ba6e4756b4 data/create/advancements/recipes/create.palettes/limestone_bricks_slab_from_limestone_bricks_stonecutting.json
@@ -2162,7 +2173,7 @@ d7b36c7fcf429eea7c57f2ae967e73b8e18d0d58 data/create/advancements/recipes/create
749936c7c33273c1833154a1eb1e13604ece8565 data/create/advancements/recipes/create.palettes/limestone_cobblestone_stairs_from_limestone_cobblestone_stonecutting.json
c0e3f97a6f807ea8147f58bf4ca002725d1877b6 data/create/advancements/recipes/create.palettes/limestone_cobblestone_wall.json
a01c91b927f50d367c3bfcca5f370002a991d45a data/create/advancements/recipes/create.palettes/limestone_cobblestone_wall_from_limestone_cobblestone_stonecutting.json
-8b1ef23c71f0088230dcdd12374494bfdf700409 data/create/advancements/recipes/create.palettes/limestone_pillar.json
+acf08b6a32e3678d63443fdb97e7332e05eb61f6 data/create/advancements/recipes/create.palettes/limestone_pillar.json
d040f53dfb09a29c39d534d3595e35d058fe5557 data/create/advancements/recipes/create.palettes/limestone_pillar_from_limestone_stonecutting.json
3ee8ab0478344042136058be6cf870289c096bdd data/create/advancements/recipes/create.palettes/mossy_andesite_from_andesite_stonecutting.json
c427e2626e468abee6fb4de83bf76f2d3c051449 data/create/advancements/recipes/create.palettes/mossy_dark_scoria_from_dark_scoria_stonecutting.json
@@ -2297,6 +2308,7 @@ e46847d02ab7bfb2bc1da1a4ad4b7b54a3a28559 data/create/advancements/recipes/create
75480d0c13a80d9edf93a0eff947e5165db011c1 data/create/advancements/recipes/create.palettes/polished_weathered_limestone_stairs_from_polished_weathered_limestone_stonecutting.json
7b4b27211174e774169132a50da7bfd63ff28b30 data/create/advancements/recipes/create.palettes/polished_weathered_limestone_wall.json
81a759d9b069faedee49107642d947ea1bf1ac6c data/create/advancements/recipes/create.palettes/polished_weathered_limestone_wall_from_polished_weathered_limestone_stonecutting.json
+28c7dd5fb1594295f977eff41ac677aab9660831 data/create/advancements/recipes/create.palettes/scoria.json
874023eabafb85aefacc86f395c5d4ef0cc9cfac data/create/advancements/recipes/create.palettes/scoria_bricks_from_scoria_stonecutting.json
a9969fd00f8cba428715d27a8ab6af6ba6473c8a data/create/advancements/recipes/create.palettes/scoria_bricks_slab.json
1d129bb8d359de50344dcb46f77899b0651d7817 data/create/advancements/recipes/create.palettes/scoria_bricks_slab_from_scoria_bricks_stonecutting.json
@@ -2311,7 +2323,7 @@ dc5df4f4feddc24a7c78b25b6ed3e7ed458342f1 data/create/advancements/recipes/create
b852a9a59499c113f387ac06fdb27d3d455f18e3 data/create/advancements/recipes/create.palettes/scoria_cobblestone_stairs_from_scoria_cobblestone_stonecutting.json
a43d45efa0fb0d3eaace93c18d80a14d4dcddf38 data/create/advancements/recipes/create.palettes/scoria_cobblestone_wall.json
e340721aa78f260c2666214aa149241a37de216e data/create/advancements/recipes/create.palettes/scoria_cobblestone_wall_from_scoria_cobblestone_stonecutting.json
-53cc5b006a19158e04094308accb66a7c35d2b26 data/create/advancements/recipes/create.palettes/scoria_pillar.json
+68fc67ead3fd31885b30a5cf3e71dd33fb040634 data/create/advancements/recipes/create.palettes/scoria_pillar.json
53712a9ae59976dece952bea7ecaf73b679448f0 data/create/advancements/recipes/create.palettes/scoria_pillar_from_scoria_stonecutting.json
6b148def2f8789f9ff1d41bb71ab3608438a7207 data/create/advancements/recipes/create.palettes/smelting/dolomite.json
070720cc271767b26ad51fa089b4cf2a64d309be data/create/advancements/recipes/create.palettes/smelting/gabbro.json
@@ -2326,6 +2338,7 @@ d40c7ce6b79630ace624d17b92667286998d93bc data/create/advancements/recipes/create
cd5ee73117872ee98434be1d24b4f271f7e94a48 data/create/advancements/recipes/create.palettes/vertical_framed_glass_pane.json
f26d1a1ee183b1b19d018fbdefc70f0bf29b41d0 data/create/advancements/recipes/create.palettes/warped_window.json
faf33c9c630eecab88bb969e3b9f7fd9e9f6ccf6 data/create/advancements/recipes/create.palettes/warped_window_pane.json
+5b3447ec4802fb27f1ee9a3b1bbe1936fac48fb3 data/create/advancements/recipes/create.palettes/weathered_limestone.json
ef0d351d13f7e9c633581b537c59bddc1fa4c3a4 data/create/advancements/recipes/create.palettes/weathered_limestone_bricks_from_weathered_limestone_stonecutting.json
1c931e15af3e5b5f78a0a62b8c159fdf9f0d7f3e data/create/advancements/recipes/create.palettes/weathered_limestone_bricks_slab.json
bba639941526cc23570e328e0b5e2a5545667219 data/create/advancements/recipes/create.palettes/weathered_limestone_bricks_slab_from_weathered_limestone_bricks_stonecutting.json
@@ -2340,7 +2353,7 @@ b77c5aecd0b6dd37a0c69431ab7a4a40fe0770eb data/create/advancements/recipes/create
8ea05c6cdb313ff395d1f21cfb40e2d939dadf20 data/create/advancements/recipes/create.palettes/weathered_limestone_cobblestone_stairs_from_weathered_limestone_cobblestone_stonecutting.json
4d838d8ceaf207a59554444d82b80c31807341bc data/create/advancements/recipes/create.palettes/weathered_limestone_cobblestone_wall.json
e548127075559307b767b802f4809ed52eedd543 data/create/advancements/recipes/create.palettes/weathered_limestone_cobblestone_wall_from_weathered_limestone_cobblestone_stonecutting.json
-23ba836640a4d543db6f1cb72cc86a6543fe2fbe data/create/advancements/recipes/create.palettes/weathered_limestone_pillar.json
+efab7b7f3829998a91fc506e4be3b6345f5ca168 data/create/advancements/recipes/create.palettes/weathered_limestone_pillar.json
9790a16fd56e47cb5abbfad4062672303c224d9f data/create/advancements/recipes/create.palettes/weathered_limestone_pillar_from_weathered_limestone_stonecutting.json
e00155bcd00f50750e2cc4d6aa30c2f2d6e62922 data/create/advancements/recipes/decorations/smelting/glass_pane_from_framed_glass_pane.json
bf9131527df4ad259b5a509753ba66417d764da2 data/create/advancements/recipes/decorations/smelting/glass_pane_from_horizontal_framed_glass_pane.json
@@ -2447,7 +2460,7 @@ d370ee874b5b6b98e9a8c368218fe61f644d956d data/create/loot_tables/blocks/cuckoo_c
fe24fd296812fea3f838defa2ca6270523d9d48e data/create/loot_tables/blocks/cyan_valve_handle.json
fd309e1d39dcbcb25c3361edecd8c9afa0f847d0 data/create/loot_tables/blocks/dark_oak_window.json
58e6307ba0efa65a0715662a391fe7dc6fba0c68 data/create/loot_tables/blocks/dark_oak_window_pane.json
-7a40002e4c05f6456b52558b9ee9607cfc868a69 data/create/loot_tables/blocks/dark_scoria.json
+6769787b0c7a8d2762bae1c4826275bde8647b4e data/create/loot_tables/blocks/dark_scoria.json
502160551afd210c68582a1dfd41a2df720f53a1 data/create/loot_tables/blocks/dark_scoria_bricks.json
d37adba01cd1220e265dbdc025b3f8d01b992289 data/create/loot_tables/blocks/dark_scoria_bricks_slab.json
265bb133af68497d9b4ba4bd418a198506caa45b data/create/loot_tables/blocks/dark_scoria_bricks_stairs.json
@@ -2468,7 +2481,7 @@ bdaba62199f7a65e1149b742aaaf0c23a1e149b0 data/create/loot_tables/blocks/diorite_
5141eec8eebed0feec906618dd3474ea402fbf28 data/create/loot_tables/blocks/diorite_cobblestone_stairs.json
f3c963cfd51069876140373f410e868706744e9b data/create/loot_tables/blocks/diorite_cobblestone_wall.json
fdcf47cddebca81730ac122925b01daeddf9233d data/create/loot_tables/blocks/diorite_pillar.json
-7aa075c7fbe97447422bfcb95afb3bbe3b26301c data/create/loot_tables/blocks/dolomite.json
+0be81285de44699dabb2c1e046ae109b2e39a4e9 data/create/loot_tables/blocks/dolomite.json
7ecdbfa3ebfc6865833bafed06ed7cd6eef58345 data/create/loot_tables/blocks/dolomite_bricks.json
ecc855c3ce298855038eb7b53137cab519bca55a data/create/loot_tables/blocks/dolomite_bricks_slab.json
699815e110c76bcb793efdfedcb8ac3a5b9b7131 data/create/loot_tables/blocks/dolomite_bricks_stairs.json
@@ -2524,7 +2537,7 @@ f37526c092c645045c22674dea6c7b1ec503c9c3 data/create/loot_tables/blocks/flywheel
ce0bb978b11935bc2d1218445f8ab18099af6b8a data/create/loot_tables/blocks/framed_glass.json
89bd90ecd7a1ce1f75bd873989cc58a84c8dcef9 data/create/loot_tables/blocks/framed_glass_pane.json
4063880eda871fe63a4eb549a19daecabce849e5 data/create/loot_tables/blocks/furnace_engine.json
-1070cba1c0f46cf7ebe31089f35333f5eadda6e4 data/create/loot_tables/blocks/gabbro.json
+88b3438e50322b731cdd8589e36a9ea497cfe56e data/create/loot_tables/blocks/gabbro.json
0356e003d8890d31b89d0ad98e32aae892da71f9 data/create/loot_tables/blocks/gabbro_bricks.json
bd93e42ebca985b8aeeaf0ea5fb736d496183615 data/create/loot_tables/blocks/gabbro_bricks_slab.json
e51893e1601c470da466b35b17251238e15d0361 data/create/loot_tables/blocks/gabbro_bricks_stairs.json
@@ -2581,7 +2594,7 @@ b403848d3a4b4ad7a048e70c21e200e40d0c67e3 data/create/loot_tables/blocks/light_bl
f7893090c6ecb4862c90c408b7f9ce8316f8b608 data/create/loot_tables/blocks/lime_seat.json
cae6d16c8967164698efbce3b91018a8e79a81e9 data/create/loot_tables/blocks/lime_valve_handle.json
7dfd638cc6f0d22bbc8fcbdb7212a3bfc8c85223 data/create/loot_tables/blocks/limesand.json
-9d585f677a32a2336df5f17b5b389cdee867939f data/create/loot_tables/blocks/limestone.json
+d476eed7b5f0c7438d2e517fc60cd23f19234056 data/create/loot_tables/blocks/limestone.json
57134f7d3d32fc1c48f2a20c4be84388587092bc data/create/loot_tables/blocks/limestone_bricks.json
1b59a36aa1a889c42d4b8b939f5eeee2967222d0 data/create/loot_tables/blocks/limestone_bricks_slab.json
41ed1d0750e8ddd7e7e75fd7e4cafde6346d1afe data/create/loot_tables/blocks/limestone_bricks_stairs.json
@@ -2726,8 +2739,8 @@ cecaac07bd275bb1ae9e302f0bf44b581e74105d data/create/loot_tables/blocks/rope_pul
aa6af37356d65105efab2503ffe75f778cfe873b data/create/loot_tables/blocks/rotation_speed_controller.json
30de11bec82606fead9d6bff7bba0232e97f1039 data/create/loot_tables/blocks/sail_frame.json
069701cb804b6522c18624a0d4f3f949ff8b0281 data/create/loot_tables/blocks/schematic_table.json
-c4a89145334addfd0dd1fedf7fa75ba07a7d3490 data/create/loot_tables/blocks/schematicannon.json
-af1bbbb8236b4ab05a6a8edc6db960bc758cbdf3 data/create/loot_tables/blocks/scoria.json
+a2b172dc749176d4df34729007019605fc6dd150 data/create/loot_tables/blocks/schematicannon.json
+5c1bd2b940fa04ab487155ca10c551dd9b0fbf37 data/create/loot_tables/blocks/scoria.json
bb670ac5dd2fa4c743bc268cd0547926eb6cdb68 data/create/loot_tables/blocks/scoria_bricks.json
a7217ea301a282d0ef52f2d8c06dd8683398408d data/create/loot_tables/blocks/scoria_bricks_slab.json
58a188f3ebfeb3d19323c3f8dfa3e020a7f6cdc4 data/create/loot_tables/blocks/scoria_bricks_stairs.json
@@ -2759,7 +2772,7 @@ d0156602dd5f4a274c293df67e19374820c72890 data/create/loot_tables/blocks/vertical
1afc5ede08e72221e33910603fa7acd0b3c7a2ee data/create/loot_tables/blocks/warped_window.json
f334fd2b9a92b0646674239e7e34e142fe2c5fad data/create/loot_tables/blocks/warped_window_pane.json
2883c63ceb1273009dbf91cb0693756cadf79a1a data/create/loot_tables/blocks/water_wheel.json
-611d6195db52c074de484ec52d7ac9eb96b4ff10 data/create/loot_tables/blocks/weathered_limestone.json
+6cbc693f915f409bc21c6084a4f75071bd660f7b data/create/loot_tables/blocks/weathered_limestone.json
c1f379baad36a20fc767be094db10480a0378184 data/create/loot_tables/blocks/weathered_limestone_bricks.json
43be7e49b9a8a75077066aa824a0f784aa741683 data/create/loot_tables/blocks/weathered_limestone_bricks_slab.json
c2a62f12680d04ed4f586c501bb026e367243dd2 data/create/loot_tables/blocks/weathered_limestone_bricks_stairs.json
@@ -2782,6 +2795,7 @@ e3969f1c5966c4992b3280a06e1d6c5000c37df5 data/create/loot_tables/blocks/weighted
37248ca92d474e440b91c27e3c8e78e568328100 data/create/loot_tables/blocks/zinc_ore.json
b65bac8bc2fbfd476040c1aab1c0588b8bd59ebe data/create/recipes/acacia_window.json
35b4da9c14da60584c32e959efc2223f64bb3ec2 data/create/recipes/acacia_window_pane.json
+57fc55848415db3e9b74e2cc2f6dacfb1b13a6cc data/create/recipes/andesite.json
96bb0bceb7798c96d5cf9b9c24b8ef822080cb1e data/create/recipes/andesite_bricks_from_andesite_stonecutting.json
01867b07039615dc69bad1b9fd217a1d86e69062 data/create/recipes/andesite_bricks_slab.json
376ada0e08cc797c705c22ec35fe54baa5f24efe data/create/recipes/andesite_bricks_slab_from_andesite_bricks_stonecutting.json
@@ -2845,10 +2859,12 @@ f7879d404d7a848d818278b4e788f285a9087e63 data/create/recipes/compacting/blaze_ca
27c23592d8fec03072a04544d3598ca9b1c798ff data/create/recipes/compacting/chocolate.json
7b2ef15dd28d1d8a450ea49a82dfb361d1adde4c data/create/recipes/compacting/diorite_from_flint.json
7657603e95ccf83dd0d4b104635db66e531d092a data/create/recipes/compacting/granite_from_flint.json
-30030b15caa11b3a7c0104adb62fe74e8c7c0df1 data/create/recipes/crafting/appliances/copper_backtank.json
+b187def3a843505ab42db301f5374043d90605d6 data/create/recipes/crafting/appliances/copper_backtank.json
+c077375d16b4505e52548613fbc9356993556e6b data/create/recipes/crafting/appliances/crafting_blueprint.json
9ad82ac5ce02654b7af7f1a570a6b2c01e140da3 data/create/recipes/crafting/appliances/diving_boots.json
813081c6421b34e161ec44e8e470994c282f76be data/create/recipes/crafting/appliances/diving_helmet.json
19526da3a59fc136654ff1bc93c0251581f397a9 data/create/recipes/crafting/appliances/dough.json
+75cdbd88973a8ca943ebe890153b01a344b96b01 data/create/recipes/crafting/appliances/linked_controller.json
7b5f863dda3d05a79cb85943a178eba0bd8a7dc7 data/create/recipes/crafting/appliances/slime_ball.json
b159ba84428eee6ef6e23df1766f2a18f2c8a63e data/create/recipes/crafting/appliances/tree_fertilizer.json
660e92da2b1b6698b1c0df74bd74a56a25fb3eca data/create/recipes/crafting/curiosities/minecart_coupling.json
@@ -3102,6 +3118,7 @@ a022f2d541f04a9e2bed6b72af4e74703076fcbe data/create/recipes/cutting/warped_hyph
1bd01df5540df7db06afde28a3f9ebe4d25e4001 data/create/recipes/cutting/warped_stem.json
f2c317e03ac4d42fb631e1625607061e10c480fe data/create/recipes/dark_oak_window.json
d9dbae6e237eb38e53a619a0f1b339fca7c59b4d data/create/recipes/dark_oak_window_pane.json
+2ff8ac7eaabef52dcb173d7af388c28307559aaa data/create/recipes/dark_scoria.json
55596a590962e3ddd40949917661f0bd94408274 data/create/recipes/dark_scoria_bricks_from_dark_scoria_stonecutting.json
2489fc29c47d3c9cb63f5f2f09dc79ea1ca1728e data/create/recipes/dark_scoria_bricks_slab.json
86f4d54ebcc5bc8786c72167395d8efee833744c data/create/recipes/dark_scoria_bricks_slab_from_dark_scoria_bricks_stonecutting.json
@@ -3118,6 +3135,7 @@ f3a72b45daef00035ecb17b9cd7f8985a5f9e9ef data/create/recipes/dark_scoria_cobbles
0f2c14d40ed9013d45e331000ea03d39430f9d22 data/create/recipes/dark_scoria_cobblestone_wall_from_dark_scoria_cobblestone_stonecutting.json
31b7e65165cb0dbcd95362a81905b19fe4282cf3 data/create/recipes/dark_scoria_pillar.json
681f45f03b15dc1a8a72cf72042e725d3f0cc7ef data/create/recipes/dark_scoria_pillar_from_dark_scoria_stonecutting.json
+0871ced2a434838e2db8f3df85af84b0cb4e40ad data/create/recipes/diorite.json
25c0fe29d1c2cedcaf21fac6cdfcce45dbf810bf data/create/recipes/diorite_bricks_from_diorite_stonecutting.json
ff4a8687bdff339a10e0b813788bca272332abd9 data/create/recipes/diorite_bricks_slab.json
7c49a389f9222fdfd6653d9fbcb1ca05bf207aa8 data/create/recipes/diorite_bricks_slab_from_diorite_bricks_stonecutting.json
@@ -3134,6 +3152,7 @@ f764471aab017775e0d7a6d43a9e36b186db3ac2 data/create/recipes/diorite_cobblestone
d3628d5ce836d3b9072be3d4cf30416146cccad2 data/create/recipes/diorite_cobblestone_wall_from_diorite_cobblestone_stonecutting.json
d69d767a77ae62f8e53342dffda4c627906439d7 data/create/recipes/diorite_pillar.json
3019172274fdfcc606ad0f5569db433913231c28 data/create/recipes/diorite_pillar_from_diorite_stonecutting.json
+2f1bf27611c640ec454be0e73ed75f596a4f1add data/create/recipes/dolomite.json
6ee0f10522f4acfe554e4743fa2ba1d8297a12f2 data/create/recipes/dolomite_bricks_from_dolomite_stonecutting.json
88a9b8e89e67455a9c4f1c3dbff813a3c3bd1609 data/create/recipes/dolomite_bricks_slab.json
3adfb9924ada35d58275533425802b4829f058ac data/create/recipes/dolomite_bricks_slab_from_dolomite_bricks_stonecutting.json
@@ -3229,6 +3248,7 @@ c83e77a9799b6ca34dd73aa76b56159f2103c48c data/create/recipes/filling/milk_bucket
fb8e4378cd2240644a4b5c0d06e27ad772ec7695 data/create/recipes/filling/sweet_roll.json
5b8bbde7f8b270ab75fac18d6858f2fadbc0efa3 data/create/recipes/framed_glass_from_glass_colorless_stonecutting.json
d697de0c9b706ca4e18da7a2d769e7e5fe8d769d data/create/recipes/framed_glass_pane.json
+147e7a160b82c8128f8fa7c3c6e7f7d652b89a36 data/create/recipes/gabbro.json
a0dae50faaa1b7142bb4309675e3084c68daa547 data/create/recipes/gabbro_bricks_from_gabbro_stonecutting.json
a19f047fa8507e994eb026795c86bc10ff5c373b data/create/recipes/gabbro_bricks_slab.json
84d83643f7987864eca0e2ca7cda4330ad9f1f86 data/create/recipes/gabbro_bricks_slab_from_gabbro_bricks_stonecutting.json
@@ -3245,6 +3265,7 @@ f7407fd04cfe7558d53c44cb33dfd8ff8a736ae3 data/create/recipes/gabbro_cobblestone_
8171880f4374f9102949b85e9a17e0b313caf3a6 data/create/recipes/gabbro_cobblestone_wall_from_gabbro_cobblestone_stonecutting.json
6e52667c2f9ec62a95ba27676fdc07a8222f1746 data/create/recipes/gabbro_pillar.json
da3743119130ef0946b05b21a84c2fe5926dccd5 data/create/recipes/gabbro_pillar_from_gabbro_stonecutting.json
+dc21523e591068eb5df7b287c9eef7b773b7d5d0 data/create/recipes/granite.json
5664bad03fce4a4724e8fd21c9c02ca6ae900df9 data/create/recipes/granite_bricks_from_granite_stonecutting.json
1c5265828318670a11bd1e439b6a6005edb37487 data/create/recipes/granite_bricks_slab.json
0f460bda24ff799a9ef948933cfb50ef038739d4 data/create/recipes/granite_bricks_slab_from_granite_bricks_stonecutting.json
@@ -3274,6 +3295,7 @@ b49c314e171f31a39f38aabad767d8d3be613602 data/create/recipes/layered_gabbro_from
9712031277020c39e8e643690a6a968c5e275a75 data/create/recipes/layered_limestone_from_limestone_stonecutting.json
fdfbe941eb56a98c3d28639154b7bcd4dcc66dfa data/create/recipes/layered_scoria_from_scoria_stonecutting.json
cc070e83594b20cf697aa5dbb8c4e09dbf576d00 data/create/recipes/layered_weathered_limestone_from_weathered_limestone_stonecutting.json
+90253fc317a2551c50da7693df4a60e8543d2d64 data/create/recipes/limestone.json
3b43347da62a69c6e76e6a0261f840f46ff90038 data/create/recipes/limestone_bricks_from_limestone_stonecutting.json
aed4b037af6921e9337213dc09a215ab7a18adde data/create/recipes/limestone_bricks_slab.json
7222e1f13c6aec69ea37c84b4aca3e2322ef00d2 data/create/recipes/limestone_bricks_slab_from_limestone_bricks_stonecutting.json
@@ -3443,7 +3465,7 @@ f2a140cbaddefd387fd94f0ce94df763a585dd4f data/create/recipes/paved_weathered_lim
9f02f552173ae1c85750bb16aa6bbbfb87a5a7f1 data/create/recipes/paved_weathered_limestone_stairs_from_paved_weathered_limestone_stonecutting.json
cc4a5a893b10ffdfcc10085323d89d34a1b8f122 data/create/recipes/paved_weathered_limestone_wall.json
d996f6505433a74cd8bdab04c0e0bac1b9a2da16 data/create/recipes/paved_weathered_limestone_wall_from_paved_weathered_limestone_stonecutting.json
-c83e29f260eee9844c85995d45bedef6100cb91d data/create/recipes/polished_dark_scoria.json
+c32e1418b17011c8c423d44ee20f2b86e82e7626 data/create/recipes/polished_dark_scoria.json
753c85bfb84a5d31f9670478042321702a589dc8 data/create/recipes/polished_dark_scoria_from_dark_scoria_stonecutting.json
d3c78c504672fec3316b206505c2cb5fc8daf822 data/create/recipes/polished_dark_scoria_slab.json
bcc5a7325b7f7110e6b382e7ad60fc547222d3ad data/create/recipes/polished_dark_scoria_slab_from_polished_dark_scoria_stonecutting.json
@@ -3451,7 +3473,7 @@ c7d7e5f39099a71482cdfbebe1ef2dfd508ae768 data/create/recipes/polished_dark_scori
364d77f01b380bbb0036810f6e0df09773ea8e1c data/create/recipes/polished_dark_scoria_stairs_from_polished_dark_scoria_stonecutting.json
396b6c97b5e7f608b293dee51be97717c3430bc4 data/create/recipes/polished_dark_scoria_wall.json
62b0769e0208831db822f6d2b986fff6aee60729 data/create/recipes/polished_dark_scoria_wall_from_polished_dark_scoria_stonecutting.json
-53930b3b32b076c9786e5c61d8cc7fe70a47fed7 data/create/recipes/polished_dolomite.json
+a1561acc26948db5cffc041d85b1d26204754caf data/create/recipes/polished_dolomite.json
da91fd1ccaac64f7ef9737f3c773490d0c0b10d1 data/create/recipes/polished_dolomite_from_dolomite_stonecutting.json
75288e75b604eacfbc19cb51cb4d4759bdeaafa5 data/create/recipes/polished_dolomite_slab.json
9a89eaf5f00d8fb10297de61248f8d11dded8c4b data/create/recipes/polished_dolomite_slab_from_polished_dolomite_stonecutting.json
@@ -3459,7 +3481,7 @@ da91fd1ccaac64f7ef9737f3c773490d0c0b10d1 data/create/recipes/polished_dolomite_f
e2dce404e4bcde076615ed0d0cf6fab769d441d5 data/create/recipes/polished_dolomite_stairs_from_polished_dolomite_stonecutting.json
8f2f4643886d166609b198704dcadb5e87b6323e data/create/recipes/polished_dolomite_wall.json
3b5d553e408a8b6385932e2a8082fcb5bdead0d1 data/create/recipes/polished_dolomite_wall_from_polished_dolomite_stonecutting.json
-d9d2b6f6f4c8223c4cfc6258ba9013463691d88c data/create/recipes/polished_gabbro.json
+5873547a8561849a73c0d2cca3faba3e8b65b33d data/create/recipes/polished_gabbro.json
ba3e1444b9d1804411cc9c7536c657806dc37c1d data/create/recipes/polished_gabbro_from_gabbro_stonecutting.json
b7d29a29fde4868b4ceef1437e5d00975068bc58 data/create/recipes/polished_gabbro_slab.json
f7a62c1edc74e54fc0c747f23d7da182d49ef7b6 data/create/recipes/polished_gabbro_slab_from_polished_gabbro_stonecutting.json
@@ -3467,7 +3489,7 @@ f7a62c1edc74e54fc0c747f23d7da182d49ef7b6 data/create/recipes/polished_gabbro_sla
7df6fd466badaa3cef5e2ad0e78bbb3b6429805e data/create/recipes/polished_gabbro_stairs_from_polished_gabbro_stonecutting.json
ec70334e13e05cff7e04e7dc6b23be273c235e50 data/create/recipes/polished_gabbro_wall.json
5176a8fe5a48592c7b487518a57c962c24e3e751 data/create/recipes/polished_gabbro_wall_from_polished_gabbro_stonecutting.json
-bb7d651a6c79bd97390c7b1743c4fe58c9973c39 data/create/recipes/polished_limestone.json
+59a01eb264c302fe455639bcafa4afb97de2379e data/create/recipes/polished_limestone.json
0e88c98c9ef0d15523b23b00f8afde71d9d8e3e9 data/create/recipes/polished_limestone_from_limestone_stonecutting.json
135fd40e291c7cfdc73c14496654008da9dd797d data/create/recipes/polished_limestone_slab.json
4ce225832ab45daf6b5bc013c6f8762fdbe9ff0f data/create/recipes/polished_limestone_slab_from_polished_limestone_stonecutting.json
@@ -3475,7 +3497,7 @@ fee3d0ec8d4f27d82acd5d0e3a2a142900e18be3 data/create/recipes/polished_limestone_
6780c8bd8747ebb6db7e0adfc486ce00e7e2cf26 data/create/recipes/polished_limestone_stairs_from_polished_limestone_stonecutting.json
44b1f3873fe8150abbacab10ff3cc2033a01b4a0 data/create/recipes/polished_limestone_wall.json
d68a27e463d31ba5eed19181c0335824601b9e68 data/create/recipes/polished_limestone_wall_from_polished_limestone_stonecutting.json
-300b9c979ac848fb6ae69eeb6e89c9e22056c562 data/create/recipes/polished_scoria.json
+82b5b5fc1d2f789b48a48a7dc846aeb505b0c3c1 data/create/recipes/polished_scoria.json
9d6926822ea6f2bb38ba55204278fe82fd453d16 data/create/recipes/polished_scoria_from_scoria_stonecutting.json
814efd67d3f061d0c0ba104993c868e075a4fd3e data/create/recipes/polished_scoria_slab.json
8696f262927ae55ce72af1a34cae68fd6ccc4050 data/create/recipes/polished_scoria_slab_from_polished_scoria_stonecutting.json
@@ -3483,7 +3505,7 @@ efe648aa4fd0f22faa78c016dbe2d083462e1ad6 data/create/recipes/polished_scoria_sta
ba6dd9ad0c69b088c1a9e33000bd5b9bcedb0ca0 data/create/recipes/polished_scoria_stairs_from_polished_scoria_stonecutting.json
8319042a131a9dcabae016009b807b91c491f8d3 data/create/recipes/polished_scoria_wall.json
bc9a83e7793768723031ff14269e43c83687b9f3 data/create/recipes/polished_scoria_wall_from_polished_scoria_stonecutting.json
-31a0826653da3e752da8507a46b16dc17334693b data/create/recipes/polished_weathered_limestone.json
+d9d188d55d9bb94bceaad8de3ccb02532b021576 data/create/recipes/polished_weathered_limestone.json
73b468de08f3e0542b7020129faff3a40b3fee67 data/create/recipes/polished_weathered_limestone_from_weathered_limestone_stonecutting.json
c0924d72a856c3182b89996a6ceaffd56930c455 data/create/recipes/polished_weathered_limestone_slab.json
1f5503d22859a08eef824d33f6ed48335f66c423 data/create/recipes/polished_weathered_limestone_slab_from_polished_weathered_limestone_stonecutting.json
@@ -3496,9 +3518,10 @@ eae06580a0a5f486cde35426716d50fcb3ba5bb3 data/create/recipes/polished_weathered_
0fa8386648398724f6fd373178b706c6b11ddefc data/create/recipes/pressing/gold_ingot.json
a104ef6eb8872a40ea7b2ef67ae54cec943162f0 data/create/recipes/pressing/iron_ingot.json
7f9e72ec02a9926656744a95066f8aa304514565 data/create/recipes/pressing/lapis_block.json
-654e274b07af172c22838d47e0974367c20101d4 data/create/recipes/pressing/path.json
+b472136cdc8e87fa65a812a359542bdc484f27ec data/create/recipes/pressing/path.json
bd57ccc8eb4357b4a5af021db7b806b514cd2558 data/create/recipes/pressing/sugar_cane.json
141173778757d87e7f2e9466bdab6ff1263c8e98 data/create/recipes/sandpaper_polishing/rose_quartz.json
+5ab9c8271a9e1d4a863940aeafd1f8816cb37a29 data/create/recipes/scoria.json
d59c68621c78ff5d2c51be4440dea603480efed8 data/create/recipes/scoria_bricks_from_scoria_stonecutting.json
a7a28cf77955c2b4ed3687205dd24162e461aa30 data/create/recipes/scoria_bricks_slab.json
0577ffde98e7a027b21c430cd71cdafdd3cee3a3 data/create/recipes/scoria_bricks_slab_from_scoria_bricks_stonecutting.json
@@ -3629,6 +3652,7 @@ e2c1774577aeb0756fb1d092245d9d77e40ba5f8 data/create/recipes/splashing/yellow_co
dc6093427210bd7034a0e2184f6a1630c7b33b3e data/create/recipes/vertical_framed_glass_pane.json
40ec72d571002206c276aec5de72459155e043ce data/create/recipes/warped_window.json
8f4b0a3cfb0073f1414bf18c0d4e5e751c4a9185 data/create/recipes/warped_window_pane.json
+e483f41ab4e959bda4d88c23817913843d0fbef6 data/create/recipes/weathered_limestone.json
f75f25d3259dd51c29bee6ada2a4540a7a2bbeab data/create/recipes/weathered_limestone_bricks_from_weathered_limestone_stonecutting.json
f58ef5eb552fc7dcd89f30aa4231286ecef5e00a data/create/recipes/weathered_limestone_bricks_slab.json
ca9b163b3aaa526d6c3b070c2a7e50a56a38c6f4 data/create/recipes/weathered_limestone_bricks_slab_from_weathered_limestone_bricks_stonecutting.json
@@ -3645,10 +3669,9 @@ d3fdb8ece6cb072a93ddb64a0baad5ac952117a4 data/create/recipes/weathered_limestone
0f3c993eb6dd3f37953f304b8fad15bf60469ef4 data/create/recipes/weathered_limestone_cobblestone_wall_from_weathered_limestone_cobblestone_stonecutting.json
6eceb25fabbb6b389ca35de3b829ad061c9c456a data/create/recipes/weathered_limestone_pillar.json
11667414f73bc2d00bda7c5c1a7d2934bf6e9165 data/create/recipes/weathered_limestone_pillar_from_weathered_limestone_stonecutting.json
-eedf31af7134d03656c5fa57229982f9c5bed07c data/create/tags/blocks/brittle.json
+20c20a12b0baff2ba493b1405db7d2d8a15b81af data/create/tags/blocks/brittle.json
330bfb3850ba3964b10b1bccbc3cbb9b012cae54 data/create/tags/blocks/fan_heaters.json
3bc64e3a1e7980237435b1770a9ba2102d57fcd4 data/create/tags/blocks/fan_transparent.json
-74700d556ca80c7a1db5fd4efb09c3ddb26cad66 data/create/tags/blocks/non_movable.json
c81ea194e808985847159b201140d4aa4cbcca65 data/create/tags/blocks/safe_nbt.json
c9ac7e3e5ec18554e7184168d65e9b8e44ef5610 data/create/tags/blocks/sails.json
6cdeeac1689f7b5bfd9bc40b462143d8eaf3ad0b data/create/tags/blocks/seats.json
@@ -3707,6 +3730,7 @@ f6c8f34ceb475546dba5cc6ff288863ea795d20b data/forge/tags/items/storage_blocks/co
0d188ad2c33d10ee8f0d455c4e63a4460a8302fb data/minecraft/tags/blocks/stairs.json
92584f914c53e00c111f9ff5e3894e2e3594946b data/minecraft/tags/blocks/walls.json
09d26bcd0f94459f945219997277c4fbf14adeb7 data/minecraft/tags/fluids/water.json
+49cadea86f6b63d5065b859a0d0e7ad772cf51d6 data/minecraft/tags/items/piglin_loved.json
29e6f7e3d4be9a9b0af1fca5d32fa55e29905ce2 data/minecraft/tags/items/slabs.json
0d188ad2c33d10ee8f0d455c4e63a4460a8302fb data/minecraft/tags/items/stairs.json
92584f914c53e00c111f9ff5e3894e2e3594946b data/minecraft/tags/items/walls.json
diff --git a/src/generated/resources/assets/create/lang/en_ud.json b/src/generated/resources/assets/create/lang/en_ud.json
index 12c9bc03a..2428052fc 100644
--- a/src/generated/resources/assets/create/lang/en_ud.json
+++ b/src/generated/resources/assets/create/lang/en_ud.json
@@ -48,6 +48,7 @@
"block.create.chiseled_scoria": "\u0250\u0131\u0279o\u0254S p\u01DD\u05DF\u01DDs\u0131\u0265\u0186",
"block.create.chiseled_weathered_limestone": "\u01DDuo\u0287s\u01DD\u026F\u0131\uA780 p\u01DD\u0279\u01DD\u0265\u0287\u0250\u01DDM p\u01DD\u05DF\u01DDs\u0131\u0265\u0186",
"block.create.chocolate": "\u01DD\u0287\u0250\u05DFo\u0254o\u0265\u0186",
+ "block.create.chromatic_projector": "\u0279o\u0287\u0254\u01DD\u0638o\u0279\u0500 \u0254\u0131\u0287\u0250\u026Fo\u0279\u0265\u0186",
"block.create.chute": "\u01DD\u0287n\u0265\u0186",
"block.create.clockwork_bearing": "bu\u0131\u0279\u0250\u01DD\u15FA \u029E\u0279o\u028D\u029E\u0254o\u05DF\u0186",
"block.create.clutch": "\u0265\u0254\u0287n\u05DF\u0186",
@@ -409,6 +410,7 @@
"block.create.zinc_block": "\u0254u\u0131Z \u025Fo \u029E\u0254o\u05DF\u15FA",
"block.create.zinc_ore": "\u01DD\u0279O \u0254u\u0131Z",
"entity.create.contraption": "uo\u0131\u0287d\u0250\u0279\u0287uo\u0186",
+ "entity.create.crafting_blueprint": "\u0287u\u0131\u0279d\u01DDn\u05DF\u15FA bu\u0131\u0287\u025F\u0250\u0279\u0186",
"entity.create.gantry_contraption": "uo\u0131\u0287d\u0250\u0279\u0287uo\u0186 \u028E\u0279\u0287u\u0250\u2141",
"entity.create.seat": "\u0287\u0250\u01DDS",
"entity.create.stationary_contraption": "uo\u0131\u0287d\u0250\u0279\u0287uo\u0186 \u028E\u0279\u0250uo\u0131\u0287\u0250\u0287S",
@@ -437,6 +439,7 @@
"item.create.copper_nugget": "\u0287\u01DDbbnN \u0279\u01DDddo\u0186",
"item.create.copper_sheet": "\u0287\u01DD\u01DD\u0265S \u0279\u01DDddo\u0186",
"item.create.crafter_slot_cover": "\u0279\u01DD\u028Co\u0186 \u0287o\u05DFS \u0279\u01DD\u0287\u025F\u0250\u0279\u0186",
+ "item.create.crafting_blueprint": "\u0287u\u0131\u0279d\u01DDn\u05DF\u15FA bu\u0131\u0287\u025F\u0250\u0279\u0186",
"item.create.crushed_aluminum_ore": "\u01DD\u0279O \u026Fnu\u0131\u026Fn\u05DF\u2C6F p\u01DD\u0265sn\u0279\u0186",
"item.create.crushed_brass": "ss\u0250\u0279\u15FA p\u01DD\u0265sn\u0279\u0186",
"item.create.crushed_copper_ore": "\u01DD\u0279O \u0279\u01DDddo\u0186 p\u01DD\u0265sn\u0279\u0186",
@@ -468,6 +471,7 @@
"item.create.integrated_circuit": "\u0287\u0131n\u0254\u0279\u0131\u0186 p\u01DD\u0287\u0250\u0279b\u01DD\u0287uI",
"item.create.iron_sheet": "\u0287\u01DD\u01DD\u0265S uo\u0279I",
"item.create.lapis_sheet": "\u0287\u01DD\u01DD\u0265S s\u0131d\u0250\uA780",
+ "item.create.linked_controller": "\u0279\u01DD\u05DF\u05DFo\u0279\u0287uo\u0186 p\u01DD\u029Eu\u0131\uA780",
"item.create.minecart_contraption": "uo\u0131\u0287d\u0250\u0279\u0287uo\u0186 \u0287\u0279\u0250\u0254\u01DDu\u0131W",
"item.create.minecart_coupling": "bu\u0131\u05DFdno\u0186 \u0287\u0279\u0250\u0254\u01DDu\u0131W",
"item.create.polished_rose_quartz": "z\u0287\u0279\u0250n\u1F49 \u01DDso\u1D1A p\u01DD\u0265s\u0131\u05DFo\u0500",
diff --git a/src/generated/resources/assets/create/lang/en_us.json b/src/generated/resources/assets/create/lang/en_us.json
index 427d2c658..144a7c6aa 100644
--- a/src/generated/resources/assets/create/lang/en_us.json
+++ b/src/generated/resources/assets/create/lang/en_us.json
@@ -51,6 +51,7 @@
"block.create.chiseled_scoria": "Chiseled Scoria",
"block.create.chiseled_weathered_limestone": "Chiseled Weathered Limestone",
"block.create.chocolate": "Chocolate",
+ "block.create.chromatic_projector": "Chromatic Projector",
"block.create.chute": "Chute",
"block.create.clockwork_bearing": "Clockwork Bearing",
"block.create.clutch": "Clutch",
@@ -413,6 +414,7 @@
"block.create.zinc_ore": "Zinc Ore",
"entity.create.contraption": "Contraption",
+ "entity.create.crafting_blueprint": "Crafting Blueprint",
"entity.create.gantry_contraption": "Gantry Contraption",
"entity.create.seat": "Seat",
"entity.create.stationary_contraption": "Stationary Contraption",
@@ -443,6 +445,7 @@
"item.create.copper_nugget": "Copper Nugget",
"item.create.copper_sheet": "Copper Sheet",
"item.create.crafter_slot_cover": "Crafter Slot Cover",
+ "item.create.crafting_blueprint": "Crafting Blueprint",
"item.create.crushed_aluminum_ore": "Crushed Aluminum Ore",
"item.create.crushed_brass": "Crushed Brass",
"item.create.crushed_copper_ore": "Crushed Copper Ore",
@@ -474,6 +477,7 @@
"item.create.integrated_circuit": "Integrated Circuit",
"item.create.iron_sheet": "Iron Sheet",
"item.create.lapis_sheet": "Lapis Sheet",
+ "item.create.linked_controller": "Linked Controller",
"item.create.minecart_contraption": "Minecart Contraption",
"item.create.minecart_coupling": "Minecart Coupling",
"item.create.polished_rose_quartz": "Polished Rose Quartz",
@@ -671,6 +675,13 @@
"create.block.deployer.damage_source_name": "a rogue Deployer",
"create.block.cart_assembler.invalid": "Place your Cart Assembler on a rail block",
+ "create.menu.return": "Return to Menu",
+ "create.menu.configure": "Configure...",
+ "create.menu.getting_started": "Getting Started",
+ "create.menu.project_page": "Project Page",
+ "create.menu.report_bugs": "Report Issues",
+ "create.menu.support": "Support Us",
+
"create.recipe.crushing": "Crushing",
"create.recipe.milling": "Milling",
"create.recipe.fan_washing": "Bulk Washing",
@@ -1104,6 +1115,20 @@
"create.tooltip.chute.fans_pull_down": "Fans pull from Below",
"create.tooltip.chute.contains": "Contains: %1$s x%2$s",
+ "create.linked_controller.bind_mode": "Bind mode active",
+ "create.linked_controller.press_keybind": "Press %1$s, %2$s, %3$s, %4$s, %5$s or %6$s, to bind this frequency to the respective key",
+ "create.linked_controller.key_bound": "Frequency bound to %1$s",
+ "create.linked_controller.frequency_slot_1": "Keybind: %1$s, Freq. #1",
+ "create.linked_controller.frequency_slot_2": "Keybind: %1$s, Freq. #2",
+
+ "create.crafting_blueprint.crafting_slot": "Ingredient Slot",
+ "create.crafting_blueprint.filter_items_viable": "Advanced filter items are viable",
+ "create.crafting_blueprint.display_slot": "Display Slot",
+ "create.crafting_blueprint.inferred": "Inferred from recipe",
+ "create.crafting_blueprint.manually_assigned": "Manually assigned",
+ "create.crafting_blueprint.secondary_display_slot": "Secondary Display Slot",
+ "create.crafting_blueprint.optional": "Optional",
+
"create.hint.hose_pulley.title": "Bottomless Supply",
"create.hint.hose_pulley": "The targeted body of fluid is considered infinite.",
"create.hint.mechanical_arm_no_targets.title": "No Targets",
@@ -1131,32 +1156,38 @@
"create.command.killTPSCommand.argument.tickTime": "tickTime",
"create.contraption.minecart_contraption_too_big": "This Cart Contraption seems too big to pick up",
+ "create.contraption.minecart_contraption_illegal_pickup": "A mystical force is binding this Cart Contraption to the world",
"_": "->------------------------] Subtitles [------------------------<-",
- "create.subtitle.cogs": "Cogwheels rumble",
- "create.subtitle.slime_added": "Slime squishes",
+ "create.subtitle.saw_idle": "Mechanical Saw turns",
"create.subtitle.contraption_disassemble": "Contraption stops",
- "create.subtitle.wrench_rotate": "Wrench used",
"create.subtitle.mixing": "Mixing Noises",
"create.subtitle.mechanical_press_activation_belt": "Mechanical Press bonks",
"create.subtitle.worldshaper_place": "Worldshaper zaps",
- "create.subtitle.deployer_polish": "Deployer applies polish",
"create.subtitle.depot_slide": "Item slides",
- "create.subtitle.deny": "Declining boop",
+ "create.subtitle.saw_activate_stone": "Mechanical Saw activates",
"create.subtitle.blaze_munch": "Blaze Burner munches",
- "create.subtitle.schematicannon_launch_block": "Schematicannon fires",
"create.subtitle.funnel_flap": "Funnel Flaps",
- "create.subtitle.copper_armor_equip": "Diving equipment clinks",
"create.subtitle.schematicannon_finish": "Schematicannon dings",
"create.subtitle.scroll_value": "Scroll-input clicks",
+ "create.subtitle.crafter_craft": "Crafter crafts",
+ "create.subtitle.saw_process": "Mechanical Saw processes",
+ "create.subtitle.cranking": "Hand Crank turns",
+ "create.subtitle.wrench_remove": "Component breaks",
+ "create.subtitle.cogs": "Cogwheels rumble",
+ "create.subtitle.slime_added": "Slime squishes",
+ "create.subtitle.wrench_rotate": "Wrench used",
+ "create.subtitle.saw_activate_wood": "Mechanical Saw activates",
+ "create.subtitle.deployer_polish": "Deployer applies polish",
+ "create.subtitle.deny": "Declining boop",
+ "create.subtitle.controller_click": "Controller clicks",
+ "create.subtitle.schematicannon_launch_block": "Schematicannon fires",
+ "create.subtitle.copper_armor_equip": "Diving equipment clinks",
"create.subtitle.mechanical_press_activation": "Mechanical Press clangs",
"create.subtitle.contraption_assemble": "Contraption moves",
- "create.subtitle.crafter_craft": "Crafter crafts",
- "create.subtitle.cranking": "Hand Crank turns",
"create.subtitle.crafter_click": "Crafter clicks",
- "create.subtitle.wrench_remove": "Component breaks",
"create.subtitle.depot_plop": "Item lands",
"create.subtitle.confirm": "Affirmative ding",
@@ -1397,9 +1428,46 @@
"item.create.refined_radiance.tooltip": "REFINED RADIANCE",
"item.create.refined_radiance.tooltip.summary": "A Chromatic material forged from _absorbed light_.",
+ "item.create.refined_radiance.tooltip.condition1": "Work In Progress",
+ "item.create.refined_radiance.tooltip.behaviour1": "Usages for this material will be available in a future release.",
"item.create.shadow_steel.tooltip": "SHADOW STEEL",
"item.create.shadow_steel.tooltip.summary": "A Chromatic material forged _in the void_.",
+ "item.create.shadow_steel.tooltip.condition1": "Work In Progress",
+ "item.create.shadow_steel.tooltip.behaviour1": "Usages for this material will be available in a future release.",
+
+ "item.create.linked_controller.tooltip": "LINKED CONTROLLER",
+ "item.create.linked_controller.tooltip.summary": "Grants _handheld_ _control_ over _Redstone Link_ frequencies assigned to its _six_ _buttons_.",
+ "item.create.linked_controller.tooltip.condition1": "R-Click",
+ "item.create.linked_controller.tooltip.behaviour1": "_Toggles_ the controller. _Movement_ _controls_ are taken over while its active.",
+ "item.create.linked_controller.tooltip.condition2": "R-Click while Sneaking",
+ "item.create.linked_controller.tooltip.behaviour2": "Opens the manual _Configuration Interface_.",
+ "item.create.linked_controller.tooltip.condition3": "R-Click on Redstone Link Receiver",
+ "item.create.linked_controller.tooltip.behaviour3": "Enables _Bind Mode_, press one of the _six controls_ to bind it to the _Links' Frequency_.",
+
+ "item.create.diving_helmet.tooltip": "DIVING HELMET",
+ "item.create.diving_helmet.tooltip.summary": "Together with a _Copper_ _Backtank_, allows the weilder to _breathe_ _underwater_ for an extended amount of time.",
+ "item.create.diving_helmet.tooltip.condition1": "When Worn",
+ "item.create.diving_helmet.tooltip.behaviour1": "Provides the _Water Breathing_ effect, slowly draining _Air Pressure_ from the Backtank.",
+
+ "item.create.copper_backtank.tooltip": "COPPER BACKTANK",
+ "item.create.copper_backtank.tooltip.summary": "A _Wearable_ _Tank_ for carrying Pressurized Air.",
+ "item.create.copper_backtank.tooltip.condition1": "When Worn",
+ "item.create.copper_backtank.tooltip.behaviour1": "Provides _Pressurized_ _Air_ to Equipment that requires it.",
+ "item.create.copper_backtank.tooltip.condition2": "When placed, Powered by Kinetics",
+ "item.create.copper_backtank.tooltip.behaviour2": "_Collects_ _Pressurized_ _Air_ at a rate depending on the Rotational Speed.",
+
+ "item.create.diving_boots.tooltip": "DIVING BOOTS",
+ "item.create.diving_boots.tooltip.summary": "A pair of _heavy_ _boots_, allowing for better traversal of the Ocean floor.",
+ "item.create.diving_boots.tooltip.condition1": "When Worn",
+ "item.create.diving_boots.tooltip.behaviour1": "Weilder _sinks_ _faster_ and _cannot_ _swim_. Grants the ability to _walk_ and _jump_ underwater. Weilder also is no longer affected by _Mechanical_ _Belts_.",
+
+ "item.create.crafting_blueprint.tooltip": "CRAFTING BLUEPRINT",
+ "item.create.crafting_blueprint.tooltip.summary": "_Placed_ on a wall, it can be used to _specify_ _ingredient_ _arrangements_ for easier manual crafting. Each slot represents a Recipe.",
+ "item.create.crafting_blueprint.condition1": "R-Click empty Slot",
+ "item.create.crafting_blueprint.behaviour1": "Opens a _Crafting_ _menu_ allowing you to _configure_ a _recipe_ and items to display.",
+ "item.create.crafting_blueprint.condition2": "R-Click configured Slot",
+ "item.create.crafting_blueprint.behaviour2": "_Applies_ the _configured_ _recipe_ with matching Ingredients found in your _Inventory_. _Sneak_ to craft up to a _Stack_ of items.",
"item.create.minecart_coupling.tooltip": "MINECART COUPLING",
"item.create.minecart_coupling.tooltip.summary": "_Chains_ all your _Minecarts_ or _Carriage Contraptions_ together to form a majestic Train.",
@@ -1418,6 +1486,25 @@
"create.tooltip.randomWipDescription7": "This one maybe isn't for you. What about that one?",
"create.tooltip.randomWipDescription8": "Use it and regret your decision immediately.",
+ "create.gui.chromatic_projector.title": "Chromatic Projector",
+ "create.gui.chromatic_projector.filter.invert": "Invert",
+ "create.gui.chromatic_projector.filter.sepia": "Sepia",
+ "create.gui.chromatic_projector.filter.grayscale": "Grayscale",
+ "create.gui.chromatic_projector.filter.saturate": "Saturate",
+ "create.gui.chromatic_projector.filter.hue_shift": "Hue shift",
+ "create.gui.chromatic_projector.filter.darken": "Darken",
+ "create.gui.chromatic_projector.filter.contrast": "Contrast",
+ "create.gui.chromatic_projector.filter.end": "End",
+ "create.gui.chromatic_projector.filter": "Filter",
+ "create.gui.chromatic_projector.surface": "Surface",
+ "create.gui.chromatic_projector.field": "Field",
+ "create.gui.chromatic_projector.strength": "Strength",
+ "create.gui.chromatic_projector.radius": "Radius",
+ "create.gui.chromatic_projector.feather": "Feather",
+ "create.gui.chromatic_projector.density": "Density",
+ "create.gui.chromatic_projector.fade": "Fade",
+ "create.gui.chromatic_projector.blend": "Blend",
+
"_": "->------------------------] Ponder Content [------------------------<-",
@@ -1593,7 +1680,7 @@
"create.ponder.chain_drive.text_3": "Any part of the row can be rotated by 90 degrees",
"create.ponder.chain_gearshift.header": "Controlling rotational speed with Chain Gearshifts",
- "create.ponder.chain_gearshift.text_1": "Unpowered Chain Gearshifts behave exacly like Chain Drives",
+ "create.ponder.chain_gearshift.text_1": "Unpowered Chain Gearshifts behave exactly like Chain Drives",
"create.ponder.chain_gearshift.text_2": "When Powered, the speed transmitted to other Chain Drives in the row is doubled",
"create.ponder.chain_gearshift.text_3": "Whenever the Powered Gearshift is not at the source, its speed will be halved instead",
"create.ponder.chain_gearshift.text_4": "In both cases, Chain Drives in the row always run at 2x the speed of the Powered Gearshift",
@@ -1633,6 +1720,8 @@
"create.ponder.cogwheel.text_1": "Cogwheels will relay rotation to other adjacent cogwheels",
"create.ponder.cogwheel.text_2": "Neighbouring shafts connected like this will rotate in opposite directions",
+ "create.ponder.creative_fluid_tank.header": "Creative Fluid Tanks",
+
"create.ponder.creative_motor.header": "Generating Rotational Force using Creative Motors",
"create.ponder.creative_motor.text_1": "Creative motors are a compact and configurable source of Rotational Force",
"create.ponder.creative_motor.text_2": "Scrolling on the back panel changes the RPM of the motors' rotational output",
@@ -1669,6 +1758,12 @@
"create.ponder.deployer_modes.text_1": "By default, a Deployer imitates a Right-click interaction",
"create.ponder.deployer_modes.text_2": "Using a Wrench, it can be set to imitate a Left-click instead",
+ "create.ponder.deployer_processing.header": "Processing Items using Deployers",
+ "create.ponder.deployer_processing.text_1": "With a fitting held item, Deployers can process items provided beneath them",
+ "create.ponder.deployer_processing.text_2": "The Input items can be dropped or placed on a Depot under the Deployer",
+ "create.ponder.deployer_processing.text_3": "When items are provided on a belt...",
+ "create.ponder.deployer_processing.text_4": "The Deployer will hold and process them automatically",
+
"create.ponder.deployer_redstone.header": "Controlling Deployers with Redstone",
"create.ponder.deployer_redstone.text_1": "When powered by Redstone, Deployers will not activate",
"create.ponder.deployer_redstone.text_2": "Before stopping, the Deployer will finish any started cycles",
@@ -1687,6 +1782,11 @@
"create.ponder.empty_blaze_burner.text_4": "For Aesthetic purposes, Empty Blaze Burners can also be lit using Flint and Steel",
"create.ponder.empty_blaze_burner.text_5": "However, these are not suitable for industrial heating",
+ "create.ponder.encased_fluid_pipe.header": "Encasing Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_1": "Copper Casing can be used to decorate Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_2": "Aside from being conceiled, Encased Pipes are locked into their connectivity state",
+ "create.ponder.encased_fluid_pipe.text_3": "It will no longer react to any neighbouring blocks being added or removed",
+
"create.ponder.fan_direction.header": "Air flow of Encased Fans",
"create.ponder.fan_direction.text_1": "Encased Fans use Rotational Force to create an Air Current",
"create.ponder.fan_direction.text_2": "Strength and Direction of Flow depends on the Rotational Input",
@@ -1705,6 +1805,26 @@
"create.ponder.fan_source.text_1": "Fans facing down into a source of heat can provide Rotational Force",
"create.ponder.fan_source.text_2": "When given a Redstone Signal, the Fans will start providing power",
+ "create.ponder.fluid_pipe_flow.header": "Moving Fluids using Copper Pipes",
+ "create.ponder.fluid_pipe_flow.text_1": "Fluid Pipes can connect two or more fluid sources and targets",
+ "create.ponder.fluid_pipe_flow.text_2": "Using a wrench, a straight pipe segment can be given a window",
+ "create.ponder.fluid_pipe_flow.text_3": "Windowed pipes will not connect to any other adjacent pipe segments",
+ "create.ponder.fluid_pipe_flow.text_4": "Powered by Mechanical Pumps, the Pipes can transport Fluids",
+ "create.ponder.fluid_pipe_flow.text_5": "No fluid is being extracted at first",
+ "create.ponder.fluid_pipe_flow.text_6": "Once the flow connects them, the endpoints gradually transfer their contents",
+ "create.ponder.fluid_pipe_flow.text_7": "Thus, the Pipe blocks themselves never 'physically' contain any fluid",
+
+ "create.ponder.fluid_pipe_interaction.header": "Draining and Filling fluid containers",
+ "create.ponder.fluid_pipe_interaction.text_1": "Endpoints of a pipe network can interact with a variety of blocks",
+ "create.ponder.fluid_pipe_interaction.text_2": "Any block with fluid storage capabilities can be filled or drained",
+ "create.ponder.fluid_pipe_interaction.text_3": "Source blocks right in front of an open end can be picked up...",
+ "create.ponder.fluid_pipe_interaction.text_4": "...while spilling into empty spaces can create fluid sources",
+ "create.ponder.fluid_pipe_interaction.text_5": "Pipes can also extract fluids from a handful of other blocks directly",
+
+ "create.ponder.fluid_tank_sizes.header": "Dimensions of a Fluid tank",
+
+ "create.ponder.fluid_tank_storage.header": "Storing Fluids in Fluid Tanks",
+
"create.ponder.flywheel.header": "Generating Rotational Force using the Flywheel",
"create.ponder.flywheel.text_1": "Flywheels are required for generating rotational force with the Furnace Engine",
"create.ponder.flywheel.text_2": "The provided Rotational Force has a very large stress capacity",
@@ -1778,6 +1898,14 @@
"create.ponder.hand_crank.text_3": "Its conveyed speed is relatively high",
"create.ponder.hand_crank.text_4": "Sneak and Hold Right-Click to rotate it Clockwise",
+ "create.ponder.hose_pulley.header": "Source Filling and Draining using Hose Pulleys",
+
+ "create.ponder.hose_pulley_infinite.header": "Passively Filling and Draining large bodies of Fluid",
+
+ "create.ponder.hose_pulley_level.header": "Fill and Drain level of Hose Pulleys",
+
+ "create.ponder.item_drain.header": "Emptying Fluid Containers using Item Drains",
+
"create.ponder.large_cogwheel.header": "Relaying rotational force using Large Cogwheels",
"create.ponder.large_cogwheel.text_1": "Large cogwheels can connect to each other at right angles",
"create.ponder.large_cogwheel.text_2": "It will help relaying conveyed speed to other axes of rotation",
@@ -1900,6 +2028,10 @@
"create.ponder.mechanical_press_compacting.text_3": "Some of those recipes may require the heat of a Blaze Burner",
"create.ponder.mechanical_press_compacting.text_4": "The filter slot can be used in case two recipes are conflicting.",
+ "create.ponder.mechanical_pump_flow.header": "Fluid Transportation using Mechanical Pumps",
+
+ "create.ponder.mechanical_pump_speed.header": "Throughput of Mechanical Pumps",
+
"create.ponder.mechanical_saw_breaker.header": "Cutting Trees with the Mechanical Saw",
"create.ponder.mechanical_saw_breaker.text_1": "When given Rotational Force, a Mechanical Saw will cut trees directly in front of it",
"create.ponder.mechanical_saw_breaker.text_2": "In order to cut the tree fully, the Saw has to break the last block connecting it to the ground",
@@ -1930,6 +2062,10 @@
"create.ponder.piston_pole.text_1": "Without attached Poles, a Mechanical Piston cannot move",
"create.ponder.piston_pole.text_2": "The Length of pole added at its back determines the Extension Range",
+ "create.ponder.portable_fluid_interface.header": "Contraption Fluid Exchange",
+
+ "create.ponder.portable_fluid_interface_redstone.header": "Redstone Control",
+
"create.ponder.portable_storage_interface.header": "Contraption Storage Exchange",
"create.ponder.portable_storage_interface.text_1": "Inventories on moving contraptions cannot be accessed by players.",
"create.ponder.portable_storage_interface.text_2": "This component can interact with storage without the need to stop the contraption.",
@@ -2027,11 +2163,17 @@
"create.ponder.smart_chute.text_3": "Use the Mouse Wheel to specify the extracted stack size",
"create.ponder.smart_chute.text_4": "Redstone power will prevent Smart Chutes from acting.",
+ "create.ponder.smart_pipe.header": "Controlling Fluid flow using Smart Pipes",
+
"create.ponder.speedometer.header": "Monitoring Kinetic information using the Speedometer",
"create.ponder.speedometer.text_1": "The Speedometer displays the current Speed of the attached components",
"create.ponder.speedometer.text_2": "When wearing Engineers' Goggles, the player can get more detailed information from the Gauge",
"create.ponder.speedometer.text_3": "Comparators can emit analog Restone Signals relative to the Speedometer's measurements",
+ "create.ponder.spout_access.header": "Moving fluids into Spouts",
+
+ "create.ponder.spout_filling.header": "Filling Items using a Spout",
+
"create.ponder.stabilized_bearings.header": "Stabilized Contraptions",
"create.ponder.stabilized_bearings.text_1": "Whenever Mechanical Bearings are themselves part of a moving Structure..",
"create.ponder.stabilized_bearings.text_2": "..they will attempt to keep themselves upright",
@@ -2063,6 +2205,8 @@
"create.ponder.valve_handle.text_4": "Sneak and Hold Right-Click to rotate it Clockwise",
"create.ponder.valve_handle.text_5": "Valve handles can be dyed for aesthetic purposes",
+ "create.ponder.valve_pipe.header": "Controlling Fluid flow using Valves",
+
"create.ponder.water_wheel.header": "Generating Rotational Force using Water Wheels",
"create.ponder.water_wheel.text_1": "Water Wheels draw force from adjacent Water Currents",
"create.ponder.water_wheel.text_2": "The more faces are powered, the faster the Water Wheel will rotate",
diff --git a/src/generated/resources/assets/create/lang/unfinished/de_de.json b/src/generated/resources/assets/create/lang/unfinished/de_de.json
index bffa0a121..d1e028884 100644
--- a/src/generated/resources/assets/create/lang/unfinished/de_de.json
+++ b/src/generated/resources/assets/create/lang/unfinished/de_de.json
@@ -1,5 +1,5 @@
{
- "_": "Missing Localizations: 942",
+ "_": "Missing Localizations: 1039",
"_": "->------------------------] Game Elements [------------------------<-",
@@ -414,6 +414,7 @@
"block.create.zinc_ore": "Zinkerz",
"entity.create.contraption": "Vorrichtung",
+ "entity.create.crafting_blueprint": "UNLOCALIZED: Crafting Blueprint",
"entity.create.gantry_contraption": "Portalkran Vorrichtung",
"entity.create.seat": "Sitz",
"entity.create.stationary_contraption": "Stationäre Vorrichtung",
@@ -444,6 +445,7 @@
"item.create.copper_nugget": "Kupferklumpen",
"item.create.copper_sheet": "Kupferblech",
"item.create.crafter_slot_cover": "Handwerkseinheit Slot Abdeckung",
+ "item.create.crafting_blueprint": "UNLOCALIZED: Crafting Blueprint",
"item.create.crushed_aluminum_ore": "Zerkleinertes Aluminiumerz",
"item.create.crushed_brass": "Zerkleinertes Messing",
"item.create.crushed_copper_ore": "Zerkleinertes Kupfererz",
@@ -475,6 +477,7 @@
"item.create.integrated_circuit": "Integrierter Schaltkreis",
"item.create.iron_sheet": "Eisenblech",
"item.create.lapis_sheet": "Lapislazuliblech",
+ "item.create.linked_controller": "UNLOCALIZED: Linked Controller",
"item.create.minecart_contraption": "Loren Vorrichtung",
"item.create.minecart_coupling": "Lorenkupplung",
"item.create.polished_rose_quartz": "Polierter Rosenquarz",
@@ -672,6 +675,13 @@
"create.block.deployer.damage_source_name": "einem Finger",
"create.block.cart_assembler.invalid": "Platziere deinen Lorenmonteur auf einer Schiene.",
+ "create.menu.return": "UNLOCALIZED: Return to Menu",
+ "create.menu.configure": "UNLOCALIZED: Configure...",
+ "create.menu.getting_started": "UNLOCALIZED: Getting Started",
+ "create.menu.project_page": "UNLOCALIZED: Project Page",
+ "create.menu.report_bugs": "UNLOCALIZED: Report Issues",
+ "create.menu.support": "UNLOCALIZED: Support Us",
+
"create.recipe.crushing": "Mahlen (Mahlwerk)",
"create.recipe.milling": "Mahlen (Mahlstein)",
"create.recipe.fan_washing": "Sammelwaschen",
@@ -1105,6 +1115,20 @@
"create.tooltip.chute.fans_pull_down": "Propeller ziehen von unterhalb",
"create.tooltip.chute.contains": "Enthält: %1$s x%2$s",
+ "create.linked_controller.bind_mode": "UNLOCALIZED: Bind mode active",
+ "create.linked_controller.press_keybind": "UNLOCALIZED: Press %1$s, %2$s, %3$s, %4$s, %5$s or %6$s, to bind this frequency to the respective key",
+ "create.linked_controller.key_bound": "UNLOCALIZED: Frequency bound to %1$s",
+ "create.linked_controller.frequency_slot_1": "UNLOCALIZED: Keybind: %1$s, Freq. #1",
+ "create.linked_controller.frequency_slot_2": "UNLOCALIZED: Keybind: %1$s, Freq. #2",
+
+ "create.crafting_blueprint.crafting_slot": "UNLOCALIZED: Ingredient Slot",
+ "create.crafting_blueprint.filter_items_viable": "UNLOCALIZED: Advanced filter items are viable",
+ "create.crafting_blueprint.display_slot": "UNLOCALIZED: Display Slot",
+ "create.crafting_blueprint.inferred": "UNLOCALIZED: Inferred from recipe",
+ "create.crafting_blueprint.manually_assigned": "UNLOCALIZED: Manually assigned",
+ "create.crafting_blueprint.secondary_display_slot": "UNLOCALIZED: Secondary Display Slot",
+ "create.crafting_blueprint.optional": "UNLOCALIZED: Optional",
+
"create.hint.hose_pulley.title": "Endlose Versorgung",
"create.hint.hose_pulley": "Das angewählte Gewässer wird als unendlich betrachtet.",
"create.hint.mechanical_arm_no_targets.title": "Keine Ziele",
@@ -1132,32 +1156,38 @@
"create.command.killTPSCommand.argument.tickTime": "tickTime",
"create.contraption.minecart_contraption_too_big": "UNLOCALIZED: This Cart Contraption seems too big to pick up",
+ "create.contraption.minecart_contraption_illegal_pickup": "UNLOCALIZED: A mystical force is binding this Cart Contraption to the world",
"_": "->------------------------] Subtitles [------------------------<-",
- "create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble",
- "create.subtitle.slime_added": "Schleim matscht",
+ "create.subtitle.saw_idle": "UNLOCALIZED: Mechanical Saw turns",
"create.subtitle.contraption_disassemble": "UNLOCALIZED: Contraption stops",
- "create.subtitle.wrench_rotate": "UNLOCALIZED: Wrench used",
"create.subtitle.mixing": "UNLOCALIZED: Mixing Noises",
"create.subtitle.mechanical_press_activation_belt": "UNLOCALIZED: Mechanical Press bonks",
"create.subtitle.worldshaper_place": "UNLOCALIZED: Worldshaper zaps",
- "create.subtitle.deployer_polish": "UNLOCALIZED: Deployer applies polish",
"create.subtitle.depot_slide": "UNLOCALIZED: Item slides",
- "create.subtitle.deny": "UNLOCALIZED: Declining boop",
+ "create.subtitle.saw_activate_stone": "UNLOCALIZED: Mechanical Saw activates",
"create.subtitle.blaze_munch": "Lohe kaut glücklich",
- "create.subtitle.schematicannon_launch_block": "Bauplankanone schießt",
"create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps",
- "create.subtitle.copper_armor_equip": "UNLOCALIZED: Diving equipment clinks",
"create.subtitle.schematicannon_finish": "Bauplankanone endet",
"create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks",
+ "create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
+ "create.subtitle.saw_process": "UNLOCALIZED: Mechanical Saw processes",
+ "create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
+ "create.subtitle.wrench_remove": "UNLOCALIZED: Component breaks",
+ "create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble",
+ "create.subtitle.slime_added": "Schleim matscht",
+ "create.subtitle.wrench_rotate": "UNLOCALIZED: Wrench used",
+ "create.subtitle.saw_activate_wood": "UNLOCALIZED: Mechanical Saw activates",
+ "create.subtitle.deployer_polish": "UNLOCALIZED: Deployer applies polish",
+ "create.subtitle.deny": "UNLOCALIZED: Declining boop",
+ "create.subtitle.controller_click": "UNLOCALIZED: Controller clicks",
+ "create.subtitle.schematicannon_launch_block": "Bauplankanone schießt",
+ "create.subtitle.copper_armor_equip": "UNLOCALIZED: Diving equipment clinks",
"create.subtitle.mechanical_press_activation": "Mechanische Presse wird aktiviert",
"create.subtitle.contraption_assemble": "UNLOCALIZED: Contraption moves",
- "create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
- "create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
"create.subtitle.crafter_click": "UNLOCALIZED: Crafter clicks",
- "create.subtitle.wrench_remove": "UNLOCALIZED: Component breaks",
"create.subtitle.depot_plop": "UNLOCALIZED: Item lands",
"create.subtitle.confirm": "UNLOCALIZED: Affirmative ding",
@@ -1398,27 +1428,52 @@
"item.create.refined_radiance.tooltip": "UNLOCALIZED: REFINED RADIANCE",
"item.create.refined_radiance.tooltip.summary": "UNLOCALIZED: A Chromatic material forged from _absorbed light_.",
+ "item.create.refined_radiance.tooltip.condition1": "UNLOCALIZED: Work In Progress",
+ "item.create.refined_radiance.tooltip.behaviour1": "UNLOCALIZED: Usages for this material will be available in a future release.",
"item.create.shadow_steel.tooltip": "UNLOCALIZED: SHADOW STEEL",
"item.create.shadow_steel.tooltip.summary": "UNLOCALIZED: A Chromatic material forged _in the void_.",
+ "item.create.shadow_steel.tooltip.condition1": "UNLOCALIZED: Work In Progress",
+ "item.create.shadow_steel.tooltip.behaviour1": "UNLOCALIZED: Usages for this material will be available in a future release.",
+
+ "item.create.linked_controller.tooltip": "UNLOCALIZED: LINKED CONTROLLER",
+ "item.create.linked_controller.tooltip.summary": "UNLOCALIZED: Grants _handheld_ _control_ over _Redstone Link_ frequencies assigned to its _six_ _buttons_.",
+ "item.create.linked_controller.tooltip.condition1": "UNLOCALIZED: R-Click",
+ "item.create.linked_controller.tooltip.behaviour1": "UNLOCALIZED: _Toggles_ the controller. _Movement_ _controls_ are taken over while its active.",
+ "item.create.linked_controller.tooltip.condition2": "UNLOCALIZED: R-Click while Sneaking",
+ "item.create.linked_controller.tooltip.behaviour2": "UNLOCALIZED: Opens the manual _Configuration Interface_.",
+ "item.create.linked_controller.tooltip.condition3": "UNLOCALIZED: R-Click on Redstone Link Receiver",
+ "item.create.linked_controller.tooltip.behaviour3": "UNLOCALIZED: Enables _Bind Mode_, press one of the _six controls_ to bind it to the _Links' Frequency_.",
+
+ "item.create.diving_helmet.tooltip": "UNLOCALIZED: DIVING HELMET",
+ "item.create.diving_helmet.tooltip.summary": "UNLOCALIZED: Together with a _Copper_ _Backtank_, allows the weilder to _breathe_ _underwater_ for an extended amount of time.",
+ "item.create.diving_helmet.tooltip.condition1": "UNLOCALIZED: When Worn",
+ "item.create.diving_helmet.tooltip.behaviour1": "UNLOCALIZED: Provides the _Water Breathing_ effect, slowly draining _Air Pressure_ from the Backtank.",
+
+ "item.create.copper_backtank.tooltip": "UNLOCALIZED: COPPER BACKTANK",
+ "item.create.copper_backtank.tooltip.summary": "UNLOCALIZED: A _Wearable_ _Tank_ for carrying Pressurized Air.",
+ "item.create.copper_backtank.tooltip.condition1": "UNLOCALIZED: When Worn",
+ "item.create.copper_backtank.tooltip.behaviour1": "UNLOCALIZED: Provides _Pressurized_ _Air_ to Equipment that requires it.",
+ "item.create.copper_backtank.tooltip.condition2": "UNLOCALIZED: When placed, Powered by Kinetics",
+ "item.create.copper_backtank.tooltip.behaviour2": "UNLOCALIZED: _Collects_ _Pressurized_ _Air_ at a rate depending on the Rotational Speed.",
+
+ "item.create.diving_boots.tooltip": "UNLOCALIZED: DIVING BOOTS",
+ "item.create.diving_boots.tooltip.summary": "UNLOCALIZED: A pair of _heavy_ _boots_, allowing for better traversal of the Ocean floor.",
+ "item.create.diving_boots.tooltip.condition1": "UNLOCALIZED: When Worn",
+ "item.create.diving_boots.tooltip.behaviour1": "UNLOCALIZED: Weilder _sinks_ _faster_ and _cannot_ _swim_. Grants the ability to _walk_ and _jump_ underwater. Weilder also is no longer affected by _Mechanical_ _Belts_.",
+
+ "item.create.crafting_blueprint.tooltip": "UNLOCALIZED: CRAFTING BLUEPRINT",
+ "item.create.crafting_blueprint.tooltip.summary": "UNLOCALIZED: _Placed_ on a wall, it can be used to _specify_ _ingredient_ _arrangements_ for easier manual crafting. Each slot represents a Recipe.",
+ "item.create.crafting_blueprint.condition1": "UNLOCALIZED: R-Click empty Slot",
+ "item.create.crafting_blueprint.behaviour1": "UNLOCALIZED: Opens a _Crafting_ _menu_ allowing you to _configure_ a _recipe_ and items to display.",
+ "item.create.crafting_blueprint.condition2": "UNLOCALIZED: R-Click configured Slot",
+ "item.create.crafting_blueprint.behaviour2": "UNLOCALIZED: _Applies_ the _configured_ _recipe_ with matching Ingredients found in your _Inventory_. _Sneak_ to craft up to a _Stack_ of items.",
"item.create.minecart_coupling.tooltip": "UNLOCALIZED: MINECART COUPLING",
"item.create.minecart_coupling.tooltip.summary": "UNLOCALIZED: _Chains_ all your _Minecarts_ or _Carriage Contraptions_ together to form a majestic Train.",
"item.create.minecart_coupling.tooltip.condition1": "UNLOCALIZED: When Used on Minecart",
"item.create.minecart_coupling.tooltip.behaviour1": "UNLOCALIZED: _Couples_ two Minecarts together, attempting to keep them at a _constant distance_ while moving.",
- "create.tooltip.wip": "WIP",
- "create.tooltip.workInProgress": "Work in progress!",
- "create.tooltip.randomWipDescription0": "Bitte halte dies fern von Kindern",
- "create.tooltip.randomWipDescription1": "Ein Babypanda stirbt jedes mal wenn du diesen Gegenstand benutzt. Jedes. Mal.",
- "create.tooltip.randomWipDescription2": "Benutzung auf eigene Gefahr.",
- "create.tooltip.randomWipDescription3": "Dies ist nicht der Gegenstand den du suchst, *wackelt mit Finger* bitte geht auseinander.",
- "create.tooltip.randomWipDescription4": "Dieser Gegenstand wird sich in 10 Sekunden selbst zerstören. 10, 9, 8...",
- "create.tooltip.randomWipDescription5": "Glaub mir, es ist nutzlos.",
- "create.tooltip.randomWipDescription6": "Bei der Verwendung dieses Gegenstands stimmst du hiermit unserem Haftungsausschluss zu und nimmst dessen Bedingungen an.",
- "create.tooltip.randomWipDescription7": "Dieser ist nicht für dich. Wie wäre es mit dem?",
- "create.tooltip.randomWipDescription8": "Benutze es und bereue deine Entscheidung umgehend.",
-
"_": "->------------------------] Ponder Content [------------------------<-",
@@ -1594,7 +1649,7 @@
"create.ponder.chain_drive.text_3": "UNLOCALIZED: Any part of the row can be rotated by 90 degrees",
"create.ponder.chain_gearshift.header": "UNLOCALIZED: Controlling rotational speed with Chain Gearshifts",
- "create.ponder.chain_gearshift.text_1": "UNLOCALIZED: Unpowered Chain Gearshifts behave exacly like Chain Drives",
+ "create.ponder.chain_gearshift.text_1": "UNLOCALIZED: Unpowered Chain Gearshifts behave exactly like Chain Drives",
"create.ponder.chain_gearshift.text_2": "UNLOCALIZED: When Powered, the speed transmitted to other Chain Drives in the row is doubled",
"create.ponder.chain_gearshift.text_3": "UNLOCALIZED: Whenever the Powered Gearshift is not at the source, its speed will be halved instead",
"create.ponder.chain_gearshift.text_4": "UNLOCALIZED: In both cases, Chain Drives in the row always run at 2x the speed of the Powered Gearshift",
@@ -1634,6 +1689,8 @@
"create.ponder.cogwheel.text_1": "UNLOCALIZED: Cogwheels will relay rotation to other adjacent cogwheels",
"create.ponder.cogwheel.text_2": "UNLOCALIZED: Neighbouring shafts connected like this will rotate in opposite directions",
+ "create.ponder.creative_fluid_tank.header": "UNLOCALIZED: Creative Fluid Tanks",
+
"create.ponder.creative_motor.header": "UNLOCALIZED: Generating Rotational Force using Creative Motors",
"create.ponder.creative_motor.text_1": "UNLOCALIZED: Creative motors are a compact and configurable source of Rotational Force",
"create.ponder.creative_motor.text_2": "UNLOCALIZED: Scrolling on the back panel changes the RPM of the motors' rotational output",
@@ -1670,6 +1727,12 @@
"create.ponder.deployer_modes.text_1": "UNLOCALIZED: By default, a Deployer imitates a Right-click interaction",
"create.ponder.deployer_modes.text_2": "UNLOCALIZED: Using a Wrench, it can be set to imitate a Left-click instead",
+ "create.ponder.deployer_processing.header": "UNLOCALIZED: Processing Items using Deployers",
+ "create.ponder.deployer_processing.text_1": "UNLOCALIZED: With a fitting held item, Deployers can process items provided beneath them",
+ "create.ponder.deployer_processing.text_2": "UNLOCALIZED: The Input items can be dropped or placed on a Depot under the Deployer",
+ "create.ponder.deployer_processing.text_3": "UNLOCALIZED: When items are provided on a belt...",
+ "create.ponder.deployer_processing.text_4": "UNLOCALIZED: The Deployer will hold and process them automatically",
+
"create.ponder.deployer_redstone.header": "UNLOCALIZED: Controlling Deployers with Redstone",
"create.ponder.deployer_redstone.text_1": "UNLOCALIZED: When powered by Redstone, Deployers will not activate",
"create.ponder.deployer_redstone.text_2": "UNLOCALIZED: Before stopping, the Deployer will finish any started cycles",
@@ -1688,6 +1751,11 @@
"create.ponder.empty_blaze_burner.text_4": "UNLOCALIZED: For Aesthetic purposes, Empty Blaze Burners can also be lit using Flint and Steel",
"create.ponder.empty_blaze_burner.text_5": "UNLOCALIZED: However, these are not suitable for industrial heating",
+ "create.ponder.encased_fluid_pipe.header": "UNLOCALIZED: Encasing Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_1": "UNLOCALIZED: Copper Casing can be used to decorate Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_2": "UNLOCALIZED: Aside from being conceiled, Encased Pipes are locked into their connectivity state",
+ "create.ponder.encased_fluid_pipe.text_3": "UNLOCALIZED: It will no longer react to any neighbouring blocks being added or removed",
+
"create.ponder.fan_direction.header": "UNLOCALIZED: Air flow of Encased Fans",
"create.ponder.fan_direction.text_1": "UNLOCALIZED: Encased Fans use Rotational Force to create an Air Current",
"create.ponder.fan_direction.text_2": "UNLOCALIZED: Strength and Direction of Flow depends on the Rotational Input",
@@ -1706,6 +1774,26 @@
"create.ponder.fan_source.text_1": "UNLOCALIZED: Fans facing down into a source of heat can provide Rotational Force",
"create.ponder.fan_source.text_2": "UNLOCALIZED: When given a Redstone Signal, the Fans will start providing power",
+ "create.ponder.fluid_pipe_flow.header": "UNLOCALIZED: Moving Fluids using Copper Pipes",
+ "create.ponder.fluid_pipe_flow.text_1": "UNLOCALIZED: Fluid Pipes can connect two or more fluid sources and targets",
+ "create.ponder.fluid_pipe_flow.text_2": "UNLOCALIZED: Using a wrench, a straight pipe segment can be given a window",
+ "create.ponder.fluid_pipe_flow.text_3": "UNLOCALIZED: Windowed pipes will not connect to any other adjacent pipe segments",
+ "create.ponder.fluid_pipe_flow.text_4": "UNLOCALIZED: Powered by Mechanical Pumps, the Pipes can transport Fluids",
+ "create.ponder.fluid_pipe_flow.text_5": "UNLOCALIZED: No fluid is being extracted at first",
+ "create.ponder.fluid_pipe_flow.text_6": "UNLOCALIZED: Once the flow connects them, the endpoints gradually transfer their contents",
+ "create.ponder.fluid_pipe_flow.text_7": "UNLOCALIZED: Thus, the Pipe blocks themselves never 'physically' contain any fluid",
+
+ "create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers",
+ "create.ponder.fluid_pipe_interaction.text_1": "UNLOCALIZED: Endpoints of a pipe network can interact with a variety of blocks",
+ "create.ponder.fluid_pipe_interaction.text_2": "UNLOCALIZED: Any block with fluid storage capabilities can be filled or drained",
+ "create.ponder.fluid_pipe_interaction.text_3": "UNLOCALIZED: Source blocks right in front of an open end can be picked up...",
+ "create.ponder.fluid_pipe_interaction.text_4": "UNLOCALIZED: ...while spilling into empty spaces can create fluid sources",
+ "create.ponder.fluid_pipe_interaction.text_5": "UNLOCALIZED: Pipes can also extract fluids from a handful of other blocks directly",
+
+ "create.ponder.fluid_tank_sizes.header": "UNLOCALIZED: Dimensions of a Fluid tank",
+
+ "create.ponder.fluid_tank_storage.header": "UNLOCALIZED: Storing Fluids in Fluid Tanks",
+
"create.ponder.flywheel.header": "UNLOCALIZED: Generating Rotational Force using the Flywheel",
"create.ponder.flywheel.text_1": "UNLOCALIZED: Flywheels are required for generating rotational force with the Furnace Engine",
"create.ponder.flywheel.text_2": "UNLOCALIZED: The provided Rotational Force has a very large stress capacity",
@@ -1779,6 +1867,14 @@
"create.ponder.hand_crank.text_3": "UNLOCALIZED: Its conveyed speed is relatively high",
"create.ponder.hand_crank.text_4": "UNLOCALIZED: Sneak and Hold Right-Click to rotate it Clockwise",
+ "create.ponder.hose_pulley.header": "UNLOCALIZED: Source Filling and Draining using Hose Pulleys",
+
+ "create.ponder.hose_pulley_infinite.header": "UNLOCALIZED: Passively Filling and Draining large bodies of Fluid",
+
+ "create.ponder.hose_pulley_level.header": "UNLOCALIZED: Fill and Drain level of Hose Pulleys",
+
+ "create.ponder.item_drain.header": "UNLOCALIZED: Emptying Fluid Containers using Item Drains",
+
"create.ponder.large_cogwheel.header": "UNLOCALIZED: Relaying rotational force using Large Cogwheels",
"create.ponder.large_cogwheel.text_1": "UNLOCALIZED: Large cogwheels can connect to each other at right angles",
"create.ponder.large_cogwheel.text_2": "UNLOCALIZED: It will help relaying conveyed speed to other axes of rotation",
@@ -1901,6 +1997,10 @@
"create.ponder.mechanical_press_compacting.text_3": "UNLOCALIZED: Some of those recipes may require the heat of a Blaze Burner",
"create.ponder.mechanical_press_compacting.text_4": "UNLOCALIZED: The filter slot can be used in case two recipes are conflicting.",
+ "create.ponder.mechanical_pump_flow.header": "UNLOCALIZED: Fluid Transportation using Mechanical Pumps",
+
+ "create.ponder.mechanical_pump_speed.header": "UNLOCALIZED: Throughput of Mechanical Pumps",
+
"create.ponder.mechanical_saw_breaker.header": "UNLOCALIZED: Cutting Trees with the Mechanical Saw",
"create.ponder.mechanical_saw_breaker.text_1": "UNLOCALIZED: When given Rotational Force, a Mechanical Saw will cut trees directly in front of it",
"create.ponder.mechanical_saw_breaker.text_2": "UNLOCALIZED: In order to cut the tree fully, the Saw has to break the last block connecting it to the ground",
@@ -1931,6 +2031,10 @@
"create.ponder.piston_pole.text_1": "UNLOCALIZED: Without attached Poles, a Mechanical Piston cannot move",
"create.ponder.piston_pole.text_2": "UNLOCALIZED: The Length of pole added at its back determines the Extension Range",
+ "create.ponder.portable_fluid_interface.header": "UNLOCALIZED: Contraption Fluid Exchange",
+
+ "create.ponder.portable_fluid_interface_redstone.header": "UNLOCALIZED: Redstone Control",
+
"create.ponder.portable_storage_interface.header": "UNLOCALIZED: Contraption Storage Exchange",
"create.ponder.portable_storage_interface.text_1": "UNLOCALIZED: Inventories on moving contraptions cannot be accessed by players.",
"create.ponder.portable_storage_interface.text_2": "UNLOCALIZED: This component can interact with storage without the need to stop the contraption.",
@@ -2028,11 +2132,17 @@
"create.ponder.smart_chute.text_3": "UNLOCALIZED: Use the Mouse Wheel to specify the extracted stack size",
"create.ponder.smart_chute.text_4": "UNLOCALIZED: Redstone power will prevent Smart Chutes from acting.",
+ "create.ponder.smart_pipe.header": "UNLOCALIZED: Controlling Fluid flow using Smart Pipes",
+
"create.ponder.speedometer.header": "UNLOCALIZED: Monitoring Kinetic information using the Speedometer",
"create.ponder.speedometer.text_1": "UNLOCALIZED: The Speedometer displays the current Speed of the attached components",
"create.ponder.speedometer.text_2": "UNLOCALIZED: When wearing Engineers' Goggles, the player can get more detailed information from the Gauge",
"create.ponder.speedometer.text_3": "UNLOCALIZED: Comparators can emit analog Restone Signals relative to the Speedometer's measurements",
+ "create.ponder.spout_access.header": "UNLOCALIZED: Moving fluids into Spouts",
+
+ "create.ponder.spout_filling.header": "UNLOCALIZED: Filling Items using a Spout",
+
"create.ponder.stabilized_bearings.header": "UNLOCALIZED: Stabilized Contraptions",
"create.ponder.stabilized_bearings.text_1": "UNLOCALIZED: Whenever Mechanical Bearings are themselves part of a moving Structure..",
"create.ponder.stabilized_bearings.text_2": "UNLOCALIZED: ..they will attempt to keep themselves upright",
@@ -2064,6 +2174,8 @@
"create.ponder.valve_handle.text_4": "UNLOCALIZED: Sneak and Hold Right-Click to rotate it Clockwise",
"create.ponder.valve_handle.text_5": "UNLOCALIZED: Valve handles can be dyed for aesthetic purposes",
+ "create.ponder.valve_pipe.header": "UNLOCALIZED: Controlling Fluid flow using Valves",
+
"create.ponder.water_wheel.header": "UNLOCALIZED: Generating Rotational Force using Water Wheels",
"create.ponder.water_wheel.text_1": "UNLOCALIZED: Water Wheels draw force from adjacent Water Currents",
"create.ponder.water_wheel.text_2": "UNLOCALIZED: The more faces are powered, the faster the Water Wheel will rotate",
diff --git a/src/generated/resources/assets/create/lang/unfinished/es_es.json b/src/generated/resources/assets/create/lang/unfinished/es_es.json
index 12880cfef..56f7e7460 100644
--- a/src/generated/resources/assets/create/lang/unfinished/es_es.json
+++ b/src/generated/resources/assets/create/lang/unfinished/es_es.json
@@ -1,5 +1,5 @@
{
- "_": "Missing Localizations: 643",
+ "_": "Missing Localizations: 740",
"_": "->------------------------] Game Elements [------------------------<-",
@@ -414,6 +414,7 @@
"block.create.zinc_ore": "Mineral de zinc",
"entity.create.contraption": "Artilugio",
+ "entity.create.crafting_blueprint": "UNLOCALIZED: Crafting Blueprint",
"entity.create.gantry_contraption": "Artilugio de grúa",
"entity.create.seat": "Asiento",
"entity.create.stationary_contraption": "Artilugio estacionario",
@@ -444,6 +445,7 @@
"item.create.copper_nugget": "Pepita de cobre",
"item.create.copper_sheet": "Lámina de cobre",
"item.create.crafter_slot_cover": "Tapa de ranura del Autoensamblador mecánico",
+ "item.create.crafting_blueprint": "UNLOCALIZED: Crafting Blueprint",
"item.create.crushed_aluminum_ore": "Mineral de aluminio molido",
"item.create.crushed_brass": "Latón molido",
"item.create.crushed_copper_ore": "Mineral de cobre molido",
@@ -475,6 +477,7 @@
"item.create.integrated_circuit": "Chip de circuito integrado",
"item.create.iron_sheet": "Lámina de hierro",
"item.create.lapis_sheet": "Lámina de lapislázuli",
+ "item.create.linked_controller": "UNLOCALIZED: Linked Controller",
"item.create.minecart_contraption": "Artilugio de vagoneta",
"item.create.minecart_coupling": "Acoplamiento de vagoneta",
"item.create.polished_rose_quartz": "Cuarzo rosado pulido",
@@ -672,6 +675,13 @@
"create.block.deployer.damage_source_name": "un Desplegador rebelde",
"create.block.cart_assembler.invalid": "Coloque su Ensamblador de vagonetas en un bloque de Raíles",
+ "create.menu.return": "UNLOCALIZED: Return to Menu",
+ "create.menu.configure": "UNLOCALIZED: Configure...",
+ "create.menu.getting_started": "UNLOCALIZED: Getting Started",
+ "create.menu.project_page": "UNLOCALIZED: Project Page",
+ "create.menu.report_bugs": "UNLOCALIZED: Report Issues",
+ "create.menu.support": "UNLOCALIZED: Support Us",
+
"create.recipe.crushing": "Trituración",
"create.recipe.milling": "Fresado",
"create.recipe.fan_washing": "Lavado a granel",
@@ -1105,6 +1115,20 @@
"create.tooltip.chute.fans_pull_down": "Los ventiladores tiran desde abajo",
"create.tooltip.chute.contains": "Contiene: %1$s x%2$s",
+ "create.linked_controller.bind_mode": "UNLOCALIZED: Bind mode active",
+ "create.linked_controller.press_keybind": "UNLOCALIZED: Press %1$s, %2$s, %3$s, %4$s, %5$s or %6$s, to bind this frequency to the respective key",
+ "create.linked_controller.key_bound": "UNLOCALIZED: Frequency bound to %1$s",
+ "create.linked_controller.frequency_slot_1": "UNLOCALIZED: Keybind: %1$s, Freq. #1",
+ "create.linked_controller.frequency_slot_2": "UNLOCALIZED: Keybind: %1$s, Freq. #2",
+
+ "create.crafting_blueprint.crafting_slot": "UNLOCALIZED: Ingredient Slot",
+ "create.crafting_blueprint.filter_items_viable": "UNLOCALIZED: Advanced filter items are viable",
+ "create.crafting_blueprint.display_slot": "UNLOCALIZED: Display Slot",
+ "create.crafting_blueprint.inferred": "UNLOCALIZED: Inferred from recipe",
+ "create.crafting_blueprint.manually_assigned": "UNLOCALIZED: Manually assigned",
+ "create.crafting_blueprint.secondary_display_slot": "UNLOCALIZED: Secondary Display Slot",
+ "create.crafting_blueprint.optional": "UNLOCALIZED: Optional",
+
"create.hint.hose_pulley.title": "Suministro sin fondo",
"create.hint.hose_pulley": "La masa de fluido objetivo se considera infinita",
"create.hint.mechanical_arm_no_targets.title": "No hay objetivos",
@@ -1132,32 +1156,38 @@
"create.command.killTPSCommand.argument.tickTime": "tickTime",
"create.contraption.minecart_contraption_too_big": "UNLOCALIZED: This Cart Contraption seems too big to pick up",
+ "create.contraption.minecart_contraption_illegal_pickup": "UNLOCALIZED: A mystical force is binding this Cart Contraption to the world",
"_": "->------------------------] Subtitles [------------------------<-",
- "create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble",
- "create.subtitle.slime_added": "Slime aplastado",
+ "create.subtitle.saw_idle": "UNLOCALIZED: Mechanical Saw turns",
"create.subtitle.contraption_disassemble": "UNLOCALIZED: Contraption stops",
- "create.subtitle.wrench_rotate": "UNLOCALIZED: Wrench used",
"create.subtitle.mixing": "UNLOCALIZED: Mixing Noises",
"create.subtitle.mechanical_press_activation_belt": "UNLOCALIZED: Mechanical Press bonks",
"create.subtitle.worldshaper_place": "UNLOCALIZED: Worldshaper zaps",
- "create.subtitle.deployer_polish": "UNLOCALIZED: Deployer applies polish",
"create.subtitle.depot_slide": "UNLOCALIZED: Item slides",
- "create.subtitle.deny": "UNLOCALIZED: Declining boop",
+ "create.subtitle.saw_activate_stone": "UNLOCALIZED: Mechanical Saw activates",
"create.subtitle.blaze_munch": "Blaze mastica felizmente",
- "create.subtitle.schematicannon_launch_block": "Disparos de Schematicannon",
"create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps",
- "create.subtitle.copper_armor_equip": "UNLOCALIZED: Diving equipment clinks",
"create.subtitle.schematicannon_finish": "Acabados de Schematicannon",
"create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks",
+ "create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
+ "create.subtitle.saw_process": "UNLOCALIZED: Mechanical Saw processes",
+ "create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
+ "create.subtitle.wrench_remove": "UNLOCALIZED: Component breaks",
+ "create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble",
+ "create.subtitle.slime_added": "Slime aplastado",
+ "create.subtitle.wrench_rotate": "UNLOCALIZED: Wrench used",
+ "create.subtitle.saw_activate_wood": "UNLOCALIZED: Mechanical Saw activates",
+ "create.subtitle.deployer_polish": "UNLOCALIZED: Deployer applies polish",
+ "create.subtitle.deny": "UNLOCALIZED: Declining boop",
+ "create.subtitle.controller_click": "UNLOCALIZED: Controller clicks",
+ "create.subtitle.schematicannon_launch_block": "Disparos de Schematicannon",
+ "create.subtitle.copper_armor_equip": "UNLOCALIZED: Diving equipment clinks",
"create.subtitle.mechanical_press_activation": "La Prensa Mecánica se activa",
"create.subtitle.contraption_assemble": "UNLOCALIZED: Contraption moves",
- "create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
- "create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
"create.subtitle.crafter_click": "UNLOCALIZED: Crafter clicks",
- "create.subtitle.wrench_remove": "UNLOCALIZED: Component breaks",
"create.subtitle.depot_plop": "UNLOCALIZED: Item lands",
"create.subtitle.confirm": "UNLOCALIZED: Affirmative ding",
@@ -1398,27 +1428,52 @@
"item.create.refined_radiance.tooltip": "RESPLANDOR REFINADO",
"item.create.refined_radiance.tooltip.summary": "Material cromático forjado a partir de _luz absorbida_",
+ "item.create.refined_radiance.tooltip.condition1": "UNLOCALIZED: Work In Progress",
+ "item.create.refined_radiance.tooltip.behaviour1": "UNLOCALIZED: Usages for this material will be available in a future release.",
"item.create.shadow_steel.tooltip": "ACERO SOMBRÍO",
"item.create.shadow_steel.tooltip.summary": "Un material cromático forjado _en el vacío_",
+ "item.create.shadow_steel.tooltip.condition1": "UNLOCALIZED: Work In Progress",
+ "item.create.shadow_steel.tooltip.behaviour1": "UNLOCALIZED: Usages for this material will be available in a future release.",
+
+ "item.create.linked_controller.tooltip": "UNLOCALIZED: LINKED CONTROLLER",
+ "item.create.linked_controller.tooltip.summary": "UNLOCALIZED: Grants _handheld_ _control_ over _Redstone Link_ frequencies assigned to its _six_ _buttons_.",
+ "item.create.linked_controller.tooltip.condition1": "UNLOCALIZED: R-Click",
+ "item.create.linked_controller.tooltip.behaviour1": "UNLOCALIZED: _Toggles_ the controller. _Movement_ _controls_ are taken over while its active.",
+ "item.create.linked_controller.tooltip.condition2": "UNLOCALIZED: R-Click while Sneaking",
+ "item.create.linked_controller.tooltip.behaviour2": "UNLOCALIZED: Opens the manual _Configuration Interface_.",
+ "item.create.linked_controller.tooltip.condition3": "UNLOCALIZED: R-Click on Redstone Link Receiver",
+ "item.create.linked_controller.tooltip.behaviour3": "UNLOCALIZED: Enables _Bind Mode_, press one of the _six controls_ to bind it to the _Links' Frequency_.",
+
+ "item.create.diving_helmet.tooltip": "UNLOCALIZED: DIVING HELMET",
+ "item.create.diving_helmet.tooltip.summary": "UNLOCALIZED: Together with a _Copper_ _Backtank_, allows the weilder to _breathe_ _underwater_ for an extended amount of time.",
+ "item.create.diving_helmet.tooltip.condition1": "UNLOCALIZED: When Worn",
+ "item.create.diving_helmet.tooltip.behaviour1": "UNLOCALIZED: Provides the _Water Breathing_ effect, slowly draining _Air Pressure_ from the Backtank.",
+
+ "item.create.copper_backtank.tooltip": "UNLOCALIZED: COPPER BACKTANK",
+ "item.create.copper_backtank.tooltip.summary": "UNLOCALIZED: A _Wearable_ _Tank_ for carrying Pressurized Air.",
+ "item.create.copper_backtank.tooltip.condition1": "UNLOCALIZED: When Worn",
+ "item.create.copper_backtank.tooltip.behaviour1": "UNLOCALIZED: Provides _Pressurized_ _Air_ to Equipment that requires it.",
+ "item.create.copper_backtank.tooltip.condition2": "UNLOCALIZED: When placed, Powered by Kinetics",
+ "item.create.copper_backtank.tooltip.behaviour2": "UNLOCALIZED: _Collects_ _Pressurized_ _Air_ at a rate depending on the Rotational Speed.",
+
+ "item.create.diving_boots.tooltip": "UNLOCALIZED: DIVING BOOTS",
+ "item.create.diving_boots.tooltip.summary": "UNLOCALIZED: A pair of _heavy_ _boots_, allowing for better traversal of the Ocean floor.",
+ "item.create.diving_boots.tooltip.condition1": "UNLOCALIZED: When Worn",
+ "item.create.diving_boots.tooltip.behaviour1": "UNLOCALIZED: Weilder _sinks_ _faster_ and _cannot_ _swim_. Grants the ability to _walk_ and _jump_ underwater. Weilder also is no longer affected by _Mechanical_ _Belts_.",
+
+ "item.create.crafting_blueprint.tooltip": "UNLOCALIZED: CRAFTING BLUEPRINT",
+ "item.create.crafting_blueprint.tooltip.summary": "UNLOCALIZED: _Placed_ on a wall, it can be used to _specify_ _ingredient_ _arrangements_ for easier manual crafting. Each slot represents a Recipe.",
+ "item.create.crafting_blueprint.condition1": "UNLOCALIZED: R-Click empty Slot",
+ "item.create.crafting_blueprint.behaviour1": "UNLOCALIZED: Opens a _Crafting_ _menu_ allowing you to _configure_ a _recipe_ and items to display.",
+ "item.create.crafting_blueprint.condition2": "UNLOCALIZED: R-Click configured Slot",
+ "item.create.crafting_blueprint.behaviour2": "UNLOCALIZED: _Applies_ the _configured_ _recipe_ with matching Ingredients found in your _Inventory_. _Sneak_ to craft up to a _Stack_ of items.",
"item.create.minecart_coupling.tooltip": "ENSAMBLADOR DE VAGONETAS",
"item.create.minecart_coupling.tooltip.summary": "_Encadena_ todas tus _Vagonetas_ o _Artilugios de vagoneta_ para formar un majestuoso Tren",
"item.create.minecart_coupling.tooltip.condition1": "Cuando se utiliza en Vagonetas",
"item.create.minecart_coupling.tooltip.behaviour1": "_Acopla_ dos Vagonetas, intentando mantenerlas a una _distancia constante_ mientras se mueven",
- "create.tooltip.wip": "WIP",
- "create.tooltip.workInProgress": "¡Trabajo en curso!",
- "create.tooltip.randomWipDescription0": "Por favor, mantenga este artículo fuera del alcance de los niños",
- "create.tooltip.randomWipDescription1": "Un bebé panda muere cada vez que usas este objeto. Cada vez. Cada vez",
- "create.tooltip.randomWipDescription2": "Úsalo bajo tu propio riesgo",
- "create.tooltip.randomWipDescription3": "Este no es el objeto que buscas, *mueve los dedos* por favor, dispérsate",
- "create.tooltip.randomWipDescription4": "Este objeto se autodestruirá en 10 segundos. 10, 9, 8...",
- "create.tooltip.randomWipDescription5": "Créeme, es inútil",
- "create.tooltip.randomWipDescription6": "Al utilizar este elemento, aceptas nuestra exención de responsabilidad y estás de acuerdo con sus términos",
- "create.tooltip.randomWipDescription7": "Este quizás no es para ti. ¿Qué tal ese?",
- "create.tooltip.randomWipDescription8": "Úsalo y arrepiéntete de tu decisión inmediatamente",
-
"_": "->------------------------] Ponder Content [------------------------<-",
@@ -1594,7 +1649,7 @@
"create.ponder.chain_drive.text_3": "UNLOCALIZED: Any part of the row can be rotated by 90 degrees",
"create.ponder.chain_gearshift.header": "UNLOCALIZED: Controlling rotational speed with Chain Gearshifts",
- "create.ponder.chain_gearshift.text_1": "UNLOCALIZED: Unpowered Chain Gearshifts behave exacly like Chain Drives",
+ "create.ponder.chain_gearshift.text_1": "UNLOCALIZED: Unpowered Chain Gearshifts behave exactly like Chain Drives",
"create.ponder.chain_gearshift.text_2": "UNLOCALIZED: When Powered, the speed transmitted to other Chain Drives in the row is doubled",
"create.ponder.chain_gearshift.text_3": "UNLOCALIZED: Whenever the Powered Gearshift is not at the source, its speed will be halved instead",
"create.ponder.chain_gearshift.text_4": "UNLOCALIZED: In both cases, Chain Drives in the row always run at 2x the speed of the Powered Gearshift",
@@ -1634,6 +1689,8 @@
"create.ponder.cogwheel.text_1": "UNLOCALIZED: Cogwheels will relay rotation to other adjacent cogwheels",
"create.ponder.cogwheel.text_2": "UNLOCALIZED: Neighbouring shafts connected like this will rotate in opposite directions",
+ "create.ponder.creative_fluid_tank.header": "UNLOCALIZED: Creative Fluid Tanks",
+
"create.ponder.creative_motor.header": "UNLOCALIZED: Generating Rotational Force using Creative Motors",
"create.ponder.creative_motor.text_1": "UNLOCALIZED: Creative motors are a compact and configurable source of Rotational Force",
"create.ponder.creative_motor.text_2": "UNLOCALIZED: Scrolling on the back panel changes the RPM of the motors' rotational output",
@@ -1670,6 +1727,12 @@
"create.ponder.deployer_modes.text_1": "UNLOCALIZED: By default, a Deployer imitates a Right-click interaction",
"create.ponder.deployer_modes.text_2": "UNLOCALIZED: Using a Wrench, it can be set to imitate a Left-click instead",
+ "create.ponder.deployer_processing.header": "UNLOCALIZED: Processing Items using Deployers",
+ "create.ponder.deployer_processing.text_1": "UNLOCALIZED: With a fitting held item, Deployers can process items provided beneath them",
+ "create.ponder.deployer_processing.text_2": "UNLOCALIZED: The Input items can be dropped or placed on a Depot under the Deployer",
+ "create.ponder.deployer_processing.text_3": "UNLOCALIZED: When items are provided on a belt...",
+ "create.ponder.deployer_processing.text_4": "UNLOCALIZED: The Deployer will hold and process them automatically",
+
"create.ponder.deployer_redstone.header": "UNLOCALIZED: Controlling Deployers with Redstone",
"create.ponder.deployer_redstone.text_1": "UNLOCALIZED: When powered by Redstone, Deployers will not activate",
"create.ponder.deployer_redstone.text_2": "UNLOCALIZED: Before stopping, the Deployer will finish any started cycles",
@@ -1688,6 +1751,11 @@
"create.ponder.empty_blaze_burner.text_4": "UNLOCALIZED: For Aesthetic purposes, Empty Blaze Burners can also be lit using Flint and Steel",
"create.ponder.empty_blaze_burner.text_5": "UNLOCALIZED: However, these are not suitable for industrial heating",
+ "create.ponder.encased_fluid_pipe.header": "UNLOCALIZED: Encasing Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_1": "UNLOCALIZED: Copper Casing can be used to decorate Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_2": "UNLOCALIZED: Aside from being conceiled, Encased Pipes are locked into their connectivity state",
+ "create.ponder.encased_fluid_pipe.text_3": "UNLOCALIZED: It will no longer react to any neighbouring blocks being added or removed",
+
"create.ponder.fan_direction.header": "UNLOCALIZED: Air flow of Encased Fans",
"create.ponder.fan_direction.text_1": "UNLOCALIZED: Encased Fans use Rotational Force to create an Air Current",
"create.ponder.fan_direction.text_2": "UNLOCALIZED: Strength and Direction of Flow depends on the Rotational Input",
@@ -1706,6 +1774,26 @@
"create.ponder.fan_source.text_1": "UNLOCALIZED: Fans facing down into a source of heat can provide Rotational Force",
"create.ponder.fan_source.text_2": "UNLOCALIZED: When given a Redstone Signal, the Fans will start providing power",
+ "create.ponder.fluid_pipe_flow.header": "UNLOCALIZED: Moving Fluids using Copper Pipes",
+ "create.ponder.fluid_pipe_flow.text_1": "UNLOCALIZED: Fluid Pipes can connect two or more fluid sources and targets",
+ "create.ponder.fluid_pipe_flow.text_2": "UNLOCALIZED: Using a wrench, a straight pipe segment can be given a window",
+ "create.ponder.fluid_pipe_flow.text_3": "UNLOCALIZED: Windowed pipes will not connect to any other adjacent pipe segments",
+ "create.ponder.fluid_pipe_flow.text_4": "UNLOCALIZED: Powered by Mechanical Pumps, the Pipes can transport Fluids",
+ "create.ponder.fluid_pipe_flow.text_5": "UNLOCALIZED: No fluid is being extracted at first",
+ "create.ponder.fluid_pipe_flow.text_6": "UNLOCALIZED: Once the flow connects them, the endpoints gradually transfer their contents",
+ "create.ponder.fluid_pipe_flow.text_7": "UNLOCALIZED: Thus, the Pipe blocks themselves never 'physically' contain any fluid",
+
+ "create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers",
+ "create.ponder.fluid_pipe_interaction.text_1": "UNLOCALIZED: Endpoints of a pipe network can interact with a variety of blocks",
+ "create.ponder.fluid_pipe_interaction.text_2": "UNLOCALIZED: Any block with fluid storage capabilities can be filled or drained",
+ "create.ponder.fluid_pipe_interaction.text_3": "UNLOCALIZED: Source blocks right in front of an open end can be picked up...",
+ "create.ponder.fluid_pipe_interaction.text_4": "UNLOCALIZED: ...while spilling into empty spaces can create fluid sources",
+ "create.ponder.fluid_pipe_interaction.text_5": "UNLOCALIZED: Pipes can also extract fluids from a handful of other blocks directly",
+
+ "create.ponder.fluid_tank_sizes.header": "UNLOCALIZED: Dimensions of a Fluid tank",
+
+ "create.ponder.fluid_tank_storage.header": "UNLOCALIZED: Storing Fluids in Fluid Tanks",
+
"create.ponder.flywheel.header": "UNLOCALIZED: Generating Rotational Force using the Flywheel",
"create.ponder.flywheel.text_1": "UNLOCALIZED: Flywheels are required for generating rotational force with the Furnace Engine",
"create.ponder.flywheel.text_2": "UNLOCALIZED: The provided Rotational Force has a very large stress capacity",
@@ -1779,6 +1867,14 @@
"create.ponder.hand_crank.text_3": "UNLOCALIZED: Its conveyed speed is relatively high",
"create.ponder.hand_crank.text_4": "UNLOCALIZED: Sneak and Hold Right-Click to rotate it Clockwise",
+ "create.ponder.hose_pulley.header": "UNLOCALIZED: Source Filling and Draining using Hose Pulleys",
+
+ "create.ponder.hose_pulley_infinite.header": "UNLOCALIZED: Passively Filling and Draining large bodies of Fluid",
+
+ "create.ponder.hose_pulley_level.header": "UNLOCALIZED: Fill and Drain level of Hose Pulleys",
+
+ "create.ponder.item_drain.header": "UNLOCALIZED: Emptying Fluid Containers using Item Drains",
+
"create.ponder.large_cogwheel.header": "UNLOCALIZED: Relaying rotational force using Large Cogwheels",
"create.ponder.large_cogwheel.text_1": "UNLOCALIZED: Large cogwheels can connect to each other at right angles",
"create.ponder.large_cogwheel.text_2": "UNLOCALIZED: It will help relaying conveyed speed to other axes of rotation",
@@ -1901,6 +1997,10 @@
"create.ponder.mechanical_press_compacting.text_3": "UNLOCALIZED: Some of those recipes may require the heat of a Blaze Burner",
"create.ponder.mechanical_press_compacting.text_4": "UNLOCALIZED: The filter slot can be used in case two recipes are conflicting.",
+ "create.ponder.mechanical_pump_flow.header": "UNLOCALIZED: Fluid Transportation using Mechanical Pumps",
+
+ "create.ponder.mechanical_pump_speed.header": "UNLOCALIZED: Throughput of Mechanical Pumps",
+
"create.ponder.mechanical_saw_breaker.header": "UNLOCALIZED: Cutting Trees with the Mechanical Saw",
"create.ponder.mechanical_saw_breaker.text_1": "UNLOCALIZED: When given Rotational Force, a Mechanical Saw will cut trees directly in front of it",
"create.ponder.mechanical_saw_breaker.text_2": "UNLOCALIZED: In order to cut the tree fully, the Saw has to break the last block connecting it to the ground",
@@ -1931,6 +2031,10 @@
"create.ponder.piston_pole.text_1": "UNLOCALIZED: Without attached Poles, a Mechanical Piston cannot move",
"create.ponder.piston_pole.text_2": "UNLOCALIZED: The Length of pole added at its back determines the Extension Range",
+ "create.ponder.portable_fluid_interface.header": "UNLOCALIZED: Contraption Fluid Exchange",
+
+ "create.ponder.portable_fluid_interface_redstone.header": "UNLOCALIZED: Redstone Control",
+
"create.ponder.portable_storage_interface.header": "UNLOCALIZED: Contraption Storage Exchange",
"create.ponder.portable_storage_interface.text_1": "UNLOCALIZED: Inventories on moving contraptions cannot be accessed by players.",
"create.ponder.portable_storage_interface.text_2": "UNLOCALIZED: This component can interact with storage without the need to stop the contraption.",
@@ -2028,11 +2132,17 @@
"create.ponder.smart_chute.text_3": "UNLOCALIZED: Use the Mouse Wheel to specify the extracted stack size",
"create.ponder.smart_chute.text_4": "UNLOCALIZED: Redstone power will prevent Smart Chutes from acting.",
+ "create.ponder.smart_pipe.header": "UNLOCALIZED: Controlling Fluid flow using Smart Pipes",
+
"create.ponder.speedometer.header": "UNLOCALIZED: Monitoring Kinetic information using the Speedometer",
"create.ponder.speedometer.text_1": "UNLOCALIZED: The Speedometer displays the current Speed of the attached components",
"create.ponder.speedometer.text_2": "UNLOCALIZED: When wearing Engineers' Goggles, the player can get more detailed information from the Gauge",
"create.ponder.speedometer.text_3": "UNLOCALIZED: Comparators can emit analog Restone Signals relative to the Speedometer's measurements",
+ "create.ponder.spout_access.header": "UNLOCALIZED: Moving fluids into Spouts",
+
+ "create.ponder.spout_filling.header": "UNLOCALIZED: Filling Items using a Spout",
+
"create.ponder.stabilized_bearings.header": "UNLOCALIZED: Stabilized Contraptions",
"create.ponder.stabilized_bearings.text_1": "UNLOCALIZED: Whenever Mechanical Bearings are themselves part of a moving Structure..",
"create.ponder.stabilized_bearings.text_2": "UNLOCALIZED: ..they will attempt to keep themselves upright",
@@ -2064,6 +2174,8 @@
"create.ponder.valve_handle.text_4": "UNLOCALIZED: Sneak and Hold Right-Click to rotate it Clockwise",
"create.ponder.valve_handle.text_5": "UNLOCALIZED: Valve handles can be dyed for aesthetic purposes",
+ "create.ponder.valve_pipe.header": "UNLOCALIZED: Controlling Fluid flow using Valves",
+
"create.ponder.water_wheel.header": "UNLOCALIZED: Generating Rotational Force using Water Wheels",
"create.ponder.water_wheel.text_1": "UNLOCALIZED: Water Wheels draw force from adjacent Water Currents",
"create.ponder.water_wheel.text_2": "UNLOCALIZED: The more faces are powered, the faster the Water Wheel will rotate",
diff --git a/src/generated/resources/assets/create/lang/unfinished/es_mx.json b/src/generated/resources/assets/create/lang/unfinished/es_mx.json
index f3de8dd15..208abfcf0 100644
--- a/src/generated/resources/assets/create/lang/unfinished/es_mx.json
+++ b/src/generated/resources/assets/create/lang/unfinished/es_mx.json
@@ -1,5 +1,5 @@
{
- "_": "Missing Localizations: 1266",
+ "_": "Missing Localizations: 1352",
"_": "->------------------------] Game Elements [------------------------<-",
@@ -414,6 +414,7 @@
"block.create.zinc_ore": "Mineral de Zinc",
"entity.create.contraption": "Artefacto",
+ "entity.create.crafting_blueprint": "UNLOCALIZED: Crafting Blueprint",
"entity.create.gantry_contraption": "UNLOCALIZED: Gantry Contraption",
"entity.create.seat": "Asiento",
"entity.create.stationary_contraption": "Artefacto Estacionario",
@@ -444,6 +445,7 @@
"item.create.copper_nugget": "Pepita de Cobre",
"item.create.copper_sheet": "Lámina de Cobre",
"item.create.crafter_slot_cover": "Cubierta de Ranura del Crafter",
+ "item.create.crafting_blueprint": "UNLOCALIZED: Crafting Blueprint",
"item.create.crushed_aluminum_ore": "Mineral de Aluminio Molido",
"item.create.crushed_brass": "Latón Molido",
"item.create.crushed_copper_ore": "Mineral de Cobre Molido",
@@ -475,6 +477,7 @@
"item.create.integrated_circuit": "Circuito Integrado",
"item.create.iron_sheet": "Lámina de Hierro",
"item.create.lapis_sheet": "Lámina de Lapislázuli",
+ "item.create.linked_controller": "UNLOCALIZED: Linked Controller",
"item.create.minecart_contraption": "Artefacto de Vagón",
"item.create.minecart_coupling": "Acoplamiento de Vagonetas",
"item.create.polished_rose_quartz": "Cuarzo Rosa Pulido",
@@ -672,6 +675,13 @@
"create.block.deployer.damage_source_name": "UNLOCALIZED: a rogue Deployer",
"create.block.cart_assembler.invalid": "UNLOCALIZED: Place your Cart Assembler on a rail block",
+ "create.menu.return": "UNLOCALIZED: Return to Menu",
+ "create.menu.configure": "UNLOCALIZED: Configure...",
+ "create.menu.getting_started": "UNLOCALIZED: Getting Started",
+ "create.menu.project_page": "UNLOCALIZED: Project Page",
+ "create.menu.report_bugs": "UNLOCALIZED: Report Issues",
+ "create.menu.support": "UNLOCALIZED: Support Us",
+
"create.recipe.crushing": "UNLOCALIZED: Crushing",
"create.recipe.milling": "UNLOCALIZED: Milling",
"create.recipe.fan_washing": "UNLOCALIZED: Bulk Washing",
@@ -1105,6 +1115,20 @@
"create.tooltip.chute.fans_pull_down": "UNLOCALIZED: Fans pull from Below",
"create.tooltip.chute.contains": "UNLOCALIZED: Contains: %1$s x%2$s",
+ "create.linked_controller.bind_mode": "UNLOCALIZED: Bind mode active",
+ "create.linked_controller.press_keybind": "UNLOCALIZED: Press %1$s, %2$s, %3$s, %4$s, %5$s or %6$s, to bind this frequency to the respective key",
+ "create.linked_controller.key_bound": "UNLOCALIZED: Frequency bound to %1$s",
+ "create.linked_controller.frequency_slot_1": "UNLOCALIZED: Keybind: %1$s, Freq. #1",
+ "create.linked_controller.frequency_slot_2": "UNLOCALIZED: Keybind: %1$s, Freq. #2",
+
+ "create.crafting_blueprint.crafting_slot": "UNLOCALIZED: Ingredient Slot",
+ "create.crafting_blueprint.filter_items_viable": "UNLOCALIZED: Advanced filter items are viable",
+ "create.crafting_blueprint.display_slot": "UNLOCALIZED: Display Slot",
+ "create.crafting_blueprint.inferred": "UNLOCALIZED: Inferred from recipe",
+ "create.crafting_blueprint.manually_assigned": "UNLOCALIZED: Manually assigned",
+ "create.crafting_blueprint.secondary_display_slot": "UNLOCALIZED: Secondary Display Slot",
+ "create.crafting_blueprint.optional": "UNLOCALIZED: Optional",
+
"create.hint.hose_pulley.title": "UNLOCALIZED: Bottomless Supply",
"create.hint.hose_pulley": "UNLOCALIZED: The targeted body of fluid is considered infinite.",
"create.hint.mechanical_arm_no_targets.title": "UNLOCALIZED: No Targets",
@@ -1132,32 +1156,38 @@
"create.command.killTPSCommand.argument.tickTime": "UNLOCALIZED: tickTime",
"create.contraption.minecart_contraption_too_big": "UNLOCALIZED: This Cart Contraption seems too big to pick up",
+ "create.contraption.minecart_contraption_illegal_pickup": "UNLOCALIZED: A mystical force is binding this Cart Contraption to the world",
"_": "->------------------------] Subtitles [------------------------<-",
- "create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble",
- "create.subtitle.slime_added": "UNLOCALIZED: Slime squishes",
+ "create.subtitle.saw_idle": "UNLOCALIZED: Mechanical Saw turns",
"create.subtitle.contraption_disassemble": "UNLOCALIZED: Contraption stops",
- "create.subtitle.wrench_rotate": "UNLOCALIZED: Wrench used",
"create.subtitle.mixing": "UNLOCALIZED: Mixing Noises",
"create.subtitle.mechanical_press_activation_belt": "UNLOCALIZED: Mechanical Press bonks",
"create.subtitle.worldshaper_place": "UNLOCALIZED: Worldshaper zaps",
- "create.subtitle.deployer_polish": "UNLOCALIZED: Deployer applies polish",
"create.subtitle.depot_slide": "UNLOCALIZED: Item slides",
- "create.subtitle.deny": "UNLOCALIZED: Declining boop",
+ "create.subtitle.saw_activate_stone": "UNLOCALIZED: Mechanical Saw activates",
"create.subtitle.blaze_munch": "UNLOCALIZED: Blaze Burner munches",
- "create.subtitle.schematicannon_launch_block": "UNLOCALIZED: Schematicannon fires",
"create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps",
- "create.subtitle.copper_armor_equip": "UNLOCALIZED: Diving equipment clinks",
"create.subtitle.schematicannon_finish": "UNLOCALIZED: Schematicannon dings",
"create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks",
+ "create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
+ "create.subtitle.saw_process": "UNLOCALIZED: Mechanical Saw processes",
+ "create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
+ "create.subtitle.wrench_remove": "UNLOCALIZED: Component breaks",
+ "create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble",
+ "create.subtitle.slime_added": "UNLOCALIZED: Slime squishes",
+ "create.subtitle.wrench_rotate": "UNLOCALIZED: Wrench used",
+ "create.subtitle.saw_activate_wood": "UNLOCALIZED: Mechanical Saw activates",
+ "create.subtitle.deployer_polish": "UNLOCALIZED: Deployer applies polish",
+ "create.subtitle.deny": "UNLOCALIZED: Declining boop",
+ "create.subtitle.controller_click": "UNLOCALIZED: Controller clicks",
+ "create.subtitle.schematicannon_launch_block": "UNLOCALIZED: Schematicannon fires",
+ "create.subtitle.copper_armor_equip": "UNLOCALIZED: Diving equipment clinks",
"create.subtitle.mechanical_press_activation": "UNLOCALIZED: Mechanical Press clangs",
"create.subtitle.contraption_assemble": "UNLOCALIZED: Contraption moves",
- "create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
- "create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
"create.subtitle.crafter_click": "UNLOCALIZED: Crafter clicks",
- "create.subtitle.wrench_remove": "UNLOCALIZED: Component breaks",
"create.subtitle.depot_plop": "UNLOCALIZED: Item lands",
"create.subtitle.confirm": "UNLOCALIZED: Affirmative ding",
@@ -1398,27 +1428,52 @@
"item.create.refined_radiance.tooltip": "UNLOCALIZED: REFINED RADIANCE",
"item.create.refined_radiance.tooltip.summary": "UNLOCALIZED: A Chromatic material forged from _absorbed light_.",
+ "item.create.refined_radiance.tooltip.condition1": "UNLOCALIZED: Work In Progress",
+ "item.create.refined_radiance.tooltip.behaviour1": "UNLOCALIZED: Usages for this material will be available in a future release.",
"item.create.shadow_steel.tooltip": "UNLOCALIZED: SHADOW STEEL",
"item.create.shadow_steel.tooltip.summary": "UNLOCALIZED: A Chromatic material forged _in the void_.",
+ "item.create.shadow_steel.tooltip.condition1": "UNLOCALIZED: Work In Progress",
+ "item.create.shadow_steel.tooltip.behaviour1": "UNLOCALIZED: Usages for this material will be available in a future release.",
+
+ "item.create.linked_controller.tooltip": "UNLOCALIZED: LINKED CONTROLLER",
+ "item.create.linked_controller.tooltip.summary": "UNLOCALIZED: Grants _handheld_ _control_ over _Redstone Link_ frequencies assigned to its _six_ _buttons_.",
+ "item.create.linked_controller.tooltip.condition1": "UNLOCALIZED: R-Click",
+ "item.create.linked_controller.tooltip.behaviour1": "UNLOCALIZED: _Toggles_ the controller. _Movement_ _controls_ are taken over while its active.",
+ "item.create.linked_controller.tooltip.condition2": "UNLOCALIZED: R-Click while Sneaking",
+ "item.create.linked_controller.tooltip.behaviour2": "UNLOCALIZED: Opens the manual _Configuration Interface_.",
+ "item.create.linked_controller.tooltip.condition3": "UNLOCALIZED: R-Click on Redstone Link Receiver",
+ "item.create.linked_controller.tooltip.behaviour3": "UNLOCALIZED: Enables _Bind Mode_, press one of the _six controls_ to bind it to the _Links' Frequency_.",
+
+ "item.create.diving_helmet.tooltip": "UNLOCALIZED: DIVING HELMET",
+ "item.create.diving_helmet.tooltip.summary": "UNLOCALIZED: Together with a _Copper_ _Backtank_, allows the weilder to _breathe_ _underwater_ for an extended amount of time.",
+ "item.create.diving_helmet.tooltip.condition1": "UNLOCALIZED: When Worn",
+ "item.create.diving_helmet.tooltip.behaviour1": "UNLOCALIZED: Provides the _Water Breathing_ effect, slowly draining _Air Pressure_ from the Backtank.",
+
+ "item.create.copper_backtank.tooltip": "UNLOCALIZED: COPPER BACKTANK",
+ "item.create.copper_backtank.tooltip.summary": "UNLOCALIZED: A _Wearable_ _Tank_ for carrying Pressurized Air.",
+ "item.create.copper_backtank.tooltip.condition1": "UNLOCALIZED: When Worn",
+ "item.create.copper_backtank.tooltip.behaviour1": "UNLOCALIZED: Provides _Pressurized_ _Air_ to Equipment that requires it.",
+ "item.create.copper_backtank.tooltip.condition2": "UNLOCALIZED: When placed, Powered by Kinetics",
+ "item.create.copper_backtank.tooltip.behaviour2": "UNLOCALIZED: _Collects_ _Pressurized_ _Air_ at a rate depending on the Rotational Speed.",
+
+ "item.create.diving_boots.tooltip": "UNLOCALIZED: DIVING BOOTS",
+ "item.create.diving_boots.tooltip.summary": "UNLOCALIZED: A pair of _heavy_ _boots_, allowing for better traversal of the Ocean floor.",
+ "item.create.diving_boots.tooltip.condition1": "UNLOCALIZED: When Worn",
+ "item.create.diving_boots.tooltip.behaviour1": "UNLOCALIZED: Weilder _sinks_ _faster_ and _cannot_ _swim_. Grants the ability to _walk_ and _jump_ underwater. Weilder also is no longer affected by _Mechanical_ _Belts_.",
+
+ "item.create.crafting_blueprint.tooltip": "UNLOCALIZED: CRAFTING BLUEPRINT",
+ "item.create.crafting_blueprint.tooltip.summary": "UNLOCALIZED: _Placed_ on a wall, it can be used to _specify_ _ingredient_ _arrangements_ for easier manual crafting. Each slot represents a Recipe.",
+ "item.create.crafting_blueprint.condition1": "UNLOCALIZED: R-Click empty Slot",
+ "item.create.crafting_blueprint.behaviour1": "UNLOCALIZED: Opens a _Crafting_ _menu_ allowing you to _configure_ a _recipe_ and items to display.",
+ "item.create.crafting_blueprint.condition2": "UNLOCALIZED: R-Click configured Slot",
+ "item.create.crafting_blueprint.behaviour2": "UNLOCALIZED: _Applies_ the _configured_ _recipe_ with matching Ingredients found in your _Inventory_. _Sneak_ to craft up to a _Stack_ of items.",
"item.create.minecart_coupling.tooltip": "UNLOCALIZED: MINECART COUPLING",
"item.create.minecart_coupling.tooltip.summary": "UNLOCALIZED: _Chains_ all your _Minecarts_ or _Carriage Contraptions_ together to form a majestic Train.",
"item.create.minecart_coupling.tooltip.condition1": "UNLOCALIZED: When Used on Minecart",
"item.create.minecart_coupling.tooltip.behaviour1": "UNLOCALIZED: _Couples_ two Minecarts together, attempting to keep them at a _constant distance_ while moving.",
- "create.tooltip.wip": "UNLOCALIZED: WIP",
- "create.tooltip.workInProgress": "UNLOCALIZED: Work in progress!",
- "create.tooltip.randomWipDescription0": "UNLOCALIZED: Please keep this item away from children.",
- "create.tooltip.randomWipDescription1": "UNLOCALIZED: A baby panda dies every time you use this item. Every. Time.",
- "create.tooltip.randomWipDescription2": "UNLOCALIZED: Use at your own risk.",
- "create.tooltip.randomWipDescription3": "UNLOCALIZED: This is not the item you are looking for, *finger-wiggles* please disperse.",
- "create.tooltip.randomWipDescription4": "UNLOCALIZED: This item will self-destruct in 10 seconds. 10, 9, 8...",
- "create.tooltip.randomWipDescription5": "UNLOCALIZED: Believe me, it's useless.",
- "create.tooltip.randomWipDescription6": "UNLOCALIZED: By using this item, you hereby consent to our disclaimer and agree to its terms.",
- "create.tooltip.randomWipDescription7": "UNLOCALIZED: This one maybe isn't for you. What about that one?",
- "create.tooltip.randomWipDescription8": "UNLOCALIZED: Use it and regret your decision immediately.",
-
"_": "->------------------------] Ponder Content [------------------------<-",
@@ -1594,7 +1649,7 @@
"create.ponder.chain_drive.text_3": "UNLOCALIZED: Any part of the row can be rotated by 90 degrees",
"create.ponder.chain_gearshift.header": "UNLOCALIZED: Controlling rotational speed with Chain Gearshifts",
- "create.ponder.chain_gearshift.text_1": "UNLOCALIZED: Unpowered Chain Gearshifts behave exacly like Chain Drives",
+ "create.ponder.chain_gearshift.text_1": "UNLOCALIZED: Unpowered Chain Gearshifts behave exactly like Chain Drives",
"create.ponder.chain_gearshift.text_2": "UNLOCALIZED: When Powered, the speed transmitted to other Chain Drives in the row is doubled",
"create.ponder.chain_gearshift.text_3": "UNLOCALIZED: Whenever the Powered Gearshift is not at the source, its speed will be halved instead",
"create.ponder.chain_gearshift.text_4": "UNLOCALIZED: In both cases, Chain Drives in the row always run at 2x the speed of the Powered Gearshift",
@@ -1634,6 +1689,8 @@
"create.ponder.cogwheel.text_1": "UNLOCALIZED: Cogwheels will relay rotation to other adjacent cogwheels",
"create.ponder.cogwheel.text_2": "UNLOCALIZED: Neighbouring shafts connected like this will rotate in opposite directions",
+ "create.ponder.creative_fluid_tank.header": "UNLOCALIZED: Creative Fluid Tanks",
+
"create.ponder.creative_motor.header": "UNLOCALIZED: Generating Rotational Force using Creative Motors",
"create.ponder.creative_motor.text_1": "UNLOCALIZED: Creative motors are a compact and configurable source of Rotational Force",
"create.ponder.creative_motor.text_2": "UNLOCALIZED: Scrolling on the back panel changes the RPM of the motors' rotational output",
@@ -1670,6 +1727,12 @@
"create.ponder.deployer_modes.text_1": "UNLOCALIZED: By default, a Deployer imitates a Right-click interaction",
"create.ponder.deployer_modes.text_2": "UNLOCALIZED: Using a Wrench, it can be set to imitate a Left-click instead",
+ "create.ponder.deployer_processing.header": "UNLOCALIZED: Processing Items using Deployers",
+ "create.ponder.deployer_processing.text_1": "UNLOCALIZED: With a fitting held item, Deployers can process items provided beneath them",
+ "create.ponder.deployer_processing.text_2": "UNLOCALIZED: The Input items can be dropped or placed on a Depot under the Deployer",
+ "create.ponder.deployer_processing.text_3": "UNLOCALIZED: When items are provided on a belt...",
+ "create.ponder.deployer_processing.text_4": "UNLOCALIZED: The Deployer will hold and process them automatically",
+
"create.ponder.deployer_redstone.header": "UNLOCALIZED: Controlling Deployers with Redstone",
"create.ponder.deployer_redstone.text_1": "UNLOCALIZED: When powered by Redstone, Deployers will not activate",
"create.ponder.deployer_redstone.text_2": "UNLOCALIZED: Before stopping, the Deployer will finish any started cycles",
@@ -1688,6 +1751,11 @@
"create.ponder.empty_blaze_burner.text_4": "UNLOCALIZED: For Aesthetic purposes, Empty Blaze Burners can also be lit using Flint and Steel",
"create.ponder.empty_blaze_burner.text_5": "UNLOCALIZED: However, these are not suitable for industrial heating",
+ "create.ponder.encased_fluid_pipe.header": "UNLOCALIZED: Encasing Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_1": "UNLOCALIZED: Copper Casing can be used to decorate Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_2": "UNLOCALIZED: Aside from being conceiled, Encased Pipes are locked into their connectivity state",
+ "create.ponder.encased_fluid_pipe.text_3": "UNLOCALIZED: It will no longer react to any neighbouring blocks being added or removed",
+
"create.ponder.fan_direction.header": "UNLOCALIZED: Air flow of Encased Fans",
"create.ponder.fan_direction.text_1": "UNLOCALIZED: Encased Fans use Rotational Force to create an Air Current",
"create.ponder.fan_direction.text_2": "UNLOCALIZED: Strength and Direction of Flow depends on the Rotational Input",
@@ -1706,6 +1774,26 @@
"create.ponder.fan_source.text_1": "UNLOCALIZED: Fans facing down into a source of heat can provide Rotational Force",
"create.ponder.fan_source.text_2": "UNLOCALIZED: When given a Redstone Signal, the Fans will start providing power",
+ "create.ponder.fluid_pipe_flow.header": "UNLOCALIZED: Moving Fluids using Copper Pipes",
+ "create.ponder.fluid_pipe_flow.text_1": "UNLOCALIZED: Fluid Pipes can connect two or more fluid sources and targets",
+ "create.ponder.fluid_pipe_flow.text_2": "UNLOCALIZED: Using a wrench, a straight pipe segment can be given a window",
+ "create.ponder.fluid_pipe_flow.text_3": "UNLOCALIZED: Windowed pipes will not connect to any other adjacent pipe segments",
+ "create.ponder.fluid_pipe_flow.text_4": "UNLOCALIZED: Powered by Mechanical Pumps, the Pipes can transport Fluids",
+ "create.ponder.fluid_pipe_flow.text_5": "UNLOCALIZED: No fluid is being extracted at first",
+ "create.ponder.fluid_pipe_flow.text_6": "UNLOCALIZED: Once the flow connects them, the endpoints gradually transfer their contents",
+ "create.ponder.fluid_pipe_flow.text_7": "UNLOCALIZED: Thus, the Pipe blocks themselves never 'physically' contain any fluid",
+
+ "create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers",
+ "create.ponder.fluid_pipe_interaction.text_1": "UNLOCALIZED: Endpoints of a pipe network can interact with a variety of blocks",
+ "create.ponder.fluid_pipe_interaction.text_2": "UNLOCALIZED: Any block with fluid storage capabilities can be filled or drained",
+ "create.ponder.fluid_pipe_interaction.text_3": "UNLOCALIZED: Source blocks right in front of an open end can be picked up...",
+ "create.ponder.fluid_pipe_interaction.text_4": "UNLOCALIZED: ...while spilling into empty spaces can create fluid sources",
+ "create.ponder.fluid_pipe_interaction.text_5": "UNLOCALIZED: Pipes can also extract fluids from a handful of other blocks directly",
+
+ "create.ponder.fluid_tank_sizes.header": "UNLOCALIZED: Dimensions of a Fluid tank",
+
+ "create.ponder.fluid_tank_storage.header": "UNLOCALIZED: Storing Fluids in Fluid Tanks",
+
"create.ponder.flywheel.header": "UNLOCALIZED: Generating Rotational Force using the Flywheel",
"create.ponder.flywheel.text_1": "UNLOCALIZED: Flywheels are required for generating rotational force with the Furnace Engine",
"create.ponder.flywheel.text_2": "UNLOCALIZED: The provided Rotational Force has a very large stress capacity",
@@ -1779,6 +1867,14 @@
"create.ponder.hand_crank.text_3": "UNLOCALIZED: Its conveyed speed is relatively high",
"create.ponder.hand_crank.text_4": "UNLOCALIZED: Sneak and Hold Right-Click to rotate it Clockwise",
+ "create.ponder.hose_pulley.header": "UNLOCALIZED: Source Filling and Draining using Hose Pulleys",
+
+ "create.ponder.hose_pulley_infinite.header": "UNLOCALIZED: Passively Filling and Draining large bodies of Fluid",
+
+ "create.ponder.hose_pulley_level.header": "UNLOCALIZED: Fill and Drain level of Hose Pulleys",
+
+ "create.ponder.item_drain.header": "UNLOCALIZED: Emptying Fluid Containers using Item Drains",
+
"create.ponder.large_cogwheel.header": "UNLOCALIZED: Relaying rotational force using Large Cogwheels",
"create.ponder.large_cogwheel.text_1": "UNLOCALIZED: Large cogwheels can connect to each other at right angles",
"create.ponder.large_cogwheel.text_2": "UNLOCALIZED: It will help relaying conveyed speed to other axes of rotation",
@@ -1901,6 +1997,10 @@
"create.ponder.mechanical_press_compacting.text_3": "UNLOCALIZED: Some of those recipes may require the heat of a Blaze Burner",
"create.ponder.mechanical_press_compacting.text_4": "UNLOCALIZED: The filter slot can be used in case two recipes are conflicting.",
+ "create.ponder.mechanical_pump_flow.header": "UNLOCALIZED: Fluid Transportation using Mechanical Pumps",
+
+ "create.ponder.mechanical_pump_speed.header": "UNLOCALIZED: Throughput of Mechanical Pumps",
+
"create.ponder.mechanical_saw_breaker.header": "UNLOCALIZED: Cutting Trees with the Mechanical Saw",
"create.ponder.mechanical_saw_breaker.text_1": "UNLOCALIZED: When given Rotational Force, a Mechanical Saw will cut trees directly in front of it",
"create.ponder.mechanical_saw_breaker.text_2": "UNLOCALIZED: In order to cut the tree fully, the Saw has to break the last block connecting it to the ground",
@@ -1931,6 +2031,10 @@
"create.ponder.piston_pole.text_1": "UNLOCALIZED: Without attached Poles, a Mechanical Piston cannot move",
"create.ponder.piston_pole.text_2": "UNLOCALIZED: The Length of pole added at its back determines the Extension Range",
+ "create.ponder.portable_fluid_interface.header": "UNLOCALIZED: Contraption Fluid Exchange",
+
+ "create.ponder.portable_fluid_interface_redstone.header": "UNLOCALIZED: Redstone Control",
+
"create.ponder.portable_storage_interface.header": "UNLOCALIZED: Contraption Storage Exchange",
"create.ponder.portable_storage_interface.text_1": "UNLOCALIZED: Inventories on moving contraptions cannot be accessed by players.",
"create.ponder.portable_storage_interface.text_2": "UNLOCALIZED: This component can interact with storage without the need to stop the contraption.",
@@ -2028,11 +2132,17 @@
"create.ponder.smart_chute.text_3": "UNLOCALIZED: Use the Mouse Wheel to specify the extracted stack size",
"create.ponder.smart_chute.text_4": "UNLOCALIZED: Redstone power will prevent Smart Chutes from acting.",
+ "create.ponder.smart_pipe.header": "UNLOCALIZED: Controlling Fluid flow using Smart Pipes",
+
"create.ponder.speedometer.header": "UNLOCALIZED: Monitoring Kinetic information using the Speedometer",
"create.ponder.speedometer.text_1": "UNLOCALIZED: The Speedometer displays the current Speed of the attached components",
"create.ponder.speedometer.text_2": "UNLOCALIZED: When wearing Engineers' Goggles, the player can get more detailed information from the Gauge",
"create.ponder.speedometer.text_3": "UNLOCALIZED: Comparators can emit analog Restone Signals relative to the Speedometer's measurements",
+ "create.ponder.spout_access.header": "UNLOCALIZED: Moving fluids into Spouts",
+
+ "create.ponder.spout_filling.header": "UNLOCALIZED: Filling Items using a Spout",
+
"create.ponder.stabilized_bearings.header": "UNLOCALIZED: Stabilized Contraptions",
"create.ponder.stabilized_bearings.text_1": "UNLOCALIZED: Whenever Mechanical Bearings are themselves part of a moving Structure..",
"create.ponder.stabilized_bearings.text_2": "UNLOCALIZED: ..they will attempt to keep themselves upright",
@@ -2064,6 +2174,8 @@
"create.ponder.valve_handle.text_4": "UNLOCALIZED: Sneak and Hold Right-Click to rotate it Clockwise",
"create.ponder.valve_handle.text_5": "UNLOCALIZED: Valve handles can be dyed for aesthetic purposes",
+ "create.ponder.valve_pipe.header": "UNLOCALIZED: Controlling Fluid flow using Valves",
+
"create.ponder.water_wheel.header": "UNLOCALIZED: Generating Rotational Force using Water Wheels",
"create.ponder.water_wheel.text_1": "UNLOCALIZED: Water Wheels draw force from adjacent Water Currents",
"create.ponder.water_wheel.text_2": "UNLOCALIZED: The more faces are powered, the faster the Water Wheel will rotate",
diff --git a/src/generated/resources/assets/create/lang/unfinished/fr_fr.json b/src/generated/resources/assets/create/lang/unfinished/fr_fr.json
index 558c2ff87..f852897b6 100644
--- a/src/generated/resources/assets/create/lang/unfinished/fr_fr.json
+++ b/src/generated/resources/assets/create/lang/unfinished/fr_fr.json
@@ -1,5 +1,5 @@
{
- "_": "Missing Localizations: 1194",
+ "_": "Missing Localizations: 1291",
"_": "->------------------------] Game Elements [------------------------<-",
@@ -414,6 +414,7 @@
"block.create.zinc_ore": "Minerai de zinc",
"entity.create.contraption": "Engin",
+ "entity.create.crafting_blueprint": "UNLOCALIZED: Crafting Blueprint",
"entity.create.gantry_contraption": "UNLOCALIZED: Gantry Contraption",
"entity.create.seat": "Siège",
"entity.create.stationary_contraption": "Engin stationnaire",
@@ -444,6 +445,7 @@
"item.create.copper_nugget": "Pépite de cuivre",
"item.create.copper_sheet": "Plaques de cuivre",
"item.create.crafter_slot_cover": "Couvercle",
+ "item.create.crafting_blueprint": "UNLOCALIZED: Crafting Blueprint",
"item.create.crushed_aluminum_ore": "Aluminium concassé",
"item.create.crushed_brass": "Laiton concassé",
"item.create.crushed_copper_ore": "Cuivre concassé",
@@ -475,6 +477,7 @@
"item.create.integrated_circuit": "Circuit intégré",
"item.create.iron_sheet": "Plaque de Fer",
"item.create.lapis_sheet": "Feuille de lapis",
+ "item.create.linked_controller": "UNLOCALIZED: Linked Controller",
"item.create.minecart_contraption": "Engin de wagonnet",
"item.create.minecart_coupling": "Lien pour wagonnet",
"item.create.polished_rose_quartz": "Quartz rose poli",
@@ -672,6 +675,13 @@
"create.block.deployer.damage_source_name": "un déployeur voyou",
"create.block.cart_assembler.invalid": "UNLOCALIZED: Place your Cart Assembler on a rail block",
+ "create.menu.return": "UNLOCALIZED: Return to Menu",
+ "create.menu.configure": "UNLOCALIZED: Configure...",
+ "create.menu.getting_started": "UNLOCALIZED: Getting Started",
+ "create.menu.project_page": "UNLOCALIZED: Project Page",
+ "create.menu.report_bugs": "UNLOCALIZED: Report Issues",
+ "create.menu.support": "UNLOCALIZED: Support Us",
+
"create.recipe.crushing": "Ecrasement",
"create.recipe.milling": "Mouture",
"create.recipe.fan_washing": "Lavage",
@@ -1105,6 +1115,20 @@
"create.tooltip.chute.fans_pull_down": "UNLOCALIZED: Fans pull from Below",
"create.tooltip.chute.contains": "UNLOCALIZED: Contains: %1$s x%2$s",
+ "create.linked_controller.bind_mode": "UNLOCALIZED: Bind mode active",
+ "create.linked_controller.press_keybind": "UNLOCALIZED: Press %1$s, %2$s, %3$s, %4$s, %5$s or %6$s, to bind this frequency to the respective key",
+ "create.linked_controller.key_bound": "UNLOCALIZED: Frequency bound to %1$s",
+ "create.linked_controller.frequency_slot_1": "UNLOCALIZED: Keybind: %1$s, Freq. #1",
+ "create.linked_controller.frequency_slot_2": "UNLOCALIZED: Keybind: %1$s, Freq. #2",
+
+ "create.crafting_blueprint.crafting_slot": "UNLOCALIZED: Ingredient Slot",
+ "create.crafting_blueprint.filter_items_viable": "UNLOCALIZED: Advanced filter items are viable",
+ "create.crafting_blueprint.display_slot": "UNLOCALIZED: Display Slot",
+ "create.crafting_blueprint.inferred": "UNLOCALIZED: Inferred from recipe",
+ "create.crafting_blueprint.manually_assigned": "UNLOCALIZED: Manually assigned",
+ "create.crafting_blueprint.secondary_display_slot": "UNLOCALIZED: Secondary Display Slot",
+ "create.crafting_blueprint.optional": "UNLOCALIZED: Optional",
+
"create.hint.hose_pulley.title": "UNLOCALIZED: Bottomless Supply",
"create.hint.hose_pulley": "UNLOCALIZED: The targeted body of fluid is considered infinite.",
"create.hint.mechanical_arm_no_targets.title": "UNLOCALIZED: No Targets",
@@ -1132,32 +1156,38 @@
"create.command.killTPSCommand.argument.tickTime": "tickTime",
"create.contraption.minecart_contraption_too_big": "UNLOCALIZED: This Cart Contraption seems too big to pick up",
+ "create.contraption.minecart_contraption_illegal_pickup": "UNLOCALIZED: A mystical force is binding this Cart Contraption to the world",
"_": "->------------------------] Subtitles [------------------------<-",
- "create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble",
- "create.subtitle.slime_added": "Bruit de slime",
+ "create.subtitle.saw_idle": "UNLOCALIZED: Mechanical Saw turns",
"create.subtitle.contraption_disassemble": "UNLOCALIZED: Contraption stops",
- "create.subtitle.wrench_rotate": "UNLOCALIZED: Wrench used",
"create.subtitle.mixing": "UNLOCALIZED: Mixing Noises",
"create.subtitle.mechanical_press_activation_belt": "UNLOCALIZED: Mechanical Press bonks",
"create.subtitle.worldshaper_place": "UNLOCALIZED: Worldshaper zaps",
- "create.subtitle.deployer_polish": "UNLOCALIZED: Deployer applies polish",
"create.subtitle.depot_slide": "UNLOCALIZED: Item slides",
- "create.subtitle.deny": "UNLOCALIZED: Declining boop",
+ "create.subtitle.saw_activate_stone": "UNLOCALIZED: Mechanical Saw activates",
"create.subtitle.blaze_munch": "UNLOCALIZED: Blaze Burner munches",
- "create.subtitle.schematicannon_launch_block": "Tir de schémacanon",
"create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps",
- "create.subtitle.copper_armor_equip": "UNLOCALIZED: Diving equipment clinks",
"create.subtitle.schematicannon_finish": "Fin de schémacanon",
"create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks",
+ "create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
+ "create.subtitle.saw_process": "UNLOCALIZED: Mechanical Saw processes",
+ "create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
+ "create.subtitle.wrench_remove": "UNLOCALIZED: Component breaks",
+ "create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble",
+ "create.subtitle.slime_added": "Bruit de slime",
+ "create.subtitle.wrench_rotate": "UNLOCALIZED: Wrench used",
+ "create.subtitle.saw_activate_wood": "UNLOCALIZED: Mechanical Saw activates",
+ "create.subtitle.deployer_polish": "UNLOCALIZED: Deployer applies polish",
+ "create.subtitle.deny": "UNLOCALIZED: Declining boop",
+ "create.subtitle.controller_click": "UNLOCALIZED: Controller clicks",
+ "create.subtitle.schematicannon_launch_block": "Tir de schémacanon",
+ "create.subtitle.copper_armor_equip": "UNLOCALIZED: Diving equipment clinks",
"create.subtitle.mechanical_press_activation": "Activation de la presse mechanique",
"create.subtitle.contraption_assemble": "UNLOCALIZED: Contraption moves",
- "create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
- "create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
"create.subtitle.crafter_click": "UNLOCALIZED: Crafter clicks",
- "create.subtitle.wrench_remove": "UNLOCALIZED: Component breaks",
"create.subtitle.depot_plop": "UNLOCALIZED: Item lands",
"create.subtitle.confirm": "UNLOCALIZED: Affirmative ding",
@@ -1398,27 +1428,52 @@
"item.create.refined_radiance.tooltip": "ÉCLAT RAFFINÉ",
"item.create.refined_radiance.tooltip.summary": "Un matériau chromatique forgé à partir de _lumière_ _absorbée_.",
+ "item.create.refined_radiance.tooltip.condition1": "UNLOCALIZED: Work In Progress",
+ "item.create.refined_radiance.tooltip.behaviour1": "UNLOCALIZED: Usages for this material will be available in a future release.",
"item.create.shadow_steel.tooltip": "ACIER SOMBRE",
"item.create.shadow_steel.tooltip.summary": "Un matériau chromatique forgé _dans_ _le_ _néant_.",
+ "item.create.shadow_steel.tooltip.condition1": "UNLOCALIZED: Work In Progress",
+ "item.create.shadow_steel.tooltip.behaviour1": "UNLOCALIZED: Usages for this material will be available in a future release.",
+
+ "item.create.linked_controller.tooltip": "UNLOCALIZED: LINKED CONTROLLER",
+ "item.create.linked_controller.tooltip.summary": "UNLOCALIZED: Grants _handheld_ _control_ over _Redstone Link_ frequencies assigned to its _six_ _buttons_.",
+ "item.create.linked_controller.tooltip.condition1": "UNLOCALIZED: R-Click",
+ "item.create.linked_controller.tooltip.behaviour1": "UNLOCALIZED: _Toggles_ the controller. _Movement_ _controls_ are taken over while its active.",
+ "item.create.linked_controller.tooltip.condition2": "UNLOCALIZED: R-Click while Sneaking",
+ "item.create.linked_controller.tooltip.behaviour2": "UNLOCALIZED: Opens the manual _Configuration Interface_.",
+ "item.create.linked_controller.tooltip.condition3": "UNLOCALIZED: R-Click on Redstone Link Receiver",
+ "item.create.linked_controller.tooltip.behaviour3": "UNLOCALIZED: Enables _Bind Mode_, press one of the _six controls_ to bind it to the _Links' Frequency_.",
+
+ "item.create.diving_helmet.tooltip": "UNLOCALIZED: DIVING HELMET",
+ "item.create.diving_helmet.tooltip.summary": "UNLOCALIZED: Together with a _Copper_ _Backtank_, allows the weilder to _breathe_ _underwater_ for an extended amount of time.",
+ "item.create.diving_helmet.tooltip.condition1": "UNLOCALIZED: When Worn",
+ "item.create.diving_helmet.tooltip.behaviour1": "UNLOCALIZED: Provides the _Water Breathing_ effect, slowly draining _Air Pressure_ from the Backtank.",
+
+ "item.create.copper_backtank.tooltip": "UNLOCALIZED: COPPER BACKTANK",
+ "item.create.copper_backtank.tooltip.summary": "UNLOCALIZED: A _Wearable_ _Tank_ for carrying Pressurized Air.",
+ "item.create.copper_backtank.tooltip.condition1": "UNLOCALIZED: When Worn",
+ "item.create.copper_backtank.tooltip.behaviour1": "UNLOCALIZED: Provides _Pressurized_ _Air_ to Equipment that requires it.",
+ "item.create.copper_backtank.tooltip.condition2": "UNLOCALIZED: When placed, Powered by Kinetics",
+ "item.create.copper_backtank.tooltip.behaviour2": "UNLOCALIZED: _Collects_ _Pressurized_ _Air_ at a rate depending on the Rotational Speed.",
+
+ "item.create.diving_boots.tooltip": "UNLOCALIZED: DIVING BOOTS",
+ "item.create.diving_boots.tooltip.summary": "UNLOCALIZED: A pair of _heavy_ _boots_, allowing for better traversal of the Ocean floor.",
+ "item.create.diving_boots.tooltip.condition1": "UNLOCALIZED: When Worn",
+ "item.create.diving_boots.tooltip.behaviour1": "UNLOCALIZED: Weilder _sinks_ _faster_ and _cannot_ _swim_. Grants the ability to _walk_ and _jump_ underwater. Weilder also is no longer affected by _Mechanical_ _Belts_.",
+
+ "item.create.crafting_blueprint.tooltip": "UNLOCALIZED: CRAFTING BLUEPRINT",
+ "item.create.crafting_blueprint.tooltip.summary": "UNLOCALIZED: _Placed_ on a wall, it can be used to _specify_ _ingredient_ _arrangements_ for easier manual crafting. Each slot represents a Recipe.",
+ "item.create.crafting_blueprint.condition1": "UNLOCALIZED: R-Click empty Slot",
+ "item.create.crafting_blueprint.behaviour1": "UNLOCALIZED: Opens a _Crafting_ _menu_ allowing you to _configure_ a _recipe_ and items to display.",
+ "item.create.crafting_blueprint.condition2": "UNLOCALIZED: R-Click configured Slot",
+ "item.create.crafting_blueprint.behaviour2": "UNLOCALIZED: _Applies_ the _configured_ _recipe_ with matching Ingredients found in your _Inventory_. _Sneak_ to craft up to a _Stack_ of items.",
"item.create.minecart_coupling.tooltip": "LIEN POUR WAGONS",
"item.create.minecart_coupling.tooltip.summary": "UNLOCALIZED: _Chains_ all your _Minecarts_ or _Carriage Contraptions_ together to form a majestic Train.",
"item.create.minecart_coupling.tooltip.condition1": "UNLOCALIZED: When Used on Minecart",
"item.create.minecart_coupling.tooltip.behaviour1": "UNLOCALIZED: _Couples_ two Minecarts together, attempting to keep them at a _constant distance_ while moving.",
- "create.tooltip.wip": "En cours",
- "create.tooltip.workInProgress": "En cours!",
- "create.tooltip.randomWipDescription0": "Veuillez garder cet objet hors de portée des enfants.",
- "create.tooltip.randomWipDescription1": "Un bébé panda meurt chaque fois que vous utilisez cet objet. Chaque. Fois.",
- "create.tooltip.randomWipDescription2": "À utiliser à vos risques et périls.",
- "create.tooltip.randomWipDescription3": "Ce n'est pas l'objet que vous recherchez, *agite les doigts* circulez.",
- "create.tooltip.randomWipDescription4": "Cet objet s'autodétruit en 10 secondes. 10, 9, 8...",
- "create.tooltip.randomWipDescription5": "Croyez-moi, c'est inutile.",
- "create.tooltip.randomWipDescription6": "En utilisant cet article, vous êtes responsables et acceptez ses conditions.",
- "create.tooltip.randomWipDescription7": "Celui-ci n'est peut-être pas pour vous. Que dire de celui-là?",
- "create.tooltip.randomWipDescription8": "Utilisez-le et regrettez immédiatement votre décision.",
-
"_": "->------------------------] Ponder Content [------------------------<-",
@@ -1594,7 +1649,7 @@
"create.ponder.chain_drive.text_3": "UNLOCALIZED: Any part of the row can be rotated by 90 degrees",
"create.ponder.chain_gearshift.header": "UNLOCALIZED: Controlling rotational speed with Chain Gearshifts",
- "create.ponder.chain_gearshift.text_1": "UNLOCALIZED: Unpowered Chain Gearshifts behave exacly like Chain Drives",
+ "create.ponder.chain_gearshift.text_1": "UNLOCALIZED: Unpowered Chain Gearshifts behave exactly like Chain Drives",
"create.ponder.chain_gearshift.text_2": "UNLOCALIZED: When Powered, the speed transmitted to other Chain Drives in the row is doubled",
"create.ponder.chain_gearshift.text_3": "UNLOCALIZED: Whenever the Powered Gearshift is not at the source, its speed will be halved instead",
"create.ponder.chain_gearshift.text_4": "UNLOCALIZED: In both cases, Chain Drives in the row always run at 2x the speed of the Powered Gearshift",
@@ -1634,6 +1689,8 @@
"create.ponder.cogwheel.text_1": "UNLOCALIZED: Cogwheels will relay rotation to other adjacent cogwheels",
"create.ponder.cogwheel.text_2": "UNLOCALIZED: Neighbouring shafts connected like this will rotate in opposite directions",
+ "create.ponder.creative_fluid_tank.header": "UNLOCALIZED: Creative Fluid Tanks",
+
"create.ponder.creative_motor.header": "UNLOCALIZED: Generating Rotational Force using Creative Motors",
"create.ponder.creative_motor.text_1": "UNLOCALIZED: Creative motors are a compact and configurable source of Rotational Force",
"create.ponder.creative_motor.text_2": "UNLOCALIZED: Scrolling on the back panel changes the RPM of the motors' rotational output",
@@ -1670,6 +1727,12 @@
"create.ponder.deployer_modes.text_1": "UNLOCALIZED: By default, a Deployer imitates a Right-click interaction",
"create.ponder.deployer_modes.text_2": "UNLOCALIZED: Using a Wrench, it can be set to imitate a Left-click instead",
+ "create.ponder.deployer_processing.header": "UNLOCALIZED: Processing Items using Deployers",
+ "create.ponder.deployer_processing.text_1": "UNLOCALIZED: With a fitting held item, Deployers can process items provided beneath them",
+ "create.ponder.deployer_processing.text_2": "UNLOCALIZED: The Input items can be dropped or placed on a Depot under the Deployer",
+ "create.ponder.deployer_processing.text_3": "UNLOCALIZED: When items are provided on a belt...",
+ "create.ponder.deployer_processing.text_4": "UNLOCALIZED: The Deployer will hold and process them automatically",
+
"create.ponder.deployer_redstone.header": "UNLOCALIZED: Controlling Deployers with Redstone",
"create.ponder.deployer_redstone.text_1": "UNLOCALIZED: When powered by Redstone, Deployers will not activate",
"create.ponder.deployer_redstone.text_2": "UNLOCALIZED: Before stopping, the Deployer will finish any started cycles",
@@ -1688,6 +1751,11 @@
"create.ponder.empty_blaze_burner.text_4": "UNLOCALIZED: For Aesthetic purposes, Empty Blaze Burners can also be lit using Flint and Steel",
"create.ponder.empty_blaze_burner.text_5": "UNLOCALIZED: However, these are not suitable for industrial heating",
+ "create.ponder.encased_fluid_pipe.header": "UNLOCALIZED: Encasing Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_1": "UNLOCALIZED: Copper Casing can be used to decorate Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_2": "UNLOCALIZED: Aside from being conceiled, Encased Pipes are locked into their connectivity state",
+ "create.ponder.encased_fluid_pipe.text_3": "UNLOCALIZED: It will no longer react to any neighbouring blocks being added or removed",
+
"create.ponder.fan_direction.header": "UNLOCALIZED: Air flow of Encased Fans",
"create.ponder.fan_direction.text_1": "UNLOCALIZED: Encased Fans use Rotational Force to create an Air Current",
"create.ponder.fan_direction.text_2": "UNLOCALIZED: Strength and Direction of Flow depends on the Rotational Input",
@@ -1706,6 +1774,26 @@
"create.ponder.fan_source.text_1": "UNLOCALIZED: Fans facing down into a source of heat can provide Rotational Force",
"create.ponder.fan_source.text_2": "UNLOCALIZED: When given a Redstone Signal, the Fans will start providing power",
+ "create.ponder.fluid_pipe_flow.header": "UNLOCALIZED: Moving Fluids using Copper Pipes",
+ "create.ponder.fluid_pipe_flow.text_1": "UNLOCALIZED: Fluid Pipes can connect two or more fluid sources and targets",
+ "create.ponder.fluid_pipe_flow.text_2": "UNLOCALIZED: Using a wrench, a straight pipe segment can be given a window",
+ "create.ponder.fluid_pipe_flow.text_3": "UNLOCALIZED: Windowed pipes will not connect to any other adjacent pipe segments",
+ "create.ponder.fluid_pipe_flow.text_4": "UNLOCALIZED: Powered by Mechanical Pumps, the Pipes can transport Fluids",
+ "create.ponder.fluid_pipe_flow.text_5": "UNLOCALIZED: No fluid is being extracted at first",
+ "create.ponder.fluid_pipe_flow.text_6": "UNLOCALIZED: Once the flow connects them, the endpoints gradually transfer their contents",
+ "create.ponder.fluid_pipe_flow.text_7": "UNLOCALIZED: Thus, the Pipe blocks themselves never 'physically' contain any fluid",
+
+ "create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers",
+ "create.ponder.fluid_pipe_interaction.text_1": "UNLOCALIZED: Endpoints of a pipe network can interact with a variety of blocks",
+ "create.ponder.fluid_pipe_interaction.text_2": "UNLOCALIZED: Any block with fluid storage capabilities can be filled or drained",
+ "create.ponder.fluid_pipe_interaction.text_3": "UNLOCALIZED: Source blocks right in front of an open end can be picked up...",
+ "create.ponder.fluid_pipe_interaction.text_4": "UNLOCALIZED: ...while spilling into empty spaces can create fluid sources",
+ "create.ponder.fluid_pipe_interaction.text_5": "UNLOCALIZED: Pipes can also extract fluids from a handful of other blocks directly",
+
+ "create.ponder.fluid_tank_sizes.header": "UNLOCALIZED: Dimensions of a Fluid tank",
+
+ "create.ponder.fluid_tank_storage.header": "UNLOCALIZED: Storing Fluids in Fluid Tanks",
+
"create.ponder.flywheel.header": "UNLOCALIZED: Generating Rotational Force using the Flywheel",
"create.ponder.flywheel.text_1": "UNLOCALIZED: Flywheels are required for generating rotational force with the Furnace Engine",
"create.ponder.flywheel.text_2": "UNLOCALIZED: The provided Rotational Force has a very large stress capacity",
@@ -1779,6 +1867,14 @@
"create.ponder.hand_crank.text_3": "UNLOCALIZED: Its conveyed speed is relatively high",
"create.ponder.hand_crank.text_4": "UNLOCALIZED: Sneak and Hold Right-Click to rotate it Clockwise",
+ "create.ponder.hose_pulley.header": "UNLOCALIZED: Source Filling and Draining using Hose Pulleys",
+
+ "create.ponder.hose_pulley_infinite.header": "UNLOCALIZED: Passively Filling and Draining large bodies of Fluid",
+
+ "create.ponder.hose_pulley_level.header": "UNLOCALIZED: Fill and Drain level of Hose Pulleys",
+
+ "create.ponder.item_drain.header": "UNLOCALIZED: Emptying Fluid Containers using Item Drains",
+
"create.ponder.large_cogwheel.header": "UNLOCALIZED: Relaying rotational force using Large Cogwheels",
"create.ponder.large_cogwheel.text_1": "UNLOCALIZED: Large cogwheels can connect to each other at right angles",
"create.ponder.large_cogwheel.text_2": "UNLOCALIZED: It will help relaying conveyed speed to other axes of rotation",
@@ -1901,6 +1997,10 @@
"create.ponder.mechanical_press_compacting.text_3": "UNLOCALIZED: Some of those recipes may require the heat of a Blaze Burner",
"create.ponder.mechanical_press_compacting.text_4": "UNLOCALIZED: The filter slot can be used in case two recipes are conflicting.",
+ "create.ponder.mechanical_pump_flow.header": "UNLOCALIZED: Fluid Transportation using Mechanical Pumps",
+
+ "create.ponder.mechanical_pump_speed.header": "UNLOCALIZED: Throughput of Mechanical Pumps",
+
"create.ponder.mechanical_saw_breaker.header": "UNLOCALIZED: Cutting Trees with the Mechanical Saw",
"create.ponder.mechanical_saw_breaker.text_1": "UNLOCALIZED: When given Rotational Force, a Mechanical Saw will cut trees directly in front of it",
"create.ponder.mechanical_saw_breaker.text_2": "UNLOCALIZED: In order to cut the tree fully, the Saw has to break the last block connecting it to the ground",
@@ -1931,6 +2031,10 @@
"create.ponder.piston_pole.text_1": "UNLOCALIZED: Without attached Poles, a Mechanical Piston cannot move",
"create.ponder.piston_pole.text_2": "UNLOCALIZED: The Length of pole added at its back determines the Extension Range",
+ "create.ponder.portable_fluid_interface.header": "UNLOCALIZED: Contraption Fluid Exchange",
+
+ "create.ponder.portable_fluid_interface_redstone.header": "UNLOCALIZED: Redstone Control",
+
"create.ponder.portable_storage_interface.header": "UNLOCALIZED: Contraption Storage Exchange",
"create.ponder.portable_storage_interface.text_1": "UNLOCALIZED: Inventories on moving contraptions cannot be accessed by players.",
"create.ponder.portable_storage_interface.text_2": "UNLOCALIZED: This component can interact with storage without the need to stop the contraption.",
@@ -2028,11 +2132,17 @@
"create.ponder.smart_chute.text_3": "UNLOCALIZED: Use the Mouse Wheel to specify the extracted stack size",
"create.ponder.smart_chute.text_4": "UNLOCALIZED: Redstone power will prevent Smart Chutes from acting.",
+ "create.ponder.smart_pipe.header": "UNLOCALIZED: Controlling Fluid flow using Smart Pipes",
+
"create.ponder.speedometer.header": "UNLOCALIZED: Monitoring Kinetic information using the Speedometer",
"create.ponder.speedometer.text_1": "UNLOCALIZED: The Speedometer displays the current Speed of the attached components",
"create.ponder.speedometer.text_2": "UNLOCALIZED: When wearing Engineers' Goggles, the player can get more detailed information from the Gauge",
"create.ponder.speedometer.text_3": "UNLOCALIZED: Comparators can emit analog Restone Signals relative to the Speedometer's measurements",
+ "create.ponder.spout_access.header": "UNLOCALIZED: Moving fluids into Spouts",
+
+ "create.ponder.spout_filling.header": "UNLOCALIZED: Filling Items using a Spout",
+
"create.ponder.stabilized_bearings.header": "UNLOCALIZED: Stabilized Contraptions",
"create.ponder.stabilized_bearings.text_1": "UNLOCALIZED: Whenever Mechanical Bearings are themselves part of a moving Structure..",
"create.ponder.stabilized_bearings.text_2": "UNLOCALIZED: ..they will attempt to keep themselves upright",
@@ -2064,6 +2174,8 @@
"create.ponder.valve_handle.text_4": "UNLOCALIZED: Sneak and Hold Right-Click to rotate it Clockwise",
"create.ponder.valve_handle.text_5": "UNLOCALIZED: Valve handles can be dyed for aesthetic purposes",
+ "create.ponder.valve_pipe.header": "UNLOCALIZED: Controlling Fluid flow using Valves",
+
"create.ponder.water_wheel.header": "UNLOCALIZED: Generating Rotational Force using Water Wheels",
"create.ponder.water_wheel.text_1": "UNLOCALIZED: Water Wheels draw force from adjacent Water Currents",
"create.ponder.water_wheel.text_2": "UNLOCALIZED: The more faces are powered, the faster the Water Wheel will rotate",
diff --git a/src/generated/resources/assets/create/lang/unfinished/it_it.json b/src/generated/resources/assets/create/lang/unfinished/it_it.json
index afa0b3942..4bb49e83f 100644
--- a/src/generated/resources/assets/create/lang/unfinished/it_it.json
+++ b/src/generated/resources/assets/create/lang/unfinished/it_it.json
@@ -1,5 +1,5 @@
{
- "_": "Missing Localizations: 660",
+ "_": "Missing Localizations: 757",
"_": "->------------------------] Game Elements [------------------------<-",
@@ -414,6 +414,7 @@
"block.create.zinc_ore": "Zinco grezzo",
"entity.create.contraption": "Contrazione",
+ "entity.create.crafting_blueprint": "UNLOCALIZED: Crafting Blueprint",
"entity.create.gantry_contraption": "UNLOCALIZED: Gantry Contraption",
"entity.create.seat": "Sedile",
"entity.create.stationary_contraption": "Contrazione stazionaria",
@@ -444,6 +445,7 @@
"item.create.copper_nugget": "Pepita di rame",
"item.create.copper_sheet": "Lamiera di rame",
"item.create.crafter_slot_cover": "Rivestimento per slot da costruzione",
+ "item.create.crafting_blueprint": "UNLOCALIZED: Crafting Blueprint",
"item.create.crushed_aluminum_ore": "Alluminio grezzo frantumato",
"item.create.crushed_brass": "Ottone frantumato",
"item.create.crushed_copper_ore": "Rame grezzo frantumato",
@@ -475,6 +477,7 @@
"item.create.integrated_circuit": "Circuito integrato",
"item.create.iron_sheet": "Lamiera di ferro",
"item.create.lapis_sheet": "Lamiera di lapislazzuli",
+ "item.create.linked_controller": "UNLOCALIZED: Linked Controller",
"item.create.minecart_contraption": "Contrazione per carrello da miniera",
"item.create.minecart_coupling": "Aggancio per carrelli da miniera",
"item.create.polished_rose_quartz": "Quarzo rosa levigato",
@@ -672,6 +675,13 @@
"create.block.deployer.damage_source_name": "un disadattato",
"create.block.cart_assembler.invalid": "Piazza il tuo assemblatore di carrelli da miniera su un binario",
+ "create.menu.return": "UNLOCALIZED: Return to Menu",
+ "create.menu.configure": "UNLOCALIZED: Configure...",
+ "create.menu.getting_started": "UNLOCALIZED: Getting Started",
+ "create.menu.project_page": "UNLOCALIZED: Project Page",
+ "create.menu.report_bugs": "UNLOCALIZED: Report Issues",
+ "create.menu.support": "UNLOCALIZED: Support Us",
+
"create.recipe.crushing": "Frantumazione",
"create.recipe.milling": "Macinatura",
"create.recipe.fan_washing": "Lavaggio volumetrico",
@@ -1105,6 +1115,20 @@
"create.tooltip.chute.fans_pull_down": "I ventilatori tirano da sotto",
"create.tooltip.chute.contains": "Contiene: %1$s x%2$s",
+ "create.linked_controller.bind_mode": "UNLOCALIZED: Bind mode active",
+ "create.linked_controller.press_keybind": "UNLOCALIZED: Press %1$s, %2$s, %3$s, %4$s, %5$s or %6$s, to bind this frequency to the respective key",
+ "create.linked_controller.key_bound": "UNLOCALIZED: Frequency bound to %1$s",
+ "create.linked_controller.frequency_slot_1": "UNLOCALIZED: Keybind: %1$s, Freq. #1",
+ "create.linked_controller.frequency_slot_2": "UNLOCALIZED: Keybind: %1$s, Freq. #2",
+
+ "create.crafting_blueprint.crafting_slot": "UNLOCALIZED: Ingredient Slot",
+ "create.crafting_blueprint.filter_items_viable": "UNLOCALIZED: Advanced filter items are viable",
+ "create.crafting_blueprint.display_slot": "UNLOCALIZED: Display Slot",
+ "create.crafting_blueprint.inferred": "UNLOCALIZED: Inferred from recipe",
+ "create.crafting_blueprint.manually_assigned": "UNLOCALIZED: Manually assigned",
+ "create.crafting_blueprint.secondary_display_slot": "UNLOCALIZED: Secondary Display Slot",
+ "create.crafting_blueprint.optional": "UNLOCALIZED: Optional",
+
"create.hint.hose_pulley.title": "Buco senza fondo",
"create.hint.hose_pulley": "Il corpo fluido selezionato è considerato infinito.",
"create.hint.mechanical_arm_no_targets.title": "Nessun bersaglio",
@@ -1132,32 +1156,38 @@
"create.command.killTPSCommand.argument.tickTime": "tickTime",
"create.contraption.minecart_contraption_too_big": "UNLOCALIZED: This Cart Contraption seems too big to pick up",
+ "create.contraption.minecart_contraption_illegal_pickup": "UNLOCALIZED: A mystical force is binding this Cart Contraption to the world",
"_": "->------------------------] Subtitles [------------------------<-",
- "create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble",
- "create.subtitle.slime_added": "Slime schiacciato",
+ "create.subtitle.saw_idle": "UNLOCALIZED: Mechanical Saw turns",
"create.subtitle.contraption_disassemble": "UNLOCALIZED: Contraption stops",
- "create.subtitle.wrench_rotate": "UNLOCALIZED: Wrench used",
"create.subtitle.mixing": "UNLOCALIZED: Mixing Noises",
"create.subtitle.mechanical_press_activation_belt": "UNLOCALIZED: Mechanical Press bonks",
"create.subtitle.worldshaper_place": "UNLOCALIZED: Worldshaper zaps",
- "create.subtitle.deployer_polish": "UNLOCALIZED: Deployer applies polish",
"create.subtitle.depot_slide": "UNLOCALIZED: Item slides",
- "create.subtitle.deny": "UNLOCALIZED: Declining boop",
+ "create.subtitle.saw_activate_stone": "UNLOCALIZED: Mechanical Saw activates",
"create.subtitle.blaze_munch": "Il blaze lo gusta felicemente",
- "create.subtitle.schematicannon_launch_block": "Tiri del cannoneschematico",
"create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps",
- "create.subtitle.copper_armor_equip": "UNLOCALIZED: Diving equipment clinks",
"create.subtitle.schematicannon_finish": "Finiture cannoneschematico",
"create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks",
+ "create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
+ "create.subtitle.saw_process": "UNLOCALIZED: Mechanical Saw processes",
+ "create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
+ "create.subtitle.wrench_remove": "UNLOCALIZED: Component breaks",
+ "create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble",
+ "create.subtitle.slime_added": "Slime schiacciato",
+ "create.subtitle.wrench_rotate": "UNLOCALIZED: Wrench used",
+ "create.subtitle.saw_activate_wood": "UNLOCALIZED: Mechanical Saw activates",
+ "create.subtitle.deployer_polish": "UNLOCALIZED: Deployer applies polish",
+ "create.subtitle.deny": "UNLOCALIZED: Declining boop",
+ "create.subtitle.controller_click": "UNLOCALIZED: Controller clicks",
+ "create.subtitle.schematicannon_launch_block": "Tiri del cannoneschematico",
+ "create.subtitle.copper_armor_equip": "UNLOCALIZED: Diving equipment clinks",
"create.subtitle.mechanical_press_activation": "Pressa meccanica attiva",
"create.subtitle.contraption_assemble": "UNLOCALIZED: Contraption moves",
- "create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
- "create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
"create.subtitle.crafter_click": "UNLOCALIZED: Crafter clicks",
- "create.subtitle.wrench_remove": "UNLOCALIZED: Component breaks",
"create.subtitle.depot_plop": "UNLOCALIZED: Item lands",
"create.subtitle.confirm": "UNLOCALIZED: Affirmative ding",
@@ -1398,27 +1428,52 @@
"item.create.refined_radiance.tooltip": "RADIANCE RAFFINATA",
"item.create.refined_radiance.tooltip.summary": "Un materiale cromatico forgiato dalla _luce_ _assorbita_.",
+ "item.create.refined_radiance.tooltip.condition1": "UNLOCALIZED: Work In Progress",
+ "item.create.refined_radiance.tooltip.behaviour1": "UNLOCALIZED: Usages for this material will be available in a future release.",
"item.create.shadow_steel.tooltip": "ACCIAIO OSCURO",
"item.create.shadow_steel.tooltip.summary": "Un materiale cromatico forgiato _nel_ _vuoto_.",
+ "item.create.shadow_steel.tooltip.condition1": "UNLOCALIZED: Work In Progress",
+ "item.create.shadow_steel.tooltip.behaviour1": "UNLOCALIZED: Usages for this material will be available in a future release.",
+
+ "item.create.linked_controller.tooltip": "UNLOCALIZED: LINKED CONTROLLER",
+ "item.create.linked_controller.tooltip.summary": "UNLOCALIZED: Grants _handheld_ _control_ over _Redstone Link_ frequencies assigned to its _six_ _buttons_.",
+ "item.create.linked_controller.tooltip.condition1": "UNLOCALIZED: R-Click",
+ "item.create.linked_controller.tooltip.behaviour1": "UNLOCALIZED: _Toggles_ the controller. _Movement_ _controls_ are taken over while its active.",
+ "item.create.linked_controller.tooltip.condition2": "UNLOCALIZED: R-Click while Sneaking",
+ "item.create.linked_controller.tooltip.behaviour2": "UNLOCALIZED: Opens the manual _Configuration Interface_.",
+ "item.create.linked_controller.tooltip.condition3": "UNLOCALIZED: R-Click on Redstone Link Receiver",
+ "item.create.linked_controller.tooltip.behaviour3": "UNLOCALIZED: Enables _Bind Mode_, press one of the _six controls_ to bind it to the _Links' Frequency_.",
+
+ "item.create.diving_helmet.tooltip": "UNLOCALIZED: DIVING HELMET",
+ "item.create.diving_helmet.tooltip.summary": "UNLOCALIZED: Together with a _Copper_ _Backtank_, allows the weilder to _breathe_ _underwater_ for an extended amount of time.",
+ "item.create.diving_helmet.tooltip.condition1": "UNLOCALIZED: When Worn",
+ "item.create.diving_helmet.tooltip.behaviour1": "UNLOCALIZED: Provides the _Water Breathing_ effect, slowly draining _Air Pressure_ from the Backtank.",
+
+ "item.create.copper_backtank.tooltip": "UNLOCALIZED: COPPER BACKTANK",
+ "item.create.copper_backtank.tooltip.summary": "UNLOCALIZED: A _Wearable_ _Tank_ for carrying Pressurized Air.",
+ "item.create.copper_backtank.tooltip.condition1": "UNLOCALIZED: When Worn",
+ "item.create.copper_backtank.tooltip.behaviour1": "UNLOCALIZED: Provides _Pressurized_ _Air_ to Equipment that requires it.",
+ "item.create.copper_backtank.tooltip.condition2": "UNLOCALIZED: When placed, Powered by Kinetics",
+ "item.create.copper_backtank.tooltip.behaviour2": "UNLOCALIZED: _Collects_ _Pressurized_ _Air_ at a rate depending on the Rotational Speed.",
+
+ "item.create.diving_boots.tooltip": "UNLOCALIZED: DIVING BOOTS",
+ "item.create.diving_boots.tooltip.summary": "UNLOCALIZED: A pair of _heavy_ _boots_, allowing for better traversal of the Ocean floor.",
+ "item.create.diving_boots.tooltip.condition1": "UNLOCALIZED: When Worn",
+ "item.create.diving_boots.tooltip.behaviour1": "UNLOCALIZED: Weilder _sinks_ _faster_ and _cannot_ _swim_. Grants the ability to _walk_ and _jump_ underwater. Weilder also is no longer affected by _Mechanical_ _Belts_.",
+
+ "item.create.crafting_blueprint.tooltip": "UNLOCALIZED: CRAFTING BLUEPRINT",
+ "item.create.crafting_blueprint.tooltip.summary": "UNLOCALIZED: _Placed_ on a wall, it can be used to _specify_ _ingredient_ _arrangements_ for easier manual crafting. Each slot represents a Recipe.",
+ "item.create.crafting_blueprint.condition1": "UNLOCALIZED: R-Click empty Slot",
+ "item.create.crafting_blueprint.behaviour1": "UNLOCALIZED: Opens a _Crafting_ _menu_ allowing you to _configure_ a _recipe_ and items to display.",
+ "item.create.crafting_blueprint.condition2": "UNLOCALIZED: R-Click configured Slot",
+ "item.create.crafting_blueprint.behaviour2": "UNLOCALIZED: _Applies_ the _configured_ _recipe_ with matching Ingredients found in your _Inventory_. _Sneak_ to craft up to a _Stack_ of items.",
"item.create.minecart_coupling.tooltip": "AGGANCIO PER CARRELLI DA MINIERA",
"item.create.minecart_coupling.tooltip.summary": "_Concatena_ i _carrelli da miniera_ le _macchine su carrello_ insieme per formare un treno maestoso.",
"item.create.minecart_coupling.tooltip.condition1": "Quando usato su un carrello da miniera",
"item.create.minecart_coupling.tooltip.behaviour1": "_Concatena_ due carrelli insieme, provando a tenerli uniti a una _distanza costante_ mentre si muovono.",
- "create.tooltip.wip": "WIP",
- "create.tooltip.workInProgress": "Work in progress!",
- "create.tooltip.randomWipDescription0": "Si prega di tenere questo oggetto lontano dai bambini.",
- "create.tooltip.randomWipDescription1": "Un cucciolo di panda muore ogni volta che usi questo oggetto. Ogni. Volta.",
- "create.tooltip.randomWipDescription2": "Da utilizzare a proprio rischio.",
- "create.tooltip.randomWipDescription3": "Questo non è l'oggetto che stai cercando, *le dita si muovono* per favore stai in disparte.",
- "create.tooltip.randomWipDescription4": "Questo oggetto si autodistruggerà tra 10 secondi. 10, 9, 8...",
- "create.tooltip.randomWipDescription5": "Credimi, è inutile.",
- "create.tooltip.randomWipDescription6": "Utilizzando questo articolo, acconsenti al nostro disclaimer e accetti i suoi termini.",
- "create.tooltip.randomWipDescription7": "Questo forse non fa per te. Che ne dici di quello?",
- "create.tooltip.randomWipDescription8": "Usalo e rimpiangi immediatamente la tua decisione.",
-
"_": "->------------------------] Ponder Content [------------------------<-",
@@ -1594,7 +1649,7 @@
"create.ponder.chain_drive.text_3": "UNLOCALIZED: Any part of the row can be rotated by 90 degrees",
"create.ponder.chain_gearshift.header": "UNLOCALIZED: Controlling rotational speed with Chain Gearshifts",
- "create.ponder.chain_gearshift.text_1": "UNLOCALIZED: Unpowered Chain Gearshifts behave exacly like Chain Drives",
+ "create.ponder.chain_gearshift.text_1": "UNLOCALIZED: Unpowered Chain Gearshifts behave exactly like Chain Drives",
"create.ponder.chain_gearshift.text_2": "UNLOCALIZED: When Powered, the speed transmitted to other Chain Drives in the row is doubled",
"create.ponder.chain_gearshift.text_3": "UNLOCALIZED: Whenever the Powered Gearshift is not at the source, its speed will be halved instead",
"create.ponder.chain_gearshift.text_4": "UNLOCALIZED: In both cases, Chain Drives in the row always run at 2x the speed of the Powered Gearshift",
@@ -1634,6 +1689,8 @@
"create.ponder.cogwheel.text_1": "UNLOCALIZED: Cogwheels will relay rotation to other adjacent cogwheels",
"create.ponder.cogwheel.text_2": "UNLOCALIZED: Neighbouring shafts connected like this will rotate in opposite directions",
+ "create.ponder.creative_fluid_tank.header": "UNLOCALIZED: Creative Fluid Tanks",
+
"create.ponder.creative_motor.header": "UNLOCALIZED: Generating Rotational Force using Creative Motors",
"create.ponder.creative_motor.text_1": "UNLOCALIZED: Creative motors are a compact and configurable source of Rotational Force",
"create.ponder.creative_motor.text_2": "UNLOCALIZED: Scrolling on the back panel changes the RPM of the motors' rotational output",
@@ -1670,6 +1727,12 @@
"create.ponder.deployer_modes.text_1": "UNLOCALIZED: By default, a Deployer imitates a Right-click interaction",
"create.ponder.deployer_modes.text_2": "UNLOCALIZED: Using a Wrench, it can be set to imitate a Left-click instead",
+ "create.ponder.deployer_processing.header": "UNLOCALIZED: Processing Items using Deployers",
+ "create.ponder.deployer_processing.text_1": "UNLOCALIZED: With a fitting held item, Deployers can process items provided beneath them",
+ "create.ponder.deployer_processing.text_2": "UNLOCALIZED: The Input items can be dropped or placed on a Depot under the Deployer",
+ "create.ponder.deployer_processing.text_3": "UNLOCALIZED: When items are provided on a belt...",
+ "create.ponder.deployer_processing.text_4": "UNLOCALIZED: The Deployer will hold and process them automatically",
+
"create.ponder.deployer_redstone.header": "UNLOCALIZED: Controlling Deployers with Redstone",
"create.ponder.deployer_redstone.text_1": "UNLOCALIZED: When powered by Redstone, Deployers will not activate",
"create.ponder.deployer_redstone.text_2": "UNLOCALIZED: Before stopping, the Deployer will finish any started cycles",
@@ -1688,6 +1751,11 @@
"create.ponder.empty_blaze_burner.text_4": "UNLOCALIZED: For Aesthetic purposes, Empty Blaze Burners can also be lit using Flint and Steel",
"create.ponder.empty_blaze_burner.text_5": "UNLOCALIZED: However, these are not suitable for industrial heating",
+ "create.ponder.encased_fluid_pipe.header": "UNLOCALIZED: Encasing Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_1": "UNLOCALIZED: Copper Casing can be used to decorate Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_2": "UNLOCALIZED: Aside from being conceiled, Encased Pipes are locked into their connectivity state",
+ "create.ponder.encased_fluid_pipe.text_3": "UNLOCALIZED: It will no longer react to any neighbouring blocks being added or removed",
+
"create.ponder.fan_direction.header": "UNLOCALIZED: Air flow of Encased Fans",
"create.ponder.fan_direction.text_1": "UNLOCALIZED: Encased Fans use Rotational Force to create an Air Current",
"create.ponder.fan_direction.text_2": "UNLOCALIZED: Strength and Direction of Flow depends on the Rotational Input",
@@ -1706,6 +1774,26 @@
"create.ponder.fan_source.text_1": "UNLOCALIZED: Fans facing down into a source of heat can provide Rotational Force",
"create.ponder.fan_source.text_2": "UNLOCALIZED: When given a Redstone Signal, the Fans will start providing power",
+ "create.ponder.fluid_pipe_flow.header": "UNLOCALIZED: Moving Fluids using Copper Pipes",
+ "create.ponder.fluid_pipe_flow.text_1": "UNLOCALIZED: Fluid Pipes can connect two or more fluid sources and targets",
+ "create.ponder.fluid_pipe_flow.text_2": "UNLOCALIZED: Using a wrench, a straight pipe segment can be given a window",
+ "create.ponder.fluid_pipe_flow.text_3": "UNLOCALIZED: Windowed pipes will not connect to any other adjacent pipe segments",
+ "create.ponder.fluid_pipe_flow.text_4": "UNLOCALIZED: Powered by Mechanical Pumps, the Pipes can transport Fluids",
+ "create.ponder.fluid_pipe_flow.text_5": "UNLOCALIZED: No fluid is being extracted at first",
+ "create.ponder.fluid_pipe_flow.text_6": "UNLOCALIZED: Once the flow connects them, the endpoints gradually transfer their contents",
+ "create.ponder.fluid_pipe_flow.text_7": "UNLOCALIZED: Thus, the Pipe blocks themselves never 'physically' contain any fluid",
+
+ "create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers",
+ "create.ponder.fluid_pipe_interaction.text_1": "UNLOCALIZED: Endpoints of a pipe network can interact with a variety of blocks",
+ "create.ponder.fluid_pipe_interaction.text_2": "UNLOCALIZED: Any block with fluid storage capabilities can be filled or drained",
+ "create.ponder.fluid_pipe_interaction.text_3": "UNLOCALIZED: Source blocks right in front of an open end can be picked up...",
+ "create.ponder.fluid_pipe_interaction.text_4": "UNLOCALIZED: ...while spilling into empty spaces can create fluid sources",
+ "create.ponder.fluid_pipe_interaction.text_5": "UNLOCALIZED: Pipes can also extract fluids from a handful of other blocks directly",
+
+ "create.ponder.fluid_tank_sizes.header": "UNLOCALIZED: Dimensions of a Fluid tank",
+
+ "create.ponder.fluid_tank_storage.header": "UNLOCALIZED: Storing Fluids in Fluid Tanks",
+
"create.ponder.flywheel.header": "UNLOCALIZED: Generating Rotational Force using the Flywheel",
"create.ponder.flywheel.text_1": "UNLOCALIZED: Flywheels are required for generating rotational force with the Furnace Engine",
"create.ponder.flywheel.text_2": "UNLOCALIZED: The provided Rotational Force has a very large stress capacity",
@@ -1779,6 +1867,14 @@
"create.ponder.hand_crank.text_3": "UNLOCALIZED: Its conveyed speed is relatively high",
"create.ponder.hand_crank.text_4": "UNLOCALIZED: Sneak and Hold Right-Click to rotate it Clockwise",
+ "create.ponder.hose_pulley.header": "UNLOCALIZED: Source Filling and Draining using Hose Pulleys",
+
+ "create.ponder.hose_pulley_infinite.header": "UNLOCALIZED: Passively Filling and Draining large bodies of Fluid",
+
+ "create.ponder.hose_pulley_level.header": "UNLOCALIZED: Fill and Drain level of Hose Pulleys",
+
+ "create.ponder.item_drain.header": "UNLOCALIZED: Emptying Fluid Containers using Item Drains",
+
"create.ponder.large_cogwheel.header": "UNLOCALIZED: Relaying rotational force using Large Cogwheels",
"create.ponder.large_cogwheel.text_1": "UNLOCALIZED: Large cogwheels can connect to each other at right angles",
"create.ponder.large_cogwheel.text_2": "UNLOCALIZED: It will help relaying conveyed speed to other axes of rotation",
@@ -1901,6 +1997,10 @@
"create.ponder.mechanical_press_compacting.text_3": "UNLOCALIZED: Some of those recipes may require the heat of a Blaze Burner",
"create.ponder.mechanical_press_compacting.text_4": "UNLOCALIZED: The filter slot can be used in case two recipes are conflicting.",
+ "create.ponder.mechanical_pump_flow.header": "UNLOCALIZED: Fluid Transportation using Mechanical Pumps",
+
+ "create.ponder.mechanical_pump_speed.header": "UNLOCALIZED: Throughput of Mechanical Pumps",
+
"create.ponder.mechanical_saw_breaker.header": "UNLOCALIZED: Cutting Trees with the Mechanical Saw",
"create.ponder.mechanical_saw_breaker.text_1": "UNLOCALIZED: When given Rotational Force, a Mechanical Saw will cut trees directly in front of it",
"create.ponder.mechanical_saw_breaker.text_2": "UNLOCALIZED: In order to cut the tree fully, the Saw has to break the last block connecting it to the ground",
@@ -1931,6 +2031,10 @@
"create.ponder.piston_pole.text_1": "UNLOCALIZED: Without attached Poles, a Mechanical Piston cannot move",
"create.ponder.piston_pole.text_2": "UNLOCALIZED: The Length of pole added at its back determines the Extension Range",
+ "create.ponder.portable_fluid_interface.header": "UNLOCALIZED: Contraption Fluid Exchange",
+
+ "create.ponder.portable_fluid_interface_redstone.header": "UNLOCALIZED: Redstone Control",
+
"create.ponder.portable_storage_interface.header": "UNLOCALIZED: Contraption Storage Exchange",
"create.ponder.portable_storage_interface.text_1": "UNLOCALIZED: Inventories on moving contraptions cannot be accessed by players.",
"create.ponder.portable_storage_interface.text_2": "UNLOCALIZED: This component can interact with storage without the need to stop the contraption.",
@@ -2028,11 +2132,17 @@
"create.ponder.smart_chute.text_3": "UNLOCALIZED: Use the Mouse Wheel to specify the extracted stack size",
"create.ponder.smart_chute.text_4": "UNLOCALIZED: Redstone power will prevent Smart Chutes from acting.",
+ "create.ponder.smart_pipe.header": "UNLOCALIZED: Controlling Fluid flow using Smart Pipes",
+
"create.ponder.speedometer.header": "UNLOCALIZED: Monitoring Kinetic information using the Speedometer",
"create.ponder.speedometer.text_1": "UNLOCALIZED: The Speedometer displays the current Speed of the attached components",
"create.ponder.speedometer.text_2": "UNLOCALIZED: When wearing Engineers' Goggles, the player can get more detailed information from the Gauge",
"create.ponder.speedometer.text_3": "UNLOCALIZED: Comparators can emit analog Restone Signals relative to the Speedometer's measurements",
+ "create.ponder.spout_access.header": "UNLOCALIZED: Moving fluids into Spouts",
+
+ "create.ponder.spout_filling.header": "UNLOCALIZED: Filling Items using a Spout",
+
"create.ponder.stabilized_bearings.header": "UNLOCALIZED: Stabilized Contraptions",
"create.ponder.stabilized_bearings.text_1": "UNLOCALIZED: Whenever Mechanical Bearings are themselves part of a moving Structure..",
"create.ponder.stabilized_bearings.text_2": "UNLOCALIZED: ..they will attempt to keep themselves upright",
@@ -2064,6 +2174,8 @@
"create.ponder.valve_handle.text_4": "UNLOCALIZED: Sneak and Hold Right-Click to rotate it Clockwise",
"create.ponder.valve_handle.text_5": "UNLOCALIZED: Valve handles can be dyed for aesthetic purposes",
+ "create.ponder.valve_pipe.header": "UNLOCALIZED: Controlling Fluid flow using Valves",
+
"create.ponder.water_wheel.header": "UNLOCALIZED: Generating Rotational Force using Water Wheels",
"create.ponder.water_wheel.text_1": "UNLOCALIZED: Water Wheels draw force from adjacent Water Currents",
"create.ponder.water_wheel.text_2": "UNLOCALIZED: The more faces are powered, the faster the Water Wheel will rotate",
diff --git a/src/generated/resources/assets/create/lang/unfinished/ja_jp.json b/src/generated/resources/assets/create/lang/unfinished/ja_jp.json
index 9bf53aabf..5ca80c09d 100644
--- a/src/generated/resources/assets/create/lang/unfinished/ja_jp.json
+++ b/src/generated/resources/assets/create/lang/unfinished/ja_jp.json
@@ -1,5 +1,5 @@
{
- "_": "Missing Localizations: 24",
+ "_": "Missing Localizations: 121",
"_": "->------------------------] Game Elements [------------------------<-",
@@ -414,6 +414,7 @@
"block.create.zinc_ore": "亜鉛鉱石",
"entity.create.contraption": "からくり",
+ "entity.create.crafting_blueprint": "UNLOCALIZED: Crafting Blueprint",
"entity.create.gantry_contraption": "ガントリーからくり",
"entity.create.seat": "シート",
"entity.create.stationary_contraption": "付設からくり",
@@ -444,6 +445,7 @@
"item.create.copper_nugget": "銅塊",
"item.create.copper_sheet": "銅板",
"item.create.crafter_slot_cover": "クラフタースロットカバー",
+ "item.create.crafting_blueprint": "UNLOCALIZED: Crafting Blueprint",
"item.create.crushed_aluminum_ore": "砕いたアルミニウム鉱石",
"item.create.crushed_brass": "砕いた真鍮",
"item.create.crushed_copper_ore": "砕いた銅鉱石",
@@ -475,6 +477,7 @@
"item.create.integrated_circuit": "集積回路",
"item.create.iron_sheet": "鉄板",
"item.create.lapis_sheet": "ラピスラズリ板",
+ "item.create.linked_controller": "UNLOCALIZED: Linked Controller",
"item.create.minecart_contraption": "からくり付きトロッコ",
"item.create.minecart_coupling": "トロッコ連結器",
"item.create.polished_rose_quartz": "磨かれたローズクォーツ",
@@ -672,6 +675,13 @@
"create.block.deployer.damage_source_name": "悪いデプロイヤー",
"create.block.cart_assembler.invalid": "トロッコアセンブラはレールの上にのみ設置できます",
+ "create.menu.return": "UNLOCALIZED: Return to Menu",
+ "create.menu.configure": "UNLOCALIZED: Configure...",
+ "create.menu.getting_started": "UNLOCALIZED: Getting Started",
+ "create.menu.project_page": "UNLOCALIZED: Project Page",
+ "create.menu.report_bugs": "UNLOCALIZED: Report Issues",
+ "create.menu.support": "UNLOCALIZED: Support Us",
+
"create.recipe.crushing": "粉砕",
"create.recipe.milling": "製粉",
"create.recipe.fan_washing": "一括洗浄",
@@ -1105,6 +1115,20 @@
"create.tooltip.chute.fans_pull_down": "ファンが下から吸い込んでいます",
"create.tooltip.chute.contains": "内容物: %1$s x%2$s",
+ "create.linked_controller.bind_mode": "UNLOCALIZED: Bind mode active",
+ "create.linked_controller.press_keybind": "UNLOCALIZED: Press %1$s, %2$s, %3$s, %4$s, %5$s or %6$s, to bind this frequency to the respective key",
+ "create.linked_controller.key_bound": "UNLOCALIZED: Frequency bound to %1$s",
+ "create.linked_controller.frequency_slot_1": "UNLOCALIZED: Keybind: %1$s, Freq. #1",
+ "create.linked_controller.frequency_slot_2": "UNLOCALIZED: Keybind: %1$s, Freq. #2",
+
+ "create.crafting_blueprint.crafting_slot": "UNLOCALIZED: Ingredient Slot",
+ "create.crafting_blueprint.filter_items_viable": "UNLOCALIZED: Advanced filter items are viable",
+ "create.crafting_blueprint.display_slot": "UNLOCALIZED: Display Slot",
+ "create.crafting_blueprint.inferred": "UNLOCALIZED: Inferred from recipe",
+ "create.crafting_blueprint.manually_assigned": "UNLOCALIZED: Manually assigned",
+ "create.crafting_blueprint.secondary_display_slot": "UNLOCALIZED: Secondary Display Slot",
+ "create.crafting_blueprint.optional": "UNLOCALIZED: Optional",
+
"create.hint.hose_pulley.title": "底なし搬出",
"create.hint.hose_pulley": "対象となる液体は無限とみなされています。",
"create.hint.mechanical_arm_no_targets.title": "ターゲットが見つかりません",
@@ -1132,32 +1156,38 @@
"create.command.killTPSCommand.argument.tickTime": "tickTime",
"create.contraption.minecart_contraption_too_big": "このからくりトロッコは大きすぎて拾えません。",
+ "create.contraption.minecart_contraption_illegal_pickup": "UNLOCALIZED: A mystical force is binding this Cart Contraption to the world",
"_": "->------------------------] Subtitles [------------------------<-",
- "create.subtitle.cogs": "歯車がゴロゴロと鳴る",
- "create.subtitle.slime_added": "スライムがぐしゃっとつぶれる",
+ "create.subtitle.saw_idle": "UNLOCALIZED: Mechanical Saw turns",
"create.subtitle.contraption_disassemble": "からくりが止まる",
- "create.subtitle.wrench_rotate": "レンチを使う",
"create.subtitle.mixing": "混ぜる音",
"create.subtitle.mechanical_press_activation_belt": "メカニカルプレスがボンと鳴る",
"create.subtitle.worldshaper_place": "UNLOCALIZED: Worldshaper zaps",
- "create.subtitle.deployer_polish": "UNLOCALIZED: Deployer applies polish",
"create.subtitle.depot_slide": "アイテムが滑る",
- "create.subtitle.deny": "UNLOCALIZED: Declining boop",
+ "create.subtitle.saw_activate_stone": "UNLOCALIZED: Mechanical Saw activates",
"create.subtitle.blaze_munch": "ブレイズの咀嚼音",
- "create.subtitle.schematicannon_launch_block": "概略図砲が発射する",
"create.subtitle.funnel_flap": "ファンネルがはためく",
- "create.subtitle.copper_armor_equip": "UNLOCALIZED: Diving equipment clinks",
"create.subtitle.schematicannon_finish": "概略図砲が作業を終える",
"create.subtitle.scroll_value": "スクロールのカチカチ音",
+ "create.subtitle.crafter_craft": "メカニカルクラフターがクラフトする",
+ "create.subtitle.saw_process": "UNLOCALIZED: Mechanical Saw processes",
+ "create.subtitle.cranking": "ハンドクランクが回る",
+ "create.subtitle.wrench_remove": "機械を壊す",
+ "create.subtitle.cogs": "歯車がゴロゴロと鳴る",
+ "create.subtitle.slime_added": "スライムがぐしゃっとつぶれる",
+ "create.subtitle.wrench_rotate": "レンチを使う",
+ "create.subtitle.saw_activate_wood": "UNLOCALIZED: Mechanical Saw activates",
+ "create.subtitle.deployer_polish": "UNLOCALIZED: Deployer applies polish",
+ "create.subtitle.deny": "UNLOCALIZED: Declining boop",
+ "create.subtitle.controller_click": "UNLOCALIZED: Controller clicks",
+ "create.subtitle.schematicannon_launch_block": "概略図砲が発射する",
+ "create.subtitle.copper_armor_equip": "UNLOCALIZED: Diving equipment clinks",
"create.subtitle.mechanical_press_activation": "メカニカルプレスがガーンと鳴る",
"create.subtitle.contraption_assemble": "からくりが動く",
- "create.subtitle.crafter_craft": "メカニカルクラフターがクラフトする",
- "create.subtitle.cranking": "ハンドクランクが回る",
"create.subtitle.crafter_click": "メカニカルクラフターのカチカチ音",
- "create.subtitle.wrench_remove": "機械を壊す",
"create.subtitle.depot_plop": "デプロイヤーにアイテムが入れられる",
"create.subtitle.confirm": "UNLOCALIZED: Affirmative ding",
@@ -1398,27 +1428,52 @@
"item.create.refined_radiance.tooltip": "高貴な光輝",
"item.create.refined_radiance.tooltip.summary": "_吸収した光輝_から鍛造した色彩素材。",
+ "item.create.refined_radiance.tooltip.condition1": "UNLOCALIZED: Work In Progress",
+ "item.create.refined_radiance.tooltip.behaviour1": "UNLOCALIZED: Usages for this material will be available in a future release.",
"item.create.shadow_steel.tooltip": "シャドウスチール",
"item.create.shadow_steel.tooltip.summary": "_奈落の虚無_から鍛造した色彩素材。",
+ "item.create.shadow_steel.tooltip.condition1": "UNLOCALIZED: Work In Progress",
+ "item.create.shadow_steel.tooltip.behaviour1": "UNLOCALIZED: Usages for this material will be available in a future release.",
+
+ "item.create.linked_controller.tooltip": "UNLOCALIZED: LINKED CONTROLLER",
+ "item.create.linked_controller.tooltip.summary": "UNLOCALIZED: Grants _handheld_ _control_ over _Redstone Link_ frequencies assigned to its _six_ _buttons_.",
+ "item.create.linked_controller.tooltip.condition1": "UNLOCALIZED: R-Click",
+ "item.create.linked_controller.tooltip.behaviour1": "UNLOCALIZED: _Toggles_ the controller. _Movement_ _controls_ are taken over while its active.",
+ "item.create.linked_controller.tooltip.condition2": "UNLOCALIZED: R-Click while Sneaking",
+ "item.create.linked_controller.tooltip.behaviour2": "UNLOCALIZED: Opens the manual _Configuration Interface_.",
+ "item.create.linked_controller.tooltip.condition3": "UNLOCALIZED: R-Click on Redstone Link Receiver",
+ "item.create.linked_controller.tooltip.behaviour3": "UNLOCALIZED: Enables _Bind Mode_, press one of the _six controls_ to bind it to the _Links' Frequency_.",
+
+ "item.create.diving_helmet.tooltip": "UNLOCALIZED: DIVING HELMET",
+ "item.create.diving_helmet.tooltip.summary": "UNLOCALIZED: Together with a _Copper_ _Backtank_, allows the weilder to _breathe_ _underwater_ for an extended amount of time.",
+ "item.create.diving_helmet.tooltip.condition1": "UNLOCALIZED: When Worn",
+ "item.create.diving_helmet.tooltip.behaviour1": "UNLOCALIZED: Provides the _Water Breathing_ effect, slowly draining _Air Pressure_ from the Backtank.",
+
+ "item.create.copper_backtank.tooltip": "UNLOCALIZED: COPPER BACKTANK",
+ "item.create.copper_backtank.tooltip.summary": "UNLOCALIZED: A _Wearable_ _Tank_ for carrying Pressurized Air.",
+ "item.create.copper_backtank.tooltip.condition1": "UNLOCALIZED: When Worn",
+ "item.create.copper_backtank.tooltip.behaviour1": "UNLOCALIZED: Provides _Pressurized_ _Air_ to Equipment that requires it.",
+ "item.create.copper_backtank.tooltip.condition2": "UNLOCALIZED: When placed, Powered by Kinetics",
+ "item.create.copper_backtank.tooltip.behaviour2": "UNLOCALIZED: _Collects_ _Pressurized_ _Air_ at a rate depending on the Rotational Speed.",
+
+ "item.create.diving_boots.tooltip": "UNLOCALIZED: DIVING BOOTS",
+ "item.create.diving_boots.tooltip.summary": "UNLOCALIZED: A pair of _heavy_ _boots_, allowing for better traversal of the Ocean floor.",
+ "item.create.diving_boots.tooltip.condition1": "UNLOCALIZED: When Worn",
+ "item.create.diving_boots.tooltip.behaviour1": "UNLOCALIZED: Weilder _sinks_ _faster_ and _cannot_ _swim_. Grants the ability to _walk_ and _jump_ underwater. Weilder also is no longer affected by _Mechanical_ _Belts_.",
+
+ "item.create.crafting_blueprint.tooltip": "UNLOCALIZED: CRAFTING BLUEPRINT",
+ "item.create.crafting_blueprint.tooltip.summary": "UNLOCALIZED: _Placed_ on a wall, it can be used to _specify_ _ingredient_ _arrangements_ for easier manual crafting. Each slot represents a Recipe.",
+ "item.create.crafting_blueprint.condition1": "UNLOCALIZED: R-Click empty Slot",
+ "item.create.crafting_blueprint.behaviour1": "UNLOCALIZED: Opens a _Crafting_ _menu_ allowing you to _configure_ a _recipe_ and items to display.",
+ "item.create.crafting_blueprint.condition2": "UNLOCALIZED: R-Click configured Slot",
+ "item.create.crafting_blueprint.behaviour2": "UNLOCALIZED: _Applies_ the _configured_ _recipe_ with matching Ingredients found in your _Inventory_. _Sneak_ to craft up to a _Stack_ of items.",
"item.create.minecart_coupling.tooltip": "トロッコ連結器",
"item.create.minecart_coupling.tooltip.summary": "壮大な列車を作るために_トロッコ_や_からくり車両_を_連結_しよう。",
"item.create.minecart_coupling.tooltip.condition1": "トロッコに使ったとき",
"item.create.minecart_coupling.tooltip.behaviour1": "_2台_のトロッコを連結します。それらは移動中に_一定_の_距離_を保とうします。",
- "create.tooltip.wip": "WIP",
- "create.tooltip.workInProgress": "作業中です!",
- "create.tooltip.randomWipDescription0": "お子様の手の届かないところに保管してください。",
- "create.tooltip.randomWipDescription1": "赤ちゃんパンダは、このアイテムを使うたびに死にます。そう、いつでもね。",
- "create.tooltip.randomWipDescription2": "自己責任。",
- "create.tooltip.randomWipDescription3": "これはあなたが探しているアイテムではありません。*人差し指を振って*ちっちっちっ、解散!",
- "create.tooltip.randomWipDescription4": "このアイテムは10秒で自爆します。10、9、8 ...",
- "create.tooltip.randomWipDescription5": "私を信じて、それは無駄だ。",
- "create.tooltip.randomWipDescription6": "このアイテムを使うことにより、お客様は免責事項に同意し、その条件を承諾するものとします。",
- "create.tooltip.randomWipDescription7": "これは君に向いていないかもしれない。あれはどう??",
- "create.tooltip.randomWipDescription8": "それを使ったことをすぐ後悔するだろう。",
-
"_": "->------------------------] Ponder Content [------------------------<-",
@@ -1634,6 +1689,8 @@
"create.ponder.cogwheel.text_1": "歯車は隣接する歯車へ回転力を伝達します",
"create.ponder.cogwheel.text_2": "このように連結された隣のシャフトは、逆方向に回転します",
+ "create.ponder.creative_fluid_tank.header": "UNLOCALIZED: Creative Fluid Tanks",
+
"create.ponder.creative_motor.header": "クリエイティブモーターによる回転力の生成",
"create.ponder.creative_motor.text_1": "クリエイティブモーターは、コンパクトで調整できる原動機です",
"create.ponder.creative_motor.text_2": "背面パネルを見てスクロールすると、モーターの回転速度を変更できます",
@@ -1670,6 +1727,12 @@
"create.ponder.deployer_modes.text_1": "デフォルトでは、デプロイヤーは右クリックの動作を模倣します",
"create.ponder.deployer_modes.text_2": "レンチを使えば、左クリックの動作を模倣するように設定できます",
+ "create.ponder.deployer_processing.header": "UNLOCALIZED: Processing Items using Deployers",
+ "create.ponder.deployer_processing.text_1": "UNLOCALIZED: With a fitting held item, Deployers can process items provided beneath them",
+ "create.ponder.deployer_processing.text_2": "UNLOCALIZED: The Input items can be dropped or placed on a Depot under the Deployer",
+ "create.ponder.deployer_processing.text_3": "UNLOCALIZED: When items are provided on a belt...",
+ "create.ponder.deployer_processing.text_4": "UNLOCALIZED: The Deployer will hold and process them automatically",
+
"create.ponder.deployer_redstone.header": "レッドストーン信号によるデプロイヤーの制御",
"create.ponder.deployer_redstone.text_1": "レッドストーン信号を受けている間、デプロイヤーは稼働しません",
"create.ponder.deployer_redstone.text_2": "デプロイヤーは停止する前に、開始したサイクルは終了させます",
@@ -1688,6 +1751,11 @@
"create.ponder.empty_blaze_burner.text_4": "空のブレイズバーナーは火打石と打ち金を使って火を付ければ装飾にも使えます",
"create.ponder.empty_blaze_burner.text_5": "しかし、これは加工用の熱源には適していません",
+ "create.ponder.encased_fluid_pipe.header": "UNLOCALIZED: Encasing Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_1": "UNLOCALIZED: Copper Casing can be used to decorate Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_2": "UNLOCALIZED: Aside from being conceiled, Encased Pipes are locked into their connectivity state",
+ "create.ponder.encased_fluid_pipe.text_3": "UNLOCALIZED: It will no longer react to any neighbouring blocks being added or removed",
+
"create.ponder.fan_direction.header": "ケース入りファンの気流",
"create.ponder.fan_direction.text_1": "ケース入りファンは、回転力を利用して気流を生み出します",
"create.ponder.fan_direction.text_2": "気流の強さと方向は、供給される回転力に依存します",
@@ -1706,6 +1774,26 @@
"create.ponder.fan_source.text_1": "ファンを熱源に向けて設置すると、回転力を生成できます",
"create.ponder.fan_source.text_2": "レッドストーン信号を受けると、回転力が生成されます",
+ "create.ponder.fluid_pipe_flow.header": "UNLOCALIZED: Moving Fluids using Copper Pipes",
+ "create.ponder.fluid_pipe_flow.text_1": "UNLOCALIZED: Fluid Pipes can connect two or more fluid sources and targets",
+ "create.ponder.fluid_pipe_flow.text_2": "UNLOCALIZED: Using a wrench, a straight pipe segment can be given a window",
+ "create.ponder.fluid_pipe_flow.text_3": "UNLOCALIZED: Windowed pipes will not connect to any other adjacent pipe segments",
+ "create.ponder.fluid_pipe_flow.text_4": "UNLOCALIZED: Powered by Mechanical Pumps, the Pipes can transport Fluids",
+ "create.ponder.fluid_pipe_flow.text_5": "UNLOCALIZED: No fluid is being extracted at first",
+ "create.ponder.fluid_pipe_flow.text_6": "UNLOCALIZED: Once the flow connects them, the endpoints gradually transfer their contents",
+ "create.ponder.fluid_pipe_flow.text_7": "UNLOCALIZED: Thus, the Pipe blocks themselves never 'physically' contain any fluid",
+
+ "create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers",
+ "create.ponder.fluid_pipe_interaction.text_1": "UNLOCALIZED: Endpoints of a pipe network can interact with a variety of blocks",
+ "create.ponder.fluid_pipe_interaction.text_2": "UNLOCALIZED: Any block with fluid storage capabilities can be filled or drained",
+ "create.ponder.fluid_pipe_interaction.text_3": "UNLOCALIZED: Source blocks right in front of an open end can be picked up...",
+ "create.ponder.fluid_pipe_interaction.text_4": "UNLOCALIZED: ...while spilling into empty spaces can create fluid sources",
+ "create.ponder.fluid_pipe_interaction.text_5": "UNLOCALIZED: Pipes can also extract fluids from a handful of other blocks directly",
+
+ "create.ponder.fluid_tank_sizes.header": "UNLOCALIZED: Dimensions of a Fluid tank",
+
+ "create.ponder.fluid_tank_storage.header": "UNLOCALIZED: Storing Fluids in Fluid Tanks",
+
"create.ponder.flywheel.header": "勢車による回転力の生成",
"create.ponder.flywheel.text_1": "かまどエンジンで回転力を生成するには、勢車が必要です",
"create.ponder.flywheel.text_2": "これによって生成される回転力は、非常に大きな応力許容量を持っています",
@@ -1779,6 +1867,14 @@
"create.ponder.hand_crank.text_3": "回転速度は比較的速めです",
"create.ponder.hand_crank.text_4": "スニークしながら右クリックし続けると、時計回りに回転します",
+ "create.ponder.hose_pulley.header": "UNLOCALIZED: Source Filling and Draining using Hose Pulleys",
+
+ "create.ponder.hose_pulley_infinite.header": "UNLOCALIZED: Passively Filling and Draining large bodies of Fluid",
+
+ "create.ponder.hose_pulley_level.header": "UNLOCALIZED: Fill and Drain level of Hose Pulleys",
+
+ "create.ponder.item_drain.header": "UNLOCALIZED: Emptying Fluid Containers using Item Drains",
+
"create.ponder.large_cogwheel.header": "大きな歯車による回転力の伝達",
"create.ponder.large_cogwheel.text_1": "大きな歯車は、直角に接続できます",
"create.ponder.large_cogwheel.text_2": "回転力の回転軸を変えてに伝達するのに役立ちます",
@@ -1901,6 +1997,10 @@
"create.ponder.mechanical_press_compacting.text_3": "これらのレシピの中には、ブレイズバーナーの熱を必要とするものがあります",
"create.ponder.mechanical_press_compacting.text_4": "フィルタースロットは、2つのレシピが競合する場合に使えます",
+ "create.ponder.mechanical_pump_flow.header": "UNLOCALIZED: Fluid Transportation using Mechanical Pumps",
+
+ "create.ponder.mechanical_pump_speed.header": "UNLOCALIZED: Throughput of Mechanical Pumps",
+
"create.ponder.mechanical_saw_breaker.header": "メカニカルソーによる伐採",
"create.ponder.mechanical_saw_breaker.text_1": "メカニカルソーは回転力を供給すると、目の前の木を伐採できます",
"create.ponder.mechanical_saw_breaker.text_2": "木を完全に伐採するには、木と地面を繋ぐ最後の根本を伐採しなければなりません",
@@ -1931,6 +2031,10 @@
"create.ponder.piston_pole.text_1": "ポールが無いとメカニカルピストンは動きません",
"create.ponder.piston_pole.text_2": "後ろに付けたポールの長さによって、伸び縮みする長さが決まります",
+ "create.ponder.portable_fluid_interface.header": "UNLOCALIZED: Contraption Fluid Exchange",
+
+ "create.ponder.portable_fluid_interface_redstone.header": "UNLOCALIZED: Redstone Control",
+
"create.ponder.portable_storage_interface.header": "稼働中のからくりとの搬出入",
"create.ponder.portable_storage_interface.text_1": "稼働中のからくりに組み込まれた収納ブロックは、プレイヤーが開くことはできません",
"create.ponder.portable_storage_interface.text_2": "この装置は、からくりを停止することなく、収納ブロックと搬出入できます",
@@ -2028,11 +2132,17 @@
"create.ponder.smart_chute.text_3": "マウスホイールで搬出するスタック量を指定できます",
"create.ponder.smart_chute.text_4": "レッドストーン信号で、スマートシュートを停止させることもできます",
+ "create.ponder.smart_pipe.header": "UNLOCALIZED: Controlling Fluid flow using Smart Pipes",
+
"create.ponder.speedometer.header": "速度メーターによる動力情報の監視",
"create.ponder.speedometer.text_1": "速度メーターは、接続された機械の現在の回転速度を表示します",
"create.ponder.speedometer.text_2": "エンジニアのゴーグルを装着していると、より詳細な情報を得られます",
"create.ponder.speedometer.text_3": "コンパレータは、速度メーターの測定値に応じたレッドストーン信号を出力します",
+ "create.ponder.spout_access.header": "UNLOCALIZED: Moving fluids into Spouts",
+
+ "create.ponder.spout_filling.header": "UNLOCALIZED: Filling Items using a Spout",
+
"create.ponder.stabilized_bearings.header": "からくりの角度の固定",
"create.ponder.stabilized_bearings.text_1": "メカニカルベアリングが動いている構造物に組み込まれているとき ...",
"create.ponder.stabilized_bearings.text_2": "...自身の角度を真っ直ぐに保とうとします",
@@ -2064,6 +2174,8 @@
"create.ponder.valve_handle.text_4": "スニーク状態で右クリックし続けると、時計回りに回転します",
"create.ponder.valve_handle.text_5": "バルブハンドルは、染色できます",
+ "create.ponder.valve_pipe.header": "UNLOCALIZED: Controlling Fluid flow using Valves",
+
"create.ponder.water_wheel.header": "水車による回転力の生成",
"create.ponder.water_wheel.text_1": "水車は隣接する水流から回転力を生み出します",
"create.ponder.water_wheel.text_2": "水流を受ける面が多ければ多いほど、水車の回転速度は速くなります",
diff --git a/src/generated/resources/assets/create/lang/unfinished/ko_kr.json b/src/generated/resources/assets/create/lang/unfinished/ko_kr.json
index 17289ec89..d10fc6a39 100644
--- a/src/generated/resources/assets/create/lang/unfinished/ko_kr.json
+++ b/src/generated/resources/assets/create/lang/unfinished/ko_kr.json
@@ -1,5 +1,5 @@
{
- "_": "Missing Localizations: 713",
+ "_": "Missing Localizations: 810",
"_": "->------------------------] Game Elements [------------------------<-",
@@ -414,6 +414,7 @@
"block.create.zinc_ore": "아연 광석",
"entity.create.contraption": "장치",
+ "entity.create.crafting_blueprint": "UNLOCALIZED: Crafting Blueprint",
"entity.create.gantry_contraption": "UNLOCALIZED: Gantry Contraption",
"entity.create.seat": "좌석",
"entity.create.stationary_contraption": "고정된 장치",
@@ -444,6 +445,7 @@
"item.create.copper_nugget": "구리 조각",
"item.create.copper_sheet": "구리 판",
"item.create.crafter_slot_cover": "조합기 슬롯 덮개",
+ "item.create.crafting_blueprint": "UNLOCALIZED: Crafting Blueprint",
"item.create.crushed_aluminum_ore": "UNLOCALIZED: Crushed Aluminum Ore",
"item.create.crushed_brass": "분쇄된 황동",
"item.create.crushed_copper_ore": "분쇄된 구리 광석",
@@ -475,6 +477,7 @@
"item.create.integrated_circuit": "집적 회로",
"item.create.iron_sheet": "철 판",
"item.create.lapis_sheet": "청금석 판",
+ "item.create.linked_controller": "UNLOCALIZED: Linked Controller",
"item.create.minecart_contraption": "광산 수레 장치",
"item.create.minecart_coupling": "광산 수레 커플링",
"item.create.polished_rose_quartz": "윤나는 장밋빛 석영",
@@ -672,6 +675,13 @@
"create.block.deployer.damage_source_name": "배포기",
"create.block.cart_assembler.invalid": "카트조립기를 레일 위에 설치하세요",
+ "create.menu.return": "UNLOCALIZED: Return to Menu",
+ "create.menu.configure": "UNLOCALIZED: Configure...",
+ "create.menu.getting_started": "UNLOCALIZED: Getting Started",
+ "create.menu.project_page": "UNLOCALIZED: Project Page",
+ "create.menu.report_bugs": "UNLOCALIZED: Report Issues",
+ "create.menu.support": "UNLOCALIZED: Support Us",
+
"create.recipe.crushing": "분쇄",
"create.recipe.milling": "맷돌질",
"create.recipe.fan_washing": "세척",
@@ -1105,6 +1115,20 @@
"create.tooltip.chute.fans_pull_down": "선풍기가 아래에서 당김",
"create.tooltip.chute.contains": "UNLOCALIZED: Contains: %1$s x%2$s",
+ "create.linked_controller.bind_mode": "UNLOCALIZED: Bind mode active",
+ "create.linked_controller.press_keybind": "UNLOCALIZED: Press %1$s, %2$s, %3$s, %4$s, %5$s or %6$s, to bind this frequency to the respective key",
+ "create.linked_controller.key_bound": "UNLOCALIZED: Frequency bound to %1$s",
+ "create.linked_controller.frequency_slot_1": "UNLOCALIZED: Keybind: %1$s, Freq. #1",
+ "create.linked_controller.frequency_slot_2": "UNLOCALIZED: Keybind: %1$s, Freq. #2",
+
+ "create.crafting_blueprint.crafting_slot": "UNLOCALIZED: Ingredient Slot",
+ "create.crafting_blueprint.filter_items_viable": "UNLOCALIZED: Advanced filter items are viable",
+ "create.crafting_blueprint.display_slot": "UNLOCALIZED: Display Slot",
+ "create.crafting_blueprint.inferred": "UNLOCALIZED: Inferred from recipe",
+ "create.crafting_blueprint.manually_assigned": "UNLOCALIZED: Manually assigned",
+ "create.crafting_blueprint.secondary_display_slot": "UNLOCALIZED: Secondary Display Slot",
+ "create.crafting_blueprint.optional": "UNLOCALIZED: Optional",
+
"create.hint.hose_pulley.title": "UNLOCALIZED: Bottomless Supply",
"create.hint.hose_pulley": "UNLOCALIZED: The targeted body of fluid is considered infinite.",
"create.hint.mechanical_arm_no_targets.title": "목표 없음",
@@ -1132,32 +1156,38 @@
"create.command.killTPSCommand.argument.tickTime": "tickTime",
"create.contraption.minecart_contraption_too_big": "UNLOCALIZED: This Cart Contraption seems too big to pick up",
+ "create.contraption.minecart_contraption_illegal_pickup": "UNLOCALIZED: A mystical force is binding this Cart Contraption to the world",
"_": "->------------------------] Subtitles [------------------------<-",
- "create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble",
- "create.subtitle.slime_added": "슬라임이 철퍽거림",
+ "create.subtitle.saw_idle": "UNLOCALIZED: Mechanical Saw turns",
"create.subtitle.contraption_disassemble": "UNLOCALIZED: Contraption stops",
- "create.subtitle.wrench_rotate": "UNLOCALIZED: Wrench used",
"create.subtitle.mixing": "UNLOCALIZED: Mixing Noises",
"create.subtitle.mechanical_press_activation_belt": "UNLOCALIZED: Mechanical Press bonks",
"create.subtitle.worldshaper_place": "UNLOCALIZED: Worldshaper zaps",
- "create.subtitle.deployer_polish": "UNLOCALIZED: Deployer applies polish",
"create.subtitle.depot_slide": "UNLOCALIZED: Item slides",
- "create.subtitle.deny": "UNLOCALIZED: Declining boop",
+ "create.subtitle.saw_activate_stone": "UNLOCALIZED: Mechanical Saw activates",
"create.subtitle.blaze_munch": "블레이즈가 행복하게 섭취함",
- "create.subtitle.schematicannon_launch_block": "청사진 대포가 발포함",
"create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps",
- "create.subtitle.copper_armor_equip": "UNLOCALIZED: Diving equipment clinks",
"create.subtitle.schematicannon_finish": "청사진 대포가 끝남",
"create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks",
+ "create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
+ "create.subtitle.saw_process": "UNLOCALIZED: Mechanical Saw processes",
+ "create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
+ "create.subtitle.wrench_remove": "UNLOCALIZED: Component breaks",
+ "create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble",
+ "create.subtitle.slime_added": "슬라임이 철퍽거림",
+ "create.subtitle.wrench_rotate": "UNLOCALIZED: Wrench used",
+ "create.subtitle.saw_activate_wood": "UNLOCALIZED: Mechanical Saw activates",
+ "create.subtitle.deployer_polish": "UNLOCALIZED: Deployer applies polish",
+ "create.subtitle.deny": "UNLOCALIZED: Declining boop",
+ "create.subtitle.controller_click": "UNLOCALIZED: Controller clicks",
+ "create.subtitle.schematicannon_launch_block": "청사진 대포가 발포함",
+ "create.subtitle.copper_armor_equip": "UNLOCALIZED: Diving equipment clinks",
"create.subtitle.mechanical_press_activation": "압착기가 가동됨",
"create.subtitle.contraption_assemble": "UNLOCALIZED: Contraption moves",
- "create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
- "create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
"create.subtitle.crafter_click": "UNLOCALIZED: Crafter clicks",
- "create.subtitle.wrench_remove": "UNLOCALIZED: Component breaks",
"create.subtitle.depot_plop": "UNLOCALIZED: Item lands",
"create.subtitle.confirm": "UNLOCALIZED: Affirmative ding",
@@ -1398,27 +1428,52 @@
"item.create.refined_radiance.tooltip": "REFINED RADIANCE",
"item.create.refined_radiance.tooltip.summary": "_흡수된_ _빛_으로 제련된 색채 혼합물입니다.",
+ "item.create.refined_radiance.tooltip.condition1": "UNLOCALIZED: Work In Progress",
+ "item.create.refined_radiance.tooltip.behaviour1": "UNLOCALIZED: Usages for this material will be available in a future release.",
"item.create.shadow_steel.tooltip": "SHADOW STEEL",
"item.create.shadow_steel.tooltip.summary": "_공허_에서 제련된 색채 혼합물입니다.",
+ "item.create.shadow_steel.tooltip.condition1": "UNLOCALIZED: Work In Progress",
+ "item.create.shadow_steel.tooltip.behaviour1": "UNLOCALIZED: Usages for this material will be available in a future release.",
+
+ "item.create.linked_controller.tooltip": "UNLOCALIZED: LINKED CONTROLLER",
+ "item.create.linked_controller.tooltip.summary": "UNLOCALIZED: Grants _handheld_ _control_ over _Redstone Link_ frequencies assigned to its _six_ _buttons_.",
+ "item.create.linked_controller.tooltip.condition1": "UNLOCALIZED: R-Click",
+ "item.create.linked_controller.tooltip.behaviour1": "UNLOCALIZED: _Toggles_ the controller. _Movement_ _controls_ are taken over while its active.",
+ "item.create.linked_controller.tooltip.condition2": "UNLOCALIZED: R-Click while Sneaking",
+ "item.create.linked_controller.tooltip.behaviour2": "UNLOCALIZED: Opens the manual _Configuration Interface_.",
+ "item.create.linked_controller.tooltip.condition3": "UNLOCALIZED: R-Click on Redstone Link Receiver",
+ "item.create.linked_controller.tooltip.behaviour3": "UNLOCALIZED: Enables _Bind Mode_, press one of the _six controls_ to bind it to the _Links' Frequency_.",
+
+ "item.create.diving_helmet.tooltip": "UNLOCALIZED: DIVING HELMET",
+ "item.create.diving_helmet.tooltip.summary": "UNLOCALIZED: Together with a _Copper_ _Backtank_, allows the weilder to _breathe_ _underwater_ for an extended amount of time.",
+ "item.create.diving_helmet.tooltip.condition1": "UNLOCALIZED: When Worn",
+ "item.create.diving_helmet.tooltip.behaviour1": "UNLOCALIZED: Provides the _Water Breathing_ effect, slowly draining _Air Pressure_ from the Backtank.",
+
+ "item.create.copper_backtank.tooltip": "UNLOCALIZED: COPPER BACKTANK",
+ "item.create.copper_backtank.tooltip.summary": "UNLOCALIZED: A _Wearable_ _Tank_ for carrying Pressurized Air.",
+ "item.create.copper_backtank.tooltip.condition1": "UNLOCALIZED: When Worn",
+ "item.create.copper_backtank.tooltip.behaviour1": "UNLOCALIZED: Provides _Pressurized_ _Air_ to Equipment that requires it.",
+ "item.create.copper_backtank.tooltip.condition2": "UNLOCALIZED: When placed, Powered by Kinetics",
+ "item.create.copper_backtank.tooltip.behaviour2": "UNLOCALIZED: _Collects_ _Pressurized_ _Air_ at a rate depending on the Rotational Speed.",
+
+ "item.create.diving_boots.tooltip": "UNLOCALIZED: DIVING BOOTS",
+ "item.create.diving_boots.tooltip.summary": "UNLOCALIZED: A pair of _heavy_ _boots_, allowing for better traversal of the Ocean floor.",
+ "item.create.diving_boots.tooltip.condition1": "UNLOCALIZED: When Worn",
+ "item.create.diving_boots.tooltip.behaviour1": "UNLOCALIZED: Weilder _sinks_ _faster_ and _cannot_ _swim_. Grants the ability to _walk_ and _jump_ underwater. Weilder also is no longer affected by _Mechanical_ _Belts_.",
+
+ "item.create.crafting_blueprint.tooltip": "UNLOCALIZED: CRAFTING BLUEPRINT",
+ "item.create.crafting_blueprint.tooltip.summary": "UNLOCALIZED: _Placed_ on a wall, it can be used to _specify_ _ingredient_ _arrangements_ for easier manual crafting. Each slot represents a Recipe.",
+ "item.create.crafting_blueprint.condition1": "UNLOCALIZED: R-Click empty Slot",
+ "item.create.crafting_blueprint.behaviour1": "UNLOCALIZED: Opens a _Crafting_ _menu_ allowing you to _configure_ a _recipe_ and items to display.",
+ "item.create.crafting_blueprint.condition2": "UNLOCALIZED: R-Click configured Slot",
+ "item.create.crafting_blueprint.behaviour2": "UNLOCALIZED: _Applies_ the _configured_ _recipe_ with matching Ingredients found in your _Inventory_. _Sneak_ to craft up to a _Stack_ of items.",
"item.create.minecart_coupling.tooltip": "MINECART COUPLING",
"item.create.minecart_coupling.tooltip.summary": "당신의 모든 _수레들을 이어 _멋진 _기차_를 만들어보세요.",
"item.create.minecart_coupling.tooltip.condition1": "광산 수레에 사용할 때",
"item.create.minecart_coupling.tooltip.behaviour1": "_두 수레를 묶어_ 이동할 때 고정된 _거리를 유지하게_ 합니다.",
- "create.tooltip.wip": "WIP",
- "create.tooltip.workInProgress": "Work in progress!",
- "create.tooltip.randomWipDescription0": "Please keep this item away from children.",
- "create.tooltip.randomWipDescription1": "A baby panda dies every time you use this item. Every. Time.",
- "create.tooltip.randomWipDescription2": "Use at your own risk.",
- "create.tooltip.randomWipDescription3": "This is not the item you are looking for, *finger-wiggles* please disperse.",
- "create.tooltip.randomWipDescription4": "This item will self-destruct in 10 seconds. 10, 9, 8...",
- "create.tooltip.randomWipDescription5": "Believe me, it's useless.",
- "create.tooltip.randomWipDescription6": "By using this item, you hereby consent to our disclaimer and agree to its terms.",
- "create.tooltip.randomWipDescription7": "This one maybe isn't for you. What about that one?",
- "create.tooltip.randomWipDescription8": "Use it and regret your decision immediately.",
-
"_": "->------------------------] Ponder Content [------------------------<-",
@@ -1594,7 +1649,7 @@
"create.ponder.chain_drive.text_3": "UNLOCALIZED: Any part of the row can be rotated by 90 degrees",
"create.ponder.chain_gearshift.header": "UNLOCALIZED: Controlling rotational speed with Chain Gearshifts",
- "create.ponder.chain_gearshift.text_1": "UNLOCALIZED: Unpowered Chain Gearshifts behave exacly like Chain Drives",
+ "create.ponder.chain_gearshift.text_1": "UNLOCALIZED: Unpowered Chain Gearshifts behave exactly like Chain Drives",
"create.ponder.chain_gearshift.text_2": "UNLOCALIZED: When Powered, the speed transmitted to other Chain Drives in the row is doubled",
"create.ponder.chain_gearshift.text_3": "UNLOCALIZED: Whenever the Powered Gearshift is not at the source, its speed will be halved instead",
"create.ponder.chain_gearshift.text_4": "UNLOCALIZED: In both cases, Chain Drives in the row always run at 2x the speed of the Powered Gearshift",
@@ -1634,6 +1689,8 @@
"create.ponder.cogwheel.text_1": "UNLOCALIZED: Cogwheels will relay rotation to other adjacent cogwheels",
"create.ponder.cogwheel.text_2": "UNLOCALIZED: Neighbouring shafts connected like this will rotate in opposite directions",
+ "create.ponder.creative_fluid_tank.header": "UNLOCALIZED: Creative Fluid Tanks",
+
"create.ponder.creative_motor.header": "UNLOCALIZED: Generating Rotational Force using Creative Motors",
"create.ponder.creative_motor.text_1": "UNLOCALIZED: Creative motors are a compact and configurable source of Rotational Force",
"create.ponder.creative_motor.text_2": "UNLOCALIZED: Scrolling on the back panel changes the RPM of the motors' rotational output",
@@ -1670,6 +1727,12 @@
"create.ponder.deployer_modes.text_1": "UNLOCALIZED: By default, a Deployer imitates a Right-click interaction",
"create.ponder.deployer_modes.text_2": "UNLOCALIZED: Using a Wrench, it can be set to imitate a Left-click instead",
+ "create.ponder.deployer_processing.header": "UNLOCALIZED: Processing Items using Deployers",
+ "create.ponder.deployer_processing.text_1": "UNLOCALIZED: With a fitting held item, Deployers can process items provided beneath them",
+ "create.ponder.deployer_processing.text_2": "UNLOCALIZED: The Input items can be dropped or placed on a Depot under the Deployer",
+ "create.ponder.deployer_processing.text_3": "UNLOCALIZED: When items are provided on a belt...",
+ "create.ponder.deployer_processing.text_4": "UNLOCALIZED: The Deployer will hold and process them automatically",
+
"create.ponder.deployer_redstone.header": "UNLOCALIZED: Controlling Deployers with Redstone",
"create.ponder.deployer_redstone.text_1": "UNLOCALIZED: When powered by Redstone, Deployers will not activate",
"create.ponder.deployer_redstone.text_2": "UNLOCALIZED: Before stopping, the Deployer will finish any started cycles",
@@ -1688,6 +1751,11 @@
"create.ponder.empty_blaze_burner.text_4": "UNLOCALIZED: For Aesthetic purposes, Empty Blaze Burners can also be lit using Flint and Steel",
"create.ponder.empty_blaze_burner.text_5": "UNLOCALIZED: However, these are not suitable for industrial heating",
+ "create.ponder.encased_fluid_pipe.header": "UNLOCALIZED: Encasing Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_1": "UNLOCALIZED: Copper Casing can be used to decorate Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_2": "UNLOCALIZED: Aside from being conceiled, Encased Pipes are locked into their connectivity state",
+ "create.ponder.encased_fluid_pipe.text_3": "UNLOCALIZED: It will no longer react to any neighbouring blocks being added or removed",
+
"create.ponder.fan_direction.header": "UNLOCALIZED: Air flow of Encased Fans",
"create.ponder.fan_direction.text_1": "UNLOCALIZED: Encased Fans use Rotational Force to create an Air Current",
"create.ponder.fan_direction.text_2": "UNLOCALIZED: Strength and Direction of Flow depends on the Rotational Input",
@@ -1706,6 +1774,26 @@
"create.ponder.fan_source.text_1": "UNLOCALIZED: Fans facing down into a source of heat can provide Rotational Force",
"create.ponder.fan_source.text_2": "UNLOCALIZED: When given a Redstone Signal, the Fans will start providing power",
+ "create.ponder.fluid_pipe_flow.header": "UNLOCALIZED: Moving Fluids using Copper Pipes",
+ "create.ponder.fluid_pipe_flow.text_1": "UNLOCALIZED: Fluid Pipes can connect two or more fluid sources and targets",
+ "create.ponder.fluid_pipe_flow.text_2": "UNLOCALIZED: Using a wrench, a straight pipe segment can be given a window",
+ "create.ponder.fluid_pipe_flow.text_3": "UNLOCALIZED: Windowed pipes will not connect to any other adjacent pipe segments",
+ "create.ponder.fluid_pipe_flow.text_4": "UNLOCALIZED: Powered by Mechanical Pumps, the Pipes can transport Fluids",
+ "create.ponder.fluid_pipe_flow.text_5": "UNLOCALIZED: No fluid is being extracted at first",
+ "create.ponder.fluid_pipe_flow.text_6": "UNLOCALIZED: Once the flow connects them, the endpoints gradually transfer their contents",
+ "create.ponder.fluid_pipe_flow.text_7": "UNLOCALIZED: Thus, the Pipe blocks themselves never 'physically' contain any fluid",
+
+ "create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers",
+ "create.ponder.fluid_pipe_interaction.text_1": "UNLOCALIZED: Endpoints of a pipe network can interact with a variety of blocks",
+ "create.ponder.fluid_pipe_interaction.text_2": "UNLOCALIZED: Any block with fluid storage capabilities can be filled or drained",
+ "create.ponder.fluid_pipe_interaction.text_3": "UNLOCALIZED: Source blocks right in front of an open end can be picked up...",
+ "create.ponder.fluid_pipe_interaction.text_4": "UNLOCALIZED: ...while spilling into empty spaces can create fluid sources",
+ "create.ponder.fluid_pipe_interaction.text_5": "UNLOCALIZED: Pipes can also extract fluids from a handful of other blocks directly",
+
+ "create.ponder.fluid_tank_sizes.header": "UNLOCALIZED: Dimensions of a Fluid tank",
+
+ "create.ponder.fluid_tank_storage.header": "UNLOCALIZED: Storing Fluids in Fluid Tanks",
+
"create.ponder.flywheel.header": "UNLOCALIZED: Generating Rotational Force using the Flywheel",
"create.ponder.flywheel.text_1": "UNLOCALIZED: Flywheels are required for generating rotational force with the Furnace Engine",
"create.ponder.flywheel.text_2": "UNLOCALIZED: The provided Rotational Force has a very large stress capacity",
@@ -1779,6 +1867,14 @@
"create.ponder.hand_crank.text_3": "UNLOCALIZED: Its conveyed speed is relatively high",
"create.ponder.hand_crank.text_4": "UNLOCALIZED: Sneak and Hold Right-Click to rotate it Clockwise",
+ "create.ponder.hose_pulley.header": "UNLOCALIZED: Source Filling and Draining using Hose Pulleys",
+
+ "create.ponder.hose_pulley_infinite.header": "UNLOCALIZED: Passively Filling and Draining large bodies of Fluid",
+
+ "create.ponder.hose_pulley_level.header": "UNLOCALIZED: Fill and Drain level of Hose Pulleys",
+
+ "create.ponder.item_drain.header": "UNLOCALIZED: Emptying Fluid Containers using Item Drains",
+
"create.ponder.large_cogwheel.header": "UNLOCALIZED: Relaying rotational force using Large Cogwheels",
"create.ponder.large_cogwheel.text_1": "UNLOCALIZED: Large cogwheels can connect to each other at right angles",
"create.ponder.large_cogwheel.text_2": "UNLOCALIZED: It will help relaying conveyed speed to other axes of rotation",
@@ -1901,6 +1997,10 @@
"create.ponder.mechanical_press_compacting.text_3": "UNLOCALIZED: Some of those recipes may require the heat of a Blaze Burner",
"create.ponder.mechanical_press_compacting.text_4": "UNLOCALIZED: The filter slot can be used in case two recipes are conflicting.",
+ "create.ponder.mechanical_pump_flow.header": "UNLOCALIZED: Fluid Transportation using Mechanical Pumps",
+
+ "create.ponder.mechanical_pump_speed.header": "UNLOCALIZED: Throughput of Mechanical Pumps",
+
"create.ponder.mechanical_saw_breaker.header": "UNLOCALIZED: Cutting Trees with the Mechanical Saw",
"create.ponder.mechanical_saw_breaker.text_1": "UNLOCALIZED: When given Rotational Force, a Mechanical Saw will cut trees directly in front of it",
"create.ponder.mechanical_saw_breaker.text_2": "UNLOCALIZED: In order to cut the tree fully, the Saw has to break the last block connecting it to the ground",
@@ -1931,6 +2031,10 @@
"create.ponder.piston_pole.text_1": "UNLOCALIZED: Without attached Poles, a Mechanical Piston cannot move",
"create.ponder.piston_pole.text_2": "UNLOCALIZED: The Length of pole added at its back determines the Extension Range",
+ "create.ponder.portable_fluid_interface.header": "UNLOCALIZED: Contraption Fluid Exchange",
+
+ "create.ponder.portable_fluid_interface_redstone.header": "UNLOCALIZED: Redstone Control",
+
"create.ponder.portable_storage_interface.header": "UNLOCALIZED: Contraption Storage Exchange",
"create.ponder.portable_storage_interface.text_1": "UNLOCALIZED: Inventories on moving contraptions cannot be accessed by players.",
"create.ponder.portable_storage_interface.text_2": "UNLOCALIZED: This component can interact with storage without the need to stop the contraption.",
@@ -2028,11 +2132,17 @@
"create.ponder.smart_chute.text_3": "UNLOCALIZED: Use the Mouse Wheel to specify the extracted stack size",
"create.ponder.smart_chute.text_4": "UNLOCALIZED: Redstone power will prevent Smart Chutes from acting.",
+ "create.ponder.smart_pipe.header": "UNLOCALIZED: Controlling Fluid flow using Smart Pipes",
+
"create.ponder.speedometer.header": "UNLOCALIZED: Monitoring Kinetic information using the Speedometer",
"create.ponder.speedometer.text_1": "UNLOCALIZED: The Speedometer displays the current Speed of the attached components",
"create.ponder.speedometer.text_2": "UNLOCALIZED: When wearing Engineers' Goggles, the player can get more detailed information from the Gauge",
"create.ponder.speedometer.text_3": "UNLOCALIZED: Comparators can emit analog Restone Signals relative to the Speedometer's measurements",
+ "create.ponder.spout_access.header": "UNLOCALIZED: Moving fluids into Spouts",
+
+ "create.ponder.spout_filling.header": "UNLOCALIZED: Filling Items using a Spout",
+
"create.ponder.stabilized_bearings.header": "UNLOCALIZED: Stabilized Contraptions",
"create.ponder.stabilized_bearings.text_1": "UNLOCALIZED: Whenever Mechanical Bearings are themselves part of a moving Structure..",
"create.ponder.stabilized_bearings.text_2": "UNLOCALIZED: ..they will attempt to keep themselves upright",
@@ -2064,6 +2174,8 @@
"create.ponder.valve_handle.text_4": "UNLOCALIZED: Sneak and Hold Right-Click to rotate it Clockwise",
"create.ponder.valve_handle.text_5": "UNLOCALIZED: Valve handles can be dyed for aesthetic purposes",
+ "create.ponder.valve_pipe.header": "UNLOCALIZED: Controlling Fluid flow using Valves",
+
"create.ponder.water_wheel.header": "UNLOCALIZED: Generating Rotational Force using Water Wheels",
"create.ponder.water_wheel.text_1": "UNLOCALIZED: Water Wheels draw force from adjacent Water Currents",
"create.ponder.water_wheel.text_2": "UNLOCALIZED: The more faces are powered, the faster the Water Wheel will rotate",
diff --git a/src/generated/resources/assets/create/lang/unfinished/nl_nl.json b/src/generated/resources/assets/create/lang/unfinished/nl_nl.json
index acb783a8e..72b9df586 100644
--- a/src/generated/resources/assets/create/lang/unfinished/nl_nl.json
+++ b/src/generated/resources/assets/create/lang/unfinished/nl_nl.json
@@ -1,5 +1,5 @@
{
- "_": "Missing Localizations: 1577",
+ "_": "Missing Localizations: 1674",
"_": "->------------------------] Game Elements [------------------------<-",
@@ -414,6 +414,7 @@
"block.create.zinc_ore": "UNLOCALIZED: Zinc Ore",
"entity.create.contraption": "UNLOCALIZED: Contraption",
+ "entity.create.crafting_blueprint": "UNLOCALIZED: Crafting Blueprint",
"entity.create.gantry_contraption": "UNLOCALIZED: Gantry Contraption",
"entity.create.seat": "UNLOCALIZED: Seat",
"entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption",
@@ -444,6 +445,7 @@
"item.create.copper_nugget": "Koper klompje",
"item.create.copper_sheet": "UNLOCALIZED: Copper Sheet",
"item.create.crafter_slot_cover": "UNLOCALIZED: Crafter Slot Cover",
+ "item.create.crafting_blueprint": "UNLOCALIZED: Crafting Blueprint",
"item.create.crushed_aluminum_ore": "UNLOCALIZED: Crushed Aluminum Ore",
"item.create.crushed_brass": "Gemalen Brons",
"item.create.crushed_copper_ore": "UNLOCALIZED: Crushed Copper Ore",
@@ -475,6 +477,7 @@
"item.create.integrated_circuit": "UNLOCALIZED: Integrated Circuit",
"item.create.iron_sheet": "IJzeren Platen",
"item.create.lapis_sheet": "UNLOCALIZED: Lapis Sheet",
+ "item.create.linked_controller": "UNLOCALIZED: Linked Controller",
"item.create.minecart_contraption": "UNLOCALIZED: Minecart Contraption",
"item.create.minecart_coupling": "UNLOCALIZED: Minecart Coupling",
"item.create.polished_rose_quartz": "UNLOCALIZED: Polished Rose Quartz",
@@ -672,6 +675,13 @@
"create.block.deployer.damage_source_name": "UNLOCALIZED: a rogue Deployer",
"create.block.cart_assembler.invalid": "UNLOCALIZED: Place your Cart Assembler on a rail block",
+ "create.menu.return": "UNLOCALIZED: Return to Menu",
+ "create.menu.configure": "UNLOCALIZED: Configure...",
+ "create.menu.getting_started": "UNLOCALIZED: Getting Started",
+ "create.menu.project_page": "UNLOCALIZED: Project Page",
+ "create.menu.report_bugs": "UNLOCALIZED: Report Issues",
+ "create.menu.support": "UNLOCALIZED: Support Us",
+
"create.recipe.crushing": "Verpulveren",
"create.recipe.milling": "UNLOCALIZED: Milling",
"create.recipe.fan_washing": "UNLOCALIZED: Bulk Washing",
@@ -1105,6 +1115,20 @@
"create.tooltip.chute.fans_pull_down": "UNLOCALIZED: Fans pull from Below",
"create.tooltip.chute.contains": "UNLOCALIZED: Contains: %1$s x%2$s",
+ "create.linked_controller.bind_mode": "UNLOCALIZED: Bind mode active",
+ "create.linked_controller.press_keybind": "UNLOCALIZED: Press %1$s, %2$s, %3$s, %4$s, %5$s or %6$s, to bind this frequency to the respective key",
+ "create.linked_controller.key_bound": "UNLOCALIZED: Frequency bound to %1$s",
+ "create.linked_controller.frequency_slot_1": "UNLOCALIZED: Keybind: %1$s, Freq. #1",
+ "create.linked_controller.frequency_slot_2": "UNLOCALIZED: Keybind: %1$s, Freq. #2",
+
+ "create.crafting_blueprint.crafting_slot": "UNLOCALIZED: Ingredient Slot",
+ "create.crafting_blueprint.filter_items_viable": "UNLOCALIZED: Advanced filter items are viable",
+ "create.crafting_blueprint.display_slot": "UNLOCALIZED: Display Slot",
+ "create.crafting_blueprint.inferred": "UNLOCALIZED: Inferred from recipe",
+ "create.crafting_blueprint.manually_assigned": "UNLOCALIZED: Manually assigned",
+ "create.crafting_blueprint.secondary_display_slot": "UNLOCALIZED: Secondary Display Slot",
+ "create.crafting_blueprint.optional": "UNLOCALIZED: Optional",
+
"create.hint.hose_pulley.title": "UNLOCALIZED: Bottomless Supply",
"create.hint.hose_pulley": "UNLOCALIZED: The targeted body of fluid is considered infinite.",
"create.hint.mechanical_arm_no_targets.title": "UNLOCALIZED: No Targets",
@@ -1132,32 +1156,38 @@
"create.command.killTPSCommand.argument.tickTime": "UNLOCALIZED: tickTime",
"create.contraption.minecart_contraption_too_big": "UNLOCALIZED: This Cart Contraption seems too big to pick up",
+ "create.contraption.minecart_contraption_illegal_pickup": "UNLOCALIZED: A mystical force is binding this Cart Contraption to the world",
"_": "->------------------------] Subtitles [------------------------<-",
- "create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble",
- "create.subtitle.slime_added": "UNLOCALIZED: Slime squishes",
+ "create.subtitle.saw_idle": "UNLOCALIZED: Mechanical Saw turns",
"create.subtitle.contraption_disassemble": "UNLOCALIZED: Contraption stops",
- "create.subtitle.wrench_rotate": "UNLOCALIZED: Wrench used",
"create.subtitle.mixing": "UNLOCALIZED: Mixing Noises",
"create.subtitle.mechanical_press_activation_belt": "UNLOCALIZED: Mechanical Press bonks",
"create.subtitle.worldshaper_place": "UNLOCALIZED: Worldshaper zaps",
- "create.subtitle.deployer_polish": "UNLOCALIZED: Deployer applies polish",
"create.subtitle.depot_slide": "UNLOCALIZED: Item slides",
- "create.subtitle.deny": "UNLOCALIZED: Declining boop",
+ "create.subtitle.saw_activate_stone": "UNLOCALIZED: Mechanical Saw activates",
"create.subtitle.blaze_munch": "UNLOCALIZED: Blaze Burner munches",
- "create.subtitle.schematicannon_launch_block": "UNLOCALIZED: Schematicannon fires",
"create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps",
- "create.subtitle.copper_armor_equip": "UNLOCALIZED: Diving equipment clinks",
"create.subtitle.schematicannon_finish": "UNLOCALIZED: Schematicannon dings",
"create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks",
+ "create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
+ "create.subtitle.saw_process": "UNLOCALIZED: Mechanical Saw processes",
+ "create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
+ "create.subtitle.wrench_remove": "UNLOCALIZED: Component breaks",
+ "create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble",
+ "create.subtitle.slime_added": "UNLOCALIZED: Slime squishes",
+ "create.subtitle.wrench_rotate": "UNLOCALIZED: Wrench used",
+ "create.subtitle.saw_activate_wood": "UNLOCALIZED: Mechanical Saw activates",
+ "create.subtitle.deployer_polish": "UNLOCALIZED: Deployer applies polish",
+ "create.subtitle.deny": "UNLOCALIZED: Declining boop",
+ "create.subtitle.controller_click": "UNLOCALIZED: Controller clicks",
+ "create.subtitle.schematicannon_launch_block": "UNLOCALIZED: Schematicannon fires",
+ "create.subtitle.copper_armor_equip": "UNLOCALIZED: Diving equipment clinks",
"create.subtitle.mechanical_press_activation": "UNLOCALIZED: Mechanical Press clangs",
"create.subtitle.contraption_assemble": "UNLOCALIZED: Contraption moves",
- "create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
- "create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
"create.subtitle.crafter_click": "UNLOCALIZED: Crafter clicks",
- "create.subtitle.wrench_remove": "UNLOCALIZED: Component breaks",
"create.subtitle.depot_plop": "UNLOCALIZED: Item lands",
"create.subtitle.confirm": "UNLOCALIZED: Affirmative ding",
@@ -1398,27 +1428,52 @@
"item.create.refined_radiance.tooltip": "UNLOCALIZED: REFINED RADIANCE",
"item.create.refined_radiance.tooltip.summary": "UNLOCALIZED: A Chromatic material forged from _absorbed light_.",
+ "item.create.refined_radiance.tooltip.condition1": "UNLOCALIZED: Work In Progress",
+ "item.create.refined_radiance.tooltip.behaviour1": "UNLOCALIZED: Usages for this material will be available in a future release.",
"item.create.shadow_steel.tooltip": "UNLOCALIZED: SHADOW STEEL",
"item.create.shadow_steel.tooltip.summary": "UNLOCALIZED: A Chromatic material forged _in the void_.",
+ "item.create.shadow_steel.tooltip.condition1": "UNLOCALIZED: Work In Progress",
+ "item.create.shadow_steel.tooltip.behaviour1": "UNLOCALIZED: Usages for this material will be available in a future release.",
+
+ "item.create.linked_controller.tooltip": "UNLOCALIZED: LINKED CONTROLLER",
+ "item.create.linked_controller.tooltip.summary": "UNLOCALIZED: Grants _handheld_ _control_ over _Redstone Link_ frequencies assigned to its _six_ _buttons_.",
+ "item.create.linked_controller.tooltip.condition1": "UNLOCALIZED: R-Click",
+ "item.create.linked_controller.tooltip.behaviour1": "UNLOCALIZED: _Toggles_ the controller. _Movement_ _controls_ are taken over while its active.",
+ "item.create.linked_controller.tooltip.condition2": "UNLOCALIZED: R-Click while Sneaking",
+ "item.create.linked_controller.tooltip.behaviour2": "UNLOCALIZED: Opens the manual _Configuration Interface_.",
+ "item.create.linked_controller.tooltip.condition3": "UNLOCALIZED: R-Click on Redstone Link Receiver",
+ "item.create.linked_controller.tooltip.behaviour3": "UNLOCALIZED: Enables _Bind Mode_, press one of the _six controls_ to bind it to the _Links' Frequency_.",
+
+ "item.create.diving_helmet.tooltip": "UNLOCALIZED: DIVING HELMET",
+ "item.create.diving_helmet.tooltip.summary": "UNLOCALIZED: Together with a _Copper_ _Backtank_, allows the weilder to _breathe_ _underwater_ for an extended amount of time.",
+ "item.create.diving_helmet.tooltip.condition1": "UNLOCALIZED: When Worn",
+ "item.create.diving_helmet.tooltip.behaviour1": "UNLOCALIZED: Provides the _Water Breathing_ effect, slowly draining _Air Pressure_ from the Backtank.",
+
+ "item.create.copper_backtank.tooltip": "UNLOCALIZED: COPPER BACKTANK",
+ "item.create.copper_backtank.tooltip.summary": "UNLOCALIZED: A _Wearable_ _Tank_ for carrying Pressurized Air.",
+ "item.create.copper_backtank.tooltip.condition1": "UNLOCALIZED: When Worn",
+ "item.create.copper_backtank.tooltip.behaviour1": "UNLOCALIZED: Provides _Pressurized_ _Air_ to Equipment that requires it.",
+ "item.create.copper_backtank.tooltip.condition2": "UNLOCALIZED: When placed, Powered by Kinetics",
+ "item.create.copper_backtank.tooltip.behaviour2": "UNLOCALIZED: _Collects_ _Pressurized_ _Air_ at a rate depending on the Rotational Speed.",
+
+ "item.create.diving_boots.tooltip": "UNLOCALIZED: DIVING BOOTS",
+ "item.create.diving_boots.tooltip.summary": "UNLOCALIZED: A pair of _heavy_ _boots_, allowing for better traversal of the Ocean floor.",
+ "item.create.diving_boots.tooltip.condition1": "UNLOCALIZED: When Worn",
+ "item.create.diving_boots.tooltip.behaviour1": "UNLOCALIZED: Weilder _sinks_ _faster_ and _cannot_ _swim_. Grants the ability to _walk_ and _jump_ underwater. Weilder also is no longer affected by _Mechanical_ _Belts_.",
+
+ "item.create.crafting_blueprint.tooltip": "UNLOCALIZED: CRAFTING BLUEPRINT",
+ "item.create.crafting_blueprint.tooltip.summary": "UNLOCALIZED: _Placed_ on a wall, it can be used to _specify_ _ingredient_ _arrangements_ for easier manual crafting. Each slot represents a Recipe.",
+ "item.create.crafting_blueprint.condition1": "UNLOCALIZED: R-Click empty Slot",
+ "item.create.crafting_blueprint.behaviour1": "UNLOCALIZED: Opens a _Crafting_ _menu_ allowing you to _configure_ a _recipe_ and items to display.",
+ "item.create.crafting_blueprint.condition2": "UNLOCALIZED: R-Click configured Slot",
+ "item.create.crafting_blueprint.behaviour2": "UNLOCALIZED: _Applies_ the _configured_ _recipe_ with matching Ingredients found in your _Inventory_. _Sneak_ to craft up to a _Stack_ of items.",
"item.create.minecart_coupling.tooltip": "UNLOCALIZED: MINECART COUPLING",
"item.create.minecart_coupling.tooltip.summary": "UNLOCALIZED: _Chains_ all your _Minecarts_ or _Carriage Contraptions_ together to form a majestic Train.",
"item.create.minecart_coupling.tooltip.condition1": "UNLOCALIZED: When Used on Minecart",
"item.create.minecart_coupling.tooltip.behaviour1": "UNLOCALIZED: _Couples_ two Minecarts together, attempting to keep them at a _constant distance_ while moving.",
- "create.tooltip.wip": "WIP",
- "create.tooltip.workInProgress": "Work in progress!",
- "create.tooltip.randomWipDescription0": "Houdt dit object buiten bereik van kinderen.",
- "create.tooltip.randomWipDescription1": "Een baby panda sterft elke keer als je dit object gebruikt.",
- "create.tooltip.randomWipDescription2": "Gebruikt dit object op eigen risico.",
- "create.tooltip.randomWipDescription3": "Niks te zien hier, vervolg uw weg.",
- "create.tooltip.randomWipDescription4": "Dit object zal zichzelf vernietigen in 10 seconden.",
- "create.tooltip.randomWipDescription5": "Geloof me, het is nuteloos.",
- "create.tooltip.randomWipDescription6": "Door dit object te gebruiken stemt u in met onze disclaimer en gaat u akkoord met de algemene voorwaarden.",
- "create.tooltip.randomWipDescription7": "Deze is misschien niet geschikt voor jou.",
- "create.tooltip.randomWipDescription8": "Gebruikt het en je zal meteen spijt hebben.",
-
"_": "->------------------------] Ponder Content [------------------------<-",
@@ -1594,7 +1649,7 @@
"create.ponder.chain_drive.text_3": "UNLOCALIZED: Any part of the row can be rotated by 90 degrees",
"create.ponder.chain_gearshift.header": "UNLOCALIZED: Controlling rotational speed with Chain Gearshifts",
- "create.ponder.chain_gearshift.text_1": "UNLOCALIZED: Unpowered Chain Gearshifts behave exacly like Chain Drives",
+ "create.ponder.chain_gearshift.text_1": "UNLOCALIZED: Unpowered Chain Gearshifts behave exactly like Chain Drives",
"create.ponder.chain_gearshift.text_2": "UNLOCALIZED: When Powered, the speed transmitted to other Chain Drives in the row is doubled",
"create.ponder.chain_gearshift.text_3": "UNLOCALIZED: Whenever the Powered Gearshift is not at the source, its speed will be halved instead",
"create.ponder.chain_gearshift.text_4": "UNLOCALIZED: In both cases, Chain Drives in the row always run at 2x the speed of the Powered Gearshift",
@@ -1634,6 +1689,8 @@
"create.ponder.cogwheel.text_1": "UNLOCALIZED: Cogwheels will relay rotation to other adjacent cogwheels",
"create.ponder.cogwheel.text_2": "UNLOCALIZED: Neighbouring shafts connected like this will rotate in opposite directions",
+ "create.ponder.creative_fluid_tank.header": "UNLOCALIZED: Creative Fluid Tanks",
+
"create.ponder.creative_motor.header": "UNLOCALIZED: Generating Rotational Force using Creative Motors",
"create.ponder.creative_motor.text_1": "UNLOCALIZED: Creative motors are a compact and configurable source of Rotational Force",
"create.ponder.creative_motor.text_2": "UNLOCALIZED: Scrolling on the back panel changes the RPM of the motors' rotational output",
@@ -1670,6 +1727,12 @@
"create.ponder.deployer_modes.text_1": "UNLOCALIZED: By default, a Deployer imitates a Right-click interaction",
"create.ponder.deployer_modes.text_2": "UNLOCALIZED: Using a Wrench, it can be set to imitate a Left-click instead",
+ "create.ponder.deployer_processing.header": "UNLOCALIZED: Processing Items using Deployers",
+ "create.ponder.deployer_processing.text_1": "UNLOCALIZED: With a fitting held item, Deployers can process items provided beneath them",
+ "create.ponder.deployer_processing.text_2": "UNLOCALIZED: The Input items can be dropped or placed on a Depot under the Deployer",
+ "create.ponder.deployer_processing.text_3": "UNLOCALIZED: When items are provided on a belt...",
+ "create.ponder.deployer_processing.text_4": "UNLOCALIZED: The Deployer will hold and process them automatically",
+
"create.ponder.deployer_redstone.header": "UNLOCALIZED: Controlling Deployers with Redstone",
"create.ponder.deployer_redstone.text_1": "UNLOCALIZED: When powered by Redstone, Deployers will not activate",
"create.ponder.deployer_redstone.text_2": "UNLOCALIZED: Before stopping, the Deployer will finish any started cycles",
@@ -1688,6 +1751,11 @@
"create.ponder.empty_blaze_burner.text_4": "UNLOCALIZED: For Aesthetic purposes, Empty Blaze Burners can also be lit using Flint and Steel",
"create.ponder.empty_blaze_burner.text_5": "UNLOCALIZED: However, these are not suitable for industrial heating",
+ "create.ponder.encased_fluid_pipe.header": "UNLOCALIZED: Encasing Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_1": "UNLOCALIZED: Copper Casing can be used to decorate Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_2": "UNLOCALIZED: Aside from being conceiled, Encased Pipes are locked into their connectivity state",
+ "create.ponder.encased_fluid_pipe.text_3": "UNLOCALIZED: It will no longer react to any neighbouring blocks being added or removed",
+
"create.ponder.fan_direction.header": "UNLOCALIZED: Air flow of Encased Fans",
"create.ponder.fan_direction.text_1": "UNLOCALIZED: Encased Fans use Rotational Force to create an Air Current",
"create.ponder.fan_direction.text_2": "UNLOCALIZED: Strength and Direction of Flow depends on the Rotational Input",
@@ -1706,6 +1774,26 @@
"create.ponder.fan_source.text_1": "UNLOCALIZED: Fans facing down into a source of heat can provide Rotational Force",
"create.ponder.fan_source.text_2": "UNLOCALIZED: When given a Redstone Signal, the Fans will start providing power",
+ "create.ponder.fluid_pipe_flow.header": "UNLOCALIZED: Moving Fluids using Copper Pipes",
+ "create.ponder.fluid_pipe_flow.text_1": "UNLOCALIZED: Fluid Pipes can connect two or more fluid sources and targets",
+ "create.ponder.fluid_pipe_flow.text_2": "UNLOCALIZED: Using a wrench, a straight pipe segment can be given a window",
+ "create.ponder.fluid_pipe_flow.text_3": "UNLOCALIZED: Windowed pipes will not connect to any other adjacent pipe segments",
+ "create.ponder.fluid_pipe_flow.text_4": "UNLOCALIZED: Powered by Mechanical Pumps, the Pipes can transport Fluids",
+ "create.ponder.fluid_pipe_flow.text_5": "UNLOCALIZED: No fluid is being extracted at first",
+ "create.ponder.fluid_pipe_flow.text_6": "UNLOCALIZED: Once the flow connects them, the endpoints gradually transfer their contents",
+ "create.ponder.fluid_pipe_flow.text_7": "UNLOCALIZED: Thus, the Pipe blocks themselves never 'physically' contain any fluid",
+
+ "create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers",
+ "create.ponder.fluid_pipe_interaction.text_1": "UNLOCALIZED: Endpoints of a pipe network can interact with a variety of blocks",
+ "create.ponder.fluid_pipe_interaction.text_2": "UNLOCALIZED: Any block with fluid storage capabilities can be filled or drained",
+ "create.ponder.fluid_pipe_interaction.text_3": "UNLOCALIZED: Source blocks right in front of an open end can be picked up...",
+ "create.ponder.fluid_pipe_interaction.text_4": "UNLOCALIZED: ...while spilling into empty spaces can create fluid sources",
+ "create.ponder.fluid_pipe_interaction.text_5": "UNLOCALIZED: Pipes can also extract fluids from a handful of other blocks directly",
+
+ "create.ponder.fluid_tank_sizes.header": "UNLOCALIZED: Dimensions of a Fluid tank",
+
+ "create.ponder.fluid_tank_storage.header": "UNLOCALIZED: Storing Fluids in Fluid Tanks",
+
"create.ponder.flywheel.header": "UNLOCALIZED: Generating Rotational Force using the Flywheel",
"create.ponder.flywheel.text_1": "UNLOCALIZED: Flywheels are required for generating rotational force with the Furnace Engine",
"create.ponder.flywheel.text_2": "UNLOCALIZED: The provided Rotational Force has a very large stress capacity",
@@ -1779,6 +1867,14 @@
"create.ponder.hand_crank.text_3": "UNLOCALIZED: Its conveyed speed is relatively high",
"create.ponder.hand_crank.text_4": "UNLOCALIZED: Sneak and Hold Right-Click to rotate it Clockwise",
+ "create.ponder.hose_pulley.header": "UNLOCALIZED: Source Filling and Draining using Hose Pulleys",
+
+ "create.ponder.hose_pulley_infinite.header": "UNLOCALIZED: Passively Filling and Draining large bodies of Fluid",
+
+ "create.ponder.hose_pulley_level.header": "UNLOCALIZED: Fill and Drain level of Hose Pulleys",
+
+ "create.ponder.item_drain.header": "UNLOCALIZED: Emptying Fluid Containers using Item Drains",
+
"create.ponder.large_cogwheel.header": "UNLOCALIZED: Relaying rotational force using Large Cogwheels",
"create.ponder.large_cogwheel.text_1": "UNLOCALIZED: Large cogwheels can connect to each other at right angles",
"create.ponder.large_cogwheel.text_2": "UNLOCALIZED: It will help relaying conveyed speed to other axes of rotation",
@@ -1901,6 +1997,10 @@
"create.ponder.mechanical_press_compacting.text_3": "UNLOCALIZED: Some of those recipes may require the heat of a Blaze Burner",
"create.ponder.mechanical_press_compacting.text_4": "UNLOCALIZED: The filter slot can be used in case two recipes are conflicting.",
+ "create.ponder.mechanical_pump_flow.header": "UNLOCALIZED: Fluid Transportation using Mechanical Pumps",
+
+ "create.ponder.mechanical_pump_speed.header": "UNLOCALIZED: Throughput of Mechanical Pumps",
+
"create.ponder.mechanical_saw_breaker.header": "UNLOCALIZED: Cutting Trees with the Mechanical Saw",
"create.ponder.mechanical_saw_breaker.text_1": "UNLOCALIZED: When given Rotational Force, a Mechanical Saw will cut trees directly in front of it",
"create.ponder.mechanical_saw_breaker.text_2": "UNLOCALIZED: In order to cut the tree fully, the Saw has to break the last block connecting it to the ground",
@@ -1931,6 +2031,10 @@
"create.ponder.piston_pole.text_1": "UNLOCALIZED: Without attached Poles, a Mechanical Piston cannot move",
"create.ponder.piston_pole.text_2": "UNLOCALIZED: The Length of pole added at its back determines the Extension Range",
+ "create.ponder.portable_fluid_interface.header": "UNLOCALIZED: Contraption Fluid Exchange",
+
+ "create.ponder.portable_fluid_interface_redstone.header": "UNLOCALIZED: Redstone Control",
+
"create.ponder.portable_storage_interface.header": "UNLOCALIZED: Contraption Storage Exchange",
"create.ponder.portable_storage_interface.text_1": "UNLOCALIZED: Inventories on moving contraptions cannot be accessed by players.",
"create.ponder.portable_storage_interface.text_2": "UNLOCALIZED: This component can interact with storage without the need to stop the contraption.",
@@ -2028,11 +2132,17 @@
"create.ponder.smart_chute.text_3": "UNLOCALIZED: Use the Mouse Wheel to specify the extracted stack size",
"create.ponder.smart_chute.text_4": "UNLOCALIZED: Redstone power will prevent Smart Chutes from acting.",
+ "create.ponder.smart_pipe.header": "UNLOCALIZED: Controlling Fluid flow using Smart Pipes",
+
"create.ponder.speedometer.header": "UNLOCALIZED: Monitoring Kinetic information using the Speedometer",
"create.ponder.speedometer.text_1": "UNLOCALIZED: The Speedometer displays the current Speed of the attached components",
"create.ponder.speedometer.text_2": "UNLOCALIZED: When wearing Engineers' Goggles, the player can get more detailed information from the Gauge",
"create.ponder.speedometer.text_3": "UNLOCALIZED: Comparators can emit analog Restone Signals relative to the Speedometer's measurements",
+ "create.ponder.spout_access.header": "UNLOCALIZED: Moving fluids into Spouts",
+
+ "create.ponder.spout_filling.header": "UNLOCALIZED: Filling Items using a Spout",
+
"create.ponder.stabilized_bearings.header": "UNLOCALIZED: Stabilized Contraptions",
"create.ponder.stabilized_bearings.text_1": "UNLOCALIZED: Whenever Mechanical Bearings are themselves part of a moving Structure..",
"create.ponder.stabilized_bearings.text_2": "UNLOCALIZED: ..they will attempt to keep themselves upright",
@@ -2064,6 +2174,8 @@
"create.ponder.valve_handle.text_4": "UNLOCALIZED: Sneak and Hold Right-Click to rotate it Clockwise",
"create.ponder.valve_handle.text_5": "UNLOCALIZED: Valve handles can be dyed for aesthetic purposes",
+ "create.ponder.valve_pipe.header": "UNLOCALIZED: Controlling Fluid flow using Valves",
+
"create.ponder.water_wheel.header": "UNLOCALIZED: Generating Rotational Force using Water Wheels",
"create.ponder.water_wheel.text_1": "UNLOCALIZED: Water Wheels draw force from adjacent Water Currents",
"create.ponder.water_wheel.text_2": "UNLOCALIZED: The more faces are powered, the faster the Water Wheel will rotate",
diff --git a/src/generated/resources/assets/create/lang/unfinished/pl_pl.json b/src/generated/resources/assets/create/lang/unfinished/pl_pl.json
index 3b4dd77cd..18dc98c92 100644
--- a/src/generated/resources/assets/create/lang/unfinished/pl_pl.json
+++ b/src/generated/resources/assets/create/lang/unfinished/pl_pl.json
@@ -1,5 +1,5 @@
{
- "_": "Missing Localizations: 38",
+ "_": "Missing Localizations: 97",
"_": "->------------------------] Game Elements [------------------------<-",
@@ -58,7 +58,7 @@
"block.create.cogwheel": "Koło zębate",
"block.create.content_observer": "Detektor zawartości",
"block.create.controller_rail": "Tory sterujące",
- "block.create.copper_backtank": "UNLOCALIZED: Copper Backtank",
+ "block.create.copper_backtank": "Miedziany zbiornik w plecaku",
"block.create.copper_block": "Blok miedzi",
"block.create.copper_casing": "Miedziana Obudowa",
"block.create.copper_ore": "Ruda miedzi",
@@ -414,6 +414,7 @@
"block.create.zinc_ore": "Ruda cynku",
"entity.create.contraption": "Maszyna",
+ "entity.create.crafting_blueprint": "UNLOCALIZED: Crafting Blueprint",
"entity.create.gantry_contraption": "Maszyna suwnicowa",
"entity.create.seat": "Siedzenie",
"entity.create.stationary_contraption": "Maszyna stacjonarna",
@@ -439,11 +440,12 @@
"item.create.chocolate_glazed_berries": "Jagody w czekoladzie",
"item.create.chromatic_compound": "Związek chromatyczny",
"item.create.cinder_flour": "Rozżarzona mąka",
- "item.create.copper_backtank": "UNLOCALIZED: Copper Backtank",
+ "item.create.copper_backtank": "Miedziany zbiornik w plecaku",
"item.create.copper_ingot": "Sztabka miedzi",
"item.create.copper_nugget": "Bryłka miedzi",
"item.create.copper_sheet": "Arkusz miedzi",
"item.create.crafter_slot_cover": "Przykrywka na slot stołu rzemieślniczego",
+ "item.create.crafting_blueprint": "UNLOCALIZED: Crafting Blueprint",
"item.create.crushed_aluminum_ore": "Rozkruszona ruda żelaza",
"item.create.crushed_brass": "Rozkruszony mosiądz",
"item.create.crushed_copper_ore": "Rozkruszona ruda miedzi",
@@ -458,8 +460,8 @@
"item.create.crushed_tin_ore": "Rozkruszona ruda cyny",
"item.create.crushed_uranium_ore": "Rozkruszona ruda uranu",
"item.create.crushed_zinc_ore": "Rozkruszona ruda cynku",
- "item.create.diving_boots": "UNLOCALIZED: Diving Boots",
- "item.create.diving_helmet": "UNLOCALIZED: Diving Helmet",
+ "item.create.diving_boots": "Buty do nurkowania",
+ "item.create.diving_helmet": "Hełm do nurkowania",
"item.create.dough": "Ciasto",
"item.create.electron_tube": "Lampa elektronowa",
"item.create.empty_blaze_burner": "Pusty płomienny palnik",
@@ -475,6 +477,7 @@
"item.create.integrated_circuit": "Układ scalony",
"item.create.iron_sheet": "Arkusz żelaza",
"item.create.lapis_sheet": "Arkusz lazurytu",
+ "item.create.linked_controller": "UNLOCALIZED: Linked Controller",
"item.create.minecart_contraption": "Maszyna w wagoniku",
"item.create.minecart_coupling": "Łącznik wagoników",
"item.create.polished_rose_quartz": "Wypolerowany kwarc różowy",
@@ -672,6 +675,13 @@
"create.block.deployer.damage_source_name": "zbuntowany aplikator",
"create.block.cart_assembler.invalid": "Postaw monter wagoników na torze",
+ "create.menu.return": "UNLOCALIZED: Return to Menu",
+ "create.menu.configure": "UNLOCALIZED: Configure...",
+ "create.menu.getting_started": "UNLOCALIZED: Getting Started",
+ "create.menu.project_page": "UNLOCALIZED: Project Page",
+ "create.menu.report_bugs": "UNLOCALIZED: Report Issues",
+ "create.menu.support": "UNLOCALIZED: Support Us",
+
"create.recipe.crushing": "Kruszenie",
"create.recipe.milling": "Mielenie",
"create.recipe.fan_washing": "Hurtowe płukanie",
@@ -682,7 +692,7 @@
"create.recipe.fan_blasting.fan": "Wiatrak za lawą",
"create.recipe.pressing": "Tłoczenie",
"create.recipe.mixing": "Mieszanie",
- "create.recipe.deploying": "UNLOCALIZED: Deploying",
+ "create.recipe.deploying": "Aplikowanie",
"create.recipe.automatic_shapeless": "Zautomatyzowanie nieokreślone konstruowanie",
"create.recipe.automatic_brewing": "Zautomatyzowane warzenie",
"create.recipe.packing": "Prasowanie",
@@ -749,15 +759,15 @@
"create.orientation.alongX": "Wzdłuż X",
"create.gui.terrainzapper.title": "Ręczny kształter",
- "create.gui.terrainzapper.searchDiagonal": "UNLOCALIZED: Follow Diagonals",
- "create.gui.terrainzapper.searchFuzzy": "UNLOCALIZED: Ignore Material Borders",
- "create.gui.terrainzapper.patternSection": "UNLOCALIZED: Pattern",
- "create.gui.terrainzapper.pattern.solid": "UNLOCALIZED: Solid",
- "create.gui.terrainzapper.pattern.checkered": "UNLOCALIZED: Checkerboard",
- "create.gui.terrainzapper.pattern.inversecheckered": "UNLOCALIZED: Inverted Checkerboard",
- "create.gui.terrainzapper.pattern.chance25": "UNLOCALIZED: 25% Roll",
- "create.gui.terrainzapper.pattern.chance50": "UNLOCALIZED: 50% Roll",
- "create.gui.terrainzapper.pattern.chance75": "UNLOCALIZED: 75% Roll",
+ "create.gui.terrainzapper.searchDiagonal": "Wzdłuż linii ukośnych",
+ "create.gui.terrainzapper.searchFuzzy": "Ignoruj krawędzie materiałów",
+ "create.gui.terrainzapper.patternSection": "Wzór",
+ "create.gui.terrainzapper.pattern.solid": "Ciągły",
+ "create.gui.terrainzapper.pattern.checkered": "Szachownica",
+ "create.gui.terrainzapper.pattern.inversecheckered": "Odrócona szachownica",
+ "create.gui.terrainzapper.pattern.chance25": "Obrót o 25%",
+ "create.gui.terrainzapper.pattern.chance50": "Obrót o 50%",
+ "create.gui.terrainzapper.pattern.chance75": "Obrót o 75%",
"create.gui.terrainzapper.placement": "Położenie",
"create.gui.terrainzapper.placement.merged": "Połączony",
"create.gui.terrainzapper.placement.attached": "Przyłączony",
@@ -766,8 +776,8 @@
"create.gui.terrainzapper.brush.cuboid": "Prostopadłościan",
"create.gui.terrainzapper.brush.sphere": "Kula",
"create.gui.terrainzapper.brush.cylinder": "Walec",
- "create.gui.terrainzapper.brush.surface": "UNLOCALIZED: Surface",
- "create.gui.terrainzapper.brush.cluster": "UNLOCALIZED: Cluster",
+ "create.gui.terrainzapper.brush.surface": "Powierzchnia",
+ "create.gui.terrainzapper.brush.cluster": "Grupa",
"create.gui.terrainzapper.tool": "Narzędzie",
"create.gui.terrainzapper.tool.fill": "Wypełnianie",
"create.gui.terrainzapper.tool.place": "Stawianie",
@@ -777,8 +787,8 @@
"create.gui.terrainzapper.tool.flatten": "Wypłaszczanie",
"create.terrainzapper.shiftRightClickToSet": "Shift+Prawe kliknięcie, aby wybrać kształt",
- "create.terrainzapper.usingBlock": "UNLOCALIZED: Using: %1$s",
- "create.terrainzapper.leftClickToSet": "UNLOCALIZED: Left-Click a Block to set Material",
+ "create.terrainzapper.usingBlock": "Używając: %1$s",
+ "create.terrainzapper.leftClickToSet": "Kliknij LPM na blok aby ustawić materiał",
"create.minecart_coupling.two_couplings_max": "Wagoniki nie mogą mieć więcej niż dwa łączniki każdy",
"create.minecart_coupling.unloaded": "Część twojego pociągu wydaje się być w niezaładowanych Chunkach.",
@@ -1105,6 +1115,20 @@
"create.tooltip.chute.fans_pull_down": "Wiatraki ciągną od dołu",
"create.tooltip.chute.contains": "Zawiera: %1$s x%2$s",
+ "create.linked_controller.bind_mode": "UNLOCALIZED: Bind mode active",
+ "create.linked_controller.press_keybind": "UNLOCALIZED: Press %1$s, %2$s, %3$s, %4$s, %5$s or %6$s, to bind this frequency to the respective key",
+ "create.linked_controller.key_bound": "UNLOCALIZED: Frequency bound to %1$s",
+ "create.linked_controller.frequency_slot_1": "UNLOCALIZED: Keybind: %1$s, Freq. #1",
+ "create.linked_controller.frequency_slot_2": "UNLOCALIZED: Keybind: %1$s, Freq. #2",
+
+ "create.crafting_blueprint.crafting_slot": "UNLOCALIZED: Ingredient Slot",
+ "create.crafting_blueprint.filter_items_viable": "UNLOCALIZED: Advanced filter items are viable",
+ "create.crafting_blueprint.display_slot": "UNLOCALIZED: Display Slot",
+ "create.crafting_blueprint.inferred": "UNLOCALIZED: Inferred from recipe",
+ "create.crafting_blueprint.manually_assigned": "UNLOCALIZED: Manually assigned",
+ "create.crafting_blueprint.secondary_display_slot": "UNLOCALIZED: Secondary Display Slot",
+ "create.crafting_blueprint.optional": "UNLOCALIZED: Optional",
+
"create.hint.hose_pulley.title": "Niewyczerpany zapas",
"create.hint.hose_pulley": "Wybrane zbiornik cieczy jest uznany za nieskończony",
"create.hint.mechanical_arm_no_targets.title": "Brak celi",
@@ -1131,35 +1155,41 @@
"create.command.killTPSCommand.status.usage.1": "[Create]: Użyj \"/killtps start\", aby sztucznie spowolnić serwer\n",
"create.command.killTPSCommand.argument.tickTime": "tickTime",
- "create.contraption.minecart_contraption_too_big": "UNLOCALIZED: This Cart Contraption seems too big to pick up",
+ "create.contraption.minecart_contraption_too_big": "Ta maszyna w wagoniku jest zbyt duża, aby ją podnieść",
+ "create.contraption.minecart_contraption_illegal_pickup": "UNLOCALIZED: A mystical force is binding this Cart Contraption to the world",
"_": "->------------------------] Subtitles [------------------------<-",
- "create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble",
- "create.subtitle.slime_added": "Szlam plaska",
- "create.subtitle.contraption_disassemble": "UNLOCALIZED: Contraption stops",
- "create.subtitle.wrench_rotate": "UNLOCALIZED: Wrench used",
- "create.subtitle.mixing": "UNLOCALIZED: Mixing Noises",
- "create.subtitle.mechanical_press_activation_belt": "UNLOCALIZED: Mechanical Press bonks",
- "create.subtitle.worldshaper_place": "UNLOCALIZED: Worldshaper zaps",
- "create.subtitle.deployer_polish": "UNLOCALIZED: Deployer applies polish",
- "create.subtitle.depot_slide": "UNLOCALIZED: Item slides",
- "create.subtitle.deny": "UNLOCALIZED: Declining boop",
+ "create.subtitle.saw_idle": "UNLOCALIZED: Mechanical Saw turns",
+ "create.subtitle.contraption_disassemble": "Maszyna staje",
+ "create.subtitle.mixing": "Dźwięki mieszania",
+ "create.subtitle.mechanical_press_activation_belt": "Mechaniczna prasa stuka",
+ "create.subtitle.worldshaper_place": "Kształter strzela",
+ "create.subtitle.depot_slide": "Przedmiot ślizga się",
+ "create.subtitle.saw_activate_stone": "UNLOCALIZED: Mechanical Saw activates",
"create.subtitle.blaze_munch": "Płomyk szczęśliwie przeżuwa",
- "create.subtitle.schematicannon_launch_block": "Schematoarmata strzela",
- "create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps",
- "create.subtitle.copper_armor_equip": "UNLOCALIZED: Diving equipment clinks",
+ "create.subtitle.funnel_flap": "Lejek trzepocze",
"create.subtitle.schematicannon_finish": "Schematoarmata skończyła",
- "create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks",
+ "create.subtitle.scroll_value": "Kliknięcie",
+ "create.subtitle.crafter_craft": "Mechaniczny stół rzemieślniczy konstruuje",
+ "create.subtitle.saw_process": "UNLOCALIZED: Mechanical Saw processes",
+ "create.subtitle.cranking": "Ręczna korba obraca się",
+ "create.subtitle.wrench_remove": "Komponent niszczy się",
+ "create.subtitle.cogs": "Koła zębate terkoczą",
+ "create.subtitle.slime_added": "Szlam plaska",
+ "create.subtitle.wrench_rotate": "Klucz skrzypi",
+ "create.subtitle.saw_activate_wood": "UNLOCALIZED: Mechanical Saw activates",
+ "create.subtitle.deployer_polish": "Aplikator poleruje",
+ "create.subtitle.deny": "Dźwięk odmowy",
+ "create.subtitle.controller_click": "UNLOCALIZED: Controller clicks",
+ "create.subtitle.schematicannon_launch_block": "Schematoarmata strzela",
+ "create.subtitle.copper_armor_equip": "Sprzęt do nurkowania pobrzękuje",
"create.subtitle.mechanical_press_activation": "Mechaniczna prasa się uruchamia",
- "create.subtitle.contraption_assemble": "UNLOCALIZED: Contraption moves",
- "create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
- "create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
- "create.subtitle.crafter_click": "UNLOCALIZED: Crafter clicks",
- "create.subtitle.wrench_remove": "UNLOCALIZED: Component breaks",
- "create.subtitle.depot_plop": "UNLOCALIZED: Item lands",
- "create.subtitle.confirm": "UNLOCALIZED: Affirmative ding",
+ "create.subtitle.contraption_assemble": "Maszyna przesuwa się",
+ "create.subtitle.crafter_click": "Mechaniczny stół rzemieślniczy stuka",
+ "create.subtitle.depot_plop": "Przedmiot ląduje",
+ "create.subtitle.confirm": "Dźwięk potwierdzenia",
"_": "->------------------------] Item Descriptions [------------------------<-",
@@ -1398,27 +1428,52 @@
"item.create.refined_radiance.tooltip": "ŚWIETLISTY MATERIAŁ",
"item.create.refined_radiance.tooltip.summary": "Chromatyczny materiał powstały z _absorbcji światła_.",
+ "item.create.refined_radiance.tooltip.condition1": "UNLOCALIZED: Work In Progress",
+ "item.create.refined_radiance.tooltip.behaviour1": "UNLOCALIZED: Usages for this material will be available in a future release.",
"item.create.shadow_steel.tooltip": "MROCZNA STAL",
"item.create.shadow_steel.tooltip.summary": "Chromatyczny materiał powstały w _otchłani_.",
+ "item.create.shadow_steel.tooltip.condition1": "UNLOCALIZED: Work In Progress",
+ "item.create.shadow_steel.tooltip.behaviour1": "UNLOCALIZED: Usages for this material will be available in a future release.",
+
+ "item.create.linked_controller.tooltip": "UNLOCALIZED: LINKED CONTROLLER",
+ "item.create.linked_controller.tooltip.summary": "UNLOCALIZED: Grants _handheld_ _control_ over _Redstone Link_ frequencies assigned to its _six_ _buttons_.",
+ "item.create.linked_controller.tooltip.condition1": "UNLOCALIZED: R-Click",
+ "item.create.linked_controller.tooltip.behaviour1": "UNLOCALIZED: _Toggles_ the controller. _Movement_ _controls_ are taken over while its active.",
+ "item.create.linked_controller.tooltip.condition2": "UNLOCALIZED: R-Click while Sneaking",
+ "item.create.linked_controller.tooltip.behaviour2": "UNLOCALIZED: Opens the manual _Configuration Interface_.",
+ "item.create.linked_controller.tooltip.condition3": "UNLOCALIZED: R-Click on Redstone Link Receiver",
+ "item.create.linked_controller.tooltip.behaviour3": "UNLOCALIZED: Enables _Bind Mode_, press one of the _six controls_ to bind it to the _Links' Frequency_.",
+
+ "item.create.diving_helmet.tooltip": "UNLOCALIZED: DIVING HELMET",
+ "item.create.diving_helmet.tooltip.summary": "UNLOCALIZED: Together with a _Copper_ _Backtank_, allows the weilder to _breathe_ _underwater_ for an extended amount of time.",
+ "item.create.diving_helmet.tooltip.condition1": "UNLOCALIZED: When Worn",
+ "item.create.diving_helmet.tooltip.behaviour1": "UNLOCALIZED: Provides the _Water Breathing_ effect, slowly draining _Air Pressure_ from the Backtank.",
+
+ "item.create.copper_backtank.tooltip": "UNLOCALIZED: COPPER BACKTANK",
+ "item.create.copper_backtank.tooltip.summary": "UNLOCALIZED: A _Wearable_ _Tank_ for carrying Pressurized Air.",
+ "item.create.copper_backtank.tooltip.condition1": "UNLOCALIZED: When Worn",
+ "item.create.copper_backtank.tooltip.behaviour1": "UNLOCALIZED: Provides _Pressurized_ _Air_ to Equipment that requires it.",
+ "item.create.copper_backtank.tooltip.condition2": "UNLOCALIZED: When placed, Powered by Kinetics",
+ "item.create.copper_backtank.tooltip.behaviour2": "UNLOCALIZED: _Collects_ _Pressurized_ _Air_ at a rate depending on the Rotational Speed.",
+
+ "item.create.diving_boots.tooltip": "UNLOCALIZED: DIVING BOOTS",
+ "item.create.diving_boots.tooltip.summary": "UNLOCALIZED: A pair of _heavy_ _boots_, allowing for better traversal of the Ocean floor.",
+ "item.create.diving_boots.tooltip.condition1": "UNLOCALIZED: When Worn",
+ "item.create.diving_boots.tooltip.behaviour1": "UNLOCALIZED: Weilder _sinks_ _faster_ and _cannot_ _swim_. Grants the ability to _walk_ and _jump_ underwater. Weilder also is no longer affected by _Mechanical_ _Belts_.",
+
+ "item.create.crafting_blueprint.tooltip": "UNLOCALIZED: CRAFTING BLUEPRINT",
+ "item.create.crafting_blueprint.tooltip.summary": "UNLOCALIZED: _Placed_ on a wall, it can be used to _specify_ _ingredient_ _arrangements_ for easier manual crafting. Each slot represents a Recipe.",
+ "item.create.crafting_blueprint.condition1": "UNLOCALIZED: R-Click empty Slot",
+ "item.create.crafting_blueprint.behaviour1": "UNLOCALIZED: Opens a _Crafting_ _menu_ allowing you to _configure_ a _recipe_ and items to display.",
+ "item.create.crafting_blueprint.condition2": "UNLOCALIZED: R-Click configured Slot",
+ "item.create.crafting_blueprint.behaviour2": "UNLOCALIZED: _Applies_ the _configured_ _recipe_ with matching Ingredients found in your _Inventory_. _Sneak_ to craft up to a _Stack_ of items.",
"item.create.minecart_coupling.tooltip": "ŁĄCZNIK WAGONIKÓW",
"item.create.minecart_coupling.tooltip.summary": "_Łączy_ wszystkie Twoje _wagoniki_ lub _maszyny torowe_, tworząc majestatyczny pociąg.",
"item.create.minecart_coupling.tooltip.condition1": "Kiedy użyto na wagoniku",
"item.create.minecart_coupling.tooltip.behaviour1": "_Łączy_ dwa wagoniki, próbując utrzymać je w stałej odległości od siebie.",
- "create.tooltip.wip": "WIP",
- "create.tooltip.workInProgress": "Praca w toku!",
- "create.tooltip.randomWipDescription0": "Trzymać z dala od dzieci.",
- "create.tooltip.randomWipDescription1": "Mała panda ginie za każdym razem, kiedy patrzysz na ten przedmiot. Za. Każdym. Razem.",
- "create.tooltip.randomWipDescription2": "Używaj na własną odpowiedzialność.",
- "create.tooltip.randomWipDescription3": "To nie ten przedmiot, którego szukasz, proszę się rozejść.",
- "create.tooltip.randomWipDescription4": "Ten przedmiot ulegnie autodestrukcji za 10 sekund. 10, 9, 8...",
- "create.tooltip.randomWipDescription5": "Uwierz mi, jest bezużyteczny.",
- "create.tooltip.randomWipDescription6": "Używając tego przedmiotu, zgadzasz się na warunki umowy.",
- "create.tooltip.randomWipDescription7": "Ten przedmiot chyba nie jest dla Ciebie. A może ten?",
- "create.tooltip.randomWipDescription8": "Użyj tego i natychmiast będziesz tego żałował.",
-
"_": "->------------------------] Ponder Content [------------------------<-",
@@ -1538,11 +1593,11 @@
"create.ponder.blaze_burner.text_3": "Z użyciem płomiennego ciasta, palnik może uzyskać szczególnie wysoką temperaturę",
"create.ponder.blaze_burner.text_4": "Dostarczanie płomykowi przedmiotów może zostać zautomatyzowane z użyciem aplikatorów lub mechanicznych ramion",
- "create.ponder.brass_funnel.header": "Mosiężny lejek",
- "create.ponder.brass_funnel.text_1": "Andezytowe lejki mogą pobierać jedynie pojedyncze przedmioty",
- "create.ponder.brass_funnel.text_2": "Mosiężne lejki mogą pobierać nawet pełne stosy",
+ "create.ponder.brass_funnel.header": "Mosiężny lej",
+ "create.ponder.brass_funnel.text_1": "Andezytowe leje mogą pobierać jedynie pojedyncze przedmioty",
+ "create.ponder.brass_funnel.text_2": "Mosiężne leje mogą pobierać nawet pełne stosy",
"create.ponder.brass_funnel.text_3": "Przewijanie na slocie filtrującym pozwala na precyzyjną kontrolę nad maksymalną wielkością stosu",
- "create.ponder.brass_funnel.text_4": "Użycie przedmiotów patrząc na slot filtrujący spowoduje, że lejek będzie przesyłał tylko pasujące przedmioty",
+ "create.ponder.brass_funnel.text_4": "Użycie przedmiotu patrząc na slot filtrujący spowoduje, że lej będzie przesyłał tylko pasujące przedmioty",
"create.ponder.brass_tunnel.header": "Używanie mosiężnych tuneli",
"create.ponder.brass_tunnel.text_1": "Mosiężne tunele mogą być użyte do przykrycia Twoich taśmociągów",
@@ -1634,6 +1689,8 @@
"create.ponder.cogwheel.text_1": "Koła zębate przekazują obrót do sąsiadujących kół",
"create.ponder.cogwheel.text_2": "Koła połączone w ten sposób będą obracać się w przeciwnych kierunkach",
+ "create.ponder.creative_fluid_tank.header": "UNLOCALIZED: Creative Fluid Tanks",
+
"create.ponder.creative_motor.header": "Generowanie siły obrotowej z użyciem kreatywnego silnika",
"create.ponder.creative_motor.text_1": "Kreatywny silnik to kompaktowe i regulowane źródło siły obrotowej",
"create.ponder.creative_motor.text_2": "Przewijanie patrząc na tylny panel zmienia prędkość obrotu",
@@ -1670,6 +1727,12 @@
"create.ponder.deployer_modes.text_1": "Domyślnie, aplikator imituje prawe kliknięcie",
"create.ponder.deployer_modes.text_2": "Może być przestawiony na lewe kliknięcie używając klucza",
+ "create.ponder.deployer_processing.header": "UNLOCALIZED: Processing Items using Deployers",
+ "create.ponder.deployer_processing.text_1": "UNLOCALIZED: With a fitting held item, Deployers can process items provided beneath them",
+ "create.ponder.deployer_processing.text_2": "UNLOCALIZED: The Input items can be dropped or placed on a Depot under the Deployer",
+ "create.ponder.deployer_processing.text_3": "UNLOCALIZED: When items are provided on a belt...",
+ "create.ponder.deployer_processing.text_4": "UNLOCALIZED: The Deployer will hold and process them automatically",
+
"create.ponder.deployer_redstone.header": "Kontrolowanie aplikatorów z użyciem Redstone'a",
"create.ponder.deployer_redstone.text_1": "Zasilone przez Redstone, aplikatory nie aktywują się",
"create.ponder.deployer_redstone.text_2": "Przed zatrzymaniem, aplikatory dokończą już zaczętą czynność",
@@ -1688,6 +1751,11 @@
"create.ponder.empty_blaze_burner.text_4": "Dla celów dekoracyjnych, puste palniki można też zapalić krzesiwem",
"create.ponder.empty_blaze_burner.text_5": "Nie będzie on dawał jednak ciepła",
+ "create.ponder.encased_fluid_pipe.header": "UNLOCALIZED: Encasing Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_1": "UNLOCALIZED: Copper Casing can be used to decorate Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_2": "UNLOCALIZED: Aside from being conceiled, Encased Pipes are locked into their connectivity state",
+ "create.ponder.encased_fluid_pipe.text_3": "UNLOCALIZED: It will no longer react to any neighbouring blocks being added or removed",
+
"create.ponder.fan_direction.header": "Przepływ powietrza przez izolowane wiatraki",
"create.ponder.fan_direction.text_1": "Izolowane wiatraki używają siły obrotowej, aby wytworzyć przepływ powietrza",
"create.ponder.fan_direction.text_2": "Siła i kierunek przepływu zależy od właściwości siły obrotu",
@@ -1706,6 +1774,26 @@
"create.ponder.fan_source.text_1": "Wiatraki skierowane w stronę źródła ciepła generują siłę obrotową",
"create.ponder.fan_source.text_2": "Po zasileniu, wiatraki zaczną przesyłać siłę do przylegających komponentów",
+ "create.ponder.fluid_pipe_flow.header": "UNLOCALIZED: Moving Fluids using Copper Pipes",
+ "create.ponder.fluid_pipe_flow.text_1": "UNLOCALIZED: Fluid Pipes can connect two or more fluid sources and targets",
+ "create.ponder.fluid_pipe_flow.text_2": "UNLOCALIZED: Using a wrench, a straight pipe segment can be given a window",
+ "create.ponder.fluid_pipe_flow.text_3": "UNLOCALIZED: Windowed pipes will not connect to any other adjacent pipe segments",
+ "create.ponder.fluid_pipe_flow.text_4": "UNLOCALIZED: Powered by Mechanical Pumps, the Pipes can transport Fluids",
+ "create.ponder.fluid_pipe_flow.text_5": "UNLOCALIZED: No fluid is being extracted at first",
+ "create.ponder.fluid_pipe_flow.text_6": "UNLOCALIZED: Once the flow connects them, the endpoints gradually transfer their contents",
+ "create.ponder.fluid_pipe_flow.text_7": "UNLOCALIZED: Thus, the Pipe blocks themselves never 'physically' contain any fluid",
+
+ "create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers",
+ "create.ponder.fluid_pipe_interaction.text_1": "UNLOCALIZED: Endpoints of a pipe network can interact with a variety of blocks",
+ "create.ponder.fluid_pipe_interaction.text_2": "UNLOCALIZED: Any block with fluid storage capabilities can be filled or drained",
+ "create.ponder.fluid_pipe_interaction.text_3": "UNLOCALIZED: Source blocks right in front of an open end can be picked up...",
+ "create.ponder.fluid_pipe_interaction.text_4": "UNLOCALIZED: ...while spilling into empty spaces can create fluid sources",
+ "create.ponder.fluid_pipe_interaction.text_5": "UNLOCALIZED: Pipes can also extract fluids from a handful of other blocks directly",
+
+ "create.ponder.fluid_tank_sizes.header": "UNLOCALIZED: Dimensions of a Fluid tank",
+
+ "create.ponder.fluid_tank_storage.header": "UNLOCALIZED: Storing Fluids in Fluid Tanks",
+
"create.ponder.flywheel.header": "Generowanie siły obrotowej z użyciem koła zamachowego",
"create.ponder.flywheel.text_1": "Koła zamachowe są wymagane, aby generować siłę obrotową przy pomocy silnika spalinowego",
"create.ponder.flywheel.text_2": "Wyprodukowana w ten sposób siła ma bardzo dużą odporność na obciążenie",
@@ -1779,6 +1867,14 @@
"create.ponder.hand_crank.text_3": "Wytwarzana prędkość jest dosyć duża!",
"create.ponder.hand_crank.text_4": "Trzymaj PPM skradając się, aby obrócić ją zgodnie ze wskazówkami zegara",
+ "create.ponder.hose_pulley.header": "UNLOCALIZED: Source Filling and Draining using Hose Pulleys",
+
+ "create.ponder.hose_pulley_infinite.header": "UNLOCALIZED: Passively Filling and Draining large bodies of Fluid",
+
+ "create.ponder.hose_pulley_level.header": "UNLOCALIZED: Fill and Drain level of Hose Pulleys",
+
+ "create.ponder.item_drain.header": "UNLOCALIZED: Emptying Fluid Containers using Item Drains",
+
"create.ponder.large_cogwheel.header": "Przekazywanie siły obrotowej z użyciem dużych kół zębatych",
"create.ponder.large_cogwheel.text_1": "Duże koła zębate mogą się łączyć ze sobą pod kątem prostym",
"create.ponder.large_cogwheel.text_2": "Pomogą one w przekazywaniu siły obrotowej na inne osie obrotu",
@@ -1901,6 +1997,10 @@
"create.ponder.mechanical_press_compacting.text_3": "Niektóre z nich mogą wymagać użycia płomiennego palnika",
"create.ponder.mechanical_press_compacting.text_4": "Slot filtrujący może być użyty w przypadku dwóch konfliktujących receptur",
+ "create.ponder.mechanical_pump_flow.header": "UNLOCALIZED: Fluid Transportation using Mechanical Pumps",
+
+ "create.ponder.mechanical_pump_speed.header": "UNLOCALIZED: Throughput of Mechanical Pumps",
+
"create.ponder.mechanical_saw_breaker.header": "Ścinanie drzew z użyciem mechanicznej piły",
"create.ponder.mechanical_saw_breaker.text_1": "Po otrzymaniu siły obrotowej, mechaniczna piła zetnie każde znajdujące się przed nią drzewo",
"create.ponder.mechanical_saw_breaker.text_2": "Aby całkowicie ściąć drzewo, piła musi zniszczyć każdy blok łączący je z ziemią",
@@ -1931,6 +2031,10 @@
"create.ponder.piston_pole.text_1": "Bez przyłączonych przedłużeń, mechaniczny tłok nie może się wysunąć",
"create.ponder.piston_pole.text_2": "Długość przedłużenia z tyłu ustala maksymalny zasięg tłoka",
+ "create.ponder.portable_fluid_interface.header": "UNLOCALIZED: Contraption Fluid Exchange",
+
+ "create.ponder.portable_fluid_interface_redstone.header": "UNLOCALIZED: Redstone Control",
+
"create.ponder.portable_storage_interface.header": "Używanie przenośnych interfejsów magazynu",
"create.ponder.portable_storage_interface.text_1": "Pojemniki na ruchomych maszynach nie mogą być otwarte przez gracza",
"create.ponder.portable_storage_interface.text_2": "Ten komponent może współpracować z zawartością maszyny bez potrzeby jej zatrzymywania",
@@ -2028,11 +2132,17 @@
"create.ponder.smart_chute.text_3": "Użyj rolki w myszce, aby sprecyzować maksymalną wielkość stosu",
"create.ponder.smart_chute.text_4": "Sygnał Redstone zatrzyma działanie inteligentnych zsypów",
+ "create.ponder.smart_pipe.header": "UNLOCALIZED: Controlling Fluid flow using Smart Pipes",
+
"create.ponder.speedometer.header": "Monitorowanie prędkości obrotu z użyciem prędkościomierza",
"create.ponder.speedometer.text_1": "Prędkościomierz wyświetla obecną prędkość przyłączonych komponentów",
"create.ponder.speedometer.text_2": "Mając na sobie gogle inżyniera, gracz może pozyskać dodatkowe informacje z miernika",
"create.ponder.speedometer.text_3": "Komparatory mogą emitować sygnał Redstone bazując na pomiarach prędkościomierza",
+ "create.ponder.spout_access.header": "UNLOCALIZED: Moving fluids into Spouts",
+
+ "create.ponder.spout_filling.header": "UNLOCALIZED: Filling Items using a Spout",
+
"create.ponder.stabilized_bearings.header": "Stabilizowanie maszyn",
"create.ponder.stabilized_bearings.text_1": "Kiedy łożyska mechaniczne są częścią ruchomej maszyny...",
"create.ponder.stabilized_bearings.text_2": "...będą utrzymywać swoją obrotową część w pozycji wyjściowej",
@@ -2064,6 +2174,8 @@
"create.ponder.valve_handle.text_4": "Trzymaj PPM skradając się, aby obrócić ją zgodnie ze wskazówkami zegara",
"create.ponder.valve_handle.text_5": "Pokrętła mogą być zabarwione dla celów dekoracyjnych",
+ "create.ponder.valve_pipe.header": "UNLOCALIZED: Controlling Fluid flow using Valves",
+
"create.ponder.water_wheel.header": "Generowanie siły obrotowej z użyciem kół wodnych",
"create.ponder.water_wheel.text_1": "Koła wodne pobierają energię z prądów wodnych",
"create.ponder.water_wheel.text_2": "Im więcej stron ma dostęp do wody, tym szybciej koło się będzie obracać",
diff --git a/src/generated/resources/assets/create/lang/unfinished/pt_br.json b/src/generated/resources/assets/create/lang/unfinished/pt_br.json
index 4d81d99bb..327048fc1 100644
--- a/src/generated/resources/assets/create/lang/unfinished/pt_br.json
+++ b/src/generated/resources/assets/create/lang/unfinished/pt_br.json
@@ -1,5 +1,5 @@
{
- "_": "Missing Localizations: 1629",
+ "_": "Missing Localizations: 1715",
"_": "->------------------------] Game Elements [------------------------<-",
@@ -414,6 +414,7 @@
"block.create.zinc_ore": "UNLOCALIZED: Zinc Ore",
"entity.create.contraption": "UNLOCALIZED: Contraption",
+ "entity.create.crafting_blueprint": "UNLOCALIZED: Crafting Blueprint",
"entity.create.gantry_contraption": "UNLOCALIZED: Gantry Contraption",
"entity.create.seat": "UNLOCALIZED: Seat",
"entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption",
@@ -444,6 +445,7 @@
"item.create.copper_nugget": "UNLOCALIZED: Copper Nugget",
"item.create.copper_sheet": "UNLOCALIZED: Copper Sheet",
"item.create.crafter_slot_cover": "UNLOCALIZED: Crafter Slot Cover",
+ "item.create.crafting_blueprint": "UNLOCALIZED: Crafting Blueprint",
"item.create.crushed_aluminum_ore": "UNLOCALIZED: Crushed Aluminum Ore",
"item.create.crushed_brass": "UNLOCALIZED: Crushed Brass",
"item.create.crushed_copper_ore": "UNLOCALIZED: Crushed Copper Ore",
@@ -475,6 +477,7 @@
"item.create.integrated_circuit": "UNLOCALIZED: Integrated Circuit",
"item.create.iron_sheet": "Placas de Ferro",
"item.create.lapis_sheet": "UNLOCALIZED: Lapis Sheet",
+ "item.create.linked_controller": "UNLOCALIZED: Linked Controller",
"item.create.minecart_contraption": "UNLOCALIZED: Minecart Contraption",
"item.create.minecart_coupling": "UNLOCALIZED: Minecart Coupling",
"item.create.polished_rose_quartz": "UNLOCALIZED: Polished Rose Quartz",
@@ -672,6 +675,13 @@
"create.block.deployer.damage_source_name": "UNLOCALIZED: a rogue Deployer",
"create.block.cart_assembler.invalid": "UNLOCALIZED: Place your Cart Assembler on a rail block",
+ "create.menu.return": "UNLOCALIZED: Return to Menu",
+ "create.menu.configure": "UNLOCALIZED: Configure...",
+ "create.menu.getting_started": "UNLOCALIZED: Getting Started",
+ "create.menu.project_page": "UNLOCALIZED: Project Page",
+ "create.menu.report_bugs": "UNLOCALIZED: Report Issues",
+ "create.menu.support": "UNLOCALIZED: Support Us",
+
"create.recipe.crushing": "Moendo",
"create.recipe.milling": "UNLOCALIZED: Milling",
"create.recipe.fan_washing": "UNLOCALIZED: Bulk Washing",
@@ -1105,6 +1115,20 @@
"create.tooltip.chute.fans_pull_down": "UNLOCALIZED: Fans pull from Below",
"create.tooltip.chute.contains": "UNLOCALIZED: Contains: %1$s x%2$s",
+ "create.linked_controller.bind_mode": "UNLOCALIZED: Bind mode active",
+ "create.linked_controller.press_keybind": "UNLOCALIZED: Press %1$s, %2$s, %3$s, %4$s, %5$s or %6$s, to bind this frequency to the respective key",
+ "create.linked_controller.key_bound": "UNLOCALIZED: Frequency bound to %1$s",
+ "create.linked_controller.frequency_slot_1": "UNLOCALIZED: Keybind: %1$s, Freq. #1",
+ "create.linked_controller.frequency_slot_2": "UNLOCALIZED: Keybind: %1$s, Freq. #2",
+
+ "create.crafting_blueprint.crafting_slot": "UNLOCALIZED: Ingredient Slot",
+ "create.crafting_blueprint.filter_items_viable": "UNLOCALIZED: Advanced filter items are viable",
+ "create.crafting_blueprint.display_slot": "UNLOCALIZED: Display Slot",
+ "create.crafting_blueprint.inferred": "UNLOCALIZED: Inferred from recipe",
+ "create.crafting_blueprint.manually_assigned": "UNLOCALIZED: Manually assigned",
+ "create.crafting_blueprint.secondary_display_slot": "UNLOCALIZED: Secondary Display Slot",
+ "create.crafting_blueprint.optional": "UNLOCALIZED: Optional",
+
"create.hint.hose_pulley.title": "UNLOCALIZED: Bottomless Supply",
"create.hint.hose_pulley": "UNLOCALIZED: The targeted body of fluid is considered infinite.",
"create.hint.mechanical_arm_no_targets.title": "UNLOCALIZED: No Targets",
@@ -1132,32 +1156,38 @@
"create.command.killTPSCommand.argument.tickTime": "UNLOCALIZED: tickTime",
"create.contraption.minecart_contraption_too_big": "UNLOCALIZED: This Cart Contraption seems too big to pick up",
+ "create.contraption.minecart_contraption_illegal_pickup": "UNLOCALIZED: A mystical force is binding this Cart Contraption to the world",
"_": "->------------------------] Subtitles [------------------------<-",
- "create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble",
- "create.subtitle.slime_added": "UNLOCALIZED: Slime squishes",
+ "create.subtitle.saw_idle": "UNLOCALIZED: Mechanical Saw turns",
"create.subtitle.contraption_disassemble": "UNLOCALIZED: Contraption stops",
- "create.subtitle.wrench_rotate": "UNLOCALIZED: Wrench used",
"create.subtitle.mixing": "UNLOCALIZED: Mixing Noises",
"create.subtitle.mechanical_press_activation_belt": "UNLOCALIZED: Mechanical Press bonks",
"create.subtitle.worldshaper_place": "UNLOCALIZED: Worldshaper zaps",
- "create.subtitle.deployer_polish": "UNLOCALIZED: Deployer applies polish",
"create.subtitle.depot_slide": "UNLOCALIZED: Item slides",
- "create.subtitle.deny": "UNLOCALIZED: Declining boop",
+ "create.subtitle.saw_activate_stone": "UNLOCALIZED: Mechanical Saw activates",
"create.subtitle.blaze_munch": "UNLOCALIZED: Blaze Burner munches",
- "create.subtitle.schematicannon_launch_block": "UNLOCALIZED: Schematicannon fires",
"create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps",
- "create.subtitle.copper_armor_equip": "UNLOCALIZED: Diving equipment clinks",
"create.subtitle.schematicannon_finish": "UNLOCALIZED: Schematicannon dings",
"create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks",
+ "create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
+ "create.subtitle.saw_process": "UNLOCALIZED: Mechanical Saw processes",
+ "create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
+ "create.subtitle.wrench_remove": "UNLOCALIZED: Component breaks",
+ "create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble",
+ "create.subtitle.slime_added": "UNLOCALIZED: Slime squishes",
+ "create.subtitle.wrench_rotate": "UNLOCALIZED: Wrench used",
+ "create.subtitle.saw_activate_wood": "UNLOCALIZED: Mechanical Saw activates",
+ "create.subtitle.deployer_polish": "UNLOCALIZED: Deployer applies polish",
+ "create.subtitle.deny": "UNLOCALIZED: Declining boop",
+ "create.subtitle.controller_click": "UNLOCALIZED: Controller clicks",
+ "create.subtitle.schematicannon_launch_block": "UNLOCALIZED: Schematicannon fires",
+ "create.subtitle.copper_armor_equip": "UNLOCALIZED: Diving equipment clinks",
"create.subtitle.mechanical_press_activation": "UNLOCALIZED: Mechanical Press clangs",
"create.subtitle.contraption_assemble": "UNLOCALIZED: Contraption moves",
- "create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
- "create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
"create.subtitle.crafter_click": "UNLOCALIZED: Crafter clicks",
- "create.subtitle.wrench_remove": "UNLOCALIZED: Component breaks",
"create.subtitle.depot_plop": "UNLOCALIZED: Item lands",
"create.subtitle.confirm": "UNLOCALIZED: Affirmative ding",
@@ -1398,27 +1428,52 @@
"item.create.refined_radiance.tooltip": "UNLOCALIZED: REFINED RADIANCE",
"item.create.refined_radiance.tooltip.summary": "UNLOCALIZED: A Chromatic material forged from _absorbed light_.",
+ "item.create.refined_radiance.tooltip.condition1": "UNLOCALIZED: Work In Progress",
+ "item.create.refined_radiance.tooltip.behaviour1": "UNLOCALIZED: Usages for this material will be available in a future release.",
"item.create.shadow_steel.tooltip": "UNLOCALIZED: SHADOW STEEL",
"item.create.shadow_steel.tooltip.summary": "UNLOCALIZED: A Chromatic material forged _in the void_.",
+ "item.create.shadow_steel.tooltip.condition1": "UNLOCALIZED: Work In Progress",
+ "item.create.shadow_steel.tooltip.behaviour1": "UNLOCALIZED: Usages for this material will be available in a future release.",
+
+ "item.create.linked_controller.tooltip": "UNLOCALIZED: LINKED CONTROLLER",
+ "item.create.linked_controller.tooltip.summary": "UNLOCALIZED: Grants _handheld_ _control_ over _Redstone Link_ frequencies assigned to its _six_ _buttons_.",
+ "item.create.linked_controller.tooltip.condition1": "UNLOCALIZED: R-Click",
+ "item.create.linked_controller.tooltip.behaviour1": "UNLOCALIZED: _Toggles_ the controller. _Movement_ _controls_ are taken over while its active.",
+ "item.create.linked_controller.tooltip.condition2": "UNLOCALIZED: R-Click while Sneaking",
+ "item.create.linked_controller.tooltip.behaviour2": "UNLOCALIZED: Opens the manual _Configuration Interface_.",
+ "item.create.linked_controller.tooltip.condition3": "UNLOCALIZED: R-Click on Redstone Link Receiver",
+ "item.create.linked_controller.tooltip.behaviour3": "UNLOCALIZED: Enables _Bind Mode_, press one of the _six controls_ to bind it to the _Links' Frequency_.",
+
+ "item.create.diving_helmet.tooltip": "UNLOCALIZED: DIVING HELMET",
+ "item.create.diving_helmet.tooltip.summary": "UNLOCALIZED: Together with a _Copper_ _Backtank_, allows the weilder to _breathe_ _underwater_ for an extended amount of time.",
+ "item.create.diving_helmet.tooltip.condition1": "UNLOCALIZED: When Worn",
+ "item.create.diving_helmet.tooltip.behaviour1": "UNLOCALIZED: Provides the _Water Breathing_ effect, slowly draining _Air Pressure_ from the Backtank.",
+
+ "item.create.copper_backtank.tooltip": "UNLOCALIZED: COPPER BACKTANK",
+ "item.create.copper_backtank.tooltip.summary": "UNLOCALIZED: A _Wearable_ _Tank_ for carrying Pressurized Air.",
+ "item.create.copper_backtank.tooltip.condition1": "UNLOCALIZED: When Worn",
+ "item.create.copper_backtank.tooltip.behaviour1": "UNLOCALIZED: Provides _Pressurized_ _Air_ to Equipment that requires it.",
+ "item.create.copper_backtank.tooltip.condition2": "UNLOCALIZED: When placed, Powered by Kinetics",
+ "item.create.copper_backtank.tooltip.behaviour2": "UNLOCALIZED: _Collects_ _Pressurized_ _Air_ at a rate depending on the Rotational Speed.",
+
+ "item.create.diving_boots.tooltip": "UNLOCALIZED: DIVING BOOTS",
+ "item.create.diving_boots.tooltip.summary": "UNLOCALIZED: A pair of _heavy_ _boots_, allowing for better traversal of the Ocean floor.",
+ "item.create.diving_boots.tooltip.condition1": "UNLOCALIZED: When Worn",
+ "item.create.diving_boots.tooltip.behaviour1": "UNLOCALIZED: Weilder _sinks_ _faster_ and _cannot_ _swim_. Grants the ability to _walk_ and _jump_ underwater. Weilder also is no longer affected by _Mechanical_ _Belts_.",
+
+ "item.create.crafting_blueprint.tooltip": "UNLOCALIZED: CRAFTING BLUEPRINT",
+ "item.create.crafting_blueprint.tooltip.summary": "UNLOCALIZED: _Placed_ on a wall, it can be used to _specify_ _ingredient_ _arrangements_ for easier manual crafting. Each slot represents a Recipe.",
+ "item.create.crafting_blueprint.condition1": "UNLOCALIZED: R-Click empty Slot",
+ "item.create.crafting_blueprint.behaviour1": "UNLOCALIZED: Opens a _Crafting_ _menu_ allowing you to _configure_ a _recipe_ and items to display.",
+ "item.create.crafting_blueprint.condition2": "UNLOCALIZED: R-Click configured Slot",
+ "item.create.crafting_blueprint.behaviour2": "UNLOCALIZED: _Applies_ the _configured_ _recipe_ with matching Ingredients found in your _Inventory_. _Sneak_ to craft up to a _Stack_ of items.",
"item.create.minecart_coupling.tooltip": "UNLOCALIZED: MINECART COUPLING",
"item.create.minecart_coupling.tooltip.summary": "UNLOCALIZED: _Chains_ all your _Minecarts_ or _Carriage Contraptions_ together to form a majestic Train.",
"item.create.minecart_coupling.tooltip.condition1": "UNLOCALIZED: When Used on Minecart",
"item.create.minecart_coupling.tooltip.behaviour1": "UNLOCALIZED: _Couples_ two Minecarts together, attempting to keep them at a _constant distance_ while moving.",
- "create.tooltip.wip": "UNLOCALIZED: WIP",
- "create.tooltip.workInProgress": "UNLOCALIZED: Work in progress!",
- "create.tooltip.randomWipDescription0": "UNLOCALIZED: Please keep this item away from children.",
- "create.tooltip.randomWipDescription1": "UNLOCALIZED: A baby panda dies every time you use this item. Every. Time.",
- "create.tooltip.randomWipDescription2": "UNLOCALIZED: Use at your own risk.",
- "create.tooltip.randomWipDescription3": "UNLOCALIZED: This is not the item you are looking for, *finger-wiggles* please disperse.",
- "create.tooltip.randomWipDescription4": "UNLOCALIZED: This item will self-destruct in 10 seconds. 10, 9, 8...",
- "create.tooltip.randomWipDescription5": "UNLOCALIZED: Believe me, it's useless.",
- "create.tooltip.randomWipDescription6": "UNLOCALIZED: By using this item, you hereby consent to our disclaimer and agree to its terms.",
- "create.tooltip.randomWipDescription7": "UNLOCALIZED: This one maybe isn't for you. What about that one?",
- "create.tooltip.randomWipDescription8": "UNLOCALIZED: Use it and regret your decision immediately.",
-
"_": "->------------------------] Ponder Content [------------------------<-",
@@ -1594,7 +1649,7 @@
"create.ponder.chain_drive.text_3": "UNLOCALIZED: Any part of the row can be rotated by 90 degrees",
"create.ponder.chain_gearshift.header": "UNLOCALIZED: Controlling rotational speed with Chain Gearshifts",
- "create.ponder.chain_gearshift.text_1": "UNLOCALIZED: Unpowered Chain Gearshifts behave exacly like Chain Drives",
+ "create.ponder.chain_gearshift.text_1": "UNLOCALIZED: Unpowered Chain Gearshifts behave exactly like Chain Drives",
"create.ponder.chain_gearshift.text_2": "UNLOCALIZED: When Powered, the speed transmitted to other Chain Drives in the row is doubled",
"create.ponder.chain_gearshift.text_3": "UNLOCALIZED: Whenever the Powered Gearshift is not at the source, its speed will be halved instead",
"create.ponder.chain_gearshift.text_4": "UNLOCALIZED: In both cases, Chain Drives in the row always run at 2x the speed of the Powered Gearshift",
@@ -1634,6 +1689,8 @@
"create.ponder.cogwheel.text_1": "UNLOCALIZED: Cogwheels will relay rotation to other adjacent cogwheels",
"create.ponder.cogwheel.text_2": "UNLOCALIZED: Neighbouring shafts connected like this will rotate in opposite directions",
+ "create.ponder.creative_fluid_tank.header": "UNLOCALIZED: Creative Fluid Tanks",
+
"create.ponder.creative_motor.header": "UNLOCALIZED: Generating Rotational Force using Creative Motors",
"create.ponder.creative_motor.text_1": "UNLOCALIZED: Creative motors are a compact and configurable source of Rotational Force",
"create.ponder.creative_motor.text_2": "UNLOCALIZED: Scrolling on the back panel changes the RPM of the motors' rotational output",
@@ -1670,6 +1727,12 @@
"create.ponder.deployer_modes.text_1": "UNLOCALIZED: By default, a Deployer imitates a Right-click interaction",
"create.ponder.deployer_modes.text_2": "UNLOCALIZED: Using a Wrench, it can be set to imitate a Left-click instead",
+ "create.ponder.deployer_processing.header": "UNLOCALIZED: Processing Items using Deployers",
+ "create.ponder.deployer_processing.text_1": "UNLOCALIZED: With a fitting held item, Deployers can process items provided beneath them",
+ "create.ponder.deployer_processing.text_2": "UNLOCALIZED: The Input items can be dropped or placed on a Depot under the Deployer",
+ "create.ponder.deployer_processing.text_3": "UNLOCALIZED: When items are provided on a belt...",
+ "create.ponder.deployer_processing.text_4": "UNLOCALIZED: The Deployer will hold and process them automatically",
+
"create.ponder.deployer_redstone.header": "UNLOCALIZED: Controlling Deployers with Redstone",
"create.ponder.deployer_redstone.text_1": "UNLOCALIZED: When powered by Redstone, Deployers will not activate",
"create.ponder.deployer_redstone.text_2": "UNLOCALIZED: Before stopping, the Deployer will finish any started cycles",
@@ -1688,6 +1751,11 @@
"create.ponder.empty_blaze_burner.text_4": "UNLOCALIZED: For Aesthetic purposes, Empty Blaze Burners can also be lit using Flint and Steel",
"create.ponder.empty_blaze_burner.text_5": "UNLOCALIZED: However, these are not suitable for industrial heating",
+ "create.ponder.encased_fluid_pipe.header": "UNLOCALIZED: Encasing Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_1": "UNLOCALIZED: Copper Casing can be used to decorate Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_2": "UNLOCALIZED: Aside from being conceiled, Encased Pipes are locked into their connectivity state",
+ "create.ponder.encased_fluid_pipe.text_3": "UNLOCALIZED: It will no longer react to any neighbouring blocks being added or removed",
+
"create.ponder.fan_direction.header": "UNLOCALIZED: Air flow of Encased Fans",
"create.ponder.fan_direction.text_1": "UNLOCALIZED: Encased Fans use Rotational Force to create an Air Current",
"create.ponder.fan_direction.text_2": "UNLOCALIZED: Strength and Direction of Flow depends on the Rotational Input",
@@ -1706,6 +1774,26 @@
"create.ponder.fan_source.text_1": "UNLOCALIZED: Fans facing down into a source of heat can provide Rotational Force",
"create.ponder.fan_source.text_2": "UNLOCALIZED: When given a Redstone Signal, the Fans will start providing power",
+ "create.ponder.fluid_pipe_flow.header": "UNLOCALIZED: Moving Fluids using Copper Pipes",
+ "create.ponder.fluid_pipe_flow.text_1": "UNLOCALIZED: Fluid Pipes can connect two or more fluid sources and targets",
+ "create.ponder.fluid_pipe_flow.text_2": "UNLOCALIZED: Using a wrench, a straight pipe segment can be given a window",
+ "create.ponder.fluid_pipe_flow.text_3": "UNLOCALIZED: Windowed pipes will not connect to any other adjacent pipe segments",
+ "create.ponder.fluid_pipe_flow.text_4": "UNLOCALIZED: Powered by Mechanical Pumps, the Pipes can transport Fluids",
+ "create.ponder.fluid_pipe_flow.text_5": "UNLOCALIZED: No fluid is being extracted at first",
+ "create.ponder.fluid_pipe_flow.text_6": "UNLOCALIZED: Once the flow connects them, the endpoints gradually transfer their contents",
+ "create.ponder.fluid_pipe_flow.text_7": "UNLOCALIZED: Thus, the Pipe blocks themselves never 'physically' contain any fluid",
+
+ "create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers",
+ "create.ponder.fluid_pipe_interaction.text_1": "UNLOCALIZED: Endpoints of a pipe network can interact with a variety of blocks",
+ "create.ponder.fluid_pipe_interaction.text_2": "UNLOCALIZED: Any block with fluid storage capabilities can be filled or drained",
+ "create.ponder.fluid_pipe_interaction.text_3": "UNLOCALIZED: Source blocks right in front of an open end can be picked up...",
+ "create.ponder.fluid_pipe_interaction.text_4": "UNLOCALIZED: ...while spilling into empty spaces can create fluid sources",
+ "create.ponder.fluid_pipe_interaction.text_5": "UNLOCALIZED: Pipes can also extract fluids from a handful of other blocks directly",
+
+ "create.ponder.fluid_tank_sizes.header": "UNLOCALIZED: Dimensions of a Fluid tank",
+
+ "create.ponder.fluid_tank_storage.header": "UNLOCALIZED: Storing Fluids in Fluid Tanks",
+
"create.ponder.flywheel.header": "UNLOCALIZED: Generating Rotational Force using the Flywheel",
"create.ponder.flywheel.text_1": "UNLOCALIZED: Flywheels are required for generating rotational force with the Furnace Engine",
"create.ponder.flywheel.text_2": "UNLOCALIZED: The provided Rotational Force has a very large stress capacity",
@@ -1779,6 +1867,14 @@
"create.ponder.hand_crank.text_3": "UNLOCALIZED: Its conveyed speed is relatively high",
"create.ponder.hand_crank.text_4": "UNLOCALIZED: Sneak and Hold Right-Click to rotate it Clockwise",
+ "create.ponder.hose_pulley.header": "UNLOCALIZED: Source Filling and Draining using Hose Pulleys",
+
+ "create.ponder.hose_pulley_infinite.header": "UNLOCALIZED: Passively Filling and Draining large bodies of Fluid",
+
+ "create.ponder.hose_pulley_level.header": "UNLOCALIZED: Fill and Drain level of Hose Pulleys",
+
+ "create.ponder.item_drain.header": "UNLOCALIZED: Emptying Fluid Containers using Item Drains",
+
"create.ponder.large_cogwheel.header": "UNLOCALIZED: Relaying rotational force using Large Cogwheels",
"create.ponder.large_cogwheel.text_1": "UNLOCALIZED: Large cogwheels can connect to each other at right angles",
"create.ponder.large_cogwheel.text_2": "UNLOCALIZED: It will help relaying conveyed speed to other axes of rotation",
@@ -1901,6 +1997,10 @@
"create.ponder.mechanical_press_compacting.text_3": "UNLOCALIZED: Some of those recipes may require the heat of a Blaze Burner",
"create.ponder.mechanical_press_compacting.text_4": "UNLOCALIZED: The filter slot can be used in case two recipes are conflicting.",
+ "create.ponder.mechanical_pump_flow.header": "UNLOCALIZED: Fluid Transportation using Mechanical Pumps",
+
+ "create.ponder.mechanical_pump_speed.header": "UNLOCALIZED: Throughput of Mechanical Pumps",
+
"create.ponder.mechanical_saw_breaker.header": "UNLOCALIZED: Cutting Trees with the Mechanical Saw",
"create.ponder.mechanical_saw_breaker.text_1": "UNLOCALIZED: When given Rotational Force, a Mechanical Saw will cut trees directly in front of it",
"create.ponder.mechanical_saw_breaker.text_2": "UNLOCALIZED: In order to cut the tree fully, the Saw has to break the last block connecting it to the ground",
@@ -1931,6 +2031,10 @@
"create.ponder.piston_pole.text_1": "UNLOCALIZED: Without attached Poles, a Mechanical Piston cannot move",
"create.ponder.piston_pole.text_2": "UNLOCALIZED: The Length of pole added at its back determines the Extension Range",
+ "create.ponder.portable_fluid_interface.header": "UNLOCALIZED: Contraption Fluid Exchange",
+
+ "create.ponder.portable_fluid_interface_redstone.header": "UNLOCALIZED: Redstone Control",
+
"create.ponder.portable_storage_interface.header": "UNLOCALIZED: Contraption Storage Exchange",
"create.ponder.portable_storage_interface.text_1": "UNLOCALIZED: Inventories on moving contraptions cannot be accessed by players.",
"create.ponder.portable_storage_interface.text_2": "UNLOCALIZED: This component can interact with storage without the need to stop the contraption.",
@@ -2028,11 +2132,17 @@
"create.ponder.smart_chute.text_3": "UNLOCALIZED: Use the Mouse Wheel to specify the extracted stack size",
"create.ponder.smart_chute.text_4": "UNLOCALIZED: Redstone power will prevent Smart Chutes from acting.",
+ "create.ponder.smart_pipe.header": "UNLOCALIZED: Controlling Fluid flow using Smart Pipes",
+
"create.ponder.speedometer.header": "UNLOCALIZED: Monitoring Kinetic information using the Speedometer",
"create.ponder.speedometer.text_1": "UNLOCALIZED: The Speedometer displays the current Speed of the attached components",
"create.ponder.speedometer.text_2": "UNLOCALIZED: When wearing Engineers' Goggles, the player can get more detailed information from the Gauge",
"create.ponder.speedometer.text_3": "UNLOCALIZED: Comparators can emit analog Restone Signals relative to the Speedometer's measurements",
+ "create.ponder.spout_access.header": "UNLOCALIZED: Moving fluids into Spouts",
+
+ "create.ponder.spout_filling.header": "UNLOCALIZED: Filling Items using a Spout",
+
"create.ponder.stabilized_bearings.header": "UNLOCALIZED: Stabilized Contraptions",
"create.ponder.stabilized_bearings.text_1": "UNLOCALIZED: Whenever Mechanical Bearings are themselves part of a moving Structure..",
"create.ponder.stabilized_bearings.text_2": "UNLOCALIZED: ..they will attempt to keep themselves upright",
@@ -2064,6 +2174,8 @@
"create.ponder.valve_handle.text_4": "UNLOCALIZED: Sneak and Hold Right-Click to rotate it Clockwise",
"create.ponder.valve_handle.text_5": "UNLOCALIZED: Valve handles can be dyed for aesthetic purposes",
+ "create.ponder.valve_pipe.header": "UNLOCALIZED: Controlling Fluid flow using Valves",
+
"create.ponder.water_wheel.header": "UNLOCALIZED: Generating Rotational Force using Water Wheels",
"create.ponder.water_wheel.text_1": "UNLOCALIZED: Water Wheels draw force from adjacent Water Currents",
"create.ponder.water_wheel.text_2": "UNLOCALIZED: The more faces are powered, the faster the Water Wheel will rotate",
diff --git a/src/generated/resources/assets/create/lang/unfinished/ru_ru.json b/src/generated/resources/assets/create/lang/unfinished/ru_ru.json
index 1f092d472..e9358caf7 100644
--- a/src/generated/resources/assets/create/lang/unfinished/ru_ru.json
+++ b/src/generated/resources/assets/create/lang/unfinished/ru_ru.json
@@ -1,5 +1,5 @@
{
- "_": "Missing Localizations: 557",
+ "_": "Missing Localizations: 654",
"_": "->------------------------] Game Elements [------------------------<-",
@@ -414,6 +414,7 @@
"block.create.zinc_ore": "Цинковая руда",
"entity.create.contraption": "Штуковина",
+ "entity.create.crafting_blueprint": "UNLOCALIZED: Crafting Blueprint",
"entity.create.gantry_contraption": "UNLOCALIZED: Gantry Contraption",
"entity.create.seat": "Сиденье",
"entity.create.stationary_contraption": "Стационарная штуковина",
@@ -444,6 +445,7 @@
"item.create.copper_nugget": "Кусочек меди",
"item.create.copper_sheet": "Медный лист",
"item.create.crafter_slot_cover": "Крышка на слот крафтера",
+ "item.create.crafting_blueprint": "UNLOCALIZED: Crafting Blueprint",
"item.create.crushed_aluminum_ore": "Измельчённая алюминиевая руда",
"item.create.crushed_brass": "Дроблёная латунь",
"item.create.crushed_copper_ore": "Дроблёная медная руда",
@@ -475,6 +477,7 @@
"item.create.integrated_circuit": "Интегральная схема",
"item.create.iron_sheet": "Железный лист",
"item.create.lapis_sheet": "Лазуритовый лист",
+ "item.create.linked_controller": "UNLOCALIZED: Linked Controller",
"item.create.minecart_contraption": "Вагонеточная штуковина",
"item.create.minecart_coupling": "Связыватель вагонеток",
"item.create.polished_rose_quartz": "Полированный розовый кварц",
@@ -672,6 +675,13 @@
"create.block.deployer.damage_source_name": "автономным активатором",
"create.block.cart_assembler.invalid": "Поместите сборщик вагонеток на блок рельс",
+ "create.menu.return": "UNLOCALIZED: Return to Menu",
+ "create.menu.configure": "UNLOCALIZED: Configure...",
+ "create.menu.getting_started": "UNLOCALIZED: Getting Started",
+ "create.menu.project_page": "UNLOCALIZED: Project Page",
+ "create.menu.report_bugs": "UNLOCALIZED: Report Issues",
+ "create.menu.support": "UNLOCALIZED: Support Us",
+
"create.recipe.crushing": "Измельчение",
"create.recipe.milling": "Помол",
"create.recipe.fan_washing": "Массовая промывка",
@@ -1105,6 +1115,20 @@
"create.tooltip.chute.fans_pull_down": "Вентилятор тянет снизу",
"create.tooltip.chute.contains": "Содержит: %1$s x%2$s",
+ "create.linked_controller.bind_mode": "UNLOCALIZED: Bind mode active",
+ "create.linked_controller.press_keybind": "UNLOCALIZED: Press %1$s, %2$s, %3$s, %4$s, %5$s or %6$s, to bind this frequency to the respective key",
+ "create.linked_controller.key_bound": "UNLOCALIZED: Frequency bound to %1$s",
+ "create.linked_controller.frequency_slot_1": "UNLOCALIZED: Keybind: %1$s, Freq. #1",
+ "create.linked_controller.frequency_slot_2": "UNLOCALIZED: Keybind: %1$s, Freq. #2",
+
+ "create.crafting_blueprint.crafting_slot": "UNLOCALIZED: Ingredient Slot",
+ "create.crafting_blueprint.filter_items_viable": "UNLOCALIZED: Advanced filter items are viable",
+ "create.crafting_blueprint.display_slot": "UNLOCALIZED: Display Slot",
+ "create.crafting_blueprint.inferred": "UNLOCALIZED: Inferred from recipe",
+ "create.crafting_blueprint.manually_assigned": "UNLOCALIZED: Manually assigned",
+ "create.crafting_blueprint.secondary_display_slot": "UNLOCALIZED: Secondary Display Slot",
+ "create.crafting_blueprint.optional": "UNLOCALIZED: Optional",
+
"create.hint.hose_pulley.title": "Безграничное снабжение",
"create.hint.hose_pulley": "Целевой водный резервуар считается бесконечным.",
"create.hint.mechanical_arm_no_targets.title": "Нет целей",
@@ -1132,32 +1156,38 @@
"create.command.killTPSCommand.argument.tickTime": "Время тика",
"create.contraption.minecart_contraption_too_big": "UNLOCALIZED: This Cart Contraption seems too big to pick up",
+ "create.contraption.minecart_contraption_illegal_pickup": "UNLOCALIZED: A mystical force is binding this Cart Contraption to the world",
"_": "->------------------------] Subtitles [------------------------<-",
- "create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble",
- "create.subtitle.slime_added": "Намазывание слизи",
+ "create.subtitle.saw_idle": "UNLOCALIZED: Mechanical Saw turns",
"create.subtitle.contraption_disassemble": "UNLOCALIZED: Contraption stops",
- "create.subtitle.wrench_rotate": "UNLOCALIZED: Wrench used",
"create.subtitle.mixing": "UNLOCALIZED: Mixing Noises",
"create.subtitle.mechanical_press_activation_belt": "UNLOCALIZED: Mechanical Press bonks",
"create.subtitle.worldshaper_place": "UNLOCALIZED: Worldshaper zaps",
- "create.subtitle.deployer_polish": "UNLOCALIZED: Deployer applies polish",
"create.subtitle.depot_slide": "UNLOCALIZED: Item slides",
- "create.subtitle.deny": "UNLOCALIZED: Declining boop",
+ "create.subtitle.saw_activate_stone": "UNLOCALIZED: Mechanical Saw activates",
"create.subtitle.blaze_munch": "Всполох радостно жуёт",
- "create.subtitle.schematicannon_launch_block": "Выстрелы схематичной пушки",
"create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps",
- "create.subtitle.copper_armor_equip": "UNLOCALIZED: Diving equipment clinks",
"create.subtitle.schematicannon_finish": "Схематичная пушка закончила работу",
"create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks",
+ "create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
+ "create.subtitle.saw_process": "UNLOCALIZED: Mechanical Saw processes",
+ "create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
+ "create.subtitle.wrench_remove": "UNLOCALIZED: Component breaks",
+ "create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble",
+ "create.subtitle.slime_added": "Намазывание слизи",
+ "create.subtitle.wrench_rotate": "UNLOCALIZED: Wrench used",
+ "create.subtitle.saw_activate_wood": "UNLOCALIZED: Mechanical Saw activates",
+ "create.subtitle.deployer_polish": "UNLOCALIZED: Deployer applies polish",
+ "create.subtitle.deny": "UNLOCALIZED: Declining boop",
+ "create.subtitle.controller_click": "UNLOCALIZED: Controller clicks",
+ "create.subtitle.schematicannon_launch_block": "Выстрелы схематичной пушки",
+ "create.subtitle.copper_armor_equip": "UNLOCALIZED: Diving equipment clinks",
"create.subtitle.mechanical_press_activation": "Механический пресс активирован",
"create.subtitle.contraption_assemble": "UNLOCALIZED: Contraption moves",
- "create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
- "create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
"create.subtitle.crafter_click": "UNLOCALIZED: Crafter clicks",
- "create.subtitle.wrench_remove": "UNLOCALIZED: Component breaks",
"create.subtitle.depot_plop": "UNLOCALIZED: Item lands",
"create.subtitle.confirm": "UNLOCALIZED: Affirmative ding",
@@ -1398,27 +1428,52 @@
"item.create.refined_radiance.tooltip": "REFINED RADIANCE",
"item.create.refined_radiance.tooltip.summary": "Хроматический материал, _добытый_ _из_ _поглощенного_ _света_.",
+ "item.create.refined_radiance.tooltip.condition1": "UNLOCALIZED: Work In Progress",
+ "item.create.refined_radiance.tooltip.behaviour1": "UNLOCALIZED: Usages for this material will be available in a future release.",
"item.create.shadow_steel.tooltip": "SHADOW STEEL",
"item.create.shadow_steel.tooltip.summary": "Хроматический материал, _добытый_ _в_ _пустоте_.",
+ "item.create.shadow_steel.tooltip.condition1": "UNLOCALIZED: Work In Progress",
+ "item.create.shadow_steel.tooltip.behaviour1": "UNLOCALIZED: Usages for this material will be available in a future release.",
+
+ "item.create.linked_controller.tooltip": "UNLOCALIZED: LINKED CONTROLLER",
+ "item.create.linked_controller.tooltip.summary": "UNLOCALIZED: Grants _handheld_ _control_ over _Redstone Link_ frequencies assigned to its _six_ _buttons_.",
+ "item.create.linked_controller.tooltip.condition1": "UNLOCALIZED: R-Click",
+ "item.create.linked_controller.tooltip.behaviour1": "UNLOCALIZED: _Toggles_ the controller. _Movement_ _controls_ are taken over while its active.",
+ "item.create.linked_controller.tooltip.condition2": "UNLOCALIZED: R-Click while Sneaking",
+ "item.create.linked_controller.tooltip.behaviour2": "UNLOCALIZED: Opens the manual _Configuration Interface_.",
+ "item.create.linked_controller.tooltip.condition3": "UNLOCALIZED: R-Click on Redstone Link Receiver",
+ "item.create.linked_controller.tooltip.behaviour3": "UNLOCALIZED: Enables _Bind Mode_, press one of the _six controls_ to bind it to the _Links' Frequency_.",
+
+ "item.create.diving_helmet.tooltip": "UNLOCALIZED: DIVING HELMET",
+ "item.create.diving_helmet.tooltip.summary": "UNLOCALIZED: Together with a _Copper_ _Backtank_, allows the weilder to _breathe_ _underwater_ for an extended amount of time.",
+ "item.create.diving_helmet.tooltip.condition1": "UNLOCALIZED: When Worn",
+ "item.create.diving_helmet.tooltip.behaviour1": "UNLOCALIZED: Provides the _Water Breathing_ effect, slowly draining _Air Pressure_ from the Backtank.",
+
+ "item.create.copper_backtank.tooltip": "UNLOCALIZED: COPPER BACKTANK",
+ "item.create.copper_backtank.tooltip.summary": "UNLOCALIZED: A _Wearable_ _Tank_ for carrying Pressurized Air.",
+ "item.create.copper_backtank.tooltip.condition1": "UNLOCALIZED: When Worn",
+ "item.create.copper_backtank.tooltip.behaviour1": "UNLOCALIZED: Provides _Pressurized_ _Air_ to Equipment that requires it.",
+ "item.create.copper_backtank.tooltip.condition2": "UNLOCALIZED: When placed, Powered by Kinetics",
+ "item.create.copper_backtank.tooltip.behaviour2": "UNLOCALIZED: _Collects_ _Pressurized_ _Air_ at a rate depending on the Rotational Speed.",
+
+ "item.create.diving_boots.tooltip": "UNLOCALIZED: DIVING BOOTS",
+ "item.create.diving_boots.tooltip.summary": "UNLOCALIZED: A pair of _heavy_ _boots_, allowing for better traversal of the Ocean floor.",
+ "item.create.diving_boots.tooltip.condition1": "UNLOCALIZED: When Worn",
+ "item.create.diving_boots.tooltip.behaviour1": "UNLOCALIZED: Weilder _sinks_ _faster_ and _cannot_ _swim_. Grants the ability to _walk_ and _jump_ underwater. Weilder also is no longer affected by _Mechanical_ _Belts_.",
+
+ "item.create.crafting_blueprint.tooltip": "UNLOCALIZED: CRAFTING BLUEPRINT",
+ "item.create.crafting_blueprint.tooltip.summary": "UNLOCALIZED: _Placed_ on a wall, it can be used to _specify_ _ingredient_ _arrangements_ for easier manual crafting. Each slot represents a Recipe.",
+ "item.create.crafting_blueprint.condition1": "UNLOCALIZED: R-Click empty Slot",
+ "item.create.crafting_blueprint.behaviour1": "UNLOCALIZED: Opens a _Crafting_ _menu_ allowing you to _configure_ a _recipe_ and items to display.",
+ "item.create.crafting_blueprint.condition2": "UNLOCALIZED: R-Click configured Slot",
+ "item.create.crafting_blueprint.behaviour2": "UNLOCALIZED: _Applies_ the _configured_ _recipe_ with matching Ingredients found in your _Inventory_. _Sneak_ to craft up to a _Stack_ of items.",
"item.create.minecart_coupling.tooltip": "MINECART COUPLING",
"item.create.minecart_coupling.tooltip.summary": "_Соединяет_ ваши _вагонетки_ или _Перевозочные устройства_ вместе, чтобы создать великолепный поезд.",
"item.create.minecart_coupling.tooltip.condition1": "При использовании на вагонетке",
"item.create.minecart_coupling.tooltip.behaviour1": "_Соединяет_ две вагонетки вместе, пытаясь держать их на _определенной дистанции_ при движении.",
- "create.tooltip.wip": "WIP",
- "create.tooltip.workInProgress": "Работа продолжается!",
- "create.tooltip.randomWipDescription0": "Пожалуйста держите этот предмет подальше от детей!",
- "create.tooltip.randomWipDescription1": "Маленькая панда умирает каждый раз, когда вы используете этот предмет. Каждый. Раз.",
- "create.tooltip.randomWipDescription2": "Используйте на свой страх и риск.",
- "create.tooltip.randomWipDescription3": "Это не тот предмет, который вы ищете, *шевелит пальцами* пожалуйста, ускорьтесь.",
- "create.tooltip.randomWipDescription4": "Этот предмет самоуничтожится через 10 секунд. 10, 9, 8...",
- "create.tooltip.randomWipDescription5": "Поверьте мне, это бесполезно.",
- "create.tooltip.randomWipDescription6": "Используя этот пункт, вы тем самым соглашаетесь с нашим отказом от ответственности и соглашаетесь с его условиями.",
- "create.tooltip.randomWipDescription7": "Этот, возможно, но не для тебя. Как насчет этого?",
- "create.tooltip.randomWipDescription8": "Используя его, вы немедленно пожалеете о своем решении.",
-
"_": "->------------------------] Ponder Content [------------------------<-",
@@ -1594,7 +1649,7 @@
"create.ponder.chain_drive.text_3": "UNLOCALIZED: Any part of the row can be rotated by 90 degrees",
"create.ponder.chain_gearshift.header": "UNLOCALIZED: Controlling rotational speed with Chain Gearshifts",
- "create.ponder.chain_gearshift.text_1": "UNLOCALIZED: Unpowered Chain Gearshifts behave exacly like Chain Drives",
+ "create.ponder.chain_gearshift.text_1": "UNLOCALIZED: Unpowered Chain Gearshifts behave exactly like Chain Drives",
"create.ponder.chain_gearshift.text_2": "UNLOCALIZED: When Powered, the speed transmitted to other Chain Drives in the row is doubled",
"create.ponder.chain_gearshift.text_3": "UNLOCALIZED: Whenever the Powered Gearshift is not at the source, its speed will be halved instead",
"create.ponder.chain_gearshift.text_4": "UNLOCALIZED: In both cases, Chain Drives in the row always run at 2x the speed of the Powered Gearshift",
@@ -1634,6 +1689,8 @@
"create.ponder.cogwheel.text_1": "UNLOCALIZED: Cogwheels will relay rotation to other adjacent cogwheels",
"create.ponder.cogwheel.text_2": "UNLOCALIZED: Neighbouring shafts connected like this will rotate in opposite directions",
+ "create.ponder.creative_fluid_tank.header": "UNLOCALIZED: Creative Fluid Tanks",
+
"create.ponder.creative_motor.header": "UNLOCALIZED: Generating Rotational Force using Creative Motors",
"create.ponder.creative_motor.text_1": "UNLOCALIZED: Creative motors are a compact and configurable source of Rotational Force",
"create.ponder.creative_motor.text_2": "UNLOCALIZED: Scrolling on the back panel changes the RPM of the motors' rotational output",
@@ -1670,6 +1727,12 @@
"create.ponder.deployer_modes.text_1": "UNLOCALIZED: By default, a Deployer imitates a Right-click interaction",
"create.ponder.deployer_modes.text_2": "UNLOCALIZED: Using a Wrench, it can be set to imitate a Left-click instead",
+ "create.ponder.deployer_processing.header": "UNLOCALIZED: Processing Items using Deployers",
+ "create.ponder.deployer_processing.text_1": "UNLOCALIZED: With a fitting held item, Deployers can process items provided beneath them",
+ "create.ponder.deployer_processing.text_2": "UNLOCALIZED: The Input items can be dropped or placed on a Depot under the Deployer",
+ "create.ponder.deployer_processing.text_3": "UNLOCALIZED: When items are provided on a belt...",
+ "create.ponder.deployer_processing.text_4": "UNLOCALIZED: The Deployer will hold and process them automatically",
+
"create.ponder.deployer_redstone.header": "UNLOCALIZED: Controlling Deployers with Redstone",
"create.ponder.deployer_redstone.text_1": "UNLOCALIZED: When powered by Redstone, Deployers will not activate",
"create.ponder.deployer_redstone.text_2": "UNLOCALIZED: Before stopping, the Deployer will finish any started cycles",
@@ -1688,6 +1751,11 @@
"create.ponder.empty_blaze_burner.text_4": "UNLOCALIZED: For Aesthetic purposes, Empty Blaze Burners can also be lit using Flint and Steel",
"create.ponder.empty_blaze_burner.text_5": "UNLOCALIZED: However, these are not suitable for industrial heating",
+ "create.ponder.encased_fluid_pipe.header": "UNLOCALIZED: Encasing Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_1": "UNLOCALIZED: Copper Casing can be used to decorate Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_2": "UNLOCALIZED: Aside from being conceiled, Encased Pipes are locked into their connectivity state",
+ "create.ponder.encased_fluid_pipe.text_3": "UNLOCALIZED: It will no longer react to any neighbouring blocks being added or removed",
+
"create.ponder.fan_direction.header": "UNLOCALIZED: Air flow of Encased Fans",
"create.ponder.fan_direction.text_1": "UNLOCALIZED: Encased Fans use Rotational Force to create an Air Current",
"create.ponder.fan_direction.text_2": "UNLOCALIZED: Strength and Direction of Flow depends on the Rotational Input",
@@ -1706,6 +1774,26 @@
"create.ponder.fan_source.text_1": "UNLOCALIZED: Fans facing down into a source of heat can provide Rotational Force",
"create.ponder.fan_source.text_2": "UNLOCALIZED: When given a Redstone Signal, the Fans will start providing power",
+ "create.ponder.fluid_pipe_flow.header": "UNLOCALIZED: Moving Fluids using Copper Pipes",
+ "create.ponder.fluid_pipe_flow.text_1": "UNLOCALIZED: Fluid Pipes can connect two or more fluid sources and targets",
+ "create.ponder.fluid_pipe_flow.text_2": "UNLOCALIZED: Using a wrench, a straight pipe segment can be given a window",
+ "create.ponder.fluid_pipe_flow.text_3": "UNLOCALIZED: Windowed pipes will not connect to any other adjacent pipe segments",
+ "create.ponder.fluid_pipe_flow.text_4": "UNLOCALIZED: Powered by Mechanical Pumps, the Pipes can transport Fluids",
+ "create.ponder.fluid_pipe_flow.text_5": "UNLOCALIZED: No fluid is being extracted at first",
+ "create.ponder.fluid_pipe_flow.text_6": "UNLOCALIZED: Once the flow connects them, the endpoints gradually transfer their contents",
+ "create.ponder.fluid_pipe_flow.text_7": "UNLOCALIZED: Thus, the Pipe blocks themselves never 'physically' contain any fluid",
+
+ "create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers",
+ "create.ponder.fluid_pipe_interaction.text_1": "UNLOCALIZED: Endpoints of a pipe network can interact with a variety of blocks",
+ "create.ponder.fluid_pipe_interaction.text_2": "UNLOCALIZED: Any block with fluid storage capabilities can be filled or drained",
+ "create.ponder.fluid_pipe_interaction.text_3": "UNLOCALIZED: Source blocks right in front of an open end can be picked up...",
+ "create.ponder.fluid_pipe_interaction.text_4": "UNLOCALIZED: ...while spilling into empty spaces can create fluid sources",
+ "create.ponder.fluid_pipe_interaction.text_5": "UNLOCALIZED: Pipes can also extract fluids from a handful of other blocks directly",
+
+ "create.ponder.fluid_tank_sizes.header": "UNLOCALIZED: Dimensions of a Fluid tank",
+
+ "create.ponder.fluid_tank_storage.header": "UNLOCALIZED: Storing Fluids in Fluid Tanks",
+
"create.ponder.flywheel.header": "UNLOCALIZED: Generating Rotational Force using the Flywheel",
"create.ponder.flywheel.text_1": "UNLOCALIZED: Flywheels are required for generating rotational force with the Furnace Engine",
"create.ponder.flywheel.text_2": "UNLOCALIZED: The provided Rotational Force has a very large stress capacity",
@@ -1779,6 +1867,14 @@
"create.ponder.hand_crank.text_3": "UNLOCALIZED: Its conveyed speed is relatively high",
"create.ponder.hand_crank.text_4": "UNLOCALIZED: Sneak and Hold Right-Click to rotate it Clockwise",
+ "create.ponder.hose_pulley.header": "UNLOCALIZED: Source Filling and Draining using Hose Pulleys",
+
+ "create.ponder.hose_pulley_infinite.header": "UNLOCALIZED: Passively Filling and Draining large bodies of Fluid",
+
+ "create.ponder.hose_pulley_level.header": "UNLOCALIZED: Fill and Drain level of Hose Pulleys",
+
+ "create.ponder.item_drain.header": "UNLOCALIZED: Emptying Fluid Containers using Item Drains",
+
"create.ponder.large_cogwheel.header": "UNLOCALIZED: Relaying rotational force using Large Cogwheels",
"create.ponder.large_cogwheel.text_1": "UNLOCALIZED: Large cogwheels can connect to each other at right angles",
"create.ponder.large_cogwheel.text_2": "UNLOCALIZED: It will help relaying conveyed speed to other axes of rotation",
@@ -1901,6 +1997,10 @@
"create.ponder.mechanical_press_compacting.text_3": "UNLOCALIZED: Some of those recipes may require the heat of a Blaze Burner",
"create.ponder.mechanical_press_compacting.text_4": "UNLOCALIZED: The filter slot can be used in case two recipes are conflicting.",
+ "create.ponder.mechanical_pump_flow.header": "UNLOCALIZED: Fluid Transportation using Mechanical Pumps",
+
+ "create.ponder.mechanical_pump_speed.header": "UNLOCALIZED: Throughput of Mechanical Pumps",
+
"create.ponder.mechanical_saw_breaker.header": "UNLOCALIZED: Cutting Trees with the Mechanical Saw",
"create.ponder.mechanical_saw_breaker.text_1": "UNLOCALIZED: When given Rotational Force, a Mechanical Saw will cut trees directly in front of it",
"create.ponder.mechanical_saw_breaker.text_2": "UNLOCALIZED: In order to cut the tree fully, the Saw has to break the last block connecting it to the ground",
@@ -1931,6 +2031,10 @@
"create.ponder.piston_pole.text_1": "UNLOCALIZED: Without attached Poles, a Mechanical Piston cannot move",
"create.ponder.piston_pole.text_2": "UNLOCALIZED: The Length of pole added at its back determines the Extension Range",
+ "create.ponder.portable_fluid_interface.header": "UNLOCALIZED: Contraption Fluid Exchange",
+
+ "create.ponder.portable_fluid_interface_redstone.header": "UNLOCALIZED: Redstone Control",
+
"create.ponder.portable_storage_interface.header": "UNLOCALIZED: Contraption Storage Exchange",
"create.ponder.portable_storage_interface.text_1": "UNLOCALIZED: Inventories on moving contraptions cannot be accessed by players.",
"create.ponder.portable_storage_interface.text_2": "UNLOCALIZED: This component can interact with storage without the need to stop the contraption.",
@@ -2028,11 +2132,17 @@
"create.ponder.smart_chute.text_3": "UNLOCALIZED: Use the Mouse Wheel to specify the extracted stack size",
"create.ponder.smart_chute.text_4": "UNLOCALIZED: Redstone power will prevent Smart Chutes from acting.",
+ "create.ponder.smart_pipe.header": "UNLOCALIZED: Controlling Fluid flow using Smart Pipes",
+
"create.ponder.speedometer.header": "UNLOCALIZED: Monitoring Kinetic information using the Speedometer",
"create.ponder.speedometer.text_1": "UNLOCALIZED: The Speedometer displays the current Speed of the attached components",
"create.ponder.speedometer.text_2": "UNLOCALIZED: When wearing Engineers' Goggles, the player can get more detailed information from the Gauge",
"create.ponder.speedometer.text_3": "UNLOCALIZED: Comparators can emit analog Restone Signals relative to the Speedometer's measurements",
+ "create.ponder.spout_access.header": "UNLOCALIZED: Moving fluids into Spouts",
+
+ "create.ponder.spout_filling.header": "UNLOCALIZED: Filling Items using a Spout",
+
"create.ponder.stabilized_bearings.header": "UNLOCALIZED: Stabilized Contraptions",
"create.ponder.stabilized_bearings.text_1": "UNLOCALIZED: Whenever Mechanical Bearings are themselves part of a moving Structure..",
"create.ponder.stabilized_bearings.text_2": "UNLOCALIZED: ..they will attempt to keep themselves upright",
@@ -2064,6 +2174,8 @@
"create.ponder.valve_handle.text_4": "UNLOCALIZED: Sneak and Hold Right-Click to rotate it Clockwise",
"create.ponder.valve_handle.text_5": "UNLOCALIZED: Valve handles can be dyed for aesthetic purposes",
+ "create.ponder.valve_pipe.header": "UNLOCALIZED: Controlling Fluid flow using Valves",
+
"create.ponder.water_wheel.header": "UNLOCALIZED: Generating Rotational Force using Water Wheels",
"create.ponder.water_wheel.text_1": "UNLOCALIZED: Water Wheels draw force from adjacent Water Currents",
"create.ponder.water_wheel.text_2": "UNLOCALIZED: The more faces are powered, the faster the Water Wheel will rotate",
diff --git a/src/generated/resources/assets/create/lang/unfinished/zh_cn.json b/src/generated/resources/assets/create/lang/unfinished/zh_cn.json
index 513325f0d..dd31aeb2c 100644
--- a/src/generated/resources/assets/create/lang/unfinished/zh_cn.json
+++ b/src/generated/resources/assets/create/lang/unfinished/zh_cn.json
@@ -1,5 +1,5 @@
{
- "_": "Missing Localizations: 43",
+ "_": "Missing Localizations: 140",
"_": "->------------------------] Game Elements [------------------------<-",
@@ -414,6 +414,7 @@
"block.create.zinc_ore": "锌矿石",
"entity.create.contraption": "装置",
+ "entity.create.crafting_blueprint": "UNLOCALIZED: Crafting Blueprint",
"entity.create.gantry_contraption": "起重机装置",
"entity.create.seat": "坐垫",
"entity.create.stationary_contraption": "固定装置",
@@ -444,6 +445,7 @@
"item.create.copper_nugget": "铜粒",
"item.create.copper_sheet": "铜板",
"item.create.crafter_slot_cover": "合成器盖板",
+ "item.create.crafting_blueprint": "UNLOCALIZED: Crafting Blueprint",
"item.create.crushed_aluminum_ore": "粉碎铝矿石",
"item.create.crushed_brass": "粉碎黄铜",
"item.create.crushed_copper_ore": "粉碎铜矿石",
@@ -475,6 +477,7 @@
"item.create.integrated_circuit": "集成电路板",
"item.create.iron_sheet": "铁板",
"item.create.lapis_sheet": "青金石板",
+ "item.create.linked_controller": "UNLOCALIZED: Linked Controller",
"item.create.minecart_contraption": "装配过的矿车",
"item.create.minecart_coupling": "矿车连轴器",
"item.create.polished_rose_quartz": "磨制玫瑰石英",
@@ -672,6 +675,13 @@
"create.block.deployer.damage_source_name": "二五仔机械手",
"create.block.cart_assembler.invalid": "请将矿车装配器放置在铁轨上",
+ "create.menu.return": "UNLOCALIZED: Return to Menu",
+ "create.menu.configure": "UNLOCALIZED: Configure...",
+ "create.menu.getting_started": "UNLOCALIZED: Getting Started",
+ "create.menu.project_page": "UNLOCALIZED: Project Page",
+ "create.menu.report_bugs": "UNLOCALIZED: Report Issues",
+ "create.menu.support": "UNLOCALIZED: Support Us",
+
"create.recipe.crushing": "粉碎",
"create.recipe.milling": "研磨",
"create.recipe.fan_washing": "批量洗涤",
@@ -1105,6 +1115,20 @@
"create.tooltip.chute.fans_pull_down": "鼓风机从下方进行吸引",
"create.tooltip.chute.contains": "内含物品:%1$s x%2$s",
+ "create.linked_controller.bind_mode": "UNLOCALIZED: Bind mode active",
+ "create.linked_controller.press_keybind": "UNLOCALIZED: Press %1$s, %2$s, %3$s, %4$s, %5$s or %6$s, to bind this frequency to the respective key",
+ "create.linked_controller.key_bound": "UNLOCALIZED: Frequency bound to %1$s",
+ "create.linked_controller.frequency_slot_1": "UNLOCALIZED: Keybind: %1$s, Freq. #1",
+ "create.linked_controller.frequency_slot_2": "UNLOCALIZED: Keybind: %1$s, Freq. #2",
+
+ "create.crafting_blueprint.crafting_slot": "UNLOCALIZED: Ingredient Slot",
+ "create.crafting_blueprint.filter_items_viable": "UNLOCALIZED: Advanced filter items are viable",
+ "create.crafting_blueprint.display_slot": "UNLOCALIZED: Display Slot",
+ "create.crafting_blueprint.inferred": "UNLOCALIZED: Inferred from recipe",
+ "create.crafting_blueprint.manually_assigned": "UNLOCALIZED: Manually assigned",
+ "create.crafting_blueprint.secondary_display_slot": "UNLOCALIZED: Secondary Display Slot",
+ "create.crafting_blueprint.optional": "UNLOCALIZED: Optional",
+
"create.hint.hose_pulley.title": "无限供应",
"create.hint.hose_pulley": "目标液体对象被视为无限量的。",
"create.hint.mechanical_arm_no_targets.title": "没有目标",
@@ -1132,32 +1156,38 @@
"create.command.killTPSCommand.argument.tickTime": "tickTime",
"create.contraption.minecart_contraption_too_big": "这一矿车装置似乎太大了,无法变为拾捡状态",
+ "create.contraption.minecart_contraption_illegal_pickup": "UNLOCALIZED: A mystical force is binding this Cart Contraption to the world",
"_": "->------------------------] Subtitles [------------------------<-",
- "create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble",
- "create.subtitle.slime_added": "粘液:挤碎声",
+ "create.subtitle.saw_idle": "UNLOCALIZED: Mechanical Saw turns",
"create.subtitle.contraption_disassemble": "UNLOCALIZED: Contraption stops",
- "create.subtitle.wrench_rotate": "UNLOCALIZED: Wrench used",
"create.subtitle.mixing": "UNLOCALIZED: Mixing Noises",
"create.subtitle.mechanical_press_activation_belt": "UNLOCALIZED: Mechanical Press bonks",
"create.subtitle.worldshaper_place": "UNLOCALIZED: Worldshaper zaps",
- "create.subtitle.deployer_polish": "UNLOCALIZED: Deployer applies polish",
"create.subtitle.depot_slide": "UNLOCALIZED: Item slides",
- "create.subtitle.deny": "UNLOCALIZED: Declining boop",
+ "create.subtitle.saw_activate_stone": "UNLOCALIZED: Mechanical Saw activates",
"create.subtitle.blaze_munch": "烈焰人:咀嚼",
- "create.subtitle.schematicannon_launch_block": "蓝图加农炮:发射",
"create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps",
- "create.subtitle.copper_armor_equip": "UNLOCALIZED: Diving equipment clinks",
"create.subtitle.schematicannon_finish": "蓝图加农炮:叮",
"create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks",
+ "create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
+ "create.subtitle.saw_process": "UNLOCALIZED: Mechanical Saw processes",
+ "create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
+ "create.subtitle.wrench_remove": "UNLOCALIZED: Component breaks",
+ "create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble",
+ "create.subtitle.slime_added": "粘液:挤碎声",
+ "create.subtitle.wrench_rotate": "UNLOCALIZED: Wrench used",
+ "create.subtitle.saw_activate_wood": "UNLOCALIZED: Mechanical Saw activates",
+ "create.subtitle.deployer_polish": "UNLOCALIZED: Deployer applies polish",
+ "create.subtitle.deny": "UNLOCALIZED: Declining boop",
+ "create.subtitle.controller_click": "UNLOCALIZED: Controller clicks",
+ "create.subtitle.schematicannon_launch_block": "蓝图加农炮:发射",
+ "create.subtitle.copper_armor_equip": "UNLOCALIZED: Diving equipment clinks",
"create.subtitle.mechanical_press_activation": "辊压机:工作中",
"create.subtitle.contraption_assemble": "UNLOCALIZED: Contraption moves",
- "create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
- "create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
"create.subtitle.crafter_click": "UNLOCALIZED: Crafter clicks",
- "create.subtitle.wrench_remove": "UNLOCALIZED: Component breaks",
"create.subtitle.depot_plop": "UNLOCALIZED: Item lands",
"create.subtitle.confirm": "UNLOCALIZED: Affirmative ding",
@@ -1398,27 +1428,52 @@
"item.create.refined_radiance.tooltip": "光辉石",
"item.create.refined_radiance.tooltip.summary": "一种用_光辉_锻造的化合物材料。",
+ "item.create.refined_radiance.tooltip.condition1": "UNLOCALIZED: Work In Progress",
+ "item.create.refined_radiance.tooltip.behaviour1": "UNLOCALIZED: Usages for this material will be available in a future release.",
"item.create.shadow_steel.tooltip": "暗影钢",
"item.create.shadow_steel.tooltip.summary": "一种用_虚空_锻造的化合物材料。",
+ "item.create.shadow_steel.tooltip.condition1": "UNLOCALIZED: Work In Progress",
+ "item.create.shadow_steel.tooltip.behaviour1": "UNLOCALIZED: Usages for this material will be available in a future release.",
+
+ "item.create.linked_controller.tooltip": "UNLOCALIZED: LINKED CONTROLLER",
+ "item.create.linked_controller.tooltip.summary": "UNLOCALIZED: Grants _handheld_ _control_ over _Redstone Link_ frequencies assigned to its _six_ _buttons_.",
+ "item.create.linked_controller.tooltip.condition1": "UNLOCALIZED: R-Click",
+ "item.create.linked_controller.tooltip.behaviour1": "UNLOCALIZED: _Toggles_ the controller. _Movement_ _controls_ are taken over while its active.",
+ "item.create.linked_controller.tooltip.condition2": "UNLOCALIZED: R-Click while Sneaking",
+ "item.create.linked_controller.tooltip.behaviour2": "UNLOCALIZED: Opens the manual _Configuration Interface_.",
+ "item.create.linked_controller.tooltip.condition3": "UNLOCALIZED: R-Click on Redstone Link Receiver",
+ "item.create.linked_controller.tooltip.behaviour3": "UNLOCALIZED: Enables _Bind Mode_, press one of the _six controls_ to bind it to the _Links' Frequency_.",
+
+ "item.create.diving_helmet.tooltip": "UNLOCALIZED: DIVING HELMET",
+ "item.create.diving_helmet.tooltip.summary": "UNLOCALIZED: Together with a _Copper_ _Backtank_, allows the weilder to _breathe_ _underwater_ for an extended amount of time.",
+ "item.create.diving_helmet.tooltip.condition1": "UNLOCALIZED: When Worn",
+ "item.create.diving_helmet.tooltip.behaviour1": "UNLOCALIZED: Provides the _Water Breathing_ effect, slowly draining _Air Pressure_ from the Backtank.",
+
+ "item.create.copper_backtank.tooltip": "UNLOCALIZED: COPPER BACKTANK",
+ "item.create.copper_backtank.tooltip.summary": "UNLOCALIZED: A _Wearable_ _Tank_ for carrying Pressurized Air.",
+ "item.create.copper_backtank.tooltip.condition1": "UNLOCALIZED: When Worn",
+ "item.create.copper_backtank.tooltip.behaviour1": "UNLOCALIZED: Provides _Pressurized_ _Air_ to Equipment that requires it.",
+ "item.create.copper_backtank.tooltip.condition2": "UNLOCALIZED: When placed, Powered by Kinetics",
+ "item.create.copper_backtank.tooltip.behaviour2": "UNLOCALIZED: _Collects_ _Pressurized_ _Air_ at a rate depending on the Rotational Speed.",
+
+ "item.create.diving_boots.tooltip": "UNLOCALIZED: DIVING BOOTS",
+ "item.create.diving_boots.tooltip.summary": "UNLOCALIZED: A pair of _heavy_ _boots_, allowing for better traversal of the Ocean floor.",
+ "item.create.diving_boots.tooltip.condition1": "UNLOCALIZED: When Worn",
+ "item.create.diving_boots.tooltip.behaviour1": "UNLOCALIZED: Weilder _sinks_ _faster_ and _cannot_ _swim_. Grants the ability to _walk_ and _jump_ underwater. Weilder also is no longer affected by _Mechanical_ _Belts_.",
+
+ "item.create.crafting_blueprint.tooltip": "UNLOCALIZED: CRAFTING BLUEPRINT",
+ "item.create.crafting_blueprint.tooltip.summary": "UNLOCALIZED: _Placed_ on a wall, it can be used to _specify_ _ingredient_ _arrangements_ for easier manual crafting. Each slot represents a Recipe.",
+ "item.create.crafting_blueprint.condition1": "UNLOCALIZED: R-Click empty Slot",
+ "item.create.crafting_blueprint.behaviour1": "UNLOCALIZED: Opens a _Crafting_ _menu_ allowing you to _configure_ a _recipe_ and items to display.",
+ "item.create.crafting_blueprint.condition2": "UNLOCALIZED: R-Click configured Slot",
+ "item.create.crafting_blueprint.behaviour2": "UNLOCALIZED: _Applies_ the _configured_ _recipe_ with matching Ingredients found in your _Inventory_. _Sneak_ to craft up to a _Stack_ of items.",
"item.create.minecart_coupling.tooltip": "矿车连轴器",
"item.create.minecart_coupling.tooltip.summary": "将多个_矿车_或运输结构链接在一起,构成雄伟的火车。",
"item.create.minecart_coupling.tooltip.condition1": "作用与矿车时",
"item.create.minecart_coupling.tooltip.behaviour1": "将两个矿车耦合在一起,在移动时将它们保持_恒定的距离_。",
- "create.tooltip.wip": "WIP",
- "create.tooltip.workInProgress": "这东西还没有做完!",
- "create.tooltip.randomWipDescription0": "别把这玩意给熊孩子",
- "create.tooltip.randomWipDescription1": "每次你使用这个东西,都会让一只无辜的熊猫丢掉性命,每!一!次!",
- "create.tooltip.randomWipDescription2": "使用后果自负",
- "create.tooltip.randomWipDescription3": "(摇手指)这可不是你在找的物品,走开吧",
- "create.tooltip.randomWipDescription4": "自爆模式已启动,10,9,8..。",
- "create.tooltip.randomWipDescription5": "相信我,你现在已经没有回头路了。",
- "create.tooltip.randomWipDescription6": "如果你使用这个东西,那么本作者与它造成的任何后果没有责任。",
- "create.tooltip.randomWipDescription7": "这玩意不是给你用的,换个吧",
- "create.tooltip.randomWipDescription8": "试试就逝世。",
-
"_": "->------------------------] Ponder Content [------------------------<-",
@@ -1634,6 +1689,8 @@
"create.ponder.cogwheel.text_1": "齿轮会将动力传递至临近的齿轮",
"create.ponder.cogwheel.text_2": "以此方式连接的齿轮,旋转方向相反",
+ "create.ponder.creative_fluid_tank.header": "UNLOCALIZED: Creative Fluid Tanks",
+
"create.ponder.creative_motor.header": "使用创造马达发生旋转",
"create.ponder.creative_motor.text_1": "创造马达不仅能够手动调配输出旋转力,而且体积相当小巧",
"create.ponder.creative_motor.text_2": "对其背侧面板滚动滑轮,可以改变马达的输出旋转转速",
@@ -1670,6 +1727,12 @@
"create.ponder.deployer_modes.text_1": "在默认情况下,机械手模仿玩家的右击交互",
"create.ponder.deployer_modes.text_2": "使用扳手可以将模式调整为模仿玩家的左击交互",
+ "create.ponder.deployer_processing.header": "UNLOCALIZED: Processing Items using Deployers",
+ "create.ponder.deployer_processing.text_1": "UNLOCALIZED: With a fitting held item, Deployers can process items provided beneath them",
+ "create.ponder.deployer_processing.text_2": "UNLOCALIZED: The Input items can be dropped or placed on a Depot under the Deployer",
+ "create.ponder.deployer_processing.text_3": "UNLOCALIZED: When items are provided on a belt...",
+ "create.ponder.deployer_processing.text_4": "UNLOCALIZED: The Deployer will hold and process them automatically",
+
"create.ponder.deployer_redstone.header": "使用红石控制机械手",
"create.ponder.deployer_redstone.text_1": "当被红石充能时,机械手会停止工作",
"create.ponder.deployer_redstone.text_2": "在停止工作前,机械手会完成当前正在进行的工作周期",
@@ -1688,6 +1751,11 @@
"create.ponder.empty_blaze_burner.text_4": "如果是为了美观,空的烈焰人燃烧室也可以被打火石点燃",
"create.ponder.empty_blaze_burner.text_5": "但是,这样的热源不足以给机器提加工供足够的热量",
+ "create.ponder.encased_fluid_pipe.header": "UNLOCALIZED: Encasing Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_1": "UNLOCALIZED: Copper Casing can be used to decorate Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_2": "UNLOCALIZED: Aside from being conceiled, Encased Pipes are locked into their connectivity state",
+ "create.ponder.encased_fluid_pipe.text_3": "UNLOCALIZED: It will no longer react to any neighbouring blocks being added or removed",
+
"create.ponder.fan_direction.header": "鼓风机的气流",
"create.ponder.fan_direction.text_1": "鼓风机使用旋转力来制造气流",
"create.ponder.fan_direction.text_2": "流速以及方向由所接收旋转力的强弱以及方向而定",
@@ -1706,6 +1774,26 @@
"create.ponder.fan_source.text_1": "如鼓风机的扇叶向下朝着热源放置,鼓风机可以借此产生旋转力",
"create.ponder.fan_source.text_2": "当鼓风机接受红石信号后,它便会向外供给旋转力",
+ "create.ponder.fluid_pipe_flow.header": "UNLOCALIZED: Moving Fluids using Copper Pipes",
+ "create.ponder.fluid_pipe_flow.text_1": "UNLOCALIZED: Fluid Pipes can connect two or more fluid sources and targets",
+ "create.ponder.fluid_pipe_flow.text_2": "UNLOCALIZED: Using a wrench, a straight pipe segment can be given a window",
+ "create.ponder.fluid_pipe_flow.text_3": "UNLOCALIZED: Windowed pipes will not connect to any other adjacent pipe segments",
+ "create.ponder.fluid_pipe_flow.text_4": "UNLOCALIZED: Powered by Mechanical Pumps, the Pipes can transport Fluids",
+ "create.ponder.fluid_pipe_flow.text_5": "UNLOCALIZED: No fluid is being extracted at first",
+ "create.ponder.fluid_pipe_flow.text_6": "UNLOCALIZED: Once the flow connects them, the endpoints gradually transfer their contents",
+ "create.ponder.fluid_pipe_flow.text_7": "UNLOCALIZED: Thus, the Pipe blocks themselves never 'physically' contain any fluid",
+
+ "create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers",
+ "create.ponder.fluid_pipe_interaction.text_1": "UNLOCALIZED: Endpoints of a pipe network can interact with a variety of blocks",
+ "create.ponder.fluid_pipe_interaction.text_2": "UNLOCALIZED: Any block with fluid storage capabilities can be filled or drained",
+ "create.ponder.fluid_pipe_interaction.text_3": "UNLOCALIZED: Source blocks right in front of an open end can be picked up...",
+ "create.ponder.fluid_pipe_interaction.text_4": "UNLOCALIZED: ...while spilling into empty spaces can create fluid sources",
+ "create.ponder.fluid_pipe_interaction.text_5": "UNLOCALIZED: Pipes can also extract fluids from a handful of other blocks directly",
+
+ "create.ponder.fluid_tank_sizes.header": "UNLOCALIZED: Dimensions of a Fluid tank",
+
+ "create.ponder.fluid_tank_storage.header": "UNLOCALIZED: Storing Fluids in Fluid Tanks",
+
"create.ponder.flywheel.header": "使用飞轮来产生旋转力",
"create.ponder.flywheel.text_1": "飞轮和熔炉引擎必须配套使用,方可产生旋转力",
"create.ponder.flywheel.text_2": "如此产生的旋转力具有非常大的应力值",
@@ -1779,6 +1867,14 @@
"create.ponder.hand_crank.text_3": "它产生的转速相对较高",
"create.ponder.hand_crank.text_4": "潜行长按右键可以顺时针旋转它",
+ "create.ponder.hose_pulley.header": "UNLOCALIZED: Source Filling and Draining using Hose Pulleys",
+
+ "create.ponder.hose_pulley_infinite.header": "UNLOCALIZED: Passively Filling and Draining large bodies of Fluid",
+
+ "create.ponder.hose_pulley_level.header": "UNLOCALIZED: Fill and Drain level of Hose Pulleys",
+
+ "create.ponder.item_drain.header": "UNLOCALIZED: Emptying Fluid Containers using Item Drains",
+
"create.ponder.large_cogwheel.header": "使用大齿轮传递旋转力",
"create.ponder.large_cogwheel.text_1": "大齿轮可以以特定的角度相互连接",
"create.ponder.large_cogwheel.text_2": "可以利用大齿轮变更旋转轴向",
@@ -1901,6 +1997,10 @@
"create.ponder.mechanical_press_compacting.text_3": "一些配方可能需要烈焰人燃烧室提供热量",
"create.ponder.mechanical_press_compacting.text_4": "过滤槽可用于解决两个配方相互冲突的情况",
+ "create.ponder.mechanical_pump_flow.header": "UNLOCALIZED: Fluid Transportation using Mechanical Pumps",
+
+ "create.ponder.mechanical_pump_speed.header": "UNLOCALIZED: Throughput of Mechanical Pumps",
+
"create.ponder.mechanical_saw_breaker.header": "使用动力锯伐木",
"create.ponder.mechanical_saw_breaker.text_1": "向其通入旋转力后,动力锯可以直接砍伐掉它面前的树木",
"create.ponder.mechanical_saw_breaker.text_2": "想要一次性砍掉整棵树,锯子必须破坏掉树与地面连接的最后一个方块",
@@ -1931,6 +2031,10 @@
"create.ponder.piston_pole.text_1": "若无相接的延长杆,动力活塞无法移动其他方块",
"create.ponder.piston_pole.text_2": "在其背面安装的延长杆长度,决定了活塞的推动范围",
+ "create.ponder.portable_fluid_interface.header": "UNLOCALIZED: Contraption Fluid Exchange",
+
+ "create.ponder.portable_fluid_interface_redstone.header": "UNLOCALIZED: Redstone Control",
+
"create.ponder.portable_storage_interface.header": "装置存储交换",
"create.ponder.portable_storage_interface.text_1": "玩家无法与运动装置内的存储空间进行交互",
"create.ponder.portable_storage_interface.text_2": "这一组件可以在不停止装置的情况下与装置内的存储空间进行交互",
@@ -2028,11 +2132,17 @@
"create.ponder.smart_chute.text_3": "使用鼠标滚轮可以指定被过滤的物品数量",
"create.ponder.smart_chute.text_4": "通入红石信号,智能溜槽将会完全暂停工作",
+ "create.ponder.smart_pipe.header": "UNLOCALIZED: Controlling Fluid flow using Smart Pipes",
+
"create.ponder.speedometer.header": "使用速度表来监测转速",
"create.ponder.speedometer.text_1": "速度表能显示相接组件的转速",
"create.ponder.speedometer.text_2": "当佩戴工程师护目镜时,可以看到仪表所显示的更详细的数据",
"create.ponder.speedometer.text_3": "红石比较器可以根据速度表的数值输出不同强弱的红石信号",
+ "create.ponder.spout_access.header": "UNLOCALIZED: Moving fluids into Spouts",
+
+ "create.ponder.spout_filling.header": "UNLOCALIZED: Filling Items using a Spout",
+
"create.ponder.stabilized_bearings.header": "装置固定朝向",
"create.ponder.stabilized_bearings.text_1": "当动力轴承在结构被带动时...",
"create.ponder.stabilized_bearings.text_2": "...它会确保它转盘的垂直朝向不变",
@@ -2064,6 +2174,8 @@
"create.ponder.valve_handle.text_4": "潜行右击可使它顺时针旋转",
"create.ponder.valve_handle.text_5": "可以通过染色来美化阀门手轮",
+ "create.ponder.valve_pipe.header": "UNLOCALIZED: Controlling Fluid flow using Valves",
+
"create.ponder.water_wheel.header": "使用水车产生旋转力",
"create.ponder.water_wheel.text_1": "水车利用临近的水流来进行应力发生",
"create.ponder.water_wheel.text_2": "水车接触水流的面越多,它的转速越高",
diff --git a/src/generated/resources/assets/create/lang/unfinished/zh_tw.json b/src/generated/resources/assets/create/lang/unfinished/zh_tw.json
index 8b3a4f40a..af9c043ad 100644
--- a/src/generated/resources/assets/create/lang/unfinished/zh_tw.json
+++ b/src/generated/resources/assets/create/lang/unfinished/zh_tw.json
@@ -1,5 +1,5 @@
{
- "_": "Missing Localizations: 662",
+ "_": "Missing Localizations: 133",
"_": "->------------------------] Game Elements [------------------------<-",
@@ -165,8 +165,8 @@
"block.create.gabbro_cobblestone_stairs": "碎輝長岩樓梯",
"block.create.gabbro_cobblestone_wall": "碎輝長岩牆",
"block.create.gabbro_pillar": "豎紋輝長岩",
- "block.create.gantry_carriage": "UNLOCALIZED: Gantry Carriage",
- "block.create.gantry_shaft": "UNLOCALIZED: Gantry Shaft",
+ "block.create.gantry_carriage": "門式起重機",
+ "block.create.gantry_shaft": "門式起重機滑道",
"block.create.gearbox": "齒輪箱",
"block.create.gearshift": "變速箱",
"block.create.glass_fluid_pipe": "玻璃液體管道",
@@ -373,15 +373,15 @@
"block.create.sequenced_gearshift": "可程式化齒輪箱",
"block.create.shadow_steel_casing": "暗影機殼",
"block.create.shaft": "傳動軸",
- "block.create.smart_chute": "UNLOCALIZED: Smart Chute",
+ "block.create.smart_chute": "智慧滑道",
"block.create.smart_fluid_pipe": "智慧液體管道",
"block.create.speedometer": "速度計",
"block.create.spout": "液體灌注器",
"block.create.spruce_window": "雲杉木窗戶",
"block.create.spruce_window_pane": "雲杉木窗戶片",
- "block.create.sticker": "UNLOCALIZED: Sticker",
+ "block.create.sticker": "方塊黏著器",
"block.create.sticky_mechanical_piston": "黏性機械活塞",
- "block.create.stockpile_switch": "存量檢測器",
+ "block.create.stockpile_switch": "存量偵測器",
"block.create.stressometer": "動能錶",
"block.create.tiled_glass": "十字玻璃窗",
"block.create.tiled_glass_pane": "十字玻璃窗戶片",
@@ -401,7 +401,7 @@
"block.create.weathered_limestone_cobblestone_stairs": "碎風化石灰岩樓梯",
"block.create.weathered_limestone_cobblestone_wall": "碎風化石灰岩牆",
"block.create.weathered_limestone_pillar": "豎紋風化石灰岩",
- "block.create.weighted_ejector": "UNLOCALIZED: Weighted Ejector",
+ "block.create.weighted_ejector": "物品彈射器",
"block.create.white_sail": "白色風帆",
"block.create.white_seat": "白色坐墊",
"block.create.white_valve_handle": "白色閥門開關",
@@ -414,7 +414,8 @@
"block.create.zinc_ore": "鋅礦石",
"entity.create.contraption": "結構",
- "entity.create.gantry_contraption": "UNLOCALIZED: Gantry Contraption",
+ "entity.create.crafting_blueprint": "UNLOCALIZED: Crafting Blueprint",
+ "entity.create.gantry_contraption": "門式結構",
"entity.create.seat": "坐墊",
"entity.create.stationary_contraption": "固定結構",
"entity.create.super_glue": "強力膠",
@@ -436,7 +437,7 @@
"item.create.builders_tea": "工人茶",
"item.create.chest_minecart_contraption": "裝修過的機械礦車",
"item.create.chocolate_bucket": "巧克力桶",
- "item.create.chocolate_glazed_berries": "UNLOCALIZED: Chocolate Glazed Berries",
+ "item.create.chocolate_glazed_berries": "巧克力甜莓",
"item.create.chromatic_compound": "異彩化合物",
"item.create.cinder_flour": "地獄麵粉",
"item.create.copper_backtank": "UNLOCALIZED: Copper Backtank",
@@ -444,6 +445,7 @@
"item.create.copper_nugget": "銅粒",
"item.create.copper_sheet": "銅板",
"item.create.crafter_slot_cover": "合成器蓋板",
+ "item.create.crafting_blueprint": "UNLOCALIZED: Crafting Blueprint",
"item.create.crushed_aluminum_ore": "碎狀鋁礦石",
"item.create.crushed_brass": "碎狀黃銅",
"item.create.crushed_copper_ore": "碎狀銅礦石",
@@ -471,10 +473,11 @@
"item.create.golden_sheet": "金板",
"item.create.handheld_worldshaper": "地形雕塑器",
"item.create.honey_bucket": "蜂蜜桶",
- "item.create.honeyed_apple": "UNLOCALIZED: Honeyed Apple",
+ "item.create.honeyed_apple": "蜂蜜蘋果",
"item.create.integrated_circuit": "IC板",
"item.create.iron_sheet": "鐵板",
"item.create.lapis_sheet": "青金石板",
+ "item.create.linked_controller": "UNLOCALIZED: Linked Controller",
"item.create.minecart_contraption": "裝修過的礦車",
"item.create.minecart_coupling": "礦車連結器",
"item.create.polished_rose_quartz": "磨製玫瑰石英",
@@ -488,13 +491,13 @@
"item.create.schematic_and_quill": "藍圖與筆",
"item.create.shadow_steel": "暗影鋼",
"item.create.super_glue": "強力膠",
- "item.create.sweet_roll": "UNLOCALIZED: Sweet Roll",
+ "item.create.sweet_roll": "甜捲捲",
"item.create.tree_fertilizer": "樹木肥料",
"item.create.vertical_gearbox": "豎直齒輪箱",
"item.create.wand_of_symmetry": "對稱杖",
"item.create.wheat_flour": "小麥粉",
"item.create.whisk": "攪拌器",
- "item.create.wrench": "板手",
+ "item.create.wrench": "扳手",
"item.create.zinc_ingot": "鋅錠",
"item.create.zinc_nugget": "鋅粒",
@@ -509,8 +512,8 @@
"advancement.create.its_alive.desc": "首次使齒輪結構的旋轉。",
"advancement.create.shifting_gears": "換檔,加速,起飛!",
"advancement.create.shifting_gears.desc": "將大齒輪連接到小齒輪上,機械結構的轉速將會翻倍",
- "advancement.create.overstressed": "超載",
- "advancement.create.overstressed.desc": "首次使動能網路超載。",
+ "advancement.create.overstressed": "過載",
+ "advancement.create.overstressed.desc": "首次使動能網路過載。",
"advancement.create.belt": "流水線作業",
"advancement.create.belt.desc": "用輸送帶連接兩個傳動軸",
"advancement.create.tunnel": "尋找掩護!",
@@ -536,11 +539,11 @@
"advancement.create.wrench": "細部調整",
"advancement.create.wrench.desc": "做出一個方便調整方塊的板手",
"advancement.create.goggles": "動能,一目了然",
- "advancement.create.goggles.desc": "做出一個能看到機械動能訊息的MR護目鏡",
+ "advancement.create.goggles.desc": "做出一個能看到機械動能訊息的MR護目鏡",
"advancement.create.speedometer": "精密的速度控制",
- "advancement.create.speedometer.desc": "放置一個速度計,並且戴上MR護目鏡來讀取數據",
+ "advancement.create.speedometer.desc": "放置一個速度計,並且戴上MR護目鏡來讀取數據",
"advancement.create.stressometer": "精密的動能控制",
- "advancement.create.stressometer.desc": "放置一個動能計,並且戴上MR護目鏡來讀取數據",
+ "advancement.create.stressometer.desc": "放置一個動能錶,並且戴上MR護目鏡來讀取數據",
"advancement.create.aesthetics": "繁榮與美學!",
"advancement.create.aesthetics.desc": "將支架放在傳動軸,管道和齒輪上。",
"advancement.create.reinforced": "超級加固!",
@@ -632,8 +635,8 @@
"advancement.create.arm_many_targets": "你是要累死我?",
"advancement.create.arm_many_targets.desc": "配置一隻有十個或更多輸出位置的機械手臂。",
"advancement.create.arm_blaze_burner": "燃燒吧!烈焰使者!",
- "advancement.create.arm_blaze_burner.desc": "指揮機械臂給烈焰使者動力爐投食。",
- "advancement.create.fist_bump": "朋友,來碰個拳",
+ "advancement.create.arm_blaze_burner.desc": "指揮機械手臂給烈焰使者動力爐投食。",
+ "advancement.create.fist_bump": "朋友,來擊拳",
"advancement.create.fist_bump.desc": "使兩個機械手互相碰拳",
"advancement.create.crushing_wheel": "一對大傢伙",
"advancement.create.crushing_wheel.desc": "製作一對能更快粉碎物品的粉碎輪",
@@ -672,6 +675,13 @@
"create.block.deployer.damage_source_name": "機械手",
"create.block.cart_assembler.invalid": "將您的礦車裝修站放在鐵軌上",
+ "create.menu.return": "UNLOCALIZED: Return to Menu",
+ "create.menu.configure": "UNLOCALIZED: Configure...",
+ "create.menu.getting_started": "UNLOCALIZED: Getting Started",
+ "create.menu.project_page": "UNLOCALIZED: Project Page",
+ "create.menu.report_bugs": "UNLOCALIZED: Report Issues",
+ "create.menu.support": "UNLOCALIZED: Support Us",
+
"create.recipe.crushing": "粉碎",
"create.recipe.milling": "研磨",
"create.recipe.fan_washing": "批次洗滌",
@@ -691,14 +701,14 @@
"create.recipe.mechanical_crafting": "自動合成",
"create.recipe.automatic_shaped": "自動合成",
"create.recipe.block_cutting": "方塊切割",
- "create.recipe.wood_cutting": "UNLOCALIZED: Wood Cutting",
+ "create.recipe.wood_cutting": "木材切割",
"create.recipe.sandpaper_polishing": "砂紙打磨",
"create.recipe.mystery_conversion": "神秘轉化",
"create.recipe.spout_filling": "注液",
"create.recipe.draining": "分液",
"create.recipe.processing.chance": "%1$s%%概率",
- "create.recipe.heat_requirement.none": "不需加熱",
- "create.recipe.heat_requirement.heated": "加熱",
+ "create.recipe.heat_requirement.none": "不需要加熱",
+ "create.recipe.heat_requirement.heated": "普通加熱",
"create.recipe.heat_requirement.superheated": "超級加熱",
"create.generic.range": "範圍",
@@ -712,8 +722,8 @@
"create.generic.unit.seconds": "秒",
"create.generic.unit.minutes": "分",
"create.generic.unit.rpm": "RPM",
- "create.generic.unit.stress": "SU",
- "create.generic.unit.degrees": "°",
+ "create.generic.unit.stress": "su",
+ "create.generic.unit.degrees": "度",
"create.generic.unit.millibuckets": "%1$smB",
"create.generic.clockwise": "順時鐘方向",
"create.generic.counter_clockwise": "逆時鐘方向",
@@ -813,18 +823,18 @@
"create.logistics.filter.apply_count": "使用提取計數過濾。",
"create.gui.goggles.generator_stats": "產能器狀態:",
- "create.gui.goggles.kinetic_stats": "機械學狀態:",
- "create.gui.goggles.at_current_speed": "現在速度動能值",
- "create.gui.goggles.pole_length": "UNLOCALIZED: Pole Length:",
- "create.gui.goggles.fluid_container": "UNLOCALIZED: Fluid Container Info:",
- "create.gui.goggles.fluid_container.capacity": "UNLOCALIZED: Capacity: ",
- "create.gui.assembly.exception": "UNLOCALIZED: This Contraption was unable to assemble:",
- "create.gui.assembly.exception.unmovableBlock": "UNLOCALIZED: Unmovable Block (%4$s) at [%1$s,%2$s,%3$s]",
- "create.gui.assembly.exception.chunkNotLoaded": "UNLOCALIZED: The Block at [%1$s,%2$s,%3$s] was not in a loaded chunk",
- "create.gui.assembly.exception.structureTooLarge": "UNLOCALIZED: There are too many Blocks included in the contraption.\nThe configured maximum is: %1$s",
- "create.gui.assembly.exception.tooManyPistonPoles": "UNLOCALIZED: There are too many extension Poles attached to this Piston.\nThe configured maximum is: %1$s",
- "create.gui.assembly.exception.noPistonPoles": "UNLOCALIZED: The Piston is missing some extension Poles",
- "create.gui.assembly.exception.not_enough_sails": "UNLOCALIZED: Attached structure does not include enough sail-like blocks: %1$s\nA minimum of %2$s are required",
+ "create.gui.goggles.kinetic_stats": "機械狀態:",
+ "create.gui.goggles.at_current_speed": "目前動能值",
+ "create.gui.goggles.pole_length": "活塞桿長度:",
+ "create.gui.goggles.fluid_container": "液體容器資訊:",
+ "create.gui.goggles.fluid_container.capacity": "容量: ",
+ "create.gui.assembly.exception": "該結構無法組合:",
+ "create.gui.assembly.exception.unmovableBlock": "無法移動的方塊 (%4$s) 位於 [%1$s,%2$s,%3$s]",
+ "create.gui.assembly.exception.chunkNotLoaded": "位於 [%1$s,%2$s,%3$s] 方塊屬未載入區塊",
+ "create.gui.assembly.exception.structureTooLarge": "結構中的方塊數量過多.\nThe 可放置的數量最大為: %1$s",
+ "create.gui.assembly.exception.tooManyPistonPoles": "活塞的活塞桿數量過多\nThe 可放置的數量最大為: %1$s",
+ "create.gui.assembly.exception.noPistonPoles": "這個活塞遺失了一些活塞桿",
+ "create.gui.assembly.exception.not_enough_sails": "結構中所需的風帆類方塊數量不足: %1$s\n最少需要的數量為: %2$s",
"create.gui.gauge.info_header": "儀表訊息:",
"create.gui.speedometer.title": "旋轉速度",
"create.gui.stressometer.title": "網路動能",
@@ -841,19 +851,19 @@
"create.gui.stockpile_switch.move_to_upper_at": "移至上線%1$s%%",
"create.gui.sequenced_gearshift.title": "可程式化齒輪箱",
"create.gui.sequenced_gearshift.instruction": "指令",
- "create.gui.sequenced_gearshift.instruction.turn_angle.descriptive": "UNLOCALIZED: Turn by angle",
+ "create.gui.sequenced_gearshift.instruction.turn_angle.descriptive": "以特定角度旋轉",
"create.gui.sequenced_gearshift.instruction.turn_angle": "旋轉",
"create.gui.sequenced_gearshift.instruction.turn_angle.angle": "角度",
- "create.gui.sequenced_gearshift.instruction.turn_distance.descriptive": "UNLOCALIZED: Turn to move Piston/Pulley/Gantry",
+ "create.gui.sequenced_gearshift.instruction.turn_distance.descriptive": "帶動 活塞/滑輪/門式起重機",
"create.gui.sequenced_gearshift.instruction.turn_distance": "驅動活塞",
"create.gui.sequenced_gearshift.instruction.turn_distance.distance": "距離",
- "create.gui.sequenced_gearshift.instruction.delay.descriptive": "UNLOCALIZED: Timed Delay",
- "create.gui.sequenced_gearshift.instruction.delay": "UNLOCALIZED: Delay",
- "create.gui.sequenced_gearshift.instruction.delay.duration": "UNLOCALIZED: Duration",
- "create.gui.sequenced_gearshift.instruction.end.descriptive": "UNLOCALIZED: End",
+ "create.gui.sequenced_gearshift.instruction.delay.descriptive": "延遲時間",
+ "create.gui.sequenced_gearshift.instruction.delay": "延遲",
+ "create.gui.sequenced_gearshift.instruction.delay.duration": "間隔",
+ "create.gui.sequenced_gearshift.instruction.end.descriptive": "結束",
"create.gui.sequenced_gearshift.instruction.end": "停止",
- "create.gui.sequenced_gearshift.instruction.await.descriptive": "UNLOCALIZED: Await new Redstone Pulse",
- "create.gui.sequenced_gearshift.instruction.await": "UNLOCALIZED: Await",
+ "create.gui.sequenced_gearshift.instruction.await.descriptive": "等待新的紅石脈衝",
+ "create.gui.sequenced_gearshift.instruction.await": "等待",
"create.gui.sequenced_gearshift.speed": "速度,速度方向",
"create.gui.sequenced_gearshift.speed.forward": "一倍速,正向",
"create.gui.sequenced_gearshift.speed.forward_fast": "兩倍速,正向",
@@ -1011,10 +1021,10 @@
"create.item_attributes.added_by.inverted": "不是由%1$s添加",
"create.item_attributes.has_enchant": "有附魔效果%1$s",
"create.item_attributes.has_enchant.inverted": "沒有附魔效果%1$s",
- "create.item_attributes.color": "UNLOCALIZED: is dyed %1$s",
- "create.item_attributes.color.inverted": "UNLOCALIZED: is not dyed %1$s",
- "create.item_attributes.max_enchanted": "UNLOCALIZED: is enchanted at max level",
- "create.item_attributes.max_enchanted.inverted": "UNLOCALIZED: is not enchanted at max level",
+ "create.item_attributes.color": "已被染色成 %1$s",
+ "create.item_attributes.color.inverted": "未被染色成 %1$s",
+ "create.item_attributes.max_enchanted": "已達到最高附魔等級",
+ "create.item_attributes.max_enchanted.inverted": "未達到最高附魔等級",
"create.item_attributes.has_fluid": "包含%1$s",
"create.item_attributes.has_fluid.inverted": "不包含%1$s",
"create.item_attributes.has_name": "有自定義名稱%1$s",
@@ -1050,8 +1060,8 @@
"create.gui.attribute_filter.deny_list.description": "只要沒有上述屬性,就可以通過",
"create.gui.attribute_filter.add_reference_item": "添加參考物品",
- "create.tooltip.holdForDescription": "UNLOCALIZED: Hold [%1$s] for Summary",
- "create.tooltip.holdForControls": "UNLOCALIZED: Hold [%1$s] for Controls",
+ "create.tooltip.holdForDescription": "按住 [%1$s] 來讀取物品概要",
+ "create.tooltip.holdForControls": "按住 [%1$s] 來讀取控制方法",
"create.tooltip.keyShift": "Shift",
"create.tooltip.keyCtrl": "Ctrl",
"create.tooltip.speedRequirement": "需求速度:%1$s",
@@ -1075,11 +1085,11 @@
"create.mechanical_arm.summary": "機械手臂有%1$s 輸入以及 %2$s 輸出。",
"create.mechanical_arm.points_outside_range": "%1$s 由於距離限制,選定的交互點被移除。",
- "create.weighted_ejector.target_set": "UNLOCALIZED: Target Selected",
- "create.weighted_ejector.target_not_valid": "UNLOCALIZED: Ejecting to Adjacent block (Target was not Valid)",
- "create.weighted_ejector.no_target": "UNLOCALIZED: Ejecting to Adjacent block (No Target was Selected)",
- "create.weighted_ejector.targeting": "UNLOCALIZED: Ejecting to [%1$s,%2$s,%3$s]",
- "create.weighted_ejector.stack_size": "UNLOCALIZED: Ejected Stack Size",
+ "create.weighted_ejector.target_set": "已選取目的地",
+ "create.weighted_ejector.target_not_valid": "彈射到鄰近的方塊 (目的地無效)",
+ "create.weighted_ejector.no_target": "彈射到鄰近的方塊 (未選取目的地)",
+ "create.weighted_ejector.targeting": "彈射到 [%1$s,%2$s,%3$s]",
+ "create.weighted_ejector.stack_size": "彈射物品數量",
"create.logistics.when_multiple_outputs_available": "當多個輸出可用時",
@@ -1103,22 +1113,36 @@
"create.tooltip.chute.fans_push_down": "鼓風機從上方進行推動",
"create.tooltip.chute.fans_pull_up": "鼓風機從下方進行吸引",
"create.tooltip.chute.fans_pull_down": "鼓風機從上方進行吸引",
- "create.tooltip.chute.contains": "UNLOCALIZED: Contains: %1$s x%2$s",
+ "create.tooltip.chute.contains": "物品: %1$s x%2$s",
- "create.hint.hose_pulley.title": "UNLOCALIZED: Bottomless Supply",
- "create.hint.hose_pulley": "UNLOCALIZED: The targeted body of fluid is considered infinite.",
+ "create.linked_controller.bind_mode": "UNLOCALIZED: Bind mode active",
+ "create.linked_controller.press_keybind": "UNLOCALIZED: Press %1$s, %2$s, %3$s, %4$s, %5$s or %6$s, to bind this frequency to the respective key",
+ "create.linked_controller.key_bound": "UNLOCALIZED: Frequency bound to %1$s",
+ "create.linked_controller.frequency_slot_1": "UNLOCALIZED: Keybind: %1$s, Freq. #1",
+ "create.linked_controller.frequency_slot_2": "UNLOCALIZED: Keybind: %1$s, Freq. #2",
+
+ "create.crafting_blueprint.crafting_slot": "UNLOCALIZED: Ingredient Slot",
+ "create.crafting_blueprint.filter_items_viable": "UNLOCALIZED: Advanced filter items are viable",
+ "create.crafting_blueprint.display_slot": "UNLOCALIZED: Display Slot",
+ "create.crafting_blueprint.inferred": "UNLOCALIZED: Inferred from recipe",
+ "create.crafting_blueprint.manually_assigned": "UNLOCALIZED: Manually assigned",
+ "create.crafting_blueprint.secondary_display_slot": "UNLOCALIZED: Secondary Display Slot",
+ "create.crafting_blueprint.optional": "UNLOCALIZED: Optional",
+
+ "create.hint.hose_pulley.title": "無限供應",
+ "create.hint.hose_pulley": "目標液體為無限供應",
"create.hint.mechanical_arm_no_targets.title": "沒有目標",
"create.hint.mechanical_arm_no_targets": "看起來這個_機械手臂_沒有被分配任何_目標_。在手持機械手臂的同時,右鍵選取輸送帶、置物臺、漏斗或其他設備來設定目標。",
"create.hint.empty_bearing.title": "更新軸承",
"create.hint.empty_bearing": "_空手右鍵_軸承來_添加_你新建造的結構。",
"create.hint.full_deployer.title": "機械手物品溢出",
- "create.hint.full_deployer": "_機械手_包含_過剩的物品_需要被_提取._使用_漏斗,__漏斗_或其他方法將溢出解決。",
+ "create.hint.full_deployer": "_機械手_包含_過剩的物品_需要被_取出._使用漏斗_或其他方法將溢出解決。",
"create.gui.config.overlay1": "嗨 :)",
"create.gui.config.overlay2": "這是一個實例層",
"create.gui.config.overlay3": "點擊拖拽你的滑鼠",
"create.gui.config.overlay4": "來將它移動到前方",
- "create.gui.config.overlay5": "ESC退出目前界面",
+ "create.gui.config.overlay5": "ESC退出目前介面",
"create.gui.config.overlay6": "並儲存新的位置",
"create.gui.config.overlay7": "輸入/create overlay reset",
"create.gui.config.overlay8": "重置到預設位置",
@@ -1131,33 +1155,39 @@
"create.command.killTPSCommand.status.usage.1": "[Create]: 用 /killtps start 來手動降低伺服器TPS",
"create.command.killTPSCommand.argument.tickTime": "tickTime",
- "create.contraption.minecart_contraption_too_big": "UNLOCALIZED: This Cart Contraption seems too big to pick up",
+ "create.contraption.minecart_contraption_too_big": "這個礦車結構太大了而無法撿取",
+ "create.contraption.minecart_contraption_illegal_pickup": "UNLOCALIZED: A mystical force is binding this Cart Contraption to the world",
"_": "->------------------------] Subtitles [------------------------<-",
- "create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble",
- "create.subtitle.slime_added": "黏液擠壓",
+ "create.subtitle.saw_idle": "UNLOCALIZED: Mechanical Saw turns",
"create.subtitle.contraption_disassemble": "UNLOCALIZED: Contraption stops",
- "create.subtitle.wrench_rotate": "UNLOCALIZED: Wrench used",
"create.subtitle.mixing": "UNLOCALIZED: Mixing Noises",
- "create.subtitle.mechanical_press_activation_belt": "UNLOCALIZED: Mechanical Press bonks",
+ "create.subtitle.mechanical_press_activation_belt": "液壓機工作",
"create.subtitle.worldshaper_place": "UNLOCALIZED: Worldshaper zaps",
- "create.subtitle.deployer_polish": "UNLOCALIZED: Deployer applies polish",
"create.subtitle.depot_slide": "UNLOCALIZED: Item slides",
- "create.subtitle.deny": "UNLOCALIZED: Declining boop",
+ "create.subtitle.saw_activate_stone": "UNLOCALIZED: Mechanical Saw activates",
"create.subtitle.blaze_munch": "烈焰使者開心地吃著",
- "create.subtitle.schematicannon_launch_block": "藍圖大炮發射",
"create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps",
- "create.subtitle.copper_armor_equip": "UNLOCALIZED: Diving equipment clinks",
"create.subtitle.schematicannon_finish": "藍圖大炮完成任務",
"create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks",
+ "create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
+ "create.subtitle.saw_process": "UNLOCALIZED: Mechanical Saw processes",
+ "create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
+ "create.subtitle.wrench_remove": "UNLOCALIZED: Component breaks",
+ "create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble",
+ "create.subtitle.slime_added": "黏液擠壓",
+ "create.subtitle.wrench_rotate": "UNLOCALIZED: Wrench used",
+ "create.subtitle.saw_activate_wood": "UNLOCALIZED: Mechanical Saw activates",
+ "create.subtitle.deployer_polish": "UNLOCALIZED: Deployer applies polish",
+ "create.subtitle.deny": "UNLOCALIZED: Declining boop",
+ "create.subtitle.controller_click": "UNLOCALIZED: Controller clicks",
+ "create.subtitle.schematicannon_launch_block": "藍圖大炮發射",
+ "create.subtitle.copper_armor_equip": "UNLOCALIZED: Diving equipment clinks",
"create.subtitle.mechanical_press_activation": "液壓機工作",
"create.subtitle.contraption_assemble": "UNLOCALIZED: Contraption moves",
- "create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
- "create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
"create.subtitle.crafter_click": "UNLOCALIZED: Crafter clicks",
- "create.subtitle.wrench_remove": "UNLOCALIZED: Component breaks",
"create.subtitle.depot_plop": "UNLOCALIZED: Item lands",
"create.subtitle.confirm": "UNLOCALIZED: Affirmative ding",
@@ -1181,10 +1211,10 @@
"block.create.copper_casing.tooltip": "銅製機殼",
"block.create.copper_casing.tooltip.summary": "具備多種用途的堅固機殼,也可用於裝飾。",
- "block.create.copper_casing.tooltip.condition1": "對流體管道使用時",
+ "block.create.copper_casing.tooltip.condition1": "對液體管道使用時",
"block.create.copper_casing.tooltip.behaviour1": "會把管道裝入機殼,裝進機殼的管道會與其他管道分開,以免它們自動相連。",
- "block.create.encased_fluid_pipe.tooltip": "流體管道箱",
+ "block.create.encased_fluid_pipe.tooltip": "液體管道箱",
"block.create.encased_fluid_pipe.tooltip.summary": "用銅機殼加固后的液體管道。",
"block.create.seat.tooltip": "坐墊",
@@ -1199,8 +1229,8 @@
"block.create.fluid_pipe.tooltip.summary": "用來傳輸_液體_。需要一個_機械泵_來提供壓強。",
"block.create.fluid_pipe.tooltip.condition1": "轉移液體",
"block.create.fluid_pipe.tooltip.behaviour1": "可以與_液體容器_如_儲存罐_或_作業盆_相連_。裸露的_管道_末端也可以排放或抽取液體。注意別漏水了!",
- "block.create.fluid_pipe.tooltip.condition2": "UNLOCALIZED: Right-clicked with Wrench",
- "block.create.fluid_pipe.tooltip.behaviour2": "UNLOCALIZED: Places a window on the pipe if available",
+ "block.create.fluid_pipe.tooltip.condition2": "使用扳手對其右鍵時",
+ "block.create.fluid_pipe.tooltip.behaviour2": "在狀況許可的情況下在管道上安裝透明窗",
"block.create.hose_pulley.tooltip": "軟管滑輪",
"block.create.hose_pulley.tooltip.summary": "用來在_世界_中放置或排放大量的液體。",
@@ -1226,7 +1256,7 @@
"block.create.fluid_valve.tooltip": "液體閥門",
"block.create.fluid_valve.tooltip.summary": "阻止液體沿管道向前流動。",
"block.create.fluid_valve.tooltip.condition1": "控制流量",
- "block.create.fluid_valve.tooltip.behaviour1": "施加的_旋轉力_將迫使閥門關閉,從而阻止液體流動。_逆轉旋轉方向_以重新打開閥門。",
+ "block.create.fluid_valve.tooltip.behaviour1": "施加的_動能_將迫使閥門關閉,從而阻止液體流動。_逆轉旋轉方向_以重新打開閥門。",
"block.create.mechanical_pump.tooltip": "機械泵",
"block.create.mechanical_pump.tooltip.summary": "_接入機械_,能迫使液體_沿管道指定方向移動_。在兩個方向上都有_最大的作用範圍_。(默認為16個方塊距離)",
@@ -1263,7 +1293,7 @@
"item.create.wand_of_symmetry.tooltip.control2": "當右鍵空氣時",
"item.create.wand_of_symmetry.tooltip.action2": "_刪除_鏡子",
"item.create.wand_of_symmetry.tooltip.control3": "當潛行右鍵時",
- "item.create.wand_of_symmetry.tooltip.action3": "打開_gui界面_",
+ "item.create.wand_of_symmetry.tooltip.action3": "打開_gui介面_",
"item.create.handheld_worldshaper.tooltip": "環境塑形器",
"item.create.handheld_worldshaper.tooltip.summary": "_大面積_更改地形的手持工具",
@@ -1272,7 +1302,7 @@
"item.create.handheld_worldshaper.tooltip.control2": "當右鍵方塊時",
"item.create.handheld_worldshaper.tooltip.action2": "_放置_或_替換_目標方塊",
"item.create.handheld_worldshaper.tooltip.control3": "當潛行右鍵時",
- "item.create.handheld_worldshaper.tooltip.action3": "打開工具的_gui界面_",
+ "item.create.handheld_worldshaper.tooltip.action3": "打開工具的_gui介面_",
"item.create.tree_fertilizer.tooltip": "樹木肥料",
"item.create.tree_fertilizer.tooltip.summary": "適用來常見樹木的快速肥料",
@@ -1287,9 +1317,9 @@
"item.create.filter.tooltip": "過濾器",
"item.create.filter.tooltip.summary": "將物品更精確地進行_篩選分類_,可以同時_篩選_多個物品或者將已標記的_過濾器_放在另一個_過濾器_里_嵌套_使用。",
"item.create.filter.tooltip.condition1": "放置於過濾插槽中時",
- "item.create.filter.tooltip.behaviour1": "根據_過濾器_的配置,來_決定_物品是否能夠通過",
+ "item.create.filter.tooltip.behaviour1": "根據_過濾器_的設定,來_決定_物品是否能夠通過",
"item.create.filter.tooltip.condition2": "當右鍵時",
- "item.create.filter.tooltip.behaviour2": "打開_配置面板_",
+ "item.create.filter.tooltip.behaviour2": "打開_設定面板_",
"item.create.attribute_filter.tooltip": "屬性過濾器",
"item.create.attribute_filter.tooltip.summary": "比起普通過濾器,_屬性過濾器_可以根據不同物品的_屬性_來進行過濾",
@@ -1302,20 +1332,20 @@
"item.create.empty_schematic.tooltip.summary": "可作為合成材料或在_藍圖桌_使用",
"item.create.schematic.tooltip": "藍圖",
- "item.create.schematic.tooltip.summary": "將工程結構的_全息圖_放置於_世界中_,並使用_藍圖加農炮_進行構建。",
- "item.create.schematic.tooltip.condition1": "當全息圖存在時",
+ "item.create.schematic.tooltip.summary": "將工程結構的_設計圖_放置於_世界中_,並使用_藍圖加農炮_進行構建。",
+ "item.create.schematic.tooltip.condition1": "當設計圖存在時",
"item.create.schematic.tooltip.behaviour1": "可以使用屏幕上的工具調整位置",
"item.create.schematic.tooltip.control1": "當潛行右鍵時",
- "item.create.schematic.tooltip.action1": "打開一個用來輸入_精確坐標_的界面。",
+ "item.create.schematic.tooltip.action1": "打開一個用來輸入_精確坐標_的介面。",
"item.create.schematic_and_quill.tooltip": "藍圖與筆",
- "item.create.schematic_and_quill.tooltip.summary": "用來將世界中的結構保存到.nbt文件。",
+ "item.create.schematic_and_quill.tooltip.summary": "用來將世界中的結構存到.nbt文件。",
"item.create.schematic_and_quill.tooltip.condition1": "第一步",
"item.create.schematic_and_quill.tooltip.behaviour1": "手持藍圖與右鍵旋轉兩個點",
"item.create.schematic_and_quill.tooltip.condition2": "第二步",
- "item.create.schematic_and_quill.tooltip.behaviour2": "按住Ctrl滑鼠滾輪選擇選區大小,右鍵空白處保存。",
+ "item.create.schematic_and_quill.tooltip.behaviour2": "按住Ctrl滑鼠滾輪選擇選區大小,右鍵空白處存檔。",
"item.create.schematic_and_quill.tooltip.control1": "右鍵",
- "item.create.schematic_and_quill.tooltip.action1": "選取點/確認保存",
+ "item.create.schematic_and_quill.tooltip.action1": "選取點/確認存檔",
"item.create.schematic_and_quill.tooltip.control2": "按住Ctrl滑鼠滾輪",
"item.create.schematic_and_quill.tooltip.action2": "在_空中_選擇點滾動以調整距離。",
"item.create.schematic_and_quill.tooltip.control3": "當潛行右鍵時",
@@ -1323,8 +1353,8 @@
"block.create.schematicannon.tooltip": "藍圖加農炮",
"block.create.schematicannon.tooltip.summary": "通過發射方塊以在世界中重新構建已部署的_全息圖_,使用相鄰箱子中的物品及_火藥_作為燃料。",
- "block.create.schematicannon.tooltip.condition1": "UNLOCALIZED: When R-Clicked",
- "block.create.schematicannon.tooltip.behaviour1": "UNLOCALIZED: Opens the _Interface_",
+ "block.create.schematicannon.tooltip.condition1": "當你對加農砲右鍵時",
+ "block.create.schematicannon.tooltip.behaviour1": "打開加農砲的設定介面",
"block.create.schematic_table.tooltip": "藍圖桌",
"block.create.schematic_table.tooltip.summary": "將保存的藍圖圖寫入_空白藍圖_",
@@ -1334,11 +1364,11 @@
"item.create.goggles.tooltip": "MR護目鏡",
"item.create.goggles.tooltip.summary": "一副特殊的眼鏡,能夠讓你看見_動能_的信息。",
"item.create.goggles.tooltip.condition1": "當裝備後",
- "item.create.goggles.tooltip.behaviour1": "將會展示該機械元件的_速度_、_動能_等數值",
+ "item.create.goggles.tooltip.behaviour1": "將會顯示該機械元件的_速度_、_動能_等數值。",
"item.create.goggles.tooltip.condition2": "當裝備後看向儀表時",
- "item.create.goggles.tooltip.behaviour2": "將會展示該儀表所連接網路的_速度_、_動能_等數值。",
- "item.create.goggles.tooltip.condition3": "UNLOCALIZED: When looking at fluid containers",
- "item.create.goggles.tooltip.behaviour3": "UNLOCALIZED: Shows detailed information about the _Capacity_ of the block and any _Fluids_ stored within.",
+ "item.create.goggles.tooltip.behaviour2": "將會顯示該儀表所連接網路的_速度_、_動能_等數值。",
+ "item.create.goggles.tooltip.condition3": "當裝備後看向液體容器時",
+ "item.create.goggles.tooltip.behaviour3": "將會顯示儲存在該容器內的 _液體_ 以及其 _容量_ 等資訊。",
"item.create.wrench.tooltip": "板手",
"item.create.wrench.tooltip.summary": "一種常用的工具,能夠調整_動能_的_方向_、_配置_等。",
@@ -1365,18 +1395,18 @@
"block.create.portable_fluid_interface.tooltip.condition2": "被紅石激活時",
"block.create.portable_fluid_interface.tooltip.behaviour2": "立即終止任何活動的連接。",
- "block.create.stockpile_switch.tooltip": "存量檢測器",
+ "block.create.stockpile_switch.tooltip": "存量偵測器",
"block.create.stockpile_switch.tooltip.summary": "根據連接的容器_儲存空間_的占用情況切換紅石訊號強度。",
"block.create.stockpile_switch.tooltip.condition1": "低於_下線_或高於_上線_時",
"block.create.stockpile_switch.tooltip.behaviour1": "提供紅石訊號",
"block.create.content_observer.tooltip": "物品偵測器",
- "block.create.content_observer.tooltip.summary": "檢測_容器_和_輸送帶_中過濾器匹配的物品。當觀察到包含匹配的物品時,此組件將發出_紅石訊號_。當觀察到的漏斗_轉移匹配的物品_時,此組件將發出_紅石脈沖_。",
+ "block.create.content_observer.tooltip.summary": "偵測_容器_和_輸送帶_中過濾器匹配的物品。當觀察到包含匹配的物品時,此組件將發出_紅石訊號_。當觀察到的漏斗_轉移匹配的物品_時,此組件將發出_紅石脈沖_。",
"block.create.adjustable_crate.tooltip": "可調節板條箱",
- "block.create.adjustable_crate.tooltip.summary": "該箱子支持玩家對其容量進行調整,最大可以容納_16組_物品。",
- "block.create.adjustable_crate.tooltip.condition1": "UNLOCALIZED: When R-Clicked",
- "block.create.adjustable_crate.tooltip.behaviour1": "UNLOCALIZED: Opens the _Interface_.",
+ "block.create.adjustable_crate.tooltip.summary": "這個箱子可以調整容量,最大可以收納_16組_物品。",
+ "block.create.adjustable_crate.tooltip.condition1": "當你對箱子按右鍵時",
+ "block.create.adjustable_crate.tooltip.behaviour1": "打開箱子的設定介面",
"block.create.creative_crate.tooltip": "創造板條箱",
"block.create.creative_crate.tooltip.summary": "這個容器可以給臨近的_藍圖大炮_提供無限物品以及燃料 (創造專用物品)",
@@ -1393,717 +1423,799 @@
"item.create.sand_paper.tooltip.condition1": "使用時",
"item.create.sand_paper.tooltip.behaviour1": "打磨_副手_上或者_準心所指_的物品。",
- "item.create.builders_tea.tooltip": "建造工茶飲",
+ "item.create.builders_tea.tooltip": "工人茶",
"item.create.builders_tea.tooltip.summary": "神清氣爽的一天,從這杯完美茶飲開始。恢復復_饑餓值_並獲得_加速_效果。",
"item.create.refined_radiance.tooltip": "光輝石",
"item.create.refined_radiance.tooltip.summary": "一種用_光輝_鍛造的化合物材料。",
+ "item.create.refined_radiance.tooltip.condition1": "UNLOCALIZED: Work In Progress",
+ "item.create.refined_radiance.tooltip.behaviour1": "UNLOCALIZED: Usages for this material will be available in a future release.",
"item.create.shadow_steel.tooltip": "暗影鋼",
"item.create.shadow_steel.tooltip.summary": "一種用_虛空_鍛造的化合物材料。",
+ "item.create.shadow_steel.tooltip.condition1": "UNLOCALIZED: Work In Progress",
+ "item.create.shadow_steel.tooltip.behaviour1": "UNLOCALIZED: Usages for this material will be available in a future release.",
+
+ "item.create.linked_controller.tooltip": "UNLOCALIZED: LINKED CONTROLLER",
+ "item.create.linked_controller.tooltip.summary": "UNLOCALIZED: Grants _handheld_ _control_ over _Redstone Link_ frequencies assigned to its _six_ _buttons_.",
+ "item.create.linked_controller.tooltip.condition1": "UNLOCALIZED: R-Click",
+ "item.create.linked_controller.tooltip.behaviour1": "UNLOCALIZED: _Toggles_ the controller. _Movement_ _controls_ are taken over while its active.",
+ "item.create.linked_controller.tooltip.condition2": "UNLOCALIZED: R-Click while Sneaking",
+ "item.create.linked_controller.tooltip.behaviour2": "UNLOCALIZED: Opens the manual _Configuration Interface_.",
+ "item.create.linked_controller.tooltip.condition3": "UNLOCALIZED: R-Click on Redstone Link Receiver",
+ "item.create.linked_controller.tooltip.behaviour3": "UNLOCALIZED: Enables _Bind Mode_, press one of the _six controls_ to bind it to the _Links' Frequency_.",
+
+ "item.create.diving_helmet.tooltip": "UNLOCALIZED: DIVING HELMET",
+ "item.create.diving_helmet.tooltip.summary": "UNLOCALIZED: Together with a _Copper_ _Backtank_, allows the weilder to _breathe_ _underwater_ for an extended amount of time.",
+ "item.create.diving_helmet.tooltip.condition1": "UNLOCALIZED: When Worn",
+ "item.create.diving_helmet.tooltip.behaviour1": "UNLOCALIZED: Provides the _Water Breathing_ effect, slowly draining _Air Pressure_ from the Backtank.",
+
+ "item.create.copper_backtank.tooltip": "UNLOCALIZED: COPPER BACKTANK",
+ "item.create.copper_backtank.tooltip.summary": "UNLOCALIZED: A _Wearable_ _Tank_ for carrying Pressurized Air.",
+ "item.create.copper_backtank.tooltip.condition1": "UNLOCALIZED: When Worn",
+ "item.create.copper_backtank.tooltip.behaviour1": "UNLOCALIZED: Provides _Pressurized_ _Air_ to Equipment that requires it.",
+ "item.create.copper_backtank.tooltip.condition2": "UNLOCALIZED: When placed, Powered by Kinetics",
+ "item.create.copper_backtank.tooltip.behaviour2": "UNLOCALIZED: _Collects_ _Pressurized_ _Air_ at a rate depending on the Rotational Speed.",
+
+ "item.create.diving_boots.tooltip": "UNLOCALIZED: DIVING BOOTS",
+ "item.create.diving_boots.tooltip.summary": "UNLOCALIZED: A pair of _heavy_ _boots_, allowing for better traversal of the Ocean floor.",
+ "item.create.diving_boots.tooltip.condition1": "UNLOCALIZED: When Worn",
+ "item.create.diving_boots.tooltip.behaviour1": "UNLOCALIZED: Weilder _sinks_ _faster_ and _cannot_ _swim_. Grants the ability to _walk_ and _jump_ underwater. Weilder also is no longer affected by _Mechanical_ _Belts_.",
+
+ "item.create.crafting_blueprint.tooltip": "UNLOCALIZED: CRAFTING BLUEPRINT",
+ "item.create.crafting_blueprint.tooltip.summary": "UNLOCALIZED: _Placed_ on a wall, it can be used to _specify_ _ingredient_ _arrangements_ for easier manual crafting. Each slot represents a Recipe.",
+ "item.create.crafting_blueprint.condition1": "UNLOCALIZED: R-Click empty Slot",
+ "item.create.crafting_blueprint.behaviour1": "UNLOCALIZED: Opens a _Crafting_ _menu_ allowing you to _configure_ a _recipe_ and items to display.",
+ "item.create.crafting_blueprint.condition2": "UNLOCALIZED: R-Click configured Slot",
+ "item.create.crafting_blueprint.behaviour2": "UNLOCALIZED: _Applies_ the _configured_ _recipe_ with matching Ingredients found in your _Inventory_. _Sneak_ to craft up to a _Stack_ of items.",
"item.create.minecart_coupling.tooltip": "礦車連軸器",
"item.create.minecart_coupling.tooltip.summary": "將多個_礦車_或運輸結構鏈接在一起,構成雄偉的火車。",
"item.create.minecart_coupling.tooltip.condition1": "作用與礦車時",
"item.create.minecart_coupling.tooltip.behaviour1": "將兩個礦車耦合在一起,在移動時將它們保持_恒定的距離_。",
- "create.tooltip.wip": "半成品",
- "create.tooltip.workInProgress": "尚在製作中!",
- "create.tooltip.randomWipDescription0": "禁止將此物品給兒童。",
- "create.tooltip.randomWipDescription1": "每~一~次~你使用此物品時,就會使一隻小熊貓死亡。",
- "create.tooltip.randomWipDescription2": "使用此物請自負後果。",
- "create.tooltip.randomWipDescription3": "快走開,這不是你要找的東西(搖手指",
- "create.tooltip.randomWipDescription4": "啟動自爆模式,10、9、8...。",
- "create.tooltip.randomWipDescription5": "你已經沒有退路了。",
- "create.tooltip.randomWipDescription6": "作者我將不負任何你使用此物所造成的責任。",
- "create.tooltip.randomWipDescription7": "這東西不是給你用的,再找找吧!",
- "create.tooltip.randomWipDescription8": "用了就死定了。",
-
"_": "->------------------------] Ponder Content [------------------------<-",
- "create.ponder.hold_to_ponder": "UNLOCALIZED: Hold [%1$s] to Ponder",
- "create.ponder.subject": "UNLOCALIZED: Subject of this scene",
- "create.ponder.pondering": "UNLOCALIZED: Pondering about...",
- "create.ponder.identify_mode": "UNLOCALIZED: Identify mode active.\nUnpause with [%1$s]",
- "create.ponder.associated": "UNLOCALIZED: Associated Entries",
- "create.ponder.close": "UNLOCALIZED: Close",
- "create.ponder.identify": "UNLOCALIZED: Identify",
- "create.ponder.next": "UNLOCALIZED: Next Scene",
- "create.ponder.previous": "UNLOCALIZED: Previous Scene",
- "create.ponder.replay": "UNLOCALIZED: Replay",
- "create.ponder.think_back": "UNLOCALIZED: Think Back",
- "create.ponder.slow_text": "UNLOCALIZED: Comfy Reading",
- "create.ponder.shared.movement_anchors": "UNLOCALIZED: With the help of Chassis or Super Glue, larger structures can be moved.",
- "create.ponder.shared.rpm32": "UNLOCALIZED: 32 RPM",
- "create.ponder.shared.sneak_and": "UNLOCALIZED: Sneak +",
- "create.ponder.shared.storage_on_contraption": "UNLOCALIZED: Inventories attached to the Contraption will pick up their drops automatically",
- "create.ponder.shared.behaviour_modify_wrench": "UNLOCALIZED: This behaviour can be modified using a Wrench",
- "create.ponder.shared.rpm8": "UNLOCALIZED: 8 RPM",
- "create.ponder.shared.ctrl_and": "UNLOCALIZED: Ctrl +",
- "create.ponder.shared.rpm16_source": "UNLOCALIZED: Source: 16 RPM",
- "create.ponder.shared.rpm16": "UNLOCALIZED: 16 RPM",
- "create.ponder.tag.kinetic_sources": "UNLOCALIZED: Kinetic Sources",
- "create.ponder.tag.kinetic_sources.description": "UNLOCALIZED: Components which generate Rotational Force",
- "create.ponder.tag.contraption_actor": "UNLOCALIZED: Contraption Actors",
- "create.ponder.tag.contraption_actor.description": "UNLOCALIZED: Components which expose special behaviour when attached to a moving contraption",
- "create.ponder.tag.arm_targets": "UNLOCALIZED: Targets for Mechanical Arms",
- "create.ponder.tag.arm_targets.description": "UNLOCALIZED: Components which can be selected as inputs or outputs to the Mechanical Arm",
- "create.ponder.tag.logistics": "UNLOCALIZED: Item Transportation",
- "create.ponder.tag.logistics.description": "UNLOCALIZED: Components which help moving items around",
- "create.ponder.tag.movement_anchor": "UNLOCALIZED: Movement Anchors",
- "create.ponder.tag.movement_anchor.description": "UNLOCALIZED: Components which allow the creation of moving contraptions, animating an attached structure in a variety of ways",
- "create.ponder.tag.creative": "UNLOCALIZED: Creative Mode",
- "create.ponder.tag.creative.description": "UNLOCALIZED: Components not usually available for Survival Mode",
- "create.ponder.tag.kinetic_relays": "UNLOCALIZED: Kinetic Blocks",
- "create.ponder.tag.kinetic_relays.description": "UNLOCALIZED: Components which help relaying Rotational Force elsewhere",
- "create.ponder.tag.windmill_sails": "UNLOCALIZED: Sails for Windmill Bearings",
- "create.ponder.tag.windmill_sails.description": "UNLOCALIZED: Blocks that count towards the strength of a Windmill Contraption when assembled. Each of these have equal efficiency in doing so.",
- "create.ponder.tag.contraption_assembly": "UNLOCALIZED: Block Attachment Utility",
- "create.ponder.tag.contraption_assembly.description": "UNLOCALIZED: Tools and Components used to assemble structures moved as an animated Contraption",
- "create.ponder.tag.decoration": "UNLOCALIZED: Aesthetics",
- "create.ponder.tag.decoration.description": "UNLOCALIZED: Components used mostly for decorative purposes",
- "create.ponder.tag.kinetic_appliances": "UNLOCALIZED: Kinetic Appliances",
- "create.ponder.tag.kinetic_appliances.description": "UNLOCALIZED: Components which make use of Rotational Force",
- "create.ponder.tag.redstone": "UNLOCALIZED: Logic Components",
- "create.ponder.tag.redstone.description": "UNLOCALIZED: Components which help with redstone engineering",
- "create.ponder.tag.fluids": "UNLOCALIZED: Fluid Manipulators",
- "create.ponder.tag.fluids.description": "UNLOCALIZED: Components which help relaying and making use of Fluids",
-
- "create.ponder.adjustable_pulse_repeater.header": "UNLOCALIZED: Controlling signals using Adjustable Pulse Repeaters",
- "create.ponder.adjustable_pulse_repeater.text_1": "UNLOCALIZED: Adjustable Pulse Repeaters emit a short pulse at a delay",
- "create.ponder.adjustable_pulse_repeater.text_2": "UNLOCALIZED: Using the mouse wheel, the charge time can be configured",
- "create.ponder.adjustable_pulse_repeater.text_3": "UNLOCALIZED: Configured delays can range up to 30 minutes",
-
- "create.ponder.adjustable_repeater.header": "UNLOCALIZED: Controlling signals using Adjustable Repeaters",
- "create.ponder.adjustable_repeater.text_1": "UNLOCALIZED: Adjustable Repeaters behave similarly to regular Repeaters",
- "create.ponder.adjustable_repeater.text_2": "UNLOCALIZED: They charge up for a set time...",
- "create.ponder.adjustable_repeater.text_3": "UNLOCALIZED: ...and cool down for the same duration",
- "create.ponder.adjustable_repeater.text_4": "UNLOCALIZED: Using the mouse wheel, the charge time can be configured",
- "create.ponder.adjustable_repeater.text_5": "UNLOCALIZED: Configured delays can range up to 30 minutes",
-
- "create.ponder.analog_lever.header": "UNLOCALIZED: Controlling signals using the Analog Lever",
- "create.ponder.analog_lever.text_1": "UNLOCALIZED: Analog Levers make for a compact and precise source of redstone power",
- "create.ponder.analog_lever.text_2": "UNLOCALIZED: Right-click to increase its analog power output",
- "create.ponder.analog_lever.text_3": "UNLOCALIZED: Right-click while Sneaking to decrease the power output again",
-
- "create.ponder.andesite_tunnel.header": "UNLOCALIZED: Using Andesite Tunnels",
- "create.ponder.andesite_tunnel.text_1": "UNLOCALIZED: Andesite Tunnels can be used to cover up your belts",
- "create.ponder.andesite_tunnel.text_2": "UNLOCALIZED: Whenever an Andesite Tunnel has connections to the sides...",
- "create.ponder.andesite_tunnel.text_3": "UNLOCALIZED: ...they will split exactly one item off of any passing stacks",
- "create.ponder.andesite_tunnel.text_4": "UNLOCALIZED: The remainder will continue on its path",
-
- "create.ponder.basin.header": "UNLOCALIZED: Processing Items in the Basin",
- "create.ponder.basin.text_1": "UNLOCALIZED: A Basin can hold Items and Fluids for Processing",
- "create.ponder.basin.text_2": "UNLOCALIZED: After a processing step, basins try to output below to the side of them",
- "create.ponder.basin.text_3": "UNLOCALIZED: When a valid component is present, the Basin will show an output faucet",
- "create.ponder.basin.text_4": "UNLOCALIZED: A number of options are applicable here",
- "create.ponder.basin.text_5": "UNLOCALIZED: Outputs will be caught by the inventory below",
- "create.ponder.basin.text_6": "UNLOCALIZED: Without output faucet, the Basin will retain items created in its processing",
- "create.ponder.basin.text_7": "UNLOCALIZED: This can be useful if outputs should be re-used as ingredients",
- "create.ponder.basin.text_8": "UNLOCALIZED: Desired outputs will then have to be extracted from the basin",
- "create.ponder.basin.text_9": "UNLOCALIZED: A Filter might be necessary to avoid pulling out un-processed items",
-
- "create.ponder.bearing_modes.header": "UNLOCALIZED: Movement Modes of the Mechanical Bearing",
- "create.ponder.bearing_modes.text_1": "UNLOCALIZED: When Stopped, the Bearing will place the structure at the nearest grid-aligned Angle",
- "create.ponder.bearing_modes.text_2": "UNLOCALIZED: It can be configured never to revert to solid blocks, or only near the angle it started at",
-
- "create.ponder.belt_casing.header": "UNLOCALIZED: Encasing Belts",
- "create.ponder.belt_casing.text_1": "UNLOCALIZED: Brass or Andesite Casing can be used to decorate Mechanical Belts",
- "create.ponder.belt_casing.text_2": "UNLOCALIZED: A wrench can be used to remove the casing",
-
- "create.ponder.belt_connector.header": "UNLOCALIZED: Using Mechanical Belts",
- "create.ponder.belt_connector.text_1": "UNLOCALIZED: Right-Clicking two shafts with a belt item will connect them together",
- "create.ponder.belt_connector.text_2": "UNLOCALIZED: Accidental selections can be canceled with Right-Click while Sneaking",
- "create.ponder.belt_connector.text_3": "UNLOCALIZED: Additional Shafts can be added throughout the Belt",
- "create.ponder.belt_connector.text_4": "UNLOCALIZED: Shafts connected via Belts will rotate with Identical Speed and Direction",
- "create.ponder.belt_connector.text_5": "UNLOCALIZED: Added shafts can be removed using the wrench",
- "create.ponder.belt_connector.text_6": "UNLOCALIZED: Mechanical Belts can be dyed for aesthetic purposes",
-
- "create.ponder.belt_directions.header": "UNLOCALIZED: Valid Orientations for Mechanical Belts",
- "create.ponder.belt_directions.text_1": "UNLOCALIZED: Belts cannot connect in arbitrary directions",
- "create.ponder.belt_directions.text_2": "UNLOCALIZED: 1. They can connect horizontally",
- "create.ponder.belt_directions.text_3": "UNLOCALIZED: 2. They can connect diagonally",
- "create.ponder.belt_directions.text_4": "UNLOCALIZED: 3. They can connect vertically",
- "create.ponder.belt_directions.text_5": "UNLOCALIZED: 4. And they can connect vertical shafts horizontally",
- "create.ponder.belt_directions.text_6": "UNLOCALIZED: These are all possible directions. Belts can span any Length between 2 and 20 blocks",
-
- "create.ponder.belt_transport.header": "UNLOCALIZED: Using Mechanical Belts for Logistics",
- "create.ponder.belt_transport.text_1": "UNLOCALIZED: Moving belts will transport Items and other Entities",
- "create.ponder.belt_transport.text_2": "UNLOCALIZED: Right-Click with an empty hand to take items off a belt",
-
- "create.ponder.blaze_burner.header": "UNLOCALIZED: Feeding Blaze Burners",
- "create.ponder.blaze_burner.text_1": "UNLOCALIZED: Blaze Burners can provide Heat to Items processed in a Basin",
- "create.ponder.blaze_burner.text_2": "UNLOCALIZED: For this, the Blaze has to be fed with flammable items",
- "create.ponder.blaze_burner.text_3": "UNLOCALIZED: With a Blaze Cake, the Burner can reach an even stronger level of heat",
- "create.ponder.blaze_burner.text_4": "UNLOCALIZED: The feeding process can be automated using Deployers or Mechanical Arms",
-
- "create.ponder.brass_funnel.header": "UNLOCALIZED: The Brass Funnel",
- "create.ponder.brass_funnel.text_1": "UNLOCALIZED: Andesite Funnels can only ever extract single items.",
- "create.ponder.brass_funnel.text_2": "UNLOCALIZED: Brass Funnels can extract up to a full stack.",
- "create.ponder.brass_funnel.text_3": "UNLOCALIZED: Scrolling on the filter slot allows for precise control over the extracted stack size.",
- "create.ponder.brass_funnel.text_4": "UNLOCALIZED: Using items on the filter slot will restrict the funnel to only transfer matching stacks.",
-
- "create.ponder.brass_tunnel.header": "UNLOCALIZED: Using Brass Tunnels",
- "create.ponder.brass_tunnel.text_1": "UNLOCALIZED: Brass Tunnels can be used to cover up your belts",
- "create.ponder.brass_tunnel.text_2": "UNLOCALIZED: Brass Tunnels have filter slots on each open side",
- "create.ponder.brass_tunnel.text_3": "UNLOCALIZED: Filters on inbound connections simply block non-matching items",
- "create.ponder.brass_tunnel.text_4": "UNLOCALIZED: Filters on outbound connections can be used to sort items by type",
- "create.ponder.brass_tunnel.text_5": "UNLOCALIZED: Whenever a passing item has multiple valid exits, the distribution mode will decide how to handle it",
- "create.ponder.brass_tunnel.text_6": "UNLOCALIZED: Brass Tunnels on parallel belts will form a group",
- "create.ponder.brass_tunnel.text_7": "UNLOCALIZED: Incoming Items will now be distributed across all connected exits",
- "create.ponder.brass_tunnel.text_8": "UNLOCALIZED: For this, items can also be inserted into the Tunnel block directly",
-
- "create.ponder.brass_tunnel_modes.header": "UNLOCALIZED: Distribution Modes of the Brass Tunnel",
- "create.ponder.brass_tunnel_modes.text_1": "UNLOCALIZED: Using a Wrench, the distribution behaviour of Brass Tunnels can be configured",
- "create.ponder.brass_tunnel_modes.text_10": "UNLOCALIZED: 'Synchronize Inputs' is a unique setting for Brass Tunnels",
- "create.ponder.brass_tunnel_modes.text_11": "UNLOCALIZED: Items are only allowed past if every tunnel in the group has one waiting",
- "create.ponder.brass_tunnel_modes.text_12": "UNLOCALIZED: This ensures that all affected belts supply items at the same rate",
- "create.ponder.brass_tunnel_modes.text_2": "UNLOCALIZED: 'Split' will attempt to distribute the stack evenly between available outputs",
- "create.ponder.brass_tunnel_modes.text_3": "UNLOCALIZED: If an output is unable to take more items, it will be skipped",
- "create.ponder.brass_tunnel_modes.text_4": "UNLOCALIZED: 'Forced Split' will never skip outputs, and instead wait until they are free",
- "create.ponder.brass_tunnel_modes.text_5": "UNLOCALIZED: 'Round Robin' keeps stacks whole, and cycles through outputs iteratively",
- "create.ponder.brass_tunnel_modes.text_6": "UNLOCALIZED: Once Again, if an output is unable to take more items, it will be skipped",
- "create.ponder.brass_tunnel_modes.text_7": "UNLOCALIZED: 'Forced Round Robin' never skips outputs",
- "create.ponder.brass_tunnel_modes.text_8": "UNLOCALIZED: 'Prefer Nearest' prioritizes the outputs closest to the items' input location",
- "create.ponder.brass_tunnel_modes.text_9": "UNLOCALIZED: 'Randomize' will distribute whole stacks to randomly picked outputs",
-
- "create.ponder.cart_assembler.header": "UNLOCALIZED: Moving Structures using Cart Assemblers",
- "create.ponder.cart_assembler.text_1": "UNLOCALIZED: Powered Cart Assemblers mount attached structures to passing Minecarts",
- "create.ponder.cart_assembler.text_2": "UNLOCALIZED: Without a redstone signal, it disassembles passing cart contraptions back into blocks",
- "create.ponder.cart_assembler.text_3": "UNLOCALIZED: Using a Wrench on the Minecart will let you carry the Contraption elsewhere",
-
- "create.ponder.cart_assembler_dual.header": "UNLOCALIZED: Assembling Carriage Contraptions",
- "create.ponder.cart_assembler_dual.text_1": "UNLOCALIZED: Whenever two Cart Assembers share an attached structure...",
- "create.ponder.cart_assembler_dual.text_2": "UNLOCALIZED: Powering either of them will create a Carriage Contraption",
- "create.ponder.cart_assembler_dual.text_3": "UNLOCALIZED: The carts will behave like those connected via Minecart Coupling",
-
- "create.ponder.cart_assembler_modes.header": "UNLOCALIZED: Orientation Settings for Minecart Contraptions",
- "create.ponder.cart_assembler_modes.text_1": "UNLOCALIZED: Cart Contraptions will rotate to face towards their carts' motion",
- "create.ponder.cart_assembler_modes.text_2": "UNLOCALIZED: If the Assembler is set to Lock Rotation, the contraptions' orientation will never change",
-
- "create.ponder.cart_assembler_rails.header": "UNLOCALIZED: Other types of Minecarts and Rails",
- "create.ponder.cart_assembler_rails.text_1": "UNLOCALIZED: Cart Assemblers on Regular Tracks will not affect the passing carts' motion",
- "create.ponder.cart_assembler_rails.text_2": "UNLOCALIZED: When on Powered or Controller Rail, the carts will be held in place until it's Powered",
- "create.ponder.cart_assembler_rails.text_3": "UNLOCALIZED: Other types of Minecarts can be used as the anchor",
- "create.ponder.cart_assembler_rails.text_4": "UNLOCALIZED: Furnace Carts will keep themselves powered, pulling fuel from any attached inventories",
-
- "create.ponder.chain_drive.header": "UNLOCALIZED: Relaying rotational force with Chain Drives",
- "create.ponder.chain_drive.text_1": "UNLOCALIZED: Chain Drives relay rotation to each other in a row",
- "create.ponder.chain_drive.text_2": "UNLOCALIZED: All shafts connected like this will rotate in the same direction",
- "create.ponder.chain_drive.text_3": "UNLOCALIZED: Any part of the row can be rotated by 90 degrees",
-
- "create.ponder.chain_gearshift.header": "UNLOCALIZED: Controlling rotational speed with Chain Gearshifts",
- "create.ponder.chain_gearshift.text_1": "UNLOCALIZED: Unpowered Chain Gearshifts behave exacly like Chain Drives",
- "create.ponder.chain_gearshift.text_2": "UNLOCALIZED: When Powered, the speed transmitted to other Chain Drives in the row is doubled",
- "create.ponder.chain_gearshift.text_3": "UNLOCALIZED: Whenever the Powered Gearshift is not at the source, its speed will be halved instead",
- "create.ponder.chain_gearshift.text_4": "UNLOCALIZED: In both cases, Chain Drives in the row always run at 2x the speed of the Powered Gearshift",
- "create.ponder.chain_gearshift.text_5": "UNLOCALIZED: Using analog signals, the ratio can be adjusted more precisely between 1 and 2",
- "create.ponder.chain_gearshift.text_6": "UNLOCALIZED: 12 RPM",
-
- "create.ponder.chute.header": "UNLOCALIZED: Transporting Items downward via Chutes",
- "create.ponder.chute.text_1": "UNLOCALIZED: Chutes can transport items vertically from and to inventories",
- "create.ponder.chute.text_2": "UNLOCALIZED: Using the Wrench, a window can be created",
- "create.ponder.chute.text_3": "UNLOCALIZED: Placing chutes targeting the side faces of another will make it diagonal",
-
- "create.ponder.chute_upward.header": "UNLOCALIZED: Transporting Items upward via Chutes",
- "create.ponder.chute_upward.text_1": "UNLOCALIZED: Using Encased Fans at the top or bottom, a Chute can move items upward",
- "create.ponder.chute_upward.text_2": "UNLOCALIZED: Inspecting chutes with Engineers' Goggles reveals information about the movement direction",
- "create.ponder.chute_upward.text_3": "UNLOCALIZED: On the 'blocked' end, items will have to be inserted/taken from the sides",
-
- "create.ponder.clockwork_bearing.header": "UNLOCALIZED: Animating Structures using Clockwork Bearings",
- "create.ponder.clockwork_bearing.text_1": "UNLOCALIZED: Clockwork Bearings attach to blocks in front of them",
- "create.ponder.clockwork_bearing.text_2": "UNLOCALIZED: Upon receiving Rotational Force, the structure will be rotated according to the hour of the day",
- "create.ponder.clockwork_bearing.text_3": "UNLOCALIZED: 3:00",
- "create.ponder.clockwork_bearing.text_4": "UNLOCALIZED: 4:00",
- "create.ponder.clockwork_bearing.text_5": "UNLOCALIZED: Right-Click the bearing to start or stop animating the structure",
- "create.ponder.clockwork_bearing.text_6": "UNLOCALIZED: In front of the Hour Hand, a second structure can be added",
- "create.ponder.clockwork_bearing.text_7": "UNLOCALIZED: Ensure the two Structures are not attached to each other through super glue or similar",
- "create.ponder.clockwork_bearing.text_8": "UNLOCALIZED: The Second Structure will now rotate as the Minute Hand",
-
- "create.ponder.clutch.header": "UNLOCALIZED: Controlling rotational force using a Clutch",
- "create.ponder.clutch.text_1": "UNLOCALIZED: Clutches will relay rotation in a straight line",
- "create.ponder.clutch.text_2": "UNLOCALIZED: When powered by Redstone, it breaks the connection",
-
- "create.ponder.cog_speedup.header": "UNLOCALIZED: Gearshifting with Cogs",
- "create.ponder.cog_speedup.text_1": "UNLOCALIZED: Large and Small cogs can be connected diagonally",
- "create.ponder.cog_speedup.text_2": "UNLOCALIZED: Shifting from large to small cogs, the conveyed speed will be doubled",
- "create.ponder.cog_speedup.text_3": "UNLOCALIZED: Shifting the opposite way, the conveyed speed will be halved",
-
- "create.ponder.cogwheel.header": "UNLOCALIZED: Relaying rotational force using Cogwheels",
- "create.ponder.cogwheel.text_1": "UNLOCALIZED: Cogwheels will relay rotation to other adjacent cogwheels",
- "create.ponder.cogwheel.text_2": "UNLOCALIZED: Neighbouring shafts connected like this will rotate in opposite directions",
-
- "create.ponder.creative_motor.header": "UNLOCALIZED: Generating Rotational Force using Creative Motors",
- "create.ponder.creative_motor.text_1": "UNLOCALIZED: Creative motors are a compact and configurable source of Rotational Force",
- "create.ponder.creative_motor.text_2": "UNLOCALIZED: Scrolling on the back panel changes the RPM of the motors' rotational output",
-
- "create.ponder.crushing_wheels.header": "UNLOCALIZED: Processing Items with Crushing Wheels",
- "create.ponder.crushing_wheels.text_1": "UNLOCALIZED: A pair of Crushing Wheels can grind items very effectively",
- "create.ponder.crushing_wheels.text_2": "UNLOCALIZED: Their Rotational Input has to make them spin into each other",
- "create.ponder.crushing_wheels.text_3": "UNLOCALIZED: Items thrown or inserted into the top will get processed",
- "create.ponder.crushing_wheels.text_4": "UNLOCALIZED: Items can be inserted and picked up through automated means as well",
-
- "create.ponder.deployer.header": "UNLOCALIZED: Using the Deployer",
- "create.ponder.deployer.text_1": "UNLOCALIZED: Given Rotational Force, a Deployer can imitate player interactions",
- "create.ponder.deployer.text_10": "UNLOCALIZED: Right-click the front to give it an Item to use",
- "create.ponder.deployer.text_11": "UNLOCALIZED: Items can also be inserted automatically",
- "create.ponder.deployer.text_12": "UNLOCALIZED: Deployers carry a filter slot",
- "create.ponder.deployer.text_13": "UNLOCALIZED: When a filter is set, it activates only while holding a matching item",
- "create.ponder.deployer.text_14": "UNLOCALIZED: Only items matching the filter can now be inserted...",
- "create.ponder.deployer.text_15": "UNLOCALIZED: ...and only non-matching items will be extracted",
- "create.ponder.deployer.text_2": "UNLOCALIZED: It will always interact with the position 2 blocks in front of itself",
- "create.ponder.deployer.text_3": "UNLOCALIZED: Blocks directly in front will not obstruct it",
- "create.ponder.deployer.text_4": "UNLOCALIZED: Deployers can:",
- "create.ponder.deployer.text_5": "UNLOCALIZED: Place Blocks,",
- "create.ponder.deployer.text_6": "UNLOCALIZED: Use Items,",
- "create.ponder.deployer.text_7": "UNLOCALIZED: Activate Blocks,",
- "create.ponder.deployer.text_8": "UNLOCALIZED: Harvest blocks",
- "create.ponder.deployer.text_9": "UNLOCALIZED: and Attack Mobs",
-
- "create.ponder.deployer_contraption.header": "UNLOCALIZED: Using Deployers on Contraptions",
- "create.ponder.deployer_contraption.text_1": "UNLOCALIZED: Whenever Deployers are moved as part of an animated Contraption...",
- "create.ponder.deployer_contraption.text_2": "UNLOCALIZED: They activate at each visited location, using items from inventories anywhere on the contraption",
- "create.ponder.deployer_contraption.text_3": "UNLOCALIZED: The Filter slot can be used to specify which items to pull",
-
- "create.ponder.deployer_modes.header": "UNLOCALIZED: Modes of the Deployer",
- "create.ponder.deployer_modes.text_1": "UNLOCALIZED: By default, a Deployer imitates a Right-click interaction",
- "create.ponder.deployer_modes.text_2": "UNLOCALIZED: Using a Wrench, it can be set to imitate a Left-click instead",
-
- "create.ponder.deployer_redstone.header": "UNLOCALIZED: Controlling Deployers with Redstone",
- "create.ponder.deployer_redstone.text_1": "UNLOCALIZED: When powered by Redstone, Deployers will not activate",
- "create.ponder.deployer_redstone.text_2": "UNLOCALIZED: Before stopping, the Deployer will finish any started cycles",
- "create.ponder.deployer_redstone.text_3": "UNLOCALIZED: Thus, a negative pulse can be used to trigger exactly one activation cycle",
-
- "create.ponder.depot.header": "UNLOCALIZED: Using Depots",
- "create.ponder.depot.text_1": "UNLOCALIZED: Depots can serve as 'stationary' belt elements",
- "create.ponder.depot.text_2": "UNLOCALIZED: Right-Click to manually place or remove Items from it",
- "create.ponder.depot.text_3": "UNLOCALIZED: Just like Mechanical Belts, it can provide items to processing",
- "create.ponder.depot.text_4": "UNLOCALIZED: ...as well as provide Items to Mechanical Arms",
-
- "create.ponder.empty_blaze_burner.header": "UNLOCALIZED: Using Empty Blaze Burners",
- "create.ponder.empty_blaze_burner.text_1": "UNLOCALIZED: Right-click a Blaze with the empty burner to capture it",
- "create.ponder.empty_blaze_burner.text_2": "UNLOCALIZED: Alternatively, Blazes can be collected from their Spawners directly",
- "create.ponder.empty_blaze_burner.text_3": "UNLOCALIZED: You now have an ideal heat source for various machines",
- "create.ponder.empty_blaze_burner.text_4": "UNLOCALIZED: For Aesthetic purposes, Empty Blaze Burners can also be lit using Flint and Steel",
- "create.ponder.empty_blaze_burner.text_5": "UNLOCALIZED: However, these are not suitable for industrial heating",
-
- "create.ponder.fan_direction.header": "UNLOCALIZED: Air flow of Encased Fans",
- "create.ponder.fan_direction.text_1": "UNLOCALIZED: Encased Fans use Rotational Force to create an Air Current",
- "create.ponder.fan_direction.text_2": "UNLOCALIZED: Strength and Direction of Flow depends on the Rotational Input",
-
- "create.ponder.fan_processing.header": "UNLOCALIZED: Processing Items using Encased Fans",
- "create.ponder.fan_processing.text_1": "UNLOCALIZED: When passing through lava, the Air Flow becomes Heated",
- "create.ponder.fan_processing.text_2": "UNLOCALIZED: Items caught in the area will be smelted",
- "create.ponder.fan_processing.text_3": "UNLOCALIZED: Food items thrown here would be incinerated",
- "create.ponder.fan_processing.text_4": "UNLOCALIZED: Instead, a setup for Smoking using Fire should be used for them",
- "create.ponder.fan_processing.text_5": "UNLOCALIZED: Air Flows passing through water create a Washing Setup",
- "create.ponder.fan_processing.text_6": "UNLOCALIZED: Some interesting new processing can be done with it",
- "create.ponder.fan_processing.text_7": "UNLOCALIZED: The Speed of the Fan does NOT affect the processing speed, only its range",
- "create.ponder.fan_processing.text_8": "UNLOCALIZED: Fan Processing can also be applied to Items on Depots and Belts",
-
- "create.ponder.fan_source.header": "UNLOCALIZED: Generating Rotational Force using Encased Fans",
- "create.ponder.fan_source.text_1": "UNLOCALIZED: Fans facing down into a source of heat can provide Rotational Force",
- "create.ponder.fan_source.text_2": "UNLOCALIZED: When given a Redstone Signal, the Fans will start providing power",
-
- "create.ponder.flywheel.header": "UNLOCALIZED: Generating Rotational Force using the Flywheel",
- "create.ponder.flywheel.text_1": "UNLOCALIZED: Flywheels are required for generating rotational force with the Furnace Engine",
- "create.ponder.flywheel.text_2": "UNLOCALIZED: The provided Rotational Force has a very large stress capacity",
- "create.ponder.flywheel.text_3": "UNLOCALIZED: Using a Blast Furnace will double the efficiency of the Engine",
-
- "create.ponder.funnel_compat.header": "UNLOCALIZED: Funnel compatibility",
- "create.ponder.funnel_compat.text_1": "UNLOCALIZED: Funnels should also interact nicely with a handful of other components.",
- "create.ponder.funnel_compat.text_2": "UNLOCALIZED: Vertical Saws",
- "create.ponder.funnel_compat.text_3": "UNLOCALIZED: Depots",
- "create.ponder.funnel_compat.text_4": "UNLOCALIZED: Item Drains",
-
- "create.ponder.funnel_direction.header": "UNLOCALIZED: Direction of Transfer",
- "create.ponder.funnel_direction.text_1": "UNLOCALIZED: Placed normally, it pulls items from the inventory.",
- "create.ponder.funnel_direction.text_2": "UNLOCALIZED: Placed while sneaking, it puts items into the inventory.",
- "create.ponder.funnel_direction.text_3": "UNLOCALIZED: Using a wrench, the funnel can be flipped after placement.",
- "create.ponder.funnel_direction.text_4": "UNLOCALIZED: Same rules will apply for most orientations.",
- "create.ponder.funnel_direction.text_5": "UNLOCALIZED: Funnels on belts will extract/insert depending on its movement direction.",
-
- "create.ponder.funnel_intro.header": "UNLOCALIZED: Using funnels",
- "create.ponder.funnel_intro.text_1": "UNLOCALIZED: Funnels are ideal for transferring items from and to inventories.",
-
- "create.ponder.funnel_redstone.header": "UNLOCALIZED: Redstone control",
- "create.ponder.funnel_redstone.text_1": "UNLOCALIZED: Redstone power will prevent any funnel from acting",
-
- "create.ponder.funnel_transfer.header": "UNLOCALIZED: Direct transfer",
- "create.ponder.funnel_transfer.text_1": "UNLOCALIZED: Funnels cannot ever transfer between closed inventories directly.",
- "create.ponder.funnel_transfer.text_2": "UNLOCALIZED: Chutes or Smart chutes might be more suitable for such purposes.",
- "create.ponder.funnel_transfer.text_3": "UNLOCALIZED: Same applies for horizontal movement. A mechanical belt should help here.",
-
- "create.ponder.furnace_engine.header": "UNLOCALIZED: Generating Rotational Force using the Furnace Engine",
- "create.ponder.furnace_engine.text_1": "UNLOCALIZED: Furnace Engines generate Rotational Force while their attached Furnace is running",
- "create.ponder.furnace_engine.text_2": "UNLOCALIZED: The provided Rotational Force has a very large stress capacity",
- "create.ponder.furnace_engine.text_3": "UNLOCALIZED: Using a Blast Furnace will double the efficiency of the Engine",
-
- "create.ponder.gantry_carriage.header": "UNLOCALIZED: Using Gantry Carriages",
- "create.ponder.gantry_carriage.text_1": "UNLOCALIZED: Gantry Carriages can mount to and slide along a Gantry Shaft.",
- "create.ponder.gantry_carriage.text_2": "UNLOCALIZED: Gantry setups can move attached Blocks.",
-
- "create.ponder.gantry_cascaded.header": "UNLOCALIZED: Cascaded Gantries",
- "create.ponder.gantry_cascaded.text_1": "UNLOCALIZED: Gantry shafts attach to a carriage without the need of super glue",
- "create.ponder.gantry_cascaded.text_2": "UNLOCALIZED: Same applies for carriages on moved Gantry Shafts",
- "create.ponder.gantry_cascaded.text_3": "UNLOCALIZED: Thus, a gantry system can be cascaded to cover multiple axes of movement",
-
- "create.ponder.gantry_direction.header": "UNLOCALIZED: Gantry Movement Direction",
- "create.ponder.gantry_direction.text_1": "UNLOCALIZED: Gantry Shafts can have opposite orientations",
- "create.ponder.gantry_direction.text_2": "UNLOCALIZED: The movement direction of carriages depend on their shafts' orientation",
- "create.ponder.gantry_direction.text_3": "UNLOCALIZED: ...as well as the rotation direction of the shaft",
- "create.ponder.gantry_direction.text_4": "UNLOCALIZED: Same rules apply for the propagated rotation",
-
- "create.ponder.gantry_redstone.header": "UNLOCALIZED: Gantry Power Propagation",
- "create.ponder.gantry_redstone.text_1": "UNLOCALIZED: Redstone-powered gantry shafts stop moving their carriages",
- "create.ponder.gantry_redstone.text_2": "UNLOCALIZED: Instead, its rotational force is relayed to the carriages' output shaft",
-
- "create.ponder.gantry_shaft.header": "UNLOCALIZED: Using Gantry Shafts",
- "create.ponder.gantry_shaft.text_1": "UNLOCALIZED: Gantry Shafts form the basis of a gantry setup. Attached Carriages will move along them.",
- "create.ponder.gantry_shaft.text_2": "UNLOCALIZED: Gantry setups can move attached Blocks.",
-
- "create.ponder.gearbox.header": "UNLOCALIZED: Relaying rotational force using Gearboxes",
- "create.ponder.gearbox.text_1": "UNLOCALIZED: Jumping between axes of rotation can get bulky quickly",
- "create.ponder.gearbox.text_2": "UNLOCALIZED: A gearbox is the more compact equivalent of this setup",
- "create.ponder.gearbox.text_3": "UNLOCALIZED: Shafts around corners rotate in mirrored directions",
- "create.ponder.gearbox.text_4": "UNLOCALIZED: Straight connections will be reversed",
-
- "create.ponder.gearshift.header": "UNLOCALIZED: Controlling rotational force using a Gearshift",
- "create.ponder.gearshift.text_1": "UNLOCALIZED: Gearshifts will relay rotation in a straight line",
- "create.ponder.gearshift.text_2": "UNLOCALIZED: When powered by Redstone, it reverses the transmission",
-
- "create.ponder.hand_crank.header": "UNLOCALIZED: Generating Rotational Force using Hand Cranks",
- "create.ponder.hand_crank.text_1": "UNLOCALIZED: Hand Cranks can be used by players to apply rotational force manually",
- "create.ponder.hand_crank.text_2": "UNLOCALIZED: Hold Right-Click to rotate it Counter-Clockwise",
- "create.ponder.hand_crank.text_3": "UNLOCALIZED: Its conveyed speed is relatively high",
- "create.ponder.hand_crank.text_4": "UNLOCALIZED: Sneak and Hold Right-Click to rotate it Clockwise",
-
- "create.ponder.large_cogwheel.header": "UNLOCALIZED: Relaying rotational force using Large Cogwheels",
- "create.ponder.large_cogwheel.text_1": "UNLOCALIZED: Large cogwheels can connect to each other at right angles",
- "create.ponder.large_cogwheel.text_2": "UNLOCALIZED: It will help relaying conveyed speed to other axes of rotation",
-
- "create.ponder.linear_chassis_attachment.header": "UNLOCALIZED: Attaching blocks using Linear Chassis",
- "create.ponder.linear_chassis_attachment.text_1": "UNLOCALIZED: The open faces of a Linear Chassis can be made Sticky",
- "create.ponder.linear_chassis_attachment.text_2": "UNLOCALIZED: Click again to make the opposite side sticky",
- "create.ponder.linear_chassis_attachment.text_3": "UNLOCALIZED: Sneak and Right-Click with an empty hand to remove the slime",
- "create.ponder.linear_chassis_attachment.text_4": "UNLOCALIZED: Stickied faces of the Linear Chassis will attach a line of blocks in front of it",
- "create.ponder.linear_chassis_attachment.text_5": "UNLOCALIZED: Using a Wrench, a precise Range can be specified for this chassis",
- "create.ponder.linear_chassis_attachment.text_6": "UNLOCALIZED: Holding CTRL and scrolling adjusts the range of all attached Chassis Blocks",
- "create.ponder.linear_chassis_attachment.text_7": "UNLOCALIZED: Attaching blocks to any other side requires the use of Super Glue",
- "create.ponder.linear_chassis_attachment.text_8": "UNLOCALIZED: Using these mechanics, structures of any shape can move as a Contraption",
-
- "create.ponder.linear_chassis_group.header": "UNLOCALIZED: Moving Linear Chassis in groups",
- "create.ponder.linear_chassis_group.text_1": "UNLOCALIZED: Linear Chassis connect to identical Chassis blocks next to them",
- "create.ponder.linear_chassis_group.text_2": "UNLOCALIZED: When one is moved by a Contraption, the others are dragged with it",
- "create.ponder.linear_chassis_group.text_3": "UNLOCALIZED: Chassis of a different type or facing another direction will not attach",
-
- "create.ponder.mechanical_arm.header": "UNLOCALIZED: Setting up Mechanical Arms",
- "create.ponder.mechanical_arm.text_1": "UNLOCALIZED: Mechanical Arms have to be assigned their in- and outputs before they are placed",
- "create.ponder.mechanical_arm.text_2": "UNLOCALIZED: Right-Click inventories while holding the Arm to assign them as Targets",
- "create.ponder.mechanical_arm.text_3": "UNLOCALIZED: Right-Click again to toggle between Input (Blue) and Output (Orange)",
- "create.ponder.mechanical_arm.text_4": "UNLOCALIZED: Left-Click components to remove their Selection",
- "create.ponder.mechanical_arm.text_5": "UNLOCALIZED: Once placed, the Mechanical Arm will target the blocks selected previously",
- "create.ponder.mechanical_arm.text_6": "UNLOCALIZED: They can have any amount of in- and outputs within their range",
- "create.ponder.mechanical_arm.text_7": "UNLOCALIZED: However, not every type of Inventory can be interacted with directly",
- "create.ponder.mechanical_arm.text_8": "UNLOCALIZED: Funnels and Depots can help to Bridge that gap",
-
- "create.ponder.mechanical_arm_filtering.header": "UNLOCALIZED: Filtering Outputs of the Mechanical Arm",
- "create.ponder.mechanical_arm_filtering.text_1": "UNLOCALIZED: Inputs",
- "create.ponder.mechanical_arm_filtering.text_2": "UNLOCALIZED: Outputs",
- "create.ponder.mechanical_arm_filtering.text_3": "UNLOCALIZED: Sometimes it is desirable to restrict targets of the Arm by matching a filter",
- "create.ponder.mechanical_arm_filtering.text_4": "UNLOCALIZED: Mechanical Arms by themselves do not provide any options for filtering",
- "create.ponder.mechanical_arm_filtering.text_5": "UNLOCALIZED: Brass Funnels as Targets do however communicate their own filter to the Arm",
- "create.ponder.mechanical_arm_filtering.text_6": "UNLOCALIZED: The Arm is smart enough not to pick up items it couldn't distribute",
-
- "create.ponder.mechanical_arm_modes.header": "UNLOCALIZED: Distribution modes of the Mechanical Arm",
- "create.ponder.mechanical_arm_modes.text_1": "UNLOCALIZED: Input",
- "create.ponder.mechanical_arm_modes.text_2": "UNLOCALIZED: Outputs",
- "create.ponder.mechanical_arm_modes.text_3": "UNLOCALIZED: Whenever an Arm has to choose between multiple valid outputs...",
- "create.ponder.mechanical_arm_modes.text_4": "UNLOCALIZED: ...it will act according to its setting",
- "create.ponder.mechanical_arm_modes.text_5": "UNLOCALIZED: Scrolling with a Wrench will allow you to configure it",
- "create.ponder.mechanical_arm_modes.text_6": "UNLOCALIZED: Round Robin mode simply cycles through all outputs that are available",
- "create.ponder.mechanical_arm_modes.text_7": "UNLOCALIZED: If an output is unable to take more items, it will be skipped",
- "create.ponder.mechanical_arm_modes.text_8": "UNLOCALIZED: Forced Round Robin mode will never skip outputs, and instead wait until they are free",
- "create.ponder.mechanical_arm_modes.text_9": "UNLOCALIZED: Prefer First prioritizes the outputs selected earliest when configuring this Arm",
-
- "create.ponder.mechanical_arm_redstone.header": "UNLOCALIZED: Controlling Mechanical Arms with Redstone",
- "create.ponder.mechanical_arm_redstone.text_1": "UNLOCALIZED: When powered by Redstone, Mechanical Arms will not activate",
- "create.ponder.mechanical_arm_redstone.text_2": "UNLOCALIZED: Before stopping, it will finish any started cycles",
- "create.ponder.mechanical_arm_redstone.text_3": "UNLOCALIZED: Thus, a negative pulse can be used to trigger exactly one activation cycle",
-
- "create.ponder.mechanical_bearing.header": "UNLOCALIZED: Movings Structures using the Mechanical Bearing",
- "create.ponder.mechanical_bearing.text_1": "UNLOCALIZED: Mechanical Bearings attach to the block in front of them",
- "create.ponder.mechanical_bearing.text_2": "UNLOCALIZED: Upon receiving Rotational Force, it will assemble it into a Rotating Contraption",
-
- "create.ponder.mechanical_crafter.header": "UNLOCALIZED: Setting up Mechanical Crafters",
- "create.ponder.mechanical_crafter.text_1": "UNLOCALIZED: An array of Mechanical Crafters can be used to automate any Crafting Recipe",
- "create.ponder.mechanical_crafter.text_2": "UNLOCALIZED: Using a Wrench, the Crafters' paths can be arranged",
- "create.ponder.mechanical_crafter.text_3": "UNLOCALIZED: For a valid setup, all paths have to converge into one exit at any side",
- "create.ponder.mechanical_crafter.text_4": "UNLOCALIZED: The outputs will be placed into the inventory at the exit",
- "create.ponder.mechanical_crafter.text_5": "UNLOCALIZED: Mechanical Crafters require Rotational Force to operate",
- "create.ponder.mechanical_crafter.text_6": "UNLOCALIZED: Right-Click the front to insert Items manually",
- "create.ponder.mechanical_crafter.text_7": "UNLOCALIZED: Once every slot of a path contains an Item, the crafting process will begin",
- "create.ponder.mechanical_crafter.text_8": "UNLOCALIZED: For recipes not fully occupying the crafter setup, the start can be forced using a Redstone Pulse",
-
- "create.ponder.mechanical_crafter_connect.header": "UNLOCALIZED: Connecting Inventories of Crafters",
- "create.ponder.mechanical_crafter_connect.text_1": "UNLOCALIZED: Items can be inserted to Crafters automatically",
- "create.ponder.mechanical_crafter_connect.text_2": "UNLOCALIZED: Using the Wrench at their backs, Mechanical Crafter inputs can be combined",
- "create.ponder.mechanical_crafter_connect.text_3": "UNLOCALIZED: All connected Crafters can now be accessed by the same input location",
-
- "create.ponder.mechanical_crafter_covers.header": "UNLOCALIZED: Covering slots of Mechanical Crafters",
- "create.ponder.mechanical_crafter_covers.text_1": "UNLOCALIZED: Some recipes will require additional Crafters to bridge gaps in the path",
- "create.ponder.mechanical_crafter_covers.text_2": "UNLOCALIZED: Using Slot Covers, Crafters can be set to act as an Empty Slot in the arrangement",
- "create.ponder.mechanical_crafter_covers.text_3": "UNLOCALIZED: Shared Inputs created with the Wrench at the back can also reach across covered Crafters",
-
- "create.ponder.mechanical_drill.header": "UNLOCALIZED: Breaking Blocks with the Mechanical Drill",
- "create.ponder.mechanical_drill.text_1": "UNLOCALIZED: When given Rotational Force, a Mechanical Drill will break blocks directly in front of it",
- "create.ponder.mechanical_drill.text_2": "UNLOCALIZED: Its mining speed depends on the Rotational Input",
-
- "create.ponder.mechanical_drill_contraption.header": "UNLOCALIZED: Using Mechanical Drills on Contraptions",
- "create.ponder.mechanical_drill_contraption.text_1": "UNLOCALIZED: Whenever Drills are moved as part of an animated Contraption...",
- "create.ponder.mechanical_drill_contraption.text_2": "UNLOCALIZED: ...they will break blocks the contraption runs them into",
-
- "create.ponder.mechanical_harvester.header": "UNLOCALIZED: Using Mechanical Harvesters on Contraptions",
- "create.ponder.mechanical_harvester.text_1": "UNLOCALIZED: Whenever Harvesters are moved as part of an animated Contraption...",
- "create.ponder.mechanical_harvester.text_2": "UNLOCALIZED: They will harvest and reset any mature crops on their way",
-
- "create.ponder.mechanical_mixer.header": "UNLOCALIZED: Processing Items with the Mechanical Mixer",
- "create.ponder.mechanical_mixer.text_1": "UNLOCALIZED: With a Mixer and Basin, some Crafting Recipes can be automated",
- "create.ponder.mechanical_mixer.text_2": "UNLOCALIZED: Available recipes include any Shapeless Crafting Recipe, plus a couple extra ones",
- "create.ponder.mechanical_mixer.text_3": "UNLOCALIZED: Some of those recipes may require the heat of a Blaze Burner",
- "create.ponder.mechanical_mixer.text_4": "UNLOCALIZED: The filter slot can be used in case two recipes are conflicting.",
-
- "create.ponder.mechanical_piston.header": "UNLOCALIZED: Moving Structures using Mechanical Pistons",
- "create.ponder.mechanical_piston.text_1": "UNLOCALIZED: Mechanical Pistons can move blocks in front of them",
- "create.ponder.mechanical_piston.text_2": "UNLOCALIZED: Speed and direction of movement depend on the Rotational Input",
- "create.ponder.mechanical_piston.text_3": "UNLOCALIZED: Sticky Mechanical Pistons can pull the attached blocks back",
-
- "create.ponder.mechanical_piston_modes.header": "UNLOCALIZED: Movement Modes of the Mechanical Piston",
- "create.ponder.mechanical_piston_modes.text_1": "UNLOCALIZED: Whenever Pistons stop moving, the moved structure reverts to blocks",
- "create.ponder.mechanical_piston_modes.text_2": "UNLOCALIZED: It can be configured never to revert to solid blocks, or only at the location it started at",
-
- "create.ponder.mechanical_plough.header": "UNLOCALIZED: Using Mechanical Ploughs on Contraptions",
- "create.ponder.mechanical_plough.text_1": "UNLOCALIZED: Whenever Ploughs are moved as part of an animated Contraption...",
- "create.ponder.mechanical_plough.text_2": "UNLOCALIZED: ...they will break blocks without a solid collision hitbox",
- "create.ponder.mechanical_plough.text_3": "UNLOCALIZED: Additionally, ploughs can create farmland",
- "create.ponder.mechanical_plough.text_4": "UNLOCALIZED: ...they can also launch entities without hurting them",
-
- "create.ponder.mechanical_press.header": "UNLOCALIZED: Processing Items with the Mechanical Press",
- "create.ponder.mechanical_press.text_1": "UNLOCALIZED: The Mechanical Press can process items provided beneath it",
- "create.ponder.mechanical_press.text_2": "UNLOCALIZED: The Input items can be dropped or placed on a Depot under the Press",
- "create.ponder.mechanical_press.text_3": "UNLOCALIZED: When items are provided on a belt...",
- "create.ponder.mechanical_press.text_4": "UNLOCALIZED: The Press will hold and process them automatically",
-
- "create.ponder.mechanical_press_compacting.header": "UNLOCALIZED: Compacting items with the Mechanical Press",
- "create.ponder.mechanical_press_compacting.text_1": "UNLOCALIZED: Pressing items held in a Basin will cause them to be Compacted",
- "create.ponder.mechanical_press_compacting.text_2": "UNLOCALIZED: Compacting includes any filled 2x2 or 3x3 Crafting Recipe, plus a couple extra ones",
- "create.ponder.mechanical_press_compacting.text_3": "UNLOCALIZED: Some of those recipes may require the heat of a Blaze Burner",
- "create.ponder.mechanical_press_compacting.text_4": "UNLOCALIZED: The filter slot can be used in case two recipes are conflicting.",
-
- "create.ponder.mechanical_saw_breaker.header": "UNLOCALIZED: Cutting Trees with the Mechanical Saw",
- "create.ponder.mechanical_saw_breaker.text_1": "UNLOCALIZED: When given Rotational Force, a Mechanical Saw will cut trees directly in front of it",
- "create.ponder.mechanical_saw_breaker.text_2": "UNLOCALIZED: In order to cut the tree fully, the Saw has to break the last block connecting it to the ground",
-
- "create.ponder.mechanical_saw_contraption.header": "UNLOCALIZED: Using Mechanical Saws on Contraptions",
- "create.ponder.mechanical_saw_contraption.text_1": "UNLOCALIZED: Whenever Saws are moved as part of an animated Contraption...",
- "create.ponder.mechanical_saw_contraption.text_2": "UNLOCALIZED: ...they will cut any trees the contraption runs them into",
-
- "create.ponder.mechanical_saw_processing.header": "UNLOCALIZED: Processing Items on the Mechanical Saw",
- "create.ponder.mechanical_saw_processing.text_1": "UNLOCALIZED: Upward facing Mechanical Saws can process a variety of items",
- "create.ponder.mechanical_saw_processing.text_2": "UNLOCALIZED: The processed item always moves against the rotational input to the saw",
- "create.ponder.mechanical_saw_processing.text_3": "UNLOCALIZED: Saws can work in-line with Mechanical Belts",
- "create.ponder.mechanical_saw_processing.text_4": "UNLOCALIZED: When an ingredient has multiple possible outcomes, the filter slot can specify it",
- "create.ponder.mechanical_saw_processing.text_5": "UNLOCALIZED: Without filter, the Saw would cycle through all outcomes instead",
-
- "create.ponder.millstone.header": "UNLOCALIZED: Processing Items in the Millstone",
- "create.ponder.millstone.text_1": "UNLOCALIZED: Millstones process items by grinding them",
- "create.ponder.millstone.text_2": "UNLOCALIZED: They can be powered from the side using cogwheels",
- "create.ponder.millstone.text_3": "UNLOCALIZED: Throw or Insert items at the top",
- "create.ponder.millstone.text_4": "UNLOCALIZED: After some time, the result can be obtained via Right-click",
- "create.ponder.millstone.text_5": "UNLOCALIZED: The outputs can also be extracted by automation",
-
- "create.ponder.nixie_tube.header": "UNLOCALIZED: Using Nixie Tubes",
- "create.ponder.nixie_tube.text_1": "UNLOCALIZED: When powered by Redstone, Nixie Tubes will display the redstone signals' strength",
- "create.ponder.nixie_tube.text_2": "UNLOCALIZED: Using name tags edited with an anvil, custom text can be displayed",
-
- "create.ponder.piston_pole.header": "UNLOCALIZED: Piston Extension Poles",
- "create.ponder.piston_pole.text_1": "UNLOCALIZED: Without attached Poles, a Mechanical Piston cannot move",
- "create.ponder.piston_pole.text_2": "UNLOCALIZED: The Length of pole added at its back determines the Extension Range",
-
- "create.ponder.portable_storage_interface.header": "UNLOCALIZED: Contraption Storage Exchange",
- "create.ponder.portable_storage_interface.text_1": "UNLOCALIZED: Inventories on moving contraptions cannot be accessed by players.",
- "create.ponder.portable_storage_interface.text_2": "UNLOCALIZED: This component can interact with storage without the need to stop the contraption.",
- "create.ponder.portable_storage_interface.text_3": "UNLOCALIZED: Place a second one with a gap of 1 or 2 blocks inbetween",
- "create.ponder.portable_storage_interface.text_4": "UNLOCALIZED: Whenever they pass by each other, they will engage in a connection",
- "create.ponder.portable_storage_interface.text_5": "UNLOCALIZED: While engaged, the stationary interface will represent ALL inventories on the contraption",
- "create.ponder.portable_storage_interface.text_6": "UNLOCALIZED: Items can now be inserted...",
- "create.ponder.portable_storage_interface.text_7": "UNLOCALIZED: ...or extracted from the contraption",
- "create.ponder.portable_storage_interface.text_8": "UNLOCALIZED: After no items have been exchanged for a while, the contraption will continue on its way",
-
- "create.ponder.portable_storage_interface_redstone.header": "UNLOCALIZED: Redstone Control",
- "create.ponder.portable_storage_interface_redstone.text_1": "UNLOCALIZED: Redstone power will prevent the stationary interface from engaging",
-
- "create.ponder.powered_latch.header": "UNLOCALIZED: Controlling signals using the Powered Latch",
- "create.ponder.powered_latch.text_1": "UNLOCALIZED: Powered Latches are redstone controllable Levers",
- "create.ponder.powered_latch.text_2": "UNLOCALIZED: Signals at the back switch it on",
- "create.ponder.powered_latch.text_3": "UNLOCALIZED: Signals from the side switch it back off",
- "create.ponder.powered_latch.text_4": "UNLOCALIZED: Powered latches can also be toggled manually",
-
- "create.ponder.powered_toggle_latch.header": "UNLOCALIZED: Controlling signals using the Powered Toggle Latch",
- "create.ponder.powered_toggle_latch.text_1": "UNLOCALIZED: Powered Toggle Latches are redstone controllable Levers",
- "create.ponder.powered_toggle_latch.text_2": "UNLOCALIZED: Signals at the back will toggle its state",
- "create.ponder.powered_toggle_latch.text_3": "UNLOCALIZED: ...on and back off",
- "create.ponder.powered_toggle_latch.text_4": "UNLOCALIZED: Powered toggle latches can also be toggled manually",
-
- "create.ponder.pulse_repeater.header": "UNLOCALIZED: Controlling signals using Pulse Repeaters",
- "create.ponder.pulse_repeater.text_1": "UNLOCALIZED: Pulse Repeaters will shorten any redstone signal to a single pulse",
-
- "create.ponder.radial_chassis.header": "UNLOCALIZED: Attaching blocks using Radial Chassis",
- "create.ponder.radial_chassis.text_1": "UNLOCALIZED: Radial Chassis connect to identical Chassis blocks in a row",
- "create.ponder.radial_chassis.text_2": "UNLOCALIZED: When one is moved by a Contraption, the others are dragged with it",
- "create.ponder.radial_chassis.text_3": "UNLOCALIZED: The side faces of a Radial Chassis can be made Sticky",
- "create.ponder.radial_chassis.text_4": "UNLOCALIZED: Click again to make all other sides sticky",
- "create.ponder.radial_chassis.text_5": "UNLOCALIZED: Sneak and Right-Click with an empty hand to remove the slime",
- "create.ponder.radial_chassis.text_6": "UNLOCALIZED: Whenever a Block is next to a sticky face...",
- "create.ponder.radial_chassis.text_7": "UNLOCALIZED: ...it will attach all reachable blocks within a radius on that layer",
- "create.ponder.radial_chassis.text_8": "UNLOCALIZED: Using a Wrench, a precise Radius can be specified for this chassis",
- "create.ponder.radial_chassis.text_9": "UNLOCALIZED: Blocks not reachable by any sticky face will not attach",
-
- "create.ponder.redstone_contact.header": "UNLOCALIZED: Redstone Contacts",
- "create.ponder.redstone_contact.text_1": "UNLOCALIZED: Redstone Contacts facing each other will emit a redstone signal",
- "create.ponder.redstone_contact.text_2": "UNLOCALIZED: This still applies when one of them is part of a moving Contraption",
-
- "create.ponder.redstone_link.header": "UNLOCALIZED: Using Redstone Links",
- "create.ponder.redstone_link.text_1": "UNLOCALIZED: Redstone Links can transmit redstone signals wirelessly",
- "create.ponder.redstone_link.text_2": "UNLOCALIZED: Right-click while Sneaking to toggle receive mode",
- "create.ponder.redstone_link.text_3": "UNLOCALIZED: A simple Right-click with a Wrench can do the same",
- "create.ponder.redstone_link.text_4": "UNLOCALIZED: Receivers emit the redstone power of transmitters within 128 blocks",
- "create.ponder.redstone_link.text_5": "UNLOCALIZED: Placing items in the two slots can specify a Frequency",
- "create.ponder.redstone_link.text_6": "UNLOCALIZED: Only the links with matching Frequencies will communicate",
-
- "create.ponder.rope_pulley.header": "UNLOCALIZED: Moving Structures using Rope Pulleys",
- "create.ponder.rope_pulley.text_1": "UNLOCALIZED: Rope Pulleys can move blocks vertically when given Rotational Force",
- "create.ponder.rope_pulley.text_2": "UNLOCALIZED: Direction and Speed of movement depend on the Rotational Input",
-
- "create.ponder.rope_pulley_attachment.header": "UNLOCALIZED: Moving Pulleys as part of a Contraption",
- "create.ponder.rope_pulley_attachment.text_1": "UNLOCALIZED: Whenever Pulleys are themselves being moved by a Contraption...",
- "create.ponder.rope_pulley_attachment.text_2": "UNLOCALIZED: ...its attached structure will be dragged with it",
- "create.ponder.rope_pulley_attachment.text_3": "UNLOCALIZED: Mind that pulleys are only movable while stopped",
-
- "create.ponder.rope_pulley_modes.header": "UNLOCALIZED: Movement Modes of the Rope Pulley",
- "create.ponder.rope_pulley_modes.text_1": "UNLOCALIZED: Whenever Pulleys stop moving, the moved structure reverts to blocks",
- "create.ponder.rope_pulley_modes.text_2": "UNLOCALIZED: It can be configured never to revert to solid blocks, or only at the location it started at",
-
- "create.ponder.rotation_speed_controller.header": "UNLOCALIZED: Using the Rotational Speed Controller",
- "create.ponder.rotation_speed_controller.text_1": "UNLOCALIZED: Rot. Speed Controllers relay rotation from their axis to a Large Cogwheel above them",
- "create.ponder.rotation_speed_controller.text_2": "UNLOCALIZED: Using the scroll input on its side, the conveyed speed can be configured",
-
- "create.ponder.sail.header": "UNLOCALIZED: Assembling Windmills using Sails",
- "create.ponder.sail.text_1": "UNLOCALIZED: Sails are handy blocks to create Windmills with",
- "create.ponder.sail.text_2": "UNLOCALIZED: They will attach to blocks and each other without the need of Super Glue or Chassis Blocks",
- "create.ponder.sail.text_3": "UNLOCALIZED: Right-Click with Dye to paint them",
- "create.ponder.sail.text_4": "UNLOCALIZED: Right-Click with Shears to turn them back into frames",
-
- "create.ponder.sail_frame.header": "UNLOCALIZED: Assembling Windmills using Sail Frames",
- "create.ponder.sail_frame.text_1": "UNLOCALIZED: Sail Frames are handy blocks to create Windmills with",
- "create.ponder.sail_frame.text_2": "UNLOCALIZED: They will attach to blocks and each other without the need of Super Glue or Chassis Blocks",
-
- "create.ponder.sequenced_gearshift.header": "UNLOCALIZED: Controlling Rotational Speed using Sequenced Gearshifts",
- "create.ponder.sequenced_gearshift.text_1": "UNLOCALIZED: Seq. Gearshifts relay rotation by following a timed list of instructions",
- "create.ponder.sequenced_gearshift.text_2": "UNLOCALIZED: Right-click it to open the Configuration UI",
- "create.ponder.sequenced_gearshift.text_3": "UNLOCALIZED: Upon receiving a Redstone Signal, it will start running its configured sequence",
- "create.ponder.sequenced_gearshift.text_4": "UNLOCALIZED: Once finished, it waits for the next Redstone Signal and starts over",
- "create.ponder.sequenced_gearshift.text_5": "UNLOCALIZED: A redstone comparator can be used to read the current progress",
-
- "create.ponder.shaft.header": "UNLOCALIZED: Relaying rotational force using Shafts",
- "create.ponder.shaft.text_1": "UNLOCALIZED: Shafts will relay rotation in a straight line.",
-
- "create.ponder.shaft_casing.header": "UNLOCALIZED: Encasing Shafts",
- "create.ponder.shaft_casing.text_1": "UNLOCALIZED: Brass or Andesite Casing can be used to decorate Shafts",
-
- "create.ponder.smart_chute.header": "UNLOCALIZED: Filtering Items using Smart Chutes",
- "create.ponder.smart_chute.text_1": "UNLOCALIZED: Smart Chutes are vertical chutes with additional control",
- "create.ponder.smart_chute.text_2": "UNLOCALIZED: Items in the filter slot specify what exactly they can extract and transfer",
- "create.ponder.smart_chute.text_3": "UNLOCALIZED: Use the Mouse Wheel to specify the extracted stack size",
- "create.ponder.smart_chute.text_4": "UNLOCALIZED: Redstone power will prevent Smart Chutes from acting.",
-
- "create.ponder.speedometer.header": "UNLOCALIZED: Monitoring Kinetic information using the Speedometer",
- "create.ponder.speedometer.text_1": "UNLOCALIZED: The Speedometer displays the current Speed of the attached components",
- "create.ponder.speedometer.text_2": "UNLOCALIZED: When wearing Engineers' Goggles, the player can get more detailed information from the Gauge",
- "create.ponder.speedometer.text_3": "UNLOCALIZED: Comparators can emit analog Restone Signals relative to the Speedometer's measurements",
-
- "create.ponder.stabilized_bearings.header": "UNLOCALIZED: Stabilized Contraptions",
- "create.ponder.stabilized_bearings.text_1": "UNLOCALIZED: Whenever Mechanical Bearings are themselves part of a moving Structure..",
- "create.ponder.stabilized_bearings.text_2": "UNLOCALIZED: ..they will attempt to keep themselves upright",
- "create.ponder.stabilized_bearings.text_3": "UNLOCALIZED: Once again, the bearing will attach to the block in front of it",
- "create.ponder.stabilized_bearings.text_4": "UNLOCALIZED: As a result, the entire sub-Contraption will stay upright",
-
- "create.ponder.sticker.header": "UNLOCALIZED: Attaching blocks using the Sticker",
- "create.ponder.sticker.text_1": "UNLOCALIZED: Stickers are ideal for Redstone-controlled block attachment",
- "create.ponder.sticker.text_2": "UNLOCALIZED: Upon receiving a signal, it will toggle its state",
- "create.ponder.sticker.text_3": "UNLOCALIZED: If it is now moved in a contraption, the block will move with it",
- "create.ponder.sticker.text_4": "UNLOCALIZED: Toggled once again, the block is no longer attached",
-
- "create.ponder.stressometer.header": "UNLOCALIZED: Monitoring Kinetic information using the Stressometer",
- "create.ponder.stressometer.text_1": "UNLOCALIZED: The Stressometer displays the current Stress Capacity of the attached kinetic network",
- "create.ponder.stressometer.text_2": "UNLOCALIZED: When wearing Engineers' Goggles, the player can get more detailed information from the Gauge",
- "create.ponder.stressometer.text_3": "UNLOCALIZED: Comparators can emit analog Restone Signals relative to the Stressometer's measurements",
-
- "create.ponder.super_glue.header": "UNLOCALIZED: Attaching blocks using Super Glue",
- "create.ponder.super_glue.text_1": "UNLOCALIZED: Super Glue can be used between any two blocks",
- "create.ponder.super_glue.text_2": "UNLOCALIZED: The attached blocks will move together when assembled into a Contraption",
- "create.ponder.super_glue.text_3": "UNLOCALIZED: Whenever Super Glue is held in the off-hand...",
- "create.ponder.super_glue.text_4": "UNLOCALIZED: ...added blocks will be glued to the face they were placed on automatically",
- "create.ponder.super_glue.text_5": "UNLOCALIZED: Super Glue can be removed with Left-Click",
-
- "create.ponder.valve_handle.header": "UNLOCALIZED: Generating Rotational Force using Valve Handles",
- "create.ponder.valve_handle.text_1": "UNLOCALIZED: Valve Handles can be used by players to apply rotational force manually",
- "create.ponder.valve_handle.text_2": "UNLOCALIZED: Hold Right-Click to rotate it Counter-Clockwise",
- "create.ponder.valve_handle.text_3": "UNLOCALIZED: Its conveyed speed is slow and precise",
- "create.ponder.valve_handle.text_4": "UNLOCALIZED: Sneak and Hold Right-Click to rotate it Clockwise",
- "create.ponder.valve_handle.text_5": "UNLOCALIZED: Valve handles can be dyed for aesthetic purposes",
-
- "create.ponder.water_wheel.header": "UNLOCALIZED: Generating Rotational Force using Water Wheels",
- "create.ponder.water_wheel.text_1": "UNLOCALIZED: Water Wheels draw force from adjacent Water Currents",
- "create.ponder.water_wheel.text_2": "UNLOCALIZED: The more faces are powered, the faster the Water Wheel will rotate",
- "create.ponder.water_wheel.text_3": "UNLOCALIZED: The Wheels' blades should be oriented against the flow",
- "create.ponder.water_wheel.text_4": "UNLOCALIZED: Facing the opposite way, they will not be as effective",
-
- "create.ponder.weighted_ejector.header": "UNLOCALIZED: Using Weighted Ejectors",
- "create.ponder.weighted_ejector.text_1": "UNLOCALIZED: Sneak and Right-Click holding an Ejector to select its target location",
- "create.ponder.weighted_ejector.text_10": "UNLOCALIZED: It is now limited to this stack size, and only activates when its held stack reaches this amount",
- "create.ponder.weighted_ejector.text_11": "UNLOCALIZED: Other Entities will always trigger an Ejector when stepping on it",
- "create.ponder.weighted_ejector.text_2": "UNLOCALIZED: The placed ejector will now launch objects to the marked location",
- "create.ponder.weighted_ejector.text_3": "UNLOCALIZED: A valid target can be at any height or distance within range",
- "create.ponder.weighted_ejector.text_4": "UNLOCALIZED: They cannot however be off to a side",
- "create.ponder.weighted_ejector.text_5": "UNLOCALIZED: If no valid Target was selected, it will simply target the block directly in front",
- "create.ponder.weighted_ejector.text_6": "UNLOCALIZED: Supply Rotational Force in order to charge it up",
- "create.ponder.weighted_ejector.text_7": "UNLOCALIZED: Items placed on the ejector cause it to trigger",
- "create.ponder.weighted_ejector.text_8": "UNLOCALIZED: If Inventories are targeted, the ejector will wait until there is space",
- "create.ponder.weighted_ejector.text_9": "UNLOCALIZED: Using the Wrench, a required Stack Size can be configured",
-
- "create.ponder.weighted_ejector_redstone.header": "UNLOCALIZED: Controlling Weighted Ejectors with Redstone",
- "create.ponder.weighted_ejector_redstone.text_1": "UNLOCALIZED: When powered by Redstone, Ejectors will not activate",
- "create.ponder.weighted_ejector_redstone.text_2": "UNLOCALIZED: Furthermore, Observers can detect when Ejectors activate",
-
- "create.ponder.weighted_ejector_tunnel.header": "UNLOCALIZED: Splitting item stacks using Weighted Ejectors",
- "create.ponder.weighted_ejector_tunnel.text_1": "UNLOCALIZED: Combined with Brass Tunnels, Ejectors can split item stacks by specific amounts",
- "create.ponder.weighted_ejector_tunnel.text_2": "UNLOCALIZED: First, configure the Brass Tunnel to 'Prefer Nearest', in order to prioritize its side output",
- "create.ponder.weighted_ejector_tunnel.text_3": "UNLOCALIZED: The Stack Size set on the Ejector now determines the amount to be split off",
- "create.ponder.weighted_ejector_tunnel.text_4": "UNLOCALIZED: While a new stack of the configured size exits the side output...",
- "create.ponder.weighted_ejector_tunnel.text_5": "UNLOCALIZED: ...the remainder will continue on its path",
-
- "create.ponder.windmill_source.header": "UNLOCALIZED: Generating Rotational Force using Windmill Bearings",
- "create.ponder.windmill_source.text_1": "UNLOCALIZED: Windmill Bearings attach to the block in front of them",
- "create.ponder.windmill_source.text_2": "UNLOCALIZED: If enough Sail-like blocks are attached to the block, it can act as a Windmill",
- "create.ponder.windmill_source.text_3": "UNLOCALIZED: Activated with Right-Click, the Windmill Bearing will start providing Rotational Force",
- "create.ponder.windmill_source.text_4": "UNLOCALIZED: The Amount of Sail Blocks determine its Rotation Speed",
- "create.ponder.windmill_source.text_5": "UNLOCALIZED: Use a Wrench to configure its rotation direction",
- "create.ponder.windmill_source.text_6": "UNLOCALIZED: Right-click the Bearing anytime to stop and edit the Structure again",
-
- "create.ponder.windmill_structure.header": "UNLOCALIZED: Windmill Contraptions",
- "create.ponder.windmill_structure.text_1": "UNLOCALIZED: Any Structure can count as a valid Windmill, as long as it contains at least 8 sail-like Blocks.",
+ "create.ponder.hold_to_ponder": "按住 [%1$s] 來思考此物品",
+ "create.ponder.subject": "本場景的主題",
+ "create.ponder.pondering": "思考有關於...",
+ "create.ponder.identify_mode": "暫停模式已啟動\n按 [%1$s] 來取消暫停模式",
+ "create.ponder.associated": "相關物品",
+ "create.ponder.close": "關閉",
+ "create.ponder.identify": "暫停",
+ "create.ponder.next": "下個場景",
+ "create.ponder.previous": "上個場景",
+ "create.ponder.replay": "重放",
+ "create.ponder.think_back": "返回",
+ "create.ponder.slow_text": "降低文字顯示速度",
+ "create.ponder.shared.movement_anchors": "有了機殼底盤和強力膠就可以移動大型結構",
+ "create.ponder.shared.rpm32": "32 RPM",
+ "create.ponder.shared.sneak_and": "潛行 +",
+ "create.ponder.shared.storage_on_contraption": "與結構相連的儲物空間會自動撿取物品",
+ "create.ponder.shared.behaviour_modify_wrench": "使用扳手來調整這個動作",
+ "create.ponder.shared.rpm8": "8 RPM",
+ "create.ponder.shared.ctrl_and": "Ctrl +",
+ "create.ponder.shared.rpm16_source": "轉速: 16 RPM",
+ "create.ponder.shared.rpm16": "16 RPM",
+ "create.ponder.tag.kinetic_sources": "動能產生裝置",
+ "create.ponder.tag.kinetic_sources.description": "該裝置能夠產生動能",
+ "create.ponder.tag.contraption_actor": "Contraption Actors",
+ "create.ponder.tag.contraption_actor.description": "Components which expose special behaviour when attached to a moving contraption",
+ "create.ponder.tag.arm_targets": "機械手臂的目標物",
+ "create.ponder.tag.arm_targets.description": "該裝置可作為機械手臂的工作目標",
+ "create.ponder.tag.logistics": "傳輸物品",
+ "create.ponder.tag.logistics.description": "該裝置用於物品的傳輸",
+ "create.ponder.tag.movement_anchor": "Movement Anchors",
+ "create.ponder.tag.movement_anchor.description": "Components which allow the creation of moving contraptions, animating an attached structure in a variety of ways",
+ "create.ponder.tag.creative": "創造模式",
+ "create.ponder.tag.creative.description": "該裝置無法在生存模式中獲得",
+ "create.ponder.tag.kinetic_relays": "動能傳遞方塊",
+ "create.ponder.tag.kinetic_relays.description": "該裝置用於傳遞動能",
+ "create.ponder.tag.windmill_sails": "風車軸承的帆",
+ "create.ponder.tag.windmill_sails.description": "建造風車時用於產生動能的帆,每個帆對風車產生的效果都是同等的",
+ "create.ponder.tag.contraption_assembly": "方塊連接物件",
+ "create.ponder.tag.contraption_assembly.description": "此物件用於連接各個零件以便組成一個成品",
+ "create.ponder.tag.decoration": "裝飾",
+ "create.ponder.tag.decoration.description": "這些零件通常用於裝飾",
+ "create.ponder.tag.kinetic_appliances": "動能利用裝置",
+ "create.ponder.tag.kinetic_appliances.description": "這些裝置利用動能運作",
+ "create.ponder.tag.redstone": "邏輯控制裝置",
+ "create.ponder.tag.redstone.description": "這些裝置會在紅石電路中發揮用處",
+ "create.ponder.tag.fluids": "液體控制裝置",
+ "create.ponder.tag.fluids.description": "這些裝置可傳輸並利用液體",
+
+ "create.ponder.adjustable_pulse_repeater.header": "使用可調式脈衝中繼器來控制訊號",
+ "create.ponder.adjustable_pulse_repeater.text_1": "可調式脈衝中繼器每次運作時會產生一個短脈衝",
+ "create.ponder.adjustable_pulse_repeater.text_2": "使用滑鼠滾輪來設定啟動後到產生脈衝的延遲",
+ "create.ponder.adjustable_pulse_repeater.text_3": "延遲可設定到最大30分鐘",
+
+ "create.ponder.adjustable_repeater.header": "使用可調式中繼器來控制訊號",
+ "create.ponder.adjustable_repeater.text_1": "可調式中繼器就像一般的中繼器",
+ "create.ponder.adjustable_repeater.text_2": "收到訊號後在設定好的時間過後才啟動...",
+ "create.ponder.adjustable_repeater.text_3": "...訊號停止後也需要相隔同樣的時間過後才會停止",
+ "create.ponder.adjustable_repeater.text_4": "使用滑鼠滾輪來設定延遲",
+ "create.ponder.adjustable_repeater.text_5": "延遲可設定到最大30分鐘",
+
+ "create.ponder.analog_lever.header": "使用可調式拉桿來控制訊號",
+ "create.ponder.analog_lever.text_1": "可調式拉桿是一種小巧而輕準的紅石能源",
+ "create.ponder.analog_lever.text_2": "右鍵來增加其紅石訊號輸出",
+ "create.ponder.analog_lever.text_3": "潛行並右鍵來減少其紅石訊號輸出",
+
+ "create.ponder.andesite_tunnel.header": "使用安山岩物品隧道",
+ "create.ponder.andesite_tunnel.text_1": "安山岩物品隧道可以覆蓋在輸送帶上",
+ "create.ponder.andesite_tunnel.text_2": "當安山岩物品隧道側邊連接到另一條輸送帶時...",
+ "create.ponder.andesite_tunnel.text_3": "...隧道將會從經過的整組物品中拿出一個丟到另一條輸送帶上",
+ "create.ponder.andesite_tunnel.text_4": "剩餘物品則按照原路輸出",
+
+ "create.ponder.basin.header": "在作業盆中處理物品",
+ "create.ponder.basin.text_1": "作業盆可以放入物品或液體來進行處理",
+ "create.ponder.basin.text_2": "在每次的處理完成後, 作業盆會試著輸出成品到他的側面下方",
+ "create.ponder.basin.text_3": "當側面下方有一個有效的容器或設備, 作業盆側面會出現一個輸出嘴",
+ "create.ponder.basin.text_4": "有很多的容器或設備可以觸發上述現象",
+ "create.ponder.basin.text_5": "作業盆輸出的成品會被儲存到該容器或設備內",
+ "create.ponder.basin.text_6": "如果側面沒有出現輸出嘴, 則作業盆內的成品則不會輸出",
+ "create.ponder.basin.text_7": "這個原理用在產生的成品為下一輪處理的原料時相當有用",
+ "create.ponder.basin.text_8": "期望的成品將會從作業盆中輸出",
+ "create.ponder.basin.text_9": "加裝過濾器可防止未被處理的物品輸出",
+
+ "create.ponder.bearing_modes.header": "機械軸承的工作模式",
+ "create.ponder.bearing_modes.text_1": "當機械軸承停止時,它會控制整個結構停在最近的垂直線上並實體化",
+ "create.ponder.bearing_modes.text_2": "你可以控制它不要實體化,或是在結構起始位置才實體化",
+
+ "create.ponder.belt_casing.header": "包裹住輸送帶",
+ "create.ponder.belt_casing.text_1": "安山岩機殼或黃銅機殼可以用來裝飾輸送帶",
+ "create.ponder.belt_casing.text_2": "使用扳手可以移除機殼",
+
+ "create.ponder.belt_connector.header": "使用輸送帶",
+ "create.ponder.belt_connector.text_1": "手持輸送帶對兩根傳動軸右鍵以安裝輸送帶",
+ "create.ponder.belt_connector.text_2": "不小心點到傳動軸的話可以用潛行+右鍵來取消選取",
+ "create.ponder.belt_connector.text_3": "輸送帶間只要有空間就能安裝額外的傳動軸",
+ "create.ponder.belt_connector.text_4": "相同輸送帶接出來的傳動軸轉速及轉向會相同",
+ "create.ponder.belt_connector.text_5": "使用扳手可以移除已安裝的傳動軸",
+ "create.ponder.belt_connector.text_6": "輸送帶可以被各種染料染色",
+
+ "create.ponder.belt_directions.header": "輸送帶正確的安裝方向",
+ "create.ponder.belt_directions.text_1": "輸送帶不可以隨意聯結",
+ "create.ponder.belt_directions.text_2": "1. 輸送帶可以水平連結",
+ "create.ponder.belt_directions.text_3": "2. 輸送帶可以對角連結",
+ "create.ponder.belt_directions.text_4": "3. 輸送帶可以垂直連結",
+ "create.ponder.belt_directions.text_5": "4. 也可以連結在垂直的傳動軸上",
+ "create.ponder.belt_directions.text_6": "這些都是可以使用的連接方式,輸送帶可以放置的長度為2~20格",
+
+ "create.ponder.belt_transport.header": "將輸送帶用於後勤",
+ "create.ponder.belt_transport.text_1": "被啟動的輸送帶能運送物品及實體",
+ "create.ponder.belt_transport.text_2": "空手對輸送帶上的物品右鍵即可從輸送帶上取下物品",
+
+ "create.ponder.blaze_burner.header": "餵食烈焰使者動力爐",
+ "create.ponder.blaze_burner.text_1": "烈焰使者動力爐可以用來加熱作業盆",
+ "create.ponder.blaze_burner.text_2": "你需要餵食可以燃燒的物品來加熱作業盆",
+ "create.ponder.blaze_burner.text_3": "餵食熔岩蛋糕可以讓烈焰使者動力爐加熱到另一個更高的境界",
+ "create.ponder.blaze_burner.text_4": "使用機械手或機械手臂來將餵食自動化",
+
+ "create.ponder.brass_funnel.header": "黃銅漏斗",
+ "create.ponder.brass_funnel.text_1": "安山岩漏斗每次只能傳輸一個物品",
+ "create.ponder.brass_funnel.text_2": "但黃銅漏斗每次可以傳輸整組物品",
+ "create.ponder.brass_funnel.text_3": "對漏斗上的過濾格使用滾輪可以調整每次輸出物品的數量",
+ "create.ponder.brass_funnel.text_4": "手持物品對漏斗上的過濾格右鍵可以限制漏斗只輸出該物品",
+
+ "create.ponder.brass_tunnel.header": "使用黃銅隧道",
+ "create.ponder.brass_tunnel.text_1": "黃銅隧道必須裝設在輸送帶上",
+ "create.ponder.brass_tunnel.text_2": "黃銅隧道輸出入口上都有過濾格",
+ "create.ponder.brass_tunnel.text_3": "在輸入口上的過濾器會阻擋不相符的物品",
+ "create.ponder.brass_tunnel.text_4": "在輸出口上的過濾器可依種類整理排列物品",
+ "create.ponder.brass_tunnel.text_5": "如果數種與過濾相符的物品通過隧道, 隧道的分配模式將決定如何處理這些物品",
+ "create.ponder.brass_tunnel.text_6": "在平行相鄰的輸送帶上,相鄰的黃銅隧道將會成為一組",
+ "create.ponder.brass_tunnel.text_7": "輸入該組內的物品將會採用該組隧道的分配模式輸送",
+ "create.ponder.brass_tunnel.text_8": "在這個情況下, 物品也能被直接輸入到隧道方塊",
+
+ "create.ponder.brass_tunnel_modes.header": "黃銅隧道的分配模式",
+ "create.ponder.brass_tunnel_modes.text_1": "使用扳手來調整隧道的分配模式",
+ "create.ponder.brass_tunnel_modes.text_10": "'同步輸入' 是一種黃銅隧道的特殊設定",
+ "create.ponder.brass_tunnel_modes.text_11": "當同組內的所有隧道都有一個可通過的物品時,所有隧道才可輸出物品",
+ "create.ponder.brass_tunnel_modes.text_12": "這確保了同組隧道所在的輸送帶都能以同一速率輸出物品",
+ "create.ponder.brass_tunnel_modes.text_2": "'分流輸出' 此模式會將物品輸出到該組隧道可用的輸出口",
+ "create.ponder.brass_tunnel_modes.text_3": "如果該組隧道內某個輸出口無法再輸出物品,則該輸出口會被跳過",
+ "create.ponder.brass_tunnel_modes.text_4": "'強制分流輸出' 模式不會跳過某個無法輸出物品的輸出口, 直到該輸出口可以輸出物品",
+ "create.ponder.brass_tunnel_modes.text_5": "'輪詢輸入' 模式將會保持整組物品完整性, 然後在有輸出口可以輸出時才輸入物品",
+ "create.ponder.brass_tunnel_modes.text_6": "如果該組隧道內某個輸出口無法再輸出物品,則該輸出口會被跳過",
+ "create.ponder.brass_tunnel_modes.text_7": "'強制輪詢輸入' 模式不會跳過某個無法輸出物品的輸出口, 直到該輸出口可以輸出物品",
+ "create.ponder.brass_tunnel_modes.text_8": "'鄰近優先' 模式會將物品輸出到該組隧道離物品輸入口最近的出口",
+ "create.ponder.brass_tunnel_modes.text_9": "'隨機輸出' 模式會隨機選擇同組隧道的一個輸出口輸出",
+
+ "create.ponder.cart_assembler.header": "使用礦車裝修站裝修礦車來移動結構",
+ "create.ponder.cart_assembler.text_1": "礦車裝修站會將所有連接到礦車的結構裝在礦車上",
+ "create.ponder.cart_assembler.text_2": "如果沒有紅時訊號,它會將礦車結構分解成方塊",
+ "create.ponder.cart_assembler.text_3": "對礦車結構使用扳手可以將礦車變成物品",
+
+ "create.ponder.cart_assembler_dual.header": "雙礦車結構",
+ "create.ponder.cart_assembler_dual.text_1": "當兩台礦車在同一礦車結構上",
+ "create.ponder.cart_assembler_dual.text_2": "任一礦車裝修站收到紅石訊號時,會形成完整的一個礦車結構",
+ "create.ponder.cart_assembler_dual.text_3": "整個礦車結構會類似於用礦車連結器連接兩個礦車結構",
+
+ "create.ponder.cart_assembler_modes.header": "礦車結構的方向設定",
+ "create.ponder.cart_assembler_modes.text_1": "礦車結構會隨著礦車方向改變",
+ "create.ponder.cart_assembler_modes.text_2": "如果在裝修站鎖定其方向,則結構方向不會隨礦車方向改變",
+
+ "create.ponder.cart_assembler_rails.header": "其他種類的礦車和鐵軌",
+ "create.ponder.cart_assembler_rails.text_1": "放在普通鐵軌上的礦車裝修站不會影響礦車的動作",
+ "create.ponder.cart_assembler_rails.text_2": "如果裝修站在沒有紅石訊號的動力鐵軌或控制鐵軌上,則礦車會停下直到鐵軌收到紅石訊號",
+ "create.ponder.cart_assembler_rails.text_3": "有幾種礦車可以當作錨來使用",
+ "create.ponder.cart_assembler_rails.text_4": "熔爐礦車會盡可能維持熔煉狀態,並會拿取鄰近儲存結構上的燃料",
+
+ "create.ponder.chain_drive.header": "使用鏈式傳動箱傳遞動能",
+ "create.ponder.chain_drive.text_1": "同一排上的鏈式傳動箱會互相傳遞動能",
+ "create.ponder.chain_drive.text_2": "所有傳動軸此時會朝相同方向旋轉",
+ "create.ponder.chain_drive.text_3": "任一個鏈式傳動箱被旋轉90度時所有鏈式傳動箱仍可正常運作",
+
+ "create.ponder.chain_gearshift.header": "使用可調式鏈式變速箱來調整轉速",
+ "create.ponder.chain_gearshift.text_1": "未被控制的可調式鏈式變速箱與鏈式傳動箱無異",
+ "create.ponder.chain_gearshift.text_2": "當可調式鏈式變速箱被啟動後,它會把轉速提升兩倍傳至其他鏈式傳動箱",
+ "create.ponder.chain_gearshift.text_3": "當被啟動的可調式鏈式變速箱並不是動能輸入端,則它會把轉速減半",
+ "create.ponder.chain_gearshift.text_4": "上述兩種狀況中,其他鏈式傳動箱都會被可調式鏈式變速箱提升兩倍的轉速",
+ "create.ponder.chain_gearshift.text_5": "利用紅石訊號的強弱可以調整轉速倍率為x1或x2",
+ "create.ponder.chain_gearshift.text_6": "12 RPM",
+
+ "create.ponder.chute.header": "使用滑道向下輸送物品",
+ "create.ponder.chute.text_1": "滑道可以在兩個垂直的儲物空間中輸送物品",
+ "create.ponder.chute.text_2": "使用扳手可以讓它產生一個觀景窗",
+ "create.ponder.chute.text_3": "在滑道的側面放置另一個滑道,會產生一個斜狀的滑道",
+
+ "create.ponder.chute_upward.header": "使用滑道向上輸送物品",
+ "create.ponder.chute_upward.text_1": "在滑道上方或下方使用鼓風機時,物品會根據被向上或向下吹",
+ "create.ponder.chute_upward.text_2": "裝備MR護目鏡以觀測物品的傳輸方向",
+ "create.ponder.chute_upward.text_3": "如滑道底端被擋住,則物品只能由側邊進行輸出入",
+
+ "create.ponder.clockwork_bearing.header": "使用時鐘軸承來建造時鐘結構",
+ "create.ponder.clockwork_bearing.text_1": "時鐘軸承會黏住其前方方塊產生一個時針結構",
+ "create.ponder.clockwork_bearing.text_2": "在輸入動能後,該結構會依照遊戲時間來旋轉",
+ "create.ponder.clockwork_bearing.text_3": "3:00",
+ "create.ponder.clockwork_bearing.text_4": "4:00",
+ "create.ponder.clockwork_bearing.text_5": "對軸承右鍵會使結構啟動或停止",
+ "create.ponder.clockwork_bearing.text_6": "在時針結構的前方可再增加一組分針結構",
+ "create.ponder.clockwork_bearing.text_7": "你必須確保時針分針結構間未被使用強力膠之類的相連零件",
+ "create.ponder.clockwork_bearing.text_8": "分針結構此時將正常運作",
+
+ "create.ponder.clutch.header": "使用離合器控制動能",
+ "create.ponder.clutch.text_1": "離合器能將動能直線傳遞",
+ "create.ponder.clutch.text_2": "當離合器被啟動,離合器會中斷動能傳遞",
+
+ "create.ponder.cog_speedup.header": "使用大小齒輪來變速",
+ "create.ponder.cog_speedup.text_1": "大齒輪與小齒輪可以斜向傳遞動能",
+ "create.ponder.cog_speedup.text_2": "從大齒輪傳遞動能至小齒輪時,轉速加倍",
+ "create.ponder.cog_speedup.text_3": "從小齒輪傳遞動能至大齒輪時,轉速減半",
+
+ "create.ponder.cogwheel.header": "使用齒輪來傳遞動能",
+ "create.ponder.cogwheel.text_1": "齒輪會將動力傳遞至臨近的齒輪",
+ "create.ponder.cogwheel.text_2": "以此方式連接的齒輪,旋轉方向相反",
+
+ "create.ponder.creative_fluid_tank.header": "UNLOCALIZED: Creative Fluid Tanks",
+
+ "create.ponder.creative_motor.header": "使用創造馬達產生動能",
+ "create.ponder.creative_motor.text_1": "創造馬達不僅能夠手動設定輸出動能,而且體積相當小巧",
+ "create.ponder.creative_motor.text_2": "對其背後面板滾動滾輪,可以改變馬達的轉速",
+
+ "create.ponder.crushing_wheels.header": "使用粉碎輪處理物品",
+ "create.ponder.crushing_wheels.text_1": "一對粉碎輪,磨物快又準",
+ "create.ponder.crushing_wheels.text_2": "接入的動能必須使這兩個輪子契合轉動",
+ "create.ponder.crushing_wheels.text_3": "扔入或者放入的物品都會被粉碎處理",
+ "create.ponder.crushing_wheels.text_4": "你也可以使用自動化進行物品的輸入以及撿取",
+
+ "create.ponder.deployer.header": "使用機械手",
+ "create.ponder.deployer.text_1": "在機械手獲得動能後能夠模仿玩家的各種行為",
+ "create.ponder.deployer.text_10": "對機械手手部右鍵,即可將手上的物品給它使用",
+ "create.ponder.deployer.text_11": "物品也可以自動化輸入到機械手內",
+ "create.ponder.deployer.text_12": "機械手附帶一個過濾格",
+ "create.ponder.deployer.text_13": "當設定了過濾後,只有當它的手中物品與過濾格相符時,它才會工作",
+ "create.ponder.deployer.text_14": "只有與過濾格相符的物品才可輸入...",
+ "create.ponder.deployer.text_15": "...不符的物品可被取出來",
+ "create.ponder.deployer.text_2": "它只會與它正前方兩格處的位置進行互動",
+ "create.ponder.deployer.text_3": "放在在它面前的方塊不會阻攔它的工作",
+ "create.ponder.deployer.text_4": "機械手可以:",
+ "create.ponder.deployer.text_5": "放置方塊",
+ "create.ponder.deployer.text_6": "使用物品",
+ "create.ponder.deployer.text_7": "啟動方塊",
+ "create.ponder.deployer.text_8": "採收方塊",
+ "create.ponder.deployer.text_9": "以及攻擊生物",
+
+ "create.ponder.deployer_contraption.header": "在裝置上使用機械手",
+ "create.ponder.deployer_contraption.text_1": "當機械手在移動的結構上時...",
+ "create.ponder.deployer_contraption.text_2": "機械手會對每一個經過的方塊使用裝置中任意容器內的物品",
+ "create.ponder.deployer_contraption.text_3": "可以透過過濾格來指定其從存儲空間中抽取的物品",
+
+ "create.ponder.deployer_modes.header": "機械手的工作模式",
+ "create.ponder.deployer_modes.text_1": "在設設情況下,機械手模仿玩家的右鍵",
+ "create.ponder.deployer_modes.text_2": "使用扳手可以將模式調整為模仿玩家的左鍵",
+
+ "create.ponder.deployer_processing.header": "UNLOCALIZED: Processing Items using Deployers",
+ "create.ponder.deployer_processing.text_1": "UNLOCALIZED: With a fitting held item, Deployers can process items provided beneath them",
+ "create.ponder.deployer_processing.text_2": "UNLOCALIZED: The Input items can be dropped or placed on a Depot under the Deployer",
+ "create.ponder.deployer_processing.text_3": "UNLOCALIZED: When items are provided on a belt...",
+ "create.ponder.deployer_processing.text_4": "UNLOCALIZED: The Deployer will hold and process them automatically",
+
+ "create.ponder.deployer_redstone.header": "使用紅石控制機械手",
+ "create.ponder.deployer_redstone.text_1": "當機械手收到紅時訊號時會停止工作",
+ "create.ponder.deployer_redstone.text_2": "在停止工作前,機械手會完成目前手頭上的工作",
+ "create.ponder.deployer_redstone.text_3": "因此,輸入脈衝訊號可以使其每次只進行一個週期的工作",
+
+ "create.ponder.depot.header": "使用置物台",
+ "create.ponder.depot.text_1": "置物台可以被當成一個“靜止的”傳送帶原件使用",
+ "create.ponder.depot.text_2": "右擊可以手動放置或取下物品",
+ "create.ponder.depot.text_3": "與傳送帶一樣,它也可以將其內的物品轉送到其他設備中進行加工...",
+ "create.ponder.depot.text_4": "...同時物品也可以被機械手存取",
+
+ "create.ponder.empty_blaze_burner.header": "使用空的烈焰人燃燒室",
+ "create.ponder.empty_blaze_burner.text_1": "手持空的烈焰人燃燒室右擊烈焰人來抓取烈焰人",
+ "create.ponder.empty_blaze_burner.text_2": "或者,也可以透過右擊烈焰人刷怪籠來填充啟動烈焰人燃燒室",
+ "create.ponder.empty_blaze_burner.text_3": "這樣,你便有了一個可供部分機器加工的熱源",
+ "create.ponder.empty_blaze_burner.text_4": "如果是為了美觀,空的烈焰人燃燒室也可以被打火石點燃",
+ "create.ponder.empty_blaze_burner.text_5": "但是,這樣的熱源不足以給機器提加工供足夠的熱量",
+
+ "create.ponder.encased_fluid_pipe.header": "UNLOCALIZED: Encasing Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_1": "UNLOCALIZED: Copper Casing can be used to decorate Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_2": "UNLOCALIZED: Aside from being conceiled, Encased Pipes are locked into their connectivity state",
+ "create.ponder.encased_fluid_pipe.text_3": "UNLOCALIZED: It will no longer react to any neighbouring blocks being added or removed",
+
+ "create.ponder.fan_direction.header": "鼓風機的氣流",
+ "create.ponder.fan_direction.text_1": "鼓風機使用動能來製造氣流",
+ "create.ponder.fan_direction.text_2": "流速以及方向由所接收動能的強弱以及方向而定",
+
+ "create.ponder.fan_processing.header": "使用鼓風機加工物品",
+ "create.ponder.fan_processing.text_1": "當氣流吹過熔岩時,氣流會被加熱",
+ "create.ponder.fan_processing.text_2": "熱氣流中的物品會被冶煉",
+ "create.ponder.fan_processing.text_3": "但在氣流中的食物會被直接燒成灰",
+ "create.ponder.fan_processing.text_4": "而想要烹飪食物,必須要透過吹過火焰的氣流來煙燻食物",
+ "create.ponder.fan_processing.text_5": "當氣流吹過水後,便可用於洗滌物品",
+ "create.ponder.fan_processing.text_6": "這種加工方法可以做到不少有趣的事情",
+ "create.ponder.fan_processing.text_7": "鼓風機的轉速對加工的速度沒有影響,只影響氣流的吹拂距離",
+ "create.ponder.fan_processing.text_8": "而那些放置在置物台或者傳送帶上的物品,鼓風機也是可以處理的",
+
+ "create.ponder.fan_source.header": "使用鼓風機來產生動能",
+ "create.ponder.fan_source.text_1": "如鼓風機的扇葉向下朝著熱源放置,鼓風機可以藉此產生動能",
+ "create.ponder.fan_source.text_2": "當鼓風機接受紅石訊號後,它便會向外供給動能",
+
+ "create.ponder.fluid_pipe_flow.header": "UNLOCALIZED: Moving Fluids using Copper Pipes",
+ "create.ponder.fluid_pipe_flow.text_1": "UNLOCALIZED: Fluid Pipes can connect two or more fluid sources and targets",
+ "create.ponder.fluid_pipe_flow.text_2": "UNLOCALIZED: Using a wrench, a straight pipe segment can be given a window",
+ "create.ponder.fluid_pipe_flow.text_3": "UNLOCALIZED: Windowed pipes will not connect to any other adjacent pipe segments",
+ "create.ponder.fluid_pipe_flow.text_4": "UNLOCALIZED: Powered by Mechanical Pumps, the Pipes can transport Fluids",
+ "create.ponder.fluid_pipe_flow.text_5": "UNLOCALIZED: No fluid is being extracted at first",
+ "create.ponder.fluid_pipe_flow.text_6": "UNLOCALIZED: Once the flow connects them, the endpoints gradually transfer their contents",
+ "create.ponder.fluid_pipe_flow.text_7": "UNLOCALIZED: Thus, the Pipe blocks themselves never 'physically' contain any fluid",
+
+ "create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers",
+ "create.ponder.fluid_pipe_interaction.text_1": "UNLOCALIZED: Endpoints of a pipe network can interact with a variety of blocks",
+ "create.ponder.fluid_pipe_interaction.text_2": "UNLOCALIZED: Any block with fluid storage capabilities can be filled or drained",
+ "create.ponder.fluid_pipe_interaction.text_3": "UNLOCALIZED: Source blocks right in front of an open end can be picked up...",
+ "create.ponder.fluid_pipe_interaction.text_4": "UNLOCALIZED: ...while spilling into empty spaces can create fluid sources",
+ "create.ponder.fluid_pipe_interaction.text_5": "UNLOCALIZED: Pipes can also extract fluids from a handful of other blocks directly",
+
+ "create.ponder.fluid_tank_sizes.header": "UNLOCALIZED: Dimensions of a Fluid tank",
+
+ "create.ponder.fluid_tank_storage.header": "UNLOCALIZED: Storing Fluids in Fluid Tanks",
+
+ "create.ponder.flywheel.header": "使用飛輪來產生動能",
+ "create.ponder.flywheel.text_1": "飛輪和熔爐引擎必須配套使用,方可產生動能",
+ "create.ponder.flywheel.text_2": "如此產生的動能具有非常大的應力值",
+ "create.ponder.flywheel.text_3": "使用高爐會使得引擎的效率翻倍",
+
+ "create.ponder.funnel_compat.header": "漏斗的相容性",
+ "create.ponder.funnel_compat.text_1": "漏斗可以與一些其他組件互動",
+ "create.ponder.funnel_compat.text_2": "動力鋸",
+ "create.ponder.funnel_compat.text_3": "置物台",
+ "create.ponder.funnel_compat.text_4": "分液池",
+
+ "create.ponder.funnel_direction.header": "物流方向",
+ "create.ponder.funnel_direction.text_1": "直接放置時,漏斗會將物品從容器中取出",
+ "create.ponder.funnel_direction.text_2": "潛行時放置時,漏斗會將物品置入容器中",
+ "create.ponder.funnel_direction.text_3": "使用扳手可以改變漏斗的存/取模式",
+ "create.ponder.funnel_direction.text_4": "對大多數朝向放置的漏斗都具有此特性",
+ "create.ponder.funnel_direction.text_5": "在傳送帶末端放置的漏斗會根據傳送帶的傳動方向存/取物品",
+
+ "create.ponder.funnel_intro.header": "使用漏斗",
+ "create.ponder.funnel_intro.text_1": "用漏斗來存取物品欄內的物品,可謂又快又好",
+
+ "create.ponder.funnel_redstone.header": "紅石訊號控制",
+ "create.ponder.funnel_redstone.text_1": "紅石訊號會使漏斗停止工作",
+
+ "create.ponder.funnel_transfer.header": "直接運輸",
+ "create.ponder.funnel_transfer.text_1": "漏斗無法將物品傳輸到非開放式的物品欄中",
+ "create.ponder.funnel_transfer.text_2": "溜槽和智慧溜槽更適用於這樣的場景",
+ "create.ponder.funnel_transfer.text_3": "水平傳輸也是如此,也許傳送帶更方便快捷",
+
+ "create.ponder.furnace_engine.header": "使用熔爐引擎生產動能",
+ "create.ponder.furnace_engine.text_1": "熔爐引擎會在與其相連熔爐工作時生產動能",
+ "create.ponder.furnace_engine.text_2": "如此產生的動能具有非常大的應力值",
+ "create.ponder.furnace_engine.text_3": "使用高爐會使得引擎的效率翻倍",
+
+ "create.ponder.gantry_carriage.header": "使用起重機取物器",
+ "create.ponder.gantry_carriage.text_1": "起重機取物器可以被放置在起重機杆上,並且可以沿著起重機杆運動",
+ "create.ponder.gantry_carriage.text_2": "起重機可以移動其黏附的方塊",
+
+ "create.ponder.gantry_cascaded.header": "串聯起重機",
+ "create.ponder.gantry_cascaded.text_1": "無需強力膠,取物器便可與起重機杆相連",
+ "create.ponder.gantry_cascaded.text_2": "即使是在移動的起重機杆上也是如此",
+ "create.ponder.gantry_cascaded.text_3": "因此,起重機系統可以串聯起來,如此可以影響到多軸向的運動",
+
+ "create.ponder.gantry_direction.header": "起重機移動方向",
+ "create.ponder.gantry_direction.text_1": "起重機杆可以有相反的方向",
+ "create.ponder.gantry_direction.text_2": "取物器的移動方向取決於起重機杆的方向",
+ "create.ponder.gantry_direction.text_3": "......以及起重機杆的旋轉方向",
+ "create.ponder.gantry_direction.text_4": "在旋轉傳遞中,此規則同樣適用",
+
+ "create.ponder.gantry_redstone.header": "起重機的力傳遞",
+ "create.ponder.gantry_redstone.text_1": "被紅石訊號啟動的起重機,將不會移動其上的取物器",
+ "create.ponder.gantry_redstone.text_2": "作為替代,杆上的動能會傳遞到取物器的輸出杆上",
+
+ "create.ponder.gantry_shaft.header": "使用起重機杆",
+ "create.ponder.gantry_shaft.text_1": "起重機杆組成了起重機結構的基礎。與其相接的載物器可以沿著杆進行移動。",
+ "create.ponder.gantry_shaft.text_2": "起重機結構可以移動與其相接的方塊。",
+
+ "create.ponder.gearbox.header": "使用十字齒輪箱傳遞動能",
+ "create.ponder.gearbox.text_1": "更改旋轉軸,很容易使得整個旋轉體系變得臃腫不堪",
+ "create.ponder.gearbox.text_2": "十字齒輪箱則是替代方案,它的體積更為小巧緊",
+ "create.ponder.gearbox.text_3": "側邊連接的傳動桿,旋轉方向與輸入端一致",
+ "create.ponder.gearbox.text_4": "直線連接的傳動桿,旋轉方向會被反轉",
+
+ "create.ponder.gearshift.header": "使用反轉齒輪箱控制動能",
+ "create.ponder.gearshift.text_1": "反轉齒輪箱可以直線傳輸旋轉",
+ "create.ponder.gearshift.text_2": "通入紅石訊號後,輸出端的旋轉方向會被反轉",
+
+ "create.ponder.hand_crank.header": "使用手搖把手產生動能",
+ "create.ponder.hand_crank.text_1": "玩家可以使用手搖把手來手動產生動能",
+ "create.ponder.hand_crank.text_2": "按住右鍵可以逆時針旋轉它",
+ "create.ponder.hand_crank.text_3": "它產生的轉速相對較高",
+ "create.ponder.hand_crank.text_4": "潛行長按右鍵可以順時針旋轉它",
+
+ "create.ponder.hose_pulley.header": "UNLOCALIZED: Source Filling and Draining using Hose Pulleys",
+
+ "create.ponder.hose_pulley_infinite.header": "UNLOCALIZED: Passively Filling and Draining large bodies of Fluid",
+
+ "create.ponder.hose_pulley_level.header": "UNLOCALIZED: Fill and Drain level of Hose Pulleys",
+
+ "create.ponder.item_drain.header": "UNLOCALIZED: Emptying Fluid Containers using Item Drains",
+
+ "create.ponder.large_cogwheel.header": "使用大齒輪傳遞動能",
+ "create.ponder.large_cogwheel.text_1": "大齒輪可以以特定的角度相互連接",
+ "create.ponder.large_cogwheel.text_2": "可以利用大齒輪變更旋轉軸向",
+
+ "create.ponder.linear_chassis_attachment.header": "使用機殼底盤黏合方塊",
+ "create.ponder.linear_chassis_attachment.text_1": "它的開放面可以變為黏性面",
+ "create.ponder.linear_chassis_attachment.text_2": "再次點擊黏性面,可以將它的相反面也變得具有黏性",
+ "create.ponder.linear_chassis_attachment.text_3": "空手潛行右擊可以移除此面的黏性物",
+ "create.ponder.linear_chassis_attachment.text_4": "黏性面可以將此面前方的一長條方塊黏住",
+ "create.ponder.linear_chassis_attachment.text_5": "使用扳手可以精確控制底盤的影響範圍",
+ "create.ponder.linear_chassis_attachment.text_6": "按住 Ctrl 滑動滾輪,你可以一次性調節所有底盤的影響範圍",
+ "create.ponder.linear_chassis_attachment.text_7": "若想讓底盤的其他面也能黏方塊,你需要用到強力膠",
+ "create.ponder.linear_chassis_attachment.text_8": "利用這些機制,任何形狀的機制都可以像裝置那樣移動",
+
+ "create.ponder.linear_chassis_group.header": "成組移動機殼底盤",
+ "create.ponder.linear_chassis_group.text_1": "相鄰的機殼底盤可以相互連接在一起",
+ "create.ponder.linear_chassis_group.text_2": "其中的一個底盤若被移動,其餘的底盤也會跟著移動",
+ "create.ponder.linear_chassis_group.text_3": "不同種類的底盤,或者是朝向不一致的底盤,將不會相連",
+
+ "create.ponder.mechanical_arm.header": "設定動力臂",
+ "create.ponder.mechanical_arm.text_1": "你得在放置動力臂之前就設定好它的輸入以及輸出端",
+ "create.ponder.mechanical_arm.text_2": "手持動力臂右擊某個存儲空間,可以將其指定為目標",
+ "create.ponder.mechanical_arm.text_3": "再次右擊可以將其在輸入端(藍色)以及輸出端(橙色)之間切換",
+ "create.ponder.mechanical_arm.text_4": "左擊此組件可以移除選擇",
+ "create.ponder.mechanical_arm.text_5": "將動力臂放下來後,它會將此前選擇的方塊作為目標",
+ "create.ponder.mechanical_arm.text_6": "在有效範圍內,機械手臂可以有任意數量的輸出以及輸入端",
+ "create.ponder.mechanical_arm.text_7": "然而,並不是所有的存儲空間可以被直接互動",
+ "create.ponder.mechanical_arm.text_8": "在此情況下,漏斗和置物台可以解決此問題",
+
+ "create.ponder.mechanical_arm_filtering.header": "過濾動力臂的輸出端",
+ "create.ponder.mechanical_arm_filtering.text_1": "輸入",
+ "create.ponder.mechanical_arm_filtering.text_2": "輸出",
+ "create.ponder.mechanical_arm_filtering.text_3": "有時,你會想著利用某種過濾限煞車力臂的目標",
+ "create.ponder.mechanical_arm_filtering.text_4": "動力臂自身並不提供任何過濾選項",
+ "create.ponder.mechanical_arm_filtering.text_5": "然而,若將黃銅漏斗作為目標,則漏斗的過濾槽則可以應用至動力臂上",
+ "create.ponder.mechanical_arm_filtering.text_6": "動力臂足夠智慧,它不會去拿取那些它無法分配的物品",
+
+ "create.ponder.mechanical_arm_modes.header": "動力臂的分配模式",
+ "create.ponder.mechanical_arm_modes.text_1": "輸入",
+ "create.ponder.mechanical_arm_modes.text_2": "輸出",
+ "create.ponder.mechanical_arm_modes.text_3": "若動力臂必須在數個有效的輸出端之間作出選擇...",
+ "create.ponder.mechanical_arm_modes.text_4": "...它會依照自己的設定選擇特定的行為",
+ "create.ponder.mechanical_arm_modes.text_5": "手持扳手對其滑動滾輪,可以改變其設定",
+ "create.ponder.mechanical_arm_modes.text_6": "輪詢調度模式很好理解,即循環輸出至所有有效的輸出端",
+ "create.ponder.mechanical_arm_modes.text_7": "如果某個輸出端無法容納更多物品,則它會被跳過",
+ "create.ponder.mechanical_arm_modes.text_8": "強制輪詢調度不會跳過任何輸出端,動力臂會一直等待,直到輸出端有空位容納物品輸入",
+ "create.ponder.mechanical_arm_modes.text_9": "最近優先模式會使得動力臂先將物品輸出至更早被選擇的輸出端",
+
+ "create.ponder.mechanical_arm_redstone.header": "利用紅石訊號控制動力臂",
+ "create.ponder.mechanical_arm_redstone.text_1": "通入紅石訊號後,動力臂會停止工作",
+ "create.ponder.mechanical_arm_redstone.text_2": "在停止工作前,它會完成目前正在進行的工作週期",
+ "create.ponder.mechanical_arm_redstone.text_3": "因此,通入單次負紅石脈衝可以精確控制動力臂,使其每次只進行單個週期的工作",
+
+ "create.ponder.mechanical_bearing.header": "使用動力軸承移動結構",
+ "create.ponder.mechanical_bearing.text_1": "動力軸承會與其前方的方塊黏合在一起",
+ "create.ponder.mechanical_bearing.text_2": "接收到動能後,它會將這一黏合結構組裝為旋轉裝置",
+
+ "create.ponder.mechanical_crafter.header": "設置動力合成器",
+ "create.ponder.mechanical_crafter.text_1": "動力合成器陣列可用於自動化任何合成配方的製作",
+ "create.ponder.mechanical_crafter.text_2": "使用扳手可以調控合成器的合成通路",
+ "create.ponder.mechanical_crafter.text_3": "所有的合成通路必須匯集到任意一側的一個出口,整套合成器方可算是設置正確",
+ "create.ponder.mechanical_crafter.text_4": "輸出產物會被放入位於出口的存儲空間中",
+ "create.ponder.mechanical_crafter.text_5": "動力合成器的運轉需要動能的供應",
+ "create.ponder.mechanical_crafter.text_6": "右擊合成器正面,可以手動放入物品",
+ "create.ponder.mechanical_crafter.text_7": "一旦合成通路上的所有合成槽位都有了物品,合成就會開始",
+ "create.ponder.mechanical_crafter.text_8": "而對於那些沒有完全占滿所有合成器槽位的配方,你可以通入紅石訊號強制開啟合成",
+
+ "create.ponder.mechanical_crafter_connect.header": "為合成器連接物品欄",
+ "create.ponder.mechanical_crafter_connect.text_1": "合成器可以自動接受向其輸入的物品",
+ "create.ponder.mechanical_crafter_connect.text_2": "對其背面使用扳手,可以連接合成器",
+ "create.ponder.mechanical_crafter_connect.text_3": "所有相連的合成器可以訪問同一個位置的輸入",
+
+ "create.ponder.mechanical_crafter_covers.header": "蓋住動力合成器的合成槽",
+ "create.ponder.mechanical_crafter_covers.text_1": "有些配方需要額外的合成器,來補足合成通路上的間隙",
+ "create.ponder.mechanical_crafter_covers.text_2": "使用合成槽蓋板,合成器會在合成進行時的行為就如同一個空的合成槽位",
+ "create.ponder.mechanical_crafter_covers.text_3": "被蓋住的合成器並不會阻斷共享輸入端的影響",
+
+ "create.ponder.mechanical_drill.header": "使用機械鑽頭破壞方塊",
+ "create.ponder.mechanical_drill.text_1": "當向其通入動能後,機械鑽頭會破壞它面前的方塊",
+ "create.ponder.mechanical_drill.text_2": "它的挖掘速度取決於通入的動能轉速",
+
+ "create.ponder.mechanical_drill_contraption.header": "在裝置中使用機械鑽頭",
+ "create.ponder.mechanical_drill_contraption.text_1": "在運動裝置中使用機械鑽頭時...",
+ "create.ponder.mechanical_drill_contraption.text_2": "...它會破壞掉它撞上的方塊",
+
+ "create.ponder.mechanical_harvester.header": "在裝置中使用動力收割機",
+ "create.ponder.mechanical_harvester.text_1": "在運動裝置中使用動力收割機時...",
+ "create.ponder.mechanical_harvester.text_2": "它會採收其路徑上的作物,並重設這些作物的生長進度",
+
+ "create.ponder.mechanical_mixer.header": "使用動力攪拌器處理物品",
+ "create.ponder.mechanical_mixer.text_1": "使用攪拌器和工作盆,你可以自動化某些合成配方",
+ "create.ponder.mechanical_mixer.text_2": "有效配方包括各種無序合成配方,以及一些額外的配方",
+ "create.ponder.mechanical_mixer.text_3": "一些配方可能需要使用烈焰人燃燒室提供熱量",
+ "create.ponder.mechanical_mixer.text_4": "過濾槽可用於解決兩個配方相互衝突的情況",
+
+ "create.ponder.mechanical_piston.header": "使用動力活塞移動結構",
+ "create.ponder.mechanical_piston.text_1": "動力活塞可以移動它前方的方塊",
+ "create.ponder.mechanical_piston.text_2": "移動速度和方向取決於通入活塞的動能",
+ "create.ponder.mechanical_piston.text_3": "黏性動力活塞可以將相接的方塊拉回來",
+
+ "create.ponder.mechanical_piston_modes.header": "動力活塞的移動模式",
+ "create.ponder.mechanical_piston_modes.text_1": "一旦活塞停下,被移動的結構就會回退到方塊狀態",
+ "create.ponder.mechanical_piston_modes.text_2": "你也可以將其設定為從不方塊化,或者只在起始位置方塊化",
+
+ "create.ponder.mechanical_plough.header": "在裝置中使用動力犁",
+ "create.ponder.mechanical_plough.text_1": "在運動裝置中使用動力犁時...",
+ "create.ponder.mechanical_plough.text_2": "...它會破壞掉那些不具有固體碰撞箱的方塊",
+ "create.ponder.mechanical_plough.text_3": "此外,動力犁可以耕地",
+ "create.ponder.mechanical_plough.text_4": "...它也可以在不傷害實體的情況下推動它們",
+
+ "create.ponder.mechanical_press.header": "使用機械液壓機處理物品",
+ "create.ponder.mechanical_press.text_1": "機械液壓機可以處理位於其下方的物品",
+ "create.ponder.mechanical_press.text_2": "在其下方丟入物品,或者將物品放在置物台上,都算作有效的物品輸入",
+ "create.ponder.mechanical_press.text_3": "若物品被輸入時正位於傳送帶上...",
+ "create.ponder.mechanical_press.text_4": "輥軋機會使物品停下,然後自動處理這一物品",
+
+ "create.ponder.mechanical_press_compacting.header": "使用機械液壓機壓縮物品",
+ "create.ponder.mechanical_press_compacting.text_1": "對放置於工作盆內的物品進行輥軋,可以將這些物品壓縮在一起",
+ "create.ponder.mechanical_press_compacting.text_2": "壓縮意指任何同種物品填滿了 2x2 或者 3x3 網格的配方,以及一些額外的配方",
+ "create.ponder.mechanical_press_compacting.text_3": "一些配方可能需要烈焰人燃燒室提供熱量",
+ "create.ponder.mechanical_press_compacting.text_4": "過濾槽可用於解決兩個配方相互衝突的情況",
+
+ "create.ponder.mechanical_pump_flow.header": "UNLOCALIZED: Fluid Transportation using Mechanical Pumps",
+
+ "create.ponder.mechanical_pump_speed.header": "UNLOCALIZED: Throughput of Mechanical Pumps",
+
+ "create.ponder.mechanical_saw_breaker.header": "使用動力鋸伐木",
+ "create.ponder.mechanical_saw_breaker.text_1": "向其通入動能後,動力鋸可以直接砍伐掉它面前的樹木",
+ "create.ponder.mechanical_saw_breaker.text_2": "想要一次性砍掉整棵樹,鋸子必須破壞掉樹與地面連接的最後一個方塊",
+
+ "create.ponder.mechanical_saw_contraption.header": "在裝置中使用動力鋸",
+ "create.ponder.mechanical_saw_contraption.text_1": "若在運動裝置中使用動力鋸...",
+ "create.ponder.mechanical_saw_contraption.text_2": "...它會將撞到它的樹木破壞掉",
+
+ "create.ponder.mechanical_saw_processing.header": "使用動力鋸處理物品",
+ "create.ponder.mechanical_saw_processing.text_1": "面向朝上的動力鋸可以將物品處理為其變種",
+ "create.ponder.mechanical_saw_processing.text_2": "處理過後的物品的彈出方向始終與通入鋸中的旋轉轉向相反",
+ "create.ponder.mechanical_saw_processing.text_3": "鋸子可以",
+ "create.ponder.mechanical_saw_processing.text_4": "若輸入原料有多種可能產物,你可以用動力鋸上的過濾槽指定只產出某種產物",
+ "create.ponder.mechanical_saw_processing.text_5": "若沒有使用過濾槽,動力鋸會在各產物中按順序循環輸出",
+
+ "create.ponder.millstone.header": "使用石磨處理物品",
+ "create.ponder.millstone.text_1": "石磨會對輸入的物品進行磨製",
+ "create.ponder.millstone.text_2": "在其側邊使用齒輪與其相耦合,方可為其通入動力",
+ "create.ponder.millstone.text_3": "頂部可以丟入或者塞入物品",
+ "create.ponder.millstone.text_4": "一段時間過後,右擊石磨可以拿出其中的產物",
+ "create.ponder.millstone.text_5": "產物的提取也是可以自動化的",
+
+ "create.ponder.nixie_tube.header": "使用真空管顯示器",
+ "create.ponder.nixie_tube.text_1": "通入紅石訊號後,真空管顯示器會顯示出紅石訊號的強度",
+ "create.ponder.nixie_tube.text_2": "使用命名牌在鐵砧上為其命名,可以自訂它的顯示文本",
+
+ "create.ponder.piston_pole.header": "活塞延長杆",
+ "create.ponder.piston_pole.text_1": "若無相接的延長杆,動力活塞無法移動其他方塊",
+ "create.ponder.piston_pole.text_2": "在其背面安裝的延長杆長度,決定了活塞的推動範圍",
+
+ "create.ponder.portable_fluid_interface.header": "UNLOCALIZED: Contraption Fluid Exchange",
+
+ "create.ponder.portable_fluid_interface_redstone.header": "UNLOCALIZED: Redstone Control",
+
+ "create.ponder.portable_storage_interface.header": "裝置存儲交換",
+ "create.ponder.portable_storage_interface.text_1": "玩家無法與運動裝置內的存儲空間進行互動",
+ "create.ponder.portable_storage_interface.text_2": "這一組件可以在不停止裝置的情況下與裝置內的存儲空間進行互動",
+ "create.ponder.portable_storage_interface.text_3": "放置第二個介面時,記得要與裝置介面相隔 1 格或者 2 格的距離",
+ "create.ponder.portable_storage_interface.text_4": "當它們彼此經過時,它們會連接在一起",
+ "create.ponder.portable_storage_interface.text_5": "連接狀態下,固定側介面便會作為整個裝置的存儲空間代理",
+ "create.ponder.portable_storage_interface.text_6": "物品會被輸入到裝置內...",
+ "create.ponder.portable_storage_interface.text_7": "...或是從裝置中提取出來",
+ "create.ponder.portable_storage_interface.text_8": "物品交換完畢後,裝置仍然會停留在原地一小會,然後才會繼續前行",
+
+ "create.ponder.portable_storage_interface_redstone.header": "紅石控制",
+ "create.ponder.portable_storage_interface_redstone.text_1": "通入紅石訊號可以阻止固定側介面的連接行為",
+
+ "create.ponder.powered_latch.header": "使用閂鎖器控制訊號",
+ "create.ponder.powered_latch.text_1": "閂鎖器是一種可以用紅石訊號控制的拉杆",
+ "create.ponder.powered_latch.text_2": "後方輸入的訊號會將其設為開啟狀態",
+ "create.ponder.powered_latch.text_3": "側邊輸入的訊號會將其設為關閉狀態",
+ "create.ponder.powered_latch.text_4": "你也可以手動切換其狀態",
+
+ "create.ponder.powered_toggle_latch.header": "使用T型正反器控制訊號",
+ "create.ponder.powered_toggle_latch.text_1": "T型正反器是一種可以用紅石訊號控制的拉杆",
+ "create.ponder.powered_toggle_latch.text_2": "後方訊號輸入可以改變它的狀態",
+ "create.ponder.powered_toggle_latch.text_3": "...開啟或者是關閉",
+ "create.ponder.powered_toggle_latch.text_4": "你也可以手動切換其狀態",
+
+ "create.ponder.pulse_repeater.header": "使用脈衝中繼器控制訊號",
+ "create.ponder.pulse_repeater.text_1": "脈衝中繼器會將所有通入的紅石訊號縮減為一次脈衝",
+
+ "create.ponder.radial_chassis.header": "使用旋轉底盤黏著方塊",
+ "create.ponder.radial_chassis.text_1": "同一行上的旋轉底盤會相互連接在一起",
+ "create.ponder.radial_chassis.text_2": "當其中的一個底盤被裝置帶動時,其餘的底盤也會被帶動",
+ "create.ponder.radial_chassis.text_3": "底盤的側邊可以變為黏性面",
+ "create.ponder.radial_chassis.text_4": "再次點擊黏性面,可以讓其所有面都變得帶黏性",
+ "create.ponder.radial_chassis.text_5": "空手潛行右擊可以移除其上的黏性物",
+ "create.ponder.radial_chassis.text_6": "若有物品與底盤的黏性面相接觸...",
+ "create.ponder.radial_chassis.text_7": "...底盤便會與同層且位於半徑內的所有可及方塊黏著在一起",
+ "create.ponder.radial_chassis.text_8": "使用扳手可以精確指定底盤的影響範圍",
+ "create.ponder.radial_chassis.text_9": "黏性面一側的不可及方塊不會被黏著",
+
+ "create.ponder.redstone_contact.header": "接觸式紅石訊號發生器",
+ "create.ponder.redstone_contact.text_1": "當兩個接觸式紅石訊號發生器面對面時,它們會發出紅石訊號",
+ "create.ponder.redstone_contact.text_2": "並且,若有一方位於運動裝置上,此特性也能正常生效",
+
+ "create.ponder.redstone_link.header": "使用無線紅石訊號機",
+ "create.ponder.redstone_link.text_1": "無線紅石訊號機可以無線傳輸紅石訊號",
+ "create.ponder.redstone_link.text_2": "潛行右擊可以改變其接收模式",
+ "create.ponder.redstone_link.text_3": "手持扳手右擊也可以",
+ "create.ponder.redstone_link.text_4": "接收端會發出由傳輸端發來的訊號,有效距離為 128 格",
+ "create.ponder.redstone_link.text_5": "在它們所帶的槽位中放上物品,可以為它們指定頻道",
+ "create.ponder.redstone_link.text_6": "只有頻道相互匹配的機方可互通",
+
+ "create.ponder.rope_pulley.header": "使用繩索滑輪移動結構",
+ "create.ponder.rope_pulley.text_1": "繩索滑輪在接受動能時可以垂直移動方塊結構",
+ "create.ponder.rope_pulley.text_2": "移動的方向及速度取決於提供的轉速",
+
+ "create.ponder.rope_pulley_attachment.header": "繩索滑輪與裝置一同運動",
+ "create.ponder.rope_pulley_attachment.text_1": "當繩索滑輪本身在裝置中被帶動時...",
+ "create.ponder.rope_pulley_attachment.text_2": "...它附著在滑輪上的結構會被滑輪拉著一同移動",
+ "create.ponder.rope_pulley_attachment.text_3": "注意,只有繩索滑輪停止工作時才能被移動",
+
+ "create.ponder.rope_pulley_modes.header": "繩索滑輪的運動模式",
+ "create.ponder.rope_pulley_modes.text_1": "當繩索滑輪停止運動時,它所附屬的移動結構便會方塊化",
+ "create.ponder.rope_pulley_modes.text_2": "你可以調整整個結構永不方塊化,或者僅在結構的初始位置方塊化",
+
+ "create.ponder.rotation_speed_controller.header": "使用轉速控制器",
+ "create.ponder.rotation_speed_controller.text_1": "轉速控制器將動能從其轉軸傳遞至它上方的大齒輪",
+ "create.ponder.rotation_speed_controller.text_2": "在其側面滾動滑鼠滾輪,可以調節輸出轉速",
+
+ "create.ponder.sail.header": "使用風帆來組裝風車",
+ "create.ponder.sail.text_1": "風帆是製作風車的趁手材料",
+ "create.ponder.sail.text_2": "無需強力膠等黏附手段,它們便可自行互相連結",
+ "create.ponder.sail.text_3": "手持染料右擊可對其染色",
+ "create.ponder.sail.text_4": "手持剪刀右擊可剪除帆布,使其變迴風帆框架",
+
+ "create.ponder.sail_frame.header": "使用風帆框架來組裝風車",
+ "create.ponder.sail_frame.text_1": "風帆框架是製作風車的趁手材料",
+ "create.ponder.sail_frame.text_2": "無需強力膠等黏附手段,它們便可自行互相連結",
+
+ "create.ponder.sequenced_gearshift.header": "使用可編程齒輪箱來控制轉速",
+ "create.ponder.sequenced_gearshift.text_1": "可編程齒輪箱能夠根據玩家設置的預設時序表來傳遞旋轉",
+ "create.ponder.sequenced_gearshift.text_2": "對其右擊可以打開設置面板",
+ "create.ponder.sequenced_gearshift.text_3": "接受紅石訊號時,它會開始執行其內部已設定好的時序指令表",
+ "create.ponder.sequenced_gearshift.text_4": "當完成時序指令表後,它會進入待機狀態,再次接受紅石訊號後,它才會再次執行時序指令表內容",
+ "create.ponder.sequenced_gearshift.text_5": "紅石比較器可以讀取目前時序指令表完成進度",
+
+ "create.ponder.shaft.header": "使用傳動軸來傳送動能",
+ "create.ponder.shaft.text_1": "傳動軸可以直線傳送動能",
+
+ "create.ponder.shaft_casing.header": "包裹傳動軸",
+ "create.ponder.shaft_casing.text_1": "黃銅及安山岩機殼可以用來裝飾傳動軸",
+
+ "create.ponder.smart_chute.header": "使用智慧滑道來過濾物品",
+ "create.ponder.smart_chute.text_1": "智慧滑道是一種可以被控制的滑道",
+ "create.ponder.smart_chute.text_2": "當在其過濾槽內指定了物品後,溜槽只會傳輸這一指定標記的物品",
+ "create.ponder.smart_chute.text_3": "使用滑鼠滾輪可以指定被過濾的物品數量",
+ "create.ponder.smart_chute.text_4": "通入紅石訊號,智慧溜槽將會完全暫停工作",
+
+ "create.ponder.smart_pipe.header": "UNLOCALIZED: Controlling Fluid flow using Smart Pipes",
+
+ "create.ponder.speedometer.header": "使用速度計來監測轉速",
+ "create.ponder.speedometer.text_1": "速度計能顯示相接組件的轉速",
+ "create.ponder.speedometer.text_2": "當佩戴MR護目鏡時,可以看到儀表所顯示的更詳細的數據",
+ "create.ponder.speedometer.text_3": "紅石比較器可以根據速度計的數值輸出不同強弱的紅石訊號",
+
+ "create.ponder.spout_access.header": "UNLOCALIZED: Moving fluids into Spouts",
+
+ "create.ponder.spout_filling.header": "UNLOCALIZED: Filling Items using a Spout",
+
+ "create.ponder.stabilized_bearings.header": "裝置固定朝向",
+ "create.ponder.stabilized_bearings.text_1": "當動力軸承在結構被帶動時...",
+ "create.ponder.stabilized_bearings.text_2": "...它會確保它轉盤的垂直朝向不變",
+ "create.ponder.stabilized_bearings.text_3": "跟預設的一樣,動力軸承會黏著它前方的方塊",
+ "create.ponder.stabilized_bearings.text_4": "這種情況下,它所黏著的子結構的垂直朝向也不會改變",
+
+ "create.ponder.sticker.header": "使用方塊黏著器來黏取方塊",
+ "create.ponder.sticker.text_1": "方塊黏著器是一個很棒的裝置,他受控於紅石訊號",
+ "create.ponder.sticker.text_2": "當接收到訊號時,他會黏起面前的一個方塊",
+ "create.ponder.sticker.text_3": "如果此時方塊黏著器被移動,被黏到的方塊會跟著移動",
+ "create.ponder.sticker.text_4": "再次接收到訊號後,黏著器會放下它面前的方塊",
+
+ "create.ponder.stressometer.header": "使用動能錶來監測應力",
+ "create.ponder.stressometer.text_1": "動能錶能顯示目前動能網路內的應力訊息",
+ "create.ponder.stressometer.text_2": "當佩戴MR護目鏡時,可以看到儀表所顯示的更詳細的數據",
+ "create.ponder.stressometer.text_3": "紅石比較器可以根據動能錶的數值輸出不同強弱的紅石訊號",
+
+ "create.ponder.super_glue.header": "使用強力膠來黏附方塊",
+ "create.ponder.super_glue.text_1": "強力膠可以在任意兩個方塊間使用",
+ "create.ponder.super_glue.text_2": "當被黏合的方塊被組裝為裝置時,他們會一起運動",
+ "create.ponder.super_glue.text_3": "當強力膠在副手時...",
+ "create.ponder.super_glue.text_4": "...新放置的方塊會自動被黏附在所放置方塊的面上",
+ "create.ponder.super_glue.text_5": "左擊可以清除強力膠",
+
+ "create.ponder.valve_handle.header": "使用閥門手輪產生動能",
+ "create.ponder.valve_handle.text_1": "玩家可以手動使用閥門手輪來產生動能",
+ "create.ponder.valve_handle.text_2": "右擊可使它逆時針旋轉",
+ "create.ponder.valve_handle.text_3": "它的轉速慢而精確",
+ "create.ponder.valve_handle.text_4": "潛行右擊可使它順時針旋轉",
+ "create.ponder.valve_handle.text_5": "可以透過染色來美化閥門手輪",
+
+ "create.ponder.valve_pipe.header": "UNLOCALIZED: Controlling Fluid flow using Valves",
+
+ "create.ponder.water_wheel.header": "使用水車產生動能",
+ "create.ponder.water_wheel.text_1": "水車利用臨近的水流來進行應力發生",
+ "create.ponder.water_wheel.text_2": "水車接觸水流的麵越多,它的轉速越高",
+ "create.ponder.water_wheel.text_3": "水車葉片應逆著水流方向擺放",
+ "create.ponder.water_wheel.text_4": "如果順著水流擺放,它的效率則會降低",
+
+ "create.ponder.weighted_ejector.header": "使用彈射置物台",
+ "create.ponder.weighted_ejector.text_1": "手持彈射置物台時,潛行時右擊可以設置彈射目標位置",
+ "create.ponder.weighted_ejector.text_10": "現在,只有等被放置的物品數量等於所設定數量時,彈射置物台才會彈射物品",
+ "create.ponder.weighted_ejector.text_11": "當其他實體站在彈射置物台上時會被直接彈射",
+ "create.ponder.weighted_ejector.text_2": "現在,放置下的彈射置物台會將物品彈射至目標位置",
+ "create.ponder.weighted_ejector.text_3": "限制範圍內的任意距離和高度均可作為有效目標地點",
+ "create.ponder.weighted_ejector.text_4": "但是,目標位置與置物台的連線,必須垂直於置物台的側面",
+ "create.ponder.weighted_ejector.text_5": "如果沒有設置有效目標位置,彈射置物台會直接將其前方一格設為默認目標位置",
+ "create.ponder.weighted_ejector.text_6": "提供動能可為其蓄力",
+ "create.ponder.weighted_ejector.text_7": "蓄力完畢後,放置在它上方的物品會被立刻彈射出去",
+ "create.ponder.weighted_ejector.text_8": "如果目標為容器,則彈射置物台會等待容器有位置後再彈射物品",
+ "create.ponder.weighted_ejector.text_9": "使用扳手可以調整彈射所要求的物品數量",
+
+ "create.ponder.weighted_ejector_redstone.header": "使用紅石控制彈射置物台",
+ "create.ponder.weighted_ejector_redstone.text_1": "當被紅石充能時,彈射置物台停止工作",
+ "create.ponder.weighted_ejector_redstone.text_2": "此外,置物台彈射的瞬間可以被偵測器偵測",
+
+ "create.ponder.weighted_ejector_tunnel.header": "使用彈射置物台來分流物品",
+ "create.ponder.weighted_ejector_tunnel.text_1": "與黃銅隧道搭配使用時,彈射置物台可以將物品以特定數量進行分流",
+ "create.ponder.weighted_ejector_tunnel.text_2": "首先,將黃銅隧道調整為“最近優先”模式,從而讓它優先側面輸出",
+ "create.ponder.weighted_ejector_tunnel.text_3": "置物台上所設置的物品數量則為被分流出去的物品數量",
+ "create.ponder.weighted_ejector_tunnel.text_4": "當所設置的物品數量被分流出去後...",
+ "create.ponder.weighted_ejector_tunnel.text_5": "...剩餘的物品則會繼續前進",
+
+ "create.ponder.windmill_source.header": "使用風車軸承產生動能",
+ "create.ponder.windmill_source.text_1": "風車軸承會黏著它面前的方塊結構",
+ "create.ponder.windmill_source.text_2": "如果黏著的方塊結構包含足夠的風帆方塊即為風車",
+ "create.ponder.windmill_source.text_3": "右鍵啟動風車後,風車開始提供動能",
+ "create.ponder.windmill_source.text_4": "產生的動能將取決於所黏風帆方塊之數量",
+ "create.ponder.windmill_source.text_5": "使用扳手來調整其旋轉方向",
+ "create.ponder.windmill_source.text_6": "對風車軸承右鍵可使其停止方便你維修風車",
+
+ "create.ponder.windmill_structure.header": "風車結構",
+ "create.ponder.windmill_structure.text_1": "任一包含至少8個風帆方塊的結構即為有效的風車",
"_": "Thank you for translating Create!"
diff --git a/src/generated/resources/assets/create/models/item/crafting_blueprint.json b/src/generated/resources/assets/create/models/item/crafting_blueprint.json
new file mode 100644
index 000000000..94ec8d07a
--- /dev/null
+++ b/src/generated/resources/assets/create/models/item/crafting_blueprint.json
@@ -0,0 +1,6 @@
+{
+ "parent": "minecraft:item/generated",
+ "textures": {
+ "layer0": "create:item/crafting_blueprint"
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/create/models/item/linked_controller.json b/src/generated/resources/assets/create/models/item/linked_controller.json
new file mode 100644
index 000000000..6bf114f21
--- /dev/null
+++ b/src/generated/resources/assets/create/models/item/linked_controller.json
@@ -0,0 +1,3 @@
+{
+ "parent": "create:item/linked_controller/item"
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/create/sounds.json b/src/generated/resources/assets/create/sounds.json
index 61a42d76f..1052dd3a7 100644
--- a/src/generated/resources/assets/create/sounds.json
+++ b/src/generated/resources/assets/create/sounds.json
@@ -49,6 +49,15 @@
],
"subtitle": "create.subtitle.contraption_disassemble"
},
+ "controller_click": {
+ "sounds": [
+ {
+ "name": "minecraft:entity.item_frame.add_item",
+ "type": "event"
+ }
+ ],
+ "subtitle": "create.subtitle.controller_click"
+ },
"copper_armor_equip": {
"sounds": [
{
@@ -205,6 +214,42 @@
}
]
},
+ "saw_activate_stone": {
+ "sounds": [
+ {
+ "name": "minecraft:ui.stonecutter.take_result",
+ "type": "event"
+ }
+ ],
+ "subtitle": "create.subtitle.saw_activate_stone"
+ },
+ "saw_activate_wood": {
+ "sounds": [
+ {
+ "name": "minecraft:entity.boat.paddle_land",
+ "type": "event"
+ }
+ ],
+ "subtitle": "create.subtitle.saw_activate_wood"
+ },
+ "saw_idle": {
+ "sounds": [
+ {
+ "name": "minecraft:entity.boat.paddle_land",
+ "type": "event"
+ }
+ ],
+ "subtitle": "create.subtitle.saw_idle"
+ },
+ "saw_process": {
+ "sounds": [
+ {
+ "name": "minecraft:block.sand.place",
+ "type": "event"
+ }
+ ],
+ "subtitle": "create.subtitle.saw_process"
+ },
"schematicannon_finish": {
"sounds": [
{
diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/andesite.json b/src/generated/resources/data/create/advancements/recipes/building_blocks/andesite.json
new file mode 100644
index 000000000..344f964cc
--- /dev/null
+++ b/src/generated/resources/data/create/advancements/recipes/building_blocks/andesite.json
@@ -0,0 +1,32 @@
+{
+ "parent": "minecraft:recipes/root",
+ "rewards": {
+ "recipes": [
+ "create:andesite"
+ ]
+ },
+ "criteria": {
+ "has_andesite_cobblestone": {
+ "trigger": "minecraft:inventory_changed",
+ "conditions": {
+ "items": [
+ {
+ "item": "create:andesite_cobblestone"
+ }
+ ]
+ }
+ },
+ "has_the_recipe": {
+ "trigger": "minecraft:recipe_unlocked",
+ "conditions": {
+ "recipe": "create:andesite"
+ }
+ }
+ },
+ "requirements": [
+ [
+ "has_andesite_cobblestone",
+ "has_the_recipe"
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/diorite.json b/src/generated/resources/data/create/advancements/recipes/building_blocks/diorite.json
new file mode 100644
index 000000000..df09f4529
--- /dev/null
+++ b/src/generated/resources/data/create/advancements/recipes/building_blocks/diorite.json
@@ -0,0 +1,32 @@
+{
+ "parent": "minecraft:recipes/root",
+ "rewards": {
+ "recipes": [
+ "create:diorite"
+ ]
+ },
+ "criteria": {
+ "has_diorite_cobblestone": {
+ "trigger": "minecraft:inventory_changed",
+ "conditions": {
+ "items": [
+ {
+ "item": "create:diorite_cobblestone"
+ }
+ ]
+ }
+ },
+ "has_the_recipe": {
+ "trigger": "minecraft:recipe_unlocked",
+ "conditions": {
+ "recipe": "create:diorite"
+ }
+ }
+ },
+ "requirements": [
+ [
+ "has_diorite_cobblestone",
+ "has_the_recipe"
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/create/advancements/recipes/building_blocks/granite.json b/src/generated/resources/data/create/advancements/recipes/building_blocks/granite.json
new file mode 100644
index 000000000..f0a2adf3f
--- /dev/null
+++ b/src/generated/resources/data/create/advancements/recipes/building_blocks/granite.json
@@ -0,0 +1,32 @@
+{
+ "parent": "minecraft:recipes/root",
+ "rewards": {
+ "recipes": [
+ "create:granite"
+ ]
+ },
+ "criteria": {
+ "has_granite_cobblestone": {
+ "trigger": "minecraft:inventory_changed",
+ "conditions": {
+ "items": [
+ {
+ "item": "create:granite_cobblestone"
+ }
+ ]
+ }
+ },
+ "has_the_recipe": {
+ "trigger": "minecraft:recipe_unlocked",
+ "conditions": {
+ "recipe": "create:granite"
+ }
+ }
+ },
+ "requirements": [
+ [
+ "has_granite_cobblestone",
+ "has_the_recipe"
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/create/advancements/recipes/create.base/crafting/appliances/crafting_blueprint.json b/src/generated/resources/data/create/advancements/recipes/create.base/crafting/appliances/crafting_blueprint.json
new file mode 100644
index 000000000..e1d2038ea
--- /dev/null
+++ b/src/generated/resources/data/create/advancements/recipes/create.base/crafting/appliances/crafting_blueprint.json
@@ -0,0 +1,32 @@
+{
+ "parent": "minecraft:recipes/root",
+ "rewards": {
+ "recipes": [
+ "create:crafting/appliances/crafting_blueprint"
+ ]
+ },
+ "criteria": {
+ "has_item": {
+ "trigger": "minecraft:inventory_changed",
+ "conditions": {
+ "items": [
+ {
+ "item": "minecraft:crafting_table"
+ }
+ ]
+ }
+ },
+ "has_the_recipe": {
+ "trigger": "minecraft:recipe_unlocked",
+ "conditions": {
+ "recipe": "create:crafting/appliances/crafting_blueprint"
+ }
+ }
+ },
+ "requirements": [
+ [
+ "has_item",
+ "has_the_recipe"
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/create/advancements/recipes/create.base/crafting/appliances/linked_controller.json b/src/generated/resources/data/create/advancements/recipes/create.base/crafting/appliances/linked_controller.json
new file mode 100644
index 000000000..ef2c10afb
--- /dev/null
+++ b/src/generated/resources/data/create/advancements/recipes/create.base/crafting/appliances/linked_controller.json
@@ -0,0 +1,32 @@
+{
+ "parent": "minecraft:recipes/root",
+ "rewards": {
+ "recipes": [
+ "create:crafting/appliances/linked_controller"
+ ]
+ },
+ "criteria": {
+ "has_item": {
+ "trigger": "minecraft:inventory_changed",
+ "conditions": {
+ "items": [
+ {
+ "item": "create:redstone_link"
+ }
+ ]
+ }
+ },
+ "has_the_recipe": {
+ "trigger": "minecraft:recipe_unlocked",
+ "conditions": {
+ "recipe": "create:crafting/appliances/linked_controller"
+ }
+ }
+ },
+ "requirements": [
+ [
+ "has_item",
+ "has_the_recipe"
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/create/advancements/recipes/create.palettes/andesite_pillar.json b/src/generated/resources/data/create/advancements/recipes/create.palettes/andesite_pillar.json
index f8b57edb6..7c9df9388 100644
--- a/src/generated/resources/data/create/advancements/recipes/create.palettes/andesite_pillar.json
+++ b/src/generated/resources/data/create/advancements/recipes/create.palettes/andesite_pillar.json
@@ -6,7 +6,7 @@
]
},
"criteria": {
- "has_ingredient": {
+ "has_andesite": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
@@ -25,7 +25,7 @@
},
"requirements": [
[
- "has_ingredient",
+ "has_andesite",
"has_the_recipe"
]
]
diff --git a/src/generated/resources/data/create/advancements/recipes/create.palettes/dark_scoria.json b/src/generated/resources/data/create/advancements/recipes/create.palettes/dark_scoria.json
new file mode 100644
index 000000000..48a14dd4b
--- /dev/null
+++ b/src/generated/resources/data/create/advancements/recipes/create.palettes/dark_scoria.json
@@ -0,0 +1,32 @@
+{
+ "parent": "minecraft:recipes/root",
+ "rewards": {
+ "recipes": [
+ "create:dark_scoria"
+ ]
+ },
+ "criteria": {
+ "has_dark_scoria_cobblestone": {
+ "trigger": "minecraft:inventory_changed",
+ "conditions": {
+ "items": [
+ {
+ "item": "create:dark_scoria_cobblestone"
+ }
+ ]
+ }
+ },
+ "has_the_recipe": {
+ "trigger": "minecraft:recipe_unlocked",
+ "conditions": {
+ "recipe": "create:dark_scoria"
+ }
+ }
+ },
+ "requirements": [
+ [
+ "has_dark_scoria_cobblestone",
+ "has_the_recipe"
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/create/advancements/recipes/create.palettes/dark_scoria_pillar.json b/src/generated/resources/data/create/advancements/recipes/create.palettes/dark_scoria_pillar.json
index 351c3e02c..dc1bc8e5e 100644
--- a/src/generated/resources/data/create/advancements/recipes/create.palettes/dark_scoria_pillar.json
+++ b/src/generated/resources/data/create/advancements/recipes/create.palettes/dark_scoria_pillar.json
@@ -6,7 +6,7 @@
]
},
"criteria": {
- "has_ingredient": {
+ "has_dark_scoria": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
@@ -25,7 +25,7 @@
},
"requirements": [
[
- "has_ingredient",
+ "has_dark_scoria",
"has_the_recipe"
]
]
diff --git a/src/generated/resources/data/create/advancements/recipes/create.palettes/diorite_pillar.json b/src/generated/resources/data/create/advancements/recipes/create.palettes/diorite_pillar.json
index fea456f6c..846e74a19 100644
--- a/src/generated/resources/data/create/advancements/recipes/create.palettes/diorite_pillar.json
+++ b/src/generated/resources/data/create/advancements/recipes/create.palettes/diorite_pillar.json
@@ -6,7 +6,7 @@
]
},
"criteria": {
- "has_ingredient": {
+ "has_diorite": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
@@ -25,7 +25,7 @@
},
"requirements": [
[
- "has_ingredient",
+ "has_diorite",
"has_the_recipe"
]
]
diff --git a/src/generated/resources/data/create/advancements/recipes/create.palettes/dolomite.json b/src/generated/resources/data/create/advancements/recipes/create.palettes/dolomite.json
new file mode 100644
index 000000000..2ee623acf
--- /dev/null
+++ b/src/generated/resources/data/create/advancements/recipes/create.palettes/dolomite.json
@@ -0,0 +1,32 @@
+{
+ "parent": "minecraft:recipes/root",
+ "rewards": {
+ "recipes": [
+ "create:dolomite"
+ ]
+ },
+ "criteria": {
+ "has_dolomite_cobblestone": {
+ "trigger": "minecraft:inventory_changed",
+ "conditions": {
+ "items": [
+ {
+ "item": "create:dolomite_cobblestone"
+ }
+ ]
+ }
+ },
+ "has_the_recipe": {
+ "trigger": "minecraft:recipe_unlocked",
+ "conditions": {
+ "recipe": "create:dolomite"
+ }
+ }
+ },
+ "requirements": [
+ [
+ "has_dolomite_cobblestone",
+ "has_the_recipe"
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/create/advancements/recipes/create.palettes/dolomite_pillar.json b/src/generated/resources/data/create/advancements/recipes/create.palettes/dolomite_pillar.json
index ec49ae69a..d82162c4d 100644
--- a/src/generated/resources/data/create/advancements/recipes/create.palettes/dolomite_pillar.json
+++ b/src/generated/resources/data/create/advancements/recipes/create.palettes/dolomite_pillar.json
@@ -6,7 +6,7 @@
]
},
"criteria": {
- "has_ingredient": {
+ "has_dolomite": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
@@ -25,7 +25,7 @@
},
"requirements": [
[
- "has_ingredient",
+ "has_dolomite",
"has_the_recipe"
]
]
diff --git a/src/generated/resources/data/create/advancements/recipes/create.palettes/gabbro.json b/src/generated/resources/data/create/advancements/recipes/create.palettes/gabbro.json
new file mode 100644
index 000000000..85c5c99b3
--- /dev/null
+++ b/src/generated/resources/data/create/advancements/recipes/create.palettes/gabbro.json
@@ -0,0 +1,32 @@
+{
+ "parent": "minecraft:recipes/root",
+ "rewards": {
+ "recipes": [
+ "create:gabbro"
+ ]
+ },
+ "criteria": {
+ "has_gabbro_cobblestone": {
+ "trigger": "minecraft:inventory_changed",
+ "conditions": {
+ "items": [
+ {
+ "item": "create:gabbro_cobblestone"
+ }
+ ]
+ }
+ },
+ "has_the_recipe": {
+ "trigger": "minecraft:recipe_unlocked",
+ "conditions": {
+ "recipe": "create:gabbro"
+ }
+ }
+ },
+ "requirements": [
+ [
+ "has_gabbro_cobblestone",
+ "has_the_recipe"
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/create/advancements/recipes/create.palettes/gabbro_pillar.json b/src/generated/resources/data/create/advancements/recipes/create.palettes/gabbro_pillar.json
index f6ec9691f..d33f4e3f3 100644
--- a/src/generated/resources/data/create/advancements/recipes/create.palettes/gabbro_pillar.json
+++ b/src/generated/resources/data/create/advancements/recipes/create.palettes/gabbro_pillar.json
@@ -6,7 +6,7 @@
]
},
"criteria": {
- "has_ingredient": {
+ "has_gabbro": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
@@ -25,7 +25,7 @@
},
"requirements": [
[
- "has_ingredient",
+ "has_gabbro",
"has_the_recipe"
]
]
diff --git a/src/generated/resources/data/create/advancements/recipes/create.palettes/granite_pillar.json b/src/generated/resources/data/create/advancements/recipes/create.palettes/granite_pillar.json
index 38443374f..884b1e38c 100644
--- a/src/generated/resources/data/create/advancements/recipes/create.palettes/granite_pillar.json
+++ b/src/generated/resources/data/create/advancements/recipes/create.palettes/granite_pillar.json
@@ -6,7 +6,7 @@
]
},
"criteria": {
- "has_ingredient": {
+ "has_granite": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
@@ -25,7 +25,7 @@
},
"requirements": [
[
- "has_ingredient",
+ "has_granite",
"has_the_recipe"
]
]
diff --git a/src/generated/resources/data/create/advancements/recipes/create.palettes/limestone.json b/src/generated/resources/data/create/advancements/recipes/create.palettes/limestone.json
new file mode 100644
index 000000000..1b38ab26f
--- /dev/null
+++ b/src/generated/resources/data/create/advancements/recipes/create.palettes/limestone.json
@@ -0,0 +1,32 @@
+{
+ "parent": "minecraft:recipes/root",
+ "rewards": {
+ "recipes": [
+ "create:limestone"
+ ]
+ },
+ "criteria": {
+ "has_limestone_cobblestone": {
+ "trigger": "minecraft:inventory_changed",
+ "conditions": {
+ "items": [
+ {
+ "item": "create:limestone_cobblestone"
+ }
+ ]
+ }
+ },
+ "has_the_recipe": {
+ "trigger": "minecraft:recipe_unlocked",
+ "conditions": {
+ "recipe": "create:limestone"
+ }
+ }
+ },
+ "requirements": [
+ [
+ "has_limestone_cobblestone",
+ "has_the_recipe"
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/create/advancements/recipes/create.palettes/limestone_pillar.json b/src/generated/resources/data/create/advancements/recipes/create.palettes/limestone_pillar.json
index 8150f5a59..2690c0cfc 100644
--- a/src/generated/resources/data/create/advancements/recipes/create.palettes/limestone_pillar.json
+++ b/src/generated/resources/data/create/advancements/recipes/create.palettes/limestone_pillar.json
@@ -6,7 +6,7 @@
]
},
"criteria": {
- "has_ingredient": {
+ "has_limestone": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
@@ -25,7 +25,7 @@
},
"requirements": [
[
- "has_ingredient",
+ "has_limestone",
"has_the_recipe"
]
]
diff --git a/src/generated/resources/data/create/advancements/recipes/create.palettes/scoria.json b/src/generated/resources/data/create/advancements/recipes/create.palettes/scoria.json
new file mode 100644
index 000000000..fc94ffc6f
--- /dev/null
+++ b/src/generated/resources/data/create/advancements/recipes/create.palettes/scoria.json
@@ -0,0 +1,32 @@
+{
+ "parent": "minecraft:recipes/root",
+ "rewards": {
+ "recipes": [
+ "create:scoria"
+ ]
+ },
+ "criteria": {
+ "has_scoria_cobblestone": {
+ "trigger": "minecraft:inventory_changed",
+ "conditions": {
+ "items": [
+ {
+ "item": "create:scoria_cobblestone"
+ }
+ ]
+ }
+ },
+ "has_the_recipe": {
+ "trigger": "minecraft:recipe_unlocked",
+ "conditions": {
+ "recipe": "create:scoria"
+ }
+ }
+ },
+ "requirements": [
+ [
+ "has_scoria_cobblestone",
+ "has_the_recipe"
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/create/advancements/recipes/create.palettes/scoria_pillar.json b/src/generated/resources/data/create/advancements/recipes/create.palettes/scoria_pillar.json
index 7d8e33863..e21ba1a34 100644
--- a/src/generated/resources/data/create/advancements/recipes/create.palettes/scoria_pillar.json
+++ b/src/generated/resources/data/create/advancements/recipes/create.palettes/scoria_pillar.json
@@ -6,7 +6,7 @@
]
},
"criteria": {
- "has_ingredient": {
+ "has_scoria": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
@@ -25,7 +25,7 @@
},
"requirements": [
[
- "has_ingredient",
+ "has_scoria",
"has_the_recipe"
]
]
diff --git a/src/generated/resources/data/create/advancements/recipes/create.palettes/weathered_limestone.json b/src/generated/resources/data/create/advancements/recipes/create.palettes/weathered_limestone.json
new file mode 100644
index 000000000..2b7672332
--- /dev/null
+++ b/src/generated/resources/data/create/advancements/recipes/create.palettes/weathered_limestone.json
@@ -0,0 +1,32 @@
+{
+ "parent": "minecraft:recipes/root",
+ "rewards": {
+ "recipes": [
+ "create:weathered_limestone"
+ ]
+ },
+ "criteria": {
+ "has_weathered_limestone_cobblestone": {
+ "trigger": "minecraft:inventory_changed",
+ "conditions": {
+ "items": [
+ {
+ "item": "create:weathered_limestone_cobblestone"
+ }
+ ]
+ }
+ },
+ "has_the_recipe": {
+ "trigger": "minecraft:recipe_unlocked",
+ "conditions": {
+ "recipe": "create:weathered_limestone"
+ }
+ }
+ },
+ "requirements": [
+ [
+ "has_weathered_limestone_cobblestone",
+ "has_the_recipe"
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/create/advancements/recipes/create.palettes/weathered_limestone_pillar.json b/src/generated/resources/data/create/advancements/recipes/create.palettes/weathered_limestone_pillar.json
index e9b129e93..6acc03c00 100644
--- a/src/generated/resources/data/create/advancements/recipes/create.palettes/weathered_limestone_pillar.json
+++ b/src/generated/resources/data/create/advancements/recipes/create.palettes/weathered_limestone_pillar.json
@@ -6,7 +6,7 @@
]
},
"criteria": {
- "has_ingredient": {
+ "has_weathered_limestone": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
@@ -25,7 +25,7 @@
},
"requirements": [
[
- "has_ingredient",
+ "has_weathered_limestone",
"has_the_recipe"
]
]
diff --git a/src/generated/resources/data/create/loot_tables/blocks/dark_scoria.json b/src/generated/resources/data/create/loot_tables/blocks/dark_scoria.json
index c26589bf5..912caa5f7 100644
--- a/src/generated/resources/data/create/loot_tables/blocks/dark_scoria.json
+++ b/src/generated/resources/data/create/loot_tables/blocks/dark_scoria.json
@@ -5,13 +5,37 @@
"rolls": 1,
"entries": [
{
- "type": "minecraft:item",
- "name": "create:dark_scoria"
- }
- ],
- "conditions": [
- {
- "condition": "minecraft:survives_explosion"
+ "type": "minecraft:alternatives",
+ "children": [
+ {
+ "type": "minecraft:item",
+ "conditions": [
+ {
+ "condition": "minecraft:match_tool",
+ "predicate": {
+ "enchantments": [
+ {
+ "enchantment": "minecraft:silk_touch",
+ "levels": {
+ "min": 1
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "name": "create:dark_scoria"
+ },
+ {
+ "type": "minecraft:item",
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
+ "name": "create:dark_scoria_cobblestone"
+ }
+ ]
}
]
}
diff --git a/src/generated/resources/data/create/loot_tables/blocks/dolomite.json b/src/generated/resources/data/create/loot_tables/blocks/dolomite.json
index d97bb3322..4085d60be 100644
--- a/src/generated/resources/data/create/loot_tables/blocks/dolomite.json
+++ b/src/generated/resources/data/create/loot_tables/blocks/dolomite.json
@@ -5,13 +5,37 @@
"rolls": 1,
"entries": [
{
- "type": "minecraft:item",
- "name": "create:dolomite"
- }
- ],
- "conditions": [
- {
- "condition": "minecraft:survives_explosion"
+ "type": "minecraft:alternatives",
+ "children": [
+ {
+ "type": "minecraft:item",
+ "conditions": [
+ {
+ "condition": "minecraft:match_tool",
+ "predicate": {
+ "enchantments": [
+ {
+ "enchantment": "minecraft:silk_touch",
+ "levels": {
+ "min": 1
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "name": "create:dolomite"
+ },
+ {
+ "type": "minecraft:item",
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
+ "name": "create:dolomite_cobblestone"
+ }
+ ]
}
]
}
diff --git a/src/generated/resources/data/create/loot_tables/blocks/gabbro.json b/src/generated/resources/data/create/loot_tables/blocks/gabbro.json
index 8446b845e..2f477a53e 100644
--- a/src/generated/resources/data/create/loot_tables/blocks/gabbro.json
+++ b/src/generated/resources/data/create/loot_tables/blocks/gabbro.json
@@ -5,13 +5,37 @@
"rolls": 1,
"entries": [
{
- "type": "minecraft:item",
- "name": "create:gabbro"
- }
- ],
- "conditions": [
- {
- "condition": "minecraft:survives_explosion"
+ "type": "minecraft:alternatives",
+ "children": [
+ {
+ "type": "minecraft:item",
+ "conditions": [
+ {
+ "condition": "minecraft:match_tool",
+ "predicate": {
+ "enchantments": [
+ {
+ "enchantment": "minecraft:silk_touch",
+ "levels": {
+ "min": 1
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "name": "create:gabbro"
+ },
+ {
+ "type": "minecraft:item",
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
+ "name": "create:gabbro_cobblestone"
+ }
+ ]
}
]
}
diff --git a/src/generated/resources/data/create/loot_tables/blocks/limestone.json b/src/generated/resources/data/create/loot_tables/blocks/limestone.json
index acec889d0..e5b513a61 100644
--- a/src/generated/resources/data/create/loot_tables/blocks/limestone.json
+++ b/src/generated/resources/data/create/loot_tables/blocks/limestone.json
@@ -5,13 +5,37 @@
"rolls": 1,
"entries": [
{
- "type": "minecraft:item",
- "name": "create:limestone"
- }
- ],
- "conditions": [
- {
- "condition": "minecraft:survives_explosion"
+ "type": "minecraft:alternatives",
+ "children": [
+ {
+ "type": "minecraft:item",
+ "conditions": [
+ {
+ "condition": "minecraft:match_tool",
+ "predicate": {
+ "enchantments": [
+ {
+ "enchantment": "minecraft:silk_touch",
+ "levels": {
+ "min": 1
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "name": "create:limestone"
+ },
+ {
+ "type": "minecraft:item",
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
+ "name": "create:limestone_cobblestone"
+ }
+ ]
}
]
}
diff --git a/src/generated/resources/data/create/loot_tables/blocks/schematicannon.json b/src/generated/resources/data/create/loot_tables/blocks/schematicannon.json
index 255327042..16d2e3ed1 100644
--- a/src/generated/resources/data/create/loot_tables/blocks/schematicannon.json
+++ b/src/generated/resources/data/create/loot_tables/blocks/schematicannon.json
@@ -6,6 +6,19 @@
"entries": [
{
"type": "minecraft:item",
+ "functions": [
+ {
+ "function": "minecraft:copy_nbt",
+ "source": "block_entity",
+ "ops": [
+ {
+ "source": "Options",
+ "target": "BlockEntityTag.Options",
+ "op": "replace"
+ }
+ ]
+ }
+ ],
"name": "create:schematicannon"
}
],
diff --git a/src/generated/resources/data/create/loot_tables/blocks/scoria.json b/src/generated/resources/data/create/loot_tables/blocks/scoria.json
index 0025a35ae..a119016fa 100644
--- a/src/generated/resources/data/create/loot_tables/blocks/scoria.json
+++ b/src/generated/resources/data/create/loot_tables/blocks/scoria.json
@@ -5,13 +5,37 @@
"rolls": 1,
"entries": [
{
- "type": "minecraft:item",
- "name": "create:scoria"
- }
- ],
- "conditions": [
- {
- "condition": "minecraft:survives_explosion"
+ "type": "minecraft:alternatives",
+ "children": [
+ {
+ "type": "minecraft:item",
+ "conditions": [
+ {
+ "condition": "minecraft:match_tool",
+ "predicate": {
+ "enchantments": [
+ {
+ "enchantment": "minecraft:silk_touch",
+ "levels": {
+ "min": 1
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "name": "create:scoria"
+ },
+ {
+ "type": "minecraft:item",
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
+ "name": "create:scoria_cobblestone"
+ }
+ ]
}
]
}
diff --git a/src/generated/resources/data/create/loot_tables/blocks/weathered_limestone.json b/src/generated/resources/data/create/loot_tables/blocks/weathered_limestone.json
index 9a11fe4be..e2f779734 100644
--- a/src/generated/resources/data/create/loot_tables/blocks/weathered_limestone.json
+++ b/src/generated/resources/data/create/loot_tables/blocks/weathered_limestone.json
@@ -5,13 +5,37 @@
"rolls": 1,
"entries": [
{
- "type": "minecraft:item",
- "name": "create:weathered_limestone"
- }
- ],
- "conditions": [
- {
- "condition": "minecraft:survives_explosion"
+ "type": "minecraft:alternatives",
+ "children": [
+ {
+ "type": "minecraft:item",
+ "conditions": [
+ {
+ "condition": "minecraft:match_tool",
+ "predicate": {
+ "enchantments": [
+ {
+ "enchantment": "minecraft:silk_touch",
+ "levels": {
+ "min": 1
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "name": "create:weathered_limestone"
+ },
+ {
+ "type": "minecraft:item",
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
+ "name": "create:weathered_limestone_cobblestone"
+ }
+ ]
}
]
}
diff --git a/src/generated/resources/data/create/recipes/andesite.json b/src/generated/resources/data/create/recipes/andesite.json
new file mode 100644
index 000000000..1a8a89094
--- /dev/null
+++ b/src/generated/resources/data/create/recipes/andesite.json
@@ -0,0 +1,9 @@
+{
+ "type": "minecraft:smelting",
+ "ingredient": {
+ "item": "create:andesite_cobblestone"
+ },
+ "result": "minecraft:andesite",
+ "experience": 0.1,
+ "cookingtime": 200
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/create/recipes/crafting/appliances/copper_backtank.json b/src/generated/resources/data/create/recipes/crafting/appliances/copper_backtank.json
index a99c83f9d..66a29e031 100644
--- a/src/generated/resources/data/create/recipes/crafting/appliances/copper_backtank.json
+++ b/src/generated/resources/data/create/recipes/crafting/appliances/copper_backtank.json
@@ -2,7 +2,7 @@
"type": "minecraft:crafting_shaped",
"pattern": [
"AGA",
- "PPP",
+ "PBP",
" P "
],
"key": {
@@ -12,6 +12,9 @@
"A": {
"item": "create:andesite_alloy"
},
+ "B": {
+ "tag": "forge:storage_blocks/copper"
+ },
"P": {
"tag": "forge:ingots/copper"
}
diff --git a/src/generated/resources/data/create/recipes/crafting/appliances/crafting_blueprint.json b/src/generated/resources/data/create/recipes/crafting/appliances/crafting_blueprint.json
new file mode 100644
index 000000000..880a71332
--- /dev/null
+++ b/src/generated/resources/data/create/recipes/crafting/appliances/crafting_blueprint.json
@@ -0,0 +1,14 @@
+{
+ "type": "minecraft:crafting_shapeless",
+ "ingredients": [
+ {
+ "item": "minecraft:painting"
+ },
+ {
+ "item": "minecraft:crafting_table"
+ }
+ ],
+ "result": {
+ "item": "create:crafting_blueprint"
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/create/recipes/crafting/appliances/linked_controller.json b/src/generated/resources/data/create/recipes/crafting/appliances/linked_controller.json
new file mode 100644
index 000000000..62b2fef8e
--- /dev/null
+++ b/src/generated/resources/data/create/recipes/crafting/appliances/linked_controller.json
@@ -0,0 +1,19 @@
+{
+ "type": "minecraft:crafting_shaped",
+ "pattern": [
+ "SSS",
+ " P ",
+ "SSS"
+ ],
+ "key": {
+ "S": {
+ "tag": "minecraft:wooden_buttons"
+ },
+ "P": {
+ "item": "create:redstone_link"
+ }
+ },
+ "result": {
+ "item": "create:linked_controller"
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/create/recipes/dark_scoria.json b/src/generated/resources/data/create/recipes/dark_scoria.json
new file mode 100644
index 000000000..e8677d0a9
--- /dev/null
+++ b/src/generated/resources/data/create/recipes/dark_scoria.json
@@ -0,0 +1,9 @@
+{
+ "type": "minecraft:smelting",
+ "ingredient": {
+ "item": "create:dark_scoria_cobblestone"
+ },
+ "result": "create:dark_scoria",
+ "experience": 0.1,
+ "cookingtime": 200
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/create/recipes/diorite.json b/src/generated/resources/data/create/recipes/diorite.json
new file mode 100644
index 000000000..a9dc4b737
--- /dev/null
+++ b/src/generated/resources/data/create/recipes/diorite.json
@@ -0,0 +1,9 @@
+{
+ "type": "minecraft:smelting",
+ "ingredient": {
+ "item": "create:diorite_cobblestone"
+ },
+ "result": "minecraft:diorite",
+ "experience": 0.1,
+ "cookingtime": 200
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/create/recipes/dolomite.json b/src/generated/resources/data/create/recipes/dolomite.json
new file mode 100644
index 000000000..c59ecebbb
--- /dev/null
+++ b/src/generated/resources/data/create/recipes/dolomite.json
@@ -0,0 +1,9 @@
+{
+ "type": "minecraft:smelting",
+ "ingredient": {
+ "item": "create:dolomite_cobblestone"
+ },
+ "result": "create:dolomite",
+ "experience": 0.1,
+ "cookingtime": 200
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/create/recipes/gabbro.json b/src/generated/resources/data/create/recipes/gabbro.json
new file mode 100644
index 000000000..6d05576cb
--- /dev/null
+++ b/src/generated/resources/data/create/recipes/gabbro.json
@@ -0,0 +1,9 @@
+{
+ "type": "minecraft:smelting",
+ "ingredient": {
+ "item": "create:gabbro_cobblestone"
+ },
+ "result": "create:gabbro",
+ "experience": 0.1,
+ "cookingtime": 200
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/create/recipes/granite.json b/src/generated/resources/data/create/recipes/granite.json
new file mode 100644
index 000000000..2a6e30e9b
--- /dev/null
+++ b/src/generated/resources/data/create/recipes/granite.json
@@ -0,0 +1,9 @@
+{
+ "type": "minecraft:smelting",
+ "ingredient": {
+ "item": "create:granite_cobblestone"
+ },
+ "result": "minecraft:granite",
+ "experience": 0.1,
+ "cookingtime": 200
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/create/recipes/limestone.json b/src/generated/resources/data/create/recipes/limestone.json
new file mode 100644
index 000000000..90c360ab1
--- /dev/null
+++ b/src/generated/resources/data/create/recipes/limestone.json
@@ -0,0 +1,9 @@
+{
+ "type": "minecraft:smelting",
+ "ingredient": {
+ "item": "create:limestone_cobblestone"
+ },
+ "result": "create:limestone",
+ "experience": 0.1,
+ "cookingtime": 200
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/create/recipes/polished_dark_scoria.json b/src/generated/resources/data/create/recipes/polished_dark_scoria.json
index 1dcca3f52..5a9cfcde0 100644
--- a/src/generated/resources/data/create/recipes/polished_dark_scoria.json
+++ b/src/generated/resources/data/create/recipes/polished_dark_scoria.json
@@ -1,11 +1,11 @@
{
"type": "minecraft:crafting_shaped",
"pattern": [
- "XX",
- "XX"
+ "##",
+ "##"
],
"key": {
- "X": {
+ "#": {
"item": "create:dark_scoria"
}
},
diff --git a/src/generated/resources/data/create/recipes/polished_dolomite.json b/src/generated/resources/data/create/recipes/polished_dolomite.json
index 16fbd2463..4fcd09891 100644
--- a/src/generated/resources/data/create/recipes/polished_dolomite.json
+++ b/src/generated/resources/data/create/recipes/polished_dolomite.json
@@ -1,11 +1,11 @@
{
"type": "minecraft:crafting_shaped",
"pattern": [
- "XX",
- "XX"
+ "##",
+ "##"
],
"key": {
- "X": {
+ "#": {
"item": "create:dolomite"
}
},
diff --git a/src/generated/resources/data/create/recipes/polished_gabbro.json b/src/generated/resources/data/create/recipes/polished_gabbro.json
index c9fb7b71a..5c9cfe964 100644
--- a/src/generated/resources/data/create/recipes/polished_gabbro.json
+++ b/src/generated/resources/data/create/recipes/polished_gabbro.json
@@ -1,11 +1,11 @@
{
"type": "minecraft:crafting_shaped",
"pattern": [
- "XX",
- "XX"
+ "##",
+ "##"
],
"key": {
- "X": {
+ "#": {
"item": "create:gabbro"
}
},
diff --git a/src/generated/resources/data/create/recipes/polished_limestone.json b/src/generated/resources/data/create/recipes/polished_limestone.json
index e07df319b..13556fd93 100644
--- a/src/generated/resources/data/create/recipes/polished_limestone.json
+++ b/src/generated/resources/data/create/recipes/polished_limestone.json
@@ -1,11 +1,11 @@
{
"type": "minecraft:crafting_shaped",
"pattern": [
- "XX",
- "XX"
+ "##",
+ "##"
],
"key": {
- "X": {
+ "#": {
"item": "create:limestone"
}
},
diff --git a/src/generated/resources/data/create/recipes/polished_scoria.json b/src/generated/resources/data/create/recipes/polished_scoria.json
index 796ad769a..4ccbf5c05 100644
--- a/src/generated/resources/data/create/recipes/polished_scoria.json
+++ b/src/generated/resources/data/create/recipes/polished_scoria.json
@@ -1,11 +1,11 @@
{
"type": "minecraft:crafting_shaped",
"pattern": [
- "XX",
- "XX"
+ "##",
+ "##"
],
"key": {
- "X": {
+ "#": {
"item": "create:scoria"
}
},
diff --git a/src/generated/resources/data/create/recipes/polished_weathered_limestone.json b/src/generated/resources/data/create/recipes/polished_weathered_limestone.json
index 3d29b1740..cd0a57df5 100644
--- a/src/generated/resources/data/create/recipes/polished_weathered_limestone.json
+++ b/src/generated/resources/data/create/recipes/polished_weathered_limestone.json
@@ -1,11 +1,11 @@
{
"type": "minecraft:crafting_shaped",
"pattern": [
- "XX",
- "XX"
+ "##",
+ "##"
],
"key": {
- "X": {
+ "#": {
"item": "create:weathered_limestone"
}
},
diff --git a/src/generated/resources/data/create/recipes/pressing/path.json b/src/generated/resources/data/create/recipes/pressing/path.json
index b9a17c39f..7c98111e3 100644
--- a/src/generated/resources/data/create/recipes/pressing/path.json
+++ b/src/generated/resources/data/create/recipes/pressing/path.json
@@ -7,9 +7,6 @@
},
{
"item": "minecraft:dirt"
- },
- {
- "item": "minecraft:podzol"
}
]
],
diff --git a/src/generated/resources/data/create/recipes/scoria.json b/src/generated/resources/data/create/recipes/scoria.json
new file mode 100644
index 000000000..d63cf40bf
--- /dev/null
+++ b/src/generated/resources/data/create/recipes/scoria.json
@@ -0,0 +1,9 @@
+{
+ "type": "minecraft:smelting",
+ "ingredient": {
+ "item": "create:scoria_cobblestone"
+ },
+ "result": "create:scoria",
+ "experience": 0.1,
+ "cookingtime": 200
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/create/recipes/weathered_limestone.json b/src/generated/resources/data/create/recipes/weathered_limestone.json
new file mode 100644
index 000000000..93ce442c8
--- /dev/null
+++ b/src/generated/resources/data/create/recipes/weathered_limestone.json
@@ -0,0 +1,9 @@
+{
+ "type": "minecraft:smelting",
+ "ingredient": {
+ "item": "create:weathered_limestone_cobblestone"
+ },
+ "result": "create:weathered_limestone",
+ "experience": 0.1,
+ "cookingtime": 200
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/create/tags/blocks/brittle.json b/src/generated/resources/data/create/tags/blocks/brittle.json
index c028ad70c..7970c3bf9 100644
--- a/src/generated/resources/data/create/tags/blocks/brittle.json
+++ b/src/generated/resources/data/create/tags/blocks/brittle.json
@@ -25,6 +25,7 @@
"create:furnace_engine",
"create:redstone_link",
"#minecraft:doors",
+ "#minecraft:beds",
"minecraft:flower_pot",
"minecraft:bell",
"minecraft:cocoa"
diff --git a/src/generated/resources/data/create/tags/blocks/non_movable.json b/src/generated/resources/data/create/tags/blocks/non_movable.json
deleted file mode 100644
index 5e8aecc98..000000000
--- a/src/generated/resources/data/create/tags/blocks/non_movable.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "replace": false,
- "values": []
-}
\ No newline at end of file
diff --git a/src/generated/resources/data/minecraft/tags/items/piglin_loved.json b/src/generated/resources/data/minecraft/tags/items/piglin_loved.json
new file mode 100644
index 000000000..478bada69
--- /dev/null
+++ b/src/generated/resources/data/minecraft/tags/items/piglin_loved.json
@@ -0,0 +1,7 @@
+{
+ "replace": false,
+ "values": [
+ "create:golden_sheet",
+ "create:crushed_gold_ore"
+ ]
+}
\ No newline at end of file
diff --git a/src/main/java/com/simibubi/create/AllBlockPartials.java b/src/main/java/com/simibubi/create/AllBlockPartials.java
index 046ca169d..25d9e0ddb 100644
--- a/src/main/java/com/simibubi/create/AllBlockPartials.java
+++ b/src/main/java/com/simibubi/create/AllBlockPartials.java
@@ -3,9 +3,9 @@ package com.simibubi.create;
import java.util.HashMap;
import java.util.Map;
+import com.jozufozu.flywheel.core.PartialModel;
import com.simibubi.create.content.contraptions.fluids.FluidTransportBehaviour;
import com.simibubi.create.content.contraptions.processing.burner.BlazeBurnerBlock;
-import com.simibubi.create.foundation.render.backend.core.PartialModel;
import com.simibubi.create.foundation.utility.Iterate;
import com.simibubi.create.foundation.utility.Lang;
@@ -93,20 +93,22 @@ public class AllBlockPartials {
SPOUT_TOP = get("spout/top"), SPOUT_MIDDLE = get("spout/middle"), SPOUT_BOTTOM = get("spout/bottom"),
- SPEED_CONTROLLER_BRACKET = get("rotation_speed_controller/bracket"),
+ SPEED_CONTROLLER_BRACKET = get("rotation_speed_controller/bracket"),
- GOGGLES = get("goggles"),
+ GOGGLES = get("goggles"),
- EJECTOR_TOP = get("weighted_ejector/top"),
-
- COPPER_BACKTANK_SHAFT = get("copper_backtank/block_shaft_input"),
- COPPER_BACKTANK_COGS = get("copper_backtank/block_cogs"),
+ EJECTOR_TOP = get("weighted_ejector/top"),
- COUPLING_ATTACHMENT = getEntity("minecart_coupling/attachment"),
- COUPLING_RING = getEntity("minecart_coupling/ring"),
- COUPLING_CONNECTOR = getEntity("minecart_coupling/connector")
+ COPPER_BACKTANK_SHAFT = get("copper_backtank/block_shaft_input"),
+ COPPER_BACKTANK_COGS = get("copper_backtank/block_cogs"),
- ;
+ CRAFTING_BLUEPRINT_1x1 = getEntity("crafting_blueprint_small"),
+ CRAFTING_BLUEPRINT_2x2 = getEntity("crafting_blueprint_medium"),
+ CRAFTING_BLUEPRINT_3x3 = getEntity("crafting_blueprint_large"),
+
+ COUPLING_ATTACHMENT = getEntity("minecart_coupling/attachment"),
+ COUPLING_RING = getEntity("minecart_coupling/ring"),
+ COUPLING_CONNECTOR = getEntity("minecart_coupling/connector");
public static final Map> PIPE_ATTACHMENTS = new HashMap<>();
public static final Map BLAZES = new HashMap<>();
diff --git a/src/main/java/com/simibubi/create/AllBlocks.java b/src/main/java/com/simibubi/create/AllBlocks.java
index 472b8e8a2..13af7d571 100644
--- a/src/main/java/com/simibubi/create/AllBlocks.java
+++ b/src/main/java/com/simibubi/create/AllBlocks.java
@@ -9,8 +9,6 @@ import static com.simibubi.create.foundation.data.CreateRegistrate.connectedText
import static com.simibubi.create.foundation.data.ModelGen.customItemModel;
import static com.simibubi.create.foundation.data.ModelGen.oxidizedItemModel;
-import java.util.Vector;
-
import com.simibubi.create.AllTags.AllBlockTags;
import com.simibubi.create.AllTags.AllItemTags;
import com.simibubi.create.content.AllSections;
@@ -116,6 +114,7 @@ import com.simibubi.create.content.contraptions.relays.gauge.GaugeBlock;
import com.simibubi.create.content.contraptions.relays.gauge.GaugeGenerator;
import com.simibubi.create.content.contraptions.relays.gearbox.GearboxBlock;
import com.simibubi.create.content.curiosities.armor.CopperBacktankBlock;
+import com.simibubi.create.content.curiosities.projector.ChromaticProjectorBlock;
import com.simibubi.create.content.logistics.block.belts.tunnel.BeltTunnelBlock;
import com.simibubi.create.content.logistics.block.belts.tunnel.BrassTunnelBlock;
import com.simibubi.create.content.logistics.block.belts.tunnel.BrassTunnelCTBehaviour;
@@ -157,6 +156,7 @@ import com.simibubi.create.content.logistics.block.redstone.RedstoneLinkGenerato
import com.simibubi.create.content.logistics.block.redstone.StockpileSwitchBlock;
import com.simibubi.create.content.schematics.block.SchematicTableBlock;
import com.simibubi.create.content.schematics.block.SchematicannonBlock;
+import com.simibubi.create.foundation.block.DyedBlockList;
import com.simibubi.create.foundation.block.ItemUseOverrides;
import com.simibubi.create.foundation.config.StressConfigDefaults;
import com.simibubi.create.foundation.data.AssetLookup;
@@ -166,6 +166,7 @@ import com.simibubi.create.foundation.data.CreateRegistrate;
import com.simibubi.create.foundation.data.ModelGen;
import com.simibubi.create.foundation.data.SharedProperties;
import com.simibubi.create.foundation.item.TooltipHelper;
+import com.simibubi.create.foundation.utility.ColorHandlers;
import com.simibubi.create.foundation.utility.DyeHelper;
import com.simibubi.create.foundation.worldgen.OxidizingBlock;
import com.tterrag.registrate.providers.RegistrateRecipeProvider;
@@ -203,7 +204,7 @@ import net.minecraftforge.common.ToolType;
public class AllBlocks {
private static final CreateRegistrate REGISTRATE = Create.registrate()
- .itemGroup(() -> Create.baseCreativeTab);
+ .itemGroup(() -> Create.BASE_CREATIVE_TAB);
// Schematics
@@ -215,6 +216,16 @@ public class AllBlocks {
REGISTRATE.block("schematicannon", SchematicannonBlock::new)
.initialProperties(() -> Blocks.DISPENSER)
.blockstate((ctx, prov) -> prov.simpleBlock(ctx.getEntry(), AssetLookup.partialBaseModel(ctx, prov)))
+ .loot((lt, block) -> {
+ Builder builder = LootTable.builder();
+ IBuilder survivesExplosion = SurvivesExplosion.builder();
+ lt.registerLootTable(block, builder.addLootPool(LootPool.builder()
+ .acceptCondition(survivesExplosion)
+ .rolls(ConstantRange.of(1))
+ .addEntry(ItemLootEntry.builder(AllBlocks.SCHEMATICANNON.get().asItem())
+ .acceptFunction(CopyNbt.func_215881_a(CopyNbt.Source.BLOCK_ENTITY)
+ .func_216056_a("Options", "BlockEntityTag.Options")))));
+ })
.item()
.transform(customItemModel())
.register();
@@ -607,44 +618,39 @@ public class AllBlocks {
.blockstate((c, p) -> BlockStateGen.directionalAxisBlock(c, p,
(state, vertical) -> AssetLookup.partialBaseModel(c, p, vertical ? "vertical" : "horizontal",
state.get(FluidValveBlock.ENABLED) ? "open" : "closed")))
- .onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::new))
- .item()
- .transform(customItemModel())
- .register();
-
- public static final BlockEntry COPPER_VALVE_HANDLE =
- REGISTRATE.block("copper_valve_handle", ValveHandleBlock::copper)
- .transform(BuilderTransformers.valveHandle(null))
+ .onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::new))
+ .item()
+ .transform(customItemModel())
.register();
- public static final Vector> DYED_VALVE_HANDLES =
- new Vector<>(DyeColor.values().length);
+ public static final BlockEntry COPPER_VALVE_HANDLE =
+ REGISTRATE.block("copper_valve_handle", ValveHandleBlock::copper)
+ .transform(BuilderTransformers.valveHandle(null))
+ .register();
- static {
- for (DyeColor colour : DyeColor.values()) {
- String colourName = colour.getString();
- DYED_VALVE_HANDLES.add(REGISTRATE.block(colourName + "_valve_handle", ValveHandleBlock::dyed)
+ public static final DyedBlockList DYED_VALVE_HANDLES = new DyedBlockList<>(colour -> {
+ String colourName = colour.getString();
+ return REGISTRATE.block(colourName + "_valve_handle", ValveHandleBlock::dyed)
.transform(BuilderTransformers.valveHandle(colour))
.recipe((c, p) -> ShapedRecipeBuilder.shapedRecipe(c.get())
- .patternLine("#")
- .patternLine("-")
- .key('#', DyeHelper.getTagOfDye(colour))
- .key('-', AllItemTags.VALVE_HANDLES.tag)
- .addCriterion("has_valve", RegistrateRecipeProvider.hasItem(AllItemTags.VALVE_HANDLES.tag))
- .build(p, Create.asResource("crafting/kinetics/" + c.getName() + "_from_other_valve_handle")))
- .register());
- }
- }
+ .patternLine("#")
+ .patternLine("-")
+ .key('#', DyeHelper.getTagOfDye(colour))
+ .key('-', AllItemTags.VALVE_HANDLES.tag)
+ .addCriterion("has_valve", RegistrateRecipeProvider.hasItem(AllItemTags.VALVE_HANDLES.tag))
+ .build(p, Create.asResource("crafting/kinetics/" + c.getName() + "_from_other_valve_handle")))
+ .register();
+ });
public static final BlockEntry FLUID_TANK = REGISTRATE.block("fluid_tank", FluidTankBlock::regular)
- .initialProperties(SharedProperties::softMetal)
- .properties(AbstractBlock.Properties::nonOpaque)
- .blockstate(new FluidTankGenerator()::generate)
- .onRegister(CreateRegistrate.blockModel(() -> FluidTankModel::standard))
- .addLayer(() -> RenderType::getCutoutMipped)
- .item(FluidTankItem::new)
- .model(AssetLookup.customBlockItemModel("_", "block_single_window"))
- .build()
+ .initialProperties(SharedProperties::softMetal)
+ .properties(AbstractBlock.Properties::nonOpaque)
+ .blockstate(new FluidTankGenerator()::generate)
+ .onRegister(CreateRegistrate.blockModel(() -> FluidTankModel::standard))
+ .addLayer(() -> RenderType::getCutoutMipped)
+ .item(FluidTankItem::new)
+ .model(AssetLookup.customBlockItemModel("_", "block_single_window"))
+ .build()
.register();
public static final BlockEntry CREATIVE_FLUID_TANK =
@@ -830,11 +836,11 @@ public class AllBlocks {
.register();
public static final BlockEntry CONTROLLER_RAIL =
- REGISTRATE.block("controller_rail", ControllerRailBlock::new)
- .initialProperties(() -> Blocks.POWERED_RAIL)
- .blockstate(new ControllerRailGenerator()::generate)
- .addLayer(() -> RenderType::getCutoutMipped)
- .onRegister(CreateRegistrate.blockColors(() -> AllColorHandlers::getRedstonePower))
+ REGISTRATE.block("controller_rail", ControllerRailBlock::new)
+ .initialProperties(() -> Blocks.POWERED_RAIL)
+ .blockstate(new ControllerRailGenerator()::generate)
+ .addLayer(() -> RenderType::getCutoutMipped)
+ .color(() -> ColorHandlers::getRedstonePower)
.tag(BlockTags.RAILS)
.item()
.model((c, p) -> p.generated(c, Create.asResource("block/" + c.getName())))
@@ -943,105 +949,93 @@ public class AllBlocks {
.addLayer(() -> RenderType::getCutoutMipped)
.item()
.transform(customItemModel())
- .register();
+ .register();
public static final BlockEntry MECHANICAL_PLOUGH =
- REGISTRATE.block("mechanical_plough", PloughBlock::new)
- .initialProperties(SharedProperties::stone)
- .onRegister(addMovementBehaviour(new PloughMovementBehaviour()))
- .blockstate(BlockStateGen.horizontalBlockProvider(false))
- .simpleItem()
- .register();
+ REGISTRATE.block("mechanical_plough", PloughBlock::new)
+ .initialProperties(SharedProperties::stone)
+ .onRegister(addMovementBehaviour(new PloughMovementBehaviour()))
+ .blockstate(BlockStateGen.horizontalBlockProvider(false))
+ .simpleItem()
+ .register();
- public static final BlockEntry>[] SEATS = new BlockEntry>[DyeColor.values().length];
-
- static {
- // SEATS
- for (DyeColor colour : DyeColor.values()) {
- String colourName = colour.getString();
- SeatMovementBehaviour movementBehaviour = new SeatMovementBehaviour();
- SEATS[colour.ordinal()] =
- REGISTRATE.block(colourName + "_seat", p -> new SeatBlock(p, colour == DyeColor.RED))
- .initialProperties(SharedProperties::wooden)
- .onRegister(addMovementBehaviour(movementBehaviour))
- .blockstate((c, p) -> {
- p.simpleBlock(c.get(), p.models()
+ public static final DyedBlockList SEATS = new DyedBlockList<>(colour -> {
+ String colourName = colour.getString();
+ SeatMovementBehaviour movementBehaviour = new SeatMovementBehaviour();
+ return REGISTRATE.block(colourName + "_seat", p -> new SeatBlock(p, colour == DyeColor.RED))
+ .initialProperties(SharedProperties::wooden)
+ .onRegister(addMovementBehaviour(movementBehaviour))
+ .blockstate((c, p) -> {
+ p.simpleBlock(c.get(), p.models()
.withExistingParent(colourName + "_seat", p.modLoc("block/seat"))
.texture("1", p.modLoc("block/seat/top_" + colourName))
.texture("2", p.modLoc("block/seat/side_" + colourName)));
- })
- .recipe((c, p) -> {
- ShapedRecipeBuilder.shapedRecipe(c.get())
+ })
+ .recipe((c, p) -> {
+ ShapedRecipeBuilder.shapedRecipe(c.get())
.patternLine("#")
.patternLine("-")
.key('#', DyeHelper.getWoolOfDye(colour))
.key('-', ItemTags.WOODEN_SLABS)
.addCriterion("has_wool", RegistrateRecipeProvider.hasItem(ItemTags.WOOL))
.build(p, Create.asResource("crafting/kinetics/" + c.getName()));
- ShapedRecipeBuilder.shapedRecipe(c.get())
+ ShapedRecipeBuilder.shapedRecipe(c.get())
.patternLine("#")
.patternLine("-")
.key('#', DyeHelper.getTagOfDye(colour))
.key('-', AllItemTags.SEATS.tag)
.addCriterion("has_seat", RegistrateRecipeProvider.hasItem(AllItemTags.SEATS.tag))
.build(p, Create.asResource("crafting/kinetics/" + c.getName() + "_from_other_seat"));
- })
- .onRegisterAfter(Item.class, v -> TooltipHelper.referTo(v, "block.create.seat"))
- .tag(AllBlockTags.SEATS.tag)
- .item()
- .tag(AllItemTags.SEATS.tag)
- .build()
- .register();
- }
- }
+ })
+ .onRegisterAfter(Item.class, v -> TooltipHelper.referTo(v, "block.create.seat"))
+ .tag(AllBlockTags.SEATS.tag)
+ .item()
+ .tag(AllItemTags.SEATS.tag)
+ .build()
+ .register();
+ });
public static final BlockEntry SAIL_FRAME = REGISTRATE.block("sail_frame", p -> SailBlock.frame(p))
- .initialProperties(SharedProperties::wooden)
- .properties(Block.Properties::nonOpaque)
- .blockstate(BlockStateGen.directionalBlockProvider(false))
- .tag(AllBlockTags.WINDMILL_SAILS.tag)
- .tag(AllBlockTags.FAN_TRANSPARENT.tag)
- .simpleItem()
- .register();
-
- public static final BlockEntry>[] DYED_SAILS = new BlockEntry>[DyeColor.values().length];
+ .initialProperties(SharedProperties::wooden)
+ .properties(Block.Properties::nonOpaque)
+ .blockstate(BlockStateGen.directionalBlockProvider(false))
+ .tag(AllBlockTags.WINDMILL_SAILS.tag)
+ .tag(AllBlockTags.FAN_TRANSPARENT.tag)
+ .simpleItem()
+ .register();
public static final BlockEntry SAIL = REGISTRATE.block("white_sail", p -> SailBlock.withCanvas(p))
- .initialProperties(SharedProperties::wooden)
- .properties(Block.Properties::nonOpaque)
- .blockstate(BlockStateGen.directionalBlockProvider(false))
- .tag(AllBlockTags.WINDMILL_SAILS.tag)
- .simpleItem()
- .register();
+ .initialProperties(SharedProperties::wooden)
+ .properties(Block.Properties::nonOpaque)
+ .blockstate(BlockStateGen.directionalBlockProvider(false))
+ .tag(AllBlockTags.WINDMILL_SAILS.tag)
+ .simpleItem()
+ .register();
- static {
- // DYED SAILS
- for (DyeColor colour : DyeColor.values()) {
- if (colour == DyeColor.WHITE) {
- DYED_SAILS[colour.ordinal()] = SAIL;
- continue;
- }
- String colourName = colour.getString();
- DYED_SAILS[colour.ordinal()] = REGISTRATE.block(colourName + "_sail", p -> SailBlock.withCanvas(p))
+ public static final DyedBlockList DYED_SAILS = new DyedBlockList<>(colour -> {
+ if (colour == DyeColor.WHITE) {
+ return SAIL;
+ }
+ String colourName = colour.getString();
+ return REGISTRATE.block(colourName + "_sail", p -> SailBlock.withCanvas(p))
.properties(Block.Properties::nonOpaque)
.initialProperties(SharedProperties::wooden)
.blockstate((c, p) -> p.directionalBlock(c.get(), p.models()
- .withExistingParent(colourName + "_sail", p.modLoc("block/white_sail"))
- .texture("0", p.modLoc("block/sail/canvas_" + colourName))))
+ .withExistingParent(colourName + "_sail", p.modLoc("block/white_sail"))
+ .texture("0", p.modLoc("block/sail/canvas_" + colourName))))
.tag(AllBlockTags.WINDMILL_SAILS.tag)
.tag(AllBlockTags.SAILS.tag)
.loot((p, b) -> p.registerDropping(b, SAIL.get()))
.register();
- }
- }
+ });
public static final BlockEntry ANDESITE_CASING = REGISTRATE.block("andesite_casing", CasingBlock::new)
- .transform(BuilderTransformers.casing(AllSpriteShifts.ANDESITE_CASING))
- .register();
+ .transform(BuilderTransformers.casing(AllSpriteShifts.ANDESITE_CASING))
+ .register();
public static final BlockEntry BRASS_CASING = REGISTRATE.block("brass_casing", CasingBlock::new)
- .transform(BuilderTransformers.casing(AllSpriteShifts.BRASS_CASING))
- .register();
+ .transform(BuilderTransformers.casing(AllSpriteShifts.BRASS_CASING))
+ .register();
public static final BlockEntry COPPER_CASING = REGISTRATE.block("copper_casing", CasingBlock::new)
.transform(BuilderTransformers.casing(AllSpriteShifts.COPPER_CASING))
diff --git a/src/main/java/com/simibubi/create/AllColorHandlers.java b/src/main/java/com/simibubi/create/AllColorHandlers.java
index f8d86596d..e69de29bb 100644
--- a/src/main/java/com/simibubi/create/AllColorHandlers.java
+++ b/src/main/java/com/simibubi/create/AllColorHandlers.java
@@ -1,116 +0,0 @@
-package com.simibubi.create;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import com.simibubi.create.foundation.block.IBlockVertexColor;
-import com.simibubi.create.foundation.block.render.ColoredVertexModel;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.BlockState;
-import net.minecraft.block.RedstoneWireBlock;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.renderer.color.BlockColors;
-import net.minecraft.client.renderer.color.IBlockColor;
-import net.minecraft.client.renderer.color.IItemColor;
-import net.minecraft.client.renderer.color.ItemColors;
-import net.minecraft.item.ItemStack;
-import net.minecraft.state.properties.BlockStateProperties;
-import net.minecraft.util.IItemProvider;
-import net.minecraft.util.math.BlockPos;
-import net.minecraft.world.GrassColors;
-import net.minecraft.world.IBlockDisplayReader;
-import net.minecraft.world.biome.BiomeColors;
-
-public class AllColorHandlers {
-
- private final Map coloredVertexBlocks = new HashMap<>();
- private final Map coloredBlocks = new HashMap<>();
- private final Map coloredItems = new HashMap<>();
-
- //
-
- public static IBlockColor getGrassyBlock() {
- return new BlockColor(
- (state, world, pos, layer) -> pos != null && world != null ? BiomeColors.getGrassColor(world, pos)
- : GrassColors.get(0.5D, 1.0D));
- }
-
- public static IItemColor getGrassyItem() {
- return new ItemColor((stack, layer) -> GrassColors.get(0.5D, 1.0D));
- }
-
- public static IBlockColor getRedstonePower() {
- return new BlockColor((state, world, pos, layer) -> RedstoneWireBlock
- .getWireColor(pos != null && world != null ? state.get(BlockStateProperties.POWER_0_15) : 0));
- }
-
- //
-
- public void register(Block block, IBlockColor color) {
- coloredBlocks.put(block, color);
- }
-
- public void register(Block block, IBlockVertexColor color) {
- coloredVertexBlocks.put(block, color);
- }
-
- public void register(IItemProvider item, IItemColor color) {
- coloredItems.put(item, color);
- }
-
- public void init() {
- BlockColors blockColors = Minecraft.getInstance()
- .getBlockColors();
- ItemColors itemColors = Minecraft.getInstance()
- .getItemColors();
-
- coloredBlocks.forEach((block, color) -> blockColors.register(color, block));
- coloredItems.forEach((item, color) -> itemColors.register(color, item));
- coloredVertexBlocks.forEach((block, color) -> CreateClient.getCustomBlockModels()
- .register(() -> block, model -> new ColoredVertexModel(model, color)));
- }
-
- //
-
- private static class ItemColor implements IItemColor {
-
- private Function function;
-
- @FunctionalInterface
- interface Function {
- int apply(ItemStack stack, int layer);
- }
-
- public ItemColor(Function function) {
- this.function = function;
- }
-
- @Override
- public int getColor(ItemStack stack, int layer) {
- return function.apply(stack, layer);
- }
-
- }
-
- private static class BlockColor implements IBlockColor {
-
- private Function function;
-
- @FunctionalInterface
- interface Function {
- int apply(BlockState state, IBlockDisplayReader world, BlockPos pos, int layer);
- }
-
- public BlockColor(Function function) {
- this.function = function;
- }
-
- @Override
- public int getColor(BlockState state, IBlockDisplayReader world, BlockPos pos, int layer) {
- return function.apply(state, world, pos, layer);
- }
-
- }
-
-}
diff --git a/src/main/java/com/simibubi/create/AllContainerTypes.java b/src/main/java/com/simibubi/create/AllContainerTypes.java
index f7ea37a0c..14d498753 100644
--- a/src/main/java/com/simibubi/create/AllContainerTypes.java
+++ b/src/main/java/com/simibubi/create/AllContainerTypes.java
@@ -1,7 +1,11 @@
package com.simibubi.create;
+import com.simibubi.create.content.curiosities.tools.BlueprintContainer;
+import com.simibubi.create.content.curiosities.tools.BlueprintScreen;
import com.simibubi.create.content.logistics.block.inventories.AdjustableCrateContainer;
import com.simibubi.create.content.logistics.block.inventories.AdjustableCrateScreen;
+import com.simibubi.create.content.logistics.item.LinkedControllerContainer;
+import com.simibubi.create.content.logistics.item.LinkedControllerScreen;
import com.simibubi.create.content.logistics.item.filter.AttributeFilterContainer;
import com.simibubi.create.content.logistics.item.filter.AttributeFilterScreen;
import com.simibubi.create.content.logistics.item.filter.FilterContainer;
@@ -10,61 +14,42 @@ import com.simibubi.create.content.schematics.block.SchematicTableContainer;
import com.simibubi.create.content.schematics.block.SchematicTableScreen;
import com.simibubi.create.content.schematics.block.SchematicannonContainer;
import com.simibubi.create.content.schematics.block.SchematicannonScreen;
-import com.simibubi.create.foundation.utility.Lang;
+import com.tterrag.registrate.builders.ContainerBuilder.ForgeContainerFactory;
+import com.tterrag.registrate.builders.ContainerBuilder.ScreenFactory;
+import com.tterrag.registrate.util.entry.ContainerEntry;
+import com.tterrag.registrate.util.nullness.NonNullSupplier;
import net.minecraft.client.gui.IHasContainer;
-import net.minecraft.client.gui.ScreenManager;
-import net.minecraft.client.gui.ScreenManager.IScreenFactory;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.inventory.container.Container;
-import net.minecraft.inventory.container.ContainerType;
-import net.minecraft.inventory.container.ContainerType.IFactory;
-import net.minecraft.util.ResourceLocation;
-import net.minecraftforge.api.distmarker.Dist;
-import net.minecraftforge.api.distmarker.OnlyIn;
-import net.minecraftforge.event.RegistryEvent;
-import net.minecraftforge.fml.network.IContainerFactory;
-public enum AllContainerTypes {
+public class AllContainerTypes {
- SCHEMATIC_TABLE(SchematicTableContainer::new),
- SCHEMATICANNON(SchematicannonContainer::new),
- FLEXCRATE(AdjustableCrateContainer::new),
- FILTER(FilterContainer::new),
- ATTRIBUTE_FILTER(AttributeFilterContainer::new),
+ public static final ContainerEntry SCHEMATIC_TABLE =
+ register("schematic_table", SchematicTableContainer::new, () -> SchematicTableScreen::new);
- ;
+ public static final ContainerEntry SCHEMATICANNON =
+ register("schematicannon", SchematicannonContainer::new, () -> SchematicannonScreen::new);
- public ContainerType extends Container> type;
- private IFactory> factory;
+ public static final ContainerEntry FLEXCRATE =
+ register("flexcrate", AdjustableCrateContainer::new, () -> AdjustableCrateScreen::new);
- private AllContainerTypes(IContainerFactory factory) {
- this.factory = factory;
+ public static final ContainerEntry FILTER =
+ register("filter", FilterContainer::new, () -> FilterScreen::new);
+
+ public static final ContainerEntry ATTRIBUTE_FILTER =
+ register("attribute_filter", AttributeFilterContainer::new, () -> AttributeFilterScreen::new);
+
+ public static final ContainerEntry CRAFTING_BLUEPRINT =
+ register("crafting_blueprint", BlueprintContainer::new, () -> BlueprintScreen::new);
+
+ public static final ContainerEntry LINKED_CONTROLLER =
+ register("linked_controller", LinkedControllerContainer::new, () -> LinkedControllerScreen::new);
+
+ private static > ContainerEntry register(String name, ForgeContainerFactory factory, NonNullSupplier> screenFactory) {
+ return Create.registrate().container(name, factory, screenFactory).register();
}
- public static void register(RegistryEvent.Register> event) {
- for (AllContainerTypes container : values()) {
- container.type = new ContainerType<>(container.factory)
- .setRegistryName(new ResourceLocation(Create.ID, Lang.asId(container.name())));
- event.getRegistry()
- .register(container.type);
- }
- }
-
- @OnlyIn(Dist.CLIENT)
- public static void registerScreenFactories() {
- bind(SCHEMATIC_TABLE, SchematicTableScreen::new);
- bind(SCHEMATICANNON, SchematicannonScreen::new);
- bind(FLEXCRATE, AdjustableCrateScreen::new);
- bind(FILTER, FilterScreen::new);
- bind(ATTRIBUTE_FILTER, AttributeFilterScreen::new);
- }
-
- @OnlyIn(Dist.CLIENT)
- @SuppressWarnings("unchecked")
- private static > void bind(AllContainerTypes c,
- IScreenFactory factory) {
- ScreenManager.registerFactory((ContainerType) c.type, factory);
- }
+ public static void register() {}
}
diff --git a/src/main/java/com/simibubi/create/AllEntityTypes.java b/src/main/java/com/simibubi/create/AllEntityTypes.java
index 32afec7fa..5873de910 100644
--- a/src/main/java/com/simibubi/create/AllEntityTypes.java
+++ b/src/main/java/com/simibubi/create/AllEntityTypes.java
@@ -1,5 +1,6 @@
package com.simibubi.create;
+import com.jozufozu.flywheel.backend.instancing.InstancedRenderRegistry;
import com.simibubi.create.content.contraptions.components.actors.SeatEntity;
import com.simibubi.create.content.contraptions.components.structureMovement.AbstractContraptionEntity;
import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionEntityRenderer;
@@ -7,68 +8,77 @@ import com.simibubi.create.content.contraptions.components.structureMovement.Con
import com.simibubi.create.content.contraptions.components.structureMovement.OrientedContraptionEntity;
import com.simibubi.create.content.contraptions.components.structureMovement.OrientedContraptionEntityRenderer;
import com.simibubi.create.content.contraptions.components.structureMovement.gantry.GantryContraptionEntity;
+import com.simibubi.create.content.contraptions.components.structureMovement.glue.GlueInstance;
import com.simibubi.create.content.contraptions.components.structureMovement.glue.SuperGlueEntity;
import com.simibubi.create.content.contraptions.components.structureMovement.glue.SuperGlueRenderer;
+import com.simibubi.create.content.curiosities.tools.BlueprintEntity;
+import com.simibubi.create.content.curiosities.tools.BlueprintRenderer;
+import com.simibubi.create.foundation.data.CreateEntityBuilder;
import com.simibubi.create.foundation.utility.Lang;
-import com.tterrag.registrate.util.entry.RegistryEntry;
+import com.tterrag.registrate.builders.EntityBuilder;
+import com.tterrag.registrate.util.entry.EntityEntry;
import com.tterrag.registrate.util.nullness.NonNullConsumer;
+import com.tterrag.registrate.util.nullness.NonNullSupplier;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityClassification;
import net.minecraft.entity.EntityType;
import net.minecraft.entity.EntityType.IFactory;
-import net.minecraftforge.api.distmarker.Dist;
-import net.minecraftforge.api.distmarker.OnlyIn;
-import net.minecraftforge.fml.client.registry.RenderingRegistry;
+import net.minecraftforge.fml.client.registry.IRenderFactory;
public class AllEntityTypes {
- public static final RegistryEntry> ORIENTED_CONTRAPTION =
- contraption("contraption", OrientedContraptionEntity::new, 5, 3, true);
- public static final RegistryEntry> CONTROLLED_CONTRAPTION =
- contraption("stationary_contraption", ControlledContraptionEntity::new, 20, 40, false);
- public static final RegistryEntry> GANTRY_CONTRAPTION =
- contraption("gantry_contraption", GantryContraptionEntity::new, 10, 40, false);
+ public static final EntityEntry ORIENTED_CONTRAPTION =
+ contraption("contraption", OrientedContraptionEntity::new, () -> OrientedContraptionEntityRenderer::new,
+ 5, 3, true);
+ public static final EntityEntry CONTROLLED_CONTRAPTION =
+ contraption("stationary_contraption", ControlledContraptionEntity::new, () -> ContraptionEntityRenderer::new,
+ 20, 40, false);
+ public static final EntityEntry GANTRY_CONTRAPTION =
+ contraption("gantry_contraption", GantryContraptionEntity::new, () -> ContraptionEntityRenderer::new,
+ 10, 40, false);
- public static final RegistryEntry> SUPER_GLUE = register("super_glue",
- SuperGlueEntity::new, EntityClassification.MISC, 10, Integer.MAX_VALUE, false, true, SuperGlueEntity::build);
- public static final RegistryEntry> SEAT = register("seat", SeatEntity::new,
- EntityClassification.MISC, 0, Integer.MAX_VALUE, false, true, SeatEntity::build);
+ public static final EntityEntry SUPER_GLUE =
+ register("super_glue", SuperGlueEntity::new, () -> SuperGlueRenderer::new,
+ EntityClassification.MISC, 10, Integer.MAX_VALUE, false, true, SuperGlueEntity::build)
+ .instance(() -> GlueInstance::new)
+ .register();
+
+ public static final EntityEntry CRAFTING_BLUEPRINT =
+ register("crafting_blueprint", BlueprintEntity::new, () -> BlueprintRenderer::new,
+ EntityClassification.MISC, 10, Integer.MAX_VALUE, false, true, BlueprintEntity::build).register();
+
+ public static final EntityEntry SEAT =
+ register("seat", SeatEntity::new, () -> SeatEntity.Render::new,
+ EntityClassification.MISC, 0, Integer.MAX_VALUE, false, true, SeatEntity::build).register();
//
- public static void register() {}
-
- private static RegistryEntry> contraption(String name, IFactory factory,
- int range, int updateFrequency, boolean sendVelocity) {
- return register(name, factory, EntityClassification.MISC, range, updateFrequency, sendVelocity, true,
- AbstractContraptionEntity::build);
+ private static EntityEntry contraption(String name, IFactory factory,
+ NonNullSupplier> renderer, int range, int updateFrequency,
+ boolean sendVelocity) {
+ return register(name, factory, renderer, EntityClassification.MISC, range, updateFrequency,
+ sendVelocity, true, AbstractContraptionEntity::build).register();
}
- private static RegistryEntry> register(String name, IFactory factory,
- EntityClassification group, int range, int updateFrequency, boolean sendVelocity, boolean immuneToFire,
- NonNullConsumer> propertyBuilder) {
+ private static CreateEntityBuilder register(String name, IFactory factory,
+ NonNullSupplier> renderer, EntityClassification group, int range,
+ int updateFrequency, boolean sendVelocity, boolean immuneToFire,
+ NonNullConsumer> propertyBuilder) {
String id = Lang.asId(name);
- return Create.registrate()
- .entity(id, factory, group)
- .properties(b -> b.setTrackingRange(range)
- .setUpdateInterval(updateFrequency)
- .setShouldReceiveVelocityUpdates(sendVelocity))
- .properties(propertyBuilder)
- .properties(b -> {
- if (immuneToFire)
- b.immuneToFire();
- })
- .register();
+ return (CreateEntityBuilder) Create.registrate()
+ .entity(id, factory, group)
+ .properties(b -> b.setTrackingRange(range)
+ .setUpdateInterval(updateFrequency)
+ .setShouldReceiveVelocityUpdates(sendVelocity))
+ .properties(propertyBuilder)
+ .properties(b -> {
+ if (immuneToFire)
+ b.immuneToFire();
+ })
+ .renderer(renderer);
}
- @OnlyIn(value = Dist.CLIENT)
- public static void registerRenderers() {
- RenderingRegistry.registerEntityRenderingHandler(CONTROLLED_CONTRAPTION.get(), ContraptionEntityRenderer::new);
- RenderingRegistry.registerEntityRenderingHandler(ORIENTED_CONTRAPTION.get(),
- OrientedContraptionEntityRenderer::new);
- RenderingRegistry.registerEntityRenderingHandler(GANTRY_CONTRAPTION.get(), ContraptionEntityRenderer::new);
- RenderingRegistry.registerEntityRenderingHandler(SUPER_GLUE.get(), SuperGlueRenderer::new);
- RenderingRegistry.registerEntityRenderingHandler(SEAT.get(), SeatEntity.Render::new);
+ public static void register() {
}
}
diff --git a/src/main/java/com/simibubi/create/AllFluids.java b/src/main/java/com/simibubi/create/AllFluids.java
index 5a7b92355..854aab1f1 100644
--- a/src/main/java/com/simibubi/create/AllFluids.java
+++ b/src/main/java/com/simibubi/create/AllFluids.java
@@ -7,7 +7,7 @@ import com.simibubi.create.content.contraptions.fluids.potion.PotionFluid;
import com.simibubi.create.content.contraptions.fluids.potion.PotionFluid.PotionFluidAttributes;
import com.simibubi.create.content.palettes.AllPaletteBlocks;
import com.simibubi.create.foundation.data.CreateRegistrate;
-import com.tterrag.registrate.util.entry.RegistryEntry;
+import com.tterrag.registrate.util.entry.FluidEntry;
import net.minecraft.block.BlockState;
import net.minecraft.client.renderer.RenderType;
@@ -25,47 +25,47 @@ public class AllFluids {
private static final CreateRegistrate REGISTRATE = Create.registrate();
- public static RegistryEntry POTION =
- REGISTRATE.virtualFluid("potion", PotionFluidAttributes::new, PotionFluid::new)
- .lang(f -> "fluid.create.potion", "Potion")
+ public static FluidEntry POTION =
+ REGISTRATE.virtualFluid("potion", PotionFluidAttributes::new, PotionFluid::new)
+ .lang(f -> "fluid.create.potion", "Potion")
+ .register();
+
+ public static FluidEntry TEA = REGISTRATE.virtualFluid("tea")
+ .lang(f -> "fluid.create.tea", "Builder's Tea")
+ .tag(AllTags.forgeFluidTag("tea"))
.register();
- public static RegistryEntry TEA = REGISTRATE.virtualFluid("tea")
- .lang(f -> "fluid.create.tea", "Builder's Tea")
- .tag(AllTags.forgeFluidTag("tea"))
- .register();
-
- public static RegistryEntry MILK = REGISTRATE.virtualFluid("milk")
- .lang(f -> "fluid.create.milk", "Milk")
- .tag(AllTags.forgeFluidTag("milk"))
- .register();
-
- public static RegistryEntry HONEY =
- REGISTRATE.standardFluid("honey", NoColorFluidAttributes::new)
- .lang(f -> "fluid.create.honey", "Honey")
- .attributes(b -> b.viscosity(500)
- .density(1400))
- .properties(p -> p.levelDecreasePerBlock(2)
- .tickRate(25)
- .slopeFindDistance(3)
- .explosionResistance(100f))
- .tag(AllTags.forgeFluidTag("honey"))
- .bucket()
- .properties(p -> p.maxStackSize(1))
- .build()
+ public static FluidEntry MILK = REGISTRATE.virtualFluid("milk")
+ .lang(f -> "fluid.create.milk", "Milk")
+ .tag(AllTags.forgeFluidTag("milk"))
.register();
- public static RegistryEntry CHOCOLATE =
- REGISTRATE.standardFluid("chocolate", NoColorFluidAttributes::new)
- .lang(f -> "fluid.create.chocolate", "Chocolate")
- .tag(AllTags.forgeFluidTag("chocolate"))
- .attributes(b -> b.viscosity(500)
- .density(1400))
- .properties(p -> p.levelDecreasePerBlock(2)
- .tickRate(25)
- .slopeFindDistance(3)
- .explosionResistance(100f))
- .bucket()
+ public static FluidEntry HONEY =
+ REGISTRATE.standardFluid("honey", NoColorFluidAttributes::new)
+ .lang(f -> "fluid.create.honey", "Honey")
+ .attributes(b -> b.viscosity(500)
+ .density(1400))
+ .properties(p -> p.levelDecreasePerBlock(2)
+ .tickRate(25)
+ .slopeFindDistance(3)
+ .explosionResistance(100f))
+ .tag(AllTags.forgeFluidTag("honey"))
+ .bucket()
+ .properties(p -> p.maxStackSize(1))
+ .build()
+ .register();
+
+ public static FluidEntry CHOCOLATE =
+ REGISTRATE.standardFluid("chocolate", NoColorFluidAttributes::new)
+ .lang(f -> "fluid.create.chocolate", "Chocolate")
+ .tag(AllTags.forgeFluidTag("chocolate"))
+ .attributes(b -> b.viscosity(500)
+ .density(1400))
+ .properties(p -> p.levelDecreasePerBlock(2)
+ .tickRate(25)
+ .slopeFindDistance(3)
+ .explosionResistance(100f))
+ .bucket()
.properties(p -> p.maxStackSize(1))
.build()
.register();
@@ -78,7 +78,7 @@ public class AllFluids {
public static void assignRenderLayers() {}
@OnlyIn(Dist.CLIENT)
- private static void makeTranslucent(RegistryEntry extends ForgeFlowingFluid> entry) {
+ private static void makeTranslucent(FluidEntry> entry) {
ForgeFlowingFluid fluid = entry.get();
RenderTypeLookup.setRenderLayer(fluid, RenderType.getTranslucent());
RenderTypeLookup.setRenderLayer(fluid.getStillFluid(), RenderType.getTranslucent());
diff --git a/src/main/java/com/simibubi/create/AllItems.java b/src/main/java/com/simibubi/create/AllItems.java
index 2d13ad744..e926eaa33 100644
--- a/src/main/java/com/simibubi/create/AllItems.java
+++ b/src/main/java/com/simibubi/create/AllItems.java
@@ -1,10 +1,10 @@
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.NUGGETS;
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;
@@ -35,12 +35,15 @@ import com.simibubi.create.content.curiosities.armor.DivingBootsItem;
import com.simibubi.create.content.curiosities.armor.DivingHelmetItem;
import com.simibubi.create.content.curiosities.symmetry.SymmetryWandItem;
import com.simibubi.create.content.curiosities.symmetry.client.SymmetryWandModel;
+import com.simibubi.create.content.curiosities.tools.BlueprintItem;
import com.simibubi.create.content.curiosities.tools.ExtendoGripItem;
import com.simibubi.create.content.curiosities.tools.ExtendoGripModel;
import com.simibubi.create.content.curiosities.tools.SandPaperItem;
import com.simibubi.create.content.curiosities.tools.SandPaperItemRenderer.SandPaperModel;
import com.simibubi.create.content.curiosities.zapper.terrainzapper.WorldshaperItem;
import com.simibubi.create.content.curiosities.zapper.terrainzapper.WorldshaperModel;
+import com.simibubi.create.content.logistics.item.LinkedControllerItem;
+import com.simibubi.create.content.logistics.item.LinkedControllerModel;
import com.simibubi.create.content.logistics.item.filter.FilterItem;
import com.simibubi.create.content.schematics.item.SchematicAndQuillItem;
import com.simibubi.create.content.schematics.item.SchematicItem;
@@ -56,12 +59,13 @@ import net.minecraft.item.Food;
import net.minecraft.item.Item;
import net.minecraft.item.Rarity;
import net.minecraft.tags.ITag;
+import net.minecraft.tags.ItemTags;
import net.minecraft.util.ResourceLocation;
public class AllItems {
private static final CreateRegistrate REGISTRATE = Create.registrate()
- .itemGroup(() -> Create.baseCreativeTab);
+ .itemGroup(() -> Create.BASE_CREATIVE_TAB);
// Schematics
@@ -122,10 +126,10 @@ public class AllItems {
BRASS_INGOT = taggedIngredient("brass_ingot", forgeItemTag("ingots/brass"), CREATE_INGOTS.tag);
public static final ItemEntry CHROMATIC_COMPOUND =
- REGISTRATE.item("chromatic_compound", ChromaticCompoundItem::new)
- .properties(p -> p.rarity(Rarity.UNCOMMON))
- .model(AssetLookup.existingItemModel())
- .onRegister(CreateRegistrate.itemColors(() -> ChromaticCompoundColor::new))
+ REGISTRATE.item("chromatic_compound", ChromaticCompoundItem::new)
+ .properties(p -> p.rarity(Rarity.UNCOMMON))
+ .model(AssetLookup.existingItemModel())
+ .color(() -> ChromaticCompoundColor::new)
.register();
public static final ItemEntry SHADOW_STEEL = REGISTRATE.item("shadow_steel", ShadowSteelItem::new)
@@ -145,11 +149,11 @@ public class AllItems {
COPPER_SHEET = taggedIngredient("copper_sheet", forgeItemTag("plates/copper"), PLATES.tag),
BRASS_SHEET = taggedIngredient("brass_sheet", forgeItemTag("plates/brass"), PLATES.tag),
IRON_SHEET = taggedIngredient("iron_sheet", forgeItemTag("plates/iron"), PLATES.tag),
- GOLDEN_SHEET = taggedIngredient("golden_sheet", forgeItemTag("plates/gold"), PLATES.tag),
+ GOLDEN_SHEET = taggedIngredient("golden_sheet", forgeItemTag("plates/gold"), PLATES.tag, ItemTags.PIGLIN_LOVED),
LAPIS_SHEET = taggedIngredient("lapis_sheet", forgeItemTag("plates/lapis_lazuli"), PLATES.tag),
CRUSHED_IRON = taggedIngredient("crushed_iron_ore", CRUSHED_ORES.tag),
- CRUSHED_GOLD = taggedIngredient("crushed_gold_ore", CRUSHED_ORES.tag),
+ CRUSHED_GOLD = taggedIngredient("crushed_gold_ore", CRUSHED_ORES.tag, ItemTags.PIGLIN_LOVED),
CRUSHED_COPPER = taggedIngredient("crushed_copper_ore", CRUSHED_ORES.tag),
CRUSHED_ZINC = taggedIngredient("crushed_zinc_ore", CRUSHED_ORES.tag),
CRUSHED_BRASS = taggedIngredient("crushed_brass", CRUSHED_ORES.tag);
@@ -183,25 +187,29 @@ public class AllItems {
public static final ItemEntry GOGGLES = REGISTRATE.item("goggles", GogglesItem::new)
.properties(p -> p.maxStackSize(1))
- .onRegister(CreateRegistrate.itemModel(() -> GogglesModel::new))
- .lang("Engineer's Goggles")
- .register();
-
- public static final ItemEntry SUPER_GLUE = REGISTRATE.item("super_glue", SuperGlueItem::new)
- .register();
-
- public static final ItemEntry MINECART_COUPLING =
- REGISTRATE.item("minecart_coupling", MinecartCouplingItem::new)
+ .onRegister(CreateRegistrate.itemModel(() -> GogglesModel::new))
+ .lang("Engineer's Goggles")
.register();
+ public static final ItemEntry SUPER_GLUE = REGISTRATE.item("super_glue", SuperGlueItem::new)
+ .register();
+
+ public static final ItemEntry MINECART_COUPLING =
+ REGISTRATE.item("minecart_coupling", MinecartCouplingItem::new)
+ .register();
+
+ public static final ItemEntry CRAFTING_BLUEPRINT =
+ REGISTRATE.item("crafting_blueprint", BlueprintItem::new)
+ .register();
+
public static final ItemEntry SAND_PAPER = REGISTRATE.item("sand_paper", SandPaperItem::new)
- .transform(CreateRegistrate.customRenderedItem(() -> SandPaperModel::new))
- .register();
+ .transform(CreateRegistrate.customRenderedItem(() -> SandPaperModel::new))
+ .register();
public static final ItemEntry RED_SAND_PAPER = REGISTRATE.item("red_sand_paper", SandPaperItem::new)
- .transform(CreateRegistrate.customRenderedItem(() -> SandPaperModel::new))
- .onRegister(s -> TooltipHelper.referTo(s, SAND_PAPER))
- .register();
+ .transform(CreateRegistrate.customRenderedItem(() -> SandPaperModel::new))
+ .onRegister(s -> TooltipHelper.referTo(s, SAND_PAPER))
+ .register();
public static final ItemEntry WRENCH = REGISTRATE.item("wrench", WrenchItem::new)
.properties(p -> p.maxStackSize(1))
@@ -214,6 +222,12 @@ public class AllItems {
.model(AssetLookup.itemModelWithPartials())
.register();
+ public static final ItemEntry LINKED_CONTROLLER =
+ REGISTRATE.item("linked_controller", LinkedControllerItem::new)
+ .transform(CreateRegistrate.customRenderedItem(() -> LinkedControllerModel::new))
+ .model(AssetLookup.itemModelWithPartials())
+ .register();
+
public static final ItemEntry WAND_OF_SYMMETRY =
REGISTRATE.item("wand_of_symmetry", SymmetryWandItem::new)
.transform(CreateRegistrate.customRenderedItem(() -> SymmetryWandModel::new))
diff --git a/src/main/java/com/simibubi/create/AllKeys.java b/src/main/java/com/simibubi/create/AllKeys.java
index d997811b2..3877f1026 100644
--- a/src/main/java/com/simibubi/create/AllKeys.java
+++ b/src/main/java/com/simibubi/create/AllKeys.java
@@ -9,7 +9,8 @@ import net.minecraftforge.fml.client.registry.ClientRegistry;
public enum AllKeys {
- TOOL_MENU("toolmenu", GLFW.GLFW_KEY_LEFT_ALT), ACTIVATE_TOOL("", GLFW.GLFW_KEY_LEFT_CONTROL),
+ TOOL_MENU("toolmenu", GLFW.GLFW_KEY_LEFT_ALT),
+ ACTIVATE_TOOL("", GLFW.GLFW_KEY_LEFT_CONTROL),
;
diff --git a/src/main/java/com/simibubi/create/AllMovementBehaviours.java b/src/main/java/com/simibubi/create/AllMovementBehaviours.java
index 0d306ddaf..ece2e1f65 100644
--- a/src/main/java/com/simibubi/create/AllMovementBehaviours.java
+++ b/src/main/java/com/simibubi/create/AllMovementBehaviours.java
@@ -17,12 +17,12 @@ import net.minecraft.block.Blocks;
import net.minecraft.util.ResourceLocation;
public class AllMovementBehaviours {
- private static final HashMap movementBehaviours = new HashMap<>();
+ private static final HashMap MOVEMENT_BEHAVIOURS = new HashMap<>();
public static void addMovementBehaviour(ResourceLocation resourceLocation, MovementBehaviour movementBehaviour) {
- if (movementBehaviours.containsKey(resourceLocation))
- Create.logger.warn("Movement behaviour for " + resourceLocation.toString() + " was overridden");
- movementBehaviours.put(resourceLocation, movementBehaviour);
+ if (MOVEMENT_BEHAVIOURS.containsKey(resourceLocation))
+ Create.LOGGER.warn("Movement behaviour for " + resourceLocation.toString() + " was overridden");
+ MOVEMENT_BEHAVIOURS.put(resourceLocation, movementBehaviour);
}
public static void addMovementBehaviour(Block block, MovementBehaviour movementBehaviour) {
@@ -31,7 +31,7 @@ public class AllMovementBehaviours {
@Nullable
public static MovementBehaviour of(ResourceLocation resourceLocation) {
- return movementBehaviours.getOrDefault(resourceLocation, null);
+ return MOVEMENT_BEHAVIOURS.getOrDefault(resourceLocation, null);
}
@Nullable
@@ -45,7 +45,7 @@ public class AllMovementBehaviours {
}
public static boolean contains(Block block) {
- return movementBehaviours.containsKey(block.getRegistryName());
+ return MOVEMENT_BEHAVIOURS.containsKey(block.getRegistryName());
}
public static NonNullConsumer super B> addMovementBehaviour(
diff --git a/src/main/java/com/simibubi/create/AllSoundEvents.java b/src/main/java/com/simibubi/create/AllSoundEvents.java
index bec9744d2..dc2b0f0c0 100644
--- a/src/main/java/com/simibubi/create/AllSoundEvents.java
+++ b/src/main/java/com/simibubi/create/AllSoundEvents.java
@@ -152,12 +152,37 @@ public class AllSoundEvents {
.playExisting(SoundEvents.ITEM_ARMOR_EQUIP_GOLD, 1f, 1f)
.category(SoundCategory.PLAYERS)
.build(),
-
+
AUTO_POLISH = create("deployer_polish").subtitle("Deployer applies polish")
.playExisting(SoundEvents.UI_STONECUTTER_TAKE_RESULT, 1f, 1f)
.category(SoundCategory.BLOCKS)
.build(),
+ CONTROLLER_CLICK = create("controller_click").subtitle("Controller clicks")
+ .playExisting(SoundEvents.ENTITY_ITEM_FRAME_ADD_ITEM, .35f, 1f)
+ .category(SoundCategory.BLOCKS)
+ .build(),
+
+ SAW_ACTIVATE_WOOD = create("saw_activate_wood").subtitle("Mechanical Saw activates")
+ .playExisting(SoundEvents.ENTITY_BOAT_PADDLE_LAND, .75f, 1.5f)
+ .category(SoundCategory.BLOCKS)
+ .build(),
+
+ SAW_ACTIVATE_STONE = create("saw_activate_stone").subtitle("Mechanical Saw activates")
+ .playExisting(SoundEvents.UI_STONECUTTER_TAKE_RESULT, .125f, 1.25f)
+ .category(SoundCategory.BLOCKS)
+ .build(),
+
+ SAW_PROCESS = create("saw_process").subtitle("Mechanical Saw processes")
+ .playExisting(SoundEvents.BLOCK_SAND_PLACE, .075f, .75f)
+ .category(SoundCategory.BLOCKS)
+ .build(),
+
+ SAW_IDLE = create("saw_idle").subtitle("Mechanical Saw turns")
+ .playExisting(SoundEvents.ENTITY_BOAT_PADDLE_LAND)
+ .category(SoundCategory.BLOCKS)
+ .build(),
+
BLAZE_MUNCH = create("blaze_munch").subtitle("Blaze Burner munches")
.playExisting(SoundEvents.ENTITY_GENERIC_EAT, .5f, 1f)
.category(SoundCategory.BLOCKS)
@@ -172,7 +197,7 @@ public class AllSoundEvents {
for (SoundEntry entry : entries.values())
entry.register(registry);
}
-
+
public static void prepare() {
for (SoundEntry entry : entries.values())
entry.prepare();
@@ -363,7 +388,7 @@ public class AllSoundEvents {
this.wrappedEvents = wrappedEvents;
compiledEvents = Lists.newArrayList();
}
-
+
@Override
public void prepare() {
for (int i = 0; i < wrappedEvents.size(); i++) {
@@ -376,7 +401,7 @@ public class AllSoundEvents {
@Override
public void register(IForgeRegistry registry) {
- for (Pair> pair : compiledEvents)
+ for (Pair> pair : compiledEvents)
registry.register(pair.getFirst());
}
@@ -435,7 +460,7 @@ public class AllSoundEvents {
public CustomSoundEntry(String id, String subtitle, SoundCategory category) {
super(id, subtitle, category);
}
-
+
@Override
public void prepare() {
ResourceLocation location = getLocation();
diff --git a/src/main/java/com/simibubi/create/AllSpecialTextures.java b/src/main/java/com/simibubi/create/AllSpecialTextures.java
index d3b95fe85..786dde9be 100644
--- a/src/main/java/com/simibubi/create/AllSpecialTextures.java
+++ b/src/main/java/com/simibubi/create/AllSpecialTextures.java
@@ -2,10 +2,7 @@ package com.simibubi.create;
import net.minecraft.client.Minecraft;
import net.minecraft.util.ResourceLocation;
-import net.minecraftforge.api.distmarker.Dist;
-import net.minecraftforge.fml.common.Mod.EventBusSubscriber;
-@EventBusSubscriber(value = Dist.CLIENT)
public enum AllSpecialTextures {
BLANK("blank.png"),
diff --git a/src/main/java/com/simibubi/create/AllSpriteShifts.java b/src/main/java/com/simibubi/create/AllSpriteShifts.java
index 224d852a7..e2c943f9f 100644
--- a/src/main/java/com/simibubi/create/AllSpriteShifts.java
+++ b/src/main/java/com/simibubi/create/AllSpriteShifts.java
@@ -5,11 +5,12 @@ import static com.simibubi.create.foundation.block.connected.CTSpriteShifter.CTT
import static com.simibubi.create.foundation.block.connected.CTSpriteShifter.CTType.OMNIDIRECTIONAL;
import static com.simibubi.create.foundation.block.connected.CTSpriteShifter.CTType.VERTICAL;
+import java.util.Arrays;
import java.util.IdentityHashMap;
import java.util.Map;
-import com.simibubi.create.content.palettes.PaletteBlockPatterns;
-import com.simibubi.create.content.palettes.PaletteBlockPatterns.CTs;
+import com.simibubi.create.content.palettes.PaletteBlockPattern;
+import com.simibubi.create.content.palettes.PaletteBlockPattern.CTs;
import com.simibubi.create.content.palettes.PaletteStoneVariants;
import com.simibubi.create.foundation.block.connected.CTSpriteShiftEntry;
import com.simibubi.create.foundation.block.connected.CTSpriteShifter.CTType;
@@ -23,7 +24,7 @@ import net.minecraft.item.DyeColor;
public class AllSpriteShifts {
static final Map WOODEN_WINDOWS = new IdentityHashMap<>();
- static final Map> PALETTE_VARIANT_PATTERNS =
+ static final Map> PALETTE_VARIANT_PATTERNS =
new IdentityHashMap<>();
public static final Map DYED_BELTS = new IdentityHashMap<>(),
@@ -69,7 +70,7 @@ public class AllSpriteShifts {
return WOODEN_WINDOWS.get(woodType);
}
- public static CTSpriteShiftEntry getVariantPattern(PaletteStoneVariants variant, PaletteBlockPatterns.CTs texture) {
+ public static CTSpriteShiftEntry getVariantPattern(PaletteStoneVariants variant, PaletteBlockPattern.CTs texture) {
return PALETTE_VARIANT_PATTERNS.get(variant)
.get(texture);
}
@@ -77,7 +78,11 @@ public class AllSpriteShifts {
//
private static void populateMaps() {
- WoodType.stream()
+ WoodType[] supportedWoodTypes = new WoodType[]{
+ WoodType.OAK, WoodType.SPRUCE, WoodType.BIRCH, WoodType.ACACIA, WoodType.JUNGLE, WoodType.DARK_OAK,
+ WoodType.CRIMSON, WoodType.WARPED
+ };
+ Arrays.stream(supportedWoodTypes)
.forEach(woodType -> WOODEN_WINDOWS.put(woodType, vertical("palettes/" + woodType.getName() + "_window")));
for (PaletteStoneVariants paletteStoneVariants : PaletteStoneVariants.values()) {
@@ -85,7 +90,7 @@ public class AllSpriteShifts {
IdentityHashMap map = new IdentityHashMap<>();
PALETTE_VARIANT_PATTERNS.put(paletteStoneVariants, map);
- for (PaletteBlockPatterns.CTs texture : PaletteBlockPatterns.CTs.values()) {
+ for (PaletteBlockPattern.CTs texture : PaletteBlockPattern.CTs.values()) {
String textureName = Lang.asId(texture.name());
String target = "palettes/" + variantName + "/" + textureName;
map.put(texture, getCT(texture.type, target));
diff --git a/src/main/java/com/simibubi/create/AllStitchedTextures.java b/src/main/java/com/simibubi/create/AllStitchedTextures.java
new file mode 100644
index 000000000..30482c457
--- /dev/null
+++ b/src/main/java/com/simibubi/create/AllStitchedTextures.java
@@ -0,0 +1,15 @@
+package com.simibubi.create;
+
+import com.jozufozu.flywheel.core.AtlasStitcher;
+import com.jozufozu.flywheel.core.StitchedSprite;
+
+import net.minecraft.util.ResourceLocation;
+
+public class AllStitchedTextures {
+
+ public static final StitchedSprite SUPER_GLUE = AtlasStitcher.getInstance().get(new ResourceLocation(Create.ID, "entity/super_glue/slime"));
+
+ public static void init() {
+
+ }
+}
diff --git a/src/main/java/com/simibubi/create/AllTags.java b/src/main/java/com/simibubi/create/AllTags.java
index b42cdf120..e8a93844b 100644
--- a/src/main/java/com/simibubi/create/AllTags.java
+++ b/src/main/java/com/simibubi/create/AllTags.java
@@ -31,7 +31,7 @@ import net.minecraftforge.fml.ModList;
public class AllTags {
private static final CreateRegistrate REGISTRATE = Create.registrate()
- .itemGroup(() -> Create.baseCreativeTab);
+ .itemGroup(() -> Create.BASE_CREATIVE_TAB);
public static NonNullFunction, ItemBuilder>> tagBlockAndItem(
String tagName) {
@@ -146,7 +146,6 @@ public class AllTags {
WINDMILL_SAILS,
FAN_HEATERS,
WINDOWABLE,
- NON_MOVABLE,
BRITTLE,
SEATS,
SAILS,
@@ -179,6 +178,7 @@ public class AllTags {
}
}
+
public boolean matches(BlockState block) {
return tag.contains(block.getBlock());
}
@@ -209,6 +209,7 @@ public class AllTags {
AllBlockTags.WINDMILL_SAILS.includeAll(BlockTags.WOOL);
AllBlockTags.BRITTLE.includeAll(BlockTags.DOORS);
+ AllBlockTags.BRITTLE.includeAll(BlockTags.BEDS);
AllBlockTags.BRITTLE.add(Blocks.FLOWER_POT, Blocks.BELL, Blocks.COCOA);
AllBlockTags.FAN_TRANSPARENT.includeAll(BlockTags.FENCES);
diff --git a/src/main/java/com/simibubi/create/AllTileEntities.java b/src/main/java/com/simibubi/create/AllTileEntities.java
index 329786289..e0455c9c2 100644
--- a/src/main/java/com/simibubi/create/AllTileEntities.java
+++ b/src/main/java/com/simibubi/create/AllTileEntities.java
@@ -119,6 +119,8 @@ import com.simibubi.create.content.contraptions.relays.gearbox.GearshiftTileEnti
import com.simibubi.create.content.curiosities.armor.CopperBacktankInstance;
import com.simibubi.create.content.curiosities.armor.CopperBacktankRenderer;
import com.simibubi.create.content.curiosities.armor.CopperBacktankTileEntity;
+import com.simibubi.create.content.curiosities.projector.ChromaticProjectorInstance;
+import com.simibubi.create.content.curiosities.projector.ChromaticProjectorTileEntity;
import com.simibubi.create.content.logistics.block.belts.tunnel.BeltTunnelInstance;
import com.simibubi.create.content.logistics.block.belts.tunnel.BeltTunnelRenderer;
import com.simibubi.create.content.logistics.block.belts.tunnel.BeltTunnelTileEntity;
@@ -157,7 +159,6 @@ import com.simibubi.create.content.schematics.block.SchematicannonInstance;
import com.simibubi.create.content.schematics.block.SchematicannonRenderer;
import com.simibubi.create.content.schematics.block.SchematicannonTileEntity;
import com.simibubi.create.foundation.tileEntity.renderer.SmartTileEntityRenderer;
-import com.tterrag.registrate.util.entry.BlockEntry;
import com.tterrag.registrate.util.entry.TileEntityEntry;
public class AllTileEntities {
@@ -246,10 +247,10 @@ public class AllTileEntities {
.register();
public static final TileEntityEntry HAND_CRANK = Create.registrate()
- .tileEntity("hand_crank", HandCrankTileEntity::new)
- .instance(() -> HandCrankInstance::new)
- .validBlocks(AllBlocks.HAND_CRANK, AllBlocks.COPPER_VALVE_HANDLE)
- .validBlocks(AllBlocks.DYED_VALVE_HANDLES.toArray(new BlockEntry>[AllBlocks.DYED_VALVE_HANDLES.size()]))
+ .tileEntity("hand_crank", HandCrankTileEntity::new)
+ .instance(() -> HandCrankInstance::new)
+ .validBlocks(AllBlocks.HAND_CRANK, AllBlocks.COPPER_VALVE_HANDLE)
+ .validBlocks(AllBlocks.DYED_VALVE_HANDLES.toArray())
.renderer(() -> HandCrankRenderer::new)
.register();
@@ -657,7 +658,6 @@ public class AllTileEntities {
.validBlocks(AllBlocks.ADJUSTABLE_PULSE_REPEATER)
.renderer(() -> AdjustableRepeaterRenderer::new)
.register();
-
public static final TileEntityEntry COPPER_BACKTANK = Create.registrate()
.tileEntity("copper_backtank", CopperBacktankTileEntity::new)
.instance(() -> CopperBacktankInstance::new)
diff --git a/src/main/java/com/simibubi/create/Create.java b/src/main/java/com/simibubi/create/Create.java
index c62a11acb..d86dea882 100644
--- a/src/main/java/com/simibubi/create/Create.java
+++ b/src/main/java/com/simibubi/create/Create.java
@@ -31,7 +31,6 @@ import com.simibubi.create.foundation.worldgen.AllWorldFeatures;
import com.tterrag.registrate.util.NonNullLazyValue;
import net.minecraft.data.DataGenerator;
-import net.minecraft.inventory.container.ContainerType;
import net.minecraft.item.ItemGroup;
import net.minecraft.item.crafting.IRecipeSerializer;
import net.minecraft.particles.ParticleType;
@@ -55,54 +54,54 @@ public class Create {
public static final String ID = "create";
public static final String NAME = "Create";
- public static final String VERSION = "0.3.1c";
+ public static final String VERSION = "0.3.2";
- public static Logger logger = LogManager.getLogger();
- public static ItemGroup baseCreativeTab = new CreateItemGroup();
- public static ItemGroup palettesCreativeTab = new PalettesItemGroup();
+ public static final Logger LOGGER = LogManager.getLogger();
- public static Gson GSON = new GsonBuilder().setPrettyPrinting()
- .disableHtmlEscaping()
- .create();
+ public static final Gson GSON = new GsonBuilder().setPrettyPrinting()
+ .disableHtmlEscaping()
+ .create();
- public static ServerSchematicLoader schematicReceiver;
- public static RedstoneLinkNetworkHandler redstoneLinkNetworkHandler;
- public static TorquePropagator torquePropagator;
- public static ServerLagger lagger;
- public static ChunkUtil chunkUtil;
- public static Random random;
+ public static final ItemGroup BASE_CREATIVE_TAB = new CreateItemGroup();
+ public static final ItemGroup PALETTES_CREATIVE_TAB = new PalettesItemGroup();
- private static final NonNullLazyValue registrate = CreateRegistrate.lazy(ID);
+ 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 ServerLagger LAGGER = new ServerLagger();
+ public static final ChunkUtil CHUNK_UTIL = new ChunkUtil();
+ public static final Random RANDOM = new Random();
+
+ private static final NonNullLazyValue REGISTRATE = CreateRegistrate.lazy(ID);
public Create() {
- IEventBus modEventBus = FMLJavaModLoadingContext.get()
- .getModEventBus();
-
AllSoundEvents.prepare();
AllBlocks.register();
AllItems.register();
AllFluids.register();
AllTags.register();
AllPaletteBlocks.register();
+ AllContainerTypes.register();
AllEntityTypes.register();
AllTileEntities.register();
AllMovementBehaviours.register();
AllWorldFeatures.register();
+ AllConfigs.register();
+
+ IEventBus modEventBus = FMLJavaModLoadingContext.get()
+ .getModEventBus();
+ IEventBus forgeEventBus = MinecraftForge.EVENT_BUS;
modEventBus.addListener(Create::init);
- MinecraftForge.EVENT_BUS.addListener(EventPriority.HIGH, Create::onBiomeLoad);
modEventBus.addGenericListener(Feature.class, AllWorldFeatures::registerOreFeatures);
modEventBus.addGenericListener(Placement.class, AllWorldFeatures::registerDecoratorFeatures);
modEventBus.addGenericListener(IRecipeSerializer.class, AllRecipeTypes::register);
- modEventBus.addGenericListener(ContainerType.class, AllContainerTypes::register);
modEventBus.addGenericListener(ParticleType.class, AllParticleTypes::register);
modEventBus.addGenericListener(SoundEvent.class, AllSoundEvents::register);
modEventBus.addListener(AllConfigs::onLoad);
modEventBus.addListener(AllConfigs::onReload);
modEventBus.addListener(EventPriority.LOWEST, this::gatherData);
-
- AllConfigs.register();
- random = new Random();
+ forgeEventBus.addListener(EventPriority.HIGH, Create::onBiomeLoad);
DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> () -> CreateClient.addClientListeners(modEventBus));
}
@@ -110,14 +109,9 @@ public class Create {
public static void init(final FMLCommonSetupEvent event) {
CapabilityMinecartController.register();
SchematicInstances.register();
- schematicReceiver = new ServerSchematicLoader();
- redstoneLinkNetworkHandler = new RedstoneLinkNetworkHandler();
- torquePropagator = new TorquePropagator();
- lagger = new ServerLagger();
- chunkUtil = new ChunkUtil();
- chunkUtil.init();
- MinecraftForge.EVENT_BUS.register(chunkUtil);
+ CHUNK_UTIL.init();
+ MinecraftForge.EVENT_BUS.register(CHUNK_UTIL);
AllPackets.registerPackets();
AllTriggers.register();
@@ -128,18 +122,6 @@ public class Create {
});
}
- public static void onBiomeLoad(BiomeLoadingEvent event) {
- AllWorldFeatures.reload(event);
- }
-
- public static CreateRegistrate registrate() {
- return registrate.get();
- }
-
- public static ResourceLocation asResource(String path) {
- return new ResourceLocation(ID, path);
- }
-
public void gatherData(GatherDataEvent event) {
DataGenerator gen = event.getGenerator();
gen.addProvider(new AllAdvancements(gen));
@@ -150,4 +132,16 @@ public class Create {
ProcessingRecipeGen.registerAll(gen);
}
+ public static void onBiomeLoad(BiomeLoadingEvent event) {
+ AllWorldFeatures.reload(event);
+ }
+
+ public static CreateRegistrate registrate() {
+ return REGISTRATE.get();
+ }
+
+ public static ResourceLocation asResource(String path) {
+ return new ResourceLocation(ID, path);
+ }
+
}
diff --git a/src/main/java/com/simibubi/create/CreateClient.java b/src/main/java/com/simibubi/create/CreateClient.java
index 635998c39..f0b2f45ee 100644
--- a/src/main/java/com/simibubi/create/CreateClient.java
+++ b/src/main/java/com/simibubi/create/CreateClient.java
@@ -5,8 +5,9 @@ import java.util.List;
import java.util.Map;
import java.util.function.Function;
-import javax.annotation.Nullable;
-
+import com.jozufozu.flywheel.backend.Backend;
+import com.jozufozu.flywheel.core.AtlasStitcher;
+import com.jozufozu.flywheel.core.PartialModel;
import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer;
import com.simibubi.create.content.contraptions.components.structureMovement.render.ContraptionRenderDispatcher;
import com.simibubi.create.content.contraptions.relays.encased.CasingConnectivity;
@@ -20,18 +21,11 @@ import com.simibubi.create.foundation.block.render.CustomBlockModels;
import com.simibubi.create.foundation.block.render.SpriteShifter;
import com.simibubi.create.foundation.config.AllConfigs;
import com.simibubi.create.foundation.gui.UIRenderHelper;
-import com.simibubi.create.foundation.item.CustomItemModels;
-import com.simibubi.create.foundation.item.CustomRenderedItems;
+import com.simibubi.create.foundation.item.render.CustomItemModels;
+import com.simibubi.create.foundation.item.render.CustomRenderedItems;
import com.simibubi.create.foundation.ponder.content.PonderIndex;
import com.simibubi.create.foundation.ponder.elements.WorldSectionElement;
-import com.simibubi.create.foundation.render.AllProgramSpecs;
-import com.simibubi.create.foundation.render.KineticRenderer;
import com.simibubi.create.foundation.render.SuperByteBufferCache;
-import com.simibubi.create.foundation.render.backend.Backend;
-import com.simibubi.create.foundation.render.backend.OptifineHandler;
-import com.simibubi.create.foundation.render.backend.core.PartialModel;
-import com.simibubi.create.foundation.render.backend.instancing.InstancedTileRenderer;
-import com.simibubi.create.foundation.utility.WorldAttached;
import com.simibubi.create.foundation.utility.ghost.GhostBlocks;
import com.simibubi.create.foundation.utility.outliner.Outliner;
@@ -53,7 +47,6 @@ import net.minecraft.util.text.TextComponentUtils;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.util.text.event.ClickEvent;
import net.minecraft.util.text.event.HoverEvent;
-import net.minecraft.world.IWorld;
import net.minecraftforge.client.event.ModelBakeEvent;
import net.minecraftforge.client.event.ModelRegistryEvent;
import net.minecraftforge.client.event.TextureStitchEvent;
@@ -63,66 +56,47 @@ import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
public class CreateClient {
- public static ClientSchematicLoader schematicSender;
- public static SchematicHandler schematicHandler;
- public static SchematicAndQuillHandler schematicAndQuillHandler;
- public static SuperByteBufferCache bufferCache;
- public static WorldAttached kineticRenderer;
- public static final Outliner outliner = new Outliner();
- public static GhostBlocks ghostBlocks;
+ public static final ClientSchematicLoader SCHEMATIC_SENDER = new ClientSchematicLoader();
+ public static final SchematicHandler SCHEMATIC_HANDLER = new SchematicHandler();
+ public static final SchematicAndQuillHandler SCHEMATIC_AND_QUILL_HANDLER = new SchematicAndQuillHandler();
+ public static final SuperByteBufferCache BUFFER_CACHE = new SuperByteBufferCache();
+ public static final Outliner OUTLINER = new Outliner();
+ public static final GhostBlocks GHOST_BLOCKS = new GhostBlocks();
private static CustomBlockModels customBlockModels;
private static CustomItemModels customItemModels;
private static CustomRenderedItems customRenderedItems;
- private static AllColorHandlers colorHandlers;
private static CasingConnectivity casingConnectivity;
public static void addClientListeners(IEventBus modEventBus) {
modEventBus.addListener(CreateClient::clientInit);
- modEventBus.addListener(CreateClient::onModelBake);
- modEventBus.addListener(CreateClient::onModelRegistry);
modEventBus.addListener(CreateClient::onTextureStitch);
+ modEventBus.addListener(CreateClient::onModelRegistry);
+ modEventBus.addListener(CreateClient::onModelBake);
modEventBus.addListener(AllParticleTypes::registerFactories);
modEventBus.addListener(ClientEvents::loadCompleted);
-
- Backend.init();
- OptifineHandler.init();
}
public static void clientInit(FMLClientSetupEvent event) {
- AllProgramSpecs.init();
- kineticRenderer = new WorldAttached<>(KineticRenderer::new);
-
- schematicSender = new ClientSchematicLoader();
- schematicHandler = new SchematicHandler();
- schematicAndQuillHandler = new SchematicAndQuillHandler();
-
- bufferCache = new SuperByteBufferCache();
- bufferCache.registerCompartment(KineticTileEntityRenderer.KINETIC_TILE);
- bufferCache.registerCompartment(ContraptionRenderDispatcher.CONTRAPTION, 20);
- bufferCache.registerCompartment(WorldSectionElement.DOC_WORLD_SECTION, 20);
-
- ghostBlocks = new GhostBlocks();
+ BUFFER_CACHE.registerCompartment(KineticTileEntityRenderer.KINETIC_TILE);
+ BUFFER_CACHE.registerCompartment(ContraptionRenderDispatcher.CONTRAPTION, 20);
+ BUFFER_CACHE.registerCompartment(WorldSectionElement.DOC_WORLD_SECTION, 20);
AllKeys.register();
- AllContainerTypes.registerScreenFactories();
- // AllTileEntities.registerRenderers();
- AllEntityTypes.registerRenderers();
- getColorHandler().init();
- AllFluids.assignRenderLayers();
+ // AllFluids.assignRenderLayers();
+ AllBlockPartials.clientInit();
+ AllStitchedTextures.init();
+
PonderIndex.register();
PonderIndex.registerTags();
UIRenderHelper.init();
- UIRenderHelper.enableStencil();
IResourceManager resourceManager = Minecraft.getInstance()
- .getResourceManager();
+ .getResourceManager();
if (resourceManager instanceof IReloadableResourceManager)
((IReloadableResourceManager) resourceManager).addReloadListener(new ResourceReloadHandler());
- AllBlockPartials.clientInit();
-
event.enqueueWork(() -> {
CopperBacktankArmorLayer.register();
});
@@ -130,11 +104,19 @@ public class CreateClient {
public static void onTextureStitch(TextureStitchEvent.Pre event) {
if (!event.getMap()
- .getId()
- .equals(PlayerContainer.BLOCK_ATLAS_TEXTURE))
+ .getId()
+ .equals(PlayerContainer.BLOCK_ATLAS_TEXTURE))
return;
SpriteShifter.getAllTargetSprites()
- .forEach(event::addSprite);
+ .forEach(event::addSprite);
+ }
+
+ public static void onModelRegistry(ModelRegistryEvent event) {
+ PartialModel.onModelRegistry(event);
+
+ getCustomRenderedItems().foreach((item, modelFunc) -> modelFunc.apply(null)
+ .getModelLocations()
+ .forEach(ModelLoader::addSpecialModel));
}
public static void onModelBake(ModelBakeEvent event) {
@@ -142,23 +124,15 @@ public class CreateClient {
PartialModel.onModelBake(event);
getCustomBlockModels()
- .foreach((block, modelFunc) -> swapModels(modelRegistry, getAllBlockStateModelLocations(block), modelFunc));
+ .foreach((block, modelFunc) -> swapModels(modelRegistry, getAllBlockStateModelLocations(block), modelFunc));
getCustomItemModels()
- .foreach((item, modelFunc) -> swapModels(modelRegistry, getItemModelLocation(item), modelFunc));
+ .foreach((item, modelFunc) -> swapModels(modelRegistry, getItemModelLocation(item), modelFunc));
getCustomRenderedItems().foreach((item, modelFunc) -> {
swapModels(modelRegistry, getItemModelLocation(item), m -> modelFunc.apply(m)
.loadPartials(event));
});
}
- public static void onModelRegistry(ModelRegistryEvent event) {
- PartialModel.onModelRegistry(event);
-
- getCustomRenderedItems().foreach((item, modelFunc) -> modelFunc.apply(null)
- .getModelLocations()
- .forEach(ModelLoader::addSpecialModel));
- }
-
protected static ModelResourceLocation getItemModelLocation(Item item) {
return new ModelResourceLocation(item.getRegistryName(), "inventory");
}
@@ -207,12 +181,6 @@ public class CreateClient {
return customBlockModels;
}
- public static AllColorHandlers getColorHandler() {
- if (colorHandlers == null)
- colorHandlers = new AllColorHandlers();
- return colorHandlers;
- }
-
public static CasingConnectivity getCasingConnectivity() {
if (casingConnectivity == null)
casingConnectivity = new CasingConnectivity();
@@ -220,18 +188,7 @@ public class CreateClient {
}
public static void invalidateRenderers() {
- invalidateRenderers(null);
- }
-
- public static void invalidateRenderers(@Nullable IWorld world) {
- bufferCache.invalidate();
-
- if (world != null) {
- kineticRenderer.get(world)
- .invalidate();
- } else {
- kineticRenderer.forEach(InstancedTileRenderer::invalidate);
- }
+ BUFFER_CACHE.invalidate();
ContraptionRenderDispatcher.invalidateAll();
}
diff --git a/src/main/java/com/simibubi/create/compat/jei/BlueprintTransferHandler.java b/src/main/java/com/simibubi/create/compat/jei/BlueprintTransferHandler.java
new file mode 100644
index 000000000..d4d4facd0
--- /dev/null
+++ b/src/main/java/com/simibubi/create/compat/jei/BlueprintTransferHandler.java
@@ -0,0 +1,33 @@
+package com.simibubi.create.compat.jei;
+
+import com.simibubi.create.content.curiosities.tools.BlueprintAssignCompleteRecipePacket;
+import com.simibubi.create.content.curiosities.tools.BlueprintContainer;
+import com.simibubi.create.foundation.networking.AllPackets;
+
+import mezz.jei.api.gui.IRecipeLayout;
+import mezz.jei.api.recipe.transfer.IRecipeTransferError;
+import mezz.jei.api.recipe.transfer.IRecipeTransferHandler;
+import net.minecraft.entity.player.PlayerEntity;
+import net.minecraft.item.crafting.IRecipe;
+
+public class BlueprintTransferHandler implements IRecipeTransferHandler {
+
+ @Override
+ public Class getContainerClass() {
+ return BlueprintContainer.class;
+ }
+
+ @Override
+ public IRecipeTransferError transferRecipe(BlueprintContainer container, Object recipe, IRecipeLayout recipeLayout,
+ PlayerEntity player, boolean maxTransfer, boolean doTransfer) {
+ if (!(recipe instanceof IRecipe))
+ return null;
+ if (!doTransfer)
+ return null;
+ IRecipe> iRecipe = (IRecipe>) recipe;
+ // Continued server-side in BlueprintItem.assignCompleteRecipe()
+ AllPackets.channel.sendToServer(new BlueprintAssignCompleteRecipePacket(iRecipe.getId()));
+ return null;
+ }
+
+}
diff --git a/src/main/java/com/simibubi/create/compat/jei/CreateJEI.java b/src/main/java/com/simibubi/create/compat/jei/CreateJEI.java
index 5d545b40f..9e34f5f0f 100644
--- a/src/main/java/com/simibubi/create/compat/jei/CreateJEI.java
+++ b/src/main/java/com/simibubi/create/compat/jei/CreateJEI.java
@@ -1,8 +1,8 @@
package com.simibubi.create.compat.jei;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
+import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Predicate;
import java.util.function.Supplier;
@@ -39,7 +39,9 @@ import com.simibubi.create.content.contraptions.components.press.MechanicalPress
import com.simibubi.create.content.contraptions.components.saw.SawTileEntity;
import com.simibubi.create.content.contraptions.fluids.recipe.PotionMixingRecipeManager;
import com.simibubi.create.content.contraptions.processing.BasinRecipe;
+import com.simibubi.create.content.curiosities.tools.BlueprintScreen;
import com.simibubi.create.content.logistics.block.inventories.AdjustableCrateScreen;
+import com.simibubi.create.content.logistics.item.LinkedControllerScreen;
import com.simibubi.create.content.logistics.item.filter.AbstractFilterScreen;
import com.simibubi.create.content.logistics.item.filter.AttributeFilterScreen;
import com.simibubi.create.content.logistics.item.filter.FilterScreen;
@@ -51,10 +53,12 @@ import com.simibubi.create.foundation.config.ConfigBase.ConfigBool;
import mezz.jei.api.IModPlugin;
import mezz.jei.api.JeiPlugin;
+import mezz.jei.api.constants.VanillaRecipeCategoryUid;
import mezz.jei.api.registration.IGuiHandlerRegistration;
import mezz.jei.api.registration.IRecipeCatalystRegistration;
import mezz.jei.api.registration.IRecipeCategoryRegistration;
import mezz.jei.api.registration.IRecipeRegistration;
+import mezz.jei.api.registration.IRecipeTransferRegistration;
import mezz.jei.api.runtime.IIngredientManager;
import net.minecraft.client.Minecraft;
import net.minecraft.item.ItemStack;
@@ -81,19 +85,19 @@ public class CreateJEI implements IModPlugin {
}
public IIngredientManager ingredientManager;
- final List> ALL = new ArrayList<>();
- final CreateRecipeCategory>
+ private final List> allCategories = new ArrayList<>();
+ private final CreateRecipeCategory>
- milling = register("milling", MillingCategory::new).recipes(AllRecipeTypes.MILLING)
- .catalyst(AllBlocks.MILLSTONE::get)
- .build(),
+ milling = register("milling", MillingCategory::new).recipes(AllRecipeTypes.MILLING)
+ .catalyst(AllBlocks.MILLSTONE::get)
+ .build(),
- crushing = register("crushing", CrushingCategory::new).recipes(AllRecipeTypes.CRUSHING)
+ crushing = register("crushing", CrushingCategory::new).recipes(AllRecipeTypes.CRUSHING)
.recipesExcluding(AllRecipeTypes.MILLING::getType, AllRecipeTypes.CRUSHING::getType)
.catalyst(AllBlocks.CRUSHING_WHEEL::get)
.build(),
- pressing = register("pressing", PressingCategory::new).recipes(AllRecipeTypes.PRESSING)
+ pressing = register("pressing", PressingCategory::new).recipes(AllRecipeTypes.PRESSING)
.catalyst(AllBlocks.MECHANICAL_PRESS::get)
.build(),
@@ -106,7 +110,9 @@ public class CreateJEI implements IModPlugin {
.build(),
blasting = register("fan_blasting", FanBlastingCategory::new)
- .recipesExcluding(() -> IRecipeType.SMELTING, () -> IRecipeType.SMOKING)
+ .recipesExcluding(() -> IRecipeType.SMELTING, () -> IRecipeType.BLASTING)
+ .recipes(() -> IRecipeType.BLASTING)
+ .removeRecipes(() -> IRecipeType.SMOKING)
.catalystStack(ProcessingViaFanCategory.getFan("fan_blasting"))
.build(),
@@ -165,9 +171,10 @@ public class CreateJEI implements IModPlugin {
.catalyst(AllItems.SAND_PAPER::get)
.catalyst(AllItems.RED_SAND_PAPER::get)
.build(),
-
+
deploying = register("deploying", DeployingCategory::new)
- .recipeList(() -> DeployerApplicationRecipe.convert(findRecipesByType(AllRecipeTypes.SANDPAPER_POLISHING.type)))
+ .recipeList(
+ () -> DeployerApplicationRecipe.convert(findRecipesByType(AllRecipeTypes.SANDPAPER_POLISHING.type)))
.recipes(AllRecipeTypes.DEPLOYING)
.catalyst(AllBlocks.DEPLOYER::get)
.catalyst(AllBlocks.DEPOT::get)
@@ -201,136 +208,152 @@ public class CreateJEI implements IModPlugin {
mechanicalCrafting =
register("mechanical_crafting", MechanicalCraftingCategory::new).recipes(AllRecipeTypes.MECHANICAL_CRAFTING)
- .catalyst(AllBlocks.MECHANICAL_CRAFTER::get)
- .build()
-
- ;
+ .catalyst(AllBlocks.MECHANICAL_CRAFTER::get)
+ .build();
private > CategoryBuilder register(String name,
- Supplier> supplier) {
+ Supplier> supplier) {
return new CategoryBuilder(name, supplier);
}
+ @Override
+ public void registerRecipeTransferHandlers(IRecipeTransferRegistration registration) {
+ registration.addRecipeTransferHandler(new BlueprintTransferHandler(), VanillaRecipeCategoryUid.CRAFTING);
+ }
+
@Override
public void registerCategories(IRecipeCategoryRegistration registration) {
- ALL.forEach(registration::addRecipeCategories);
+ allCategories.forEach(registration::addRecipeCategories);
}
@Override
public void registerRecipes(IRecipeRegistration registration) {
ingredientManager = registration.getIngredientManager();
- ALL.forEach(c -> c.recipes.forEach(s -> registration.addRecipes(s.get(), c.getUid())));
+ allCategories.forEach(c -> c.recipes.forEach(s -> registration.addRecipes(s.get(), c.getUid())));
}
@Override
public void registerRecipeCatalysts(IRecipeCatalystRegistration registration) {
- ALL.forEach(c -> c.recipeCatalysts.forEach(s -> registration.addRecipeCatalyst(s.get(), c.getUid())));
+ allCategories.forEach(c -> c.recipeCatalysts.forEach(s -> registration.addRecipeCatalyst(s.get(), c.getUid())));
}
+ @SuppressWarnings({ "unchecked", "rawtypes" })
@Override
public void registerGuiHandlers(IGuiHandlerRegistration registration) {
SlotMover slotMover = new SlotMover();
- registration.addGuiContainerHandler(AdjustableCrateScreen.class, slotMover);
- registration.addGuiContainerHandler(SchematicannonScreen.class, slotMover);
registration.addGuiContainerHandler(SchematicTableScreen.class, slotMover);
+ registration.addGuiContainerHandler(SchematicannonScreen.class, slotMover);
+ registration.addGuiContainerHandler(AdjustableCrateScreen.class, slotMover);
registration.addGuiContainerHandler(FilterScreen.class, slotMover);
registration.addGuiContainerHandler(AttributeFilterScreen.class, slotMover);
- registration.addGhostIngredientHandler(AbstractFilterScreen.class, new FilterGhostIngredientHandler());
+ registration.addGuiContainerHandler(BlueprintScreen.class, slotMover);
+ registration.addGuiContainerHandler(LinkedControllerScreen.class, slotMover);
+
+ registration.addGhostIngredientHandler(AbstractFilterScreen.class, new GhostIngredientHandler());
+ registration.addGhostIngredientHandler(BlueprintScreen.class, new GhostIngredientHandler());
}
private class CategoryBuilder> {
- CreateRecipeCategory category;
+ private CreateRecipeCategory category;
+ private List>>> recipeListConsumers = new ArrayList<>();
private Predicate pred;
- CategoryBuilder(String name, Supplier> category) {
+ public CategoryBuilder(String name, Supplier> category) {
this.category = category.get();
this.category.setCategoryId(name);
- this.pred = Predicates.alwaysTrue();
+ pred = Predicates.alwaysTrue();
}
- CategoryBuilder catalyst(Supplier supplier) {
- return catalystStack(() -> new ItemStack(supplier.get()
- .asItem()));
- }
-
- CategoryBuilder catalystStack(Supplier supplier) {
- category.recipeCatalysts.add(supplier);
- return this;
- }
-
- CategoryBuilder recipes(AllRecipeTypes recipeTypeEntry) {
+ public CategoryBuilder recipes(AllRecipeTypes recipeTypeEntry) {
return recipes(recipeTypeEntry::getType);
}
- CategoryBuilder recipes(Supplier> recipeType) {
+ public CategoryBuilder recipes(Supplier> recipeType) {
return recipes(r -> r.getType() == recipeType.get());
}
- CategoryBuilder recipes(ResourceLocation serializer) {
+ public CategoryBuilder recipes(ResourceLocation serializer) {
return recipes(r -> r.getSerializer()
.getRegistryName()
.equals(serializer));
}
- CategoryBuilder recipes(Predicate> pred) {
+ public CategoryBuilder recipes(Predicate> pred) {
return recipeList(() -> findRecipes(pred));
}
- CategoryBuilder recipes(Predicate> pred, Function, T> converter) {
+ public CategoryBuilder recipes(Predicate> pred, Function, T> converter) {
return recipeList(() -> findRecipes(pred), converter);
}
- CategoryBuilder recipeList(Supplier>> list) {
+ public CategoryBuilder recipeList(Supplier>> list) {
return recipeList(list, null);
}
- CategoryBuilder recipeList(Supplier>> list, Function, T> converter) {
- category.recipes.add(() -> {
- if (!this.pred.test(AllConfigs.SERVER.recipes))
- return Collections.emptyList();
+ public CategoryBuilder recipeList(Supplier>> list,
+ Function, T> converter) {
+ recipeListConsumers.add(recipes -> {
+ List extends IRecipe>> toAdd = list.get();
if (converter != null)
- return list.get()
- .stream()
- .map(converter)
- .collect(Collectors.toList());
- return list.get();
+ toAdd = toAdd.stream()
+ .map(converter)
+ .collect(Collectors.toList());
+ recipes.addAll(toAdd);
});
return this;
}
- CategoryBuilder recipesExcluding(Supplier> recipeType,
+ public CategoryBuilder recipesExcluding(Supplier> recipeType,
Supplier> excluded) {
- category.recipes.add(() -> {
- if (!this.pred.test(AllConfigs.SERVER.recipes))
- return Collections.emptyList();
- return findRecipesByTypeExcluding(recipeType.get(), excluded.get());
+ recipeListConsumers.add(recipes -> {
+ recipes.addAll(findRecipesByTypeExcluding(recipeType.get(), excluded.get()));
});
return this;
}
- CategoryBuilder enableWhen(Function configValue) {
- this.pred = c -> configValue.apply(c)
+ public CategoryBuilder removeRecipes(Supplier> recipeType) {
+ recipeListConsumers.add(recipes -> {
+ removeRecipesByType(recipes, recipeType.get());
+ });
+ return this;
+ }
+
+ public CategoryBuilder catalyst(Supplier supplier) {
+ return catalystStack(() -> new ItemStack(supplier.get()
+ .asItem()));
+ }
+
+ public CategoryBuilder catalystStack(Supplier supplier) {
+ category.recipeCatalysts.add(supplier);
+ return this;
+ }
+
+ public CategoryBuilder enableWhen(Function configValue) {
+ pred = c -> configValue.apply(c)
.get();
return this;
}
- CategoryBuilder enableWhenBool(Function configValue) {
- this.pred = configValue::apply;
+ public CategoryBuilder enableWhenBool(Function configValue) {
+ pred = configValue::apply;
return this;
}
- CreateRecipeCategory build() {
- ALL.add(category);
+ public CreateRecipeCategory build() {
+ if (pred.test(AllConfigs.SERVER.recipes))
+ category.recipes.add(() -> {
+ List> recipes = new ArrayList<>();
+ for (Consumer>> consumer : recipeListConsumers)
+ consumer.accept(recipes);
+ return recipes;
+ });
+ allCategories.add(category);
return category;
}
}
- static List> findRecipesByType(IRecipeType> type) {
- return findRecipes(r -> r.getType() == type);
- }
-
- static List> findRecipes(Predicate> predicate) {
+ public static List> findRecipes(Predicate> predicate) {
return Minecraft.getInstance().world.getRecipeManager()
.getRecipes()
.stream()
@@ -338,24 +361,44 @@ public class CreateJEI implements IModPlugin {
.collect(Collectors.toList());
}
- static List> findRecipesByTypeExcluding(IRecipeType> type, IRecipeType> excludingType) {
- List> byType = findRecipes(r -> r.getType() == type);
- List> byExcludingType = findRecipes(r -> r.getType() == excludingType);
- byType.removeIf(recipe -> {
- for (IRecipe> r : byExcludingType) {
- ItemStack[] matchingStacks = recipe.getIngredients()
- .get(0)
- .getMatchingStacks();
- if (matchingStacks.length == 0)
- return true;
- if (r.getIngredients()
- .get(0)
- .test(matchingStacks[0]))
- return true;
- }
- return false;
- });
+ public static List> findRecipesByType(IRecipeType> type) {
+ return findRecipes(recipe -> recipe.getType() == type);
+ }
+
+ public static List> findRecipesByTypeExcluding(IRecipeType> type, IRecipeType> excludingType) {
+ List> byType = findRecipesByType(type);
+ removeRecipesByType(byType, excludingType);
return byType;
}
+ public static List> findRecipesByTypeExcluding(IRecipeType> type, IRecipeType>... excludingTypes) {
+ List> byType = findRecipesByType(type);
+ for (IRecipeType> excludingType : excludingTypes)
+ removeRecipesByType(byType, excludingType);
+ return byType;
+ }
+
+ public static void removeRecipesByType(List> recipes, IRecipeType> type) {
+ List> byType = findRecipesByType(type);
+ recipes.removeIf(recipe -> {
+ for (IRecipe> r : byType)
+ if (doInputsMatch(recipe, r))
+ return true;
+ return false;
+ });
+ }
+
+ public static boolean doInputsMatch(IRecipe> recipe1, IRecipe> recipe2) {
+ ItemStack[] matchingStacks = recipe1.getIngredients()
+ .get(0)
+ .getMatchingStacks();
+ if (matchingStacks.length == 0)
+ return true;
+ if (recipe2.getIngredients()
+ .get(0)
+ .test(matchingStacks[0]))
+ return true;
+ return false;
+ }
+
}
diff --git a/src/main/java/com/simibubi/create/compat/jei/FilterGhostIngredientHandler.java b/src/main/java/com/simibubi/create/compat/jei/GhostIngredientHandler.java
similarity index 59%
rename from src/main/java/com/simibubi/create/compat/jei/FilterGhostIngredientHandler.java
rename to src/main/java/com/simibubi/create/compat/jei/GhostIngredientHandler.java
index c5ee188cd..7a1644dda 100644
--- a/src/main/java/com/simibubi/create/compat/jei/FilterGhostIngredientHandler.java
+++ b/src/main/java/com/simibubi/create/compat/jei/GhostIngredientHandler.java
@@ -5,12 +5,10 @@ import java.util.List;
import javax.annotation.ParametersAreNonnullByDefault;
-import org.apache.logging.log4j.LogManager;
-
-import com.simibubi.create.content.logistics.item.filter.AbstractFilterContainer;
-import com.simibubi.create.content.logistics.item.filter.AbstractFilterScreen;
import com.simibubi.create.content.logistics.item.filter.AttributeFilterScreen;
-import com.simibubi.create.content.logistics.item.filter.FilterScreenPacket;
+import com.simibubi.create.foundation.gui.AbstractSimiContainerScreen;
+import com.simibubi.create.foundation.gui.GhostItemContainer;
+import com.simibubi.create.foundation.gui.GhostItemSubmitPacket;
import com.simibubi.create.foundation.networking.AllPackets;
import mcp.MethodsReturnNonnullByDefault;
@@ -18,21 +16,20 @@ import mezz.jei.api.gui.handlers.IGhostIngredientHandler;
import net.minecraft.client.renderer.Rectangle2d;
import net.minecraft.inventory.container.Slot;
import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.CompoundNBT;
@MethodsReturnNonnullByDefault
@ParametersAreNonnullByDefault
-public class FilterGhostIngredientHandler
- implements IGhostIngredientHandler> {
+public class GhostIngredientHandler>
+ implements IGhostIngredientHandler> {
@Override
- public List> getTargets(AbstractFilterScreen gui, I ingredient, boolean doStart) {
+ public List> getTargets(AbstractSimiContainerScreen gui, I ingredient, boolean doStart) {
List> targets = new ArrayList<>();
boolean isAttributeFilter = gui instanceof AttributeFilterScreen;
if (ingredient instanceof ItemStack) {
for (int i = 36; i < gui.getContainer().inventorySlots.size(); i++) {
- targets.add(new FilterGhostTarget<>(gui, i - 36, isAttributeFilter));
+ targets.add(new GhostTarget<>(gui, i - 36, isAttributeFilter));
// Only accept items in 1st slot. 2nd is used for functionality, don't wanna override that one
if (isAttributeFilter)
@@ -44,7 +41,8 @@ public class FilterGhostIngredientHandler
}
@Override
- public void onComplete() {}
+ public void onComplete() {
+ }
@Override
public boolean shouldHighlightTargets() {
@@ -52,14 +50,14 @@ public class FilterGhostIngredientHandler
return true;
}
- private static class FilterGhostTarget implements Target {
+ private static class GhostTarget> implements Target {
private final Rectangle2d area;
- private final AbstractFilterScreen gui;
+ private final AbstractSimiContainerScreen gui;
private final int slotIndex;
private final boolean isAttributeFilter;
- public FilterGhostTarget(AbstractFilterScreen gui, int slotIndex, boolean isAttributeFilter) {
+ public GhostTarget(AbstractSimiContainerScreen gui, int slotIndex, boolean isAttributeFilter) {
this.gui = gui;
this.slotIndex = slotIndex;
this.isAttributeFilter = isAttributeFilter;
@@ -75,19 +73,14 @@ public class FilterGhostIngredientHandler
@Override
public void accept(I ingredient) {
ItemStack stack = ((ItemStack) ingredient).copy();
- LogManager.getLogger()
- .info(stack);
stack.setCount(1);
- gui.getContainer().filterInventory.setStackInSlot(slotIndex, stack);
+ gui.getContainer().ghostInventory.setStackInSlot(slotIndex, stack);
if (isAttributeFilter)
return;
// sync new filter contents with server
- CompoundNBT data = new CompoundNBT();
- data.putInt("Slot", slotIndex);
- data.put("Item", stack.serializeNBT());
- AllPackets.channel.sendToServer(new FilterScreenPacket(FilterScreenPacket.Option.UPDATE_FILTER_ITEM, data));
+ AllPackets.channel.sendToServer(new GhostItemSubmitPacket(stack, slotIndex));
}
}
}
diff --git a/src/main/java/com/simibubi/create/compat/jei/category/CreateRecipeCategory.java b/src/main/java/com/simibubi/create/compat/jei/category/CreateRecipeCategory.java
index 84543da40..55bfbdab2 100644
--- a/src/main/java/com/simibubi/create/compat/jei/category/CreateRecipeCategory.java
+++ b/src/main/java/com/simibubi/create/compat/jei/category/CreateRecipeCategory.java
@@ -31,13 +31,13 @@ import net.minecraftforge.fluids.FluidStack;
public abstract class CreateRecipeCategory> implements IRecipeCategory {
- public List> recipeCatalysts = new ArrayList<>();
- public List>>> recipes = new ArrayList<>();
- public ResourceLocation uid;
+ public final List>>> recipes = new ArrayList<>();
+ public final List> recipeCatalysts = new ArrayList<>();
+ protected ResourceLocation uid;
protected String name;
- private IDrawable icon;
private IDrawable background;
+ private IDrawable icon;
public CreateRecipeCategory(IDrawable icon, IDrawable background) {
this.background = background;
@@ -49,11 +49,6 @@ public abstract class CreateRecipeCategory> implements IRec
this.name = name;
}
- @Override
- public IDrawable getIcon() {
- return icon;
- }
-
@Override
public ResourceLocation getUid() {
return uid;
@@ -70,6 +65,11 @@ public abstract class CreateRecipeCategory> implements IRec
return background;
}
+ @Override
+ public IDrawable getIcon() {
+ return icon;
+ }
+
protected static AllGuiTextures getRenderedSlot(IRecipe> recipe, int index) {
AllGuiTextures jeiSlot = AllGuiTextures.JEI_SLOT;
if (!(recipe instanceof ProcessingRecipe))
diff --git a/src/main/java/com/simibubi/create/compat/jei/category/ProcessingViaFanCategory.java b/src/main/java/com/simibubi/create/compat/jei/category/ProcessingViaFanCategory.java
index 2f03d2056..69b2292d8 100644
--- a/src/main/java/com/simibubi/create/compat/jei/category/ProcessingViaFanCategory.java
+++ b/src/main/java/com/simibubi/create/compat/jei/category/ProcessingViaFanCategory.java
@@ -21,7 +21,6 @@ import mezz.jei.api.ingredients.IIngredients;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.IRecipe;
import net.minecraft.util.math.vector.Vector3f;
-import net.minecraft.util.text.TextFormatting;
public abstract class ProcessingViaFanCategory> extends CreateRecipeCategory {
@@ -41,7 +40,7 @@ public abstract class ProcessingViaFanCategory> extends Cre
public static Supplier getFan(String name) {
return () -> AllBlocks.ENCASED_FAN.asStack()
- .setDisplayName(Lang.translate("recipe." + name + ".fan").formatted(TextFormatting.RESET));
+ .setDisplayName(Lang.translate("recipe." + name + ".fan").styled(style -> style.withItalic(false)));
}
@Override
diff --git a/src/main/java/com/simibubi/create/compat/jei/category/SpoutCategory.java b/src/main/java/com/simibubi/create/compat/jei/category/SpoutCategory.java
index 9bc30ce82..0c965b5c6 100644
--- a/src/main/java/com/simibubi/create/compat/jei/category/SpoutCategory.java
+++ b/src/main/java/com/simibubi/create/compat/jei/category/SpoutCategory.java
@@ -12,6 +12,7 @@ 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;
+import com.simibubi.create.content.contraptions.fluids.actors.GenericItemFilling;
import com.simibubi.create.content.contraptions.fluids.potion.PotionFluidHandler;
import com.simibubi.create.content.contraptions.processing.ProcessingRecipeBuilder;
import com.simibubi.create.foundation.fluid.FluidIngredient;
@@ -71,6 +72,8 @@ public class SpoutCategory extends CreateRecipeCategory {
ItemStack copy = stack.copy();
copy.getCapability(CapabilityFluidHandler.FLUID_HANDLER_ITEM_CAPABILITY)
.ifPresent(fhi -> {
+ if (!GenericItemFilling.isFluidHandlerValid(copy, fhi))
+ return;
FluidStack fluidCopy = fluidStack.copy();
fluidCopy.setAmount(1000);
fhi.fill(fluidCopy, FluidAction.EXECUTE);
diff --git a/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedBlazeBurner.java b/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedBlazeBurner.java
index 920ab0bf3..8d448783d 100644
--- a/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedBlazeBurner.java
+++ b/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedBlazeBurner.java
@@ -1,11 +1,11 @@
package com.simibubi.create.compat.jei.category.animations;
+import com.jozufozu.flywheel.core.PartialModel;
import com.mojang.blaze3d.matrix.MatrixStack;
import com.simibubi.create.AllBlockPartials;
import com.simibubi.create.AllBlocks;
import com.simibubi.create.content.contraptions.processing.burner.BlazeBurnerBlock.HeatLevel;
import com.simibubi.create.foundation.gui.GuiGameElement;
-import com.simibubi.create.foundation.render.backend.core.PartialModel;
import mezz.jei.api.gui.drawable.IDrawable;
import net.minecraft.util.math.vector.Vector3f;
diff --git a/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedCrushingWheels.java b/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedCrushingWheels.java
index 0459efd33..263add564 100644
--- a/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedCrushingWheels.java
+++ b/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedCrushingWheels.java
@@ -1,7 +1,6 @@
package com.simibubi.create.compat.jei.category.animations;
import com.mojang.blaze3d.matrix.MatrixStack;
-import com.mojang.blaze3d.systems.RenderSystem;
import com.simibubi.create.AllBlocks;
import com.simibubi.create.foundation.gui.GuiGameElement;
@@ -14,11 +13,11 @@ public class AnimatedCrushingWheels extends AnimatedKinetics {
@Override
public void draw(MatrixStack matrixStack, int xOffset, int yOffset) {
- RenderSystem.enableDepthTest();
+ matrixStack.push();
matrixStack.translate(xOffset, yOffset, 100);
matrixStack.multiply(Vector3f.POSITIVE_Y.getDegreesQuaternion(-22.5f));
int scale = 22;
-
+
BlockState wheel = AllBlocks.CRUSHING_WHEEL.get()
.getDefaultState()
.with(BlockStateProperties.AXIS, Axis.X);
@@ -33,6 +32,8 @@ public class AnimatedCrushingWheels extends AnimatedKinetics {
.atLocal(2, 0, 0)
.scale(scale)
.render(matrixStack);
+
+ matrixStack.pop();
}
}
diff --git a/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedKinetics.java b/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedKinetics.java
index fb0e5a880..fe8a3c37f 100644
--- a/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedKinetics.java
+++ b/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedKinetics.java
@@ -1,8 +1,8 @@
package com.simibubi.create.compat.jei.category.animations;
+import com.jozufozu.flywheel.core.PartialModel;
import com.simibubi.create.AllBlockPartials;
import com.simibubi.create.AllBlocks;
-import com.simibubi.create.foundation.render.backend.core.PartialModel;
import com.simibubi.create.foundation.utility.AnimationTickHolder;
import mezz.jei.api.gui.drawable.IDrawable;
diff --git a/src/main/java/com/simibubi/create/content/contraptions/KineticDebugger.java b/src/main/java/com/simibubi/create/content/contraptions/KineticDebugger.java
index f62c174bc..6876dd717 100644
--- a/src/main/java/com/simibubi/create/content/contraptions/KineticDebugger.java
+++ b/src/main/java/com/simibubi/create/content/contraptions/KineticDebugger.java
@@ -28,11 +28,11 @@ public class KineticDebugger {
if (!isActive()) {
if (KineticTileEntityRenderer.rainbowMode) {
KineticTileEntityRenderer.rainbowMode = false;
- CreateClient.bufferCache.invalidate();
- }
+ CreateClient.BUFFER_CACHE.invalidate();
+ }
return;
}
-
+
KineticTileEntity te = getSelectedTE();
if (te == null)
return;
@@ -44,18 +44,18 @@ public class KineticDebugger {
.getRenderShape(world, toOutline);
if (te.getTheoreticalSpeed() != 0 && !shape.isEmpty())
- CreateClient.outliner.chaseAABB("kineticSource", shape.getBoundingBox()
- .offset(toOutline))
- .lineWidth(1 / 16f)
- .colored(te.hasSource() ? ColorHelper.colorFromLong(te.network) : 0xffcc00);
+ CreateClient.OUTLINER.chaseAABB("kineticSource", shape.getBoundingBox()
+ .offset(toOutline))
+ .lineWidth(1 / 16f)
+ .colored(te.hasSource() ? ColorHelper.colorFromLong(te.network) : 0xffcc00);
if (state.getBlock() instanceof IRotate) {
Axis axis = ((IRotate) state.getBlock()).getRotationAxis(state);
Vector3d vec = Vector3d.of(Direction.getFacingFromAxis(AxisDirection.POSITIVE, axis)
- .getDirectionVec());
+ .getDirectionVec());
Vector3d center = VecHelper.getCenterOf(te.getPos());
- CreateClient.outliner.showLine("rotationAxis", center.add(vec), center.subtract(vec))
- .lineWidth(1 / 16f);
+ CreateClient.OUTLINER.showLine("rotationAxis", center.add(vec), center.subtract(vec))
+ .lineWidth(1 / 16f);
}
}
diff --git a/src/main/java/com/simibubi/create/content/contraptions/TorquePropagator.java b/src/main/java/com/simibubi/create/content/contraptions/TorquePropagator.java
index 6dfae6185..3d169a6ef 100644
--- a/src/main/java/com/simibubi/create/content/contraptions/TorquePropagator.java
+++ b/src/main/java/com/simibubi/create/content/contraptions/TorquePropagator.java
@@ -15,12 +15,12 @@ public class TorquePropagator {
public void onLoadWorld(IWorld world) {
networks.put(world, new HashMap<>());
- Create.logger.debug("Prepared Kinetic Network Space for " + WorldHelper.getDimensionID(world));
+ Create.LOGGER.debug("Prepared Kinetic Network Space for " + WorldHelper.getDimensionID(world));
}
public void onUnloadWorld(IWorld world) {
networks.remove(world);
- Create.logger.debug("Removed Kinetic Network Space for " + WorldHelper.getDimensionID(world));
+ Create.LOGGER.debug("Removed Kinetic Network Space for " + WorldHelper.getDimensionID(world));
}
public KineticNetwork getOrCreateNetworkFor(KineticTileEntity te) {
diff --git a/src/main/java/com/simibubi/create/content/contraptions/base/BackHalfShaftInstance.java b/src/main/java/com/simibubi/create/content/contraptions/base/BackHalfShaftInstance.java
index 738155141..592db77bf 100644
--- a/src/main/java/com/simibubi/create/content/contraptions/base/BackHalfShaftInstance.java
+++ b/src/main/java/com/simibubi/create/content/contraptions/base/BackHalfShaftInstance.java
@@ -1,12 +1,12 @@
package com.simibubi.create.content.contraptions.base;
-import com.simibubi.create.foundation.render.backend.instancing.InstancedTileRenderer;
+import com.jozufozu.flywheel.backend.instancing.MaterialManager;
import net.minecraft.state.properties.BlockStateProperties;
import net.minecraft.util.Direction;
public class BackHalfShaftInstance extends HalfShaftInstance {
- public BackHalfShaftInstance(InstancedTileRenderer> modelManager, KineticTileEntity tile) {
+ public BackHalfShaftInstance(MaterialManager> modelManager, KineticTileEntity tile) {
super(modelManager, tile);
}
diff --git a/src/main/java/com/simibubi/create/content/contraptions/base/HalfShaftInstance.java b/src/main/java/com/simibubi/create/content/contraptions/base/HalfShaftInstance.java
index 6d3664988..cd06bf1a4 100644
--- a/src/main/java/com/simibubi/create/content/contraptions/base/HalfShaftInstance.java
+++ b/src/main/java/com/simibubi/create/content/contraptions/base/HalfShaftInstance.java
@@ -1,19 +1,19 @@
package com.simibubi.create.content.contraptions.base;
+import com.jozufozu.flywheel.backend.instancing.Instancer;
+import com.jozufozu.flywheel.backend.instancing.MaterialManager;
import com.simibubi.create.AllBlockPartials;
-import com.simibubi.create.foundation.render.backend.instancing.InstancedModel;
-import com.simibubi.create.foundation.render.backend.instancing.InstancedTileRenderer;
import net.minecraft.state.properties.BlockStateProperties;
import net.minecraft.util.Direction;
public class HalfShaftInstance extends SingleRotatingInstance {
- public HalfShaftInstance(InstancedTileRenderer> modelManager, KineticTileEntity tile) {
+ public HalfShaftInstance(MaterialManager> modelManager, KineticTileEntity tile) {
super(modelManager, tile);
}
@Override
- protected InstancedModel getModel() {
+ protected Instancer getModel() {
Direction dir = getShaftDirection();
return getRotatingMaterial().getModel(AllBlockPartials.SHAFT_HALF, blockState, dir);
}
diff --git a/src/main/java/com/simibubi/create/content/contraptions/base/HorizontalHalfShaftInstance.java b/src/main/java/com/simibubi/create/content/contraptions/base/HorizontalHalfShaftInstance.java
index d5a21d468..c7298995f 100644
--- a/src/main/java/com/simibubi/create/content/contraptions/base/HorizontalHalfShaftInstance.java
+++ b/src/main/java/com/simibubi/create/content/contraptions/base/HorizontalHalfShaftInstance.java
@@ -1,13 +1,13 @@
package com.simibubi.create.content.contraptions.base;
-import com.simibubi.create.foundation.render.backend.instancing.InstancedTileRenderer;
+import com.jozufozu.flywheel.backend.instancing.MaterialManager;
import net.minecraft.state.properties.BlockStateProperties;
import net.minecraft.util.Direction;
public class HorizontalHalfShaftInstance extends HalfShaftInstance {
- public HorizontalHalfShaftInstance(InstancedTileRenderer> modelManager, KineticTileEntity tile) {
+ public HorizontalHalfShaftInstance(MaterialManager> modelManager, KineticTileEntity tile) {
super(modelManager, tile);
}
diff --git a/src/main/java/com/simibubi/create/content/contraptions/base/KineticAttributes.java b/src/main/java/com/simibubi/create/content/contraptions/base/KineticAttributes.java
deleted file mode 100644
index 8f7b9b15b..000000000
--- a/src/main/java/com/simibubi/create/content/contraptions/base/KineticAttributes.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package com.simibubi.create.content.contraptions.base;
-
-import com.simibubi.create.foundation.render.backend.gl.attrib.CommonAttributes;
-import com.simibubi.create.foundation.render.backend.gl.attrib.IAttribSpec;
-import com.simibubi.create.foundation.render.backend.gl.attrib.IVertexAttrib;
-import com.simibubi.create.foundation.render.backend.gl.attrib.VertexAttribSpec;
-
-public enum KineticAttributes implements IVertexAttrib {
- INSTANCE_POSITION("aInstancePos", CommonAttributes.VEC3),
- SPEED("aSpeed", CommonAttributes.FLOAT),
- OFFSET("aOffset", CommonAttributes.FLOAT),
- ;
-
- private final String name;
- private final VertexAttribSpec spec;
-
- KineticAttributes(String name, VertexAttribSpec spec) {
- this.name = name;
- this.spec = spec;
- }
-
- @Override
- public String attribName() {
- return name;
- }
-
- @Override
- public IAttribSpec attribSpec() {
- return spec;
- }
-
- @Override
- public int getDivisor() {
- return 1;
- }
-
- @Override
- public int getBufferIndex() {
- return 1;
- }
-}
diff --git a/src/main/java/com/simibubi/create/content/contraptions/base/KineticData.java b/src/main/java/com/simibubi/create/content/contraptions/base/KineticData.java
index b259c89aa..6eb292670 100644
--- a/src/main/java/com/simibubi/create/content/contraptions/base/KineticData.java
+++ b/src/main/java/com/simibubi/create/content/contraptions/base/KineticData.java
@@ -1,9 +1,8 @@
package com.simibubi.create.content.contraptions.base;
-import java.nio.ByteBuffer;
-
-import com.simibubi.create.foundation.render.backend.core.BasicData;
-import com.simibubi.create.foundation.render.backend.instancing.InstancedModel;
+import com.jozufozu.flywheel.backend.gl.buffer.MappedBuffer;
+import com.jozufozu.flywheel.backend.instancing.Instancer;
+import com.jozufozu.flywheel.core.materials.BasicData;
import com.simibubi.create.foundation.utility.ColorHelper;
import net.minecraft.util.math.BlockPos;
@@ -16,7 +15,7 @@ public class KineticData extends BasicData {
private float rotationalSpeed;
private float rotationOffset;
- protected KineticData(InstancedModel> owner) {
+ protected KineticData(Instancer> owner) {
super(owner);
}
@@ -73,28 +72,25 @@ public class KineticData extends BasicData {
}
public KineticData setRotationalSpeed(float rotationalSpeed) {
- this.rotationalSpeed = rotationalSpeed;
- return this;
- }
+ this.rotationalSpeed = rotationalSpeed;
+ return this;
+ }
- public KineticData setRotationOffset(float rotationOffset) {
- this.rotationOffset = rotationOffset;
- return this;
- }
+ public KineticData setRotationOffset(float rotationOffset) {
+ this.rotationOffset = rotationOffset;
+ return this;
+ }
+ @Override
+ public void write(MappedBuffer buf) {
+ super.write(buf);
- @Override
- public void write(ByteBuffer buf) {
- super.write(buf);
-
- buf.asFloatBuffer().put(new float[] {
- x,
- y,
- z,
- rotationalSpeed,
- rotationOffset
- });
-
- buf.position(buf.position() + 5 * 4);
- }
+ buf.putFloatArray(new float[]{
+ x,
+ y,
+ z,
+ rotationalSpeed,
+ rotationOffset
+ });
+ }
}
diff --git a/src/main/java/com/simibubi/create/content/contraptions/base/KineticRenderMaterials.java b/src/main/java/com/simibubi/create/content/contraptions/base/KineticRenderMaterials.java
deleted file mode 100644
index 29ee62162..000000000
--- a/src/main/java/com/simibubi/create/content/contraptions/base/KineticRenderMaterials.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.simibubi.create.content.contraptions.base;
-
-import com.simibubi.create.content.contraptions.components.actors.ActorData;
-import com.simibubi.create.content.contraptions.relays.belt.BeltData;
-import com.simibubi.create.content.logistics.block.FlapData;
-import com.simibubi.create.foundation.render.backend.MaterialType;
-import com.simibubi.create.foundation.render.backend.instancing.InstancedModel;
-
-public class KineticRenderMaterials {
- public static final MaterialType> ROTATING = new MaterialType<>();
- public static final MaterialType> BELTS = new MaterialType<>();
-
- public static final MaterialType> ACTORS = new MaterialType<>();
-
- public static final MaterialType> FLAPS = new MaterialType<>();
-}
diff --git a/src/main/java/com/simibubi/create/content/contraptions/base/KineticTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/base/KineticTileEntity.java
index 93058fb64..6878a5167 100644
--- a/src/main/java/com/simibubi/create/content/contraptions/base/KineticTileEntity.java
+++ b/src/main/java/com/simibubi/create/content/contraptions/base/KineticTileEntity.java
@@ -7,6 +7,8 @@ import java.util.List;
import javax.annotation.Nullable;
+import com.jozufozu.flywheel.backend.instancing.IInstanceRendered;
+import com.jozufozu.flywheel.backend.instancing.InstancedRenderDispatcher;
import com.simibubi.create.Create;
import com.simibubi.create.content.contraptions.KineticNetwork;
import com.simibubi.create.content.contraptions.RotationPropagator;
@@ -18,9 +20,8 @@ import com.simibubi.create.content.contraptions.relays.elementary.ICogWheel;
import com.simibubi.create.content.contraptions.relays.gearbox.GearboxBlock;
import com.simibubi.create.foundation.config.AllConfigs;
import com.simibubi.create.foundation.item.TooltipHelper;
-import com.simibubi.create.foundation.render.backend.FastRenderDispatcher;
-import com.simibubi.create.foundation.render.backend.instancing.IInstanceRendered;
import com.simibubi.create.foundation.sound.SoundScapes;
+import com.simibubi.create.foundation.sound.SoundScapes.AmbienceGroup;
import com.simibubi.create.foundation.tileEntity.SmartTileEntity;
import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour;
import com.simibubi.create.foundation.utility.Lang;
@@ -257,7 +258,7 @@ public abstract class KineticTileEntity extends SmartTileEntity
effects.triggerOverStressedEffect();
if (clientPacket)
- FastRenderDispatcher.enqueueUpdate(this);
+ DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> () -> InstancedRenderDispatcher.enqueueUpdate(this));
}
public float getGeneratedSpeed() {
@@ -329,7 +330,7 @@ public abstract class KineticTileEntity extends SmartTileEntity
}
public KineticNetwork getOrCreateNetwork() {
- return Create.torquePropagator.getOrCreateNetworkFor(this);
+ return Create.TORQUE_PROPAGATOR.getOrCreateNetworkFor(this);
}
public boolean hasNetwork() {
@@ -476,6 +477,14 @@ public abstract class KineticTileEntity extends SmartTileEntity
return d.getAxisDirection() == AxisDirection.POSITIVE ? axisSpeed : -axisSpeed;
}
+ public static float convertToLinear(float speed) {
+ return speed / 512f;
+ }
+
+ public static float convertToAngular(float speed) {
+ return speed * 3 / 10f;
+ }
+
public boolean isOverStressed() {
return overStressed;
}
@@ -551,9 +560,8 @@ public abstract class KineticTileEntity extends SmartTileEntity
@Override
public void requestModelDataUpdate() {
super.requestModelDataUpdate();
- if (!this.removed) {
- FastRenderDispatcher.enqueueUpdate(this);
- }
+ if (!this.removed)
+ DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> () -> InstancedRenderDispatcher.enqueueUpdate(this));
}
protected AxisAlignedBB cachedBoundingBox;
@@ -575,14 +583,14 @@ public abstract class KineticTileEntity extends SmartTileEntity
float componentSpeed = Math.abs(getSpeed());
if (componentSpeed == 0)
return;
- float pitch = MathHelper.clamp((componentSpeed / 256f) + .45f, .5f, 1.25f);
+ float pitch = MathHelper.clamp((componentSpeed / 256f) + .45f, .85f, 1f);
if (isNoisy())
- SoundScapes.playGeneralKineticAmbience(pos, pitch);
+ SoundScapes.play(AmbienceGroup.KINETIC, pos, pitch);
Block block = getBlockState().getBlock();
if (ICogWheel.isSmallCog(block) || ICogWheel.isLargeCog(block) || block instanceof GearboxBlock)
- SoundScapes.playCogwheelAmbience(pos, pitch);
+ SoundScapes.play(AmbienceGroup.COG, pos, pitch);
}
protected boolean isNoisy() {
diff --git a/src/main/java/com/simibubi/create/content/contraptions/base/KineticTileEntityRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/base/KineticTileEntityRenderer.java
index dcefcadfe..bea28ca27 100644
--- a/src/main/java/com/simibubi/create/content/contraptions/base/KineticTileEntityRenderer.java
+++ b/src/main/java/com/simibubi/create/content/contraptions/base/KineticTileEntityRenderer.java
@@ -1,5 +1,6 @@
package com.simibubi.create.content.contraptions.base;
+import com.jozufozu.flywheel.backend.Backend;
import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.vertex.IVertexBuilder;
import com.simibubi.create.AllBlocks;
@@ -8,7 +9,6 @@ import com.simibubi.create.content.contraptions.KineticDebugger;
import com.simibubi.create.content.contraptions.relays.elementary.ICogWheel;
import com.simibubi.create.foundation.render.Compartment;
import com.simibubi.create.foundation.render.SuperByteBuffer;
-import com.simibubi.create.foundation.render.backend.FastRenderDispatcher;
import com.simibubi.create.foundation.tileEntity.renderer.SafeTileEntityRenderer;
import com.simibubi.create.foundation.utility.AnimationTickHolder;
import com.simibubi.create.foundation.utility.ColorHelper;
@@ -39,7 +39,7 @@ public class KineticTileEntityRenderer extends SafeTileEntityRenderer extends T
protected final Direction.Axis axis;
- public KineticTileInstance(InstancedTileRenderer> modelManager, T tile) {
+ public KineticTileInstance(MaterialManager> modelManager, T tile) {
super(modelManager, tile);
axis = ((IRotate) blockState.getBlock()).getRotationAxis(blockState);
@@ -84,9 +84,9 @@ public abstract class KineticTileInstance extends T
return shaft(getRotationAxis());
}
- protected final RenderMaterial, InstancedModel> getRotatingMaterial() {
- return renderer.getMaterial(KineticRenderMaterials.ROTATING);
- }
+ protected final InstanceMaterial getRotatingMaterial() {
+ return materialManager.getMaterial(AllMaterialSpecs.ROTATING);
+ }
public static BlockState shaft(Direction.Axis axis) {
return AllBlocks.SHAFT.getDefaultState()
diff --git a/src/main/java/com/simibubi/create/content/contraptions/base/RotatingAttributes.java b/src/main/java/com/simibubi/create/content/contraptions/base/RotatingAttributes.java
deleted file mode 100644
index ef0e1122c..000000000
--- a/src/main/java/com/simibubi/create/content/contraptions/base/RotatingAttributes.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package com.simibubi.create.content.contraptions.base;
-
-import com.simibubi.create.foundation.render.backend.gl.attrib.CommonAttributes;
-import com.simibubi.create.foundation.render.backend.gl.attrib.IAttribSpec;
-import com.simibubi.create.foundation.render.backend.gl.attrib.IVertexAttrib;
-import com.simibubi.create.foundation.render.backend.gl.attrib.VertexAttribSpec;
-
-public enum RotatingAttributes implements IVertexAttrib {
- AXIS("aAxis", CommonAttributes.NORMAL),
- ;
-
- private final String name;
- private final VertexAttribSpec spec;
-
- RotatingAttributes(String name, VertexAttribSpec spec) {
- this.name = name;
- this.spec = spec;
- }
-
- @Override
- public String attribName() {
- return name;
- }
-
- @Override
- public IAttribSpec attribSpec() {
- return spec;
- }
-
- @Override
- public int getDivisor() {
- return 1;
- }
-
- @Override
- public int getBufferIndex() {
- return 1;
- }
-}
diff --git a/src/main/java/com/simibubi/create/content/contraptions/base/RotatingData.java b/src/main/java/com/simibubi/create/content/contraptions/base/RotatingData.java
index 1ca50d3e8..443168be0 100644
--- a/src/main/java/com/simibubi/create/content/contraptions/base/RotatingData.java
+++ b/src/main/java/com/simibubi/create/content/contraptions/base/RotatingData.java
@@ -1,8 +1,7 @@
package com.simibubi.create.content.contraptions.base;
-import java.nio.ByteBuffer;
-
-import com.simibubi.create.foundation.render.backend.instancing.InstancedModel;
+import com.jozufozu.flywheel.backend.gl.buffer.MappedBuffer;
+import com.jozufozu.flywheel.backend.instancing.Instancer;
import net.minecraft.util.Direction;
import net.minecraft.util.math.vector.Vector3f;
@@ -12,9 +11,9 @@ public class RotatingData extends KineticData {
private byte rotationAxisY;
private byte rotationAxisZ;
- protected RotatingData(InstancedModel> owner) {
- super(owner);
- }
+ public RotatingData(Instancer> owner) {
+ super(owner);
+ }
public RotatingData setRotationAxis(Direction.Axis axis) {
Direction orientation = Direction.getFacingFromAxis(Direction.AxisDirection.POSITIVE, axis);
@@ -25,20 +24,20 @@ public class RotatingData extends KineticData {
public RotatingData setRotationAxis(Vector3f axis) {
setRotationAxis(axis.getX(), axis.getY(), axis.getZ());
return this;
- }
+ }
- public RotatingData setRotationAxis(float rotationAxisX, float rotationAxisY, float rotationAxisZ) {
- this.rotationAxisX = (byte) (rotationAxisX * 127);
- this.rotationAxisY = (byte) (rotationAxisY * 127);
- this.rotationAxisZ = (byte) (rotationAxisZ * 127);
- markDirty();
- return this;
- }
+ public RotatingData setRotationAxis(float rotationAxisX, float rotationAxisY, float rotationAxisZ) {
+ this.rotationAxisX = (byte) (rotationAxisX * 127);
+ this.rotationAxisY = (byte) (rotationAxisY * 127);
+ this.rotationAxisZ = (byte) (rotationAxisZ * 127);
+ markDirty();
+ return this;
+ }
- @Override
- public void write(ByteBuffer buf) {
- super.write(buf);
+ @Override
+ public void write(MappedBuffer buf) {
+ super.write(buf);
- putVec3(buf, rotationAxisX, rotationAxisY, rotationAxisZ);
- }
+ buf.putVec3(rotationAxisX, rotationAxisY, rotationAxisZ);
+ }
}
diff --git a/src/main/java/com/simibubi/create/content/contraptions/base/RotatingModel.java b/src/main/java/com/simibubi/create/content/contraptions/base/RotatingModel.java
deleted file mode 100644
index 81582c35b..000000000
--- a/src/main/java/com/simibubi/create/content/contraptions/base/RotatingModel.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.simibubi.create.content.contraptions.base;
-
-import com.simibubi.create.foundation.render.backend.core.BasicAttributes;
-import com.simibubi.create.foundation.render.backend.gl.attrib.VertexFormat;
-import com.simibubi.create.foundation.render.backend.instancing.InstancedModel;
-import com.simibubi.create.foundation.render.backend.instancing.InstancedTileRenderer;
-
-import net.minecraft.client.renderer.BufferBuilder;
-
-public class RotatingModel extends InstancedModel {
- public static VertexFormat FORMAT = VertexFormat.builder()
- .addAttributes(BasicAttributes.class)
- .addAttributes(KineticAttributes.class)
- .addAttributes(RotatingAttributes.class)
- .build();
-
- public RotatingModel(InstancedTileRenderer> renderer, BufferBuilder buf) {
- super(renderer, buf);
- }
-
- @Override
- protected RotatingData newInstance() {
- return new RotatingData(this);
- }
-
- @Override
- protected VertexFormat getInstanceFormat() {
- return FORMAT;
- }
-
-}
diff --git a/src/main/java/com/simibubi/create/content/contraptions/base/ShaftlessCogInstance.java b/src/main/java/com/simibubi/create/content/contraptions/base/ShaftlessCogInstance.java
index 16f85ab32..415882390 100644
--- a/src/main/java/com/simibubi/create/content/contraptions/base/ShaftlessCogInstance.java
+++ b/src/main/java/com/simibubi/create/content/contraptions/base/ShaftlessCogInstance.java
@@ -1,17 +1,18 @@
package com.simibubi.create.content.contraptions.base;
+import com.jozufozu.flywheel.backend.instancing.Instancer;
+import com.jozufozu.flywheel.backend.instancing.MaterialManager;
import com.simibubi.create.AllBlockPartials;
-import com.simibubi.create.foundation.render.backend.instancing.InstancedModel;
-import com.simibubi.create.foundation.render.backend.instancing.InstancedTileRenderer;
+import com.simibubi.create.foundation.render.AllMaterialSpecs;
public class ShaftlessCogInstance extends SingleRotatingInstance {
- public ShaftlessCogInstance(InstancedTileRenderer> modelManager, KineticTileEntity tile) {
+ public ShaftlessCogInstance(MaterialManager> modelManager, KineticTileEntity tile) {
super(modelManager, tile);
}
@Override
- protected InstancedModel getModel() {
- return renderer.getMaterial(KineticRenderMaterials.ROTATING).getModel(AllBlockPartials.SHAFTLESS_COGWHEEL, tile.getBlockState());
+ protected Instancer getModel() {
+ return materialManager.getMaterial(AllMaterialSpecs.ROTATING).getModel(AllBlockPartials.SHAFTLESS_COGWHEEL, tile.getBlockState());
}
}
diff --git a/src/main/java/com/simibubi/create/content/contraptions/base/SingleRotatingInstance.java b/src/main/java/com/simibubi/create/content/contraptions/base/SingleRotatingInstance.java
index 1749e308f..17ba2884d 100644
--- a/src/main/java/com/simibubi/create/content/contraptions/base/SingleRotatingInstance.java
+++ b/src/main/java/com/simibubi/create/content/contraptions/base/SingleRotatingInstance.java
@@ -1,7 +1,7 @@
package com.simibubi.create.content.contraptions.base;
-import com.simibubi.create.foundation.render.backend.instancing.InstancedModel;
-import com.simibubi.create.foundation.render.backend.instancing.InstancedTileRenderer;
+import com.jozufozu.flywheel.backend.instancing.Instancer;
+import com.jozufozu.flywheel.backend.instancing.MaterialManager;
import net.minecraft.block.BlockState;
@@ -9,7 +9,7 @@ public class SingleRotatingInstance extends KineticTileInstance modelManager, KineticTileEntity tile) {
+ public SingleRotatingInstance(MaterialManager> modelManager, KineticTileEntity tile) {
super(modelManager, tile);
rotatingModel = setup(getModel().createInstance());
@@ -34,7 +34,7 @@ public class SingleRotatingInstance extends KineticTileInstance getModel() {
+ protected Instancer getModel() {
return getRotatingMaterial().getModel(getRenderedBlockState());
}
}
diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/actors/ActorData.java b/src/main/java/com/simibubi/create/content/contraptions/components/actors/ActorData.java
index 191e3ebc0..dd8c01e8e 100644
--- a/src/main/java/com/simibubi/create/content/contraptions/components/actors/ActorData.java
+++ b/src/main/java/com/simibubi/create/content/contraptions/components/actors/ActorData.java
@@ -1,9 +1,8 @@
package com.simibubi.create.content.contraptions.components.actors;
-import java.nio.ByteBuffer;
-
-import com.simibubi.create.foundation.render.backend.instancing.InstanceData;
-import com.simibubi.create.foundation.render.backend.instancing.InstancedModel;
+import com.jozufozu.flywheel.backend.gl.buffer.MappedBuffer;
+import com.jozufozu.flywheel.backend.instancing.InstanceData;
+import com.jozufozu.flywheel.backend.instancing.Instancer;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.vector.Quaternion;
@@ -29,9 +28,9 @@ public class ActorData extends InstanceData {
private float speed;
- protected ActorData(InstancedModel> owner) {
- super(owner);
- }
+ public ActorData(Instancer> owner) {
+ super(owner);
+ }
public ActorData setPosition(BlockPos pos) {
@@ -92,24 +91,24 @@ public class ActorData extends InstanceData {
return this;
}
- public ActorData setLocalRotation(Quaternion q) {
- this.qX = q.getX();
- this.qY = q.getY();
- this.qZ = q.getZ();
- this.qW = q.getW();
- markDirty();
- return this;
- }
+ public ActorData setLocalRotation(Quaternion q) {
+ this.qX = q.getX();
+ this.qY = q.getY();
+ this.qZ = q.getZ();
+ this.qW = q.getW();
+ markDirty();
+ return this;
+ }
- @Override
- public void write(ByteBuffer buf) {
- putVec3(buf, x, y, z);
- putVec2(buf, blockLight, skyLight);
- put(buf, rotationOffset);
- putVec3(buf, rotationAxisX, rotationAxisY, rotationAxisZ);
- putVec4(buf, qX, qY, qZ, qW);
- putVec3(buf, rotationCenterX, rotationCenterY, rotationCenterZ);
- put(buf, speed);
+ @Override
+ public void write(MappedBuffer buf) {
+ buf.putVec3(x, y, z);
+ buf.putVec2(blockLight, skyLight);
+ buf.putFloat(rotationOffset);
+ buf.putVec3(rotationAxisX, rotationAxisY, rotationAxisZ);
+ buf.putVec4(qX, qY, qZ, qW);
+ buf.putVec3(rotationCenterX, rotationCenterY, rotationCenterZ);
+ buf.putFloat(speed);
- }
+ }
}
diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/actors/ActorModel.java b/src/main/java/com/simibubi/create/content/contraptions/components/actors/ActorModel.java
deleted file mode 100644
index a8fdeac6c..000000000
--- a/src/main/java/com/simibubi/create/content/contraptions/components/actors/ActorModel.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.simibubi.create.content.contraptions.components.actors;
-
-import com.simibubi.create.foundation.render.backend.gl.attrib.VertexFormat;
-import com.simibubi.create.foundation.render.backend.instancing.InstancedModel;
-import com.simibubi.create.foundation.render.backend.instancing.InstancedTileRenderer;
-
-import net.minecraft.client.renderer.BufferBuilder;
-
-public class ActorModel extends InstancedModel {
- public static VertexFormat FORMAT = VertexFormat.builder()
- .addAttributes(ActorVertexAttributes.class)
- .build();
-
- public ActorModel(InstancedTileRenderer> renderer, BufferBuilder buf) {
- super(renderer, buf);
- }
-
- @Override
- protected VertexFormat getInstanceFormat() {
- return FORMAT;
- }
-
- @Override
- protected ActorData newInstance() {
- return new ActorData(this);
- }
-}
diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/actors/ActorVertexAttributes.java b/src/main/java/com/simibubi/create/content/contraptions/components/actors/ActorVertexAttributes.java
deleted file mode 100644
index ff633d817..000000000
--- a/src/main/java/com/simibubi/create/content/contraptions/components/actors/ActorVertexAttributes.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package com.simibubi.create.content.contraptions.components.actors;
-
-import com.simibubi.create.foundation.render.backend.gl.attrib.CommonAttributes;
-import com.simibubi.create.foundation.render.backend.gl.attrib.IAttribSpec;
-import com.simibubi.create.foundation.render.backend.gl.attrib.IVertexAttrib;
-import com.simibubi.create.foundation.render.backend.gl.attrib.VertexAttribSpec;
-
-public enum ActorVertexAttributes implements IVertexAttrib {
- INSTANCE_POSITION("aInstancePos", CommonAttributes.VEC3),
- LIGHT("aModelLight", CommonAttributes.LIGHT),
- OFFSET("aOffset", CommonAttributes.FLOAT),
- AXIS("aAxis", CommonAttributes.NORMAL),
- INSTANCE_ROTATION("aInstanceRot", CommonAttributes.QUATERNION),
- ROTATION_CENTER("aRotationCenter", CommonAttributes.NORMAL),
- SPEED("aSpeed", CommonAttributes.FLOAT),
- ;
-
- private final String name;
- private final VertexAttribSpec spec;
-
- ActorVertexAttributes(String name, VertexAttribSpec spec) {
- this.name = name;
- this.spec = spec;
- }
-
- @Override
- public String attribName() {
- return name;
- }
-
- @Override
- public IAttribSpec attribSpec() {
- return spec;
- }
-
- @Override
- public int getDivisor() {
- return 1;
- }
-
- @Override
- public int getBufferIndex() {
- return 1;
- }
-}
diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/actors/DrillActorInstance.java b/src/main/java/com/simibubi/create/content/contraptions/components/actors/DrillActorInstance.java
index 40df1e591..316d7eed2 100644
--- a/src/main/java/com/simibubi/create/content/contraptions/components/actors/DrillActorInstance.java
+++ b/src/main/java/com/simibubi/create/content/contraptions/components/actors/DrillActorInstance.java
@@ -1,13 +1,14 @@
package com.simibubi.create.content.contraptions.components.actors;
+import com.jozufozu.flywheel.backend.instancing.InstanceMaterial;
+import com.jozufozu.flywheel.backend.instancing.MaterialManager;
import com.simibubi.create.AllBlockPartials;
import com.simibubi.create.content.contraptions.components.structureMovement.MovementContext;
import com.simibubi.create.content.contraptions.components.structureMovement.render.ActorInstance;
-import com.simibubi.create.content.contraptions.components.structureMovement.render.ContraptionKineticRenderer;
-import com.simibubi.create.foundation.render.backend.instancing.InstancedModel;
-import com.simibubi.create.foundation.render.backend.instancing.RenderMaterial;
+import com.simibubi.create.foundation.render.AllMaterialSpecs;
import com.simibubi.create.foundation.utility.AngleHelper;
import com.simibubi.create.foundation.utility.VecHelper;
+import com.simibubi.create.foundation.utility.worldWrappers.PlacementSimulationWorld;
import net.minecraft.block.BlockState;
import net.minecraft.util.Direction;
@@ -16,12 +17,12 @@ import net.minecraft.util.math.vector.Quaternion;
public class DrillActorInstance extends ActorInstance {
ActorData drillHead;
- private Direction facing;
+ private final Direction facing;
- public DrillActorInstance(ContraptionKineticRenderer modelManager, MovementContext context) {
- super(modelManager, context);
+ public DrillActorInstance(MaterialManager> materialManager, PlacementSimulationWorld contraption, MovementContext context) {
+ super(materialManager, contraption, context);
- RenderMaterial, InstancedModel> renderMaterial = modelManager.getActorMaterial();
+ InstanceMaterial instanceMaterial = materialManager.getMaterial(AllMaterialSpecs.ACTORS);
BlockState state = context.state;
@@ -36,7 +37,7 @@ public class DrillActorInstance extends ActorInstance {
else
eulerY = facing.getHorizontalAngle() + ((axis == Direction.Axis.X) ? 180 : 0);
- drillHead = renderMaterial.getModel(AllBlockPartials.DRILL_HEAD, state).createInstance();
+ drillHead = instanceMaterial.getModel(AllBlockPartials.DRILL_HEAD, state).createInstance();
drillHead.setPosition(context.localPos)
.setBlockLight(localBlockLight())
diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/actors/DrillInstance.java b/src/main/java/com/simibubi/create/content/contraptions/components/actors/DrillInstance.java
index 7d1bdd735..1df84bd4e 100644
--- a/src/main/java/com/simibubi/create/content/contraptions/components/actors/DrillInstance.java
+++ b/src/main/java/com/simibubi/create/content/contraptions/components/actors/DrillInstance.java
@@ -2,24 +2,24 @@ package com.simibubi.create.content.contraptions.components.actors;
import static net.minecraft.state.properties.BlockStateProperties.FACING;
+import com.jozufozu.flywheel.backend.instancing.Instancer;
+import com.jozufozu.flywheel.backend.instancing.MaterialManager;
import com.simibubi.create.AllBlockPartials;
import com.simibubi.create.content.contraptions.base.KineticTileEntity;
import com.simibubi.create.content.contraptions.base.RotatingData;
import com.simibubi.create.content.contraptions.base.SingleRotatingInstance;
-import com.simibubi.create.foundation.render.backend.instancing.InstancedModel;
-import com.simibubi.create.foundation.render.backend.instancing.InstancedTileRenderer;
import net.minecraft.block.BlockState;
import net.minecraft.util.Direction;
public class DrillInstance extends SingleRotatingInstance {
- public DrillInstance(InstancedTileRenderer> modelManager, KineticTileEntity tile) {
+ public DrillInstance(MaterialManager> modelManager, KineticTileEntity tile) {
super(modelManager, tile);
}
@Override
- protected InstancedModel getModel() {
+ protected Instancer getModel() {
BlockState referenceState = tile.getBlockState();
Direction facing = referenceState.get(FACING);
return getRotatingMaterial().getModel(AllBlockPartials.DRILL_HEAD, referenceState, facing);
diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/actors/DrillMovementBehaviour.java b/src/main/java/com/simibubi/create/content/contraptions/components/actors/DrillMovementBehaviour.java
index 8232772f3..cda9e9a75 100644
--- a/src/main/java/com/simibubi/create/content/contraptions/components/actors/DrillMovementBehaviour.java
+++ b/src/main/java/com/simibubi/create/content/contraptions/components/actors/DrillMovementBehaviour.java
@@ -2,12 +2,13 @@ package com.simibubi.create.content.contraptions.components.actors;
import javax.annotation.Nullable;
-import com.mojang.blaze3d.matrix.MatrixStack;
+import com.jozufozu.flywheel.backend.Backend;
+import com.jozufozu.flywheel.backend.instancing.MaterialManager;
import com.simibubi.create.content.contraptions.components.structureMovement.MovementContext;
import com.simibubi.create.content.contraptions.components.structureMovement.render.ActorInstance;
-import com.simibubi.create.content.contraptions.components.structureMovement.render.ContraptionKineticRenderer;
-import com.simibubi.create.foundation.render.backend.FastRenderDispatcher;
+import com.simibubi.create.content.contraptions.components.structureMovement.render.ContraptionMatrices;
import com.simibubi.create.foundation.utility.VecHelper;
+import com.simibubi.create.foundation.utility.worldWrappers.PlacementSimulationWorld;
import net.minecraft.block.BlockState;
import net.minecraft.client.renderer.IRenderTypeBuffer;
@@ -34,10 +35,10 @@ public class DrillMovementBehaviour extends BlockBreakingMovementBehaviour {
@Override
@OnlyIn(value = Dist.CLIENT)
- public void renderInContraption(MovementContext context, MatrixStack ms, MatrixStack msLocal,
- IRenderTypeBuffer buffer) {
- if (!FastRenderDispatcher.available())
- DrillRenderer.renderInContraption(context, ms, msLocal, buffer);
+ public void renderInContraption(MovementContext context, PlacementSimulationWorld renderWorld,
+ ContraptionMatrices matrices, IRenderTypeBuffer buffer) {
+ if (!Backend.getInstance().canUseInstancing())
+ DrillRenderer.renderInContraption(context, renderWorld, matrices, buffer);
}
@Override
@@ -47,8 +48,8 @@ public class DrillMovementBehaviour extends BlockBreakingMovementBehaviour {
@Nullable
@Override
- public ActorInstance createInstance(ContraptionKineticRenderer kr, MovementContext context) {
- return new DrillActorInstance(kr, context);
+ public ActorInstance createInstance(MaterialManager> materialManager, PlacementSimulationWorld simulationWorld, MovementContext context) {
+ return new DrillActorInstance(materialManager, simulationWorld, context);
}
@Override
diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/actors/DrillRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/components/actors/DrillRenderer.java
index 3734c3509..df1e668d9 100644
--- a/src/main/java/com/simibubi/create/content/contraptions/components/actors/DrillRenderer.java
+++ b/src/main/java/com/simibubi/create/content/contraptions/components/actors/DrillRenderer.java
@@ -5,12 +5,15 @@ import com.simibubi.create.AllBlockPartials;
import com.simibubi.create.content.contraptions.base.KineticTileEntity;
import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer;
import com.simibubi.create.content.contraptions.components.structureMovement.MovementContext;
+import com.simibubi.create.content.contraptions.components.structureMovement.render.ContraptionMatrices;
+import com.simibubi.create.content.contraptions.components.structureMovement.render.ContraptionRenderDispatcher;
import com.simibubi.create.foundation.render.PartialBufferer;
import com.simibubi.create.foundation.render.SuperByteBuffer;
import com.simibubi.create.foundation.utility.AngleHelper;
import com.simibubi.create.foundation.utility.AnimationTickHolder;
import com.simibubi.create.foundation.utility.MatrixStacker;
import com.simibubi.create.foundation.utility.VecHelper;
+import com.simibubi.create.foundation.utility.worldWrappers.PlacementSimulationWorld;
import net.minecraft.block.BlockState;
import net.minecraft.client.renderer.IRenderTypeBuffer;
@@ -29,9 +32,8 @@ public class DrillRenderer extends KineticTileEntityRenderer {
return PartialBufferer.getFacing(AllBlockPartials.DRILL_HEAD, te.getBlockState());
}
- public static void renderInContraption(MovementContext context, MatrixStack ms, MatrixStack msLocal,
- IRenderTypeBuffer buffer) {
- MatrixStack[] matrixStacks = new MatrixStack[]{ms, msLocal};
+ public static void renderInContraption(MovementContext context, PlacementSimulationWorld renderWorld,
+ ContraptionMatrices matrices, IRenderTypeBuffer buffer) {
BlockState state = context.state;
SuperByteBuffer superBuffer = PartialBufferer.get(AllBlockPartials.DRILL_HEAD, state);
Direction facing = state.get(DrillBlock.FACING);
@@ -42,18 +44,22 @@ public class DrillRenderer extends KineticTileEntityRenderer {
float time = AnimationTickHolder.getRenderTime() / 20;
float angle = (float) (((time * speed) % 360));
- for (MatrixStack m : matrixStacks)
- MatrixStacker.of(m)
- .centre()
- .rotateY(AngleHelper.horizontalAngle(facing))
- .rotateX(AngleHelper.verticalAngle(facing))
- .rotateZ(angle)
- .unCentre();
+ MatrixStack m = matrices.contraptionStack;
+ m.push();
+ MatrixStacker.of(m)
+ .centre()
+ .rotateY(AngleHelper.horizontalAngle(facing))
+ .rotateX(AngleHelper.verticalAngle(facing))
+ .rotateZ(angle)
+ .unCentre();
superBuffer
- .light(msLocal.peek()
- .getModel())
- .renderInto(ms, buffer.getBuffer(RenderType.getSolid()));
+ .transform(m)
+ .light(matrices.entityMatrix,
+ ContraptionRenderDispatcher.getContraptionWorldLight(context, renderWorld))
+ .renderInto(matrices.entityStack, buffer.getBuffer(RenderType.getSolid()));
+
+ m.pop();
}
}
diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/actors/HarvesterActorInstance.java b/src/main/java/com/simibubi/create/content/contraptions/components/actors/HarvesterActorInstance.java
index 83f516058..fafd7c7e2 100644
--- a/src/main/java/com/simibubi/create/content/contraptions/components/actors/HarvesterActorInstance.java
+++ b/src/main/java/com/simibubi/create/content/contraptions/components/actors/HarvesterActorInstance.java
@@ -2,18 +2,18 @@ package com.simibubi.create.content.contraptions.components.actors;
import static net.minecraft.state.properties.BlockStateProperties.HORIZONTAL_FACING;
+import com.jozufozu.flywheel.backend.instancing.InstanceMaterial;
+import com.jozufozu.flywheel.backend.instancing.MaterialManager;
+import com.jozufozu.flywheel.core.materials.ModelData;
import com.mojang.blaze3d.matrix.MatrixStack;
import com.simibubi.create.AllBlockPartials;
import com.simibubi.create.content.contraptions.components.structureMovement.MovementContext;
import com.simibubi.create.content.contraptions.components.structureMovement.render.ActorInstance;
-import com.simibubi.create.content.contraptions.components.structureMovement.render.ContraptionKineticRenderer;
-import com.simibubi.create.foundation.render.backend.core.ModelData;
-import com.simibubi.create.foundation.render.backend.instancing.InstancedModel;
-import com.simibubi.create.foundation.render.backend.instancing.RenderMaterial;
import com.simibubi.create.foundation.utility.AngleHelper;
import com.simibubi.create.foundation.utility.AnimationTickHolder;
import com.simibubi.create.foundation.utility.MatrixStacker;
import com.simibubi.create.foundation.utility.VecHelper;
+import com.simibubi.create.foundation.utility.worldWrappers.PlacementSimulationWorld;
import net.minecraft.block.BlockState;
import net.minecraft.util.Direction;
@@ -33,16 +33,16 @@ public class HarvesterActorInstance extends ActorInstance {
private double rotation;
private double previousRotation;
- public HarvesterActorInstance(ContraptionKineticRenderer modelManager, MovementContext context) {
- super(modelManager, context);
+ public HarvesterActorInstance(MaterialManager> materialManager, PlacementSimulationWorld simulationWorld, MovementContext context) {
+ super(materialManager, simulationWorld, context);
- RenderMaterial, InstancedModel> renderMaterial = modelManager.getTransformMaterial();
+ InstanceMaterial