Merge branch 'mc1.15/dev' into mc1.15/pulley-instance

This commit is contained in:
JozsefA 2021-04-05 23:44:27 -07:00
commit 3a52fa573f
46 changed files with 818 additions and 485 deletions

View file

@ -4,7 +4,7 @@ org.gradle.jvmargs=-Xmx3G
org.gradle.daemon=false org.gradle.daemon=false
# mod version info # mod version info
mod_version=0.3.1 mod_version=0.3.1a
minecraft_version=1.15.2 minecraft_version=1.15.2
forge_version=31.2.47 forge_version=31.2.47

View file

@ -337,7 +337,7 @@ e8b0a401c10d1ba67ed71ba31bd5f9bc28571b65 assets/create/blockstates/powered_toggl
d06cd9a1101b18d306a786320aab12018b1325d6 assets/create/blockstates/purple_sail.json d06cd9a1101b18d306a786320aab12018b1325d6 assets/create/blockstates/purple_sail.json
92957119abd5fbcca36a113b2a80255fd70fc303 assets/create/blockstates/purple_seat.json 92957119abd5fbcca36a113b2a80255fd70fc303 assets/create/blockstates/purple_seat.json
61035f8afe75ff7bbd291da5d8690bcbebe679eb assets/create/blockstates/purple_valve_handle.json 61035f8afe75ff7bbd291da5d8690bcbebe679eb assets/create/blockstates/purple_valve_handle.json
4439fc83a8c7370ab44b211a3fd48abde20a4728 assets/create/blockstates/radial_chassis.json 6fa36883e76e9e403bb429c8f86b8c0d3bba0cff assets/create/blockstates/radial_chassis.json
45877c4d90a7185c2f304edbd67379d800920439 assets/create/blockstates/red_sail.json 45877c4d90a7185c2f304edbd67379d800920439 assets/create/blockstates/red_sail.json
da1b08387af7afa0855ee8d040f620c01f20660a assets/create/blockstates/red_seat.json da1b08387af7afa0855ee8d040f620c01f20660a assets/create/blockstates/red_seat.json
722fc77bbf387af8a4016e42cbf9501d2b968881 assets/create/blockstates/red_valve_handle.json 722fc77bbf387af8a4016e42cbf9501d2b968881 assets/create/blockstates/red_valve_handle.json
@ -403,19 +403,19 @@ a3a11524cd3515fc01d905767b4b7ea782adaf03 assets/create/blockstates/yellow_seat.j
7f39521b211441f5c3e06d60c5978cebe16cacfb assets/create/blockstates/zinc_block.json 7f39521b211441f5c3e06d60c5978cebe16cacfb assets/create/blockstates/zinc_block.json
b7181bcd8182b2f17088e5aa881f374c9c65470c assets/create/blockstates/zinc_ore.json b7181bcd8182b2f17088e5aa881f374c9c65470c assets/create/blockstates/zinc_ore.json
ce0e5405da381a86625b908c569c5dbe347abdba assets/create/lang/en_ud.json ce0e5405da381a86625b908c569c5dbe347abdba assets/create/lang/en_ud.json
1054888c62303be2e61b24dfc2d809cca9f9b823 assets/create/lang/en_us.json 8d7a354696019a15170d7b9a6b463953b05e6c5f assets/create/lang/en_us.json
5acabeac2d947b7feac58fb27ec2416a7896e179 assets/create/lang/unfinished/de_de.json e150751efd62793b2827e4f5dc52daf83e3f1038 assets/create/lang/unfinished/de_de.json
2fa1f1b2862309a85771fe411c8abd768f9de2b6 assets/create/lang/unfinished/es_es.json 49c322f52ee8ed82eef3997e7b238621ef88e08d assets/create/lang/unfinished/es_es.json
69c9f259de6fbf97c63612f2d78dfd074172e6be assets/create/lang/unfinished/es_mx.json 65d15c4bfe19719b63a26dc723c5c96e45e434b0 assets/create/lang/unfinished/es_mx.json
926bba2613e754019fd475543d3d3bdd0d5cd9f4 assets/create/lang/unfinished/fr_fr.json 040fdf75186a23ba97e29bdf29c627134dc9f644 assets/create/lang/unfinished/fr_fr.json
7e6dabdf0388836d713f76cc28b4b3b7f8f936be assets/create/lang/unfinished/it_it.json a1cb070af4295e107116858487e22fcb525f9dc6 assets/create/lang/unfinished/it_it.json
27fef05dc79f8804cb6bc31da4b0873a8a94e732 assets/create/lang/unfinished/ja_jp.json 4a62487db5834c2fe30e30ab7c2be1c42cd8d3b3 assets/create/lang/unfinished/ja_jp.json
321a8b6baec49ef8fea65160d19132a8f671c5cb assets/create/lang/unfinished/ko_kr.json 5e2c5d0caa0a7b436e2b87235ae7479ac4635758 assets/create/lang/unfinished/ko_kr.json
ee54588035529a747f4a66bd6bd716e5b22301e5 assets/create/lang/unfinished/nl_nl.json b00a03074be21b1967bab26b2a7a7bd18fa1d4e5 assets/create/lang/unfinished/nl_nl.json
3edfd05cb280afce3f4d34fa519d0344e1d00d7d assets/create/lang/unfinished/pt_br.json 38935b6594edf97254fc7db528d97d4de4ec4bca assets/create/lang/unfinished/pt_br.json
428ec797097f49d5a246ff2e8d07a4c619a37b9f assets/create/lang/unfinished/ru_ru.json b97ce7199bbfba9bc5f841ad4fe249b2369536c3 assets/create/lang/unfinished/ru_ru.json
25b8695b90afd2bc9a542cfc9012561bd467bfc6 assets/create/lang/unfinished/zh_cn.json e03d4064b5f34a84882add2155539ef07937deaf assets/create/lang/unfinished/zh_cn.json
0a9ed91be5d3828ccf8d8de9bd259e39e1fb82e5 assets/create/lang/unfinished/zh_tw.json 28bd3281204a4d09439fa71e21e250dfb5396c99 assets/create/lang/unfinished/zh_tw.json
846200eb548d3bfa2e77b41039de159b4b6cfb45 assets/create/models/block/acacia_window.json 846200eb548d3bfa2e77b41039de159b4b6cfb45 assets/create/models/block/acacia_window.json
1930fa3a3c98d53dd19e4ee7f55bc27fd47aa281 assets/create/models/block/acacia_window_pane_noside.json 1930fa3a3c98d53dd19e4ee7f55bc27fd47aa281 assets/create/models/block/acacia_window_pane_noside.json
1763ea2c9b981d187f5031ba608f3d5d3be3986a assets/create/models/block/acacia_window_pane_noside_alt.json 1763ea2c9b981d187f5031ba608f3d5d3be3986a assets/create/models/block/acacia_window_pane_noside_alt.json
@ -1587,7 +1587,7 @@ d080b1b25e5bc8baf5aee68691b08c7f12ece3b0 assets/create/models/item/windmill_bear
9f9455ccb5fc9e3cbfce73862b46078346a522a5 assets/create/models/item/zinc_nugget.json 9f9455ccb5fc9e3cbfce73862b46078346a522a5 assets/create/models/item/zinc_nugget.json
b1689617190c05ef34bd18456b0c7ae09bb3210f assets/create/models/item/zinc_ore.json b1689617190c05ef34bd18456b0c7ae09bb3210f assets/create/models/item/zinc_ore.json
e76041b7ae829fdd7dc0524f6ca4d2f89fca51bb assets/create/sounds.json e76041b7ae829fdd7dc0524f6ca4d2f89fca51bb assets/create/sounds.json
0f1b4b980afba9bf2caf583b88e261bba8b10313 data/create/advancements/aesthetics.json 5d0cc4c0255dc241e61c173b31ddca70c88d08e4 data/create/advancements/aesthetics.json
187921fa131b06721bfaf63f2623a28c141aae9a data/create/advancements/andesite_alloy.json 187921fa131b06721bfaf63f2623a28c141aae9a data/create/advancements/andesite_alloy.json
0ea2db7173b5be28b289ea7c9a6a0cf5805c60c7 data/create/advancements/andesite_casing.json 0ea2db7173b5be28b289ea7c9a6a0cf5805c60c7 data/create/advancements/andesite_casing.json
356f4855a2a6c65be3fb51d7d1aabf2ca6034d42 data/create/advancements/arm_blaze_burner.json 356f4855a2a6c65be3fb51d7d1aabf2ca6034d42 data/create/advancements/arm_blaze_burner.json
@ -2891,7 +2891,7 @@ af5854ee2fa3be195ad9abcdeebe6ed7306b651c data/create/recipes/crafting/kinetics/s
8494f5fcd85a740fa0f0384e3522d8cdd905ce49 data/create/recipes/crafting/kinetics/turntable.json 8494f5fcd85a740fa0f0384e3522d8cdd905ce49 data/create/recipes/crafting/kinetics/turntable.json
057c889b0a306f44b8835c896663154ccd9ff12f data/create/recipes/crafting/kinetics/vertical_gearboxfrom_conversion.json 057c889b0a306f44b8835c896663154ccd9ff12f data/create/recipes/crafting/kinetics/vertical_gearboxfrom_conversion.json
4fb009b86a51b2e259bd1f73848803f6276dd820 data/create/recipes/crafting/kinetics/water_wheel.json 4fb009b86a51b2e259bd1f73848803f6276dd820 data/create/recipes/crafting/kinetics/water_wheel.json
254265966b3c7c7a307e908c313a15ce92d20c83 data/create/recipes/crafting/kinetics/weighted_ejector.json 06b5b371ae9dd81df8fd3dee6d3559b1ed0db35c data/create/recipes/crafting/kinetics/weighted_ejector.json
f508d510576c93712e7f5265345a32e8818bbf0d data/create/recipes/crafting/kinetics/whisk.json f508d510576c93712e7f5265345a32e8818bbf0d data/create/recipes/crafting/kinetics/whisk.json
d80a741d2f0d4f742217b43d7e4d37f003ec9f9d data/create/recipes/crafting/kinetics/white_sail.json d80a741d2f0d4f742217b43d7e4d37f003ec9f9d data/create/recipes/crafting/kinetics/white_sail.json
f4d88aa2edea548d29cf2678a111d8bb5db7720a data/create/recipes/crafting/kinetics/white_seat.json f4d88aa2edea548d29cf2678a111d8bb5db7720a data/create/recipes/crafting/kinetics/white_seat.json

View file

@ -89,8 +89,8 @@
}, },
{ {
"when": { "when": {
"axis": "x", "sticky_west": "true",
"sticky_west": "true" "axis": "x"
}, },
"apply": { "apply": {
"model": "create:block/radial_chassis_side_x_sticky", "model": "create:block/radial_chassis_side_x_sticky",
@ -99,8 +99,8 @@
}, },
{ {
"when": { "when": {
"axis": "y", "sticky_west": "true",
"sticky_west": "true" "axis": "y"
}, },
"apply": { "apply": {
"model": "create:block/radial_chassis_side_y_sticky", "model": "create:block/radial_chassis_side_y_sticky",
@ -109,8 +109,8 @@
}, },
{ {
"when": { "when": {
"axis": "z", "sticky_west": "true",
"sticky_west": "true" "axis": "z"
}, },
"apply": { "apply": {
"model": "create:block/radial_chassis_side_z_sticky", "model": "create:block/radial_chassis_side_z_sticky",
@ -119,8 +119,8 @@
}, },
{ {
"when": { "when": {
"axis": "x", "sticky_west": "false",
"sticky_west": "false" "axis": "x"
}, },
"apply": { "apply": {
"model": "create:block/radial_chassis_side_x", "model": "create:block/radial_chassis_side_x",
@ -129,8 +129,8 @@
}, },
{ {
"when": { "when": {
"axis": "y", "sticky_west": "false",
"sticky_west": "false" "axis": "y"
}, },
"apply": { "apply": {
"model": "create:block/radial_chassis_side_y", "model": "create:block/radial_chassis_side_y",
@ -139,8 +139,8 @@
}, },
{ {
"when": { "when": {
"axis": "z", "sticky_west": "false",
"sticky_west": "false" "axis": "z"
}, },
"apply": { "apply": {
"model": "create:block/radial_chassis_side_z", "model": "create:block/radial_chassis_side_z",
@ -149,8 +149,8 @@
}, },
{ {
"when": { "when": {
"axis": "x", "sticky_north": "true",
"sticky_north": "true" "axis": "x"
}, },
"apply": { "apply": {
"model": "create:block/radial_chassis_side_x_sticky" "model": "create:block/radial_chassis_side_x_sticky"
@ -158,8 +158,8 @@
}, },
{ {
"when": { "when": {
"axis": "y", "sticky_north": "true",
"sticky_north": "true" "axis": "y"
}, },
"apply": { "apply": {
"model": "create:block/radial_chassis_side_y_sticky", "model": "create:block/radial_chassis_side_y_sticky",
@ -168,8 +168,8 @@
}, },
{ {
"when": { "when": {
"axis": "z", "sticky_north": "true",
"sticky_north": "true" "axis": "z"
}, },
"apply": { "apply": {
"model": "create:block/radial_chassis_side_x_sticky", "model": "create:block/radial_chassis_side_x_sticky",
@ -178,8 +178,8 @@
}, },
{ {
"when": { "when": {
"axis": "x", "sticky_north": "false",
"sticky_north": "false" "axis": "x"
}, },
"apply": { "apply": {
"model": "create:block/radial_chassis_side_x" "model": "create:block/radial_chassis_side_x"
@ -187,8 +187,8 @@
}, },
{ {
"when": { "when": {
"axis": "y", "sticky_north": "false",
"sticky_north": "false" "axis": "y"
}, },
"apply": { "apply": {
"model": "create:block/radial_chassis_side_y", "model": "create:block/radial_chassis_side_y",
@ -197,8 +197,8 @@
}, },
{ {
"when": { "when": {
"axis": "z", "sticky_north": "false",
"sticky_north": "false" "axis": "z"
}, },
"apply": { "apply": {
"model": "create:block/radial_chassis_side_x", "model": "create:block/radial_chassis_side_x",
@ -207,8 +207,8 @@
}, },
{ {
"when": { "when": {
"axis": "x", "sticky_east": "true",
"sticky_east": "true" "axis": "x"
}, },
"apply": { "apply": {
"model": "create:block/radial_chassis_side_x_sticky", "model": "create:block/radial_chassis_side_x_sticky",
@ -217,8 +217,8 @@
}, },
{ {
"when": { "when": {
"axis": "y", "sticky_east": "true",
"sticky_east": "true" "axis": "y"
}, },
"apply": { "apply": {
"model": "create:block/radial_chassis_side_y_sticky", "model": "create:block/radial_chassis_side_y_sticky",
@ -227,8 +227,8 @@
}, },
{ {
"when": { "when": {
"axis": "z", "sticky_east": "true",
"sticky_east": "true" "axis": "z"
}, },
"apply": { "apply": {
"model": "create:block/radial_chassis_side_z_sticky" "model": "create:block/radial_chassis_side_z_sticky"
@ -236,8 +236,8 @@
}, },
{ {
"when": { "when": {
"axis": "x", "sticky_east": "false",
"sticky_east": "false" "axis": "x"
}, },
"apply": { "apply": {
"model": "create:block/radial_chassis_side_x", "model": "create:block/radial_chassis_side_x",
@ -246,8 +246,8 @@
}, },
{ {
"when": { "when": {
"axis": "y", "sticky_east": "false",
"sticky_east": "false" "axis": "y"
}, },
"apply": { "apply": {
"model": "create:block/radial_chassis_side_y", "model": "create:block/radial_chassis_side_y",
@ -256,8 +256,8 @@
}, },
{ {
"when": { "when": {
"axis": "z", "sticky_east": "false",
"sticky_east": "false" "axis": "z"
}, },
"apply": { "apply": {
"model": "create:block/radial_chassis_side_z" "model": "create:block/radial_chassis_side_z"

View file

@ -1738,7 +1738,7 @@
"create.ponder.funnel_transfer.header": "Direct transfer", "create.ponder.funnel_transfer.header": "Direct transfer",
"create.ponder.funnel_transfer.text_1": "Funnels cannot ever transfer between closed inventories directly.", "create.ponder.funnel_transfer.text_1": "Funnels cannot ever transfer between closed inventories directly.",
"create.ponder.funnel_transfer.text_2": "Chutes or Smart chutes might be more suitable for such purposes.", "create.ponder.funnel_transfer.text_2": "Chutes or Smart chutes might be more suitable for such purposes.",
"create.ponder.funnel_transfer.text_3": "Same applies for horizontal movement.\nA mechanical belt should help here.", "create.ponder.funnel_transfer.text_3": "Same applies for horizontal movement. A mechanical belt should help here.",
"create.ponder.furnace_engine.header": "Generating Rotational Force using the Furnace Engine", "create.ponder.furnace_engine.header": "Generating Rotational Force using the Furnace Engine",
"create.ponder.furnace_engine.text_1": "Furnace Engines generate Rotational Force while their attached Furnace is running", "create.ponder.furnace_engine.text_1": "Furnace Engines generate Rotational Force while their attached Furnace is running",
@ -1928,6 +1928,10 @@
"create.ponder.millstone.text_4": "After some time, the result can be obtained via Right-click", "create.ponder.millstone.text_4": "After some time, the result can be obtained via Right-click",
"create.ponder.millstone.text_5": "The outputs can also be extracted by automation", "create.ponder.millstone.text_5": "The outputs can also be extracted by automation",
"create.ponder.nixie_tube.header": "Using Nixie Tubes",
"create.ponder.nixie_tube.text_1": "When powered by Redstone, Nixie Tubes will display the redstone signals' strength",
"create.ponder.nixie_tube.text_2": "Using name tags edited with an anvil, custom text can be displayed",
"create.ponder.piston_pole.header": "Piston Extension Poles", "create.ponder.piston_pole.header": "Piston Extension Poles",
"create.ponder.piston_pole.text_1": "Without attached Poles, a Mechanical Piston cannot move", "create.ponder.piston_pole.text_1": "Without attached Poles, a Mechanical Piston cannot move",
"create.ponder.piston_pole.text_2": "The Length of pole added at its back determines the Extension Range", "create.ponder.piston_pole.text_2": "The Length of pole added at its back determines the Extension Range",

View file

@ -1,5 +1,5 @@
{ {
"_": "Missing Localizations: 1342", "_": "Missing Localizations: 1134",
"_": "->------------------------] Game Elements [------------------------<-", "_": "->------------------------] Game Elements [------------------------<-",
@ -44,7 +44,7 @@
"block.create.brown_sail": "Braunes Segel", "block.create.brown_sail": "Braunes Segel",
"block.create.brown_seat": "Brauner Sitz", "block.create.brown_seat": "Brauner Sitz",
"block.create.brown_valve_handle": "Brauner Ventilgriff", "block.create.brown_valve_handle": "Brauner Ventilgriff",
"block.create.cart_assembler": "Lohrenmonteur", "block.create.cart_assembler": "Lorenmonteur",
"block.create.chiseled_dark_scoria": "Gemeißelte dunkle Schlacke", "block.create.chiseled_dark_scoria": "Gemeißelte dunkle Schlacke",
"block.create.chiseled_dolomite": "Gemeißeltes Dolomit", "block.create.chiseled_dolomite": "Gemeißeltes Dolomit",
"block.create.chiseled_gabbro": "Gemeißeltes Gabbro", "block.create.chiseled_gabbro": "Gemeißeltes Gabbro",
@ -125,10 +125,10 @@
"block.create.fancy_dolomite_bricks_slab": "Schöne Dolomitziegelstufe", "block.create.fancy_dolomite_bricks_slab": "Schöne Dolomitziegelstufe",
"block.create.fancy_dolomite_bricks_stairs": "Schöne Dolomitziegeltreppe", "block.create.fancy_dolomite_bricks_stairs": "Schöne Dolomitziegeltreppe",
"block.create.fancy_dolomite_bricks_wall": "Schöne Dolomitziegelmauer", "block.create.fancy_dolomite_bricks_wall": "Schöne Dolomitziegelmauer",
"block.create.fancy_gabbro_bricks": "Schöne Gabelsteinziegel", "block.create.fancy_gabbro_bricks": "Schöne Gabbroziegel",
"block.create.fancy_gabbro_bricks_slab": "Schöne Gabelsteinziegelstufe", "block.create.fancy_gabbro_bricks_slab": "Schöne Gabbroziegelstufe",
"block.create.fancy_gabbro_bricks_stairs": "Schöne Gabelsteinziegeltreppe", "block.create.fancy_gabbro_bricks_stairs": "Schöne Gabbroziegeltreppe",
"block.create.fancy_gabbro_bricks_wall": "Schöne Gabelsteinziegelmauer", "block.create.fancy_gabbro_bricks_wall": "Schöne Gabbroziegelmauer",
"block.create.fancy_granite_bricks": "Schöne Granitziegel", "block.create.fancy_granite_bricks": "Schöne Granitziegel",
"block.create.fancy_granite_bricks_slab": "Schöne Granitziegelstufe", "block.create.fancy_granite_bricks_slab": "Schöne Granitziegelstufe",
"block.create.fancy_granite_bricks_stairs": "Schöne Granitziegeltreppe", "block.create.fancy_granite_bricks_stairs": "Schöne Granitziegeltreppe",
@ -152,21 +152,21 @@
"block.create.framed_glass": "Gerahmtes Glas", "block.create.framed_glass": "Gerahmtes Glas",
"block.create.framed_glass_pane": "Gerahmte Glasscheibe", "block.create.framed_glass_pane": "Gerahmte Glasscheibe",
"block.create.furnace_engine": "Ofenmotor", "block.create.furnace_engine": "Ofenmotor",
"block.create.gabbro": "Gabelstein", "block.create.gabbro": "Gabbro",
"block.create.gabbro_bricks": "Gabelsteinziegel", "block.create.gabbro_bricks": "Gabbroziegel",
"block.create.gabbro_bricks_slab": "Gabelsteinziegelstufe", "block.create.gabbro_bricks_slab": "Gabbroziegelstufe",
"block.create.gabbro_bricks_stairs": "Gabelsteinziegeltreppe", "block.create.gabbro_bricks_stairs": "Gabbroziegeltreppe",
"block.create.gabbro_bricks_wall": "Gabelsteinziegelmauer", "block.create.gabbro_bricks_wall": "Gabbroziegelmauer",
"block.create.gabbro_cobblestone": "Gabelsteinbruchstein", "block.create.gabbro_cobblestone": "Gabbrobruchstein",
"block.create.gabbro_cobblestone_slab": "Gabelsteinbruchstein", "block.create.gabbro_cobblestone_slab": "Gabbrobruchstein",
"block.create.gabbro_cobblestone_stairs": "Gabelsteinbruchstein", "block.create.gabbro_cobblestone_stairs": "Gabbrobruchstein",
"block.create.gabbro_cobblestone_wall": "Gabelsteinbruchstein", "block.create.gabbro_cobblestone_wall": "Gabbrobruchstein",
"block.create.gabbro_pillar": "Gabelsteinsäule", "block.create.gabbro_pillar": "Gabbrosäule",
"block.create.gantry_carriage": "UNLOCALIZED: Gantry Carriage", "block.create.gantry_carriage": "UNLOCALIZED: Gantry Carriage",
"block.create.gantry_shaft": "UNLOCALIZED: Gantry Shaft", "block.create.gantry_shaft": "UNLOCALIZED: Gantry Shaft",
"block.create.gearbox": "Getriebe", "block.create.gearbox": "Getriebe",
"block.create.gearshift": "Gangschaltung", "block.create.gearshift": "Gangschaltung",
"block.create.glass_fluid_pipe": "Glaswasserrohr", "block.create.glass_fluid_pipe": "Glasrohr",
"block.create.granite_bricks": "Granitziegel", "block.create.granite_bricks": "Granitziegel",
"block.create.granite_bricks_slab": "Granitziegelstufe", "block.create.granite_bricks_slab": "Granitziegelstufe",
"block.create.granite_bricks_stairs": "Granitziegeltreppe", "block.create.granite_bricks_stairs": "Granitziegeltreppe",
@ -184,18 +184,18 @@
"block.create.green_valve_handle": "Grüner Ventilgriff", "block.create.green_valve_handle": "Grüner Ventilgriff",
"block.create.hand_crank": "Handkurbel", "block.create.hand_crank": "Handkurbel",
"block.create.honey": "Honig", "block.create.honey": "Honig",
"block.create.horizontal_framed_glass": "Horizontal Gerahmes Glas", "block.create.horizontal_framed_glass": "Horizontal Gerahmtes Glas",
"block.create.horizontal_framed_glass_pane": "Horizontal Gerahmte Glasscheibe", "block.create.horizontal_framed_glass_pane": "Horizontal Gerahmte Glasscheibe",
"block.create.hose_pulley": "Umlenkrolle", "block.create.hose_pulley": "Umlenkrolle",
"block.create.item_drain": "Abfluss", "block.create.item_drain": "Abfluss",
"block.create.jungle_window": "Tropenholzfenster", "block.create.jungle_window": "Tropenholzfenster",
"block.create.jungle_window_pane": "Tropenholzfensterscheib", "block.create.jungle_window_pane": "Tropenholzfensterscheibe",
"block.create.large_cogwheel": "Großes Zahnrad", "block.create.large_cogwheel": "Großes Zahnrad",
"block.create.layered_andesite": "Geschichteter Andesit", "block.create.layered_andesite": "Geschichteter Andesit",
"block.create.layered_dark_scoria": "Geschichtete Dunkle Schlacke", "block.create.layered_dark_scoria": "Geschichtete Dunkle Schlacke",
"block.create.layered_diorite": "Geschichteter Diorit", "block.create.layered_diorite": "Geschichteter Diorit",
"block.create.layered_dolomite": "Geschichteter Dolomit", "block.create.layered_dolomite": "Geschichteter Dolomit",
"block.create.layered_gabbro": "Geschichteter Gabelstein", "block.create.layered_gabbro": "Geschichteter Gabbro",
"block.create.layered_granite": "Geschichteter Granit", "block.create.layered_granite": "Geschichteter Granit",
"block.create.layered_limestone": "Geschichteter Kalkstein", "block.create.layered_limestone": "Geschichteter Kalkstein",
"block.create.layered_scoria": "Geschichtete Schlacke", "block.create.layered_scoria": "Geschichtete Schlacke",
@ -239,255 +239,255 @@
"block.create.mechanical_saw": "Mechanische Säge", "block.create.mechanical_saw": "Mechanische Säge",
"block.create.metal_bracket": "Metallhalterung", "block.create.metal_bracket": "Metallhalterung",
"block.create.millstone": "Mahlstein", "block.create.millstone": "Mahlstein",
"block.create.minecart_anchor": "UNLOCALIZED: Minecart Anchor", "block.create.minecart_anchor": "Lorenanker",
"block.create.mossy_andesite": "UNLOCALIZED: Mossy Andesite", "block.create.mossy_andesite": "Moosiger Andesit",
"block.create.mossy_dark_scoria": "UNLOCALIZED: Mossy Dark Scoria", "block.create.mossy_dark_scoria": "Moosige Dunkle Schlacke",
"block.create.mossy_diorite": "UNLOCALIZED: Mossy Diorite", "block.create.mossy_diorite": "Moosiger Diorit",
"block.create.mossy_dolomite": "UNLOCALIZED: Mossy Dolomite", "block.create.mossy_dolomite": "Moosiger Dolomit",
"block.create.mossy_gabbro": "UNLOCALIZED: Mossy Gabbro", "block.create.mossy_gabbro": "Moosiger Gabbro",
"block.create.mossy_granite": "UNLOCALIZED: Mossy Granite", "block.create.mossy_granite": "Moosiger Granit",
"block.create.mossy_limestone": "UNLOCALIZED: Mossy Limestone", "block.create.mossy_limestone": "Moosiger Kalkstein",
"block.create.mossy_scoria": "UNLOCALIZED: Mossy Scoria", "block.create.mossy_scoria": "Moosige Schlacke",
"block.create.mossy_weathered_limestone": "UNLOCALIZED: Mossy Weathered Limestone", "block.create.mossy_weathered_limestone": "Moosiger Verwitterter Kalkstein",
"block.create.mysterious_cuckoo_clock": "UNLOCALIZED: Cuckoo Clock", "block.create.mysterious_cuckoo_clock": "Kuckucksuhr",
"block.create.natural_scoria": "UNLOCALIZED: Natural Scoria", "block.create.natural_scoria": "Natürliche Schlacke",
"block.create.nixie_tube": "UNLOCALIZED: Nixie Tube", "block.create.nixie_tube": "Nixie-Röhre",
"block.create.nozzle": "UNLOCALIZED: Nozzle", "block.create.nozzle": "Düse",
"block.create.oak_window": "UNLOCALIZED: Oak Window", "block.create.oak_window": "Eichenfenster",
"block.create.oak_window_pane": "UNLOCALIZED: Oak Window Pane", "block.create.oak_window_pane": "Eichenfensterscheibe",
"block.create.orange_sail": "UNLOCALIZED: Orange Sail", "block.create.orange_sail": "Oranges Segel",
"block.create.orange_seat": "UNLOCALIZED: Orange Seat", "block.create.orange_seat": "Oranger Sitz",
"block.create.orange_valve_handle": "UNLOCALIZED: Orange Valve Handle", "block.create.orange_valve_handle": "Oranger Ventilgriff",
"block.create.ornate_iron_window": "UNLOCALIZED: Ornate Iron Window", "block.create.ornate_iron_window": "Kunstvolles Eisenfenster",
"block.create.ornate_iron_window_pane": "UNLOCALIZED: Ornate Iron Window Pane", "block.create.ornate_iron_window_pane": "Kunstvolle Eisenfensterscheibe",
"block.create.overgrown_andesite": "UNLOCALIZED: Overgrown Andesite", "block.create.overgrown_andesite": "Überwachsener Andesit",
"block.create.overgrown_dark_scoria": "UNLOCALIZED: Overgrown Dark Scoria", "block.create.overgrown_dark_scoria": "Überwachsene Dunkle Schlacke",
"block.create.overgrown_diorite": "UNLOCALIZED: Overgrown Diorite", "block.create.overgrown_diorite": "Überwachsener Diorit",
"block.create.overgrown_dolomite": "UNLOCALIZED: Overgrown Dolomite", "block.create.overgrown_dolomite": "Überwachsener Dolomit",
"block.create.overgrown_gabbro": "UNLOCALIZED: Overgrown Gabbro", "block.create.overgrown_gabbro": "Überwachsener Gabbro",
"block.create.overgrown_granite": "UNLOCALIZED: Overgrown Granite", "block.create.overgrown_granite": "Überwachsener Granit",
"block.create.overgrown_limestone": "UNLOCALIZED: Overgrown Limestone", "block.create.overgrown_limestone": "Überwachsener Kalkstein",
"block.create.overgrown_scoria": "UNLOCALIZED: Overgrown Scoria", "block.create.overgrown_scoria": "Überwachsener Schlacke",
"block.create.overgrown_weathered_limestone": "UNLOCALIZED: Overgrown Weathered Limestone", "block.create.overgrown_weathered_limestone": "Überwachsener Verwitterter Kalkstein",
"block.create.paved_andesite": "UNLOCALIZED: Paved Andesite", "block.create.paved_andesite": "Gepflasterter Andesit",
"block.create.paved_andesite_slab": "UNLOCALIZED: Paved Andesite Slab", "block.create.paved_andesite_slab": "Gepflasterte Andesitstufe",
"block.create.paved_andesite_stairs": "UNLOCALIZED: Paved Andesite Stairs", "block.create.paved_andesite_stairs": "Gepflasterte Andesittreppe",
"block.create.paved_andesite_wall": "UNLOCALIZED: Paved Andesite Wall", "block.create.paved_andesite_wall": "Gepflasterte Andesitmauer",
"block.create.paved_dark_scoria": "UNLOCALIZED: Paved Dark Scoria", "block.create.paved_dark_scoria": "Gepflasterte Dunkle Schlacke",
"block.create.paved_dark_scoria_slab": "UNLOCALIZED: Paved Dark Scoria Slab", "block.create.paved_dark_scoria_slab": "Gepflasterte Dunkle Schlackenstufe",
"block.create.paved_dark_scoria_stairs": "UNLOCALIZED: Paved Dark Scoria Stairs", "block.create.paved_dark_scoria_stairs": "Gepflasterte Dunkle Schlackentreppe",
"block.create.paved_dark_scoria_wall": "UNLOCALIZED: Paved Dark Scoria Wall", "block.create.paved_dark_scoria_wall": "Gepflasterte Dunkle Schlackenmauer",
"block.create.paved_diorite": "UNLOCALIZED: Paved Diorite", "block.create.paved_diorite": "Gepflasterter Diorit",
"block.create.paved_diorite_slab": "UNLOCALIZED: Paved Diorite Slab", "block.create.paved_diorite_slab": "Gepflasterte Dioritstufe",
"block.create.paved_diorite_stairs": "UNLOCALIZED: Paved Diorite Stairs", "block.create.paved_diorite_stairs": "Gepflasterte Diorittreppe",
"block.create.paved_diorite_wall": "UNLOCALIZED: Paved Diorite Wall", "block.create.paved_diorite_wall": "Gepflasterte Dioritmauer",
"block.create.paved_dolomite": "UNLOCALIZED: Paved Dolomite", "block.create.paved_dolomite": "Gepflasterter Dolomit",
"block.create.paved_dolomite_slab": "UNLOCALIZED: Paved Dolomite Slab", "block.create.paved_dolomite_slab": "Gepflasterte Dolomitstufe",
"block.create.paved_dolomite_stairs": "UNLOCALIZED: Paved Dolomite Stairs", "block.create.paved_dolomite_stairs": "Gepflasterte Dolomittreppe",
"block.create.paved_dolomite_wall": "UNLOCALIZED: Paved Dolomite Wall", "block.create.paved_dolomite_wall": "Gepflasterte Dolomitmauer",
"block.create.paved_gabbro": "UNLOCALIZED: Paved Gabbro", "block.create.paved_gabbro": "Gepflasterter Gabbro",
"block.create.paved_gabbro_slab": "UNLOCALIZED: Paved Gabbro Slab", "block.create.paved_gabbro_slab": "Gepflasterte Gabbrostufe",
"block.create.paved_gabbro_stairs": "UNLOCALIZED: Paved Gabbro Stairs", "block.create.paved_gabbro_stairs": "Gepflasterte Gabbrotreppe",
"block.create.paved_gabbro_wall": "UNLOCALIZED: Paved Gabbro Wall", "block.create.paved_gabbro_wall": "Gepflasterte Gabbromauer",
"block.create.paved_granite": "UNLOCALIZED: Paved Granite", "block.create.paved_granite": "Gepflasterter Granit",
"block.create.paved_granite_slab": "UNLOCALIZED: Paved Granite Slab", "block.create.paved_granite_slab": "Gepflasterte Granitstufe",
"block.create.paved_granite_stairs": "UNLOCALIZED: Paved Granite Stairs", "block.create.paved_granite_stairs": "Gepflasterte Granittreppe",
"block.create.paved_granite_wall": "UNLOCALIZED: Paved Granite Wall", "block.create.paved_granite_wall": "Gepflasterte Granitmauer",
"block.create.paved_limestone": "UNLOCALIZED: Paved Limestone", "block.create.paved_limestone": "Gepflasterter Kalkstein",
"block.create.paved_limestone_slab": "UNLOCALIZED: Paved Limestone Slab", "block.create.paved_limestone_slab": "Gepflasterte Kalksteinstufe",
"block.create.paved_limestone_stairs": "UNLOCALIZED: Paved Limestone Stairs", "block.create.paved_limestone_stairs": "Gepflasterte Kalksteintreppe",
"block.create.paved_limestone_wall": "UNLOCALIZED: Paved Limestone Wall", "block.create.paved_limestone_wall": "Gepflasterte Kalksteinmauer",
"block.create.paved_scoria": "UNLOCALIZED: Paved Scoria", "block.create.paved_scoria": "Gepflasterte Schlacke",
"block.create.paved_scoria_slab": "UNLOCALIZED: Paved Scoria Slab", "block.create.paved_scoria_slab": "Gepflasterte Schlackenstufe",
"block.create.paved_scoria_stairs": "UNLOCALIZED: Paved Scoria Stairs", "block.create.paved_scoria_stairs": "Gepflasterte Schlackentreppe",
"block.create.paved_scoria_wall": "UNLOCALIZED: Paved Scoria Wall", "block.create.paved_scoria_wall": "Gepflasterte Schlackenmauer",
"block.create.paved_weathered_limestone": "UNLOCALIZED: Paved Weathered Limestone", "block.create.paved_weathered_limestone": "Gepflasterter Verwitterter Kalkstein",
"block.create.paved_weathered_limestone_slab": "UNLOCALIZED: Paved Weathered Limestone Slab", "block.create.paved_weathered_limestone_slab": "Gepflasterte Verwitterte Kalksteinstufe",
"block.create.paved_weathered_limestone_stairs": "UNLOCALIZED: Paved Weathered Limestone Stairs", "block.create.paved_weathered_limestone_stairs": "Gepflasterte Verwitterte Kalksteintreppe",
"block.create.paved_weathered_limestone_wall": "UNLOCALIZED: Paved Weathered Limestone Wall", "block.create.paved_weathered_limestone_wall": "Gepflasterte Verwitterte Kalksteinmauer",
"block.create.pink_sail": "Rosa Segel", "block.create.pink_sail": "Rosa Segel",
"block.create.pink_seat": "Rosa Sitz", "block.create.pink_seat": "Rosa Sitz",
"block.create.pink_valve_handle": "Rosa Ventilgriff", "block.create.pink_valve_handle": "Rosa Ventilgriff",
"block.create.piston_extension_pole": "Kolben-Pleuelverlängerung", "block.create.piston_extension_pole": "Kolben-Pleuelverlängerung",
"block.create.polished_dark_scoria": "UNLOCALIZED: Polished Dark Scoria", "block.create.polished_dark_scoria": "Polierte Dunkle Schlacke",
"block.create.polished_dark_scoria_slab": "UNLOCALIZED: Polished Dark Scoria Slab", "block.create.polished_dark_scoria_slab": "Polierte Dunkle Schlackenstufe",
"block.create.polished_dark_scoria_stairs": "UNLOCALIZED: Polished Dark Scoria Stairs", "block.create.polished_dark_scoria_stairs": "Polierte Dunkle Schlackentreppe",
"block.create.polished_dark_scoria_wall": "UNLOCALIZED: Polished Dark Scoria Wall", "block.create.polished_dark_scoria_wall": "Polierte Dunkle Schlackenmauer",
"block.create.polished_dolomite": "Polierter Dolomit", "block.create.polished_dolomite": "Polierter Dolomit",
"block.create.polished_dolomite_slab": "UNLOCALIZED: Polished Dolomite Slab", "block.create.polished_dolomite_slab": "Polierte Dolomitstufe",
"block.create.polished_dolomite_stairs": "UNLOCALIZED: Polished Dolomite Stairs", "block.create.polished_dolomite_stairs": "Polierte Dolomittreppe",
"block.create.polished_dolomite_wall": "UNLOCALIZED: Polished Dolomite Wall", "block.create.polished_dolomite_wall": "Polierte Dolomitmauer",
"block.create.polished_gabbro": "Polierter Gabelstein", "block.create.polished_gabbro": "Polierter Gabbro",
"block.create.polished_gabbro_slab": "UNLOCALIZED: Polished Gabbro Slab", "block.create.polished_gabbro_slab": "Polierte Gabbrostufe",
"block.create.polished_gabbro_stairs": "UNLOCALIZED: Polished Gabbro Stairs", "block.create.polished_gabbro_stairs": "Polierte Gabbrotreppe",
"block.create.polished_gabbro_wall": "UNLOCALIZED: Polished Gabbro Wall", "block.create.polished_gabbro_wall": "Polierte Gabbromauer",
"block.create.polished_limestone": "Polierter Kalkstein", "block.create.polished_limestone": "Polierter Kalkstein",
"block.create.polished_limestone_slab": "Polierte Kalksteinstufe", "block.create.polished_limestone_slab": "Polierte Kalksteinstufe",
"block.create.polished_limestone_stairs": "UNLOCALIZED: Polished Limestone Stairs", "block.create.polished_limestone_stairs": "Polierte Kalksteintreppe",
"block.create.polished_limestone_wall": "UNLOCALIZED: Polished Limestone Wall", "block.create.polished_limestone_wall": "Polierte Kalksteinmauer",
"block.create.polished_scoria": "Polierte Schlacke", "block.create.polished_scoria": "Polierte Schlacke",
"block.create.polished_scoria_slab": "UNLOCALIZED: Polished Scoria Slab", "block.create.polished_scoria_slab": "Polierte Schlackenstufe",
"block.create.polished_scoria_stairs": "UNLOCALIZED: Polished Scoria Stairs", "block.create.polished_scoria_stairs": "Polierte Schlackentreppe",
"block.create.polished_scoria_wall": "UNLOCALIZED: Polished Scoria Wall", "block.create.polished_scoria_wall": "Polierte Schlackenmauer",
"block.create.polished_weathered_limestone": "Polierter Verwitterter Kalkstein", "block.create.polished_weathered_limestone": "Polierter Verwitterter Kalkstein",
"block.create.polished_weathered_limestone_slab": "Polierte Verwitterte Kalksteinstufe", "block.create.polished_weathered_limestone_slab": "Polierte Verwitterte Kalksteinstufe",
"block.create.polished_weathered_limestone_stairs": "UNLOCALIZED: Polished Weathered Limestone Stairs", "block.create.polished_weathered_limestone_stairs": "Polierte Verwitterte Kalksteintreppe",
"block.create.polished_weathered_limestone_wall": "UNLOCALIZED: Polished Weathered Limestone Wall", "block.create.polished_weathered_limestone_wall": "Polierte Verwitterte Kalksteinmauer",
"block.create.portable_fluid_interface": "UNLOCALIZED: Portable Fluid Interface", "block.create.portable_fluid_interface": "Portable Flüssigkeitsschnittstelle",
"block.create.portable_storage_interface": "UNLOCALIZED: Portable Storage Interface", "block.create.portable_storage_interface": "Portable Lagerschnittstelle",
"block.create.powered_latch": "UNLOCALIZED: Powered Latch", "block.create.powered_latch": "RS-Flipflop",
"block.create.powered_toggle_latch": "UNLOCALIZED: Powered Toggle Latch", "block.create.powered_toggle_latch": "T-Flipflop",
"block.create.pulley_magnet": "UNLOCALIZED: Pulley Magnet", "block.create.pulley_magnet": "Rollenmagnet",
"block.create.pulse_repeater": "Pulsierender Verstärker", "block.create.pulse_repeater": "Pulsierender Verstärker",
"block.create.purple_sail": "UNLOCALIZED: Purple Sail", "block.create.purple_sail": "Lila Segel",
"block.create.purple_seat": "UNLOCALIZED: Purple Seat", "block.create.purple_seat": "Lila Sitz",
"block.create.purple_valve_handle": "UNLOCALIZED: Purple Valve Handle", "block.create.purple_valve_handle": "Lila Ventilgriff",
"block.create.radial_chassis": "Drehgerüst", "block.create.radial_chassis": "Drehgerüst",
"block.create.red_sail": "UNLOCALIZED: Red Sail", "block.create.red_sail": "Rote Segel",
"block.create.red_seat": "UNLOCALIZED: Red Seat", "block.create.red_seat": "Roter Sitz",
"block.create.red_valve_handle": "UNLOCALIZED: Red Valve Handle", "block.create.red_valve_handle": "Roter Ventilgriff",
"block.create.redstone_contact": "Redstone-Kontakt", "block.create.redstone_contact": "Redstone-Kontakt",
"block.create.redstone_link": "Redstone-Verbindung", "block.create.redstone_link": "Redstone-Verbindung",
"block.create.refined_radiance_casing": "UNLOCALIZED: Radiant Casing", "block.create.refined_radiance_casing": "Glanzgehäuse",
"block.create.reinforced_rail": "UNLOCALIZED: Reinforced Rail", "block.create.reinforced_rail": "Verstärkte Schiene",
"block.create.rope": "UNLOCALIZED: Rope", "block.create.rope": "Seil",
"block.create.rope_pulley": "UNLOCALIZED: Rope Pulley", "block.create.rope_pulley": "Seilrolle",
"block.create.rotation_speed_controller": "UNLOCALIZED: Rotation Speed Controller", "block.create.rotation_speed_controller": "Rotationsgeschwindigkeitsregler",
"block.create.sail_frame": "UNLOCALIZED: Sail Frame", "block.create.sail_frame": "Segelrahmen",
"block.create.schematic_table": "Bauplantisch", "block.create.schematic_table": "Bauplantisch",
"block.create.schematicannon": "Bauplankanone", "block.create.schematicannon": "Bauplankanone",
"block.create.scoria": "UNLOCALIZED: Scoria", "block.create.scoria": "Schlacke",
"block.create.scoria_bricks": "UNLOCALIZED: Scoria Bricks", "block.create.scoria_bricks": "Schlackenziegel",
"block.create.scoria_bricks_slab": "UNLOCALIZED: Scoria Bricks Slab", "block.create.scoria_bricks_slab": "Schlackenziegelstufe",
"block.create.scoria_bricks_stairs": "UNLOCALIZED: Scoria Bricks Stairs", "block.create.scoria_bricks_stairs": "Schlackenziegeltreppe",
"block.create.scoria_bricks_wall": "UNLOCALIZED: Scoria Bricks Wall", "block.create.scoria_bricks_wall": "Schlackenziegelmauer",
"block.create.scoria_cobblestone": "UNLOCALIZED: Scoria Cobblestone", "block.create.scoria_cobblestone": "Schlackenbruchstein",
"block.create.scoria_cobblestone_slab": "UNLOCALIZED: Scoria Cobblestone Slab", "block.create.scoria_cobblestone_slab": "Schlackenpflasterstufe",
"block.create.scoria_cobblestone_stairs": "UNLOCALIZED: Scoria Cobblestone Stairs", "block.create.scoria_cobblestone_stairs": "Schlackenpflastertreppe",
"block.create.scoria_cobblestone_wall": "UNLOCALIZED: Scoria Cobblestone Wall", "block.create.scoria_cobblestone_wall": "Schlackenpflastermauer",
"block.create.scoria_pillar": "UNLOCALIZED: Scoria Pillar", "block.create.scoria_pillar": "Schlackensäule",
"block.create.secondary_linear_chassis": "UNLOCALIZED: Secondary Linear Chassis", "block.create.secondary_linear_chassis": "Sekundäres Schubgerüst",
"block.create.sequenced_gearshift": "UNLOCALIZED: Sequenced Gearshift", "block.create.sequenced_gearshift": "Sequenzielles Gangschaltung",
"block.create.shadow_steel_casing": "UNLOCALIZED: Shadow Casing", "block.create.shadow_steel_casing": "Schattengehäuse",
"block.create.shaft": "Welle", "block.create.shaft": "Welle",
"block.create.smart_chute": "UNLOCALIZED: Smart Chute", "block.create.smart_chute": "Schlaue Rinne",
"block.create.smart_fluid_pipe": "UNLOCALIZED: Smart Fluid Pipe", "block.create.smart_fluid_pipe": "Schlaues Flüssigkeitsrohr",
"block.create.speedometer": "UNLOCALIZED: Speedometer", "block.create.speedometer": "Tachometer",
"block.create.spout": "UNLOCALIZED: Spout", "block.create.spout": "Ausguss",
"block.create.spruce_window": "UNLOCALIZED: Spruce Window", "block.create.spruce_window": "Fichtenfenster",
"block.create.spruce_window_pane": "UNLOCALIZED: Spruce Window Pane", "block.create.spruce_window_pane": "Fichtenfensterscheibe",
"block.create.sticker": "UNLOCALIZED: Sticker", "block.create.sticker": "Aufkleber",
"block.create.sticky_mechanical_piston": "Klebriger Mechanischer Kolben", "block.create.sticky_mechanical_piston": "Klebriger Mechanischer Kolben",
"block.create.stockpile_switch": "Vorratssensor", "block.create.stockpile_switch": "Vorratssensor",
"block.create.stressometer": "UNLOCALIZED: Stressometer", "block.create.stressometer": "Stressometer",
"block.create.tiled_glass": "Glasfliesen", "block.create.tiled_glass": "Glasfliesen",
"block.create.tiled_glass_pane": "Glasfliesenscheibe", "block.create.tiled_glass_pane": "Glasfliesenscheibe",
"block.create.turntable": "Drehtisch", "block.create.turntable": "Drehtisch",
"block.create.vertical_framed_glass": "UNLOCALIZED: Vertical Framed Glass", "block.create.vertical_framed_glass": "Vertikal Gerahmtes Glas",
"block.create.vertical_framed_glass_pane": "UNLOCALIZED: Vertical Framed Glass Pane", "block.create.vertical_framed_glass_pane": "Vertikal Gerahmte Glasscheibe",
"block.create.water_wheel": "Wasserrad", "block.create.water_wheel": "Wasserrad",
"block.create.weathered_limestone": "Verwitterter Kalkstein", "block.create.weathered_limestone": "Verwitterter Kalkstein",
"block.create.weathered_limestone_bricks": "Verwitterte Kalksteinziegel", "block.create.weathered_limestone_bricks": "Verwitterte Kalksteinziegel",
"block.create.weathered_limestone_bricks_slab": "Verwitterte Kalksteinziegelstufe", "block.create.weathered_limestone_bricks_slab": "Verwitterte Kalksteinziegelstufe",
"block.create.weathered_limestone_bricks_stairs": "Verwitterte Kalksteinziegeltreppe", "block.create.weathered_limestone_bricks_stairs": "Verwitterte Kalksteinziegeltreppe",
"block.create.weathered_limestone_bricks_wall": "Verwitterte Kalksteinziegelmauer", "block.create.weathered_limestone_bricks_wall": "Verwitterte Kalksteinziegelmauer",
"block.create.weathered_limestone_cobblestone": "UNLOCALIZED: Weathered Limestone Cobblestone", "block.create.weathered_limestone_cobblestone": "Verwittertes Kalksteinpflaster",
"block.create.weathered_limestone_cobblestone_slab": "UNLOCALIZED: Weathered Limestone Cobblestone Slab", "block.create.weathered_limestone_cobblestone_slab": "Verwitterte Kalksteinpflasterstufe",
"block.create.weathered_limestone_cobblestone_stairs": "UNLOCALIZED: Weathered Limestone Cobblestone Stairs", "block.create.weathered_limestone_cobblestone_stairs": "Verwitterte Kalksteinpflastertreppe",
"block.create.weathered_limestone_cobblestone_wall": "UNLOCALIZED: Weathered Limestone Cobblestone Wall", "block.create.weathered_limestone_cobblestone_wall": "Verwitterte Limestonepflastermauer",
"block.create.weathered_limestone_pillar": "Verwitterte Kalksteinsäule", "block.create.weathered_limestone_pillar": "Verwitterte Kalksteinsäule",
"block.create.weighted_ejector": "UNLOCALIZED: Weighted Ejector", "block.create.weighted_ejector": "UNLOCALIZED: Weighted Ejector",
"block.create.white_sail": "UNLOCALIZED: White Sail", "block.create.white_sail": "Weiße Segel",
"block.create.white_seat": "UNLOCALIZED: White Seat", "block.create.white_seat": "Weißer Sitz",
"block.create.white_valve_handle": "UNLOCALIZED: White Valve Handle", "block.create.white_valve_handle": "Weißer Ventilgriff",
"block.create.windmill_bearing": "UNLOCALIZED: Windmill Bearing", "block.create.windmill_bearing": "Windmühlenlager",
"block.create.wooden_bracket": "UNLOCALIZED: Wooden Bracket", "block.create.wooden_bracket": "Holzhalterung",
"block.create.yellow_sail": "UNLOCALIZED: Yellow Sail", "block.create.yellow_sail": "Gelbes Segel",
"block.create.yellow_seat": "UNLOCALIZED: Yellow Seat", "block.create.yellow_seat": "Gelber Sitz",
"block.create.yellow_valve_handle": "UNLOCALIZED: Yellow Valve Handle", "block.create.yellow_valve_handle": "Gelber Ventilgriff",
"block.create.zinc_block": "UNLOCALIZED: Zinc Block", "block.create.zinc_block": "Zinkblock",
"block.create.zinc_ore": "UNLOCALIZED: Zinc Ore", "block.create.zinc_ore": "Zinkerz",
"entity.create.contraption": "UNLOCALIZED: Contraption", "entity.create.contraption": "Vorrichtung",
"entity.create.gantry_contraption": "UNLOCALIZED: Gantry Contraption", "entity.create.gantry_contraption": "UNLOCALIZED: Gantry Contraption",
"entity.create.seat": "UNLOCALIZED: Seat", "entity.create.seat": "Sitz",
"entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption", "entity.create.stationary_contraption": "Stationärer Vorrichtung",
"entity.create.super_glue": "UNLOCALIZED: Super Glue", "entity.create.super_glue": "Superkleber",
"fluid.create.milk": "Milch", "fluid.create.milk": "Milch",
"fluid.create.potion": "Trank", "fluid.create.potion": "Trank",
"fluid.create.tea": "Bauherrentee", "fluid.create.tea": "Bauherrentee",
"item.create.andesite_alloy": "UNLOCALIZED: Andesite Alloy", "item.create.andesite_alloy": "Andesitlegierung",
"item.create.attribute_filter": "UNLOCALIZED: Attribute Filter", "item.create.attribute_filter": "Attribut Filter",
"item.create.bar_of_chocolate": "Schokoladetafel", "item.create.bar_of_chocolate": "Schokoladentafel",
"item.create.belt_connector": "Mechanischer Riemen", "item.create.belt_connector": "Mechanischer Riemen",
"item.create.blaze_cake": "UNLOCALIZED: Blaze Cake", "item.create.blaze_cake": "Lohenkuchen",
"item.create.blaze_cake_base": "UNLOCALIZED: Blaze Cake Base", "item.create.blaze_cake_base": "Lohenkuchenbasis",
"item.create.brass_hand": "UNLOCALIZED: Brass Hand", "item.create.brass_hand": "Messing Hand",
"item.create.brass_ingot": "UNLOCALIZED: Brass Ingot", "item.create.brass_ingot": "Messingbarren",
"item.create.brass_nugget": "UNLOCALIZED: Brass Nugget", "item.create.brass_nugget": "Messingklumpen",
"item.create.brass_sheet": "UNLOCALIZED: Brass Sheet", "item.create.brass_sheet": "Messingblech",
"item.create.builders_tea": "UNLOCALIZED: Builder's Tea", "item.create.builders_tea": "Baumeisters Tee",
"item.create.chest_minecart_contraption": "UNLOCALIZED: Chest Minecart Contraption", "item.create.chest_minecart_contraption": "Güterloren Vorrichtung",
"item.create.chocolate_bucket": "UNLOCALIZED: Chocolate Bucket", "item.create.chocolate_bucket": "Schokoladeneimer",
"item.create.chocolate_glazed_berries": "UNLOCALIZED: Chocolate Glazed Berries", "item.create.chocolate_glazed_berries": "Schokoladenglasierte Beeren",
"item.create.chromatic_compound": "UNLOCALIZED: Chromatic Compound", "item.create.chromatic_compound": "Chromatische Verbindung",
"item.create.cinder_flour": "UNLOCALIZED: Cinder Flour", "item.create.cinder_flour": "Aschenmehl",
"item.create.copper_ingot": "UNLOCALIZED: Copper Ingot", "item.create.copper_ingot": "Kupferbarren",
"item.create.copper_nugget": "UNLOCALIZED: Copper Nugget", "item.create.copper_nugget": "Kupferklumpen",
"item.create.copper_sheet": "UNLOCALIZED: Copper Sheet", "item.create.copper_sheet": "Kupferblech",
"item.create.crafter_slot_cover": "UNLOCALIZED: Crafter Slot Cover", "item.create.crafter_slot_cover": "Handwerkseinheit Slot Abdeckung",
"item.create.crushed_aluminum_ore": "UNLOCALIZED: Crushed Aluminum Ore", "item.create.crushed_aluminum_ore": "Zerkleinertes Aluminiumerz",
"item.create.crushed_brass": "UNLOCALIZED: Crushed Brass", "item.create.crushed_brass": "Zerkleinertes Messing",
"item.create.crushed_copper_ore": "UNLOCALIZED: Crushed Copper Ore", "item.create.crushed_copper_ore": "Zerkleinertes Kupfererz",
"item.create.crushed_gold_ore": "UNLOCALIZED: Crushed Gold Ore", "item.create.crushed_gold_ore": "Zerkleinertes Golderz",
"item.create.crushed_iron_ore": "UNLOCALIZED: Crushed Iron Ore", "item.create.crushed_iron_ore": "Zerkleinertes Eisenerz",
"item.create.crushed_lead_ore": "UNLOCALIZED: Crushed Lead Ore", "item.create.crushed_lead_ore": "Zerkleinertes Bleierz",
"item.create.crushed_nickel_ore": "UNLOCALIZED: Crushed Nickel Ore", "item.create.crushed_nickel_ore": "Zerkleinertes Nickelerz",
"item.create.crushed_osmium_ore": "UNLOCALIZED: Crushed Osmium Ore", "item.create.crushed_osmium_ore": "Zerkleinertes Osmiumerz",
"item.create.crushed_platinum_ore": "UNLOCALIZED: Crushed Platinum Ore", "item.create.crushed_platinum_ore": "Zerkleinertes Platinerz",
"item.create.crushed_quicksilver_ore": "UNLOCALIZED: Crushed Quicksilver Ore", "item.create.crushed_quicksilver_ore": "Zerkleinertes Quecksilbererz",
"item.create.crushed_silver_ore": "UNLOCALIZED: Crushed Silver Ore", "item.create.crushed_silver_ore": "Zerkleinertes Silbererz",
"item.create.crushed_tin_ore": "UNLOCALIZED: Crushed Tin Ore", "item.create.crushed_tin_ore": "Zerkleinertes Zinnerz",
"item.create.crushed_uranium_ore": "UNLOCALIZED: Crushed Uranium Ore", "item.create.crushed_uranium_ore": "Zerkleinertes Uranerz",
"item.create.crushed_zinc_ore": "UNLOCALIZED: Crushed Zinc Ore", "item.create.crushed_zinc_ore": "Zerkleinertes Zinkerz",
"item.create.deforester": "Entforster", "item.create.deforester": "Entforster",
"item.create.dough": "Teig", "item.create.dough": "Teig",
"item.create.electron_tube": "UNLOCALIZED: Electron Tube", "item.create.electron_tube": "Elektronenröhre",
"item.create.empty_blaze_burner": "UNLOCALIZED: Empty Blaze Burner", "item.create.empty_blaze_burner": "Leerer Lohenbrenner",
"item.create.empty_schematic": "Leerer Bauplan", "item.create.empty_schematic": "Leerer Bauplan",
"item.create.extendo_grip": "UNLOCALIZED: Extendo Grip", "item.create.extendo_grip": "Extendo Griff",
"item.create.filter": "Filter", "item.create.filter": "Filter",
"item.create.furnace_minecart_contraption": "UNLOCALIZED: Furnace Minecart Contraption", "item.create.furnace_minecart_contraption": "Antriebsloren Vorrichtung",
"item.create.goggles": "UNLOCALIZED: Engineer's Goggles", "item.create.goggles": "Ingenieursbrille",
"item.create.golden_sheet": "UNLOCALIZED: Golden Sheet", "item.create.golden_sheet": "Goldblech",
"item.create.handheld_blockzapper": "Blockpistole", "item.create.handheld_blockzapper": "Blockpistole",
"item.create.handheld_worldshaper": "Geländeformer", "item.create.handheld_worldshaper": "Geländeformer",
"item.create.honey_bucket": "Honigeimer", "item.create.honey_bucket": "Honigeimer",
"item.create.honeyed_apple": "UNLOCALIZED: Honeyed Apple", "item.create.honeyed_apple": "Honigapfel",
"item.create.integrated_circuit": "UNLOCALIZED: Integrated Circuit", "item.create.integrated_circuit": "Integrierter Schaltkreis",
"item.create.iron_sheet": "Eisenblech", "item.create.iron_sheet": "Eisenblech",
"item.create.lapis_sheet": "UNLOCALIZED: Lapis Sheet", "item.create.lapis_sheet": "Lapislazuliblech",
"item.create.minecart_contraption": "UNLOCALIZED: Minecart Contraption", "item.create.minecart_contraption": "Loren Vorrichtung",
"item.create.minecart_coupling": "UNLOCALIZED: Minecart Coupling", "item.create.minecart_coupling": "Lorenkupplung",
"item.create.polished_rose_quartz": "UNLOCALIZED: Polished Rose Quartz", "item.create.polished_rose_quartz": "Polierter Rosenquarz",
"item.create.powdered_obsidian": "UNLOCALIZED: Powdered Obsidian", "item.create.powdered_obsidian": "Pulverisierter Obsidian",
"item.create.propeller": "Propeller", "item.create.propeller": "Propeller",
"item.create.red_sand_paper": "Rotes Schmirgelpapier", "item.create.red_sand_paper": "Rotes Schmirgelpapier",
"item.create.refined_radiance": "UNLOCALIZED: Refined Radiance", "item.create.refined_radiance": "Raffinierter Glanz",
"item.create.rose_quartz": "Rosenquarz", "item.create.rose_quartz": "Rosenquarz",
"item.create.sand_paper": "Schmirgelpapier", "item.create.sand_paper": "Schmirgelpapier",
"item.create.schematic": "Bauplan", "item.create.schematic": "Bauplan",
"item.create.schematic_and_quill": "Bauplan und Feder", "item.create.schematic_and_quill": "Bauplan und Feder",
"item.create.shadow_steel": "UNLOCALIZED: Shadow Steel", "item.create.shadow_steel": "Schattenstahl",
"item.create.super_glue": "Superkleber", "item.create.super_glue": "Superkleber",
"item.create.sweet_roll": "UNLOCALIZED: Sweet Roll", "item.create.sweet_roll": "Rosinenschnecke",
"item.create.tree_fertilizer": "Baumdünger", "item.create.tree_fertilizer": "Baumdünger",
"item.create.vertical_gearbox": "UNLOCALIZED: Vertical Gearbox", "item.create.vertical_gearbox": "Vertikales Getriebe",
"item.create.wand_of_symmetry": "Symmetriestab", "item.create.wand_of_symmetry": "Symmetriestab",
"item.create.wheat_flour": "Weizenmehl", "item.create.wheat_flour": "Weizenmehl",
"item.create.whisk": "UNLOCALIZED: Whisk", "item.create.whisk": "Rührstab",
"item.create.wrench": "Schraubenschlüssel", "item.create.wrench": "Schraubenschlüssel",
"item.create.zinc_ingot": "Zinkbarren", "item.create.zinc_ingot": "Zinkbarren",
"item.create.zinc_nugget": "Zinkklumpen", "item.create.zinc_nugget": "Zinkklumpen",
@ -507,20 +507,20 @@
"advancement.create.overstressed.desc": "Erfahre die Limits der Belastung aus erster Hand.", "advancement.create.overstressed.desc": "Erfahre die Limits der Belastung aus erster Hand.",
"advancement.create.belt": "Befördere es alles", "advancement.create.belt": "Befördere es alles",
"advancement.create.belt.desc": "Verbinde zwei Wllen mit einem Mechanischem Riemen", "advancement.create.belt.desc": "Verbinde zwei Wllen mit einem Mechanischem Riemen",
"advancement.create.tunnel": "UNLOCALIZED: Take cover!", "advancement.create.tunnel": "Geht in Deckung!",
"advancement.create.tunnel.desc": "UNLOCALIZED: Embellish your mechanical belt with a Tunnel.", "advancement.create.tunnel.desc": "Verschönere deinen Mechanischem Riemen mit einem Tunnel.",
"advancement.create.splitter_tunnel": "UNLOCALIZED: Divide and Conquer", "advancement.create.splitter_tunnel": "Divide & Conquer",
"advancement.create.splitter_tunnel.desc": "UNLOCALIZED: Create a splitter with a group of Brass Tunnels.", "advancement.create.splitter_tunnel.desc": "Mache einen Teiler aus einer Gruppe von Messingtunneln.",
"advancement.create.chute": "UNLOCALIZED: Tumbling down", "advancement.create.chute": "Abstürzen",
"advancement.create.chute.desc": "UNLOCALIZED: Place a chute, the vertical counterpart of the belt.", "advancement.create.chute.desc": "Platziere eine Rinne, das vertikale Gegenstück des Riemens.",
"advancement.create.upward_chute": "UNLOCALIZED: Aerial Abduction", "advancement.create.upward_chute": "Luftentführung",
"advancement.create.upward_chute.desc": "UNLOCALIZED: Watch a thrown item fly up into a fan-powered chute.", "advancement.create.upward_chute.desc": "Sieh ein geworfenes Item in eine propellerbetriebene Rinne fliegen.",
"advancement.create.belt_funnel": "UNLOCALIZED: Funnels' Flappy Danglers", "advancement.create.belt_funnel": "UNLOCALIZED: Funnels' Flappy Danglers",
"advancement.create.belt_funnel.desc": "UNLOCALIZED: Place a sideways funnel on top of a belt or depot to create a special type.", "advancement.create.belt_funnel.desc": "UNLOCALIZED: Place a sideways funnel on top of a belt or depot to create a special type.",
"advancement.create.belt_funnel_kiss": "UNLOCALIZED: The Parrots and the Flaps", "advancement.create.belt_funnel_kiss": "UNLOCALIZED: The Parrots and the Flaps",
"advancement.create.belt_funnel_kiss.desc": "UNLOCALIZED: Make two belt mounted funnels kiss.", "advancement.create.belt_funnel_kiss.desc": "UNLOCALIZED: Make two belt mounted funnels kiss.",
"advancement.create.fan": "UNLOCALIZED: Mechanical Airbender", "advancement.create.fan": "Mechanischer Luftbändiger",
"advancement.create.fan.desc": "UNLOCALIZED: Ride the stream of air provided by an Encased Fan.", "advancement.create.fan.desc": "Reite den Luftstrom eines eingeschlossenen Propellers.",
"advancement.create.fan_lava": "UNLOCALIZED: Geothermal Space Heater", "advancement.create.fan_lava": "UNLOCALIZED: Geothermal Space Heater",
"advancement.create.fan_lava.desc": "UNLOCALIZED: Get caught in a stream of air that smelts things.", "advancement.create.fan_lava.desc": "UNLOCALIZED: Get caught in a stream of air that smelts things.",
"advancement.create.fan_water": "UNLOCALIZED: Wacky Washing", "advancement.create.fan_water": "UNLOCALIZED: Wacky Washing",
@ -649,12 +649,12 @@
"advancement.create.wand_of_symmetry.desc": "UNLOCALIZED: Craft a Staff of Symmetry.", "advancement.create.wand_of_symmetry.desc": "UNLOCALIZED: Craft a Staff of Symmetry.",
"advancement.create.deforester": "UNLOCALIZED: Radiant Chopping", "advancement.create.deforester": "UNLOCALIZED: Radiant Chopping",
"advancement.create.deforester.desc": "UNLOCALIZED: Craft a Deforester, and say goodbye to the local forest.", "advancement.create.deforester.desc": "UNLOCALIZED: Craft a Deforester, and say goodbye to the local forest.",
"advancement.create.extendo_grip": "UNLOCALIZED: Boioioing!", "advancement.create.extendo_grip": "Boioioing!",
"advancement.create.extendo_grip.desc": "UNLOCALIZED: Get hold of an Extendo Grip.", "advancement.create.extendo_grip.desc": "Beschaffe einen Extendo Griff.",
"advancement.create.dual_extendo_grip": "UNLOCALIZED: Ultimate Boing-age", "advancement.create.dual_extendo_grip": "Ultimatives Boing-Zeitalter",
"advancement.create.dual_extendo_grip.desc": "UNLOCALIZED: Dual wield Extendo Grips for super-human reach.", "advancement.create.dual_extendo_grip.desc": "Schwinge zwei Extendo Griffe gleichzeitig für eine übermenschliche Reichweite.",
"advancement.create.eob": "UNLOCALIZED: End of Beta", "advancement.create.eob": "Ende der Beta",
"advancement.create.eob.desc": "UNLOCALIZED: Expect more content here in the future. <3", "advancement.create.eob.desc": "Erwarte mehr Inhalt in der Zukunft. <3",
"_": "->------------------------] UI & Messages [------------------------<-", "_": "->------------------------] UI & Messages [------------------------<-",
@ -670,7 +670,7 @@
"death.attack.create.cuckoo_clock_explosion": "%1$s wurde durch eine falsche Kuckucksuhr gesprengt", "death.attack.create.cuckoo_clock_explosion": "%1$s wurde durch eine falsche Kuckucksuhr gesprengt",
"create.block.deployer.damage_source_name": "einem Finger", "create.block.deployer.damage_source_name": "einem Finger",
"create.block.cart_assembler.invalid": "UNLOCALIZED: Place your Cart Assembler on a rail block", "create.block.cart_assembler.invalid": "Platziere deinen Lorenmonteur auf einer Schiene.",
"create.recipe.crushing": "Mahlen (Mahlwerk)", "create.recipe.crushing": "Mahlen (Mahlwerk)",
"create.recipe.milling": "Mahlen (Mahlstein)", "create.recipe.milling": "Mahlen (Mahlstein)",
@ -703,9 +703,9 @@
"create.generic.range": "Reichweite", "create.generic.range": "Reichweite",
"create.generic.radius": "Radius", "create.generic.radius": "Radius",
"create.generic.width": "UNLOCALIZED: Width", "create.generic.width": "Breite",
"create.generic.height": "UNLOCALIZED: Height", "create.generic.height": "Höhe",
"create.generic.length": "UNLOCALIZED: Length", "create.generic.length": "Länge",
"create.generic.speed": "Geschwindigkeit", "create.generic.speed": "Geschwindigkeit",
"create.generic.delay": "Verzögerung", "create.generic.delay": "Verzögerung",
"create.generic.unit.ticks": "Ticks", "create.generic.unit.ticks": "Ticks",
@ -730,7 +730,7 @@
"create.gui.scrollInput.defaultTitle": "Wähle eine Option:", "create.gui.scrollInput.defaultTitle": "Wähle eine Option:",
"create.gui.scrollInput.scrollToModify": "Mausrad zum Ändern", "create.gui.scrollInput.scrollToModify": "Mausrad zum Ändern",
"create.gui.scrollInput.scrollToAdjustAmount": "UNLOCALIZED: Scroll to Adjust Amount", "create.gui.scrollInput.scrollToAdjustAmount": "Mausrad um Betrag anzupassen",
"create.gui.scrollInput.scrollToSelect": "Mausrad zum Auswählen", "create.gui.scrollInput.scrollToSelect": "Mausrad zum Auswählen",
"create.gui.scrollInput.shiftScrollsFaster": "Shift zum schnelleren Auswählen", "create.gui.scrollInput.shiftScrollsFaster": "Shift zum schnelleren Auswählen",
"create.gui.toolmenu.focusKey": "Halte [%1$s] zum Fokussieren", "create.gui.toolmenu.focusKey": "Halte [%1$s] zum Fokussieren",
@ -1386,8 +1386,8 @@
"block.create.creative_crate.tooltip": "BAUPLANKANONENMACHER", "block.create.creative_crate.tooltip": "BAUPLANKANONENMACHER",
"block.create.creative_crate.tooltip.summary": "Stellt einen unendlichen Vorrat an Blöcken für benachbarte _Bauplaenkanonen_ bereit.", "block.create.creative_crate.tooltip.summary": "Stellt einen unendlichen Vorrat an Blöcken für benachbarte _Bauplaenkanonen_ bereit.",
"block.create.creative_crate.tooltip.condition1": "UNLOCALIZED: When Item in Filter Slot", "block.create.creative_crate.tooltip.condition1": "Wenn Item in Filter Slot",
"block.create.creative_crate.tooltip.behaviour1": "UNLOCALIZED: Anything _extracting_ from this container will provide an _endless supply_ of the item specified. Items _inserted_ into this crate will be _voided._", "block.create.creative_crate.tooltip.behaviour1": "Alles _extrahierende_ von diesem Container wird einen _endlosen Vorrat_ des angegebenen Items zur Verfügung stellen. In diese Kiste _eingefügte_ Items werden _entsorgt_.",
"block.create.controller_rail.tooltip": "UNLOCALIZED: CONTROLLER RAIL", "block.create.controller_rail.tooltip": "UNLOCALIZED: CONTROLLER RAIL",
"block.create.controller_rail.tooltip.summary": "UNLOCALIZED: A _uni-directional powered rail_ capable of _fine control_ over a minecarts' _movement speed_.", "block.create.controller_rail.tooltip.summary": "UNLOCALIZED: A _uni-directional powered rail_ capable of _fine control_ over a minecarts' _movement speed_.",
@ -1739,7 +1739,7 @@
"create.ponder.funnel_transfer.header": "UNLOCALIZED: Direct transfer", "create.ponder.funnel_transfer.header": "UNLOCALIZED: Direct transfer",
"create.ponder.funnel_transfer.text_1": "UNLOCALIZED: Funnels cannot ever transfer between closed inventories directly.", "create.ponder.funnel_transfer.text_1": "UNLOCALIZED: Funnels cannot ever transfer between closed inventories directly.",
"create.ponder.funnel_transfer.text_2": "UNLOCALIZED: Chutes or Smart chutes might be more suitable for such purposes.", "create.ponder.funnel_transfer.text_2": "UNLOCALIZED: Chutes or Smart chutes might be more suitable for such purposes.",
"create.ponder.funnel_transfer.text_3": "UNLOCALIZED: Same applies for horizontal movement.\nA mechanical belt should help here.", "create.ponder.funnel_transfer.text_3": "UNLOCALIZED: Same applies for horizontal movement. A mechanical belt should help here.",
"create.ponder.furnace_engine.header": "UNLOCALIZED: Generating Rotational Force using the Furnace Engine", "create.ponder.furnace_engine.header": "UNLOCALIZED: Generating Rotational Force using the Furnace Engine",
"create.ponder.furnace_engine.text_1": "UNLOCALIZED: Furnace Engines generate Rotational Force while their attached Furnace is running", "create.ponder.furnace_engine.text_1": "UNLOCALIZED: Furnace Engines generate Rotational Force while their attached Furnace is running",
@ -1929,6 +1929,10 @@
"create.ponder.millstone.text_4": "UNLOCALIZED: After some time, the result can be obtained via Right-click", "create.ponder.millstone.text_4": "UNLOCALIZED: After some time, the result can be obtained via Right-click",
"create.ponder.millstone.text_5": "UNLOCALIZED: The outputs can also be extracted by automation", "create.ponder.millstone.text_5": "UNLOCALIZED: The outputs can also be extracted by automation",
"create.ponder.nixie_tube.header": "UNLOCALIZED: Using Nixie Tubes",
"create.ponder.nixie_tube.text_1": "UNLOCALIZED: When powered by Redstone, Nixie Tubes will display the redstone signals' strength",
"create.ponder.nixie_tube.text_2": "UNLOCALIZED: Using name tags edited with an anvil, custom text can be displayed",
"create.ponder.piston_pole.header": "UNLOCALIZED: Piston Extension Poles", "create.ponder.piston_pole.header": "UNLOCALIZED: Piston Extension Poles",
"create.ponder.piston_pole.text_1": "UNLOCALIZED: Without attached Poles, a Mechanical Piston cannot move", "create.ponder.piston_pole.text_1": "UNLOCALIZED: Without attached Poles, a Mechanical Piston cannot move",
"create.ponder.piston_pole.text_2": "UNLOCALIZED: The Length of pole added at its back determines the Extension Range", "create.ponder.piston_pole.text_2": "UNLOCALIZED: The Length of pole added at its back determines the Extension Range",

View file

@ -1,5 +1,5 @@
{ {
"_": "Missing Localizations: 598", "_": "Missing Localizations: 601",
"_": "->------------------------] Game Elements [------------------------<-", "_": "->------------------------] Game Elements [------------------------<-",
@ -1739,7 +1739,7 @@
"create.ponder.funnel_transfer.header": "UNLOCALIZED: Direct transfer", "create.ponder.funnel_transfer.header": "UNLOCALIZED: Direct transfer",
"create.ponder.funnel_transfer.text_1": "UNLOCALIZED: Funnels cannot ever transfer between closed inventories directly.", "create.ponder.funnel_transfer.text_1": "UNLOCALIZED: Funnels cannot ever transfer between closed inventories directly.",
"create.ponder.funnel_transfer.text_2": "UNLOCALIZED: Chutes or Smart chutes might be more suitable for such purposes.", "create.ponder.funnel_transfer.text_2": "UNLOCALIZED: Chutes or Smart chutes might be more suitable for such purposes.",
"create.ponder.funnel_transfer.text_3": "UNLOCALIZED: Same applies for horizontal movement.\nA mechanical belt should help here.", "create.ponder.funnel_transfer.text_3": "UNLOCALIZED: Same applies for horizontal movement. A mechanical belt should help here.",
"create.ponder.furnace_engine.header": "UNLOCALIZED: Generating Rotational Force using the Furnace Engine", "create.ponder.furnace_engine.header": "UNLOCALIZED: Generating Rotational Force using the Furnace Engine",
"create.ponder.furnace_engine.text_1": "UNLOCALIZED: Furnace Engines generate Rotational Force while their attached Furnace is running", "create.ponder.furnace_engine.text_1": "UNLOCALIZED: Furnace Engines generate Rotational Force while their attached Furnace is running",
@ -1929,6 +1929,10 @@
"create.ponder.millstone.text_4": "UNLOCALIZED: After some time, the result can be obtained via Right-click", "create.ponder.millstone.text_4": "UNLOCALIZED: After some time, the result can be obtained via Right-click",
"create.ponder.millstone.text_5": "UNLOCALIZED: The outputs can also be extracted by automation", "create.ponder.millstone.text_5": "UNLOCALIZED: The outputs can also be extracted by automation",
"create.ponder.nixie_tube.header": "UNLOCALIZED: Using Nixie Tubes",
"create.ponder.nixie_tube.text_1": "UNLOCALIZED: When powered by Redstone, Nixie Tubes will display the redstone signals' strength",
"create.ponder.nixie_tube.text_2": "UNLOCALIZED: Using name tags edited with an anvil, custom text can be displayed",
"create.ponder.piston_pole.header": "UNLOCALIZED: Piston Extension Poles", "create.ponder.piston_pole.header": "UNLOCALIZED: Piston Extension Poles",
"create.ponder.piston_pole.text_1": "UNLOCALIZED: Without attached Poles, a Mechanical Piston cannot move", "create.ponder.piston_pole.text_1": "UNLOCALIZED: Without attached Poles, a Mechanical Piston cannot move",
"create.ponder.piston_pole.text_2": "UNLOCALIZED: The Length of pole added at its back determines the Extension Range", "create.ponder.piston_pole.text_2": "UNLOCALIZED: The Length of pole added at its back determines the Extension Range",

View file

@ -1,5 +1,5 @@
{ {
"_": "Missing Localizations: 1262", "_": "Missing Localizations: 1265",
"_": "->------------------------] Game Elements [------------------------<-", "_": "->------------------------] Game Elements [------------------------<-",
@ -1739,7 +1739,7 @@
"create.ponder.funnel_transfer.header": "UNLOCALIZED: Direct transfer", "create.ponder.funnel_transfer.header": "UNLOCALIZED: Direct transfer",
"create.ponder.funnel_transfer.text_1": "UNLOCALIZED: Funnels cannot ever transfer between closed inventories directly.", "create.ponder.funnel_transfer.text_1": "UNLOCALIZED: Funnels cannot ever transfer between closed inventories directly.",
"create.ponder.funnel_transfer.text_2": "UNLOCALIZED: Chutes or Smart chutes might be more suitable for such purposes.", "create.ponder.funnel_transfer.text_2": "UNLOCALIZED: Chutes or Smart chutes might be more suitable for such purposes.",
"create.ponder.funnel_transfer.text_3": "UNLOCALIZED: Same applies for horizontal movement.\nA mechanical belt should help here.", "create.ponder.funnel_transfer.text_3": "UNLOCALIZED: Same applies for horizontal movement. A mechanical belt should help here.",
"create.ponder.furnace_engine.header": "UNLOCALIZED: Generating Rotational Force using the Furnace Engine", "create.ponder.furnace_engine.header": "UNLOCALIZED: Generating Rotational Force using the Furnace Engine",
"create.ponder.furnace_engine.text_1": "UNLOCALIZED: Furnace Engines generate Rotational Force while their attached Furnace is running", "create.ponder.furnace_engine.text_1": "UNLOCALIZED: Furnace Engines generate Rotational Force while their attached Furnace is running",
@ -1929,6 +1929,10 @@
"create.ponder.millstone.text_4": "UNLOCALIZED: After some time, the result can be obtained via Right-click", "create.ponder.millstone.text_4": "UNLOCALIZED: After some time, the result can be obtained via Right-click",
"create.ponder.millstone.text_5": "UNLOCALIZED: The outputs can also be extracted by automation", "create.ponder.millstone.text_5": "UNLOCALIZED: The outputs can also be extracted by automation",
"create.ponder.nixie_tube.header": "UNLOCALIZED: Using Nixie Tubes",
"create.ponder.nixie_tube.text_1": "UNLOCALIZED: When powered by Redstone, Nixie Tubes will display the redstone signals' strength",
"create.ponder.nixie_tube.text_2": "UNLOCALIZED: Using name tags edited with an anvil, custom text can be displayed",
"create.ponder.piston_pole.header": "UNLOCALIZED: Piston Extension Poles", "create.ponder.piston_pole.header": "UNLOCALIZED: Piston Extension Poles",
"create.ponder.piston_pole.text_1": "UNLOCALIZED: Without attached Poles, a Mechanical Piston cannot move", "create.ponder.piston_pole.text_1": "UNLOCALIZED: Without attached Poles, a Mechanical Piston cannot move",
"create.ponder.piston_pole.text_2": "UNLOCALIZED: The Length of pole added at its back determines the Extension Range", "create.ponder.piston_pole.text_2": "UNLOCALIZED: The Length of pole added at its back determines the Extension Range",

View file

@ -1,5 +1,5 @@
{ {
"_": "Missing Localizations: 1155", "_": "Missing Localizations: 1158",
"_": "->------------------------] Game Elements [------------------------<-", "_": "->------------------------] Game Elements [------------------------<-",
@ -1739,7 +1739,7 @@
"create.ponder.funnel_transfer.header": "UNLOCALIZED: Direct transfer", "create.ponder.funnel_transfer.header": "UNLOCALIZED: Direct transfer",
"create.ponder.funnel_transfer.text_1": "UNLOCALIZED: Funnels cannot ever transfer between closed inventories directly.", "create.ponder.funnel_transfer.text_1": "UNLOCALIZED: Funnels cannot ever transfer between closed inventories directly.",
"create.ponder.funnel_transfer.text_2": "UNLOCALIZED: Chutes or Smart chutes might be more suitable for such purposes.", "create.ponder.funnel_transfer.text_2": "UNLOCALIZED: Chutes or Smart chutes might be more suitable for such purposes.",
"create.ponder.funnel_transfer.text_3": "UNLOCALIZED: Same applies for horizontal movement.\nA mechanical belt should help here.", "create.ponder.funnel_transfer.text_3": "UNLOCALIZED: Same applies for horizontal movement. A mechanical belt should help here.",
"create.ponder.furnace_engine.header": "UNLOCALIZED: Generating Rotational Force using the Furnace Engine", "create.ponder.furnace_engine.header": "UNLOCALIZED: Generating Rotational Force using the Furnace Engine",
"create.ponder.furnace_engine.text_1": "UNLOCALIZED: Furnace Engines generate Rotational Force while their attached Furnace is running", "create.ponder.furnace_engine.text_1": "UNLOCALIZED: Furnace Engines generate Rotational Force while their attached Furnace is running",
@ -1929,6 +1929,10 @@
"create.ponder.millstone.text_4": "UNLOCALIZED: After some time, the result can be obtained via Right-click", "create.ponder.millstone.text_4": "UNLOCALIZED: After some time, the result can be obtained via Right-click",
"create.ponder.millstone.text_5": "UNLOCALIZED: The outputs can also be extracted by automation", "create.ponder.millstone.text_5": "UNLOCALIZED: The outputs can also be extracted by automation",
"create.ponder.nixie_tube.header": "UNLOCALIZED: Using Nixie Tubes",
"create.ponder.nixie_tube.text_1": "UNLOCALIZED: When powered by Redstone, Nixie Tubes will display the redstone signals' strength",
"create.ponder.nixie_tube.text_2": "UNLOCALIZED: Using name tags edited with an anvil, custom text can be displayed",
"create.ponder.piston_pole.header": "UNLOCALIZED: Piston Extension Poles", "create.ponder.piston_pole.header": "UNLOCALIZED: Piston Extension Poles",
"create.ponder.piston_pole.text_1": "UNLOCALIZED: Without attached Poles, a Mechanical Piston cannot move", "create.ponder.piston_pole.text_1": "UNLOCALIZED: Without attached Poles, a Mechanical Piston cannot move",
"create.ponder.piston_pole.text_2": "UNLOCALIZED: The Length of pole added at its back determines the Extension Range", "create.ponder.piston_pole.text_2": "UNLOCALIZED: The Length of pole added at its back determines the Extension Range",

View file

@ -1,5 +1,5 @@
{ {
"_": "Missing Localizations: 615", "_": "Missing Localizations: 618",
"_": "->------------------------] Game Elements [------------------------<-", "_": "->------------------------] Game Elements [------------------------<-",
@ -1739,7 +1739,7 @@
"create.ponder.funnel_transfer.header": "UNLOCALIZED: Direct transfer", "create.ponder.funnel_transfer.header": "UNLOCALIZED: Direct transfer",
"create.ponder.funnel_transfer.text_1": "UNLOCALIZED: Funnels cannot ever transfer between closed inventories directly.", "create.ponder.funnel_transfer.text_1": "UNLOCALIZED: Funnels cannot ever transfer between closed inventories directly.",
"create.ponder.funnel_transfer.text_2": "UNLOCALIZED: Chutes or Smart chutes might be more suitable for such purposes.", "create.ponder.funnel_transfer.text_2": "UNLOCALIZED: Chutes or Smart chutes might be more suitable for such purposes.",
"create.ponder.funnel_transfer.text_3": "UNLOCALIZED: Same applies for horizontal movement.\nA mechanical belt should help here.", "create.ponder.funnel_transfer.text_3": "UNLOCALIZED: Same applies for horizontal movement. A mechanical belt should help here.",
"create.ponder.furnace_engine.header": "UNLOCALIZED: Generating Rotational Force using the Furnace Engine", "create.ponder.furnace_engine.header": "UNLOCALIZED: Generating Rotational Force using the Furnace Engine",
"create.ponder.furnace_engine.text_1": "UNLOCALIZED: Furnace Engines generate Rotational Force while their attached Furnace is running", "create.ponder.furnace_engine.text_1": "UNLOCALIZED: Furnace Engines generate Rotational Force while their attached Furnace is running",
@ -1929,6 +1929,10 @@
"create.ponder.millstone.text_4": "UNLOCALIZED: After some time, the result can be obtained via Right-click", "create.ponder.millstone.text_4": "UNLOCALIZED: After some time, the result can be obtained via Right-click",
"create.ponder.millstone.text_5": "UNLOCALIZED: The outputs can also be extracted by automation", "create.ponder.millstone.text_5": "UNLOCALIZED: The outputs can also be extracted by automation",
"create.ponder.nixie_tube.header": "UNLOCALIZED: Using Nixie Tubes",
"create.ponder.nixie_tube.text_1": "UNLOCALIZED: When powered by Redstone, Nixie Tubes will display the redstone signals' strength",
"create.ponder.nixie_tube.text_2": "UNLOCALIZED: Using name tags edited with an anvil, custom text can be displayed",
"create.ponder.piston_pole.header": "UNLOCALIZED: Piston Extension Poles", "create.ponder.piston_pole.header": "UNLOCALIZED: Piston Extension Poles",
"create.ponder.piston_pole.text_1": "UNLOCALIZED: Without attached Poles, a Mechanical Piston cannot move", "create.ponder.piston_pole.text_1": "UNLOCALIZED: Without attached Poles, a Mechanical Piston cannot move",
"create.ponder.piston_pole.text_2": "UNLOCALIZED: The Length of pole added at its back determines the Extension Range", "create.ponder.piston_pole.text_2": "UNLOCALIZED: The Length of pole added at its back determines the Extension Range",

View file

@ -1,5 +1,5 @@
{ {
"_": "Missing Localizations: 622", "_": "Missing Localizations: 625",
"_": "->------------------------] Game Elements [------------------------<-", "_": "->------------------------] Game Elements [------------------------<-",
@ -1739,7 +1739,7 @@
"create.ponder.funnel_transfer.header": "UNLOCALIZED: Direct transfer", "create.ponder.funnel_transfer.header": "UNLOCALIZED: Direct transfer",
"create.ponder.funnel_transfer.text_1": "UNLOCALIZED: Funnels cannot ever transfer between closed inventories directly.", "create.ponder.funnel_transfer.text_1": "UNLOCALIZED: Funnels cannot ever transfer between closed inventories directly.",
"create.ponder.funnel_transfer.text_2": "UNLOCALIZED: Chutes or Smart chutes might be more suitable for such purposes.", "create.ponder.funnel_transfer.text_2": "UNLOCALIZED: Chutes or Smart chutes might be more suitable for such purposes.",
"create.ponder.funnel_transfer.text_3": "UNLOCALIZED: Same applies for horizontal movement.\nA mechanical belt should help here.", "create.ponder.funnel_transfer.text_3": "UNLOCALIZED: Same applies for horizontal movement. A mechanical belt should help here.",
"create.ponder.furnace_engine.header": "UNLOCALIZED: Generating Rotational Force using the Furnace Engine", "create.ponder.furnace_engine.header": "UNLOCALIZED: Generating Rotational Force using the Furnace Engine",
"create.ponder.furnace_engine.text_1": "UNLOCALIZED: Furnace Engines generate Rotational Force while their attached Furnace is running", "create.ponder.furnace_engine.text_1": "UNLOCALIZED: Furnace Engines generate Rotational Force while their attached Furnace is running",
@ -1929,6 +1929,10 @@
"create.ponder.millstone.text_4": "UNLOCALIZED: After some time, the result can be obtained via Right-click", "create.ponder.millstone.text_4": "UNLOCALIZED: After some time, the result can be obtained via Right-click",
"create.ponder.millstone.text_5": "UNLOCALIZED: The outputs can also be extracted by automation", "create.ponder.millstone.text_5": "UNLOCALIZED: The outputs can also be extracted by automation",
"create.ponder.nixie_tube.header": "UNLOCALIZED: Using Nixie Tubes",
"create.ponder.nixie_tube.text_1": "UNLOCALIZED: When powered by Redstone, Nixie Tubes will display the redstone signals' strength",
"create.ponder.nixie_tube.text_2": "UNLOCALIZED: Using name tags edited with an anvil, custom text can be displayed",
"create.ponder.piston_pole.header": "UNLOCALIZED: Piston Extension Poles", "create.ponder.piston_pole.header": "UNLOCALIZED: Piston Extension Poles",
"create.ponder.piston_pole.text_1": "UNLOCALIZED: Without attached Poles, a Mechanical Piston cannot move", "create.ponder.piston_pole.text_1": "UNLOCALIZED: Without attached Poles, a Mechanical Piston cannot move",
"create.ponder.piston_pole.text_2": "UNLOCALIZED: The Length of pole added at its back determines the Extension Range", "create.ponder.piston_pole.text_2": "UNLOCALIZED: The Length of pole added at its back determines the Extension Range",

View file

@ -1,5 +1,5 @@
{ {
"_": "Missing Localizations: 668", "_": "Missing Localizations: 671",
"_": "->------------------------] Game Elements [------------------------<-", "_": "->------------------------] Game Elements [------------------------<-",
@ -1739,7 +1739,7 @@
"create.ponder.funnel_transfer.header": "UNLOCALIZED: Direct transfer", "create.ponder.funnel_transfer.header": "UNLOCALIZED: Direct transfer",
"create.ponder.funnel_transfer.text_1": "UNLOCALIZED: Funnels cannot ever transfer between closed inventories directly.", "create.ponder.funnel_transfer.text_1": "UNLOCALIZED: Funnels cannot ever transfer between closed inventories directly.",
"create.ponder.funnel_transfer.text_2": "UNLOCALIZED: Chutes or Smart chutes might be more suitable for such purposes.", "create.ponder.funnel_transfer.text_2": "UNLOCALIZED: Chutes or Smart chutes might be more suitable for such purposes.",
"create.ponder.funnel_transfer.text_3": "UNLOCALIZED: Same applies for horizontal movement.\nA mechanical belt should help here.", "create.ponder.funnel_transfer.text_3": "UNLOCALIZED: Same applies for horizontal movement. A mechanical belt should help here.",
"create.ponder.furnace_engine.header": "UNLOCALIZED: Generating Rotational Force using the Furnace Engine", "create.ponder.furnace_engine.header": "UNLOCALIZED: Generating Rotational Force using the Furnace Engine",
"create.ponder.furnace_engine.text_1": "UNLOCALIZED: Furnace Engines generate Rotational Force while their attached Furnace is running", "create.ponder.furnace_engine.text_1": "UNLOCALIZED: Furnace Engines generate Rotational Force while their attached Furnace is running",
@ -1929,6 +1929,10 @@
"create.ponder.millstone.text_4": "UNLOCALIZED: After some time, the result can be obtained via Right-click", "create.ponder.millstone.text_4": "UNLOCALIZED: After some time, the result can be obtained via Right-click",
"create.ponder.millstone.text_5": "UNLOCALIZED: The outputs can also be extracted by automation", "create.ponder.millstone.text_5": "UNLOCALIZED: The outputs can also be extracted by automation",
"create.ponder.nixie_tube.header": "UNLOCALIZED: Using Nixie Tubes",
"create.ponder.nixie_tube.text_1": "UNLOCALIZED: When powered by Redstone, Nixie Tubes will display the redstone signals' strength",
"create.ponder.nixie_tube.text_2": "UNLOCALIZED: Using name tags edited with an anvil, custom text can be displayed",
"create.ponder.piston_pole.header": "UNLOCALIZED: Piston Extension Poles", "create.ponder.piston_pole.header": "UNLOCALIZED: Piston Extension Poles",
"create.ponder.piston_pole.text_1": "UNLOCALIZED: Without attached Poles, a Mechanical Piston cannot move", "create.ponder.piston_pole.text_1": "UNLOCALIZED: Without attached Poles, a Mechanical Piston cannot move",
"create.ponder.piston_pole.text_2": "UNLOCALIZED: The Length of pole added at its back determines the Extension Range", "create.ponder.piston_pole.text_2": "UNLOCALIZED: The Length of pole added at its back determines the Extension Range",

View file

@ -1,5 +1,5 @@
{ {
"_": "Missing Localizations: 1547", "_": "Missing Localizations: 1550",
"_": "->------------------------] Game Elements [------------------------<-", "_": "->------------------------] Game Elements [------------------------<-",
@ -1739,7 +1739,7 @@
"create.ponder.funnel_transfer.header": "UNLOCALIZED: Direct transfer", "create.ponder.funnel_transfer.header": "UNLOCALIZED: Direct transfer",
"create.ponder.funnel_transfer.text_1": "UNLOCALIZED: Funnels cannot ever transfer between closed inventories directly.", "create.ponder.funnel_transfer.text_1": "UNLOCALIZED: Funnels cannot ever transfer between closed inventories directly.",
"create.ponder.funnel_transfer.text_2": "UNLOCALIZED: Chutes or Smart chutes might be more suitable for such purposes.", "create.ponder.funnel_transfer.text_2": "UNLOCALIZED: Chutes or Smart chutes might be more suitable for such purposes.",
"create.ponder.funnel_transfer.text_3": "UNLOCALIZED: Same applies for horizontal movement.\nA mechanical belt should help here.", "create.ponder.funnel_transfer.text_3": "UNLOCALIZED: Same applies for horizontal movement. A mechanical belt should help here.",
"create.ponder.furnace_engine.header": "UNLOCALIZED: Generating Rotational Force using the Furnace Engine", "create.ponder.furnace_engine.header": "UNLOCALIZED: Generating Rotational Force using the Furnace Engine",
"create.ponder.furnace_engine.text_1": "UNLOCALIZED: Furnace Engines generate Rotational Force while their attached Furnace is running", "create.ponder.furnace_engine.text_1": "UNLOCALIZED: Furnace Engines generate Rotational Force while their attached Furnace is running",
@ -1929,6 +1929,10 @@
"create.ponder.millstone.text_4": "UNLOCALIZED: After some time, the result can be obtained via Right-click", "create.ponder.millstone.text_4": "UNLOCALIZED: After some time, the result can be obtained via Right-click",
"create.ponder.millstone.text_5": "UNLOCALIZED: The outputs can also be extracted by automation", "create.ponder.millstone.text_5": "UNLOCALIZED: The outputs can also be extracted by automation",
"create.ponder.nixie_tube.header": "UNLOCALIZED: Using Nixie Tubes",
"create.ponder.nixie_tube.text_1": "UNLOCALIZED: When powered by Redstone, Nixie Tubes will display the redstone signals' strength",
"create.ponder.nixie_tube.text_2": "UNLOCALIZED: Using name tags edited with an anvil, custom text can be displayed",
"create.ponder.piston_pole.header": "UNLOCALIZED: Piston Extension Poles", "create.ponder.piston_pole.header": "UNLOCALIZED: Piston Extension Poles",
"create.ponder.piston_pole.text_1": "UNLOCALIZED: Without attached Poles, a Mechanical Piston cannot move", "create.ponder.piston_pole.text_1": "UNLOCALIZED: Without attached Poles, a Mechanical Piston cannot move",
"create.ponder.piston_pole.text_2": "UNLOCALIZED: The Length of pole added at its back determines the Extension Range", "create.ponder.piston_pole.text_2": "UNLOCALIZED: The Length of pole added at its back determines the Extension Range",

View file

@ -1,5 +1,5 @@
{ {
"_": "Missing Localizations: 1601", "_": "Missing Localizations: 1604",
"_": "->------------------------] Game Elements [------------------------<-", "_": "->------------------------] Game Elements [------------------------<-",
@ -1739,7 +1739,7 @@
"create.ponder.funnel_transfer.header": "UNLOCALIZED: Direct transfer", "create.ponder.funnel_transfer.header": "UNLOCALIZED: Direct transfer",
"create.ponder.funnel_transfer.text_1": "UNLOCALIZED: Funnels cannot ever transfer between closed inventories directly.", "create.ponder.funnel_transfer.text_1": "UNLOCALIZED: Funnels cannot ever transfer between closed inventories directly.",
"create.ponder.funnel_transfer.text_2": "UNLOCALIZED: Chutes or Smart chutes might be more suitable for such purposes.", "create.ponder.funnel_transfer.text_2": "UNLOCALIZED: Chutes or Smart chutes might be more suitable for such purposes.",
"create.ponder.funnel_transfer.text_3": "UNLOCALIZED: Same applies for horizontal movement.\nA mechanical belt should help here.", "create.ponder.funnel_transfer.text_3": "UNLOCALIZED: Same applies for horizontal movement. A mechanical belt should help here.",
"create.ponder.furnace_engine.header": "UNLOCALIZED: Generating Rotational Force using the Furnace Engine", "create.ponder.furnace_engine.header": "UNLOCALIZED: Generating Rotational Force using the Furnace Engine",
"create.ponder.furnace_engine.text_1": "UNLOCALIZED: Furnace Engines generate Rotational Force while their attached Furnace is running", "create.ponder.furnace_engine.text_1": "UNLOCALIZED: Furnace Engines generate Rotational Force while their attached Furnace is running",
@ -1929,6 +1929,10 @@
"create.ponder.millstone.text_4": "UNLOCALIZED: After some time, the result can be obtained via Right-click", "create.ponder.millstone.text_4": "UNLOCALIZED: After some time, the result can be obtained via Right-click",
"create.ponder.millstone.text_5": "UNLOCALIZED: The outputs can also be extracted by automation", "create.ponder.millstone.text_5": "UNLOCALIZED: The outputs can also be extracted by automation",
"create.ponder.nixie_tube.header": "UNLOCALIZED: Using Nixie Tubes",
"create.ponder.nixie_tube.text_1": "UNLOCALIZED: When powered by Redstone, Nixie Tubes will display the redstone signals' strength",
"create.ponder.nixie_tube.text_2": "UNLOCALIZED: Using name tags edited with an anvil, custom text can be displayed",
"create.ponder.piston_pole.header": "UNLOCALIZED: Piston Extension Poles", "create.ponder.piston_pole.header": "UNLOCALIZED: Piston Extension Poles",
"create.ponder.piston_pole.text_1": "UNLOCALIZED: Without attached Poles, a Mechanical Piston cannot move", "create.ponder.piston_pole.text_1": "UNLOCALIZED: Without attached Poles, a Mechanical Piston cannot move",
"create.ponder.piston_pole.text_2": "UNLOCALIZED: The Length of pole added at its back determines the Extension Range", "create.ponder.piston_pole.text_2": "UNLOCALIZED: The Length of pole added at its back determines the Extension Range",

View file

@ -1,5 +1,5 @@
{ {
"_": "Missing Localizations: 618", "_": "Missing Localizations: 621",
"_": "->------------------------] Game Elements [------------------------<-", "_": "->------------------------] Game Elements [------------------------<-",
@ -1739,7 +1739,7 @@
"create.ponder.funnel_transfer.header": "UNLOCALIZED: Direct transfer", "create.ponder.funnel_transfer.header": "UNLOCALIZED: Direct transfer",
"create.ponder.funnel_transfer.text_1": "UNLOCALIZED: Funnels cannot ever transfer between closed inventories directly.", "create.ponder.funnel_transfer.text_1": "UNLOCALIZED: Funnels cannot ever transfer between closed inventories directly.",
"create.ponder.funnel_transfer.text_2": "UNLOCALIZED: Chutes or Smart chutes might be more suitable for such purposes.", "create.ponder.funnel_transfer.text_2": "UNLOCALIZED: Chutes or Smart chutes might be more suitable for such purposes.",
"create.ponder.funnel_transfer.text_3": "UNLOCALIZED: Same applies for horizontal movement.\nA mechanical belt should help here.", "create.ponder.funnel_transfer.text_3": "UNLOCALIZED: Same applies for horizontal movement. A mechanical belt should help here.",
"create.ponder.furnace_engine.header": "UNLOCALIZED: Generating Rotational Force using the Furnace Engine", "create.ponder.furnace_engine.header": "UNLOCALIZED: Generating Rotational Force using the Furnace Engine",
"create.ponder.furnace_engine.text_1": "UNLOCALIZED: Furnace Engines generate Rotational Force while their attached Furnace is running", "create.ponder.furnace_engine.text_1": "UNLOCALIZED: Furnace Engines generate Rotational Force while their attached Furnace is running",
@ -1929,6 +1929,10 @@
"create.ponder.millstone.text_4": "UNLOCALIZED: After some time, the result can be obtained via Right-click", "create.ponder.millstone.text_4": "UNLOCALIZED: After some time, the result can be obtained via Right-click",
"create.ponder.millstone.text_5": "UNLOCALIZED: The outputs can also be extracted by automation", "create.ponder.millstone.text_5": "UNLOCALIZED: The outputs can also be extracted by automation",
"create.ponder.nixie_tube.header": "UNLOCALIZED: Using Nixie Tubes",
"create.ponder.nixie_tube.text_1": "UNLOCALIZED: When powered by Redstone, Nixie Tubes will display the redstone signals' strength",
"create.ponder.nixie_tube.text_2": "UNLOCALIZED: Using name tags edited with an anvil, custom text can be displayed",
"create.ponder.piston_pole.header": "UNLOCALIZED: Piston Extension Poles", "create.ponder.piston_pole.header": "UNLOCALIZED: Piston Extension Poles",
"create.ponder.piston_pole.text_1": "UNLOCALIZED: Without attached Poles, a Mechanical Piston cannot move", "create.ponder.piston_pole.text_1": "UNLOCALIZED: Without attached Poles, a Mechanical Piston cannot move",
"create.ponder.piston_pole.text_2": "UNLOCALIZED: The Length of pole added at its back determines the Extension Range", "create.ponder.piston_pole.text_2": "UNLOCALIZED: The Length of pole added at its back determines the Extension Range",

View file

@ -1,5 +1,5 @@
{ {
"_": "Missing Localizations: 616", "_": "Missing Localizations: 619",
"_": "->------------------------] Game Elements [------------------------<-", "_": "->------------------------] Game Elements [------------------------<-",
@ -1739,7 +1739,7 @@
"create.ponder.funnel_transfer.header": "UNLOCALIZED: Direct transfer", "create.ponder.funnel_transfer.header": "UNLOCALIZED: Direct transfer",
"create.ponder.funnel_transfer.text_1": "UNLOCALIZED: Funnels cannot ever transfer between closed inventories directly.", "create.ponder.funnel_transfer.text_1": "UNLOCALIZED: Funnels cannot ever transfer between closed inventories directly.",
"create.ponder.funnel_transfer.text_2": "UNLOCALIZED: Chutes or Smart chutes might be more suitable for such purposes.", "create.ponder.funnel_transfer.text_2": "UNLOCALIZED: Chutes or Smart chutes might be more suitable for such purposes.",
"create.ponder.funnel_transfer.text_3": "UNLOCALIZED: Same applies for horizontal movement.\nA mechanical belt should help here.", "create.ponder.funnel_transfer.text_3": "UNLOCALIZED: Same applies for horizontal movement. A mechanical belt should help here.",
"create.ponder.furnace_engine.header": "UNLOCALIZED: Generating Rotational Force using the Furnace Engine", "create.ponder.furnace_engine.header": "UNLOCALIZED: Generating Rotational Force using the Furnace Engine",
"create.ponder.furnace_engine.text_1": "UNLOCALIZED: Furnace Engines generate Rotational Force while their attached Furnace is running", "create.ponder.furnace_engine.text_1": "UNLOCALIZED: Furnace Engines generate Rotational Force while their attached Furnace is running",
@ -1929,6 +1929,10 @@
"create.ponder.millstone.text_4": "UNLOCALIZED: After some time, the result can be obtained via Right-click", "create.ponder.millstone.text_4": "UNLOCALIZED: After some time, the result can be obtained via Right-click",
"create.ponder.millstone.text_5": "UNLOCALIZED: The outputs can also be extracted by automation", "create.ponder.millstone.text_5": "UNLOCALIZED: The outputs can also be extracted by automation",
"create.ponder.nixie_tube.header": "UNLOCALIZED: Using Nixie Tubes",
"create.ponder.nixie_tube.text_1": "UNLOCALIZED: When powered by Redstone, Nixie Tubes will display the redstone signals' strength",
"create.ponder.nixie_tube.text_2": "UNLOCALIZED: Using name tags edited with an anvil, custom text can be displayed",
"create.ponder.piston_pole.header": "UNLOCALIZED: Piston Extension Poles", "create.ponder.piston_pole.header": "UNLOCALIZED: Piston Extension Poles",
"create.ponder.piston_pole.text_1": "UNLOCALIZED: Without attached Poles, a Mechanical Piston cannot move", "create.ponder.piston_pole.text_1": "UNLOCALIZED: Without attached Poles, a Mechanical Piston cannot move",
"create.ponder.piston_pole.text_2": "UNLOCALIZED: The Length of pole added at its back determines the Extension Range", "create.ponder.piston_pole.text_2": "UNLOCALIZED: The Length of pole added at its back determines the Extension Range",

View file

@ -1,5 +1,5 @@
{ {
"_": "Missing Localizations: 621", "_": "Missing Localizations: 624",
"_": "->------------------------] Game Elements [------------------------<-", "_": "->------------------------] Game Elements [------------------------<-",
@ -1739,7 +1739,7 @@
"create.ponder.funnel_transfer.header": "UNLOCALIZED: Direct transfer", "create.ponder.funnel_transfer.header": "UNLOCALIZED: Direct transfer",
"create.ponder.funnel_transfer.text_1": "UNLOCALIZED: Funnels cannot ever transfer between closed inventories directly.", "create.ponder.funnel_transfer.text_1": "UNLOCALIZED: Funnels cannot ever transfer between closed inventories directly.",
"create.ponder.funnel_transfer.text_2": "UNLOCALIZED: Chutes or Smart chutes might be more suitable for such purposes.", "create.ponder.funnel_transfer.text_2": "UNLOCALIZED: Chutes or Smart chutes might be more suitable for such purposes.",
"create.ponder.funnel_transfer.text_3": "UNLOCALIZED: Same applies for horizontal movement.\nA mechanical belt should help here.", "create.ponder.funnel_transfer.text_3": "UNLOCALIZED: Same applies for horizontal movement. A mechanical belt should help here.",
"create.ponder.furnace_engine.header": "UNLOCALIZED: Generating Rotational Force using the Furnace Engine", "create.ponder.furnace_engine.header": "UNLOCALIZED: Generating Rotational Force using the Furnace Engine",
"create.ponder.furnace_engine.text_1": "UNLOCALIZED: Furnace Engines generate Rotational Force while their attached Furnace is running", "create.ponder.furnace_engine.text_1": "UNLOCALIZED: Furnace Engines generate Rotational Force while their attached Furnace is running",
@ -1929,6 +1929,10 @@
"create.ponder.millstone.text_4": "UNLOCALIZED: After some time, the result can be obtained via Right-click", "create.ponder.millstone.text_4": "UNLOCALIZED: After some time, the result can be obtained via Right-click",
"create.ponder.millstone.text_5": "UNLOCALIZED: The outputs can also be extracted by automation", "create.ponder.millstone.text_5": "UNLOCALIZED: The outputs can also be extracted by automation",
"create.ponder.nixie_tube.header": "UNLOCALIZED: Using Nixie Tubes",
"create.ponder.nixie_tube.text_1": "UNLOCALIZED: When powered by Redstone, Nixie Tubes will display the redstone signals' strength",
"create.ponder.nixie_tube.text_2": "UNLOCALIZED: Using name tags edited with an anvil, custom text can be displayed",
"create.ponder.piston_pole.header": "UNLOCALIZED: Piston Extension Poles", "create.ponder.piston_pole.header": "UNLOCALIZED: Piston Extension Poles",
"create.ponder.piston_pole.text_1": "UNLOCALIZED: Without attached Poles, a Mechanical Piston cannot move", "create.ponder.piston_pole.text_1": "UNLOCALIZED: Without attached Poles, a Mechanical Piston cannot move",
"create.ponder.piston_pole.text_2": "UNLOCALIZED: The Length of pole added at its back determines the Extension Range", "create.ponder.piston_pole.text_2": "UNLOCALIZED: The Length of pole added at its back determines the Extension Range",

View file

@ -28,8 +28,8 @@
"trigger": "create:bracket_apply", "trigger": "create:bracket_apply",
"conditions": { "conditions": {
"accepted_entries": [ "accepted_entries": [
"create:cogwheel", "create:large_cogwheel",
"create:large_cogwheel" "create:cogwheel"
] ]
} }
}, },

View file

@ -7,7 +7,7 @@
], ],
"key": { "key": {
"A": { "A": {
"item": "create:golden_sheet" "tag": "forge:plates/gold"
}, },
"D": { "D": {
"item": "create:depot" "item": "create:depot"

View file

@ -51,7 +51,7 @@ public class Create {
public static final String ID = "create"; public static final String ID = "create";
public static final String NAME = "Create"; public static final String NAME = "Create";
public static final String VERSION = "0.3.1"; public static final String VERSION = "0.3.1a";
public static Logger logger = LogManager.getLogger(); public static Logger logger = LogManager.getLogger();
public static ItemGroup baseCreativeTab = new CreateItemGroup(); public static ItemGroup baseCreativeTab = new CreateItemGroup();

View file

@ -60,8 +60,8 @@ public abstract class KineticTileEntity extends SmartTileEntity
private int flickerTally; private int flickerTally;
private int networkSize; private int networkSize;
private int validationCountdown; private int validationCountdown;
private float lastStressApplied; protected float lastStressApplied;
private float lastCapacityProvided; protected float lastCapacityProvided;
public KineticTileEntity(TileEntityType<?> typeIn) { public KineticTileEntity(TileEntityType<?> typeIn) {
super(typeIn); super(typeIn);
@ -89,8 +89,10 @@ public abstract class KineticTileEntity extends SmartTileEntity
super.tick(); super.tick();
effects.tick(); effects.tick();
if (world.isRemote) if (world.isRemote) {
cachedBoundingBox = null; // cache the bounding box for every frame between ticks
return; return;
}
if (validationCountdown-- <= 0) { if (validationCountdown-- <= 0) {
validationCountdown = AllConfigs.SERVER.kinetics.kineticValidationFrequency.get(); validationCountdown = AllConfigs.SERVER.kinetics.kineticValidationFrequency.get();
@ -161,7 +163,7 @@ public abstract class KineticTileEntity extends SmartTileEntity
} }
public float calculateStressApplied() { public float calculateStressApplied() {
float impact = (float) AllConfigs.SERVER.kinetics.stressValues.getImpactOf(getBlockState().getBlock()); float impact = (float) AllConfigs.SERVER.kinetics.stressValues.getImpactOf(getStressConfigKey());
this.lastStressApplied = impact; this.lastStressApplied = impact;
return impact; return impact;
} }
@ -220,7 +222,6 @@ public abstract class KineticTileEntity extends SmartTileEntity
boolean overStressedBefore = overStressed; boolean overStressedBefore = overStressed;
clearKineticInformation(); clearKineticInformation();
cachedBoundingBox = null;
// DO NOT READ kinetic information when placed after movement // DO NOT READ kinetic information when placed after movement
if (wasMoved) { if (wasMoved) {
super.read(compound, clientPacket); super.read(compound, clientPacket);

View file

@ -30,7 +30,7 @@ public class DeployerInstance extends ShaftInstance implements IDynamicInstance,
protected OrientedData hand; protected OrientedData hand;
AllBlockPartials currentHand; AllBlockPartials currentHand;
float progress = Float.NaN; float progress;
private boolean newHand = false; private boolean newHand = false;
public DeployerInstance(InstancedTileRenderer<?> dispatcher, KineticTileEntity tile) { public DeployerInstance(InstancedTileRenderer<?> dispatcher, KineticTileEntity tile) {
@ -50,9 +50,9 @@ public class DeployerInstance extends ShaftInstance implements IDynamicInstance,
updateHandPose(); updateHandPose();
relight(pos, pole); relight(pos, pole);
progress = getProgress(AnimationTickHolder.getPartialTicks());
updateRotation(pole, hand, yRot, zRot, zRotPole); updateRotation(pole, hand, yRot, zRot, zRotPole);
updatePosition();
beginFrame();
} }
@Override @Override
@ -70,19 +70,7 @@ public class DeployerInstance extends ShaftInstance implements IDynamicInstance,
progress = newProgress; progress = newProgress;
newHand = false; newHand = false;
float handLength = currentHand == AllBlockPartials.DEPLOYER_HAND_POINTING ? 0 updatePosition();
: currentHand == AllBlockPartials.DEPLOYER_HAND_HOLDING ? 4 / 16f : 3 / 16f;
float distance = Math.min(MathHelper.clamp(progress, 0, 1) * (tile.reach + handLength), 21 / 16f);
Vec3i facingVec = facing.getDirectionVec();
BlockPos blockPos = getInstancePosition();
float x = blockPos.getX() + ((float) facingVec.getX()) * distance;
float y = blockPos.getY() + ((float) facingVec.getY()) * distance;
float z = blockPos.getZ() + ((float) facingVec.getZ()) * distance;
pole.setPosition(x, y, z);
hand.setPosition(x, y, z);
} }
@Override @Override
@ -110,6 +98,7 @@ public class DeployerInstance extends ShaftInstance implements IDynamicInstance,
relight(pos, hand); relight(pos, hand);
updateRotation(pole, hand, yRot, zRot, zRotPole); updateRotation(pole, hand, yRot, zRot, zRotPole);
updatePosition();
return true; return true;
} }
@ -122,6 +111,21 @@ public class DeployerInstance extends ShaftInstance implements IDynamicInstance,
return 0; return 0;
} }
private void updatePosition() {
float handLength = currentHand == AllBlockPartials.DEPLOYER_HAND_POINTING ? 0
: currentHand == AllBlockPartials.DEPLOYER_HAND_HOLDING ? 4 / 16f : 3 / 16f;
float distance = Math.min(MathHelper.clamp(progress, 0, 1) * (tile.reach + handLength), 21 / 16f);
Vec3i facingVec = facing.getDirectionVec();
BlockPos blockPos = getInstancePosition();
float x = blockPos.getX() + ((float) facingVec.getX()) * distance;
float y = blockPos.getY() + ((float) facingVec.getY()) * distance;
float z = blockPos.getZ() + ((float) facingVec.getZ()) * distance;
pole.setPosition(x, y, z);
hand.setPosition(x, y, z);
}
static void updateRotation(OrientedData pole, OrientedData hand, float yRot, float zRot, float zRotPole) { static void updateRotation(OrientedData pole, OrientedData hand, float yRot, float zRot, float zRotPole) {
Quaternion q = Direction.SOUTH.getUnitVector().getDegreesQuaternion(zRot); Quaternion q = Direction.SOUTH.getUnitVector().getDegreesQuaternion(zRot);

View file

@ -87,8 +87,8 @@ public class DeployerMovementBehaviour extends MovementBehaviour {
DeployerHandler.activate(player, vec, pos, facingVec, mode); DeployerHandler.activate(player, vec, pos, facingVec, mode);
} }
protected void activateAsSchematicPrinter(MovementContext context, BlockPos pos, DeployerFakePlayer player, World world, protected void activateAsSchematicPrinter(MovementContext context, BlockPos pos, DeployerFakePlayer player,
ItemStack filter) { World world, ItemStack filter) {
if (!filter.hasTag()) if (!filter.hasTag())
return; return;
if (!world.getBlockState(pos) if (!world.getBlockState(pos)
@ -112,8 +112,9 @@ public class DeployerMovementBehaviour extends MovementBehaviour {
List<ItemStack> requiredItems = requirement.getRequiredItems(); List<ItemStack> requiredItems = requirement.getRequiredItems();
ItemStack firstRequired = requiredItems.isEmpty() ? ItemStack.EMPTY : requiredItems.get(0); ItemStack firstRequired = requiredItems.isEmpty() ? ItemStack.EMPTY : requiredItems.get(0);
IItemHandler iItemHandler = context.contraption.inventory;
if (!context.contraption.hasUniversalCreativeCrate) {
IItemHandler iItemHandler = context.contraption.inventory;
for (ItemStack required : requiredItems) { for (ItemStack required : requiredItems) {
int amountFound = ItemHelper int amountFound = ItemHelper
.extract(iItemHandler, s -> ItemRequirement.validate(required, s), ExtractionCountMode.UPTO, .extract(iItemHandler, s -> ItemRequirement.validate(required, s), ExtractionCountMode.UPTO,
@ -122,14 +123,14 @@ public class DeployerMovementBehaviour extends MovementBehaviour {
if (amountFound < required.getCount()) if (amountFound < required.getCount())
return; return;
} }
for (ItemStack required : requiredItems) for (ItemStack required : requiredItems)
ItemHelper.extract(iItemHandler, s -> ItemRequirement.validate(required, s), ExtractionCountMode.UPTO, ItemHelper.extract(iItemHandler, s -> ItemRequirement.validate(required, s), ExtractionCountMode.UPTO,
required.getCount(), false); required.getCount(), false);
}
CompoundNBT data = null; CompoundNBT data = null;
if (AllBlockTags.SAFE_NBT.matches(blockState)) { if (AllBlockTags.SAFE_NBT.matches(blockState)) {
TileEntity tile = world.getTileEntity(pos); TileEntity tile = schematicWorld.getTileEntity(pos);
if (tile != null) { if (tile != null) {
data = tile.write(new CompoundNBT()); data = tile.write(new CompoundNBT());
data = NBTProcessors.process(tile, data, true); data = NBTProcessors.process(tile, data, true);

View file

@ -51,12 +51,14 @@ import com.simibubi.create.content.contraptions.fluids.tank.FluidTankTileEntity;
import com.simibubi.create.content.contraptions.relays.advanced.GantryShaftBlock; import com.simibubi.create.content.contraptions.relays.advanced.GantryShaftBlock;
import com.simibubi.create.content.contraptions.relays.belt.BeltBlock; import com.simibubi.create.content.contraptions.relays.belt.BeltBlock;
import com.simibubi.create.content.logistics.block.inventories.AdjustableCrateBlock; import com.simibubi.create.content.logistics.block.inventories.AdjustableCrateBlock;
import com.simibubi.create.content.logistics.block.inventories.CreativeCrateTileEntity;
import com.simibubi.create.content.logistics.block.redstone.RedstoneContactBlock; import com.simibubi.create.content.logistics.block.redstone.RedstoneContactBlock;
import com.simibubi.create.foundation.config.AllConfigs; import com.simibubi.create.foundation.config.AllConfigs;
import com.simibubi.create.foundation.fluid.CombinedTankWrapper; import com.simibubi.create.foundation.fluid.CombinedTankWrapper;
import com.simibubi.create.foundation.render.backend.instancing.IFlywheelWorld; import com.simibubi.create.foundation.render.backend.instancing.IFlywheelWorld;
import com.simibubi.create.foundation.render.backend.light.EmptyLighter; import com.simibubi.create.foundation.render.backend.light.EmptyLighter;
import com.simibubi.create.foundation.render.backend.light.GridAlignedBB; import com.simibubi.create.foundation.render.backend.light.GridAlignedBB;
import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringBehaviour;
import com.simibubi.create.foundation.utility.BlockFace; import com.simibubi.create.foundation.utility.BlockFace;
import com.simibubi.create.foundation.utility.Coordinate; import com.simibubi.create.foundation.utility.Coordinate;
import com.simibubi.create.foundation.utility.Iterate; import com.simibubi.create.foundation.utility.Iterate;
@ -123,6 +125,7 @@ public abstract class Contraption {
public AxisAlignedBB bounds; public AxisAlignedBB bounds;
public BlockPos anchor; public BlockPos anchor;
public boolean stalled; public boolean stalled;
public boolean hasUniversalCreativeCrate;
protected Map<BlockPos, BlockInfo> blocks; protected Map<BlockPos, BlockInfo> blocks;
protected Map<BlockPos, MountedStorage> storage; protected Map<BlockPos, MountedStorage> storage;
@ -623,6 +626,11 @@ public abstract class Contraption {
fluidStorage.put(localPos, new MountedFluidStorage(te)); fluidStorage.put(localPos, new MountedFluidStorage(te));
if (AllMovementBehaviours.contains(captured.state.getBlock())) if (AllMovementBehaviours.contains(captured.state.getBlock()))
actors.add(MutablePair.of(blockInfo, null)); actors.add(MutablePair.of(blockInfo, null));
if (te instanceof CreativeCrateTileEntity
&& ((CreativeCrateTileEntity) te).getBehaviour(FilteringBehaviour.TYPE)
.getFilter()
.isEmpty())
hasUniversalCreativeCrate = true;
} }
@Nullable @Nullable
@ -735,6 +743,7 @@ public abstract class Contraption {
bounds = NBTHelper.readAABB(nbt.getList("BoundsFront", 5)); bounds = NBTHelper.readAABB(nbt.getList("BoundsFront", 5));
stalled = nbt.getBoolean("Stalled"); stalled = nbt.getBoolean("Stalled");
hasUniversalCreativeCrate = nbt.getBoolean("BottomlessSupply");
anchor = NBTUtil.readBlockPos(nbt.getCompound("Anchor")); anchor = NBTUtil.readBlockPos(nbt.getCompound("Anchor"));
} }
@ -810,6 +819,7 @@ public abstract class Contraption {
nbt.put("FluidStorage", fluidStorageNBT); nbt.put("FluidStorage", fluidStorageNBT);
nbt.put("Anchor", NBTUtil.writeBlockPos(anchor)); nbt.put("Anchor", NBTUtil.writeBlockPos(anchor));
nbt.putBoolean("Stalled", stalled); nbt.putBoolean("Stalled", stalled);
nbt.putBoolean("BottomlessSupply", hasUniversalCreativeCrate);
if (bounds != null) { if (bounds != null) {
ListNBT bb = NBTHelper.writeAABB(bounds); ListNBT bb = NBTHelper.writeAABB(bounds);

View file

@ -285,7 +285,6 @@ public class BeltTileEntity extends KineticTileEntity implements LightUpdateList
public void setController(BlockPos controller) { public void setController(BlockPos controller) {
this.controller = controller; this.controller = controller;
cachedBoundingBox = null;
} }
public BlockPos getController() { public BlockPos getController() {

View file

@ -324,40 +324,25 @@ public class ChuteTileEntity extends SmartTileEntity implements IHaveGoggleInfor
private void handleInputFromAbove() { private void handleInputFromAbove() {
if (!capAbove.isPresent()) if (!capAbove.isPresent())
capAbove = grabCapability(Direction.UP); capAbove = grabCapability(Direction.UP);
if (!capAbove.isPresent()) handleInput(capAbove.orElse(null));
return;
int count = getExtractionAmount();
IItemHandler inv = capAbove.orElse(null);
Predicate<ItemStack> canAccept = this::canAcceptItem;
if (count == 0) {
item = ItemHelper.extract(inv, canAccept, ExtractionCountMode.UPTO, 16, false);
return;
}
if (!ItemHelper.extract(inv, canAccept, ExtractionCountMode.EXACTLY, count, true)
.isEmpty())
item = ItemHelper.extract(inv, canAccept, ExtractionCountMode.EXACTLY, count, false);
} }
private void handleInputFromBelow() { private void handleInputFromBelow() {
if (!capBelow.isPresent()) if (!capBelow.isPresent())
capBelow = grabCapability(Direction.DOWN); capBelow = grabCapability(Direction.DOWN);
if (!capBelow.isPresent()) handleInput(capBelow.orElse(null));
return;
int count = getExtractionAmount();
IItemHandler inv = capBelow.orElse(null);
Predicate<ItemStack> canAccept = this::canAcceptItem;
if (count == 0) {
item = ItemHelper.extract(inv, canAccept, ExtractionCountMode.UPTO, 16, false);
return;
} }
if (!ItemHelper.extract(inv, canAccept, ExtractionCountMode.EXACTLY, count, true) private void handleInput(IItemHandler inv) {
if (inv == null)
return;
Predicate<ItemStack> canAccept = this::canAcceptItem;
int count = getExtractionAmount();
ExtractionCountMode mode = getExtractionMode();
if (mode == ExtractionCountMode.UPTO || !ItemHelper.extract(inv, canAccept, mode, count, true)
.isEmpty()) .isEmpty())
item = ItemHelper.extract(inv, canAccept, ExtractionCountMode.EXACTLY, count, false); item = ItemHelper.extract(inv, canAccept, mode, count, false);
} }
private boolean handleDownwardOutput(boolean simulate) { private boolean handleDownwardOutput(boolean simulate) {
@ -475,7 +460,11 @@ public class ChuteTileEntity extends SmartTileEntity implements IHaveGoggleInfor
} }
protected int getExtractionAmount() { protected int getExtractionAmount() {
return 0; return 16;
}
protected ExtractionCountMode getExtractionMode() {
return ExtractionCountMode.UPTO;
} }
protected boolean canCollectItemsFromBelow() { protected boolean canCollectItemsFromBelow() {

View file

@ -2,6 +2,7 @@ package com.simibubi.create.content.logistics.block.chute;
import java.util.List; import java.util.List;
import com.simibubi.create.foundation.item.ItemHelper.ExtractionCountMode;
import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour;
import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringBehaviour; import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringBehaviour;
@ -26,7 +27,13 @@ public class SmartChuteTileEntity extends ChuteTileEntity {
@Override @Override
protected int getExtractionAmount() { protected int getExtractionAmount() {
return filtering.isCountVisible() ? filtering.getAmount() : 0; return filtering.isCountVisible() && !filtering.anyAmount() ? filtering.getAmount() : 64;
}
@Override
protected ExtractionCountMode getExtractionMode() {
return filtering.isCountVisible() && !filtering.anyAmount() ? ExtractionCountMode.EXACTLY
: ExtractionCountMode.UPTO;
} }
@Override @Override

View file

@ -496,7 +496,7 @@ public class EjectorTileEntity extends KineticTileEntity {
powered = compound.getBoolean("Powered"); powered = compound.getBoolean("Powered");
state = NBTHelper.readEnum(compound, "State", State.class); state = NBTHelper.readEnum(compound, "State", State.class);
lidProgress.readNBT(compound.getCompound("Lid"), clientPacket); lidProgress.readNBT(compound.getCompound("Lid"), false);
launchedItems = NBTHelper.readCompoundList(compound.getList("LaunchedItems", NBT.TAG_COMPOUND), launchedItems = NBTHelper.readCompoundList(compound.getList("LaunchedItems", NBT.TAG_COMPOUND),
nbt -> IntAttached.read(nbt, ItemStack::read)); nbt -> IntAttached.read(nbt, ItemStack::read));

View file

@ -107,7 +107,8 @@ public abstract class FunnelBlock extends AbstractDirectionalFunnelBlock {
Direction direction = getFunnelFacing(state); Direction direction = getFunnelFacing(state);
Vec3d diff = entityIn.getPositionVec() Vec3d diff = entityIn.getPositionVec()
.subtract(VecHelper.getCenterOf(pos)); .subtract(VecHelper.getCenterOf(pos)
.add(new Vec3d(direction.getDirectionVec()).scale(-.325f)));
double projectedDiff = direction.getAxis() double projectedDiff = direction.getAxis()
.getCoordinate(diff.x, diff.y, diff.z); .getCoordinate(diff.x, diff.y, diff.z);
if (projectedDiff < 0 == (direction.getAxisDirection() == AxisDirection.POSITIVE)) if (projectedDiff < 0 == (direction.getAxisDirection() == AxisDirection.POSITIVE))

View file

@ -18,8 +18,10 @@ public class CClient extends ConfigBase {
"Offset the overlay from goggle- and hover- information by this many pixels on the X axis; Use /create overlay"); "Offset the overlay from goggle- and hover- information by this many pixels on the X axis; Use /create overlay");
public ConfigInt overlayOffsetY = i(0, Integer.MIN_VALUE, Integer.MAX_VALUE, "overlayOffsetY", public ConfigInt overlayOffsetY = i(0, Integer.MIN_VALUE, Integer.MAX_VALUE, "overlayOffsetY",
"Offset the overlay from goggle- and hover- information by this many pixels on the Y axis; Use /create overlay"); "Offset the overlay from goggle- and hover- information by this many pixels on the Y axis; Use /create overlay");
public ConfigBool smoothPlacementIndicator = b(false, "smoothPlacementIndicator",
"Use an alternative indicator when showing where the assisted placement ends up relative to your crosshair"); public ConfigGroup placementAssist = group(1, "placementAssist", "Settings for the Placement Assist");
public ConfigEnum<PlacementIndicatorSetting> placementIndicator = e(PlacementIndicatorSetting.TEXTURE, "indicatorType", "What indicator should be used when showing where the assisted placement ends up relative to your crosshair", "Choose 'NONE' to disable the Indicator altogether");
public ConfigFloat indicatorScale = f(1.0f, 0f, "indicatorScale", "Change the size of the Indicator by this multiplier");
public ConfigGroup ponder = group(1, "ponder", "Ponder settings"); public ConfigGroup ponder = group(1, "ponder", "Ponder settings");
public ConfigBool comfyReading = public ConfigBool comfyReading =
@ -29,4 +31,8 @@ public class CClient extends ConfigBase {
public String getName() { public String getName() {
return "client"; return "client";
} }
public enum PlacementIndicatorSetting {
TEXTURE, TRIANGLE, NONE
}
} }

View file

@ -599,7 +599,7 @@ public class StandardRecipeGen extends CreateRecipeProvider {
.patternLine("I")), .patternLine("I")),
WEIGHTED_EJECTOR = create(AllBlocks.WEIGHTED_EJECTOR).unlockedBy(I::andesiteCasing) WEIGHTED_EJECTOR = create(AllBlocks.WEIGHTED_EJECTOR).unlockedBy(I::andesiteCasing)
.viaShaped(b -> b.key('A', AllItems.GOLDEN_SHEET.get()) .viaShaped(b -> b.key('A', I.goldSheet())
.key('D', AllBlocks.DEPOT.get()) .key('D', AllBlocks.DEPOT.get())
.key('I', I.cog()) .key('I', I.cog())
.patternLine("A") .patternLine("A")

View file

@ -18,6 +18,7 @@ import net.minecraft.client.renderer.Rectangle2d;
import net.minecraft.client.renderer.RenderHelper; import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats; import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.client.util.InputMappings;
import net.minecraft.entity.player.PlayerInventory; import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.inventory.container.Container; import net.minecraft.inventory.container.Container;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
@ -79,6 +80,13 @@ public abstract class AbstractSimiContainerScreen<T extends Container> extends C
if (widget.keyPressed(code, p_keyPressed_2_, p_keyPressed_3_)) if (widget.keyPressed(code, p_keyPressed_2_, p_keyPressed_3_))
return true; return true;
} }
InputMappings.Input mouseKey = InputMappings.getInputByCode(code, p_keyPressed_2_);
if (code == 256 || this.minecraft.gameSettings.keyBindInventory.isActiveAndMatches(mouseKey)) {
this.minecraft.player.closeScreen();
return true;
}
return super.keyPressed(code, p_keyPressed_2_, p_keyPressed_3_); return super.keyPressed(code, p_keyPressed_2_, p_keyPressed_3_);
} }
@ -88,8 +96,6 @@ public abstract class AbstractSimiContainerScreen<T extends Container> extends C
if (widget.charTyped(character, code)) if (widget.charTyped(character, code))
return true; return true;
} }
if (character == 'e')
onClose();
return super.charTyped(character, code); return super.charTyped(character, code);
} }

View file

@ -9,6 +9,7 @@ import com.simibubi.create.foundation.gui.widgets.AbstractSimiWidget;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.widget.Widget; import net.minecraft.client.gui.widget.Widget;
import net.minecraft.client.util.InputMappings;
import net.minecraft.util.text.StringTextComponent; import net.minecraft.util.text.StringTextComponent;
import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.api.distmarker.OnlyIn;
@ -69,6 +70,13 @@ public abstract class AbstractSimiScreen extends Screen {
for (Widget widget : widgets) for (Widget widget : widgets)
if (widget.keyPressed(code, p_keyPressed_2_, p_keyPressed_3_)) if (widget.keyPressed(code, p_keyPressed_2_, p_keyPressed_3_))
return true; return true;
InputMappings.Input mouseKey = InputMappings.getInputByCode(code, p_keyPressed_2_);
if (code == 256 || this.minecraft.gameSettings.keyBindInventory.isActiveAndMatches(mouseKey)) {
this.minecraft.player.closeScreen();
return true;
}
return super.keyPressed(code, p_keyPressed_2_, p_keyPressed_3_); return super.keyPressed(code, p_keyPressed_2_, p_keyPressed_3_);
} }
@ -78,8 +86,6 @@ public abstract class AbstractSimiScreen extends Screen {
if (widget.charTyped(character, code)) if (widget.charTyped(character, code))
return true; return true;
} }
if (character == 'e')
onClose();
return super.charTyped(character, code); return super.charTyped(character, code);
} }

View file

@ -89,8 +89,13 @@ public class ScreenOpener {
private static void openScreen(Screen screen) { private static void openScreen(Screen screen) {
Minecraft.getInstance() Minecraft.getInstance()
.enqueue(() -> Minecraft.getInstance() .enqueue(() -> {
.displayGuiScreen(screen)); Minecraft.getInstance()
.displayGuiScreen(screen);
Screen previouslyRenderedScreen = getPreviouslyRenderedScreen();
if (previouslyRenderedScreen != null && screen instanceof NavigatableSimiScreen)
previouslyRenderedScreen.init(Minecraft.getInstance(), screen.width, screen.height);
});
} }
} }

View file

@ -8,13 +8,17 @@ import net.minecraft.block.BlockRenderType;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.entity.MoverType; import net.minecraft.entity.MoverType;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.particles.BlockParticleData; import net.minecraft.particles.BlockParticleData;
import net.minecraft.particles.ParticleTypes; import net.minecraft.particles.ParticleTypes;
import net.minecraft.util.SoundEvent;
import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Vec3d; import net.minecraft.util.math.Vec3d;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraft.world.gen.feature.template.Template; import net.minecraft.world.gen.feature.template.Template;
import net.minecraftforge.common.capabilities.CapabilityProvider;
import org.apache.logging.log4j.util.TriConsumer; import org.apache.logging.log4j.util.TriConsumer;
import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Mixin;
@ -30,14 +34,14 @@ import java.util.concurrent.atomic.AtomicBoolean;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Mixin(Entity.class) @Mixin(Entity.class)
public abstract class StepSoundMixin { public abstract class EntityContraptionInteractionMixin extends CapabilityProvider<Entity> {
private EntityContraptionInteractionMixin(Class<Entity> baseClass) {
super(baseClass);
}
private final Entity self = (Entity) (Object) this; private final Entity self = (Entity) (Object) this;
@Shadow private AbstractContraptionEntity contraption;
public boolean collided;
@Shadow
public World world;
@Final @Final
@Shadow @Shadow
@ -46,30 +50,21 @@ public abstract class StepSoundMixin {
@Shadow @Shadow
private float nextStepDistance; private float nextStepDistance;
@Shadow
public abstract BlockPos getPosition();
@Shadow
public abstract Vec3d getPositionVec();
@Shadow @Shadow
protected abstract float determineNextStepDistance(); protected abstract float determineNextStepDistance();
@Shadow
public abstract AxisAlignedBB getBoundingBox();
@Shadow @Shadow
protected abstract void playStepSound(BlockPos p_180429_1_, BlockState p_180429_2_); protected abstract void playStepSound(BlockPos p_180429_1_, BlockState p_180429_2_);
private Set<AbstractContraptionEntity> getIntersectingContraptions() { private Set<AbstractContraptionEntity> getIntersectingContraptions() {
Set<AbstractContraptionEntity> contraptions = ContraptionHandler.loadedContraptions.get(this.world) Set<AbstractContraptionEntity> contraptions = ContraptionHandler.loadedContraptions.get(self.world)
.values() .values()
.stream() .stream()
.map(Reference::get) .map(Reference::get)
.filter(cEntity -> cEntity != null && cEntity.collidingEntities.containsKey(self)) .filter(cEntity -> cEntity != null && cEntity.collidingEntities.containsKey(self))
.collect(Collectors.toSet()); .collect(Collectors.toSet());
contraptions.addAll(this.world.getEntitiesWithinAABB(AbstractContraptionEntity.class, getBoundingBox().grow(1f))); contraptions.addAll(self.world.getEntitiesWithinAABB(AbstractContraptionEntity.class, self.getBoundingBox().grow(1f)));
return contraptions; return contraptions;
} }
@ -98,20 +93,18 @@ public abstract class StepSoundMixin {
method = "move" method = "move"
) )
private void movementMixin(MoverType mover, Vec3d movement, CallbackInfo ci) { private void movementMixin(MoverType mover, Vec3d movement, CallbackInfo ci) {
World entityWorld = world;
Vec3d worldPos = self.getPositionVector().add(0, -0.2, 0); Vec3d worldPos = self.getPositionVector().add(0, -0.2, 0);
AtomicBoolean stepped = new AtomicBoolean(false); AtomicBoolean stepped = new AtomicBoolean(false);
forCollision(worldPos, (contraption, blockstate, blockPos) -> { forCollision(worldPos, (contraption, blockstate, blockPos) -> {
this.world = contraption.getContraptionWorld(); bindContraption(contraption);
this.playStepSound(blockPos, blockstate); playStepSound(blockPos, blockstate);
unbindContraption();
stepped.set(true); stepped.set(true);
}); });
if (stepped.get()) if (stepped.get())
this.nextStepDistance = this.determineNextStepDistance(); this.nextStepDistance = this.determineNextStepDistance();
world = entityWorld;
} }
@Inject(method = "createRunningParticles", at = @At("TAIL")) @Inject(method = "createRunningParticles", at = @At("TAIL"))
@ -120,13 +113,42 @@ public abstract class StepSoundMixin {
BlockPos pos = new BlockPos(worldPos); // pos where particles are spawned BlockPos pos = new BlockPos(worldPos); // pos where particles are spawned
forCollision(worldPos, (contraption, blockstate, blockpos) -> { forCollision(worldPos, (contraption, blockstate, blockpos) -> {
if (!blockstate.addRunningEffects(world, blockpos, self) && blockstate.getRenderType() != BlockRenderType.INVISIBLE) { if (!blockstate.addRunningEffects(self.world, blockpos, self) && blockstate.getRenderType() != BlockRenderType.INVISIBLE) {
Vec3d vec3d = self.getMotion(); Vec3d vec3d = self.getMotion();
this.world.addParticle(new BlockParticleData(ParticleTypes.BLOCK, blockstate).setPos(pos), self.world.addParticle(new BlockParticleData(ParticleTypes.BLOCK, blockstate).setPos(pos),
self.getX() + ((double) rand.nextFloat() - 0.5D) * (double) self.getWidth(), self.getX() + ((double) rand.nextFloat() - 0.5D) * (double) self.getWidth(),
self.getY() + 0.1D, self.getZ() + ((double) rand.nextFloat() - 0.5D) * (double) self.getWidth(), self.getY() + 0.1D, self.getZ() + ((double) rand.nextFloat() - 0.5D) * (double) self.getWidth(),
vec3d.x * -4.0D, 1.5D, vec3d.z * -4.0D); vec3d.x * -4.0D, 1.5D, vec3d.z * -4.0D);
} }
}); });
} }
@Inject(method = "playSound", at = @At("HEAD"), cancellable = true)
private void playSoundShifted(SoundEvent event, float pitch, float volume, CallbackInfo ci) {
if (this.contraption != null && (!self.isSilent() || self instanceof PlayerEntity)) {
double x = self.getX();
double y = self.getY();
double z = self.getZ();
Vec3d worldPos = ContraptionCollider.getWorldToLocalTranslation(new Vec3d(x, y, z), this.contraption);
worldPos = worldPos.add(x, y, z);
self.world.playSound(null, worldPos.x + x, worldPos.y + y, worldPos.z + z, event, self.getSoundCategory(), pitch, volume);
ci.cancel();
} }
}
private void bindContraption(Contraption contraption) {
bindContraption(contraption.entity);
}
private void bindContraption(AbstractContraptionEntity contraption) {
this.contraption = contraption;
}
private void unbindContraption() {
this.contraption = null;
}
}

View file

@ -58,6 +58,7 @@ public abstract class NavigatableSimiScreen extends AbstractSimiScreen {
@Override @Override
protected void init() { protected void init() {
super.init(); super.init();
backTrack = null;
List<Screen> screenHistory = ScreenOpener.getScreenHistory(); List<Screen> screenHistory = ScreenOpener.getScreenHistory();
if (screenHistory.isEmpty()) if (screenHistory.isEmpty())
return; return;

View file

@ -498,7 +498,7 @@ public class FunnelScenes {
scene.world.showSection(util.select.fromTo(0, 2, 2, 4, 2, 2), Direction.DOWN); scene.world.showSection(util.select.fromTo(0, 2, 2, 4, 2, 2), Direction.DOWN);
scene.overlay.showText(120) scene.overlay.showText(120)
.colored(PonderPalette.GREEN) .colored(PonderPalette.GREEN)
.text("Same applies for horizontal movement.\nA mechanical belt should help here.") .text("Same applies for horizontal movement. A mechanical belt should help here.")
.pointAt(util.vector.topOf(1, 2, 2)) .pointAt(util.vector.topOf(1, 2, 2))
.placeNearTarget(); .placeNearTarget();

View file

@ -617,7 +617,7 @@ public class RedstoneScenes {
} }
public static void nixieTube(SceneBuilder scene, SceneBuildingUtil util) { public static void nixieTube(SceneBuilder scene, SceneBuildingUtil util) {
scene.title("analog_lever", "Using Nixie Tubes"); scene.title("nixie_tube", "Using Nixie Tubes");
scene.configureBasePlate(0, 0, 5); scene.configureBasePlate(0, 0, 5);
scene.world.showSection(util.select.layer(0) scene.world.showSection(util.select.layer(0)
.add(util.select.fromTo(2, 1, 1, 2, 1, 2)), Direction.UP); .add(util.select.fromTo(2, 1, 1, 2, 1, 2)), Direction.UP);
@ -651,7 +651,7 @@ public class RedstoneScenes {
scene.world.showSection(tubes, Direction.DOWN); scene.world.showSection(tubes, Direction.DOWN);
scene.idle(20); scene.idle(20);
scene.overlay.showControls(new InputWindowElement(centerTube.add(0, .35, 0), Pointing.DOWN).rightClick() scene.overlay.showControls(new InputWindowElement(centerTube.add(1, .35, 0), Pointing.DOWN).rightClick()
.withItem(new ItemStack(Items.NAME_TAG)), 40); .withItem(new ItemStack(Items.NAME_TAG)), 40);
scene.idle(7); scene.idle(7);
@ -673,8 +673,9 @@ public class RedstoneScenes {
scene.idle(20); scene.idle(20);
scene.overlay.showText(80) scene.overlay.showText(80)
.attachKeyFrame() .attachKeyFrame()
.placeNearTarget()
.text("Using name tags edited with an anvil, custom text can be displayed") .text("Using name tags edited with an anvil, custom text can be displayed")
.pointAt(util.vector.topOf(util.grid.at(2, 1, 3)) .pointAt(util.vector.topOf(util.grid.at(3, 1, 3))
.add(.25, -.05f, 0)); .add(.25, -.05f, 0));
scene.idle(70); scene.idle(70);
} }

View file

@ -40,11 +40,7 @@ public class FilesHelper {
} }
public static String slug(String name) { public static String slug(String name) {
return Lang.asId(name) return Lang.asId(name).replaceAll("\\W+", "_");
.replace(' ', '_')
.replace('!', '_')
.replace(':', '_')
.replace('?', '_');
} }
public static boolean saveTagCompoundAsJson(CompoundNBT compound, String path) { public static boolean saveTagCompoundAsJson(CompoundNBT compound, String path) {

View file

@ -11,6 +11,7 @@ import com.simibubi.create.content.logistics.item.filter.FilterItem;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompoundNBT; import net.minecraft.nbt.CompoundNBT;
import net.minecraft.tileentity.MobSpawnerTileEntity;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.tileentity.TileEntityType; import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.text.ITextComponent; import net.minecraft.util.text.ITextComponent;
@ -61,6 +62,8 @@ public final class NBTProcessors {
compound = survivalProcessors.get(type).apply(compound); compound = survivalProcessors.get(type).apply(compound);
if (compound != null && processors.containsKey(type)) if (compound != null && processors.containsKey(type))
return processors.get(type).apply(compound); return processors.get(type).apply(compound);
if (tileEntity instanceof MobSpawnerTileEntity)
return compound;
if (tileEntity.onlyOpsCanSetNbt()) if (tileEntity.onlyOpsCanSetNbt())
return null; return null;
return compound; return compound;

View file

@ -1,12 +1,5 @@
package com.simibubi.create.foundation.utility.placement; package com.simibubi.create.foundation.utility.placement;
import com.mojang.blaze3d.systems.RenderSystem;
import com.simibubi.create.foundation.config.AllConfigs;
import com.simibubi.create.foundation.gui.AllGuiTextures;
import com.simibubi.create.foundation.gui.widgets.InterpolatedChasingAngle;
import com.simibubi.create.foundation.gui.widgets.InterpolatedChasingValue;
import com.simibubi.create.foundation.utility.AngleHelper;
import com.simibubi.create.foundation.utility.VecHelper;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
import net.minecraft.client.MainWindow; import net.minecraft.client.MainWindow;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
@ -25,11 +18,19 @@ import net.minecraftforge.api.distmarker.OnlyIn;
import net.minecraftforge.client.event.RenderGameOverlayEvent; import net.minecraftforge.client.event.RenderGameOverlayEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.Mod;
import org.lwjgl.opengl.GL11;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import org.lwjgl.opengl.GL11;
import com.mojang.blaze3d.systems.RenderSystem;
import com.simibubi.create.foundation.config.AllConfigs;
import com.simibubi.create.foundation.config.CClient;
import com.simibubi.create.foundation.gui.AllGuiTextures;
import com.simibubi.create.foundation.gui.widgets.InterpolatedChasingAngle;
import com.simibubi.create.foundation.gui.widgets.InterpolatedChasingValue;
import com.simibubi.create.foundation.utility.AngleHelper;
import com.simibubi.create.foundation.utility.VecHelper;
@Mod.EventBusSubscriber @Mod.EventBusSubscriber
public class PlacementHelpers { public class PlacementHelpers {
@ -205,11 +206,10 @@ public class PlacementHelpers {
float length = 10; float length = 10;
//TOD O if the target is off screen, use length to show a meaningful distance //TOD O if the target is off screen, use length to show a meaningful distance
boolean flag = AllConfigs.CLIENT.smoothPlacementIndicator.get(); CClient.PlacementIndicatorSetting mode = AllConfigs.CLIENT.placementIndicator.get();
if (flag) if (mode == CClient.PlacementIndicatorSetting.TRIANGLE)
fadedArrow(centerX, centerY, r, g, b, a, length, snappedAngle); fadedArrow(centerX, centerY, r, g, b, a, length, snappedAngle);
else if (mode == CClient.PlacementIndicatorSetting.TEXTURE)
else
textured(centerX, centerY, a, snappedAngle); textured(centerX, centerY, a, snappedAngle);
} }
@ -224,6 +224,8 @@ public class PlacementHelpers {
RenderSystem.translated(centerX, centerY, 0); RenderSystem.translated(centerX, centerY, 0);
RenderSystem.rotatef(angle.get(0), 0, 0, 1); RenderSystem.rotatef(angle.get(0), 0, 0, 1);
//RenderSystem.rotatef(snappedAngle, 0, 0, 1); //RenderSystem.rotatef(snappedAngle, 0, 0, 1);
double scale = AllConfigs.CLIENT.indicatorScale.get();
RenderSystem.scaled(scale, scale, 1);
Tessellator tessellator = Tessellator.getInstance(); Tessellator tessellator = Tessellator.getInstance();
BufferBuilder bufferbuilder = tessellator.getBuffer(); BufferBuilder bufferbuilder = tessellator.getBuffer();
@ -263,7 +265,9 @@ public class PlacementHelpers {
//RenderSystem.rotatef(angle.get(0.1f), 0, 0, -1); //RenderSystem.rotatef(angle.get(0.1f), 0, 0, -1);
//RenderSystem.translated(0, 10, 0); //RenderSystem.translated(0, 10, 0);
//RenderSystem.rotatef(angle.get(0.1f), 0, 0, 1); //RenderSystem.rotatef(angle.get(0.1f), 0, 0, 1);
RenderSystem.scaled(12, 12, 0); double scale = AllConfigs.CLIENT.indicatorScale.get() * .75;
RenderSystem.scaled(scale, scale, 1);
RenderSystem.scaled(12, 12, 1);
float index = snappedAngle / 22.5f; float index = snappedAngle / 22.5f;
float tex_size = 16f/256f; float tex_size = 16f/256f;

View file

@ -56,14 +56,7 @@ public class WrappedChunkProvider extends AbstractChunkProvider {
public WrappedChunk getChunk(int x, int z) { public WrappedChunk getChunk(int x, int z) {
long pos = ChunkPos.asLong(x, z); long pos = ChunkPos.asLong(x, z);
WrappedChunk chunk = chunks.get(pos); return chunks.computeIfAbsent(pos, $ -> new WrappedChunk(world, x, z));
if (chunk == null) {
chunk = new WrappedChunk(world, x, z);
chunks.put(pos, chunk);
}
return chunk;
} }
@Override @Override

View file

@ -71,6 +71,11 @@ public class WrappedChunk implements IChunk {
return sections; return sections;
} }
@Override
public ChunkStatus getStatus() {
return ChunkStatus.LIGHT;
}
@Nullable @Nullable
@Override @Override
public BlockState setBlockState(BlockPos p_177436_1_, BlockState p_177436_2_, boolean p_177436_3_) { public BlockState setBlockState(BlockPos p_177436_1_, BlockState p_177436_2_, boolean p_177436_3_) {
@ -148,11 +153,6 @@ public class WrappedChunk implements IChunk {
return false; return false;
} }
@Override
public ChunkStatus getStatus() {
return null;
}
@Override @Override
public void removeTileEntity(BlockPos p_177425_1_) { public void removeTileEntity(BlockPos p_177425_1_) {

View file

@ -42,7 +42,7 @@
"block.create.brown_sail": "Braunes Segel", "block.create.brown_sail": "Braunes Segel",
"block.create.brown_seat": "Brauner Sitz", "block.create.brown_seat": "Brauner Sitz",
"block.create.brown_valve_handle": "Brauner Ventilgriff", "block.create.brown_valve_handle": "Brauner Ventilgriff",
"block.create.cart_assembler": "Lohrenmonteur", "block.create.cart_assembler": "Lorenmonteur",
"block.create.chiseled_dark_scoria": "Gemeißelte dunkle Schlacke", "block.create.chiseled_dark_scoria": "Gemeißelte dunkle Schlacke",
"block.create.chiseled_dolomite": "Gemeißeltes Dolomit", "block.create.chiseled_dolomite": "Gemeißeltes Dolomit",
"block.create.chiseled_gabbro": "Gemeißeltes Gabbro", "block.create.chiseled_gabbro": "Gemeißeltes Gabbro",
@ -123,10 +123,10 @@
"block.create.fancy_dolomite_bricks_slab": "Schöne Dolomitziegelstufe", "block.create.fancy_dolomite_bricks_slab": "Schöne Dolomitziegelstufe",
"block.create.fancy_dolomite_bricks_stairs": "Schöne Dolomitziegeltreppe", "block.create.fancy_dolomite_bricks_stairs": "Schöne Dolomitziegeltreppe",
"block.create.fancy_dolomite_bricks_wall": "Schöne Dolomitziegelmauer", "block.create.fancy_dolomite_bricks_wall": "Schöne Dolomitziegelmauer",
"block.create.fancy_gabbro_bricks": "Schöne Gabelsteinziegel", "block.create.fancy_gabbro_bricks": "Schöne Gabbroziegel",
"block.create.fancy_gabbro_bricks_slab": "Schöne Gabelsteinziegelstufe", "block.create.fancy_gabbro_bricks_slab": "Schöne Gabbroziegelstufe",
"block.create.fancy_gabbro_bricks_stairs": "Schöne Gabelsteinziegeltreppe", "block.create.fancy_gabbro_bricks_stairs": "Schöne Gabbroziegeltreppe",
"block.create.fancy_gabbro_bricks_wall": "Schöne Gabelsteinziegelmauer", "block.create.fancy_gabbro_bricks_wall": "Schöne Gabbroziegelmauer",
"block.create.fancy_granite_bricks": "Schöne Granitziegel", "block.create.fancy_granite_bricks": "Schöne Granitziegel",
"block.create.fancy_granite_bricks_slab": "Schöne Granitziegelstufe", "block.create.fancy_granite_bricks_slab": "Schöne Granitziegelstufe",
"block.create.fancy_granite_bricks_stairs": "Schöne Granitziegeltreppe", "block.create.fancy_granite_bricks_stairs": "Schöne Granitziegeltreppe",
@ -150,19 +150,19 @@
"block.create.framed_glass": "Gerahmtes Glas", "block.create.framed_glass": "Gerahmtes Glas",
"block.create.framed_glass_pane": "Gerahmte Glasscheibe", "block.create.framed_glass_pane": "Gerahmte Glasscheibe",
"block.create.furnace_engine": "Ofenmotor", "block.create.furnace_engine": "Ofenmotor",
"block.create.gabbro": "Gabelstein", "block.create.gabbro": "Gabbro",
"block.create.gabbro_bricks": "Gabelsteinziegel", "block.create.gabbro_bricks": "Gabbroziegel",
"block.create.gabbro_bricks_slab": "Gabelsteinziegelstufe", "block.create.gabbro_bricks_slab": "Gabbroziegelstufe",
"block.create.gabbro_bricks_stairs": "Gabelsteinziegeltreppe", "block.create.gabbro_bricks_stairs": "Gabbroziegeltreppe",
"block.create.gabbro_bricks_wall": "Gabelsteinziegelmauer", "block.create.gabbro_bricks_wall": "Gabbroziegelmauer",
"block.create.gabbro_cobblestone": "Gabelsteinbruchstein", "block.create.gabbro_cobblestone": "Gabbrobruchstein",
"block.create.gabbro_cobblestone_slab": "Gabelsteinbruchstein", "block.create.gabbro_cobblestone_slab": "Gabbrobruchstein",
"block.create.gabbro_cobblestone_stairs": "Gabelsteinbruchstein", "block.create.gabbro_cobblestone_stairs": "Gabbrobruchstein",
"block.create.gabbro_cobblestone_wall": "Gabelsteinbruchstein", "block.create.gabbro_cobblestone_wall": "Gabbrobruchstein",
"block.create.gabbro_pillar": "Gabelsteinsäule", "block.create.gabbro_pillar": "Gabbrosäule",
"block.create.gearbox": "Getriebe", "block.create.gearbox": "Getriebe",
"block.create.gearshift": "Gangschaltung", "block.create.gearshift": "Gangschaltung",
"block.create.glass_fluid_pipe": "Glaswasserrohr", "block.create.glass_fluid_pipe": "Glasrohr",
"block.create.granite_bricks": "Granitziegel", "block.create.granite_bricks": "Granitziegel",
"block.create.granite_bricks_slab": "Granitziegelstufe", "block.create.granite_bricks_slab": "Granitziegelstufe",
"block.create.granite_bricks_stairs": "Granitziegeltreppe", "block.create.granite_bricks_stairs": "Granitziegeltreppe",
@ -180,18 +180,18 @@
"block.create.green_valve_handle": "Grüner Ventilgriff", "block.create.green_valve_handle": "Grüner Ventilgriff",
"block.create.hand_crank": "Handkurbel", "block.create.hand_crank": "Handkurbel",
"block.create.honey": "Honig", "block.create.honey": "Honig",
"block.create.horizontal_framed_glass": "Horizontal Gerahmes Glas", "block.create.horizontal_framed_glass": "Horizontal Gerahmtes Glas",
"block.create.horizontal_framed_glass_pane": "Horizontal Gerahmte Glasscheibe", "block.create.horizontal_framed_glass_pane": "Horizontal Gerahmte Glasscheibe",
"block.create.hose_pulley": "Umlenkrolle", "block.create.hose_pulley": "Umlenkrolle",
"block.create.item_drain": "Abfluss", "block.create.item_drain": "Abfluss",
"block.create.jungle_window": "Tropenholzfenster", "block.create.jungle_window": "Tropenholzfenster",
"block.create.jungle_window_pane": "Tropenholzfensterscheib", "block.create.jungle_window_pane": "Tropenholzfensterscheibe",
"block.create.large_cogwheel": "Großes Zahnrad", "block.create.large_cogwheel": "Großes Zahnrad",
"block.create.layered_andesite": "Geschichteter Andesit", "block.create.layered_andesite": "Geschichteter Andesit",
"block.create.layered_dark_scoria": "Geschichtete Dunkle Schlacke", "block.create.layered_dark_scoria": "Geschichtete Dunkle Schlacke",
"block.create.layered_diorite": "Geschichteter Diorit", "block.create.layered_diorite": "Geschichteter Diorit",
"block.create.layered_dolomite": "Geschichteter Dolomit", "block.create.layered_dolomite": "Geschichteter Dolomit",
"block.create.layered_gabbro": "Geschichteter Gabelstein", "block.create.layered_gabbro": "Geschichteter Gabbro",
"block.create.layered_granite": "Geschichteter Granit", "block.create.layered_granite": "Geschichteter Granit",
"block.create.layered_limestone": "Geschichteter Kalkstein", "block.create.layered_limestone": "Geschichteter Kalkstein",
"block.create.layered_scoria": "Geschichtete Schlacke", "block.create.layered_scoria": "Geschichtete Schlacke",
@ -235,62 +235,253 @@
"block.create.mechanical_saw": "Mechanische Säge", "block.create.mechanical_saw": "Mechanische Säge",
"block.create.metal_bracket": "Metallhalterung", "block.create.metal_bracket": "Metallhalterung",
"block.create.millstone": "Mahlstein", "block.create.millstone": "Mahlstein",
"block.create.minecart_anchor": "Lorenanker",
"block.create.mossy_andesite": "Moosiger Andesit",
"block.create.mossy_dark_scoria": "Moosige Dunkle Schlacke",
"block.create.mossy_diorite": "Moosiger Diorit",
"block.create.mossy_dolomite": "Moosiger Dolomit",
"block.create.mossy_gabbro": "Moosiger Gabbro",
"block.create.mossy_granite": "Moosiger Granit",
"block.create.mossy_limestone": "Moosiger Kalkstein",
"block.create.mossy_scoria": "Moosige Schlacke",
"block.create.mossy_weathered_limestone": "Moosiger Verwitterter Kalkstein",
"block.create.mysterious_cuckoo_clock": "Kuckucksuhr",
"block.create.natural_scoria": "Natürliche Schlacke",
"block.create.nixie_tube": "Nixie-Röhre",
"block.create.nozzle": "Düse",
"block.create.oak_window": "Eichenfenster",
"block.create.oak_window_pane": "Eichenfensterscheibe",
"block.create.orange_sail": "Oranges Segel",
"block.create.orange_seat": "Oranger Sitz",
"block.create.orange_valve_handle": "Oranger Ventilgriff",
"block.create.ornate_iron_window": "Kunstvolles Eisenfenster",
"block.create.ornate_iron_window_pane": "Kunstvolle Eisenfensterscheibe",
"block.create.overgrown_andesite": "Überwachsener Andesit",
"block.create.overgrown_dark_scoria": "Überwachsene Dunkle Schlacke",
"block.create.overgrown_diorite": "Überwachsener Diorit",
"block.create.overgrown_dolomite": "Überwachsener Dolomit",
"block.create.overgrown_gabbro": "Überwachsener Gabbro",
"block.create.overgrown_granite": "Überwachsener Granit",
"block.create.overgrown_limestone": "Überwachsener Kalkstein",
"block.create.overgrown_scoria": "Überwachsener Schlacke",
"block.create.overgrown_weathered_limestone": "Überwachsener Verwitterter Kalkstein",
"block.create.paved_andesite": "Gepflasterter Andesit",
"block.create.paved_andesite_slab": "Gepflasterte Andesitstufe",
"block.create.paved_andesite_stairs": "Gepflasterte Andesittreppe",
"block.create.paved_andesite_wall": "Gepflasterte Andesitmauer",
"block.create.paved_dark_scoria": "Gepflasterte Dunkle Schlacke",
"block.create.paved_dark_scoria_slab": "Gepflasterte Dunkle Schlackenstufe",
"block.create.paved_dark_scoria_stairs": "Gepflasterte Dunkle Schlackentreppe",
"block.create.paved_dark_scoria_wall": "Gepflasterte Dunkle Schlackenmauer",
"block.create.paved_diorite": "Gepflasterter Diorit",
"block.create.paved_diorite_slab": "Gepflasterte Dioritstufe",
"block.create.paved_diorite_stairs": "Gepflasterte Diorittreppe",
"block.create.paved_diorite_wall": "Gepflasterte Dioritmauer",
"block.create.paved_dolomite": "Gepflasterter Dolomit",
"block.create.paved_dolomite_slab": "Gepflasterte Dolomitstufe",
"block.create.paved_dolomite_stairs": "Gepflasterte Dolomittreppe",
"block.create.paved_dolomite_wall": "Gepflasterte Dolomitmauer",
"block.create.paved_gabbro": "Gepflasterter Gabbro",
"block.create.paved_gabbro_slab": "Gepflasterte Gabbrostufe",
"block.create.paved_gabbro_stairs": "Gepflasterte Gabbrotreppe",
"block.create.paved_gabbro_wall": "Gepflasterte Gabbromauer",
"block.create.paved_granite": "Gepflasterter Granit",
"block.create.paved_granite_slab": "Gepflasterte Granitstufe",
"block.create.paved_granite_stairs": "Gepflasterte Granittreppe",
"block.create.paved_granite_wall": "Gepflasterte Granitmauer",
"block.create.paved_limestone": "Gepflasterter Kalkstein",
"block.create.paved_limestone_slab": "Gepflasterte Kalksteinstufe",
"block.create.paved_limestone_stairs": "Gepflasterte Kalksteintreppe",
"block.create.paved_limestone_wall": "Gepflasterte Kalksteinmauer",
"block.create.paved_scoria": "Gepflasterte Schlacke",
"block.create.paved_scoria_slab": "Gepflasterte Schlackenstufe",
"block.create.paved_scoria_stairs": "Gepflasterte Schlackentreppe",
"block.create.paved_scoria_wall": "Gepflasterte Schlackenmauer",
"block.create.paved_weathered_limestone": "Gepflasterter Verwitterter Kalkstein",
"block.create.paved_weathered_limestone_slab": "Gepflasterte Verwitterte Kalksteinstufe",
"block.create.paved_weathered_limestone_stairs": "Gepflasterte Verwitterte Kalksteintreppe",
"block.create.paved_weathered_limestone_wall": "Gepflasterte Verwitterte Kalksteinmauer",
"block.create.pink_sail": "Rosa Segel", "block.create.pink_sail": "Rosa Segel",
"block.create.pink_seat": "Rosa Sitz", "block.create.pink_seat": "Rosa Sitz",
"block.create.pink_valve_handle": "Rosa Ventilgriff", "block.create.pink_valve_handle": "Rosa Ventilgriff",
"block.create.piston_extension_pole": "Kolben-Pleuelverlängerung", "block.create.piston_extension_pole": "Kolben-Pleuelverlängerung",
"block.create.polished_dark_scoria": "Polierte Dunkle Schlacke",
"block.create.polished_dark_scoria_slab": "Polierte Dunkle Schlackenstufe",
"block.create.polished_dark_scoria_stairs": "Polierte Dunkle Schlackentreppe",
"block.create.polished_dark_scoria_wall": "Polierte Dunkle Schlackenmauer",
"block.create.polished_dolomite": "Polierter Dolomit", "block.create.polished_dolomite": "Polierter Dolomit",
"block.create.polished_gabbro": "Polierter Gabelstein", "block.create.polished_dolomite_slab": "Polierte Dolomitstufe",
"block.create.polished_dolomite_stairs": "Polierte Dolomittreppe",
"block.create.polished_dolomite_wall": "Polierte Dolomitmauer",
"block.create.polished_gabbro": "Polierter Gabbro",
"block.create.polished_gabbro_slab": "Polierte Gabbrostufe",
"block.create.polished_gabbro_stairs": "Polierte Gabbrotreppe",
"block.create.polished_gabbro_wall": "Polierte Gabbromauer",
"block.create.polished_limestone": "Polierter Kalkstein", "block.create.polished_limestone": "Polierter Kalkstein",
"block.create.polished_limestone_slab": "Polierte Kalksteinstufe", "block.create.polished_limestone_slab": "Polierte Kalksteinstufe",
"block.create.polished_limestone_stairs": "Polierte Kalksteintreppe",
"block.create.polished_limestone_wall": "Polierte Kalksteinmauer",
"block.create.polished_scoria": "Polierte Schlacke", "block.create.polished_scoria": "Polierte Schlacke",
"block.create.polished_scoria_slab": "Polierte Schlackenstufe",
"block.create.polished_scoria_stairs": "Polierte Schlackentreppe",
"block.create.polished_scoria_wall": "Polierte Schlackenmauer",
"block.create.polished_weathered_limestone": "Polierter Verwitterter Kalkstein", "block.create.polished_weathered_limestone": "Polierter Verwitterter Kalkstein",
"block.create.polished_weathered_limestone_slab": "Polierte Verwitterte Kalksteinstufe", "block.create.polished_weathered_limestone_slab": "Polierte Verwitterte Kalksteinstufe",
"block.create.powered_latch": "UNLOCALIZED: Powered Latch", "block.create.polished_weathered_limestone_stairs": "Polierte Verwitterte Kalksteintreppe",
"block.create.polished_weathered_limestone_wall": "Polierte Verwitterte Kalksteinmauer",
"block.create.portable_fluid_interface": "Portable Flüssigkeitsschnittstelle",
"block.create.portable_storage_interface": "Portable Lagerschnittstelle",
"block.create.powered_latch": "RS-Flipflop",
"block.create.powered_toggle_latch": "T-Flipflop",
"block.create.pulley_magnet": "Rollenmagnet",
"block.create.pulse_repeater": "Pulsierender Verstärker", "block.create.pulse_repeater": "Pulsierender Verstärker",
"block.create.purple_sail": "Lila Segel",
"block.create.purple_seat": "Lila Sitz",
"block.create.purple_valve_handle": "Lila Ventilgriff",
"block.create.radial_chassis": "Drehgerüst", "block.create.radial_chassis": "Drehgerüst",
"block.create.red_sail": "Rote Segel",
"block.create.red_seat": "Roter Sitz",
"block.create.red_valve_handle": "Roter Ventilgriff",
"block.create.redstone_contact": "Redstone-Kontakt", "block.create.redstone_contact": "Redstone-Kontakt",
"block.create.redstone_link": "Redstone-Verbindung", "block.create.redstone_link": "Redstone-Verbindung",
"block.create.refined_radiance_casing": "Glanzgehäuse",
"block.create.reinforced_rail": "Verstärkte Schiene",
"block.create.rope": "Seil",
"block.create.rope_pulley": "Seilrolle",
"block.create.rotation_speed_controller": "Rotationsgeschwindigkeitsregler",
"block.create.sail_frame": "Segelrahmen",
"block.create.schematic_table": "Bauplantisch", "block.create.schematic_table": "Bauplantisch",
"block.create.schematicannon": "Bauplankanone", "block.create.schematicannon": "Bauplankanone",
"block.create.scoria": "Schlacke",
"block.create.scoria_bricks": "Schlackenziegel",
"block.create.scoria_bricks_slab": "Schlackenziegelstufe",
"block.create.scoria_bricks_stairs": "Schlackenziegeltreppe",
"block.create.scoria_bricks_wall": "Schlackenziegelmauer",
"block.create.scoria_cobblestone": "Schlackenbruchstein",
"block.create.scoria_cobblestone_slab": "Schlackenpflasterstufe",
"block.create.scoria_cobblestone_stairs": "Schlackenpflastertreppe",
"block.create.scoria_cobblestone_wall": "Schlackenpflastermauer",
"block.create.scoria_pillar": "Schlackensäule",
"block.create.secondary_linear_chassis": "Sekundäres Schubgerüst",
"block.create.sequenced_gearshift": "Sequenzielles Gangschaltung",
"block.create.shadow_steel_casing": "Schattengehäuse",
"block.create.shaft": "Welle", "block.create.shaft": "Welle",
"block.create.smart_chute": "Schlaue Rinne",
"block.create.smart_fluid_pipe": "Schlaues Flüssigkeitsrohr",
"block.create.speedometer": "Tachometer",
"block.create.spout": "Ausguss",
"block.create.spruce_window": "Fichtenfenster",
"block.create.spruce_window_pane": "Fichtenfensterscheibe",
"block.create.sticker": "Aufkleber",
"block.create.sticky_mechanical_piston": "Klebriger Mechanischer Kolben", "block.create.sticky_mechanical_piston": "Klebriger Mechanischer Kolben",
"block.create.stockpile_switch": "Vorratssensor", "block.create.stockpile_switch": "Vorratssensor",
"block.create.stressometer": "Stressometer",
"block.create.tiled_glass": "Glasfliesen", "block.create.tiled_glass": "Glasfliesen",
"block.create.tiled_glass_pane": "Glasfliesenscheibe", "block.create.tiled_glass_pane": "Glasfliesenscheibe",
"block.create.turntable": "Drehtisch", "block.create.turntable": "Drehtisch",
"block.create.vertical_framed_glass": "Vertikal Gerahmtes Glas",
"block.create.vertical_framed_glass_pane": "Vertikal Gerahmte Glasscheibe",
"block.create.water_wheel": "Wasserrad", "block.create.water_wheel": "Wasserrad",
"block.create.weathered_limestone": "Verwitterter Kalkstein", "block.create.weathered_limestone": "Verwitterter Kalkstein",
"block.create.weathered_limestone_bricks": "Verwitterte Kalksteinziegel", "block.create.weathered_limestone_bricks": "Verwitterte Kalksteinziegel",
"block.create.weathered_limestone_bricks_slab": "Verwitterte Kalksteinziegelstufe", "block.create.weathered_limestone_bricks_slab": "Verwitterte Kalksteinziegelstufe",
"block.create.weathered_limestone_bricks_stairs": "Verwitterte Kalksteinziegeltreppe", "block.create.weathered_limestone_bricks_stairs": "Verwitterte Kalksteinziegeltreppe",
"block.create.weathered_limestone_bricks_wall": "Verwitterte Kalksteinziegelmauer", "block.create.weathered_limestone_bricks_wall": "Verwitterte Kalksteinziegelmauer",
"block.create.weathered_limestone_cobblestone": "Verwittertes Kalksteinpflaster",
"block.create.weathered_limestone_cobblestone_slab": "Verwitterte Kalksteinpflasterstufe",
"block.create.weathered_limestone_cobblestone_stairs": "Verwitterte Kalksteinpflastertreppe",
"block.create.weathered_limestone_cobblestone_wall": "Verwitterte Limestonepflastermauer",
"block.create.weathered_limestone_pillar": "Verwitterte Kalksteinsäule", "block.create.weathered_limestone_pillar": "Verwitterte Kalksteinsäule",
"block.create.white_sail": "Weiße Segel",
"block.create.white_seat": "Weißer Sitz",
"block.create.white_valve_handle": "Weißer Ventilgriff",
"block.create.windmill_bearing": "Windmühlenlager",
"block.create.wooden_bracket": "Holzhalterung",
"block.create.yellow_sail": "Gelbes Segel",
"block.create.yellow_seat": "Gelber Sitz",
"block.create.yellow_valve_handle": "Gelber Ventilgriff",
"block.create.zinc_block": "Zinkblock",
"block.create.zinc_ore": "Zinkerz",
"entity.create.contraption": "Vorrichtung",
"entity.create.seat": "Sitz",
"entity.create.stationary_contraption": "Stationärer Vorrichtung",
"entity.create.super_glue": "Superkleber",
"fluid.create.milk": "Milch", "fluid.create.milk": "Milch",
"fluid.create.potion": "Trank", "fluid.create.potion": "Trank",
"fluid.create.tea": "Bauherrentee", "fluid.create.tea": "Bauherrentee",
"item.create.bar_of_chocolate": "Schokoladetafel", "item.create.andesite_alloy": "Andesitlegierung",
"item.create.attribute_filter": "Attribut Filter",
"item.create.bar_of_chocolate": "Schokoladentafel",
"item.create.belt_connector": "Mechanischer Riemen", "item.create.belt_connector": "Mechanischer Riemen",
"item.create.blaze_cake": "Lohenkuchen",
"item.create.blaze_cake_base": "Lohenkuchenbasis",
"item.create.brass_hand": "Messing Hand",
"item.create.brass_ingot": "Messingbarren",
"item.create.brass_nugget": "Messingklumpen",
"item.create.brass_sheet": "Messingblech",
"item.create.builders_tea": "Baumeisters Tee",
"item.create.chest_minecart_contraption": "Güterloren Vorrichtung",
"item.create.chocolate_bucket": "Schokoladeneimer",
"item.create.chocolate_glazed_berries": "Schokoladenglasierte Beeren",
"item.create.chromatic_compound": "Chromatische Verbindung",
"item.create.cinder_flour": "Aschenmehl",
"item.create.copper_ingot": "Kupferbarren",
"item.create.copper_nugget": "Kupferklumpen",
"item.create.copper_sheet": "Kupferblech",
"item.create.crafter_slot_cover": "Handwerkseinheit Slot Abdeckung",
"item.create.crushed_aluminum_ore": "Zerkleinertes Aluminiumerz",
"item.create.crushed_brass": "Zerkleinertes Messing",
"item.create.crushed_copper_ore": "Zerkleinertes Kupfererz",
"item.create.crushed_gold_ore": "Zerkleinertes Golderz",
"item.create.crushed_iron_ore": "Zerkleinertes Eisenerz",
"item.create.crushed_lead_ore": "Zerkleinertes Bleierz",
"item.create.crushed_nickel_ore": "Zerkleinertes Nickelerz",
"item.create.crushed_osmium_ore": "Zerkleinertes Osmiumerz",
"item.create.crushed_platinum_ore": "Zerkleinertes Platinerz",
"item.create.crushed_quicksilver_ore": "Zerkleinertes Quecksilbererz",
"item.create.crushed_silver_ore": "Zerkleinertes Silbererz",
"item.create.crushed_tin_ore": "Zerkleinertes Zinnerz",
"item.create.crushed_uranium_ore": "Zerkleinertes Uranerz",
"item.create.crushed_zinc_ore": "Zerkleinertes Zinkerz",
"item.create.deforester": "Entforster", "item.create.deforester": "Entforster",
"item.create.dough": "Teig", "item.create.dough": "Teig",
"item.create.electron_tube": "Elektronenröhre",
"item.create.empty_blaze_burner": "Leerer Lohenbrenner",
"item.create.empty_schematic": "Leerer Bauplan", "item.create.empty_schematic": "Leerer Bauplan",
"item.create.extendo_grip": "Extendo Griff",
"item.create.filter": "Filter", "item.create.filter": "Filter",
"item.create.furnace_minecart_contraption": "Antriebsloren Vorrichtung",
"item.create.goggles": "Ingenieursbrille",
"item.create.golden_sheet": "Goldblech",
"item.create.handheld_blockzapper": "Blockpistole", "item.create.handheld_blockzapper": "Blockpistole",
"item.create.handheld_worldshaper": "Geländeformer", "item.create.handheld_worldshaper": "Geländeformer",
"item.create.honey_bucket": "Honigeimer", "item.create.honey_bucket": "Honigeimer",
"item.create.honeyed_apple": "Honigapfel",
"item.create.integrated_circuit": "Integrierter Schaltkreis",
"item.create.iron_sheet": "Eisenblech", "item.create.iron_sheet": "Eisenblech",
"item.create.lapis_sheet": "Lapislazuliblech",
"item.create.minecart_contraption": "Loren Vorrichtung",
"item.create.minecart_coupling": "Lorenkupplung",
"item.create.polished_rose_quartz": "Polierter Rosenquarz",
"item.create.powdered_obsidian": "Pulverisierter Obsidian",
"item.create.propeller": "Propeller", "item.create.propeller": "Propeller",
"item.create.red_sand_paper": "Rotes Schmirgelpapier", "item.create.red_sand_paper": "Rotes Schmirgelpapier",
"item.create.refined_radiance": "Raffinierter Glanz",
"item.create.rose_quartz": "Rosenquarz", "item.create.rose_quartz": "Rosenquarz",
"item.create.sand_paper": "Schmirgelpapier", "item.create.sand_paper": "Schmirgelpapier",
"item.create.schematic": "Bauplan", "item.create.schematic": "Bauplan",
"item.create.schematic_and_quill": "Bauplan und Feder", "item.create.schematic_and_quill": "Bauplan und Feder",
"item.create.shadow_steel": "Schattenstahl",
"item.create.super_glue": "Superkleber", "item.create.super_glue": "Superkleber",
"item.create.sweet_roll": "Rosinenschnecke",
"item.create.tree_fertilizer": "Baumdünger", "item.create.tree_fertilizer": "Baumdünger",
"item.create.vertical_gearbox": "Vertikales Getriebe",
"item.create.wand_of_symmetry": "Symmetriestab", "item.create.wand_of_symmetry": "Symmetriestab",
"item.create.wheat_flour": "Weizenmehl", "item.create.wheat_flour": "Weizenmehl",
"item.create.whisk": "Rührstab",
"item.create.wrench": "Schraubenschlüssel", "item.create.wrench": "Schraubenschlüssel",
"item.create.zinc_ingot": "Zinkbarren", "item.create.zinc_ingot": "Zinkbarren",
"item.create.zinc_nugget": "Zinkklumpen", "item.create.zinc_nugget": "Zinkklumpen",
@ -310,6 +501,22 @@
"advancement.create.overstressed.desc": "Erfahre die Limits der Belastung aus erster Hand.", "advancement.create.overstressed.desc": "Erfahre die Limits der Belastung aus erster Hand.",
"advancement.create.belt": "Befördere es alles", "advancement.create.belt": "Befördere es alles",
"advancement.create.belt.desc": "Verbinde zwei Wllen mit einem Mechanischem Riemen", "advancement.create.belt.desc": "Verbinde zwei Wllen mit einem Mechanischem Riemen",
"advancement.create.tunnel": "Geht in Deckung!",
"advancement.create.tunnel.desc": "Verschönere deinen Mechanischem Riemen mit einem Tunnel.",
"advancement.create.splitter_tunnel": "Divide & Conquer",
"advancement.create.splitter_tunnel.desc": "Mache einen Teiler aus einer Gruppe von Messingtunneln.",
"advancement.create.chute": "Abstürzen",
"advancement.create.chute.desc": "Platziere eine Rinne, das vertikale Gegenstück des Riemens.",
"advancement.create.upward_chute": "Luftentführung",
"advancement.create.upward_chute.desc": "Sieh ein geworfenes Item in eine propellerbetriebene Rinne fliegen.",
"advancement.create.fan": "Mechanischer Luftbändiger",
"advancement.create.fan.desc": "Reite den Luftstrom eines eingeschlossenen Propellers.",
"advancement.create.extendo_grip": "Boioioing!",
"advancement.create.extendo_grip.desc": "Beschaffe einen Extendo Griff.",
"advancement.create.dual_extendo_grip": "Ultimatives Boing-Zeitalter",
"advancement.create.dual_extendo_grip.desc": "Schwinge zwei Extendo Griffe gleichzeitig für eine übermenschliche Reichweite.",
"advancement.create.eob": "Ende der Beta",
"advancement.create.eob.desc": "Erwarte mehr Inhalt in der Zukunft. <3",
"_": "->------------------------] UI & Messages [------------------------<-", "_": "->------------------------] UI & Messages [------------------------<-",
@ -325,6 +532,7 @@
"death.attack.create.cuckoo_clock_explosion": "%1$s wurde durch eine falsche Kuckucksuhr gesprengt", "death.attack.create.cuckoo_clock_explosion": "%1$s wurde durch eine falsche Kuckucksuhr gesprengt",
"create.block.deployer.damage_source_name": "einem Finger", "create.block.deployer.damage_source_name": "einem Finger",
"create.block.cart_assembler.invalid": "Platziere deinen Lorenmonteur auf einer Schiene.",
"create.recipe.crushing": "Mahlen (Mahlwerk)", "create.recipe.crushing": "Mahlen (Mahlwerk)",
"create.recipe.milling": "Mahlen (Mahlstein)", "create.recipe.milling": "Mahlen (Mahlstein)",
@ -340,6 +548,9 @@
"create.generic.range": "Reichweite", "create.generic.range": "Reichweite",
"create.generic.radius": "Radius", "create.generic.radius": "Radius",
"create.generic.width": "Breite",
"create.generic.height": "Höhe",
"create.generic.length": "Länge",
"create.generic.speed": "Geschwindigkeit", "create.generic.speed": "Geschwindigkeit",
"create.generic.delay": "Verzögerung", "create.generic.delay": "Verzögerung",
"create.generic.unit.ticks": "Ticks", "create.generic.unit.ticks": "Ticks",
@ -362,6 +573,7 @@
"create.gui.scrollInput.defaultTitle": "Wähle eine Option:", "create.gui.scrollInput.defaultTitle": "Wähle eine Option:",
"create.gui.scrollInput.scrollToModify": "Mausrad zum Ändern", "create.gui.scrollInput.scrollToModify": "Mausrad zum Ändern",
"create.gui.scrollInput.scrollToAdjustAmount": "Mausrad um Betrag anzupassen",
"create.gui.scrollInput.scrollToSelect": "Mausrad zum Auswählen", "create.gui.scrollInput.scrollToSelect": "Mausrad zum Auswählen",
"create.gui.scrollInput.shiftScrollsFaster": "Shift zum schnelleren Auswählen", "create.gui.scrollInput.shiftScrollsFaster": "Shift zum schnelleren Auswählen",
"create.gui.toolmenu.focusKey": "Halte [%1$s] zum Fokussieren", "create.gui.toolmenu.focusKey": "Halte [%1$s] zum Fokussieren",
@ -553,6 +765,7 @@
"item.create.tree_fertilizer.tooltip.summary": "Eine Mischung aus Mineralien, die sich für weit verbreitete Baumarten eignet", "item.create.tree_fertilizer.tooltip.summary": "Eine Mischung aus Mineralien, die sich für weit verbreitete Baumarten eignet",
"item.create.tree_fertilizer.tooltip.condition1": "Wenn auf einen Setzling angewendet", "item.create.tree_fertilizer.tooltip.condition1": "Wenn auf einen Setzling angewendet",
"item.create.tree_fertilizer.tooltip.behaviour1": "Lässt Bäume unabhängig vom Platz um sie herum wachsen", "item.create.tree_fertilizer.tooltip.behaviour1": "Lässt Bäume unabhängig vom Platz um sie herum wachsen",
"item.create.empty_schematic.tooltip": "LEERER BAUPLAN", "item.create.empty_schematic.tooltip": "LEERER BAUPLAN",
"item.create.empty_schematic.tooltip.summary": "Wird für die Herstellung und das Schreiben auf dem _Bauplantisch_ verwendet", "item.create.empty_schematic.tooltip.summary": "Wird für die Herstellung und das Schreiben auf dem _Bauplantisch_ verwendet",
@ -720,8 +933,8 @@
"block.create.creative_crate.tooltip": "BAUPLANKANONENMACHER", "block.create.creative_crate.tooltip": "BAUPLANKANONENMACHER",
"block.create.creative_crate.tooltip.summary": "Stellt einen unendlichen Vorrat an Blöcken für benachbarte _Bauplaenkanonen_ bereit.", "block.create.creative_crate.tooltip.summary": "Stellt einen unendlichen Vorrat an Blöcken für benachbarte _Bauplaenkanonen_ bereit.",
"block.create.creative_crate.tooltip.condition1": "UNLOCALIZED: When Item in Filter Slot", "block.create.creative_crate.tooltip.condition1": "Wenn Item in Filter Slot",
"block.create.creative_crate.tooltip.behaviour1": "UNLOCALIZED: Anything _extracting_ from this container will provide an _endless supply_ of the item specified. Items _inserted_ into this crate will be _voided._", "block.create.creative_crate.tooltip.behaviour1": "Alles _extrahierende_ von diesem Container wird einen _endlosen Vorrat_ des angegebenen Items zur Verfügung stellen. In diese Kiste _eingefügte_ Items werden _entsorgt_.",
"block.create.pulse_repeater.tooltip": "PULSIERENDER VERSTÄRKER", "block.create.pulse_repeater.tooltip": "PULSIERENDER VERSTÄRKER",
"block.create.pulse_repeater.tooltip.summary": "Ein einfacher Schaltkreis, um durchgehende Redstone-Signale auf eine Länge von _1_ _tick_ zu reduzieren.", "block.create.pulse_repeater.tooltip.summary": "Ein einfacher Schaltkreis, um durchgehende Redstone-Signale auf eine Länge von _1_ _tick_ zu reduzieren.",

View file

@ -2,7 +2,6 @@
"credit": "Made with Blockbench", "credit": "Made with Blockbench",
"textures": { "textures": {
"5": "create:block/brass_casing", "5": "create:block/brass_casing",
"particle": "create:block/brass_block",
"1_1": "create:block/furnace_cylinder" "1_1": "create:block/furnace_cylinder"
}, },
"elements": [ "elements": [
@ -55,6 +54,20 @@
"down": {"uv": [3, 13, 4.5, 15], "rotation": 270, "texture": "#1_1"} "down": {"uv": [3, 13, 4.5, 15], "rotation": 270, "texture": "#1_1"}
} }
}, },
{
"name": "LowerPort",
"from": [1.5, 0.1, 13.9],
"to": [5.5, 4.1, 16.9],
"rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]},
"faces": {
"north": {"uv": [14, 0, 10, 4], "texture": "#1_1"},
"east": {"uv": [4.5, 13, 3, 15], "texture": "#1_1"},
"south": {"uv": [4.5, 13, 2.5, 15], "texture": "#1_1"},
"west": {"uv": [4.5, 13, 3, 15], "rotation": 180, "texture": "#1_1"},
"up": {"uv": [3, 15, 4.5, 13], "rotation": 90, "texture": "#1_1"},
"down": {"uv": [3, 15, 4.5, 13], "rotation": 270, "texture": "#1_1"}
}
},
{ {
"name": "Port", "name": "Port",
"from": [4, 4, 15.8], "from": [4, 4, 15.8],
@ -104,7 +117,7 @@
{ {
"name": "SteamCylinder", "name": "SteamCylinder",
"origin": [8, 8, 8], "origin": [8, 8, 8],
"children": [0, 1, 2, 3, 4] "children": [0, 1, 2, 3, 4, 5]
} }
] ]
} }

View file

@ -13,7 +13,7 @@
"RenderHooksMixin", "RenderHooksMixin",
"ShaderCloseMixin", "ShaderCloseMixin",
"TileRemoveMixin", "TileRemoveMixin",
"StepSoundMixin" "EntityContraptionInteractionMixin"
], ],
"injectors": { "injectors": {
"defaultRequire": 1 "defaultRequire": 1