diff --git a/README.md b/README.md
index d224ad76e..5266e021c 100644
--- a/README.md
+++ b/README.md
@@ -4,7 +4,7 @@
-
+
Welcome to Create, a mod offering a variety of tools and blocks for Building, Decoration and Aesthetic Automation.
diff --git a/src/generated/resources/.cache/cache b/src/generated/resources/.cache/cache
index e2a1ed6ac..41feaf092 100644
--- a/src/generated/resources/.cache/cache
+++ b/src/generated/resources/.cache/cache
@@ -47,7 +47,6 @@ e81608346d43406ee72cae0f78b8bcfb37ba2d75 assets/create/blockstates/brown_seat.js
cbcdab42d01f8085db9e5f8db884f8adf7f17625 assets/create/blockstates/chiseled_scoria.json
291952556c52fba2af5bbd793c71af81abd27e71 assets/create/blockstates/chiseled_weathered_limestone.json
470e8c6a9c37b91fa745bc4f6e9d3740bd72467e assets/create/blockstates/chocolate.json
-4319ddb44dabbb1ed189d86429ca57091ba2dcf6 assets/create/blockstates/chromatic_projector.json
b59324f051f21d8ce1a48a08f4721a61a3c414d6 assets/create/blockstates/chute.json
4947c261310445fa55b92038326ac82967d192dd assets/create/blockstates/clockwork_bearing.json
1f33834c685e3243882acfe20183fe64dfa872be assets/create/blockstates/clutch.json
@@ -408,21 +407,21 @@ a3a11524cd3515fc01d905767b4b7ea782adaf03 assets/create/blockstates/yellow_seat.j
6801fa1f466f172700e573e5b8ee8ee5f9ca4583 assets/create/blockstates/yellow_valve_handle.json
7f39521b211441f5c3e06d60c5978cebe16cacfb assets/create/blockstates/zinc_block.json
b7181bcd8182b2f17088e5aa881f374c9c65470c assets/create/blockstates/zinc_ore.json
-743c0e304ab97a9a5c45e5e42904b332819a8309 assets/create/lang/en_ud.json
-50bf7322b6d59058af9a76734d64c7e8c178ac52 assets/create/lang/en_us.json
-553e8875994eb76f6d170f69c587fa81655818cc assets/create/lang/unfinished/de_de.json
-82a089199c63977542dbeb99cbf00c0f41b4b906 assets/create/lang/unfinished/es_es.json
-7b618a406d441b1c84c4e2db2f0c81523cfab94d assets/create/lang/unfinished/es_mx.json
-0ab24126d99133ea181a185d4fb544d22cc730bc assets/create/lang/unfinished/fr_fr.json
-9d9853e78068602f0ec869b2ae105a28ffe0edb5 assets/create/lang/unfinished/it_it.json
-493ed6d77bc80d7993fd0ab55394ebfe704dc064 assets/create/lang/unfinished/ja_jp.json
-aa7a7ce89505af2d45fcd18eafc1bccb2d6da30e assets/create/lang/unfinished/ko_kr.json
-4349d68c4aab349f8304c95d5f1414bee775a280 assets/create/lang/unfinished/nl_nl.json
-c239c78aa3c31aac28f583e9c1181e49b9b48b89 assets/create/lang/unfinished/pl_pl.json
-61c5bb8745e2f54167eaee8be1ff374f156050ae assets/create/lang/unfinished/pt_br.json
-bf854ba3a5ac4412a1f7e2bc36640a4c2a4b2e22 assets/create/lang/unfinished/ru_ru.json
-e4aaa810975a12b73d092382c4c76a52074ec343 assets/create/lang/unfinished/zh_cn.json
-9334262769a6156b20c52cd4231a2760a7c783eb assets/create/lang/unfinished/zh_tw.json
+c71f5246d2cb8e9913d1552d23fcc82c43cde7a0 assets/create/lang/en_ud.json
+0352f128a214a76365bae7365d7904536ffccbba assets/create/lang/en_us.json
+d2fe2b5beb7c4b7d05842dc45da6630dd1f0611f assets/create/lang/unfinished/de_de.json
+a486966e82368a85f4c6c5c6b4fd17b0b6e260b4 assets/create/lang/unfinished/es_es.json
+94c05715d19c5ceced368c4aa4307b5184eb9d0f assets/create/lang/unfinished/es_mx.json
+44fe3efbe33085dc4248ba7ee94e35065aab5cca assets/create/lang/unfinished/fr_fr.json
+c53beea261e7a64bdbe397481a2010bb166b10ce assets/create/lang/unfinished/it_it.json
+2d75e6eb0c1683ef4856acf86b4f1e49d9e7b9b2 assets/create/lang/unfinished/ja_jp.json
+a0d8634f363ee47f3e5ac568d5b63cc6e25a4267 assets/create/lang/unfinished/ko_kr.json
+75e6dcc51ef14e39fd7ec1a87a0bbc945ef12637 assets/create/lang/unfinished/nl_nl.json
+93b883e54947c1a1869984bc4e764c34b7055998 assets/create/lang/unfinished/pl_pl.json
+fc093fa80821bfc4076261dcf1ec56c21edc2262 assets/create/lang/unfinished/pt_br.json
+c5b4013e8758f6bfde86eb2d25ec920b5d25c7d1 assets/create/lang/unfinished/ru_ru.json
+5bb493fd0d4a05d4b83db99eacea460cb96f8f1a assets/create/lang/unfinished/zh_cn.json
+9c049cc88deb8b319c6de28caa417eea9baa7f79 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
@@ -543,7 +542,6 @@ db7279f05c1d89e21da8887a15d3a1cfff4a9cf2 assets/create/models/block/chiseled_dar
1cf4b68c8cf1885ede334fbfa54e52c76ba211b6 assets/create/models/block/chiseled_scoria.json
041a20dd674277ff4f1613a0a89600f05458edf4 assets/create/models/block/chiseled_weathered_limestone.json
4156227e18c0896ce83f260f71b939abbbf4f01e assets/create/models/block/chocolate.json
-5e3819de78eb6e7511839905fa0fdde4babcaf21 assets/create/models/block/chromatic_projector.json
30fe120af3cb32faf0729df4d2cdf868f804be17 assets/create/models/block/clockwork_bearing.json
1f01a4b6608f75145734b60ddf4a33ce318425ff assets/create/models/block/copper_casing.json
b2c528cfd24a5cb0cb96c45d0a914f1090f8c32b assets/create/models/block/copper_valve_handle.json
@@ -1257,7 +1255,6 @@ a47fbe5f2da79080d99ef0975bfa8da4d08f8be4 assets/create/models/item/chiseled_scor
70232ce9b88119fb383717e2c1ad113f7aad6a99 assets/create/models/item/chiseled_weathered_limestone.json
7a3737f6156213762e28a4dbedc4c6828dc1878c assets/create/models/item/chocolate_bucket.json
87637b39c3a5a386457d52b37eb65f1c4bcabaf0 assets/create/models/item/chocolate_glazed_berries.json
-7ee3446e9164e466421e4349e1eada3101f3c976 assets/create/models/item/chromatic_projector.json
fe67c3f380d17735a9436a4579a8be1a02b8e4a0 assets/create/models/item/chute.json
6680a68526576ded5dac2aa3bc9fb9de3e744146 assets/create/models/item/cinder_flour.json
c1da21be9f1af4f7a2ef4ec9cd92195d65ada316 assets/create/models/item/clockwork_bearing.json
@@ -1657,7 +1654,7 @@ d080b1b25e5bc8baf5aee68691b08c7f12ece3b0 assets/create/models/item/windmill_bear
a80fb25a0b655e76be986b5b49fcb0f03461a1ab assets/create/models/item/zinc_nugget.json
b1689617190c05ef34bd18456b0c7ae09bb3210f assets/create/models/item/zinc_ore.json
6490fa0587db770cf7c794b47f3bcd2b691f4226 assets/create/sounds.json
-5d0cc4c0255dc241e61c173b31ddca70c88d08e4 data/create/advancements/aesthetics.json
+0f1b4b980afba9bf2caf583b88e261bba8b10313 data/create/advancements/aesthetics.json
187921fa131b06721bfaf63f2623a28c141aae9a data/create/advancements/andesite_alloy.json
0ea2db7173b5be28b289ea7c9a6a0cf5805c60c7 data/create/advancements/andesite_casing.json
83c046bd200623933545c9e4326f782fb02c87fa data/create/advancements/arm_blaze_burner.json
@@ -2437,7 +2434,6 @@ ab820bbaaf67c6697dfbab33c05fb73b18c70bfb data/create/loot_tables/blocks/chiseled
4b09725707bac4c5813e2bb489ff848d0d964ae9 data/create/loot_tables/blocks/chiseled_limestone.json
43f446abd3c1c184a08645979edf620e59955a30 data/create/loot_tables/blocks/chiseled_scoria.json
adde89e46b12de1eee6fd0c5cb98c5f45feefc15 data/create/loot_tables/blocks/chiseled_weathered_limestone.json
-7ea58979dbc1ac44626728afe8fe771c88e250d2 data/create/loot_tables/blocks/chromatic_projector.json
07ccc1576a71338cb73c4e06f8c28a2c86843877 data/create/loot_tables/blocks/chute.json
778b53c36d73b6e9c78fd6c091c9c3535c3c18f7 data/create/loot_tables/blocks/clockwork_bearing.json
d76113310fc56eca6382d44df174096f2210d416 data/create/loot_tables/blocks/clutch.json
@@ -3522,7 +3518,7 @@ eae06580a0a5f486cde35426716d50fcb3ba5bb3 data/create/recipes/polished_weathered_
0fa8386648398724f6fd373178b706c6b11ddefc data/create/recipes/pressing/gold_ingot.json
a104ef6eb8872a40ea7b2ef67ae54cec943162f0 data/create/recipes/pressing/iron_ingot.json
7f9e72ec02a9926656744a95066f8aa304514565 data/create/recipes/pressing/lapis_block.json
-654e274b07af172c22838d47e0974367c20101d4 data/create/recipes/pressing/path.json
+b472136cdc8e87fa65a812a359542bdc484f27ec data/create/recipes/pressing/path.json
bd57ccc8eb4357b4a5af021db7b806b514cd2558 data/create/recipes/pressing/sugar_cane.json
141173778757d87e7f2e9466bdab6ff1263c8e98 data/create/recipes/sandpaper_polishing/rose_quartz.json
5ab9c8271a9e1d4a863940aeafd1f8816cb37a29 data/create/recipes/scoria.json
diff --git a/src/generated/resources/assets/create/lang/en_us.json b/src/generated/resources/assets/create/lang/en_us.json
index 8a9036517..144a7c6aa 100644
--- a/src/generated/resources/assets/create/lang/en_us.json
+++ b/src/generated/resources/assets/create/lang/en_us.json
@@ -1783,6 +1783,9 @@
"create.ponder.empty_blaze_burner.text_5": "However, these are not suitable for industrial heating",
"create.ponder.encased_fluid_pipe.header": "Encasing Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_1": "Copper Casing can be used to decorate Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_2": "Aside from being conceiled, Encased Pipes are locked into their connectivity state",
+ "create.ponder.encased_fluid_pipe.text_3": "It will no longer react to any neighbouring blocks being added or removed",
"create.ponder.fan_direction.header": "Air flow of Encased Fans",
"create.ponder.fan_direction.text_1": "Encased Fans use Rotational Force to create an Air Current",
@@ -1803,8 +1806,20 @@
"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": "Fluid Pipes can connect two or more fluid sources and targets",
+ "create.ponder.fluid_pipe_flow.text_2": "Using a wrench, a straight pipe segment can be given a window",
+ "create.ponder.fluid_pipe_flow.text_3": "Windowed pipes will not connect to any other adjacent pipe segments",
+ "create.ponder.fluid_pipe_flow.text_4": "Powered by Mechanical Pumps, the Pipes can transport Fluids",
+ "create.ponder.fluid_pipe_flow.text_5": "No fluid is being extracted at first",
+ "create.ponder.fluid_pipe_flow.text_6": "Once the flow connects them, the endpoints gradually transfer their contents",
+ "create.ponder.fluid_pipe_flow.text_7": "Thus, the Pipe blocks themselves never 'physically' contain any fluid",
"create.ponder.fluid_pipe_interaction.header": "Draining and Filling fluid containers",
+ "create.ponder.fluid_pipe_interaction.text_1": "Endpoints of a pipe network can interact with a variety of blocks",
+ "create.ponder.fluid_pipe_interaction.text_2": "Any block with fluid storage capabilities can be filled or drained",
+ "create.ponder.fluid_pipe_interaction.text_3": "Source blocks right in front of an open end can be picked up...",
+ "create.ponder.fluid_pipe_interaction.text_4": "...while spilling into empty spaces can create fluid sources",
+ "create.ponder.fluid_pipe_interaction.text_5": "Pipes can also extract fluids from a handful of other blocks directly",
"create.ponder.fluid_tank_sizes.header": "Dimensions of a Fluid tank",
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 384cb2b1d..d1e028884 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: 1043",
+ "_": "Missing Localizations: 1039",
"_": "->------------------------] Game Elements [------------------------<-",
@@ -52,7 +52,6 @@
"block.create.chiseled_scoria": "Gemeißelte Schlacke",
"block.create.chiseled_weathered_limestone": "Gemeißelter verwitterter Kalkstein",
"block.create.chocolate": "Schokolade",
- "block.create.chromatic_projector": "UNLOCALIZED: Chromatic Projector",
"block.create.chute": "Rinne",
"block.create.clockwork_bearing": "Uhrwerk-Lager",
"block.create.clutch": "Kupplung",
@@ -1475,37 +1474,6 @@
"item.create.minecart_coupling.tooltip.condition1": "UNLOCALIZED: When Used on Minecart",
"item.create.minecart_coupling.tooltip.behaviour1": "UNLOCALIZED: _Couples_ two Minecarts together, attempting to keep them at a _constant distance_ while moving.",
- "create.tooltip.wip": "WIP",
- "create.tooltip.workInProgress": "Work in progress!",
- "create.tooltip.randomWipDescription0": "Bitte halte dies fern von Kindern",
- "create.tooltip.randomWipDescription1": "Ein Babypanda stirbt jedes mal wenn du diesen Gegenstand benutzt. Jedes. Mal.",
- "create.tooltip.randomWipDescription2": "Benutzung auf eigene Gefahr.",
- "create.tooltip.randomWipDescription3": "Dies ist nicht der Gegenstand den du suchst, *wackelt mit Finger* bitte geht auseinander.",
- "create.tooltip.randomWipDescription4": "Dieser Gegenstand wird sich in 10 Sekunden selbst zerstören. 10, 9, 8...",
- "create.tooltip.randomWipDescription5": "Glaub mir, es ist nutzlos.",
- "create.tooltip.randomWipDescription6": "Bei der Verwendung dieses Gegenstands stimmst du hiermit unserem Haftungsausschluss zu und nimmst dessen Bedingungen an.",
- "create.tooltip.randomWipDescription7": "Dieser ist nicht für dich. Wie wäre es mit dem?",
- "create.tooltip.randomWipDescription8": "Benutze es und bereue deine Entscheidung umgehend.",
-
- "create.gui.chromatic_projector.title": "UNLOCALIZED: Chromatic Projector",
- "create.gui.chromatic_projector.filter.invert": "UNLOCALIZED: Invert",
- "create.gui.chromatic_projector.filter.sepia": "UNLOCALIZED: Sepia",
- "create.gui.chromatic_projector.filter.grayscale": "UNLOCALIZED: Grayscale",
- "create.gui.chromatic_projector.filter.saturate": "UNLOCALIZED: Saturate",
- "create.gui.chromatic_projector.filter.hue_shift": "UNLOCALIZED: Hue shift",
- "create.gui.chromatic_projector.filter.darken": "UNLOCALIZED: Darken",
- "create.gui.chromatic_projector.filter.contrast": "UNLOCALIZED: Contrast",
- "create.gui.chromatic_projector.filter.end": "UNLOCALIZED: End",
- "create.gui.chromatic_projector.filter": "UNLOCALIZED: Filter",
- "create.gui.chromatic_projector.surface": "UNLOCALIZED: Surface",
- "create.gui.chromatic_projector.field": "UNLOCALIZED: Field",
- "create.gui.chromatic_projector.strength": "UNLOCALIZED: Strength",
- "create.gui.chromatic_projector.radius": "UNLOCALIZED: Radius",
- "create.gui.chromatic_projector.feather": "UNLOCALIZED: Feather",
- "create.gui.chromatic_projector.density": "UNLOCALIZED: Density",
- "create.gui.chromatic_projector.fade": "UNLOCALIZED: Fade",
- "create.gui.chromatic_projector.blend": "UNLOCALIZED: Blend",
-
"_": "->------------------------] Ponder Content [------------------------<-",
@@ -1784,6 +1752,9 @@
"create.ponder.empty_blaze_burner.text_5": "UNLOCALIZED: However, these are not suitable for industrial heating",
"create.ponder.encased_fluid_pipe.header": "UNLOCALIZED: Encasing Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_1": "UNLOCALIZED: Copper Casing can be used to decorate Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_2": "UNLOCALIZED: Aside from being conceiled, Encased Pipes are locked into their connectivity state",
+ "create.ponder.encased_fluid_pipe.text_3": "UNLOCALIZED: It will no longer react to any neighbouring blocks being added or removed",
"create.ponder.fan_direction.header": "UNLOCALIZED: Air flow of Encased Fans",
"create.ponder.fan_direction.text_1": "UNLOCALIZED: Encased Fans use Rotational Force to create an Air Current",
@@ -1804,8 +1775,20 @@
"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: Fluid Pipes can connect two or more fluid sources and targets",
+ "create.ponder.fluid_pipe_flow.text_2": "UNLOCALIZED: Using a wrench, a straight pipe segment can be given a window",
+ "create.ponder.fluid_pipe_flow.text_3": "UNLOCALIZED: Windowed pipes will not connect to any other adjacent pipe segments",
+ "create.ponder.fluid_pipe_flow.text_4": "UNLOCALIZED: Powered by Mechanical Pumps, the Pipes can transport Fluids",
+ "create.ponder.fluid_pipe_flow.text_5": "UNLOCALIZED: No fluid is being extracted at first",
+ "create.ponder.fluid_pipe_flow.text_6": "UNLOCALIZED: Once the flow connects them, the endpoints gradually transfer their contents",
+ "create.ponder.fluid_pipe_flow.text_7": "UNLOCALIZED: Thus, the Pipe blocks themselves never 'physically' contain any fluid",
"create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers",
+ "create.ponder.fluid_pipe_interaction.text_1": "UNLOCALIZED: Endpoints of a pipe network can interact with a variety of blocks",
+ "create.ponder.fluid_pipe_interaction.text_2": "UNLOCALIZED: Any block with fluid storage capabilities can be filled or drained",
+ "create.ponder.fluid_pipe_interaction.text_3": "UNLOCALIZED: Source blocks right in front of an open end can be picked up...",
+ "create.ponder.fluid_pipe_interaction.text_4": "UNLOCALIZED: ...while spilling into empty spaces can create fluid sources",
+ "create.ponder.fluid_pipe_interaction.text_5": "UNLOCALIZED: Pipes can also extract fluids from a handful of other blocks directly",
"create.ponder.fluid_tank_sizes.header": "UNLOCALIZED: Dimensions of a Fluid tank",
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 d4c95541b..56f7e7460 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: 744",
+ "_": "Missing Localizations: 740",
"_": "->------------------------] Game Elements [------------------------<-",
@@ -52,7 +52,6 @@
"block.create.chiseled_scoria": "Escoria cincelada",
"block.create.chiseled_weathered_limestone": "Piedra caliza erosionada cincelada",
"block.create.chocolate": "Chocolate",
- "block.create.chromatic_projector": "UNLOCALIZED: Chromatic Projector",
"block.create.chute": "Ducto",
"block.create.clockwork_bearing": "Rodamiento de reloj",
"block.create.clutch": "Embrague",
@@ -1475,37 +1474,6 @@
"item.create.minecart_coupling.tooltip.condition1": "Cuando se utiliza en Vagonetas",
"item.create.minecart_coupling.tooltip.behaviour1": "_Acopla_ dos Vagonetas, intentando mantenerlas a una _distancia constante_ mientras se mueven",
- "create.tooltip.wip": "WIP",
- "create.tooltip.workInProgress": "¡Trabajo en curso!",
- "create.tooltip.randomWipDescription0": "Por favor, mantenga este artículo fuera del alcance de los niños",
- "create.tooltip.randomWipDescription1": "Un bebé panda muere cada vez que usas este objeto. Cada vez. Cada vez",
- "create.tooltip.randomWipDescription2": "Úsalo bajo tu propio riesgo",
- "create.tooltip.randomWipDescription3": "Este no es el objeto que buscas, *mueve los dedos* por favor, dispérsate",
- "create.tooltip.randomWipDescription4": "Este objeto se autodestruirá en 10 segundos. 10, 9, 8...",
- "create.tooltip.randomWipDescription5": "Créeme, es inútil",
- "create.tooltip.randomWipDescription6": "Al utilizar este elemento, aceptas nuestra exención de responsabilidad y estás de acuerdo con sus términos",
- "create.tooltip.randomWipDescription7": "Este quizás no es para ti. ¿Qué tal ese?",
- "create.tooltip.randomWipDescription8": "Úsalo y arrepiéntete de tu decisión inmediatamente",
-
- "create.gui.chromatic_projector.title": "UNLOCALIZED: Chromatic Projector",
- "create.gui.chromatic_projector.filter.invert": "UNLOCALIZED: Invert",
- "create.gui.chromatic_projector.filter.sepia": "UNLOCALIZED: Sepia",
- "create.gui.chromatic_projector.filter.grayscale": "UNLOCALIZED: Grayscale",
- "create.gui.chromatic_projector.filter.saturate": "UNLOCALIZED: Saturate",
- "create.gui.chromatic_projector.filter.hue_shift": "UNLOCALIZED: Hue shift",
- "create.gui.chromatic_projector.filter.darken": "UNLOCALIZED: Darken",
- "create.gui.chromatic_projector.filter.contrast": "UNLOCALIZED: Contrast",
- "create.gui.chromatic_projector.filter.end": "UNLOCALIZED: End",
- "create.gui.chromatic_projector.filter": "UNLOCALIZED: Filter",
- "create.gui.chromatic_projector.surface": "UNLOCALIZED: Surface",
- "create.gui.chromatic_projector.field": "UNLOCALIZED: Field",
- "create.gui.chromatic_projector.strength": "UNLOCALIZED: Strength",
- "create.gui.chromatic_projector.radius": "UNLOCALIZED: Radius",
- "create.gui.chromatic_projector.feather": "UNLOCALIZED: Feather",
- "create.gui.chromatic_projector.density": "UNLOCALIZED: Density",
- "create.gui.chromatic_projector.fade": "UNLOCALIZED: Fade",
- "create.gui.chromatic_projector.blend": "UNLOCALIZED: Blend",
-
"_": "->------------------------] Ponder Content [------------------------<-",
@@ -1784,6 +1752,9 @@
"create.ponder.empty_blaze_burner.text_5": "UNLOCALIZED: However, these are not suitable for industrial heating",
"create.ponder.encased_fluid_pipe.header": "UNLOCALIZED: Encasing Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_1": "UNLOCALIZED: Copper Casing can be used to decorate Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_2": "UNLOCALIZED: Aside from being conceiled, Encased Pipes are locked into their connectivity state",
+ "create.ponder.encased_fluid_pipe.text_3": "UNLOCALIZED: It will no longer react to any neighbouring blocks being added or removed",
"create.ponder.fan_direction.header": "UNLOCALIZED: Air flow of Encased Fans",
"create.ponder.fan_direction.text_1": "UNLOCALIZED: Encased Fans use Rotational Force to create an Air Current",
@@ -1804,8 +1775,20 @@
"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: Fluid Pipes can connect two or more fluid sources and targets",
+ "create.ponder.fluid_pipe_flow.text_2": "UNLOCALIZED: Using a wrench, a straight pipe segment can be given a window",
+ "create.ponder.fluid_pipe_flow.text_3": "UNLOCALIZED: Windowed pipes will not connect to any other adjacent pipe segments",
+ "create.ponder.fluid_pipe_flow.text_4": "UNLOCALIZED: Powered by Mechanical Pumps, the Pipes can transport Fluids",
+ "create.ponder.fluid_pipe_flow.text_5": "UNLOCALIZED: No fluid is being extracted at first",
+ "create.ponder.fluid_pipe_flow.text_6": "UNLOCALIZED: Once the flow connects them, the endpoints gradually transfer their contents",
+ "create.ponder.fluid_pipe_flow.text_7": "UNLOCALIZED: Thus, the Pipe blocks themselves never 'physically' contain any fluid",
"create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers",
+ "create.ponder.fluid_pipe_interaction.text_1": "UNLOCALIZED: Endpoints of a pipe network can interact with a variety of blocks",
+ "create.ponder.fluid_pipe_interaction.text_2": "UNLOCALIZED: Any block with fluid storage capabilities can be filled or drained",
+ "create.ponder.fluid_pipe_interaction.text_3": "UNLOCALIZED: Source blocks right in front of an open end can be picked up...",
+ "create.ponder.fluid_pipe_interaction.text_4": "UNLOCALIZED: ...while spilling into empty spaces can create fluid sources",
+ "create.ponder.fluid_pipe_interaction.text_5": "UNLOCALIZED: Pipes can also extract fluids from a handful of other blocks directly",
"create.ponder.fluid_tank_sizes.header": "UNLOCALIZED: Dimensions of a Fluid tank",
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 f8492fc8b..208abfcf0 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: 1367",
+ "_": "Missing Localizations: 1352",
"_": "->------------------------] Game Elements [------------------------<-",
@@ -52,7 +52,6 @@
"block.create.chiseled_scoria": "Escoria Grabada",
"block.create.chiseled_weathered_limestone": "Caliza Meteorizada Grabada",
"block.create.chocolate": "Chocolate",
- "block.create.chromatic_projector": "UNLOCALIZED: Chromatic Projector",
"block.create.chute": "Vertedor",
"block.create.clockwork_bearing": "Rodamiento de Reloj",
"block.create.clutch": "Embrague",
@@ -1475,37 +1474,6 @@
"item.create.minecart_coupling.tooltip.condition1": "UNLOCALIZED: When Used on Minecart",
"item.create.minecart_coupling.tooltip.behaviour1": "UNLOCALIZED: _Couples_ two Minecarts together, attempting to keep them at a _constant distance_ while moving.",
- "create.tooltip.wip": "UNLOCALIZED: WIP",
- "create.tooltip.workInProgress": "UNLOCALIZED: Work in progress!",
- "create.tooltip.randomWipDescription0": "UNLOCALIZED: Please keep this item away from children.",
- "create.tooltip.randomWipDescription1": "UNLOCALIZED: A baby panda dies every time you use this item. Every. Time.",
- "create.tooltip.randomWipDescription2": "UNLOCALIZED: Use at your own risk.",
- "create.tooltip.randomWipDescription3": "UNLOCALIZED: This is not the item you are looking for, *finger-wiggles* please disperse.",
- "create.tooltip.randomWipDescription4": "UNLOCALIZED: This item will self-destruct in 10 seconds. 10, 9, 8...",
- "create.tooltip.randomWipDescription5": "UNLOCALIZED: Believe me, it's useless.",
- "create.tooltip.randomWipDescription6": "UNLOCALIZED: By using this item, you hereby consent to our disclaimer and agree to its terms.",
- "create.tooltip.randomWipDescription7": "UNLOCALIZED: This one maybe isn't for you. What about that one?",
- "create.tooltip.randomWipDescription8": "UNLOCALIZED: Use it and regret your decision immediately.",
-
- "create.gui.chromatic_projector.title": "UNLOCALIZED: Chromatic Projector",
- "create.gui.chromatic_projector.filter.invert": "UNLOCALIZED: Invert",
- "create.gui.chromatic_projector.filter.sepia": "UNLOCALIZED: Sepia",
- "create.gui.chromatic_projector.filter.grayscale": "UNLOCALIZED: Grayscale",
- "create.gui.chromatic_projector.filter.saturate": "UNLOCALIZED: Saturate",
- "create.gui.chromatic_projector.filter.hue_shift": "UNLOCALIZED: Hue shift",
- "create.gui.chromatic_projector.filter.darken": "UNLOCALIZED: Darken",
- "create.gui.chromatic_projector.filter.contrast": "UNLOCALIZED: Contrast",
- "create.gui.chromatic_projector.filter.end": "UNLOCALIZED: End",
- "create.gui.chromatic_projector.filter": "UNLOCALIZED: Filter",
- "create.gui.chromatic_projector.surface": "UNLOCALIZED: Surface",
- "create.gui.chromatic_projector.field": "UNLOCALIZED: Field",
- "create.gui.chromatic_projector.strength": "UNLOCALIZED: Strength",
- "create.gui.chromatic_projector.radius": "UNLOCALIZED: Radius",
- "create.gui.chromatic_projector.feather": "UNLOCALIZED: Feather",
- "create.gui.chromatic_projector.density": "UNLOCALIZED: Density",
- "create.gui.chromatic_projector.fade": "UNLOCALIZED: Fade",
- "create.gui.chromatic_projector.blend": "UNLOCALIZED: Blend",
-
"_": "->------------------------] Ponder Content [------------------------<-",
@@ -1784,6 +1752,9 @@
"create.ponder.empty_blaze_burner.text_5": "UNLOCALIZED: However, these are not suitable for industrial heating",
"create.ponder.encased_fluid_pipe.header": "UNLOCALIZED: Encasing Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_1": "UNLOCALIZED: Copper Casing can be used to decorate Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_2": "UNLOCALIZED: Aside from being conceiled, Encased Pipes are locked into their connectivity state",
+ "create.ponder.encased_fluid_pipe.text_3": "UNLOCALIZED: It will no longer react to any neighbouring blocks being added or removed",
"create.ponder.fan_direction.header": "UNLOCALIZED: Air flow of Encased Fans",
"create.ponder.fan_direction.text_1": "UNLOCALIZED: Encased Fans use Rotational Force to create an Air Current",
@@ -1804,8 +1775,20 @@
"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: Fluid Pipes can connect two or more fluid sources and targets",
+ "create.ponder.fluid_pipe_flow.text_2": "UNLOCALIZED: Using a wrench, a straight pipe segment can be given a window",
+ "create.ponder.fluid_pipe_flow.text_3": "UNLOCALIZED: Windowed pipes will not connect to any other adjacent pipe segments",
+ "create.ponder.fluid_pipe_flow.text_4": "UNLOCALIZED: Powered by Mechanical Pumps, the Pipes can transport Fluids",
+ "create.ponder.fluid_pipe_flow.text_5": "UNLOCALIZED: No fluid is being extracted at first",
+ "create.ponder.fluid_pipe_flow.text_6": "UNLOCALIZED: Once the flow connects them, the endpoints gradually transfer their contents",
+ "create.ponder.fluid_pipe_flow.text_7": "UNLOCALIZED: Thus, the Pipe blocks themselves never 'physically' contain any fluid",
"create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers",
+ "create.ponder.fluid_pipe_interaction.text_1": "UNLOCALIZED: Endpoints of a pipe network can interact with a variety of blocks",
+ "create.ponder.fluid_pipe_interaction.text_2": "UNLOCALIZED: Any block with fluid storage capabilities can be filled or drained",
+ "create.ponder.fluid_pipe_interaction.text_3": "UNLOCALIZED: Source blocks right in front of an open end can be picked up...",
+ "create.ponder.fluid_pipe_interaction.text_4": "UNLOCALIZED: ...while spilling into empty spaces can create fluid sources",
+ "create.ponder.fluid_pipe_interaction.text_5": "UNLOCALIZED: Pipes can also extract fluids from a handful of other blocks directly",
"create.ponder.fluid_tank_sizes.header": "UNLOCALIZED: Dimensions of a Fluid tank",
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 3581522b1..f852897b6 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: 1295",
+ "_": "Missing Localizations: 1291",
"_": "->------------------------] Game Elements [------------------------<-",
@@ -52,7 +52,6 @@
"block.create.chiseled_scoria": "Scoria taillé",
"block.create.chiseled_weathered_limestone": "Calcaire altéré taillé",
"block.create.chocolate": "Chocolat",
- "block.create.chromatic_projector": "UNLOCALIZED: Chromatic Projector",
"block.create.chute": "Glissière",
"block.create.clockwork_bearing": "Roulement mécanique horloger",
"block.create.clutch": "Embrayage",
@@ -1475,37 +1474,6 @@
"item.create.minecart_coupling.tooltip.condition1": "UNLOCALIZED: When Used on Minecart",
"item.create.minecart_coupling.tooltip.behaviour1": "UNLOCALIZED: _Couples_ two Minecarts together, attempting to keep them at a _constant distance_ while moving.",
- "create.tooltip.wip": "En cours",
- "create.tooltip.workInProgress": "En cours!",
- "create.tooltip.randomWipDescription0": "Veuillez garder cet objet hors de portée des enfants.",
- "create.tooltip.randomWipDescription1": "Un bébé panda meurt chaque fois que vous utilisez cet objet. Chaque. Fois.",
- "create.tooltip.randomWipDescription2": "À utiliser à vos risques et périls.",
- "create.tooltip.randomWipDescription3": "Ce n'est pas l'objet que vous recherchez, *agite les doigts* circulez.",
- "create.tooltip.randomWipDescription4": "Cet objet s'autodétruit en 10 secondes. 10, 9, 8...",
- "create.tooltip.randomWipDescription5": "Croyez-moi, c'est inutile.",
- "create.tooltip.randomWipDescription6": "En utilisant cet article, vous êtes responsables et acceptez ses conditions.",
- "create.tooltip.randomWipDescription7": "Celui-ci n'est peut-être pas pour vous. Que dire de celui-là?",
- "create.tooltip.randomWipDescription8": "Utilisez-le et regrettez immédiatement votre décision.",
-
- "create.gui.chromatic_projector.title": "UNLOCALIZED: Chromatic Projector",
- "create.gui.chromatic_projector.filter.invert": "UNLOCALIZED: Invert",
- "create.gui.chromatic_projector.filter.sepia": "UNLOCALIZED: Sepia",
- "create.gui.chromatic_projector.filter.grayscale": "UNLOCALIZED: Grayscale",
- "create.gui.chromatic_projector.filter.saturate": "UNLOCALIZED: Saturate",
- "create.gui.chromatic_projector.filter.hue_shift": "UNLOCALIZED: Hue shift",
- "create.gui.chromatic_projector.filter.darken": "UNLOCALIZED: Darken",
- "create.gui.chromatic_projector.filter.contrast": "UNLOCALIZED: Contrast",
- "create.gui.chromatic_projector.filter.end": "UNLOCALIZED: End",
- "create.gui.chromatic_projector.filter": "UNLOCALIZED: Filter",
- "create.gui.chromatic_projector.surface": "UNLOCALIZED: Surface",
- "create.gui.chromatic_projector.field": "UNLOCALIZED: Field",
- "create.gui.chromatic_projector.strength": "UNLOCALIZED: Strength",
- "create.gui.chromatic_projector.radius": "UNLOCALIZED: Radius",
- "create.gui.chromatic_projector.feather": "UNLOCALIZED: Feather",
- "create.gui.chromatic_projector.density": "UNLOCALIZED: Density",
- "create.gui.chromatic_projector.fade": "UNLOCALIZED: Fade",
- "create.gui.chromatic_projector.blend": "UNLOCALIZED: Blend",
-
"_": "->------------------------] Ponder Content [------------------------<-",
@@ -1784,6 +1752,9 @@
"create.ponder.empty_blaze_burner.text_5": "UNLOCALIZED: However, these are not suitable for industrial heating",
"create.ponder.encased_fluid_pipe.header": "UNLOCALIZED: Encasing Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_1": "UNLOCALIZED: Copper Casing can be used to decorate Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_2": "UNLOCALIZED: Aside from being conceiled, Encased Pipes are locked into their connectivity state",
+ "create.ponder.encased_fluid_pipe.text_3": "UNLOCALIZED: It will no longer react to any neighbouring blocks being added or removed",
"create.ponder.fan_direction.header": "UNLOCALIZED: Air flow of Encased Fans",
"create.ponder.fan_direction.text_1": "UNLOCALIZED: Encased Fans use Rotational Force to create an Air Current",
@@ -1804,8 +1775,20 @@
"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: Fluid Pipes can connect two or more fluid sources and targets",
+ "create.ponder.fluid_pipe_flow.text_2": "UNLOCALIZED: Using a wrench, a straight pipe segment can be given a window",
+ "create.ponder.fluid_pipe_flow.text_3": "UNLOCALIZED: Windowed pipes will not connect to any other adjacent pipe segments",
+ "create.ponder.fluid_pipe_flow.text_4": "UNLOCALIZED: Powered by Mechanical Pumps, the Pipes can transport Fluids",
+ "create.ponder.fluid_pipe_flow.text_5": "UNLOCALIZED: No fluid is being extracted at first",
+ "create.ponder.fluid_pipe_flow.text_6": "UNLOCALIZED: Once the flow connects them, the endpoints gradually transfer their contents",
+ "create.ponder.fluid_pipe_flow.text_7": "UNLOCALIZED: Thus, the Pipe blocks themselves never 'physically' contain any fluid",
"create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers",
+ "create.ponder.fluid_pipe_interaction.text_1": "UNLOCALIZED: Endpoints of a pipe network can interact with a variety of blocks",
+ "create.ponder.fluid_pipe_interaction.text_2": "UNLOCALIZED: Any block with fluid storage capabilities can be filled or drained",
+ "create.ponder.fluid_pipe_interaction.text_3": "UNLOCALIZED: Source blocks right in front of an open end can be picked up...",
+ "create.ponder.fluid_pipe_interaction.text_4": "UNLOCALIZED: ...while spilling into empty spaces can create fluid sources",
+ "create.ponder.fluid_pipe_interaction.text_5": "UNLOCALIZED: Pipes can also extract fluids from a handful of other blocks directly",
"create.ponder.fluid_tank_sizes.header": "UNLOCALIZED: Dimensions of a Fluid tank",
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 16f3d22c7..4bb49e83f 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: 761",
+ "_": "Missing Localizations: 757",
"_": "->------------------------] Game Elements [------------------------<-",
@@ -52,7 +52,6 @@
"block.create.chiseled_scoria": "Scoria cesellata",
"block.create.chiseled_weathered_limestone": "Calcare consumato cesellato",
"block.create.chocolate": "Cioccolato",
- "block.create.chromatic_projector": "UNLOCALIZED: Chromatic Projector",
"block.create.chute": "Scivolo",
"block.create.clockwork_bearing": "Supporto dell'orologio",
"block.create.clutch": "Frizione",
@@ -1475,37 +1474,6 @@
"item.create.minecart_coupling.tooltip.condition1": "Quando usato su un carrello da miniera",
"item.create.minecart_coupling.tooltip.behaviour1": "_Concatena_ due carrelli insieme, provando a tenerli uniti a una _distanza costante_ mentre si muovono.",
- "create.tooltip.wip": "WIP",
- "create.tooltip.workInProgress": "Work in progress!",
- "create.tooltip.randomWipDescription0": "Si prega di tenere questo oggetto lontano dai bambini.",
- "create.tooltip.randomWipDescription1": "Un cucciolo di panda muore ogni volta che usi questo oggetto. Ogni. Volta.",
- "create.tooltip.randomWipDescription2": "Da utilizzare a proprio rischio.",
- "create.tooltip.randomWipDescription3": "Questo non è l'oggetto che stai cercando, *le dita si muovono* per favore stai in disparte.",
- "create.tooltip.randomWipDescription4": "Questo oggetto si autodistruggerà tra 10 secondi. 10, 9, 8...",
- "create.tooltip.randomWipDescription5": "Credimi, è inutile.",
- "create.tooltip.randomWipDescription6": "Utilizzando questo articolo, acconsenti al nostro disclaimer e accetti i suoi termini.",
- "create.tooltip.randomWipDescription7": "Questo forse non fa per te. Che ne dici di quello?",
- "create.tooltip.randomWipDescription8": "Usalo e rimpiangi immediatamente la tua decisione.",
-
- "create.gui.chromatic_projector.title": "UNLOCALIZED: Chromatic Projector",
- "create.gui.chromatic_projector.filter.invert": "UNLOCALIZED: Invert",
- "create.gui.chromatic_projector.filter.sepia": "UNLOCALIZED: Sepia",
- "create.gui.chromatic_projector.filter.grayscale": "UNLOCALIZED: Grayscale",
- "create.gui.chromatic_projector.filter.saturate": "UNLOCALIZED: Saturate",
- "create.gui.chromatic_projector.filter.hue_shift": "UNLOCALIZED: Hue shift",
- "create.gui.chromatic_projector.filter.darken": "UNLOCALIZED: Darken",
- "create.gui.chromatic_projector.filter.contrast": "UNLOCALIZED: Contrast",
- "create.gui.chromatic_projector.filter.end": "UNLOCALIZED: End",
- "create.gui.chromatic_projector.filter": "UNLOCALIZED: Filter",
- "create.gui.chromatic_projector.surface": "UNLOCALIZED: Surface",
- "create.gui.chromatic_projector.field": "UNLOCALIZED: Field",
- "create.gui.chromatic_projector.strength": "UNLOCALIZED: Strength",
- "create.gui.chromatic_projector.radius": "UNLOCALIZED: Radius",
- "create.gui.chromatic_projector.feather": "UNLOCALIZED: Feather",
- "create.gui.chromatic_projector.density": "UNLOCALIZED: Density",
- "create.gui.chromatic_projector.fade": "UNLOCALIZED: Fade",
- "create.gui.chromatic_projector.blend": "UNLOCALIZED: Blend",
-
"_": "->------------------------] Ponder Content [------------------------<-",
@@ -1784,6 +1752,9 @@
"create.ponder.empty_blaze_burner.text_5": "UNLOCALIZED: However, these are not suitable for industrial heating",
"create.ponder.encased_fluid_pipe.header": "UNLOCALIZED: Encasing Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_1": "UNLOCALIZED: Copper Casing can be used to decorate Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_2": "UNLOCALIZED: Aside from being conceiled, Encased Pipes are locked into their connectivity state",
+ "create.ponder.encased_fluid_pipe.text_3": "UNLOCALIZED: It will no longer react to any neighbouring blocks being added or removed",
"create.ponder.fan_direction.header": "UNLOCALIZED: Air flow of Encased Fans",
"create.ponder.fan_direction.text_1": "UNLOCALIZED: Encased Fans use Rotational Force to create an Air Current",
@@ -1804,8 +1775,20 @@
"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: Fluid Pipes can connect two or more fluid sources and targets",
+ "create.ponder.fluid_pipe_flow.text_2": "UNLOCALIZED: Using a wrench, a straight pipe segment can be given a window",
+ "create.ponder.fluid_pipe_flow.text_3": "UNLOCALIZED: Windowed pipes will not connect to any other adjacent pipe segments",
+ "create.ponder.fluid_pipe_flow.text_4": "UNLOCALIZED: Powered by Mechanical Pumps, the Pipes can transport Fluids",
+ "create.ponder.fluid_pipe_flow.text_5": "UNLOCALIZED: No fluid is being extracted at first",
+ "create.ponder.fluid_pipe_flow.text_6": "UNLOCALIZED: Once the flow connects them, the endpoints gradually transfer their contents",
+ "create.ponder.fluid_pipe_flow.text_7": "UNLOCALIZED: Thus, the Pipe blocks themselves never 'physically' contain any fluid",
"create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers",
+ "create.ponder.fluid_pipe_interaction.text_1": "UNLOCALIZED: Endpoints of a pipe network can interact with a variety of blocks",
+ "create.ponder.fluid_pipe_interaction.text_2": "UNLOCALIZED: Any block with fluid storage capabilities can be filled or drained",
+ "create.ponder.fluid_pipe_interaction.text_3": "UNLOCALIZED: Source blocks right in front of an open end can be picked up...",
+ "create.ponder.fluid_pipe_interaction.text_4": "UNLOCALIZED: ...while spilling into empty spaces can create fluid sources",
+ "create.ponder.fluid_pipe_interaction.text_5": "UNLOCALIZED: Pipes can also extract fluids from a handful of other blocks directly",
"create.ponder.fluid_tank_sizes.header": "UNLOCALIZED: Dimensions of a Fluid tank",
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 fd5800fe1..5ca80c09d 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: 125",
+ "_": "Missing Localizations: 121",
"_": "->------------------------] Game Elements [------------------------<-",
@@ -52,7 +52,6 @@
"block.create.chiseled_scoria": "模様入りのスコリア",
"block.create.chiseled_weathered_limestone": "模様入りの風化した石灰岩",
"block.create.chocolate": "チョコレート",
- "block.create.chromatic_projector": "UNLOCALIZED: Chromatic Projector",
"block.create.chute": "シュート",
"block.create.clockwork_bearing": "時計仕掛けのベアリング",
"block.create.clutch": "クラッチ",
@@ -1475,37 +1474,6 @@
"item.create.minecart_coupling.tooltip.condition1": "トロッコに使ったとき",
"item.create.minecart_coupling.tooltip.behaviour1": "_2台_のトロッコを連結します。それらは移動中に_一定_の_距離_を保とうします。",
- "create.tooltip.wip": "WIP",
- "create.tooltip.workInProgress": "作業中です!",
- "create.tooltip.randomWipDescription0": "お子様の手の届かないところに保管してください。",
- "create.tooltip.randomWipDescription1": "赤ちゃんパンダは、このアイテムを使うたびに死にます。そう、いつでもね。",
- "create.tooltip.randomWipDescription2": "自己責任。",
- "create.tooltip.randomWipDescription3": "これはあなたが探しているアイテムではありません。*人差し指を振って*ちっちっちっ、解散!",
- "create.tooltip.randomWipDescription4": "このアイテムは10秒で自爆します。10、9、8 ...",
- "create.tooltip.randomWipDescription5": "私を信じて、それは無駄だ。",
- "create.tooltip.randomWipDescription6": "このアイテムを使うことにより、お客様は免責事項に同意し、その条件を承諾するものとします。",
- "create.tooltip.randomWipDescription7": "これは君に向いていないかもしれない。あれはどう??",
- "create.tooltip.randomWipDescription8": "それを使ったことをすぐ後悔するだろう。",
-
- "create.gui.chromatic_projector.title": "UNLOCALIZED: Chromatic Projector",
- "create.gui.chromatic_projector.filter.invert": "UNLOCALIZED: Invert",
- "create.gui.chromatic_projector.filter.sepia": "UNLOCALIZED: Sepia",
- "create.gui.chromatic_projector.filter.grayscale": "UNLOCALIZED: Grayscale",
- "create.gui.chromatic_projector.filter.saturate": "UNLOCALIZED: Saturate",
- "create.gui.chromatic_projector.filter.hue_shift": "UNLOCALIZED: Hue shift",
- "create.gui.chromatic_projector.filter.darken": "UNLOCALIZED: Darken",
- "create.gui.chromatic_projector.filter.contrast": "UNLOCALIZED: Contrast",
- "create.gui.chromatic_projector.filter.end": "UNLOCALIZED: End",
- "create.gui.chromatic_projector.filter": "UNLOCALIZED: Filter",
- "create.gui.chromatic_projector.surface": "UNLOCALIZED: Surface",
- "create.gui.chromatic_projector.field": "UNLOCALIZED: Field",
- "create.gui.chromatic_projector.strength": "UNLOCALIZED: Strength",
- "create.gui.chromatic_projector.radius": "UNLOCALIZED: Radius",
- "create.gui.chromatic_projector.feather": "UNLOCALIZED: Feather",
- "create.gui.chromatic_projector.density": "UNLOCALIZED: Density",
- "create.gui.chromatic_projector.fade": "UNLOCALIZED: Fade",
- "create.gui.chromatic_projector.blend": "UNLOCALIZED: Blend",
-
"_": "->------------------------] Ponder Content [------------------------<-",
@@ -1784,6 +1752,9 @@
"create.ponder.empty_blaze_burner.text_5": "しかし、これは加工用の熱源には適していません",
"create.ponder.encased_fluid_pipe.header": "UNLOCALIZED: Encasing Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_1": "UNLOCALIZED: Copper Casing can be used to decorate Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_2": "UNLOCALIZED: Aside from being conceiled, Encased Pipes are locked into their connectivity state",
+ "create.ponder.encased_fluid_pipe.text_3": "UNLOCALIZED: It will no longer react to any neighbouring blocks being added or removed",
"create.ponder.fan_direction.header": "ケース入りファンの気流",
"create.ponder.fan_direction.text_1": "ケース入りファンは、回転力を利用して気流を生み出します",
@@ -1804,8 +1775,20 @@
"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: Fluid Pipes can connect two or more fluid sources and targets",
+ "create.ponder.fluid_pipe_flow.text_2": "UNLOCALIZED: Using a wrench, a straight pipe segment can be given a window",
+ "create.ponder.fluid_pipe_flow.text_3": "UNLOCALIZED: Windowed pipes will not connect to any other adjacent pipe segments",
+ "create.ponder.fluid_pipe_flow.text_4": "UNLOCALIZED: Powered by Mechanical Pumps, the Pipes can transport Fluids",
+ "create.ponder.fluid_pipe_flow.text_5": "UNLOCALIZED: No fluid is being extracted at first",
+ "create.ponder.fluid_pipe_flow.text_6": "UNLOCALIZED: Once the flow connects them, the endpoints gradually transfer their contents",
+ "create.ponder.fluid_pipe_flow.text_7": "UNLOCALIZED: Thus, the Pipe blocks themselves never 'physically' contain any fluid",
"create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers",
+ "create.ponder.fluid_pipe_interaction.text_1": "UNLOCALIZED: Endpoints of a pipe network can interact with a variety of blocks",
+ "create.ponder.fluid_pipe_interaction.text_2": "UNLOCALIZED: Any block with fluid storage capabilities can be filled or drained",
+ "create.ponder.fluid_pipe_interaction.text_3": "UNLOCALIZED: Source blocks right in front of an open end can be picked up...",
+ "create.ponder.fluid_pipe_interaction.text_4": "UNLOCALIZED: ...while spilling into empty spaces can create fluid sources",
+ "create.ponder.fluid_pipe_interaction.text_5": "UNLOCALIZED: Pipes can also extract fluids from a handful of other blocks directly",
"create.ponder.fluid_tank_sizes.header": "UNLOCALIZED: Dimensions of a Fluid tank",
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 60386039e..d10fc6a39 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: 814",
+ "_": "Missing Localizations: 810",
"_": "->------------------------] Game Elements [------------------------<-",
@@ -52,7 +52,6 @@
"block.create.chiseled_scoria": "조각된 스코리아",
"block.create.chiseled_weathered_limestone": "조각된 풍화된 석회암",
"block.create.chocolate": "초콜릿",
- "block.create.chromatic_projector": "UNLOCALIZED: Chromatic Projector",
"block.create.chute": "슈트",
"block.create.clockwork_bearing": "시계 베어링",
"block.create.clutch": "클러치",
@@ -1475,37 +1474,6 @@
"item.create.minecart_coupling.tooltip.condition1": "광산 수레에 사용할 때",
"item.create.minecart_coupling.tooltip.behaviour1": "_두 수레를 묶어_ 이동할 때 고정된 _거리를 유지하게_ 합니다.",
- "create.tooltip.wip": "WIP",
- "create.tooltip.workInProgress": "Work in progress!",
- "create.tooltip.randomWipDescription0": "Please keep this item away from children.",
- "create.tooltip.randomWipDescription1": "A baby panda dies every time you use this item. Every. Time.",
- "create.tooltip.randomWipDescription2": "Use at your own risk.",
- "create.tooltip.randomWipDescription3": "This is not the item you are looking for, *finger-wiggles* please disperse.",
- "create.tooltip.randomWipDescription4": "This item will self-destruct in 10 seconds. 10, 9, 8...",
- "create.tooltip.randomWipDescription5": "Believe me, it's useless.",
- "create.tooltip.randomWipDescription6": "By using this item, you hereby consent to our disclaimer and agree to its terms.",
- "create.tooltip.randomWipDescription7": "This one maybe isn't for you. What about that one?",
- "create.tooltip.randomWipDescription8": "Use it and regret your decision immediately.",
-
- "create.gui.chromatic_projector.title": "UNLOCALIZED: Chromatic Projector",
- "create.gui.chromatic_projector.filter.invert": "UNLOCALIZED: Invert",
- "create.gui.chromatic_projector.filter.sepia": "UNLOCALIZED: Sepia",
- "create.gui.chromatic_projector.filter.grayscale": "UNLOCALIZED: Grayscale",
- "create.gui.chromatic_projector.filter.saturate": "UNLOCALIZED: Saturate",
- "create.gui.chromatic_projector.filter.hue_shift": "UNLOCALIZED: Hue shift",
- "create.gui.chromatic_projector.filter.darken": "UNLOCALIZED: Darken",
- "create.gui.chromatic_projector.filter.contrast": "UNLOCALIZED: Contrast",
- "create.gui.chromatic_projector.filter.end": "UNLOCALIZED: End",
- "create.gui.chromatic_projector.filter": "UNLOCALIZED: Filter",
- "create.gui.chromatic_projector.surface": "UNLOCALIZED: Surface",
- "create.gui.chromatic_projector.field": "UNLOCALIZED: Field",
- "create.gui.chromatic_projector.strength": "UNLOCALIZED: Strength",
- "create.gui.chromatic_projector.radius": "UNLOCALIZED: Radius",
- "create.gui.chromatic_projector.feather": "UNLOCALIZED: Feather",
- "create.gui.chromatic_projector.density": "UNLOCALIZED: Density",
- "create.gui.chromatic_projector.fade": "UNLOCALIZED: Fade",
- "create.gui.chromatic_projector.blend": "UNLOCALIZED: Blend",
-
"_": "->------------------------] Ponder Content [------------------------<-",
@@ -1784,6 +1752,9 @@
"create.ponder.empty_blaze_burner.text_5": "UNLOCALIZED: However, these are not suitable for industrial heating",
"create.ponder.encased_fluid_pipe.header": "UNLOCALIZED: Encasing Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_1": "UNLOCALIZED: Copper Casing can be used to decorate Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_2": "UNLOCALIZED: Aside from being conceiled, Encased Pipes are locked into their connectivity state",
+ "create.ponder.encased_fluid_pipe.text_3": "UNLOCALIZED: It will no longer react to any neighbouring blocks being added or removed",
"create.ponder.fan_direction.header": "UNLOCALIZED: Air flow of Encased Fans",
"create.ponder.fan_direction.text_1": "UNLOCALIZED: Encased Fans use Rotational Force to create an Air Current",
@@ -1804,8 +1775,20 @@
"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: Fluid Pipes can connect two or more fluid sources and targets",
+ "create.ponder.fluid_pipe_flow.text_2": "UNLOCALIZED: Using a wrench, a straight pipe segment can be given a window",
+ "create.ponder.fluid_pipe_flow.text_3": "UNLOCALIZED: Windowed pipes will not connect to any other adjacent pipe segments",
+ "create.ponder.fluid_pipe_flow.text_4": "UNLOCALIZED: Powered by Mechanical Pumps, the Pipes can transport Fluids",
+ "create.ponder.fluid_pipe_flow.text_5": "UNLOCALIZED: No fluid is being extracted at first",
+ "create.ponder.fluid_pipe_flow.text_6": "UNLOCALIZED: Once the flow connects them, the endpoints gradually transfer their contents",
+ "create.ponder.fluid_pipe_flow.text_7": "UNLOCALIZED: Thus, the Pipe blocks themselves never 'physically' contain any fluid",
"create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers",
+ "create.ponder.fluid_pipe_interaction.text_1": "UNLOCALIZED: Endpoints of a pipe network can interact with a variety of blocks",
+ "create.ponder.fluid_pipe_interaction.text_2": "UNLOCALIZED: Any block with fluid storage capabilities can be filled or drained",
+ "create.ponder.fluid_pipe_interaction.text_3": "UNLOCALIZED: Source blocks right in front of an open end can be picked up...",
+ "create.ponder.fluid_pipe_interaction.text_4": "UNLOCALIZED: ...while spilling into empty spaces can create fluid sources",
+ "create.ponder.fluid_pipe_interaction.text_5": "UNLOCALIZED: Pipes can also extract fluids from a handful of other blocks directly",
"create.ponder.fluid_tank_sizes.header": "UNLOCALIZED: Dimensions of a Fluid tank",
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 b9e003b52..72b9df586 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: 1678",
+ "_": "Missing Localizations: 1674",
"_": "->------------------------] Game Elements [------------------------<-",
@@ -52,7 +52,6 @@
"block.create.chiseled_scoria": "UNLOCALIZED: Chiseled Scoria",
"block.create.chiseled_weathered_limestone": "UNLOCALIZED: Chiseled Weathered Limestone",
"block.create.chocolate": "UNLOCALIZED: Chocolate",
- "block.create.chromatic_projector": "UNLOCALIZED: Chromatic Projector",
"block.create.chute": "UNLOCALIZED: Chute",
"block.create.clockwork_bearing": "UNLOCALIZED: Clockwork Bearing",
"block.create.clutch": "Koppeling",
@@ -1475,37 +1474,6 @@
"item.create.minecart_coupling.tooltip.condition1": "UNLOCALIZED: When Used on Minecart",
"item.create.minecart_coupling.tooltip.behaviour1": "UNLOCALIZED: _Couples_ two Minecarts together, attempting to keep them at a _constant distance_ while moving.",
- "create.tooltip.wip": "WIP",
- "create.tooltip.workInProgress": "Work in progress!",
- "create.tooltip.randomWipDescription0": "Houdt dit object buiten bereik van kinderen.",
- "create.tooltip.randomWipDescription1": "Een baby panda sterft elke keer als je dit object gebruikt.",
- "create.tooltip.randomWipDescription2": "Gebruikt dit object op eigen risico.",
- "create.tooltip.randomWipDescription3": "Niks te zien hier, vervolg uw weg.",
- "create.tooltip.randomWipDescription4": "Dit object zal zichzelf vernietigen in 10 seconden.",
- "create.tooltip.randomWipDescription5": "Geloof me, het is nuteloos.",
- "create.tooltip.randomWipDescription6": "Door dit object te gebruiken stemt u in met onze disclaimer en gaat u akkoord met de algemene voorwaarden.",
- "create.tooltip.randomWipDescription7": "Deze is misschien niet geschikt voor jou.",
- "create.tooltip.randomWipDescription8": "Gebruikt het en je zal meteen spijt hebben.",
-
- "create.gui.chromatic_projector.title": "UNLOCALIZED: Chromatic Projector",
- "create.gui.chromatic_projector.filter.invert": "UNLOCALIZED: Invert",
- "create.gui.chromatic_projector.filter.sepia": "UNLOCALIZED: Sepia",
- "create.gui.chromatic_projector.filter.grayscale": "UNLOCALIZED: Grayscale",
- "create.gui.chromatic_projector.filter.saturate": "UNLOCALIZED: Saturate",
- "create.gui.chromatic_projector.filter.hue_shift": "UNLOCALIZED: Hue shift",
- "create.gui.chromatic_projector.filter.darken": "UNLOCALIZED: Darken",
- "create.gui.chromatic_projector.filter.contrast": "UNLOCALIZED: Contrast",
- "create.gui.chromatic_projector.filter.end": "UNLOCALIZED: End",
- "create.gui.chromatic_projector.filter": "UNLOCALIZED: Filter",
- "create.gui.chromatic_projector.surface": "UNLOCALIZED: Surface",
- "create.gui.chromatic_projector.field": "UNLOCALIZED: Field",
- "create.gui.chromatic_projector.strength": "UNLOCALIZED: Strength",
- "create.gui.chromatic_projector.radius": "UNLOCALIZED: Radius",
- "create.gui.chromatic_projector.feather": "UNLOCALIZED: Feather",
- "create.gui.chromatic_projector.density": "UNLOCALIZED: Density",
- "create.gui.chromatic_projector.fade": "UNLOCALIZED: Fade",
- "create.gui.chromatic_projector.blend": "UNLOCALIZED: Blend",
-
"_": "->------------------------] Ponder Content [------------------------<-",
@@ -1784,6 +1752,9 @@
"create.ponder.empty_blaze_burner.text_5": "UNLOCALIZED: However, these are not suitable for industrial heating",
"create.ponder.encased_fluid_pipe.header": "UNLOCALIZED: Encasing Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_1": "UNLOCALIZED: Copper Casing can be used to decorate Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_2": "UNLOCALIZED: Aside from being conceiled, Encased Pipes are locked into their connectivity state",
+ "create.ponder.encased_fluid_pipe.text_3": "UNLOCALIZED: It will no longer react to any neighbouring blocks being added or removed",
"create.ponder.fan_direction.header": "UNLOCALIZED: Air flow of Encased Fans",
"create.ponder.fan_direction.text_1": "UNLOCALIZED: Encased Fans use Rotational Force to create an Air Current",
@@ -1804,8 +1775,20 @@
"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: Fluid Pipes can connect two or more fluid sources and targets",
+ "create.ponder.fluid_pipe_flow.text_2": "UNLOCALIZED: Using a wrench, a straight pipe segment can be given a window",
+ "create.ponder.fluid_pipe_flow.text_3": "UNLOCALIZED: Windowed pipes will not connect to any other adjacent pipe segments",
+ "create.ponder.fluid_pipe_flow.text_4": "UNLOCALIZED: Powered by Mechanical Pumps, the Pipes can transport Fluids",
+ "create.ponder.fluid_pipe_flow.text_5": "UNLOCALIZED: No fluid is being extracted at first",
+ "create.ponder.fluid_pipe_flow.text_6": "UNLOCALIZED: Once the flow connects them, the endpoints gradually transfer their contents",
+ "create.ponder.fluid_pipe_flow.text_7": "UNLOCALIZED: Thus, the Pipe blocks themselves never 'physically' contain any fluid",
"create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers",
+ "create.ponder.fluid_pipe_interaction.text_1": "UNLOCALIZED: Endpoints of a pipe network can interact with a variety of blocks",
+ "create.ponder.fluid_pipe_interaction.text_2": "UNLOCALIZED: Any block with fluid storage capabilities can be filled or drained",
+ "create.ponder.fluid_pipe_interaction.text_3": "UNLOCALIZED: Source blocks right in front of an open end can be picked up...",
+ "create.ponder.fluid_pipe_interaction.text_4": "UNLOCALIZED: ...while spilling into empty spaces can create fluid sources",
+ "create.ponder.fluid_pipe_interaction.text_5": "UNLOCALIZED: Pipes can also extract fluids from a handful of other blocks directly",
"create.ponder.fluid_tank_sizes.header": "UNLOCALIZED: Dimensions of a Fluid tank",
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 a05a06a2d..18dc98c92 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: 101",
+ "_": "Missing Localizations: 97",
"_": "->------------------------] Game Elements [------------------------<-",
@@ -52,7 +52,6 @@
"block.create.chiseled_scoria": "Rzeźbiony żużel",
"block.create.chiseled_weathered_limestone": "Rzeźbiony zwietrzały wapień",
"block.create.chocolate": "Czekolada",
- "block.create.chromatic_projector": "UNLOCALIZED: Chromatic Projector",
"block.create.chute": "Zsyp",
"block.create.clockwork_bearing": "Mechanizm zegarowy",
"block.create.clutch": "Sprzęgło",
@@ -1475,37 +1474,6 @@
"item.create.minecart_coupling.tooltip.condition1": "Kiedy użyto na wagoniku",
"item.create.minecart_coupling.tooltip.behaviour1": "_Łączy_ dwa wagoniki, próbując utrzymać je w stałej odległości od siebie.",
- "create.tooltip.wip": "WIP",
- "create.tooltip.workInProgress": "Praca w toku!",
- "create.tooltip.randomWipDescription0": "Trzymać z dala od dzieci.",
- "create.tooltip.randomWipDescription1": "Mała panda ginie za każdym razem, kiedy patrzysz na ten przedmiot. Za. Każdym. Razem.",
- "create.tooltip.randomWipDescription2": "Używaj na własną odpowiedzialność.",
- "create.tooltip.randomWipDescription3": "To nie ten przedmiot, którego szukasz, proszę się rozejść.",
- "create.tooltip.randomWipDescription4": "Ten przedmiot ulegnie autodestrukcji za 10 sekund. 10, 9, 8...",
- "create.tooltip.randomWipDescription5": "Uwierz mi, jest bezużyteczny.",
- "create.tooltip.randomWipDescription6": "Używając tego przedmiotu, zgadzasz się na warunki umowy.",
- "create.tooltip.randomWipDescription7": "Ten przedmiot chyba nie jest dla Ciebie. A może ten?",
- "create.tooltip.randomWipDescription8": "Użyj tego i natychmiast będziesz tego żałował.",
-
- "create.gui.chromatic_projector.title": "UNLOCALIZED: Chromatic Projector",
- "create.gui.chromatic_projector.filter.invert": "UNLOCALIZED: Invert",
- "create.gui.chromatic_projector.filter.sepia": "UNLOCALIZED: Sepia",
- "create.gui.chromatic_projector.filter.grayscale": "UNLOCALIZED: Grayscale",
- "create.gui.chromatic_projector.filter.saturate": "UNLOCALIZED: Saturate",
- "create.gui.chromatic_projector.filter.hue_shift": "UNLOCALIZED: Hue shift",
- "create.gui.chromatic_projector.filter.darken": "UNLOCALIZED: Darken",
- "create.gui.chromatic_projector.filter.contrast": "UNLOCALIZED: Contrast",
- "create.gui.chromatic_projector.filter.end": "UNLOCALIZED: End",
- "create.gui.chromatic_projector.filter": "UNLOCALIZED: Filter",
- "create.gui.chromatic_projector.surface": "UNLOCALIZED: Surface",
- "create.gui.chromatic_projector.field": "UNLOCALIZED: Field",
- "create.gui.chromatic_projector.strength": "UNLOCALIZED: Strength",
- "create.gui.chromatic_projector.radius": "UNLOCALIZED: Radius",
- "create.gui.chromatic_projector.feather": "UNLOCALIZED: Feather",
- "create.gui.chromatic_projector.density": "UNLOCALIZED: Density",
- "create.gui.chromatic_projector.fade": "UNLOCALIZED: Fade",
- "create.gui.chromatic_projector.blend": "UNLOCALIZED: Blend",
-
"_": "->------------------------] Ponder Content [------------------------<-",
@@ -1784,6 +1752,9 @@
"create.ponder.empty_blaze_burner.text_5": "Nie będzie on dawał jednak ciepła",
"create.ponder.encased_fluid_pipe.header": "UNLOCALIZED: Encasing Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_1": "UNLOCALIZED: Copper Casing can be used to decorate Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_2": "UNLOCALIZED: Aside from being conceiled, Encased Pipes are locked into their connectivity state",
+ "create.ponder.encased_fluid_pipe.text_3": "UNLOCALIZED: It will no longer react to any neighbouring blocks being added or removed",
"create.ponder.fan_direction.header": "Przepływ powietrza przez izolowane wiatraki",
"create.ponder.fan_direction.text_1": "Izolowane wiatraki używają siły obrotowej, aby wytworzyć przepływ powietrza",
@@ -1804,8 +1775,20 @@
"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: Fluid Pipes can connect two or more fluid sources and targets",
+ "create.ponder.fluid_pipe_flow.text_2": "UNLOCALIZED: Using a wrench, a straight pipe segment can be given a window",
+ "create.ponder.fluid_pipe_flow.text_3": "UNLOCALIZED: Windowed pipes will not connect to any other adjacent pipe segments",
+ "create.ponder.fluid_pipe_flow.text_4": "UNLOCALIZED: Powered by Mechanical Pumps, the Pipes can transport Fluids",
+ "create.ponder.fluid_pipe_flow.text_5": "UNLOCALIZED: No fluid is being extracted at first",
+ "create.ponder.fluid_pipe_flow.text_6": "UNLOCALIZED: Once the flow connects them, the endpoints gradually transfer their contents",
+ "create.ponder.fluid_pipe_flow.text_7": "UNLOCALIZED: Thus, the Pipe blocks themselves never 'physically' contain any fluid",
"create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers",
+ "create.ponder.fluid_pipe_interaction.text_1": "UNLOCALIZED: Endpoints of a pipe network can interact with a variety of blocks",
+ "create.ponder.fluid_pipe_interaction.text_2": "UNLOCALIZED: Any block with fluid storage capabilities can be filled or drained",
+ "create.ponder.fluid_pipe_interaction.text_3": "UNLOCALIZED: Source blocks right in front of an open end can be picked up...",
+ "create.ponder.fluid_pipe_interaction.text_4": "UNLOCALIZED: ...while spilling into empty spaces can create fluid sources",
+ "create.ponder.fluid_pipe_interaction.text_5": "UNLOCALIZED: Pipes can also extract fluids from a handful of other blocks directly",
"create.ponder.fluid_tank_sizes.header": "UNLOCALIZED: Dimensions of a Fluid tank",
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 67e3385c6..327048fc1 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: 1730",
+ "_": "Missing Localizations: 1715",
"_": "->------------------------] Game Elements [------------------------<-",
@@ -52,7 +52,6 @@
"block.create.chiseled_scoria": "UNLOCALIZED: Chiseled Scoria",
"block.create.chiseled_weathered_limestone": "UNLOCALIZED: Chiseled Weathered Limestone",
"block.create.chocolate": "UNLOCALIZED: Chocolate",
- "block.create.chromatic_projector": "UNLOCALIZED: Chromatic Projector",
"block.create.chute": "UNLOCALIZED: Chute",
"block.create.clockwork_bearing": "UNLOCALIZED: Clockwork Bearing",
"block.create.clutch": "Embreagem",
@@ -1475,37 +1474,6 @@
"item.create.minecart_coupling.tooltip.condition1": "UNLOCALIZED: When Used on Minecart",
"item.create.minecart_coupling.tooltip.behaviour1": "UNLOCALIZED: _Couples_ two Minecarts together, attempting to keep them at a _constant distance_ while moving.",
- "create.tooltip.wip": "UNLOCALIZED: WIP",
- "create.tooltip.workInProgress": "UNLOCALIZED: Work in progress!",
- "create.tooltip.randomWipDescription0": "UNLOCALIZED: Please keep this item away from children.",
- "create.tooltip.randomWipDescription1": "UNLOCALIZED: A baby panda dies every time you use this item. Every. Time.",
- "create.tooltip.randomWipDescription2": "UNLOCALIZED: Use at your own risk.",
- "create.tooltip.randomWipDescription3": "UNLOCALIZED: This is not the item you are looking for, *finger-wiggles* please disperse.",
- "create.tooltip.randomWipDescription4": "UNLOCALIZED: This item will self-destruct in 10 seconds. 10, 9, 8...",
- "create.tooltip.randomWipDescription5": "UNLOCALIZED: Believe me, it's useless.",
- "create.tooltip.randomWipDescription6": "UNLOCALIZED: By using this item, you hereby consent to our disclaimer and agree to its terms.",
- "create.tooltip.randomWipDescription7": "UNLOCALIZED: This one maybe isn't for you. What about that one?",
- "create.tooltip.randomWipDescription8": "UNLOCALIZED: Use it and regret your decision immediately.",
-
- "create.gui.chromatic_projector.title": "UNLOCALIZED: Chromatic Projector",
- "create.gui.chromatic_projector.filter.invert": "UNLOCALIZED: Invert",
- "create.gui.chromatic_projector.filter.sepia": "UNLOCALIZED: Sepia",
- "create.gui.chromatic_projector.filter.grayscale": "UNLOCALIZED: Grayscale",
- "create.gui.chromatic_projector.filter.saturate": "UNLOCALIZED: Saturate",
- "create.gui.chromatic_projector.filter.hue_shift": "UNLOCALIZED: Hue shift",
- "create.gui.chromatic_projector.filter.darken": "UNLOCALIZED: Darken",
- "create.gui.chromatic_projector.filter.contrast": "UNLOCALIZED: Contrast",
- "create.gui.chromatic_projector.filter.end": "UNLOCALIZED: End",
- "create.gui.chromatic_projector.filter": "UNLOCALIZED: Filter",
- "create.gui.chromatic_projector.surface": "UNLOCALIZED: Surface",
- "create.gui.chromatic_projector.field": "UNLOCALIZED: Field",
- "create.gui.chromatic_projector.strength": "UNLOCALIZED: Strength",
- "create.gui.chromatic_projector.radius": "UNLOCALIZED: Radius",
- "create.gui.chromatic_projector.feather": "UNLOCALIZED: Feather",
- "create.gui.chromatic_projector.density": "UNLOCALIZED: Density",
- "create.gui.chromatic_projector.fade": "UNLOCALIZED: Fade",
- "create.gui.chromatic_projector.blend": "UNLOCALIZED: Blend",
-
"_": "->------------------------] Ponder Content [------------------------<-",
@@ -1784,6 +1752,9 @@
"create.ponder.empty_blaze_burner.text_5": "UNLOCALIZED: However, these are not suitable for industrial heating",
"create.ponder.encased_fluid_pipe.header": "UNLOCALIZED: Encasing Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_1": "UNLOCALIZED: Copper Casing can be used to decorate Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_2": "UNLOCALIZED: Aside from being conceiled, Encased Pipes are locked into their connectivity state",
+ "create.ponder.encased_fluid_pipe.text_3": "UNLOCALIZED: It will no longer react to any neighbouring blocks being added or removed",
"create.ponder.fan_direction.header": "UNLOCALIZED: Air flow of Encased Fans",
"create.ponder.fan_direction.text_1": "UNLOCALIZED: Encased Fans use Rotational Force to create an Air Current",
@@ -1804,8 +1775,20 @@
"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: Fluid Pipes can connect two or more fluid sources and targets",
+ "create.ponder.fluid_pipe_flow.text_2": "UNLOCALIZED: Using a wrench, a straight pipe segment can be given a window",
+ "create.ponder.fluid_pipe_flow.text_3": "UNLOCALIZED: Windowed pipes will not connect to any other adjacent pipe segments",
+ "create.ponder.fluid_pipe_flow.text_4": "UNLOCALIZED: Powered by Mechanical Pumps, the Pipes can transport Fluids",
+ "create.ponder.fluid_pipe_flow.text_5": "UNLOCALIZED: No fluid is being extracted at first",
+ "create.ponder.fluid_pipe_flow.text_6": "UNLOCALIZED: Once the flow connects them, the endpoints gradually transfer their contents",
+ "create.ponder.fluid_pipe_flow.text_7": "UNLOCALIZED: Thus, the Pipe blocks themselves never 'physically' contain any fluid",
"create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers",
+ "create.ponder.fluid_pipe_interaction.text_1": "UNLOCALIZED: Endpoints of a pipe network can interact with a variety of blocks",
+ "create.ponder.fluid_pipe_interaction.text_2": "UNLOCALIZED: Any block with fluid storage capabilities can be filled or drained",
+ "create.ponder.fluid_pipe_interaction.text_3": "UNLOCALIZED: Source blocks right in front of an open end can be picked up...",
+ "create.ponder.fluid_pipe_interaction.text_4": "UNLOCALIZED: ...while spilling into empty spaces can create fluid sources",
+ "create.ponder.fluid_pipe_interaction.text_5": "UNLOCALIZED: Pipes can also extract fluids from a handful of other blocks directly",
"create.ponder.fluid_tank_sizes.header": "UNLOCALIZED: Dimensions of a Fluid tank",
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 f1c892001..e9358caf7 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: 658",
+ "_": "Missing Localizations: 654",
"_": "->------------------------] Game Elements [------------------------<-",
@@ -52,7 +52,6 @@
"block.create.chiseled_scoria": "Резной пепел",
"block.create.chiseled_weathered_limestone": "Выветренный резной известняк",
"block.create.chocolate": "Шоколад",
- "block.create.chromatic_projector": "UNLOCALIZED: Chromatic Projector",
"block.create.chute": "Желоб",
"block.create.clockwork_bearing": "Часовой механизм",
"block.create.clutch": "Сцепление",
@@ -1475,37 +1474,6 @@
"item.create.minecart_coupling.tooltip.condition1": "При использовании на вагонетке",
"item.create.minecart_coupling.tooltip.behaviour1": "_Соединяет_ две вагонетки вместе, пытаясь держать их на _определенной дистанции_ при движении.",
- "create.tooltip.wip": "WIP",
- "create.tooltip.workInProgress": "Работа продолжается!",
- "create.tooltip.randomWipDescription0": "Пожалуйста держите этот предмет подальше от детей!",
- "create.tooltip.randomWipDescription1": "Маленькая панда умирает каждый раз, когда вы используете этот предмет. Каждый. Раз.",
- "create.tooltip.randomWipDescription2": "Используйте на свой страх и риск.",
- "create.tooltip.randomWipDescription3": "Это не тот предмет, который вы ищете, *шевелит пальцами* пожалуйста, ускорьтесь.",
- "create.tooltip.randomWipDescription4": "Этот предмет самоуничтожится через 10 секунд. 10, 9, 8...",
- "create.tooltip.randomWipDescription5": "Поверьте мне, это бесполезно.",
- "create.tooltip.randomWipDescription6": "Используя этот пункт, вы тем самым соглашаетесь с нашим отказом от ответственности и соглашаетесь с его условиями.",
- "create.tooltip.randomWipDescription7": "Этот, возможно, но не для тебя. Как насчет этого?",
- "create.tooltip.randomWipDescription8": "Используя его, вы немедленно пожалеете о своем решении.",
-
- "create.gui.chromatic_projector.title": "UNLOCALIZED: Chromatic Projector",
- "create.gui.chromatic_projector.filter.invert": "UNLOCALIZED: Invert",
- "create.gui.chromatic_projector.filter.sepia": "UNLOCALIZED: Sepia",
- "create.gui.chromatic_projector.filter.grayscale": "UNLOCALIZED: Grayscale",
- "create.gui.chromatic_projector.filter.saturate": "UNLOCALIZED: Saturate",
- "create.gui.chromatic_projector.filter.hue_shift": "UNLOCALIZED: Hue shift",
- "create.gui.chromatic_projector.filter.darken": "UNLOCALIZED: Darken",
- "create.gui.chromatic_projector.filter.contrast": "UNLOCALIZED: Contrast",
- "create.gui.chromatic_projector.filter.end": "UNLOCALIZED: End",
- "create.gui.chromatic_projector.filter": "UNLOCALIZED: Filter",
- "create.gui.chromatic_projector.surface": "UNLOCALIZED: Surface",
- "create.gui.chromatic_projector.field": "UNLOCALIZED: Field",
- "create.gui.chromatic_projector.strength": "UNLOCALIZED: Strength",
- "create.gui.chromatic_projector.radius": "UNLOCALIZED: Radius",
- "create.gui.chromatic_projector.feather": "UNLOCALIZED: Feather",
- "create.gui.chromatic_projector.density": "UNLOCALIZED: Density",
- "create.gui.chromatic_projector.fade": "UNLOCALIZED: Fade",
- "create.gui.chromatic_projector.blend": "UNLOCALIZED: Blend",
-
"_": "->------------------------] Ponder Content [------------------------<-",
@@ -1784,6 +1752,9 @@
"create.ponder.empty_blaze_burner.text_5": "UNLOCALIZED: However, these are not suitable for industrial heating",
"create.ponder.encased_fluid_pipe.header": "UNLOCALIZED: Encasing Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_1": "UNLOCALIZED: Copper Casing can be used to decorate Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_2": "UNLOCALIZED: Aside from being conceiled, Encased Pipes are locked into their connectivity state",
+ "create.ponder.encased_fluid_pipe.text_3": "UNLOCALIZED: It will no longer react to any neighbouring blocks being added or removed",
"create.ponder.fan_direction.header": "UNLOCALIZED: Air flow of Encased Fans",
"create.ponder.fan_direction.text_1": "UNLOCALIZED: Encased Fans use Rotational Force to create an Air Current",
@@ -1804,8 +1775,20 @@
"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: Fluid Pipes can connect two or more fluid sources and targets",
+ "create.ponder.fluid_pipe_flow.text_2": "UNLOCALIZED: Using a wrench, a straight pipe segment can be given a window",
+ "create.ponder.fluid_pipe_flow.text_3": "UNLOCALIZED: Windowed pipes will not connect to any other adjacent pipe segments",
+ "create.ponder.fluid_pipe_flow.text_4": "UNLOCALIZED: Powered by Mechanical Pumps, the Pipes can transport Fluids",
+ "create.ponder.fluid_pipe_flow.text_5": "UNLOCALIZED: No fluid is being extracted at first",
+ "create.ponder.fluid_pipe_flow.text_6": "UNLOCALIZED: Once the flow connects them, the endpoints gradually transfer their contents",
+ "create.ponder.fluid_pipe_flow.text_7": "UNLOCALIZED: Thus, the Pipe blocks themselves never 'physically' contain any fluid",
"create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers",
+ "create.ponder.fluid_pipe_interaction.text_1": "UNLOCALIZED: Endpoints of a pipe network can interact with a variety of blocks",
+ "create.ponder.fluid_pipe_interaction.text_2": "UNLOCALIZED: Any block with fluid storage capabilities can be filled or drained",
+ "create.ponder.fluid_pipe_interaction.text_3": "UNLOCALIZED: Source blocks right in front of an open end can be picked up...",
+ "create.ponder.fluid_pipe_interaction.text_4": "UNLOCALIZED: ...while spilling into empty spaces can create fluid sources",
+ "create.ponder.fluid_pipe_interaction.text_5": "UNLOCALIZED: Pipes can also extract fluids from a handful of other blocks directly",
"create.ponder.fluid_tank_sizes.header": "UNLOCALIZED: Dimensions of a Fluid tank",
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 81b693ce4..dd31aeb2c 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: 144",
+ "_": "Missing Localizations: 140",
"_": "->------------------------] Game Elements [------------------------<-",
@@ -52,7 +52,6 @@
"block.create.chiseled_scoria": "錾制熔渣",
"block.create.chiseled_weathered_limestone": "錾制风化石灰岩",
"block.create.chocolate": "巧克力",
- "block.create.chromatic_projector": "UNLOCALIZED: Chromatic Projector",
"block.create.chute": "溜槽",
"block.create.clockwork_bearing": "时钟轴承",
"block.create.clutch": "离合器",
@@ -1475,37 +1474,6 @@
"item.create.minecart_coupling.tooltip.condition1": "作用与矿车时",
"item.create.minecart_coupling.tooltip.behaviour1": "将两个矿车耦合在一起,在移动时将它们保持_恒定的距离_。",
- "create.tooltip.wip": "WIP",
- "create.tooltip.workInProgress": "这东西还没有做完!",
- "create.tooltip.randomWipDescription0": "别把这玩意给熊孩子",
- "create.tooltip.randomWipDescription1": "每次你使用这个东西,都会让一只无辜的熊猫丢掉性命,每!一!次!",
- "create.tooltip.randomWipDescription2": "使用后果自负",
- "create.tooltip.randomWipDescription3": "(摇手指)这可不是你在找的物品,走开吧",
- "create.tooltip.randomWipDescription4": "自爆模式已启动,10,9,8..。",
- "create.tooltip.randomWipDescription5": "相信我,你现在已经没有回头路了。",
- "create.tooltip.randomWipDescription6": "如果你使用这个东西,那么本作者与它造成的任何后果没有责任。",
- "create.tooltip.randomWipDescription7": "这玩意不是给你用的,换个吧",
- "create.tooltip.randomWipDescription8": "试试就逝世。",
-
- "create.gui.chromatic_projector.title": "UNLOCALIZED: Chromatic Projector",
- "create.gui.chromatic_projector.filter.invert": "UNLOCALIZED: Invert",
- "create.gui.chromatic_projector.filter.sepia": "UNLOCALIZED: Sepia",
- "create.gui.chromatic_projector.filter.grayscale": "UNLOCALIZED: Grayscale",
- "create.gui.chromatic_projector.filter.saturate": "UNLOCALIZED: Saturate",
- "create.gui.chromatic_projector.filter.hue_shift": "UNLOCALIZED: Hue shift",
- "create.gui.chromatic_projector.filter.darken": "UNLOCALIZED: Darken",
- "create.gui.chromatic_projector.filter.contrast": "UNLOCALIZED: Contrast",
- "create.gui.chromatic_projector.filter.end": "UNLOCALIZED: End",
- "create.gui.chromatic_projector.filter": "UNLOCALIZED: Filter",
- "create.gui.chromatic_projector.surface": "UNLOCALIZED: Surface",
- "create.gui.chromatic_projector.field": "UNLOCALIZED: Field",
- "create.gui.chromatic_projector.strength": "UNLOCALIZED: Strength",
- "create.gui.chromatic_projector.radius": "UNLOCALIZED: Radius",
- "create.gui.chromatic_projector.feather": "UNLOCALIZED: Feather",
- "create.gui.chromatic_projector.density": "UNLOCALIZED: Density",
- "create.gui.chromatic_projector.fade": "UNLOCALIZED: Fade",
- "create.gui.chromatic_projector.blend": "UNLOCALIZED: Blend",
-
"_": "->------------------------] Ponder Content [------------------------<-",
@@ -1784,6 +1752,9 @@
"create.ponder.empty_blaze_burner.text_5": "但是,这样的热源不足以给机器提加工供足够的热量",
"create.ponder.encased_fluid_pipe.header": "UNLOCALIZED: Encasing Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_1": "UNLOCALIZED: Copper Casing can be used to decorate Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_2": "UNLOCALIZED: Aside from being conceiled, Encased Pipes are locked into their connectivity state",
+ "create.ponder.encased_fluid_pipe.text_3": "UNLOCALIZED: It will no longer react to any neighbouring blocks being added or removed",
"create.ponder.fan_direction.header": "鼓风机的气流",
"create.ponder.fan_direction.text_1": "鼓风机使用旋转力来制造气流",
@@ -1804,8 +1775,20 @@
"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: Fluid Pipes can connect two or more fluid sources and targets",
+ "create.ponder.fluid_pipe_flow.text_2": "UNLOCALIZED: Using a wrench, a straight pipe segment can be given a window",
+ "create.ponder.fluid_pipe_flow.text_3": "UNLOCALIZED: Windowed pipes will not connect to any other adjacent pipe segments",
+ "create.ponder.fluid_pipe_flow.text_4": "UNLOCALIZED: Powered by Mechanical Pumps, the Pipes can transport Fluids",
+ "create.ponder.fluid_pipe_flow.text_5": "UNLOCALIZED: No fluid is being extracted at first",
+ "create.ponder.fluid_pipe_flow.text_6": "UNLOCALIZED: Once the flow connects them, the endpoints gradually transfer their contents",
+ "create.ponder.fluid_pipe_flow.text_7": "UNLOCALIZED: Thus, the Pipe blocks themselves never 'physically' contain any fluid",
"create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers",
+ "create.ponder.fluid_pipe_interaction.text_1": "UNLOCALIZED: Endpoints of a pipe network can interact with a variety of blocks",
+ "create.ponder.fluid_pipe_interaction.text_2": "UNLOCALIZED: Any block with fluid storage capabilities can be filled or drained",
+ "create.ponder.fluid_pipe_interaction.text_3": "UNLOCALIZED: Source blocks right in front of an open end can be picked up...",
+ "create.ponder.fluid_pipe_interaction.text_4": "UNLOCALIZED: ...while spilling into empty spaces can create fluid sources",
+ "create.ponder.fluid_pipe_interaction.text_5": "UNLOCALIZED: Pipes can also extract fluids from a handful of other blocks directly",
"create.ponder.fluid_tank_sizes.header": "UNLOCALIZED: Dimensions of a Fluid tank",
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 7ed22318a..af9c043ad 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: 137",
+ "_": "Missing Localizations: 133",
"_": "->------------------------] Game Elements [------------------------<-",
@@ -52,7 +52,6 @@
"block.create.chiseled_scoria": "鏨製火成岩",
"block.create.chiseled_weathered_limestone": "鏨製風化石灰岩",
"block.create.chocolate": "巧克力",
- "block.create.chromatic_projector": "UNLOCALIZED: Chromatic Projector",
"block.create.chute": "滑道",
"block.create.clockwork_bearing": "時鐘軸承",
"block.create.clutch": "離合器",
@@ -1475,37 +1474,6 @@
"item.create.minecart_coupling.tooltip.condition1": "作用與礦車時",
"item.create.minecart_coupling.tooltip.behaviour1": "將兩個礦車耦合在一起,在移動時將它們保持_恒定的距離_。",
- "create.tooltip.wip": "半成品",
- "create.tooltip.workInProgress": "尚在製作中!",
- "create.tooltip.randomWipDescription0": "禁止將此物品給屁孩。",
- "create.tooltip.randomWipDescription1": "每~一~次~你使用此物品時,就會使一隻小熊貓死亡。",
- "create.tooltip.randomWipDescription2": "使用此物品請自負後果。",
- "create.tooltip.randomWipDescription3": "快走開,這不是你要找的東西(搖手指",
- "create.tooltip.randomWipDescription4": "啟動自爆模式,10、9、8...。",
- "create.tooltip.randomWipDescription5": "你已經沒有退路了。",
- "create.tooltip.randomWipDescription6": "作者我將不負任何你使用此物所造成的責任。",
- "create.tooltip.randomWipDescription7": "這東西不是給你用的,再找找吧!",
- "create.tooltip.randomWipDescription8": "用了就死定了。",
-
- "create.gui.chromatic_projector.title": "UNLOCALIZED: Chromatic Projector",
- "create.gui.chromatic_projector.filter.invert": "UNLOCALIZED: Invert",
- "create.gui.chromatic_projector.filter.sepia": "UNLOCALIZED: Sepia",
- "create.gui.chromatic_projector.filter.grayscale": "UNLOCALIZED: Grayscale",
- "create.gui.chromatic_projector.filter.saturate": "UNLOCALIZED: Saturate",
- "create.gui.chromatic_projector.filter.hue_shift": "UNLOCALIZED: Hue shift",
- "create.gui.chromatic_projector.filter.darken": "UNLOCALIZED: Darken",
- "create.gui.chromatic_projector.filter.contrast": "UNLOCALIZED: Contrast",
- "create.gui.chromatic_projector.filter.end": "UNLOCALIZED: End",
- "create.gui.chromatic_projector.filter": "UNLOCALIZED: Filter",
- "create.gui.chromatic_projector.surface": "UNLOCALIZED: Surface",
- "create.gui.chromatic_projector.field": "UNLOCALIZED: Field",
- "create.gui.chromatic_projector.strength": "UNLOCALIZED: Strength",
- "create.gui.chromatic_projector.radius": "UNLOCALIZED: Radius",
- "create.gui.chromatic_projector.feather": "UNLOCALIZED: Feather",
- "create.gui.chromatic_projector.density": "UNLOCALIZED: Density",
- "create.gui.chromatic_projector.fade": "UNLOCALIZED: Fade",
- "create.gui.chromatic_projector.blend": "UNLOCALIZED: Blend",
-
"_": "->------------------------] Ponder Content [------------------------<-",
@@ -1784,6 +1752,9 @@
"create.ponder.empty_blaze_burner.text_5": "但是,這樣的熱源不足以給機器提加工供足夠的熱量",
"create.ponder.encased_fluid_pipe.header": "UNLOCALIZED: Encasing Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_1": "UNLOCALIZED: Copper Casing can be used to decorate Fluid Pipes",
+ "create.ponder.encased_fluid_pipe.text_2": "UNLOCALIZED: Aside from being conceiled, Encased Pipes are locked into their connectivity state",
+ "create.ponder.encased_fluid_pipe.text_3": "UNLOCALIZED: It will no longer react to any neighbouring blocks being added or removed",
"create.ponder.fan_direction.header": "鼓風機的氣流",
"create.ponder.fan_direction.text_1": "鼓風機使用動能來製造氣流",
@@ -1804,8 +1775,20 @@
"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: Fluid Pipes can connect two or more fluid sources and targets",
+ "create.ponder.fluid_pipe_flow.text_2": "UNLOCALIZED: Using a wrench, a straight pipe segment can be given a window",
+ "create.ponder.fluid_pipe_flow.text_3": "UNLOCALIZED: Windowed pipes will not connect to any other adjacent pipe segments",
+ "create.ponder.fluid_pipe_flow.text_4": "UNLOCALIZED: Powered by Mechanical Pumps, the Pipes can transport Fluids",
+ "create.ponder.fluid_pipe_flow.text_5": "UNLOCALIZED: No fluid is being extracted at first",
+ "create.ponder.fluid_pipe_flow.text_6": "UNLOCALIZED: Once the flow connects them, the endpoints gradually transfer their contents",
+ "create.ponder.fluid_pipe_flow.text_7": "UNLOCALIZED: Thus, the Pipe blocks themselves never 'physically' contain any fluid",
"create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers",
+ "create.ponder.fluid_pipe_interaction.text_1": "UNLOCALIZED: Endpoints of a pipe network can interact with a variety of blocks",
+ "create.ponder.fluid_pipe_interaction.text_2": "UNLOCALIZED: Any block with fluid storage capabilities can be filled or drained",
+ "create.ponder.fluid_pipe_interaction.text_3": "UNLOCALIZED: Source blocks right in front of an open end can be picked up...",
+ "create.ponder.fluid_pipe_interaction.text_4": "UNLOCALIZED: ...while spilling into empty spaces can create fluid sources",
+ "create.ponder.fluid_pipe_interaction.text_5": "UNLOCALIZED: Pipes can also extract fluids from a handful of other blocks directly",
"create.ponder.fluid_tank_sizes.header": "UNLOCALIZED: Dimensions of a Fluid tank",
diff --git a/src/generated/resources/data/create/advancements/aesthetics.json b/src/generated/resources/data/create/advancements/aesthetics.json
index 59a86f429..d723cbe38 100644
--- a/src/generated/resources/data/create/advancements/aesthetics.json
+++ b/src/generated/resources/data/create/advancements/aesthetics.json
@@ -28,8 +28,8 @@
"trigger": "create:bracket_apply",
"conditions": {
"accepted_entries": [
- "create:large_cogwheel",
- "create:cogwheel"
+ "create:cogwheel",
+ "create:large_cogwheel"
]
}
},
diff --git a/src/generated/resources/data/create/recipes/pressing/path.json b/src/generated/resources/data/create/recipes/pressing/path.json
index b9a17c39f..7c98111e3 100644
--- a/src/generated/resources/data/create/recipes/pressing/path.json
+++ b/src/generated/resources/data/create/recipes/pressing/path.json
@@ -7,9 +7,6 @@
},
{
"item": "minecraft:dirt"
- },
- {
- "item": "minecraft:podzol"
}
]
],
diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerHandler.java b/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerHandler.java
index 081efd0ff..b15e827a9 100644
--- a/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerHandler.java
+++ b/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerHandler.java
@@ -5,9 +5,11 @@ import static net.minecraftforge.eventbus.api.Event.Result.DENY;
import java.util.ArrayList;
import java.util.List;
+import java.util.stream.Collectors;
import javax.annotation.Nullable;
+import com.simibubi.create.content.contraptions.components.structureMovement.AbstractContraptionEntity;
import com.simibubi.create.content.contraptions.components.structureMovement.mounted.CartAssemblerBlockItem;
import net.minecraft.block.DoublePlantBlock;
@@ -150,7 +152,9 @@ public class DeployerHandler {
// Check for entities
final ServerWorld world = player.getServerWorld();
- List entities = world.getEntitiesWithinAABB(Entity.class, new AxisAlignedBB(clickedPos));
+ List entities = world.getEntitiesWithinAABB(Entity.class, new AxisAlignedBB(clickedPos)).stream()
+ .filter(e -> !(e instanceof AbstractContraptionEntity))
+ .collect(Collectors.toList());
Hand hand = Hand.MAIN_HAND;
if (!entities.isEmpty()) {
Entity entity = entities.get(world.rand.nextInt(entities.size()));
diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerTileEntity.java
index 8dbe3e5fb..8235a25a7 100644
--- a/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerTileEntity.java
+++ b/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerTileEntity.java
@@ -327,12 +327,13 @@ public class DeployerTileEntity extends KineticTileEntity {
compound.putBoolean("Powered", redstoneLocked);
if (player != null) {
- compound.put("HeldItem", player.getHeldItemMainhand()
- .serializeNBT());
ListNBT invNBT = new ListNBT();
player.inventory.write(invNBT);
compound.put("Inventory", invNBT);
+ compound.put("HeldItem", player.getHeldItemMainhand().serializeNBT());
compound.put("Overflow", NBTHelper.writeItemList(overflowItems));
+ } else if (deferredInventoryList != null) {
+ compound.put("Inventory", deferredInventoryList);
}
super.write(compound, clientPacket);
diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTransportBehaviour.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTransportBehaviour.java
index 9cb460344..027db42d1 100644
--- a/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTransportBehaviour.java
+++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTransportBehaviour.java
@@ -60,8 +60,8 @@ public abstract class FluidTransportBehaviour extends TileEntityBehaviour {
super.tick();
World world = getWorld();
BlockPos pos = getPos();
- boolean onClient = world.isRemote;
-
+ boolean onServer = !world.isRemote || tileEntity.isVirtual();
+
if (interfaces == null)
return;
Collection connections = interfaces.values();
@@ -81,7 +81,7 @@ public abstract class FluidTransportBehaviour extends TileEntityBehaviour {
return;
}
- if (!onClient) {
+ if (onServer) {
boolean sendUpdate = false;
for (PipeConnection connection : connections) {
sendUpdate |= connection.flipFlowsIfPressureReversed();
@@ -96,7 +96,7 @@ public abstract class FluidTransportBehaviour extends TileEntityBehaviour {
return;
}
- if (!onClient) {
+ if (onServer) {
FluidStack availableFlow = FluidStack.EMPTY;
FluidStack collidingFlow = FluidStack.EMPTY;
@@ -131,7 +131,7 @@ public abstract class FluidTransportBehaviour extends TileEntityBehaviour {
sendUpdate |= connection.manageFlows(world, pos, internalFluid, extractionPredicate);
}
- if (sendUpdate)
+ if (sendUpdate)
tileEntity.notifyUpdate();
}
@@ -155,7 +155,7 @@ public abstract class FluidTransportBehaviour extends TileEntityBehaviour {
}
interfaces.values()
- .forEach(connection -> connection.deserializeNBT(nbt, clientPacket));
+ .forEach(connection -> connection.deserializeNBT(nbt, tileEntity.getPos(), clientPacket));
}
@Override
diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/OpenEndedPipe.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/OpenEndedPipe.java
index 7cc6874b3..affb969e3 100644
--- a/src/main/java/com/simibubi/create/content/contraptions/fluids/OpenEndedPipe.java
+++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/OpenEndedPipe.java
@@ -208,8 +208,9 @@ public class OpenEndedPipe extends FlowSource {
return compound;
}
- public static OpenEndedPipe fromNBT(CompoundNBT compound) {
- OpenEndedPipe oep = new OpenEndedPipe(BlockFace.fromNBT(compound.getCompound("Location")));
+ public static OpenEndedPipe fromNBT(CompoundNBT compound, BlockPos tilePos) {
+ BlockFace fromNBT = BlockFace.fromNBT(compound.getCompound("Location"));
+ OpenEndedPipe oep = new OpenEndedPipe(new BlockFace(tilePos, fromNBT.getFace()));
oep.fluidHandler.readFromNBT(compound);
oep.wasPulling = compound.getBoolean("Pulling");
return oep;
diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/PipeConnection.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/PipeConnection.java
index 5f3fc685b..072abea8c 100644
--- a/src/main/java/com/simibubi/create/content/contraptions/fluids/PipeConnection.java
+++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/PipeConnection.java
@@ -239,7 +239,7 @@ public class PipeConnection {
return source.orElse(null) instanceof OpenEndedPipe;
}
- public void deserializeNBT(CompoundNBT tag, boolean clientPacket) {
+ public void deserializeNBT(CompoundNBT tag, BlockPos tilePos, boolean clientPacket) {
CompoundNBT connectionData = tag.getCompound(side.getName2());
if (connectionData.contains("Pressure")) {
@@ -250,7 +250,7 @@ public class PipeConnection {
source = Optional.empty();
if (connectionData.contains("OpenEnd"))
- source = Optional.of(OpenEndedPipe.fromNBT(connectionData.getCompound("OpenEnd")));
+ source = Optional.of(OpenEndedPipe.fromNBT(connectionData.getCompound("OpenEnd"), tilePos));
if (connectionData.contains("Flow")) {
CompoundNBT flowData = connectionData.getCompound("Flow");
@@ -367,8 +367,9 @@ public class PipeConnection {
@OnlyIn(Dist.CLIENT)
private void spawnParticlesInner(World world, BlockPos pos, FluidStack fluid) {
- if (!isRenderEntityWithinDistance(pos))
- return;
+ if (world == Minecraft.getInstance().world)
+ if (!isRenderEntityWithinDistance(pos))
+ return;
if (hasOpenEnd())
spawnPouringLiquid(world, pos, fluid, 1);
else if (r.nextFloat() < IDLE_PARTICLE_SPAWN_CHANCE)
@@ -377,8 +378,9 @@ public class PipeConnection {
@OnlyIn(Dist.CLIENT)
private void spawnSplashOnRimInner(World world, BlockPos pos, FluidStack fluid) {
- if (!isRenderEntityWithinDistance(pos))
- return;
+ if (world == Minecraft.getInstance().world)
+ if (!isRenderEntityWithinDistance(pos))
+ return;
spawnRimParticles(world, pos, fluid, SPLASH_PARTICLE_AMOUNT);
}
diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/PumpTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/PumpTileEntity.java
index 1311e286d..3c05b3abf 100644
--- a/src/main/java/com/simibubi/create/content/contraptions/fluids/PumpTileEntity.java
+++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/PumpTileEntity.java
@@ -70,7 +70,8 @@ public class PumpTileEntity extends KineticTileEntity {
return;
arrowDirection.chase(speed >= 0 ? 1 : -1, .5f, Chaser.EXP);
arrowDirection.tickChaser();
- return;
+ if (!isVirtual())
+ return;
}
sidesToUpdate.forEachWithContext((update, isFront) -> {
@@ -96,7 +97,7 @@ public class PumpTileEntity extends KineticTileEntity {
return;
if (speed != 0)
reversed = speed < 0;
- if (world.isRemote)
+ if (world.isRemote && !isVirtual())
return;
BlockPos frontPos = pos.offset(getFront());
diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/tank/FluidTankTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/tank/FluidTankTileEntity.java
index 6b38d00f2..47c27575f 100644
--- a/src/main/java/com/simibubi/create/content/contraptions/fluids/tank/FluidTankTileEntity.java
+++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/tank/FluidTankTileEntity.java
@@ -105,6 +105,10 @@ public class FluidTankTileEntity extends SmartTileEntity implements IHaveGoggleI
if (fluidLevel != null)
fluidLevel.tick();
}
+
+ public BlockPos getLastKnownPos() {
+ return lastKnownPos;
+ }
public boolean isController() {
return controller == null
@@ -157,6 +161,12 @@ public class FluidTankTileEntity extends SmartTileEntity implements IHaveGoggleI
markDirty();
sendData();
}
+
+ if (isVirtual()) {
+ if (fluidLevel == null)
+ fluidLevel = new InterpolatedChasingValue().start(getFillState());
+ fluidLevel.target(getFillState());
+ }
}
protected void setLuminosity(int luminosity) {
@@ -268,7 +278,7 @@ public class FluidTankTileEntity extends SmartTileEntity implements IHaveGoggleI
}
public void setController(BlockPos controller) {
- if (world.isRemote)
+ if (world.isRemote && !isVirtual())
return;
if (controller.equals(this.controller))
return;
diff --git a/src/main/java/com/simibubi/create/content/contraptions/processing/BasinTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/processing/BasinTileEntity.java
index fffc0da27..6df4389e8 100644
--- a/src/main/java/com/simibubi/create/content/contraptions/processing/BasinTileEntity.java
+++ b/src/main/java/com/simibubi/create/content/contraptions/processing/BasinTileEntity.java
@@ -329,7 +329,7 @@ public class BasinTileEntity extends SmartTileEntity implements IHaveGoggleInfor
update = true;
continue;
}
-
+
if (targetInv == null) {
return;
}
@@ -338,7 +338,7 @@ public class BasinTileEntity extends SmartTileEntity implements IHaveGoggleInfor
continue;
if (filter != null && !filter.test(itemStack))
continue;
-
+
update = true;
ItemHandlerHelper.insertItemStacked(targetInv, itemStack.copy(), false);
iterator.remove();
@@ -426,7 +426,7 @@ public class BasinTileEntity extends SmartTileEntity implements IHaveGoggleInfor
IItemHandler targetInv = null;
IFluidHandler targetTank = null;
TileEntity te = null;
-
+
InvManipulationBehaviour inserter = null;
if (direction == Direction.DOWN) {
@@ -443,7 +443,7 @@ public class BasinTileEntity extends SmartTileEntity implements IHaveGoggleInfor
.offset(direction));
if (te == null)
return false;
-
+
inserter = TileEntityBehaviour.get(world, te.getPos(), InvManipulationBehaviour.TYPE);
targetInv = te.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, direction.getOpposite())
.orElse(inserter == null ? null : inserter.getInventory());
@@ -453,13 +453,13 @@ public class BasinTileEntity extends SmartTileEntity implements IHaveGoggleInfor
if (targetInv == null && !outputItems.isEmpty())
return false;
- FilteringBehaviour filter = TileEntityBehaviour.get(world, te.getPos(), FilteringBehaviour.TYPE);
+ FilteringBehaviour filter = world == null || te == null ? null : TileEntityBehaviour.get(world, te.getPos(), FilteringBehaviour.TYPE);
for (ItemStack itemStack : outputItems) {
// Catalyst items are never consumed
if (itemStack.hasContainerItem() && itemStack.getContainerItem()
.isItemEqual(itemStack))
continue;
-
+
if (simulate || direction == Direction.DOWN) {
if (!ItemHandlerHelper.insertItemStacked(targetInv, itemStack.copy(), simulate)
.isEmpty() || (filter != null && !filter.test(itemStack)))
diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltBlock.java b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltBlock.java
index fa974ea2b..c8a2f3ce2 100644
--- a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltBlock.java
+++ b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltBlock.java
@@ -4,6 +4,8 @@ import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
+import com.simibubi.create.content.contraptions.relays.belt.transport.BeltTunnelInteractionHandler;
+
import org.apache.commons.lang3.mutable.MutableBoolean;
import com.simibubi.create.AllBlocks;
@@ -198,6 +200,8 @@ public class BeltBlock extends HorizontalKineticBlock implements ITE {
ItemEntity itemEntity = (ItemEntity) entityIn;
IItemHandler handler = te.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY)
diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/transport/BeltTunnelInteractionHandler.java b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/transport/BeltTunnelInteractionHandler.java
index 91b31e8f5..6ff160496 100644
--- a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/transport/BeltTunnelInteractionHandler.java
+++ b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/transport/BeltTunnelInteractionHandler.java
@@ -43,8 +43,8 @@ public class BeltTunnelInteractionHandler {
World world = beltInventory.belt.getWorld();
boolean onServer = !world.isRemote || beltInventory.belt.isVirtual();
boolean removed = false;
- BeltTunnelTileEntity nextTunnel = getTunnelOnSegement(beltInventory, upcomingSegment);
-
+ BeltTunnelTileEntity nextTunnel = getTunnelOnSegment(beltInventory, upcomingSegment);
+
if (nextTunnel instanceof BrassTunnelTileEntity) {
BrassTunnelTileEntity brassTunnel = (BrassTunnelTileEntity) nextTunnel;
if (brassTunnel.hasDistributionBehaviour()) {
@@ -80,13 +80,13 @@ public class BeltTunnelInteractionHandler {
continue;
if (!behaviour.canInsertFromSide(d))
continue;
-
+
ItemStack toinsert = ItemHandlerHelper.copyStackWithSize(current.stack, 1);
if (!behaviour.handleInsertion(toinsert, d, false).isEmpty())
return true;
- if (onServer)
+ if (onServer)
flapTunnel(beltInventory, upcomingSegment, d, false);
-
+
current.stack.shrink(1);
beltInventory.belt.sendData();
if (current.stack.getCount() <= 1)
@@ -124,25 +124,25 @@ public class BeltTunnelInteractionHandler {
}
public static void flapTunnel(BeltInventory beltInventory, int offset, Direction side, boolean inward) {
- BeltTunnelTileEntity te = getTunnelOnSegement(beltInventory, offset);
+ BeltTunnelTileEntity te = getTunnelOnSegment(beltInventory, offset);
if (te == null)
return;
te.flap(side, inward);
}
- protected static BeltTunnelTileEntity getTunnelOnSegement(BeltInventory beltInventory, int offset) {
+ protected static BeltTunnelTileEntity getTunnelOnSegment(BeltInventory beltInventory, int offset) {
BeltTileEntity belt = beltInventory.belt;
if (belt.getBlockState()
.get(BeltBlock.SLOPE) != BeltSlope.HORIZONTAL)
return null;
- BlockPos pos = BeltHelper.getPositionForOffset(belt, offset)
- .up();
- if (!(belt.getWorld()
- .getBlockState(pos)
- .getBlock() instanceof BeltTunnelBlock))
+ return getTunnelOnPosition(belt.getWorld(), BeltHelper.getPositionForOffset(belt, offset));
+ }
+
+ public static BeltTunnelTileEntity getTunnelOnPosition(World world, BlockPos pos) {
+ pos = pos.up();
+ if (!(world.getBlockState(pos).getBlock() instanceof BeltTunnelBlock))
return null;
- TileEntity te = belt.getWorld()
- .getTileEntity(pos);
+ TileEntity te = world.getTileEntity(pos);
if (te == null || !(te instanceof BeltTunnelTileEntity))
return null;
return ((BeltTunnelTileEntity) te);
diff --git a/src/main/java/com/simibubi/create/foundation/data/recipe/PressingRecipeGen.java b/src/main/java/com/simibubi/create/foundation/data/recipe/PressingRecipeGen.java
index ca9740ab9..a42bd4893 100644
--- a/src/main/java/com/simibubi/create/foundation/data/recipe/PressingRecipeGen.java
+++ b/src/main/java/com/simibubi/create/foundation/data/recipe/PressingRecipeGen.java
@@ -14,7 +14,7 @@ public class PressingRecipeGen extends ProcessingRecipeGen {
SUGAR_CANE = create(() -> Items.SUGAR_CANE, b -> b.output(Items.PAPER)),
- PATH = create("path", b -> b.require(Ingredient.fromItems(Items.GRASS_BLOCK, Items.DIRT, Items.PODZOL))
+ PATH = create("path", b -> b.require(Ingredient.fromItems(Items.GRASS_BLOCK, Items.DIRT))
.output(Items.GRASS_PATH)),
IRON = create("iron_ingot", b -> b.require(I.iron())
diff --git a/src/main/java/com/simibubi/create/foundation/fluid/FluidRenderer.java b/src/main/java/com/simibubi/create/foundation/fluid/FluidRenderer.java
index 9785d19d8..9870a7fb7 100644
--- a/src/main/java/com/simibubi/create/foundation/fluid/FluidRenderer.java
+++ b/src/main/java/com/simibubi/create/foundation/fluid/FluidRenderer.java
@@ -6,6 +6,7 @@ import com.jozufozu.flywheel.event.RenderLayerEvent;
import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.matrix.MatrixStack.Entry;
import com.mojang.blaze3d.vertex.IVertexBuilder;
+import com.simibubi.create.foundation.renderState.SuperRenderTypeBuffer;
import com.simibubi.create.foundation.utility.AngleHelper;
import com.simibubi.create.foundation.utility.ColorHelper;
import com.simibubi.create.foundation.utility.Iterate;
@@ -59,16 +60,19 @@ public class FluidRenderer {
}
public static void renderFluidStream(FluidStack fluidStack, Direction direction, float radius, float progress,
- boolean inbound, IRenderTypeBuffer buffer, MatrixStack ms, int light) {
+ boolean inbound, IRenderTypeBuffer buffer, MatrixStack ms, int light) {
Fluid fluid = fluidStack.getFluid();
FluidAttributes fluidAttributes = fluid.getAttributes();
Function spriteAtlas = Minecraft.getInstance()
- .getSpriteAtlas(PlayerContainer.BLOCK_ATLAS_TEXTURE);
+ .getSpriteAtlas(PlayerContainer.BLOCK_ATLAS_TEXTURE);
TextureAtlasSprite flowTexture = spriteAtlas.apply(fluidAttributes.getFlowingTexture(fluidStack));
TextureAtlasSprite stillTexture = spriteAtlas.apply(fluidAttributes.getStillTexture(fluidStack));
int color = fluidAttributes.getColor(fluidStack);
IVertexBuilder builder = getBuilder();
+ if (buffer instanceof SuperRenderTypeBuffer)
+ builder = ((SuperRenderTypeBuffer) buffer).getLateBuffer(RenderType.getTranslucent());
+
MatrixStacker msr = MatrixStacker.of(ms);
int blockLightIn = (light >> 4) & 0xf;
int luminosity = Math.max(blockLightIn, fluidAttributes.getLuminosity(fluidStack));
@@ -79,9 +83,9 @@ public class FluidRenderer {
ms.push();
msr.centre()
- .rotateY(AngleHelper.horizontalAngle(direction))
- .rotateX(direction == Direction.UP ? 0 : direction == Direction.DOWN ? 180 : 90)
- .unCentre();
+ .rotateY(AngleHelper.horizontalAngle(direction))
+ .rotateX(direction == Direction.UP ? 0 : direction == Direction.DOWN ? 180 : 90)
+ .unCentre();
ms.translate(.5, 0, .5);
float h = (float) (radius);
@@ -94,29 +98,31 @@ public class FluidRenderer {
for (int i = 0; i < 4; i++) {
ms.push();
renderTiledHorizontalFace(h, Direction.SOUTH, hMin, yMin, hMax, yMax, builder, ms, light, color,
- flowTexture);
+ flowTexture);
ms.pop();
msr.rotateY(90);
}
if (progress != 1)
renderTiledVerticalFace(yMax, Direction.UP, hMin, hMin, hMax, hMax, builder, ms, light, color,
- stillTexture);
+ stillTexture);
ms.pop();
}
public static void renderTiledFluidBB(FluidStack fluidStack, float xMin, float yMin, float zMin, float xMax,
- float yMax, float zMax, IRenderTypeBuffer buffer, MatrixStack ms, int light, boolean renderBottom) {
+ float yMax, float zMax, IRenderTypeBuffer buffer, MatrixStack ms, int light, boolean renderBottom) {
Fluid fluid = fluidStack.getFluid();
FluidAttributes fluidAttributes = fluid.getAttributes();
TextureAtlasSprite fluidTexture = Minecraft.getInstance()
- .getSpriteAtlas(PlayerContainer.BLOCK_ATLAS_TEXTURE)
- .apply(fluidAttributes.getStillTexture(fluidStack));
+ .getSpriteAtlas(PlayerContainer.BLOCK_ATLAS_TEXTURE)
+ .apply(fluidAttributes.getStillTexture(fluidStack));
int color = fluidAttributes.getColor(fluidStack);
IVertexBuilder builder = getBuilder();
+ if (buffer instanceof SuperRenderTypeBuffer)
+ builder = ((SuperRenderTypeBuffer) buffer).getLateBuffer(RenderType.getTranslucent());
MatrixStacker msr = MatrixStacker.of(ms);
Vector3d center = new Vector3d(xMin + (xMax - xMin) / 2, yMin + (yMax - yMin) / 2, zMin + (zMax - zMin) / 2);
@@ -126,37 +132,37 @@ public class FluidRenderer {
ms.push();
if (fluidStack.getFluid()
- .getAttributes()
- .isLighterThanAir())
+ .getAttributes()
+ .isLighterThanAir())
MatrixStacker.of(ms)
- .translate(center)
- .rotateX(180)
- .translateBack(center);
+ .translate(center)
+ .rotateX(180)
+ .translateBack(center);
for (Direction side : Iterate.directions) {
if (side == Direction.DOWN && !renderBottom)
continue;
if (side.getAxis()
- .isHorizontal()) {
+ .isHorizontal()) {
ms.push();
if (side.getAxisDirection() == AxisDirection.NEGATIVE)
msr.translate(center)
- .rotateY(180)
- .translateBack(center);
+ .rotateY(180)
+ .translateBack(center);
boolean X = side.getAxis() == Axis.X;
int darkColor = ColorHelper.mixColors(color, 0xff000011, 1 / 4f);
- renderTiledHorizontalFace(X ? xMax : zMax, side, X ? zMin : xMin, yMin, X ? zMax : xMax, yMax, _builder,
- ms, light, darkColor, fluidTexture);
+ renderTiledHorizontalFace(X ? xMax : zMax, side, X ? zMin : xMin, yMin, X ? zMax : xMax, yMax, builder,
+ ms, light, darkColor, fluidTexture);
ms.pop();
continue;
}
- renderTiledVerticalFace(side == Direction.UP ? yMax : yMin, side, xMin, zMin, xMax, zMax, _builder, ms,
- light, color, fluidTexture);
+ renderTiledVerticalFace(side == Direction.UP ? yMax : yMin, side, xMin, zMin, xMax, zMax, builder, ms,
+ light, color, fluidTexture);
}
ms.pop();
@@ -164,7 +170,7 @@ public class FluidRenderer {
}
private static void renderTiledVerticalFace(float y, Direction face, float xMin, float zMin, float xMax, float zMax,
- IVertexBuilder builder, MatrixStack ms, int light, int color, TextureAtlasSprite texture) {
+ IVertexBuilder builder, MatrixStack ms, int light, int color, TextureAtlasSprite texture) {
float x2 = 0;
float z2 = 0;
for (float x1 = xMin; x1 < xMax; x1 = x2) {
@@ -186,7 +192,7 @@ public class FluidRenderer {
}
private static void renderTiledHorizontalFace(float h, Direction face, float hMin, float yMin, float hMax,
- float yMax, IVertexBuilder builder, MatrixStack ms, int light, int color, TextureAtlasSprite texture) {
+ float yMax, IVertexBuilder builder, MatrixStack ms, int light, int color, TextureAtlasSprite texture) {
boolean X = face.getAxis() == Axis.X;
float h2 = 0;
@@ -223,7 +229,7 @@ public class FluidRenderer {
}
private static void putVertex(IVertexBuilder builder, MatrixStack ms, float x, float y, float z, int color, float u,
- float v, Direction face, int light) {
+ float v, Direction face, int light) {
Vector3i n = face.getDirectionVec();
Entry peek = ms.peek();
@@ -234,11 +240,11 @@ public class FluidRenderer {
int b = color & ff;
builder.vertex(peek.getModel(), x, y, z)
- .color(r, g, b, a)
- .texture(u, v)
- .light(light)
- .normal(n.getX(), n.getY(), n.getZ())
- .endVertex();
+ .color(r, g, b, a)
+ .texture(u, v)
+ .light(light)
+ .normal(n.getX(), n.getY(), n.getZ())
+ .endVertex();
}
}
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 7635ab03a..83a8d7f46 100644
--- a/src/main/java/com/simibubi/create/foundation/ponder/PonderWorld.java
+++ b/src/main/java/com/simibubi/create/foundation/ponder/PonderWorld.java
@@ -9,6 +9,7 @@ import java.util.Map;
import javax.annotation.Nullable;
import com.mojang.blaze3d.matrix.MatrixStack;
+import com.simibubi.create.content.contraptions.fluids.tank.FluidTankTileEntity;
import com.simibubi.create.content.contraptions.relays.belt.BeltBlock;
import com.simibubi.create.content.contraptions.relays.belt.BeltTileEntity;
import com.simibubi.create.content.schematics.SchematicWorld;
@@ -104,15 +105,26 @@ public class PonderWorld extends SchematicWorld {
originalEntities.forEach(e -> EntityType.loadEntityUnchecked(e.serializeNBT(), this)
.ifPresent(entities::add));
particles.clearEffects();
- fixBeltTileEntities();
+ fixControllerTileEntities();
}
public void restoreBlocks(Selection selection) {
selection.forEach(p -> {
if (originalBlocks.containsKey(p))
blocks.put(p, originalBlocks.get(p));
+ if (originalTileEntities.containsKey(p)) {
+ TileEntity te = TileEntity.createFromTag(originalBlocks.get(p), originalTileEntities.get(p)
+ .write(new CompoundNBT()));
+ onTEadded(te, te.getPos());
+ tileEntities.put(p, te);
+ }
});
- scene.forEach(WorldSectionElement.class, WorldSectionElement::queueRedraw);
+ redraw();
+ }
+
+ private void redraw() {
+ if (scene != null)
+ scene.forEach(WorldSectionElement.class, WorldSectionElement::queueRedraw);
}
public void pushFakeLight(int light) {
@@ -226,6 +238,11 @@ public class PonderWorld extends SchematicWorld {
: iparticlefactory.makeParticle(data, asClientWorld.getValue(), x, y, z, mx, my, mz);
}
+ @Override
+ public boolean setBlockState(BlockPos pos, BlockState arg1, int arg2) {
+ return super.setBlockState(pos, arg1, arg2);
+ }
+
public void addParticle(Particle p) {
if (p != null)
particles.addParticle(p);
@@ -240,20 +257,34 @@ public class PonderWorld extends SchematicWorld {
smartTileEntity.markVirtual();
}
- public void fixBeltTileEntities() {
+ public void fixControllerTileEntities() {
for (TileEntity tileEntity : tileEntities.values()) {
- if (!(tileEntity instanceof BeltTileEntity))
- continue;
- BeltTileEntity beltTileEntity = (BeltTileEntity) tileEntity;
- if (!beltTileEntity.isController())
- continue;
- BlockPos controllerPos = tileEntity.getPos();
- for (BlockPos blockPos : BeltBlock.getBeltChain(this, controllerPos)) {
- TileEntity tileEntity2 = getTileEntity(blockPos);
- if (!(tileEntity2 instanceof BeltTileEntity))
+ if (tileEntity instanceof BeltTileEntity) {
+ BeltTileEntity beltTileEntity = (BeltTileEntity) tileEntity;
+ if (!beltTileEntity.isController())
continue;
- BeltTileEntity belt2 = (BeltTileEntity) tileEntity2;
- belt2.setController(controllerPos);
+ BlockPos controllerPos = tileEntity.getPos();
+ for (BlockPos blockPos : BeltBlock.getBeltChain(this, controllerPos)) {
+ TileEntity tileEntity2 = getTileEntity(blockPos);
+ if (!(tileEntity2 instanceof BeltTileEntity))
+ continue;
+ BeltTileEntity belt2 = (BeltTileEntity) tileEntity2;
+ belt2.setController(controllerPos);
+ }
+ }
+ if (tileEntity instanceof FluidTankTileEntity) {
+ FluidTankTileEntity fluidTankTileEntity = (FluidTankTileEntity) tileEntity;
+ BlockPos lastKnown = fluidTankTileEntity.getLastKnownPos();
+ BlockPos current = fluidTankTileEntity.getPos();
+ if (lastKnown == null || current == null)
+ continue;
+ if (fluidTankTileEntity.isController())
+ continue;
+ if (!lastKnown.equals(current)) {
+ BlockPos newControllerPos = fluidTankTileEntity.getController()
+ .add(current.subtract(lastKnown));
+ fluidTankTileEntity.setController(newControllerPos);
+ }
}
}
}
@@ -302,7 +333,7 @@ public class PonderWorld extends SchematicWorld {
protected BlockState processBlockStateForPrinting(BlockState state) {
return state;
}
-
+
@Override
public boolean isBlockLoaded(BlockPos pos) {
return true; // fix particle lighting
diff --git a/src/main/java/com/simibubi/create/foundation/ponder/SceneBuilder.java b/src/main/java/com/simibubi/create/foundation/ponder/SceneBuilder.java
index 2767b1b02..eaf8c3532 100644
--- a/src/main/java/com/simibubi/create/foundation/ponder/SceneBuilder.java
+++ b/src/main/java/com/simibubi/create/foundation/ponder/SceneBuilder.java
@@ -14,6 +14,8 @@ import com.simibubi.create.content.contraptions.components.crafter.ConnectedInpu
import com.simibubi.create.content.contraptions.components.crafter.MechanicalCrafterTileEntity;
import com.simibubi.create.content.contraptions.components.structureMovement.glue.SuperGlueEntity;
import com.simibubi.create.content.contraptions.components.structureMovement.glue.SuperGlueItem;
+import com.simibubi.create.content.contraptions.fluids.FluidPropagator;
+import com.simibubi.create.content.contraptions.fluids.PumpTileEntity;
import com.simibubi.create.content.contraptions.particle.RotationIndicatorParticleData;
import com.simibubi.create.content.contraptions.relays.belt.BeltTileEntity;
import com.simibubi.create.content.contraptions.relays.gauge.SpeedGaugeTileEntity;
@@ -739,6 +741,10 @@ public class SceneBuilder {
});
}
+ public void propagatePipeChange(BlockPos pos) {
+ modifyTileEntity(pos, PumpTileEntity.class, te -> te.onSpeedChanged(0));
+ }
+
public void setFilterData(Selection selection, Class extends TileEntity> teType, ItemStack filter) {
modifyTileNBT(selection, teType, nbt -> {
nbt.put("Filter", filter.serializeNBT());
diff --git a/src/main/java/com/simibubi/create/foundation/ponder/content/DebugScenes.java b/src/main/java/com/simibubi/create/foundation/ponder/content/DebugScenes.java
index 30199ef5c..5261f9437 100644
--- a/src/main/java/com/simibubi/create/foundation/ponder/content/DebugScenes.java
+++ b/src/main/java/com/simibubi/create/foundation/ponder/content/DebugScenes.java
@@ -45,6 +45,7 @@ public class DebugScenes {
add(DebugScenes::birbScene);
add(DebugScenes::sectionsScene);
add(DebugScenes::itemScene);
+ add(DebugScenes::pipeScene);
}
private static void add(PonderStoryBoard sb) {
@@ -433,5 +434,17 @@ public class DebugScenes {
scene.world.modifyEntities(ItemEntity.class, Entity::remove);
}
+
+ public static void pipeScene(SceneBuilder scene, SceneBuildingUtil util) {
+ scene.title("debug_pipes", "Manipulating Items");
+ scene.configureBasePlate(0, 0, 5);
+ scene.world.showSection(util.select.layer(0), Direction.UP);
+ scene.idle(10);
+ scene.world.showSection(util.select.layersFrom(1), Direction.DOWN);
+
+
+
+
+ }
}
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 119e45b59..f8e914b0e 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
@@ -242,11 +242,11 @@ public class PonderIndex {
// Fluids
PonderRegistry.forComponents(AllBlocks.FLUID_PIPE)
- .addStoryBoard("debug/scene_1", PipeScenes::flow, PonderTag.FLUIDS)
- .addStoryBoard("debug/scene_1", PipeScenes::interaction)
- .addStoryBoard("debug/scene_1", PipeScenes::encasing);
+ .addStoryBoard("fluid_pipe/flow", PipeScenes::flow, PonderTag.FLUIDS)
+ .addStoryBoard("fluid_pipe/interaction", PipeScenes::interaction)
+ .addStoryBoard("fluid_pipe/encasing", PipeScenes::encasing);
PonderRegistry.forComponents(AllBlocks.COPPER_CASING)
- .addStoryBoard("debug/scene_1", PipeScenes::encasing);
+ .addStoryBoard("fluid_pipe/encasing", PipeScenes::encasing);
PonderRegistry.forComponents(AllBlocks.MECHANICAL_PUMP)
.addStoryBoard("debug/scene_1", PumpScenes::flow, PonderTag.FLUIDS, PonderTag.KINETIC_APPLIANCES)
.addStoryBoard("debug/scene_1", PumpScenes::speed);
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 f7c309f79..1cf206d1a 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
@@ -1,76 +1,364 @@
package com.simibubi.create.foundation.ponder.content.fluid;
+import com.simibubi.create.AllBlocks;
+import com.simibubi.create.content.contraptions.fluids.PumpBlock;
+import com.simibubi.create.content.contraptions.fluids.actors.ItemDrainTileEntity;
+import com.simibubi.create.content.contraptions.fluids.pipes.AxisPipeBlock;
+import com.simibubi.create.content.contraptions.fluids.pipes.FluidPipeBlock;
+import com.simibubi.create.content.contraptions.fluids.tank.FluidTankTileEntity;
+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.content.PonderPalette;
+import com.simibubi.create.foundation.ponder.elements.InputWindowElement;
+import com.simibubi.create.foundation.ponder.elements.WorldSectionElement;
+import com.simibubi.create.foundation.tileEntity.behaviour.fluid.SmartFluidTankBehaviour;
+import com.simibubi.create.foundation.utility.Pointing;
+import net.minecraft.block.BeehiveBlock;
+import net.minecraft.block.BlockState;
+import net.minecraft.block.Blocks;
+import net.minecraft.fluid.Fluids;
+import net.minecraft.item.ItemStack;
+import net.minecraft.state.BooleanProperty;
import net.minecraft.util.Direction;
+import net.minecraft.util.Direction.Axis;
+import net.minecraft.util.math.AxisAlignedBB;
+import net.minecraft.util.math.BlockPos;
+import net.minecraft.util.math.vector.Vector3d;
+import net.minecraftforge.fluids.FluidStack;
+import net.minecraftforge.fluids.capability.IFluidHandler.FluidAction;
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.showBasePlate();
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));
+ BlockState pipeState = AllBlocks.FLUID_PIPE.getDefaultState()
+ .with(FluidPipeBlock.UP, false)
+ .with(FluidPipeBlock.DOWN, false);
- /*
- * 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
- */
+ scene.world.setBlock(util.grid.at(2, 1, 1), pipeState.with(FluidPipeBlock.NORTH, false)
+ .with(FluidPipeBlock.SOUTH, false), false);
+ scene.world.setBlock(util.grid.at(1, 1, 2), pipeState.with(FluidPipeBlock.WEST, false)
+ .with(FluidPipeBlock.EAST, false), false);
+
+ Selection largeCog = util.select.position(5, 0, 1);
+ Selection kinetics = util.select.fromTo(5, 1, 0, 3, 1, 0);
+ Selection tank = util.select.fromTo(4, 1, 2, 4, 2, 2);
+ Selection tank2 = util.select.fromTo(0, 1, 3, 0, 2, 3);
+
+ Selection strayPipes = util.select.fromTo(2, 1, 2, 2, 2, 2)
+ .add(util.select.fromTo(1, 2, 2, 1, 3, 2));
+
+ scene.world.showSection(tank, Direction.DOWN);
+ scene.idle(5);
+ scene.world.showSection(tank2, Direction.DOWN);
+ FluidStack content = new FluidStack(Fluids.LAVA, 10000);
+ scene.world.modifyTileEntity(util.grid.at(4, 1, 2), FluidTankTileEntity.class, te -> te.getTankInventory()
+ .fill(content, FluidAction.EXECUTE));
+ scene.idle(10);
+
+ for (int i = 4; i >= 1; i--) {
+ scene.world.showSection(util.select.position(i, 1, 1), i == 4 ? Direction.SOUTH : Direction.EAST);
+ scene.idle(3);
+ }
+
+ scene.overlay.showText(60)
+ .text("Fluid Pipes can connect two or more fluid sources and targets")
+ .attachKeyFrame()
+ .placeNearTarget()
+ .pointAt(util.vector.topOf(1, 1, 1));
+
+ for (int i = 2; i <= 3; i++) {
+ scene.world.showSection(util.select.position(1, 1, i), Direction.NORTH);
+ scene.idle(3);
+ }
+
+ scene.idle(60);
+
+ scene.overlay.showControls(new InputWindowElement(util.vector.centerOf(2, 1, 1), Pointing.DOWN).rightClick()
+ .withWrench(), 40);
+ scene.idle(7);
+ scene.world.restoreBlocks(util.select.position(2, 1, 1));
+ scene.overlay.showText(70)
+ .attachKeyFrame()
+ .pointAt(util.vector.centerOf(2, 1, 1))
+ .placeNearTarget()
+ .text("Using a wrench, a straight pipe segment can be given a window");
+ scene.idle(40);
+
+ scene.overlay.showControls(new InputWindowElement(util.vector.centerOf(1, 1, 2), Pointing.DOWN).rightClick()
+ .withWrench(), 10);
+ scene.idle(7);
+ scene.world.restoreBlocks(util.select.position(1, 1, 2));
+ scene.idle(40);
+
+ Vector3d center = util.vector.centerOf(2, 1, 2);
+ AxisAlignedBB bb = new AxisAlignedBB(center, center).grow(1 / 6f);
+ AxisAlignedBB bb1 = bb.offset(-0.5, 0, 0);
+ AxisAlignedBB bb2 = bb.offset(0, 0, -0.5);
+
+ scene.world.showSection(strayPipes, Direction.DOWN);
+ scene.idle(10);
+ scene.overlay.chaseBoundingBoxOutline(PonderPalette.RED, bb1, bb, 1);
+ scene.overlay.chaseBoundingBoxOutline(PonderPalette.RED, bb2, bb, 1);
+ scene.idle(1);
+ scene.overlay.chaseBoundingBoxOutline(PonderPalette.RED, bb1, bb1, 50);
+ scene.overlay.chaseBoundingBoxOutline(PonderPalette.RED, bb2, bb2, 50);
+ scene.idle(10);
+ scene.overlay.showText(55)
+ .attachKeyFrame()
+ .pointAt(util.vector.centerOf(2, 1, 2))
+ .placeNearTarget()
+ .colored(PonderPalette.RED)
+ .text("Windowed pipes will not connect to any other adjacent pipe segments");
+ scene.idle(60);
+ scene.world.hideSection(strayPipes, Direction.UP);
+ scene.idle(10);
+
+ BlockPos pumpPos = util.grid.at(3, 1, 1);
+ scene.world.setBlock(pumpPos, AllBlocks.MECHANICAL_PUMP.getDefaultState()
+ .with(PumpBlock.FACING, Direction.WEST), true);
+ scene.idle(10);
+ scene.world.showSection(largeCog, Direction.UP);
+ scene.world.showSection(kinetics, Direction.SOUTH);
+ scene.idle(10);
+ scene.world.setKineticSpeed(util.select.position(pumpPos), 32);
+ scene.world.propagatePipeChange(pumpPos);
+
+ scene.overlay.showText(70)
+ .attachKeyFrame()
+ .pointAt(util.vector.topOf(pumpPos))
+ .placeNearTarget()
+ .text("Powered by Mechanical Pumps, the Pipes can transport Fluids");
+ scene.idle(85);
+ scene.overlay.showSelectionWithText(tank, 40)
+ .colored(PonderPalette.RED)
+ .placeNearTarget()
+ .text("No fluid is being extracted at first");
+ scene.idle(90);
+
+ scene.overlay.showOutline(PonderPalette.GREEN, new Object(), tank, 100);
+ scene.idle(5);
+ scene.overlay.showOutline(PonderPalette.GREEN, new Object(), tank2, 100);
+ scene.idle(5);
+ scene.overlay.showText(100)
+ .attachKeyFrame()
+ .independent()
+ .text("Once the flow connects them, the endpoints gradually transfer their contents");
+ scene.overlay.showLine(PonderPalette.GREEN, util.vector.blockSurface(util.grid.at(4, 2, 2), Direction.WEST),
+ util.vector.blockSurface(util.grid.at(0, 2, 3), Direction.EAST), 80);
+
+ scene.world.multiplyKineticSpeed(util.select.everywhere(), 2);
+ scene.world.propagatePipeChange(pumpPos);
+ scene.effects.rotationSpeedIndicator(pumpPos);
+
+ scene.idle(120);
+
+ scene.overlay.showText(60)
+ .text("Thus, the Pipe blocks themselves never 'physically' contain any fluid")
+ .placeNearTarget()
+ .pointAt(util.vector.topOf(1, 1, 1));
+ scene.idle(50);
}
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.configureBasePlate(0, 1, 5);
+ scene.showBasePlate();
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
- */
+
+ BlockPos pumpPos = util.grid.at(2, 1, 4);
+ Selection largeCog = util.select.position(5, 0, 4);
+ Selection kinetics = util.select.fromTo(5, 1, 5, 2, 1, 5);
+ Selection pipes = util.select.fromTo(1, 1, 4, 3, 1, 3)
+ .add(util.select.position(3, 1, 2));
+ Selection tank = util.select.fromTo(4, 1, 3, 4, 2, 3);
+ Selection drain = util.select.position(1, 1, 2);
+ Selection basin = util.select.position(3, 1, 1);
+
+ Selection waterSourceS = util.select.position(1, 1, 1);
+ Selection waterTargetS = util.select.position(4, 1, 1);
+ Selection waterTarget2S = util.select.fromTo(4, 0, 0, 4, 1, 0);
+
+ scene.world.setKineticSpeed(util.select.position(pumpPos), 0);
+
+ scene.world.showSection(pipes, Direction.DOWN);
+ scene.idle(10);
+ scene.world.showSection(basin, Direction.SOUTH);
+ scene.idle(5);
+ scene.world.showSection(drain, Direction.SOUTH);
+ scene.idle(5);
+ scene.world.showSection(tank, Direction.WEST);
+
+ scene.overlay.showText(60)
+ .text("Endpoints of a pipe network can interact with a variety of blocks")
+ .attachKeyFrame()
+ .placeNearTarget()
+ .pointAt(util.vector.blockSurface(util.grid.at(1, 1, 3), Direction.NORTH));
+ scene.idle(60);
+ scene.world.showSection(largeCog, Direction.UP);
+ scene.idle(5);
+ scene.world.showSection(kinetics, Direction.NORTH);
+ scene.idle(10);
+ scene.world.setKineticSpeed(util.select.position(pumpPos), 64);
+ BlockPos drainPos = util.grid.at(1, 1, 2);
+ scene.world.modifyTileEntity(drainPos, ItemDrainTileEntity.class,
+ te -> te.getBehaviour(SmartFluidTankBehaviour.TYPE)
+ .allowInsertion()
+ .getPrimaryHandler()
+ .fill(new FluidStack(Fluids.WATER, 1500), FluidAction.EXECUTE));
+
+ scene.idle(50);
+ scene.overlay.showOutline(PonderPalette.MEDIUM, new Object(), drain, 40);
+ scene.idle(5);
+ scene.overlay.showOutline(PonderPalette.MEDIUM, new Object(), tank, 40);
+ scene.idle(5);
+ scene.overlay.showOutline(PonderPalette.MEDIUM, new Object(), basin, 40);
+ scene.idle(5);
+
+ scene.overlay.showText(60)
+ .text("Any block with fluid storage capabilities can be filled or drained")
+ .attachKeyFrame()
+ .colored(PonderPalette.MEDIUM)
+ .placeNearTarget()
+ .pointAt(util.vector.blockSurface(drainPos, Direction.UP));
+ scene.idle(100);
+
+ scene.world.hideSection(drain, Direction.NORTH);
+ scene.idle(5);
+ scene.world.hideSection(tank, Direction.EAST);
+ scene.idle(5);
+ scene.world.setBlock(drainPos, Blocks.AIR.getDefaultState(), false);
+ scene.world.propagatePipeChange(pumpPos);
+ scene.world.hideSection(basin, Direction.NORTH);
+ scene.idle(5);
+ scene.world.setBlock(util.grid.at(3, 1, 1), Blocks.AIR.getDefaultState(), false);
+ scene.idle(5);
+ scene.world.setBlock(util.grid.at(3, 1, 3), AllBlocks.GLASS_FLUID_PIPE.getDefaultState()
+ .with(AxisPipeBlock.AXIS, Axis.Z), false);
+ scene.idle(10);
+ scene.world.multiplyKineticSpeed(util.select.everywhere(), 2);
+ scene.world.propagatePipeChange(pumpPos);
+ ElementLink water = scene.world.showIndependentSection(waterSourceS, Direction.DOWN);
+ scene.world.moveSection(water, util.vector.of(0, 0, 1), 0);
+ scene.idle(10);
+ scene.world.setBlock(drainPos, Blocks.WATER.getDefaultState(), false);
+ scene.idle(20);
+
+ scene.overlay.showText(60)
+ .text("Source blocks right in front of an open end can be picked up...")
+ .attachKeyFrame()
+ .placeNearTarget()
+ .pointAt(util.vector.blockSurface(drainPos, Direction.SOUTH));
+
+ scene.idle(40);
+ scene.world.setBlock(drainPos.north(), Blocks.AIR.getDefaultState(), false);
+ scene.idle(40);
+ ElementLink target = scene.world.showIndependentSection(waterTargetS, Direction.UP);
+ scene.world.moveSection(target, util.vector.of(-1, 0, 0), 0);
+ scene.idle(5);
+ scene.world.showSectionAndMerge(waterTarget2S, Direction.UP, target);
+
+ scene.overlay.showText(60)
+ .text("...while spilling into empty spaces can create fluid sources")
+ .attachKeyFrame()
+ .placeNearTarget()
+ .pointAt(util.vector.blockSurface(util.grid.at(3, 1, 2), Direction.NORTH));
+
+ scene.idle(80);
+ scene.world.hideIndependentSection(target, Direction.DOWN);
+ scene.idle(5);
+ scene.world.setBlock(drainPos, Blocks.BEE_NEST.getDefaultState()
+ .with(BeehiveBlock.HONEY_LEVEL, 5), false);
+ scene.world.showSection(drain, Direction.DOWN);
+ scene.world.setBlock(util.grid.at(3, 1, 2), AllBlocks.FLUID_TANK.getDefaultState(), false);
+ scene.world.propagatePipeChange(pumpPos);
+ scene.idle(15);
+
+ scene.overlay.showText(60)
+ .text("Pipes can also extract fluids from a handful of other blocks directly")
+ .attachKeyFrame()
+ .placeNearTarget()
+ .pointAt(util.vector.topOf(drainPos));
+
+ scene.idle(60);
+ scene.world.setBlock(drainPos, Blocks.BEE_NEST.getDefaultState()
+ .with(BeehiveBlock.HONEY_LEVEL, 0), false);
}
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.showBasePlate();
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
- */
+ scene.world.showSection(util.select.position(2, 0, 5), Direction.UP);
+ scene.idle(5);
+ scene.world.showSection(util.select.layer(1), Direction.DOWN);
+ scene.idle(15);
+
+ BlockState copperEncased = AllBlocks.ENCASED_FLUID_PIPE.getDefaultState()
+ .with(FluidPipeBlock.SOUTH, true)
+ .with(FluidPipeBlock.WEST, true);
+ ItemStack casingItem = AllBlocks.COPPER_CASING.asStack();
+
+ scene.overlay.showControls(new InputWindowElement(util.vector.topOf(3, 1, 1), Pointing.DOWN).rightClick()
+ .withItem(casingItem), 60);
+ scene.idle(7);
+ scene.world.setBlock(util.grid.at(3, 1, 1), copperEncased, true);
+ scene.idle(10);
+
+ scene.overlay.showText(60)
+ .placeNearTarget()
+ .text("Copper Casing can be used to decorate Fluid Pipes")
+ .attachKeyFrame()
+ .pointAt(util.vector.topOf(3, 1, 1));
+
+ scene.idle(70);
+ scene.world.destroyBlock(util.grid.at(2, 1, 1));
+ scene.world.modifyBlock(util.grid.at(1, 1, 1), s -> s.with(FluidPipeBlock.EAST, false)
+ .with(FluidPipeBlock.NORTH, true), false);
+ scene.idle(5);
+
+ scene.overlay.showLine(PonderPalette.RED, util.vector.of(1.5, 1.75, 1), util.vector.of(1.5, 1.75, 2), 80);
+ scene.idle(5);
+ scene.addKeyframe();
+ scene.overlay.showLine(PonderPalette.GREEN, util.vector.of(3.5, 2, 1.5), util.vector.of(3.5, 2, 2), 80);
+ scene.overlay.showLine(PonderPalette.GREEN, util.vector.of(3, 2, 1.5), util.vector.of(3.5, 2, 1.5), 80);
+
+ scene.idle(25);
+ scene.overlay.showText(60)
+ .placeNearTarget()
+ .text("Aside from being conceiled, Encased Pipes are locked into their connectivity state")
+ .pointAt(util.vector.blockSurface(util.grid.at(3, 1, 1), Direction.WEST));
+
+ scene.idle(70);
+ BlockState defaultState = AllBlocks.FLUID_PIPE.getDefaultState();
+ for (BooleanProperty booleanProperty : FluidPipeBlock.FACING_TO_PROPERTY_MAP.values())
+ defaultState = defaultState.with(booleanProperty, false);
+
+ scene.world.setBlock(util.grid.at(3, 2, 1), defaultState.with(FluidPipeBlock.EAST, true)
+ .with(FluidPipeBlock.WEST, true), false);
+ scene.world.setBlock(util.grid.at(1, 2, 1), defaultState.with(FluidPipeBlock.UP, true)
+ .with(FluidPipeBlock.DOWN, true), false);
+ scene.world.showSection(util.select.layer(2), Direction.DOWN);
+ scene.idle(10);
+ scene.world.modifyBlock(util.grid.at(1, 1, 1), s -> s.with(FluidPipeBlock.UP, true)
+ .with(FluidPipeBlock.NORTH, false), false);
+ scene.idle(20);
+
+ scene.overlay.showText(60)
+ .placeNearTarget()
+ .colored(PonderPalette.RED)
+ .text("It will no longer react to any neighbouring blocks being added or removed")
+ .attachKeyFrame()
+ .pointAt(util.vector.centerOf(3, 2, 1));
+ scene.idle(20);
}
public static void valve(SceneBuilder scene, SceneBuildingUtil util) {
@@ -79,11 +367,12 @@ 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
+ * 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
*/
@@ -95,17 +384,21 @@ 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
+ * 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
+ * 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
+ * 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
+ * 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/elements/WorldSectionElement.java b/src/main/java/com/simibubi/create/foundation/ponder/elements/WorldSectionElement.java
index 6f9f6941d..9646753ee 100644
--- a/src/main/java/com/simibubi/create/foundation/ponder/elements/WorldSectionElement.java
+++ b/src/main/java/com/simibubi/create/foundation/ponder/elements/WorldSectionElement.java
@@ -60,6 +60,7 @@ public class WorldSectionElement extends AnimatedSceneElement {
public static final Compartment> DOC_WORLD_SECTION = new Compartment<>();
List renderedTileEntities;
+ List tickableTileEntities;
Selection section;
boolean redraw;
@@ -256,7 +257,9 @@ public class WorldSectionElement extends AnimatedSceneElement {
loadTEsIfMissing(scene.getWorld());
renderedTileEntities.removeIf(te -> scene.getWorld()
.getTileEntity(te.getPos()) != te);
- renderedTileEntities.forEach(te -> {
+ tickableTileEntities.removeIf(te -> scene.getWorld()
+ .getTileEntity(te.getPos()) != te);
+ tickableTileEntities.forEach(te -> {
if (te instanceof ITickableTileEntity)
((ITickableTileEntity) te).tick();
});
@@ -264,19 +267,23 @@ public class WorldSectionElement extends AnimatedSceneElement {
@Override
public void whileSkipping(PonderScene scene) {
- if (redraw)
+ if (redraw) {
renderedTileEntities = null;
+ tickableTileEntities = null;
+ }
redraw = false;
}
protected void loadTEsIfMissing(PonderWorld world) {
if (renderedTileEntities != null)
return;
+ tickableTileEntities = new ArrayList<>();
renderedTileEntities = new ArrayList<>();
section.forEach(pos -> {
TileEntity tileEntity = world.getTileEntity(pos);
if (tileEntity == null)
return;
+ tickableTileEntities.add(tileEntity);
renderedTileEntities.add(tileEntity);
tileEntity.updateContainingBlockInfo();
});
@@ -294,8 +301,10 @@ public class WorldSectionElement extends AnimatedSceneElement {
int light = -1;
if (fade != 1)
light = (int) (MathHelper.lerp(fade, 5, 14));
- if (redraw)
+ if (redraw) {
renderedTileEntities = null;
+ tickableTileEntities = null;
+ }
transformMS(ms, pt);
world.pushFakeLight(light);
renderTileEntities(world, ms, buffer, pt);
@@ -352,7 +361,7 @@ public class WorldSectionElement extends AnimatedSceneElement {
if (selectedBlock == null)
return;
BlockState blockState = world.getBlockState(selectedBlock);
- if (blockState.isAir(world, selectedBlock))
+ if (blockState.isAir())
return;
VoxelShape shape =
blockState.getShape(world, selectedBlock, ISelectionContext.forEntity(Minecraft.getInstance().player));
diff --git a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/fluid/SmartFluidTankBehaviour.java b/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/fluid/SmartFluidTankBehaviour.java
index 05ddc710a..9841bbb8d 100644
--- a/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/fluid/SmartFluidTankBehaviour.java
+++ b/src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/fluid/SmartFluidTankBehaviour.java
@@ -102,7 +102,7 @@ public class SmartFluidTankBehaviour extends TileEntityBehaviour {
if (syncCooldown > 0) {
syncCooldown--;
- if (syncCooldown == 0 && queuedSync)
+ if (syncCooldown == 0 && queuedSync)
updateFluids();
}
@@ -203,7 +203,7 @@ public class SmartFluidTankBehaviour extends TileEntityBehaviour {
return 0;
return super.fill(resource, action);
}
-
+
public int forceFill(FluidStack resource, FluidAction action) {
return super.fill(resource, action);
}
@@ -244,6 +244,9 @@ public class SmartFluidTankBehaviour extends TileEntityBehaviour {
fluidLevel.chase(tank.getFluidAmount() / (float) tank.getCapacity(), .25, Chaser.EXP);
if (!getWorld().isRemote)
sendDataLazily();
+ if (tileEntity.isVirtual() && !tank.getFluid()
+ .isEmpty())
+ renderedFluid = tank.getFluid();
}
public FluidStack getRenderedFluid() {
@@ -272,7 +275,7 @@ public class SmartFluidTankBehaviour extends TileEntityBehaviour {
.isEmpty())
renderedFluid = tank.getFluid();
}
-
+
public boolean isEmpty(float partialTicks) {
FluidStack renderedFluid = getRenderedFluid();
if (renderedFluid.isEmpty())
diff --git a/src/main/java/com/simibubi/create/foundation/utility/Debug.java b/src/main/java/com/simibubi/create/foundation/utility/Debug.java
index b52612b30..e6445ae11 100644
--- a/src/main/java/com/simibubi/create/foundation/utility/Debug.java
+++ b/src/main/java/com/simibubi/create/foundation/utility/Debug.java
@@ -1,5 +1,7 @@
package com.simibubi.create.foundation.utility;
+import com.simibubi.create.Create;
+
import net.minecraft.client.Minecraft;
import net.minecraft.util.text.IFormattableTextComponent;
import net.minecraft.util.text.ITextComponent;
@@ -14,23 +16,27 @@ import net.minecraftforge.fml.common.thread.EffectiveSide;
public class Debug {
@Deprecated
- public static void debugChat(ITextComponent message) {
+ public static void debugChat(String message) {
if (Minecraft.getInstance().player != null)
- Minecraft.getInstance().player.sendStatusMessage(message, false);
+ Minecraft.getInstance().player.sendStatusMessage(new StringTextComponent(message), false);
}
@Deprecated
- public static void debugChatAndShowStack(ITextComponent message, int depth) {
+ public static void debugChatAndShowStack(String message, int depth) {
if (Minecraft.getInstance().player != null)
- Minecraft.getInstance().player.sendStatusMessage(message.copy()
- .append("@")
+ Minecraft.getInstance().player.sendStatusMessage(new StringTextComponent(message).append("@")
.append(debugStack(depth)), false);
}
@Deprecated
- public static void debugMessage(ITextComponent message) {
+ public static void debugMessage(String message) {
if (Minecraft.getInstance().player != null)
- Minecraft.getInstance().player.sendStatusMessage(message, true);
+ Minecraft.getInstance().player.sendStatusMessage(new StringTextComponent(message), true);
+ }
+
+ @Deprecated
+ public static void log(String message) {
+ Create.LOGGER.info(message);
}
@Deprecated
diff --git a/src/main/resources/data/create/recipes/compat/alexsmobs/emptying/lava_bottle.json b/src/main/resources/data/create/recipes/compat/alexsmobs/emptying/lava_bottle.json
new file mode 100644
index 000000000..bf3ed681e
--- /dev/null
+++ b/src/main/resources/data/create/recipes/compat/alexsmobs/emptying/lava_bottle.json
@@ -0,0 +1,23 @@
+{
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "alexsmobs"
+ }
+ ],
+ "type": "create:emptying",
+ "ingredients": [
+ {
+ "item": "alexsmobs:lava_bottle"
+ }
+ ],
+ "results": [
+ {
+ "item": "minecraft:glass_bottle"
+ },
+ {
+ "fluid": "minecraft:lava",
+ "amount": 250
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/main/resources/data/create/recipes/compat/alexsmobs/filling/lava_bottle.json b/src/main/resources/data/create/recipes/compat/alexsmobs/filling/lava_bottle.json
new file mode 100644
index 000000000..a32b4262b
--- /dev/null
+++ b/src/main/resources/data/create/recipes/compat/alexsmobs/filling/lava_bottle.json
@@ -0,0 +1,23 @@
+{
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "alexsmobs"
+ }
+ ],
+ "type": "create:filling",
+ "ingredients": [
+ {
+ "item": "minecraft:glass_bottle"
+ },
+ {
+ "fluid": "minecraft:lava",
+ "amount": 250
+ }
+ ],
+ "results": [
+ {
+ "item": "alexsmobs:lava_bottle"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/main/resources/data/create/recipes/compat/atmospheric/pressing/crustose_path.json b/src/main/resources/data/create/recipes/compat/atmospheric/pressing/crustose_path.json
new file mode 100644
index 000000000..d46e53cd2
--- /dev/null
+++ b/src/main/resources/data/create/recipes/compat/atmospheric/pressing/crustose_path.json
@@ -0,0 +1,21 @@
+{
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "atmospheric"
+ }
+ ],
+ "type": "create:pressing",
+ "ingredients": [
+ [
+ {
+ "item": "atmospheric:crustose"
+ }
+ ]
+ ],
+ "results": [
+ {
+ "item": "atmospheric:crustose_path"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/main/resources/data/create/recipes/compat/betterendforge/pressing/amber_moss_path.json b/src/main/resources/data/create/recipes/compat/betterendforge/pressing/amber_moss_path.json
new file mode 100644
index 000000000..4a580ce1d
--- /dev/null
+++ b/src/main/resources/data/create/recipes/compat/betterendforge/pressing/amber_moss_path.json
@@ -0,0 +1,21 @@
+{
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "betterendforge"
+ }
+ ],
+ "type": "create:pressing",
+ "ingredients": [
+ [
+ {
+ "item": "betterendforge:amber_moss"
+ }
+ ]
+ ],
+ "results": [
+ {
+ "item": "betterendforge:amber_moss_path"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/main/resources/data/create/recipes/compat/betterendforge/pressing/cave_moss_path.json b/src/main/resources/data/create/recipes/compat/betterendforge/pressing/cave_moss_path.json
new file mode 100644
index 000000000..ee93ce6f5
--- /dev/null
+++ b/src/main/resources/data/create/recipes/compat/betterendforge/pressing/cave_moss_path.json
@@ -0,0 +1,21 @@
+{
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "betterendforge"
+ }
+ ],
+ "type": "create:pressing",
+ "ingredients": [
+ [
+ {
+ "item": "betterendforge:cave_moss"
+ }
+ ]
+ ],
+ "results": [
+ {
+ "item": "betterendforge:cave_moss_path"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/main/resources/data/create/recipes/compat/betterendforge/pressing/chorus_nylium_path.json b/src/main/resources/data/create/recipes/compat/betterendforge/pressing/chorus_nylium_path.json
new file mode 100644
index 000000000..96c02b035
--- /dev/null
+++ b/src/main/resources/data/create/recipes/compat/betterendforge/pressing/chorus_nylium_path.json
@@ -0,0 +1,21 @@
+{
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "betterendforge"
+ }
+ ],
+ "type": "create:pressing",
+ "ingredients": [
+ [
+ {
+ "item": "betterendforge:chorus_nylium"
+ }
+ ]
+ ],
+ "results": [
+ {
+ "item": "betterendforge:chorus_nylium_path"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/main/resources/data/create/recipes/compat/betterendforge/pressing/crystal_moss_path.json b/src/main/resources/data/create/recipes/compat/betterendforge/pressing/crystal_moss_path.json
new file mode 100644
index 000000000..40e7bb3f5
--- /dev/null
+++ b/src/main/resources/data/create/recipes/compat/betterendforge/pressing/crystal_moss_path.json
@@ -0,0 +1,21 @@
+{
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "betterendforge"
+ }
+ ],
+ "type": "create:pressing",
+ "ingredients": [
+ [
+ {
+ "item": "betterendforge:crystal_moss"
+ }
+ ]
+ ],
+ "results": [
+ {
+ "item": "betterendforge:crystal_moss_path"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/main/resources/data/create/recipes/compat/betterendforge/pressing/end_moss_path.json b/src/main/resources/data/create/recipes/compat/betterendforge/pressing/end_moss_path.json
new file mode 100644
index 000000000..48d9d7991
--- /dev/null
+++ b/src/main/resources/data/create/recipes/compat/betterendforge/pressing/end_moss_path.json
@@ -0,0 +1,21 @@
+{
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "betterendforge"
+ }
+ ],
+ "type": "create:pressing",
+ "ingredients": [
+ [
+ {
+ "item": "betterendforge:end_moss"
+ }
+ ]
+ ],
+ "results": [
+ {
+ "item": "betterendforge:end_moss_path"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/main/resources/data/create/recipes/compat/betterendforge/pressing/end_myclium_path.json b/src/main/resources/data/create/recipes/compat/betterendforge/pressing/end_myclium_path.json
new file mode 100644
index 000000000..d117d9df6
--- /dev/null
+++ b/src/main/resources/data/create/recipes/compat/betterendforge/pressing/end_myclium_path.json
@@ -0,0 +1,21 @@
+{
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "betterendforge"
+ }
+ ],
+ "type": "create:pressing",
+ "ingredients": [
+ [
+ {
+ "item": "betterendforge:end_mycelium"
+ }
+ ]
+ ],
+ "results": [
+ {
+ "item": "betterendforge:end_mycelium_path"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/main/resources/data/create/recipes/compat/betterendforge/pressing/jungle_moss_path.json b/src/main/resources/data/create/recipes/compat/betterendforge/pressing/jungle_moss_path.json
new file mode 100644
index 000000000..36fc2aa30
--- /dev/null
+++ b/src/main/resources/data/create/recipes/compat/betterendforge/pressing/jungle_moss_path.json
@@ -0,0 +1,21 @@
+{
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "betterendforge"
+ }
+ ],
+ "type": "create:pressing",
+ "ingredients": [
+ [
+ {
+ "item": "betterendforge:jungle_moss"
+ }
+ ]
+ ],
+ "results": [
+ {
+ "item": "betterendforge:jungle_moss_path"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/main/resources/data/create/recipes/compat/betterendforge/pressing/pink_moss_path.json b/src/main/resources/data/create/recipes/compat/betterendforge/pressing/pink_moss_path.json
new file mode 100644
index 000000000..f41bcf66c
--- /dev/null
+++ b/src/main/resources/data/create/recipes/compat/betterendforge/pressing/pink_moss_path.json
@@ -0,0 +1,21 @@
+{
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "betterendforge"
+ }
+ ],
+ "type": "create:pressing",
+ "ingredients": [
+ [
+ {
+ "item": "betterendforge:pink_moss"
+ }
+ ]
+ ],
+ "results": [
+ {
+ "item": "betterendforge:pink_moss_path"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/main/resources/data/create/recipes/compat/betterendforge/pressing/shadow_grass_path.json b/src/main/resources/data/create/recipes/compat/betterendforge/pressing/shadow_grass_path.json
new file mode 100644
index 000000000..2194ae013
--- /dev/null
+++ b/src/main/resources/data/create/recipes/compat/betterendforge/pressing/shadow_grass_path.json
@@ -0,0 +1,21 @@
+{
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "betterendforge"
+ }
+ ],
+ "type": "create:pressing",
+ "ingredients": [
+ [
+ {
+ "item": "betterendforge:shadow_grass"
+ }
+ ]
+ ],
+ "results": [
+ {
+ "item": "betterendforge:shadow_grass_path"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/main/resources/data/create/recipes/compat/buzzier_bees/milling/buttercup.json b/src/main/resources/data/create/recipes/compat/buzzier_bees/milling/buttercup.json
new file mode 100644
index 000000000..daf89729b
--- /dev/null
+++ b/src/main/resources/data/create/recipes/compat/buzzier_bees/milling/buttercup.json
@@ -0,0 +1,26 @@
+{
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "buzzier_bees"
+ }
+ ],
+ "type": "create:milling",
+ "ingredients": [
+ {
+ "item": "buzzier_bees:buttercup"
+ }
+ ],
+ "results": [
+ {
+ "item": "minecraft:yellow_dye",
+ "count": 2
+ },
+ {
+ "item": "minecraft:lime_dye",
+ "count": 1,
+ "chance": 0.1
+ }
+ ],
+ "processingTime": 50
+}
\ No newline at end of file
diff --git a/src/main/resources/data/create/recipes/compat/buzzier_bees/milling/pink_clover.json b/src/main/resources/data/create/recipes/compat/buzzier_bees/milling/pink_clover.json
index c8753a417..f52886520 100644
--- a/src/main/resources/data/create/recipes/compat/buzzier_bees/milling/pink_clover.json
+++ b/src/main/resources/data/create/recipes/compat/buzzier_bees/milling/pink_clover.json
@@ -2,13 +2,13 @@
"conditions": [
{
"type": "forge:mod_loaded",
- "modid": "buzzierbees"
+ "modid": "buzzier_bees"
}
],
"type": "create:milling",
"ingredients": [
{
- "item": "buzzierbees:pink_clover"
+ "item": "buzzier_bees:pink_clover"
}
],
"results": [
diff --git a/src/main/resources/data/create/recipes/compat/buzzier_bees/milling/white_clover.json b/src/main/resources/data/create/recipes/compat/buzzier_bees/milling/white_clover.json
index 7c9a228b2..1542d6ddb 100644
--- a/src/main/resources/data/create/recipes/compat/buzzier_bees/milling/white_clover.json
+++ b/src/main/resources/data/create/recipes/compat/buzzier_bees/milling/white_clover.json
@@ -2,13 +2,13 @@
"conditions": [
{
"type": "forge:mod_loaded",
- "modid": "buzzierbees"
+ "modid": "buzzier_bees"
}
],
"type": "create:milling",
"ingredients": [
{
- "item": "buzzierbees:white_clover"
+ "item": "buzzier_bees:white_clover"
}
],
"results": [
diff --git a/src/main/resources/data/create/recipes/compat/endergetic/splashing/petrified_end_corrock.json b/src/main/resources/data/create/recipes/compat/endergetic/splashing/petrified_end_corrock.json
new file mode 100644
index 000000000..922cd9445
--- /dev/null
+++ b/src/main/resources/data/create/recipes/compat/endergetic/splashing/petrified_end_corrock.json
@@ -0,0 +1,19 @@
+{
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "endergetic"
+ }
+ ],
+ "type": "create:splashing",
+ "ingredients": [
+ {
+ "item": "endergetic:end_corrock"
+ }
+ ],
+ "results": [
+ {
+ "item": "endergetic:petrified_end_corrock"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/main/resources/data/create/recipes/compat/endergetic/splashing/petrified_end_corrock_block.json b/src/main/resources/data/create/recipes/compat/endergetic/splashing/petrified_end_corrock_block.json
new file mode 100644
index 000000000..33f3e4598
--- /dev/null
+++ b/src/main/resources/data/create/recipes/compat/endergetic/splashing/petrified_end_corrock_block.json
@@ -0,0 +1,19 @@
+{
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "endergetic"
+ }
+ ],
+ "type": "create:splashing",
+ "ingredients": [
+ {
+ "item": "endergetic:end_corrock_block"
+ }
+ ],
+ "results": [
+ {
+ "item": "endergetic:petrified_end_corrock_block"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/main/resources/data/create/recipes/compat/endergetic/splashing/petrified_end_corrock_crown.json b/src/main/resources/data/create/recipes/compat/endergetic/splashing/petrified_end_corrock_crown.json
new file mode 100644
index 000000000..f0bdfc6e1
--- /dev/null
+++ b/src/main/resources/data/create/recipes/compat/endergetic/splashing/petrified_end_corrock_crown.json
@@ -0,0 +1,19 @@
+{
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "endergetic"
+ }
+ ],
+ "type": "create:splashing",
+ "ingredients": [
+ {
+ "item": "endergetic:end_corrock_crown"
+ }
+ ],
+ "results": [
+ {
+ "item": "endergetic:petrified_end_corrock_crown"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/main/resources/data/create/recipes/compat/endergetic/splashing/petrified_nether_corrock.json b/src/main/resources/data/create/recipes/compat/endergetic/splashing/petrified_nether_corrock.json
new file mode 100644
index 000000000..5f0e48f9f
--- /dev/null
+++ b/src/main/resources/data/create/recipes/compat/endergetic/splashing/petrified_nether_corrock.json
@@ -0,0 +1,19 @@
+{
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "endergetic"
+ }
+ ],
+ "type": "create:splashing",
+ "ingredients": [
+ {
+ "item": "endergetic:nether_corrock"
+ }
+ ],
+ "results": [
+ {
+ "item": "endergetic:petrified_nether_corrock"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/main/resources/data/create/recipes/compat/endergetic/splashing/petrified_nether_corrock_block.json b/src/main/resources/data/create/recipes/compat/endergetic/splashing/petrified_nether_corrock_block.json
new file mode 100644
index 000000000..5a28a9723
--- /dev/null
+++ b/src/main/resources/data/create/recipes/compat/endergetic/splashing/petrified_nether_corrock_block.json
@@ -0,0 +1,19 @@
+{
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "endergetic"
+ }
+ ],
+ "type": "create:splashing",
+ "ingredients": [
+ {
+ "item": "endergetic:nether_corrock_block"
+ }
+ ],
+ "results": [
+ {
+ "item": "endergetic:petrified_nether_corrock_block"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/main/resources/data/create/recipes/compat/endergetic/splashing/petrified_nether_corrock_crown.json b/src/main/resources/data/create/recipes/compat/endergetic/splashing/petrified_nether_corrock_crown.json
new file mode 100644
index 000000000..6613d9bb4
--- /dev/null
+++ b/src/main/resources/data/create/recipes/compat/endergetic/splashing/petrified_nether_corrock_crown.json
@@ -0,0 +1,19 @@
+{
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "endergetic"
+ }
+ ],
+ "type": "create:splashing",
+ "ingredients": [
+ {
+ "item": "endergetic:nether_corrock_crown"
+ }
+ ],
+ "results": [
+ {
+ "item": "endergetic:petrified_nether_corrock_crown"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/main/resources/data/create/recipes/compat/endergetic/splashing/petrified_overworld_corrock.json b/src/main/resources/data/create/recipes/compat/endergetic/splashing/petrified_overworld_corrock.json
new file mode 100644
index 000000000..82cd86c81
--- /dev/null
+++ b/src/main/resources/data/create/recipes/compat/endergetic/splashing/petrified_overworld_corrock.json
@@ -0,0 +1,19 @@
+{
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "endergetic"
+ }
+ ],
+ "type": "create:splashing",
+ "ingredients": [
+ {
+ "item": "endergetic:overworld_corrock"
+ }
+ ],
+ "results": [
+ {
+ "item": "endergetic:petrified_overworld_corrock"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/main/resources/data/create/recipes/compat/endergetic/splashing/petrified_overworld_corrock_block.json b/src/main/resources/data/create/recipes/compat/endergetic/splashing/petrified_overworld_corrock_block.json
new file mode 100644
index 000000000..8f451fa5f
--- /dev/null
+++ b/src/main/resources/data/create/recipes/compat/endergetic/splashing/petrified_overworld_corrock_block.json
@@ -0,0 +1,19 @@
+{
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "endergetic"
+ }
+ ],
+ "type": "create:splashing",
+ "ingredients": [
+ {
+ "item": "endergetic:overworld_corrock_block"
+ }
+ ],
+ "results": [
+ {
+ "item": "endergetic:petrified_overworld_corrock_block"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/main/resources/data/create/recipes/compat/endergetic/splashing/petrified_overworld_corrock_crown.json b/src/main/resources/data/create/recipes/compat/endergetic/splashing/petrified_overworld_corrock_crown.json
new file mode 100644
index 000000000..840b884a0
--- /dev/null
+++ b/src/main/resources/data/create/recipes/compat/endergetic/splashing/petrified_overworld_corrock_crown.json
@@ -0,0 +1,19 @@
+{
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "endergetic"
+ }
+ ],
+ "type": "create:splashing",
+ "ingredients": [
+ {
+ "item": "endergetic:overworld_corrock_crown"
+ }
+ ],
+ "results": [
+ {
+ "item": "endergetic:petrified_overworld_corrock_crown"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/main/resources/data/create/recipes/compat/buzzier_bees/milling/bird_of_paradise.json b/src/main/resources/data/create/recipes/compat/environmental/milling/bird_of_paradise.json
similarity index 84%
rename from src/main/resources/data/create/recipes/compat/buzzier_bees/milling/bird_of_paradise.json
rename to src/main/resources/data/create/recipes/compat/environmental/milling/bird_of_paradise.json
index 5edf6abea..0128172cc 100644
--- a/src/main/resources/data/create/recipes/compat/buzzier_bees/milling/bird_of_paradise.json
+++ b/src/main/resources/data/create/recipes/compat/environmental/milling/bird_of_paradise.json
@@ -2,13 +2,13 @@
"conditions": [
{
"type": "forge:mod_loaded",
- "modid": "buzzierbees"
+ "modid": "environmental"
}
],
"type": "create:milling",
"ingredients": [
{
- "item": "buzzierbees:bird_of_paradise"
+ "item": "environmental:bird_of_paradise"
}
],
"results": [
diff --git a/src/main/resources/data/create/recipes/compat/environmental/milling/blue_delphinium.json b/src/main/resources/data/create/recipes/compat/environmental/milling/blue_delphinium.json
new file mode 100644
index 000000000..c37ac70bb
--- /dev/null
+++ b/src/main/resources/data/create/recipes/compat/environmental/milling/blue_delphinium.json
@@ -0,0 +1,26 @@
+{
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "environmental"
+ }
+ ],
+ "type": "create:milling",
+ "ingredients": [
+ {
+ "item": "environmental:blue_delphinium"
+ }
+ ],
+ "results": [
+ {
+ "item": "minecraft:blue_dye",
+ "count": 3
+ },
+ {
+ "item": "minecraft:blue_dye",
+ "count": 1,
+ "chance": 0.1
+ }
+ ],
+ "processingTime": 50
+}
\ No newline at end of file
diff --git a/src/main/resources/data/create/recipes/compat/buzzier_bees/milling/bluebell.json b/src/main/resources/data/create/recipes/compat/environmental/milling/bluebell.json
similarity index 77%
rename from src/main/resources/data/create/recipes/compat/buzzier_bees/milling/bluebell.json
rename to src/main/resources/data/create/recipes/compat/environmental/milling/bluebell.json
index b049cbc96..b56eb9e8c 100644
--- a/src/main/resources/data/create/recipes/compat/buzzier_bees/milling/bluebell.json
+++ b/src/main/resources/data/create/recipes/compat/environmental/milling/bluebell.json
@@ -2,13 +2,13 @@
"conditions": [
{
"type": "forge:mod_loaded",
- "modid": "buzzierbees"
+ "modid": "environmental"
}
],
"type": "create:milling",
"ingredients": [
{
- "item": "buzzierbees:bluebell"
+ "item": "environmental:bluebell"
}
],
"results": [
diff --git a/src/main/resources/data/create/recipes/compat/buzzier_bees/milling/cartwheel.json b/src/main/resources/data/create/recipes/compat/environmental/milling/cartwheel.json
similarity index 82%
rename from src/main/resources/data/create/recipes/compat/buzzier_bees/milling/cartwheel.json
rename to src/main/resources/data/create/recipes/compat/environmental/milling/cartwheel.json
index 169193092..2659d0528 100644
--- a/src/main/resources/data/create/recipes/compat/buzzier_bees/milling/cartwheel.json
+++ b/src/main/resources/data/create/recipes/compat/environmental/milling/cartwheel.json
@@ -2,13 +2,13 @@
"conditions": [
{
"type": "forge:mod_loaded",
- "modid": "buzzierbees"
+ "modid": "environmental"
}
],
"type": "create:milling",
"ingredients": [
{
- "item": "buzzierbees:cartwheel"
+ "item": "environmental:cartwheel"
}
],
"results": [
diff --git a/src/main/resources/data/create/recipes/compat/buzzier_bees/milling/dianthus.json b/src/main/resources/data/create/recipes/compat/environmental/milling/dianthus.json
similarity index 82%
rename from src/main/resources/data/create/recipes/compat/buzzier_bees/milling/dianthus.json
rename to src/main/resources/data/create/recipes/compat/environmental/milling/dianthus.json
index 48c05d143..646c2c6ee 100644
--- a/src/main/resources/data/create/recipes/compat/buzzier_bees/milling/dianthus.json
+++ b/src/main/resources/data/create/recipes/compat/environmental/milling/dianthus.json
@@ -2,13 +2,13 @@
"conditions": [
{
"type": "forge:mod_loaded",
- "modid": "buzzierbees"
+ "modid": "environmental"
}
],
"type": "create:milling",
"ingredients": [
{
- "item": "buzzierbees:jolyce"
+ "item": "environmental:dianthus"
}
],
"results": [
diff --git a/src/main/resources/data/create/recipes/compat/buzzier_bees/milling/magenta_hibiscus.json b/src/main/resources/data/create/recipes/compat/environmental/milling/magenta_hibiscus.json
similarity index 81%
rename from src/main/resources/data/create/recipes/compat/buzzier_bees/milling/magenta_hibiscus.json
rename to src/main/resources/data/create/recipes/compat/environmental/milling/magenta_hibiscus.json
index 9e00cf80c..f33e7bda3 100644
--- a/src/main/resources/data/create/recipes/compat/buzzier_bees/milling/magenta_hibiscus.json
+++ b/src/main/resources/data/create/recipes/compat/environmental/milling/magenta_hibiscus.json
@@ -2,13 +2,13 @@
"conditions": [
{
"type": "forge:mod_loaded",
- "modid": "buzzierbees"
+ "modid": "environmental"
}
],
"type": "create:milling",
"ingredients": [
{
- "item": "buzzierbees:magenta_hibiscus"
+ "item": "environmental:magenta_hibiscus"
}
],
"results": [
diff --git a/src/main/resources/data/create/recipes/compat/buzzier_bees/milling/orange_hibiscus.json b/src/main/resources/data/create/recipes/compat/environmental/milling/orange_hibiscus.json
similarity index 81%
rename from src/main/resources/data/create/recipes/compat/buzzier_bees/milling/orange_hibiscus.json
rename to src/main/resources/data/create/recipes/compat/environmental/milling/orange_hibiscus.json
index 6cc0c4ac3..ab7f0b6e9 100644
--- a/src/main/resources/data/create/recipes/compat/buzzier_bees/milling/orange_hibiscus.json
+++ b/src/main/resources/data/create/recipes/compat/environmental/milling/orange_hibiscus.json
@@ -2,13 +2,13 @@
"conditions": [
{
"type": "forge:mod_loaded",
- "modid": "buzzierbees"
+ "modid": "environmental"
}
],
"type": "create:milling",
"ingredients": [
{
- "item": "buzzierbees:orange_hibiscus"
+ "item": "environmental:orange_hibiscus"
}
],
"results": [
diff --git a/src/main/resources/data/create/recipes/compat/environmental/milling/pink_delphinium.json b/src/main/resources/data/create/recipes/compat/environmental/milling/pink_delphinium.json
new file mode 100644
index 000000000..9c2e2591c
--- /dev/null
+++ b/src/main/resources/data/create/recipes/compat/environmental/milling/pink_delphinium.json
@@ -0,0 +1,26 @@
+{
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "environmental"
+ }
+ ],
+ "type": "create:milling",
+ "ingredients": [
+ {
+ "item": "environmental:pink_delphinium"
+ }
+ ],
+ "results": [
+ {
+ "item": "minecraft:pink_dye",
+ "count": 3
+ },
+ {
+ "item": "minecraft:pink_dye",
+ "count": 1,
+ "chance": 0.1
+ }
+ ],
+ "processingTime": 50
+}
\ No newline at end of file
diff --git a/src/main/resources/data/create/recipes/compat/buzzier_bees/milling/pink_hibiscus.json b/src/main/resources/data/create/recipes/compat/environmental/milling/pink_hibiscus.json
similarity index 81%
rename from src/main/resources/data/create/recipes/compat/buzzier_bees/milling/pink_hibiscus.json
rename to src/main/resources/data/create/recipes/compat/environmental/milling/pink_hibiscus.json
index fa8c4c473..a85f2e64b 100644
--- a/src/main/resources/data/create/recipes/compat/buzzier_bees/milling/pink_hibiscus.json
+++ b/src/main/resources/data/create/recipes/compat/environmental/milling/pink_hibiscus.json
@@ -2,13 +2,13 @@
"conditions": [
{
"type": "forge:mod_loaded",
- "modid": "buzzierbees"
+ "modid": "environmental"
}
],
"type": "create:milling",
"ingredients": [
{
- "item": "buzzierbees:pink_hibiscus"
+ "item": "environmental:pink_hibiscus"
}
],
"results": [
diff --git a/src/main/resources/data/create/recipes/compat/environmental/milling/purple_delphinium.json b/src/main/resources/data/create/recipes/compat/environmental/milling/purple_delphinium.json
new file mode 100644
index 000000000..b99812be8
--- /dev/null
+++ b/src/main/resources/data/create/recipes/compat/environmental/milling/purple_delphinium.json
@@ -0,0 +1,26 @@
+{
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "environmental"
+ }
+ ],
+ "type": "create:milling",
+ "ingredients": [
+ {
+ "item": "environmental:purple_delphinium"
+ }
+ ],
+ "results": [
+ {
+ "item": "minecraft:purple_dye",
+ "count": 3
+ },
+ {
+ "item": "minecraft:purple_dye",
+ "count": 1,
+ "chance": 0.1
+ }
+ ],
+ "processingTime": 50
+}
\ No newline at end of file
diff --git a/src/main/resources/data/create/recipes/compat/buzzier_bees/milling/purple_hibiscus.json b/src/main/resources/data/create/recipes/compat/environmental/milling/purple_hibiscus.json
similarity index 81%
rename from src/main/resources/data/create/recipes/compat/buzzier_bees/milling/purple_hibiscus.json
rename to src/main/resources/data/create/recipes/compat/environmental/milling/purple_hibiscus.json
index 91ac754a7..2615523eb 100644
--- a/src/main/resources/data/create/recipes/compat/buzzier_bees/milling/purple_hibiscus.json
+++ b/src/main/resources/data/create/recipes/compat/environmental/milling/purple_hibiscus.json
@@ -2,13 +2,13 @@
"conditions": [
{
"type": "forge:mod_loaded",
- "modid": "buzzierbees"
+ "modid": "environmental"
}
],
"type": "create:milling",
"ingredients": [
{
- "item": "buzzierbees:purple_hibiscus"
+ "item": "environmental:purple_hibiscus"
}
],
"results": [
diff --git a/src/main/resources/data/create/recipes/compat/buzzier_bees/milling/red_hibiscus.json b/src/main/resources/data/create/recipes/compat/environmental/milling/red_hibiscus.json
similarity index 81%
rename from src/main/resources/data/create/recipes/compat/buzzier_bees/milling/red_hibiscus.json
rename to src/main/resources/data/create/recipes/compat/environmental/milling/red_hibiscus.json
index 5b50d8189..6424ad955 100644
--- a/src/main/resources/data/create/recipes/compat/buzzier_bees/milling/red_hibiscus.json
+++ b/src/main/resources/data/create/recipes/compat/environmental/milling/red_hibiscus.json
@@ -2,13 +2,13 @@
"conditions": [
{
"type": "forge:mod_loaded",
- "modid": "buzzierbees"
+ "modid": "environmental"
}
],
"type": "create:milling",
"ingredients": [
{
- "item": "buzzierbees:red_hibiscus"
+ "item": "environmental:red_hibiscus"
}
],
"results": [
diff --git a/src/main/resources/data/create/recipes/compat/environmental/milling/red_lotus_flower.json b/src/main/resources/data/create/recipes/compat/environmental/milling/red_lotus_flower.json
new file mode 100644
index 000000000..7e3f96013
--- /dev/null
+++ b/src/main/resources/data/create/recipes/compat/environmental/milling/red_lotus_flower.json
@@ -0,0 +1,26 @@
+{
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "environmental"
+ }
+ ],
+ "type": "create:milling",
+ "ingredients": [
+ {
+ "item": "environmental:red_lotus_flower"
+ }
+ ],
+ "results": [
+ {
+ "item": "minecraft:red_dye",
+ "count": 2
+ },
+ {
+ "item": "minecraft:red_dye",
+ "count": 1,
+ "chance": 0.1
+ }
+ ],
+ "processingTime": 50
+}
\ No newline at end of file
diff --git a/src/main/resources/data/create/recipes/compat/buzzier_bees/milling/violet.json b/src/main/resources/data/create/recipes/compat/environmental/milling/violet.json
similarity index 83%
rename from src/main/resources/data/create/recipes/compat/buzzier_bees/milling/violet.json
rename to src/main/resources/data/create/recipes/compat/environmental/milling/violet.json
index fea46a464..b9be9005f 100644
--- a/src/main/resources/data/create/recipes/compat/buzzier_bees/milling/violet.json
+++ b/src/main/resources/data/create/recipes/compat/environmental/milling/violet.json
@@ -2,13 +2,13 @@
"conditions": [
{
"type": "forge:mod_loaded",
- "modid": "buzzierbees"
+ "modid": "environmental"
}
],
"type": "create:milling",
"ingredients": [
{
- "item": "buzzierbees:violet"
+ "item": "environmental:violet"
}
],
"results": [
diff --git a/src/main/resources/data/create/recipes/compat/environmental/milling/white_delphinium.json b/src/main/resources/data/create/recipes/compat/environmental/milling/white_delphinium.json
new file mode 100644
index 000000000..9f49ca4d4
--- /dev/null
+++ b/src/main/resources/data/create/recipes/compat/environmental/milling/white_delphinium.json
@@ -0,0 +1,26 @@
+{
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "environmental"
+ }
+ ],
+ "type": "create:milling",
+ "ingredients": [
+ {
+ "item": "environmental:white_delphinium"
+ }
+ ],
+ "results": [
+ {
+ "item": "minecraft:white_dye",
+ "count": 3
+ },
+ {
+ "item": "minecraft:white_dye",
+ "count": 1,
+ "chance": 0.1
+ }
+ ],
+ "processingTime": 50
+}
\ No newline at end of file
diff --git a/src/main/resources/data/create/recipes/compat/buzzier_bees/milling/columbine.json b/src/main/resources/data/create/recipes/compat/environmental/milling/white_lotus_flower.json
similarity index 71%
rename from src/main/resources/data/create/recipes/compat/buzzier_bees/milling/columbine.json
rename to src/main/resources/data/create/recipes/compat/environmental/milling/white_lotus_flower.json
index f5988729e..e024f73c5 100644
--- a/src/main/resources/data/create/recipes/compat/buzzier_bees/milling/columbine.json
+++ b/src/main/resources/data/create/recipes/compat/environmental/milling/white_lotus_flower.json
@@ -2,22 +2,22 @@
"conditions": [
{
"type": "forge:mod_loaded",
- "modid": "buzzierbees"
+ "modid": "environmental"
}
],
"type": "create:milling",
"ingredients": [
{
- "item": "buzzierbees:columbine"
+ "item": "environmental:white_lotus_flower"
}
],
"results": [
{
- "item": "minecraft:purple_dye",
+ "item": "minecraft:white_dye",
"count": 2
},
{
- "item": "minecraft:white_dye",
+ "item": "minecraft:lime_dye",
"count": 1,
"chance": 0.1
}
diff --git a/src/main/resources/data/create/recipes/compat/buzzier_bees/milling/yellow_hibiscus.json b/src/main/resources/data/create/recipes/compat/environmental/milling/yellow_hibiscus.json
similarity index 81%
rename from src/main/resources/data/create/recipes/compat/buzzier_bees/milling/yellow_hibiscus.json
rename to src/main/resources/data/create/recipes/compat/environmental/milling/yellow_hibiscus.json
index f2ce4cead..bd9b8453c 100644
--- a/src/main/resources/data/create/recipes/compat/buzzier_bees/milling/yellow_hibiscus.json
+++ b/src/main/resources/data/create/recipes/compat/environmental/milling/yellow_hibiscus.json
@@ -2,13 +2,13 @@
"conditions": [
{
"type": "forge:mod_loaded",
- "modid": "buzzierbees"
+ "modid": "environmental"
}
],
"type": "create:milling",
"ingredients": [
{
- "item": "buzzierbees:daybloom"
+ "item": "environmental:yellow_hibiscus"
}
],
"results": [
diff --git a/src/main/resources/data/create/recipes/compat/environmental/pressing/mycelium_path.json b/src/main/resources/data/create/recipes/compat/environmental/pressing/mycelium_path.json
new file mode 100644
index 000000000..452fcc3ab
--- /dev/null
+++ b/src/main/resources/data/create/recipes/compat/environmental/pressing/mycelium_path.json
@@ -0,0 +1,21 @@
+{
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "environmental"
+ }
+ ],
+ "type": "create:pressing",
+ "ingredients": [
+ [
+ {
+ "item": "minecraft:mycelium"
+ }
+ ]
+ ],
+ "results": [
+ {
+ "item": "environmental:mycelium_path"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/main/resources/data/create/recipes/compat/environmental/pressing/podzol_path.json b/src/main/resources/data/create/recipes/compat/environmental/pressing/podzol_path.json
new file mode 100644
index 000000000..a75ed6119
--- /dev/null
+++ b/src/main/resources/data/create/recipes/compat/environmental/pressing/podzol_path.json
@@ -0,0 +1,21 @@
+{
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "environmental"
+ }
+ ],
+ "type": "create:pressing",
+ "ingredients": [
+ [
+ {
+ "item": "minecraft:podzol"
+ }
+ ]
+ ],
+ "results": [
+ {
+ "item": "environmental:podzol_path"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/main/resources/data/create/recipes/compat/neapolitan/crushing/ice.json b/src/main/resources/data/create/recipes/compat/neapolitan/crushing/ice.json
new file mode 100644
index 000000000..cc093968a
--- /dev/null
+++ b/src/main/resources/data/create/recipes/compat/neapolitan/crushing/ice.json
@@ -0,0 +1,26 @@
+{
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "neapolitan"
+ }
+ ],
+ "type": "create:crushing",
+ "ingredients": [
+ {
+ "item": "minecraft:ice"
+ }
+ ],
+ "results": [
+ {
+ "item": "neapolitan:ice_cubes",
+ "count": 3
+ },
+ {
+ "item": "neapolitan:ice_cubes",
+ "count": 3,
+ "chance": 0.25
+ }
+ ],
+ "processingTime": 100
+}
\ No newline at end of file
diff --git a/src/main/resources/data/create/recipes/compat/neapolitan/emptying/milk_bottle.json b/src/main/resources/data/create/recipes/compat/neapolitan/emptying/milk_bottle.json
new file mode 100644
index 000000000..f4785b681
--- /dev/null
+++ b/src/main/resources/data/create/recipes/compat/neapolitan/emptying/milk_bottle.json
@@ -0,0 +1,23 @@
+{
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "neapolitan"
+ }
+ ],
+ "type": "create:emptying",
+ "ingredients": [
+ {
+ "item": "neapolitan:milk_bottle"
+ }
+ ],
+ "results": [
+ {
+ "item": "minecraft:glass_bottle"
+ },
+ {
+ "fluid": "create:milk",
+ "amount": 250
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/main/resources/data/create/recipes/compat/neapolitan/filling/milk_bottle.json b/src/main/resources/data/create/recipes/compat/neapolitan/filling/milk_bottle.json
new file mode 100644
index 000000000..42ed87174
--- /dev/null
+++ b/src/main/resources/data/create/recipes/compat/neapolitan/filling/milk_bottle.json
@@ -0,0 +1,23 @@
+{
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "neapolitan"
+ }
+ ],
+ "type": "create:filling",
+ "ingredients": [
+ {
+ "item": "minecraft:glass_bottle"
+ },
+ {
+ "fluidTag": "forge:milk",
+ "amount": 250
+ }
+ ],
+ "results": [
+ {
+ "item": "neapolitan:milk_bottle"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/main/resources/data/create/recipes/compat/supplementaries/milling/flax.json b/src/main/resources/data/create/recipes/compat/supplementaries/milling/flax.json
new file mode 100644
index 000000000..178dfd21d
--- /dev/null
+++ b/src/main/resources/data/create/recipes/compat/supplementaries/milling/flax.json
@@ -0,0 +1,29 @@
+{
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "supplementaries"
+ }
+ ],
+ "type": "create:milling",
+ "ingredients": [
+ {
+ "item": "supplementaries:flax"
+ }
+ ],
+ "results": [
+ {
+ "item": "minecraft:string"
+ },
+ {
+ "item": "minecraft:string",
+ "count": 2,
+ "chance": 0.25
+ },
+ {
+ "item": "supplementaries:flax_seeds",
+ "chance": 0.25
+ }
+ ],
+ "processingTime": 150
+}
\ No newline at end of file
diff --git a/src/main/resources/data/create/recipes/compat/supplementaries/splashing/blackboard.json b/src/main/resources/data/create/recipes/compat/supplementaries/splashing/blackboard.json
new file mode 100644
index 000000000..badf6115d
--- /dev/null
+++ b/src/main/resources/data/create/recipes/compat/supplementaries/splashing/blackboard.json
@@ -0,0 +1,19 @@
+{
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "supplementaries"
+ }
+ ],
+ "type": "create:splashing",
+ "ingredients": [
+ {
+ "item": "supplementaries:blackboard"
+ }
+ ],
+ "results": [
+ {
+ "item": "supplementaries:blackboard"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/main/resources/data/create/recipes/compat/tconstruct/milling/necrotic_bone.json b/src/main/resources/data/create/recipes/compat/tconstruct/milling/necrotic_bone.json
new file mode 100644
index 000000000..bf66d163f
--- /dev/null
+++ b/src/main/resources/data/create/recipes/compat/tconstruct/milling/necrotic_bone.json
@@ -0,0 +1,30 @@
+{
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "tconstruct"
+ }
+ ],
+ "type": "create:milling",
+ "ingredients": [
+ {
+ "item": "tconstruct:necrotic_bone"
+ }
+ ],
+ "results": [
+ {
+ "item": "minecraft:bone_meal",
+ "count": 3
+ },
+ {
+ "item": "minecraft:black_dye",
+ "chance": 0.25
+ },
+ {
+ "item": "minecraft:bone_meal",
+ "count": 3,
+ "chance": 0.25
+ }
+ ],
+ "processingTime": 100
+}
\ No newline at end of file
diff --git a/src/main/resources/ponder/debug/scene_10.nbt b/src/main/resources/ponder/debug/scene_10.nbt
new file mode 100644
index 000000000..41e45e42d
Binary files /dev/null and b/src/main/resources/ponder/debug/scene_10.nbt differ
diff --git a/src/main/resources/ponder/fluid_pipe/encasing.nbt b/src/main/resources/ponder/fluid_pipe/encasing.nbt
new file mode 100644
index 000000000..c6e1d76e6
Binary files /dev/null and b/src/main/resources/ponder/fluid_pipe/encasing.nbt differ
diff --git a/src/main/resources/ponder/fluid_pipe/flow.nbt b/src/main/resources/ponder/fluid_pipe/flow.nbt
new file mode 100644
index 000000000..f3dd374bc
Binary files /dev/null and b/src/main/resources/ponder/fluid_pipe/flow.nbt differ
diff --git a/src/main/resources/ponder/fluid_pipe/interaction.nbt b/src/main/resources/ponder/fluid_pipe/interaction.nbt
new file mode 100644
index 000000000..1779c5bf8
Binary files /dev/null and b/src/main/resources/ponder/fluid_pipe/interaction.nbt differ