Compare commits

...

8 commits

Author SHA1 Message Date
zelophed 812a6491de Pondering Alone, Part VI
- merge mc1.18/dev again
- fix ponder button hitbox
2022-10-14 15:38:25 +02:00
zelophed 25f259e0bc Pondering Alone, Part V
- merge mc1.18/dev
- reuse transform interfaces from Flywheel and include them in catnip
- extend SBB interface slightly
- copy .editorconfig to catnip and ponder
2022-10-14 00:15:44 +02:00
zelophed 9791cf51ad Pondering Alone, Part IV
- refactor PonderTagIndexScreen to include tags from all mods, not just create
- fix missing translations and incorrect color themes on backstep/think-back buttons
- modify shared text to be part of ponder plugins instead
- add the vanilla panorama as a default to configUI in menus
- allow the ponder command to open the ponder tag index as well as regular index
- sort ponder index elements by their resource location
2022-10-02 22:34:08 +02:00
zelophed c8531b1c2a bump catnip and ponder version 2022-09-19 13:30:37 +02:00
zelophed b2fe04a3c8 Pondering Alone, Part III
- move SuperByteBuffer and its caching to catnip
- move sprite shifter to catnip
- no longer use StitchedSprites for (ct) sprite shifts
- fix ponder fluid rendering by using SBB for WorldSectionElement again
- allow catnip-forge to load without being present on the server
2022-09-19 12:57:31 +02:00
zelophed 63979193a9 Queen Maeve(n)
- include ponder and catnip dependencies from createmod maven when not building in multimod workspace
2022-09-02 21:29:44 +02:00
zelophed 57dc43e398 Pondering Alone, Part II
-move some theme keys to a new ponder specific theme
-move config gui to catnip
-fix some client/server siding issues
-move some icons to catnip/ponder
-move some commands to catnip/ponder
-refactor SConfigureConfigPacket and move it to catnip
-add PonderPlugin to bundle all ponder extension points
2022-08-31 13:52:28 +02:00
zelophed bce234ec50 Pondering Alone, Part I 2022-08-18 17:30:48 +02:00
1003 changed files with 5141 additions and 24686 deletions

View file

@ -27,7 +27,19 @@ jarJar.enable()
boolean dev = System.getenv('RELEASE') == null || System.getenv('RELEASE').equals('false');
// jozu: I use a gradle workspace with both projects.
// The project is named Flywheel-Forge, but sub-projects are named by folder.
boolean inWorkspace = findProject(':Flywheel') != null
boolean flywheelInWorkspace = findProject(':Flywheel') != null
boolean inMultiModWorkspace = rootProject.hasProperty('multiModWorkspace.enabled')
boolean catnipInWorkspace = rootProject.hasProperty('multiModWorkspace.catnip')
boolean ponderInWorkspace = rootProject.hasProperty('multiModWorkspace.ponder')
if (catnipInWorkspace) {
evaluationDependsOn(":catnip")
}
if (ponderInWorkspace) {
evaluationDependsOn(":Ponder")
}
ext.buildNumber = System.getenv('BUILD_NUMBER')
@ -45,8 +57,19 @@ minecraft {
runs {
client {
workingDirectory project.file('run')
if (inMultiModWorkspace)
ideaModule "createmod.Create.main"
else
ideaModule "Create.main"
arg '-mixin.config=create.mixins.json'
arg '-mixin.config=flywheel.mixins.json'
if (catnipInWorkspace) {
arg '-mixin.config=catnip.mixins.json'
}
//jvmArgs("-XX:+IgnoreUnrecognizedVMOptions", "-XX:+AllowEnhancedClassRedefinition") // uncomment with jbr
//jvmArgs '-XX:+UnlockCommercialFeatures' // uncomment for profiling
property 'forge.logging.console.level', 'info'
mods {
@ -54,27 +77,65 @@ minecraft {
source sourceSets.main
}
if (inWorkspace) {
if (flywheelInWorkspace) {
flywheel {
source project(":Flywheel").sourceSets.main
}
}
if (catnipInWorkspace) {
catnip {
source project(":catnip:Common").sourceSets.main
source project(":catnip:Forge").sourceSets.main
}
}
if (ponderInWorkspace) {
ponder {
source project(":Ponder:Common").sourceSets.main
source project(":Ponder:Forge").sourceSets.main
}
}
}
}
server {
workingDirectory project.file('run/server')
if (inMultiModWorkspace)
ideaModule "createmod.Create.main"
else
ideaModule "Create.main"
arg '-mixin.config=create.mixins.json'
property 'forge.logging.console.level', 'info'
mods {
create {
source sourceSets.main
}
if (catnipInWorkspace) {
catnip {
source project(":catnip:Common").sourceSets.main
source project(":catnip:Forge").sourceSets.main
}
}
if (ponderInWorkspace) {
ponder {
source project(":Ponder:Common").sourceSets.main
source project(":Ponder:Forge").sourceSets.main
}
}
}
}
data {
workingDirectory project.file('run')
if (inMultiModWorkspace)
ideaModule "createmod.Create.main"
else
ideaModule "Create.main"
property 'forge.logging.markers', 'REGISTRIES,REGISTRYDUMP'
property 'forge.logging.console.level', 'debug'
args '--mod', 'create', '--all', '--output', file('src/generated/resources/'), '--existing', file('src/main/resources')
@ -83,11 +144,25 @@ minecraft {
source sourceSets.main
}
if (inWorkspace) {
if (flywheelInWorkspace) {
flywheel {
source project(":Flywheel").sourceSets.main
}
}
if (catnipInWorkspace) {
catnip {
source project(":catnip:Common").sourceSets.main
source project(":catnip:Forge").sourceSets.main
}
}
if (ponderInWorkspace) {
ponder {
source project(":Ponder:Common").sourceSets.main
source project(":Ponder:Forge").sourceSets.main
}
}
}
}
}
@ -128,6 +203,11 @@ repositories {
//location of the maven for curios api
url = "https://maven.theillusivec4.top/"
}
maven {
// Location of the maven for Ponder, Catnip
name 'createmod maven'
url 'https://maven.createmod.net'
}
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
@ -150,12 +230,26 @@ dependencies {
implementation fg.deobf("com.tterrag.registrate:Registrate:${registrate_version}")
if (inWorkspace) {
if (flywheelInWorkspace) {
implementation project(':Flywheel')
} else {
implementation fg.deobf("com.jozufozu.flywheel:flywheel-forge-${flywheel_minecraft_version}:${flywheel_version}")
}
if (catnipInWorkspace) {
implementation project(":catnip:Common")
implementation project(":catnip:Forge")
} else {
implementation fg.deobf("net.createmod.catnip:Catnip-Forge-${minecraft_version}:${catnip_version}")
}
if (ponderInWorkspace) {
implementation project(":Ponder:Common")
implementation project(":Ponder:Forge")
} else {
implementation fg.deobf("net.createmod.ponder:Ponder-Forge-${minecraft_version}:${ponder_version}")
}
compileOnly fg.deobf("mezz.jei:jei-${jei_minecraft_version}:${jei_version}:api")
runtimeOnly fg.deobf("mezz.jei:jei-${jei_minecraft_version}:${jei_version}")

View file

@ -26,6 +26,8 @@ jei_minecraft_version = 1.18.2
jei_version = 9.7.0.209
curios_minecraft_version = 1.18.2
curios_version = 5.0.7.0
catnip_version = 0.5.7
ponder_version = 0.5.8
# curseforge information
projectId = 328085

View file

@ -559,23 +559,23 @@ bf2b0310500213ff853c748c236eb5d01f61658e assets/create/blockstates/yellow_toolbo
7f39521b211441f5c3e06d60c5978cebe16cacfb assets/create/blockstates/zinc_block.json
b7181bcd8182b2f17088e5aa881f374c9c65470c assets/create/blockstates/zinc_ore.json
f85edc574ee6de0de7693ffb031266643db6724a assets/create/lang/en_ud.json
c219c77242e645f32704201dd80e279b3759b794 assets/create/lang/en_us.json
cf37534c3f98098f42b181083fd7cc1063ac2bbb assets/create/lang/unfinished/de_de.json
83d427726fdc38ec3c5b8c3c0f6f87f49d3e5ff3 assets/create/lang/unfinished/es_cl.json
d21caeb0cbe871e38dc101c34ab89ece3cbe2127 assets/create/lang/unfinished/es_es.json
2215688baa2b0beffe0c19f71a3238df1d01b0c1 assets/create/lang/unfinished/fr_fr.json
79484f2c3eba2b40f5d82ffdc3abeb3d2e6962d2 assets/create/lang/unfinished/it_it.json
d659570c9dc89653f03cd4cc82ed50db443638d8 assets/create/lang/unfinished/ja_jp.json
03c30521d9b1bc7a6eb85d2a59a4c4676dca581e assets/create/lang/unfinished/ko_kr.json
3a56d579d022cc1b20746e9d3a1483e6fa8fb4be assets/create/lang/unfinished/nl_nl.json
d5bfeacb442236c8b075fddb41364f85c8cb7feb assets/create/lang/unfinished/pl_pl.json
0f3f51d065d896a7e3b4abd8c2801fa3e8fbd8c3 assets/create/lang/unfinished/pt_br.json
9f2ec0b2f8fa9b380c7edb56bfb806bcce621cce assets/create/lang/unfinished/pt_pt.json
1f88f0d91bdf5c68224cb65249f77272771939c9 assets/create/lang/unfinished/ro_ro.json
928ac3ad2ab5e7fa3d582b8b956258c110bea868 assets/create/lang/unfinished/ru_ru.json
ed29ef4ae8f3633533485d56f7fa8cb77b790a0a assets/create/lang/unfinished/uk_ua.json
e5cf7b657be816bc15b331dd058f7ccdabee8c14 assets/create/lang/unfinished/zh_cn.json
316dae07f95fb65c984fe7c424b566eb8ddba5f9 assets/create/lang/unfinished/zh_tw.json
51150508a4905aab8e5fa05c7b2efc6771109b3b assets/create/lang/en_us.json
5f274a0ed0ae6030879e9dfd66be8d9b77a7aed6 assets/create/lang/unfinished/de_de.json
9523d4373aeb3ec4901aaddba2a47248979bd892 assets/create/lang/unfinished/es_cl.json
3432a7e31e6b6b4ef3548ea4b1efa71135ae24ac assets/create/lang/unfinished/es_es.json
eab03749a00a9d6d794fde697b7ca5ab0d364699 assets/create/lang/unfinished/fr_fr.json
a7d1c1c989a3c233a1602454d6615d6168154e9a assets/create/lang/unfinished/it_it.json
aeed02e4248830a0cd5d33b337f2ec7beb2bfacc assets/create/lang/unfinished/ja_jp.json
49fde71e3c7ab474894ffdaa1f0bf7b5d252a223 assets/create/lang/unfinished/ko_kr.json
c2220e321445c42eb86883979443eca52801f965 assets/create/lang/unfinished/nl_nl.json
263041753cc89c2462b5f95069eda0133c334b89 assets/create/lang/unfinished/pl_pl.json
1cb32255babee85cd6c7ee15c474e2f88f213c37 assets/create/lang/unfinished/pt_br.json
2292ee489cbc1cfe4efd33a56559f13b27426746 assets/create/lang/unfinished/pt_pt.json
b2f16aac4dee3a47b3bdc1f54e42b3c477f03d97 assets/create/lang/unfinished/ro_ro.json
ae93c805b4834dff3cb5c0d2b2937e0dc0ca8acc assets/create/lang/unfinished/ru_ru.json
09f6a765a66a704cebd7231101528ccd36a3b062 assets/create/lang/unfinished/uk_ua.json
268556fc3c6c377fc92e681a08c3ca4a20437bc5 assets/create/lang/unfinished/zh_cn.json
3ef68d81d534793ffa50c1f6303f8fba3df1545f 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

View file

@ -886,6 +886,8 @@
"create.menu.report_bugs": "Report Issues",
"create.menu.support": "Support Us",
"create.ponder.mod_name": "Create",
"create.recipe.crushing": "Crushing",
"create.recipe.milling": "Milling",
"create.recipe.fan_washing": "Bulk Washing",
@ -2059,30 +2061,10 @@
"_": "->------------------------] Ponder Content [------------------------<-",
"create.ponder.hold_to_ponder": "Hold [%1$s] to Ponder",
"create.ponder.subject": "Subject of this scene",
"create.ponder.pondering": "Pondering about...",
"create.ponder.identify_mode": "Identify mode active.\nUnpause with [%1$s]",
"create.ponder.associated": "Associated Entries",
"create.ponder.close": "Close",
"create.ponder.identify": "Identify",
"create.ponder.next": "Next Scene",
"create.ponder.next_up": "Up Next:",
"create.ponder.previous": "Previous Scene",
"create.ponder.replay": "Replay",
"create.ponder.think_back": "Think Back",
"create.ponder.slow_text": "Comfy Reading",
"create.ponder.exit": "Exit",
"create.ponder.welcome": "Welcome to Ponder",
"create.ponder.categories": "Available Categories in Create",
"create.ponder.index_description": "Click one of the icons to learn about its associated Items and Blocks",
"create.ponder.index_title": "Ponder Index",
"create.ponder.shared.rpm16": "16 RPM",
"create.ponder.shared.behaviour_modify_wrench": "This behaviour can be modified using a Wrench",
"create.ponder.shared.storage_on_contraption": "Inventories attached to the Contraption will pick up their drops automatically",
"create.ponder.shared.sneak_and": "Sneak +",
"create.ponder.shared.rpm8": "8 RPM",
"create.ponder.shared.ctrl_and": "Ctrl +",
"create.ponder.shared.rpm32": "32 RPM",
"create.ponder.shared.rpm16_source": "Source: 16 RPM",
"create.ponder.shared.movement_anchors": "With the help of Super Glue, larger structures can be moved.",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 842",
"_": "Missing Localizations: 823",
"_": "->------------------------] Game Elements [------------------------<-",
@ -887,6 +887,8 @@
"create.menu.report_bugs": "Fehler melden",
"create.menu.support": "Unterstütze uns",
"create.ponder.mod_name": "UNLOCALIZED: Create",
"create.recipe.crushing": "Mahlen (Mahlwerk)",
"create.recipe.milling": "Mahlen (Mahlstein)",
"create.recipe.fan_washing": "Sammelwaschen",
@ -2060,30 +2062,10 @@
"_": "->------------------------] 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.next_up": "UNLOCALIZED: Up Next:",
"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.exit": "UNLOCALIZED: Exit",
"create.ponder.welcome": "UNLOCALIZED: Welcome to Ponder",
"create.ponder.categories": "UNLOCALIZED: Available Categories in Create",
"create.ponder.index_description": "UNLOCALIZED: Click one of the icons to learn about its associated Items and Blocks",
"create.ponder.index_title": "UNLOCALIZED: Ponder Index",
"create.ponder.shared.rpm16": "UNLOCALIZED: 16 RPM",
"create.ponder.shared.behaviour_modify_wrench": "UNLOCALIZED: This behaviour can be modified using a Wrench",
"create.ponder.shared.storage_on_contraption": "UNLOCALIZED: Inventories attached to the Contraption will pick up their drops automatically",
"create.ponder.shared.sneak_and": "UNLOCALIZED: Sneak +",
"create.ponder.shared.rpm8": "UNLOCALIZED: 8 RPM",
"create.ponder.shared.ctrl_and": "UNLOCALIZED: Ctrl +",
"create.ponder.shared.rpm32": "UNLOCALIZED: 32 RPM",
"create.ponder.shared.rpm16_source": "UNLOCALIZED: Source: 16 RPM",
"create.ponder.shared.movement_anchors": "UNLOCALIZED: With the help of Super Glue, larger structures can be moved.",

View file

@ -887,6 +887,8 @@
"create.menu.report_bugs": "Reportar Problemas",
"create.menu.support": "Apóyanos",
"create.ponder.mod_name": "UNLOCALIZED: Create",
"create.recipe.crushing": "Triturando",
"create.recipe.milling": "Moliendo",
"create.recipe.fan_washing": "Lavando",
@ -2060,30 +2062,10 @@
"_": "->------------------------] Ponder Content [------------------------<-",
"create.ponder.hold_to_ponder": ">Mantén [%1$s] para reflexionar",
"create.ponder.subject": "Sujeto de esta escena",
"create.ponder.pondering": "Reflexionando sobre...",
"create.ponder.identify_mode": "Modo de identificación activado.\nDespausa con [%1$s]",
"create.ponder.associated": "Entradas asociadas",
"create.ponder.close": "Cerrar",
"create.ponder.identify": "Identificar",
"create.ponder.next": "Siguiente Escena",
"create.ponder.next_up": "UNLOCALIZED: Up Next:",
"create.ponder.previous": "Escena Previa",
"create.ponder.replay": "Reiniciar",
"create.ponder.think_back": "Pensar Atrás",
"create.ponder.slow_text": "Lectura Cómoda",
"create.ponder.exit": "Salir",
"create.ponder.welcome": "Bienvenido a Reflexionar",
"create.ponder.categories": "Categorías Disponibles en Create",
"create.ponder.index_description": "Haz clic en uno de los iconos para conocer sus elementos y bloques asociados",
"create.ponder.index_title": "Índice de Reflexión",
"create.ponder.shared.rpm16": "16 RPM",
"create.ponder.shared.behaviour_modify_wrench": "Este comportamiento se puede modificar con una llave inglesa",
"create.ponder.shared.storage_on_contraption": "Los inventarios adjuntos a la contrapción recogerán los objetos automáticamente",
"create.ponder.shared.sneak_and": "Agáchate +",
"create.ponder.shared.rpm8": "8 RPM",
"create.ponder.shared.ctrl_and": "Ctrl +",
"create.ponder.shared.rpm32": "32 RPM",
"create.ponder.shared.rpm16_source": "Fuente: 16 RPM",
"create.ponder.shared.movement_anchors": "Con la ayuda de Chasis o La Gotita, se pueden mover estructuras más grandes.",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 8",
"_": "Missing Localizations: 9",
"_": "->------------------------] Game Elements [------------------------<-",
@ -887,6 +887,8 @@
"create.menu.report_bugs": "Reportar problemas",
"create.menu.support": "Apóyenos",
"create.ponder.mod_name": "UNLOCALIZED: Create",
"create.recipe.crushing": "Trituración",
"create.recipe.milling": "Fresado",
"create.recipe.fan_washing": "Lavado a granel",
@ -2060,30 +2062,10 @@
"_": "->------------------------] Ponder Content [------------------------<-",
"create.ponder.hold_to_ponder": "Mantén [%1$s] para considerar",
"create.ponder.subject": "Tema de esta escena",
"create.ponder.pondering": "Considerando sobre...",
"create.ponder.identify_mode": "Identificando modo activo.\nReanuda con [%1$s]",
"create.ponder.associated": "Entradas asociadas",
"create.ponder.close": "Cerrar",
"create.ponder.identify": "Identificar",
"create.ponder.next": "Escena siguiente",
"create.ponder.next_up": "Siguiente:",
"create.ponder.previous": "Escena previa",
"create.ponder.replay": "Repetición",
"create.ponder.think_back": "Volver atrás",
"create.ponder.slow_text": "Lectura cómoda",
"create.ponder.exit": "Salir",
"create.ponder.welcome": "Bienvenido al instructivo de Create",
"create.ponder.categories": "Categorías disponibles",
"create.ponder.index_description": "Haga clic en uno de los iconos para conocer sus objetos y bloques asociados",
"create.ponder.index_title": "Índice",
"create.ponder.shared.rpm16": "16 RPM",
"create.ponder.shared.behaviour_modify_wrench": "Este comportamiento puede modificarse mediante una llave inglesa",
"create.ponder.shared.storage_on_contraption": "Los inventarios unidos a un artefacto animado recogerán sus producciones automáticamente",
"create.ponder.shared.sneak_and": "Mayús izdo. +",
"create.ponder.shared.rpm8": "8 RPM",
"create.ponder.shared.ctrl_and": "Ctrl +",
"create.ponder.shared.rpm32": "32 RPM",
"create.ponder.shared.rpm16_source": "Fuente: 16 RPM",
"create.ponder.shared.movement_anchors": "Con la ayuda de un chasis o pegamento, se pueden mover estructuras más grandes.",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 2139",
"_": "Missing Localizations: 2120",
"_": "->------------------------] Game Elements [------------------------<-",
@ -887,6 +887,8 @@
"create.menu.report_bugs": "UNLOCALIZED: Report Issues",
"create.menu.support": "UNLOCALIZED: Support Us",
"create.ponder.mod_name": "UNLOCALIZED: Create",
"create.recipe.crushing": "Ecrasement",
"create.recipe.milling": "Mouture",
"create.recipe.fan_washing": "Lavage",
@ -2060,30 +2062,10 @@
"_": "->------------------------] 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.next_up": "UNLOCALIZED: Up Next:",
"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.exit": "UNLOCALIZED: Exit",
"create.ponder.welcome": "UNLOCALIZED: Welcome to Ponder",
"create.ponder.categories": "UNLOCALIZED: Available Categories in Create",
"create.ponder.index_description": "UNLOCALIZED: Click one of the icons to learn about its associated Items and Blocks",
"create.ponder.index_title": "UNLOCALIZED: Ponder Index",
"create.ponder.shared.rpm16": "UNLOCALIZED: 16 RPM",
"create.ponder.shared.behaviour_modify_wrench": "UNLOCALIZED: This behaviour can be modified using a Wrench",
"create.ponder.shared.storage_on_contraption": "UNLOCALIZED: Inventories attached to the Contraption will pick up their drops automatically",
"create.ponder.shared.sneak_and": "UNLOCALIZED: Sneak +",
"create.ponder.shared.rpm8": "UNLOCALIZED: 8 RPM",
"create.ponder.shared.ctrl_and": "UNLOCALIZED: Ctrl +",
"create.ponder.shared.rpm32": "UNLOCALIZED: 32 RPM",
"create.ponder.shared.rpm16_source": "UNLOCALIZED: Source: 16 RPM",
"create.ponder.shared.movement_anchors": "UNLOCALIZED: With the help of Super Glue, larger structures can be moved.",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 2",
"_": "Missing Localizations: 3",
"_": "->------------------------] Game Elements [------------------------<-",
@ -887,6 +887,8 @@
"create.menu.report_bugs": "Segnala problemi",
"create.menu.support": "Supportaci",
"create.ponder.mod_name": "UNLOCALIZED: Create",
"create.recipe.crushing": "Frantumazione",
"create.recipe.milling": "Macinatura",
"create.recipe.fan_washing": "Lavaggio di massa",
@ -2060,30 +2062,10 @@
"_": "->------------------------] Ponder Content [------------------------<-",
"create.ponder.hold_to_ponder": "Tieni premuto [%1$s] per Riflettere",
"create.ponder.subject": "Soggetto della scena",
"create.ponder.pondering": "Riflessione riguardante...",
"create.ponder.identify_mode": "Modalità Approfondimento attiva.\nRiprendi con [%1$s]",
"create.ponder.associated": "Voci correlate",
"create.ponder.close": "Chiudi",
"create.ponder.identify": "Approfondisci",
"create.ponder.next": "Scena successiva",
"create.ponder.next_up": "Prossima scena:",
"create.ponder.previous": "Scena precedente",
"create.ponder.replay": "Riavvia",
"create.ponder.think_back": "Torna indietro",
"create.ponder.slow_text": "Testo rallentato",
"create.ponder.exit": "Esci",
"create.ponder.welcome": "È tempo di Riflettere",
"create.ponder.categories": "Categorie disponibili in Create",
"create.ponder.index_description": "Premi su una delle icone per imparare di più riguardo ai suoi oggetti e blocchi",
"create.ponder.index_title": "Catalogo di Riflessione",
"create.ponder.shared.rpm16": "16 RPM",
"create.ponder.shared.behaviour_modify_wrench": "Questo comportamento può essere cambiato con una Chiave a pappagallo",
"create.ponder.shared.storage_on_contraption": "Inventari connessi al Macchinario raccoglieranno i drop automaticamente",
"create.ponder.shared.sneak_and": "Accov. +",
"create.ponder.shared.rpm8": "8 RPM",
"create.ponder.shared.ctrl_and": "Ctrl +",
"create.ponder.shared.rpm32": "32 RPM",
"create.ponder.shared.rpm16_source": "Fonte: 16 RPM",
"create.ponder.shared.movement_anchors": "Puoi spostare strutture più grandi grazie alla Super colla.",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 4",
"_": "Missing Localizations: 5",
"_": "->------------------------] Game Elements [------------------------<-",
@ -887,6 +887,8 @@
"create.menu.report_bugs": "バグ報告",
"create.menu.support": "私たちを応援する",
"create.ponder.mod_name": "UNLOCALIZED: Create",
"create.recipe.crushing": "粉砕",
"create.recipe.milling": "製粉",
"create.recipe.fan_washing": "一括洗浄",
@ -2060,30 +2062,10 @@
"_": "->------------------------] Ponder Content [------------------------<-",
"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.next_up": "次:",
"create.ponder.previous": "前のシーン",
"create.ponder.replay": "最初から",
"create.ponder.think_back": "戻る",
"create.ponder.slow_text": "熟考(スロー再生)",
"create.ponder.exit": "終了",
"create.ponder.welcome": "思案画面へようこそ",
"create.ponder.categories": "Createで閲覧できるカテゴリ",
"create.ponder.index_description": "アイテムをクリックすると、関連するアイテムやブロックの情報が表示されます。",
"create.ponder.index_title": "思案索引",
"create.ponder.shared.rpm16": "16 RPM",
"create.ponder.shared.behaviour_modify_wrench": "この挙動はレンチを使って変更できます",
"create.ponder.shared.storage_on_contraption": "構造物中の収納ブロックは自動的にドロップを拾います",
"create.ponder.shared.sneak_and": "スニーク + ",
"create.ponder.shared.rpm8": "8 RPM",
"create.ponder.shared.ctrl_and": "Ctrl + ",
"create.ponder.shared.rpm32": "32 RPM",
"create.ponder.shared.rpm16_source": "動力源: 16 RPM",
"create.ponder.shared.movement_anchors": "シャーシや超粘着剤を使えば大きな構造物も動かせます",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 8",
"_": "Missing Localizations: 9",
"_": "->------------------------] Game Elements [------------------------<-",
@ -887,6 +887,8 @@
"create.menu.report_bugs": "버그 제보하기",
"create.menu.support": "후원하기",
"create.ponder.mod_name": "UNLOCALIZED: Create",
"create.recipe.crushing": "분쇄",
"create.recipe.milling": "제분",
"create.recipe.fan_washing": "세척",
@ -2060,30 +2062,10 @@
"_": "->------------------------] Ponder Content [------------------------<-",
"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.next_up": "Up Next:",
"create.ponder.previous": "이전 장면",
"create.ponder.replay": "다시 재생",
"create.ponder.think_back": "되돌아가기",
"create.ponder.slow_text": "편하게 읽기",
"create.ponder.exit": "나가기",
"create.ponder.welcome": "분석 메뉴에 어서오세요",
"create.ponder.categories": "Create에서 둘러볼 수 있는 목록들",
"create.ponder.index_description": "아이콘을 클릭해 관련 아이템과 블록에 대해 알아볼 수 있습니다.",
"create.ponder.index_title": "분석 메뉴 제목",
"create.ponder.shared.rpm16": "16 RPM",
"create.ponder.shared.behaviour_modify_wrench": "이 기능은 렌치를 이용해 변경할 수 있습니다.",
"create.ponder.shared.storage_on_contraption": "구조물에 부착된 보관함은 구조물이 떨어뜨린 아이템을 자동으로 줍습니다.",
"create.ponder.shared.sneak_and": "웅크리기 +",
"create.ponder.shared.rpm8": "8 RPM",
"create.ponder.shared.ctrl_and": "Ctrl +",
"create.ponder.shared.rpm32": "32 RPM",
"create.ponder.shared.rpm16_source": "기본 속도: 16 RPM",
"create.ponder.shared.movement_anchors": "섀시나 강력 접착제를 이용해 큰 구조물도 옮길 수 있습니다.",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 2487",
"_": "Missing Localizations: 2468",
"_": "->------------------------] Game Elements [------------------------<-",
@ -887,6 +887,8 @@
"create.menu.report_bugs": "UNLOCALIZED: Report Issues",
"create.menu.support": "UNLOCALIZED: Support Us",
"create.ponder.mod_name": "UNLOCALIZED: Create",
"create.recipe.crushing": "Verpulveren",
"create.recipe.milling": "UNLOCALIZED: Milling",
"create.recipe.fan_washing": "UNLOCALIZED: Bulk Washing",
@ -2060,30 +2062,10 @@
"_": "->------------------------] 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.next_up": "UNLOCALIZED: Up Next:",
"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.exit": "UNLOCALIZED: Exit",
"create.ponder.welcome": "UNLOCALIZED: Welcome to Ponder",
"create.ponder.categories": "UNLOCALIZED: Available Categories in Create",
"create.ponder.index_description": "UNLOCALIZED: Click one of the icons to learn about its associated Items and Blocks",
"create.ponder.index_title": "UNLOCALIZED: Ponder Index",
"create.ponder.shared.rpm16": "UNLOCALIZED: 16 RPM",
"create.ponder.shared.behaviour_modify_wrench": "UNLOCALIZED: This behaviour can be modified using a Wrench",
"create.ponder.shared.storage_on_contraption": "UNLOCALIZED: Inventories attached to the Contraption will pick up their drops automatically",
"create.ponder.shared.sneak_and": "UNLOCALIZED: Sneak +",
"create.ponder.shared.rpm8": "UNLOCALIZED: 8 RPM",
"create.ponder.shared.ctrl_and": "UNLOCALIZED: Ctrl +",
"create.ponder.shared.rpm32": "UNLOCALIZED: 32 RPM",
"create.ponder.shared.rpm16_source": "UNLOCALIZED: Source: 16 RPM",
"create.ponder.shared.movement_anchors": "UNLOCALIZED: With the help of Super Glue, larger structures can be moved.",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 12",
"_": "Missing Localizations: 13",
"_": "->------------------------] Game Elements [------------------------<-",
@ -887,6 +887,8 @@
"create.menu.report_bugs": "Zgłoś błąd",
"create.menu.support": "Wesprzyj nas",
"create.ponder.mod_name": "UNLOCALIZED: Create",
"create.recipe.crushing": "Kruszenie",
"create.recipe.milling": "Mielenie",
"create.recipe.fan_washing": "Hurtowe płukanie",
@ -2060,30 +2062,10 @@
"_": "->------------------------] Ponder Content [------------------------<-",
"create.ponder.hold_to_ponder": "Przytrzymaj [%1$s], aby przeanalizować",
"create.ponder.subject": "Temat tej sceny",
"create.ponder.pondering": "Temat analizy:",
"create.ponder.identify_mode": "Tryb identyfikacji aktywny. Naciśnij [%1$s], aby wyłączyć",
"create.ponder.associated": "Powiązane hasła",
"create.ponder.close": "Zamknij",
"create.ponder.identify": "Identyfikacja",
"create.ponder.next": "Następna scena",
"create.ponder.next_up": "Następnie:",
"create.ponder.previous": "Poprzednia scena",
"create.ponder.replay": "Powtórka",
"create.ponder.think_back": "Powrót",
"create.ponder.slow_text": "Wygodne czytanie",
"create.ponder.exit": "Wyjście",
"create.ponder.welcome": "Witaj w menu analizowania",
"create.ponder.categories": "Dostępne kategorie w Create",
"create.ponder.index_description": "Kliknij na jedną z ikon aby dowiedzieć się informacji na temat powiązanych bloków i przedmiotów.",
"create.ponder.index_title": "Katalog analiz",
"create.ponder.shared.rpm16": "16 Ob/min",
"create.ponder.shared.behaviour_modify_wrench": "To zachowanie może być zmodyfikowane przy pomocy klucza",
"create.ponder.shared.storage_on_contraption": "Pojemniki przyłączone do maszyny będą podnosiły przedmioty automatycznie",
"create.ponder.shared.sneak_and": "Skradanie +",
"create.ponder.shared.rpm8": "8 Ob/min",
"create.ponder.shared.ctrl_and": "Ctrl +",
"create.ponder.shared.rpm32": "32 Ob/min",
"create.ponder.shared.rpm16_source": "Źródło: 16 Ob/min",
"create.ponder.shared.movement_anchors": "Z pomocą stelaży lub Super Glue, większe struktury mogą być przesuwane.",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 1331",
"_": "Missing Localizations: 1312",
"_": "->------------------------] Game Elements [------------------------<-",
@ -887,6 +887,8 @@
"create.menu.report_bugs": "Informar um erro",
"create.menu.support": "Suporte nós",
"create.ponder.mod_name": "UNLOCALIZED: Create",
"create.recipe.crushing": "Triturando",
"create.recipe.milling": "Moendo",
"create.recipe.fan_washing": "Lavagem em massa",
@ -2060,30 +2062,10 @@
"_": "->------------------------] 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.next_up": "UNLOCALIZED: Up Next:",
"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.exit": "UNLOCALIZED: Exit",
"create.ponder.welcome": "UNLOCALIZED: Welcome to Ponder",
"create.ponder.categories": "UNLOCALIZED: Available Categories in Create",
"create.ponder.index_description": "UNLOCALIZED: Click one of the icons to learn about its associated Items and Blocks",
"create.ponder.index_title": "UNLOCALIZED: Ponder Index",
"create.ponder.shared.rpm16": "UNLOCALIZED: 16 RPM",
"create.ponder.shared.behaviour_modify_wrench": "UNLOCALIZED: This behaviour can be modified using a Wrench",
"create.ponder.shared.storage_on_contraption": "UNLOCALIZED: Inventories attached to the Contraption will pick up their drops automatically",
"create.ponder.shared.sneak_and": "UNLOCALIZED: Sneak +",
"create.ponder.shared.rpm8": "UNLOCALIZED: 8 RPM",
"create.ponder.shared.ctrl_and": "UNLOCALIZED: Ctrl +",
"create.ponder.shared.rpm32": "UNLOCALIZED: 32 RPM",
"create.ponder.shared.rpm16_source": "UNLOCALIZED: Source: 16 RPM",
"create.ponder.shared.movement_anchors": "UNLOCALIZED: With the help of Super Glue, larger structures can be moved.",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 2196",
"_": "Missing Localizations: 2177",
"_": "->------------------------] Game Elements [------------------------<-",
@ -887,6 +887,8 @@
"create.menu.report_bugs": "UNLOCALIZED: Report Issues",
"create.menu.support": "UNLOCALIZED: Support Us",
"create.ponder.mod_name": "UNLOCALIZED: Create",
"create.recipe.crushing": "Moendo",
"create.recipe.milling": "UNLOCALIZED: Milling",
"create.recipe.fan_washing": "Lavagem em massa",
@ -2060,30 +2062,10 @@
"_": "->------------------------] 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.next_up": "UNLOCALIZED: Up Next:",
"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.exit": "UNLOCALIZED: Exit",
"create.ponder.welcome": "UNLOCALIZED: Welcome to Ponder",
"create.ponder.categories": "UNLOCALIZED: Available Categories in Create",
"create.ponder.index_description": "UNLOCALIZED: Click one of the icons to learn about its associated Items and Blocks",
"create.ponder.index_title": "UNLOCALIZED: Ponder Index",
"create.ponder.shared.rpm16": "UNLOCALIZED: 16 RPM",
"create.ponder.shared.behaviour_modify_wrench": "UNLOCALIZED: This behaviour can be modified using a Wrench",
"create.ponder.shared.storage_on_contraption": "UNLOCALIZED: Inventories attached to the Contraption will pick up their drops automatically",
"create.ponder.shared.sneak_and": "UNLOCALIZED: Sneak +",
"create.ponder.shared.rpm8": "UNLOCALIZED: 8 RPM",
"create.ponder.shared.ctrl_and": "UNLOCALIZED: Ctrl +",
"create.ponder.shared.rpm32": "UNLOCALIZED: 32 RPM",
"create.ponder.shared.rpm16_source": "UNLOCALIZED: Source: 16 RPM",
"create.ponder.shared.movement_anchors": "UNLOCALIZED: With the help of Super Glue, larger structures can be moved.",

View file

@ -887,6 +887,8 @@
"create.menu.report_bugs": "Raportează Probleme",
"create.menu.support": "Susține-ne",
"create.ponder.mod_name": "UNLOCALIZED: Create",
"create.recipe.crushing": "Strivire",
"create.recipe.milling": "Frezare",
"create.recipe.fan_washing": "Spălare În Vrac",
@ -2060,30 +2062,10 @@
"_": "->------------------------] Ponder Content [------------------------<-",
"create.ponder.hold_to_ponder": "Ține apăsat [%1$s] pentru a Chibzui",
"create.ponder.subject": "Subiectul acestei scene",
"create.ponder.pondering": "Chibzuind despre...",
"create.ponder.identify_mode": "Mod de identificare activ.\nÎntrerupe cu [%1$s]",
"create.ponder.associated": "Intrări asociate",
"create.ponder.close": "Închide",
"create.ponder.identify": "Identifică",
"create.ponder.next": "Scena următoare",
"create.ponder.next_up": "UNLOCALIZED: Up Next:",
"create.ponder.previous": "Scena precedentă",
"create.ponder.replay": "Reia",
"create.ponder.think_back": "Gândește Înapoi",
"create.ponder.slow_text": "Citit Confortabil",
"create.ponder.exit": "Ieși",
"create.ponder.welcome": "Bine ai venit la Chibzuire",
"create.ponder.categories": "Categorii valabile în Create",
"create.ponder.index_description": "Apasă pe una dintre iconițe pentru a învăța despre Obiectele și Blocurile asociate lui",
"create.ponder.index_title": "Indecele de Chibzuire",
"create.ponder.shared.rpm16": "16 RPM",
"create.ponder.shared.behaviour_modify_wrench": "Acest comportament poate fi modificat folosind o Cheie",
"create.ponder.shared.storage_on_contraption": "Inventarele atașate la Invenție vor strânge dropurile lor automat",
"create.ponder.shared.sneak_and": "Furișare +",
"create.ponder.shared.rpm8": "8 RPM",
"create.ponder.shared.ctrl_and": "Ctrl +",
"create.ponder.shared.rpm32": "32 RPM",
"create.ponder.shared.rpm16_source": "Sursă: 16 RPM",
"create.ponder.shared.movement_anchors": "Cu ajutorul unui Șasiu sau cu Super Glue, structuri mai mari pot fi mișcate.",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 0",
"_": "Missing Localizations: 1",
"_": "->------------------------] Game Elements [------------------------<-",
@ -887,6 +887,8 @@
"create.menu.report_bugs": "Нашли ошибку?",
"create.menu.support": "Поддержите нас",
"create.ponder.mod_name": "UNLOCALIZED: Create",
"create.recipe.crushing": "Дробление",
"create.recipe.milling": "Помол",
"create.recipe.fan_washing": "Массовая промывка",
@ -2060,30 +2062,10 @@
"_": "->------------------------] Ponder Content [------------------------<-",
"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.next_up": "Размышлять дальше над:",
"create.ponder.previous": "Предыдущая сцена",
"create.ponder.replay": "Повторить сцену",
"create.ponder.think_back": "Назад",
"create.ponder.slow_text": "Удобное чтение",
"create.ponder.exit": "Выйти",
"create.ponder.welcome": "Добро пожаловать в размышления!",
"create.ponder.categories": "Категории, доступные в Create",
"create.ponder.index_description": "Кликните по одной из иконок, чтобы узнать о связанных с ней предметах и блоках",
"create.ponder.index_title": "Содержание размышлений",
"create.ponder.shared.rpm16": "16 об./мин.",
"create.ponder.shared.behaviour_modify_wrench": "Это поведение может быть изменено Гаечным ключом",
"create.ponder.shared.storage_on_contraption": "Присоединённые к штуковине инвентари будут подбирать предметы автоматически",
"create.ponder.shared.sneak_and": "Shift +",
"create.ponder.shared.rpm8": "8 об./мин.",
"create.ponder.shared.ctrl_and": "Ctrl +",
"create.ponder.shared.rpm32": "32 об./мин.",
"create.ponder.shared.rpm16_source": "Источник: 16 об./мин.",
"create.ponder.shared.movement_anchors": "С помощью Суперклея или Шасси, более крупные структуры могут быть сдвинуты",

View file

@ -887,6 +887,8 @@
"create.menu.report_bugs": "Повідомити про проблеми",
"create.menu.support": "Підтримати нас",
"create.ponder.mod_name": "UNLOCALIZED: Create",
"create.recipe.crushing": "Дроблення",
"create.recipe.milling": "Помел",
"create.recipe.fan_washing": "Масове вимивання",
@ -2060,30 +2062,10 @@
"_": "->------------------------] Ponder Content [------------------------<-",
"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.next_up": "UNLOCALIZED: Up Next:",
"create.ponder.previous": "Минула сцена",
"create.ponder.replay": "Повтор",
"create.ponder.think_back": "Подумати про минуле",
"create.ponder.slow_text": "Зручне читання",
"create.ponder.exit": "Вийти",
"create.ponder.welcome": "Вітаємо в Роздумах",
"create.ponder.categories": "Доступні категорії в Create",
"create.ponder.index_description": "Клацніть один із значків, щоб дізнатися про пов’язані з ним предмети та блоки",
"create.ponder.index_title": "Зміст роздумів",
"create.ponder.shared.rpm16": "16 об./хв",
"create.ponder.shared.behaviour_modify_wrench": "Цю поведінку можна змінити за допомогою гайкового ключа",
"create.ponder.shared.storage_on_contraption": "Приєднані до штуковини інвентарі будуть підбирати речі автоматично",
"create.ponder.shared.sneak_and": "Крастися +",
"create.ponder.shared.rpm8": "8 об./хв",
"create.ponder.shared.ctrl_and": "Ctrl +",
"create.ponder.shared.rpm32": "32 об./хв",
"create.ponder.shared.rpm16_source": "Джерело: 16 об./хв",
"create.ponder.shared.movement_anchors": "З допомогою суперклея або шасі, великі структури можуть бути здвинуті.",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 0",
"_": "Missing Localizations: 1",
"_": "->------------------------] Game Elements [------------------------<-",
@ -887,6 +887,8 @@
"create.menu.report_bugs": "报告问题",
"create.menu.support": "支持我们",
"create.ponder.mod_name": "UNLOCALIZED: Create",
"create.recipe.crushing": "粉碎",
"create.recipe.milling": "研磨",
"create.recipe.fan_washing": "批量洗涤",
@ -2060,30 +2062,10 @@
"_": "->------------------------] Ponder Content [------------------------<-",
"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.next_up": "接下来:",
"create.ponder.previous": "上一情景",
"create.ponder.replay": "重放",
"create.ponder.think_back": "回想",
"create.ponder.slow_text": "舒适阅读",
"create.ponder.exit": "退出",
"create.ponder.welcome": "欢迎来到思索界面",
"create.ponder.categories": "机械动力中包含的条目",
"create.ponder.index_description": "点击一个图标来查看相关的物品和方块",
"create.ponder.index_title": "思索索引",
"create.ponder.shared.rpm16": "16 RPM",
"create.ponder.shared.behaviour_modify_wrench": "可以用扳手调整它的行为",
"create.ponder.shared.storage_on_contraption": "与装置相接的容器,会自动拾取装置遇到的掉落物",
"create.ponder.shared.sneak_and": "潜行 +",
"create.ponder.shared.rpm8": "8 RPM",
"create.ponder.shared.ctrl_and": "Ctrl +",
"create.ponder.shared.rpm32": "32 RPM",
"create.ponder.shared.rpm16_source": "动力源16 RPM",
"create.ponder.shared.movement_anchors": "有了底盘和强力胶,移动起大型结构轻轻松松",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 8",
"_": "Missing Localizations: 9",
"_": "->------------------------] Game Elements [------------------------<-",
@ -887,6 +887,8 @@
"create.menu.report_bugs": "回報問題",
"create.menu.support": "支持我們",
"create.ponder.mod_name": "UNLOCALIZED: Create",
"create.recipe.crushing": "粉碎",
"create.recipe.milling": "研磨",
"create.recipe.fan_washing": "批次洗滌",
@ -2060,30 +2062,10 @@
"_": "->------------------------] Ponder Content [------------------------<-",
"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.next_up": "接下來:",
"create.ponder.previous": "上個場景",
"create.ponder.replay": "重播",
"create.ponder.think_back": "返回",
"create.ponder.slow_text": "放慢文字顯示速度",
"create.ponder.exit": "離開",
"create.ponder.welcome": "歡迎來到教學",
"create.ponder.categories": "Create 中的分類",
"create.ponder.index_description": "點擊其中一個圖像查看和他相關的物品以及方塊",
"create.ponder.index_title": "教學首頁",
"create.ponder.shared.rpm16": "16 RPM",
"create.ponder.shared.behaviour_modify_wrench": "使用扳手來調整這個動作",
"create.ponder.shared.storage_on_contraption": "與結構相連的儲物空間會自動撿取物品",
"create.ponder.shared.sneak_and": "潛行 +",
"create.ponder.shared.rpm8": "8 RPM",
"create.ponder.shared.ctrl_and": "Ctrl +",
"create.ponder.shared.rpm32": "32 RPM",
"create.ponder.shared.rpm16_source": "轉速16 RPM",
"create.ponder.shared.movement_anchors": "有了機殼底盤和強力膠就可以移動大型結構",

View file

@ -6,9 +6,9 @@ import java.util.Map;
import com.jozufozu.flywheel.core.PartialModel;
import com.simibubi.create.content.contraptions.fluids.FluidTransportBehaviour;
import com.simibubi.create.foundation.utility.Iterate;
import com.simibubi.create.foundation.utility.Lang;
import net.createmod.catnip.utility.Iterate;
import net.createmod.catnip.utility.lang.Lang;
import net.minecraft.core.Direction;
import net.minecraft.world.item.DyeColor;

View file

@ -231,13 +231,13 @@ import com.simibubi.create.foundation.data.SharedProperties;
import com.simibubi.create.foundation.item.TooltipHelper;
import com.simibubi.create.foundation.item.UncontainableBlockItem;
import com.simibubi.create.foundation.utility.ColorHandlers;
import com.simibubi.create.foundation.utility.Couple;
import com.simibubi.create.foundation.utility.DyeHelper;
import com.tterrag.registrate.providers.RegistrateRecipeProvider;
import com.tterrag.registrate.providers.loot.RegistrateBlockLootTables;
import com.tterrag.registrate.util.DataIngredient;
import com.tterrag.registrate.util.entry.BlockEntry;
import net.createmod.catnip.utility.Couple;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.core.Direction.Axis;
import net.minecraft.core.Direction.AxisDirection;

View file

@ -17,12 +17,12 @@ import com.simibubi.create.content.logistics.trains.entity.CarriageContraptionEn
import com.simibubi.create.content.logistics.trains.entity.CarriageContraptionEntityRenderer;
import com.simibubi.create.content.logistics.trains.entity.CarriageContraptionInstance;
import com.simibubi.create.foundation.data.CreateEntityBuilder;
import com.simibubi.create.foundation.utility.Lang;
import com.tterrag.registrate.util.entry.EntityEntry;
import com.tterrag.registrate.util.nullness.NonNullConsumer;
import com.tterrag.registrate.util.nullness.NonNullFunction;
import com.tterrag.registrate.util.nullness.NonNullSupplier;
import net.createmod.catnip.utility.lang.Lang;
import net.minecraft.client.renderer.entity.EntityRenderer;
import net.minecraft.client.renderer.entity.EntityRendererProvider;
import net.minecraft.world.entity.Entity;

View file

@ -1,9 +1,9 @@
package com.simibubi.create;
import static com.simibubi.create.AllTags.forgeItemTag;
import static com.simibubi.create.AllTags.AllItemTags.CREATE_INGOTS;
import static com.simibubi.create.AllTags.AllItemTags.CRUSHED_ORES;
import static com.simibubi.create.AllTags.AllItemTags.PLATES;
import static com.simibubi.create.AllTags.forgeItemTag;
import static com.simibubi.create.content.AllSections.CURIOSITIES;
import static com.simibubi.create.content.AllSections.KINETICS;
import static com.simibubi.create.content.AllSections.LOGISTICS;

View file

@ -12,8 +12,8 @@ import com.simibubi.create.content.contraptions.particle.ICustomParticleData;
import com.simibubi.create.content.contraptions.particle.RotationIndicatorParticleData;
import com.simibubi.create.content.curiosities.bell.SoulBaseParticle;
import com.simibubi.create.content.curiosities.bell.SoulParticle;
import com.simibubi.create.foundation.utility.Lang;
import net.createmod.catnip.utility.lang.Lang;
import net.minecraft.client.Minecraft;
import net.minecraft.client.particle.ParticleEngine;
import net.minecraft.core.particles.ParticleOptions;

View file

@ -27,10 +27,10 @@ import com.simibubi.create.content.contraptions.processing.ProcessingRecipeBuild
import com.simibubi.create.content.contraptions.processing.ProcessingRecipeSerializer;
import com.simibubi.create.content.curiosities.toolbox.ToolboxDyeingRecipe;
import com.simibubi.create.content.curiosities.tools.SandPaperPolishingRecipe;
import com.simibubi.create.foundation.utility.Lang;
import com.simibubi.create.foundation.utility.RegisteredObjects;
import com.simibubi.create.foundation.utility.recipe.IRecipeTypeInfo;
import net.createmod.catnip.platform.CatnipServices;
import net.createmod.catnip.utility.lang.Lang;
import net.minecraft.core.Registry;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.Container;
@ -142,7 +142,7 @@ public enum AllRecipeTypes implements IRecipeTypeInfo {
public static boolean shouldIgnoreInAutomation(Recipe<?> recipe) {
RecipeSerializer<?> serializer = recipe.getSerializer();
if (serializer != null && RECIPE_DENY_SET.contains(RegisteredObjects.getKeyOrThrow(serializer)))
if (serializer != null && RECIPE_DENY_SET.contains(CatnipServices.REGISTRIES.getKeyOrThrow(serializer)))
return true;
return recipe.getId()
.getPath()

View file

@ -9,8 +9,8 @@ import java.util.function.BiFunction;
import com.simibubi.create.content.logistics.block.chute.ChuteShapes;
import com.simibubi.create.content.logistics.trains.track.TrackVoxelShapes;
import com.simibubi.create.foundation.utility.VoxelShaper;
import net.createmod.catnip.utility.VoxelShaper;
import net.minecraft.core.Direction;
import net.minecraft.core.Direction.Axis;
import net.minecraft.world.level.block.Block;

View file

@ -1,12 +1,10 @@
package com.simibubi.create;
import com.mojang.blaze3d.systems.RenderSystem;
import net.createmod.catnip.render.BindableTexture;
import net.minecraft.resources.ResourceLocation;
public enum AllSpecialTextures {
public enum AllSpecialTextures implements BindableTexture {
BLANK("blank.png"),
CHECKERED("checkerboard.png"),
THIN_CHECKERED("thin_checkerboard.png"),
CUTOUT_CHECKERED("cutout_checkerboard.png"),
@ -17,18 +15,14 @@ public enum AllSpecialTextures {
;
public static final String ASSET_PATH = "textures/special/";
private ResourceLocation location;
private final ResourceLocation location;
private AllSpecialTextures(String filename) {
AllSpecialTextures(String filename) {
location = Create.asResource(ASSET_PATH + filename);
}
public void bind() {
RenderSystem.setShaderTexture(0, location);
}
public ResourceLocation getLocation() {
return location;
}
}
}

View file

@ -9,10 +9,10 @@ import com.simibubi.create.foundation.block.connected.AllCTTypes;
import com.simibubi.create.foundation.block.connected.CTSpriteShiftEntry;
import com.simibubi.create.foundation.block.connected.CTSpriteShifter;
import com.simibubi.create.foundation.block.connected.CTType;
import com.simibubi.create.foundation.block.render.SpriteShiftEntry;
import com.simibubi.create.foundation.block.render.SpriteShifter;
import com.simibubi.create.foundation.utility.Couple;
import net.createmod.catnip.render.SpriteShiftEntry;
import net.createmod.catnip.render.SpriteShifter;
import net.createmod.catnip.utility.Couple;
import net.minecraft.world.item.DyeColor;
import net.minecraft.world.level.block.state.properties.WoodType;

View file

@ -8,12 +8,12 @@ import java.util.Collections;
import com.simibubi.create.foundation.data.CreateRegistrate;
import com.simibubi.create.foundation.data.recipe.Mods;
import com.simibubi.create.foundation.utility.Lang;
import com.tterrag.registrate.builders.BlockBuilder;
import com.tterrag.registrate.builders.ItemBuilder;
import com.tterrag.registrate.providers.ProviderType;
import com.tterrag.registrate.util.nullness.NonNullFunction;
import net.createmod.catnip.utility.lang.Lang;
import net.minecraft.data.tags.TagsProvider.TagAppender;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.tags.BlockTags;

View file

@ -36,6 +36,7 @@ import com.simibubi.create.foundation.data.recipe.ProcessingRecipeGen;
import com.simibubi.create.foundation.data.recipe.SequencedAssemblyRecipeGen;
import com.simibubi.create.foundation.data.recipe.StandardRecipeGen;
import com.simibubi.create.foundation.networking.AllPackets;
import com.simibubi.create.foundation.ponder.CreatePonderPlugin;
import com.simibubi.create.foundation.utility.CreateRegistry;
import com.simibubi.create.foundation.worldgen.AllFeatures;
import com.simibubi.create.foundation.worldgen.AllOreFeatureConfigEntries;
@ -43,6 +44,8 @@ import com.simibubi.create.foundation.worldgen.AllPlacementModifiers;
import com.simibubi.create.foundation.worldgen.BuiltinRegistration;
import com.tterrag.registrate.util.nullness.NonNullSupplier;
import net.createmod.catnip.utility.lang.LangBuilder;
import net.createmod.ponder.foundation.PonderIndex;
import net.minecraft.data.DataGenerator;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.sounds.SoundEvent;
@ -157,6 +160,7 @@ public class Create {
public static void gatherData(GatherDataEvent event) {
DataGenerator gen = event.getGenerator();
if (event.includeClient()) {
DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> () -> PonderIndex.addPlugin(new CreatePonderPlugin()));
gen.addProvider(new LangMerger(gen));
gen.addProvider(AllSoundEvents.provider(gen));
}
@ -174,6 +178,10 @@ public class Create {
return REGISTRATE.get();
}
public static LangBuilder lang() {
return new LangBuilder(ID);
}
public static ResourceLocation asResource(String path) {
return new ResourceLocation(ID, path);
}

View file

@ -1,11 +1,14 @@
package com.simibubi.create;
import com.mojang.blaze3d.platform.GlStateManager;
import com.mojang.blaze3d.systems.RenderSystem;
import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer;
import com.simibubi.create.content.contraptions.components.structureMovement.glue.SuperGlueSelectionHandler;
import com.simibubi.create.content.contraptions.components.structureMovement.interaction.controls.TrainHUD;
import com.simibubi.create.content.contraptions.components.structureMovement.render.ContraptionRenderDispatcher;
import com.simibubi.create.content.contraptions.components.structureMovement.render.SBBContraptionManager;
import com.simibubi.create.content.contraptions.goggles.GoggleOverlayRenderer;
import com.simibubi.create.content.contraptions.relays.elementary.CogWheelBlock;
import com.simibubi.create.content.contraptions.relays.encased.CasingConnectivity;
import com.simibubi.create.content.curiosities.armor.CopperBacktankArmorLayer;
import com.simibubi.create.content.curiosities.bell.SoulPulseEffectHandler;
@ -20,20 +23,24 @@ import com.simibubi.create.content.schematics.client.SchematicAndQuillHandler;
import com.simibubi.create.content.schematics.client.SchematicHandler;
import com.simibubi.create.foundation.ClientResourceReloadListener;
import com.simibubi.create.foundation.config.AllConfigs;
import com.simibubi.create.foundation.gui.UIRenderHelper;
import com.simibubi.create.foundation.ponder.content.PonderIndex;
import com.simibubi.create.foundation.ponder.element.WorldSectionElement;
import com.simibubi.create.foundation.render.CachedBufferer;
import com.simibubi.create.foundation.gui.CreateMainMenuScreen;
import com.simibubi.create.foundation.ponder.CreatePonderPlugin;
import com.simibubi.create.foundation.render.CachedPartialBuffers;
import com.simibubi.create.foundation.render.CreateContexts;
import com.simibubi.create.foundation.render.SuperByteBufferCache;
import com.simibubi.create.foundation.utility.Components;
import com.simibubi.create.foundation.render.FlwSuperBufferFactory;
import com.simibubi.create.foundation.utility.ModelSwapper;
import com.simibubi.create.foundation.utility.ghost.GhostBlocks;
import com.simibubi.create.foundation.utility.outliner.Outliner;
import net.createmod.catnip.config.ui.BaseConfigScreen;
import net.createmod.catnip.config.ui.ConfigScreen;
import net.createmod.catnip.render.SuperBufferFactory;
import net.createmod.catnip.render.SuperByteBufferCache;
import net.createmod.catnip.utility.lang.Components;
import net.createmod.ponder.foundation.PonderIndex;
import net.minecraft.ChatFormatting;
import net.minecraft.client.GraphicsStatus;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.screens.Screen;
import net.minecraft.core.Direction;
import net.minecraft.network.chat.ClickEvent;
import net.minecraft.network.chat.ComponentUtils;
import net.minecraft.network.chat.HoverEvent;
@ -45,9 +52,6 @@ import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
public class CreateClient {
public static final SuperByteBufferCache BUFFER_CACHE = new SuperByteBufferCache();
public static final Outliner OUTLINER = new Outliner();
public static final GhostBlocks GHOST_BLOCKS = new GhostBlocks();
public static final ModelSwapper MODEL_SWAPPER = new ModelSwapper();
public static final CasingConnectivity CASING_CONNECTIVITY = new CasingConnectivity();
@ -76,23 +80,22 @@ public class CreateClient {
}
public static void clientInit(final FMLClientSetupEvent event) {
BUFFER_CACHE.registerCompartment(CachedBufferer.GENERIC_TILE);
BUFFER_CACHE.registerCompartment(CachedBufferer.PARTIAL);
BUFFER_CACHE.registerCompartment(CachedBufferer.DIRECTIONAL_PARTIAL);
BUFFER_CACHE.registerCompartment(KineticTileEntityRenderer.KINETIC_TILE);
BUFFER_CACHE.registerCompartment(SBBContraptionManager.CONTRAPTION, 20);
BUFFER_CACHE.registerCompartment(WorldSectionElement.DOC_WORLD_SECTION, 20);
SuperBufferFactory.setInstance(new FlwSuperBufferFactory());
SuperByteBufferCache.getInstance().registerCompartment(CachedPartialBuffers.PARTIAL);
SuperByteBufferCache.getInstance().registerCompartment(CachedPartialBuffers.DIRECTIONAL_PARTIAL);
SuperByteBufferCache.getInstance().registerCompartment(KineticTileEntityRenderer.KINETIC_TILE);
SuperByteBufferCache.getInstance().registerCompartment(SBBContraptionManager.CONTRAPTION, 20);
AllKeys.register();
AllBlockPartials.init();
AllStitchedTextures.init();
PonderIndex.register();
PonderIndex.registerTags();
PonderIndex.addPlugin(new CreatePonderPlugin());
setupConfigUIBackground();
registerOverlays();
UIRenderHelper.init();
}
private static void registerOverlays() {
@ -106,9 +109,27 @@ public class CreateClient {
OverlayRegistry.registerOverlayAbove(ForgeIngameGui.HOTBAR_ELEMENT, "Create's Toolboxes", ToolboxHandlerClient.OVERLAY);
}
public static void invalidateRenderers() {
BUFFER_CACHE.invalidate();
private static void setupConfigUIBackground() {
ConfigScreen.backgrounds.put(Create.ID, (screen, ms, partialTicks) -> {
CreateMainMenuScreen.PANORAMA.render(screen.getMinecraft().getDeltaFrameTime(), 1);
RenderSystem.setShaderTexture(0, CreateMainMenuScreen.PANORAMA_OVERLAY_TEXTURES);
RenderSystem.enableBlend();
RenderSystem.blendFunc(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA);
Screen.blit(ms, 0, 0, screen.width, screen.height, 0.0F, 0.0F, 16, 128, 16, 128);
Screen.fill(ms, 0, 0, screen.width, screen.height, 0x90_282c34);
});
ConfigScreen.shadowState = AllBlocks.LARGE_COGWHEEL.getDefaultState().setValue(CogWheelBlock.AXIS, Direction.Axis.Y);
BaseConfigScreen.setDefaultActionFor(Create.ID, base -> base
.withTitles("Client Settings", "World Generation Settings", "Gameplay Settings")
.withSpecs(AllConfigs.CLIENT.specification, AllConfigs.COMMON.specification, AllConfigs.SERVER.specification)
);
}
public static void invalidateRenderers() {
SCHEMATIC_HANDLER.updateRenderers();
ContraptionRenderDispatcher.reset();
}

View file

@ -15,8 +15,8 @@ import org.apache.commons.lang3.tuple.Pair;
import com.simibubi.create.content.contraptions.fluids.tank.CreativeFluidTankTileEntity;
import com.simibubi.create.foundation.tileEntity.IMultiTileContainer;
import com.simibubi.create.foundation.utility.Iterate;
import net.createmod.catnip.utility.Iterate;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.world.level.BlockGetter;
@ -316,13 +316,13 @@ public class ConnectivityHandler {
for (int yOffset = 0; yOffset < height; yOffset++) {
for (int xOffset = 0; xOffset < width; xOffset++) {
for (int zOffset = 0; zOffset < width; zOffset++) {
BlockPos pos = switch (axis) {
case X -> origin.offset(yOffset, xOffset, zOffset);
case Y -> origin.offset(xOffset, yOffset, zOffset);
case Z -> origin.offset(xOffset, zOffset, yOffset);
};
T partAt = partAt(be.getType(), level, pos);
if (partAt == null)
continue;
@ -354,19 +354,19 @@ public class ConnectivityHandler {
frontier.add(partAt);
partAt.preventConnectivityUpdate();
}
if (cache != null)
if (cache != null)
cache.put(pos, partAt);
}
}
}
if (be instanceof IMultiTileContainer.Inventory iinv && iinv.hasInventory())
be.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY)
.invalidate();
if (be instanceof IMultiTileContainer.Fluid ifluid && ifluid.hasTank())
be.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY)
.invalidate();
if (tryReconnect)
formMulti(be.getType(), level, cache == null ? new SearchCache<>() : cache, frontier);
}

View file

@ -3,8 +3,7 @@ package com.simibubi.create.compat;
import java.util.Optional;
import java.util.function.Supplier;
import com.simibubi.create.foundation.utility.Lang;
import net.createmod.catnip.utility.lang.Lang;
import net.minecraftforge.fml.ModList;
/**

View file

@ -64,10 +64,9 @@ import com.simibubi.create.content.logistics.item.filter.AbstractFilterScreen;
import com.simibubi.create.content.logistics.trains.management.schedule.ScheduleScreen;
import com.simibubi.create.foundation.config.AllConfigs;
import com.simibubi.create.foundation.config.CRecipes;
import com.simibubi.create.foundation.config.ConfigBase.ConfigBool;
import com.simibubi.create.foundation.data.recipe.LogStrippingFakeRecipes;
import com.simibubi.create.foundation.gui.container.AbstractSimiContainerScreen;
import com.simibubi.create.foundation.utility.Lang;
import com.simibubi.create.foundation.utility.CreateLang;
import com.simibubi.create.foundation.utility.recipe.IRecipeTypeInfo;
import mezz.jei.api.IModPlugin;
@ -83,6 +82,7 @@ import mezz.jei.api.registration.IRecipeRegistration;
import mezz.jei.api.registration.IRecipeTransferRegistration;
import mezz.jei.api.registration.ISubtypeRegistration;
import mezz.jei.api.runtime.IIngredientManager;
import net.createmod.catnip.config.ConfigBase.ConfigBool;
import net.minecraft.client.Minecraft;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.ItemStack;
@ -516,7 +516,7 @@ public class CreateJEI implements IModPlugin {
CreateRecipeCategory.Info<T> info = new CreateRecipeCategory.Info<>(
new mezz.jei.api.recipe.RecipeType<>(Create.asResource(name), recipeClass),
Lang.translateDirect("recipe." + name), background, icon, recipesSupplier, catalysts);
CreateLang.translateDirect("recipe." + name), background, icon, recipesSupplier, catalysts);
CreateRecipeCategory<T> category = factory.create(info);
allCategories.add(category);
return category;

View file

@ -4,9 +4,9 @@ import java.util.function.Supplier;
import com.mojang.blaze3d.systems.RenderSystem;
import com.mojang.blaze3d.vertex.PoseStack;
import com.simibubi.create.foundation.gui.element.GuiGameElement;
import mezz.jei.api.gui.drawable.IDrawable;
import net.createmod.catnip.gui.element.GuiGameElement;
import net.minecraft.world.item.ItemStack;
public class DoubleItemIcon implements IDrawable {

View file

@ -4,9 +4,9 @@ import java.util.function.Supplier;
import com.mojang.blaze3d.systems.RenderSystem;
import com.mojang.blaze3d.vertex.PoseStack;
import com.simibubi.create.foundation.gui.element.GuiGameElement;
import mezz.jei.api.gui.drawable.IDrawable;
import net.createmod.catnip.gui.element.GuiGameElement;
import net.minecraft.world.item.ItemStack;
public class ItemIcon implements IDrawable {

View file

@ -3,10 +3,10 @@ package com.simibubi.create.compat.jei;
import java.util.List;
import com.simibubi.create.content.contraptions.fluids.potion.PotionFluid.BottleType;
import com.simibubi.create.foundation.utility.NBTHelper;
import mezz.jei.api.ingredients.subtypes.IIngredientSubtypeInterpreter;
import mezz.jei.api.ingredients.subtypes.UidContext;
import net.createmod.catnip.utility.NBTHelper;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.world.effect.MobEffectInstance;
import net.minecraft.world.item.alchemy.Potion;

View file

@ -16,19 +16,19 @@ public class ScreenResourceWrapper implements IDrawable {
@Override
public int getWidth() {
return resource.width;
return resource.getWidth();
}
@Override
public int getHeight() {
return resource.height;
return resource.getHeight();
}
@Override
public void draw(PoseStack matrixStack, int xOffset, int yOffset) {
resource.bind();
GuiComponent.blit(matrixStack, xOffset, yOffset, 0, resource.startX, resource.startY, resource.width,
resource.height, 256, 256);
GuiComponent.blit(matrixStack, xOffset, yOffset, 0, resource.getStartX(), resource.getStartY(), resource.getWidth(),
resource.getHeight(), 256, 256);
}
}

View file

@ -17,14 +17,14 @@ import com.simibubi.create.content.contraptions.processing.burner.BlazeBurnerBlo
import com.simibubi.create.foundation.fluid.FluidIngredient;
import com.simibubi.create.foundation.gui.AllGuiTextures;
import com.simibubi.create.foundation.item.ItemHelper;
import com.simibubi.create.foundation.utility.Lang;
import com.simibubi.create.foundation.utility.Pair;
import com.simibubi.create.foundation.utility.CreateLang;
import mezz.jei.api.forge.ForgeTypes;
import mezz.jei.api.gui.builder.IRecipeLayoutBuilder;
import mezz.jei.api.gui.ingredient.IRecipeSlotsView;
import mezz.jei.api.recipe.IFocusGroup;
import mezz.jei.api.recipe.RecipeIngredientRole;
import net.createmod.catnip.utility.Pair;
import net.minecraft.client.Minecraft;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.crafting.Ingredient;
@ -130,7 +130,7 @@ public class BasinCategory extends CreateRecipeCategory<BasinRecipe> {
AllGuiTextures heatBar = noHeat ? AllGuiTextures.JEI_NO_HEAT_BAR : AllGuiTextures.JEI_HEAT_BAR;
heatBar.render(matrixStack, 4, 80);
Minecraft.getInstance().font.draw(matrixStack, Lang.translateDirect(requiredHeat.getTranslationKey()), 9,
Minecraft.getInstance().font.draw(matrixStack, CreateLang.translateDirect(requiredHeat.getTranslationKey()), 9,
86, requiredHeat.getColor());
}

View file

@ -15,8 +15,7 @@ import com.simibubi.create.AllFluids;
import com.simibubi.create.content.contraptions.fluids.potion.PotionFluidHandler;
import com.simibubi.create.content.contraptions.processing.ProcessingOutput;
import com.simibubi.create.foundation.gui.AllGuiTextures;
import com.simibubi.create.foundation.utility.Components;
import com.simibubi.create.foundation.utility.Lang;
import com.simibubi.create.foundation.utility.CreateLang;
import mezz.jei.api.forge.ForgeTypes;
import mezz.jei.api.gui.drawable.IDrawable;
@ -25,6 +24,7 @@ import mezz.jei.api.recipe.RecipeType;
import mezz.jei.api.recipe.category.IRecipeCategory;
import mezz.jei.api.registration.IRecipeCatalystRegistration;
import mezz.jei.api.registration.IRecipeRegistration;
import net.createmod.catnip.utility.lang.Components;
import net.minecraft.ChatFormatting;
import net.minecraft.MethodsReturnNonnullByDefault;
import net.minecraft.network.chat.Component;
@ -116,7 +116,7 @@ public abstract class CreateRecipeCategory<T extends Recipe<?>> implements IReci
return (view, tooltip) -> {
float chance = output.getChance();
if (chance != 1)
tooltip.add(1, Lang.translateDirect("recipe.processing.chance", chance < 0.01 ? "<1" : (int) (chance * 100))
tooltip.add(1, CreateLang.translateDirect("recipe.processing.chance", chance < 0.01 ? "<1" : (int) (chance * 100))
.withStyle(ChatFormatting.GOLD));
};
}
@ -159,7 +159,7 @@ public abstract class CreateRecipeCategory<T extends Recipe<?>> implements IReci
}
int amount = mbAmount == -1 ? fluidStack.getAmount() : mbAmount;
Component text = Components.literal(String.valueOf(amount)).append(Lang.translateDirect("generic.unit.millibuckets")).withStyle(ChatFormatting.GOLD);
Component text = Components.literal(String.valueOf(amount)).append(CreateLang.translateDirect("generic.unit.millibuckets")).withStyle(ChatFormatting.GOLD);
if (tooltip.isEmpty())
tooltip.add(0, text);
else {
@ -174,12 +174,12 @@ public abstract class CreateRecipeCategory<T extends Recipe<?>> implements IReci
return new IDrawable() {
@Override
public int getWidth() {
return texture.width;
return texture.getWidth();
}
@Override
public int getHeight() {
return texture.height;
return texture.getHeight();
}
@Override

View file

@ -11,12 +11,12 @@ import com.simibubi.create.content.contraptions.components.crusher.AbstractCrush
import com.simibubi.create.content.contraptions.processing.ProcessingOutput;
import com.simibubi.create.content.contraptions.processing.ProcessingRecipe;
import com.simibubi.create.foundation.gui.AllGuiTextures;
import com.simibubi.create.foundation.ponder.ui.LayoutHelper;
import mezz.jei.api.gui.builder.IRecipeLayoutBuilder;
import mezz.jei.api.gui.ingredient.IRecipeSlotsView;
import mezz.jei.api.recipe.IFocusGroup;
import mezz.jei.api.recipe.RecipeIngredientRole;
import net.createmod.catnip.utility.layout.LayoutHelper;
@ParametersAreNonnullByDefault
public class CrushingCategory extends CreateRecipeCategory<AbstractCrushingRecipe> {

View file

@ -6,7 +6,7 @@ import com.mojang.blaze3d.vertex.PoseStack;
import com.simibubi.create.compat.jei.category.animations.AnimatedDeployer;
import com.simibubi.create.content.contraptions.components.deployer.DeployerApplicationRecipe;
import com.simibubi.create.foundation.gui.AllGuiTextures;
import com.simibubi.create.foundation.utility.Lang;
import com.simibubi.create.foundation.utility.CreateLang;
import mezz.jei.api.gui.builder.IRecipeLayoutBuilder;
import mezz.jei.api.gui.builder.IRecipeSlotBuilder;
@ -41,7 +41,7 @@ public class DeployingCategory extends CreateRecipeCategory<DeployerApplicationR
.addTooltipCallback(addStochasticTooltip(recipe.getRollableResults().get(0)));
if (recipe.shouldKeepHeldItem()) {
handItemSlot.addTooltipCallback((recipeSlotView, tooltip) -> tooltip.add(1, Lang.translateDirect("recipe.deploying.not_consumed").withStyle(ChatFormatting.GOLD)));
handItemSlot.addTooltipCallback((recipeSlotView, tooltip) -> tooltip.add(1, CreateLang.translateDirect("recipe.deploying.not_consumed").withStyle(ChatFormatting.GOLD)));
}
}

View file

@ -5,8 +5,8 @@ import org.jetbrains.annotations.NotNull;
import com.mojang.blaze3d.vertex.PoseStack;
import com.simibubi.create.compat.jei.category.animations.AnimatedKinetics;
import com.simibubi.create.foundation.gui.AllGuiTextures;
import com.simibubi.create.foundation.gui.element.GuiGameElement;
import net.createmod.catnip.gui.element.GuiGameElement;
import net.minecraft.world.item.crafting.AbstractCookingRecipe;
import net.minecraft.world.level.material.Fluids;

View file

@ -6,8 +6,8 @@ import com.mojang.blaze3d.vertex.PoseStack;
import com.simibubi.create.compat.jei.category.animations.AnimatedKinetics;
import com.simibubi.create.content.contraptions.components.fan.HauntingRecipe;
import com.simibubi.create.foundation.gui.AllGuiTextures;
import com.simibubi.create.foundation.gui.element.GuiGameElement;
import net.createmod.catnip.gui.element.GuiGameElement;
import net.minecraft.world.level.block.Blocks;
public class FanHauntingCategory extends ProcessingViaFanCategory.MultiOutput<HauntingRecipe> {

View file

@ -5,8 +5,8 @@ import org.jetbrains.annotations.NotNull;
import com.mojang.blaze3d.vertex.PoseStack;
import com.simibubi.create.compat.jei.category.animations.AnimatedKinetics;
import com.simibubi.create.foundation.gui.AllGuiTextures;
import com.simibubi.create.foundation.gui.element.GuiGameElement;
import net.createmod.catnip.gui.element.GuiGameElement;
import net.minecraft.world.item.crafting.SmokingRecipe;
import net.minecraft.world.level.block.Blocks;

View file

@ -5,8 +5,8 @@ import org.jetbrains.annotations.NotNull;
import com.mojang.blaze3d.vertex.PoseStack;
import com.simibubi.create.compat.jei.category.animations.AnimatedKinetics;
import com.simibubi.create.content.contraptions.components.fan.SplashingRecipe;
import com.simibubi.create.foundation.gui.element.GuiGameElement;
import net.createmod.catnip.gui.element.GuiGameElement;
import net.minecraft.world.level.material.Fluids;
public class FanWashingCategory extends ProcessingViaFanCategory.MultiOutput<SplashingRecipe> {

View file

@ -9,14 +9,14 @@ import com.mojang.math.Vector3f;
import com.simibubi.create.compat.jei.category.animations.AnimatedKinetics;
import com.simibubi.create.content.contraptions.processing.ItemApplicationRecipe;
import com.simibubi.create.foundation.gui.AllGuiTextures;
import com.simibubi.create.foundation.gui.element.GuiGameElement;
import com.simibubi.create.foundation.utility.Lang;
import com.simibubi.create.foundation.utility.CreateLang;
import mezz.jei.api.constants.VanillaTypes;
import mezz.jei.api.gui.builder.IRecipeLayoutBuilder;
import mezz.jei.api.gui.ingredient.IRecipeSlotsView;
import mezz.jei.api.recipe.IFocusGroup;
import mezz.jei.api.recipe.RecipeIngredientRole;
import net.createmod.catnip.gui.element.GuiGameElement;
import net.minecraft.ChatFormatting;
import net.minecraft.world.item.BlockItem;
import net.minecraft.world.item.Item;
@ -41,7 +41,7 @@ public class ItemApplicationCategory extends CreateRecipeCategory<ItemApplicatio
.addIngredients(recipe.getRequiredHeldItem())
.addTooltipCallback(
recipe.shouldKeepHeldItem()
? (view, tooltip) -> tooltip.add(1, Lang.translateDirect("recipe.deploying.not_consumed")
? (view, tooltip) -> tooltip.add(1, CreateLang.translateDirect("recipe.deploying.not_consumed")
.withStyle(ChatFormatting.GOLD))
: (view, tooltip) -> {}
);

View file

@ -11,7 +11,6 @@ import com.simibubi.create.content.contraptions.fluids.potion.PotionFluidHandler
import com.simibubi.create.content.contraptions.processing.EmptyingRecipe;
import com.simibubi.create.content.contraptions.processing.ProcessingRecipeBuilder;
import com.simibubi.create.foundation.gui.AllGuiTextures;
import com.simibubi.create.foundation.utility.RegisteredObjects;
import mezz.jei.api.constants.VanillaTypes;
import mezz.jei.api.forge.ForgeTypes;
@ -20,6 +19,7 @@ import mezz.jei.api.gui.ingredient.IRecipeSlotsView;
import mezz.jei.api.recipe.IFocusGroup;
import mezz.jei.api.recipe.RecipeIngredientRole;
import mezz.jei.api.runtime.IIngredientManager;
import net.createmod.catnip.platform.CatnipServices;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Items;
@ -69,8 +69,8 @@ public class ItemDrainCategory extends CreateRecipeCategory<EmptyingRecipe> {
continue;
Ingredient ingredient = Ingredient.of(stack);
ResourceLocation itemName = RegisteredObjects.getKeyOrThrow(stack.getItem());
ResourceLocation fluidName = RegisteredObjects.getKeyOrThrow(extracted.getFluid());
ResourceLocation itemName = CatnipServices.REGISTRIES.getKeyOrThrow(stack.getItem());
ResourceLocation fluidName = CatnipServices.REGISTRIES.getKeyOrThrow(extracted.getFluid());
consumer.accept(new ProcessingRecipeBuilder<>(EmptyingRecipe::new,
Create.asResource("empty_" + itemName.getNamespace() + "_" + itemName.getPath() + "_of_"

View file

@ -11,7 +11,6 @@ import com.mojang.blaze3d.systems.RenderSystem;
import com.mojang.blaze3d.vertex.PoseStack;
import com.simibubi.create.compat.jei.category.animations.AnimatedCrafter;
import com.simibubi.create.foundation.gui.AllGuiTextures;
import com.simibubi.create.foundation.utility.Components;
import mezz.jei.api.constants.VanillaTypes;
import mezz.jei.api.gui.builder.IRecipeLayoutBuilder;
@ -19,6 +18,7 @@ import mezz.jei.api.gui.ingredient.IRecipeSlotsView;
import mezz.jei.api.ingredients.IIngredientRenderer;
import mezz.jei.api.recipe.IFocusGroup;
import mezz.jei.api.recipe.RecipeIngredientRole;
import net.createmod.catnip.utility.lang.Components;
import net.minecraft.ChatFormatting;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.Font;

View file

@ -7,12 +7,12 @@ import com.simibubi.create.AllItems;
import com.simibubi.create.content.contraptions.processing.ProcessingOutput;
import com.simibubi.create.content.curiosities.tools.SandPaperPolishingRecipe;
import com.simibubi.create.foundation.gui.AllGuiTextures;
import com.simibubi.create.foundation.gui.element.GuiGameElement;
import mezz.jei.api.gui.builder.IRecipeLayoutBuilder;
import mezz.jei.api.gui.ingredient.IRecipeSlotsView;
import mezz.jei.api.recipe.IFocusGroup;
import mezz.jei.api.recipe.RecipeIngredientRole;
import net.createmod.catnip.gui.element.GuiGameElement;
import net.minecraft.core.NonNullList;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.world.item.ItemStack;

View file

@ -13,7 +13,7 @@ import com.simibubi.create.compat.jei.category.animations.AnimatedKinetics;
import com.simibubi.create.content.contraptions.processing.ProcessingOutput;
import com.simibubi.create.content.contraptions.processing.ProcessingRecipe;
import com.simibubi.create.foundation.gui.AllGuiTextures;
import com.simibubi.create.foundation.utility.Lang;
import com.simibubi.create.foundation.utility.CreateLang;
import mezz.jei.api.gui.builder.IRecipeLayoutBuilder;
import mezz.jei.api.gui.ingredient.IRecipeSlotsView;
@ -33,7 +33,7 @@ public abstract class ProcessingViaFanCategory<T extends Recipe<?>> extends Crea
public static Supplier<ItemStack> getFan(String name) {
return () -> AllBlocks.ENCASED_FAN.asStack()
.setHoverName(Lang.translateDirect("recipe." + name + ".fan").withStyle(style -> style.withItalic(false)));
.setHoverName(CreateLang.translateDirect("recipe." + name + ".fan").withStyle(style -> style.withItalic(false)));
}
@Override

View file

@ -15,14 +15,14 @@ import com.simibubi.create.content.contraptions.itemAssembly.SequencedAssemblyRe
import com.simibubi.create.content.contraptions.itemAssembly.SequencedRecipe;
import com.simibubi.create.foundation.gui.AllGuiTextures;
import com.simibubi.create.foundation.gui.AllIcons;
import com.simibubi.create.foundation.utility.Components;
import com.simibubi.create.foundation.utility.Lang;
import com.simibubi.create.foundation.utility.RegisteredObjects;
import com.simibubi.create.foundation.utility.CreateLang;
import mezz.jei.api.gui.builder.IRecipeLayoutBuilder;
import mezz.jei.api.gui.ingredient.IRecipeSlotsView;
import mezz.jei.api.recipe.IFocusGroup;
import mezz.jei.api.recipe.RecipeIngredientRole;
import net.createmod.catnip.platform.CatnipServices;
import net.createmod.catnip.utility.lang.Components;
import net.minecraft.ChatFormatting;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.Font;
@ -75,8 +75,8 @@ public class SequencedAssemblyCategory extends CreateRecipeCategory<SequencedAss
}
private SequencedAssemblySubCategory getSubCategory(SequencedRecipe<?> sequencedRecipe) {
return subCategories.computeIfAbsent(RegisteredObjects.getKeyOrThrow(sequencedRecipe.getRecipe()
.getSerializer()),
return subCategories.computeIfAbsent(CatnipServices.REGISTRIES.getKeyOrThrow(sequencedRecipe.getRecipe()
.getSerializer()),
rl -> sequencedRecipe.getAsAssemblyRecipe()
.getJEISubCategory()
.get()
@ -143,7 +143,7 @@ public class SequencedAssemblyCategory extends CreateRecipeCategory<SequencedAss
public List<Component> getTooltipStrings(SequencedAssemblyRecipe recipe, IRecipeSlotsView iRecipeSlotsView, double mouseX, double mouseY) {
List<Component> tooltip = new ArrayList<>();
MutableComponent junk = Lang.translateDirect("recipe.assembly.junk");
MutableComponent junk = CreateLang.translateDirect("recipe.assembly.junk");
boolean singleOutput = recipe.getOutputChance() == 1;
boolean willRepeat = recipe.getLoops() > 1;
@ -165,7 +165,7 @@ public class SequencedAssemblyCategory extends CreateRecipeCategory<SequencedAss
minY = 92;
maxY = minY + 24;
if (willRepeat && mouseX >= minX && mouseX < maxX && mouseY >= minY && mouseY < maxY) {
tooltip.add(Lang.translateDirect("recipe.assembly.repeat", recipe.getLoops()));
tooltip.add(CreateLang.translateDirect("recipe.assembly.repeat", recipe.getLoops()));
return tooltip;
}
@ -183,7 +183,7 @@ public class SequencedAssemblyCategory extends CreateRecipeCategory<SequencedAss
SequencedRecipe<?> sequencedRecipe = sequence.get(i);
SequencedAssemblySubCategory subCategory = getSubCategory(sequencedRecipe);
if (relativeX >= 0 && relativeX < subCategory.getWidth()) {
tooltip.add(Lang.translateDirect("recipe.assembly.step", i + 1));
tooltip.add(CreateLang.translateDirect("recipe.assembly.step", i + 1));
tooltip.add(sequencedRecipe.getAsAssemblyRecipe()
.getDescriptionForAssembly()
.plainCopy()
@ -199,7 +199,7 @@ public class SequencedAssemblyCategory extends CreateRecipeCategory<SequencedAss
protected MutableComponent chanceComponent(float chance) {
String number = chance < 0.01 ? "<1" : chance > 0.99 ? ">99" : String.valueOf(Math.round(chance * 100));
return Lang.translateDirect("recipe.processing.chance", number)
return CreateLang.translateDirect("recipe.processing.chance", number)
.withStyle(ChatFormatting.GOLD);
}
}

View file

@ -14,7 +14,6 @@ import com.simibubi.create.content.contraptions.fluids.potion.PotionFluidHandler
import com.simibubi.create.content.contraptions.processing.ProcessingRecipeBuilder;
import com.simibubi.create.foundation.fluid.FluidIngredient;
import com.simibubi.create.foundation.gui.AllGuiTextures;
import com.simibubi.create.foundation.utility.RegisteredObjects;
import mezz.jei.api.constants.VanillaTypes;
import mezz.jei.api.forge.ForgeTypes;
@ -23,6 +22,7 @@ import mezz.jei.api.gui.ingredient.IRecipeSlotsView;
import mezz.jei.api.recipe.IFocusGroup;
import mezz.jei.api.recipe.RecipeIngredientRole;
import mezz.jei.api.runtime.IIngredientManager;
import net.createmod.catnip.platform.CatnipServices;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Items;
@ -78,8 +78,8 @@ public class SpoutCategory extends CreateRecipeCategory<FillingRecipe> {
return;
Ingredient bucket = Ingredient.of(stack);
ResourceLocation itemName = RegisteredObjects.getKeyOrThrow(stack.getItem());
ResourceLocation fluidName = RegisteredObjects.getKeyOrThrow(fluidCopy.getFluid());
ResourceLocation itemName = CatnipServices.REGISTRIES.getKeyOrThrow(stack.getItem());
ResourceLocation fluidName = CatnipServices.REGISTRIES.getKeyOrThrow(fluidCopy.getFluid());
consumer.accept(new ProcessingRecipeBuilder<>(FillingRecipe::new,
Create.asResource("fill_" + itemName.getNamespace() + "_" + itemName.getPath()
+ "_with_" + fluidName.getNamespace() + "_" + fluidName.getPath()))

View file

@ -8,10 +8,11 @@ import com.simibubi.create.AllBlockPartials;
import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllSpriteShifts;
import com.simibubi.create.content.contraptions.processing.burner.BlazeBurnerBlock.HeatLevel;
import com.simibubi.create.foundation.block.render.SpriteShiftEntry;
import com.simibubi.create.foundation.render.CachedBufferer;
import com.simibubi.create.foundation.utility.AnimationTickHolder;
import com.simibubi.create.foundation.render.CachedPartialBuffers;
import net.createmod.catnip.render.SpriteShiftEntry;
import net.createmod.catnip.utility.AnimationTickHolder;
import net.createmod.ponder.utility.WorldTickHolder;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.LightTexture;
import net.minecraft.client.renderer.MultiBufferSource;
@ -71,7 +72,7 @@ public class AnimatedBlazeBurner extends AnimatedKinetics {
- spriteShift.getTarget()
.getV0();
float time = AnimationTickHolder.getRenderTime(Minecraft.getInstance().level);
float time = WorldTickHolder.getRenderTime(Minecraft.getInstance().level);
float speed = 1 / 32f + 1 / 64f * heatLevel.ordinal();
double vScroll = speed * time;
@ -86,7 +87,7 @@ public class AnimatedBlazeBurner extends AnimatedKinetics {
MultiBufferSource.BufferSource buffer = mc.renderBuffers()
.bufferSource();
VertexConsumer vb = buffer.getBuffer(RenderType.cutoutMipped());
CachedBufferer.partial(AllBlockPartials.BLAZE_BURNER_FLAME, Blocks.AIR.defaultBlockState())
CachedPartialBuffers.partial(AllBlockPartials.BLAZE_BURNER_FLAME, Blocks.AIR.defaultBlockState())
.shiftUVScrolling(spriteShift, (float) uScroll, (float) vScroll)
.light(LightTexture.FULL_BRIGHT)
.renderInto(matrixStack, vb);

View file

@ -5,8 +5,8 @@ import com.mojang.math.Vector3f;
import com.simibubi.create.AllBlockPartials;
import com.simibubi.create.AllBlocks;
import com.simibubi.create.content.contraptions.components.deployer.DeployerBlock;
import com.simibubi.create.foundation.utility.AnimationTickHolder;
import net.createmod.catnip.utility.AnimationTickHolder;
import net.minecraft.core.Direction;
import net.minecraft.core.Direction.Axis;

View file

@ -5,8 +5,8 @@ import com.mojang.blaze3d.vertex.Tesselator;
import com.mojang.math.Vector3f;
import com.simibubi.create.AllBlocks;
import com.simibubi.create.foundation.fluid.FluidRenderer;
import com.simibubi.create.foundation.gui.UIRenderHelper;
import net.createmod.catnip.gui.UIRenderHelper;
import net.minecraft.client.renderer.LightTexture;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.MultiBufferSource.BufferSource;

View file

@ -4,17 +4,18 @@ import com.jozufozu.flywheel.core.PartialModel;
import com.simibubi.create.AllBlockPartials;
import com.simibubi.create.AllBlocks;
import com.simibubi.create.foundation.gui.CustomLightingSettings;
import com.simibubi.create.foundation.gui.ILightingSettings;
import com.simibubi.create.foundation.gui.element.GuiGameElement;
import com.simibubi.create.foundation.utility.AnimationTickHolder;
import com.simibubi.create.foundation.gui.element.PartialModelGuiElement;
import mezz.jei.api.gui.drawable.IDrawable;
import net.createmod.catnip.gui.ILightingSettings;
import net.createmod.catnip.gui.element.GuiGameElement;
import net.createmod.catnip.utility.AnimationTickHolder;
import net.minecraft.core.Direction.Axis;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
public abstract class AnimatedKinetics implements IDrawable {
public int offset = 0;
public static final ILightingSettings DEFAULT_LIGHTING = CustomLightingSettings.builder()
@ -36,7 +37,7 @@ public abstract class AnimatedKinetics implements IDrawable {
* Use {@link #blockElement(PartialModel)} if calling from inside a subclass.
*/
public static GuiGameElement.GuiRenderBuilder defaultBlockElement(PartialModel partial) {
return GuiGameElement.of(partial)
return PartialModelGuiElement.of(partial)
.lighting(DEFAULT_LIGHTING);
}

View file

@ -4,8 +4,8 @@ import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.math.Vector3f;
import com.simibubi.create.AllBlockPartials;
import com.simibubi.create.AllBlocks;
import com.simibubi.create.foundation.utility.AnimationTickHolder;
import net.createmod.catnip.utility.AnimationTickHolder;
import net.minecraft.util.Mth;
public class AnimatedMixer extends AnimatedKinetics {

View file

@ -4,8 +4,8 @@ import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.math.Vector3f;
import com.simibubi.create.AllBlockPartials;
import com.simibubi.create.AllBlocks;
import com.simibubi.create.foundation.utility.AnimationTickHolder;
import net.createmod.catnip.utility.AnimationTickHolder;
import net.minecraft.core.Direction.Axis;
public class AnimatedPress extends AnimatedKinetics {

View file

@ -9,9 +9,9 @@ import com.mojang.math.Vector3f;
import com.simibubi.create.AllBlockPartials;
import com.simibubi.create.AllBlocks;
import com.simibubi.create.foundation.fluid.FluidRenderer;
import com.simibubi.create.foundation.gui.UIRenderHelper;
import com.simibubi.create.foundation.utility.AnimationTickHolder;
import net.createmod.catnip.gui.UIRenderHelper;
import net.createmod.catnip.utility.AnimationTickHolder;
import net.minecraft.client.renderer.LightTexture;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.MultiBufferSource.BufferSource;

View file

@ -9,7 +9,7 @@ import com.simibubi.create.compat.jei.category.animations.AnimatedSpout;
import com.simibubi.create.content.contraptions.components.deployer.DeployerApplicationRecipe;
import com.simibubi.create.content.contraptions.itemAssembly.SequencedRecipe;
import com.simibubi.create.foundation.fluid.FluidIngredient;
import com.simibubi.create.foundation.utility.Lang;
import com.simibubi.create.foundation.utility.CreateLang;
import mezz.jei.api.forge.ForgeTypes;
import mezz.jei.api.gui.builder.IRecipeLayoutBuilder;
@ -111,7 +111,7 @@ public abstract class SequencedAssemblySubCategory {
if (recipe.getAsAssemblyRecipe() instanceof DeployerApplicationRecipe deployerRecipe && deployerRecipe.shouldKeepHeldItem()) {
slot.addTooltipCallback(
(recipeSlotView, tooltip) -> tooltip.add(1, Lang.translateDirect("recipe.deploying.not_consumed").withStyle(ChatFormatting.GOLD))
(recipeSlotView, tooltip) -> tooltip.add(1, CreateLang.translateDirect("recipe.deploying.not_consumed").withStyle(ChatFormatting.GOLD))
);
}
}

View file

@ -5,8 +5,8 @@ import com.simibubi.create.compat.Mods;
import com.simibubi.create.content.contraptions.fluids.actors.SpoutTileEntity;
import com.simibubi.create.foundation.config.AllConfigs;
import com.simibubi.create.foundation.fluid.FluidHelper;
import com.simibubi.create.foundation.utility.RegisteredObjects;
import net.createmod.catnip.platform.CatnipServices;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.resources.ResourceLocation;
@ -41,7 +41,7 @@ public class SpoutCasting extends BlockSpoutingBehaviour {
if (handler.getTanks() != 1)
return 0;
ResourceLocation registryName = RegisteredObjects.getKeyOrThrow(te.getType());
ResourceLocation registryName = CatnipServices.REGISTRIES.getKeyOrThrow(te.getType());
if (!registryName.equals(TABLE) && !registryName.equals(BASIN))
return 0;
if (!handler.isFluidValid(0, availableFluid))

View file

@ -1,13 +1,14 @@
package com.simibubi.create.content.contraptions;
import com.simibubi.create.CreateClient;
import com.simibubi.create.content.contraptions.base.IRotate;
import com.simibubi.create.content.contraptions.base.KineticTileEntity;
import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer;
import com.simibubi.create.foundation.config.AllConfigs;
import com.simibubi.create.foundation.utility.Color;
import com.simibubi.create.foundation.utility.VecHelper;
import net.createmod.catnip.CatnipClient;
import net.createmod.catnip.render.SuperByteBufferCache;
import net.createmod.catnip.utility.VecHelper;
import net.createmod.catnip.utility.theme.Color;
import net.minecraft.client.Minecraft;
import net.minecraft.client.multiplayer.ClientLevel;
import net.minecraft.core.BlockPos;
@ -28,7 +29,7 @@ public class KineticDebugger {
if (!isActive()) {
if (KineticTileEntityRenderer.rainbowMode) {
KineticTileEntityRenderer.rainbowMode = false;
CreateClient.BUFFER_CACHE.invalidate();
SuperByteBufferCache.getInstance().invalidate();
}
return;
}
@ -44,7 +45,7 @@ public class KineticDebugger {
.getBlockSupportShape(world, toOutline);
if (te.getTheoreticalSpeed() != 0 && !shape.isEmpty())
CreateClient.OUTLINER.chaseAABB("kineticSource", shape.bounds()
CatnipClient.OUTLINER.chaseAABB("kineticSource", shape.bounds()
.move(toOutline))
.lineWidth(1 / 16f)
.colored(te.hasSource() ? Color.generateFromLong(te.network).getRGB() : 0xffcc00);
@ -54,7 +55,7 @@ public class KineticDebugger {
Vec3 vec = Vec3.atLowerCornerOf(Direction.get(AxisDirection.POSITIVE, axis)
.getNormal());
Vec3 center = VecHelper.getCenterOf(te.getBlockPos());
CreateClient.OUTLINER.showLine("rotationAxis", center.add(vec), center.subtract(vec))
CatnipClient.OUTLINER.showLine("rotationAxis", center.add(vec), center.subtract(vec))
.lineWidth(1 / 16f);
}

View file

@ -17,8 +17,8 @@ import com.simibubi.create.content.contraptions.relays.encased.EncasedBeltBlock;
import com.simibubi.create.content.contraptions.relays.encased.SplitShaftTileEntity;
import com.simibubi.create.content.contraptions.relays.gearbox.GearboxTileEntity;
import com.simibubi.create.foundation.config.AllConfigs;
import com.simibubi.create.foundation.utility.Iterate;
import net.createmod.catnip.utility.Iterate;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.core.Direction.Axis;

View file

@ -5,8 +5,8 @@ import java.util.Map;
import com.simibubi.create.Create;
import com.simibubi.create.content.contraptions.base.KineticTileEntity;
import com.simibubi.create.foundation.utility.WorldHelper;
import net.createmod.catnip.utility.WorldHelper;
import net.minecraft.world.level.LevelAccessor;
public class TorquePropagator {

View file

@ -2,8 +2,8 @@ package com.simibubi.create.content.contraptions.base;
import com.simibubi.create.content.contraptions.components.structureMovement.ITransformableBlock;
import com.simibubi.create.content.contraptions.components.structureMovement.StructureTransform;
import com.simibubi.create.foundation.utility.Iterate;
import net.createmod.catnip.utility.Iterate;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.core.Direction.Axis;

View file

@ -1,7 +1,6 @@
package com.simibubi.create.content.contraptions.base;
import com.simibubi.create.foundation.utility.Iterate;
import net.createmod.catnip.utility.Iterate;
import net.minecraft.core.Direction;
import net.minecraft.world.item.context.BlockPlaceContext;
import net.minecraft.world.level.block.Block;

View file

@ -5,7 +5,7 @@ import java.util.List;
import com.simibubi.create.content.contraptions.KineticNetwork;
import com.simibubi.create.content.contraptions.base.IRotate.SpeedLevel;
import com.simibubi.create.content.contraptions.base.IRotate.StressImpact;
import com.simibubi.create.foundation.utility.Lang;
import com.simibubi.create.foundation.utility.CreateLang;
import net.minecraft.ChatFormatting;
import net.minecraft.core.BlockPos;
@ -64,9 +64,9 @@ public abstract class GeneratingKineticTileEntity extends KineticTileEntity {
if (Mth.equal(stressBase, 0))
return added;
Lang.translate("gui.goggles.generator_stats")
CreateLang.translate("gui.goggles.generator_stats")
.forGoggles(tooltip);
Lang.translate("tooltip.capacityProvided")
CreateLang.translate("tooltip.capacityProvided")
.style(ChatFormatting.GRAY)
.forGoggles(tooltip);
@ -77,11 +77,11 @@ public abstract class GeneratingKineticTileEntity extends KineticTileEntity {
float stressTotal = stressBase * speed;
Lang.number(stressTotal)
CreateLang.number(stressTotal)
.translate("generic.unit.stress")
.style(ChatFormatting.AQUA)
.space()
.add(Lang.translate("gui.goggles.at_current_speed")
.add(CreateLang.translate("gui.goggles.at_current_speed")
.style(ChatFormatting.DARK_GRAY))
.forGoggles(tooltip, 1);

View file

@ -1,7 +1,6 @@
package com.simibubi.create.content.contraptions.base;
import com.simibubi.create.foundation.utility.Iterate;
import net.createmod.catnip.utility.Iterate;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.core.Direction.Axis;

View file

@ -1,7 +1,6 @@
package com.simibubi.create.content.contraptions.base;
import com.simibubi.create.foundation.utility.Iterate;
import net.createmod.catnip.utility.Iterate;
import net.minecraft.core.Direction;
import net.minecraft.world.item.context.BlockPlaceContext;
import net.minecraft.world.level.block.Block;

View file

@ -3,9 +3,10 @@ package com.simibubi.create.content.contraptions.base;
import com.simibubi.create.content.contraptions.wrench.IWrenchable;
import com.simibubi.create.foundation.config.AllConfigs;
import com.simibubi.create.foundation.item.ItemDescription;
import com.simibubi.create.foundation.utility.Lang;
import com.simibubi.create.foundation.utility.LangBuilder;
import com.simibubi.create.foundation.utility.CreateLang;
import net.createmod.catnip.utility.lang.Lang;
import net.createmod.catnip.utility.lang.LangBuilder;
import net.minecraft.ChatFormatting;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
@ -73,12 +74,12 @@ public interface IRotate extends IWrenchable {
public static LangBuilder getFormattedSpeedText(float speed, boolean overstressed) {
SpeedLevel speedLevel = of(speed);
LangBuilder builder = Lang.text(ItemDescription.makeProgressBar(3, speedLevel.ordinal()));
LangBuilder builder = CreateLang.text(ItemDescription.makeProgressBar(3, speedLevel.ordinal()));
builder.translate("tooltip.speedRequirement." + Lang.asId(speedLevel.name()))
.space()
.text("(")
.add(Lang.number(Math.abs(speed)))
.add(CreateLang.number(Math.abs(speed)))
.space()
.translate("generic.unit.rpm")
.text(")")
@ -133,7 +134,7 @@ public interface IRotate extends IWrenchable {
public static LangBuilder getFormattedStressText(double stressPercent) {
StressImpact stressLevel = of(stressPercent);
return Lang.text(ItemDescription.makeProgressBar(3, Math.min(stressLevel.ordinal() + 1, 3)))
return CreateLang.text(ItemDescription.makeProgressBar(3, Math.min(stressLevel.ordinal() + 1, 3)))
.translate("tooltip.stressImpact." + Lang.asId(stressLevel.name()))
.text(String.format(" (%s%%) ", (int) (stressPercent * 100)))
.style(stressLevel.getRelativeColor());

View file

@ -4,8 +4,8 @@ import java.util.Random;
import com.simibubi.create.content.contraptions.base.IRotate.SpeedLevel;
import com.simibubi.create.content.contraptions.particle.RotationIndicatorParticleData;
import com.simibubi.create.foundation.utility.VecHelper;
import net.createmod.catnip.utility.VecHelper;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction.Axis;
import net.minecraft.core.particles.ParticleOptions;

View file

@ -24,8 +24,9 @@ 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;
import com.simibubi.create.foundation.utility.CreateLang;
import net.createmod.catnip.utility.FontHelper;
import net.minecraft.ChatFormatting;
import net.minecraft.client.resources.language.I18n;
import net.minecraft.core.BlockPos;
@ -397,13 +398,13 @@ public class KineticTileEntity extends SmartTileEntity implements IHaveGoggleInf
boolean notFastEnough = !isSpeedRequirementFulfilled() && getSpeed() != 0;
if (overStressed && AllConfigs.CLIENT.enableOverstressedTooltip.get()) {
Lang.translate("gui.stressometer.overstressed")
CreateLang.translate("gui.stressometer.overstressed")
.style(GOLD)
.forGoggles(tooltip);
Component hint = Lang.translateDirect("gui.contraptions.network_overstressed");
Component hint = CreateLang.translateDirect("gui.contraptions.network_overstressed");
List<Component> cutString = TooltipHelper.cutTextComponent(hint, GRAY, ChatFormatting.WHITE);
for (int i = 0; i < cutString.size(); i++)
Lang.builder()
Create.lang()
.add(cutString.get(i)
.copy())
.forGoggles(tooltip);
@ -411,15 +412,15 @@ public class KineticTileEntity extends SmartTileEntity implements IHaveGoggleInf
}
if (notFastEnough) {
Lang.translate("tooltip.speedRequirement")
CreateLang.translate("tooltip.speedRequirement")
.style(GOLD)
.forGoggles(tooltip);
MutableComponent hint =
Lang.translateDirect("gui.contraptions.not_fast_enough", I18n.get(getBlockState().getBlock()
CreateLang.translateDirect("gui.contraptions.not_fast_enough", I18n.get(getBlockState().getBlock()
.getDescriptionId()));
List<Component> cutString = TooltipHelper.cutTextComponent(hint, GRAY, ChatFormatting.WHITE);
List<Component> cutString = FontHelper.cutTextComponent(hint, GRAY, ChatFormatting.WHITE);
for (int i = 0; i < cutString.size(); i++)
Lang.builder()
Create.lang()
.add(cutString.get(i)
.copy())
.forGoggles(tooltip);
@ -439,7 +440,7 @@ public class KineticTileEntity extends SmartTileEntity implements IHaveGoggleInf
if (Mth.equal(stressAtBase, 0))
return added;
Lang.translate("gui.goggles.kinetic_stats")
CreateLang.translate("gui.goggles.kinetic_stats")
.forGoggles(tooltip);
addStressImpactStats(tooltip, stressAtBase);
@ -449,17 +450,17 @@ public class KineticTileEntity extends SmartTileEntity implements IHaveGoggleInf
}
protected void addStressImpactStats(List<Component> tooltip, float stressAtBase) {
Lang.translate("tooltip.stressImpact")
CreateLang.translate("tooltip.stressImpact")
.style(GRAY)
.forGoggles(tooltip);
float stressTotal = stressAtBase * Math.abs(getTheoreticalSpeed());
Lang.number(stressTotal)
CreateLang.number(stressTotal)
.translate("generic.unit.stress")
.style(ChatFormatting.AQUA)
.space()
.add(Lang.translate("gui.goggles.at_current_speed")
.add(CreateLang.translate("gui.goggles.at_current_speed")
.style(ChatFormatting.DARK_GRAY))
.forGoggles(tooltip, 1);
}

View file

@ -8,13 +8,13 @@ import com.mojang.blaze3d.vertex.VertexConsumer;
import com.simibubi.create.AllBlocks;
import com.simibubi.create.content.contraptions.KineticDebugger;
import com.simibubi.create.content.contraptions.relays.elementary.ICogWheel;
import com.simibubi.create.foundation.render.CachedBufferer;
import com.simibubi.create.foundation.render.SuperByteBuffer;
import com.simibubi.create.foundation.render.SuperByteBufferCache;
import com.simibubi.create.foundation.tileEntity.renderer.SafeTileEntityRenderer;
import com.simibubi.create.foundation.utility.AnimationTickHolder;
import com.simibubi.create.foundation.utility.Color;
import net.createmod.catnip.render.CachedBlockBuffers;
import net.createmod.catnip.render.SuperByteBuffer;
import net.createmod.catnip.render.SuperByteBufferCache;
import net.createmod.catnip.utility.theme.Color;
import net.createmod.ponder.utility.WorldTickHolder;
import net.minecraft.client.renderer.ItemBlockRenderTypes;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
@ -62,12 +62,12 @@ public class KineticTileEntityRenderer extends SafeTileEntityRenderer<KineticTil
}
protected SuperByteBuffer getRotatedModel(KineticTileEntity te, BlockState state) {
return CachedBufferer.block(KINETIC_TILE, state);
return CachedBlockBuffers.block(KINETIC_TILE, state);
}
public static void renderRotatingKineticBlock(KineticTileEntity te, BlockState renderedState, PoseStack ms,
VertexConsumer buffer, int light) {
SuperByteBuffer superByteBuffer = CachedBufferer.block(KINETIC_TILE, renderedState);
SuperByteBuffer superByteBuffer = CachedBlockBuffers.block(KINETIC_TILE, renderedState);
renderRotatingBuffer(te, superByteBuffer, ms, buffer, light);
}
@ -77,7 +77,7 @@ public class KineticTileEntityRenderer extends SafeTileEntityRenderer<KineticTil
}
public static float getAngleForTe(KineticTileEntity te, final BlockPos pos, Axis axis) {
float time = AnimationTickHolder.getRenderTime(te.getLevel());
float time = WorldTickHolder.getRenderTime(te.getLevel());
float offset = getRotationOffsetForPosition(te, pos, axis);
float angle = ((time * te.getSpeed() * 3f / 10 + offset) % 360) / 180 * (float) Math.PI;
return angle;

View file

@ -1,7 +1,6 @@
package com.simibubi.create.content.contraptions.base;
import com.simibubi.create.foundation.utility.Iterate;
import net.createmod.catnip.utility.Iterate;
import net.minecraft.core.Direction;
import net.minecraft.core.Direction.Axis;
import net.minecraft.world.item.context.BlockPlaceContext;

View file

@ -1,8 +1,8 @@
package com.simibubi.create.content.contraptions.base.flwdata;
import com.mojang.math.Quaternion;
import com.simibubi.create.foundation.block.render.SpriteShiftEntry;
import net.createmod.catnip.render.SpriteShiftEntry;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
public class BeltData extends KineticData {

View file

@ -11,8 +11,8 @@ import com.mojang.math.Quaternion;
import com.simibubi.create.content.contraptions.KineticDebugger;
import com.simibubi.create.foundation.render.AllInstanceFormats;
import com.simibubi.create.foundation.render.AllProgramSpecs;
import com.simibubi.create.foundation.utility.AnimationTickHolder;
import net.createmod.catnip.utility.AnimationTickHolder;
import net.minecraft.resources.ResourceLocation;
public class BeltType implements Instanced<BeltData>, Batched<BeltData> {

View file

@ -3,8 +3,8 @@ package com.simibubi.create.content.contraptions.base.flwdata;
import com.jozufozu.flywheel.core.materials.BasicData;
import com.mojang.math.Vector3f;
import com.simibubi.create.content.contraptions.base.KineticTileEntity;
import com.simibubi.create.foundation.utility.Color;
import net.createmod.catnip.utility.theme.Color;
import net.minecraft.core.BlockPos;
public class KineticData extends BasicData {

View file

@ -11,8 +11,8 @@ import com.mojang.math.Vector3f;
import com.simibubi.create.content.contraptions.KineticDebugger;
import com.simibubi.create.foundation.render.AllInstanceFormats;
import com.simibubi.create.foundation.render.AllProgramSpecs;
import com.simibubi.create.foundation.utility.AnimationTickHolder;
import net.createmod.catnip.utility.AnimationTickHolder;
import net.minecraft.resources.ResourceLocation;
public class RotatingType implements Instanced<RotatingData>, Batched<RotatingData> {

View file

@ -4,8 +4,8 @@ import java.util.concurrent.atomic.AtomicInteger;
import com.simibubi.create.content.contraptions.base.KineticTileEntity;
import com.simibubi.create.foundation.utility.BlockHelper;
import com.simibubi.create.foundation.utility.VecHelper;
import net.createmod.catnip.utility.VecHelper;
import net.minecraft.core.BlockPos;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.nbt.NbtUtils;
@ -144,7 +144,7 @@ public abstract class BlockBreakingKineticTileEntity extends KineticTileEntity {
return;
if (level.restoringBlockSnapshots)
return;
ItemEntity itementity = new ItemEntity(level, vec.x, vec.y, vec.z, stack);
itementity.setDefaultPickUpDelay();
itementity.setDeltaMovement(Vec3.ZERO);

View file

@ -9,9 +9,9 @@ import com.simibubi.create.content.contraptions.components.actors.flwdata.ActorD
import com.simibubi.create.content.contraptions.components.structureMovement.MovementContext;
import com.simibubi.create.content.contraptions.components.structureMovement.render.ActorInstance;
import com.simibubi.create.foundation.render.AllMaterialSpecs;
import com.simibubi.create.foundation.utility.AngleHelper;
import com.simibubi.create.foundation.utility.VecHelper;
import net.createmod.catnip.utility.VecHelper;
import net.createmod.catnip.utility.math.AngleHelper;
import net.minecraft.core.Direction;
import net.minecraft.world.level.block.state.BlockState;

View file

@ -9,8 +9,8 @@ import com.simibubi.create.content.contraptions.components.structureMovement.Mov
import com.simibubi.create.content.contraptions.components.structureMovement.render.ActorInstance;
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.utility.VecHelper;
import net.createmod.catnip.utility.VecHelper;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.core.BlockPos;
import net.minecraft.world.damagesource.DamageSource;

View file

@ -7,12 +7,12 @@ 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.CachedBufferer;
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.VecHelper;
import com.simibubi.create.foundation.render.CachedPartialBuffers;
import net.createmod.catnip.render.SuperByteBuffer;
import net.createmod.catnip.utility.AnimationTickHolder;
import net.createmod.catnip.utility.VecHelper;
import net.createmod.catnip.utility.math.AngleHelper;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;
@ -27,13 +27,13 @@ public class DrillRenderer extends KineticTileEntityRenderer {
@Override
protected SuperByteBuffer getRotatedModel(KineticTileEntity te, BlockState state) {
return CachedBufferer.partialFacing(AllBlockPartials.DRILL_HEAD, state);
return CachedPartialBuffers.partialFacing(AllBlockPartials.DRILL_HEAD, state);
}
public static void renderInContraption(MovementContext context, VirtualRenderWorld renderWorld,
ContraptionMatrices matrices, MultiBufferSource buffer) {
BlockState state = context.state;
SuperByteBuffer superBuffer = CachedBufferer.partial(AllBlockPartials.DRILL_HEAD, state);
SuperByteBuffer superBuffer = CachedPartialBuffers.partial(AllBlockPartials.DRILL_HEAD, state);
Direction facing = state.getValue(DrillBlock.FACING);
float speed = (float) (context.contraption.stalled
@ -43,15 +43,17 @@ public class DrillRenderer extends KineticTileEntityRenderer {
float angle = (float) (((time * speed) % 360));
superBuffer
.transform(matrices.getModel())
.centre()
.rotateY(AngleHelper.horizontalAngle(facing))
.rotateX(AngleHelper.verticalAngle(facing))
.rotateZ(angle)
.unCentre()
.light(matrices.getWorld(),
ContraptionRenderDispatcher.getContraptionWorldLight(context, renderWorld))
.renderInto(matrices.getViewProjection(), buffer.getBuffer(RenderType.solid()));
.transform(matrices.getModel())
.centre()
.rotateY(AngleHelper.horizontalAngle(facing))
.rotateX(AngleHelper.verticalAngle(facing))
.rotateZ(angle)
.unCentre()
.light(matrices.getWorld(),
ContraptionRenderDispatcher.getContraptionWorldLight(context, renderWorld))
.renderInto(matrices.getViewProjection(), buffer.getBuffer(RenderType.solid()));
}
}

View file

@ -8,10 +8,10 @@ import com.jozufozu.flywheel.core.virtual.VirtualRenderWorld;
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.foundation.utility.AngleHelper;
import com.simibubi.create.foundation.utility.AnimationTickHolder;
import com.simibubi.create.foundation.utility.VecHelper;
import net.createmod.catnip.utility.AnimationTickHolder;
import net.createmod.catnip.utility.VecHelper;
import net.createmod.catnip.utility.math.AngleHelper;
import net.minecraft.core.Direction;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
@ -61,6 +61,8 @@ public class HarvesterActorInstance extends ActorInstance {
double radians = arcLength * oneOverRadius;
float deg = AngleHelper.deg(radians);
deg = (float) (((int) (deg * 3000)) / 3000);

View file

@ -13,8 +13,8 @@ import com.simibubi.create.content.contraptions.components.structureMovement.ren
import com.simibubi.create.content.contraptions.components.structureMovement.render.ContraptionRenderDispatcher;
import com.simibubi.create.foundation.config.AllConfigs;
import com.simibubi.create.foundation.utility.BlockHelper;
import com.simibubi.create.foundation.utility.VecHelper;
import net.createmod.catnip.utility.VecHelper;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.core.BlockPos;
import net.minecraft.tags.BlockTags;

View file

@ -8,13 +8,13 @@ import com.simibubi.create.AllBlockPartials;
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.CachedBufferer;
import com.simibubi.create.foundation.render.SuperByteBuffer;
import com.simibubi.create.foundation.render.CachedPartialBuffers;
import com.simibubi.create.foundation.tileEntity.renderer.SafeTileEntityRenderer;
import com.simibubi.create.foundation.utility.AngleHelper;
import com.simibubi.create.foundation.utility.AnimationTickHolder;
import com.simibubi.create.foundation.utility.VecHelper;
import net.createmod.catnip.render.SuperByteBuffer;
import net.createmod.catnip.utility.VecHelper;
import net.createmod.catnip.utility.math.AngleHelper;
import net.createmod.ponder.utility.WorldTickHolder;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;
@ -33,7 +33,7 @@ public class HarvesterRenderer extends SafeTileEntityRenderer<HarvesterTileEntit
protected void renderSafe(HarvesterTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer,
int light, int overlay) {
BlockState blockState = te.getBlockState();
SuperByteBuffer superBuffer = CachedBufferer.partial(AllBlockPartials.HARVESTER_BLADE, blockState);
SuperByteBuffer superBuffer = CachedPartialBuffers.partial(AllBlockPartials.HARVESTER_BLADE, blockState);
transform(te.getLevel(), blockState.getValue(HarvesterBlock.FACING), superBuffer,
te.getAnimatedSpeed());
superBuffer.light(light)
@ -44,7 +44,7 @@ public class HarvesterRenderer extends SafeTileEntityRenderer<HarvesterTileEntit
ContraptionMatrices matrices, MultiBufferSource buffers) {
BlockState blockState = context.state;
Direction facing = blockState.getValue(HORIZONTAL_FACING);
SuperByteBuffer superBuffer = CachedBufferer.partial(AllBlockPartials.HARVESTER_BLADE, blockState);
SuperByteBuffer superBuffer = CachedPartialBuffers.partial(AllBlockPartials.HARVESTER_BLADE, blockState);
float speed = (float) (!VecHelper.isVecPointingTowards(context.relativeMotion, facing.getOpposite())
? context.getAnimationSpeed()
: 0);
@ -63,7 +63,7 @@ public class HarvesterRenderer extends SafeTileEntityRenderer<HarvesterTileEntit
public static void transform(Level world, Direction facing, SuperByteBuffer superBuffer, float speed) {
float originOffset = 1 / 16f;
Vec3 rotOffset = new Vec3(0, -2 * originOffset, originOffset).add(VecHelper.getCenterOf(BlockPos.ZERO));
float time = AnimationTickHolder.getRenderTime(world) / 20;
float time = WorldTickHolder.getRenderTime(world) / 20;
float angle = (time * speed) % 360;
superBuffer.rotateCentered(Direction.UP, AngleHelper.rad(AngleHelper.horizontalAngle(facing)))

View file

@ -3,8 +3,8 @@ package com.simibubi.create.content.contraptions.components.actors;
import com.jozufozu.flywheel.api.MaterialManager;
import com.jozufozu.flywheel.core.Materials;
import com.jozufozu.flywheel.core.materials.model.ModelData;
import com.simibubi.create.foundation.utility.AngleHelper;
import net.createmod.catnip.utility.math.AngleHelper;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.world.level.block.state.BlockState;

View file

@ -4,8 +4,9 @@ import com.jozufozu.flywheel.api.MaterialManager;
import com.jozufozu.flywheel.core.virtual.VirtualRenderWorld;
import com.simibubi.create.content.contraptions.components.structureMovement.MovementContext;
import com.simibubi.create.content.contraptions.components.structureMovement.render.ActorInstance;
import com.simibubi.create.foundation.utility.AnimationTickHolder;
import com.simibubi.create.foundation.utility.animation.LerpedFloat;
import net.createmod.catnip.utility.AnimationTickHolder;
import net.createmod.catnip.utility.animation.LerpedFloat;
public class PSIActorInstance extends ActorInstance {

View file

@ -4,7 +4,8 @@ import com.jozufozu.flywheel.api.MaterialManager;
import com.jozufozu.flywheel.api.instance.DynamicInstance;
import com.jozufozu.flywheel.api.instance.TickableInstance;
import com.jozufozu.flywheel.backend.instancing.blockentity.BlockEntityInstance;
import com.simibubi.create.foundation.utility.AnimationTickHolder;
import net.createmod.catnip.utility.AnimationTickHolder;
public class PSIInstance extends BlockEntityInstance<PortableStorageInterfaceTileEntity> implements DynamicInstance, TickableInstance {

View file

@ -5,8 +5,8 @@ import com.simibubi.create.content.contraptions.components.structureMovement.Mov
import com.simibubi.create.content.logistics.trains.ITrackBlock;
import com.simibubi.create.content.logistics.trains.track.FakeTrackBlock;
import com.simibubi.create.foundation.advancement.AllAdvancements;
import com.simibubi.create.foundation.utility.VecHelper;
import net.createmod.catnip.utility.VecHelper;
import net.minecraft.core.BlockPos;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.world.InteractionHand;

View file

@ -12,10 +12,10 @@ import com.simibubi.create.content.contraptions.components.structureMovement.ren
import com.simibubi.create.content.contraptions.components.structureMovement.render.ContraptionMatrices;
import com.simibubi.create.content.contraptions.components.structureMovement.render.ContraptionRenderDispatcher;
import com.simibubi.create.content.logistics.trains.entity.CarriageContraption;
import com.simibubi.create.foundation.utility.VecHelper;
import com.simibubi.create.foundation.utility.animation.LerpedFloat;
import com.simibubi.create.foundation.utility.animation.LerpedFloat.Chaser;
import net.createmod.catnip.utility.VecHelper;
import net.createmod.catnip.utility.animation.LerpedFloat;
import net.createmod.catnip.utility.animation.LerpedFloat.Chaser;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;

View file

@ -12,13 +12,13 @@ import com.simibubi.create.AllBlocks;
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.CachedBufferer;
import com.simibubi.create.foundation.render.SuperByteBuffer;
import com.simibubi.create.foundation.render.CachedPartialBuffers;
import com.simibubi.create.foundation.tileEntity.renderer.SafeTileEntityRenderer;
import com.simibubi.create.foundation.utility.AngleHelper;
import com.simibubi.create.foundation.utility.AnimationTickHolder;
import com.simibubi.create.foundation.utility.animation.LerpedFloat;
import net.createmod.catnip.render.SuperByteBuffer;
import net.createmod.catnip.utility.AnimationTickHolder;
import net.createmod.catnip.utility.animation.LerpedFloat;
import net.createmod.catnip.utility.math.AngleHelper;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;
@ -62,8 +62,8 @@ public class PortableStorageInterfaceRenderer extends SafeTileEntityRenderer<Por
private static void render(BlockState blockState, boolean lit, float progress, PoseStack local,
Consumer<SuperByteBuffer> drawCallback) {
SuperByteBuffer middle = CachedBufferer.partial(getMiddleForState(blockState, lit), blockState);
SuperByteBuffer top = CachedBufferer.partial(getTopForState(blockState), blockState);
SuperByteBuffer middle = CachedPartialBuffers.partial(getMiddleForState(blockState, lit), blockState);
SuperByteBuffer top = CachedPartialBuffers.partial(getTopForState(blockState), blockState);
if (local != null) {
middle.transform(local);
@ -80,10 +80,10 @@ public class PortableStorageInterfaceRenderer extends SafeTileEntityRenderer<Por
}
private static void rotateToFacing(SuperByteBuffer buffer, Direction facing) {
buffer.centre()
.rotateY(AngleHelper.horizontalAngle(facing))
.rotateX(facing == Direction.UP ? 0 : facing == Direction.DOWN ? 180 : 90)
.unCentre();
buffer.translate(.5f, .5f, .5f)
.rotate(Direction.Axis.Y, AngleHelper.horizontalAngle(facing))
.rotate(Direction.Axis.X, facing == Direction.UP ? 0 : facing == Direction.DOWN ? 180 : 90)
.translate(-.5f, -.5f, -.5f);
}
static PortableStorageInterfaceTileEntity getTargetPSI(MovementContext context) {

View file

@ -8,8 +8,8 @@ import com.simibubi.create.foundation.advancement.AllAdvancements;
import com.simibubi.create.foundation.config.AllConfigs;
import com.simibubi.create.foundation.tileEntity.SmartTileEntity;
import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour;
import com.simibubi.create.foundation.utility.animation.LerpedFloat;
import net.createmod.catnip.utility.animation.LerpedFloat;
import net.minecraft.core.BlockPos;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.util.Mth;

View file

@ -10,8 +10,8 @@ import com.simibubi.create.content.contraptions.components.structureMovement.Mov
import com.simibubi.create.content.contraptions.components.structureMovement.render.ContraptionMatrices;
import com.simibubi.create.foundation.utility.AbstractBlockBreakQueue;
import com.simibubi.create.foundation.utility.TreeCutter;
import com.simibubi.create.foundation.utility.VecHelper;
import net.createmod.catnip.utility.VecHelper;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;

View file

@ -6,8 +6,8 @@ import java.util.UUID;
import com.simibubi.create.content.contraptions.components.structureMovement.AbstractContraptionEntity;
import com.simibubi.create.content.contraptions.components.structureMovement.MovementBehaviour;
import com.simibubi.create.content.contraptions.components.structureMovement.MovementContext;
import com.simibubi.create.foundation.utility.VecHelper;
import net.createmod.catnip.utility.VecHelper;
import net.minecraft.core.BlockPos;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.level.block.SlabBlock;
@ -28,7 +28,7 @@ public class SeatMovementBehaviour implements MovementBehaviour {
@Override
public void visitNewPosition(MovementContext context, BlockPos pos) {
MovementBehaviour.super.visitNewPosition(context, pos);
AbstractContraptionEntity contraptionEntity = context.contraption.entity;
if (contraptionEntity == null)
return;

View file

@ -7,10 +7,10 @@ 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.clock.CuckooClockTileEntity.Animation;
import com.simibubi.create.foundation.render.CachedBufferer;
import com.simibubi.create.foundation.render.SuperByteBuffer;
import com.simibubi.create.foundation.utility.AngleHelper;
import com.simibubi.create.foundation.render.CachedPartialBuffers;
import net.createmod.catnip.render.SuperByteBuffer;
import net.createmod.catnip.utility.math.AngleHelper;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;
@ -38,8 +38,8 @@ public class CuckooClockRenderer extends KineticTileEntityRenderer {
VertexConsumer vb = buffer.getBuffer(RenderType.solid());
// Render Hands
SuperByteBuffer hourHand = CachedBufferer.partial(AllBlockPartials.CUCKOO_HOUR_HAND, blockState);
SuperByteBuffer minuteHand = CachedBufferer.partial(AllBlockPartials.CUCKOO_MINUTE_HAND, blockState);
SuperByteBuffer hourHand = CachedPartialBuffers.partial(AllBlockPartials.CUCKOO_HOUR_HAND, blockState);
SuperByteBuffer minuteHand = CachedPartialBuffers.partial(AllBlockPartials.CUCKOO_MINUTE_HAND, blockState);
float hourAngle = clock.hourHand.getValue(partialTicks);
float minuteAngle = clock.minuteHand.getValue(partialTicks);
rotateHand(hourHand, hourAngle, direction).light(light)
@ -48,8 +48,8 @@ public class CuckooClockRenderer extends KineticTileEntityRenderer {
.renderInto(ms, vb);
// Doors
SuperByteBuffer leftDoor = CachedBufferer.partial(AllBlockPartials.CUCKOO_LEFT_DOOR, blockState);
SuperByteBuffer rightDoor = CachedBufferer.partial(AllBlockPartials.CUCKOO_RIGHT_DOOR, blockState);
SuperByteBuffer leftDoor = CachedPartialBuffers.partial(AllBlockPartials.CUCKOO_LEFT_DOOR, blockState);
SuperByteBuffer rightDoor = CachedPartialBuffers.partial(AllBlockPartials.CUCKOO_RIGHT_DOOR, blockState);
float angle = 0;
float offset = 0;
@ -80,7 +80,7 @@ public class CuckooClockRenderer extends KineticTileEntityRenderer {
offset = -(angle / 135) * 1 / 2f + 10 / 16f;
PartialModel partialModel = (clock.animationType == Animation.PIG ? AllBlockPartials.CUCKOO_PIG : AllBlockPartials.CUCKOO_CREEPER);
SuperByteBuffer figure =
CachedBufferer.partial(partialModel, blockState);
CachedPartialBuffers.partial(partialModel, blockState);
figure.rotateCentered(Direction.UP, AngleHelper.rad(AngleHelper.horizontalAngle(direction.getCounterClockWise())));
figure.translate(offset, 0, 0);
figure.light(light)
@ -91,7 +91,7 @@ public class CuckooClockRenderer extends KineticTileEntityRenderer {
@Override
protected SuperByteBuffer getRotatedModel(KineticTileEntity te, BlockState state) {
return CachedBufferer.partialFacing(AllBlockPartials.SHAFT_HALF, state, state
return CachedPartialBuffers.partialFacing(AllBlockPartials.SHAFT_HALF, state, state
.getValue(CuckooClockBlock.HORIZONTAL_FACING)
.getOpposite());
}

View file

@ -5,12 +5,12 @@ import java.util.List;
import com.simibubi.create.content.contraptions.base.KineticTileEntity;
import com.simibubi.create.foundation.advancement.AllAdvancements;
import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour;
import com.simibubi.create.foundation.utility.AnimationTickHolder;
import com.simibubi.create.foundation.utility.NBTHelper;
import com.simibubi.create.foundation.utility.VecHelper;
import com.simibubi.create.foundation.utility.animation.LerpedFloat;
import com.simibubi.create.foundation.utility.animation.LerpedFloat.Chaser;
import net.createmod.catnip.utility.AnimationTickHolder;
import net.createmod.catnip.utility.NBTHelper;
import net.createmod.catnip.utility.VecHelper;
import net.createmod.catnip.utility.animation.LerpedFloat;
import net.createmod.catnip.utility.animation.LerpedFloat.Chaser;
import net.minecraft.core.BlockPos;
import net.minecraft.core.particles.ParticleTypes;
import net.minecraft.nbt.CompoundTag;
@ -42,7 +42,7 @@ public class CuckooClockTileEntity extends KineticTileEntity {
super(type, pos, state);
animationType = Animation.NONE;
}
@Override
public void addBehaviours(List<TileEntityBehaviour> behaviours) {
super.addBehaviours(behaviours);

View file

@ -15,8 +15,8 @@ import java.util.function.Consumer;
import java.util.stream.Collectors;
import com.simibubi.create.AllBlocks;
import com.simibubi.create.foundation.utility.Iterate;
import net.createmod.catnip.utility.Iterate;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.core.Direction.Axis;

View file

@ -11,11 +11,11 @@ import com.simibubi.create.content.contraptions.relays.elementary.ICogWheel;
import com.simibubi.create.foundation.block.ITE;
import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour;
import com.simibubi.create.foundation.tileEntity.behaviour.inventory.InvManipulationBehaviour;
import com.simibubi.create.foundation.utility.AngleHelper;
import com.simibubi.create.foundation.utility.Iterate;
import com.simibubi.create.foundation.utility.Pointing;
import com.simibubi.create.foundation.utility.VecHelper;
import net.createmod.catnip.utility.Iterate;
import net.createmod.catnip.utility.Pointing;
import net.createmod.catnip.utility.VecHelper;
import net.createmod.catnip.utility.math.AngleHelper;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.core.Direction.Axis;

Some files were not shown because too many files have changed in this diff Show more