You saw nothing
- Tweaked item processing behaviour of mechanical saws - Fixed placement assist not playing placement sounds - Saws now yield more planks - Saws can no longer process stacks of items, unless configured to - Removed unused sounds - Soul particles now disappear early if their location gets lit - Stationary cursed bell range is doubled - Mechanical Arms now require clockwork components to craft - Extendo-grips now require clockwork components to craft - Mechanical Arms now take significantly less stress units to power - Added recipe for the potato cannon - Bells no longer require ghast tears
This commit is contained in:
parent
7df865b3cb
commit
b5ff93cff0
54 changed files with 238 additions and 228 deletions
|
@ -411,20 +411,20 @@ a3a11524cd3515fc01d905767b4b7ea782adaf03 assets/create/blockstates/yellow_seat.j
|
|||
7f39521b211441f5c3e06d60c5978cebe16cacfb assets/create/blockstates/zinc_block.json
|
||||
b7181bcd8182b2f17088e5aa881f374c9c65470c assets/create/blockstates/zinc_ore.json
|
||||
391e1552053f8fbb148b0bdf2e61f74ae4782100 assets/create/lang/en_ud.json
|
||||
0e4ba265ae6ab6a81da261f075eef3dc65f688d1 assets/create/lang/en_us.json
|
||||
012e68268dc9b1a23d726430ca1708fea249cbd6 assets/create/lang/unfinished/de_de.json
|
||||
c69e245a2549cb045768cd08e16b74a4d3694360 assets/create/lang/unfinished/es_es.json
|
||||
df23300aa54b5da18f430f8bb15738c1b994b317 assets/create/lang/unfinished/es_mx.json
|
||||
213cbf99412e5080cb1c48a7c83e03e9ab05d3e5 assets/create/lang/unfinished/fr_fr.json
|
||||
a9bacc0a4febe3ae012ccf32d01a7a6a2467004d assets/create/lang/unfinished/it_it.json
|
||||
7c9e02f792fb32785ba9c9afa24c58f2a0b8faa7 assets/create/lang/unfinished/ja_jp.json
|
||||
050f377d87dcb72b1bd19b57f5c0c02d5c572201 assets/create/lang/unfinished/ko_kr.json
|
||||
dc06754d80e667eb957b5ff81f628e912bc72d21 assets/create/lang/unfinished/nl_nl.json
|
||||
147c23ff2d3dd778a88da7a1f1e79befc8b9b62f assets/create/lang/unfinished/pl_pl.json
|
||||
1b40342e2f2782e4b7e5802a3a72c0df8977bbf1 assets/create/lang/unfinished/pt_br.json
|
||||
ad720b0b156624c2481f54f23260fe992cf88c5b assets/create/lang/unfinished/ru_ru.json
|
||||
5adb90c525b9541fc22f67eb79f2d946fb859082 assets/create/lang/unfinished/zh_cn.json
|
||||
69bf228174d5d88ffbb10d45409c3edf9bd0c99b assets/create/lang/unfinished/zh_tw.json
|
||||
faa365ddd3f8f57c055bf65666c996bc74225394 assets/create/lang/en_us.json
|
||||
9199b4649bdc7c19c3b79670efe506ff5b3f540b assets/create/lang/unfinished/de_de.json
|
||||
92b8fc47ecd84423c6b30fbf2df5bd015acd04e1 assets/create/lang/unfinished/es_es.json
|
||||
36a0f93f1b75555f08543c717dd42f464ef618ff assets/create/lang/unfinished/es_mx.json
|
||||
676994435f2b6295d7b5e6f25c7b8ef7c36a825a assets/create/lang/unfinished/fr_fr.json
|
||||
7b2ff91343db8b0f2c06b4702ac704945552b9cc assets/create/lang/unfinished/it_it.json
|
||||
e467d82809b0ae382139de870e5c82e0a6dd4da6 assets/create/lang/unfinished/ja_jp.json
|
||||
b21506cd99caa124069146e1a3e7a675daf8cdc2 assets/create/lang/unfinished/ko_kr.json
|
||||
61d141443e3945445863a8b96b5d9a667060028e assets/create/lang/unfinished/nl_nl.json
|
||||
843533f614d5ef9167df6ac3c8fa390eaad658cf assets/create/lang/unfinished/pl_pl.json
|
||||
64bcf724615d0265bcfd55c115dc32b6f45a19cb assets/create/lang/unfinished/pt_br.json
|
||||
70de883f62946813ef00ef6806d1fdd55808b68f assets/create/lang/unfinished/ru_ru.json
|
||||
db692d79ab25cc1534b0238effc51b4d9c9f3328 assets/create/lang/unfinished/zh_cn.json
|
||||
e23bade49d0220f84a5b0c376ebce257bcde3cbb assets/create/lang/unfinished/zh_tw.json
|
||||
487a511a01b2a4531fb672f917922312db78f958 assets/create/models/block/acacia_window.json
|
||||
b48060cba1a382f373a05bf0039054053eccf076 assets/create/models/block/acacia_window_pane_noside.json
|
||||
3066db1bf03cffa1a9c7fbacf47ae586632f4eb3 assets/create/models/block/acacia_window_pane_noside_alt.json
|
||||
|
@ -1659,7 +1659,7 @@ d080b1b25e5bc8baf5aee68691b08c7f12ece3b0 assets/create/models/item/windmill_bear
|
|||
866fbb0ce2878a73e0440d1caf6534c8bd7c384f assets/create/models/item/zinc_ingot.json
|
||||
a80fb25a0b655e76be986b5b49fcb0f03461a1ab assets/create/models/item/zinc_nugget.json
|
||||
b1689617190c05ef34bd18456b0c7ae09bb3210f assets/create/models/item/zinc_ore.json
|
||||
b378f90ba8723a109fa960dfddf63149a34cb26f assets/create/sounds.json
|
||||
f3231c27d43ff511b7d8532603111706ebcc155e assets/create/sounds.json
|
||||
0f1b4b980afba9bf2caf583b88e261bba8b10313 data/create/advancements/aesthetics.json
|
||||
187921fa131b06721bfaf63f2623a28c141aae9a data/create/advancements/andesite_alloy.json
|
||||
0ea2db7173b5be28b289ea7c9a6a0cf5805c60c7 data/create/advancements/andesite_casing.json
|
||||
|
@ -2879,7 +2879,7 @@ c077375d16b4505e52548613fbc9356993556e6b data/create/recipes/crafting/appliances
|
|||
7b5f863dda3d05a79cb85943a178eba0bd8a7dc7 data/create/recipes/crafting/appliances/slime_ball.json
|
||||
b159ba84428eee6ef6e23df1766f2a18f2c8a63e data/create/recipes/crafting/appliances/tree_fertilizer.json
|
||||
660e92da2b1b6698b1c0df74bd74a56a25fb3eca data/create/recipes/crafting/curiosities/minecart_coupling.json
|
||||
23ad6016273c0a1aefc8950187caf321f55ce738 data/create/recipes/crafting/curiosities/peculiar_bell.json
|
||||
1f8f96ab57363166b7e132a1dd082001a5a0d5f0 data/create/recipes/crafting/curiosities/peculiar_bell.json
|
||||
fcbc04d0a7eaf820a74bc7e4736a4a581e0a9dff data/create/recipes/crafting/curiosities/wand_of_symmetry.json
|
||||
cc56d21a25286a9024e506dde9fa161230eaf46d data/create/recipes/crafting/kinetics/adjustable_chain_gearshift.json
|
||||
88de51b451469698665b7319e5b9cfb9a87ae3e0 data/create/recipes/crafting/kinetics/analog_lever.json
|
||||
|
@ -2949,7 +2949,7 @@ d214afbd44e580f5fd1ebb4f16f07ffe34d87cba data/create/recipes/crafting/kinetics/l
|
|||
d7d96071874a87edf7bbdcf7a462f95a130d2991 data/create/recipes/crafting/kinetics/magenta_seat.json
|
||||
5836881feef8fa8b18e4cceb9c3a9a2748b8cf3a data/create/recipes/crafting/kinetics/magenta_seat_from_other_seat.json
|
||||
2ea43d6527dcb734578067ff442ec20395b0093b data/create/recipes/crafting/kinetics/magenta_valve_handle_from_other_valve_handle.json
|
||||
f3f3d484de6411652472db0ca52c612c23f81278 data/create/recipes/crafting/kinetics/mechanical_arm.json
|
||||
edf33830927a6b1583c77aa5faeed1e80ef3631f data/create/recipes/crafting/kinetics/mechanical_arm.json
|
||||
946389078db31de69a7dc4fec5feebddf48dcfc3 data/create/recipes/crafting/kinetics/mechanical_bearing.json
|
||||
a5c7aad0d86cbb66b8688d295e62547da4a2ce0f data/create/recipes/crafting/kinetics/mechanical_crafter.json
|
||||
4372830100d39c4a89ff397a62b01940e1a28cb3 data/create/recipes/crafting/kinetics/mechanical_drill.json
|
||||
|
@ -3110,22 +3110,22 @@ fd565e84aff897968be805c03623757c11ea57ed data/create/recipes/cutting/oak_log.jso
|
|||
2bf4234c994073addb7341fa1ef8b721572dde37 data/create/recipes/cutting/oak_wood.json
|
||||
2cd588872f6bbf63686a92a12735aa65d1960fe3 data/create/recipes/cutting/spruce_log.json
|
||||
5ae29d81388c3d0d7966e703b6e9463ea58221ef data/create/recipes/cutting/spruce_wood.json
|
||||
9f14b915695407155fdf806b1e5ecf91e0860c5b data/create/recipes/cutting/stripped_acacia_log.json
|
||||
c7f0e3b7a46676ede1ed775ec8aa8b969e1fe598 data/create/recipes/cutting/stripped_acacia_wood.json
|
||||
4c657d8ff753789853c8d705fb5ae01caeef5cc1 data/create/recipes/cutting/stripped_birch_log.json
|
||||
53f47375955f65844c077c8bb06a9eeb67e0b53f data/create/recipes/cutting/stripped_birch_wood.json
|
||||
c2d6c83bb3144c6013e169de8f54c5f380ad094f data/create/recipes/cutting/stripped_crimson_hyphae.json
|
||||
affb6d0e171d77a6a27fc83b1a916eb95ed89516 data/create/recipes/cutting/stripped_crimson_stem.json
|
||||
9cab5363d43559823d4679da0a64a0a603983cb6 data/create/recipes/cutting/stripped_dark_oak_log.json
|
||||
c63bc7d8a81b3499390de84fc49d726c9018896d data/create/recipes/cutting/stripped_dark_oak_wood.json
|
||||
e923bfbc5d9b02e020693378723b4d55fc60f79a data/create/recipes/cutting/stripped_jungle_log.json
|
||||
2dba1962f0a267d72444ec448432b81143fc42da data/create/recipes/cutting/stripped_jungle_wood.json
|
||||
ff68462a712267db1f1124d37a4877217edd5c85 data/create/recipes/cutting/stripped_oak_log.json
|
||||
84ffcff96d79f88012bceae0e346da6be4da9802 data/create/recipes/cutting/stripped_oak_wood.json
|
||||
2b5f34ba42521004f999140056c997b07acde4e9 data/create/recipes/cutting/stripped_spruce_log.json
|
||||
6c3776c4d4190dba4f70d1f6995715002b37b3a8 data/create/recipes/cutting/stripped_spruce_wood.json
|
||||
135e9d58965c5715eb6c34a637714f61b38714f7 data/create/recipes/cutting/stripped_warped_hyphae.json
|
||||
f3c2cd996214e92e95e452d0f6e86ada59e65c78 data/create/recipes/cutting/stripped_warped_stem.json
|
||||
7326bd8a2ec38c22dd7ce4bba5d732b1eaad2651 data/create/recipes/cutting/stripped_acacia_log.json
|
||||
56a7b89a750ff320e9939ab811260e05056b7c60 data/create/recipes/cutting/stripped_acacia_wood.json
|
||||
5bf1850bbb48e743b05f8d582f41a1736d5948f1 data/create/recipes/cutting/stripped_birch_log.json
|
||||
0e487a41951e758cf523145dcbaaa2087d9ea718 data/create/recipes/cutting/stripped_birch_wood.json
|
||||
9efc61317fbda72fc2924aa3f9113cced46aad77 data/create/recipes/cutting/stripped_crimson_hyphae.json
|
||||
22b36652bef66fbcae960a5f6c0b4b0df3216eca data/create/recipes/cutting/stripped_crimson_stem.json
|
||||
bb6fc75a5d21ad5cb17907a452b40f280b774349 data/create/recipes/cutting/stripped_dark_oak_log.json
|
||||
0ead24be657900834f15dd19cafee385c9b3db44 data/create/recipes/cutting/stripped_dark_oak_wood.json
|
||||
e3e08b3a69356be3e169ee3c6df9983c7c136b9c data/create/recipes/cutting/stripped_jungle_log.json
|
||||
d59b1c12331db8a91e9284ed5b9b1e60f7357b94 data/create/recipes/cutting/stripped_jungle_wood.json
|
||||
21b544e00ecad0a209e3dd7d1c65a698cdfdd889 data/create/recipes/cutting/stripped_oak_log.json
|
||||
a9a78bafc9a90a5cd71cfa8ed8604584eea3ee17 data/create/recipes/cutting/stripped_oak_wood.json
|
||||
42a519e2150a2578b9588068efa627626f8920f6 data/create/recipes/cutting/stripped_spruce_log.json
|
||||
0bbac641024c34d7f38872ace1343e123f281a37 data/create/recipes/cutting/stripped_spruce_wood.json
|
||||
fcf37b9ee3d691f1fd9c70fa297555eadceb039f data/create/recipes/cutting/stripped_warped_hyphae.json
|
||||
f6462f1593d1275db331b0a8fc3f5d09bac60b23 data/create/recipes/cutting/stripped_warped_stem.json
|
||||
a022f2d541f04a9e2bed6b72af4e74703076fcbe data/create/recipes/cutting/warped_hyphae.json
|
||||
1bd01df5540df7db06afde28a3f9ebe4d25e4001 data/create/recipes/cutting/warped_stem.json
|
||||
f2c317e03ac4d42fb631e1625607061e10c480fe data/create/recipes/dark_oak_window.json
|
||||
|
@ -3325,9 +3325,10 @@ bbf64f7eb3868e354756e57348493e2b1ae6b0d9 data/create/recipes/limestone_cobblesto
|
|||
327bb8a6535b60bb65d0dda9d5205e988bc82526 data/create/recipes/limestone_pillar.json
|
||||
c2e15ac0c9109bad3face6d13efc32d7116b4c25 data/create/recipes/limestone_pillar_from_limestone_stonecutting.json
|
||||
88173753ceaf121c5430bbf928a40e3c046dbfe0 data/create/recipes/mechanical_crafting/crushing_wheel.json
|
||||
357cb3a50ebedcc347396c5cb26a04eb4bd96fea data/create/recipes/mechanical_crafting/extendo_grip.json
|
||||
5ad44ffe3befafba6ae45096cf77b80d00d8eca2 data/create/recipes/mechanical_crafting/extendo_grip.json
|
||||
de7fea84434753873dfa2b929d9b5f5f86ac6a5c data/create/recipes/mechanical_crafting/flywheel.json
|
||||
e491fd8a8873308270f9dc2a57ac8f2c70431dcc data/create/recipes/mechanical_crafting/furnace_engine.json
|
||||
06deb1679f4086e014e96fff40b6983365076a10 data/create/recipes/mechanical_crafting/potato_cannon.json
|
||||
98f877bf8f3f8a686fc6cf7479a0fba5744248ce data/create/recipes/milling/allium.json
|
||||
8c7e1cbc87c7ca7df2bf949957e89422fef8ad94 data/create/recipes/milling/aluminum_ore.json
|
||||
bcff4d30ae09a0729bce8b2dbde4ddd6719a998b data/create/recipes/milling/andesite.json
|
||||
|
|
|
@ -1178,7 +1178,6 @@
|
|||
|
||||
"_": "->------------------------] Subtitles [------------------------<-",
|
||||
|
||||
"create.subtitle.saw_idle": "Mechanical Saw turns",
|
||||
"create.subtitle.contraption_disassemble": "Contraption stops",
|
||||
"create.subtitle.peculiar_bell_use": "Peculiar Bell tolls",
|
||||
"create.subtitle.mixing": "Mixing Noises",
|
||||
|
@ -1193,7 +1192,6 @@
|
|||
"create.subtitle.scroll_value": "Scroll-input clicks",
|
||||
"create.subtitle.crafter_craft": "Crafter crafts",
|
||||
"create.subtitle.controller_put": "Controller thumps",
|
||||
"create.subtitle.saw_process": "Mechanical Saw processes",
|
||||
"create.subtitle.cranking": "Hand Crank turns",
|
||||
"create.subtitle.wrench_remove": "Component breaks",
|
||||
"create.subtitle.cogs": "Cogwheels rumble",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 1090",
|
||||
"_": "Missing Localizations: 1088",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -1179,7 +1179,6 @@
|
|||
|
||||
"_": "->------------------------] Subtitles [------------------------<-",
|
||||
|
||||
"create.subtitle.saw_idle": "UNLOCALIZED: Mechanical Saw turns",
|
||||
"create.subtitle.contraption_disassemble": "UNLOCALIZED: Contraption stops",
|
||||
"create.subtitle.peculiar_bell_use": "UNLOCALIZED: Peculiar Bell tolls",
|
||||
"create.subtitle.mixing": "UNLOCALIZED: Mixing Noises",
|
||||
|
@ -1194,7 +1193,6 @@
|
|||
"create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks",
|
||||
"create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
|
||||
"create.subtitle.controller_put": "UNLOCALIZED: Controller thumps",
|
||||
"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",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 851",
|
||||
"_": "Missing Localizations: 849",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -1179,7 +1179,6 @@
|
|||
|
||||
"_": "->------------------------] Subtitles [------------------------<-",
|
||||
|
||||
"create.subtitle.saw_idle": "UNLOCALIZED: Mechanical Saw turns",
|
||||
"create.subtitle.contraption_disassemble": "UNLOCALIZED: Contraption stops",
|
||||
"create.subtitle.peculiar_bell_use": "UNLOCALIZED: Peculiar Bell tolls",
|
||||
"create.subtitle.mixing": "UNLOCALIZED: Mixing Noises",
|
||||
|
@ -1194,7 +1193,6 @@
|
|||
"create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks",
|
||||
"create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
|
||||
"create.subtitle.controller_put": "UNLOCALIZED: Controller thumps",
|
||||
"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",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 1457",
|
||||
"_": "Missing Localizations: 1455",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -1179,7 +1179,6 @@
|
|||
|
||||
"_": "->------------------------] Subtitles [------------------------<-",
|
||||
|
||||
"create.subtitle.saw_idle": "UNLOCALIZED: Mechanical Saw turns",
|
||||
"create.subtitle.contraption_disassemble": "UNLOCALIZED: Contraption stops",
|
||||
"create.subtitle.peculiar_bell_use": "UNLOCALIZED: Peculiar Bell tolls",
|
||||
"create.subtitle.mixing": "UNLOCALIZED: Mixing Noises",
|
||||
|
@ -1194,7 +1193,6 @@
|
|||
"create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks",
|
||||
"create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
|
||||
"create.subtitle.controller_put": "UNLOCALIZED: Controller thumps",
|
||||
"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",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 1342",
|
||||
"_": "Missing Localizations: 1340",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -1179,7 +1179,6 @@
|
|||
|
||||
"_": "->------------------------] Subtitles [------------------------<-",
|
||||
|
||||
"create.subtitle.saw_idle": "UNLOCALIZED: Mechanical Saw turns",
|
||||
"create.subtitle.contraption_disassemble": "UNLOCALIZED: Contraption stops",
|
||||
"create.subtitle.peculiar_bell_use": "UNLOCALIZED: Peculiar Bell tolls",
|
||||
"create.subtitle.mixing": "UNLOCALIZED: Mixing Noises",
|
||||
|
@ -1194,7 +1193,6 @@
|
|||
"create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks",
|
||||
"create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
|
||||
"create.subtitle.controller_put": "UNLOCALIZED: Controller thumps",
|
||||
"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",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 868",
|
||||
"_": "Missing Localizations: 866",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -1179,7 +1179,6 @@
|
|||
|
||||
"_": "->------------------------] Subtitles [------------------------<-",
|
||||
|
||||
"create.subtitle.saw_idle": "UNLOCALIZED: Mechanical Saw turns",
|
||||
"create.subtitle.contraption_disassemble": "UNLOCALIZED: Contraption stops",
|
||||
"create.subtitle.peculiar_bell_use": "UNLOCALIZED: Peculiar Bell tolls",
|
||||
"create.subtitle.mixing": "UNLOCALIZED: Mixing Noises",
|
||||
|
@ -1194,7 +1193,6 @@
|
|||
"create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks",
|
||||
"create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
|
||||
"create.subtitle.controller_put": "UNLOCALIZED: Controller thumps",
|
||||
"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",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 234",
|
||||
"_": "Missing Localizations: 232",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -1179,7 +1179,6 @@
|
|||
|
||||
"_": "->------------------------] Subtitles [------------------------<-",
|
||||
|
||||
"create.subtitle.saw_idle": "UNLOCALIZED: Mechanical Saw turns",
|
||||
"create.subtitle.contraption_disassemble": "からくりが止まる",
|
||||
"create.subtitle.peculiar_bell_use": "UNLOCALIZED: Peculiar Bell tolls",
|
||||
"create.subtitle.mixing": "混ぜる音",
|
||||
|
@ -1194,7 +1193,6 @@
|
|||
"create.subtitle.scroll_value": "スクロールのカチカチ音",
|
||||
"create.subtitle.crafter_craft": "メカニカルクラフターがクラフトする",
|
||||
"create.subtitle.controller_put": "UNLOCALIZED: Controller thumps",
|
||||
"create.subtitle.saw_process": "UNLOCALIZED: Mechanical Saw processes",
|
||||
"create.subtitle.cranking": "ハンドクランクが回る",
|
||||
"create.subtitle.wrench_remove": "機械を壊す",
|
||||
"create.subtitle.cogs": "歯車がゴロゴロと鳴る",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 921",
|
||||
"_": "Missing Localizations: 919",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -1179,7 +1179,6 @@
|
|||
|
||||
"_": "->------------------------] Subtitles [------------------------<-",
|
||||
|
||||
"create.subtitle.saw_idle": "UNLOCALIZED: Mechanical Saw turns",
|
||||
"create.subtitle.contraption_disassemble": "UNLOCALIZED: Contraption stops",
|
||||
"create.subtitle.peculiar_bell_use": "UNLOCALIZED: Peculiar Bell tolls",
|
||||
"create.subtitle.mixing": "UNLOCALIZED: Mixing Noises",
|
||||
|
@ -1194,7 +1193,6 @@
|
|||
"create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks",
|
||||
"create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
|
||||
"create.subtitle.controller_put": "UNLOCALIZED: Controller thumps",
|
||||
"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",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 1723",
|
||||
"_": "Missing Localizations: 1721",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -1179,7 +1179,6 @@
|
|||
|
||||
"_": "->------------------------] Subtitles [------------------------<-",
|
||||
|
||||
"create.subtitle.saw_idle": "UNLOCALIZED: Mechanical Saw turns",
|
||||
"create.subtitle.contraption_disassemble": "UNLOCALIZED: Contraption stops",
|
||||
"create.subtitle.peculiar_bell_use": "UNLOCALIZED: Peculiar Bell tolls",
|
||||
"create.subtitle.mixing": "UNLOCALIZED: Mixing Noises",
|
||||
|
@ -1194,7 +1193,6 @@
|
|||
"create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks",
|
||||
"create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
|
||||
"create.subtitle.controller_put": "UNLOCALIZED: Controller thumps",
|
||||
"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",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 210",
|
||||
"_": "Missing Localizations: 208",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -1179,7 +1179,6 @@
|
|||
|
||||
"_": "->------------------------] Subtitles [------------------------<-",
|
||||
|
||||
"create.subtitle.saw_idle": "UNLOCALIZED: Mechanical Saw turns",
|
||||
"create.subtitle.contraption_disassemble": "Maszyna staje",
|
||||
"create.subtitle.peculiar_bell_use": "UNLOCALIZED: Peculiar Bell tolls",
|
||||
"create.subtitle.mixing": "Dźwięki mieszania",
|
||||
|
@ -1194,7 +1193,6 @@
|
|||
"create.subtitle.scroll_value": "Kliknięcie",
|
||||
"create.subtitle.crafter_craft": "Mechaniczny stół rzemieślniczy konstruuje",
|
||||
"create.subtitle.controller_put": "UNLOCALIZED: Controller thumps",
|
||||
"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ą",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 1764",
|
||||
"_": "Missing Localizations: 1762",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -1179,7 +1179,6 @@
|
|||
|
||||
"_": "->------------------------] Subtitles [------------------------<-",
|
||||
|
||||
"create.subtitle.saw_idle": "UNLOCALIZED: Mechanical Saw turns",
|
||||
"create.subtitle.contraption_disassemble": "UNLOCALIZED: Contraption stops",
|
||||
"create.subtitle.peculiar_bell_use": "UNLOCALIZED: Peculiar Bell tolls",
|
||||
"create.subtitle.mixing": "UNLOCALIZED: Mixing Noises",
|
||||
|
@ -1194,7 +1193,6 @@
|
|||
"create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks",
|
||||
"create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
|
||||
"create.subtitle.controller_put": "UNLOCALIZED: Controller thumps",
|
||||
"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",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 767",
|
||||
"_": "Missing Localizations: 765",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -1179,7 +1179,6 @@
|
|||
|
||||
"_": "->------------------------] Subtitles [------------------------<-",
|
||||
|
||||
"create.subtitle.saw_idle": "UNLOCALIZED: Mechanical Saw turns",
|
||||
"create.subtitle.contraption_disassemble": "UNLOCALIZED: Contraption stops",
|
||||
"create.subtitle.peculiar_bell_use": "UNLOCALIZED: Peculiar Bell tolls",
|
||||
"create.subtitle.mixing": "UNLOCALIZED: Mixing Noises",
|
||||
|
@ -1194,7 +1193,6 @@
|
|||
"create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks",
|
||||
"create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
|
||||
"create.subtitle.controller_put": "UNLOCALIZED: Controller thumps",
|
||||
"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",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 251",
|
||||
"_": "Missing Localizations: 249",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -1179,7 +1179,6 @@
|
|||
|
||||
"_": "->------------------------] Subtitles [------------------------<-",
|
||||
|
||||
"create.subtitle.saw_idle": "UNLOCALIZED: Mechanical Saw turns",
|
||||
"create.subtitle.contraption_disassemble": "UNLOCALIZED: Contraption stops",
|
||||
"create.subtitle.peculiar_bell_use": "UNLOCALIZED: Peculiar Bell tolls",
|
||||
"create.subtitle.mixing": "UNLOCALIZED: Mixing Noises",
|
||||
|
@ -1194,7 +1193,6 @@
|
|||
"create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks",
|
||||
"create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
|
||||
"create.subtitle.controller_put": "UNLOCALIZED: Controller thumps",
|
||||
"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",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 246",
|
||||
"_": "Missing Localizations: 244",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -1179,7 +1179,6 @@
|
|||
|
||||
"_": "->------------------------] Subtitles [------------------------<-",
|
||||
|
||||
"create.subtitle.saw_idle": "UNLOCALIZED: Mechanical Saw turns",
|
||||
"create.subtitle.contraption_disassemble": "UNLOCALIZED: Contraption stops",
|
||||
"create.subtitle.peculiar_bell_use": "UNLOCALIZED: Peculiar Bell tolls",
|
||||
"create.subtitle.mixing": "UNLOCALIZED: Mixing Noises",
|
||||
|
@ -1194,7 +1193,6 @@
|
|||
"create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks",
|
||||
"create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
|
||||
"create.subtitle.controller_put": "UNLOCALIZED: Controller thumps",
|
||||
"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",
|
||||
|
|
|
@ -294,24 +294,6 @@
|
|||
],
|
||||
"subtitle": "create.subtitle.saw_activate_wood"
|
||||
},
|
||||
"saw_idle": {
|
||||
"sounds": [
|
||||
{
|
||||
"name": "minecraft:entity.boat.paddle_land",
|
||||
"type": "event"
|
||||
}
|
||||
],
|
||||
"subtitle": "create.subtitle.saw_idle"
|
||||
},
|
||||
"saw_process": {
|
||||
"sounds": [
|
||||
{
|
||||
"name": "minecraft:block.sand.place",
|
||||
"type": "event"
|
||||
}
|
||||
],
|
||||
"subtitle": "create.subtitle.saw_process"
|
||||
},
|
||||
"schematicannon_finish": {
|
||||
"sounds": [
|
||||
{
|
||||
|
|
|
@ -1,19 +1,15 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": [
|
||||
" I ",
|
||||
"IGI",
|
||||
"S S"
|
||||
"I",
|
||||
"P"
|
||||
],
|
||||
"key": {
|
||||
"I": {
|
||||
"tag": "forge:ingots/brass"
|
||||
"tag": "forge:storage_blocks/brass"
|
||||
},
|
||||
"S": {
|
||||
"P": {
|
||||
"tag": "forge:plates/brass"
|
||||
},
|
||||
"G": {
|
||||
"item": "minecraft:ghast_tear"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
|
|
|
@ -2,18 +2,15 @@
|
|||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": [
|
||||
"LLA",
|
||||
"LR ",
|
||||
"ICI"
|
||||
"L ",
|
||||
"IC "
|
||||
],
|
||||
"key": {
|
||||
"L": {
|
||||
"tag": "forge:plates/brass"
|
||||
},
|
||||
"R": {
|
||||
"item": "create:cogwheel"
|
||||
},
|
||||
"I": {
|
||||
"item": "create:electron_tube"
|
||||
"item": "create:clockwork_component"
|
||||
},
|
||||
"A": {
|
||||
"item": "create:andesite_alloy"
|
||||
|
|
|
@ -8,8 +8,8 @@
|
|||
"results": [
|
||||
{
|
||||
"item": "minecraft:acacia_planks",
|
||||
"count": 5
|
||||
"count": 6
|
||||
}
|
||||
],
|
||||
"processingTime": 100
|
||||
"processingTime": 50
|
||||
}
|
|
@ -8,8 +8,8 @@
|
|||
"results": [
|
||||
{
|
||||
"item": "minecraft:acacia_planks",
|
||||
"count": 5
|
||||
"count": 6
|
||||
}
|
||||
],
|
||||
"processingTime": 100
|
||||
"processingTime": 50
|
||||
}
|
|
@ -8,8 +8,8 @@
|
|||
"results": [
|
||||
{
|
||||
"item": "minecraft:birch_planks",
|
||||
"count": 5
|
||||
"count": 6
|
||||
}
|
||||
],
|
||||
"processingTime": 100
|
||||
"processingTime": 50
|
||||
}
|
|
@ -8,8 +8,8 @@
|
|||
"results": [
|
||||
{
|
||||
"item": "minecraft:birch_planks",
|
||||
"count": 5
|
||||
"count": 6
|
||||
}
|
||||
],
|
||||
"processingTime": 100
|
||||
"processingTime": 50
|
||||
}
|
|
@ -8,8 +8,8 @@
|
|||
"results": [
|
||||
{
|
||||
"item": "minecraft:crimson_planks",
|
||||
"count": 5
|
||||
"count": 6
|
||||
}
|
||||
],
|
||||
"processingTime": 100
|
||||
"processingTime": 50
|
||||
}
|
|
@ -8,8 +8,8 @@
|
|||
"results": [
|
||||
{
|
||||
"item": "minecraft:crimson_planks",
|
||||
"count": 5
|
||||
"count": 6
|
||||
}
|
||||
],
|
||||
"processingTime": 100
|
||||
"processingTime": 50
|
||||
}
|
|
@ -8,8 +8,8 @@
|
|||
"results": [
|
||||
{
|
||||
"item": "minecraft:dark_oak_planks",
|
||||
"count": 5
|
||||
"count": 6
|
||||
}
|
||||
],
|
||||
"processingTime": 100
|
||||
"processingTime": 50
|
||||
}
|
|
@ -8,8 +8,8 @@
|
|||
"results": [
|
||||
{
|
||||
"item": "minecraft:dark_oak_planks",
|
||||
"count": 5
|
||||
"count": 6
|
||||
}
|
||||
],
|
||||
"processingTime": 100
|
||||
"processingTime": 50
|
||||
}
|
|
@ -8,8 +8,8 @@
|
|||
"results": [
|
||||
{
|
||||
"item": "minecraft:jungle_planks",
|
||||
"count": 5
|
||||
"count": 6
|
||||
}
|
||||
],
|
||||
"processingTime": 100
|
||||
"processingTime": 50
|
||||
}
|
|
@ -8,8 +8,8 @@
|
|||
"results": [
|
||||
{
|
||||
"item": "minecraft:jungle_planks",
|
||||
"count": 5
|
||||
"count": 6
|
||||
}
|
||||
],
|
||||
"processingTime": 100
|
||||
"processingTime": 50
|
||||
}
|
|
@ -8,8 +8,8 @@
|
|||
"results": [
|
||||
{
|
||||
"item": "minecraft:oak_planks",
|
||||
"count": 5
|
||||
"count": 6
|
||||
}
|
||||
],
|
||||
"processingTime": 100
|
||||
"processingTime": 50
|
||||
}
|
|
@ -8,8 +8,8 @@
|
|||
"results": [
|
||||
{
|
||||
"item": "minecraft:oak_planks",
|
||||
"count": 5
|
||||
"count": 6
|
||||
}
|
||||
],
|
||||
"processingTime": 100
|
||||
"processingTime": 50
|
||||
}
|
|
@ -8,8 +8,8 @@
|
|||
"results": [
|
||||
{
|
||||
"item": "minecraft:spruce_planks",
|
||||
"count": 5
|
||||
"count": 6
|
||||
}
|
||||
],
|
||||
"processingTime": 100
|
||||
"processingTime": 50
|
||||
}
|
|
@ -8,8 +8,8 @@
|
|||
"results": [
|
||||
{
|
||||
"item": "minecraft:spruce_planks",
|
||||
"count": 5
|
||||
"count": 6
|
||||
}
|
||||
],
|
||||
"processingTime": 100
|
||||
"processingTime": 50
|
||||
}
|
|
@ -8,8 +8,8 @@
|
|||
"results": [
|
||||
{
|
||||
"item": "minecraft:warped_planks",
|
||||
"count": 5
|
||||
"count": 6
|
||||
}
|
||||
],
|
||||
"processingTime": 100
|
||||
"processingTime": 50
|
||||
}
|
|
@ -8,8 +8,8 @@
|
|||
"results": [
|
||||
{
|
||||
"item": "minecraft:warped_planks",
|
||||
"count": 5
|
||||
"count": 6
|
||||
}
|
||||
],
|
||||
"processingTime": 100
|
||||
"processingTime": 50
|
||||
}
|
|
@ -12,7 +12,7 @@
|
|||
"tag": "forge:ingots/brass"
|
||||
},
|
||||
"R": {
|
||||
"item": "create:cogwheel"
|
||||
"item": "create:clockwork_component"
|
||||
},
|
||||
"H": {
|
||||
"item": "create:brass_hand"
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
"type": "create:mechanical_crafting",
|
||||
"pattern": [
|
||||
"L",
|
||||
"R",
|
||||
"S",
|
||||
"S",
|
||||
"S"
|
||||
],
|
||||
"key": {
|
||||
"L": {
|
||||
"item": "create:andesite_alloy"
|
||||
},
|
||||
"R": {
|
||||
"item": "create:clockwork_component"
|
||||
},
|
||||
"S": {
|
||||
"tag": "forge:ingots/copper"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "create:potato_cannon"
|
||||
}
|
||||
}
|
|
@ -1123,7 +1123,7 @@ public class AllBlocks {
|
|||
.modelFile(AssetLookup.partialBaseModel(c, p))
|
||||
.rotationX(s.get(ArmBlock.CEILING) ? 180 : 0)
|
||||
.build()))
|
||||
.transform(StressConfigDefaults.setImpact(8.0))
|
||||
.transform(StressConfigDefaults.setImpact(2.0))
|
||||
.item(ArmItem::new)
|
||||
.transform(customItemModel())
|
||||
.register();
|
||||
|
|
|
@ -194,16 +194,6 @@ public class AllSoundEvents {
|
|||
.category(SoundCategory.BLOCKS)
|
||||
.build(),
|
||||
|
||||
SAW_PROCESS = create("saw_process").subtitle("Mechanical Saw processes")
|
||||
.playExisting(SoundEvents.BLOCK_SAND_PLACE, .075f, .75f)
|
||||
.category(SoundCategory.BLOCKS)
|
||||
.build(),
|
||||
|
||||
SAW_IDLE = create("saw_idle").subtitle("Mechanical Saw turns")
|
||||
.playExisting(SoundEvents.ENTITY_BOAT_PADDLE_LAND)
|
||||
.category(SoundCategory.BLOCKS)
|
||||
.build(),
|
||||
|
||||
BLAZE_MUNCH = create("blaze_munch").subtitle("Blaze Burner munches")
|
||||
.playExisting(SoundEvents.ENTITY_GENERIC_EAT, .5f, 1f)
|
||||
.category(SoundCategory.BLOCKS)
|
||||
|
|
|
@ -49,7 +49,9 @@ public class SawRenderer extends SafeTileEntityRenderer<SawTileEntity> {
|
|||
renderItems(te, partialTicks, ms, buffer, light, overlay);
|
||||
FilteringRenderer.renderOnTileEntity(te, partialTicks, ms, buffer, light, overlay);
|
||||
|
||||
if (Backend.getInstance().canUseInstancing(te.getWorld())) return;
|
||||
if (Backend.getInstance()
|
||||
.canUseInstancing(te.getWorld()))
|
||||
return;
|
||||
|
||||
renderShaft(te, ms, buffer, light, overlay);
|
||||
}
|
||||
|
@ -85,10 +87,9 @@ public class SawRenderer extends SafeTileEntityRenderer<SawTileEntity> {
|
|||
if (rotate) {
|
||||
superBuffer.rotateCentered(Direction.UP, AngleHelper.rad(90));
|
||||
}
|
||||
superBuffer
|
||||
.color(0xFFFFFF)
|
||||
.light(light)
|
||||
.renderInto(ms, buffer.getBuffer(RenderType.getCutoutMipped()));
|
||||
superBuffer.color(0xFFFFFF)
|
||||
.light(light)
|
||||
.renderInto(ms, buffer.getBuffer(RenderType.getCutoutMipped()));
|
||||
}
|
||||
|
||||
protected void renderShaft(SawTileEntity te, MatrixStack ms, IRenderTypeBuffer buffer, int light, int overlay) {
|
||||
|
@ -108,8 +109,13 @@ public class SawRenderer extends SafeTileEntityRenderer<SawTileEntity> {
|
|||
boolean moving = te.inventory.recipeDuration != 0;
|
||||
float offset = moving ? (float) (te.inventory.remainingTime) / te.inventory.recipeDuration : 0;
|
||||
float processingSpeed = MathHelper.clamp(Math.abs(te.getSpeed()) / 32, 1, 128);
|
||||
if (moving)
|
||||
offset = MathHelper.clamp(offset + ((-partialTicks + .5f) * processingSpeed) / te.inventory.recipeDuration, 0, 1);
|
||||
if (moving) {
|
||||
offset = MathHelper
|
||||
.clamp(offset + ((-partialTicks + .5f) * processingSpeed) / te.inventory.recipeDuration, 0.125f, 1f);
|
||||
if (!te.inventory.appliedRecipe)
|
||||
offset += 1;
|
||||
offset /= 2;
|
||||
}
|
||||
|
||||
if (te.getSpeed() == 0)
|
||||
offset = .5f;
|
||||
|
@ -142,10 +148,13 @@ public class SawRenderer extends SafeTileEntityRenderer<SawTileEntity> {
|
|||
|
||||
protected SuperByteBuffer getRotatedModel(KineticTileEntity te) {
|
||||
BlockState state = te.getBlockState();
|
||||
if (state.get(FACING).getAxis().isHorizontal())
|
||||
return PartialBufferer.getFacing(AllBlockPartials.SHAFT_HALF, state.rotate(te.getWorld(), te.getPos(), Rotation.CLOCKWISE_180));
|
||||
if (state.get(FACING)
|
||||
.getAxis()
|
||||
.isHorizontal())
|
||||
return PartialBufferer.getFacing(AllBlockPartials.SHAFT_HALF,
|
||||
state.rotate(te.getWorld(), te.getPos(), Rotation.CLOCKWISE_180));
|
||||
return CreateClient.BUFFER_CACHE.renderBlockIn(KineticTileEntityRenderer.KINETIC_TILE,
|
||||
getRenderedBlockState(te));
|
||||
getRenderedBlockState(te));
|
||||
}
|
||||
|
||||
protected BlockState getRenderedBlockState(KineticTileEntity te) {
|
||||
|
@ -195,10 +204,8 @@ public class SawRenderer extends SafeTileEntityRenderer<SawTileEntity> {
|
|||
MatrixStacker.of(m)
|
||||
.unCentre();
|
||||
|
||||
superBuffer
|
||||
.transform(m)
|
||||
.light(matrices.entityMatrix,
|
||||
ContraptionRenderDispatcher.getContraptionWorldLight(context, renderWorld))
|
||||
superBuffer.transform(m)
|
||||
.light(matrices.entityMatrix, ContraptionRenderDispatcher.getContraptionWorldLight(context, renderWorld))
|
||||
.renderInto(matrices.entityStack, buffer.getBuffer(RenderType.getCutoutMipped()));
|
||||
|
||||
m.pop();
|
||||
|
|
|
@ -19,12 +19,9 @@ import com.simibubi.create.content.contraptions.itemAssembly.SequencedAssemblyRe
|
|||
import com.simibubi.create.content.contraptions.processing.ProcessingInventory;
|
||||
import com.simibubi.create.foundation.config.AllConfigs;
|
||||
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.behaviour.belt.DirectBeltInputBehaviour;
|
||||
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.VecHelper;
|
||||
import com.simibubi.create.foundation.utility.recipe.RecipeConditions;
|
||||
|
@ -81,15 +78,16 @@ public class SawTileEntity extends BlockBreakingKineticTileEntity {
|
|||
private int recipeIndex;
|
||||
private final LazyOptional<IItemHandler> invProvider;
|
||||
private FilteringBehaviour filtering;
|
||||
private boolean processingStarted;
|
||||
|
||||
private ItemStack playEvent;
|
||||
|
||||
public SawTileEntity(TileEntityType<? extends SawTileEntity> type) {
|
||||
super(type);
|
||||
inventory = new ProcessingInventory(this::start);
|
||||
inventory = new ProcessingInventory(this::start).withSlotLimit(!AllConfigs.SERVER.recipes.bulkCutting.get());
|
||||
inventory.remainingTime = -1;
|
||||
recipeIndex = 0;
|
||||
invProvider = LazyOptional.of(() -> inventory);
|
||||
processingStarted = false;
|
||||
playEvent = ItemStack.EMPTY;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -106,10 +104,10 @@ public class SawTileEntity extends BlockBreakingKineticTileEntity {
|
|||
compound.putInt("RecipeIndex", recipeIndex);
|
||||
super.write(compound, clientPacket);
|
||||
|
||||
if (!clientPacket || !processingStarted)
|
||||
if (!clientPacket || playEvent.isEmpty())
|
||||
return;
|
||||
processingStarted = false;
|
||||
NBTHelper.putMarker(compound, "ProcessingStarted");
|
||||
compound.put("PlayEvent", playEvent.serializeNBT());
|
||||
playEvent = ItemStack.EMPTY;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -117,8 +115,8 @@ public class SawTileEntity extends BlockBreakingKineticTileEntity {
|
|||
super.fromTag(state, compound, clientPacket);
|
||||
inventory.deserializeNBT(compound.getCompound("Inventory"));
|
||||
recipeIndex = compound.getInt("RecipeIndex");
|
||||
if (compound.contains("ProcessingStarted"))
|
||||
processingStarted = true;
|
||||
if (compound.contains("PlayEvent"))
|
||||
playEvent = ItemStack.read(compound.getCompound("PlayEvent"));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -128,29 +126,21 @@ public class SawTileEntity extends BlockBreakingKineticTileEntity {
|
|||
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 (!playEvent.isEmpty()) {
|
||||
boolean isWood = false;
|
||||
Item item = playEvent.getItem();
|
||||
if (item instanceof BlockItem) {
|
||||
Block block = ((BlockItem) item).getBlock();
|
||||
isWood = block.getSoundType(block.getDefaultState(), world, pos, null) == SoundType.WOOD;
|
||||
}
|
||||
spawnEventParticles(playEvent);
|
||||
playEvent = ItemStack.EMPTY;
|
||||
if (!isWood)
|
||||
AllSoundEvents.SAW_ACTIVATE_STONE.playAt(world, pos, 1, 1, true);
|
||||
AllSoundEvents.SAW_ACTIVATE_STONE.playAt(world, pos, 3, 1, true);
|
||||
else
|
||||
AllSoundEvents.SAW_ACTIVATE_WOOD.playAt(world, pos, 1, 1, true);
|
||||
AllSoundEvents.SAW_ACTIVATE_WOOD.playAt(world, pos, 3, 1, true);
|
||||
return;
|
||||
}
|
||||
|
||||
// AllSoundEvents.SAW_PROCESS.playAt(world, pos, 1, 1, true); TODO
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -169,15 +159,20 @@ public class SawTileEntity extends BlockBreakingKineticTileEntity {
|
|||
return;
|
||||
}
|
||||
|
||||
float processingSpeed = MathHelper.clamp(Math.abs(getSpeed()) / 32, 1, 128);
|
||||
float processingSpeed = MathHelper.clamp(Math.abs(getSpeed()) / 24, 1, 128);
|
||||
inventory.remainingTime -= processingSpeed;
|
||||
|
||||
if (inventory.remainingTime > 0)
|
||||
spawnParticles(inventory.getStackInSlot(0));
|
||||
|
||||
if (inventory.remainingTime < 20 && !inventory.appliedRecipe) {
|
||||
if (inventory.remainingTime < 5 && !inventory.appliedRecipe) {
|
||||
if (world.isRemote && !isVirtual())
|
||||
return;
|
||||
playEvent = inventory.getStackInSlot(0);
|
||||
applyRecipe();
|
||||
inventory.appliedRecipe = true;
|
||||
inventory.recipeDuration = 20;
|
||||
inventory.remainingTime = 20;
|
||||
sendData();
|
||||
return;
|
||||
}
|
||||
|
@ -263,6 +258,26 @@ public class SawTileEntity extends BlockBreakingKineticTileEntity {
|
|||
return super.getCapability(cap, side);
|
||||
}
|
||||
|
||||
protected void spawnEventParticles(ItemStack stack) {
|
||||
if (stack == null || stack.isEmpty())
|
||||
return;
|
||||
|
||||
IParticleData particleData = null;
|
||||
if (stack.getItem() instanceof BlockItem)
|
||||
particleData = new BlockParticleData(ParticleTypes.BLOCK, ((BlockItem) stack.getItem()).getBlock()
|
||||
.getDefaultState());
|
||||
else
|
||||
particleData = new ItemParticleData(ParticleTypes.ITEM, stack);
|
||||
|
||||
Random r = world.rand;
|
||||
Vector3d v = VecHelper.getCenterOf(this.pos)
|
||||
.add(0, 5 / 16f, 0);
|
||||
for (int i = 0; i < 10; i++) {
|
||||
Vector3d m = VecHelper.offsetRandomly(new Vector3d(0, 0.25f, 0), r, .125f);
|
||||
world.addParticle(particleData, v.x, v.y, v.z, m.x, m.y, m.y);
|
||||
}
|
||||
}
|
||||
|
||||
protected void spawnParticles(ItemStack stack) {
|
||||
if (stack == null || stack.isEmpty())
|
||||
return;
|
||||
|
@ -281,7 +296,9 @@ public class SawTileEntity extends BlockBreakingKineticTileEntity {
|
|||
Vector3d vec = getItemMovementVec();
|
||||
Vector3d pos = VecHelper.getCenterOf(this.pos);
|
||||
float offset = inventory.recipeDuration != 0 ? (float) (inventory.remainingTime) / inventory.recipeDuration : 0;
|
||||
offset -= .5f;
|
||||
offset /= 2;
|
||||
if (inventory.appliedRecipe)
|
||||
offset -= .5f;
|
||||
world.addParticle(particleData, pos.getX() + -vec.x * offset, pos.getY() + .45f, pos.getZ() + -vec.z * offset,
|
||||
-vec.x * speed, r.nextFloat() * speed, -vec.z * speed);
|
||||
}
|
||||
|
@ -319,8 +336,9 @@ public class SawTileEntity extends BlockBreakingKineticTileEntity {
|
|||
ItemHelper.addToList(stack, list);
|
||||
}
|
||||
}
|
||||
for (int slot = 0; slot < list.size() && slot + 1 < inventory.getSlots(); slot++)
|
||||
for (int slot = 0; slot < list.size() && slot + 1 < inventory.getSlots(); slot++) {
|
||||
inventory.setStackInSlot(slot + 1, list.get(slot));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
@ -353,9 +371,12 @@ public class SawTileEntity extends BlockBreakingKineticTileEntity {
|
|||
return;
|
||||
|
||||
inventory.clear();
|
||||
inventory.insertItem(0, entity.getItem()
|
||||
ItemStack remainder = inventory.insertItem(0, entity.getItem()
|
||||
.copy(), false);
|
||||
entity.remove();
|
||||
if (remainder.isEmpty())
|
||||
entity.remove();
|
||||
else
|
||||
entity.setItem(remainder);
|
||||
}
|
||||
|
||||
public void start(ItemStack inserted) {
|
||||
|
@ -368,7 +389,6 @@ public class SawTileEntity extends BlockBreakingKineticTileEntity {
|
|||
|
||||
List<? extends IRecipe<?>> recipes = getRecipes();
|
||||
boolean valid = !recipes.isEmpty();
|
||||
processingStarted = true;
|
||||
int time = 50;
|
||||
|
||||
if (recipes.isEmpty()) {
|
||||
|
|
|
@ -11,11 +11,22 @@ public class ProcessingInventory extends ItemStackHandler {
|
|||
public float recipeDuration;
|
||||
public boolean appliedRecipe;
|
||||
public Consumer<ItemStack> callback;
|
||||
private boolean limit;
|
||||
|
||||
public ProcessingInventory(Consumer<ItemStack> callback) {
|
||||
super(10);
|
||||
this.callback = callback;
|
||||
}
|
||||
|
||||
public ProcessingInventory withSlotLimit(boolean limit) {
|
||||
this.limit = limit;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getSlotLimit(int slot) {
|
||||
return !limit ? super.getSlotLimit(slot) : 1;
|
||||
}
|
||||
|
||||
public void clear() {
|
||||
for (int i = 0; i < getSlots(); i++)
|
||||
|
@ -36,7 +47,7 @@ public class ProcessingInventory extends ItemStackHandler {
|
|||
public ItemStack insertItem(int slot, ItemStack stack, boolean simulate) {
|
||||
ItemStack insertItem = super.insertItem(slot, stack, simulate);
|
||||
if (slot == 0 && !insertItem.equals(stack, true))
|
||||
callback.accept(insertItem.copy());
|
||||
callback.accept(getStackInSlot(slot));
|
||||
return insertItem;
|
||||
}
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ import net.minecraftforge.fml.network.PacketDistributor;
|
|||
@EventBusSubscriber
|
||||
public class CursedBellPulser {
|
||||
|
||||
public static final int DISTANCE = 2;
|
||||
public static final int DISTANCE = 3;
|
||||
public static final int RECHARGE_TICKS = 8;
|
||||
|
||||
@SubscribeEvent
|
||||
|
|
|
@ -19,7 +19,7 @@ import net.minecraft.world.World;
|
|||
|
||||
public class CursedBellTileEntity extends AbstractBellTileEntity {
|
||||
|
||||
public static final int DISTANCE = 5;
|
||||
public static final int DISTANCE = 10;
|
||||
public static final int RECHARGE_TICKS = 65;
|
||||
public static final int EFFECT_TICKS = 20;
|
||||
|
||||
|
|
|
@ -6,7 +6,9 @@ import net.minecraft.client.particle.IAnimatedSprite;
|
|||
import net.minecraft.client.renderer.ActiveRenderInfo;
|
||||
import net.minecraft.client.world.ClientWorld;
|
||||
import net.minecraft.particles.ParticleType;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.vector.Quaternion;
|
||||
import net.minecraft.world.LightType;
|
||||
|
||||
public class SoulParticle extends CustomRotationParticle {
|
||||
|
||||
|
@ -59,7 +61,8 @@ public class SoulParticle extends CustomRotationParticle {
|
|||
|
||||
if (animationStage == null)
|
||||
this.setExpired();
|
||||
|
||||
if (world.getLightLevel(LightType.BLOCK, new BlockPos(posX, posY, posZ)) > 7)
|
||||
this.setExpired();
|
||||
}
|
||||
|
||||
public void setFrame(int frame) {
|
||||
|
|
|
@ -17,7 +17,7 @@ import net.minecraft.world.spawner.WorldEntitySpawner;
|
|||
|
||||
public class SoulPulseEffect {
|
||||
|
||||
public static final int MAX_DISTANCE = 5;
|
||||
public static final int MAX_DISTANCE = 10;
|
||||
private static final List<List<BlockPos>> LAYERS = genLayers();
|
||||
|
||||
private static final int WAITING_TICKS = 100;
|
||||
|
|
|
@ -359,7 +359,7 @@ public class ChuteTileEntity extends SmartTileEntity implements IHaveGoggleInfor
|
|||
ItemStack remainder = ItemHandlerHelper.insertItemStacked(capBelow.orElse(null), item, simulate);
|
||||
ItemStack held = getItem();
|
||||
if (!simulate)
|
||||
setItem(remainder);
|
||||
setItem(remainder, itemPosition.get(0));
|
||||
if (remainder.getCount() != held.getCount())
|
||||
return true;
|
||||
if (direction == Direction.DOWN)
|
||||
|
|
|
@ -3,6 +3,7 @@ package com.simibubi.create.foundation.config;
|
|||
public class CRecipes extends ConfigBase {
|
||||
|
||||
public ConfigBool bulkPressing = b(false, "bulkPressing", Comments.bulkPressing);
|
||||
public ConfigBool bulkCutting = b(false, "bulkCutting", Comments.bulkCutting);
|
||||
public ConfigBool allowShapelessInMixer = b(true, "allowShapelessInMixer", Comments.allowShapelessInMixer);
|
||||
public ConfigBool allowShapedSquareInPress = b(true, "allowShapedSquareInPress", Comments.allowShapedSquareInPress);
|
||||
public ConfigBool allowRegularCraftingInCrafter =
|
||||
|
@ -24,6 +25,7 @@ public class CRecipes extends ConfigBase {
|
|||
|
||||
private static class Comments {
|
||||
static String bulkPressing = "When true, allows the Mechanical Press to process entire stacks at a time.";
|
||||
static String bulkCutting = "When true, allows the Mechanical Saw to process entire stacks at a time.";
|
||||
static String allowShapelessInMixer =
|
||||
"When true, allows any shapeless crafting recipes to be processed by a Mechanical Mixer + Basin.";
|
||||
static String allowShapedSquareInPress =
|
||||
|
|
|
@ -119,7 +119,7 @@ public abstract class CreateRecipeProvider extends RecipeProvider {
|
|||
return AllItems.ELECTRON_TUBE.get();
|
||||
}
|
||||
|
||||
static IItemProvider circuit() {
|
||||
static IItemProvider clockwork() {
|
||||
return AllItems.CLOCKWORK_COMPONENT.get();
|
||||
}
|
||||
|
||||
|
|
|
@ -37,8 +37,8 @@ public class CuttingRecipeGen extends ProcessingRecipeGen {
|
|||
GeneratedRecipe stripAndMakePlanks(Block wood, Block stripped, Block planks) {
|
||||
create(() -> wood, b -> b.duration(50)
|
||||
.output(stripped));
|
||||
return create(() -> stripped, b -> b.duration(100)
|
||||
.output(planks, 5));
|
||||
return create(() -> stripped, b -> b.duration(50)
|
||||
.output(planks, 6));
|
||||
}
|
||||
|
||||
public CuttingRecipeGen(DataGenerator p_i48262_1_) {
|
||||
|
|
|
@ -31,7 +31,7 @@ public class MechanicalCraftingRecipeGen extends CreateRecipeProvider {
|
|||
|
||||
EXTENDO_GRIP = create(AllItems.EXTENDO_GRIP::get).returns(1)
|
||||
.recipe(b -> b.key('L', Ingredient.fromTag(I.brass()))
|
||||
.key('R', I.cog())
|
||||
.key('R', I.clockwork())
|
||||
.key('H', AllItems.BRASS_HAND.get())
|
||||
.key('S', Ingredient.fromTag(Tags.Items.RODS_WOODEN))
|
||||
.patternLine(" L ")
|
||||
|
@ -39,6 +39,16 @@ public class MechanicalCraftingRecipeGen extends CreateRecipeProvider {
|
|||
.patternLine("SSS")
|
||||
.patternLine("SSS")
|
||||
.patternLine(" H ")),
|
||||
|
||||
POTATO_CANNON = create(AllItems.POTATO_CANNON::get).returns(1)
|
||||
.recipe(b -> b.key('L', I.andesite())
|
||||
.key('R', I.clockwork())
|
||||
.key('S', Ingredient.fromTag(I.copper()))
|
||||
.patternLine("L")
|
||||
.patternLine("R")
|
||||
.patternLine("S")
|
||||
.patternLine("S")
|
||||
.patternLine("S")),
|
||||
|
||||
FURNACE_ENGINE = create(AllBlocks.FURNACE_ENGINE::get).returns(1)
|
||||
.recipe(b -> b.key('P', Ingredient.fromTag(I.brassSheet()))
|
||||
|
|
|
@ -175,12 +175,10 @@ public class StandardRecipeGen extends CreateRecipeProvider {
|
|||
.patternLine("E ")),
|
||||
|
||||
PECULIAR_BELL = create(AllBlocks.PECULIAR_BELL).unlockedByTag(I::brass)
|
||||
.viaShaped(b -> b.key('I', I.brass())
|
||||
.key('S', I.brassSheet())
|
||||
.key('G', Items.GHAST_TEAR)
|
||||
.patternLine(" I ")
|
||||
.patternLine("IGI")
|
||||
.patternLine("S S"))
|
||||
.viaShaped(b -> b.key('I', I.brassBlock())
|
||||
.key('P', I.brassSheet())
|
||||
.patternLine("I")
|
||||
.patternLine("P"))
|
||||
|
||||
;
|
||||
|
||||
|
@ -602,13 +600,12 @@ public class StandardRecipeGen extends CreateRecipeProvider {
|
|||
MECHANICAL_ARM = create(AllBlocks.MECHANICAL_ARM::get).unlockedBy(I::brassCasing)
|
||||
.returns(1)
|
||||
.viaShaped(b -> b.key('L', I.brassSheet())
|
||||
.key('R', I.cog())
|
||||
.key('I', I.electronTube())
|
||||
.key('I', I.clockwork())
|
||||
.key('A', I.andesite())
|
||||
.key('C', I.brassCasing())
|
||||
.patternLine("LLA")
|
||||
.patternLine("LR ")
|
||||
.patternLine("ICI")),
|
||||
.patternLine("L ")
|
||||
.patternLine("IC ")),
|
||||
|
||||
MECHANICAL_MIXER = create(AllBlocks.MECHANICAL_MIXER).unlockedBy(I::andesite)
|
||||
.viaShaped(b -> b.key('S', I.cog())
|
||||
|
@ -722,7 +719,7 @@ public class StandardRecipeGen extends CreateRecipeProvider {
|
|||
GAUGE_CYCLE = conversionCycle(ImmutableList.of(AllBlocks.SPEEDOMETER, AllBlocks.STRESSOMETER)),
|
||||
|
||||
ROTATION_SPEED_CONTROLLER = create(AllBlocks.ROTATION_SPEED_CONTROLLER).unlockedBy(I::brassCasing)
|
||||
.viaShaped(b -> b.key('B', I.circuit())
|
||||
.viaShaped(b -> b.key('B', I.clockwork())
|
||||
.key('C', I.brassCasing())
|
||||
.key('S', I.shaft())
|
||||
.patternLine(" B ")
|
||||
|
|
|
@ -67,7 +67,7 @@ public class MechanicalSawScenes {
|
|||
|
||||
scene.world.modifyEntity(logItem, Entity::remove);
|
||||
scene.world.createItemOnBeltLike(sawPos, Direction.WEST, log);
|
||||
scene.idle(30);
|
||||
scene.idle(50);
|
||||
|
||||
logItem = scene.world.createItemEntity(util.vector.topOf(sawPos)
|
||||
.add(0.5, -.1, 0), util.vector.of(0.05, 0.18, 0), strippedLog);
|
||||
|
@ -90,7 +90,7 @@ public class MechanicalSawScenes {
|
|||
|
||||
scene.world.modifyEntity(logItem, Entity::remove);
|
||||
scene.world.createItemOnBeltLike(sawPos, Direction.EAST, strippedLog);
|
||||
scene.idle(40);
|
||||
scene.idle(25);
|
||||
|
||||
logItem = scene.world.createItemEntity(util.vector.topOf(sawPos)
|
||||
.add(-0.5, -.1, 0), util.vector.of(-0.05, 0.18, 0), planks);
|
||||
|
|
|
@ -30,8 +30,6 @@ public class SoundScapes {
|
|||
KINETIC(SoundScapes::kinetic),
|
||||
COG(SoundScapes::cogwheel),
|
||||
|
||||
SAW((p, g) -> new SoundScape(p, g).repeating(AllSoundEvents.SAW_IDLE.getMainEvent(), 1f, .95f, 1))
|
||||
|
||||
;
|
||||
|
||||
private BiFunction<Float, AmbienceGroup, SoundScape> factory;
|
||||
|
|
|
@ -134,7 +134,7 @@ public class PlacementOffset {
|
|||
|
||||
BlockState newState = world.getBlockState(newPos);
|
||||
SoundType soundtype = newState.getSoundType(world, newPos, player);
|
||||
world.playSound(player, newPos, soundtype.getPlaceSound(), SoundCategory.BLOCKS, (soundtype.getVolume() + 1.0F) / 2.0F, soundtype.getPitch() * 0.8F);
|
||||
world.playSound(null, newPos, soundtype.getPlaceSound(), SoundCategory.BLOCKS, (soundtype.getVolume() + 1.0F) / 2.0F, soundtype.getPitch() * 0.8F);
|
||||
|
||||
player.addStat(Stats.ITEM_USED.get(blockItem));
|
||||
|
||||
|
|
Loading…
Reference in a new issue