mirror of
https://github.com/Creators-of-Create/Create.git
synced 2024-11-10 03:53:12 +01:00
Merge remote-tracking branch 'origin/mc1.16/dev' into mc1.16/dev
This commit is contained in:
commit
74d57f38fe
181 changed files with 1616 additions and 1922 deletions
|
@ -6,18 +6,18 @@ org.gradle.daemon = false
|
||||||
# mod version info
|
# mod version info
|
||||||
mod_version = 0.3.2c
|
mod_version = 0.3.2c
|
||||||
minecraft_version = 1.16.5
|
minecraft_version = 1.16.5
|
||||||
forge_version = 36.1.32
|
forge_version = 36.2.0
|
||||||
|
|
||||||
# build dependency versions
|
# build dependency versions
|
||||||
forgegradle_version = 4.1.+
|
forgegradle_version = 4.1.+
|
||||||
mixingradle_version = 0.7-SNAPSHOT
|
mixingradle_version = 0.7-SNAPSHOT
|
||||||
shadow_version = 5.2.0
|
shadow_version = 6.1.0
|
||||||
cursegradle_version = 1.4.0
|
cursegradle_version = 1.4.0
|
||||||
|
|
||||||
# dependency versions
|
# dependency versions
|
||||||
registrate_version = 1.0.4
|
registrate_version = 1.0.4
|
||||||
flywheel_version = 1.16-0.1.1.24
|
flywheel_version = 1.16-0.2.0.28
|
||||||
jei_version = 7.7.0.106
|
jei_version = 7.7.1.110
|
||||||
|
|
||||||
# curseforge information
|
# curseforge information
|
||||||
projectId = 328085
|
projectId = 328085
|
||||||
|
|
|
@ -425,21 +425,21 @@ a3a11524cd3515fc01d905767b4b7ea782adaf03 assets/create/blockstates/yellow_seat.j
|
||||||
6801fa1f466f172700e573e5b8ee8ee5f9ca4583 assets/create/blockstates/yellow_valve_handle.json
|
6801fa1f466f172700e573e5b8ee8ee5f9ca4583 assets/create/blockstates/yellow_valve_handle.json
|
||||||
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
|
||||||
58e72b5fe2423b661e4892a817e08985c3944318 assets/create/lang/en_ud.json
|
fb760b12b4bc8114744d3acc6a597b2fad88d988 assets/create/lang/en_ud.json
|
||||||
6d3a0bf566fc8de302cd48ae4686582cb78110b5 assets/create/lang/en_us.json
|
66e8ae18a98d86c66393c908ab51eae5060b8e04 assets/create/lang/en_us.json
|
||||||
67dce8f635842cd12a9ae98fedd492b4cfb9eb28 assets/create/lang/unfinished/de_de.json
|
9e94c2420840c516e24dfd7968aaad61da24b5a2 assets/create/lang/unfinished/de_de.json
|
||||||
83079afe226e306ea0c144afdb62cd54385ade16 assets/create/lang/unfinished/es_es.json
|
f5c05d84c11e6db204c42169228329c8d361ca51 assets/create/lang/unfinished/es_es.json
|
||||||
e357c238bb1b704d997434beebace6424f5a6abf assets/create/lang/unfinished/es_mx.json
|
edf3dab78e95aa442c3c667d8d1d574bfc69d5d7 assets/create/lang/unfinished/es_mx.json
|
||||||
67d49ab1b8a6d253a0b402021e40b3ead6ad4407 assets/create/lang/unfinished/fr_fr.json
|
23a46ae0bc7b2181f26eeed70801714a254d2587 assets/create/lang/unfinished/fr_fr.json
|
||||||
991986bd6fffc6c9ac170451c2bc9897f451ce3f assets/create/lang/unfinished/it_it.json
|
5e95153e640edc367b963489df8c92c459badcd3 assets/create/lang/unfinished/it_it.json
|
||||||
4ff92f6333ec6a831a30a1c0e01f6cb40035b531 assets/create/lang/unfinished/ja_jp.json
|
a951315b2591051dad6c53739fe554fe78595250 assets/create/lang/unfinished/ja_jp.json
|
||||||
eeadeb375d666a118a106ff413b5b3befefaaae5 assets/create/lang/unfinished/ko_kr.json
|
419a1fc9af7d7ea0ccd612847df74e0b45380864 assets/create/lang/unfinished/ko_kr.json
|
||||||
1a5f20e1c0dd6fdaa872d7cfa29c40f5223de3ae assets/create/lang/unfinished/nl_nl.json
|
dbc823d8cb38598e75871a2187b2a58d7f77f86a assets/create/lang/unfinished/nl_nl.json
|
||||||
7f9feb8db7cc5f42050e5f927ea764e2940c9a7d assets/create/lang/unfinished/pl_pl.json
|
ac609477c295be1705d3efc07848ffe6779fd397 assets/create/lang/unfinished/pl_pl.json
|
||||||
8ea9e0639ac1a143baa7f82885ebd413bffefd01 assets/create/lang/unfinished/pt_br.json
|
95e17b968103e0ef62411489e699d39ac7ff0b64 assets/create/lang/unfinished/pt_br.json
|
||||||
0b42660049fbf141e9cc9501454dfdf7a3e71816 assets/create/lang/unfinished/ru_ru.json
|
b37f50f613b0df44032fe5d618a5ce7227be8087 assets/create/lang/unfinished/ru_ru.json
|
||||||
52f37952e0167f97d5cf1e4d5b2ed5eccd379ea6 assets/create/lang/unfinished/zh_cn.json
|
2254cfb88d58f6932451a1548341f10749deb2df assets/create/lang/unfinished/zh_cn.json
|
||||||
355e85057e3d39d51f7aaee908884db96e4bfdd9 assets/create/lang/unfinished/zh_tw.json
|
6192a7ede669ae6b6f8de6701b8a924d6a756c4a assets/create/lang/unfinished/zh_tw.json
|
||||||
487a511a01b2a4531fb672f917922312db78f958 assets/create/models/block/acacia_window.json
|
487a511a01b2a4531fb672f917922312db78f958 assets/create/models/block/acacia_window.json
|
||||||
b48060cba1a382f373a05bf0039054053eccf076 assets/create/models/block/acacia_window_pane_noside.json
|
b48060cba1a382f373a05bf0039054053eccf076 assets/create/models/block/acacia_window_pane_noside.json
|
||||||
3066db1bf03cffa1a9c7fbacf47ae586632f4eb3 assets/create/models/block/acacia_window_pane_noside_alt.json
|
3066db1bf03cffa1a9c7fbacf47ae586632f4eb3 assets/create/models/block/acacia_window_pane_noside_alt.json
|
||||||
|
@ -1316,7 +1316,7 @@ f56bf22324faf8958eaef4d94b958f1108d52e5a assets/create/models/item/copper_tiles.
|
||||||
5583368909c319acfcf0f7a419bedf23272fe613 assets/create/models/item/copper_valve_handle.json
|
5583368909c319acfcf0f7a419bedf23272fe613 assets/create/models/item/copper_valve_handle.json
|
||||||
4e253e7c0626dfd76e2d39786ce1a34e0baaa62d assets/create/models/item/crafter_slot_cover.json
|
4e253e7c0626dfd76e2d39786ce1a34e0baaa62d assets/create/models/item/crafter_slot_cover.json
|
||||||
1f947dafff30da701b7675f5b026ccab3129b079 assets/create/models/item/crafting_blueprint.json
|
1f947dafff30da701b7675f5b026ccab3129b079 assets/create/models/item/crafting_blueprint.json
|
||||||
6fa0ffd887f51034d7ac923b1cabb6ab44d33fe9 assets/create/models/item/creative_cake.json
|
db68f1fcc5b91f3ee0cc023538d965d76dd13506 assets/create/models/item/creative_blaze_cake.json
|
||||||
7b333dea353afaa27b182aedc647c9e9e34e92ef assets/create/models/item/creative_crate.json
|
7b333dea353afaa27b182aedc647c9e9e34e92ef assets/create/models/item/creative_crate.json
|
||||||
f7d06c52c3ca8c22ad67f5741471f06ac22e7fcb assets/create/models/item/creative_fluid_tank.json
|
f7d06c52c3ca8c22ad67f5741471f06ac22e7fcb assets/create/models/item/creative_fluid_tank.json
|
||||||
5b39403f6c81f05e566b621b62e267267de47c41 assets/create/models/item/creative_motor.json
|
5b39403f6c81f05e566b621b62e267267de47c41 assets/create/models/item/creative_motor.json
|
||||||
|
@ -3239,7 +3239,6 @@ ff39e629b242ae91e23aec86b0a1f757dd938305 data/create/recipes/dolomite_pillar.jso
|
||||||
b4a8d14d9a20e812e0acb691b5b511a87e8b0576 data/create/recipes/dolomite_pillar_from_dolomite_stonecutting.json
|
b4a8d14d9a20e812e0acb691b5b511a87e8b0576 data/create/recipes/dolomite_pillar_from_dolomite_stonecutting.json
|
||||||
d81ceba2946286d374801e698a4ca2116395cbad data/create/recipes/emptying/builders_tea.json
|
d81ceba2946286d374801e698a4ca2116395cbad data/create/recipes/emptying/builders_tea.json
|
||||||
20b7c7c62fa2e33199e08188dd8836844a6d9cfd data/create/recipes/emptying/honey_bottle.json
|
20b7c7c62fa2e33199e08188dd8836844a6d9cfd data/create/recipes/emptying/honey_bottle.json
|
||||||
28a0f9a45671de2e6db19fa66374e245feeed142 data/create/recipes/emptying/milk_bucket.json
|
|
||||||
0e11aa1accb71ed62e212f23a7069b7b7b4e8119 data/create/recipes/fancy_andesite_bricks_from_andesite_stonecutting.json
|
0e11aa1accb71ed62e212f23a7069b7b7b4e8119 data/create/recipes/fancy_andesite_bricks_from_andesite_stonecutting.json
|
||||||
8b86fc9a9416adeaab3f26192a73a481887675c3 data/create/recipes/fancy_andesite_bricks_slab.json
|
8b86fc9a9416adeaab3f26192a73a481887675c3 data/create/recipes/fancy_andesite_bricks_slab.json
|
||||||
c7b762b25c7a6705dba3e922e981be851ac4f36b data/create/recipes/fancy_andesite_bricks_slab_from_fancy_andesite_bricks_stonecutting.json
|
c7b762b25c7a6705dba3e922e981be851ac4f36b data/create/recipes/fancy_andesite_bricks_slab_from_fancy_andesite_bricks_stonecutting.json
|
||||||
|
@ -3311,7 +3310,6 @@ d2ab9ce73636773165564506580f2ec13bd1fc50 data/create/recipes/fancy_weathered_lim
|
||||||
244f27eadefefbc966ac384ac087c57d19484321 data/create/recipes/filling/gunpowder.json
|
244f27eadefefbc966ac384ac087c57d19484321 data/create/recipes/filling/gunpowder.json
|
||||||
c8ca74a6cd071308a1750a2ad1153e79422598a0 data/create/recipes/filling/honey_bottle.json
|
c8ca74a6cd071308a1750a2ad1153e79422598a0 data/create/recipes/filling/honey_bottle.json
|
||||||
d20703b67dd5e4c9b75718db02d575b1c7415c12 data/create/recipes/filling/honeyed_apple.json
|
d20703b67dd5e4c9b75718db02d575b1c7415c12 data/create/recipes/filling/honeyed_apple.json
|
||||||
c83e77a9799b6ca34dd73aa76b56159f2103c48c data/create/recipes/filling/milk_bucket.json
|
|
||||||
08ce1420d1551ecfef5988977436c087123851a6 data/create/recipes/filling/redstone.json
|
08ce1420d1551ecfef5988977436c087123851a6 data/create/recipes/filling/redstone.json
|
||||||
fb8e4378cd2240644a4b5c0d06e27ad772ec7695 data/create/recipes/filling/sweet_roll.json
|
fb8e4378cd2240644a4b5c0d06e27ad772ec7695 data/create/recipes/filling/sweet_roll.json
|
||||||
5b8bbde7f8b270ab75fac18d6858f2fadbc0efa3 data/create/recipes/framed_glass_from_glass_colorless_stonecutting.json
|
5b8bbde7f8b270ab75fac18d6858f2fadbc0efa3 data/create/recipes/framed_glass_from_glass_colorless_stonecutting.json
|
||||||
|
@ -3755,7 +3753,7 @@ eac71740fb12bdb38b5dfaa2268613d7ba82b809 data/create/tags/blocks/windmill_sails.
|
||||||
081f5aa35602fc27af2ca01ea9f2fd5e7eb284dc data/create/tags/items/create_ingots.json
|
081f5aa35602fc27af2ca01ea9f2fd5e7eb284dc data/create/tags/items/create_ingots.json
|
||||||
94c62bf22678ef55b2b8a5398a7960e5b00682dc data/create/tags/items/crushed_ores.json
|
94c62bf22678ef55b2b8a5398a7960e5b00682dc data/create/tags/items/crushed_ores.json
|
||||||
6cdeeac1689f7b5bfd9bc40b462143d8eaf3ad0b data/create/tags/items/seats.json
|
6cdeeac1689f7b5bfd9bc40b462143d8eaf3ad0b data/create/tags/items/seats.json
|
||||||
94826d9ceac981342c753460b7f7ea9d23dd13a0 data/create/tags/items/upright_on_belt.json
|
f1092005b5d01e1f29457e90f75e5750f7f0226b data/create/tags/items/upright_on_belt.json
|
||||||
50936b211d94167a35ec78c89954082a336b6269 data/create/tags/items/valve_handles.json
|
50936b211d94167a35ec78c89954082a336b6269 data/create/tags/items/valve_handles.json
|
||||||
16bcb8fcbe9170c2c11f1ca8d99d8b36cd812bbd data/forge/tags/blocks/glass/colorless.json
|
16bcb8fcbe9170c2c11f1ca8d99d8b36cd812bbd data/forge/tags/blocks/glass/colorless.json
|
||||||
81d3eb40b048160fcc2d6bb7ff12b49276297efd data/forge/tags/blocks/glass_panes.json
|
81d3eb40b048160fcc2d6bb7ff12b49276297efd data/forge/tags/blocks/glass_panes.json
|
||||||
|
@ -3768,7 +3766,6 @@ f6c8f34ceb475546dba5cc6ff288863ea795d20b data/forge/tags/blocks/storage_blocks/c
|
||||||
7f71a774800111e50b42de0e6159ed2d2a807d32 data/forge/tags/blocks/storage_blocks/zinc.json
|
7f71a774800111e50b42de0e6159ed2d2a807d32 data/forge/tags/blocks/storage_blocks/zinc.json
|
||||||
6b73c57912934d09233ad2966110968a6109f2c9 data/forge/tags/fluids/chocolate.json
|
6b73c57912934d09233ad2966110968a6109f2c9 data/forge/tags/fluids/chocolate.json
|
||||||
391c9b2be5740aea943a8a5fe27eb327e2d973b0 data/forge/tags/fluids/honey.json
|
391c9b2be5740aea943a8a5fe27eb327e2d973b0 data/forge/tags/fluids/honey.json
|
||||||
aa729fedc4fcca0f0a18bf7b00075af06bf5357f data/forge/tags/fluids/milk.json
|
|
||||||
d6a4e4fe1204b718010543a28a9b9ec4e0977bd7 data/forge/tags/fluids/tea.json
|
d6a4e4fe1204b718010543a28a9b9ec4e0977bd7 data/forge/tags/fluids/tea.json
|
||||||
d9ffc62a496946fc4848934e7c0a6e917337f8be data/forge/tags/items/beacon_payment.json
|
d9ffc62a496946fc4848934e7c0a6e917337f8be data/forge/tags/items/beacon_payment.json
|
||||||
05ca51cdc60a5e109b5a0e3b782de13d34ebcb24 data/forge/tags/items/cobblestone.json
|
05ca51cdc60a5e109b5a0e3b782de13d34ebcb24 data/forge/tags/items/cobblestone.json
|
||||||
|
|
|
@ -435,7 +435,6 @@
|
||||||
"entity.create.seat": "\u0287\u0250\u01DDS",
|
"entity.create.seat": "\u0287\u0250\u01DDS",
|
||||||
"entity.create.stationary_contraption": "uo\u0131\u0287d\u0250\u0279\u0287uo\u0186 \u028E\u0279\u0250uo\u0131\u0287\u0250\u0287S",
|
"entity.create.stationary_contraption": "uo\u0131\u0287d\u0250\u0279\u0287uo\u0186 \u028E\u0279\u0250uo\u0131\u0287\u0250\u0287S",
|
||||||
"entity.create.super_glue": "\u01DDn\u05DF\u2141 \u0279\u01DDdnS",
|
"entity.create.super_glue": "\u01DDn\u05DF\u2141 \u0279\u01DDdnS",
|
||||||
"fluid.create.milk": "\u029E\u05DF\u0131W",
|
|
||||||
"fluid.create.potion": "uo\u0131\u0287o\u0500",
|
"fluid.create.potion": "uo\u0131\u0287o\u0500",
|
||||||
"fluid.create.tea": "\u0250\u01DD\u27D8 s,\u0279\u01DDp\u05DF\u0131n\u15FA",
|
"fluid.create.tea": "\u0250\u01DD\u27D8 s,\u0279\u01DDp\u05DF\u0131n\u15FA",
|
||||||
"item.create.andesite_alloy": "\u028Eo\u05DF\u05DF\u2C6F \u01DD\u0287\u0131s\u01DDpu\u2C6F",
|
"item.create.andesite_alloy": "\u028Eo\u05DF\u05DF\u2C6F \u01DD\u0287\u0131s\u01DDpu\u2C6F",
|
||||||
|
@ -460,7 +459,7 @@
|
||||||
"item.create.copper_sheet": "\u0287\u01DD\u01DD\u0265S \u0279\u01DDddo\u0186",
|
"item.create.copper_sheet": "\u0287\u01DD\u01DD\u0265S \u0279\u01DDddo\u0186",
|
||||||
"item.create.crafter_slot_cover": "\u0279\u01DD\u028Co\u0186 \u0287o\u05DFS \u0279\u01DD\u0287\u025F\u0250\u0279\u0186",
|
"item.create.crafter_slot_cover": "\u0279\u01DD\u028Co\u0186 \u0287o\u05DFS \u0279\u01DD\u0287\u025F\u0250\u0279\u0186",
|
||||||
"item.create.crafting_blueprint": "\u0287u\u0131\u0279d\u01DDn\u05DF\u15FA bu\u0131\u0287\u025F\u0250\u0279\u0186",
|
"item.create.crafting_blueprint": "\u0287u\u0131\u0279d\u01DDn\u05DF\u15FA bu\u0131\u0287\u025F\u0250\u0279\u0186",
|
||||||
"item.create.creative_cake": "\u01DD\u029E\u0250\u0186 \u01DD\u028C\u0131\u0287\u0250\u01DD\u0279\u0186",
|
"item.create.creative_blaze_cake": "\u01DD\u029E\u0250\u0186 \u01DDz\u0250\u05DF\u15FA \u01DD\u028C\u0131\u0287\u0250\u01DD\u0279\u0186",
|
||||||
"item.create.crushed_aluminum_ore": "\u01DD\u0279O \u026Fnu\u0131\u026Fn\u05DF\u2C6F p\u01DD\u0265sn\u0279\u0186",
|
"item.create.crushed_aluminum_ore": "\u01DD\u0279O \u026Fnu\u0131\u026Fn\u05DF\u2C6F p\u01DD\u0265sn\u0279\u0186",
|
||||||
"item.create.crushed_brass": "ss\u0250\u0279\u15FA p\u01DD\u0265sn\u0279\u0186",
|
"item.create.crushed_brass": "ss\u0250\u0279\u15FA p\u01DD\u0265sn\u0279\u0186",
|
||||||
"item.create.crushed_copper_ore": "\u01DD\u0279O \u0279\u01DDddo\u0186 p\u01DD\u0265sn\u0279\u0186",
|
"item.create.crushed_copper_ore": "\u01DD\u0279O \u0279\u01DDddo\u0186 p\u01DD\u0265sn\u0279\u0186",
|
||||||
|
|
|
@ -441,7 +441,6 @@
|
||||||
"entity.create.stationary_contraption": "Stationary Contraption",
|
"entity.create.stationary_contraption": "Stationary Contraption",
|
||||||
"entity.create.super_glue": "Super Glue",
|
"entity.create.super_glue": "Super Glue",
|
||||||
|
|
||||||
"fluid.create.milk": "Milk",
|
|
||||||
"fluid.create.potion": "Potion",
|
"fluid.create.potion": "Potion",
|
||||||
"fluid.create.tea": "Builder's Tea",
|
"fluid.create.tea": "Builder's Tea",
|
||||||
|
|
||||||
|
@ -467,7 +466,7 @@
|
||||||
"item.create.copper_sheet": "Copper Sheet",
|
"item.create.copper_sheet": "Copper Sheet",
|
||||||
"item.create.crafter_slot_cover": "Crafter Slot Cover",
|
"item.create.crafter_slot_cover": "Crafter Slot Cover",
|
||||||
"item.create.crafting_blueprint": "Crafting Blueprint",
|
"item.create.crafting_blueprint": "Crafting Blueprint",
|
||||||
"item.create.creative_cake": "Creative Cake",
|
"item.create.creative_blaze_cake": "Creative Blaze Cake",
|
||||||
"item.create.crushed_aluminum_ore": "Crushed Aluminum Ore",
|
"item.create.crushed_aluminum_ore": "Crushed Aluminum Ore",
|
||||||
"item.create.crushed_brass": "Crushed Brass",
|
"item.create.crushed_brass": "Crushed Brass",
|
||||||
"item.create.crushed_copper_ore": "Crushed Copper Ore",
|
"item.create.crushed_copper_ore": "Crushed Copper Ore",
|
||||||
|
@ -1412,10 +1411,10 @@
|
||||||
"block.create.creative_crate.tooltip.condition1": "When Item in Filter Slot",
|
"block.create.creative_crate.tooltip.condition1": "When Item in Filter Slot",
|
||||||
"block.create.creative_crate.tooltip.behaviour1": "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": "Anything _extracting_ from this container will provide an _endless supply_ of the item specified. Items _inserted_ into this crate will be _voided._",
|
||||||
|
|
||||||
"item.create.creative_cake.tooltip": "CREATIVE CAKE",
|
"item.create.creative_blaze_cake.tooltip": "CREATIVE CAKE",
|
||||||
"item.create.creative_cake.tooltip.summary": "A very special treat for _Blaze Burners_ that allows _controlling their heat level_. After eating this cake, Blaze Burners will _never run out of fuel_.",
|
"item.create.creative_blaze_cake.tooltip.summary": "A very special treat for _Blaze Burners_ that allows _controlling their heat level_. After eating this cake, Blaze Burners will _never run out of fuel_.",
|
||||||
"item.create.creative_cake.tooltip.condition1": "R-Click on Blaze Burner",
|
"item.create.creative_blaze_cake.tooltip.condition1": "R-Click on Blaze Burner",
|
||||||
"item.create.creative_cake.tooltip.behaviour1": "_Locks_ the Blaze Burner's heat level. If used again, _cycles_ the Blaze Burner's heat level.",
|
"item.create.creative_blaze_cake.tooltip.behaviour1": "_Locks_ the Blaze Burner's heat level. If used again, _cycles_ the Blaze Burner's heat level.",
|
||||||
|
|
||||||
"block.create.controller_rail.tooltip": "CONTROLLER RAIL",
|
"block.create.controller_rail.tooltip": "CONTROLLER RAIL",
|
||||||
"block.create.controller_rail.tooltip.summary": "A _uni-directional powered rail_ capable of _fine control_ over a minecarts' _movement speed_.",
|
"block.create.controller_rail.tooltip.summary": "A _uni-directional powered rail_ capable of _fine control_ over a minecarts' _movement speed_.",
|
||||||
|
|
|
@ -442,7 +442,6 @@
|
||||||
"entity.create.stationary_contraption": "Stationäre Vorrichtung",
|
"entity.create.stationary_contraption": "Stationäre Vorrichtung",
|
||||||
"entity.create.super_glue": "Superkleber",
|
"entity.create.super_glue": "Superkleber",
|
||||||
|
|
||||||
"fluid.create.milk": "Milch",
|
|
||||||
"fluid.create.potion": "Trank",
|
"fluid.create.potion": "Trank",
|
||||||
"fluid.create.tea": "Bauherrentee",
|
"fluid.create.tea": "Bauherrentee",
|
||||||
|
|
||||||
|
@ -468,7 +467,7 @@
|
||||||
"item.create.copper_sheet": "Kupferblech",
|
"item.create.copper_sheet": "Kupferblech",
|
||||||
"item.create.crafter_slot_cover": "Handwerkseinheit Slot Abdeckung",
|
"item.create.crafter_slot_cover": "Handwerkseinheit Slot Abdeckung",
|
||||||
"item.create.crafting_blueprint": "UNLOCALIZED: Crafting Blueprint",
|
"item.create.crafting_blueprint": "UNLOCALIZED: Crafting Blueprint",
|
||||||
"item.create.creative_cake": "UNLOCALIZED: Creative Cake",
|
"item.create.creative_blaze_cake": "UNLOCALIZED: Creative Blaze Cake",
|
||||||
"item.create.crushed_aluminum_ore": "Zerkleinertes Aluminiumerz",
|
"item.create.crushed_aluminum_ore": "Zerkleinertes Aluminiumerz",
|
||||||
"item.create.crushed_brass": "Zerkleinertes Messing",
|
"item.create.crushed_brass": "Zerkleinertes Messing",
|
||||||
"item.create.crushed_copper_ore": "Zerkleinertes Kupfererz",
|
"item.create.crushed_copper_ore": "Zerkleinertes Kupfererz",
|
||||||
|
@ -1413,10 +1412,10 @@
|
||||||
"block.create.creative_crate.tooltip.condition1": "Wenn Gegenstand in Filter Slot",
|
"block.create.creative_crate.tooltip.condition1": "Wenn Gegenstand in Filter Slot",
|
||||||
"block.create.creative_crate.tooltip.behaviour1": "Alles _extrahierende_ von diesem Container wird einen _endlosen Vorrat_ des angegebenen Gegenstands zur Verfügung stellen. In diese Kiste _eingefügte_ Gegenstände werden _entsorgt_.",
|
"block.create.creative_crate.tooltip.behaviour1": "Alles _extrahierende_ von diesem Container wird einen _endlosen Vorrat_ des angegebenen Gegenstands zur Verfügung stellen. In diese Kiste _eingefügte_ Gegenstände werden _entsorgt_.",
|
||||||
|
|
||||||
"item.create.creative_cake.tooltip": "UNLOCALIZED: CREATIVE CAKE",
|
"item.create.creative_blaze_cake.tooltip": "UNLOCALIZED: CREATIVE CAKE",
|
||||||
"item.create.creative_cake.tooltip.summary": "UNLOCALIZED: A very special treat for _Blaze Burners_ that allows _controlling their heat level_. After eating this cake, Blaze Burners will _never run out of fuel_.",
|
"item.create.creative_blaze_cake.tooltip.summary": "UNLOCALIZED: A very special treat for _Blaze Burners_ that allows _controlling their heat level_. After eating this cake, Blaze Burners will _never run out of fuel_.",
|
||||||
"item.create.creative_cake.tooltip.condition1": "UNLOCALIZED: R-Click on Blaze Burner",
|
"item.create.creative_blaze_cake.tooltip.condition1": "UNLOCALIZED: R-Click on Blaze Burner",
|
||||||
"item.create.creative_cake.tooltip.behaviour1": "UNLOCALIZED: _Locks_ the Blaze Burner's heat level. If used again, _cycles_ the Blaze Burner's heat level.",
|
"item.create.creative_blaze_cake.tooltip.behaviour1": "UNLOCALIZED: _Locks_ the Blaze Burner's heat level. If used again, _cycles_ the Blaze Burner's heat level.",
|
||||||
|
|
||||||
"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_.",
|
||||||
|
|
|
@ -442,7 +442,6 @@
|
||||||
"entity.create.stationary_contraption": "Artilugio estacionario",
|
"entity.create.stationary_contraption": "Artilugio estacionario",
|
||||||
"entity.create.super_glue": "Pegamento",
|
"entity.create.super_glue": "Pegamento",
|
||||||
|
|
||||||
"fluid.create.milk": "Leche",
|
|
||||||
"fluid.create.potion": "Poción",
|
"fluid.create.potion": "Poción",
|
||||||
"fluid.create.tea": "Té del Constructor",
|
"fluid.create.tea": "Té del Constructor",
|
||||||
|
|
||||||
|
@ -468,7 +467,7 @@
|
||||||
"item.create.copper_sheet": "Lámina de cobre",
|
"item.create.copper_sheet": "Lámina de cobre",
|
||||||
"item.create.crafter_slot_cover": "Tapa de ranura del ensamblador mecánico",
|
"item.create.crafter_slot_cover": "Tapa de ranura del ensamblador mecánico",
|
||||||
"item.create.crafting_blueprint": "Plano de elaboración",
|
"item.create.crafting_blueprint": "Plano de elaboración",
|
||||||
"item.create.creative_cake": "UNLOCALIZED: Creative Cake",
|
"item.create.creative_blaze_cake": "UNLOCALIZED: Creative Blaze Cake",
|
||||||
"item.create.crushed_aluminum_ore": "Mineral de aluminio molido",
|
"item.create.crushed_aluminum_ore": "Mineral de aluminio molido",
|
||||||
"item.create.crushed_brass": "Latón molido",
|
"item.create.crushed_brass": "Latón molido",
|
||||||
"item.create.crushed_copper_ore": "Mineral de cobre molido",
|
"item.create.crushed_copper_ore": "Mineral de cobre molido",
|
||||||
|
@ -1413,10 +1412,10 @@
|
||||||
"block.create.creative_crate.tooltip.condition1": "Cuando el elemento está en la ranura para filtros",
|
"block.create.creative_crate.tooltip.condition1": "Cuando el elemento está en la ranura para filtros",
|
||||||
"block.create.creative_crate.tooltip.behaviour1": "Todo lo que se _extraiga_ de este contenedor proporcionará un suministro _ilimitado_ del elemento especificado. Los objetos _insertados_ en esta caja serán _evitados_.",
|
"block.create.creative_crate.tooltip.behaviour1": "Todo lo que se _extraiga_ de este contenedor proporcionará un suministro _ilimitado_ del elemento especificado. Los objetos _insertados_ en esta caja serán _evitados_.",
|
||||||
|
|
||||||
"item.create.creative_cake.tooltip": "UNLOCALIZED: CREATIVE CAKE",
|
"item.create.creative_blaze_cake.tooltip": "UNLOCALIZED: CREATIVE CAKE",
|
||||||
"item.create.creative_cake.tooltip.summary": "UNLOCALIZED: A very special treat for _Blaze Burners_ that allows _controlling their heat level_. After eating this cake, Blaze Burners will _never run out of fuel_.",
|
"item.create.creative_blaze_cake.tooltip.summary": "UNLOCALIZED: A very special treat for _Blaze Burners_ that allows _controlling their heat level_. After eating this cake, Blaze Burners will _never run out of fuel_.",
|
||||||
"item.create.creative_cake.tooltip.condition1": "UNLOCALIZED: R-Click on Blaze Burner",
|
"item.create.creative_blaze_cake.tooltip.condition1": "UNLOCALIZED: R-Click on Blaze Burner",
|
||||||
"item.create.creative_cake.tooltip.behaviour1": "UNLOCALIZED: _Locks_ the Blaze Burner's heat level. If used again, _cycles_ the Blaze Burner's heat level.",
|
"item.create.creative_blaze_cake.tooltip.behaviour1": "UNLOCALIZED: _Locks_ the Blaze Burner's heat level. If used again, _cycles_ the Blaze Burner's heat level.",
|
||||||
|
|
||||||
"block.create.controller_rail.tooltip": "RAÍL DE CONTROL",
|
"block.create.controller_rail.tooltip": "RAÍL DE CONTROL",
|
||||||
"block.create.controller_rail.tooltip.summary": "Un raíl energizado _unidireccional_ capaz de _controlar con precisión_ la _velocidad de movimiento_ de una vagoneta.",
|
"block.create.controller_rail.tooltip.summary": "Un raíl energizado _unidireccional_ capaz de _controlar con precisión_ la _velocidad de movimiento_ de una vagoneta.",
|
||||||
|
|
|
@ -442,7 +442,6 @@
|
||||||
"entity.create.stationary_contraption": "Artefacto Estacionario",
|
"entity.create.stationary_contraption": "Artefacto Estacionario",
|
||||||
"entity.create.super_glue": "Super Pegamento",
|
"entity.create.super_glue": "Super Pegamento",
|
||||||
|
|
||||||
"fluid.create.milk": "Leche",
|
|
||||||
"fluid.create.potion": "Poción",
|
"fluid.create.potion": "Poción",
|
||||||
"fluid.create.tea": "Té del Constructor",
|
"fluid.create.tea": "Té del Constructor",
|
||||||
|
|
||||||
|
@ -468,7 +467,7 @@
|
||||||
"item.create.copper_sheet": "Lámina de Cobre",
|
"item.create.copper_sheet": "Lámina de Cobre",
|
||||||
"item.create.crafter_slot_cover": "Cubierta de Ranura del Crafter",
|
"item.create.crafter_slot_cover": "Cubierta de Ranura del Crafter",
|
||||||
"item.create.crafting_blueprint": "UNLOCALIZED: Crafting Blueprint",
|
"item.create.crafting_blueprint": "UNLOCALIZED: Crafting Blueprint",
|
||||||
"item.create.creative_cake": "UNLOCALIZED: Creative Cake",
|
"item.create.creative_blaze_cake": "UNLOCALIZED: Creative Blaze Cake",
|
||||||
"item.create.crushed_aluminum_ore": "Mineral de Aluminio Molido",
|
"item.create.crushed_aluminum_ore": "Mineral de Aluminio Molido",
|
||||||
"item.create.crushed_brass": "Latón Molido",
|
"item.create.crushed_brass": "Latón Molido",
|
||||||
"item.create.crushed_copper_ore": "Mineral de Cobre Molido",
|
"item.create.crushed_copper_ore": "Mineral de Cobre Molido",
|
||||||
|
@ -1413,10 +1412,10 @@
|
||||||
"block.create.creative_crate.tooltip.condition1": "UNLOCALIZED: When Item in Filter Slot",
|
"block.create.creative_crate.tooltip.condition1": "UNLOCALIZED: When 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": "UNLOCALIZED: Anything _extracting_ from this container will provide an _endless supply_ of the item specified. Items _inserted_ into this crate will be _voided._",
|
||||||
|
|
||||||
"item.create.creative_cake.tooltip": "UNLOCALIZED: CREATIVE CAKE",
|
"item.create.creative_blaze_cake.tooltip": "UNLOCALIZED: CREATIVE CAKE",
|
||||||
"item.create.creative_cake.tooltip.summary": "UNLOCALIZED: A very special treat for _Blaze Burners_ that allows _controlling their heat level_. After eating this cake, Blaze Burners will _never run out of fuel_.",
|
"item.create.creative_blaze_cake.tooltip.summary": "UNLOCALIZED: A very special treat for _Blaze Burners_ that allows _controlling their heat level_. After eating this cake, Blaze Burners will _never run out of fuel_.",
|
||||||
"item.create.creative_cake.tooltip.condition1": "UNLOCALIZED: R-Click on Blaze Burner",
|
"item.create.creative_blaze_cake.tooltip.condition1": "UNLOCALIZED: R-Click on Blaze Burner",
|
||||||
"item.create.creative_cake.tooltip.behaviour1": "UNLOCALIZED: _Locks_ the Blaze Burner's heat level. If used again, _cycles_ the Blaze Burner's heat level.",
|
"item.create.creative_blaze_cake.tooltip.behaviour1": "UNLOCALIZED: _Locks_ the Blaze Burner's heat level. If used again, _cycles_ the Blaze Burner's heat level.",
|
||||||
|
|
||||||
"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_.",
|
||||||
|
|
|
@ -442,7 +442,6 @@
|
||||||
"entity.create.stationary_contraption": "Engin stationnaire",
|
"entity.create.stationary_contraption": "Engin stationnaire",
|
||||||
"entity.create.super_glue": "Colle extra-forte",
|
"entity.create.super_glue": "Colle extra-forte",
|
||||||
|
|
||||||
"fluid.create.milk": "Lait",
|
|
||||||
"fluid.create.potion": "Potion",
|
"fluid.create.potion": "Potion",
|
||||||
"fluid.create.tea": "Thé du constructeur",
|
"fluid.create.tea": "Thé du constructeur",
|
||||||
|
|
||||||
|
@ -468,7 +467,7 @@
|
||||||
"item.create.copper_sheet": "Plaques de cuivre",
|
"item.create.copper_sheet": "Plaques de cuivre",
|
||||||
"item.create.crafter_slot_cover": "Couvercle",
|
"item.create.crafter_slot_cover": "Couvercle",
|
||||||
"item.create.crafting_blueprint": "UNLOCALIZED: Crafting Blueprint",
|
"item.create.crafting_blueprint": "UNLOCALIZED: Crafting Blueprint",
|
||||||
"item.create.creative_cake": "UNLOCALIZED: Creative Cake",
|
"item.create.creative_blaze_cake": "UNLOCALIZED: Creative Blaze Cake",
|
||||||
"item.create.crushed_aluminum_ore": "Aluminium concassé",
|
"item.create.crushed_aluminum_ore": "Aluminium concassé",
|
||||||
"item.create.crushed_brass": "Laiton concassé",
|
"item.create.crushed_brass": "Laiton concassé",
|
||||||
"item.create.crushed_copper_ore": "Cuivre concassé",
|
"item.create.crushed_copper_ore": "Cuivre concassé",
|
||||||
|
@ -1413,10 +1412,10 @@
|
||||||
"block.create.creative_crate.tooltip.condition1": "Quand un objet se trouve dans l'emplacement de filtrage",
|
"block.create.creative_crate.tooltip.condition1": "Quand un objet se trouve dans l'emplacement de filtrage",
|
||||||
"block.create.creative_crate.tooltip.behaviour1": "Tout ce qui _extrait_ de ce conteneur aura une _alimentation illimitée_ de l'objet spécifié. Les objets _insérés_ dans cette caisse seront _éliminés_.",
|
"block.create.creative_crate.tooltip.behaviour1": "Tout ce qui _extrait_ de ce conteneur aura une _alimentation illimitée_ de l'objet spécifié. Les objets _insérés_ dans cette caisse seront _éliminés_.",
|
||||||
|
|
||||||
"item.create.creative_cake.tooltip": "UNLOCALIZED: CREATIVE CAKE",
|
"item.create.creative_blaze_cake.tooltip": "UNLOCALIZED: CREATIVE CAKE",
|
||||||
"item.create.creative_cake.tooltip.summary": "UNLOCALIZED: A very special treat for _Blaze Burners_ that allows _controlling their heat level_. After eating this cake, Blaze Burners will _never run out of fuel_.",
|
"item.create.creative_blaze_cake.tooltip.summary": "UNLOCALIZED: A very special treat for _Blaze Burners_ that allows _controlling their heat level_. After eating this cake, Blaze Burners will _never run out of fuel_.",
|
||||||
"item.create.creative_cake.tooltip.condition1": "UNLOCALIZED: R-Click on Blaze Burner",
|
"item.create.creative_blaze_cake.tooltip.condition1": "UNLOCALIZED: R-Click on Blaze Burner",
|
||||||
"item.create.creative_cake.tooltip.behaviour1": "UNLOCALIZED: _Locks_ the Blaze Burner's heat level. If used again, _cycles_ the Blaze Burner's heat level.",
|
"item.create.creative_blaze_cake.tooltip.behaviour1": "UNLOCALIZED: _Locks_ the Blaze Burner's heat level. If used again, _cycles_ the Blaze Burner's heat level.",
|
||||||
|
|
||||||
"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_.",
|
||||||
|
|
|
@ -442,7 +442,6 @@
|
||||||
"entity.create.stationary_contraption": "Contrazione stazionaria",
|
"entity.create.stationary_contraption": "Contrazione stazionaria",
|
||||||
"entity.create.super_glue": "Super colla",
|
"entity.create.super_glue": "Super colla",
|
||||||
|
|
||||||
"fluid.create.milk": "Latte",
|
|
||||||
"fluid.create.potion": "Pozione",
|
"fluid.create.potion": "Pozione",
|
||||||
"fluid.create.tea": "Tè del costruttore",
|
"fluid.create.tea": "Tè del costruttore",
|
||||||
|
|
||||||
|
@ -468,7 +467,7 @@
|
||||||
"item.create.copper_sheet": "Lamiera di rame",
|
"item.create.copper_sheet": "Lamiera di rame",
|
||||||
"item.create.crafter_slot_cover": "Rivestimento per slot da costruzione",
|
"item.create.crafter_slot_cover": "Rivestimento per slot da costruzione",
|
||||||
"item.create.crafting_blueprint": "UNLOCALIZED: Crafting Blueprint",
|
"item.create.crafting_blueprint": "UNLOCALIZED: Crafting Blueprint",
|
||||||
"item.create.creative_cake": "UNLOCALIZED: Creative Cake",
|
"item.create.creative_blaze_cake": "UNLOCALIZED: Creative Blaze Cake",
|
||||||
"item.create.crushed_aluminum_ore": "Alluminio grezzo frantumato",
|
"item.create.crushed_aluminum_ore": "Alluminio grezzo frantumato",
|
||||||
"item.create.crushed_brass": "Ottone frantumato",
|
"item.create.crushed_brass": "Ottone frantumato",
|
||||||
"item.create.crushed_copper_ore": "Rame grezzo frantumato",
|
"item.create.crushed_copper_ore": "Rame grezzo frantumato",
|
||||||
|
@ -1413,10 +1412,10 @@
|
||||||
"block.create.creative_crate.tooltip.condition1": "Quando un oggetto è nel filtro",
|
"block.create.creative_crate.tooltip.condition1": "Quando un oggetto è nel filtro",
|
||||||
"block.create.creative_crate.tooltip.behaviour1": "Qualsiasi _estrazione_ da questo contenitore fornisce _provviste infinite_ dell'oggetto in questione. Gli oggetti _inseriti_ in questo baule verranno _svuotati_.",
|
"block.create.creative_crate.tooltip.behaviour1": "Qualsiasi _estrazione_ da questo contenitore fornisce _provviste infinite_ dell'oggetto in questione. Gli oggetti _inseriti_ in questo baule verranno _svuotati_.",
|
||||||
|
|
||||||
"item.create.creative_cake.tooltip": "UNLOCALIZED: CREATIVE CAKE",
|
"item.create.creative_blaze_cake.tooltip": "UNLOCALIZED: CREATIVE CAKE",
|
||||||
"item.create.creative_cake.tooltip.summary": "UNLOCALIZED: A very special treat for _Blaze Burners_ that allows _controlling their heat level_. After eating this cake, Blaze Burners will _never run out of fuel_.",
|
"item.create.creative_blaze_cake.tooltip.summary": "UNLOCALIZED: A very special treat for _Blaze Burners_ that allows _controlling their heat level_. After eating this cake, Blaze Burners will _never run out of fuel_.",
|
||||||
"item.create.creative_cake.tooltip.condition1": "UNLOCALIZED: R-Click on Blaze Burner",
|
"item.create.creative_blaze_cake.tooltip.condition1": "UNLOCALIZED: R-Click on Blaze Burner",
|
||||||
"item.create.creative_cake.tooltip.behaviour1": "UNLOCALIZED: _Locks_ the Blaze Burner's heat level. If used again, _cycles_ the Blaze Burner's heat level.",
|
"item.create.creative_blaze_cake.tooltip.behaviour1": "UNLOCALIZED: _Locks_ the Blaze Burner's heat level. If used again, _cycles_ the Blaze Burner's heat level.",
|
||||||
|
|
||||||
"block.create.controller_rail.tooltip": "BINARIO DI CONTROLLO",
|
"block.create.controller_rail.tooltip": "BINARIO DI CONTROLLO",
|
||||||
"block.create.controller_rail.tooltip.summary": "Un _binario alimentato unidirezionale_ capace di _controllare precisamente_ la _velocità di movimento_ di un carrello da miniera.",
|
"block.create.controller_rail.tooltip.summary": "Un _binario alimentato unidirezionale_ capace di _controllare precisamente_ la _velocità di movimento_ di un carrello da miniera.",
|
||||||
|
|
|
@ -442,7 +442,6 @@
|
||||||
"entity.create.stationary_contraption": "付設からくり",
|
"entity.create.stationary_contraption": "付設からくり",
|
||||||
"entity.create.super_glue": "超粘着剤",
|
"entity.create.super_glue": "超粘着剤",
|
||||||
|
|
||||||
"fluid.create.milk": "牛乳",
|
|
||||||
"fluid.create.potion": "ポーション",
|
"fluid.create.potion": "ポーション",
|
||||||
"fluid.create.tea": "建築家のお茶",
|
"fluid.create.tea": "建築家のお茶",
|
||||||
|
|
||||||
|
@ -468,7 +467,7 @@
|
||||||
"item.create.copper_sheet": "銅板",
|
"item.create.copper_sheet": "銅板",
|
||||||
"item.create.crafter_slot_cover": "クラフタースロットカバー",
|
"item.create.crafter_slot_cover": "クラフタースロットカバー",
|
||||||
"item.create.crafting_blueprint": "クラフトブループリント",
|
"item.create.crafting_blueprint": "クラフトブループリント",
|
||||||
"item.create.creative_cake": "UNLOCALIZED: Creative Cake",
|
"item.create.creative_blaze_cake": "UNLOCALIZED: Creative Blaze Cake",
|
||||||
"item.create.crushed_aluminum_ore": "砕いたアルミニウム鉱石",
|
"item.create.crushed_aluminum_ore": "砕いたアルミニウム鉱石",
|
||||||
"item.create.crushed_brass": "砕いた真鍮",
|
"item.create.crushed_brass": "砕いた真鍮",
|
||||||
"item.create.crushed_copper_ore": "砕いた銅鉱石",
|
"item.create.crushed_copper_ore": "砕いた銅鉱石",
|
||||||
|
@ -1413,10 +1412,10 @@
|
||||||
"block.create.creative_crate.tooltip.condition1": "フィルタースロットにアイテムが入っているとき",
|
"block.create.creative_crate.tooltip.condition1": "フィルタースロットにアイテムが入っているとき",
|
||||||
"block.create.creative_crate.tooltip.behaviour1": "このクレートから何かを_搬出_すると、指定されたアイテムが_無限_に_搬出_されます。このクレートに_搬入_されたアイテムは_消滅_します。",
|
"block.create.creative_crate.tooltip.behaviour1": "このクレートから何かを_搬出_すると、指定されたアイテムが_無限_に_搬出_されます。このクレートに_搬入_されたアイテムは_消滅_します。",
|
||||||
|
|
||||||
"item.create.creative_cake.tooltip": "UNLOCALIZED: CREATIVE CAKE",
|
"item.create.creative_blaze_cake.tooltip": "UNLOCALIZED: CREATIVE CAKE",
|
||||||
"item.create.creative_cake.tooltip.summary": "UNLOCALIZED: A very special treat for _Blaze Burners_ that allows _controlling their heat level_. After eating this cake, Blaze Burners will _never run out of fuel_.",
|
"item.create.creative_blaze_cake.tooltip.summary": "UNLOCALIZED: A very special treat for _Blaze Burners_ that allows _controlling their heat level_. After eating this cake, Blaze Burners will _never run out of fuel_.",
|
||||||
"item.create.creative_cake.tooltip.condition1": "UNLOCALIZED: R-Click on Blaze Burner",
|
"item.create.creative_blaze_cake.tooltip.condition1": "UNLOCALIZED: R-Click on Blaze Burner",
|
||||||
"item.create.creative_cake.tooltip.behaviour1": "UNLOCALIZED: _Locks_ the Blaze Burner's heat level. If used again, _cycles_ the Blaze Burner's heat level.",
|
"item.create.creative_blaze_cake.tooltip.behaviour1": "UNLOCALIZED: _Locks_ the Blaze Burner's heat level. If used again, _cycles_ the Blaze Burner's heat level.",
|
||||||
|
|
||||||
"block.create.controller_rail.tooltip": "コントローラーレール",
|
"block.create.controller_rail.tooltip": "コントローラーレール",
|
||||||
"block.create.controller_rail.tooltip.summary": "トロッコの_移動速度_を_細かく制御_できる_一方通行_の_パワード_レール",
|
"block.create.controller_rail.tooltip.summary": "トロッコの_移動速度_を_細かく制御_できる_一方通行_の_パワード_レール",
|
||||||
|
|
|
@ -442,7 +442,6 @@
|
||||||
"entity.create.stationary_contraption": "고정된 구조물",
|
"entity.create.stationary_contraption": "고정된 구조물",
|
||||||
"entity.create.super_glue": "강력 접착제",
|
"entity.create.super_glue": "강력 접착제",
|
||||||
|
|
||||||
"fluid.create.milk": "우유",
|
|
||||||
"fluid.create.potion": "포션",
|
"fluid.create.potion": "포션",
|
||||||
"fluid.create.tea": "건축가의 차",
|
"fluid.create.tea": "건축가의 차",
|
||||||
|
|
||||||
|
@ -468,7 +467,7 @@
|
||||||
"item.create.copper_sheet": "구리 판",
|
"item.create.copper_sheet": "구리 판",
|
||||||
"item.create.crafter_slot_cover": "조합기 슬롯 덮개",
|
"item.create.crafter_slot_cover": "조합기 슬롯 덮개",
|
||||||
"item.create.crafting_blueprint": "조합 청사진",
|
"item.create.crafting_blueprint": "조합 청사진",
|
||||||
"item.create.creative_cake": "UNLOCALIZED: Creative Cake",
|
"item.create.creative_blaze_cake": "UNLOCALIZED: Creative Blaze Cake",
|
||||||
"item.create.crushed_aluminum_ore": "UNLOCALIZED: Crushed Aluminum Ore",
|
"item.create.crushed_aluminum_ore": "UNLOCALIZED: Crushed Aluminum Ore",
|
||||||
"item.create.crushed_brass": "분쇄된 황동",
|
"item.create.crushed_brass": "분쇄된 황동",
|
||||||
"item.create.crushed_copper_ore": "분쇄된 구리 광석",
|
"item.create.crushed_copper_ore": "분쇄된 구리 광석",
|
||||||
|
@ -1413,10 +1412,10 @@
|
||||||
"block.create.creative_crate.tooltip.condition1": "필터에 아이템을 설정할 시",
|
"block.create.creative_crate.tooltip.condition1": "필터에 아이템을 설정할 시",
|
||||||
"block.create.creative_crate.tooltip.behaviour1": "선택된 아이템을 _무한정_으로 _빼낼_ 수 있습니다. 대신 _들어간_ 아이템은 _삭제_됩니다.",
|
"block.create.creative_crate.tooltip.behaviour1": "선택된 아이템을 _무한정_으로 _빼낼_ 수 있습니다. 대신 _들어간_ 아이템은 _삭제_됩니다.",
|
||||||
|
|
||||||
"item.create.creative_cake.tooltip": "UNLOCALIZED: CREATIVE CAKE",
|
"item.create.creative_blaze_cake.tooltip": "UNLOCALIZED: CREATIVE CAKE",
|
||||||
"item.create.creative_cake.tooltip.summary": "UNLOCALIZED: A very special treat for _Blaze Burners_ that allows _controlling their heat level_. After eating this cake, Blaze Burners will _never run out of fuel_.",
|
"item.create.creative_blaze_cake.tooltip.summary": "UNLOCALIZED: A very special treat for _Blaze Burners_ that allows _controlling their heat level_. After eating this cake, Blaze Burners will _never run out of fuel_.",
|
||||||
"item.create.creative_cake.tooltip.condition1": "UNLOCALIZED: R-Click on Blaze Burner",
|
"item.create.creative_blaze_cake.tooltip.condition1": "UNLOCALIZED: R-Click on Blaze Burner",
|
||||||
"item.create.creative_cake.tooltip.behaviour1": "UNLOCALIZED: _Locks_ the Blaze Burner's heat level. If used again, _cycles_ the Blaze Burner's heat level.",
|
"item.create.creative_blaze_cake.tooltip.behaviour1": "UNLOCALIZED: _Locks_ the Blaze Burner's heat level. If used again, _cycles_ the Blaze Burner's heat level.",
|
||||||
|
|
||||||
"block.create.controller_rail.tooltip": "CONTROLLER RAIL",
|
"block.create.controller_rail.tooltip": "CONTROLLER RAIL",
|
||||||
"block.create.controller_rail.tooltip.summary": "_광산 수레_의 _이동속도_를 _세밀하게_ _조정_할 수 있는 _양방향_ _전동 레일_입니다.",
|
"block.create.controller_rail.tooltip.summary": "_광산 수레_의 _이동속도_를 _세밀하게_ _조정_할 수 있는 _양방향_ _전동 레일_입니다.",
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"_": "Missing Localizations: 1767",
|
"_": "Missing Localizations: 1766",
|
||||||
|
|
||||||
"_": "->------------------------] Game Elements [------------------------<-",
|
"_": "->------------------------] Game Elements [------------------------<-",
|
||||||
|
|
||||||
|
@ -442,7 +442,6 @@
|
||||||
"entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption",
|
"entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption",
|
||||||
"entity.create.super_glue": "UNLOCALIZED: Super Glue",
|
"entity.create.super_glue": "UNLOCALIZED: Super Glue",
|
||||||
|
|
||||||
"fluid.create.milk": "UNLOCALIZED: Milk",
|
|
||||||
"fluid.create.potion": "UNLOCALIZED: Potion",
|
"fluid.create.potion": "UNLOCALIZED: Potion",
|
||||||
"fluid.create.tea": "UNLOCALIZED: Builder's Tea",
|
"fluid.create.tea": "UNLOCALIZED: Builder's Tea",
|
||||||
|
|
||||||
|
@ -468,7 +467,7 @@
|
||||||
"item.create.copper_sheet": "UNLOCALIZED: Copper Sheet",
|
"item.create.copper_sheet": "UNLOCALIZED: Copper Sheet",
|
||||||
"item.create.crafter_slot_cover": "UNLOCALIZED: Crafter Slot Cover",
|
"item.create.crafter_slot_cover": "UNLOCALIZED: Crafter Slot Cover",
|
||||||
"item.create.crafting_blueprint": "UNLOCALIZED: Crafting Blueprint",
|
"item.create.crafting_blueprint": "UNLOCALIZED: Crafting Blueprint",
|
||||||
"item.create.creative_cake": "UNLOCALIZED: Creative Cake",
|
"item.create.creative_blaze_cake": "UNLOCALIZED: Creative Blaze Cake",
|
||||||
"item.create.crushed_aluminum_ore": "UNLOCALIZED: Crushed Aluminum Ore",
|
"item.create.crushed_aluminum_ore": "UNLOCALIZED: Crushed Aluminum Ore",
|
||||||
"item.create.crushed_brass": "Gemalen Brons",
|
"item.create.crushed_brass": "Gemalen Brons",
|
||||||
"item.create.crushed_copper_ore": "UNLOCALIZED: Crushed Copper Ore",
|
"item.create.crushed_copper_ore": "UNLOCALIZED: Crushed Copper Ore",
|
||||||
|
@ -1413,10 +1412,10 @@
|
||||||
"block.create.creative_crate.tooltip.condition1": "UNLOCALIZED: When Item in Filter Slot",
|
"block.create.creative_crate.tooltip.condition1": "UNLOCALIZED: When 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": "UNLOCALIZED: Anything _extracting_ from this container will provide an _endless supply_ of the item specified. Items _inserted_ into this crate will be _voided._",
|
||||||
|
|
||||||
"item.create.creative_cake.tooltip": "UNLOCALIZED: CREATIVE CAKE",
|
"item.create.creative_blaze_cake.tooltip": "UNLOCALIZED: CREATIVE CAKE",
|
||||||
"item.create.creative_cake.tooltip.summary": "UNLOCALIZED: A very special treat for _Blaze Burners_ that allows _controlling their heat level_. After eating this cake, Blaze Burners will _never run out of fuel_.",
|
"item.create.creative_blaze_cake.tooltip.summary": "UNLOCALIZED: A very special treat for _Blaze Burners_ that allows _controlling their heat level_. After eating this cake, Blaze Burners will _never run out of fuel_.",
|
||||||
"item.create.creative_cake.tooltip.condition1": "UNLOCALIZED: R-Click on Blaze Burner",
|
"item.create.creative_blaze_cake.tooltip.condition1": "UNLOCALIZED: R-Click on Blaze Burner",
|
||||||
"item.create.creative_cake.tooltip.behaviour1": "UNLOCALIZED: _Locks_ the Blaze Burner's heat level. If used again, _cycles_ the Blaze Burner's heat level.",
|
"item.create.creative_blaze_cake.tooltip.behaviour1": "UNLOCALIZED: _Locks_ the Blaze Burner's heat level. If used again, _cycles_ the Blaze Burner's heat level.",
|
||||||
|
|
||||||
"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_.",
|
||||||
|
|
|
@ -442,7 +442,6 @@
|
||||||
"entity.create.stationary_contraption": "Maszyna stacjonarna",
|
"entity.create.stationary_contraption": "Maszyna stacjonarna",
|
||||||
"entity.create.super_glue": "Super Glue",
|
"entity.create.super_glue": "Super Glue",
|
||||||
|
|
||||||
"fluid.create.milk": "Mleko",
|
|
||||||
"fluid.create.potion": "Mikstura",
|
"fluid.create.potion": "Mikstura",
|
||||||
"fluid.create.tea": "Herbatka Budowniczego",
|
"fluid.create.tea": "Herbatka Budowniczego",
|
||||||
|
|
||||||
|
@ -468,7 +467,7 @@
|
||||||
"item.create.copper_sheet": "Arkusz miedzi",
|
"item.create.copper_sheet": "Arkusz miedzi",
|
||||||
"item.create.crafter_slot_cover": "Przykrywka na slot stołu rzemieślniczego",
|
"item.create.crafter_slot_cover": "Przykrywka na slot stołu rzemieślniczego",
|
||||||
"item.create.crafting_blueprint": "UNLOCALIZED: Crafting Blueprint",
|
"item.create.crafting_blueprint": "UNLOCALIZED: Crafting Blueprint",
|
||||||
"item.create.creative_cake": "UNLOCALIZED: Creative Cake",
|
"item.create.creative_blaze_cake": "UNLOCALIZED: Creative Blaze Cake",
|
||||||
"item.create.crushed_aluminum_ore": "Rozkruszona ruda żelaza",
|
"item.create.crushed_aluminum_ore": "Rozkruszona ruda żelaza",
|
||||||
"item.create.crushed_brass": "Rozkruszony mosiądz",
|
"item.create.crushed_brass": "Rozkruszony mosiądz",
|
||||||
"item.create.crushed_copper_ore": "Rozkruszona ruda miedzi",
|
"item.create.crushed_copper_ore": "Rozkruszona ruda miedzi",
|
||||||
|
@ -1413,10 +1412,10 @@
|
||||||
"block.create.creative_crate.tooltip.condition1": "Kiedy przedmiot jest w slocie na filtr",
|
"block.create.creative_crate.tooltip.condition1": "Kiedy przedmiot jest w slocie na filtr",
|
||||||
"block.create.creative_crate.tooltip.behaviour1": "Bloki _wyciągające_ przedmioty z tego bloku będą miały _nieskończony zapas_ wybranego przedmiotu. Przedmioty włożone do tej skrzynki będą _usuwane_.",
|
"block.create.creative_crate.tooltip.behaviour1": "Bloki _wyciągające_ przedmioty z tego bloku będą miały _nieskończony zapas_ wybranego przedmiotu. Przedmioty włożone do tej skrzynki będą _usuwane_.",
|
||||||
|
|
||||||
"item.create.creative_cake.tooltip": "UNLOCALIZED: CREATIVE CAKE",
|
"item.create.creative_blaze_cake.tooltip": "UNLOCALIZED: CREATIVE CAKE",
|
||||||
"item.create.creative_cake.tooltip.summary": "UNLOCALIZED: A very special treat for _Blaze Burners_ that allows _controlling their heat level_. After eating this cake, Blaze Burners will _never run out of fuel_.",
|
"item.create.creative_blaze_cake.tooltip.summary": "UNLOCALIZED: A very special treat for _Blaze Burners_ that allows _controlling their heat level_. After eating this cake, Blaze Burners will _never run out of fuel_.",
|
||||||
"item.create.creative_cake.tooltip.condition1": "UNLOCALIZED: R-Click on Blaze Burner",
|
"item.create.creative_blaze_cake.tooltip.condition1": "UNLOCALIZED: R-Click on Blaze Burner",
|
||||||
"item.create.creative_cake.tooltip.behaviour1": "UNLOCALIZED: _Locks_ the Blaze Burner's heat level. If used again, _cycles_ the Blaze Burner's heat level.",
|
"item.create.creative_blaze_cake.tooltip.behaviour1": "UNLOCALIZED: _Locks_ the Blaze Burner's heat level. If used again, _cycles_ the Blaze Burner's heat level.",
|
||||||
|
|
||||||
"block.create.controller_rail.tooltip": "TORY STERUJĄCE",
|
"block.create.controller_rail.tooltip": "TORY STERUJĄCE",
|
||||||
"block.create.controller_rail.tooltip.summary": "_Wielokierunkowy_ zasilany tor pozwalający na _dokładną kontrolę_ nad _prędkością wagonika_.",
|
"block.create.controller_rail.tooltip.summary": "_Wielokierunkowy_ zasilany tor pozwalający na _dokładną kontrolę_ nad _prędkością wagonika_.",
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"_": "Missing Localizations: 1808",
|
"_": "Missing Localizations: 1807",
|
||||||
|
|
||||||
"_": "->------------------------] Game Elements [------------------------<-",
|
"_": "->------------------------] Game Elements [------------------------<-",
|
||||||
|
|
||||||
|
@ -442,7 +442,6 @@
|
||||||
"entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption",
|
"entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption",
|
||||||
"entity.create.super_glue": "UNLOCALIZED: Super Glue",
|
"entity.create.super_glue": "UNLOCALIZED: Super Glue",
|
||||||
|
|
||||||
"fluid.create.milk": "UNLOCALIZED: Milk",
|
|
||||||
"fluid.create.potion": "UNLOCALIZED: Potion",
|
"fluid.create.potion": "UNLOCALIZED: Potion",
|
||||||
"fluid.create.tea": "UNLOCALIZED: Builder's Tea",
|
"fluid.create.tea": "UNLOCALIZED: Builder's Tea",
|
||||||
|
|
||||||
|
@ -468,7 +467,7 @@
|
||||||
"item.create.copper_sheet": "UNLOCALIZED: Copper Sheet",
|
"item.create.copper_sheet": "UNLOCALIZED: Copper Sheet",
|
||||||
"item.create.crafter_slot_cover": "UNLOCALIZED: Crafter Slot Cover",
|
"item.create.crafter_slot_cover": "UNLOCALIZED: Crafter Slot Cover",
|
||||||
"item.create.crafting_blueprint": "UNLOCALIZED: Crafting Blueprint",
|
"item.create.crafting_blueprint": "UNLOCALIZED: Crafting Blueprint",
|
||||||
"item.create.creative_cake": "UNLOCALIZED: Creative Cake",
|
"item.create.creative_blaze_cake": "UNLOCALIZED: Creative Blaze Cake",
|
||||||
"item.create.crushed_aluminum_ore": "UNLOCALIZED: Crushed Aluminum Ore",
|
"item.create.crushed_aluminum_ore": "UNLOCALIZED: Crushed Aluminum Ore",
|
||||||
"item.create.crushed_brass": "UNLOCALIZED: Crushed Brass",
|
"item.create.crushed_brass": "UNLOCALIZED: Crushed Brass",
|
||||||
"item.create.crushed_copper_ore": "UNLOCALIZED: Crushed Copper Ore",
|
"item.create.crushed_copper_ore": "UNLOCALIZED: Crushed Copper Ore",
|
||||||
|
@ -1413,10 +1412,10 @@
|
||||||
"block.create.creative_crate.tooltip.condition1": "UNLOCALIZED: When Item in Filter Slot",
|
"block.create.creative_crate.tooltip.condition1": "UNLOCALIZED: When 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": "UNLOCALIZED: Anything _extracting_ from this container will provide an _endless supply_ of the item specified. Items _inserted_ into this crate will be _voided._",
|
||||||
|
|
||||||
"item.create.creative_cake.tooltip": "UNLOCALIZED: CREATIVE CAKE",
|
"item.create.creative_blaze_cake.tooltip": "UNLOCALIZED: CREATIVE CAKE",
|
||||||
"item.create.creative_cake.tooltip.summary": "UNLOCALIZED: A very special treat for _Blaze Burners_ that allows _controlling their heat level_. After eating this cake, Blaze Burners will _never run out of fuel_.",
|
"item.create.creative_blaze_cake.tooltip.summary": "UNLOCALIZED: A very special treat for _Blaze Burners_ that allows _controlling their heat level_. After eating this cake, Blaze Burners will _never run out of fuel_.",
|
||||||
"item.create.creative_cake.tooltip.condition1": "UNLOCALIZED: R-Click on Blaze Burner",
|
"item.create.creative_blaze_cake.tooltip.condition1": "UNLOCALIZED: R-Click on Blaze Burner",
|
||||||
"item.create.creative_cake.tooltip.behaviour1": "UNLOCALIZED: _Locks_ the Blaze Burner's heat level. If used again, _cycles_ the Blaze Burner's heat level.",
|
"item.create.creative_blaze_cake.tooltip.behaviour1": "UNLOCALIZED: _Locks_ the Blaze Burner's heat level. If used again, _cycles_ the Blaze Burner's heat level.",
|
||||||
|
|
||||||
"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_.",
|
||||||
|
|
|
@ -442,7 +442,6 @@
|
||||||
"entity.create.stationary_contraption": "Стационарная штуковина",
|
"entity.create.stationary_contraption": "Стационарная штуковина",
|
||||||
"entity.create.super_glue": "Супер-клей",
|
"entity.create.super_glue": "Супер-клей",
|
||||||
|
|
||||||
"fluid.create.milk": "Молоко",
|
|
||||||
"fluid.create.potion": "Зелье",
|
"fluid.create.potion": "Зелье",
|
||||||
"fluid.create.tea": "Чай Строителя",
|
"fluid.create.tea": "Чай Строителя",
|
||||||
|
|
||||||
|
@ -468,7 +467,7 @@
|
||||||
"item.create.copper_sheet": "Медный лист",
|
"item.create.copper_sheet": "Медный лист",
|
||||||
"item.create.crafter_slot_cover": "Крышка на слот крафтера",
|
"item.create.crafter_slot_cover": "Крышка на слот крафтера",
|
||||||
"item.create.crafting_blueprint": "Создание чертежа",
|
"item.create.crafting_blueprint": "Создание чертежа",
|
||||||
"item.create.creative_cake": "UNLOCALIZED: Creative Cake",
|
"item.create.creative_blaze_cake": "UNLOCALIZED: Creative Blaze Cake",
|
||||||
"item.create.crushed_aluminum_ore": "Дроблёная алюминиевая руда",
|
"item.create.crushed_aluminum_ore": "Дроблёная алюминиевая руда",
|
||||||
"item.create.crushed_brass": "Дроблёная латунь",
|
"item.create.crushed_brass": "Дроблёная латунь",
|
||||||
"item.create.crushed_copper_ore": "Дроблёная медная руда",
|
"item.create.crushed_copper_ore": "Дроблёная медная руда",
|
||||||
|
@ -1413,10 +1412,10 @@
|
||||||
"block.create.creative_crate.tooltip.condition1": "Когда предмет в слоте фильтра",
|
"block.create.creative_crate.tooltip.condition1": "Когда предмет в слоте фильтра",
|
||||||
"block.create.creative_crate.tooltip.behaviour1": "Все, что извлечено из этого контейнера, обеспечит бесконечную поставку указанного предмета. Предметы, _вставленные_ в этот ящик, будут _аннулированы_.",
|
"block.create.creative_crate.tooltip.behaviour1": "Все, что извлечено из этого контейнера, обеспечит бесконечную поставку указанного предмета. Предметы, _вставленные_ в этот ящик, будут _аннулированы_.",
|
||||||
|
|
||||||
"item.create.creative_cake.tooltip": "UNLOCALIZED: CREATIVE CAKE",
|
"item.create.creative_blaze_cake.tooltip": "UNLOCALIZED: CREATIVE CAKE",
|
||||||
"item.create.creative_cake.tooltip.summary": "UNLOCALIZED: A very special treat for _Blaze Burners_ that allows _controlling their heat level_. After eating this cake, Blaze Burners will _never run out of fuel_.",
|
"item.create.creative_blaze_cake.tooltip.summary": "UNLOCALIZED: A very special treat for _Blaze Burners_ that allows _controlling their heat level_. After eating this cake, Blaze Burners will _never run out of fuel_.",
|
||||||
"item.create.creative_cake.tooltip.condition1": "UNLOCALIZED: R-Click on Blaze Burner",
|
"item.create.creative_blaze_cake.tooltip.condition1": "UNLOCALIZED: R-Click on Blaze Burner",
|
||||||
"item.create.creative_cake.tooltip.behaviour1": "UNLOCALIZED: _Locks_ the Blaze Burner's heat level. If used again, _cycles_ the Blaze Burner's heat level.",
|
"item.create.creative_blaze_cake.tooltip.behaviour1": "UNLOCALIZED: _Locks_ the Blaze Burner's heat level. If used again, _cycles_ the Blaze Burner's heat level.",
|
||||||
|
|
||||||
"block.create.controller_rail.tooltip": "КОНТРОЛИРУЮЩАЯ РЕЛЬСА",
|
"block.create.controller_rail.tooltip": "КОНТРОЛИРУЮЩАЯ РЕЛЬСА",
|
||||||
"block.create.controller_rail.tooltip.summary": "_Все-направленные запитанные рельсы_, позволяющие _точную настройку_ _скорости_ вагонеток.",
|
"block.create.controller_rail.tooltip.summary": "_Все-направленные запитанные рельсы_, позволяющие _точную настройку_ _скорости_ вагонеток.",
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"_": "Missing Localizations: 297",
|
"_": "Missing Localizations: 5",
|
||||||
|
|
||||||
"_": "->------------------------] Game Elements [------------------------<-",
|
"_": "->------------------------] Game Elements [------------------------<-",
|
||||||
|
|
||||||
|
@ -28,12 +28,12 @@
|
||||||
"block.create.belt": "传送带",
|
"block.create.belt": "传送带",
|
||||||
"block.create.birch_window": "白桦窗户",
|
"block.create.birch_window": "白桦窗户",
|
||||||
"block.create.birch_window_pane": "白桦窗户板",
|
"block.create.birch_window_pane": "白桦窗户板",
|
||||||
"block.create.black_nixie_tube": "UNLOCALIZED: Black Nixie Tube",
|
"block.create.black_nixie_tube": "黑色辉光管",
|
||||||
"block.create.black_sail": "黑色风帆",
|
"block.create.black_sail": "黑色风帆",
|
||||||
"block.create.black_seat": "黑色坐垫",
|
"block.create.black_seat": "黑色坐垫",
|
||||||
"block.create.black_valve_handle": "黑色阀门手轮",
|
"block.create.black_valve_handle": "黑色阀门手轮",
|
||||||
"block.create.blaze_burner": "烈焰人燃烧室",
|
"block.create.blaze_burner": "烈焰人燃烧室",
|
||||||
"block.create.blue_nixie_tube": "UNLOCALIZED: Blue Nixie Tube",
|
"block.create.blue_nixie_tube": "蓝色辉光管",
|
||||||
"block.create.blue_sail": "蓝色风帆",
|
"block.create.blue_sail": "蓝色风帆",
|
||||||
"block.create.blue_seat": "蓝色坐垫",
|
"block.create.blue_seat": "蓝色坐垫",
|
||||||
"block.create.blue_valve_handle": "蓝色阀门手轮",
|
"block.create.blue_valve_handle": "蓝色阀门手轮",
|
||||||
|
@ -43,7 +43,7 @@
|
||||||
"block.create.brass_encased_shaft": "黄铜传动杆箱",
|
"block.create.brass_encased_shaft": "黄铜传动杆箱",
|
||||||
"block.create.brass_funnel": "黄铜漏斗",
|
"block.create.brass_funnel": "黄铜漏斗",
|
||||||
"block.create.brass_tunnel": "黄铜隧道",
|
"block.create.brass_tunnel": "黄铜隧道",
|
||||||
"block.create.brown_nixie_tube": "UNLOCALIZED: Brown Nixie Tube",
|
"block.create.brown_nixie_tube": "棕色辉光管",
|
||||||
"block.create.brown_sail": "棕色风帆",
|
"block.create.brown_sail": "棕色风帆",
|
||||||
"block.create.brown_seat": "棕色坐垫",
|
"block.create.brown_seat": "棕色坐垫",
|
||||||
"block.create.brown_valve_handle": "棕色阀门手轮",
|
"block.create.brown_valve_handle": "棕色阀门手轮",
|
||||||
|
@ -61,7 +61,7 @@
|
||||||
"block.create.cogwheel": "齿轮",
|
"block.create.cogwheel": "齿轮",
|
||||||
"block.create.content_observer": "物品侦测器",
|
"block.create.content_observer": "物品侦测器",
|
||||||
"block.create.controller_rail": "控制铁轨",
|
"block.create.controller_rail": "控制铁轨",
|
||||||
"block.create.copper_backtank": "UNLOCALIZED: Copper Backtank",
|
"block.create.copper_backtank": "铜制背罐",
|
||||||
"block.create.copper_block": "铜块",
|
"block.create.copper_block": "铜块",
|
||||||
"block.create.copper_casing": "铜机壳",
|
"block.create.copper_casing": "铜机壳",
|
||||||
"block.create.copper_ore": "铜矿石",
|
"block.create.copper_ore": "铜矿石",
|
||||||
|
@ -76,7 +76,7 @@
|
||||||
"block.create.crushing_wheel": "粉碎轮",
|
"block.create.crushing_wheel": "粉碎轮",
|
||||||
"block.create.crushing_wheel_controller": "粉碎轮控制器",
|
"block.create.crushing_wheel_controller": "粉碎轮控制器",
|
||||||
"block.create.cuckoo_clock": "布谷鸟闹钟",
|
"block.create.cuckoo_clock": "布谷鸟闹钟",
|
||||||
"block.create.cyan_nixie_tube": "UNLOCALIZED: Cyan Nixie Tube",
|
"block.create.cyan_nixie_tube": "青色辉光管",
|
||||||
"block.create.cyan_sail": "青色风帆",
|
"block.create.cyan_sail": "青色风帆",
|
||||||
"block.create.cyan_seat": "青色坐垫",
|
"block.create.cyan_seat": "青色坐垫",
|
||||||
"block.create.cyan_valve_handle": "青色阀门手轮",
|
"block.create.cyan_valve_handle": "青色阀门手轮",
|
||||||
|
@ -183,16 +183,16 @@
|
||||||
"block.create.granite_cobblestone_stairs": "花岗岩圆石楼梯",
|
"block.create.granite_cobblestone_stairs": "花岗岩圆石楼梯",
|
||||||
"block.create.granite_cobblestone_wall": "花岗岩圆石墙",
|
"block.create.granite_cobblestone_wall": "花岗岩圆石墙",
|
||||||
"block.create.granite_pillar": "竖纹花岗岩",
|
"block.create.granite_pillar": "竖纹花岗岩",
|
||||||
"block.create.gray_nixie_tube": "UNLOCALIZED: Gray Nixie Tube",
|
"block.create.gray_nixie_tube": "灰色辉光管",
|
||||||
"block.create.gray_sail": "灰色风帆",
|
"block.create.gray_sail": "灰色风帆",
|
||||||
"block.create.gray_seat": "灰色坐垫",
|
"block.create.gray_seat": "灰色坐垫",
|
||||||
"block.create.gray_valve_handle": "灰色阀门手轮",
|
"block.create.gray_valve_handle": "灰色阀门手轮",
|
||||||
"block.create.green_nixie_tube": "UNLOCALIZED: Green Nixie Tube",
|
"block.create.green_nixie_tube": "绿色辉光管",
|
||||||
"block.create.green_sail": "绿色风帆",
|
"block.create.green_sail": "绿色风帆",
|
||||||
"block.create.green_seat": "绿色坐垫",
|
"block.create.green_seat": "绿色坐垫",
|
||||||
"block.create.green_valve_handle": "绿色阀门手轮",
|
"block.create.green_valve_handle": "绿色阀门手轮",
|
||||||
"block.create.hand_crank": "手摇曲柄",
|
"block.create.hand_crank": "手摇曲柄",
|
||||||
"block.create.haunted_bell": "UNLOCALIZED: Haunted Bell",
|
"block.create.haunted_bell": "怪异钟",
|
||||||
"block.create.honey": "蜂蜜",
|
"block.create.honey": "蜂蜜",
|
||||||
"block.create.horizontal_framed_glass": "竖直边框玻璃",
|
"block.create.horizontal_framed_glass": "竖直边框玻璃",
|
||||||
"block.create.horizontal_framed_glass_pane": "竖直边框玻璃板",
|
"block.create.horizontal_framed_glass_pane": "竖直边框玻璃板",
|
||||||
|
@ -210,16 +210,16 @@
|
||||||
"block.create.layered_limestone": "层叠石灰岩",
|
"block.create.layered_limestone": "层叠石灰岩",
|
||||||
"block.create.layered_scoria": "层叠熔渣",
|
"block.create.layered_scoria": "层叠熔渣",
|
||||||
"block.create.layered_weathered_limestone": "层叠风化石灰岩",
|
"block.create.layered_weathered_limestone": "层叠风化石灰岩",
|
||||||
"block.create.lectern_controller": "UNLOCALIZED: Lectern Controller",
|
"block.create.lectern_controller": "遥控器讲台",
|
||||||
"block.create.light_blue_nixie_tube": "UNLOCALIZED: Light Blue Nixie Tube",
|
"block.create.light_blue_nixie_tube": "淡蓝色辉光管",
|
||||||
"block.create.light_blue_sail": "淡蓝色风帆",
|
"block.create.light_blue_sail": "淡蓝色风帆",
|
||||||
"block.create.light_blue_seat": "淡蓝色坐垫",
|
"block.create.light_blue_seat": "淡蓝色坐垫",
|
||||||
"block.create.light_blue_valve_handle": "淡蓝色阀门手轮",
|
"block.create.light_blue_valve_handle": "淡蓝色阀门手轮",
|
||||||
"block.create.light_gray_nixie_tube": "UNLOCALIZED: Light Gray Nixie Tube",
|
"block.create.light_gray_nixie_tube": "淡灰色辉光管",
|
||||||
"block.create.light_gray_sail": "淡灰色风帆",
|
"block.create.light_gray_sail": "淡灰色风帆",
|
||||||
"block.create.light_gray_seat": "淡灰色坐垫",
|
"block.create.light_gray_seat": "淡灰色坐垫",
|
||||||
"block.create.light_gray_valve_handle": "淡灰色阀门手轮",
|
"block.create.light_gray_valve_handle": "淡灰色阀门手轮",
|
||||||
"block.create.lime_nixie_tube": "UNLOCALIZED: Lime Nixie Tube",
|
"block.create.lime_nixie_tube": "黄绿色辉光管",
|
||||||
"block.create.lime_sail": "黄绿色风帆",
|
"block.create.lime_sail": "黄绿色风帆",
|
||||||
"block.create.lime_seat": "黄绿色坐垫",
|
"block.create.lime_seat": "黄绿色坐垫",
|
||||||
"block.create.lime_valve_handle": "黄绿色阀门手轮",
|
"block.create.lime_valve_handle": "黄绿色阀门手轮",
|
||||||
|
@ -236,7 +236,7 @@
|
||||||
"block.create.limestone_pillar": "竖纹石灰岩",
|
"block.create.limestone_pillar": "竖纹石灰岩",
|
||||||
"block.create.linear_chassis": "机壳底盘",
|
"block.create.linear_chassis": "机壳底盘",
|
||||||
"block.create.lit_blaze_burner": "烈焰人燃烧室(已点燃)",
|
"block.create.lit_blaze_burner": "烈焰人燃烧室(已点燃)",
|
||||||
"block.create.magenta_nixie_tube": "UNLOCALIZED: Magenta Nixie Tube",
|
"block.create.magenta_nixie_tube": "品红色辉光管",
|
||||||
"block.create.magenta_sail": "品红色风帆",
|
"block.create.magenta_sail": "品红色风帆",
|
||||||
"block.create.magenta_seat": "品红色坐垫",
|
"block.create.magenta_seat": "品红色坐垫",
|
||||||
"block.create.magenta_valve_handle": "品红色阀门手轮",
|
"block.create.magenta_valve_handle": "品红色阀门手轮",
|
||||||
|
@ -320,8 +320,8 @@
|
||||||
"block.create.paved_weathered_limestone_slab": "风化石灰岩铺路石台阶",
|
"block.create.paved_weathered_limestone_slab": "风化石灰岩铺路石台阶",
|
||||||
"block.create.paved_weathered_limestone_stairs": "风化石灰岩铺路石楼梯",
|
"block.create.paved_weathered_limestone_stairs": "风化石灰岩铺路石楼梯",
|
||||||
"block.create.paved_weathered_limestone_wall": "风化石灰岩铺路石墙",
|
"block.create.paved_weathered_limestone_wall": "风化石灰岩铺路石墙",
|
||||||
"block.create.peculiar_bell": "UNLOCALIZED: Peculiar Bell",
|
"block.create.peculiar_bell": "奇异钟",
|
||||||
"block.create.pink_nixie_tube": "UNLOCALIZED: Pink Nixie Tube",
|
"block.create.pink_nixie_tube": "粉色辉光管",
|
||||||
"block.create.pink_sail": "粉红色风帆",
|
"block.create.pink_sail": "粉红色风帆",
|
||||||
"block.create.pink_seat": "粉红色坐垫",
|
"block.create.pink_seat": "粉红色坐垫",
|
||||||
"block.create.pink_valve_handle": "粉红色阀门手轮",
|
"block.create.pink_valve_handle": "粉红色阀门手轮",
|
||||||
|
@ -356,12 +356,12 @@
|
||||||
"block.create.powered_toggle_latch": "转换锁存器",
|
"block.create.powered_toggle_latch": "转换锁存器",
|
||||||
"block.create.pulley_magnet": "滑轮磁铁",
|
"block.create.pulley_magnet": "滑轮磁铁",
|
||||||
"block.create.pulse_repeater": "脉冲中继器",
|
"block.create.pulse_repeater": "脉冲中继器",
|
||||||
"block.create.purple_nixie_tube": "UNLOCALIZED: Purple Nixie Tube",
|
"block.create.purple_nixie_tube": "紫色辉光管",
|
||||||
"block.create.purple_sail": "紫色风帆",
|
"block.create.purple_sail": "紫色风帆",
|
||||||
"block.create.purple_seat": "紫色坐垫",
|
"block.create.purple_seat": "紫色坐垫",
|
||||||
"block.create.purple_valve_handle": "紫色阀门手轮",
|
"block.create.purple_valve_handle": "紫色阀门手轮",
|
||||||
"block.create.radial_chassis": "旋转底盘",
|
"block.create.radial_chassis": "旋转底盘",
|
||||||
"block.create.red_nixie_tube": "UNLOCALIZED: Red Nixie Tube",
|
"block.create.red_nixie_tube": "红色辉光管",
|
||||||
"block.create.red_sail": "红色风帆",
|
"block.create.red_sail": "红色风帆",
|
||||||
"block.create.red_seat": "红色坐垫",
|
"block.create.red_seat": "红色坐垫",
|
||||||
"block.create.red_valve_handle": "红色阀门手轮",
|
"block.create.red_valve_handle": "红色阀门手轮",
|
||||||
|
@ -418,31 +418,30 @@
|
||||||
"block.create.weathered_limestone_cobblestone_wall": "风化石灰岩圆石墙",
|
"block.create.weathered_limestone_cobblestone_wall": "风化石灰岩圆石墙",
|
||||||
"block.create.weathered_limestone_pillar": "竖纹风化石灰岩",
|
"block.create.weathered_limestone_pillar": "竖纹风化石灰岩",
|
||||||
"block.create.weighted_ejector": "弹射置物台",
|
"block.create.weighted_ejector": "弹射置物台",
|
||||||
"block.create.white_nixie_tube": "UNLOCALIZED: White Nixie Tube",
|
"block.create.white_nixie_tube": "白色辉光管",
|
||||||
"block.create.white_sail": "白色风帆",
|
"block.create.white_sail": "白色风帆",
|
||||||
"block.create.white_seat": "白色坐垫",
|
"block.create.white_seat": "白色坐垫",
|
||||||
"block.create.white_valve_handle": "白色阀门手轮",
|
"block.create.white_valve_handle": "白色阀门手轮",
|
||||||
"block.create.windmill_bearing": "风车轴承",
|
"block.create.windmill_bearing": "风车轴承",
|
||||||
"block.create.wooden_bracket": "木质支架",
|
"block.create.wooden_bracket": "木质支架",
|
||||||
"block.create.yellow_nixie_tube": "UNLOCALIZED: Yellow Nixie Tube",
|
"block.create.yellow_nixie_tube": "黄色辉光管",
|
||||||
"block.create.yellow_sail": "黄色风帆",
|
"block.create.yellow_sail": "黄色风帆",
|
||||||
"block.create.yellow_seat": "黄色坐垫",
|
"block.create.yellow_seat": "黄色坐垫",
|
||||||
"block.create.yellow_valve_handle": "黄色阀门手轮",
|
"block.create.yellow_valve_handle": "黄色阀门手轮",
|
||||||
"block.create.zinc_block": "锌块",
|
"block.create.zinc_block": "锌块",
|
||||||
"block.create.zinc_ore": "锌矿石",
|
"block.create.zinc_ore": "锌矿石",
|
||||||
|
|
||||||
"enchantment.create.capacity": "UNLOCALIZED: Capacity",
|
"enchantment.create.capacity": "扩容",
|
||||||
"enchantment.create.potato_recovery": "UNLOCALIZED: Potato Recovery",
|
"enchantment.create.potato_recovery": "土豆回收",
|
||||||
|
|
||||||
"entity.create.contraption": "装置",
|
"entity.create.contraption": "装置",
|
||||||
"entity.create.crafting_blueprint": "UNLOCALIZED: Crafting Blueprint",
|
"entity.create.crafting_blueprint": "合成蓝图",
|
||||||
"entity.create.gantry_contraption": "起重机装置",
|
"entity.create.gantry_contraption": "起重机装置",
|
||||||
"entity.create.potato_projectile": "UNLOCALIZED: Potato Projectile",
|
"entity.create.potato_projectile": "被发射的土豆",
|
||||||
"entity.create.seat": "坐垫",
|
"entity.create.seat": "坐垫",
|
||||||
"entity.create.stationary_contraption": "固定装置",
|
"entity.create.stationary_contraption": "固定装置",
|
||||||
"entity.create.super_glue": "强力胶",
|
"entity.create.super_glue": "强力胶",
|
||||||
|
|
||||||
"fluid.create.milk": "牛奶",
|
|
||||||
"fluid.create.potion": "药水",
|
"fluid.create.potion": "药水",
|
||||||
"fluid.create.tea": "茶",
|
"fluid.create.tea": "茶",
|
||||||
|
|
||||||
|
@ -462,13 +461,13 @@
|
||||||
"item.create.chocolate_glazed_berries": "巧克力包层浆果",
|
"item.create.chocolate_glazed_berries": "巧克力包层浆果",
|
||||||
"item.create.chromatic_compound": "异彩化合物",
|
"item.create.chromatic_compound": "异彩化合物",
|
||||||
"item.create.cinder_flour": "下界面粉",
|
"item.create.cinder_flour": "下界面粉",
|
||||||
"item.create.copper_backtank": "UNLOCALIZED: Copper Backtank",
|
"item.create.copper_backtank": "铜制背罐",
|
||||||
"item.create.copper_ingot": "铜锭",
|
"item.create.copper_ingot": "铜锭",
|
||||||
"item.create.copper_nugget": "铜粒",
|
"item.create.copper_nugget": "铜粒",
|
||||||
"item.create.copper_sheet": "铜板",
|
"item.create.copper_sheet": "铜板",
|
||||||
"item.create.crafter_slot_cover": "合成器盖板",
|
"item.create.crafter_slot_cover": "合成器盖板",
|
||||||
"item.create.crafting_blueprint": "UNLOCALIZED: Crafting Blueprint",
|
"item.create.crafting_blueprint": "合成蓝图",
|
||||||
"item.create.creative_cake": "UNLOCALIZED: Creative Cake",
|
"item.create.creative_blaze_cake": "UNLOCALIZED: Creative Blaze Cake",
|
||||||
"item.create.crushed_aluminum_ore": "粉碎铝矿石",
|
"item.create.crushed_aluminum_ore": "粉碎铝矿石",
|
||||||
"item.create.crushed_brass": "粉碎黄铜",
|
"item.create.crushed_brass": "粉碎黄铜",
|
||||||
"item.create.crushed_copper_ore": "粉碎铜矿石",
|
"item.create.crushed_copper_ore": "粉碎铜矿石",
|
||||||
|
@ -483,8 +482,8 @@
|
||||||
"item.create.crushed_tin_ore": "粉碎锡矿石",
|
"item.create.crushed_tin_ore": "粉碎锡矿石",
|
||||||
"item.create.crushed_uranium_ore": "粉碎铀矿石",
|
"item.create.crushed_uranium_ore": "粉碎铀矿石",
|
||||||
"item.create.crushed_zinc_ore": "粉碎锌矿石",
|
"item.create.crushed_zinc_ore": "粉碎锌矿石",
|
||||||
"item.create.diving_boots": "UNLOCALIZED: Diving Boots",
|
"item.create.diving_boots": "潜水靴",
|
||||||
"item.create.diving_helmet": "UNLOCALIZED: Diving Helmet",
|
"item.create.diving_helmet": "潜水头盔",
|
||||||
"item.create.dough": "面团",
|
"item.create.dough": "面团",
|
||||||
"item.create.electron_tube": "电子管",
|
"item.create.electron_tube": "电子管",
|
||||||
"item.create.empty_blaze_burner": "空的烈焰人燃烧室",
|
"item.create.empty_blaze_burner": "空的烈焰人燃烧室",
|
||||||
|
@ -497,17 +496,17 @@
|
||||||
"item.create.handheld_worldshaper": "手持式环境塑形器",
|
"item.create.handheld_worldshaper": "手持式环境塑形器",
|
||||||
"item.create.honey_bucket": "蜂蜜桶",
|
"item.create.honey_bucket": "蜂蜜桶",
|
||||||
"item.create.honeyed_apple": "蜜渍苹果",
|
"item.create.honeyed_apple": "蜜渍苹果",
|
||||||
"item.create.incomplete_cogwheel": "UNLOCALIZED: Incomplete Cogwheel",
|
"item.create.incomplete_cogwheel": "齿轮(半成品)",
|
||||||
"item.create.incomplete_large_cogwheel": "UNLOCALIZED: Incomplete Large Cogwheel",
|
"item.create.incomplete_large_cogwheel": "大齿轮(半成品)",
|
||||||
"item.create.incomplete_precision_mechanism": "UNLOCALIZED: Incomplete Precision Mechanism",
|
"item.create.incomplete_precision_mechanism": "精密机构(半成品)",
|
||||||
"item.create.iron_sheet": "铁板",
|
"item.create.iron_sheet": "铁板",
|
||||||
"item.create.linked_controller": "UNLOCALIZED: Linked Controller",
|
"item.create.linked_controller": "无线红石遥控器",
|
||||||
"item.create.minecart_contraption": "装配过的矿车",
|
"item.create.minecart_contraption": "装配过的矿车",
|
||||||
"item.create.minecart_coupling": "矿车连轴器",
|
"item.create.minecart_coupling": "矿车连轴器",
|
||||||
"item.create.polished_rose_quartz": "磨制玫瑰石英",
|
"item.create.polished_rose_quartz": "磨制玫瑰石英",
|
||||||
"item.create.potato_cannon": "UNLOCALIZED: Potato Cannon",
|
"item.create.potato_cannon": "土豆加农炮",
|
||||||
"item.create.powdered_obsidian": "黑曜石粉末",
|
"item.create.powdered_obsidian": "黑曜石粉末",
|
||||||
"item.create.precision_mechanism": "UNLOCALIZED: Precision Mechanism",
|
"item.create.precision_mechanism": "精密机构",
|
||||||
"item.create.propeller": "扇叶",
|
"item.create.propeller": "扇叶",
|
||||||
"item.create.red_sand_paper": "红沙砂纸",
|
"item.create.red_sand_paper": "红沙砂纸",
|
||||||
"item.create.refined_radiance": "光辉石",
|
"item.create.refined_radiance": "光辉石",
|
||||||
|
@ -652,8 +651,8 @@
|
||||||
"advancement.create.flywheel.desc": "将引擎成功连接到飞轮。",
|
"advancement.create.flywheel.desc": "将引擎成功连接到飞轮。",
|
||||||
"advancement.create.overstress_flywheel": "高压",
|
"advancement.create.overstress_flywheel": "高压",
|
||||||
"advancement.create.overstress_flywheel.desc": "过载熔炉引擎。",
|
"advancement.create.overstress_flywheel.desc": "过载熔炉引擎。",
|
||||||
"advancement.create.precision_mechanism": "UNLOCALIZED: Complex Curiosities",
|
"advancement.create.precision_mechanism": "高新技术",
|
||||||
"advancement.create.precision_mechanism.desc": "UNLOCALIZED: Assemble a Precision Mechanism.",
|
"advancement.create.precision_mechanism.desc": "装配一个精密机构。",
|
||||||
"advancement.create.mechanical_arm": "忙碌的手!",
|
"advancement.create.mechanical_arm": "忙碌的手!",
|
||||||
"advancement.create.mechanical_arm.desc": "制作机械臂,选择输入和输出,放置并给予它动力,然后看着它为你完成所有工作。",
|
"advancement.create.mechanical_arm.desc": "制作机械臂,选择输入和输出,放置并给予它动力,然后看着它为你完成所有工作。",
|
||||||
"advancement.create.musical_arm": "没人能在我的 BGM 里打败我!",
|
"advancement.create.musical_arm": "没人能在我的 BGM 里打败我!",
|
||||||
|
@ -680,8 +679,8 @@
|
||||||
"advancement.create.wand_of_symmetry.desc": "制作一个对称之杖",
|
"advancement.create.wand_of_symmetry.desc": "制作一个对称之杖",
|
||||||
"advancement.create.extendo_grip": "biu biu biu!",
|
"advancement.create.extendo_grip": "biu biu biu!",
|
||||||
"advancement.create.extendo_grip.desc": "获得一个伸缩机械手",
|
"advancement.create.extendo_grip.desc": "获得一个伸缩机械手",
|
||||||
"advancement.create.potato_cannon": "UNLOCALIZED: Fwoomp!",
|
"advancement.create.potato_cannon": "Fwoomp!",
|
||||||
"advancement.create.potato_cannon.desc": "UNLOCALIZED: Defeat an enemy with your Potato Cannon.",
|
"advancement.create.potato_cannon.desc": "用土豆加农炮击杀一个生物。",
|
||||||
"advancement.create.dual_extendo_grip": "biu——biu——biu——",
|
"advancement.create.dual_extendo_grip": "biu——biu——biu——",
|
||||||
"advancement.create.dual_extendo_grip.desc": "双持伸缩机械手,超人般的触碰距离。",
|
"advancement.create.dual_extendo_grip.desc": "双持伸缩机械手,超人般的触碰距离。",
|
||||||
"advancement.create.eob": "Beta 版结束",
|
"advancement.create.eob": "Beta 版结束",
|
||||||
|
@ -694,30 +693,30 @@
|
||||||
"itemGroup.create.palettes": "机械动力建筑方块",
|
"itemGroup.create.palettes": "机械动力建筑方块",
|
||||||
|
|
||||||
"death.attack.create.crush": "%1$s被压扁了",
|
"death.attack.create.crush": "%1$s被压扁了",
|
||||||
"death.attack.create.crush.player": "UNLOCALIZED: %1$s was thrown into Crushing Wheels by %2$s",
|
"death.attack.create.crush.player": "%1$s被%2$s推进了粉碎机",
|
||||||
"death.attack.create.fan_fire": "%1$s试图接受热风的洗礼",
|
"death.attack.create.fan_fire": "%1$s试图接受热风的洗礼",
|
||||||
"death.attack.create.fan_fire.player": "UNLOCALIZED: %1$s was thrown into a smoker by %2$s",
|
"death.attack.create.fan_fire.player": "%2$s给了%1$s一次热风的洗礼",
|
||||||
"death.attack.create.fan_lava": "%1$s在接受热风的洗礼中浴火焚身",
|
"death.attack.create.fan_lava": "%1$s在接受热风的洗礼中浴火焚身",
|
||||||
"death.attack.create.fan_lava.player": "UNLOCALIZED: %1$s was thrown into a smelter by %2$s",
|
"death.attack.create.fan_lava.player": "%1$s被%2$s火化了",
|
||||||
"death.attack.create.mechanical_drill": "%1$s被钻头钻的坏掉了",
|
"death.attack.create.mechanical_drill": "%1$s被钻头钻的坏掉了",
|
||||||
"death.attack.create.mechanical_drill.player": "UNLOCALIZED: %1$s was thrown in front of a Drill by %2$s",
|
"death.attack.create.mechanical_drill.player": "%1$s因为%2$s和钻头来了一次亲密接触",
|
||||||
"death.attack.create.mechanical_saw": "%1$s被圆锯切成了两截",
|
"death.attack.create.mechanical_saw": "%1$s被圆锯切成了两截",
|
||||||
"death.attack.create.mechanical_saw.player": "UNLOCALIZED: %1$s was thrown into a Saw by %2$s",
|
"death.attack.create.mechanical_saw.player": "%1$s被%2$s按在圆锯上切碎了",
|
||||||
"death.attack.create.potato_cannon": "UNLOCALIZED: %1$s was shot by %2$s's Potato Cannon",
|
"death.attack.create.potato_cannon": "%1$s被%2$s的土豆糊了一脸",
|
||||||
"death.attack.create.potato_cannon.item": "UNLOCALIZED: %1$s was shot by %2$s using %3$s",
|
"death.attack.create.potato_cannon.item": "%1$s被%2$s用%3$s射死了",
|
||||||
"death.attack.create.cuckoo_clock_explosion": "%1$s被布谷鸟钟炸得粉身碎骨",
|
"death.attack.create.cuckoo_clock_explosion": "%1$s被布谷鸟钟炸得粉身碎骨",
|
||||||
"death.attack.create.cuckoo_clock_explosion.player": "UNLOCALIZED: %1$s was blown up by tampered cuckoo clock",
|
"death.attack.create.cuckoo_clock_explosion.player": "%1$s被布谷鸟钟炸得粉身碎骨",
|
||||||
|
|
||||||
"create.block.deployer.damage_source_name": "二五仔机械手",
|
"create.block.deployer.damage_source_name": "二五仔机械手",
|
||||||
"create.block.cart_assembler.invalid": "请将矿车装配器放置在铁轨上",
|
"create.block.cart_assembler.invalid": "请将矿车装配器放置在铁轨上",
|
||||||
|
|
||||||
"create.menu.return": "UNLOCALIZED: Return to Menu",
|
"create.menu.return": "返回上一级菜单",
|
||||||
"create.menu.configure": "UNLOCALIZED: Configure...",
|
"create.menu.configure": "配置...",
|
||||||
"create.menu.ponder_index": "UNLOCALIZED: Ponder Index",
|
"create.menu.ponder_index": "思索内容清单",
|
||||||
"create.menu.only_ingame": "UNLOCALIZED: Available in the Pause Menu",
|
"create.menu.only_ingame": "仅在游戏内暂停菜单中可用",
|
||||||
"create.menu.project_page": "UNLOCALIZED: Project Page",
|
"create.menu.project_page": "在CurseForge上查看",
|
||||||
"create.menu.report_bugs": "UNLOCALIZED: Report Issues",
|
"create.menu.report_bugs": "报告Create的漏洞",
|
||||||
"create.menu.support": "UNLOCALIZED: Support Us",
|
"create.menu.support": "支持我们",
|
||||||
|
|
||||||
"create.recipe.crushing": "粉碎",
|
"create.recipe.crushing": "粉碎",
|
||||||
"create.recipe.milling": "研磨",
|
"create.recipe.milling": "研磨",
|
||||||
|
@ -729,7 +728,7 @@
|
||||||
"create.recipe.fan_blasting.fan": "在熔岩后放置鼓风机",
|
"create.recipe.fan_blasting.fan": "在熔岩后放置鼓风机",
|
||||||
"create.recipe.pressing": "金属压片",
|
"create.recipe.pressing": "金属压片",
|
||||||
"create.recipe.mixing": "混合搅拌",
|
"create.recipe.mixing": "混合搅拌",
|
||||||
"create.recipe.deploying": "UNLOCALIZED: Deploying",
|
"create.recipe.deploying": "自动使用",
|
||||||
"create.recipe.automatic_shapeless": "自动搅拌",
|
"create.recipe.automatic_shapeless": "自动搅拌",
|
||||||
"create.recipe.automatic_brewing": "自动酿造",
|
"create.recipe.automatic_brewing": "自动酿造",
|
||||||
"create.recipe.packing": "压块塑形",
|
"create.recipe.packing": "压块塑形",
|
||||||
|
@ -743,16 +742,16 @@
|
||||||
"create.recipe.mystery_conversion": "神秘转化",
|
"create.recipe.mystery_conversion": "神秘转化",
|
||||||
"create.recipe.spout_filling": "注液",
|
"create.recipe.spout_filling": "注液",
|
||||||
"create.recipe.draining": "分液",
|
"create.recipe.draining": "分液",
|
||||||
"create.recipe.sequenced_assembly": "UNLOCALIZED: Sequenced Assembly",
|
"create.recipe.sequenced_assembly": "流水线装配",
|
||||||
"create.recipe.assembly.next": "UNLOCALIZED: Next: %1$s",
|
"create.recipe.assembly.next": "下一步:%1$s",
|
||||||
"create.recipe.assembly.step": "UNLOCALIZED: Step %1$s:",
|
"create.recipe.assembly.step": "第%1$s步:",
|
||||||
"create.recipe.assembly.progress": "UNLOCALIZED: Progress: %1$s/%2$s",
|
"create.recipe.assembly.progress": "组装进度:%1$s/%2$s",
|
||||||
"create.recipe.assembly.pressing": "UNLOCALIZED: Process in Press",
|
"create.recipe.assembly.pressing": "用辊压机辊压",
|
||||||
"create.recipe.assembly.spout_filling_fluid": "UNLOCALIZED: Spout %1$s",
|
"create.recipe.assembly.spout_filling_fluid": "注入%1$s",
|
||||||
"create.recipe.assembly.deploying_item": "UNLOCALIZED: Deploy %1$s",
|
"create.recipe.assembly.deploying_item": "安装%1$s",
|
||||||
"create.recipe.assembly.cutting": "UNLOCALIZED: Cut with Saw",
|
"create.recipe.assembly.cutting": "用动力锯切割",
|
||||||
"create.recipe.assembly.repeat": "UNLOCALIZED: Repeat Sequence %1$s Times",
|
"create.recipe.assembly.repeat": "该序列需要重复%1$s次",
|
||||||
"create.recipe.assembly.junk": "UNLOCALIZED: Random salvage",
|
"create.recipe.assembly.junk": "随机废料",
|
||||||
"create.recipe.processing.chance": "%1$s%%概率",
|
"create.recipe.processing.chance": "%1$s%%概率",
|
||||||
"create.recipe.heat_requirement.none": "无需加热",
|
"create.recipe.heat_requirement.none": "无需加热",
|
||||||
"create.recipe.heat_requirement.heated": "加热",
|
"create.recipe.heat_requirement.heated": "加热",
|
||||||
|
@ -806,15 +805,15 @@
|
||||||
"create.orientation.alongX": "以x轴对齐",
|
"create.orientation.alongX": "以x轴对齐",
|
||||||
|
|
||||||
"create.gui.terrainzapper.title": "手持式环境塑形器",
|
"create.gui.terrainzapper.title": "手持式环境塑形器",
|
||||||
"create.gui.terrainzapper.searchDiagonal": "UNLOCALIZED: Follow Diagonals",
|
"create.gui.terrainzapper.searchDiagonal": "对角线延伸",
|
||||||
"create.gui.terrainzapper.searchFuzzy": "UNLOCALIZED: Ignore Material Borders",
|
"create.gui.terrainzapper.searchFuzzy": "模糊模式(忽略材料分界)",
|
||||||
"create.gui.terrainzapper.patternSection": "UNLOCALIZED: Pattern",
|
"create.gui.terrainzapper.patternSection": "样式",
|
||||||
"create.gui.terrainzapper.pattern.solid": "UNLOCALIZED: Solid",
|
"create.gui.terrainzapper.pattern.solid": "填满",
|
||||||
"create.gui.terrainzapper.pattern.checkered": "UNLOCALIZED: Checkerboard",
|
"create.gui.terrainzapper.pattern.checkered": "棋盘格",
|
||||||
"create.gui.terrainzapper.pattern.inversecheckered": "UNLOCALIZED: Inverted Checkerboard",
|
"create.gui.terrainzapper.pattern.inversecheckered": "反转棋盘格",
|
||||||
"create.gui.terrainzapper.pattern.chance25": "UNLOCALIZED: 25% Roll",
|
"create.gui.terrainzapper.pattern.chance25": "随机填充25%",
|
||||||
"create.gui.terrainzapper.pattern.chance50": "UNLOCALIZED: 50% Roll",
|
"create.gui.terrainzapper.pattern.chance50": "随机填充50%",
|
||||||
"create.gui.terrainzapper.pattern.chance75": "UNLOCALIZED: 75% Roll",
|
"create.gui.terrainzapper.pattern.chance75": "随机填充75%",
|
||||||
"create.gui.terrainzapper.placement": "放置模式",
|
"create.gui.terrainzapper.placement": "放置模式",
|
||||||
"create.gui.terrainzapper.placement.merged": "结合",
|
"create.gui.terrainzapper.placement.merged": "结合",
|
||||||
"create.gui.terrainzapper.placement.attached": "依附",
|
"create.gui.terrainzapper.placement.attached": "依附",
|
||||||
|
@ -823,8 +822,8 @@
|
||||||
"create.gui.terrainzapper.brush.cuboid": "矩形体",
|
"create.gui.terrainzapper.brush.cuboid": "矩形体",
|
||||||
"create.gui.terrainzapper.brush.sphere": "球体",
|
"create.gui.terrainzapper.brush.sphere": "球体",
|
||||||
"create.gui.terrainzapper.brush.cylinder": "圆柱体",
|
"create.gui.terrainzapper.brush.cylinder": "圆柱体",
|
||||||
"create.gui.terrainzapper.brush.surface": "UNLOCALIZED: Surface",
|
"create.gui.terrainzapper.brush.surface": "连接的面",
|
||||||
"create.gui.terrainzapper.brush.cluster": "UNLOCALIZED: Cluster",
|
"create.gui.terrainzapper.brush.cluster": "连接的立体区域",
|
||||||
"create.gui.terrainzapper.tool": "填充类型",
|
"create.gui.terrainzapper.tool": "填充类型",
|
||||||
"create.gui.terrainzapper.tool.fill": "填充",
|
"create.gui.terrainzapper.tool.fill": "填充",
|
||||||
"create.gui.terrainzapper.tool.place": "复写",
|
"create.gui.terrainzapper.tool.place": "复写",
|
||||||
|
@ -834,8 +833,8 @@
|
||||||
"create.gui.terrainzapper.tool.flatten": "平整",
|
"create.gui.terrainzapper.tool.flatten": "平整",
|
||||||
|
|
||||||
"create.terrainzapper.shiftRightClickToSet": "Shift+鼠标右击以设置塑形类型",
|
"create.terrainzapper.shiftRightClickToSet": "Shift+鼠标右击以设置塑形类型",
|
||||||
"create.terrainzapper.usingBlock": "UNLOCALIZED: Using: %1$s",
|
"create.terrainzapper.usingBlock": "填充材料:%1$s",
|
||||||
"create.terrainzapper.leftClickToSet": "UNLOCALIZED: Left-Click a Block to set Material",
|
"create.terrainzapper.leftClickToSet": "鼠标左击一个方块以设置填充材料",
|
||||||
|
|
||||||
"create.minecart_coupling.two_couplings_max": "矿车无法被连接两个以上的矿车连轴器",
|
"create.minecart_coupling.two_couplings_max": "矿车无法被连接两个以上的矿车连轴器",
|
||||||
"create.minecart_coupling.unloaded": "有一部分火车存在于未加载区块中",
|
"create.minecart_coupling.unloaded": "有一部分火车存在于未加载区块中",
|
||||||
|
@ -1066,11 +1065,11 @@
|
||||||
"create.item_attributes.in_item_group.inverted": "不属于%1$s",
|
"create.item_attributes.in_item_group.inverted": "不属于%1$s",
|
||||||
"create.item_attributes.added_by": "由%1$s添加",
|
"create.item_attributes.added_by": "由%1$s添加",
|
||||||
"create.item_attributes.added_by.inverted": "不是由%1$s添加",
|
"create.item_attributes.added_by.inverted": "不是由%1$s添加",
|
||||||
"create.item_attributes.shulker_level": "UNLOCALIZED: is shulker %1$s",
|
"create.item_attributes.shulker_level": "潜影盒是%1$s的",
|
||||||
"create.item_attributes.shulker_level.inverted": "UNLOCALIZED: is shulker not %1$s",
|
"create.item_attributes.shulker_level.inverted": "潜影盒不是%1$s的",
|
||||||
"create.item_attributes.shulker_level.full": "UNLOCALIZED: full",
|
"create.item_attributes.shulker_level.full": "满",
|
||||||
"create.item_attributes.shulker_level.empty": "UNLOCALIZED: empty",
|
"create.item_attributes.shulker_level.empty": "空",
|
||||||
"create.item_attributes.shulker_level.partial": "UNLOCALIZED: partially filled",
|
"create.item_attributes.shulker_level.partial": "半满",
|
||||||
"create.item_attributes.has_enchant": "有附魔效果%1$s",
|
"create.item_attributes.has_enchant": "有附魔效果%1$s",
|
||||||
"create.item_attributes.has_enchant.inverted": "没有附魔效果%1$s",
|
"create.item_attributes.has_enchant.inverted": "没有附魔效果%1$s",
|
||||||
"create.item_attributes.color": "染色为%1$s",
|
"create.item_attributes.color": "染色为%1$s",
|
||||||
|
@ -1166,27 +1165,27 @@
|
||||||
"create.tooltip.chute.fans_pull_up": "鼓风机从上方进行吸引",
|
"create.tooltip.chute.fans_pull_up": "鼓风机从上方进行吸引",
|
||||||
"create.tooltip.chute.fans_pull_down": "鼓风机从下方进行吸引",
|
"create.tooltip.chute.fans_pull_down": "鼓风机从下方进行吸引",
|
||||||
"create.tooltip.chute.contains": "内含物品:%1$s x%2$s",
|
"create.tooltip.chute.contains": "内含物品:%1$s x%2$s",
|
||||||
"create.tooltip.brass_tunnel.contains": "UNLOCALIZED: Currently distributing:",
|
"create.tooltip.brass_tunnel.contains": "等待分配的物品:",
|
||||||
"create.tooltip.brass_tunnel.contains_entry": "UNLOCALIZED: > %1$s x%2$s",
|
"create.tooltip.brass_tunnel.contains_entry": "> %2$s个%1$s",
|
||||||
"create.tooltip.brass_tunnel.retrieve": "UNLOCALIZED: Right-Click to retrieve",
|
"create.tooltip.brass_tunnel.retrieve": "鼠标右击取出",
|
||||||
|
|
||||||
"create.linked_controller.bind_mode": "UNLOCALIZED: Bind mode active",
|
"create.linked_controller.bind_mode": "绑定模式激活",
|
||||||
"create.linked_controller.press_keybind": "UNLOCALIZED: Press %1$s, %2$s, %3$s, %4$s, %5$s or %6$s, to bind this frequency to the respective key",
|
"create.linked_controller.press_keybind": "按%1$s,%2$s,%3$s,%4$s,%5$s或%6$s选择要将该频率绑定到哪个按键。",
|
||||||
"create.linked_controller.key_bound": "UNLOCALIZED: Frequency bound to %1$s",
|
"create.linked_controller.key_bound": "该频率已绑定到%1$s",
|
||||||
"create.linked_controller.frequency_slot_1": "UNLOCALIZED: Keybind: %1$s, Freq. #1",
|
"create.linked_controller.frequency_slot_1": "按键:%1$s,频道 #1",
|
||||||
"create.linked_controller.frequency_slot_2": "UNLOCALIZED: Keybind: %1$s, Freq. #2",
|
"create.linked_controller.frequency_slot_2": "按键:%1$s,频道 #2",
|
||||||
|
|
||||||
"create.crafting_blueprint.crafting_slot": "UNLOCALIZED: Ingredient Slot",
|
"create.crafting_blueprint.crafting_slot": "合成材料格",
|
||||||
"create.crafting_blueprint.filter_items_viable": "UNLOCALIZED: Advanced filter items are viable",
|
"create.crafting_blueprint.filter_items_viable": "可以使用过滤器",
|
||||||
"create.crafting_blueprint.display_slot": "UNLOCALIZED: Display Slot",
|
"create.crafting_blueprint.display_slot": "展示的图标",
|
||||||
"create.crafting_blueprint.inferred": "UNLOCALIZED: Inferred from recipe",
|
"create.crafting_blueprint.inferred": "已根据合成配方自动设定",
|
||||||
"create.crafting_blueprint.manually_assigned": "UNLOCALIZED: Manually assigned",
|
"create.crafting_blueprint.manually_assigned": "手动设定",
|
||||||
"create.crafting_blueprint.secondary_display_slot": "UNLOCALIZED: Secondary Display Slot",
|
"create.crafting_blueprint.secondary_display_slot": "展示的图标角标",
|
||||||
"create.crafting_blueprint.optional": "UNLOCALIZED: Optional",
|
"create.crafting_blueprint.optional": "可选",
|
||||||
|
|
||||||
"create.potato_cannon.ammo.attack_damage": "UNLOCALIZED: %1$s Attack Damage",
|
"create.potato_cannon.ammo.attack_damage": "%1$s 攻击伤害",
|
||||||
"create.potato_cannon.ammo.reload_ticks": "UNLOCALIZED: %1$s Reload Ticks",
|
"create.potato_cannon.ammo.reload_ticks": "%1$s 装弹时间(Ticks)",
|
||||||
"create.potato_cannon.ammo.knockback": "UNLOCALIZED: %1$s Knockback",
|
"create.potato_cannon.ammo.knockback": "%1$s 击退",
|
||||||
|
|
||||||
"create.hint.hose_pulley.title": "无限供应",
|
"create.hint.hose_pulley.title": "无限供应",
|
||||||
"create.hint.hose_pulley": "目标液体对象被视为无限量的。",
|
"create.hint.hose_pulley": "目标液体对象被视为无限量的。",
|
||||||
|
@ -1215,46 +1214,46 @@
|
||||||
"create.command.killTPSCommand.argument.tickTime": "tickTime",
|
"create.command.killTPSCommand.argument.tickTime": "tickTime",
|
||||||
|
|
||||||
"create.contraption.minecart_contraption_too_big": "这一矿车装置似乎太大了,无法变为拾捡状态",
|
"create.contraption.minecart_contraption_too_big": "这一矿车装置似乎太大了,无法变为拾捡状态",
|
||||||
"create.contraption.minecart_contraption_illegal_pickup": "UNLOCALIZED: A mystical force is binding this Cart Contraption to the world",
|
"create.contraption.minecart_contraption_illegal_pickup": "神秘的力量阻止你拾取这个矿车装置。",
|
||||||
|
|
||||||
|
|
||||||
"_": "->------------------------] Subtitles [------------------------<-",
|
"_": "->------------------------] Subtitles [------------------------<-",
|
||||||
|
|
||||||
"create.subtitle.contraption_disassemble": "UNLOCALIZED: Contraption stops",
|
"create.subtitle.contraption_disassemble": "结构:停止移动",
|
||||||
"create.subtitle.peculiar_bell_use": "UNLOCALIZED: Peculiar Bell tolls",
|
"create.subtitle.peculiar_bell_use": "奇异钟:鸣响",
|
||||||
"create.subtitle.mixing": "UNLOCALIZED: Mixing noises",
|
"create.subtitle.mixing": "搅拌器:搅拌声",
|
||||||
"create.subtitle.mechanical_press_activation_belt": "UNLOCALIZED: Mechanical Press bonks",
|
"create.subtitle.mechanical_press_activation_belt": "辊压机:撞击传送带",
|
||||||
"create.subtitle.fwoomp": "UNLOCALIZED: Potato Launcher fwoomps",
|
"create.subtitle.fwoomp": "土豆加农炮:发射",
|
||||||
"create.subtitle.worldshaper_place": "UNLOCALIZED: Worldshaper zaps",
|
"create.subtitle.worldshaper_place": "环境塑型器:放置方块",
|
||||||
"create.subtitle.crushing_1": "UNLOCALIZED: Crushing noises",
|
"create.subtitle.crushing_1": "磨碎声",
|
||||||
"create.subtitle.depot_slide": "UNLOCALIZED: Item slides",
|
"create.subtitle.depot_slide": "物品:滑入",
|
||||||
"create.subtitle.saw_activate_stone": "UNLOCALIZED: Mechanical Saw activates",
|
"create.subtitle.saw_activate_stone": "动力锯:切割",
|
||||||
"create.subtitle.blaze_munch": "烈焰人:咀嚼",
|
"create.subtitle.blaze_munch": "烈焰人:咀嚼",
|
||||||
"create.subtitle.funnel_flap": "UNLOCALIZED: Funnel flaps",
|
"create.subtitle.funnel_flap": "漏斗:垂帘碰撞",
|
||||||
"create.subtitle.schematicannon_finish": "蓝图加农炮:叮",
|
"create.subtitle.schematicannon_finish": "蓝图加农炮:叮",
|
||||||
"create.subtitle.haunted_bell_use": "UNLOCALIZED: Haunted Bell tolls",
|
"create.subtitle.haunted_bell_use": "怪异钟:鸣响",
|
||||||
"create.subtitle.scroll_value": "UNLOCALIZED: Scroll-input clicks",
|
"create.subtitle.scroll_value": "拨码输入:咔哒",
|
||||||
"create.subtitle.crafter_craft": "UNLOCALIZED: Crafter crafts",
|
"create.subtitle.crafter_craft": "动力合成器:合成中",
|
||||||
"create.subtitle.controller_put": "UNLOCALIZED: Controller thumps",
|
"create.subtitle.controller_put": "遥控器:放进讲台",
|
||||||
"create.subtitle.cranking": "UNLOCALIZED: Hand Crank turns",
|
"create.subtitle.cranking": "手摇曲柄:转动",
|
||||||
"create.subtitle.wrench_remove": "UNLOCALIZED: Component breaks",
|
"create.subtitle.wrench_remove": "部件:被破坏",
|
||||||
"create.subtitle.cogs": "UNLOCALIZED: Cogwheels rumble",
|
"create.subtitle.cogs": "齿轮:嘎吱作响",
|
||||||
"create.subtitle.slime_added": "粘液:挤碎声",
|
"create.subtitle.slime_added": "粘液:挤碎声",
|
||||||
"create.subtitle.wrench_rotate": "UNLOCALIZED: Wrench used",
|
"create.subtitle.wrench_rotate": "扳手:拧动",
|
||||||
"create.subtitle.potato_hit": "UNLOCALIZED: Vegetable impacts",
|
"create.subtitle.potato_hit": "土豆:击中",
|
||||||
"create.subtitle.saw_activate_wood": "UNLOCALIZED: Mechanical Saw activates",
|
"create.subtitle.saw_activate_wood": "动力锯:切割",
|
||||||
"create.subtitle.haunted_bell_convert": "UNLOCALIZED: Haunted Bell awakens",
|
"create.subtitle.haunted_bell_convert": "奇异钟:转化",
|
||||||
"create.subtitle.deployer_polish": "UNLOCALIZED: Deployer applies polish",
|
"create.subtitle.deployer_polish": "机械手:打磨物品",
|
||||||
"create.subtitle.deny": "UNLOCALIZED: Declining boop",
|
"create.subtitle.deny": "提示声:出错",
|
||||||
"create.subtitle.controller_click": "UNLOCALIZED: Controller clicks",
|
"create.subtitle.controller_click": "遥控器:按下按钮",
|
||||||
"create.subtitle.schematicannon_launch_block": "蓝图加农炮:发射",
|
"create.subtitle.schematicannon_launch_block": "蓝图加农炮:发射",
|
||||||
"create.subtitle.copper_armor_equip": "UNLOCALIZED: Diving equipment clinks",
|
"create.subtitle.copper_armor_equip": "潜水装备:铿锵",
|
||||||
"create.subtitle.controller_take": "UNLOCALIZED: Lectern empties",
|
"create.subtitle.controller_take": "讲台:取走物品",
|
||||||
"create.subtitle.mechanical_press_activation": "辊压机:工作中",
|
"create.subtitle.mechanical_press_activation": "辊压机:工作中",
|
||||||
"create.subtitle.contraption_assemble": "UNLOCALIZED: Contraption moves",
|
"create.subtitle.contraption_assemble": "结构:开始移动",
|
||||||
"create.subtitle.crafter_click": "UNLOCALIZED: Crafter clicks",
|
"create.subtitle.crafter_click": "动力合成器:咔哒声",
|
||||||
"create.subtitle.depot_plop": "UNLOCALIZED: Item lands",
|
"create.subtitle.depot_plop": "物品:着地",
|
||||||
"create.subtitle.confirm": "UNLOCALIZED: Affirmative ding",
|
"create.subtitle.confirm": "提示声:接受",
|
||||||
|
|
||||||
|
|
||||||
"_": "->------------------------] Item Descriptions [------------------------<-",
|
"_": "->------------------------] Item Descriptions [------------------------<-",
|
||||||
|
@ -1311,15 +1310,15 @@
|
||||||
"item.create.extendo_grip.tooltip.summary": "biubiubiu! 大幅度_增加了_使用者的_触碰距离_。",
|
"item.create.extendo_grip.tooltip.summary": "biubiubiu! 大幅度_增加了_使用者的_触碰距离_。",
|
||||||
"item.create.extendo_grip.tooltip.condition1": "放置于副手栏时",
|
"item.create.extendo_grip.tooltip.condition1": "放置于副手栏时",
|
||||||
"item.create.extendo_grip.tooltip.behaviour1": "增加_主手_所使用物品的_接触距离_。",
|
"item.create.extendo_grip.tooltip.behaviour1": "增加_主手_所使用物品的_接触距离_。",
|
||||||
"item.create.extendo_grip.tooltip.condition2": "UNLOCALIZED: While wearing Copper Backtank",
|
"item.create.extendo_grip.tooltip.condition2": "当装备铜制背罐时",
|
||||||
"item.create.extendo_grip.tooltip.behaviour2": "UNLOCALIZED: _No_ _Durability_ will be used. Instead, _Air_ _pressure_ is drained from the Tank",
|
"item.create.extendo_grip.tooltip.behaviour2": "使用罐中_气压_来_抵消_伸缩机械手的_耐久_损耗。",
|
||||||
|
|
||||||
"item.create.potato_cannon.tooltip": "UNLOCALIZED: POTATO CANNON",
|
"item.create.potato_cannon.tooltip": "土豆加农炮",
|
||||||
"item.create.potato_cannon.tooltip.summary": "UNLOCALIZED: Fwoomp! Launch your home-grown vegetables at your Enemies. Can be powered with Air Pressure from a _Copper_ _Backtank_",
|
"item.create.potato_cannon.tooltip.summary": "噗!把你亲手栽培的蔬菜砸向你的敌人。可以使用_铜制背罐_供能。",
|
||||||
"item.create.potato_cannon.tooltip.condition1": "UNLOCALIZED: When R-Clicked",
|
"item.create.potato_cannon.tooltip.condition1": "当右击时",
|
||||||
"item.create.potato_cannon.tooltip.behaviour1": "UNLOCALIZED: _Shoots_ a suitable item from your _Inventory_.",
|
"item.create.potato_cannon.tooltip.behaviour1": "_发射_你_物品栏_中任一可做弹药的物品。",
|
||||||
"item.create.potato_cannon.tooltip.condition2": "UNLOCALIZED: While wearing Copper Backtank",
|
"item.create.potato_cannon.tooltip.condition2": "当装备铜制背罐时",
|
||||||
"item.create.potato_cannon.tooltip.behaviour2": "UNLOCALIZED: _No_ _Durability_ will be used. Instead, _Air_ _pressure_ is drained from the Tank",
|
"item.create.potato_cannon.tooltip.behaviour2": "使用罐中_气压_来_抵消_土豆加农炮的_耐久_损耗。",
|
||||||
|
|
||||||
"item.create.filter.tooltip": "过滤器",
|
"item.create.filter.tooltip": "过滤器",
|
||||||
"item.create.filter.tooltip.summary": "可用于_精确_控制物流设备的_输出_以及_输入_,使得通过的物品流与_一组_物品或者数个_相嵌套的过滤器_相匹配。",
|
"item.create.filter.tooltip.summary": "可用于_精确_控制物流设备的_输出_以及_输入_,使得通过的物品流与_一组_物品或者数个_相嵌套的过滤器_相匹配。",
|
||||||
|
@ -1360,8 +1359,8 @@
|
||||||
|
|
||||||
"block.create.schematicannon.tooltip": "蓝图加农炮",
|
"block.create.schematicannon.tooltip": "蓝图加农炮",
|
||||||
"block.create.schematicannon.tooltip.summary": "发射方块,重新构建已在世界中部署的_蓝图_,会使用相邻箱子中的物品进行填充,_火药_作为燃料。",
|
"block.create.schematicannon.tooltip.summary": "发射方块,重新构建已在世界中部署的_蓝图_,会使用相邻箱子中的物品进行填充,_火药_作为燃料。",
|
||||||
"block.create.schematicannon.tooltip.condition1": "UNLOCALIZED: When R-Clicked",
|
"block.create.schematicannon.tooltip.condition1": "当右击时",
|
||||||
"block.create.schematicannon.tooltip.behaviour1": "UNLOCALIZED: Opens the _Interface_",
|
"block.create.schematicannon.tooltip.behaviour1": "打开_配置面板_。",
|
||||||
|
|
||||||
"block.create.schematic_table.tooltip": "蓝图桌",
|
"block.create.schematic_table.tooltip": "蓝图桌",
|
||||||
"block.create.schematic_table.tooltip.summary": "将保存的蓝图图写入_空白蓝图_",
|
"block.create.schematic_table.tooltip.summary": "将保存的蓝图图写入_空白蓝图_",
|
||||||
|
@ -1405,18 +1404,18 @@
|
||||||
|
|
||||||
"block.create.adjustable_crate.tooltip": "可调节板条箱",
|
"block.create.adjustable_crate.tooltip": "可调节板条箱",
|
||||||
"block.create.adjustable_crate.tooltip.summary": "该箱子支持玩家对其容量进行调整,最大可以容纳_16组_物品。支持_红石比较器_。",
|
"block.create.adjustable_crate.tooltip.summary": "该箱子支持玩家对其容量进行调整,最大可以容纳_16组_物品。支持_红石比较器_。",
|
||||||
"block.create.adjustable_crate.tooltip.condition1": "UNLOCALIZED: When R-Clicked",
|
"block.create.adjustable_crate.tooltip.condition1": "当右击时",
|
||||||
"block.create.adjustable_crate.tooltip.behaviour1": "UNLOCALIZED: Opens the _Interface_.",
|
"block.create.adjustable_crate.tooltip.behaviour1": "打开_配置面板_。",
|
||||||
|
|
||||||
"block.create.creative_crate.tooltip": "创造板条箱",
|
"block.create.creative_crate.tooltip": "创造板条箱",
|
||||||
"block.create.creative_crate.tooltip.summary": "这种_储存容器_可以无限地复制任何物品。它还可以移除附近的_蓝图加农炮_的材料需求。",
|
"block.create.creative_crate.tooltip.summary": "这种_储存容器_可以无限地复制任何物品。它还可以移除附近的_蓝图加农炮_的材料需求。",
|
||||||
"block.create.creative_crate.tooltip.condition1": "当标记了物品时",
|
"block.create.creative_crate.tooltip.condition1": "当标记了物品时",
|
||||||
"block.create.creative_crate.tooltip.behaviour1": "任何从容器中_提取_的物品都是_无限量的_,而任何_放置_到容器中的物品都会被_送入虚空_",
|
"block.create.creative_crate.tooltip.behaviour1": "任何从容器中_提取_的物品都是_无限量的_,而任何_放置_到容器中的物品都会被_送入虚空_",
|
||||||
|
|
||||||
"item.create.creative_cake.tooltip": "UNLOCALIZED: CREATIVE CAKE",
|
"item.create.creative_blaze_cake.tooltip": "UNLOCALIZED: CREATIVE CAKE",
|
||||||
"item.create.creative_cake.tooltip.summary": "UNLOCALIZED: A very special treat for _Blaze Burners_ that allows _controlling their heat level_. After eating this cake, Blaze Burners will _never run out of fuel_.",
|
"item.create.creative_blaze_cake.tooltip.summary": "UNLOCALIZED: A very special treat for _Blaze Burners_ that allows _controlling their heat level_. After eating this cake, Blaze Burners will _never run out of fuel_.",
|
||||||
"item.create.creative_cake.tooltip.condition1": "UNLOCALIZED: R-Click on Blaze Burner",
|
"item.create.creative_blaze_cake.tooltip.condition1": "UNLOCALIZED: R-Click on Blaze Burner",
|
||||||
"item.create.creative_cake.tooltip.behaviour1": "UNLOCALIZED: _Locks_ the Blaze Burner's heat level. If used again, _cycles_ the Blaze Burner's heat level.",
|
"item.create.creative_blaze_cake.tooltip.behaviour1": "UNLOCALIZED: _Locks_ the Blaze Burner's heat level. If used again, _cycles_ the Blaze Burner's heat level.",
|
||||||
|
|
||||||
"block.create.controller_rail.tooltip": "控制铁轨",
|
"block.create.controller_rail.tooltip": "控制铁轨",
|
||||||
"block.create.controller_rail.tooltip.summary": "一种_汇流的,受红石信号影响的_铁轨,可以_较好地控制_经过矿车的_移动速度_。",
|
"block.create.controller_rail.tooltip.summary": "一种_汇流的,受红石信号影响的_铁轨,可以_较好地控制_经过矿车的_移动速度_。",
|
||||||
|
@ -1433,61 +1432,61 @@
|
||||||
|
|
||||||
"item.create.refined_radiance.tooltip": "光辉石",
|
"item.create.refined_radiance.tooltip": "光辉石",
|
||||||
"item.create.refined_radiance.tooltip.summary": "一种用_光辉_锻造的化合物材料。",
|
"item.create.refined_radiance.tooltip.summary": "一种用_光辉_锻造的化合物材料。",
|
||||||
"item.create.refined_radiance.tooltip.condition1": "UNLOCALIZED: Work In Progress",
|
"item.create.refined_radiance.tooltip.condition1": "尚未完工",
|
||||||
"item.create.refined_radiance.tooltip.behaviour1": "UNLOCALIZED: Usages for this material will be available in a future release.",
|
"item.create.refined_radiance.tooltip.behaviour1": "该材料在未来可能会有更多的用途。",
|
||||||
|
|
||||||
"item.create.shadow_steel.tooltip": "暗影钢",
|
"item.create.shadow_steel.tooltip": "暗影钢",
|
||||||
"item.create.shadow_steel.tooltip.summary": "一种用_虚空_锻造的化合物材料。",
|
"item.create.shadow_steel.tooltip.summary": "一种用_虚空_锻造的化合物材料。",
|
||||||
"item.create.shadow_steel.tooltip.condition1": "UNLOCALIZED: Work In Progress",
|
"item.create.shadow_steel.tooltip.condition1": "尚未完工",
|
||||||
"item.create.shadow_steel.tooltip.behaviour1": "UNLOCALIZED: Usages for this material will be available in a future release.",
|
"item.create.shadow_steel.tooltip.behaviour1": "该材料在未来可能会有更多的用途。",
|
||||||
|
|
||||||
"item.create.linked_controller.tooltip": "UNLOCALIZED: LINKED CONTROLLER",
|
"item.create.linked_controller.tooltip": "无线红石遥控器",
|
||||||
"item.create.linked_controller.tooltip.summary": "UNLOCALIZED: Grants _handheld_ _control_ over _Redstone Link_ frequencies assigned to its _six_ _buttons_.",
|
"item.create.linked_controller.tooltip.summary": "提供_六个_可以绑定_无线红石_频道的按钮,用于_遥控_附近的_无线红石信号终端_。",
|
||||||
"item.create.linked_controller.tooltip.condition1": "UNLOCALIZED: R-Click",
|
"item.create.linked_controller.tooltip.condition1": "右击时",
|
||||||
"item.create.linked_controller.tooltip.behaviour1": "UNLOCALIZED: _Toggles_ the controller. _Movement_ _controls_ are taken over while its active.",
|
"item.create.linked_controller.tooltip.behaviour1": "_拿起_或_放下_遥控器。拿起遥控器时,_移动_按键将被用来_操作遥控器_而不是移动玩家。",
|
||||||
"item.create.linked_controller.tooltip.condition2": "UNLOCALIZED: R-Click while Sneaking",
|
"item.create.linked_controller.tooltip.condition2": "潜行右击时",
|
||||||
"item.create.linked_controller.tooltip.behaviour2": "UNLOCALIZED: Opens the manual _Configuration Interface_.",
|
"item.create.linked_controller.tooltip.behaviour2": "打开手动_配置界面_。",
|
||||||
"item.create.linked_controller.tooltip.condition3": "UNLOCALIZED: R-Click on Redstone Link Receiver",
|
"item.create.linked_controller.tooltip.condition3": "右击无线红石信号终端时",
|
||||||
"item.create.linked_controller.tooltip.behaviour3": "UNLOCALIZED: Enables _Bind Mode_, press one of the _six controls_ to bind it to the _Links' Frequency_.",
|
"item.create.linked_controller.tooltip.behaviour3": "启用_配对模式_,按_六个按键_中的一个来配对_无线红石信号终端_的_频率_。",
|
||||||
"item.create.linked_controller.tooltip.condition4": "UNLOCALIZED: R-Click on Lectern",
|
"item.create.linked_controller.tooltip.condition4": "右击讲台时",
|
||||||
"item.create.linked_controller.tooltip.behaviour4": "UNLOCALIZED: Places the Controller into the Lectern for easy activation. (R-Click while Sneaking to retrieve it)",
|
"item.create.linked_controller.tooltip.behaviour4": "将遥控器放在讲台上以便使用。(潜行右击来取回遥控器。)",
|
||||||
|
|
||||||
"item.create.diving_helmet.tooltip": "UNLOCALIZED: DIVING HELMET",
|
"item.create.diving_helmet.tooltip": "潜水头盔",
|
||||||
"item.create.diving_helmet.tooltip.summary": "UNLOCALIZED: Together with a _Copper_ _Backtank_, allows the wielder to _breathe_ _underwater_ for an extended amount of time.",
|
"item.create.diving_helmet.tooltip.summary": "与_铜制背罐_配合使用,为穿戴者提供在_水下_行动一段时间所需的_空气_。",
|
||||||
"item.create.diving_helmet.tooltip.condition1": "UNLOCALIZED: When Worn",
|
"item.create.diving_helmet.tooltip.condition1": "戴在头上时",
|
||||||
"item.create.diving_helmet.tooltip.behaviour1": "UNLOCALIZED: Provides the _Water Breathing_ effect, slowly draining _Air Pressure_ from the Backtank.",
|
"item.create.diving_helmet.tooltip.behaviour1": "提供_水下呼吸_效果。缓慢消耗背罐中的_压缩空气_。",
|
||||||
|
|
||||||
"item.create.copper_backtank.tooltip": "UNLOCALIZED: COPPER BACKTANK",
|
"item.create.copper_backtank.tooltip": "铜制背罐",
|
||||||
"item.create.copper_backtank.tooltip.summary": "UNLOCALIZED: A _Wearable_ _Tank_ for carrying Pressurized Air.",
|
"item.create.copper_backtank.tooltip.summary": "一个可以_背在背上_的_铜罐_,用于携带一定量的压缩空气。",
|
||||||
"item.create.copper_backtank.tooltip.condition1": "UNLOCALIZED: When Worn",
|
"item.create.copper_backtank.tooltip.condition1": "背在背上时",
|
||||||
"item.create.copper_backtank.tooltip.behaviour1": "UNLOCALIZED: Provides _Pressurized_ _Air_ to Equipment that requires it.",
|
"item.create.copper_backtank.tooltip.behaviour1": "为其他需要_压缩空气_的装备提供所需的空气。",
|
||||||
"item.create.copper_backtank.tooltip.condition2": "UNLOCALIZED: When placed, Powered by Kinetics",
|
"item.create.copper_backtank.tooltip.condition2": "当放下并接入动力时",
|
||||||
"item.create.copper_backtank.tooltip.behaviour2": "UNLOCALIZED: _Collects_ _Pressurized_ _Air_ at a rate depending on the Rotational Speed.",
|
"item.create.copper_backtank.tooltip.behaviour2": "基于转速从周围环境中_收集_并_加压空气_。",
|
||||||
|
|
||||||
"item.create.diving_boots.tooltip": "UNLOCALIZED: DIVING BOOTS",
|
"item.create.diving_boots.tooltip": "潜水靴",
|
||||||
"item.create.diving_boots.tooltip.summary": "UNLOCALIZED: A pair of _heavy_ _boots_, allowing for better traversal of the Ocean floor.",
|
"item.create.diving_boots.tooltip.summary": "一双_沉重的靴子_,让穿戴者可以更方便的探索海底。",
|
||||||
"item.create.diving_boots.tooltip.condition1": "UNLOCALIZED: When Worn",
|
"item.create.diving_boots.tooltip.condition1": "穿在脚上时",
|
||||||
"item.create.diving_boots.tooltip.behaviour1": "UNLOCALIZED: Wielder _sinks_ _faster_ and _cannot_ _swim_. Grants the ability to _walk_ and _jump_ underwater. Wielder also is no longer affected by _Mechanical_ _Belts_.",
|
"item.create.diving_boots.tooltip.behaviour1": "穿戴者_下沉更快_并_无法游泳_。穿戴者可以在水下_行走_和_跳跃_。穿戴者不会被_传送带_移走。",
|
||||||
|
|
||||||
"item.create.crafting_blueprint.tooltip": "UNLOCALIZED: CRAFTING BLUEPRINT",
|
"item.create.crafting_blueprint.tooltip": "合成蓝图",
|
||||||
"item.create.crafting_blueprint.tooltip.summary": "UNLOCALIZED: _Placed_ on a wall, it can be used to _specify_ _ingredient_ _arrangements_ for easier manual crafting. Each slot represents a Recipe.",
|
"item.create.crafting_blueprint.tooltip.summary": "_放在_墙上。设置特定的_原料排布_以便更快地手搓物品。每个格子都可以设定一个配方。",
|
||||||
"item.create.crafting_blueprint.condition1": "UNLOCALIZED: R-Click empty Slot",
|
"item.create.crafting_blueprint.condition1": "当右击空的格子时",
|
||||||
"item.create.crafting_blueprint.behaviour1": "UNLOCALIZED: Opens a _Crafting_ _menu_ allowing you to _configure_ a _recipe_ and items to display.",
|
"item.create.crafting_blueprint.behaviour1": "打开一个_配方设置界面_,用于_设置_一个_合成配方_以及设置显示的图标。",
|
||||||
"item.create.crafting_blueprint.condition2": "UNLOCALIZED: R-Click configured Slot",
|
"item.create.crafting_blueprint.condition2": "当右击设置好的格子时",
|
||||||
"item.create.crafting_blueprint.behaviour2": "UNLOCALIZED: _Applies_ the _configured_ _recipe_ with matching Ingredients found in your _Inventory_. _Sneak_ to craft up to a _Stack_ of items.",
|
"item.create.crafting_blueprint.behaviour2": "使用_物品栏_中的物品制作_设置的配方_。_潜行_以一次合成_一组_。",
|
||||||
|
|
||||||
"item.create.minecart_coupling.tooltip": "矿车连轴器",
|
"item.create.minecart_coupling.tooltip": "矿车连轴器",
|
||||||
"item.create.minecart_coupling.tooltip.summary": "将多个_矿车_或运输结构链接在一起,构成雄伟的火车。",
|
"item.create.minecart_coupling.tooltip.summary": "将多个_矿车_或运输结构链接在一起,构成雄伟的火车。",
|
||||||
"item.create.minecart_coupling.tooltip.condition1": "作用与矿车时",
|
"item.create.minecart_coupling.tooltip.condition1": "作用与矿车时",
|
||||||
"item.create.minecart_coupling.tooltip.behaviour1": "将两个矿车耦合在一起,在移动时将它们保持_恒定的距离_。",
|
"item.create.minecart_coupling.tooltip.behaviour1": "将两个矿车耦合在一起,在移动时将它们保持_恒定的距离_。",
|
||||||
|
|
||||||
"block.create.peculiar_bell.tooltip": "UNLOCALIZED: PECULIAR BELL",
|
"block.create.peculiar_bell.tooltip": "奇异钟",
|
||||||
"block.create.peculiar_bell.tooltip.summary": "UNLOCALIZED: A decorative _Brass Bell_. Placing it right above open _Soul Fire_ may cause side-effects...",
|
"block.create.peculiar_bell.tooltip.summary": "装饰用的_黄铜质钟_。放在_灵魂火_的正上方可能会产生意料之外的后果……",
|
||||||
|
|
||||||
"block.create.haunted_bell.tooltip": "UNLOCALIZED: HAUNTED BELL",
|
"block.create.haunted_bell.tooltip": "怪异钟",
|
||||||
"block.create.haunted_bell.tooltip.summary": "UNLOCALIZED: A _Cursed Bell_ haunted by lost souls of the Nether.",
|
"block.create.haunted_bell.tooltip.summary": "_被诅咒_的钟,其中充满了来自下界的迷失的灵魂。",
|
||||||
"block.create.haunted_bell.tooltip.condition1": "UNLOCALIZED: When Held or Rang",
|
"block.create.haunted_bell.tooltip.condition1": "当手持或鸣响时",
|
||||||
"block.create.haunted_bell.tooltip.behaviour1": "UNLOCALIZED: Highlights nearby _Lightless Spots_ on which _Hostile Mobs_ can spawn.",
|
"block.create.haunted_bell.tooltip.behaviour1": "标识出附近可能生成_敌对生物_的_黑暗_的地方。",
|
||||||
|
|
||||||
|
|
||||||
"_": "->------------------------] Ponder Content [------------------------<-",
|
"_": "->------------------------] Ponder Content [------------------------<-",
|
||||||
|
@ -1504,11 +1503,11 @@
|
||||||
"create.ponder.replay": "重放",
|
"create.ponder.replay": "重放",
|
||||||
"create.ponder.think_back": "回想",
|
"create.ponder.think_back": "回想",
|
||||||
"create.ponder.slow_text": "舒适阅读",
|
"create.ponder.slow_text": "舒适阅读",
|
||||||
"create.ponder.exit": "UNLOCALIZED: Exit",
|
"create.ponder.exit": "退出",
|
||||||
"create.ponder.welcome": "UNLOCALIZED: Welcome to Ponder",
|
"create.ponder.welcome": "欢迎来到思索项目列表",
|
||||||
"create.ponder.categories": "UNLOCALIZED: Available Categories in Create",
|
"create.ponder.categories": "机械动力中包含的条目",
|
||||||
"create.ponder.index_description": "UNLOCALIZED: Click one of the icons to learn about its associated Items and Blocks",
|
"create.ponder.index_description": "点击一个图标来查看相关的物品和方块。",
|
||||||
"create.ponder.index_title": "UNLOCALIZED: Ponder Index",
|
"create.ponder.index_title": "思索项目列表",
|
||||||
"create.ponder.shared.rpm16": "16 RPM",
|
"create.ponder.shared.rpm16": "16 RPM",
|
||||||
"create.ponder.shared.behaviour_modify_wrench": "可以用扳手调整它的行为。",
|
"create.ponder.shared.behaviour_modify_wrench": "可以用扳手调整它的行为。",
|
||||||
"create.ponder.shared.storage_on_contraption": "与装置相接的存储空间,会自动将装置遇到的掉落物拾取到空间内。",
|
"create.ponder.shared.storage_on_contraption": "与装置相接的存储空间,会自动将装置遇到的掉落物拾取到空间内。",
|
||||||
|
@ -1655,8 +1654,8 @@
|
||||||
|
|
||||||
"create.ponder.cart_assembler_modes.header": "矿车装置的方向设定",
|
"create.ponder.cart_assembler_modes.header": "矿车装置的方向设定",
|
||||||
"create.ponder.cart_assembler_modes.text_1": "矿车装置会随着矿车的运动而发生转向",
|
"create.ponder.cart_assembler_modes.text_1": "矿车装置会随着矿车的运动而发生转向",
|
||||||
"create.ponder.cart_assembler_modes.text_2": "如果装配结构的方向锁定了,那么结构的方向将不再改变",
|
"create.ponder.cart_assembler_modes.text_2": "矿车装置上的箭头表明了哪一侧是“前面”",
|
||||||
"create.ponder.cart_assembler_modes.text_3": "UNLOCALIZED: If the Assembler is set to Lock Rotation, the contraptions' orientation will never change",
|
"create.ponder.cart_assembler_modes.text_3": "如果装配结构的方向锁定了,那么结构的方向将不再改变",
|
||||||
|
|
||||||
"create.ponder.cart_assembler_rails.header": "另外几种矿车以及铁轨",
|
"create.ponder.cart_assembler_rails.header": "另外几种矿车以及铁轨",
|
||||||
"create.ponder.cart_assembler_rails.text_1": "放置在普通轨道上的矿车装配站并不会影响路过矿车装置的运动",
|
"create.ponder.cart_assembler_rails.text_1": "放置在普通轨道上的矿车装配站并不会影响路过矿车装置的运动",
|
||||||
|
@ -1710,11 +1709,11 @@
|
||||||
"create.ponder.cogwheel.text_1": "齿轮会将动力传递至临近的齿轮",
|
"create.ponder.cogwheel.text_1": "齿轮会将动力传递至临近的齿轮",
|
||||||
"create.ponder.cogwheel.text_2": "以此方式连接的齿轮,旋转方向相反",
|
"create.ponder.cogwheel.text_2": "以此方式连接的齿轮,旋转方向相反",
|
||||||
|
|
||||||
"create.ponder.creative_fluid_tank.header": "UNLOCALIZED: Creative Fluid Tanks",
|
"create.ponder.creative_fluid_tank.header": "创造流体储罐",
|
||||||
"create.ponder.creative_fluid_tank.text_1": "UNLOCALIZED: Creative Fluid Tanks can be used to provide a bottomless supply of fluid",
|
"create.ponder.creative_fluid_tank.text_1": "创造流体储罐可以提供无限数量的流体",
|
||||||
"create.ponder.creative_fluid_tank.text_2": "UNLOCALIZED: Right-Click with a fluid containing item to configure it",
|
"create.ponder.creative_fluid_tank.text_2": "使用一个含有流体的容器右击它来设置它提供的流体",
|
||||||
"create.ponder.creative_fluid_tank.text_3": "UNLOCALIZED: Pipe Networks can now endlessly draw the assigned fluid from the tank",
|
"create.ponder.creative_fluid_tank.text_3": "流体管道可以从中无限提取设置的流体",
|
||||||
"create.ponder.creative_fluid_tank.text_4": "UNLOCALIZED: Any Fluids pushed back into a Creative Fluid Tank will be voided",
|
"create.ponder.creative_fluid_tank.text_4": "任何被输入创造流体储罐的液体都将被销毁",
|
||||||
|
|
||||||
"create.ponder.creative_motor.header": "使用创造马达发生旋转",
|
"create.ponder.creative_motor.header": "使用创造马达发生旋转",
|
||||||
"create.ponder.creative_motor.text_1": "创造马达不仅能够手动调配输出旋转力,而且体积相当小巧",
|
"create.ponder.creative_motor.text_1": "创造马达不仅能够手动调配输出旋转力,而且体积相当小巧",
|
||||||
|
@ -1752,11 +1751,11 @@
|
||||||
"create.ponder.deployer_modes.text_1": "在默认情况下,机械手模仿玩家的右击交互",
|
"create.ponder.deployer_modes.text_1": "在默认情况下,机械手模仿玩家的右击交互",
|
||||||
"create.ponder.deployer_modes.text_2": "使用扳手可以将模式调整为模仿玩家的左击交互",
|
"create.ponder.deployer_modes.text_2": "使用扳手可以将模式调整为模仿玩家的左击交互",
|
||||||
|
|
||||||
"create.ponder.deployer_processing.header": "UNLOCALIZED: Processing Items using Deployers",
|
"create.ponder.deployer_processing.header": "使用机械手处理物品",
|
||||||
"create.ponder.deployer_processing.text_1": "UNLOCALIZED: With a fitting held item, Deployers can process items provided beneath them",
|
"create.ponder.deployer_processing.text_1": "当机械手持有合适的物品时,它可以自动处理下方的物品",
|
||||||
"create.ponder.deployer_processing.text_2": "UNLOCALIZED: The Input items can be dropped or placed on a Depot under the Deployer",
|
"create.ponder.deployer_processing.text_2": "物品可以被丢在机械手下方,或放在置物台上",
|
||||||
"create.ponder.deployer_processing.text_3": "UNLOCALIZED: When items are provided on a belt...",
|
"create.ponder.deployer_processing.text_3": "当传送带上的物品经过机械手下方时...",
|
||||||
"create.ponder.deployer_processing.text_4": "UNLOCALIZED: The Deployer will hold and process them automatically",
|
"create.ponder.deployer_processing.text_4": "...机械手会使物品停下,然后处理这个物品",
|
||||||
|
|
||||||
"create.ponder.deployer_redstone.header": "使用红石控制机械手",
|
"create.ponder.deployer_redstone.header": "使用红石控制机械手",
|
||||||
"create.ponder.deployer_redstone.text_1": "当被红石充能时,机械手会停止工作",
|
"create.ponder.deployer_redstone.text_1": "当被红石充能时,机械手会停止工作",
|
||||||
|
@ -1774,13 +1773,13 @@
|
||||||
"create.ponder.empty_blaze_burner.text_2": "或者,也可以通过右击烈焰人刷怪笼来填充激活烈焰人燃烧室",
|
"create.ponder.empty_blaze_burner.text_2": "或者,也可以通过右击烈焰人刷怪笼来填充激活烈焰人燃烧室",
|
||||||
"create.ponder.empty_blaze_burner.text_3": "这样,你便有了一个可供部分机器加工的热源",
|
"create.ponder.empty_blaze_burner.text_3": "这样,你便有了一个可供部分机器加工的热源",
|
||||||
"create.ponder.empty_blaze_burner.text_4": "如果是为了美观,空的烈焰人燃烧室也可以被打火石点燃",
|
"create.ponder.empty_blaze_burner.text_4": "如果是为了美观,空的烈焰人燃烧室也可以被打火石点燃",
|
||||||
"create.ponder.empty_blaze_burner.text_5": "UNLOCALIZED: The flame can be transformed using a soul-infused item",
|
"create.ponder.empty_blaze_burner.text_5": "使用包含灵魂的物品可以将火焰变为灵魂火",
|
||||||
"create.ponder.empty_blaze_burner.text_6": "但是,这样的热源不足以给机器提加工供足够的热量",
|
"create.ponder.empty_blaze_burner.text_6": "但是,这样的热源不足以给机器提加工供足够的热量",
|
||||||
|
|
||||||
"create.ponder.encased_fluid_pipe.header": "UNLOCALIZED: Encasing Fluid Pipes",
|
"create.ponder.encased_fluid_pipe.header": "遮掩流体管道",
|
||||||
"create.ponder.encased_fluid_pipe.text_1": "UNLOCALIZED: Copper Casing can be used to decorate Fluid Pipes",
|
"create.ponder.encased_fluid_pipe.text_1": "铜机壳可以用于装饰流体管道",
|
||||||
"create.ponder.encased_fluid_pipe.text_2": "UNLOCALIZED: Aside from being conceiled, Encased Pipes are locked into their connectivity state",
|
"create.ponder.encased_fluid_pipe.text_2": "除了遮掩流体管道之外,装有铜机壳的流体管道将不会改变其连接状态",
|
||||||
"create.ponder.encased_fluid_pipe.text_3": "UNLOCALIZED: It will no longer react to any neighbouring blocks being added or removed",
|
"create.ponder.encased_fluid_pipe.text_3": "它将不会对旁边新增加或移除的管道做出反应",
|
||||||
|
|
||||||
"create.ponder.fan_direction.header": "鼓风机的气流",
|
"create.ponder.fan_direction.header": "鼓风机的气流",
|
||||||
"create.ponder.fan_direction.text_1": "鼓风机使用旋转力来制造气流",
|
"create.ponder.fan_direction.text_1": "鼓风机使用旋转力来制造气流",
|
||||||
|
@ -1800,34 +1799,34 @@
|
||||||
"create.ponder.fan_source.text_1": "如鼓风机的扇叶向下朝着热源放置,鼓风机可以借此产生旋转力",
|
"create.ponder.fan_source.text_1": "如鼓风机的扇叶向下朝着热源放置,鼓风机可以借此产生旋转力",
|
||||||
"create.ponder.fan_source.text_2": "当鼓风机接受红石信号后,它便会向外供给旋转力",
|
"create.ponder.fan_source.text_2": "当鼓风机接受红石信号后,它便会向外供给旋转力",
|
||||||
|
|
||||||
"create.ponder.fluid_pipe_flow.header": "UNLOCALIZED: Moving Fluids using Copper Pipes",
|
"create.ponder.fluid_pipe_flow.header": "使用管道运输流体",
|
||||||
"create.ponder.fluid_pipe_flow.text_1": "UNLOCALIZED: Fluid Pipes can connect two or more fluid sources and targets",
|
"create.ponder.fluid_pipe_flow.text_1": "流体管道可以用于连接两个或多个流体容器",
|
||||||
"create.ponder.fluid_pipe_flow.text_2": "UNLOCALIZED: Using a wrench, a straight pipe segment can be given a window",
|
"create.ponder.fluid_pipe_flow.text_2": "使用扳手为直的管道增加观察窗",
|
||||||
"create.ponder.fluid_pipe_flow.text_3": "UNLOCALIZED: Windowed pipes will not connect to any other adjacent pipe segments",
|
"create.ponder.fluid_pipe_flow.text_3": "带有观察窗的管道不会建立侧向连接",
|
||||||
"create.ponder.fluid_pipe_flow.text_4": "UNLOCALIZED: Powered by Mechanical Pumps, the Pipes can transport Fluids",
|
"create.ponder.fluid_pipe_flow.text_4": "通过使用动力泵,流体管道可以传输流体",
|
||||||
"create.ponder.fluid_pipe_flow.text_5": "UNLOCALIZED: No fluid is being extracted at first",
|
"create.ponder.fluid_pipe_flow.text_5": "一开始,流体不会真正被消耗",
|
||||||
"create.ponder.fluid_pipe_flow.text_6": "UNLOCALIZED: Once the flow connects them, the endpoints gradually transfer their contents",
|
"create.ponder.fluid_pipe_flow.text_6": "当管道内的液体流彻底联通之后,流体才会开始逐渐从一个容器中转移到另一个",
|
||||||
"create.ponder.fluid_pipe_flow.text_7": "UNLOCALIZED: Thus, the Pipe blocks themselves never 'physically' contain any fluid",
|
"create.ponder.fluid_pipe_flow.text_7": "这意味着流体管道本身并不真正存储任何流体",
|
||||||
|
|
||||||
"create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers",
|
"create.ponder.fluid_pipe_interaction.header": "抽取和填充流体容器",
|
||||||
"create.ponder.fluid_pipe_interaction.text_1": "UNLOCALIZED: Endpoints of a pipe network can interact with a variety of blocks",
|
"create.ponder.fluid_pipe_interaction.text_1": "流体管道的末端可以与许多种容器连接",
|
||||||
"create.ponder.fluid_pipe_interaction.text_2": "UNLOCALIZED: Any block with fluid storage capabilities can be filled or drained",
|
"create.ponder.fluid_pipe_interaction.text_2": "任何可以容纳流体的容器都可以被填充或从中抽取",
|
||||||
"create.ponder.fluid_pipe_interaction.text_3": "UNLOCALIZED: Source blocks right in front of an open end can be picked up...",
|
"create.ponder.fluid_pipe_interaction.text_3": "开放的管道口可以吸走流体源块...",
|
||||||
"create.ponder.fluid_pipe_interaction.text_4": "UNLOCALIZED: ...while spilling into empty spaces can create fluid sources",
|
"create.ponder.fluid_pipe_interaction.text_4": "...或者将流体源排放出来",
|
||||||
"create.ponder.fluid_pipe_interaction.text_5": "UNLOCALIZED: Pipes can also extract fluids from a handful of other blocks directly",
|
"create.ponder.fluid_pipe_interaction.text_5": "管道也可以从许多其他方块中直接抽取流体",
|
||||||
|
|
||||||
"create.ponder.fluid_tank_sizes.header": "UNLOCALIZED: Dimensions of a Fluid tank",
|
"create.ponder.fluid_tank_sizes.header": "流体储罐的大小",
|
||||||
"create.ponder.fluid_tank_sizes.text_1": "UNLOCALIZED: Fluid Tanks can be combined to increase the total capacity",
|
"create.ponder.fluid_tank_sizes.text_1": "多格流体储罐可以被放置在一起来提供更大的容量",
|
||||||
"create.ponder.fluid_tank_sizes.text_2": "UNLOCALIZED: Their base square can be up to 3 blocks wide...",
|
"create.ponder.fluid_tank_sizes.text_2": "流体储罐最大可以有3x3的横截面...",
|
||||||
"create.ponder.fluid_tank_sizes.text_3": "UNLOCALIZED: ...and grow in height by more than 30 additional layers",
|
"create.ponder.fluid_tank_sizes.text_3": "...并且可以有超过30格高",
|
||||||
"create.ponder.fluid_tank_sizes.text_4": "UNLOCALIZED: Using a Wrench, a tanks' window can be toggled",
|
"create.ponder.fluid_tank_sizes.text_4": "使用扳手可以打开或关闭观察窗",
|
||||||
|
|
||||||
"create.ponder.fluid_tank_storage.header": "UNLOCALIZED: Storing Fluids in Fluid Tanks",
|
"create.ponder.fluid_tank_storage.header": "使用流体储罐存储流体",
|
||||||
"create.ponder.fluid_tank_storage.text_1": "UNLOCALIZED: Fluid Tanks can be used to store large amounts of fluid",
|
"create.ponder.fluid_tank_storage.text_1": "流体储罐可以存储大量的流体",
|
||||||
"create.ponder.fluid_tank_storage.text_2": "UNLOCALIZED: Pipe networks can push and pull fluids from any side",
|
"create.ponder.fluid_tank_storage.text_2": "流体管道可以从任何一面将流体输入/输出流体储罐",
|
||||||
"create.ponder.fluid_tank_storage.text_3": "UNLOCALIZED: The contained fluid can be measured by a Comparator",
|
"create.ponder.fluid_tank_storage.text_3": "使用比较器可以检测储罐中的流体储量",
|
||||||
"create.ponder.fluid_tank_storage.text_4": "UNLOCALIZED: However, in Survival Mode Fluids cannot be added or taken manually",
|
"create.ponder.fluid_tank_storage.text_4": "在生存模式中,无法直接用容器将流体装入或取出储罐",
|
||||||
"create.ponder.fluid_tank_storage.text_5": "UNLOCALIZED: You can use Basins, Item Drains and Spouts to drain or fill fluid containing items",
|
"create.ponder.fluid_tank_storage.text_5": "要装满/倒空流体容器,可以使用工作盆,分液池或注液器。",
|
||||||
|
|
||||||
"create.ponder.flywheel.header": "使用飞轮来产生旋转力",
|
"create.ponder.flywheel.header": "使用飞轮来产生旋转力",
|
||||||
"create.ponder.flywheel.text_1": "飞轮和熔炉引擎必须配套使用,方可产生旋转力",
|
"create.ponder.flywheel.text_1": "飞轮和熔炉引擎必须配套使用,方可产生旋转力",
|
||||||
|
@ -1902,33 +1901,33 @@
|
||||||
"create.ponder.hand_crank.text_3": "它产生的转速相对较高",
|
"create.ponder.hand_crank.text_3": "它产生的转速相对较高",
|
||||||
"create.ponder.hand_crank.text_4": "潜行长按右键可以顺时针旋转它",
|
"create.ponder.hand_crank.text_4": "潜行长按右键可以顺时针旋转它",
|
||||||
|
|
||||||
"create.ponder.hose_pulley.header": "UNLOCALIZED: Source Filling and Draining using Hose Pulleys",
|
"create.ponder.hose_pulley.header": "使用软管滑轮抽取或排放流体",
|
||||||
"create.ponder.hose_pulley.text_1": "UNLOCALIZED: Hose Pulleys can be used to fill or drain large bodies of Fluid",
|
"create.ponder.hose_pulley.text_1": "软管滑轮可以用于方便的抽取或填满一个较大区域中的流体",
|
||||||
"create.ponder.hose_pulley.text_2": "UNLOCALIZED: With the Kinetic Input, the height of the pulleys' hose can be controlled",
|
"create.ponder.hose_pulley.text_2": "通过输入动力可以调节软管末端的高度",
|
||||||
"create.ponder.hose_pulley.text_3": "UNLOCALIZED: The Pulley retracts while the input rotation is inverted",
|
"create.ponder.hose_pulley.text_3": "翻转动力输入的方向可以收起软管",
|
||||||
"create.ponder.hose_pulley.text_4": "UNLOCALIZED: On the opposite side, pipes can be connected",
|
"create.ponder.hose_pulley.text_4": "管道可以连接在另一侧",
|
||||||
"create.ponder.hose_pulley.text_5": "UNLOCALIZED: Attached pipe networks can either provide fluid to the hose...",
|
"create.ponder.hose_pulley.text_5": "连接的管道可以将流体输入软管滑轮以在下方放置流体源...",
|
||||||
"create.ponder.hose_pulley.text_6": "UNLOCALIZED: ...or pull from it, draining the pool instead",
|
"create.ponder.hose_pulley.text_6": "...或者提供吸力来抽取世界中的流体",
|
||||||
"create.ponder.hose_pulley.text_7": "UNLOCALIZED: Fill and Drain speed of the pulley depends entirely on the fluid networks' throughput",
|
"create.ponder.hose_pulley.text_7": "软管滑轮的抽取/排放速度取决于连接管道中流体的流速",
|
||||||
|
|
||||||
"create.ponder.hose_pulley_infinite.header": "UNLOCALIZED: Passively Filling and Draining large bodies of Fluid",
|
"create.ponder.hose_pulley_infinite.header": "从大型水体中抽取或向其排放",
|
||||||
"create.ponder.hose_pulley_infinite.text_1": "UNLOCALIZED: When deploying the Hose Pulley into a large enough ocean...",
|
"create.ponder.hose_pulley_infinite.text_1": "当软管被放进足够大的水体中时...",
|
||||||
"create.ponder.hose_pulley_infinite.text_2": "UNLOCALIZED: It will provide/dispose fluids without affecting the source",
|
"create.ponder.hose_pulley_infinite.text_2": "...它在抽取或排放液体时将不会影响流体源",
|
||||||
"create.ponder.hose_pulley_infinite.text_3": "UNLOCALIZED: Pipe networks can limitlessly take fluids from/to such pulleys",
|
"create.ponder.hose_pulley_infinite.text_3": "可以从这些软管滑轮中无限的抽取或向其排放流体",
|
||||||
|
|
||||||
"create.ponder.hose_pulley_level.header": "UNLOCALIZED: Fill and Drain level of Hose Pulleys",
|
"create.ponder.hose_pulley_level.header": "软管滑轮的排水/抽水机制",
|
||||||
"create.ponder.hose_pulley_level.text_1": "UNLOCALIZED: While fully retracted, the Hose Pulley cannot operate",
|
"create.ponder.hose_pulley_level.text_1": "当软管彻底收回时,软管滑轮无法工作。",
|
||||||
"create.ponder.hose_pulley_level.text_2": "UNLOCALIZED: Draining runs from top to bottom",
|
"create.ponder.hose_pulley_level.text_2": "流体会由上至下被抽取",
|
||||||
"create.ponder.hose_pulley_level.text_3": "UNLOCALIZED: The surface level will end up just below where the hose ends",
|
"create.ponder.hose_pulley_level.text_3": "流体表面最终将会被抽取到刚好低于软管开口",
|
||||||
"create.ponder.hose_pulley_level.text_4": "UNLOCALIZED: Filling runs from bottom to top",
|
"create.ponder.hose_pulley_level.text_4": "流体将会由下至上被填充",
|
||||||
"create.ponder.hose_pulley_level.text_5": "UNLOCALIZED: The filled pool will not grow beyond the layer above the hose end",
|
"create.ponder.hose_pulley_level.text_5": "流体最多只能被填充至软管开口所在的高度",
|
||||||
|
|
||||||
"create.ponder.item_drain.header": "UNLOCALIZED: Emptying Fluid Containers using Item Drains",
|
"create.ponder.item_drain.header": "使用分液池提取物品中的流体",
|
||||||
"create.ponder.item_drain.text_1": "UNLOCALIZED: Item Drains can extract fluids from items",
|
"create.ponder.item_drain.text_1": "分液池可以提取容器中的流体",
|
||||||
"create.ponder.item_drain.text_2": "UNLOCALIZED: Right-click it to pour fluids from your held item into it",
|
"create.ponder.item_drain.text_2": "右键点击可以将手持的容器中的流体倒入分液池",
|
||||||
"create.ponder.item_drain.text_3": "UNLOCALIZED: When items are inserted from the side...",
|
"create.ponder.item_drain.text_3": "当物品从侧面输入时...",
|
||||||
"create.ponder.item_drain.text_4": "UNLOCALIZED: ...they roll across, emptying out their contained fluid",
|
"create.ponder.item_drain.text_4": "...物品将会经过分液池顶部,并在过程中将其包含的液体排入分液池",
|
||||||
"create.ponder.item_drain.text_5": "UNLOCALIZED: Pipe Networks can now pull the fluid from the drains' internal buffer",
|
"create.ponder.item_drain.text_5": "流体管到可以从分液池中抽取液体",
|
||||||
|
|
||||||
"create.ponder.large_cogwheel.header": "使用大齿轮传递旋转力",
|
"create.ponder.large_cogwheel.header": "使用大齿轮传递旋转力",
|
||||||
"create.ponder.large_cogwheel.text_1": "大齿轮可以以特定的角度相互连接",
|
"create.ponder.large_cogwheel.text_1": "大齿轮可以以特定的角度相互连接",
|
||||||
|
@ -2040,32 +2039,32 @@
|
||||||
"create.ponder.mechanical_plough.text_3": "此外,动力犁可以耕地",
|
"create.ponder.mechanical_plough.text_3": "此外,动力犁可以耕地",
|
||||||
"create.ponder.mechanical_plough.text_4": "...它也可以在不伤害实体的情况下推动它们",
|
"create.ponder.mechanical_plough.text_4": "...它也可以在不伤害实体的情况下推动它们",
|
||||||
|
|
||||||
"create.ponder.mechanical_press.header": "使用动力辊轧机处理物品",
|
"create.ponder.mechanical_press.header": "使用动力辊压机处理物品",
|
||||||
"create.ponder.mechanical_press.text_1": "动力辊轧机可以处理位于其下方的物品",
|
"create.ponder.mechanical_press.text_1": "动力辊压机可以处理位于其下方的物品",
|
||||||
"create.ponder.mechanical_press.text_2": "在其下方丢入物品,或者将物品放在置物台上,都算作有效的物品输入",
|
"create.ponder.mechanical_press.text_2": "在其下方丢入物品,或者将物品放在置物台上,都算作有效的物品输入",
|
||||||
"create.ponder.mechanical_press.text_3": "若物品被输入时正位于传送带上...",
|
"create.ponder.mechanical_press.text_3": "当传送带上的物品经过辊压机下方时....",
|
||||||
"create.ponder.mechanical_press.text_4": "辊轧机会使物品停下,然后自动处理这一物品",
|
"create.ponder.mechanical_press.text_4": "辊压机会使物品停下,然后自动处理这一物品",
|
||||||
|
|
||||||
"create.ponder.mechanical_press_compacting.header": "使用动力辊轧机压缩物品",
|
"create.ponder.mechanical_press_compacting.header": "使用动力辊压机压缩物品",
|
||||||
"create.ponder.mechanical_press_compacting.text_1": "对放置于工作盆内的物品进行辊轧,可以将这些物品压缩在一起",
|
"create.ponder.mechanical_press_compacting.text_1": "对放置于工作盆内的物品进行辊轧,可以将这些物品压缩在一起",
|
||||||
"create.ponder.mechanical_press_compacting.text_2": "压缩意指任何同种物品填满了 2x2 或者 3x3 网格的配方,以及一些额外的配方",
|
"create.ponder.mechanical_press_compacting.text_2": "压缩意指任何同种物品填满了 2x2 或者 3x3 网格的配方,以及一些额外的配方",
|
||||||
"create.ponder.mechanical_press_compacting.text_3": "一些配方可能需要烈焰人燃烧室提供热量",
|
"create.ponder.mechanical_press_compacting.text_3": "一些配方可能需要烈焰人燃烧室提供热量",
|
||||||
"create.ponder.mechanical_press_compacting.text_4": "过滤槽可用于解决两个配方相互冲突的情况",
|
"create.ponder.mechanical_press_compacting.text_4": "过滤槽可用于解决两个配方相互冲突的情况",
|
||||||
|
|
||||||
"create.ponder.mechanical_pump_flow.header": "UNLOCALIZED: Fluid Transportation using Mechanical Pumps",
|
"create.ponder.mechanical_pump_flow.header": "使用动力泵传输流体",
|
||||||
"create.ponder.mechanical_pump_flow.text_1": "UNLOCALIZED: Mechanical Pumps govern the flow of their attached pipe networks",
|
"create.ponder.mechanical_pump_flow.text_1": "动力泵可以控制管道中的液体流向",
|
||||||
"create.ponder.mechanical_pump_flow.text_2": "UNLOCALIZED: When powered, their arrow indicates the direction of flow",
|
"create.ponder.mechanical_pump_flow.text_2": "当接入动力时,其上的箭头指示液体流向",
|
||||||
"create.ponder.mechanical_pump_flow.text_3": "UNLOCALIZED: The network behind is now pulling fluids...",
|
"create.ponder.mechanical_pump_flow.text_3": "后方的管道中将会产生吸力...",
|
||||||
"create.ponder.mechanical_pump_flow.text_4": "UNLOCALIZED: ...while the network in front is transferring it outward",
|
"create.ponder.mechanical_pump_flow.text_4": "...而液体将被输入前方的管道",
|
||||||
"create.ponder.mechanical_pump_flow.text_5": "UNLOCALIZED: Reversing the input rotation reverses the direction of flow",
|
"create.ponder.mechanical_pump_flow.text_5": "反转动力方向将会改变液体流向",
|
||||||
"create.ponder.mechanical_pump_flow.text_6": "UNLOCALIZED: Use a Wrench to reverse the orientation of pumps manually",
|
"create.ponder.mechanical_pump_flow.text_6": "使用扳手可以手动改变动力泵的朝向",
|
||||||
|
|
||||||
"create.ponder.mechanical_pump_speed.header": "UNLOCALIZED: Throughput of Mechanical Pumps",
|
"create.ponder.mechanical_pump_speed.header": "动力泵的传输机制",
|
||||||
"create.ponder.mechanical_pump_speed.text_1": "UNLOCALIZED: Regardless of speed, Mechanical Pumps affect pipes connected up to 16 blocks away",
|
"create.ponder.mechanical_pump_speed.text_1": "动力泵的压力最多沿管线传递16格,与输入动力无关",
|
||||||
"create.ponder.mechanical_pump_speed.text_2": "UNLOCALIZED: Speeding up the input rotation changes the speed of flow propagation...",
|
"create.ponder.mechanical_pump_speed.text_2": "输入动力将会影响压力改变速度...",
|
||||||
"create.ponder.mechanical_pump_speed.text_3": "UNLOCALIZED: ...aswell as how quickly fluids are transferred",
|
"create.ponder.mechanical_pump_speed.text_3": "...以及流体的传输速度",
|
||||||
"create.ponder.mechanical_pump_speed.text_4": "UNLOCALIZED: Pumps can combine their throughputs within shared pipe networks",
|
"create.ponder.mechanical_pump_speed.text_4": "多个并联动力泵的传输量可以叠加",
|
||||||
"create.ponder.mechanical_pump_speed.text_5": "UNLOCALIZED: Alternating their orientation can help align their flow directions",
|
"create.ponder.mechanical_pump_speed.text_5": "交替摆放动力泵可以方便的控制液体流动",
|
||||||
|
|
||||||
"create.ponder.mechanical_saw_breaker.header": "使用动力锯伐木",
|
"create.ponder.mechanical_saw_breaker.header": "使用动力锯伐木",
|
||||||
"create.ponder.mechanical_saw_breaker.text_1": "向其通入旋转力后,动力锯可以直接砍伐掉它面前的树木",
|
"create.ponder.mechanical_saw_breaker.text_1": "向其通入旋转力后,动力锯可以直接砍伐掉它面前的树木",
|
||||||
|
@ -2078,7 +2077,7 @@
|
||||||
"create.ponder.mechanical_saw_processing.header": "使用动力锯处理物品",
|
"create.ponder.mechanical_saw_processing.header": "使用动力锯处理物品",
|
||||||
"create.ponder.mechanical_saw_processing.text_1": "面向朝上的动力锯可以将物品处理为其变种",
|
"create.ponder.mechanical_saw_processing.text_1": "面向朝上的动力锯可以将物品处理为其变种",
|
||||||
"create.ponder.mechanical_saw_processing.text_2": "处理过后的物品的弹出方向始终与通入锯中的旋转转向相反",
|
"create.ponder.mechanical_saw_processing.text_2": "处理过后的物品的弹出方向始终与通入锯中的旋转转向相反",
|
||||||
"create.ponder.mechanical_saw_processing.text_3": "锯子可以",
|
"create.ponder.mechanical_saw_processing.text_3": "锯子可以配合其两侧的传送带输入输出",
|
||||||
"create.ponder.mechanical_saw_processing.text_4": "若输入原料有多种可能产物,你可以用动力锯上的过滤槽指定只产出某种产物",
|
"create.ponder.mechanical_saw_processing.text_4": "若输入原料有多种可能产物,你可以用动力锯上的过滤槽指定只产出某种产物",
|
||||||
"create.ponder.mechanical_saw_processing.text_5": "若没有使用过滤槽,动力锯会在各产物中按顺序循环输出",
|
"create.ponder.mechanical_saw_processing.text_5": "若没有使用过滤槽,动力锯会在各产物中按顺序循环输出",
|
||||||
|
|
||||||
|
@ -2091,22 +2090,22 @@
|
||||||
|
|
||||||
"create.ponder.nixie_tube.header": "使用辉光管",
|
"create.ponder.nixie_tube.header": "使用辉光管",
|
||||||
"create.ponder.nixie_tube.text_1": "通入红石信号后,辉光管会显示出红石信号的强度",
|
"create.ponder.nixie_tube.text_1": "通入红石信号后,辉光管会显示出红石信号的强度",
|
||||||
"create.ponder.nixie_tube.text_2": "使用命名牌在铁砧上为其命名,可以自定义它的显示文本",
|
"create.ponder.nixie_tube.text_2": "在其上右键使用更改过名称的命名牌,可以自定义它的显示文本",
|
||||||
"create.ponder.nixie_tube.text_3": "UNLOCALIZED: Right-Click with Dye to change their display colour",
|
"create.ponder.nixie_tube.text_3": "使用染料右键以更改辉光管的显示颜色",
|
||||||
|
|
||||||
"create.ponder.piston_pole.header": "活塞延长杆",
|
"create.ponder.piston_pole.header": "活塞延长杆",
|
||||||
"create.ponder.piston_pole.text_1": "若无相接的延长杆,动力活塞无法移动其他方块",
|
"create.ponder.piston_pole.text_1": "若无相接的延长杆,动力活塞无法移动其他方块",
|
||||||
"create.ponder.piston_pole.text_2": "在其背面安装的延长杆长度,决定了活塞的推动范围",
|
"create.ponder.piston_pole.text_2": "在其背面安装的延长杆长度,决定了活塞的推动范围",
|
||||||
|
|
||||||
"create.ponder.portable_fluid_interface.header": "UNLOCALIZED: Contraption Fluid Exchange",
|
"create.ponder.portable_fluid_interface.header": "装置流体交换",
|
||||||
"create.ponder.portable_fluid_interface.text_1": "UNLOCALIZED: Fluid Tanks on moving contraptions cannot be accessed by any pipes",
|
"create.ponder.portable_fluid_interface.text_1": "管道无法与运动装置内的流体储罐直接交互",
|
||||||
"create.ponder.portable_fluid_interface.text_2": "UNLOCALIZED: This component can interact with fluid tanks without the need to stop the contraption",
|
"create.ponder.portable_fluid_interface.text_2": "这一组件可以在不停止装置的情况下与装置内的流体存储进行交互",
|
||||||
"create.ponder.portable_fluid_interface.text_3": "UNLOCALIZED: Place a second one with a gap of 1 or 2 blocks inbetween",
|
"create.ponder.portable_fluid_interface.text_3": "放置第二个接口时,记得要与装置接口相隔 1 格或者 2 格的距离",
|
||||||
"create.ponder.portable_fluid_interface.text_4": "UNLOCALIZED: Whenever they pass by each other, they will engage in a connection",
|
"create.ponder.portable_fluid_interface.text_4": "当它们彼此经过时,它们会连接在一起",
|
||||||
"create.ponder.portable_fluid_interface.text_5": "UNLOCALIZED: While engaged, the stationary interface will represent ALL Tanks on the contraption",
|
"create.ponder.portable_fluid_interface.text_5": "连接状态下,固定侧接口便会作为整个装置的流体存储代理",
|
||||||
"create.ponder.portable_fluid_interface.text_6": "UNLOCALIZED: Fluid can now be inserted...",
|
"create.ponder.portable_fluid_interface.text_6": "流体可被泵入到装置内....",
|
||||||
"create.ponder.portable_fluid_interface.text_7": "UNLOCALIZED: ...or extracted from the contraption",
|
"create.ponder.portable_fluid_interface.text_7": "...或是从装置中抽取出来",
|
||||||
"create.ponder.portable_fluid_interface.text_8": "UNLOCALIZED: After no contents have been exchanged for a while, the contraption will continue on its way",
|
"create.ponder.portable_fluid_interface.text_8": "如果一小段时间内没有流体交换,接口将会断开连接,然后装置重新开始运动",
|
||||||
|
|
||||||
"create.ponder.portable_storage_interface.header": "装置存储交换",
|
"create.ponder.portable_storage_interface.header": "装置存储交换",
|
||||||
"create.ponder.portable_storage_interface.text_1": "玩家无法与运动装置内的存储空间进行交互",
|
"create.ponder.portable_storage_interface.text_1": "玩家无法与运动装置内的存储空间进行交互",
|
||||||
|
@ -2114,9 +2113,9 @@
|
||||||
"create.ponder.portable_storage_interface.text_3": "放置第二个接口时,记得要与装置接口相隔 1 格或者 2 格的距离",
|
"create.ponder.portable_storage_interface.text_3": "放置第二个接口时,记得要与装置接口相隔 1 格或者 2 格的距离",
|
||||||
"create.ponder.portable_storage_interface.text_4": "当它们彼此经过时,它们会连接在一起",
|
"create.ponder.portable_storage_interface.text_4": "当它们彼此经过时,它们会连接在一起",
|
||||||
"create.ponder.portable_storage_interface.text_5": "连接状态下,固定侧接口便会作为整个装置的存储空间代理",
|
"create.ponder.portable_storage_interface.text_5": "连接状态下,固定侧接口便会作为整个装置的存储空间代理",
|
||||||
"create.ponder.portable_storage_interface.text_6": "物品会被输入到装置内...",
|
"create.ponder.portable_storage_interface.text_6": "物品可被输入到装置内...",
|
||||||
"create.ponder.portable_storage_interface.text_7": "...或是从装置中提取出来",
|
"create.ponder.portable_storage_interface.text_7": "...或是从装置中提取出来",
|
||||||
"create.ponder.portable_storage_interface.text_8": "物品交换完毕后,装置仍然会停留在原地一小会,然后才会继续前行",
|
"create.ponder.portable_storage_interface.text_8": "如果一小段时间内没有物品交换,接口将会断开连接,然后装置重新开始运动",
|
||||||
|
|
||||||
"create.ponder.portable_storage_interface_redstone.header": "红石控制",
|
"create.ponder.portable_storage_interface_redstone.header": "红石控制",
|
||||||
"create.ponder.portable_storage_interface_redstone.text_1": "通入红石信号可以阻止固定侧接口的连接行为",
|
"create.ponder.portable_storage_interface_redstone.text_1": "通入红石信号可以阻止固定侧接口的连接行为",
|
||||||
|
@ -2205,24 +2204,24 @@
|
||||||
"create.ponder.smart_chute.text_3": "使用鼠标滚轮可以指定被过滤的物品数量",
|
"create.ponder.smart_chute.text_3": "使用鼠标滚轮可以指定被过滤的物品数量",
|
||||||
"create.ponder.smart_chute.text_4": "通入红石信号,智能溜槽将会完全暂停工作",
|
"create.ponder.smart_chute.text_4": "通入红石信号,智能溜槽将会完全暂停工作",
|
||||||
|
|
||||||
"create.ponder.smart_pipe.header": "UNLOCALIZED: Controlling Fluid flow using Smart Pipes",
|
"create.ponder.smart_pipe.header": "使用智能流体管道控制液体流动",
|
||||||
"create.ponder.smart_pipe.text_1": "UNLOCALIZED: Smart pipes can help control flows by fluid type",
|
"create.ponder.smart_pipe.text_1": "智能流体管道可以限制通过它的流体种类",
|
||||||
"create.ponder.smart_pipe.text_2": "UNLOCALIZED: When placed directly at the source, they can specify the type of fluid to extract",
|
"create.ponder.smart_pipe.text_2": "当紧邻流体源放置时,管道只会抽取设置的流体种类",
|
||||||
"create.ponder.smart_pipe.text_3": "UNLOCALIZED: Simply Right-Click their filter slot with any item containing the desired fluid",
|
"create.ponder.smart_pipe.text_3": "使用任何包含流体的容器右键过滤槽来标记过滤的流体",
|
||||||
"create.ponder.smart_pipe.text_4": "UNLOCALIZED: When placed further down a pipe network, smart pipes will only let matching fluids continue",
|
"create.ponder.smart_pipe.text_4": "当放在管线中时,只有匹配过滤器的流体才能流入它后方的管道",
|
||||||
|
|
||||||
"create.ponder.speedometer.header": "使用速度表来监测转速",
|
"create.ponder.speedometer.header": "使用速度表来监测转速",
|
||||||
"create.ponder.speedometer.text_1": "速度表能显示相接组件的转速",
|
"create.ponder.speedometer.text_1": "速度表能显示相接组件的转速",
|
||||||
"create.ponder.speedometer.text_2": "当佩戴工程师护目镜时,可以看到仪表所显示的更详细的数据",
|
"create.ponder.speedometer.text_2": "当佩戴工程师护目镜时,可以看到仪表所显示的更详细的数据",
|
||||||
"create.ponder.speedometer.text_3": "红石比较器可以根据速度表的数值输出不同强弱的红石信号",
|
"create.ponder.speedometer.text_3": "红石比较器可以根据速度表的数值输出不同强弱的红石信号",
|
||||||
|
|
||||||
"create.ponder.spout_filling.header": "UNLOCALIZED: Filling Items using a Spout",
|
"create.ponder.spout_filling.header": "使用注液器填充物品",
|
||||||
"create.ponder.spout_filling.text_1": "UNLOCALIZED: The Spout can fill fluid holding items provided beneath it",
|
"create.ponder.spout_filling.text_1": "注液器可以将流体装入下方经过的,可以接受该流体的物品",
|
||||||
"create.ponder.spout_filling.text_2": "UNLOCALIZED: The content of a Spout cannot be accessed manually",
|
"create.ponder.spout_filling.text_2": "注液器的流体存储无法直接手动交互",
|
||||||
"create.ponder.spout_filling.text_3": "UNLOCALIZED: Instead, Pipes can be used to supply it with fluids",
|
"create.ponder.spout_filling.text_3": "使用管线可以将流体输入注液器",
|
||||||
"create.ponder.spout_filling.text_4": "UNLOCALIZED: The Input items can be placed on a Depot under the Spout",
|
"create.ponder.spout_filling.text_4": "要被处理的物品可以被放置在其下方的置物台上",
|
||||||
"create.ponder.spout_filling.text_5": "UNLOCALIZED: When items are provided on a belt...",
|
"create.ponder.spout_filling.text_5": "当传送带上的物品经过注液器下方时...",
|
||||||
"create.ponder.spout_filling.text_6": "UNLOCALIZED: The Spout will hold and process them automatically",
|
"create.ponder.spout_filling.text_6": "注液器会使物品停下,然后自动处理这一物品",
|
||||||
|
|
||||||
"create.ponder.stabilized_bearings.header": "装置固定朝向",
|
"create.ponder.stabilized_bearings.header": "装置固定朝向",
|
||||||
"create.ponder.stabilized_bearings.text_1": "当动力轴承在结构被带动时...",
|
"create.ponder.stabilized_bearings.text_1": "当动力轴承在结构被带动时...",
|
||||||
|
@ -2255,11 +2254,11 @@
|
||||||
"create.ponder.valve_handle.text_4": "潜行右击可使它顺时针旋转",
|
"create.ponder.valve_handle.text_4": "潜行右击可使它顺时针旋转",
|
||||||
"create.ponder.valve_handle.text_5": "可以通过染色来美化阀门手轮",
|
"create.ponder.valve_handle.text_5": "可以通过染色来美化阀门手轮",
|
||||||
|
|
||||||
"create.ponder.valve_pipe.header": "UNLOCALIZED: Controlling Fluid flow using Valves",
|
"create.ponder.valve_pipe.header": "使用阀门管道控制液体流",
|
||||||
"create.ponder.valve_pipe.text_1": "UNLOCALIZED: Valve pipes help control fluids propagating through pipe networks",
|
"create.ponder.valve_pipe.text_1": "阀门管道可以控制管道网中液体的去处",
|
||||||
"create.ponder.valve_pipe.text_2": "UNLOCALIZED: Their shaft input controls whether fluid is currently allowed through",
|
"create.ponder.valve_pipe.text_2": "通过其上的传动杆输入动力可以控制它的开关",
|
||||||
"create.ponder.valve_pipe.text_3": "UNLOCALIZED: Given Rotational Force in the opening direction, the valve will open up",
|
"create.ponder.valve_pipe.text_3": "提供旋转向‘打开’方向的力会打开阀门,使得流体可以通过",
|
||||||
"create.ponder.valve_pipe.text_4": "UNLOCALIZED: It can be closed again by reversing the input rotation",
|
"create.ponder.valve_pipe.text_4": "提供另一方向的旋转力可以关闭阀门,阻止流体通过",
|
||||||
|
|
||||||
"create.ponder.water_wheel.header": "使用水车产生旋转力",
|
"create.ponder.water_wheel.header": "使用水车产生旋转力",
|
||||||
"create.ponder.water_wheel.text_1": "水车利用临近的水流来进行应力发生",
|
"create.ponder.water_wheel.text_1": "水车利用临近的水流来进行应力发生",
|
||||||
|
|
|
@ -442,7 +442,6 @@
|
||||||
"entity.create.stationary_contraption": "固定結構",
|
"entity.create.stationary_contraption": "固定結構",
|
||||||
"entity.create.super_glue": "強力膠",
|
"entity.create.super_glue": "強力膠",
|
||||||
|
|
||||||
"fluid.create.milk": "牛奶",
|
|
||||||
"fluid.create.potion": "藥水",
|
"fluid.create.potion": "藥水",
|
||||||
"fluid.create.tea": "茶",
|
"fluid.create.tea": "茶",
|
||||||
|
|
||||||
|
@ -468,7 +467,7 @@
|
||||||
"item.create.copper_sheet": "銅板",
|
"item.create.copper_sheet": "銅板",
|
||||||
"item.create.crafter_slot_cover": "合成器蓋板",
|
"item.create.crafter_slot_cover": "合成器蓋板",
|
||||||
"item.create.crafting_blueprint": "合成藍圖",
|
"item.create.crafting_blueprint": "合成藍圖",
|
||||||
"item.create.creative_cake": "UNLOCALIZED: Creative Cake",
|
"item.create.creative_blaze_cake": "UNLOCALIZED: Creative Blaze Cake",
|
||||||
"item.create.crushed_aluminum_ore": "碎狀鋁礦石",
|
"item.create.crushed_aluminum_ore": "碎狀鋁礦石",
|
||||||
"item.create.crushed_brass": "碎狀黃銅",
|
"item.create.crushed_brass": "碎狀黃銅",
|
||||||
"item.create.crushed_copper_ore": "碎狀銅礦石",
|
"item.create.crushed_copper_ore": "碎狀銅礦石",
|
||||||
|
@ -1413,10 +1412,10 @@
|
||||||
"block.create.creative_crate.tooltip.condition1": "當標記了物品時",
|
"block.create.creative_crate.tooltip.condition1": "當標記了物品時",
|
||||||
"block.create.creative_crate.tooltip.behaviour1": "容器將會從虛空中提供_無限量_的標記物品,並且任何放置到容器中的物品都會被_送入虛空_",
|
"block.create.creative_crate.tooltip.behaviour1": "容器將會從虛空中提供_無限量_的標記物品,並且任何放置到容器中的物品都會被_送入虛空_",
|
||||||
|
|
||||||
"item.create.creative_cake.tooltip": "UNLOCALIZED: CREATIVE CAKE",
|
"item.create.creative_blaze_cake.tooltip": "UNLOCALIZED: CREATIVE CAKE",
|
||||||
"item.create.creative_cake.tooltip.summary": "UNLOCALIZED: A very special treat for _Blaze Burners_ that allows _controlling their heat level_. After eating this cake, Blaze Burners will _never run out of fuel_.",
|
"item.create.creative_blaze_cake.tooltip.summary": "UNLOCALIZED: A very special treat for _Blaze Burners_ that allows _controlling their heat level_. After eating this cake, Blaze Burners will _never run out of fuel_.",
|
||||||
"item.create.creative_cake.tooltip.condition1": "UNLOCALIZED: R-Click on Blaze Burner",
|
"item.create.creative_blaze_cake.tooltip.condition1": "UNLOCALIZED: R-Click on Blaze Burner",
|
||||||
"item.create.creative_cake.tooltip.behaviour1": "UNLOCALIZED: _Locks_ the Blaze Burner's heat level. If used again, _cycles_ the Blaze Burner's heat level.",
|
"item.create.creative_blaze_cake.tooltip.behaviour1": "UNLOCALIZED: _Locks_ the Blaze Burner's heat level. If used again, _cycles_ the Blaze Burner's heat level.",
|
||||||
|
|
||||||
"block.create.controller_rail.tooltip": "控制鐵軌",
|
"block.create.controller_rail.tooltip": "控制鐵軌",
|
||||||
"block.create.controller_rail.tooltip.summary": "單向電動導軌,能夠精細控制礦車的移動速度。",
|
"block.create.controller_rail.tooltip.summary": "單向電動導軌,能夠精細控制礦車的移動速度。",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"parent": "minecraft:item/generated",
|
"parent": "minecraft:item/generated",
|
||||||
"textures": {
|
"textures": {
|
||||||
"layer0": "create:item/creative_cake"
|
"layer0": "create:item/creative_blaze_cake"
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,17 +0,0 @@
|
||||||
{
|
|
||||||
"type": "create:emptying",
|
|
||||||
"ingredients": [
|
|
||||||
{
|
|
||||||
"item": "minecraft:milk_bucket"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"results": [
|
|
||||||
{
|
|
||||||
"item": "minecraft:bucket"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fluid": "create:milk",
|
|
||||||
"amount": 1000
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
|
@ -1,17 +0,0 @@
|
||||||
{
|
|
||||||
"type": "create:filling",
|
|
||||||
"ingredients": [
|
|
||||||
{
|
|
||||||
"item": "minecraft:bucket"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fluidTag": "forge:milk",
|
|
||||||
"amount": 1000
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"results": [
|
|
||||||
{
|
|
||||||
"item": "minecraft:milk_bucket"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
|
@ -3,7 +3,7 @@
|
||||||
"values": [
|
"values": [
|
||||||
"create:blaze_cake_base",
|
"create:blaze_cake_base",
|
||||||
"create:blaze_cake",
|
"create:blaze_cake",
|
||||||
"create:creative_cake",
|
"create:creative_blaze_cake",
|
||||||
"create:builders_tea",
|
"create:builders_tea",
|
||||||
"minecraft:glass_bottle",
|
"minecraft:glass_bottle",
|
||||||
"minecraft:potion",
|
"minecraft:potion",
|
||||||
|
|
|
@ -1,7 +0,0 @@
|
||||||
{
|
|
||||||
"replace": false,
|
|
||||||
"values": [
|
|
||||||
"create:flowing_milk",
|
|
||||||
"create:milk"
|
|
||||||
]
|
|
||||||
}
|
|
|
@ -19,9 +19,14 @@ import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.world.IBlockDisplayReader;
|
import net.minecraft.world.IBlockDisplayReader;
|
||||||
import net.minecraftforge.api.distmarker.Dist;
|
import net.minecraftforge.api.distmarker.Dist;
|
||||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||||
import net.minecraftforge.common.Tags;
|
import net.minecraftforge.common.ForgeMod;
|
||||||
|
import net.minecraftforge.event.RegistryEvent;
|
||||||
|
import net.minecraftforge.event.RegistryEvent.MissingMappings.Mapping;
|
||||||
|
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||||
import net.minecraftforge.fluids.FluidAttributes;
|
import net.minecraftforge.fluids.FluidAttributes;
|
||||||
import net.minecraftforge.fluids.ForgeFlowingFluid;
|
import net.minecraftforge.fluids.ForgeFlowingFluid;
|
||||||
|
import net.minecraftforge.fml.common.Mod.EventBusSubscriber;
|
||||||
|
import net.minecraftforge.fml.common.Mod.EventBusSubscriber.Bus;
|
||||||
|
|
||||||
public class AllFluids {
|
public class AllFluids {
|
||||||
|
|
||||||
|
@ -37,11 +42,6 @@ public class AllFluids {
|
||||||
.tag(AllTags.forgeFluidTag("tea"))
|
.tag(AllTags.forgeFluidTag("tea"))
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final FluidEntry<VirtualFluid> MILK = REGISTRATE.virtualFluid("milk")
|
|
||||||
.lang(f -> "fluid.create.milk", "Milk")
|
|
||||||
.tag(Tags.Fluids.MILK)
|
|
||||||
.register();
|
|
||||||
|
|
||||||
public static final FluidEntry<ForgeFlowingFluid.Flowing> HONEY =
|
public static final FluidEntry<ForgeFlowingFluid.Flowing> HONEY =
|
||||||
REGISTRATE.standardFluid("honey", NoColorFluidAttributes::new)
|
REGISTRATE.standardFluid("honey", NoColorFluidAttributes::new)
|
||||||
.lang(f -> "fluid.create.honey", "Honey")
|
.lang(f -> "fluid.create.honey", "Honey")
|
||||||
|
@ -116,5 +116,5 @@ public class AllFluids {
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -108,7 +108,7 @@ public class AllItems {
|
||||||
.onRegister(i -> i.setBurnTime(6400))
|
.onRegister(i -> i.setBurnTime(6400))
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final ItemEntry<CombustibleItem> CREATIVE_CAKE = REGISTRATE.item("creative_cake", CombustibleItem::new)
|
public static final ItemEntry<CombustibleItem> CREATIVE_BLAZE_CAKE = REGISTRATE.item("creative_blaze_cake", CombustibleItem::new)
|
||||||
.properties(p -> p.rarity(Rarity.EPIC))
|
.properties(p -> p.rarity(Rarity.EPIC))
|
||||||
.tag(AllItemTags.UPRIGHT_ON_BELT.tag)
|
.tag(AllItemTags.UPRIGHT_ON_BELT.tag)
|
||||||
.onRegister(i -> i.setBurnTime(Integer.MAX_VALUE))
|
.onRegister(i -> i.setBurnTime(Integer.MAX_VALUE))
|
||||||
|
|
|
@ -21,6 +21,7 @@ import com.simibubi.create.content.contraptions.processing.ProcessingRecipeBuild
|
||||||
import com.simibubi.create.content.contraptions.processing.ProcessingRecipeSerializer;
|
import com.simibubi.create.content.contraptions.processing.ProcessingRecipeSerializer;
|
||||||
import com.simibubi.create.content.curiosities.tools.SandPaperPolishingRecipe;
|
import com.simibubi.create.content.curiosities.tools.SandPaperPolishingRecipe;
|
||||||
import com.simibubi.create.foundation.utility.Lang;
|
import com.simibubi.create.foundation.utility.Lang;
|
||||||
|
import com.simibubi.create.foundation.utility.recipe.IRecipeTypeInfo;
|
||||||
|
|
||||||
import net.minecraft.inventory.IInventory;
|
import net.minecraft.inventory.IInventory;
|
||||||
import net.minecraft.item.crafting.IRecipe;
|
import net.minecraft.item.crafting.IRecipe;
|
||||||
|
@ -32,7 +33,7 @@ import net.minecraft.util.registry.Registry;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraftforge.event.RegistryEvent;
|
import net.minecraftforge.event.RegistryEvent;
|
||||||
|
|
||||||
public enum AllRecipeTypes {
|
public enum AllRecipeTypes implements IRecipeTypeInfo {
|
||||||
|
|
||||||
MECHANICAL_CRAFTING(MechanicalCraftingRecipe.Serializer::new),
|
MECHANICAL_CRAFTING(MechanicalCraftingRecipe.Serializer::new),
|
||||||
CONVERSION(ConversionRecipe::new),
|
CONVERSION(ConversionRecipe::new),
|
||||||
|
@ -78,16 +79,19 @@ public enum AllRecipeTypes {
|
||||||
this(processingSerializer(processingFactory));
|
this(processingSerializer(processingFactory));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ResourceLocation getId() {
|
public ResourceLocation getId() {
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
|
@Override
|
||||||
public <T extends IRecipeSerializer<?>> T getSerializer() {
|
public <T extends IRecipeSerializer<?>> T getSerializer() {
|
||||||
return (T) serializer;
|
return (T) serializer;
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
|
@Override
|
||||||
public <T extends IRecipeType<?>> T getType() {
|
public <T extends IRecipeType<?>> T getType() {
|
||||||
return (T) type;
|
return (T) type;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.simibubi.create;
|
package com.simibubi.create;
|
||||||
|
|
||||||
|
import com.simibubi.create.content.contraptions.base.CutoutRotatingInstance;
|
||||||
import com.simibubi.create.content.contraptions.base.HalfShaftInstance;
|
import com.simibubi.create.content.contraptions.base.HalfShaftInstance;
|
||||||
import com.simibubi.create.content.contraptions.base.HorizontalHalfShaftInstance;
|
import com.simibubi.create.content.contraptions.base.HorizontalHalfShaftInstance;
|
||||||
import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer;
|
import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer;
|
||||||
|
@ -489,7 +490,7 @@ public class AllTileEntities {
|
||||||
|
|
||||||
public static final TileEntityEntry<CrushingWheelTileEntity> CRUSHING_WHEEL = Create.registrate()
|
public static final TileEntityEntry<CrushingWheelTileEntity> CRUSHING_WHEEL = Create.registrate()
|
||||||
.tileEntity("crushing_wheel", CrushingWheelTileEntity::new)
|
.tileEntity("crushing_wheel", CrushingWheelTileEntity::new)
|
||||||
.instance(() -> SingleRotatingInstance::new)
|
.instance(() -> CutoutRotatingInstance::new)
|
||||||
.validBlocks(AllBlocks.CRUSHING_WHEEL)
|
.validBlocks(AllBlocks.CRUSHING_WHEEL)
|
||||||
.renderer(() -> KineticTileEntityRenderer::new)
|
.renderer(() -> KineticTileEntityRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
@ -503,7 +504,7 @@ public class AllTileEntities {
|
||||||
|
|
||||||
public static final TileEntityEntry<WaterWheelTileEntity> WATER_WHEEL = Create.registrate()
|
public static final TileEntityEntry<WaterWheelTileEntity> WATER_WHEEL = Create.registrate()
|
||||||
.tileEntity("water_wheel", WaterWheelTileEntity::new)
|
.tileEntity("water_wheel", WaterWheelTileEntity::new)
|
||||||
.instance(() -> SingleRotatingInstance::new)
|
.instance(() -> CutoutRotatingInstance::new)
|
||||||
.validBlocks(AllBlocks.WATER_WHEEL)
|
.validBlocks(AllBlocks.WATER_WHEEL)
|
||||||
.renderer(() -> KineticTileEntityRenderer::new)
|
.renderer(() -> KineticTileEntityRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
|
@ -41,6 +41,7 @@ import net.minecraft.util.SoundEvent;
|
||||||
import net.minecraft.world.gen.feature.Feature;
|
import net.minecraft.world.gen.feature.Feature;
|
||||||
import net.minecraft.world.gen.placement.Placement;
|
import net.minecraft.world.gen.placement.Placement;
|
||||||
import net.minecraftforge.api.distmarker.Dist;
|
import net.minecraftforge.api.distmarker.Dist;
|
||||||
|
import net.minecraftforge.common.ForgeMod;
|
||||||
import net.minecraftforge.common.MinecraftForge;
|
import net.minecraftforge.common.MinecraftForge;
|
||||||
import net.minecraftforge.event.world.BiomeLoadingEvent;
|
import net.minecraftforge.event.world.BiomeLoadingEvent;
|
||||||
import net.minecraftforge.eventbus.api.EventPriority;
|
import net.minecraftforge.eventbus.api.EventPriority;
|
||||||
|
@ -108,6 +109,8 @@ public class Create {
|
||||||
|
|
||||||
DistExecutor.unsafeRunWhenOn(Dist.CLIENT,
|
DistExecutor.unsafeRunWhenOn(Dist.CLIENT,
|
||||||
() -> () -> CreateClient.addClientListeners(forgeEventBus, modEventBus));
|
() -> () -> CreateClient.addClientListeners(forgeEventBus, modEventBus));
|
||||||
|
|
||||||
|
ForgeMod.enableMilkFluid();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void init(final FMLCommonSetupEvent event) {
|
public static void init(final FMLCommonSetupEvent event) {
|
||||||
|
|
|
@ -51,6 +51,7 @@ import com.simibubi.create.content.schematics.block.SchematicannonScreen;
|
||||||
import com.simibubi.create.foundation.config.AllConfigs;
|
import com.simibubi.create.foundation.config.AllConfigs;
|
||||||
import com.simibubi.create.foundation.config.CRecipes;
|
import com.simibubi.create.foundation.config.CRecipes;
|
||||||
import com.simibubi.create.foundation.config.ConfigBase.ConfigBool;
|
import com.simibubi.create.foundation.config.ConfigBase.ConfigBool;
|
||||||
|
import com.simibubi.create.foundation.utility.recipe.IRecipeTypeInfo;
|
||||||
|
|
||||||
import mezz.jei.api.IModPlugin;
|
import mezz.jei.api.IModPlugin;
|
||||||
import mezz.jei.api.JeiPlugin;
|
import mezz.jei.api.JeiPlugin;
|
||||||
|
@ -79,12 +80,6 @@ public class CreateJEI implements IModPlugin {
|
||||||
|
|
||||||
private static final ResourceLocation ID = new ResourceLocation(Create.ID, "jei_plugin");
|
private static final ResourceLocation ID = new ResourceLocation(Create.ID, "jei_plugin");
|
||||||
|
|
||||||
@Override
|
|
||||||
@Nonnull
|
|
||||||
public ResourceLocation getPluginUid() {
|
|
||||||
return ID;
|
|
||||||
}
|
|
||||||
|
|
||||||
public IIngredientManager ingredientManager;
|
public IIngredientManager ingredientManager;
|
||||||
private final List<CreateRecipeCategory<?>> allCategories = new ArrayList<>();
|
private final List<CreateRecipeCategory<?>> allCategories = new ArrayList<>();
|
||||||
private final CreateRecipeCategory<?>
|
private final CreateRecipeCategory<?>
|
||||||
|
@ -221,6 +216,12 @@ public class CreateJEI implements IModPlugin {
|
||||||
return new CategoryBuilder<T>(name, supplier);
|
return new CategoryBuilder<T>(name, supplier);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Nonnull
|
||||||
|
public ResourceLocation getPluginUid() {
|
||||||
|
return ID;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void registerRecipeTransferHandlers(IRecipeTransferRegistration registration) {
|
public void registerRecipeTransferHandlers(IRecipeTransferRegistration registration) {
|
||||||
registration.addRecipeTransferHandler(new BlueprintTransferHandler(), VanillaRecipeCategoryUid.CRAFTING);
|
registration.addRecipeTransferHandler(new BlueprintTransferHandler(), VanillaRecipeCategoryUid.CRAFTING);
|
||||||
|
@ -269,7 +270,7 @@ public class CreateJEI implements IModPlugin {
|
||||||
pred = Predicates.alwaysTrue();
|
pred = Predicates.alwaysTrue();
|
||||||
}
|
}
|
||||||
|
|
||||||
public CategoryBuilder<T> recipes(AllRecipeTypes recipeTypeEntry) {
|
public CategoryBuilder<T> recipes(IRecipeTypeInfo recipeTypeEntry) {
|
||||||
return recipes(recipeTypeEntry::getType);
|
return recipes(recipeTypeEntry::getType);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,6 @@ import com.simibubi.create.AllBlockPartials;
|
||||||
import com.simibubi.create.AllBlocks;
|
import com.simibubi.create.AllBlocks;
|
||||||
import com.simibubi.create.compat.jei.category.animations.AnimatedKinetics;
|
import com.simibubi.create.compat.jei.category.animations.AnimatedKinetics;
|
||||||
import com.simibubi.create.foundation.gui.AllGuiTextures;
|
import com.simibubi.create.foundation.gui.AllGuiTextures;
|
||||||
import com.simibubi.create.foundation.gui.GuiGameElement;
|
|
||||||
import com.simibubi.create.foundation.utility.Lang;
|
import com.simibubi.create.foundation.utility.Lang;
|
||||||
|
|
||||||
import mezz.jei.api.constants.VanillaTypes;
|
import mezz.jei.api.constants.VanillaTypes;
|
||||||
|
@ -75,17 +74,15 @@ public abstract class ProcessingViaFanCategory<T extends IRecipe<?>> extends Cre
|
||||||
matrixStack.mulPose(Vector3f.YP.rotationDegrees(22.5f));
|
matrixStack.mulPose(Vector3f.YP.rotationDegrees(22.5f));
|
||||||
int scale = 24;
|
int scale = 24;
|
||||||
|
|
||||||
GuiGameElement.of(AllBlockPartials.ENCASED_FAN_INNER)
|
AnimatedKinetics.defaultBlockElement(AllBlockPartials.ENCASED_FAN_INNER)
|
||||||
.rotateBlock(180, 0, AnimatedKinetics.getCurrentAngle() * 16)
|
.rotateBlock(180, 0, AnimatedKinetics.getCurrentAngle() * 16)
|
||||||
.scale(scale)
|
.scale(scale)
|
||||||
.lighting(AnimatedKinetics.DEFAULT_LIGHTING)
|
|
||||||
.render(matrixStack);
|
.render(matrixStack);
|
||||||
|
|
||||||
GuiGameElement.of(AllBlocks.ENCASED_FAN.getDefaultState())
|
AnimatedKinetics.defaultBlockElement(AllBlocks.ENCASED_FAN.getDefaultState())
|
||||||
.rotateBlock(0, 180, 0)
|
.rotateBlock(0, 180, 0)
|
||||||
.atLocal(0, 0, 0)
|
.atLocal(0, 0, 0)
|
||||||
.scale(scale)
|
.scale(scale)
|
||||||
.lighting(AnimatedKinetics.DEFAULT_LIGHTING)
|
|
||||||
.render(matrixStack);
|
.render(matrixStack);
|
||||||
|
|
||||||
renderAttachedBlock(matrixStack);
|
renderAttachedBlock(matrixStack);
|
||||||
|
|
|
@ -26,14 +26,14 @@ public class AnimatedBlazeBurner extends AnimatedKinetics {
|
||||||
matrixStack.mulPose(Vector3f.YP.rotationDegrees(22.5f));
|
matrixStack.mulPose(Vector3f.YP.rotationDegrees(22.5f));
|
||||||
int scale = 23;
|
int scale = 23;
|
||||||
|
|
||||||
defaultBlockElement(AllBlocks.BLAZE_BURNER.getDefaultState())
|
blockElement(AllBlocks.BLAZE_BURNER.getDefaultState())
|
||||||
.atLocal(0, 1.65, 0)
|
.atLocal(0, 1.65, 0)
|
||||||
.scale(scale)
|
.scale(scale)
|
||||||
.render(matrixStack);
|
.render(matrixStack);
|
||||||
|
|
||||||
float offset = (MathHelper.sin(AnimationTickHolder.getRenderTime() / 16f) + 0.5f) / 16f;
|
float offset = (MathHelper.sin(AnimationTickHolder.getRenderTime() / 16f) + 0.5f) / 16f;
|
||||||
PartialModel blaze = AllBlockPartials.BLAZES.get(heatLevel);
|
PartialModel blaze = AllBlockPartials.BLAZES.get(heatLevel);
|
||||||
defaultBlockElement(blaze)
|
blockElement(blaze)
|
||||||
.atLocal(1, 1.65 + offset, 1)
|
.atLocal(1, 1.65 + offset, 1)
|
||||||
.rotate(0, 180, 0)
|
.rotate(0, 180, 0)
|
||||||
.scale(scale)
|
.scale(scale)
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
package com.simibubi.create.compat.jei.category.animations;
|
package com.simibubi.create.compat.jei.category.animations;
|
||||||
|
|
||||||
|
import com.jozufozu.flywheel.util.transform.MatrixTransformStack;
|
||||||
import com.mojang.blaze3d.matrix.MatrixStack;
|
import com.mojang.blaze3d.matrix.MatrixStack;
|
||||||
import com.simibubi.create.AllBlocks;
|
import com.simibubi.create.AllBlocks;
|
||||||
import com.simibubi.create.foundation.gui.AllGuiTextures;
|
import com.simibubi.create.foundation.gui.AllGuiTextures;
|
||||||
import com.simibubi.create.foundation.utility.MatrixStacker;
|
|
||||||
|
|
||||||
public class AnimatedCrafter extends AnimatedKinetics {
|
public class AnimatedCrafter extends AnimatedKinetics {
|
||||||
|
|
||||||
|
@ -14,17 +14,17 @@ public class AnimatedCrafter extends AnimatedKinetics {
|
||||||
AllGuiTextures.JEI_SHADOW.draw(matrixStack, -16, 13);
|
AllGuiTextures.JEI_SHADOW.draw(matrixStack, -16, 13);
|
||||||
|
|
||||||
matrixStack.translate(3, 16, 0);
|
matrixStack.translate(3, 16, 0);
|
||||||
MatrixStacker.of(matrixStack)
|
MatrixTransformStack.of(matrixStack)
|
||||||
.rotateX(-12.5f)
|
.rotateX(-12.5f)
|
||||||
.rotateY(-22.5f);
|
.rotateY(-22.5f);
|
||||||
int scale = 22;
|
int scale = 22;
|
||||||
|
|
||||||
defaultBlockElement(cogwheel())
|
blockElement(cogwheel())
|
||||||
.rotateBlock(90, 0, getCurrentAngle())
|
.rotateBlock(90, 0, getCurrentAngle())
|
||||||
.scale(scale)
|
.scale(scale)
|
||||||
.render(matrixStack);
|
.render(matrixStack);
|
||||||
|
|
||||||
defaultBlockElement(AllBlocks.MECHANICAL_CRAFTER.getDefaultState())
|
blockElement(AllBlocks.MECHANICAL_CRAFTER.getDefaultState())
|
||||||
.rotateBlock(0, 180, 0)
|
.rotateBlock(0, 180, 0)
|
||||||
.scale(scale)
|
.scale(scale)
|
||||||
.render(matrixStack);
|
.render(matrixStack);
|
||||||
|
|
|
@ -20,12 +20,12 @@ public class AnimatedCrushingWheels extends AnimatedKinetics {
|
||||||
matrixStack.mulPose(Vector3f.YP.rotationDegrees(-22.5f));
|
matrixStack.mulPose(Vector3f.YP.rotationDegrees(-22.5f));
|
||||||
int scale = 22;
|
int scale = 22;
|
||||||
|
|
||||||
defaultBlockElement(wheel)
|
blockElement(wheel)
|
||||||
.rotateBlock(0, 90, -getCurrentAngle())
|
.rotateBlock(0, 90, -getCurrentAngle())
|
||||||
.scale(scale)
|
.scale(scale)
|
||||||
.render(matrixStack);
|
.render(matrixStack);
|
||||||
|
|
||||||
defaultBlockElement(wheel)
|
blockElement(wheel)
|
||||||
.rotateBlock(0, 90, getCurrentAngle())
|
.rotateBlock(0, 90, getCurrentAngle())
|
||||||
.atLocal(2, 0, 0)
|
.atLocal(2, 0, 0)
|
||||||
.scale(scale)
|
.scale(scale)
|
||||||
|
|
|
@ -20,12 +20,12 @@ public class AnimatedDeployer extends AnimatedKinetics {
|
||||||
matrixStack.mulPose(Vector3f.YP.rotationDegrees(22.5f));
|
matrixStack.mulPose(Vector3f.YP.rotationDegrees(22.5f));
|
||||||
int scale = 20;
|
int scale = 20;
|
||||||
|
|
||||||
defaultBlockElement(shaft(Axis.Z))
|
blockElement(shaft(Axis.Z))
|
||||||
.rotateBlock(0, 0, getCurrentAngle())
|
.rotateBlock(0, 0, getCurrentAngle())
|
||||||
.scale(scale)
|
.scale(scale)
|
||||||
.render(matrixStack);
|
.render(matrixStack);
|
||||||
|
|
||||||
defaultBlockElement(AllBlocks.DEPLOYER.getDefaultState()
|
blockElement(AllBlocks.DEPLOYER.getDefaultState()
|
||||||
.setValue(DeployerBlock.FACING, Direction.DOWN)
|
.setValue(DeployerBlock.FACING, Direction.DOWN)
|
||||||
.setValue(DeployerBlock.AXIS_ALONG_FIRST_COORDINATE, false))
|
.setValue(DeployerBlock.AXIS_ALONG_FIRST_COORDINATE, false))
|
||||||
.scale(scale)
|
.scale(scale)
|
||||||
|
@ -37,18 +37,18 @@ public class AnimatedDeployer extends AnimatedKinetics {
|
||||||
matrixStack.pushPose();
|
matrixStack.pushPose();
|
||||||
|
|
||||||
matrixStack.translate(0, offset * 17, 0);
|
matrixStack.translate(0, offset * 17, 0);
|
||||||
defaultBlockElement(AllBlockPartials.DEPLOYER_POLE)
|
blockElement(AllBlockPartials.DEPLOYER_POLE)
|
||||||
.rotateBlock(90, 0, 0)
|
.rotateBlock(90, 0, 0)
|
||||||
.scale(scale)
|
.scale(scale)
|
||||||
.render(matrixStack);
|
.render(matrixStack);
|
||||||
defaultBlockElement(AllBlockPartials.DEPLOYER_HAND_HOLDING)
|
blockElement(AllBlockPartials.DEPLOYER_HAND_HOLDING)
|
||||||
.rotateBlock(90, 0, 0)
|
.rotateBlock(90, 0, 0)
|
||||||
.scale(scale)
|
.scale(scale)
|
||||||
.render(matrixStack);
|
.render(matrixStack);
|
||||||
|
|
||||||
matrixStack.popPose();
|
matrixStack.popPose();
|
||||||
|
|
||||||
defaultBlockElement(AllBlocks.DEPOT.getDefaultState())
|
blockElement(AllBlocks.DEPOT.getDefaultState())
|
||||||
.atLocal(0, 2, 0)
|
.atLocal(0, 2, 0)
|
||||||
.scale(scale)
|
.scale(scale)
|
||||||
.render(matrixStack);
|
.render(matrixStack);
|
||||||
|
|
|
@ -27,7 +27,7 @@ public class AnimatedItemDrain extends AnimatedKinetics {
|
||||||
matrixStack.mulPose(Vector3f.YP.rotationDegrees(22.5f));
|
matrixStack.mulPose(Vector3f.YP.rotationDegrees(22.5f));
|
||||||
int scale = 20;
|
int scale = 20;
|
||||||
|
|
||||||
defaultBlockElement(AllBlocks.ITEM_DRAIN.getDefaultState())
|
blockElement(AllBlocks.ITEM_DRAIN.getDefaultState())
|
||||||
.scale(scale)
|
.scale(scale)
|
||||||
.render(matrixStack);
|
.render(matrixStack);
|
||||||
|
|
||||||
|
|
|
@ -22,6 +22,24 @@ public abstract class AnimatedKinetics implements IDrawable {
|
||||||
.secondLightRotation(-20.0f, 50.0f)
|
.secondLightRotation(-20.0f, 50.0f)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <b>Only use this method outside of subclasses.</b>
|
||||||
|
* Use {@link #blockElement(BlockState)} if calling from inside a subclass.
|
||||||
|
*/
|
||||||
|
public static GuiGameElement.GuiRenderBuilder defaultBlockElement(BlockState state) {
|
||||||
|
return GuiGameElement.of(state)
|
||||||
|
.lighting(DEFAULT_LIGHTING);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <b>Only use this method outside of subclasses.</b>
|
||||||
|
* Use {@link #blockElement(PartialModel)} if calling from inside a subclass.
|
||||||
|
*/
|
||||||
|
public static GuiGameElement.GuiRenderBuilder defaultBlockElement(PartialModel partial) {
|
||||||
|
return GuiGameElement.of(partial)
|
||||||
|
.lighting(DEFAULT_LIGHTING);
|
||||||
|
}
|
||||||
|
|
||||||
public static float getCurrentAngle() {
|
public static float getCurrentAngle() {
|
||||||
return (AnimationTickHolder.getRenderTime() * 4f) % 360;
|
return (AnimationTickHolder.getRenderTime() * 4f) % 360;
|
||||||
}
|
}
|
||||||
|
@ -34,14 +52,12 @@ public abstract class AnimatedKinetics implements IDrawable {
|
||||||
return AllBlockPartials.SHAFTLESS_COGWHEEL;
|
return AllBlockPartials.SHAFTLESS_COGWHEEL;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected GuiGameElement.GuiRenderBuilder defaultBlockElement(BlockState state) {
|
protected GuiGameElement.GuiRenderBuilder blockElement(BlockState state) {
|
||||||
return GuiGameElement.of(state)
|
return defaultBlockElement(state);
|
||||||
.lighting(DEFAULT_LIGHTING);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected GuiGameElement.GuiRenderBuilder defaultBlockElement(PartialModel partial) {
|
protected GuiGameElement.GuiRenderBuilder blockElement(PartialModel partial) {
|
||||||
return GuiGameElement.of(partial)
|
return defaultBlockElement(partial);
|
||||||
.lighting(DEFAULT_LIGHTING);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -15,12 +15,12 @@ public class AnimatedMillstone extends AnimatedKinetics {
|
||||||
matrixStack.translate(-2, 18, 0);
|
matrixStack.translate(-2, 18, 0);
|
||||||
int scale = 22;
|
int scale = 22;
|
||||||
|
|
||||||
defaultBlockElement(AllBlockPartials.MILLSTONE_COG)
|
blockElement(AllBlockPartials.MILLSTONE_COG)
|
||||||
.rotateBlock(22.5, getCurrentAngle() * 2, 0)
|
.rotateBlock(22.5, getCurrentAngle() * 2, 0)
|
||||||
.scale(scale)
|
.scale(scale)
|
||||||
.render(matrixStack);
|
.render(matrixStack);
|
||||||
|
|
||||||
defaultBlockElement(AllBlocks.MILLSTONE.getDefaultState())
|
blockElement(AllBlocks.MILLSTONE.getDefaultState())
|
||||||
.rotateBlock(22.5, 22.5, 0)
|
.rotateBlock(22.5, 22.5, 0)
|
||||||
.scale(scale)
|
.scale(scale)
|
||||||
.render(matrixStack);
|
.render(matrixStack);
|
||||||
|
|
|
@ -18,31 +18,31 @@ public class AnimatedMixer extends AnimatedKinetics {
|
||||||
matrixStack.mulPose(Vector3f.YP.rotationDegrees(22.5f));
|
matrixStack.mulPose(Vector3f.YP.rotationDegrees(22.5f));
|
||||||
int scale = 23;
|
int scale = 23;
|
||||||
|
|
||||||
defaultBlockElement(cogwheel())
|
blockElement(cogwheel())
|
||||||
.rotateBlock(0, getCurrentAngle() * 2, 0)
|
.rotateBlock(0, getCurrentAngle() * 2, 0)
|
||||||
.atLocal(0, 0, 0)
|
.atLocal(0, 0, 0)
|
||||||
.scale(scale)
|
.scale(scale)
|
||||||
.render(matrixStack);
|
.render(matrixStack);
|
||||||
|
|
||||||
defaultBlockElement(AllBlocks.MECHANICAL_MIXER.getDefaultState())
|
blockElement(AllBlocks.MECHANICAL_MIXER.getDefaultState())
|
||||||
.atLocal(0, 0, 0)
|
.atLocal(0, 0, 0)
|
||||||
.scale(scale)
|
.scale(scale)
|
||||||
.render(matrixStack);
|
.render(matrixStack);
|
||||||
|
|
||||||
float animation = ((MathHelper.sin(AnimationTickHolder.getRenderTime() / 32f) + 1) / 5) + .5f;
|
float animation = ((MathHelper.sin(AnimationTickHolder.getRenderTime() / 32f) + 1) / 5) + .5f;
|
||||||
|
|
||||||
defaultBlockElement(AllBlockPartials.MECHANICAL_MIXER_POLE)
|
blockElement(AllBlockPartials.MECHANICAL_MIXER_POLE)
|
||||||
.atLocal(0, animation, 0)
|
.atLocal(0, animation, 0)
|
||||||
.scale(scale)
|
.scale(scale)
|
||||||
.render(matrixStack);
|
.render(matrixStack);
|
||||||
|
|
||||||
defaultBlockElement(AllBlockPartials.MECHANICAL_MIXER_HEAD)
|
blockElement(AllBlockPartials.MECHANICAL_MIXER_HEAD)
|
||||||
.rotateBlock(0, getCurrentAngle() * 4, 0)
|
.rotateBlock(0, getCurrentAngle() * 4, 0)
|
||||||
.atLocal(0, animation, 0)
|
.atLocal(0, animation, 0)
|
||||||
.scale(scale)
|
.scale(scale)
|
||||||
.render(matrixStack);
|
.render(matrixStack);
|
||||||
|
|
||||||
defaultBlockElement(AllBlocks.BASIN.getDefaultState())
|
blockElement(AllBlocks.BASIN.getDefaultState())
|
||||||
.atLocal(0, 1.65, 0)
|
.atLocal(0, 1.65, 0)
|
||||||
.scale(scale)
|
.scale(scale)
|
||||||
.render(matrixStack);
|
.render(matrixStack);
|
||||||
|
|
|
@ -24,22 +24,22 @@ public class AnimatedPress extends AnimatedKinetics {
|
||||||
matrixStack.mulPose(Vector3f.YP.rotationDegrees(22.5f));
|
matrixStack.mulPose(Vector3f.YP.rotationDegrees(22.5f));
|
||||||
int scale = basin ? 23 : 24;
|
int scale = basin ? 23 : 24;
|
||||||
|
|
||||||
defaultBlockElement(shaft(Axis.Z))
|
blockElement(shaft(Axis.Z))
|
||||||
.rotateBlock(0, 0, getCurrentAngle())
|
.rotateBlock(0, 0, getCurrentAngle())
|
||||||
.scale(scale)
|
.scale(scale)
|
||||||
.render(matrixStack);
|
.render(matrixStack);
|
||||||
|
|
||||||
defaultBlockElement(AllBlocks.MECHANICAL_PRESS.getDefaultState())
|
blockElement(AllBlocks.MECHANICAL_PRESS.getDefaultState())
|
||||||
.scale(scale)
|
.scale(scale)
|
||||||
.render(matrixStack);
|
.render(matrixStack);
|
||||||
|
|
||||||
defaultBlockElement(AllBlockPartials.MECHANICAL_PRESS_HEAD)
|
blockElement(AllBlockPartials.MECHANICAL_PRESS_HEAD)
|
||||||
.atLocal(0, -getAnimatedHeadOffset(), 0)
|
.atLocal(0, -getAnimatedHeadOffset(), 0)
|
||||||
.scale(scale)
|
.scale(scale)
|
||||||
.render(matrixStack);
|
.render(matrixStack);
|
||||||
|
|
||||||
if (basin)
|
if (basin)
|
||||||
defaultBlockElement(AllBlocks.BASIN.getDefaultState())
|
blockElement(AllBlocks.BASIN.getDefaultState())
|
||||||
.atLocal(0, 1.65, 0)
|
.atLocal(0, 1.65, 0)
|
||||||
.scale(scale)
|
.scale(scale)
|
||||||
.render(matrixStack);
|
.render(matrixStack);
|
||||||
|
|
|
@ -21,18 +21,18 @@ public class AnimatedSaw extends AnimatedKinetics {
|
||||||
matrixStack.mulPose(Vector3f.YP.rotationDegrees(22.5f + 90));
|
matrixStack.mulPose(Vector3f.YP.rotationDegrees(22.5f + 90));
|
||||||
int scale = 25;
|
int scale = 25;
|
||||||
|
|
||||||
defaultBlockElement(shaft(Axis.X))
|
blockElement(shaft(Axis.X))
|
||||||
.rotateBlock(-getCurrentAngle(), 0, 0)
|
.rotateBlock(-getCurrentAngle(), 0, 0)
|
||||||
.scale(scale)
|
.scale(scale)
|
||||||
.render(matrixStack);
|
.render(matrixStack);
|
||||||
|
|
||||||
defaultBlockElement(AllBlocks.MECHANICAL_SAW.getDefaultState()
|
blockElement(AllBlocks.MECHANICAL_SAW.getDefaultState()
|
||||||
.setValue(SawBlock.FACING, Direction.UP))
|
.setValue(SawBlock.FACING, Direction.UP))
|
||||||
.rotateBlock(0, 0, 0)
|
.rotateBlock(0, 0, 0)
|
||||||
.scale(scale)
|
.scale(scale)
|
||||||
.render(matrixStack);
|
.render(matrixStack);
|
||||||
|
|
||||||
defaultBlockElement(AllBlockPartials.SAW_BLADE_VERTICAL_ACTIVE)
|
blockElement(AllBlockPartials.SAW_BLADE_VERTICAL_ACTIVE)
|
||||||
.rotateBlock(0, -90, -90)
|
.rotateBlock(0, -90, -90)
|
||||||
.scale(scale)
|
.scale(scale)
|
||||||
.render(matrixStack);
|
.render(matrixStack);
|
||||||
|
|
|
@ -32,7 +32,7 @@ public class AnimatedSpout extends AnimatedKinetics {
|
||||||
matrixStack.mulPose(Vector3f.YP.rotationDegrees(22.5f));
|
matrixStack.mulPose(Vector3f.YP.rotationDegrees(22.5f));
|
||||||
int scale = 20;
|
int scale = 20;
|
||||||
|
|
||||||
defaultBlockElement(AllBlocks.SPOUT.getDefaultState())
|
blockElement(AllBlocks.SPOUT.getDefaultState())
|
||||||
.scale(scale)
|
.scale(scale)
|
||||||
.render(matrixStack);
|
.render(matrixStack);
|
||||||
|
|
||||||
|
@ -42,22 +42,22 @@ public class AnimatedSpout extends AnimatedKinetics {
|
||||||
|
|
||||||
matrixStack.pushPose();
|
matrixStack.pushPose();
|
||||||
|
|
||||||
defaultBlockElement(AllBlockPartials.SPOUT_TOP)
|
blockElement(AllBlockPartials.SPOUT_TOP)
|
||||||
.scale(scale)
|
.scale(scale)
|
||||||
.render(matrixStack);
|
.render(matrixStack);
|
||||||
matrixStack.translate(0, -3 * squeeze / 32f, 0);
|
matrixStack.translate(0, -3 * squeeze / 32f, 0);
|
||||||
defaultBlockElement(AllBlockPartials.SPOUT_MIDDLE)
|
blockElement(AllBlockPartials.SPOUT_MIDDLE)
|
||||||
.scale(scale)
|
.scale(scale)
|
||||||
.render(matrixStack);
|
.render(matrixStack);
|
||||||
matrixStack.translate(0, -3 * squeeze / 32f, 0);
|
matrixStack.translate(0, -3 * squeeze / 32f, 0);
|
||||||
defaultBlockElement(AllBlockPartials.SPOUT_BOTTOM)
|
blockElement(AllBlockPartials.SPOUT_BOTTOM)
|
||||||
.scale(scale)
|
.scale(scale)
|
||||||
.render(matrixStack);
|
.render(matrixStack);
|
||||||
matrixStack.translate(0, -3 * squeeze / 32f, 0);
|
matrixStack.translate(0, -3 * squeeze / 32f, 0);
|
||||||
|
|
||||||
matrixStack.popPose();
|
matrixStack.popPose();
|
||||||
|
|
||||||
defaultBlockElement(AllBlocks.DEPOT.getDefaultState())
|
blockElement(AllBlocks.DEPOT.getDefaultState())
|
||||||
.atLocal(0, 2, 0)
|
.atLocal(0, 2, 0)
|
||||||
.scale(scale)
|
.scale(scale)
|
||||||
.render(matrixStack);
|
.render(matrixStack);
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
package com.simibubi.create.content.contraptions.base;
|
package com.simibubi.create.content.contraptions.base;
|
||||||
|
|
||||||
import com.jozufozu.flywheel.backend.instancing.MaterialManager;
|
import com.jozufozu.flywheel.backend.material.MaterialManager;
|
||||||
|
|
||||||
import net.minecraft.state.properties.BlockStateProperties;
|
import net.minecraft.state.properties.BlockStateProperties;
|
||||||
import net.minecraft.util.Direction;
|
import net.minecraft.util.Direction;
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
package com.simibubi.create.content.contraptions.base;
|
||||||
|
|
||||||
|
import com.jozufozu.flywheel.backend.instancing.Instancer;
|
||||||
|
import com.jozufozu.flywheel.backend.material.InstanceMaterial;
|
||||||
|
import com.jozufozu.flywheel.backend.material.MaterialManager;
|
||||||
|
import com.simibubi.create.foundation.render.AllMaterialSpecs;
|
||||||
|
|
||||||
|
public class CutoutRotatingInstance extends SingleRotatingInstance {
|
||||||
|
public CutoutRotatingInstance(MaterialManager<?> modelManager, KineticTileEntity tile) {
|
||||||
|
super(modelManager, tile);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected InstanceMaterial<RotatingData> getRotatingMaterial() {
|
||||||
|
return materialManager.defaultCutout()
|
||||||
|
.material(AllMaterialSpecs.ROTATING);
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
package com.simibubi.create.content.contraptions.base;
|
package com.simibubi.create.content.contraptions.base;
|
||||||
|
|
||||||
import com.jozufozu.flywheel.backend.instancing.Instancer;
|
import com.jozufozu.flywheel.backend.instancing.Instancer;
|
||||||
import com.jozufozu.flywheel.backend.instancing.MaterialManager;
|
import com.jozufozu.flywheel.backend.material.MaterialManager;
|
||||||
import com.simibubi.create.AllBlockPartials;
|
import com.simibubi.create.AllBlockPartials;
|
||||||
|
|
||||||
import net.minecraft.state.properties.BlockStateProperties;
|
import net.minecraft.state.properties.BlockStateProperties;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
package com.simibubi.create.content.contraptions.base;
|
package com.simibubi.create.content.contraptions.base;
|
||||||
|
|
||||||
import com.jozufozu.flywheel.backend.instancing.MaterialManager;
|
import com.jozufozu.flywheel.backend.material.MaterialManager;
|
||||||
|
|
||||||
import net.minecraft.state.properties.BlockStateProperties;
|
import net.minecraft.state.properties.BlockStateProperties;
|
||||||
import net.minecraft.util.Direction;
|
import net.minecraft.util.Direction;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package com.simibubi.create.content.contraptions.base;
|
package com.simibubi.create.content.contraptions.base;
|
||||||
|
|
||||||
import com.jozufozu.flywheel.backend.instancing.InstanceMaterial;
|
import com.jozufozu.flywheel.backend.material.InstanceMaterial;
|
||||||
import com.jozufozu.flywheel.backend.instancing.MaterialManager;
|
import com.jozufozu.flywheel.backend.material.MaterialManager;
|
||||||
import com.jozufozu.flywheel.backend.instancing.tile.TileEntityInstance;
|
import com.jozufozu.flywheel.backend.instancing.tile.TileEntityInstance;
|
||||||
import com.simibubi.create.AllBlocks;
|
import com.simibubi.create.AllBlocks;
|
||||||
import com.simibubi.create.content.contraptions.relays.elementary.ICogWheel;
|
import com.simibubi.create.content.contraptions.relays.elementary.ICogWheel;
|
||||||
|
@ -84,8 +84,9 @@ public abstract class KineticTileInstance<T extends KineticTileEntity> extends T
|
||||||
return shaft(getRotationAxis());
|
return shaft(getRotationAxis());
|
||||||
}
|
}
|
||||||
|
|
||||||
protected final InstanceMaterial<RotatingData> getRotatingMaterial() {
|
protected InstanceMaterial<RotatingData> getRotatingMaterial() {
|
||||||
return materialManager.getMaterial(AllMaterialSpecs.ROTATING);
|
return materialManager.defaultSolid()
|
||||||
|
.material(AllMaterialSpecs.ROTATING);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static BlockState shaft(Direction.Axis axis) {
|
public static BlockState shaft(Direction.Axis axis) {
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package com.simibubi.create.content.contraptions.base;
|
package com.simibubi.create.content.contraptions.base;
|
||||||
|
|
||||||
import com.jozufozu.flywheel.backend.instancing.Instancer;
|
import com.jozufozu.flywheel.backend.instancing.Instancer;
|
||||||
import com.jozufozu.flywheel.backend.instancing.MaterialManager;
|
import com.jozufozu.flywheel.backend.material.MaterialManager;
|
||||||
import com.simibubi.create.AllBlockPartials;
|
import com.simibubi.create.AllBlockPartials;
|
||||||
import com.simibubi.create.foundation.render.AllMaterialSpecs;
|
import com.simibubi.create.foundation.render.AllMaterialSpecs;
|
||||||
|
|
||||||
|
@ -13,6 +13,8 @@ public class ShaftlessCogInstance extends SingleRotatingInstance {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Instancer<RotatingData> getModel() {
|
protected Instancer<RotatingData> getModel() {
|
||||||
return materialManager.getMaterial(AllMaterialSpecs.ROTATING).getModel(AllBlockPartials.SHAFTLESS_COGWHEEL, tile.getBlockState());
|
return materialManager.defaultSolid()
|
||||||
|
.material(AllMaterialSpecs.ROTATING)
|
||||||
|
.getModel(AllBlockPartials.SHAFTLESS_COGWHEEL, tile.getBlockState());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package com.simibubi.create.content.contraptions.base;
|
package com.simibubi.create.content.contraptions.base;
|
||||||
|
|
||||||
import com.jozufozu.flywheel.backend.instancing.Instancer;
|
import com.jozufozu.flywheel.backend.instancing.Instancer;
|
||||||
import com.jozufozu.flywheel.backend.instancing.MaterialManager;
|
import com.jozufozu.flywheel.backend.material.MaterialManager;
|
||||||
|
|
||||||
import net.minecraft.block.BlockState;
|
import net.minecraft.block.BlockState;
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package com.simibubi.create.content.contraptions.components.actors;
|
package com.simibubi.create.content.contraptions.components.actors;
|
||||||
|
|
||||||
import com.jozufozu.flywheel.backend.instancing.InstanceMaterial;
|
import com.jozufozu.flywheel.backend.material.InstanceMaterial;
|
||||||
import com.jozufozu.flywheel.backend.instancing.MaterialManager;
|
import com.jozufozu.flywheel.backend.material.MaterialManager;
|
||||||
import com.simibubi.create.AllBlockPartials;
|
import com.simibubi.create.AllBlockPartials;
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.MovementContext;
|
import com.simibubi.create.content.contraptions.components.structureMovement.MovementContext;
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.render.ActorInstance;
|
import com.simibubi.create.content.contraptions.components.structureMovement.render.ActorInstance;
|
||||||
|
@ -22,7 +22,8 @@ public class DrillActorInstance extends ActorInstance {
|
||||||
public DrillActorInstance(MaterialManager<?> materialManager, PlacementSimulationWorld contraption, MovementContext context) {
|
public DrillActorInstance(MaterialManager<?> materialManager, PlacementSimulationWorld contraption, MovementContext context) {
|
||||||
super(materialManager, contraption, context);
|
super(materialManager, contraption, context);
|
||||||
|
|
||||||
InstanceMaterial<ActorData> instanceMaterial = materialManager.getMaterial(AllMaterialSpecs.ACTORS);
|
InstanceMaterial<ActorData> instanceMaterial = materialManager.defaultSolid()
|
||||||
|
.material(AllMaterialSpecs.ACTORS);
|
||||||
|
|
||||||
BlockState state = context.state;
|
BlockState state = context.state;
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@ package com.simibubi.create.content.contraptions.components.actors;
|
||||||
import static net.minecraft.state.properties.BlockStateProperties.FACING;
|
import static net.minecraft.state.properties.BlockStateProperties.FACING;
|
||||||
|
|
||||||
import com.jozufozu.flywheel.backend.instancing.Instancer;
|
import com.jozufozu.flywheel.backend.instancing.Instancer;
|
||||||
import com.jozufozu.flywheel.backend.instancing.MaterialManager;
|
import com.jozufozu.flywheel.backend.material.MaterialManager;
|
||||||
import com.simibubi.create.AllBlockPartials;
|
import com.simibubi.create.AllBlockPartials;
|
||||||
import com.simibubi.create.content.contraptions.base.KineticTileEntity;
|
import com.simibubi.create.content.contraptions.base.KineticTileEntity;
|
||||||
import com.simibubi.create.content.contraptions.base.RotatingData;
|
import com.simibubi.create.content.contraptions.base.RotatingData;
|
||||||
|
|
|
@ -3,7 +3,7 @@ package com.simibubi.create.content.contraptions.components.actors;
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
|
||||||
import com.jozufozu.flywheel.backend.Backend;
|
import com.jozufozu.flywheel.backend.Backend;
|
||||||
import com.jozufozu.flywheel.backend.instancing.MaterialManager;
|
import com.jozufozu.flywheel.backend.material.MaterialManager;
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.MovementContext;
|
import com.simibubi.create.content.contraptions.components.structureMovement.MovementContext;
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.render.ActorInstance;
|
import com.simibubi.create.content.contraptions.components.structureMovement.render.ActorInstance;
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.render.ContraptionMatrices;
|
import com.simibubi.create.content.contraptions.components.structureMovement.render.ContraptionMatrices;
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.simibubi.create.content.contraptions.components.actors;
|
package com.simibubi.create.content.contraptions.components.actors;
|
||||||
|
|
||||||
|
import com.jozufozu.flywheel.util.transform.MatrixTransformStack;
|
||||||
import com.mojang.blaze3d.matrix.MatrixStack;
|
import com.mojang.blaze3d.matrix.MatrixStack;
|
||||||
import com.simibubi.create.AllBlockPartials;
|
import com.simibubi.create.AllBlockPartials;
|
||||||
import com.simibubi.create.content.contraptions.base.KineticTileEntity;
|
import com.simibubi.create.content.contraptions.base.KineticTileEntity;
|
||||||
|
@ -11,7 +12,6 @@ import com.simibubi.create.foundation.render.PartialBufferer;
|
||||||
import com.simibubi.create.foundation.render.SuperByteBuffer;
|
import com.simibubi.create.foundation.render.SuperByteBuffer;
|
||||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||||
import com.simibubi.create.foundation.utility.MatrixStacker;
|
|
||||||
import com.simibubi.create.foundation.utility.VecHelper;
|
import com.simibubi.create.foundation.utility.VecHelper;
|
||||||
import com.simibubi.create.foundation.utility.worldWrappers.PlacementSimulationWorld;
|
import com.simibubi.create.foundation.utility.worldWrappers.PlacementSimulationWorld;
|
||||||
|
|
||||||
|
@ -46,7 +46,7 @@ public class DrillRenderer extends KineticTileEntityRenderer {
|
||||||
|
|
||||||
MatrixStack m = matrices.contraptionStack;
|
MatrixStack m = matrices.contraptionStack;
|
||||||
m.pushPose();
|
m.pushPose();
|
||||||
MatrixStacker.of(m)
|
MatrixTransformStack.of(m)
|
||||||
.centre()
|
.centre()
|
||||||
.rotateY(AngleHelper.horizontalAngle(facing))
|
.rotateY(AngleHelper.horizontalAngle(facing))
|
||||||
.rotateX(AngleHelper.verticalAngle(facing))
|
.rotateX(AngleHelper.verticalAngle(facing))
|
||||||
|
|
|
@ -2,16 +2,17 @@ package com.simibubi.create.content.contraptions.components.actors;
|
||||||
|
|
||||||
import static net.minecraft.state.properties.BlockStateProperties.HORIZONTAL_FACING;
|
import static net.minecraft.state.properties.BlockStateProperties.HORIZONTAL_FACING;
|
||||||
|
|
||||||
import com.jozufozu.flywheel.backend.instancing.InstanceMaterial;
|
import com.jozufozu.flywheel.backend.material.InstanceMaterial;
|
||||||
import com.jozufozu.flywheel.backend.instancing.MaterialManager;
|
import com.jozufozu.flywheel.backend.material.MaterialManager;
|
||||||
|
import com.jozufozu.flywheel.core.Materials;
|
||||||
import com.jozufozu.flywheel.core.materials.ModelData;
|
import com.jozufozu.flywheel.core.materials.ModelData;
|
||||||
|
import com.jozufozu.flywheel.util.transform.MatrixTransformStack;
|
||||||
import com.mojang.blaze3d.matrix.MatrixStack;
|
import com.mojang.blaze3d.matrix.MatrixStack;
|
||||||
import com.simibubi.create.AllBlockPartials;
|
import com.simibubi.create.AllBlockPartials;
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.MovementContext;
|
import com.simibubi.create.content.contraptions.components.structureMovement.MovementContext;
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.render.ActorInstance;
|
import com.simibubi.create.content.contraptions.components.structureMovement.render.ActorInstance;
|
||||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||||
import com.simibubi.create.foundation.utility.MatrixStacker;
|
|
||||||
import com.simibubi.create.foundation.utility.VecHelper;
|
import com.simibubi.create.foundation.utility.VecHelper;
|
||||||
import com.simibubi.create.foundation.utility.worldWrappers.PlacementSimulationWorld;
|
import com.simibubi.create.foundation.utility.worldWrappers.PlacementSimulationWorld;
|
||||||
|
|
||||||
|
@ -36,7 +37,8 @@ public class HarvesterActorInstance extends ActorInstance {
|
||||||
public HarvesterActorInstance(MaterialManager<?> materialManager, PlacementSimulationWorld simulationWorld, MovementContext context) {
|
public HarvesterActorInstance(MaterialManager<?> materialManager, PlacementSimulationWorld simulationWorld, MovementContext context) {
|
||||||
super(materialManager, simulationWorld, context);
|
super(materialManager, simulationWorld, context);
|
||||||
|
|
||||||
InstanceMaterial<ModelData> instanceMaterial = materialManager.getTransformMaterial();
|
InstanceMaterial<ModelData> instanceMaterial = materialManager.defaultCutout()
|
||||||
|
.material(Materials.TRANSFORMED);
|
||||||
|
|
||||||
BlockState state = context.state;
|
BlockState state = context.state;
|
||||||
|
|
||||||
|
@ -74,7 +76,7 @@ public class HarvesterActorInstance extends ActorInstance {
|
||||||
@Override
|
@Override
|
||||||
public void beginFrame() {
|
public void beginFrame() {
|
||||||
MatrixStack ms = new MatrixStack();
|
MatrixStack ms = new MatrixStack();
|
||||||
MatrixStacker msr = MatrixStacker.of(ms);
|
MatrixTransformStack msr = MatrixTransformStack.of(ms);
|
||||||
|
|
||||||
msr.translate(context.localPos)
|
msr.translate(context.localPos)
|
||||||
.centre()
|
.centre()
|
||||||
|
|
|
@ -7,7 +7,7 @@ import javax.annotation.Nullable;
|
||||||
import org.apache.commons.lang3.mutable.MutableBoolean;
|
import org.apache.commons.lang3.mutable.MutableBoolean;
|
||||||
|
|
||||||
import com.jozufozu.flywheel.backend.Backend;
|
import com.jozufozu.flywheel.backend.Backend;
|
||||||
import com.jozufozu.flywheel.backend.instancing.MaterialManager;
|
import com.jozufozu.flywheel.backend.material.MaterialManager;
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.MovementBehaviour;
|
import com.simibubi.create.content.contraptions.components.structureMovement.MovementBehaviour;
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.MovementContext;
|
import com.simibubi.create.content.contraptions.components.structureMovement.MovementContext;
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.render.ActorInstance;
|
import com.simibubi.create.content.contraptions.components.structureMovement.render.ActorInstance;
|
||||||
|
|
|
@ -3,13 +3,14 @@ package com.simibubi.create.content.contraptions.components.crafter;
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
import com.jozufozu.flywheel.backend.instancing.Instancer;
|
import com.jozufozu.flywheel.backend.instancing.Instancer;
|
||||||
import com.jozufozu.flywheel.backend.instancing.MaterialManager;
|
import com.jozufozu.flywheel.backend.material.MaterialManager;
|
||||||
|
import com.jozufozu.flywheel.util.transform.MatrixTransformStack;
|
||||||
|
import com.jozufozu.flywheel.util.transform.TransformStack;
|
||||||
import com.mojang.blaze3d.matrix.MatrixStack;
|
import com.mojang.blaze3d.matrix.MatrixStack;
|
||||||
import com.simibubi.create.AllBlockPartials;
|
import com.simibubi.create.AllBlockPartials;
|
||||||
import com.simibubi.create.content.contraptions.base.KineticTileEntity;
|
import com.simibubi.create.content.contraptions.base.KineticTileEntity;
|
||||||
import com.simibubi.create.content.contraptions.base.RotatingData;
|
import com.simibubi.create.content.contraptions.base.RotatingData;
|
||||||
import com.simibubi.create.content.contraptions.base.SingleRotatingInstance;
|
import com.simibubi.create.content.contraptions.base.SingleRotatingInstance;
|
||||||
import com.simibubi.create.foundation.utility.MatrixStacker;
|
|
||||||
|
|
||||||
import net.minecraft.util.Direction;
|
import net.minecraft.util.Direction;
|
||||||
|
|
||||||
|
@ -23,18 +24,20 @@ public class MechanicalCrafterInstance extends SingleRotatingInstance {
|
||||||
protected Instancer<RotatingData> getModel() {
|
protected Instancer<RotatingData> getModel() {
|
||||||
Direction facing = blockState.getValue(MechanicalCrafterBlock.HORIZONTAL_FACING);
|
Direction facing = blockState.getValue(MechanicalCrafterBlock.HORIZONTAL_FACING);
|
||||||
|
|
||||||
Supplier<MatrixStack> ms = () -> {
|
return getRotatingMaterial().getModel(AllBlockPartials.SHAFTLESS_COGWHEEL, blockState, facing, rotateToFace(facing));
|
||||||
MatrixStack stack = new MatrixStack();
|
|
||||||
MatrixStacker stacker = MatrixStacker.of(stack).centre();
|
|
||||||
|
|
||||||
if (facing.getAxis() == Direction.Axis.X)
|
|
||||||
stacker.rotateZ(90);
|
|
||||||
else if (facing.getAxis() == Direction.Axis.Z)
|
|
||||||
stacker.rotateX(90);
|
|
||||||
|
|
||||||
stacker.unCentre();
|
|
||||||
return stack;
|
|
||||||
};
|
|
||||||
return getRotatingMaterial().getModel(AllBlockPartials.SHAFTLESS_COGWHEEL, blockState, facing, ms);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private Supplier<MatrixStack> rotateToFace(Direction facing) {
|
||||||
|
return () -> {
|
||||||
|
MatrixStack stack = new MatrixStack();
|
||||||
|
TransformStack stacker = MatrixTransformStack.of(stack)
|
||||||
|
.centre();
|
||||||
|
|
||||||
|
if (facing.getAxis() == Direction.Axis.X) stacker.rotateZ(90);
|
||||||
|
else if (facing.getAxis() == Direction.Axis.Z) stacker.rotateX(90);
|
||||||
|
|
||||||
|
stacker.unCentre();
|
||||||
|
return stack;
|
||||||
|
};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,7 @@ import static com.simibubi.create.content.contraptions.base.KineticTileEntityRen
|
||||||
|
|
||||||
import com.jozufozu.flywheel.backend.Backend;
|
import com.jozufozu.flywheel.backend.Backend;
|
||||||
import com.jozufozu.flywheel.core.PartialModel;
|
import com.jozufozu.flywheel.core.PartialModel;
|
||||||
|
import com.jozufozu.flywheel.util.transform.MatrixTransformStack;
|
||||||
import com.mojang.blaze3d.matrix.MatrixStack;
|
import com.mojang.blaze3d.matrix.MatrixStack;
|
||||||
import com.mojang.blaze3d.vertex.IVertexBuilder;
|
import com.mojang.blaze3d.vertex.IVertexBuilder;
|
||||||
import com.simibubi.create.AllBlockPartials;
|
import com.simibubi.create.AllBlockPartials;
|
||||||
|
@ -16,7 +17,6 @@ import com.simibubi.create.foundation.render.SuperByteBuffer;
|
||||||
import com.simibubi.create.foundation.tileEntity.renderer.SafeTileEntityRenderer;
|
import com.simibubi.create.foundation.tileEntity.renderer.SafeTileEntityRenderer;
|
||||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||||
import com.simibubi.create.foundation.utility.MatrixStacker;
|
|
||||||
|
|
||||||
import net.minecraft.block.BlockState;
|
import net.minecraft.block.BlockState;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
|
@ -112,7 +112,7 @@ public class MechanicalCrafterRenderer extends SafeTileEntityRenderer<Mechanical
|
||||||
Integer x = pair.getKey();
|
Integer x = pair.getKey();
|
||||||
Integer y = pair.getValue();
|
Integer y = pair.getValue();
|
||||||
ms.translate(x * spacing, y * spacing, 0);
|
ms.translate(x * spacing, y * spacing, 0);
|
||||||
MatrixStacker.of(ms)
|
MatrixTransformStack.of(ms)
|
||||||
.nudge(x * 13 + y + te.getBlockPos()
|
.nudge(x * 13 + y + te.getBlockPos()
|
||||||
.hashCode());
|
.hashCode());
|
||||||
Minecraft.getInstance()
|
Minecraft.getInstance()
|
||||||
|
|
|
@ -2,13 +2,13 @@ package com.simibubi.create.content.contraptions.components.crank;
|
||||||
|
|
||||||
import com.jozufozu.flywheel.backend.instancing.IDynamicInstance;
|
import com.jozufozu.flywheel.backend.instancing.IDynamicInstance;
|
||||||
import com.jozufozu.flywheel.backend.instancing.Instancer;
|
import com.jozufozu.flywheel.backend.instancing.Instancer;
|
||||||
import com.jozufozu.flywheel.backend.instancing.MaterialManager;
|
import com.jozufozu.flywheel.backend.material.MaterialManager;
|
||||||
import com.jozufozu.flywheel.core.PartialModel;
|
import com.jozufozu.flywheel.core.PartialModel;
|
||||||
import com.jozufozu.flywheel.core.materials.ModelData;
|
import com.jozufozu.flywheel.core.materials.ModelData;
|
||||||
|
import com.jozufozu.flywheel.util.transform.MatrixTransformStack;
|
||||||
import com.mojang.blaze3d.matrix.MatrixStack;
|
import com.mojang.blaze3d.matrix.MatrixStack;
|
||||||
import com.simibubi.create.content.contraptions.base.SingleRotatingInstance;
|
import com.simibubi.create.content.contraptions.base.SingleRotatingInstance;
|
||||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||||
import com.simibubi.create.foundation.utility.MatrixStacker;
|
|
||||||
|
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.state.properties.BlockStateProperties;
|
import net.minecraft.state.properties.BlockStateProperties;
|
||||||
|
@ -51,7 +51,7 @@ public class HandCrankInstance extends SingleRotatingInstance implements IDynami
|
||||||
float angle = (tile.independentAngle + AnimationTickHolder.getPartialTicks() * tile.chasingVelocity) / 360;
|
float angle = (tile.independentAngle + AnimationTickHolder.getPartialTicks() * tile.chasingVelocity) / 360;
|
||||||
|
|
||||||
MatrixStack ms = new MatrixStack();
|
MatrixStack ms = new MatrixStack();
|
||||||
MatrixStacker.of(ms)
|
MatrixTransformStack.of(ms)
|
||||||
.translate(getInstancePosition())
|
.translate(getInstancePosition())
|
||||||
.centre()
|
.centre()
|
||||||
.rotate(Direction.get(Direction.AxisDirection.POSITIVE, axis), angle)
|
.rotate(Direction.get(Direction.AxisDirection.POSITIVE, axis), angle)
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
package com.simibubi.create.content.contraptions.components.crusher;
|
package com.simibubi.create.content.contraptions.components.crusher;
|
||||||
|
|
||||||
import com.simibubi.create.AllRecipeTypes;
|
|
||||||
import com.simibubi.create.content.contraptions.processing.ProcessingRecipe;
|
import com.simibubi.create.content.contraptions.processing.ProcessingRecipe;
|
||||||
import com.simibubi.create.content.contraptions.processing.ProcessingRecipeBuilder.ProcessingRecipeParams;
|
import com.simibubi.create.content.contraptions.processing.ProcessingRecipeBuilder.ProcessingRecipeParams;
|
||||||
|
import com.simibubi.create.foundation.utility.recipe.IRecipeTypeInfo;
|
||||||
|
|
||||||
import net.minecraftforge.items.wrapper.RecipeWrapper;
|
import net.minecraftforge.items.wrapper.RecipeWrapper;
|
||||||
|
|
||||||
public abstract class AbstractCrushingRecipe extends ProcessingRecipe<RecipeWrapper> {
|
public abstract class AbstractCrushingRecipe extends ProcessingRecipe<RecipeWrapper> {
|
||||||
|
|
||||||
public AbstractCrushingRecipe(AllRecipeTypes recipeType, ProcessingRecipeParams params) {
|
public AbstractCrushingRecipe(IRecipeTypeInfo recipeType, ProcessingRecipeParams params) {
|
||||||
super(recipeType, params);
|
super(recipeType, params);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@ public class CrushingRecipe extends AbstractCrushingRecipe {
|
||||||
return ingredients.get(0)
|
return ingredients.get(0)
|
||||||
.test(inv.getItem(0));
|
.test(inv.getItem(0));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected int getMaxOutputCount() {
|
protected int getMaxOutputCount() {
|
||||||
return 7;
|
return 7;
|
||||||
|
|
|
@ -3,10 +3,12 @@ package com.simibubi.create.content.contraptions.components.deployer;
|
||||||
import static com.simibubi.create.content.contraptions.base.DirectionalAxisKineticBlock.AXIS_ALONG_FIRST_COORDINATE;
|
import static com.simibubi.create.content.contraptions.base.DirectionalAxisKineticBlock.AXIS_ALONG_FIRST_COORDINATE;
|
||||||
import static com.simibubi.create.content.contraptions.base.DirectionalKineticBlock.FACING;
|
import static com.simibubi.create.content.contraptions.base.DirectionalKineticBlock.FACING;
|
||||||
|
|
||||||
import com.jozufozu.flywheel.backend.instancing.InstanceMaterial;
|
import com.jozufozu.flywheel.backend.material.InstanceMaterial;
|
||||||
import com.jozufozu.flywheel.backend.instancing.MaterialManager;
|
import com.jozufozu.flywheel.backend.material.MaterialManager;
|
||||||
|
import com.jozufozu.flywheel.core.Materials;
|
||||||
import com.jozufozu.flywheel.core.PartialModel;
|
import com.jozufozu.flywheel.core.PartialModel;
|
||||||
import com.jozufozu.flywheel.core.materials.ModelData;
|
import com.jozufozu.flywheel.core.materials.ModelData;
|
||||||
|
import com.jozufozu.flywheel.util.transform.MatrixTransformStack;
|
||||||
import com.mojang.blaze3d.matrix.MatrixStack;
|
import com.mojang.blaze3d.matrix.MatrixStack;
|
||||||
import com.simibubi.create.AllBlockPartials;
|
import com.simibubi.create.AllBlockPartials;
|
||||||
import com.simibubi.create.content.contraptions.base.IRotate;
|
import com.simibubi.create.content.contraptions.base.IRotate;
|
||||||
|
@ -17,7 +19,6 @@ import com.simibubi.create.content.contraptions.components.structureMovement.ren
|
||||||
import com.simibubi.create.foundation.render.AllMaterialSpecs;
|
import com.simibubi.create.foundation.render.AllMaterialSpecs;
|
||||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||||
import com.simibubi.create.foundation.utility.MatrixStacker;
|
|
||||||
import com.simibubi.create.foundation.utility.NBTHelper;
|
import com.simibubi.create.foundation.utility.NBTHelper;
|
||||||
import com.simibubi.create.foundation.utility.VecHelper;
|
import com.simibubi.create.foundation.utility.VecHelper;
|
||||||
import com.simibubi.create.foundation.utility.worldWrappers.PlacementSimulationWorld;
|
import com.simibubi.create.foundation.utility.worldWrappers.PlacementSimulationWorld;
|
||||||
|
@ -44,7 +45,8 @@ public class DeployerActorInstance extends ActorInstance {
|
||||||
public DeployerActorInstance(MaterialManager<?> materialManager, PlacementSimulationWorld simulationWorld, MovementContext context) {
|
public DeployerActorInstance(MaterialManager<?> materialManager, PlacementSimulationWorld simulationWorld, MovementContext context) {
|
||||||
super(materialManager, simulationWorld, context);
|
super(materialManager, simulationWorld, context);
|
||||||
|
|
||||||
InstanceMaterial<ModelData> mat = materialManager.getTransformMaterial();
|
InstanceMaterial<ModelData> mat = materialManager.defaultSolid()
|
||||||
|
.material(Materials.TRANSFORMED);
|
||||||
|
|
||||||
BlockState state = context.state;
|
BlockState state = context.state;
|
||||||
DeployerTileEntity.Mode mode = NBTHelper.readEnum(context.tileData, "Mode", DeployerTileEntity.Mode.class);
|
DeployerTileEntity.Mode mode = NBTHelper.readEnum(context.tileData, "Mode", DeployerTileEntity.Mode.class);
|
||||||
|
@ -62,7 +64,8 @@ public class DeployerActorInstance extends ActorInstance {
|
||||||
hand = mat.getModel(handPose, state).createInstance();
|
hand = mat.getModel(handPose, state).createInstance();
|
||||||
|
|
||||||
Direction.Axis axis = ((IRotate) state.getBlock()).getRotationAxis(state);
|
Direction.Axis axis = ((IRotate) state.getBlock()).getRotationAxis(state);
|
||||||
shaft = materialManager.getMaterial(AllMaterialSpecs.ROTATING)
|
shaft = materialManager.defaultSolid()
|
||||||
|
.material(AllMaterialSpecs.ROTATING)
|
||||||
.getModel(KineticTileInstance.shaft(axis))
|
.getModel(KineticTileInstance.shaft(axis))
|
||||||
.createInstance();
|
.createInstance();
|
||||||
|
|
||||||
|
@ -92,7 +95,7 @@ public class DeployerActorInstance extends ActorInstance {
|
||||||
Vector3d offset = Vector3d.atLowerCornerOf(facing.getNormal()).scale(factor);
|
Vector3d offset = Vector3d.atLowerCornerOf(facing.getNormal()).scale(factor);
|
||||||
|
|
||||||
MatrixStack ms = new MatrixStack();
|
MatrixStack ms = new MatrixStack();
|
||||||
MatrixStacker msr = MatrixStacker.of(ms);
|
MatrixTransformStack msr = MatrixTransformStack.of(ms);
|
||||||
|
|
||||||
msr.translate(context.localPos)
|
msr.translate(context.localPos)
|
||||||
.translate(offset);
|
.translate(offset);
|
||||||
|
@ -100,7 +103,7 @@ public class DeployerActorInstance extends ActorInstance {
|
||||||
transformModel(msr, pole, hand, yRot, zRot, zRotPole);
|
transformModel(msr, pole, hand, yRot, zRot, zRotPole);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void transformModel(MatrixStacker msr, ModelData pole, ModelData hand, float yRot, float zRot, float zRotPole) {
|
static void transformModel(MatrixTransformStack msr, ModelData pole, ModelData hand, float yRot, float zRot, float zRotPole) {
|
||||||
|
|
||||||
msr.centre();
|
msr.centre();
|
||||||
msr.rotate(Direction.SOUTH, (float) ((zRot) / 180 * Math.PI));
|
msr.rotate(Direction.SOUTH, (float) ((zRot) / 180 * Math.PI));
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
package com.simibubi.create.content.contraptions.components.deployer;
|
package com.simibubi.create.content.contraptions.components.deployer;
|
||||||
|
|
||||||
|
import com.jozufozu.flywheel.util.transform.MatrixTransformStack;
|
||||||
import com.mojang.blaze3d.matrix.MatrixStack;
|
import com.mojang.blaze3d.matrix.MatrixStack;
|
||||||
import com.simibubi.create.foundation.tileEntity.behaviour.ValueBoxTransform;
|
import com.simibubi.create.foundation.tileEntity.behaviour.ValueBoxTransform;
|
||||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||||
import com.simibubi.create.foundation.utility.MatrixStacker;
|
|
||||||
import com.simibubi.create.foundation.utility.VecHelper;
|
import com.simibubi.create.foundation.utility.VecHelper;
|
||||||
|
|
||||||
import net.minecraft.block.BlockState;
|
import net.minecraft.block.BlockState;
|
||||||
|
@ -31,7 +31,7 @@ public class DeployerFilterSlot extends ValueBoxTransform {
|
||||||
Direction facing = state.getValue(DeployerBlock.FACING);
|
Direction facing = state.getValue(DeployerBlock.FACING);
|
||||||
float xRot = facing == Direction.UP ? 90 : facing == Direction.DOWN ? 270 : 0;
|
float xRot = facing == Direction.UP ? 90 : facing == Direction.DOWN ? 270 : 0;
|
||||||
float yRot = AngleHelper.horizontalAngle(facing) + 180;
|
float yRot = AngleHelper.horizontalAngle(facing) + 180;
|
||||||
MatrixStacker.of(ms)
|
MatrixTransformStack.of(ms)
|
||||||
.rotateY(yRot)
|
.rotateY(yRot)
|
||||||
.rotateX(xRot);
|
.rotateX(xRot);
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,7 +5,7 @@ import static com.simibubi.create.content.contraptions.base.DirectionalKineticBl
|
||||||
|
|
||||||
import com.jozufozu.flywheel.backend.instancing.IDynamicInstance;
|
import com.jozufozu.flywheel.backend.instancing.IDynamicInstance;
|
||||||
import com.jozufozu.flywheel.backend.instancing.ITickableInstance;
|
import com.jozufozu.flywheel.backend.instancing.ITickableInstance;
|
||||||
import com.jozufozu.flywheel.backend.instancing.MaterialManager;
|
import com.jozufozu.flywheel.backend.material.MaterialManager;
|
||||||
import com.jozufozu.flywheel.core.PartialModel;
|
import com.jozufozu.flywheel.core.PartialModel;
|
||||||
import com.jozufozu.flywheel.core.materials.OrientedData;
|
import com.jozufozu.flywheel.core.materials.OrientedData;
|
||||||
import com.simibubi.create.AllBlockPartials;
|
import com.simibubi.create.AllBlockPartials;
|
||||||
|
|
|
@ -8,7 +8,7 @@ import javax.annotation.Nullable;
|
||||||
import org.apache.commons.lang3.tuple.Pair;
|
import org.apache.commons.lang3.tuple.Pair;
|
||||||
|
|
||||||
import com.jozufozu.flywheel.backend.Backend;
|
import com.jozufozu.flywheel.backend.Backend;
|
||||||
import com.jozufozu.flywheel.backend.instancing.MaterialManager;
|
import com.jozufozu.flywheel.backend.material.MaterialManager;
|
||||||
import com.simibubi.create.AllBlocks;
|
import com.simibubi.create.AllBlocks;
|
||||||
import com.simibubi.create.AllItems;
|
import com.simibubi.create.AllItems;
|
||||||
import com.simibubi.create.AllTags.AllBlockTags;
|
import com.simibubi.create.AllTags.AllBlockTags;
|
||||||
|
|
|
@ -2,10 +2,11 @@ package com.simibubi.create.content.contraptions.components.fan;
|
||||||
|
|
||||||
import static net.minecraft.state.properties.BlockStateProperties.FACING;
|
import static net.minecraft.state.properties.BlockStateProperties.FACING;
|
||||||
|
|
||||||
import com.jozufozu.flywheel.backend.instancing.MaterialManager;
|
import com.jozufozu.flywheel.backend.material.MaterialManager;
|
||||||
import com.simibubi.create.AllBlockPartials;
|
import com.simibubi.create.AllBlockPartials;
|
||||||
import com.simibubi.create.content.contraptions.base.KineticTileInstance;
|
import com.simibubi.create.content.contraptions.base.KineticTileInstance;
|
||||||
import com.simibubi.create.content.contraptions.base.RotatingData;
|
import com.simibubi.create.content.contraptions.base.RotatingData;
|
||||||
|
import com.simibubi.create.foundation.render.AllMaterialSpecs;
|
||||||
|
|
||||||
import net.minecraft.util.Direction;
|
import net.minecraft.util.Direction;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
|
@ -25,7 +26,10 @@ public class FanInstance extends KineticTileInstance<EncasedFanTileEntity> {
|
||||||
|
|
||||||
opposite = direction.getOpposite();
|
opposite = direction.getOpposite();
|
||||||
shaft = getRotatingMaterial().getModel(AllBlockPartials.SHAFT_HALF, blockState, opposite).createInstance();
|
shaft = getRotatingMaterial().getModel(AllBlockPartials.SHAFT_HALF, blockState, opposite).createInstance();
|
||||||
fan = getRotatingMaterial().getModel(AllBlockPartials.ENCASED_FAN_INNER, blockState, opposite).createInstance();
|
fan = modelManager.defaultCutout()
|
||||||
|
.material(AllMaterialSpecs.ROTATING)
|
||||||
|
.getModel(AllBlockPartials.ENCASED_FAN_INNER, blockState, opposite)
|
||||||
|
.createInstance();
|
||||||
|
|
||||||
setup(shaft);
|
setup(shaft);
|
||||||
setup(fan, getFanSpeed());
|
setup(fan, getFanSpeed());
|
||||||
|
|
|
@ -8,17 +8,17 @@ import java.util.List;
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
import com.jozufozu.flywheel.backend.instancing.IDynamicInstance;
|
import com.jozufozu.flywheel.backend.instancing.IDynamicInstance;
|
||||||
import com.jozufozu.flywheel.backend.instancing.InstanceData;
|
import com.jozufozu.flywheel.backend.instancing.InstanceData;
|
||||||
import com.jozufozu.flywheel.backend.instancing.InstanceMaterial;
|
import com.jozufozu.flywheel.backend.material.InstanceMaterial;
|
||||||
import com.jozufozu.flywheel.backend.instancing.Instancer;
|
import com.jozufozu.flywheel.backend.instancing.Instancer;
|
||||||
import com.jozufozu.flywheel.backend.instancing.MaterialManager;
|
import com.jozufozu.flywheel.backend.material.MaterialManager;
|
||||||
import com.jozufozu.flywheel.core.materials.ModelData;
|
import com.jozufozu.flywheel.core.materials.ModelData;
|
||||||
|
import com.jozufozu.flywheel.util.transform.MatrixTransformStack;
|
||||||
import com.mojang.blaze3d.matrix.MatrixStack;
|
import com.mojang.blaze3d.matrix.MatrixStack;
|
||||||
import com.simibubi.create.AllBlockPartials;
|
import com.simibubi.create.AllBlockPartials;
|
||||||
import com.simibubi.create.content.contraptions.base.KineticTileInstance;
|
import com.simibubi.create.content.contraptions.base.KineticTileInstance;
|
||||||
import com.simibubi.create.content.contraptions.base.RotatingData;
|
import com.simibubi.create.content.contraptions.base.RotatingData;
|
||||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||||
import com.simibubi.create.foundation.utility.MatrixStacker;
|
|
||||||
|
|
||||||
import net.minecraft.block.BlockState;
|
import net.minecraft.block.BlockState;
|
||||||
import net.minecraft.util.Direction;
|
import net.minecraft.util.Direction;
|
||||||
|
@ -95,7 +95,7 @@ public class FlyWheelInstance extends KineticTileInstance<FlywheelTileEntity> im
|
||||||
|
|
||||||
private void animate(float angle) {
|
private void animate(float angle) {
|
||||||
MatrixStack ms = new MatrixStack();
|
MatrixStack ms = new MatrixStack();
|
||||||
MatrixStacker msr = MatrixStacker.of(ms);
|
MatrixTransformStack msr = MatrixTransformStack.of(ms);
|
||||||
|
|
||||||
msr.translate(getInstancePosition());
|
msr.translate(getInstancePosition());
|
||||||
|
|
||||||
|
@ -163,7 +163,7 @@ public class FlyWheelInstance extends KineticTileInstance<FlywheelTileEntity> im
|
||||||
return getRotatingMaterial().getModel(AllBlockPartials.SHAFT_HALF, blockState, opposite);
|
return getRotatingMaterial().getModel(AllBlockPartials.SHAFT_HALF, blockState, opposite);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void transformConnector(MatrixStacker ms, boolean upper, boolean rotating, float angle, boolean flip) {
|
protected void transformConnector(MatrixTransformStack ms, boolean upper, boolean rotating, float angle, boolean flip) {
|
||||||
float shift = upper ? 1 / 4f : -1 / 8f;
|
float shift = upper ? 1 / 4f : -1 / 8f;
|
||||||
float offset = upper ? 1 / 4f : 1 / 4f;
|
float offset = upper ? 1 / 4f : 1 / 4f;
|
||||||
float radians = (float) (angle / 180 * Math.PI);
|
float radians = (float) (angle / 180 * Math.PI);
|
||||||
|
@ -189,7 +189,7 @@ public class FlyWheelInstance extends KineticTileInstance<FlywheelTileEntity> im
|
||||||
ms.translate(9 / 16f, 0, 0);
|
ms.translate(9 / 16f, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void rotateToFacing(MatrixStacker buffer, Direction facing) {
|
protected void rotateToFacing(MatrixTransformStack buffer, Direction facing) {
|
||||||
buffer.centre()
|
buffer.centre()
|
||||||
.rotate(Direction.UP, AngleHelper.rad(AngleHelper.horizontalAngle(facing)))
|
.rotate(Direction.UP, AngleHelper.rad(AngleHelper.horizontalAngle(facing)))
|
||||||
.unCentre();
|
.unCentre();
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
package com.simibubi.create.content.contraptions.components.flywheel.engine;
|
package com.simibubi.create.content.contraptions.components.flywheel.engine;
|
||||||
|
|
||||||
import com.jozufozu.flywheel.backend.instancing.MaterialManager;
|
import com.jozufozu.flywheel.backend.material.MaterialManager;
|
||||||
import com.jozufozu.flywheel.backend.instancing.tile.TileEntityInstance;
|
import com.jozufozu.flywheel.backend.instancing.tile.TileEntityInstance;
|
||||||
import com.jozufozu.flywheel.core.PartialModel;
|
import com.jozufozu.flywheel.core.PartialModel;
|
||||||
import com.jozufozu.flywheel.core.materials.ModelData;
|
import com.jozufozu.flywheel.core.materials.ModelData;
|
||||||
|
import com.jozufozu.flywheel.util.transform.MatrixTransformStack;
|
||||||
import com.mojang.blaze3d.matrix.MatrixStack;
|
import com.mojang.blaze3d.matrix.MatrixStack;
|
||||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||||
import com.simibubi.create.foundation.utility.MatrixStacker;
|
|
||||||
|
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.state.properties.BlockStateProperties;
|
import net.minecraft.state.properties.BlockStateProperties;
|
||||||
|
@ -34,7 +34,7 @@ public class EngineInstance extends TileEntityInstance<EngineTileEntity> {
|
||||||
float angle = AngleHelper.rad(AngleHelper.horizontalAngle(facing));
|
float angle = AngleHelper.rad(AngleHelper.horizontalAngle(facing));
|
||||||
|
|
||||||
MatrixStack ms = new MatrixStack();
|
MatrixStack ms = new MatrixStack();
|
||||||
MatrixStacker msr = MatrixStacker.of(ms);
|
MatrixTransformStack msr = MatrixTransformStack.of(ms);
|
||||||
|
|
||||||
msr.translate(getInstancePosition())
|
msr.translate(getInstancePosition())
|
||||||
.nudge(tile.hashCode())
|
.nudge(tile.hashCode())
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package com.simibubi.create.content.contraptions.components.millstone;
|
package com.simibubi.create.content.contraptions.components.millstone;
|
||||||
|
|
||||||
import com.jozufozu.flywheel.backend.instancing.Instancer;
|
import com.jozufozu.flywheel.backend.instancing.Instancer;
|
||||||
import com.jozufozu.flywheel.backend.instancing.MaterialManager;
|
import com.jozufozu.flywheel.backend.material.MaterialManager;
|
||||||
import com.simibubi.create.AllBlockPartials;
|
import com.simibubi.create.AllBlockPartials;
|
||||||
import com.simibubi.create.content.contraptions.base.KineticTileEntity;
|
import com.simibubi.create.content.contraptions.base.KineticTileEntity;
|
||||||
import com.simibubi.create.content.contraptions.base.RotatingData;
|
import com.simibubi.create.content.contraptions.base.RotatingData;
|
||||||
|
|
|
@ -116,6 +116,7 @@ public class MechanicalMixerTileEntity extends BasinOperatingTileEntity {
|
||||||
if (runningTicks >= 40) {
|
if (runningTicks >= 40) {
|
||||||
running = false;
|
running = false;
|
||||||
runningTicks = 0;
|
runningTicks = 0;
|
||||||
|
basinChecker.scheduleUpdate();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package com.simibubi.create.content.contraptions.components.mixer;
|
package com.simibubi.create.content.contraptions.components.mixer;
|
||||||
|
|
||||||
import com.jozufozu.flywheel.backend.instancing.IDynamicInstance;
|
import com.jozufozu.flywheel.backend.instancing.IDynamicInstance;
|
||||||
import com.jozufozu.flywheel.backend.instancing.MaterialManager;
|
import com.jozufozu.flywheel.backend.material.MaterialManager;
|
||||||
import com.jozufozu.flywheel.core.materials.OrientedData;
|
import com.jozufozu.flywheel.core.materials.OrientedData;
|
||||||
import com.simibubi.create.AllBlockPartials;
|
import com.simibubi.create.AllBlockPartials;
|
||||||
import com.simibubi.create.content.contraptions.base.RotatingData;
|
import com.simibubi.create.content.contraptions.base.RotatingData;
|
||||||
|
|
|
@ -201,6 +201,8 @@ public class MechanicalPressTileEntity extends BasinOperatingTileEntity {
|
||||||
&& getBasin().filter(BasinTileEntity::canContinueProcessing)
|
&& getBasin().filter(BasinTileEntity::canContinueProcessing)
|
||||||
.isPresent())
|
.isPresent())
|
||||||
startProcessingBasin();
|
startProcessingBasin();
|
||||||
|
else
|
||||||
|
basinChecker.scheduleUpdate();
|
||||||
|
|
||||||
pressedItems.clear();
|
pressedItems.clear();
|
||||||
sendData();
|
sendData();
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
package com.simibubi.create.content.contraptions.components.press;
|
package com.simibubi.create.content.contraptions.components.press;
|
||||||
|
|
||||||
import com.jozufozu.flywheel.backend.instancing.IDynamicInstance;
|
import com.jozufozu.flywheel.backend.instancing.IDynamicInstance;
|
||||||
import com.jozufozu.flywheel.backend.instancing.MaterialManager;
|
import com.jozufozu.flywheel.backend.material.MaterialManager;
|
||||||
|
import com.jozufozu.flywheel.core.Materials;
|
||||||
import com.jozufozu.flywheel.core.materials.OrientedData;
|
import com.jozufozu.flywheel.core.materials.OrientedData;
|
||||||
import com.simibubi.create.AllBlockPartials;
|
import com.simibubi.create.AllBlockPartials;
|
||||||
import com.simibubi.create.content.contraptions.relays.encased.ShaftInstance;
|
import com.simibubi.create.content.contraptions.relays.encased.ShaftInstance;
|
||||||
|
@ -20,7 +21,8 @@ public class PressInstance extends ShaftInstance implements IDynamicInstance {
|
||||||
super(dispatcher, tile);
|
super(dispatcher, tile);
|
||||||
press = tile;
|
press = tile;
|
||||||
|
|
||||||
pressHead = dispatcher.getOrientedMaterial()
|
pressHead = dispatcher.defaultSolid()
|
||||||
|
.material(Materials.ORIENTED)
|
||||||
.getModel(AllBlockPartials.MECHANICAL_PRESS_HEAD, blockState)
|
.getModel(AllBlockPartials.MECHANICAL_PRESS_HEAD, blockState)
|
||||||
.createInstance();
|
.createInstance();
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
package com.simibubi.create.content.contraptions.components.saw;
|
package com.simibubi.create.content.contraptions.components.saw;
|
||||||
|
|
||||||
|
import com.jozufozu.flywheel.util.transform.MatrixTransformStack;
|
||||||
import com.mojang.blaze3d.matrix.MatrixStack;
|
import com.mojang.blaze3d.matrix.MatrixStack;
|
||||||
import com.simibubi.create.foundation.tileEntity.behaviour.ValueBoxTransform;
|
import com.simibubi.create.foundation.tileEntity.behaviour.ValueBoxTransform;
|
||||||
import com.simibubi.create.foundation.utility.MatrixStacker;
|
|
||||||
import com.simibubi.create.foundation.utility.VecHelper;
|
import com.simibubi.create.foundation.utility.VecHelper;
|
||||||
|
|
||||||
import net.minecraft.block.BlockState;
|
import net.minecraft.block.BlockState;
|
||||||
|
@ -23,7 +23,7 @@ public class SawFilterSlot extends ValueBoxTransform {
|
||||||
@Override
|
@Override
|
||||||
protected void rotate(BlockState state, MatrixStack ms) {
|
protected void rotate(BlockState state, MatrixStack ms) {
|
||||||
int yRot = state.getValue(SawBlock.AXIS_ALONG_FIRST_COORDINATE) ? 270 : 180;
|
int yRot = state.getValue(SawBlock.AXIS_ALONG_FIRST_COORDINATE) ? 270 : 180;
|
||||||
MatrixStacker.of(ms)
|
MatrixTransformStack.of(ms)
|
||||||
.rotateY(yRot)
|
.rotateY(yRot)
|
||||||
.rotateX(90);
|
.rotateX(90);
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,7 @@ package com.simibubi.create.content.contraptions.components.saw;
|
||||||
import static net.minecraft.state.properties.BlockStateProperties.FACING;
|
import static net.minecraft.state.properties.BlockStateProperties.FACING;
|
||||||
|
|
||||||
import com.jozufozu.flywheel.backend.instancing.Instancer;
|
import com.jozufozu.flywheel.backend.instancing.Instancer;
|
||||||
import com.jozufozu.flywheel.backend.instancing.MaterialManager;
|
import com.jozufozu.flywheel.backend.material.MaterialManager;
|
||||||
import com.simibubi.create.AllBlockPartials;
|
import com.simibubi.create.AllBlockPartials;
|
||||||
import com.simibubi.create.content.contraptions.base.KineticTileEntity;
|
import com.simibubi.create.content.contraptions.base.KineticTileEntity;
|
||||||
import com.simibubi.create.content.contraptions.base.RotatingData;
|
import com.simibubi.create.content.contraptions.base.RotatingData;
|
||||||
|
|
|
@ -4,6 +4,7 @@ import static net.minecraft.state.properties.BlockStateProperties.FACING;
|
||||||
|
|
||||||
import com.jozufozu.flywheel.backend.Backend;
|
import com.jozufozu.flywheel.backend.Backend;
|
||||||
import com.jozufozu.flywheel.core.PartialModel;
|
import com.jozufozu.flywheel.core.PartialModel;
|
||||||
|
import com.jozufozu.flywheel.util.transform.MatrixTransformStack;
|
||||||
import com.mojang.blaze3d.matrix.MatrixStack;
|
import com.mojang.blaze3d.matrix.MatrixStack;
|
||||||
import com.simibubi.create.AllBlockPartials;
|
import com.simibubi.create.AllBlockPartials;
|
||||||
import com.simibubi.create.CreateClient;
|
import com.simibubi.create.CreateClient;
|
||||||
|
@ -17,7 +18,6 @@ import com.simibubi.create.foundation.render.SuperByteBuffer;
|
||||||
import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringRenderer;
|
import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringRenderer;
|
||||||
import com.simibubi.create.foundation.tileEntity.renderer.SafeTileEntityRenderer;
|
import com.simibubi.create.foundation.tileEntity.renderer.SafeTileEntityRenderer;
|
||||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||||
import com.simibubi.create.foundation.utility.MatrixStacker;
|
|
||||||
import com.simibubi.create.foundation.utility.VecHelper;
|
import com.simibubi.create.foundation.utility.VecHelper;
|
||||||
import com.simibubi.create.foundation.utility.worldWrappers.PlacementSimulationWorld;
|
import com.simibubi.create.foundation.utility.worldWrappers.PlacementSimulationWorld;
|
||||||
|
|
||||||
|
@ -194,14 +194,14 @@ public class SawRenderer extends SafeTileEntityRenderer<SawTileEntity> {
|
||||||
|
|
||||||
MatrixStack m = matrices.contraptionStack;
|
MatrixStack m = matrices.contraptionStack;
|
||||||
m.pushPose();
|
m.pushPose();
|
||||||
MatrixStacker.of(m)
|
MatrixTransformStack.of(m)
|
||||||
.centre()
|
.centre()
|
||||||
.rotateY(AngleHelper.horizontalAngle(facing))
|
.rotateY(AngleHelper.horizontalAngle(facing))
|
||||||
.rotateX(AngleHelper.verticalAngle(facing));
|
.rotateX(AngleHelper.verticalAngle(facing));
|
||||||
if (!SawBlock.isHorizontal(state))
|
if (!SawBlock.isHorizontal(state))
|
||||||
MatrixStacker.of(m)
|
MatrixTransformStack.of(m)
|
||||||
.rotateZ(state.getValue(SawBlock.AXIS_ALONG_FIRST_COORDINATE) ? 0 : 90);
|
.rotateZ(state.getValue(SawBlock.AXIS_ALONG_FIRST_COORDINATE) ? 0 : 90);
|
||||||
MatrixStacker.of(m)
|
MatrixTransformStack.of(m)
|
||||||
.unCentre();
|
.unCentre();
|
||||||
|
|
||||||
superBuffer.transform(m)
|
superBuffer.transform(m)
|
||||||
|
|
|
@ -2,10 +2,10 @@ package com.simibubi.create.content.contraptions.components.structureMovement;
|
||||||
|
|
||||||
import static com.simibubi.create.foundation.utility.AngleHelper.angleLerp;
|
import static com.simibubi.create.foundation.utility.AngleHelper.angleLerp;
|
||||||
|
|
||||||
|
import com.jozufozu.flywheel.util.transform.MatrixTransformStack;
|
||||||
import com.mojang.blaze3d.matrix.MatrixStack;
|
import com.mojang.blaze3d.matrix.MatrixStack;
|
||||||
import com.simibubi.create.AllEntityTypes;
|
import com.simibubi.create.AllEntityTypes;
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.bearing.BearingContraption;
|
import com.simibubi.create.content.contraptions.components.structureMovement.bearing.BearingContraption;
|
||||||
import com.simibubi.create.foundation.utility.MatrixStacker;
|
|
||||||
import com.simibubi.create.foundation.utility.NBTHelper;
|
import com.simibubi.create.foundation.utility.NBTHelper;
|
||||||
import com.simibubi.create.foundation.utility.VecHelper;
|
import com.simibubi.create.foundation.utility.VecHelper;
|
||||||
|
|
||||||
|
@ -231,7 +231,7 @@ public class ControlledContraptionEntity extends AbstractContraptionEntity {
|
||||||
Axis axis = getRotationAxis();
|
Axis axis = getRotationAxis();
|
||||||
|
|
||||||
for (MatrixStack stack : matrixStacks)
|
for (MatrixStack stack : matrixStacks)
|
||||||
MatrixStacker.of(stack)
|
MatrixTransformStack.of(stack)
|
||||||
.nudge(getId())
|
.nudge(getId())
|
||||||
.centre()
|
.centre()
|
||||||
.rotate(angle, axis)
|
.rotate(angle, axis)
|
||||||
|
|
|
@ -2,10 +2,10 @@ package com.simibubi.create.content.contraptions.components.structureMovement;
|
||||||
|
|
||||||
import java.util.function.BiPredicate;
|
import java.util.function.BiPredicate;
|
||||||
|
|
||||||
|
import com.jozufozu.flywheel.util.transform.MatrixTransformStack;
|
||||||
import com.mojang.blaze3d.matrix.MatrixStack;
|
import com.mojang.blaze3d.matrix.MatrixStack;
|
||||||
import com.simibubi.create.foundation.tileEntity.behaviour.CenteredSideValueBoxTransform;
|
import com.simibubi.create.foundation.tileEntity.behaviour.CenteredSideValueBoxTransform;
|
||||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||||
import com.simibubi.create.foundation.utility.MatrixStacker;
|
|
||||||
|
|
||||||
import net.minecraft.block.BlockState;
|
import net.minecraft.block.BlockState;
|
||||||
import net.minecraft.state.properties.BlockStateProperties;
|
import net.minecraft.state.properties.BlockStateProperties;
|
||||||
|
@ -27,7 +27,7 @@ public class DirectionalExtenderScrollOptionSlot extends CenteredSideValueBoxTra
|
||||||
@Override
|
@Override
|
||||||
protected void rotate(BlockState state, MatrixStack ms) {
|
protected void rotate(BlockState state, MatrixStack ms) {
|
||||||
if (!getSide().getAxis().isHorizontal())
|
if (!getSide().getAxis().isHorizontal())
|
||||||
MatrixStacker.of(ms).rotateY(AngleHelper.horizontalAngle(state.getValue(BlockStateProperties.FACING)) - 90);
|
MatrixTransformStack.of(ms).rotateY(AngleHelper.horizontalAngle(state.getValue(BlockStateProperties.FACING)) - 90);
|
||||||
super.rotate(state, ms);
|
super.rotate(state, ms);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@ package com.simibubi.create.content.contraptions.components.structureMovement;
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
|
||||||
import com.jozufozu.flywheel.backend.instancing.MaterialManager;
|
import com.jozufozu.flywheel.backend.material.MaterialManager;
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.render.ActorInstance;
|
import com.simibubi.create.content.contraptions.components.structureMovement.render.ActorInstance;
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.render.ContraptionMatrices;
|
import com.simibubi.create.content.contraptions.components.structureMovement.render.ContraptionMatrices;
|
||||||
import com.simibubi.create.foundation.utility.worldWrappers.PlacementSimulationWorld;
|
import com.simibubi.create.foundation.utility.worldWrappers.PlacementSimulationWorld;
|
||||||
|
|
|
@ -7,6 +7,7 @@ import java.util.UUID;
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
|
||||||
|
import com.jozufozu.flywheel.util.transform.MatrixTransformStack;
|
||||||
import com.mojang.blaze3d.matrix.MatrixStack;
|
import com.mojang.blaze3d.matrix.MatrixStack;
|
||||||
import com.simibubi.create.AllEntityTypes;
|
import com.simibubi.create.AllEntityTypes;
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.bearing.StabilizedContraption;
|
import com.simibubi.create.content.contraptions.components.structureMovement.bearing.StabilizedContraption;
|
||||||
|
@ -18,7 +19,6 @@ import com.simibubi.create.content.contraptions.components.structureMovement.tra
|
||||||
import com.simibubi.create.foundation.item.ItemHelper;
|
import com.simibubi.create.foundation.item.ItemHelper;
|
||||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||||
import com.simibubi.create.foundation.utility.Couple;
|
import com.simibubi.create.foundation.utility.Couple;
|
||||||
import com.simibubi.create.foundation.utility.MatrixStacker;
|
|
||||||
import com.simibubi.create.foundation.utility.NBTHelper;
|
import com.simibubi.create.foundation.utility.NBTHelper;
|
||||||
import com.simibubi.create.foundation.utility.VecHelper;
|
import com.simibubi.create.foundation.utility.VecHelper;
|
||||||
|
|
||||||
|
@ -536,7 +536,7 @@ public class OrientedContraptionEntity extends AbstractContraptionEntity {
|
||||||
}
|
}
|
||||||
|
|
||||||
for (MatrixStack stack : matrixStacks)
|
for (MatrixStack stack : matrixStacks)
|
||||||
MatrixStacker.of(stack)
|
MatrixTransformStack.of(stack)
|
||||||
.nudge(getId())
|
.nudge(getId())
|
||||||
.centre()
|
.centre()
|
||||||
.rotateY(angleYaw)
|
.rotateY(angleYaw)
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package com.simibubi.create.content.contraptions.components.structureMovement.bearing;
|
package com.simibubi.create.content.contraptions.components.structureMovement.bearing;
|
||||||
|
|
||||||
import com.jozufozu.flywheel.backend.instancing.IDynamicInstance;
|
import com.jozufozu.flywheel.backend.instancing.IDynamicInstance;
|
||||||
import com.jozufozu.flywheel.backend.instancing.MaterialManager;
|
import com.jozufozu.flywheel.backend.material.MaterialManager;
|
||||||
import com.jozufozu.flywheel.core.PartialModel;
|
import com.jozufozu.flywheel.core.PartialModel;
|
||||||
import com.jozufozu.flywheel.core.materials.OrientedData;
|
import com.jozufozu.flywheel.core.materials.OrientedData;
|
||||||
import com.simibubi.create.AllBlockPartials;
|
import com.simibubi.create.AllBlockPartials;
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package com.simibubi.create.content.contraptions.components.structureMovement.bearing;
|
package com.simibubi.create.content.contraptions.components.structureMovement.bearing;
|
||||||
|
|
||||||
import com.jozufozu.flywheel.backend.instancing.MaterialManager;
|
import com.jozufozu.flywheel.backend.material.MaterialManager;
|
||||||
|
import com.jozufozu.flywheel.core.Materials;
|
||||||
import com.jozufozu.flywheel.core.materials.OrientedData;
|
import com.jozufozu.flywheel.core.materials.OrientedData;
|
||||||
import com.simibubi.create.AllBlockPartials;
|
import com.simibubi.create.AllBlockPartials;
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.MovementContext;
|
import com.simibubi.create.content.contraptions.components.structureMovement.MovementContext;
|
||||||
|
@ -32,7 +33,9 @@ public class StabilizedBearingInstance extends ActorInstance {
|
||||||
|
|
||||||
blockOrientation = BearingInstance.getBlockStateOrientation(facing);
|
blockOrientation = BearingInstance.getBlockStateOrientation(facing);
|
||||||
|
|
||||||
topInstance = materialManager.getOrientedMaterial().getModel(AllBlockPartials.BEARING_TOP, blockState).createInstance();
|
topInstance = materialManager.defaultSolid()
|
||||||
|
.material(Materials.ORIENTED)
|
||||||
|
.getModel(AllBlockPartials.BEARING_TOP, blockState).createInstance();
|
||||||
|
|
||||||
topInstance.setPosition(context.localPos)
|
topInstance.setPosition(context.localPos)
|
||||||
.setRotation(blockOrientation)
|
.setRotation(blockOrientation)
|
||||||
|
|
|
@ -3,7 +3,7 @@ package com.simibubi.create.content.contraptions.components.structureMovement.be
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
|
||||||
import com.jozufozu.flywheel.backend.Backend;
|
import com.jozufozu.flywheel.backend.Backend;
|
||||||
import com.jozufozu.flywheel.backend.instancing.MaterialManager;
|
import com.jozufozu.flywheel.backend.material.MaterialManager;
|
||||||
import com.jozufozu.flywheel.core.PartialModel;
|
import com.jozufozu.flywheel.core.PartialModel;
|
||||||
import com.simibubi.create.AllBlockPartials;
|
import com.simibubi.create.AllBlockPartials;
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.AbstractContraptionEntity;
|
import com.simibubi.create.content.contraptions.components.structureMovement.AbstractContraptionEntity;
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
package com.simibubi.create.content.contraptions.components.structureMovement.chassis;
|
package com.simibubi.create.content.contraptions.components.structureMovement.chassis;
|
||||||
|
|
||||||
import com.jozufozu.flywheel.backend.instancing.IDynamicInstance;
|
import com.jozufozu.flywheel.backend.instancing.IDynamicInstance;
|
||||||
import com.jozufozu.flywheel.backend.instancing.MaterialManager;
|
import com.jozufozu.flywheel.backend.material.MaterialManager;
|
||||||
import com.jozufozu.flywheel.backend.instancing.tile.TileEntityInstance;
|
import com.jozufozu.flywheel.backend.instancing.tile.TileEntityInstance;
|
||||||
import com.jozufozu.flywheel.core.materials.ModelData;
|
import com.jozufozu.flywheel.core.materials.ModelData;
|
||||||
|
import com.jozufozu.flywheel.util.transform.MatrixTransformStack;
|
||||||
import com.mojang.blaze3d.matrix.MatrixStack;
|
import com.mojang.blaze3d.matrix.MatrixStack;
|
||||||
import com.simibubi.create.AllBlockPartials;
|
import com.simibubi.create.AllBlockPartials;
|
||||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||||
import com.simibubi.create.foundation.utility.MatrixStacker;
|
|
||||||
|
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.util.Direction;
|
import net.minecraft.util.Direction;
|
||||||
|
@ -52,7 +52,7 @@ public class StickerInstance extends TileEntityInstance<StickerTileEntity> imple
|
||||||
|
|
||||||
private void animateHead(float offset) {
|
private void animateHead(float offset) {
|
||||||
MatrixStack stack = new MatrixStack();
|
MatrixStack stack = new MatrixStack();
|
||||||
MatrixStacker.of(stack)
|
MatrixTransformStack.of(stack)
|
||||||
.translate(getInstancePosition())
|
.translate(getInstancePosition())
|
||||||
.nudge(tile.hashCode())
|
.nudge(tile.hashCode())
|
||||||
.centre()
|
.centre()
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
package com.simibubi.create.content.contraptions.components.structureMovement.gantry;
|
package com.simibubi.create.content.contraptions.components.structureMovement.gantry;
|
||||||
|
|
||||||
import com.jozufozu.flywheel.backend.instancing.IDynamicInstance;
|
import com.jozufozu.flywheel.backend.instancing.IDynamicInstance;
|
||||||
import com.jozufozu.flywheel.backend.instancing.MaterialManager;
|
import com.jozufozu.flywheel.backend.material.MaterialManager;
|
||||||
import com.jozufozu.flywheel.core.materials.ModelData;
|
import com.jozufozu.flywheel.core.materials.ModelData;
|
||||||
|
import com.jozufozu.flywheel.util.transform.MatrixTransformStack;
|
||||||
import com.mojang.blaze3d.matrix.MatrixStack;
|
import com.mojang.blaze3d.matrix.MatrixStack;
|
||||||
import com.simibubi.create.AllBlockPartials;
|
import com.simibubi.create.AllBlockPartials;
|
||||||
import com.simibubi.create.content.contraptions.base.KineticTileEntity;
|
import com.simibubi.create.content.contraptions.base.KineticTileEntity;
|
||||||
|
@ -10,7 +11,6 @@ import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer;
|
||||||
import com.simibubi.create.content.contraptions.relays.encased.ShaftInstance;
|
import com.simibubi.create.content.contraptions.relays.encased.ShaftInstance;
|
||||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||||
import com.simibubi.create.foundation.utility.Iterate;
|
import com.simibubi.create.foundation.utility.Iterate;
|
||||||
import com.simibubi.create.foundation.utility.MatrixStacker;
|
|
||||||
|
|
||||||
import net.minecraft.util.Direction;
|
import net.minecraft.util.Direction;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
|
@ -64,7 +64,7 @@ public class GantryCarriageInstance extends ShaftInstance implements IDynamicIns
|
||||||
|
|
||||||
private void animateCogs(float cogAngle) {
|
private void animateCogs(float cogAngle) {
|
||||||
MatrixStack ms = new MatrixStack();
|
MatrixStack ms = new MatrixStack();
|
||||||
MatrixStacker.of(ms)
|
MatrixTransformStack.of(ms)
|
||||||
.translate(getInstancePosition())
|
.translate(getInstancePosition())
|
||||||
.centre()
|
.centre()
|
||||||
.rotateY(AngleHelper.horizontalAngle(facing))
|
.rotateY(AngleHelper.horizontalAngle(facing))
|
||||||
|
|
|
@ -1,17 +1,22 @@
|
||||||
package com.simibubi.create.content.contraptions.components.structureMovement.glue;
|
package com.simibubi.create.content.contraptions.components.structureMovement.glue;
|
||||||
|
|
||||||
|
import com.jozufozu.flywheel.backend.gl.attrib.VertexFormat;
|
||||||
import com.jozufozu.flywheel.backend.gl.buffer.VecBuffer;
|
import com.jozufozu.flywheel.backend.gl.buffer.VecBuffer;
|
||||||
import com.jozufozu.flywheel.backend.instancing.ITickableInstance;
|
import com.jozufozu.flywheel.backend.instancing.ITickableInstance;
|
||||||
import com.jozufozu.flywheel.backend.instancing.InstanceMaterial;
|
|
||||||
import com.jozufozu.flywheel.backend.instancing.Instancer;
|
import com.jozufozu.flywheel.backend.instancing.Instancer;
|
||||||
import com.jozufozu.flywheel.backend.instancing.MaterialManager;
|
import com.jozufozu.flywheel.backend.material.MaterialManager;
|
||||||
import com.jozufozu.flywheel.backend.instancing.entity.EntityInstance;
|
import com.jozufozu.flywheel.backend.instancing.entity.EntityInstance;
|
||||||
|
import com.jozufozu.flywheel.backend.material.MaterialGroup;
|
||||||
import com.jozufozu.flywheel.backend.model.BufferedModel;
|
import com.jozufozu.flywheel.backend.model.BufferedModel;
|
||||||
|
import com.jozufozu.flywheel.backend.model.ElementBuffer;
|
||||||
import com.jozufozu.flywheel.backend.model.IndexedModel;
|
import com.jozufozu.flywheel.backend.model.IndexedModel;
|
||||||
|
import com.jozufozu.flywheel.backend.state.TextureRenderState;
|
||||||
import com.jozufozu.flywheel.core.Formats;
|
import com.jozufozu.flywheel.core.Formats;
|
||||||
import com.jozufozu.flywheel.core.Materials;
|
import com.jozufozu.flywheel.core.Materials;
|
||||||
|
import com.jozufozu.flywheel.core.QuadConverter;
|
||||||
import com.jozufozu.flywheel.core.instancing.ConditionalInstance;
|
import com.jozufozu.flywheel.core.instancing.ConditionalInstance;
|
||||||
import com.jozufozu.flywheel.core.materials.OrientedData;
|
import com.jozufozu.flywheel.core.materials.OrientedData;
|
||||||
|
import com.jozufozu.flywheel.core.model.IModel;
|
||||||
import com.simibubi.create.AllItems;
|
import com.simibubi.create.AllItems;
|
||||||
import com.simibubi.create.AllStitchedTextures;
|
import com.simibubi.create.AllStitchedTextures;
|
||||||
import com.simibubi.create.Create;
|
import com.simibubi.create.Create;
|
||||||
|
@ -51,14 +56,9 @@ public class GlueInstance extends EntityInstance<SuperGlueEntity> implements ITi
|
||||||
}
|
}
|
||||||
|
|
||||||
private Instancer<OrientedData> getInstancer(MaterialManager<?> materialManager, SuperGlueEntity entity) {
|
private Instancer<OrientedData> getInstancer(MaterialManager<?> materialManager, SuperGlueEntity entity) {
|
||||||
InstanceMaterial<OrientedData> material;
|
MaterialGroup<?> group = USE_ATLAS ? materialManager.defaultSolid() : materialManager.solid(TextureRenderState.get(TEXTURE));
|
||||||
|
|
||||||
if (USE_ATLAS)
|
return group.material(Materials.ORIENTED).model(entity.getType(), GlueModel::new);
|
||||||
material = materialManager.getMaterial(Materials.ORIENTED);
|
|
||||||
else
|
|
||||||
material = materialManager.getMaterial(Materials.ORIENTED, TEXTURE);
|
|
||||||
|
|
||||||
return material.get(entity.getType(), GlueInstance::supplyModel);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -99,64 +99,76 @@ public class GlueInstance extends EntityInstance<SuperGlueEntity> implements ITi
|
||||||
|| AllItems.SUPER_GLUE.isIn(player.getOffhandItem());
|
|| AllItems.SUPER_GLUE.isIn(player.getOffhandItem());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static BufferedModel supplyModel() {
|
public static class GlueModel implements IModel {
|
||||||
Vector3d diff = Vector3d.atLowerCornerOf(Direction.SOUTH.getNormal());
|
@Override
|
||||||
Vector3d extension = diff.normalize()
|
public void buffer(VecBuffer buffer) {
|
||||||
.scale(1 / 32f - 1 / 128f);
|
Vector3d diff = Vector3d.atLowerCornerOf(Direction.SOUTH.getNormal());
|
||||||
|
Vector3d extension = diff.normalize()
|
||||||
|
.scale(1 / 32f - 1 / 128f);
|
||||||
|
|
||||||
Vector3d plane = VecHelper.axisAlingedPlaneOf(diff);
|
Vector3d plane = VecHelper.axisAlingedPlaneOf(diff);
|
||||||
Direction.Axis axis = Direction.getNearest(diff.x, diff.y, diff.z)
|
Direction.Axis axis = Direction.getNearest(diff.x, diff.y, diff.z)
|
||||||
.getAxis();
|
.getAxis();
|
||||||
|
|
||||||
Vector3d start = Vector3d.ZERO.subtract(extension);
|
Vector3d start = Vector3d.ZERO.subtract(extension);
|
||||||
Vector3d end = Vector3d.ZERO.add(extension);
|
Vector3d end = Vector3d.ZERO.add(extension);
|
||||||
|
|
||||||
plane = plane.scale(1 / 2f);
|
plane = plane.scale(1 / 2f);
|
||||||
Vector3d a1 = plane.add(start);
|
Vector3d a1 = plane.add(start);
|
||||||
Vector3d b1 = plane.add(end);
|
Vector3d b1 = plane.add(end);
|
||||||
plane = VecHelper.rotate(plane, -90, axis);
|
plane = VecHelper.rotate(plane, -90, axis);
|
||||||
Vector3d a2 = plane.add(start);
|
Vector3d a2 = plane.add(start);
|
||||||
Vector3d b2 = plane.add(end);
|
Vector3d b2 = plane.add(end);
|
||||||
plane = VecHelper.rotate(plane, -90, axis);
|
plane = VecHelper.rotate(plane, -90, axis);
|
||||||
Vector3d a3 = plane.add(start);
|
Vector3d a3 = plane.add(start);
|
||||||
Vector3d b3 = plane.add(end);
|
Vector3d b3 = plane.add(end);
|
||||||
plane = VecHelper.rotate(plane, -90, axis);
|
plane = VecHelper.rotate(plane, -90, axis);
|
||||||
Vector3d a4 = plane.add(start);
|
Vector3d a4 = plane.add(start);
|
||||||
Vector3d b4 = plane.add(end);
|
Vector3d b4 = plane.add(end);
|
||||||
|
|
||||||
VecBuffer buffer = VecBuffer.allocate(Formats.UNLIT_MODEL.getStride() * 8);
|
float minU;
|
||||||
|
float maxU;
|
||||||
|
float minV;
|
||||||
|
float maxV;
|
||||||
|
|
||||||
float minU;
|
if (USE_ATLAS) {
|
||||||
float maxU;
|
TextureAtlasSprite sprite = AllStitchedTextures.SUPER_GLUE.getSprite();
|
||||||
float minV;
|
minU = sprite.getU0();
|
||||||
float maxV;
|
maxU = sprite.getU1();
|
||||||
|
minV = sprite.getV0();
|
||||||
|
maxV = sprite.getV1();
|
||||||
|
} else {
|
||||||
|
minU = minV = 0;
|
||||||
|
maxU = maxV = 1;
|
||||||
|
}
|
||||||
|
|
||||||
if (USE_ATLAS) {
|
// pos normal uv
|
||||||
TextureAtlasSprite sprite = AllStitchedTextures.SUPER_GLUE.getSprite();
|
// inside quad
|
||||||
minU = sprite.getU0();
|
buffer.putVec3((float) a1.x, (float) a1.y, (float) a1.z).putVec3((byte) 0, (byte) 0, (byte) -127).putVec2(maxU, minV);
|
||||||
maxU = sprite.getU1();
|
buffer.putVec3((float) a2.x, (float) a2.y, (float) a2.z).putVec3((byte) 0, (byte) 0, (byte) -127).putVec2(maxU, maxV);
|
||||||
minV = sprite.getV0();
|
buffer.putVec3((float) a3.x, (float) a3.y, (float) a3.z).putVec3((byte) 0, (byte) 0, (byte) -127).putVec2(minU, maxV);
|
||||||
maxV = sprite.getV1();
|
buffer.putVec3((float) a4.x, (float) a4.y, (float) a4.z).putVec3((byte) 0, (byte) 0, (byte) -127).putVec2(minU, minV);
|
||||||
} else {
|
// outside quad
|
||||||
minU = minV = 0;
|
buffer.putVec3((float) b4.x, (float) b4.y, (float) b4.z).putVec3((byte) 0, (byte) 0, (byte) 127).putVec2(minU, minV);
|
||||||
maxU = maxV = 1;
|
buffer.putVec3((float) b3.x, (float) b3.y, (float) b3.z).putVec3((byte) 0, (byte) 0, (byte) 127).putVec2(minU, maxV);
|
||||||
|
buffer.putVec3((float) b2.x, (float) b2.y, (float) b2.z).putVec3((byte) 0, (byte) 0, (byte) 127).putVec2(maxU, maxV);
|
||||||
|
buffer.putVec3((float) b1.x, (float) b1.y, (float) b1.z).putVec3((byte) 0, (byte) 0, (byte) 127).putVec2(maxU, minV);
|
||||||
}
|
}
|
||||||
|
|
||||||
// pos normal uv
|
@Override
|
||||||
// inside quad
|
public int vertexCount() {
|
||||||
buffer.putVec3((float) a1.x, (float) a1.y, (float) a1.z).putVec3((byte) 0, (byte) 0, (byte) -127).putVec2(maxU, minV);
|
return 8;
|
||||||
buffer.putVec3((float) a2.x, (float) a2.y, (float) a2.z).putVec3((byte) 0, (byte) 0, (byte) -127).putVec2(maxU, maxV);
|
}
|
||||||
buffer.putVec3((float) a3.x, (float) a3.y, (float) a3.z).putVec3((byte) 0, (byte) 0, (byte) -127).putVec2(minU, maxV);
|
|
||||||
buffer.putVec3((float) a4.x, (float) a4.y, (float) a4.z).putVec3((byte) 0, (byte) 0, (byte) -127).putVec2(minU, minV);
|
|
||||||
// outside quad
|
|
||||||
buffer.putVec3((float) b4.x, (float) b4.y, (float) b4.z).putVec3((byte) 0, (byte) 0, (byte) 127).putVec2(minU, minV);
|
|
||||||
buffer.putVec3((float) b3.x, (float) b3.y, (float) b3.z).putVec3((byte) 0, (byte) 0, (byte) 127).putVec2(minU, maxV);
|
|
||||||
buffer.putVec3((float) b2.x, (float) b2.y, (float) b2.z).putVec3((byte) 0, (byte) 0, (byte) 127).putVec2(maxU, maxV);
|
|
||||||
buffer.putVec3((float) b1.x, (float) b1.y, (float) b1.z).putVec3((byte) 0, (byte) 0, (byte) 127).putVec2(maxU, minV);
|
|
||||||
|
|
||||||
buffer.rewind();
|
@Override
|
||||||
|
public VertexFormat format() {
|
||||||
|
return Formats.UNLIT_MODEL;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
return IndexedModel.fromSequentialQuads(Formats.UNLIT_MODEL, buffer.unwrap(), 8);
|
public ElementBuffer createEBO() {
|
||||||
|
return QuadConverter.getInstance()
|
||||||
|
.quads2Tris(2);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
package com.simibubi.create.content.contraptions.components.structureMovement.glue;
|
package com.simibubi.create.content.contraptions.components.structureMovement.glue;
|
||||||
|
|
||||||
|
import com.jozufozu.flywheel.util.transform.MatrixTransformStack;
|
||||||
import com.mojang.blaze3d.matrix.MatrixStack;
|
import com.mojang.blaze3d.matrix.MatrixStack;
|
||||||
import com.mojang.blaze3d.matrix.MatrixStack.Entry;
|
import com.mojang.blaze3d.matrix.MatrixStack.Entry;
|
||||||
import com.mojang.blaze3d.vertex.IVertexBuilder;
|
import com.mojang.blaze3d.vertex.IVertexBuilder;
|
||||||
import com.simibubi.create.AllItems;
|
import com.simibubi.create.AllItems;
|
||||||
import com.simibubi.create.Create;
|
import com.simibubi.create.Create;
|
||||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||||
import com.simibubi.create.foundation.utility.MatrixStacker;
|
|
||||||
import com.simibubi.create.foundation.utility.VecHelper;
|
import com.simibubi.create.foundation.utility.VecHelper;
|
||||||
|
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
|
@ -69,7 +69,7 @@ public class SuperGlueRenderer extends EntityRenderer<SuperGlueEntity> {
|
||||||
Direction face = entity.getFacingDirection();
|
Direction face = entity.getFacingDirection();
|
||||||
|
|
||||||
ms.pushPose();
|
ms.pushPose();
|
||||||
MatrixStacker.of(ms)
|
MatrixTransformStack.of(ms)
|
||||||
.rotateY(AngleHelper.horizontalAngleNew(face))
|
.rotateY(AngleHelper.horizontalAngleNew(face))
|
||||||
.rotateX(AngleHelper.verticalAngle(face));
|
.rotateX(AngleHelper.verticalAngle(face));
|
||||||
Entry peek = ms.last();
|
Entry peek = ms.last();
|
||||||
|
|
|
@ -4,7 +4,7 @@ import java.util.Arrays;
|
||||||
|
|
||||||
import com.jozufozu.flywheel.backend.instancing.IDynamicInstance;
|
import com.jozufozu.flywheel.backend.instancing.IDynamicInstance;
|
||||||
import com.jozufozu.flywheel.backend.instancing.Instancer;
|
import com.jozufozu.flywheel.backend.instancing.Instancer;
|
||||||
import com.jozufozu.flywheel.backend.instancing.MaterialManager;
|
import com.jozufozu.flywheel.backend.material.MaterialManager;
|
||||||
import com.jozufozu.flywheel.core.instancing.ConditionalInstance;
|
import com.jozufozu.flywheel.core.instancing.ConditionalInstance;
|
||||||
import com.jozufozu.flywheel.core.instancing.GroupInstance;
|
import com.jozufozu.flywheel.core.instancing.GroupInstance;
|
||||||
import com.jozufozu.flywheel.core.instancing.SelectInstance;
|
import com.jozufozu.flywheel.core.instancing.SelectInstance;
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
package com.simibubi.create.content.contraptions.components.structureMovement.pulley;
|
package com.simibubi.create.content.contraptions.components.structureMovement.pulley;
|
||||||
|
|
||||||
import com.jozufozu.flywheel.backend.instancing.Instancer;
|
import com.jozufozu.flywheel.backend.instancing.Instancer;
|
||||||
import com.jozufozu.flywheel.backend.instancing.MaterialManager;
|
import com.jozufozu.flywheel.backend.material.MaterialManager;
|
||||||
|
import com.jozufozu.flywheel.core.Materials;
|
||||||
import com.jozufozu.flywheel.core.materials.OrientedData;
|
import com.jozufozu.flywheel.core.materials.OrientedData;
|
||||||
import com.simibubi.create.AllBlockPartials;
|
import com.simibubi.create.AllBlockPartials;
|
||||||
import com.simibubi.create.content.contraptions.fluids.actors.HosePulleyTileEntity;
|
import com.simibubi.create.content.contraptions.fluids.actors.HosePulleyTileEntity;
|
||||||
|
@ -20,11 +21,15 @@ public class HosePulleyInstance extends AbstractPulleyInstance {
|
||||||
}
|
}
|
||||||
|
|
||||||
protected Instancer<OrientedData> getMagnetModel() {
|
protected Instancer<OrientedData> getMagnetModel() {
|
||||||
return getOrientedMaterial().getModel(AllBlockPartials.HOSE_MAGNET, blockState);
|
return materialManager.defaultCutout()
|
||||||
|
.material(Materials.ORIENTED)
|
||||||
|
.getModel(AllBlockPartials.HOSE_MAGNET, blockState);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected Instancer<OrientedData> getHalfMagnetModel() {
|
protected Instancer<OrientedData> getHalfMagnetModel() {
|
||||||
return getOrientedMaterial().getModel(AllBlockPartials.HOSE_HALF_MAGNET, blockState);
|
return materialManager.defaultCutout()
|
||||||
|
.material(Materials.ORIENTED)
|
||||||
|
.getModel(AllBlockPartials.HOSE_HALF_MAGNET, blockState);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected Instancer<OrientedData> getCoilModel() {
|
protected Instancer<OrientedData> getCoilModel() {
|
||||||
|
|
|
@ -2,7 +2,7 @@ package com.simibubi.create.content.contraptions.components.structureMovement.pu
|
||||||
|
|
||||||
|
|
||||||
import com.jozufozu.flywheel.backend.instancing.Instancer;
|
import com.jozufozu.flywheel.backend.instancing.Instancer;
|
||||||
import com.jozufozu.flywheel.backend.instancing.MaterialManager;
|
import com.jozufozu.flywheel.backend.material.MaterialManager;
|
||||||
import com.jozufozu.flywheel.core.materials.OrientedData;
|
import com.jozufozu.flywheel.core.materials.OrientedData;
|
||||||
import com.simibubi.create.AllBlockPartials;
|
import com.simibubi.create.AllBlockPartials;
|
||||||
import com.simibubi.create.AllBlocks;
|
import com.simibubi.create.AllBlocks;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
package com.simibubi.create.content.contraptions.components.structureMovement.render;
|
package com.simibubi.create.content.contraptions.components.structureMovement.render;
|
||||||
|
|
||||||
import com.jozufozu.flywheel.backend.instancing.MaterialManager;
|
import com.jozufozu.flywheel.backend.material.MaterialManager;
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.MovementContext;
|
import com.simibubi.create.content.contraptions.components.structureMovement.MovementContext;
|
||||||
import com.simibubi.create.foundation.utility.worldWrappers.PlacementSimulationWorld;
|
import com.simibubi.create.foundation.utility.worldWrappers.PlacementSimulationWorld;
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
package com.simibubi.create.content.contraptions.components.structureMovement.render;
|
||||||
|
|
||||||
|
import com.jozufozu.flywheel.backend.material.MaterialGroup;
|
||||||
|
import com.jozufozu.flywheel.backend.material.MaterialManager;
|
||||||
|
import com.jozufozu.flywheel.backend.state.IRenderState;
|
||||||
|
|
||||||
|
public class ContraptionGroup<P extends ContraptionProgram> extends MaterialGroup<P> {
|
||||||
|
|
||||||
|
private final RenderedContraption contraption;
|
||||||
|
|
||||||
|
public ContraptionGroup(RenderedContraption contraption, MaterialManager<P> owner, IRenderState state) {
|
||||||
|
super(owner, state);
|
||||||
|
|
||||||
|
this.contraption = contraption;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setup(P program) {
|
||||||
|
contraption.setup(program);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static <P extends ContraptionProgram> MaterialManager.GroupFactory<P> forContraption(RenderedContraption c) {
|
||||||
|
return (materialManager, state) -> new ContraptionGroup<>(c, materialManager, state);
|
||||||
|
}
|
||||||
|
}
|
|
@ -7,7 +7,7 @@ import javax.annotation.Nullable;
|
||||||
|
|
||||||
import org.apache.commons.lang3.tuple.Pair;
|
import org.apache.commons.lang3.tuple.Pair;
|
||||||
|
|
||||||
import com.jozufozu.flywheel.backend.instancing.MaterialManager;
|
import com.jozufozu.flywheel.backend.material.MaterialManager;
|
||||||
import com.jozufozu.flywheel.backend.instancing.tile.TileInstanceManager;
|
import com.jozufozu.flywheel.backend.instancing.tile.TileInstanceManager;
|
||||||
import com.simibubi.create.AllMovementBehaviours;
|
import com.simibubi.create.AllMovementBehaviours;
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.MovementBehaviour;
|
import com.simibubi.create.content.contraptions.components.structureMovement.MovementBehaviour;
|
||||||
|
|
|
@ -1,22 +0,0 @@
|
||||||
package com.simibubi.create.content.contraptions.components.structureMovement.render;
|
|
||||||
|
|
||||||
import com.jozufozu.flywheel.backend.instancing.MaterialManager;
|
|
||||||
import com.jozufozu.flywheel.backend.instancing.MaterialRenderer;
|
|
||||||
import com.jozufozu.flywheel.core.WorldContext;
|
|
||||||
import com.jozufozu.flywheel.core.shader.IProgramCallback;
|
|
||||||
|
|
||||||
import net.minecraft.client.renderer.RenderType;
|
|
||||||
import net.minecraft.util.math.vector.Matrix4f;
|
|
||||||
|
|
||||||
public class ContraptionMaterialManager extends MaterialManager<ContraptionProgram> {
|
|
||||||
public ContraptionMaterialManager(WorldContext<ContraptionProgram> context) {
|
|
||||||
super(context);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void render(RenderType layer, Matrix4f viewProjection, double camX, double camY, double camZ, IProgramCallback<ContraptionProgram> callback) {
|
|
||||||
for (MaterialRenderer<ContraptionProgram> material : atlasRenderers) {
|
|
||||||
material.render(layer, viewProjection, camX, camY, camZ, callback);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -5,9 +5,6 @@ import static org.lwjgl.opengl.GL11.glBindTexture;
|
||||||
import static org.lwjgl.opengl.GL11.glDisable;
|
import static org.lwjgl.opengl.GL11.glDisable;
|
||||||
import static org.lwjgl.opengl.GL11.glEnable;
|
import static org.lwjgl.opengl.GL11.glEnable;
|
||||||
import static org.lwjgl.opengl.GL12.GL_TEXTURE_3D;
|
import static org.lwjgl.opengl.GL12.GL_TEXTURE_3D;
|
||||||
import static org.lwjgl.opengl.GL13.GL_TEXTURE0;
|
|
||||||
import static org.lwjgl.opengl.GL13.GL_TEXTURE4;
|
|
||||||
import static org.lwjgl.opengl.GL13.glActiveTexture;
|
|
||||||
import static org.lwjgl.opengl.GL20.glUseProgram;
|
import static org.lwjgl.opengl.GL20.glUseProgram;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -16,10 +13,13 @@ import java.util.Random;
|
||||||
import org.apache.commons.lang3.tuple.Pair;
|
import org.apache.commons.lang3.tuple.Pair;
|
||||||
|
|
||||||
import com.jozufozu.flywheel.backend.Backend;
|
import com.jozufozu.flywheel.backend.Backend;
|
||||||
|
import com.jozufozu.flywheel.backend.gl.GlTextureUnit;
|
||||||
|
import com.jozufozu.flywheel.backend.state.RenderLayer;
|
||||||
import com.jozufozu.flywheel.event.BeginFrameEvent;
|
import com.jozufozu.flywheel.event.BeginFrameEvent;
|
||||||
import com.jozufozu.flywheel.event.GatherContextEvent;
|
import com.jozufozu.flywheel.event.GatherContextEvent;
|
||||||
import com.jozufozu.flywheel.event.ReloadRenderersEvent;
|
import com.jozufozu.flywheel.event.ReloadRenderersEvent;
|
||||||
import com.jozufozu.flywheel.event.RenderLayerEvent;
|
import com.jozufozu.flywheel.event.RenderLayerEvent;
|
||||||
|
import com.jozufozu.flywheel.util.transform.MatrixTransformStack;
|
||||||
import com.mojang.blaze3d.matrix.MatrixStack;
|
import com.mojang.blaze3d.matrix.MatrixStack;
|
||||||
import com.simibubi.create.AllMovementBehaviours;
|
import com.simibubi.create.AllMovementBehaviours;
|
||||||
import com.simibubi.create.CreateClient;
|
import com.simibubi.create.CreateClient;
|
||||||
|
@ -35,7 +35,6 @@ import com.simibubi.create.foundation.render.CreateContexts;
|
||||||
import com.simibubi.create.foundation.render.SuperByteBuffer;
|
import com.simibubi.create.foundation.render.SuperByteBuffer;
|
||||||
import com.simibubi.create.foundation.render.SuperByteBufferCache;
|
import com.simibubi.create.foundation.render.SuperByteBufferCache;
|
||||||
import com.simibubi.create.foundation.render.TileEntityRenderHelper;
|
import com.simibubi.create.foundation.render.TileEntityRenderHelper;
|
||||||
import com.simibubi.create.foundation.utility.MatrixStacker;
|
|
||||||
import com.simibubi.create.foundation.utility.worldWrappers.PlacementSimulationWorld;
|
import com.simibubi.create.foundation.utility.worldWrappers.PlacementSimulationWorld;
|
||||||
|
|
||||||
import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
|
import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
|
||||||
|
@ -115,7 +114,7 @@ public class ContraptionRenderDispatcher {
|
||||||
|
|
||||||
layer.setupRenderState();
|
layer.setupRenderState();
|
||||||
glEnable(GL_TEXTURE_3D);
|
glEnable(GL_TEXTURE_3D);
|
||||||
glActiveTexture(GL_TEXTURE4); // the shaders expect light volumes to be in texture 4
|
GlTextureUnit.T4.makeActive(); // the shaders expect light volumes to be in texture 4
|
||||||
|
|
||||||
if (Backend.getInstance().canUseVBOs()) {
|
if (Backend.getInstance().canUseVBOs()) {
|
||||||
ContraptionProgram structureShader = CreateContexts.STRUCTURE.getProgram(AllProgramSpecs.STRUCTURE);
|
ContraptionProgram structureShader = CreateContexts.STRUCTURE.getProgram(AllProgramSpecs.STRUCTURE);
|
||||||
|
@ -130,15 +129,18 @@ public class ContraptionRenderDispatcher {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Backend.getInstance().canUseInstancing()) {
|
if (Backend.getInstance().canUseInstancing()) {
|
||||||
for (RenderedContraption renderer : RENDERERS.values()) {
|
RenderLayer renderLayer = RenderLayer.fromRenderType(layer);
|
||||||
renderer.materialManager.render(layer, event.viewProjection, event.camX, event.camY, event.camZ, renderer::setup);
|
if (renderLayer != null) {
|
||||||
|
for (RenderedContraption renderer : RENDERERS.values()) {
|
||||||
|
renderer.materialManager.render(renderLayer, event.viewProjection, event.camX, event.camY, event.camZ);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
glBindTexture(GL_TEXTURE_3D, 0);
|
glBindTexture(GL_TEXTURE_3D, 0);
|
||||||
layer.clearRenderState();
|
layer.clearRenderState();
|
||||||
glDisable(GL_TEXTURE_3D);
|
glDisable(GL_TEXTURE_3D);
|
||||||
glActiveTexture(GL_TEXTURE0);
|
GlTextureUnit.T0.makeActive();
|
||||||
glUseProgram(0);
|
glUseProgram(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -236,7 +238,7 @@ public class ContraptionRenderDispatcher {
|
||||||
|
|
||||||
MatrixStack m = matrices.contraptionStack;
|
MatrixStack m = matrices.contraptionStack;
|
||||||
m.pushPose();
|
m.pushPose();
|
||||||
MatrixStacker.of(m)
|
MatrixTransformStack.of(m)
|
||||||
.translate(blockInfo.pos);
|
.translate(blockInfo.pos);
|
||||||
|
|
||||||
MovementBehaviour movementBehaviour = AllMovementBehaviours.of(blockInfo.state);
|
MovementBehaviour movementBehaviour = AllMovementBehaviours.of(blockInfo.state);
|
||||||
|
|
|
@ -13,7 +13,8 @@ import com.jozufozu.flywheel.backend.Backend;
|
||||||
import com.jozufozu.flywheel.backend.gl.attrib.CommonAttributes;
|
import com.jozufozu.flywheel.backend.gl.attrib.CommonAttributes;
|
||||||
import com.jozufozu.flywheel.backend.gl.attrib.VertexFormat;
|
import com.jozufozu.flywheel.backend.gl.attrib.VertexFormat;
|
||||||
import com.jozufozu.flywheel.backend.instancing.IInstanceRendered;
|
import com.jozufozu.flywheel.backend.instancing.IInstanceRendered;
|
||||||
import com.jozufozu.flywheel.backend.instancing.MaterialManager;
|
import com.jozufozu.flywheel.backend.material.MaterialGroup;
|
||||||
|
import com.jozufozu.flywheel.backend.material.MaterialManager;
|
||||||
import com.jozufozu.flywheel.backend.model.ArrayModelRenderer;
|
import com.jozufozu.flywheel.backend.model.ArrayModelRenderer;
|
||||||
import com.jozufozu.flywheel.backend.model.BufferedModel;
|
import com.jozufozu.flywheel.backend.model.BufferedModel;
|
||||||
import com.jozufozu.flywheel.backend.model.IndexedModel;
|
import com.jozufozu.flywheel.backend.model.IndexedModel;
|
||||||
|
@ -60,7 +61,10 @@ public class RenderedContraption extends ContraptionWorldHolder {
|
||||||
public RenderedContraption(Contraption contraption, PlacementSimulationWorld renderWorld) {
|
public RenderedContraption(Contraption contraption, PlacementSimulationWorld renderWorld) {
|
||||||
super(contraption, renderWorld);
|
super(contraption, renderWorld);
|
||||||
this.lighter = contraption.makeLighter();
|
this.lighter = contraption.makeLighter();
|
||||||
this.materialManager = new ContraptionMaterialManager(CreateContexts.CWORLD);
|
this.materialManager = MaterialManager.builder(CreateContexts.CWORLD)
|
||||||
|
.setGroupFactory(ContraptionGroup.forContraption(this))
|
||||||
|
.setIgnoreOriginCoordinate(true)
|
||||||
|
.build();
|
||||||
this.kinetics = new ContraptionInstanceManager(this, materialManager);
|
this.kinetics = new ContraptionInstanceManager(this, materialManager);
|
||||||
|
|
||||||
buildLayers();
|
buildLayers();
|
||||||
|
|
|
@ -2,6 +2,7 @@ package com.simibubi.create.content.contraptions.components.structureMovement.tr
|
||||||
|
|
||||||
import static net.minecraft.util.math.MathHelper.lerp;
|
import static net.minecraft.util.math.MathHelper.lerp;
|
||||||
|
|
||||||
|
import com.jozufozu.flywheel.util.transform.MatrixTransformStack;
|
||||||
import com.mojang.blaze3d.matrix.MatrixStack;
|
import com.mojang.blaze3d.matrix.MatrixStack;
|
||||||
import com.mojang.blaze3d.vertex.IVertexBuilder;
|
import com.mojang.blaze3d.vertex.IVertexBuilder;
|
||||||
import com.simibubi.create.AllBlockPartials;
|
import com.simibubi.create.AllBlockPartials;
|
||||||
|
@ -13,7 +14,6 @@ import com.simibubi.create.foundation.render.SuperByteBuffer;
|
||||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||||
import com.simibubi.create.foundation.utility.ColorHelper;
|
import com.simibubi.create.foundation.utility.ColorHelper;
|
||||||
import com.simibubi.create.foundation.utility.Couple;
|
import com.simibubi.create.foundation.utility.Couple;
|
||||||
import com.simibubi.create.foundation.utility.MatrixStacker;
|
|
||||||
import com.simibubi.create.foundation.utility.VecHelper;
|
import com.simibubi.create.foundation.utility.VecHelper;
|
||||||
|
|
||||||
import net.minecraft.block.BlockState;
|
import net.minecraft.block.BlockState;
|
||||||
|
@ -80,7 +80,7 @@ public class CouplingRenderer {
|
||||||
double connectorPitch = Math.atan2(endPointDiff.y, endPointDiff.multiply(1, 0, 1)
|
double connectorPitch = Math.atan2(endPointDiff.y, endPointDiff.multiply(1, 0, 1)
|
||||||
.length()) * 180 / Math.PI;
|
.length()) * 180 / Math.PI;
|
||||||
|
|
||||||
MatrixStacker msr = MatrixStacker.of(ms);
|
MatrixTransformStack msr = MatrixTransformStack.of(ms);
|
||||||
carts.forEachWithContext((cart, isFirst) -> {
|
carts.forEachWithContext((cart, isFirst) -> {
|
||||||
CartEndpoint cartTransform = transforms.get(isFirst);
|
CartEndpoint cartTransform = transforms.get(isFirst);
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,7 @@ package com.simibubi.create.content.contraptions.fluids;
|
||||||
import static net.minecraft.state.properties.BlockStateProperties.LEVEL_HONEY;
|
import static net.minecraft.state.properties.BlockStateProperties.LEVEL_HONEY;
|
||||||
import static net.minecraft.state.properties.BlockStateProperties.WATERLOGGED;
|
import static net.minecraft.state.properties.BlockStateProperties.WATERLOGGED;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
@ -16,7 +17,6 @@ import com.simibubi.create.foundation.utility.BlockFace;
|
||||||
import net.minecraft.block.BlockState;
|
import net.minecraft.block.BlockState;
|
||||||
import net.minecraft.block.FlowingFluidBlock;
|
import net.minecraft.block.FlowingFluidBlock;
|
||||||
import net.minecraft.entity.LivingEntity;
|
import net.minecraft.entity.LivingEntity;
|
||||||
import net.minecraft.fluid.Fluid;
|
|
||||||
import net.minecraft.fluid.FluidState;
|
import net.minecraft.fluid.FluidState;
|
||||||
import net.minecraft.fluid.Fluids;
|
import net.minecraft.fluid.Fluids;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
@ -40,9 +40,16 @@ import net.minecraftforge.fluids.capability.templates.FluidTank;
|
||||||
|
|
||||||
public class OpenEndedPipe extends FlowSource {
|
public class OpenEndedPipe extends FlowSource {
|
||||||
|
|
||||||
World world;
|
private static final List<IEffectHandler> EFFECT_HANDLERS = new ArrayList<>();
|
||||||
BlockPos pos;
|
|
||||||
AxisAlignedBB aoe;
|
static {
|
||||||
|
registerEffectHandler(new PotionEffectHandler());
|
||||||
|
registerEffectHandler(new MilkEffectHandler());
|
||||||
|
}
|
||||||
|
|
||||||
|
private World world;
|
||||||
|
private BlockPos pos;
|
||||||
|
private AxisAlignedBB aoe;
|
||||||
|
|
||||||
private OpenEndFluidHandler fluidHandler;
|
private OpenEndFluidHandler fluidHandler;
|
||||||
private BlockPos outputPos;
|
private BlockPos outputPos;
|
||||||
|
@ -61,11 +68,57 @@ public class OpenEndedPipe extends FlowSource {
|
||||||
aoe = aoe.expandTowards(0, -1, 0);
|
aoe = aoe.expandTowards(0, -1, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void registerEffectHandler(IEffectHandler handler) {
|
||||||
|
EFFECT_HANDLERS.add(handler);
|
||||||
|
}
|
||||||
|
|
||||||
|
public World getWorld() {
|
||||||
|
return world;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BlockPos getPos() {
|
||||||
|
return pos;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BlockPos getOutputPos() {
|
||||||
|
return outputPos;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AxisAlignedBB getAOE() {
|
||||||
|
return aoe;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void manageSource(World world) {
|
public void manageSource(World world) {
|
||||||
this.world = world;
|
this.world = world;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public LazyOptional<IFluidHandler> provideHandler() {
|
||||||
|
return LazyOptional.of(() -> fluidHandler);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isEndpoint() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public CompoundNBT serializeNBT() {
|
||||||
|
CompoundNBT compound = new CompoundNBT();
|
||||||
|
fluidHandler.writeToNBT(compound);
|
||||||
|
compound.putBoolean("Pulling", wasPulling);
|
||||||
|
compound.put("Location", location.serializeNBT());
|
||||||
|
return compound;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static OpenEndedPipe fromNBT(CompoundNBT compound, BlockPos tilePos) {
|
||||||
|
BlockFace fromNBT = BlockFace.fromNBT(compound.getCompound("Location"));
|
||||||
|
OpenEndedPipe oep = new OpenEndedPipe(new BlockFace(tilePos, fromNBT.getFace()));
|
||||||
|
oep.fluidHandler.readFromNBT(compound);
|
||||||
|
oep.wasPulling = compound.getBoolean("Pulling");
|
||||||
|
return oep;
|
||||||
|
}
|
||||||
|
|
||||||
private FluidStack removeFluidFromSpace(boolean simulate) {
|
private FluidStack removeFluidFromSpace(boolean simulate) {
|
||||||
FluidStack empty = FluidStack.EMPTY;
|
FluidStack empty = FluidStack.EMPTY;
|
||||||
if (world == null)
|
if (world == null)
|
||||||
|
@ -125,7 +178,7 @@ public class OpenEndedPipe extends FlowSource {
|
||||||
return false;
|
return false;
|
||||||
if (!FluidHelper.hasBlockState(fluid.getFluid())) {
|
if (!FluidHelper.hasBlockState(fluid.getFluid())) {
|
||||||
if (!simulate)
|
if (!simulate)
|
||||||
applyEffects(world, fluid);
|
applyEffects(fluid);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -167,78 +220,23 @@ public class OpenEndedPipe extends FlowSource {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean canApplyEffects(World world, FluidStack fluid) {
|
private boolean canApplyEffects(FluidStack fluid) {
|
||||||
Fluid fluidType = fluid.getFluid();
|
for (IEffectHandler handler : EFFECT_HANDLERS) {
|
||||||
if (fluidType.isSame(AllFluids.POTION.get()))
|
if (handler.canApplyEffects(this, fluid)) {
|
||||||
return true;
|
return true;
|
||||||
if (Tags.Fluids.MILK.contains(fluidType))
|
}
|
||||||
return true;
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void applyEffects(World world, FluidStack fluid) {
|
private void applyEffects(FluidStack fluid) {
|
||||||
Fluid fluidType = fluid.getFluid();
|
for (IEffectHandler handler : EFFECT_HANDLERS) {
|
||||||
|
if (handler.canApplyEffects(this, fluid)) {
|
||||||
if (fluidType.isSame(AllFluids.POTION.get()))
|
handler.applyEffects(this, fluid);
|
||||||
applyPotionEffects(world, fluid);
|
|
||||||
|
|
||||||
if (Tags.Fluids.MILK.contains(fluidType)) {
|
|
||||||
if (world.getGameTime() % 5 != 0)
|
|
||||||
return;
|
|
||||||
List<LivingEntity> list =
|
|
||||||
world.getEntitiesOfClass(LivingEntity.class, aoe, LivingEntity::isAffectedByPotions);
|
|
||||||
ItemStack curativeItem = new ItemStack(Items.MILK_BUCKET);
|
|
||||||
for (LivingEntity livingentity : list)
|
|
||||||
livingentity.curePotionEffects(curativeItem);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void applyPotionEffects(World world, FluidStack fluid) {
|
|
||||||
if (cachedFluid == null || cachedEffects == null || !fluid.isFluidEqual(cachedFluid)) {
|
|
||||||
FluidStack copy = fluid.copy();
|
|
||||||
copy.setAmount(250);
|
|
||||||
ItemStack bottle = PotionFluidHandler.fillBottle(new ItemStack(Items.GLASS_BOTTLE), fluid);
|
|
||||||
cachedEffects = PotionUtils.getMobEffects(bottle);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (cachedEffects.isEmpty())
|
|
||||||
return;
|
|
||||||
|
|
||||||
List<LivingEntity> list =
|
|
||||||
world.getEntitiesOfClass(LivingEntity.class, aoe, LivingEntity::isAffectedByPotions);
|
|
||||||
for (LivingEntity livingentity : list) {
|
|
||||||
for (EffectInstance effectinstance : cachedEffects) {
|
|
||||||
Effect effect = effectinstance.getEffect();
|
|
||||||
if (effect.isInstantenous()) {
|
|
||||||
effect.applyInstantenousEffect(null, null, livingentity, effectinstance.getAmplifier(), 0.5D);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
livingentity.addEffect(new EffectInstance(effectinstance));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public LazyOptional<IFluidHandler> provideHandler() {
|
|
||||||
return LazyOptional.of(() -> fluidHandler);
|
|
||||||
}
|
|
||||||
|
|
||||||
public CompoundNBT serializeNBT() {
|
|
||||||
CompoundNBT compound = new CompoundNBT();
|
|
||||||
fluidHandler.writeToNBT(compound);
|
|
||||||
compound.putBoolean("Pulling", wasPulling);
|
|
||||||
compound.put("Location", location.serializeNBT());
|
|
||||||
return compound;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static OpenEndedPipe fromNBT(CompoundNBT compound, BlockPos tilePos) {
|
|
||||||
BlockFace fromNBT = BlockFace.fromNBT(compound.getCompound("Location"));
|
|
||||||
OpenEndedPipe oep = new OpenEndedPipe(new BlockFace(tilePos, fromNBT.getFace()));
|
|
||||||
oep.fluidHandler.readFromNBT(compound);
|
|
||||||
oep.wasPulling = compound.getBoolean("Pulling");
|
|
||||||
return oep;
|
|
||||||
}
|
|
||||||
|
|
||||||
private class OpenEndFluidHandler extends FluidTank {
|
private class OpenEndFluidHandler extends FluidTank {
|
||||||
|
|
||||||
public OpenEndFluidHandler() {
|
public OpenEndFluidHandler() {
|
||||||
|
@ -262,7 +260,7 @@ public class OpenEndedPipe extends FlowSource {
|
||||||
setFluid(FluidStack.EMPTY);
|
setFluid(FluidStack.EMPTY);
|
||||||
if (wasPulling)
|
if (wasPulling)
|
||||||
wasPulling = false;
|
wasPulling = false;
|
||||||
if (canApplyEffects(world, resource))
|
if (canApplyEffects(resource))
|
||||||
resource = FluidHelper.copyStackWithAmount(resource, 1);
|
resource = FluidHelper.copyStackWithAmount(resource, 1);
|
||||||
|
|
||||||
int fill = super.fill(resource, action);
|
int fill = super.fill(resource, action);
|
||||||
|
@ -326,9 +324,62 @@ public class OpenEndedPipe extends FlowSource {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
public interface IEffectHandler {
|
||||||
public boolean isEndpoint() {
|
boolean canApplyEffects(OpenEndedPipe pipe, FluidStack fluid);
|
||||||
return true;
|
|
||||||
|
void applyEffects(OpenEndedPipe pipe, FluidStack fluid);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class PotionEffectHandler implements IEffectHandler {
|
||||||
|
@Override
|
||||||
|
public boolean canApplyEffects(OpenEndedPipe pipe, FluidStack fluid) {
|
||||||
|
return fluid.getFluid().isSame(AllFluids.POTION.get());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void applyEffects(OpenEndedPipe pipe, FluidStack fluid) {
|
||||||
|
if (pipe.cachedFluid == null || pipe.cachedEffects == null || !fluid.isFluidEqual(pipe.cachedFluid)) {
|
||||||
|
FluidStack copy = fluid.copy();
|
||||||
|
copy.setAmount(250);
|
||||||
|
ItemStack bottle = PotionFluidHandler.fillBottle(new ItemStack(Items.GLASS_BOTTLE), fluid);
|
||||||
|
pipe.cachedEffects = PotionUtils.getMobEffects(bottle);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pipe.cachedEffects.isEmpty())
|
||||||
|
return;
|
||||||
|
|
||||||
|
List<LivingEntity> list =
|
||||||
|
pipe.getWorld().getEntitiesOfClass(LivingEntity.class, pipe.getAOE(), LivingEntity::isAffectedByPotions);
|
||||||
|
for (LivingEntity livingentity : list) {
|
||||||
|
for (EffectInstance effectinstance : pipe.cachedEffects) {
|
||||||
|
Effect effect = effectinstance.getEffect();
|
||||||
|
if (effect.isInstantenous()) {
|
||||||
|
effect.applyInstantenousEffect(null, null, livingentity, effectinstance.getAmplifier(), 0.5D);
|
||||||
|
} else {
|
||||||
|
livingentity.addEffect(new EffectInstance(effectinstance));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class MilkEffectHandler implements IEffectHandler {
|
||||||
|
@Override
|
||||||
|
public boolean canApplyEffects(OpenEndedPipe pipe, FluidStack fluid) {
|
||||||
|
return Tags.Fluids.MILK.contains(fluid.getFluid());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void applyEffects(OpenEndedPipe pipe, FluidStack fluid) {
|
||||||
|
World world = pipe.getWorld();
|
||||||
|
if (world.getGameTime() % 5 != 0)
|
||||||
|
return;
|
||||||
|
List<LivingEntity> list =
|
||||||
|
world.getEntitiesOfClass(LivingEntity.class, pipe.getAOE(), LivingEntity::isAffectedByPotions);
|
||||||
|
ItemStack curativeItem = new ItemStack(Items.MILK_BUCKET);
|
||||||
|
for (LivingEntity livingentity : list)
|
||||||
|
livingentity.curePotionEffects(curativeItem);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,7 @@ package com.simibubi.create.content.contraptions.fluids;
|
||||||
import static net.minecraft.state.properties.BlockStateProperties.FACING;
|
import static net.minecraft.state.properties.BlockStateProperties.FACING;
|
||||||
|
|
||||||
import com.jozufozu.flywheel.backend.instancing.Instancer;
|
import com.jozufozu.flywheel.backend.instancing.Instancer;
|
||||||
import com.jozufozu.flywheel.backend.instancing.MaterialManager;
|
import com.jozufozu.flywheel.backend.material.MaterialManager;
|
||||||
import com.simibubi.create.AllBlockPartials;
|
import com.simibubi.create.AllBlockPartials;
|
||||||
import com.simibubi.create.content.contraptions.base.KineticTileEntity;
|
import com.simibubi.create.content.contraptions.base.KineticTileEntity;
|
||||||
import com.simibubi.create.content.contraptions.base.RotatingData;
|
import com.simibubi.create.content.contraptions.base.RotatingData;
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.simibubi.create.content.contraptions.fluids;
|
package com.simibubi.create.content.contraptions.fluids;
|
||||||
|
|
||||||
|
import com.jozufozu.flywheel.util.transform.MatrixTransformStack;
|
||||||
import com.mojang.blaze3d.matrix.MatrixStack;
|
import com.mojang.blaze3d.matrix.MatrixStack;
|
||||||
import com.simibubi.create.AllBlockPartials;
|
import com.simibubi.create.AllBlockPartials;
|
||||||
import com.simibubi.create.content.contraptions.base.KineticTileEntity;
|
import com.simibubi.create.content.contraptions.base.KineticTileEntity;
|
||||||
|
@ -7,7 +8,6 @@ import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer;
|
||||||
import com.simibubi.create.foundation.render.PartialBufferer;
|
import com.simibubi.create.foundation.render.PartialBufferer;
|
||||||
import com.simibubi.create.foundation.render.SuperByteBuffer;
|
import com.simibubi.create.foundation.render.SuperByteBuffer;
|
||||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||||
import com.simibubi.create.foundation.utility.MatrixStacker;
|
|
||||||
|
|
||||||
import net.minecraft.block.BlockState;
|
import net.minecraft.block.BlockState;
|
||||||
import net.minecraft.client.renderer.IRenderTypeBuffer;
|
import net.minecraft.client.renderer.IRenderTypeBuffer;
|
||||||
|
@ -37,7 +37,7 @@ public class PumpRenderer extends KineticTileEntityRenderer {
|
||||||
ms.pushPose();
|
ms.pushPose();
|
||||||
SuperByteBuffer arrow = PartialBufferer.get(AllBlockPartials.MECHANICAL_PUMP_ARROW, blockState);
|
SuperByteBuffer arrow = PartialBufferer.get(AllBlockPartials.MECHANICAL_PUMP_ARROW, blockState);
|
||||||
Direction direction = blockState.getValue(PumpBlock.FACING);
|
Direction direction = blockState.getValue(PumpBlock.FACING);
|
||||||
MatrixStacker.of(ms)
|
MatrixTransformStack.of(ms)
|
||||||
.centre()
|
.centre()
|
||||||
.rotateY(AngleHelper.horizontalAngle(direction) + 180)
|
.rotateY(AngleHelper.horizontalAngle(direction) + 180)
|
||||||
.rotateX(-AngleHelper.verticalAngle(direction) - 90)
|
.rotateX(-AngleHelper.verticalAngle(direction) - 90)
|
||||||
|
|
|
@ -13,6 +13,7 @@ import net.minecraft.item.MilkBucketItem;
|
||||||
import net.minecraft.potion.PotionUtils;
|
import net.minecraft.potion.PotionUtils;
|
||||||
import net.minecraft.potion.Potions;
|
import net.minecraft.potion.Potions;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
import net.minecraftforge.common.ForgeMod;
|
||||||
import net.minecraftforge.common.util.LazyOptional;
|
import net.minecraftforge.common.util.LazyOptional;
|
||||||
import net.minecraftforge.fluids.FluidStack;
|
import net.minecraftforge.fluids.FluidStack;
|
||||||
import net.minecraftforge.fluids.capability.CapabilityFluidHandler;
|
import net.minecraftforge.fluids.capability.CapabilityFluidHandler;
|
||||||
|
@ -104,8 +105,7 @@ public class GenericItemFilling {
|
||||||
}
|
}
|
||||||
|
|
||||||
private static boolean canFillBucketInternally(FluidStack availableFluid) {
|
private static boolean canFillBucketInternally(FluidStack availableFluid) {
|
||||||
return availableFluid.getFluid()
|
return false;
|
||||||
.isSame(AllFluids.MILK.get().getFlowing());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ItemStack fillItem(World world, int requiredAmount, ItemStack stack, FluidStack availableFluid) {
|
public static ItemStack fillItem(World world, int requiredAmount, ItemStack stack, FluidStack availableFluid) {
|
||||||
|
@ -123,12 +123,6 @@ public class GenericItemFilling {
|
||||||
return fillBottle;
|
return fillBottle;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (stack.getItem() == Items.BUCKET && canFillBucketInternally(toFill)) {
|
|
||||||
ItemStack filledBucket = new ItemStack(Items.MILK_BUCKET);
|
|
||||||
stack.shrink(1);
|
|
||||||
return filledBucket;
|
|
||||||
}
|
|
||||||
|
|
||||||
ItemStack split = stack.copy();
|
ItemStack split = stack.copy();
|
||||||
split.setCount(1);
|
split.setCount(1);
|
||||||
LazyOptional<IFluidHandlerItem> capability =
|
LazyOptional<IFluidHandlerItem> capability =
|
||||||
|
|
|
@ -2,6 +2,7 @@ package com.simibubi.create.content.contraptions.fluids.actors;
|
||||||
|
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
|
import com.jozufozu.flywheel.util.transform.MatrixTransformStack;
|
||||||
import com.mojang.blaze3d.matrix.MatrixStack;
|
import com.mojang.blaze3d.matrix.MatrixStack;
|
||||||
import com.simibubi.create.content.contraptions.processing.EmptyingByBasin;
|
import com.simibubi.create.content.contraptions.processing.EmptyingByBasin;
|
||||||
import com.simibubi.create.content.contraptions.relays.belt.BeltHelper;
|
import com.simibubi.create.content.contraptions.relays.belt.BeltHelper;
|
||||||
|
@ -10,7 +11,6 @@ import com.simibubi.create.foundation.fluid.FluidRenderer;
|
||||||
import com.simibubi.create.foundation.tileEntity.behaviour.fluid.SmartFluidTankBehaviour;
|
import com.simibubi.create.foundation.tileEntity.behaviour.fluid.SmartFluidTankBehaviour;
|
||||||
import com.simibubi.create.foundation.tileEntity.behaviour.fluid.SmartFluidTankBehaviour.TankSegment;
|
import com.simibubi.create.foundation.tileEntity.behaviour.fluid.SmartFluidTankBehaviour.TankSegment;
|
||||||
import com.simibubi.create.foundation.tileEntity.renderer.SmartTileEntityRenderer;
|
import com.simibubi.create.foundation.tileEntity.renderer.SmartTileEntityRenderer;
|
||||||
import com.simibubi.create.foundation.utility.MatrixStacker;
|
|
||||||
import com.simibubi.create.foundation.utility.VecHelper;
|
import com.simibubi.create.foundation.utility.VecHelper;
|
||||||
|
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
|
@ -48,7 +48,7 @@ public class ItemDrainRenderer extends SmartTileEntityRenderer<ItemDrainTileEnti
|
||||||
if (transported == null)
|
if (transported == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
MatrixStacker msr = MatrixStacker.of(ms);
|
MatrixTransformStack msr = MatrixTransformStack.of(ms);
|
||||||
Vector3d itemPosition = VecHelper.getCenterOf(te.getBlockPos());
|
Vector3d itemPosition = VecHelper.getCenterOf(te.getBlockPos());
|
||||||
|
|
||||||
Direction insertedFrom = transported.insertedFrom;
|
Direction insertedFrom = transported.insertedFrom;
|
||||||
|
|
|
@ -1,8 +1,10 @@
|
||||||
package com.simibubi.create.content.contraptions.fluids.pipes;
|
package com.simibubi.create.content.contraptions.fluids.pipes;
|
||||||
|
|
||||||
import com.jozufozu.flywheel.backend.instancing.IDynamicInstance;
|
import com.jozufozu.flywheel.backend.instancing.IDynamicInstance;
|
||||||
import com.jozufozu.flywheel.backend.instancing.MaterialManager;
|
import com.jozufozu.flywheel.backend.material.MaterialManager;
|
||||||
|
import com.jozufozu.flywheel.core.Materials;
|
||||||
import com.jozufozu.flywheel.core.materials.ModelData;
|
import com.jozufozu.flywheel.core.materials.ModelData;
|
||||||
|
import com.jozufozu.flywheel.util.transform.MatrixTransformStack;
|
||||||
import com.mojang.blaze3d.matrix.MatrixStack;
|
import com.mojang.blaze3d.matrix.MatrixStack;
|
||||||
import com.simibubi.create.AllBlockPartials;
|
import com.simibubi.create.AllBlockPartials;
|
||||||
import com.simibubi.create.content.contraptions.base.KineticTileEntity;
|
import com.simibubi.create.content.contraptions.base.KineticTileEntity;
|
||||||
|
@ -10,7 +12,6 @@ import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer;
|
||||||
import com.simibubi.create.content.contraptions.relays.encased.ShaftInstance;
|
import com.simibubi.create.content.contraptions.relays.encased.ShaftInstance;
|
||||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||||
import com.simibubi.create.foundation.utility.MatrixStacker;
|
|
||||||
|
|
||||||
import net.minecraft.util.Direction;
|
import net.minecraft.util.Direction;
|
||||||
import net.minecraft.util.math.MathHelper;
|
import net.minecraft.util.math.MathHelper;
|
||||||
|
@ -37,7 +38,9 @@ public class FluidValveInstance extends ShaftInstance implements IDynamicInstanc
|
||||||
boolean twist = pipeAxis.isHorizontal() && shaftAxis == Direction.Axis.Z || pipeAxis.isVertical();
|
boolean twist = pipeAxis.isHorizontal() && shaftAxis == Direction.Axis.Z || pipeAxis.isVertical();
|
||||||
pointerRotationOffset = twist ? 90 : 0;
|
pointerRotationOffset = twist ? 90 : 0;
|
||||||
|
|
||||||
pointer = materialManager.getTransformMaterial().getModel(AllBlockPartials.FLUID_VALVE_POINTER, blockState).createInstance();
|
pointer = materialManager.defaultSolid()
|
||||||
|
.material(Materials.TRANSFORMED)
|
||||||
|
.getModel(AllBlockPartials.FLUID_VALVE_POINTER, blockState).createInstance();
|
||||||
|
|
||||||
transformPointer((FluidValveTileEntity) tile);
|
transformPointer((FluidValveTileEntity) tile);
|
||||||
}
|
}
|
||||||
|
@ -56,7 +59,7 @@ public class FluidValveInstance extends ShaftInstance implements IDynamicInstanc
|
||||||
float pointerRotation = MathHelper.lerp(valve.pointer.getValue(AnimationTickHolder.getPartialTicks()), 0, -90);
|
float pointerRotation = MathHelper.lerp(valve.pointer.getValue(AnimationTickHolder.getPartialTicks()), 0, -90);
|
||||||
|
|
||||||
MatrixStack ms = new MatrixStack();
|
MatrixStack ms = new MatrixStack();
|
||||||
MatrixStacker.of(ms)
|
MatrixTransformStack.of(ms)
|
||||||
.translate(getInstancePosition())
|
.translate(getInstancePosition())
|
||||||
.centre()
|
.centre()
|
||||||
.rotateY(yRot)
|
.rotateY(yRot)
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue