diff --git a/src/generated/resources/.cache/cache b/src/generated/resources/.cache/cache index e844a97e2..4b9f82b08 100644 --- a/src/generated/resources/.cache/cache +++ b/src/generated/resources/.cache/cache @@ -531,20 +531,20 @@ bf2b0310500213ff853c748c236eb5d01f61658e assets/create/blockstates/yellow_toolbo 7f39521b211441f5c3e06d60c5978cebe16cacfb assets/create/blockstates/zinc_block.json b7181bcd8182b2f17088e5aa881f374c9c65470c assets/create/blockstates/zinc_ore.json f33899d90db924319a1b99065bf1faff1aa40d6a assets/create/lang/en_ud.json -6be350b9d57fa573e464b8ed250b66234d767631 assets/create/lang/en_us.json -f7b78c385c001eccef20718886ec62aebb49920b assets/create/lang/unfinished/de_de.json -9a13b14a41fabc846638b5aa1557ab3be915e24f assets/create/lang/unfinished/es_cl.json -a8cc635c26b070336407991f068e7b42b476aed7 assets/create/lang/unfinished/es_es.json -ce38f5577b7b96460025372563ee88cef2318e7c assets/create/lang/unfinished/fr_fr.json -2c85e6efd817348d94c55292e20fadf6b704209c assets/create/lang/unfinished/it_it.json -f6ed2a6f0f241e73f1e6a88b8500043ef0668b1d assets/create/lang/unfinished/ja_jp.json -133188f5196da148f9dd8aa122d9b008daf36685 assets/create/lang/unfinished/ko_kr.json -983b53cab576e43b0e61f899590b6488d220cd36 assets/create/lang/unfinished/nl_nl.json -0d4aa18fa90d8620d4761ce2fbe900ef8f407a50 assets/create/lang/unfinished/pl_pl.json -2c765f1b8ea570d837212a7e86aec653fe155477 assets/create/lang/unfinished/pt_br.json -9a1d7bbd01321fae009c00bbf5b2bc091ef38e13 assets/create/lang/unfinished/ru_ru.json -ecc1c5d0b5434804db76a5b6d4a589b16fa490be assets/create/lang/unfinished/zh_cn.json -b316488ca9891c2444a6df03bc5ddfbcd1f84de0 assets/create/lang/unfinished/zh_tw.json +748d2635a4f8c97cee2392c1c08c4716f7424202 assets/create/lang/en_us.json +d5eed56ff394835dae0f514f9317b83f7fd3954c assets/create/lang/unfinished/de_de.json +b44cb66962677538209a02fdafc2e62541542d64 assets/create/lang/unfinished/es_cl.json +617f9f1a37b46066b8f6a14f22cbeec8179ce0cd assets/create/lang/unfinished/es_es.json +91d391799b6579914ef35cf8ebe917684b25b9df assets/create/lang/unfinished/fr_fr.json +787470a30ca417e8cf1da6b47ac40879bb274237 assets/create/lang/unfinished/it_it.json +00f079aaebfe906b84b71903f80b0be4127e8cc7 assets/create/lang/unfinished/ja_jp.json +75a8b1e3ead980456ff4a4607b1e28197d9de2e8 assets/create/lang/unfinished/ko_kr.json +6c7f81042ee0cc25e0ababea6cc254b72557aac9 assets/create/lang/unfinished/nl_nl.json +7a3670aa1d488f637a4787c37419a25ace4813bc assets/create/lang/unfinished/pl_pl.json +2c30f012946ab67f44514e987e9be87535eb5c5d assets/create/lang/unfinished/pt_br.json +516e0f0149f814ceec3b15cfb2d46c3c4c8a877c assets/create/lang/unfinished/ru_ru.json +d9b421597a5b0b3ae662a12a94c833d853b24fe5 assets/create/lang/unfinished/zh_cn.json +68b91bb8f3822d2b0798a6ec8a85d7d188c5c4d1 assets/create/lang/unfinished/zh_tw.json 487a511a01b2a4531fb672f917922312db78f958 assets/create/models/block/acacia_window.json b48060cba1a382f373a05bf0039054053eccf076 assets/create/models/block/acacia_window_pane_noside.json 3066db1bf03cffa1a9c7fbacf47ae586632f4eb3 assets/create/models/block/acacia_window_pane_noside_alt.json @@ -4567,6 +4567,14 @@ fb8e4378cd2240644a4b5c0d06e27ad772ec7695 data/create/recipes/filling/sweet_roll. d697de0c9b706ca4e18da7a2d769e7e5fe8d769d data/create/recipes/framed_glass_pane.json d0c541bbefb9f3f861ae5751645493c8e1687b5c data/create/recipes/granite_pillar_from_granite_stonecutting.json dc3a5cc1a91cd35051b9e0f701e9fb44600a7dfb data/create/recipes/granite_pillar_from_stone_types_granite_stonecutting.json +4e6283794e3b99043e92465d55440ad607d30965 data/create/recipes/haunting/blackstone.json +b0ebe3a1a7f2b9f3fd446f9639a7b6b20b9f726d data/create/recipes/haunting/crimson_fungus.json +60be487d3fef64e3457f5a95bd3d0aac4574e24c data/create/recipes/haunting/crimson_nylium.json +f1a2b5d5bd8dfd9c6ab4c40dc4e99cbabba06e84 data/create/recipes/haunting/haunted_bell.json +d34fe1f6d1eccc9f40ede3bd11e879140014401e data/create/recipes/haunting/soul_sand.json +c0aab10c6c323b92931e8b59bf9902a47165b263 data/create/recipes/haunting/soul_soil.json +a6c387d19c357d7c89aa44a10b9deb9e93b6c614 data/create/recipes/haunting/warped_fungus.json +80e2ae7d41c3a75423112e67b11718194de722cb data/create/recipes/haunting/warped_nylium.json 05908d48b6ac0c117da0b4b9ae4ae5e933ed900e data/create/recipes/horizontal_framed_glass_from_glass_colorless_stonecutting.json 4e8d49934f9899f788d45d4347bfc085b2836699 data/create/recipes/horizontal_framed_glass_pane.json c3ccd16b7fe9878cc734d699b4c8b219ad556f46 data/create/recipes/jungle_window.json @@ -4855,7 +4863,6 @@ f6e2fb5725f3730d01fae4a2b1a04d11095eab5f data/create/recipes/scorchia_pillar_fro d6e16599de7424513e1457b07acb6370815d2bd7 data/create/recipes/scoria_pillar_from_stone_types_scoria_stonecutting.json 1b6bec69b00c44e74951973d69caae53d85383cb data/create/recipes/sequenced_assembly/cogwheel.json 3bc3d13856f9ab8ccc47c3188cfd839f6db2359b data/create/recipes/sequenced_assembly/large_cogwheel.json -60bcef06c4fe292c3e90441aed49f5773b8934e6 data/create/recipes/sequenced_assembly/netherrack.json b49a0da57a179edc087eee224221ded22fd1be01 data/create/recipes/sequenced_assembly/precision_mechanism.json 5e7648d55555c263539a2696b8d1f8d352a71dc9 data/create/recipes/small_andesite_brick_slab.json 180c1ca843163ef4ed3701ac93e3eac060ad2cc4 data/create/recipes/small_andesite_brick_slab_from_andesite_stonecutting.json @@ -5068,13 +5075,6 @@ a5d23be4cc959eb47d84b210190abaafcf41f022 data/create/recipes/smelting/zinc_ingot 4e622fc77e2a630af1b4115e0c60d55682baff72 data/create/recipes/smelting/zinc_ingot_from_ore.json 4060cc921ea26b36cf5a505048f4a812f0569ae0 data/create/recipes/smelting/zinc_ingot_from_raw_ore.json ce7c3c6e1da9d6684c9537d1a558423925d89f33 data/create/recipes/smoking/bread.json -48e174e7f7347661985f4a488e939a785d7b9d2a data/create/recipes/soul_smoking/blackstone.json -bcb8362ef040fef36809a3980eb61ced8874aa5a data/create/recipes/soul_smoking/crimson_fungus.json -8070b6b69fb709e82a335873a0bddf67937069ba data/create/recipes/soul_smoking/crimson_nylium.json -4edd9fee0f61498209d0fd47701fd14a7188b2f9 data/create/recipes/soul_smoking/soul_sand.json -36e1d970622843713789f8fa25c7de09236bc39f data/create/recipes/soul_smoking/soul_soil.json -a7f50385d27c6c8ecdb813eb32f0ceb5336ba972 data/create/recipes/soul_smoking/warped_fungus.json -979bfbb98af35cfe7a8129e2c4cffa95923ce4b9 data/create/recipes/soul_smoking/warped_nylium.json 6b1d2483fe717657f7188f6490eab2da715609e8 data/create/recipes/splashing/black_concrete_powder.json 1aedfde11712827604bbef34e992c411c0b02876 data/create/recipes/splashing/blue_concrete_powder.json 6e11d592dc9b19c4cd9bf2df2aa46b7ec4d9a331 data/create/recipes/splashing/brown_concrete_powder.json diff --git a/src/generated/resources/assets/create/lang/en_us.json b/src/generated/resources/assets/create/lang/en_us.json index 0c413ba4c..74f903671 100644 --- a/src/generated/resources/assets/create/lang/en_us.json +++ b/src/generated/resources/assets/create/lang/en_us.json @@ -821,8 +821,8 @@ "create.recipe.fan_washing.fan": "Fan behind Flowing Water", "create.recipe.fan_smoking": "Bulk Smoking", "create.recipe.fan_smoking.fan": "Fan behind Fire", - "create.recipe.fan_soul_smoking": "Bulk Soul Smoking", - "create.recipe.fan_soul_smoking.fan": "Fan behind Soul Fire", + "create.recipe.fan_haunting": "Bulk Haunting", + "create.recipe.fan_haunting.fan": "Fan behind Soul Fire", "create.recipe.fan_blasting": "Bulk Blasting", "create.recipe.fan_blasting.fan": "Fan behind Lava", "create.recipe.pressing": "Pressing", diff --git a/src/generated/resources/assets/create/lang/unfinished/de_de.json b/src/generated/resources/assets/create/lang/unfinished/de_de.json index 7aa135ef0..45434545e 100644 --- a/src/generated/resources/assets/create/lang/unfinished/de_de.json +++ b/src/generated/resources/assets/create/lang/unfinished/de_de.json @@ -822,8 +822,8 @@ "create.recipe.fan_washing.fan": "Propeller hinter fließendem Wasser", "create.recipe.fan_smoking": "Sammelräuchern", "create.recipe.fan_smoking.fan": "Propeller hinter Feuer", - "create.recipe.fan_soul_smoking": "UNLOCALIZED: Bulk Soul Smoking", - "create.recipe.fan_soul_smoking.fan": "UNLOCALIZED: Fan behind Soul Fire", + "create.recipe.fan_haunting": "UNLOCALIZED: Bulk Haunting", + "create.recipe.fan_haunting.fan": "UNLOCALIZED: Fan behind Soul Fire", "create.recipe.fan_blasting": "Sammelschmelzen", "create.recipe.fan_blasting.fan": "Propeller hinter Lava", "create.recipe.pressing": "Mechanische Presse", diff --git a/src/generated/resources/assets/create/lang/unfinished/es_cl.json b/src/generated/resources/assets/create/lang/unfinished/es_cl.json index 7cd6072b2..4b1c36ea0 100644 --- a/src/generated/resources/assets/create/lang/unfinished/es_cl.json +++ b/src/generated/resources/assets/create/lang/unfinished/es_cl.json @@ -822,8 +822,8 @@ "create.recipe.fan_washing.fan": "Ventilador detrás de una Corriente de Agua", "create.recipe.fan_smoking": "Ahumado", "create.recipe.fan_smoking.fan": "Ventilador tras Fuego", - "create.recipe.fan_soul_smoking": "UNLOCALIZED: Bulk Soul Smoking", - "create.recipe.fan_soul_smoking.fan": "UNLOCALIZED: Fan behind Soul Fire", + "create.recipe.fan_haunting": "UNLOCALIZED: Bulk Haunting", + "create.recipe.fan_haunting.fan": "UNLOCALIZED: Fan behind Soul Fire", "create.recipe.fan_blasting": "Fundición", "create.recipe.fan_blasting.fan": "Ventilador tras Lava", "create.recipe.pressing": "Prensando", diff --git a/src/generated/resources/assets/create/lang/unfinished/es_es.json b/src/generated/resources/assets/create/lang/unfinished/es_es.json index 303d0106f..d05e5152b 100644 --- a/src/generated/resources/assets/create/lang/unfinished/es_es.json +++ b/src/generated/resources/assets/create/lang/unfinished/es_es.json @@ -822,8 +822,8 @@ "create.recipe.fan_washing.fan": "Ventilador detrás del agua fluyente", "create.recipe.fan_smoking": "Ahumador a granel", "create.recipe.fan_smoking.fan": "Ventilador detrás del fuego", - "create.recipe.fan_soul_smoking": "UNLOCALIZED: Bulk Soul Smoking", - "create.recipe.fan_soul_smoking.fan": "UNLOCALIZED: Fan behind Soul Fire", + "create.recipe.fan_haunting": "UNLOCALIZED: Bulk Haunting", + "create.recipe.fan_haunting.fan": "UNLOCALIZED: Fan behind Soul Fire", "create.recipe.fan_blasting": "Voladuras a granel", "create.recipe.fan_blasting.fan": "Ventilador detrás de la lava", "create.recipe.pressing": "Prensando", diff --git a/src/generated/resources/assets/create/lang/unfinished/fr_fr.json b/src/generated/resources/assets/create/lang/unfinished/fr_fr.json index 23f58db4b..68ba13ae0 100644 --- a/src/generated/resources/assets/create/lang/unfinished/fr_fr.json +++ b/src/generated/resources/assets/create/lang/unfinished/fr_fr.json @@ -822,8 +822,8 @@ "create.recipe.fan_washing.fan": "Ventilateur derrière de l'eau", "create.recipe.fan_smoking": "Fumage", "create.recipe.fan_smoking.fan": "Ventilateur derrière du feu", - "create.recipe.fan_soul_smoking": "UNLOCALIZED: Bulk Soul Smoking", - "create.recipe.fan_soul_smoking.fan": "UNLOCALIZED: Fan behind Soul Fire", + "create.recipe.fan_haunting": "UNLOCALIZED: Bulk Haunting", + "create.recipe.fan_haunting.fan": "UNLOCALIZED: Fan behind Soul Fire", "create.recipe.fan_blasting": "Fonte", "create.recipe.fan_blasting.fan": "Ventilateur derrière de la lave", "create.recipe.pressing": "Pressage", diff --git a/src/generated/resources/assets/create/lang/unfinished/it_it.json b/src/generated/resources/assets/create/lang/unfinished/it_it.json index d0cbef3a6..5bdbf0908 100644 --- a/src/generated/resources/assets/create/lang/unfinished/it_it.json +++ b/src/generated/resources/assets/create/lang/unfinished/it_it.json @@ -822,8 +822,8 @@ "create.recipe.fan_washing.fan": "Ventilatore dietro l'acqua corrente", "create.recipe.fan_smoking": "Fumo volumetrico", "create.recipe.fan_smoking.fan": "Ventilatore dietro il fuoco", - "create.recipe.fan_soul_smoking": "UNLOCALIZED: Bulk Soul Smoking", - "create.recipe.fan_soul_smoking.fan": "UNLOCALIZED: Fan behind Soul Fire", + "create.recipe.fan_haunting": "UNLOCALIZED: Bulk Haunting", + "create.recipe.fan_haunting.fan": "UNLOCALIZED: Fan behind Soul Fire", "create.recipe.fan_blasting": "Esplosione volumetrica", "create.recipe.fan_blasting.fan": "Ventilatore dietro la lava", "create.recipe.pressing": "Pressatura", diff --git a/src/generated/resources/assets/create/lang/unfinished/ja_jp.json b/src/generated/resources/assets/create/lang/unfinished/ja_jp.json index ff5916b75..ffe21cbf8 100644 --- a/src/generated/resources/assets/create/lang/unfinished/ja_jp.json +++ b/src/generated/resources/assets/create/lang/unfinished/ja_jp.json @@ -822,8 +822,8 @@ "create.recipe.fan_washing.fan": "水の奥のケース入りファン", "create.recipe.fan_smoking": "一括燻製", "create.recipe.fan_smoking.fan": "炎の奥のケース入りファン", - "create.recipe.fan_soul_smoking": "UNLOCALIZED: Bulk Soul Smoking", - "create.recipe.fan_soul_smoking.fan": "UNLOCALIZED: Fan behind Soul Fire", + "create.recipe.fan_haunting": "UNLOCALIZED: Bulk Haunting", + "create.recipe.fan_haunting.fan": "UNLOCALIZED: Fan behind Soul Fire", "create.recipe.fan_blasting": "一括精錬", "create.recipe.fan_blasting.fan": "溶岩の奥のケース入りファン", "create.recipe.pressing": "プレス", diff --git a/src/generated/resources/assets/create/lang/unfinished/ko_kr.json b/src/generated/resources/assets/create/lang/unfinished/ko_kr.json index f90db3ae9..45559e9d3 100644 --- a/src/generated/resources/assets/create/lang/unfinished/ko_kr.json +++ b/src/generated/resources/assets/create/lang/unfinished/ko_kr.json @@ -822,8 +822,8 @@ "create.recipe.fan_washing.fan": "물과 선풍기", "create.recipe.fan_smoking": "훈연", "create.recipe.fan_smoking.fan": "불과 선풍기", - "create.recipe.fan_soul_smoking": "UNLOCALIZED: Bulk Soul Smoking", - "create.recipe.fan_soul_smoking.fan": "UNLOCALIZED: Fan behind Soul Fire", + "create.recipe.fan_haunting": "UNLOCALIZED: Bulk Haunting", + "create.recipe.fan_haunting.fan": "UNLOCALIZED: Fan behind Soul Fire", "create.recipe.fan_blasting": "제련", "create.recipe.fan_blasting.fan": "용암과 선풍기", "create.recipe.pressing": "압착", diff --git a/src/generated/resources/assets/create/lang/unfinished/nl_nl.json b/src/generated/resources/assets/create/lang/unfinished/nl_nl.json index 41d3bb91f..374d1ccac 100644 --- a/src/generated/resources/assets/create/lang/unfinished/nl_nl.json +++ b/src/generated/resources/assets/create/lang/unfinished/nl_nl.json @@ -822,8 +822,8 @@ "create.recipe.fan_washing.fan": "UNLOCALIZED: Fan behind Flowing Water", "create.recipe.fan_smoking": "UNLOCALIZED: Bulk Smoking", "create.recipe.fan_smoking.fan": "UNLOCALIZED: Fan behind Fire", - "create.recipe.fan_soul_smoking": "UNLOCALIZED: Bulk Soul Smoking", - "create.recipe.fan_soul_smoking.fan": "UNLOCALIZED: Fan behind Soul Fire", + "create.recipe.fan_haunting": "UNLOCALIZED: Bulk Haunting", + "create.recipe.fan_haunting.fan": "UNLOCALIZED: Fan behind Soul Fire", "create.recipe.fan_blasting": "UNLOCALIZED: Bulk Blasting", "create.recipe.fan_blasting.fan": "UNLOCALIZED: Fan behind Lava", "create.recipe.pressing": "Persen", diff --git a/src/generated/resources/assets/create/lang/unfinished/pl_pl.json b/src/generated/resources/assets/create/lang/unfinished/pl_pl.json index a992beea9..12055f625 100644 --- a/src/generated/resources/assets/create/lang/unfinished/pl_pl.json +++ b/src/generated/resources/assets/create/lang/unfinished/pl_pl.json @@ -822,8 +822,8 @@ "create.recipe.fan_washing.fan": "Wiatrak za płynącą wodą", "create.recipe.fan_smoking": "Hurtowe wędzenie", "create.recipe.fan_smoking.fan": "Wiatrak za ogniem", - "create.recipe.fan_soul_smoking": "UNLOCALIZED: Bulk Soul Smoking", - "create.recipe.fan_soul_smoking.fan": "UNLOCALIZED: Fan behind Soul Fire", + "create.recipe.fan_haunting": "UNLOCALIZED: Bulk Haunting", + "create.recipe.fan_haunting.fan": "UNLOCALIZED: Fan behind Soul Fire", "create.recipe.fan_blasting": "Hurtowe topienie", "create.recipe.fan_blasting.fan": "Wiatrak za lawą", "create.recipe.pressing": "Tłoczenie", diff --git a/src/generated/resources/assets/create/lang/unfinished/pt_br.json b/src/generated/resources/assets/create/lang/unfinished/pt_br.json index e1110e7ce..7fd70972d 100644 --- a/src/generated/resources/assets/create/lang/unfinished/pt_br.json +++ b/src/generated/resources/assets/create/lang/unfinished/pt_br.json @@ -822,8 +822,8 @@ "create.recipe.fan_washing.fan": "Ventilador atrás de água", "create.recipe.fan_smoking": "Defumação em massa", "create.recipe.fan_smoking.fan": "Ventilador atrás de fogo", - "create.recipe.fan_soul_smoking": "UNLOCALIZED: Bulk Soul Smoking", - "create.recipe.fan_soul_smoking.fan": "UNLOCALIZED: Fan behind Soul Fire", + "create.recipe.fan_haunting": "UNLOCALIZED: Bulk Haunting", + "create.recipe.fan_haunting.fan": "UNLOCALIZED: Fan behind Soul Fire", "create.recipe.fan_blasting": "Fundição em massa", "create.recipe.fan_blasting.fan": "entilador atrás de lava", "create.recipe.pressing": "Prensa Mecânica", diff --git a/src/generated/resources/assets/create/lang/unfinished/ru_ru.json b/src/generated/resources/assets/create/lang/unfinished/ru_ru.json index 977de76c4..5aa2409ef 100644 --- a/src/generated/resources/assets/create/lang/unfinished/ru_ru.json +++ b/src/generated/resources/assets/create/lang/unfinished/ru_ru.json @@ -822,8 +822,8 @@ "create.recipe.fan_washing.fan": "Вентилятор за текущей водой", "create.recipe.fan_smoking": "Массовое копчение", "create.recipe.fan_smoking.fan": "Вентилятор за горящим огнём", - "create.recipe.fan_soul_smoking": "UNLOCALIZED: Bulk Soul Smoking", - "create.recipe.fan_soul_smoking.fan": "UNLOCALIZED: Fan behind Soul Fire", + "create.recipe.fan_haunting": "UNLOCALIZED: Bulk Haunting", + "create.recipe.fan_haunting.fan": "UNLOCALIZED: Fan behind Soul Fire", "create.recipe.fan_blasting": "Массовое плавление", "create.recipe.fan_blasting.fan": "Вентилятор за текущей лавой", "create.recipe.pressing": "Прессование", diff --git a/src/generated/resources/assets/create/lang/unfinished/zh_cn.json b/src/generated/resources/assets/create/lang/unfinished/zh_cn.json index b6971ca14..6ef9af3b8 100644 --- a/src/generated/resources/assets/create/lang/unfinished/zh_cn.json +++ b/src/generated/resources/assets/create/lang/unfinished/zh_cn.json @@ -822,8 +822,8 @@ "create.recipe.fan_washing.fan": "在水后放置鼓风机", "create.recipe.fan_smoking": "批量烟熏", "create.recipe.fan_smoking.fan": "在火焰后放置鼓风机", - "create.recipe.fan_soul_smoking": "UNLOCALIZED: Bulk Soul Smoking", - "create.recipe.fan_soul_smoking.fan": "UNLOCALIZED: Fan behind Soul Fire", + "create.recipe.fan_haunting": "UNLOCALIZED: Bulk Haunting", + "create.recipe.fan_haunting.fan": "UNLOCALIZED: Fan behind Soul Fire", "create.recipe.fan_blasting": "批量熔炼", "create.recipe.fan_blasting.fan": "在熔岩后放置鼓风机", "create.recipe.pressing": "金属压片", diff --git a/src/generated/resources/assets/create/lang/unfinished/zh_tw.json b/src/generated/resources/assets/create/lang/unfinished/zh_tw.json index b2ad59999..e7373854f 100644 --- a/src/generated/resources/assets/create/lang/unfinished/zh_tw.json +++ b/src/generated/resources/assets/create/lang/unfinished/zh_tw.json @@ -822,8 +822,8 @@ "create.recipe.fan_washing.fan": "在水後放置鼓風機", "create.recipe.fan_smoking": "批次煙燻", "create.recipe.fan_smoking.fan": "在火焰後放置鼓風機", - "create.recipe.fan_soul_smoking": "UNLOCALIZED: Bulk Soul Smoking", - "create.recipe.fan_soul_smoking.fan": "UNLOCALIZED: Fan behind Soul Fire", + "create.recipe.fan_haunting": "UNLOCALIZED: Bulk Haunting", + "create.recipe.fan_haunting.fan": "UNLOCALIZED: Fan behind Soul Fire", "create.recipe.fan_blasting": "批次融煉", "create.recipe.fan_blasting.fan": "在熔岩後放置鼓風機", "create.recipe.pressing": "金屬壓片", diff --git a/src/generated/resources/data/create/recipes/soul_smoking/blackstone.json b/src/generated/resources/data/create/recipes/haunting/blackstone.json similarity index 60% rename from src/generated/resources/data/create/recipes/soul_smoking/blackstone.json rename to src/generated/resources/data/create/recipes/haunting/blackstone.json index edc3155f0..4066312fc 100644 --- a/src/generated/resources/data/create/recipes/soul_smoking/blackstone.json +++ b/src/generated/resources/data/create/recipes/haunting/blackstone.json @@ -1,8 +1,8 @@ { - "type": "create:soul_smoking", + "type": "create:haunting", "ingredients": [ { - "item": "minecraft:cobblestone" + "tag": "forge:cobblestone" } ], "results": [ diff --git a/src/generated/resources/data/create/recipes/soul_smoking/crimson_fungus.json b/src/generated/resources/data/create/recipes/haunting/crimson_fungus.json similarity index 81% rename from src/generated/resources/data/create/recipes/soul_smoking/crimson_fungus.json rename to src/generated/resources/data/create/recipes/haunting/crimson_fungus.json index deaef1311..12bc0f7b9 100644 --- a/src/generated/resources/data/create/recipes/soul_smoking/crimson_fungus.json +++ b/src/generated/resources/data/create/recipes/haunting/crimson_fungus.json @@ -1,5 +1,5 @@ { - "type": "create:soul_smoking", + "type": "create:haunting", "ingredients": [ { "item": "minecraft:red_mushroom" diff --git a/src/generated/resources/data/create/recipes/soul_smoking/crimson_nylium.json b/src/generated/resources/data/create/recipes/haunting/crimson_nylium.json similarity index 81% rename from src/generated/resources/data/create/recipes/soul_smoking/crimson_nylium.json rename to src/generated/resources/data/create/recipes/haunting/crimson_nylium.json index 6501e9fd8..d32145d68 100644 --- a/src/generated/resources/data/create/recipes/soul_smoking/crimson_nylium.json +++ b/src/generated/resources/data/create/recipes/haunting/crimson_nylium.json @@ -1,5 +1,5 @@ { - "type": "create:soul_smoking", + "type": "create:haunting", "ingredients": [ { "item": "minecraft:mycelium" diff --git a/src/generated/resources/data/create/recipes/haunting/haunted_bell.json b/src/generated/resources/data/create/recipes/haunting/haunted_bell.json new file mode 100644 index 000000000..54ded8fe0 --- /dev/null +++ b/src/generated/resources/data/create/recipes/haunting/haunted_bell.json @@ -0,0 +1,13 @@ +{ + "type": "create:haunting", + "ingredients": [ + { + "item": "create:peculiar_bell" + } + ], + "results": [ + { + "item": "create:haunted_bell" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/haunting/soul_sand.json b/src/generated/resources/data/create/recipes/haunting/soul_sand.json new file mode 100644 index 000000000..0b73202e9 --- /dev/null +++ b/src/generated/resources/data/create/recipes/haunting/soul_sand.json @@ -0,0 +1,13 @@ +{ + "type": "create:haunting", + "ingredients": [ + { + "tag": "minecraft:sand" + } + ], + "results": [ + { + "item": "minecraft:soul_sand" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/haunting/soul_soil.json b/src/generated/resources/data/create/recipes/haunting/soul_soil.json new file mode 100644 index 000000000..d95918ecf --- /dev/null +++ b/src/generated/resources/data/create/recipes/haunting/soul_soil.json @@ -0,0 +1,13 @@ +{ + "type": "create:haunting", + "ingredients": [ + { + "tag": "minecraft:dirt" + } + ], + "results": [ + { + "item": "minecraft:soul_soil" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/soul_smoking/warped_fungus.json b/src/generated/resources/data/create/recipes/haunting/warped_fungus.json similarity index 82% rename from src/generated/resources/data/create/recipes/soul_smoking/warped_fungus.json rename to src/generated/resources/data/create/recipes/haunting/warped_fungus.json index e0e871821..2403cc7a6 100644 --- a/src/generated/resources/data/create/recipes/soul_smoking/warped_fungus.json +++ b/src/generated/resources/data/create/recipes/haunting/warped_fungus.json @@ -1,5 +1,5 @@ { - "type": "create:soul_smoking", + "type": "create:haunting", "ingredients": [ { "item": "minecraft:brown_mushroom" diff --git a/src/generated/resources/data/create/recipes/soul_smoking/warped_nylium.json b/src/generated/resources/data/create/recipes/haunting/warped_nylium.json similarity index 81% rename from src/generated/resources/data/create/recipes/soul_smoking/warped_nylium.json rename to src/generated/resources/data/create/recipes/haunting/warped_nylium.json index abf714bd1..7b3f0c675 100644 --- a/src/generated/resources/data/create/recipes/soul_smoking/warped_nylium.json +++ b/src/generated/resources/data/create/recipes/haunting/warped_nylium.json @@ -1,5 +1,5 @@ { - "type": "create:soul_smoking", + "type": "create:haunting", "ingredients": [ { "item": "minecraft:podzol" diff --git a/src/generated/resources/data/create/recipes/sequenced_assembly/netherrack.json b/src/generated/resources/data/create/recipes/sequenced_assembly/netherrack.json deleted file mode 100644 index c80798fe8..000000000 --- a/src/generated/resources/data/create/recipes/sequenced_assembly/netherrack.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "type": "create:sequenced_assembly", - "ingredient": { - "item": "minecraft:blackstone" - }, - "transitionalItem": { - "item": "create:incomplete_netherrack" - }, - "sequence": [ - { - "type": "create:deploying", - "ingredients": [ - { - "item": "create:incomplete_netherrack" - }, - { - "item": "create:cinder_flour" - } - ], - "results": [ - { - "item": "create:incomplete_netherrack" - } - ] - }, - { - "type": "create:filling", - "ingredients": [ - { - "item": "create:incomplete_netherrack" - }, - { - "fluid": "minecraft:lava", - "nbt": {}, - "amount": 50 - } - ], - "results": [ - { - "item": "create:incomplete_netherrack" - } - ] - }, - { - "type": "create:cutting", - "ingredients": [ - { - "item": "create:incomplete_netherrack" - } - ], - "results": [ - { - "item": "create:incomplete_netherrack" - } - ], - "processingTime": 50 - } - ], - "results": [ - { - "item": "minecraft:netherrack", - "count": 2, - "chance": 35.0 - }, - { - "item": "minecraft:blackstone", - "chance": 5.0 - }, - { - "item": "minecraft:basalt", - "chance": 4.0 - }, - { - "item": "minecraft:deepslate", - "chance": 3.0 - }, - { - "item": "minecraft:magma_block", - "chance": 2.0 - }, - { - "item": "minecraft:obsidian" - } - ], - "loops": 2 -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/soul_smoking/soul_sand.json b/src/generated/resources/data/create/recipes/soul_smoking/soul_sand.json deleted file mode 100644 index 9715b0002..000000000 --- a/src/generated/resources/data/create/recipes/soul_smoking/soul_sand.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "create:soul_smoking", - "ingredients": [ - [ - { - "item": "minecraft:sand" - }, - { - "item": "minecraft:red_sand" - } - ] - ], - "results": [ - { - "item": "minecraft:soul_sand" - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/soul_smoking/soul_soil.json b/src/generated/resources/data/create/recipes/soul_smoking/soul_soil.json deleted file mode 100644 index 4a562d7fd..000000000 --- a/src/generated/resources/data/create/recipes/soul_smoking/soul_soil.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "create:soul_smoking", - "ingredients": [ - [ - { - "item": "minecraft:dirt" - }, - { - "item": "minecraft:coarse_dirt" - }, - { - "item": "minecraft:rooted_dirt" - } - ] - ], - "results": [ - { - "item": "minecraft:soul_soil" - } - ] -} \ No newline at end of file diff --git a/src/main/java/com/simibubi/create/AllRecipeTypes.java b/src/main/java/com/simibubi/create/AllRecipeTypes.java index 4f1fdb180..5747e792c 100644 --- a/src/main/java/com/simibubi/create/AllRecipeTypes.java +++ b/src/main/java/com/simibubi/create/AllRecipeTypes.java @@ -7,7 +7,7 @@ import com.simibubi.create.compat.jei.ConversionRecipe; import com.simibubi.create.content.contraptions.components.crafter.MechanicalCraftingRecipe; import com.simibubi.create.content.contraptions.components.crusher.CrushingRecipe; import com.simibubi.create.content.contraptions.components.deployer.DeployerApplicationRecipe; -import com.simibubi.create.content.contraptions.components.fan.SoulSmokingRecipe; +import com.simibubi.create.content.contraptions.components.fan.HauntingRecipe; import com.simibubi.create.content.contraptions.components.fan.SplashingRecipe; import com.simibubi.create.content.contraptions.components.millstone.MillingRecipe; import com.simibubi.create.content.contraptions.components.mixer.CompactingRecipe; @@ -48,7 +48,7 @@ public enum AllRecipeTypes implements IRecipeTypeInfo { PRESSING(PressingRecipe::new), SANDPAPER_POLISHING(SandPaperPolishingRecipe::new), SPLASHING(SplashingRecipe::new), - SOUL_SMOKING(SoulSmokingRecipe::new), + HAUNTING(HauntingRecipe::new), DEPLOYING(DeployerApplicationRecipe::new), FILLING(FillingRecipe::new), EMPTYING(EmptyingRecipe::new), diff --git a/src/main/java/com/simibubi/create/compat/jei/CreateJEI.java b/src/main/java/com/simibubi/create/compat/jei/CreateJEI.java index eb9cfbc5a..785b233b7 100644 --- a/src/main/java/com/simibubi/create/compat/jei/CreateJEI.java +++ b/src/main/java/com/simibubi/create/compat/jei/CreateJEI.java @@ -74,8 +74,8 @@ public class CreateJEI implements IModPlugin { .catalystStack(ProcessingViaFanCategory.getFan("fan_smoking")) .build(), - soul_smoking = register("fan_soul_smoking", FanSoulSmokingCategory::new).recipes(AllRecipeTypes.SOUL_SMOKING) - .catalystStack(ProcessingViaFanCategory.getFan("fan_soul_smoking")).build(), + soul_smoking = register("fan_haunting", FanHauntingCategory::new).recipes(AllRecipeTypes.HAUNTING) + .catalystStack(ProcessingViaFanCategory.getFan("fan_haunting")).build(), blasting = register("fan_blasting", FanBlastingCategory::new) .recipesExcluding(() -> RecipeType.SMELTING, () -> RecipeType.BLASTING) diff --git a/src/main/java/com/simibubi/create/compat/jei/category/FanSoulSmokingCategory.java b/src/main/java/com/simibubi/create/compat/jei/category/FanHauntingCategory.java similarity index 80% rename from src/main/java/com/simibubi/create/compat/jei/category/FanSoulSmokingCategory.java rename to src/main/java/com/simibubi/create/compat/jei/category/FanHauntingCategory.java index cee43bcd6..a51e6886e 100644 --- a/src/main/java/com/simibubi/create/compat/jei/category/FanSoulSmokingCategory.java +++ b/src/main/java/com/simibubi/create/compat/jei/category/FanHauntingCategory.java @@ -1,10 +1,12 @@ package com.simibubi.create.compat.jei.category; +import java.util.Arrays; +import java.util.List; + import com.mojang.blaze3d.vertex.PoseStack; import com.simibubi.create.AllItems; import com.simibubi.create.compat.jei.category.animations.AnimatedKinetics; -import com.simibubi.create.content.contraptions.components.fan.SoulSmokingRecipe; -import com.simibubi.create.content.contraptions.components.fan.SplashingRecipe; +import com.simibubi.create.content.contraptions.components.fan.HauntingRecipe; import com.simibubi.create.content.contraptions.processing.ProcessingOutput; import com.simibubi.create.foundation.gui.AllGuiTextures; import com.simibubi.create.foundation.gui.element.GuiGameElement; @@ -15,30 +17,26 @@ import mezz.jei.api.gui.ingredient.IGuiItemStackGroup; import mezz.jei.api.ingredients.IIngredients; import net.minecraft.world.item.Items; import net.minecraft.world.level.block.Blocks; -import net.minecraft.world.level.material.Fluids; -import java.util.Arrays; -import java.util.List; +public class FanHauntingCategory extends ProcessingViaFanCategory { -public class FanSoulSmokingCategory extends ProcessingViaFanCategory { - - public FanSoulSmokingCategory() { + public FanHauntingCategory() { super(185, doubleItemIcon(AllItems.PROPELLER.get(), Items.SOUL_CAMPFIRE)); } @Override - public Class getRecipeClass() { - return SoulSmokingRecipe.class; + public Class getRecipeClass() { + return HauntingRecipe.class; } @Override - public void setIngredients(SoulSmokingRecipe recipe, IIngredients ingredients) { + public void setIngredients(HauntingRecipe recipe, IIngredients ingredients) { ingredients.setInputIngredients(recipe.getIngredients()); ingredients.setOutputs(VanillaTypes.ITEM, recipe.getRollableResultsAsItemStacks()); } @Override - public void setRecipe(IRecipeLayout recipeLayout, SoulSmokingRecipe recipe, IIngredients ingredients) { + public void setRecipe(IRecipeLayout recipeLayout, HauntingRecipe recipe, IIngredients ingredients) { IGuiItemStackGroup itemStacks = recipeLayout.getItemStacks(); List results = recipe.getRollableResults(); int xOffsetGlobal = 8 * (3 - Math.min(3, results.size())); @@ -64,7 +62,7 @@ public class FanSoulSmokingCategory extends ProcessingViaFanCategory { +public class HauntingRecipe extends ProcessingRecipe { - public SoulSmokingRecipe(ProcessingRecipeParams params) { - super(AllRecipeTypes.SOUL_SMOKING, params); + public HauntingRecipe(ProcessingRecipeParams params) { + super(AllRecipeTypes.HAUNTING, params); } @Override - public boolean matches(InWorldProcessing.SoulSmokingWrapper inv, Level worldIn) { + public boolean matches(InWorldProcessing.HauntingWrapper inv, Level worldIn) { if (inv.isEmpty()) return false; return ingredients.get(0) diff --git a/src/main/java/com/simibubi/create/content/contraptions/particle/AirFlowParticle.java b/src/main/java/com/simibubi/create/content/contraptions/particle/AirFlowParticle.java index bd2c403f4..25955db5f 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/particle/AirFlowParticle.java +++ b/src/main/java/com/simibubi/create/content/contraptions/particle/AirFlowParticle.java @@ -121,15 +121,15 @@ public class AirFlowParticle extends SimpleAnimatedParticle { zd * .125f); } - if (type == InWorldProcessing.Type.SOUL_SMOKING) {//TODO soul smoking special particle? - setColor(Color.mixColors(0x0, 0x555555, level.random.nextFloat())); + if (type == InWorldProcessing.Type.HAUNTING) { + setColor(Color.mixColors(0x0, 0x126568, level.random.nextFloat())); setAlpha(1f); selectSprite(level.random.nextInt(3)); - if (level.random.nextFloat() < 1 / 32f) - level.addParticle(ParticleTypes.SMOKE, x, y, z, xd * .125f, yd * .125f, + if (level.random.nextFloat() < 1 / 128f) + level.addParticle(ParticleTypes.SOUL_FIRE_FLAME, x, y, z, xd * .125f, yd * .125f, zd * .125f); if (level.random.nextFloat() < 1 / 32f) - level.addParticle(ParticleTypes.LARGE_SMOKE, x, y, z, xd * .125f, yd * .125f, + level.addParticle(ParticleTypes.SMOKE, x, y, z, xd * .125f, yd * .125f, zd * .125f); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/processing/InWorldProcessing.java b/src/main/java/com/simibubi/create/content/contraptions/processing/InWorldProcessing.java index a6fa7594a..57920a11d 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/processing/InWorldProcessing.java +++ b/src/main/java/com/simibubi/create/content/contraptions/processing/InWorldProcessing.java @@ -3,7 +3,7 @@ package com.simibubi.create.content.contraptions.processing; import com.mojang.math.Vector3f; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllRecipeTypes; -import com.simibubi.create.content.contraptions.components.fan.SoulSmokingRecipe; +import com.simibubi.create.content.contraptions.components.fan.HauntingRecipe; import com.simibubi.create.content.contraptions.components.fan.SplashingRecipe; import com.simibubi.create.content.contraptions.processing.burner.BlazeBurnerBlock; import com.simibubi.create.content.contraptions.relays.belt.transport.TransportedItemStack; @@ -11,6 +11,7 @@ import com.simibubi.create.foundation.config.AllConfigs; import com.simibubi.create.foundation.item.ItemHelper; import com.simibubi.create.foundation.tileEntity.behaviour.belt.TransportedItemStackHandlerBehaviour.TransportedResult; import com.simibubi.create.foundation.utility.Color; +import com.simibubi.create.foundation.utility.VecHelper; import net.minecraft.core.BlockPos; import net.minecraft.core.particles.DustParticleOptions; @@ -46,10 +47,10 @@ public class InWorldProcessing { private static final RecipeWrapper WRAPPER = new RecipeWrapper(new ItemStackHandler(1)); private static final SplashingWrapper SPLASHING_WRAPPER = new SplashingWrapper(); - private static final SoulSmokingWrapper SOUL_SMOKING_WRAPPER = new SoulSmokingWrapper(); + private static final HauntingWrapper SOUL_SMOKING_WRAPPER = new HauntingWrapper(); public enum Type { - SMOKING, BLASTING, SPLASHING, SOUL_SMOKING, NONE; + SMOKING, BLASTING, SPLASHING, HAUNTING, NONE; public static Type byBlock(BlockGetter reader, BlockPos pos) { BlockState blockState = reader.getBlockState(pos); @@ -57,12 +58,14 @@ public class InWorldProcessing { if (fluidState.getType() == Fluids.WATER || fluidState.getType() == Fluids.FLOWING_WATER) return Type.SPLASHING; Block block = blockState.getBlock(); - if (block == Blocks.SOUL_FIRE || block == Blocks.SOUL_CAMPFIRE && blockState.getOptionalValue(CampfireBlock.LIT).orElse(false)) - return Type.SOUL_SMOKING; - if (block == Blocks.FIRE || AllBlocks.LIT_BLAZE_BURNER.has(blockState) - || (BlockTags.CAMPFIRES.contains(block) && blockState.getOptionalValue(CampfireBlock.LIT) + if (block == Blocks.SOUL_FIRE + || block == Blocks.SOUL_CAMPFIRE && blockState.getOptionalValue(CampfireBlock.LIT) .orElse(false)) - || getHeatLevelOf(blockState) == BlazeBurnerBlock.HeatLevel.SMOULDERING) + return Type.HAUNTING; + if (block == Blocks.FIRE || AllBlocks.LIT_BLAZE_BURNER.has(blockState) + || (BlockTags.CAMPFIRES.contains(block) && blockState.getOptionalValue(CampfireBlock.LIT) + .orElse(false)) + || getHeatLevelOf(blockState) == BlazeBurnerBlock.HeatLevel.SMOULDERING) return Type.SMOKING; if (block == Blocks.LAVA || getHeatLevelOf(blockState).isAtLeast(BlazeBurnerBlock.HeatLevel.FADING)) return Type.BLASTING; @@ -72,9 +75,9 @@ public class InWorldProcessing { public static boolean canProcess(ItemEntity entity, Type type) { if (entity.getPersistentData() - .contains("CreateData")) { + .contains("CreateData")) { CompoundTag compound = entity.getPersistentData() - .getCompound("CreateData"); + .getCompound("CreateData"); if (compound.contains("Processing")) { CompoundTag processing = compound.getCompound("Processing"); @@ -97,33 +100,33 @@ public class InWorldProcessing { if (type == Type.BLASTING) { WRAPPER.setItem(0, stack); Optional smeltingRecipe = world.getRecipeManager() - .getRecipeFor(RecipeType.SMELTING, WRAPPER, world); + .getRecipeFor(RecipeType.SMELTING, WRAPPER, world); if (smeltingRecipe.isPresent()) return true; WRAPPER.setItem(0, stack); Optional blastingRecipe = world.getRecipeManager() - .getRecipeFor(RecipeType.BLASTING, WRAPPER, world); + .getRecipeFor(RecipeType.BLASTING, WRAPPER, world); if (blastingRecipe.isPresent()) return true; return !stack.getItem() - .isFireResistant(); + .isFireResistant(); } if (type == Type.SMOKING) { WRAPPER.setItem(0, stack); Optional recipe = world.getRecipeManager() - .getRecipeFor(RecipeType.SMOKING, WRAPPER, world); + .getRecipeFor(RecipeType.SMOKING, WRAPPER, world); return recipe.isPresent(); } if (type == Type.SPLASHING) return isWashable(stack, world); - if (type == Type.SOUL_SMOKING) + if (type == Type.HAUNTING) return isSoulSmokeable(stack, world); return false; @@ -137,7 +140,7 @@ public class InWorldProcessing { public static boolean isSoulSmokeable(ItemStack stack, Level world) { SOUL_SMOKING_WRAPPER.setItem(0, stack); - Optional recipe = AllRecipeTypes.SOUL_SMOKING.find(SOUL_SMOKING_WRAPPER, world); + Optional recipe = AllRecipeTypes.HAUNTING.find(SOUL_SMOKING_WRAPPER, world); return recipe.isPresent(); } @@ -165,7 +168,7 @@ public class InWorldProcessing { transported.processedBy = type; int timeModifierForStackSize = ((transported.stack.getCount() - 1) / 16) + 1; int processingTime = - (int) (AllConfigs.SERVER.kinetics.inWorldProcessingTime.get() * timeModifierForStackSize) + 1; + (int) (AllConfigs.SERVER.kinetics.inWorldProcessingTime.get() * timeModifierForStackSize) + 1; transported.processingTime = processingTime; if (!canProcess(transported.stack, type, world)) transported.processingTime = -1; @@ -197,9 +200,9 @@ public class InWorldProcessing { return applyRecipeOn(stack, recipe.get()); return null; } - if (type == Type.SOUL_SMOKING){ + if (type == Type.HAUNTING) { SOUL_SMOKING_WRAPPER.setItem(0, stack); - Optional recipe = AllRecipeTypes.SOUL_SMOKING.find(SOUL_SMOKING_WRAPPER, world); + Optional recipe = AllRecipeTypes.HAUNTING.find(SOUL_SMOKING_WRAPPER, world); if (recipe.isPresent()) return applyRecipeOn(stack, recipe.get()); return null; @@ -207,20 +210,20 @@ public class InWorldProcessing { WRAPPER.setItem(0, stack); Optional smokingRecipe = world.getRecipeManager() - .getRecipeFor(RecipeType.SMOKING, WRAPPER, world); + .getRecipeFor(RecipeType.SMOKING, WRAPPER, world); if (type == Type.BLASTING) { if (!smokingRecipe.isPresent()) { WRAPPER.setItem(0, stack); Optional smeltingRecipe = world.getRecipeManager() - .getRecipeFor(RecipeType.SMELTING, WRAPPER, world); + .getRecipeFor(RecipeType.SMELTING, WRAPPER, world); if (smeltingRecipe.isPresent()) return applyRecipeOn(stack, smeltingRecipe.get()); WRAPPER.setItem(0, stack); Optional blastingRecipe = world.getRecipeManager() - .getRecipeFor(RecipeType.BLASTING, WRAPPER, world); + .getRecipeFor(RecipeType.BLASTING, WRAPPER, world); if (blastingRecipe.isPresent()) return applyRecipeOn(stack, blastingRecipe.get()); @@ -249,9 +252,9 @@ public class InWorldProcessing { if (!processing.contains("Type") || Type.valueOf(processing.getString("Type")) != type) { processing.putString("Type", type.name()); int timeModifierForStackSize = ((entity.getItem() - .getCount() - 1) / 16) + 1; + .getCount() - 1) / 16) + 1; int processingTime = - (int) (AllConfigs.SERVER.kinetics.inWorldProcessingTime.get() * timeModifierForStackSize) + 1; + (int) (AllConfigs.SERVER.kinetics.inWorldProcessingTime.get() * timeModifierForStackSize) + 1; processing.putInt("Time", processingTime); } @@ -290,7 +293,7 @@ public class InWorldProcessing { if (!ItemHandlerHelper.canItemStacksStack(stack, previouslyRolled)) continue; int amount = Math.min(previouslyRolled.getMaxStackSize() - previouslyRolled.getCount(), - stack.getCount()); + stack.getCount()); previouslyRolled.grow(amount); stack.shrink(amount); } @@ -303,7 +306,7 @@ public class InWorldProcessing { } } else { ItemStack out = recipe.getResultItem() - .copy(); + .copy(); stacks = ItemHelper.multipliedOutput(stackIn, out); } @@ -317,22 +320,28 @@ public class InWorldProcessing { return; switch (type) { - case BLASTING: - world.addParticle(ParticleTypes.LARGE_SMOKE, vec.x, vec.y + .25f, vec.z, 0, 1 / 16f, 0); - break; - case SMOKING: - case SOUL_SMOKING: // TODO add special soul smoking particle - world.addParticle(ParticleTypes.POOF, vec.x, vec.y + .25f, vec.z, 0, 1 / 16f, 0); - break; - case SPLASHING: - Vector3f color = new Color(0x0055FF).asVectorF(); - world.addParticle(new DustParticleOptions(color, 1), vec.x + (world.random.nextFloat() - .5f) * .5f, - vec.y + .5f, vec.z + (world.random.nextFloat() - .5f) * .5f, 0, 1 / 8f, 0); - world.addParticle(ParticleTypes.SPIT, vec.x + (world.random.nextFloat() - .5f) * .5f, vec.y + .5f, - vec.z + (world.random.nextFloat() - .5f) * .5f, 0, 1 / 8f, 0); - break; - default: - break; + case BLASTING: + world.addParticle(ParticleTypes.LARGE_SMOKE, vec.x, vec.y + .25f, vec.z, 0, 1 / 16f, 0); + break; + case SMOKING: + case HAUNTING: + vec = vec.add(VecHelper.offsetRandomly(Vec3.ZERO, world.random, 1) + .multiply(1, 0.05f, 1) + .normalize() + .scale(0.15f)); + world.addParticle(ParticleTypes.SOUL_FIRE_FLAME, vec.x, vec.y + .45f, vec.z, 0, 0, 0); + if (world.random.nextInt(2) == 0) + world.addParticle(ParticleTypes.SMOKE, vec.x, vec.y + .25f, vec.z, 0, 0, 0); + break; + case SPLASHING: + Vector3f color = new Color(0x0055FF).asVectorF(); + world.addParticle(new DustParticleOptions(color, 1), vec.x + (world.random.nextFloat() - .5f) * .5f, + vec.y + .5f, vec.z + (world.random.nextFloat() - .5f) * .5f, 0, 1 / 8f, 0); + world.addParticle(ParticleTypes.SPIT, vec.x + (world.random.nextFloat() - .5f) * .5f, vec.y + .5f, + vec.z + (world.random.nextFloat() - .5f) * .5f, 0, 1 / 8f, 0); + break; + default: + break; } } @@ -342,8 +351,8 @@ public class InWorldProcessing { } } - public static class SoulSmokingWrapper extends RecipeWrapper { - public SoulSmokingWrapper() { + public static class HauntingWrapper extends RecipeWrapper { + public HauntingWrapper() { super(new ItemStackHandler(1)); } } diff --git a/src/main/java/com/simibubi/create/foundation/data/recipe/HauntingRecipeGen.java b/src/main/java/com/simibubi/create/foundation/data/recipe/HauntingRecipeGen.java new file mode 100644 index 000000000..d79a524c9 --- /dev/null +++ b/src/main/java/com/simibubi/create/foundation/data/recipe/HauntingRecipeGen.java @@ -0,0 +1,60 @@ +package com.simibubi.create.foundation.data.recipe; + +import java.util.function.Supplier; + +import com.simibubi.create.AllBlocks; +import com.simibubi.create.AllRecipeTypes; +import com.simibubi.create.Create; +import com.simibubi.create.content.contraptions.components.fan.HauntingRecipe; +import com.simibubi.create.content.contraptions.processing.ProcessingRecipeBuilder; +import com.simibubi.create.content.contraptions.processing.ProcessingRecipeSerializer; + +import net.minecraft.data.DataGenerator; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.tags.ItemTags; +import net.minecraft.world.item.Items; +import net.minecraft.world.item.crafting.Ingredient; +import net.minecraft.world.level.ItemLike; +import net.minecraft.world.level.block.Blocks; +import net.minecraftforge.common.Tags; + +public class HauntingRecipeGen extends ProcessingRecipeGen { + + GeneratedRecipe + + BRASS_BELL = convert(AllBlocks.HAUNTED_BELL::get, () -> Ingredient.of(AllBlocks.PECULIAR_BELL.get())), + SOUL_SAND = convert(() -> Blocks.SOUL_SAND, () -> Ingredient.of(ItemTags.SAND)), + SOUL_DIRT = convert(() -> Blocks.SOUL_SOIL, () -> Ingredient.of(ItemTags.DIRT)), + BLACK_STONE = convert(() -> Blocks.BLACKSTONE, () -> Ingredient.of(Tags.Items.COBBLESTONE)), + CRIMSON_FUNGUS = convert(Items.CRIMSON_FUNGUS, Items.RED_MUSHROOM), + WARPED_FUNGUS = convert(Items.WARPED_FUNGUS, Items.BROWN_MUSHROOM), + CRIMSON_NYLIUM = convert(Blocks.CRIMSON_NYLIUM, Blocks.MYCELIUM), + WARPED_NYLIUM = convert(Blocks.WARPED_NYLIUM, Blocks.PODZOL); + + public GeneratedRecipe convert(ItemLike result, ItemLike input) { + return convert(() -> result, () -> Ingredient.of(input)); + } + + public GeneratedRecipe convert(Supplier result, Supplier input) { + ProcessingRecipeSerializer serializer = getSerializer(); + GeneratedRecipe generatedRecipe = c -> new ProcessingRecipeBuilder<>(serializer.getFactory(), + new ResourceLocation(Create.ID, result.get() + .asItem() + .getRegistryName() + .getPath())).withItemIngredients(input.get()) + .output(result.get()) + .build(c); + all.add(generatedRecipe); + return generatedRecipe; + } + + public HauntingRecipeGen(DataGenerator p_i48262_1_) { + super(p_i48262_1_); + } + + @Override + protected AllRecipeTypes getRecipeType() { + return AllRecipeTypes.HAUNTING; + } + +} diff --git a/src/main/java/com/simibubi/create/foundation/data/recipe/ProcessingRecipeGen.java b/src/main/java/com/simibubi/create/foundation/data/recipe/ProcessingRecipeGen.java index eca03b2b7..9f7f67e95 100644 --- a/src/main/java/com/simibubi/create/foundation/data/recipe/ProcessingRecipeGen.java +++ b/src/main/java/com/simibubi/create/foundation/data/recipe/ProcessingRecipeGen.java @@ -38,7 +38,7 @@ public abstract class ProcessingRecipeGen extends CreateRecipeProvider { GENERATORS.add(new PressingRecipeGen(gen)); GENERATORS.add(new FillingRecipeGen(gen)); GENERATORS.add(new EmptyingRecipeGen(gen)); - GENERATORS.add(new SoulSmokingRecipeGen(gen)); + GENERATORS.add(new HauntingRecipeGen(gen)); gen.addProvider(new DataProvider() { diff --git a/src/main/java/com/simibubi/create/foundation/data/recipe/SequencedAssemblyRecipeGen.java b/src/main/java/com/simibubi/create/foundation/data/recipe/SequencedAssemblyRecipeGen.java index 1aca88abb..edf8058e8 100644 --- a/src/main/java/com/simibubi/create/foundation/data/recipe/SequencedAssemblyRecipeGen.java +++ b/src/main/java/com/simibubi/create/foundation/data/recipe/SequencedAssemblyRecipeGen.java @@ -6,10 +6,7 @@ import com.simibubi.create.AllBlocks; import com.simibubi.create.AllItems; import com.simibubi.create.Create; import com.simibubi.create.content.contraptions.components.deployer.DeployerApplicationRecipe; -import com.simibubi.create.content.contraptions.components.fan.SoulSmokingRecipe; -import com.simibubi.create.content.contraptions.components.press.PressingRecipe; import com.simibubi.create.content.contraptions.components.saw.CuttingRecipe; -import com.simibubi.create.content.contraptions.fluids.actors.FillingRecipe; import com.simibubi.create.content.contraptions.itemAssembly.SequencedAssemblyRecipeBuilder; import net.minecraft.data.DataGenerator; @@ -17,7 +14,6 @@ import net.minecraft.tags.ItemTags; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; import net.minecraft.world.level.block.Blocks; -import net.minecraft.world.level.material.Fluids; public class SequencedAssemblyRecipeGen extends CreateRecipeProvider { @@ -79,21 +75,7 @@ public class SequencedAssemblyRecipeGen extends CreateRecipeProvider { .addStep(DeployerApplicationRecipe::new, rb -> rb.require(I.planks())) .addStep(DeployerApplicationRecipe::new, rb -> rb.require(ItemTags.WOODEN_BUTTONS)) .addStep(CuttingRecipe::new, rb -> rb.duration(50)) - ), - - NETHERRACK = create("netherrack", b->b.require(Items.BLACKSTONE) - .transitionTo(AllItems.INCOMPLETE_NETHERRACK.get()) - .addOutput(new ItemStack(Blocks.NETHERRACK,2),35) - .addOutput(new ItemStack(Blocks.BLACKSTONE, 1), 5) - .addOutput(new ItemStack(Blocks.BASALT, 1), 4) - .addOutput(new ItemStack(Blocks.DEEPSLATE, 1), 3) - .addOutput(new ItemStack(Blocks.MAGMA_BLOCK, 1), 2) - .addOutput(new ItemStack(Blocks.OBSIDIAN, 1), 1) - .loops(2) - .addStep(DeployerApplicationRecipe::new, rb -> rb.require(AllItems.CINDER_FLOUR.get())) - .addStep(FillingRecipe::new, rb -> rb.require(Fluids.LAVA,50)) - .addStep(CuttingRecipe::new, rb -> rb.duration(50)) - ) + ) ; public SequencedAssemblyRecipeGen(DataGenerator p_i48262_1_) { diff --git a/src/main/java/com/simibubi/create/foundation/data/recipe/SoulSmokingRecipeGen.java b/src/main/java/com/simibubi/create/foundation/data/recipe/SoulSmokingRecipeGen.java deleted file mode 100644 index 739b54030..000000000 --- a/src/main/java/com/simibubi/create/foundation/data/recipe/SoulSmokingRecipeGen.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.simibubi.create.foundation.data.recipe; - -import com.simibubi.create.AllItems; -import com.simibubi.create.AllRecipeTypes; -import com.simibubi.create.Create; -import com.simibubi.create.content.contraptions.components.fan.SoulSmokingRecipe; -import com.simibubi.create.content.contraptions.processing.ProcessingRecipeBuilder; -import com.simibubi.create.content.contraptions.processing.ProcessingRecipeSerializer; - -import net.minecraft.data.DataGenerator; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.item.Items; -import net.minecraft.world.item.crafting.Ingredient; -import net.minecraft.world.level.ItemLike; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.Blocks; - -public class SoulSmokingRecipeGen extends ProcessingRecipeGen { - - GeneratedRecipe - - SOUL_SAND = convert(Blocks.SOUL_SAND, Blocks.SAND, Blocks.RED_SAND), - SOUL_DIRT = convert(Blocks.SOUL_SOIL, Blocks.DIRT, Blocks.COARSE_DIRT, Blocks.ROOTED_DIRT), - BLACK_STONE = convert(Blocks.BLACKSTONE, Blocks.COBBLESTONE), - CRIMSON_FUNGUS = convert(Items.CRIMSON_FUNGUS, Items.RED_MUSHROOM), - WARPED_FUNGUS = convert(Items.WARPED_FUNGUS, Items.BROWN_MUSHROOM), - CRIMSON_NYLIUM = convert(Blocks.CRIMSON_NYLIUM, Blocks.MYCELIUM), - WARPED_NYLIUM = convert(Blocks.WARPED_NYLIUM, Blocks.PODZOL); - - public GeneratedRecipe convert(ItemLike result, ItemLike... input) { - ProcessingRecipeSerializer serializer = getSerializer(); - GeneratedRecipe generatedRecipe = c -> new ProcessingRecipeBuilder<>(serializer.getFactory(), - new ResourceLocation(Create.ID, result.asItem().getRegistryName().getPath())) - .withItemIngredients(Ingredient.of(input)).output(result).build(c); - all.add(generatedRecipe); - return generatedRecipe; - } - - public SoulSmokingRecipeGen(DataGenerator p_i48262_1_) { - super(p_i48262_1_); - } - - @Override - protected AllRecipeTypes getRecipeType() { - return AllRecipeTypes.SOUL_SMOKING; - } - -} diff --git a/src/main/resources/assets/create/lang/default/interface.json b/src/main/resources/assets/create/lang/default/interface.json index 45c15026a..8926fd8b2 100644 --- a/src/main/resources/assets/create/lang/default/interface.json +++ b/src/main/resources/assets/create/lang/default/interface.json @@ -34,8 +34,8 @@ "create.recipe.fan_washing.fan": "Fan behind Flowing Water", "create.recipe.fan_smoking": "Bulk Smoking", "create.recipe.fan_smoking.fan": "Fan behind Fire", - "create.recipe.fan_soul_smoking": "Bulk Soul Smoking", - "create.recipe.fan_soul_smoking.fan": "Fan behind Soul Fire", + "create.recipe.fan_haunting": "Bulk Haunting", + "create.recipe.fan_haunting.fan": "Fan behind Soul Fire", "create.recipe.fan_blasting": "Bulk Blasting", "create.recipe.fan_blasting.fan": "Fan behind Lava", "create.recipe.pressing": "Pressing",