SoundScapes, Part II

- Picking items off belts, depots, basins
- Arms collecting an item
- Mixing noises
- Cranking click noises
- Scroll-input noises
This commit is contained in:
simibubi 2021-04-20 17:26:46 +02:00
parent 9391700c26
commit 559146ef04
25 changed files with 248 additions and 45 deletions

View file

@ -407,19 +407,19 @@ 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
97e9ee471ea650f6b7f3d3f39f00201cd5ad752d assets/create/lang/en_ud.json 97e9ee471ea650f6b7f3d3f39f00201cd5ad752d assets/create/lang/en_ud.json
af76eb706726692eaf7f9f50f40c9278a10c539d assets/create/lang/en_us.json 514ab1f6fa3d24dc575a5dcaaaa96a8009da7414 assets/create/lang/en_us.json
ec771f0345e4148458035ec8cd4bffc480b45f47 assets/create/lang/unfinished/de_de.json 7e45e9a69fb4d21d199174673f2ea6fe35ee6859 assets/create/lang/unfinished/de_de.json
8ff19eddb1cbf42e3f16abc3968b7554b45d0769 assets/create/lang/unfinished/es_es.json 2af0dd8cd0776b8ed5110990405f3cd515abe8e8 assets/create/lang/unfinished/es_es.json
d7b6c821789f32ed7c4324bb17502cf75ee8b219 assets/create/lang/unfinished/es_mx.json 90fc3a9475b957eebf10380a960416b072987541 assets/create/lang/unfinished/es_mx.json
f4fd19eb4e2d60947b675efe7bc9b27dc7036cd4 assets/create/lang/unfinished/fr_fr.json 997cc00c6a9afbb142e25c5a1840908363afad41 assets/create/lang/unfinished/fr_fr.json
c219fafeb713fb4e13a5c1c5fa6a0268fe35cc5f assets/create/lang/unfinished/it_it.json 6a9c89ff7a7c2df5f78a6a739a204744a4a5607a assets/create/lang/unfinished/it_it.json
c44d961f8bb66645257d03dd1f44447cc529cf7b assets/create/lang/unfinished/ja_jp.json e21697e70444e3c8fb367b7a4fe867726157390d assets/create/lang/unfinished/ja_jp.json
723457b7ff8a06e3d50870e33fa0e5a0db16f9a6 assets/create/lang/unfinished/ko_kr.json 9f2d7b6fc84f6257837b4c517489f6ef31a4e1a5 assets/create/lang/unfinished/ko_kr.json
32bffbc8b9b6d02793aaa7328de2ca7c178d87dc assets/create/lang/unfinished/nl_nl.json 5bcfe026f3bb3f0aa0ea415e54dedad4195bb70a assets/create/lang/unfinished/nl_nl.json
27a2d533fa7be9e9e982a1c4b93bb0e5c01e6bf0 assets/create/lang/unfinished/pt_br.json bc60cb08266e8d13523d086cdb85aa12da78a47b assets/create/lang/unfinished/pt_br.json
878bab030e26e6c26fdd5199284aa23d2fb79cc5 assets/create/lang/unfinished/ru_ru.json 288e3e76a1aa090a676415aeb9f5383b3386e40d assets/create/lang/unfinished/ru_ru.json
7648680dd52bb8f0ba04de23038c0530d37fe7fc assets/create/lang/unfinished/zh_cn.json 0b6852ca1cea71d24cfdee7004ab37fa7810a0fe assets/create/lang/unfinished/zh_cn.json
624b2a537ee44a2493806414a512805a5683d155 assets/create/lang/unfinished/zh_tw.json 619d82eba592f4ae88ddbc2c9dfae02627876300 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
@ -1648,7 +1648,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
736b2475009be0a214894aad0a42cc2760d2f982 assets/create/sounds.json 71739e613693c476e481dfcf38628a4f52f0f570 assets/create/sounds.json
5d0cc4c0255dc241e61c173b31ddca70c88d08e4 data/create/advancements/aesthetics.json 5d0cc4c0255dc241e61c173b31ddca70c88d08e4 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

@ -1154,6 +1154,7 @@
"create.subtitle.cogs": "Cogwheels rumble", "create.subtitle.cogs": "Cogwheels rumble",
"create.subtitle.slime_added": "Slime squishes", "create.subtitle.slime_added": "Slime squishes",
"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.blockzapper_confirm": "Affirmative ding", "create.subtitle.blockzapper_confirm": "Affirmative ding",
"create.subtitle.depot_slide": "Item slides", "create.subtitle.depot_slide": "Item slides",
@ -1162,8 +1163,10 @@
"create.subtitle.schematicannon_launch_block": "Schematicannon fires", "create.subtitle.schematicannon_launch_block": "Schematicannon fires",
"create.subtitle.funnel_flap": "Funnel Flaps", "create.subtitle.funnel_flap": "Funnel Flaps",
"create.subtitle.schematicannon_finish": "Schematicannon dings", "create.subtitle.schematicannon_finish": "Schematicannon dings",
"create.subtitle.scroll_value": "Scroll-input clicks",
"create.subtitle.mechanical_press_activation": "Mechanical Press clangs", "create.subtitle.mechanical_press_activation": "Mechanical Press clangs",
"create.subtitle.blockzapper_deny": "Declining boop", "create.subtitle.blockzapper_deny": "Declining boop",
"create.subtitle.cranking": "Hand Crank turns",
"create.subtitle.depot_plop": "Item lands", "create.subtitle.depot_plop": "Item lands",

View file

@ -1,5 +1,5 @@
{ {
"_": "Missing Localizations: 918", "_": "Missing Localizations: 921",
"_": "->------------------------] Game Elements [------------------------<-", "_": "->------------------------] Game Elements [------------------------<-",
@ -1155,6 +1155,7 @@
"create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble", "create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble",
"create.subtitle.slime_added": "Schleim matscht", "create.subtitle.slime_added": "Schleim matscht",
"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.blockzapper_confirm": "Bestätigendes Ding", "create.subtitle.blockzapper_confirm": "Bestätigendes Ding",
"create.subtitle.depot_slide": "UNLOCALIZED: Item slides", "create.subtitle.depot_slide": "UNLOCALIZED: Item slides",
@ -1163,8 +1164,10 @@
"create.subtitle.schematicannon_launch_block": "Bauplankanone schießt", "create.subtitle.schematicannon_launch_block": "Bauplankanone schießt",
"create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps", "create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps",
"create.subtitle.schematicannon_finish": "Bauplankanone endet", "create.subtitle.schematicannon_finish": "Bauplankanone endet",
"create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks",
"create.subtitle.mechanical_press_activation": "Mechanische Presse wird aktiviert", "create.subtitle.mechanical_press_activation": "Mechanische Presse wird aktiviert",
"create.subtitle.blockzapper_deny": "Ablehnendes Boop", "create.subtitle.blockzapper_deny": "Ablehnendes Boop",
"create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
"create.subtitle.depot_plop": "UNLOCALIZED: Item lands", "create.subtitle.depot_plop": "UNLOCALIZED: Item lands",

View file

@ -1,5 +1,5 @@
{ {
"_": "Missing Localizations: 611", "_": "Missing Localizations: 614",
"_": "->------------------------] Game Elements [------------------------<-", "_": "->------------------------] Game Elements [------------------------<-",
@ -1155,6 +1155,7 @@
"create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble", "create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble",
"create.subtitle.slime_added": "Slime aplastado", "create.subtitle.slime_added": "Slime aplastado",
"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.blockzapper_confirm": "Ding afirmativo", "create.subtitle.blockzapper_confirm": "Ding afirmativo",
"create.subtitle.depot_slide": "UNLOCALIZED: Item slides", "create.subtitle.depot_slide": "UNLOCALIZED: Item slides",
@ -1163,8 +1164,10 @@
"create.subtitle.schematicannon_launch_block": "Disparos de Schematicannon", "create.subtitle.schematicannon_launch_block": "Disparos de Schematicannon",
"create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps", "create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps",
"create.subtitle.schematicannon_finish": "Acabados de Schematicannon", "create.subtitle.schematicannon_finish": "Acabados de Schematicannon",
"create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks",
"create.subtitle.mechanical_press_activation": "La Prensa Mecánica se activa", "create.subtitle.mechanical_press_activation": "La Prensa Mecánica se activa",
"create.subtitle.blockzapper_deny": "Boop declinante", "create.subtitle.blockzapper_deny": "Boop declinante",
"create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
"create.subtitle.depot_plop": "UNLOCALIZED: Item lands", "create.subtitle.depot_plop": "UNLOCALIZED: Item lands",

View file

@ -1,5 +1,5 @@
{ {
"_": "Missing Localizations: 1269", "_": "Missing Localizations: 1272",
"_": "->------------------------] Game Elements [------------------------<-", "_": "->------------------------] Game Elements [------------------------<-",
@ -1155,6 +1155,7 @@
"create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble", "create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble",
"create.subtitle.slime_added": "UNLOCALIZED: Slime squishes", "create.subtitle.slime_added": "UNLOCALIZED: Slime squishes",
"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.blockzapper_confirm": "UNLOCALIZED: Affirmative ding", "create.subtitle.blockzapper_confirm": "UNLOCALIZED: Affirmative ding",
"create.subtitle.depot_slide": "UNLOCALIZED: Item slides", "create.subtitle.depot_slide": "UNLOCALIZED: Item slides",
@ -1163,8 +1164,10 @@
"create.subtitle.schematicannon_launch_block": "UNLOCALIZED: Schematicannon fires", "create.subtitle.schematicannon_launch_block": "UNLOCALIZED: Schematicannon fires",
"create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps", "create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps",
"create.subtitle.schematicannon_finish": "UNLOCALIZED: Schematicannon dings", "create.subtitle.schematicannon_finish": "UNLOCALIZED: Schematicannon dings",
"create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks",
"create.subtitle.mechanical_press_activation": "UNLOCALIZED: Mechanical Press clangs", "create.subtitle.mechanical_press_activation": "UNLOCALIZED: Mechanical Press clangs",
"create.subtitle.blockzapper_deny": "UNLOCALIZED: Declining boop", "create.subtitle.blockzapper_deny": "UNLOCALIZED: Declining boop",
"create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
"create.subtitle.depot_plop": "UNLOCALIZED: Item lands", "create.subtitle.depot_plop": "UNLOCALIZED: Item lands",

View file

@ -1,5 +1,5 @@
{ {
"_": "Missing Localizations: 1168", "_": "Missing Localizations: 1171",
"_": "->------------------------] Game Elements [------------------------<-", "_": "->------------------------] Game Elements [------------------------<-",
@ -1155,6 +1155,7 @@
"create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble", "create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble",
"create.subtitle.slime_added": "Bruit de slime", "create.subtitle.slime_added": "Bruit de slime",
"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.blockzapper_confirm": "Ding d'affirmation", "create.subtitle.blockzapper_confirm": "Ding d'affirmation",
"create.subtitle.depot_slide": "UNLOCALIZED: Item slides", "create.subtitle.depot_slide": "UNLOCALIZED: Item slides",
@ -1163,8 +1164,10 @@
"create.subtitle.schematicannon_launch_block": "Tir de schémacanon", "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.schematicannon_finish": "Fin de schémacanon", "create.subtitle.schematicannon_finish": "Fin de schémacanon",
"create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks",
"create.subtitle.mechanical_press_activation": "Activation de la presse mechanique", "create.subtitle.mechanical_press_activation": "Activation de la presse mechanique",
"create.subtitle.blockzapper_deny": "Boop de déclin", "create.subtitle.blockzapper_deny": "Boop de déclin",
"create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
"create.subtitle.depot_plop": "UNLOCALIZED: Item lands", "create.subtitle.depot_plop": "UNLOCALIZED: Item lands",

View file

@ -1,5 +1,5 @@
{ {
"_": "Missing Localizations: 628", "_": "Missing Localizations: 631",
"_": "->------------------------] Game Elements [------------------------<-", "_": "->------------------------] Game Elements [------------------------<-",
@ -1155,6 +1155,7 @@
"create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble", "create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble",
"create.subtitle.slime_added": "Slime schiacciato", "create.subtitle.slime_added": "Slime schiacciato",
"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.blockzapper_confirm": "Ding affermativo", "create.subtitle.blockzapper_confirm": "Ding affermativo",
"create.subtitle.depot_slide": "UNLOCALIZED: Item slides", "create.subtitle.depot_slide": "UNLOCALIZED: Item slides",
@ -1163,8 +1164,10 @@
"create.subtitle.schematicannon_launch_block": "Tiri del cannoneschematico", "create.subtitle.schematicannon_launch_block": "Tiri del cannoneschematico",
"create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps", "create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps",
"create.subtitle.schematicannon_finish": "Finiture cannoneschematico", "create.subtitle.schematicannon_finish": "Finiture cannoneschematico",
"create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks",
"create.subtitle.mechanical_press_activation": "Pressa meccanica attiva", "create.subtitle.mechanical_press_activation": "Pressa meccanica attiva",
"create.subtitle.blockzapper_deny": "Boop in calo", "create.subtitle.blockzapper_deny": "Boop in calo",
"create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
"create.subtitle.depot_plop": "UNLOCALIZED: Item lands", "create.subtitle.depot_plop": "UNLOCALIZED: Item lands",

View file

@ -1,5 +1,5 @@
{ {
"_": "Missing Localizations: 610", "_": "Missing Localizations: 613",
"_": "->------------------------] Game Elements [------------------------<-", "_": "->------------------------] Game Elements [------------------------<-",
@ -1155,6 +1155,7 @@
"create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble", "create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble",
"create.subtitle.slime_added": "スライムがぐしゃっとつぶれる", "create.subtitle.slime_added": "スライムがぐしゃっとつぶれる",
"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.blockzapper_confirm": "成功音", "create.subtitle.blockzapper_confirm": "成功音",
"create.subtitle.depot_slide": "UNLOCALIZED: Item slides", "create.subtitle.depot_slide": "UNLOCALIZED: Item slides",
@ -1163,8 +1164,10 @@
"create.subtitle.schematicannon_launch_block": "概略図砲が発射する", "create.subtitle.schematicannon_launch_block": "概略図砲が発射する",
"create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps", "create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps",
"create.subtitle.schematicannon_finish": "概略図砲が作業を終える", "create.subtitle.schematicannon_finish": "概略図砲が作業を終える",
"create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks",
"create.subtitle.mechanical_press_activation": "メカニカルプレスが作動する", "create.subtitle.mechanical_press_activation": "メカニカルプレスが作動する",
"create.subtitle.blockzapper_deny": "失敗音", "create.subtitle.blockzapper_deny": "失敗音",
"create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
"create.subtitle.depot_plop": "UNLOCALIZED: Item lands", "create.subtitle.depot_plop": "UNLOCALIZED: Item lands",

View file

@ -1,5 +1,5 @@
{ {
"_": "Missing Localizations: 681", "_": "Missing Localizations: 684",
"_": "->------------------------] Game Elements [------------------------<-", "_": "->------------------------] Game Elements [------------------------<-",
@ -1155,6 +1155,7 @@
"create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble", "create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble",
"create.subtitle.slime_added": "슬라임이 철퍽거림", "create.subtitle.slime_added": "슬라임이 철퍽거림",
"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.blockzapper_confirm": "확인 효과음", "create.subtitle.blockzapper_confirm": "확인 효과음",
"create.subtitle.depot_slide": "UNLOCALIZED: Item slides", "create.subtitle.depot_slide": "UNLOCALIZED: Item slides",
@ -1163,8 +1164,10 @@
"create.subtitle.schematicannon_launch_block": "청사진 대포가 발포함", "create.subtitle.schematicannon_launch_block": "청사진 대포가 발포함",
"create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps", "create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps",
"create.subtitle.schematicannon_finish": "청사진 대포가 끝남", "create.subtitle.schematicannon_finish": "청사진 대포가 끝남",
"create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks",
"create.subtitle.mechanical_press_activation": "압착기가 가동됨", "create.subtitle.mechanical_press_activation": "압착기가 가동됨",
"create.subtitle.blockzapper_deny": "취소 효과음", "create.subtitle.blockzapper_deny": "취소 효과음",
"create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
"create.subtitle.depot_plop": "UNLOCALIZED: Item lands", "create.subtitle.depot_plop": "UNLOCALIZED: Item lands",

View file

@ -1,5 +1,5 @@
{ {
"_": "Missing Localizations: 1558", "_": "Missing Localizations: 1561",
"_": "->------------------------] Game Elements [------------------------<-", "_": "->------------------------] Game Elements [------------------------<-",
@ -1155,6 +1155,7 @@
"create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble", "create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble",
"create.subtitle.slime_added": "UNLOCALIZED: Slime squishes", "create.subtitle.slime_added": "UNLOCALIZED: Slime squishes",
"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.blockzapper_confirm": "UNLOCALIZED: Affirmative ding", "create.subtitle.blockzapper_confirm": "UNLOCALIZED: Affirmative ding",
"create.subtitle.depot_slide": "UNLOCALIZED: Item slides", "create.subtitle.depot_slide": "UNLOCALIZED: Item slides",
@ -1163,8 +1164,10 @@
"create.subtitle.schematicannon_launch_block": "UNLOCALIZED: Schematicannon fires", "create.subtitle.schematicannon_launch_block": "UNLOCALIZED: Schematicannon fires",
"create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps", "create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps",
"create.subtitle.schematicannon_finish": "UNLOCALIZED: Schematicannon dings", "create.subtitle.schematicannon_finish": "UNLOCALIZED: Schematicannon dings",
"create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks",
"create.subtitle.mechanical_press_activation": "UNLOCALIZED: Mechanical Press clangs", "create.subtitle.mechanical_press_activation": "UNLOCALIZED: Mechanical Press clangs",
"create.subtitle.blockzapper_deny": "UNLOCALIZED: Declining boop", "create.subtitle.blockzapper_deny": "UNLOCALIZED: Declining boop",
"create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
"create.subtitle.depot_plop": "UNLOCALIZED: Item lands", "create.subtitle.depot_plop": "UNLOCALIZED: Item lands",

View file

@ -1,5 +1,5 @@
{ {
"_": "Missing Localizations: 1612", "_": "Missing Localizations: 1615",
"_": "->------------------------] Game Elements [------------------------<-", "_": "->------------------------] Game Elements [------------------------<-",
@ -1155,6 +1155,7 @@
"create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble", "create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble",
"create.subtitle.slime_added": "UNLOCALIZED: Slime squishes", "create.subtitle.slime_added": "UNLOCALIZED: Slime squishes",
"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.blockzapper_confirm": "UNLOCALIZED: Affirmative ding", "create.subtitle.blockzapper_confirm": "UNLOCALIZED: Affirmative ding",
"create.subtitle.depot_slide": "UNLOCALIZED: Item slides", "create.subtitle.depot_slide": "UNLOCALIZED: Item slides",
@ -1163,8 +1164,10 @@
"create.subtitle.schematicannon_launch_block": "UNLOCALIZED: Schematicannon fires", "create.subtitle.schematicannon_launch_block": "UNLOCALIZED: Schematicannon fires",
"create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps", "create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps",
"create.subtitle.schematicannon_finish": "UNLOCALIZED: Schematicannon dings", "create.subtitle.schematicannon_finish": "UNLOCALIZED: Schematicannon dings",
"create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks",
"create.subtitle.mechanical_press_activation": "UNLOCALIZED: Mechanical Press clangs", "create.subtitle.mechanical_press_activation": "UNLOCALIZED: Mechanical Press clangs",
"create.subtitle.blockzapper_deny": "UNLOCALIZED: Declining boop", "create.subtitle.blockzapper_deny": "UNLOCALIZED: Declining boop",
"create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
"create.subtitle.depot_plop": "UNLOCALIZED: Item lands", "create.subtitle.depot_plop": "UNLOCALIZED: Item lands",

View file

@ -1,5 +1,5 @@
{ {
"_": "Missing Localizations: 525", "_": "Missing Localizations: 528",
"_": "->------------------------] Game Elements [------------------------<-", "_": "->------------------------] Game Elements [------------------------<-",
@ -1155,6 +1155,7 @@
"create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble", "create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble",
"create.subtitle.slime_added": "Намазывание слизи", "create.subtitle.slime_added": "Намазывание слизи",
"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.blockzapper_confirm": "Утвердительный динь", "create.subtitle.blockzapper_confirm": "Утвердительный динь",
"create.subtitle.depot_slide": "UNLOCALIZED: Item slides", "create.subtitle.depot_slide": "UNLOCALIZED: Item slides",
@ -1163,8 +1164,10 @@
"create.subtitle.schematicannon_launch_block": "Выстрелы схематичной пушки", "create.subtitle.schematicannon_launch_block": "Выстрелы схематичной пушки",
"create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps", "create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps",
"create.subtitle.schematicannon_finish": "Схематичная пушка закончила работу", "create.subtitle.schematicannon_finish": "Схематичная пушка закончила работу",
"create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks",
"create.subtitle.mechanical_press_activation": "Механический пресс активирован", "create.subtitle.mechanical_press_activation": "Механический пресс активирован",
"create.subtitle.blockzapper_deny": "Тихий буп", "create.subtitle.blockzapper_deny": "Тихий буп",
"create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
"create.subtitle.depot_plop": "UNLOCALIZED: Item lands", "create.subtitle.depot_plop": "UNLOCALIZED: Item lands",

View file

@ -1,5 +1,5 @@
{ {
"_": "Missing Localizations: 625", "_": "Missing Localizations: 628",
"_": "->------------------------] Game Elements [------------------------<-", "_": "->------------------------] Game Elements [------------------------<-",
@ -1155,6 +1155,7 @@
"create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble", "create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble",
"create.subtitle.slime_added": "粘液:挤碎声", "create.subtitle.slime_added": "粘液:挤碎声",
"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.blockzapper_confirm": "选择方块", "create.subtitle.blockzapper_confirm": "选择方块",
"create.subtitle.depot_slide": "UNLOCALIZED: Item slides", "create.subtitle.depot_slide": "UNLOCALIZED: Item slides",
@ -1163,8 +1164,10 @@
"create.subtitle.schematicannon_launch_block": "蓝图加农炮:发射", "create.subtitle.schematicannon_launch_block": "蓝图加农炮:发射",
"create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps", "create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps",
"create.subtitle.schematicannon_finish": "蓝图加农炮:完成任务", "create.subtitle.schematicannon_finish": "蓝图加农炮:完成任务",
"create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks",
"create.subtitle.mechanical_press_activation": "辊压机:工作中", "create.subtitle.mechanical_press_activation": "辊压机:工作中",
"create.subtitle.blockzapper_deny": "放置失败", "create.subtitle.blockzapper_deny": "放置失败",
"create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
"create.subtitle.depot_plop": "UNLOCALIZED: Item lands", "create.subtitle.depot_plop": "UNLOCALIZED: Item lands",

View file

@ -1,5 +1,5 @@
{ {
"_": "Missing Localizations: 630", "_": "Missing Localizations: 633",
"_": "->------------------------] Game Elements [------------------------<-", "_": "->------------------------] Game Elements [------------------------<-",
@ -1155,6 +1155,7 @@
"create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble", "create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble",
"create.subtitle.slime_added": "黏液擠壓", "create.subtitle.slime_added": "黏液擠壓",
"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.blockzapper_confirm": "選擇方塊", "create.subtitle.blockzapper_confirm": "選擇方塊",
"create.subtitle.depot_slide": "UNLOCALIZED: Item slides", "create.subtitle.depot_slide": "UNLOCALIZED: Item slides",
@ -1163,8 +1164,10 @@
"create.subtitle.schematicannon_launch_block": "藍圖大炮發射", "create.subtitle.schematicannon_launch_block": "藍圖大炮發射",
"create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps", "create.subtitle.funnel_flap": "UNLOCALIZED: Funnel Flaps",
"create.subtitle.schematicannon_finish": "藍圖大炮完成任務", "create.subtitle.schematicannon_finish": "藍圖大炮完成任務",
"create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks",
"create.subtitle.mechanical_press_activation": "液壓機工作", "create.subtitle.mechanical_press_activation": "液壓機工作",
"create.subtitle.blockzapper_deny": "放置失敗", "create.subtitle.blockzapper_deny": "放置失敗",
"create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
"create.subtitle.depot_plop": "UNLOCALIZED: Item lands", "create.subtitle.depot_plop": "UNLOCALIZED: Item lands",

View file

@ -41,6 +41,23 @@
], ],
"subtitle": "create.subtitle.cogs" "subtitle": "create.subtitle.cogs"
}, },
"cranking": {
"sounds": [
{
"name": "minecraft:block.wood.place",
"type": "event"
}
],
"subtitle": "create.subtitle.cranking"
},
"cranking_compounded_1": {
"sounds": [
{
"name": "minecraft:block.wooden_button.click_off",
"type": "event"
}
]
},
"depot_plop": { "depot_plop": {
"sounds": [ "sounds": [
{ {
@ -71,7 +88,7 @@
"funnel_flap_compounded_1": { "funnel_flap_compounded_1": {
"sounds": [ "sounds": [
{ {
"name": "minecraft:block.wool.place", "name": "minecraft:block.wool.break",
"type": "event" "type": "event"
} }
] ]
@ -110,6 +127,23 @@
} }
] ]
}, },
"mixing": {
"sounds": [
{
"name": "minecraft:block.gilded_blackstone.break",
"type": "event"
}
],
"subtitle": "create.subtitle.mixing"
},
"mixing_compounded_1": {
"sounds": [
{
"name": "minecraft:block.netherrack.break",
"type": "event"
}
]
},
"schematicannon_finish": { "schematicannon_finish": {
"sounds": [ "sounds": [
{ {
@ -128,6 +162,15 @@
], ],
"subtitle": "create.subtitle.schematicannon_launch_block" "subtitle": "create.subtitle.schematicannon_launch_block"
}, },
"scroll_value": {
"sounds": [
{
"name": "minecraft:block.note_block.hat",
"type": "event"
}
],
"subtitle": "create.subtitle.scroll_value"
},
"slime_added": { "slime_added": {
"sounds": [ "sounds": [
{ {

View file

@ -79,10 +79,27 @@ public class AllSoundEvents {
.category(SoundCategory.BLOCKS) .category(SoundCategory.BLOCKS)
.build(), .build(),
MIXING = create("mixing").subtitle("Mixing Noises")
.playExisting(SoundEvents.BLOCK_GILDED_BLACKSTONE_BREAK, .125f, .5f)
.playExisting(SoundEvents.BLOCK_NETHERRACK_BREAK, .125f, .5f)
.category(SoundCategory.BLOCKS)
.build(),
CRANKING = create("cranking").subtitle("Hand Crank turns")
.playExisting(SoundEvents.BLOCK_WOOD_PLACE, .075f, .5f)
.playExisting(SoundEvents.BLOCK_WOODEN_BUTTON_CLICK_OFF, .025f, .5f)
.category(SoundCategory.BLOCKS)
.build(),
BLOCKZAPPER_PLACE = create("blockzapper_place").subtitle("Blockzapper zaps") BLOCKZAPPER_PLACE = create("blockzapper_place").subtitle("Blockzapper zaps")
.playExisting(SoundEvents.BLOCK_NOTE_BLOCK_BASEDRUM) .playExisting(SoundEvents.BLOCK_NOTE_BLOCK_BASEDRUM)
.category(SoundCategory.PLAYERS) .category(SoundCategory.PLAYERS)
.build(), .build(),
SCROLL_VALUE = create("scroll_value").subtitle("Scroll-input clicks")
.playExisting(SoundEvents.BLOCK_NOTE_BLOCK_HAT, .124f, 1f)
.category(SoundCategory.PLAYERS)
.build(),
BLOCKZAPPER_CONFIRM = create("blockzapper_confirm").subtitle("Affirmative ding") BLOCKZAPPER_CONFIRM = create("blockzapper_confirm").subtitle("Affirmative ding")
.playExisting(SoundEvents.BLOCK_NOTE_BLOCK_BELL, 0.5f, 0.8f) .playExisting(SoundEvents.BLOCK_NOTE_BLOCK_BELL, 0.5f, 0.8f)
@ -278,9 +295,9 @@ public class AllSoundEvents {
abstract void play(World world, PlayerEntity entity, double x, double y, double z, float volume, float pitch); abstract void play(World world, PlayerEntity entity, double x, double y, double z, float volume, float pitch);
public void playAt(World world, BlockPos pos, float volume, float pitch, boolean fade) { public void playAt(World world, BlockPos pos, float volume, float pitch, boolean fade) {
playAt(world, pos.getX(), pos.getY(), pos.getZ(), volume, pitch, fade); playAt(world, pos.getX() + .5f, pos.getY() + .5f, pos.getZ() + .5f, volume, pitch, fade);
} }
public abstract void playAt(World world, double x, double y, double z, float volume, float pitch, boolean fade); public abstract void playAt(World world, double x, double y, double z, float volume, float pitch, boolean fade);
} }

View file

@ -1,7 +1,9 @@
package com.simibubi.create.content.contraptions.components.crank; package com.simibubi.create.content.contraptions.components.crank;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllSoundEvents;
import com.simibubi.create.content.contraptions.base.GeneratingKineticTileEntity; import com.simibubi.create.content.contraptions.base.GeneratingKineticTileEntity;
import com.simibubi.create.foundation.utility.AnimationTickHolder;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
@ -68,7 +70,7 @@ public class HandCrankTileEntity extends GeneratingKineticTileEntity {
updateGeneratedRotation(); updateGeneratedRotation();
} }
} }
@Override @Override
protected Block getStressConfigKey() { protected Block getStressConfigKey() {
return AllBlocks.HAND_CRANK.get(); return AllBlocks.HAND_CRANK.get();
@ -78,4 +80,15 @@ public class HandCrankTileEntity extends GeneratingKineticTileEntity {
public boolean shouldRenderAsTE() { public boolean shouldRenderAsTE() {
return true; return true;
} }
@Override
public void tickAudio() {
super.tickAudio();
if (inUse > 0 && AnimationTickHolder.getTicks() % 2 == 0) {
if (!AllBlocks.HAND_CRANK.has(getBlockState()))
return;
AllSoundEvents.CRANKING.playAt(world, pos, (inUse) / 5f, .65f + (10 - inUse) / 10f, true);
}
}
} }

View file

@ -356,7 +356,7 @@ public class AirCurrent {
} }
@OnlyIn(Dist.CLIENT) @OnlyIn(Dist.CLIENT)
static AirCurrentSound flyingSound = null; static AirCurrentSound flyingSound;
@OnlyIn(Dist.CLIENT) @OnlyIn(Dist.CLIENT)
private static void enableClientPlayerSound(Entity e, float maxVolume) { private static void enableClientPlayerSound(Entity e, float maxVolume) {

View file

@ -4,6 +4,7 @@ import java.util.List;
import java.util.Optional; import java.util.Optional;
import com.simibubi.create.AllRecipeTypes; import com.simibubi.create.AllRecipeTypes;
import com.simibubi.create.AllSoundEvents;
import com.simibubi.create.content.contraptions.fluids.FluidFX; import com.simibubi.create.content.contraptions.fluids.FluidFX;
import com.simibubi.create.content.contraptions.fluids.recipe.PotionMixingRecipeManager; import com.simibubi.create.content.contraptions.fluids.recipe.PotionMixingRecipeManager;
import com.simibubi.create.content.contraptions.processing.BasinOperatingTileEntity; import com.simibubi.create.content.contraptions.processing.BasinOperatingTileEntity;
@ -14,6 +15,8 @@ import com.simibubi.create.foundation.config.AllConfigs;
import com.simibubi.create.foundation.item.SmartInventory; import com.simibubi.create.foundation.item.SmartInventory;
import com.simibubi.create.foundation.tileEntity.behaviour.fluid.SmartFluidTankBehaviour; import com.simibubi.create.foundation.tileEntity.behaviour.fluid.SmartFluidTankBehaviour;
import com.simibubi.create.foundation.tileEntity.behaviour.fluid.SmartFluidTankBehaviour.TankSegment; import com.simibubi.create.foundation.tileEntity.behaviour.fluid.SmartFluidTankBehaviour.TankSegment;
import com.simibubi.create.foundation.utility.AnimationTickHolder;
import com.simibubi.create.foundation.utility.Couple;
import com.simibubi.create.foundation.utility.VecHelper; import com.simibubi.create.foundation.utility.VecHelper;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
@ -27,9 +30,13 @@ import net.minecraft.particles.ItemParticleData;
import net.minecraft.particles.ParticleTypes; import net.minecraft.particles.ParticleTypes;
import net.minecraft.tileentity.TileEntityType; import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.Direction.Axis; import net.minecraft.util.Direction.Axis;
import net.minecraft.util.SoundCategory;
import net.minecraft.util.SoundEvents;
import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.AxisAlignedBB;
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.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import net.minecraftforge.items.CapabilityItemHandler; import net.minecraftforge.items.CapabilityItemHandler;
import net.minecraftforge.items.IItemHandler; import net.minecraftforge.items.IItemHandler;
@ -120,6 +127,19 @@ public class MechanicalMixerTileEntity extends BasinOperatingTileEntity {
if ((!world.isRemote || isVirtual()) && runningTicks == 20) { if ((!world.isRemote || isVirtual()) && runningTicks == 20) {
if (processingTicks < 0) { if (processingTicks < 0) {
processingTicks = MathHelper.clamp((MathHelper.log2((int) (512 / speed))) * 15 + 1, 1, 512); processingTicks = MathHelper.clamp((MathHelper.log2((int) (512 / speed))) * 15 + 1, 1, 512);
Optional<BasinTileEntity> basin = getBasin();
if (basin.isPresent()) {
Couple<SmartFluidTankBehaviour> tanks = basin.get()
.getTanks();
if (!tanks.getFirst()
.isEmpty()
|| !tanks.getSecond()
.isEmpty())
world.playSound(null, pos, SoundEvents.BLOCK_BUBBLE_COLUMN_WHIRLPOOL_AMBIENT,
SoundCategory.BLOCKS, .75f, speed < 65 ? .75f : 1.5f);
}
} else { } else {
processingTicks--; processingTicks--;
if (processingTicks == 0) { if (processingTicks == 0) {
@ -249,4 +269,18 @@ public class MechanicalMixerTileEntity extends BasinOperatingTileEntity {
protected Optional<ITriggerable> getProcessedRecipeTrigger() { protected Optional<ITriggerable> getProcessedRecipeTrigger() {
return Optional.of(AllTriggers.MIXER_MIX); return Optional.of(AllTriggers.MIXER_MIX);
} }
@Override
@OnlyIn(Dist.CLIENT)
public void tickAudio() {
super.tickAudio();
// SoundEvents.BLOCK_STONE_BREAK
boolean slow = Math.abs(getSpeed()) < 65;
if (slow && AnimationTickHolder.getTicks() % 2 == 0)
return;
if (runningTicks == 20)
AllSoundEvents.MIXING.playAt(world, pos, .75f, 1, true);
}
} }

View file

@ -3,6 +3,7 @@ package com.simibubi.create.content.contraptions.processing;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllShapes; import com.simibubi.create.AllShapes;
import com.simibubi.create.AllTileEntities; import com.simibubi.create.AllTileEntities;
import com.simibubi.create.Create;
import com.simibubi.create.content.contraptions.fluids.actors.GenericItemFilling; import com.simibubi.create.content.contraptions.fluids.actors.GenericItemFilling;
import com.simibubi.create.content.contraptions.relays.belt.BeltTileEntity; import com.simibubi.create.content.contraptions.relays.belt.BeltTileEntity;
import com.simibubi.create.content.contraptions.wrench.IWrenchable; import com.simibubi.create.content.contraptions.wrench.IWrenchable;
@ -31,6 +32,8 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ActionResultType; import net.minecraft.util.ActionResultType;
import net.minecraft.util.Direction; import net.minecraft.util.Direction;
import net.minecraft.util.Hand; import net.minecraft.util.Hand;
import net.minecraft.util.SoundCategory;
import net.minecraft.util.SoundEvents;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.BlockRayTraceResult; import net.minecraft.util.math.BlockRayTraceResult;
import net.minecraft.util.math.shapes.ISelectionContext; import net.minecraft.util.math.shapes.ISelectionContext;
@ -100,19 +103,30 @@ public class BasinBlock extends Block implements ITE<BasinTileEntity>, IWrenchab
if (EmptyingByBasin.canItemBeEmptied(worldIn, heldItem) if (EmptyingByBasin.canItemBeEmptied(worldIn, heldItem)
|| GenericItemFilling.canItemBeFilled(worldIn, heldItem)) || GenericItemFilling.canItemBeFilled(worldIn, heldItem))
return ActionResultType.SUCCESS; return ActionResultType.SUCCESS;
if (heldItem.getItem().equals(Items.SPONGE) && if (heldItem.getItem()
!te.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY).map(iFluidHandler -> .equals(Items.SPONGE)
iFluidHandler.drain(Integer.MAX_VALUE, IFluidHandler.FluidAction.EXECUTE)).orElse(FluidStack.EMPTY).isEmpty()) { && !te.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY)
.map(iFluidHandler -> iFluidHandler.drain(Integer.MAX_VALUE, IFluidHandler.FluidAction.EXECUTE))
.orElse(FluidStack.EMPTY)
.isEmpty()) {
return ActionResultType.SUCCESS; return ActionResultType.SUCCESS;
} }
return ActionResultType.PASS; return ActionResultType.PASS;
} }
IItemHandlerModifiable inv = te.itemCapability.orElse(new ItemStackHandler(1)); IItemHandlerModifiable inv = te.itemCapability.orElse(new ItemStackHandler(1));
boolean success = false;
for (int slot = 0; slot < inv.getSlots(); slot++) { for (int slot = 0; slot < inv.getSlots(); slot++) {
player.inventory.placeItemBackInInventory(worldIn, inv.getStackInSlot(slot)); ItemStack stackInSlot = inv.getStackInSlot(slot);
if (stackInSlot.isEmpty())
continue;
player.inventory.placeItemBackInInventory(worldIn, stackInSlot);
inv.setStackInSlot(slot, ItemStack.EMPTY); inv.setStackInSlot(slot, ItemStack.EMPTY);
success = true;
} }
if (success)
worldIn.playSound(null, pos, SoundEvents.ENTITY_ITEM_PICKUP, SoundCategory.PLAYERS, .2f,
1f + Create.random.nextFloat());
te.onEmptied(); te.onEmptied();
} catch (TileEntityException e) { } catch (TileEntityException e) {
} }
@ -131,13 +145,13 @@ public class BasinBlock extends Block implements ITE<BasinTileEntity>, IWrenchab
return; return;
ItemEntity itemEntity = (ItemEntity) entityIn; ItemEntity itemEntity = (ItemEntity) entityIn;
withTileEntityDo(worldIn, entityIn.getBlockPos(), te -> { withTileEntityDo(worldIn, entityIn.getBlockPos(), te -> {
// Tossed items bypass the quarter-stack limit // Tossed items bypass the quarter-stack limit
te.inputInventory.withMaxStackSize(64); te.inputInventory.withMaxStackSize(64);
ItemStack insertItem = ItemHandlerHelper.insertItem(te.inputInventory, itemEntity.getItem() ItemStack insertItem = ItemHandlerHelper.insertItem(te.inputInventory, itemEntity.getItem()
.copy(), false); .copy(), false);
te.inputInventory.withMaxStackSize(16); te.inputInventory.withMaxStackSize(16);
if (insertItem.isEmpty()) { if (insertItem.isEmpty()) {
itemEntity.remove(); itemEntity.remove();
if (!itemEntity.world.isRemote) if (!itemEntity.world.isRemote)
@ -227,5 +241,5 @@ public class BasinBlock extends Block implements ITE<BasinTileEntity>, IWrenchab
public boolean allowsMovement(BlockState state, IBlockReader reader, BlockPos pos, PathType type) { public boolean allowsMovement(BlockState state, IBlockReader reader, BlockPos pos, PathType type) {
return false; return false;
} }
} }

View file

@ -4,9 +4,12 @@ import java.util.ArrayList;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.List; import java.util.List;
import org.apache.commons.lang3.mutable.MutableBoolean;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllItems; import com.simibubi.create.AllItems;
import com.simibubi.create.AllTileEntities; import com.simibubi.create.AllTileEntities;
import com.simibubi.create.Create;
import com.simibubi.create.content.contraptions.base.HorizontalKineticBlock; import com.simibubi.create.content.contraptions.base.HorizontalKineticBlock;
import com.simibubi.create.content.contraptions.base.KineticTileEntity; import com.simibubi.create.content.contraptions.base.KineticTileEntity;
import com.simibubi.create.content.contraptions.processing.EmptyingByBasin; import com.simibubi.create.content.contraptions.processing.EmptyingByBasin;
@ -52,6 +55,8 @@ import net.minecraft.util.Direction.AxisDirection;
import net.minecraft.util.Hand; import net.minecraft.util.Hand;
import net.minecraft.util.NonNullList; import net.minecraft.util.NonNullList;
import net.minecraft.util.Rotation; import net.minecraft.util.Rotation;
import net.minecraft.util.SoundCategory;
import net.minecraft.util.SoundEvents;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.BlockRayTraceResult; import net.minecraft.util.math.BlockRayTraceResult;
import net.minecraft.util.math.RayTraceResult; import net.minecraft.util.math.RayTraceResult;
@ -119,11 +124,14 @@ public class BeltBlock extends HorizontalKineticBlock implements ITE<BeltTileEnt
return AllItems.BELT_CONNECTOR.asStack(); return AllItems.BELT_CONNECTOR.asStack();
} }
/* FIXME /*
@Override * FIXME
public Material getMaterial(BlockState state) { *
return state.get(CASING) ? Material.WOOD : Material.WOOL; * @Override
} */ * public Material getMaterial(BlockState state) {
* return state.get(CASING) ? Material.WOOD : Material.WOOL;
* }
*/
@SuppressWarnings("deprecation") @SuppressWarnings("deprecation")
@Override @Override
@ -253,11 +261,16 @@ public class BeltBlock extends HorizontalKineticBlock implements ITE<BeltTileEnt
return ActionResultType.PASS; return ActionResultType.PASS;
if (world.isRemote) if (world.isRemote)
return ActionResultType.SUCCESS; return ActionResultType.SUCCESS;
MutableBoolean success = new MutableBoolean(false);
controllerBelt.getInventory() controllerBelt.getInventory()
.applyToEachWithin(belt.index + .5f, .55f, (transportedItemStack) -> { .applyToEachWithin(belt.index + .5f, .55f, (transportedItemStack) -> {
player.inventory.placeItemBackInInventory(world, transportedItemStack.stack); player.inventory.placeItemBackInInventory(world, transportedItemStack.stack);
success.setTrue();
return TransportedResult.removeItem(); return TransportedResult.removeItem();
}); });
if (success.isTrue())
world.playSound(null, pos, SoundEvents.ENTITY_ITEM_PICKUP, SoundCategory.PLAYERS, .2f,
1f + Create.random.nextFloat());
} }
if (isShaft) { if (isShaft) {
@ -598,7 +611,7 @@ public class BeltBlock extends HorizontalKineticBlock implements ITE<BeltTileEnt
return rotate; return rotate;
} }
@Override @Override
public boolean allowsMovement(BlockState state, IBlockReader reader, BlockPos pos, PathType type) { public boolean allowsMovement(BlockState state, IBlockReader reader, BlockPos pos, PathType type) {
return false; return false;

View file

@ -2,6 +2,7 @@ package com.simibubi.create.content.logistics.block.depot;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllSoundEvents; import com.simibubi.create.AllSoundEvents;
import com.simibubi.create.Create;
import com.simibubi.create.content.contraptions.relays.belt.transport.TransportedItemStack; import com.simibubi.create.content.contraptions.relays.belt.transport.TransportedItemStack;
import com.simibubi.create.foundation.item.ItemHelper; import com.simibubi.create.foundation.item.ItemHelper;
import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour;
@ -16,6 +17,8 @@ import net.minecraft.item.ItemStack;
import net.minecraft.util.ActionResultType; import net.minecraft.util.ActionResultType;
import net.minecraft.util.Direction; import net.minecraft.util.Direction;
import net.minecraft.util.Hand; import net.minecraft.util.Hand;
import net.minecraft.util.SoundCategory;
import net.minecraft.util.SoundEvents;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.BlockRayTraceResult; import net.minecraft.util.math.BlockRayTraceResult;
import net.minecraft.world.IBlockReader; import net.minecraft.world.IBlockReader;
@ -49,6 +52,8 @@ public class SharedDepotBlockMethods {
if (!mainItemStack.isEmpty()) { if (!mainItemStack.isEmpty()) {
player.inventory.placeItemBackInInventory(world, mainItemStack); player.inventory.placeItemBackInInventory(world, mainItemStack);
behaviour.removeHeldItem(); behaviour.removeHeldItem();
world.playSound(null, pos, SoundEvents.ENTITY_ITEM_PICKUP, SoundCategory.PLAYERS, .2f,
1f + Create.random.nextFloat());
} }
ItemStackHandler outputs = behaviour.processingOutputBuffer; ItemStackHandler outputs = behaviour.processingOutputBuffer;
for (int i = 0; i < outputs.getSlots(); i++) for (int i = 0; i < outputs.getSlots(); i++)

View file

@ -5,6 +5,7 @@ import java.util.List;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import com.simibubi.create.Create;
import com.simibubi.create.content.contraptions.base.KineticTileEntity; import com.simibubi.create.content.contraptions.base.KineticTileEntity;
import com.simibubi.create.content.logistics.block.mechanicalArm.ArmInteractionPoint.Jukebox; import com.simibubi.create.content.logistics.block.mechanicalArm.ArmInteractionPoint.Jukebox;
import com.simibubi.create.content.logistics.block.mechanicalArm.ArmInteractionPoint.Mode; import com.simibubi.create.content.logistics.block.mechanicalArm.ArmInteractionPoint.Mode;
@ -30,6 +31,8 @@ import net.minecraft.nbt.INBT;
import net.minecraft.nbt.ListNBT; import net.minecraft.nbt.ListNBT;
import net.minecraft.tileentity.TileEntityType; import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.Direction; import net.minecraft.util.Direction;
import net.minecraft.util.SoundCategory;
import net.minecraft.util.SoundEvents;
import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.AxisAlignedBB;
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;
@ -339,12 +342,17 @@ public class ArmTileEntity extends KineticTileEntity {
if (amountExtracted == 0) if (amountExtracted == 0)
continue; continue;
ItemStack prevHeld = heldItem;
heldItem = armInteractionPoint.extract(world, i, amountExtracted, false); heldItem = armInteractionPoint.extract(world, i, amountExtracted, false);
phase = Phase.SEARCH_OUTPUTS; phase = Phase.SEARCH_OUTPUTS;
chasedPointProgress = 0; chasedPointProgress = 0;
chasedPointIndex = -1; chasedPointIndex = -1;
sendData(); sendData();
markDirty(); markDirty();
if (!prevHeld.isItemEqual(heldItem))
world.playSound(null, pos, SoundEvents.ENTITY_ITEM_PICKUP, SoundCategory.BLOCKS, .125f,
.5f + Create.random.nextFloat() * .25f);
return; return;
} }

View file

@ -3,6 +3,7 @@ package com.simibubi.create.foundation.tileEntity.behaviour.filtering;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllItems; import com.simibubi.create.AllItems;
import com.simibubi.create.AllKeys; import com.simibubi.create.AllKeys;
import com.simibubi.create.AllSoundEvents;
import com.simibubi.create.content.logistics.item.filter.FilterItem; import com.simibubi.create.content.logistics.item.filter.FilterItem;
import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour;
import com.simibubi.create.foundation.tileEntity.behaviour.ValueBoxTransform; import com.simibubi.create.foundation.tileEntity.behaviour.ValueBoxTransform;
@ -133,11 +134,19 @@ public class FilteringHandler {
((Sided) filtering.slotPositioning).fromSide(result.getFace()); ((Sided) filtering.slotPositioning).fromSide(result.getFace());
if (!filtering.testHit(objectMouseOver.getHitVec())) if (!filtering.testHit(objectMouseOver.getHitVec()))
return false; return false;
ItemStack filterItem = filtering.getFilter(); ItemStack filterItem = filtering.getFilter();
filtering.ticksUntilScrollPacket = 10; filtering.ticksUntilScrollPacket = 10;
int maxAmount = (filterItem.getItem() instanceof FilterItem) ? 64 : filterItem.getMaxStackSize(); int maxAmount = (filterItem.getItem() instanceof FilterItem) ? 64 : filterItem.getMaxStackSize();
int prev = filtering.scrollableValue;
filtering.scrollableValue = filtering.scrollableValue =
(int) MathHelper.clamp(filtering.scrollableValue + delta * (AllKeys.ctrlDown() ? 16 : 1), 0, maxAmount); (int) MathHelper.clamp(filtering.scrollableValue + delta * (AllKeys.ctrlDown() ? 16 : 1), 0, maxAmount);
if (prev != filtering.scrollableValue) {
float pitch = (filtering.scrollableValue) / (float) (maxAmount);
pitch = MathHelper.lerp(pitch, 1.5f, 2f);
AllSoundEvents.SCROLL_VALUE.play(world, mc.player, blockPos, 1, pitch);
}
return true; return true;
} }

View file

@ -2,6 +2,7 @@ package com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue;
import com.simibubi.create.AllItems; import com.simibubi.create.AllItems;
import com.simibubi.create.AllKeys; import com.simibubi.create.AllKeys;
import com.simibubi.create.AllSoundEvents;
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.tileEntity.behaviour.ValueBoxTransform.Sided; import com.simibubi.create.foundation.tileEntity.behaviour.ValueBoxTransform.Sided;
@ -24,7 +25,8 @@ public class ScrollValueHandler {
private static float lastPassiveScroll = 0.0f; private static float lastPassiveScroll = 0.0f;
private static float passiveScroll = 0.0f; private static float passiveScroll = 0.0f;
private static float passiveScrollDirection = 1f; private static float passiveScrollDirection = 1f;
private static final PhysicalFloat wrenchCog = PhysicalFloat.create().withDrag(0.3); private static final PhysicalFloat wrenchCog = PhysicalFloat.create()
.withDrag(0.3);
@OnlyIn(Dist.CLIENT) @OnlyIn(Dist.CLIENT)
public static boolean onScroll(double delta) { public static boolean onScroll(double delta) {
@ -47,6 +49,7 @@ public class ScrollValueHandler {
passiveScrollDirection = (float) -delta; passiveScrollDirection = (float) -delta;
wrenchCog.bump(3, -delta * 10); wrenchCog.bump(3, -delta * 10);
int prev = scrolling.scrollableValue;
if (scrolling.needsWrench && !AllItems.WRENCH.isIn(mc.player.getHeldItemMainhand())) if (scrolling.needsWrench && !AllItems.WRENCH.isIn(mc.player.getHeldItemMainhand()))
return false; return false;
@ -66,6 +69,11 @@ public class ScrollValueHandler {
} else } else
applyTo(delta, scrolling); applyTo(delta, scrolling);
if (prev != scrolling.scrollableValue) {
float pitch = (scrolling.scrollableValue - scrolling.min) / (float) (scrolling.max - scrolling.min);
pitch = MathHelper.lerp(pitch, 1.5f, 2f);
AllSoundEvents.SCROLL_VALUE.play(world, mc.player, blockPos, 1, pitch);
}
return true; return true;
} }