SoundScapes, Part IV

- Fixed diving helmet activating when wielder is only partially submerged in water
- Fixed diving helmet activating for players in creative mode
- Added sounds for the Mechanical Saw
- Added clicking sounds for the Linked Controller
- Gantry contraptions now make contraption noises
- Soundscapes now lower their volume based on the distance between listener and center of noise
This commit is contained in:
simibubi 2021-05-31 20:48:22 +02:00
parent 1532d9e4f6
commit a9ced3fea2
26 changed files with 412 additions and 203 deletions

View file

@ -408,20 +408,20 @@ a3a11524cd3515fc01d905767b4b7ea782adaf03 assets/create/blockstates/yellow_seat.j
7f39521b211441f5c3e06d60c5978cebe16cacfb assets/create/blockstates/zinc_block.json 7f39521b211441f5c3e06d60c5978cebe16cacfb assets/create/blockstates/zinc_block.json
b7181bcd8182b2f17088e5aa881f374c9c65470c assets/create/blockstates/zinc_ore.json b7181bcd8182b2f17088e5aa881f374c9c65470c assets/create/blockstates/zinc_ore.json
e9c463e0cf56ed28ee26a33debeae3ecc2e941d2 assets/create/lang/en_ud.json e9c463e0cf56ed28ee26a33debeae3ecc2e941d2 assets/create/lang/en_ud.json
a9a31be19fc2e109967e68b63746dee766b8b4d1 assets/create/lang/en_us.json dceb2a935135d2ef502cdcba7c9d58f64062513f assets/create/lang/en_us.json
916eb5e579f283b81f100098bf168203d75db5c5 assets/create/lang/unfinished/de_de.json eb40acb99f3c7af50b840f3c2058d7a7bdd5cff7 assets/create/lang/unfinished/de_de.json
fc1a5dc58cb00012cd311f909de3cd6085664994 assets/create/lang/unfinished/es_es.json bcbfd3a6768daf265a1c01a424e985a3fdec6504 assets/create/lang/unfinished/es_es.json
7716f8e2a1cc161778e627f6c1f527356cfd34f9 assets/create/lang/unfinished/es_mx.json 50dec8a7eb983ac4d29f3eeba3273dbaeca26902 assets/create/lang/unfinished/es_mx.json
2e032434706937780312c8c9a72ec0e0a8f1a8e6 assets/create/lang/unfinished/fr_fr.json cc723673107651024f3fc0e43690ac467ff729b2 assets/create/lang/unfinished/fr_fr.json
011b39c4217c2d5da59d0c8f4fd3c5f272a91c3e assets/create/lang/unfinished/it_it.json 99452bacb5d80715ea0a52106b7e2734a32c55d4 assets/create/lang/unfinished/it_it.json
dd04db4e469ece034e9edde1d182d40ece3c917f assets/create/lang/unfinished/ja_jp.json f3058ea623666a43029af307f632197c8ff8dcab assets/create/lang/unfinished/ja_jp.json
a46af574991af844c58a7fe75b4c2b0ac888b4e0 assets/create/lang/unfinished/ko_kr.json d756b02573d6a3a3b73bd03ec69fe760825e1606 assets/create/lang/unfinished/ko_kr.json
1ee72b0c9ac509ffcd17b19d17ab1f4b3506c9ce assets/create/lang/unfinished/nl_nl.json 281712735ab6437a417dde63c855e18eb19493a0 assets/create/lang/unfinished/nl_nl.json
c80b1e4310942e34b46f3cfed724e104782f1c65 assets/create/lang/unfinished/pl_pl.json 24056aefb7ff79a2127c194fe2918ab9e745d6b5 assets/create/lang/unfinished/pl_pl.json
73030bf3d5aace5c3e991c6bf265322bba42286f assets/create/lang/unfinished/pt_br.json 0f9c83a9f70d809d8f66c0438529b169b92ffdb1 assets/create/lang/unfinished/pt_br.json
73b1927e1d32e4229caa96e8d1bc25d39fb51377 assets/create/lang/unfinished/ru_ru.json ff35273842d3190aa361f2a8ca7edae80f97864d assets/create/lang/unfinished/ru_ru.json
aa3f0b918d948795e10878c3d42dbd4c39f71795 assets/create/lang/unfinished/zh_cn.json 139a31cfd09d4aaca33d118d28de735ba72f4f0d assets/create/lang/unfinished/zh_cn.json
f6aef786fdc291201f388c661fb9ff2d0b936ba2 assets/create/lang/unfinished/zh_tw.json 19bfa8f57e8b395a2cfd98039f44301a61c1f73c assets/create/lang/unfinished/zh_tw.json
487a511a01b2a4531fb672f917922312db78f958 assets/create/models/block/acacia_window.json 487a511a01b2a4531fb672f917922312db78f958 assets/create/models/block/acacia_window.json
b48060cba1a382f373a05bf0039054053eccf076 assets/create/models/block/acacia_window_pane_noside.json b48060cba1a382f373a05bf0039054053eccf076 assets/create/models/block/acacia_window_pane_noside.json
3066db1bf03cffa1a9c7fbacf47ae586632f4eb3 assets/create/models/block/acacia_window_pane_noside_alt.json 3066db1bf03cffa1a9c7fbacf47ae586632f4eb3 assets/create/models/block/acacia_window_pane_noside_alt.json
@ -1652,7 +1652,7 @@ d080b1b25e5bc8baf5aee68691b08c7f12ece3b0 assets/create/models/item/windmill_bear
866fbb0ce2878a73e0440d1caf6534c8bd7c384f assets/create/models/item/zinc_ingot.json 866fbb0ce2878a73e0440d1caf6534c8bd7c384f assets/create/models/item/zinc_ingot.json
a80fb25a0b655e76be986b5b49fcb0f03461a1ab assets/create/models/item/zinc_nugget.json a80fb25a0b655e76be986b5b49fcb0f03461a1ab assets/create/models/item/zinc_nugget.json
b1689617190c05ef34bd18456b0c7ae09bb3210f assets/create/models/item/zinc_ore.json b1689617190c05ef34bd18456b0c7ae09bb3210f assets/create/models/item/zinc_ore.json
096382a4c025b5ffdde9c496ee9da0d5345fbe17 assets/create/sounds.json 6490fa0587db770cf7c794b47f3bcd2b691f4226 assets/create/sounds.json
0f1b4b980afba9bf2caf583b88e261bba8b10313 data/create/advancements/aesthetics.json 0f1b4b980afba9bf2caf583b88e261bba8b10313 data/create/advancements/aesthetics.json
187921fa131b06721bfaf63f2623a28c141aae9a data/create/advancements/andesite_alloy.json 187921fa131b06721bfaf63f2623a28c141aae9a data/create/advancements/andesite_alloy.json
0ea2db7173b5be28b289ea7c9a6a0cf5805c60c7 data/create/advancements/andesite_casing.json 0ea2db7173b5be28b289ea7c9a6a0cf5805c60c7 data/create/advancements/andesite_casing.json

View file

@ -1142,28 +1142,33 @@
"_": "->------------------------] Subtitles [------------------------<-", "_": "->------------------------] Subtitles [------------------------<-",
"create.subtitle.cogs": "Cogwheels rumble", "create.subtitle.saw_idle": "Mechanical Saw turns",
"create.subtitle.slime_added": "Slime squishes",
"create.subtitle.contraption_disassemble": "Contraption stops", "create.subtitle.contraption_disassemble": "Contraption stops",
"create.subtitle.wrench_rotate": "Wrench used",
"create.subtitle.mixing": "Mixing Noises", "create.subtitle.mixing": "Mixing Noises",
"create.subtitle.mechanical_press_activation_belt": "Mechanical Press bonks", "create.subtitle.mechanical_press_activation_belt": "Mechanical Press bonks",
"create.subtitle.worldshaper_place": "Worldshaper zaps", "create.subtitle.worldshaper_place": "Worldshaper zaps",
"create.subtitle.deployer_polish": "Deployer applies polish",
"create.subtitle.depot_slide": "Item slides", "create.subtitle.depot_slide": "Item slides",
"create.subtitle.deny": "Declining boop", "create.subtitle.saw_activate_stone": "Mechanical Saw activates",
"create.subtitle.blaze_munch": "Blaze Burner munches", "create.subtitle.blaze_munch": "Blaze Burner munches",
"create.subtitle.schematicannon_launch_block": "Schematicannon fires",
"create.subtitle.funnel_flap": "Funnel Flaps", "create.subtitle.funnel_flap": "Funnel Flaps",
"create.subtitle.copper_armor_equip": "Diving equipment clinks",
"create.subtitle.schematicannon_finish": "Schematicannon dings", "create.subtitle.schematicannon_finish": "Schematicannon dings",
"create.subtitle.scroll_value": "Scroll-input clicks", "create.subtitle.scroll_value": "Scroll-input clicks",
"create.subtitle.crafter_craft": "Crafter crafts",
"create.subtitle.saw_process": "Mechanical Saw processes",
"create.subtitle.cranking": "Hand Crank turns",
"create.subtitle.wrench_remove": "Component breaks",
"create.subtitle.cogs": "Cogwheels rumble",
"create.subtitle.slime_added": "Slime squishes",
"create.subtitle.wrench_rotate": "Wrench used",
"create.subtitle.saw_activate_wood": "Mechanical Saw activates",
"create.subtitle.deployer_polish": "Deployer applies polish",
"create.subtitle.deny": "Declining boop",
"create.subtitle.controller_click": "Controller clicks",
"create.subtitle.schematicannon_launch_block": "Schematicannon fires",
"create.subtitle.copper_armor_equip": "Diving equipment clinks",
"create.subtitle.mechanical_press_activation": "Mechanical Press clangs", "create.subtitle.mechanical_press_activation": "Mechanical Press clangs",
"create.subtitle.contraption_assemble": "Contraption moves", "create.subtitle.contraption_assemble": "Contraption moves",
"create.subtitle.crafter_craft": "Crafter crafts",
"create.subtitle.cranking": "Hand Crank turns",
"create.subtitle.crafter_click": "Crafter clicks", "create.subtitle.crafter_click": "Crafter clicks",
"create.subtitle.wrench_remove": "Component breaks",
"create.subtitle.depot_plop": "Item lands", "create.subtitle.depot_plop": "Item lands",
"create.subtitle.confirm": "Affirmative ding", "create.subtitle.confirm": "Affirmative ding",

View file

@ -1,5 +1,5 @@
{ {
"_": "Missing Localizations: 948", "_": "Missing Localizations: 953",
"_": "->------------------------] Game Elements [------------------------<-", "_": "->------------------------] Game Elements [------------------------<-",
@ -1143,28 +1143,33 @@
"_": "->------------------------] Subtitles [------------------------<-", "_": "->------------------------] Subtitles [------------------------<-",
"create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble", "create.subtitle.saw_idle": "UNLOCALIZED: Mechanical Saw turns",
"create.subtitle.slime_added": "Schleim matscht",
"create.subtitle.contraption_disassemble": "UNLOCALIZED: Contraption stops", "create.subtitle.contraption_disassemble": "UNLOCALIZED: Contraption stops",
"create.subtitle.wrench_rotate": "UNLOCALIZED: Wrench used",
"create.subtitle.mixing": "UNLOCALIZED: Mixing Noises", "create.subtitle.mixing": "UNLOCALIZED: Mixing Noises",
"create.subtitle.mechanical_press_activation_belt": "UNLOCALIZED: Mechanical Press bonks", "create.subtitle.mechanical_press_activation_belt": "UNLOCALIZED: Mechanical Press bonks",
"create.subtitle.worldshaper_place": "UNLOCALIZED: Worldshaper zaps", "create.subtitle.worldshaper_place": "UNLOCALIZED: Worldshaper zaps",
"create.subtitle.deployer_polish": "UNLOCALIZED: Deployer applies polish",
"create.subtitle.depot_slide": "UNLOCALIZED: Item slides", "create.subtitle.depot_slide": "UNLOCALIZED: Item slides",
"create.subtitle.deny": "UNLOCALIZED: Declining boop", "create.subtitle.saw_activate_stone": "UNLOCALIZED: Mechanical Saw activates",
"create.subtitle.blaze_munch": "Lohe kaut glücklich", "create.subtitle.blaze_munch": "Lohe kaut glücklich",
"create.subtitle.schematicannon_launch_block": "Bauplankanone schießt",
"create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps", "create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps",
"create.subtitle.copper_armor_equip": "UNLOCALIZED: Diving equipment clinks",
"create.subtitle.schematicannon_finish": "Bauplankanone endet", "create.subtitle.schematicannon_finish": "Bauplankanone endet",
"create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks", "create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks",
"create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
"create.subtitle.saw_process": "UNLOCALIZED: Mechanical Saw processes",
"create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
"create.subtitle.wrench_remove": "UNLOCALIZED: Component breaks",
"create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble",
"create.subtitle.slime_added": "Schleim matscht",
"create.subtitle.wrench_rotate": "UNLOCALIZED: Wrench used",
"create.subtitle.saw_activate_wood": "UNLOCALIZED: Mechanical Saw activates",
"create.subtitle.deployer_polish": "UNLOCALIZED: Deployer applies polish",
"create.subtitle.deny": "UNLOCALIZED: Declining boop",
"create.subtitle.controller_click": "UNLOCALIZED: Controller clicks",
"create.subtitle.schematicannon_launch_block": "Bauplankanone schießt",
"create.subtitle.copper_armor_equip": "UNLOCALIZED: Diving equipment clinks",
"create.subtitle.mechanical_press_activation": "Mechanische Presse wird aktiviert", "create.subtitle.mechanical_press_activation": "Mechanische Presse wird aktiviert",
"create.subtitle.contraption_assemble": "UNLOCALIZED: Contraption moves", "create.subtitle.contraption_assemble": "UNLOCALIZED: Contraption moves",
"create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
"create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
"create.subtitle.crafter_click": "UNLOCALIZED: Crafter clicks", "create.subtitle.crafter_click": "UNLOCALIZED: Crafter clicks",
"create.subtitle.wrench_remove": "UNLOCALIZED: Component breaks",
"create.subtitle.depot_plop": "UNLOCALIZED: Item lands", "create.subtitle.depot_plop": "UNLOCALIZED: Item lands",
"create.subtitle.confirm": "UNLOCALIZED: Affirmative ding", "create.subtitle.confirm": "UNLOCALIZED: Affirmative ding",

View file

@ -1,5 +1,5 @@
{ {
"_": "Missing Localizations: 649", "_": "Missing Localizations: 654",
"_": "->------------------------] Game Elements [------------------------<-", "_": "->------------------------] Game Elements [------------------------<-",
@ -1143,28 +1143,33 @@
"_": "->------------------------] Subtitles [------------------------<-", "_": "->------------------------] Subtitles [------------------------<-",
"create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble", "create.subtitle.saw_idle": "UNLOCALIZED: Mechanical Saw turns",
"create.subtitle.slime_added": "Slime aplastado",
"create.subtitle.contraption_disassemble": "UNLOCALIZED: Contraption stops", "create.subtitle.contraption_disassemble": "UNLOCALIZED: Contraption stops",
"create.subtitle.wrench_rotate": "UNLOCALIZED: Wrench used",
"create.subtitle.mixing": "UNLOCALIZED: Mixing Noises", "create.subtitle.mixing": "UNLOCALIZED: Mixing Noises",
"create.subtitle.mechanical_press_activation_belt": "UNLOCALIZED: Mechanical Press bonks", "create.subtitle.mechanical_press_activation_belt": "UNLOCALIZED: Mechanical Press bonks",
"create.subtitle.worldshaper_place": "UNLOCALIZED: Worldshaper zaps", "create.subtitle.worldshaper_place": "UNLOCALIZED: Worldshaper zaps",
"create.subtitle.deployer_polish": "UNLOCALIZED: Deployer applies polish",
"create.subtitle.depot_slide": "UNLOCALIZED: Item slides", "create.subtitle.depot_slide": "UNLOCALIZED: Item slides",
"create.subtitle.deny": "UNLOCALIZED: Declining boop", "create.subtitle.saw_activate_stone": "UNLOCALIZED: Mechanical Saw activates",
"create.subtitle.blaze_munch": "Blaze mastica felizmente", "create.subtitle.blaze_munch": "Blaze mastica felizmente",
"create.subtitle.schematicannon_launch_block": "Disparos de Schematicannon",
"create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps", "create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps",
"create.subtitle.copper_armor_equip": "UNLOCALIZED: Diving equipment clinks",
"create.subtitle.schematicannon_finish": "Acabados de Schematicannon", "create.subtitle.schematicannon_finish": "Acabados de Schematicannon",
"create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks", "create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks",
"create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
"create.subtitle.saw_process": "UNLOCALIZED: Mechanical Saw processes",
"create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
"create.subtitle.wrench_remove": "UNLOCALIZED: Component breaks",
"create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble",
"create.subtitle.slime_added": "Slime aplastado",
"create.subtitle.wrench_rotate": "UNLOCALIZED: Wrench used",
"create.subtitle.saw_activate_wood": "UNLOCALIZED: Mechanical Saw activates",
"create.subtitle.deployer_polish": "UNLOCALIZED: Deployer applies polish",
"create.subtitle.deny": "UNLOCALIZED: Declining boop",
"create.subtitle.controller_click": "UNLOCALIZED: Controller clicks",
"create.subtitle.schematicannon_launch_block": "Disparos de Schematicannon",
"create.subtitle.copper_armor_equip": "UNLOCALIZED: Diving equipment clinks",
"create.subtitle.mechanical_press_activation": "La Prensa Mecánica se activa", "create.subtitle.mechanical_press_activation": "La Prensa Mecánica se activa",
"create.subtitle.contraption_assemble": "UNLOCALIZED: Contraption moves", "create.subtitle.contraption_assemble": "UNLOCALIZED: Contraption moves",
"create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
"create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
"create.subtitle.crafter_click": "UNLOCALIZED: Crafter clicks", "create.subtitle.crafter_click": "UNLOCALIZED: Crafter clicks",
"create.subtitle.wrench_remove": "UNLOCALIZED: Component breaks",
"create.subtitle.depot_plop": "UNLOCALIZED: Item lands", "create.subtitle.depot_plop": "UNLOCALIZED: Item lands",
"create.subtitle.confirm": "UNLOCALIZED: Affirmative ding", "create.subtitle.confirm": "UNLOCALIZED: Affirmative ding",

View file

@ -1,5 +1,5 @@
{ {
"_": "Missing Localizations: 1272", "_": "Missing Localizations: 1277",
"_": "->------------------------] Game Elements [------------------------<-", "_": "->------------------------] Game Elements [------------------------<-",
@ -1143,28 +1143,33 @@
"_": "->------------------------] Subtitles [------------------------<-", "_": "->------------------------] Subtitles [------------------------<-",
"create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble", "create.subtitle.saw_idle": "UNLOCALIZED: Mechanical Saw turns",
"create.subtitle.slime_added": "UNLOCALIZED: Slime squishes",
"create.subtitle.contraption_disassemble": "UNLOCALIZED: Contraption stops", "create.subtitle.contraption_disassemble": "UNLOCALIZED: Contraption stops",
"create.subtitle.wrench_rotate": "UNLOCALIZED: Wrench used",
"create.subtitle.mixing": "UNLOCALIZED: Mixing Noises", "create.subtitle.mixing": "UNLOCALIZED: Mixing Noises",
"create.subtitle.mechanical_press_activation_belt": "UNLOCALIZED: Mechanical Press bonks", "create.subtitle.mechanical_press_activation_belt": "UNLOCALIZED: Mechanical Press bonks",
"create.subtitle.worldshaper_place": "UNLOCALIZED: Worldshaper zaps", "create.subtitle.worldshaper_place": "UNLOCALIZED: Worldshaper zaps",
"create.subtitle.deployer_polish": "UNLOCALIZED: Deployer applies polish",
"create.subtitle.depot_slide": "UNLOCALIZED: Item slides", "create.subtitle.depot_slide": "UNLOCALIZED: Item slides",
"create.subtitle.deny": "UNLOCALIZED: Declining boop", "create.subtitle.saw_activate_stone": "UNLOCALIZED: Mechanical Saw activates",
"create.subtitle.blaze_munch": "UNLOCALIZED: Blaze Burner munches", "create.subtitle.blaze_munch": "UNLOCALIZED: Blaze Burner munches",
"create.subtitle.schematicannon_launch_block": "UNLOCALIZED: Schematicannon fires",
"create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps", "create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps",
"create.subtitle.copper_armor_equip": "UNLOCALIZED: Diving equipment clinks",
"create.subtitle.schematicannon_finish": "UNLOCALIZED: Schematicannon dings", "create.subtitle.schematicannon_finish": "UNLOCALIZED: Schematicannon dings",
"create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks", "create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks",
"create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
"create.subtitle.saw_process": "UNLOCALIZED: Mechanical Saw processes",
"create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
"create.subtitle.wrench_remove": "UNLOCALIZED: Component breaks",
"create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble",
"create.subtitle.slime_added": "UNLOCALIZED: Slime squishes",
"create.subtitle.wrench_rotate": "UNLOCALIZED: Wrench used",
"create.subtitle.saw_activate_wood": "UNLOCALIZED: Mechanical Saw activates",
"create.subtitle.deployer_polish": "UNLOCALIZED: Deployer applies polish",
"create.subtitle.deny": "UNLOCALIZED: Declining boop",
"create.subtitle.controller_click": "UNLOCALIZED: Controller clicks",
"create.subtitle.schematicannon_launch_block": "UNLOCALIZED: Schematicannon fires",
"create.subtitle.copper_armor_equip": "UNLOCALIZED: Diving equipment clinks",
"create.subtitle.mechanical_press_activation": "UNLOCALIZED: Mechanical Press clangs", "create.subtitle.mechanical_press_activation": "UNLOCALIZED: Mechanical Press clangs",
"create.subtitle.contraption_assemble": "UNLOCALIZED: Contraption moves", "create.subtitle.contraption_assemble": "UNLOCALIZED: Contraption moves",
"create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
"create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
"create.subtitle.crafter_click": "UNLOCALIZED: Crafter clicks", "create.subtitle.crafter_click": "UNLOCALIZED: Crafter clicks",
"create.subtitle.wrench_remove": "UNLOCALIZED: Component breaks",
"create.subtitle.depot_plop": "UNLOCALIZED: Item lands", "create.subtitle.depot_plop": "UNLOCALIZED: Item lands",
"create.subtitle.confirm": "UNLOCALIZED: Affirmative ding", "create.subtitle.confirm": "UNLOCALIZED: Affirmative ding",

View file

@ -1,5 +1,5 @@
{ {
"_": "Missing Localizations: 1200", "_": "Missing Localizations: 1205",
"_": "->------------------------] Game Elements [------------------------<-", "_": "->------------------------] Game Elements [------------------------<-",
@ -1143,28 +1143,33 @@
"_": "->------------------------] Subtitles [------------------------<-", "_": "->------------------------] Subtitles [------------------------<-",
"create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble", "create.subtitle.saw_idle": "UNLOCALIZED: Mechanical Saw turns",
"create.subtitle.slime_added": "Bruit de slime",
"create.subtitle.contraption_disassemble": "UNLOCALIZED: Contraption stops", "create.subtitle.contraption_disassemble": "UNLOCALIZED: Contraption stops",
"create.subtitle.wrench_rotate": "UNLOCALIZED: Wrench used",
"create.subtitle.mixing": "UNLOCALIZED: Mixing Noises", "create.subtitle.mixing": "UNLOCALIZED: Mixing Noises",
"create.subtitle.mechanical_press_activation_belt": "UNLOCALIZED: Mechanical Press bonks", "create.subtitle.mechanical_press_activation_belt": "UNLOCALIZED: Mechanical Press bonks",
"create.subtitle.worldshaper_place": "UNLOCALIZED: Worldshaper zaps", "create.subtitle.worldshaper_place": "UNLOCALIZED: Worldshaper zaps",
"create.subtitle.deployer_polish": "UNLOCALIZED: Deployer applies polish",
"create.subtitle.depot_slide": "UNLOCALIZED: Item slides", "create.subtitle.depot_slide": "UNLOCALIZED: Item slides",
"create.subtitle.deny": "UNLOCALIZED: Declining boop", "create.subtitle.saw_activate_stone": "UNLOCALIZED: Mechanical Saw activates",
"create.subtitle.blaze_munch": "UNLOCALIZED: Blaze Burner munches", "create.subtitle.blaze_munch": "UNLOCALIZED: Blaze Burner munches",
"create.subtitle.schematicannon_launch_block": "Tir de schémacanon",
"create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps", "create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps",
"create.subtitle.copper_armor_equip": "UNLOCALIZED: Diving equipment clinks",
"create.subtitle.schematicannon_finish": "Fin de schémacanon", "create.subtitle.schematicannon_finish": "Fin de schémacanon",
"create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks", "create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks",
"create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
"create.subtitle.saw_process": "UNLOCALIZED: Mechanical Saw processes",
"create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
"create.subtitle.wrench_remove": "UNLOCALIZED: Component breaks",
"create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble",
"create.subtitle.slime_added": "Bruit de slime",
"create.subtitle.wrench_rotate": "UNLOCALIZED: Wrench used",
"create.subtitle.saw_activate_wood": "UNLOCALIZED: Mechanical Saw activates",
"create.subtitle.deployer_polish": "UNLOCALIZED: Deployer applies polish",
"create.subtitle.deny": "UNLOCALIZED: Declining boop",
"create.subtitle.controller_click": "UNLOCALIZED: Controller clicks",
"create.subtitle.schematicannon_launch_block": "Tir de schémacanon",
"create.subtitle.copper_armor_equip": "UNLOCALIZED: Diving equipment clinks",
"create.subtitle.mechanical_press_activation": "Activation de la presse mechanique", "create.subtitle.mechanical_press_activation": "Activation de la presse mechanique",
"create.subtitle.contraption_assemble": "UNLOCALIZED: Contraption moves", "create.subtitle.contraption_assemble": "UNLOCALIZED: Contraption moves",
"create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
"create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
"create.subtitle.crafter_click": "UNLOCALIZED: Crafter clicks", "create.subtitle.crafter_click": "UNLOCALIZED: Crafter clicks",
"create.subtitle.wrench_remove": "UNLOCALIZED: Component breaks",
"create.subtitle.depot_plop": "UNLOCALIZED: Item lands", "create.subtitle.depot_plop": "UNLOCALIZED: Item lands",
"create.subtitle.confirm": "UNLOCALIZED: Affirmative ding", "create.subtitle.confirm": "UNLOCALIZED: Affirmative ding",

View file

@ -1,5 +1,5 @@
{ {
"_": "Missing Localizations: 666", "_": "Missing Localizations: 671",
"_": "->------------------------] Game Elements [------------------------<-", "_": "->------------------------] Game Elements [------------------------<-",
@ -1143,28 +1143,33 @@
"_": "->------------------------] Subtitles [------------------------<-", "_": "->------------------------] Subtitles [------------------------<-",
"create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble", "create.subtitle.saw_idle": "UNLOCALIZED: Mechanical Saw turns",
"create.subtitle.slime_added": "Slime schiacciato",
"create.subtitle.contraption_disassemble": "UNLOCALIZED: Contraption stops", "create.subtitle.contraption_disassemble": "UNLOCALIZED: Contraption stops",
"create.subtitle.wrench_rotate": "UNLOCALIZED: Wrench used",
"create.subtitle.mixing": "UNLOCALIZED: Mixing Noises", "create.subtitle.mixing": "UNLOCALIZED: Mixing Noises",
"create.subtitle.mechanical_press_activation_belt": "UNLOCALIZED: Mechanical Press bonks", "create.subtitle.mechanical_press_activation_belt": "UNLOCALIZED: Mechanical Press bonks",
"create.subtitle.worldshaper_place": "UNLOCALIZED: Worldshaper zaps", "create.subtitle.worldshaper_place": "UNLOCALIZED: Worldshaper zaps",
"create.subtitle.deployer_polish": "UNLOCALIZED: Deployer applies polish",
"create.subtitle.depot_slide": "UNLOCALIZED: Item slides", "create.subtitle.depot_slide": "UNLOCALIZED: Item slides",
"create.subtitle.deny": "UNLOCALIZED: Declining boop", "create.subtitle.saw_activate_stone": "UNLOCALIZED: Mechanical Saw activates",
"create.subtitle.blaze_munch": "Il blaze lo gusta felicemente", "create.subtitle.blaze_munch": "Il blaze lo gusta felicemente",
"create.subtitle.schematicannon_launch_block": "Tiri del cannoneschematico",
"create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps", "create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps",
"create.subtitle.copper_armor_equip": "UNLOCALIZED: Diving equipment clinks",
"create.subtitle.schematicannon_finish": "Finiture cannoneschematico", "create.subtitle.schematicannon_finish": "Finiture cannoneschematico",
"create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks", "create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks",
"create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
"create.subtitle.saw_process": "UNLOCALIZED: Mechanical Saw processes",
"create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
"create.subtitle.wrench_remove": "UNLOCALIZED: Component breaks",
"create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble",
"create.subtitle.slime_added": "Slime schiacciato",
"create.subtitle.wrench_rotate": "UNLOCALIZED: Wrench used",
"create.subtitle.saw_activate_wood": "UNLOCALIZED: Mechanical Saw activates",
"create.subtitle.deployer_polish": "UNLOCALIZED: Deployer applies polish",
"create.subtitle.deny": "UNLOCALIZED: Declining boop",
"create.subtitle.controller_click": "UNLOCALIZED: Controller clicks",
"create.subtitle.schematicannon_launch_block": "Tiri del cannoneschematico",
"create.subtitle.copper_armor_equip": "UNLOCALIZED: Diving equipment clinks",
"create.subtitle.mechanical_press_activation": "Pressa meccanica attiva", "create.subtitle.mechanical_press_activation": "Pressa meccanica attiva",
"create.subtitle.contraption_assemble": "UNLOCALIZED: Contraption moves", "create.subtitle.contraption_assemble": "UNLOCALIZED: Contraption moves",
"create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
"create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
"create.subtitle.crafter_click": "UNLOCALIZED: Crafter clicks", "create.subtitle.crafter_click": "UNLOCALIZED: Crafter clicks",
"create.subtitle.wrench_remove": "UNLOCALIZED: Component breaks",
"create.subtitle.depot_plop": "UNLOCALIZED: Item lands", "create.subtitle.depot_plop": "UNLOCALIZED: Item lands",
"create.subtitle.confirm": "UNLOCALIZED: Affirmative ding", "create.subtitle.confirm": "UNLOCALIZED: Affirmative ding",

View file

@ -1,5 +1,5 @@
{ {
"_": "Missing Localizations: 30", "_": "Missing Localizations: 35",
"_": "->------------------------] Game Elements [------------------------<-", "_": "->------------------------] Game Elements [------------------------<-",
@ -1143,28 +1143,33 @@
"_": "->------------------------] Subtitles [------------------------<-", "_": "->------------------------] Subtitles [------------------------<-",
"create.subtitle.cogs": "歯車がゴロゴロと鳴る", "create.subtitle.saw_idle": "UNLOCALIZED: Mechanical Saw turns",
"create.subtitle.slime_added": "スライムがぐしゃっとつぶれる",
"create.subtitle.contraption_disassemble": "からくりが止まる", "create.subtitle.contraption_disassemble": "からくりが止まる",
"create.subtitle.wrench_rotate": "レンチを使う",
"create.subtitle.mixing": "混ぜる音", "create.subtitle.mixing": "混ぜる音",
"create.subtitle.mechanical_press_activation_belt": "メカニカルプレスがボンと鳴る", "create.subtitle.mechanical_press_activation_belt": "メカニカルプレスがボンと鳴る",
"create.subtitle.worldshaper_place": "UNLOCALIZED: Worldshaper zaps", "create.subtitle.worldshaper_place": "UNLOCALIZED: Worldshaper zaps",
"create.subtitle.deployer_polish": "UNLOCALIZED: Deployer applies polish",
"create.subtitle.depot_slide": "アイテムが滑る", "create.subtitle.depot_slide": "アイテムが滑る",
"create.subtitle.deny": "UNLOCALIZED: Declining boop", "create.subtitle.saw_activate_stone": "UNLOCALIZED: Mechanical Saw activates",
"create.subtitle.blaze_munch": "ブレイズの咀嚼音", "create.subtitle.blaze_munch": "ブレイズの咀嚼音",
"create.subtitle.schematicannon_launch_block": "概略図砲が発射する",
"create.subtitle.funnel_flap": "ファンネルがはためく", "create.subtitle.funnel_flap": "ファンネルがはためく",
"create.subtitle.copper_armor_equip": "UNLOCALIZED: Diving equipment clinks",
"create.subtitle.schematicannon_finish": "概略図砲が作業を終える", "create.subtitle.schematicannon_finish": "概略図砲が作業を終える",
"create.subtitle.scroll_value": "スクロールのカチカチ音", "create.subtitle.scroll_value": "スクロールのカチカチ音",
"create.subtitle.crafter_craft": "メカニカルクラフターがクラフトする",
"create.subtitle.saw_process": "UNLOCALIZED: Mechanical Saw processes",
"create.subtitle.cranking": "ハンドクランクが回る",
"create.subtitle.wrench_remove": "機械を壊す",
"create.subtitle.cogs": "歯車がゴロゴロと鳴る",
"create.subtitle.slime_added": "スライムがぐしゃっとつぶれる",
"create.subtitle.wrench_rotate": "レンチを使う",
"create.subtitle.saw_activate_wood": "UNLOCALIZED: Mechanical Saw activates",
"create.subtitle.deployer_polish": "UNLOCALIZED: Deployer applies polish",
"create.subtitle.deny": "UNLOCALIZED: Declining boop",
"create.subtitle.controller_click": "UNLOCALIZED: Controller clicks",
"create.subtitle.schematicannon_launch_block": "概略図砲が発射する",
"create.subtitle.copper_armor_equip": "UNLOCALIZED: Diving equipment clinks",
"create.subtitle.mechanical_press_activation": "メカニカルプレスがガーンと鳴る", "create.subtitle.mechanical_press_activation": "メカニカルプレスがガーンと鳴る",
"create.subtitle.contraption_assemble": "からくりが動く", "create.subtitle.contraption_assemble": "からくりが動く",
"create.subtitle.crafter_craft": "メカニカルクラフターがクラフトする",
"create.subtitle.cranking": "ハンドクランクが回る",
"create.subtitle.crafter_click": "メカニカルクラフターのカチカチ音", "create.subtitle.crafter_click": "メカニカルクラフターのカチカチ音",
"create.subtitle.wrench_remove": "機械を壊す",
"create.subtitle.depot_plop": "デプロイヤーにアイテムが入れられる", "create.subtitle.depot_plop": "デプロイヤーにアイテムが入れられる",
"create.subtitle.confirm": "UNLOCALIZED: Affirmative ding", "create.subtitle.confirm": "UNLOCALIZED: Affirmative ding",

View file

@ -1,5 +1,5 @@
{ {
"_": "Missing Localizations: 719", "_": "Missing Localizations: 724",
"_": "->------------------------] Game Elements [------------------------<-", "_": "->------------------------] Game Elements [------------------------<-",
@ -1143,28 +1143,33 @@
"_": "->------------------------] Subtitles [------------------------<-", "_": "->------------------------] Subtitles [------------------------<-",
"create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble", "create.subtitle.saw_idle": "UNLOCALIZED: Mechanical Saw turns",
"create.subtitle.slime_added": "슬라임이 철퍽거림",
"create.subtitle.contraption_disassemble": "UNLOCALIZED: Contraption stops", "create.subtitle.contraption_disassemble": "UNLOCALIZED: Contraption stops",
"create.subtitle.wrench_rotate": "UNLOCALIZED: Wrench used",
"create.subtitle.mixing": "UNLOCALIZED: Mixing Noises", "create.subtitle.mixing": "UNLOCALIZED: Mixing Noises",
"create.subtitle.mechanical_press_activation_belt": "UNLOCALIZED: Mechanical Press bonks", "create.subtitle.mechanical_press_activation_belt": "UNLOCALIZED: Mechanical Press bonks",
"create.subtitle.worldshaper_place": "UNLOCALIZED: Worldshaper zaps", "create.subtitle.worldshaper_place": "UNLOCALIZED: Worldshaper zaps",
"create.subtitle.deployer_polish": "UNLOCALIZED: Deployer applies polish",
"create.subtitle.depot_slide": "UNLOCALIZED: Item slides", "create.subtitle.depot_slide": "UNLOCALIZED: Item slides",
"create.subtitle.deny": "UNLOCALIZED: Declining boop", "create.subtitle.saw_activate_stone": "UNLOCALIZED: Mechanical Saw activates",
"create.subtitle.blaze_munch": "블레이즈가 행복하게 섭취함", "create.subtitle.blaze_munch": "블레이즈가 행복하게 섭취함",
"create.subtitle.schematicannon_launch_block": "청사진 대포가 발포함",
"create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps", "create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps",
"create.subtitle.copper_armor_equip": "UNLOCALIZED: Diving equipment clinks",
"create.subtitle.schematicannon_finish": "청사진 대포가 끝남", "create.subtitle.schematicannon_finish": "청사진 대포가 끝남",
"create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks", "create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks",
"create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
"create.subtitle.saw_process": "UNLOCALIZED: Mechanical Saw processes",
"create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
"create.subtitle.wrench_remove": "UNLOCALIZED: Component breaks",
"create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble",
"create.subtitle.slime_added": "슬라임이 철퍽거림",
"create.subtitle.wrench_rotate": "UNLOCALIZED: Wrench used",
"create.subtitle.saw_activate_wood": "UNLOCALIZED: Mechanical Saw activates",
"create.subtitle.deployer_polish": "UNLOCALIZED: Deployer applies polish",
"create.subtitle.deny": "UNLOCALIZED: Declining boop",
"create.subtitle.controller_click": "UNLOCALIZED: Controller clicks",
"create.subtitle.schematicannon_launch_block": "청사진 대포가 발포함",
"create.subtitle.copper_armor_equip": "UNLOCALIZED: Diving equipment clinks",
"create.subtitle.mechanical_press_activation": "압착기가 가동됨", "create.subtitle.mechanical_press_activation": "압착기가 가동됨",
"create.subtitle.contraption_assemble": "UNLOCALIZED: Contraption moves", "create.subtitle.contraption_assemble": "UNLOCALIZED: Contraption moves",
"create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
"create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
"create.subtitle.crafter_click": "UNLOCALIZED: Crafter clicks", "create.subtitle.crafter_click": "UNLOCALIZED: Crafter clicks",
"create.subtitle.wrench_remove": "UNLOCALIZED: Component breaks",
"create.subtitle.depot_plop": "UNLOCALIZED: Item lands", "create.subtitle.depot_plop": "UNLOCALIZED: Item lands",
"create.subtitle.confirm": "UNLOCALIZED: Affirmative ding", "create.subtitle.confirm": "UNLOCALIZED: Affirmative ding",

View file

@ -1,5 +1,5 @@
{ {
"_": "Missing Localizations: 1583", "_": "Missing Localizations: 1588",
"_": "->------------------------] Game Elements [------------------------<-", "_": "->------------------------] Game Elements [------------------------<-",
@ -1143,28 +1143,33 @@
"_": "->------------------------] Subtitles [------------------------<-", "_": "->------------------------] Subtitles [------------------------<-",
"create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble", "create.subtitle.saw_idle": "UNLOCALIZED: Mechanical Saw turns",
"create.subtitle.slime_added": "UNLOCALIZED: Slime squishes",
"create.subtitle.contraption_disassemble": "UNLOCALIZED: Contraption stops", "create.subtitle.contraption_disassemble": "UNLOCALIZED: Contraption stops",
"create.subtitle.wrench_rotate": "UNLOCALIZED: Wrench used",
"create.subtitle.mixing": "UNLOCALIZED: Mixing Noises", "create.subtitle.mixing": "UNLOCALIZED: Mixing Noises",
"create.subtitle.mechanical_press_activation_belt": "UNLOCALIZED: Mechanical Press bonks", "create.subtitle.mechanical_press_activation_belt": "UNLOCALIZED: Mechanical Press bonks",
"create.subtitle.worldshaper_place": "UNLOCALIZED: Worldshaper zaps", "create.subtitle.worldshaper_place": "UNLOCALIZED: Worldshaper zaps",
"create.subtitle.deployer_polish": "UNLOCALIZED: Deployer applies polish",
"create.subtitle.depot_slide": "UNLOCALIZED: Item slides", "create.subtitle.depot_slide": "UNLOCALIZED: Item slides",
"create.subtitle.deny": "UNLOCALIZED: Declining boop", "create.subtitle.saw_activate_stone": "UNLOCALIZED: Mechanical Saw activates",
"create.subtitle.blaze_munch": "UNLOCALIZED: Blaze Burner munches", "create.subtitle.blaze_munch": "UNLOCALIZED: Blaze Burner munches",
"create.subtitle.schematicannon_launch_block": "UNLOCALIZED: Schematicannon fires",
"create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps", "create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps",
"create.subtitle.copper_armor_equip": "UNLOCALIZED: Diving equipment clinks",
"create.subtitle.schematicannon_finish": "UNLOCALIZED: Schematicannon dings", "create.subtitle.schematicannon_finish": "UNLOCALIZED: Schematicannon dings",
"create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks", "create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks",
"create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
"create.subtitle.saw_process": "UNLOCALIZED: Mechanical Saw processes",
"create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
"create.subtitle.wrench_remove": "UNLOCALIZED: Component breaks",
"create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble",
"create.subtitle.slime_added": "UNLOCALIZED: Slime squishes",
"create.subtitle.wrench_rotate": "UNLOCALIZED: Wrench used",
"create.subtitle.saw_activate_wood": "UNLOCALIZED: Mechanical Saw activates",
"create.subtitle.deployer_polish": "UNLOCALIZED: Deployer applies polish",
"create.subtitle.deny": "UNLOCALIZED: Declining boop",
"create.subtitle.controller_click": "UNLOCALIZED: Controller clicks",
"create.subtitle.schematicannon_launch_block": "UNLOCALIZED: Schematicannon fires",
"create.subtitle.copper_armor_equip": "UNLOCALIZED: Diving equipment clinks",
"create.subtitle.mechanical_press_activation": "UNLOCALIZED: Mechanical Press clangs", "create.subtitle.mechanical_press_activation": "UNLOCALIZED: Mechanical Press clangs",
"create.subtitle.contraption_assemble": "UNLOCALIZED: Contraption moves", "create.subtitle.contraption_assemble": "UNLOCALIZED: Contraption moves",
"create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
"create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
"create.subtitle.crafter_click": "UNLOCALIZED: Crafter clicks", "create.subtitle.crafter_click": "UNLOCALIZED: Crafter clicks",
"create.subtitle.wrench_remove": "UNLOCALIZED: Component breaks",
"create.subtitle.depot_plop": "UNLOCALIZED: Item lands", "create.subtitle.depot_plop": "UNLOCALIZED: Item lands",
"create.subtitle.confirm": "UNLOCALIZED: Affirmative ding", "create.subtitle.confirm": "UNLOCALIZED: Affirmative ding",

View file

@ -1,5 +1,5 @@
{ {
"_": "Missing Localizations: 6", "_": "Missing Localizations: 11",
"_": "->------------------------] Game Elements [------------------------<-", "_": "->------------------------] Game Elements [------------------------<-",
@ -1143,28 +1143,33 @@
"_": "->------------------------] Subtitles [------------------------<-", "_": "->------------------------] Subtitles [------------------------<-",
"create.subtitle.cogs": "Koła zębate terkoczą", "create.subtitle.saw_idle": "UNLOCALIZED: Mechanical Saw turns",
"create.subtitle.slime_added": "Szlam plaska",
"create.subtitle.contraption_disassemble": "Maszyna staje", "create.subtitle.contraption_disassemble": "Maszyna staje",
"create.subtitle.wrench_rotate": "Klucz skrzypi",
"create.subtitle.mixing": "Dźwięki mieszania", "create.subtitle.mixing": "Dźwięki mieszania",
"create.subtitle.mechanical_press_activation_belt": "Mechaniczna prasa stuka", "create.subtitle.mechanical_press_activation_belt": "Mechaniczna prasa stuka",
"create.subtitle.worldshaper_place": "Kształter strzela", "create.subtitle.worldshaper_place": "Kształter strzela",
"create.subtitle.deployer_polish": "Aplikator poleruje",
"create.subtitle.depot_slide": "Przedmiot ślizga się", "create.subtitle.depot_slide": "Przedmiot ślizga się",
"create.subtitle.deny": "Dźwięk odmowy", "create.subtitle.saw_activate_stone": "UNLOCALIZED: Mechanical Saw activates",
"create.subtitle.blaze_munch": "Płomyk szczęśliwie przeżuwa", "create.subtitle.blaze_munch": "Płomyk szczęśliwie przeżuwa",
"create.subtitle.schematicannon_launch_block": "Schematoarmata strzela",
"create.subtitle.funnel_flap": "Lejek trzepocze", "create.subtitle.funnel_flap": "Lejek trzepocze",
"create.subtitle.copper_armor_equip": "Sprzęt do nurkowania pobrzękuje",
"create.subtitle.schematicannon_finish": "Schematoarmata skończyła", "create.subtitle.schematicannon_finish": "Schematoarmata skończyła",
"create.subtitle.scroll_value": "Kliknięcie", "create.subtitle.scroll_value": "Kliknięcie",
"create.subtitle.crafter_craft": "Mechaniczny stół rzemieślniczy konstruuje",
"create.subtitle.saw_process": "UNLOCALIZED: Mechanical Saw processes",
"create.subtitle.cranking": "Ręczna korba obraca się",
"create.subtitle.wrench_remove": "Komponent niszczy się",
"create.subtitle.cogs": "Koła zębate terkoczą",
"create.subtitle.slime_added": "Szlam plaska",
"create.subtitle.wrench_rotate": "Klucz skrzypi",
"create.subtitle.saw_activate_wood": "UNLOCALIZED: Mechanical Saw activates",
"create.subtitle.deployer_polish": "Aplikator poleruje",
"create.subtitle.deny": "Dźwięk odmowy",
"create.subtitle.controller_click": "UNLOCALIZED: Controller clicks",
"create.subtitle.schematicannon_launch_block": "Schematoarmata strzela",
"create.subtitle.copper_armor_equip": "Sprzęt do nurkowania pobrzękuje",
"create.subtitle.mechanical_press_activation": "Mechaniczna prasa się uruchamia", "create.subtitle.mechanical_press_activation": "Mechaniczna prasa się uruchamia",
"create.subtitle.contraption_assemble": "Maszyna przesuwa się", "create.subtitle.contraption_assemble": "Maszyna przesuwa się",
"create.subtitle.crafter_craft": "Mechaniczny stół rzemieślniczy konstruuje",
"create.subtitle.cranking": "Ręczna korba obraca się",
"create.subtitle.crafter_click": "Mechaniczny stół rzemieślniczy stuka", "create.subtitle.crafter_click": "Mechaniczny stół rzemieślniczy stuka",
"create.subtitle.wrench_remove": "Komponent niszczy się",
"create.subtitle.depot_plop": "Przedmiot ląduje", "create.subtitle.depot_plop": "Przedmiot ląduje",
"create.subtitle.confirm": "Dźwięk potwierdzenia", "create.subtitle.confirm": "Dźwięk potwierdzenia",

View file

@ -1,5 +1,5 @@
{ {
"_": "Missing Localizations: 1635", "_": "Missing Localizations: 1640",
"_": "->------------------------] Game Elements [------------------------<-", "_": "->------------------------] Game Elements [------------------------<-",
@ -1143,28 +1143,33 @@
"_": "->------------------------] Subtitles [------------------------<-", "_": "->------------------------] Subtitles [------------------------<-",
"create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble", "create.subtitle.saw_idle": "UNLOCALIZED: Mechanical Saw turns",
"create.subtitle.slime_added": "UNLOCALIZED: Slime squishes",
"create.subtitle.contraption_disassemble": "UNLOCALIZED: Contraption stops", "create.subtitle.contraption_disassemble": "UNLOCALIZED: Contraption stops",
"create.subtitle.wrench_rotate": "UNLOCALIZED: Wrench used",
"create.subtitle.mixing": "UNLOCALIZED: Mixing Noises", "create.subtitle.mixing": "UNLOCALIZED: Mixing Noises",
"create.subtitle.mechanical_press_activation_belt": "UNLOCALIZED: Mechanical Press bonks", "create.subtitle.mechanical_press_activation_belt": "UNLOCALIZED: Mechanical Press bonks",
"create.subtitle.worldshaper_place": "UNLOCALIZED: Worldshaper zaps", "create.subtitle.worldshaper_place": "UNLOCALIZED: Worldshaper zaps",
"create.subtitle.deployer_polish": "UNLOCALIZED: Deployer applies polish",
"create.subtitle.depot_slide": "UNLOCALIZED: Item slides", "create.subtitle.depot_slide": "UNLOCALIZED: Item slides",
"create.subtitle.deny": "UNLOCALIZED: Declining boop", "create.subtitle.saw_activate_stone": "UNLOCALIZED: Mechanical Saw activates",
"create.subtitle.blaze_munch": "UNLOCALIZED: Blaze Burner munches", "create.subtitle.blaze_munch": "UNLOCALIZED: Blaze Burner munches",
"create.subtitle.schematicannon_launch_block": "UNLOCALIZED: Schematicannon fires",
"create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps", "create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps",
"create.subtitle.copper_armor_equip": "UNLOCALIZED: Diving equipment clinks",
"create.subtitle.schematicannon_finish": "UNLOCALIZED: Schematicannon dings", "create.subtitle.schematicannon_finish": "UNLOCALIZED: Schematicannon dings",
"create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks", "create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks",
"create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
"create.subtitle.saw_process": "UNLOCALIZED: Mechanical Saw processes",
"create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
"create.subtitle.wrench_remove": "UNLOCALIZED: Component breaks",
"create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble",
"create.subtitle.slime_added": "UNLOCALIZED: Slime squishes",
"create.subtitle.wrench_rotate": "UNLOCALIZED: Wrench used",
"create.subtitle.saw_activate_wood": "UNLOCALIZED: Mechanical Saw activates",
"create.subtitle.deployer_polish": "UNLOCALIZED: Deployer applies polish",
"create.subtitle.deny": "UNLOCALIZED: Declining boop",
"create.subtitle.controller_click": "UNLOCALIZED: Controller clicks",
"create.subtitle.schematicannon_launch_block": "UNLOCALIZED: Schematicannon fires",
"create.subtitle.copper_armor_equip": "UNLOCALIZED: Diving equipment clinks",
"create.subtitle.mechanical_press_activation": "UNLOCALIZED: Mechanical Press clangs", "create.subtitle.mechanical_press_activation": "UNLOCALIZED: Mechanical Press clangs",
"create.subtitle.contraption_assemble": "UNLOCALIZED: Contraption moves", "create.subtitle.contraption_assemble": "UNLOCALIZED: Contraption moves",
"create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
"create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
"create.subtitle.crafter_click": "UNLOCALIZED: Crafter clicks", "create.subtitle.crafter_click": "UNLOCALIZED: Crafter clicks",
"create.subtitle.wrench_remove": "UNLOCALIZED: Component breaks",
"create.subtitle.depot_plop": "UNLOCALIZED: Item lands", "create.subtitle.depot_plop": "UNLOCALIZED: Item lands",
"create.subtitle.confirm": "UNLOCALIZED: Affirmative ding", "create.subtitle.confirm": "UNLOCALIZED: Affirmative ding",

View file

@ -1,5 +1,5 @@
{ {
"_": "Missing Localizations: 563", "_": "Missing Localizations: 568",
"_": "->------------------------] Game Elements [------------------------<-", "_": "->------------------------] Game Elements [------------------------<-",
@ -1143,28 +1143,33 @@
"_": "->------------------------] Subtitles [------------------------<-", "_": "->------------------------] Subtitles [------------------------<-",
"create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble", "create.subtitle.saw_idle": "UNLOCALIZED: Mechanical Saw turns",
"create.subtitle.slime_added": "Намазывание слизи",
"create.subtitle.contraption_disassemble": "UNLOCALIZED: Contraption stops", "create.subtitle.contraption_disassemble": "UNLOCALIZED: Contraption stops",
"create.subtitle.wrench_rotate": "UNLOCALIZED: Wrench used",
"create.subtitle.mixing": "UNLOCALIZED: Mixing Noises", "create.subtitle.mixing": "UNLOCALIZED: Mixing Noises",
"create.subtitle.mechanical_press_activation_belt": "UNLOCALIZED: Mechanical Press bonks", "create.subtitle.mechanical_press_activation_belt": "UNLOCALIZED: Mechanical Press bonks",
"create.subtitle.worldshaper_place": "UNLOCALIZED: Worldshaper zaps", "create.subtitle.worldshaper_place": "UNLOCALIZED: Worldshaper zaps",
"create.subtitle.deployer_polish": "UNLOCALIZED: Deployer applies polish",
"create.subtitle.depot_slide": "UNLOCALIZED: Item slides", "create.subtitle.depot_slide": "UNLOCALIZED: Item slides",
"create.subtitle.deny": "UNLOCALIZED: Declining boop", "create.subtitle.saw_activate_stone": "UNLOCALIZED: Mechanical Saw activates",
"create.subtitle.blaze_munch": "Всполох радостно жуёт", "create.subtitle.blaze_munch": "Всполох радостно жуёт",
"create.subtitle.schematicannon_launch_block": "Выстрелы схематичной пушки",
"create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps", "create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps",
"create.subtitle.copper_armor_equip": "UNLOCALIZED: Diving equipment clinks",
"create.subtitle.schematicannon_finish": "Схематичная пушка закончила работу", "create.subtitle.schematicannon_finish": "Схематичная пушка закончила работу",
"create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks", "create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks",
"create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
"create.subtitle.saw_process": "UNLOCALIZED: Mechanical Saw processes",
"create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
"create.subtitle.wrench_remove": "UNLOCALIZED: Component breaks",
"create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble",
"create.subtitle.slime_added": "Намазывание слизи",
"create.subtitle.wrench_rotate": "UNLOCALIZED: Wrench used",
"create.subtitle.saw_activate_wood": "UNLOCALIZED: Mechanical Saw activates",
"create.subtitle.deployer_polish": "UNLOCALIZED: Deployer applies polish",
"create.subtitle.deny": "UNLOCALIZED: Declining boop",
"create.subtitle.controller_click": "UNLOCALIZED: Controller clicks",
"create.subtitle.schematicannon_launch_block": "Выстрелы схематичной пушки",
"create.subtitle.copper_armor_equip": "UNLOCALIZED: Diving equipment clinks",
"create.subtitle.mechanical_press_activation": "Механический пресс активирован", "create.subtitle.mechanical_press_activation": "Механический пресс активирован",
"create.subtitle.contraption_assemble": "UNLOCALIZED: Contraption moves", "create.subtitle.contraption_assemble": "UNLOCALIZED: Contraption moves",
"create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
"create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
"create.subtitle.crafter_click": "UNLOCALIZED: Crafter clicks", "create.subtitle.crafter_click": "UNLOCALIZED: Crafter clicks",
"create.subtitle.wrench_remove": "UNLOCALIZED: Component breaks",
"create.subtitle.depot_plop": "UNLOCALIZED: Item lands", "create.subtitle.depot_plop": "UNLOCALIZED: Item lands",
"create.subtitle.confirm": "UNLOCALIZED: Affirmative ding", "create.subtitle.confirm": "UNLOCALIZED: Affirmative ding",

View file

@ -1,5 +1,5 @@
{ {
"_": "Missing Localizations: 49", "_": "Missing Localizations: 54",
"_": "->------------------------] Game Elements [------------------------<-", "_": "->------------------------] Game Elements [------------------------<-",
@ -1143,28 +1143,33 @@
"_": "->------------------------] Subtitles [------------------------<-", "_": "->------------------------] Subtitles [------------------------<-",
"create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble", "create.subtitle.saw_idle": "UNLOCALIZED: Mechanical Saw turns",
"create.subtitle.slime_added": "粘液:挤碎声",
"create.subtitle.contraption_disassemble": "UNLOCALIZED: Contraption stops", "create.subtitle.contraption_disassemble": "UNLOCALIZED: Contraption stops",
"create.subtitle.wrench_rotate": "UNLOCALIZED: Wrench used",
"create.subtitle.mixing": "UNLOCALIZED: Mixing Noises", "create.subtitle.mixing": "UNLOCALIZED: Mixing Noises",
"create.subtitle.mechanical_press_activation_belt": "UNLOCALIZED: Mechanical Press bonks", "create.subtitle.mechanical_press_activation_belt": "UNLOCALIZED: Mechanical Press bonks",
"create.subtitle.worldshaper_place": "UNLOCALIZED: Worldshaper zaps", "create.subtitle.worldshaper_place": "UNLOCALIZED: Worldshaper zaps",
"create.subtitle.deployer_polish": "UNLOCALIZED: Deployer applies polish",
"create.subtitle.depot_slide": "UNLOCALIZED: Item slides", "create.subtitle.depot_slide": "UNLOCALIZED: Item slides",
"create.subtitle.deny": "UNLOCALIZED: Declining boop", "create.subtitle.saw_activate_stone": "UNLOCALIZED: Mechanical Saw activates",
"create.subtitle.blaze_munch": "烈焰人:咀嚼", "create.subtitle.blaze_munch": "烈焰人:咀嚼",
"create.subtitle.schematicannon_launch_block": "蓝图加农炮:发射",
"create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps", "create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps",
"create.subtitle.copper_armor_equip": "UNLOCALIZED: Diving equipment clinks",
"create.subtitle.schematicannon_finish": "蓝图加农炮:叮", "create.subtitle.schematicannon_finish": "蓝图加农炮:叮",
"create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks", "create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks",
"create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
"create.subtitle.saw_process": "UNLOCALIZED: Mechanical Saw processes",
"create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
"create.subtitle.wrench_remove": "UNLOCALIZED: Component breaks",
"create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble",
"create.subtitle.slime_added": "粘液:挤碎声",
"create.subtitle.wrench_rotate": "UNLOCALIZED: Wrench used",
"create.subtitle.saw_activate_wood": "UNLOCALIZED: Mechanical Saw activates",
"create.subtitle.deployer_polish": "UNLOCALIZED: Deployer applies polish",
"create.subtitle.deny": "UNLOCALIZED: Declining boop",
"create.subtitle.controller_click": "UNLOCALIZED: Controller clicks",
"create.subtitle.schematicannon_launch_block": "蓝图加农炮:发射",
"create.subtitle.copper_armor_equip": "UNLOCALIZED: Diving equipment clinks",
"create.subtitle.mechanical_press_activation": "辊压机:工作中", "create.subtitle.mechanical_press_activation": "辊压机:工作中",
"create.subtitle.contraption_assemble": "UNLOCALIZED: Contraption moves", "create.subtitle.contraption_assemble": "UNLOCALIZED: Contraption moves",
"create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
"create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
"create.subtitle.crafter_click": "UNLOCALIZED: Crafter clicks", "create.subtitle.crafter_click": "UNLOCALIZED: Crafter clicks",
"create.subtitle.wrench_remove": "UNLOCALIZED: Component breaks",
"create.subtitle.depot_plop": "UNLOCALIZED: Item lands", "create.subtitle.depot_plop": "UNLOCALIZED: Item lands",
"create.subtitle.confirm": "UNLOCALIZED: Affirmative ding", "create.subtitle.confirm": "UNLOCALIZED: Affirmative ding",

View file

@ -1,5 +1,5 @@
{ {
"_": "Missing Localizations: 42", "_": "Missing Localizations: 47",
"_": "->------------------------] Game Elements [------------------------<-", "_": "->------------------------] Game Elements [------------------------<-",
@ -1143,28 +1143,33 @@
"_": "->------------------------] Subtitles [------------------------<-", "_": "->------------------------] Subtitles [------------------------<-",
"create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble", "create.subtitle.saw_idle": "UNLOCALIZED: Mechanical Saw turns",
"create.subtitle.slime_added": "黏液擠壓",
"create.subtitle.contraption_disassemble": "UNLOCALIZED: Contraption stops", "create.subtitle.contraption_disassemble": "UNLOCALIZED: Contraption stops",
"create.subtitle.wrench_rotate": "UNLOCALIZED: Wrench used",
"create.subtitle.mixing": "UNLOCALIZED: Mixing Noises", "create.subtitle.mixing": "UNLOCALIZED: Mixing Noises",
"create.subtitle.mechanical_press_activation_belt": "液壓機工作", "create.subtitle.mechanical_press_activation_belt": "液壓機工作",
"create.subtitle.worldshaper_place": "UNLOCALIZED: Worldshaper zaps", "create.subtitle.worldshaper_place": "UNLOCALIZED: Worldshaper zaps",
"create.subtitle.deployer_polish": "UNLOCALIZED: Deployer applies polish",
"create.subtitle.depot_slide": "UNLOCALIZED: Item slides", "create.subtitle.depot_slide": "UNLOCALIZED: Item slides",
"create.subtitle.deny": "UNLOCALIZED: Declining boop", "create.subtitle.saw_activate_stone": "UNLOCALIZED: Mechanical Saw activates",
"create.subtitle.blaze_munch": "烈焰使者開心地吃著", "create.subtitle.blaze_munch": "烈焰使者開心地吃著",
"create.subtitle.schematicannon_launch_block": "藍圖大炮發射",
"create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps", "create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps",
"create.subtitle.copper_armor_equip": "UNLOCALIZED: Diving equipment clinks",
"create.subtitle.schematicannon_finish": "藍圖大炮完成任務", "create.subtitle.schematicannon_finish": "藍圖大炮完成任務",
"create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks", "create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks",
"create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
"create.subtitle.saw_process": "UNLOCALIZED: Mechanical Saw processes",
"create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
"create.subtitle.wrench_remove": "UNLOCALIZED: Component breaks",
"create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble",
"create.subtitle.slime_added": "黏液擠壓",
"create.subtitle.wrench_rotate": "UNLOCALIZED: Wrench used",
"create.subtitle.saw_activate_wood": "UNLOCALIZED: Mechanical Saw activates",
"create.subtitle.deployer_polish": "UNLOCALIZED: Deployer applies polish",
"create.subtitle.deny": "UNLOCALIZED: Declining boop",
"create.subtitle.controller_click": "UNLOCALIZED: Controller clicks",
"create.subtitle.schematicannon_launch_block": "藍圖大炮發射",
"create.subtitle.copper_armor_equip": "UNLOCALIZED: Diving equipment clinks",
"create.subtitle.mechanical_press_activation": "液壓機工作", "create.subtitle.mechanical_press_activation": "液壓機工作",
"create.subtitle.contraption_assemble": "UNLOCALIZED: Contraption moves", "create.subtitle.contraption_assemble": "UNLOCALIZED: Contraption moves",
"create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
"create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
"create.subtitle.crafter_click": "UNLOCALIZED: Crafter clicks", "create.subtitle.crafter_click": "UNLOCALIZED: Crafter clicks",
"create.subtitle.wrench_remove": "UNLOCALIZED: Component breaks",
"create.subtitle.depot_plop": "UNLOCALIZED: Item lands", "create.subtitle.depot_plop": "UNLOCALIZED: Item lands",
"create.subtitle.confirm": "UNLOCALIZED: Affirmative ding", "create.subtitle.confirm": "UNLOCALIZED: Affirmative ding",

View file

@ -49,6 +49,15 @@
], ],
"subtitle": "create.subtitle.contraption_disassemble" "subtitle": "create.subtitle.contraption_disassemble"
}, },
"controller_click": {
"sounds": [
{
"name": "minecraft:entity.item_frame.add_item",
"type": "event"
}
],
"subtitle": "create.subtitle.controller_click"
},
"copper_armor_equip": { "copper_armor_equip": {
"sounds": [ "sounds": [
{ {
@ -205,6 +214,42 @@
} }
] ]
}, },
"saw_activate_stone": {
"sounds": [
{
"name": "minecraft:ui.stonecutter.take_result",
"type": "event"
}
],
"subtitle": "create.subtitle.saw_activate_stone"
},
"saw_activate_wood": {
"sounds": [
{
"name": "minecraft:entity.boat.paddle_land",
"type": "event"
}
],
"subtitle": "create.subtitle.saw_activate_wood"
},
"saw_idle": {
"sounds": [
{
"name": "minecraft:entity.boat.paddle_land",
"type": "event"
}
],
"subtitle": "create.subtitle.saw_idle"
},
"saw_process": {
"sounds": [
{
"name": "minecraft:block.sand.place",
"type": "event"
}
],
"subtitle": "create.subtitle.saw_process"
},
"schematicannon_finish": { "schematicannon_finish": {
"sounds": [ "sounds": [
{ {

View file

@ -217,6 +217,12 @@ public class AllItems {
.model(AssetLookup.itemModelWithPartials()) .model(AssetLookup.itemModelWithPartials())
.register(); .register();
public static final ItemEntry<LinkedControllerItem> LINKED_CONTROLLER =
REGISTRATE.item("linked_controller", LinkedControllerItem::new)
.transform(CreateRegistrate.customRenderedItem(() -> LinkedControllerModel::new))
.model(AssetLookup.itemModelWithPartials())
.register();
public static final ItemEntry<SymmetryWandItem> WAND_OF_SYMMETRY = public static final ItemEntry<SymmetryWandItem> WAND_OF_SYMMETRY =
REGISTRATE.item("wand_of_symmetry", SymmetryWandItem::new) REGISTRATE.item("wand_of_symmetry", SymmetryWandItem::new)
.transform(CreateRegistrate.customRenderedItem(() -> SymmetryWandModel::new)) .transform(CreateRegistrate.customRenderedItem(() -> SymmetryWandModel::new))
@ -231,12 +237,6 @@ public class AllItems {
.model(AssetLookup.itemModelWithPartials()) .model(AssetLookup.itemModelWithPartials())
.register(); .register();
public static final ItemEntry<LinkedControllerItem> LINKED_CONTROLLER =
REGISTRATE.item("linked_controller", LinkedControllerItem::new)
.transform(CreateRegistrate.customRenderedItem(() -> LinkedControllerModel::new))
.model(AssetLookup.itemModelWithPartials())
.register();
public static final ItemEntry<MinecartContraptionItem> MINECART_CONTRAPTION = public static final ItemEntry<MinecartContraptionItem> MINECART_CONTRAPTION =
REGISTRATE.item("minecart_contraption", MinecartContraptionItem::rideable) REGISTRATE.item("minecart_contraption", MinecartContraptionItem::rideable)
.register(); .register();

View file

@ -158,6 +158,31 @@ public class AllSoundEvents {
.category(SoundCategory.BLOCKS) .category(SoundCategory.BLOCKS)
.build(), .build(),
CONTROLLER_CLICK = create("controller_click").subtitle("Controller clicks")
.playExisting(SoundEvents.ENTITY_ITEM_FRAME_ADD_ITEM, .35f, 1f)
.category(SoundCategory.BLOCKS)
.build(),
SAW_ACTIVATE_WOOD = create("saw_activate_wood").subtitle("Mechanical Saw activates")
.playExisting(SoundEvents.ENTITY_BOAT_PADDLE_LAND, .75f, 1.5f)
.category(SoundCategory.BLOCKS)
.build(),
SAW_ACTIVATE_STONE = create("saw_activate_stone").subtitle("Mechanical Saw activates")
.playExisting(SoundEvents.UI_STONECUTTER_TAKE_RESULT, .125f, 1.25f)
.category(SoundCategory.BLOCKS)
.build(),
SAW_PROCESS = create("saw_process").subtitle("Mechanical Saw processes")
.playExisting(SoundEvents.BLOCK_SAND_PLACE, .075f, .75f)
.category(SoundCategory.BLOCKS)
.build(),
SAW_IDLE = create("saw_idle").subtitle("Mechanical Saw turns")
.playExisting(SoundEvents.ENTITY_BOAT_PADDLE_LAND)
.category(SoundCategory.BLOCKS)
.build(),
BLAZE_MUNCH = create("blaze_munch").subtitle("Blaze Burner munches") BLAZE_MUNCH = create("blaze_munch").subtitle("Blaze Burner munches")
.playExisting(SoundEvents.ENTITY_GENERIC_EAT, .5f, 1f) .playExisting(SoundEvents.ENTITY_GENERIC_EAT, .5f, 1f)
.category(SoundCategory.BLOCKS) .category(SoundCategory.BLOCKS)

View file

@ -21,6 +21,7 @@ import com.simibubi.create.foundation.item.TooltipHelper;
import com.simibubi.create.foundation.render.backend.FastRenderDispatcher; import com.simibubi.create.foundation.render.backend.FastRenderDispatcher;
import com.simibubi.create.foundation.render.backend.instancing.IInstanceRendered; import com.simibubi.create.foundation.render.backend.instancing.IInstanceRendered;
import com.simibubi.create.foundation.sound.SoundScapes; 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.SmartTileEntity;
import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour;
import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.foundation.utility.Lang;
@ -575,14 +576,14 @@ public abstract class KineticTileEntity extends SmartTileEntity
float componentSpeed = Math.abs(getSpeed()); float componentSpeed = Math.abs(getSpeed());
if (componentSpeed == 0) if (componentSpeed == 0)
return; return;
float pitch = MathHelper.clamp((componentSpeed / 256f) + .45f, .5f, 1.25f); float pitch = MathHelper.clamp((componentSpeed / 256f) + .45f, .85f, 1f);
if (isNoisy()) if (isNoisy())
SoundScapes.playGeneralKineticAmbience(pos, pitch); SoundScapes.play(AmbienceGroup.KINETIC, pos, pitch);
Block block = getBlockState().getBlock(); Block block = getBlockState().getBlock();
if (ICogWheel.isSmallCog(block) || ICogWheel.isLargeCog(block) || block instanceof GearboxBlock) if (ICogWheel.isSmallCog(block) || ICogWheel.isLargeCog(block) || block instanceof GearboxBlock)
SoundScapes.playCogwheelAmbience(pos, pitch); SoundScapes.play(AmbienceGroup.COG, pos, pitch);
} }
protected boolean isNoisy() { protected boolean isNoisy() {

View file

@ -10,14 +10,18 @@ import java.util.stream.Collectors;
import javax.annotation.ParametersAreNonnullByDefault; import javax.annotation.ParametersAreNonnullByDefault;
import com.simibubi.create.AllRecipeTypes; import com.simibubi.create.AllRecipeTypes;
import com.simibubi.create.AllSoundEvents;
import com.simibubi.create.AllTags; import com.simibubi.create.AllTags;
import com.simibubi.create.content.contraptions.components.actors.BlockBreakingKineticTileEntity; import com.simibubi.create.content.contraptions.components.actors.BlockBreakingKineticTileEntity;
import com.simibubi.create.content.contraptions.processing.ProcessingInventory; import com.simibubi.create.content.contraptions.processing.ProcessingInventory;
import com.simibubi.create.foundation.config.AllConfigs; import com.simibubi.create.foundation.config.AllConfigs;
import com.simibubi.create.foundation.item.ItemHelper; import com.simibubi.create.foundation.item.ItemHelper;
import com.simibubi.create.foundation.sound.SoundScapes;
import com.simibubi.create.foundation.sound.SoundScapes.AmbienceGroup;
import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour;
import com.simibubi.create.foundation.tileEntity.behaviour.belt.DirectBeltInputBehaviour; import com.simibubi.create.foundation.tileEntity.behaviour.belt.DirectBeltInputBehaviour;
import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringBehaviour; import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringBehaviour;
import com.simibubi.create.foundation.utility.NBTHelper;
import com.simibubi.create.foundation.utility.TreeCutter; import com.simibubi.create.foundation.utility.TreeCutter;
import com.simibubi.create.foundation.utility.VecHelper; import com.simibubi.create.foundation.utility.VecHelper;
import com.simibubi.create.foundation.utility.recipe.RecipeConditions; import com.simibubi.create.foundation.utility.recipe.RecipeConditions;
@ -31,10 +35,12 @@ import net.minecraft.block.CactusBlock;
import net.minecraft.block.ChorusPlantBlock; import net.minecraft.block.ChorusPlantBlock;
import net.minecraft.block.KelpBlock; import net.minecraft.block.KelpBlock;
import net.minecraft.block.KelpTopBlock; import net.minecraft.block.KelpTopBlock;
import net.minecraft.block.SoundType;
import net.minecraft.block.StemGrownBlock; import net.minecraft.block.StemGrownBlock;
import net.minecraft.block.SugarCaneBlock; import net.minecraft.block.SugarCaneBlock;
import net.minecraft.entity.item.ItemEntity; import net.minecraft.entity.item.ItemEntity;
import net.minecraft.item.BlockItem; import net.minecraft.item.BlockItem;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.IRecipe; import net.minecraft.item.crafting.IRecipe;
import net.minecraft.item.crafting.IRecipeType; import net.minecraft.item.crafting.IRecipeType;
@ -53,6 +59,8 @@ import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.vector.Vector3d; import net.minecraft.util.math.vector.Vector3d;
import net.minecraft.util.registry.Registry; import net.minecraft.util.registry.Registry;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import net.minecraftforge.common.capabilities.Capability; import net.minecraftforge.common.capabilities.Capability;
import net.minecraftforge.common.util.LazyOptional; import net.minecraftforge.common.util.LazyOptional;
import net.minecraftforge.items.CapabilityItemHandler; import net.minecraftforge.items.CapabilityItemHandler;
@ -70,6 +78,7 @@ public class SawTileEntity extends BlockBreakingKineticTileEntity {
private int recipeIndex; private int recipeIndex;
private final LazyOptional<IItemHandler> invProvider; private final LazyOptional<IItemHandler> invProvider;
private FilteringBehaviour filtering; private FilteringBehaviour filtering;
private boolean processingStarted;
public SawTileEntity(TileEntityType<? extends SawTileEntity> type) { public SawTileEntity(TileEntityType<? extends SawTileEntity> type) {
super(type); super(type);
@ -77,6 +86,7 @@ public class SawTileEntity extends BlockBreakingKineticTileEntity {
inventory.remainingTime = -1; inventory.remainingTime = -1;
recipeIndex = 0; recipeIndex = 0;
invProvider = LazyOptional.of(() -> inventory); invProvider = LazyOptional.of(() -> inventory);
processingStarted = false;
} }
@Override @Override
@ -92,6 +102,11 @@ public class SawTileEntity extends BlockBreakingKineticTileEntity {
compound.put("Inventory", inventory.serializeNBT()); compound.put("Inventory", inventory.serializeNBT());
compound.putInt("RecipeIndex", recipeIndex); compound.putInt("RecipeIndex", recipeIndex);
super.write(compound, clientPacket); super.write(compound, clientPacket);
if (!clientPacket || !processingStarted)
return;
processingStarted = false;
NBTHelper.putMarker(compound, "ProcessingStarted");
} }
@Override @Override
@ -99,6 +114,40 @@ public class SawTileEntity extends BlockBreakingKineticTileEntity {
super.fromTag(state, compound, clientPacket); super.fromTag(state, compound, clientPacket);
inventory.deserializeNBT(compound.getCompound("Inventory")); inventory.deserializeNBT(compound.getCompound("Inventory"));
recipeIndex = compound.getInt("RecipeIndex"); recipeIndex = compound.getInt("RecipeIndex");
if (compound.contains("ProcessingStarted"))
processingStarted = true;
}
@Override
@OnlyIn(Dist.CLIENT)
public void tickAudio() {
super.tickAudio();
if (getSpeed() == 0)
return;
SoundScapes.play(AmbienceGroup.SAW, pos, 1);
ItemStack stackInSlot = inventory.getStackInSlot(0);
if (stackInSlot.isEmpty())
return;
boolean isWood = false;
Item item = stackInSlot.getItem();
if (item instanceof BlockItem) {
Block block = ((BlockItem) item).getBlock();
isWood = block.getSoundType(block.getDefaultState(), world, pos, null) == SoundType.WOOD;
}
if (processingStarted) {
processingStarted = false;
if (!isWood)
AllSoundEvents.SAW_ACTIVATE_STONE.playAt(world, pos, 1, 1, true);
else
AllSoundEvents.SAW_ACTIVATE_WOOD.playAt(world, pos, 1, 1, true);
return;
}
AllSoundEvents.SAW_PROCESS.playAt(world, pos, 1, 1, true);
} }
@Override @Override
@ -123,9 +172,6 @@ public class SawTileEntity extends BlockBreakingKineticTileEntity {
if (inventory.remainingTime > 0) if (inventory.remainingTime > 0)
spawnParticles(inventory.getStackInSlot(0)); spawnParticles(inventory.getStackInSlot(0));
if (world.isRemote && !isVirtual())
return;
if (inventory.remainingTime < 20 && !inventory.appliedRecipe) { if (inventory.remainingTime < 20 && !inventory.appliedRecipe) {
applyRecipe(); applyRecipe();
inventory.appliedRecipe = true; inventory.appliedRecipe = true;
@ -320,7 +366,8 @@ public class SawTileEntity extends BlockBreakingKineticTileEntity {
List<? extends IRecipe<?>> recipes = getRecipes(); List<? extends IRecipe<?>> recipes = getRecipes();
boolean valid = !recipes.isEmpty(); boolean valid = !recipes.isEmpty();
int time = 100; processingStarted = true;
int time = 50;
if (recipes.isEmpty()) { if (recipes.isEmpty()) {
inventory.remainingTime = inventory.recipeDuration = 10; inventory.remainingTime = inventory.recipeDuration = 10;
@ -367,14 +414,16 @@ public class SawTileEntity extends BlockBreakingKineticTileEntity {
@Override @Override
public void onBlockBroken(BlockState stateToBreak) { public void onBlockBroken(BlockState stateToBreak) {
super.onBlockBroken(stateToBreak); super.onBlockBroken(stateToBreak);
TreeCutter.findTree(world, breakingPos).destroyBlocks(world, null, this::dropItemFromCutTree); TreeCutter.findTree(world, breakingPos)
.destroyBlocks(world, null, this::dropItemFromCutTree);
} }
public void dropItemFromCutTree(BlockPos pos, ItemStack stack) { public void dropItemFromCutTree(BlockPos pos, ItemStack stack) {
float distance = (float) Math.sqrt(pos.distanceSq(breakingPos)); float distance = (float) Math.sqrt(pos.distanceSq(breakingPos));
Vector3d dropPos = VecHelper.getCenterOf(pos); Vector3d dropPos = VecHelper.getCenterOf(pos);
ItemEntity entity = new ItemEntity(world, dropPos.x, dropPos.y, dropPos.z, stack); ItemEntity entity = new ItemEntity(world, dropPos.x, dropPos.y, dropPos.z, stack);
entity.setMotion(Vector3d.of(breakingPos.subtract(this.pos)).scale(distance / 20f)); entity.setMotion(Vector3d.of(breakingPos.subtract(this.pos))
.scale(distance / 20f));
world.addEntity(entity); world.addEntity(entity);
} }
@ -385,7 +434,8 @@ public class SawTileEntity extends BlockBreakingKineticTileEntity {
} }
public static boolean isSawable(BlockState stateToBreak) { public static boolean isSawable(BlockState stateToBreak) {
if (stateToBreak.isIn(BlockTags.LOGS) || AllTags.AllBlockTags.SLIMY_LOGS.matches(stateToBreak) || stateToBreak.isIn(BlockTags.LEAVES)) if (stateToBreak.isIn(BlockTags.LOGS) || AllTags.AllBlockTags.SLIMY_LOGS.matches(stateToBreak)
|| stateToBreak.isIn(BlockTags.LEAVES))
return true; return true;
Block block = stateToBreak.getBlock(); Block block = stateToBreak.getBlock();
if (block instanceof BambooBlock) if (block instanceof BambooBlock)

View file

@ -15,6 +15,7 @@ import com.google.common.io.ByteArrayDataOutput;
import com.google.common.io.ByteStreams; import com.google.common.io.ByteStreams;
import com.mojang.blaze3d.matrix.MatrixStack; import com.mojang.blaze3d.matrix.MatrixStack;
import com.simibubi.create.AllMovementBehaviours; import com.simibubi.create.AllMovementBehaviours;
import com.simibubi.create.AllSoundEvents;
import com.simibubi.create.Create; import com.simibubi.create.Create;
import com.simibubi.create.content.contraptions.components.actors.SeatEntity; import com.simibubi.create.content.contraptions.components.actors.SeatEntity;
import com.simibubi.create.content.contraptions.components.structureMovement.glue.SuperGlueEntity; import com.simibubi.create.content.contraptions.components.structureMovement.glue.SuperGlueEntity;
@ -467,6 +468,7 @@ public abstract class AbstractContraptionEntity extends Entity implements IEntit
removePassengers(); removePassengers();
moveCollidedEntitiesOnDisassembly(transform); moveCollidedEntitiesOnDisassembly(transform);
AllSoundEvents.CONTRAPTION_DISASSEMBLE.playOnServer(world, getBlockPos());
} }
private void moveCollidedEntitiesOnDisassembly(StructureTransform transform) { private void moveCollidedEntitiesOnDisassembly(StructureTransform transform) {

View file

@ -3,6 +3,7 @@ package com.simibubi.create.content.contraptions.components.structureMovement.ga
import static net.minecraft.state.properties.BlockStateProperties.FACING; import static net.minecraft.state.properties.BlockStateProperties.FACING;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllSoundEvents;
import com.simibubi.create.content.contraptions.base.KineticTileEntity; import com.simibubi.create.content.contraptions.base.KineticTileEntity;
import com.simibubi.create.content.contraptions.components.structureMovement.AssemblyException; import com.simibubi.create.content.contraptions.components.structureMovement.AssemblyException;
import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionCollider; import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionCollider;
@ -107,6 +108,7 @@ public class GantryCarriageTileEntity extends KineticTileEntity implements IDisp
GantryContraptionEntity.create(world, contraption, shaftOrientation); GantryContraptionEntity.create(world, contraption, shaftOrientation);
BlockPos anchor = pos; BlockPos anchor = pos;
movedContraption.setPosition(anchor.getX(), anchor.getY(), anchor.getZ()); movedContraption.setPosition(anchor.getX(), anchor.getY(), anchor.getZ());
AllSoundEvents.CONTRAPTION_ASSEMBLE.playOnServer(world, pos);
world.addEntity(movedContraption); world.addEntity(movedContraption);
} }

View file

@ -3,11 +3,13 @@ package com.simibubi.create.content.curiosities.armor;
import com.simibubi.create.AllItems; import com.simibubi.create.AllItems;
import net.minecraft.entity.LivingEntity; import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.inventory.EquipmentSlotType; import net.minecraft.inventory.EquipmentSlotType;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompoundNBT; import net.minecraft.nbt.CompoundNBT;
import net.minecraft.potion.EffectInstance; import net.minecraft.potion.EffectInstance;
import net.minecraft.potion.Effects; import net.minecraft.potion.Effects;
import net.minecraft.tags.FluidTags;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.eventbus.api.SubscribeEvent;
@ -34,7 +36,9 @@ public class DivingHelmetItem extends CopperArmorItem {
if (!AllItems.DIVING_HELMET.get() if (!AllItems.DIVING_HELMET.get()
.isWornBy(entity)) .isWornBy(entity))
return; return;
if (!entity.isInWater()) if (!entity.areEyesInFluid(FluidTags.WATER))
return;
if (entity instanceof PlayerEntity && ((PlayerEntity) entity).isCreative())
return; return;
ItemStack backtank = ItemStack.EMPTY; ItemStack backtank = ItemStack.EMPTY;

View file

@ -10,6 +10,7 @@ import org.lwjgl.glfw.GLFW;
import com.mojang.blaze3d.matrix.MatrixStack; import com.mojang.blaze3d.matrix.MatrixStack;
import com.simibubi.create.AllItems; import com.simibubi.create.AllItems;
import com.simibubi.create.AllSoundEvents;
import com.simibubi.create.CreateClient; import com.simibubi.create.CreateClient;
import com.simibubi.create.content.contraptions.goggles.GoggleOverlayRenderer.TooltipScreen; import com.simibubi.create.content.contraptions.goggles.GoggleOverlayRenderer.TooltipScreen;
import com.simibubi.create.foundation.item.TooltipHelper; import com.simibubi.create.foundation.item.TooltipHelper;
@ -137,13 +138,16 @@ public class LinkedControllerClientHandler {
if (MODE == Mode.ACTIVE) { if (MODE == Mode.ACTIVE) {
// Released Keys // Released Keys
if (!releasedKeys.isEmpty()) if (!releasedKeys.isEmpty()) {
AllPackets.channel.sendToServer(new LinkedControllerInputPacket(releasedKeys, false)); AllPackets.channel.sendToServer(new LinkedControllerInputPacket(releasedKeys, false));
AllSoundEvents.CONTROLLER_CLICK.playAt(player.world, player.getBlockPos(), 1f, .5f, true);
}
// Newly Pressed Keys // Newly Pressed Keys
if (!newKeys.isEmpty()) { if (!newKeys.isEmpty()) {
AllPackets.channel.sendToServer(new LinkedControllerInputPacket(newKeys, true)); AllPackets.channel.sendToServer(new LinkedControllerInputPacket(newKeys, true));
packetCooldown = PACKET_RATE; packetCooldown = PACKET_RATE;
AllSoundEvents.CONTROLLER_CLICK.playAt(player.world, player.getBlockPos(), 1f, .75f, true);
} }
// Keepalive Pressed Keys // Keepalive Pressed Keys

View file

@ -9,6 +9,7 @@ import com.simibubi.create.foundation.utility.AnimationTickHolder;
import com.simibubi.create.foundation.utility.VecHelper; import com.simibubi.create.foundation.utility.VecHelper;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.entity.Entity;
import net.minecraft.util.SoundEvent; import net.minecraft.util.SoundEvent;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.MathHelper;
@ -80,9 +81,16 @@ class SoundScape {
} }
public float getVolume() { public float getVolume() {
Entity renderViewEntity = Minecraft.getInstance().renderViewEntity;
float distanceMultiplier = 0;
if (renderViewEntity != null) {
double distanceTo = renderViewEntity.getPositionVec()
.distanceTo(getMeanPos());
distanceMultiplier = (float) MathHelper.lerp(distanceTo / SoundScapes.MAX_AMBIENT_SOURCE_DISTANCE, 2, 0);
}
int soundCount = SoundScapes.getSoundCount(group, pitchGroup); int soundCount = SoundScapes.getSoundCount(group, pitchGroup);
float argMax = (float) SoundScapes.SOUND_VOLUME_ARG_MAX; float argMax = (float) SoundScapes.SOUND_VOLUME_ARG_MAX;
return MathHelper.clamp(soundCount / (argMax * 10f), 0.075f, .15f); return MathHelper.clamp(soundCount / (argMax * 10f), 0.025f, .15f) * distanceMultiplier;
} }
} }

View file

@ -25,9 +25,12 @@ public class SoundScapes {
static final int UPDATE_INTERVAL = 5; static final int UPDATE_INTERVAL = 5;
static final int SOUND_VOLUME_ARG_MAX = 15; static final int SOUND_VOLUME_ARG_MAX = 15;
enum AmbienceGroup { public enum AmbienceGroup {
KINETIC(SoundScapes::kinetic), COG(SoundScapes::cogwheel) KINETIC(SoundScapes::kinetic),
COG(SoundScapes::cogwheel),
SAW((p, g) -> new SoundScape(p, g).repeating(AllSoundEvents.SAW_IDLE.getMainEvent(), 1f, .95f, 1))
; ;
@ -48,7 +51,7 @@ public class SoundScapes {
} }
private static SoundScape cogwheel(float pitch, AmbienceGroup group) { private static SoundScape cogwheel(float pitch, AmbienceGroup group) {
return new SoundScape(pitch, group).continuous(AllSoundEvents.COGS.getMainEvent(), 3, 1); return new SoundScape(pitch, group).continuous(AllSoundEvents.COGS.getMainEvent(), 1.5f, 1);
} }
enum PitchGroup { enum PitchGroup {
@ -58,14 +61,9 @@ public class SoundScapes {
private static Map<AmbienceGroup, Map<PitchGroup, Set<BlockPos>>> counter = new IdentityHashMap<>(); private static Map<AmbienceGroup, Map<PitchGroup, Set<BlockPos>>> counter = new IdentityHashMap<>();
private static Map<Pair<AmbienceGroup, PitchGroup>, SoundScape> activeSounds = new HashMap<>(); private static Map<Pair<AmbienceGroup, PitchGroup>, SoundScape> activeSounds = new HashMap<>();
public static void playGeneralKineticAmbience(BlockPos pos, float pitch) { public static void play(AmbienceGroup group, BlockPos pos, float pitch) {
if (!outOfRange(pos)) if (!outOfRange(pos))
addSound(AmbienceGroup.KINETIC, pos, pitch); addSound(group, pos, pitch);
}
public static void playCogwheelAmbience(BlockPos pos, float pitch) {
if (!outOfRange(pos))
addSound(AmbienceGroup.COG, pos, pitch);
} }
public static void tick() { public static void tick() {
@ -93,7 +91,7 @@ public class SoundScapes {
.forEach(Set::clear)); .forEach(Set::clear));
} }
public static void addSound(AmbienceGroup group, BlockPos pos, float pitch) { private static void addSound(AmbienceGroup group, BlockPos pos, float pitch) {
PitchGroup groupFromPitch = getGroupFromPitch(pitch); PitchGroup groupFromPitch = getGroupFromPitch(pitch);
Set<BlockPos> set = counter.computeIfAbsent(group, ag -> new IdentityHashMap<>()) Set<BlockPos> set = counter.computeIfAbsent(group, ag -> new IdentityHashMap<>())
.computeIfAbsent(groupFromPitch, pg -> new HashSet<>()); .computeIfAbsent(groupFromPitch, pg -> new HashSet<>());