mirror of
https://github.com/Creators-of-Create/Create.git
synced 2024-12-15 10:53:44 +01:00
Merge branch 'mc1.15/dev' into mc1.16/dev
This commit is contained in:
commit
78036195ab
44 changed files with 493 additions and 214 deletions
|
@ -337,7 +337,7 @@ e8b0a401c10d1ba67ed71ba31bd5f9bc28571b65 assets/create/blockstates/powered_toggl
|
|||
d06cd9a1101b18d306a786320aab12018b1325d6 assets/create/blockstates/purple_sail.json
|
||||
92957119abd5fbcca36a113b2a80255fd70fc303 assets/create/blockstates/purple_seat.json
|
||||
61035f8afe75ff7bbd291da5d8690bcbebe679eb assets/create/blockstates/purple_valve_handle.json
|
||||
ab2a1bf8f37f1c64d00538867f4c3a97195bd3c4 assets/create/blockstates/radial_chassis.json
|
||||
4439fc83a8c7370ab44b211a3fd48abde20a4728 assets/create/blockstates/radial_chassis.json
|
||||
45877c4d90a7185c2f304edbd67379d800920439 assets/create/blockstates/red_sail.json
|
||||
da1b08387af7afa0855ee8d040f620c01f20660a assets/create/blockstates/red_seat.json
|
||||
722fc77bbf387af8a4016e42cbf9501d2b968881 assets/create/blockstates/red_valve_handle.json
|
||||
|
@ -401,17 +401,17 @@ a3a11524cd3515fc01d905767b4b7ea782adaf03 assets/create/blockstates/yellow_seat.j
|
|||
6801fa1f466f172700e573e5b8ee8ee5f9ca4583 assets/create/blockstates/yellow_valve_handle.json
|
||||
7f39521b211441f5c3e06d60c5978cebe16cacfb assets/create/blockstates/zinc_block.json
|
||||
b7181bcd8182b2f17088e5aa881f374c9c65470c assets/create/blockstates/zinc_ore.json
|
||||
c251c089fa897c0e94af6e123118ae9cde30d1ba assets/create/lang/en_ud.json
|
||||
f4f0e774c4e87f2c23658ddcc4be8bdfb257fee3 assets/create/lang/en_us.json
|
||||
89f2b0ba6b40babc2f542b6b380f30ed97e280bf assets/create/lang/unfinished/de_de.json
|
||||
dcd0d558f6f7ef8038ee8056f5294b57dfd3c3ed assets/create/lang/unfinished/fr_fr.json
|
||||
24573cb127eecfe5c5fc910e277555c10d0b5eaf assets/create/lang/unfinished/it_it.json
|
||||
423a280d20cdef98143d0f2223adda5299f42864 assets/create/lang/unfinished/ja_jp.json
|
||||
ce9431b5601069d691b3103cec1f66d05125e32e assets/create/lang/unfinished/ko_kr.json
|
||||
86b9574166f5382a9cd925e92587eb2f478b7776 assets/create/lang/unfinished/nl_nl.json
|
||||
9fff9175ee887ddca7a6d901e9d945c92d901d6a assets/create/lang/unfinished/pt_br.json
|
||||
ce9b299b52640c23c18ffa6e65bdb1d140776564 assets/create/lang/unfinished/ru_ru.json
|
||||
9c794a6c071bfcb9c58ede3b4c83983c2badc37f assets/create/lang/unfinished/zh_cn.json
|
||||
7f40117f3618fe7b3e793f4095edf5a4c78a732f assets/create/lang/en_ud.json
|
||||
b524d5a2ce8ed801128fb7e0f94546b2c2b08d5d assets/create/lang/en_us.json
|
||||
068b778ba9170dbb5511e35523f2686cf5708c40 assets/create/lang/unfinished/de_de.json
|
||||
a3cc8f8d8582d1c496135dba4c49afc8248ea2ae assets/create/lang/unfinished/fr_fr.json
|
||||
9f55d7629760b7cd6297f14ad686d69f267eb1f3 assets/create/lang/unfinished/it_it.json
|
||||
43d038757ad718b900730f3dc9d2464fee42dbaa assets/create/lang/unfinished/ja_jp.json
|
||||
17e4fec1cafe0f4fbe660d76aa7f209d7c83341a assets/create/lang/unfinished/ko_kr.json
|
||||
e31b7cb71bffd2e9e980ab59868ee1353e43df9f assets/create/lang/unfinished/nl_nl.json
|
||||
c6ec72b0f1300595f9006051ab80bcdcd533a0c2 assets/create/lang/unfinished/pt_br.json
|
||||
4e75e0ee7f34ac88eaf2f532be6c4037ba8de036 assets/create/lang/unfinished/ru_ru.json
|
||||
cffcf52cb2be6c2be28a7d6d825eace652071921 assets/create/lang/unfinished/zh_cn.json
|
||||
487a511a01b2a4531fb672f917922312db78f958 assets/create/models/block/acacia_window.json
|
||||
b48060cba1a382f373a05bf0039054053eccf076 assets/create/models/block/acacia_window_pane_noside.json
|
||||
3066db1bf03cffa1a9c7fbacf47ae586632f4eb3 assets/create/models/block/acacia_window_pane_noside_alt.json
|
||||
|
@ -1195,6 +1195,7 @@ d537fffaede521efa525fb2a7f9863fe6a80054e assets/create/models/item/birch_window_
|
|||
56a6baedc608792cd6ab72a1c4fd53046cbda070 assets/create/models/item/black_valve_handle.json
|
||||
80a6e8b00709fe0521aca5b789ae17485ed9c56d assets/create/models/item/blaze_burner.json
|
||||
6e350231e9f217019883096b4f0bb95ab0af4728 assets/create/models/item/blaze_cake.json
|
||||
5d4e5c22295f9b5cc62cf6e74fe1384fbbb319f9 assets/create/models/item/blaze_cake_base.json
|
||||
0e1977585128fc0ecef640f72e5fc5e9fb47ef92 assets/create/models/item/blue_seat.json
|
||||
bec96ebf3369d3cffa9bb1b8bf9f2a5cd5d0ef96 assets/create/models/item/blue_valve_handle.json
|
||||
17d340c3678bd24cb085ba49490b2b4cb341a9e7 assets/create/models/item/brass_block.json
|
||||
|
@ -2738,7 +2739,10 @@ dd44cf0e09b1b34b4d2c254ab3d10d05a02717aa data/create/recipes/blasting/tin_ingot_
|
|||
c323b106e88b7de77fea71ff12494abdbb818d15 data/create/recipes/chiseled_limestone_from_limestone_stonecutting.json
|
||||
da9a919b476954c1de34826aa7706bf6056a8f12 data/create/recipes/chiseled_scoria_from_scoria_stonecutting.json
|
||||
09faa4ddcf9f3907dcdb3ab3e8b68c1deb2486e5 data/create/recipes/chiseled_weathered_limestone_from_weathered_limestone_stonecutting.json
|
||||
eec156ec99d323dbc187f07e67d4449934c3e3e1 data/create/recipes/compacting/blaze_cake.json
|
||||
ca137d5bce3b5f10069041657fdf630529d06bda data/create/recipes/compacting/andesite_from_flint.json
|
||||
f7879d404d7a848d818278b4e788f285a9087e63 data/create/recipes/compacting/blaze_cake.json
|
||||
7b2ef15dd28d1d8a450ea49a82dfb361d1adde4c data/create/recipes/compacting/diorite_from_flint.json
|
||||
7657603e95ccf83dd0d4b104635db66e531d092a data/create/recipes/compacting/granite_from_flint.json
|
||||
19526da3a59fc136654ff1bc93c0251581f397a9 data/create/recipes/crafting/appliances/dough.json
|
||||
7b5f863dda3d05a79cb85943a178eba0bd8a7dc7 data/create/recipes/crafting/appliances/slime_ball.json
|
||||
b159ba84428eee6ef6e23df1766f2a18f2c8a63e data/create/recipes/crafting/appliances/tree_fertilizer.json
|
||||
|
@ -2777,7 +2781,7 @@ dc62d932f6a3723e050cb043fea233efd685f775 data/create/recipes/crafting/kinetics/c
|
|||
ad1c3ce1e98b8483512bdd754f2e5930c7b3ae85 data/create/recipes/crafting/kinetics/deployer.json
|
||||
be86df1c4d7af14bc5dcfe044d07c03b6c6d2a75 data/create/recipes/crafting/kinetics/depot.json
|
||||
9c5d30f25a130d591b924c50e5c83e3b787c2758 data/create/recipes/crafting/kinetics/empty_blaze_burner.json
|
||||
b23bb0141d2890a971481a9aaea057abf4387341 data/create/recipes/crafting/kinetics/encased_chain_drive.json
|
||||
f5386d34e6d041f637575d461df6ca5d43b4f464 data/create/recipes/crafting/kinetics/encased_chain_drive.json
|
||||
b07496e4ba5bc56a2c5a395b612c68ba21328867 data/create/recipes/crafting/kinetics/encased_fan.json
|
||||
0dd0cc11eaa6789fc612af3231ed247893852178 data/create/recipes/crafting/kinetics/filter.json
|
||||
30ae02825e54c0cc07be8f4decf9d432e7d61ba2 data/create/recipes/crafting/kinetics/fluid_pipe.json
|
||||
|
@ -3094,8 +3098,13 @@ bd355332d17adcb0460b1d43146ca288efb78395 data/create/recipes/fancy_weathered_lim
|
|||
d2ab9ce73636773165564506580f2ec13bd1fc50 data/create/recipes/fancy_weathered_limestone_bricks_stairs_from_fancy_weathered_limestone_bricks_stonecutting.json
|
||||
36947f27d2b2e57b00440fd5acd06a7554e5a387 data/create/recipes/fancy_weathered_limestone_bricks_wall.json
|
||||
1d0e41ca98e48073c72adf4077610c96e592f9a5 data/create/recipes/fancy_weathered_limestone_bricks_wall_from_fancy_weathered_limestone_bricks_stonecutting.json
|
||||
133e79f78a7f2c2f63ac7695d2be57d56e8955f4 data/create/recipes/filling/blaze_cake.json
|
||||
790a63246268173350530d61ac824eff093724b2 data/create/recipes/filling/glowstone.json
|
||||
5eb6227ccb6fa940b662d3ec029c3bd61fe61c8d data/create/recipes/filling/grass_block.json
|
||||
244f27eadefefbc966ac384ac087c57d19484321 data/create/recipes/filling/gunpowder.json
|
||||
c8ca74a6cd071308a1750a2ad1153e79422598a0 data/create/recipes/filling/honey_bottle.json
|
||||
c83e77a9799b6ca34dd73aa76b56159f2103c48c data/create/recipes/filling/milk_bucket.json
|
||||
08ce1420d1551ecfef5988977436c087123851a6 data/create/recipes/filling/redstone.json
|
||||
5b8bbde7f8b270ab75fac18d6858f2fadbc0efa3 data/create/recipes/framed_glass_from_glass_colorless_stonecutting.json
|
||||
d697de0c9b706ca4e18da7a2d769e7e5fe8d769d data/create/recipes/framed_glass_pane.json
|
||||
a0dae50faaa1b7142bb4309675e3084c68daa547 data/create/recipes/gabbro_bricks_from_gabbro_stonecutting.json
|
||||
|
@ -3226,10 +3235,8 @@ ce9dc7dacb85cb23a7187c19a115b40e597ad36b data/create/recipes/mixing/andesite_all
|
|||
ab602a53a5d8d057aad910dd1c5529cde2d587ab data/create/recipes/mixing/chocolate.json
|
||||
0e29b4ce13750aab5a60ae54cbec8776569b35e0 data/create/recipes/mixing/chromatic_compound.json
|
||||
d9a3dff1288d675ab812eef1eb73cb27dcc71bd2 data/create/recipes/mixing/crushed_brass.json
|
||||
00b165ea38d834c7955440e87062004a8182c3f8 data/create/recipes/mixing/gunpowder.json
|
||||
cd9a78454bce20cf3557f5c44febae77ebd43e54 data/create/recipes/mixing/lava_from_cobble.json
|
||||
0f89b3f2d81585591513619b8d1e8694eb874316 data/create/recipes/mixing/tea.json
|
||||
3279bd1a34217a19bc9992a2ad87629390dd003f data/create/recipes/mixing/temp_cobble.json
|
||||
3295a2195707f952a83deb3bed10b43570b215e5 data/create/recipes/mixing/temp_lava.json
|
||||
1998c6f84f871d6da58ec29d729401d18f8f1aa1 data/create/recipes/mossy_andesite_from_andesite_stonecutting.json
|
||||
89929d9cb11b5c589b2ecfa821c61add1ef7b62b data/create/recipes/mossy_dark_scoria_from_dark_scoria_stonecutting.json
|
||||
4b8b1191dd3a21294293dc5ad237af89b849df28 data/create/recipes/mossy_diorite_from_diorite_stonecutting.json
|
||||
|
@ -3368,6 +3375,7 @@ eae06580a0a5f486cde35426716d50fcb3ba5bb3 data/create/recipes/polished_weathered_
|
|||
0fa8386648398724f6fd373178b706c6b11ddefc data/create/recipes/pressing/gold_ingot.json
|
||||
a104ef6eb8872a40ea7b2ef67ae54cec943162f0 data/create/recipes/pressing/iron_ingot.json
|
||||
7f9e72ec02a9926656744a95066f8aa304514565 data/create/recipes/pressing/lapis_block.json
|
||||
654e274b07af172c22838d47e0974367c20101d4 data/create/recipes/pressing/path.json
|
||||
bd57ccc8eb4357b4a5af021db7b806b514cd2558 data/create/recipes/pressing/sugar_cane.json
|
||||
141173778757d87e7f2e9466bdab6ff1263c8e98 data/create/recipes/sandpaper_polishing/rose_quartz.json
|
||||
d59c68621c78ff5d2c51be4440dea603480efed8 data/create/recipes/scoria_bricks_from_scoria_stonecutting.json
|
||||
|
@ -3525,7 +3533,7 @@ eac71740fb12bdb38b5dfaa2268613d7ba82b809 data/create/tags/blocks/windmill_sails.
|
|||
081f5aa35602fc27af2ca01ea9f2fd5e7eb284dc data/create/tags/items/create_ingots.json
|
||||
94c62bf22678ef55b2b8a5398a7960e5b00682dc data/create/tags/items/crushed_ores.json
|
||||
6cdeeac1689f7b5bfd9bc40b462143d8eaf3ad0b data/create/tags/items/seats.json
|
||||
abbe5d7cc9d1705509257888154ed7ca23292586 data/create/tags/items/upright_on_belt.json
|
||||
3d5cdbbf58f23e9aa0bf15c200905254b93a14ed data/create/tags/items/upright_on_belt.json
|
||||
50936b211d94167a35ec78c89954082a336b6269 data/create/tags/items/valve_handles.json
|
||||
16bcb8fcbe9170c2c11f1ca8d99d8b36cd812bbd data/forge/tags/blocks/glass/colorless.json
|
||||
81d3eb40b048160fcc2d6bb7ff12b49276297efd data/forge/tags/blocks/glass_panes.json
|
||||
|
|
|
@ -415,6 +415,7 @@
|
|||
"item.create.attribute_filter": "\u0279\u01DD\u0287\u05DF\u0131\u2132 \u01DD\u0287nq\u0131\u0279\u0287\u0287\u2C6F",
|
||||
"item.create.belt_connector": "\u0287\u05DF\u01DD\u15FA \u05DF\u0250\u0254\u0131u\u0250\u0265\u0254\u01DDW",
|
||||
"item.create.blaze_cake": "\u01DD\u029E\u0250\u0186 \u01DDz\u0250\u05DF\u15FA",
|
||||
"item.create.blaze_cake_base": "\u01DDs\u0250\u15FA \u01DD\u029E\u0250\u0186 \u01DDz\u0250\u05DF\u15FA",
|
||||
"item.create.brass_hand": "pu\u0250H ss\u0250\u0279\u15FA",
|
||||
"item.create.brass_ingot": "\u0287obuI ss\u0250\u0279\u15FA",
|
||||
"item.create.brass_nugget": "\u0287\u01DDbbnN ss\u0250\u0279\u15FA",
|
||||
|
|
|
@ -421,6 +421,7 @@
|
|||
"item.create.attribute_filter": "Attribute Filter",
|
||||
"item.create.belt_connector": "Mechanical Belt",
|
||||
"item.create.blaze_cake": "Blaze Cake",
|
||||
"item.create.blaze_cake_base": "Blaze Cake Base",
|
||||
"item.create.brass_hand": "Brass Hand",
|
||||
"item.create.brass_ingot": "Brass Ingot",
|
||||
"item.create.brass_nugget": "Brass Nugget",
|
||||
|
@ -879,6 +880,9 @@
|
|||
"create.schematicannon.status.schematicNotPlaced": "Schematic Not Deployed",
|
||||
"create.schematicannon.status.schematicExpired": "Schematic File Expired",
|
||||
|
||||
"create.materialChecklist": "Material Checklist",
|
||||
"create.materialChecklist.blocksNotLoaded": "* Disclaimer *\n\nMaterial List may be inaccurate due to relevant chunks not being loaded.",
|
||||
|
||||
"create.gui.filter.deny_list": "Deny-List",
|
||||
"create.gui.filter.deny_list.description": "Items pass if they do NOT match any of the above. An empty Deny-List accepts everything.",
|
||||
"create.gui.filter.allow_list": "Allow-List",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 1132",
|
||||
"_": "Missing Localizations: 1135",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -422,6 +422,7 @@
|
|||
"item.create.attribute_filter": "UNLOCALIZED: Attribute Filter",
|
||||
"item.create.belt_connector": "Mechanischer Riemen",
|
||||
"item.create.blaze_cake": "UNLOCALIZED: Blaze Cake",
|
||||
"item.create.blaze_cake_base": "UNLOCALIZED: Blaze Cake Base",
|
||||
"item.create.brass_hand": "UNLOCALIZED: Brass Hand",
|
||||
"item.create.brass_ingot": "UNLOCALIZED: Brass Ingot",
|
||||
"item.create.brass_nugget": "UNLOCALIZED: Brass Nugget",
|
||||
|
@ -880,6 +881,9 @@
|
|||
"create.schematicannon.status.schematicNotPlaced": "Bauplan nicht positioniert",
|
||||
"create.schematicannon.status.schematicExpired": "Bauplandatei abgelaufen",
|
||||
|
||||
"create.materialChecklist": "UNLOCALIZED: Material Checklist",
|
||||
"create.materialChecklist.blocksNotLoaded": "UNLOCALIZED: * Disclaimer *\n\nMaterial List may be inaccurate due to relevant chunks not being loaded.",
|
||||
|
||||
"create.gui.filter.deny_list": "UNLOCALIZED: Deny-List",
|
||||
"create.gui.filter.deny_list.description": "UNLOCALIZED: Items pass if they do NOT match any of the above. An empty Deny-List accepts everything.",
|
||||
"create.gui.filter.allow_list": "UNLOCALIZED: Allow-List",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 783",
|
||||
"_": "Missing Localizations: 786",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -422,6 +422,7 @@
|
|||
"item.create.attribute_filter": "Filtre d'attribut",
|
||||
"item.create.belt_connector": "Tapis roulant",
|
||||
"item.create.blaze_cake": "UNLOCALIZED: Blaze Cake",
|
||||
"item.create.blaze_cake_base": "UNLOCALIZED: Blaze Cake Base",
|
||||
"item.create.brass_hand": "Main",
|
||||
"item.create.brass_ingot": "Lingot de laiton",
|
||||
"item.create.brass_nugget": "Pépite de laiton",
|
||||
|
@ -880,6 +881,9 @@
|
|||
"create.schematicannon.status.schematicNotPlaced": "Schéma non déployé",
|
||||
"create.schematicannon.status.schematicExpired": "Fichier de schéma arrivé à expiration",
|
||||
|
||||
"create.materialChecklist": "UNLOCALIZED: Material Checklist",
|
||||
"create.materialChecklist.blocksNotLoaded": "UNLOCALIZED: * Disclaimer *\n\nMaterial List may be inaccurate due to relevant chunks not being loaded.",
|
||||
|
||||
"create.gui.filter.deny_list": "Liste noire",
|
||||
"create.gui.filter.deny_list.description": "Les articles réussissent s'ils ne correspondent à AUCUN des éléments ci-dessus. Une liste noire vide accepte tout.",
|
||||
"create.gui.filter.allow_list": "Liste blanche",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 767",
|
||||
"_": "Missing Localizations: 770",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -422,6 +422,7 @@
|
|||
"item.create.attribute_filter": "Filtro Attributi",
|
||||
"item.create.belt_connector": "Nastro Meccanico",
|
||||
"item.create.blaze_cake": "UNLOCALIZED: Blaze Cake",
|
||||
"item.create.blaze_cake_base": "UNLOCALIZED: Blaze Cake Base",
|
||||
"item.create.brass_hand": "Mano",
|
||||
"item.create.brass_ingot": "Lingotto di Ottone",
|
||||
"item.create.brass_nugget": "Pepita di Ottone",
|
||||
|
@ -880,6 +881,9 @@
|
|||
"create.schematicannon.status.schematicNotPlaced": "Schematica Non Implementata",
|
||||
"create.schematicannon.status.schematicExpired": "File Schematica Scaduto",
|
||||
|
||||
"create.materialChecklist": "UNLOCALIZED: Material Checklist",
|
||||
"create.materialChecklist.blocksNotLoaded": "UNLOCALIZED: * Disclaimer *\n\nMaterial List may be inaccurate due to relevant chunks not being loaded.",
|
||||
|
||||
"create.gui.filter.deny_list": "Lista Nera",
|
||||
"create.gui.filter.deny_list.description": "Gli oggetti passano se NON corrispondono a nessuno dei precedenti. Una Lista Nera vuota accetta tutto.",
|
||||
"create.gui.filter.allow_list": "Lista Bianca",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 766",
|
||||
"_": "Missing Localizations: 769",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -422,6 +422,7 @@
|
|||
"item.create.attribute_filter": "属性フィルター",
|
||||
"item.create.belt_connector": "メカニカルベルト",
|
||||
"item.create.blaze_cake": "UNLOCALIZED: Blaze Cake",
|
||||
"item.create.blaze_cake_base": "UNLOCALIZED: Blaze Cake Base",
|
||||
"item.create.brass_hand": "手",
|
||||
"item.create.brass_ingot": "真鍮インゴット",
|
||||
"item.create.brass_nugget": "真鍮ナゲット",
|
||||
|
@ -880,6 +881,9 @@
|
|||
"create.schematicannon.status.schematicNotPlaced": "配置されていない概略図です",
|
||||
"create.schematicannon.status.schematicExpired": "概略図ファイルが期限切れです",
|
||||
|
||||
"create.materialChecklist": "UNLOCALIZED: Material Checklist",
|
||||
"create.materialChecklist.blocksNotLoaded": "UNLOCALIZED: * Disclaimer *\n\nMaterial List may be inaccurate due to relevant chunks not being loaded.",
|
||||
|
||||
"create.gui.filter.deny_list": "ブラックリスト",
|
||||
"create.gui.filter.deny_list.description": "上記のいずれにも一致しない場合、アイテムは通り抜けます。 空のブラックリストはすべてを受け入れます。",
|
||||
"create.gui.filter.allow_list": "ホワイトリスト",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 767",
|
||||
"_": "Missing Localizations: 770",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -422,6 +422,7 @@
|
|||
"item.create.attribute_filter": "속성 필터 틀",
|
||||
"item.create.belt_connector": "기계식 벨트",
|
||||
"item.create.blaze_cake": "UNLOCALIZED: Blaze Cake",
|
||||
"item.create.blaze_cake_base": "UNLOCALIZED: Blaze Cake Base",
|
||||
"item.create.brass_hand": "황동 손",
|
||||
"item.create.brass_ingot": "황동 주괴",
|
||||
"item.create.brass_nugget": "황동 조각",
|
||||
|
@ -880,6 +881,9 @@
|
|||
"create.schematicannon.status.schematicNotPlaced": "청사진이 전개되지 않음",
|
||||
"create.schematicannon.status.schematicExpired": "청사진 파일이 제거됨",
|
||||
|
||||
"create.materialChecklist": "UNLOCALIZED: Material Checklist",
|
||||
"create.materialChecklist.blocksNotLoaded": "UNLOCALIZED: * Disclaimer *\n\nMaterial List may be inaccurate due to relevant chunks not being loaded.",
|
||||
|
||||
"create.gui.filter.deny_list": "블랙리스트",
|
||||
"create.gui.filter.deny_list.description": "위 목록에 맞지않는 아이템이면 통과합니다. 빈 블랙리스트는 모두 통과시킵니다.",
|
||||
"create.gui.filter.allow_list": "화이트리스트",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 1073",
|
||||
"_": "Missing Localizations: 1076",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -422,6 +422,7 @@
|
|||
"item.create.attribute_filter": "UNLOCALIZED: Attribute Filter",
|
||||
"item.create.belt_connector": "Mechanische Transportband",
|
||||
"item.create.blaze_cake": "UNLOCALIZED: Blaze Cake",
|
||||
"item.create.blaze_cake_base": "UNLOCALIZED: Blaze Cake Base",
|
||||
"item.create.brass_hand": "UNLOCALIZED: Brass Hand",
|
||||
"item.create.brass_ingot": "UNLOCALIZED: Brass Ingot",
|
||||
"item.create.brass_nugget": "Brons klompje",
|
||||
|
@ -880,6 +881,9 @@
|
|||
"create.schematicannon.status.schematicNotPlaced": "Bouwtekening niet geplaatst",
|
||||
"create.schematicannon.status.schematicExpired": "Bouwtekening verlopen",
|
||||
|
||||
"create.materialChecklist": "UNLOCALIZED: Material Checklist",
|
||||
"create.materialChecklist.blocksNotLoaded": "UNLOCALIZED: * Disclaimer *\n\nMaterial List may be inaccurate due to relevant chunks not being loaded.",
|
||||
|
||||
"create.gui.filter.deny_list": "UNLOCALIZED: Deny-List",
|
||||
"create.gui.filter.deny_list.description": "UNLOCALIZED: Items pass if they do NOT match any of the above. An empty Deny-List accepts everything.",
|
||||
"create.gui.filter.allow_list": "UNLOCALIZED: Allow-List",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 1139",
|
||||
"_": "Missing Localizations: 1142",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -422,6 +422,7 @@
|
|||
"item.create.attribute_filter": "UNLOCALIZED: Attribute Filter",
|
||||
"item.create.belt_connector": "Esteira Mecânica",
|
||||
"item.create.blaze_cake": "UNLOCALIZED: Blaze Cake",
|
||||
"item.create.blaze_cake_base": "UNLOCALIZED: Blaze Cake Base",
|
||||
"item.create.brass_hand": "UNLOCALIZED: Brass Hand",
|
||||
"item.create.brass_ingot": "UNLOCALIZED: Brass Ingot",
|
||||
"item.create.brass_nugget": "UNLOCALIZED: Brass Nugget",
|
||||
|
@ -880,6 +881,9 @@
|
|||
"create.schematicannon.status.schematicNotPlaced": "Esquema não Colocado",
|
||||
"create.schematicannon.status.schematicExpired": "Arquivo de Esquema Expirado",
|
||||
|
||||
"create.materialChecklist": "UNLOCALIZED: Material Checklist",
|
||||
"create.materialChecklist.blocksNotLoaded": "UNLOCALIZED: * Disclaimer *\n\nMaterial List may be inaccurate due to relevant chunks not being loaded.",
|
||||
|
||||
"create.gui.filter.deny_list": "UNLOCALIZED: Deny-List",
|
||||
"create.gui.filter.deny_list.description": "UNLOCALIZED: Items pass if they do NOT match any of the above. An empty Deny-List accepts everything.",
|
||||
"create.gui.filter.allow_list": "UNLOCALIZED: Allow-List",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 440",
|
||||
"_": "Missing Localizations: 443",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -422,6 +422,7 @@
|
|||
"item.create.attribute_filter": "Фильтр атрибутов",
|
||||
"item.create.belt_connector": "Механический ремень",
|
||||
"item.create.blaze_cake": "UNLOCALIZED: Blaze Cake",
|
||||
"item.create.blaze_cake_base": "UNLOCALIZED: Blaze Cake Base",
|
||||
"item.create.brass_hand": "Латунная рука",
|
||||
"item.create.brass_ingot": "Латунный слиток",
|
||||
"item.create.brass_nugget": "Кусочек латуни",
|
||||
|
@ -880,6 +881,9 @@
|
|||
"create.schematicannon.status.schematicNotPlaced": "Схема не загружена",
|
||||
"create.schematicannon.status.schematicExpired": "Срок действия файла схемы истек",
|
||||
|
||||
"create.materialChecklist": "UNLOCALIZED: Material Checklist",
|
||||
"create.materialChecklist.blocksNotLoaded": "UNLOCALIZED: * Disclaimer *\n\nMaterial List may be inaccurate due to relevant chunks not being loaded.",
|
||||
|
||||
"create.gui.filter.deny_list": "Чёрный список",
|
||||
"create.gui.filter.deny_list.description": "Предметы проходят, если они не соответствуют ни одному из вышеперечисленных. Пустой черный список принимает все.",
|
||||
"create.gui.filter.allow_list": "Белый список",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 449",
|
||||
"_": "Missing Localizations: 451",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -422,6 +422,7 @@
|
|||
"item.create.attribute_filter": "属性过滤器",
|
||||
"item.create.belt_connector": "传送带",
|
||||
"item.create.blaze_cake": "UNLOCALIZED: Blaze Cake",
|
||||
"item.create.blaze_cake_base": "UNLOCALIZED: Blaze Cake Base",
|
||||
"item.create.brass_hand": "黄铜手部零件",
|
||||
"item.create.brass_ingot": "黄铜锭",
|
||||
"item.create.brass_nugget": "黄铜粒",
|
||||
|
@ -880,6 +881,9 @@
|
|||
"create.schematicannon.status.schematicNotPlaced": "蓝图未部署",
|
||||
"create.schematicannon.status.schematicExpired": "蓝图文件已过期",
|
||||
|
||||
"create.materialChecklist": "材料清单",
|
||||
"create.materialChecklist.blocksNotLoaded": "UNLOCALIZED: * Disclaimer *\n\nMaterial List may be inaccurate due to relevant chunks not being loaded.",
|
||||
|
||||
"create.gui.filter.deny_list": "黑名单",
|
||||
"create.gui.filter.deny_list.description": "只通过不在黑名单中的物品,如果黑名单为空,所有物品都可以通过",
|
||||
"create.gui.filter.allow_list": "白名单",
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "item/generated",
|
||||
"textures": {
|
||||
"layer0": "create:item/blaze_cake_base"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
"type": "create:compacting",
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "minecraft:flint"
|
||||
},
|
||||
{
|
||||
"item": "minecraft:flint"
|
||||
},
|
||||
{
|
||||
"item": "minecraft:gravel"
|
||||
},
|
||||
{
|
||||
"fluid": "minecraft:lava",
|
||||
"nbt": {},
|
||||
"amount": 100
|
||||
}
|
||||
],
|
||||
"results": [
|
||||
{
|
||||
"item": "minecraft:andesite"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -9,15 +9,11 @@
|
|||
},
|
||||
{
|
||||
"item": "create:cinder_flour"
|
||||
},
|
||||
{
|
||||
"fluidTag": "minecraft:lava",
|
||||
"amount": 125
|
||||
}
|
||||
],
|
||||
"results": [
|
||||
{
|
||||
"item": "create:blaze_cake"
|
||||
"item": "create:blaze_cake_base"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
"type": "create:compacting",
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "minecraft:flint"
|
||||
},
|
||||
{
|
||||
"item": "minecraft:flint"
|
||||
},
|
||||
{
|
||||
"item": "create:limesand"
|
||||
},
|
||||
{
|
||||
"fluid": "minecraft:lava",
|
||||
"nbt": {},
|
||||
"amount": 100
|
||||
}
|
||||
],
|
||||
"results": [
|
||||
{
|
||||
"item": "minecraft:diorite"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
"type": "create:compacting",
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "minecraft:flint"
|
||||
},
|
||||
{
|
||||
"item": "minecraft:flint"
|
||||
},
|
||||
{
|
||||
"item": "minecraft:red_sand"
|
||||
},
|
||||
{
|
||||
"fluid": "minecraft:lava",
|
||||
"nbt": {},
|
||||
"amount": 100
|
||||
}
|
||||
],
|
||||
"results": [
|
||||
{
|
||||
"item": "minecraft:granite"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,16 +1,19 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": [
|
||||
" C ",
|
||||
"CBC",
|
||||
" C "
|
||||
" B ",
|
||||
"SCS",
|
||||
" B "
|
||||
],
|
||||
"key": {
|
||||
"C": {
|
||||
"item": "create:andesite_casing"
|
||||
"S": {
|
||||
"item": "create:shaft"
|
||||
},
|
||||
"B": {
|
||||
"item": "minecraft:dried_kelp"
|
||||
"tag": "forge:nuggets/iron"
|
||||
},
|
||||
"C": {
|
||||
"item": "create:andesite_casing"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
|
|
|
@ -1,20 +1,18 @@
|
|||
{
|
||||
"type": "create:mixing",
|
||||
"type": "create:filling",
|
||||
"ingredients": [
|
||||
{
|
||||
"fluid": "minecraft:water",
|
||||
"nbt": {},
|
||||
"amount": 250
|
||||
"item": "create:blaze_cake_base"
|
||||
},
|
||||
{
|
||||
"fluid": "minecraft:lava",
|
||||
"nbt": {},
|
||||
"amount": 25
|
||||
"amount": 250
|
||||
}
|
||||
],
|
||||
"results": [
|
||||
{
|
||||
"item": "minecraft:cobblestone"
|
||||
"item": "create:blaze_cake"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "create:filling",
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "create:cinder_flour"
|
||||
},
|
||||
{
|
||||
"fluid": "create:potion",
|
||||
"nbt": {
|
||||
"Bottle": "REGULAR",
|
||||
"Potion": "minecraft:fire_resistance"
|
||||
},
|
||||
"amount": 25
|
||||
}
|
||||
],
|
||||
"results": [
|
||||
{
|
||||
"item": "minecraft:glowstone_dust"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"type": "create:filling",
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "minecraft:dirt"
|
||||
},
|
||||
{
|
||||
"fluid": "minecraft:water",
|
||||
"nbt": {},
|
||||
"amount": 500
|
||||
}
|
||||
],
|
||||
"results": [
|
||||
{
|
||||
"item": "minecraft:grass_block"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "create:filling",
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "create:cinder_flour"
|
||||
},
|
||||
{
|
||||
"fluid": "create:potion",
|
||||
"nbt": {
|
||||
"Bottle": "REGULAR",
|
||||
"Potion": "minecraft:harming"
|
||||
},
|
||||
"amount": 25
|
||||
}
|
||||
],
|
||||
"results": [
|
||||
{
|
||||
"item": "minecraft:gunpowder"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "create:filling",
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "create:cinder_flour"
|
||||
},
|
||||
{
|
||||
"fluid": "create:potion",
|
||||
"nbt": {
|
||||
"Bottle": "REGULAR",
|
||||
"Potion": "minecraft:strength"
|
||||
},
|
||||
"amount": 25
|
||||
}
|
||||
],
|
||||
"results": [
|
||||
{
|
||||
"item": "minecraft:redstone"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,21 +0,0 @@
|
|||
{
|
||||
"type": "create:mixing",
|
||||
"ingredients": [
|
||||
{
|
||||
"tag": "minecraft:coals"
|
||||
},
|
||||
{
|
||||
"item": "create:crushed_zinc_ore"
|
||||
},
|
||||
{
|
||||
"item": "minecraft:gunpowder"
|
||||
}
|
||||
],
|
||||
"results": [
|
||||
{
|
||||
"item": "minecraft:gunpowder",
|
||||
"count": 2
|
||||
}
|
||||
],
|
||||
"heatRequirement": "heated"
|
||||
}
|
|
@ -8,7 +8,7 @@
|
|||
"results": [
|
||||
{
|
||||
"fluid": "minecraft:lava",
|
||||
"amount": 25
|
||||
"amount": 50
|
||||
}
|
||||
],
|
||||
"heatRequirement": "superheated"
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "create:pressing",
|
||||
"ingredients": [
|
||||
[
|
||||
{
|
||||
"item": "minecraft:grass_block"
|
||||
},
|
||||
{
|
||||
"item": "minecraft:dirt"
|
||||
},
|
||||
{
|
||||
"item": "minecraft:podzol"
|
||||
}
|
||||
]
|
||||
],
|
||||
"results": [
|
||||
{
|
||||
"item": "minecraft:grass_path"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,6 +1,8 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"create:blaze_cake_base",
|
||||
"create:blaze_cake",
|
||||
"minecraft:glass_bottle",
|
||||
"minecraft:potion",
|
||||
"minecraft:splash_potion",
|
||||
|
|
|
@ -44,6 +44,7 @@ import com.simibubi.create.content.schematics.item.SchematicAndQuillItem;
|
|||
import com.simibubi.create.content.schematics.item.SchematicItem;
|
||||
import com.simibubi.create.foundation.data.AssetLookup;
|
||||
import com.simibubi.create.foundation.data.CreateRegistrate;
|
||||
import com.simibubi.create.foundation.item.HiddenIngredientItem;
|
||||
import com.simibubi.create.foundation.item.TagDependentIngredientItem;
|
||||
import com.simibubi.create.foundation.item.TooltipHelper;
|
||||
import com.tterrag.registrate.util.entry.ItemEntry;
|
||||
|
@ -81,19 +82,13 @@ public class AllItems {
|
|||
CRUSHED_ZINC = taggedIngredient("crushed_zinc_ore", CRUSHED_ORES.tag),
|
||||
CRUSHED_BRASS = taggedIngredient("crushed_brass", CRUSHED_ORES.tag);
|
||||
|
||||
public static final ItemEntry<TagDependentIngredientItem>
|
||||
CRUSHED_OSMIUM = compatCrushedOre("osmium"),
|
||||
CRUSHED_PLATINUM = compatCrushedOre("platinum"),
|
||||
CRUSHED_SILVER = compatCrushedOre("silver"),
|
||||
CRUSHED_TIN = compatCrushedOre("tin"),
|
||||
CRUSHED_LEAD = compatCrushedOre("lead"),
|
||||
CRUSHED_QUICKSILVER = compatCrushedOre("quicksilver"),
|
||||
CRUSHED_BAUXITE = compatCrushedOre("aluminum"),
|
||||
CRUSHED_URANIUM = compatCrushedOre("uranium"),
|
||||
CRUSHED_NICKEL = compatCrushedOre("nickel");
|
||||
public static final ItemEntry<TagDependentIngredientItem> CRUSHED_OSMIUM = compatCrushedOre("osmium"),
|
||||
CRUSHED_PLATINUM = compatCrushedOre("platinum"), CRUSHED_SILVER = compatCrushedOre("silver"),
|
||||
CRUSHED_TIN = compatCrushedOre("tin"), CRUSHED_LEAD = compatCrushedOre("lead"),
|
||||
CRUSHED_QUICKSILVER = compatCrushedOre("quicksilver"), CRUSHED_BAUXITE = compatCrushedOre("aluminum"),
|
||||
CRUSHED_URANIUM = compatCrushedOre("uranium"), CRUSHED_NICKEL = compatCrushedOre("nickel");
|
||||
|
||||
public static final ItemEntry<Item>
|
||||
ANDESITE_ALLOY = ingredient("andesite_alloy"),
|
||||
public static final ItemEntry<Item> ANDESITE_ALLOY = ingredient("andesite_alloy"),
|
||||
COPPER_INGOT = taggedIngredient("copper_ingot", forgeItemTag("ingots/copper"), CREATE_INGOTS.tag),
|
||||
ZINC_INGOT = taggedIngredient("zinc_ingot", forgeItemTag("ingots/zinc"), CREATE_INGOTS.tag),
|
||||
BRASS_INGOT = taggedIngredient("brass_ingot", forgeItemTag("ingots/brass"), CREATE_INGOTS.tag),
|
||||
|
@ -104,7 +99,13 @@ public class AllItems {
|
|||
WHISK = ingredient("whisk"), BRASS_HAND = ingredient("brass_hand"),
|
||||
CRAFTER_SLOT_COVER = ingredient("crafter_slot_cover");
|
||||
|
||||
public static final ItemEntry<HiddenIngredientItem> BLAZE_CAKE_BASE =
|
||||
REGISTRATE.item("blaze_cake_base", HiddenIngredientItem::new)
|
||||
.tag(AllItemTags.UPRIGHT_ON_BELT.tag)
|
||||
.register();
|
||||
|
||||
public static final ItemEntry<CombustibleItem> BLAZE_CAKE = REGISTRATE.item("blaze_cake", CombustibleItem::new)
|
||||
.tag(AllItemTags.UPRIGHT_ON_BELT.tag)
|
||||
.register();
|
||||
|
||||
public static final ItemEntry<ChromaticCompoundItem> CHROMATIC_COMPOUND =
|
||||
|
@ -266,6 +267,11 @@ public class AllItems {
|
|||
.register();
|
||||
}
|
||||
|
||||
private static ItemEntry<HiddenIngredientItem> hiddenIngredient(String name) {
|
||||
return REGISTRATE.item(name, HiddenIngredientItem::new)
|
||||
.register();
|
||||
}
|
||||
|
||||
@SafeVarargs
|
||||
private static ItemEntry<Item> taggedIngredient(String name, ITag.INamedTag<Item>... tags) {
|
||||
return REGISTRATE.item(name, Item::new)
|
||||
|
|
|
@ -159,11 +159,10 @@ public class CreateJEI implements IModPlugin {
|
|||
.recipeList(MysteriousItemConversionCategory::getRecipes)
|
||||
.build(),
|
||||
|
||||
spoutFilling =
|
||||
register("spout_filling", SpoutCategory::new).recipeList(() -> SpoutCategory.getRecipes(ingredientManager))
|
||||
.recipes(AllRecipeTypes.FILLING)
|
||||
.catalyst(AllBlocks.SPOUT::get)
|
||||
.build(),
|
||||
spoutFilling = register("spout_filling", SpoutCategory::new).recipes(AllRecipeTypes.FILLING)
|
||||
.recipeList(() -> SpoutCategory.getRecipes(ingredientManager))
|
||||
.catalyst(AllBlocks.SPOUT::get)
|
||||
.build(),
|
||||
|
||||
draining = register("draining", ItemDrainCategory::new)
|
||||
.recipeList(() -> ItemDrainCategory.getRecipes(ingredientManager))
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
package com.simibubi.create.content.contraptions.fluids.actors;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
import com.simibubi.create.AllRecipeTypes;
|
||||
import com.simibubi.create.foundation.fluid.FluidIngredient;
|
||||
|
@ -27,9 +26,9 @@ public class FillingBySpout {
|
|||
|
||||
public static int getRequiredAmountForItem(World world, ItemStack stack, FluidStack availableFluid) {
|
||||
wrapper.setInventorySlotContents(0, stack);
|
||||
Optional<IRecipe<RecipeWrapper>> recipe = AllRecipeTypes.FILLING.find(wrapper, world);
|
||||
if (recipe.isPresent()) {
|
||||
FillingRecipe fillingRecipe = (FillingRecipe) recipe.get();
|
||||
for (IRecipe<RecipeWrapper> recipe : world.getRecipeManager()
|
||||
.getRecipes(AllRecipeTypes.FILLING.getType(), wrapper, world)) {
|
||||
FillingRecipe fillingRecipe = (FillingRecipe) recipe;
|
||||
FluidIngredient requiredFluid = fillingRecipe.getRequiredFluid();
|
||||
if (requiredFluid.test(availableFluid))
|
||||
return requiredFluid.getRequiredAmount();
|
||||
|
@ -42,9 +41,9 @@ public class FillingBySpout {
|
|||
toFill.setAmount(requiredAmount);
|
||||
|
||||
wrapper.setInventorySlotContents(0, stack);
|
||||
Optional<IRecipe<RecipeWrapper>> recipe = AllRecipeTypes.FILLING.find(wrapper, world);
|
||||
if (recipe.isPresent()) {
|
||||
FillingRecipe fillingRecipe = (FillingRecipe) recipe.get();
|
||||
for (IRecipe<RecipeWrapper> recipe : world.getRecipeManager()
|
||||
.getRecipes(AllRecipeTypes.FILLING.getType(), wrapper, world)) {
|
||||
FillingRecipe fillingRecipe = (FillingRecipe) recipe;
|
||||
FluidIngredient requiredFluid = fillingRecipe.getRequiredFluid();
|
||||
if (requiredFluid.test(toFill)) {
|
||||
List<ItemStack> results = fillingRecipe.rollResults();
|
||||
|
|
|
@ -6,6 +6,8 @@ import java.util.Map.Entry;
|
|||
|
||||
import com.google.common.collect.Lists;
|
||||
import com.simibubi.create.content.contraptions.fluids.potion.PotionFluid.BottleType;
|
||||
import com.simibubi.create.foundation.fluid.FluidHelper;
|
||||
import com.simibubi.create.foundation.fluid.FluidIngredient;
|
||||
import com.simibubi.create.foundation.utility.NBTHelper;
|
||||
import com.simibubi.create.foundation.utility.Pair;
|
||||
|
||||
|
@ -41,6 +43,11 @@ public class PotionFluidHandler {
|
|||
return Pair.of(fluid, new ItemStack(Items.GLASS_BOTTLE));
|
||||
}
|
||||
|
||||
public static FluidIngredient potionIngredient(Potion potion, int amount) {
|
||||
return FluidIngredient.fromFluidStack(FluidHelper.copyStackWithAmount(PotionFluidHandler
|
||||
.getFluidFromPotionItem(PotionUtils.addPotionToItemStack(new ItemStack(Items.POTION), potion)), amount));
|
||||
}
|
||||
|
||||
public static FluidStack getFluidFromPotionItem(ItemStack stack) {
|
||||
Potion potion = PotionUtils.getPotionFromItem(stack);
|
||||
List<EffectInstance> list = PotionUtils.getFullEffectsFromItem(stack);
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
package com.simibubi.create.content.logistics;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.IdentityHashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.LinkedHashSet;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
|
@ -21,14 +22,24 @@ import net.minecraft.world.World;
|
|||
|
||||
public class RedstoneLinkNetworkHandler {
|
||||
|
||||
static Map<IWorld, Map<Pair<Frequency, Frequency>, Set<LinkBehaviour>>> connections = new HashMap<>();
|
||||
static final Map<IWorld, Map<Pair<Frequency, Frequency>, Set<LinkBehaviour>>> connections = new IdentityHashMap<>();
|
||||
|
||||
public static class Frequency {
|
||||
public static final Frequency EMPTY = new Frequency(ItemStack.EMPTY);
|
||||
private static final Map<Item, Frequency> simpleFrequencies = new IdentityHashMap<>();
|
||||
private ItemStack stack;
|
||||
private Item item;
|
||||
private int color;
|
||||
|
||||
public Frequency(ItemStack stack) {
|
||||
public static Frequency of(ItemStack stack) {
|
||||
if (stack.isEmpty())
|
||||
return EMPTY;
|
||||
if (!stack.hasTag())
|
||||
return simpleFrequencies.computeIfAbsent(stack.getItem(), $ -> new Frequency(stack));
|
||||
return new Frequency(stack);
|
||||
}
|
||||
|
||||
private Frequency(ItemStack stack) {
|
||||
this.stack = stack;
|
||||
item = stack.getItem();
|
||||
CompoundNBT displayTag = stack.getChildTag("display");
|
||||
|
@ -36,7 +47,7 @@ public class RedstoneLinkNetworkHandler {
|
|||
}
|
||||
|
||||
public ItemStack getStack() {
|
||||
return stack.copy();
|
||||
return stack;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -46,6 +57,8 @@ public class RedstoneLinkNetworkHandler {
|
|||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
return obj instanceof Frequency ? ((Frequency) obj).item == item && ((Frequency) obj).color == color
|
||||
: false;
|
||||
}
|
||||
|
@ -66,7 +79,7 @@ public class RedstoneLinkNetworkHandler {
|
|||
Map<Pair<Frequency, Frequency>, Set<LinkBehaviour>> networksInWorld = networksIn(actor.getWorld());
|
||||
Pair<Frequency, Frequency> key = actor.getNetworkKey();
|
||||
if (!networksInWorld.containsKey(key))
|
||||
networksInWorld.put(key, new HashSet<>());
|
||||
networksInWorld.put(key, new LinkedHashSet<>());
|
||||
return networksInWorld.get(key);
|
||||
}
|
||||
|
||||
|
@ -106,31 +119,26 @@ public class RedstoneLinkNetworkHandler {
|
|||
}
|
||||
if (!withinRange(actor, other))
|
||||
continue;
|
||||
power = Math.max(other.getTransmittedStrength(), power);
|
||||
if (power == 15)
|
||||
break;
|
||||
|
||||
if (power < 15)
|
||||
power = Math.max(other.getTransmittedStrength(), power);
|
||||
}
|
||||
|
||||
// fix one-to-one loading order problem
|
||||
if(actor.isListening()){
|
||||
if (actor.isListening()) {
|
||||
actor.newPosition = true;
|
||||
actor.updateReceiver(power);
|
||||
}
|
||||
|
||||
for (Iterator<LinkBehaviour> iterator = network.iterator(); iterator.hasNext();) {
|
||||
LinkBehaviour other = iterator.next();
|
||||
if (other.tileEntity.isRemoved()) {
|
||||
iterator.remove();
|
||||
continue;
|
||||
}
|
||||
if (!withinRange(actor, other))
|
||||
continue;
|
||||
if (other.isListening())
|
||||
for (LinkBehaviour other : network) {
|
||||
if (other != actor && other.isListening() && withinRange(actor, other))
|
||||
other.updateReceiver(power);
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean withinRange(LinkBehaviour from, LinkBehaviour to) {
|
||||
if (from == to)
|
||||
return true;
|
||||
return from.getPos().withinDistance(to.getPos(), AllConfigs.SERVER.logistics.linkRange.get());
|
||||
}
|
||||
|
||||
|
|
|
@ -2,41 +2,37 @@ package com.simibubi.create.content.schematics;
|
|||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
|
||||
import com.google.common.collect.Sets;
|
||||
import com.simibubi.create.content.schematics.ItemRequirement.ItemUseType;
|
||||
import com.simibubi.create.foundation.utility.Lang;
|
||||
|
||||
import it.unimi.dsi.fastutil.objects.Object2IntArrayMap;
|
||||
import it.unimi.dsi.fastutil.objects.Object2IntMap;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Items;
|
||||
import net.minecraft.nbt.CompoundNBT;
|
||||
import net.minecraft.nbt.ListNBT;
|
||||
import net.minecraft.nbt.StringNBT;
|
||||
import net.minecraft.util.text.IFormattableTextComponent;
|
||||
import net.minecraft.util.text.ITextComponent;
|
||||
import net.minecraft.util.text.StringTextComponent;
|
||||
import net.minecraft.util.text.Style;
|
||||
import net.minecraft.util.text.TextFormatting;
|
||||
import net.minecraft.util.text.TranslationTextComponent;
|
||||
|
||||
//TODO colors get purged with current approach, proper checklist item with UI is needed
|
||||
public class MaterialChecklist {
|
||||
|
||||
|
||||
public static final int MAX_ENTRIES_PER_PAGE = 5;
|
||||
|
||||
public Map<Item, Integer> gathered;
|
||||
public Map<Item, Integer> required;
|
||||
public Map<Item, Integer> damageRequired;
|
||||
public Object2IntMap<Item> gathered = new Object2IntArrayMap<>();
|
||||
public Object2IntMap<Item> required = new Object2IntArrayMap<>();
|
||||
public Object2IntMap<Item> damageRequired = new Object2IntArrayMap<>();
|
||||
public boolean blocksNotLoaded;
|
||||
|
||||
public MaterialChecklist() {
|
||||
required = new HashMap<>();
|
||||
damageRequired = new HashMap<>();
|
||||
gathered = new HashMap<>();
|
||||
}
|
||||
|
||||
public void warnBlockNotLoaded() {
|
||||
blocksNotLoaded = true;
|
||||
}
|
||||
|
@ -55,12 +51,12 @@ public class MaterialChecklist {
|
|||
}
|
||||
}
|
||||
|
||||
private void putOrIncrement(Map<Item, Integer> map, ItemStack stack) {
|
||||
private void putOrIncrement(Object2IntMap<Item> map, ItemStack stack) {
|
||||
Item item = stack.getItem();
|
||||
if (item == Items.AIR)
|
||||
return;
|
||||
if (map.containsKey(item))
|
||||
map.put(item, map.get(item) + stack.getCount());
|
||||
map.put(item, map.getInt(item) + stack.getCount());
|
||||
else
|
||||
map.put(item, stack.getCount());
|
||||
}
|
||||
|
@ -69,7 +65,7 @@ public class MaterialChecklist {
|
|||
Item item = stack.getItem();
|
||||
if (required.containsKey(item) || damageRequired.containsKey(item))
|
||||
if (gathered.containsKey(item))
|
||||
gathered.put(item, gathered.get(item) + stack.getCount());
|
||||
gathered.put(item, gathered.getInt(item) + stack.getCount());
|
||||
else
|
||||
gathered.put(item, stack.getCount());
|
||||
}
|
||||
|
@ -81,31 +77,31 @@ public class MaterialChecklist {
|
|||
ListNBT pages = new ListNBT();
|
||||
|
||||
int itemsWritten = 0;
|
||||
StringBuilder string = new StringBuilder("{\"text\":\"");
|
||||
IFormattableTextComponent textComponent;
|
||||
|
||||
if (blocksNotLoaded) {
|
||||
string.append("\n" + TextFormatting.RED + "* Disclaimer *\n\n");
|
||||
string.append("Material List may be inaccurate due to relevant chunks not being loaded.");
|
||||
string.append("\"}");
|
||||
pages.add(StringNBT.of(string.toString()));
|
||||
string = new StringBuilder("{\"text\":\"");
|
||||
textComponent = new StringTextComponent("\n" + TextFormatting.RED);
|
||||
textComponent =
|
||||
textComponent.append(Lang.createTranslationTextComponent("materialChecklist.blocksNotLoaded"));
|
||||
pages.add(StringNBT.of(ITextComponent.Serializer.toJson(textComponent)));
|
||||
}
|
||||
|
||||
List<Item> keys = new ArrayList<>(Sets.union(required.keySet(), damageRequired.keySet()));
|
||||
Collections.sort(keys, (item1, item2) -> {
|
||||
Locale locale = Locale.ENGLISH;
|
||||
String name1 =
|
||||
new TranslationTextComponent(item1.getTranslationKey()).getString().toLowerCase(locale);
|
||||
String name2 =
|
||||
new TranslationTextComponent(item2.getTranslationKey()).getString().toLowerCase(locale);
|
||||
String name1 = new TranslationTextComponent(item1.getTranslationKey()).getString()
|
||||
.toLowerCase(locale);
|
||||
String name2 = new TranslationTextComponent(item2.getTranslationKey()).getString()
|
||||
.toLowerCase(locale);
|
||||
return name1.compareTo(name2);
|
||||
});
|
||||
|
||||
textComponent = new StringTextComponent("");
|
||||
List<Item> completed = new ArrayList<>();
|
||||
for (Item item : keys) {
|
||||
int amount = getRequiredAmount(item);
|
||||
if (gathered.containsKey(item))
|
||||
amount -= gathered.get(item);
|
||||
amount -= gathered.getInt(item);
|
||||
|
||||
if (amount <= 0) {
|
||||
completed.add(item);
|
||||
|
@ -114,63 +110,59 @@ public class MaterialChecklist {
|
|||
|
||||
if (itemsWritten == MAX_ENTRIES_PER_PAGE) {
|
||||
itemsWritten = 0;
|
||||
string.append("\"}");
|
||||
pages.add(StringNBT.of(string.toString()));
|
||||
string = new StringBuilder("{\"text\":\"");
|
||||
textComponent.append(new StringTextComponent("\n >>>").formatted(TextFormatting.BLUE));
|
||||
pages.add(StringNBT.of(ITextComponent.Serializer.toJson(textComponent)));
|
||||
textComponent = new StringTextComponent("");
|
||||
}
|
||||
|
||||
itemsWritten++;
|
||||
string.append(unfinishedEntry(new ItemStack(item), amount).getString());
|
||||
textComponent.append(entry(new ItemStack(item), amount, true));
|
||||
}
|
||||
|
||||
for (Item item : completed) {
|
||||
if (itemsWritten == MAX_ENTRIES_PER_PAGE) {
|
||||
itemsWritten = 0;
|
||||
string.append("\"}");
|
||||
pages.add(StringNBT.of(string.toString()));
|
||||
string = new StringBuilder("{\"text\":\"");
|
||||
textComponent.append(new StringTextComponent("\n >>>").formatted(TextFormatting.DARK_GREEN));
|
||||
pages.add(StringNBT.of(ITextComponent.Serializer.toJson(textComponent)));
|
||||
textComponent = new StringTextComponent("");
|
||||
}
|
||||
|
||||
itemsWritten++;
|
||||
string.append(gatheredEntry(new ItemStack(item), getRequiredAmount(item)).getString());
|
||||
textComponent.append(entry(new ItemStack(item), getRequiredAmount(item), false));
|
||||
}
|
||||
|
||||
string.append("\"}");
|
||||
pages.add(StringNBT.of(string.toString()));
|
||||
pages.add(StringNBT.of(ITextComponent.Serializer.toJson(textComponent)));
|
||||
|
||||
tag.put("pages", pages);
|
||||
tag.putString("author", "Schematicannon");
|
||||
tag.putString("title", TextFormatting.BLUE + "Material Checklist");
|
||||
textComponent = Lang.createTranslationTextComponent("materialChecklist")
|
||||
.setStyle(Style.EMPTY.withColor(TextFormatting.BLUE)
|
||||
.withItalic(Boolean.FALSE));
|
||||
book.getOrCreateChildTag("display")
|
||||
.putString("Name", ITextComponent.Serializer.toJson(textComponent));
|
||||
book.setTag(tag);
|
||||
|
||||
return book;
|
||||
}
|
||||
|
||||
public Integer getRequiredAmount(Item item) {
|
||||
public int getRequiredAmount(Item item) {
|
||||
int amount = required.getOrDefault(item, 0);
|
||||
if (damageRequired.containsKey(item))
|
||||
amount += Math.ceil(damageRequired.get(item) / (float) new ItemStack(item).getMaxDamage());
|
||||
amount += Math.ceil(damageRequired.getInt(item) / (float) new ItemStack(item).getMaxDamage());
|
||||
return amount;
|
||||
}
|
||||
|
||||
private ITextComponent gatheredEntry(ItemStack item, int amount) {
|
||||
private ITextComponent entry(ItemStack item, int amount, boolean unfinished) {
|
||||
int stacks = amount / 64;
|
||||
int remainder = amount % 64;
|
||||
TranslationTextComponent tc = new TranslationTextComponent(item.getTranslationKey());
|
||||
return tc.append(" \\u2714\n");
|
||||
//.formatted(TextFormatting.DARK_GREEN).append(new StringTextComponent(" | "
|
||||
//+ "-" + "\\u25A4 +" + "--" + "\n").formatted(TextFormatting.GRAY));
|
||||
// return TextFormatting.DARK_GREEN + tc.getFormattedText() + " \\u2714\n x" + amount + TextFormatting.GRAY + " | "
|
||||
// + stacks + "\\u25A4 +" + remainder + "\n";
|
||||
}
|
||||
|
||||
private ITextComponent unfinishedEntry(ItemStack item, int amount) {
|
||||
int stacks = amount / 64;
|
||||
int remainder = amount % 64;
|
||||
TranslationTextComponent tc = new TranslationTextComponent(item.getTranslationKey());
|
||||
return tc.append("\n x" + amount).formatted(TextFormatting.BLUE).append(new StringTextComponent(" | " + stacks + "\\u25A4 +" + remainder + "\n").formatted(TextFormatting.GRAY));
|
||||
// return TextFormatting.BLUE + tc.getFormattedText() + "\n x" + amount + TextFormatting.GRAY + " | " + stacks
|
||||
// + "\\u25A4 +" + remainder + "\n";
|
||||
IFormattableTextComponent tc = new TranslationTextComponent(item.getTranslationKey());
|
||||
if (!unfinished)
|
||||
tc.append(" \u2714");
|
||||
tc.formatted(unfinished ? TextFormatting.BLUE : TextFormatting.DARK_GREEN);
|
||||
return tc.append(new StringTextComponent("\n" + " x" + amount).formatted(TextFormatting.BLACK))
|
||||
.append(
|
||||
new StringTextComponent(" | " + stacks + "\u25A4 +" + remainder + "\n").formatted(TextFormatting.GRAY));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -162,8 +162,8 @@ public class LangMerger implements IDataProvider {
|
|||
if (key.endsWith(".tooltip"))
|
||||
return true;
|
||||
|
||||
key = new String(key).replaceFirst("\\.", "");
|
||||
previousKey = new String(previousKey).replaceFirst("\\.", "");
|
||||
key = key.replaceFirst("\\.", "");
|
||||
previousKey = previousKey.replaceFirst("\\.", "");
|
||||
|
||||
String[] split = key.split("\\.");
|
||||
String[] split2 = previousKey.split("\\.");
|
||||
|
@ -243,7 +243,7 @@ public class LangMerger implements IDataProvider {
|
|||
}
|
||||
|
||||
private class LangEntry {
|
||||
static final String ENTRY_FORMAT = "\t\"%s\": \"%s\",\n";
|
||||
static final String ENTRY_FORMAT = "\t\"%s\": %s,\n";
|
||||
|
||||
private String key;
|
||||
private String value;
|
||||
|
@ -255,7 +255,7 @@ public class LangMerger implements IDataProvider {
|
|||
|
||||
@Override
|
||||
public String toString() {
|
||||
return String.format(ENTRY_FORMAT, key, value);
|
||||
return String.format(ENTRY_FORMAT, key, GSON.toJson(value, String.class));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -2,23 +2,41 @@ package com.simibubi.create.foundation.data.recipe;
|
|||
|
||||
import com.simibubi.create.AllItems;
|
||||
import com.simibubi.create.AllRecipeTypes;
|
||||
import com.simibubi.create.content.palettes.AllPaletteBlocks;
|
||||
|
||||
import net.minecraft.block.Blocks;
|
||||
import net.minecraft.data.DataGenerator;
|
||||
import net.minecraft.fluid.Fluids;
|
||||
import net.minecraft.item.Items;
|
||||
import net.minecraft.tags.FluidTags;
|
||||
import net.minecraftforge.common.Tags;
|
||||
|
||||
public class CompactingRecipeGen extends ProcessingRecipeGen {
|
||||
|
||||
GeneratedRecipe
|
||||
|
||||
BLAZE_CAKE = create("blaze_cake", b -> b
|
||||
.require(Tags.Items.EGGS)
|
||||
.require(Items.SUGAR)
|
||||
.require(AllItems.CINDER_FLOUR.get())
|
||||
.require(FluidTags.LAVA, 125)
|
||||
.output(AllItems.BLAZE_CAKE.get(), 1))
|
||||
|
||||
|
||||
GRANITE = create("granite_from_flint", b -> b.require(Items.FLINT)
|
||||
.require(Items.FLINT)
|
||||
.require(Fluids.LAVA, 100)
|
||||
.require(Items.RED_SAND)
|
||||
.output(Blocks.GRANITE, 1)),
|
||||
|
||||
DIORITE = create("diorite_from_flint", b -> b.require(Items.FLINT)
|
||||
.require(Items.FLINT)
|
||||
.require(Fluids.LAVA, 100)
|
||||
.require(AllPaletteBlocks.LIMESAND.get())
|
||||
.output(Blocks.DIORITE, 1)),
|
||||
|
||||
ANDESITE = create("andesite_from_flint", b -> b.require(Items.FLINT)
|
||||
.require(Items.FLINT)
|
||||
.require(Fluids.LAVA, 100)
|
||||
.require(Items.GRAVEL)
|
||||
.output(Blocks.ANDESITE, 1)),
|
||||
|
||||
BLAZE_CAKE = create("blaze_cake", b -> b.require(Tags.Items.EGGS)
|
||||
.require(Items.SUGAR)
|
||||
.require(AllItems.CINDER_FLOUR.get())
|
||||
.output(AllItems.BLAZE_CAKE_BASE.get(), 1))
|
||||
|
||||
;
|
||||
|
||||
public CompactingRecipeGen(DataGenerator p_i48262_1_) {
|
||||
|
|
|
@ -1,24 +1,47 @@
|
|||
package com.simibubi.create.foundation.data.recipe;
|
||||
|
||||
import com.simibubi.create.AllItems;
|
||||
import com.simibubi.create.AllRecipeTypes;
|
||||
import com.simibubi.create.AllTags;
|
||||
import com.simibubi.create.content.contraptions.fluids.potion.PotionFluidHandler;
|
||||
|
||||
import net.minecraft.data.DataGenerator;
|
||||
import net.minecraft.fluid.Fluids;
|
||||
import net.minecraft.item.Items;
|
||||
import net.minecraft.potion.Potions;
|
||||
|
||||
public class FillingRecipeGen extends ProcessingRecipeGen {
|
||||
|
||||
GeneratedRecipe
|
||||
|
||||
HONEY_BOTTLE = create("honey_bottle", b -> b
|
||||
.require(AllTags.forgeFluidTag("honey"), 250)
|
||||
GeneratedRecipe
|
||||
|
||||
HONEY_BOTTLE = create("honey_bottle", b -> b.require(AllTags.forgeFluidTag("honey"), 250)
|
||||
.require(Items.GLASS_BOTTLE)
|
||||
.output(Items.HONEY_BOTTLE)),
|
||||
|
||||
MILK_BUCKET = create("milk_bucket", b -> b
|
||||
.require(AllTags.forgeFluidTag("milk"), 1000)
|
||||
.require(Items.BUCKET)
|
||||
.output(Items.MILK_BUCKET))
|
||||
|
||||
BLAZE_CAKE = create("blaze_cake", b -> b.require(Fluids.LAVA, 250)
|
||||
.require(AllItems.BLAZE_CAKE_BASE.get())
|
||||
.output(AllItems.BLAZE_CAKE.get())),
|
||||
|
||||
GRASS_BLOCK = create("grass_block", b -> b.require(Fluids.WATER, 500)
|
||||
.require(Items.DIRT)
|
||||
.output(Items.GRASS_BLOCK)),
|
||||
|
||||
GUNPOWDER = create("gunpowder", b -> b.require(PotionFluidHandler.potionIngredient(Potions.HARMING, 25))
|
||||
.require(AllItems.CINDER_FLOUR.get())
|
||||
.output(Items.GUNPOWDER)),
|
||||
|
||||
REDSTONE = create("redstone", b -> b.require(PotionFluidHandler.potionIngredient(Potions.STRENGTH, 25))
|
||||
.require(AllItems.CINDER_FLOUR.get())
|
||||
.output(Items.REDSTONE)),
|
||||
|
||||
GLOWSTONE = create("glowstone", b -> b.require(PotionFluidHandler.potionIngredient(Potions.FIRE_RESISTANCE, 25))
|
||||
.require(AllItems.CINDER_FLOUR.get())
|
||||
.output(Items.GLOWSTONE_DUST)),
|
||||
|
||||
MILK_BUCKET = create("milk_bucket", b -> b.require(AllTags.forgeFluidTag("milk"), 1000)
|
||||
.require(Items.BUCKET)
|
||||
.output(Items.MILK_BUCKET))
|
||||
|
||||
;
|
||||
|
||||
public FillingRecipeGen(DataGenerator p_i48262_1_) {
|
||||
|
|
|
@ -17,12 +17,8 @@ public class MixingRecipeGen extends ProcessingRecipeGen {
|
|||
|
||||
GeneratedRecipe
|
||||
|
||||
TEMPCOBBLE = create("temp_cobble", b -> b.require(Fluids.WATER, 250)
|
||||
.require(Fluids.LAVA, 25)
|
||||
.output(Blocks.COBBLESTONE, 1)),
|
||||
|
||||
TEMP_LAVA = create("temp_lava", b -> b.require(Tags.Items.COBBLESTONE)
|
||||
.output(Fluids.LAVA, 25)
|
||||
TEMP_LAVA = create("lava_from_cobble", b -> b.require(Tags.Items.COBBLESTONE)
|
||||
.output(Fluids.LAVA, 50)
|
||||
.requiresHeat(HeatCondition.SUPERHEATED)),
|
||||
|
||||
TEA = create("tea", b -> b.require(Fluids.WATER, 250)
|
||||
|
@ -30,9 +26,8 @@ public class MixingRecipeGen extends ProcessingRecipeGen {
|
|||
.require(ItemTags.LEAVES)
|
||||
.output(AllFluids.TEA.get(), 500)
|
||||
.requiresHeat(HeatCondition.HEATED)),
|
||||
|
||||
CHOCOLATE = create("chocolate", b -> b
|
||||
.require(AllTags.forgeFluidTag("milk"), 250)
|
||||
|
||||
CHOCOLATE = create("chocolate", b -> b.require(AllTags.forgeFluidTag("milk"), 250)
|
||||
.require(Items.SUGAR)
|
||||
.require(Items.COCOA_BEANS)
|
||||
.output(AllFluids.CHOCOLATE.get(), 250)
|
||||
|
@ -48,12 +43,6 @@ public class MixingRecipeGen extends ProcessingRecipeGen {
|
|||
.output(AllItems.CRUSHED_BRASS.get(), 2)
|
||||
.requiresHeat(HeatCondition.HEATED)),
|
||||
|
||||
GUNPOWDER = create("gunpowder", b -> b.require(ItemTags.COALS)
|
||||
.require(AllItems.CRUSHED_ZINC.get())
|
||||
.require(Items.GUNPOWDER)
|
||||
.output(Items.GUNPOWDER, 2)
|
||||
.requiresHeat(HeatCondition.HEATED)),
|
||||
|
||||
CHROMATIC_COMPOUND = create("chromatic_compound", b -> b.require(Tags.Items.DUSTS_GLOWSTONE)
|
||||
.require(Tags.Items.DUSTS_GLOWSTONE)
|
||||
.require(Tags.Items.DUSTS_GLOWSTONE)
|
||||
|
|
|
@ -6,6 +6,7 @@ import com.simibubi.create.AllRecipeTypes;
|
|||
import net.minecraft.block.Blocks;
|
||||
import net.minecraft.data.DataGenerator;
|
||||
import net.minecraft.item.Items;
|
||||
import net.minecraft.item.crafting.Ingredient;
|
||||
|
||||
public class PressingRecipeGen extends ProcessingRecipeGen {
|
||||
|
||||
|
@ -13,6 +14,9 @@ public class PressingRecipeGen extends ProcessingRecipeGen {
|
|||
|
||||
SUGAR_CANE = create(() -> Items.SUGAR_CANE, b -> b.output(Items.PAPER)),
|
||||
|
||||
PATH = create("path", b -> b.require(Ingredient.fromItems(Items.GRASS_BLOCK, Items.DIRT, Items.PODZOL))
|
||||
.output(Items.GRASS_PATH)),
|
||||
|
||||
IRON = create("iron_ingot", b -> b.require(I.iron())
|
||||
.output(AllItems.IRON_SHEET.get())),
|
||||
GOLD = create("gold_ingot", b -> b.require(I.gold())
|
||||
|
|
|
@ -656,13 +656,14 @@ public class StandardRecipeGen extends CreateRecipeProvider {
|
|||
.patternLine("CBC")
|
||||
.patternLine(" C ")),
|
||||
|
||||
ENCASED_BELT = create(AllBlocks.ENCASED_CHAIN_DRIVE).returns(4)
|
||||
ENCASED_CHAIN_DRIVE = create(AllBlocks.ENCASED_CHAIN_DRIVE).returns(4)
|
||||
.unlockedBy(I::andesiteCasing)
|
||||
.viaShaped(b -> b.key('C', I.andesiteCasing())
|
||||
.key('B', Items.DRIED_KELP)
|
||||
.patternLine(" C ")
|
||||
.patternLine("CBC")
|
||||
.patternLine(" C ")),
|
||||
.viaShaped(b -> b.key('S', I.shaft())
|
||||
.key('B', Tags.Items.NUGGETS_IRON)
|
||||
.key('C', I.andesiteCasing())
|
||||
.patternLine(" B ")
|
||||
.patternLine("SCS")
|
||||
.patternLine(" B ")),
|
||||
|
||||
SPEEDOMETER = create(AllBlocks.SPEEDOMETER).unlockedBy(I::andesite)
|
||||
.viaShaped(b -> b.key('C', Items.COMPASS)
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
package com.simibubi.create.foundation.item;
|
||||
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemGroup;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.NonNullList;
|
||||
|
||||
public class HiddenIngredientItem extends Item {
|
||||
|
||||
public HiddenIngredientItem(Properties p_i48487_1_) {
|
||||
super(p_i48487_1_);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fillItemGroup(ItemGroup p_150895_1_, NonNullList<ItemStack> p_150895_2_) {
|
||||
if (p_150895_1_ != ItemGroup.SEARCH)
|
||||
return;
|
||||
super.fillItemGroup(p_150895_1_, p_150895_2_);
|
||||
}
|
||||
|
||||
}
|
|
@ -39,8 +39,8 @@ public class LinkBehaviour extends TileEntityBehaviour {
|
|||
|
||||
protected LinkBehaviour(SmartTileEntity te, Pair<ValueBoxTransform, ValueBoxTransform> slots) {
|
||||
super(te);
|
||||
frequencyFirst = new Frequency(ItemStack.EMPTY);
|
||||
frequencyLast = new Frequency(ItemStack.EMPTY);
|
||||
frequencyFirst = Frequency.EMPTY;
|
||||
frequencyLast = Frequency.EMPTY;
|
||||
firstSlot = slots.getLeft();
|
||||
secondSlot = slots.getRight();
|
||||
textShift = Vector3d.ZERO;
|
||||
|
@ -133,8 +133,8 @@ public class LinkBehaviour extends TileEntityBehaviour {
|
|||
newPosition = positionInTag != positionKey;
|
||||
|
||||
super.read(nbt, clientPacket);
|
||||
frequencyFirst = new Frequency(ItemStack.read(nbt.getCompound("FrequencyFirst")));
|
||||
frequencyLast = new Frequency(ItemStack.read(nbt.getCompound("FrequencyLast")));
|
||||
frequencyFirst = Frequency.of(ItemStack.read(nbt.getCompound("FrequencyFirst")));
|
||||
frequencyLast = Frequency.of(ItemStack.read(nbt.getCompound("FrequencyLast")));
|
||||
}
|
||||
|
||||
public void setFrequency(boolean first, ItemStack stack) {
|
||||
|
@ -148,9 +148,9 @@ public class LinkBehaviour extends TileEntityBehaviour {
|
|||
getHandler().removeFromNetwork(this);
|
||||
|
||||
if (first)
|
||||
frequencyFirst = new Frequency(stack);
|
||||
frequencyFirst = Frequency.of(stack);
|
||||
else
|
||||
frequencyLast = new Frequency(stack);
|
||||
frequencyLast = Frequency.of(stack);
|
||||
|
||||
if (!changed)
|
||||
return;
|
||||
|
|
|
@ -314,7 +314,10 @@
|
|||
"create.schematicannon.status.schematicInvalid": "Schematic Invalid",
|
||||
"create.schematicannon.status.schematicNotPlaced": "Schematic Not Deployed",
|
||||
"create.schematicannon.status.schematicExpired": "Schematic File Expired",
|
||||
|
||||
|
||||
"create.materialChecklist": "Material Checklist",
|
||||
"create.materialChecklist.blocksNotLoaded": "* Disclaimer *\n\nMaterial List may be inaccurate due to relevant chunks not being loaded.",
|
||||
|
||||
"create.gui.filter.deny_list": "Deny-List",
|
||||
"create.gui.filter.deny_list.description": "Items pass if they do NOT match any of the above. An empty Deny-List accepts everything.",
|
||||
"create.gui.filter.allow_list": "Allow-List",
|
||||
|
|
|
@ -743,7 +743,9 @@
|
|||
"create.schematicannon.status.schematicInvalid": "蓝图无效",
|
||||
"create.schematicannon.status.schematicNotPlaced": "蓝图未部署",
|
||||
"create.schematicannon.status.schematicExpired": "蓝图文件已过期",
|
||||
|
||||
|
||||
"create.materialChecklist": "材料清单",
|
||||
|
||||
"create.gui.filter.deny_list": "黑名单",
|
||||
"create.gui.filter.deny_list.description": "只通过不在黑名单中的物品,如果黑名单为空,所有物品都可以通过",
|
||||
"create.gui.filter.allow_list": "白名单",
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 276 B |
Loading…
Reference in a new issue