diff --git a/src/generated/resources/.cache/cache b/src/generated/resources/.cache/cache index c345e5268..d4c0cfed2 100644 --- a/src/generated/resources/.cache/cache +++ b/src/generated/resources/.cache/cache @@ -302,6 +302,7 @@ e20699a753e7b12abd4a881de473d494a4ffeaa9 assets/create/blockstates/metal_girder_ 4e48ad0936647065c2322390e7c0fe115c853a98 assets/create/blockstates/millstone.json 468202df0802e17c75fcad0993daf1bc5300ca91 assets/create/blockstates/minecart_anchor.json b1126c191877cff86b4e2de83e1fcbd151451cb7 assets/create/blockstates/mysterious_cuckoo_clock.json +828fadf676c75b2a11235a106b018b0505d54ec5 assets/create/blockstates/netherite_backtank.json 304e5e7b2927f3e8e8b8c6932c35c5c6892d2eb5 assets/create/blockstates/nixie_tube.json 36e46e65003a8d0b8555fe5e8f8dc980d6559bc5 assets/create/blockstates/nozzle.json cf60989f63f02067fc4e4ad25033ac83167cdeb0 assets/create/blockstates/oak_window.json @@ -558,24 +559,24 @@ bf2b0310500213ff853c748c236eb5d01f61658e assets/create/blockstates/yellow_toolbo 5616dda664dd106d576848124fc0fc1de18d0fd3 assets/create/blockstates/yellow_valve_handle.json 7f39521b211441f5c3e06d60c5978cebe16cacfb assets/create/blockstates/zinc_block.json b7181bcd8182b2f17088e5aa881f374c9c65470c assets/create/blockstates/zinc_ore.json -f85edc574ee6de0de7693ffb031266643db6724a assets/create/lang/en_ud.json -c219c77242e645f32704201dd80e279b3759b794 assets/create/lang/en_us.json -cf37534c3f98098f42b181083fd7cc1063ac2bbb assets/create/lang/unfinished/de_de.json -83d427726fdc38ec3c5b8c3c0f6f87f49d3e5ff3 assets/create/lang/unfinished/es_cl.json -d21caeb0cbe871e38dc101c34ab89ece3cbe2127 assets/create/lang/unfinished/es_es.json -2215688baa2b0beffe0c19f71a3238df1d01b0c1 assets/create/lang/unfinished/fr_fr.json -79484f2c3eba2b40f5d82ffdc3abeb3d2e6962d2 assets/create/lang/unfinished/it_it.json -d659570c9dc89653f03cd4cc82ed50db443638d8 assets/create/lang/unfinished/ja_jp.json -03c30521d9b1bc7a6eb85d2a59a4c4676dca581e assets/create/lang/unfinished/ko_kr.json -3a56d579d022cc1b20746e9d3a1483e6fa8fb4be assets/create/lang/unfinished/nl_nl.json -d5bfeacb442236c8b075fddb41364f85c8cb7feb assets/create/lang/unfinished/pl_pl.json -0f3f51d065d896a7e3b4abd8c2801fa3e8fbd8c3 assets/create/lang/unfinished/pt_br.json -9f2ec0b2f8fa9b380c7edb56bfb806bcce621cce assets/create/lang/unfinished/pt_pt.json -1f88f0d91bdf5c68224cb65249f77272771939c9 assets/create/lang/unfinished/ro_ro.json -928ac3ad2ab5e7fa3d582b8b956258c110bea868 assets/create/lang/unfinished/ru_ru.json -ed29ef4ae8f3633533485d56f7fa8cb77b790a0a assets/create/lang/unfinished/uk_ua.json -e5cf7b657be816bc15b331dd058f7ccdabee8c14 assets/create/lang/unfinished/zh_cn.json -316dae07f95fb65c984fe7c424b566eb8ddba5f9 assets/create/lang/unfinished/zh_tw.json +48a4f2df04e092f355a70994af169f8e3e23eff9 assets/create/lang/en_ud.json +697142f7df636ab2c1a4c51de518da1057f00b0d assets/create/lang/en_us.json +c748bf6346d594db47b012a642201878d6099f19 assets/create/lang/unfinished/de_de.json +d9a59a5dd0acf9f109e50536dfbb9cfd7231c02d assets/create/lang/unfinished/es_cl.json +5353625f2eeea67c3db572c76579ecceba08d07e assets/create/lang/unfinished/es_es.json +022da28dbe8794c9c70e2f56f51d194b59227910 assets/create/lang/unfinished/fr_fr.json +3d748d50b3e3452082470d4e13349e999a0ff121 assets/create/lang/unfinished/it_it.json +c1d7f5ab9f8796e9e83a98aebea60ddbd7066b5c assets/create/lang/unfinished/ja_jp.json +18dbdd8a353469d954159174c0c668af87e65a96 assets/create/lang/unfinished/ko_kr.json +783900eaad7ea3bd08c41817365025e52e8665a8 assets/create/lang/unfinished/nl_nl.json +004d34ba743ab206dea12ea4c85c00ae7cd3b191 assets/create/lang/unfinished/pl_pl.json +bbe3799eeaed6b3e00c9314607ade798b116c42b assets/create/lang/unfinished/pt_br.json +3eb467693daee7da7c40dd4a9f807ead7dd66b7e assets/create/lang/unfinished/pt_pt.json +e1cf6bdd38ab822f626e0b02c2d16637fdd2e622 assets/create/lang/unfinished/ro_ro.json +18e0fba5433d35ba1512f1c828c67443d60a0b86 assets/create/lang/unfinished/ru_ru.json +041e6917f64163ac0b8157b4aa5cbbbde9efd165 assets/create/lang/unfinished/uk_ua.json +2a5fb11b27476169d381e02f94073889b4e5fb7f assets/create/lang/unfinished/zh_cn.json +cf24b02eef0b51db5543f985e232cb84d0cc6a50 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 @@ -1680,6 +1681,8 @@ dcb09deae110077bcddf090996b51cc66e9a7de3 assets/create/models/item/cogwheel.json 10397036fc0bb1e18a767cfd7b19b10d805a83fe assets/create/models/item/copper_backtank.json 3652f8f7b454940050f090ab32d38e04b93e14f8 assets/create/models/item/copper_backtank_placeable.json 759bcb5fe7dfdd628716f9b4ff19a5ab00393381 assets/create/models/item/copper_casing.json +16182c4c32b11b370cf5b1116250cf3dda838954 assets/create/models/item/copper_diving_boots.json +dc517e70cee9c5d74edfedd49ac43a67fe258c1b assets/create/models/item/copper_diving_helmet.json 599845f2382da5b43a3c610f6ed7a87c032e1c6a assets/create/models/item/copper_ladder.json 751324b03f657f4166460eb10a64dae47cb97bd4 assets/create/models/item/copper_nugget.json 177dafb51d70c55ec62036332868efed4e01f353 assets/create/models/item/copper_sheet.json @@ -1839,8 +1842,6 @@ f786a43e296d9f10d7c302fe3ae9cddf4ba9984e assets/create/models/item/dark_oak_wind e0ecc0a20cf9dd54ccfc48e0041d5220b2c8316e assets/create/models/item/diorite_pillar.json 0ff9267a39783dce5e0aa59e78088c64337ad6ee assets/create/models/item/display_board.json c89ab6316518a19974cbed73edb54aaaafd073f5 assets/create/models/item/display_link.json -6006f88e56d74a3fd75a9dddb25af39075e0482b assets/create/models/item/diving_boots.json -df8cfe7e8eb527329094396e11222e9097e309d7 assets/create/models/item/diving_helmet.json 4b2af721dccfcf4e5b5a7b0f64f295d7cfd27f69 assets/create/models/item/dough.json c25cd4d5cdf67b0d7e15f5a56c63e6bf35fe2917 assets/create/models/item/dripstone_pillar.json 5c45bf31bc4b6d2c6482318f19a660ad949d796b assets/create/models/item/electron_tube.json @@ -1941,6 +1942,10 @@ f8d0d4b2a890ea7a69ab0c390947b48fe0478d3f assets/create/models/item/mechanical_pi 363c5a2b8ac945b676c838cdf7b0494c3ab13599 assets/create/models/item/minecart_contraption.json 01e3fda31e549a3b6a1e5e615b59478e8f06f16a assets/create/models/item/minecart_coupling.json dae5cffa4e1263d6a113469f79fba8695fa8232a assets/create/models/item/mysterious_cuckoo_clock.json +cfacabb82a073bb03845f88397e04496128e0889 assets/create/models/item/netherite_backtank.json +3652f8f7b454940050f090ab32d38e04b93e14f8 assets/create/models/item/netherite_backtank_placeable.json +cae57da9a495dec4a17e4452111332ee5e0967ca assets/create/models/item/netherite_diving_boots.json +507ea9c5eac8c381ab99b6236ab26ca953388d8c assets/create/models/item/netherite_diving_helmet.json bafe601f186e868819da3d29f7be7dc96f9ba790 assets/create/models/item/nixie_tube.json 366a60447bbbd61eb25aecf191a01e8d9417ad61 assets/create/models/item/nozzle.json 7a336a340f3e4927d7a35f9d79e8a03693b802aa assets/create/models/item/oak_window.json @@ -2238,8 +2243,8 @@ d53e397aef8dc2fc674f6f1c7a059a17678ec56c data/create/advancements/cuckoo_clock.j 27c72072683dad1a8ca9976a58367c965ca35fe7 data/create/advancements/deployer.json b30ed29c6e69d0964e810a470a8725bf9496e9b5 data/create/advancements/display_board_0.json 92fdb65633cf93b7aca5f359abeb5a9ec715ae40 data/create/advancements/display_link.json -12a4c76b2d1eff364ed15926711fdf5a79957899 data/create/advancements/diving_suit.json -9e3fc44ae8997b03881fddd3938397cac3f580e1 data/create/advancements/diving_suit_lava.json +0c6d98542523d90ff3848c07ee6fd4963c85ed2c data/create/advancements/diving_suit.json +50d2f42e9d63b5dff964c60800997ebd26a736f6 data/create/advancements/diving_suit_lava.json ebf21bebdeb29fc7f1ffa078123256241921681f data/create/advancements/drain.json f87f17fb29afda4fc46a81b5c3967bd21c068e36 data/create/advancements/ejector_maxed.json 0c19f535f04e653e0263ab9c3e9f04a203fa6765 data/create/advancements/encased_fan.json @@ -2319,9 +2324,9 @@ c2ca0ac0d670fa4d7e8150ba6e314de2881248b6 data/create/advancements/recipes/create f605ac221fbd565152f8e987beb7697299588da2 data/create/advancements/recipes/create.base/copper_tile_stairs_from_copper_tiles_stonecutting.json 5190d5c155ebd9a670dc8271e4920a048e633d25 data/create/advancements/recipes/create.base/copper_tiles_from_plates_copper_stonecutting.json 376bda381f3dedb52b03eb1504b103d8ddd1b672 data/create/advancements/recipes/create.base/crafting/appliances/copper_backtank.json +9833d16405f8c51646590e98588fb410f96d9523 data/create/advancements/recipes/create.base/crafting/appliances/copper_diving_boots.json +680c982dd1d3c45bed4d390fc0da5042750c157a data/create/advancements/recipes/create.base/crafting/appliances/copper_diving_helmet.json 265a953eaac909fd2817c6dc3d1a08b376579a25 data/create/advancements/recipes/create.base/crafting/appliances/crafting_blueprint.json -29a77555e4d9eb1c8d4740f95b784fe0e53c72b1 data/create/advancements/recipes/create.base/crafting/appliances/diving_boots.json -638f93712e176fa3ef5cd6ecaf8dac4eebe1cd1e data/create/advancements/recipes/create.base/crafting/appliances/diving_helmet.json fa2e18298f7710465d9b0798a69288e846c646fd data/create/advancements/recipes/create.base/crafting/appliances/dough.json a9b163744b1c494d07ec256d0367884f9601176d data/create/advancements/recipes/create.base/crafting/appliances/linked_controller.json c4769d7ac9c537eb4409b02883e89d0930514a8b data/create/advancements/recipes/create.base/crafting/appliances/tree_fertilizer.json @@ -3676,6 +3681,7 @@ afdff197c9d1a6940e988c00435135f9705fd0e5 data/create/loot_tables/blocks/metal_gi b83a90fbe83906b171fc0de6bdc2d9aa3a8c542e data/create/loot_tables/blocks/millstone.json 5c1df8443043b3fe3b665dba348e2ff188bcbe31 data/create/loot_tables/blocks/minecart_anchor.json 1e73d28fdd2e54910074aeadbe5617425a8ae656 data/create/loot_tables/blocks/mysterious_cuckoo_clock.json +a5fa8fdc10efe534e5c7d8bdb687f226b39f63ef data/create/loot_tables/blocks/netherite_backtank.json 2e21a06c0d671e543bffecb0b67d97b51fa83ddc data/create/loot_tables/blocks/nixie_tube.json f6b4095a518a01081f3663d7268d67063bdb44ee data/create/loot_tables/blocks/nozzle.json d378be8f13fc7ed625813eae3a50b68e8706a297 data/create/loot_tables/blocks/oak_window.json @@ -3981,9 +3987,9 @@ bea832822e0e5f0048eb94649641ea541e11f943 data/create/recipes/copper_shingles_fro 15da07234ee005be984f060520d0cf87bca672f5 data/create/recipes/copper_tile_stairs_from_copper_tiles_stonecutting.json 10fdc13f5b2b745e13e6e4e949a07ceaf4544a26 data/create/recipes/copper_tiles_from_plates_copper_stonecutting.json eb18d5972484418fa5a768633e68688ad20d2bd7 data/create/recipes/crafting/appliances/copper_backtank.json +5771562086710eb5a3a05d464989d2f23d6c5e86 data/create/recipes/crafting/appliances/copper_diving_boots.json +ec38ddb44e4bf8eaaba6f9d27e8469234fc98528 data/create/recipes/crafting/appliances/copper_diving_helmet.json c077375d16b4505e52548613fbc9356993556e6b data/create/recipes/crafting/appliances/crafting_blueprint.json -cba3566f09234b9cd17d8bc87dc87b2f779214e9 data/create/recipes/crafting/appliances/diving_boots.json -3e6bbbd6aa2b1373e9d6063d48560e4b547a5a5b data/create/recipes/crafting/appliances/diving_helmet.json edf96556bb2357f54fd398fe573641afa15239b2 data/create/recipes/crafting/appliances/dough.json 75cdbd88973a8ca943ebe890153b01a344b96b01 data/create/recipes/crafting/appliances/linked_controller.json 7b5f863dda3d05a79cb85943a178eba0bd8a7dc7 data/create/recipes/crafting/appliances/slime_ball.json @@ -5647,7 +5653,7 @@ c98ffdc2780c2a7690c590f46f014aeee7b0b504 data/create/tags/items/create_ingots.js 4480f211f4a37bfee193eba945bc9f5a8d2c6e34 data/create/tags/items/crushed_ores.json 67385d5198d0796ec8f0d2c6ae144c672f4317a1 data/create/tags/items/modded_stripped_logs.json 27a1074a88a7b939c811341086afece325ed724c data/create/tags/items/modded_stripped_wood.json -7973972edb524683ef365bc103fcfcde0858a854 data/create/tags/items/pressurized_air_sources.json +8c8f6658ee72bdea2fcef77bade7bfa48de784c8 data/create/tags/items/pressurized_air_sources.json bce28787b0271382842823d04a977912a88b01c2 data/create/tags/items/sandpaper.json 6cdeeac1689f7b5bfd9bc40b462143d8eaf3ad0b data/create/tags/items/seats.json 0f4276a6b7da5f4dee8909802e6717a4c97f0555 data/create/tags/items/sleepers.json @@ -5726,7 +5732,7 @@ e16d74571ae10007f06f3b86ddf05d3ca9b73559 data/minecraft/tags/blocks/doors.json 69f596fcb065e26b02ce246760432b5174191b76 data/minecraft/tags/blocks/impermeable.json 2db7759fe036160c14c6ed19a68604ca16f4de60 data/minecraft/tags/blocks/lush_ground_replaceable.json 71480793b5e5ac5eb33c5271118c62227a2769d8 data/minecraft/tags/blocks/mineable/axe.json -77511f0fca91aa40c8b2566bf9bfb78964a56db3 data/minecraft/tags/blocks/mineable/pickaxe.json +f24ab07c09d7c0cb237944099cac4e3ca1c0844c data/minecraft/tags/blocks/mineable/pickaxe.json 2db7759fe036160c14c6ed19a68604ca16f4de60 data/minecraft/tags/blocks/moss_replaceable.json e157c1d3af30e409e34bbefbe15a037e6e1c8daa data/minecraft/tags/blocks/needs_iron_tool.json a08f67865337f62601c5e333b4011382d10020e4 data/minecraft/tags/blocks/needs_stone_tool.json diff --git a/src/generated/resources/assets/create/blockstates/netherite_backtank.json b/src/generated/resources/assets/create/blockstates/netherite_backtank.json new file mode 100644 index 000000000..c8113d106 --- /dev/null +++ b/src/generated/resources/assets/create/blockstates/netherite_backtank.json @@ -0,0 +1,34 @@ +{ + "variants": { + "facing=north,waterlogged=false": { + "model": "create:block/netherite_backtank/block" + }, + "facing=south,waterlogged=false": { + "model": "create:block/netherite_backtank/block", + "y": 180 + }, + "facing=west,waterlogged=false": { + "model": "create:block/netherite_backtank/block", + "y": 270 + }, + "facing=east,waterlogged=false": { + "model": "create:block/netherite_backtank/block", + "y": 90 + }, + "facing=north,waterlogged=true": { + "model": "create:block/netherite_backtank/block" + }, + "facing=south,waterlogged=true": { + "model": "create:block/netherite_backtank/block", + "y": 180 + }, + "facing=west,waterlogged=true": { + "model": "create:block/netherite_backtank/block", + "y": 270 + }, + "facing=east,waterlogged=true": { + "model": "create:block/netherite_backtank/block", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/create/lang/en_ud.json b/src/generated/resources/assets/create/lang/en_ud.json index d57821dd5..61918052c 100644 --- a/src/generated/resources/assets/create/lang/en_ud.json +++ b/src/generated/resources/assets/create/lang/en_ud.json @@ -303,6 +303,7 @@ "block.create.millstone": "\u01DDuo\u0287s\u05DF\u05DF\u0131W", "block.create.minecart_anchor": "\u0279o\u0265\u0254u\u2C6F \u0287\u0279\u0250\u0254\u01DDu\u0131W", "block.create.mysterious_cuckoo_clock": "\u029E\u0254o\u05DF\u0186 oo\u029E\u0254n\u0186", + "block.create.netherite_backtank": "\u029Eu\u0250\u0287\u029E\u0254\u0250\u15FA \u01DD\u0287\u0131\u0279\u01DD\u0265\u0287\u01DDN", "block.create.nixie_tube": "\u01DDqn\u27D8 \u01DD\u0131x\u0131N", "block.create.nozzle": "\u01DD\u05DFzzoN", "block.create.oak_window": "\u028Dopu\u0131M \u029E\u0250O", @@ -589,6 +590,8 @@ "item.create.cinder_flour": "\u0279no\u05DF\u2132 \u0279\u01DDpu\u0131\u0186", "item.create.copper_backtank": "\u029Eu\u0250\u0287\u029E\u0254\u0250\u15FA \u0279\u01DDddo\u0186", "item.create.copper_backtank_placeable": "\u01DD\u05DFq\u0250\u01DD\u0254\u0250\u05DF\u0500 \u029Eu\u0250\u0287\u029E\u0254\u0250\u15FA \u0279\u01DDddo\u0186", + "item.create.copper_diving_boots": "s\u0287oo\u15FA bu\u0131\u028C\u0131\u15E1 \u0279\u01DDddo\u0186", + "item.create.copper_diving_helmet": "\u0287\u01DD\u026F\u05DF\u01DDH bu\u0131\u028C\u0131\u15E1 \u0279\u01DDddo\u0186", "item.create.copper_nugget": "\u0287\u01DDbbnN \u0279\u01DDddo\u0186", "item.create.copper_sheet": "\u0287\u01DD\u01DD\u0265S \u0279\u01DDddo\u0186", "item.create.crafter_slot_cover": "\u0279\u01DD\u028Co\u0186 \u0287o\u05DFS \u0279\u01DD\u0287\u025F\u0250\u0279\u0186", @@ -607,8 +610,6 @@ "item.create.crushed_tin_ore": "\u01DD\u0279O u\u0131\u27D8 p\u01DD\u0265sn\u0279\u0186", "item.create.crushed_uranium_ore": "\u01DD\u0279O \u026Fn\u0131u\u0250\u0279\u2229 p\u01DD\u0265sn\u0279\u0186", "item.create.crushed_zinc_ore": "\u01DD\u0279O \u0254u\u0131Z p\u01DD\u0265sn\u0279\u0186", - "item.create.diving_boots": "s\u0287oo\u15FA bu\u0131\u028C\u0131\u15E1", - "item.create.diving_helmet": "\u0287\u01DD\u026F\u05DF\u01DDH bu\u0131\u028C\u0131\u15E1", "item.create.dough": "\u0265bno\u15E1", "item.create.electron_tube": "\u01DDqn\u27D8 uo\u0279\u0287\u0254\u01DD\u05DF\u018E", "item.create.empty_blaze_burner": "\u0279\u01DDu\u0279n\u15FA \u01DDz\u0250\u05DF\u15FA \u028E\u0287d\u026F\u018E", @@ -628,6 +629,10 @@ "item.create.linked_controller": "\u0279\u01DD\u05DF\u05DFo\u0279\u0287uo\u0186 p\u01DD\u029Eu\u0131\uA780", "item.create.minecart_contraption": "uo\u0131\u0287d\u0250\u0279\u0287uo\u0186 \u0287\u0279\u0250\u0254\u01DDu\u0131W", "item.create.minecart_coupling": "bu\u0131\u05DFdno\u0186 \u0287\u0279\u0250\u0254\u01DDu\u0131W", + "item.create.netherite_backtank": "\u029Eu\u0250\u0287\u029E\u0254\u0250\u15FA \u01DD\u0287\u0131\u0279\u01DD\u0265\u0287\u01DDN", + "item.create.netherite_backtank_placeable": "\u01DD\u05DFq\u0250\u01DD\u0254\u0250\u05DF\u0500 \u029Eu\u0250\u0287\u029E\u0254\u0250\u15FA \u01DD\u0287\u0131\u0279\u01DD\u0265\u0287\u01DDN", + "item.create.netherite_diving_boots": "s\u0287oo\u15FA bu\u0131\u028C\u0131\u15E1 \u01DD\u0287\u0131\u0279\u01DD\u0265\u0287\u01DDN", + "item.create.netherite_diving_helmet": "\u0287\u01DD\u026F\u05DF\u01DDH bu\u0131\u028C\u0131\u15E1 \u01DD\u0287\u0131\u0279\u01DD\u0265\u0287\u01DDN", "item.create.polished_rose_quartz": "z\u0287\u0279\u0250n\u1F49 \u01DDso\u1D1A p\u01DD\u0265s\u0131\u05DFo\u0500", "item.create.potato_cannon": "uouu\u0250\u0186 o\u0287\u0250\u0287o\u0500", "item.create.powdered_obsidian": "u\u0250\u0131p\u0131sqO p\u01DD\u0279\u01DDp\u028Do\u0500", diff --git a/src/generated/resources/assets/create/lang/en_us.json b/src/generated/resources/assets/create/lang/en_us.json index f29227a7a..29ad1b200 100644 --- a/src/generated/resources/assets/create/lang/en_us.json +++ b/src/generated/resources/assets/create/lang/en_us.json @@ -306,6 +306,7 @@ "block.create.millstone": "Millstone", "block.create.minecart_anchor": "Minecart Anchor", "block.create.mysterious_cuckoo_clock": "Cuckoo Clock", + "block.create.netherite_backtank": "Netherite Backtank", "block.create.nixie_tube": "Nixie Tube", "block.create.nozzle": "Nozzle", "block.create.oak_window": "Oak Window", @@ -596,6 +597,8 @@ "item.create.cinder_flour": "Cinder Flour", "item.create.copper_backtank": "Copper Backtank", "item.create.copper_backtank_placeable": "Copper Backtank Placeable", + "item.create.copper_diving_boots": "Copper Diving Boots", + "item.create.copper_diving_helmet": "Copper Diving Helmet", "item.create.copper_nugget": "Copper Nugget", "item.create.copper_sheet": "Copper Sheet", "item.create.crafter_slot_cover": "Crafter Slot Cover", @@ -614,8 +617,6 @@ "item.create.crushed_tin_ore": "Crushed Tin Ore", "item.create.crushed_uranium_ore": "Crushed Uranium Ore", "item.create.crushed_zinc_ore": "Crushed Zinc Ore", - "item.create.diving_boots": "Diving Boots", - "item.create.diving_helmet": "Diving Helmet", "item.create.dough": "Dough", "item.create.electron_tube": "Electron Tube", "item.create.empty_blaze_burner": "Empty Blaze Burner", @@ -635,6 +636,10 @@ "item.create.linked_controller": "Linked Controller", "item.create.minecart_contraption": "Minecart Contraption", "item.create.minecart_coupling": "Minecart Coupling", + "item.create.netherite_backtank": "Netherite Backtank", + "item.create.netherite_backtank_placeable": "Netherite Backtank Placeable", + "item.create.netherite_diving_boots": "Netherite Diving Boots", + "item.create.netherite_diving_helmet": "Netherite Diving Helmet", "item.create.polished_rose_quartz": "Polished Rose Quartz", "item.create.potato_cannon": "Potato Cannon", "item.create.powdered_obsidian": "Powdered Obsidian", 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 ec0ab8c0d..b3b47f45f 100644 --- a/src/generated/resources/assets/create/lang/unfinished/de_de.json +++ b/src/generated/resources/assets/create/lang/unfinished/de_de.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 842", + "_": "Missing Localizations: 849", "_": "->------------------------] Game Elements [------------------------<-", @@ -307,6 +307,7 @@ "block.create.millstone": "Mahlstein", "block.create.minecart_anchor": "Lorenanker", "block.create.mysterious_cuckoo_clock": "Kuckucksuhr", + "block.create.netherite_backtank": "UNLOCALIZED: Netherite Backtank", "block.create.nixie_tube": "Nixie-Röhre", "block.create.nozzle": "Düse", "block.create.oak_window": "Eichenfenster", @@ -597,6 +598,8 @@ "item.create.cinder_flour": "Aschenmehl", "item.create.copper_backtank": "Kupferner Rückentank", "item.create.copper_backtank_placeable": "Platzierbarer Kupferner Rückentank", + "item.create.copper_diving_boots": "UNLOCALIZED: Copper Diving Boots", + "item.create.copper_diving_helmet": "UNLOCALIZED: Copper Diving Helmet", "item.create.copper_nugget": "Kupferklumpen", "item.create.copper_sheet": "Kupferblech", "item.create.crafter_slot_cover": "Handwerkseinheit Slot Abdeckung", @@ -615,8 +618,6 @@ "item.create.crushed_tin_ore": "Zerkleinertes Zinnerz", "item.create.crushed_uranium_ore": "Zerkleinertes Uranerz", "item.create.crushed_zinc_ore": "Zerkleinertes Zinkerz", - "item.create.diving_boots": "Tauchstiefel", - "item.create.diving_helmet": "Tauchhelm", "item.create.dough": "Teig", "item.create.electron_tube": "Elektronenröhre", "item.create.empty_blaze_burner": "Leerer Lohenbrenner", @@ -636,6 +637,10 @@ "item.create.linked_controller": "Fernsteuerung", "item.create.minecart_contraption": "Loren Vorrichtung", "item.create.minecart_coupling": "Lorenkupplung", + "item.create.netherite_backtank": "UNLOCALIZED: Netherite Backtank", + "item.create.netherite_backtank_placeable": "UNLOCALIZED: Netherite Backtank Placeable", + "item.create.netherite_diving_boots": "UNLOCALIZED: Netherite Diving Boots", + "item.create.netherite_diving_helmet": "UNLOCALIZED: Netherite Diving Helmet", "item.create.polished_rose_quartz": "Polierter Rosenquarz", "item.create.potato_cannon": "Kartoffelkanone", "item.create.powdered_obsidian": "Pulverisierter Obsidian", 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 b1cb4225f..3b5d6ac16 100644 --- a/src/generated/resources/assets/create/lang/unfinished/es_cl.json +++ b/src/generated/resources/assets/create/lang/unfinished/es_cl.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 988", + "_": "Missing Localizations: 995", "_": "->------------------------] Game Elements [------------------------<-", @@ -307,6 +307,7 @@ "block.create.millstone": "Piedra de Molino", "block.create.minecart_anchor": "Ancla de Vagoneta", "block.create.mysterious_cuckoo_clock": "Reloj Cu-Cú", + "block.create.netherite_backtank": "UNLOCALIZED: Netherite Backtank", "block.create.nixie_tube": "Tubo Nixie", "block.create.nozzle": "Boquilla", "block.create.oak_window": "Ventana de Roble", @@ -597,6 +598,8 @@ "item.create.cinder_flour": "Harina de Cenizas", "item.create.copper_backtank": "Mochila-Tanque de Cobre", "item.create.copper_backtank_placeable": "UNLOCALIZED: Copper Backtank Placeable", + "item.create.copper_diving_boots": "UNLOCALIZED: Copper Diving Boots", + "item.create.copper_diving_helmet": "UNLOCALIZED: Copper Diving Helmet", "item.create.copper_nugget": "Nugget de Cobre", "item.create.copper_sheet": "Plancha de Cobre", "item.create.crafter_slot_cover": "Cubre Ranuras", @@ -615,8 +618,6 @@ "item.create.crushed_tin_ore": "Mineral de Estaño Triturado", "item.create.crushed_uranium_ore": "Mineral de Uranio Triturado", "item.create.crushed_zinc_ore": "Mineral de Zinc Triturado", - "item.create.diving_boots": "Botas de Buceo", - "item.create.diving_helmet": "Casco de Buceo", "item.create.dough": "Masa", "item.create.electron_tube": "Tubo de Electrones", "item.create.empty_blaze_burner": "Quemador Blaze Vacío", @@ -636,6 +637,10 @@ "item.create.linked_controller": "Controlador Vinculable", "item.create.minecart_contraption": "Contrapción de Vagoneta", "item.create.minecart_coupling": "Acoplamiento de Vagonetas", + "item.create.netherite_backtank": "UNLOCALIZED: Netherite Backtank", + "item.create.netherite_backtank_placeable": "UNLOCALIZED: Netherite Backtank Placeable", + "item.create.netherite_diving_boots": "UNLOCALIZED: Netherite Diving Boots", + "item.create.netherite_diving_helmet": "UNLOCALIZED: Netherite Diving Helmet", "item.create.polished_rose_quartz": "Cuarzo Rosa Pulido", "item.create.potato_cannon": "Cañón de Papas", "item.create.powdered_obsidian": "Obsidiana Pulverizada", 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 9866e0ed4..8d6b84ed3 100644 --- a/src/generated/resources/assets/create/lang/unfinished/es_es.json +++ b/src/generated/resources/assets/create/lang/unfinished/es_es.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 8", + "_": "Missing Localizations: 15", "_": "->------------------------] Game Elements [------------------------<-", @@ -307,6 +307,7 @@ "block.create.millstone": "Piedra de molino", "block.create.minecart_anchor": "Ancla de vagonetas", "block.create.mysterious_cuckoo_clock": "Reloj de cuco", + "block.create.netherite_backtank": "UNLOCALIZED: Netherite Backtank", "block.create.nixie_tube": "Tubo Nixie", "block.create.nozzle": "Boquilla", "block.create.oak_window": "Ventana de roble", @@ -597,6 +598,8 @@ "item.create.cinder_flour": "Harina del Nether", "item.create.copper_backtank": "Depósito trasero de cobre", "item.create.copper_backtank_placeable": "Depósito de cobre colocable", + "item.create.copper_diving_boots": "UNLOCALIZED: Copper Diving Boots", + "item.create.copper_diving_helmet": "UNLOCALIZED: Copper Diving Helmet", "item.create.copper_nugget": "Pepita de cobre", "item.create.copper_sheet": "Lámina de cobre", "item.create.crafter_slot_cover": "Tapa de ranura del ensamblador mecánico", @@ -615,8 +618,6 @@ "item.create.crushed_tin_ore": "Mineral de estaño molido", "item.create.crushed_uranium_ore": "Mineral de uranio molido", "item.create.crushed_zinc_ore": "Mineral de cinc molido", - "item.create.diving_boots": "Botas de buceo", - "item.create.diving_helmet": "Casco de buceo", "item.create.dough": "Masa", "item.create.electron_tube": "Tubo de electrones", "item.create.empty_blaze_burner": "Quemador de blaze vacío", @@ -636,6 +637,10 @@ "item.create.linked_controller": "Controlador enlazado", "item.create.minecart_contraption": "Artefacto móvil de vagoneta", "item.create.minecart_coupling": "Acoplamiento de vagoneta", + "item.create.netherite_backtank": "UNLOCALIZED: Netherite Backtank", + "item.create.netherite_backtank_placeable": "UNLOCALIZED: Netherite Backtank Placeable", + "item.create.netherite_diving_boots": "UNLOCALIZED: Netherite Diving Boots", + "item.create.netherite_diving_helmet": "UNLOCALIZED: Netherite Diving Helmet", "item.create.polished_rose_quartz": "Cuarzo rosado pulido", "item.create.potato_cannon": "Cañón de patatas", "item.create.powdered_obsidian": "Polvo de obsidiana", 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 a40d4bfce..153b506c2 100644 --- a/src/generated/resources/assets/create/lang/unfinished/fr_fr.json +++ b/src/generated/resources/assets/create/lang/unfinished/fr_fr.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 2139", + "_": "Missing Localizations: 2144", "_": "->------------------------] Game Elements [------------------------<-", @@ -307,6 +307,7 @@ "block.create.millstone": "UNLOCALIZED: Millstone", "block.create.minecart_anchor": "UNLOCALIZED: Minecart Anchor", "block.create.mysterious_cuckoo_clock": "UNLOCALIZED: Cuckoo Clock", + "block.create.netherite_backtank": "UNLOCALIZED: Netherite Backtank", "block.create.nixie_tube": "UNLOCALIZED: Nixie Tube", "block.create.nozzle": "Buse", "block.create.oak_window": "UNLOCALIZED: Oak Window", @@ -597,6 +598,8 @@ "item.create.cinder_flour": "Farine de braise", "item.create.copper_backtank": "UNLOCALIZED: Copper Backtank", "item.create.copper_backtank_placeable": "UNLOCALIZED: Copper Backtank Placeable", + "item.create.copper_diving_boots": "UNLOCALIZED: Copper Diving Boots", + "item.create.copper_diving_helmet": "UNLOCALIZED: Copper Diving Helmet", "item.create.copper_nugget": "Pépite de cuivre", "item.create.copper_sheet": "Plaques de cuivre", "item.create.crafter_slot_cover": "Couvercle", @@ -615,8 +618,6 @@ "item.create.crushed_tin_ore": "Etain concassé", "item.create.crushed_uranium_ore": "Uranium concassé", "item.create.crushed_zinc_ore": "Zinc concassé", - "item.create.diving_boots": "UNLOCALIZED: Diving Boots", - "item.create.diving_helmet": "UNLOCALIZED: Diving Helmet", "item.create.dough": "Pâte", "item.create.electron_tube": "Tube électronique", "item.create.empty_blaze_burner": "Brûleur à blaze vide", @@ -636,6 +637,10 @@ "item.create.linked_controller": "UNLOCALIZED: Linked Controller", "item.create.minecart_contraption": "Engin de wagonnet", "item.create.minecart_coupling": "Lien pour wagonnet", + "item.create.netherite_backtank": "UNLOCALIZED: Netherite Backtank", + "item.create.netherite_backtank_placeable": "UNLOCALIZED: Netherite Backtank Placeable", + "item.create.netherite_diving_boots": "UNLOCALIZED: Netherite Diving Boots", + "item.create.netherite_diving_helmet": "UNLOCALIZED: Netherite Diving Helmet", "item.create.polished_rose_quartz": "Quartz rose poli", "item.create.potato_cannon": "UNLOCALIZED: Potato Cannon", "item.create.powdered_obsidian": "Obsidienne concassée", 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 39c5e5ac9..449be154b 100644 --- a/src/generated/resources/assets/create/lang/unfinished/it_it.json +++ b/src/generated/resources/assets/create/lang/unfinished/it_it.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 2", + "_": "Missing Localizations: 9", "_": "->------------------------] Game Elements [------------------------<-", @@ -307,6 +307,7 @@ "block.create.millstone": "Macina", "block.create.minecart_anchor": "Ancora per carrello da miniera", "block.create.mysterious_cuckoo_clock": "Orologio a cucù misterioso", + "block.create.netherite_backtank": "UNLOCALIZED: Netherite Backtank", "block.create.nixie_tube": "Tubo Nixie", "block.create.nozzle": "Dispersore", "block.create.oak_window": "Finestra di quercia", @@ -597,6 +598,8 @@ "item.create.cinder_flour": "Cenere farinosa", "item.create.copper_backtank": "Zaino serbatoio", "item.create.copper_backtank_placeable": "Zaino serbatoio posizionabile", + "item.create.copper_diving_boots": "UNLOCALIZED: Copper Diving Boots", + "item.create.copper_diving_helmet": "UNLOCALIZED: Copper Diving Helmet", "item.create.copper_nugget": "Pepita di rame", "item.create.copper_sheet": "Lamiera di rame", "item.create.crafter_slot_cover": "Copertura per slot di fabbricazione", @@ -615,8 +618,6 @@ "item.create.crushed_tin_ore": "Stagno grezzo frantumato", "item.create.crushed_uranium_ore": "Uranio grezzo frantumato", "item.create.crushed_zinc_ore": "Zinco grezzo frantumato", - "item.create.diving_boots": "Stivali da immersione", - "item.create.diving_helmet": "Elmo da immersione", "item.create.dough": "Impasto", "item.create.electron_tube": "Tubo a vuoto", "item.create.empty_blaze_burner": "Inceneritore vuoto", @@ -636,6 +637,10 @@ "item.create.linked_controller": "Pulsantiera di comando", "item.create.minecart_contraption": "Macchinario con carrello da miniera", "item.create.minecart_coupling": "Aggancio per carrelli da miniera", + "item.create.netherite_backtank": "UNLOCALIZED: Netherite Backtank", + "item.create.netherite_backtank_placeable": "UNLOCALIZED: Netherite Backtank Placeable", + "item.create.netherite_diving_boots": "UNLOCALIZED: Netherite Diving Boots", + "item.create.netherite_diving_helmet": "UNLOCALIZED: Netherite Diving Helmet", "item.create.polished_rose_quartz": "Quarzo rosa levigato", "item.create.potato_cannon": "Cannone a patate", "item.create.powdered_obsidian": "Ossidiana in polvere", 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 29408f90f..d95da9a6d 100644 --- a/src/generated/resources/assets/create/lang/unfinished/ja_jp.json +++ b/src/generated/resources/assets/create/lang/unfinished/ja_jp.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 4", + "_": "Missing Localizations: 11", "_": "->------------------------] Game Elements [------------------------<-", @@ -307,6 +307,7 @@ "block.create.millstone": "石臼", "block.create.minecart_anchor": "トロッコアンカー", "block.create.mysterious_cuckoo_clock": "鳩時計", + "block.create.netherite_backtank": "UNLOCALIZED: Netherite Backtank", "block.create.nixie_tube": "ニキシー管", "block.create.nozzle": "ノズル", "block.create.oak_window": "オークの窓", @@ -597,6 +598,8 @@ "item.create.cinder_flour": "ネザーラックの粉", "item.create.copper_backtank": "銅のバックタンク", "item.create.copper_backtank_placeable": "設置可能な銅のバックタンク", + "item.create.copper_diving_boots": "UNLOCALIZED: Copper Diving Boots", + "item.create.copper_diving_helmet": "UNLOCALIZED: Copper Diving Helmet", "item.create.copper_nugget": "銅塊", "item.create.copper_sheet": "銅板", "item.create.crafter_slot_cover": "クラフタースロットカバー", @@ -615,8 +618,6 @@ "item.create.crushed_tin_ore": "砕いた錫鉱石", "item.create.crushed_uranium_ore": "砕いたウラン鉱石", "item.create.crushed_zinc_ore": "砕いた亜鉛鉱石", - "item.create.diving_boots": "潜水ブーツ", - "item.create.diving_helmet": "潜水ヘルメット", "item.create.dough": "生地", "item.create.electron_tube": "電子管", "item.create.empty_blaze_burner": "空のブレイズバーナー", @@ -636,6 +637,10 @@ "item.create.linked_controller": "リンクコントローラー", "item.create.minecart_contraption": "からくりトロッコ", "item.create.minecart_coupling": "トロッコ連結器", + "item.create.netherite_backtank": "UNLOCALIZED: Netherite Backtank", + "item.create.netherite_backtank_placeable": "UNLOCALIZED: Netherite Backtank Placeable", + "item.create.netherite_diving_boots": "UNLOCALIZED: Netherite Diving Boots", + "item.create.netherite_diving_helmet": "UNLOCALIZED: Netherite Diving Helmet", "item.create.polished_rose_quartz": "磨かれたローズクォーツ", "item.create.potato_cannon": "ポテトキャノン", "item.create.powdered_obsidian": "黒曜石の粉", 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 92e403ed6..c6999e6f2 100644 --- a/src/generated/resources/assets/create/lang/unfinished/ko_kr.json +++ b/src/generated/resources/assets/create/lang/unfinished/ko_kr.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 8", + "_": "Missing Localizations: 15", "_": "->------------------------] Game Elements [------------------------<-", @@ -307,6 +307,7 @@ "block.create.millstone": "맷돌", "block.create.minecart_anchor": "광산 수레 정박기", "block.create.mysterious_cuckoo_clock": "뻐꾸기 시계", + "block.create.netherite_backtank": "UNLOCALIZED: Netherite Backtank", "block.create.nixie_tube": "닉시관", "block.create.nozzle": "노즐", "block.create.oak_window": "참나무 유리창", @@ -597,6 +598,8 @@ "item.create.cinder_flour": "잿가루", "item.create.copper_backtank": "구리 산소통", "item.create.copper_backtank_placeable": "구리 산소통", + "item.create.copper_diving_boots": "UNLOCALIZED: Copper Diving Boots", + "item.create.copper_diving_helmet": "UNLOCALIZED: Copper Diving Helmet", "item.create.copper_nugget": "구리 조각", "item.create.copper_sheet": "구리 판", "item.create.crafter_slot_cover": "조합기 슬롯 덮개", @@ -615,8 +618,6 @@ "item.create.crushed_tin_ore": "분쇄된 주석 광석", "item.create.crushed_uranium_ore": "분쇄된 우라늄 광석", "item.create.crushed_zinc_ore": "분쇄된 아연 광석", - "item.create.diving_boots": "다이빙 부츠", - "item.create.diving_helmet": "다이빙 헬멧", "item.create.dough": "반죽", "item.create.electron_tube": "전지 튜브", "item.create.empty_blaze_burner": "빈 블레이즈 버너", @@ -636,6 +637,10 @@ "item.create.linked_controller": "레드스톤 링크 조작기", "item.create.minecart_contraption": "광산 수레 구조물", "item.create.minecart_coupling": "광산 수레 커플링", + "item.create.netherite_backtank": "UNLOCALIZED: Netherite Backtank", + "item.create.netherite_backtank_placeable": "UNLOCALIZED: Netherite Backtank Placeable", + "item.create.netherite_diving_boots": "UNLOCALIZED: Netherite Diving Boots", + "item.create.netherite_diving_helmet": "UNLOCALIZED: Netherite Diving Helmet", "item.create.polished_rose_quartz": "윤나는 장밋빛 석영", "item.create.potato_cannon": "감자포", "item.create.powdered_obsidian": "흑요석 가루", 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 319e3974f..8ad555c4e 100644 --- a/src/generated/resources/assets/create/lang/unfinished/nl_nl.json +++ b/src/generated/resources/assets/create/lang/unfinished/nl_nl.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 2487", + "_": "Missing Localizations: 2492", "_": "->------------------------] Game Elements [------------------------<-", @@ -307,6 +307,7 @@ "block.create.millstone": "UNLOCALIZED: Millstone", "block.create.minecart_anchor": "UNLOCALIZED: Minecart Anchor", "block.create.mysterious_cuckoo_clock": "UNLOCALIZED: Cuckoo Clock", + "block.create.netherite_backtank": "UNLOCALIZED: Netherite Backtank", "block.create.nixie_tube": "UNLOCALIZED: Nixie Tube", "block.create.nozzle": "UNLOCALIZED: Nozzle", "block.create.oak_window": "UNLOCALIZED: Oak Window", @@ -597,6 +598,8 @@ "item.create.cinder_flour": "UNLOCALIZED: Cinder Flour", "item.create.copper_backtank": "UNLOCALIZED: Copper Backtank", "item.create.copper_backtank_placeable": "UNLOCALIZED: Copper Backtank Placeable", + "item.create.copper_diving_boots": "UNLOCALIZED: Copper Diving Boots", + "item.create.copper_diving_helmet": "UNLOCALIZED: Copper Diving Helmet", "item.create.copper_nugget": "Koper klompje", "item.create.copper_sheet": "UNLOCALIZED: Copper Sheet", "item.create.crafter_slot_cover": "UNLOCALIZED: Crafter Slot Cover", @@ -615,8 +618,6 @@ "item.create.crushed_tin_ore": "UNLOCALIZED: Crushed Tin Ore", "item.create.crushed_uranium_ore": "UNLOCALIZED: Crushed Uranium Ore", "item.create.crushed_zinc_ore": "UNLOCALIZED: Crushed Zinc Ore", - "item.create.diving_boots": "UNLOCALIZED: Diving Boots", - "item.create.diving_helmet": "UNLOCALIZED: Diving Helmet", "item.create.dough": "Deeg", "item.create.electron_tube": "UNLOCALIZED: Electron Tube", "item.create.empty_blaze_burner": "UNLOCALIZED: Empty Blaze Burner", @@ -636,6 +637,10 @@ "item.create.linked_controller": "UNLOCALIZED: Linked Controller", "item.create.minecart_contraption": "UNLOCALIZED: Minecart Contraption", "item.create.minecart_coupling": "UNLOCALIZED: Minecart Coupling", + "item.create.netherite_backtank": "UNLOCALIZED: Netherite Backtank", + "item.create.netherite_backtank_placeable": "UNLOCALIZED: Netherite Backtank Placeable", + "item.create.netherite_diving_boots": "UNLOCALIZED: Netherite Diving Boots", + "item.create.netherite_diving_helmet": "UNLOCALIZED: Netherite Diving Helmet", "item.create.polished_rose_quartz": "UNLOCALIZED: Polished Rose Quartz", "item.create.potato_cannon": "UNLOCALIZED: Potato Cannon", "item.create.powdered_obsidian": "UNLOCALIZED: Powdered Obsidian", 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 be600d683..61a9f4c2c 100644 --- a/src/generated/resources/assets/create/lang/unfinished/pl_pl.json +++ b/src/generated/resources/assets/create/lang/unfinished/pl_pl.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 12", + "_": "Missing Localizations: 19", "_": "->------------------------] Game Elements [------------------------<-", @@ -307,6 +307,7 @@ "block.create.millstone": "Młynek", "block.create.minecart_anchor": "Kotwica wagonikowa", "block.create.mysterious_cuckoo_clock": "Zegar z kukułką", + "block.create.netherite_backtank": "UNLOCALIZED: Netherite Backtank", "block.create.nixie_tube": "Lampa cyfrowa", "block.create.nozzle": "Dysza", "block.create.oak_window": "Dębowe okno", @@ -597,6 +598,8 @@ "item.create.cinder_flour": "Rozżarzona mąka", "item.create.copper_backtank": "Miedziany zbiornik w plecaku", "item.create.copper_backtank_placeable": "Stacjonarny miedziany zbiornik w plecaku", + "item.create.copper_diving_boots": "UNLOCALIZED: Copper Diving Boots", + "item.create.copper_diving_helmet": "UNLOCALIZED: Copper Diving Helmet", "item.create.copper_nugget": "Bryłka miedzi", "item.create.copper_sheet": "Arkusz miedzi", "item.create.crafter_slot_cover": "Przykrywka na slot stołu rzemieślniczego", @@ -615,8 +618,6 @@ "item.create.crushed_tin_ore": "Rozkruszona ruda cyny", "item.create.crushed_uranium_ore": "Rozkruszona ruda uranu", "item.create.crushed_zinc_ore": "Rozkruszona ruda cynku", - "item.create.diving_boots": "Buty do nurkowania", - "item.create.diving_helmet": "Hełm do nurkowania", "item.create.dough": "Ciasto", "item.create.electron_tube": "Lampa elektronowa", "item.create.empty_blaze_burner": "Pusty płomienny palnik", @@ -636,6 +637,10 @@ "item.create.linked_controller": "Zdalny sterownik", "item.create.minecart_contraption": "Maszyna w wagoniku", "item.create.minecart_coupling": "Łącznik wagoników", + "item.create.netherite_backtank": "UNLOCALIZED: Netherite Backtank", + "item.create.netherite_backtank_placeable": "UNLOCALIZED: Netherite Backtank Placeable", + "item.create.netherite_diving_boots": "UNLOCALIZED: Netherite Diving Boots", + "item.create.netherite_diving_helmet": "UNLOCALIZED: Netherite Diving Helmet", "item.create.polished_rose_quartz": "Wypolerowany różowy kwarc", "item.create.potato_cannon": "Armata na ziemniaki", "item.create.powdered_obsidian": "Sproszkowany obsydian", 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 4be946869..16f4e6c88 100644 --- a/src/generated/resources/assets/create/lang/unfinished/pt_br.json +++ b/src/generated/resources/assets/create/lang/unfinished/pt_br.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 1331", + "_": "Missing Localizations: 1338", "_": "->------------------------] Game Elements [------------------------<-", @@ -307,6 +307,7 @@ "block.create.millstone": "Pedra de Moer", "block.create.minecart_anchor": "Ancóra de carrinho de Mina", "block.create.mysterious_cuckoo_clock": "Relógio cuckoo", + "block.create.netherite_backtank": "UNLOCALIZED: Netherite Backtank", "block.create.nixie_tube": "Tubo Nixie", "block.create.nozzle": "Bocal", "block.create.oak_window": "janela de carvalho", @@ -597,6 +598,8 @@ "item.create.cinder_flour": "Farinha de Netherrack", "item.create.copper_backtank": "Tanque Traseiro de cobre", "item.create.copper_backtank_placeable": "Tanque de cobre traseiro colocável", + "item.create.copper_diving_boots": "UNLOCALIZED: Copper Diving Boots", + "item.create.copper_diving_helmet": "UNLOCALIZED: Copper Diving Helmet", "item.create.copper_nugget": "Pepita de Cobre", "item.create.copper_sheet": "Chapa de Cobre", "item.create.crafter_slot_cover": "Cobertura do slot de fabricador", @@ -615,8 +618,6 @@ "item.create.crushed_tin_ore": "Minério de Estanho Esmagado", "item.create.crushed_uranium_ore": "Urânio Esmagado", "item.create.crushed_zinc_ore": "Minério de Zinco Esmagado", - "item.create.diving_boots": "Botas de Mergulhador", - "item.create.diving_helmet": "Capacete de Mergulhador", "item.create.dough": "Massa de pão", "item.create.electron_tube": "Tubo de Elétron", "item.create.empty_blaze_burner": "Queimador de Blaze Vazio", @@ -636,6 +637,10 @@ "item.create.linked_controller": "Controle conectado", "item.create.minecart_contraption": "Engenhoca de Carrinho de Mina", "item.create.minecart_coupling": "Acoplamento de Carrinho de Mina", + "item.create.netherite_backtank": "UNLOCALIZED: Netherite Backtank", + "item.create.netherite_backtank_placeable": "UNLOCALIZED: Netherite Backtank Placeable", + "item.create.netherite_diving_boots": "UNLOCALIZED: Netherite Diving Boots", + "item.create.netherite_diving_helmet": "UNLOCALIZED: Netherite Diving Helmet", "item.create.polished_rose_quartz": "Quartzo Rosa Polido", "item.create.potato_cannon": "Canhão de Batata", "item.create.powdered_obsidian": "Pó de Obsidiana", diff --git a/src/generated/resources/assets/create/lang/unfinished/pt_pt.json b/src/generated/resources/assets/create/lang/unfinished/pt_pt.json index a62924d83..13a80bf3e 100644 --- a/src/generated/resources/assets/create/lang/unfinished/pt_pt.json +++ b/src/generated/resources/assets/create/lang/unfinished/pt_pt.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 2196", + "_": "Missing Localizations: 2203", "_": "->------------------------] Game Elements [------------------------<-", @@ -307,6 +307,7 @@ "block.create.millstone": "Pedra de Moer", "block.create.minecart_anchor": "Ancóra de carrinho de Mina", "block.create.mysterious_cuckoo_clock": "Relógio cuckoo", + "block.create.netherite_backtank": "UNLOCALIZED: Netherite Backtank", "block.create.nixie_tube": "Tubo Nixie", "block.create.nozzle": "Bocal", "block.create.oak_window": "UNLOCALIZED: Oak Window", @@ -597,6 +598,8 @@ "item.create.cinder_flour": "Farinha de Netherrack", "item.create.copper_backtank": "Tanque Traseiro", "item.create.copper_backtank_placeable": "UNLOCALIZED: Copper Backtank Placeable", + "item.create.copper_diving_boots": "UNLOCALIZED: Copper Diving Boots", + "item.create.copper_diving_helmet": "UNLOCALIZED: Copper Diving Helmet", "item.create.copper_nugget": "Pepita de Cobre", "item.create.copper_sheet": "Chapa de Cobre", "item.create.crafter_slot_cover": "Cobertura do slot de fabricador", @@ -615,8 +618,6 @@ "item.create.crushed_tin_ore": "Minério de Estanho Esmagado", "item.create.crushed_uranium_ore": "Urânio Esmagado", "item.create.crushed_zinc_ore": "Minério de Zinco Esmagado", - "item.create.diving_boots": "Botas de Mergulhador", - "item.create.diving_helmet": "Capacete de Mergulhador", "item.create.dough": "Massa de pão", "item.create.electron_tube": "Tubo de Elétron", "item.create.empty_blaze_burner": "Queimador de Blaze Vazio", @@ -636,6 +637,10 @@ "item.create.linked_controller": "Controle conectado", "item.create.minecart_contraption": "Engenhoca de Carrino de Mina", "item.create.minecart_coupling": "Acoplamento de Carrinho de Mina", + "item.create.netherite_backtank": "UNLOCALIZED: Netherite Backtank", + "item.create.netherite_backtank_placeable": "UNLOCALIZED: Netherite Backtank Placeable", + "item.create.netherite_diving_boots": "UNLOCALIZED: Netherite Diving Boots", + "item.create.netherite_diving_helmet": "UNLOCALIZED: Netherite Diving Helmet", "item.create.polished_rose_quartz": "Quartzo Rosa Polido", "item.create.potato_cannon": "Canhão de Batata", "item.create.powdered_obsidian": "Pó de Obsidiana", diff --git a/src/generated/resources/assets/create/lang/unfinished/ro_ro.json b/src/generated/resources/assets/create/lang/unfinished/ro_ro.json index 25aa3227a..b3dcde1d0 100644 --- a/src/generated/resources/assets/create/lang/unfinished/ro_ro.json +++ b/src/generated/resources/assets/create/lang/unfinished/ro_ro.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 655", + "_": "Missing Localizations: 662", "_": "->------------------------] Game Elements [------------------------<-", @@ -307,6 +307,7 @@ "block.create.millstone": "Moară De Piatră", "block.create.minecart_anchor": "Ancoră De Vagonet", "block.create.mysterious_cuckoo_clock": "Ceas Cucu", + "block.create.netherite_backtank": "UNLOCALIZED: Netherite Backtank", "block.create.nixie_tube": "Tub Nixie", "block.create.nozzle": "Plasă", "block.create.oak_window": "Sticlă De Stejar", @@ -597,6 +598,8 @@ "item.create.cinder_flour": "Făină De Zgură", "item.create.copper_backtank": "Backtank De Cupru", "item.create.copper_backtank_placeable": "UNLOCALIZED: Copper Backtank Placeable", + "item.create.copper_diving_boots": "UNLOCALIZED: Copper Diving Boots", + "item.create.copper_diving_helmet": "UNLOCALIZED: Copper Diving Helmet", "item.create.copper_nugget": "Pepită De Cupru", "item.create.copper_sheet": "Placă De Cupru", "item.create.crafter_slot_cover": "Capac De Meșter Mecanic", @@ -615,8 +618,6 @@ "item.create.crushed_tin_ore": "Minereu De Staniu Zdrobit", "item.create.crushed_uranium_ore": "Minereu De Uraniu Zdrobit", "item.create.crushed_zinc_ore": "Minereu De Zinc Zdrobit", - "item.create.diving_boots": "Bocanci De Scufundare", - "item.create.diving_helmet": "Cască De Scufundare", "item.create.dough": "Aluat", "item.create.electron_tube": "Tub De Electroni", "item.create.empty_blaze_burner": "Arzător De Dogoreală Gol", @@ -636,6 +637,10 @@ "item.create.linked_controller": "Controlor Legat", "item.create.minecart_contraption": "Invenție De Vagonet", "item.create.minecart_coupling": "Cuplare De Vagonet", + "item.create.netherite_backtank": "UNLOCALIZED: Netherite Backtank", + "item.create.netherite_backtank_placeable": "UNLOCALIZED: Netherite Backtank Placeable", + "item.create.netherite_diving_boots": "UNLOCALIZED: Netherite Diving Boots", + "item.create.netherite_diving_helmet": "UNLOCALIZED: Netherite Diving Helmet", "item.create.polished_rose_quartz": "Cuarț Roz Șlefuit", "item.create.potato_cannon": "Tun De Cartofi", "item.create.powdered_obsidian": "Praf De Obsidian", 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 28d2f0826..766fae846 100644 --- a/src/generated/resources/assets/create/lang/unfinished/ru_ru.json +++ b/src/generated/resources/assets/create/lang/unfinished/ru_ru.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 0", + "_": "Missing Localizations: 7", "_": "->------------------------] Game Elements [------------------------<-", @@ -307,6 +307,7 @@ "block.create.millstone": "Жёрнов", "block.create.minecart_anchor": "Вагонеточная опора", "block.create.mysterious_cuckoo_clock": "Странные часы с кукушкой", + "block.create.netherite_backtank": "UNLOCALIZED: Netherite Backtank", "block.create.nixie_tube": "Газоразрядный индикатор", "block.create.nozzle": "Форсунка", "block.create.oak_window": "Дубовое окно", @@ -597,6 +598,8 @@ "item.create.cinder_flour": "Незераковая пыль", "item.create.copper_backtank": "Медный баллон", "item.create.copper_backtank_placeable": "Размещаемый медный баллон", + "item.create.copper_diving_boots": "UNLOCALIZED: Copper Diving Boots", + "item.create.copper_diving_helmet": "UNLOCALIZED: Copper Diving Helmet", "item.create.copper_nugget": "Кусочек меди", "item.create.copper_sheet": "Медный лист", "item.create.crafter_slot_cover": "Заглушка на слот крафтера", @@ -615,8 +618,6 @@ "item.create.crushed_tin_ore": "Дроблёная оловянная руда", "item.create.crushed_uranium_ore": "Дроблёная урановая руда", "item.create.crushed_zinc_ore": "Дроблёная цинковая руда", - "item.create.diving_boots": "Ботинки для дайвинга", - "item.create.diving_helmet": "Шлем для дайвинга", "item.create.dough": "Тесто", "item.create.electron_tube": "Электронная лампа", "item.create.empty_blaze_burner": "Пустая горелка всполоха", @@ -636,6 +637,10 @@ "item.create.linked_controller": "Контроллер связей", "item.create.minecart_contraption": "Вагонеточная штуковина", "item.create.minecart_coupling": "Соединитель вагонеток", + "item.create.netherite_backtank": "UNLOCALIZED: Netherite Backtank", + "item.create.netherite_backtank_placeable": "UNLOCALIZED: Netherite Backtank Placeable", + "item.create.netherite_diving_boots": "UNLOCALIZED: Netherite Diving Boots", + "item.create.netherite_diving_helmet": "UNLOCALIZED: Netherite Diving Helmet", "item.create.polished_rose_quartz": "Полированный розовый кварц", "item.create.potato_cannon": "Картофельная пушка", "item.create.powdered_obsidian": "Порошкообразный обсидиан", diff --git a/src/generated/resources/assets/create/lang/unfinished/uk_ua.json b/src/generated/resources/assets/create/lang/unfinished/uk_ua.json index 94152cfd6..16804a7a7 100644 --- a/src/generated/resources/assets/create/lang/unfinished/uk_ua.json +++ b/src/generated/resources/assets/create/lang/unfinished/uk_ua.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 986", + "_": "Missing Localizations: 993", "_": "->------------------------] Game Elements [------------------------<-", @@ -307,6 +307,7 @@ "block.create.millstone": "Жорна", "block.create.minecart_anchor": "Якір вагонетки", "block.create.mysterious_cuckoo_clock": "Годинник із зозулею", + "block.create.netherite_backtank": "UNLOCALIZED: Netherite Backtank", "block.create.nixie_tube": "Ніксі-труба", "block.create.nozzle": "Насадка", "block.create.oak_window": "Скло з дубом", @@ -597,6 +598,8 @@ "item.create.cinder_flour": "Борошно з незераку", "item.create.copper_backtank": "Мідний балон", "item.create.copper_backtank_placeable": "UNLOCALIZED: Copper Backtank Placeable", + "item.create.copper_diving_boots": "UNLOCALIZED: Copper Diving Boots", + "item.create.copper_diving_helmet": "UNLOCALIZED: Copper Diving Helmet", "item.create.copper_nugget": "Мідний самородок", "item.create.copper_sheet": "Мідний лист", "item.create.crafter_slot_cover": "Кришка слота крафта", @@ -615,8 +618,6 @@ "item.create.crushed_tin_ore": "Подрібнена олов'яна руда", "item.create.crushed_uranium_ore": "Подрібнена уранова руда", "item.create.crushed_zinc_ore": "Подрібнена цинкова руда", - "item.create.diving_boots": "Чоботи для дайвінгу", - "item.create.diving_helmet": "Шолом для дайвінгу", "item.create.dough": "Тісто", "item.create.electron_tube": "Електронна лампа", "item.create.empty_blaze_burner": "Пустий пальник блейза", @@ -636,6 +637,10 @@ "item.create.linked_controller": "Підключений контролер", "item.create.minecart_contraption": "Вагонеточна штуковина", "item.create.minecart_coupling": "З'єднувач вагонеток", + "item.create.netherite_backtank": "UNLOCALIZED: Netherite Backtank", + "item.create.netherite_backtank_placeable": "UNLOCALIZED: Netherite Backtank Placeable", + "item.create.netherite_diving_boots": "UNLOCALIZED: Netherite Diving Boots", + "item.create.netherite_diving_helmet": "UNLOCALIZED: Netherite Diving Helmet", "item.create.polished_rose_quartz": "Полірований рожевий кварц", "item.create.potato_cannon": "Картопляна гармата", "item.create.powdered_obsidian": "Обсідіановий порошок", 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 f4be7ff19..c00e6e6a7 100644 --- a/src/generated/resources/assets/create/lang/unfinished/zh_cn.json +++ b/src/generated/resources/assets/create/lang/unfinished/zh_cn.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 0", + "_": "Missing Localizations: 7", "_": "->------------------------] Game Elements [------------------------<-", @@ -307,6 +307,7 @@ "block.create.millstone": "石磨", "block.create.minecart_anchor": "矿车锚", "block.create.mysterious_cuckoo_clock": "布谷鸟闹钟", + "block.create.netherite_backtank": "UNLOCALIZED: Netherite Backtank", "block.create.nixie_tube": "辉光管", "block.create.nozzle": "分散网", "block.create.oak_window": "橡木窗户", @@ -597,6 +598,8 @@ "item.create.cinder_flour": "余烬面粉", "item.create.copper_backtank": "铜背罐", "item.create.copper_backtank_placeable": "可放置的铜背罐", + "item.create.copper_diving_boots": "UNLOCALIZED: Copper Diving Boots", + "item.create.copper_diving_helmet": "UNLOCALIZED: Copper Diving Helmet", "item.create.copper_nugget": "铜粒", "item.create.copper_sheet": "铜板", "item.create.crafter_slot_cover": "合成槽盖板", @@ -615,8 +618,6 @@ "item.create.crushed_tin_ore": "粉碎锡矿石", "item.create.crushed_uranium_ore": "粉碎铀矿石", "item.create.crushed_zinc_ore": "粉碎锌矿石", - "item.create.diving_boots": "潜水靴", - "item.create.diving_helmet": "潜水头盔", "item.create.dough": "面团", "item.create.electron_tube": "电子管", "item.create.empty_blaze_burner": "空的烈焰人燃烧室", @@ -636,6 +637,10 @@ "item.create.linked_controller": "无线红石遥控器", "item.create.minecart_contraption": "装配过的矿车", "item.create.minecart_coupling": "矿车连轴器", + "item.create.netherite_backtank": "UNLOCALIZED: Netherite Backtank", + "item.create.netherite_backtank_placeable": "UNLOCALIZED: Netherite Backtank Placeable", + "item.create.netherite_diving_boots": "UNLOCALIZED: Netherite Diving Boots", + "item.create.netherite_diving_helmet": "UNLOCALIZED: Netherite Diving Helmet", "item.create.polished_rose_quartz": "磨制玫瑰石英", "item.create.potato_cannon": "土豆加农炮", "item.create.powdered_obsidian": "黑曜石粉末", 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 1af6b480c..0724a1be1 100644 --- a/src/generated/resources/assets/create/lang/unfinished/zh_tw.json +++ b/src/generated/resources/assets/create/lang/unfinished/zh_tw.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 8", + "_": "Missing Localizations: 15", "_": "->------------------------] Game Elements [------------------------<-", @@ -307,6 +307,7 @@ "block.create.millstone": "石磨", "block.create.minecart_anchor": "礦車錨", "block.create.mysterious_cuckoo_clock": "神秘布穀鳥鐘", + "block.create.netherite_backtank": "UNLOCALIZED: Netherite Backtank", "block.create.nixie_tube": "真空管顯示器", "block.create.nozzle": "鼓風機噴嘴", "block.create.oak_window": "橡木窗戶", @@ -597,6 +598,8 @@ "item.create.cinder_flour": "地獄麵粉", "item.create.copper_backtank": "銅製後背包", "item.create.copper_backtank_placeable": "可放置的銅製後背包", + "item.create.copper_diving_boots": "UNLOCALIZED: Copper Diving Boots", + "item.create.copper_diving_helmet": "UNLOCALIZED: Copper Diving Helmet", "item.create.copper_nugget": "銅粒", "item.create.copper_sheet": "銅板", "item.create.crafter_slot_cover": "合成器蓋板", @@ -615,8 +618,6 @@ "item.create.crushed_tin_ore": "碎狀錫礦石", "item.create.crushed_uranium_ore": "碎狀鈾礦石", "item.create.crushed_zinc_ore": "碎狀鋅礦石", - "item.create.diving_boots": "潛水鞋", - "item.create.diving_helmet": "潛水頭盔", "item.create.dough": "麵團", "item.create.electron_tube": "真空管", "item.create.empty_blaze_burner": "空的烈焰使者動力爐", @@ -636,6 +637,10 @@ "item.create.linked_controller": "遙控器", "item.create.minecart_contraption": "裝修過的礦車", "item.create.minecart_coupling": "礦車連結器", + "item.create.netherite_backtank": "UNLOCALIZED: Netherite Backtank", + "item.create.netherite_backtank_placeable": "UNLOCALIZED: Netherite Backtank Placeable", + "item.create.netherite_diving_boots": "UNLOCALIZED: Netherite Diving Boots", + "item.create.netherite_diving_helmet": "UNLOCALIZED: Netherite Diving Helmet", "item.create.polished_rose_quartz": "拋光玫瑰石英", "item.create.potato_cannon": "馬鈴薯大砲", "item.create.powdered_obsidian": "黑曜石粉末", diff --git a/src/generated/resources/assets/create/models/item/diving_boots.json b/src/generated/resources/assets/create/models/item/copper_diving_boots.json similarity index 56% rename from src/generated/resources/assets/create/models/item/diving_boots.json rename to src/generated/resources/assets/create/models/item/copper_diving_boots.json index 88c9dccb5..fab121e04 100644 --- a/src/generated/resources/assets/create/models/item/diving_boots.json +++ b/src/generated/resources/assets/create/models/item/copper_diving_boots.json @@ -1,6 +1,6 @@ { "parent": "minecraft:item/generated", "textures": { - "layer0": "create:item/diving_boots" + "layer0": "create:item/copper_diving_boots" } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/item/diving_helmet.json b/src/generated/resources/assets/create/models/item/copper_diving_helmet.json similarity index 56% rename from src/generated/resources/assets/create/models/item/diving_helmet.json rename to src/generated/resources/assets/create/models/item/copper_diving_helmet.json index f287c2ca8..e21e9b4ee 100644 --- a/src/generated/resources/assets/create/models/item/diving_helmet.json +++ b/src/generated/resources/assets/create/models/item/copper_diving_helmet.json @@ -1,6 +1,6 @@ { "parent": "minecraft:item/generated", "textures": { - "layer0": "create:item/diving_helmet" + "layer0": "create:item/copper_diving_helmet" } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/item/netherite_backtank.json b/src/generated/resources/assets/create/models/item/netherite_backtank.json new file mode 100644 index 000000000..267a98e10 --- /dev/null +++ b/src/generated/resources/assets/create/models/item/netherite_backtank.json @@ -0,0 +1,3 @@ +{ + "parent": "create:block/netherite_backtank/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/item/netherite_backtank_placeable.json b/src/generated/resources/assets/create/models/item/netherite_backtank_placeable.json new file mode 100644 index 000000000..ff77c281b --- /dev/null +++ b/src/generated/resources/assets/create/models/item/netherite_backtank_placeable.json @@ -0,0 +1,3 @@ +{ + "parent": "minecraft:item/barrier" +} \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/item/netherite_diving_boots.json b/src/generated/resources/assets/create/models/item/netherite_diving_boots.json new file mode 100644 index 000000000..ed1728d3f --- /dev/null +++ b/src/generated/resources/assets/create/models/item/netherite_diving_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "create:item/netherite_diving_boots" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/item/netherite_diving_helmet.json b/src/generated/resources/assets/create/models/item/netherite_diving_helmet.json new file mode 100644 index 000000000..fde66a4b6 --- /dev/null +++ b/src/generated/resources/assets/create/models/item/netherite_diving_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "create:item/netherite_diving_helmet" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/diving_suit.json b/src/generated/resources/data/create/advancements/diving_suit.json index 94db68db5..aec7ce96e 100644 --- a/src/generated/resources/data/create/advancements/diving_suit.json +++ b/src/generated/resources/data/create/advancements/diving_suit.json @@ -2,7 +2,7 @@ "parent": "create:backtank", "display": { "icon": { - "item": "create:diving_helmet", + "item": "create:copper_diving_helmet", "nbt": "{Damage:0}" }, "title": { diff --git a/src/generated/resources/data/create/advancements/diving_suit_lava.json b/src/generated/resources/data/create/advancements/diving_suit_lava.json index 9f8b1630e..0c888be2c 100644 --- a/src/generated/resources/data/create/advancements/diving_suit_lava.json +++ b/src/generated/resources/data/create/advancements/diving_suit_lava.json @@ -2,7 +2,7 @@ "parent": "create:backtank", "display": { "icon": { - "item": "create:diving_helmet", + "item": "create:copper_diving_helmet", "nbt": "{Damage:0}" }, "title": { diff --git a/src/generated/resources/data/create/advancements/recipes/create.base/crafting/appliances/diving_boots.json b/src/generated/resources/data/create/advancements/recipes/create.base/crafting/appliances/copper_diving_boots.json similarity index 80% rename from src/generated/resources/data/create/advancements/recipes/create.base/crafting/appliances/diving_boots.json rename to src/generated/resources/data/create/advancements/recipes/create.base/crafting/appliances/copper_diving_boots.json index d0d7f07e1..d2a401732 100644 --- a/src/generated/resources/data/create/advancements/recipes/create.base/crafting/appliances/diving_boots.json +++ b/src/generated/resources/data/create/advancements/recipes/create.base/crafting/appliances/copper_diving_boots.json @@ -2,7 +2,7 @@ "parent": "minecraft:recipes/root", "rewards": { "recipes": [ - "create:crafting/appliances/diving_boots" + "create:crafting/appliances/copper_diving_boots" ] }, "criteria": { @@ -21,7 +21,7 @@ "has_the_recipe": { "trigger": "minecraft:recipe_unlocked", "conditions": { - "recipe": "create:crafting/appliances/diving_boots" + "recipe": "create:crafting/appliances/copper_diving_boots" } } }, diff --git a/src/generated/resources/data/create/advancements/recipes/create.base/crafting/appliances/diving_helmet.json b/src/generated/resources/data/create/advancements/recipes/create.base/crafting/appliances/copper_diving_helmet.json similarity index 80% rename from src/generated/resources/data/create/advancements/recipes/create.base/crafting/appliances/diving_helmet.json rename to src/generated/resources/data/create/advancements/recipes/create.base/crafting/appliances/copper_diving_helmet.json index 5491317c8..36cadac5d 100644 --- a/src/generated/resources/data/create/advancements/recipes/create.base/crafting/appliances/diving_helmet.json +++ b/src/generated/resources/data/create/advancements/recipes/create.base/crafting/appliances/copper_diving_helmet.json @@ -2,7 +2,7 @@ "parent": "minecraft:recipes/root", "rewards": { "recipes": [ - "create:crafting/appliances/diving_helmet" + "create:crafting/appliances/copper_diving_helmet" ] }, "criteria": { @@ -21,7 +21,7 @@ "has_the_recipe": { "trigger": "minecraft:recipe_unlocked", "conditions": { - "recipe": "create:crafting/appliances/diving_helmet" + "recipe": "create:crafting/appliances/copper_diving_helmet" } } }, diff --git a/src/generated/resources/data/create/loot_tables/blocks/netherite_backtank.json b/src/generated/resources/data/create/loot_tables/blocks/netherite_backtank.json new file mode 100644 index 000000000..4418da818 --- /dev/null +++ b/src/generated/resources/data/create/loot_tables/blocks/netherite_backtank.json @@ -0,0 +1,48 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1.0, + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "function": "minecraft:copy_name", + "source": "block_entity" + }, + { + "function": "minecraft:copy_nbt", + "source": "block_entity", + "ops": [ + { + "source": "Air", + "target": "Air", + "op": "replace" + } + ] + }, + { + "function": "minecraft:copy_nbt", + "source": "block_entity", + "ops": [ + { + "source": "Enchantments", + "target": "Enchantments", + "op": "replace" + } + ] + } + ], + "name": "create:netherite_backtank" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/crafting/appliances/diving_boots.json b/src/generated/resources/data/create/recipes/crafting/appliances/copper_diving_boots.json similarity index 85% rename from src/generated/resources/data/create/recipes/crafting/appliances/diving_boots.json rename to src/generated/resources/data/create/recipes/crafting/appliances/copper_diving_boots.json index 8ea573d10..76059a797 100644 --- a/src/generated/resources/data/create/recipes/crafting/appliances/diving_boots.json +++ b/src/generated/resources/data/create/recipes/crafting/appliances/copper_diving_boots.json @@ -14,6 +14,6 @@ } }, "result": { - "item": "create:diving_boots" + "item": "create:copper_diving_boots" } } \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/crafting/appliances/diving_helmet.json b/src/generated/resources/data/create/recipes/crafting/appliances/copper_diving_helmet.json similarity index 83% rename from src/generated/resources/data/create/recipes/crafting/appliances/diving_helmet.json rename to src/generated/resources/data/create/recipes/crafting/appliances/copper_diving_helmet.json index c2434ae43..68e63efc2 100644 --- a/src/generated/resources/data/create/recipes/crafting/appliances/diving_helmet.json +++ b/src/generated/resources/data/create/recipes/crafting/appliances/copper_diving_helmet.json @@ -13,6 +13,6 @@ } }, "result": { - "item": "create:diving_helmet" + "item": "create:copper_diving_helmet" } } \ No newline at end of file diff --git a/src/generated/resources/data/create/tags/items/pressurized_air_sources.json b/src/generated/resources/data/create/tags/items/pressurized_air_sources.json index 9c5cb97a4..3b3bbadd0 100644 --- a/src/generated/resources/data/create/tags/items/pressurized_air_sources.json +++ b/src/generated/resources/data/create/tags/items/pressurized_air_sources.json @@ -1,6 +1,7 @@ { "replace": false, "values": [ - "create:copper_backtank" + "create:copper_backtank", + "create:netherite_backtank" ] } \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/blocks/mineable/pickaxe.json b/src/generated/resources/data/minecraft/tags/blocks/mineable/pickaxe.json index 3394d19b5..2280ba112 100644 --- a/src/generated/resources/data/minecraft/tags/blocks/mineable/pickaxe.json +++ b/src/generated/resources/data/minecraft/tags/blocks/mineable/pickaxe.json @@ -157,6 +157,7 @@ "create:analog_lever", "create:placard", "create:copper_backtank", + "create:netherite_backtank", "create:peculiar_bell", "create:haunted_bell", "create:zinc_ore", diff --git a/src/main/java/com/simibubi/create/AllBlockPartials.java b/src/main/java/com/simibubi/create/AllBlockPartials.java index 88443bdc2..33819238d 100644 --- a/src/main/java/com/simibubi/create/AllBlockPartials.java +++ b/src/main/java/com/simibubi/create/AllBlockPartials.java @@ -102,6 +102,9 @@ public class AllBlockPartials { COPPER_BACKTANK_SHAFT = block("copper_backtank/block_shaft_input"), COPPER_BACKTANK_COGS = block("copper_backtank/block_cogs"), + NETHERITE_BACKTANK_SHAFT = block("netherite_backtank/block_shaft_input"), + NETHERITE_BACKTANK_COGS = block("netherite_backtank/block_cogs"), + TRACK_SEGMENT_LEFT = block("track/segment_left"), TRACK_SEGMENT_RIGHT = block("track/segment_right"), TRACK_TIE = block("track/tie"), GIRDER_SEGMENT_TOP = block("metal_girder/segment_top"), GIRDER_SEGMENT_MIDDLE = block("metal_girder/segment_middle"), diff --git a/src/main/java/com/simibubi/create/AllBlocks.java b/src/main/java/com/simibubi/create/AllBlocks.java index 1fd9d6434..43b7eb1c1 100644 --- a/src/main/java/com/simibubi/create/AllBlocks.java +++ b/src/main/java/com/simibubi/create/AllBlocks.java @@ -130,7 +130,7 @@ import com.simibubi.create.content.contraptions.relays.encased.GearshiftBlock; import com.simibubi.create.content.contraptions.relays.gauge.GaugeBlock; import com.simibubi.create.content.contraptions.relays.gauge.GaugeGenerator; import com.simibubi.create.content.contraptions.relays.gearbox.GearboxBlock; -import com.simibubi.create.content.curiosities.armor.CopperBacktankBlock; +import com.simibubi.create.content.curiosities.armor.BacktankBlock; import com.simibubi.create.content.curiosities.bell.HauntedBellBlock; import com.simibubi.create.content.curiosities.bell.HauntedBellMovementBehaviour; import com.simibubi.create.content.curiosities.bell.PeculiarBellBlock; @@ -1892,26 +1892,16 @@ public class AllBlocks { REGISTRATE.startSection(AllSections.CURIOSITIES); } - public static final BlockEntry COPPER_BACKTANK = - REGISTRATE.block("copper_backtank", CopperBacktankBlock::new) + public static final BlockEntry COPPER_BACKTANK = + REGISTRATE.block("copper_backtank", BacktankBlock::new) .initialProperties(SharedProperties::copperMetal) - .blockstate((c, p) -> p.horizontalBlock(c.getEntry(), AssetLookup.partialBaseModel(c, p))) - .transform(pickaxeOnly()) - .addLayer(() -> RenderType::cutoutMipped) - .transform(BlockStressDefaults.setImpact(4.0)) - .loot((lt, block) -> { - Builder builder = LootTable.lootTable(); - LootItemCondition.Builder survivesExplosion = ExplosionCondition.survivesExplosion(); - lt.add(block, builder.withPool(LootPool.lootPool() - .when(survivesExplosion) - .setRolls(ConstantValue.exactly(1)) - .add(LootItem.lootTableItem(AllItems.COPPER_BACKTANK.get()) - .apply(CopyNameFunction.copyName(CopyNameFunction.NameSource.BLOCK_ENTITY)) - .apply(CopyNbtFunction.copyData(ContextNbtProvider.BLOCK_ENTITY) - .copy("Air", "Air")) - .apply(CopyNbtFunction.copyData(ContextNbtProvider.BLOCK_ENTITY) - .copy("Enchantments", "Enchantments"))))); - }) + .transform(BuilderTransformers.backtank(AllItems.COPPER_BACKTANK::get)) + .register(); + + public static final BlockEntry NETHERITE_BACKTANK = + REGISTRATE.block("netherite_backtank", BacktankBlock::new) + .initialProperties(SharedProperties::netheriteMetal) + .transform(BuilderTransformers.backtank(AllItems.NETHERITE_BACKTANK::get)) .register(); public static final BlockEntry PECULIAR_BELL = diff --git a/src/main/java/com/simibubi/create/AllItems.java b/src/main/java/com/simibubi/create/AllItems.java index ad474e17c..347e969b2 100644 --- a/src/main/java/com/simibubi/create/AllItems.java +++ b/src/main/java/com/simibubi/create/AllItems.java @@ -38,9 +38,9 @@ import com.simibubi.create.content.curiosities.ExperienceNuggetItem; import com.simibubi.create.content.curiosities.RefinedRadianceItem; import com.simibubi.create.content.curiosities.ShadowSteelItem; import com.simibubi.create.content.curiosities.TreeFertilizerItem; -import com.simibubi.create.content.curiosities.armor.CopperArmorItem; -import com.simibubi.create.content.curiosities.armor.CopperBacktankItem; -import com.simibubi.create.content.curiosities.armor.CopperBacktankItem.CopperBacktankBlockItem; +import com.simibubi.create.content.curiosities.armor.AllArmorMaterials; +import com.simibubi.create.content.curiosities.armor.BacktankItem; +import com.simibubi.create.content.curiosities.armor.BacktankItem.BacktankBlockItem; import com.simibubi.create.content.curiosities.armor.DivingBootsItem; import com.simibubi.create.content.curiosities.armor.DivingHelmetItem; import com.simibubi.create.content.curiosities.symmetry.SymmetryWandItem; @@ -65,6 +65,7 @@ import com.tterrag.registrate.util.entry.ItemEntry; import net.minecraft.tags.ItemTags; import net.minecraft.tags.TagKey; import net.minecraft.world.food.FoodProperties; +import net.minecraft.world.item.ArmorMaterials; import net.minecraft.world.item.Item; import net.minecraft.world.item.Rarity; import net.minecraftforge.common.Tags; @@ -239,22 +240,44 @@ public class AllItems { // wrapped by COPPER_BACKTANK for block placement uses. // must be registered as of 1.18.2 - public static final ItemEntry COPPER_BACKTANK_PLACEABLE = REGISTRATE - .item("copper_backtank_placeable", p -> new CopperBacktankBlockItem(AllBlocks.COPPER_BACKTANK.get(), p)) + public static final ItemEntry COPPER_BACKTANK_PLACEABLE = REGISTRATE + .item("copper_backtank_placeable", p -> new BacktankBlockItem(AllBlocks.COPPER_BACKTANK.get(), p)) .model((c, p) -> p.withExistingParent(c.getName(), p.mcLoc("item/barrier"))) .register(); - public static final ItemEntry + // wrapped by NETHERITE_BACKTANK for block placement uses. + // must be registered as of 1.18.2 + public static final ItemEntry NETHERITE_BACKTANK_PLACEABLE = REGISTRATE + .item("netherite_backtank_placeable", p -> new BacktankBlockItem(AllBlocks.NETHERITE_BACKTANK.get(), p)) + .model((c, p) -> p.withExistingParent(c.getName(), p.mcLoc("item/barrier"))) + .register(); - COPPER_BACKTANK = REGISTRATE.item("copper_backtank", p -> new CopperBacktankItem(p, COPPER_BACKTANK_PLACEABLE)) - .model(AssetLookup.customGenericItemModel("_", "item")) - .tag(AllItemTags.PRESSURIZED_AIR_SOURCES.tag) - .register(), + public static final ItemEntry - DIVING_HELMET = REGISTRATE.item("diving_helmet", DivingHelmetItem::new) + COPPER_BACKTANK = REGISTRATE.item("copper_backtank", p -> new BacktankItem(AllArmorMaterials.COPPER, p, Create.asResource("copper_diving"), COPPER_BACKTANK_PLACEABLE)) + .model(AssetLookup.customGenericItemModel("_", "item")) + .tag(AllItemTags.PRESSURIZED_AIR_SOURCES.tag) .register(), - DIVING_BOOTS = REGISTRATE.item("diving_boots", DivingBootsItem::new) + NETHERITE_BACKTANK = REGISTRATE.item("netherite_backtank", p -> new BacktankItem(ArmorMaterials.NETHERITE, p, Create.asResource("netherite_diving"), NETHERITE_BACKTANK_PLACEABLE)) + .model(AssetLookup.customGenericItemModel("_", "item")) + .tag(AllItemTags.PRESSURIZED_AIR_SOURCES.tag) + .register(); + + public static final ItemEntry + + COPPER_DIVING_HELMET = REGISTRATE.item("copper_diving_helmet", p -> new DivingHelmetItem(AllArmorMaterials.COPPER, p, Create.asResource("copper_diving"))) + .register(), + + NETHERITE_DIVING_HELMET = REGISTRATE.item("netherite_diving_helmet", p -> new DivingHelmetItem(ArmorMaterials.NETHERITE, p, Create.asResource("netherite_diving"))) + .register(); + + public static final ItemEntry + + COPPER_DIVING_BOOTS = REGISTRATE.item("copper_diving_boots", p -> new DivingBootsItem(AllArmorMaterials.COPPER, p, Create.asResource("copper_diving"))) + .register(), + + NETHERITE_DIVING_BOOTS = REGISTRATE.item("netherite_diving_boots", p -> new DivingBootsItem(ArmorMaterials.NETHERITE, p, Create.asResource("netherite_diving"))) .register(); public static final ItemEntry SAND_PAPER = REGISTRATE.item("sand_paper", SandPaperItem::new) diff --git a/src/main/java/com/simibubi/create/AllTileEntities.java b/src/main/java/com/simibubi/create/AllTileEntities.java index 3647ad732..bf29c1b89 100644 --- a/src/main/java/com/simibubi/create/AllTileEntities.java +++ b/src/main/java/com/simibubi/create/AllTileEntities.java @@ -127,9 +127,9 @@ import com.simibubi.create.content.contraptions.relays.gearbox.GearboxInstance; import com.simibubi.create.content.contraptions.relays.gearbox.GearboxRenderer; import com.simibubi.create.content.contraptions.relays.gearbox.GearboxTileEntity; import com.simibubi.create.content.contraptions.relays.gearbox.GearshiftTileEntity; -import com.simibubi.create.content.curiosities.armor.CopperBacktankInstance; -import com.simibubi.create.content.curiosities.armor.CopperBacktankRenderer; -import com.simibubi.create.content.curiosities.armor.CopperBacktankTileEntity; +import com.simibubi.create.content.curiosities.armor.BacktankInstance; +import com.simibubi.create.content.curiosities.armor.BacktankRenderer; +import com.simibubi.create.content.curiosities.armor.BacktankTileEntity; import com.simibubi.create.content.curiosities.bell.BellRenderer; import com.simibubi.create.content.curiosities.bell.HauntedBellTileEntity; import com.simibubi.create.content.curiosities.bell.PeculiarBellTileEntity; @@ -748,11 +748,11 @@ public class AllTileEntities { .register(); // Curiosities - public static final BlockEntityEntry COPPER_BACKTANK = Create.registrate() - .tileEntity("copper_backtank", CopperBacktankTileEntity::new) - .instance(() -> CopperBacktankInstance::new) - .validBlocks(AllBlocks.COPPER_BACKTANK) - .renderer(() -> CopperBacktankRenderer::new) + public static final BlockEntityEntry BACKTANK = Create.registrate() + .tileEntity("backtank", BacktankTileEntity::new) + .instance(() -> BacktankInstance::new) + .validBlocks(AllBlocks.COPPER_BACKTANK, AllBlocks.NETHERITE_BACKTANK) + .renderer(() -> BacktankRenderer::new) .register(); public static final BlockEntityEntry PECULIAR_BELL = Create.registrate() diff --git a/src/main/java/com/simibubi/create/CreateClient.java b/src/main/java/com/simibubi/create/CreateClient.java index d20076543..cb68f1a4a 100644 --- a/src/main/java/com/simibubi/create/CreateClient.java +++ b/src/main/java/com/simibubi/create/CreateClient.java @@ -7,7 +7,7 @@ import com.simibubi.create.content.contraptions.components.structureMovement.ren import com.simibubi.create.content.contraptions.components.structureMovement.render.SBBContraptionManager; import com.simibubi.create.content.contraptions.goggles.GoggleOverlayRenderer; import com.simibubi.create.content.contraptions.relays.encased.CasingConnectivity; -import com.simibubi.create.content.curiosities.armor.CopperBacktankArmorLayer; +import com.simibubi.create.content.curiosities.armor.RemainingAirOverlay; import com.simibubi.create.content.curiosities.bell.SoulPulseEffectHandler; import com.simibubi.create.content.curiosities.toolbox.ToolboxHandlerClient; import com.simibubi.create.content.curiosities.tools.BlueprintOverlayRenderer; @@ -97,7 +97,7 @@ public class CreateClient { private static void registerOverlays() { // Register overlays in reverse order - OverlayRegistry.registerOverlayAbove(ForgeIngameGui.AIR_LEVEL_ELEMENT, "Create's Remaining Air", CopperBacktankArmorLayer.REMAINING_AIR_OVERLAY); + OverlayRegistry.registerOverlayAbove(ForgeIngameGui.AIR_LEVEL_ELEMENT, "Create's Remaining Air", RemainingAirOverlay.INSTANCE); OverlayRegistry.registerOverlayAbove(ForgeIngameGui.EXPERIENCE_BAR_ELEMENT, "Create's Train Driver HUD", TrainHUD.OVERLAY); OverlayRegistry.registerOverlayAbove(ForgeIngameGui.HOTBAR_ELEMENT, "Create's Goggle Information", GoggleOverlayRenderer.OVERLAY); OverlayRegistry.registerOverlayAbove(ForgeIngameGui.HOTBAR_ELEMENT, "Create's Blueprints", BlueprintOverlayRenderer.OVERLAY); diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltBlock.java b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltBlock.java index 8581b69ee..747699d80 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltBlock.java @@ -20,6 +20,7 @@ import com.simibubi.create.content.contraptions.relays.belt.BeltSlicer.Feedback; import com.simibubi.create.content.contraptions.relays.belt.BeltTileEntity.CasingType; import com.simibubi.create.content.contraptions.relays.belt.transport.BeltMovementHandler.TransportedEntityInfo; import com.simibubi.create.content.contraptions.relays.belt.transport.BeltTunnelInteractionHandler; +import com.simibubi.create.content.curiosities.armor.DivingBootsItem; import com.simibubi.create.content.logistics.block.belts.tunnel.BeltTunnelBlock; import com.simibubi.create.content.schematics.ISpecialBlockItemRequirement; import com.simibubi.create.content.schematics.ItemRequirement; @@ -191,8 +192,7 @@ public class BeltBlock extends HorizontalKineticBlock implements ITE AllSoundEvents.COPPER_ARMOR_EQUIP.getMainEvent(), 0.0F, 0.0F, + COPPER(Create.asResource("copper").toString(), 7, new int[] { 1, 3, 4, 2 }, 25, () -> AllSoundEvents.COPPER_ARMOR_EQUIP.getMainEvent(), 0.0F, 0.0F, () -> Ingredient.of(Items.COPPER_INGOT)) ; diff --git a/src/main/java/com/simibubi/create/content/curiosities/armor/CopperBacktankArmorLayer.java b/src/main/java/com/simibubi/create/content/curiosities/armor/BacktankArmorLayer.java similarity index 53% rename from src/main/java/com/simibubi/create/content/curiosities/armor/CopperBacktankArmorLayer.java rename to src/main/java/com/simibubi/create/content/curiosities/armor/BacktankArmorLayer.java index 67dffa2a8..6cec2efa5 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/armor/CopperBacktankArmorLayer.java +++ b/src/main/java/com/simibubi/create/content/curiosities/armor/BacktankArmorLayer.java @@ -1,21 +1,13 @@ package com.simibubi.create.content.curiosities.armor; import com.mojang.blaze3d.vertex.PoseStack; -import com.simibubi.create.AllBlockPartials; -import com.simibubi.create.AllBlocks; -import com.simibubi.create.AllItems; -import com.simibubi.create.foundation.gui.element.GuiGameElement; import com.simibubi.create.foundation.render.CachedBufferer; import com.simibubi.create.foundation.render.SuperByteBuffer; import com.simibubi.create.foundation.utility.AngleHelper; import com.simibubi.create.foundation.utility.AnimationTickHolder; -import com.simibubi.create.foundation.utility.Color; -import com.simibubi.create.foundation.utility.Components; -import net.minecraft.client.Minecraft; import net.minecraft.client.model.EntityModel; import net.minecraft.client.model.HumanoidModel; -import net.minecraft.client.player.LocalPlayer; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.Sheets; @@ -25,22 +17,13 @@ import net.minecraft.client.renderer.entity.LivingEntityRenderer; import net.minecraft.client.renderer.entity.RenderLayerParent; import net.minecraft.client.renderer.entity.layers.RenderLayer; import net.minecraft.core.Direction; -import net.minecraft.network.chat.Component; -import net.minecraft.tags.FluidTags; -import net.minecraft.util.StringUtil; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.Pose; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.level.GameType; import net.minecraft.world.level.block.state.BlockState; -import net.minecraftforge.client.gui.ForgeIngameGui; -import net.minecraftforge.client.gui.IIngameOverlay; -public class CopperBacktankArmorLayer> extends RenderLayer { - - public static final IIngameOverlay REMAINING_AIR_OVERLAY = CopperBacktankArmorLayer::renderRemainingAirOverlay; - - public CopperBacktankArmorLayer(RenderLayerParent renderer) { +public class BacktankArmorLayer> extends RenderLayer { + public BacktankArmorLayer(RenderLayerParent renderer) { super(renderer); } @@ -49,8 +32,9 @@ public class CopperBacktankArmorLayer model = (HumanoidModel) entityModel; RenderType renderType = Sheets.cutoutBlockSheet(); - BlockState renderedState = AllBlocks.COPPER_BACKTANK.getDefaultState() - .setValue(CopperBacktankBlock.HORIZONTAL_FACING, Direction.SOUTH); + BlockState renderedState = item.getBlock().defaultBlockState() + .setValue(BacktankBlock.HORIZONTAL_FACING, Direction.SOUTH); SuperByteBuffer backtank = CachedBufferer.block(renderedState); - SuperByteBuffer cogs = CachedBufferer.partial(AllBlockPartials.COPPER_BACKTANK_COGS, renderedState); + SuperByteBuffer cogs = CachedBufferer.partial(BacktankRenderer.getCogsModel(renderedState), renderedState); ms.pushPose(); @@ -102,44 +86,7 @@ public class CopperBacktankArmorLayer livingRenderer = (LivingEntityRenderer) entityRenderer; if (!(livingRenderer.getModel() instanceof HumanoidModel)) return; - CopperBacktankArmorLayer layer = new CopperBacktankArmorLayer<>(livingRenderer); - livingRenderer.addLayer((CopperBacktankArmorLayer) layer); + BacktankArmorLayer layer = new BacktankArmorLayer<>(livingRenderer); + livingRenderer.addLayer((BacktankArmorLayer) layer); } - - public static void renderRemainingAirOverlay(ForgeIngameGui gui, PoseStack poseStack, float partialTicks, int width, int height) { - Minecraft mc = Minecraft.getInstance(); - if (mc.options.hideGui || mc.gameMode.getPlayerMode() == GameType.SPECTATOR) - return; - - LocalPlayer player = mc.player; - if (player == null) - return; - if (player.isCreative()) - return; - if (!player.getPersistentData() - .contains("VisualBacktankAir")) - return; - if (!player.isEyeInFluid(FluidTags.WATER)) - return; - - int timeLeft = player.getPersistentData() - .getInt("VisualBacktankAir"); - - poseStack.pushPose(); - - poseStack.translate(width / 2 + 90, height - 53, 0); - - Component text = Components.literal(StringUtil.formatTickDuration(timeLeft * 20)); - GuiGameElement.of(AllItems.COPPER_BACKTANK.asStack()) - .at(0, 0) - .render(poseStack); - int color = 0xFF_FFFFFF; - if (timeLeft < 60 && timeLeft % 2 == 0) { - color = Color.mixColors(0xFF_FF0000, color, Math.max(timeLeft / 60f, .25f)); - } - Minecraft.getInstance().font.drawShadow(poseStack, text, 16, 5, color); - - poseStack.popPose(); - } - } diff --git a/src/main/java/com/simibubi/create/content/curiosities/armor/CopperBacktankBlock.java b/src/main/java/com/simibubi/create/content/curiosities/armor/BacktankBlock.java similarity index 79% rename from src/main/java/com/simibubi/create/content/curiosities/armor/CopperBacktankBlock.java rename to src/main/java/com/simibubi/create/content/curiosities/armor/BacktankBlock.java index a83030faa..fa17a1b18 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/armor/CopperBacktankBlock.java +++ b/src/main/java/com/simibubi/create/content/curiosities/armor/BacktankBlock.java @@ -3,7 +3,6 @@ package com.simibubi.create.content.curiosities.armor; import java.util.Optional; import com.simibubi.create.AllEnchantments; -import com.simibubi.create.AllItems; import com.simibubi.create.AllShapes; import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.contraptions.base.HorizontalKineticBlock; @@ -46,12 +45,12 @@ import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; import net.minecraftforge.common.util.FakePlayer; -public class CopperBacktankBlock extends HorizontalKineticBlock - implements ITE, SimpleWaterloggedBlock { +public class BacktankBlock extends HorizontalKineticBlock + implements ITE, SimpleWaterloggedBlock { - public CopperBacktankBlock(Properties properties) { + public BacktankBlock(Properties properties) { super(properties); - registerDefaultState(super.defaultBlockState().setValue(BlockStateProperties.WATERLOGGED, false)); + registerDefaultState(defaultBlockState().setValue(BlockStateProperties.WATERLOGGED, false)); } @Override @@ -73,10 +72,10 @@ public class CopperBacktankBlock extends HorizontalKineticBlock public boolean hasAnalogOutputSignal(BlockState p_149740_1_) { return true; } - + @Override - public int getAnalogOutputSignal(BlockState p_180641_1_, Level world, BlockPos pos) { - return getTileEntityOptional(world, pos).map(CopperBacktankTileEntity::getComparatorOutput) + public int getAnalogOutputSignal(BlockState state, Level world, BlockPos pos) { + return getTileEntityOptional(world, pos).map(BacktankTileEntity::getComparatorOutput) .orElse(0); } @@ -90,10 +89,10 @@ public class CopperBacktankBlock extends HorizontalKineticBlock @Override public BlockState getStateForPlacement(BlockPlaceContext context) { - FluidState ifluidstate = context.getLevel() + FluidState fluidState = context.getLevel() .getFluidState(context.getClickedPos()); return super.getStateForPlacement(context).setValue(BlockStateProperties.WATERLOGGED, - Boolean.valueOf(ifluidstate.getType() == Fluids.WATER)); + fluidState.getType() == Fluids.WATER); } @Override @@ -125,8 +124,8 @@ public class CopperBacktankBlock extends HorizontalKineticBlock } @Override - public InteractionResult use(BlockState state, Level world, BlockPos pos, Player player, InteractionHand p_225533_5_, - BlockHitResult p_225533_6_) { + public InteractionResult use(BlockState state, Level world, BlockPos pos, Player player, InteractionHand hand, + BlockHitResult hit) { if (player == null) return InteractionResult.PASS; if (player instanceof FakePlayer) @@ -148,16 +147,16 @@ public class CopperBacktankBlock extends HorizontalKineticBlock } @Override - public ItemStack getCloneItemStack(BlockGetter p_185473_1_, BlockPos p_185473_2_, BlockState p_185473_3_) { - ItemStack item = AllItems.COPPER_BACKTANK.asStack(); - Optional tileEntityOptional = getTileEntityOptional(p_185473_1_, p_185473_2_); + public ItemStack getCloneItemStack(BlockGetter blockGetter, BlockPos pos, BlockState state) { + ItemStack item = super.getCloneItemStack(blockGetter, pos, state); + Optional tileEntityOptional = getTileEntityOptional(blockGetter, pos); - int air = tileEntityOptional.map(CopperBacktankTileEntity::getAirLevel) + int air = tileEntityOptional.map(BacktankTileEntity::getAirLevel) .orElse(0); CompoundTag tag = item.getOrCreateTag(); tag.putInt("Air", air); - ListTag enchants = tileEntityOptional.map(CopperBacktankTileEntity::getEnchantmentTag) + ListTag enchants = tileEntityOptional.map(BacktankTileEntity::getEnchantmentTag) .orElse(new ListTag()); if (!enchants.isEmpty()) { ListTag enchantmentTagList = item.getEnchantmentTags(); @@ -165,7 +164,7 @@ public class CopperBacktankBlock extends HorizontalKineticBlock tag.put("Enchantments", enchantmentTagList); } - Component customName = tileEntityOptional.map(CopperBacktankTileEntity::getCustomName) + Component customName = tileEntityOptional.map(BacktankTileEntity::getCustomName) .orElse(null); if (customName != null) item.setHoverName(customName); @@ -179,13 +178,13 @@ public class CopperBacktankBlock extends HorizontalKineticBlock } @Override - public Class getTileEntityClass() { - return CopperBacktankTileEntity.class; + public Class getTileEntityClass() { + return BacktankTileEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.COPPER_BACKTANK.get(); + public BlockEntityType getTileEntityType() { + return AllTileEntities.BACKTANK.get(); } @Override diff --git a/src/main/java/com/simibubi/create/content/curiosities/armor/CopperBacktankInstance.java b/src/main/java/com/simibubi/create/content/curiosities/armor/BacktankInstance.java similarity index 61% rename from src/main/java/com/simibubi/create/content/curiosities/armor/CopperBacktankInstance.java rename to src/main/java/com/simibubi/create/content/curiosities/armor/BacktankInstance.java index 26d1b9139..ccb5d1c69 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/armor/CopperBacktankInstance.java +++ b/src/main/java/com/simibubi/create/content/curiosities/armor/BacktankInstance.java @@ -2,20 +2,19 @@ package com.simibubi.create.content.curiosities.armor; import com.jozufozu.flywheel.api.Instancer; import com.jozufozu.flywheel.api.MaterialManager; -import com.simibubi.create.AllBlockPartials; import com.simibubi.create.content.contraptions.base.KineticTileEntity; import com.simibubi.create.content.contraptions.base.SingleRotatingInstance; import com.simibubi.create.content.contraptions.base.flwdata.RotatingData; -public class CopperBacktankInstance extends SingleRotatingInstance { +public class BacktankInstance extends SingleRotatingInstance { - public CopperBacktankInstance(MaterialManager modelManager, KineticTileEntity tile) { + public BacktankInstance(MaterialManager modelManager, KineticTileEntity tile) { super(modelManager, tile); } @Override protected Instancer getModel() { - return getRotatingMaterial().getModel(AllBlockPartials.COPPER_BACKTANK_SHAFT, blockState); + return getRotatingMaterial().getModel(BacktankRenderer.getShaftModel(blockState), blockState); } } diff --git a/src/main/java/com/simibubi/create/content/curiosities/armor/BacktankItem.java b/src/main/java/com/simibubi/create/content/curiosities/armor/BacktankItem.java new file mode 100644 index 000000000..ce63ccc04 --- /dev/null +++ b/src/main/java/com/simibubi/create/content/curiosities/armor/BacktankItem.java @@ -0,0 +1,111 @@ +package com.simibubi.create.content.curiosities.armor; + +import java.util.function.Supplier; + +import org.jetbrains.annotations.Nullable; + +import com.simibubi.create.content.curiosities.armor.CapacityEnchantment.ICapacityEnchantable; + +import net.minecraft.core.NonNullList; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.Mth; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.EquipmentSlot; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.item.ArmorMaterial; +import net.minecraft.world.item.BlockItem; +import net.minecraft.world.item.CreativeModeTab; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.context.UseOnContext; +import net.minecraft.world.level.block.Block; + +public class BacktankItem extends BaseArmorItem implements ICapacityEnchantable { + public static final EquipmentSlot SLOT = EquipmentSlot.CHEST; + public static final int BAR_COLOR = 0xEFEFEF; + + private final Supplier blockItem; + + public BacktankItem(ArmorMaterial material, Properties properties, ResourceLocation textureLoc, Supplier copperBacktankPlaceable) { + super(material, SLOT, properties, textureLoc); + this.blockItem = copperBacktankPlaceable; + } + + @Nullable + public static BacktankItem getWornBy(Entity entity) { + if (!(entity instanceof LivingEntity livingEntity)) { + return null; + } + if (!(livingEntity.getItemBySlot(SLOT).getItem() instanceof BacktankItem item)) { + return null; + } + return item; + } + + @Override + public InteractionResult useOn(UseOnContext ctx) { + return blockItem.get() + .useOn(ctx); + } + + @Override + public boolean canBeDepleted() { + return false; + } + + @Override + public boolean isEnchantable(ItemStack p_77616_1_) { + return true; + } + + @Override + public void fillItemCategory(CreativeModeTab tab, NonNullList items) { + if (!allowdedIn(tab)) + return; + + ItemStack stack = new ItemStack(this); + CompoundTag nbt = new CompoundTag(); + nbt.putInt("Air", BacktankUtil.maxAirWithoutEnchants()); + stack.setTag(nbt); + items.add(stack); + } + + @Override + public boolean isBarVisible(ItemStack stack) { + return true; + } + + @Override + public int getBarWidth(ItemStack stack) { + return Math.round(13.0F * Mth.clamp(getRemainingAir(stack) / ((float) BacktankUtil.maxAir(stack)), 0, 1)); + } + + @Override + public int getBarColor(ItemStack stack) { + return BAR_COLOR; + } + + public Block getBlock() { + return blockItem.get().getBlock(); + } + + public static int getRemainingAir(ItemStack stack) { + CompoundTag orCreateTag = stack.getOrCreateTag(); + return orCreateTag.getInt("Air"); + } + + public static class BacktankBlockItem extends BlockItem { + public BacktankBlockItem(Block block, Properties properties) { + super(block, properties); + } + + @Override + public void fillItemCategory(CreativeModeTab group, NonNullList items) {} + + @Override + public String getDescriptionId() { + return this.getOrCreateDescriptionId(); + } + } +} diff --git a/src/main/java/com/simibubi/create/content/curiosities/armor/CopperBacktankRenderer.java b/src/main/java/com/simibubi/create/content/curiosities/armor/BacktankRenderer.java similarity index 65% rename from src/main/java/com/simibubi/create/content/curiosities/armor/CopperBacktankRenderer.java rename to src/main/java/com/simibubi/create/content/curiosities/armor/BacktankRenderer.java index fc7b1d87a..674e16691 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/armor/CopperBacktankRenderer.java +++ b/src/main/java/com/simibubi/create/content/curiosities/armor/BacktankRenderer.java @@ -1,7 +1,9 @@ package com.simibubi.create.content.curiosities.armor; +import com.jozufozu.flywheel.core.PartialModel; import com.mojang.blaze3d.vertex.PoseStack; import com.simibubi.create.AllBlockPartials; +import com.simibubi.create.AllBlocks; import com.simibubi.create.content.contraptions.base.KineticTileEntity; import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer; import com.simibubi.create.foundation.render.CachedBufferer; @@ -15,9 +17,8 @@ import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; import net.minecraft.core.Direction; import net.minecraft.world.level.block.state.BlockState; -public class CopperBacktankRenderer extends KineticTileEntityRenderer { - - public CopperBacktankRenderer(BlockEntityRendererProvider.Context context) { +public class BacktankRenderer extends KineticTileEntityRenderer { + public BacktankRenderer(BlockEntityRendererProvider.Context context) { super(context); } @@ -27,9 +28,9 @@ public class CopperBacktankRenderer extends KineticTileEntityRenderer { super.renderSafe(te, partialTicks, ms, buffer, light, overlay); BlockState blockState = te.getBlockState(); - SuperByteBuffer cogs = CachedBufferer.partial(AllBlockPartials.COPPER_BACKTANK_COGS, blockState); + SuperByteBuffer cogs = CachedBufferer.partial(getCogsModel(blockState), blockState); cogs.centre() - .rotateY(180 + AngleHelper.horizontalAngle(blockState.getValue(CopperBacktankBlock.HORIZONTAL_FACING))) + .rotateY(180 + AngleHelper.horizontalAngle(blockState.getValue(BacktankBlock.HORIZONTAL_FACING))) .unCentre() .translate(0, 6.5f / 16, 11f / 16) .rotate(Direction.EAST, @@ -41,7 +42,20 @@ public class CopperBacktankRenderer extends KineticTileEntityRenderer { @Override protected SuperByteBuffer getRotatedModel(KineticTileEntity te, BlockState state) { - return CachedBufferer.partial(AllBlockPartials.COPPER_BACKTANK_SHAFT, state); + return CachedBufferer.partial(getShaftModel(state), state); } + public static PartialModel getCogsModel(BlockState state) { + if (AllBlocks.NETHERITE_BACKTANK.has(state)) { + return AllBlockPartials.NETHERITE_BACKTANK_COGS; + } + return AllBlockPartials.COPPER_BACKTANK_COGS; + } + + public static PartialModel getShaftModel(BlockState state) { + if (AllBlocks.NETHERITE_BACKTANK.has(state)) { + return AllBlockPartials.NETHERITE_BACKTANK_SHAFT; + } + return AllBlockPartials.COPPER_BACKTANK_SHAFT; + } } diff --git a/src/main/java/com/simibubi/create/content/curiosities/armor/CopperBacktankTileEntity.java b/src/main/java/com/simibubi/create/content/curiosities/armor/BacktankTileEntity.java similarity index 86% rename from src/main/java/com/simibubi/create/content/curiosities/armor/CopperBacktankTileEntity.java rename to src/main/java/com/simibubi/create/content/curiosities/armor/BacktankTileEntity.java index da941de04..445a5e352 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/armor/CopperBacktankTileEntity.java +++ b/src/main/java/com/simibubi/create/content/curiosities/armor/BacktankTileEntity.java @@ -2,9 +2,9 @@ package com.simibubi.create.content.curiosities.armor; import java.util.List; +import com.simibubi.create.AllBlocks; import com.simibubi.create.AllItems; import com.simibubi.create.AllSoundEvents; -import com.simibubi.create.Create; import com.simibubi.create.content.contraptions.base.KineticTileEntity; import com.simibubi.create.content.contraptions.particle.AirParticleData; import com.simibubi.create.foundation.advancement.AllAdvancements; @@ -27,33 +27,43 @@ import net.minecraft.world.level.block.state.properties.BlockStateProperties; import net.minecraft.world.level.block.state.properties.BooleanProperty; import net.minecraft.world.phys.Vec3; -public class CopperBacktankTileEntity extends KineticTileEntity implements Nameable { +public class BacktankTileEntity extends KineticTileEntity implements Nameable { public int airLevel; public int airLevelTimer; + private Component defaultName; private Component customName; private int capacityEnchantLevel; private ListTag enchantmentTag; - public CopperBacktankTileEntity(BlockEntityType typeIn, BlockPos pos, BlockState state) { - super(typeIn, pos, state); + public BacktankTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(type, pos, state); + defaultName = getDefaultName(state); enchantmentTag = new ListTag(); } - + + public static Component getDefaultName(BlockState state) { + if (AllBlocks.NETHERITE_BACKTANK.has(state)) { + AllItems.NETHERITE_BACKTANK.get().getDescription(); + } + + return AllItems.COPPER_BACKTANK.get().getDescription(); + } + @Override public void addBehaviours(List behaviours) { super.addBehaviours(behaviours); registerAwardables(behaviours, AllAdvancements.BACKTANK); } - + @Override public void onSpeedChanged(float previousSpeed) { super.onSpeedChanged(previousSpeed); if (getSpeed() != 0) award(AllAdvancements.BACKTANK); } - + @Override public void tick() { super.tick(); @@ -70,10 +80,10 @@ public class CopperBacktankTileEntity extends KineticTileEntity implements Namea return; } - int max = BackTankUtil.maxAir(capacityEnchantLevel); + int max = BacktankUtil.maxAir(capacityEnchantLevel); if (level.isClientSide) { Vec3 centerOf = VecHelper.getCenterOf(worldPosition); - Vec3 v = VecHelper.offsetRandomly(centerOf, Create.RANDOM, .65f); + Vec3 v = VecHelper.offsetRandomly(centerOf, level.random, .65f); Vec3 m = centerOf.subtract(v); if (airLevel != max) level.addParticle(new AirParticleData(1, .05f), v.x, v.y, v.z, m.x, m.y, m.z); @@ -95,7 +105,7 @@ public class CopperBacktankTileEntity extends KineticTileEntity implements Namea } public int getComparatorOutput() { - int max = BackTankUtil.maxAir(capacityEnchantLevel); + int max = BacktankUtil.maxAir(capacityEnchantLevel); return ComparatorUtil.fractionToRedstoneLevel(airLevel / (float) max); } @@ -120,7 +130,7 @@ public class CopperBacktankTileEntity extends KineticTileEntity implements Namea enchantmentTag = compound.getList("Enchantments", Tag.TAG_COMPOUND); if (compound.contains("CustomName", 8)) this.customName = Component.Serializer.fromJson(compound.getString("CustomName")); - if (prev != 0 && prev != airLevel && airLevel == BackTankUtil.maxAir(capacityEnchantLevel) && clientPacket) + if (prev != 0 && prev != airLevel && airLevel == BacktankUtil.maxAir(capacityEnchantLevel) && clientPacket) playFilledEffect(); } @@ -140,8 +150,7 @@ public class CopperBacktankTileEntity extends KineticTileEntity implements Namea @Override public Component getName() { return this.customName != null ? this.customName - : AllItems.COPPER_BACKTANK.get() - .getDescription(); + : defaultName; } public int getAirLevel() { diff --git a/src/main/java/com/simibubi/create/content/curiosities/armor/BackTankUtil.java b/src/main/java/com/simibubi/create/content/curiosities/armor/BacktankUtil.java similarity index 99% rename from src/main/java/com/simibubi/create/content/curiosities/armor/BackTankUtil.java rename to src/main/java/com/simibubi/create/content/curiosities/armor/BacktankUtil.java index ed12b472b..4be38619b 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/armor/BackTankUtil.java +++ b/src/main/java/com/simibubi/create/content/curiosities/armor/BacktankUtil.java @@ -24,7 +24,7 @@ import net.minecraft.world.item.enchantment.EnchantmentHelper; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; -public class BackTankUtil { +public class BacktankUtil { public static ItemStack get(LivingEntity entity) { for (ItemStack itemStack : entity.getArmorSlots()) diff --git a/src/main/java/com/simibubi/create/content/curiosities/armor/BaseArmorItem.java b/src/main/java/com/simibubi/create/content/curiosities/armor/BaseArmorItem.java new file mode 100644 index 000000000..de5eb487b --- /dev/null +++ b/src/main/java/com/simibubi/create/content/curiosities/armor/BaseArmorItem.java @@ -0,0 +1,24 @@ +package com.simibubi.create.content.curiosities.armor; + +import java.util.Locale; + +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.EquipmentSlot; +import net.minecraft.world.item.ArmorItem; +import net.minecraft.world.item.ArmorMaterial; +import net.minecraft.world.item.ItemStack; + +public class BaseArmorItem extends ArmorItem { + protected final ResourceLocation textureLoc; + + public BaseArmorItem(ArmorMaterial armorMaterial, EquipmentSlot slot, Properties properties, ResourceLocation textureLoc) { + super(armorMaterial, slot, properties.stacksTo(1)); + this.textureLoc = textureLoc; + } + + @Override + public String getArmorTexture(ItemStack stack, Entity entity, EquipmentSlot slot, String type) { + return String.format(Locale.ROOT, "%s:textures/models/armor/%s_layer_%d%s.png", textureLoc.getNamespace(), textureLoc.getPath(), slot == EquipmentSlot.LEGS ? 2 : 1, type == null ? "" : String.format(Locale.ROOT, "_%s", type)); + } +} diff --git a/src/main/java/com/simibubi/create/content/curiosities/armor/CapacityEnchantment.java b/src/main/java/com/simibubi/create/content/curiosities/armor/CapacityEnchantment.java index 531e1bf4e..3d894e219 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/armor/CapacityEnchantment.java +++ b/src/main/java/com/simibubi/create/content/curiosities/armor/CapacityEnchantment.java @@ -7,8 +7,8 @@ import net.minecraft.world.item.enchantment.EnchantmentCategory; public class CapacityEnchantment extends Enchantment { - public CapacityEnchantment(Rarity p_i46731_1_, EnchantmentCategory p_i46731_2_, EquipmentSlot[] p_i46731_3_) { - super(p_i46731_1_, p_i46731_2_, p_i46731_3_); + public CapacityEnchantment(Rarity rarity, EnchantmentCategory category, EquipmentSlot[] slots) { + super(rarity, category, slots); } @Override diff --git a/src/main/java/com/simibubi/create/content/curiosities/armor/CopperArmorItem.java b/src/main/java/com/simibubi/create/content/curiosities/armor/CopperArmorItem.java deleted file mode 100644 index 8b3220ad1..000000000 --- a/src/main/java/com/simibubi/create/content/curiosities/armor/CopperArmorItem.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.simibubi.create.content.curiosities.armor; - -import com.simibubi.create.Create; - -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.entity.Entity; -import net.minecraft.world.entity.EquipmentSlot; -import net.minecraft.world.entity.LivingEntity; -import net.minecraft.world.item.ArmorItem; -import net.minecraft.world.item.ItemStack; - -public class CopperArmorItem extends ArmorItem { - - public static final ResourceLocation TEXTURE = Create.asResource("textures/models/armor/copper.png"); - private static final String TEXTURE_STRING = TEXTURE.toString(); - - public CopperArmorItem(EquipmentSlot p_i48534_2_, Properties p_i48534_3_) { - super(AllArmorMaterials.COPPER, p_i48534_2_, p_i48534_3_.stacksTo(1)); - } - - public boolean isWornBy(Entity entity) { - if (!(entity instanceof LivingEntity)) - return false; - LivingEntity livingEntity = (LivingEntity) entity; - return livingEntity.getItemBySlot(slot).getItem() == this; - } - - @Override - public String getArmorTexture(ItemStack stack, Entity entity, EquipmentSlot slot, String type) { - return TEXTURE_STRING; - } - -} diff --git a/src/main/java/com/simibubi/create/content/curiosities/armor/CopperBacktankItem.java b/src/main/java/com/simibubi/create/content/curiosities/armor/CopperBacktankItem.java deleted file mode 100644 index eef4852c6..000000000 --- a/src/main/java/com/simibubi/create/content/curiosities/armor/CopperBacktankItem.java +++ /dev/null @@ -1,91 +0,0 @@ -package com.simibubi.create.content.curiosities.armor; - -import com.simibubi.create.content.curiosities.armor.CapacityEnchantment.ICapacityEnchantable; -import com.tterrag.registrate.util.entry.ItemEntry; - -import net.minecraft.core.NonNullList; -import net.minecraft.nbt.CompoundTag; -import net.minecraft.util.Mth; -import net.minecraft.world.InteractionResult; -import net.minecraft.world.entity.EquipmentSlot; -import net.minecraft.world.item.BlockItem; -import net.minecraft.world.item.CreativeModeTab; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.context.UseOnContext; -import net.minecraft.world.level.block.Block; - -public class CopperBacktankItem extends CopperArmorItem implements ICapacityEnchantable { - - public static final int DURABILITY_BAR = 0xEFEFEF; - private ItemEntry blockItem; - - public CopperBacktankItem(Properties p_i48534_3_, ItemEntry copperBacktankPlaceable) { - super(EquipmentSlot.CHEST, p_i48534_3_); - this.blockItem = copperBacktankPlaceable; - } - - @Override - public InteractionResult useOn(UseOnContext p_195939_1_) { - return blockItem.get() - .useOn(p_195939_1_); - } - - @Override - public boolean canBeDepleted() { - return false; - } - - @Override - public boolean isEnchantable(ItemStack p_77616_1_) { - return true; - } - - @Override - public void fillItemCategory(CreativeModeTab p_150895_1_, NonNullList p_150895_2_) { - if (!allowdedIn(p_150895_1_)) - return; - - ItemStack stack = new ItemStack(this); - CompoundTag nbt = new CompoundTag(); - nbt.putInt("Air", BackTankUtil.maxAirWithoutEnchants()); - stack.setTag(nbt); - p_150895_2_.add(stack); - } - - @Override - public boolean isBarVisible(ItemStack stack) { - return true; - } - - @Override - public int getBarWidth(ItemStack stack) { - return Math.round(13.0F * Mth.clamp(getRemainingAir(stack) / ((float) BackTankUtil.maxAir(stack)), 0, 1)); - } - - @Override - public int getBarColor(ItemStack stack) { - return DURABILITY_BAR; - } - - public static int getRemainingAir(ItemStack stack) { - CompoundTag orCreateTag = stack.getOrCreateTag(); - return orCreateTag.getInt("Air"); - } - - public static class CopperBacktankBlockItem extends BlockItem { - - public CopperBacktankBlockItem(Block pBlock, Properties pProperties) { - super(pBlock, pProperties); - } - - @Override - public void fillItemCategory(CreativeModeTab pGroup, NonNullList pItems) {} - - @Override - public String getDescriptionId() { - return this.getOrCreateDescriptionId(); - } - - } - -} diff --git a/src/main/java/com/simibubi/create/content/curiosities/armor/DivingBootsItem.java b/src/main/java/com/simibubi/create/content/curiosities/armor/DivingBootsItem.java index 4f154a3fd..9b0abbed3 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/armor/DivingBootsItem.java +++ b/src/main/java/com/simibubi/create/content/curiosities/armor/DivingBootsItem.java @@ -1,22 +1,32 @@ package com.simibubi.create.content.curiosities.armor; -import com.simibubi.create.AllItems; import com.simibubi.create.foundation.utility.NBTHelper; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.Pose; import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ArmorMaterial; import net.minecraft.world.phys.Vec3; import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod.EventBusSubscriber; @EventBusSubscriber -public class DivingBootsItem extends CopperArmorItem { +public class DivingBootsItem extends BaseArmorItem { + public static final EquipmentSlot SLOT = EquipmentSlot.FEET; - public DivingBootsItem(Properties p_i48534_3_) { - super(EquipmentSlot.FEET, p_i48534_3_); + public DivingBootsItem(ArmorMaterial material, Properties properties, ResourceLocation textureLoc) { + super(material, SLOT, properties, textureLoc); + } + + public static boolean isWornBy(Entity entity) { + if (!(entity instanceof LivingEntity livingEntity)) { + return false; + } + return livingEntity.getItemBySlot(SLOT).getItem() instanceof DivingBootsItem; } @SubscribeEvent @@ -44,8 +54,7 @@ public class DivingBootsItem extends CopperArmorItem { } protected static boolean affects(LivingEntity entity) { - if (!AllItems.DIVING_BOOTS.get() - .isWornBy(entity)) { + if (!isWornBy(entity)) { entity.getPersistentData() .remove("HeavyBoots"); return false; @@ -63,5 +72,4 @@ public class DivingBootsItem extends CopperArmorItem { } return true; } - } diff --git a/src/main/java/com/simibubi/create/content/curiosities/armor/DivingHelmetItem.java b/src/main/java/com/simibubi/create/content/curiosities/armor/DivingHelmetItem.java index bde2a4e65..5bfd951d0 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/armor/DivingHelmetItem.java +++ b/src/main/java/com/simibubi/create/content/curiosities/armor/DivingHelmetItem.java @@ -1,15 +1,17 @@ package com.simibubi.create.content.curiosities.armor; -import com.simibubi.create.AllItems; import com.simibubi.create.foundation.advancement.AllAdvancements; +import net.minecraft.resources.ResourceLocation; import net.minecraft.server.level.ServerPlayer; import net.minecraft.tags.FluidTags; import net.minecraft.world.effect.MobEffectInstance; import net.minecraft.world.effect.MobEffects; +import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ArmorMaterial; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; @@ -17,10 +19,18 @@ import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod.EventBusSubscriber; @EventBusSubscriber -public class DivingHelmetItem extends CopperArmorItem { +public class DivingHelmetItem extends BaseArmorItem { + public static final EquipmentSlot SLOT = EquipmentSlot.HEAD; - public DivingHelmetItem(Properties p_i48534_3_) { - super(EquipmentSlot.HEAD, p_i48534_3_); + public DivingHelmetItem(ArmorMaterial material, Properties properties, ResourceLocation textureLoc) { + super(material, SLOT, properties, textureLoc); + } + + public static boolean isWornBy(Entity entity) { + if (!(entity instanceof LivingEntity livingEntity)) { + return false; + } + return livingEntity.getItemBySlot(SLOT).getItem() instanceof DivingHelmetItem; } @SubscribeEvent @@ -34,8 +44,7 @@ public class DivingHelmetItem extends CopperArmorItem { entity.getPersistentData() .remove("VisualBacktankAir"); - if (!AllItems.DIVING_HELMET.get() - .isWornBy(entity)) + if (!isWornBy(entity)) return; boolean lavaDiving = entity.isEyeInFluid(FluidTags.LAVA); @@ -44,10 +53,10 @@ public class DivingHelmetItem extends CopperArmorItem { if (entity instanceof Player && ((Player) entity).isCreative()) return; - ItemStack backtank = BackTankUtil.get(entity); + ItemStack backtank = BacktankUtil.get(entity); if (backtank.isEmpty()) return; - if (!BackTankUtil.hasAirRemaining(backtank)) + if (!BacktankUtil.hasAirRemaining(backtank)) return; if (lavaDiving) { @@ -61,7 +70,7 @@ public class DivingHelmetItem extends CopperArmorItem { if (world.isClientSide) entity.getPersistentData() - .putInt("VisualBacktankAir", (int) BackTankUtil.getAir(backtank)); + .putInt("VisualBacktankAir", (int) BacktankUtil.getAir(backtank)); if (!second) return; @@ -71,7 +80,6 @@ public class DivingHelmetItem extends CopperArmorItem { entity.setAirSupply(Math.min(entity.getMaxAirSupply(), entity.getAirSupply() + 10)); entity.addEffect(new MobEffectInstance(MobEffects.WATER_BREATHING, 30, 0, true, false, true)); - BackTankUtil.consumeAir(entity, backtank, 1); + BacktankUtil.consumeAir(entity, backtank, 1); } - } diff --git a/src/main/java/com/simibubi/create/content/curiosities/armor/NetheriteDivingHandler.java b/src/main/java/com/simibubi/create/content/curiosities/armor/NetheriteDivingHandler.java new file mode 100644 index 000000000..2878beeab --- /dev/null +++ b/src/main/java/com/simibubi/create/content/curiosities/armor/NetheriteDivingHandler.java @@ -0,0 +1,150 @@ +package com.simibubi.create.content.curiosities.armor; + +import java.util.function.Supplier; + +import com.simibubi.create.AllItems; +import com.simibubi.create.foundation.networking.AllPackets; +import com.simibubi.create.foundation.networking.SimplePacketBase; + +import net.minecraft.client.Minecraft; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.server.level.ServerPlayer; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.EquipmentSlot; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.item.ArmorItem; +import net.minecraft.world.item.ArmorMaterials; +import net.minecraft.world.item.ItemStack; +import net.minecraftforge.event.entity.living.LivingEquipmentChangeEvent; +import net.minecraftforge.event.entity.player.PlayerEvent; +import net.minecraftforge.eventbus.api.SubscribeEvent; +import net.minecraftforge.fml.common.Mod.EventBusSubscriber; +import net.minecraftforge.network.NetworkEvent.Context; +import net.minecraftforge.network.PacketDistributor; + +@EventBusSubscriber +public final class NetheriteDivingHandler { + public static final String NETHERITE_DIVING_BITS_KEY = "CreateNetheriteDivingBits"; + public static final String FIRE_IMMUNE_KEY = "CreateFireImmune"; + + @SubscribeEvent + public static void onLivingEquipmentChange(LivingEquipmentChangeEvent event) { + EquipmentSlot slot = event.getSlot(); + if (slot.getType() != EquipmentSlot.Type.ARMOR) { + return; + } + + LivingEntity entity = event.getEntityLiving(); + ItemStack to = event.getTo(); + + if (slot == EquipmentSlot.HEAD) { + if (AllItems.NETHERITE_DIVING_HELMET.isIn(to)) { + setBit(entity, 0); + } else { + clearBit(entity, 0); + } + } else if (slot == EquipmentSlot.CHEST) { + if (AllItems.NETHERITE_BACKTANK.isIn(to)) { + setBit(entity, 1); + } else { + clearBit(entity, 1); + } + } else if (slot == EquipmentSlot.LEGS) { + if (to.getItem() instanceof ArmorItem armorItem && armorItem.getMaterial() == ArmorMaterials.NETHERITE) { + setBit(entity, 2); + } else { + clearBit(entity, 2); + } + } else if (slot == EquipmentSlot.FEET) { + if (AllItems.NETHERITE_DIVING_BOOTS.isIn(to)) { + setBit(entity, 3); + } else { + clearBit(entity, 3); + } + } + } + + public static void setBit(LivingEntity entity, int i) { + CompoundTag nbt = entity.getPersistentData(); + byte bits = nbt.getByte(NETHERITE_DIVING_BITS_KEY); + bits |= 1 << i; + nbt.putByte(NETHERITE_DIVING_BITS_KEY, bits); + + if ((bits & 0xF) == 0xF) { + setFireImmune(entity, true); + } + } + + public static void clearBit(LivingEntity entity, int i) { + CompoundTag nbt = entity.getPersistentData(); + if (!nbt.contains(NETHERITE_DIVING_BITS_KEY)) { + return; + } + + byte bits = nbt.getByte(NETHERITE_DIVING_BITS_KEY); + boolean prevFullSet = (bits & 0xF) == 0xF; + bits &= ~(1 << i); + nbt.putByte(NETHERITE_DIVING_BITS_KEY, bits); + + if (prevFullSet) { + setFireImmune(entity, false); + } + } + + public static void setFireImmune(LivingEntity entity, boolean fireImmune) { + entity.getPersistentData().putBoolean(FIRE_IMMUNE_KEY, fireImmune); + AllPackets.channel.send(PacketDistributor.TRACKING_ENTITY_AND_SELF.with(() -> entity), SetFireImmunePacket.create(entity)); + } + + @SubscribeEvent + public static void onStartTrackingEntity(PlayerEvent.StartTracking event) { + if (!(event.getPlayer() instanceof ServerPlayer player)) { + return; + } + + if (!(event.getTarget() instanceof LivingEntity entity)) { + return; + } + + AllPackets.channel.send(PacketDistributor.PLAYER.with(() -> player), SetFireImmunePacket.create(entity)); + } + + public static class SetFireImmunePacket extends SimplePacketBase { + private final int entityId; + private final boolean fireImmune; + + public SetFireImmunePacket(int entityId, boolean fireImmune) { + this.entityId = entityId; + this.fireImmune = fireImmune; + } + + public static SetFireImmunePacket create(Entity entity) { + int entityId = entity.getId(); + boolean fireImmune = entity.getPersistentData().getBoolean(FIRE_IMMUNE_KEY); + return new SetFireImmunePacket(entityId, fireImmune); + } + + public SetFireImmunePacket(FriendlyByteBuf buffer) { + entityId = buffer.readVarInt(); + fireImmune = buffer.readBoolean(); + } + + @Override + public void write(FriendlyByteBuf buffer) { + buffer.writeVarInt(entityId); + buffer.writeBoolean(fireImmune); + } + + @Override + public void handle(Supplier context) { + context.get().enqueueWork(() -> { + Entity entity = Minecraft.getInstance().level.getEntity(entityId); + if (entity != null) { + entity.getPersistentData().putBoolean(FIRE_IMMUNE_KEY, fireImmune); + } + }); + context.get().setPacketHandled(true); + } + } +} diff --git a/src/main/java/com/simibubi/create/content/curiosities/armor/RemainingAirOverlay.java b/src/main/java/com/simibubi/create/content/curiosities/armor/RemainingAirOverlay.java new file mode 100644 index 000000000..e806d41ef --- /dev/null +++ b/src/main/java/com/simibubi/create/content/curiosities/armor/RemainingAirOverlay.java @@ -0,0 +1,66 @@ +package com.simibubi.create.content.curiosities.armor; + +import com.mojang.blaze3d.vertex.PoseStack; +import com.simibubi.create.AllItems; +import com.simibubi.create.foundation.gui.element.GuiGameElement; +import com.simibubi.create.foundation.utility.Color; +import com.simibubi.create.foundation.utility.Components; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.player.LocalPlayer; +import net.minecraft.network.chat.Component; +import net.minecraft.tags.FluidTags; +import net.minecraft.util.StringUtil; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.GameType; +import net.minecraftforge.client.gui.ForgeIngameGui; +import net.minecraftforge.client.gui.IIngameOverlay; + +public class RemainingAirOverlay implements IIngameOverlay { + public static final RemainingAirOverlay INSTANCE = new RemainingAirOverlay(); + + @Override + public void render(ForgeIngameGui gui, PoseStack poseStack, float partialTick, int width, int height) { + Minecraft mc = Minecraft.getInstance(); + if (mc.options.hideGui || mc.gameMode.getPlayerMode() == GameType.SPECTATOR) + return; + + LocalPlayer player = mc.player; + if (player == null) + return; + if (player.isCreative()) + return; + if (!player.getPersistentData() + .contains("VisualBacktankAir")) + return; + if (!player.isEyeInFluid(FluidTags.WATER)) + return; + + int timeLeft = player.getPersistentData() + .getInt("VisualBacktankAir"); + + poseStack.pushPose(); + + poseStack.translate(width / 2 + 90, height - 53, 0); + + Component text = Components.literal(StringUtil.formatTickDuration(timeLeft * 20)); + GuiGameElement.of(getDisplayedBacktank(player)) + .at(0, 0) + .render(poseStack); + int color = 0xFF_FFFFFF; + if (timeLeft < 60 && timeLeft % 2 == 0) { + color = Color.mixColors(0xFF_FF0000, color, Math.max(timeLeft / 60f, .25f)); + } + mc.font.drawShadow(poseStack, text, 16, 5, color); + + poseStack.popPose(); + } + + public static ItemStack getDisplayedBacktank(LocalPlayer player) { + ItemStack backtank = BacktankUtil.get(player); + if (!backtank.isEmpty()) { + return backtank; + } + return AllItems.COPPER_BACKTANK.asStack(); + } +} diff --git a/src/main/java/com/simibubi/create/content/curiosities/tools/ExtendoGripItem.java b/src/main/java/com/simibubi/create/content/curiosities/tools/ExtendoGripItem.java index a32a7c5dd..161275653 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/tools/ExtendoGripItem.java +++ b/src/main/java/com/simibubi/create/content/curiosities/tools/ExtendoGripItem.java @@ -8,7 +8,7 @@ import com.google.common.base.Suppliers; import com.google.common.collect.ImmutableMultimap; import com.google.common.collect.Multimap; import com.simibubi.create.AllItems; -import com.simibubi.create.content.curiosities.armor.BackTankUtil; +import com.simibubi.create.content.curiosities.armor.BacktankUtil; import com.simibubi.create.foundation.advancement.AllAdvancements; import com.simibubi.create.foundation.config.AllConfigs; import com.simibubi.create.foundation.item.render.SimpleCustomRenderer; @@ -205,23 +205,23 @@ public class ExtendoGripItem extends Item { if (!AllItems.EXTENDO_GRIP.isIn(extendo)) return; final InteractionHand h = hand; - if (!BackTankUtil.canAbsorbDamage(player, maxUses())) + if (!BacktankUtil.canAbsorbDamage(player, maxUses())) extendo.hurtAndBreak(1, player, p -> p.broadcastBreakEvent(h)); } @Override public boolean isBarVisible(ItemStack stack) { - return BackTankUtil.isBarVisible(stack, maxUses()); + return BacktankUtil.isBarVisible(stack, maxUses()); } @Override public int getBarWidth(ItemStack stack) { - return BackTankUtil.getBarWidth(stack, maxUses()); + return BacktankUtil.getBarWidth(stack, maxUses()); } @Override public int getBarColor(ItemStack stack) { - return BackTankUtil.getBarColor(stack, maxUses()); + return BacktankUtil.getBarColor(stack, maxUses()); } private static int maxUses() { diff --git a/src/main/java/com/simibubi/create/content/curiosities/weapons/PotatoCannonItem.java b/src/main/java/com/simibubi/create/content/curiosities/weapons/PotatoCannonItem.java index 7b132d8d0..8a808a0c8 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/weapons/PotatoCannonItem.java +++ b/src/main/java/com/simibubi/create/content/curiosities/weapons/PotatoCannonItem.java @@ -9,7 +9,7 @@ import com.simibubi.create.AllEnchantments; import com.simibubi.create.AllEntityTypes; import com.simibubi.create.Create; import com.simibubi.create.CreateClient; -import com.simibubi.create.content.curiosities.armor.BackTankUtil; +import com.simibubi.create.content.curiosities.armor.BacktankUtil; import com.simibubi.create.content.curiosities.zapper.ShootableGadgetItemMethods; import com.simibubi.create.foundation.config.AllConfigs; import com.simibubi.create.foundation.item.render.SimpleCustomRenderer; @@ -82,17 +82,17 @@ public class PotatoCannonItem extends ProjectileWeaponItem { @Override public boolean isBarVisible(ItemStack stack) { - return BackTankUtil.isBarVisible(stack, maxUses()); + return BacktankUtil.isBarVisible(stack, maxUses()); } @Override public int getBarWidth(ItemStack stack) { - return BackTankUtil.getBarWidth(stack, maxUses()); + return BacktankUtil.getBarWidth(stack, maxUses()); } @Override public int getBarColor(ItemStack stack) { - return BackTankUtil.getBarColor(stack, maxUses()); + return BacktankUtil.getBarColor(stack, maxUses()); } private int maxUses() { @@ -164,7 +164,7 @@ public class PotatoCannonItem extends ProjectileWeaponItem { player.getInventory().removeItem(itemStack); } - if (!BackTankUtil.canAbsorbDamage(player, maxUses())) + if (!BacktankUtil.canAbsorbDamage(player, maxUses())) stack.hurtAndBreak(1, player, p -> p.broadcastBreakEvent(hand)); Integer cooldown = diff --git a/src/main/java/com/simibubi/create/events/ClientEvents.java b/src/main/java/com/simibubi/create/events/ClientEvents.java index e3830192a..e40e05ddf 100644 --- a/src/main/java/com/simibubi/create/events/ClientEvents.java +++ b/src/main/java/com/simibubi/create/events/ClientEvents.java @@ -6,7 +6,6 @@ import java.util.List; import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.vertex.PoseStack; import com.simibubi.create.AllFluids; -import com.simibubi.create.AllItems; import com.simibubi.create.Create; import com.simibubi.create.CreateClient; import com.simibubi.create.content.contraptions.KineticDebugger; @@ -25,7 +24,8 @@ import com.simibubi.create.content.contraptions.components.structureMovement.tra import com.simibubi.create.content.contraptions.components.turntable.TurntableHandler; import com.simibubi.create.content.contraptions.itemAssembly.SequencedAssemblyRecipe; import com.simibubi.create.content.contraptions.relays.belt.item.BeltConnectorHandler; -import com.simibubi.create.content.curiosities.armor.CopperBacktankArmorLayer; +import com.simibubi.create.content.curiosities.armor.BacktankArmorLayer; +import com.simibubi.create.content.curiosities.armor.DivingHelmetItem; import com.simibubi.create.content.curiosities.girder.GirderWrenchBehavior; import com.simibubi.create.content.curiosities.toolbox.ToolboxHandlerClient; import com.simibubi.create.content.curiosities.tools.BlueprintOverlayRenderer; @@ -334,7 +334,7 @@ public class ClientEvents { return; } - if (FluidHelper.isWater(fluid) && AllItems.DIVING_HELMET.get() + if (FluidHelper.isWater(fluid) && DivingHelmetItem .isWornBy(Minecraft.getInstance().cameraEntity)) { event.scaleFarPlaneDistance(6.25f); event.setCanceled(true); @@ -390,7 +390,7 @@ public class ClientEvents { public static void addEntityRendererLayers(EntityRenderersEvent.AddLayers event) { EntityRenderDispatcher dispatcher = Minecraft.getInstance() .getEntityRenderDispatcher(); - CopperBacktankArmorLayer.registerOnAll(dispatcher); + BacktankArmorLayer.registerOnAll(dispatcher); TrainHatArmorLayer.registerOnAll(dispatcher); } diff --git a/src/main/java/com/simibubi/create/foundation/advancement/AllAdvancements.java b/src/main/java/com/simibubi/create/foundation/advancement/AllAdvancements.java index ebd311337..d0f8407fe 100644 --- a/src/main/java/com/simibubi/create/foundation/advancement/AllAdvancements.java +++ b/src/main/java/com/simibubi/create/foundation/advancement/AllAdvancements.java @@ -270,7 +270,7 @@ public class AllAdvancements implements DataProvider { .description("Create a Copper Backtank and make it accumulate air pressure") .after(STEAM_WHISTLE)), - DIVING_SUIT = create("diving_suit", b -> b.icon(AllItems.DIVING_HELMET) + DIVING_SUIT = create("diving_suit", b -> b.icon(AllItems.COPPER_DIVING_HELMET) .title("Ready for the Depths") .description("Equip a Diving Helmet and a Copper Backtank, then jump into water") .after(BACKTANK)), @@ -331,7 +331,7 @@ public class AllAdvancements implements DataProvider { // Copper - Hidden - DIVING_SUIT_LAVA = create("diving_suit_lava", b -> b.icon(AllItems.DIVING_HELMET) + DIVING_SUIT_LAVA = create("diving_suit_lava", b -> b.icon(AllItems.COPPER_DIVING_HELMET) .title("Swimming with the Striders") .description("Attempt to take a dive in lava with your diving gear") .after(BACKTANK) diff --git a/src/main/java/com/simibubi/create/foundation/data/BuilderTransformers.java b/src/main/java/com/simibubi/create/foundation/data/BuilderTransformers.java index 2c410b692..1574a414f 100644 --- a/src/main/java/com/simibubi/create/foundation/data/BuilderTransformers.java +++ b/src/main/java/com/simibubi/create/foundation/data/BuilderTransformers.java @@ -62,6 +62,16 @@ import net.minecraft.world.level.block.state.BlockBehaviour; import net.minecraft.world.level.block.state.properties.BlockStateProperties; import net.minecraft.world.level.block.state.properties.PistonType; import net.minecraft.world.level.material.Material; +import net.minecraft.world.level.storage.loot.LootPool; +import net.minecraft.world.level.storage.loot.LootTable; +import net.minecraft.world.level.storage.loot.LootTable.Builder; +import net.minecraft.world.level.storage.loot.entries.LootItem; +import net.minecraft.world.level.storage.loot.functions.CopyNameFunction; +import net.minecraft.world.level.storage.loot.functions.CopyNbtFunction; +import net.minecraft.world.level.storage.loot.predicates.ExplosionCondition; +import net.minecraft.world.level.storage.loot.predicates.LootItemCondition; +import net.minecraft.world.level.storage.loot.providers.nbt.ContextNbtProvider; +import net.minecraft.world.level.storage.loot.providers.number.ConstantValue; import net.minecraftforge.client.model.generators.ConfiguredModel; import net.minecraftforge.client.model.generators.ModelFile; @@ -360,6 +370,27 @@ public class BuilderTransformers { .transform(ModelGen.customItemModel("crate", type, "single")); } + public static NonNullUnaryOperator> backtank(Supplier drop) { + return b -> b + .blockstate((c, p) -> p.horizontalBlock(c.getEntry(), AssetLookup.partialBaseModel(c, p))) + .transform(pickaxeOnly()) + .addLayer(() -> RenderType::cutoutMipped) + .transform(BlockStressDefaults.setImpact(4.0)) + .loot((lt, block) -> { + Builder builder = LootTable.lootTable(); + LootItemCondition.Builder survivesExplosion = ExplosionCondition.survivesExplosion(); + lt.add(block, builder.withPool(LootPool.lootPool() + .when(survivesExplosion) + .setRolls(ConstantValue.exactly(1)) + .add(LootItem.lootTableItem(drop.get()) + .apply(CopyNameFunction.copyName(CopyNameFunction.NameSource.BLOCK_ENTITY)) + .apply(CopyNbtFunction.copyData(ContextNbtProvider.BLOCK_ENTITY) + .copy("Air", "Air")) + .apply(CopyNbtFunction.copyData(ContextNbtProvider.BLOCK_ENTITY) + .copy("Enchantments", "Enchantments"))))); + }); + } + public static NonNullUnaryOperator> bell() { return b -> b.initialProperties(SharedProperties::softMetal) .properties(p -> p.noOcclusion() diff --git a/src/main/java/com/simibubi/create/foundation/data/SharedProperties.java b/src/main/java/com/simibubi/create/foundation/data/SharedProperties.java index f1838c470..256aafed4 100644 --- a/src/main/java/com/simibubi/create/foundation/data/SharedProperties.java +++ b/src/main/java/com/simibubi/create/foundation/data/SharedProperties.java @@ -15,6 +15,10 @@ public class SharedProperties { public static final Material CRUSHING_WHEEL_CONTROLLER_MATERIAL = new Material(MaterialColor.NONE, false, false, true, true, false, false, PushReaction.BLOCK); + public static Block wooden() { + return Blocks.STRIPPED_SPRUCE_WOOD; + } + public static Block stone() { return Blocks.ANDESITE; } @@ -22,12 +26,12 @@ public class SharedProperties { public static Block softMetal() { return Blocks.GOLD_BLOCK; } - + public static Block copperMetal() { return Blocks.COPPER_BLOCK; } - public static Block wooden() { - return Blocks.STRIPPED_SPRUCE_WOOD; + public static Block netheriteMetal() { + return Blocks.NETHERITE_BLOCK; } } diff --git a/src/main/java/com/simibubi/create/foundation/data/recipe/StandardRecipeGen.java b/src/main/java/com/simibubi/create/foundation/data/recipe/StandardRecipeGen.java index 5401c429c..30ff9ea90 100644 --- a/src/main/java/com/simibubi/create/foundation/data/recipe/StandardRecipeGen.java +++ b/src/main/java/com/simibubi/create/foundation/data/recipe/StandardRecipeGen.java @@ -988,7 +988,7 @@ public class StandardRecipeGen extends CreateRecipeProvider { .viaShapeless(b -> b.requires(I.wheatFlour()) .requires(Items.WATER_BUCKET)), - DIVING_HELMET = create(AllItems.DIVING_HELMET).unlockedBy(I::copper) + DIVING_HELMET = create(AllItems.COPPER_DIVING_HELMET).unlockedBy(I::copper) .viaShaped(b -> b.define('G', Tags.Items.GLASS) .define('P', I.copper()) .pattern("PPP") @@ -1003,7 +1003,7 @@ public class StandardRecipeGen extends CreateRecipeProvider { .pattern("PBP") .pattern(" P ")), - DIVING_BOOTS = create(AllItems.DIVING_BOOTS).unlockedBy(I::copper) + DIVING_BOOTS = create(AllItems.COPPER_DIVING_BOOTS).unlockedBy(I::copper) .viaShaped(b -> b.define('G', I.andesite()) .define('P', I.copper()) .pattern("P P") diff --git a/src/main/java/com/simibubi/create/foundation/mixin/EntityMixin.java b/src/main/java/com/simibubi/create/foundation/mixin/EntityMixin.java new file mode 100644 index 000000000..18cfd4b6a --- /dev/null +++ b/src/main/java/com/simibubi/create/foundation/mixin/EntityMixin.java @@ -0,0 +1,22 @@ +package com.simibubi.create.foundation.mixin; + +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; + +import com.simibubi.create.content.curiosities.armor.NetheriteDivingHandler; + +import net.minecraft.world.entity.Entity; + +@Mixin(Entity.class) +public class EntityMixin { + @Inject(method = "fireImmune()Z", at = @At("RETURN"), cancellable = true) + public void fireImmune(CallbackInfoReturnable cir) { + if (!cir.getReturnValueZ()) { + Entity self = (Entity) (Object) this; + boolean immune = self.getPersistentData().getBoolean(NetheriteDivingHandler.FIRE_IMMUNE_KEY); + cir.setReturnValue(immune); + } + } +} diff --git a/src/main/java/com/simibubi/create/foundation/networking/AllPackets.java b/src/main/java/com/simibubi/create/foundation/networking/AllPackets.java index 10c6a635f..784b8c8b8 100644 --- a/src/main/java/com/simibubi/create/foundation/networking/AllPackets.java +++ b/src/main/java/com/simibubi/create/foundation/networking/AllPackets.java @@ -31,6 +31,7 @@ import com.simibubi.create.content.contraptions.components.structureMovement.tra import com.simibubi.create.content.contraptions.fluids.actors.FluidSplashPacket; import com.simibubi.create.content.contraptions.relays.advanced.sequencer.ConfigureSequencedGearshiftPacket; import com.simibubi.create.content.contraptions.relays.gauge.GaugeObservedPacket; +import com.simibubi.create.content.curiosities.armor.NetheriteDivingHandler; import com.simibubi.create.content.curiosities.bell.SoulPulseEffectPacket; import com.simibubi.create.content.curiosities.symmetry.ConfigureSymmetryWandPacket; import com.simibubi.create.content.curiosities.symmetry.SymmetryEffectPacket; @@ -184,6 +185,7 @@ public enum AllPackets { S_TRAIN_PROMPT(TrainPromptPacket.class, TrainPromptPacket::new, PLAY_TO_CLIENT), CONTRAPTION_RELOCATION(ContraptionRelocationPacket.class, ContraptionRelocationPacket::new, PLAY_TO_CLIENT), TRACK_GRAPH_ROLL_CALL(TrackGraphRollCallPacket.class, TrackGraphRollCallPacket::new, PLAY_TO_CLIENT), + SET_FIRE_IMMUNE(NetheriteDivingHandler.SetFireImmunePacket.class, NetheriteDivingHandler.SetFireImmunePacket::new, PLAY_TO_CLIENT), ; diff --git a/src/main/java/com/simibubi/create/foundation/utility/RemapHelper.java b/src/main/java/com/simibubi/create/foundation/utility/RemapHelper.java index 9c579b473..77cb32db0 100644 --- a/src/main/java/com/simibubi/create/foundation/utility/RemapHelper.java +++ b/src/main/java/com/simibubi/create/foundation/utility/RemapHelper.java @@ -25,6 +25,8 @@ import static com.simibubi.create.AllBlocks.STOCKPILE_SWITCH; import static com.simibubi.create.AllBlocks.STRESSOMETER; import static com.simibubi.create.AllItems.ATTRIBUTE_FILTER; import static com.simibubi.create.AllItems.CRAFTER_SLOT_COVER; +import static com.simibubi.create.AllItems.COPPER_DIVING_BOOTS; +import static com.simibubi.create.AllItems.COPPER_DIVING_HELMET; import static com.simibubi.create.AllItems.GOLDEN_SHEET; import static com.simibubi.create.AllItems.POWDERED_OBSIDIAN; import static com.simibubi.create.AllItems.SCHEMATIC; @@ -51,12 +53,14 @@ import static com.simibubi.create.content.palettes.AllPaletteBlocks.SPRUCE_WINDO import java.util.HashMap; import java.util.Map; +import com.simibubi.create.AllTileEntities; import com.simibubi.create.Create; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.Item; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.material.Fluid; import net.minecraftforge.common.ForgeMod; import net.minecraftforge.event.RegistryEvent; @@ -179,6 +183,8 @@ public class RemapHelper { reMap.put("terrain_zapper", WORLDSHAPER.getId()); reMap.put("property_filter", ATTRIBUTE_FILTER.getId()); reMap.put("obsidian_dust", POWDERED_OBSIDIAN.getId()); + reMap.put("diving_helmet", COPPER_DIVING_HELMET.getId()); + reMap.put("diving_boots", COPPER_DIVING_BOOTS.getId()); } private static void remapPaletteBlock(String type, String newType, boolean vanilla) { @@ -274,4 +280,16 @@ public class RemapHelper { } } + @SubscribeEvent + public static void remapBlockEntities(RegistryEvent.MissingMappings> event) { + for (Mapping> mapping : event.getMappings(Create.ID)) { + ResourceLocation key = mapping.key; + String path = key.getPath(); + + if (path.equals("copper_backtank")) { + mapping.remap(AllTileEntities.BACKTANK.get()); + } + } + } + } diff --git a/src/main/resources/assets/create/models/block/netherite_backtank/block.json b/src/main/resources/assets/create/models/block/netherite_backtank/block.json new file mode 100644 index 000000000..8af694a87 --- /dev/null +++ b/src/main/resources/assets/create/models/block/netherite_backtank/block.json @@ -0,0 +1,74 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "create:block/netherite_backtank", + "particle": "create:block/netherite_backtank" + }, + "elements": [ + { + "from": [5, 0, 5], + "to": [11, 4, 11], + "faces": { + "north": {"uv": [8.5, 4, 11.5, 6], "texture": "#0"}, + "east": {"uv": [4.5, 4, 7.5, 6], "texture": "#0"}, + "south": {"uv": [0.5, 4, 3.5, 6], "texture": "#0"}, + "west": {"uv": [4.5, 4, 7.5, 6], "texture": "#0"}, + "down": {"uv": [4.5, 6.5, 7.5, 9.5], "texture": "#0"} + } + }, + { + "from": [5, 10, 5], + "to": [11, 12, 11], + "faces": { + "north": {"uv": [8.5, 0, 11.5, 1], "texture": "#0"}, + "east": {"uv": [4.5, 0, 7.5, 1], "texture": "#0"}, + "south": {"uv": [0.5, 0, 3.5, 1], "texture": "#0"}, + "west": {"uv": [4.5, 0, 7.5, 1], "texture": "#0"}, + "up": {"uv": [0.5, 6.5, 3.5, 9.5], "texture": "#0"} + } + }, + { + "from": [4, 4, 4], + "to": [12, 10, 12], + "faces": { + "north": {"uv": [8, 1, 12, 4], "texture": "#0"}, + "east": {"uv": [4, 1, 8, 4], "texture": "#0"}, + "south": {"uv": [0, 1, 4, 4], "texture": "#0"}, + "west": {"uv": [4, 1, 8, 4], "texture": "#0"}, + "up": {"uv": [0, 6, 4, 10], "texture": "#0"}, + "down": {"uv": [4, 6, 8, 10], "texture": "#0"} + } + }, + { + "from": [4, 4, 9], + "to": [12, 10, 11], + "faces": { + "south": {"uv": [0, 12.5, 1, 13], "texture": "#0"} + } + }, + { + "from": [5, 2, 3], + "to": [11, 11, 5], + "faces": { + "north": {"uv": [1, 11.5, 4, 16], "texture": "#0"}, + "east": {"uv": [5, 11.5, 4, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 9], "texture": "#0"}, + "west": {"uv": [4, 11.5, 5, 16], "texture": "#0"}, + "up": {"uv": [1, 10.5, 4, 11.5], "texture": "#0"}, + "down": {"uv": [0, 11.5, 1, 14.5], "rotation": 90, "texture": "#0"} + } + } + ], + "groups": [ + { + "name": "Tank", + "origin": [0, 0, 0], + "children": [0, 1, 2, 3, 4] + }, + { + "name": "Axle", + "origin": [8, 8, 8], + "children": [] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/netherite_backtank/block_cogs.json b/src/main/resources/assets/create/models/block/netherite_backtank/block_cogs.json new file mode 100644 index 000000000..3db35b065 --- /dev/null +++ b/src/main/resources/assets/create/models/block/netherite_backtank/block_cogs.json @@ -0,0 +1,125 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "create:block/netherite_backtank", + "particle": "create:block/netherite_backtank" + }, + "elements": [ + { + "from": [5, 4, 10.5], + "to": [7, 9, 11.5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 6.5, 11]}, + "faces": { + "north": {"uv": [6.5, 11.5, 5.5, 14], "texture": "#0"}, + "east": {"uv": [6.5, 11.5, 7, 14], "texture": "#0"}, + "south": {"uv": [5.5, 11.5, 6.5, 14], "texture": "#0"}, + "west": {"uv": [5.5, 11.5, 6, 14], "texture": "#0"}, + "up": {"uv": [5.5, 11, 6.5, 11.5], "texture": "#0"}, + "down": {"uv": [5.5, 11, 6.5, 11.5], "texture": "#0"} + } + }, + { + "from": [5, 4, 10.5], + "to": [7, 9, 11.5], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 6.5, 11]}, + "faces": { + "north": {"uv": [6.5, 11.5, 5.5, 14], "texture": "#0"}, + "east": {"uv": [6.5, 11.5, 7, 14], "texture": "#0"}, + "south": {"uv": [5.5, 11.5, 6.5, 14], "texture": "#0"}, + "west": {"uv": [5.5, 11.5, 6, 14], "texture": "#0"}, + "up": {"uv": [5.5, 11, 6.5, 11.5], "texture": "#0"}, + "down": {"uv": [5.5, 11, 6.5, 11.5], "texture": "#0"} + } + }, + { + "from": [5, 6, 8.5], + "to": [7, 7, 13.5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 6.5, 11]}, + "faces": { + "north": {"uv": [5.5, 11, 6.5, 11.5], "rotation": 180, "texture": "#0"}, + "east": {"uv": [6.5, 11.5, 7, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [5.5, 11, 6.5, 11.5], "texture": "#0"}, + "west": {"uv": [5.5, 11.5, 6, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [6.5, 11.5, 5.5, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5.5, 11.5, 6.5, 14], "texture": "#0"} + } + }, + { + "from": [5, 6, 8.5], + "to": [7, 7, 13.5], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 6.5, 11]}, + "faces": { + "north": {"uv": [5.5, 11, 6.5, 11.5], "rotation": 180, "texture": "#0"}, + "east": {"uv": [6.5, 11.5, 7, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [5.5, 11, 6.5, 11.5], "texture": "#0"}, + "west": {"uv": [5.5, 11.5, 6, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [6.5, 11.5, 5.5, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5.5, 11.5, 6.5, 14], "texture": "#0"} + } + }, + { + "from": [9, 4, 10.5], + "to": [11, 9, 11.5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 6.5, 11]}, + "faces": { + "north": {"uv": [5.5, 11.5, 6.5, 14], "texture": "#0"}, + "east": {"uv": [5.5, 11.5, 6, 14], "texture": "#0"}, + "south": {"uv": [6.5, 11.5, 5.5, 14], "texture": "#0"}, + "west": {"uv": [6.5, 11.5, 7, 14], "texture": "#0"}, + "up": {"uv": [5.5, 11, 6.5, 11.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5.5, 11, 6.5, 11.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [9, 4, 10.5], + "to": [11, 9, 11.5], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 6.5, 11]}, + "faces": { + "north": {"uv": [5.5, 11.5, 6.5, 14], "texture": "#0"}, + "east": {"uv": [5.5, 11.5, 6, 14], "texture": "#0"}, + "south": {"uv": [6.5, 11.5, 5.5, 14], "texture": "#0"}, + "west": {"uv": [6.5, 11.5, 7, 14], "texture": "#0"}, + "up": {"uv": [5.5, 11, 6.5, 11.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5.5, 11, 6.5, 11.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [9, 6, 8.5], + "to": [11, 7, 13.5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 6.5, 11]}, + "faces": { + "north": {"uv": [5.5, 11, 6.5, 11.5], "texture": "#0"}, + "east": {"uv": [5.5, 11.5, 6, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [5.5, 11, 6.5, 11.5], "rotation": 180, "texture": "#0"}, + "west": {"uv": [6.5, 11.5, 7, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [5.5, 11.5, 6.5, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [6.5, 11.5, 5.5, 14], "texture": "#0"} + } + }, + { + "from": [9, 6, 8.5], + "to": [11, 7, 13.5], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 6.5, 11]}, + "faces": { + "north": {"uv": [5.5, 11, 6.5, 11.5], "texture": "#0"}, + "east": {"uv": [5.5, 11.5, 6, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [5.5, 11, 6.5, 11.5], "rotation": 180, "texture": "#0"}, + "west": {"uv": [6.5, 11.5, 7, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [5.5, 11.5, 6.5, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [6.5, 11.5, 5.5, 14], "texture": "#0"} + } + } + ], + "groups": [ + { + "name": "Gears", + "origin": [1, 2.5, 0.5], + "children": [0, 1, 2, 3, 4, 5, 6, 7] + }, + { + "name": "Axle", + "origin": [8, 8, 8], + "children": [] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/netherite_backtank/block_shaft_input.json b/src/main/resources/assets/create/models/block/netherite_backtank/block_shaft_input.json new file mode 100644 index 000000000..09a4d316e --- /dev/null +++ b/src/main/resources/assets/create/models/block/netherite_backtank/block_shaft_input.json @@ -0,0 +1,37 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "create:block/netherite_backtank", + "particle": "create:block/netherite_backtank" + }, + "elements": [ + { + "from": [6.5, 12, 6.5], + "to": [9.5, 13, 9.5], + "faces": { + "north": {"uv": [14.5, 4, 16, 4.5], "texture": "#0"}, + "east": {"uv": [14.5, 3.5, 16, 4], "texture": "#0"}, + "south": {"uv": [14.5, 3.5, 16, 4], "texture": "#0"}, + "west": {"uv": [14.5, 3, 16, 3.5], "texture": "#0"} + } + }, + { + "from": [6, 13, 6], + "to": [10, 16, 10], + "faces": { + "north": {"uv": [14, 2, 16, 3.5], "texture": "#0"}, + "east": {"uv": [14, 2, 16, 3.5], "texture": "#0"}, + "south": {"uv": [14, 2, 16, 3.5], "texture": "#0"}, + "west": {"uv": [14, 2, 16, 3.5], "texture": "#0"}, + "up": {"uv": [14, 0, 16, 2], "texture": "#0"}, + "down": {"uv": [15.5, 5, 16, 5.5], "texture": "#0"} + } + } + ], + "groups": [ + { + "name": "Axle", + "origin": [8, 8, 8], + "children": [] + }, 0, 1] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/netherite_backtank/item.json b/src/main/resources/assets/create/models/block/netherite_backtank/item.json new file mode 100644 index 000000000..20607aa1f --- /dev/null +++ b/src/main/resources/assets/create/models/block/netherite_backtank/item.json @@ -0,0 +1,205 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "create:block/netherite_backtank", + "particle": "create:block/netherite_backtank" + }, + "elements": [ + { + "from": [5, 4, 10.5], + "to": [7, 9, 11.5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 6.5, 11]}, + "faces": { + "north": {"uv": [6.5, 11.5, 5.5, 14], "texture": "#0"}, + "east": {"uv": [6.5, 11.5, 7, 14], "texture": "#0"}, + "south": {"uv": [5.5, 11.5, 6.5, 14], "texture": "#0"}, + "west": {"uv": [5.5, 11.5, 6, 14], "texture": "#0"}, + "up": {"uv": [5.5, 11, 6.5, 11.5], "texture": "#0"}, + "down": {"uv": [5.5, 11, 6.5, 11.5], "texture": "#0"} + } + }, + { + "from": [5, 4, 10.5], + "to": [7, 9, 11.5], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 6.5, 11]}, + "faces": { + "north": {"uv": [6.5, 11.5, 5.5, 14], "texture": "#0"}, + "east": {"uv": [6.5, 11.5, 7, 14], "texture": "#0"}, + "south": {"uv": [5.5, 11.5, 6.5, 14], "texture": "#0"}, + "west": {"uv": [5.5, 11.5, 6, 14], "texture": "#0"}, + "up": {"uv": [5.5, 11, 6.5, 11.5], "texture": "#0"}, + "down": {"uv": [5.5, 11, 6.5, 11.5], "texture": "#0"} + } + }, + { + "from": [5, 6, 8.5], + "to": [7, 7, 13.5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 6.5, 11]}, + "faces": { + "north": {"uv": [5.5, 11, 6.5, 11.5], "rotation": 180, "texture": "#0"}, + "east": {"uv": [6.5, 11.5, 7, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [5.5, 11, 6.5, 11.5], "texture": "#0"}, + "west": {"uv": [5.5, 11.5, 6, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [6.5, 11.5, 5.5, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5.5, 11.5, 6.5, 14], "texture": "#0"} + } + }, + { + "from": [5, 6, 8.5], + "to": [7, 7, 13.5], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 6.5, 11]}, + "faces": { + "north": {"uv": [5.5, 11, 6.5, 11.5], "rotation": 180, "texture": "#0"}, + "east": {"uv": [6.5, 11.5, 7, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [5.5, 11, 6.5, 11.5], "texture": "#0"}, + "west": {"uv": [5.5, 11.5, 6, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [6.5, 11.5, 5.5, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5.5, 11.5, 6.5, 14], "texture": "#0"} + } + }, + { + "from": [9, 4, 10.5], + "to": [11, 9, 11.5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 6.5, 11]}, + "faces": { + "north": {"uv": [5.5, 11.5, 6.5, 14], "texture": "#0"}, + "east": {"uv": [5.5, 11.5, 6, 14], "texture": "#0"}, + "south": {"uv": [6.5, 11.5, 5.5, 14], "texture": "#0"}, + "west": {"uv": [6.5, 11.5, 7, 14], "texture": "#0"}, + "up": {"uv": [5.5, 11, 6.5, 11.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5.5, 11, 6.5, 11.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [9, 4, 10.5], + "to": [11, 9, 11.5], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 6.5, 11]}, + "faces": { + "north": {"uv": [5.5, 11.5, 6.5, 14], "texture": "#0"}, + "east": {"uv": [5.5, 11.5, 6, 14], "texture": "#0"}, + "south": {"uv": [6.5, 11.5, 5.5, 14], "texture": "#0"}, + "west": {"uv": [6.5, 11.5, 7, 14], "texture": "#0"}, + "up": {"uv": [5.5, 11, 6.5, 11.5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [5.5, 11, 6.5, 11.5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [9, 6, 8.5], + "to": [11, 7, 13.5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 6.5, 11]}, + "faces": { + "north": {"uv": [5.5, 11, 6.5, 11.5], "texture": "#0"}, + "east": {"uv": [5.5, 11.5, 6, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [5.5, 11, 6.5, 11.5], "rotation": 180, "texture": "#0"}, + "west": {"uv": [6.5, 11.5, 7, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [5.5, 11.5, 6.5, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [6.5, 11.5, 5.5, 14], "texture": "#0"} + } + }, + { + "from": [9, 6, 8.5], + "to": [11, 7, 13.5], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 6.5, 11]}, + "faces": { + "north": {"uv": [5.5, 11, 6.5, 11.5], "texture": "#0"}, + "east": {"uv": [5.5, 11.5, 6, 14], "rotation": 270, "texture": "#0"}, + "south": {"uv": [5.5, 11, 6.5, 11.5], "rotation": 180, "texture": "#0"}, + "west": {"uv": [6.5, 11.5, 7, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [5.5, 11.5, 6.5, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [6.5, 11.5, 5.5, 14], "texture": "#0"} + } + }, + { + "from": [5, 0, 5], + "to": [11, 4, 11], + "faces": { + "north": {"uv": [8.5, 4, 11.5, 6], "texture": "#0"}, + "east": {"uv": [4.5, 4, 7.5, 6], "texture": "#0"}, + "south": {"uv": [0.5, 4, 3.5, 6], "texture": "#0"}, + "west": {"uv": [4.5, 4, 7.5, 6], "texture": "#0"}, + "down": {"uv": [4.5, 6.5, 7.5, 9.5], "texture": "#0"} + } + }, + { + "from": [5, 10, 5], + "to": [11, 12, 11], + "faces": { + "north": {"uv": [8.5, 0, 11.5, 1], "texture": "#0"}, + "east": {"uv": [4.5, 0, 7.5, 1], "texture": "#0"}, + "south": {"uv": [0.5, 0, 3.5, 1], "texture": "#0"}, + "west": {"uv": [4.5, 0, 7.5, 1], "texture": "#0"}, + "up": {"uv": [0.5, 6.5, 3.5, 9.5], "texture": "#0"} + } + }, + { + "from": [4, 4, 4], + "to": [12, 10, 12], + "faces": { + "north": {"uv": [8, 1, 12, 4], "texture": "#0"}, + "east": {"uv": [4, 1, 8, 4], "texture": "#0"}, + "south": {"uv": [0, 1, 4, 4], "texture": "#0"}, + "west": {"uv": [4, 1, 8, 4], "texture": "#0"}, + "up": {"uv": [0, 6, 4, 10], "texture": "#0"}, + "down": {"uv": [4, 6, 8, 10], "texture": "#0"} + } + }, + { + "from": [4, 4, 9], + "to": [12, 10, 11], + "faces": { + "south": {"uv": [0, 12.5, 1, 13], "texture": "#0"} + } + }, + { + "from": [5, 2, 3], + "to": [11, 11, 5], + "faces": { + "north": {"uv": [1, 11.5, 4, 16], "texture": "#0"}, + "east": {"uv": [5, 11.5, 4, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 6, 9], "texture": "#0"}, + "west": {"uv": [4, 11.5, 5, 16], "texture": "#0"}, + "up": {"uv": [1, 10.5, 4, 11.5], "texture": "#0"}, + "down": {"uv": [0, 11.5, 1, 14.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [6.5, 12, 6.5], + "to": [9.5, 13, 9.5], + "faces": { + "north": {"uv": [14.5, 4, 16, 4.5], "texture": "#0"}, + "east": {"uv": [14.5, 3.5, 16, 4], "texture": "#0"}, + "south": {"uv": [14.5, 3.5, 16, 4], "texture": "#0"}, + "west": {"uv": [14.5, 3, 16, 3.5], "texture": "#0"} + } + }, + { + "from": [6, 13, 6], + "to": [10, 16, 10], + "faces": { + "north": {"uv": [14, 2, 16, 3.5], "texture": "#0"}, + "east": {"uv": [14, 2, 16, 3.5], "texture": "#0"}, + "south": {"uv": [14, 2, 16, 3.5], "texture": "#0"}, + "west": {"uv": [14, 2, 16, 3.5], "texture": "#0"}, + "up": {"uv": [14, 0, 16, 2], "texture": "#0"}, + "down": {"uv": [15.5, 5, 16, 5.5], "texture": "#0"} + } + } + ], + "groups": [ + { + "name": "Gears", + "origin": [1, 2.5, 0.5], + "children": [0, 1, 2, 3, 4, 5, 6, 7] + }, + { + "name": "Tank", + "origin": [0, 0, 0], + "children": [8, 9, 10, 11, 12] + }, + { + "name": "Axle", + "origin": [8, 8, 8], + "children": [] + }, 13, 14] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/textures/block/netherite_backtank.png b/src/main/resources/assets/create/textures/block/netherite_backtank.png new file mode 100644 index 000000000..27e53312b Binary files /dev/null and b/src/main/resources/assets/create/textures/block/netherite_backtank.png differ diff --git a/src/main/resources/assets/create/textures/item/diving_boots.png b/src/main/resources/assets/create/textures/item/copper_diving_boots.png similarity index 100% rename from src/main/resources/assets/create/textures/item/diving_boots.png rename to src/main/resources/assets/create/textures/item/copper_diving_boots.png diff --git a/src/main/resources/assets/create/textures/item/diving_helmet.png b/src/main/resources/assets/create/textures/item/copper_diving_helmet.png similarity index 100% rename from src/main/resources/assets/create/textures/item/diving_helmet.png rename to src/main/resources/assets/create/textures/item/copper_diving_helmet.png diff --git a/src/main/resources/assets/create/textures/item/netherite_diving_boots.png b/src/main/resources/assets/create/textures/item/netherite_diving_boots.png new file mode 100644 index 000000000..6355dc214 Binary files /dev/null and b/src/main/resources/assets/create/textures/item/netherite_diving_boots.png differ diff --git a/src/main/resources/assets/create/textures/item/netherite_diving_helmet.png b/src/main/resources/assets/create/textures/item/netherite_diving_helmet.png new file mode 100644 index 000000000..211fc65ed Binary files /dev/null and b/src/main/resources/assets/create/textures/item/netherite_diving_helmet.png differ diff --git a/src/main/resources/assets/create/textures/models/armor/copper.png b/src/main/resources/assets/create/textures/models/armor/copper_diving_layer_1.png similarity index 100% rename from src/main/resources/assets/create/textures/models/armor/copper.png rename to src/main/resources/assets/create/textures/models/armor/copper_diving_layer_1.png diff --git a/src/main/resources/assets/create/textures/models/armor/netherite_diving_layer_1.png b/src/main/resources/assets/create/textures/models/armor/netherite_diving_layer_1.png new file mode 100644 index 000000000..f4ecc6756 Binary files /dev/null and b/src/main/resources/assets/create/textures/models/armor/netherite_diving_layer_1.png differ diff --git a/src/main/resources/assets/create/textures/models/armor/netherite_diving_layer_1_original.png b/src/main/resources/assets/create/textures/models/armor/netherite_diving_layer_1_original.png new file mode 100644 index 000000000..515a9a12d Binary files /dev/null and b/src/main/resources/assets/create/textures/models/armor/netherite_diving_layer_1_original.png differ diff --git a/src/main/resources/assets/create/textures/models/armor/netherite_diving_layer_1_overlay.png b/src/main/resources/assets/create/textures/models/armor/netherite_diving_layer_1_overlay.png new file mode 100644 index 000000000..3cce355f6 Binary files /dev/null and b/src/main/resources/assets/create/textures/models/armor/netherite_diving_layer_1_overlay.png differ diff --git a/src/main/resources/create.mixins.json b/src/main/resources/create.mixins.json index f3af76190..a8cd94f97 100644 --- a/src/main/resources/create.mixins.json +++ b/src/main/resources/create.mixins.json @@ -6,6 +6,7 @@ "refmap": "create.refmap.json", "mixins": [ "CustomItemUseEffectsMixin", + "EntityMixin", "MapItemSavedDataMixin", "ContraptionDriverInteractMixin", "accessor.AbstractProjectileDispenseBehaviorAccessor",