diff --git a/src/generated/resources/.cache/cache b/src/generated/resources/.cache/cache index 1a576cb8c..1bafb8647 100644 --- a/src/generated/resources/.cache/cache +++ b/src/generated/resources/.cache/cache @@ -408,20 +408,20 @@ a3a11524cd3515fc01d905767b4b7ea782adaf03 assets/create/blockstates/yellow_seat.j 7f39521b211441f5c3e06d60c5978cebe16cacfb assets/create/blockstates/zinc_block.json b7181bcd8182b2f17088e5aa881f374c9c65470c assets/create/blockstates/zinc_ore.json c71f5246d2cb8e9913d1552d23fcc82c43cde7a0 assets/create/lang/en_ud.json -b3d9c21327e7045dfcef863853c08f1e7db5d2db assets/create/lang/en_us.json -2f7b9d1ba5e48abf34ed2096f742b6f90a688b33 assets/create/lang/unfinished/de_de.json -9c137b3b65108afd036afcfb7ee75c96902f81de assets/create/lang/unfinished/es_es.json -3b59c1ac9f06ca567295f83de3c02145e7685852 assets/create/lang/unfinished/es_mx.json -d56fb3eed79f9aeb936902a3fea11dfc0162f424 assets/create/lang/unfinished/fr_fr.json -bb26dfb31a60cb32fdd155ddd7667823d773322a assets/create/lang/unfinished/it_it.json -6bb09346d788d968c8e645b591caea239057b9c9 assets/create/lang/unfinished/ja_jp.json -16bce8571054e88106f7c8c4c9415813234add2b assets/create/lang/unfinished/ko_kr.json -cd91870aa6003249081fc020cb56bd9de6d2908a assets/create/lang/unfinished/nl_nl.json -9b041934d690920babd950e4fb916dbc571db75d assets/create/lang/unfinished/pl_pl.json -b8fb4a7f18d9bed04c007d182cb36626e749fffd assets/create/lang/unfinished/pt_br.json -a9a4fd6dbaedb5bdbd4b034eb48b20c31d7b7331 assets/create/lang/unfinished/ru_ru.json -bd7d056b83a291e50e1b60f88cab2d9c7399cd83 assets/create/lang/unfinished/zh_cn.json -99c4b734db6e45a04a6ffb97f5ec5ed7f0d8666e assets/create/lang/unfinished/zh_tw.json +902ca1904553a96445e4defd5a98e731803c3c8b assets/create/lang/en_us.json +c50d86ae82e9ff2aae4343ba04a500b39a80cdfe assets/create/lang/unfinished/de_de.json +e5dd53df8175a4c6eabfc7cefb154fd561e6b9b4 assets/create/lang/unfinished/es_es.json +fe7f791502163b2a0926ba419a498b248f698721 assets/create/lang/unfinished/es_mx.json +cf40087ddd20d942c966bccfab98119c833ccbc5 assets/create/lang/unfinished/fr_fr.json +32a09af53c8648d0973edda6f68add0cf26c9125 assets/create/lang/unfinished/it_it.json +386c07ecf2ee25aae7a200d3dd769230c2dda153 assets/create/lang/unfinished/ja_jp.json +053eaf939c2b335333e59c0012dfb93631702edd assets/create/lang/unfinished/ko_kr.json +b34828b5cc1c758abaf9a2ac7b7093d61835a3fe assets/create/lang/unfinished/nl_nl.json +4187feb7f6edb5557310731104a5ad8b3fa3554a assets/create/lang/unfinished/pl_pl.json +97eb911223452db36aea56313f120e1e30e37fa6 assets/create/lang/unfinished/pt_br.json +22473d1767b07aa892c6716f3e21191800c07b34 assets/create/lang/unfinished/ru_ru.json +9b74abf763c2a9e1b626a35105e273aee1254cfa assets/create/lang/unfinished/zh_cn.json +3f640da7f2796441a33e436b50d74d86bac1043f 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 diff --git a/src/generated/resources/assets/create/lang/en_us.json b/src/generated/resources/assets/create/lang/en_us.json index aef779dd2..a3cc208cc 100644 --- a/src/generated/resources/assets/create/lang/en_us.json +++ b/src/generated/resources/assets/create/lang/en_us.json @@ -1725,6 +1725,12 @@ "create.ponder.deployer_modes.text_1": "By default, a Deployer imitates a Right-click interaction", "create.ponder.deployer_modes.text_2": "Using a Wrench, it can be set to imitate a Left-click instead", + "create.ponder.deployer_processing.header": "Processing Items using Deployers", + "create.ponder.deployer_processing.text_1": "With a fitting held item, Deployers can process items provided beneath them", + "create.ponder.deployer_processing.text_2": "The Input items can be dropped or placed on a Depot under the Deployer", + "create.ponder.deployer_processing.text_3": "When items are provided on a belt...", + "create.ponder.deployer_processing.text_4": "The Deployer will hold and process them automatically", + "create.ponder.deployer_redstone.header": "Controlling Deployers with Redstone", "create.ponder.deployer_redstone.text_1": "When powered by Redstone, Deployers will not activate", "create.ponder.deployer_redstone.text_2": "Before stopping, the Deployer will finish any started cycles", @@ -1764,11 +1770,10 @@ "create.ponder.fan_source.text_2": "When given a Redstone Signal, the Fans will start providing power", "create.ponder.fluid_pipe_flow.header": "Moving Fluids using Copper Pipes", + "create.ponder.fluid_pipe_flow.text_1": "", "create.ponder.fluid_pipe_interaction.header": "Draining and Filling fluid containers", - "create.ponder.fluid_tank_access.header": "Accessing Fluid Tanks", - "create.ponder.fluid_tank_sizes.header": "Dimensions of a Fluid tank", "create.ponder.fluid_tank_storage.header": "Storing Fluids in Fluid Tanks", diff --git a/src/generated/resources/assets/create/lang/unfinished/de_de.json b/src/generated/resources/assets/create/lang/unfinished/de_de.json index 005ba35eb..e20cf7288 100644 --- a/src/generated/resources/assets/create/lang/unfinished/de_de.json +++ b/src/generated/resources/assets/create/lang/unfinished/de_de.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 1019", + "_": "Missing Localizations: 1024", "_": "->------------------------] Game Elements [------------------------<-", @@ -1726,6 +1726,12 @@ "create.ponder.deployer_modes.text_1": "UNLOCALIZED: By default, a Deployer imitates a Right-click interaction", "create.ponder.deployer_modes.text_2": "UNLOCALIZED: Using a Wrench, it can be set to imitate a Left-click instead", + "create.ponder.deployer_processing.header": "UNLOCALIZED: Processing Items using Deployers", + "create.ponder.deployer_processing.text_1": "UNLOCALIZED: With a fitting held item, Deployers can process items provided beneath them", + "create.ponder.deployer_processing.text_2": "UNLOCALIZED: The Input items can be dropped or placed on a Depot under the Deployer", + "create.ponder.deployer_processing.text_3": "UNLOCALIZED: When items are provided on a belt...", + "create.ponder.deployer_processing.text_4": "UNLOCALIZED: The Deployer will hold and process them automatically", + "create.ponder.deployer_redstone.header": "UNLOCALIZED: Controlling Deployers with Redstone", "create.ponder.deployer_redstone.text_1": "UNLOCALIZED: When powered by Redstone, Deployers will not activate", "create.ponder.deployer_redstone.text_2": "UNLOCALIZED: Before stopping, the Deployer will finish any started cycles", @@ -1765,11 +1771,10 @@ "create.ponder.fan_source.text_2": "UNLOCALIZED: When given a Redstone Signal, the Fans will start providing power", "create.ponder.fluid_pipe_flow.header": "UNLOCALIZED: Moving Fluids using Copper Pipes", + "create.ponder.fluid_pipe_flow.text_1": "UNLOCALIZED: ", "create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers", - "create.ponder.fluid_tank_access.header": "UNLOCALIZED: Accessing Fluid Tanks", - "create.ponder.fluid_tank_sizes.header": "UNLOCALIZED: Dimensions of a Fluid tank", "create.ponder.fluid_tank_storage.header": "UNLOCALIZED: Storing Fluids in Fluid Tanks", diff --git a/src/generated/resources/assets/create/lang/unfinished/es_es.json b/src/generated/resources/assets/create/lang/unfinished/es_es.json index be7fd2399..d18d2433e 100644 --- a/src/generated/resources/assets/create/lang/unfinished/es_es.json +++ b/src/generated/resources/assets/create/lang/unfinished/es_es.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 720", + "_": "Missing Localizations: 725", "_": "->------------------------] Game Elements [------------------------<-", @@ -1726,6 +1726,12 @@ "create.ponder.deployer_modes.text_1": "UNLOCALIZED: By default, a Deployer imitates a Right-click interaction", "create.ponder.deployer_modes.text_2": "UNLOCALIZED: Using a Wrench, it can be set to imitate a Left-click instead", + "create.ponder.deployer_processing.header": "UNLOCALIZED: Processing Items using Deployers", + "create.ponder.deployer_processing.text_1": "UNLOCALIZED: With a fitting held item, Deployers can process items provided beneath them", + "create.ponder.deployer_processing.text_2": "UNLOCALIZED: The Input items can be dropped or placed on a Depot under the Deployer", + "create.ponder.deployer_processing.text_3": "UNLOCALIZED: When items are provided on a belt...", + "create.ponder.deployer_processing.text_4": "UNLOCALIZED: The Deployer will hold and process them automatically", + "create.ponder.deployer_redstone.header": "UNLOCALIZED: Controlling Deployers with Redstone", "create.ponder.deployer_redstone.text_1": "UNLOCALIZED: When powered by Redstone, Deployers will not activate", "create.ponder.deployer_redstone.text_2": "UNLOCALIZED: Before stopping, the Deployer will finish any started cycles", @@ -1765,11 +1771,10 @@ "create.ponder.fan_source.text_2": "UNLOCALIZED: When given a Redstone Signal, the Fans will start providing power", "create.ponder.fluid_pipe_flow.header": "UNLOCALIZED: Moving Fluids using Copper Pipes", + "create.ponder.fluid_pipe_flow.text_1": "UNLOCALIZED: ", "create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers", - "create.ponder.fluid_tank_access.header": "UNLOCALIZED: Accessing Fluid Tanks", - "create.ponder.fluid_tank_sizes.header": "UNLOCALIZED: Dimensions of a Fluid tank", "create.ponder.fluid_tank_storage.header": "UNLOCALIZED: Storing Fluids in Fluid Tanks", diff --git a/src/generated/resources/assets/create/lang/unfinished/es_mx.json b/src/generated/resources/assets/create/lang/unfinished/es_mx.json index 55ab3285a..7f0686c57 100644 --- a/src/generated/resources/assets/create/lang/unfinished/es_mx.json +++ b/src/generated/resources/assets/create/lang/unfinished/es_mx.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 1332", + "_": "Missing Localizations: 1337", "_": "->------------------------] Game Elements [------------------------<-", @@ -1726,6 +1726,12 @@ "create.ponder.deployer_modes.text_1": "UNLOCALIZED: By default, a Deployer imitates a Right-click interaction", "create.ponder.deployer_modes.text_2": "UNLOCALIZED: Using a Wrench, it can be set to imitate a Left-click instead", + "create.ponder.deployer_processing.header": "UNLOCALIZED: Processing Items using Deployers", + "create.ponder.deployer_processing.text_1": "UNLOCALIZED: With a fitting held item, Deployers can process items provided beneath them", + "create.ponder.deployer_processing.text_2": "UNLOCALIZED: The Input items can be dropped or placed on a Depot under the Deployer", + "create.ponder.deployer_processing.text_3": "UNLOCALIZED: When items are provided on a belt...", + "create.ponder.deployer_processing.text_4": "UNLOCALIZED: The Deployer will hold and process them automatically", + "create.ponder.deployer_redstone.header": "UNLOCALIZED: Controlling Deployers with Redstone", "create.ponder.deployer_redstone.text_1": "UNLOCALIZED: When powered by Redstone, Deployers will not activate", "create.ponder.deployer_redstone.text_2": "UNLOCALIZED: Before stopping, the Deployer will finish any started cycles", @@ -1765,11 +1771,10 @@ "create.ponder.fan_source.text_2": "UNLOCALIZED: When given a Redstone Signal, the Fans will start providing power", "create.ponder.fluid_pipe_flow.header": "UNLOCALIZED: Moving Fluids using Copper Pipes", + "create.ponder.fluid_pipe_flow.text_1": "UNLOCALIZED: ", "create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers", - "create.ponder.fluid_tank_access.header": "UNLOCALIZED: Accessing Fluid Tanks", - "create.ponder.fluid_tank_sizes.header": "UNLOCALIZED: Dimensions of a Fluid tank", "create.ponder.fluid_tank_storage.header": "UNLOCALIZED: Storing Fluids in Fluid Tanks", diff --git a/src/generated/resources/assets/create/lang/unfinished/fr_fr.json b/src/generated/resources/assets/create/lang/unfinished/fr_fr.json index d8294296d..4ebd937db 100644 --- a/src/generated/resources/assets/create/lang/unfinished/fr_fr.json +++ b/src/generated/resources/assets/create/lang/unfinished/fr_fr.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 1271", + "_": "Missing Localizations: 1276", "_": "->------------------------] Game Elements [------------------------<-", @@ -1726,6 +1726,12 @@ "create.ponder.deployer_modes.text_1": "UNLOCALIZED: By default, a Deployer imitates a Right-click interaction", "create.ponder.deployer_modes.text_2": "UNLOCALIZED: Using a Wrench, it can be set to imitate a Left-click instead", + "create.ponder.deployer_processing.header": "UNLOCALIZED: Processing Items using Deployers", + "create.ponder.deployer_processing.text_1": "UNLOCALIZED: With a fitting held item, Deployers can process items provided beneath them", + "create.ponder.deployer_processing.text_2": "UNLOCALIZED: The Input items can be dropped or placed on a Depot under the Deployer", + "create.ponder.deployer_processing.text_3": "UNLOCALIZED: When items are provided on a belt...", + "create.ponder.deployer_processing.text_4": "UNLOCALIZED: The Deployer will hold and process them automatically", + "create.ponder.deployer_redstone.header": "UNLOCALIZED: Controlling Deployers with Redstone", "create.ponder.deployer_redstone.text_1": "UNLOCALIZED: When powered by Redstone, Deployers will not activate", "create.ponder.deployer_redstone.text_2": "UNLOCALIZED: Before stopping, the Deployer will finish any started cycles", @@ -1765,11 +1771,10 @@ "create.ponder.fan_source.text_2": "UNLOCALIZED: When given a Redstone Signal, the Fans will start providing power", "create.ponder.fluid_pipe_flow.header": "UNLOCALIZED: Moving Fluids using Copper Pipes", + "create.ponder.fluid_pipe_flow.text_1": "UNLOCALIZED: ", "create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers", - "create.ponder.fluid_tank_access.header": "UNLOCALIZED: Accessing Fluid Tanks", - "create.ponder.fluid_tank_sizes.header": "UNLOCALIZED: Dimensions of a Fluid tank", "create.ponder.fluid_tank_storage.header": "UNLOCALIZED: Storing Fluids in Fluid Tanks", diff --git a/src/generated/resources/assets/create/lang/unfinished/it_it.json b/src/generated/resources/assets/create/lang/unfinished/it_it.json index 531628c5c..528c5d80e 100644 --- a/src/generated/resources/assets/create/lang/unfinished/it_it.json +++ b/src/generated/resources/assets/create/lang/unfinished/it_it.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 737", + "_": "Missing Localizations: 742", "_": "->------------------------] Game Elements [------------------------<-", @@ -1726,6 +1726,12 @@ "create.ponder.deployer_modes.text_1": "UNLOCALIZED: By default, a Deployer imitates a Right-click interaction", "create.ponder.deployer_modes.text_2": "UNLOCALIZED: Using a Wrench, it can be set to imitate a Left-click instead", + "create.ponder.deployer_processing.header": "UNLOCALIZED: Processing Items using Deployers", + "create.ponder.deployer_processing.text_1": "UNLOCALIZED: With a fitting held item, Deployers can process items provided beneath them", + "create.ponder.deployer_processing.text_2": "UNLOCALIZED: The Input items can be dropped or placed on a Depot under the Deployer", + "create.ponder.deployer_processing.text_3": "UNLOCALIZED: When items are provided on a belt...", + "create.ponder.deployer_processing.text_4": "UNLOCALIZED: The Deployer will hold and process them automatically", + "create.ponder.deployer_redstone.header": "UNLOCALIZED: Controlling Deployers with Redstone", "create.ponder.deployer_redstone.text_1": "UNLOCALIZED: When powered by Redstone, Deployers will not activate", "create.ponder.deployer_redstone.text_2": "UNLOCALIZED: Before stopping, the Deployer will finish any started cycles", @@ -1765,11 +1771,10 @@ "create.ponder.fan_source.text_2": "UNLOCALIZED: When given a Redstone Signal, the Fans will start providing power", "create.ponder.fluid_pipe_flow.header": "UNLOCALIZED: Moving Fluids using Copper Pipes", + "create.ponder.fluid_pipe_flow.text_1": "UNLOCALIZED: ", "create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers", - "create.ponder.fluid_tank_access.header": "UNLOCALIZED: Accessing Fluid Tanks", - "create.ponder.fluid_tank_sizes.header": "UNLOCALIZED: Dimensions of a Fluid tank", "create.ponder.fluid_tank_storage.header": "UNLOCALIZED: Storing Fluids in Fluid Tanks", diff --git a/src/generated/resources/assets/create/lang/unfinished/ja_jp.json b/src/generated/resources/assets/create/lang/unfinished/ja_jp.json index 6101c4a8a..b0f5ac5de 100644 --- a/src/generated/resources/assets/create/lang/unfinished/ja_jp.json +++ b/src/generated/resources/assets/create/lang/unfinished/ja_jp.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 101", + "_": "Missing Localizations: 106", "_": "->------------------------] Game Elements [------------------------<-", @@ -1726,6 +1726,12 @@ "create.ponder.deployer_modes.text_1": "デフォルトでは、デプロイヤーは右クリックの動作を模倣します", "create.ponder.deployer_modes.text_2": "レンチを使えば、左クリックの動作を模倣するように設定できます", + "create.ponder.deployer_processing.header": "UNLOCALIZED: Processing Items using Deployers", + "create.ponder.deployer_processing.text_1": "UNLOCALIZED: With a fitting held item, Deployers can process items provided beneath them", + "create.ponder.deployer_processing.text_2": "UNLOCALIZED: The Input items can be dropped or placed on a Depot under the Deployer", + "create.ponder.deployer_processing.text_3": "UNLOCALIZED: When items are provided on a belt...", + "create.ponder.deployer_processing.text_4": "UNLOCALIZED: The Deployer will hold and process them automatically", + "create.ponder.deployer_redstone.header": "レッドストーン信号によるデプロイヤーの制御", "create.ponder.deployer_redstone.text_1": "レッドストーン信号を受けている間、デプロイヤーは稼働しません", "create.ponder.deployer_redstone.text_2": "デプロイヤーは停止する前に、開始したサイクルは終了させます", @@ -1765,11 +1771,10 @@ "create.ponder.fan_source.text_2": "レッドストーン信号を受けると、回転力が生成されます", "create.ponder.fluid_pipe_flow.header": "UNLOCALIZED: Moving Fluids using Copper Pipes", + "create.ponder.fluid_pipe_flow.text_1": "UNLOCALIZED: ", "create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers", - "create.ponder.fluid_tank_access.header": "UNLOCALIZED: Accessing Fluid Tanks", - "create.ponder.fluid_tank_sizes.header": "UNLOCALIZED: Dimensions of a Fluid tank", "create.ponder.fluid_tank_storage.header": "UNLOCALIZED: Storing Fluids in Fluid Tanks", diff --git a/src/generated/resources/assets/create/lang/unfinished/ko_kr.json b/src/generated/resources/assets/create/lang/unfinished/ko_kr.json index 621edc03f..827341591 100644 --- a/src/generated/resources/assets/create/lang/unfinished/ko_kr.json +++ b/src/generated/resources/assets/create/lang/unfinished/ko_kr.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 790", + "_": "Missing Localizations: 795", "_": "->------------------------] Game Elements [------------------------<-", @@ -1726,6 +1726,12 @@ "create.ponder.deployer_modes.text_1": "UNLOCALIZED: By default, a Deployer imitates a Right-click interaction", "create.ponder.deployer_modes.text_2": "UNLOCALIZED: Using a Wrench, it can be set to imitate a Left-click instead", + "create.ponder.deployer_processing.header": "UNLOCALIZED: Processing Items using Deployers", + "create.ponder.deployer_processing.text_1": "UNLOCALIZED: With a fitting held item, Deployers can process items provided beneath them", + "create.ponder.deployer_processing.text_2": "UNLOCALIZED: The Input items can be dropped or placed on a Depot under the Deployer", + "create.ponder.deployer_processing.text_3": "UNLOCALIZED: When items are provided on a belt...", + "create.ponder.deployer_processing.text_4": "UNLOCALIZED: The Deployer will hold and process them automatically", + "create.ponder.deployer_redstone.header": "UNLOCALIZED: Controlling Deployers with Redstone", "create.ponder.deployer_redstone.text_1": "UNLOCALIZED: When powered by Redstone, Deployers will not activate", "create.ponder.deployer_redstone.text_2": "UNLOCALIZED: Before stopping, the Deployer will finish any started cycles", @@ -1765,11 +1771,10 @@ "create.ponder.fan_source.text_2": "UNLOCALIZED: When given a Redstone Signal, the Fans will start providing power", "create.ponder.fluid_pipe_flow.header": "UNLOCALIZED: Moving Fluids using Copper Pipes", + "create.ponder.fluid_pipe_flow.text_1": "UNLOCALIZED: ", "create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers", - "create.ponder.fluid_tank_access.header": "UNLOCALIZED: Accessing Fluid Tanks", - "create.ponder.fluid_tank_sizes.header": "UNLOCALIZED: Dimensions of a Fluid tank", "create.ponder.fluid_tank_storage.header": "UNLOCALIZED: Storing Fluids in Fluid Tanks", diff --git a/src/generated/resources/assets/create/lang/unfinished/nl_nl.json b/src/generated/resources/assets/create/lang/unfinished/nl_nl.json index 89e3d7970..abbd7b157 100644 --- a/src/generated/resources/assets/create/lang/unfinished/nl_nl.json +++ b/src/generated/resources/assets/create/lang/unfinished/nl_nl.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 1654", + "_": "Missing Localizations: 1659", "_": "->------------------------] Game Elements [------------------------<-", @@ -1726,6 +1726,12 @@ "create.ponder.deployer_modes.text_1": "UNLOCALIZED: By default, a Deployer imitates a Right-click interaction", "create.ponder.deployer_modes.text_2": "UNLOCALIZED: Using a Wrench, it can be set to imitate a Left-click instead", + "create.ponder.deployer_processing.header": "UNLOCALIZED: Processing Items using Deployers", + "create.ponder.deployer_processing.text_1": "UNLOCALIZED: With a fitting held item, Deployers can process items provided beneath them", + "create.ponder.deployer_processing.text_2": "UNLOCALIZED: The Input items can be dropped or placed on a Depot under the Deployer", + "create.ponder.deployer_processing.text_3": "UNLOCALIZED: When items are provided on a belt...", + "create.ponder.deployer_processing.text_4": "UNLOCALIZED: The Deployer will hold and process them automatically", + "create.ponder.deployer_redstone.header": "UNLOCALIZED: Controlling Deployers with Redstone", "create.ponder.deployer_redstone.text_1": "UNLOCALIZED: When powered by Redstone, Deployers will not activate", "create.ponder.deployer_redstone.text_2": "UNLOCALIZED: Before stopping, the Deployer will finish any started cycles", @@ -1765,11 +1771,10 @@ "create.ponder.fan_source.text_2": "UNLOCALIZED: When given a Redstone Signal, the Fans will start providing power", "create.ponder.fluid_pipe_flow.header": "UNLOCALIZED: Moving Fluids using Copper Pipes", + "create.ponder.fluid_pipe_flow.text_1": "UNLOCALIZED: ", "create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers", - "create.ponder.fluid_tank_access.header": "UNLOCALIZED: Accessing Fluid Tanks", - "create.ponder.fluid_tank_sizes.header": "UNLOCALIZED: Dimensions of a Fluid tank", "create.ponder.fluid_tank_storage.header": "UNLOCALIZED: Storing Fluids in Fluid Tanks", diff --git a/src/generated/resources/assets/create/lang/unfinished/pl_pl.json b/src/generated/resources/assets/create/lang/unfinished/pl_pl.json index fd08721dc..39fbe5feb 100644 --- a/src/generated/resources/assets/create/lang/unfinished/pl_pl.json +++ b/src/generated/resources/assets/create/lang/unfinished/pl_pl.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 77", + "_": "Missing Localizations: 82", "_": "->------------------------] Game Elements [------------------------<-", @@ -1726,6 +1726,12 @@ "create.ponder.deployer_modes.text_1": "Domyślnie, aplikator imituje prawe kliknięcie", "create.ponder.deployer_modes.text_2": "Może być przestawiony na lewe kliknięcie używając klucza", + "create.ponder.deployer_processing.header": "UNLOCALIZED: Processing Items using Deployers", + "create.ponder.deployer_processing.text_1": "UNLOCALIZED: With a fitting held item, Deployers can process items provided beneath them", + "create.ponder.deployer_processing.text_2": "UNLOCALIZED: The Input items can be dropped or placed on a Depot under the Deployer", + "create.ponder.deployer_processing.text_3": "UNLOCALIZED: When items are provided on a belt...", + "create.ponder.deployer_processing.text_4": "UNLOCALIZED: The Deployer will hold and process them automatically", + "create.ponder.deployer_redstone.header": "Kontrolowanie aplikatorów z użyciem Redstone'a", "create.ponder.deployer_redstone.text_1": "Zasilone przez Redstone, aplikatory nie aktywują się", "create.ponder.deployer_redstone.text_2": "Przed zatrzymaniem, aplikatory dokończą już zaczętą czynność", @@ -1765,11 +1771,10 @@ "create.ponder.fan_source.text_2": "Po zasileniu, wiatraki zaczną przesyłać siłę do przylegających komponentów", "create.ponder.fluid_pipe_flow.header": "UNLOCALIZED: Moving Fluids using Copper Pipes", + "create.ponder.fluid_pipe_flow.text_1": "UNLOCALIZED: ", "create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers", - "create.ponder.fluid_tank_access.header": "UNLOCALIZED: Accessing Fluid Tanks", - "create.ponder.fluid_tank_sizes.header": "UNLOCALIZED: Dimensions of a Fluid tank", "create.ponder.fluid_tank_storage.header": "UNLOCALIZED: Storing Fluids in Fluid Tanks", diff --git a/src/generated/resources/assets/create/lang/unfinished/pt_br.json b/src/generated/resources/assets/create/lang/unfinished/pt_br.json index ad613f472..f77b5b3e9 100644 --- a/src/generated/resources/assets/create/lang/unfinished/pt_br.json +++ b/src/generated/resources/assets/create/lang/unfinished/pt_br.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 1695", + "_": "Missing Localizations: 1700", "_": "->------------------------] Game Elements [------------------------<-", @@ -1726,6 +1726,12 @@ "create.ponder.deployer_modes.text_1": "UNLOCALIZED: By default, a Deployer imitates a Right-click interaction", "create.ponder.deployer_modes.text_2": "UNLOCALIZED: Using a Wrench, it can be set to imitate a Left-click instead", + "create.ponder.deployer_processing.header": "UNLOCALIZED: Processing Items using Deployers", + "create.ponder.deployer_processing.text_1": "UNLOCALIZED: With a fitting held item, Deployers can process items provided beneath them", + "create.ponder.deployer_processing.text_2": "UNLOCALIZED: The Input items can be dropped or placed on a Depot under the Deployer", + "create.ponder.deployer_processing.text_3": "UNLOCALIZED: When items are provided on a belt...", + "create.ponder.deployer_processing.text_4": "UNLOCALIZED: The Deployer will hold and process them automatically", + "create.ponder.deployer_redstone.header": "UNLOCALIZED: Controlling Deployers with Redstone", "create.ponder.deployer_redstone.text_1": "UNLOCALIZED: When powered by Redstone, Deployers will not activate", "create.ponder.deployer_redstone.text_2": "UNLOCALIZED: Before stopping, the Deployer will finish any started cycles", @@ -1765,11 +1771,10 @@ "create.ponder.fan_source.text_2": "UNLOCALIZED: When given a Redstone Signal, the Fans will start providing power", "create.ponder.fluid_pipe_flow.header": "UNLOCALIZED: Moving Fluids using Copper Pipes", + "create.ponder.fluid_pipe_flow.text_1": "UNLOCALIZED: ", "create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers", - "create.ponder.fluid_tank_access.header": "UNLOCALIZED: Accessing Fluid Tanks", - "create.ponder.fluid_tank_sizes.header": "UNLOCALIZED: Dimensions of a Fluid tank", "create.ponder.fluid_tank_storage.header": "UNLOCALIZED: Storing Fluids in Fluid Tanks", diff --git a/src/generated/resources/assets/create/lang/unfinished/ru_ru.json b/src/generated/resources/assets/create/lang/unfinished/ru_ru.json index 921226710..3313e090f 100644 --- a/src/generated/resources/assets/create/lang/unfinished/ru_ru.json +++ b/src/generated/resources/assets/create/lang/unfinished/ru_ru.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 634", + "_": "Missing Localizations: 639", "_": "->------------------------] Game Elements [------------------------<-", @@ -1726,6 +1726,12 @@ "create.ponder.deployer_modes.text_1": "UNLOCALIZED: By default, a Deployer imitates a Right-click interaction", "create.ponder.deployer_modes.text_2": "UNLOCALIZED: Using a Wrench, it can be set to imitate a Left-click instead", + "create.ponder.deployer_processing.header": "UNLOCALIZED: Processing Items using Deployers", + "create.ponder.deployer_processing.text_1": "UNLOCALIZED: With a fitting held item, Deployers can process items provided beneath them", + "create.ponder.deployer_processing.text_2": "UNLOCALIZED: The Input items can be dropped or placed on a Depot under the Deployer", + "create.ponder.deployer_processing.text_3": "UNLOCALIZED: When items are provided on a belt...", + "create.ponder.deployer_processing.text_4": "UNLOCALIZED: The Deployer will hold and process them automatically", + "create.ponder.deployer_redstone.header": "UNLOCALIZED: Controlling Deployers with Redstone", "create.ponder.deployer_redstone.text_1": "UNLOCALIZED: When powered by Redstone, Deployers will not activate", "create.ponder.deployer_redstone.text_2": "UNLOCALIZED: Before stopping, the Deployer will finish any started cycles", @@ -1765,11 +1771,10 @@ "create.ponder.fan_source.text_2": "UNLOCALIZED: When given a Redstone Signal, the Fans will start providing power", "create.ponder.fluid_pipe_flow.header": "UNLOCALIZED: Moving Fluids using Copper Pipes", + "create.ponder.fluid_pipe_flow.text_1": "UNLOCALIZED: ", "create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers", - "create.ponder.fluid_tank_access.header": "UNLOCALIZED: Accessing Fluid Tanks", - "create.ponder.fluid_tank_sizes.header": "UNLOCALIZED: Dimensions of a Fluid tank", "create.ponder.fluid_tank_storage.header": "UNLOCALIZED: Storing Fluids in Fluid Tanks", diff --git a/src/generated/resources/assets/create/lang/unfinished/zh_cn.json b/src/generated/resources/assets/create/lang/unfinished/zh_cn.json index d2ff53a2b..77fd00407 100644 --- a/src/generated/resources/assets/create/lang/unfinished/zh_cn.json +++ b/src/generated/resources/assets/create/lang/unfinished/zh_cn.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 120", + "_": "Missing Localizations: 125", "_": "->------------------------] Game Elements [------------------------<-", @@ -1726,6 +1726,12 @@ "create.ponder.deployer_modes.text_1": "在默认情况下,机械手模仿玩家的右击交互", "create.ponder.deployer_modes.text_2": "使用扳手可以将模式调整为模仿玩家的左击交互", + "create.ponder.deployer_processing.header": "UNLOCALIZED: Processing Items using Deployers", + "create.ponder.deployer_processing.text_1": "UNLOCALIZED: With a fitting held item, Deployers can process items provided beneath them", + "create.ponder.deployer_processing.text_2": "UNLOCALIZED: The Input items can be dropped or placed on a Depot under the Deployer", + "create.ponder.deployer_processing.text_3": "UNLOCALIZED: When items are provided on a belt...", + "create.ponder.deployer_processing.text_4": "UNLOCALIZED: The Deployer will hold and process them automatically", + "create.ponder.deployer_redstone.header": "使用红石控制机械手", "create.ponder.deployer_redstone.text_1": "当被红石充能时,机械手会停止工作", "create.ponder.deployer_redstone.text_2": "在停止工作前,机械手会完成当前正在进行的工作周期", @@ -1765,11 +1771,10 @@ "create.ponder.fan_source.text_2": "当鼓风机接受红石信号后,它便会向外供给旋转力", "create.ponder.fluid_pipe_flow.header": "UNLOCALIZED: Moving Fluids using Copper Pipes", + "create.ponder.fluid_pipe_flow.text_1": "UNLOCALIZED: ", "create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers", - "create.ponder.fluid_tank_access.header": "UNLOCALIZED: Accessing Fluid Tanks", - "create.ponder.fluid_tank_sizes.header": "UNLOCALIZED: Dimensions of a Fluid tank", "create.ponder.fluid_tank_storage.header": "UNLOCALIZED: Storing Fluids in Fluid Tanks", diff --git a/src/generated/resources/assets/create/lang/unfinished/zh_tw.json b/src/generated/resources/assets/create/lang/unfinished/zh_tw.json index f50a99314..c516ca002 100644 --- a/src/generated/resources/assets/create/lang/unfinished/zh_tw.json +++ b/src/generated/resources/assets/create/lang/unfinished/zh_tw.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 113", + "_": "Missing Localizations: 118", "_": "->------------------------] Game Elements [------------------------<-", @@ -1726,6 +1726,12 @@ "create.ponder.deployer_modes.text_1": "在設設情況下,機械手模仿玩家的右鍵", "create.ponder.deployer_modes.text_2": "使用扳手可以將模式調整為模仿玩家的左鍵", + "create.ponder.deployer_processing.header": "UNLOCALIZED: Processing Items using Deployers", + "create.ponder.deployer_processing.text_1": "UNLOCALIZED: With a fitting held item, Deployers can process items provided beneath them", + "create.ponder.deployer_processing.text_2": "UNLOCALIZED: The Input items can be dropped or placed on a Depot under the Deployer", + "create.ponder.deployer_processing.text_3": "UNLOCALIZED: When items are provided on a belt...", + "create.ponder.deployer_processing.text_4": "UNLOCALIZED: The Deployer will hold and process them automatically", + "create.ponder.deployer_redstone.header": "使用紅石控制機械手", "create.ponder.deployer_redstone.text_1": "當機械手收到紅時訊號時會停止工作", "create.ponder.deployer_redstone.text_2": "在停止工作前,機械手會完成目前手頭上的工作", @@ -1765,11 +1771,10 @@ "create.ponder.fan_source.text_2": "當鼓風機接受紅石訊號後,它便會向外供給動能", "create.ponder.fluid_pipe_flow.header": "UNLOCALIZED: Moving Fluids using Copper Pipes", + "create.ponder.fluid_pipe_flow.text_1": "UNLOCALIZED: ", "create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers", - "create.ponder.fluid_tank_access.header": "UNLOCALIZED: Accessing Fluid Tanks", - "create.ponder.fluid_tank_sizes.header": "UNLOCALIZED: Dimensions of a Fluid tank", "create.ponder.fluid_tank_storage.header": "UNLOCALIZED: Storing Fluids in Fluid Tanks", diff --git a/src/main/java/com/simibubi/create/foundation/gui/GuiGameElement.java b/src/main/java/com/simibubi/create/foundation/gui/GuiGameElement.java index b39dc489c..3d6233d42 100644 --- a/src/main/java/com/simibubi/create/foundation/gui/GuiGameElement.java +++ b/src/main/java/com/simibubi/create/foundation/gui/GuiGameElement.java @@ -289,6 +289,7 @@ public class GuiGameElement { .setBlurMipmapDirect(false, false); RenderSystem.enableRescaleNormal(); RenderSystem.enableAlphaTest(); + RenderSystem.enableCull(); RenderSystem.defaultAlphaFunc(); RenderSystem.enableBlend(); RenderSystem.blendFunc(GlStateManager.SourceFactor.SRC_ALPHA, diff --git a/src/main/java/com/simibubi/create/foundation/ponder/PonderProgressBar.java b/src/main/java/com/simibubi/create/foundation/ponder/PonderProgressBar.java index bda606f33..bcaf05352 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/PonderProgressBar.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/PonderProgressBar.java @@ -100,7 +100,7 @@ public class PonderProgressBar extends AbstractSimiWidget { .render(ms); ms.push(); - ms.translate(x - 2, y - 2, 150); + ms.translate(x - 2, y - 2, 200); ms.push(); ms.scale((width + 4) * progress.getValue(partialTicks), 1, 1); diff --git a/src/main/java/com/simibubi/create/foundation/ponder/PonderScene.java b/src/main/java/com/simibubi/create/foundation/ponder/PonderScene.java index fa7385e0e..3179f241d 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/PonderScene.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/PonderScene.java @@ -17,7 +17,6 @@ import org.apache.commons.lang3.mutable.MutableDouble; import org.apache.commons.lang3.mutable.MutableObject; import com.mojang.blaze3d.matrix.MatrixStack; -import com.mojang.blaze3d.systems.RenderSystem; import com.simibubi.create.foundation.ponder.content.PonderIndex; import com.simibubi.create.foundation.ponder.content.PonderTag; import com.simibubi.create.foundation.ponder.elements.PonderOverlayElement; @@ -236,7 +235,7 @@ public class PonderScene { forEachVisible(PonderSceneElement.class, e -> e.renderLayer(world, buffer, type, ms, pt)); forEachVisible(PonderSceneElement.class, e -> e.renderLast(world, buffer, ms, pt)); - info.set(transform.xRotation.getValue(pt), transform.yRotation.getValue(pt)); + info.set(transform.xRotation.getValue(pt) + 90, transform.yRotation.getValue(pt) + 180); world.renderEntities(ms, buffer, info, pt); world.renderParticles(ms, buffer, info, pt); outliner.renderOutlines(ms, buffer, pt); diff --git a/src/main/java/com/simibubi/create/foundation/ponder/PonderWorld.java b/src/main/java/com/simibubi/create/foundation/ponder/PonderWorld.java index b6f5b5f84..7635ab03a 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/PonderWorld.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/PonderWorld.java @@ -302,6 +302,11 @@ public class PonderWorld extends SchematicWorld { protected BlockState processBlockStateForPrinting(BlockState state) { return state; } + + @Override + public boolean isBlockLoaded(BlockPos pos) { + return true; // fix particle lighting + } @Override public boolean chunkExists(int x, int y) { diff --git a/src/main/java/com/simibubi/create/foundation/ponder/PonderWorldParticles.java b/src/main/java/com/simibubi/create/foundation/ponder/PonderWorldParticles.java index 3ff9774bb..6fad6cdb3 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/PonderWorldParticles.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/PonderWorldParticles.java @@ -73,13 +73,11 @@ public class PonderWorldParticles { RenderSystem.pushMatrix(); RenderSystem.multMatrix(ms.peek() .getModel()); - // check ParticleManager#renderParticles for a replacement if RenderSystem#multMatrix gets removed - for (IParticleRenderType iparticlerendertype : this.byType.keySet()) { // Forge: allow custom - // IParticleRenderType's + for (IParticleRenderType iparticlerendertype : this.byType.keySet()) { if (iparticlerendertype == IParticleRenderType.NO_RENDER) continue; - enable.run(); // Forge: MC-168672 Make sure all render types have the correct GL state. + enable.run(); Iterable iterable = this.byType.get(iparticlerendertype); if (iterable != null) { RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F); @@ -96,6 +94,7 @@ public class PonderWorldParticles { RenderSystem.popMatrix(); RenderSystem.depthMask(true); + RenderSystem.depthFunc(515); RenderSystem.disableBlend(); RenderSystem.defaultAlphaFunc(); lightTexture.disableLightmap(); diff --git a/src/main/java/com/simibubi/create/foundation/ponder/content/DeployerScenes.java b/src/main/java/com/simibubi/create/foundation/ponder/content/DeployerScenes.java index 49af64c7c..89d1a3f96 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/content/DeployerScenes.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/content/DeployerScenes.java @@ -1,10 +1,13 @@ package com.simibubi.create.foundation.ponder.content; +import com.simibubi.create.AllItems; import com.simibubi.create.content.contraptions.components.deployer.DeployerTileEntity; +import com.simibubi.create.content.curiosities.tools.SandPaperItem; import com.simibubi.create.foundation.ponder.ElementLink; import com.simibubi.create.foundation.ponder.SceneBuilder; import com.simibubi.create.foundation.ponder.SceneBuildingUtil; import com.simibubi.create.foundation.ponder.Selection; +import com.simibubi.create.foundation.ponder.elements.BeltItemElement; import com.simibubi.create.foundation.ponder.elements.EntityElement; import com.simibubi.create.foundation.ponder.elements.InputWindowElement; import com.simibubi.create.foundation.ponder.elements.WorldSectionElement; @@ -303,6 +306,122 @@ public class DeployerScenes { } } + public static void processing(SceneBuilder scene, SceneBuildingUtil util) { + scene.title("deployer_processing", "Processing Items using Deployers"); + scene.configureBasePlate(0, 0, 5); + scene.world.showSection(util.select.layer(0), Direction.UP); + scene.idle(5); + + ElementLink depot = + scene.world.showIndependentSection(util.select.position(2, 1, 1), Direction.DOWN); + scene.world.moveSection(depot, util.vector.of(0, 0, 1), 0); + scene.idle(10); + + Selection pressS = util.select.position(2, 3, 2); + BlockPos pressPos = util.grid.at(2, 3, 2); + BlockPos depotPos = util.grid.at(2, 1, 1); + scene.world.setKineticSpeed(pressS, 0); + scene.world.showSection(pressS, Direction.DOWN); + scene.idle(10); + + scene.world.showSection(util.select.fromTo(2, 1, 3, 2, 1, 5), Direction.NORTH); + scene.idle(3); + scene.world.showSection(util.select.position(2, 2, 3), Direction.SOUTH); + scene.idle(3); + scene.world.showSection(util.select.position(2, 3, 3), Direction.NORTH); + scene.world.setKineticSpeed(pressS, -32); + scene.effects.indicateSuccess(pressPos); + scene.idle(10); + + ItemStack tool = AllItems.SAND_PAPER.asStack(); + scene.overlay.showControls(new InputWindowElement(util.vector.blockSurface(pressPos.down(), Direction.EAST) + .add(0, 0.15, 0), Pointing.RIGHT).withItem(tool), 30); + scene.idle(7); + scene.world.modifyTileNBT(pressS, DeployerTileEntity.class, nbt -> nbt.put("HeldItem", tool.serializeNBT())); + scene.idle(25); + + Vector3d pressSide = util.vector.blockSurface(pressPos, Direction.WEST); + scene.overlay.showText(60) + .pointAt(pressSide) + .placeNearTarget() + .attachKeyFrame() + .text("With a fitting held item, Deployers can process items provided beneath them"); + scene.idle(80); + + scene.overlay.showText(60) + .pointAt(pressSide.subtract(0, 2, 0)) + .placeNearTarget() + .text("The Input items can be dropped or placed on a Depot under the Deployer"); + scene.idle(50); + ItemStack quartz = AllItems.ROSE_QUARTZ.asStack(); + scene.world.createItemOnBeltLike(depotPos, Direction.NORTH, quartz); + Vector3d depotCenter = util.vector.centerOf(depotPos.south()); + scene.overlay.showControls(new InputWindowElement(depotCenter, Pointing.UP).withItem(quartz), 30); + scene.idle(10); + + Vector3d targetV = util.vector.centerOf(pressPos) + .subtract(0, 1.65, 0); + + scene.world.moveDeployer(pressPos, 1, 30); + scene.idle(30); + scene.world.moveDeployer(pressPos, -1, 30); + scene.debug.enqueueCallback(s -> SandPaperItem.spawnParticles(targetV, quartz, s.getWorld())); + // particle + scene.world.removeItemsFromBelt(depotPos); + ItemStack polished = AllItems.POLISHED_ROSE_QUARTZ.asStack(); + scene.world.createItemOnBeltLike(depotPos, Direction.UP, polished); + scene.idle(10); + scene.overlay.showControls(new InputWindowElement(depotCenter, Pointing.UP).withItem(polished), 50); + scene.idle(60); + + scene.world.hideIndependentSection(depot, Direction.NORTH); + scene.idle(5); + scene.world.showSection(util.select.fromTo(0, 1, 3, 0, 2, 3), Direction.DOWN); + scene.idle(10); + scene.world.showSection(util.select.fromTo(4, 1, 2, 0, 2, 2), Direction.SOUTH); + scene.idle(20); + BlockPos beltPos = util.grid.at(0, 1, 2); + scene.overlay.showText(40) + .pointAt(util.vector.blockSurface(beltPos, Direction.WEST)) + .placeNearTarget() + .attachKeyFrame() + .text("When items are provided on a belt..."); + scene.idle(30); + + ElementLink ingot = scene.world.createItemOnBelt(beltPos, Direction.SOUTH, quartz); + scene.idle(15); + ElementLink ingot2 = scene.world.createItemOnBelt(beltPos, Direction.SOUTH, quartz); + scene.idle(15); + scene.world.stallBeltItem(ingot, true); + scene.world.moveDeployer(pressPos, 1, 30); + + scene.overlay.showText(50) + .pointAt(pressSide) + .placeNearTarget() + .attachKeyFrame() + .text("The Deployer will hold and process them automatically"); + + scene.idle(30); + scene.world.moveDeployer(pressPos, -1, 30); + scene.debug.enqueueCallback(s -> SandPaperItem.spawnParticles(targetV, quartz, s.getWorld())); + scene.world.removeItemsFromBelt(pressPos.down(2)); + ingot = scene.world.createItemOnBelt(pressPos.down(2), Direction.UP, polished); + scene.world.stallBeltItem(ingot, true); + scene.idle(15); + scene.world.stallBeltItem(ingot, false); + scene.idle(15); + scene.world.stallBeltItem(ingot2, true); + scene.world.moveDeployer(pressPos, 1, 30); + scene.idle(30); + scene.world.moveDeployer(pressPos, -1, 30); + scene.debug.enqueueCallback(s -> SandPaperItem.spawnParticles(targetV, quartz, s.getWorld())); + scene.world.removeItemsFromBelt(pressPos.down(2)); + ingot2 = scene.world.createItemOnBelt(pressPos.down(2), Direction.UP, polished); + scene.world.stallBeltItem(ingot2, true); + scene.idle(15); + scene.world.stallBeltItem(ingot2, false); + } + public static void redstone(SceneBuilder scene, SceneBuildingUtil util) { scene.title("deployer_redstone", "Controlling Deployers with Redstone"); scene.configureBasePlate(0, 0, 5); diff --git a/src/main/java/com/simibubi/create/foundation/ponder/content/PonderIndex.java b/src/main/java/com/simibubi/create/foundation/ponder/content/PonderIndex.java index a5c3f2442..5d9781437 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/content/PonderIndex.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/content/PonderIndex.java @@ -231,6 +231,7 @@ public class PonderIndex { PonderRegistry.forComponents(AllBlocks.DEPLOYER) .addStoryBoard("deployer/filter", DeployerScenes::filter, PonderTag.KINETIC_APPLIANCES) .addStoryBoard("deployer/modes", DeployerScenes::modes) + .addStoryBoard("deployer/processing", DeployerScenes::processing) .addStoryBoard("deployer/redstone", DeployerScenes::redstone) .addStoryBoard("deployer/contraption", DeployerScenes::contraption, PonderTag.CONTRAPTION_ACTOR); PonderRegistry.forComponents(AllBlocks.MECHANICAL_HARVESTER) @@ -247,21 +248,20 @@ public class PonderIndex { PonderRegistry.forComponents(AllBlocks.COPPER_CASING) .addStoryBoard("debug/scene_1", PipeScenes::encasing); PonderRegistry.forComponents(AllBlocks.MECHANICAL_PUMP) - .addStoryBoard("debug/scene_1", PumpScenes::flow, PonderTag.FLUIDS) + .addStoryBoard("debug/scene_1", PumpScenes::flow, PonderTag.FLUIDS, PonderTag.KINETIC_APPLIANCES) .addStoryBoard("debug/scene_1", PumpScenes::speed); PonderRegistry.forComponents(AllBlocks.FLUID_VALVE) - .addStoryBoard("debug/scene_1", PipeScenes::valve, PonderTag.FLUIDS); + .addStoryBoard("debug/scene_1", PipeScenes::valve, PonderTag.FLUIDS, PonderTag.KINETIC_APPLIANCES); PonderRegistry.forComponents(AllBlocks.SMART_FLUID_PIPE) .addStoryBoard("debug/scene_1", PipeScenes::smart, PonderTag.FLUIDS); PonderRegistry.forComponents(AllBlocks.FLUID_TANK) .addStoryBoard("debug/scene_1", FluidTankScenes::storage, PonderTag.FLUIDS) - .addStoryBoard("debug/scene_1", FluidTankScenes::sizes) - .addStoryBoard("debug/scene_1", FluidTankScenes::access); + .addStoryBoard("debug/scene_1", FluidTankScenes::sizes); PonderRegistry.forComponents(AllBlocks.CREATIVE_FLUID_TANK) .addStoryBoard("debug/scene_1", FluidTankScenes::creative, PonderTag.FLUIDS, PonderTag.CREATIVE) .addStoryBoard("debug/scene_1", FluidTankScenes::sizes); PonderRegistry.forComponents(AllBlocks.HOSE_PULLEY) - .addStoryBoard("debug/scene_1", HosePulleyScenes::intro, PonderTag.FLUIDS) + .addStoryBoard("debug/scene_1", HosePulleyScenes::intro, PonderTag.FLUIDS, PonderTag.KINETIC_APPLIANCES) .addStoryBoard("debug/scene_1", HosePulleyScenes::level) .addStoryBoard("debug/scene_1", HosePulleyScenes::infinite); PonderRegistry.forComponents(AllBlocks.SPOUT) @@ -270,7 +270,8 @@ public class PonderIndex { PonderRegistry.forComponents(AllBlocks.ITEM_DRAIN) .addStoryBoard("debug/scene_1", DrainScenes::emptying, PonderTag.FLUIDS); PonderRegistry.forComponents(AllBlocks.PORTABLE_FLUID_INTERFACE) - .addStoryBoard("debug/scene_1", FluidMovementActorScenes::transfer, PonderTag.FLUIDS, PonderTag.CONTRAPTION_ACTOR) + .addStoryBoard("debug/scene_1", FluidMovementActorScenes::transfer, PonderTag.FLUIDS, + PonderTag.CONTRAPTION_ACTOR) .addStoryBoard("debug/scene_1", FluidMovementActorScenes::redstone); // Redstone diff --git a/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/DrainScenes.java b/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/DrainScenes.java index 5822f54a4..4804f5edc 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/DrainScenes.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/DrainScenes.java @@ -13,6 +13,19 @@ public class DrainScenes { scene.world.showSection(util.select.layer(0), Direction.UP); scene.idle(5); scene.world.showSection(util.select.layersFrom(1), Direction.DOWN); + + /* + * Item Drains can extract fluids from any fluid container items + * + * Right-click it to pour fluids from your held item into it + * + * When items are inserted from the side... + * + * ...they tumble across the surface, emptying out their contained fluid if possible + * + * Pipe Networks can now pull the fluid from the drains' internal buffer + */ + } } diff --git a/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/FluidMovementActorScenes.java b/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/FluidMovementActorScenes.java index 0356a9955..57d390b44 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/FluidMovementActorScenes.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/FluidMovementActorScenes.java @@ -6,21 +6,48 @@ import com.simibubi.create.foundation.ponder.SceneBuildingUtil; import net.minecraft.util.Direction; public class FluidMovementActorScenes { - + public static void transfer(SceneBuilder scene, SceneBuildingUtil util) { scene.title("portable_fluid_interface", "Contraption Fluid Exchange"); scene.configureBasePlate(0, 0, 5); scene.world.showSection(util.select.layer(0), Direction.UP); scene.idle(5); scene.world.showSection(util.select.layersFrom(1), Direction.DOWN); + + /* + * Fluid Tanks on moving contraptions cannot be accessed by any pipes + * + * This component can interact with fluid tanks without the need to stop the + * contraption + * + * Place a second one with a gap of 1 or 2 blocks inbetween + * + * Whenever they pass by each other, they will engage in a connection + * + * While engaged, the stationary interface will represent ALL Fluid Tanks on the + * contraption + * + * Fluid can now be inserted... + * + * ...or extracted from the contraption + * + * After no contents have been exchanged for a while, the contraption will + * continue on its way + */ + } - + public static void redstone(SceneBuilder scene, SceneBuildingUtil util) { scene.title("portable_fluid_interface_redstone", "Redstone Control"); scene.configureBasePlate(0, 0, 5); scene.world.showSection(util.select.layer(0), Direction.UP); scene.idle(5); scene.world.showSection(util.select.layersFrom(1), Direction.DOWN); + + /* + * Redstone power will prevent the stationary interface from engaging + */ + } } diff --git a/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/FluidTankScenes.java b/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/FluidTankScenes.java index 67bae241c..3610e3b4f 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/FluidTankScenes.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/FluidTankScenes.java @@ -13,6 +13,19 @@ public class FluidTankScenes { scene.world.showSection(util.select.layer(0), Direction.UP); scene.idle(5); scene.world.showSection(util.select.layersFrom(1), Direction.DOWN); + + /* + * Fluid Tanks can be used to store large amounts of fluid + * + * Pipe networks can push and pull fluids from any side + * + * Comparators can read the current fill level of a fluid tank + * + * In Survival Mode, Fluids cannot be added or taken manually + * + * You can use Basins, Item Drains and Spouts to drain or fill fluid containing items + */ + } public static void sizes(SceneBuilder scene, SceneBuildingUtil util) { @@ -21,14 +34,17 @@ public class FluidTankScenes { scene.world.showSection(util.select.layer(0), Direction.UP); scene.idle(5); scene.world.showSection(util.select.layersFrom(1), Direction.DOWN); - } - - public static void access(SceneBuilder scene, SceneBuildingUtil util) { - scene.title("fluid_tank_access", "Accessing Fluid Tanks"); - scene.configureBasePlate(0, 0, 5); - scene.world.showSection(util.select.layer(0), Direction.UP); - scene.idle(5); - scene.world.showSection(util.select.layersFrom(1), Direction.DOWN); + + /* + * Fluid Tanks can be combined to increase the total capacity + * + * The base shape can be a square up to 3 blocks wide... + * + * ...and grow in height by more than 30 additional layers + * + * Using a Wrench, the tanks' window can be toggled + */ + } public static void creative(SceneBuilder scene, SceneBuildingUtil util) { @@ -37,6 +53,17 @@ public class FluidTankScenes { scene.world.showSection(util.select.layer(0), Direction.UP); scene.idle(5); scene.world.showSection(util.select.layersFrom(1), Direction.DOWN); + + /* + * Creative Fluid Tanks can be used to provide a bottomless supply of fluid + * + * Right-Click with a fluid containing item to configure it + * + * Pipe Networks can now endlessly draw the assigned fluid from this tank + * + * Any Fluids pipes push into a Creative Fluid Tank will be voided + */ + } } diff --git a/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/HosePulleyScenes.java b/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/HosePulleyScenes.java index f161ff1db..92c7086d1 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/HosePulleyScenes.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/HosePulleyScenes.java @@ -13,6 +13,21 @@ public class HosePulleyScenes { scene.world.showSection(util.select.layer(0), Direction.UP); scene.idle(5); scene.world.showSection(util.select.layersFrom(1), Direction.DOWN); + + /* + * Hose Pulleys can be used to fill or drain large bodies of Fluid + * + * With the Kinetic Input, the height of the pulleys' hose can be controlled + * + * The Pulley will retract when the input rotation is inverted + * + * Once the hose is in position, an attached pipe network can either provide fluid to the Hose Pulley... + * + * ...or pull from it, draining the pool instead + * + * Fill and Drain speed of the pulley depend entirely on the fluid networks' throughput + */ + } public static void level(SceneBuilder scene, SceneBuildingUtil util) { @@ -21,6 +36,19 @@ public class HosePulleyScenes { scene.world.showSection(util.select.layer(0), Direction.UP); scene.idle(5); scene.world.showSection(util.select.layersFrom(1), Direction.DOWN); + + /* + * While fully retracted, the Hose Pulley cannot operate + * + * Draining runs from top to bottom + * + * The surface level will end up just below where the hose ends + * + * Filling runs from bottom to top + * + * The filled pool will not grow beyond the layer above the hose end + */ + } public static void infinite(SceneBuilder scene, SceneBuildingUtil util) { @@ -29,6 +57,17 @@ public class HosePulleyScenes { scene.world.showSection(util.select.layer(0), Direction.UP); scene.idle(5); scene.world.showSection(util.select.layersFrom(1), Direction.DOWN); + + /* + * When deploying the Hose Pulley into a large enough ocean... + * + * It will simply provide/dispose fluids without affecting the source + * + * Pipe networks can limitlessly pull or push fluids to and from such pulleys + * + * After such a state is reached, your goggles will display an indicator when looking at it + */ + } } diff --git a/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/PipeScenes.java b/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/PipeScenes.java index d18e0cc43..f7c309f79 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/PipeScenes.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/PipeScenes.java @@ -6,45 +6,107 @@ import com.simibubi.create.foundation.ponder.SceneBuildingUtil; import net.minecraft.util.Direction; public class PipeScenes { - + public static void flow(SceneBuilder scene, SceneBuildingUtil util) { scene.title("fluid_pipe_flow", "Moving Fluids using Copper Pipes"); scene.configureBasePlate(0, 0, 5); scene.world.showSection(util.select.layer(0), Direction.UP); scene.idle(5); scene.world.showSection(util.select.layersFrom(1), Direction.DOWN); + +// scene.overlay.showText(50) +// .text("") +// .attachKeyFrame() +// .placeNearTarget() +// .pointAt(util.vector.topOf(2, 0, 2)); + + /* + * Use Fluid Pipes to connect two fluid sources, containers or empty spaces + * + * Using a wrench, a straight pipe segment can be given a window + * + * Windowed pipes will not connect to any other adjancent pipe segements + * + * Powered by Mechanical Pumps, Fluid Pipes can be used to transport Fluids between endpoints + * + * Until the flow finds a target, nothing is extracted from the source + * + * Once a connection is established, fluids are gradually transferred between the endpoints + * + * Thus, the Pipe blocks themselves never 'physically' contain any fluid + */ } - + public static void interaction(SceneBuilder scene, SceneBuildingUtil util) { scene.title("fluid_pipe_interaction", "Draining and Filling fluid containers"); scene.configureBasePlate(0, 0, 5); scene.world.showSection(util.select.layer(0), Direction.UP); scene.idle(5); scene.world.showSection(util.select.layersFrom(1), Direction.DOWN); + + /* + * Endpoints of a pipe network can interact with a variety of blocks + * + * Any block with fluid storage capabities can be filled or drained + * + * Source blocks right in front of an open end can be picked up... + * + * ...while spilling into empty spaces can create fluid sources + * + * Pipes can also extract fluids from a handful of blocks directly + */ } - + public static void encasing(SceneBuilder scene, SceneBuildingUtil util) { scene.title("encased_fluid_pipe", "Encasing Fluid Pipes"); scene.configureBasePlate(0, 0, 5); scene.world.showSection(util.select.layer(0), Direction.UP); scene.idle(5); scene.world.showSection(util.select.layersFrom(1), Direction.DOWN); + + /* + * Copper Casing can be used to decorate Fluid Pipes + * + * Aside from being conceiled, encased pipes are locked into their connectivity state + * + * Adding and Removing Pipes around it will no longer affect its shape + */ } - + public static void valve(SceneBuilder scene, SceneBuildingUtil util) { scene.title("valve_pipe", "Controlling Fluid flow using Valves"); scene.configureBasePlate(0, 0, 5); scene.world.showSection(util.select.layer(0), Direction.UP); scene.idle(5); scene.world.showSection(util.select.layersFrom(1), Direction.DOWN); + + /* + * Valve pipes propagate flows in a straight line + * + * When given Rotational Force in the closing direction, the valve will stop the fluid flow + * + * It can be re-opened by reversing the input rotation + */ } - + public static void smart(SceneBuilder scene, SceneBuildingUtil util) { scene.title("smart_pipe", "Controlling Fluid flow using Smart Pipes"); scene.configureBasePlate(0, 0, 5); scene.world.showSection(util.select.layer(0), Direction.UP); scene.idle(5); scene.world.showSection(util.select.layersFrom(1), Direction.DOWN); + + /* + * Smart pipes propagate flows in a straight line + * + * When placed directly at the source, they can specify the type of fluid to extract + * + * Simply Right-Click their filter slot with any item containing the desired fluid + * + * When placed further down a pipe network, smart pipes will only let matching fluids continue past + * + * In this configuration, their filter has no impact on whether a fluid can enter the pipe network + */ } - + } diff --git a/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/PumpScenes.java b/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/PumpScenes.java index e190d1939..b9847c45d 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/PumpScenes.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/PumpScenes.java @@ -13,6 +13,20 @@ public class PumpScenes { scene.world.showSection(util.select.layer(0), Direction.UP); scene.idle(5); scene.world.showSection(util.select.layersFrom(1), Direction.DOWN); + + /* + * Mechanical Pumps govern the flow of their attached pipe networks + * + * When powered, their arrow indicates the direction of flow + * + * The network behind is now pulling fluids... + * + * ...while the network in front is transferring it outward + * + * Reversing the input rotation reverses the direction of flow + * + * Use a Wrench to reverse the orientation of pumps manually + */ } public static void speed(SceneBuilder scene, SceneBuildingUtil util) { @@ -21,6 +35,19 @@ public class PumpScenes { scene.world.showSection(util.select.layer(0), Direction.UP); scene.idle(5); scene.world.showSection(util.select.layersFrom(1), Direction.DOWN); + + /* + * Regardless of speed, Mechanical Pumps affect pipes up to 16 blocks away + * + * Speeding up the input rotation changes the speed of flows building... + * + * ...aswell as how quickly fluids are transferred + * + * Parallel pumps combine their speed within shared pipe connections + * + * Alternating their orientation can help lining up their flow directions + */ + } } diff --git a/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/SpoutScenes.java b/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/SpoutScenes.java index 4f627b959..e3a567914 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/SpoutScenes.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/content/fluid/SpoutScenes.java @@ -6,21 +6,39 @@ import com.simibubi.create.foundation.ponder.SceneBuildingUtil; import net.minecraft.util.Direction; public class SpoutScenes { - + public static void filling(SceneBuilder scene, SceneBuildingUtil util) { scene.title("spout_filling", "Filling Items using a Spout"); scene.configureBasePlate(0, 0, 5); scene.world.showSection(util.select.layer(0), Direction.UP); scene.idle(5); scene.world.showSection(util.select.layersFrom(1), Direction.DOWN); + + /* + * The Spout can fill fluid holding items provided beneath it + * + * The Input items can be placed on a Depot under the Spout + * + * When items are provided on a belt... + * + * The Spout will hold and process them automatically + */ + } - + public static void access(SceneBuilder scene, SceneBuildingUtil util) { scene.title("spout_access", "Moving fluids into Spouts"); scene.configureBasePlate(0, 0, 5); scene.world.showSection(util.select.layer(0), Direction.UP); scene.idle(5); scene.world.showSection(util.select.layersFrom(1), Direction.DOWN); + + /* + * The internal fluid tank of a spout cannot be accessed manually + * + * Instead, use an Item Drain or Basin to manually add fluid to your machines + */ + } - + } diff --git a/src/main/java/com/simibubi/create/foundation/utility/worldWrappers/WrappedClientWorld.java b/src/main/java/com/simibubi/create/foundation/utility/worldWrappers/WrappedClientWorld.java index ac0a8c9b3..f72f2b771 100644 --- a/src/main/java/com/simibubi/create/foundation/utility/worldWrappers/WrappedClientWorld.java +++ b/src/main/java/com/simibubi/create/foundation/utility/worldWrappers/WrappedClientWorld.java @@ -50,6 +50,11 @@ public class WrappedClientWorld extends ClientWorld { public boolean isBlockLoaded(BlockPos pos) { return world.isBlockLoaded(pos); } + + @Override + public boolean isBlockPresent(BlockPos pos) { + return world.isBlockPresent(pos); + } @Override public Stream getBlockCollisions(@Nullable Entity entity, AxisAlignedBB axisAlignedBB) { diff --git a/src/main/java/com/simibubi/create/foundation/utility/worldWrappers/WrappedWorld.java b/src/main/java/com/simibubi/create/foundation/utility/worldWrappers/WrappedWorld.java index 7f65c17e3..33718e4ab 100644 --- a/src/main/java/com/simibubi/create/foundation/utility/worldWrappers/WrappedWorld.java +++ b/src/main/java/com/simibubi/create/foundation/utility/worldWrappers/WrappedWorld.java @@ -21,14 +21,11 @@ import net.minecraft.util.Direction; import net.minecraft.util.SoundCategory; import net.minecraft.util.SoundEvent; import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.SectionPos; import net.minecraft.util.registry.DynamicRegistries; import net.minecraft.world.ITickList; import net.minecraft.world.World; import net.minecraft.world.biome.Biome; import net.minecraft.world.chunk.AbstractChunkProvider; -import net.minecraft.world.chunk.Chunk; -import net.minecraft.world.chunk.ChunkSection; import net.minecraft.world.lighting.WorldLightManager; import net.minecraft.world.storage.ISpawnWorldInfo; import net.minecraft.world.storage.MapData; diff --git a/src/main/resources/ponder/deployer/processing.nbt b/src/main/resources/ponder/deployer/processing.nbt new file mode 100644 index 000000000..daa9f2845 Binary files /dev/null and b/src/main/resources/ponder/deployer/processing.nbt differ