Ponder prep, Part II

- Added scene for deployer's new item processing
- Fixed particles rendering faced away from the camera
- Fixed airflow particles not getting lit properly
- Fixed lack of culling in Gui ItemStack elements
- Prepared texts for all fluid-related storyboards
- Fixed ponder progress bar not displaying
This commit is contained in:
simibubi 2021-06-18 18:13:40 +02:00
parent c23071863d
commit 1bab1bc6d3
32 changed files with 499 additions and 90 deletions

View file

@ -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

View file

@ -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",

View file

@ -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",

View file

@ -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",

View file

@ -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",

View file

@ -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",

View file

@ -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",

View file

@ -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",

View file

@ -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",

View file

@ -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",

View file

@ -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",

View file

@ -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",

View file

@ -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",

View file

@ -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",

View file

@ -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",

View file

@ -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,

View file

@ -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);

View file

@ -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);

View file

@ -303,6 +303,11 @@ public class PonderWorld extends SchematicWorld {
return state;
}
@Override
public boolean isBlockLoaded(BlockPos pos) {
return true; // fix particle lighting
}
@Override
public boolean chunkExists(int x, int y) {
return true; // fix particle lighting

View file

@ -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<Particle> 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();

View file

@ -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<WorldSectionElement> 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<BeltItemElement> ingot = scene.world.createItemOnBelt(beltPos, Direction.SOUTH, quartz);
scene.idle(15);
ElementLink<BeltItemElement> 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);

View file

@ -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

View file

@ -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
*/
}
}

View file

@ -13,6 +13,28 @@ public class FluidMovementActorScenes {
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) {
@ -21,6 +43,11 @@ public class FluidMovementActorScenes {
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
*/
}
}

View file

@ -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
*/
}
}

View file

@ -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
*/
}
}

View file

@ -13,6 +13,28 @@ public class PipeScenes {
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) {
@ -21,6 +43,18 @@ public class PipeScenes {
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) {
@ -29,6 +63,14 @@ public class PipeScenes {
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) {
@ -37,6 +79,14 @@ public class PipeScenes {
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) {
@ -45,6 +95,18 @@ public class PipeScenes {
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
*/
}
}

View file

@ -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
*/
}
}

View file

@ -13,6 +13,17 @@ public class SpoutScenes {
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) {
@ -21,6 +32,13 @@ public class SpoutScenes {
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
*/
}
}

View file

@ -51,6 +51,11 @@ public class WrappedClientWorld extends ClientWorld {
return world.isBlockLoaded(pos);
}
@Override
public boolean isBlockPresent(BlockPos pos) {
return world.isBlockPresent(pos);
}
@Override
public Stream<VoxelShape> getBlockCollisions(@Nullable Entity entity, AxisAlignedBB axisAlignedBB) {
return world.getBlockCollisions(entity, axisAlignedBB);

View file

@ -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;

Binary file not shown.